diff --git a/.browserslistrc b/.browserslistrc new file mode 100644 index 0000000..eb132c3 --- /dev/null +++ b/.browserslistrc @@ -0,0 +1,4 @@ +# Supported browsers +> 2% +last 2 versions +not dead diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..a76d18b --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,102 @@ +version: 2.1 + +orbs: + snyk: snyk/snyk@1.1.2 + +references: + container: &container + docker: + - image: cimg/node:20.9.0-browsers + environment: + CHROME_PATH: $(which google-chrome-stable) + + restore_deps: &restore_deps + restore_cache: + keys: + - v2-uswds-dependencies-{{ checksum "package-lock.json" }} + +jobs: + build: + <<: *container + steps: + - checkout + - restore_cache: + keys: + - v2-uswds-dependencies-{{ checksum "package-lock.json" }} + - run: npm install + - run: npx playwright install + - save_cache: + paths: + - node_modules + key: v2-uswds-dependencies-{{ checksum "package-lock.json" }} + - snyk/scan: + organization: uswds + - run: + name: Run test + command: npm run test:ci + - run: + name: Check formatting + command: npm run prettier:check + + deploy: + <<: *container + steps: + - checkout + - restore_cache: + keys: + - v2-uswds-dependencies-{{ checksum "package-lock.json" }} + - run: npm install --ignore-scripts + - run: npm rebuild node-sass + - run: + name: Build the USWDS package + command: npm run build + - run: + name: Publish to NPM + command: | + npm config set "//registry.npmjs.org/:_authToken=$NPM_TOKEN" + npm publish --access public + deploy-alpha: + <<: *container + steps: + - checkout + - run: npm install --ignore-scripts + - run: npm rebuild node-sass + - run: + name: Build the USWDS package + command: npm run build + - run: + name: Publish to NPM with `alpha` tag + command: | + npm config set "//registry.npmjs.org/:_authToken=$NPM_TOKEN" + npm publish --access public --tag alpha + deploy-beta: + <<: *container + steps: + - checkout + - run: npm install --ignore-scripts + - run: npm rebuild node-sass + - run: + name: Build the USWDS package + command: npm run build + - run: + name: Publish to NPM with `beta` tag + command: | + npm config set "//registry.npmjs.org/:_authToken=$NPM_TOKEN" + npm publish --access public --tag beta +workflows: + version: 2 + circle-uswds: + jobs: + - build + - deploy: + requires: + - build + filters: + branches: + only: main + - deploy-beta: + requires: + - build + filters: + branches: + only: library--main diff --git a/.codeclimate.yml b/.codeclimate.yml new file mode 100644 index 0000000..c644146 --- /dev/null +++ b/.codeclimate.yml @@ -0,0 +1,12 @@ +version: "2" +plugins: + duplication: + enabled: true + config: + languages: + - javascript +exclude_patterns: + - config/**/*.js + - dist/**/*.js + - src/**/*.spec.js + - src/js/vendor/**/*.js diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..2e69299 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,17 @@ +# IDE settings for the Midas project. Many IDE's support this as a starting point +# for a project. For more info, see http://EditorConfig.org. + +# top-most EditorConfig file +root = true + +# Unix-style newlines with a newline ending every file +[*] +end_of_line = lf +insert_final_newline = true +charset = utf-8 +indent_style = space +indent_size = 2 + +[{*.md}] +indent_style = space +indent_size = 4 diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..058c00a --- /dev/null +++ b/.eslintignore @@ -0,0 +1 @@ +src/styleguide/ diff --git a/.eslintrc.yml b/.eslintrc.yml new file mode 100644 index 0000000..242cc30 --- /dev/null +++ b/.eslintrc.yml @@ -0,0 +1,24 @@ +extends: + - airbnb-base + - prettier +plugins: + - import + - no-unsanitized +env: + node: true + browser: true + es6: true + mocha: true +rules: + import/no-extraneous-dependencies: + - error + - devDependencies: true + no-unsanitized/method: error + no-unsanitized/property: error +overrides: + - { files: ['*.spec.js'], + rules: { + no-unsanitized/method: off, + no-unsanitized/property: off + } + } diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..dfe0770 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..1eb67d9 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,67 @@ +* @uswds/admins + +# This is a comment. +# Each line is a file pattern followed by one or more owners. + +# These owners will be the default owners for everything in +# the repo. Unless a later match takes precedence, +# @global-owner1 and @global-owner2 will be requested for +# review when someone opens a pull request. +# * @global-owner1 @global-owner2 + +# Order is important; the last matching pattern takes the most +# precedence. When someone opens a pull request that only +# modifies JS files, only @js-owner and not the global +# owner(s) will be requested for a review. +# *.js @js-owner #This is an inline comment. + +# You can also use email addresses if you prefer. They'll be +# used to look up users just like we do for commit author +# emails. +# *.go docs@example.com + +# Teams can be specified as code owners as well. Teams should +# be identified in the format @org/team-name. Teams must have +# explicit write access to the repository. In this example, +# the octocats team in the octo-org organization owns all .txt files. +# *.txt @octo-org/octocats + +# In this example, @doctocat owns any files in the build/logs +# directory at the root of the repository and any of its +# subdirectories. +# /build/logs/ @doctocat + +# The `docs/*` pattern will match files like +# `docs/getting-started.md` but not further nested files like +# `docs/build-app/troubleshooting.md`. +# docs/* docs@example.com + +# In this example, @octocat owns any file in an apps directory +# anywhere in your repository. +# apps/ @octocat + +# In this example, @doctocat owns any file in the `/docs` +# directory in the root of your repository and any of its +# subdirectories. +# /docs/ @doctocat + +# In this example, any change inside the `/scripts` directory +# will require approval from @doctocat or @octocat. +# /scripts/ @doctocat @octocat + +# In this example, @octocat owns any file in a `/logs` directory such as +# `/build/logs`, `/scripts/logs`, and `/deeply/nested/logs`. Any changes +# in a `/logs` directory will require approval from @octocat. +# **/logs @octocat + +# In this example, @octocat owns any file in the `/apps` +# directory in the root of your repository except for the `/apps/github` +# subdirectory, as its owners are left empty. +# /apps/ @octocat +# /apps/github + +# In this example, @octocat owns any file in the `/apps` +# directory in the root of your repository except for the `/apps/github` +# subdirectory, as this subdirectory has its own owner @doctocat +# /apps/ @octocat +# /apps/github @doctocat diff --git a/.github/DISCUSSION_TEMPLATE/component-proposals.yml b/.github/DISCUSSION_TEMPLATE/component-proposals.yml new file mode 100644 index 0000000..0528973 --- /dev/null +++ b/.github/DISCUSSION_TEMPLATE/component-proposals.yml @@ -0,0 +1,98 @@ +title: "Component proposal: [Component name]" +labels: ["Type: New component proposal"] +body: + - type: markdown + attributes: + value: | + Thank you for suggesting a new component for the U.S. Web Design System (USWDS). + + To get the discussion started, you just need to fill out the three fields marked with an asterisk (*). Then collaborate with the community to add supporting evidence and research, and get feedback. The work you do now can help the USWDS team create a formal component proposal. + + [Learn more about the component proposal process](https://github.com/uswds/uswds/discussions/5764). + + ## The basics + - type: textarea + id: name + attributes: + label: Component name + description: | + Share the common name (or names) for this component. + value: + validations: + required: true + - type: textarea + id: description + attributes: + label: 'Component description' + description: | + Briefly tell us the purpose of this component. + value: + validations: + required: true + - type: textarea + id: need + attributes: + label: 'Why USWDS needs this component' + description: | + Include key interactions, current gaps in USWDS, and the problems this component solves. Explain how the component supports federal laws, guidance, or policies. + value: + validations: + required: true + - type: markdown + attributes: + value: | + ## Component details + - type: textarea + id: design + attributes: + label: 'How the component works' + description: | + Describe how the component works. Include any interactive states and variants. Diagrams, images, wireframes, and prototypes can help you make your case. + value: + validations: + required: false + - type: textarea + id: implementation + attributes: + label: 'Real-world examples' + description: | + Link to examples of other sites — preferably government sites — that use this kind of component. + value: + validations: + required: false + - type: textarea + id: when_to_use + attributes: + label: When to use this component and when to consider something else + description: | + What kind of content works best with this component, and what kind of content would work poorly with it? What are common misuses of this type of component? + value: + validations: + required: false + - type: textarea + id: usability + attributes: + label: Usability considerations + description: | + Include conditions that would make this component more usable or less usable. Also include common pitfalls or implementation mistakes associated with this component. + value: + validations: + required: false + - type: textarea + id: accessibility + attributes: + label: Accessibility considerations + description: | + Include how this component interacts with assistive technologies such as keyboard navigation, screen readers, zoom magnification, and voice command. Are there audiences that might struggle with this component? How might the component become inaccessible? + value: + validations: + required: false + - type: textarea + id: involved + attributes: + label: Who’s involved + description: | + Please tag volunteers who may be willing to help design, develop or test this component. Note agencies that can offer significant support for the component, and tag any stakeholders. Be sure to share a list of those who helped research and prepare this proposal. Include your name and/or GitHub username if you’d like credit as a contributor. + value: + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..0d3b719 --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,29 @@ + + +## Description + +Include a high-level description of the issue. What did you expect to happen? What happened instead? What would you like to see changed? + +Include any benefits, challenges, or considerations. This can be short and sweet. + +## Steps to reproduce the issue + +1. Step one +2. Step two +3. Step three +4. etc. + +## Additional information [optional] + +* Relevant research and support documents +* Screen shot images +* Notes +* And so on diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml new file mode 100644 index 0000000..3e879f4 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -0,0 +1,79 @@ +name: Bug Report 🐞 +description: Report a bug and help USWDS improve. +title: "USWDS - Bug: [YOUR TITLE]" +labels: ['Type: Bug','Needs: Confirmation'] +body: + - type: textarea + id: problem + attributes: + label: Describe the bug + description: Add a clear and concise description of the bug. Let us know if it impacts major or minor functionality and if you have workaround. + validations: + required: true + - type: textarea + id: reproduce + attributes: + label: Steps to reproduce the bug + description: Describe how to reproduce this issue. If the issue is found only in your project, provide a link to a public repo or code preview that demonstrates this issue. + placeholder: | + 1. Go to '...' + 2. Click on '....' + 3. Scroll down to '....' + 4. See error... + validations: + required: true + - type: textarea + id: expectation + attributes: + label: Expected Behavior + description: Add a clear and concise description of what you expected to happen. + validations: + required: true + - type: textarea + id: code + attributes: + label: Related code + description: If available, include relevant code snippets or a link to a demo of the bug. + validations: + required: false + - type: textarea + id: screenshots + attributes: + label: Screenshots + description: Add screenshots to help provide context, if applicable. + validations: + required: false + - type: textarea + id: system + attributes: + label: System setup + description: Provide your system details. Be sure to include your USWDS version, device, operating system, and browser (with version). + placeholder: | + - USWDS version: + - Device: + - Operating system: + - Browser and version: + validations: + required: false + - type: textarea + id: context + attributes: + label: Additional context + description: Add any other context about the problem. + validations: + required: false + - type: checkboxes + id: terms + attributes: + label: Code of Conduct + description: Please confirm the following + options: + - label: + I agree to follow this project's [Code of + Conduct](https://designsystem.digital.gov/about/community/#community-conduct). + required: true + - label: + I checked the [current + issues](https://github.com/uswds/uswds/issues?q=is%3Aissue+is%3Aopen+label%3A%22Type%3A+Bug%22) for + duplicate bug reports. + required: true diff --git a/.github/ISSUE_TEMPLATE/feature_request.yaml b/.github/ISSUE_TEMPLATE/feature_request.yaml new file mode 100644 index 0000000..847abad --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yaml @@ -0,0 +1,52 @@ +name: Feature Request 💡 +description: + Suggest a new idea for the design system. +title: 'USWDS - Feature: [YOUR TITLE]' +labels: ['Type: Feature Request'] +body: + - type: markdown + attributes: + value: '## Feature Request 💡' + - type: textarea + id: problem + attributes: + label: Is your feature request related to a problem? Please describe. + description: "Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]" + validations: + required: true + - type: textarea + id: solution + attributes: + label: "Describe the solution you'd like" + description: "Provide a clear and concise description of what you want to happen." + validations: + required: true + - type: textarea + id: alternatives + attributes: + label: "Describe alternatives you've considered" + description: "Provide a clear and concise description of any alternative solutions or features you've considered." + validations: + required: false + - type: textarea + id: context + attributes: + label: Additional context + description: "Add any other context or screenshots about the feature request." + validations: + required: false + - type: checkboxes + id: terms + attributes: + label: Code of Conduct + description: Please confirm the following + options: + - label: + I agree to follow this project's [Code of + Conduct](https://designsystem.digital.gov/about/community/#community-conduct). + required: true + - label: + I checked the [current + issues](https://github.com/uswds/uswds/issues?q=is%3Aissue+is%3Aopen+label%3A%22Type%3A+Feature+Request%22) for + duplicate feature requests. + required: true diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..5576dc0 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,136 @@ + + + + +# Summary + +_Provide a one or two sentence summary of the update that can be used in the changelog._ + + +## Breaking change + +_Indicate if this update is a breaking change with **one** of the following statements:_ +This is not a breaking change. +:warning: This is potentially a breaking change. +:warning: This is a breaking change. + + +## Related issue + +Closes #_[issue_no]_ + + +## Related pull requests + +_Indicate if there are other pull requests necessary to complete this issue._ + + +## Preview link + +Preview link: + + +## Problem statement + +_Summarize the problem this PR solves in a clear and concise statement._ + + +## Solution + +_Provide a summary of the solution this PR offers._ + + +## Major changes + +_For complex PRs, create a list of the significant updates made._ + +## Testing and review + +_Share recommended methods for reviewing this change._ + + + + + + diff --git a/.github/workflows/add-issue-labels.yml b/.github/workflows/add-issue-labels.yml new file mode 100644 index 0000000..0ffab04 --- /dev/null +++ b/.github/workflows/add-issue-labels.yml @@ -0,0 +1,21 @@ +name: Label issues +on: + issues: + types: + - reopened + - opened +jobs: + label_issues: + runs-on: ubuntu-latest + permissions: + issues: write + steps: + - uses: actions/github-script@v6 + with: + script: | + github.rest.issues.addLabels({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + labels: ["Status: Triage"] + }) diff --git a/.github/workflows/add-to-project.yml b/.github/workflows/add-to-project.yml new file mode 100644 index 0000000..cb8b2c7 --- /dev/null +++ b/.github/workflows/add-to-project.yml @@ -0,0 +1,17 @@ +name: Add all issues to project board + +on: + issues: + types: + - opened + +permissions: {} +jobs: + add-to-project: + name: Add issue to project + runs-on: ubuntu-latest + steps: + - uses: actions/add-to-project@v0.1.0 + with: + project-url: https://github.com/orgs/uswds/projects/8 + github-token: ${{ secrets.ADD_TO_PROJECT }} diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml new file mode 100644 index 0000000..824dcac --- /dev/null +++ b/.github/workflows/codeql-analysis.yml @@ -0,0 +1,85 @@ +name: "CodeQL" + +on: + push: + branches: + [ + develop, + main, + v1-develop, + v1-master, + library--develop, + library--main, + ] + pull_request: + # The branches below must be a subset of the branches above + branches: + [ + develop, + main, + v1-develop, + v1-master, + library--develop, + library--main, + ] + schedule: + - cron: "0 21 * * 1" + +permissions: + contents: read # to fetch code (actions/checkout) + +jobs: + analyze: + permissions: + contents: read # to fetch code (actions/checkout) + security-events: write # (github/codeql-action/autobuild) + + name: Analyze + runs-on: ubuntu-latest + + strategy: + fail-fast: false + matrix: + # Override automatic language detection by changing the below list + # Supported options are ['csharp', 'cpp', 'go', 'java', 'javascript', 'python'] + language: ["javascript"] + # Learn more... + # https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + with: + # We must fetch at least the immediate parents so that if this is + # a pull request then we can checkout the head. + fetch-depth: 2 + + # If this run was triggered by a pull request event, then checkout + # the head of the pull request instead of the merge commit. + - run: git checkout HEAD^2 + if: ${{ github.event_name == 'pull_request' }} + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v1 + with: + languages: ${{ matrix.language }} + + # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). + # If this step fails, then you should remove it and run the build manually (see below) + - name: Autobuild + uses: github/codeql-action/autobuild@v1 + + # ℹ️ Command-line programs to run using the OS shell. + # 📚 https://git.io/JvXDl + + # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines + # and modify them (or add more) to build your code if your project + # uses a compiled language + + #- run: | + # make bootstrap + # make release + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v1 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..aa4643b --- /dev/null +++ b/.gitignore @@ -0,0 +1,29 @@ +.DS_store +.*.swp + +# Ignore vs code directories +*.code-workspace +.vscode/ + +# ignore Node-specific files and directories +node_modules/ +npm-debug.log* +*.gz +*.tgz + +# ignore the generated dist directory +dist/ +html-templates/ + +# ignore compiled storybook directory +storybook-static/ +_site/ + +# ignore gulp-generated vendor files +src/stylesheets/lib + +# ignore sass cache +.sass-cache/ + +# ignore sassdoc build +sassdoc/ diff --git a/.npmignore b/.npmignore new file mode 100644 index 0000000..e1f83ee --- /dev/null +++ b/.npmignore @@ -0,0 +1,13 @@ +# Ensure that src and dist are published +!dist/ +!src/ + +_site/ +coverage/ +.github/ +.circleci/ +config/ + +.editorconfig +.eslintrc.yml +circle.yml diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000..b009dfb --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +lts/* diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..e8d7824 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,9 @@ +*.woff* +*.svg +*.ttf +*.png +*.ico +*.gif +*.md +*.twig +src/patterns/stylesheets/lib/ diff --git a/.snyk b/.snyk new file mode 100644 index 0000000..63bf36c --- /dev/null +++ b/.snyk @@ -0,0 +1,134 @@ +# Snyk (https://snyk.io) policy file, patches or ignores known vulnerabilities. +version: v1.22.1 +# ignores vulnerabilities until expiry date; change duration by modifying expiry date +ignore: + SNYK-JS-GLOBPARENT-1016905: + - del > globby > fast-glob > glob-parent: + reason: No available patch or upgrade. + expires: '2021-03-31T17:53:45.553Z' + - '@pattern-lab/core > @pattern-lab/live-server > chokidar > glob-parent': + reason: No patch available. + expires: '2021-03-11T17:49:21.414Z' + - '@pattern-lab/uikit-workshop > webpack > watchpack > chokidar > glob-parent': + reason: No patch available. + expires: '2021-03-11T17:49:21.414Z' + - '@pattern-lab/core > chokidar > glob-parent': + reason: No patch available. + expires: '2021-03-11T17:49:21.414Z' + - '@pattern-lab/core > chokidar > anymatch > micromatch > parse-glob > glob-base > glob-parent': + reason: No patch available. + expires: '2021-03-11T17:49:21.415Z' + - '@pattern-lab/uikit-workshop > copy-webpack-plugin > glob-parent': + reason: No patch available. + expires: '2021-03-11T17:49:21.415Z' + - '@pattern-lab/uikit-workshop > webpack > watchpack > watchpack-chokidar2 > chokidar > glob-parent': + reason: No patch available. + expires: '2021-03-11T17:49:21.415Z' + - '@pattern-lab/uikit-workshop > critical > postcss-image-inliner > asset-resolver > globby > fast-glob > glob-parent': + reason: No patch available. + expires: '2021-03-11T17:49:21.415Z' + - browser-sync > chokidar > glob-parent: + reason: No patch available. + expires: '2021-03-11T17:49:21.414Z' + SNYK-JS-ENGINEIO-1056749: + - browser-sync > socket.io > engine.io: + reason: No patch available. + expires: '2021-03-11T17:49:21.414Z' + SNYK-JS-LOCUTUS-1009836: + - '@pattern-lab/engine-twig > twing > locutus': + reason: No patch available. + expires: '2021-03-11T17:49:21.415Z' + SNYK-JS-MARKDOWNIT-459438: + - '@pattern-lab/core > markdown-it': + reason: No patch available. + expires: '2021-03-11T17:49:21.415Z' + SNYK-JS-MERGE-1040469: + - '@pattern-lab/engine-twig > twing > merge': + reason: No patch available. + expires: '2021-03-11T17:49:21.416Z' + SNYK-JS-NODEFETCH-674311: + - '@pattern-lab/core > node-fetch': + reason: No patch available. + expires: '2021-03-11T17:49:21.416Z' + SNYK-JS-NODESASS-1059081: + - '@pattern-lab/uikit-workshop > node-sass': + reason: No patch available. + expires: '2021-03-11T17:49:21.416Z' + SNYK-JS-NODESASS-535498: + - '@pattern-lab/uikit-workshop > node-sass': + reason: No patch available + expires: '2021-03-11T17:49:21.416Z' + SNYK-JS-NODESASS-535500: + - '@pattern-lab/uikit-workshop > node-sass': + reason: No patch available + expires: '2021-03-11T17:49:21.416Z' + SNYK-JS-NODESASS-535502: + - '@pattern-lab/uikit-workshop > node-sass': + reason: No patch available + expires: '2021-03-11T17:49:21.416Z' + SNYK-JS-NODESASS-540956: + - '@pattern-lab/uikit-workshop > node-sass': + reason: No patch available + expires: '2021-03-11T17:49:21.416Z' + SNYK-JS-NODESASS-540958: + - '@pattern-lab/uikit-workshop > node-sass': + reason: No patch available + expires: '2021-03-11T17:49:21.416Z' + SNYK-JS-NODESASS-540964: + - '@pattern-lab/uikit-workshop > node-sass': + reason: No patch available + expires: '2021-03-11T17:49:21.416Z' + SNYK-JS-NODESASS-540978: + - '@pattern-lab/uikit-workshop > node-sass': + reason: No patch available + expires: '2021-03-11T17:49:21.416Z' + SNYK-JS-NODESASS-540980: + - '@pattern-lab/uikit-workshop > node-sass': + reason: No patch available + expires: '2021-03-11T17:49:21.416Z' + SNYK-JS-NODESASS-540990: + - '@pattern-lab/uikit-workshop > node-sass': + reason: No patch available + expires: '2021-03-11T17:49:21.416Z' + SNYK-JS-NODESASS-540992: + - '@pattern-lab/uikit-workshop > node-sass': + reason: No patch available + expires: '2021-03-11T17:49:21.416Z' + SNYK-JS-NODESASS-540994: + - '@pattern-lab/uikit-workshop > node-sass': + reason: No patch available + expires: '2021-03-11T17:49:21.416Z' + SNYK-JS-NODESASS-540996: + - '@pattern-lab/uikit-workshop > node-sass': + reason: No patch available + expires: '2021-03-11T17:49:21.416Z' + SNYK-JS-NODESASS-540998: + - '@pattern-lab/uikit-workshop > node-sass': + reason: No patch available + expires: '2021-03-11T17:49:21.416Z' + SNYK-JS-NODESASS-541000: + - '@pattern-lab/uikit-workshop > node-sass': + reason: No patch available + expires: '2021-03-11T17:49:21.416Z' + SNYK-JS-NODESASS-541002: + - '@pattern-lab/uikit-workshop > node-sass': + reason: No patch available + expires: '2021-03-11T17:49:21.416Z' + SNYK-JS-YARGSPARSER-560381: + - '@pattern-lab/uikit-workshop > critical > meow > yargs-parser': + reason: No patch available + expires: '2021-03-11T17:49:21.416Z' + - '@pattern-lab/uikit-workshop > critical > filter-css > meow > yargs-parser': + reason: No patch available + expires: '2021-03-11T17:49:21.416Z' + - '@pattern-lab/uikit-workshop > critical > inline-critical > meow > yargs-parser': + reason: No patch available + expires: '2021-03-11T17:49:21.416Z' + - '@pattern-lab/uikit-workshop > critical > postcss-image-inliner > asset-resolver > meow > yargs-parser': + reason: No patch available + expires: '2021-03-11T17:49:21.416Z' + 'npm:braces:20180219': + - '@pattern-lab/core > chokidar > anymatch > micromatch > braces': + reason: No patch available + expires: '2021-03-11T17:49:21.416Z' +patch: {} diff --git a/.storybook/main.js b/.storybook/main.js new file mode 100644 index 0000000..9abc80a --- /dev/null +++ b/.storybook/main.js @@ -0,0 +1,139 @@ +const path = require("path"); +const { + createJoinFunction, + createJoinImplementation, + asGenerator, + defaultJoinGenerator, +} = require("resolve-url-loader"); + +const imageDirectory = path.resolve("dist/img"); +const fontsDirectory = path.resolve("dist/fonts"); + +// call default generator then append any additional paths +const pathGenerator = asGenerator((item, ...rest) => [ + ...defaultJoinGenerator(item, ...rest), + item.isAbsolute + ? null + : /\.(png|svg|jpg|jpeg|gif)$/.test(item.uri) + ? imageDirectory + : /\.(woff|woff2|eot|ttf|otf)$/.test(item.uri) + ? fontsDirectory + : null, +]); + +const joinSassAssets = createJoinFunction( + "joinSassAssets", + createJoinImplementation(pathGenerator) +); + +module.exports = { + core: { + builder: "webpack5", + }, + stories: [ + "../packages/**/*.stories.mdx", + "../packages/**/**/*.stories.@(js|jsx|ts|tsx)", + ], + addons: [ + "@storybook/addon-links", + "@storybook/addon-essentials", + "@storybook/addon-a11y", + ], + staticDirs: ['../dist'], + webpackFinal: async (config, { configType }) => { + // `configType` has a value of 'DEVELOPMENT' or 'PRODUCTION' + // You can change the configuration based on that. + // 'PRODUCTION' is used when building the static version of storybook. + config.module.rules.push( + { + test: /\.twig$/, + use: "twigjs-loader", + resolve: { + alias: { + "@components": path.resolve(__dirname, "../packages"), + "@templates": path.resolve(__dirname, "../packages/templates"), + }, + }, + }, + { + test: /\.s(c|a)ss$/i, + use: [ + { + loader: "style-loader", + }, + { + loader: "css-loader", + options: { + sourceMap: true, + esModule: false, + }, + }, + { + loader: "postcss-loader", + options: { + sourceMap: true, + postcssOptions: (loaderContext) => { + return { + plugins: [ + ["postcss-import", { root: loaderContext.resourcePath }], + ["postcss-discard-comments", { removeAll: true }], + "postcss-preset-env", + [ + "postcss-csso", + { forceMediaMerge: false, comments: false }, + ], + ], + }; + }, + }, + }, + { + loader: "resolve-url-loader", + options: { + join: joinSassAssets, + }, + }, + { + loader: "sass-loader", + options: { + sourceMap: true, + sassOptions: { + includePaths: [ + "./packages", + "./node_modules/@uswds" + ], + implementation: require("sass-embedded") + }, + }, + }, + ], + include: path.resolve(__dirname, "../packages"), + }, + { + test: /\.(png|svg|jpg|jpeg|gif)$/i, + type: "javascript/auto", + use: { + loader: "file-loader", + options: { + name: "[name].[ext]", + //outputPath: "../dist/img", + }, + }, + include: path.resolve(__dirname, "../packages"), + }, + { + test: /\.(woff|woff2|eot|ttf|otf)$/i, + type: "javascript/auto", + use: { + loader: "file-loader", + options: { + name: "[path][name].[ext]", + }, + }, + include: path.resolve(__dirname, "../packages/uswds-core/src/assets/fonts"), + } + ); + + return config; + }, +}; diff --git a/.storybook/preview-head.html b/.storybook/preview-head.html new file mode 100644 index 0000000..8bf5521 --- /dev/null +++ b/.storybook/preview-head.html @@ -0,0 +1,27 @@ + + + + + diff --git a/.storybook/preview.js b/.storybook/preview.js new file mode 100644 index 0000000..766afac --- /dev/null +++ b/.storybook/preview.js @@ -0,0 +1,21 @@ +import "../packages/uswds-core/src/js/start"; + +export const parameters = { + actions: { argTypesRegex: "^on[A-Z].*" }, + controls: { + matchers: { + color: /(background|color)$/i, + date: /Date$/, + }, + }, + options: { + storySort: { + order: [ + "Design Tokens", + "Components", + "Patterns", + "Pages", + ], + }, + }, +}; diff --git a/.stylelintrc.json b/.stylelintrc.json new file mode 100644 index 0000000..12afc0f --- /dev/null +++ b/.stylelintrc.json @@ -0,0 +1,11 @@ +{ + "extends": [ + "@18f/identity-stylelint-config" + ], + "rules": { + "unit-no-unknown": null, + "no-descending-specificity": null, + "no-duplicate-selectors": null + }, + "ignoreFiles": "./src/stylesheets/lib/**/*" +} diff --git a/.tool-versions b/.tool-versions new file mode 100644 index 0000000..dfe6349 --- /dev/null +++ b/.tool-versions @@ -0,0 +1 @@ +nodejs 20.13.1 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..b42f8ca --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,149 @@ +## Welcome! + +We’re glad you’re thinking about contributing to the U.S. Web Design System (USWDS)! + +USWDS is for everyone — we’re an open source project that accepts contributions from our community members. USWDS is the result of community contributions, large and small. Your contribution helps make the Design System better for the next team that uses it. + +## Code of Conduct + +USWDS is committed to building a safe, welcoming, harassment-free culture for everyone. USWDS is a part of the Technology Transformation Services (TTS) within the General Services Administration (GSA) and we expect everyone to follow the [GSA TTS Code of Conduct](https://handbook.tts.gsa.gov/about-us/code-of-conduct/). + +We encourage you to read this project’s Contribution Guide (you are here), its [LICENSE](https://github.com/uswds/uswds/blob/develop/LICENSE.md) and its [README](https://github.com/uswds/uswds/blob/develop/README.md). If you want to read more about our open source policy or have questions, check out the [18F Open Source Policy GitHub repository](https://github.com/18f/open-source-policy) or send us an [email](mailto:uswds@gsa.gov). + +## How you can contribute + +### Getting Started + +Anyone can contribute to USWDS. Whether it's submitting a bug or proposing a new component, we welcome your ideas on how to improve the Design System. + +First time contributor? We’re here to help guide you through a successful contribution. We review all contributions before merging them into USWDS. If you’re unsure about anything, just [ask](mailto:uswds@gsa.gov) — or submit your issue or pull request anyway to get the conversation started. + +Before submitting a contribution, you’ll just need to create a GitHub account or sign in to your existing account. + +If you want to see some other contributions before submitting your own, check out [some good first issues](https://github.com/uswds/uswds/issues?q=is%3Aissue+is%3Aopen+label%3A%22Good+First+Issue%22) from other community members. Again, if you have any questions, don’t hesitate to [reach out to us](mailto:uswds@gsa.gov). + +### Reporting bugs and issues + +If something isn’t working the way it's supposed to, here’s how you can let us know: + +#### 1. Check the issues backlog to see if your bug has already been reported + +First, check our [current issues backlog](https://github.com/uswds/uswds/issues?q=is%3Aissue+is%3Aopen+label%3A%22Type%3A+Bug%22+) to see if your bug has already been reported. + +If your bug has already been reported, leave a comment in the original issue and provide any additional context (if different than the original submission). This helps us better understand the issue and its impact. + +#### 2. Document how to reproduce the bug + +Before submitting a bug, try to recreate it and document the steps we can take to reproduce it. If you can, take screen shots to capture specific details about the bug. This helps us understand its context. We can only fix bugs that we're able to understand and reproduce. + +#### 3. Submit an issue + +If your bug or issue is not in the [current issues backlog](https://github.com/uswds/uswds/issues?q=is%3Aissue+is%3Aopen+label%3A%22Type%3A+Bug%22+), submit an issue using the [bug report template](https://github.com/uswds/uswds/issues/new?assignees=&labels=Type%3A+Bug%2CStatus%3A+Triage%2CNeeds%3A+Confirmation&template=bug_report.yaml&title=USWDS+-+Bug%3A+%5BYOUR+TITLE%5D). A USWDS core team member may reach out to you if we need further clarification or context. We may also need your help testing possible solutions. Be sure to check in on your issue to answer any questions we may have about it. + +If you have a code fix for the issue, go ahead and submit a pull request. Our team tracks issues, so make sure any pull request you submit has a related issue. + +### Proposing feature requests or enhancements + +If you’ve got a new idea or a suggestion for how something could work better, we want to hear about it. Here are a few steps to help you submit a feature request or enhancement. + +#### 1. Check the backlog of current feature requests + +Check our [feature requests backlog](https://github.com/uswds/uswds/issues?q=is%3Aissue+is%3Aopen+label%3A%22Type%3A+Feature+Request%22) for any duplicate or similar feature requests. + +If your idea has already been suggested, upvote that feature request with a thumbs up emoji (👍) and comment on the issue to let us know why you need this feature request and any other supporting information. We review the number of upvotes (represented by 👍) to help us prioritize feature requests. + +If you want to find other feature requests open for upvoting, check out our [feature request view sorted by status](https://github.com/orgs/uswds/projects/8/views/18?sortedBy%5Bdirection%5D=asc&sortedBy%5BcolumnId%5D=Status). + +#### 2. Submit an issue + +If your idea is not in the [current issues backlog](https://github.com/uswds/uswds/issues?q=is%3Aissue+is%3Aopen+label%3A%22Type%3A+Feature+Request%22), submit an issue using the [feature request template](https://github.com/uswds/uswds/issues/new?assignees=&labels=Type%3A+Feature+Request%2CStatus%3A+Triage&template=feature_request.yaml&title=USWDS+-+Feature%3A+%5BYOUR+TITLE%5D). A USWDS core team member may reach out to you if we need further clarification on your submission. + + +### Submitting code contributions + +#### Getting started with USWDS code + +1. First, fork this repo into your GitHub account. Read more about [forking a repo on GitHub](https://help.github.com/articles/fork-a-repo/). +1. Open your local copy of the repository then run the following command in terminal to install project dependencies: + ```sh + npm install + ``` +1. Now that all of your dependencies are installed, start your local server by running the following command: + ```sh + npm start + ``` +1. Open `localhost:6006` in your browser to see your local build of the the USWDS component library in Storybook. + +Here are a few other utility commands you may find useful: + +- `npm run lint`: Runs `eslint` and `sass-lint` against JavaScript and Sass files. +- `npm run prettier`: Runs `prettier` against HTML, JavaScript, and Sass files. +- `npm test`: Runs all tests and linters. + +#### Submitting a pull request for a bug fix: + +1. Check our [open issues backlog](https://github.com/uswds/uswds/issues) for any duplicate or similar issues. +1. If your bug has already been submitted, feel free to comment and provide additional context (if different than the original submission). +1. If your proposed fix is not in the open issues backlog, create an [issue](https://github.com/uswds/uswds/issues/new/choose) for the change you’re proposing. This helps us track our work. +1. Follow the steps in the [Getting started with USWDS code](#getting-started-with-uswds-code) section above to get setup locally. +1. Create a branch from `develop` and name it in a way that lightly defines what you’re working on (for example, `add-styles`). +1. Once you’re ready to submit a pull request, fill out the [pull request template](https://github.com/uswds/uswds/compare). +1. Link your pull request to the issue you created. This important step helps us know which issue this solution fixes. Tip: You can link the pull request in the body of the pull request template using the GitHub comment `closes #issue-no` or `resolves #issue-no`. You can read more about linking pull requests on [GitHub](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue). +1. Submit your pull request against the `develop` branch. + +If the pull request is accepted, we will schedule the issue and merge the pull request for you. + +#### Submitting a pull request for a feature request or enhancement: + +1. Check our [open issues backlog](https://github.com/uswds/uswds/issues) for any duplicate or similar issues. +1. If your idea has already been suggested, upvote that feature request with a thumbs up emoji (👍) and comment on the issue to let us know why you need this feature request or enhancement and any other supporting information. +Tip: If you want to find other feature requests open for upvoting, check out our [feature requests sorted by upvotes](https://github.com/uswds/uswds/issues?q=is%3Aissue+is%3Aopen+label%3A%22Status%3A+Voting+Open+%F0%9F%91%8D%22+sort%3Areactions-%2B1-desc). +1. If your proposed fix is not in the [open issues backlog](https://github.com/uswds/uswds/issues), [create an issue](https://github.com/uswds/uswds/issues/new?assignees=&labels=Type%3A+Feature+Request%2CStatus%3A+Triage&template=feature_request.yaml&title=USWDS+-+Feature%3A+%5BYOUR+TITLE%5D) describing your proposal. This doesn’t mean we don’t want you to create a pull request. We simply want to start the process with an online conversation first. Plus, other community members might have supporting thoughts to add to your proposal. If you’ve already got a pull request, no worries. Go ahead and attach it to the issue. + +### Proposing something else? + +If you’d like to contribute something else that doesn’t fall into any of the above, we’d still love to hear about it. Just create an issue or a discussion, and we can talk about it. + +## How we prioritize + +Once you’ve submitted a contribution, we'll triage it based on the following considerations: +1. **Size:** Can we accomplish this in a sprint or will this take longer? +1. **Severity:** What type of functionality is impacted? Is there a workaround? +1. **Priority:** Does this align with our vision and roadmap goals? + +Note: We prioritize issues that affect accessibility. + +These considerations help us decide if and when we can work on the issue. If the issue is accepted, we will schedule them for an upcoming sprint (a 2-week work period). + +You can stay up to date on the status of your contributions through [GitHub email notifications](https://docs.github.com/en/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications) (external link) and the assigned labels on the issue. + +## Common terms + +There can be a lot of jargon when discussing how you can contribute to the Design System. We’ve included some common terms we use below. + +- **Backlog** - list of deliverables (like a feature request, enhancement, or bug) that should be implemented into upcoming product development. +- **Bug** - problem resulting in something not working properly or as expected. +- **Contribution** - when a community member gives back in a way that enhances the Design System by proposing a new idea, enhancement, or fix that’s released through the system for other people to use. +- **Enhancement** - a proposal to make something existing in the Design System work better. +- **Feature request** - a proposal for something new to be included to the Design System. +- **Fork** - a copy of a repository that you manage. +- **Open source** - something that can be viewed, modified, and shared by anyone in the public with permissions enforced through an open source license. +- **Pull request** - a way to notify project team members when a contributor/developer wants to merge new code changes into a main project repository. You can read more on [GitHub](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests) (external link). +- **Repository (aka repo)** - In Github, a repository contains all your projects’ files and each of their revisions. You can read more on [GitHub](https://docs.github.com/en/repositories/creating-and-managing-repositories/about-repositories) (external link). +- **Roadmap** - a summary that outlines a product’s goals, priorities, and progress over a period of time. + +## Licenses and attribution + +### A few parts of this project are not in the public domain + +For complete attribution and licensing information for parts of the project that are not in the public domain, see the [LICENSE](https://github.com/uswds/uswds/blob/develop/LICENSE.md). + +### The rest of this project is in the public domain + +The rest of this project is in the worldwide [public domain](https://github.com/uswds/uswds/blob/develop/LICENSE.md#the-rest-of-this-project-is-in-the-worldwide-public-domain). + +This project is in the public domain within the United States, and copyright and related rights in the work worldwide are waived through the [CC0 1.0 Universal public domain dedication](https://creativecommons.org/publicdomain/zero/1.0/). + +### Contributions will be released into the public domain + +All contributions to this project will be released under the CC0 dedication. By submitting a pull request, you are agreeing to comply with this waiver of copyright interest. diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..f15812c --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,83 @@ +## A few parts of this project are not in the public domain + +### Copyright ownership of Works created by U.S. federal employees + +This repository contains both the original design for Google Material Icons (the “Work”, as defined in Section 1 of the Apache 2.0 License) and modifications made by the General Services Administration (GSA). This repository combines the Work and these GSA modifications, which is a “Modified Version” of Material Icons. + +This repository also contains both original designs for Source Sans Pro, Merriweather, and Font Awesome (the “Font Software”, as defined in Section 1 of the SIL Open Font License, version 1.1) and modifications made by the General Services Administration (GSA). This repository combines the Work and these GSA modifications, which is a “Modified Version” of Source Sans Pro, Merriweather, Public Sans, and Font Awesome respectively. + +As a work of the United States Government, the software modifications made by GSA are not subject to copyright within the United States. Additionally, GSA waives copyright and related rights in its software modifications worldwide through the CC0 1.0 Universal Public Domain Dedication (https://creativecommons.org/publicdomain/zero/1.0/). + +The Work (as defined in the Apache 2.0 License) and Font Software (as defined in the SIL Open Font License, Version 1.1) remains subject to copyright under the respective open source license. The section below lists which works are subject to particular open source licenses. + +This Modified Version packaged as `dist/img/sprite.svg` contains both design elements under the Apache 2.0 License and design modifications by GSA released as CC0. It is a “joint work” made of the icon set and modifications combined into a single work. + +### Files licensed under the SIL Open Font License, Version 1.1 + +The Source Sans Pro font files in `packages/uswds-core/src/assets/fonts/source-sans-pro` are a [customized subset](https://github.com/miguelsousa/source-sans-pro-subset) of [Source Sans Pro](https://github.com/adobe-fonts/source-sans-pro) owned by Adobe Systems Incorporated, licensed under the [SIL Open Font License, Version 1.1](https://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL_web), and copyright 2010, 2012, 2014 [Adobe Systems Incorporated], with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States or other countries. + +The Merriweather font files in `packages/uswds-core/src/assets/fonts/merriweather` are the version 2.001 files from [GitHub](https://github.com/EbenSorkin/Merriweather/releases/tag/v2.001) subsetted into Latin and with additional formats generated with [Transfonter](https://transfonter.org/), licensed under the [SIL Open Font License, Version 1.1](https://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL_web), and copyright [Sorkin Type Co](www.sorkintype.com) with Reserved Font Name 'Merriweather'. + +The Public Sans font files in `packages/uswds-core/src/assets/fonts/public-sans` are licensed under the [SIL Open Font License, Version 1.1](https://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL_web). Public Sans is a modification of Libre Franklin, copyright [Impallari Type](www.impallari.com). + + +### Files licensed under the Apache 2.0 License + +The Roboto Mono font files in `packages/uswds-core/src/assets/fonts/roboto-mono` are licensed under the [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt). + +The Google Material Icons in `packages/usa-icon/src/img/material-icons-deprecated`, and those packaged as `dist/img/material-icons` are licensed under the [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt). + +### Files licensed under the MIT license + +The files in `packages/uswds-elements/lib` are modified from: + +- [`normalize.css`](https://github.com/necolas/normalize.css), copyright Nicolas Gallagher and Jonathan Neal, under the [MIT license](https://github.com/necolas/normalize.css/blob/master/LICENSE.md). +- [`modern-normalize`](https://github.com/sindresorhus/modern-normalize/tree/main), copyright Sindre Sorhus, Nicolas Gallagher, and Jonathan Neal, under the [MIT license](https://github.com/sindresorhus/modern-normalize/blob/main/license). + +### Files licensed under the CC0 1.0 Universal license + +The files in `packages/uswds-elements/lib` are modified from: + +- [`@csstools/normalize.css`](https://github.com/csstools/normalize.css), copyright Jonathan Neal, under the [CC0 1.0 Universal license](https://github.com/csstools/normalize.css/blob/main/LICENSE.md). + +#### Full license text for the MIT licensed files: + +``` +The MIT License (MIT) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +``` + +## The rest of this project is in the worldwide public domain + +As a work of the United States government, this project is in the public domain within the United States. + +Additionally, we waive copyright and related rights in the work worldwide through the [CC0 1.0 Universal public domain dedication](https://creativecommons.org/publicdomain/zero/1.0/). + +### CC0 1.0 Universal Summary + +This is a human-readable summary of the [Legal Code (read the full text)](https://creativecommons.org/publicdomain/zero/1.0/legalcode). + +#### No copyright + +The person who associated a work with this deed has dedicated the work to the public domain by waiving all of his or her rights to the work worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law. + +You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission. + +#### Other information + +In no way are the patent or trademark rights of any person affected by CC0, nor are the rights that other persons may have in the work or in how the work is used, such as publicity or privacy rights. + +Unless expressly stated otherwise, the person who associated a work with this deed makes no warranties about the work, and disclaims liability for all uses of the work, to the fullest extent permitted by applicable law. When using or citing the work, you should not imply endorsement by the author or the affirmer. + +### Contributions to this project + +As stated in [CONTRIBUTING](CONTRIBUTING.md), all contributions to this project will be released under the CC0 dedication. By submitting a pull request, you are agreeing to comply with this waiver of copyright interest. + +### Trademark + +GSA owns, reserves, and retains all rights, title, and interest in all trademarks owned by GSA. The User does not acquire any right or interest of any kind in any GSA trademark because of their use of the Modified Version or any of the modifications made to the Work by GSA. diff --git a/README.md b/README.md new file mode 100644 index 0000000..245ebf1 --- /dev/null +++ b/README.md @@ -0,0 +1,570 @@ +# United States Web Design System + +[![CircleCI Build Status](https://img.shields.io/circleci/build/gh/uswds/uswds/develop?style=for-the-badge&logo=circleci)](https://circleci.com/gh/uswds/uswds/tree/develop) ![Snyk vulnerabilities](https://img.shields.io/snyk/vulnerabilities/npm/@uswds/uswds?style=for-the-badge) [![npm Version](https://img.shields.io/npm/v/@uswds/uswds?style=for-the-badge)](https://www.npmjs.com/package/uswds) [![npm Downloads](https://img.shields.io/npm/dt/@uswds/uswds?style=for-the-badge)](https://www.npmjs.com/package/uswds) [![GitHub issues](https://img.shields.io/github/issues/uswds/uswds?style=for-the-badge&logo=github)](https://github.com/uswds/uswds/issues) [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4?style=for-the-badge)](https://github.com/prettier/prettier) + +The [United States Web Design System](https://designsystem.digital.gov) includes a library of open source UI components and a visual style guide for U.S. federal government websites. + +This repository is for the design system code itself. We maintain [another repository for the documentation and website](https://github.com/uswds/uswds-site). To see the design system and its documentation on the web, visit [https://designsystem.digital.gov](https://designsystem.digital.gov). + +## Contents + +- [Recent updates](#recent-updates) +- [Getting started](#getting-started) +- [What's included in USWDS](#whats-included-in-uswds) + - [Directory structure](#directory-structure) + - [Package contents](#package-contents) +- [Installing the design system](#installing-the-design-system) +- [Using USWDS CSS and JavaScript in your project](#using-uswds-css-and-javascript-in-your-project) +- [Compiling USWDS Sass into CSS](#compiling-uswds-sass-into-css) + - [Sass compilation requirements](#sass-compilation-requirements) + - [Sass and theme settings](#sass-and-theme-settings) +- [JS customization](#js-customization) +- [Style theming and tokens](#style-theming-and-tokens) +- [CSS architecture](#css-architecture) +- [Browser support](#browser-support) +- [Accessibility](#accessibility) +- [Long-term support of v1.x](#long-term-support-of-v1x) +- [Long-term support of v2.x](#long-term-support-of-v2x) +- [Need installation help?](#need-installation-help) +- [Contributing to the code base](#contributing-to-the-code-base) +- [Reuse of open-source style guides](#reuse-of-open-source-style-guides) +- [Licenses and attribution](#licenses-and-attribution) +- [Contributing](#contributing) + +## Recent updates + +Information about the most recent release of the design system can always be found in the [release history](https://github.com/uswds/uswds/releases). We include details about significant updates and any backward-incompatible changes along with a list of all changes. + +**USWDS 3.0 is our most recent major release.** +- [Read about what's new in USWDS 3.0](https://designsystem.digital.gov/whats-new/updates/2022/04/28/introducing-uswds-3-0/) +- [Read our USWDS 3.0 Migration Guide](https://designsystem.digital.gov/documentation/migration) + +## Getting started + +We’re glad you’d like to use the design system — here’s how you can get started: + +- **Designers:** Check out our [Getting started for designers information](https://designsystem.digital.gov/documentation/getting-started-for-designers/). +- **Developers:** Check out our [Getting started for developers information](https://designsystem.digital.gov/documentation/getting-started-for-developers/). If your project doesn't use npm for package management, follow the instructions in this README to [install the design system without npm.](#installing-the-design-system) +- **Anyone:** Take a look at our new [USWDS Tutorial](https://github.com/uswds/uswds-tutorial). Follow the instructions in this GitHub repo to clone a sample project, install USWDS, customize it, and add USWDS components. It should take about an hour, and is a good introduction to USWDS concepts. + +## What's included in USWDS +The USWDS package includes compiled assets in a `dist` directory and component source files in a `packages` directory. + +As of USWDS 3.0.0, our codebase is centered around functional packages, typically components. For more about how we organize packages, [see our Packages documentation](https://designsystem.digital.gov/components/packages). In each of the following examples, we use `[package]` to represent a specific package. For example, component Sass is located in `packages/[package]/src/styles` for an accordion, this would be `packages/usa-accordion/src/styles`. + +- **Fonts** are located in both `dist/fonts` and `packages/uswds-core/src/assets/fonts`. The fonts in `dist` are simply a copy of the files in `uswds-core`. +- **Images** and icons are located in: `dist/img`. The source for component-specific images can be found in a package's `src/img` directory. +- **JavaScript** for components is located in `packages/[package]/src/index.js`. General JavaScript utilities are located in the `uswds-core` package: `packages/uswds-core/src/js` +- **Sass** component-specific stylesheets are located in: `packages/[package]/src/styles`. Many components also have a component entry point at `packages/[package]/_index.scss` that includes references to all a component's dependencies as well. **Compiled CSS** is located in `dist/css`. +- **Template** markup for the components is located in: `packages/[package]/src/[package.twig]` in the site root. These, however, are written in the templating language Twig. It's best to get HTML source markup directly from [designsystem.digital.gov/components](https://designsystem.digital.gov/components) + +### Directory structure +Here's what you can expect to find inside the USWDS package: + +``` +[uswds package] +├── .storybook/ +├── dist/ +│ ├── css/ +│ │ ├── uswds.css +│ │ ├── uswds.min.css +│ │ └── uswds.min.css.map +│ ├── fonts/ +│ │ ├── merriweather/ +│ │ ├── public-sans/ +│ │ ├── roboto-mono/ +│ │ └── source-sans-pro/ +│ ├── img/ +│ │ ├── usa-icons/ +│ │ ├── material-icons/ +│ │ ├── uswds-icons/ +│ │ ├── usa-icons-bg/ +│ │ ├── sprite.svg +│ │ ├── [individual images] +│ │ ... +│ ├── js/ +│ │ ├── uswds-init.js +│ │ ├── uswds-init.min.js +│ │ ├── uswds-init.min.js.map +│ │ ├── uswds.js +│ │ ├── uswds.min.js +│ │ └── uswds.min.js.map +│ ├── scss/ +│ │ └── stylesheets/ +│ │ └── uswds.scss +│ └── theme/ +│ ├── _uswds-theme.scss +│ ├── _uswds-theme-custom-styles.scss +│ └── styles.scss +├── packages/ +│ ├── usa-component/ +│ │ ├── src/ +│ │ │ ├── content/ +│ │ │ ├── styles/ +│ │ │ │ ├── _index.scss +│ │ │ │ └── component.scss +│ │ │ ├── test/ +│ │ │ │ ├── component.spec.js +│ │ │ │ └── template.html +│ │ │ ├── index.js +│ │ │ ├── usa-component.stories.js +│ │ │ └── usa-component.twig +│ │ └── _index.scss_/ +│ ├── usa-component/ +│ ├── usa-component/ +│ ├── uswds-bundle/ +│ ├── uswds-bundle/ +│ ... +├── src/ +│ ├── img/ +│ ├── stylesheets/ +│ └── test/ +└── tasks/ +``` + +### Package contents +Here's what you can expect to find in each of the directories and files in the USWDS package: + +- `/.storybook`: Storybook configuration files (not used in USWDS projects) +- `/dist`: Compiled or collected files +- `/dist/css`: Precompiled CSS files with USWDS defaults +- `/dist/fonts`: Default fonts available to the design system +- `/dist/img`: All USWDS images collected into a single directory +- `/dist/img/usa-icons`: All icons collected into the USWDS icon sprite (`sprite.svg`) +- `/dist/img/material-icons`: All Material Icons +- `/dist/img/uswds-icons`: All icons created by USWDS +- `/dist/img/sprite.svg`: Precompiled icon sprite with default icon set +- `/dist/js`: Precompiled JavaScript files +- `/dist/scss/stylesheets/uswds.scss`: Backwards compatible USWDS Sass entry point +- `/dist/scss/theme`: Example theme files +- `/dist/scss/theme/_uswds-theme.scss`: Example theme settings file +- `/dist/scss/theme/_uswds-theme-custom-styles.scss`: Example custom settings file +- `/dist/scss/theme/styles.scss`: Example project Sass entry point +- `/packages`: Source files for USWDS components and other functionality. +- `/packages/usa-[component]`: Each package has a name like `usa-[component]` that matches its class name in the design system, like `usa-accordion`. +- `/packages/usa-[component]/_index.scss`: Sass entry point for the package. +- `/packages/usa-[component]/src`: Package source files +- `/packages/usa-[component]/src/index.js`: Package javascript +- `/packages/usa-[component]/src/usa-component.stories.js`: Storybook setup +- `/packages/usa-[component]/src/usa-component.twig`: Component template +- `/packages/usa-[component]/src/index.js`: Package javascript +- `/packages/usa-[component]/src/content`: Package template content +- `/packages/usa-[component]/src/test`: Package unit tests +- `/packages/usa-[component]/src/styles`: Package source Sass + +- `/packages/uswds`: The package most projects include by default. This bundle includes all USWDS components and functionality. +- `/packages/uswds-[bundle]`: Other non-component functionality is included in `uswds-`-prefixed packages. These bundles might collect common component packages (`uswds-form-controls`) or important internal functionality (`uswds-core`). +- `/src`: Placeholders included for backwards compatibility. Most projects should avoid using the contents of this directory. +- `/tasks`: Internal build process files (not used in USWDS projects) + +## Installing the design system +There are two ways to install the design system on a project: +- Installing it as a project dependency using Node and npm +- Installing the package directly from GitHub + +**We recommend using npm to make it as straightforward as possible to install the design system and update it as we release new versions.** + +### Install using Node and npm +Use the npm package manager for Node-based projects. USWDS maintains the [`@uswds/uswds` package](https://www.npmjs.com/package/uswds) that includes both the pre-compiled and compiled files. We rely on npm packages to easily update and install the design system from the command line. + +1. Install `Node/npm`. Below is a link to find the install method that coincides with your operating system: + + - Node (see [.nvmrc](https://github.com/uswds/uswds/blob/develop/.nvmrc) for version number), [Installation guides](https://nodejs.org/en/download) + + **Note for Windows users:** If you are using Windows and are unfamiliar with Node or npm, we recommend following [Team Treehouse's tutorial](http://blog.teamtreehouse.com/install-node-js-npm-windows) for more information. + +2. Make sure you have installed it correctly: + + ```shell + npm -v + 6.13.0 # This line may vary depending on what version of Node you've installed. + ``` + +3. Create a `package.json` file. You can do this manually, but an easier method is to use the `npm init` command. This command will prompt you with a few questions to create your `package.json` file. + +4. Add `@uswds/uswds` to your project’s `package.json`: + + ```shell + npm install --save @uswds/uswds@latest + ``` + +The `@uswds/uswds` module is now installed as a dependency. You can use the compiled files found in the `node_modules/@uswds/uswds/dist/` directory or the source files in the `node_modules/@uswds/uswds/packages/` directory. + +**Note:** We do _not_ recommend directly editing the design system files in `node_modules`. One of the benefits of using a package manager is its ease of upgrade and installation. If you make customizations to the files in the package, any upgrade or re-installation will wipe them out. + +### Install the package directly from GitHub +If you’re using a framework or package manager that doesn’t support npm, you can find the source files in this repository and use them in your project. Otherwise, we recommend that you follow the steps outlined in this section. + +1. Download the [USWDS package](https://github.com/uswds/uswds/releases) directly from the latest USWDS release and uncompress that file. + +2. Copy these files and folders into a relevant place in your project's code base. Here is an example structure for how this might look: + + ``` + example-project/ + ├── assets/ + │ ├── uswds/ + │ │ ├── dist/ + │ │ ├── packages/ + │ │ └── src/ + │ ├── stylesheets/ + │ ├── images/ + │ └── javascript/ + └── index.html + ``` + + You'll notice in our example above that we also outline a `stylesheets`, `images` and `javascript` folder in your `assets` folder. These folders are to help organize any assets that are unique to your project and separate from the design system assets. + + + **Note:** Files in the downloadable USWDS package will show a "last modified" date of October 26, 1985. This is [intentional](https://github.com/npm/npm/issues/20439#issuecomment-385121133). This default date is set by npm on all its packages to ensure builds will be identical. + +## Using USWDS CSS and JavaScript in your project + +The three files critical to any USWDS project are the **stylesheet**, the **JavaScript**, and the **initializer**. Most projects require all of these to function properly. + +- **Stylesheet:** This is the compiled CSS stylesheet that describes how design system components look. To start, reference either `uswds.css` or `uswds.min.css` in the `` of your document. Find this file in `/dist/css`. Most projects will want to compile their own CSS from USWDS source Sass instead of using the precompiled version. For more about this, see [Compiling USWDS Sass into CSS](#compiling-uswds-sass-into-css), below. +- **Library:** This is the compiled JavaScript that controls component interactivity. Reference either `uswds.js` or `uswds.min.js` at the end of the `` of your document. Find this file in `/dist/js`. +- **Initializer:** This small JavaScript file (less than 1 KB minified) helps the browser know if the USWDS JavaScript library is loading properly. This prevents component content from "flashing" or "shifting" while the page loads. Reference `uswds-init.min.js` in the `` of your page, or inline its contents directly into the ` + + + + + + +``` + +And that’s it — you should now be able to copy our code samples into your `index.html` and start using the design system. + +## Compiling USWDS Sass into CSS + +If you want to take full advantage of USWDS custom settings and add build new styles and components with the USWDS toolset, you'll need a way to access the assets in the USWDS package and compile custom CSS from the USWDS source files. + +USWDS uses the task manager [Gulp](http://gulpjs.com/) as a way to add USWDS assets to a project and compile our CSS from the package source. Gulp is a useful and powerful tool, but it can be difficult to set up if you are new to it. + +The [USWDS Compile package](https://github.com/uswds/uswds-compile) is made for developers new to Gulp or those who just want a simple setup to compile USWDS Sass. The repo contains files and instructions for setting up the compiler, initializing USWDS, and compiling CSS from the source files. + +### Sass compilation requirements + +USWDS Sass needs three things to compile properly: +- **Sass Module syntax:** USWDS requires a modern Sass compiler that can parse Sass Module syntax. +- **Autoprefixing:** USWDS requires Autoprefixing your CSS with a specific `.browserslistrc`. +- **Sass Load Paths:** USWDS requires Sass compilers use Load Paths that reference the `/packages` directory in the USWDS package + +**Note: Using a compiler package like [USWDS Compile](https://github.com/uswds/uswds-compile) is a good way to fulfill these requirements automatically.** + +#### Autoprefixing + +The design system requires autoprefixing to work properly. Don't add vendor prefixes to your custom styles manually — it is more reliable to use autoprefixing. Autoprefixing services like [gulp-autoprefixer](https://github.com/sindresorhus/gulp-autoprefixer) automatically add vendor prefixes to CSS rules. We use the following autoprefixer settings via `.browserslistrc` config: + +``` +> 2% +last 2 versions +not dead +``` + +#### Sass Load Paths + +USWDS 3.0 and newer require the use of [Sass Load Paths](https://sass-lang.com/documentation/at-rules/use#load-paths) to compile properly. + +USWDS 3.0 load paths must include a path to the `/packages` directory in the USWDS package, typically by updating an `IncludePaths` setting to include `node_modules/@uswds/uswds/packages`. + +Here's how this might look in Gulp and in Webpack: + +##### Gulp + +```js +.pipe( + sass({ + includePaths: [ + "./node_modules/@uswds/uswds/packages", + ], + }) +``` + +##### Webpack + +```js +loader: "sass-loader", +options: { + sassOptions: { + includePaths: [ + "./node_modules/@uswds/uswds/packages" + ], + }, +}, +``` + + +#### Other useful compiler postprocessing + +- **Minification:** We recommend using a **minifier** like [csso](https://github.com/css/csso) to compress your final compiled CSS. +- **Sourcemaps:** We recommend using a **sourcemap** tool like [`gulp-sourcemaps`](https://www.npmjs.com/package/gulp-sourcemaps) to assist debugging by keeping track of source Sass locations. + +### Sass and theme settings + +The design system is customizable using the power of [Sass (Syntactically Awesome Style Sheets)](http://sass-lang.com/). The critical files you'll need in your project are those in `dist/scss/theme`: + +- `_uswds-theme.scss`: custom theme settings +- `_uswds-theme-custom-styles.scss`: additional project CSS for customizing or adding to what USWDS provides +- `styles.scss`: The Sass entry point. This is the primary Sass file that you'll compile. It collects theme settings, USWDS source files, and custom CSS + +`styles.scss` looks something like the following code. It adds all the project theme settings, then adds USWDS source, and finally adds your project's custom styles: + +```scss +@forward "uswds-theme"; +@forward "uswds"; +@forward "uswds-theme-custom-styles"; +``` + +**Technical note:** The `@forward 'uswds'` statement above references the `uswds` package in `node_modules/@uswds/uswds/packages`. The compile functions included in [`uswds-compile`](https://github.com/uswds/uswds-compile) automatically look for USWDS packages in the proper directory using `includePaths`. + +## JS customization + +**Unfortunately, customizing the JavaScript for the USWDS currently requires NodeJS and a module bundler like Browserify or Webpack. We apologize for this inconvenience, and are working to resolve it in a future release of the design system.** + +USWDS JavaScript is separated into components (just as with the CSS and HTML) and initialized with event handlers when the DOM is ready. These components are accessible as CommonJS modules that can be required in other JavaScript files, then built for the browser. The components are not accessible in the global browser scope, but can be extended to be included by requiring `components` and setting it to a global scope: + +```js +window.uswds = require("./components"); +``` + +Each component has a standardized interface that can be used to extend it further. The components store a HTML class (like `.usa-accordion__button[aria-controls]`) used to link HTML elements with the JavaScript component. When a component is initialized, it searches through the current HTML DOM to find all elements that match the class and initializes the component JavaScript for those elements. The primary methods for each component include: + +- `on`: Initialize a component's JavaScript behavior by passing the root element, such as `window.document`. +- `off`: The opposite of `on`, de-initializes a component, removing any JavaScript event handlers on the component. +- `hide`: Hide the whole component. +- `show`: Shows a whole, hidden component. +- `toggle`: Toggles the visibility of a component on and off based on the previous state. + +Some components have additional methods based on that component's functionality. Any additional methods are found in that component's JavaScript file. + +**If you’re using a modern framework like React or Angular you can import components and initialize them in your library's DOM ready lifecycle event.** + +Importing a modular component. + +```js +import USWDS from "@uswds/uswds/js"; +const { characterCount, accordion } = USWDS; // deconstruct your components here + +// Alternatively +import accordion from "@uswds/uswds/js/usa-accordion"; +``` + +⚠️Requires webpack 5+ + +React hooks example: + +```js +function App() { + const ref = document.body; + + useEffect(() => { + // initialize + characterCount.on(ref); + // default ref is document.body, if you want to use + // default you do not have to pass arguments + accordion.on(); + + // remove event listeners when the component un-mounts. + return () => { + characterCount.off(); + accordion.off(); + }; + }); +} +``` + +Angular example: + +```js +export class App implements OnInit { + constructor() { + this.ref = document.body; + // default ref is document.body, if you want to use + // default you do not have to pass arguments + } + + ngOnInit() { + // initialize + characterCount.on(this.ref); + accordion.on(); + } + + // remove event listeners when the component un-mounts. + ngOnDestroy() { + characterCount.off(); + accordion.off(); + } +} +``` + +## Style theming and tokens + +USWDS 3.0 provides extensive support for theming via its theme settings files introduced in [Sass and theme settings](#sass-and-theme-settings), above. + +Set theme settings with USWDS design tokens, not with values directly. They tend to be quoted strings like `'desktop'` or `'md'` or unitless numbers like `2` or `-1.5`. Tokens are the values _passed into_ the USWDS functions and mixins that parse them. They are the _keys_ that, through the mechanism of a function or mixin, unlock a _value_ — they are not the values themselves. + +Visit the [Design tokens section](https://designsystem.digital.gov/design-tokens/) of USWDS 3.0 documentation for more on the available tokens for [color](https://designsystem.digital.gov/design-tokens/color), [spacing units](https://designsystem.digital.gov/design-tokens/spacing-units), [font size](https://designsystem.digital.gov/design-tokens/typesetting/font-size/), and more. + +### Using tokens in theme settings + +The following is an example of theme settings from `_uswds-theme.scss`: + +```scss +@use "uswds-core" with ( + $theme-grid-container-max-width: "desktop", + $theme-site-margins-breakpoint: "desktop", + $theme-site-margins-width: 4, + $theme-site-margins-mobile-width: 2, +) +``` + +The USWDS uses those tokens to build component styles: + +```scss +.usa-example { + @include u-padding-x($theme-site-margins-mobile-width); + max-width: units($theme-grid-container-max-width); + + @include at-media($theme-site-margins-breakpoint) { + @include u-padding-x($theme-site-margins-width); + } +} +``` + +This is the functional equivalent of: + +```scss +.usa-example { + @include u-padding-x(2); + max-width: units("desktop"); + + @include at-media("desktop") { + @include u-padding-x(4); + } +} +``` + +Which, if `$theme-respect-user-font-size` is set to `true` would output something like: + +```css +.usa-example { + padding-left: 1rem; + padding-right: 1rem; + max-width: 64rem; +} + +@media screen and (min-width: 64em) { + .usa-example { + padding-left: 2rem; + padding-right: 2rem; + } +} +``` + +In general, USWDS sets **variables** with **tokens**, and passes those variables into **functions and mixins** in the source Sass. + +### Set the base asset paths (fonts and images) + +The values of `$theme-font-path` and `$theme-image-path` will be appended to USWDS font paths and image paths, respectively: + +```scss +@use "uswds-core" with ( + $theme-font-path: "../fonts", + $theme-image-path: "../img", +); +``` + +## CSS architecture + +- The CSS foundation of this site is built with the **[Sass](https://sass-lang.com)** preprocessor language. +- The CSS organization and naming conventions follow **[18F’s Engineering Guide](https://guides.18f.gov/engineering/languages-runtimes/css/#naming)**. +- We format our code with [Prettier](https://prettier.io/), per the formatting section of the **[18F Engineering Guide](https://guides.18f.gov/engineering/languages-runtimes/css/#formatting)**. +- CSS selectors are **prefixed** with `usa` (For example: `.usa-button`). This identifier helps the design system avoid conflicts with other styles on a site which are not part of USWDS. +- Uses a **[BEM](http://getbem.com/)** approach for naming CSS selectors. Blocks are separated from elements with two underscores (`__`). Multi-word blocks use single hyphens instead of spaces. Modifier classes are additive — proper markup requires the base class _and_ the modifier class or classes. Modifier classes consist of the base class plus a modifier suffix, separated by two hyphens (`--`) as in `.usa-button.usa-button--secondary` or `usa-accordion.usa-accordion--bordered`. +- Uses **modular CSS** for scalable, modular, and flexible code. +- Uses **nesting** when appropriate. Nest minimally with up to two levels of nesting. +- Hard-coded magic numbers are avoided. +- Media queries are built **mobile first**. +- **Spacing units** are set with the `units()` function as described in [the USWDS 3.0 documentation](https://designsystem.digital.gov/design-tokens/spacing-units/). In general, we use spacing in multiples of `8px` — expressed as a multiple in `units([multiple])`. For instance `units(2)` is the equivalent of `2 * 8px` or `16px`. In the final, compiled CSS, this value will be expressed in rem, as a multiple of the base font size set with `$theme-base-font-size`. + +**For more information, visit:** +[18F’s CSS Guide](https://guides.18f.gov/engineering/languages-runtimes/css/) + +## Browser support + +We’ve designed the design system to support older and newer browsers through [progressive enhancement](https://en.wikipedia.org/wiki/Progressive_enhancement). The current major version of the design system (3.0.0) follows the [2% rule](https://gds.blog.gov.uk/2012/01/25/support-for-browsers/): we officially support any browser above 2% usage as observed by [analytics.usa.gov](https://analytics.usa.gov/). Currently, this means that the design system version 3.0.0 supports the newest versions of Chrome, Firefox, and Safari. + +As of USWDS 3.0.0, we no longer officially support Internet Explorer 11 (IE11). We continued to include IE11 polyfills and prefixing for the first few releases in USWDS 3.x. We started to remove IE11-related polyfills in [USWDS 3.8.2](https://github.com/uswds/uswds/releases/tag/v3.8.2), and removed the remaining polyfills in [USWDS 3.10.0](https://github.com/uswds/uswds/releases/tag/v3.10.0). + +## Accessibility + +The design system also meets the [WCAG 2.0 AA accessibility guidelines](https://www.w3.org/TR/WCAG20/) and conforms to the standards of [Section 508 of the Rehabilitation Act](http://www.section508.gov/). Additionally, we try to meet the requirements of [WCAG 2.1](https://www.w3.org/TR/WCAG21/). + +We use the following tools to ensure USWDS is accessible: +- [ANDI](https://www.ssa.gov/accessibility/andi/help/install.html). +- [Axe core](https://www.deque.com/axe/). +- [Axe dev tools](https://chrome.google.com/webstore/detail/axe-devtools-web-accessib/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US). + +If you find any issues with our accessibility conformance, please create an issue in our GitHub repo or send us an email at [uswds@gsa.gov](mailto:uswds@gsa.gov). We prioritize accessibility issues. See [the Accessibility page of our website](https://designsystem.digital.gov/documentation/accessibility/) for more information. + +## Long-term support of v1.x + +[Version 1.x](https://v1.designsystem.digital.gov) is no longer maintained. + +## Long-term support of v2.x + +Version 2.x is in maintenance mode and will continue to get important bugfixes and security patches until May 2023. + +## Need installation help? + +Do you have questions or need help with setup? Did you run into any weird errors while following these instructions? Feel free to open an issue here: + +[https://github.com/uswds/uswds/issues](https://github.com/uswds/uswds/issues). + +You can also email us directly at [uswds@gsa.gov](mailto:uswds@gsa.gov). + +## Contributing to the code base + +For complete instructions on how to contribute code, please read [CONTRIBUTING.md](CONTRIBUTING.md). These instructions also include guidance on how to set up your own copy of the design system style guide website for development. + +If you would like to learn more about our workflow process, check out the [Workflow](https://github.com/uswds/uswds/wiki/Workflow) and [Issue label Glossary](https://github.com/uswds/uswds/wiki/Issue-label-glossary) pages on the wiki. + +If you have questions or concerns about our contributing workflow, please contact us by [filing a GitHub issue](https://github.com/uswds/uswds/issues) or [emailing our team](mailto:uswds@gsa.gov). + +## Reuse of open-source style guides + +Much of the guidance in USWDS leans on open source designs, code, and patterns from other civic and government organizations, including: + +- Consumer Financial Protection Bureau’s [Design Manual](https://cfpb.github.io/design-manual/) +- U.S. Patent and Trademark Office’s [Design Patterns](http://uspto.github.io/designpatterns/) +- Healthcare.gov [Style Guide](http://styleguide.healthcare.gov/) +- UK’s Government Digital Service’s [UI Elements](http://govuk-elements.herokuapp.com/) +- Code for America’s Chime [Styleguide](https://github.com/chimecms/chime-starter) +- Pivotal Labs [Component Library](http://styleguide.cfapps.io/) + +## Licenses and attribution + +A few parts of this project are not in the public domain. Attribution and licensing information for those parts are described in detail in [LICENSE.md](LICENSE.md). + +The rest of this project is in the worldwide public domain, released under the [CC0 1.0 Universal public domain dedication](https://creativecommons.org/publicdomain/zero/1.0/). + +## Contributing + +All contributions to this project will be released under the CC0 dedication alongside the public domain portions of this project. For more information, see [CONTRIBUTING.md](CONTRIBUTING.md). diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..eb00d6f --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,22 @@ +# Security + +## Our security policies and procedures + +We follow GSA's [IT security policy](https://www.gsa.gov/policy-regulations/policy/information-integrity-and-access/gsa-it-security-policies) to ensure the confidentiality, integrity, and availability of USWDS. + +We use [Snyk](https://snyk.io) to find, fix, and prevent vulnerabilities in USWDS dependencies. We run Snyk checks locally during development and automatically on all pull requests. + +We perform static analysis on our JavaScript on every pull requests with [GitHub CodeQL](https://securitylab.github.com/tools/codeql). + +We include a security and vulnerability report with every USWDS release, and release security patches for both the 1.x and 2.x branches. + +## Using USWDS securely + +We encourage you to verify the security and status of the USWDS package: + +1. **Check the vulnerability badge.** Confirm the vulnerability badge in the [USWDS Github code repository](https://github.com/uswds/uswds) says there are `0` vulnerabilities. +1. **Download the package via npm.** We recommend using the [npm package](https://designsystem.digital.gov/documentation/developers/#install-using-node-and-npm) instead of the [zip file](https://designsystem.digital.gov/documentation/developers/#install-the-package-directly-from-github), whenever possible. Using npm makes it easier to stay up-to-date and use the latest USWDS version as a project dependency, and is a secure and reliable way to download USWDS source code. + +## Report a security issue + +To learn more about our security practices or to report a security issue, please [email us](mailto:uswds@gsa.gov). If the issue is confirmed, we will release a patch as soon as possible. diff --git a/assets/css/styles.css b/assets/css/styles.css new file mode 100644 index 0000000..4e18001 --- /dev/null +++ b/assets/css/styles.css @@ -0,0 +1,2 @@ +/*! based on uswds v3.11.0 */ +@keyframes slidein-left{0%{transform:translateX(15rem)}to{transform:translateX(0)}}html{line-height:1.15;-webkit-text-size-adjust:100%;box-sizing:border-box;font-feature-settings:"kern"1;font-kerning:normal;font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:100%}body{margin:0;color:#1b1b1b;background-color:#fff;overflow-x:hidden}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;color:inherit}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}.usa-checkbox__label,.usa-combo-box__input,.usa-combo-box__list,.usa-fieldset,.usa-hint,.usa-input,.usa-input-group,.usa-radio__label,.usa-range,.usa-select,.usa-textarea{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.3}.usa-range,.usa-textarea{border-radius:0;color:#1b1b1b;display:block;margin-top:.5rem;max-width:30rem;padding:.5rem}.usa-textarea{border-width:1px;border-color:#565c65;border-style:solid;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%}.usa-range{height:2.5rem}.usa-input-group{-webkit-appearance:none;-moz-appearance:none;appearance:none}.usa-combo-box__input,.usa-input,.usa-input-group,.usa-select{border-width:1px;border-color:#565c65;border-style:solid;border-radius:0;color:#1b1b1b;display:block;height:2.5rem;margin-top:.5rem;max-width:30rem;padding:.5rem;width:100%}.usa-input{-webkit-appearance:none;-moz-appearance:none;appearance:none}@font-face{font-family:"Roboto Mono Web";font-style:normal;font-weight:300;font-display:fallback;src:url(../fonts/roboto-mono/roboto-mono-v5-latin-300.woff2)format("woff2")}@font-face{font-family:"Roboto Mono Web";font-style:normal;font-weight:400;font-display:fallback;src:url(../fonts/roboto-mono/roboto-mono-v5-latin-regular.woff2)format("woff2")}@font-face{font-family:"Roboto Mono Web";font-style:normal;font-weight:700;font-display:fallback;src:url(../fonts/roboto-mono/roboto-mono-v5-latin-700.woff2)format("woff2")}@font-face{font-family:"Roboto Mono Web";font-style:italic;font-weight:300;font-display:fallback;src:url(../fonts/roboto-mono/roboto-mono-v5-latin-300italic.woff2)format("woff2")}@font-face{font-family:"Roboto Mono Web";font-style:italic;font-weight:400;font-display:fallback;src:url(../fonts/roboto-mono/roboto-mono-v5-latin-italic.woff2)format("woff2")}@font-face{font-family:"Roboto Mono Web";font-style:italic;font-weight:700;font-display:fallback;src:url(../fonts/roboto-mono/roboto-mono-v5-latin-700italic.woff2)format("woff2")}@font-face{font-family:"Source Sans Pro Web";font-style:normal;font-weight:300;font-display:fallback;src:url(../fonts/source-sans-pro/sourcesanspro-light-webfont.woff2)format("woff2")}@font-face{font-family:"Source Sans Pro Web";font-style:normal;font-weight:400;font-display:fallback;src:url(../fonts/source-sans-pro/sourcesanspro-regular-webfont.woff2)format("woff2")}@font-face{font-family:"Source Sans Pro Web";font-style:normal;font-weight:700;font-display:fallback;src:url(../fonts/source-sans-pro/sourcesanspro-bold-webfont.woff2)format("woff2")}@font-face{font-family:"Source Sans Pro Web";font-style:italic;font-weight:300;font-display:fallback;src:url(../fonts/source-sans-pro/sourcesanspro-lightitalic-webfont.woff2)format("woff2")}@font-face{font-family:"Source Sans Pro Web";font-style:italic;font-weight:400;font-display:fallback;src:url(../fonts/source-sans-pro/sourcesanspro-italic-webfont.woff2)format("woff2")}@font-face{font-family:"Source Sans Pro Web";font-style:italic;font-weight:700;font-display:fallback;src:url(../fonts/source-sans-pro/sourcesanspro-bolditalic-webfont.woff2)format("woff2")}@font-face{font-family:"Merriweather Web";font-style:normal;font-weight:300;font-display:fallback;src:url(../fonts/merriweather/Latin-Merriweather-Light.woff2)format("woff2")}@font-face{font-family:"Merriweather Web";font-style:normal;font-weight:400;font-display:fallback;src:url(../fonts/merriweather/Latin-Merriweather-Regular.woff2)format("woff2")}@font-face{font-family:"Merriweather Web";font-style:normal;font-weight:700;font-display:fallback;src:url(../fonts/merriweather/Latin-Merriweather-Bold.woff2)format("woff2")}@font-face{font-family:"Merriweather Web";font-style:italic;font-weight:300;font-display:fallback;src:url(../fonts/merriweather/Latin-Merriweather-LightItalic.woff2)format("woff2")}@font-face{font-family:"Merriweather Web";font-style:italic;font-weight:400;font-display:fallback;src:url(../fonts/merriweather/Latin-Merriweather-Italic.woff2)format("woff2")}@font-face{font-family:"Merriweather Web";font-style:italic;font-weight:700;font-display:fallback;src:url(../fonts/merriweather/Latin-Merriweather-BoldItalic.woff2)format("woff2")}button:not([disabled]):focus,input:not([disabled]):focus,select:not([disabled]):focus,textarea:not([disabled]):focus{outline:.25rem solid #2491ff;outline-offset:0}[contentEditable=true]:focus,[href]:focus,[tabindex]:focus,iframe:focus{outline:.25rem solid #2491ff;outline-offset:0}img{max-width:100%}.usa-media-link{display:inline-block;line-height:0}*,::after,::before{box-sizing:inherit}address,cite,dfn,var{font-style:normal}.usa-focus{outline:.25rem solid #2491ff;outline-offset:0}.usa-sr-only{position:absolute;left:-999em;right:auto}.usa-content ol:not(.usa-accordion):not(.usa-accordion--bordered),.usa-content p,.usa-content ul:not(.usa-accordion):not(.usa-accordion--bordered){max-width:68ex}.usa-dark-background{background-color:#3d4551}.usa-dark-background p,.usa-dark-background span{color:#fff}.usa-dark-background a,.usa-dark-background a:visited{color:#dfe1e2}.usa-dark-background a:active,.usa-dark-background a:hover{color:#f0f0f0}.usa-display{margin-top:0;clear:both;font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.34rem;line-height:1.2;font-weight:700;margin-bottom:0}*+.usa-display{margin-top:1.5em}.usa-display+*{margin-top:1em}@media all and (min-width:30em){.usa-display{margin-bottom:0;margin-top:0;clear:both;font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.44rem;line-height:1.2;font-weight:700}*+.usa-display{margin-top:1.5em}.usa-display+*{margin-top:1em}}@media all and (min-width:40em){.usa-display{margin-bottom:0;margin-top:0;clear:both;font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.93rem;line-height:1.2;font-weight:700}*+.usa-display{margin-top:1.5em}.usa-display+*{margin-top:1em}}.usa-intro{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.34rem;line-height:1.8;font-weight:400;max-width:88ex}.usa-icon{display:inline-block;fill:currentColor;height:1em;position:relative;width:1em}.usa-icon--size-3{height:1.5rem;width:1.5rem}.usa-icon--size-4{height:2rem;width:2rem}.usa-icon--size-5{height:2.5rem;width:2.5rem}.usa-icon--size-6{height:3rem;width:3rem}.usa-icon--size-7{height:3.5rem;width:3.5rem}.usa-icon--size-8{height:4rem;width:4rem}.usa-icon--size-9{height:4.5rem;width:4.5rem}.usa-footer__return-to-top a,.usa-footer__secondary-link a,.usa-link{color:#005ea2;text-decoration:underline}.usa-link:visited{color:#54278f}.usa-link:hover{color:#1a4480}.usa-link:active{color:#162e51}.usa-link:focus{outline:.25rem solid #2491ff;outline-offset:0}.usa-link--external,.usa-link--external.usa-link--alt{display:inline}.usa-link--external::before{position:absolute;left:-999em;right:auto;content:"External."}.usa-link--external.usa-link--alt[target=_blank]::before,.usa-link--external[target=_blank]::before{position:absolute;left:-999em;right:auto;content:"External, opens in a new tab."}.usa-link--external::after{background-image:url(../img/usa-icons/launch.svg);background-repeat:no-repeat;background-position:center center;background-size:1.75ex 1.75ex;height:1.75ex;width:1.75ex;content:"";display:inline;margin-top:.7ex;margin-left:2px;padding-left:1.75ex;vertical-align:middle}@supports ((-webkit-mask:url()) or (mask:url())){.usa-link--external::after{background:0 0;background-color:currentColor;-webkit-mask-image:url(../img/usa-icons/launch.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/launch.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1.75ex 1.75ex;mask-size:1.75ex 1.75ex}}.usa-link--external.usa-link--alt::before{position:absolute;left:-999em;right:auto;content:"External."}.usa-link--external.usa-link--alt::after{background-image:url(../img/usa-icons-bg/launch--white.svg);background-repeat:no-repeat;background-position:center center;background-size:1.75ex 1.75ex;height:1.75ex;width:1.75ex;content:"";display:inline;margin-top:.7ex;margin-left:2px;padding-left:1.75ex;vertical-align:middle}@supports ((-webkit-mask:url()) or (mask:url())){.usa-link--external.usa-link--alt::after{background:0 0;background-color:currentColor;-webkit-mask-image:url(../img/usa-icons/launch.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/launch.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1.75ex 1.75ex;mask-size:1.75ex 1.75ex}}.usa-list{margin-bottom:1em;margin-top:1em;line-height:1.5;padding-left:3ch}.usa-list li:last-child,.usa-list:last-child,.usa-prose>ol li:last-child,.usa-prose>ol:last-child,.usa-prose>ul li:last-child,.usa-prose>ul:last-child{margin-bottom:0}.usa-list ol,.usa-list ul,.usa-prose>ol ol,.usa-prose>ol ul,.usa-prose>ul ol,.usa-prose>ul ul{margin-top:.25em}.usa-list li,.usa-prose>ol li,.usa-prose>ul li{margin-bottom:.25em;max-width:68ex}.usa-list--unstyled,.usa-prose .usa-list--unstyled{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0}.usa-accordion>li,.usa-breadcrumb__list>li,.usa-collection__item>li,.usa-collection__meta>li,.usa-icon-list>li,.usa-in-page-nav__list>li,.usa-language__submenu-list>li,.usa-language__submenu>li,.usa-list--unstyled>li,.usa-paragraph,.usa-prose .usa-collection__item>li,.usa-prose .usa-icon-list>li,.usa-prose .usa-list--unstyled>li{margin-bottom:0;max-width:unset}.usa-paragraph{line-height:1.5;max-width:68ex;margin-top:0}*+.usa-paragraph,.usa-paragraph+*{margin-top:1em}.usa-prose,.usa-prose>table,.usa-prose>table caption,.usa-table caption{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif}.usa-prose>ol,.usa-prose>ul{margin-bottom:1em;margin-top:1em;line-height:1.5;padding-left:3ch}.usa-prose>table,.usa-prose>table caption,.usa-table caption{text-align:left}.usa-prose,.usa-prose>table{font-size:1.06rem;line-height:1.5}.usa-prose>table{border-collapse:collapse;border-spacing:0;color:#1b1b1b;margin:1.25rem 0}.usa-prose>table tfoot td,.usa-prose>table th,.usa-prose>table thead td{background-clip:padding-box;line-height:1.3;background-color:#dfe1e2;color:#1b1b1b}.usa-prose>table td,.usa-prose>table th{border:1px solid #1b1b1b;padding:.5rem 1rem}.usa-prose>table td{background-color:#fff;font-weight:400}.usa-prose>table caption,.usa-table caption{font-size:1rem;font-weight:700;margin-bottom:.75rem}.usa-prose>table th[data-sortable]{padding-right:2.5rem;position:relative}.usa-prose>table th[data-sortable]::after{border-bottom-color:transparent;border-bottom-style:solid;border-bottom-width:1px;bottom:0;content:"";height:0;left:0;position:absolute;width:100%}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button{background-color:transparent;border:0;border-radius:0;box-shadow:none;font-weight:400;justify-content:normal;padding:0;width:auto;height:2rem;width:2rem;background-position:center center;background-size:1.5rem;color:#71767a;cursor:pointer;display:inline-block;margin:0;position:absolute;right:.25rem;text-align:center;text-decoration:none;top:50%;transform:translate(0,-50%)}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:visited,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:visited{color:#54278f}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:hover{color:#1a4480}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:active,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:active{color:#162e51}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:focus,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:focus{outline:.25rem solid #2491ff;outline-offset:0}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button.usa-button--active,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button.usa-button--disabled,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button.usa-button--hover,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:active,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled.usa-button--active,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled.usa-button--hover,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled.usa-focus,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled:active,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled:focus,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:hover,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true].usa-button--active,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true].usa-button--hover,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true].usa-focus,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:active,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:focus,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button.usa-button--active,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button.usa-button--disabled,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button.usa-button--hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:active,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled.usa-button--active,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled.usa-button--hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled.usa-focus,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled:active,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled:focus,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true].usa-button--active,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true].usa-button--hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true].usa-focus,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:active,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:focus,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:hover{background-color:transparent;box-shadow:none;text-decoration:underline}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button.usa-button--hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button.usa-button--hover{color:#1a4480}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button.usa-button--active,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button.usa-button--active{color:#162e51}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:focus,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:focus,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:hover{color:#757575}@media (forced-colors:active){.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:focus,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:focus,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:hover{color:GrayText}}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button .usa-icon,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button .usa-icon{height:1.5rem;width:1.5rem;vertical-align:middle}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button .usa-icon>g,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button .usa-icon>g,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button .usa-icon>g,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button .usa-icon>g{fill:transparent}.usa-prose>.usa-table--borderless th[data-sortable]:not([aria-sort]) .usa-table__header__button .usa-icon>g.unsorted,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button .usa-icon>g.unsorted,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button .usa-icon>g.unsorted,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button .usa-icon>g.unsorted,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button .usa-icon>g.unsorted{fill:#1b1b1b}.usa-prose>.usa-table--borderless th[data-sortable]:not([aria-sort]) .usa-table__header__button:hover .usa-icon>g.unsorted,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:hover .usa-icon>g.unsorted,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:hover .usa-icon>g.unsorted,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:hover .usa-icon>g.unsorted,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:hover .usa-icon>g.unsorted,.usa-table--borderless th[data-sortable]:not([aria-sort]) .usa-table__header__button:hover .usa-icon>g.unsorted{fill:#000}.usa-prose>table th[data-sortable][aria-sort=ascending],.usa-prose>table th[data-sortable][aria-sort=descending]{background-color:#97d4ea}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button{background-color:transparent;border:0;border-radius:0;box-shadow:none;font-weight:400;justify-content:normal;padding:0;width:auto;height:2rem;width:2rem;background-position:center center;background-size:1.5rem;color:#71767a;cursor:pointer;display:inline-block;margin:0;position:absolute;right:.25rem;text-align:center;text-decoration:none;top:50%;transform:translate(0,-50%)}.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:visited{color:#54278f}.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:hover{color:#1a4480}.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:active{color:#162e51}.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:focus{outline:.25rem solid #2491ff;outline-offset:0}.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button.usa-button--active,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button.usa-button--disabled,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button.usa-button--hover,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:active,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled.usa-button--active,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled.usa-button--hover,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled.usa-focus,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled:active,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled:focus,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:hover,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true].usa-button--active,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true].usa-button--hover,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true].usa-focus,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:active,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:focus,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:hover{background-color:transparent;box-shadow:none;text-decoration:underline}.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button.usa-button--hover{color:#1a4480}.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button.usa-button--active{color:#162e51}.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:focus,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:hover{color:#757575}@media (forced-colors:active){.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:focus,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:hover{color:GrayText}}.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button .usa-icon{height:1.5rem;width:1.5rem;vertical-align:middle}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button .usa-icon>g,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button .usa-icon>g,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button .usa-icon>g,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button .usa-icon>g{fill:transparent}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button .usa-icon>g.ascending,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button .usa-icon>g.descending,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button .usa-icon>g.ascending,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button .usa-icon>g.descending{fill:#1b1b1b}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:visited{color:#54278f}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:hover{color:#1a4480}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:active{color:#162e51}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:focus{outline:.25rem solid #2491ff;outline-offset:0}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button.usa-button--active,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button.usa-button--disabled,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button.usa-button--hover,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:active,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled.usa-button--active,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled.usa-button--hover,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled.usa-focus,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled:active,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled:focus,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:hover,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true].usa-button--active,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true].usa-button--hover,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true].usa-focus,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:active,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:focus,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:hover{background-color:transparent;box-shadow:none;text-decoration:underline}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button.usa-button--hover{color:#1a4480}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button.usa-button--active{color:#162e51}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:focus,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:hover{color:#757575}@media (forced-colors:active){.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:focus,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:hover{color:GrayText}}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button .usa-icon{height:1.5rem;width:1.5rem;vertical-align:middle}.usa-prose>table thead th[aria-sort]{background-color:#97d4ea;color:#1b1b1b}.usa-prose>table td[data-sort-active],.usa-prose>table th[data-sort-active]{background-color:#e1f3f8;color:#1b1b1b}.usa-prose>.usa-table--borderless tfoot td,.usa-prose>.usa-table--borderless th,.usa-prose>.usa-table--borderless thead td{background-color:#fff}.usa-prose>.usa-table--borderless th{border-top:0;color:#1b1b1b;border-left:0;border-right:0}.usa-prose>.usa-table--borderless th[aria-sort]{color:#1b1b1b}.usa-prose>.usa-table--borderless td{border-left:0;border-right:0}.usa-prose>.usa-table--compact td,.usa-prose>.usa-table--compact th{padding:.25rem .75rem}.usa-prose>.usa-table--striped tbody tr:nth-child(odd) td,.usa-table--striped tbody tr:nth-child(odd) td{background-color:#f0f0f0;color:#1b1b1b}.usa-prose>.usa-table--striped tbody tr:nth-child(odd) td[data-sort-active]{background-color:#c3ebfa;color:#1b1b1b}@media all and (max-width:29.99em){.usa-prose>.usa-table--stacked thead,.usa-prose>.usa-table--stacked-header thead{display:none}.usa-prose>.usa-table--stacked th{background-color:#fff}.usa-prose>.usa-table--stacked td,.usa-prose>.usa-table--stacked th{border-bottom-width:0;display:block;width:100%}.usa-prose>.usa-table--stacked tr,.usa-prose>.usa-table--stacked-header tr{border-bottom:.25rem solid #1b1b1b;border-top-width:0;width:100%}.usa-prose>.usa-table--stacked tr td:first-child,.usa-prose>.usa-table--stacked tr th:first-child{border-top-width:0}.usa-prose>.usa-table--stacked tr:nth-child(odd) td,.usa-prose>.usa-table--stacked tr:nth-child(odd) th{background-color:inherit}.usa-prose>.usa-table--stacked tr:first-child td:first-child,.usa-prose>.usa-table--stacked tr:first-child th:first-child,.usa-prose>.usa-table--stacked-header tr:first-child td:first-child,.usa-prose>.usa-table--stacked-header tr:first-child th:first-child{border-top:.25rem solid #1b1b1b}.usa-prose>.usa-table--stacked td[data-label],.usa-prose>.usa-table--stacked th[data-label],.usa-prose>.usa-table--stacked-header td[data-label],.usa-prose>.usa-table--stacked-header th[data-label]{padding-bottom:.75rem}.usa-prose>.usa-table--stacked td[data-label]:before,.usa-prose>.usa-table--stacked th[data-label]:before{content:attr(data-label);display:block;font-weight:700;margin:-.5rem -1rem 0;padding:.75rem 1rem .25rem}.usa-prose>.usa-table--stacked-header th{background-color:#fff}.usa-prose>.usa-table--stacked-header td,.usa-prose>.usa-table--stacked-header th{border-bottom-width:0;display:block;width:100%}.usa-prose>.usa-table--stacked-header tr td:first-child,.usa-prose>.usa-table--stacked-header tr th:first-child{border-top-width:0}.usa-prose>.usa-table--stacked-header tr:nth-child(odd) td,.usa-prose>.usa-table--stacked-header tr:nth-child(odd) th{background-color:inherit}.usa-prose>.usa-table--stacked-header td[data-label]:before,.usa-prose>.usa-table--stacked-header th[data-label]:before{content:attr(data-label);display:block;font-weight:700;margin:-.5rem -1rem 0;padding:.75rem 1rem .25rem}.usa-prose>.usa-table--stacked-header tr td:first-child,.usa-prose>.usa-table--stacked-header tr th:first-child{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.1;background-color:#dfe1e2;color:#1b1b1b;font-weight:700;padding:.75rem 1rem}.usa-prose>.usa-table--stacked-header tr td:first-child:before,.usa-prose>.usa-table--stacked-header tr th:first-child:before{display:none}}.usa-prose>.width-mobile .usa-table--stacked thead,.usa-prose>.width-mobile .usa-table--stacked-header thead{display:none}.usa-prose>.width-mobile .usa-table--stacked th{background-color:#fff;border-bottom-width:0;display:block;width:100%}.usa-prose>.width-mobile .usa-table--stacked td{border-bottom-width:0;display:block;width:100%}.usa-prose>.width-mobile .usa-table--stacked tr,.usa-prose>.width-mobile .usa-table--stacked-header tr,.width-mobile .usa-table--stacked tr,.width-mobile .usa-table--stacked-header tr{border-bottom:.25rem solid #1b1b1b;border-top-width:0;width:100%}.usa-prose>.width-mobile .usa-table--stacked tr td:first-child,.usa-prose>.width-mobile .usa-table--stacked tr th:first-child{border-top-width:0}.usa-prose>.width-mobile .usa-table--stacked tr:nth-child(odd) td,.usa-prose>.width-mobile .usa-table--stacked tr:nth-child(odd) th{background-color:inherit}.usa-prose>.width-mobile .usa-table--stacked tr:first-child td:first-child,.usa-prose>.width-mobile .usa-table--stacked tr:first-child th:first-child,.usa-prose>.width-mobile .usa-table--stacked-header tr:first-child td:first-child,.usa-prose>.width-mobile .usa-table--stacked-header tr:first-child th:first-child{border-top:.25rem solid #1b1b1b}.usa-prose>.width-mobile .usa-table--stacked td[data-label],.usa-prose>.width-mobile .usa-table--stacked th[data-label],.usa-prose>.width-mobile .usa-table--stacked-header td[data-label],.usa-prose>.width-mobile .usa-table--stacked-header th[data-label]{padding-bottom:.75rem}.usa-prose>.width-mobile .usa-table--stacked td[data-label]:before,.usa-prose>.width-mobile .usa-table--stacked th[data-label]:before{content:attr(data-label);display:block;font-weight:700;margin:-.5rem -1rem 0;padding:.75rem 1rem .25rem}.usa-prose>.width-mobile .usa-table--stacked-header th{background-color:#fff;border-bottom-width:0;display:block;width:100%}.usa-prose>.width-mobile .usa-table--stacked-header td{border-bottom-width:0;display:block;width:100%}.usa-prose>.width-mobile .usa-table--stacked-header tr td:first-child,.usa-prose>.width-mobile .usa-table--stacked-header tr th:first-child{border-top-width:0}.usa-prose>.width-mobile .usa-table--stacked-header tr:nth-child(odd) td,.usa-prose>.width-mobile .usa-table--stacked-header tr:nth-child(odd) th{background-color:inherit}.usa-prose>.width-mobile .usa-table--stacked-header td[data-label]:before,.usa-prose>.width-mobile .usa-table--stacked-header th[data-label]:before{content:attr(data-label);display:block;font-weight:700;margin:-.5rem -1rem 0;padding:.75rem 1rem .25rem}.usa-prose>.width-mobile .usa-table--stacked-header tr td:first-child,.usa-prose>.width-mobile .usa-table--stacked-header tr th:first-child{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.1;background-color:#dfe1e2;color:#1b1b1b;font-weight:700;padding:.75rem 1rem}.usa-prose>.width-mobile .usa-table--stacked-header tr td:first-child:before,.usa-prose>.width-mobile .usa-table--stacked-header tr th:first-child:before{display:none}.usa-prose>.usa-table-container--scrollable{margin:1.25rem 0;overflow-y:hidden}.usa-prose>.usa-table-container--scrollable .usa-table{margin:0}.usa-prose>.usa-table-container--scrollable td{white-space:nowrap}.usa-prose>p{line-height:1.5;max-width:68ex}.usa-prose>h1,.usa-prose>h2,.usa-prose>h3,.usa-prose>h4,.usa-prose>h5,.usa-prose>h6{margin-bottom:0;margin-top:0;clear:both}.usa-prose>*+*{margin-top:1em;margin-bottom:0}.usa-prose>*+h1,.usa-prose>*+h2,.usa-prose>*+h3,.usa-prose>*+h4,.usa-prose>*+h5,.usa-prose>*+h6{margin-top:1.5em}.usa-prose>h1,.usa-prose>h2,.usa-prose>h3,.usa-prose>h4,.usa-prose>h5{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.44rem;line-height:1.2;font-weight:700}.usa-prose>h2,.usa-prose>h3,.usa-prose>h4,.usa-prose>h5{font-size:1.95rem}.usa-prose>h3,.usa-prose>h4,.usa-prose>h5{font-size:1.34rem}.usa-prose>h4,.usa-prose>h5{font-size:.98rem}.usa-prose>h5{font-size:.91rem}.usa-accordion,.usa-prose>h6{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif}.usa-prose>h6{font-size:.87rem;line-height:1.1;font-weight:400;letter-spacing:.025em;text-transform:uppercase}.usa-accordion{list-style-type:none;color:#1b1b1b;margin:0;padding:0;width:100%;font-size:1.06rem;line-height:1.5}.usa-accordion>ul li ul{list-style:disc}.usa-accordion>ul li ul>li>ul{list-style:circle}.usa-accordion>ul li ul>li>ul>li>ul{list-style:square}.usa-accordion+.usa-accordion,.usa-accordion+.usa-accordion--bordered{margin-top:.5rem}.usa-accordion--bordered .usa-accordion__content{border-bottom:.25rem solid #f0f0f0;border-left:.25rem solid #f0f0f0;border-right:.25rem solid #f0f0f0;padding-bottom:1rem}.usa-accordion--bordered .usa-accordion__heading{margin-bottom:0}.usa-accordion__heading,.usa-prose .usa-accordion__heading{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:.9;margin:0}.usa-accordion__heading:not(:first-child),.usa-prose .usa-accordion__heading:not(:first-child){margin-top:.5rem}.usa-accordion__content{color:#1b1b1b;background-color:#fff;margin-top:0;overflow:auto;padding:1rem 1.25rem calc(1rem - .25rem)}.usa-accordion__content>:first-child{margin-top:0}.usa-accordion__content>:last-child{margin-bottom:0}.usa-accordion__button{border:0;border-radius:0;box-shadow:none;justify-content:normal;text-align:left;padding:0;color:#1b1b1b;background-color:#f0f0f0;background-image:url(../img/usa-icons/remove.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat;background-position:right 1.25rem center;background-size:1.5rem;cursor:pointer;display:inline-block;font-weight:700;margin:0;padding:1rem 3.5rem 1rem 1.25rem;text-decoration:none;width:100%}.usa-accordion__button:visited{color:#54278f}.usa-accordion__button:active{color:#162e51}.usa-accordion__button:focus{outline:.25rem solid #2491ff;outline-offset:0}.usa-accordion__button.usa-button--active,.usa-accordion__button.usa-button--disabled,.usa-accordion__button.usa-button--hover,.usa-accordion__button:active,.usa-accordion__button:disabled,.usa-accordion__button:disabled.usa-button--active,.usa-accordion__button:disabled.usa-button--hover,.usa-accordion__button:disabled.usa-focus,.usa-accordion__button:disabled:active,.usa-accordion__button:disabled:focus,.usa-accordion__button:disabled:hover,.usa-accordion__button:hover,.usa-accordion__button[aria-disabled=true],.usa-accordion__button[aria-disabled=true].usa-button--active,.usa-accordion__button[aria-disabled=true].usa-button--hover,.usa-accordion__button[aria-disabled=true].usa-focus,.usa-accordion__button[aria-disabled=true]:active,.usa-accordion__button[aria-disabled=true]:focus,.usa-accordion__button[aria-disabled=true]:hover{background-color:transparent;box-shadow:none;text-decoration:underline}.usa-accordion__button.usa-button--hover{color:#1a4480}.usa-accordion__button.usa-button--active{color:#162e51}.usa-accordion__button:disabled,.usa-accordion__button:disabled:hover,.usa-accordion__button[aria-disabled=true],.usa-accordion__button[aria-disabled=true]:focus,.usa-accordion__button[aria-disabled=true]:hover{color:#757575}@media (forced-colors:active){.usa-accordion__button:disabled,.usa-accordion__button:disabled:hover,.usa-accordion__button[aria-disabled=true],.usa-accordion__button[aria-disabled=true]:focus,.usa-accordion__button[aria-disabled=true]:hover{color:GrayText}}.usa-accordion__button:hover{color:#1b1b1b;background-color:#dfe1e2;background-image:url(../img/usa-icons/remove.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat;text-decoration:none}@media (forced-colors:active){.usa-accordion__button{border:2px solid transparent;position:relative}.usa-accordion__button::before{background-image:url(../img/usa-icons/remove.svg);background-repeat:no-repeat;background-position:center center;background-size:1.5rem 1.5rem;display:inline-block;height:1.5rem;width:1.5rem;height:100%;position:absolute;right:1.25rem;top:0;content:""}@supports ((-webkit-mask:url()) or (mask:url())){.usa-accordion__button::before{background:0 0;background-color:ButtonText;-webkit-mask-image:url(../img/usa-icons/remove.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/remove.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1.5rem 1.5rem;mask-size:1.5rem 1.5rem}}}.usa-accordion__button[aria-expanded=false]{background-size:1.5rem}.usa-accordion__button[aria-expanded=false],.usa-accordion__button[aria-expanded=false]:hover{background-image:url(../img/usa-icons/add.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat}@media (forced-colors:active){.usa-accordion__button[aria-expanded=false]::before{background-image:url(../img/usa-icons/add.svg);background-repeat:no-repeat;background-position:center center;background-size:1.5rem 1.5rem;display:inline-block;height:1.5rem;width:1.5rem;height:100%;position:absolute;right:1.25rem;top:0}@supports ((-webkit-mask:url()) or (mask:url())){.usa-accordion__button[aria-expanded=false]::before{background:0 0;background-color:ButtonText;-webkit-mask-image:url(../img/usa-icons/add.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/add.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1.5rem 1.5rem;mask-size:1.5rem 1.5rem}}}.usa-alert{background-color:#f0f0f0;border-left:.5rem solid #a9aeb1;color:#1b1b1b}.usa-alert .usa-alert__body{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.5;padding-bottom:1rem;padding-top:1rem;position:relative}.usa-alert .usa-alert__text{margin-bottom:0;margin-top:0}.usa-alert .usa-alert__text:only-child{padding-bottom:0;padding-top:0}.usa-alert .usa-alert__heading{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.46rem;line-height:.9;margin-top:0;margin-bottom:.5rem}.usa-alert .usa-alert__body>.usa-list,.usa-alert>.usa-list{padding-left:2ch}.usa-alert .usa-alert__body>.usa-list:last-child,.usa-alert>.usa-list:last-child{margin-bottom:0}.usa-alert .usa-alert__body{padding-left:1.25rem;padding-right:1.25rem}.usa-alert .usa-alert__body::before{left:1.0833333333rem}*+.usa-alert{margin-top:1rem}.usa-alert--success{background-color:#ecf3ec;border-left-color:#00a91c}.usa-alert--success .usa-alert__body{color:#1b1b1b;background-color:#ecf3ec;display:flex;flex-direction:column;justify-content:center;min-height:3.3333333333rem}.usa-alert--success .usa-alert__body::before{background-image:url(../img/usa-icons/check_circle.svg);background-repeat:no-repeat;background-position:center center;background-size:2rem 2rem;height:2rem;width:2rem;content:"";display:block;position:absolute;top:.6666666667rem}@supports ((-webkit-mask:url()) or (mask:url())){.usa-alert--success .usa-alert__body::before{background:0 0;background-color:#1b1b1b;-webkit-mask-image:url(../img/usa-icons/check_circle.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/check_circle.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:2rem 2rem;mask-size:2rem 2rem}}.usa-alert--success .usa-alert__body>*{margin-left:2.5rem}.usa-alert--error .usa-alert__body .usa-link,.usa-alert--info .usa-alert__body .usa-link,.usa-alert--success .usa-alert__body .usa-link,.usa-alert--warning .usa-alert__body .usa-link{color:#005ea2}.usa-alert--success .usa-alert__body .usa-link:visited{color:#54278f}.usa-alert--success .usa-alert__body .usa-link:active,.usa-alert--success .usa-alert__body .usa-link:hover{color:#1a4480}.usa-alert--warning{background-color:#faf3d1;border-left-color:#ffbe2e}.usa-alert--warning .usa-alert__body{color:#1b1b1b;background-color:#faf3d1;display:flex;flex-direction:column;justify-content:center;min-height:3.3333333333rem}.usa-alert--warning .usa-alert__body::before{background-image:url(../img/usa-icons/warning.svg);background-repeat:no-repeat;background-position:center center;background-size:2rem 2rem;height:2rem;width:2rem;content:"";display:block;position:absolute;top:.6666666667rem}@supports ((-webkit-mask:url()) or (mask:url())){.usa-alert--warning .usa-alert__body::before{background:0 0;background-color:#1b1b1b;-webkit-mask-image:url(../img/usa-icons/warning.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/warning.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:2rem 2rem;mask-size:2rem 2rem}}.usa-alert--warning .usa-alert__body>*{margin-left:2.5rem}.usa-alert--warning .usa-alert__body .usa-link:visited{color:#54278f}.usa-alert--warning .usa-alert__body .usa-link:active,.usa-alert--warning .usa-alert__body .usa-link:hover{color:#1a4480}.usa-alert--error{background-color:#f4e3db;border-left-color:#d54309}.usa-alert--error .usa-alert__body{color:#1b1b1b;background-color:#f4e3db;display:flex;flex-direction:column;justify-content:center;min-height:3.3333333333rem}.usa-alert--error .usa-alert__body::before{background-image:url(../img/usa-icons/error.svg);background-repeat:no-repeat;background-position:center center;background-size:2rem 2rem;height:2rem;width:2rem;content:"";display:block;position:absolute;top:.6666666667rem}@supports ((-webkit-mask:url()) or (mask:url())){.usa-alert--error .usa-alert__body::before{background:0 0;background-color:#1b1b1b;-webkit-mask-image:url(../img/usa-icons/error.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/error.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:2rem 2rem;mask-size:2rem 2rem}}.usa-alert--error .usa-alert__body>*{margin-left:2.5rem}.usa-alert--error .usa-alert__body .usa-link:visited{color:#54278f}.usa-alert--error .usa-alert__body .usa-link:active,.usa-alert--error .usa-alert__body .usa-link:hover{color:#1a4480}.usa-alert--info{background-color:#e7f6f8;border-left-color:#00bde3}.usa-alert--info .usa-alert__body{color:#1b1b1b;background-color:#e7f6f8;display:flex;flex-direction:column;justify-content:center;min-height:3.3333333333rem}.usa-alert--info .usa-alert__body::before{background-image:url(../img/usa-icons/info.svg);background-repeat:no-repeat;background-position:center center;background-size:2rem 2rem;height:2rem;width:2rem;content:"";display:block;position:absolute;top:.6666666667rem}@supports ((-webkit-mask:url()) or (mask:url())){.usa-alert--info .usa-alert__body::before{background:0 0;background-color:#1b1b1b;-webkit-mask-image:url(../img/usa-icons/info.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/info.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:2rem 2rem;mask-size:2rem 2rem}}.usa-alert--info .usa-alert__body>*{margin-left:2.5rem}.usa-alert--info .usa-alert__body .usa-link:visited{color:#54278f}.usa-alert--info .usa-alert__body .usa-link:active,.usa-alert--info .usa-alert__body .usa-link:hover{color:#1a4480}.usa-alert--emergency{background-color:#9c3d10;border-left-color:#9c3d10}.usa-alert--emergency .usa-alert__body{color:#fff;background-color:#9c3d10;display:flex;flex-direction:column;justify-content:center;min-height:3.3333333333rem}.usa-alert--emergency .usa-alert__body::before{background-image:url(../img/usa-icons-bg/error--white.svg);background-repeat:no-repeat;background-position:center center;background-size:2rem 2rem;height:2rem;width:2rem;content:"";display:block;position:absolute;top:.6666666667rem}@supports ((-webkit-mask:url()) or (mask:url())){.usa-alert--emergency .usa-alert__body::before{background:0 0;background-color:#fff;-webkit-mask-image:url(../img/usa-icons/error.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/error.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:2rem 2rem;mask-size:2rem 2rem}}.usa-alert--emergency .usa-alert__body>*{margin-left:2.5rem}.usa-alert--emergency .usa-alert__body .usa-link,.usa-alert--emergency .usa-alert__body .usa-link:visited{color:#dfe1e2}.usa-alert--emergency .usa-alert__body .usa-link:active,.usa-alert--emergency .usa-alert__body .usa-link:hover{color:#f0f0f0}.usa-alert--slim .usa-alert__body{padding-bottom:.5rem;padding-top:.5rem;min-height:0}.usa-alert--slim .usa-alert__body:before{height:1.5rem;top:.5rem;width:1.5rem}@supports ((-webkit-mask:url()) or (mask:url())){.usa-alert--slim .usa-alert__body:before{-webkit-mask-size:1.5rem;mask-size:1.5rem}}.usa-alert--slim .usa-alert__body>*{margin-left:2rem}.usa-alert--slim .usa-alert__body::before{left:1.125rem}.usa-alert--no-icon .usa-alert__body{min-height:0}.usa-alert--no-icon .usa-alert__body:before{display:none}.usa-alert--no-icon .usa-alert__body>*{margin-left:0}.usa-alert--validation .usa-checklist{margin-top:1rem}.usa-banner{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.5;background-color:#f0f0f0}@media all and (min-width:40em){.usa-banner{font-size:.87rem;padding-bottom:0}}.usa-banner .usa-accordion{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.5}.usa-banner .grid-row{display:flex;flex-wrap:wrap}.usa-banner .grid-row.grid-gap-lg{margin-left:-.75rem;margin-right:-.75rem}.usa-banner .grid-row.grid-gap-lg>*{padding-left:.75rem;padding-right:.75rem}@media all and (min-width:40em){.usa-banner .grid-row .tablet\:grid-col-6{flex:0 1 auto;width:50%}}.usa-banner__content,.usa-banner__header,.usa-footer__contact-info a,.usa-footer__secondary-section a{color:#1b1b1b}.usa-banner__content{margin-left:auto;margin-right:auto;max-width:64rem;background-color:transparent;font-size:1rem;overflow:hidden;padding:.25rem 1rem 1rem .5rem;width:100%}@media all and (min-width:64em){.usa-banner__content{padding-left:2rem;padding-right:2rem}}@media all and (min-width:40em){.usa-banner__content{padding-bottom:1.5rem;padding-top:1.5rem}}.usa-banner__content p:first-child{margin:0}.usa-banner__guidance{display:flex;align-items:flex-start;max-width:64ex;padding-top:1rem}@media all and (min-width:40em){.usa-banner__guidance{padding-top:0}}.usa-banner__lock-image{height:1.5ex;width:1.21875ex}.usa-banner__lock-image path{fill:currentColor}@media (forced-colors:active){.usa-banner__lock-image path{fill:CanvasText}}.usa-banner__inner{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem;display:flex;flex-wrap:wrap;align-items:flex-start;padding-right:0}@media all and (min-width:64em){.usa-banner__inner{padding-left:2rem;padding-right:2rem}}@media all and (min-width:40em){.usa-banner__inner{align-items:center}}.usa-banner__header{padding-bottom:.5rem;padding-top:.5rem;font-size:.8rem;font-weight:400;min-height:3rem;position:relative}@media all and (min-width:40em){.usa-banner__header{padding-bottom:.25rem;padding-top:.25rem;min-height:0}}.usa-banner__header-text{margin-bottom:0;margin-top:0;font-size:.8rem;line-height:1.1}.usa-banner__header-action{color:#005ea2;line-height:1.1;margin-bottom:0;margin-top:2px;text-decoration:underline}.usa-banner__header-action::after{background-image:url(../img/usa-icons/expand_more.svg);background-repeat:no-repeat;background-position:center center;background-size:1rem 1rem;display:inline-block;height:1rem;width:1rem;content:"";vertical-align:middle;margin-left:auto}@supports ((-webkit-mask:url()) or (mask:url())){.usa-banner__header-action::after{background:0 0;background-color:#005ea2;-webkit-mask-image:url(../img/usa-icons/expand_more.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/expand_more.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1rem 1rem;mask-size:1rem 1rem}.usa-banner__header-action::after:hover{background-color:#1a4480}}.usa-banner__header-action:hover::after{content:"";background-color:#1a4480}.usa-banner__header-action:visited{color:#54278f}.usa-banner__header-action:active,.usa-banner__header-action:hover{color:#1a4480}@media all and (min-width:40em){.usa-banner__header-action{display:none}}@media (forced-colors:active){.usa-banner__header-action{color:LinkText}.usa-banner__header-action::after{background-color:ButtonText}}.usa-banner__header-flag{float:left;margin-right:.5rem;width:1rem}@media all and (min-width:40em){.usa-banner__header-flag{margin-right:.5rem;padding-top:0}}.usa-banner__header--expanded{padding-right:3.5rem}@media all and (min-width:40em){.usa-banner__header--expanded{background-color:transparent;display:block;font-size:.8rem;font-weight:400;min-height:0;padding-right:0}}.usa-banner__header--expanded .usa-banner__inner{margin-left:0}@media all and (min-width:40em){.usa-banner__header--expanded .usa-banner__inner{margin-left:auto}}.usa-banner__header--expanded .usa-banner__header-action{display:none}.usa-banner__button{background-color:transparent;border:0;border-radius:0;box-shadow:none;font-weight:400;justify-content:normal;text-align:left;margin:0;left:0;position:absolute;bottom:0;top:0;color:#005ea2;display:block;font-size:.8rem;height:auto;line-height:1.1;padding:0;text-decoration:none;width:auto}.usa-banner__button:focus{outline:.25rem solid #2491ff;outline-offset:0}.usa-banner__button.usa-button--active,.usa-banner__button.usa-button--disabled,.usa-banner__button.usa-button--hover,.usa-banner__button:active,.usa-banner__button:disabled,.usa-banner__button:disabled.usa-button--active,.usa-banner__button:disabled.usa-button--hover,.usa-banner__button:disabled.usa-focus,.usa-banner__button:disabled:active,.usa-banner__button:disabled:focus,.usa-banner__button:disabled:hover,.usa-banner__button:hover,.usa-banner__button[aria-disabled=true],.usa-banner__button[aria-disabled=true].usa-button--active,.usa-banner__button[aria-disabled=true].usa-button--hover,.usa-banner__button[aria-disabled=true].usa-focus,.usa-banner__button[aria-disabled=true]:active,.usa-banner__button[aria-disabled=true]:focus,.usa-banner__button[aria-disabled=true]:hover{background-color:transparent;box-shadow:none;text-decoration:underline}.usa-banner__button.usa-button--hover{color:#1a4480}.usa-banner__button.usa-button--active{color:#162e51}.usa-banner__button:disabled,.usa-banner__button:disabled:hover,.usa-banner__button[aria-disabled=true],.usa-banner__button[aria-disabled=true]:focus,.usa-banner__button[aria-disabled=true]:hover{color:#757575}@media (forced-colors:active){.usa-banner__button:disabled,.usa-banner__button:disabled:hover,.usa-banner__button[aria-disabled=true],.usa-banner__button[aria-disabled=true]:focus,.usa-banner__button[aria-disabled=true]:hover{color:GrayText}}.usa-banner__button:visited{color:#54278f}.usa-banner__button:active,.usa-banner__button:hover{color:#1a4480}@media all and (max-width:39.99em){.usa-banner__button{width:100%}.usa-banner__button:enabled:focus{outline-offset:-.25rem}}@media all and (min-width:40em){.usa-banner__button{color:#005ea2;bottom:auto;left:auto;right:auto;top:auto;display:inline;margin-left:.5rem;position:relative}.usa-banner__button::after{background-image:url(../img/usa-icons/expand_more.svg);background-repeat:no-repeat;background-position:center center;background-size:1rem 1rem;display:inline-block;height:1rem;width:1rem;content:"";vertical-align:middle;margin-left:2px}@supports ((-webkit-mask:url()) or (mask:url())){.usa-banner__button::after{background:0 0;background-color:#005ea2;-webkit-mask-image:url(../img/usa-icons/expand_more.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/expand_more.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1rem 1rem;mask-size:1rem 1rem}.usa-banner__button::after:hover{background-color:#1a4480}}.usa-banner__button:hover::after{content:"";background-color:#1a4480}.usa-banner__button:visited{color:#54278f}.usa-banner__button:active,.usa-banner__button:hover{color:#1a4480}.usa-banner__button::after,.usa-banner__button:hover::after{position:absolute}}@media (min-width:40em) and (forced-colors:active){.usa-banner__button::after,.usa-banner__button:hover::after{background-color:ButtonText}}@media all and (min-width:40em){.usa-banner__button:hover{text-decoration:none}}.usa-banner__button[aria-expanded=false],.usa-banner__button[aria-expanded=false]:hover,.usa-banner__button[aria-expanded=true],.usa-banner__button[aria-expanded=true]:hover{background-image:none}@media (forced-colors:active){.usa-banner__button[aria-expanded=false]::before,.usa-banner__button[aria-expanded=false]:hover::before,.usa-banner__button[aria-expanded=true]::before,.usa-banner__button[aria-expanded=true]:hover::before{content:none}}@media all and (max-width:39.99em){.usa-banner__button[aria-expanded=true]::after{background-image:url(../img/usa-icons/close.svg);background-repeat:no-repeat;background-position:center center;background-size:1.5rem 1.5rem;display:inline-block;height:3rem;width:3rem;content:"";vertical-align:middle;margin-left:0}@supports ((-webkit-mask:url()) or (mask:url())){.usa-banner__button[aria-expanded=true]::after{background:0 0;background-color:#005ea2;-webkit-mask-image:url(../img/usa-icons/close.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/close.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1.5rem 1.5rem;mask-size:1.5rem 1.5rem}}.usa-banner__button[aria-expanded=true]::before{bottom:0;top:0;position:absolute;right:0;background-color:#dfe1e2;content:"";display:block;height:3rem;width:3rem}.usa-banner__button[aria-expanded=true]::after{bottom:0;top:0;position:absolute;right:0}}@media all and (min-width:40em){.usa-banner__button[aria-expanded=true]{height:auto;padding:0;position:relative}.usa-banner__button[aria-expanded=true]::after{background-image:url(../img/usa-icons/expand_less.svg);background-repeat:no-repeat;background-position:center center;background-size:1rem 1rem;display:inline-block;height:1rem;width:1rem;content:"";vertical-align:middle;margin-left:2px}@supports ((-webkit-mask:url()) or (mask:url())){.usa-banner__button[aria-expanded=true]::after{background:0 0;background-color:#005ea2;-webkit-mask-image:url(../img/usa-icons/expand_less.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/expand_less.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1rem 1rem;mask-size:1rem 1rem}.usa-banner__button[aria-expanded=true]::after:hover{background-color:#1a4480}}.usa-banner__button[aria-expanded=true]:hover::after{content:"";background-color:#1a4480;position:absolute}.usa-banner__button[aria-expanded=true]::after{position:absolute}}@media (min-width:40em) and (forced-colors:active){.usa-banner__button[aria-expanded=true]::after,.usa-banner__button[aria-expanded=true]:hover::after{background-color:ButtonText}}.usa-banner__button-text{position:absolute;left:-999em;right:auto;text-decoration:underline}@media all and (min-width:40em){.usa-banner__button-text{position:static;display:inline}}@media (forced-colors:active){.usa-banner__button-text{color:LinkText}}.usa-banner__icon{width:2.5rem}.usa-js-loading .usa-banner__content{position:absolute;left:-999em;right:auto}.usa-breadcrumb{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.3;color:#1b1b1b;background-color:#fff;padding-left:0;padding-right:0}@media all and (min-width:30em){.usa-breadcrumb{padding-bottom:1rem;padding-top:1rem}.usa-breadcrumb:not(.usa-breadcrumb--wrap) .usa-breadcrumb__list{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}}.usa-breadcrumb__list{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;display:block;padding:.25rem;margin-left:-.25rem;margin-right:-.25rem}.usa-breadcrumb__list-item{position:absolute;left:-999em;right:auto;display:inline}@media all and (max-width:29.99em){.usa-breadcrumb__list-item{white-space:normal}.usa-breadcrumb__list-item:nth-last-child(2){position:static}.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link{padding-left:calc(2ex + 0px);text-indent:calc((2ex + 0px)*-1);display:inline-block;padding-bottom:1rem;padding-top:1rem}.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link::before{background-image:url(../img/usa-icons/arrow_back.svg);background-repeat:no-repeat;background-position:center center;background-size:2ex 2ex;display:inline-block;height:2ex;width:2ex;content:"";vertical-align:baseline}@supports ((-webkit-mask:url()) or (mask:url())){.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link::before{background:0 0;background-color:#71767a;-webkit-mask-image:url(../img/usa-icons/arrow_back.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/arrow_back.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:2ex 2ex;mask-size:2ex 2ex}}.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:before{bottom:-.2em;height:2ex;position:relative}.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:active,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:hover{text-decoration:none}.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link span{text-decoration:underline}.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link::before{margin-right:0}}@media all and (min-width:30em){.usa-breadcrumb__list-item{position:static}.usa-breadcrumb__list-item:not(:last-child)::after{background-image:url(../img/usa-icons/navigate_next.svg);background-repeat:no-repeat;background-position:center center;background-size:2ex 2ex;display:inline-block;width:2ex;content:"";vertical-align:baseline}@supports ((-webkit-mask:url()) or (mask:url())){.usa-breadcrumb__list-item:not(:last-child)::after{background:0 0;background-color:#71767a;-webkit-mask-image:url(../img/usa-icons/navigate_next.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/navigate_next.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:2ex 2ex;mask-size:2ex 2ex}}.usa-breadcrumb__list-item:not(:last-child)::after{bottom:-.2em;margin-left:0;margin-right:0;height:2ex;position:relative}}.usa-breadcrumb__link{color:#005ea2;display:inline;text-decoration:none}.usa-breadcrumb__link:visited{color:#54278f}.usa-breadcrumb__link:active,.usa-breadcrumb__link:hover{color:#1a4480}.usa-breadcrumb__link span{text-decoration:underline}@media all and (min-width:30em){.usa-breadcrumb--wrap{line-height:1.4}}.usa-breadcrumb--wrap .usa-breadcrumb__list-item{display:inline-block}.usa-button-group{margin-bottom:0;margin-top:0;display:flex;flex-direction:column;flex-wrap:wrap;list-style-type:none;margin-left:-.25rem;margin-right:-.25rem;padding-left:0}@media all and (min-width:30em){.usa-button-group{flex-wrap:nowrap;align-items:stretch;flex-direction:row}}.usa-button-group .usa-button-group{height:100%}@media all and (min-width:30em){.usa-button-group .usa-button-group .usa-button-group__item{margin-top:0;margin-bottom:0}}.usa-button-group .usa-button-group--segmented .usa-button-group__item{margin-top:0;margin-bottom:0}.usa-button-group__item{margin:.25rem}@media all and (min-width:30em){.usa-button-group__item:last-child{margin-right:0}}.usa-button-group__item .usa-button{height:100%;margin-left:0;margin-right:0}.usa-button-group--segmented{flex-direction:row;flex-wrap:nowrap;justify-content:space-between;margin-left:0;margin-right:0}@media all and (min-width:30em){.usa-button-group--segmented{justify-content:flex-start}}.usa-button-group--segmented .usa-button{position:relative;width:calc(100% + 2px)}@media all and (min-width:30em){.usa-button-group--segmented .usa-button{width:auto}}.usa-button-group--segmented .usa-button:active,.usa-button-group--segmented .usa-button:hover{z-index:2}.usa-button-group--segmented .usa-button:focus{z-index:3}.usa-button-group--segmented .usa-button-group__item{margin-left:0;margin-right:0;width:100%}@media all and (min-width:30em){.usa-button-group--segmented .usa-button-group__item{width:auto}}.usa-button-group--segmented .usa-button-group__item:first-child>.usa-button{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:-1px}.usa-button-group--segmented .usa-button-group__item:last-child>.usa-button{border-top-left-radius:0;border-bottom-left-radius:0;margin-right:0;margin-left:-2px;width:calc(100% + 2px)}@media all and (min-width:30em){.usa-button-group--segmented .usa-button-group__item:last-child>.usa-button{margin-left:-1px;width:auto}}.usa-button-group--segmented .usa-button-group__item:where(:not(:first-child):not(:last-child))>.usa-button{border-radius:0;margin-right:-1px;margin-left:-1px}.usa-button-group--segmented .usa-button-group__item:where(:not(:last-child)) .usa-button::before{border-right:1px solid #1a4480;bottom:0;content:"";display:block;height:100%;position:absolute;right:1px;top:0;width:1px;z-index:3}.usa-button-group--segmented .usa-button-group__item:where(:not(:last-child)) .usa-button--secondary::before{border-right-color:#b50909}.usa-button-group--segmented .usa-button-group__item:where(:not(:last-child)) .usa-button--accent-cool::before{border-right-color:#28a0cb}.usa-button-group--segmented .usa-button-group__item:where(:not(:last-child)) .usa-button--base::before{border-right-color:#565c65}.usa-button-group--segmented .usa-button-group__item:where(:not(:last-child)) [class*=usa-button]:disabled::before,.usa-button-group--segmented .usa-button-group__item:where(:not(:last-child)) [class*=usa-button][aria-disabled=true]::before{border-right-color:#fff}.usa-button-group--segmented .usa-button-group__item:where(:not(:last-child)) .usa-button--outline::before,.usa-button-group--segmented .usa-button-group__item:where(:not(:last-child)) .usa-button:active::before{display:none}.usa-button{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:.9;color:#fff;background-color:#005ea2;-webkit-appearance:none;-moz-appearance:none;appearance:none;align-items:center;border:0;border-radius:.25rem;cursor:pointer;-moz-column-gap:.5rem;column-gap:.5rem;display:inline-flex;font-weight:700;justify-content:center;margin-right:.5rem;padding:.75rem 1.25rem;text-align:center;text-decoration:none;width:100%}@media all and (min-width:30em){.usa-button{width:auto}}.usa-button:visited{color:#fff}.usa-button.usa-button--hover,.usa-button:hover{color:#fff;background-color:#1a4480;border-bottom:0;text-decoration:none}.usa-button.usa-button--active,.usa-button:active{color:#fff;background-color:#162e51}.usa-button:not([disabled]).usa-focus,.usa-button:not([disabled]):focus{outline-offset:.25rem}.usa-button:disabled,.usa-button[aria-disabled=true]{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-button:disabled.usa-button--active.usa-focus,.usa-button:disabled.usa-button--active:active,.usa-button:disabled.usa-button--active:focus,.usa-button:disabled.usa-button--active:hover,.usa-button:disabled.usa-button--hover.usa-focus,.usa-button:disabled.usa-button--hover:active,.usa-button:disabled.usa-button--hover:focus,.usa-button:disabled.usa-button--hover:hover,.usa-button:disabled.usa-focus,.usa-button:disabled:active,.usa-button:disabled:focus,.usa-button:disabled:hover,.usa-button[aria-disabled=true].usa-button--active.usa-focus,.usa-button[aria-disabled=true].usa-button--active:active,.usa-button[aria-disabled=true].usa-button--active:focus,.usa-button[aria-disabled=true].usa-button--active:hover,.usa-button[aria-disabled=true].usa-button--hover.usa-focus,.usa-button[aria-disabled=true].usa-button--hover:active,.usa-button[aria-disabled=true].usa-button--hover:focus,.usa-button[aria-disabled=true].usa-button--hover:hover,.usa-button[aria-disabled=true].usa-focus,.usa-button[aria-disabled=true]:active,.usa-button[aria-disabled=true]:focus,.usa-button[aria-disabled=true]:hover{color:#454545;background-color:#c9c9c9}@media (forced-colors:active){.usa-button:disabled,.usa-button[aria-disabled=true]{border:0;color:GrayText}.usa-button:disabled.usa-focus,.usa-button:disabled:active,.usa-button:disabled:focus,.usa-button:disabled:hover,.usa-button[aria-disabled=true].usa-focus,.usa-button[aria-disabled=true]:active,.usa-button[aria-disabled=true]:focus,.usa-button[aria-disabled=true]:hover{color:GrayText}}.usa-button:disabled.usa-button--active,.usa-button:disabled.usa-button--hover,.usa-button[aria-disabled=true].usa-button--active,.usa-button[aria-disabled=true].usa-button--hover{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}@media (forced-colors:active){.usa-button:disabled.usa-button--active,.usa-button:disabled.usa-button--hover,.usa-button[aria-disabled=true].usa-button--active,.usa-button[aria-disabled=true].usa-button--hover{border:0;color:GrayText}.usa-button:disabled.usa-button--active.usa-focus,.usa-button:disabled.usa-button--active:active,.usa-button:disabled.usa-button--active:focus,.usa-button:disabled.usa-button--active:hover,.usa-button:disabled.usa-button--hover.usa-focus,.usa-button:disabled.usa-button--hover:active,.usa-button:disabled.usa-button--hover:focus,.usa-button:disabled.usa-button--hover:hover,.usa-button[aria-disabled=true].usa-button--active.usa-focus,.usa-button[aria-disabled=true].usa-button--active:active,.usa-button[aria-disabled=true].usa-button--active:focus,.usa-button[aria-disabled=true].usa-button--active:hover,.usa-button[aria-disabled=true].usa-button--hover.usa-focus,.usa-button[aria-disabled=true].usa-button--hover:active,.usa-button[aria-disabled=true].usa-button--hover:focus,.usa-button[aria-disabled=true].usa-button--hover:hover{color:GrayText}.usa-button:disabled:not(.usa-button--unstyled),.usa-button[aria-disabled=true]:not(.usa-button--unstyled){border:2px solid GrayText}}.usa-button .usa-icon{flex-shrink:0}@media (forced-colors:active){.usa-button:not(.usa-button--unstyled){border:2px solid transparent}}.usa-button--accent-cool,.usa-button--accent-cool:visited{color:#1b1b1b;background-color:#00bde3}.usa-button--accent-cool.usa-button--hover,.usa-button--accent-cool:hover{color:#1b1b1b;background-color:#28a0cb}.usa-button--accent-cool.usa-button--active,.usa-button--accent-cool:active{color:#fff;background-color:#07648d}.usa-button--accent-warm,.usa-button--accent-warm:visited{color:#1b1b1b;background-color:#fa9441}.usa-button--accent-warm.usa-button--hover,.usa-button--accent-warm:hover{color:#fff;background-color:#c05600}.usa-button--accent-warm.usa-button--active,.usa-button--accent-warm:active{color:#fff;background-color:#775540}.usa-button--outline{background-color:transparent;box-shadow:inset 0 0 0 2px #005ea2;color:#005ea2}.usa-button--outline:visited{color:#005ea2}.usa-button--outline.usa-button--hover,.usa-button--outline:hover{background-color:transparent;box-shadow:inset 0 0 0 2px #1a4480;color:#1a4480}.usa-button--outline.usa-button--active,.usa-button--outline:active{background-color:transparent;box-shadow:inset 0 0 0 2px #162e51;color:#162e51}.usa-button--outline.usa-button--inverse{box-shadow:inset 0 0 0 2px #dfe1e2;color:#dfe1e2}.usa-button--outline.usa-button--inverse:visited{color:#dfe1e2}.usa-button--outline.usa-button--inverse.usa-button--hover,.usa-button--outline.usa-button--inverse:hover{box-shadow:inset 0 0 0 2px #f0f0f0;color:#f0f0f0}.usa-button--outline.usa-button--inverse.usa-button--active,.usa-button--outline.usa-button--inverse:active{background-color:transparent;box-shadow:inset 0 0 0 2px #fff;color:#fff}.usa-button--outline.usa-button--inverse.usa-button--unstyled{text-decoration:underline;background-color:transparent;border:0;border-radius:0;box-shadow:none;font-weight:400;justify-content:normal;text-align:left;margin:0;padding:0;width:auto;color:#dfe1e2}.usa-button--outline.usa-button--inverse.usa-button--unstyled:focus{outline:.25rem solid #2491ff;outline-offset:0}.usa-button--outline.usa-button--inverse.usa-button--unstyled.usa-button--active,.usa-button--outline.usa-button--inverse.usa-button--unstyled.usa-button--disabled,.usa-button--outline.usa-button--inverse.usa-button--unstyled.usa-button--hover,.usa-button--outline.usa-button--inverse.usa-button--unstyled:active,.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled,.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled.usa-button--active,.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled.usa-button--hover,.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled.usa-focus,.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled:active,.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled:focus,.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled:hover,.usa-button--outline.usa-button--inverse.usa-button--unstyled:hover,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true],.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true].usa-button--active,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true].usa-button--hover,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true].usa-focus,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true]:active,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true]:focus,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true]:hover{background-color:transparent;box-shadow:none;text-decoration:underline}.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled,.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled:hover,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true],.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true]:focus,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true]:hover{color:#757575}@media (forced-colors:active){.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled,.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled:hover,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true],.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true]:focus,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true]:hover{color:GrayText}}.usa-button--outline.usa-button--inverse.usa-button--unstyled:visited{color:#dfe1e2}.usa-button--outline.usa-button--inverse.usa-button--unstyled.usa-button--hover,.usa-button--outline.usa-button--inverse.usa-button--unstyled:hover{color:#f0f0f0}.usa-button--outline.usa-button--inverse.usa-button--unstyled.usa-button--active,.usa-button--outline.usa-button--inverse.usa-button--unstyled:active{color:#fff}.usa-button--base{color:#fff;background-color:#71767a}.usa-button--base.usa-button--hover,.usa-button--base:hover{color:#fff;background-color:#565c65}.usa-button--base.usa-button--active,.usa-button--base:active{color:#fff;background-color:#3d4551}.usa-button--secondary{color:#fff;background-color:#d83933}.usa-button--secondary.usa-button--hover,.usa-button--secondary:hover{color:#fff;background-color:#b50909}.usa-button--secondary.usa-button--active,.usa-button--secondary:active{color:#fff;background-color:#8b0a03}.usa-button--big{border-radius:.25rem;font-size:1.46rem;padding:1rem 1.5rem}.usa-button--outline-inverse:disabled,.usa-button--outline-inverse:disabled:active,.usa-button--outline-inverse:disabled:focus,.usa-button--outline-inverse:disabled:hover,.usa-button--outline-inverse[aria-disabled=true],.usa-button--outline-inverse[aria-disabled=true]:active,.usa-button--outline-inverse[aria-disabled=true]:focus,.usa-button--outline-inverse[aria-disabled=true]:hover,.usa-button--outline:disabled,.usa-button--outline:disabled:active,.usa-button--outline:disabled:focus,.usa-button--outline:disabled:hover,.usa-button--outline[aria-disabled=true],.usa-button--outline[aria-disabled=true]:active,.usa-button--outline[aria-disabled=true]:focus,.usa-button--outline[aria-disabled=true]:hover{background-color:transparent;color:#757575}.usa-button--outline:disabled,.usa-button--outline[aria-disabled=true]{box-shadow:inset 0 0 0 2px #c9c9c9}.usa-button--outline:disabled.usa-button--inverse,.usa-button--outline[aria-disabled=true].usa-button--inverse{box-shadow:inset 0 0 0 2px #919191;color:#919191}@media (forced-colors:active){.usa-button--outline:disabled.usa-button--inverse,.usa-button--outline[aria-disabled=true].usa-button--inverse{color:GrayText}}.usa-button--unstyled{color:#005ea2;text-decoration:underline;background-color:transparent;border:0;border-radius:0;box-shadow:none;font-weight:400;justify-content:normal;text-align:left;margin:0;padding:0;width:auto}.usa-button--unstyled:visited,.usa-footer__return-to-top a:visited{color:#54278f}.usa-button--unstyled:hover{color:#1a4480}.usa-button--unstyled:active{color:#162e51}.usa-button--unstyled:focus{outline:.25rem solid #2491ff;outline-offset:0}.usa-button--unstyled.usa-button--active,.usa-button--unstyled.usa-button--disabled,.usa-button--unstyled.usa-button--hover,.usa-button--unstyled:active,.usa-button--unstyled:disabled,.usa-button--unstyled:disabled.usa-button--active,.usa-button--unstyled:disabled.usa-button--hover,.usa-button--unstyled:disabled.usa-focus,.usa-button--unstyled:disabled:active,.usa-button--unstyled:disabled:focus,.usa-button--unstyled:disabled:hover,.usa-button--unstyled:hover,.usa-button--unstyled[aria-disabled=true],.usa-button--unstyled[aria-disabled=true].usa-button--active,.usa-button--unstyled[aria-disabled=true].usa-button--hover,.usa-button--unstyled[aria-disabled=true].usa-focus,.usa-button--unstyled[aria-disabled=true]:active,.usa-button--unstyled[aria-disabled=true]:focus,.usa-button--unstyled[aria-disabled=true]:hover{background-color:transparent;box-shadow:none;text-decoration:underline}.usa-button--unstyled.usa-button--hover,.usa-footer__return-to-top a:hover{color:#1a4480}.usa-button--unstyled.usa-button--active,.usa-footer__return-to-top a:active{color:#162e51}.usa-button--unstyled:disabled,.usa-button--unstyled:disabled:hover,.usa-button--unstyled[aria-disabled=true],.usa-button--unstyled[aria-disabled=true]:focus,.usa-button--unstyled[aria-disabled=true]:hover{color:#757575}@media (forced-colors:active){.usa-button--unstyled:disabled,.usa-button--unstyled:disabled:hover,.usa-button--unstyled[aria-disabled=true],.usa-button--unstyled[aria-disabled=true]:focus,.usa-button--unstyled[aria-disabled=true]:hover{color:GrayText}}.usa-card-group,.usa-prose .usa-card-group{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0}.usa-card-group{display:flex;flex-direction:column;flex-wrap:wrap;align-items:stretch;margin-left:-.5rem;margin-right:-.5rem}@media all and (min-width:40em){.usa-card-group{flex-direction:row}}.usa-card{margin-bottom:2.5rem;max-width:none}.usa-card:last-child,.usa-prose .usa-card:last-child{margin-bottom:2.5rem}@media all and (min-width:40em){.usa-card{margin-bottom:2rem}.usa-card:last-child{margin-bottom:2rem}}.usa-prose .usa-card{margin-bottom:2.5rem;max-width:none}@media all and (min-width:40em){.usa-prose .usa-card{margin-bottom:2rem}.usa-prose .usa-card:last-child{margin-bottom:2rem}}.usa-card__container{color:#1b1b1b;background-color:#fff;font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.5;border-width:2px;border-color:#dfe1e2;border-style:solid;display:flex;height:100%;flex-direction:column;margin-left:.5rem;margin-right:.5rem;position:relative;border-radius:.5rem}.usa-card:not(.usa-card--flag) .usa-card__container>:only-child{padding:1.5rem}.usa-card .usa-card__img{display:block}.usa-card__header{padding:1.5rem 1.5rem .5rem}.usa-card__header:last-child{padding-bottom:1.5rem}.usa-card__heading{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.34rem;line-height:1.2;margin:0}.usa-card__media{order:-1;min-height:1px}.usa-card__img{border-top-left-radius:calc(.5rem - 2px);border-top-right-radius:calc(.5rem - 2px);background-color:#f0f0f0;position:relative;overflow:hidden}.usa-card__img img{display:block;height:100%;width:100%;-o-object-fit:cover;object-fit:cover}.usa-card__media--inset{padding-top:1.5rem;padding-left:1.5rem;padding-right:1.5rem}.usa-card__media--inset .usa-card__img{border-radius:0}.usa-card__body{flex:1 1 0%;padding:.5rem 1.5rem;flex-basis:auto}.usa-card__body:last-child{padding-bottom:1.5rem}.usa-card__body:first-child{padding-top:1.5rem}.usa-card__body:only-child{padding-bottom:1.5rem;padding-top:1.5rem}.usa-card__footer{padding:.5rem 1.5rem 1.5rem}.usa-card__footer .usa-button:only-of-type{margin-right:0}.usa-card__body>:last-child,.usa-card__header>:last-child{padding-bottom:0;margin-bottom:0}.usa-card__body>:first-child,.usa-card__header>:first-child{margin-top:0;padding-top:0}.usa-card__body>:only-child,.usa-card__header>:only-child{margin-bottom:0;margin-top:0;padding-bottom:0;padding-top:0}.usa-card__body--exdent,.usa-card__footer--exdent,.usa-card__header--exdent,.usa-card__media--exdent{margin-inline:-2px}.usa-card__body--exdent>*,.usa-card__footer--exdent>*,.usa-card__header--exdent>*{padding-left:2px;padding-right:2px}.usa-card__media--exdent{margin-top:-2px}.usa-card__media--exdent .usa-card__img{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.usa-card--header-first .usa-card__header{border-top-left-radius:calc(.5rem - 2px);border-top-right-radius:calc(.5rem - 2px);padding-bottom:1rem}.usa-card--header-first .usa-card__header--exdent{border-top-left-radius:.5rem;border-top-right-radius:.5rem;margin-top:-2px}.usa-card--header-first .usa-card__media--inset{padding-top:0}.usa-card--header-first .usa-card__media{order:0}.usa-card--header-first .usa-card__media--exdent{margin-top:0}.usa-card--header-first .usa-card__img{border-radius:0}.usa-card--header-first .usa-card__body{padding-top:1rem}@media all and (min-width:40em){.usa-card--flag .usa-card__media{display:flex;overflow:hidden;bottom:0;top:0;left:0;position:absolute;width:15rem}.usa-card--flag .usa-card__img{border-radius:0;border-top-left-radius:calc(.5rem - 2px);border-bottom-left-radius:calc(.5rem - 2px)}.usa-card--flag .usa-card__body,.usa-card--flag .usa-card__footer,.usa-card--flag .usa-card__header{margin-left:15rem}.usa-card--flag .usa-card__media--exdent{margin:-2px}.usa-card--flag .usa-card__media--exdent .usa-card__img{border-bottom-left-radius:.5rem;border-top-left-radius:.5rem}.usa-card--flag .usa-card__media--inset{padding-right:0;padding-bottom:1.5rem}.usa-card--flag .usa-card__media--inset .usa-card__img,.usa-card--flag.usa-card--media-right .usa-card__media--inset .usa-card__img{border-radius:0}.usa-card--flag.usa-card--header-first .usa-card__header{padding-bottom:.5rem}.usa-card--flag.usa-card--header-first .usa-card__body{padding-top:.5rem}.usa-card--flag.usa-card--header-first .usa-card__media--inset{padding-top:1.5rem}.usa-card--flag.usa-card--media-right .usa-card__media{left:auto;right:0}.usa-card--flag.usa-card--media-right .usa-card__media--inset{padding-left:0;padding-right:1.5rem}.usa-card--flag.usa-card--media-right .usa-card__img{border-top-right-radius:calc(.5rem - 2px);border-bottom-right-radius:calc(.5rem - 2px)}.usa-card--flag.usa-card--media-right .usa-card__body,.usa-card--flag.usa-card--media-right .usa-card__footer,.usa-card--flag.usa-card--media-right .usa-card__header{margin-left:0;margin-right:15rem}.usa-card--flag.usa-card--media-right .usa-card__img{border-radius:0;border-bottom-right-radius:.5rem;border-top-right-radius:.5rem}}.usa-card:not(.usa-card--flag).usa-card__media--set-aspect{box-sizing:border-box;height:0;overflow:hidden;padding-bottom:56.25%;position:relative}@supports (aspect-ratio:1){.usa-card:not(.usa-card--flag).usa-card__media--set-aspect{height:inherit;padding:inherit;aspect-ratio:1.7777777778;max-width:100%}.usa-card:not(.usa-card--flag).usa-card__media--set-aspect>*{position:absolute;top:0;left:0;width:100%;height:100%}.usa-card:not(.usa-card--flag).usa-card__media--set-aspect>img,img.usa-card:not(.usa-card--flag).usa-card__media--set-aspect{-o-object-fit:cover;object-fit:cover}}.usa-card:not(.usa-card--flag).usa-card__media--set-aspect .usa-card__img{position:absolute;bottom:0;left:0;right:0;top:0}.usa-checklist{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.5}.usa-checklist__item{text-indent:-2.5rem;margin-top:0;margin-bottom:0;margin-top:.5rem}.usa-checklist__item::before{content:" ";display:inline-block;height:1rem;margin-left:-.25rem;margin-right:.75rem;width:2rem}.usa-checklist__item.usa-checklist__item--checked::before{background-image:url(../img/usa-icons-bg/check--blue-60v.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat;background-position:center;background-size:1.5rem}.usa-collection{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;margin-bottom:1em;margin-top:1em;line-height:1.5;padding-left:0}.usa-collection:last-child,.usa-collection__item:last-child,.usa-graphic-list .usa-graphic-list__row:last-child .usa-media-block:last-child,.usa-prose .usa-collection:last-child,.usa-prose .usa-collection__item:last-child{margin-bottom:0}.usa-collection ol,.usa-collection ul,.usa-prose .usa-collection ol,.usa-prose .usa-collection ul{margin-top:.25em}.usa-prose .usa-collection{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;margin-bottom:1em;margin-top:1em;line-height:1.5;padding-left:0}.usa-collection__item,.usa-prose .usa-collection__item{max-width:68ex;margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;align-items:flex-start;border-top-width:1px;border-top-style:solid;display:flex;margin-bottom:1rem;margin-top:1rem;padding-top:1rem}.usa-collection__calendar-date,.usa-collection__img{flex-shrink:0;width:4rem;margin-right:1rem}@media all and (min-width:40em){.usa-collection__calendar-date,.usa-collection__img{width:5rem}}.usa-collection__body{flex:1 1 0%}.usa-collection__heading{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.13rem;line-height:1.3;margin-bottom:0;margin-top:0}.usa-collection__description{margin-bottom:.5rem;margin-top:.5rem}.usa-collection__meta{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;margin-top:.25rem}.usa-collection__meta-item{margin-top:.25rem;font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:.93rem;line-height:1.3;display:block;margin-right:.5rem}.usa-collection__meta-item.usa-tag{background-color:#dfe1e2;line-height:.9;padding-bottom:.25rem;padding-top:.25rem;color:#1b1b1b;display:inline-block;margin-top:.25rem}.usa-collection__meta-item.usa-tag--new{background-color:#c05600;color:#fff}.usa-collection__calendar-date,.usa-footer__social-links a,.usa-form abbr[title=required]{text-decoration:none}.usa-collection__calendar-date-day,.usa-collection__calendar-date-month{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.13rem;display:block;font-weight:700;padding:.25rem;text-align:center}@media all and (min-width:40em){.usa-collection__calendar-date-day,.usa-collection__calendar-date-month{padding:.5rem}}.usa-collection__calendar-date-month{border-top-left-radius:2px;border-top-right-radius:2px;background-color:#005ea2;color:#fff}.usa-collection__calendar-date-day{border-bottom-left-radius:2px;border-bottom-right-radius:2px;border:1px solid #005ea2;color:#005ea2}.usa-collection--condensed .usa-collection__item{margin-bottom:.5rem;margin-top:.5rem;padding-top:.5rem}.usa-embed-container embed,.usa-embed-container iframe,.usa-embed-container object{position:absolute;top:0;left:0;width:100%;height:100%}.usa-embed-container{box-sizing:border-box;height:0;overflow:hidden;padding-bottom:56.25%;position:relative;max-width:100%}@supports (aspect-ratio:1){.usa-embed-container{height:inherit;padding:inherit;aspect-ratio:1.7777777778;max-width:100%}.usa-embed-container>*{position:absolute;top:0;left:0;width:100%;height:100%}.usa-embed-container>img,img.usa-embed-container{-o-object-fit:cover;object-fit:cover}}.usa-footer{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.5}.usa-footer>.grid-container{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}@media all and (min-width:64em){.usa-footer>.grid-container{padding-left:2rem;padding-right:2rem}}.usa-footer__return-to-top{padding-bottom:1.25rem;padding-top:1.25rem;line-height:.9}.usa-footer__return-to-top a:focus{outline:.25rem solid #2491ff;outline-offset:0}.usa-footer__nav{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem;padding-left:0;padding-right:0;border-bottom:1px solid #a9aeb1}@media all and (min-width:64em){.usa-footer__nav{padding-left:2rem;padding-right:2rem}}@media all and (min-width:30em){.usa-footer__nav{padding-left:1rem;padding-right:1rem;border-bottom:none}}@media all and (min-width:30em) and (min-width:64em){.usa-footer__nav{padding-left:2rem;padding-right:2rem}}.usa-footer__nav>ul{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0}.usa-footer__primary-section{background-color:#f0f0f0}.usa-footer__primary-container,.usa-footer__primary-section>.grid-container{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}@media all and (min-width:64em){.usa-footer__primary-section>.grid-container{padding-left:2rem;padding-right:2rem}}.usa-footer__primary-container{padding-left:0;padding-right:0}@media all and (min-width:64em){.usa-footer__primary-container{padding-left:2rem;padding-right:2rem}}.usa-footer__primary-content{line-height:1.1}.usa-footer__primary-link{padding:1rem;color:#1b1b1b;font-weight:700;border:0;border-top:1px solid #a9aeb1;display:block}@media all and (min-width:30em){.usa-footer__primary-link{padding-left:0;padding-right:0;border:0}}.usa-footer__primary-link--button{width:100%;cursor:pointer}.usa-footer__primary-link--button::before{background-image:url(../img/usa-icons/expand_more.svg);background-repeat:no-repeat;background-position:center center;background-size:1.25rem 1.25rem;display:inline-block;vertical-align:middle}@supports ((-webkit-mask:url()) or (mask:url())){.usa-footer__primary-link--button::before{background:0 0;background-color:currentColor;-webkit-mask-image:url(../img/usa-icons/expand_more.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/expand_more.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1.25rem 1.25rem;mask-size:1.25rem 1.25rem}}.usa-footer__primary-link--button:not([disabled]):focus{outline:.25rem solid #2491ff;outline-offset:-.25rem}.usa-footer__primary-link--button::before{height:1.25rem;width:1.25rem;align-items:center;background-size:contain;content:"";display:inline-flex;justify-content:center;margin-right:.25rem;margin-left:-.25rem}@media (forced-colors:active){.usa-footer__primary-link--button::before{background-color:buttonText!important}}.usa-footer__primary-link--button+.usa-list--unstyled{margin-top:.5rem;margin-bottom:.5rem}.usa-footer__primary-link--button[aria-expanded=false]::before{background-image:url(../img/usa-icons/navigate_next.svg);background-repeat:no-repeat;background-position:center center;background-size:1.25rem 1.25rem;display:inline-block;height:1.25rem;width:1.25rem;content:"";vertical-align:middle;margin-right:.25rem}@supports ((-webkit-mask:url()) or (mask:url())){.usa-footer__primary-link--button[aria-expanded=false]::before{background:0 0;background-color:currentColor;-webkit-mask-image:url(../img/usa-icons/navigate_next.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/navigate_next.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1.25rem 1.25rem;mask-size:1.25rem 1.25rem}}.usa-footer__primary-link--button[aria-expanded=false]+.usa-list--unstyled{display:none}.usa-footer__secondary-link{line-height:1.1;margin-left:1rem;padding:0}.usa-footer__secondary-link a:visited{color:#54278f}.usa-footer__secondary-link a:hover{color:#1a4480}.usa-footer__secondary-link a:active{color:#162e51}.usa-footer__secondary-link a:focus{outline:.25rem solid #2491ff;outline-offset:0}.usa-footer__secondary-link+.usa-footer__secondary-link{padding-top:1rem}@media all and (min-width:30em){.usa-footer__secondary-link{margin-left:0}}.usa-footer__contact-info{line-height:1.1}@media all and (min-width:30em){.usa-footer__contact-info{justify-content:flex-end;margin-top:.5rem}}.usa-sign-up{padding-bottom:2rem;padding-top:1.5rem}.usa-sign-up .usa-button,.usa-sign-up .usa-label{margin-top:.75rem}.usa-sign-up__heading{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.34rem;line-height:1.2;font-weight:700;margin:0}.usa-footer__secondary-section{padding-bottom:1.25rem;padding-top:1.25rem;color:#1b1b1b;background-color:#dfe1e2}.usa-footer__secondary-section>.grid-container{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}@media all and (min-width:64em){.usa-footer__secondary-section>.grid-container{padding-left:2rem;padding-right:2rem}}.usa-footer__secondary-section>.grid-container>.grid-row{justify-content:space-between}.usa-footer__logo{margin-bottom:.5rem;margin-top:.5rem}@media all and (min-width:30em){.usa-footer__logo{margin-bottom:0;margin-top:0;align-items:center}}.usa-footer__logo-img{max-width:5rem}.usa-footer__logo-heading{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.46rem;line-height:.9;font-weight:700;margin-bottom:.5rem;margin-top:.5rem}.usa-footer__contact-links{margin-top:1.5rem}@media all and (min-width:30em){.usa-footer__contact-links{margin-top:0;text-align:right}}.usa-footer__contact-heading{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.46rem;line-height:1.1;font-weight:700;margin-top:0}@media all and (min-width:30em){.usa-footer__contact-heading{margin-bottom:.25rem;margin-top:.25rem}}.usa-footer__social-links{line-height:.9;padding-bottom:.5rem}@media all and (min-width:30em){.usa-footer__social-links{justify-content:flex-end}}.usa-social-link{height:3rem;width:3rem;background-color:rgba(0,0,0,.1);display:inline-block;padding:.25rem}.usa-social-link:hover{background-color:#fff}@media (forced-colors:active){.usa-social-link{background-color:#d3d3d3;forced-color-adjust:none}}.usa-social-link__icon{display:block;height:auto;width:100%}@media all and (min-width:30em){.usa-footer__address{justify-content:flex-end}}@media all and (min-width:64em){.usa-footer--slim .usa-footer__nav{padding-left:0;padding-right:0}}.usa-footer--slim .usa-footer__address{padding:1rem}@media all and (min-width:30em){.usa-footer--slim .usa-footer__address{padding:0}}.usa-footer--slim .usa-footer__logo{align-items:center}.usa-footer--slim .usa-footer__logo-img{max-width:3rem}.usa-footer--slim .usa-footer__contact-info{display:inline-block}@media all and (min-width:30em){.usa-footer--slim .usa-footer__contact-info{padding-bottom:1rem;padding-top:1rem;margin-top:0}}.usa-footer--big .usa-footer__nav{margin-left:-1rem;margin-right:-1rem}@media all and (min-width:30em){.usa-footer--big .usa-footer__nav{border-bottom:1px solid #a9aeb1;padding-top:2rem}}@media all and (min-width:40em){.usa-footer--big .usa-footer__nav{margin-left:0;margin-right:0;padding-left:0;padding-right:0;border-bottom:none}}.usa-footer--big .usa-footer__primary-link{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.98rem;font-weight:700;line-height:1.2;margin:0}@media all and (min-width:30em){.usa-footer--big .usa-footer__primary-link{padding-bottom:0;padding-top:0;margin-bottom:.5rem}.usa-footer--big .usa-footer__primary-link:hover{cursor:auto;text-decoration:none}}.usa-footer--big .usa-footer__primary-content--collapsible .usa-footer__primary-link{align-items:center;display:flex;justify-content:flex-start}.usa-footer--big .usa-footer__primary-content--collapsible .usa-list--unstyled{padding-left:1rem;padding-right:1rem;padding-bottom:1.25rem}@media all and (min-width:30em){.usa-footer--big .usa-footer__primary-content--collapsible .usa-list--unstyled{padding-left:0;padding-right:0;padding-bottom:2rem;padding-top:.75rem}}.usa-form{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.3}@media all and (min-width:30em){.usa-form{max-width:20rem}}.usa-form :where(.usa-input,.usa-textarea,.usa-select,.usa-range){max-width:none}.usa-form .usa-button{margin-top:.5rem}@media all and (min-width:30em){.usa-form .usa-button{margin-top:1.5rem}}.usa-form a:where(:not(.usa-button)){color:#005ea2;text-decoration:underline}.usa-form a:where(:not(.usa-button)):visited{color:#54278f}.usa-form a:where(:not(.usa-button)):hover{color:#1a4480}.usa-form a:where(:not(.usa-button)):active{color:#162e51}.usa-form a:where(:not(.usa-button)):focus{outline:.25rem solid #2491ff;outline-offset:0}@media all and (min-width:30em){.usa-form--large{max-width:30rem}}.usa-show-password{color:#005ea2;text-decoration:underline;background-color:transparent;border:0;border-radius:0;box-shadow:none;font-weight:400;justify-content:normal;text-align:left;margin:0;padding:0;width:auto;cursor:pointer}.usa-show-password:visited{color:#54278f}.usa-show-password:hover{color:#1a4480}.usa-show-password:active{color:#162e51}.usa-show-password:focus{outline:.25rem solid #2491ff;outline-offset:0}.usa-show-password.usa-button--active,.usa-show-password.usa-button--disabled,.usa-show-password.usa-button--hover,.usa-show-password:active,.usa-show-password:disabled,.usa-show-password:disabled.usa-button--active,.usa-show-password:disabled.usa-button--hover,.usa-show-password:disabled.usa-focus,.usa-show-password:disabled:active,.usa-show-password:disabled:focus,.usa-show-password:disabled:hover,.usa-show-password:hover,.usa-show-password[aria-disabled=true],.usa-show-password[aria-disabled=true].usa-button--active,.usa-show-password[aria-disabled=true].usa-button--hover,.usa-show-password[aria-disabled=true].usa-focus,.usa-show-password[aria-disabled=true]:active,.usa-show-password[aria-disabled=true]:focus,.usa-show-password[aria-disabled=true]:hover{background-color:transparent;box-shadow:none;text-decoration:underline}.usa-show-password.usa-button--hover{color:#1a4480}.usa-show-password.usa-button--active{color:#162e51}.usa-show-password:disabled,.usa-show-password:disabled:hover,.usa-show-password[aria-disabled=true],.usa-show-password[aria-disabled=true]:focus,.usa-show-password[aria-disabled=true]:hover{color:#757575}@media (forced-colors:active){.usa-show-password:disabled,.usa-show-password:disabled:hover,.usa-show-password[aria-disabled=true],.usa-show-password[aria-disabled=true]:focus,.usa-show-password[aria-disabled=true]:hover{color:GrayText}}.usa-form__note,.usa-graphic-list,.usa-show-password{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif}.usa-form__note,.usa-show-password{font-size:.93rem;line-height:1.3;float:right;margin:.25rem 0 1rem}.usa-graphic-list{font-size:1.06rem;line-height:1.5}.usa-graphic-list .usa-graphic-list__row .usa-media-block{margin-bottom:2rem}@media all and (min-width:40em){.usa-graphic-list .usa-graphic-list__row .usa-media-block{margin-bottom:4rem}.usa-graphic-list .usa-graphic-list__row:last-child .usa-media-block{margin-bottom:0}}.usa-graphic-list .usa-media-block__img{margin-right:1.5rem}.usa-graphic-list .usa-media-block__body>:first-child{margin-top:0}.usa-graphic-list__heading{margin-bottom:0;margin-top:0;clear:both;font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.34rem;line-height:1.2;font-weight:700}*+.usa-graphic-list__heading{margin-top:1.5em}.usa-graphic-list__heading+*{margin-top:1em}.usa-header{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.5}.usa-header::after{clear:both;content:"";display:block}.usa-header a{border-bottom:none}.usa-header .usa-search{margin-top:.5rem}@media all and (min-width:64em){.usa-header .usa-search{float:right}.usa-header [role=search]{float:right;max-width:calc(27ch + 3rem);width:100%}}.usa-header [type=search]{min-width:0}@media all and (min-width:64em){.usa-header+.usa-hero{border-top:1px solid #fff}.usa-header+.usa-section,.usa-header+main{border-top:1px solid #dfe1e2}}@media all and (max-width:63.99em){.usa-logo{flex:1 1 0%;font-size:.93rem;line-height:.9;margin-left:1rem}}@media all and (min-width:64em){.usa-logo{margin-top:2rem;margin-bottom:1rem;font-size:1.46rem;line-height:1.1}}.usa-logo a{color:#1b1b1b;text-decoration:none}.usa-logo__text{display:block;font-style:normal;font-weight:700;margin:0}.usa-menu-btn{border:0;border-radius:0;box-shadow:none;font-weight:400;justify-content:normal;margin:0;padding:0;width:auto;flex:0 1 auto;padding-left:.75rem;padding-right:.75rem;background-color:#005ea2;color:#fff;font-size:.87rem;height:3rem;text-align:center;text-decoration:none;text-transform:uppercase}.usa-menu-btn:focus{outline:.25rem solid #2491ff;outline-offset:0}.usa-menu-btn.usa-button--active,.usa-menu-btn.usa-button--disabled,.usa-menu-btn.usa-button--hover,.usa-menu-btn:active,.usa-menu-btn:disabled,.usa-menu-btn:disabled.usa-button--active,.usa-menu-btn:disabled.usa-button--hover,.usa-menu-btn:disabled.usa-focus,.usa-menu-btn:disabled:active,.usa-menu-btn:disabled:focus,.usa-menu-btn:disabled:hover,.usa-menu-btn:hover,.usa-menu-btn[aria-disabled=true],.usa-menu-btn[aria-disabled=true].usa-button--active,.usa-menu-btn[aria-disabled=true].usa-button--hover,.usa-menu-btn[aria-disabled=true].usa-focus,.usa-menu-btn[aria-disabled=true]:active,.usa-menu-btn[aria-disabled=true]:focus,.usa-menu-btn[aria-disabled=true]:hover{background-color:transparent;box-shadow:none;text-decoration:underline}.usa-menu-btn.usa-button--hover{color:#1a4480}.usa-menu-btn.usa-button--active{color:#162e51}.usa-menu-btn:disabled,.usa-menu-btn:disabled:hover,.usa-menu-btn[aria-disabled=true],.usa-menu-btn[aria-disabled=true]:focus,.usa-menu-btn[aria-disabled=true]:hover{color:#757575}@media (forced-colors:active){.usa-menu-btn:disabled,.usa-menu-btn:disabled:hover,.usa-menu-btn[aria-disabled=true],.usa-menu-btn[aria-disabled=true]:focus,.usa-menu-btn[aria-disabled=true]:hover{color:GrayText}}@media all and (min-width:64em){.usa-menu-btn{display:none}}.usa-menu-btn:hover{background-color:#1a4480;color:#fff;text-decoration:none}.usa-menu-btn:active,.usa-menu-btn:visited{color:#fff}.usa-overlay{bottom:0;left:0;right:0;top:0;position:fixed;background:rgba(0,0,0,.7);opacity:0;transition:opacity .15s ease-in-out;visibility:hidden;z-index:400}.usa-overlay.is-visible{opacity:1;visibility:visible}@media all and (min-width:64em){.usa-header--basic .usa-navbar{position:relative;width:33%}.usa-header--basic .usa-nav{flex-direction:row;align-items:center;justify-content:flex-end;display:flex;padding:0 0 .5rem .5rem;width:100%}.usa-header--basic .usa-nav-container{align-items:flex-end;justify-content:space-between;display:flex}.usa-header--basic .usa-nav__link:hover,.usa-header--basic .usa-nav__primary-item>.usa-current{position:relative}.usa-header--basic .usa-nav__link:hover::after,.usa-header--basic .usa-nav__primary-item>.usa-current::after{background-color:#005ea2;border-radius:0;content:"";display:block;position:absolute;height:.25rem;left:1rem;right:1rem;bottom:-.25rem}}@media (min-width:64em) and (forced-colors:active){.usa-header--basic .usa-nav__link:hover::after,.usa-header--basic .usa-nav__primary-item>.usa-current::after{background-color:ButtonText}}@media all and (min-width:64em){.usa-header--basic .usa-nav__link[aria-expanded=true]::after,.usa-header--basic .usa-nav__link[aria-expanded=true]:hover::after{display:none}.usa-header--basic .usa-nav__primary{width:auto}.usa-header--basic .usa-nav__primary-item:last-of-type{position:relative}.usa-header--basic .usa-nav__primary-item:last-of-type .usa-nav__submenu{position:absolute;right:0}.usa-header--basic .usa-search{top:0}}.usa-header--basic.usa-header--megamenu .usa-nav__inner{display:flex;flex-direction:column}@media all and (min-width:64em){.usa-header--basic.usa-header--megamenu .usa-nav__inner{display:block;float:right;margin-top:-2.5rem}.usa-header--basic.usa-header--megamenu .usa-nav__primary-item:last-of-type{position:static}.usa-header--extended{padding-top:0}.usa-header--extended .usa-nav__primary-item>.usa-current,.usa-header--extended .usa-nav__primary-item>.usa-nav__link:hover{position:relative}.usa-header--extended .usa-nav__primary-item>.usa-current::after,.usa-header--extended .usa-nav__primary-item>.usa-nav__link:hover::after{background-color:#005ea2;border-radius:0;content:"";display:block;position:absolute;height:.25rem;left:1rem;right:1rem;bottom:0}}@media (min-width:64em) and (forced-colors:active){.usa-header--extended .usa-nav__primary-item>.usa-current::after,.usa-header--extended .usa-nav__primary-item>.usa-nav__link:hover::after{background-color:ButtonText}}@media all and (min-width:64em){.usa-header--extended .usa-nav__link[aria-expanded=true]::after,.usa-header--extended .usa-nav__link[aria-expanded=true]:hover::after{display:none}.usa-header--extended .usa-logo{font-size:2.13rem;margin:2rem 0 1.5rem;max-width:33%}.usa-header--extended .usa-navbar{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem;display:block;height:auto;overflow:auto}}@media all and (min-width:64em) and (min-width:64em){.usa-header--extended .usa-navbar{padding-left:2rem;padding-right:2rem}}@media all and (min-width:64em){.usa-header--extended .usa-nav{border-top:1px solid #dfe1e2;padding:0;width:100%}.usa-header--extended .usa-nav__inner{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem;position:relative}}@media all and (min-width:64em) and (min-width:64em){.usa-header--extended .usa-nav__inner{padding-left:2rem;padding-right:2rem}}@media all and (min-width:64em){.usa-header--extended .usa-nav__primary{margin-left:-1rem}.usa-header--extended .usa-nav__primary::after{clear:both;content:"";display:block}.usa-header--extended .usa-nav__link{padding-bottom:1rem;padding-top:1rem}.usa-header--extended .usa-nav__submenu .usa-grid-full{padding-left:.75rem}.usa-header--extended .usa-nav__submenu.usa-megamenu{left:0;padding-left:2rem;padding-right:2rem}}html.usa-js-loading .usa-nav__submenu,html.usa-js-loading .usa-nav__submenu.usa-megamenu{position:absolute;left:-999em;right:auto}.usa-megamenu .usa-col{flex:1 1 auto}@media all and (min-width:64em){.usa-megamenu .usa-col{flex:4 1 0%}.usa-megamenu .usa-col .usa-nav__submenu-item a{padding-left:.5rem;padding-right:.5rem}.usa-megamenu .usa-col:first-child .usa-nav__submenu-item a{padding-left:0}.usa-megamenu .usa-col:last-child .usa-nav__submenu-item a{padding-right:0}.usa-megamenu.usa-nav__submenu{padding-left:0;padding-right:0;padding-bottom:2rem;padding-top:2rem;left:-33%;right:0;width:auto}.usa-megamenu.usa-nav__submenu::after,.usa-megamenu.usa-nav__submenu::before{bottom:0;top:0;background-color:#162e51;content:"";display:block;position:absolute;width:calc(50vw - 32rem + 2rem)}.usa-megamenu.usa-nav__submenu::before{right:100%}.usa-megamenu.usa-nav__submenu::after{left:100%}.usa-header--extended .usa-megamenu.usa-nav__submenu::after,.usa-header--extended .usa-megamenu.usa-nav__submenu::before{bottom:0;top:0;background-color:#162e51;content:"";display:block;position:absolute;width:calc(50vw - 32rem)}.usa-nav-container{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:2rem;padding-right:2rem}.usa-nav-container::after{clear:both;content:"";display:block}}@media all and (min-width:64em) and (min-width:64em){.usa-nav-container{padding-left:2rem;padding-right:2rem}}.usa-navbar{height:3rem}@media all and (max-width:63.99em){.usa-navbar{align-items:center;border-bottom:1px solid #dfe1e2;display:flex}}@media all and (min-width:64em){.usa-navbar{border-bottom:none;display:inline-block;height:auto}}.usa-hero,.usa-icon-list__content>ol,.usa-icon-list__content>p,.usa-icon-list__content>ul{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem}.usa-hero{line-height:1.5;background-image:url(../img/hero.jpg);background-position:center;background-size:cover;color:#fff}.usa-hero>.grid-container{position:relative;padding-bottom:2rem;padding-top:2rem}.usa-hero__callout{background-color:#162e51;padding:2rem}@media all and (min-width:40em){.usa-hero__callout{max-width:20rem}}.usa-hero__heading{margin-bottom:0;margin-top:0;clear:both;font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.95rem;font-weight:700;color:#00bde3;line-height:1.2}*+.usa-hero__heading{margin-top:1.5em}.usa-hero__heading+*{margin-top:1em}.usa-hero__heading--alt{color:#fff;display:block}.usa-icon-list{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.5;margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;max-width:72ex}.usa-icon-list__item{display:flex;position:relative}.usa-icon-list__item+.usa-icon-list__item,.usa-prose .usa-icon-list__item+.usa-icon-list__item{padding-top:.75rem}.usa-prose .usa-icon-list{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.5;margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;max-width:72ex}.usa-prose .usa-icon-list__item{display:flex;position:relative}.usa-icon-list--base-lightest .usa-icon-list__icon{color:#f0f0f0}.usa-icon-list--base-lighter .usa-icon-list__icon,.usa-identifier__identity-disclaimer a,.usa-identifier__identity-disclaimer a:visited{color:#dfe1e2}.usa-icon-list--base-light .usa-icon-list__icon{color:#a9aeb1}.usa-icon-list--base .usa-icon-list__icon{color:#71767a}.usa-icon-list--base-dark .usa-icon-list__icon{color:#565c65}.usa-icon-list--base-darker .usa-icon-list__icon{color:#3d4551}.usa-icon-list--base-darkest .usa-icon-list__icon{color:#1b1b1b}.usa-icon-list--primary-lighter .usa-icon-list__icon{color:#d9e8f6}.usa-icon-list--primary-light .usa-icon-list__icon{color:#73b3e7}.usa-icon-list--primary .usa-icon-list__icon{color:#005ea2}.usa-icon-list--primary-vivid .usa-icon-list__icon{color:#0050d8}.usa-icon-list--primary-dark .usa-icon-list__icon{color:#1a4480}.usa-icon-list--primary-darker .usa-icon-list__icon{color:#162e51}.usa-icon-list--secondary-lighter .usa-icon-list__icon{color:#f3e1e4}.usa-icon-list--secondary-light .usa-icon-list__icon{color:#f2938c}.usa-icon-list--secondary .usa-icon-list__icon{color:#d83933}.usa-icon-list--secondary-vivid .usa-icon-list__icon{color:#e41d3d}.usa-icon-list--secondary-dark .usa-icon-list__icon{color:#b50909}.usa-icon-list--secondary-darker .usa-icon-list__icon{color:#8b0a03}.usa-icon-list--accent-warm-lighter .usa-icon-list__icon{color:#f2e4d4}.usa-icon-list--accent-warm-light .usa-icon-list__icon{color:#ffbc78}.usa-icon-list--accent-warm .usa-icon-list__icon{color:#fa9441}.usa-icon-list--accent-warm-dark .usa-icon-list__icon{color:#c05600}.usa-icon-list--accent-warm-darker .usa-icon-list__icon{color:#775540}.usa-icon-list--accent-cool-lighter .usa-icon-list__icon{color:#e1f3f8}.usa-icon-list--accent-cool-light .usa-icon-list__icon{color:#97d4ea}.usa-icon-list--accent-cool .usa-icon-list__icon{color:#00bde3}.usa-icon-list--accent-cool-dark .usa-icon-list__icon{color:#28a0cb}.usa-icon-list--accent-cool-darker .usa-icon-list__icon{color:#07648d}.usa-icon-list--error-lighter .usa-icon-list__icon{color:#f4e3db}.usa-icon-list--error-light .usa-icon-list__icon{color:#f39268}.usa-icon-list--error .usa-icon-list__icon{color:#d54309}.usa-icon-list--error-dark .usa-icon-list__icon{color:#b50909}.usa-icon-list--error-darker .usa-icon-list__icon{color:#6f3331}.usa-icon-list--warning-lighter .usa-icon-list__icon{color:#faf3d1}.usa-icon-list--warning-light .usa-icon-list__icon{color:#fee685}.usa-icon-list--warning .usa-icon-list__icon{color:#ffbe2e}.usa-icon-list--warning-dark .usa-icon-list__icon{color:#e5a000}.usa-icon-list--warning-darker .usa-icon-list__icon{color:#936f38}.usa-icon-list--success-lighter .usa-icon-list__icon{color:#ecf3ec}.usa-icon-list--success-light .usa-icon-list__icon{color:#70e17b}.usa-icon-list--success .usa-icon-list__icon{color:#00a91c}.usa-icon-list--success-dark .usa-icon-list__icon{color:#008817}.usa-icon-list--success-darker .usa-icon-list__icon{color:#216e1f}.usa-icon-list--info-lighter .usa-icon-list__icon{color:#e7f6f8}.usa-icon-list--info-light .usa-icon-list__icon{color:#99deea}.usa-icon-list--info .usa-icon-list__icon,.usa-section--dark h1,.usa-section--dark h2,.usa-section--dark h3,.usa-section--dark h4,.usa-section--dark h5,.usa-section--dark h6{color:#00bde3}.usa-icon-list--info-dark .usa-icon-list__icon{color:#009ec1}.usa-icon-list--info-darker .usa-icon-list__icon{color:#2e6276}.usa-icon-list--disabled-lighter .usa-icon-list__icon{color:#c9c9c9}.usa-icon-list--disabled-light .usa-icon-list__icon{color:#919191}.usa-icon-list--disabled .usa-icon-list__icon{color:#757575}.usa-icon-list--disabled-dark .usa-icon-list__icon{color:#454545}.usa-icon-list--disabled-darker .usa-icon-list__icon{color:#1b1b1b}.usa-icon-list--emergency .usa-icon-list__icon{color:#9c3d10}.usa-icon-list--emergency-dark .usa-icon-list__icon{color:#332d29}.usa-icon-list__icon .usa-icon{display:block;height:1.5rem;position:relative;width:1.5rem}.usa-icon-list__content>ol,.usa-icon-list__content>p,.usa-icon-list__content>ul{max-width:72ex}.usa-icon-list[class*=usa-icon-list--size-]{max-width:none}.usa-icon-list--size-micro .usa-icon-list__icon .usa-icon{height:1.005rem;width:1.005rem}.usa-icon-list--size-micro .usa-icon-list__content{max-width:72ex;font-size:.67rem;padding-left:.268rem}.usa-icon-list--size-micro .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.61rem}.usa-icon-list--size-1 .usa-icon-list__icon .usa-icon{height:1.2rem;width:1.2rem}.usa-icon-list--size-1 .usa-icon-list__content{max-width:72ex;font-size:.8rem;padding-left:.32rem}.usa-icon-list--size-1 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.73rem}.usa-icon-list--size-2 .usa-icon-list__icon .usa-icon{height:1.305rem;width:1.305rem}.usa-icon-list--size-2 .usa-icon-list__content{max-width:72ex;font-size:.87rem;padding-left:.348rem}.usa-icon-list--size-2 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.79rem}.usa-icon-list--size-3 .usa-icon-list__icon .usa-icon{height:1.395rem;width:1.395rem}.usa-icon-list--size-3 .usa-icon-list__content{max-width:72ex;font-size:.93rem;padding-left:.372rem}.usa-icon-list--size-3 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.85rem}.usa-icon-list--size-4 .usa-icon-list__icon .usa-icon{height:1.5rem;width:1.5rem}.usa-icon-list--size-4 .usa-icon-list__content{max-width:72ex;font-size:1rem;padding-left:.4rem}.usa-icon-list--size-4 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.91rem}.usa-icon-list--size-5 .usa-icon-list__icon .usa-icon{height:1.59rem;width:1.59rem}.usa-icon-list--size-5 .usa-icon-list__content{max-width:72ex;font-size:1.06rem;padding-left:.424rem}.usa-icon-list--size-5 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.98rem}.usa-icon-list--size-6 .usa-icon-list__icon .usa-icon{height:1.695rem;width:1.695rem}.usa-icon-list--size-6 .usa-icon-list__content{max-width:72ex;font-size:1.13rem;padding-left:.452rem}.usa-icon-list--size-6 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.04rem}.usa-icon-list--size-7 .usa-icon-list__icon .usa-icon{height:1.8rem;width:1.8rem}.usa-icon-list--size-7 .usa-icon-list__content{max-width:72ex;font-size:1.2rem;padding-left:.48rem}.usa-icon-list--size-7 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.1rem}.usa-icon-list--size-8 .usa-icon-list__icon .usa-icon{height:1.995rem;width:1.995rem}.usa-icon-list--size-8 .usa-icon-list__content{max-width:72ex;font-size:1.33rem;padding-left:.532rem}.usa-icon-list--size-8 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.22rem}.usa-icon-list--size-9 .usa-icon-list__icon .usa-icon{height:2.19rem;width:2.19rem}.usa-icon-list--size-9 .usa-icon-list__content{max-width:72ex;font-size:1.46rem;padding-left:.584rem}.usa-icon-list--size-9 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.34rem}.usa-icon-list--size-10 .usa-icon-list__icon .usa-icon{height:2.4rem;width:2.4rem}.usa-icon-list--size-10 .usa-icon-list__content{max-width:72ex;font-size:1.6rem;padding-left:.64rem}.usa-icon-list--size-10 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.46rem}.usa-icon-list--size-11 .usa-icon-list__icon .usa-icon{height:2.79rem;width:2.79rem}.usa-icon-list--size-11 .usa-icon-list__content{max-width:72ex;font-size:1.86rem;padding-left:.744rem}.usa-icon-list--size-11 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.71rem}.usa-icon-list--size-12 .usa-icon-list__icon .usa-icon{height:3.195rem;width:3.195rem}.usa-icon-list--size-12 .usa-icon-list__content{max-width:72ex;font-size:2.13rem;padding-left:.852rem}.usa-icon-list--size-12 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.95rem}.usa-icon-list--size-13 .usa-icon-list__icon .usa-icon{height:3.6rem;width:3.6rem}.usa-icon-list--size-13 .usa-icon-list__content{max-width:72ex;font-size:2.4rem;padding-left:.96rem}.usa-icon-list--size-13 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.2rem}.usa-icon-list--size-14 .usa-icon-list__icon .usa-icon{height:3.99rem;width:3.99rem}.usa-icon-list--size-14 .usa-icon-list__content{max-width:72ex;font-size:2.66rem;padding-left:1.064rem}.usa-icon-list--size-14 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.44rem}.usa-icon-list--size-15 .usa-icon-list__icon .usa-icon{height:4.785rem;width:4.785rem}.usa-icon-list--size-15 .usa-icon-list__content{max-width:72ex;font-size:3.19rem;padding-left:1.276rem}.usa-icon-list--size-15 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.93rem}.usa-icon-list--size-16 .usa-icon-list__icon .usa-icon{height:5.595rem;width:5.595rem}.usa-icon-list--size-16 .usa-icon-list__content{max-width:72ex;font-size:3.73rem;padding-left:1.492rem}.usa-icon-list--size-16 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:3.42rem}.usa-icon-list--size-17 .usa-icon-list__icon .usa-icon{height:6.39rem;width:6.39rem}.usa-icon-list--size-17 .usa-icon-list__content{max-width:72ex;font-size:4.26rem;padding-left:1.704rem}.usa-icon-list--size-17 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:3.9rem}.usa-icon-list--size-18 .usa-icon-list__icon .usa-icon{height:7.98rem;width:7.98rem}.usa-icon-list--size-18 .usa-icon-list__content{max-width:72ex;font-size:5.32rem;padding-left:2.128rem}.usa-icon-list--size-18 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:4.88rem}.usa-icon-list--size-19 .usa-icon-list__icon .usa-icon{height:11.985rem;width:11.985rem}.usa-icon-list--size-19 .usa-icon-list__content{max-width:72ex;font-size:7.99rem;padding-left:3.196rem}.usa-icon-list--size-19 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:7.32rem}.usa-icon-list--size-20 .usa-icon-list__icon .usa-icon{height:13.98rem;width:13.98rem}.usa-icon-list--size-20 .usa-icon-list__content{max-width:72ex;font-size:9.32rem;padding-left:3.728rem}.usa-icon-list--size-20 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:8.54rem}.usa-icon-list--size-3xs .usa-icon-list__icon .usa-icon{height:1.305rem;width:1.305rem}.usa-icon-list--size-3xs .usa-icon-list__content{max-width:72ex;font-size:.87rem;padding-left:.348rem}.usa-icon-list--size-3xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.79rem}.usa-icon-list--size-2xs .usa-icon-list__icon .usa-icon{height:1.395rem;width:1.395rem}.usa-icon-list--size-2xs .usa-icon-list__content{max-width:72ex;font-size:.93rem;padding-left:.372rem}.usa-icon-list--size-2xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.85rem}.usa-icon-list--size-xs .usa-icon-list__icon .usa-icon{height:1.5rem;width:1.5rem}.usa-icon-list--size-xs .usa-icon-list__content{max-width:72ex;font-size:1rem;padding-left:.4rem}.usa-icon-list--size-xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.91rem}.usa-icon-list--size-sm .usa-icon-list__icon .usa-icon{height:1.59rem;width:1.59rem}.usa-icon-list--size-sm .usa-icon-list__content{max-width:72ex;font-size:1.06rem;padding-left:.424rem}.usa-icon-list--size-sm .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.98rem}.usa-icon-list--size-md .usa-icon-list__icon .usa-icon{height:1.695rem;width:1.695rem}.usa-icon-list--size-md .usa-icon-list__content{max-width:72ex;font-size:1.13rem;padding-left:.452rem}.usa-icon-list--size-md .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.04rem}.usa-icon-list--size-lg .usa-icon-list__icon .usa-icon{height:2.19rem;width:2.19rem}.usa-icon-list--size-lg .usa-icon-list__content{max-width:72ex;font-size:1.46rem;padding-left:.584rem}.usa-icon-list--size-lg .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.34rem}.usa-icon-list--size-xl .usa-icon-list__icon .usa-icon{height:3.195rem;width:3.195rem}.usa-icon-list--size-xl .usa-icon-list__content{max-width:72ex;font-size:2.13rem;padding-left:.852rem}.usa-icon-list--size-xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.95rem}.usa-icon-list--size-2xl .usa-icon-list__icon .usa-icon{height:3.99rem;width:3.99rem}.usa-icon-list--size-2xl .usa-icon-list__content{max-width:72ex;font-size:2.66rem;padding-left:1.064rem}.usa-icon-list--size-2xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.44rem}.usa-icon-list--size-3xl .usa-icon-list__icon .usa-icon{height:4.785rem;width:4.785rem}.usa-icon-list--size-3xl .usa-icon-list__content{max-width:72ex;font-size:3.19rem;padding-left:1.276rem}.usa-icon-list--size-3xl .usa-icon-list__content .usa-icon-list__title,.usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.93rem}@media all and (min-width:30em){.mobile-lg\:usa-icon-list--size-micro .usa-icon-list__icon .usa-icon{height:1.005rem;width:1.005rem}.mobile-lg\:usa-icon-list--size-micro .usa-icon-list__content{max-width:72ex;font-size:.67rem;padding-left:.268rem}.mobile-lg\:usa-icon-list--size-micro .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.61rem}.mobile-lg\:usa-icon-list--size-1 .usa-icon-list__icon .usa-icon{height:1.2rem;width:1.2rem}.mobile-lg\:usa-icon-list--size-1 .usa-icon-list__content{max-width:72ex;font-size:.8rem;padding-left:.32rem}.mobile-lg\:usa-icon-list--size-1 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.73rem}.mobile-lg\:usa-icon-list--size-2 .usa-icon-list__icon .usa-icon{height:1.305rem;width:1.305rem}.mobile-lg\:usa-icon-list--size-2 .usa-icon-list__content{max-width:72ex;font-size:.87rem;padding-left:.348rem}.mobile-lg\:usa-icon-list--size-2 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.79rem}.mobile-lg\:usa-icon-list--size-3 .usa-icon-list__icon .usa-icon{height:1.395rem;width:1.395rem}.mobile-lg\:usa-icon-list--size-3 .usa-icon-list__content{max-width:72ex;font-size:.93rem;padding-left:.372rem}.mobile-lg\:usa-icon-list--size-3 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.85rem}.mobile-lg\:usa-icon-list--size-4 .usa-icon-list__icon .usa-icon{height:1.5rem;width:1.5rem}.mobile-lg\:usa-icon-list--size-4 .usa-icon-list__content{max-width:72ex;font-size:1rem;padding-left:.4rem}.mobile-lg\:usa-icon-list--size-4 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.91rem}.mobile-lg\:usa-icon-list--size-5 .usa-icon-list__icon .usa-icon{height:1.59rem;width:1.59rem}.mobile-lg\:usa-icon-list--size-5 .usa-icon-list__content{max-width:72ex;font-size:1.06rem;padding-left:.424rem}.mobile-lg\:usa-icon-list--size-5 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.98rem}.mobile-lg\:usa-icon-list--size-6 .usa-icon-list__icon .usa-icon{height:1.695rem;width:1.695rem}.mobile-lg\:usa-icon-list--size-6 .usa-icon-list__content{max-width:72ex;font-size:1.13rem;padding-left:.452rem}.mobile-lg\:usa-icon-list--size-6 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.04rem}.mobile-lg\:usa-icon-list--size-7 .usa-icon-list__icon .usa-icon{height:1.8rem;width:1.8rem}.mobile-lg\:usa-icon-list--size-7 .usa-icon-list__content{max-width:72ex;font-size:1.2rem;padding-left:.48rem}.mobile-lg\:usa-icon-list--size-7 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.1rem}.mobile-lg\:usa-icon-list--size-8 .usa-icon-list__icon .usa-icon{height:1.995rem;width:1.995rem}.mobile-lg\:usa-icon-list--size-8 .usa-icon-list__content{max-width:72ex;font-size:1.33rem;padding-left:.532rem}.mobile-lg\:usa-icon-list--size-8 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.22rem}.mobile-lg\:usa-icon-list--size-9 .usa-icon-list__icon .usa-icon{height:2.19rem;width:2.19rem}.mobile-lg\:usa-icon-list--size-9 .usa-icon-list__content{max-width:72ex;font-size:1.46rem;padding-left:.584rem}.mobile-lg\:usa-icon-list--size-9 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.34rem}.mobile-lg\:usa-icon-list--size-10 .usa-icon-list__icon .usa-icon{height:2.4rem;width:2.4rem}.mobile-lg\:usa-icon-list--size-10 .usa-icon-list__content{max-width:72ex;font-size:1.6rem;padding-left:.64rem}.mobile-lg\:usa-icon-list--size-10 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.46rem}.mobile-lg\:usa-icon-list--size-11 .usa-icon-list__icon .usa-icon{height:2.79rem;width:2.79rem}.mobile-lg\:usa-icon-list--size-11 .usa-icon-list__content{max-width:72ex;font-size:1.86rem;padding-left:.744rem}.mobile-lg\:usa-icon-list--size-11 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.71rem}.mobile-lg\:usa-icon-list--size-12 .usa-icon-list__icon .usa-icon{height:3.195rem;width:3.195rem}.mobile-lg\:usa-icon-list--size-12 .usa-icon-list__content{max-width:72ex;font-size:2.13rem;padding-left:.852rem}.mobile-lg\:usa-icon-list--size-12 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.95rem}.mobile-lg\:usa-icon-list--size-13 .usa-icon-list__icon .usa-icon{height:3.6rem;width:3.6rem}.mobile-lg\:usa-icon-list--size-13 .usa-icon-list__content{max-width:72ex;font-size:2.4rem;padding-left:.96rem}.mobile-lg\:usa-icon-list--size-13 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.2rem}.mobile-lg\:usa-icon-list--size-14 .usa-icon-list__icon .usa-icon{height:3.99rem;width:3.99rem}.mobile-lg\:usa-icon-list--size-14 .usa-icon-list__content{max-width:72ex;font-size:2.66rem;padding-left:1.064rem}.mobile-lg\:usa-icon-list--size-14 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.44rem}.mobile-lg\:usa-icon-list--size-15 .usa-icon-list__icon .usa-icon{height:4.785rem;width:4.785rem}.mobile-lg\:usa-icon-list--size-15 .usa-icon-list__content{max-width:72ex;font-size:3.19rem;padding-left:1.276rem}.mobile-lg\:usa-icon-list--size-15 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.93rem}.mobile-lg\:usa-icon-list--size-16 .usa-icon-list__icon .usa-icon{height:5.595rem;width:5.595rem}.mobile-lg\:usa-icon-list--size-16 .usa-icon-list__content{max-width:72ex;font-size:3.73rem;padding-left:1.492rem}.mobile-lg\:usa-icon-list--size-16 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:3.42rem}.mobile-lg\:usa-icon-list--size-17 .usa-icon-list__icon .usa-icon{height:6.39rem;width:6.39rem}.mobile-lg\:usa-icon-list--size-17 .usa-icon-list__content{max-width:72ex;font-size:4.26rem;padding-left:1.704rem}.mobile-lg\:usa-icon-list--size-17 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:3.9rem}.mobile-lg\:usa-icon-list--size-18 .usa-icon-list__icon .usa-icon{height:7.98rem;width:7.98rem}.mobile-lg\:usa-icon-list--size-18 .usa-icon-list__content{max-width:72ex;font-size:5.32rem;padding-left:2.128rem}.mobile-lg\:usa-icon-list--size-18 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:4.88rem}.mobile-lg\:usa-icon-list--size-19 .usa-icon-list__icon .usa-icon{height:11.985rem;width:11.985rem}.mobile-lg\:usa-icon-list--size-19 .usa-icon-list__content{max-width:72ex;font-size:7.99rem;padding-left:3.196rem}.mobile-lg\:usa-icon-list--size-19 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:7.32rem}.mobile-lg\:usa-icon-list--size-20 .usa-icon-list__icon .usa-icon{height:13.98rem;width:13.98rem}.mobile-lg\:usa-icon-list--size-20 .usa-icon-list__content{max-width:72ex;font-size:9.32rem;padding-left:3.728rem}.mobile-lg\:usa-icon-list--size-20 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:8.54rem}.mobile-lg\:usa-icon-list--size-3xs .usa-icon-list__icon .usa-icon{height:1.305rem;width:1.305rem}.mobile-lg\:usa-icon-list--size-3xs .usa-icon-list__content{max-width:72ex;font-size:.87rem;padding-left:.348rem}.mobile-lg\:usa-icon-list--size-3xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.79rem}.mobile-lg\:usa-icon-list--size-2xs .usa-icon-list__icon .usa-icon{height:1.395rem;width:1.395rem}.mobile-lg\:usa-icon-list--size-2xs .usa-icon-list__content{max-width:72ex;font-size:.93rem;padding-left:.372rem}.mobile-lg\:usa-icon-list--size-2xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.85rem}.mobile-lg\:usa-icon-list--size-xs .usa-icon-list__icon .usa-icon{height:1.5rem;width:1.5rem}.mobile-lg\:usa-icon-list--size-xs .usa-icon-list__content{max-width:72ex;font-size:1rem;padding-left:.4rem}.mobile-lg\:usa-icon-list--size-xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.91rem}.mobile-lg\:usa-icon-list--size-sm .usa-icon-list__icon .usa-icon{height:1.59rem;width:1.59rem}.mobile-lg\:usa-icon-list--size-sm .usa-icon-list__content{max-width:72ex;font-size:1.06rem;padding-left:.424rem}.mobile-lg\:usa-icon-list--size-sm .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.98rem}.mobile-lg\:usa-icon-list--size-md .usa-icon-list__icon .usa-icon{height:1.695rem;width:1.695rem}.mobile-lg\:usa-icon-list--size-md .usa-icon-list__content{max-width:72ex;font-size:1.13rem;padding-left:.452rem}.mobile-lg\:usa-icon-list--size-md .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.04rem}.mobile-lg\:usa-icon-list--size-lg .usa-icon-list__icon .usa-icon{height:2.19rem;width:2.19rem}.mobile-lg\:usa-icon-list--size-lg .usa-icon-list__content{max-width:72ex;font-size:1.46rem;padding-left:.584rem}.mobile-lg\:usa-icon-list--size-lg .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.34rem}.mobile-lg\:usa-icon-list--size-xl .usa-icon-list__icon .usa-icon{height:3.195rem;width:3.195rem}.mobile-lg\:usa-icon-list--size-xl .usa-icon-list__content{max-width:72ex;font-size:2.13rem;padding-left:.852rem}.mobile-lg\:usa-icon-list--size-xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.95rem}.mobile-lg\:usa-icon-list--size-2xl .usa-icon-list__icon .usa-icon{height:3.99rem;width:3.99rem}.mobile-lg\:usa-icon-list--size-2xl .usa-icon-list__content{max-width:72ex;font-size:2.66rem;padding-left:1.064rem}.mobile-lg\:usa-icon-list--size-2xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.44rem}.mobile-lg\:usa-icon-list--size-3xl .usa-icon-list__icon .usa-icon{height:4.785rem;width:4.785rem}.mobile-lg\:usa-icon-list--size-3xl .usa-icon-list__content{max-width:72ex;font-size:3.19rem;padding-left:1.276rem}.mobile-lg\:usa-icon-list--size-3xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.93rem}}@media all and (min-width:40em){.tablet\:usa-icon-list--size-micro .usa-icon-list__icon .usa-icon{height:1.005rem;width:1.005rem}.tablet\:usa-icon-list--size-micro .usa-icon-list__content{max-width:72ex;font-size:.67rem;padding-left:.268rem}.tablet\:usa-icon-list--size-micro .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.61rem}.tablet\:usa-icon-list--size-1 .usa-icon-list__icon .usa-icon{height:1.2rem;width:1.2rem}.tablet\:usa-icon-list--size-1 .usa-icon-list__content{max-width:72ex;font-size:.8rem;padding-left:.32rem}.tablet\:usa-icon-list--size-1 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.73rem}.tablet\:usa-icon-list--size-2 .usa-icon-list__icon .usa-icon{height:1.305rem;width:1.305rem}.tablet\:usa-icon-list--size-2 .usa-icon-list__content{max-width:72ex;font-size:.87rem;padding-left:.348rem}.tablet\:usa-icon-list--size-2 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.79rem}.tablet\:usa-icon-list--size-3 .usa-icon-list__icon .usa-icon{height:1.395rem;width:1.395rem}.tablet\:usa-icon-list--size-3 .usa-icon-list__content{max-width:72ex;font-size:.93rem;padding-left:.372rem}.tablet\:usa-icon-list--size-3 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.85rem}.tablet\:usa-icon-list--size-4 .usa-icon-list__icon .usa-icon{height:1.5rem;width:1.5rem}.tablet\:usa-icon-list--size-4 .usa-icon-list__content{max-width:72ex;font-size:1rem;padding-left:.4rem}.tablet\:usa-icon-list--size-4 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.91rem}.tablet\:usa-icon-list--size-5 .usa-icon-list__icon .usa-icon{height:1.59rem;width:1.59rem}.tablet\:usa-icon-list--size-5 .usa-icon-list__content{max-width:72ex;font-size:1.06rem;padding-left:.424rem}.tablet\:usa-icon-list--size-5 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.98rem}.tablet\:usa-icon-list--size-6 .usa-icon-list__icon .usa-icon{height:1.695rem;width:1.695rem}.tablet\:usa-icon-list--size-6 .usa-icon-list__content{max-width:72ex;font-size:1.13rem;padding-left:.452rem}.tablet\:usa-icon-list--size-6 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.04rem}.tablet\:usa-icon-list--size-7 .usa-icon-list__icon .usa-icon{height:1.8rem;width:1.8rem}.tablet\:usa-icon-list--size-7 .usa-icon-list__content{max-width:72ex;font-size:1.2rem;padding-left:.48rem}.tablet\:usa-icon-list--size-7 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.1rem}.tablet\:usa-icon-list--size-8 .usa-icon-list__icon .usa-icon{height:1.995rem;width:1.995rem}.tablet\:usa-icon-list--size-8 .usa-icon-list__content{max-width:72ex;font-size:1.33rem;padding-left:.532rem}.tablet\:usa-icon-list--size-8 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.22rem}.tablet\:usa-icon-list--size-9 .usa-icon-list__icon .usa-icon{height:2.19rem;width:2.19rem}.tablet\:usa-icon-list--size-9 .usa-icon-list__content{max-width:72ex;font-size:1.46rem;padding-left:.584rem}.tablet\:usa-icon-list--size-9 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.34rem}.tablet\:usa-icon-list--size-10 .usa-icon-list__icon .usa-icon{height:2.4rem;width:2.4rem}.tablet\:usa-icon-list--size-10 .usa-icon-list__content{max-width:72ex;font-size:1.6rem;padding-left:.64rem}.tablet\:usa-icon-list--size-10 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.46rem}.tablet\:usa-icon-list--size-11 .usa-icon-list__icon .usa-icon{height:2.79rem;width:2.79rem}.tablet\:usa-icon-list--size-11 .usa-icon-list__content{max-width:72ex;font-size:1.86rem;padding-left:.744rem}.tablet\:usa-icon-list--size-11 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.71rem}.tablet\:usa-icon-list--size-12 .usa-icon-list__icon .usa-icon{height:3.195rem;width:3.195rem}.tablet\:usa-icon-list--size-12 .usa-icon-list__content{max-width:72ex;font-size:2.13rem;padding-left:.852rem}.tablet\:usa-icon-list--size-12 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.95rem}.tablet\:usa-icon-list--size-13 .usa-icon-list__icon .usa-icon{height:3.6rem;width:3.6rem}.tablet\:usa-icon-list--size-13 .usa-icon-list__content{max-width:72ex;font-size:2.4rem;padding-left:.96rem}.tablet\:usa-icon-list--size-13 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.2rem}.tablet\:usa-icon-list--size-14 .usa-icon-list__icon .usa-icon{height:3.99rem;width:3.99rem}.tablet\:usa-icon-list--size-14 .usa-icon-list__content{max-width:72ex;font-size:2.66rem;padding-left:1.064rem}.tablet\:usa-icon-list--size-14 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.44rem}.tablet\:usa-icon-list--size-15 .usa-icon-list__icon .usa-icon{height:4.785rem;width:4.785rem}.tablet\:usa-icon-list--size-15 .usa-icon-list__content{max-width:72ex;font-size:3.19rem;padding-left:1.276rem}.tablet\:usa-icon-list--size-15 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.93rem}.tablet\:usa-icon-list--size-16 .usa-icon-list__icon .usa-icon{height:5.595rem;width:5.595rem}.tablet\:usa-icon-list--size-16 .usa-icon-list__content{max-width:72ex;font-size:3.73rem;padding-left:1.492rem}.tablet\:usa-icon-list--size-16 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:3.42rem}.tablet\:usa-icon-list--size-17 .usa-icon-list__icon .usa-icon{height:6.39rem;width:6.39rem}.tablet\:usa-icon-list--size-17 .usa-icon-list__content{max-width:72ex;font-size:4.26rem;padding-left:1.704rem}.tablet\:usa-icon-list--size-17 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:3.9rem}.tablet\:usa-icon-list--size-18 .usa-icon-list__icon .usa-icon{height:7.98rem;width:7.98rem}.tablet\:usa-icon-list--size-18 .usa-icon-list__content{max-width:72ex;font-size:5.32rem;padding-left:2.128rem}.tablet\:usa-icon-list--size-18 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:4.88rem}.tablet\:usa-icon-list--size-19 .usa-icon-list__icon .usa-icon{height:11.985rem;width:11.985rem}.tablet\:usa-icon-list--size-19 .usa-icon-list__content{max-width:72ex;font-size:7.99rem;padding-left:3.196rem}.tablet\:usa-icon-list--size-19 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:7.32rem}.tablet\:usa-icon-list--size-20 .usa-icon-list__icon .usa-icon{height:13.98rem;width:13.98rem}.tablet\:usa-icon-list--size-20 .usa-icon-list__content{max-width:72ex;font-size:9.32rem;padding-left:3.728rem}.tablet\:usa-icon-list--size-20 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:8.54rem}.tablet\:usa-icon-list--size-3xs .usa-icon-list__icon .usa-icon{height:1.305rem;width:1.305rem}.tablet\:usa-icon-list--size-3xs .usa-icon-list__content{max-width:72ex;font-size:.87rem;padding-left:.348rem}.tablet\:usa-icon-list--size-3xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.79rem}.tablet\:usa-icon-list--size-2xs .usa-icon-list__icon .usa-icon{height:1.395rem;width:1.395rem}.tablet\:usa-icon-list--size-2xs .usa-icon-list__content{max-width:72ex;font-size:.93rem;padding-left:.372rem}.tablet\:usa-icon-list--size-2xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.85rem}.tablet\:usa-icon-list--size-xs .usa-icon-list__icon .usa-icon{height:1.5rem;width:1.5rem}.tablet\:usa-icon-list--size-xs .usa-icon-list__content{max-width:72ex;font-size:1rem;padding-left:.4rem}.tablet\:usa-icon-list--size-xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.91rem}.tablet\:usa-icon-list--size-sm .usa-icon-list__icon .usa-icon{height:1.59rem;width:1.59rem}.tablet\:usa-icon-list--size-sm .usa-icon-list__content{max-width:72ex;font-size:1.06rem;padding-left:.424rem}.tablet\:usa-icon-list--size-sm .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.98rem}.tablet\:usa-icon-list--size-md .usa-icon-list__icon .usa-icon{height:1.695rem;width:1.695rem}.tablet\:usa-icon-list--size-md .usa-icon-list__content{max-width:72ex;font-size:1.13rem;padding-left:.452rem}.tablet\:usa-icon-list--size-md .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.04rem}.tablet\:usa-icon-list--size-lg .usa-icon-list__icon .usa-icon{height:2.19rem;width:2.19rem}.tablet\:usa-icon-list--size-lg .usa-icon-list__content{max-width:72ex;font-size:1.46rem;padding-left:.584rem}.tablet\:usa-icon-list--size-lg .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.34rem}.tablet\:usa-icon-list--size-xl .usa-icon-list__icon .usa-icon{height:3.195rem;width:3.195rem}.tablet\:usa-icon-list--size-xl .usa-icon-list__content{max-width:72ex;font-size:2.13rem;padding-left:.852rem}.tablet\:usa-icon-list--size-xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.95rem}.tablet\:usa-icon-list--size-2xl .usa-icon-list__icon .usa-icon{height:3.99rem;width:3.99rem}.tablet\:usa-icon-list--size-2xl .usa-icon-list__content{max-width:72ex;font-size:2.66rem;padding-left:1.064rem}.tablet\:usa-icon-list--size-2xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.44rem}.tablet\:usa-icon-list--size-3xl .usa-icon-list__icon .usa-icon{height:4.785rem;width:4.785rem}.tablet\:usa-icon-list--size-3xl .usa-icon-list__content{max-width:72ex;font-size:3.19rem;padding-left:1.276rem}.tablet\:usa-icon-list--size-3xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.93rem}}@media all and (min-width:64em){.desktop\:usa-icon-list--size-micro .usa-icon-list__icon .usa-icon{height:1.005rem;width:1.005rem}.desktop\:usa-icon-list--size-micro .usa-icon-list__content{max-width:72ex;font-size:.67rem;padding-left:.268rem}.desktop\:usa-icon-list--size-micro .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.61rem}.desktop\:usa-icon-list--size-1 .usa-icon-list__icon .usa-icon{height:1.2rem;width:1.2rem}.desktop\:usa-icon-list--size-1 .usa-icon-list__content{max-width:72ex;font-size:.8rem;padding-left:.32rem}.desktop\:usa-icon-list--size-1 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.73rem}.desktop\:usa-icon-list--size-2 .usa-icon-list__icon .usa-icon{height:1.305rem;width:1.305rem}.desktop\:usa-icon-list--size-2 .usa-icon-list__content{max-width:72ex;font-size:.87rem;padding-left:.348rem}.desktop\:usa-icon-list--size-2 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.79rem}.desktop\:usa-icon-list--size-3 .usa-icon-list__icon .usa-icon{height:1.395rem;width:1.395rem}.desktop\:usa-icon-list--size-3 .usa-icon-list__content{max-width:72ex;font-size:.93rem;padding-left:.372rem}.desktop\:usa-icon-list--size-3 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.85rem}.desktop\:usa-icon-list--size-4 .usa-icon-list__icon .usa-icon{height:1.5rem;width:1.5rem}.desktop\:usa-icon-list--size-4 .usa-icon-list__content{max-width:72ex;font-size:1rem;padding-left:.4rem}.desktop\:usa-icon-list--size-4 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.91rem}.desktop\:usa-icon-list--size-5 .usa-icon-list__icon .usa-icon{height:1.59rem;width:1.59rem}.desktop\:usa-icon-list--size-5 .usa-icon-list__content{max-width:72ex;font-size:1.06rem;padding-left:.424rem}.desktop\:usa-icon-list--size-5 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.98rem}.desktop\:usa-icon-list--size-6 .usa-icon-list__icon .usa-icon{height:1.695rem;width:1.695rem}.desktop\:usa-icon-list--size-6 .usa-icon-list__content{max-width:72ex;font-size:1.13rem;padding-left:.452rem}.desktop\:usa-icon-list--size-6 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.04rem}.desktop\:usa-icon-list--size-7 .usa-icon-list__icon .usa-icon{height:1.8rem;width:1.8rem}.desktop\:usa-icon-list--size-7 .usa-icon-list__content{max-width:72ex;font-size:1.2rem;padding-left:.48rem}.desktop\:usa-icon-list--size-7 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.1rem}.desktop\:usa-icon-list--size-8 .usa-icon-list__icon .usa-icon{height:1.995rem;width:1.995rem}.desktop\:usa-icon-list--size-8 .usa-icon-list__content{max-width:72ex;font-size:1.33rem;padding-left:.532rem}.desktop\:usa-icon-list--size-8 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.22rem}.desktop\:usa-icon-list--size-9 .usa-icon-list__icon .usa-icon{height:2.19rem;width:2.19rem}.desktop\:usa-icon-list--size-9 .usa-icon-list__content{max-width:72ex;font-size:1.46rem;padding-left:.584rem}.desktop\:usa-icon-list--size-9 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.34rem}.desktop\:usa-icon-list--size-10 .usa-icon-list__icon .usa-icon{height:2.4rem;width:2.4rem}.desktop\:usa-icon-list--size-10 .usa-icon-list__content{max-width:72ex;font-size:1.6rem;padding-left:.64rem}.desktop\:usa-icon-list--size-10 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.46rem}.desktop\:usa-icon-list--size-11 .usa-icon-list__icon .usa-icon{height:2.79rem;width:2.79rem}.desktop\:usa-icon-list--size-11 .usa-icon-list__content{max-width:72ex;font-size:1.86rem;padding-left:.744rem}.desktop\:usa-icon-list--size-11 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.71rem}.desktop\:usa-icon-list--size-12 .usa-icon-list__icon .usa-icon{height:3.195rem;width:3.195rem}.desktop\:usa-icon-list--size-12 .usa-icon-list__content{max-width:72ex;font-size:2.13rem;padding-left:.852rem}.desktop\:usa-icon-list--size-12 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.95rem}.desktop\:usa-icon-list--size-13 .usa-icon-list__icon .usa-icon{height:3.6rem;width:3.6rem}.desktop\:usa-icon-list--size-13 .usa-icon-list__content{max-width:72ex;font-size:2.4rem;padding-left:.96rem}.desktop\:usa-icon-list--size-13 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.2rem}.desktop\:usa-icon-list--size-14 .usa-icon-list__icon .usa-icon{height:3.99rem;width:3.99rem}.desktop\:usa-icon-list--size-14 .usa-icon-list__content{max-width:72ex;font-size:2.66rem;padding-left:1.064rem}.desktop\:usa-icon-list--size-14 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.44rem}.desktop\:usa-icon-list--size-15 .usa-icon-list__icon .usa-icon{height:4.785rem;width:4.785rem}.desktop\:usa-icon-list--size-15 .usa-icon-list__content{max-width:72ex;font-size:3.19rem;padding-left:1.276rem}.desktop\:usa-icon-list--size-15 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.93rem}.desktop\:usa-icon-list--size-16 .usa-icon-list__icon .usa-icon{height:5.595rem;width:5.595rem}.desktop\:usa-icon-list--size-16 .usa-icon-list__content{max-width:72ex;font-size:3.73rem;padding-left:1.492rem}.desktop\:usa-icon-list--size-16 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:3.42rem}.desktop\:usa-icon-list--size-17 .usa-icon-list__icon .usa-icon{height:6.39rem;width:6.39rem}.desktop\:usa-icon-list--size-17 .usa-icon-list__content{max-width:72ex;font-size:4.26rem;padding-left:1.704rem}.desktop\:usa-icon-list--size-17 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:3.9rem}.desktop\:usa-icon-list--size-18 .usa-icon-list__icon .usa-icon{height:7.98rem;width:7.98rem}.desktop\:usa-icon-list--size-18 .usa-icon-list__content{max-width:72ex;font-size:5.32rem;padding-left:2.128rem}.desktop\:usa-icon-list--size-18 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:4.88rem}.desktop\:usa-icon-list--size-19 .usa-icon-list__icon .usa-icon{height:11.985rem;width:11.985rem}.desktop\:usa-icon-list--size-19 .usa-icon-list__content{max-width:72ex;font-size:7.99rem;padding-left:3.196rem}.desktop\:usa-icon-list--size-19 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:7.32rem}.desktop\:usa-icon-list--size-20 .usa-icon-list__icon .usa-icon{height:13.98rem;width:13.98rem}.desktop\:usa-icon-list--size-20 .usa-icon-list__content{max-width:72ex;font-size:9.32rem;padding-left:3.728rem}.desktop\:usa-icon-list--size-20 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:8.54rem}.desktop\:usa-icon-list--size-3xs .usa-icon-list__icon .usa-icon{height:1.305rem;width:1.305rem}.desktop\:usa-icon-list--size-3xs .usa-icon-list__content{max-width:72ex;font-size:.87rem;padding-left:.348rem}.desktop\:usa-icon-list--size-3xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.79rem}.desktop\:usa-icon-list--size-2xs .usa-icon-list__icon .usa-icon{height:1.395rem;width:1.395rem}.desktop\:usa-icon-list--size-2xs .usa-icon-list__content{max-width:72ex;font-size:.93rem;padding-left:.372rem}.desktop\:usa-icon-list--size-2xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.85rem}.desktop\:usa-icon-list--size-xs .usa-icon-list__icon .usa-icon{height:1.5rem;width:1.5rem}.desktop\:usa-icon-list--size-xs .usa-icon-list__content{max-width:72ex;font-size:1rem;padding-left:.4rem}.desktop\:usa-icon-list--size-xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.91rem}.desktop\:usa-icon-list--size-sm .usa-icon-list__icon .usa-icon{height:1.59rem;width:1.59rem}.desktop\:usa-icon-list--size-sm .usa-icon-list__content{max-width:72ex;font-size:1.06rem;padding-left:.424rem}.desktop\:usa-icon-list--size-sm .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:.98rem}.desktop\:usa-icon-list--size-md .usa-icon-list__icon .usa-icon{height:1.695rem;width:1.695rem}.desktop\:usa-icon-list--size-md .usa-icon-list__content{max-width:72ex;font-size:1.13rem;padding-left:.452rem}.desktop\:usa-icon-list--size-md .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.04rem}.desktop\:usa-icon-list--size-lg .usa-icon-list__icon .usa-icon{height:2.19rem;width:2.19rem}.desktop\:usa-icon-list--size-lg .usa-icon-list__content{max-width:72ex;font-size:1.46rem;padding-left:.584rem}.desktop\:usa-icon-list--size-lg .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.34rem}.desktop\:usa-icon-list--size-xl .usa-icon-list__icon .usa-icon{height:3.195rem;width:3.195rem}.desktop\:usa-icon-list--size-xl .usa-icon-list__content{max-width:72ex;font-size:2.13rem;padding-left:.852rem}.desktop\:usa-icon-list--size-xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.95rem}.desktop\:usa-icon-list--size-2xl .usa-icon-list__icon .usa-icon{height:3.99rem;width:3.99rem}.desktop\:usa-icon-list--size-2xl .usa-icon-list__content{max-width:72ex;font-size:2.66rem;padding-left:1.064rem}.desktop\:usa-icon-list--size-2xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.44rem}.desktop\:usa-icon-list--size-3xl .usa-icon-list__icon .usa-icon{height:4.785rem;width:4.785rem}.desktop\:usa-icon-list--size-3xl .usa-icon-list__content{max-width:72ex;font-size:3.19rem;padding-left:1.276rem}.desktop\:usa-icon-list--size-3xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.93rem}}.usa-icon-list__title{font-size:.98rem;line-height:1.2;margin-bottom:0;padding-top:.425ex}.usa-icon-list__title+*{margin-top:.5rem}.usa-icon-list__content{font-size:1.06rem;padding-left:.424rem}.usa-icon-list__content>:first-child{margin-top:0}.usa-icon-list__content>:last-child{margin-bottom:0}.usa-icon-list__content ul li,.usa-process-list__item ul{list-style-type:disc}.usa-identifier{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.3;color:#fff;background-color:#1b1b1b;padding-bottom:1rem}.usa-identifier__container{margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem;max-width:64rem}@media all and (min-width:64em){.usa-identifier__container{padding-left:2rem;padding-right:2rem}}.usa-identifier__section{padding-bottom:1rem;padding-top:1rem}@media all and (min-width:40em){.usa-identifier__section--masthead .usa-identifier__container{align-items:center;display:flex}}.usa-identifier__logos{display:flex;margin-right:1rem}.usa-identifier__logo{text-decoration:none;height:3rem;display:block}.usa-identifier__logo+.usa-identifier__logo{margin-left:.5rem}.usa-identifier__logo-img{height:100%;width:auto}.usa-identifier__identity{flex:1 1 0%;margin-top:1rem}@media all and (min-width:40em){.usa-identifier__identity{margin-top:0}}.usa-identifier__identity-disclaimer,.usa-identifier__identity-domain{margin:0;padding:0}.usa-identifier__identity-domain{color:#a9aeb1}.usa-identifier__identity-disclaimer{font-weight:700}.usa-identifier__identity-disclaimer a:active,.usa-identifier__identity-disclaimer a:hover{color:#f0f0f0}@media all and (min-width:40em){.usa-identifier__section--required-links{padding-bottom:.5rem;padding-top:.5rem}}@media all and (min-width:64em){.usa-identifier__section--required-links{font-size:1rem}}.usa-identifier__required-links-list{list-style-type:none;padding-left:0;margin-bottom:0;margin-top:0}@media all and (min-width:40em){.usa-identifier__required-links-list{-moz-column-count:2;column-count:2;-moz-column-gap:2rem;column-gap:2rem;-moz-column-fill:balance;column-fill:balance}}@media all and (min-width:64em){.usa-identifier__required-links-list{-moz-column-count:4;column-count:4}}.usa-identifier__required-links-item{-moz-column-break-inside:avoid;break-inside:avoid;margin-bottom:.75rem}.usa-identifier__required-links-item:last-child,.usa-process-list__item ul li:last-child{margin-bottom:0}@media all and (min-width:64em){.usa-identifier__required-links-item{margin-bottom:.5rem}}.usa-identifier__required-link,.usa-identifier__required-link.usa-link{color:#a9aeb1;display:inline-block}.usa-identifier__required-link.usa-link:visited,.usa-identifier__required-link:visited{color:#a9aeb1}.usa-identifier__required-link.usa-link:active,.usa-identifier__required-link.usa-link:hover,.usa-identifier__required-link:active,.usa-identifier__required-link:hover,.usa-identifier__section--usagov a:visited{color:#dfe1e2}.usa-identifier__section--usagov a{color:#dfe1e2;font-weight:700;display:inline-block;margin-top:.5rem}.usa-identifier__section--usagov a:active,.usa-identifier__section--usagov a:hover{color:#f0f0f0}@media all and (min-width:40em){.usa-identifier__section--usagov a{margin-top:0}.usa-identifier__usagov-description{display:inline-flex}}.usa-in-page-nav-container{align-items:flex-start;display:flex}.usa-in-page-nav-container main{max-width:64rem;width:100%}.usa-in-page-nav{color:#1b1b1b;display:none;margin-left:2rem;margin-top:1.25rem;max-width:15rem;order:2;position:sticky;top:2rem;width:100%}@media all and (min-width:40em){.usa-in-page-nav{display:block}}.usa-in-page-nav__nav{color:#1b1b1b;background-color:#fff;border-radius:.5rem;padding:1rem}.usa-in-page-nav__heading{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:.93rem;line-height:1.3;font-weight:700;margin-bottom:1rem;margin-top:0;padding:0}.usa-in-page-nav__list{margin-bottom:0;margin-top:0;list-style-type:none;border-left:1px solid rgba(27,27,27,.25);padding:0}.usa-in-page-nav__list__item{border-top:1px solid #dfe1e2}.usa-in-page-nav__list a:not(.usa-button){display:block;padding:.5rem 1rem;text-decoration:none}.usa-in-page-nav__list a:not(.usa-button):not(.usa-current){color:#005ea2}.usa-in-page-nav__list a:not(.usa-button):not(.usa-current):focus{outline-offset:0}.usa-in-page-nav__list .usa-current{position:relative;color:#005ea2;font-weight:700}.usa-in-page-nav__list .usa-current::after{background-color:#005ea2;border-radius:99rem;content:"";display:block;position:absolute;bottom:.25rem;top:.25rem;width:.25rem;left:.25rem}@media all and (min-width:40em){.usa-in-page-nav__list .usa-current{position:relative}.usa-in-page-nav__list .usa-current::after{background-color:#005ea2;border-radius:99rem;content:"";display:block;position:absolute;bottom:.25rem;top:.25rem;width:.25rem;left:0}}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:visited,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:visited{color:#54278f}.usa-in-page-nav__list a:not(.usa-button):not(.usa-current):active,.usa-in-page-nav__list a:not(.usa-button):not(.usa-current):hover,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:hover{color:#1a4480}.usa-in-page-nav__list a:not(.usa-button):not(.usa-current):visited{color:#005ea2}.usa-in-page-nav__list a:not(.usa-button).usa-current{color:#1b1b1b;font-weight:inherit}.usa-in-page-nav__list a:not(.usa-button):hover{text-decoration:underline;background-color:none}.usa-in-page-nav__list a:not(.usa-button).usa-current{position:static}.usa-in-page-nav__list a:not(.usa-button).usa-current::after{background-color:#1b1b1b;border-radius:0;bottom:-1px;left:0;top:0;width:.25rem;z-index:100}.usa-in-page-nav__item{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:.93rem;line-height:1.1;border:0;position:relative}.usa-in-page-nav__item--primary{font-weight:700}.usa-language{flex-direction:row;padding:0 0 .25rem .5rem;width:100%}.usa-language--small .usa-button{padding-left:.75rem;padding-right:.75rem;padding-bottom:0;padding-top:0;font-size:.87rem;height:2rem;margin-top:.3rem;min-width:3rem}.usa-language,.usa-language-container{align-items:center;justify-content:flex-end;display:flex}.usa-nav-container .usa-language-container{align-self:center;margin-left:0;position:absolute;right:5rem;top:1rem}@media all and (min-width:64em){.usa-nav-container .usa-language-container{align-self:flex-end;margin-left:.75rem;margin-bottom:.5rem;position:relative;right:inherit;top:-2px}}.usa-language__link{margin-right:0}.usa-language__primary{width:auto}.usa-language__primary-item:last-of-type{position:relative}.usa-language__primary-item:last-of-type .usa-language__submenu{position:absolute;right:0}.usa-language__submenu{list-style-type:none;padding-left:0;margin:0;background-color:#162e51;position:absolute;width:15rem;z-index:400}.usa-language__submenu-item{border-top:1px solid #dfe1e2;font-size:.93rem}.usa-language__submenu .usa-current::after,.usa-language__submenu[aria-hidden=true]{display:none}@media all and (min-width:40em){.usa-language__submenu .usa-current::after{display:none}}.usa-language__submenu a:not(.usa-button){padding-left:2rem}.usa-language__submenu .usa-language__submenu a:not(.usa-button){padding-left:3rem}.usa-language__submenu .usa-language__submenu .usa-language__submenu a:not(.usa-button){padding-left:4rem}.usa-language__submenu .usa-language__submenu-item a{color:#fff;display:block;line-height:1.3;padding:0;padding:.5rem;text-decoration:none}.usa-language__submenu .usa-language__submenu-item a:focus{outline-offset:-.25rem}.usa-language__submenu .usa-language__submenu-item a:hover{color:#fff;text-decoration:underline}.usa-language__submenu-list{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0}.usa-language__submenu-list .usa-language__submenu-list-item{margin:0;font-size:.93rem}.usa-language__submenu-list .usa-language__submenu-list-item a{line-height:1.3}.usa-layout-docs__sidenav{padding-top:2rem}@media all and (min-width:64em){.usa-layout-docs__sidenav{padding-top:0}}.grid-container{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}@media all and (min-width:64em){.grid-container{padding-left:2rem;padding-right:2rem}}.grid-container-card{margin-left:auto;margin-right:auto;max-width:10rem;padding-left:1rem;padding-right:1rem}@media all and (min-width:64em){.grid-container-card{padding-left:2rem;padding-right:2rem}}.grid-container-card-lg{margin-left:auto;margin-right:auto;max-width:15rem;padding-left:1rem;padding-right:1rem}@media all and (min-width:64em){.grid-container-card-lg{padding-left:2rem;padding-right:2rem}}.grid-container-mobile{margin-left:auto;margin-right:auto;max-width:20rem;padding-left:1rem;padding-right:1rem}@media all and (min-width:64em){.grid-container-mobile{padding-left:2rem;padding-right:2rem}}.grid-container-mobile-lg{margin-left:auto;margin-right:auto;max-width:30rem;padding-left:1rem;padding-right:1rem}@media all and (min-width:64em){.grid-container-mobile-lg{padding-left:2rem;padding-right:2rem}}.grid-container-tablet{margin-left:auto;margin-right:auto;max-width:40rem;padding-left:1rem;padding-right:1rem}@media all and (min-width:64em){.grid-container-tablet{padding-left:2rem;padding-right:2rem}}.grid-container-tablet-lg{margin-left:auto;margin-right:auto;max-width:55rem;padding-left:1rem;padding-right:1rem}@media all and (min-width:64em){.grid-container-tablet-lg{padding-left:2rem;padding-right:2rem}}.grid-container-desktop{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}@media all and (min-width:64em){.grid-container-desktop{padding-left:2rem;padding-right:2rem}}.grid-container-desktop-lg{margin-left:auto;margin-right:auto;max-width:75rem;padding-left:1rem;padding-right:1rem}@media all and (min-width:64em){.grid-container-desktop-lg{padding-left:2rem;padding-right:2rem}}.grid-container-widescreen{margin-left:auto;margin-right:auto;max-width:87.5rem;padding-left:1rem;padding-right:1rem}@media all and (min-width:64em){.grid-container-widescreen{padding-left:2rem;padding-right:2rem}}@media all and (min-width:30em){.mobile-lg\:grid-container{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:30em) and (min-width:64em){.mobile-lg\:grid-container{padding-left:2rem;padding-right:2rem}}@media all and (min-width:30em){.mobile-lg\:grid-container-card{margin-left:auto;margin-right:auto;max-width:10rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:30em) and (min-width:64em){.mobile-lg\:grid-container-card{padding-left:2rem;padding-right:2rem}}@media all and (min-width:30em){.mobile-lg\:grid-container-card-lg{margin-left:auto;margin-right:auto;max-width:15rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:30em) and (min-width:64em){.mobile-lg\:grid-container-card-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width:30em){.mobile-lg\:grid-container-mobile{margin-left:auto;margin-right:auto;max-width:20rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:30em) and (min-width:64em){.mobile-lg\:grid-container-mobile{padding-left:2rem;padding-right:2rem}}@media all and (min-width:30em){.mobile-lg\:grid-container-mobile-lg{margin-left:auto;margin-right:auto;max-width:30rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:30em) and (min-width:64em){.mobile-lg\:grid-container-mobile-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width:30em){.mobile-lg\:grid-container-tablet{margin-left:auto;margin-right:auto;max-width:40rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:30em) and (min-width:64em){.mobile-lg\:grid-container-tablet{padding-left:2rem;padding-right:2rem}}@media all and (min-width:30em){.mobile-lg\:grid-container-tablet-lg{margin-left:auto;margin-right:auto;max-width:55rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:30em) and (min-width:64em){.mobile-lg\:grid-container-tablet-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width:30em){.mobile-lg\:grid-container-desktop{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:30em) and (min-width:64em){.mobile-lg\:grid-container-desktop{padding-left:2rem;padding-right:2rem}}@media all and (min-width:30em){.mobile-lg\:grid-container-desktop-lg{margin-left:auto;margin-right:auto;max-width:75rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:30em) and (min-width:64em){.mobile-lg\:grid-container-desktop-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width:30em){.mobile-lg\:grid-container-widescreen{margin-left:auto;margin-right:auto;max-width:87.5rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:30em) and (min-width:64em){.mobile-lg\:grid-container-widescreen{padding-left:2rem;padding-right:2rem}}@media all and (min-width:40em){.tablet\:grid-container{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:40em) and (min-width:64em){.tablet\:grid-container{padding-left:2rem;padding-right:2rem}}@media all and (min-width:40em){.tablet\:grid-container-card{margin-left:auto;margin-right:auto;max-width:10rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:40em) and (min-width:64em){.tablet\:grid-container-card{padding-left:2rem;padding-right:2rem}}@media all and (min-width:40em){.tablet\:grid-container-card-lg{margin-left:auto;margin-right:auto;max-width:15rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:40em) and (min-width:64em){.tablet\:grid-container-card-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width:40em){.tablet\:grid-container-mobile{margin-left:auto;margin-right:auto;max-width:20rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:40em) and (min-width:64em){.tablet\:grid-container-mobile{padding-left:2rem;padding-right:2rem}}@media all and (min-width:40em){.tablet\:grid-container-mobile-lg{margin-left:auto;margin-right:auto;max-width:30rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:40em) and (min-width:64em){.tablet\:grid-container-mobile-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width:40em){.tablet\:grid-container-tablet{margin-left:auto;margin-right:auto;max-width:40rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:40em) and (min-width:64em){.tablet\:grid-container-tablet{padding-left:2rem;padding-right:2rem}}@media all and (min-width:40em){.tablet\:grid-container-tablet-lg{margin-left:auto;margin-right:auto;max-width:55rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:40em) and (min-width:64em){.tablet\:grid-container-tablet-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width:40em){.tablet\:grid-container-desktop{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:40em) and (min-width:64em){.tablet\:grid-container-desktop{padding-left:2rem;padding-right:2rem}}@media all and (min-width:40em){.tablet\:grid-container-desktop-lg{margin-left:auto;margin-right:auto;max-width:75rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:40em) and (min-width:64em){.tablet\:grid-container-desktop-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width:40em){.tablet\:grid-container-widescreen{margin-left:auto;margin-right:auto;max-width:87.5rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:40em) and (min-width:64em){.tablet\:grid-container-widescreen{padding-left:2rem;padding-right:2rem}}@media all and (min-width:64em){.desktop\:grid-container{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:64em) and (min-width:64em){.desktop\:grid-container{padding-left:2rem;padding-right:2rem}}@media all and (min-width:64em){.desktop\:grid-container-card{margin-left:auto;margin-right:auto;max-width:10rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:64em) and (min-width:64em){.desktop\:grid-container-card{padding-left:2rem;padding-right:2rem}}@media all and (min-width:64em){.desktop\:grid-container-card-lg{margin-left:auto;margin-right:auto;max-width:15rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:64em) and (min-width:64em){.desktop\:grid-container-card-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width:64em){.desktop\:grid-container-mobile{margin-left:auto;margin-right:auto;max-width:20rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:64em) and (min-width:64em){.desktop\:grid-container-mobile{padding-left:2rem;padding-right:2rem}}@media all and (min-width:64em){.desktop\:grid-container-mobile-lg{margin-left:auto;margin-right:auto;max-width:30rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:64em) and (min-width:64em){.desktop\:grid-container-mobile-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width:64em){.desktop\:grid-container-tablet{margin-left:auto;margin-right:auto;max-width:40rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:64em) and (min-width:64em){.desktop\:grid-container-tablet{padding-left:2rem;padding-right:2rem}}@media all and (min-width:64em){.desktop\:grid-container-tablet-lg{margin-left:auto;margin-right:auto;max-width:55rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:64em) and (min-width:64em){.desktop\:grid-container-tablet-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width:64em){.desktop\:grid-container-desktop{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:64em) and (min-width:64em){.desktop\:grid-container-desktop{padding-left:2rem;padding-right:2rem}}@media all and (min-width:64em){.desktop\:grid-container-desktop-lg{margin-left:auto;margin-right:auto;max-width:75rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:64em) and (min-width:64em){.desktop\:grid-container-desktop-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width:64em){.desktop\:grid-container-widescreen{margin-left:auto;margin-right:auto;max-width:87.5rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width:64em) and (min-width:64em){.desktop\:grid-container-widescreen{padding-left:2rem;padding-right:2rem}}.grid-row{display:flex;flex-wrap:wrap}.grid-row.grid-gap{margin-left:-.5rem;margin-right:-.5rem}.grid-row.grid-gap>*{padding-left:.5rem;padding-right:.5rem}@media all and (min-width:64em){.grid-row.grid-gap{margin-left:-1rem;margin-right:-1rem}.grid-row.grid-gap>*{padding-left:1rem;padding-right:1rem}}.grid-row.grid-gap-0{margin-left:0;margin-right:0}.grid-row.grid-gap-0>*{padding-left:0;padding-right:0}.grid-row.grid-gap-2px{margin-left:-1px;margin-right:-1px}.grid-row.grid-gap-2px>*{padding-left:1px;padding-right:1px}.grid-row.grid-gap-05{margin-left:-2px;margin-right:-2px}.grid-row.grid-gap-05>*{padding-left:2px;padding-right:2px}.grid-row.grid-gap-1{margin-left:-.25rem;margin-right:-.25rem}.grid-row.grid-gap-1>*{padding-left:.25rem;padding-right:.25rem}.grid-row.grid-gap-2{margin-left:-.5rem;margin-right:-.5rem}.grid-row.grid-gap-2>*{padding-left:.5rem;padding-right:.5rem}.grid-row.grid-gap-3{margin-left:-.75rem;margin-right:-.75rem}.grid-row.grid-gap-3>*{padding-left:.75rem;padding-right:.75rem}.grid-row.grid-gap-4{margin-left:-1rem;margin-right:-1rem}.grid-row.grid-gap-4>*{padding-left:1rem;padding-right:1rem}.grid-row.grid-gap-5{margin-left:-1.25rem;margin-right:-1.25rem}.grid-row.grid-gap-5>*{padding-left:1.25rem;padding-right:1.25rem}.grid-row.grid-gap-6{margin-left:-1.5rem;margin-right:-1.5rem}.grid-row.grid-gap-6>*{padding-left:1.5rem;padding-right:1.5rem}.grid-row.grid-gap-sm{margin-left:-1px;margin-right:-1px}.grid-row.grid-gap-sm>*{padding-left:1px;padding-right:1px}.grid-row.grid-gap-md{margin-left:-.5rem;margin-right:-.5rem}.grid-row.grid-gap-md>*{padding-left:.5rem;padding-right:.5rem}.grid-row.grid-gap-lg{margin-left:-.75rem;margin-right:-.75rem}.grid-row.grid-gap-lg>*{padding-left:.75rem;padding-right:.75rem}@media all and (min-width:30em){.grid-row.mobile-lg\:grid-gap-0{margin-left:0;margin-right:0}.grid-row.mobile-lg\:grid-gap-0>*{padding-left:0;padding-right:0}.grid-row.mobile-lg\:grid-gap-2px{margin-left:-1px;margin-right:-1px}.grid-row.mobile-lg\:grid-gap-2px>*{padding-left:1px;padding-right:1px}.grid-row.mobile-lg\:grid-gap-05{margin-left:-2px;margin-right:-2px}.grid-row.mobile-lg\:grid-gap-05>*{padding-left:2px;padding-right:2px}.grid-row.mobile-lg\:grid-gap-1{margin-left:-.25rem;margin-right:-.25rem}.grid-row.mobile-lg\:grid-gap-1>*{padding-left:.25rem;padding-right:.25rem}.grid-row.mobile-lg\:grid-gap-2{margin-left:-.5rem;margin-right:-.5rem}.grid-row.mobile-lg\:grid-gap-2>*{padding-left:.5rem;padding-right:.5rem}.grid-row.mobile-lg\:grid-gap-3{margin-left:-.75rem;margin-right:-.75rem}.grid-row.mobile-lg\:grid-gap-3>*{padding-left:.75rem;padding-right:.75rem}.grid-row.mobile-lg\:grid-gap-4{margin-left:-1rem;margin-right:-1rem}.grid-row.mobile-lg\:grid-gap-4>*{padding-left:1rem;padding-right:1rem}.grid-row.mobile-lg\:grid-gap-5{margin-left:-1.25rem;margin-right:-1.25rem}.grid-row.mobile-lg\:grid-gap-5>*{padding-left:1.25rem;padding-right:1.25rem}.grid-row.mobile-lg\:grid-gap-6{margin-left:-1.5rem;margin-right:-1.5rem}.grid-row.mobile-lg\:grid-gap-6>*{padding-left:1.5rem;padding-right:1.5rem}.grid-row.mobile-lg\:grid-gap-sm{margin-left:-1px;margin-right:-1px}.grid-row.mobile-lg\:grid-gap-sm>*{padding-left:1px;padding-right:1px}.grid-row.mobile-lg\:grid-gap-md{margin-left:-.5rem;margin-right:-.5rem}.grid-row.mobile-lg\:grid-gap-md>*{padding-left:.5rem;padding-right:.5rem}.grid-row.mobile-lg\:grid-gap-lg{margin-left:-.75rem;margin-right:-.75rem}.grid-row.mobile-lg\:grid-gap-lg>*{padding-left:.75rem;padding-right:.75rem}}@media all and (min-width:40em){.grid-row.tablet\:grid-gap-0{margin-left:0;margin-right:0}.grid-row.tablet\:grid-gap-0>*{padding-left:0;padding-right:0}.grid-row.tablet\:grid-gap-2px{margin-left:-1px;margin-right:-1px}.grid-row.tablet\:grid-gap-2px>*{padding-left:1px;padding-right:1px}.grid-row.tablet\:grid-gap-05{margin-left:-2px;margin-right:-2px}.grid-row.tablet\:grid-gap-05>*{padding-left:2px;padding-right:2px}.grid-row.tablet\:grid-gap-1{margin-left:-.25rem;margin-right:-.25rem}.grid-row.tablet\:grid-gap-1>*{padding-left:.25rem;padding-right:.25rem}.grid-row.tablet\:grid-gap-2{margin-left:-.5rem;margin-right:-.5rem}.grid-row.tablet\:grid-gap-2>*{padding-left:.5rem;padding-right:.5rem}.grid-row.tablet\:grid-gap-3{margin-left:-.75rem;margin-right:-.75rem}.grid-row.tablet\:grid-gap-3>*{padding-left:.75rem;padding-right:.75rem}.grid-row.tablet\:grid-gap-4{margin-left:-1rem;margin-right:-1rem}.grid-row.tablet\:grid-gap-4>*{padding-left:1rem;padding-right:1rem}.grid-row.tablet\:grid-gap-5{margin-left:-1.25rem;margin-right:-1.25rem}.grid-row.tablet\:grid-gap-5>*{padding-left:1.25rem;padding-right:1.25rem}.grid-row.tablet\:grid-gap-6{margin-left:-1.5rem;margin-right:-1.5rem}.grid-row.tablet\:grid-gap-6>*{padding-left:1.5rem;padding-right:1.5rem}.grid-row.tablet\:grid-gap-sm{margin-left:-1px;margin-right:-1px}.grid-row.tablet\:grid-gap-sm>*{padding-left:1px;padding-right:1px}.grid-row.tablet\:grid-gap-md{margin-left:-.5rem;margin-right:-.5rem}.grid-row.tablet\:grid-gap-md>*{padding-left:.5rem;padding-right:.5rem}.grid-row.tablet\:grid-gap-lg{margin-left:-.75rem;margin-right:-.75rem}.grid-row.tablet\:grid-gap-lg>*{padding-left:.75rem;padding-right:.75rem}}@media all and (min-width:64em){.grid-row.desktop\:grid-gap-0{margin-left:0;margin-right:0}.grid-row.desktop\:grid-gap-0>*{padding-left:0;padding-right:0}.grid-row.desktop\:grid-gap-2px{margin-left:-1px;margin-right:-1px}.grid-row.desktop\:grid-gap-2px>*{padding-left:1px;padding-right:1px}.grid-row.desktop\:grid-gap-05{margin-left:-2px;margin-right:-2px}.grid-row.desktop\:grid-gap-05>*{padding-left:2px;padding-right:2px}.grid-row.desktop\:grid-gap-1{margin-left:-.25rem;margin-right:-.25rem}.grid-row.desktop\:grid-gap-1>*{padding-left:.25rem;padding-right:.25rem}.grid-row.desktop\:grid-gap-2{margin-left:-.5rem;margin-right:-.5rem}.grid-row.desktop\:grid-gap-2>*{padding-left:.5rem;padding-right:.5rem}.grid-row.desktop\:grid-gap-3{margin-left:-.75rem;margin-right:-.75rem}.grid-row.desktop\:grid-gap-3>*{padding-left:.75rem;padding-right:.75rem}.grid-row.desktop\:grid-gap-4{margin-left:-1rem;margin-right:-1rem}.grid-row.desktop\:grid-gap-4>*{padding-left:1rem;padding-right:1rem}.grid-row.desktop\:grid-gap-5{margin-left:-1.25rem;margin-right:-1.25rem}.grid-row.desktop\:grid-gap-5>*{padding-left:1.25rem;padding-right:1.25rem}.grid-row.desktop\:grid-gap-6{margin-left:-1.5rem;margin-right:-1.5rem}.grid-row.desktop\:grid-gap-6>*{padding-left:1.5rem;padding-right:1.5rem}.grid-row.desktop\:grid-gap-sm{margin-left:-1px;margin-right:-1px}.grid-row.desktop\:grid-gap-sm>*{padding-left:1px;padding-right:1px}.grid-row.desktop\:grid-gap-md{margin-left:-.5rem;margin-right:-.5rem}.grid-row.desktop\:grid-gap-md>*{padding-left:.5rem;padding-right:.5rem}.grid-row.desktop\:grid-gap-lg{margin-left:-.75rem;margin-right:-.75rem}.grid-row.desktop\:grid-gap-lg>*{padding-left:.75rem;padding-right:.75rem}}[class*=grid-col]{position:relative;width:100%;box-sizing:border-box}.grid-col{flex:1 1 0%;width:auto;max-width:100%;min-width:1px}.grid-col-auto,.grid-col-fill{flex:0 1 auto;width:auto;max-width:100%}.grid-col-fill{flex:1 1 0%;min-width:1px}.grid-col-1,.grid-col-2{flex:0 1 auto;width:8.3333333333%}.grid-col-2{width:16.6666666667%}.grid-col-3,.grid-col-4{flex:0 1 auto;width:25%}.grid-col-4{width:33.3333333333%}.grid-col-5,.grid-col-6{flex:0 1 auto;width:41.6666666667%}.grid-col-6{width:50%}.grid-col-7,.grid-col-8{flex:0 1 auto;width:58.3333333333%}.grid-col-8{width:66.6666666667%}.grid-col-10,.grid-col-9{flex:0 1 auto;width:75%}.grid-col-10{width:83.3333333333%}.grid-col-11,.grid-col-12{flex:0 1 auto;width:91.6666666667%}.grid-col-12{width:100%}@media all and (min-width:30em){.mobile-lg\:grid-col,.mobile-lg\:grid-col-fill{flex:1 1 0%;width:auto;max-width:100%;min-width:1px}.mobile-lg\:grid-col-auto{flex:0 1 auto;width:auto;max-width:100%}.mobile-lg\:grid-col-1{flex:0 1 auto;width:8.3333333333%}.mobile-lg\:grid-col-2{flex:0 1 auto;width:16.6666666667%}.mobile-lg\:grid-col-3{flex:0 1 auto;width:25%}.mobile-lg\:grid-col-4{flex:0 1 auto;width:33.3333333333%}.mobile-lg\:grid-col-5{flex:0 1 auto;width:41.6666666667%}.mobile-lg\:grid-col-6{flex:0 1 auto;width:50%}.mobile-lg\:grid-col-7{flex:0 1 auto;width:58.3333333333%}.mobile-lg\:grid-col-8{flex:0 1 auto;width:66.6666666667%}.mobile-lg\:grid-col-9{flex:0 1 auto;width:75%}.mobile-lg\:grid-col-10{flex:0 1 auto;width:83.3333333333%}.mobile-lg\:grid-col-11{flex:0 1 auto;width:91.6666666667%}.mobile-lg\:grid-col-12{flex:0 1 auto;width:100%}}@media all and (min-width:40em){.tablet\:grid-col,.tablet\:grid-col-fill{flex:1 1 0%;width:auto;max-width:100%;min-width:1px}.tablet\:grid-col-auto{flex:0 1 auto;width:auto;max-width:100%}.tablet\:grid-col-1{flex:0 1 auto;width:8.3333333333%}.tablet\:grid-col-2{flex:0 1 auto;width:16.6666666667%}.tablet\:grid-col-3{flex:0 1 auto;width:25%}.tablet\:grid-col-4{flex:0 1 auto;width:33.3333333333%}.tablet\:grid-col-5{flex:0 1 auto;width:41.6666666667%}.tablet\:grid-col-6{flex:0 1 auto;width:50%}.tablet\:grid-col-7{flex:0 1 auto;width:58.3333333333%}.tablet\:grid-col-8{flex:0 1 auto;width:66.6666666667%}.tablet\:grid-col-9{flex:0 1 auto;width:75%}.tablet\:grid-col-10{flex:0 1 auto;width:83.3333333333%}.tablet\:grid-col-11{flex:0 1 auto;width:91.6666666667%}.tablet\:grid-col-12{flex:0 1 auto;width:100%}}@media all and (min-width:64em){.desktop\:grid-col,.desktop\:grid-col-fill{flex:1 1 0%;width:auto;max-width:100%;min-width:1px}.desktop\:grid-col-auto{flex:0 1 auto;width:auto;max-width:100%}.desktop\:grid-col-1{flex:0 1 auto;width:8.3333333333%}.desktop\:grid-col-2{flex:0 1 auto;width:16.6666666667%}.desktop\:grid-col-3{flex:0 1 auto;width:25%}.desktop\:grid-col-4{flex:0 1 auto;width:33.3333333333%}.desktop\:grid-col-5{flex:0 1 auto;width:41.6666666667%}.desktop\:grid-col-6{flex:0 1 auto;width:50%}.desktop\:grid-col-7{flex:0 1 auto;width:58.3333333333%}.desktop\:grid-col-8{flex:0 1 auto;width:66.6666666667%}.desktop\:grid-col-9{flex:0 1 auto;width:75%}.desktop\:grid-col-10{flex:0 1 auto;width:83.3333333333%}.desktop\:grid-col-11{flex:0 1 auto;width:91.6666666667%}.desktop\:grid-col-12{flex:0 1 auto;width:100%}}.grid-offset-1{margin-left:8.3333333333%}.grid-offset-2{margin-left:16.6666666667%}.grid-offset-3{margin-left:25%}.grid-offset-4{margin-left:33.3333333333%}.grid-offset-5{margin-left:41.6666666667%}.grid-offset-6{margin-left:50%}.grid-offset-7{margin-left:58.3333333333%}.grid-offset-8{margin-left:66.6666666667%}.grid-offset-9{margin-left:75%}.grid-offset-10{margin-left:83.3333333333%}.grid-offset-11{margin-left:91.6666666667%}.grid-offset-12{margin-left:100%}.grid-offset-none{margin-left:0}@media all and (min-width:30em){.mobile-lg\:grid-offset-1{margin-left:8.3333333333%}.mobile-lg\:grid-offset-2{margin-left:16.6666666667%}.mobile-lg\:grid-offset-3{margin-left:25%}.mobile-lg\:grid-offset-4{margin-left:33.3333333333%}.mobile-lg\:grid-offset-5{margin-left:41.6666666667%}.mobile-lg\:grid-offset-6{margin-left:50%}.mobile-lg\:grid-offset-7{margin-left:58.3333333333%}.mobile-lg\:grid-offset-8{margin-left:66.6666666667%}.mobile-lg\:grid-offset-9{margin-left:75%}.mobile-lg\:grid-offset-10{margin-left:83.3333333333%}.mobile-lg\:grid-offset-11{margin-left:91.6666666667%}.mobile-lg\:grid-offset-12{margin-left:100%}.mobile-lg\:grid-offset-none{margin-left:0}}@media all and (min-width:40em){.tablet\:grid-offset-1{margin-left:8.3333333333%}.tablet\:grid-offset-2{margin-left:16.6666666667%}.tablet\:grid-offset-3{margin-left:25%}.tablet\:grid-offset-4{margin-left:33.3333333333%}.tablet\:grid-offset-5{margin-left:41.6666666667%}.tablet\:grid-offset-6{margin-left:50%}.tablet\:grid-offset-7{margin-left:58.3333333333%}.tablet\:grid-offset-8{margin-left:66.6666666667%}.tablet\:grid-offset-9{margin-left:75%}.tablet\:grid-offset-10{margin-left:83.3333333333%}.tablet\:grid-offset-11{margin-left:91.6666666667%}.tablet\:grid-offset-12{margin-left:100%}.tablet\:grid-offset-none{margin-left:0}}@media all and (min-width:64em){.desktop\:grid-offset-1{margin-left:8.3333333333%}.desktop\:grid-offset-2{margin-left:16.6666666667%}.desktop\:grid-offset-3{margin-left:25%}.desktop\:grid-offset-4{margin-left:33.3333333333%}.desktop\:grid-offset-5{margin-left:41.6666666667%}.desktop\:grid-offset-6{margin-left:50%}.desktop\:grid-offset-7{margin-left:58.3333333333%}.desktop\:grid-offset-8{margin-left:66.6666666667%}.desktop\:grid-offset-9{margin-left:75%}.desktop\:grid-offset-10{margin-left:83.3333333333%}.desktop\:grid-offset-11{margin-left:91.6666666667%}.desktop\:grid-offset-12{margin-left:100%}.desktop\:grid-offset-none{margin-left:0}}.usa-media-block{align-items:flex-start;display:flex}.usa-media-block__img{flex-shrink:0;margin-right:.5rem}.usa-media-block__body{flex:1 1 0%}.usa-js-no-click{-webkit-user-select:none;-moz-user-select:none;user-select:none}.usa-js-no-click .usa-modal,.usa-js-no-click .usa-modal *{pointer-events:auto;-webkit-user-select:text;-moz-user-select:text;user-select:text}.usa-js-no-click,[data-open-modal] *{pointer-events:none}.usa-modal-wrapper{text-align:center;transition:opacity .15s ease-in-out}.usa-modal-wrapper.is-hidden{visibility:hidden;opacity:0;position:fixed}.usa-modal-wrapper.is-visible{visibility:visible;opacity:1;position:fixed;z-index:99999}.usa-modal-overlay{background:rgba(0,0,0,.7);bottom:0;height:100%;left:0;overflow:scroll;overflow-x:hidden;padding:1.5rem;position:fixed;scroll-behavior:smooth;top:0;width:100%}.usa-modal-overlay:before{content:"";display:inline-block;height:100%;vertical-align:middle}.usa-modal-overlay[data-force-action=true]{pointer-events:none}.usa-modal-overlay[data-force-action=true] *{pointer-events:auto}.usa-js-loading .usa-modal-wrapper{position:absolute;left:-999em;right:auto}.usa-js-loading .usa-modal-wrapper:target{position:static}.usa-modal{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.5;border-radius:.5rem;background:#fff;color:#1b1b1b;display:inline-block;margin:1.25rem auto;max-width:30rem;position:relative;text-align:left;vertical-align:middle;width:100%}.usa-modal:focus{outline:0}.usa-modal__content{display:flex;flex-direction:column-reverse;padding-top:2rem;width:100%}.usa-modal__main{margin:0 auto;padding:.5rem 2rem 2rem}.usa-modal-wrapper [data-close-modal]>.usa-icon,.usa-modal-wrapper [data-close-modal]>.usa-icon use{pointer-events:none!important}.usa-modal__close{align-items:center;align-self:flex-end;background-color:transparent;color:#71767a;display:flex;flex-shrink:0;font-size:.93rem;margin:-2rem 0 0 auto;padding:.25rem;width:auto}.usa-modal__close:active,.usa-modal__close:hover{background-color:transparent;color:#1b1b1b}.usa-modal__close:focus{outline-offset:0}.usa-modal__close .usa-icon{height:2rem;margin:2px 2px 0 0;width:2rem}.usa-modal__heading{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.34rem;line-height:1.4;margin-top:0}.usa-modal__footer{margin-top:1.5rem}.usa-modal--lg{max-width:55rem;width:100%}.usa-modal--lg .usa-modal__main{padding-bottom:4rem;padding-top:1.25rem;width:100%;max-width:40rem}@media all and (min-width:40em){.usa-modal--lg .usa-modal__heading{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.95rem}}.usa-js-modal--active{overflow:hidden}.usa-nav{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:.9}@media all and (max-width:63.99em){.usa-nav{right:0;bottom:0;top:0;position:fixed;background:#fff;border-right:0;display:none;flex-direction:column;overflow-y:auto;padding:1rem;width:15rem;z-index:500}.usa-nav.is-visible{animation:slidein-left .3s ease-in-out;display:flex}}@media all and (min-width:64em){.usa-nav{float:right;position:relative}}.usa-nav .usa-search{margin-top:1rem}@media all and (min-width:64em){.usa-nav .usa-search{margin-left:1rem;margin-top:0}}.usa-nav .usa-accordion{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:.9}@media all and (max-width:63.99em){.usa-nav__primary{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0}.usa-nav__primary>li{margin-bottom:0;max-width:unset}.usa-nav__primary-item{border-top:1px solid #dfe1e2}.usa-nav__primary a:not(.usa-button){display:block;padding:.5rem 1rem;text-decoration:none}.usa-nav__primary a:not(.usa-button):hover{background-color:#f0f0f0;text-decoration:none}.usa-nav__primary a:not(.usa-button):not(.usa-current){color:#565c65}.usa-nav__primary a:not(.usa-button):not(.usa-current):hover{color:#005ea2}.usa-nav__primary a:not(.usa-button):not(.usa-current):focus{outline-offset:0}.usa-nav__primary .usa-current{position:relative;color:#005ea2;font-weight:700}.usa-nav__primary .usa-current::after{background-color:#005ea2;border-radius:99rem;content:"";display:block;position:absolute;bottom:.25rem;top:.25rem;width:.25rem;left:.25rem}}@media all and (max-width:63.99em) and (min-width:40em){.usa-nav__primary .usa-current{position:relative}.usa-nav__primary .usa-current::after{background-color:#005ea2;border-radius:99rem;content:"";display:block;position:absolute;bottom:.25rem;top:.25rem;width:.25rem;left:0}}@media all and (max-width:63.99em){.usa-nav__primary a{padding-bottom:.75rem;padding-top:.75rem}}@media all and (min-width:64em){.usa-nav__primary{display:flex;align-items:stretch}}.usa-nav__primary .usa-nav__primary-item a{text-decoration:none}.usa-nav__primary>.usa-nav__primary-item{line-height:1.1}@media all and (min-width:64em){.usa-nav__primary>.usa-nav__primary-item{font-size:.93rem;line-height:.9}.usa-nav__primary>.usa-nav__primary-item>a{line-height:.9;padding:1rem;align-items:center;color:#565c65;display:flex;font-weight:700;height:100%}.usa-nav__primary>.usa-nav__primary-item>a:hover{color:#005ea2}.usa-nav__primary>.usa-nav__primary-item>button{height:100%}.usa-nav__primary a{padding-bottom:.5rem;padding-top:.5rem}}.usa-nav__primary button{background-color:transparent;border:0;border-radius:0;box-shadow:none;justify-content:normal;text-align:left;margin:0;padding:0;position:relative;color:#565c65;font-weight:400;line-height:1.1;padding:.75rem 1rem;text-decoration:none;width:100%}.usa-nav__primary button:visited{color:#54278f}.usa-nav__primary button:active{color:#162e51}.usa-nav__primary button:focus{outline:.25rem solid #2491ff;outline-offset:0}.usa-nav__primary button.usa-button--active,.usa-nav__primary button.usa-button--disabled,.usa-nav__primary button.usa-button--hover,.usa-nav__primary button:active,.usa-nav__primary button:disabled,.usa-nav__primary button:disabled.usa-button--active,.usa-nav__primary button:disabled.usa-button--hover,.usa-nav__primary button:disabled.usa-focus,.usa-nav__primary button:disabled:active,.usa-nav__primary button:disabled:focus,.usa-nav__primary button:disabled:hover,.usa-nav__primary button:hover,.usa-nav__primary button[aria-disabled=true],.usa-nav__primary button[aria-disabled=true].usa-button--active,.usa-nav__primary button[aria-disabled=true].usa-button--hover,.usa-nav__primary button[aria-disabled=true].usa-focus,.usa-nav__primary button[aria-disabled=true]:active,.usa-nav__primary button[aria-disabled=true]:focus,.usa-nav__primary button[aria-disabled=true]:hover{background-color:transparent;box-shadow:none;text-decoration:underline}.usa-nav__primary button.usa-button--hover{color:#1a4480}.usa-nav__primary button.usa-button--active{color:#162e51}.usa-nav__primary button:disabled,.usa-nav__primary button:disabled:hover,.usa-nav__primary button[aria-disabled=true],.usa-nav__primary button[aria-disabled=true]:focus,.usa-nav__primary button[aria-disabled=true]:hover{color:#757575}@media (forced-colors:active){.usa-nav__primary button:disabled,.usa-nav__primary button:disabled:hover,.usa-nav__primary button[aria-disabled=true],.usa-nav__primary button[aria-disabled=true]:focus,.usa-nav__primary button[aria-disabled=true]:hover{color:GrayText}}@media all and (min-width:64em){.usa-nav__primary button{line-height:.9;padding:1rem;font-size:.93rem;font-weight:700}}@media (forced-colors:active){.usa-nav__primary button{forced-color-adjust:auto}}.usa-nav__primary button:hover{color:#005ea2;background-color:#f0f0f0;text-decoration:none}@media all and (min-width:64em){.usa-nav__primary button:hover{background-color:transparent}}.usa-nav__primary button[aria-expanded],.usa-nav__primary button[aria-expanded]:hover{background-image:none}@media (forced-colors:active){.usa-nav__primary button[aria-expanded]::before,.usa-nav__primary button[aria-expanded]:hover::before{content:none}}.usa-nav__primary button[aria-expanded] span::after{position:absolute;top:50%;right:0;transform:translateY(-50%)}.usa-nav__primary button[aria-expanded=false] span::after{background-image:url(../img/usa-icons/add.svg);background-repeat:no-repeat;background-position:center center;background-size:1.25rem 1.25rem;display:inline-block;height:1.25rem;width:1.25rem;content:"";vertical-align:middle;margin-left:auto}@supports ((-webkit-mask:url()) or (mask:url())){.usa-nav__primary button[aria-expanded=false] span::after{background:0 0;background-color:ButtonText;-webkit-mask-image:url(../img/usa-icons/add.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/add.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1.25rem 1.25rem;mask-size:1.25rem 1.25rem}}.usa-nav__primary button[aria-expanded=false] span::after:hover{background-color:buttonText}@media all and (min-width:64em){.usa-nav__primary button[aria-expanded=false] span::after{background-image:url(../img/usa-icons/expand_more.svg);background-repeat:no-repeat;background-position:center center;background-size:1rem 1rem;display:inline-block;height:1rem;width:1rem;content:"";vertical-align:middle;margin-left:auto}@supports ((-webkit-mask:url()) or (mask:url())){.usa-nav__primary button[aria-expanded=false] span::after{background:0 0;background-color:ButtonText;-webkit-mask-image:url(../img/usa-icons/expand_more.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/expand_more.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1rem 1rem;mask-size:1rem 1rem}}.usa-nav__primary button[aria-expanded=false] span::after{right:.75rem}.usa-nav__primary button[aria-expanded=false]:hover span::after{background-color:#1a4480}}@media (min-width:64em) and (forced-colors:active){.usa-nav__primary button[aria-expanded=false]:hover span::after{background-color:ButtonText}}.usa-nav__primary button[aria-expanded=true] span::after{background-image:url(../img/usa-icons/remove.svg);background-repeat:no-repeat;background-position:center center;background-size:1.25rem 1.25rem;display:inline-block;height:1.25rem;width:1.25rem;content:"";vertical-align:middle;margin-left:auto}@supports ((-webkit-mask:url()) or (mask:url())){.usa-nav__primary button[aria-expanded=true] span::after{background:0 0;background-color:ButtonText;-webkit-mask-image:url(../img/usa-icons/remove.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/remove.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1.25rem 1.25rem;mask-size:1.25rem 1.25rem}}.usa-nav__primary button[aria-expanded=true] span::after{position:absolute;right:0}@media (forced-colors:active){.usa-nav__primary button[aria-expanded=true] span::after{background-color:ButtonText}}@media all and (min-width:64em){.usa-nav__primary button[aria-expanded=true]{background-image:none;background-color:#162e51;color:#fff}}@media all and (min-width:64em) and (min-width:64em){.usa-nav__primary button[aria-expanded=true] span::after{background-image:url(../img/usa-icons/expand_less.svg);background-repeat:no-repeat;background-position:center center;background-size:1rem 1rem;display:inline-block;height:1rem;width:1rem;content:"";vertical-align:middle;margin-left:auto}@supports ((-webkit-mask:url()) or (mask:url())){.usa-nav__primary button[aria-expanded=true] span::after{background:0 0;background-color:ButtonText;-webkit-mask-image:url(../img/usa-icons/expand_less.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/expand_less.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1rem 1rem;mask-size:1rem 1rem}}.usa-nav__primary button[aria-expanded=true] span::after{right:.75rem;background-color:#fff}}@media (min-width:64em) and (min-width:64em) and (forced-colors:active){.usa-nav__primary button[aria-expanded=true] span::after{background-color:ButtonText}}@media all and (min-width:64em){.usa-nav__primary .usa-accordion__button span{display:inline-block;margin-right:0;padding-right:1rem}}.usa-nav__secondary{margin-top:1rem}@media all and (min-width:64em){.usa-nav__secondary{flex-direction:column;align-items:flex-end;bottom:4rem;display:flex;font-size:.93rem;margin-top:.5rem;min-width:calc(27ch + 3rem);position:absolute;right:2rem}}.usa-nav__secondary .usa-search{width:100%}@media all and (min-width:64em){.usa-nav__secondary .usa-search{margin-left:0;margin-top:.5rem}}.usa-nav__secondary-links{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;line-height:1.3;margin-top:1.5rem}@media all and (min-width:64em){.usa-nav__secondary-links{-moz-column-gap:.5rem;column-gap:.5rem;display:flex;flex-flow:row nowrap;line-height:.9;margin-bottom:.25rem;margin-top:0}.usa-nav__secondary-links .usa-nav__secondary-item{padding-left:.25rem}.usa-nav__secondary-links .usa-nav__secondary-item+.usa-nav__secondary-item{border-left:1px solid #dfe1e2;padding-left:.5rem}}.usa-nav__secondary-links a{color:#71767a;display:inline-block;font-size:.93rem;text-decoration:none}.usa-nav__secondary-links a:hover{color:#005ea2;text-decoration:underline}@media all and (max-width:63.99em){.usa-nav__submenu{list-style-type:none;padding-left:0;margin:0}.usa-nav__submenu>li{margin-bottom:0;max-width:unset}.usa-nav__submenu-item{border-top:1px solid #dfe1e2;font-size:.93rem}.usa-nav__submenu .usa-current::after{display:none}}@media all and (max-width:63.99em) and (min-width:40em){.usa-nav__submenu .usa-current::after{display:none}}@media all and (max-width:63.99em){.usa-nav__submenu a:not(.usa-button){padding-left:2rem}.usa-nav__submenu .usa-nav__submenu a:not(.usa-button){padding-left:3rem}.usa-nav__submenu .usa-nav__submenu .usa-nav__submenu a:not(.usa-button){padding-left:4rem}}@media all and (min-width:64em){.usa-nav__submenu{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;padding-bottom:.5rem;padding-top:.5rem;background-color:#162e51;width:15rem;position:absolute;z-index:400}}.usa-nav__submenu[aria-hidden=true]{display:none}@media all and (min-width:64em){.usa-nav__submenu .usa-nav__submenu-item a{padding-left:1rem;padding-right:1rem;color:#fff;line-height:1.3;display:block}.usa-nav__submenu .usa-nav__submenu-item a:focus{outline-offset:-.25rem}.usa-nav__submenu .usa-nav__submenu-item a:hover{color:#fff;text-decoration:underline}}.usa-nav__submenu-list{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0}.usa-nav__submenu-list>li,.usa-process-list>li,.usa-prose .usa-process-list>li,.usa-sidenav>li,.usa-sidenav__sublist>li{margin-bottom:0;max-width:unset}.usa-nav__submenu-list .usa-nav__submenu-list-item{margin:0;font-size:.93rem}.usa-input-list li,.usa-nav__submenu-list .usa-nav__submenu-list-item a,.usa-prose .usa-input-list li{line-height:1.3}.usa-nav__close{text-decoration:underline;background-color:transparent;border:0;border-radius:0;box-shadow:none;font-weight:400;justify-content:normal;margin:0;padding:0;width:auto;height:3rem;width:3rem;background-image:none;color:currentColor;flex:none;float:right;margin:-.75rem -1rem 1rem auto;text-align:center}.usa-nav__close:visited{color:#54278f}.usa-nav__close:active{color:#162e51}.usa-nav__close:focus{outline:.25rem solid #2491ff;outline-offset:0}.usa-nav__close.usa-button--active,.usa-nav__close.usa-button--disabled,.usa-nav__close.usa-button--hover,.usa-nav__close:active,.usa-nav__close:disabled,.usa-nav__close:disabled.usa-button--active,.usa-nav__close:disabled.usa-button--hover,.usa-nav__close:disabled.usa-focus,.usa-nav__close:disabled:active,.usa-nav__close:disabled:focus,.usa-nav__close:disabled:hover,.usa-nav__close:hover,.usa-nav__close[aria-disabled=true],.usa-nav__close[aria-disabled=true].usa-button--active,.usa-nav__close[aria-disabled=true].usa-button--hover,.usa-nav__close[aria-disabled=true].usa-focus,.usa-nav__close[aria-disabled=true]:active,.usa-nav__close[aria-disabled=true]:focus,.usa-nav__close[aria-disabled=true]:hover{background-color:transparent;box-shadow:none;text-decoration:underline}.usa-nav__close.usa-button--hover{color:#1a4480}.usa-nav__close.usa-button--active{color:#162e51}.usa-nav__close:disabled,.usa-nav__close:disabled:hover,.usa-nav__close[aria-disabled=true],.usa-nav__close[aria-disabled=true]:focus,.usa-nav__close[aria-disabled=true]:hover{color:#757575}@media (forced-colors:active){.usa-nav__close:disabled,.usa-nav__close:disabled:hover,.usa-nav__close[aria-disabled=true],.usa-nav__close[aria-disabled=true]:focus,.usa-nav__close[aria-disabled=true]:hover{color:GrayText}.usa-nav__close::before{background-image:url(../img/usa-icons/close.svg);background-repeat:no-repeat;background-position:center center;background-size:1.25rem 1.25rem;display:inline-block;height:1.25rem;width:1.25rem;content:"";vertical-align:middle;margin-right:auto}@supports ((-webkit-mask:url()) or (mask:url())){.usa-nav__close::before{background:0 0;background-color:ButtonText;-webkit-mask-image:url(../img/usa-icons/close.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/close.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1.25rem 1.25rem;mask-size:1.25rem 1.25rem}}.usa-nav__close::before{background-color:buttonText}}.usa-nav__close:hover{color:currentColor;text-decoration:none}@media all and (min-width:64em){.usa-nav__close{display:none}}.usa-nav__close img{width:1.5rem}@media (forced-colors:active){.usa-nav__close img{display:none}}.usa-nav__close+*{clear:both}.usa-js-mobile-nav--active{overflow:hidden}@media (min-width:63.06rem){.usa-js-mobile-nav--active.is-safari{overflow-y:scroll;position:fixed;top:var(--scrolltop, 0)}}.usa-pagination{margin-bottom:1rem;margin-top:1rem;font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.5;color:#1b1b1b;background-color:#fff;display:flex;justify-content:center}.usa-pagination .usa-icon{height:1.13rem;width:1.13rem}.usa-pagination__list{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;align-items:center;display:flex;flex-flow:row nowrap;justify-content:center;width:auto}.usa-pagination__item{display:inline-flex;height:2.5rem;justify-content:center;line-height:1;margin-left:.25rem;margin-right:.25rem;min-width:2.5rem}@media all and (min-width:40em){.usa-pagination__item{flex:1 0 auto}}.usa-pagination__arrow{display:none}@media all and (min-width:40em){.usa-pagination__arrow{display:inherit}.usa-pagination__previous-page{margin-right:1.25rem}.usa-pagination__next-page{margin-left:1.25rem}}.usa-pagination__link{align-items:center;color:#005ea2;display:inline-flex}.usa-pagination__link[disabled]{opacity:.4!important;pointer-events:none}.usa-pagination__link:active,.usa-pagination__link:focus,.usa-pagination__link:hover{color:#1a4480}.usa-pagination__link:visited{color:#005ea2}.usa-pagination__button{align-items:center;border-color:rgba(27,27,27,.2);border-radius:.25rem;border-style:solid;border-width:1px;color:#005ea2;display:inline-flex;justify-content:center;padding:.5rem;width:100%}.usa-pagination__button:active,.usa-pagination__button:focus,.usa-pagination__button:hover{color:#1a4480;border-color:#1a4480}@media (forced-colors:active){.usa-pagination__button:active,.usa-pagination__button:focus,.usa-pagination__button:hover{border:2px solid transparent}}.usa-pagination .usa-current{background-color:#1b1b1b;border-color:transparent;color:#fff}@media (forced-colors:active){.usa-pagination .usa-current{border:2px solid transparent;color:buttonText}}.usa-pagination .usa-current:active,.usa-pagination .usa-current:focus,.usa-pagination .usa-current:hover{background-color:#1b1b1b;color:#fff}@media (forced-colors:active){.usa-pagination .usa-current:active,.usa-pagination .usa-current:focus,.usa-pagination .usa-current:hover{color:buttontext}}.usa-pagination__overflow{align-items:center;align-self:stretch;display:inherit;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:.5rem}.usa-process-list>.usa-process-list__item,.usa-prose .usa-process-list>.usa-process-list__item{max-width:72ex}.usa-process-list,.usa-prose .usa-process-list{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.5;margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;counter-reset:usa-numbered-list;padding:20px 0 0 calc(2.5rem/2 - .5rem/2);position:relative}.usa-process-list__item,.usa-prose .usa-process-list__item{border-left:.5rem solid #d9e8f6;font-size:1.06rem;margin-bottom:0;padding-bottom:2rem;padding-left:calc(calc(2.5rem/2 - .25rem)*2)}.usa-process-list__item:last-child{border-left:.5rem solid transparent}.usa-process-list__item::before{flex-direction:row;align-items:center;justify-content:center;border-radius:99rem;background-color:#fff;border:.25rem solid #1b1b1b;box-shadow:0 0 0 .25rem #fff;color:#1b1b1b;content:counter(usa-numbered-list,decimal);counter-increment:usa-numbered-list;display:flex;font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.46rem;font-weight:700;height:2.5rem;left:0;line-height:.9;margin-top:-.4rem;position:absolute;width:2.5rem}.usa-process-list__item ul li{margin-bottom:.25rem}.usa-process-list__item>:first-child{margin-top:0}.usa-process-list__item>:last-child{margin-bottom:0}.usa-process-list__heading{font-size:1.46rem;line-height:1.1;color:#1b1b1b;font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-weight:700;margin:0}.usa-process-list__heading+*{margin-top:.25rem}.usa-search{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.5;position:relative}.usa-search::after{clear:both;content:"";display:block}.usa-search [role=search],.usa-search[role=search],.usa-search[role=search]>div{display:flex}.usa-search [type=submit]{border-bottom-left-radius:0;border-top-left-radius:0;height:2rem;margin:0;padding:0;width:3rem}@media all and (min-width:30em){.usa-search [type=submit]{padding-left:1rem;padding-right:1rem;width:auto}}@media (forced-colors:active){.usa-search [type=submit]::before{background-image:url(../img/usa-icons/search.svg);background-repeat:no-repeat;background-position:center center;background-size:1.5rem 1.5rem;display:inline-block;height:1.5rem;width:1.5rem;content:"";vertical-align:middle;margin-right:auto}@supports ((-webkit-mask:url()) or (mask:url())){.usa-search [type=submit]::before{background:0 0;background-color:ButtonText;-webkit-mask-image:url(../img/usa-icons/search.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/search.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1.5rem 1.5rem;mask-size:1.5rem 1.5rem}}.usa-search [type=submit]:focus{outline-offset:0}}@media (forced-colors:active) and (min-width:30em){.usa-search [type=submit]::before{content:none}}@media all and (min-width:30em){.usa-search__submit-icon{display:none}}@media (forced-colors:active){.usa-search__submit-icon{display:none}}@media all and (min-width:30em){.usa-search--big .usa-search__input,.usa-search--big [type=search]{font-size:1.06rem;height:3rem}.usa-search--big .usa-search__submit,.usa-search--big [type=submit]{padding-left:2rem;padding-right:2rem;font-size:1.46rem;height:3rem;width:auto}}.usa-search--small .usa-search__submit,.usa-search--small [type=submit]{padding-left:.75rem;padding-right:.75rem;min-width:3rem}@media (forced-colors:active) and (min-width:30em){.usa-search--small [type=submit]::before{content:""}}.usa-search--small .usa-search__submit-icon{height:1.5rem;width:1.5rem;display:block}@media (forced-colors:active){.usa-search--small .usa-search__submit-icon{display:none}}input[type=search]{box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.usa-search__input,[type=search]{padding-bottom:0;padding-top:0;border-bottom-right-radius:0;border-right:none;border-top-right-radius:0;box-sizing:border-box;float:left;font-size:1rem;height:2rem;margin:0}.usa-search__submit-text{display:none}@media all and (min-width:30em){.usa-search__submit-text{display:block}}.usa-section{padding-bottom:2rem;padding-top:2rem}@media all and (min-width:40em){.usa-section{padding-bottom:4rem;padding-top:4rem}}.usa-section--light{background-color:#f0f0f0}.usa-section--dark{background-color:#162e51;color:#fff}.usa-section--dark p{color:#fff}.usa-section--dark a,.usa-section--dark a:visited{color:#dfe1e2}.usa-section--dark a:active,.usa-section--dark a:hover{color:#f0f0f0}.usa-sidenav{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.3;border-bottom:1px solid #dfe1e2}.usa-sidenav__item{border-top:1px solid #dfe1e2}.usa-sidenav a:not(.usa-button){display:block;padding:.5rem 1rem;text-decoration:none}.usa-sidenav a:not(.usa-button):hover{background-color:#f0f0f0;text-decoration:none}.usa-sidenav a:not(.usa-button):not(.usa-current){color:#565c65}.usa-sidenav a:not(.usa-button):not(.usa-current):hover{color:#005ea2}.usa-sidenav a:not(.usa-button):not(.usa-current):focus{outline-offset:0}.usa-sidenav .usa-current{position:relative;color:#005ea2;font-weight:700}.usa-sidenav .usa-current::after{background-color:#005ea2;border-radius:99rem;content:"";display:block;position:absolute;bottom:.25rem;top:.25rem;width:.25rem;left:.25rem}@media all and (min-width:40em){.usa-sidenav .usa-current{position:relative}.usa-sidenav .usa-current::after{background-color:#005ea2;border-radius:99rem;content:"";display:block;position:absolute;bottom:.25rem;top:.25rem;width:.25rem;left:0}}.grid-container .usa-sidenav{margin-left:-1rem;margin-right:-1rem}@media all and (min-width:40em){.grid-container .usa-sidenav{margin-left:0;margin-right:0}}.usa-sidenav__sublist{list-style-type:none;padding-left:0;margin:0;font-size:1rem}.usa-sidenav__sublist-item{border-top:1px solid #dfe1e2;font-size:.93rem}.usa-sidenav__sublist .usa-current::after{display:none}@media all and (min-width:40em){.usa-sidenav__sublist .usa-current::after{display:none}}.usa-sidenav__sublist a:not(.usa-button){padding-left:2rem}.usa-sidenav__sublist .usa-sidenav__sublist a:not(.usa-button){padding-left:3rem}.usa-sidenav__sublist .usa-sidenav__sublist .usa-sidenav__sublist a:not(.usa-button){padding-left:4rem}.usa-site-alert .usa-alert{background-color:#f0f0f0;border-left:.5rem solid #a9aeb1;color:#1b1b1b}.usa-site-alert .usa-alert .usa-alert__body{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.5;padding-bottom:1rem;padding-top:1rem;position:relative}.usa-site-alert .usa-alert .usa-alert__text{margin-bottom:0;margin-top:0}.usa-site-alert .usa-alert .usa-alert__text:only-child{padding-bottom:0;padding-top:0}.usa-site-alert .usa-alert .usa-alert__heading{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.46rem;line-height:.9;margin-top:0;margin-bottom:.5rem}.usa-site-alert .usa-alert .usa-alert__body>.usa-list,.usa-site-alert .usa-alert>.usa-list{padding-left:2ch}.usa-site-alert .usa-alert .usa-alert__body>.usa-list:last-child,.usa-site-alert .usa-alert>.usa-list:last-child{margin-bottom:0}.usa-site-alert .usa-alert .usa-alert__body{max-width:64rem;padding-left:1.25rem;padding-right:1.25rem}.usa-site-alert .usa-alert .usa-alert__body::before{left:1.0833333333rem}@media all and (min-width:64em){.usa-site-alert .usa-alert .usa-alert__body{margin-left:auto;margin-right:auto;padding-left:1.75rem;padding-right:1.75rem}.usa-site-alert .usa-alert .usa-alert__body::before{left:1.5833333333rem}}.usa-site-alert--info .usa-alert{background-color:#e7f6f8;border-left-color:#00bde3}.usa-site-alert--info .usa-alert .usa-alert__body{color:#1b1b1b;background-color:#e7f6f8;display:flex;flex-direction:column;justify-content:center;min-height:3.3333333333rem}.usa-site-alert--info .usa-alert .usa-alert__body::before{background-image:url(../img/usa-icons/info.svg);background-repeat:no-repeat;background-position:center center;background-size:2rem 2rem;height:2rem;width:2rem;content:"";display:block;position:absolute;top:.6666666667rem}@supports ((-webkit-mask:url()) or (mask:url())){.usa-site-alert--info .usa-alert .usa-alert__body::before{background:0 0;background-color:#1b1b1b;-webkit-mask-image:url(../img/usa-icons/info.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/info.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:2rem 2rem;mask-size:2rem 2rem}}.usa-site-alert--info .usa-alert .usa-alert__body>*{margin-left:2.5rem}.usa-site-alert--info .usa-alert .usa-alert__body .usa-link,.usa-skipnav{color:#005ea2}.usa-site-alert--info .usa-alert .usa-alert__body .usa-link:visited{color:#54278f}.usa-site-alert--info .usa-alert .usa-alert__body .usa-link:active,.usa-site-alert--info .usa-alert .usa-alert__body .usa-link:hover{color:#1a4480}.usa-site-alert--emergency .usa-alert{background-color:#9c3d10;border-left-color:#9c3d10}.usa-site-alert--emergency .usa-alert .usa-alert__body{color:#fff;background-color:#9c3d10;display:flex;flex-direction:column;justify-content:center;min-height:3.3333333333rem}.usa-site-alert--emergency .usa-alert .usa-alert__body::before{background-image:url(../img/usa-icons-bg/error--white.svg);background-repeat:no-repeat;background-position:center center;background-size:2rem 2rem;height:2rem;width:2rem;content:"";display:block;position:absolute;top:.6666666667rem}@supports ((-webkit-mask:url()) or (mask:url())){.usa-site-alert--emergency .usa-alert .usa-alert__body::before{background:0 0;background-color:#fff;-webkit-mask-image:url(../img/usa-icons/error.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/error.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:2rem 2rem;mask-size:2rem 2rem}}.usa-site-alert--emergency .usa-alert .usa-alert__body>*{margin-left:2.5rem}.usa-site-alert--emergency .usa-alert .usa-alert__body .usa-link,.usa-site-alert--emergency .usa-alert .usa-alert__body .usa-link:visited{color:#dfe1e2}.usa-site-alert--emergency .usa-alert .usa-alert__body .usa-link:active,.usa-site-alert--emergency .usa-alert .usa-alert__body .usa-link:hover{color:#f0f0f0}.usa-site-alert--slim .usa-alert .usa-alert__body{padding-bottom:.5rem;padding-top:.5rem;min-height:0}.usa-site-alert--slim .usa-alert .usa-alert__body:before{height:1.5rem;top:.5rem;width:1.5rem}@supports ((-webkit-mask:url()) or (mask:url())){.usa-site-alert--slim .usa-alert .usa-alert__body:before{-webkit-mask-size:1.5rem;mask-size:1.5rem}}.usa-site-alert--slim .usa-alert .usa-alert__body>*{margin-left:2rem}.usa-site-alert--slim .usa-alert .usa-alert__body::before{left:1.125rem}@media all and (min-width:64em){.usa-site-alert--slim .usa-alert .usa-alert__body::before{left:1.625rem}}.usa-site-alert--no-icon .usa-alert .usa-alert__body{min-height:0}.usa-site-alert--no-icon .usa-alert .usa-alert__body:before{display:none}.usa-site-alert--no-icon .usa-alert .usa-alert__body>*{margin-left:0}.usa-skipnav{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.5;text-decoration:underline;background:0 0;left:0;padding:.5rem 1rem;position:absolute;top:-3.8rem;transition:.15s ease-in-out;z-index:100}.usa-skipnav:visited{color:#54278f}.usa-skipnav:hover{color:#1a4480}.usa-skipnav:active{color:#162e51}.usa-skipnav:focus{outline:.25rem solid #2491ff;outline-offset:0}.usa-skipnav.usa-focus,.usa-skipnav:focus{background:#fff;left:0;position:absolute;top:0;transition:.15s ease-in-out}.usa-skipnav__container{position:relative}.usa-step-indicator{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.1;background-color:#fff;margin-bottom:2rem;margin-left:-1px;margin-right:-1px}@media all and (min-width:40em){.usa-step-indicator{margin-left:0;margin-right:0}}.usa-step-indicator__segments{counter-reset:usa-step-indicator;display:flex;list-style:none;margin:0;padding:0}.usa-step-indicator__segment{flex:1 1 0%;counter-increment:usa-step-indicator;margin-left:1px;margin-right:1px;max-width:15rem;min-height:.5rem;position:relative}.usa-step-indicator__segment:after{background-color:#919191;content:"";display:block;height:.5rem;left:0;position:absolute;right:0;top:0}@media all and (min-width:40em){.usa-step-indicator__segment:after{height:.5rem}}.usa-step-indicator__segment--complete::after{background-color:#162e51}.usa-step-indicator__segment--complete .usa-step-indicator__segment-label{color:#162e51}.usa-step-indicator__segment--current::after{background-color:#005ea2}.usa-step-indicator__segment--current .usa-step-indicator__segment-label{color:#005ea2;font-weight:700}.usa-step-indicator__segment-label{display:none}@media all and (min-width:40em){.usa-step-indicator__segment-label{color:#565c65;display:block;font-size:1.06rem;margin-top:calc(.5rem + .5rem);padding-right:2rem;text-align:left}}.usa-step-indicator__header{align-items:baseline;display:flex}.usa-step-indicator__heading{color:#1b1b1b;font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.13rem;font-weight:700;margin:1rem 0 0}@media all and (min-width:40em){.usa-step-indicator__heading{font-size:1.46rem;margin-top:2rem}}.usa-step-indicator__current-step{height:2.5rem;border-radius:99rem;width:2.5rem;font-weight:400;font-feature-settings:"tnum"1,"kern"1;background-color:#005ea2;color:#fff;display:inline-block;padding:calc((2.5rem - 2ex*1.1)*.5);text-align:center}.usa-step-indicator__total-steps{font-weight:400;font-feature-settings:"tnum"1,"kern"1;color:#005ea2;margin-right:.5rem}@media all and (min-width:40em){.usa-step-indicator--counters .usa-step-indicator__segment,.usa-step-indicator--counters-sm .usa-step-indicator__segment{margin-left:0;margin-right:0;margin-top:calc((2.5rem - .5rem)/2 + .25rem)}.usa-step-indicator--counters .usa-step-indicator__segment:before,.usa-step-indicator--counters-sm .usa-step-indicator__segment:before{height:2.5rem;border-radius:99rem;width:2.5rem;font-feature-settings:"tnum"1,"kern"1;background-color:#fff;box-shadow:inset 0 0 0 .25rem #919191,0 0 0 .25rem #fff;color:#565c65;content:counter(usa-step-indicator);display:block;font-weight:700;left:0;line-height:.9;padding:calc((2.5rem - 2ex*.9)*.5);position:absolute;text-align:center;top:calc((2.5rem - .5rem)/-2);z-index:100}.usa-step-indicator--counters .usa-step-indicator__segment:last-child:after,.usa-step-indicator--counters-sm .usa-step-indicator__segment:last-child:after{display:none}}.usa-step-indicator--counters .usa-step-indicator__segment--complete::before,.usa-step-indicator--counters-sm .usa-step-indicator__segment--complete::before{background-color:#162e51;box-shadow:0 0 0 .25rem #fff;color:#fff}.usa-step-indicator--counters .usa-step-indicator__segment--current::before,.usa-step-indicator--counters-sm .usa-step-indicator__segment--current::before{background-color:#005ea2;box-shadow:0 0 0 .25rem #fff;color:#fff}@media all and (min-width:40em){.usa-step-indicator--counters .usa-step-indicator__segment-label{margin-top:calc((2.5rem + .5rem)/2 + .5rem)}.usa-step-indicator--counters-sm.usa-step-indicator--center .usa-step-indicator__segment:first-child:after,.usa-step-indicator--counters.usa-step-indicator--center .usa-step-indicator__segment:first-child:after{left:50%;right:0;width:auto}.usa-step-indicator--counters-sm.usa-step-indicator--center .usa-step-indicator__segment:last-child:after,.usa-step-indicator--counters.usa-step-indicator--center .usa-step-indicator__segment:last-child:after{display:block;left:0;right:50%;width:auto}.usa-step-indicator--counters-sm .usa-step-indicator__segment{margin-top:calc((1.5rem - .5rem)/2 + .25rem)}.usa-step-indicator--counters-sm .usa-step-indicator__segment:before{height:1.5rem;border-radius:99rem;width:1.5rem;font-size:.93rem;padding:calc(.25rem + 1px);top:calc((1.5rem - .5rem)/-2)}.usa-step-indicator--counters-sm .usa-step-indicator__segment:last-child:after{display:none}.usa-step-indicator--counters-sm .usa-step-indicator__segment-label{margin-top:calc((1.5rem + .5rem)/2 + .5rem)}}.usa-step-indicator--center,.usa-step-indicator--no-labels{margin-left:-1px;margin-right:-1px}.usa-step-indicator--no-labels .usa-step-indicator__segment{margin-top:0;margin-left:1px;margin-right:1px}.usa-step-indicator--no-labels .usa-step-indicator__segment:before{display:none}.usa-step-indicator--no-labels .usa-step-indicator__segment:last-child:after{display:block}.usa-step-indicator--no-labels .usa-step-indicator__heading{margin-top:1rem}.usa-step-indicator--no-labels .usa-step-indicator__segment-label,.width-mobile .usa-table--stacked thead,.width-mobile .usa-table--stacked-header thead{display:none}.usa-step-indicator--center .usa-step-indicator__segment{margin-left:1px;margin-right:1px}.usa-step-indicator--center .usa-step-indicator__segment:before{left:calc(50% - (2.5rem + .25rem)/2)}.usa-step-indicator--center .usa-step-indicator__segment-label{padding-left:.5rem;padding-right:.5rem;text-align:center}.usa-step-indicator--center.usa-step-indicator--no-labels .usa-step-indicator__segment:first-child:after{left:0}.usa-step-indicator--center.usa-step-indicator--no-labels .usa-step-indicator__segment:last-child:after{right:0}.usa-step-indicator--center.usa-step-indicator--counters-sm .usa-step-indicator__segment:before{left:calc(50% - (1.5rem + .25rem)/2)}.usa-summary-box{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.5;color:#1b1b1b;background-color:#e7f6f8;border-radius:.25rem;border:1px #99deea solid;padding:1.5rem;position:relative}.usa-summary-box .usa-list:last-child{margin-bottom:0}*+.usa-summary-box{margin-top:1rem}.usa-summary-box__heading{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.46rem;line-height:1.1;margin-top:0;margin-bottom:.5rem}.usa-summary-box__text{margin-bottom:0;margin-top:0}.usa-summary-box__text:only-child{margin-bottom:1px;padding-top:.25rem}.usa-summary-box__link,.usa-summary-box__link[href^="#"]:visited{color:#005ea2}.usa-summary-box__link:visited{color:#54278f}.usa-summary-box__link:active,.usa-summary-box__link:hover,.usa-summary-box__link[href^="#"]:hover{color:#1a4480}.usa-table{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.5;border-collapse:collapse;border-spacing:0;color:#1b1b1b;margin:1.25rem 0;text-align:left}.usa-table tfoot td,.usa-table th,.usa-table thead td{background-clip:padding-box;line-height:1.3;background-color:#dfe1e2;color:#1b1b1b}.usa-table td,.usa-table th{border:1px solid #1b1b1b;padding:.5rem 1rem}.usa-table td{background-color:#fff;font-weight:400}.usa-table th[data-sortable]{padding-right:2.5rem;position:relative}.usa-table th[data-sortable]::after{border-bottom-color:transparent;border-bottom-style:solid;border-bottom-width:1px;bottom:0;content:"";height:0;left:0;position:absolute;width:100%}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button{background-color:transparent;border:0;border-radius:0;box-shadow:none;font-weight:400;justify-content:normal;padding:0;width:auto;height:2rem;width:2rem;background-position:center center;background-size:1.5rem;color:#71767a;cursor:pointer;display:inline-block;margin:0;position:absolute;right:.25rem;text-align:center;text-decoration:none;top:50%;transform:translate(0,-50%)}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:active,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:active{color:#162e51}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:focus,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:focus{outline:.25rem solid #2491ff;outline-offset:0}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button.usa-button--active,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button.usa-button--disabled,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button.usa-button--hover,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:active,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled.usa-button--active,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled.usa-button--hover,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled.usa-focus,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled:active,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled:focus,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled:hover,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:hover,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true].usa-button--active,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true].usa-button--hover,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true].usa-focus,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:active,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:focus,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button.usa-button--active,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button.usa-button--disabled,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button.usa-button--hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:active,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled.usa-button--active,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled.usa-button--hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled.usa-focus,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled:active,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled:focus,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled:hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true].usa-button--active,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true].usa-button--hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true].usa-focus,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:active,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:focus,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:hover{background-color:transparent;box-shadow:none;text-decoration:underline}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button.usa-button--hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button.usa-button--hover{color:#1a4480}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button.usa-button--active,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button.usa-button--active{color:#162e51}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled:hover,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:focus,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled:hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:focus,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:hover{color:#757575}@media (forced-colors:active){.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled:hover,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:focus,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled:hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:focus,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:hover{color:GrayText}}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button .usa-icon,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button .usa-icon{height:1.5rem;width:1.5rem;vertical-align:middle}.usa-table th[data-sortable][aria-sort=ascending],.usa-table th[data-sortable][aria-sort=descending]{background-color:#97d4ea}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button{background-color:transparent;border:0;border-radius:0;box-shadow:none;font-weight:400;justify-content:normal;padding:0;width:auto;height:2rem;width:2rem;background-position:center center;background-size:1.5rem;color:#71767a;cursor:pointer;display:inline-block;margin:0;position:absolute;right:.25rem;text-align:center;text-decoration:none;top:50%;transform:translate(0,-50%)}.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:visited{color:#54278f}.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:hover{color:#1a4480}.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:active{color:#162e51}.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:focus{outline:.25rem solid #2491ff;outline-offset:0}.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button.usa-button--active,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button.usa-button--disabled,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button.usa-button--hover,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:active,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled.usa-button--active,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled.usa-button--hover,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled.usa-focus,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled:active,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled:focus,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled:hover,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:hover,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true].usa-button--active,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true].usa-button--hover,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true].usa-focus,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:active,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:focus,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:hover{background-color:transparent;box-shadow:none;text-decoration:underline}.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button.usa-button--hover{color:#1a4480}.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button.usa-button--active{color:#162e51}.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled:hover,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:focus,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:hover{color:#757575}@media (forced-colors:active){.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled:hover,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:focus,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:hover{color:GrayText}}.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button .usa-icon{height:1.5rem;width:1.5rem;vertical-align:middle}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:visited{color:#54278f}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:hover{color:#1a4480}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:active{color:#162e51}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:focus{outline:.25rem solid #2491ff;outline-offset:0}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button.usa-button--active,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button.usa-button--disabled,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button.usa-button--hover,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:active,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled.usa-button--active,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled.usa-button--hover,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled.usa-focus,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled:active,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled:focus,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled:hover,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:hover,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true].usa-button--active,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true].usa-button--hover,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true].usa-focus,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:active,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:focus,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:hover{background-color:transparent;box-shadow:none;text-decoration:underline}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button.usa-button--hover{color:#1a4480}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button.usa-button--active{color:#162e51}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled:hover,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:focus,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:hover{color:#757575}@media (forced-colors:active){.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled:hover,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:focus,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:hover{color:GrayText}}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button .usa-icon{height:1.5rem;width:1.5rem;vertical-align:middle}.usa-table thead th[aria-sort]{background-color:#97d4ea;color:#1b1b1b}.usa-table td[data-sort-active],.usa-table th[data-sort-active]{background-color:#e1f3f8;color:#1b1b1b}.usa-table--borderless tfoot td,.usa-table--borderless th,.usa-table--borderless thead td{background-color:#fff}.usa-table--borderless th{border-top:0;color:#1b1b1b}.usa-table--borderless th[aria-sort]{color:#1b1b1b}.usa-table--borderless th[data-sortable]:not([aria-sort]) .usa-table__header__button .usa-icon>g.unsorted{fill:#1b1b1b}.usa-table--borderless td,.usa-table--borderless th{border-left:0;border-right:0}.usa-table--compact td,.usa-table--compact th{padding:.25rem .75rem}.usa-table--striped tbody tr:nth-child(odd) td[data-sort-active]{background-color:#c3ebfa;color:#1b1b1b}@media all and (max-width:29.99em){.usa-table--stacked thead,.usa-table--stacked-header thead{display:none}.usa-table--stacked th{background-color:#fff}.usa-table--stacked td,.usa-table--stacked th{border-bottom-width:0;display:block;width:100%}.usa-table--stacked tr,.usa-table--stacked-header tr{border-bottom:.25rem solid #1b1b1b;border-top-width:0;width:100%}.usa-table--stacked tr td:first-child,.usa-table--stacked tr th:first-child{border-top-width:0}.usa-table--stacked tr:nth-child(odd) td,.usa-table--stacked tr:nth-child(odd) th{background-color:inherit}.usa-table--stacked tr:first-child td:first-child,.usa-table--stacked tr:first-child th:first-child,.usa-table--stacked-header tr:first-child td:first-child,.usa-table--stacked-header tr:first-child th:first-child{border-top:.25rem solid #1b1b1b}.usa-table--stacked td[data-label],.usa-table--stacked th[data-label],.usa-table--stacked-header td[data-label],.usa-table--stacked-header th[data-label]{padding-bottom:.75rem}.usa-table--stacked td[data-label]:before,.usa-table--stacked th[data-label]:before{content:attr(data-label);display:block;font-weight:700;margin:-.5rem -1rem 0;padding:.75rem 1rem .25rem}.usa-table--stacked-header th{background-color:#fff}.usa-table--stacked-header td,.usa-table--stacked-header th{border-bottom-width:0;display:block;width:100%}.usa-table--stacked-header tr td:first-child,.usa-table--stacked-header tr th:first-child{border-top-width:0}.usa-table--stacked-header tr:nth-child(odd) td,.usa-table--stacked-header tr:nth-child(odd) th{background-color:inherit}.usa-table--stacked-header td[data-label]:before,.usa-table--stacked-header th[data-label]:before{content:attr(data-label);display:block;font-weight:700;margin:-.5rem -1rem 0;padding:.75rem 1rem .25rem}.usa-table--stacked-header tr td:first-child,.usa-table--stacked-header tr th:first-child{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.1;background-color:#dfe1e2;color:#1b1b1b;font-weight:700;padding:.75rem 1rem}.usa-table--stacked-header tr td:first-child:before,.usa-table--stacked-header tr th:first-child:before{display:none}}.width-mobile .usa-table--stacked th{background-color:#fff}.width-mobile .usa-table--stacked td,.width-mobile .usa-table--stacked th{border-bottom-width:0;display:block;width:100%}.width-mobile .usa-table--stacked tr td:first-child,.width-mobile .usa-table--stacked tr th:first-child{border-top-width:0}.width-mobile .usa-table--stacked tr:nth-child(odd) td,.width-mobile .usa-table--stacked tr:nth-child(odd) th{background-color:inherit}.width-mobile .usa-table--stacked tr:first-child td:first-child,.width-mobile .usa-table--stacked tr:first-child th:first-child,.width-mobile .usa-table--stacked-header tr:first-child td:first-child,.width-mobile .usa-table--stacked-header tr:first-child th:first-child{border-top:.25rem solid #1b1b1b}.width-mobile .usa-table--stacked td[data-label],.width-mobile .usa-table--stacked th[data-label],.width-mobile .usa-table--stacked-header td[data-label],.width-mobile .usa-table--stacked-header th[data-label]{padding-bottom:.75rem}.width-mobile .usa-table--stacked td[data-label]:before,.width-mobile .usa-table--stacked th[data-label]:before{content:attr(data-label);display:block;font-weight:700;margin:-.5rem -1rem 0;padding:.75rem 1rem .25rem}.width-mobile .usa-table--stacked-header th{background-color:#fff}.width-mobile .usa-table--stacked-header td,.width-mobile .usa-table--stacked-header th{border-bottom-width:0;display:block;width:100%}.width-mobile .usa-table--stacked-header tr td:first-child,.width-mobile .usa-table--stacked-header tr th:first-child{border-top-width:0}.width-mobile .usa-table--stacked-header tr:nth-child(odd) td,.width-mobile .usa-table--stacked-header tr:nth-child(odd) th{background-color:inherit}.width-mobile .usa-table--stacked-header td[data-label]:before,.width-mobile .usa-table--stacked-header th[data-label]:before{content:attr(data-label);display:block;font-weight:700;margin:-.5rem -1rem 0;padding:.75rem 1rem .25rem}.width-mobile .usa-table--stacked-header tr td:first-child,.width-mobile .usa-table--stacked-header tr th:first-child{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.1;background-color:#dfe1e2;color:#1b1b1b;font-weight:700;padding:.75rem 1rem}.width-mobile .usa-table--stacked-header tr td:first-child:before,.width-mobile .usa-table--stacked-header tr th:first-child:before{display:none}.usa-table--sticky-header{border:1px solid #1b1b1b;border-collapse:separate}.usa-table--sticky-header td,.usa-table--sticky-header th{border-left:none;border-top:none}.usa-table--sticky-header td:last-child,.usa-table--sticky-header th:last-child{border-right:none}.usa-table--sticky-header tfoot td,.usa-table--sticky-header tfoot th{border-top:1px solid #1b1b1b;border-bottom:none}.usa-table--sticky-header tbody tr:last-child td,.usa-table--sticky-header tbody tr:last-child th{border-bottom:none}.usa-table--sticky-header thead{position:sticky;top:-1px}.usa-table--sticky-header.usa-table--borderless{border:0}.usa-table--sticky-header.usa-table--borderless th{background-color:#fff;border-right:none}.usa-table--sticky-header.usa-table--borderless td{border-right:none}.usa-table-container--scrollable{margin:1.25rem 0;overflow-y:hidden}.usa-table-container--scrollable .usa-table{margin:0}.usa-table-container--scrollable td{white-space:nowrap}.usa-tag{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:.93rem;color:#fff;text-transform:uppercase;background-color:#565c65;border-radius:2px;margin-right:.25rem;padding:1px .5rem}.usa-tag:only-of-type{margin-right:0}.usa-tag--big{padding-left:.5rem;padding-right:.5rem;font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem}.usa-tooltip{display:inline-block;position:relative}.usa-tooltip__trigger{cursor:pointer}.usa-tooltip__trigger>svg{display:block;pointer-events:none}.usa-tooltip__body,.usa-tooltip__body--top{transition:opacity .08s ease-in-out;background-color:#1b1b1b;border-radius:.25rem;color:#f0f0f0;display:none;font-size:1rem;opacity:0;padding:.5rem;width:auto;white-space:pre;z-index:100000;position:absolute}.usa-tooltip__body--top::after,.usa-tooltip__body::after{content:"";display:block;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #1b1b1b;position:absolute;bottom:-5px;left:50%;margin-left:-5px}.usa-tooltip__body--top::before,.usa-tooltip__body::before{content:"";display:block;position:absolute}.usa-tooltip__body--wrap{width:100%;white-space:normal;text-align:center;min-width:50vw}.usa-tooltip__body.is-set{display:block}.usa-tooltip__body.is-visible{opacity:1}.usa-tooltip__body--top::before{top:100%;height:5px;left:0;right:0}.usa-tooltip__body--bottom::before{bottom:100%;height:5px;left:0;right:0}.usa-tooltip__body--bottom::after{border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #1b1b1b;border-top:0;bottom:auto;top:-5px}.usa-tooltip__body--right::before{right:100%;bottom:0;top:0;width:5px}.usa-tooltip__body--right::after{border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:5px solid #1b1b1b;border-left:0;right:auto;top:50%;bottom:0;left:-5px;margin:-5px 0 0}.usa-tooltip__body--left::before{left:100%;bottom:0;top:0;width:5px}.usa-tooltip__body--left::after{border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #1b1b1b;border-right:0;right:-5px;top:50%;bottom:0;left:auto;margin:-5px 0 0}.usa-character-count__status{display:inline-block;padding-top:.25rem}.usa-character-count__status.usa-character-count__status--invalid{color:#b50909;font-weight:700}.usa-input:disabled,.usa-input[aria-disabled=true]{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1;-webkit-text-fill-color:#454545}.usa-input:disabled.usa-focus,.usa-input:disabled:active,.usa-input:disabled:focus,.usa-input:disabled:hover,.usa-input[aria-disabled=true].usa-focus,.usa-input[aria-disabled=true]:active,.usa-input[aria-disabled=true]:focus,.usa-input[aria-disabled=true]:hover{color:#454545;background-color:#c9c9c9}@media (forced-colors:active){.usa-input:disabled,.usa-input[aria-disabled=true]{color:GrayText;border:2px solid GrayText}.usa-input:disabled.usa-focus,.usa-input:disabled:active,.usa-input:disabled:focus,.usa-input:disabled:hover,.usa-input[aria-disabled=true].usa-focus,.usa-input[aria-disabled=true]:active,.usa-input[aria-disabled=true]:focus,.usa-input[aria-disabled=true]:hover{color:GrayText}}.usa-form .usa-input--2xs,.usa-input--2xs{max-width:5ex}.usa-form .usa-input--xs,.usa-input--xs{max-width:9ex}.usa-form .usa-input--sm,.usa-form .usa-input--small,.usa-input--sm,.usa-input--small{max-width:13ex}.usa-form .usa-input--md,.usa-form .usa-input--medium,.usa-input--md,.usa-input--medium{max-width:20ex}.usa-form .usa-input--lg,.usa-input--lg{max-width:30ex}.usa-form .usa-input--xl,.usa-input--xl{max-width:40ex}.usa-form .usa-input--2xl,.usa-input--2xl{max-width:50ex}.usa-input--error,.usa-input--success{border-width:.25rem;border-color:#b50909;border-style:solid;padding-top:calc(.5rem - .25rem);padding-bottom:calc(.5rem - .25rem)}.usa-input--success{border-color:#00a91c}.usa-fieldset{border:0;margin:0;padding:0}.usa-legend{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.3;display:block;font-weight:400;margin-top:1.5rem;max-width:30rem}.usa-legend--large{font-size:2.13rem;font-weight:700;margin-top:1rem}.usa-input-list,.usa-prose .usa-input-list{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0}.usa-checkbox{background:#fff}.usa-checkbox__label{color:#1b1b1b}.usa-checkbox__label::before{background:#fff;box-shadow:0 0 0 2px #1b1b1b}@media (forced-colors:active){.usa-checkbox__label::before{outline:2px solid transparent;outline-offset:2px}}.usa-checkbox__input:checked+[class*=__label]::before{background-color:#005ea2;box-shadow:0 0 0 2px #005ea2}.usa-checkbox__input:disabled+[class*=__label],.usa-checkbox__input[aria-disabled=true]+[class*=__label]{color:#757575;cursor:not-allowed}@media (forced-colors:active){.usa-checkbox__input:disabled+[class*=__label],.usa-checkbox__input[aria-disabled=true]+[class*=__label]{color:GrayText}}.usa-checkbox__input:disabled+[class*=__label]::before,.usa-checkbox__input[aria-disabled=true]+[class*=__label]::before{background-color:#fff;box-shadow:0 0 0 2px #757575}.usa-checkbox__input--tile+[class*=__label]{background-color:#fff;border:2px solid #c9c9c9;color:#1b1b1b;border-radius:.25rem;margin-top:.5rem;padding:.75rem 1rem .75rem 2.5rem}.usa-checkbox__input--tile:checked+[class*=__label]{background-color:rgba(0,94,162,.1);border-color:#005ea2}@media (forced-colors:active){.usa-checkbox__input--tile:checked+[class*=__label]{border:ButtonText solid .25rem}}.usa-checkbox__input--tile:disabled+[class*=__label],.usa-checkbox__input--tile[aria-disabled=true]+[class*=__label]{border-color:#e6e6e6}.usa-checkbox__input--tile:disabled:checked+[class*=__label],.usa-checkbox__input--tile:disabled:indeterminate+[class*=__label],.usa-checkbox__input--tile:disabled[data-indeterminate]+[class*=__label],.usa-checkbox__input--tile[aria-disabled=true]:checked+[class*=__label],.usa-checkbox__input--tile[aria-disabled=true]:indeterminate+[class*=__label],.usa-checkbox__input--tile[aria-disabled=true][data-indeterminate]+[class*=__label]{background-color:#fff}.usa-checkbox__input:indeterminate+[class*=__label]::before,.usa-checkbox__input[data-indeterminate]+[class*=__label]::before{background-image:url(../img/checkbox-indeterminate.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat;background-color:#005ea2;box-shadow:0 0 0 2px #005ea2;background-position:center center;background-size:.75rem auto}@media (forced-colors:active){.usa-checkbox__input:indeterminate+[class*=__label]::before,.usa-checkbox__input[data-indeterminate]+[class*=__label]::before{background-image:url(../img/checkbox-indeterminate-alt.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat;background-color:SelectedItem}}.usa-checkbox__input:indeterminate:disabled+[class*=__label]::before,.usa-checkbox__input:indeterminate[aria-disabled=true]+[class*=__label]::before,.usa-checkbox__input[data-indeterminate]:disabled+[class*=__label]::before,.usa-checkbox__input[data-indeterminate][aria-disabled=true]+[class*=__label]::before{box-shadow:0 0 0 2px #757575}.usa-checkbox__input:indeterminate:disabled+[class*=__label],.usa-checkbox__input:indeterminate[aria-disabled=true]+[class*=__label],.usa-checkbox__input[data-indeterminate]:disabled+[class*=__label],.usa-checkbox__input[data-indeterminate][aria-disabled=true]+[class*=__label]{border-color:#e6e6e6}.usa-checkbox__input--tile:indeterminate+[class*=__label],.usa-checkbox__input--tile[data-indeterminate]+[class*=__label]{background-color:rgba(0,94,162,.1);border-color:#005ea2}@media (forced-colors:active){.usa-checkbox__input--tile:indeterminate+[class*=__label],.usa-checkbox__input--tile[data-indeterminate]+[class*=__label]{border:ButtonText solid .25rem}}.usa-checkbox__input:checked+[class*=__label]::before,.usa-checkbox__input:checked:disabled+[class*=__label]::before,.usa-checkbox__input:checked[aria-disabled=true]+[class*=__label]::before{background-image:url(../img/correct8.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat}@media (forced-colors:active){.usa-checkbox__input:checked+[class*=__label]::before,.usa-checkbox__input:checked:disabled+[class*=__label]::before,.usa-checkbox__input:checked[aria-disabled=true]+[class*=__label]::before{background-image:url(../img/correct8-alt.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat}}.usa-checkbox__input:checked:disabled+[class*=__label]::before,.usa-checkbox__input:checked[aria-disabled=true]+[class*=__label]::before,.usa-checkbox__input:indeterminate:disabled+[class*=__label]::before,.usa-checkbox__input:indeterminate[aria-disabled=true]+[class*=__label]::before,.usa-checkbox__input[data-indeterminate]:disabled+[class*=__label]::before,.usa-checkbox__input[data-indeterminate][aria-disabled=true]+[class*=__label]::before{background-color:#757575}@media (forced-colors:active){.usa-checkbox__input:checked:disabled+[class*=__label]::before,.usa-checkbox__input:checked[aria-disabled=true]+[class*=__label]::before,.usa-checkbox__input:indeterminate:disabled+[class*=__label]::before,.usa-checkbox__input:indeterminate[aria-disabled=true]+[class*=__label]::before,.usa-checkbox__input[data-indeterminate]:disabled+[class*=__label]::before,.usa-checkbox__input[data-indeterminate][aria-disabled=true]+[class*=__label]::before{background-color:GrayText}}.usa-checkbox__input{position:absolute;left:-999em;right:auto}.usa-checkbox__input:focus+[class*=__label]::before{outline:.25rem solid #2491ff;outline-offset:.25rem}.usa-checkbox__input--tile+[class*=__label]::before{left:.5rem}.usa-checkbox__input:checked+[class*=__label]::before{background-position:center center;background-size:.75rem auto}@media print{.usa-checkbox__input:checked+[class*=__label]::before{background-image:none;background-color:#fff;content:"✔";text-align:center}}@media (forced-colors:active){.usa-checkbox__input:checked+[class*=__label]::before{background-color:SelectedItem}}.usa-checkbox__label{cursor:pointer;display:inherit;font-weight:400;margin-top:.75rem;padding-left:2rem;position:relative}.usa-checkbox__label::before{content:" ";display:block;left:0;margin-left:2px;margin-top:.064rem;position:absolute;height:1.25rem;width:1.25rem;border-radius:2px}.usa-checkbox__label-description{display:block;font-size:.93rem;margin-top:.5rem}.usa-select{background-image:url(../img/usa-icons/unfold_more.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;background-position:right .5rem center;background-size:1.25rem;padding-right:2rem}.usa-select::-ms-expand{display:none}.usa-select:-webkit-autofill{-webkit-appearance:menulist;appearance:menulist}.usa-select:-moz-focusring{color:transparent;text-shadow:0 0 0#000}.usa-select[multiple]{height:auto;background-image:none;padding-right:0}.usa-select option{overflow:hidden;text-overflow:ellipsis}.usa-select:disabled,.usa-select[aria-disabled=true]{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-select:disabled.usa-focus,.usa-select:disabled:active,.usa-select:disabled:focus,.usa-select:disabled:hover,.usa-select[aria-disabled=true].usa-focus,.usa-select[aria-disabled=true]:active,.usa-select[aria-disabled=true]:focus,.usa-select[aria-disabled=true]:hover{color:#454545;background-color:#c9c9c9}@media (forced-colors:active){.usa-select:disabled,.usa-select[aria-disabled=true]{color:GrayText;border:2px solid GrayText}.usa-select:disabled.usa-focus,.usa-select:disabled:active,.usa-select:disabled:focus,.usa-select:disabled:hover,.usa-select[aria-disabled=true].usa-focus,.usa-select[aria-disabled=true]:active,.usa-select[aria-disabled=true]:focus,.usa-select[aria-disabled=true]:hover{color:GrayText}.usa-select{-webkit-appearance:listbox;-moz-appearance:listbox;appearance:listbox;background-image:none;padding-right:0}}.usa-combo-box{max-width:30rem;position:relative}.usa-combo-box--pristine .usa-combo-box__input{padding-right:calc(5em + 4px)}.usa-combo-box--pristine .usa-combo-box__input::-ms-clear{display:none}.usa-combo-box--pristine .usa-combo-box__clear-input{display:block}@media (forced-colors:active){.usa-combo-box--pristine .usa-combo-box__clear-input{background-image:url(../img/usa-icons/close.svg);background-repeat:no-repeat;background-position:center center;background-size:1rem 1rem;display:inline-block;width:1rem;height:1.5rem;width:auto;top:.5rem}@supports ((-webkit-mask:url()) or (mask:url())){.usa-combo-box--pristine .usa-combo-box__clear-input{background:0 0;background-color:ButtonText;-webkit-mask-image:url(../img/usa-icons/close.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/close.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1rem 1rem;mask-size:1rem 1rem}}}.usa-combo-box__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin-bottom:0;max-width:none;padding-right:calc(2.5em + 3px)}.usa-combo-box__input:disabled,.usa-combo-box__input[aria-disabled=true]{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1;-webkit-text-fill-color:#454545}.usa-combo-box__input:disabled.usa-focus,.usa-combo-box__input:disabled:active,.usa-combo-box__input:disabled:focus,.usa-combo-box__input:disabled:hover,.usa-combo-box__input[aria-disabled=true].usa-focus,.usa-combo-box__input[aria-disabled=true]:active,.usa-combo-box__input[aria-disabled=true]:focus,.usa-combo-box__input[aria-disabled=true]:hover,.usa-input-group input:disabled+.usa-input-suffix.usa-focus,.usa-input-group input:disabled+.usa-input-suffix:active,.usa-input-group input:disabled+.usa-input-suffix:focus,.usa-input-group input:disabled+.usa-input-suffix:hover,.usa-input-group input[aria-disabled=true]+.usa-input-suffix.usa-focus,.usa-input-group input[aria-disabled=true]+.usa-input-suffix:active,.usa-input-group input[aria-disabled=true]+.usa-input-suffix:focus,.usa-input-group input[aria-disabled=true]+.usa-input-suffix:hover{color:#454545;background-color:#c9c9c9}@media (forced-colors:active){.usa-combo-box__input:disabled,.usa-combo-box__input[aria-disabled=true]{color:GrayText;border:2px solid GrayText}.usa-combo-box__input:disabled.usa-focus,.usa-combo-box__input:disabled:active,.usa-combo-box__input:disabled:focus,.usa-combo-box__input:disabled:hover,.usa-combo-box__input[aria-disabled=true].usa-focus,.usa-combo-box__input[aria-disabled=true]:active,.usa-combo-box__input[aria-disabled=true]:focus,.usa-combo-box__input[aria-disabled=true]:hover{color:GrayText}}.usa-combo-box__input:disabled::-moz-placeholder,.usa-combo-box__input[aria-disabled=true]::-moz-placeholder{opacity:1}.usa-combo-box__input:disabled::placeholder,.usa-combo-box__input[aria-disabled=true]::placeholder{opacity:1}.usa-combo-box__input:disabled~.usa-combo-box__input-button-separator,.usa-combo-box__input[aria-disabled=true]~.usa-combo-box__input-button-separator{background-color:#454545;cursor:not-allowed}button.usa-combo-box__clear-input:focus,button.usa-combo-box__toggle-list:focus{outline-offset:-4px}button.usa-combo-box__clear-input:disabled,button.usa-combo-box__clear-input[aria-disabled=true],button.usa-combo-box__toggle-list:disabled,button.usa-combo-box__toggle-list[aria-disabled=true]{cursor:not-allowed}.usa-combo-box__clear-input__wrapper:focus,.usa-combo-box__toggle-list__wrapper:focus{outline:0}.usa-combo-box__clear-input,.usa-combo-box__toggle-list{background-color:transparent;background-position:center;border:0;bottom:1px;cursor:pointer;margin-bottom:0;opacity:.6;padding-right:2rem;position:absolute;top:1px;z-index:100}.usa-combo-box__clear-input{background-size:auto 1.5rem;background-image:url(../img/usa-icons/close.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat;display:none;right:calc(2.5em + 3px)}.usa-combo-box__toggle-list{background-image:url(../img/usa-icons/expand_more.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat;background-size:auto 2rem;right:1px}@media (forced-colors:active){.usa-combo-box__toggle-list{background-image:url(../img/usa-icons/expand_more.svg);background-repeat:no-repeat;background-position:center center;background-size:1rem 1rem;display:inline-block;height:1rem;width:1rem;height:auto;width:auto}@supports ((-webkit-mask:url()) or (mask:url())){.usa-combo-box__toggle-list{background:0 0;background-color:ButtonText;-webkit-mask-image:url(../img/usa-icons/expand_more.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/expand_more.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1rem 1rem;mask-size:1rem 1rem}}.usa-combo-box__toggle-list:disabled,.usa-combo-box__toggle-list[aria-disabled=true]{background-color:GrayText}}.usa-combo-box__input-button-separator{background-color:#c6cace;position:absolute;top:1px;height:calc(100% - 1rem);margin-bottom:.5rem;margin-top:.5rem;width:1px;right:calc(2.5em + 2px);box-sizing:border-box;z-index:200}@media (forced-colors:active){.usa-combo-box__input-button-separator{background-color:ButtonText}}.usa-combo-box__list{border-width:1px;border-color:#565c65;border-style:solid;background-color:#fff;border-radius:0;border-top:0;margin:0;max-height:12.1em;overflow-x:hidden;overflow-y:scroll;padding:0;position:absolute;width:100%;z-index:300}.usa-combo-box__list:focus{outline:0}.usa-combo-box__list-option{border-bottom:1px solid #dfe1e2;cursor:pointer;display:block;padding:.5rem}.usa-combo-box__list-option--focused{outline:2px solid #162e51;outline-offset:-2px;position:relative;z-index:100}.usa-combo-box__list-option--focused:focus{outline-offset:-4px}.usa-combo-box__list-option--selected{background-color:#005ea2;border-color:#005ea2;color:#fff}.usa-combo-box__list-option--no-results{cursor:not-allowed;display:block;padding:.5rem}.usa-date-picker__wrapper{display:none;position:relative;max-width:30rem}.usa-date-picker__wrapper:focus{outline:0}.usa-date-picker__button:disabled,.usa-date-picker__calendar__date:disabled,.usa-date-picker__calendar__month-selection:disabled,.usa-date-picker__calendar__month:disabled,.usa-date-picker__calendar__next-month:disabled,.usa-date-picker__calendar__next-year-chunk:disabled,.usa-date-picker__calendar__next-year:disabled,.usa-date-picker__calendar__previous-month:disabled,.usa-date-picker__calendar__previous-year-chunk:disabled,.usa-date-picker__calendar__previous-year:disabled,.usa-date-picker__calendar__year-selection:disabled,.usa-date-picker__calendar__year:disabled,.usa-date-picker__external-input[aria-disabled=true]+.usa-date-picker__button,[aria-disabled=true].usa-date-picker__button,[aria-disabled=true].usa-date-picker__calendar__date,[aria-disabled=true].usa-date-picker__calendar__month,[aria-disabled=true].usa-date-picker__calendar__month-selection,[aria-disabled=true].usa-date-picker__calendar__next-month,[aria-disabled=true].usa-date-picker__calendar__next-year,[aria-disabled=true].usa-date-picker__calendar__next-year-chunk,[aria-disabled=true].usa-date-picker__calendar__previous-month,[aria-disabled=true].usa-date-picker__calendar__previous-year,[aria-disabled=true].usa-date-picker__calendar__previous-year-chunk,[aria-disabled=true].usa-date-picker__calendar__year,[aria-disabled=true].usa-date-picker__calendar__year-selection{cursor:not-allowed;opacity:.6}.usa-date-picker__button:hover:disabled,.usa-date-picker__calendar__date:hover:disabled,.usa-date-picker__calendar__month-selection:hover:disabled,.usa-date-picker__calendar__month:hover:disabled,.usa-date-picker__calendar__next-month:hover:disabled,.usa-date-picker__calendar__next-year-chunk:hover:disabled,.usa-date-picker__calendar__next-year:hover:disabled,.usa-date-picker__calendar__previous-month:hover:disabled,.usa-date-picker__calendar__previous-year-chunk:hover:disabled,.usa-date-picker__calendar__previous-year:hover:disabled,.usa-date-picker__calendar__year-selection:hover:disabled,.usa-date-picker__calendar__year:hover:disabled,.usa-date-picker__external-input[aria-disabled=true]+.usa-date-picker__button:hover,[aria-disabled=true].usa-date-picker__button:hover,[aria-disabled=true].usa-date-picker__calendar__date:hover,[aria-disabled=true].usa-date-picker__calendar__month-selection:hover,[aria-disabled=true].usa-date-picker__calendar__month:hover,[aria-disabled=true].usa-date-picker__calendar__next-month:hover,[aria-disabled=true].usa-date-picker__calendar__next-year-chunk:hover,[aria-disabled=true].usa-date-picker__calendar__next-year:hover,[aria-disabled=true].usa-date-picker__calendar__previous-month:hover,[aria-disabled=true].usa-date-picker__calendar__previous-year-chunk:hover,[aria-disabled=true].usa-date-picker__calendar__previous-year:hover,[aria-disabled=true].usa-date-picker__calendar__year-selection:hover,[aria-disabled=true].usa-date-picker__calendar__year:hover{background-color:initial}@media (forced-colors:active){.usa-date-picker__button:disabled,.usa-date-picker__button:hover:disabled,.usa-date-picker__calendar__date:disabled,.usa-date-picker__calendar__date:hover:disabled,.usa-date-picker__calendar__month-selection:disabled,.usa-date-picker__calendar__month-selection:hover:disabled,.usa-date-picker__calendar__month:disabled,.usa-date-picker__calendar__month:hover:disabled,.usa-date-picker__calendar__next-month:disabled,.usa-date-picker__calendar__next-month:hover:disabled,.usa-date-picker__calendar__next-year-chunk:disabled,.usa-date-picker__calendar__next-year-chunk:hover:disabled,.usa-date-picker__calendar__next-year:disabled,.usa-date-picker__calendar__next-year:hover:disabled,.usa-date-picker__calendar__previous-month:disabled,.usa-date-picker__calendar__previous-month:hover:disabled,.usa-date-picker__calendar__previous-year-chunk:disabled,.usa-date-picker__calendar__previous-year-chunk:hover:disabled,.usa-date-picker__calendar__previous-year:disabled,.usa-date-picker__calendar__previous-year:hover:disabled,.usa-date-picker__calendar__year-selection:disabled,.usa-date-picker__calendar__year-selection:hover:disabled,.usa-date-picker__calendar__year:disabled,.usa-date-picker__calendar__year:hover:disabled,.usa-date-picker__external-input[aria-disabled=true]+.usa-date-picker__button,.usa-date-picker__external-input[aria-disabled=true]+.usa-date-picker__button:hover,[aria-disabled=true].usa-date-picker__button,[aria-disabled=true].usa-date-picker__button:hover,[aria-disabled=true].usa-date-picker__calendar__date,[aria-disabled=true].usa-date-picker__calendar__date:hover,[aria-disabled=true].usa-date-picker__calendar__month,[aria-disabled=true].usa-date-picker__calendar__month-selection,[aria-disabled=true].usa-date-picker__calendar__month-selection:hover,[aria-disabled=true].usa-date-picker__calendar__month:hover,[aria-disabled=true].usa-date-picker__calendar__next-month,[aria-disabled=true].usa-date-picker__calendar__next-month:hover,[aria-disabled=true].usa-date-picker__calendar__next-year,[aria-disabled=true].usa-date-picker__calendar__next-year-chunk,[aria-disabled=true].usa-date-picker__calendar__next-year-chunk:hover,[aria-disabled=true].usa-date-picker__calendar__next-year:hover,[aria-disabled=true].usa-date-picker__calendar__previous-month,[aria-disabled=true].usa-date-picker__calendar__previous-month:hover,[aria-disabled=true].usa-date-picker__calendar__previous-year,[aria-disabled=true].usa-date-picker__calendar__previous-year-chunk,[aria-disabled=true].usa-date-picker__calendar__previous-year-chunk:hover,[aria-disabled=true].usa-date-picker__calendar__previous-year:hover,[aria-disabled=true].usa-date-picker__calendar__year,[aria-disabled=true].usa-date-picker__calendar__year-selection,[aria-disabled=true].usa-date-picker__calendar__year-selection:hover,[aria-disabled=true].usa-date-picker__calendar__year:hover{background-color:GrayText}}.usa-date-picker__calendar__month,.usa-date-picker__calendar__next-year-chunk,.usa-date-picker__calendar__previous-year-chunk,.usa-date-picker__calendar__year{background-color:#f0f0f0;border:0;width:100%}.usa-date-picker__calendar__month-selection,.usa-date-picker__calendar__year-selection{background-color:#f0f0f0;border:0}.usa-date-picker__calendar__date,.usa-date-picker__calendar__next-month,.usa-date-picker__calendar__next-year,.usa-date-picker__calendar__previous-month,.usa-date-picker__calendar__previous-year{background-color:#f0f0f0;border:0;width:100%}.usa-date-picker__button{border:0}.usa-date-picker__button:not([disabled]),.usa-date-picker__calendar__date:not([disabled]),.usa-date-picker__calendar__month-selection:not([disabled]),.usa-date-picker__calendar__month:not([disabled]),.usa-date-picker__calendar__next-month:not([disabled]),.usa-date-picker__calendar__next-year-chunk:not([disabled]),.usa-date-picker__calendar__next-year:not([disabled]),.usa-date-picker__calendar__previous-month:not([disabled]),.usa-date-picker__calendar__previous-year-chunk:not([disabled]),.usa-date-picker__calendar__previous-year:not([disabled]),.usa-date-picker__calendar__year-selection:not([disabled]),.usa-date-picker__calendar__year:not([disabled]){cursor:pointer}.usa-date-picker__button:not([disabled]):focus,.usa-date-picker__calendar__date:not([disabled]):focus,.usa-date-picker__calendar__month-selection:not([disabled]):focus,.usa-date-picker__calendar__month:not([disabled]):focus,.usa-date-picker__calendar__next-month:not([disabled]):focus,.usa-date-picker__calendar__next-year-chunk:not([disabled]):focus,.usa-date-picker__calendar__next-year:not([disabled]):focus,.usa-date-picker__calendar__previous-month:not([disabled]):focus,.usa-date-picker__calendar__previous-year-chunk:not([disabled]):focus,.usa-date-picker__calendar__previous-year:not([disabled]):focus,.usa-date-picker__calendar__year-selection:not([disabled]):focus,.usa-date-picker__calendar__year:not([disabled]):focus{outline-offset:-4px}.usa-date-picker__button:not([disabled]):hover,.usa-date-picker__calendar__date:not([disabled]):hover,.usa-date-picker__calendar__month-selection:not([disabled]):hover,.usa-date-picker__calendar__month:not([disabled]):hover,.usa-date-picker__calendar__next-month:not([disabled]):hover,.usa-date-picker__calendar__next-year-chunk:not([disabled]):hover,.usa-date-picker__calendar__next-year:not([disabled]):hover,.usa-date-picker__calendar__previous-month:not([disabled]):hover,.usa-date-picker__calendar__previous-year-chunk:not([disabled]):hover,.usa-date-picker__calendar__previous-year:not([disabled]):hover,.usa-date-picker__calendar__year-selection:not([disabled]):hover,.usa-date-picker__calendar__year:not([disabled]):hover{background-color:#dfe1e2}@media (forced-colors:active){.usa-date-picker__button:not([disabled]):hover,.usa-date-picker__calendar__date:not([disabled]):hover,.usa-date-picker__calendar__month-selection:not([disabled]):hover,.usa-date-picker__calendar__month:not([disabled]):hover,.usa-date-picker__calendar__next-month:not([disabled]):hover,.usa-date-picker__calendar__next-year-chunk:not([disabled]):hover,.usa-date-picker__calendar__next-year:not([disabled]):hover,.usa-date-picker__calendar__previous-month:not([disabled]):hover,.usa-date-picker__calendar__previous-year-chunk:not([disabled]):hover,.usa-date-picker__calendar__previous-year:not([disabled]):hover,.usa-date-picker__calendar__year-selection:not([disabled]):hover,.usa-date-picker__calendar__year:not([disabled]):hover{background-color:buttontext}}.usa-date-picker__button:not([disabled]):active,.usa-date-picker__calendar__date:not([disabled]):active,.usa-date-picker__calendar__month-selection:not([disabled]):active,.usa-date-picker__calendar__month:not([disabled]):active,.usa-date-picker__calendar__next-month:not([disabled]):active,.usa-date-picker__calendar__next-year-chunk:not([disabled]):active,.usa-date-picker__calendar__next-year:not([disabled]):active,.usa-date-picker__calendar__previous-month:not([disabled]):active,.usa-date-picker__calendar__previous-year-chunk:not([disabled]):active,.usa-date-picker__calendar__previous-year:not([disabled]):active,.usa-date-picker__calendar__year-selection:not([disabled]):active,.usa-date-picker__calendar__year:not([disabled]):active{background-color:#a9aeb1}@media (forced-colors:active){.usa-date-picker__button:not([disabled]):active,.usa-date-picker__calendar__date:not([disabled]):active,.usa-date-picker__calendar__month-selection:not([disabled]):active,.usa-date-picker__calendar__month:not([disabled]):active,.usa-date-picker__calendar__next-month:not([disabled]):active,.usa-date-picker__calendar__next-year-chunk:not([disabled]):active,.usa-date-picker__calendar__next-year:not([disabled]):active,.usa-date-picker__calendar__previous-month:not([disabled]):active,.usa-date-picker__calendar__previous-year-chunk:not([disabled]):active,.usa-date-picker__calendar__previous-year:not([disabled]):active,.usa-date-picker__calendar__year-selection:not([disabled]):active,.usa-date-picker__calendar__year:not([disabled]):active{background-color:buttontext}}.usa-date-picker--active .usa-date-picker__button{background-color:#f0f0f0}@media (forced-colors:active){.usa-date-picker--active .usa-date-picker__button{background-color:buttontext}}.usa-date-picker--active .usa-date-picker__calendar{z-index:400}.usa-date-picker__button{background-image:url(../img/usa-icons/calendar_today.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat;align-self:stretch;background-color:transparent;background-position:center;background-size:1.5rem;margin-top:.5em;width:3em}@media (forced-colors:active){.usa-date-picker__button{background-image:url(../img/usa-icons/calendar_today.svg);background-repeat:no-repeat;background-position:center center;background-size:2.5rem 2.5rem;display:inline-block;height:2.5rem;width:3rem;-webkit-mask-size:1.5rem!important;mask-size:1.5rem!important;position:relative}@supports ((-webkit-mask:url()) or (mask:url())){.usa-date-picker__button{background:0 0;background-color:ButtonText;-webkit-mask-image:url(../img/usa-icons/calendar_today.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/calendar_today.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:2.5rem 2.5rem;mask-size:2.5rem 2.5rem}}.usa-date-picker__button:not([disabled]):focus,.usa-date-picker__button:not([disabled]):hover{background-color:Highlight}}.usa-date-picker--initialized .usa-date-picker__wrapper{display:flex}.usa-date-picker__calendar{background-color:#f0f0f0;left:auto;max-width:20rem;position:absolute;right:0;width:100%;z-index:100}.usa-date-picker__calendar__table{border-spacing:0;border-collapse:collapse;table-layout:fixed;text-align:center;width:100%}.usa-date-picker__calendar__table th{font-weight:400}.usa-date-picker__calendar__table td{padding:0}.usa-date-picker__calendar__row{display:flex;flex-wrap:wrap;text-align:center;width:100%}.usa-date-picker__calendar__cell{background-color:#f0f0f0;flex:1}.usa-date-picker__calendar__cell--center-items{display:flex;justify-content:center;align-items:center}@media (forced-colors:active){.usa-date-picker__calendar__cell--center-items:not([disabled]):hover{outline:2px solid transparent;outline-offset:-2px}}.usa-date-picker__calendar__next-month,.usa-date-picker__calendar__next-year,.usa-date-picker__calendar__previous-month,.usa-date-picker__calendar__previous-year{background-position:center;background-size:auto 1.5rem;height:1.5rem;padding:20px 10px}@media (forced-colors:active){.usa-date-picker__calendar__next-month,.usa-date-picker__calendar__next-year,.usa-date-picker__calendar__previous-month,.usa-date-picker__calendar__previous-year{-webkit-mask-size:1.5rem!important;mask-size:1.5rem!important}}.usa-date-picker__calendar__previous-year:not([disabled]){background-image:url(../img/usa-icons/navigate_far_before.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat}@media (forced-colors:active){.usa-date-picker__calendar__previous-year:not([disabled]){background-image:url(../img/usa-icons/navigate_far_before.svg);background-repeat:no-repeat;background-position:center center;background-size:2.5rem 2.5rem;display:inline-block;height:2.5rem;width:3rem;background-color:buttonText}@supports ((-webkit-mask:url()) or (mask:url())){.usa-date-picker__calendar__previous-year:not([disabled]){background:0 0;background-color:ButtonText;-webkit-mask-image:url(../img/usa-icons/navigate_far_before.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/navigate_far_before.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:2.5rem 2.5rem;mask-size:2.5rem 2.5rem}}}.usa-date-picker__calendar__previous-month:not([disabled]){background-image:url(../img/usa-icons/navigate_before.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat}@media (forced-colors:active){.usa-date-picker__calendar__previous-month:not([disabled]){background-image:url(../img/usa-icons/navigate_before.svg);background-repeat:no-repeat;background-position:center center;background-size:2.5rem 2.5rem;display:inline-block;height:2.5rem;width:3rem;background-color:buttonText}@supports ((-webkit-mask:url()) or (mask:url())){.usa-date-picker__calendar__previous-month:not([disabled]){background:0 0;background-color:ButtonText;-webkit-mask-image:url(../img/usa-icons/navigate_before.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/navigate_before.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:2.5rem 2.5rem;mask-size:2.5rem 2.5rem}}}.usa-date-picker__calendar__next-year:not([disabled]){background-image:url(../img/usa-icons/navigate_far_next.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat}@media (forced-colors:active){.usa-date-picker__calendar__next-year:not([disabled]){background-image:url(../img/usa-icons/navigate_far_next.svg);background-repeat:no-repeat;background-position:center center;background-size:2.5rem 2.5rem;display:inline-block;height:2.5rem;width:3rem;background-color:buttonText}@supports ((-webkit-mask:url()) or (mask:url())){.usa-date-picker__calendar__next-year:not([disabled]){background:0 0;background-color:ButtonText;-webkit-mask-image:url(../img/usa-icons/navigate_far_next.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/navigate_far_next.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:2.5rem 2.5rem;mask-size:2.5rem 2.5rem}}}.usa-date-picker__calendar__next-month:not([disabled]){background-image:url(../img/usa-icons/navigate_next.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat}@media (forced-colors:active){.usa-date-picker__calendar__next-month:not([disabled]){background-image:url(../img/usa-icons/navigate_next.svg);background-repeat:no-repeat;background-position:center center;background-size:2.5rem 2.5rem;display:inline-block;height:2.5rem;width:3rem;background-color:buttonText}@supports ((-webkit-mask:url()) or (mask:url())){.usa-date-picker__calendar__next-month:not([disabled]){background:0 0;background-color:ButtonText;-webkit-mask-image:url(../img/usa-icons/navigate_next.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/navigate_next.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:2.5rem 2.5rem;mask-size:2.5rem 2.5rem}}}.usa-date-picker__calendar__day-of-week{padding:6px 0}.usa-date-picker__calendar__date{padding:10px 0}.usa-date-picker__calendar__date--focused{outline:2px solid #162e51;outline-offset:-2px;position:relative;z-index:100}.usa-date-picker__calendar__date--next-month:not([disabled]),.usa-date-picker__calendar__date--previous-month:not([disabled]){color:#5d5d52}.usa-date-picker__calendar__date--range-date,.usa-date-picker__calendar__date--selected{background-color:#0050d8;color:#f9f9f9}.usa-date-picker__calendar__date--range-date:not([disabled]),.usa-date-picker__calendar__date--selected:not([disabled]){background-color:#0050d8;color:#f9f9f9}@media (forced-colors:active){.usa-date-picker__calendar__date--range-date:not([disabled]),.usa-date-picker__calendar__date--selected:not([disabled]){border:ActiveText 2px solid}}.usa-date-picker__calendar__date--range-date:not([disabled]):hover,.usa-date-picker__calendar__date--selected:not([disabled]):hover{background-color:#0050d8;color:#e6e6e6}.usa-date-picker__calendar__date--range-date:not([disabled]):focus,.usa-date-picker__calendar__date--selected:not([disabled]):focus{background-color:#0050d8;color:#f9f9f9}@media (forced-colors:active){.usa-date-picker__calendar__date--range-date:not([disabled]):focus,.usa-date-picker__calendar__date--selected:not([disabled]):focus{border:ActiveText 2px solid}}.usa-date-picker__calendar__date--range-date:not([disabled]):active,.usa-date-picker__calendar__date--selected:not([disabled]):active{background-color:#1a4480}@media (forced-colors:active){.usa-date-picker__calendar__date--range-date:not([disabled]):active,.usa-date-picker__calendar__date--selected:not([disabled]):active{background-color:Highlight}}.usa-date-picker__calendar__date--range-date-start{border-top-left-radius:10%;border-bottom-left-radius:10%}.usa-date-picker__calendar__date--range-date-end{border-top-right-radius:10%;border-bottom-right-radius:10%}.usa-date-picker__calendar__date--within-range{background-color:#cfe8ff}.usa-date-picker__calendar__date--within-range:not([disabled]),.usa-date-picker__calendar__date--within-range:not([disabled]):hover{background-color:#cfe8ff}@media (forced-colors:active){.usa-date-picker__calendar__date--within-range:not([disabled]){border:Highlight 2px solid}}@media (forced-colors:active){.usa-date-picker__calendar__date--within-range:not([disabled]):hover{border:Highlight 2px solid}}.usa-date-picker__calendar__date--within-range:not([disabled]):focus{background-color:#cfe8ff}@media (forced-colors:active){.usa-date-picker__calendar__date--within-range:not([disabled]):focus{border:Highlight 2px solid}}.usa-date-picker__calendar__date--within-range:not([disabled]):active{background-color:#cfe8ff}@media (forced-colors:active){.usa-date-picker__calendar__date--within-range:not([disabled]):active{background-color:Highlight}}@media all and (max-width:19.99em){.usa-date-picker__calendar__month-label{min-width:100%;order:-1}}@media all and (min-width:20em){.usa-date-picker__calendar__month-label{flex:4;text-align:center}}.usa-date-picker__calendar__month-selection,.usa-date-picker__calendar__year-selection{display:inline-block;height:100%;padding:8px 4px;width:auto}@media all and (max-width:19.99em){.usa-date-picker__calendar__month-selection,.usa-date-picker__calendar__year-selection{padding-bottom:0;padding-top:12px}}.usa-date-picker__calendar__month-picker{padding:20px 5px}@media all and (max-width:19.99em){.usa-date-picker__calendar__month-picker{padding-bottom:12px;padding-top:12px}.usa-date-picker__calendar__month-picker tr{display:flex;flex-direction:column}}.usa-date-picker__calendar__month{padding:10px 0}.usa-date-picker__calendar__month--focused{outline:2px solid #162e51;outline-offset:-2px;position:relative;z-index:100}.usa-date-picker__calendar__month--selected{background-color:#0050d8;color:#f9f9f9}.usa-date-picker__calendar__month--selected:not([disabled]){background-color:#0050d8;color:#f9f9f9}.usa-date-picker__calendar__month--selected:not([disabled]):hover{background-color:#0050d8;color:#e6e6e6}.usa-date-picker__calendar__month--selected:not([disabled]):focus{background-color:#0050d8;color:#f9f9f9}.usa-date-picker__calendar__month--selected:not([disabled]):active{background-color:#1a4480}.usa-date-picker__calendar__year-picker{padding:20px 5px}.usa-date-picker__calendar__next-year-chunk,.usa-date-picker__calendar__previous-year-chunk{background-position:center;background-size:auto 2rem;margin:auto;padding:40px 0}@media (forced-colors:active){.usa-date-picker__calendar__next-year-chunk,.usa-date-picker__calendar__previous-year-chunk{-webkit-mask-size:1.5rem!important;mask-size:1.5rem!important}}.usa-date-picker__calendar__previous-year-chunk:not([disabled]){background-image:url(../img/usa-icons/navigate_before.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat}@media (forced-colors:active){.usa-date-picker__calendar__previous-year-chunk:not([disabled]){background-image:none}.usa-date-picker__calendar__previous-year-chunk:not([disabled])::after{background-image:url(../img/usa-icons/navigate_before.svg);background-repeat:no-repeat;background-position:center center;background-size:2.5rem 2.5rem;display:inline-block;height:2.5rem;width:3rem;content:"";vertical-align:middle;margin-left:auto}@supports ((-webkit-mask:url()) or (mask:url())){.usa-date-picker__calendar__previous-year-chunk:not([disabled])::after{background:0 0;background-color:ButtonText;-webkit-mask-image:url(../img/usa-icons/navigate_before.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/navigate_before.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:2.5rem 2.5rem;mask-size:2.5rem 2.5rem}}.usa-date-picker__calendar__previous-year-chunk:not([disabled]):hover{border:2px solid transparent;background-color:transparent}}.usa-date-picker__calendar__next-year-chunk:not([disabled]){background-image:url(../img/usa-icons/navigate_next.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat}@media (forced-colors:active){.usa-date-picker__calendar__next-year-chunk:not([disabled]){background-image:none}.usa-date-picker__calendar__next-year-chunk:not([disabled])::after{background-image:url(../img/usa-icons/navigate_next.svg);background-repeat:no-repeat;background-position:center center;background-size:2.5rem 2.5rem;display:inline-block;height:2.5rem;width:3rem;content:"";vertical-align:middle;margin-left:auto}@supports ((-webkit-mask:url()) or (mask:url())){.usa-date-picker__calendar__next-year-chunk:not([disabled])::after{background:0 0;background-color:ButtonText;-webkit-mask-image:url(../img/usa-icons/navigate_next.svg),linear-gradient(transparent,transparent);mask-image:url(../img/usa-icons/navigate_next.svg),linear-gradient(transparent,transparent);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:2.5rem 2.5rem;mask-size:2.5rem 2.5rem}}.usa-date-picker__calendar__next-year-chunk:not([disabled]):hover{border:2px solid transparent;background-color:transparent}}.usa-date-picker__calendar__year{padding:10px 0}.usa-date-picker__calendar__year--focused{outline:2px solid #162e51;outline-offset:-2px;position:relative;z-index:100}.usa-date-picker__calendar__year--selected{background-color:#0050d8;color:#f9f9f9}.usa-date-picker__calendar__year--selected:not([disabled]){background-color:#0050d8;color:#f9f9f9}.usa-date-picker__calendar__year--selected:not([disabled]):hover{background-color:#0050d8;color:#e6e6e6}.usa-date-picker__calendar__year--selected:not([disabled]):focus{background-color:#0050d8;color:#f9f9f9}.usa-date-picker__calendar__year--selected:not([disabled]):active{background-color:#1a4480}.usa-error-message{padding-bottom:.25rem;padding-top:.25rem;color:#b50909;display:block;font-weight:700}[type=file]{border:0;margin-top:.5rem;padding-left:0;padding-top:.2rem}.usa-file-input{display:block;max-width:30rem;width:100%}.usa-file-input__target{border:1px dashed #a9aeb1;display:block;font-size:.93rem;margin-top:.5rem;position:relative;text-align:center;width:100%}.usa-file-input__target:hover{border-color:#71767a}.usa-file-input__target.has-invalid-file{border-color:#fa9441}.usa-file-input__accepted-files-message{font-weight:700;margin:-1.5rem 0 1.5rem;pointer-events:none;position:relative;z-index:3}.has-invalid-file .usa-file-input__accepted-files-message{color:#b50909}.usa-file-input__choose{color:#005ea2;text-decoration:underline;font-weight:400}.usa-file-input__choose:visited{color:#54278f}.usa-file-input__choose:hover{color:#1a4480}.usa-file-input__choose:active{color:#162e51}.usa-file-input__choose:focus{outline:.25rem solid #2491ff;outline-offset:0}.usa-file-input__instructions{padding:2rem 1rem;pointer-events:none;position:relative;z-index:3}.usa-file-input__box{background:#fff;height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:2}.usa-file-input .usa-file-input__input[type]{cursor:pointer;height:100%;left:0;margin:0;max-width:none;position:absolute;padding:.5rem;text-indent:-999em;top:0;width:100%;z-index:1}.usa-file-input .usa-file-input__input[type]::-webkit-file-upload-button{display:none}.usa-file-input--drag .usa-file-input__target{border-color:#005ea2}.usa-file-input--drag .usa-file-input__box{background-color:#d9e8f6}.usa-file-input--drag .usa-file-input__preview{opacity:.1}.usa-file-input__preview,.usa-file-input__preview-heading{align-items:center;background:#d9e8f6;display:flex;pointer-events:none;position:relative;z-index:3}.usa-file-input__preview-heading{font-weight:700;justify-content:space-between;padding:.5rem}.usa-file-input__preview{word-wrap:anywhere;font-size:.87rem;margin-top:1px;padding:.25rem .5rem;text-align:left}.usa-file-input__preview:last-child{margin-bottom:-1.5rem}.usa-file-input__preview-image{border:0;display:block;height:2.5rem;margin-right:.5rem;-o-object-fit:contain;object-fit:contain;width:2.5rem}.usa-file-input__preview-image.is-loading{background-image:url(../img/loader.svg),linear-gradient(transparent,transparent);background-position:center center;background-repeat:no-repeat;background-size:2rem}.usa-file-input__preview-image--excel,.usa-file-input__preview-image--generic,.usa-file-input__preview-image--pdf,.usa-file-input__preview-image--video,.usa-file-input__preview-image--word{background-position:center center;background-size:1.5rem}.usa-file-input__preview-image--pdf{background-image:url(../img/file-pdf.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat}.usa-file-input__preview-image--generic{background-image:url(../img/file.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat}.usa-file-input__preview-image--word{background-image:url(../img/file-word.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat}.usa-file-input__preview-image--excel{background-image:url(../img/file-excel.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat}.usa-file-input__preview-image--video{background-image:url(../img/file-video.svg),linear-gradient(transparent,transparent);background-repeat:no-repeat}.usa-form-group--error .usa-file-input__target{border-color:#b50909;border-width:2px}.usa-file-input--disabled .usa-file-input__choose,.usa-file-input--disabled .usa-file-input__instructions{color:#454545}.usa-file-input--disabled .usa-file-input__box{background-color:#c9c9c9}.usa-file-input--disabled .usa-file-input__input[type]{cursor:not-allowed}.usa-file-input--disabled .usa-file-input__target:hover{border-color:#a9aeb1}.usa-file-input--disabled .usa-file-input--drag .usa-file-input__box{background-color:#c9c9c9}@media (forced-colors:active){.usa-file-input--disabled .usa-file-input__choose,.usa-file-input--disabled .usa-file-input__instructions{color:GrayText}.usa-file-input--disabled .usa-file-input__target,.usa-file-input--disabled .usa-file-input__target:hover{border-color:GrayText}}.usa-form-group{margin-top:1.5rem}.usa-form-group .usa-label:first-child{margin-top:0}.usa-form-group--error{border-left-width:.25rem;border-left-color:#b50909;border-left-style:solid;padding-left:1rem;position:relative}@media all and (min-width:64em){.usa-form-group--error{margin-left:-1.25rem}}.usa-hint{color:#71767a}.usa-hint--required{color:#b50909}.usa-input-group{align-items:center;display:flex;padding:0;position:relative}.usa-input-group--error input:focus,.usa-input-group--success input:focus{outline-offset:.25rem}.usa-input-group--error,.usa-input-group--success{border-width:.25rem;border-color:#b50909;border-style:solid}.usa-input-group--success{border-color:#00a91c}.usa-input-group input{padding-right:2.5rem;border:0;height:100%;margin-top:0;min-width:0;width:100%}.usa-input-group input:disabled+.usa-input-suffix,.usa-input-group input[aria-disabled=true]+.usa-input-suffix{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}@media (forced-colors:active){.usa-input-group input:disabled+.usa-input-suffix,.usa-input-group input[aria-disabled=true]+.usa-input-suffix{border:0;color:GrayText}.usa-input-group input:disabled+.usa-input-suffix.usa-focus,.usa-input-group input:disabled+.usa-input-suffix:active,.usa-input-group input:disabled+.usa-input-suffix:focus,.usa-input-group input:disabled+.usa-input-suffix:hover,.usa-input-group input[aria-disabled=true]+.usa-input-suffix.usa-focus,.usa-input-group input[aria-disabled=true]+.usa-input-suffix:active,.usa-input-group input[aria-disabled=true]+.usa-input-suffix:focus,.usa-input-group input[aria-disabled=true]+.usa-input-suffix:hover{color:GrayText}.usa-input-group input:disabled,.usa-input-group input[aria-disabled=true]{border:0}.usa-input-group:has(input:disabled),.usa-input-group:has(input[aria-disabled=true]){border:2px solid GrayText}}.usa-form .usa-input-group--2xs,.usa-input-group--2xs{max-width:5ex}.usa-form .usa-input-group--xs,.usa-input-group--xs{max-width:9ex}.usa-form .usa-input-group--sm,.usa-form .usa-input-group--small,.usa-input-group--sm,.usa-input-group--small{max-width:13ex}.usa-form .usa-input-group--md,.usa-form .usa-input-group--medium,.usa-input-group--md,.usa-input-group--medium{max-width:20ex}.usa-form .usa-input-group--lg,.usa-input-group--lg{max-width:30ex}.usa-form .usa-input-group--xl,.usa-input-group--xl{max-width:40ex}.usa-form .usa-input-group--2xl,.usa-input-group--2xl{max-width:50ex}.usa-input-prefix:has(+input:disabled),.usa-input-prefix:has(+input[aria-disabled=true]){color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-input-prefix:has(+input:disabled).usa-focus,.usa-input-prefix:has(+input:disabled):active,.usa-input-prefix:has(+input:disabled):focus,.usa-input-prefix:has(+input:disabled):hover,.usa-input-prefix:has(+input[aria-disabled=true]).usa-focus,.usa-input-prefix:has(+input[aria-disabled=true]):active,.usa-input-prefix:has(+input[aria-disabled=true]):focus,.usa-input-prefix:has(+input[aria-disabled=true]):hover{color:#454545;background-color:#c9c9c9}@media (forced-colors:active){.usa-input-prefix:has(+input:disabled),.usa-input-prefix:has(+input[aria-disabled=true]){border:0;color:GrayText}.usa-input-prefix:has(+input:disabled).usa-focus,.usa-input-prefix:has(+input:disabled):active,.usa-input-prefix:has(+input:disabled):focus,.usa-input-prefix:has(+input:disabled):hover,.usa-input-prefix:has(+input[aria-disabled=true]).usa-focus,.usa-input-prefix:has(+input[aria-disabled=true]):active,.usa-input-prefix:has(+input[aria-disabled=true]):focus,.usa-input-prefix:has(+input[aria-disabled=true]):hover{color:GrayText}}.usa-input-prefix,.usa-input-suffix{position:absolute;color:#71767a;line-height:0;padding:0 .5rem;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.usa-input-prefix .usa-icon,.usa-input-suffix .usa-icon{height:1.5rem;width:1.5rem}.usa-input-prefix+input{padding-left:2.5rem;padding-right:.5rem}.usa-input-suffix{right:0}.usa-input-mask{display:block;position:relative}.usa-input-mask--content{border:1px solid transparent;color:#757575;display:block;left:2px;pointer-events:none;position:absolute;top:0}.usa-input-mask--content i{visibility:hidden}@media (forced-colors:active){.usa-input-mask--content i{color:ButtonText;font-style:normal;visibility:visible}.usa-input-mask--content{border:0}}.usa-input-mask--content,.usa-masked{background-color:transparent;padding:.5rem}.usa-label{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.06rem;line-height:1.3;display:block;font-weight:400;margin-top:1.5rem;max-width:30rem}.usa-label--error{font-weight:700;margin-top:0}.usa-label--required{color:#b50909}.usa-memorable-date{display:flex;flex-wrap:wrap}.usa-memorable-date [type=number]{-moz-appearance:textfield}.usa-memorable-date [type=number]::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none}.usa-memorable-date [type=number]::-webkit-contacts-auto-fill-button{visibility:hidden;display:none!important;pointer-events:none;height:0;width:0;margin:0}.usa-memorable-date .usa-form-group{margin-top:1rem}.usa-form-group--day,.usa-form-group--month,.usa-form-group--year{flex:0 1 auto;margin-right:1rem;width:-moz-fit-content;width:fit-content}.usa-form-group--day input,.usa-form-group--month input{width:3rem}.usa-form-group--month select{width:15rem}.usa-form-group--year input{width:4.5rem}.usa-radio{background:#fff}.usa-radio__label{color:#1b1b1b}.usa-radio__label::before{background:#fff;box-shadow:0 0 0 2px #1b1b1b}@media (forced-colors:active){.usa-radio__label::before{outline:2px solid transparent;outline-offset:2px}}.usa-radio__input:checked+[class*=__label]::before{background-color:#005ea2}.usa-radio__input:disabled+[class*=__label],.usa-radio__input[aria-disabled=true]+[class*=__label]{color:#757575;cursor:not-allowed}@media (forced-colors:active){.usa-radio__input:disabled+[class*=__label],.usa-radio__input[aria-disabled=true]+[class*=__label]{color:GrayText}}.usa-radio__input:disabled+[class*=__label]::before,.usa-radio__input[aria-disabled=true]+[class*=__label]::before{background-color:#fff;box-shadow:0 0 0 2px #757575}.usa-radio__input--tile+[class*=__label]{background-color:#fff;border:2px solid #c9c9c9;color:#1b1b1b;border-radius:.25rem;margin-top:.5rem;padding:.75rem 1rem .75rem 2.5rem}.usa-radio__input--tile:checked+[class*=__label]{background-color:rgba(0,94,162,.1);border-color:#005ea2}@media (forced-colors:active){.usa-radio__input--tile:checked+[class*=__label]{border:ButtonText solid .25rem}}.usa-radio__input--tile:disabled+[class*=__label],.usa-radio__input--tile[aria-disabled=true]+[class*=__label]{border-color:#e6e6e6}.usa-radio__input--tile:disabled:checked+[class*=__label],.usa-radio__input--tile:disabled:indeterminate+[class*=__label],.usa-radio__input--tile:disabled[data-indeterminate]+[class*=__label],.usa-radio__input--tile[aria-disabled=true]:checked+[class*=__label],.usa-radio__input--tile[aria-disabled=true]:indeterminate+[class*=__label],.usa-radio__input--tile[aria-disabled=true][data-indeterminate]+[class*=__label]{background-color:#fff}.usa-radio__input:checked+[class*=__label]::before{box-shadow:0 0 0 2px #005ea2,inset 0 0 0 2px #fff}@media (forced-colors:active){.usa-radio__input:checked+[class*=__label]::before{background-color:ButtonText}}.usa-radio__input:checked:disabled+[class*=__label]::before,.usa-radio__input:checked[aria-disabled=true]+[class*=__label]::before{background-color:#757575;box-shadow:0 0 0 2px #757575,inset 0 0 0 2px #fff}@media (forced-colors:active){.usa-radio__input:checked:disabled+[class*=__label]::before,.usa-radio__input:checked[aria-disabled=true]+[class*=__label]::before{background-color:GrayText}}.usa-radio__input{position:absolute;left:-999em;right:auto}.usa-radio__input:focus+[class*=__label]::before{outline:.25rem solid #2491ff;outline-offset:.25rem}.usa-radio__input--tile+[class*=__label]::before{left:.5rem}@media print{.usa-radio__input:checked+[class*=__label]::before{box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 1rem #005ea2,0 0 0 2px #005ea2}}.usa-radio__label{cursor:pointer;display:inherit;font-weight:400;margin-top:.75rem;padding-left:2rem;position:relative}.usa-radio__label::before{content:" ";display:block;left:0;margin-left:2px;margin-top:.064rem;position:absolute;height:1.25rem;border-radius:99rem;width:1.25rem}.usa-radio__label-description{display:block;font-size:.93rem;margin-top:.5rem}.usa-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding-left:1px;width:100%}.usa-range:focus{outline:0}.usa-range:focus::-webkit-slider-thumb{background-color:#fff;box-shadow:0 0 0 2px #2491ff}.usa-range:focus::-moz-range-thumb{background-color:#fff;box-shadow:0 0 0 2px #2491ff}.usa-range:focus::-ms-thumb{background-color:#fff;box-shadow:0 0 0 2px #2491ff}.usa-range::-webkit-slider-runnable-track{background-color:#f0f0f0;border-radius:99rem;border:1px solid #71767a;cursor:pointer;height:1rem;width:100%}.usa-range::-moz-range-track{background-color:#f0f0f0;border-radius:99rem;border:1px solid #71767a;cursor:pointer;height:1rem;width:100%}.usa-range::-ms-track{background-color:#f0f0f0;border-radius:99rem;border:1px solid #71767a;cursor:pointer;height:1rem;width:100%}.usa-range::-webkit-slider-thumb{height:1.25rem;border-radius:99rem;width:1.25rem;background:#f0f0f0;border:0;box-shadow:0 0 0 2px #71767a;cursor:pointer;-webkit-appearance:none;appearance:none;margin-top:-.19rem}@media (forced-colors:active){.usa-range::-webkit-slider-thumb{outline:2px solid transparent}}.usa-range::-moz-range-thumb{height:1.25rem;border-radius:99rem;width:1.25rem;background:#f0f0f0;border:0;box-shadow:0 0 0 2px #71767a;cursor:pointer}@media (forced-colors:active){.usa-range::-moz-range-thumb{outline:2px solid transparent}}.usa-range::-ms-thumb{height:1.25rem;border-radius:99rem;width:1.25rem;background:#f0f0f0;border:0;box-shadow:0 0 0 2px #71767a;cursor:pointer}@media (forced-colors:active){.usa-range::-ms-thumb{outline:2px solid transparent}}.usa-range::-ms-fill-lower{background-color:#f0f0f0;border-radius:99rem;border:1px solid #71767a}.usa-range::-ms-fill-upper{background-color:#f0f0f0;border-radius:99rem;border:1px solid #71767a}.usa-range:disabled,.usa-range[aria-disabled=true]{opacity:1}.usa-range:disabled::-webkit-slider-runnable-track,.usa-range[aria-disabled=true]::-webkit-slider-runnable-track{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-range:disabled::-webkit-slider-runnable-track.usa-focus,.usa-range:disabled::-webkit-slider-runnable-track:active,.usa-range:disabled::-webkit-slider-runnable-track:focus,.usa-range:disabled::-webkit-slider-runnable-track:hover,.usa-range[aria-disabled=true]::-webkit-slider-runnable-track.usa-focus,.usa-range[aria-disabled=true]::-webkit-slider-runnable-track:active,.usa-range[aria-disabled=true]::-webkit-slider-runnable-track:focus,.usa-range[aria-disabled=true]::-webkit-slider-runnable-track:hover{color:#454545;background-color:#c9c9c9}@media (forced-colors:active){.usa-range:disabled::-webkit-slider-runnable-track,.usa-range[aria-disabled=true]::-webkit-slider-runnable-track{color:GrayText;border:2px solid GrayText}.usa-range:disabled::-webkit-slider-runnable-track.usa-focus,.usa-range:disabled::-webkit-slider-runnable-track:active,.usa-range:disabled::-webkit-slider-runnable-track:focus,.usa-range:disabled::-webkit-slider-runnable-track:hover,.usa-range[aria-disabled=true]::-webkit-slider-runnable-track.usa-focus,.usa-range[aria-disabled=true]::-webkit-slider-runnable-track:active,.usa-range[aria-disabled=true]::-webkit-slider-runnable-track:focus,.usa-range[aria-disabled=true]::-webkit-slider-runnable-track:hover{color:GrayText}}.usa-range:disabled::-moz-range-track,.usa-range[aria-disabled=true]::-moz-range-track{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-range:disabled::-moz-range-track.usa-focus,.usa-range:disabled::-moz-range-track:active,.usa-range:disabled::-moz-range-track:focus,.usa-range:disabled::-moz-range-track:hover,.usa-range[aria-disabled=true]::-moz-range-track.usa-focus,.usa-range[aria-disabled=true]::-moz-range-track:active,.usa-range[aria-disabled=true]::-moz-range-track:focus,.usa-range[aria-disabled=true]::-moz-range-track:hover{color:#454545;background-color:#c9c9c9}@media (forced-colors:active){.usa-range:disabled::-moz-range-track,.usa-range[aria-disabled=true]::-moz-range-track{color:GrayText;border:2px solid GrayText}.usa-range:disabled::-moz-range-track.usa-focus,.usa-range:disabled::-moz-range-track:active,.usa-range:disabled::-moz-range-track:focus,.usa-range:disabled::-moz-range-track:hover,.usa-range[aria-disabled=true]::-moz-range-track.usa-focus,.usa-range[aria-disabled=true]::-moz-range-track:active,.usa-range[aria-disabled=true]::-moz-range-track:focus,.usa-range[aria-disabled=true]::-moz-range-track:hover{color:GrayText}}.usa-range:disabled::-ms-track,.usa-range[aria-disabled=true]::-ms-track{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-range:disabled::-ms-track.usa-focus,.usa-range:disabled::-ms-track:active,.usa-range:disabled::-ms-track:focus,.usa-range:disabled::-ms-track:hover,.usa-range[aria-disabled=true]::-ms-track.usa-focus,.usa-range[aria-disabled=true]::-ms-track:active,.usa-range[aria-disabled=true]::-ms-track:focus,.usa-range[aria-disabled=true]::-ms-track:hover{color:#454545;background-color:#c9c9c9}@media (forced-colors:active){.usa-range:disabled::-ms-track,.usa-range[aria-disabled=true]::-ms-track{border:0;color:GrayText}.usa-range:disabled::-ms-track.usa-focus,.usa-range:disabled::-ms-track:active,.usa-range:disabled::-ms-track:focus,.usa-range:disabled::-ms-track:hover,.usa-range[aria-disabled=true]::-ms-track.usa-focus,.usa-range[aria-disabled=true]::-ms-track:active,.usa-range[aria-disabled=true]::-ms-track:focus,.usa-range[aria-disabled=true]::-ms-track:hover{color:GrayText}}.usa-range:disabled::-webkit-slider-thumb,.usa-range[aria-disabled=true]::-webkit-slider-thumb{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-range:disabled::-webkit-slider-thumb.usa-focus,.usa-range:disabled::-webkit-slider-thumb:active,.usa-range:disabled::-webkit-slider-thumb:focus,.usa-range:disabled::-webkit-slider-thumb:hover,.usa-range[aria-disabled=true]::-webkit-slider-thumb.usa-focus,.usa-range[aria-disabled=true]::-webkit-slider-thumb:active,.usa-range[aria-disabled=true]::-webkit-slider-thumb:focus,.usa-range[aria-disabled=true]::-webkit-slider-thumb:hover{color:#454545;background-color:#c9c9c9}@media (forced-colors:active){.usa-range:disabled::-webkit-slider-thumb,.usa-range[aria-disabled=true]::-webkit-slider-thumb{border:0;color:GrayText}.usa-range:disabled::-webkit-slider-thumb.usa-focus,.usa-range:disabled::-webkit-slider-thumb:active,.usa-range:disabled::-webkit-slider-thumb:focus,.usa-range:disabled::-webkit-slider-thumb:hover,.usa-range[aria-disabled=true]::-webkit-slider-thumb.usa-focus,.usa-range[aria-disabled=true]::-webkit-slider-thumb:active,.usa-range[aria-disabled=true]::-webkit-slider-thumb:focus,.usa-range[aria-disabled=true]::-webkit-slider-thumb:hover{color:GrayText}}.usa-range:disabled::-moz-range-thumb,.usa-range[aria-disabled=true]::-moz-range-thumb{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-range:disabled::-moz-range-thumb.usa-focus,.usa-range:disabled::-moz-range-thumb:active,.usa-range:disabled::-moz-range-thumb:focus,.usa-range:disabled::-moz-range-thumb:hover,.usa-range[aria-disabled=true]::-moz-range-thumb.usa-focus,.usa-range[aria-disabled=true]::-moz-range-thumb:active,.usa-range[aria-disabled=true]::-moz-range-thumb:focus,.usa-range[aria-disabled=true]::-moz-range-thumb:hover{color:#454545;background-color:#c9c9c9}@media (forced-colors:active){.usa-range:disabled::-moz-range-thumb,.usa-range[aria-disabled=true]::-moz-range-thumb{border:0;color:GrayText}.usa-range:disabled::-moz-range-thumb.usa-focus,.usa-range:disabled::-moz-range-thumb:active,.usa-range:disabled::-moz-range-thumb:focus,.usa-range:disabled::-moz-range-thumb:hover,.usa-range[aria-disabled=true]::-moz-range-thumb.usa-focus,.usa-range[aria-disabled=true]::-moz-range-thumb:active,.usa-range[aria-disabled=true]::-moz-range-thumb:focus,.usa-range[aria-disabled=true]::-moz-range-thumb:hover{color:GrayText}}.usa-range:disabled::-ms-thumb,.usa-range[aria-disabled=true]::-ms-thumb{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-range:disabled::-ms-thumb.usa-focus,.usa-range:disabled::-ms-thumb:active,.usa-range:disabled::-ms-thumb:focus,.usa-range:disabled::-ms-thumb:hover,.usa-range[aria-disabled=true]::-ms-thumb.usa-focus,.usa-range[aria-disabled=true]::-ms-thumb:active,.usa-range[aria-disabled=true]::-ms-thumb:focus,.usa-range[aria-disabled=true]::-ms-thumb:hover{color:#454545;background-color:#c9c9c9}@media (forced-colors:active){.usa-range:disabled::-ms-thumb,.usa-range[aria-disabled=true]::-ms-thumb{border:0;color:GrayText}.usa-range:disabled::-ms-thumb.usa-focus,.usa-range:disabled::-ms-thumb:active,.usa-range:disabled::-ms-thumb:focus,.usa-range:disabled::-ms-thumb:hover,.usa-range[aria-disabled=true]::-ms-thumb.usa-focus,.usa-range[aria-disabled=true]::-ms-thumb:active,.usa-range[aria-disabled=true]::-ms-thumb:focus,.usa-range[aria-disabled=true]::-ms-thumb:hover{color:GrayText}}.usa-range:disabled::-ms-fill-lower,.usa-range[aria-disabled=true]::-ms-fill-lower{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-range:disabled::-ms-fill-lower.usa-focus,.usa-range:disabled::-ms-fill-lower:active,.usa-range:disabled::-ms-fill-lower:focus,.usa-range:disabled::-ms-fill-lower:hover,.usa-range[aria-disabled=true]::-ms-fill-lower.usa-focus,.usa-range[aria-disabled=true]::-ms-fill-lower:active,.usa-range[aria-disabled=true]::-ms-fill-lower:focus,.usa-range[aria-disabled=true]::-ms-fill-lower:hover{color:#454545;background-color:#c9c9c9}@media (forced-colors:active){.usa-range:disabled::-ms-fill-lower,.usa-range[aria-disabled=true]::-ms-fill-lower{border:0;color:GrayText}.usa-range:disabled::-ms-fill-lower.usa-focus,.usa-range:disabled::-ms-fill-lower:active,.usa-range:disabled::-ms-fill-lower:focus,.usa-range:disabled::-ms-fill-lower:hover,.usa-range[aria-disabled=true]::-ms-fill-lower.usa-focus,.usa-range[aria-disabled=true]::-ms-fill-lower:active,.usa-range[aria-disabled=true]::-ms-fill-lower:focus,.usa-range[aria-disabled=true]::-ms-fill-lower:hover{color:GrayText}}.usa-range:disabled::-ms-fill-upper,.usa-range[aria-disabled=true]::-ms-fill-upper{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-range:disabled::-ms-fill-upper.usa-focus,.usa-range:disabled::-ms-fill-upper:active,.usa-range:disabled::-ms-fill-upper:focus,.usa-range:disabled::-ms-fill-upper:hover,.usa-range[aria-disabled=true]::-ms-fill-upper.usa-focus,.usa-range[aria-disabled=true]::-ms-fill-upper:active,.usa-range[aria-disabled=true]::-ms-fill-upper:focus,.usa-range[aria-disabled=true]::-ms-fill-upper:hover{color:#454545;background-color:#c9c9c9}@media (forced-colors:active){.usa-range:disabled::-ms-fill-upper,.usa-range[aria-disabled=true]::-ms-fill-upper{border:0;color:GrayText}.usa-range:disabled::-ms-fill-upper.usa-focus,.usa-range:disabled::-ms-fill-upper:active,.usa-range:disabled::-ms-fill-upper:focus,.usa-range:disabled::-ms-fill-upper:hover,.usa-range[aria-disabled=true]::-ms-fill-upper.usa-focus,.usa-range[aria-disabled=true]::-ms-fill-upper:active,.usa-range[aria-disabled=true]::-ms-fill-upper:focus,.usa-range[aria-disabled=true]::-ms-fill-upper:hover{color:GrayText}}.usa-textarea:disabled,.usa-textarea[aria-disabled=true]{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-textarea:disabled.usa-focus,.usa-textarea:disabled:active,.usa-textarea:disabled:focus,.usa-textarea:disabled:hover,.usa-textarea[aria-disabled=true].usa-focus,.usa-textarea[aria-disabled=true]:active,.usa-textarea[aria-disabled=true]:focus,.usa-textarea[aria-disabled=true]:hover{color:#454545;background-color:#c9c9c9}@media (forced-colors:active){.usa-textarea:disabled,.usa-textarea[aria-disabled=true]{color:GrayText;border:2px solid GrayText}.usa-textarea:disabled.usa-focus,.usa-textarea:disabled:active,.usa-textarea:disabled:focus,.usa-textarea:disabled:hover,.usa-textarea[aria-disabled=true].usa-focus,.usa-textarea[aria-disabled=true]:active,.usa-textarea[aria-disabled=true]:focus,.usa-textarea[aria-disabled=true]:hover{color:GrayText}}.usa-textarea{height:10rem}.usa-time-picker{width:10em}[class*=font-mono-]{font-family:Roboto Mono Web,Bitstream Vera Sans Mono,Consolas,Courier,monospace}[class*=font-sans-]{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif}[class*=font-serif-]{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif}[class*=font-ui-]{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif}[class*=font-heading-]{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif}[class*=font-body-]{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif}[class*=font-code-]{font-family:Roboto Mono Web,Bitstream Vera Sans Mono,Consolas,Courier,monospace}[class*=font-alt-]{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif}.add-aspect-9x16{box-sizing:border-box;height:0;overflow:hidden;padding-bottom:177.77778%;position:relative}@supports (aspect-ratio:1){.add-aspect-9x16{height:inherit;padding:inherit;aspect-ratio:.5625;max-width:100%}.add-aspect-9x16>*{position:absolute;top:0;left:0;width:100%;height:100%}.add-aspect-9x16>img,img.add-aspect-9x16{-o-object-fit:cover;object-fit:cover}}.add-aspect-16x9{box-sizing:border-box;height:0;overflow:hidden;padding-bottom:56.25%;position:relative}@supports (aspect-ratio:1){.add-aspect-16x9{height:inherit;padding:inherit;aspect-ratio:1.7777777778;max-width:100%}.add-aspect-16x9>*{position:absolute;top:0;left:0;width:100%;height:100%}.add-aspect-16x9>img,img.add-aspect-16x9{-o-object-fit:cover;object-fit:cover}}.add-aspect-1x1{box-sizing:border-box;height:0;overflow:hidden;padding-bottom:100%;position:relative}@supports (aspect-ratio:1){.add-aspect-1x1{height:inherit;padding:inherit;aspect-ratio:1;max-width:100%}.add-aspect-1x1>*{position:absolute;top:0;left:0;width:100%;height:100%}.add-aspect-1x1>img,img.add-aspect-1x1{-o-object-fit:cover;object-fit:cover}}.add-aspect-4x3{box-sizing:border-box;height:0;overflow:hidden;padding-bottom:75%;position:relative}@supports (aspect-ratio:1){.add-aspect-4x3{height:inherit;padding:inherit;aspect-ratio:1.3333333333;max-width:100%}.add-aspect-4x3>*{position:absolute;top:0;left:0;width:100%;height:100%}.add-aspect-4x3>img,img.add-aspect-4x3{-o-object-fit:cover;object-fit:cover}}.add-aspect-2x1{box-sizing:border-box;height:0;overflow:hidden;padding-bottom:50%;position:relative}@supports (aspect-ratio:1){.add-aspect-2x1{height:inherit;padding:inherit;aspect-ratio:2;max-width:100%}.add-aspect-2x1>*{position:absolute;top:0;left:0;width:100%;height:100%}.add-aspect-2x1>img,img.add-aspect-2x1{-o-object-fit:cover;object-fit:cover}}@supports (aspect-ratio:1){:where(img[class*=add-aspect-]){width:-moz-min-content;width:min-content}}.add-list-reset{margin-bottom:0;margin-top:0;padding-left:0;list-style:none}.flex-align-start{align-items:flex-start}.flex-align-end{align-items:flex-end}.flex-align-center{align-items:center}.flex-align-stretch{align-items:stretch}.flex-align-baseline{align-items:baseline}.flex-align-self-start{align-self:flex-start}.flex-align-self-end{align-self:flex-end}.flex-align-self-center{align-self:center}.flex-align-self-stretch{align-self:stretch}.flex-align-self-baseline{align-self:baseline}.bg-transparent,.hover\:bg-transparent:hover{background-color:transparent}.bg-black,.hover\:bg-black:hover{background-color:#000}.bg-white,.hover\:bg-white:hover{background-color:#fff}.bg-red,.hover\:bg-red:hover{background-color:#e52207}.bg-orange,.hover\:bg-orange:hover{background-color:#e66f0e}.bg-gold,.hover\:bg-gold:hover{background-color:#ffbe2e}.bg-yellow,.hover\:bg-yellow:hover{background-color:#fee685}.bg-green,.hover\:bg-green:hover{background-color:#538200}.bg-mint,.hover\:bg-mint:hover{background-color:#04c585}.bg-cyan,.hover\:bg-cyan:hover{background-color:#009ec1}.bg-blue,.hover\:bg-blue:hover{background-color:#0076d6}.bg-indigo,.hover\:bg-indigo:hover{background-color:#676cc8}.bg-violet,.hover\:bg-violet:hover{background-color:#8168b3}.bg-magenta,.hover\:bg-magenta:hover{background-color:#d72d79}.bg-gray-5,.hover\:bg-gray-5:hover{background-color:#f0f0f0}.bg-gray-10,.hover\:bg-gray-10:hover{background-color:#e6e6e6}.bg-gray-30,.hover\:bg-gray-30:hover{background-color:#adadad}.bg-gray-50,.hover\:bg-gray-50:hover{background-color:#757575}.bg-gray-70,.hover\:bg-gray-70:hover{background-color:#454545}.bg-gray-90,.hover\:bg-gray-90:hover{background-color:#1b1b1b}.bg-base-lightest,.hover\:bg-base-lightest:hover{background-color:#f0f0f0}.bg-base-lighter,.hover\:bg-base-lighter:hover{background-color:#dfe1e2}.bg-base-light,.hover\:bg-base-light:hover{background-color:#a9aeb1}.bg-base,.hover\:bg-base:hover{background-color:#71767a}.bg-base-dark,.hover\:bg-base-dark:hover{background-color:#565c65}.bg-base-darker,.hover\:bg-base-darker:hover{background-color:#3d4551}.bg-base-darkest,.bg-ink,.hover\:bg-base-darkest:hover,.hover\:bg-ink:hover{background-color:#1b1b1b}.bg-primary-lighter,.hover\:bg-primary-lighter:hover{background-color:#d9e8f6}.bg-primary-light,.hover\:bg-primary-light:hover{background-color:#73b3e7}.bg-primary,.hover\:bg-primary:hover{background-color:#005ea2}.bg-primary-vivid,.hover\:bg-primary-vivid:hover{background-color:#0050d8}.bg-primary-dark,.hover\:bg-primary-dark:hover{background-color:#1a4480}.bg-primary-darker,.hover\:bg-primary-darker:hover{background-color:#162e51}.bg-secondary-lighter,.hover\:bg-secondary-lighter:hover{background-color:#f3e1e4}.bg-secondary-light,.hover\:bg-secondary-light:hover{background-color:#f2938c}.bg-secondary,.hover\:bg-secondary:hover{background-color:#d83933}.bg-secondary-vivid,.hover\:bg-secondary-vivid:hover{background-color:#e41d3d}.bg-secondary-dark,.hover\:bg-secondary-dark:hover{background-color:#b50909}.bg-secondary-darker,.hover\:bg-secondary-darker:hover{background-color:#8b0a03}.bg-accent-warm-darker,.hover\:bg-accent-warm-darker:hover{background-color:#775540}.bg-accent-warm-dark,.hover\:bg-accent-warm-dark:hover{background-color:#c05600}.bg-accent-warm,.hover\:bg-accent-warm:hover{background-color:#fa9441}.bg-accent-warm-light,.hover\:bg-accent-warm-light:hover{background-color:#ffbc78}.bg-accent-warm-lighter,.hover\:bg-accent-warm-lighter:hover{background-color:#f2e4d4}.bg-accent-cool-darker,.hover\:bg-accent-cool-darker:hover{background-color:#07648d}.bg-accent-cool-dark,.hover\:bg-accent-cool-dark:hover{background-color:#28a0cb}.bg-accent-cool,.hover\:bg-accent-cool:hover{background-color:#00bde3}.bg-accent-cool-light,.hover\:bg-accent-cool-light:hover{background-color:#97d4ea}.bg-accent-cool-lighter,.hover\:bg-accent-cool-lighter:hover{background-color:#e1f3f8}.bg-error-lighter,.hover\:bg-error-lighter:hover{background-color:#f4e3db}.bg-error-light,.hover\:bg-error-light:hover{background-color:#f39268}.bg-error,.hover\:bg-error:hover{background-color:#d54309}.bg-error-dark,.hover\:bg-error-dark:hover{background-color:#b50909}.bg-error-darker,.hover\:bg-error-darker:hover{background-color:#6f3331}.bg-warning-lighter,.hover\:bg-warning-lighter:hover{background-color:#faf3d1}.bg-warning-light,.hover\:bg-warning-light:hover{background-color:#fee685}.bg-warning,.hover\:bg-warning:hover{background-color:#ffbe2e}.bg-warning-dark,.hover\:bg-warning-dark:hover{background-color:#e5a000}.bg-warning-darker,.hover\:bg-warning-darker:hover{background-color:#936f38}.bg-success-lighter,.hover\:bg-success-lighter:hover{background-color:#ecf3ec}.bg-success-light,.hover\:bg-success-light:hover{background-color:#70e17b}.bg-success,.hover\:bg-success:hover{background-color:#00a91c}.bg-success-dark,.hover\:bg-success-dark:hover{background-color:#008817}.bg-success-darker,.hover\:bg-success-darker:hover{background-color:#216e1f}.bg-info-lighter,.hover\:bg-info-lighter:hover{background-color:#e7f6f8}.bg-info-light,.hover\:bg-info-light:hover{background-color:#99deea}.bg-info,.hover\:bg-info:hover{background-color:#00bde3}.bg-info-dark,.hover\:bg-info-dark:hover{background-color:#009ec1}.bg-info-darker,.hover\:bg-info-darker:hover{background-color:#2e6276}.bg-disabled-lighter,.hover\:bg-disabled-lighter:hover{background-color:#c9c9c9}.bg-disabled-light,.hover\:bg-disabled-light:hover{background-color:#919191}.bg-disabled,.hover\:bg-disabled:hover{background-color:#757575}.bg-disabled-dark,.hover\:bg-disabled-dark:hover{background-color:#454545}.bg-disabled-darker,.hover\:bg-disabled-darker:hover{background-color:#1b1b1b}.bg-emergency,.hover\:bg-emergency:hover{background-color:#9c3d10}.bg-emergency-dark,.hover\:bg-emergency-dark:hover{background-color:#332d29}.border-1px,.hover\:border-1px:hover{border:1px solid}.border-y-1px,.hover\:border-y-1px:hover{border-top:1px solid;border-bottom:1px solid}.border-x-1px,.hover\:border-x-1px:hover{border-left:1px solid;border-right:1px solid}.border-top-1px,.hover\:border-top-1px:hover{border-top:1px solid}.border-right-1px,.hover\:border-right-1px:hover{border-right:1px solid}.border-bottom-1px,.hover\:border-bottom-1px:hover{border-bottom:1px solid}.border-left-1px,.hover\:border-left-1px:hover{border-left:1px solid}.border-2px,.hover\:border-2px:hover{border:2px solid}.border-y-2px,.hover\:border-y-2px:hover{border-top:2px solid;border-bottom:2px solid}.border-x-2px,.hover\:border-x-2px:hover{border-left:2px solid;border-right:2px solid}.border-top-2px,.hover\:border-top-2px:hover{border-top:2px solid}.border-right-2px,.hover\:border-right-2px:hover{border-right:2px solid}.border-bottom-2px,.hover\:border-bottom-2px:hover{border-bottom:2px solid}.border-left-2px,.hover\:border-left-2px:hover{border-left:2px solid}.border-05,.hover\:border-05:hover{border:.25rem solid}.border-y-05,.hover\:border-y-05:hover{border-top:.25rem solid;border-bottom:.25rem solid}.border-x-05,.hover\:border-x-05:hover{border-left:.25rem solid;border-right:.25rem solid}.border-top-05,.hover\:border-top-05:hover{border-top:.25rem solid}.border-right-05,.hover\:border-right-05:hover{border-right:.25rem solid}.border-bottom-05,.hover\:border-bottom-05:hover{border-bottom:.25rem solid}.border-left-05,.hover\:border-left-05:hover{border-left:.25rem solid}.border-1,.hover\:border-1:hover{border:.5rem solid}.border-y-1,.hover\:border-y-1:hover{border-top:.5rem solid;border-bottom:.5rem solid}.border-x-1,.hover\:border-x-1:hover{border-left:.5rem solid;border-right:.5rem solid}.border-top-1,.hover\:border-top-1:hover{border-top:.5rem solid}.border-right-1,.hover\:border-right-1:hover{border-right:.5rem solid}.border-bottom-1,.hover\:border-bottom-1:hover{border-bottom:.5rem solid}.border-left-1,.hover\:border-left-1:hover{border-left:.5rem solid}.border-105,.hover\:border-105:hover{border:.75rem solid}.border-y-105,.hover\:border-y-105:hover{border-top:.75rem solid;border-bottom:.75rem solid}.border-x-105,.hover\:border-x-105:hover{border-left:.75rem solid;border-right:.75rem solid}.border-top-105,.hover\:border-top-105:hover{border-top:.75rem solid}.border-right-105,.hover\:border-right-105:hover{border-right:.75rem solid}.border-bottom-105,.hover\:border-bottom-105:hover{border-bottom:.75rem solid}.border-left-105,.hover\:border-left-105:hover{border-left:.75rem solid}.border-2,.hover\:border-2:hover{border:1rem solid}.border-y-2,.hover\:border-y-2:hover{border-top:1rem solid;border-bottom:1rem solid}.border-x-2,.hover\:border-x-2:hover{border-left:1rem solid;border-right:1rem solid}.border-top-2,.hover\:border-top-2:hover{border-top:1rem solid}.border-right-2,.hover\:border-right-2:hover{border-right:1rem solid}.border-bottom-2,.hover\:border-bottom-2:hover{border-bottom:1rem solid}.border-left-2,.hover\:border-left-2:hover{border-left:1rem solid}.border-205,.hover\:border-205:hover{border:1.25rem solid}.border-y-205,.hover\:border-y-205:hover{border-top:1.25rem solid;border-bottom:1.25rem solid}.border-x-205,.hover\:border-x-205:hover{border-left:1.25rem solid;border-right:1.25rem solid}.border-top-205,.hover\:border-top-205:hover{border-top:1.25rem solid}.border-right-205,.hover\:border-right-205:hover{border-right:1.25rem solid}.border-bottom-205,.hover\:border-bottom-205:hover{border-bottom:1.25rem solid}.border-left-205,.hover\:border-left-205:hover{border-left:1.25rem solid}.border-3,.hover\:border-3:hover{border:1.5rem solid}.border-y-3,.hover\:border-y-3:hover{border-top:1.5rem solid;border-bottom:1.5rem solid}.border-x-3,.hover\:border-x-3:hover{border-left:1.5rem solid;border-right:1.5rem solid}.border-top-3,.hover\:border-top-3:hover{border-top:1.5rem solid}.border-right-3,.hover\:border-right-3:hover{border-right:1.5rem solid}.border-bottom-3,.hover\:border-bottom-3:hover{border-bottom:1.5rem solid}.border-left-3,.hover\:border-left-3:hover{border-left:1.5rem solid}.border-0,.hover\:border-0:hover{border:0 solid}.border-y-0,.hover\:border-y-0:hover{border-top:0 solid;border-bottom:0 solid}.border-x-0,.hover\:border-x-0:hover{border-left:0 solid;border-right:0 solid}.border-top-0,.hover\:border-top-0:hover{border-top:0 solid}.border-right-0,.hover\:border-right-0:hover{border-right:0 solid}.border-bottom-0,.hover\:border-bottom-0:hover{border-bottom:0 solid}.border-left-0,.hover\:border-left-0:hover{border-left:0 solid}.border,.hover\:border:hover{border:1px solid}.border-y,.hover\:border-y:hover{border-top:1px solid;border-bottom:1px solid}.border-x,.hover\:border-x:hover{border-left:1px solid;border-right:1px solid}.border-top,.hover\:border-top:hover{border-top:1px solid}.border-right,.hover\:border-right:hover{border-right:1px solid}.border-bottom,.hover\:border-bottom:hover{border-bottom:1px solid}.border-left,.hover\:border-left:hover{border-left:1px solid}.border-transparent,.hover\:border-transparent:hover{border-color:transparent}.border-black,.hover\:border-black:hover{border-color:#000}.border-white,.hover\:border-white:hover{border-color:#fff}.border-red,.hover\:border-red:hover{border-color:#e52207}.border-orange,.hover\:border-orange:hover{border-color:#e66f0e}.border-gold,.hover\:border-gold:hover{border-color:#ffbe2e}.border-yellow,.hover\:border-yellow:hover{border-color:#fee685}.border-green,.hover\:border-green:hover{border-color:#538200}.border-mint,.hover\:border-mint:hover{border-color:#04c585}.border-cyan,.hover\:border-cyan:hover{border-color:#009ec1}.border-blue,.hover\:border-blue:hover{border-color:#0076d6}.border-indigo,.hover\:border-indigo:hover{border-color:#676cc8}.border-violet,.hover\:border-violet:hover{border-color:#8168b3}.border-magenta,.hover\:border-magenta:hover{border-color:#d72d79}.border-gray-5,.hover\:border-gray-5:hover{border-color:#f0f0f0}.border-gray-10,.hover\:border-gray-10:hover{border-color:#e6e6e6}.border-gray-30,.hover\:border-gray-30:hover{border-color:#adadad}.border-gray-50,.hover\:border-gray-50:hover{border-color:#757575}.border-gray-70,.hover\:border-gray-70:hover{border-color:#454545}.border-gray-90,.hover\:border-gray-90:hover{border-color:#1b1b1b}.border-base-lightest,.hover\:border-base-lightest:hover{border-color:#f0f0f0}.border-base-lighter,.hover\:border-base-lighter:hover{border-color:#dfe1e2}.border-base-light,.hover\:border-base-light:hover{border-color:#a9aeb1}.border-base,.hover\:border-base:hover{border-color:#71767a}.border-base-dark,.hover\:border-base-dark:hover{border-color:#565c65}.border-base-darker,.hover\:border-base-darker:hover{border-color:#3d4551}.border-base-darkest,.border-ink,.hover\:border-base-darkest:hover,.hover\:border-ink:hover{border-color:#1b1b1b}.border-primary-lighter,.hover\:border-primary-lighter:hover{border-color:#d9e8f6}.border-primary-light,.hover\:border-primary-light:hover{border-color:#73b3e7}.border-primary,.hover\:border-primary:hover{border-color:#005ea2}.border-primary-vivid,.hover\:border-primary-vivid:hover{border-color:#0050d8}.border-primary-dark,.hover\:border-primary-dark:hover{border-color:#1a4480}.border-primary-darker,.hover\:border-primary-darker:hover{border-color:#162e51}.border-secondary-lighter,.hover\:border-secondary-lighter:hover{border-color:#f3e1e4}.border-secondary-light,.hover\:border-secondary-light:hover{border-color:#f2938c}.border-secondary,.hover\:border-secondary:hover{border-color:#d83933}.border-secondary-vivid,.hover\:border-secondary-vivid:hover{border-color:#e41d3d}.border-secondary-dark,.hover\:border-secondary-dark:hover{border-color:#b50909}.border-secondary-darker,.hover\:border-secondary-darker:hover{border-color:#8b0a03}.border-accent-warm-darker,.hover\:border-accent-warm-darker:hover{border-color:#775540}.border-accent-warm-dark,.hover\:border-accent-warm-dark:hover{border-color:#c05600}.border-accent-warm,.hover\:border-accent-warm:hover{border-color:#fa9441}.border-accent-warm-light,.hover\:border-accent-warm-light:hover{border-color:#ffbc78}.border-accent-warm-lighter,.hover\:border-accent-warm-lighter:hover{border-color:#f2e4d4}.border-accent-cool-darker,.hover\:border-accent-cool-darker:hover{border-color:#07648d}.border-accent-cool-dark,.hover\:border-accent-cool-dark:hover{border-color:#28a0cb}.border-accent-cool,.hover\:border-accent-cool:hover{border-color:#00bde3}.border-accent-cool-light,.hover\:border-accent-cool-light:hover{border-color:#97d4ea}.border-accent-cool-lighter,.hover\:border-accent-cool-lighter:hover{border-color:#e1f3f8}.border-error-lighter,.hover\:border-error-lighter:hover{border-color:#f4e3db}.border-error-light,.hover\:border-error-light:hover{border-color:#f39268}.border-error,.hover\:border-error:hover{border-color:#d54309}.border-error-dark,.hover\:border-error-dark:hover{border-color:#b50909}.border-error-darker,.hover\:border-error-darker:hover{border-color:#6f3331}.border-warning-lighter,.hover\:border-warning-lighter:hover{border-color:#faf3d1}.border-warning-light,.hover\:border-warning-light:hover{border-color:#fee685}.border-warning,.hover\:border-warning:hover{border-color:#ffbe2e}.border-warning-dark,.hover\:border-warning-dark:hover{border-color:#e5a000}.border-warning-darker,.hover\:border-warning-darker:hover{border-color:#936f38}.border-success-lighter,.hover\:border-success-lighter:hover{border-color:#ecf3ec}.border-success-light,.hover\:border-success-light:hover{border-color:#70e17b}.border-success,.hover\:border-success:hover{border-color:#00a91c}.border-success-dark,.hover\:border-success-dark:hover{border-color:#008817}.border-success-darker,.hover\:border-success-darker:hover{border-color:#216e1f}.border-info-lighter,.hover\:border-info-lighter:hover{border-color:#e7f6f8}.border-info-light,.hover\:border-info-light:hover{border-color:#99deea}.border-info,.hover\:border-info:hover{border-color:#00bde3}.border-info-dark,.hover\:border-info-dark:hover{border-color:#009ec1}.border-info-darker,.hover\:border-info-darker:hover{border-color:#2e6276}.border-disabled-lighter,.hover\:border-disabled-lighter:hover{border-color:#c9c9c9}.border-disabled-light,.hover\:border-disabled-light:hover{border-color:#919191}.border-disabled,.hover\:border-disabled:hover{border-color:#757575}.border-disabled-dark,.hover\:border-disabled-dark:hover{border-color:#454545}.border-disabled-darker,.hover\:border-disabled-darker:hover{border-color:#1b1b1b}.border-emergency,.hover\:border-emergency:hover{border-color:#9c3d10}.border-emergency-dark,.hover\:border-emergency-dark:hover{border-color:#332d29}.radius-0{border-radius:0}.radius-top-0{border-top-left-radius:0;border-top-right-radius:0}.radius-right-0{border-top-right-radius:0;border-bottom-right-radius:0}.radius-bottom-0{border-bottom-left-radius:0;border-bottom-right-radius:0}.radius-left-0{border-top-left-radius:0;border-bottom-left-radius:0}.radius-sm{border-radius:2px}.radius-top-sm{border-top-left-radius:2px;border-top-right-radius:2px}.radius-right-sm{border-top-right-radius:2px;border-bottom-right-radius:2px}.radius-bottom-sm{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.radius-left-sm{border-top-left-radius:2px;border-bottom-left-radius:2px}.radius-md{border-radius:.25rem}.radius-top-md{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.radius-right-md{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.radius-bottom-md{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.radius-left-md{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.radius-lg{border-radius:.5rem}.radius-top-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.radius-right-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.radius-bottom-lg{border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}.radius-left-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.radius-pill{border-radius:99rem}.radius-top-pill{border-top-left-radius:99rem;border-top-right-radius:99rem}.radius-right-pill{border-top-right-radius:99rem;border-bottom-right-radius:99rem}.radius-bottom-pill{border-bottom-left-radius:99rem;border-bottom-right-radius:99rem}.radius-left-pill{border-top-left-radius:99rem;border-bottom-left-radius:99rem}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-solid{border-style:solid}.border-width-1px{border-width:1px}.border-y-width-1px{border-top-width:1px;border-bottom-width:1px}.border-x-width-1px{border-left-width:1px;border-right-width:1px}.border-top-width-1px{border-top-width:1px}.border-right-width-1px{border-right-width:1px}.border-bottom-width-1px{border-bottom-width:1px}.border-left-width-1px{border-left-width:1px}.border-width-2px{border-width:2px}.border-y-width-2px{border-top-width:2px;border-bottom-width:2px}.border-x-width-2px{border-left-width:2px;border-right-width:2px}.border-top-width-2px{border-top-width:2px}.border-right-width-2px{border-right-width:2px}.border-bottom-width-2px{border-bottom-width:2px}.border-left-width-2px{border-left-width:2px}.border-width-05{border-width:.25rem}.border-y-width-05{border-top-width:.25rem;border-bottom-width:.25rem}.border-x-width-05{border-left-width:.25rem;border-right-width:.25rem}.border-top-width-05{border-top-width:.25rem}.border-right-width-05{border-right-width:.25rem}.border-bottom-width-05{border-bottom-width:.25rem}.border-left-width-05{border-left-width:.25rem}.border-width-1{border-width:.5rem}.border-y-width-1{border-top-width:.5rem;border-bottom-width:.5rem}.border-x-width-1{border-left-width:.5rem;border-right-width:.5rem}.border-top-width-1{border-top-width:.5rem}.border-right-width-1{border-right-width:.5rem}.border-bottom-width-1{border-bottom-width:.5rem}.border-left-width-1{border-left-width:.5rem}.border-width-105{border-width:.75rem}.border-y-width-105{border-top-width:.75rem;border-bottom-width:.75rem}.border-x-width-105{border-left-width:.75rem;border-right-width:.75rem}.border-top-width-105{border-top-width:.75rem}.border-right-width-105{border-right-width:.75rem}.border-bottom-width-105{border-bottom-width:.75rem}.border-left-width-105{border-left-width:.75rem}.border-width-2{border-width:1rem}.border-y-width-2{border-top-width:1rem;border-bottom-width:1rem}.border-x-width-2{border-left-width:1rem;border-right-width:1rem}.border-top-width-2{border-top-width:1rem}.border-right-width-2{border-right-width:1rem}.border-bottom-width-2{border-bottom-width:1rem}.border-left-width-2{border-left-width:1rem}.border-width-205{border-width:1.25rem}.border-y-width-205{border-top-width:1.25rem;border-bottom-width:1.25rem}.border-x-width-205{border-left-width:1.25rem;border-right-width:1.25rem}.border-top-width-205{border-top-width:1.25rem}.border-right-width-205{border-right-width:1.25rem}.border-bottom-width-205{border-bottom-width:1.25rem}.border-left-width-205{border-left-width:1.25rem}.border-width-3{border-width:1.5rem}.border-y-width-3{border-top-width:1.5rem;border-bottom-width:1.5rem}.border-x-width-3{border-left-width:1.5rem;border-right-width:1.5rem}.border-top-width-3{border-top-width:1.5rem}.border-right-width-3{border-right-width:1.5rem}.border-bottom-width-3{border-bottom-width:1.5rem}.border-left-width-3{border-left-width:1.5rem}.border-width-0{border-width:0}.border-y-width-0{border-top-width:0;border-bottom-width:0}.border-x-width-0{border-left-width:0;border-right-width:0}.border-top-width-0{border-top-width:0}.border-right-width-0{border-right-width:0}.border-bottom-width-0{border-bottom-width:0}.border-left-width-0{border-left-width:0}.bottom-1px{bottom:1px}.bottom-2px{bottom:2px}.bottom-05{bottom:.25rem}.bottom-1{bottom:.5rem}.bottom-105{bottom:.75rem}.bottom-2{bottom:1rem}.bottom-205{bottom:1.25rem}.bottom-3{bottom:1.5rem}.bottom-neg-1px{bottom:-1px}.bottom-neg-2px{bottom:-2px}.bottom-neg-05{bottom:-.25rem}.bottom-neg-1{bottom:-.5rem}.bottom-neg-105{bottom:-.75rem}.bottom-neg-2{bottom:-1rem}.bottom-neg-205{bottom:-1.25rem}.bottom-neg-3{bottom:-1.5rem}.bottom-0{bottom:0}.bottom-auto{bottom:auto}.bottom-full{bottom:100%}.hover\:shadow-none:hover,.shadow-none{box-shadow:none}.hover\:shadow-1:hover,.shadow-1{box-shadow:0 1px .25rem 0 rgba(0,0,0,.1)}.hover\:shadow-2:hover,.shadow-2{box-shadow:0 .25rem .5rem 0 rgba(0,0,0,.1)}.hover\:shadow-3:hover,.shadow-3{box-shadow:0 .5rem 1rem 0 rgba(0,0,0,.1)}.hover\:shadow-4:hover,.shadow-4{box-shadow:0 .75rem 1.5rem 0 rgba(0,0,0,.1)}.hover\:shadow-5:hover,.shadow-5{box-shadow:0 1rem 2rem 0 rgba(0,0,0,.1)}.circle-1px,.circle-2px{height:1px;width:1px;border-radius:50%}.circle-2px{height:2px;width:2px}.circle-05{height:.25rem;width:.25rem;border-radius:50%}.circle-1,.circle-105{height:.5rem;width:.5rem;border-radius:50%}.circle-105{height:.75rem;width:.75rem}.circle-2,.circle-205{height:1rem;width:1rem;border-radius:50%}.circle-205{height:1.25rem;width:1.25rem}.circle-3,.circle-4{height:1.5rem;width:1.5rem;border-radius:50%}.circle-4{height:2rem;width:2rem}.circle-5,.circle-6{height:2.5rem;width:2.5rem;border-radius:50%}.circle-6{height:3rem;width:3rem}.circle-7,.circle-8{height:3.5rem;width:3.5rem;border-radius:50%}.circle-8{height:4rem;width:4rem}.circle-10,.circle-9{height:4.5rem;width:4.5rem;border-radius:50%}.circle-10{height:5rem;width:5rem}.circle-15,.circle-card{height:7.5rem;width:7.5rem;border-radius:50%}.circle-card{height:10rem;width:10rem}.circle-card-lg,.circle-mobile{height:15rem;width:15rem;border-radius:50%}.circle-mobile{height:20rem;width:20rem}.clearfix::after{content:"";display:block;clear:both}.hover\:text-transparent:hover,.text-transparent{color:transparent}.hover\:text-black:hover,.text-black{color:#000}.hover\:text-white:hover,.text-white{color:#fff}.hover\:text-red:hover,.text-red{color:#e52207}.hover\:text-orange:hover,.text-orange{color:#e66f0e}.hover\:text-gold:hover,.text-gold{color:#ffbe2e}.hover\:text-yellow:hover,.text-yellow{color:#fee685}.hover\:text-green:hover,.text-green{color:#538200}.hover\:text-mint:hover,.text-mint{color:#04c585}.hover\:text-cyan:hover,.text-cyan{color:#009ec1}.hover\:text-blue:hover,.text-blue{color:#0076d6}.hover\:text-indigo:hover,.text-indigo{color:#676cc8}.hover\:text-violet:hover,.text-violet{color:#8168b3}.hover\:text-magenta:hover,.text-magenta{color:#d72d79}.hover\:text-gray-5:hover,.text-gray-5{color:#f0f0f0}.hover\:text-gray-10:hover,.text-gray-10{color:#e6e6e6}.hover\:text-gray-30:hover,.text-gray-30{color:#adadad}.hover\:text-gray-50:hover,.text-gray-50{color:#757575}.hover\:text-gray-70:hover,.text-gray-70{color:#454545}.hover\:text-gray-90:hover,.text-gray-90{color:#1b1b1b}.hover\:text-base-lightest:hover,.text-base-lightest{color:#f0f0f0}.hover\:text-base-lighter:hover,.text-base-lighter{color:#dfe1e2}.hover\:text-base-light:hover,.text-base-light{color:#a9aeb1}.hover\:text-base:hover,.text-base{color:#71767a}.hover\:text-base-dark:hover,.text-base-dark{color:#565c65}.hover\:text-base-darker:hover,.text-base-darker{color:#3d4551}.hover\:text-base-darkest:hover,.hover\:text-ink:hover,.text-base-darkest,.text-ink{color:#1b1b1b}.hover\:text-primary-lighter:hover,.text-primary-lighter{color:#d9e8f6}.hover\:text-primary-light:hover,.text-primary-light{color:#73b3e7}.hover\:text-primary:hover,.text-primary{color:#005ea2}.hover\:text-primary-vivid:hover,.text-primary-vivid{color:#0050d8}.hover\:text-primary-dark:hover,.text-primary-dark{color:#1a4480}.hover\:text-primary-darker:hover,.text-primary-darker{color:#162e51}.hover\:text-secondary-lighter:hover,.text-secondary-lighter{color:#f3e1e4}.hover\:text-secondary-light:hover,.text-secondary-light{color:#f2938c}.hover\:text-secondary:hover,.text-secondary{color:#d83933}.hover\:text-secondary-vivid:hover,.text-secondary-vivid{color:#e41d3d}.hover\:text-secondary-dark:hover,.text-secondary-dark{color:#b50909}.hover\:text-secondary-darker:hover,.text-secondary-darker{color:#8b0a03}.hover\:text-accent-warm-darker:hover,.text-accent-warm-darker{color:#775540}.hover\:text-accent-warm-dark:hover,.text-accent-warm-dark{color:#c05600}.hover\:text-accent-warm:hover,.text-accent-warm{color:#fa9441}.hover\:text-accent-warm-light:hover,.text-accent-warm-light{color:#ffbc78}.hover\:text-accent-warm-lighter:hover,.text-accent-warm-lighter{color:#f2e4d4}.hover\:text-accent-cool-darker:hover,.text-accent-cool-darker{color:#07648d}.hover\:text-accent-cool-dark:hover,.text-accent-cool-dark{color:#28a0cb}.hover\:text-accent-cool:hover,.text-accent-cool{color:#00bde3}.hover\:text-accent-cool-light:hover,.text-accent-cool-light{color:#97d4ea}.hover\:text-accent-cool-lighter:hover,.text-accent-cool-lighter{color:#e1f3f8}.hover\:text-error-lighter:hover,.text-error-lighter{color:#f4e3db}.hover\:text-error-light:hover,.text-error-light{color:#f39268}.hover\:text-error:hover,.text-error{color:#d54309}.hover\:text-error-dark:hover,.text-error-dark{color:#b50909}.hover\:text-error-darker:hover,.text-error-darker{color:#6f3331}.hover\:text-warning-lighter:hover,.text-warning-lighter{color:#faf3d1}.hover\:text-warning-light:hover,.text-warning-light{color:#fee685}.hover\:text-warning:hover,.text-warning{color:#ffbe2e}.hover\:text-warning-dark:hover,.text-warning-dark{color:#e5a000}.hover\:text-warning-darker:hover,.text-warning-darker{color:#936f38}.hover\:text-success-lighter:hover,.text-success-lighter{color:#ecf3ec}.hover\:text-success-light:hover,.text-success-light{color:#70e17b}.hover\:text-success:hover,.text-success{color:#00a91c}.hover\:text-success-dark:hover,.text-success-dark{color:#008817}.hover\:text-success-darker:hover,.text-success-darker{color:#216e1f}.hover\:text-info-lighter:hover,.text-info-lighter{color:#e7f6f8}.hover\:text-info-light:hover,.text-info-light{color:#99deea}.hover\:text-info:hover,.text-info{color:#00bde3}.hover\:text-info-dark:hover,.text-info-dark{color:#009ec1}.hover\:text-info-darker:hover,.text-info-darker{color:#2e6276}.hover\:text-disabled-lighter:hover,.text-disabled-lighter{color:#c9c9c9}.hover\:text-disabled-light:hover,.text-disabled-light{color:#919191}.hover\:text-disabled:hover,.text-disabled{color:#757575}.hover\:text-disabled-dark:hover,.text-disabled-dark{color:#454545}.hover\:text-disabled-darker:hover,.text-disabled-darker{color:#1b1b1b}.hover\:text-emergency:hover,.text-emergency{color:#9c3d10}.hover\:text-emergency-dark:hover,.text-emergency-dark{color:#332d29}.cursor-auto{cursor:auto}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.display-block{display:block}.display-flex{display:flex}.display-none{display:none}.display-inline{display:inline}.display-inline-block{display:inline-block}.display-inline-flex{display:inline-flex}.display-table{display:table}.display-table-cell{display:table-cell}.display-table-row{display:table-row}.flex-1{flex:1 1 0%}.flex-2{flex:2 1 0%}.flex-3{flex:3 1 0%}.flex-4{flex:4 1 0%}.flex-5{flex:5 1 0%}.flex-6{flex:6 1 0%}.flex-7{flex:7 1 0%}.flex-8{flex:8 1 0%}.flex-9{flex:9 1 0%}.flex-10{flex:10 1 0%}.flex-11{flex:11 1 0%}.flex-12{flex:12 1 0%}.flex-fill{flex:1 1 0%}.flex-auto{flex:0 1 auto}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-no-wrap{flex-wrap:nowrap}.float-left{float:left}.float-none{float:none}.float-right{float:right}.font-mono-3xs{font-size:.77rem}.font-mono-2xs{font-size:.83rem}.font-mono-xs{font-size:.89rem}.font-mono-sm{font-size:.95rem}.font-mono-md{font-size:1.01rem}.font-mono-lg{font-size:1.31rem}.font-mono-xl{font-size:1.91rem}.font-mono-2xl{font-size:2.38rem}.font-mono-3xl{font-size:2.86rem}.font-sans-3xs{font-size:.87rem}.font-sans-2xs{font-size:.93rem}.font-sans-xs{font-size:1rem}.font-sans-sm{font-size:1.06rem}.font-sans-md{font-size:1.13rem}.font-sans-lg{font-size:1.46rem}.font-sans-xl{font-size:2.13rem}.font-sans-2xl{font-size:2.66rem}.font-sans-3xl{font-size:3.19rem}.font-serif-3xs{font-size:.79rem}.font-serif-2xs{font-size:.85rem}.font-serif-xs{font-size:.91rem}.font-serif-sm{font-size:.98rem}.font-serif-md{font-size:1.04rem}.font-serif-lg{font-size:1.34rem}.font-serif-xl{font-size:1.95rem}.font-serif-2xl{font-size:2.44rem}.font-serif-3xl{font-size:2.93rem}.font-heading-3xs{font-size:.79rem}.font-heading-2xs{font-size:.85rem}.font-heading-xs{font-size:.91rem}.font-heading-sm{font-size:.98rem}.font-heading-md{font-size:1.04rem}.font-heading-lg{font-size:1.34rem}.font-heading-xl{font-size:1.95rem}.font-heading-2xl{font-size:2.44rem}.font-heading-3xl{font-size:2.93rem}.font-body-3xs{font-size:.87rem}.font-body-2xs{font-size:.93rem}.font-body-xs{font-size:1rem}.font-body-sm{font-size:1.06rem}.font-body-md{font-size:1.13rem}.font-body-lg{font-size:1.46rem}.font-body-xl{font-size:2.13rem}.font-body-2xl{font-size:2.66rem}.font-body-3xl{font-size:3.19rem}.font-code-3xs{font-size:.77rem}.font-code-2xs{font-size:.83rem}.font-code-xs{font-size:.89rem}.font-code-sm{font-size:.95rem}.font-code-md{font-size:1.01rem}.font-code-lg{font-size:1.31rem}.font-code-xl{font-size:1.91rem}.font-code-2xl{font-size:2.38rem}.font-code-3xl{font-size:2.86rem}.font-alt-3xs{font-size:.79rem}.font-alt-2xs{font-size:.85rem}.font-alt-xs{font-size:.91rem}.font-alt-sm{font-size:.98rem}.font-alt-md{font-size:1.04rem}.font-alt-lg{font-size:1.34rem}.font-alt-xl{font-size:1.95rem}.font-alt-2xl{font-size:2.44rem}.font-alt-3xl{font-size:2.93rem}.font-ui-3xs{font-size:.87rem}.font-ui-2xs{font-size:.93rem}.font-ui-xs{font-size:1rem}.font-ui-sm{font-size:1.06rem}.font-ui-md{font-size:1.13rem}.font-ui-lg{font-size:1.46rem}.font-ui-xl{font-size:2.13rem}.font-ui-2xl{font-size:2.66rem}.font-ui-3xl{font-size:3.19rem}.font-family-mono{font-family:Roboto Mono Web,Bitstream Vera Sans Mono,Consolas,Courier,monospace}.font-family-sans{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif}.font-family-serif{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif}.font-family-ui{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif}.font-family-heading{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif}.font-family-body{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif}.font-family-code{font-family:Roboto Mono Web,Bitstream Vera Sans Mono,Consolas,Courier,monospace}.font-family-alt{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif}.text-tabular{font-feature-settings:"tnum"1,"kern"1}.text-no-tabular{font-feature-settings:"kern"1}.text-italic{font-style:italic}.text-no-italic{font-style:normal}.text-light{font-weight:300}.text-normal{font-weight:400}.text-bold{font-weight:700}.height-1px{height:1px}.height-2px{height:2px}.height-05{height:.25rem}.height-1{height:.5rem}.height-105{height:.75rem}.height-2{height:1rem}.height-205{height:1.25rem}.height-3{height:1.5rem}.height-4{height:2rem}.height-5{height:2.5rem}.height-6{height:3rem}.height-7{height:3.5rem}.height-8{height:4rem}.height-9{height:4.5rem}.height-10{height:5rem}.height-15{height:7.5rem}.height-card{height:10rem}.height-card-lg{height:15rem}.height-mobile{height:20rem}.height-0{height:0}.height-auto{height:auto}.height-full{height:100%}.height-viewport{height:100vh}.flex-justify-center{justify-content:center}.flex-justify-start{justify-content:flex-start}.flex-justify-end{justify-content:flex-end}.flex-justify{justify-content:space-between}.left-1px{left:1px}.left-2px{left:2px}.left-05{left:.25rem}.left-1{left:.5rem}.left-105{left:.75rem}.left-2{left:1rem}.left-205{left:1.25rem}.left-3{left:1.5rem}.left-neg-1px{left:-1px}.left-neg-2px{left:-2px}.left-neg-05{left:-.25rem}.left-neg-1{left:-.5rem}.left-neg-105{left:-.75rem}.left-neg-2{left:-1rem}.left-neg-205{left:-1.25rem}.left-neg-3{left:-1.5rem}.left-0{left:0}.left-auto{left:auto}.left-full{left:100%}.text-ls-auto{letter-spacing:initial}.text-ls-neg-3{letter-spacing:-.03em}.text-ls-neg-2{letter-spacing:-.02em}.text-ls-neg-1{letter-spacing:-.01em}.text-ls-1{letter-spacing:.025em}.text-ls-2{letter-spacing:.1em}.text-ls-3{letter-spacing:.15em}.line-height-sans-1{line-height:.9}.line-height-sans-2{line-height:1.1}.line-height-sans-3{line-height:1.3}.line-height-sans-4{line-height:1.4}.line-height-sans-5{line-height:1.5}.line-height-sans-6{line-height:1.6}.line-height-serif-1{line-height:1}.line-height-serif-2{line-height:1.2}.line-height-serif-3{line-height:1.4}.line-height-serif-4{line-height:1.5}.line-height-serif-5{line-height:1.7}.line-height-serif-6{line-height:1.8}.line-height-mono-1{line-height:1}.line-height-mono-2{line-height:1.3}.line-height-mono-3{line-height:1.4}.line-height-mono-4{line-height:1.6}.line-height-mono-5{line-height:1.7}.line-height-mono-6{line-height:1.8}.line-height-heading-1{line-height:1}.line-height-heading-2{line-height:1.2}.line-height-heading-3{line-height:1.4}.line-height-heading-4{line-height:1.5}.line-height-heading-5{line-height:1.7}.line-height-heading-6{line-height:1.8}.line-height-ui-1{line-height:.9}.line-height-ui-2{line-height:1.1}.line-height-ui-3{line-height:1.3}.line-height-ui-4{line-height:1.4}.line-height-ui-5{line-height:1.5}.line-height-ui-6{line-height:1.6}.line-height-body-1{line-height:.9}.line-height-body-2{line-height:1.1}.line-height-body-3{line-height:1.3}.line-height-body-4{line-height:1.4}.line-height-body-5{line-height:1.5}.line-height-body-6{line-height:1.6}.line-height-code-1{line-height:1}.line-height-code-2{line-height:1.3}.line-height-code-3{line-height:1.4}.line-height-code-4{line-height:1.6}.line-height-code-5{line-height:1.7}.line-height-code-6{line-height:1.8}.line-height-alt-1{line-height:1}.line-height-alt-2{line-height:1.2}.line-height-alt-3{line-height:1.4}.line-height-alt-4{line-height:1.5}.line-height-alt-5{line-height:1.7}.line-height-alt-6{line-height:1.8}.margin-neg-1px{margin:-1px}.margin-neg-2px{margin:-2px}.margin-neg-05{margin:-.25rem}.margin-neg-1{margin:-.5rem}.margin-neg-105{margin:-.75rem}.margin-neg-2{margin:-1rem}.margin-neg-205{margin:-1.25rem}.margin-neg-3{margin:-1.5rem}.margin-1px{margin:1px}.margin-2px{margin:2px}.margin-05{margin:.25rem}.margin-1{margin:.5rem}.margin-105{margin:.75rem}.margin-2{margin:1rem}.margin-205{margin:1.25rem}.margin-3{margin:1.5rem}.margin-neg-4{margin:-2rem}.margin-neg-5{margin:-2.5rem}.margin-neg-6{margin:-3rem}.margin-neg-7{margin:-3.5rem}.margin-neg-8{margin:-4rem}.margin-neg-9{margin:-4.5rem}.margin-neg-10{margin:-5rem}.margin-neg-15{margin:-7.5rem}.margin-4{margin:2rem}.margin-5{margin:2.5rem}.margin-6{margin:3rem}.margin-7{margin:3.5rem}.margin-8{margin:4rem}.margin-9{margin:4.5rem}.margin-10{margin:5rem}.margin-15{margin:7.5rem}.margin-05em{margin:.5em}.margin-1em{margin:1em}.margin-105em{margin:1.5em}.margin-2em{margin:2em}.margin-0{margin:0}.margin-y-1px{margin-bottom:1px}.margin-top-1px,.margin-y-1px{margin-top:1px}.margin-bottom-1px{margin-bottom:1px}.margin-y-2px{margin-bottom:2px}.margin-top-2px,.margin-y-2px{margin-top:2px}.margin-bottom-2px{margin-bottom:2px}.margin-y-05{margin-bottom:.25rem}.margin-top-05,.margin-y-05{margin-top:.25rem}.margin-bottom-05{margin-bottom:.25rem}.margin-y-1{margin-bottom:.5rem}.margin-top-1,.margin-y-1{margin-top:.5rem}.margin-bottom-1{margin-bottom:.5rem}.margin-y-105{margin-bottom:.75rem}.margin-top-105,.margin-y-105{margin-top:.75rem}.margin-bottom-105{margin-bottom:.75rem}.margin-y-2{margin-bottom:1rem}.margin-top-2,.margin-y-2{margin-top:1rem}.margin-bottom-2{margin-bottom:1rem}.margin-y-205{margin-bottom:1.25rem}.margin-top-205,.margin-y-205{margin-top:1.25rem}.margin-bottom-205{margin-bottom:1.25rem}.margin-y-3{margin-bottom:1.5rem}.margin-top-3,.margin-y-3{margin-top:1.5rem}.margin-bottom-3{margin-bottom:1.5rem}.margin-y-neg-1px{margin-top:-1px;margin-bottom:-1px}.margin-top-neg-1px{margin-top:-1px}.margin-bottom-neg-1px{margin-bottom:-1px}.margin-y-neg-2px{margin-top:-2px;margin-bottom:-2px}.margin-top-neg-2px{margin-top:-2px}.margin-bottom-neg-2px{margin-bottom:-2px}.margin-y-neg-05{margin-bottom:-.25rem}.margin-top-neg-05,.margin-y-neg-05{margin-top:-.25rem}.margin-bottom-neg-05{margin-bottom:-.25rem}.margin-y-neg-1{margin-bottom:-.5rem}.margin-top-neg-1,.margin-y-neg-1{margin-top:-.5rem}.margin-bottom-neg-1{margin-bottom:-.5rem}.margin-y-neg-105{margin-bottom:-.75rem}.margin-top-neg-105,.margin-y-neg-105{margin-top:-.75rem}.margin-bottom-neg-105{margin-bottom:-.75rem}.margin-y-neg-2{margin-bottom:-1rem}.margin-top-neg-2,.margin-y-neg-2{margin-top:-1rem}.margin-bottom-neg-2{margin-bottom:-1rem}.margin-y-neg-205{margin-bottom:-1.25rem}.margin-top-neg-205,.margin-y-neg-205{margin-top:-1.25rem}.margin-bottom-neg-205{margin-bottom:-1.25rem}.margin-y-neg-3{margin-bottom:-1.5rem}.margin-top-neg-3,.margin-y-neg-3{margin-top:-1.5rem}.margin-bottom-neg-3{margin-bottom:-1.5rem}.margin-y-neg-4{margin-bottom:-2rem}.margin-top-neg-4,.margin-y-neg-4{margin-top:-2rem}.margin-bottom-neg-4{margin-bottom:-2rem}.margin-y-neg-5{margin-bottom:-2.5rem}.margin-top-neg-5,.margin-y-neg-5{margin-top:-2.5rem}.margin-bottom-neg-5{margin-bottom:-2.5rem}.margin-y-neg-6{margin-bottom:-3rem}.margin-top-neg-6,.margin-y-neg-6{margin-top:-3rem}.margin-bottom-neg-6{margin-bottom:-3rem}.margin-y-neg-7{margin-bottom:-3.5rem}.margin-top-neg-7,.margin-y-neg-7{margin-top:-3.5rem}.margin-bottom-neg-7{margin-bottom:-3.5rem}.margin-y-neg-8{margin-bottom:-4rem}.margin-top-neg-8,.margin-y-neg-8{margin-top:-4rem}.margin-bottom-neg-8{margin-bottom:-4rem}.margin-y-neg-9{margin-bottom:-4.5rem}.margin-top-neg-9,.margin-y-neg-9{margin-top:-4.5rem}.margin-bottom-neg-9{margin-bottom:-4.5rem}.margin-y-neg-10{margin-top:-5rem;margin-bottom:-5rem}.margin-top-neg-10{margin-top:-5rem}.margin-bottom-neg-10{margin-bottom:-5rem}.margin-y-neg-15{margin-bottom:-7.5rem}.margin-top-neg-15,.margin-y-neg-15{margin-top:-7.5rem}.margin-bottom-neg-15{margin-bottom:-7.5rem}.margin-y-4{margin-bottom:2rem}.margin-top-4,.margin-y-4{margin-top:2rem}.margin-bottom-4{margin-bottom:2rem}.margin-y-5{margin-bottom:2.5rem}.margin-top-5,.margin-y-5{margin-top:2.5rem}.margin-bottom-5{margin-bottom:2.5rem}.margin-y-6{margin-bottom:3rem}.margin-top-6,.margin-y-6{margin-top:3rem}.margin-bottom-6{margin-bottom:3rem}.margin-y-7{margin-bottom:3.5rem}.margin-top-7,.margin-y-7{margin-top:3.5rem}.margin-bottom-7{margin-bottom:3.5rem}.margin-y-8{margin-bottom:4rem}.margin-top-8,.margin-y-8{margin-top:4rem}.margin-bottom-8{margin-bottom:4rem}.margin-y-9{margin-bottom:4.5rem}.margin-top-9,.margin-y-9{margin-top:4.5rem}.margin-bottom-9{margin-bottom:4.5rem}.margin-y-10{margin-bottom:5rem}.margin-top-10,.margin-y-10{margin-top:5rem}.margin-bottom-10{margin-bottom:5rem}.margin-y-15{margin-bottom:7.5rem}.margin-top-15,.margin-y-15{margin-top:7.5rem}.margin-bottom-15{margin-bottom:7.5rem}.margin-y-05em{margin-bottom:.5em}.margin-top-05em,.margin-y-05em{margin-top:.5em}.margin-bottom-05em{margin-bottom:.5em}.margin-y-1em{margin-bottom:1em}.margin-top-1em,.margin-y-1em{margin-top:1em}.margin-bottom-1em{margin-bottom:1em}.margin-y-105em{margin-bottom:1.5em}.margin-top-105em,.margin-y-105em{margin-top:1.5em}.margin-bottom-105em{margin-bottom:1.5em}.margin-y-2em{margin-bottom:2em}.margin-top-2em,.margin-y-2em{margin-top:2em}.margin-bottom-2em{margin-bottom:2em}.margin-y-0{margin-bottom:0}.margin-top-0,.margin-y-0{margin-top:0}.margin-bottom-0{margin-bottom:0}.margin-y-auto{margin-bottom:auto}.margin-top-auto,.margin-y-auto{margin-top:auto}.margin-bottom-auto{margin-bottom:auto}.margin-x-1px{margin-left:1px}.margin-right-1px,.margin-x-1px{margin-right:1px}.margin-left-1px{margin-left:1px}.margin-x-2px{margin-left:2px}.margin-right-2px,.margin-x-2px{margin-right:2px}.margin-left-2px{margin-left:2px}.margin-x-05{margin-left:.25rem}.margin-right-05,.margin-x-05{margin-right:.25rem}.margin-left-05{margin-left:.25rem}.margin-x-1{margin-left:.5rem}.margin-right-1,.margin-x-1{margin-right:.5rem}.margin-left-1{margin-left:.5rem}.margin-x-105{margin-left:.75rem}.margin-right-105,.margin-x-105{margin-right:.75rem}.margin-left-105{margin-left:.75rem}.margin-x-2{margin-left:1rem}.margin-right-2,.margin-x-2{margin-right:1rem}.margin-left-2{margin-left:1rem}.margin-x-205{margin-left:1.25rem}.margin-right-205,.margin-x-205{margin-right:1.25rem}.margin-left-205{margin-left:1.25rem}.margin-x-3{margin-left:1.5rem}.margin-right-3,.margin-x-3{margin-right:1.5rem}.margin-left-3{margin-left:1.5rem}.margin-x-neg-1px{margin-left:-1px;margin-right:-1px}.margin-right-neg-1px{margin-right:-1px}.margin-left-neg-1px{margin-left:-1px}.margin-x-neg-2px{margin-left:-2px;margin-right:-2px}.margin-right-neg-2px{margin-right:-2px}.margin-left-neg-2px{margin-left:-2px}.margin-x-neg-05{margin-left:-.25rem}.margin-right-neg-05,.margin-x-neg-05{margin-right:-.25rem}.margin-left-neg-05{margin-left:-.25rem}.margin-x-neg-1{margin-left:-.5rem}.margin-right-neg-1,.margin-x-neg-1{margin-right:-.5rem}.margin-left-neg-1{margin-left:-.5rem}.margin-x-neg-105{margin-left:-.75rem}.margin-right-neg-105,.margin-x-neg-105{margin-right:-.75rem}.margin-left-neg-105{margin-left:-.75rem}.margin-x-neg-2{margin-left:-1rem}.margin-right-neg-2,.margin-x-neg-2{margin-right:-1rem}.margin-left-neg-2{margin-left:-1rem}.margin-x-neg-205{margin-left:-1.25rem}.margin-right-neg-205,.margin-x-neg-205{margin-right:-1.25rem}.margin-left-neg-205{margin-left:-1.25rem}.margin-x-neg-3{margin-left:-1.5rem}.margin-right-neg-3,.margin-x-neg-3{margin-right:-1.5rem}.margin-left-neg-3{margin-left:-1.5rem}.margin-x-neg-4{margin-left:-2rem}.margin-right-neg-4,.margin-x-neg-4{margin-right:-2rem}.margin-left-neg-4{margin-left:-2rem}.margin-x-neg-5{margin-left:-2.5rem}.margin-right-neg-5,.margin-x-neg-5{margin-right:-2.5rem}.margin-left-neg-5{margin-left:-2.5rem}.margin-x-neg-6{margin-left:-3rem}.margin-right-neg-6,.margin-x-neg-6{margin-right:-3rem}.margin-left-neg-6{margin-left:-3rem}.margin-x-neg-7{margin-left:-3.5rem}.margin-right-neg-7,.margin-x-neg-7{margin-right:-3.5rem}.margin-left-neg-7{margin-left:-3.5rem}.margin-x-neg-8{margin-left:-4rem}.margin-right-neg-8,.margin-x-neg-8{margin-right:-4rem}.margin-left-neg-8{margin-left:-4rem}.margin-x-neg-9{margin-left:-4.5rem}.margin-right-neg-9,.margin-x-neg-9{margin-right:-4.5rem}.margin-left-neg-9{margin-left:-4.5rem}.margin-x-neg-10{margin-left:-5rem}.margin-right-neg-10,.margin-x-neg-10{margin-right:-5rem}.margin-left-neg-10{margin-left:-5rem}.margin-x-neg-15{margin-left:-7.5rem}.margin-right-neg-15,.margin-x-neg-15{margin-right:-7.5rem}.margin-left-neg-15{margin-left:-7.5rem}.margin-x-4{margin-left:2rem}.margin-right-4,.margin-x-4{margin-right:2rem}.margin-left-4{margin-left:2rem}.margin-x-5{margin-left:2.5rem}.margin-right-5,.margin-x-5{margin-right:2.5rem}.margin-left-5{margin-left:2.5rem}.margin-x-6{margin-left:3rem}.margin-right-6,.margin-x-6{margin-right:3rem}.margin-left-6{margin-left:3rem}.margin-x-7{margin-left:3.5rem}.margin-right-7,.margin-x-7{margin-right:3.5rem}.margin-left-7{margin-left:3.5rem}.margin-x-8{margin-left:4rem}.margin-right-8,.margin-x-8{margin-right:4rem}.margin-left-8{margin-left:4rem}.margin-x-9{margin-left:4.5rem}.margin-right-9,.margin-x-9{margin-right:4.5rem}.margin-left-9{margin-left:4.5rem}.margin-x-10{margin-left:5rem}.margin-right-10,.margin-x-10{margin-right:5rem}.margin-left-10{margin-left:5rem}.margin-x-15{margin-left:7.5rem}.margin-right-15,.margin-x-15{margin-right:7.5rem}.margin-left-15{margin-left:7.5rem}.margin-x-card{margin-left:10rem}.margin-right-card,.margin-x-card{margin-right:10rem}.margin-left-card{margin-left:10rem}.margin-x-card-lg{margin-left:15rem}.margin-right-card-lg,.margin-x-card-lg{margin-right:15rem}.margin-left-card-lg{margin-left:15rem}.margin-x-mobile{margin-left:20rem}.margin-right-mobile,.margin-x-mobile{margin-right:20rem}.margin-left-mobile{margin-left:20rem}.margin-x-05em{margin-left:.5em}.margin-right-05em,.margin-x-05em{margin-right:.5em}.margin-left-05em{margin-left:.5em}.margin-x-1em{margin-left:1em}.margin-right-1em,.margin-x-1em{margin-right:1em}.margin-left-1em{margin-left:1em}.margin-x-105em{margin-left:1.5em}.margin-right-105em,.margin-x-105em{margin-right:1.5em}.margin-left-105em{margin-left:1.5em}.margin-x-2em{margin-left:2em}.margin-right-2em,.margin-x-2em{margin-right:2em}.margin-left-2em{margin-left:2em}.margin-x-0{margin-left:0}.margin-right-0,.margin-x-0{margin-right:0}.margin-left-0{margin-left:0}.margin-x-auto{margin-left:auto}.margin-right-auto,.margin-x-auto{margin-right:auto}.margin-left-auto{margin-left:auto}.maxh-05{max-height:.25rem}.maxh-1{max-height:.5rem}.maxh-105{max-height:.75rem}.maxh-2{max-height:1rem}.maxh-205{max-height:1.25rem}.maxh-3{max-height:1.5rem}.maxh-4{max-height:2rem}.maxh-5{max-height:2.5rem}.maxh-6{max-height:3rem}.maxh-7{max-height:3.5rem}.maxh-8{max-height:4rem}.maxh-9{max-height:4.5rem}.maxh-10{max-height:5rem}.maxh-15{max-height:7.5rem}.maxh-card{max-height:10rem}.maxh-card-lg{max-height:15rem}.maxh-mobile{max-height:20rem}.maxh-mobile-lg{max-height:30rem}.maxh-tablet{max-height:40rem}.maxh-tablet-lg{max-height:55rem}.maxh-none{max-height:none}.maxh-viewport{max-height:100vh}.maxw-05{max-width:.25rem}.maxw-1{max-width:.5rem}.maxw-105{max-width:.75rem}.maxw-2{max-width:1rem}.maxw-205{max-width:1.25rem}.maxw-3{max-width:1.5rem}.maxw-4{max-width:2rem}.maxw-5{max-width:2.5rem}.maxw-6{max-width:3rem}.maxw-7{max-width:3.5rem}.maxw-8{max-width:4rem}.maxw-9{max-width:4.5rem}.maxw-10{max-width:5rem}.maxw-15{max-width:7.5rem}.maxw-card{max-width:10rem}.maxw-card-lg{max-width:15rem}.maxw-mobile{max-width:20rem}.maxw-mobile-lg{max-width:30rem}.maxw-tablet{max-width:40rem}.maxw-tablet-lg{max-width:55rem}.maxw-desktop{max-width:64rem}.maxw-desktop-lg{max-width:75rem}.maxw-widescreen{max-width:87.5rem}.maxw-none{max-width:none}.maxw-full{max-width:100%}.measure-1{max-width:44ex}.measure-2{max-width:60ex}.measure-3{max-width:64ex}.measure-4{max-width:68ex}.measure-5{max-width:72ex}.measure-6{max-width:88ex}.measure-none{max-width:none}.minh-1px{min-height:1px}.minh-2px{min-height:2px}.minh-05{min-height:.25rem}.minh-1{min-height:.5rem}.minh-105{min-height:.75rem}.minh-2{min-height:1rem}.minh-205{min-height:1.25rem}.minh-3{min-height:1.5rem}.minh-4{min-height:2rem}.minh-5{min-height:2.5rem}.minh-6{min-height:3rem}.minh-7{min-height:3.5rem}.minh-8{min-height:4rem}.minh-9{min-height:4.5rem}.minh-10{min-height:5rem}.minh-15{min-height:7.5rem}.minh-card{min-height:10rem}.minh-card-lg{min-height:15rem}.minh-mobile{min-height:20rem}.minh-mobile-lg{min-height:30rem}.minh-tablet{min-height:40rem}.minh-tablet-lg{min-height:55rem}.minh-0{min-height:0}.minh-full{min-height:100%}.minh-viewport{min-height:100vh}.minw-05{min-width:.25rem}.minw-1{min-width:.5rem}.minw-105{min-width:.75rem}.minw-2{min-width:1rem}.minw-205{min-width:1.25rem}.minw-3{min-width:1.5rem}.minw-4{min-width:2rem}.minw-5{min-width:2.5rem}.minw-6{min-width:3rem}.minw-7{min-width:3.5rem}.minw-8{min-width:4rem}.minw-9{min-width:4.5rem}.minw-10{min-width:5rem}.minw-15{min-width:7.5rem}.minw-0{min-width:0}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.opacity-100{opacity:1}.order-first{order:-1}.order-last{order:999}.order-initial{order:initial}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.outline-1px{outline:1px solid}.outline-2px{outline:2px solid}.outline-0{outline:0 solid}.outline-05{outline:.25rem solid}.outline-transparent{outline-color:transparent}.outline-black{outline-color:#000}.outline-white{outline-color:#fff}.outline-red{outline-color:#e52207}.outline-orange{outline-color:#e66f0e}.outline-gold{outline-color:#ffbe2e}.outline-yellow{outline-color:#fee685}.outline-green{outline-color:#538200}.outline-mint{outline-color:#04c585}.outline-cyan{outline-color:#009ec1}.outline-blue{outline-color:#0076d6}.outline-indigo{outline-color:#676cc8}.outline-violet{outline-color:#8168b3}.outline-magenta{outline-color:#d72d79}.outline-gray-5{outline-color:#f0f0f0}.outline-gray-10{outline-color:#e6e6e6}.outline-gray-30{outline-color:#adadad}.outline-gray-50{outline-color:#757575}.outline-gray-70{outline-color:#454545}.outline-gray-90{outline-color:#1b1b1b}.outline-base-lightest{outline-color:#f0f0f0}.outline-base-lighter{outline-color:#dfe1e2}.outline-base-light{outline-color:#a9aeb1}.outline-base{outline-color:#71767a}.outline-base-dark{outline-color:#565c65}.outline-base-darker{outline-color:#3d4551}.outline-base-darkest,.outline-ink{outline-color:#1b1b1b}.outline-primary-lighter{outline-color:#d9e8f6}.outline-primary-light{outline-color:#73b3e7}.outline-primary{outline-color:#005ea2}.outline-primary-vivid{outline-color:#0050d8}.outline-primary-dark{outline-color:#1a4480}.outline-primary-darker{outline-color:#162e51}.outline-secondary-lighter{outline-color:#f3e1e4}.outline-secondary-light{outline-color:#f2938c}.outline-secondary{outline-color:#d83933}.outline-secondary-vivid{outline-color:#e41d3d}.outline-secondary-dark{outline-color:#b50909}.outline-secondary-darker{outline-color:#8b0a03}.outline-accent-warm-darker{outline-color:#775540}.outline-accent-warm-dark{outline-color:#c05600}.outline-accent-warm{outline-color:#fa9441}.outline-accent-warm-light{outline-color:#ffbc78}.outline-accent-warm-lighter{outline-color:#f2e4d4}.outline-accent-cool-darker{outline-color:#07648d}.outline-accent-cool-dark{outline-color:#28a0cb}.outline-accent-cool{outline-color:#00bde3}.outline-accent-cool-light{outline-color:#97d4ea}.outline-accent-cool-lighter{outline-color:#e1f3f8}.outline-error-lighter{outline-color:#f4e3db}.outline-error-light{outline-color:#f39268}.outline-error{outline-color:#d54309}.outline-error-dark{outline-color:#b50909}.outline-error-darker{outline-color:#6f3331}.outline-warning-lighter{outline-color:#faf3d1}.outline-warning-light{outline-color:#fee685}.outline-warning{outline-color:#ffbe2e}.outline-warning-dark{outline-color:#e5a000}.outline-warning-darker{outline-color:#936f38}.outline-success-lighter{outline-color:#ecf3ec}.outline-success-light{outline-color:#70e17b}.outline-success{outline-color:#00a91c}.outline-success-dark{outline-color:#008817}.outline-success-darker{outline-color:#216e1f}.outline-info-lighter{outline-color:#e7f6f8}.outline-info-light{outline-color:#99deea}.outline-info{outline-color:#00bde3}.outline-info-dark{outline-color:#009ec1}.outline-info-darker{outline-color:#2e6276}.outline-disabled-lighter{outline-color:#c9c9c9}.outline-disabled-light{outline-color:#919191}.outline-disabled{outline-color:#757575}.outline-disabled-dark{outline-color:#454545}.outline-disabled-darker{outline-color:#1b1b1b}.outline-emergency{outline-color:#9c3d10}.outline-emergency-dark{outline-color:#332d29}.overflow-hidden{overflow:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-scroll{overflow:scroll}.overflow-y-scroll{overflow-y:scroll}.overflow-x-scroll{overflow-x:scroll}.overflow-auto{overflow:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-auto{overflow-x:auto}.overflow-visible{overflow:visible}.overflow-y-visible{overflow-y:visible}.overflow-x-visible{overflow-x:visible}.padding-1px{padding:1px}.padding-y-1px{padding-top:1px;padding-bottom:1px}.padding-x-1px{padding-left:1px;padding-right:1px}.padding-top-1px{padding-top:1px}.padding-right-1px{padding-right:1px}.padding-bottom-1px{padding-bottom:1px}.padding-left-1px{padding-left:1px}.padding-2px{padding:2px}.padding-y-2px{padding-top:2px;padding-bottom:2px}.padding-x-2px{padding-left:2px;padding-right:2px}.padding-top-2px{padding-top:2px}.padding-right-2px{padding-right:2px}.padding-bottom-2px{padding-bottom:2px}.padding-left-2px{padding-left:2px}.padding-05{padding:.25rem}.padding-y-05{padding-top:.25rem;padding-bottom:.25rem}.padding-x-05{padding-left:.25rem;padding-right:.25rem}.padding-top-05{padding-top:.25rem}.padding-right-05{padding-right:.25rem}.padding-bottom-05{padding-bottom:.25rem}.padding-left-05{padding-left:.25rem}.padding-1{padding:.5rem}.padding-y-1{padding-top:.5rem;padding-bottom:.5rem}.padding-x-1{padding-left:.5rem;padding-right:.5rem}.padding-top-1{padding-top:.5rem}.padding-right-1{padding-right:.5rem}.padding-bottom-1{padding-bottom:.5rem}.padding-left-1{padding-left:.5rem}.padding-105{padding:.75rem}.padding-y-105{padding-top:.75rem;padding-bottom:.75rem}.padding-x-105{padding-left:.75rem;padding-right:.75rem}.padding-top-105{padding-top:.75rem}.padding-right-105{padding-right:.75rem}.padding-bottom-105{padding-bottom:.75rem}.padding-left-105{padding-left:.75rem}.padding-2{padding:1rem}.padding-y-2{padding-top:1rem;padding-bottom:1rem}.padding-x-2{padding-left:1rem;padding-right:1rem}.padding-top-2{padding-top:1rem}.padding-right-2{padding-right:1rem}.padding-bottom-2{padding-bottom:1rem}.padding-left-2{padding-left:1rem}.padding-205{padding:1.25rem}.padding-y-205{padding-top:1.25rem;padding-bottom:1.25rem}.padding-x-205{padding-left:1.25rem;padding-right:1.25rem}.padding-top-205{padding-top:1.25rem}.padding-right-205{padding-right:1.25rem}.padding-bottom-205{padding-bottom:1.25rem}.padding-left-205{padding-left:1.25rem}.padding-3{padding:1.5rem}.padding-y-3{padding-top:1.5rem;padding-bottom:1.5rem}.padding-x-3{padding-left:1.5rem;padding-right:1.5rem}.padding-top-3{padding-top:1.5rem}.padding-right-3{padding-right:1.5rem}.padding-bottom-3{padding-bottom:1.5rem}.padding-left-3{padding-left:1.5rem}.padding-4{padding:2rem}.padding-y-4{padding-top:2rem;padding-bottom:2rem}.padding-x-4{padding-left:2rem;padding-right:2rem}.padding-top-4{padding-top:2rem}.padding-right-4{padding-right:2rem}.padding-bottom-4{padding-bottom:2rem}.padding-left-4{padding-left:2rem}.padding-5{padding:2.5rem}.padding-y-5{padding-top:2.5rem;padding-bottom:2.5rem}.padding-x-5{padding-left:2.5rem;padding-right:2.5rem}.padding-top-5{padding-top:2.5rem}.padding-right-5{padding-right:2.5rem}.padding-bottom-5{padding-bottom:2.5rem}.padding-left-5{padding-left:2.5rem}.padding-6{padding:3rem}.padding-y-6{padding-top:3rem;padding-bottom:3rem}.padding-x-6{padding-left:3rem;padding-right:3rem}.padding-top-6{padding-top:3rem}.padding-right-6{padding-right:3rem}.padding-bottom-6{padding-bottom:3rem}.padding-left-6{padding-left:3rem}.padding-7{padding:3.5rem}.padding-y-7{padding-top:3.5rem;padding-bottom:3.5rem}.padding-x-7{padding-left:3.5rem;padding-right:3.5rem}.padding-top-7{padding-top:3.5rem}.padding-right-7{padding-right:3.5rem}.padding-bottom-7{padding-bottom:3.5rem}.padding-left-7{padding-left:3.5rem}.padding-8{padding:4rem}.padding-y-8{padding-top:4rem;padding-bottom:4rem}.padding-x-8{padding-left:4rem;padding-right:4rem}.padding-top-8{padding-top:4rem}.padding-right-8{padding-right:4rem}.padding-bottom-8{padding-bottom:4rem}.padding-left-8{padding-left:4rem}.padding-9{padding:4.5rem}.padding-y-9{padding-top:4.5rem;padding-bottom:4.5rem}.padding-x-9{padding-left:4.5rem;padding-right:4.5rem}.padding-top-9{padding-top:4.5rem}.padding-right-9{padding-right:4.5rem}.padding-bottom-9{padding-bottom:4.5rem}.padding-left-9{padding-left:4.5rem}.padding-10{padding:5rem}.padding-y-10{padding-top:5rem;padding-bottom:5rem}.padding-x-10{padding-left:5rem;padding-right:5rem}.padding-top-10{padding-top:5rem}.padding-right-10{padding-right:5rem}.padding-bottom-10{padding-bottom:5rem}.padding-left-10{padding-left:5rem}.padding-15{padding:7.5rem}.padding-y-15{padding-top:7.5rem;padding-bottom:7.5rem}.padding-x-15{padding-left:7.5rem;padding-right:7.5rem}.padding-top-15{padding-top:7.5rem}.padding-right-15{padding-right:7.5rem}.padding-bottom-15{padding-bottom:7.5rem}.padding-left-15{padding-left:7.5rem}.padding-0{padding:0}.padding-y-0{padding-top:0;padding-bottom:0}.padding-x-0{padding-left:0;padding-right:0}.padding-top-0{padding-top:0}.padding-right-0{padding-right:0}.padding-bottom-0{padding-bottom:0}.padding-left-0{padding-left:0}.pin-all{bottom:0;top:0}.pin-all,.pin-x{left:0;right:0;position:absolute}.pin-y{top:0}.pin-bottom,.pin-y{bottom:0;position:absolute}.pin-left{left:0;position:absolute}.pin-right{right:0;position:absolute}.pin-top{top:0;position:absolute}.pin-none{bottom:auto;left:auto;right:auto;top:auto;position:static}.position-absolute{position:absolute}.position-fixed{position:fixed}.position-relative{position:relative}.position-static{position:static}.position-sticky{position:sticky}.right-1px{right:1px}.right-2px{right:2px}.right-05{right:.25rem}.right-1{right:.5rem}.right-105{right:.75rem}.right-2{right:1rem}.right-205{right:1.25rem}.right-3{right:1.5rem}.right-neg-1px{right:-1px}.right-neg-2px{right:-2px}.right-neg-05{right:-.25rem}.right-neg-1{right:-.5rem}.right-neg-105{right:-.75rem}.right-neg-2{right:-1rem}.right-neg-205{right:-1.25rem}.right-neg-3{right:-1.5rem}.right-0{right:0}.right-auto{right:auto}.right-full{right:100%}.square-1px{height:1px;width:1px}.square-2px{height:2px;width:2px}.square-05{height:.25rem;width:.25rem}.square-1{height:.5rem;width:.5rem}.square-105{height:.75rem;width:.75rem}.square-2{height:1rem;width:1rem}.square-205{height:1.25rem;width:1.25rem}.square-3{height:1.5rem;width:1.5rem}.square-4{height:2rem;width:2rem}.square-5{height:2.5rem;width:2.5rem}.square-6{height:3rem;width:3rem}.square-7{height:3.5rem;width:3.5rem}.square-8{height:4rem;width:4rem}.square-9{height:4.5rem;width:4.5rem}.square-10{height:5rem;width:5rem}.square-15{height:7.5rem;width:7.5rem}.square-card{height:10rem;width:10rem}.square-card-lg{height:15rem;width:15rem}.square-mobile{height:20rem;width:20rem}.text-center{text-align:center}.text-left{text-align:left}.text-justify{text-align:justify}.text-right{text-align:right}.hover\:text-strike:hover,.text-strike{text-decoration:line-through}.hover\:text-underline:hover,.text-underline{text-decoration:underline}.hover\:text-no-strike:hover,.hover\:text-no-underline:hover,.text-no-strike,.text-no-underline{text-decoration:none}.hover\:underline-red:hover,.underline-red{text-decoration-color:#e52207}.hover\:underline-orange:hover,.underline-orange{text-decoration-color:#e66f0e}.hover\:underline-gold:hover,.underline-gold{text-decoration-color:#ffbe2e}.hover\:underline-yellow:hover,.underline-yellow{text-decoration-color:#fee685}.hover\:underline-green:hover,.underline-green{text-decoration-color:#538200}.hover\:underline-mint:hover,.underline-mint{text-decoration-color:#04c585}.hover\:underline-cyan:hover,.underline-cyan{text-decoration-color:#009ec1}.hover\:underline-blue:hover,.underline-blue{text-decoration-color:#0076d6}.hover\:underline-indigo:hover,.underline-indigo{text-decoration-color:#676cc8}.hover\:underline-violet:hover,.underline-violet{text-decoration-color:#8168b3}.hover\:underline-magenta:hover,.underline-magenta{text-decoration-color:#d72d79}.hover\:underline-gray-5:hover,.underline-gray-5{text-decoration-color:#f0f0f0}.hover\:underline-gray-10:hover,.underline-gray-10{text-decoration-color:#e6e6e6}.hover\:underline-gray-30:hover,.underline-gray-30{text-decoration-color:#adadad}.hover\:underline-gray-50:hover,.underline-gray-50{text-decoration-color:#757575}.hover\:underline-gray-70:hover,.underline-gray-70{text-decoration-color:#454545}.hover\:underline-gray-90:hover,.underline-gray-90{text-decoration-color:#1b1b1b}.hover\:underline-base-lightest:hover,.underline-base-lightest{text-decoration-color:#f0f0f0}.hover\:underline-base-lighter:hover,.underline-base-lighter{text-decoration-color:#dfe1e2}.hover\:underline-base-light:hover,.underline-base-light{text-decoration-color:#a9aeb1}.hover\:underline-base:hover,.underline-base{text-decoration-color:#71767a}.hover\:underline-base-dark:hover,.underline-base-dark{text-decoration-color:#565c65}.hover\:underline-base-darker:hover,.underline-base-darker{text-decoration-color:#3d4551}.hover\:underline-base-darkest:hover,.hover\:underline-ink:hover,.underline-base-darkest,.underline-ink{text-decoration-color:#1b1b1b}.hover\:underline-primary-lighter:hover,.underline-primary-lighter{text-decoration-color:#d9e8f6}.hover\:underline-primary-light:hover,.underline-primary-light{text-decoration-color:#73b3e7}.hover\:underline-primary:hover,.underline-primary{text-decoration-color:#005ea2}.hover\:underline-primary-vivid:hover,.underline-primary-vivid{text-decoration-color:#0050d8}.hover\:underline-primary-dark:hover,.underline-primary-dark{text-decoration-color:#1a4480}.hover\:underline-primary-darker:hover,.underline-primary-darker{text-decoration-color:#162e51}.hover\:underline-secondary-lighter:hover,.underline-secondary-lighter{text-decoration-color:#f3e1e4}.hover\:underline-secondary-light:hover,.underline-secondary-light{text-decoration-color:#f2938c}.hover\:underline-secondary:hover,.underline-secondary{text-decoration-color:#d83933}.hover\:underline-secondary-vivid:hover,.underline-secondary-vivid{text-decoration-color:#e41d3d}.hover\:underline-secondary-dark:hover,.underline-secondary-dark{text-decoration-color:#b50909}.hover\:underline-secondary-darker:hover,.underline-secondary-darker{text-decoration-color:#8b0a03}.hover\:underline-accent-warm-darker:hover,.underline-accent-warm-darker{text-decoration-color:#775540}.hover\:underline-accent-warm-dark:hover,.underline-accent-warm-dark{text-decoration-color:#c05600}.hover\:underline-accent-warm:hover,.underline-accent-warm{text-decoration-color:#fa9441}.hover\:underline-accent-warm-light:hover,.underline-accent-warm-light{text-decoration-color:#ffbc78}.hover\:underline-accent-warm-lighter:hover,.underline-accent-warm-lighter{text-decoration-color:#f2e4d4}.hover\:underline-accent-cool-darker:hover,.underline-accent-cool-darker{text-decoration-color:#07648d}.hover\:underline-accent-cool-dark:hover,.underline-accent-cool-dark{text-decoration-color:#28a0cb}.hover\:underline-accent-cool:hover,.underline-accent-cool{text-decoration-color:#00bde3}.hover\:underline-accent-cool-light:hover,.underline-accent-cool-light{text-decoration-color:#97d4ea}.hover\:underline-accent-cool-lighter:hover,.underline-accent-cool-lighter{text-decoration-color:#e1f3f8}.hover\:underline-error-lighter:hover,.underline-error-lighter{text-decoration-color:#f4e3db}.hover\:underline-error-light:hover,.underline-error-light{text-decoration-color:#f39268}.hover\:underline-error:hover,.underline-error{text-decoration-color:#d54309}.hover\:underline-error-dark:hover,.underline-error-dark{text-decoration-color:#b50909}.hover\:underline-error-darker:hover,.underline-error-darker{text-decoration-color:#6f3331}.hover\:underline-warning-lighter:hover,.underline-warning-lighter{text-decoration-color:#faf3d1}.hover\:underline-warning-light:hover,.underline-warning-light{text-decoration-color:#fee685}.hover\:underline-warning:hover,.underline-warning{text-decoration-color:#ffbe2e}.hover\:underline-warning-dark:hover,.underline-warning-dark{text-decoration-color:#e5a000}.hover\:underline-warning-darker:hover,.underline-warning-darker{text-decoration-color:#936f38}.hover\:underline-success-lighter:hover,.underline-success-lighter{text-decoration-color:#ecf3ec}.hover\:underline-success-light:hover,.underline-success-light{text-decoration-color:#70e17b}.hover\:underline-success:hover,.underline-success{text-decoration-color:#00a91c}.hover\:underline-success-dark:hover,.underline-success-dark{text-decoration-color:#008817}.hover\:underline-success-darker:hover,.underline-success-darker{text-decoration-color:#216e1f}.hover\:underline-info-lighter:hover,.underline-info-lighter{text-decoration-color:#e7f6f8}.hover\:underline-info-light:hover,.underline-info-light{text-decoration-color:#99deea}.hover\:underline-info:hover,.underline-info{text-decoration-color:#00bde3}.hover\:underline-info-dark:hover,.underline-info-dark{text-decoration-color:#009ec1}.hover\:underline-info-darker:hover,.underline-info-darker{text-decoration-color:#2e6276}.hover\:underline-disabled-lighter:hover,.underline-disabled-lighter{text-decoration-color:#c9c9c9}.hover\:underline-disabled-light:hover,.underline-disabled-light{text-decoration-color:#919191}.hover\:underline-disabled:hover,.underline-disabled{text-decoration-color:#757575}.hover\:underline-disabled-dark:hover,.underline-disabled-dark{text-decoration-color:#454545}.hover\:underline-disabled-darker:hover,.underline-disabled-darker{text-decoration-color:#1b1b1b}.hover\:underline-emergency:hover,.underline-emergency{text-decoration-color:#9c3d10}.hover\:underline-emergency-dark:hover,.underline-emergency-dark{text-decoration-color:#332d29}.text-indent-0{text-indent:0}.text-indent-05{text-indent:.25rem}.text-indent-1{text-indent:.5rem}.text-indent-105{text-indent:.75rem}.text-indent-2{text-indent:1rem}.text-indent-205{text-indent:1.25rem}.text-indent-3{text-indent:1.5rem}.text-indent-neg-05{text-indent:-.25rem}.text-indent-neg-1{text-indent:-.5rem}.text-indent-neg-105{text-indent:-.75rem}.text-indent-neg-2{text-indent:-1rem}.text-indent-neg-205{text-indent:-1.25rem}.text-indent-neg-3{text-indent:-1.5rem}.text-indent-4{text-indent:2rem}.text-indent-5{text-indent:2.5rem}.text-indent-6{text-indent:3rem}.text-indent-7{text-indent:3.5rem}.text-indent-8{text-indent:4rem}.text-indent-9{text-indent:4.5rem}.text-indent-10{text-indent:5rem}.text-indent-15{text-indent:7.5rem}.text-indent-neg-4{text-indent:-2rem}.text-indent-neg-5{text-indent:-2.5rem}.text-indent-neg-6{text-indent:-3rem}.text-indent-neg-7{text-indent:-3.5rem}.text-indent-neg-8{text-indent:-4rem}.text-indent-neg-9{text-indent:-4.5rem}.text-indent-neg-10{text-indent:-5rem}.text-indent-neg-15{text-indent:-7.5rem}.text-uppercase{text-transform:uppercase}.text-no-uppercase{text-transform:none}.text-lowercase{text-transform:lowercase}.text-no-lowercase{text-transform:none}.top-1px{top:1px}.top-2px{top:2px}.top-05{top:.25rem}.top-1{top:.5rem}.top-105{top:.75rem}.top-2{top:1rem}.top-205{top:1.25rem}.top-3{top:1.5rem}.top-neg-1px{top:-1px}.top-neg-2px{top:-2px}.top-neg-05{top:-.25rem}.top-neg-1{top:-.5rem}.top-neg-105{top:-.75rem}.top-neg-2{top:-1rem}.top-neg-205{top:-1.25rem}.top-neg-3{top:-1.5rem}.top-0{top:0}.top-auto{top:auto}.top-full{top:100%}.text-baseline{vertical-align:baseline}.text-bottom{vertical-align:bottom}.text-middle{vertical-align:middle}.text-sub{vertical-align:sub}.text-super{vertical-align:super}.text-tbottom{vertical-align:text-bottom}.text-ttop{vertical-align:text-top}.text-top{vertical-align:top}.text-pre{white-space:pre}.text-pre-line{white-space:pre-line}.text-pre-wrap{white-space:pre-wrap}.text-wrap{white-space:normal}.text-no-wrap{white-space:nowrap}.width-1px{width:1px}.width-2px{width:2px}.width-05{width:.25rem}.width-1{width:.5rem}.width-105{width:.75rem}.width-2{width:1rem}.width-205{width:1.25rem}.width-3{width:1.5rem}.width-4{width:2rem}.width-5{width:2.5rem}.width-6{width:3rem}.width-7{width:3.5rem}.width-8{width:4rem}.width-9{width:4.5rem}.width-10{width:5rem}.width-15{width:7.5rem}.width-card{width:10rem}.width-card-lg{width:15rem}.width-mobile{width:20rem}.width-mobile-lg{width:30rem}.width-tablet{width:40rem}.width-tablet-lg{width:55rem}.width-desktop{width:64rem}.width-desktop-lg{width:75rem}.width-widescreen{width:87.5rem}.width-0{width:0}.width-full{width:100%}.width-auto{width:auto}.z-auto{z-index:auto}.z-bottom{z-index:-100}.z-top{z-index:99999}.z-0{z-index:0}.z-100{z-index:100}.z-200{z-index:200}.z-300{z-index:300}.z-400{z-index:400}.z-500{z-index:500}@media all and (min-width:30em){.mobile-lg\:border-1px,.mobile-lg\:hover\:border-1px:hover{border:1px solid}.mobile-lg\:border-y-1px,.mobile-lg\:hover\:border-y-1px:hover{border-top:1px solid;border-bottom:1px solid}.mobile-lg\:border-x-1px,.mobile-lg\:hover\:border-x-1px:hover{border-left:1px solid;border-right:1px solid}.mobile-lg\:border-top-1px,.mobile-lg\:hover\:border-top-1px:hover{border-top:1px solid}.mobile-lg\:border-right-1px,.mobile-lg\:hover\:border-right-1px:hover{border-right:1px solid}.mobile-lg\:border-bottom-1px,.mobile-lg\:hover\:border-bottom-1px:hover{border-bottom:1px solid}.mobile-lg\:border-left-1px,.mobile-lg\:hover\:border-left-1px:hover{border-left:1px solid}.mobile-lg\:border-2px,.mobile-lg\:hover\:border-2px:hover{border:2px solid}.mobile-lg\:border-y-2px,.mobile-lg\:hover\:border-y-2px:hover{border-top:2px solid;border-bottom:2px solid}.mobile-lg\:border-x-2px,.mobile-lg\:hover\:border-x-2px:hover{border-left:2px solid;border-right:2px solid}.mobile-lg\:border-top-2px,.mobile-lg\:hover\:border-top-2px:hover{border-top:2px solid}.mobile-lg\:border-right-2px,.mobile-lg\:hover\:border-right-2px:hover{border-right:2px solid}.mobile-lg\:border-bottom-2px,.mobile-lg\:hover\:border-bottom-2px:hover{border-bottom:2px solid}.mobile-lg\:border-left-2px,.mobile-lg\:hover\:border-left-2px:hover{border-left:2px solid}.mobile-lg\:border-05,.mobile-lg\:hover\:border-05:hover{border:.25rem solid}.mobile-lg\:border-y-05,.mobile-lg\:hover\:border-y-05:hover{border-top:.25rem solid;border-bottom:.25rem solid}.mobile-lg\:border-x-05,.mobile-lg\:hover\:border-x-05:hover{border-left:.25rem solid;border-right:.25rem solid}.mobile-lg\:border-top-05,.mobile-lg\:hover\:border-top-05:hover{border-top:.25rem solid}.mobile-lg\:border-right-05,.mobile-lg\:hover\:border-right-05:hover{border-right:.25rem solid}.mobile-lg\:border-bottom-05,.mobile-lg\:hover\:border-bottom-05:hover{border-bottom:.25rem solid}.mobile-lg\:border-left-05,.mobile-lg\:hover\:border-left-05:hover{border-left:.25rem solid}.mobile-lg\:border-1,.mobile-lg\:hover\:border-1:hover{border:.5rem solid}.mobile-lg\:border-y-1,.mobile-lg\:hover\:border-y-1:hover{border-top:.5rem solid;border-bottom:.5rem solid}.mobile-lg\:border-x-1,.mobile-lg\:hover\:border-x-1:hover{border-left:.5rem solid;border-right:.5rem solid}.mobile-lg\:border-top-1,.mobile-lg\:hover\:border-top-1:hover{border-top:.5rem solid}.mobile-lg\:border-right-1,.mobile-lg\:hover\:border-right-1:hover{border-right:.5rem solid}.mobile-lg\:border-bottom-1,.mobile-lg\:hover\:border-bottom-1:hover{border-bottom:.5rem solid}.mobile-lg\:border-left-1,.mobile-lg\:hover\:border-left-1:hover{border-left:.5rem solid}.mobile-lg\:border-105,.mobile-lg\:hover\:border-105:hover{border:.75rem solid}.mobile-lg\:border-y-105,.mobile-lg\:hover\:border-y-105:hover{border-top:.75rem solid;border-bottom:.75rem solid}.mobile-lg\:border-x-105,.mobile-lg\:hover\:border-x-105:hover{border-left:.75rem solid;border-right:.75rem solid}.mobile-lg\:border-top-105,.mobile-lg\:hover\:border-top-105:hover{border-top:.75rem solid}.mobile-lg\:border-right-105,.mobile-lg\:hover\:border-right-105:hover{border-right:.75rem solid}.mobile-lg\:border-bottom-105,.mobile-lg\:hover\:border-bottom-105:hover{border-bottom:.75rem solid}.mobile-lg\:border-left-105,.mobile-lg\:hover\:border-left-105:hover{border-left:.75rem solid}.mobile-lg\:border-2,.mobile-lg\:hover\:border-2:hover{border:1rem solid}.mobile-lg\:border-y-2,.mobile-lg\:hover\:border-y-2:hover{border-top:1rem solid;border-bottom:1rem solid}.mobile-lg\:border-x-2,.mobile-lg\:hover\:border-x-2:hover{border-left:1rem solid;border-right:1rem solid}.mobile-lg\:border-top-2,.mobile-lg\:hover\:border-top-2:hover{border-top:1rem solid}.mobile-lg\:border-right-2,.mobile-lg\:hover\:border-right-2:hover{border-right:1rem solid}.mobile-lg\:border-bottom-2,.mobile-lg\:hover\:border-bottom-2:hover{border-bottom:1rem solid}.mobile-lg\:border-left-2,.mobile-lg\:hover\:border-left-2:hover{border-left:1rem solid}.mobile-lg\:border-205,.mobile-lg\:hover\:border-205:hover{border:1.25rem solid}.mobile-lg\:border-y-205,.mobile-lg\:hover\:border-y-205:hover{border-top:1.25rem solid;border-bottom:1.25rem solid}.mobile-lg\:border-x-205,.mobile-lg\:hover\:border-x-205:hover{border-left:1.25rem solid;border-right:1.25rem solid}.mobile-lg\:border-top-205,.mobile-lg\:hover\:border-top-205:hover{border-top:1.25rem solid}.mobile-lg\:border-right-205,.mobile-lg\:hover\:border-right-205:hover{border-right:1.25rem solid}.mobile-lg\:border-bottom-205,.mobile-lg\:hover\:border-bottom-205:hover{border-bottom:1.25rem solid}.mobile-lg\:border-left-205,.mobile-lg\:hover\:border-left-205:hover{border-left:1.25rem solid}.mobile-lg\:border-3,.mobile-lg\:hover\:border-3:hover{border:1.5rem solid}.mobile-lg\:border-y-3,.mobile-lg\:hover\:border-y-3:hover{border-top:1.5rem solid;border-bottom:1.5rem solid}.mobile-lg\:border-x-3,.mobile-lg\:hover\:border-x-3:hover{border-left:1.5rem solid;border-right:1.5rem solid}.mobile-lg\:border-top-3,.mobile-lg\:hover\:border-top-3:hover{border-top:1.5rem solid}.mobile-lg\:border-right-3,.mobile-lg\:hover\:border-right-3:hover{border-right:1.5rem solid}.mobile-lg\:border-bottom-3,.mobile-lg\:hover\:border-bottom-3:hover{border-bottom:1.5rem solid}.mobile-lg\:border-left-3,.mobile-lg\:hover\:border-left-3:hover{border-left:1.5rem solid}.mobile-lg\:border-0,.mobile-lg\:hover\:border-0:hover{border:0 solid}.mobile-lg\:border-y-0,.mobile-lg\:hover\:border-y-0:hover{border-top:0 solid;border-bottom:0 solid}.mobile-lg\:border-x-0,.mobile-lg\:hover\:border-x-0:hover{border-left:0 solid;border-right:0 solid}.mobile-lg\:border-top-0,.mobile-lg\:hover\:border-top-0:hover{border-top:0 solid}.mobile-lg\:border-right-0,.mobile-lg\:hover\:border-right-0:hover{border-right:0 solid}.mobile-lg\:border-bottom-0,.mobile-lg\:hover\:border-bottom-0:hover{border-bottom:0 solid}.mobile-lg\:border-left-0,.mobile-lg\:hover\:border-left-0:hover{border-left:0 solid}.mobile-lg\:border,.mobile-lg\:hover\:border:hover{border:1px solid}.mobile-lg\:border-y,.mobile-lg\:hover\:border-y:hover{border-top:1px solid;border-bottom:1px solid}.mobile-lg\:border-x,.mobile-lg\:hover\:border-x:hover{border-left:1px solid;border-right:1px solid}.mobile-lg\:border-top,.mobile-lg\:hover\:border-top:hover{border-top:1px solid}.mobile-lg\:border-right,.mobile-lg\:hover\:border-right:hover{border-right:1px solid}.mobile-lg\:border-bottom,.mobile-lg\:hover\:border-bottom:hover{border-bottom:1px solid}.mobile-lg\:border-left,.mobile-lg\:hover\:border-left:hover{border-left:1px solid}.mobile-lg\:border-transparent,.mobile-lg\:hover\:border-transparent:hover{border-color:transparent}.mobile-lg\:border-black,.mobile-lg\:hover\:border-black:hover{border-color:#000}.mobile-lg\:border-white,.mobile-lg\:hover\:border-white:hover{border-color:#fff}.mobile-lg\:border-red,.mobile-lg\:hover\:border-red:hover{border-color:#e52207}.mobile-lg\:border-orange,.mobile-lg\:hover\:border-orange:hover{border-color:#e66f0e}.mobile-lg\:border-gold,.mobile-lg\:hover\:border-gold:hover{border-color:#ffbe2e}.mobile-lg\:border-yellow,.mobile-lg\:hover\:border-yellow:hover{border-color:#fee685}.mobile-lg\:border-green,.mobile-lg\:hover\:border-green:hover{border-color:#538200}.mobile-lg\:border-mint,.mobile-lg\:hover\:border-mint:hover{border-color:#04c585}.mobile-lg\:border-cyan,.mobile-lg\:hover\:border-cyan:hover{border-color:#009ec1}.mobile-lg\:border-blue,.mobile-lg\:hover\:border-blue:hover{border-color:#0076d6}.mobile-lg\:border-indigo,.mobile-lg\:hover\:border-indigo:hover{border-color:#676cc8}.mobile-lg\:border-violet,.mobile-lg\:hover\:border-violet:hover{border-color:#8168b3}.mobile-lg\:border-magenta,.mobile-lg\:hover\:border-magenta:hover{border-color:#d72d79}.mobile-lg\:border-gray-5,.mobile-lg\:hover\:border-gray-5:hover{border-color:#f0f0f0}.mobile-lg\:border-gray-10,.mobile-lg\:hover\:border-gray-10:hover{border-color:#e6e6e6}.mobile-lg\:border-gray-30,.mobile-lg\:hover\:border-gray-30:hover{border-color:#adadad}.mobile-lg\:border-gray-50,.mobile-lg\:hover\:border-gray-50:hover{border-color:#757575}.mobile-lg\:border-gray-70,.mobile-lg\:hover\:border-gray-70:hover{border-color:#454545}.mobile-lg\:border-gray-90,.mobile-lg\:hover\:border-gray-90:hover{border-color:#1b1b1b}.mobile-lg\:border-base-lightest,.mobile-lg\:hover\:border-base-lightest:hover{border-color:#f0f0f0}.mobile-lg\:border-base-lighter,.mobile-lg\:hover\:border-base-lighter:hover{border-color:#dfe1e2}.mobile-lg\:border-base-light,.mobile-lg\:hover\:border-base-light:hover{border-color:#a9aeb1}.mobile-lg\:border-base,.mobile-lg\:hover\:border-base:hover{border-color:#71767a}.mobile-lg\:border-base-dark,.mobile-lg\:hover\:border-base-dark:hover{border-color:#565c65}.mobile-lg\:border-base-darker,.mobile-lg\:hover\:border-base-darker:hover{border-color:#3d4551}.mobile-lg\:border-base-darkest,.mobile-lg\:border-ink,.mobile-lg\:hover\:border-base-darkest:hover,.mobile-lg\:hover\:border-ink:hover{border-color:#1b1b1b}.mobile-lg\:border-primary-lighter,.mobile-lg\:hover\:border-primary-lighter:hover{border-color:#d9e8f6}.mobile-lg\:border-primary-light,.mobile-lg\:hover\:border-primary-light:hover{border-color:#73b3e7}.mobile-lg\:border-primary,.mobile-lg\:hover\:border-primary:hover{border-color:#005ea2}.mobile-lg\:border-primary-vivid,.mobile-lg\:hover\:border-primary-vivid:hover{border-color:#0050d8}.mobile-lg\:border-primary-dark,.mobile-lg\:hover\:border-primary-dark:hover{border-color:#1a4480}.mobile-lg\:border-primary-darker,.mobile-lg\:hover\:border-primary-darker:hover{border-color:#162e51}.mobile-lg\:border-secondary-lighter,.mobile-lg\:hover\:border-secondary-lighter:hover{border-color:#f3e1e4}.mobile-lg\:border-secondary-light,.mobile-lg\:hover\:border-secondary-light:hover{border-color:#f2938c}.mobile-lg\:border-secondary,.mobile-lg\:hover\:border-secondary:hover{border-color:#d83933}.mobile-lg\:border-secondary-vivid,.mobile-lg\:hover\:border-secondary-vivid:hover{border-color:#e41d3d}.mobile-lg\:border-secondary-dark,.mobile-lg\:hover\:border-secondary-dark:hover{border-color:#b50909}.mobile-lg\:border-secondary-darker,.mobile-lg\:hover\:border-secondary-darker:hover{border-color:#8b0a03}.mobile-lg\:border-accent-warm-darker,.mobile-lg\:hover\:border-accent-warm-darker:hover{border-color:#775540}.mobile-lg\:border-accent-warm-dark,.mobile-lg\:hover\:border-accent-warm-dark:hover{border-color:#c05600}.mobile-lg\:border-accent-warm,.mobile-lg\:hover\:border-accent-warm:hover{border-color:#fa9441}.mobile-lg\:border-accent-warm-light,.mobile-lg\:hover\:border-accent-warm-light:hover{border-color:#ffbc78}.mobile-lg\:border-accent-warm-lighter,.mobile-lg\:hover\:border-accent-warm-lighter:hover{border-color:#f2e4d4}.mobile-lg\:border-accent-cool-darker,.mobile-lg\:hover\:border-accent-cool-darker:hover{border-color:#07648d}.mobile-lg\:border-accent-cool-dark,.mobile-lg\:hover\:border-accent-cool-dark:hover{border-color:#28a0cb}.mobile-lg\:border-accent-cool,.mobile-lg\:hover\:border-accent-cool:hover{border-color:#00bde3}.mobile-lg\:border-accent-cool-light,.mobile-lg\:hover\:border-accent-cool-light:hover{border-color:#97d4ea}.mobile-lg\:border-accent-cool-lighter,.mobile-lg\:hover\:border-accent-cool-lighter:hover{border-color:#e1f3f8}.mobile-lg\:border-error-lighter,.mobile-lg\:hover\:border-error-lighter:hover{border-color:#f4e3db}.mobile-lg\:border-error-light,.mobile-lg\:hover\:border-error-light:hover{border-color:#f39268}.mobile-lg\:border-error,.mobile-lg\:hover\:border-error:hover{border-color:#d54309}.mobile-lg\:border-error-dark,.mobile-lg\:hover\:border-error-dark:hover{border-color:#b50909}.mobile-lg\:border-error-darker,.mobile-lg\:hover\:border-error-darker:hover{border-color:#6f3331}.mobile-lg\:border-warning-lighter,.mobile-lg\:hover\:border-warning-lighter:hover{border-color:#faf3d1}.mobile-lg\:border-warning-light,.mobile-lg\:hover\:border-warning-light:hover{border-color:#fee685}.mobile-lg\:border-warning,.mobile-lg\:hover\:border-warning:hover{border-color:#ffbe2e}.mobile-lg\:border-warning-dark,.mobile-lg\:hover\:border-warning-dark:hover{border-color:#e5a000}.mobile-lg\:border-warning-darker,.mobile-lg\:hover\:border-warning-darker:hover{border-color:#936f38}.mobile-lg\:border-success-lighter,.mobile-lg\:hover\:border-success-lighter:hover{border-color:#ecf3ec}.mobile-lg\:border-success-light,.mobile-lg\:hover\:border-success-light:hover{border-color:#70e17b}.mobile-lg\:border-success,.mobile-lg\:hover\:border-success:hover{border-color:#00a91c}.mobile-lg\:border-success-dark,.mobile-lg\:hover\:border-success-dark:hover{border-color:#008817}.mobile-lg\:border-success-darker,.mobile-lg\:hover\:border-success-darker:hover{border-color:#216e1f}.mobile-lg\:border-info-lighter,.mobile-lg\:hover\:border-info-lighter:hover{border-color:#e7f6f8}.mobile-lg\:border-info-light,.mobile-lg\:hover\:border-info-light:hover{border-color:#99deea}.mobile-lg\:border-info,.mobile-lg\:hover\:border-info:hover{border-color:#00bde3}.mobile-lg\:border-info-dark,.mobile-lg\:hover\:border-info-dark:hover{border-color:#009ec1}.mobile-lg\:border-info-darker,.mobile-lg\:hover\:border-info-darker:hover{border-color:#2e6276}.mobile-lg\:border-disabled-lighter,.mobile-lg\:hover\:border-disabled-lighter:hover{border-color:#c9c9c9}.mobile-lg\:border-disabled-light,.mobile-lg\:hover\:border-disabled-light:hover{border-color:#919191}.mobile-lg\:border-disabled,.mobile-lg\:hover\:border-disabled:hover{border-color:#757575}.mobile-lg\:border-disabled-dark,.mobile-lg\:hover\:border-disabled-dark:hover{border-color:#454545}.mobile-lg\:border-disabled-darker,.mobile-lg\:hover\:border-disabled-darker:hover{border-color:#1b1b1b}.mobile-lg\:border-emergency,.mobile-lg\:hover\:border-emergency:hover{border-color:#9c3d10}.mobile-lg\:border-emergency-dark,.mobile-lg\:hover\:border-emergency-dark:hover{border-color:#332d29}.mobile-lg\:radius-0{border-radius:0}.mobile-lg\:radius-top-0{border-top-left-radius:0;border-top-right-radius:0}.mobile-lg\:radius-right-0{border-top-right-radius:0;border-bottom-right-radius:0}.mobile-lg\:radius-bottom-0{border-bottom-left-radius:0;border-bottom-right-radius:0}.mobile-lg\:radius-left-0{border-top-left-radius:0;border-bottom-left-radius:0}.mobile-lg\:radius-sm{border-radius:2px}.mobile-lg\:radius-top-sm{border-top-left-radius:2px;border-top-right-radius:2px}.mobile-lg\:radius-right-sm{border-top-right-radius:2px;border-bottom-right-radius:2px}.mobile-lg\:radius-bottom-sm{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.mobile-lg\:radius-left-sm{border-top-left-radius:2px;border-bottom-left-radius:2px}.mobile-lg\:radius-md{border-radius:.25rem}.mobile-lg\:radius-top-md{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.mobile-lg\:radius-right-md{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.mobile-lg\:radius-bottom-md{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.mobile-lg\:radius-left-md{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.mobile-lg\:radius-lg{border-radius:.5rem}.mobile-lg\:radius-top-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.mobile-lg\:radius-right-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.mobile-lg\:radius-bottom-lg{border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}.mobile-lg\:radius-left-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.mobile-lg\:radius-pill{border-radius:99rem}.mobile-lg\:radius-top-pill{border-top-left-radius:99rem;border-top-right-radius:99rem}.mobile-lg\:radius-right-pill{border-top-right-radius:99rem;border-bottom-right-radius:99rem}.mobile-lg\:radius-bottom-pill{border-bottom-left-radius:99rem;border-bottom-right-radius:99rem}.mobile-lg\:radius-left-pill{border-top-left-radius:99rem;border-bottom-left-radius:99rem}.mobile-lg\:display-block{display:block}.mobile-lg\:display-flex{display:flex}.mobile-lg\:display-none{display:none}.mobile-lg\:display-inline{display:inline}.mobile-lg\:display-inline-block{display:inline-block}.mobile-lg\:display-inline-flex{display:inline-flex}.mobile-lg\:display-table{display:table}.mobile-lg\:display-table-cell{display:table-cell}.mobile-lg\:display-table-row{display:table-row}.mobile-lg\:font-mono-3xs{font-size:.77rem}.mobile-lg\:font-mono-2xs{font-size:.83rem}.mobile-lg\:font-mono-xs{font-size:.89rem}.mobile-lg\:font-mono-sm{font-size:.95rem}.mobile-lg\:font-mono-md{font-size:1.01rem}.mobile-lg\:font-mono-lg{font-size:1.31rem}.mobile-lg\:font-mono-xl{font-size:1.91rem}.mobile-lg\:font-mono-2xl{font-size:2.38rem}.mobile-lg\:font-mono-3xl{font-size:2.86rem}.mobile-lg\:font-sans-3xs{font-size:.87rem}.mobile-lg\:font-sans-2xs{font-size:.93rem}.mobile-lg\:font-sans-xs{font-size:1rem}.mobile-lg\:font-sans-sm{font-size:1.06rem}.mobile-lg\:font-sans-md{font-size:1.13rem}.mobile-lg\:font-sans-lg{font-size:1.46rem}.mobile-lg\:font-sans-xl{font-size:2.13rem}.mobile-lg\:font-sans-2xl{font-size:2.66rem}.mobile-lg\:font-sans-3xl{font-size:3.19rem}.mobile-lg\:font-serif-3xs{font-size:.79rem}.mobile-lg\:font-serif-2xs{font-size:.85rem}.mobile-lg\:font-serif-xs{font-size:.91rem}.mobile-lg\:font-serif-sm{font-size:.98rem}.mobile-lg\:font-serif-md{font-size:1.04rem}.mobile-lg\:font-serif-lg{font-size:1.34rem}.mobile-lg\:font-serif-xl{font-size:1.95rem}.mobile-lg\:font-serif-2xl{font-size:2.44rem}.mobile-lg\:font-serif-3xl{font-size:2.93rem}.mobile-lg\:font-heading-3xs{font-size:.79rem}.mobile-lg\:font-heading-2xs{font-size:.85rem}.mobile-lg\:font-heading-xs{font-size:.91rem}.mobile-lg\:font-heading-sm{font-size:.98rem}.mobile-lg\:font-heading-md{font-size:1.04rem}.mobile-lg\:font-heading-lg{font-size:1.34rem}.mobile-lg\:font-heading-xl{font-size:1.95rem}.mobile-lg\:font-heading-2xl{font-size:2.44rem}.mobile-lg\:font-heading-3xl{font-size:2.93rem}.mobile-lg\:font-body-3xs{font-size:.87rem}.mobile-lg\:font-body-2xs{font-size:.93rem}.mobile-lg\:font-body-xs{font-size:1rem}.mobile-lg\:font-body-sm{font-size:1.06rem}.mobile-lg\:font-body-md{font-size:1.13rem}.mobile-lg\:font-body-lg{font-size:1.46rem}.mobile-lg\:font-body-xl{font-size:2.13rem}.mobile-lg\:font-body-2xl{font-size:2.66rem}.mobile-lg\:font-body-3xl{font-size:3.19rem}.mobile-lg\:font-code-3xs{font-size:.77rem}.mobile-lg\:font-code-2xs{font-size:.83rem}.mobile-lg\:font-code-xs{font-size:.89rem}.mobile-lg\:font-code-sm{font-size:.95rem}.mobile-lg\:font-code-md{font-size:1.01rem}.mobile-lg\:font-code-lg{font-size:1.31rem}.mobile-lg\:font-code-xl{font-size:1.91rem}.mobile-lg\:font-code-2xl{font-size:2.38rem}.mobile-lg\:font-code-3xl{font-size:2.86rem}.mobile-lg\:font-alt-3xs{font-size:.79rem}.mobile-lg\:font-alt-2xs{font-size:.85rem}.mobile-lg\:font-alt-xs{font-size:.91rem}.mobile-lg\:font-alt-sm{font-size:.98rem}.mobile-lg\:font-alt-md{font-size:1.04rem}.mobile-lg\:font-alt-lg{font-size:1.34rem}.mobile-lg\:font-alt-xl{font-size:1.95rem}.mobile-lg\:font-alt-2xl{font-size:2.44rem}.mobile-lg\:font-alt-3xl{font-size:2.93rem}.mobile-lg\:font-ui-3xs{font-size:.87rem}.mobile-lg\:font-ui-2xs{font-size:.93rem}.mobile-lg\:font-ui-xs{font-size:1rem}.mobile-lg\:font-ui-sm{font-size:1.06rem}.mobile-lg\:font-ui-md{font-size:1.13rem}.mobile-lg\:font-ui-lg{font-size:1.46rem}.mobile-lg\:font-ui-xl{font-size:2.13rem}.mobile-lg\:font-ui-2xl{font-size:2.66rem}.mobile-lg\:font-ui-3xl{font-size:3.19rem}.mobile-lg\:text-light{font-weight:300}.mobile-lg\:text-normal{font-weight:400}.mobile-lg\:text-bold{font-weight:700}.mobile-lg\:flex-justify-center{justify-content:center}.mobile-lg\:flex-justify-start{justify-content:flex-start}.mobile-lg\:flex-justify-end{justify-content:flex-end}.mobile-lg\:flex-justify{justify-content:space-between}.mobile-lg\:line-height-sans-1{line-height:.9}.mobile-lg\:line-height-sans-2{line-height:1.1}.mobile-lg\:line-height-sans-3{line-height:1.3}.mobile-lg\:line-height-sans-4{line-height:1.4}.mobile-lg\:line-height-sans-5{line-height:1.5}.mobile-lg\:line-height-sans-6{line-height:1.6}.mobile-lg\:line-height-serif-1{line-height:1}.mobile-lg\:line-height-serif-2{line-height:1.2}.mobile-lg\:line-height-serif-3{line-height:1.4}.mobile-lg\:line-height-serif-4{line-height:1.5}.mobile-lg\:line-height-serif-5{line-height:1.7}.mobile-lg\:line-height-serif-6{line-height:1.8}.mobile-lg\:line-height-mono-1{line-height:1}.mobile-lg\:line-height-mono-2{line-height:1.3}.mobile-lg\:line-height-mono-3{line-height:1.4}.mobile-lg\:line-height-mono-4{line-height:1.6}.mobile-lg\:line-height-mono-5{line-height:1.7}.mobile-lg\:line-height-mono-6{line-height:1.8}.mobile-lg\:line-height-heading-1{line-height:1}.mobile-lg\:line-height-heading-2{line-height:1.2}.mobile-lg\:line-height-heading-3{line-height:1.4}.mobile-lg\:line-height-heading-4{line-height:1.5}.mobile-lg\:line-height-heading-5{line-height:1.7}.mobile-lg\:line-height-heading-6{line-height:1.8}.mobile-lg\:line-height-ui-1{line-height:.9}.mobile-lg\:line-height-ui-2{line-height:1.1}.mobile-lg\:line-height-ui-3{line-height:1.3}.mobile-lg\:line-height-ui-4{line-height:1.4}.mobile-lg\:line-height-ui-5{line-height:1.5}.mobile-lg\:line-height-ui-6{line-height:1.6}.mobile-lg\:line-height-body-1{line-height:.9}.mobile-lg\:line-height-body-2{line-height:1.1}.mobile-lg\:line-height-body-3{line-height:1.3}.mobile-lg\:line-height-body-4{line-height:1.4}.mobile-lg\:line-height-body-5{line-height:1.5}.mobile-lg\:line-height-body-6{line-height:1.6}.mobile-lg\:line-height-code-1{line-height:1}.mobile-lg\:line-height-code-2{line-height:1.3}.mobile-lg\:line-height-code-3{line-height:1.4}.mobile-lg\:line-height-code-4{line-height:1.6}.mobile-lg\:line-height-code-5{line-height:1.7}.mobile-lg\:line-height-code-6{line-height:1.8}.mobile-lg\:line-height-alt-1{line-height:1}.mobile-lg\:line-height-alt-2{line-height:1.2}.mobile-lg\:line-height-alt-3{line-height:1.4}.mobile-lg\:line-height-alt-4{line-height:1.5}.mobile-lg\:line-height-alt-5{line-height:1.7}.mobile-lg\:line-height-alt-6{line-height:1.8}.mobile-lg\:margin-neg-1px{margin:-1px}.mobile-lg\:margin-neg-2px{margin:-2px}.mobile-lg\:margin-neg-05{margin:-.25rem}.mobile-lg\:margin-neg-1{margin:-.5rem}.mobile-lg\:margin-neg-105{margin:-.75rem}.mobile-lg\:margin-neg-2{margin:-1rem}.mobile-lg\:margin-neg-205{margin:-1.25rem}.mobile-lg\:margin-neg-3{margin:-1.5rem}.mobile-lg\:margin-1px{margin:1px}.mobile-lg\:margin-2px{margin:2px}.mobile-lg\:margin-05{margin:.25rem}.mobile-lg\:margin-1{margin:.5rem}.mobile-lg\:margin-105{margin:.75rem}.mobile-lg\:margin-2{margin:1rem}.mobile-lg\:margin-205{margin:1.25rem}.mobile-lg\:margin-3{margin:1.5rem}.mobile-lg\:margin-neg-4{margin:-2rem}.mobile-lg\:margin-neg-5{margin:-2.5rem}.mobile-lg\:margin-neg-6{margin:-3rem}.mobile-lg\:margin-neg-7{margin:-3.5rem}.mobile-lg\:margin-neg-8{margin:-4rem}.mobile-lg\:margin-neg-9{margin:-4.5rem}.mobile-lg\:margin-neg-10{margin:-5rem}.mobile-lg\:margin-neg-15{margin:-7.5rem}.mobile-lg\:margin-4{margin:2rem}.mobile-lg\:margin-5{margin:2.5rem}.mobile-lg\:margin-6{margin:3rem}.mobile-lg\:margin-7{margin:3.5rem}.mobile-lg\:margin-8{margin:4rem}.mobile-lg\:margin-9{margin:4.5rem}.mobile-lg\:margin-10{margin:5rem}.mobile-lg\:margin-15{margin:7.5rem}.mobile-lg\:margin-05em{margin:.5em}.mobile-lg\:margin-1em{margin:1em}.mobile-lg\:margin-105em{margin:1.5em}.mobile-lg\:margin-2em{margin:2em}.mobile-lg\:margin-0{margin:0}.mobile-lg\:margin-y-1px{margin-top:1px;margin-bottom:1px}.mobile-lg\:margin-top-1px{margin-top:1px}.mobile-lg\:margin-bottom-1px{margin-bottom:1px}.mobile-lg\:margin-y-2px{margin-top:2px;margin-bottom:2px}.mobile-lg\:margin-top-2px{margin-top:2px}.mobile-lg\:margin-bottom-2px{margin-bottom:2px}.mobile-lg\:margin-y-05{margin-top:.25rem;margin-bottom:.25rem}.mobile-lg\:margin-top-05{margin-top:.25rem}.mobile-lg\:margin-bottom-05{margin-bottom:.25rem}.mobile-lg\:margin-y-1{margin-top:.5rem;margin-bottom:.5rem}.mobile-lg\:margin-top-1{margin-top:.5rem}.mobile-lg\:margin-bottom-1{margin-bottom:.5rem}.mobile-lg\:margin-y-105{margin-top:.75rem;margin-bottom:.75rem}.mobile-lg\:margin-top-105{margin-top:.75rem}.mobile-lg\:margin-bottom-105{margin-bottom:.75rem}.mobile-lg\:margin-y-2{margin-top:1rem;margin-bottom:1rem}.mobile-lg\:margin-top-2{margin-top:1rem}.mobile-lg\:margin-bottom-2{margin-bottom:1rem}.mobile-lg\:margin-y-205{margin-top:1.25rem;margin-bottom:1.25rem}.mobile-lg\:margin-top-205{margin-top:1.25rem}.mobile-lg\:margin-bottom-205{margin-bottom:1.25rem}.mobile-lg\:margin-y-3{margin-top:1.5rem;margin-bottom:1.5rem}.mobile-lg\:margin-top-3{margin-top:1.5rem}.mobile-lg\:margin-bottom-3{margin-bottom:1.5rem}.mobile-lg\:margin-y-neg-1px{margin-top:-1px;margin-bottom:-1px}.mobile-lg\:margin-top-neg-1px{margin-top:-1px}.mobile-lg\:margin-bottom-neg-1px{margin-bottom:-1px}.mobile-lg\:margin-y-neg-2px{margin-top:-2px;margin-bottom:-2px}.mobile-lg\:margin-top-neg-2px{margin-top:-2px}.mobile-lg\:margin-bottom-neg-2px{margin-bottom:-2px}.mobile-lg\:margin-y-neg-05{margin-top:-.25rem;margin-bottom:-.25rem}.mobile-lg\:margin-top-neg-05{margin-top:-.25rem}.mobile-lg\:margin-bottom-neg-05{margin-bottom:-.25rem}.mobile-lg\:margin-y-neg-1{margin-top:-.5rem;margin-bottom:-.5rem}.mobile-lg\:margin-top-neg-1{margin-top:-.5rem}.mobile-lg\:margin-bottom-neg-1{margin-bottom:-.5rem}.mobile-lg\:margin-y-neg-105{margin-top:-.75rem;margin-bottom:-.75rem}.mobile-lg\:margin-top-neg-105{margin-top:-.75rem}.mobile-lg\:margin-bottom-neg-105{margin-bottom:-.75rem}.mobile-lg\:margin-y-neg-2{margin-top:-1rem;margin-bottom:-1rem}.mobile-lg\:margin-top-neg-2{margin-top:-1rem}.mobile-lg\:margin-bottom-neg-2{margin-bottom:-1rem}.mobile-lg\:margin-y-neg-205{margin-top:-1.25rem;margin-bottom:-1.25rem}.mobile-lg\:margin-top-neg-205{margin-top:-1.25rem}.mobile-lg\:margin-bottom-neg-205{margin-bottom:-1.25rem}.mobile-lg\:margin-y-neg-3{margin-top:-1.5rem;margin-bottom:-1.5rem}.mobile-lg\:margin-top-neg-3{margin-top:-1.5rem}.mobile-lg\:margin-bottom-neg-3{margin-bottom:-1.5rem}.mobile-lg\:margin-y-neg-4{margin-top:-2rem;margin-bottom:-2rem}.mobile-lg\:margin-top-neg-4{margin-top:-2rem}.mobile-lg\:margin-bottom-neg-4{margin-bottom:-2rem}.mobile-lg\:margin-y-neg-5{margin-top:-2.5rem;margin-bottom:-2.5rem}.mobile-lg\:margin-top-neg-5{margin-top:-2.5rem}.mobile-lg\:margin-bottom-neg-5{margin-bottom:-2.5rem}.mobile-lg\:margin-y-neg-6{margin-top:-3rem;margin-bottom:-3rem}.mobile-lg\:margin-top-neg-6{margin-top:-3rem}.mobile-lg\:margin-bottom-neg-6{margin-bottom:-3rem}.mobile-lg\:margin-y-neg-7{margin-top:-3.5rem;margin-bottom:-3.5rem}.mobile-lg\:margin-top-neg-7{margin-top:-3.5rem}.mobile-lg\:margin-bottom-neg-7{margin-bottom:-3.5rem}.mobile-lg\:margin-y-neg-8{margin-top:-4rem;margin-bottom:-4rem}.mobile-lg\:margin-top-neg-8{margin-top:-4rem}.mobile-lg\:margin-bottom-neg-8{margin-bottom:-4rem}.mobile-lg\:margin-y-neg-9{margin-top:-4.5rem;margin-bottom:-4.5rem}.mobile-lg\:margin-top-neg-9{margin-top:-4.5rem}.mobile-lg\:margin-bottom-neg-9{margin-bottom:-4.5rem}.mobile-lg\:margin-y-neg-10{margin-top:-5rem;margin-bottom:-5rem}.mobile-lg\:margin-top-neg-10{margin-top:-5rem}.mobile-lg\:margin-bottom-neg-10{margin-bottom:-5rem}.mobile-lg\:margin-y-neg-15{margin-top:-7.5rem;margin-bottom:-7.5rem}.mobile-lg\:margin-top-neg-15{margin-top:-7.5rem}.mobile-lg\:margin-bottom-neg-15{margin-bottom:-7.5rem}.mobile-lg\:margin-y-4{margin-top:2rem;margin-bottom:2rem}.mobile-lg\:margin-top-4{margin-top:2rem}.mobile-lg\:margin-bottom-4{margin-bottom:2rem}.mobile-lg\:margin-y-5{margin-top:2.5rem;margin-bottom:2.5rem}.mobile-lg\:margin-top-5{margin-top:2.5rem}.mobile-lg\:margin-bottom-5{margin-bottom:2.5rem}.mobile-lg\:margin-y-6{margin-top:3rem;margin-bottom:3rem}.mobile-lg\:margin-top-6{margin-top:3rem}.mobile-lg\:margin-bottom-6{margin-bottom:3rem}.mobile-lg\:margin-y-7{margin-top:3.5rem;margin-bottom:3.5rem}.mobile-lg\:margin-top-7{margin-top:3.5rem}.mobile-lg\:margin-bottom-7{margin-bottom:3.5rem}.mobile-lg\:margin-y-8{margin-top:4rem;margin-bottom:4rem}.mobile-lg\:margin-top-8{margin-top:4rem}.mobile-lg\:margin-bottom-8{margin-bottom:4rem}.mobile-lg\:margin-y-9{margin-top:4.5rem;margin-bottom:4.5rem}.mobile-lg\:margin-top-9{margin-top:4.5rem}.mobile-lg\:margin-bottom-9{margin-bottom:4.5rem}.mobile-lg\:margin-y-10{margin-top:5rem;margin-bottom:5rem}.mobile-lg\:margin-top-10{margin-top:5rem}.mobile-lg\:margin-bottom-10{margin-bottom:5rem}.mobile-lg\:margin-y-15{margin-top:7.5rem;margin-bottom:7.5rem}.mobile-lg\:margin-top-15{margin-top:7.5rem}.mobile-lg\:margin-bottom-15{margin-bottom:7.5rem}.mobile-lg\:margin-y-05em{margin-top:.5em;margin-bottom:.5em}.mobile-lg\:margin-top-05em{margin-top:.5em}.mobile-lg\:margin-bottom-05em{margin-bottom:.5em}.mobile-lg\:margin-y-1em{margin-top:1em;margin-bottom:1em}.mobile-lg\:margin-top-1em{margin-top:1em}.mobile-lg\:margin-bottom-1em{margin-bottom:1em}.mobile-lg\:margin-y-105em{margin-top:1.5em;margin-bottom:1.5em}.mobile-lg\:margin-top-105em{margin-top:1.5em}.mobile-lg\:margin-bottom-105em{margin-bottom:1.5em}.mobile-lg\:margin-y-2em{margin-top:2em;margin-bottom:2em}.mobile-lg\:margin-top-2em{margin-top:2em}.mobile-lg\:margin-bottom-2em{margin-bottom:2em}.mobile-lg\:margin-y-0{margin-top:0;margin-bottom:0}.mobile-lg\:margin-top-0{margin-top:0}.mobile-lg\:margin-bottom-0{margin-bottom:0}.mobile-lg\:margin-y-auto{margin-top:auto;margin-bottom:auto}.mobile-lg\:margin-top-auto{margin-top:auto}.mobile-lg\:margin-bottom-auto{margin-bottom:auto}.mobile-lg\:margin-x-1px{margin-left:1px;margin-right:1px}.mobile-lg\:margin-right-1px{margin-right:1px}.mobile-lg\:margin-left-1px{margin-left:1px}.mobile-lg\:margin-x-2px{margin-left:2px;margin-right:2px}.mobile-lg\:margin-right-2px{margin-right:2px}.mobile-lg\:margin-left-2px{margin-left:2px}.mobile-lg\:margin-x-05{margin-left:.25rem;margin-right:.25rem}.mobile-lg\:margin-right-05{margin-right:.25rem}.mobile-lg\:margin-left-05{margin-left:.25rem}.mobile-lg\:margin-x-1{margin-left:.5rem;margin-right:.5rem}.mobile-lg\:margin-right-1{margin-right:.5rem}.mobile-lg\:margin-left-1{margin-left:.5rem}.mobile-lg\:margin-x-105{margin-left:.75rem;margin-right:.75rem}.mobile-lg\:margin-right-105{margin-right:.75rem}.mobile-lg\:margin-left-105{margin-left:.75rem}.mobile-lg\:margin-x-2{margin-left:1rem;margin-right:1rem}.mobile-lg\:margin-right-2{margin-right:1rem}.mobile-lg\:margin-left-2{margin-left:1rem}.mobile-lg\:margin-x-205{margin-left:1.25rem;margin-right:1.25rem}.mobile-lg\:margin-right-205{margin-right:1.25rem}.mobile-lg\:margin-left-205{margin-left:1.25rem}.mobile-lg\:margin-x-3{margin-left:1.5rem;margin-right:1.5rem}.mobile-lg\:margin-right-3{margin-right:1.5rem}.mobile-lg\:margin-left-3{margin-left:1.5rem}.mobile-lg\:margin-x-neg-1px{margin-left:-1px;margin-right:-1px}.mobile-lg\:margin-right-neg-1px{margin-right:-1px}.mobile-lg\:margin-left-neg-1px{margin-left:-1px}.mobile-lg\:margin-x-neg-2px{margin-left:-2px;margin-right:-2px}.mobile-lg\:margin-right-neg-2px{margin-right:-2px}.mobile-lg\:margin-left-neg-2px{margin-left:-2px}.mobile-lg\:margin-x-neg-05{margin-left:-.25rem;margin-right:-.25rem}.mobile-lg\:margin-right-neg-05{margin-right:-.25rem}.mobile-lg\:margin-left-neg-05{margin-left:-.25rem}.mobile-lg\:margin-x-neg-1{margin-left:-.5rem;margin-right:-.5rem}.mobile-lg\:margin-right-neg-1{margin-right:-.5rem}.mobile-lg\:margin-left-neg-1{margin-left:-.5rem}.mobile-lg\:margin-x-neg-105{margin-left:-.75rem;margin-right:-.75rem}.mobile-lg\:margin-right-neg-105{margin-right:-.75rem}.mobile-lg\:margin-left-neg-105{margin-left:-.75rem}.mobile-lg\:margin-x-neg-2{margin-left:-1rem;margin-right:-1rem}.mobile-lg\:margin-right-neg-2{margin-right:-1rem}.mobile-lg\:margin-left-neg-2{margin-left:-1rem}.mobile-lg\:margin-x-neg-205{margin-left:-1.25rem;margin-right:-1.25rem}.mobile-lg\:margin-right-neg-205{margin-right:-1.25rem}.mobile-lg\:margin-left-neg-205{margin-left:-1.25rem}.mobile-lg\:margin-x-neg-3{margin-left:-1.5rem;margin-right:-1.5rem}.mobile-lg\:margin-right-neg-3{margin-right:-1.5rem}.mobile-lg\:margin-left-neg-3{margin-left:-1.5rem}.mobile-lg\:margin-x-neg-4{margin-left:-2rem;margin-right:-2rem}.mobile-lg\:margin-right-neg-4{margin-right:-2rem}.mobile-lg\:margin-left-neg-4{margin-left:-2rem}.mobile-lg\:margin-x-neg-5{margin-left:-2.5rem;margin-right:-2.5rem}.mobile-lg\:margin-right-neg-5{margin-right:-2.5rem}.mobile-lg\:margin-left-neg-5{margin-left:-2.5rem}.mobile-lg\:margin-x-neg-6{margin-left:-3rem;margin-right:-3rem}.mobile-lg\:margin-right-neg-6{margin-right:-3rem}.mobile-lg\:margin-left-neg-6{margin-left:-3rem}.mobile-lg\:margin-x-neg-7{margin-left:-3.5rem;margin-right:-3.5rem}.mobile-lg\:margin-right-neg-7{margin-right:-3.5rem}.mobile-lg\:margin-left-neg-7{margin-left:-3.5rem}.mobile-lg\:margin-x-neg-8{margin-left:-4rem;margin-right:-4rem}.mobile-lg\:margin-right-neg-8{margin-right:-4rem}.mobile-lg\:margin-left-neg-8{margin-left:-4rem}.mobile-lg\:margin-x-neg-9{margin-left:-4.5rem;margin-right:-4.5rem}.mobile-lg\:margin-right-neg-9{margin-right:-4.5rem}.mobile-lg\:margin-left-neg-9{margin-left:-4.5rem}.mobile-lg\:margin-x-neg-10{margin-left:-5rem;margin-right:-5rem}.mobile-lg\:margin-right-neg-10{margin-right:-5rem}.mobile-lg\:margin-left-neg-10{margin-left:-5rem}.mobile-lg\:margin-x-neg-15{margin-left:-7.5rem;margin-right:-7.5rem}.mobile-lg\:margin-right-neg-15{margin-right:-7.5rem}.mobile-lg\:margin-left-neg-15{margin-left:-7.5rem}.mobile-lg\:margin-x-4{margin-left:2rem;margin-right:2rem}.mobile-lg\:margin-right-4{margin-right:2rem}.mobile-lg\:margin-left-4{margin-left:2rem}.mobile-lg\:margin-x-5{margin-left:2.5rem;margin-right:2.5rem}.mobile-lg\:margin-right-5{margin-right:2.5rem}.mobile-lg\:margin-left-5{margin-left:2.5rem}.mobile-lg\:margin-x-6{margin-left:3rem;margin-right:3rem}.mobile-lg\:margin-right-6{margin-right:3rem}.mobile-lg\:margin-left-6{margin-left:3rem}.mobile-lg\:margin-x-7{margin-left:3.5rem;margin-right:3.5rem}.mobile-lg\:margin-right-7{margin-right:3.5rem}.mobile-lg\:margin-left-7{margin-left:3.5rem}.mobile-lg\:margin-x-8{margin-left:4rem;margin-right:4rem}.mobile-lg\:margin-right-8{margin-right:4rem}.mobile-lg\:margin-left-8{margin-left:4rem}.mobile-lg\:margin-x-9{margin-left:4.5rem;margin-right:4.5rem}.mobile-lg\:margin-right-9{margin-right:4.5rem}.mobile-lg\:margin-left-9{margin-left:4.5rem}.mobile-lg\:margin-x-10{margin-left:5rem;margin-right:5rem}.mobile-lg\:margin-right-10{margin-right:5rem}.mobile-lg\:margin-left-10{margin-left:5rem}.mobile-lg\:margin-x-15{margin-left:7.5rem;margin-right:7.5rem}.mobile-lg\:margin-right-15{margin-right:7.5rem}.mobile-lg\:margin-left-15{margin-left:7.5rem}.mobile-lg\:margin-x-card{margin-left:10rem;margin-right:10rem}.mobile-lg\:margin-right-card{margin-right:10rem}.mobile-lg\:margin-left-card{margin-left:10rem}.mobile-lg\:margin-x-card-lg{margin-left:15rem;margin-right:15rem}.mobile-lg\:margin-right-card-lg{margin-right:15rem}.mobile-lg\:margin-left-card-lg{margin-left:15rem}.mobile-lg\:margin-x-mobile{margin-left:20rem;margin-right:20rem}.mobile-lg\:margin-right-mobile{margin-right:20rem}.mobile-lg\:margin-left-mobile{margin-left:20rem}.mobile-lg\:margin-x-05em{margin-left:.5em;margin-right:.5em}.mobile-lg\:margin-right-05em{margin-right:.5em}.mobile-lg\:margin-left-05em{margin-left:.5em}.mobile-lg\:margin-x-1em{margin-left:1em;margin-right:1em}.mobile-lg\:margin-right-1em{margin-right:1em}.mobile-lg\:margin-left-1em{margin-left:1em}.mobile-lg\:margin-x-105em{margin-left:1.5em;margin-right:1.5em}.mobile-lg\:margin-right-105em{margin-right:1.5em}.mobile-lg\:margin-left-105em{margin-left:1.5em}.mobile-lg\:margin-x-2em{margin-left:2em;margin-right:2em}.mobile-lg\:margin-right-2em{margin-right:2em}.mobile-lg\:margin-left-2em{margin-left:2em}.mobile-lg\:margin-x-0{margin-left:0;margin-right:0}.mobile-lg\:margin-right-0{margin-right:0}.mobile-lg\:margin-left-0{margin-left:0}.mobile-lg\:margin-x-auto{margin-left:auto;margin-right:auto}.mobile-lg\:margin-right-auto{margin-right:auto}.mobile-lg\:margin-left-auto{margin-left:auto}.mobile-lg\:measure-1{max-width:44ex}.mobile-lg\:measure-2{max-width:60ex}.mobile-lg\:measure-3{max-width:64ex}.mobile-lg\:measure-4{max-width:68ex}.mobile-lg\:measure-5{max-width:72ex}.mobile-lg\:measure-6{max-width:88ex}.mobile-lg\:measure-none{max-width:none}.mobile-lg\:order-first{order:-1}.mobile-lg\:order-last{order:999}.mobile-lg\:order-initial{order:initial}.mobile-lg\:order-0{order:0}.mobile-lg\:order-1{order:1}.mobile-lg\:order-2{order:2}.mobile-lg\:order-3{order:3}.mobile-lg\:order-4{order:4}.mobile-lg\:order-5{order:5}.mobile-lg\:order-6{order:6}.mobile-lg\:order-7{order:7}.mobile-lg\:order-8{order:8}.mobile-lg\:order-9{order:9}.mobile-lg\:order-10{order:10}.mobile-lg\:order-11{order:11}.mobile-lg\:padding-1px{padding:1px}.mobile-lg\:padding-y-1px{padding-top:1px;padding-bottom:1px}.mobile-lg\:padding-x-1px{padding-left:1px;padding-right:1px}.mobile-lg\:padding-top-1px{padding-top:1px}.mobile-lg\:padding-right-1px{padding-right:1px}.mobile-lg\:padding-bottom-1px{padding-bottom:1px}.mobile-lg\:padding-left-1px{padding-left:1px}.mobile-lg\:padding-2px{padding:2px}.mobile-lg\:padding-y-2px{padding-top:2px;padding-bottom:2px}.mobile-lg\:padding-x-2px{padding-left:2px;padding-right:2px}.mobile-lg\:padding-top-2px{padding-top:2px}.mobile-lg\:padding-right-2px{padding-right:2px}.mobile-lg\:padding-bottom-2px{padding-bottom:2px}.mobile-lg\:padding-left-2px{padding-left:2px}.mobile-lg\:padding-05{padding:.25rem}.mobile-lg\:padding-y-05{padding-top:.25rem;padding-bottom:.25rem}.mobile-lg\:padding-x-05{padding-left:.25rem;padding-right:.25rem}.mobile-lg\:padding-top-05{padding-top:.25rem}.mobile-lg\:padding-right-05{padding-right:.25rem}.mobile-lg\:padding-bottom-05{padding-bottom:.25rem}.mobile-lg\:padding-left-05{padding-left:.25rem}.mobile-lg\:padding-1{padding:.5rem}.mobile-lg\:padding-y-1{padding-top:.5rem;padding-bottom:.5rem}.mobile-lg\:padding-x-1{padding-left:.5rem;padding-right:.5rem}.mobile-lg\:padding-top-1{padding-top:.5rem}.mobile-lg\:padding-right-1{padding-right:.5rem}.mobile-lg\:padding-bottom-1{padding-bottom:.5rem}.mobile-lg\:padding-left-1{padding-left:.5rem}.mobile-lg\:padding-105{padding:.75rem}.mobile-lg\:padding-y-105{padding-top:.75rem;padding-bottom:.75rem}.mobile-lg\:padding-x-105{padding-left:.75rem;padding-right:.75rem}.mobile-lg\:padding-top-105{padding-top:.75rem}.mobile-lg\:padding-right-105{padding-right:.75rem}.mobile-lg\:padding-bottom-105{padding-bottom:.75rem}.mobile-lg\:padding-left-105{padding-left:.75rem}.mobile-lg\:padding-2{padding:1rem}.mobile-lg\:padding-y-2{padding-top:1rem;padding-bottom:1rem}.mobile-lg\:padding-x-2{padding-left:1rem;padding-right:1rem}.mobile-lg\:padding-top-2{padding-top:1rem}.mobile-lg\:padding-right-2{padding-right:1rem}.mobile-lg\:padding-bottom-2{padding-bottom:1rem}.mobile-lg\:padding-left-2{padding-left:1rem}.mobile-lg\:padding-205{padding:1.25rem}.mobile-lg\:padding-y-205{padding-top:1.25rem;padding-bottom:1.25rem}.mobile-lg\:padding-x-205{padding-left:1.25rem;padding-right:1.25rem}.mobile-lg\:padding-top-205{padding-top:1.25rem}.mobile-lg\:padding-right-205{padding-right:1.25rem}.mobile-lg\:padding-bottom-205{padding-bottom:1.25rem}.mobile-lg\:padding-left-205{padding-left:1.25rem}.mobile-lg\:padding-3{padding:1.5rem}.mobile-lg\:padding-y-3{padding-top:1.5rem;padding-bottom:1.5rem}.mobile-lg\:padding-x-3{padding-left:1.5rem;padding-right:1.5rem}.mobile-lg\:padding-top-3{padding-top:1.5rem}.mobile-lg\:padding-right-3{padding-right:1.5rem}.mobile-lg\:padding-bottom-3{padding-bottom:1.5rem}.mobile-lg\:padding-left-3{padding-left:1.5rem}.mobile-lg\:padding-4{padding:2rem}.mobile-lg\:padding-y-4{padding-top:2rem;padding-bottom:2rem}.mobile-lg\:padding-x-4{padding-left:2rem;padding-right:2rem}.mobile-lg\:padding-top-4{padding-top:2rem}.mobile-lg\:padding-right-4{padding-right:2rem}.mobile-lg\:padding-bottom-4{padding-bottom:2rem}.mobile-lg\:padding-left-4{padding-left:2rem}.mobile-lg\:padding-5{padding:2.5rem}.mobile-lg\:padding-y-5{padding-top:2.5rem;padding-bottom:2.5rem}.mobile-lg\:padding-x-5{padding-left:2.5rem;padding-right:2.5rem}.mobile-lg\:padding-top-5{padding-top:2.5rem}.mobile-lg\:padding-right-5{padding-right:2.5rem}.mobile-lg\:padding-bottom-5{padding-bottom:2.5rem}.mobile-lg\:padding-left-5{padding-left:2.5rem}.mobile-lg\:padding-6{padding:3rem}.mobile-lg\:padding-y-6{padding-top:3rem;padding-bottom:3rem}.mobile-lg\:padding-x-6{padding-left:3rem;padding-right:3rem}.mobile-lg\:padding-top-6{padding-top:3rem}.mobile-lg\:padding-right-6{padding-right:3rem}.mobile-lg\:padding-bottom-6{padding-bottom:3rem}.mobile-lg\:padding-left-6{padding-left:3rem}.mobile-lg\:padding-7{padding:3.5rem}.mobile-lg\:padding-y-7{padding-top:3.5rem;padding-bottom:3.5rem}.mobile-lg\:padding-x-7{padding-left:3.5rem;padding-right:3.5rem}.mobile-lg\:padding-top-7{padding-top:3.5rem}.mobile-lg\:padding-right-7{padding-right:3.5rem}.mobile-lg\:padding-bottom-7{padding-bottom:3.5rem}.mobile-lg\:padding-left-7{padding-left:3.5rem}.mobile-lg\:padding-8{padding:4rem}.mobile-lg\:padding-y-8{padding-top:4rem;padding-bottom:4rem}.mobile-lg\:padding-x-8{padding-left:4rem;padding-right:4rem}.mobile-lg\:padding-top-8{padding-top:4rem}.mobile-lg\:padding-right-8{padding-right:4rem}.mobile-lg\:padding-bottom-8{padding-bottom:4rem}.mobile-lg\:padding-left-8{padding-left:4rem}.mobile-lg\:padding-9{padding:4.5rem}.mobile-lg\:padding-y-9{padding-top:4.5rem;padding-bottom:4.5rem}.mobile-lg\:padding-x-9{padding-left:4.5rem;padding-right:4.5rem}.mobile-lg\:padding-top-9{padding-top:4.5rem}.mobile-lg\:padding-right-9{padding-right:4.5rem}.mobile-lg\:padding-bottom-9{padding-bottom:4.5rem}.mobile-lg\:padding-left-9{padding-left:4.5rem}.mobile-lg\:padding-10{padding:5rem}.mobile-lg\:padding-y-10{padding-top:5rem;padding-bottom:5rem}.mobile-lg\:padding-x-10{padding-left:5rem;padding-right:5rem}.mobile-lg\:padding-top-10{padding-top:5rem}.mobile-lg\:padding-right-10{padding-right:5rem}.mobile-lg\:padding-bottom-10{padding-bottom:5rem}.mobile-lg\:padding-left-10{padding-left:5rem}.mobile-lg\:padding-15{padding:7.5rem}.mobile-lg\:padding-y-15{padding-top:7.5rem;padding-bottom:7.5rem}.mobile-lg\:padding-x-15{padding-left:7.5rem;padding-right:7.5rem}.mobile-lg\:padding-top-15{padding-top:7.5rem}.mobile-lg\:padding-right-15{padding-right:7.5rem}.mobile-lg\:padding-bottom-15{padding-bottom:7.5rem}.mobile-lg\:padding-left-15{padding-left:7.5rem}.mobile-lg\:padding-0{padding:0}.mobile-lg\:padding-y-0{padding-top:0;padding-bottom:0}.mobile-lg\:padding-x-0{padding-left:0;padding-right:0}.mobile-lg\:padding-top-0{padding-top:0}.mobile-lg\:padding-right-0{padding-right:0}.mobile-lg\:padding-bottom-0{padding-bottom:0}.mobile-lg\:padding-left-0{padding-left:0}.mobile-lg\:width-1px{width:1px}.mobile-lg\:width-2px{width:2px}.mobile-lg\:width-05{width:.25rem}.mobile-lg\:width-1{width:.5rem}.mobile-lg\:width-105{width:.75rem}.mobile-lg\:width-2{width:1rem}.mobile-lg\:width-205{width:1.25rem}.mobile-lg\:width-3{width:1.5rem}.mobile-lg\:width-4{width:2rem}.mobile-lg\:width-5{width:2.5rem}.mobile-lg\:width-6{width:3rem}.mobile-lg\:width-7{width:3.5rem}.mobile-lg\:width-8{width:4rem}.mobile-lg\:width-9{width:4.5rem}.mobile-lg\:width-10{width:5rem}.mobile-lg\:width-15{width:7.5rem}.mobile-lg\:width-card{width:10rem}.mobile-lg\:width-card-lg{width:15rem}.mobile-lg\:width-mobile{width:20rem}.mobile-lg\:width-mobile-lg{width:30rem}.mobile-lg\:width-tablet{width:40rem}.mobile-lg\:width-tablet-lg{width:55rem}.mobile-lg\:width-desktop{width:64rem}.mobile-lg\:width-desktop-lg{width:75rem}.mobile-lg\:width-widescreen{width:87.5rem}.mobile-lg\:width-0{width:0}.mobile-lg\:width-full{width:100%}.mobile-lg\:width-auto{width:auto}}@media all and (min-width:40em){.tablet\:border-1px,.tablet\:hover\:border-1px:hover{border:1px solid}.tablet\:border-y-1px,.tablet\:hover\:border-y-1px:hover{border-top:1px solid;border-bottom:1px solid}.tablet\:border-x-1px,.tablet\:hover\:border-x-1px:hover{border-left:1px solid;border-right:1px solid}.tablet\:border-top-1px,.tablet\:hover\:border-top-1px:hover{border-top:1px solid}.tablet\:border-right-1px,.tablet\:hover\:border-right-1px:hover{border-right:1px solid}.tablet\:border-bottom-1px,.tablet\:hover\:border-bottom-1px:hover{border-bottom:1px solid}.tablet\:border-left-1px,.tablet\:hover\:border-left-1px:hover{border-left:1px solid}.tablet\:border-2px,.tablet\:hover\:border-2px:hover{border:2px solid}.tablet\:border-y-2px,.tablet\:hover\:border-y-2px:hover{border-top:2px solid;border-bottom:2px solid}.tablet\:border-x-2px,.tablet\:hover\:border-x-2px:hover{border-left:2px solid;border-right:2px solid}.tablet\:border-top-2px,.tablet\:hover\:border-top-2px:hover{border-top:2px solid}.tablet\:border-right-2px,.tablet\:hover\:border-right-2px:hover{border-right:2px solid}.tablet\:border-bottom-2px,.tablet\:hover\:border-bottom-2px:hover{border-bottom:2px solid}.tablet\:border-left-2px,.tablet\:hover\:border-left-2px:hover{border-left:2px solid}.tablet\:border-05,.tablet\:hover\:border-05:hover{border:.25rem solid}.tablet\:border-y-05,.tablet\:hover\:border-y-05:hover{border-top:.25rem solid;border-bottom:.25rem solid}.tablet\:border-x-05,.tablet\:hover\:border-x-05:hover{border-left:.25rem solid;border-right:.25rem solid}.tablet\:border-top-05,.tablet\:hover\:border-top-05:hover{border-top:.25rem solid}.tablet\:border-right-05,.tablet\:hover\:border-right-05:hover{border-right:.25rem solid}.tablet\:border-bottom-05,.tablet\:hover\:border-bottom-05:hover{border-bottom:.25rem solid}.tablet\:border-left-05,.tablet\:hover\:border-left-05:hover{border-left:.25rem solid}.tablet\:border-1,.tablet\:hover\:border-1:hover{border:.5rem solid}.tablet\:border-y-1,.tablet\:hover\:border-y-1:hover{border-top:.5rem solid;border-bottom:.5rem solid}.tablet\:border-x-1,.tablet\:hover\:border-x-1:hover{border-left:.5rem solid;border-right:.5rem solid}.tablet\:border-top-1,.tablet\:hover\:border-top-1:hover{border-top:.5rem solid}.tablet\:border-right-1,.tablet\:hover\:border-right-1:hover{border-right:.5rem solid}.tablet\:border-bottom-1,.tablet\:hover\:border-bottom-1:hover{border-bottom:.5rem solid}.tablet\:border-left-1,.tablet\:hover\:border-left-1:hover{border-left:.5rem solid}.tablet\:border-105,.tablet\:hover\:border-105:hover{border:.75rem solid}.tablet\:border-y-105,.tablet\:hover\:border-y-105:hover{border-top:.75rem solid;border-bottom:.75rem solid}.tablet\:border-x-105,.tablet\:hover\:border-x-105:hover{border-left:.75rem solid;border-right:.75rem solid}.tablet\:border-top-105,.tablet\:hover\:border-top-105:hover{border-top:.75rem solid}.tablet\:border-right-105,.tablet\:hover\:border-right-105:hover{border-right:.75rem solid}.tablet\:border-bottom-105,.tablet\:hover\:border-bottom-105:hover{border-bottom:.75rem solid}.tablet\:border-left-105,.tablet\:hover\:border-left-105:hover{border-left:.75rem solid}.tablet\:border-2,.tablet\:hover\:border-2:hover{border:1rem solid}.tablet\:border-y-2,.tablet\:hover\:border-y-2:hover{border-top:1rem solid;border-bottom:1rem solid}.tablet\:border-x-2,.tablet\:hover\:border-x-2:hover{border-left:1rem solid;border-right:1rem solid}.tablet\:border-top-2,.tablet\:hover\:border-top-2:hover{border-top:1rem solid}.tablet\:border-right-2,.tablet\:hover\:border-right-2:hover{border-right:1rem solid}.tablet\:border-bottom-2,.tablet\:hover\:border-bottom-2:hover{border-bottom:1rem solid}.tablet\:border-left-2,.tablet\:hover\:border-left-2:hover{border-left:1rem solid}.tablet\:border-205,.tablet\:hover\:border-205:hover{border:1.25rem solid}.tablet\:border-y-205,.tablet\:hover\:border-y-205:hover{border-top:1.25rem solid;border-bottom:1.25rem solid}.tablet\:border-x-205,.tablet\:hover\:border-x-205:hover{border-left:1.25rem solid;border-right:1.25rem solid}.tablet\:border-top-205,.tablet\:hover\:border-top-205:hover{border-top:1.25rem solid}.tablet\:border-right-205,.tablet\:hover\:border-right-205:hover{border-right:1.25rem solid}.tablet\:border-bottom-205,.tablet\:hover\:border-bottom-205:hover{border-bottom:1.25rem solid}.tablet\:border-left-205,.tablet\:hover\:border-left-205:hover{border-left:1.25rem solid}.tablet\:border-3,.tablet\:hover\:border-3:hover{border:1.5rem solid}.tablet\:border-y-3,.tablet\:hover\:border-y-3:hover{border-top:1.5rem solid;border-bottom:1.5rem solid}.tablet\:border-x-3,.tablet\:hover\:border-x-3:hover{border-left:1.5rem solid;border-right:1.5rem solid}.tablet\:border-top-3,.tablet\:hover\:border-top-3:hover{border-top:1.5rem solid}.tablet\:border-right-3,.tablet\:hover\:border-right-3:hover{border-right:1.5rem solid}.tablet\:border-bottom-3,.tablet\:hover\:border-bottom-3:hover{border-bottom:1.5rem solid}.tablet\:border-left-3,.tablet\:hover\:border-left-3:hover{border-left:1.5rem solid}.tablet\:border-0,.tablet\:hover\:border-0:hover{border:0 solid}.tablet\:border-y-0,.tablet\:hover\:border-y-0:hover{border-top:0 solid;border-bottom:0 solid}.tablet\:border-x-0,.tablet\:hover\:border-x-0:hover{border-left:0 solid;border-right:0 solid}.tablet\:border-top-0,.tablet\:hover\:border-top-0:hover{border-top:0 solid}.tablet\:border-right-0,.tablet\:hover\:border-right-0:hover{border-right:0 solid}.tablet\:border-bottom-0,.tablet\:hover\:border-bottom-0:hover{border-bottom:0 solid}.tablet\:border-left-0,.tablet\:hover\:border-left-0:hover{border-left:0 solid}.tablet\:border,.tablet\:hover\:border:hover{border:1px solid}.tablet\:border-y,.tablet\:hover\:border-y:hover{border-top:1px solid;border-bottom:1px solid}.tablet\:border-x,.tablet\:hover\:border-x:hover{border-left:1px solid;border-right:1px solid}.tablet\:border-top,.tablet\:hover\:border-top:hover{border-top:1px solid}.tablet\:border-right,.tablet\:hover\:border-right:hover{border-right:1px solid}.tablet\:border-bottom,.tablet\:hover\:border-bottom:hover{border-bottom:1px solid}.tablet\:border-left,.tablet\:hover\:border-left:hover{border-left:1px solid}.tablet\:border-transparent,.tablet\:hover\:border-transparent:hover{border-color:transparent}.tablet\:border-black,.tablet\:hover\:border-black:hover{border-color:#000}.tablet\:border-white,.tablet\:hover\:border-white:hover{border-color:#fff}.tablet\:border-red,.tablet\:hover\:border-red:hover{border-color:#e52207}.tablet\:border-orange,.tablet\:hover\:border-orange:hover{border-color:#e66f0e}.tablet\:border-gold,.tablet\:hover\:border-gold:hover{border-color:#ffbe2e}.tablet\:border-yellow,.tablet\:hover\:border-yellow:hover{border-color:#fee685}.tablet\:border-green,.tablet\:hover\:border-green:hover{border-color:#538200}.tablet\:border-mint,.tablet\:hover\:border-mint:hover{border-color:#04c585}.tablet\:border-cyan,.tablet\:hover\:border-cyan:hover{border-color:#009ec1}.tablet\:border-blue,.tablet\:hover\:border-blue:hover{border-color:#0076d6}.tablet\:border-indigo,.tablet\:hover\:border-indigo:hover{border-color:#676cc8}.tablet\:border-violet,.tablet\:hover\:border-violet:hover{border-color:#8168b3}.tablet\:border-magenta,.tablet\:hover\:border-magenta:hover{border-color:#d72d79}.tablet\:border-gray-5,.tablet\:hover\:border-gray-5:hover{border-color:#f0f0f0}.tablet\:border-gray-10,.tablet\:hover\:border-gray-10:hover{border-color:#e6e6e6}.tablet\:border-gray-30,.tablet\:hover\:border-gray-30:hover{border-color:#adadad}.tablet\:border-gray-50,.tablet\:hover\:border-gray-50:hover{border-color:#757575}.tablet\:border-gray-70,.tablet\:hover\:border-gray-70:hover{border-color:#454545}.tablet\:border-gray-90,.tablet\:hover\:border-gray-90:hover{border-color:#1b1b1b}.tablet\:border-base-lightest,.tablet\:hover\:border-base-lightest:hover{border-color:#f0f0f0}.tablet\:border-base-lighter,.tablet\:hover\:border-base-lighter:hover{border-color:#dfe1e2}.tablet\:border-base-light,.tablet\:hover\:border-base-light:hover{border-color:#a9aeb1}.tablet\:border-base,.tablet\:hover\:border-base:hover{border-color:#71767a}.tablet\:border-base-dark,.tablet\:hover\:border-base-dark:hover{border-color:#565c65}.tablet\:border-base-darker,.tablet\:hover\:border-base-darker:hover{border-color:#3d4551}.tablet\:border-base-darkest,.tablet\:border-ink,.tablet\:hover\:border-base-darkest:hover,.tablet\:hover\:border-ink:hover{border-color:#1b1b1b}.tablet\:border-primary-lighter,.tablet\:hover\:border-primary-lighter:hover{border-color:#d9e8f6}.tablet\:border-primary-light,.tablet\:hover\:border-primary-light:hover{border-color:#73b3e7}.tablet\:border-primary,.tablet\:hover\:border-primary:hover{border-color:#005ea2}.tablet\:border-primary-vivid,.tablet\:hover\:border-primary-vivid:hover{border-color:#0050d8}.tablet\:border-primary-dark,.tablet\:hover\:border-primary-dark:hover{border-color:#1a4480}.tablet\:border-primary-darker,.tablet\:hover\:border-primary-darker:hover{border-color:#162e51}.tablet\:border-secondary-lighter,.tablet\:hover\:border-secondary-lighter:hover{border-color:#f3e1e4}.tablet\:border-secondary-light,.tablet\:hover\:border-secondary-light:hover{border-color:#f2938c}.tablet\:border-secondary,.tablet\:hover\:border-secondary:hover{border-color:#d83933}.tablet\:border-secondary-vivid,.tablet\:hover\:border-secondary-vivid:hover{border-color:#e41d3d}.tablet\:border-secondary-dark,.tablet\:hover\:border-secondary-dark:hover{border-color:#b50909}.tablet\:border-secondary-darker,.tablet\:hover\:border-secondary-darker:hover{border-color:#8b0a03}.tablet\:border-accent-warm-darker,.tablet\:hover\:border-accent-warm-darker:hover{border-color:#775540}.tablet\:border-accent-warm-dark,.tablet\:hover\:border-accent-warm-dark:hover{border-color:#c05600}.tablet\:border-accent-warm,.tablet\:hover\:border-accent-warm:hover{border-color:#fa9441}.tablet\:border-accent-warm-light,.tablet\:hover\:border-accent-warm-light:hover{border-color:#ffbc78}.tablet\:border-accent-warm-lighter,.tablet\:hover\:border-accent-warm-lighter:hover{border-color:#f2e4d4}.tablet\:border-accent-cool-darker,.tablet\:hover\:border-accent-cool-darker:hover{border-color:#07648d}.tablet\:border-accent-cool-dark,.tablet\:hover\:border-accent-cool-dark:hover{border-color:#28a0cb}.tablet\:border-accent-cool,.tablet\:hover\:border-accent-cool:hover{border-color:#00bde3}.tablet\:border-accent-cool-light,.tablet\:hover\:border-accent-cool-light:hover{border-color:#97d4ea}.tablet\:border-accent-cool-lighter,.tablet\:hover\:border-accent-cool-lighter:hover{border-color:#e1f3f8}.tablet\:border-error-lighter,.tablet\:hover\:border-error-lighter:hover{border-color:#f4e3db}.tablet\:border-error-light,.tablet\:hover\:border-error-light:hover{border-color:#f39268}.tablet\:border-error,.tablet\:hover\:border-error:hover{border-color:#d54309}.tablet\:border-error-dark,.tablet\:hover\:border-error-dark:hover{border-color:#b50909}.tablet\:border-error-darker,.tablet\:hover\:border-error-darker:hover{border-color:#6f3331}.tablet\:border-warning-lighter,.tablet\:hover\:border-warning-lighter:hover{border-color:#faf3d1}.tablet\:border-warning-light,.tablet\:hover\:border-warning-light:hover{border-color:#fee685}.tablet\:border-warning,.tablet\:hover\:border-warning:hover{border-color:#ffbe2e}.tablet\:border-warning-dark,.tablet\:hover\:border-warning-dark:hover{border-color:#e5a000}.tablet\:border-warning-darker,.tablet\:hover\:border-warning-darker:hover{border-color:#936f38}.tablet\:border-success-lighter,.tablet\:hover\:border-success-lighter:hover{border-color:#ecf3ec}.tablet\:border-success-light,.tablet\:hover\:border-success-light:hover{border-color:#70e17b}.tablet\:border-success,.tablet\:hover\:border-success:hover{border-color:#00a91c}.tablet\:border-success-dark,.tablet\:hover\:border-success-dark:hover{border-color:#008817}.tablet\:border-success-darker,.tablet\:hover\:border-success-darker:hover{border-color:#216e1f}.tablet\:border-info-lighter,.tablet\:hover\:border-info-lighter:hover{border-color:#e7f6f8}.tablet\:border-info-light,.tablet\:hover\:border-info-light:hover{border-color:#99deea}.tablet\:border-info,.tablet\:hover\:border-info:hover{border-color:#00bde3}.tablet\:border-info-dark,.tablet\:hover\:border-info-dark:hover{border-color:#009ec1}.tablet\:border-info-darker,.tablet\:hover\:border-info-darker:hover{border-color:#2e6276}.tablet\:border-disabled-lighter,.tablet\:hover\:border-disabled-lighter:hover{border-color:#c9c9c9}.tablet\:border-disabled-light,.tablet\:hover\:border-disabled-light:hover{border-color:#919191}.tablet\:border-disabled,.tablet\:hover\:border-disabled:hover{border-color:#757575}.tablet\:border-disabled-dark,.tablet\:hover\:border-disabled-dark:hover{border-color:#454545}.tablet\:border-disabled-darker,.tablet\:hover\:border-disabled-darker:hover{border-color:#1b1b1b}.tablet\:border-emergency,.tablet\:hover\:border-emergency:hover{border-color:#9c3d10}.tablet\:border-emergency-dark,.tablet\:hover\:border-emergency-dark:hover{border-color:#332d29}.tablet\:radius-0{border-radius:0}.tablet\:radius-top-0{border-top-left-radius:0;border-top-right-radius:0}.tablet\:radius-right-0{border-top-right-radius:0;border-bottom-right-radius:0}.tablet\:radius-bottom-0{border-bottom-left-radius:0;border-bottom-right-radius:0}.tablet\:radius-left-0{border-top-left-radius:0;border-bottom-left-radius:0}.tablet\:radius-sm{border-radius:2px}.tablet\:radius-top-sm{border-top-left-radius:2px;border-top-right-radius:2px}.tablet\:radius-right-sm{border-top-right-radius:2px;border-bottom-right-radius:2px}.tablet\:radius-bottom-sm{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.tablet\:radius-left-sm{border-top-left-radius:2px;border-bottom-left-radius:2px}.tablet\:radius-md{border-radius:.25rem}.tablet\:radius-top-md{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.tablet\:radius-right-md{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.tablet\:radius-bottom-md{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.tablet\:radius-left-md{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.tablet\:radius-lg{border-radius:.5rem}.tablet\:radius-top-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.tablet\:radius-right-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.tablet\:radius-bottom-lg{border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}.tablet\:radius-left-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.tablet\:radius-pill{border-radius:99rem}.tablet\:radius-top-pill{border-top-left-radius:99rem;border-top-right-radius:99rem}.tablet\:radius-right-pill{border-top-right-radius:99rem;border-bottom-right-radius:99rem}.tablet\:radius-bottom-pill{border-bottom-left-radius:99rem;border-bottom-right-radius:99rem}.tablet\:radius-left-pill{border-top-left-radius:99rem;border-bottom-left-radius:99rem}.tablet\:display-block{display:block}.tablet\:display-flex{display:flex}.tablet\:display-none{display:none}.tablet\:display-inline{display:inline}.tablet\:display-inline-block{display:inline-block}.tablet\:display-inline-flex{display:inline-flex}.tablet\:display-table{display:table}.tablet\:display-table-cell{display:table-cell}.tablet\:display-table-row{display:table-row}.tablet\:font-mono-3xs{font-size:.77rem}.tablet\:font-mono-2xs{font-size:.83rem}.tablet\:font-mono-xs{font-size:.89rem}.tablet\:font-mono-sm{font-size:.95rem}.tablet\:font-mono-md{font-size:1.01rem}.tablet\:font-mono-lg{font-size:1.31rem}.tablet\:font-mono-xl{font-size:1.91rem}.tablet\:font-mono-2xl{font-size:2.38rem}.tablet\:font-mono-3xl{font-size:2.86rem}.tablet\:font-sans-3xs{font-size:.87rem}.tablet\:font-sans-2xs{font-size:.93rem}.tablet\:font-sans-xs{font-size:1rem}.tablet\:font-sans-sm{font-size:1.06rem}.tablet\:font-sans-md{font-size:1.13rem}.tablet\:font-sans-lg{font-size:1.46rem}.tablet\:font-sans-xl{font-size:2.13rem}.tablet\:font-sans-2xl{font-size:2.66rem}.tablet\:font-sans-3xl{font-size:3.19rem}.tablet\:font-serif-3xs{font-size:.79rem}.tablet\:font-serif-2xs{font-size:.85rem}.tablet\:font-serif-xs{font-size:.91rem}.tablet\:font-serif-sm{font-size:.98rem}.tablet\:font-serif-md{font-size:1.04rem}.tablet\:font-serif-lg{font-size:1.34rem}.tablet\:font-serif-xl{font-size:1.95rem}.tablet\:font-serif-2xl{font-size:2.44rem}.tablet\:font-serif-3xl{font-size:2.93rem}.tablet\:font-heading-3xs{font-size:.79rem}.tablet\:font-heading-2xs{font-size:.85rem}.tablet\:font-heading-xs{font-size:.91rem}.tablet\:font-heading-sm{font-size:.98rem}.tablet\:font-heading-md{font-size:1.04rem}.tablet\:font-heading-lg{font-size:1.34rem}.tablet\:font-heading-xl{font-size:1.95rem}.tablet\:font-heading-2xl{font-size:2.44rem}.tablet\:font-heading-3xl{font-size:2.93rem}.tablet\:font-body-3xs{font-size:.87rem}.tablet\:font-body-2xs{font-size:.93rem}.tablet\:font-body-xs{font-size:1rem}.tablet\:font-body-sm{font-size:1.06rem}.tablet\:font-body-md{font-size:1.13rem}.tablet\:font-body-lg{font-size:1.46rem}.tablet\:font-body-xl{font-size:2.13rem}.tablet\:font-body-2xl{font-size:2.66rem}.tablet\:font-body-3xl{font-size:3.19rem}.tablet\:font-code-3xs{font-size:.77rem}.tablet\:font-code-2xs{font-size:.83rem}.tablet\:font-code-xs{font-size:.89rem}.tablet\:font-code-sm{font-size:.95rem}.tablet\:font-code-md{font-size:1.01rem}.tablet\:font-code-lg{font-size:1.31rem}.tablet\:font-code-xl{font-size:1.91rem}.tablet\:font-code-2xl{font-size:2.38rem}.tablet\:font-code-3xl{font-size:2.86rem}.tablet\:font-alt-3xs{font-size:.79rem}.tablet\:font-alt-2xs{font-size:.85rem}.tablet\:font-alt-xs{font-size:.91rem}.tablet\:font-alt-sm{font-size:.98rem}.tablet\:font-alt-md{font-size:1.04rem}.tablet\:font-alt-lg{font-size:1.34rem}.tablet\:font-alt-xl{font-size:1.95rem}.tablet\:font-alt-2xl{font-size:2.44rem}.tablet\:font-alt-3xl{font-size:2.93rem}.tablet\:font-ui-3xs{font-size:.87rem}.tablet\:font-ui-2xs{font-size:.93rem}.tablet\:font-ui-xs{font-size:1rem}.tablet\:font-ui-sm{font-size:1.06rem}.tablet\:font-ui-md{font-size:1.13rem}.tablet\:font-ui-lg{font-size:1.46rem}.tablet\:font-ui-xl{font-size:2.13rem}.tablet\:font-ui-2xl{font-size:2.66rem}.tablet\:font-ui-3xl{font-size:3.19rem}.tablet\:text-light{font-weight:300}.tablet\:text-normal{font-weight:400}.tablet\:text-bold{font-weight:700}.tablet\:flex-justify-center{justify-content:center}.tablet\:flex-justify-start{justify-content:flex-start}.tablet\:flex-justify-end{justify-content:flex-end}.tablet\:flex-justify{justify-content:space-between}.tablet\:line-height-sans-1{line-height:.9}.tablet\:line-height-sans-2{line-height:1.1}.tablet\:line-height-sans-3{line-height:1.3}.tablet\:line-height-sans-4{line-height:1.4}.tablet\:line-height-sans-5{line-height:1.5}.tablet\:line-height-sans-6{line-height:1.6}.tablet\:line-height-serif-1{line-height:1}.tablet\:line-height-serif-2{line-height:1.2}.tablet\:line-height-serif-3{line-height:1.4}.tablet\:line-height-serif-4{line-height:1.5}.tablet\:line-height-serif-5{line-height:1.7}.tablet\:line-height-serif-6{line-height:1.8}.tablet\:line-height-mono-1{line-height:1}.tablet\:line-height-mono-2{line-height:1.3}.tablet\:line-height-mono-3{line-height:1.4}.tablet\:line-height-mono-4{line-height:1.6}.tablet\:line-height-mono-5{line-height:1.7}.tablet\:line-height-mono-6{line-height:1.8}.tablet\:line-height-heading-1{line-height:1}.tablet\:line-height-heading-2{line-height:1.2}.tablet\:line-height-heading-3{line-height:1.4}.tablet\:line-height-heading-4{line-height:1.5}.tablet\:line-height-heading-5{line-height:1.7}.tablet\:line-height-heading-6{line-height:1.8}.tablet\:line-height-ui-1{line-height:.9}.tablet\:line-height-ui-2{line-height:1.1}.tablet\:line-height-ui-3{line-height:1.3}.tablet\:line-height-ui-4{line-height:1.4}.tablet\:line-height-ui-5{line-height:1.5}.tablet\:line-height-ui-6{line-height:1.6}.tablet\:line-height-body-1{line-height:.9}.tablet\:line-height-body-2{line-height:1.1}.tablet\:line-height-body-3{line-height:1.3}.tablet\:line-height-body-4{line-height:1.4}.tablet\:line-height-body-5{line-height:1.5}.tablet\:line-height-body-6{line-height:1.6}.tablet\:line-height-code-1{line-height:1}.tablet\:line-height-code-2{line-height:1.3}.tablet\:line-height-code-3{line-height:1.4}.tablet\:line-height-code-4{line-height:1.6}.tablet\:line-height-code-5{line-height:1.7}.tablet\:line-height-code-6{line-height:1.8}.tablet\:line-height-alt-1{line-height:1}.tablet\:line-height-alt-2{line-height:1.2}.tablet\:line-height-alt-3{line-height:1.4}.tablet\:line-height-alt-4{line-height:1.5}.tablet\:line-height-alt-5{line-height:1.7}.tablet\:line-height-alt-6{line-height:1.8}.tablet\:margin-neg-1px{margin:-1px}.tablet\:margin-neg-2px{margin:-2px}.tablet\:margin-neg-05{margin:-.25rem}.tablet\:margin-neg-1{margin:-.5rem}.tablet\:margin-neg-105{margin:-.75rem}.tablet\:margin-neg-2{margin:-1rem}.tablet\:margin-neg-205{margin:-1.25rem}.tablet\:margin-neg-3{margin:-1.5rem}.tablet\:margin-1px{margin:1px}.tablet\:margin-2px{margin:2px}.tablet\:margin-05{margin:.25rem}.tablet\:margin-1{margin:.5rem}.tablet\:margin-105{margin:.75rem}.tablet\:margin-2{margin:1rem}.tablet\:margin-205{margin:1.25rem}.tablet\:margin-3{margin:1.5rem}.tablet\:margin-neg-4{margin:-2rem}.tablet\:margin-neg-5{margin:-2.5rem}.tablet\:margin-neg-6{margin:-3rem}.tablet\:margin-neg-7{margin:-3.5rem}.tablet\:margin-neg-8{margin:-4rem}.tablet\:margin-neg-9{margin:-4.5rem}.tablet\:margin-neg-10{margin:-5rem}.tablet\:margin-neg-15{margin:-7.5rem}.tablet\:margin-4{margin:2rem}.tablet\:margin-5{margin:2.5rem}.tablet\:margin-6{margin:3rem}.tablet\:margin-7{margin:3.5rem}.tablet\:margin-8{margin:4rem}.tablet\:margin-9{margin:4.5rem}.tablet\:margin-10{margin:5rem}.tablet\:margin-15{margin:7.5rem}.tablet\:margin-05em{margin:.5em}.tablet\:margin-1em{margin:1em}.tablet\:margin-105em{margin:1.5em}.tablet\:margin-2em{margin:2em}.tablet\:margin-0{margin:0}.tablet\:margin-y-1px{margin-top:1px;margin-bottom:1px}.tablet\:margin-top-1px{margin-top:1px}.tablet\:margin-bottom-1px{margin-bottom:1px}.tablet\:margin-y-2px{margin-top:2px;margin-bottom:2px}.tablet\:margin-top-2px{margin-top:2px}.tablet\:margin-bottom-2px{margin-bottom:2px}.tablet\:margin-y-05{margin-top:.25rem;margin-bottom:.25rem}.tablet\:margin-top-05{margin-top:.25rem}.tablet\:margin-bottom-05{margin-bottom:.25rem}.tablet\:margin-y-1{margin-top:.5rem;margin-bottom:.5rem}.tablet\:margin-top-1{margin-top:.5rem}.tablet\:margin-bottom-1{margin-bottom:.5rem}.tablet\:margin-y-105{margin-top:.75rem;margin-bottom:.75rem}.tablet\:margin-top-105{margin-top:.75rem}.tablet\:margin-bottom-105{margin-bottom:.75rem}.tablet\:margin-y-2{margin-top:1rem;margin-bottom:1rem}.tablet\:margin-top-2{margin-top:1rem}.tablet\:margin-bottom-2{margin-bottom:1rem}.tablet\:margin-y-205{margin-top:1.25rem;margin-bottom:1.25rem}.tablet\:margin-top-205{margin-top:1.25rem}.tablet\:margin-bottom-205{margin-bottom:1.25rem}.tablet\:margin-y-3{margin-top:1.5rem;margin-bottom:1.5rem}.tablet\:margin-top-3{margin-top:1.5rem}.tablet\:margin-bottom-3{margin-bottom:1.5rem}.tablet\:margin-y-neg-1px{margin-top:-1px;margin-bottom:-1px}.tablet\:margin-top-neg-1px{margin-top:-1px}.tablet\:margin-bottom-neg-1px{margin-bottom:-1px}.tablet\:margin-y-neg-2px{margin-top:-2px;margin-bottom:-2px}.tablet\:margin-top-neg-2px{margin-top:-2px}.tablet\:margin-bottom-neg-2px{margin-bottom:-2px}.tablet\:margin-y-neg-05{margin-top:-.25rem;margin-bottom:-.25rem}.tablet\:margin-top-neg-05{margin-top:-.25rem}.tablet\:margin-bottom-neg-05{margin-bottom:-.25rem}.tablet\:margin-y-neg-1{margin-top:-.5rem;margin-bottom:-.5rem}.tablet\:margin-top-neg-1{margin-top:-.5rem}.tablet\:margin-bottom-neg-1{margin-bottom:-.5rem}.tablet\:margin-y-neg-105{margin-top:-.75rem;margin-bottom:-.75rem}.tablet\:margin-top-neg-105{margin-top:-.75rem}.tablet\:margin-bottom-neg-105{margin-bottom:-.75rem}.tablet\:margin-y-neg-2{margin-top:-1rem;margin-bottom:-1rem}.tablet\:margin-top-neg-2{margin-top:-1rem}.tablet\:margin-bottom-neg-2{margin-bottom:-1rem}.tablet\:margin-y-neg-205{margin-top:-1.25rem;margin-bottom:-1.25rem}.tablet\:margin-top-neg-205{margin-top:-1.25rem}.tablet\:margin-bottom-neg-205{margin-bottom:-1.25rem}.tablet\:margin-y-neg-3{margin-top:-1.5rem;margin-bottom:-1.5rem}.tablet\:margin-top-neg-3{margin-top:-1.5rem}.tablet\:margin-bottom-neg-3{margin-bottom:-1.5rem}.tablet\:margin-y-neg-4{margin-top:-2rem;margin-bottom:-2rem}.tablet\:margin-top-neg-4{margin-top:-2rem}.tablet\:margin-bottom-neg-4{margin-bottom:-2rem}.tablet\:margin-y-neg-5{margin-top:-2.5rem;margin-bottom:-2.5rem}.tablet\:margin-top-neg-5{margin-top:-2.5rem}.tablet\:margin-bottom-neg-5{margin-bottom:-2.5rem}.tablet\:margin-y-neg-6{margin-top:-3rem;margin-bottom:-3rem}.tablet\:margin-top-neg-6{margin-top:-3rem}.tablet\:margin-bottom-neg-6{margin-bottom:-3rem}.tablet\:margin-y-neg-7{margin-top:-3.5rem;margin-bottom:-3.5rem}.tablet\:margin-top-neg-7{margin-top:-3.5rem}.tablet\:margin-bottom-neg-7{margin-bottom:-3.5rem}.tablet\:margin-y-neg-8{margin-top:-4rem;margin-bottom:-4rem}.tablet\:margin-top-neg-8{margin-top:-4rem}.tablet\:margin-bottom-neg-8{margin-bottom:-4rem}.tablet\:margin-y-neg-9{margin-top:-4.5rem;margin-bottom:-4.5rem}.tablet\:margin-top-neg-9{margin-top:-4.5rem}.tablet\:margin-bottom-neg-9{margin-bottom:-4.5rem}.tablet\:margin-y-neg-10{margin-top:-5rem;margin-bottom:-5rem}.tablet\:margin-top-neg-10{margin-top:-5rem}.tablet\:margin-bottom-neg-10{margin-bottom:-5rem}.tablet\:margin-y-neg-15{margin-top:-7.5rem;margin-bottom:-7.5rem}.tablet\:margin-top-neg-15{margin-top:-7.5rem}.tablet\:margin-bottom-neg-15{margin-bottom:-7.5rem}.tablet\:margin-y-4{margin-top:2rem;margin-bottom:2rem}.tablet\:margin-top-4{margin-top:2rem}.tablet\:margin-bottom-4{margin-bottom:2rem}.tablet\:margin-y-5{margin-top:2.5rem;margin-bottom:2.5rem}.tablet\:margin-top-5{margin-top:2.5rem}.tablet\:margin-bottom-5{margin-bottom:2.5rem}.tablet\:margin-y-6{margin-top:3rem;margin-bottom:3rem}.tablet\:margin-top-6{margin-top:3rem}.tablet\:margin-bottom-6{margin-bottom:3rem}.tablet\:margin-y-7{margin-top:3.5rem;margin-bottom:3.5rem}.tablet\:margin-top-7{margin-top:3.5rem}.tablet\:margin-bottom-7{margin-bottom:3.5rem}.tablet\:margin-y-8{margin-top:4rem;margin-bottom:4rem}.tablet\:margin-top-8{margin-top:4rem}.tablet\:margin-bottom-8{margin-bottom:4rem}.tablet\:margin-y-9{margin-top:4.5rem;margin-bottom:4.5rem}.tablet\:margin-top-9{margin-top:4.5rem}.tablet\:margin-bottom-9{margin-bottom:4.5rem}.tablet\:margin-y-10{margin-top:5rem;margin-bottom:5rem}.tablet\:margin-top-10{margin-top:5rem}.tablet\:margin-bottom-10{margin-bottom:5rem}.tablet\:margin-y-15{margin-top:7.5rem;margin-bottom:7.5rem}.tablet\:margin-top-15{margin-top:7.5rem}.tablet\:margin-bottom-15{margin-bottom:7.5rem}.tablet\:margin-y-05em{margin-top:.5em;margin-bottom:.5em}.tablet\:margin-top-05em{margin-top:.5em}.tablet\:margin-bottom-05em{margin-bottom:.5em}.tablet\:margin-y-1em{margin-top:1em;margin-bottom:1em}.tablet\:margin-top-1em{margin-top:1em}.tablet\:margin-bottom-1em{margin-bottom:1em}.tablet\:margin-y-105em{margin-top:1.5em;margin-bottom:1.5em}.tablet\:margin-top-105em{margin-top:1.5em}.tablet\:margin-bottom-105em{margin-bottom:1.5em}.tablet\:margin-y-2em{margin-top:2em;margin-bottom:2em}.tablet\:margin-top-2em{margin-top:2em}.tablet\:margin-bottom-2em{margin-bottom:2em}.tablet\:margin-y-0{margin-top:0;margin-bottom:0}.tablet\:margin-top-0{margin-top:0}.tablet\:margin-bottom-0{margin-bottom:0}.tablet\:margin-y-auto{margin-top:auto;margin-bottom:auto}.tablet\:margin-top-auto{margin-top:auto}.tablet\:margin-bottom-auto{margin-bottom:auto}.tablet\:margin-x-1px{margin-left:1px;margin-right:1px}.tablet\:margin-right-1px{margin-right:1px}.tablet\:margin-left-1px{margin-left:1px}.tablet\:margin-x-2px{margin-left:2px;margin-right:2px}.tablet\:margin-right-2px{margin-right:2px}.tablet\:margin-left-2px{margin-left:2px}.tablet\:margin-x-05{margin-left:.25rem;margin-right:.25rem}.tablet\:margin-right-05{margin-right:.25rem}.tablet\:margin-left-05{margin-left:.25rem}.tablet\:margin-x-1{margin-left:.5rem;margin-right:.5rem}.tablet\:margin-right-1{margin-right:.5rem}.tablet\:margin-left-1{margin-left:.5rem}.tablet\:margin-x-105{margin-left:.75rem;margin-right:.75rem}.tablet\:margin-right-105{margin-right:.75rem}.tablet\:margin-left-105{margin-left:.75rem}.tablet\:margin-x-2{margin-left:1rem;margin-right:1rem}.tablet\:margin-right-2{margin-right:1rem}.tablet\:margin-left-2{margin-left:1rem}.tablet\:margin-x-205{margin-left:1.25rem;margin-right:1.25rem}.tablet\:margin-right-205{margin-right:1.25rem}.tablet\:margin-left-205{margin-left:1.25rem}.tablet\:margin-x-3{margin-left:1.5rem;margin-right:1.5rem}.tablet\:margin-right-3{margin-right:1.5rem}.tablet\:margin-left-3{margin-left:1.5rem}.tablet\:margin-x-neg-1px{margin-left:-1px;margin-right:-1px}.tablet\:margin-right-neg-1px{margin-right:-1px}.tablet\:margin-left-neg-1px{margin-left:-1px}.tablet\:margin-x-neg-2px{margin-left:-2px;margin-right:-2px}.tablet\:margin-right-neg-2px{margin-right:-2px}.tablet\:margin-left-neg-2px{margin-left:-2px}.tablet\:margin-x-neg-05{margin-left:-.25rem;margin-right:-.25rem}.tablet\:margin-right-neg-05{margin-right:-.25rem}.tablet\:margin-left-neg-05{margin-left:-.25rem}.tablet\:margin-x-neg-1{margin-left:-.5rem;margin-right:-.5rem}.tablet\:margin-right-neg-1{margin-right:-.5rem}.tablet\:margin-left-neg-1{margin-left:-.5rem}.tablet\:margin-x-neg-105{margin-left:-.75rem;margin-right:-.75rem}.tablet\:margin-right-neg-105{margin-right:-.75rem}.tablet\:margin-left-neg-105{margin-left:-.75rem}.tablet\:margin-x-neg-2{margin-left:-1rem;margin-right:-1rem}.tablet\:margin-right-neg-2{margin-right:-1rem}.tablet\:margin-left-neg-2{margin-left:-1rem}.tablet\:margin-x-neg-205{margin-left:-1.25rem;margin-right:-1.25rem}.tablet\:margin-right-neg-205{margin-right:-1.25rem}.tablet\:margin-left-neg-205{margin-left:-1.25rem}.tablet\:margin-x-neg-3{margin-left:-1.5rem;margin-right:-1.5rem}.tablet\:margin-right-neg-3{margin-right:-1.5rem}.tablet\:margin-left-neg-3{margin-left:-1.5rem}.tablet\:margin-x-neg-4{margin-left:-2rem;margin-right:-2rem}.tablet\:margin-right-neg-4{margin-right:-2rem}.tablet\:margin-left-neg-4{margin-left:-2rem}.tablet\:margin-x-neg-5{margin-left:-2.5rem;margin-right:-2.5rem}.tablet\:margin-right-neg-5{margin-right:-2.5rem}.tablet\:margin-left-neg-5{margin-left:-2.5rem}.tablet\:margin-x-neg-6{margin-left:-3rem;margin-right:-3rem}.tablet\:margin-right-neg-6{margin-right:-3rem}.tablet\:margin-left-neg-6{margin-left:-3rem}.tablet\:margin-x-neg-7{margin-left:-3.5rem;margin-right:-3.5rem}.tablet\:margin-right-neg-7{margin-right:-3.5rem}.tablet\:margin-left-neg-7{margin-left:-3.5rem}.tablet\:margin-x-neg-8{margin-left:-4rem;margin-right:-4rem}.tablet\:margin-right-neg-8{margin-right:-4rem}.tablet\:margin-left-neg-8{margin-left:-4rem}.tablet\:margin-x-neg-9{margin-left:-4.5rem;margin-right:-4.5rem}.tablet\:margin-right-neg-9{margin-right:-4.5rem}.tablet\:margin-left-neg-9{margin-left:-4.5rem}.tablet\:margin-x-neg-10{margin-left:-5rem;margin-right:-5rem}.tablet\:margin-right-neg-10{margin-right:-5rem}.tablet\:margin-left-neg-10{margin-left:-5rem}.tablet\:margin-x-neg-15{margin-left:-7.5rem;margin-right:-7.5rem}.tablet\:margin-right-neg-15{margin-right:-7.5rem}.tablet\:margin-left-neg-15{margin-left:-7.5rem}.tablet\:margin-x-4{margin-left:2rem;margin-right:2rem}.tablet\:margin-right-4{margin-right:2rem}.tablet\:margin-left-4{margin-left:2rem}.tablet\:margin-x-5{margin-left:2.5rem;margin-right:2.5rem}.tablet\:margin-right-5{margin-right:2.5rem}.tablet\:margin-left-5{margin-left:2.5rem}.tablet\:margin-x-6{margin-left:3rem;margin-right:3rem}.tablet\:margin-right-6{margin-right:3rem}.tablet\:margin-left-6{margin-left:3rem}.tablet\:margin-x-7{margin-left:3.5rem;margin-right:3.5rem}.tablet\:margin-right-7{margin-right:3.5rem}.tablet\:margin-left-7{margin-left:3.5rem}.tablet\:margin-x-8{margin-left:4rem;margin-right:4rem}.tablet\:margin-right-8{margin-right:4rem}.tablet\:margin-left-8{margin-left:4rem}.tablet\:margin-x-9{margin-left:4.5rem;margin-right:4.5rem}.tablet\:margin-right-9{margin-right:4.5rem}.tablet\:margin-left-9{margin-left:4.5rem}.tablet\:margin-x-10{margin-left:5rem;margin-right:5rem}.tablet\:margin-right-10{margin-right:5rem}.tablet\:margin-left-10{margin-left:5rem}.tablet\:margin-x-15{margin-left:7.5rem;margin-right:7.5rem}.tablet\:margin-right-15{margin-right:7.5rem}.tablet\:margin-left-15{margin-left:7.5rem}.tablet\:margin-x-card{margin-left:10rem;margin-right:10rem}.tablet\:margin-right-card{margin-right:10rem}.tablet\:margin-left-card{margin-left:10rem}.tablet\:margin-x-card-lg{margin-left:15rem;margin-right:15rem}.tablet\:margin-right-card-lg{margin-right:15rem}.tablet\:margin-left-card-lg{margin-left:15rem}.tablet\:margin-x-mobile{margin-left:20rem;margin-right:20rem}.tablet\:margin-right-mobile{margin-right:20rem}.tablet\:margin-left-mobile{margin-left:20rem}.tablet\:margin-x-05em{margin-left:.5em;margin-right:.5em}.tablet\:margin-right-05em{margin-right:.5em}.tablet\:margin-left-05em{margin-left:.5em}.tablet\:margin-x-1em{margin-left:1em;margin-right:1em}.tablet\:margin-right-1em{margin-right:1em}.tablet\:margin-left-1em{margin-left:1em}.tablet\:margin-x-105em{margin-left:1.5em;margin-right:1.5em}.tablet\:margin-right-105em{margin-right:1.5em}.tablet\:margin-left-105em{margin-left:1.5em}.tablet\:margin-x-2em{margin-left:2em;margin-right:2em}.tablet\:margin-right-2em{margin-right:2em}.tablet\:margin-left-2em{margin-left:2em}.tablet\:margin-x-0{margin-left:0;margin-right:0}.tablet\:margin-right-0{margin-right:0}.tablet\:margin-left-0{margin-left:0}.tablet\:margin-x-auto{margin-left:auto;margin-right:auto}.tablet\:margin-right-auto{margin-right:auto}.tablet\:margin-left-auto{margin-left:auto}.tablet\:measure-1{max-width:44ex}.tablet\:measure-2{max-width:60ex}.tablet\:measure-3{max-width:64ex}.tablet\:measure-4{max-width:68ex}.tablet\:measure-5{max-width:72ex}.tablet\:measure-6{max-width:88ex}.tablet\:measure-none{max-width:none}.tablet\:order-first{order:-1}.tablet\:order-last{order:999}.tablet\:order-initial{order:initial}.tablet\:order-0{order:0}.tablet\:order-1{order:1}.tablet\:order-2{order:2}.tablet\:order-3{order:3}.tablet\:order-4{order:4}.tablet\:order-5{order:5}.tablet\:order-6{order:6}.tablet\:order-7{order:7}.tablet\:order-8{order:8}.tablet\:order-9{order:9}.tablet\:order-10{order:10}.tablet\:order-11{order:11}.tablet\:padding-1px{padding:1px}.tablet\:padding-y-1px{padding-top:1px;padding-bottom:1px}.tablet\:padding-x-1px{padding-left:1px;padding-right:1px}.tablet\:padding-top-1px{padding-top:1px}.tablet\:padding-right-1px{padding-right:1px}.tablet\:padding-bottom-1px{padding-bottom:1px}.tablet\:padding-left-1px{padding-left:1px}.tablet\:padding-2px{padding:2px}.tablet\:padding-y-2px{padding-top:2px;padding-bottom:2px}.tablet\:padding-x-2px{padding-left:2px;padding-right:2px}.tablet\:padding-top-2px{padding-top:2px}.tablet\:padding-right-2px{padding-right:2px}.tablet\:padding-bottom-2px{padding-bottom:2px}.tablet\:padding-left-2px{padding-left:2px}.tablet\:padding-05{padding:.25rem}.tablet\:padding-y-05{padding-top:.25rem;padding-bottom:.25rem}.tablet\:padding-x-05{padding-left:.25rem;padding-right:.25rem}.tablet\:padding-top-05{padding-top:.25rem}.tablet\:padding-right-05{padding-right:.25rem}.tablet\:padding-bottom-05{padding-bottom:.25rem}.tablet\:padding-left-05{padding-left:.25rem}.tablet\:padding-1{padding:.5rem}.tablet\:padding-y-1{padding-top:.5rem;padding-bottom:.5rem}.tablet\:padding-x-1{padding-left:.5rem;padding-right:.5rem}.tablet\:padding-top-1{padding-top:.5rem}.tablet\:padding-right-1{padding-right:.5rem}.tablet\:padding-bottom-1{padding-bottom:.5rem}.tablet\:padding-left-1{padding-left:.5rem}.tablet\:padding-105{padding:.75rem}.tablet\:padding-y-105{padding-top:.75rem;padding-bottom:.75rem}.tablet\:padding-x-105{padding-left:.75rem;padding-right:.75rem}.tablet\:padding-top-105{padding-top:.75rem}.tablet\:padding-right-105{padding-right:.75rem}.tablet\:padding-bottom-105{padding-bottom:.75rem}.tablet\:padding-left-105{padding-left:.75rem}.tablet\:padding-2{padding:1rem}.tablet\:padding-y-2{padding-top:1rem;padding-bottom:1rem}.tablet\:padding-x-2{padding-left:1rem;padding-right:1rem}.tablet\:padding-top-2{padding-top:1rem}.tablet\:padding-right-2{padding-right:1rem}.tablet\:padding-bottom-2{padding-bottom:1rem}.tablet\:padding-left-2{padding-left:1rem}.tablet\:padding-205{padding:1.25rem}.tablet\:padding-y-205{padding-top:1.25rem;padding-bottom:1.25rem}.tablet\:padding-x-205{padding-left:1.25rem;padding-right:1.25rem}.tablet\:padding-top-205{padding-top:1.25rem}.tablet\:padding-right-205{padding-right:1.25rem}.tablet\:padding-bottom-205{padding-bottom:1.25rem}.tablet\:padding-left-205{padding-left:1.25rem}.tablet\:padding-3{padding:1.5rem}.tablet\:padding-y-3{padding-top:1.5rem;padding-bottom:1.5rem}.tablet\:padding-x-3{padding-left:1.5rem;padding-right:1.5rem}.tablet\:padding-top-3{padding-top:1.5rem}.tablet\:padding-right-3{padding-right:1.5rem}.tablet\:padding-bottom-3{padding-bottom:1.5rem}.tablet\:padding-left-3{padding-left:1.5rem}.tablet\:padding-4{padding:2rem}.tablet\:padding-y-4{padding-top:2rem;padding-bottom:2rem}.tablet\:padding-x-4{padding-left:2rem;padding-right:2rem}.tablet\:padding-top-4{padding-top:2rem}.tablet\:padding-right-4{padding-right:2rem}.tablet\:padding-bottom-4{padding-bottom:2rem}.tablet\:padding-left-4{padding-left:2rem}.tablet\:padding-5{padding:2.5rem}.tablet\:padding-y-5{padding-top:2.5rem;padding-bottom:2.5rem}.tablet\:padding-x-5{padding-left:2.5rem;padding-right:2.5rem}.tablet\:padding-top-5{padding-top:2.5rem}.tablet\:padding-right-5{padding-right:2.5rem}.tablet\:padding-bottom-5{padding-bottom:2.5rem}.tablet\:padding-left-5{padding-left:2.5rem}.tablet\:padding-6{padding:3rem}.tablet\:padding-y-6{padding-top:3rem;padding-bottom:3rem}.tablet\:padding-x-6{padding-left:3rem;padding-right:3rem}.tablet\:padding-top-6{padding-top:3rem}.tablet\:padding-right-6{padding-right:3rem}.tablet\:padding-bottom-6{padding-bottom:3rem}.tablet\:padding-left-6{padding-left:3rem}.tablet\:padding-7{padding:3.5rem}.tablet\:padding-y-7{padding-top:3.5rem;padding-bottom:3.5rem}.tablet\:padding-x-7{padding-left:3.5rem;padding-right:3.5rem}.tablet\:padding-top-7{padding-top:3.5rem}.tablet\:padding-right-7{padding-right:3.5rem}.tablet\:padding-bottom-7{padding-bottom:3.5rem}.tablet\:padding-left-7{padding-left:3.5rem}.tablet\:padding-8{padding:4rem}.tablet\:padding-y-8{padding-top:4rem;padding-bottom:4rem}.tablet\:padding-x-8{padding-left:4rem;padding-right:4rem}.tablet\:padding-top-8{padding-top:4rem}.tablet\:padding-right-8{padding-right:4rem}.tablet\:padding-bottom-8{padding-bottom:4rem}.tablet\:padding-left-8{padding-left:4rem}.tablet\:padding-9{padding:4.5rem}.tablet\:padding-y-9{padding-top:4.5rem;padding-bottom:4.5rem}.tablet\:padding-x-9{padding-left:4.5rem;padding-right:4.5rem}.tablet\:padding-top-9{padding-top:4.5rem}.tablet\:padding-right-9{padding-right:4.5rem}.tablet\:padding-bottom-9{padding-bottom:4.5rem}.tablet\:padding-left-9{padding-left:4.5rem}.tablet\:padding-10{padding:5rem}.tablet\:padding-y-10{padding-top:5rem;padding-bottom:5rem}.tablet\:padding-x-10{padding-left:5rem;padding-right:5rem}.tablet\:padding-top-10{padding-top:5rem}.tablet\:padding-right-10{padding-right:5rem}.tablet\:padding-bottom-10{padding-bottom:5rem}.tablet\:padding-left-10{padding-left:5rem}.tablet\:padding-15{padding:7.5rem}.tablet\:padding-y-15{padding-top:7.5rem;padding-bottom:7.5rem}.tablet\:padding-x-15{padding-left:7.5rem;padding-right:7.5rem}.tablet\:padding-top-15{padding-top:7.5rem}.tablet\:padding-right-15{padding-right:7.5rem}.tablet\:padding-bottom-15{padding-bottom:7.5rem}.tablet\:padding-left-15{padding-left:7.5rem}.tablet\:padding-0{padding:0}.tablet\:padding-y-0{padding-top:0;padding-bottom:0}.tablet\:padding-x-0{padding-left:0;padding-right:0}.tablet\:padding-top-0{padding-top:0}.tablet\:padding-right-0{padding-right:0}.tablet\:padding-bottom-0{padding-bottom:0}.tablet\:padding-left-0{padding-left:0}.tablet\:width-1px{width:1px}.tablet\:width-2px{width:2px}.tablet\:width-05{width:.25rem}.tablet\:width-1{width:.5rem}.tablet\:width-105{width:.75rem}.tablet\:width-2{width:1rem}.tablet\:width-205{width:1.25rem}.tablet\:width-3{width:1.5rem}.tablet\:width-4{width:2rem}.tablet\:width-5{width:2.5rem}.tablet\:width-6{width:3rem}.tablet\:width-7{width:3.5rem}.tablet\:width-8{width:4rem}.tablet\:width-9{width:4.5rem}.tablet\:width-10{width:5rem}.tablet\:width-15{width:7.5rem}.tablet\:width-card{width:10rem}.tablet\:width-card-lg{width:15rem}.tablet\:width-mobile{width:20rem}.tablet\:width-mobile-lg{width:30rem}.tablet\:width-tablet{width:40rem}.tablet\:width-tablet-lg{width:55rem}.tablet\:width-desktop{width:64rem}.tablet\:width-desktop-lg{width:75rem}.tablet\:width-widescreen{width:87.5rem}.tablet\:width-0{width:0}.tablet\:width-full{width:100%}.tablet\:width-auto{width:auto}}@media all and (min-width:64em){.desktop\:border-1px,.desktop\:hover\:border-1px:hover{border:1px solid}.desktop\:border-y-1px,.desktop\:hover\:border-y-1px:hover{border-top:1px solid;border-bottom:1px solid}.desktop\:border-x-1px,.desktop\:hover\:border-x-1px:hover{border-left:1px solid;border-right:1px solid}.desktop\:border-top-1px,.desktop\:hover\:border-top-1px:hover{border-top:1px solid}.desktop\:border-right-1px,.desktop\:hover\:border-right-1px:hover{border-right:1px solid}.desktop\:border-bottom-1px,.desktop\:hover\:border-bottom-1px:hover{border-bottom:1px solid}.desktop\:border-left-1px,.desktop\:hover\:border-left-1px:hover{border-left:1px solid}.desktop\:border-2px,.desktop\:hover\:border-2px:hover{border:2px solid}.desktop\:border-y-2px,.desktop\:hover\:border-y-2px:hover{border-top:2px solid;border-bottom:2px solid}.desktop\:border-x-2px,.desktop\:hover\:border-x-2px:hover{border-left:2px solid;border-right:2px solid}.desktop\:border-top-2px,.desktop\:hover\:border-top-2px:hover{border-top:2px solid}.desktop\:border-right-2px,.desktop\:hover\:border-right-2px:hover{border-right:2px solid}.desktop\:border-bottom-2px,.desktop\:hover\:border-bottom-2px:hover{border-bottom:2px solid}.desktop\:border-left-2px,.desktop\:hover\:border-left-2px:hover{border-left:2px solid}.desktop\:border-05,.desktop\:hover\:border-05:hover{border:.25rem solid}.desktop\:border-y-05,.desktop\:hover\:border-y-05:hover{border-top:.25rem solid;border-bottom:.25rem solid}.desktop\:border-x-05,.desktop\:hover\:border-x-05:hover{border-left:.25rem solid;border-right:.25rem solid}.desktop\:border-top-05,.desktop\:hover\:border-top-05:hover{border-top:.25rem solid}.desktop\:border-right-05,.desktop\:hover\:border-right-05:hover{border-right:.25rem solid}.desktop\:border-bottom-05,.desktop\:hover\:border-bottom-05:hover{border-bottom:.25rem solid}.desktop\:border-left-05,.desktop\:hover\:border-left-05:hover{border-left:.25rem solid}.desktop\:border-1,.desktop\:hover\:border-1:hover{border:.5rem solid}.desktop\:border-y-1,.desktop\:hover\:border-y-1:hover{border-top:.5rem solid;border-bottom:.5rem solid}.desktop\:border-x-1,.desktop\:hover\:border-x-1:hover{border-left:.5rem solid;border-right:.5rem solid}.desktop\:border-top-1,.desktop\:hover\:border-top-1:hover{border-top:.5rem solid}.desktop\:border-right-1,.desktop\:hover\:border-right-1:hover{border-right:.5rem solid}.desktop\:border-bottom-1,.desktop\:hover\:border-bottom-1:hover{border-bottom:.5rem solid}.desktop\:border-left-1,.desktop\:hover\:border-left-1:hover{border-left:.5rem solid}.desktop\:border-105,.desktop\:hover\:border-105:hover{border:.75rem solid}.desktop\:border-y-105,.desktop\:hover\:border-y-105:hover{border-top:.75rem solid;border-bottom:.75rem solid}.desktop\:border-x-105,.desktop\:hover\:border-x-105:hover{border-left:.75rem solid;border-right:.75rem solid}.desktop\:border-top-105,.desktop\:hover\:border-top-105:hover{border-top:.75rem solid}.desktop\:border-right-105,.desktop\:hover\:border-right-105:hover{border-right:.75rem solid}.desktop\:border-bottom-105,.desktop\:hover\:border-bottom-105:hover{border-bottom:.75rem solid}.desktop\:border-left-105,.desktop\:hover\:border-left-105:hover{border-left:.75rem solid}.desktop\:border-2,.desktop\:hover\:border-2:hover{border:1rem solid}.desktop\:border-y-2,.desktop\:hover\:border-y-2:hover{border-top:1rem solid;border-bottom:1rem solid}.desktop\:border-x-2,.desktop\:hover\:border-x-2:hover{border-left:1rem solid;border-right:1rem solid}.desktop\:border-top-2,.desktop\:hover\:border-top-2:hover{border-top:1rem solid}.desktop\:border-right-2,.desktop\:hover\:border-right-2:hover{border-right:1rem solid}.desktop\:border-bottom-2,.desktop\:hover\:border-bottom-2:hover{border-bottom:1rem solid}.desktop\:border-left-2,.desktop\:hover\:border-left-2:hover{border-left:1rem solid}.desktop\:border-205,.desktop\:hover\:border-205:hover{border:1.25rem solid}.desktop\:border-y-205,.desktop\:hover\:border-y-205:hover{border-top:1.25rem solid;border-bottom:1.25rem solid}.desktop\:border-x-205,.desktop\:hover\:border-x-205:hover{border-left:1.25rem solid;border-right:1.25rem solid}.desktop\:border-top-205,.desktop\:hover\:border-top-205:hover{border-top:1.25rem solid}.desktop\:border-right-205,.desktop\:hover\:border-right-205:hover{border-right:1.25rem solid}.desktop\:border-bottom-205,.desktop\:hover\:border-bottom-205:hover{border-bottom:1.25rem solid}.desktop\:border-left-205,.desktop\:hover\:border-left-205:hover{border-left:1.25rem solid}.desktop\:border-3,.desktop\:hover\:border-3:hover{border:1.5rem solid}.desktop\:border-y-3,.desktop\:hover\:border-y-3:hover{border-top:1.5rem solid;border-bottom:1.5rem solid}.desktop\:border-x-3,.desktop\:hover\:border-x-3:hover{border-left:1.5rem solid;border-right:1.5rem solid}.desktop\:border-top-3,.desktop\:hover\:border-top-3:hover{border-top:1.5rem solid}.desktop\:border-right-3,.desktop\:hover\:border-right-3:hover{border-right:1.5rem solid}.desktop\:border-bottom-3,.desktop\:hover\:border-bottom-3:hover{border-bottom:1.5rem solid}.desktop\:border-left-3,.desktop\:hover\:border-left-3:hover{border-left:1.5rem solid}.desktop\:border-0,.desktop\:hover\:border-0:hover{border:0 solid}.desktop\:border-y-0,.desktop\:hover\:border-y-0:hover{border-top:0 solid;border-bottom:0 solid}.desktop\:border-x-0,.desktop\:hover\:border-x-0:hover{border-left:0 solid;border-right:0 solid}.desktop\:border-top-0,.desktop\:hover\:border-top-0:hover{border-top:0 solid}.desktop\:border-right-0,.desktop\:hover\:border-right-0:hover{border-right:0 solid}.desktop\:border-bottom-0,.desktop\:hover\:border-bottom-0:hover{border-bottom:0 solid}.desktop\:border-left-0,.desktop\:hover\:border-left-0:hover{border-left:0 solid}.desktop\:border,.desktop\:hover\:border:hover{border:1px solid}.desktop\:border-y,.desktop\:hover\:border-y:hover{border-top:1px solid;border-bottom:1px solid}.desktop\:border-x,.desktop\:hover\:border-x:hover{border-left:1px solid;border-right:1px solid}.desktop\:border-top,.desktop\:hover\:border-top:hover{border-top:1px solid}.desktop\:border-right,.desktop\:hover\:border-right:hover{border-right:1px solid}.desktop\:border-bottom,.desktop\:hover\:border-bottom:hover{border-bottom:1px solid}.desktop\:border-left,.desktop\:hover\:border-left:hover{border-left:1px solid}.desktop\:border-transparent,.desktop\:hover\:border-transparent:hover{border-color:transparent}.desktop\:border-black,.desktop\:hover\:border-black:hover{border-color:#000}.desktop\:border-white,.desktop\:hover\:border-white:hover{border-color:#fff}.desktop\:border-red,.desktop\:hover\:border-red:hover{border-color:#e52207}.desktop\:border-orange,.desktop\:hover\:border-orange:hover{border-color:#e66f0e}.desktop\:border-gold,.desktop\:hover\:border-gold:hover{border-color:#ffbe2e}.desktop\:border-yellow,.desktop\:hover\:border-yellow:hover{border-color:#fee685}.desktop\:border-green,.desktop\:hover\:border-green:hover{border-color:#538200}.desktop\:border-mint,.desktop\:hover\:border-mint:hover{border-color:#04c585}.desktop\:border-cyan,.desktop\:hover\:border-cyan:hover{border-color:#009ec1}.desktop\:border-blue,.desktop\:hover\:border-blue:hover{border-color:#0076d6}.desktop\:border-indigo,.desktop\:hover\:border-indigo:hover{border-color:#676cc8}.desktop\:border-violet,.desktop\:hover\:border-violet:hover{border-color:#8168b3}.desktop\:border-magenta,.desktop\:hover\:border-magenta:hover{border-color:#d72d79}.desktop\:border-gray-5,.desktop\:hover\:border-gray-5:hover{border-color:#f0f0f0}.desktop\:border-gray-10,.desktop\:hover\:border-gray-10:hover{border-color:#e6e6e6}.desktop\:border-gray-30,.desktop\:hover\:border-gray-30:hover{border-color:#adadad}.desktop\:border-gray-50,.desktop\:hover\:border-gray-50:hover{border-color:#757575}.desktop\:border-gray-70,.desktop\:hover\:border-gray-70:hover{border-color:#454545}.desktop\:border-gray-90,.desktop\:hover\:border-gray-90:hover{border-color:#1b1b1b}.desktop\:border-base-lightest,.desktop\:hover\:border-base-lightest:hover{border-color:#f0f0f0}.desktop\:border-base-lighter,.desktop\:hover\:border-base-lighter:hover{border-color:#dfe1e2}.desktop\:border-base-light,.desktop\:hover\:border-base-light:hover{border-color:#a9aeb1}.desktop\:border-base,.desktop\:hover\:border-base:hover{border-color:#71767a}.desktop\:border-base-dark,.desktop\:hover\:border-base-dark:hover{border-color:#565c65}.desktop\:border-base-darker,.desktop\:hover\:border-base-darker:hover{border-color:#3d4551}.desktop\:border-base-darkest,.desktop\:border-ink,.desktop\:hover\:border-base-darkest:hover,.desktop\:hover\:border-ink:hover{border-color:#1b1b1b}.desktop\:border-primary-lighter,.desktop\:hover\:border-primary-lighter:hover{border-color:#d9e8f6}.desktop\:border-primary-light,.desktop\:hover\:border-primary-light:hover{border-color:#73b3e7}.desktop\:border-primary,.desktop\:hover\:border-primary:hover{border-color:#005ea2}.desktop\:border-primary-vivid,.desktop\:hover\:border-primary-vivid:hover{border-color:#0050d8}.desktop\:border-primary-dark,.desktop\:hover\:border-primary-dark:hover{border-color:#1a4480}.desktop\:border-primary-darker,.desktop\:hover\:border-primary-darker:hover{border-color:#162e51}.desktop\:border-secondary-lighter,.desktop\:hover\:border-secondary-lighter:hover{border-color:#f3e1e4}.desktop\:border-secondary-light,.desktop\:hover\:border-secondary-light:hover{border-color:#f2938c}.desktop\:border-secondary,.desktop\:hover\:border-secondary:hover{border-color:#d83933}.desktop\:border-secondary-vivid,.desktop\:hover\:border-secondary-vivid:hover{border-color:#e41d3d}.desktop\:border-secondary-dark,.desktop\:hover\:border-secondary-dark:hover{border-color:#b50909}.desktop\:border-secondary-darker,.desktop\:hover\:border-secondary-darker:hover{border-color:#8b0a03}.desktop\:border-accent-warm-darker,.desktop\:hover\:border-accent-warm-darker:hover{border-color:#775540}.desktop\:border-accent-warm-dark,.desktop\:hover\:border-accent-warm-dark:hover{border-color:#c05600}.desktop\:border-accent-warm,.desktop\:hover\:border-accent-warm:hover{border-color:#fa9441}.desktop\:border-accent-warm-light,.desktop\:hover\:border-accent-warm-light:hover{border-color:#ffbc78}.desktop\:border-accent-warm-lighter,.desktop\:hover\:border-accent-warm-lighter:hover{border-color:#f2e4d4}.desktop\:border-accent-cool-darker,.desktop\:hover\:border-accent-cool-darker:hover{border-color:#07648d}.desktop\:border-accent-cool-dark,.desktop\:hover\:border-accent-cool-dark:hover{border-color:#28a0cb}.desktop\:border-accent-cool,.desktop\:hover\:border-accent-cool:hover{border-color:#00bde3}.desktop\:border-accent-cool-light,.desktop\:hover\:border-accent-cool-light:hover{border-color:#97d4ea}.desktop\:border-accent-cool-lighter,.desktop\:hover\:border-accent-cool-lighter:hover{border-color:#e1f3f8}.desktop\:border-error-lighter,.desktop\:hover\:border-error-lighter:hover{border-color:#f4e3db}.desktop\:border-error-light,.desktop\:hover\:border-error-light:hover{border-color:#f39268}.desktop\:border-error,.desktop\:hover\:border-error:hover{border-color:#d54309}.desktop\:border-error-dark,.desktop\:hover\:border-error-dark:hover{border-color:#b50909}.desktop\:border-error-darker,.desktop\:hover\:border-error-darker:hover{border-color:#6f3331}.desktop\:border-warning-lighter,.desktop\:hover\:border-warning-lighter:hover{border-color:#faf3d1}.desktop\:border-warning-light,.desktop\:hover\:border-warning-light:hover{border-color:#fee685}.desktop\:border-warning,.desktop\:hover\:border-warning:hover{border-color:#ffbe2e}.desktop\:border-warning-dark,.desktop\:hover\:border-warning-dark:hover{border-color:#e5a000}.desktop\:border-warning-darker,.desktop\:hover\:border-warning-darker:hover{border-color:#936f38}.desktop\:border-success-lighter,.desktop\:hover\:border-success-lighter:hover{border-color:#ecf3ec}.desktop\:border-success-light,.desktop\:hover\:border-success-light:hover{border-color:#70e17b}.desktop\:border-success,.desktop\:hover\:border-success:hover{border-color:#00a91c}.desktop\:border-success-dark,.desktop\:hover\:border-success-dark:hover{border-color:#008817}.desktop\:border-success-darker,.desktop\:hover\:border-success-darker:hover{border-color:#216e1f}.desktop\:border-info-lighter,.desktop\:hover\:border-info-lighter:hover{border-color:#e7f6f8}.desktop\:border-info-light,.desktop\:hover\:border-info-light:hover{border-color:#99deea}.desktop\:border-info,.desktop\:hover\:border-info:hover{border-color:#00bde3}.desktop\:border-info-dark,.desktop\:hover\:border-info-dark:hover{border-color:#009ec1}.desktop\:border-info-darker,.desktop\:hover\:border-info-darker:hover{border-color:#2e6276}.desktop\:border-disabled-lighter,.desktop\:hover\:border-disabled-lighter:hover{border-color:#c9c9c9}.desktop\:border-disabled-light,.desktop\:hover\:border-disabled-light:hover{border-color:#919191}.desktop\:border-disabled,.desktop\:hover\:border-disabled:hover{border-color:#757575}.desktop\:border-disabled-dark,.desktop\:hover\:border-disabled-dark:hover{border-color:#454545}.desktop\:border-disabled-darker,.desktop\:hover\:border-disabled-darker:hover{border-color:#1b1b1b}.desktop\:border-emergency,.desktop\:hover\:border-emergency:hover{border-color:#9c3d10}.desktop\:border-emergency-dark,.desktop\:hover\:border-emergency-dark:hover{border-color:#332d29}.desktop\:radius-0{border-radius:0}.desktop\:radius-top-0{border-top-left-radius:0;border-top-right-radius:0}.desktop\:radius-right-0{border-top-right-radius:0;border-bottom-right-radius:0}.desktop\:radius-bottom-0{border-bottom-left-radius:0;border-bottom-right-radius:0}.desktop\:radius-left-0{border-top-left-radius:0;border-bottom-left-radius:0}.desktop\:radius-sm{border-radius:2px}.desktop\:radius-top-sm{border-top-left-radius:2px;border-top-right-radius:2px}.desktop\:radius-right-sm{border-top-right-radius:2px;border-bottom-right-radius:2px}.desktop\:radius-bottom-sm{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.desktop\:radius-left-sm{border-top-left-radius:2px;border-bottom-left-radius:2px}.desktop\:radius-md{border-radius:.25rem}.desktop\:radius-top-md{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.desktop\:radius-right-md{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.desktop\:radius-bottom-md{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.desktop\:radius-left-md{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.desktop\:radius-lg{border-radius:.5rem}.desktop\:radius-top-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.desktop\:radius-right-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.desktop\:radius-bottom-lg{border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}.desktop\:radius-left-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.desktop\:radius-pill{border-radius:99rem}.desktop\:radius-top-pill{border-top-left-radius:99rem;border-top-right-radius:99rem}.desktop\:radius-right-pill{border-top-right-radius:99rem;border-bottom-right-radius:99rem}.desktop\:radius-bottom-pill{border-bottom-left-radius:99rem;border-bottom-right-radius:99rem}.desktop\:radius-left-pill{border-top-left-radius:99rem;border-bottom-left-radius:99rem}.desktop\:display-block{display:block}.desktop\:display-flex{display:flex}.desktop\:display-none{display:none}.desktop\:display-inline{display:inline}.desktop\:display-inline-block{display:inline-block}.desktop\:display-inline-flex{display:inline-flex}.desktop\:display-table{display:table}.desktop\:display-table-cell{display:table-cell}.desktop\:display-table-row{display:table-row}.desktop\:font-mono-3xs{font-size:.77rem}.desktop\:font-mono-2xs{font-size:.83rem}.desktop\:font-mono-xs{font-size:.89rem}.desktop\:font-mono-sm{font-size:.95rem}.desktop\:font-mono-md{font-size:1.01rem}.desktop\:font-mono-lg{font-size:1.31rem}.desktop\:font-mono-xl{font-size:1.91rem}.desktop\:font-mono-2xl{font-size:2.38rem}.desktop\:font-mono-3xl{font-size:2.86rem}.desktop\:font-sans-3xs{font-size:.87rem}.desktop\:font-sans-2xs{font-size:.93rem}.desktop\:font-sans-xs{font-size:1rem}.desktop\:font-sans-sm{font-size:1.06rem}.desktop\:font-sans-md{font-size:1.13rem}.desktop\:font-sans-lg{font-size:1.46rem}.desktop\:font-sans-xl{font-size:2.13rem}.desktop\:font-sans-2xl{font-size:2.66rem}.desktop\:font-sans-3xl{font-size:3.19rem}.desktop\:font-serif-3xs{font-size:.79rem}.desktop\:font-serif-2xs{font-size:.85rem}.desktop\:font-serif-xs{font-size:.91rem}.desktop\:font-serif-sm{font-size:.98rem}.desktop\:font-serif-md{font-size:1.04rem}.desktop\:font-serif-lg{font-size:1.34rem}.desktop\:font-serif-xl{font-size:1.95rem}.desktop\:font-serif-2xl{font-size:2.44rem}.desktop\:font-serif-3xl{font-size:2.93rem}.desktop\:font-heading-3xs{font-size:.79rem}.desktop\:font-heading-2xs{font-size:.85rem}.desktop\:font-heading-xs{font-size:.91rem}.desktop\:font-heading-sm{font-size:.98rem}.desktop\:font-heading-md{font-size:1.04rem}.desktop\:font-heading-lg{font-size:1.34rem}.desktop\:font-heading-xl{font-size:1.95rem}.desktop\:font-heading-2xl{font-size:2.44rem}.desktop\:font-heading-3xl{font-size:2.93rem}.desktop\:font-body-3xs{font-size:.87rem}.desktop\:font-body-2xs{font-size:.93rem}.desktop\:font-body-xs{font-size:1rem}.desktop\:font-body-sm{font-size:1.06rem}.desktop\:font-body-md{font-size:1.13rem}.desktop\:font-body-lg{font-size:1.46rem}.desktop\:font-body-xl{font-size:2.13rem}.desktop\:font-body-2xl{font-size:2.66rem}.desktop\:font-body-3xl{font-size:3.19rem}.desktop\:font-code-3xs{font-size:.77rem}.desktop\:font-code-2xs{font-size:.83rem}.desktop\:font-code-xs{font-size:.89rem}.desktop\:font-code-sm{font-size:.95rem}.desktop\:font-code-md{font-size:1.01rem}.desktop\:font-code-lg{font-size:1.31rem}.desktop\:font-code-xl{font-size:1.91rem}.desktop\:font-code-2xl{font-size:2.38rem}.desktop\:font-code-3xl{font-size:2.86rem}.desktop\:font-alt-3xs{font-size:.79rem}.desktop\:font-alt-2xs{font-size:.85rem}.desktop\:font-alt-xs{font-size:.91rem}.desktop\:font-alt-sm{font-size:.98rem}.desktop\:font-alt-md{font-size:1.04rem}.desktop\:font-alt-lg{font-size:1.34rem}.desktop\:font-alt-xl{font-size:1.95rem}.desktop\:font-alt-2xl{font-size:2.44rem}.desktop\:font-alt-3xl{font-size:2.93rem}.desktop\:font-ui-3xs{font-size:.87rem}.desktop\:font-ui-2xs{font-size:.93rem}.desktop\:font-ui-xs{font-size:1rem}.desktop\:font-ui-sm{font-size:1.06rem}.desktop\:font-ui-md{font-size:1.13rem}.desktop\:font-ui-lg{font-size:1.46rem}.desktop\:font-ui-xl{font-size:2.13rem}.desktop\:font-ui-2xl{font-size:2.66rem}.desktop\:font-ui-3xl{font-size:3.19rem}.desktop\:text-light{font-weight:300}.desktop\:text-normal{font-weight:400}.desktop\:text-bold{font-weight:700}.desktop\:flex-justify-center{justify-content:center}.desktop\:flex-justify-start{justify-content:flex-start}.desktop\:flex-justify-end{justify-content:flex-end}.desktop\:flex-justify{justify-content:space-between}.desktop\:line-height-sans-1{line-height:.9}.desktop\:line-height-sans-2{line-height:1.1}.desktop\:line-height-sans-3{line-height:1.3}.desktop\:line-height-sans-4{line-height:1.4}.desktop\:line-height-sans-5{line-height:1.5}.desktop\:line-height-sans-6{line-height:1.6}.desktop\:line-height-serif-1{line-height:1}.desktop\:line-height-serif-2{line-height:1.2}.desktop\:line-height-serif-3{line-height:1.4}.desktop\:line-height-serif-4{line-height:1.5}.desktop\:line-height-serif-5{line-height:1.7}.desktop\:line-height-serif-6{line-height:1.8}.desktop\:line-height-mono-1{line-height:1}.desktop\:line-height-mono-2{line-height:1.3}.desktop\:line-height-mono-3{line-height:1.4}.desktop\:line-height-mono-4{line-height:1.6}.desktop\:line-height-mono-5{line-height:1.7}.desktop\:line-height-mono-6{line-height:1.8}.desktop\:line-height-heading-1{line-height:1}.desktop\:line-height-heading-2{line-height:1.2}.desktop\:line-height-heading-3{line-height:1.4}.desktop\:line-height-heading-4{line-height:1.5}.desktop\:line-height-heading-5{line-height:1.7}.desktop\:line-height-heading-6{line-height:1.8}.desktop\:line-height-ui-1{line-height:.9}.desktop\:line-height-ui-2{line-height:1.1}.desktop\:line-height-ui-3{line-height:1.3}.desktop\:line-height-ui-4{line-height:1.4}.desktop\:line-height-ui-5{line-height:1.5}.desktop\:line-height-ui-6{line-height:1.6}.desktop\:line-height-body-1{line-height:.9}.desktop\:line-height-body-2{line-height:1.1}.desktop\:line-height-body-3{line-height:1.3}.desktop\:line-height-body-4{line-height:1.4}.desktop\:line-height-body-5{line-height:1.5}.desktop\:line-height-body-6{line-height:1.6}.desktop\:line-height-code-1{line-height:1}.desktop\:line-height-code-2{line-height:1.3}.desktop\:line-height-code-3{line-height:1.4}.desktop\:line-height-code-4{line-height:1.6}.desktop\:line-height-code-5{line-height:1.7}.desktop\:line-height-code-6{line-height:1.8}.desktop\:line-height-alt-1{line-height:1}.desktop\:line-height-alt-2{line-height:1.2}.desktop\:line-height-alt-3{line-height:1.4}.desktop\:line-height-alt-4{line-height:1.5}.desktop\:line-height-alt-5{line-height:1.7}.desktop\:line-height-alt-6{line-height:1.8}.desktop\:margin-neg-1px{margin:-1px}.desktop\:margin-neg-2px{margin:-2px}.desktop\:margin-neg-05{margin:-.25rem}.desktop\:margin-neg-1{margin:-.5rem}.desktop\:margin-neg-105{margin:-.75rem}.desktop\:margin-neg-2{margin:-1rem}.desktop\:margin-neg-205{margin:-1.25rem}.desktop\:margin-neg-3{margin:-1.5rem}.desktop\:margin-1px{margin:1px}.desktop\:margin-2px{margin:2px}.desktop\:margin-05{margin:.25rem}.desktop\:margin-1{margin:.5rem}.desktop\:margin-105{margin:.75rem}.desktop\:margin-2{margin:1rem}.desktop\:margin-205{margin:1.25rem}.desktop\:margin-3{margin:1.5rem}.desktop\:margin-neg-4{margin:-2rem}.desktop\:margin-neg-5{margin:-2.5rem}.desktop\:margin-neg-6{margin:-3rem}.desktop\:margin-neg-7{margin:-3.5rem}.desktop\:margin-neg-8{margin:-4rem}.desktop\:margin-neg-9{margin:-4.5rem}.desktop\:margin-neg-10{margin:-5rem}.desktop\:margin-neg-15{margin:-7.5rem}.desktop\:margin-4{margin:2rem}.desktop\:margin-5{margin:2.5rem}.desktop\:margin-6{margin:3rem}.desktop\:margin-7{margin:3.5rem}.desktop\:margin-8{margin:4rem}.desktop\:margin-9{margin:4.5rem}.desktop\:margin-10{margin:5rem}.desktop\:margin-15{margin:7.5rem}.desktop\:margin-05em{margin:.5em}.desktop\:margin-1em{margin:1em}.desktop\:margin-105em{margin:1.5em}.desktop\:margin-2em{margin:2em}.desktop\:margin-0{margin:0}.desktop\:margin-y-1px{margin-top:1px;margin-bottom:1px}.desktop\:margin-top-1px{margin-top:1px}.desktop\:margin-bottom-1px{margin-bottom:1px}.desktop\:margin-y-2px{margin-top:2px;margin-bottom:2px}.desktop\:margin-top-2px{margin-top:2px}.desktop\:margin-bottom-2px{margin-bottom:2px}.desktop\:margin-y-05{margin-top:.25rem;margin-bottom:.25rem}.desktop\:margin-top-05{margin-top:.25rem}.desktop\:margin-bottom-05{margin-bottom:.25rem}.desktop\:margin-y-1{margin-top:.5rem;margin-bottom:.5rem}.desktop\:margin-top-1{margin-top:.5rem}.desktop\:margin-bottom-1{margin-bottom:.5rem}.desktop\:margin-y-105{margin-top:.75rem;margin-bottom:.75rem}.desktop\:margin-top-105{margin-top:.75rem}.desktop\:margin-bottom-105{margin-bottom:.75rem}.desktop\:margin-y-2{margin-top:1rem;margin-bottom:1rem}.desktop\:margin-top-2{margin-top:1rem}.desktop\:margin-bottom-2{margin-bottom:1rem}.desktop\:margin-y-205{margin-top:1.25rem;margin-bottom:1.25rem}.desktop\:margin-top-205{margin-top:1.25rem}.desktop\:margin-bottom-205{margin-bottom:1.25rem}.desktop\:margin-y-3{margin-top:1.5rem;margin-bottom:1.5rem}.desktop\:margin-top-3{margin-top:1.5rem}.desktop\:margin-bottom-3{margin-bottom:1.5rem}.desktop\:margin-y-neg-1px{margin-top:-1px;margin-bottom:-1px}.desktop\:margin-top-neg-1px{margin-top:-1px}.desktop\:margin-bottom-neg-1px{margin-bottom:-1px}.desktop\:margin-y-neg-2px{margin-top:-2px;margin-bottom:-2px}.desktop\:margin-top-neg-2px{margin-top:-2px}.desktop\:margin-bottom-neg-2px{margin-bottom:-2px}.desktop\:margin-y-neg-05{margin-top:-.25rem;margin-bottom:-.25rem}.desktop\:margin-top-neg-05{margin-top:-.25rem}.desktop\:margin-bottom-neg-05{margin-bottom:-.25rem}.desktop\:margin-y-neg-1{margin-top:-.5rem;margin-bottom:-.5rem}.desktop\:margin-top-neg-1{margin-top:-.5rem}.desktop\:margin-bottom-neg-1{margin-bottom:-.5rem}.desktop\:margin-y-neg-105{margin-top:-.75rem;margin-bottom:-.75rem}.desktop\:margin-top-neg-105{margin-top:-.75rem}.desktop\:margin-bottom-neg-105{margin-bottom:-.75rem}.desktop\:margin-y-neg-2{margin-top:-1rem;margin-bottom:-1rem}.desktop\:margin-top-neg-2{margin-top:-1rem}.desktop\:margin-bottom-neg-2{margin-bottom:-1rem}.desktop\:margin-y-neg-205{margin-top:-1.25rem;margin-bottom:-1.25rem}.desktop\:margin-top-neg-205{margin-top:-1.25rem}.desktop\:margin-bottom-neg-205{margin-bottom:-1.25rem}.desktop\:margin-y-neg-3{margin-top:-1.5rem;margin-bottom:-1.5rem}.desktop\:margin-top-neg-3{margin-top:-1.5rem}.desktop\:margin-bottom-neg-3{margin-bottom:-1.5rem}.desktop\:margin-y-neg-4{margin-top:-2rem;margin-bottom:-2rem}.desktop\:margin-top-neg-4{margin-top:-2rem}.desktop\:margin-bottom-neg-4{margin-bottom:-2rem}.desktop\:margin-y-neg-5{margin-top:-2.5rem;margin-bottom:-2.5rem}.desktop\:margin-top-neg-5{margin-top:-2.5rem}.desktop\:margin-bottom-neg-5{margin-bottom:-2.5rem}.desktop\:margin-y-neg-6{margin-top:-3rem;margin-bottom:-3rem}.desktop\:margin-top-neg-6{margin-top:-3rem}.desktop\:margin-bottom-neg-6{margin-bottom:-3rem}.desktop\:margin-y-neg-7{margin-top:-3.5rem;margin-bottom:-3.5rem}.desktop\:margin-top-neg-7{margin-top:-3.5rem}.desktop\:margin-bottom-neg-7{margin-bottom:-3.5rem}.desktop\:margin-y-neg-8{margin-top:-4rem;margin-bottom:-4rem}.desktop\:margin-top-neg-8{margin-top:-4rem}.desktop\:margin-bottom-neg-8{margin-bottom:-4rem}.desktop\:margin-y-neg-9{margin-top:-4.5rem;margin-bottom:-4.5rem}.desktop\:margin-top-neg-9{margin-top:-4.5rem}.desktop\:margin-bottom-neg-9{margin-bottom:-4.5rem}.desktop\:margin-y-neg-10{margin-top:-5rem;margin-bottom:-5rem}.desktop\:margin-top-neg-10{margin-top:-5rem}.desktop\:margin-bottom-neg-10{margin-bottom:-5rem}.desktop\:margin-y-neg-15{margin-top:-7.5rem;margin-bottom:-7.5rem}.desktop\:margin-top-neg-15{margin-top:-7.5rem}.desktop\:margin-bottom-neg-15{margin-bottom:-7.5rem}.desktop\:margin-y-4{margin-top:2rem;margin-bottom:2rem}.desktop\:margin-top-4{margin-top:2rem}.desktop\:margin-bottom-4{margin-bottom:2rem}.desktop\:margin-y-5{margin-top:2.5rem;margin-bottom:2.5rem}.desktop\:margin-top-5{margin-top:2.5rem}.desktop\:margin-bottom-5{margin-bottom:2.5rem}.desktop\:margin-y-6{margin-top:3rem;margin-bottom:3rem}.desktop\:margin-top-6{margin-top:3rem}.desktop\:margin-bottom-6{margin-bottom:3rem}.desktop\:margin-y-7{margin-top:3.5rem;margin-bottom:3.5rem}.desktop\:margin-top-7{margin-top:3.5rem}.desktop\:margin-bottom-7{margin-bottom:3.5rem}.desktop\:margin-y-8{margin-top:4rem;margin-bottom:4rem}.desktop\:margin-top-8{margin-top:4rem}.desktop\:margin-bottom-8{margin-bottom:4rem}.desktop\:margin-y-9{margin-top:4.5rem;margin-bottom:4.5rem}.desktop\:margin-top-9{margin-top:4.5rem}.desktop\:margin-bottom-9{margin-bottom:4.5rem}.desktop\:margin-y-10{margin-top:5rem;margin-bottom:5rem}.desktop\:margin-top-10{margin-top:5rem}.desktop\:margin-bottom-10{margin-bottom:5rem}.desktop\:margin-y-15{margin-top:7.5rem;margin-bottom:7.5rem}.desktop\:margin-top-15{margin-top:7.5rem}.desktop\:margin-bottom-15{margin-bottom:7.5rem}.desktop\:margin-y-05em{margin-top:.5em;margin-bottom:.5em}.desktop\:margin-top-05em{margin-top:.5em}.desktop\:margin-bottom-05em{margin-bottom:.5em}.desktop\:margin-y-1em{margin-top:1em;margin-bottom:1em}.desktop\:margin-top-1em{margin-top:1em}.desktop\:margin-bottom-1em{margin-bottom:1em}.desktop\:margin-y-105em{margin-top:1.5em;margin-bottom:1.5em}.desktop\:margin-top-105em{margin-top:1.5em}.desktop\:margin-bottom-105em{margin-bottom:1.5em}.desktop\:margin-y-2em{margin-top:2em;margin-bottom:2em}.desktop\:margin-top-2em{margin-top:2em}.desktop\:margin-bottom-2em{margin-bottom:2em}.desktop\:margin-y-0{margin-top:0;margin-bottom:0}.desktop\:margin-top-0{margin-top:0}.desktop\:margin-bottom-0{margin-bottom:0}.desktop\:margin-y-auto{margin-top:auto;margin-bottom:auto}.desktop\:margin-top-auto{margin-top:auto}.desktop\:margin-bottom-auto{margin-bottom:auto}.desktop\:margin-x-1px{margin-left:1px;margin-right:1px}.desktop\:margin-right-1px{margin-right:1px}.desktop\:margin-left-1px{margin-left:1px}.desktop\:margin-x-2px{margin-left:2px;margin-right:2px}.desktop\:margin-right-2px{margin-right:2px}.desktop\:margin-left-2px{margin-left:2px}.desktop\:margin-x-05{margin-left:.25rem;margin-right:.25rem}.desktop\:margin-right-05{margin-right:.25rem}.desktop\:margin-left-05{margin-left:.25rem}.desktop\:margin-x-1{margin-left:.5rem;margin-right:.5rem}.desktop\:margin-right-1{margin-right:.5rem}.desktop\:margin-left-1{margin-left:.5rem}.desktop\:margin-x-105{margin-left:.75rem;margin-right:.75rem}.desktop\:margin-right-105{margin-right:.75rem}.desktop\:margin-left-105{margin-left:.75rem}.desktop\:margin-x-2{margin-left:1rem;margin-right:1rem}.desktop\:margin-right-2{margin-right:1rem}.desktop\:margin-left-2{margin-left:1rem}.desktop\:margin-x-205{margin-left:1.25rem;margin-right:1.25rem}.desktop\:margin-right-205{margin-right:1.25rem}.desktop\:margin-left-205{margin-left:1.25rem}.desktop\:margin-x-3{margin-left:1.5rem;margin-right:1.5rem}.desktop\:margin-right-3{margin-right:1.5rem}.desktop\:margin-left-3{margin-left:1.5rem}.desktop\:margin-x-neg-1px{margin-left:-1px;margin-right:-1px}.desktop\:margin-right-neg-1px{margin-right:-1px}.desktop\:margin-left-neg-1px{margin-left:-1px}.desktop\:margin-x-neg-2px{margin-left:-2px;margin-right:-2px}.desktop\:margin-right-neg-2px{margin-right:-2px}.desktop\:margin-left-neg-2px{margin-left:-2px}.desktop\:margin-x-neg-05{margin-left:-.25rem;margin-right:-.25rem}.desktop\:margin-right-neg-05{margin-right:-.25rem}.desktop\:margin-left-neg-05{margin-left:-.25rem}.desktop\:margin-x-neg-1{margin-left:-.5rem;margin-right:-.5rem}.desktop\:margin-right-neg-1{margin-right:-.5rem}.desktop\:margin-left-neg-1{margin-left:-.5rem}.desktop\:margin-x-neg-105{margin-left:-.75rem;margin-right:-.75rem}.desktop\:margin-right-neg-105{margin-right:-.75rem}.desktop\:margin-left-neg-105{margin-left:-.75rem}.desktop\:margin-x-neg-2{margin-left:-1rem;margin-right:-1rem}.desktop\:margin-right-neg-2{margin-right:-1rem}.desktop\:margin-left-neg-2{margin-left:-1rem}.desktop\:margin-x-neg-205{margin-left:-1.25rem;margin-right:-1.25rem}.desktop\:margin-right-neg-205{margin-right:-1.25rem}.desktop\:margin-left-neg-205{margin-left:-1.25rem}.desktop\:margin-x-neg-3{margin-left:-1.5rem;margin-right:-1.5rem}.desktop\:margin-right-neg-3{margin-right:-1.5rem}.desktop\:margin-left-neg-3{margin-left:-1.5rem}.desktop\:margin-x-neg-4{margin-left:-2rem;margin-right:-2rem}.desktop\:margin-right-neg-4{margin-right:-2rem}.desktop\:margin-left-neg-4{margin-left:-2rem}.desktop\:margin-x-neg-5{margin-left:-2.5rem;margin-right:-2.5rem}.desktop\:margin-right-neg-5{margin-right:-2.5rem}.desktop\:margin-left-neg-5{margin-left:-2.5rem}.desktop\:margin-x-neg-6{margin-left:-3rem;margin-right:-3rem}.desktop\:margin-right-neg-6{margin-right:-3rem}.desktop\:margin-left-neg-6{margin-left:-3rem}.desktop\:margin-x-neg-7{margin-left:-3.5rem;margin-right:-3.5rem}.desktop\:margin-right-neg-7{margin-right:-3.5rem}.desktop\:margin-left-neg-7{margin-left:-3.5rem}.desktop\:margin-x-neg-8{margin-left:-4rem;margin-right:-4rem}.desktop\:margin-right-neg-8{margin-right:-4rem}.desktop\:margin-left-neg-8{margin-left:-4rem}.desktop\:margin-x-neg-9{margin-left:-4.5rem;margin-right:-4.5rem}.desktop\:margin-right-neg-9{margin-right:-4.5rem}.desktop\:margin-left-neg-9{margin-left:-4.5rem}.desktop\:margin-x-neg-10{margin-left:-5rem;margin-right:-5rem}.desktop\:margin-right-neg-10{margin-right:-5rem}.desktop\:margin-left-neg-10{margin-left:-5rem}.desktop\:margin-x-neg-15{margin-left:-7.5rem;margin-right:-7.5rem}.desktop\:margin-right-neg-15{margin-right:-7.5rem}.desktop\:margin-left-neg-15{margin-left:-7.5rem}.desktop\:margin-x-4{margin-left:2rem;margin-right:2rem}.desktop\:margin-right-4{margin-right:2rem}.desktop\:margin-left-4{margin-left:2rem}.desktop\:margin-x-5{margin-left:2.5rem;margin-right:2.5rem}.desktop\:margin-right-5{margin-right:2.5rem}.desktop\:margin-left-5{margin-left:2.5rem}.desktop\:margin-x-6{margin-left:3rem;margin-right:3rem}.desktop\:margin-right-6{margin-right:3rem}.desktop\:margin-left-6{margin-left:3rem}.desktop\:margin-x-7{margin-left:3.5rem;margin-right:3.5rem}.desktop\:margin-right-7{margin-right:3.5rem}.desktop\:margin-left-7{margin-left:3.5rem}.desktop\:margin-x-8{margin-left:4rem;margin-right:4rem}.desktop\:margin-right-8{margin-right:4rem}.desktop\:margin-left-8{margin-left:4rem}.desktop\:margin-x-9{margin-left:4.5rem;margin-right:4.5rem}.desktop\:margin-right-9{margin-right:4.5rem}.desktop\:margin-left-9{margin-left:4.5rem}.desktop\:margin-x-10{margin-left:5rem;margin-right:5rem}.desktop\:margin-right-10{margin-right:5rem}.desktop\:margin-left-10{margin-left:5rem}.desktop\:margin-x-15{margin-left:7.5rem;margin-right:7.5rem}.desktop\:margin-right-15{margin-right:7.5rem}.desktop\:margin-left-15{margin-left:7.5rem}.desktop\:margin-x-card{margin-left:10rem;margin-right:10rem}.desktop\:margin-right-card{margin-right:10rem}.desktop\:margin-left-card{margin-left:10rem}.desktop\:margin-x-card-lg{margin-left:15rem;margin-right:15rem}.desktop\:margin-right-card-lg{margin-right:15rem}.desktop\:margin-left-card-lg{margin-left:15rem}.desktop\:margin-x-mobile{margin-left:20rem;margin-right:20rem}.desktop\:margin-right-mobile{margin-right:20rem}.desktop\:margin-left-mobile{margin-left:20rem}.desktop\:margin-x-05em{margin-left:.5em;margin-right:.5em}.desktop\:margin-right-05em{margin-right:.5em}.desktop\:margin-left-05em{margin-left:.5em}.desktop\:margin-x-1em{margin-left:1em;margin-right:1em}.desktop\:margin-right-1em{margin-right:1em}.desktop\:margin-left-1em{margin-left:1em}.desktop\:margin-x-105em{margin-left:1.5em;margin-right:1.5em}.desktop\:margin-right-105em{margin-right:1.5em}.desktop\:margin-left-105em{margin-left:1.5em}.desktop\:margin-x-2em{margin-left:2em;margin-right:2em}.desktop\:margin-right-2em{margin-right:2em}.desktop\:margin-left-2em{margin-left:2em}.desktop\:margin-x-0{margin-left:0;margin-right:0}.desktop\:margin-right-0{margin-right:0}.desktop\:margin-left-0{margin-left:0}.desktop\:margin-x-auto{margin-left:auto;margin-right:auto}.desktop\:margin-right-auto{margin-right:auto}.desktop\:margin-left-auto{margin-left:auto}.desktop\:measure-1{max-width:44ex}.desktop\:measure-2{max-width:60ex}.desktop\:measure-3{max-width:64ex}.desktop\:measure-4{max-width:68ex}.desktop\:measure-5{max-width:72ex}.desktop\:measure-6{max-width:88ex}.desktop\:measure-none{max-width:none}.desktop\:order-first{order:-1}.desktop\:order-last{order:999}.desktop\:order-initial{order:initial}.desktop\:order-0{order:0}.desktop\:order-1{order:1}.desktop\:order-2{order:2}.desktop\:order-3{order:3}.desktop\:order-4{order:4}.desktop\:order-5{order:5}.desktop\:order-6{order:6}.desktop\:order-7{order:7}.desktop\:order-8{order:8}.desktop\:order-9{order:9}.desktop\:order-10{order:10}.desktop\:order-11{order:11}.desktop\:padding-1px{padding:1px}.desktop\:padding-y-1px{padding-top:1px;padding-bottom:1px}.desktop\:padding-x-1px{padding-left:1px;padding-right:1px}.desktop\:padding-top-1px{padding-top:1px}.desktop\:padding-right-1px{padding-right:1px}.desktop\:padding-bottom-1px{padding-bottom:1px}.desktop\:padding-left-1px{padding-left:1px}.desktop\:padding-2px{padding:2px}.desktop\:padding-y-2px{padding-top:2px;padding-bottom:2px}.desktop\:padding-x-2px{padding-left:2px;padding-right:2px}.desktop\:padding-top-2px{padding-top:2px}.desktop\:padding-right-2px{padding-right:2px}.desktop\:padding-bottom-2px{padding-bottom:2px}.desktop\:padding-left-2px{padding-left:2px}.desktop\:padding-05{padding:.25rem}.desktop\:padding-y-05{padding-top:.25rem;padding-bottom:.25rem}.desktop\:padding-x-05{padding-left:.25rem;padding-right:.25rem}.desktop\:padding-top-05{padding-top:.25rem}.desktop\:padding-right-05{padding-right:.25rem}.desktop\:padding-bottom-05{padding-bottom:.25rem}.desktop\:padding-left-05{padding-left:.25rem}.desktop\:padding-1{padding:.5rem}.desktop\:padding-y-1{padding-top:.5rem;padding-bottom:.5rem}.desktop\:padding-x-1{padding-left:.5rem;padding-right:.5rem}.desktop\:padding-top-1{padding-top:.5rem}.desktop\:padding-right-1{padding-right:.5rem}.desktop\:padding-bottom-1{padding-bottom:.5rem}.desktop\:padding-left-1{padding-left:.5rem}.desktop\:padding-105{padding:.75rem}.desktop\:padding-y-105{padding-top:.75rem;padding-bottom:.75rem}.desktop\:padding-x-105{padding-left:.75rem;padding-right:.75rem}.desktop\:padding-top-105{padding-top:.75rem}.desktop\:padding-right-105{padding-right:.75rem}.desktop\:padding-bottom-105{padding-bottom:.75rem}.desktop\:padding-left-105{padding-left:.75rem}.desktop\:padding-2{padding:1rem}.desktop\:padding-y-2{padding-top:1rem;padding-bottom:1rem}.desktop\:padding-x-2{padding-left:1rem;padding-right:1rem}.desktop\:padding-top-2{padding-top:1rem}.desktop\:padding-right-2{padding-right:1rem}.desktop\:padding-bottom-2{padding-bottom:1rem}.desktop\:padding-left-2{padding-left:1rem}.desktop\:padding-205{padding:1.25rem}.desktop\:padding-y-205{padding-top:1.25rem;padding-bottom:1.25rem}.desktop\:padding-x-205{padding-left:1.25rem;padding-right:1.25rem}.desktop\:padding-top-205{padding-top:1.25rem}.desktop\:padding-right-205{padding-right:1.25rem}.desktop\:padding-bottom-205{padding-bottom:1.25rem}.desktop\:padding-left-205{padding-left:1.25rem}.desktop\:padding-3{padding:1.5rem}.desktop\:padding-y-3{padding-top:1.5rem;padding-bottom:1.5rem}.desktop\:padding-x-3{padding-left:1.5rem;padding-right:1.5rem}.desktop\:padding-top-3{padding-top:1.5rem}.desktop\:padding-right-3{padding-right:1.5rem}.desktop\:padding-bottom-3{padding-bottom:1.5rem}.desktop\:padding-left-3{padding-left:1.5rem}.desktop\:padding-4{padding:2rem}.desktop\:padding-y-4{padding-top:2rem;padding-bottom:2rem}.desktop\:padding-x-4{padding-left:2rem;padding-right:2rem}.desktop\:padding-top-4{padding-top:2rem}.desktop\:padding-right-4{padding-right:2rem}.desktop\:padding-bottom-4{padding-bottom:2rem}.desktop\:padding-left-4{padding-left:2rem}.desktop\:padding-5{padding:2.5rem}.desktop\:padding-y-5{padding-top:2.5rem;padding-bottom:2.5rem}.desktop\:padding-x-5{padding-left:2.5rem;padding-right:2.5rem}.desktop\:padding-top-5{padding-top:2.5rem}.desktop\:padding-right-5{padding-right:2.5rem}.desktop\:padding-bottom-5{padding-bottom:2.5rem}.desktop\:padding-left-5{padding-left:2.5rem}.desktop\:padding-6{padding:3rem}.desktop\:padding-y-6{padding-top:3rem;padding-bottom:3rem}.desktop\:padding-x-6{padding-left:3rem;padding-right:3rem}.desktop\:padding-top-6{padding-top:3rem}.desktop\:padding-right-6{padding-right:3rem}.desktop\:padding-bottom-6{padding-bottom:3rem}.desktop\:padding-left-6{padding-left:3rem}.desktop\:padding-7{padding:3.5rem}.desktop\:padding-y-7{padding-top:3.5rem;padding-bottom:3.5rem}.desktop\:padding-x-7{padding-left:3.5rem;padding-right:3.5rem}.desktop\:padding-top-7{padding-top:3.5rem}.desktop\:padding-right-7{padding-right:3.5rem}.desktop\:padding-bottom-7{padding-bottom:3.5rem}.desktop\:padding-left-7{padding-left:3.5rem}.desktop\:padding-8{padding:4rem}.desktop\:padding-y-8{padding-top:4rem;padding-bottom:4rem}.desktop\:padding-x-8{padding-left:4rem;padding-right:4rem}.desktop\:padding-top-8{padding-top:4rem}.desktop\:padding-right-8{padding-right:4rem}.desktop\:padding-bottom-8{padding-bottom:4rem}.desktop\:padding-left-8{padding-left:4rem}.desktop\:padding-9{padding:4.5rem}.desktop\:padding-y-9{padding-top:4.5rem;padding-bottom:4.5rem}.desktop\:padding-x-9{padding-left:4.5rem;padding-right:4.5rem}.desktop\:padding-top-9{padding-top:4.5rem}.desktop\:padding-right-9{padding-right:4.5rem}.desktop\:padding-bottom-9{padding-bottom:4.5rem}.desktop\:padding-left-9{padding-left:4.5rem}.desktop\:padding-10{padding:5rem}.desktop\:padding-y-10{padding-top:5rem;padding-bottom:5rem}.desktop\:padding-x-10{padding-left:5rem;padding-right:5rem}.desktop\:padding-top-10{padding-top:5rem}.desktop\:padding-right-10{padding-right:5rem}.desktop\:padding-bottom-10{padding-bottom:5rem}.desktop\:padding-left-10{padding-left:5rem}.desktop\:padding-15{padding:7.5rem}.desktop\:padding-y-15{padding-top:7.5rem;padding-bottom:7.5rem}.desktop\:padding-x-15{padding-left:7.5rem;padding-right:7.5rem}.desktop\:padding-top-15{padding-top:7.5rem}.desktop\:padding-right-15{padding-right:7.5rem}.desktop\:padding-bottom-15{padding-bottom:7.5rem}.desktop\:padding-left-15{padding-left:7.5rem}.desktop\:padding-0{padding:0}.desktop\:padding-y-0{padding-top:0;padding-bottom:0}.desktop\:padding-x-0{padding-left:0;padding-right:0}.desktop\:padding-top-0{padding-top:0}.desktop\:padding-right-0{padding-right:0}.desktop\:padding-bottom-0{padding-bottom:0}.desktop\:padding-left-0{padding-left:0}.desktop\:width-1px{width:1px}.desktop\:width-2px{width:2px}.desktop\:width-05{width:.25rem}.desktop\:width-1{width:.5rem}.desktop\:width-105{width:.75rem}.desktop\:width-2{width:1rem}.desktop\:width-205{width:1.25rem}.desktop\:width-3{width:1.5rem}.desktop\:width-4{width:2rem}.desktop\:width-5{width:2.5rem}.desktop\:width-6{width:3rem}.desktop\:width-7{width:3.5rem}.desktop\:width-8{width:4rem}.desktop\:width-9{width:4.5rem}.desktop\:width-10{width:5rem}.desktop\:width-15{width:7.5rem}.desktop\:width-card{width:10rem}.desktop\:width-card-lg{width:15rem}.desktop\:width-mobile{width:20rem}.desktop\:width-mobile-lg{width:30rem}.desktop\:width-tablet{width:40rem}.desktop\:width-tablet-lg{width:55rem}.desktop\:width-desktop{width:64rem}.desktop\:width-desktop-lg{width:75rem}.desktop\:width-widescreen{width:87.5rem}.desktop\:width-0{width:0}.desktop\:width-full{width:100%}.desktop\:width-auto{width:auto}}/*# sourceMappingURL=styles.css.map */ diff --git a/assets/css/styles.css.map b/assets/css/styles.css.map new file mode 100644 index 0000000..19208ce --- /dev/null +++ b/assets/css/styles.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["styles.css","../../node_modules/@uswds/uswds/packages/uswds-elements/lib/_normalize.scss","../../node_modules/@uswds/uswds/packages/usa-nav/src/styles/_usa-nav.scss","../../node_modules/@uswds/uswds/packages/uswds-elements/src/styles/_sizing.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/general/add-kerning.scss","../../node_modules/@uswds/uswds/packages/uswds-elements/src/styles/_typography.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/helpers/set-text-from-bg.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/helpers/set-text-and-bg.scss","../../node_modules/@uswds/uswds/packages/uswds-elements/src/styles/_body.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/placeholders/_forms.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_font.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_line-height.scss","","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_border.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/general/font-face.scss","../../node_modules/@uswds/uswds/packages/uswds-elements/src/styles/_focus.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/general/focus-outline.scss","../../node_modules/@uswds/uswds/packages/uswds-elements/src/styles/_img.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/general/media-link.scss","../../node_modules/@uswds/uswds/packages/uswds-helpers/src/styles/_usa-focus.scss","../../node_modules/@uswds/uswds/packages/uswds-helpers/src/styles/_usa-sr-only.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/general/screen-reader.scss","../../node_modules/@uswds/uswds/packages/usa-content/src/styles/_usa-content.scss","../../node_modules/@uswds/uswds/packages/usa-dark-background/src/styles/_usa-dark-background.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/helpers/set-link-from-bg.scss","../../node_modules/@uswds/uswds/packages/usa-display/src/styles/_usa-display.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_margin.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/typography/typeset.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/typography/headings.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/helpers/at-media.scss","../../node_modules/@uswds/uswds/packages/usa-intro/src/styles/_usa-intro.scss","../../node_modules/@uswds/uswds/packages/usa-icon/src/styles/_usa-icon.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_height.scss","../../node_modules/@uswds/uswds/packages/usa-link/src/styles/_usa-link.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/general/external-link.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/general/icon.scss","../../node_modules/@uswds/uswds/packages/usa-list/src/styles/_usa-list.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/typography/usa-list.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/typography/unstyled-list.scss","../../node_modules/@uswds/uswds/packages/usa-paragraph/src/styles/_usa-paragraph.scss","../../node_modules/@uswds/uswds/packages/usa-prose/src/styles/_usa-prose.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/general/table.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/typography/usa-table-styles.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/general/button-unstyled.scss","../../node_modules/@uswds/uswds/packages/usa-accordion/src/styles/_usa-accordion.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/general/add-background-svg.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/variables/border-high-contrast.scss","../../node_modules/@uswds/uswds/packages/usa-alert/src/styles/_usa-alert.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/helpers/alert-status-styles.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_padding.scss","../../node_modules/@uswds/uswds/packages/usa-banner/src/styles/_usa-banner.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_display.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_flex.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/general/layout-grid.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_width.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_max-width.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_measure.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_float.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_position.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_pin.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_text.scss","../../node_modules/@uswds/uswds/packages/usa-breadcrumb/src/styles/_usa-breadcrumb.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_white-space.scss","../../node_modules/@uswds/uswds/packages/usa-button-group/src/styles/_usa-button-group.scss","../../node_modules/@uswds/uswds/packages/usa-button/src/styles/_usa-button.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_disabled.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/general/button-disabled.scss","../../node_modules/@uswds/uswds/packages/usa-card/src/styles/_usa-card.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/typography/add-list-reset.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_order.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_background-color.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_border-radius.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_left.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/general/add-aspect.scss","../../node_modules/@uswds/uswds/packages/usa-checklist/src/styles/_usa-checklist.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/general/add-checkbox-placeholder.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/general/add-success-mark.scss","../../node_modules/@uswds/uswds/packages/usa-collection/src/styles/_usa-collection.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_align-items.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/general/media-block-img.scss","../../node_modules/@uswds/uswds/packages/usa-embed-container/src/styles/_usa-embed-container.scss","../../node_modules/@uswds/uswds/packages/usa-footer/src/styles/_usa-footer.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_font-weight.scss","../../node_modules/@uswds/uswds/packages/usa-form/src/styles/_usa-form.scss","../../node_modules/@uswds/uswds/packages/usa-graphic-list/src/styles/_usa-graphic-list.scss","../../node_modules/@uswds/uswds/packages/usa-header/src/styles/_usa-header.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/general/clearfix.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/settings/_settings-components.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/general/add-bar.scss","../../node_modules/@uswds/uswds/packages/usa-header/src/styles/_usa-megamenu.scss","../../node_modules/@uswds/uswds/packages/usa-header/src/styles/_usa-nav-container.scss","../../node_modules/@uswds/uswds/packages/usa-header/src/styles/_usa-navbar.scss","../../node_modules/@uswds/uswds/packages/usa-hero/src/styles/_usa-hero.scss","../../node_modules/@uswds/uswds/packages/usa-icon-list/src/styles/_usa-icon-list.scss","../../node_modules/@uswds/uswds/packages/usa-identifier/src/styles/_usa-identifier.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/utilities/_text-decoration.scss","../../node_modules/@uswds/uswds/packages/usa-in-page-navigation/src/styles/_usa-in-page-navigation.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/general/nav-list.scss","../../node_modules/@uswds/uswds/packages/usa-language-selector/src/styles/_usa-language-selector.scss","../../node_modules/@uswds/uswds/packages/usa-layout-docs/src/styles/_usa-layout-docs.scss","../../node_modules/@uswds/uswds/packages/usa-layout-grid/src/styles/_usa-layout-grid.scss","../../node_modules/@uswds/uswds/packages/usa-media-block/src/styles/_usa-media-block.scss","../../node_modules/@uswds/uswds/packages/usa-modal/src/styles/_usa-modal.scss","../../node_modules/@uswds/uswds/packages/usa-pagination/src/styles/_usa-pagination.scss","../../node_modules/@uswds/uswds/packages/usa-process-list/src/styles/_usa-process-list.scss","../../node_modules/@uswds/uswds/packages/usa-search/src/styles/_usa-search.scss","../../node_modules/@uswds/uswds/packages/usa-section/src/styles/_usa-section.scss","../../node_modules/@uswds/uswds/packages/usa-sidenav/src/styles/_usa-sidenav.scss","../../node_modules/@uswds/uswds/packages/usa-site-alert/src/styles/_usa-site-alert.scss","../../node_modules/@uswds/uswds/packages/usa-skipnav/src/styles/_usa-skipnav.scss","../../node_modules/@uswds/uswds/packages/usa-step-indicator/src/styles/_usa-step-indicator.scss","../../node_modules/@uswds/uswds/packages/usa-summary-box/src/styles/_usa-summary-box.scss","../../node_modules/@uswds/uswds/packages/usa-table/src/styles/_usa-table.scss","../../node_modules/@uswds/uswds/packages/usa-tag/src/styles/_usa-tag.scss","../../node_modules/@uswds/uswds/packages/usa-tooltip/src/styles/_usa-tooltip.scss","../../node_modules/@uswds/uswds/packages/usa-character-count/src/styles/_usa-character-count.scss","../../node_modules/@uswds/uswds/packages/usa-input/src/styles/_usa-input.scss","../../node_modules/@uswds/uswds/packages/usa-fieldset/src/styles/_usa-fieldset.scss","../../node_modules/@uswds/uswds/packages/usa-legend/src/styles/_usa-legend.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/helpers/add-label-styles.scss","../../node_modules/@uswds/uswds/packages/usa-input-list/src/styles/_usa-input-list.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/helpers/checkbox-and-radio-colors.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/helpers/format-input.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/helpers/format-label.scss","../../node_modules/@uswds/uswds/packages/usa-checkbox/src/styles/_usa-checkbox.scss","../../node_modules/@uswds/uswds/packages/usa-select/src/styles/_usa-select.scss","../../node_modules/@uswds/uswds/packages/usa-combo-box/src/styles/_usa-combo-box.scss","../../node_modules/@uswds/uswds/packages/usa-date-picker/src/styles/_usa-date-picker.scss","../../node_modules/@uswds/uswds/packages/usa-error-message/src/styles/_usa-error-message.scss","../../node_modules/@uswds/uswds/packages/usa-file-input/src/styles/_usa-file-input.scss","../../node_modules/@uswds/uswds/packages/usa-form-group/src/styles/_usa-form-group.scss","../../node_modules/@uswds/uswds/packages/usa-hint/src/styles/_usa-hint.scss","../../node_modules/@uswds/uswds/packages/usa-input-prefix-suffix/src/styles/_usa-input-prefix-suffix.scss","../../node_modules/@uswds/uswds/packages/usa-input-mask/src/styles/_usa-input-mask.scss","../../node_modules/@uswds/uswds/packages/usa-label/src/styles/_usa-label.scss","../../node_modules/@uswds/uswds/packages/usa-memorable-date/src/styles/_usa-memorable-date.scss","../../node_modules/@uswds/uswds/packages/usa-radio/src/styles/_usa-radio.scss","../../node_modules/@uswds/uswds/packages/usa-range/src/styles/_usa-range.scss","../../node_modules/@uswds/uswds/packages/usa-textarea/src/styles/_usa-textarea.scss","../../node_modules/@uswds/uswds/packages/usa-time-picker/src/styles/_usa-time-picker.scss","../../node_modules/@uswds/uswds/packages/uswds-utilities/src/styles/utility-fonts.scss","../../node_modules/@uswds/uswds/packages/uswds-utilities/src/styles/rules/add-aspect.scss","../../node_modules/@uswds/uswds/packages/uswds-core/src/styles/mixins/_utility-builder.scss"],"names":[],"mappings":"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ACE,YACA,CAAA,iBAEA,CAaM,mDACE,aADF,CAAA,wIACE,aADF,CAAA,gDACE,aADF,CAAA,0CACE,aADF,CAAA,+CACE,aADF,CAAA,iDACE,aADF,CAAA,kDACE,aADF,CAAA,qDACE,aADF,CAAA,mDACE,aADF,CAAA,6CACE,aADF,CAAA,mDACE,aADF,CAAA,kDACE,aADF,CAAA,oDACE,aADF,CAAA,uDACE,aADF,CAAA,qDACE,aADF,CAAA,+CACE,aADF,CAAA,qDACE,aADF,CAAA,oDACE,aADF,CAAA,sDACE,aADF,CAAA,yDACE,aADF,CAAA,uDACE,aADF,CAAA,iDACE,aADF,CAAA,sDACE,aADF,CAAA,wDACE,aADF,CAAA,yDACE,aADF,CAAA,uDACE,aADF,CAAA,iDACE,aADF,CAAA,sDACE,aADF,CAAA,wDACE,aADF,CAAA,mDACE,aADF,CAAA,iDACE,aADF,CAAA,2CACE,aADF,CAAA,gDACE,aADF,CAAA,kDACE,aADF,CAAA,qDACE,aADF,CAAA,mDACE,aADF,CAAA,6CACE,aADF,CAAA,kDACE,aADF,CAAA,oDACE,aADF,CAAA,qDACE,aADF,CAAA,mDACE,aADF,CAAA,6CACE,aADF,CAAA,kDACE,aADF,CAAA,oDACE,aADF,CAAA,kDACE,aADF,CAAA,gDACE,aADF,CAAA,8KACE,aADF,CAAA,+CACE,aADF,CAAA,iDACE,aADF,CAAA,sDACE,aADF,CAAA,oDACE,aADF,CAAA,8CACE,aADF,CAAA,mDACE,aADF,CAAA,qDACE,aADF,CAAA,+CACE,aADF,CAAA,oDACE,aASV,CAAA,+BAGE,aACA,CAAA,aAEA,CAAA,iBACA,CAAA,YAMF,CAAA,gFrC1DA,cqCkEF,CAAA,4CrClEE,cqC8FU,CAAA,0DAEE,eACA,CAAA,cAIJ,CAAA,mDrCrGR,cqCwGU,CAAA,gBAEA,CAAA,oBAGA,CAAA,yEnFnFV,wEACA,CAAA,gBmFmEU,CAAA,sDAEE,aACA,CAAA,YAIJ,CAAA,+CrCrGR,cqCwGU,CAAA,eAEA,CAAA,mBAGA,CAAA,qEnFnFV,wEACA,CAAA,gBmFmE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,CAAA,kBpBCA,CAAA,gCuEDF,0BnDDE,iBACA,CAAA,kBAAA,CAAA,CAAA,wBvBOA,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,gCuEDF,wBnDDE,iBACA,CAAA,kBAAA,CAAA,CAAA,2BvBOA,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,gCuEDF,2BnDDE,iBACA,CAAA,kBAAA,CAAA,CAAA,2BvBOA,gBACA,CAAA,iB6BZF,CAAA,iBNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,gCuEDF,2BnDDE,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuESE,2B1EHF,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuESE,2BnDXF,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,gC1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,gCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,mC1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,mCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,kC1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,kCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,qC1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,qCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,kC1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,kCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,qC1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,qCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,mC1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,mCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,sC1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,sCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,sC1EVJ,gBACA,CAAA,iB6BZF,CAAA,iBNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,sCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuESE,wB1EHF,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuESE,wBnDXF,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,6B1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,6BnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,gC1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,gCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,+B1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,+BnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,kC1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,kCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,+B1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,+BnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,kC1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,kCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,gC1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,gCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,mC1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,mCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,mC1EVJ,gBACA,CAAA,iB6BZF,CAAA,iBNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,mCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuESE,yB1EHF,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuESE,yBnDXF,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,8B1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,8BnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,iC1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,iCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,gC1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,gCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,mC1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,mCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,gC1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,gCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,mC1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,mCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,iC1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,iCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,oC1EVJ,gBACA,CAAA,iB6BZF,CAAA,eNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,oCnDlBJ,iBACA,CAAA,kBpBCA,CAAA,CAAA,gCuEgBI,oC1EVJ,gBACA,CAAA,iB6BZF,CAAA,iBNGE,CAAA,iBACA,CAAA,kBpBCA,CAAA,CAAA,qDuEgBI,oCnDlBJ,iBACA,CAAA,kBmD2BJ,CAAA,CAAA,UjD/BE,YCiCM,CAAA,cgDEN,CAAA,mB1ExBE,kBACA,CAAA,mB2BOF,CAAA,qBJhBE,kBACA,CAAA,mBpBCA,CAAA,gCuE8BF,mB1ExBE,iBACA,CAAA,kB2BiBA,CAAA,qBJ1BA,iBACA,CAAA,kBmDmCA,CAAA,CAAA,qB1E5BA,aACA,CAAA,c2BiCE,CAAA,uBJ1CF,cACA,CAAA,emDmCA,CAAA,uB1E5BA,gBACA,CAAA,iB2BiDE,CAAA,yBJ1DF,gBACA,CAAA,iBmDmCA,CAAA,sB1E5BA,gBACA,CAAA,iB2BiDE,CAAA,wBJ1DF,gBACA,CAAA,iBmDmCA,CAAA,qB1E5BA,mBACA,CAAA,oB2BiDE,CAAA,uBJ1DF,mBACA,CAAA,oBmDmCA,CAAA,qB1E5BA,kBACA,CAAA,mB2BiDE,CAAA,uBJ1DF,kBACA,CAAA,mBmDmCA,CAAA,qB1E5BA,mBACA,CAAA,oB2BiDE,CAAA,uBJ1DF,mBACA,CAAA,oBmDmCA,CAAA,qB1E5BA,iBACA,CAAA,kB2BiDE,CAAA,uBJ1DF,iBACA,CAAA,kBmDmCA,CAAA,qB1E5BA,oBACA,CAAA,qB2BiDE,CAAA,uBJ1DF,oBACA,CAAA,qBmDmCA,CAAA,qB1E5BA,mBACA,CAAA,oB2BiDE,CAAA,uBJ1DF,mBACA,CAAA,oBmDmCA,CAAA,sB1E5BA,gBACA,CAAA,iB2BiDE,CAAA,wBJ1DF,gBACA,CAAA,iBmDmCA,CAAA,sB1E5BA,kBACA,CAAA,mB2BiDE,CAAA,wBJ1DF,kBACA,CAAA,mBmDmCA,CAAA,sB1E5BA,mBACA,CAAA,oB2BiDE,CAAA,wBJ1DF,mBACA,CAAA,oBpBCA,CAAA,gCuE+CM,gC1EzCN,aACA,CAAA,c2BiCE,CAAA,kCJ1CF,cACA,CAAA,emDgDM,CAAA,kC1EzCN,gBACA,CAAA,iB2BiDE,CAAA,oCJ1DF,gBACA,CAAA,iBmDgDM,CAAA,iC1EzCN,gBACA,CAAA,iB2BiDE,CAAA,mCJ1DF,gBACA,CAAA,iBmDgDM,CAAA,gC1EzCN,mBACA,CAAA,oB2BiDE,CAAA,kCJ1DF,mBACA,CAAA,oBmDgDM,CAAA,gC1EzCN,kBACA,CAAA,mB2BiDE,CAAA,kCJ1DF,kBACA,CAAA,mBmDgDM,CAAA,gC1EzCN,mBACA,CAAA,oB2BiDE,CAAA,kCJ1DF,mBACA,CAAA,oBmDgDM,CAAA,gC1EzCN,iBACA,CAAA,kB2BiDE,CAAA,kCJ1DF,iBACA,CAAA,kBmDgDM,CAAA,gC1EzCN,oBACA,CAAA,qB2BiDE,CAAA,kCJ1DF,oBACA,CAAA,qBmDgDM,CAAA,gC1EzCN,mBACA,CAAA,oB2BiDE,CAAA,kCJ1DF,mBACA,CAAA,oBmDgDM,CAAA,iC1EzCN,gBACA,CAAA,iB2BiDE,CAAA,mCJ1DF,gBACA,CAAA,iBmDgDM,CAAA,iC1EzCN,kBACA,CAAA,mB2BiDE,CAAA,mCJ1DF,kBACA,CAAA,mBmDgDM,CAAA,iC1EzCN,mBACA,CAAA,oB2BiDE,CAAA,mCJ1DF,mBACA,CAAA,oBpBCA,CAAA,CAAA,gCuE+CM,6B1EzCN,aACA,CAAA,c2BiCE,CAAA,+BJ1CF,cACA,CAAA,emDgDM,CAAA,+B1EzCN,gBACA,CAAA,iB2BiDE,CAAA,iCJ1DF,gBACA,CAAA,iBmDgDM,CAAA,8B1EzCN,gBACA,CAAA,iB2BiDE,CAAA,gCJ1DF,gBACA,CAAA,iBmDgDM,CAAA,6B1EzCN,mBACA,CAAA,oB2BiDE,CAAA,+BJ1DF,mBACA,CAAA,oBmDgDM,CAAA,6B1EzCN,kBACA,CAAA,mB2BiDE,CAAA,+BJ1DF,kBACA,CAAA,mBmDgDM,CAAA,6B1EzCN,mBACA,CAAA,oB2BiDE,CAAA,+BJ1DF,mBACA,CAAA,oBmDgDM,CAAA,6B1EzCN,iBACA,CAAA,kB2BiDE,CAAA,+BJ1DF,iBACA,CAAA,kBmDgDM,CAAA,6B1EzCN,oBACA,CAAA,qB2BiDE,CAAA,+BJ1DF,oBACA,CAAA,qBmDgDM,CAAA,6B1EzCN,mBACA,CAAA,oB2BiDE,CAAA,+BJ1DF,mBACA,CAAA,oBmDgDM,CAAA,8B1EzCN,gBACA,CAAA,iB2BiDE,CAAA,gCJ1DF,gBACA,CAAA,iBmDgDM,CAAA,8B1EzCN,kBACA,CAAA,mB2BiDE,CAAA,gCJ1DF,kBACA,CAAA,mBmDgDM,CAAA,8B1EzCN,mBACA,CAAA,oB2BiDE,CAAA,gCJ1DF,mBACA,CAAA,oBpBCA,CAAA,CAAA,gCuE+CM,8B1EzCN,aACA,CAAA,c2BiCE,CAAA,gCJ1CF,cACA,CAAA,emDgDM,CAAA,gC1EzCN,gBACA,CAAA,iB2BiDE,CAAA,kCJ1DF,gBACA,CAAA,iBmDgDM,CAAA,+B1EzCN,gBACA,CAAA,iB2BiDE,CAAA,iCJ1DF,gBACA,CAAA,iBmDgDM,CAAA,8B1EzCN,mBACA,CAAA,oB2BiDE,CAAA,gCJ1DF,mBACA,CAAA,oBmDgDM,CAAA,8B1EzCN,kBACA,CAAA,mB2BiDE,CAAA,gCJ1DF,kBACA,CAAA,mBmDgDM,CAAA,8B1EzCN,mBACA,CAAA,oB2BiDE,CAAA,gCJ1DF,mBACA,CAAA,oBmDgDM,CAAA,8B1EzCN,iBACA,CAAA,kB2BiDE,CAAA,gCJ1DF,iBACA,CAAA,kBmDgDM,CAAA,8B1EzCN,oBACA,CAAA,qB2BiDE,CAAA,gCJ1DF,oBACA,CAAA,qBmDgDM,CAAA,8B1EzCN,mBACA,CAAA,oB2BiDE,CAAA,gCJ1DF,mBACA,CAAA,oBmDgDM,CAAA,+B1EzCN,gBACA,CAAA,iB2BiDE,CAAA,iCJ1DF,gBACA,CAAA,iBmDgDM,CAAA,+B1EzCN,kBACA,CAAA,mB2BiDE,CAAA,iCJ1DF,kBACA,CAAA,mBmDgDM,CAAA,+B1EzCN,mBACA,CAAA,oB2BiDE,CAAA,iCJ1DF,mBACA,CAAA,oBmD2DJ,CAAA,CAAA,kB1C/DE,iBAAA,CAAA,U0CkEA,CAAA,qBAGF,CAAA,UhDpCQ,WEjCN,CAAA,UAAA,CAAA,cD4FI,CAAA,a+ClBN,CAAA,8BhDzCQ,aEjCN,CAAA,UAAA,CAAA,c8C+EF,CAAA,ehD9CQ,WEjCN,CD4FI,a+CNJ,CAAA,wBhDrDM,aEjCN,CAAA,mB8CsFA,CAAA,Y9CtFA,oB8CsFA,CAAA,wBhDrDM,aEjCN,CAAA,S8CsFA,CAAA,Y9CtFA,oB8CsFA,CAAA,wBhDrDM,aEjCN,CAAA,oB8CsFA,CAAA,Y9CtFA,S8CsFA,CAAA,wBhDrDM,aEjCN,CAAA,oB8CsFA,CAAA,Y9CtFA,oB8CsFA,CAAA,yBhDrDM,aEjCN,CAAA,S8CsFA,CAAA,a9CtFA,oB8CsFA,CAAA,0BhDrDM,aEjCN,CAAA,oB8CsFA,CAAA,a9CtFA,UzBKE,CAAA,gCuE2FE,+ChD/DE,WEjCN,CAAA,UAAA,CAAA,cD4FI,CAAA,a+CQA,CAIA,0BhDvEE,aEjCN,CAAA,UAAA,CAAA,c8C8GM,CAAA,uBhD7EA,aEjCN,CAAA,mB8C8GM,CAAA,uBhD7EA,aEjCN,CAAA,oB8C8GM,CAAA,uBhD7EA,aEjCN,CAAA,S8C8GM,CAAA,uBhD7EA,aEjCN,CAAA,oB8C8GM,CAAA,uBhD7EA,aEjCN,CAAA,oB8C8GM,CAAA,uBhD7EA,aEjCN,CAAA,S8C8GM,CAAA,uBhD7EA,aEjCN,CAAA,oB8C8GM,CAAA,uBhD7EA,aEjCN,CAAA,oB8C8GM,CAAA,uBhD7EA,aEjCN,CAAA,S8C8GM,CAAA,wBhD7EA,aEjCN,CAAA,oB8C8GM,CAAA,wBhD7EA,aEjCN,CAAA,oB8C8GM,CAAA,wBhD7EA,aEjCN,CAAA,UzBKE,CAAA,CAAA,gCuE2FE,yChD/DE,WEjCN,CAAA,UAAA,CAAA,cD4FI,CAAA,a+CQA,CAIA,uBhDvEE,aEjCN,CAAA,UAAA,CAAA,c8C8GM,CAAA,oBhD7EA,aEjCN,CAAA,mB8C8GM,CAAA,oBhD7EA,aEjCN,CAAA,oB8C8GM,CAAA,oBhD7EA,aEjCN,CAAA,S8C8GM,CAAA,oBhD7EA,aEjCN,CAAA,oB8C8GM,CAAA,oBhD7EA,aEjCN,CAAA,oB8C8GM,CAAA,oBhD7EA,aEjCN,CAAA,S8C8GM,CAAA,oBhD7EA,aEjCN,CAAA,oB8C8GM,CAAA,oBhD7EA,aEjCN,CAAA,oB8C8GM,CAAA,oBhD7EA,aEjCN,CAAA,S8C8GM,CAAA,qBhD7EA,aEjCN,CAAA,oB8C8GM,CAAA,qBhD7EA,aEjCN,CAAA,oB8C8GM,CAAA,qBhD7EA,aEjCN,CAAA,UzBKE,CAAA,CAAA,gCuE2FE,2ChD/DE,WEjCN,CAAA,UAAA,CAAA,cD4FI,CAAA,a+CQA,CAIA,wBhDvEE,aEjCN,CAAA,UAAA,CAAA,c8C8GM,CAAA,qBhD7EA,aEjCN,CAAA,mB8C8GM,CAAA,qBhD7EA,aEjCN,CAAA,oB8C8GM,CAAA,qBhD7EA,aEjCN,CAAA,S8C8GM,CAAA,qBhD7EA,aEjCN,CAAA,oB8C8GM,CAAA,qBhD7EA,aEjCN,CAAA,oB8C8GM,CAAA,qBhD7EA,aEjCN,CAAA,S8C8GM,CAAA,qBhD7EA,aEjCN,CAAA,oB8C8GM,CAAA,qBhD7EA,aEjCN,CAAA,oB8C8GM,CAAA,qBhD7EA,aEjCN,CAAA,S8C8GM,CAAA,sBhD7EA,aEjCN,CAAA,oB8C8GM,CAAA,sBhD7EA,aEjCN,CAAA,oB8C8GM,CAAA,sBhD7EA,aEjCN,CAAA,U8CyHA,CAAA,CAAA,e1E1DE,yB0E0DF,CAAA,e1E1DE,0B0E0DF,CAAA,e1E1DE,e0E0DF,CAAA,e1E1DE,0B0E0DF,CAAA,e1E1DE,0B0E0DF,CAAA,e1E1DE,e0E0DF,CAAA,e1E1DE,0B0E0DF,CAAA,e1E1DE,0B0E0DF,CAAA,e1E1DE,e0E0DF,CAAA,gB1E1DE,0B0E0DF,CAAA,gB1E1DE,0B0E0DF,CAAA,gB1E1DE,gB0E+DJ,CAAA,kB1E/DI,aG1DA,CAAA,gCuEmII,0B1EzEJ,yBG1DA,CuEmII,0B1EzEJ,0BG1DA,CuEmII,0B1EzEJ,eG1DA,CuEmII,0B1EzEJ,0BG1DA,CuEmII,0B1EzEJ,0BG1DA,CuEmII,0B1EzEJ,eG1DA,CuEmII,0B1EzEJ,0BG1DA,CuEmII,0B1EzEJ,0BG1DA,CuEmII,0B1EzEJ,eG1DA,CuEmII,2B1EzEJ,0BG1DA,CuEmII,2B1EzEJ,0BG1DA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","file":"styles.css","sourcesContent":["/*! based on uswds v3.11.0 */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;color:inherit}pre{font-family:monospace,monospace;font-size:1em}abbr[title]{text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}.usa-textarea,.usa-range,.usa-radio__label,.usa-input-group,.usa-hint,.usa-combo-box__input,.usa-combo-box__list,.usa-select,.usa-checkbox__label,.usa-fieldset,.usa-input{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.3}.usa-textarea,.usa-range,.usa-input-group,.usa-combo-box__input,.usa-select,.usa-input{border-width:1px;border-color:#565c65;border-style:solid;appearance:none;border-radius:0;color:#1b1b1b;display:block;height:2.5rem;margin-top:.5rem;max-width:30rem;padding:.5rem;width:100%}@font-face{font-family:\"Roboto Mono Web\";font-style:normal;font-weight:300;font-display:fallback;src:url(../fonts/roboto-mono/roboto-mono-v5-latin-300.woff2) format(\"woff2\")}@font-face{font-family:\"Roboto Mono Web\";font-style:normal;font-weight:400;font-display:fallback;src:url(../fonts/roboto-mono/roboto-mono-v5-latin-regular.woff2) format(\"woff2\")}@font-face{font-family:\"Roboto Mono Web\";font-style:normal;font-weight:700;font-display:fallback;src:url(../fonts/roboto-mono/roboto-mono-v5-latin-700.woff2) format(\"woff2\")}@font-face{font-family:\"Roboto Mono Web\";font-style:italic;font-weight:300;font-display:fallback;src:url(../fonts/roboto-mono/roboto-mono-v5-latin-300italic.woff2) format(\"woff2\")}@font-face{font-family:\"Roboto Mono Web\";font-style:italic;font-weight:400;font-display:fallback;src:url(../fonts/roboto-mono/roboto-mono-v5-latin-italic.woff2) format(\"woff2\")}@font-face{font-family:\"Roboto Mono Web\";font-style:italic;font-weight:700;font-display:fallback;src:url(../fonts/roboto-mono/roboto-mono-v5-latin-700italic.woff2) format(\"woff2\")}@font-face{font-family:\"Source Sans Pro Web\";font-style:normal;font-weight:300;font-display:fallback;src:url(../fonts/source-sans-pro/sourcesanspro-light-webfont.woff2) format(\"woff2\")}@font-face{font-family:\"Source Sans Pro Web\";font-style:normal;font-weight:400;font-display:fallback;src:url(../fonts/source-sans-pro/sourcesanspro-regular-webfont.woff2) format(\"woff2\")}@font-face{font-family:\"Source Sans Pro Web\";font-style:normal;font-weight:700;font-display:fallback;src:url(../fonts/source-sans-pro/sourcesanspro-bold-webfont.woff2) format(\"woff2\")}@font-face{font-family:\"Source Sans Pro Web\";font-style:italic;font-weight:300;font-display:fallback;src:url(../fonts/source-sans-pro/sourcesanspro-lightitalic-webfont.woff2) format(\"woff2\")}@font-face{font-family:\"Source Sans Pro Web\";font-style:italic;font-weight:400;font-display:fallback;src:url(../fonts/source-sans-pro/sourcesanspro-italic-webfont.woff2) format(\"woff2\")}@font-face{font-family:\"Source Sans Pro Web\";font-style:italic;font-weight:700;font-display:fallback;src:url(../fonts/source-sans-pro/sourcesanspro-bolditalic-webfont.woff2) format(\"woff2\")}@font-face{font-family:\"Merriweather Web\";font-style:normal;font-weight:300;font-display:fallback;src:url(../fonts/merriweather/Latin-Merriweather-Light.woff2) format(\"woff2\")}@font-face{font-family:\"Merriweather Web\";font-style:normal;font-weight:400;font-display:fallback;src:url(../fonts/merriweather/Latin-Merriweather-Regular.woff2) format(\"woff2\")}@font-face{font-family:\"Merriweather Web\";font-style:normal;font-weight:700;font-display:fallback;src:url(../fonts/merriweather/Latin-Merriweather-Bold.woff2) format(\"woff2\")}@font-face{font-family:\"Merriweather Web\";font-style:italic;font-weight:300;font-display:fallback;src:url(../fonts/merriweather/Latin-Merriweather-LightItalic.woff2) format(\"woff2\")}@font-face{font-family:\"Merriweather Web\";font-style:italic;font-weight:400;font-display:fallback;src:url(../fonts/merriweather/Latin-Merriweather-Italic.woff2) format(\"woff2\")}@font-face{font-family:\"Merriweather Web\";font-style:italic;font-weight:700;font-display:fallback;src:url(../fonts/merriweather/Latin-Merriweather-BoldItalic.woff2) format(\"woff2\")}body{color:#1b1b1b;background-color:#fff;overflow-x:hidden}input:not([disabled]):focus,select:not([disabled]):focus,textarea:not([disabled]):focus,button:not([disabled]):focus{outline:.25rem solid #2491ff;outline-offset:0rem}iframe:focus,[href]:focus,[tabindex]:focus,[contentEditable=true]:focus{outline:.25rem solid #2491ff;outline-offset:0rem}img{max-width:100%}.usa-media-link{display:inline-block;line-height:0}html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}html{font-feature-settings:\"kern\" 1;font-kerning:normal;font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:100%}cite,var,address,dfn{font-style:normal}.usa-focus{outline:.25rem solid #2491ff;outline-offset:0rem}.usa-sr-only{position:absolute;left:-999em;right:auto}.usa-content p,.usa-content ul:not(.usa-accordion):not(.usa-accordion--bordered),.usa-content ol:not(.usa-accordion):not(.usa-accordion--bordered){max-width:68ex}.usa-dark-background{background-color:#3d4551}.usa-dark-background p,.usa-dark-background span{color:#fff}.usa-dark-background a{color:#dfe1e2}.usa-dark-background a:visited{color:#dfe1e2}.usa-dark-background a:hover,.usa-dark-background a:active{color:#f0f0f0}.usa-display{margin-bottom:0;margin-top:0;clear:both;font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.34rem;line-height:1.2;font-weight:700;margin-bottom:0}*+.usa-display{margin-top:1.5em}.usa-display+*{margin-top:1em}@media all and (min-width: 30em){.usa-display{margin-bottom:0;margin-top:0;clear:both;font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.44rem;line-height:1.2;font-weight:700}*+.usa-display{margin-top:1.5em}.usa-display+*{margin-top:1em}}@media all and (min-width: 40em){.usa-display{margin-bottom:0;margin-top:0;clear:both;font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.93rem;line-height:1.2;font-weight:700}*+.usa-display{margin-top:1.5em}.usa-display+*{margin-top:1em}}.usa-intro{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.34rem;line-height:1.8;font-weight:400;max-width:88ex}.usa-icon{display:inline-block;fill:currentColor;height:1em;position:relative;width:1em}.usa-icon--size-3{height:1.5rem;width:1.5rem}.usa-icon--size-4{height:2rem;width:2rem}.usa-icon--size-5{height:2.5rem;width:2.5rem}.usa-icon--size-6{height:3rem;width:3rem}.usa-icon--size-7{height:3.5rem;width:3.5rem}.usa-icon--size-8{height:4rem;width:4rem}.usa-icon--size-9{height:4.5rem;width:4.5rem}.usa-link{color:#005ea2;text-decoration:underline}.usa-link:visited{color:#54278f}.usa-link:hover{color:#1a4480}.usa-link:active{color:#162e51}.usa-link:focus{outline:.25rem solid #2491ff;outline-offset:0rem}.usa-link--external{display:inline}.usa-link--external::before{position:absolute;left:-999em;right:auto;content:\"External.\"}.usa-link--external[target=_blank]::before{position:absolute;left:-999em;right:auto;content:\"External, opens in a new tab.\"}.usa-link--external::after{background-image:url(\"../img/usa-icons/launch.svg\");background-repeat:no-repeat;background-position:center center;background-size:1.75ex 1.75ex;display:inline-block;height:1.75ex;width:1.75ex;content:\"\";display:inline;margin-top:.7ex;margin-left:2px;padding-left:1.75ex;vertical-align:middle}@supports(mask: url(\"\")){.usa-link--external::after{background:none;background-color:currentColor;mask-image:url(\"../img/usa-icons/launch.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:1.75ex 1.75ex}}.usa-link--external.usa-link--alt{display:inline}.usa-link--external.usa-link--alt::before{position:absolute;left:-999em;right:auto;content:\"External.\"}.usa-link--external.usa-link--alt[target=_blank]::before{position:absolute;left:-999em;right:auto;content:\"External, opens in a new tab.\"}.usa-link--external.usa-link--alt::after{background-image:url(\"../img/usa-icons-bg/launch--white.svg\");background-repeat:no-repeat;background-position:center center;background-size:1.75ex 1.75ex;display:inline-block;height:1.75ex;width:1.75ex;content:\"\";display:inline;margin-top:.7ex;margin-left:2px;padding-left:1.75ex;vertical-align:middle}@supports(mask: url(\"\")){.usa-link--external.usa-link--alt::after{background:none;background-color:currentColor;mask-image:url(\"../img/usa-icons/launch.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:1.75ex 1.75ex}}.usa-list{margin-bottom:1em;margin-top:1em;line-height:1.5;padding-left:3ch}.usa-list:last-child{margin-bottom:0}.usa-list ul,.usa-list ol{margin-top:.25em}.usa-list li{margin-bottom:.25em;max-width:68ex}.usa-list li:last-child{margin-bottom:0}.usa-list--unstyled{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0}.usa-list--unstyled>li{margin-bottom:0;max-width:unset}.usa-prose .usa-list--unstyled{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0}.usa-prose .usa-list--unstyled>li{margin-bottom:0;max-width:unset}.usa-paragraph{line-height:1.5;max-width:68ex;margin-bottom:0;margin-top:0}*+.usa-paragraph{margin-top:1em}.usa-paragraph+*{margin-top:1em}.usa-prose{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5}.usa-prose>ul,.usa-prose>ol{margin-bottom:1em;margin-top:1em;line-height:1.5;padding-left:3ch}.usa-prose>ul:last-child,.usa-prose>ol:last-child{margin-bottom:0}.usa-prose>ul ul,.usa-prose>ul ol,.usa-prose>ol ul,.usa-prose>ol ol{margin-top:.25em}.usa-prose>ul li,.usa-prose>ol li{margin-bottom:.25em;max-width:68ex}.usa-prose>ul li:last-child,.usa-prose>ol li:last-child{margin-bottom:0}.usa-prose>table{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5;border-collapse:collapse;border-spacing:0;color:#1b1b1b;margin:1.25rem 0;text-align:left}.usa-prose>table thead td,.usa-prose>table tfoot td,.usa-prose>table th{background-clip:padding-box;line-height:1.3;background-color:#dfe1e2;color:#1b1b1b}.usa-prose>table th,.usa-prose>table td{border:1px solid #1b1b1b;padding:.5rem 1rem}.usa-prose>table td{background-color:#fff;font-weight:normal}.usa-prose>table caption{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1rem;font-weight:700;margin-bottom:.75rem;text-align:left}.usa-prose>table th[data-sortable]{padding-right:2.5rem;position:relative}.usa-prose>table th[data-sortable]::after{border-bottom-color:rgba(0,0,0,0);border-bottom-style:solid;border-bottom-width:1px;bottom:0;content:\"\";height:0;left:0;position:absolute;width:100%}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button{color:#005ea2;text-decoration:underline;background-color:rgba(0,0,0,0);border:0;border-radius:0;box-shadow:none;font-weight:normal;justify-content:normal;text-align:left;margin:0;padding:0;width:auto;height:2rem;width:2rem;background-position:center center;background-size:1.5rem;color:#71767a;cursor:pointer;display:inline-block;margin:0;position:absolute;right:.25rem;text-align:center;text-decoration:none;top:50%;transform:translate(0, -50%)}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:visited,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:visited{color:#54278f}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:hover{color:#1a4480}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:active,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:active{color:#162e51}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:focus,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:focus{outline:.25rem solid #2491ff;outline-offset:0rem}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:hover,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button.usa-button--hover,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:hover,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled.usa-button--hover,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true].usa-button--hover,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:active,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button.usa-button--active,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled:active,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:active,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled.usa-button--active,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true].usa-button--active,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled:focus,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:focus,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled.usa-focus,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true].usa-focus,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button.usa-button--disabled,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button.usa-button--hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled.usa-button--hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true].usa-button--hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:active,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button.usa-button--active,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled:active,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:active,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled.usa-button--active,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true].usa-button--active,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled:focus,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:focus,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled.usa-focus,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true].usa-focus,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button.usa-button--disabled{background-color:rgba(0,0,0,0);box-shadow:none;text-decoration:underline}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button.usa-button--hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button.usa-button--hover{color:#1a4480}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button.usa-button--active,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button.usa-button--active{color:#162e51}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:hover,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:focus,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:focus{color:#757575}@media(forced-colors: active){.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:hover,.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:focus,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:hover,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:focus{color:GrayText}}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button .usa-icon,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button .usa-icon{height:1.5rem;width:1.5rem;vertical-align:middle}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button .usa-icon>g,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button .usa-icon>g{fill:rgba(0,0,0,0)}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button .usa-icon>g.unsorted,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button .usa-icon>g.unsorted{fill:#1b1b1b}.usa-prose>table th[data-sortable]:not([aria-sort]) .usa-table__header__button:hover .usa-icon>g.unsorted,.usa-prose>table th[data-sortable][aria-sort=none] .usa-table__header__button:hover .usa-icon>g.unsorted{fill:#000}.usa-prose>table th[data-sortable][aria-sort=descending],.usa-prose>table th[data-sortable][aria-sort=ascending]{background-color:#97d4ea}.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button{color:#005ea2;text-decoration:underline;background-color:rgba(0,0,0,0);border:0;border-radius:0;box-shadow:none;font-weight:normal;justify-content:normal;text-align:left;margin:0;padding:0;width:auto;height:2rem;width:2rem;background-position:center center;background-size:1.5rem;color:#71767a;cursor:pointer;display:inline-block;margin:0;position:absolute;right:.25rem;text-align:center;text-decoration:none;top:50%;transform:translate(0, -50%)}.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:visited{color:#54278f}.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:hover{color:#1a4480}.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:active{color:#162e51}.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:focus{outline:.25rem solid #2491ff;outline-offset:0rem}.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:hover,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button.usa-button--hover,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:hover,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled.usa-button--hover,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true].usa-button--hover,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:active,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button.usa-button--active,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled:active,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:active,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled.usa-button--active,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true].usa-button--active,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled:focus,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:focus,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled.usa-focus,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true].usa-focus,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button.usa-button--disabled{background-color:rgba(0,0,0,0);box-shadow:none;text-decoration:underline}.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button.usa-button--hover{color:#1a4480}.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button.usa-button--active{color:#162e51}.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:hover,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:focus{color:#757575}@media(forced-colors: active){.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:hover,.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:focus{color:GrayText}}.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button .usa-icon{height:1.5rem;width:1.5rem;vertical-align:middle}.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button .usa-icon>g{fill:rgba(0,0,0,0)}.usa-prose>table th[data-sortable][aria-sort=descending] .usa-table__header__button .usa-icon>g.descending{fill:#1b1b1b}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button{color:#005ea2;text-decoration:underline;background-color:rgba(0,0,0,0);border:0;border-radius:0;box-shadow:none;font-weight:normal;justify-content:normal;text-align:left;margin:0;padding:0;width:auto;height:2rem;width:2rem;background-position:center center;background-size:1.5rem;color:#71767a;cursor:pointer;display:inline-block;margin:0;position:absolute;right:.25rem;text-align:center;text-decoration:none;top:50%;transform:translate(0, -50%)}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:visited{color:#54278f}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:hover{color:#1a4480}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:active{color:#162e51}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:focus{outline:.25rem solid #2491ff;outline-offset:0rem}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:hover,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button.usa-button--hover,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:hover,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled.usa-button--hover,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true].usa-button--hover,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:active,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button.usa-button--active,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled:active,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:active,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled.usa-button--active,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true].usa-button--active,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled:focus,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:focus,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled.usa-focus,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true].usa-focus,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button.usa-button--disabled{background-color:rgba(0,0,0,0);box-shadow:none;text-decoration:underline}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button.usa-button--hover{color:#1a4480}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button.usa-button--active{color:#162e51}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:hover,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:focus{color:#757575}@media(forced-colors: active){.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true],.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled:hover,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:hover,.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:focus{color:GrayText}}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button .usa-icon{height:1.5rem;width:1.5rem;vertical-align:middle}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button .usa-icon>g{fill:rgba(0,0,0,0)}.usa-prose>table th[data-sortable][aria-sort=ascending] .usa-table__header__button .usa-icon>g.ascending{fill:#1b1b1b}.usa-prose>table thead th[aria-sort]{background-color:#97d4ea;color:#1b1b1b}.usa-prose>table td[data-sort-active],.usa-prose>table th[data-sort-active]{background-color:#e1f3f8;color:#1b1b1b}.usa-prose>.usa-table--borderless th,.usa-prose>.usa-table--borderless thead td,.usa-prose>.usa-table--borderless tfoot td{background-color:#fff}.usa-prose>.usa-table--borderless th{border-top:0;color:#1b1b1b}.usa-prose>.usa-table--borderless th[aria-sort]{color:#1b1b1b}.usa-prose>.usa-table--borderless th[data-sortable]:not([aria-sort]) .usa-table__header__button .usa-icon>g.unsorted{fill:#1b1b1b}.usa-prose>.usa-table--borderless th[data-sortable]:not([aria-sort]) .usa-table__header__button:hover .usa-icon>g.unsorted{fill:#000}.usa-prose>.usa-table--borderless th,.usa-prose>.usa-table--borderless td{border-left:0;border-right:0}.usa-prose>.usa-table--compact th,.usa-prose>.usa-table--compact td{padding:.25rem .75rem}.usa-prose>.usa-table--striped tbody tr:nth-child(odd) td{background-color:#f0f0f0;color:#1b1b1b}.usa-prose>.usa-table--striped tbody tr:nth-child(odd) td[data-sort-active]{background-color:#c3ebfa;color:#1b1b1b}@media all and (max-width: 29.99em){.usa-prose>.usa-table--stacked thead{display:none}.usa-prose>.usa-table--stacked th{background-color:#fff}.usa-prose>.usa-table--stacked th,.usa-prose>.usa-table--stacked td{border-bottom-width:0;display:block;width:100%}.usa-prose>.usa-table--stacked tr{border-bottom:.25rem solid #1b1b1b;border-top-width:0;width:100%}.usa-prose>.usa-table--stacked tr th:first-child,.usa-prose>.usa-table--stacked tr td:first-child{border-top-width:0}.usa-prose>.usa-table--stacked tr:nth-child(odd) td,.usa-prose>.usa-table--stacked tr:nth-child(odd) th{background-color:inherit}.usa-prose>.usa-table--stacked tr:first-child th:first-child,.usa-prose>.usa-table--stacked tr:first-child td:first-child{border-top:.25rem solid #1b1b1b}.usa-prose>.usa-table--stacked th[data-label],.usa-prose>.usa-table--stacked td[data-label]{padding-bottom:.75rem}.usa-prose>.usa-table--stacked th[data-label]:before,.usa-prose>.usa-table--stacked td[data-label]:before{content:attr(data-label);display:block;font-weight:700;margin:-0.5rem -1rem 0rem;padding:.75rem 1rem .25rem}}@media all and (max-width: 29.99em){.usa-prose>.usa-table--stacked-header thead{display:none}.usa-prose>.usa-table--stacked-header th{background-color:#fff}.usa-prose>.usa-table--stacked-header th,.usa-prose>.usa-table--stacked-header td{border-bottom-width:0;display:block;width:100%}.usa-prose>.usa-table--stacked-header tr{border-bottom:.25rem solid #1b1b1b;border-top-width:0;width:100%}.usa-prose>.usa-table--stacked-header tr th:first-child,.usa-prose>.usa-table--stacked-header tr td:first-child{border-top-width:0}.usa-prose>.usa-table--stacked-header tr:nth-child(odd) td,.usa-prose>.usa-table--stacked-header tr:nth-child(odd) th{background-color:inherit}.usa-prose>.usa-table--stacked-header tr:first-child th:first-child,.usa-prose>.usa-table--stacked-header tr:first-child td:first-child{border-top:.25rem solid #1b1b1b}.usa-prose>.usa-table--stacked-header th[data-label],.usa-prose>.usa-table--stacked-header td[data-label]{padding-bottom:.75rem}.usa-prose>.usa-table--stacked-header th[data-label]:before,.usa-prose>.usa-table--stacked-header td[data-label]:before{content:attr(data-label);display:block;font-weight:700;margin:-0.5rem -1rem 0rem;padding:.75rem 1rem .25rem}.usa-prose>.usa-table--stacked-header tr td:first-child,.usa-prose>.usa-table--stacked-header tr th:first-child{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.1;background-color:#dfe1e2;color:#1b1b1b;font-weight:700;padding:.75rem 1rem}.usa-prose>.usa-table--stacked-header tr td:first-child:before,.usa-prose>.usa-table--stacked-header tr th:first-child:before{display:none}}.usa-prose>.width-mobile .usa-table--stacked thead{display:none}.usa-prose>.width-mobile .usa-table--stacked th{background-color:#fff}.usa-prose>.width-mobile .usa-table--stacked th,.usa-prose>.width-mobile .usa-table--stacked td{border-bottom-width:0;display:block;width:100%}.usa-prose>.width-mobile .usa-table--stacked tr{border-bottom:.25rem solid #1b1b1b;border-top-width:0;width:100%}.usa-prose>.width-mobile .usa-table--stacked tr th:first-child,.usa-prose>.width-mobile .usa-table--stacked tr td:first-child{border-top-width:0}.usa-prose>.width-mobile .usa-table--stacked tr:nth-child(odd) td,.usa-prose>.width-mobile .usa-table--stacked tr:nth-child(odd) th{background-color:inherit}.usa-prose>.width-mobile .usa-table--stacked tr:first-child th:first-child,.usa-prose>.width-mobile .usa-table--stacked tr:first-child td:first-child{border-top:.25rem solid #1b1b1b}.usa-prose>.width-mobile .usa-table--stacked th[data-label],.usa-prose>.width-mobile .usa-table--stacked td[data-label]{padding-bottom:.75rem}.usa-prose>.width-mobile .usa-table--stacked th[data-label]:before,.usa-prose>.width-mobile .usa-table--stacked td[data-label]:before{content:attr(data-label);display:block;font-weight:700;margin:-0.5rem -1rem 0rem;padding:.75rem 1rem .25rem}.usa-prose>.width-mobile .usa-table--stacked-header thead{display:none}.usa-prose>.width-mobile .usa-table--stacked-header th{background-color:#fff}.usa-prose>.width-mobile .usa-table--stacked-header th,.usa-prose>.width-mobile .usa-table--stacked-header td{border-bottom-width:0;display:block;width:100%}.usa-prose>.width-mobile .usa-table--stacked-header tr{border-bottom:.25rem solid #1b1b1b;border-top-width:0;width:100%}.usa-prose>.width-mobile .usa-table--stacked-header tr th:first-child,.usa-prose>.width-mobile .usa-table--stacked-header tr td:first-child{border-top-width:0}.usa-prose>.width-mobile .usa-table--stacked-header tr:nth-child(odd) td,.usa-prose>.width-mobile .usa-table--stacked-header tr:nth-child(odd) th{background-color:inherit}.usa-prose>.width-mobile .usa-table--stacked-header tr:first-child th:first-child,.usa-prose>.width-mobile .usa-table--stacked-header tr:first-child td:first-child{border-top:.25rem solid #1b1b1b}.usa-prose>.width-mobile .usa-table--stacked-header th[data-label],.usa-prose>.width-mobile .usa-table--stacked-header td[data-label]{padding-bottom:.75rem}.usa-prose>.width-mobile .usa-table--stacked-header th[data-label]:before,.usa-prose>.width-mobile .usa-table--stacked-header td[data-label]:before{content:attr(data-label);display:block;font-weight:700;margin:-0.5rem -1rem 0rem;padding:.75rem 1rem .25rem}.usa-prose>.width-mobile .usa-table--stacked-header tr td:first-child,.usa-prose>.width-mobile .usa-table--stacked-header tr th:first-child{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.1;background-color:#dfe1e2;color:#1b1b1b;font-weight:700;padding:.75rem 1rem}.usa-prose>.width-mobile .usa-table--stacked-header tr td:first-child:before,.usa-prose>.width-mobile .usa-table--stacked-header tr th:first-child:before{display:none}.usa-prose>.usa-table-container--scrollable{margin:1.25rem 0;overflow-y:hidden}.usa-prose>.usa-table-container--scrollable .usa-table{margin:0}.usa-prose>.usa-table-container--scrollable td{white-space:nowrap}.usa-prose>p{line-height:1.5;max-width:68ex}.usa-prose>h1,.usa-prose>h2,.usa-prose>h3,.usa-prose>h4,.usa-prose>h5,.usa-prose>h6{margin-bottom:0;margin-top:0;clear:both}.usa-prose>*+*{margin-top:1em;margin-bottom:0}.usa-prose>*+h1,.usa-prose>*+h2,.usa-prose>*+h3,.usa-prose>*+h4,.usa-prose>*+h5,.usa-prose>*+h6{margin-top:1.5em}.usa-prose>h1{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.44rem;line-height:1.2;font-weight:700}.usa-prose>h2{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.95rem;line-height:1.2;font-weight:700}.usa-prose>h3{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.34rem;line-height:1.2;font-weight:700}.usa-prose>h4{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.98rem;line-height:1.2;font-weight:700}.usa-prose>h5{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.91rem;line-height:1.2;font-weight:700}.usa-prose>h6{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:.87rem;line-height:1.1;font-weight:normal;letter-spacing:.025em;text-transform:uppercase}.usa-accordion{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;color:#1b1b1b;margin:0;padding:0;width:100%;font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5}.usa-accordion>li{margin-bottom:0;max-width:unset}.usa-accordion>ul li ul{list-style:disc}.usa-accordion>ul li ul>li>ul{list-style:circle}.usa-accordion>ul li ul>li>ul>li>ul{list-style:square}.usa-accordion+.usa-accordion,.usa-accordion+.usa-accordion--bordered{margin-top:.5rem}.usa-accordion--bordered .usa-accordion__content{border-bottom:.25rem solid #f0f0f0;border-left:.25rem solid #f0f0f0;border-right:.25rem solid #f0f0f0;padding-bottom:1rem}.usa-accordion--bordered .usa-accordion__heading{margin-bottom:0}.usa-accordion__heading,.usa-prose .usa-accordion__heading{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:.9;margin:0}.usa-accordion__heading:not(:first-child),.usa-prose .usa-accordion__heading:not(:first-child){margin-top:.5rem}.usa-accordion__content{color:#1b1b1b;background-color:#fff;margin-top:0;overflow:auto;padding:1rem 1.25rem calc(1rem - 0.25rem) 1.25rem}.usa-accordion__content>*:first-child{margin-top:0}.usa-accordion__content>*:last-child{margin-bottom:0}.usa-accordion__button{color:#005ea2;text-decoration:underline;background-color:rgba(0,0,0,0);border:0;border-radius:0;box-shadow:none;font-weight:normal;justify-content:normal;text-align:left;margin:0;padding:0;width:auto;color:#1b1b1b;background-color:#f0f0f0;background-image:url(\"../img/usa-icons/remove.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat;background-position:right 1.25rem center;background-size:1.5rem;cursor:pointer;display:inline-block;font-weight:700;margin:0;padding:1rem 3.5rem 1rem 1.25rem;text-decoration:none;width:100%}.usa-accordion__button:visited{color:#54278f}.usa-accordion__button:hover{color:#1a4480}.usa-accordion__button:active{color:#162e51}.usa-accordion__button:focus{outline:.25rem solid #2491ff;outline-offset:0rem}.usa-accordion__button:hover,.usa-accordion__button.usa-button--hover,.usa-accordion__button:disabled:hover,.usa-accordion__button[aria-disabled=true]:hover,.usa-accordion__button:disabled.usa-button--hover,.usa-accordion__button[aria-disabled=true].usa-button--hover,.usa-accordion__button:active,.usa-accordion__button.usa-button--active,.usa-accordion__button:disabled:active,.usa-accordion__button[aria-disabled=true]:active,.usa-accordion__button:disabled.usa-button--active,.usa-accordion__button[aria-disabled=true].usa-button--active,.usa-accordion__button:disabled:focus,.usa-accordion__button[aria-disabled=true]:focus,.usa-accordion__button:disabled.usa-focus,.usa-accordion__button[aria-disabled=true].usa-focus,.usa-accordion__button:disabled,.usa-accordion__button[aria-disabled=true],.usa-accordion__button.usa-button--disabled{background-color:rgba(0,0,0,0);box-shadow:none;text-decoration:underline}.usa-accordion__button.usa-button--hover{color:#1a4480}.usa-accordion__button.usa-button--active{color:#162e51}.usa-accordion__button:disabled,.usa-accordion__button[aria-disabled=true],.usa-accordion__button:disabled:hover,.usa-accordion__button[aria-disabled=true]:hover,.usa-accordion__button[aria-disabled=true]:focus{color:#757575}@media(forced-colors: active){.usa-accordion__button:disabled,.usa-accordion__button[aria-disabled=true],.usa-accordion__button:disabled:hover,.usa-accordion__button[aria-disabled=true]:hover,.usa-accordion__button[aria-disabled=true]:focus{color:GrayText}}.usa-accordion__button:hover{color:#1b1b1b;background-color:#dfe1e2;background-image:url(\"../img/usa-icons/remove.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat;text-decoration:none}@media(forced-colors: active){.usa-accordion__button{border:2px solid rgba(0,0,0,0);position:relative}.usa-accordion__button::before{background-image:url(\"../img/usa-icons/remove.svg\");background-repeat:no-repeat;background-position:center center;background-size:1.5rem 1.5rem;display:inline-block;height:1.5rem;width:1.5rem;height:100%;position:absolute;right:1.25rem;top:0;content:\"\"}@supports(mask: url(\"\")){.usa-accordion__button::before{background:none;background-color:ButtonText;mask-image:url(\"../img/usa-icons/remove.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:1.5rem 1.5rem}}}.usa-accordion__button[aria-expanded=false]{background-image:url(\"../img/usa-icons/add.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat;background-size:1.5rem}.usa-accordion__button[aria-expanded=false]:hover{background-image:url(\"../img/usa-icons/add.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat}@media(forced-colors: active){.usa-accordion__button[aria-expanded=false]::before{background-image:url(\"../img/usa-icons/add.svg\");background-repeat:no-repeat;background-position:center center;background-size:1.5rem 1.5rem;display:inline-block;height:1.5rem;width:1.5rem;height:100%;position:absolute;right:1.25rem;top:0}@supports(mask: url(\"\")){.usa-accordion__button[aria-expanded=false]::before{background:none;background-color:ButtonText;mask-image:url(\"../img/usa-icons/add.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:1.5rem 1.5rem}}}.usa-alert{background-color:#f0f0f0;border-left:.5rem solid #a9aeb1;color:#1b1b1b}.usa-alert .usa-alert__body{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5;padding-bottom:1rem;padding-top:1rem;position:relative}.usa-alert .usa-alert__text{margin-bottom:0;margin-top:0}.usa-alert .usa-alert__text:only-child{padding-bottom:0;padding-top:0}.usa-alert .usa-alert__heading{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.46rem;line-height:.9;margin-top:0;margin-bottom:.5rem}.usa-alert>.usa-list,.usa-alert .usa-alert__body>.usa-list{padding-left:2ch}.usa-alert>.usa-list:last-child,.usa-alert .usa-alert__body>.usa-list:last-child{margin-bottom:0}.usa-alert .usa-alert__body{padding-left:1.25rem;padding-right:1.25rem}.usa-alert .usa-alert__body::before{left:1.0833333333rem}*+.usa-alert{margin-top:1rem}.usa-alert--success{background-color:#ecf3ec;border-left-color:#00a91c}.usa-alert--success .usa-alert__body{color:#1b1b1b;background-color:#ecf3ec;display:flex;flex-direction:column;justify-content:center;min-height:3.3333333333rem}.usa-alert--success .usa-alert__body::before{background-image:url(\"../img/usa-icons/check_circle.svg\");background-repeat:no-repeat;background-position:center center;background-size:2rem 2rem;display:inline-block;height:2rem;width:2rem;content:\"\";display:block;position:absolute;top:.6666666667rem}@supports(mask: url(\"\")){.usa-alert--success .usa-alert__body::before{background:none;background-color:#1b1b1b;mask-image:url(\"../img/usa-icons/check_circle.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:2rem 2rem}}.usa-alert--success .usa-alert__body>*{margin-left:2.5rem}.usa-alert--success .usa-alert__body .usa-link{color:#005ea2}.usa-alert--success .usa-alert__body .usa-link:visited{color:#54278f}.usa-alert--success .usa-alert__body .usa-link:hover,.usa-alert--success .usa-alert__body .usa-link:active{color:#1a4480}.usa-alert--warning{background-color:#faf3d1;border-left-color:#ffbe2e}.usa-alert--warning .usa-alert__body{color:#1b1b1b;background-color:#faf3d1;display:flex;flex-direction:column;justify-content:center;min-height:3.3333333333rem}.usa-alert--warning .usa-alert__body::before{background-image:url(\"../img/usa-icons/warning.svg\");background-repeat:no-repeat;background-position:center center;background-size:2rem 2rem;display:inline-block;height:2rem;width:2rem;content:\"\";display:block;position:absolute;top:.6666666667rem}@supports(mask: url(\"\")){.usa-alert--warning .usa-alert__body::before{background:none;background-color:#1b1b1b;mask-image:url(\"../img/usa-icons/warning.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:2rem 2rem}}.usa-alert--warning .usa-alert__body>*{margin-left:2.5rem}.usa-alert--warning .usa-alert__body .usa-link{color:#005ea2}.usa-alert--warning .usa-alert__body .usa-link:visited{color:#54278f}.usa-alert--warning .usa-alert__body .usa-link:hover,.usa-alert--warning .usa-alert__body .usa-link:active{color:#1a4480}.usa-alert--error{background-color:#f4e3db;border-left-color:#d54309}.usa-alert--error .usa-alert__body{color:#1b1b1b;background-color:#f4e3db;display:flex;flex-direction:column;justify-content:center;min-height:3.3333333333rem}.usa-alert--error .usa-alert__body::before{background-image:url(\"../img/usa-icons/error.svg\");background-repeat:no-repeat;background-position:center center;background-size:2rem 2rem;display:inline-block;height:2rem;width:2rem;content:\"\";display:block;position:absolute;top:.6666666667rem}@supports(mask: url(\"\")){.usa-alert--error .usa-alert__body::before{background:none;background-color:#1b1b1b;mask-image:url(\"../img/usa-icons/error.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:2rem 2rem}}.usa-alert--error .usa-alert__body>*{margin-left:2.5rem}.usa-alert--error .usa-alert__body .usa-link{color:#005ea2}.usa-alert--error .usa-alert__body .usa-link:visited{color:#54278f}.usa-alert--error .usa-alert__body .usa-link:hover,.usa-alert--error .usa-alert__body .usa-link:active{color:#1a4480}.usa-alert--info{background-color:#e7f6f8;border-left-color:#00bde3}.usa-alert--info .usa-alert__body{color:#1b1b1b;background-color:#e7f6f8;display:flex;flex-direction:column;justify-content:center;min-height:3.3333333333rem}.usa-alert--info .usa-alert__body::before{background-image:url(\"../img/usa-icons/info.svg\");background-repeat:no-repeat;background-position:center center;background-size:2rem 2rem;display:inline-block;height:2rem;width:2rem;content:\"\";display:block;position:absolute;top:.6666666667rem}@supports(mask: url(\"\")){.usa-alert--info .usa-alert__body::before{background:none;background-color:#1b1b1b;mask-image:url(\"../img/usa-icons/info.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:2rem 2rem}}.usa-alert--info .usa-alert__body>*{margin-left:2.5rem}.usa-alert--info .usa-alert__body .usa-link{color:#005ea2}.usa-alert--info .usa-alert__body .usa-link:visited{color:#54278f}.usa-alert--info .usa-alert__body .usa-link:hover,.usa-alert--info .usa-alert__body .usa-link:active{color:#1a4480}.usa-alert--emergency{background-color:#9c3d10;border-left-color:#9c3d10}.usa-alert--emergency .usa-alert__body{color:#fff;background-color:#9c3d10;display:flex;flex-direction:column;justify-content:center;min-height:3.3333333333rem}.usa-alert--emergency .usa-alert__body::before{background-image:url(\"../img/usa-icons-bg/error--white.svg\");background-repeat:no-repeat;background-position:center center;background-size:2rem 2rem;display:inline-block;height:2rem;width:2rem;content:\"\";display:block;position:absolute;top:.6666666667rem}@supports(mask: url(\"\")){.usa-alert--emergency .usa-alert__body::before{background:none;background-color:#fff;mask-image:url(\"../img/usa-icons/error.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:2rem 2rem}}.usa-alert--emergency .usa-alert__body>*{margin-left:2.5rem}.usa-alert--emergency .usa-alert__body .usa-link{color:#dfe1e2}.usa-alert--emergency .usa-alert__body .usa-link:visited{color:#dfe1e2}.usa-alert--emergency .usa-alert__body .usa-link:hover,.usa-alert--emergency .usa-alert__body .usa-link:active{color:#f0f0f0}.usa-alert--slim .usa-alert__body{padding-bottom:.5rem;padding-top:.5rem;min-height:0}.usa-alert--slim .usa-alert__body:before{height:1.5rem;top:.5rem;width:1.5rem}@supports(mask: url(\"\")){.usa-alert--slim .usa-alert__body:before{mask-size:1.5rem}}.usa-alert--slim .usa-alert__body>*{margin-left:2rem}.usa-alert--slim .usa-alert__body::before{left:1.125rem}.usa-alert--no-icon .usa-alert__body{min-height:0}.usa-alert--no-icon .usa-alert__body:before{display:none}.usa-alert--no-icon .usa-alert__body>*{margin-left:0}.usa-alert--validation .usa-checklist{margin-top:1rem}.usa-banner{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5;background-color:#f0f0f0}@media all and (min-width: 40em){.usa-banner{font-size:.87rem;padding-bottom:0rem}}.usa-banner .usa-accordion{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5}.usa-banner .grid-row{display:flex;flex-wrap:wrap}.usa-banner .grid-row.grid-gap-lg{margin-left:-0.75rem;margin-right:-0.75rem}.usa-banner .grid-row.grid-gap-lg>*{padding-left:.75rem;padding-right:.75rem}@media all and (min-width: 40em){.usa-banner .grid-row .tablet\\:grid-col-6{flex:0 1 auto;width:50%}}.usa-banner__header,.usa-banner__content{color:#1b1b1b}.usa-banner__content{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem;padding-left:1rem;padding-right:1rem;background-color:rgba(0,0,0,0);font-size:1rem;overflow:hidden;padding-bottom:1rem;padding-left:.5rem;padding-top:.25rem;width:100%}@media all and (min-width: 64em){.usa-banner__content{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 64em){.usa-banner__content{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 40em){.usa-banner__content{padding-bottom:1.5rem;padding-top:1.5rem}}.usa-banner__content p:first-child{margin:0}.usa-banner__guidance{display:flex;align-items:flex-start;max-width:64ex;padding-top:1rem}@media all and (min-width: 40em){.usa-banner__guidance{padding-top:0rem}}.usa-banner__lock-image{height:1.5ex;width:1.21875ex}.usa-banner__lock-image path{fill:currentColor}@media(forced-colors: active){.usa-banner__lock-image path{fill:CanvasText}}.usa-banner__inner{padding-left:1rem;padding-right:1rem;margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem;display:flex;flex-wrap:wrap;align-items:flex-start;padding-right:0rem}@media all and (min-width: 64em){.usa-banner__inner{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 64em){.usa-banner__inner{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 40em){.usa-banner__inner{align-items:center}}.usa-banner__header{padding-bottom:.5rem;padding-top:.5rem;font-size:.8rem;font-weight:normal;min-height:3rem;position:relative}@media all and (min-width: 40em){.usa-banner__header{padding-bottom:.25rem;padding-top:.25rem;min-height:0}}.usa-banner__header-text{margin-bottom:0;margin-top:0;font-size:.8rem;line-height:1.1}.usa-banner__header-action{color:#005ea2;line-height:1.1;margin-bottom:0rem;margin-top:2px;text-decoration:underline}.usa-banner__header-action::after{background-image:url(\"../img/usa-icons/expand_more.svg\");background-repeat:no-repeat;background-position:center center;background-size:1rem 1rem;display:inline-block;height:1rem;width:1rem;content:\"\";vertical-align:middle;margin-left:auto}@supports(mask: url(\"\")){.usa-banner__header-action::after{background:none;background-color:#005ea2;mask-image:url(\"../img/usa-icons/expand_more.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:1rem 1rem}.usa-banner__header-action::after:hover{background-color:#1a4480}}.usa-banner__header-action:hover::after{content:\"\";background-color:#1a4480}.usa-banner__header-action:visited{color:#54278f}.usa-banner__header-action:hover,.usa-banner__header-action:active{color:#1a4480}.usa-banner__header--expanded .usa-banner__header-action{display:none}@media all and (min-width: 40em){.usa-banner__header-action{display:none}}@media(forced-colors: active){.usa-banner__header-action{color:LinkText}.usa-banner__header-action::after{background-color:ButtonText}}.usa-banner__header-flag{float:left;margin-right:.5rem;width:1rem}@media all and (min-width: 40em){.usa-banner__header-flag{margin-right:.5rem;padding-top:0rem}}.usa-banner__header--expanded{padding-right:3.5rem}@media all and (min-width: 40em){.usa-banner__header--expanded{background-color:rgba(0,0,0,0);display:block;font-size:.8rem;font-weight:normal;min-height:0rem;padding-right:0rem}}.usa-banner__header--expanded .usa-banner__inner{margin-left:0rem}@media all and (min-width: 40em){.usa-banner__header--expanded .usa-banner__inner{margin-left:auto}}.usa-banner__header--expanded .usa-banner__header-action{display:none}.usa-banner__button{color:#005ea2;text-decoration:underline;background-color:rgba(0,0,0,0);border:0;border-radius:0;box-shadow:none;font-weight:normal;justify-content:normal;text-align:left;margin:0;padding:0;width:auto;position:absolute;left:0;position:absolute;bottom:0;top:0;color:#005ea2;text-decoration:underline;color:#005ea2;display:block;font-size:.8rem;height:auto;line-height:1.1;padding-top:0rem;padding-left:0rem;text-decoration:none;width:auto}.usa-banner__button:visited{color:#54278f}.usa-banner__button:hover{color:#1a4480}.usa-banner__button:active{color:#162e51}.usa-banner__button:focus{outline:.25rem solid #2491ff;outline-offset:0rem}.usa-banner__button:hover,.usa-banner__button.usa-button--hover,.usa-banner__button:disabled:hover,.usa-banner__button[aria-disabled=true]:hover,.usa-banner__button:disabled.usa-button--hover,.usa-banner__button[aria-disabled=true].usa-button--hover,.usa-banner__button:active,.usa-banner__button.usa-button--active,.usa-banner__button:disabled:active,.usa-banner__button[aria-disabled=true]:active,.usa-banner__button:disabled.usa-button--active,.usa-banner__button[aria-disabled=true].usa-button--active,.usa-banner__button:disabled:focus,.usa-banner__button[aria-disabled=true]:focus,.usa-banner__button:disabled.usa-focus,.usa-banner__button[aria-disabled=true].usa-focus,.usa-banner__button:disabled,.usa-banner__button[aria-disabled=true],.usa-banner__button.usa-button--disabled{background-color:rgba(0,0,0,0);box-shadow:none;text-decoration:underline}.usa-banner__button.usa-button--hover{color:#1a4480}.usa-banner__button.usa-button--active{color:#162e51}.usa-banner__button:disabled,.usa-banner__button[aria-disabled=true],.usa-banner__button:disabled:hover,.usa-banner__button[aria-disabled=true]:hover,.usa-banner__button[aria-disabled=true]:focus{color:#757575}@media(forced-colors: active){.usa-banner__button:disabled,.usa-banner__button[aria-disabled=true],.usa-banner__button:disabled:hover,.usa-banner__button[aria-disabled=true]:hover,.usa-banner__button[aria-disabled=true]:focus{color:GrayText}}.usa-banner__button:visited{color:#54278f}.usa-banner__button:hover,.usa-banner__button:active{color:#1a4480}@media all and (max-width: 39.99em){.usa-banner__button{width:100%}.usa-banner__button:enabled:focus{outline-offset:-0.25rem}}@media all and (min-width: 40em){.usa-banner__button{color:#005ea2;position:static;bottom:auto;left:auto;right:auto;top:auto;display:inline;margin-left:.5rem;position:relative}.usa-banner__button::after{background-image:url(\"../img/usa-icons/expand_more.svg\");background-repeat:no-repeat;background-position:center center;background-size:1rem 1rem;display:inline-block;height:1rem;width:1rem;content:\"\";vertical-align:middle;margin-left:2px}@supports(mask: url(\"\")){.usa-banner__button::after{background:none;background-color:#005ea2;mask-image:url(\"../img/usa-icons/expand_more.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:1rem 1rem}.usa-banner__button::after:hover{background-color:#1a4480}}.usa-banner__button:hover::after{content:\"\";background-color:#1a4480}.usa-banner__button:visited{color:#54278f}.usa-banner__button:hover,.usa-banner__button:active{color:#1a4480}.usa-banner__button::after,.usa-banner__button:hover::after{position:absolute}}@media(min-width: 40em)and (forced-colors: active){.usa-banner__button::after,.usa-banner__button:hover::after{background-color:ButtonText}}@media all and (min-width: 40em){.usa-banner__button:hover{text-decoration:none}}.usa-banner__button[aria-expanded=false],.usa-banner__button[aria-expanded=false]:hover,.usa-banner__button[aria-expanded=true],.usa-banner__button[aria-expanded=true]:hover{background-image:none}@media(forced-colors: active){.usa-banner__button[aria-expanded=false]::before,.usa-banner__button[aria-expanded=false]:hover::before,.usa-banner__button[aria-expanded=true]::before,.usa-banner__button[aria-expanded=true]:hover::before{content:none}}@media all and (max-width: 39.99em){.usa-banner__button[aria-expanded=true]::after{background-image:url(\"../img/usa-icons/close.svg\");background-repeat:no-repeat;background-position:center center;background-size:1.5rem 1.5rem;display:inline-block;height:3rem;width:3rem;content:\"\";vertical-align:middle;margin-left:0rem}@supports(mask: url(\"\")){.usa-banner__button[aria-expanded=true]::after{background:none;background-color:#005ea2;mask-image:url(\"../img/usa-icons/close.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:1.5rem 1.5rem}}.usa-banner__button[aria-expanded=true]::before{position:absolute;bottom:0;top:0;position:absolute;right:0;background-color:#dfe1e2;content:\"\";display:block;height:3rem;width:3rem}.usa-banner__button[aria-expanded=true]::after{position:absolute;bottom:0;top:0;position:absolute;right:0}}@media all and (min-width: 40em){.usa-banner__button[aria-expanded=true]{height:auto;padding:0rem;position:relative}.usa-banner__button[aria-expanded=true]::after{background-image:url(\"../img/usa-icons/expand_less.svg\");background-repeat:no-repeat;background-position:center center;background-size:1rem 1rem;display:inline-block;height:1rem;width:1rem;content:\"\";vertical-align:middle;margin-left:2px}@supports(mask: url(\"\")){.usa-banner__button[aria-expanded=true]::after{background:none;background-color:#005ea2;mask-image:url(\"../img/usa-icons/expand_less.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:1rem 1rem}.usa-banner__button[aria-expanded=true]::after:hover{background-color:#1a4480}}.usa-banner__button[aria-expanded=true]:hover::after{content:\"\";background-color:#1a4480}.usa-banner__button[aria-expanded=true]::after,.usa-banner__button[aria-expanded=true]:hover::after{position:absolute}}@media(min-width: 40em)and (forced-colors: active){.usa-banner__button[aria-expanded=true]::after,.usa-banner__button[aria-expanded=true]:hover::after{background-color:ButtonText}}.usa-banner__button-text{position:absolute;left:-999em;right:auto;text-decoration:underline}@media all and (min-width: 40em){.usa-banner__button-text{position:static;display:inline}}@media(forced-colors: active){.usa-banner__button-text{color:LinkText}}.usa-banner__icon{width:2.5rem}.usa-js-loading .usa-banner__content{position:absolute;left:-999em;right:auto}.usa-breadcrumb{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.3;color:#1b1b1b;background-color:#fff;padding-left:0;padding-right:0}@media all and (min-width: 30em){.usa-breadcrumb{padding-bottom:1rem;padding-top:1rem}}@media all and (min-width: 30em){.usa-breadcrumb:not(.usa-breadcrumb--wrap) .usa-breadcrumb__list{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}}.usa-breadcrumb__list{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;display:block;padding:.25rem;margin-left:-0.25rem;margin-right:-0.25rem}.usa-breadcrumb__list>li{margin-bottom:0;max-width:unset}.usa-breadcrumb__list-item{position:absolute;left:-999em;right:auto;display:inline}@media all and (max-width: 29.99em){.usa-breadcrumb__list-item{white-space:normal}.usa-breadcrumb__list-item:nth-last-child(2){position:static}.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link{padding-left:calc(2ex + 0px);text-indent:calc((2ex + 0px)*-1);display:inline-block;padding-bottom:1rem;padding-top:1rem}.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link::before{background-image:url(\"../img/usa-icons/arrow_back.svg\");background-repeat:no-repeat;background-position:center center;background-size:2ex 2ex;display:inline-block;height:2ex;width:2ex;content:\"\";vertical-align:baseline;margin-right:0rem}@supports(mask: url(\"\")){.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link::before{background:none;background-color:#71767a;mask-image:url(\"../img/usa-icons/arrow_back.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:2ex 2ex}}.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:before{bottom:-0.2em;height:2ex;position:relative}.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:hover,.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link:active{text-decoration:none}.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link span{text-decoration:underline}.usa-breadcrumb__list-item:nth-last-child(2) .usa-breadcrumb__link::before{margin-right:0px}}@media all and (min-width: 30em){.usa-breadcrumb__list-item{position:static}.usa-breadcrumb__list-item:not(:last-child)::after{background-image:url(\"../img/usa-icons/navigate_next.svg\");background-repeat:no-repeat;background-position:center center;background-size:2ex 2ex;display:inline-block;height:2ex;width:2ex;content:\"\";vertical-align:baseline;margin-left:0rem}@supports(mask: url(\"\")){.usa-breadcrumb__list-item:not(:last-child)::after{background:none;background-color:#71767a;mask-image:url(\"../img/usa-icons/navigate_next.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:2ex 2ex}}.usa-breadcrumb__list-item:not(:last-child)::after{bottom:-0.2em;margin-left:0px;margin-right:0px;height:2ex;position:relative}}.usa-breadcrumb__link{color:#005ea2;display:inline;text-decoration:none}.usa-breadcrumb__link:visited{color:#54278f}.usa-breadcrumb__link:hover,.usa-breadcrumb__link:active{color:#1a4480}.usa-breadcrumb__link span{text-decoration:underline}@media all and (min-width: 30em){.usa-breadcrumb--wrap{line-height:1.4}}.usa-breadcrumb--wrap .usa-breadcrumb__list-item{display:inline-block}.usa-button-group{margin-bottom:0;margin-top:0;display:flex;flex-direction:column;flex-wrap:wrap;list-style-type:none;margin-left:-0.25rem;margin-right:-0.25rem;padding-left:0}@media all and (min-width: 30em){.usa-button-group{flex-wrap:nowrap;align-items:stretch;flex-direction:row}}.usa-button-group .usa-button-group{height:100%}@media all and (min-width: 30em){.usa-button-group .usa-button-group .usa-button-group__item{margin-top:0;margin-bottom:0}}.usa-button-group .usa-button-group--segmented .usa-button-group__item{margin-top:0;margin-bottom:0}.usa-button-group__item{margin:.25rem}@media all and (min-width: 30em){.usa-button-group__item:last-child{margin-right:0}}.usa-button-group__item .usa-button{height:100%;margin-left:0;margin-right:0}.usa-button-group--segmented{flex-direction:row;flex-wrap:nowrap;justify-content:space-between;margin-left:0;margin-right:0}@media all and (min-width: 30em){.usa-button-group--segmented{justify-content:flex-start}}.usa-button-group--segmented .usa-button{position:relative;width:calc(100% + 2px)}@media all and (min-width: 30em){.usa-button-group--segmented .usa-button{width:auto}}.usa-button-group--segmented .usa-button:hover,.usa-button-group--segmented .usa-button:active{z-index:2}.usa-button-group--segmented .usa-button:focus{z-index:3}.usa-button-group--segmented .usa-button-group__item{margin-left:0;margin-right:0;width:100%}@media all and (min-width: 30em){.usa-button-group--segmented .usa-button-group__item{width:auto}}.usa-button-group--segmented .usa-button-group__item:first-child>.usa-button{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:-1px}.usa-button-group--segmented .usa-button-group__item:last-child>.usa-button{border-top-left-radius:0;border-bottom-left-radius:0;margin-right:0;margin-left:-2px;width:calc(100% + 2px)}@media all and (min-width: 30em){.usa-button-group--segmented .usa-button-group__item:last-child>.usa-button{margin-left:-1px;width:auto}}.usa-button-group--segmented .usa-button-group__item:where(:not(:first-child):not(:last-child))>.usa-button{border-radius:0;margin-right:-1px;margin-left:-1px}.usa-button-group--segmented .usa-button-group__item:where(:not(:last-child)) .usa-button::before{border-right:1px solid #1a4480;bottom:0;content:\"\";display:block;height:100%;position:absolute;right:1px;top:0;width:1px;z-index:3}.usa-button-group--segmented .usa-button-group__item:where(:not(:last-child)) .usa-button--secondary::before{border-right-color:#b50909}.usa-button-group--segmented .usa-button-group__item:where(:not(:last-child)) .usa-button--accent-cool::before{border-right-color:#28a0cb}.usa-button-group--segmented .usa-button-group__item:where(:not(:last-child)) .usa-button--base::before{border-right-color:#565c65}.usa-button-group--segmented .usa-button-group__item:where(:not(:last-child)) [class*=usa-button]:disabled::before,.usa-button-group--segmented .usa-button-group__item:where(:not(:last-child)) [class*=usa-button][aria-disabled=true]::before{border-right-color:#fff}.usa-button-group--segmented .usa-button-group__item:where(:not(:last-child)) .usa-button:active::before,.usa-button-group--segmented .usa-button-group__item:where(:not(:last-child)) .usa-button--outline::before{display:none}.usa-button{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:.9;color:#fff;background-color:#005ea2;appearance:none;align-items:center;border:0;border-radius:.25rem;cursor:pointer;column-gap:.5rem;display:inline-flex;font-weight:700;justify-content:center;margin-right:.5rem;padding:.75rem 1.25rem;text-align:center;text-decoration:none;width:100%}@media all and (min-width: 30em){.usa-button{width:auto}}.usa-button:visited{color:#fff}.usa-button:hover,.usa-button.usa-button--hover{color:#fff;background-color:#1a4480;border-bottom:0;text-decoration:none}.usa-button:active,.usa-button.usa-button--active{color:#fff;background-color:#162e51}.usa-button:not([disabled]):focus,.usa-button:not([disabled]).usa-focus{outline-offset:.25rem}.usa-button:disabled,.usa-button[aria-disabled=true]{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-button:disabled:hover,.usa-button:disabled:active,.usa-button:disabled:focus,.usa-button:disabled.usa-focus,.usa-button[aria-disabled=true]:hover,.usa-button[aria-disabled=true]:active,.usa-button[aria-disabled=true]:focus,.usa-button[aria-disabled=true].usa-focus{color:#454545;background-color:#c9c9c9}@media(forced-colors: active){.usa-button:disabled,.usa-button[aria-disabled=true]{border:0;color:GrayText}.usa-button:disabled:hover,.usa-button:disabled:active,.usa-button:disabled:focus,.usa-button:disabled.usa-focus,.usa-button[aria-disabled=true]:hover,.usa-button[aria-disabled=true]:active,.usa-button[aria-disabled=true]:focus,.usa-button[aria-disabled=true].usa-focus{color:GrayText}}.usa-button:disabled.usa-button--hover,.usa-button:disabled.usa-button--active,.usa-button[aria-disabled=true].usa-button--hover,.usa-button[aria-disabled=true].usa-button--active{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-button:disabled.usa-button--hover:hover,.usa-button:disabled.usa-button--hover:active,.usa-button:disabled.usa-button--hover:focus,.usa-button:disabled.usa-button--hover.usa-focus,.usa-button:disabled.usa-button--active:hover,.usa-button:disabled.usa-button--active:active,.usa-button:disabled.usa-button--active:focus,.usa-button:disabled.usa-button--active.usa-focus,.usa-button[aria-disabled=true].usa-button--hover:hover,.usa-button[aria-disabled=true].usa-button--hover:active,.usa-button[aria-disabled=true].usa-button--hover:focus,.usa-button[aria-disabled=true].usa-button--hover.usa-focus,.usa-button[aria-disabled=true].usa-button--active:hover,.usa-button[aria-disabled=true].usa-button--active:active,.usa-button[aria-disabled=true].usa-button--active:focus,.usa-button[aria-disabled=true].usa-button--active.usa-focus{color:#454545;background-color:#c9c9c9}@media(forced-colors: active){.usa-button:disabled.usa-button--hover,.usa-button:disabled.usa-button--active,.usa-button[aria-disabled=true].usa-button--hover,.usa-button[aria-disabled=true].usa-button--active{border:0;color:GrayText}.usa-button:disabled.usa-button--hover:hover,.usa-button:disabled.usa-button--hover:active,.usa-button:disabled.usa-button--hover:focus,.usa-button:disabled.usa-button--hover.usa-focus,.usa-button:disabled.usa-button--active:hover,.usa-button:disabled.usa-button--active:active,.usa-button:disabled.usa-button--active:focus,.usa-button:disabled.usa-button--active.usa-focus,.usa-button[aria-disabled=true].usa-button--hover:hover,.usa-button[aria-disabled=true].usa-button--hover:active,.usa-button[aria-disabled=true].usa-button--hover:focus,.usa-button[aria-disabled=true].usa-button--hover.usa-focus,.usa-button[aria-disabled=true].usa-button--active:hover,.usa-button[aria-disabled=true].usa-button--active:active,.usa-button[aria-disabled=true].usa-button--active:focus,.usa-button[aria-disabled=true].usa-button--active.usa-focus{color:GrayText}}@media(forced-colors: active){.usa-button:disabled:not(.usa-button--unstyled),.usa-button[aria-disabled=true]:not(.usa-button--unstyled){border:2px solid GrayText}}.usa-button .usa-icon{flex-shrink:0}@media(forced-colors: active){.usa-button:not(.usa-button--unstyled){border:2px solid rgba(0,0,0,0)}}.usa-button--accent-cool{color:#1b1b1b;background-color:#00bde3}.usa-button--accent-cool:visited{color:#1b1b1b;background-color:#00bde3}.usa-button--accent-cool:hover,.usa-button--accent-cool.usa-button--hover{color:#1b1b1b;background-color:#28a0cb}.usa-button--accent-cool:active,.usa-button--accent-cool.usa-button--active{color:#fff;background-color:#07648d}.usa-button--accent-warm{color:#1b1b1b;background-color:#fa9441}.usa-button--accent-warm:visited{color:#1b1b1b;background-color:#fa9441}.usa-button--accent-warm:hover,.usa-button--accent-warm.usa-button--hover{color:#fff;background-color:#c05600}.usa-button--accent-warm:active,.usa-button--accent-warm.usa-button--active{color:#fff;background-color:#775540}.usa-button--outline{background-color:rgba(0,0,0,0);box-shadow:inset 0 0 0 2px #005ea2;color:#005ea2}.usa-button--outline:visited{color:#005ea2}.usa-button--outline:hover,.usa-button--outline.usa-button--hover{background-color:rgba(0,0,0,0);box-shadow:inset 0 0 0 2px #1a4480;color:#1a4480}.usa-button--outline:active,.usa-button--outline.usa-button--active{background-color:rgba(0,0,0,0);box-shadow:inset 0 0 0 2px #162e51;color:#162e51}.usa-button--outline.usa-button--inverse{box-shadow:inset 0 0 0 2px #dfe1e2;color:#dfe1e2}.usa-button--outline.usa-button--inverse:visited{color:#dfe1e2}.usa-button--outline.usa-button--inverse:hover,.usa-button--outline.usa-button--inverse.usa-button--hover{box-shadow:inset 0 0 0 2px #f0f0f0;color:#f0f0f0}.usa-button--outline.usa-button--inverse:active,.usa-button--outline.usa-button--inverse.usa-button--active{background-color:rgba(0,0,0,0);box-shadow:inset 0 0 0 2px #fff;color:#fff}.usa-button--outline.usa-button--inverse.usa-button--unstyled{color:#005ea2;text-decoration:underline;background-color:rgba(0,0,0,0);border:0;border-radius:0;box-shadow:none;font-weight:normal;justify-content:normal;text-align:left;margin:0;padding:0;width:auto;color:#dfe1e2}.usa-button--outline.usa-button--inverse.usa-button--unstyled:visited{color:#54278f}.usa-button--outline.usa-button--inverse.usa-button--unstyled:hover{color:#1a4480}.usa-button--outline.usa-button--inverse.usa-button--unstyled:active{color:#162e51}.usa-button--outline.usa-button--inverse.usa-button--unstyled:focus{outline:.25rem solid #2491ff;outline-offset:0rem}.usa-button--outline.usa-button--inverse.usa-button--unstyled:hover,.usa-button--outline.usa-button--inverse.usa-button--unstyled.usa-button--hover,.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled:hover,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true]:hover,.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled.usa-button--hover,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true].usa-button--hover,.usa-button--outline.usa-button--inverse.usa-button--unstyled:active,.usa-button--outline.usa-button--inverse.usa-button--unstyled.usa-button--active,.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled:active,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true]:active,.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled.usa-button--active,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true].usa-button--active,.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled:focus,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true]:focus,.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled.usa-focus,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true].usa-focus,.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true],.usa-button--outline.usa-button--inverse.usa-button--unstyled.usa-button--disabled{background-color:rgba(0,0,0,0);box-shadow:none;text-decoration:underline}.usa-button--outline.usa-button--inverse.usa-button--unstyled.usa-button--hover{color:#1a4480}.usa-button--outline.usa-button--inverse.usa-button--unstyled.usa-button--active{color:#162e51}.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true],.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled:hover,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true]:hover,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true]:focus{color:#757575}@media(forced-colors: active){.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true],.usa-button--outline.usa-button--inverse.usa-button--unstyled:disabled:hover,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true]:hover,.usa-button--outline.usa-button--inverse.usa-button--unstyled[aria-disabled=true]:focus{color:GrayText}}.usa-button--outline.usa-button--inverse.usa-button--unstyled:visited{color:#dfe1e2}.usa-button--outline.usa-button--inverse.usa-button--unstyled:hover,.usa-button--outline.usa-button--inverse.usa-button--unstyled.usa-button--hover{color:#f0f0f0}.usa-button--outline.usa-button--inverse.usa-button--unstyled:active,.usa-button--outline.usa-button--inverse.usa-button--unstyled.usa-button--active{color:#fff}.usa-button--base{color:#fff;background-color:#71767a}.usa-button--base:hover,.usa-button--base.usa-button--hover{color:#fff;background-color:#565c65}.usa-button--base:active,.usa-button--base.usa-button--active{color:#fff;background-color:#3d4551}.usa-button--secondary{color:#fff;background-color:#d83933}.usa-button--secondary:hover,.usa-button--secondary.usa-button--hover{color:#fff;background-color:#b50909}.usa-button--secondary:active,.usa-button--secondary.usa-button--active{color:#fff;background-color:#8b0a03}.usa-button--big{border-radius:.25rem;font-size:1.46rem;padding:1rem 1.5rem}.usa-button--outline:disabled,.usa-button--outline:disabled:hover,.usa-button--outline:disabled:active,.usa-button--outline:disabled:focus,.usa-button--outline[aria-disabled=true],.usa-button--outline[aria-disabled=true]:hover,.usa-button--outline[aria-disabled=true]:active,.usa-button--outline[aria-disabled=true]:focus,.usa-button--outline-inverse:disabled,.usa-button--outline-inverse:disabled:hover,.usa-button--outline-inverse:disabled:active,.usa-button--outline-inverse:disabled:focus,.usa-button--outline-inverse[aria-disabled=true],.usa-button--outline-inverse[aria-disabled=true]:hover,.usa-button--outline-inverse[aria-disabled=true]:active,.usa-button--outline-inverse[aria-disabled=true]:focus{background-color:rgba(0,0,0,0);color:#757575}.usa-button--outline:disabled,.usa-button--outline[aria-disabled=true]{box-shadow:inset 0 0 0 2px #c9c9c9}.usa-button--outline:disabled.usa-button--inverse,.usa-button--outline[aria-disabled=true].usa-button--inverse{box-shadow:inset 0 0 0 2px #919191;color:#919191}@media(forced-colors: active){.usa-button--outline:disabled.usa-button--inverse,.usa-button--outline[aria-disabled=true].usa-button--inverse{color:GrayText}}.usa-button--unstyled{color:#005ea2;text-decoration:underline;background-color:rgba(0,0,0,0);border:0;border-radius:0;box-shadow:none;font-weight:normal;justify-content:normal;text-align:left;margin:0;padding:0;width:auto}.usa-button--unstyled:visited{color:#54278f}.usa-button--unstyled:hover{color:#1a4480}.usa-button--unstyled:active{color:#162e51}.usa-button--unstyled:focus{outline:.25rem solid #2491ff;outline-offset:0rem}.usa-button--unstyled:hover,.usa-button--unstyled.usa-button--hover,.usa-button--unstyled:disabled:hover,.usa-button--unstyled[aria-disabled=true]:hover,.usa-button--unstyled:disabled.usa-button--hover,.usa-button--unstyled[aria-disabled=true].usa-button--hover,.usa-button--unstyled:active,.usa-button--unstyled.usa-button--active,.usa-button--unstyled:disabled:active,.usa-button--unstyled[aria-disabled=true]:active,.usa-button--unstyled:disabled.usa-button--active,.usa-button--unstyled[aria-disabled=true].usa-button--active,.usa-button--unstyled:disabled:focus,.usa-button--unstyled[aria-disabled=true]:focus,.usa-button--unstyled:disabled.usa-focus,.usa-button--unstyled[aria-disabled=true].usa-focus,.usa-button--unstyled:disabled,.usa-button--unstyled[aria-disabled=true],.usa-button--unstyled.usa-button--disabled{background-color:rgba(0,0,0,0);box-shadow:none;text-decoration:underline}.usa-button--unstyled.usa-button--hover{color:#1a4480}.usa-button--unstyled.usa-button--active{color:#162e51}.usa-button--unstyled:disabled,.usa-button--unstyled[aria-disabled=true],.usa-button--unstyled:disabled:hover,.usa-button--unstyled[aria-disabled=true]:hover,.usa-button--unstyled[aria-disabled=true]:focus{color:#757575}@media(forced-colors: active){.usa-button--unstyled:disabled,.usa-button--unstyled[aria-disabled=true],.usa-button--unstyled:disabled:hover,.usa-button--unstyled[aria-disabled=true]:hover,.usa-button--unstyled[aria-disabled=true]:focus{color:GrayText}}.usa-card-group{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0}.usa-prose .usa-card-group{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0}.usa-card-group{display:flex;flex-direction:column;flex-wrap:wrap;align-items:stretch;margin-left:-0.5rem;margin-right:-0.5rem}@media all and (min-width: 40em){.usa-card-group{flex-direction:row}}.usa-card{margin-bottom:2.5rem;max-width:none}.usa-card:last-child{margin-bottom:2.5rem}@media all and (min-width: 40em){.usa-card{margin-bottom:2rem}.usa-card:last-child{margin-bottom:2rem}}.usa-prose .usa-card{margin-bottom:2.5rem;max-width:none}.usa-prose .usa-card:last-child{margin-bottom:2.5rem}@media all and (min-width: 40em){.usa-prose .usa-card{margin-bottom:2rem}.usa-prose .usa-card:last-child{margin-bottom:2rem}}.usa-card__container{color:#1b1b1b;background-color:#fff;font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5;border-width:2px;border-color:#dfe1e2;border-style:solid;display:flex;height:100%;flex-direction:column;margin-left:.5rem;margin-right:.5rem;position:relative;border-radius:.5rem}.usa-card:not(.usa-card--flag) .usa-card__container>:only-child{padding:1.5rem}.usa-card .usa-card__img{display:block}.usa-card__header{padding-top:1.5rem;padding-left:1.5rem;padding-right:1.5rem;padding-bottom:.5rem}.usa-card__header:last-child{padding-bottom:1.5rem}.usa-card__heading{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.34rem;line-height:1.2;margin:0}.usa-card__media{order:-1;min-height:1px}.usa-card__img{border-top-left-radius:calc(0.5rem - 2px);border-top-right-radius:calc(0.5rem - 2px);background-color:#f0f0f0;position:relative;overflow:hidden}.usa-card__img img{display:block;height:100%;width:100%;object-fit:cover}.usa-card__media--inset{padding-top:1.5rem;padding-left:1.5rem;padding-right:1.5rem}.usa-card__media--inset .usa-card__img{border-radius:0}.usa-card__body{flex:1 1 0%;padding-left:1.5rem;padding-right:1.5rem;padding-bottom:.5rem;padding-top:.5rem;flex-basis:auto}.usa-card__body:last-child{padding-bottom:1.5rem}.usa-card__body:first-child{padding-top:1.5rem}.usa-card__body:only-child{padding-bottom:1.5rem;padding-top:1.5rem}.usa-card__footer{padding-bottom:1.5rem;padding-left:1.5rem;padding-right:1.5rem;padding-top:.5rem}.usa-card__footer .usa-button:only-of-type{margin-right:0}.usa-card__header>:last-child,.usa-card__body>:last-child{padding-bottom:0;margin-bottom:0}.usa-card__header>:first-child,.usa-card__body>:first-child{margin-top:0;padding-top:0}.usa-card__header>:only-child,.usa-card__body>:only-child{margin-bottom:0;margin-top:0;padding-bottom:0;padding-top:0}.usa-card__header--exdent,.usa-card__media--exdent,.usa-card__body--exdent,.usa-card__footer--exdent{margin-inline:-2px}.usa-card__header--exdent>*,.usa-card__body--exdent>*,.usa-card__footer--exdent>*{padding-left:2px;padding-right:2px}.usa-card__media--exdent{margin-top:-2px}.usa-card__media--exdent .usa-card__img{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.usa-card--header-first .usa-card__header{border-top-left-radius:calc(0.5rem - 2px);border-top-right-radius:calc(0.5rem - 2px);padding-bottom:1rem}.usa-card--header-first .usa-card__header--exdent{border-top-left-radius:.5rem;border-top-right-radius:.5rem;margin-top:-2px}.usa-card--header-first .usa-card__media--inset{padding-top:0}.usa-card--header-first .usa-card__media{order:0}.usa-card--header-first .usa-card__media--exdent{margin-top:0}.usa-card--header-first .usa-card__img{border-radius:0}.usa-card--header-first .usa-card__body{padding-top:1rem}@media all and (min-width: 40em){.usa-card--flag .usa-card__media{display:flex;overflow:hidden;position:absolute;bottom:0;top:0;position:absolute;left:0;position:absolute;width:15rem}.usa-card--flag .usa-card__img{border-radius:0;border-top-left-radius:calc(0.5rem - 2px);border-bottom-left-radius:calc(0.5rem - 2px)}.usa-card--flag .usa-card__header,.usa-card--flag .usa-card__body,.usa-card--flag .usa-card__footer{margin-left:15rem}.usa-card--flag .usa-card__media--exdent{margin:-2px}.usa-card--flag .usa-card__media--exdent .usa-card__img{border-bottom-left-radius:.5rem;border-top-left-radius:.5rem}.usa-card--flag .usa-card__media--inset{padding-right:0;padding-bottom:1.5rem}.usa-card--flag .usa-card__media--inset .usa-card__img{border-radius:0}.usa-card--flag.usa-card--header-first .usa-card__header{padding-bottom:.5rem}.usa-card--flag.usa-card--header-first .usa-card__body{padding-top:.5rem}.usa-card--flag.usa-card--header-first .usa-card__media--inset{padding-top:1.5rem}.usa-card--flag.usa-card--media-right .usa-card__media{left:auto;right:0}.usa-card--flag.usa-card--media-right .usa-card__media--inset{padding-left:0;padding-right:1.5rem}.usa-card--flag.usa-card--media-right .usa-card__media--inset .usa-card__img{border-radius:0}.usa-card--flag.usa-card--media-right .usa-card__img{border-radius:0;border-top-right-radius:calc(0.5rem - 2px);border-bottom-right-radius:calc(0.5rem - 2px)}.usa-card--flag.usa-card--media-right .usa-card__header,.usa-card--flag.usa-card--media-right .usa-card__body,.usa-card--flag.usa-card--media-right .usa-card__footer{margin-left:0;margin-right:15rem}.usa-card--flag.usa-card--media-right .usa-card__img{border-radius:0;border-bottom-right-radius:.5rem;border-top-right-radius:.5rem}}.usa-card:not(.usa-card--flag).usa-card__media--set-aspect{box-sizing:border-box;height:0;overflow:hidden;padding-bottom:56.25%;position:relative;position:relative}@supports(aspect-ratio: 1){.usa-card:not(.usa-card--flag).usa-card__media--set-aspect{height:inherit;padding:inherit;aspect-ratio:1.7777777778;max-width:100%}.usa-card:not(.usa-card--flag).usa-card__media--set-aspect>*{position:absolute;top:0;left:0;width:100%;height:100%}img.usa-card:not(.usa-card--flag).usa-card__media--set-aspect,.usa-card:not(.usa-card--flag).usa-card__media--set-aspect>img{object-fit:cover}}.usa-card:not(.usa-card--flag).usa-card__media--set-aspect .usa-card__img{position:absolute;bottom:0;left:0;right:0;top:0}.usa-checklist{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5}.usa-checklist__item{text-indent:-2.5rem;margin-bottom:0;margin-top:0;margin-bottom:0;margin-top:.5rem}.usa-checklist__item::before{content:\" \";display:inline-block;height:1rem;margin-left:-0.25rem;margin-right:.75rem;width:2rem}.usa-checklist__item.usa-checklist__item--checked::before{background-image:url(\"../img/usa-icons-bg/check--blue-60v.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat;background-position:center;background-size:1.5rem}.usa-collection{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.3;margin-bottom:1em;margin-top:1em;line-height:1.5;padding-left:3ch;padding-left:0}.usa-collection:last-child{margin-bottom:0}.usa-collection ul,.usa-collection ol{margin-top:.25em}.usa-collection__item{margin-bottom:.25em;max-width:68ex;margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;align-items:flex-start;border-top-width:1px;border-top-style:solid;display:flex;margin-bottom:1rem;margin-top:1rem;padding-top:1rem}.usa-collection__item:last-child{margin-bottom:0}.usa-collection__item>li{margin-bottom:0;max-width:unset}.usa-prose .usa-collection{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.3;margin-bottom:1em;margin-top:1em;line-height:1.5;padding-left:3ch;padding-left:0}.usa-prose .usa-collection:last-child{margin-bottom:0}.usa-prose .usa-collection ul,.usa-prose .usa-collection ol{margin-top:.25em}.usa-prose .usa-collection__item{margin-bottom:.25em;max-width:68ex;margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;align-items:flex-start;border-top-width:1px;border-top-style:solid;display:flex;margin-bottom:1rem;margin-top:1rem;padding-top:1rem}.usa-prose .usa-collection__item:last-child{margin-bottom:0}.usa-prose .usa-collection__item>li{margin-bottom:0;max-width:unset}.usa-collection__img,.usa-collection__calendar-date{flex-shrink:0;margin-right:.5rem;width:4rem;margin-right:1rem}@media all and (min-width: 40em){.usa-collection__img,.usa-collection__calendar-date{width:5rem}}.usa-collection__body{flex:1 1 0%}.usa-collection__heading{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.13rem;line-height:1.3;margin-bottom:0;margin-top:0}.usa-collection__description{margin-bottom:.5rem;margin-top:.5rem}.usa-collection__meta{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;margin-top:.25rem}.usa-collection__meta>li{margin-bottom:0;max-width:unset}.usa-collection__meta-item{margin-top:.25rem;font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:.93rem;line-height:1.3;display:block;margin-right:.5rem}.usa-collection__meta-item.usa-tag{background-color:#dfe1e2;line-height:.9;padding-bottom:.25rem;padding-top:.25rem;color:#1b1b1b;display:inline-block;margin-top:.25rem}.usa-collection__meta-item.usa-tag--new{background-color:#c05600;color:#fff}.usa-collection__calendar-date{text-decoration:none}.usa-collection__calendar-date-month,.usa-collection__calendar-date-day{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.13rem;display:block;font-weight:700;padding:.25rem;text-align:center}@media all and (min-width: 40em){.usa-collection__calendar-date-month,.usa-collection__calendar-date-day{padding:.5rem}}.usa-collection__calendar-date-month{border-top-left-radius:2px;border-top-right-radius:2px;background-color:#005ea2;color:#fff}.usa-collection__calendar-date-day{border-bottom-left-radius:2px;border-bottom-right-radius:2px;border:1px solid #005ea2;color:#005ea2}.usa-collection--condensed .usa-collection__item{margin-bottom:.5rem;margin-top:.5rem;padding-top:.5rem}.usa-embed-container iframe,.usa-embed-container object,.usa-embed-container embed{position:absolute;top:0;left:0;width:100%;height:100%}.usa-embed-container{box-sizing:border-box;height:0;overflow:hidden;padding-bottom:56.25%;position:relative;max-width:100%}@supports(aspect-ratio: 1){.usa-embed-container{height:inherit;padding:inherit;aspect-ratio:1.7777777778;max-width:100%}.usa-embed-container>*{position:absolute;top:0;left:0;width:100%;height:100%}img.usa-embed-container,.usa-embed-container>img{object-fit:cover}}.usa-footer{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5}.usa-footer>.grid-container{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}@media all and (min-width: 64em){.usa-footer>.grid-container{padding-left:2rem;padding-right:2rem}}.usa-footer__return-to-top{padding-bottom:1.25rem;padding-top:1.25rem;line-height:.9}.usa-footer__return-to-top a{color:#005ea2;text-decoration:underline}.usa-footer__return-to-top a:visited{color:#54278f}.usa-footer__return-to-top a:hover{color:#1a4480}.usa-footer__return-to-top a:active{color:#162e51}.usa-footer__return-to-top a:focus{outline:.25rem solid #2491ff;outline-offset:0rem}.usa-footer__nav{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem;padding-left:0;padding-right:0;border-bottom:1px solid #a9aeb1}@media all and (min-width: 64em){.usa-footer__nav{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 30em){.usa-footer__nav{padding-left:1rem;padding-right:1rem;border-bottom:none}}@media all and (min-width: 30em)and (min-width: 64em){.usa-footer__nav{padding-left:2rem;padding-right:2rem}}.usa-footer__nav>ul{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0}.usa-footer__primary-section{background-color:#f0f0f0}.usa-footer__primary-section>.grid-container{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}@media all and (min-width: 64em){.usa-footer__primary-section>.grid-container{padding-left:2rem;padding-right:2rem}}.usa-footer__primary-container{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem;padding-left:0;padding-right:0}@media all and (min-width: 64em){.usa-footer__primary-container{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 64em){.usa-footer__primary-container{padding-left:2rem;padding-right:2rem}}.usa-footer__primary-content{line-height:1.1}.usa-footer__primary-link{padding-left:1rem;padding-right:1rem;padding-bottom:1rem;padding-top:1rem;color:#1b1b1b;font-weight:700;border:0;border-top:1px solid #a9aeb1;display:block}@media all and (min-width: 30em){.usa-footer__primary-link{padding-left:0;padding-right:0;border:none}}.usa-footer__primary-link--button{width:100%;cursor:pointer}.usa-footer__primary-link--button::before{background-image:url(\"../img/usa-icons/expand_more.svg\");background-repeat:no-repeat;background-position:center center;background-size:1.25rem 1.25rem;display:inline-block;height:1.25rem;width:1.25rem;content:\"\";vertical-align:middle;margin-right:.25rem}@supports(mask: url(\"\")){.usa-footer__primary-link--button::before{background:none;background-color:currentColor;mask-image:url(\"../img/usa-icons/expand_more.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:1.25rem 1.25rem}}.usa-footer__primary-link--button:not([disabled]):focus{outline:.25rem solid #2491ff;outline-offset:-0.25rem}.usa-footer__primary-link--button::before{height:1.25rem;width:1.25rem;align-items:center;background-size:contain;content:\"\";display:inline-flex;justify-content:center;margin-right:.25rem;margin-left:-0.25rem}@media(forced-colors: active){.usa-footer__primary-link--button::before{background-color:buttonText !important}}.usa-footer__primary-link--button+.usa-list--unstyled{margin-top:.5rem;margin-bottom:.5rem}.usa-footer__primary-link--button[aria-expanded=false]::before{background-image:url(\"../img/usa-icons/navigate_next.svg\");background-repeat:no-repeat;background-position:center center;background-size:1.25rem 1.25rem;display:inline-block;height:1.25rem;width:1.25rem;content:\"\";vertical-align:middle;margin-right:.25rem}@supports(mask: url(\"\")){.usa-footer__primary-link--button[aria-expanded=false]::before{background:none;background-color:currentColor;mask-image:url(\"../img/usa-icons/navigate_next.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:1.25rem 1.25rem}}.usa-footer__primary-link--button[aria-expanded=false]+.usa-list--unstyled{display:none}.usa-footer__secondary-link{line-height:1.1;margin-left:1rem;padding:0}.usa-footer__secondary-link a{color:#005ea2;text-decoration:underline}.usa-footer__secondary-link a:visited{color:#54278f}.usa-footer__secondary-link a:hover{color:#1a4480}.usa-footer__secondary-link a:active{color:#162e51}.usa-footer__secondary-link a:focus{outline:.25rem solid #2491ff;outline-offset:0rem}.usa-footer__secondary-link+.usa-footer__secondary-link{padding-top:1rem}@media all and (min-width: 30em){.usa-footer__secondary-link{margin-left:0}}.usa-footer__contact-info{line-height:1.1}.usa-footer__contact-info a{color:#1b1b1b}@media all and (min-width: 30em){.usa-footer__contact-info{justify-content:flex-end;margin-top:.5rem}}.usa-sign-up{padding-bottom:2rem;padding-top:1.5rem}.usa-sign-up .usa-label,.usa-sign-up .usa-button{margin-top:.75rem}.usa-sign-up__heading{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.34rem;line-height:1.2;font-weight:700;margin:0}.usa-footer__secondary-section{padding-bottom:1.25rem;padding-top:1.25rem;color:#1b1b1b;background-color:#dfe1e2}.usa-footer__secondary-section>.grid-container{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}@media all and (min-width: 64em){.usa-footer__secondary-section>.grid-container{padding-left:2rem;padding-right:2rem}}.usa-footer__secondary-section>.grid-container>.grid-row{justify-content:space-between}.usa-footer__secondary-section a{color:#1b1b1b}.usa-footer__logo{margin-bottom:.5rem;margin-top:.5rem}@media all and (min-width: 30em){.usa-footer__logo{margin-bottom:0;margin-top:0;align-items:center}}.usa-footer__logo-img{max-width:5rem}.usa-footer__logo-heading{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.46rem;line-height:.9;font-weight:700;margin-bottom:.5rem;margin-top:.5rem}.usa-footer__contact-links{margin-top:1.5rem}@media all and (min-width: 30em){.usa-footer__contact-links{margin-top:0;text-align:right}}.usa-footer__contact-heading{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.46rem;line-height:1.1;font-weight:700;margin-top:0}@media all and (min-width: 30em){.usa-footer__contact-heading{margin-bottom:.25rem;margin-top:.25rem}}.usa-footer__social-links{line-height:.9;padding-bottom:.5rem}.usa-footer__social-links a{text-decoration:none}@media all and (min-width: 30em){.usa-footer__social-links{justify-content:flex-end}}.usa-social-link{height:3rem;width:3rem;background-color:rgba(0,0,0,.1);display:inline-block;padding:.25rem}.usa-social-link:hover{background-color:#fff}@media(forced-colors: active){.usa-social-link{background-color:#d3d3d3;forced-color-adjust:none}}.usa-social-link__icon{display:block;height:auto;width:100%}@media all and (min-width: 30em){.usa-footer__address{justify-content:flex-end}}@media all and (min-width: 64em){.usa-footer--slim .usa-footer__nav{padding-left:0;padding-right:0}}.usa-footer--slim .usa-footer__address{padding-left:1rem;padding-right:1rem;padding-bottom:1rem;padding-top:1rem}@media all and (min-width: 30em){.usa-footer--slim .usa-footer__address{padding:0}}.usa-footer--slim .usa-footer__logo{align-items:center}.usa-footer--slim .usa-footer__logo-img{max-width:3rem}.usa-footer--slim .usa-footer__contact-info{display:inline-block}@media all and (min-width: 30em){.usa-footer--slim .usa-footer__contact-info{padding-bottom:1rem;padding-top:1rem;margin-top:0}}.usa-footer--big .usa-footer__nav{margin-left:-1rem;margin-right:-1rem}@media all and (min-width: 30em){.usa-footer--big .usa-footer__nav{border-bottom:1px solid #a9aeb1;padding-top:2rem}}@media all and (min-width: 40em){.usa-footer--big .usa-footer__nav{margin-left:0;margin-right:0;padding-left:0;padding-right:0;border-bottom:none}}.usa-footer--big .usa-footer__primary-link{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.98rem;line-height:1.2;font-weight:700;line-height:1.2;margin:0}@media all and (min-width: 30em){.usa-footer--big .usa-footer__primary-link{padding-bottom:0;padding-top:0;margin-bottom:.5rem}.usa-footer--big .usa-footer__primary-link:hover{cursor:auto;text-decoration:none}}.usa-footer--big .usa-footer__primary-content--collapsible .usa-footer__primary-link{align-items:center;display:flex;justify-content:flex-start}.usa-footer--big .usa-footer__primary-content--collapsible .usa-list--unstyled{padding-left:1rem;padding-right:1rem;padding-bottom:1.25rem}@media all and (min-width: 30em){.usa-footer--big .usa-footer__primary-content--collapsible .usa-list--unstyled{padding-left:0;padding-right:0;padding-bottom:2rem;padding-top:.75rem}}.usa-form{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.3}@media all and (min-width: 30em){.usa-form{max-width:20rem}}.usa-form abbr[title=required]{text-decoration:none}.usa-form :where(.usa-input,.usa-textarea,.usa-select,.usa-range){max-width:none}.usa-form .usa-button{margin-top:.5rem}@media all and (min-width: 30em){.usa-form .usa-button{margin-top:1.5rem}}.usa-form a:where(:not(.usa-button)){color:#005ea2;text-decoration:underline}.usa-form a:where(:not(.usa-button)):visited{color:#54278f}.usa-form a:where(:not(.usa-button)):hover{color:#1a4480}.usa-form a:where(:not(.usa-button)):active{color:#162e51}.usa-form a:where(:not(.usa-button)):focus{outline:.25rem solid #2491ff;outline-offset:0rem}@media all and (min-width: 30em){.usa-form--large{max-width:30rem}}.usa-show-password{color:#005ea2;text-decoration:underline;background-color:rgba(0,0,0,0);border:0;border-radius:0;box-shadow:none;font-weight:normal;justify-content:normal;text-align:left;margin:0;padding:0;width:auto;cursor:pointer}.usa-show-password:visited{color:#54278f}.usa-show-password:hover{color:#1a4480}.usa-show-password:active{color:#162e51}.usa-show-password:focus{outline:.25rem solid #2491ff;outline-offset:0rem}.usa-show-password:hover,.usa-show-password.usa-button--hover,.usa-show-password:disabled:hover,.usa-show-password[aria-disabled=true]:hover,.usa-show-password:disabled.usa-button--hover,.usa-show-password[aria-disabled=true].usa-button--hover,.usa-show-password:active,.usa-show-password.usa-button--active,.usa-show-password:disabled:active,.usa-show-password[aria-disabled=true]:active,.usa-show-password:disabled.usa-button--active,.usa-show-password[aria-disabled=true].usa-button--active,.usa-show-password:disabled:focus,.usa-show-password[aria-disabled=true]:focus,.usa-show-password:disabled.usa-focus,.usa-show-password[aria-disabled=true].usa-focus,.usa-show-password:disabled,.usa-show-password[aria-disabled=true],.usa-show-password.usa-button--disabled{background-color:rgba(0,0,0,0);box-shadow:none;text-decoration:underline}.usa-show-password.usa-button--hover{color:#1a4480}.usa-show-password.usa-button--active{color:#162e51}.usa-show-password:disabled,.usa-show-password[aria-disabled=true],.usa-show-password:disabled:hover,.usa-show-password[aria-disabled=true]:hover,.usa-show-password[aria-disabled=true]:focus{color:#757575}@media(forced-colors: active){.usa-show-password:disabled,.usa-show-password[aria-disabled=true],.usa-show-password:disabled:hover,.usa-show-password[aria-disabled=true]:hover,.usa-show-password[aria-disabled=true]:focus{color:GrayText}}.usa-form__note,.usa-show-password{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:.93rem;line-height:1.3;float:right;margin:.25rem 0 1rem}.usa-graphic-list{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5}.usa-graphic-list .usa-graphic-list__row .usa-media-block{margin-bottom:2rem}@media all and (min-width: 40em){.usa-graphic-list .usa-graphic-list__row .usa-media-block{margin-bottom:4rem}}@media all and (min-width: 40em){.usa-graphic-list .usa-graphic-list__row:last-child .usa-media-block{margin-bottom:0}}.usa-graphic-list .usa-graphic-list__row:last-child .usa-media-block:last-child{margin-bottom:0}.usa-graphic-list .usa-media-block__img{margin-right:1.5rem}.usa-graphic-list .usa-media-block__body>:first-child{margin-top:0}.usa-graphic-list__heading{margin-bottom:0;margin-top:0;clear:both;font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.34rem;line-height:1.2;font-weight:700}*+.usa-graphic-list__heading{margin-top:1.5em}.usa-graphic-list__heading+*{margin-top:1em}.usa-header{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5}.usa-header::after{clear:both;content:\"\";display:block}.usa-header a{border-bottom:none}.usa-header .usa-search{margin-top:.5rem}@media all and (min-width: 64em){.usa-header .usa-search{float:right}}@media all and (min-width: 64em){.usa-header [role=search]{float:right;max-width:calc(27ch + 3rem);width:100%}}.usa-header [type=search]{min-width:0}@media all and (min-width: 64em){.usa-header+.usa-hero{border-top:1px solid #fff}}@media all and (min-width: 64em){.usa-header+.usa-section,.usa-header+main{border-top:1px solid #dfe1e2}}@media all and (max-width: 63.99em){.usa-logo{flex:1 1 0%;font-size:.93rem;line-height:.9;margin-left:1rem}}@media all and (min-width: 64em){.usa-logo{margin-top:2rem;margin-bottom:1rem;font-size:1.46rem;line-height:1.1}}.usa-logo a{color:#1b1b1b;text-decoration:none}.usa-logo__text{display:block;font-style:normal;font-weight:700;margin:0}.usa-menu-btn{color:#005ea2;text-decoration:underline;background-color:rgba(0,0,0,0);border:0;border-radius:0;box-shadow:none;font-weight:normal;justify-content:normal;text-align:left;margin:0;padding:0;width:auto;flex:0 1 auto;padding-left:.75rem;padding-right:.75rem;background-color:#005ea2;color:#fff;font-size:.87rem;height:3rem;text-align:center;text-decoration:none;text-transform:uppercase}.usa-menu-btn:visited{color:#54278f}.usa-menu-btn:hover{color:#1a4480}.usa-menu-btn:active{color:#162e51}.usa-menu-btn:focus{outline:.25rem solid #2491ff;outline-offset:0rem}.usa-menu-btn:hover,.usa-menu-btn.usa-button--hover,.usa-menu-btn:disabled:hover,.usa-menu-btn[aria-disabled=true]:hover,.usa-menu-btn:disabled.usa-button--hover,.usa-menu-btn[aria-disabled=true].usa-button--hover,.usa-menu-btn:active,.usa-menu-btn.usa-button--active,.usa-menu-btn:disabled:active,.usa-menu-btn[aria-disabled=true]:active,.usa-menu-btn:disabled.usa-button--active,.usa-menu-btn[aria-disabled=true].usa-button--active,.usa-menu-btn:disabled:focus,.usa-menu-btn[aria-disabled=true]:focus,.usa-menu-btn:disabled.usa-focus,.usa-menu-btn[aria-disabled=true].usa-focus,.usa-menu-btn:disabled,.usa-menu-btn[aria-disabled=true],.usa-menu-btn.usa-button--disabled{background-color:rgba(0,0,0,0);box-shadow:none;text-decoration:underline}.usa-menu-btn.usa-button--hover{color:#1a4480}.usa-menu-btn.usa-button--active{color:#162e51}.usa-menu-btn:disabled,.usa-menu-btn[aria-disabled=true],.usa-menu-btn:disabled:hover,.usa-menu-btn[aria-disabled=true]:hover,.usa-menu-btn[aria-disabled=true]:focus{color:#757575}@media(forced-colors: active){.usa-menu-btn:disabled,.usa-menu-btn[aria-disabled=true],.usa-menu-btn:disabled:hover,.usa-menu-btn[aria-disabled=true]:hover,.usa-menu-btn[aria-disabled=true]:focus{color:GrayText}}@media all and (min-width: 64em){.usa-menu-btn{display:none}}.usa-menu-btn:hover{background-color:#1a4480;color:#fff;text-decoration:none}.usa-menu-btn:active{color:#fff}.usa-menu-btn:visited{color:#fff}.usa-overlay{position:absolute;bottom:0;left:0;right:0;top:0;position:fixed;background:rgba(0,0,0,.7);opacity:0;transition:opacity .15s ease-in-out;visibility:hidden;z-index:400}.usa-overlay.is-visible{opacity:1;visibility:visible}@media all and (min-width: 64em){.usa-header--basic .usa-navbar{position:relative;width:33%}.usa-header--basic .usa-nav{flex-direction:row;align-items:center;justify-content:flex-end;display:flex;padding:0 0 .5rem .5rem;width:100%}.usa-header--basic .usa-nav-container{align-items:flex-end;justify-content:space-between;display:flex}.usa-header--basic .usa-nav__primary-item>.usa-current,.usa-header--basic .usa-nav__link:hover{position:relative}.usa-header--basic .usa-nav__primary-item>.usa-current::after,.usa-header--basic .usa-nav__link:hover::after{background-color:#005ea2;border-radius:0;content:\"\";display:block;position:absolute;height:.25rem;left:1rem;right:1rem;bottom:-0.25rem}}@media(min-width: 64em)and (forced-colors: active){.usa-header--basic .usa-nav__primary-item>.usa-current::after,.usa-header--basic .usa-nav__link:hover::after{background-color:ButtonText}}@media all and (min-width: 64em){.usa-header--basic .usa-nav__link[aria-expanded=true]::after,.usa-header--basic .usa-nav__link[aria-expanded=true]:hover::after{display:none}.usa-header--basic .usa-nav__primary{width:auto}.usa-header--basic .usa-nav__primary-item:last-of-type{position:relative}.usa-header--basic .usa-nav__primary-item:last-of-type .usa-nav__submenu{position:absolute;right:0}.usa-header--basic .usa-search{top:0}}.usa-header--basic.usa-header--megamenu .usa-nav__inner{display:flex;flex-direction:column}@media all and (min-width: 64em){.usa-header--basic.usa-header--megamenu .usa-nav__inner{display:block;float:right;margin-top:-2.5rem}}@media all and (min-width: 64em){.usa-header--basic.usa-header--megamenu .usa-nav__primary-item:last-of-type{position:static}}@media all and (min-width: 64em){.usa-header--extended{padding-top:0}.usa-header--extended .usa-nav__primary-item>.usa-current,.usa-header--extended .usa-nav__primary-item>.usa-nav__link:hover{position:relative}.usa-header--extended .usa-nav__primary-item>.usa-current::after,.usa-header--extended .usa-nav__primary-item>.usa-nav__link:hover::after{background-color:#005ea2;border-radius:0;content:\"\";display:block;position:absolute;height:.25rem;left:1rem;right:1rem;bottom:0rem}}@media(min-width: 64em)and (forced-colors: active){.usa-header--extended .usa-nav__primary-item>.usa-current::after,.usa-header--extended .usa-nav__primary-item>.usa-nav__link:hover::after{background-color:ButtonText}}@media all and (min-width: 64em){.usa-header--extended .usa-nav__link[aria-expanded=true]::after,.usa-header--extended .usa-nav__link[aria-expanded=true]:hover::after{display:none}}@media all and (min-width: 64em){.usa-header--extended .usa-logo{font-size:2.13rem;margin:2rem 0 1.5rem;max-width:33%}}@media all and (min-width: 64em){.usa-header--extended .usa-navbar{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem;display:block;height:auto;overflow:auto}}@media all and (min-width: 64em)and (min-width: 64em){.usa-header--extended .usa-navbar{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 64em){.usa-header--extended .usa-nav{border-top:1px solid #dfe1e2;padding:0;width:100%}}@media all and (min-width: 64em){.usa-header--extended .usa-nav__inner{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem;position:relative}}@media all and (min-width: 64em)and (min-width: 64em){.usa-header--extended .usa-nav__inner{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 64em){.usa-header--extended .usa-nav__primary{margin-left:-1rem}.usa-header--extended .usa-nav__primary::after{clear:both;content:\"\";display:block}}@media all and (min-width: 64em){.usa-header--extended .usa-nav__link{padding-bottom:1rem;padding-top:1rem}}@media all and (min-width: 64em){.usa-header--extended .usa-nav__submenu .usa-grid-full{padding-left:.75rem}}@media all and (min-width: 64em){.usa-header--extended .usa-nav__submenu.usa-megamenu{left:0;padding-left:2rem;padding-right:2rem}}html.usa-js-loading .usa-nav__submenu,html.usa-js-loading .usa-nav__submenu.usa-megamenu{position:absolute;left:-999em;right:auto}.usa-megamenu .usa-col{flex:1 1 auto}@media all and (min-width: 64em){.usa-megamenu .usa-col{flex:4 1 0%}.usa-megamenu .usa-col .usa-nav__submenu-item a{padding-left:.5rem;padding-right:.5rem}.usa-megamenu .usa-col:first-child .usa-nav__submenu-item a{padding-left:0}.usa-megamenu .usa-col:last-child .usa-nav__submenu-item a{padding-right:0}}@media all and (min-width: 64em){.usa-megamenu.usa-nav__submenu{padding-left:0;padding-right:0;padding-bottom:2rem;padding-top:2rem;left:-33%;right:0;width:auto}}@media all and (min-width: 64em){.usa-megamenu.usa-nav__submenu::before{position:absolute;bottom:0;top:0;background-color:#162e51;content:\"\";display:block;position:absolute;width:calc(50vw - 32rem + 2rem);right:100%}}@media all and (min-width: 64em){.usa-megamenu.usa-nav__submenu::after{position:absolute;bottom:0;top:0;background-color:#162e51;content:\"\";display:block;position:absolute;width:calc(50vw - 32rem + 2rem);left:100%}}@media all and (min-width: 64em){.usa-header--extended .usa-megamenu.usa-nav__submenu::before{position:absolute;bottom:0;top:0;background-color:#162e51;content:\"\";display:block;position:absolute;width:calc(50vw - 32rem)}}@media all and (min-width: 64em){.usa-header--extended .usa-megamenu.usa-nav__submenu::after{position:absolute;bottom:0;top:0;background-color:#162e51;content:\"\";display:block;position:absolute;width:calc(50vw - 32rem)}}@media all and (min-width: 64em){.usa-nav-container{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem;padding-left:2rem;padding-right:2rem}.usa-nav-container::after{clear:both;content:\"\";display:block}}@media all and (min-width: 64em)and (min-width: 64em){.usa-nav-container{padding-left:2rem;padding-right:2rem}}.usa-navbar{height:3rem}@media all and (max-width: 63.99em){.usa-navbar{align-items:center;border-bottom:1px solid #dfe1e2;display:flex}}@media all and (min-width: 64em){.usa-navbar{border-bottom:none;display:inline-block;height:auto}}.usa-hero{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5;background-image:url(\"../img/hero.jpg\");background-position:center;background-size:cover;color:#fff}.usa-hero>.grid-container{position:relative;padding-bottom:2rem;padding-top:2rem}.usa-hero__callout{background-color:#162e51;padding:2rem}@media all and (min-width: 40em){.usa-hero__callout{max-width:20rem}}.usa-hero__heading{margin-bottom:0;margin-top:0;clear:both;font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.95rem;line-height:1.2;font-weight:700;color:#00bde3;line-height:1.2}*+.usa-hero__heading{margin-top:1.5em}.usa-hero__heading+*{margin-top:1em}.usa-hero__heading--alt{color:#fff;display:block}.usa-icon-list{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5;margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;max-width:72ex}.usa-icon-list>li{margin-bottom:0;max-width:unset}.usa-icon-list__item{display:flex;position:relative}.usa-icon-list__item+.usa-icon-list__item{padding-top:.75rem}.usa-prose .usa-icon-list{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5;margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;max-width:72ex}.usa-prose .usa-icon-list>li{margin-bottom:0;max-width:unset}.usa-prose .usa-icon-list__item{display:flex;position:relative}.usa-prose .usa-icon-list__item+.usa-icon-list__item{padding-top:.75rem}.usa-icon-list--base-lightest .usa-icon-list__icon{color:#f0f0f0}.usa-icon-list--base-lighter .usa-icon-list__icon{color:#dfe1e2}.usa-icon-list--base-light .usa-icon-list__icon{color:#a9aeb1}.usa-icon-list--base .usa-icon-list__icon{color:#71767a}.usa-icon-list--base-dark .usa-icon-list__icon{color:#565c65}.usa-icon-list--base-darker .usa-icon-list__icon{color:#3d4551}.usa-icon-list--base-darkest .usa-icon-list__icon{color:#1b1b1b}.usa-icon-list--primary-lighter .usa-icon-list__icon{color:#d9e8f6}.usa-icon-list--primary-light .usa-icon-list__icon{color:#73b3e7}.usa-icon-list--primary .usa-icon-list__icon{color:#005ea2}.usa-icon-list--primary-vivid .usa-icon-list__icon{color:#0050d8}.usa-icon-list--primary-dark .usa-icon-list__icon{color:#1a4480}.usa-icon-list--primary-darker .usa-icon-list__icon{color:#162e51}.usa-icon-list--secondary-lighter .usa-icon-list__icon{color:#f3e1e4}.usa-icon-list--secondary-light .usa-icon-list__icon{color:#f2938c}.usa-icon-list--secondary .usa-icon-list__icon{color:#d83933}.usa-icon-list--secondary-vivid .usa-icon-list__icon{color:#e41d3d}.usa-icon-list--secondary-dark .usa-icon-list__icon{color:#b50909}.usa-icon-list--secondary-darker .usa-icon-list__icon{color:#8b0a03}.usa-icon-list--accent-warm-lighter .usa-icon-list__icon{color:#f2e4d4}.usa-icon-list--accent-warm-light .usa-icon-list__icon{color:#ffbc78}.usa-icon-list--accent-warm .usa-icon-list__icon{color:#fa9441}.usa-icon-list--accent-warm-dark .usa-icon-list__icon{color:#c05600}.usa-icon-list--accent-warm-darker .usa-icon-list__icon{color:#775540}.usa-icon-list--accent-cool-lighter .usa-icon-list__icon{color:#e1f3f8}.usa-icon-list--accent-cool-light .usa-icon-list__icon{color:#97d4ea}.usa-icon-list--accent-cool .usa-icon-list__icon{color:#00bde3}.usa-icon-list--accent-cool-dark .usa-icon-list__icon{color:#28a0cb}.usa-icon-list--accent-cool-darker .usa-icon-list__icon{color:#07648d}.usa-icon-list--error-lighter .usa-icon-list__icon{color:#f4e3db}.usa-icon-list--error-light .usa-icon-list__icon{color:#f39268}.usa-icon-list--error .usa-icon-list__icon{color:#d54309}.usa-icon-list--error-dark .usa-icon-list__icon{color:#b50909}.usa-icon-list--error-darker .usa-icon-list__icon{color:#6f3331}.usa-icon-list--warning-lighter .usa-icon-list__icon{color:#faf3d1}.usa-icon-list--warning-light .usa-icon-list__icon{color:#fee685}.usa-icon-list--warning .usa-icon-list__icon{color:#ffbe2e}.usa-icon-list--warning-dark .usa-icon-list__icon{color:#e5a000}.usa-icon-list--warning-darker .usa-icon-list__icon{color:#936f38}.usa-icon-list--success-lighter .usa-icon-list__icon{color:#ecf3ec}.usa-icon-list--success-light .usa-icon-list__icon{color:#70e17b}.usa-icon-list--success .usa-icon-list__icon{color:#00a91c}.usa-icon-list--success-dark .usa-icon-list__icon{color:#008817}.usa-icon-list--success-darker .usa-icon-list__icon{color:#216e1f}.usa-icon-list--info-lighter .usa-icon-list__icon{color:#e7f6f8}.usa-icon-list--info-light .usa-icon-list__icon{color:#99deea}.usa-icon-list--info .usa-icon-list__icon{color:#00bde3}.usa-icon-list--info-dark .usa-icon-list__icon{color:#009ec1}.usa-icon-list--info-darker .usa-icon-list__icon{color:#2e6276}.usa-icon-list--disabled-lighter .usa-icon-list__icon{color:#c9c9c9}.usa-icon-list--disabled-light .usa-icon-list__icon{color:#919191}.usa-icon-list--disabled .usa-icon-list__icon{color:#757575}.usa-icon-list--disabled-dark .usa-icon-list__icon{color:#454545}.usa-icon-list--disabled-darker .usa-icon-list__icon{color:#1b1b1b}.usa-icon-list--emergency .usa-icon-list__icon{color:#9c3d10}.usa-icon-list--emergency-dark .usa-icon-list__icon{color:#332d29}.usa-icon-list__icon .usa-icon{display:block;height:1.5rem;position:relative;width:1.5rem}.usa-icon-list__content>p,.usa-icon-list__content>ul,.usa-icon-list__content>ol{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;max-width:72ex}.usa-icon-list[class*=usa-icon-list--size-]{max-width:none}.usa-icon-list--size-micro .usa-icon-list__icon .usa-icon{height:1.005rem;width:1.005rem}.usa-icon-list--size-micro .usa-icon-list__content{max-width:72ex;font-size:.67rem;padding-left:.268rem}.usa-icon-list--size-micro .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.61rem}.usa-icon-list--size-1 .usa-icon-list__icon .usa-icon{height:1.2rem;width:1.2rem}.usa-icon-list--size-1 .usa-icon-list__content{max-width:72ex;font-size:.8rem;padding-left:.32rem}.usa-icon-list--size-1 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.73rem}.usa-icon-list--size-2 .usa-icon-list__icon .usa-icon{height:1.305rem;width:1.305rem}.usa-icon-list--size-2 .usa-icon-list__content{max-width:72ex;font-size:.87rem;padding-left:.348rem}.usa-icon-list--size-2 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.79rem}.usa-icon-list--size-3 .usa-icon-list__icon .usa-icon{height:1.395rem;width:1.395rem}.usa-icon-list--size-3 .usa-icon-list__content{max-width:72ex;font-size:.93rem;padding-left:.372rem}.usa-icon-list--size-3 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.85rem}.usa-icon-list--size-4 .usa-icon-list__icon .usa-icon{height:1.5rem;width:1.5rem}.usa-icon-list--size-4 .usa-icon-list__content{max-width:72ex;font-size:1rem;padding-left:.4rem}.usa-icon-list--size-4 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.91rem}.usa-icon-list--size-5 .usa-icon-list__icon .usa-icon{height:1.59rem;width:1.59rem}.usa-icon-list--size-5 .usa-icon-list__content{max-width:72ex;font-size:1.06rem;padding-left:.424rem}.usa-icon-list--size-5 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.98rem}.usa-icon-list--size-6 .usa-icon-list__icon .usa-icon{height:1.695rem;width:1.695rem}.usa-icon-list--size-6 .usa-icon-list__content{max-width:72ex;font-size:1.13rem;padding-left:.452rem}.usa-icon-list--size-6 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.04rem}.usa-icon-list--size-7 .usa-icon-list__icon .usa-icon{height:1.8rem;width:1.8rem}.usa-icon-list--size-7 .usa-icon-list__content{max-width:72ex;font-size:1.2rem;padding-left:.48rem}.usa-icon-list--size-7 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.1rem}.usa-icon-list--size-8 .usa-icon-list__icon .usa-icon{height:1.995rem;width:1.995rem}.usa-icon-list--size-8 .usa-icon-list__content{max-width:72ex;font-size:1.33rem;padding-left:.532rem}.usa-icon-list--size-8 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.22rem}.usa-icon-list--size-9 .usa-icon-list__icon .usa-icon{height:2.19rem;width:2.19rem}.usa-icon-list--size-9 .usa-icon-list__content{max-width:72ex;font-size:1.46rem;padding-left:.584rem}.usa-icon-list--size-9 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.34rem}.usa-icon-list--size-10 .usa-icon-list__icon .usa-icon{height:2.4rem;width:2.4rem}.usa-icon-list--size-10 .usa-icon-list__content{max-width:72ex;font-size:1.6rem;padding-left:.64rem}.usa-icon-list--size-10 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.46rem}.usa-icon-list--size-11 .usa-icon-list__icon .usa-icon{height:2.79rem;width:2.79rem}.usa-icon-list--size-11 .usa-icon-list__content{max-width:72ex;font-size:1.86rem;padding-left:.744rem}.usa-icon-list--size-11 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.71rem}.usa-icon-list--size-12 .usa-icon-list__icon .usa-icon{height:3.195rem;width:3.195rem}.usa-icon-list--size-12 .usa-icon-list__content{max-width:72ex;font-size:2.13rem;padding-left:.852rem}.usa-icon-list--size-12 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.95rem}.usa-icon-list--size-13 .usa-icon-list__icon .usa-icon{height:3.6rem;width:3.6rem}.usa-icon-list--size-13 .usa-icon-list__content{max-width:72ex;font-size:2.4rem;padding-left:.96rem}.usa-icon-list--size-13 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.2rem}.usa-icon-list--size-14 .usa-icon-list__icon .usa-icon{height:3.99rem;width:3.99rem}.usa-icon-list--size-14 .usa-icon-list__content{max-width:72ex;font-size:2.66rem;padding-left:1.064rem}.usa-icon-list--size-14 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.44rem}.usa-icon-list--size-15 .usa-icon-list__icon .usa-icon{height:4.785rem;width:4.785rem}.usa-icon-list--size-15 .usa-icon-list__content{max-width:72ex;font-size:3.19rem;padding-left:1.276rem}.usa-icon-list--size-15 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.93rem}.usa-icon-list--size-16 .usa-icon-list__icon .usa-icon{height:5.595rem;width:5.595rem}.usa-icon-list--size-16 .usa-icon-list__content{max-width:72ex;font-size:3.73rem;padding-left:1.492rem}.usa-icon-list--size-16 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:3.42rem}.usa-icon-list--size-17 .usa-icon-list__icon .usa-icon{height:6.39rem;width:6.39rem}.usa-icon-list--size-17 .usa-icon-list__content{max-width:72ex;font-size:4.26rem;padding-left:1.704rem}.usa-icon-list--size-17 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:3.9rem}.usa-icon-list--size-18 .usa-icon-list__icon .usa-icon{height:7.98rem;width:7.98rem}.usa-icon-list--size-18 .usa-icon-list__content{max-width:72ex;font-size:5.32rem;padding-left:2.128rem}.usa-icon-list--size-18 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:4.88rem}.usa-icon-list--size-19 .usa-icon-list__icon .usa-icon{height:11.985rem;width:11.985rem}.usa-icon-list--size-19 .usa-icon-list__content{max-width:72ex;font-size:7.99rem;padding-left:3.196rem}.usa-icon-list--size-19 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:7.32rem}.usa-icon-list--size-20 .usa-icon-list__icon .usa-icon{height:13.98rem;width:13.98rem}.usa-icon-list--size-20 .usa-icon-list__content{max-width:72ex;font-size:9.32rem;padding-left:3.728rem}.usa-icon-list--size-20 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:8.54rem}.usa-icon-list--size-3xs .usa-icon-list__icon .usa-icon{height:1.305rem;width:1.305rem}.usa-icon-list--size-3xs .usa-icon-list__content{max-width:72ex;font-size:.87rem;padding-left:.348rem}.usa-icon-list--size-3xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.79rem}.usa-icon-list--size-2xs .usa-icon-list__icon .usa-icon{height:1.395rem;width:1.395rem}.usa-icon-list--size-2xs .usa-icon-list__content{max-width:72ex;font-size:.93rem;padding-left:.372rem}.usa-icon-list--size-2xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.85rem}.usa-icon-list--size-xs .usa-icon-list__icon .usa-icon{height:1.5rem;width:1.5rem}.usa-icon-list--size-xs .usa-icon-list__content{max-width:72ex;font-size:1rem;padding-left:.4rem}.usa-icon-list--size-xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.91rem}.usa-icon-list--size-sm .usa-icon-list__icon .usa-icon{height:1.59rem;width:1.59rem}.usa-icon-list--size-sm .usa-icon-list__content{max-width:72ex;font-size:1.06rem;padding-left:.424rem}.usa-icon-list--size-sm .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.98rem}.usa-icon-list--size-md .usa-icon-list__icon .usa-icon{height:1.695rem;width:1.695rem}.usa-icon-list--size-md .usa-icon-list__content{max-width:72ex;font-size:1.13rem;padding-left:.452rem}.usa-icon-list--size-md .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.04rem}.usa-icon-list--size-lg .usa-icon-list__icon .usa-icon{height:2.19rem;width:2.19rem}.usa-icon-list--size-lg .usa-icon-list__content{max-width:72ex;font-size:1.46rem;padding-left:.584rem}.usa-icon-list--size-lg .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.34rem}.usa-icon-list--size-xl .usa-icon-list__icon .usa-icon{height:3.195rem;width:3.195rem}.usa-icon-list--size-xl .usa-icon-list__content{max-width:72ex;font-size:2.13rem;padding-left:.852rem}.usa-icon-list--size-xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.95rem}.usa-icon-list--size-2xl .usa-icon-list__icon .usa-icon{height:3.99rem;width:3.99rem}.usa-icon-list--size-2xl .usa-icon-list__content{max-width:72ex;font-size:2.66rem;padding-left:1.064rem}.usa-icon-list--size-2xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.44rem}.usa-icon-list--size-3xl .usa-icon-list__icon .usa-icon{height:4.785rem;width:4.785rem}.usa-icon-list--size-3xl .usa-icon-list__content{max-width:72ex;font-size:3.19rem;padding-left:1.276rem}.usa-icon-list--size-3xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.93rem}@media all and (min-width: 30em){.mobile-lg\\:usa-icon-list--size-micro .usa-icon-list__icon .usa-icon{height:1.005rem;width:1.005rem}.mobile-lg\\:usa-icon-list--size-micro .usa-icon-list__content{max-width:72ex;font-size:.67rem;padding-left:.268rem}.mobile-lg\\:usa-icon-list--size-micro .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.61rem}.mobile-lg\\:usa-icon-list--size-1 .usa-icon-list__icon .usa-icon{height:1.2rem;width:1.2rem}.mobile-lg\\:usa-icon-list--size-1 .usa-icon-list__content{max-width:72ex;font-size:.8rem;padding-left:.32rem}.mobile-lg\\:usa-icon-list--size-1 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.73rem}.mobile-lg\\:usa-icon-list--size-2 .usa-icon-list__icon .usa-icon{height:1.305rem;width:1.305rem}.mobile-lg\\:usa-icon-list--size-2 .usa-icon-list__content{max-width:72ex;font-size:.87rem;padding-left:.348rem}.mobile-lg\\:usa-icon-list--size-2 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.79rem}.mobile-lg\\:usa-icon-list--size-3 .usa-icon-list__icon .usa-icon{height:1.395rem;width:1.395rem}.mobile-lg\\:usa-icon-list--size-3 .usa-icon-list__content{max-width:72ex;font-size:.93rem;padding-left:.372rem}.mobile-lg\\:usa-icon-list--size-3 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.85rem}.mobile-lg\\:usa-icon-list--size-4 .usa-icon-list__icon .usa-icon{height:1.5rem;width:1.5rem}.mobile-lg\\:usa-icon-list--size-4 .usa-icon-list__content{max-width:72ex;font-size:1rem;padding-left:.4rem}.mobile-lg\\:usa-icon-list--size-4 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.91rem}.mobile-lg\\:usa-icon-list--size-5 .usa-icon-list__icon .usa-icon{height:1.59rem;width:1.59rem}.mobile-lg\\:usa-icon-list--size-5 .usa-icon-list__content{max-width:72ex;font-size:1.06rem;padding-left:.424rem}.mobile-lg\\:usa-icon-list--size-5 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.98rem}.mobile-lg\\:usa-icon-list--size-6 .usa-icon-list__icon .usa-icon{height:1.695rem;width:1.695rem}.mobile-lg\\:usa-icon-list--size-6 .usa-icon-list__content{max-width:72ex;font-size:1.13rem;padding-left:.452rem}.mobile-lg\\:usa-icon-list--size-6 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.04rem}.mobile-lg\\:usa-icon-list--size-7 .usa-icon-list__icon .usa-icon{height:1.8rem;width:1.8rem}.mobile-lg\\:usa-icon-list--size-7 .usa-icon-list__content{max-width:72ex;font-size:1.2rem;padding-left:.48rem}.mobile-lg\\:usa-icon-list--size-7 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.1rem}.mobile-lg\\:usa-icon-list--size-8 .usa-icon-list__icon .usa-icon{height:1.995rem;width:1.995rem}.mobile-lg\\:usa-icon-list--size-8 .usa-icon-list__content{max-width:72ex;font-size:1.33rem;padding-left:.532rem}.mobile-lg\\:usa-icon-list--size-8 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.22rem}.mobile-lg\\:usa-icon-list--size-9 .usa-icon-list__icon .usa-icon{height:2.19rem;width:2.19rem}.mobile-lg\\:usa-icon-list--size-9 .usa-icon-list__content{max-width:72ex;font-size:1.46rem;padding-left:.584rem}.mobile-lg\\:usa-icon-list--size-9 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.34rem}.mobile-lg\\:usa-icon-list--size-10 .usa-icon-list__icon .usa-icon{height:2.4rem;width:2.4rem}.mobile-lg\\:usa-icon-list--size-10 .usa-icon-list__content{max-width:72ex;font-size:1.6rem;padding-left:.64rem}.mobile-lg\\:usa-icon-list--size-10 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.46rem}.mobile-lg\\:usa-icon-list--size-11 .usa-icon-list__icon .usa-icon{height:2.79rem;width:2.79rem}.mobile-lg\\:usa-icon-list--size-11 .usa-icon-list__content{max-width:72ex;font-size:1.86rem;padding-left:.744rem}.mobile-lg\\:usa-icon-list--size-11 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.71rem}.mobile-lg\\:usa-icon-list--size-12 .usa-icon-list__icon .usa-icon{height:3.195rem;width:3.195rem}.mobile-lg\\:usa-icon-list--size-12 .usa-icon-list__content{max-width:72ex;font-size:2.13rem;padding-left:.852rem}.mobile-lg\\:usa-icon-list--size-12 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.95rem}.mobile-lg\\:usa-icon-list--size-13 .usa-icon-list__icon .usa-icon{height:3.6rem;width:3.6rem}.mobile-lg\\:usa-icon-list--size-13 .usa-icon-list__content{max-width:72ex;font-size:2.4rem;padding-left:.96rem}.mobile-lg\\:usa-icon-list--size-13 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.2rem}.mobile-lg\\:usa-icon-list--size-14 .usa-icon-list__icon .usa-icon{height:3.99rem;width:3.99rem}.mobile-lg\\:usa-icon-list--size-14 .usa-icon-list__content{max-width:72ex;font-size:2.66rem;padding-left:1.064rem}.mobile-lg\\:usa-icon-list--size-14 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.44rem}.mobile-lg\\:usa-icon-list--size-15 .usa-icon-list__icon .usa-icon{height:4.785rem;width:4.785rem}.mobile-lg\\:usa-icon-list--size-15 .usa-icon-list__content{max-width:72ex;font-size:3.19rem;padding-left:1.276rem}.mobile-lg\\:usa-icon-list--size-15 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.93rem}.mobile-lg\\:usa-icon-list--size-16 .usa-icon-list__icon .usa-icon{height:5.595rem;width:5.595rem}.mobile-lg\\:usa-icon-list--size-16 .usa-icon-list__content{max-width:72ex;font-size:3.73rem;padding-left:1.492rem}.mobile-lg\\:usa-icon-list--size-16 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:3.42rem}.mobile-lg\\:usa-icon-list--size-17 .usa-icon-list__icon .usa-icon{height:6.39rem;width:6.39rem}.mobile-lg\\:usa-icon-list--size-17 .usa-icon-list__content{max-width:72ex;font-size:4.26rem;padding-left:1.704rem}.mobile-lg\\:usa-icon-list--size-17 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:3.9rem}.mobile-lg\\:usa-icon-list--size-18 .usa-icon-list__icon .usa-icon{height:7.98rem;width:7.98rem}.mobile-lg\\:usa-icon-list--size-18 .usa-icon-list__content{max-width:72ex;font-size:5.32rem;padding-left:2.128rem}.mobile-lg\\:usa-icon-list--size-18 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:4.88rem}.mobile-lg\\:usa-icon-list--size-19 .usa-icon-list__icon .usa-icon{height:11.985rem;width:11.985rem}.mobile-lg\\:usa-icon-list--size-19 .usa-icon-list__content{max-width:72ex;font-size:7.99rem;padding-left:3.196rem}.mobile-lg\\:usa-icon-list--size-19 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:7.32rem}.mobile-lg\\:usa-icon-list--size-20 .usa-icon-list__icon .usa-icon{height:13.98rem;width:13.98rem}.mobile-lg\\:usa-icon-list--size-20 .usa-icon-list__content{max-width:72ex;font-size:9.32rem;padding-left:3.728rem}.mobile-lg\\:usa-icon-list--size-20 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:8.54rem}.mobile-lg\\:usa-icon-list--size-3xs .usa-icon-list__icon .usa-icon{height:1.305rem;width:1.305rem}.mobile-lg\\:usa-icon-list--size-3xs .usa-icon-list__content{max-width:72ex;font-size:.87rem;padding-left:.348rem}.mobile-lg\\:usa-icon-list--size-3xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.79rem}.mobile-lg\\:usa-icon-list--size-2xs .usa-icon-list__icon .usa-icon{height:1.395rem;width:1.395rem}.mobile-lg\\:usa-icon-list--size-2xs .usa-icon-list__content{max-width:72ex;font-size:.93rem;padding-left:.372rem}.mobile-lg\\:usa-icon-list--size-2xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.85rem}.mobile-lg\\:usa-icon-list--size-xs .usa-icon-list__icon .usa-icon{height:1.5rem;width:1.5rem}.mobile-lg\\:usa-icon-list--size-xs .usa-icon-list__content{max-width:72ex;font-size:1rem;padding-left:.4rem}.mobile-lg\\:usa-icon-list--size-xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.91rem}.mobile-lg\\:usa-icon-list--size-sm .usa-icon-list__icon .usa-icon{height:1.59rem;width:1.59rem}.mobile-lg\\:usa-icon-list--size-sm .usa-icon-list__content{max-width:72ex;font-size:1.06rem;padding-left:.424rem}.mobile-lg\\:usa-icon-list--size-sm .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.98rem}.mobile-lg\\:usa-icon-list--size-md .usa-icon-list__icon .usa-icon{height:1.695rem;width:1.695rem}.mobile-lg\\:usa-icon-list--size-md .usa-icon-list__content{max-width:72ex;font-size:1.13rem;padding-left:.452rem}.mobile-lg\\:usa-icon-list--size-md .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.04rem}.mobile-lg\\:usa-icon-list--size-lg .usa-icon-list__icon .usa-icon{height:2.19rem;width:2.19rem}.mobile-lg\\:usa-icon-list--size-lg .usa-icon-list__content{max-width:72ex;font-size:1.46rem;padding-left:.584rem}.mobile-lg\\:usa-icon-list--size-lg .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.34rem}.mobile-lg\\:usa-icon-list--size-xl .usa-icon-list__icon .usa-icon{height:3.195rem;width:3.195rem}.mobile-lg\\:usa-icon-list--size-xl .usa-icon-list__content{max-width:72ex;font-size:2.13rem;padding-left:.852rem}.mobile-lg\\:usa-icon-list--size-xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.95rem}.mobile-lg\\:usa-icon-list--size-2xl .usa-icon-list__icon .usa-icon{height:3.99rem;width:3.99rem}.mobile-lg\\:usa-icon-list--size-2xl .usa-icon-list__content{max-width:72ex;font-size:2.66rem;padding-left:1.064rem}.mobile-lg\\:usa-icon-list--size-2xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.44rem}.mobile-lg\\:usa-icon-list--size-3xl .usa-icon-list__icon .usa-icon{height:4.785rem;width:4.785rem}.mobile-lg\\:usa-icon-list--size-3xl .usa-icon-list__content{max-width:72ex;font-size:3.19rem;padding-left:1.276rem}.mobile-lg\\:usa-icon-list--size-3xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.93rem}}@media all and (min-width: 40em){.tablet\\:usa-icon-list--size-micro .usa-icon-list__icon .usa-icon{height:1.005rem;width:1.005rem}.tablet\\:usa-icon-list--size-micro .usa-icon-list__content{max-width:72ex;font-size:.67rem;padding-left:.268rem}.tablet\\:usa-icon-list--size-micro .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.61rem}.tablet\\:usa-icon-list--size-1 .usa-icon-list__icon .usa-icon{height:1.2rem;width:1.2rem}.tablet\\:usa-icon-list--size-1 .usa-icon-list__content{max-width:72ex;font-size:.8rem;padding-left:.32rem}.tablet\\:usa-icon-list--size-1 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.73rem}.tablet\\:usa-icon-list--size-2 .usa-icon-list__icon .usa-icon{height:1.305rem;width:1.305rem}.tablet\\:usa-icon-list--size-2 .usa-icon-list__content{max-width:72ex;font-size:.87rem;padding-left:.348rem}.tablet\\:usa-icon-list--size-2 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.79rem}.tablet\\:usa-icon-list--size-3 .usa-icon-list__icon .usa-icon{height:1.395rem;width:1.395rem}.tablet\\:usa-icon-list--size-3 .usa-icon-list__content{max-width:72ex;font-size:.93rem;padding-left:.372rem}.tablet\\:usa-icon-list--size-3 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.85rem}.tablet\\:usa-icon-list--size-4 .usa-icon-list__icon .usa-icon{height:1.5rem;width:1.5rem}.tablet\\:usa-icon-list--size-4 .usa-icon-list__content{max-width:72ex;font-size:1rem;padding-left:.4rem}.tablet\\:usa-icon-list--size-4 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.91rem}.tablet\\:usa-icon-list--size-5 .usa-icon-list__icon .usa-icon{height:1.59rem;width:1.59rem}.tablet\\:usa-icon-list--size-5 .usa-icon-list__content{max-width:72ex;font-size:1.06rem;padding-left:.424rem}.tablet\\:usa-icon-list--size-5 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.98rem}.tablet\\:usa-icon-list--size-6 .usa-icon-list__icon .usa-icon{height:1.695rem;width:1.695rem}.tablet\\:usa-icon-list--size-6 .usa-icon-list__content{max-width:72ex;font-size:1.13rem;padding-left:.452rem}.tablet\\:usa-icon-list--size-6 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.04rem}.tablet\\:usa-icon-list--size-7 .usa-icon-list__icon .usa-icon{height:1.8rem;width:1.8rem}.tablet\\:usa-icon-list--size-7 .usa-icon-list__content{max-width:72ex;font-size:1.2rem;padding-left:.48rem}.tablet\\:usa-icon-list--size-7 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.1rem}.tablet\\:usa-icon-list--size-8 .usa-icon-list__icon .usa-icon{height:1.995rem;width:1.995rem}.tablet\\:usa-icon-list--size-8 .usa-icon-list__content{max-width:72ex;font-size:1.33rem;padding-left:.532rem}.tablet\\:usa-icon-list--size-8 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.22rem}.tablet\\:usa-icon-list--size-9 .usa-icon-list__icon .usa-icon{height:2.19rem;width:2.19rem}.tablet\\:usa-icon-list--size-9 .usa-icon-list__content{max-width:72ex;font-size:1.46rem;padding-left:.584rem}.tablet\\:usa-icon-list--size-9 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.34rem}.tablet\\:usa-icon-list--size-10 .usa-icon-list__icon .usa-icon{height:2.4rem;width:2.4rem}.tablet\\:usa-icon-list--size-10 .usa-icon-list__content{max-width:72ex;font-size:1.6rem;padding-left:.64rem}.tablet\\:usa-icon-list--size-10 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.46rem}.tablet\\:usa-icon-list--size-11 .usa-icon-list__icon .usa-icon{height:2.79rem;width:2.79rem}.tablet\\:usa-icon-list--size-11 .usa-icon-list__content{max-width:72ex;font-size:1.86rem;padding-left:.744rem}.tablet\\:usa-icon-list--size-11 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.71rem}.tablet\\:usa-icon-list--size-12 .usa-icon-list__icon .usa-icon{height:3.195rem;width:3.195rem}.tablet\\:usa-icon-list--size-12 .usa-icon-list__content{max-width:72ex;font-size:2.13rem;padding-left:.852rem}.tablet\\:usa-icon-list--size-12 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.95rem}.tablet\\:usa-icon-list--size-13 .usa-icon-list__icon .usa-icon{height:3.6rem;width:3.6rem}.tablet\\:usa-icon-list--size-13 .usa-icon-list__content{max-width:72ex;font-size:2.4rem;padding-left:.96rem}.tablet\\:usa-icon-list--size-13 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.2rem}.tablet\\:usa-icon-list--size-14 .usa-icon-list__icon .usa-icon{height:3.99rem;width:3.99rem}.tablet\\:usa-icon-list--size-14 .usa-icon-list__content{max-width:72ex;font-size:2.66rem;padding-left:1.064rem}.tablet\\:usa-icon-list--size-14 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.44rem}.tablet\\:usa-icon-list--size-15 .usa-icon-list__icon .usa-icon{height:4.785rem;width:4.785rem}.tablet\\:usa-icon-list--size-15 .usa-icon-list__content{max-width:72ex;font-size:3.19rem;padding-left:1.276rem}.tablet\\:usa-icon-list--size-15 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.93rem}.tablet\\:usa-icon-list--size-16 .usa-icon-list__icon .usa-icon{height:5.595rem;width:5.595rem}.tablet\\:usa-icon-list--size-16 .usa-icon-list__content{max-width:72ex;font-size:3.73rem;padding-left:1.492rem}.tablet\\:usa-icon-list--size-16 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:3.42rem}.tablet\\:usa-icon-list--size-17 .usa-icon-list__icon .usa-icon{height:6.39rem;width:6.39rem}.tablet\\:usa-icon-list--size-17 .usa-icon-list__content{max-width:72ex;font-size:4.26rem;padding-left:1.704rem}.tablet\\:usa-icon-list--size-17 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:3.9rem}.tablet\\:usa-icon-list--size-18 .usa-icon-list__icon .usa-icon{height:7.98rem;width:7.98rem}.tablet\\:usa-icon-list--size-18 .usa-icon-list__content{max-width:72ex;font-size:5.32rem;padding-left:2.128rem}.tablet\\:usa-icon-list--size-18 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:4.88rem}.tablet\\:usa-icon-list--size-19 .usa-icon-list__icon .usa-icon{height:11.985rem;width:11.985rem}.tablet\\:usa-icon-list--size-19 .usa-icon-list__content{max-width:72ex;font-size:7.99rem;padding-left:3.196rem}.tablet\\:usa-icon-list--size-19 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:7.32rem}.tablet\\:usa-icon-list--size-20 .usa-icon-list__icon .usa-icon{height:13.98rem;width:13.98rem}.tablet\\:usa-icon-list--size-20 .usa-icon-list__content{max-width:72ex;font-size:9.32rem;padding-left:3.728rem}.tablet\\:usa-icon-list--size-20 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:8.54rem}.tablet\\:usa-icon-list--size-3xs .usa-icon-list__icon .usa-icon{height:1.305rem;width:1.305rem}.tablet\\:usa-icon-list--size-3xs .usa-icon-list__content{max-width:72ex;font-size:.87rem;padding-left:.348rem}.tablet\\:usa-icon-list--size-3xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.79rem}.tablet\\:usa-icon-list--size-2xs .usa-icon-list__icon .usa-icon{height:1.395rem;width:1.395rem}.tablet\\:usa-icon-list--size-2xs .usa-icon-list__content{max-width:72ex;font-size:.93rem;padding-left:.372rem}.tablet\\:usa-icon-list--size-2xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.85rem}.tablet\\:usa-icon-list--size-xs .usa-icon-list__icon .usa-icon{height:1.5rem;width:1.5rem}.tablet\\:usa-icon-list--size-xs .usa-icon-list__content{max-width:72ex;font-size:1rem;padding-left:.4rem}.tablet\\:usa-icon-list--size-xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.91rem}.tablet\\:usa-icon-list--size-sm .usa-icon-list__icon .usa-icon{height:1.59rem;width:1.59rem}.tablet\\:usa-icon-list--size-sm .usa-icon-list__content{max-width:72ex;font-size:1.06rem;padding-left:.424rem}.tablet\\:usa-icon-list--size-sm .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.98rem}.tablet\\:usa-icon-list--size-md .usa-icon-list__icon .usa-icon{height:1.695rem;width:1.695rem}.tablet\\:usa-icon-list--size-md .usa-icon-list__content{max-width:72ex;font-size:1.13rem;padding-left:.452rem}.tablet\\:usa-icon-list--size-md .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.04rem}.tablet\\:usa-icon-list--size-lg .usa-icon-list__icon .usa-icon{height:2.19rem;width:2.19rem}.tablet\\:usa-icon-list--size-lg .usa-icon-list__content{max-width:72ex;font-size:1.46rem;padding-left:.584rem}.tablet\\:usa-icon-list--size-lg .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.34rem}.tablet\\:usa-icon-list--size-xl .usa-icon-list__icon .usa-icon{height:3.195rem;width:3.195rem}.tablet\\:usa-icon-list--size-xl .usa-icon-list__content{max-width:72ex;font-size:2.13rem;padding-left:.852rem}.tablet\\:usa-icon-list--size-xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.95rem}.tablet\\:usa-icon-list--size-2xl .usa-icon-list__icon .usa-icon{height:3.99rem;width:3.99rem}.tablet\\:usa-icon-list--size-2xl .usa-icon-list__content{max-width:72ex;font-size:2.66rem;padding-left:1.064rem}.tablet\\:usa-icon-list--size-2xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.44rem}.tablet\\:usa-icon-list--size-3xl .usa-icon-list__icon .usa-icon{height:4.785rem;width:4.785rem}.tablet\\:usa-icon-list--size-3xl .usa-icon-list__content{max-width:72ex;font-size:3.19rem;padding-left:1.276rem}.tablet\\:usa-icon-list--size-3xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.93rem}}@media all and (min-width: 64em){.desktop\\:usa-icon-list--size-micro .usa-icon-list__icon .usa-icon{height:1.005rem;width:1.005rem}.desktop\\:usa-icon-list--size-micro .usa-icon-list__content{max-width:72ex;font-size:.67rem;padding-left:.268rem}.desktop\\:usa-icon-list--size-micro .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.61rem}.desktop\\:usa-icon-list--size-1 .usa-icon-list__icon .usa-icon{height:1.2rem;width:1.2rem}.desktop\\:usa-icon-list--size-1 .usa-icon-list__content{max-width:72ex;font-size:.8rem;padding-left:.32rem}.desktop\\:usa-icon-list--size-1 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.73rem}.desktop\\:usa-icon-list--size-2 .usa-icon-list__icon .usa-icon{height:1.305rem;width:1.305rem}.desktop\\:usa-icon-list--size-2 .usa-icon-list__content{max-width:72ex;font-size:.87rem;padding-left:.348rem}.desktop\\:usa-icon-list--size-2 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.79rem}.desktop\\:usa-icon-list--size-3 .usa-icon-list__icon .usa-icon{height:1.395rem;width:1.395rem}.desktop\\:usa-icon-list--size-3 .usa-icon-list__content{max-width:72ex;font-size:.93rem;padding-left:.372rem}.desktop\\:usa-icon-list--size-3 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.85rem}.desktop\\:usa-icon-list--size-4 .usa-icon-list__icon .usa-icon{height:1.5rem;width:1.5rem}.desktop\\:usa-icon-list--size-4 .usa-icon-list__content{max-width:72ex;font-size:1rem;padding-left:.4rem}.desktop\\:usa-icon-list--size-4 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.91rem}.desktop\\:usa-icon-list--size-5 .usa-icon-list__icon .usa-icon{height:1.59rem;width:1.59rem}.desktop\\:usa-icon-list--size-5 .usa-icon-list__content{max-width:72ex;font-size:1.06rem;padding-left:.424rem}.desktop\\:usa-icon-list--size-5 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.98rem}.desktop\\:usa-icon-list--size-6 .usa-icon-list__icon .usa-icon{height:1.695rem;width:1.695rem}.desktop\\:usa-icon-list--size-6 .usa-icon-list__content{max-width:72ex;font-size:1.13rem;padding-left:.452rem}.desktop\\:usa-icon-list--size-6 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.04rem}.desktop\\:usa-icon-list--size-7 .usa-icon-list__icon .usa-icon{height:1.8rem;width:1.8rem}.desktop\\:usa-icon-list--size-7 .usa-icon-list__content{max-width:72ex;font-size:1.2rem;padding-left:.48rem}.desktop\\:usa-icon-list--size-7 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.1rem}.desktop\\:usa-icon-list--size-8 .usa-icon-list__icon .usa-icon{height:1.995rem;width:1.995rem}.desktop\\:usa-icon-list--size-8 .usa-icon-list__content{max-width:72ex;font-size:1.33rem;padding-left:.532rem}.desktop\\:usa-icon-list--size-8 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.22rem}.desktop\\:usa-icon-list--size-9 .usa-icon-list__icon .usa-icon{height:2.19rem;width:2.19rem}.desktop\\:usa-icon-list--size-9 .usa-icon-list__content{max-width:72ex;font-size:1.46rem;padding-left:.584rem}.desktop\\:usa-icon-list--size-9 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.34rem}.desktop\\:usa-icon-list--size-10 .usa-icon-list__icon .usa-icon{height:2.4rem;width:2.4rem}.desktop\\:usa-icon-list--size-10 .usa-icon-list__content{max-width:72ex;font-size:1.6rem;padding-left:.64rem}.desktop\\:usa-icon-list--size-10 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.46rem}.desktop\\:usa-icon-list--size-11 .usa-icon-list__icon .usa-icon{height:2.79rem;width:2.79rem}.desktop\\:usa-icon-list--size-11 .usa-icon-list__content{max-width:72ex;font-size:1.86rem;padding-left:.744rem}.desktop\\:usa-icon-list--size-11 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.71rem}.desktop\\:usa-icon-list--size-12 .usa-icon-list__icon .usa-icon{height:3.195rem;width:3.195rem}.desktop\\:usa-icon-list--size-12 .usa-icon-list__content{max-width:72ex;font-size:2.13rem;padding-left:.852rem}.desktop\\:usa-icon-list--size-12 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.95rem}.desktop\\:usa-icon-list--size-13 .usa-icon-list__icon .usa-icon{height:3.6rem;width:3.6rem}.desktop\\:usa-icon-list--size-13 .usa-icon-list__content{max-width:72ex;font-size:2.4rem;padding-left:.96rem}.desktop\\:usa-icon-list--size-13 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.2rem}.desktop\\:usa-icon-list--size-14 .usa-icon-list__icon .usa-icon{height:3.99rem;width:3.99rem}.desktop\\:usa-icon-list--size-14 .usa-icon-list__content{max-width:72ex;font-size:2.66rem;padding-left:1.064rem}.desktop\\:usa-icon-list--size-14 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.44rem}.desktop\\:usa-icon-list--size-15 .usa-icon-list__icon .usa-icon{height:4.785rem;width:4.785rem}.desktop\\:usa-icon-list--size-15 .usa-icon-list__content{max-width:72ex;font-size:3.19rem;padding-left:1.276rem}.desktop\\:usa-icon-list--size-15 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.93rem}.desktop\\:usa-icon-list--size-16 .usa-icon-list__icon .usa-icon{height:5.595rem;width:5.595rem}.desktop\\:usa-icon-list--size-16 .usa-icon-list__content{max-width:72ex;font-size:3.73rem;padding-left:1.492rem}.desktop\\:usa-icon-list--size-16 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:3.42rem}.desktop\\:usa-icon-list--size-17 .usa-icon-list__icon .usa-icon{height:6.39rem;width:6.39rem}.desktop\\:usa-icon-list--size-17 .usa-icon-list__content{max-width:72ex;font-size:4.26rem;padding-left:1.704rem}.desktop\\:usa-icon-list--size-17 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:3.9rem}.desktop\\:usa-icon-list--size-18 .usa-icon-list__icon .usa-icon{height:7.98rem;width:7.98rem}.desktop\\:usa-icon-list--size-18 .usa-icon-list__content{max-width:72ex;font-size:5.32rem;padding-left:2.128rem}.desktop\\:usa-icon-list--size-18 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:4.88rem}.desktop\\:usa-icon-list--size-19 .usa-icon-list__icon .usa-icon{height:11.985rem;width:11.985rem}.desktop\\:usa-icon-list--size-19 .usa-icon-list__content{max-width:72ex;font-size:7.99rem;padding-left:3.196rem}.desktop\\:usa-icon-list--size-19 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:7.32rem}.desktop\\:usa-icon-list--size-20 .usa-icon-list__icon .usa-icon{height:13.98rem;width:13.98rem}.desktop\\:usa-icon-list--size-20 .usa-icon-list__content{max-width:72ex;font-size:9.32rem;padding-left:3.728rem}.desktop\\:usa-icon-list--size-20 .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:8.54rem}.desktop\\:usa-icon-list--size-3xs .usa-icon-list__icon .usa-icon{height:1.305rem;width:1.305rem}.desktop\\:usa-icon-list--size-3xs .usa-icon-list__content{max-width:72ex;font-size:.87rem;padding-left:.348rem}.desktop\\:usa-icon-list--size-3xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.79rem}.desktop\\:usa-icon-list--size-2xs .usa-icon-list__icon .usa-icon{height:1.395rem;width:1.395rem}.desktop\\:usa-icon-list--size-2xs .usa-icon-list__content{max-width:72ex;font-size:.93rem;padding-left:.372rem}.desktop\\:usa-icon-list--size-2xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.85rem}.desktop\\:usa-icon-list--size-xs .usa-icon-list__icon .usa-icon{height:1.5rem;width:1.5rem}.desktop\\:usa-icon-list--size-xs .usa-icon-list__content{max-width:72ex;font-size:1rem;padding-left:.4rem}.desktop\\:usa-icon-list--size-xs .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.91rem}.desktop\\:usa-icon-list--size-sm .usa-icon-list__icon .usa-icon{height:1.59rem;width:1.59rem}.desktop\\:usa-icon-list--size-sm .usa-icon-list__content{max-width:72ex;font-size:1.06rem;padding-left:.424rem}.desktop\\:usa-icon-list--size-sm .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.98rem}.desktop\\:usa-icon-list--size-md .usa-icon-list__icon .usa-icon{height:1.695rem;width:1.695rem}.desktop\\:usa-icon-list--size-md .usa-icon-list__content{max-width:72ex;font-size:1.13rem;padding-left:.452rem}.desktop\\:usa-icon-list--size-md .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.04rem}.desktop\\:usa-icon-list--size-lg .usa-icon-list__icon .usa-icon{height:2.19rem;width:2.19rem}.desktop\\:usa-icon-list--size-lg .usa-icon-list__content{max-width:72ex;font-size:1.46rem;padding-left:.584rem}.desktop\\:usa-icon-list--size-lg .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.34rem}.desktop\\:usa-icon-list--size-xl .usa-icon-list__icon .usa-icon{height:3.195rem;width:3.195rem}.desktop\\:usa-icon-list--size-xl .usa-icon-list__content{max-width:72ex;font-size:2.13rem;padding-left:.852rem}.desktop\\:usa-icon-list--size-xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.95rem}.desktop\\:usa-icon-list--size-2xl .usa-icon-list__icon .usa-icon{height:3.99rem;width:3.99rem}.desktop\\:usa-icon-list--size-2xl .usa-icon-list__content{max-width:72ex;font-size:2.66rem;padding-left:1.064rem}.desktop\\:usa-icon-list--size-2xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.44rem}.desktop\\:usa-icon-list--size-3xl .usa-icon-list__icon .usa-icon{height:4.785rem;width:4.785rem}.desktop\\:usa-icon-list--size-3xl .usa-icon-list__content{max-width:72ex;font-size:3.19rem;padding-left:1.276rem}.desktop\\:usa-icon-list--size-3xl .usa-icon-list__content .usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:2.93rem}}.usa-icon-list__title{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:.98rem;line-height:1.2;margin-bottom:0rem;padding-top:.425ex}.usa-icon-list__title+*{margin-top:.5rem}.usa-icon-list__content{font-size:1.06rem;padding-left:.424rem}.usa-icon-list__content>*:first-child{margin-top:0}.usa-icon-list__content>*:last-child{margin-bottom:0}.usa-icon-list__content ul li{list-style-type:disc}.usa-identifier{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.3;color:#fff;background-color:#1b1b1b;padding-bottom:1rem}.usa-identifier__container{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem;max-width:64rem}@media all and (min-width: 64em){.usa-identifier__container{padding-left:2rem;padding-right:2rem}}.usa-identifier__section{padding-bottom:1rem;padding-top:1rem}@media all and (min-width: 40em){.usa-identifier__section--masthead .usa-identifier__container{align-items:center;display:flex}}.usa-identifier__logos{display:flex;margin-right:1rem}.usa-identifier__logo{text-decoration:none;height:3rem;display:block}.usa-identifier__logo+.usa-identifier__logo{margin-left:.5rem}.usa-identifier__logo-img{height:100%;width:auto}.usa-identifier__identity{flex:1 1 0%;margin-top:1rem}@media all and (min-width: 40em){.usa-identifier__identity{margin-top:0rem}}.usa-identifier__identity-domain,.usa-identifier__identity-disclaimer{margin:0;padding:0}.usa-identifier__identity-domain{color:#a9aeb1}.usa-identifier__identity-disclaimer{font-weight:700}.usa-identifier__identity-disclaimer a{color:#dfe1e2}.usa-identifier__identity-disclaimer a:visited{color:#dfe1e2}.usa-identifier__identity-disclaimer a:hover,.usa-identifier__identity-disclaimer a:active{color:#f0f0f0}@media all and (min-width: 40em){.usa-identifier__section--required-links{padding-bottom:.5rem;padding-top:.5rem}}@media all and (min-width: 64em){.usa-identifier__section--required-links{font-size:1rem}}.usa-identifier__required-links-list{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;margin-bottom:0;margin-top:0}@media all and (min-width: 40em){.usa-identifier__required-links-list{column-count:2;column-gap:2rem;column-fill:balance}}@media all and (min-width: 64em){.usa-identifier__required-links-list{column-count:4}}.usa-identifier__required-links-item{break-inside:avoid;margin-bottom:.75rem}.usa-identifier__required-links-item:last-child{margin-bottom:0rem}@media all and (min-width: 64em){.usa-identifier__required-links-item{margin-bottom:.5rem}}.usa-identifier__required-link,.usa-identifier__required-link.usa-link{color:#a9aeb1;display:inline-block}.usa-identifier__required-link:visited,.usa-identifier__required-link.usa-link:visited{color:#a9aeb1}.usa-identifier__required-link:hover,.usa-identifier__required-link:active,.usa-identifier__required-link.usa-link:hover,.usa-identifier__required-link.usa-link:active{color:#dfe1e2}.usa-identifier__section--usagov a{color:#dfe1e2;font-weight:700;display:inline-block;margin-top:.5rem}.usa-identifier__section--usagov a:visited{color:#dfe1e2}.usa-identifier__section--usagov a:hover,.usa-identifier__section--usagov a:active{color:#f0f0f0}@media all and (min-width: 40em){.usa-identifier__section--usagov a{margin-top:0}}@media all and (min-width: 40em){.usa-identifier__usagov-description{display:inline-flex}}.usa-in-page-nav-container{align-items:flex-start;display:flex}.usa-in-page-nav-container main{max-width:64rem;width:100%}.usa-in-page-nav{color:#1b1b1b;display:none;margin-left:2rem;margin-top:1.25rem;max-width:15rem;order:2;position:sticky;top:2rem;width:100%}@media all and (min-width: 40em){.usa-in-page-nav{display:block}}.usa-in-page-nav__nav{color:#1b1b1b;background-color:#fff;border-radius:.5rem;padding:1rem}.usa-in-page-nav__heading{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:.93rem;line-height:1.3;font-weight:700;margin-bottom:1rem;margin-top:0;padding:0}.usa-in-page-nav__list{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;border-left:1px solid rgba(27,27,27,.25);padding:0}.usa-in-page-nav__list>li{margin-bottom:0;max-width:unset}.usa-in-page-nav__list__item{border-top:1px solid #dfe1e2}.usa-in-page-nav__list a:not(.usa-button){display:block;padding:.5rem 1rem;text-decoration:none}.usa-in-page-nav__list a:not(.usa-button):hover{background-color:#f0f0f0;text-decoration:none}.usa-in-page-nav__list a:not(.usa-button):not(.usa-current){color:#565c65}.usa-in-page-nav__list a:not(.usa-button):not(.usa-current):hover{color:#005ea2}.usa-in-page-nav__list a:not(.usa-button):not(.usa-current):focus{outline-offset:0}.usa-in-page-nav__list .usa-current{position:relative;color:#005ea2;font-weight:700}.usa-in-page-nav__list .usa-current::after{background-color:#005ea2;border-radius:99rem;content:\"\";display:block;position:absolute;bottom:.25rem;top:.25rem;width:.25rem;left:.25rem}@media all and (min-width: 40em){.usa-in-page-nav__list .usa-current{position:relative}.usa-in-page-nav__list .usa-current::after{background-color:#005ea2;border-radius:99rem;content:\"\";display:block;position:absolute;bottom:.25rem;top:.25rem;width:.25rem;left:0rem}}.usa-in-page-nav__list a:not(.usa-button):not(.usa-current){color:#005ea2}.usa-in-page-nav__list a:not(.usa-button):not(.usa-current):visited{color:#54278f}.usa-in-page-nav__list a:not(.usa-button):not(.usa-current):hover,.usa-in-page-nav__list a:not(.usa-button):not(.usa-current):active{color:#1a4480}.usa-in-page-nav__list a:not(.usa-button):not(.usa-current):visited{color:#005ea2}.usa-in-page-nav__list a:not(.usa-button).usa-current{color:#1b1b1b;font-weight:inherit}.usa-in-page-nav__list a:not(.usa-button):hover{text-decoration:underline;background-color:none}.usa-in-page-nav__list a:not(.usa-button).usa-current{position:static}.usa-in-page-nav__list a:not(.usa-button).usa-current::after{background-color:#1b1b1b;border-radius:0;bottom:-1px;left:0;top:0;width:.25rem;z-index:100}.usa-in-page-nav__item{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:.93rem;line-height:1.1;border:none;position:relative}.usa-in-page-nav__item--primary{font-weight:700}.usa-language{flex-direction:row;align-items:center;justify-content:flex-end;display:flex;padding:0 0 .25rem .5rem;width:100%}.usa-language--small .usa-button{padding-left:.75rem;padding-right:.75rem;padding-bottom:0;padding-top:0;font-size:.87rem;height:2rem;margin-top:.3rem;min-width:3rem}.usa-language-container{align-items:center;justify-content:flex-end;display:flex}.usa-nav-container .usa-language-container{align-self:center;margin-left:0rem;position:absolute;right:5rem;top:1rem}@media all and (min-width: 64em){.usa-nav-container .usa-language-container{align-self:flex-end;margin-left:.75rem;margin-bottom:.5rem;position:relative;right:inherit;top:-2px}}.usa-language__link{margin-right:0rem}.usa-language__primary{width:auto}.usa-language__primary-item:last-of-type{position:relative}.usa-language__primary-item:last-of-type .usa-language__submenu{position:absolute;right:0}.usa-language__submenu{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;margin:0;background-color:#162e51;position:absolute;width:15rem;z-index:400}.usa-language__submenu>li{margin-bottom:0;max-width:unset}.usa-language__submenu-item{border-top:1px solid #dfe1e2;font-size:.93rem}.usa-language__submenu .usa-current::after{display:none}@media all and (min-width: 40em){.usa-language__submenu .usa-current::after{display:none}}.usa-language__submenu a:not(.usa-button){padding-left:2rem}.usa-language__submenu .usa-language__submenu a:not(.usa-button){padding-left:3rem}.usa-language__submenu .usa-language__submenu .usa-language__submenu a:not(.usa-button){padding-left:4rem}.usa-language__submenu[aria-hidden=true]{display:none}.usa-language__submenu .usa-language__submenu-item a{color:#fff;display:block;line-height:1.3;padding:0;padding:.5rem;text-decoration:none}.usa-language__submenu .usa-language__submenu-item a:focus{outline-offset:-0.25rem}.usa-language__submenu .usa-language__submenu-item a:hover{color:#fff;text-decoration:underline}.usa-language__submenu-list{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0}.usa-language__submenu-list>li{margin-bottom:0;max-width:unset}.usa-language__submenu-list .usa-language__submenu-list-item{margin:0;font-size:.93rem}.usa-language__submenu-list .usa-language__submenu-list-item a{line-height:1.3}.usa-layout-docs__sidenav{padding-top:2rem}@media all and (min-width: 64em){.usa-layout-docs__sidenav{padding-top:0}}.grid-container{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}@media all and (min-width: 64em){.grid-container{padding-left:2rem;padding-right:2rem}}.grid-container-card{margin-left:auto;margin-right:auto;max-width:10rem;padding-left:1rem;padding-right:1rem}@media all and (min-width: 64em){.grid-container-card{padding-left:2rem;padding-right:2rem}}.grid-container-card-lg{margin-left:auto;margin-right:auto;max-width:15rem;padding-left:1rem;padding-right:1rem}@media all and (min-width: 64em){.grid-container-card-lg{padding-left:2rem;padding-right:2rem}}.grid-container-mobile{margin-left:auto;margin-right:auto;max-width:20rem;padding-left:1rem;padding-right:1rem}@media all and (min-width: 64em){.grid-container-mobile{padding-left:2rem;padding-right:2rem}}.grid-container-mobile-lg{margin-left:auto;margin-right:auto;max-width:30rem;padding-left:1rem;padding-right:1rem}@media all and (min-width: 64em){.grid-container-mobile-lg{padding-left:2rem;padding-right:2rem}}.grid-container-tablet{margin-left:auto;margin-right:auto;max-width:40rem;padding-left:1rem;padding-right:1rem}@media all and (min-width: 64em){.grid-container-tablet{padding-left:2rem;padding-right:2rem}}.grid-container-tablet-lg{margin-left:auto;margin-right:auto;max-width:55rem;padding-left:1rem;padding-right:1rem}@media all and (min-width: 64em){.grid-container-tablet-lg{padding-left:2rem;padding-right:2rem}}.grid-container-desktop{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}@media all and (min-width: 64em){.grid-container-desktop{padding-left:2rem;padding-right:2rem}}.grid-container-desktop-lg{margin-left:auto;margin-right:auto;max-width:75rem;padding-left:1rem;padding-right:1rem}@media all and (min-width: 64em){.grid-container-desktop-lg{padding-left:2rem;padding-right:2rem}}.grid-container-widescreen{margin-left:auto;margin-right:auto;max-width:87.5rem;padding-left:1rem;padding-right:1rem}@media all and (min-width: 64em){.grid-container-widescreen{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 30em){.mobile-lg\\:grid-container{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 30em)and (min-width: 64em){.mobile-lg\\:grid-container{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 30em){.mobile-lg\\:grid-container-card{margin-left:auto;margin-right:auto;max-width:10rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 30em)and (min-width: 64em){.mobile-lg\\:grid-container-card{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 30em){.mobile-lg\\:grid-container-card-lg{margin-left:auto;margin-right:auto;max-width:15rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 30em)and (min-width: 64em){.mobile-lg\\:grid-container-card-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 30em){.mobile-lg\\:grid-container-mobile{margin-left:auto;margin-right:auto;max-width:20rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 30em)and (min-width: 64em){.mobile-lg\\:grid-container-mobile{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 30em){.mobile-lg\\:grid-container-mobile-lg{margin-left:auto;margin-right:auto;max-width:30rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 30em)and (min-width: 64em){.mobile-lg\\:grid-container-mobile-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 30em){.mobile-lg\\:grid-container-tablet{margin-left:auto;margin-right:auto;max-width:40rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 30em)and (min-width: 64em){.mobile-lg\\:grid-container-tablet{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 30em){.mobile-lg\\:grid-container-tablet-lg{margin-left:auto;margin-right:auto;max-width:55rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 30em)and (min-width: 64em){.mobile-lg\\:grid-container-tablet-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 30em){.mobile-lg\\:grid-container-desktop{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 30em)and (min-width: 64em){.mobile-lg\\:grid-container-desktop{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 30em){.mobile-lg\\:grid-container-desktop-lg{margin-left:auto;margin-right:auto;max-width:75rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 30em)and (min-width: 64em){.mobile-lg\\:grid-container-desktop-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 30em){.mobile-lg\\:grid-container-widescreen{margin-left:auto;margin-right:auto;max-width:87.5rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 30em)and (min-width: 64em){.mobile-lg\\:grid-container-widescreen{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 40em){.tablet\\:grid-container{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 40em)and (min-width: 64em){.tablet\\:grid-container{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 40em){.tablet\\:grid-container-card{margin-left:auto;margin-right:auto;max-width:10rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 40em)and (min-width: 64em){.tablet\\:grid-container-card{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 40em){.tablet\\:grid-container-card-lg{margin-left:auto;margin-right:auto;max-width:15rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 40em)and (min-width: 64em){.tablet\\:grid-container-card-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 40em){.tablet\\:grid-container-mobile{margin-left:auto;margin-right:auto;max-width:20rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 40em)and (min-width: 64em){.tablet\\:grid-container-mobile{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 40em){.tablet\\:grid-container-mobile-lg{margin-left:auto;margin-right:auto;max-width:30rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 40em)and (min-width: 64em){.tablet\\:grid-container-mobile-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 40em){.tablet\\:grid-container-tablet{margin-left:auto;margin-right:auto;max-width:40rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 40em)and (min-width: 64em){.tablet\\:grid-container-tablet{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 40em){.tablet\\:grid-container-tablet-lg{margin-left:auto;margin-right:auto;max-width:55rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 40em)and (min-width: 64em){.tablet\\:grid-container-tablet-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 40em){.tablet\\:grid-container-desktop{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 40em)and (min-width: 64em){.tablet\\:grid-container-desktop{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 40em){.tablet\\:grid-container-desktop-lg{margin-left:auto;margin-right:auto;max-width:75rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 40em)and (min-width: 64em){.tablet\\:grid-container-desktop-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 40em){.tablet\\:grid-container-widescreen{margin-left:auto;margin-right:auto;max-width:87.5rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 40em)and (min-width: 64em){.tablet\\:grid-container-widescreen{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 64em){.desktop\\:grid-container{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 64em)and (min-width: 64em){.desktop\\:grid-container{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 64em){.desktop\\:grid-container-card{margin-left:auto;margin-right:auto;max-width:10rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 64em)and (min-width: 64em){.desktop\\:grid-container-card{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 64em){.desktop\\:grid-container-card-lg{margin-left:auto;margin-right:auto;max-width:15rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 64em)and (min-width: 64em){.desktop\\:grid-container-card-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 64em){.desktop\\:grid-container-mobile{margin-left:auto;margin-right:auto;max-width:20rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 64em)and (min-width: 64em){.desktop\\:grid-container-mobile{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 64em){.desktop\\:grid-container-mobile-lg{margin-left:auto;margin-right:auto;max-width:30rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 64em)and (min-width: 64em){.desktop\\:grid-container-mobile-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 64em){.desktop\\:grid-container-tablet{margin-left:auto;margin-right:auto;max-width:40rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 64em)and (min-width: 64em){.desktop\\:grid-container-tablet{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 64em){.desktop\\:grid-container-tablet-lg{margin-left:auto;margin-right:auto;max-width:55rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 64em)and (min-width: 64em){.desktop\\:grid-container-tablet-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 64em){.desktop\\:grid-container-desktop{margin-left:auto;margin-right:auto;max-width:64rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 64em)and (min-width: 64em){.desktop\\:grid-container-desktop{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 64em){.desktop\\:grid-container-desktop-lg{margin-left:auto;margin-right:auto;max-width:75rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 64em)and (min-width: 64em){.desktop\\:grid-container-desktop-lg{padding-left:2rem;padding-right:2rem}}@media all and (min-width: 64em){.desktop\\:grid-container-widescreen{margin-left:auto;margin-right:auto;max-width:87.5rem;padding-left:1rem;padding-right:1rem}}@media all and (min-width: 64em)and (min-width: 64em){.desktop\\:grid-container-widescreen{padding-left:2rem;padding-right:2rem}}.grid-row{display:flex;flex-wrap:wrap}.grid-row.grid-gap{margin-left:-0.5rem;margin-right:-0.5rem}.grid-row.grid-gap>*{padding-left:.5rem;padding-right:.5rem}@media all and (min-width: 64em){.grid-row.grid-gap{margin-left:-1rem;margin-right:-1rem}.grid-row.grid-gap>*{padding-left:1rem;padding-right:1rem}}.grid-row.grid-gap-0{margin-left:0;margin-right:0}.grid-row.grid-gap-0>*{padding-left:0;padding-right:0}.grid-row.grid-gap-2px{margin-left:-1px;margin-right:-1px}.grid-row.grid-gap-2px>*{padding-left:1px;padding-right:1px}.grid-row.grid-gap-05{margin-left:-2px;margin-right:-2px}.grid-row.grid-gap-05>*{padding-left:2px;padding-right:2px}.grid-row.grid-gap-1{margin-left:-0.25rem;margin-right:-0.25rem}.grid-row.grid-gap-1>*{padding-left:.25rem;padding-right:.25rem}.grid-row.grid-gap-2{margin-left:-0.5rem;margin-right:-0.5rem}.grid-row.grid-gap-2>*{padding-left:.5rem;padding-right:.5rem}.grid-row.grid-gap-3{margin-left:-0.75rem;margin-right:-0.75rem}.grid-row.grid-gap-3>*{padding-left:.75rem;padding-right:.75rem}.grid-row.grid-gap-4{margin-left:-1rem;margin-right:-1rem}.grid-row.grid-gap-4>*{padding-left:1rem;padding-right:1rem}.grid-row.grid-gap-5{margin-left:-1.25rem;margin-right:-1.25rem}.grid-row.grid-gap-5>*{padding-left:1.25rem;padding-right:1.25rem}.grid-row.grid-gap-6{margin-left:-1.5rem;margin-right:-1.5rem}.grid-row.grid-gap-6>*{padding-left:1.5rem;padding-right:1.5rem}.grid-row.grid-gap-sm{margin-left:-1px;margin-right:-1px}.grid-row.grid-gap-sm>*{padding-left:1px;padding-right:1px}.grid-row.grid-gap-md{margin-left:-0.5rem;margin-right:-0.5rem}.grid-row.grid-gap-md>*{padding-left:.5rem;padding-right:.5rem}.grid-row.grid-gap-lg{margin-left:-0.75rem;margin-right:-0.75rem}.grid-row.grid-gap-lg>*{padding-left:.75rem;padding-right:.75rem}@media all and (min-width: 30em){.grid-row.mobile-lg\\:grid-gap-0{margin-left:0;margin-right:0}.grid-row.mobile-lg\\:grid-gap-0>*{padding-left:0;padding-right:0}.grid-row.mobile-lg\\:grid-gap-2px{margin-left:-1px;margin-right:-1px}.grid-row.mobile-lg\\:grid-gap-2px>*{padding-left:1px;padding-right:1px}.grid-row.mobile-lg\\:grid-gap-05{margin-left:-2px;margin-right:-2px}.grid-row.mobile-lg\\:grid-gap-05>*{padding-left:2px;padding-right:2px}.grid-row.mobile-lg\\:grid-gap-1{margin-left:-0.25rem;margin-right:-0.25rem}.grid-row.mobile-lg\\:grid-gap-1>*{padding-left:.25rem;padding-right:.25rem}.grid-row.mobile-lg\\:grid-gap-2{margin-left:-0.5rem;margin-right:-0.5rem}.grid-row.mobile-lg\\:grid-gap-2>*{padding-left:.5rem;padding-right:.5rem}.grid-row.mobile-lg\\:grid-gap-3{margin-left:-0.75rem;margin-right:-0.75rem}.grid-row.mobile-lg\\:grid-gap-3>*{padding-left:.75rem;padding-right:.75rem}.grid-row.mobile-lg\\:grid-gap-4{margin-left:-1rem;margin-right:-1rem}.grid-row.mobile-lg\\:grid-gap-4>*{padding-left:1rem;padding-right:1rem}.grid-row.mobile-lg\\:grid-gap-5{margin-left:-1.25rem;margin-right:-1.25rem}.grid-row.mobile-lg\\:grid-gap-5>*{padding-left:1.25rem;padding-right:1.25rem}.grid-row.mobile-lg\\:grid-gap-6{margin-left:-1.5rem;margin-right:-1.5rem}.grid-row.mobile-lg\\:grid-gap-6>*{padding-left:1.5rem;padding-right:1.5rem}.grid-row.mobile-lg\\:grid-gap-sm{margin-left:-1px;margin-right:-1px}.grid-row.mobile-lg\\:grid-gap-sm>*{padding-left:1px;padding-right:1px}.grid-row.mobile-lg\\:grid-gap-md{margin-left:-0.5rem;margin-right:-0.5rem}.grid-row.mobile-lg\\:grid-gap-md>*{padding-left:.5rem;padding-right:.5rem}.grid-row.mobile-lg\\:grid-gap-lg{margin-left:-0.75rem;margin-right:-0.75rem}.grid-row.mobile-lg\\:grid-gap-lg>*{padding-left:.75rem;padding-right:.75rem}}@media all and (min-width: 40em){.grid-row.tablet\\:grid-gap-0{margin-left:0;margin-right:0}.grid-row.tablet\\:grid-gap-0>*{padding-left:0;padding-right:0}.grid-row.tablet\\:grid-gap-2px{margin-left:-1px;margin-right:-1px}.grid-row.tablet\\:grid-gap-2px>*{padding-left:1px;padding-right:1px}.grid-row.tablet\\:grid-gap-05{margin-left:-2px;margin-right:-2px}.grid-row.tablet\\:grid-gap-05>*{padding-left:2px;padding-right:2px}.grid-row.tablet\\:grid-gap-1{margin-left:-0.25rem;margin-right:-0.25rem}.grid-row.tablet\\:grid-gap-1>*{padding-left:.25rem;padding-right:.25rem}.grid-row.tablet\\:grid-gap-2{margin-left:-0.5rem;margin-right:-0.5rem}.grid-row.tablet\\:grid-gap-2>*{padding-left:.5rem;padding-right:.5rem}.grid-row.tablet\\:grid-gap-3{margin-left:-0.75rem;margin-right:-0.75rem}.grid-row.tablet\\:grid-gap-3>*{padding-left:.75rem;padding-right:.75rem}.grid-row.tablet\\:grid-gap-4{margin-left:-1rem;margin-right:-1rem}.grid-row.tablet\\:grid-gap-4>*{padding-left:1rem;padding-right:1rem}.grid-row.tablet\\:grid-gap-5{margin-left:-1.25rem;margin-right:-1.25rem}.grid-row.tablet\\:grid-gap-5>*{padding-left:1.25rem;padding-right:1.25rem}.grid-row.tablet\\:grid-gap-6{margin-left:-1.5rem;margin-right:-1.5rem}.grid-row.tablet\\:grid-gap-6>*{padding-left:1.5rem;padding-right:1.5rem}.grid-row.tablet\\:grid-gap-sm{margin-left:-1px;margin-right:-1px}.grid-row.tablet\\:grid-gap-sm>*{padding-left:1px;padding-right:1px}.grid-row.tablet\\:grid-gap-md{margin-left:-0.5rem;margin-right:-0.5rem}.grid-row.tablet\\:grid-gap-md>*{padding-left:.5rem;padding-right:.5rem}.grid-row.tablet\\:grid-gap-lg{margin-left:-0.75rem;margin-right:-0.75rem}.grid-row.tablet\\:grid-gap-lg>*{padding-left:.75rem;padding-right:.75rem}}@media all and (min-width: 64em){.grid-row.desktop\\:grid-gap-0{margin-left:0;margin-right:0}.grid-row.desktop\\:grid-gap-0>*{padding-left:0;padding-right:0}.grid-row.desktop\\:grid-gap-2px{margin-left:-1px;margin-right:-1px}.grid-row.desktop\\:grid-gap-2px>*{padding-left:1px;padding-right:1px}.grid-row.desktop\\:grid-gap-05{margin-left:-2px;margin-right:-2px}.grid-row.desktop\\:grid-gap-05>*{padding-left:2px;padding-right:2px}.grid-row.desktop\\:grid-gap-1{margin-left:-0.25rem;margin-right:-0.25rem}.grid-row.desktop\\:grid-gap-1>*{padding-left:.25rem;padding-right:.25rem}.grid-row.desktop\\:grid-gap-2{margin-left:-0.5rem;margin-right:-0.5rem}.grid-row.desktop\\:grid-gap-2>*{padding-left:.5rem;padding-right:.5rem}.grid-row.desktop\\:grid-gap-3{margin-left:-0.75rem;margin-right:-0.75rem}.grid-row.desktop\\:grid-gap-3>*{padding-left:.75rem;padding-right:.75rem}.grid-row.desktop\\:grid-gap-4{margin-left:-1rem;margin-right:-1rem}.grid-row.desktop\\:grid-gap-4>*{padding-left:1rem;padding-right:1rem}.grid-row.desktop\\:grid-gap-5{margin-left:-1.25rem;margin-right:-1.25rem}.grid-row.desktop\\:grid-gap-5>*{padding-left:1.25rem;padding-right:1.25rem}.grid-row.desktop\\:grid-gap-6{margin-left:-1.5rem;margin-right:-1.5rem}.grid-row.desktop\\:grid-gap-6>*{padding-left:1.5rem;padding-right:1.5rem}.grid-row.desktop\\:grid-gap-sm{margin-left:-1px;margin-right:-1px}.grid-row.desktop\\:grid-gap-sm>*{padding-left:1px;padding-right:1px}.grid-row.desktop\\:grid-gap-md{margin-left:-0.5rem;margin-right:-0.5rem}.grid-row.desktop\\:grid-gap-md>*{padding-left:.5rem;padding-right:.5rem}.grid-row.desktop\\:grid-gap-lg{margin-left:-0.75rem;margin-right:-0.75rem}.grid-row.desktop\\:grid-gap-lg>*{padding-left:.75rem;padding-right:.75rem}}[class*=grid-col]{position:relative;width:100%;box-sizing:border-box}.grid-col{flex:1 1 0%;width:auto;max-width:100%;min-width:1px}.grid-col-auto{flex:0 1 auto;width:auto;max-width:100%}.grid-col-fill{flex:1 1 0%;width:auto;max-width:100%;min-width:1px}.grid-col-1{flex:0 1 auto;width:8.3333333333%}.grid-col-2{flex:0 1 auto;width:16.6666666667%}.grid-col-3{flex:0 1 auto;width:25%}.grid-col-4{flex:0 1 auto;width:33.3333333333%}.grid-col-5{flex:0 1 auto;width:41.6666666667%}.grid-col-6{flex:0 1 auto;width:50%}.grid-col-7{flex:0 1 auto;width:58.3333333333%}.grid-col-8{flex:0 1 auto;width:66.6666666667%}.grid-col-9{flex:0 1 auto;width:75%}.grid-col-10{flex:0 1 auto;width:83.3333333333%}.grid-col-11{flex:0 1 auto;width:91.6666666667%}.grid-col-12{flex:0 1 auto;width:100%}@media all and (min-width: 30em){.mobile-lg\\:grid-col{flex:1 1 0%;width:auto;max-width:100%;min-width:1px}.mobile-lg\\:grid-col-fill{flex:1 1 0%;width:auto;max-width:100%;min-width:1px}.mobile-lg\\:grid-col-auto{flex:0 1 auto;width:auto;max-width:100%}.mobile-lg\\:grid-col-1{flex:0 1 auto;width:8.3333333333%}.mobile-lg\\:grid-col-2{flex:0 1 auto;width:16.6666666667%}.mobile-lg\\:grid-col-3{flex:0 1 auto;width:25%}.mobile-lg\\:grid-col-4{flex:0 1 auto;width:33.3333333333%}.mobile-lg\\:grid-col-5{flex:0 1 auto;width:41.6666666667%}.mobile-lg\\:grid-col-6{flex:0 1 auto;width:50%}.mobile-lg\\:grid-col-7{flex:0 1 auto;width:58.3333333333%}.mobile-lg\\:grid-col-8{flex:0 1 auto;width:66.6666666667%}.mobile-lg\\:grid-col-9{flex:0 1 auto;width:75%}.mobile-lg\\:grid-col-10{flex:0 1 auto;width:83.3333333333%}.mobile-lg\\:grid-col-11{flex:0 1 auto;width:91.6666666667%}.mobile-lg\\:grid-col-12{flex:0 1 auto;width:100%}}@media all and (min-width: 40em){.tablet\\:grid-col{flex:1 1 0%;width:auto;max-width:100%;min-width:1px}.tablet\\:grid-col-fill{flex:1 1 0%;width:auto;max-width:100%;min-width:1px}.tablet\\:grid-col-auto{flex:0 1 auto;width:auto;max-width:100%}.tablet\\:grid-col-1{flex:0 1 auto;width:8.3333333333%}.tablet\\:grid-col-2{flex:0 1 auto;width:16.6666666667%}.tablet\\:grid-col-3{flex:0 1 auto;width:25%}.tablet\\:grid-col-4{flex:0 1 auto;width:33.3333333333%}.tablet\\:grid-col-5{flex:0 1 auto;width:41.6666666667%}.tablet\\:grid-col-6{flex:0 1 auto;width:50%}.tablet\\:grid-col-7{flex:0 1 auto;width:58.3333333333%}.tablet\\:grid-col-8{flex:0 1 auto;width:66.6666666667%}.tablet\\:grid-col-9{flex:0 1 auto;width:75%}.tablet\\:grid-col-10{flex:0 1 auto;width:83.3333333333%}.tablet\\:grid-col-11{flex:0 1 auto;width:91.6666666667%}.tablet\\:grid-col-12{flex:0 1 auto;width:100%}}@media all and (min-width: 64em){.desktop\\:grid-col{flex:1 1 0%;width:auto;max-width:100%;min-width:1px}.desktop\\:grid-col-fill{flex:1 1 0%;width:auto;max-width:100%;min-width:1px}.desktop\\:grid-col-auto{flex:0 1 auto;width:auto;max-width:100%}.desktop\\:grid-col-1{flex:0 1 auto;width:8.3333333333%}.desktop\\:grid-col-2{flex:0 1 auto;width:16.6666666667%}.desktop\\:grid-col-3{flex:0 1 auto;width:25%}.desktop\\:grid-col-4{flex:0 1 auto;width:33.3333333333%}.desktop\\:grid-col-5{flex:0 1 auto;width:41.6666666667%}.desktop\\:grid-col-6{flex:0 1 auto;width:50%}.desktop\\:grid-col-7{flex:0 1 auto;width:58.3333333333%}.desktop\\:grid-col-8{flex:0 1 auto;width:66.6666666667%}.desktop\\:grid-col-9{flex:0 1 auto;width:75%}.desktop\\:grid-col-10{flex:0 1 auto;width:83.3333333333%}.desktop\\:grid-col-11{flex:0 1 auto;width:91.6666666667%}.desktop\\:grid-col-12{flex:0 1 auto;width:100%}}.grid-offset-1{margin-left:8.3333333333%}.grid-offset-2{margin-left:16.6666666667%}.grid-offset-3{margin-left:25%}.grid-offset-4{margin-left:33.3333333333%}.grid-offset-5{margin-left:41.6666666667%}.grid-offset-6{margin-left:50%}.grid-offset-7{margin-left:58.3333333333%}.grid-offset-8{margin-left:66.6666666667%}.grid-offset-9{margin-left:75%}.grid-offset-10{margin-left:83.3333333333%}.grid-offset-11{margin-left:91.6666666667%}.grid-offset-12{margin-left:100%}.grid-offset-none{margin-left:0}@media all and (min-width: 30em){.mobile-lg\\:grid-offset-1{margin-left:8.3333333333%}}@media all and (min-width: 30em){.mobile-lg\\:grid-offset-2{margin-left:16.6666666667%}}@media all and (min-width: 30em){.mobile-lg\\:grid-offset-3{margin-left:25%}}@media all and (min-width: 30em){.mobile-lg\\:grid-offset-4{margin-left:33.3333333333%}}@media all and (min-width: 30em){.mobile-lg\\:grid-offset-5{margin-left:41.6666666667%}}@media all and (min-width: 30em){.mobile-lg\\:grid-offset-6{margin-left:50%}}@media all and (min-width: 30em){.mobile-lg\\:grid-offset-7{margin-left:58.3333333333%}}@media all and (min-width: 30em){.mobile-lg\\:grid-offset-8{margin-left:66.6666666667%}}@media all and (min-width: 30em){.mobile-lg\\:grid-offset-9{margin-left:75%}}@media all and (min-width: 30em){.mobile-lg\\:grid-offset-10{margin-left:83.3333333333%}}@media all and (min-width: 30em){.mobile-lg\\:grid-offset-11{margin-left:91.6666666667%}}@media all and (min-width: 30em){.mobile-lg\\:grid-offset-12{margin-left:100%}}@media all and (min-width: 30em){.mobile-lg\\:grid-offset-none{margin-left:0}}@media all and (min-width: 40em){.tablet\\:grid-offset-1{margin-left:8.3333333333%}}@media all and (min-width: 40em){.tablet\\:grid-offset-2{margin-left:16.6666666667%}}@media all and (min-width: 40em){.tablet\\:grid-offset-3{margin-left:25%}}@media all and (min-width: 40em){.tablet\\:grid-offset-4{margin-left:33.3333333333%}}@media all and (min-width: 40em){.tablet\\:grid-offset-5{margin-left:41.6666666667%}}@media all and (min-width: 40em){.tablet\\:grid-offset-6{margin-left:50%}}@media all and (min-width: 40em){.tablet\\:grid-offset-7{margin-left:58.3333333333%}}@media all and (min-width: 40em){.tablet\\:grid-offset-8{margin-left:66.6666666667%}}@media all and (min-width: 40em){.tablet\\:grid-offset-9{margin-left:75%}}@media all and (min-width: 40em){.tablet\\:grid-offset-10{margin-left:83.3333333333%}}@media all and (min-width: 40em){.tablet\\:grid-offset-11{margin-left:91.6666666667%}}@media all and (min-width: 40em){.tablet\\:grid-offset-12{margin-left:100%}}@media all and (min-width: 40em){.tablet\\:grid-offset-none{margin-left:0}}@media all and (min-width: 64em){.desktop\\:grid-offset-1{margin-left:8.3333333333%}}@media all and (min-width: 64em){.desktop\\:grid-offset-2{margin-left:16.6666666667%}}@media all and (min-width: 64em){.desktop\\:grid-offset-3{margin-left:25%}}@media all and (min-width: 64em){.desktop\\:grid-offset-4{margin-left:33.3333333333%}}@media all and (min-width: 64em){.desktop\\:grid-offset-5{margin-left:41.6666666667%}}@media all and (min-width: 64em){.desktop\\:grid-offset-6{margin-left:50%}}@media all and (min-width: 64em){.desktop\\:grid-offset-7{margin-left:58.3333333333%}}@media all and (min-width: 64em){.desktop\\:grid-offset-8{margin-left:66.6666666667%}}@media all and (min-width: 64em){.desktop\\:grid-offset-9{margin-left:75%}}@media all and (min-width: 64em){.desktop\\:grid-offset-10{margin-left:83.3333333333%}}@media all and (min-width: 64em){.desktop\\:grid-offset-11{margin-left:91.6666666667%}}@media all and (min-width: 64em){.desktop\\:grid-offset-12{margin-left:100%}}@media all and (min-width: 64em){.desktop\\:grid-offset-none{margin-left:0}}.usa-media-block{align-items:flex-start;display:flex}.usa-media-block__img{flex-shrink:0;margin-right:.5rem}.usa-media-block__body{flex:1 1 0%}.usa-js-no-click{pointer-events:none;user-select:none}.usa-js-no-click .usa-modal,.usa-js-no-click .usa-modal *{pointer-events:auto;user-select:text}[data-open-modal] *{pointer-events:none}.usa-modal-wrapper{text-align:center;transition:opacity .15s ease-in-out}.usa-modal-wrapper.is-hidden{visibility:hidden;opacity:0;position:fixed}.usa-modal-wrapper.is-visible{visibility:visible;opacity:1;position:fixed;z-index:99999}.usa-modal-overlay{background:rgba(0,0,0,.7);bottom:0;height:100%;left:0;overflow:scroll;overflow-x:hidden;padding:1.5rem;position:fixed;scroll-behavior:smooth;top:0;width:100%}.usa-modal-overlay:before{content:\"\";display:inline-block;height:100%;vertical-align:middle}.usa-modal-overlay[data-force-action=true]{pointer-events:none}.usa-modal-overlay[data-force-action=true] *{pointer-events:auto}.usa-js-loading .usa-modal-wrapper{position:absolute;left:-999em;right:auto}.usa-js-loading .usa-modal-wrapper:target{position:static}.usa-modal{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5;border-radius:.5rem;background:#fff;color:#1b1b1b;display:inline-block;margin:1.25rem auto;max-width:30rem;position:relative;text-align:left;vertical-align:middle;width:100%}.usa-modal:focus{outline:none}.usa-modal__content{display:flex;flex-direction:column-reverse;padding-top:2rem;width:100%}.usa-modal__main{margin:0 auto;padding:.5rem 2rem 2rem}.usa-modal-wrapper [data-close-modal]>.usa-icon,.usa-modal-wrapper [data-close-modal]>.usa-icon use{pointer-events:none !important}.usa-modal__close{align-items:center;align-self:flex-end;background-color:rgba(0,0,0,0);color:#71767a;display:flex;flex-shrink:0;font-size:.93rem;margin:-2rem 0 0 auto;padding:.25rem .25rem;width:auto}.usa-modal__close:hover,.usa-modal__close:active{background-color:rgba(0,0,0,0);color:#1b1b1b}.usa-modal__close:focus{outline-offset:0}.usa-modal__close .usa-icon{height:2rem;margin:2px 2px 0 0;width:2rem}.usa-modal__heading{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.34rem;line-height:1.4;margin-top:0}.usa-modal__footer{margin-top:1.5rem}.usa-modal--lg{max-width:55rem;width:100%}.usa-modal--lg .usa-modal__main{padding-bottom:4rem;padding-top:1.25rem;width:100%;max-width:40rem}@media all and (min-width: 40em){.usa-modal--lg .usa-modal__heading{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif;font-size:1.95rem}}.usa-js-modal--active{overflow:hidden}@keyframes slidein-left{from{transform:translateX(15rem)}to{transform:translateX(0)}}.usa-nav{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:.9}@media all and (max-width: 63.99em){.usa-nav{position:absolute;right:0;position:absolute;bottom:0;top:0;position:fixed;background:#fff;border-right:0;display:none;flex-direction:column;overflow-y:auto;padding:1rem;width:15rem;z-index:500}.usa-nav.is-visible{animation:slidein-left .3s ease-in-out;display:flex}}@media all and (min-width: 64em){.usa-nav{float:right;position:relative}}.usa-nav .usa-search{margin-top:1rem}@media all and (min-width: 64em){.usa-nav .usa-search{margin-left:1rem;margin-top:0}}.usa-nav .usa-accordion{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:.9}@media all and (max-width: 63.99em){.usa-nav__primary{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0}.usa-nav__primary>li{margin-bottom:0;max-width:unset}.usa-nav__primary-item{border-top:1px solid #dfe1e2}.usa-nav__primary a:not(.usa-button){display:block;padding:.5rem 1rem;text-decoration:none}.usa-nav__primary a:not(.usa-button):hover{background-color:#f0f0f0;text-decoration:none}.usa-nav__primary a:not(.usa-button):not(.usa-current){color:#565c65}.usa-nav__primary a:not(.usa-button):not(.usa-current):hover{color:#005ea2}.usa-nav__primary a:not(.usa-button):not(.usa-current):focus{outline-offset:0}.usa-nav__primary .usa-current{position:relative;color:#005ea2;font-weight:700}.usa-nav__primary .usa-current::after{background-color:#005ea2;border-radius:99rem;content:\"\";display:block;position:absolute;bottom:.25rem;top:.25rem;width:.25rem;left:.25rem}}@media all and (max-width: 63.99em)and (min-width: 40em){.usa-nav__primary .usa-current{position:relative}.usa-nav__primary .usa-current::after{background-color:#005ea2;border-radius:99rem;content:\"\";display:block;position:absolute;bottom:.25rem;top:.25rem;width:.25rem;left:0rem}}@media all and (max-width: 63.99em){.usa-nav__primary a{padding-bottom:.75rem;padding-top:.75rem}}@media all and (min-width: 64em){.usa-nav__primary{display:flex;align-items:stretch}}.usa-nav__primary .usa-nav__primary-item a{text-decoration:none}.usa-nav__primary>.usa-nav__primary-item{line-height:1.1}@media all and (min-width: 64em){.usa-nav__primary>.usa-nav__primary-item{font-size:.93rem;line-height:.9}}@media all and (min-width: 64em){.usa-nav__primary>.usa-nav__primary-item>a{line-height:.9;padding:1rem;align-items:center;color:#565c65;display:flex;font-weight:700}.usa-nav__primary>.usa-nav__primary-item>a:hover{color:#005ea2}}@media all and (min-width: 64em){.usa-nav__primary>.usa-nav__primary-item>button,.usa-nav__primary>.usa-nav__primary-item>a{height:100%}}@media all and (min-width: 64em){.usa-nav__primary a{padding-bottom:.5rem;padding-top:.5rem}}.usa-nav__primary button{color:#005ea2;text-decoration:underline;background-color:rgba(0,0,0,0);border:0;border-radius:0;box-shadow:none;font-weight:normal;justify-content:normal;text-align:left;margin:0;padding:0;width:auto;position:relative;color:#565c65;font-weight:normal;line-height:1.1;padding:.75rem 1rem;text-decoration:none;width:100%}.usa-nav__primary button:visited{color:#54278f}.usa-nav__primary button:hover{color:#1a4480}.usa-nav__primary button:active{color:#162e51}.usa-nav__primary button:focus{outline:.25rem solid #2491ff;outline-offset:0rem}.usa-nav__primary button:hover,.usa-nav__primary button.usa-button--hover,.usa-nav__primary button:disabled:hover,.usa-nav__primary button[aria-disabled=true]:hover,.usa-nav__primary button:disabled.usa-button--hover,.usa-nav__primary button[aria-disabled=true].usa-button--hover,.usa-nav__primary button:active,.usa-nav__primary button.usa-button--active,.usa-nav__primary button:disabled:active,.usa-nav__primary button[aria-disabled=true]:active,.usa-nav__primary button:disabled.usa-button--active,.usa-nav__primary button[aria-disabled=true].usa-button--active,.usa-nav__primary button:disabled:focus,.usa-nav__primary button[aria-disabled=true]:focus,.usa-nav__primary button:disabled.usa-focus,.usa-nav__primary button[aria-disabled=true].usa-focus,.usa-nav__primary button:disabled,.usa-nav__primary button[aria-disabled=true],.usa-nav__primary button.usa-button--disabled{background-color:rgba(0,0,0,0);box-shadow:none;text-decoration:underline}.usa-nav__primary button.usa-button--hover{color:#1a4480}.usa-nav__primary button.usa-button--active{color:#162e51}.usa-nav__primary button:disabled,.usa-nav__primary button[aria-disabled=true],.usa-nav__primary button:disabled:hover,.usa-nav__primary button[aria-disabled=true]:hover,.usa-nav__primary button[aria-disabled=true]:focus{color:#757575}@media(forced-colors: active){.usa-nav__primary button:disabled,.usa-nav__primary button[aria-disabled=true],.usa-nav__primary button:disabled:hover,.usa-nav__primary button[aria-disabled=true]:hover,.usa-nav__primary button[aria-disabled=true]:focus{color:GrayText}}@media all and (min-width: 64em){.usa-nav__primary button{line-height:.9;padding:1rem;font-size:.93rem;font-weight:700}}@media(forced-colors: active){.usa-nav__primary button{forced-color-adjust:auto}}.usa-nav__primary button:hover{color:#005ea2;background-color:#f0f0f0;text-decoration:none}@media all and (min-width: 64em){.usa-nav__primary button:hover{background-color:rgba(0,0,0,0)}}.usa-nav__primary button[aria-expanded],.usa-nav__primary button[aria-expanded]:hover{background-image:none}@media(forced-colors: active){.usa-nav__primary button[aria-expanded]::before,.usa-nav__primary button[aria-expanded]:hover::before{content:none}}.usa-nav__primary button[aria-expanded] span::after{position:absolute;top:50%;right:0;transform:translateY(-50%)}.usa-nav__primary button[aria-expanded=false] span::after{background-image:url(\"../img/usa-icons/add.svg\");background-repeat:no-repeat;background-position:center center;background-size:1.25rem 1.25rem;display:inline-block;height:1.25rem;width:1.25rem;content:\"\";vertical-align:middle;margin-left:auto}@supports(mask: url(\"\")){.usa-nav__primary button[aria-expanded=false] span::after{background:none;background-color:ButtonText;mask-image:url(\"../img/usa-icons/add.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:1.25rem 1.25rem}}.usa-nav__primary button[aria-expanded=false] span::after:hover{background-color:buttonText}@media all and (min-width: 64em){.usa-nav__primary button[aria-expanded=false] span::after{background-image:url(\"../img/usa-icons/expand_more.svg\");background-repeat:no-repeat;background-position:center center;background-size:1rem 1rem;display:inline-block;height:1rem;width:1rem;content:\"\";vertical-align:middle;margin-left:auto}@supports(mask: url(\"\")){.usa-nav__primary button[aria-expanded=false] span::after{background:none;background-color:ButtonText;mask-image:url(\"../img/usa-icons/expand_more.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:1rem 1rem}}.usa-nav__primary button[aria-expanded=false] span::after{right:.75rem}}@media all and (min-width: 64em){.usa-nav__primary button[aria-expanded=false]:hover span::after{background-color:#1a4480}}@media(min-width: 64em)and (forced-colors: active){.usa-nav__primary button[aria-expanded=false]:hover span::after{background-color:ButtonText}}.usa-nav__primary button[aria-expanded=true] span::after{background-image:url(\"../img/usa-icons/remove.svg\");background-repeat:no-repeat;background-position:center center;background-size:1.25rem 1.25rem;display:inline-block;height:1.25rem;width:1.25rem;content:\"\";vertical-align:middle;margin-left:auto}@supports(mask: url(\"\")){.usa-nav__primary button[aria-expanded=true] span::after{background:none;background-color:ButtonText;mask-image:url(\"../img/usa-icons/remove.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:1.25rem 1.25rem}}.usa-nav__primary button[aria-expanded=true] span::after{position:absolute;right:0}@media(forced-colors: active){.usa-nav__primary button[aria-expanded=true] span::after{background-color:ButtonText}}@media all and (min-width: 64em){.usa-nav__primary button[aria-expanded=true]{background-image:none;background-color:#162e51;color:#fff}}@media all and (min-width: 64em)and (min-width: 64em){.usa-nav__primary button[aria-expanded=true] span::after{background-image:url(\"../img/usa-icons/expand_less.svg\");background-repeat:no-repeat;background-position:center center;background-size:1rem 1rem;display:inline-block;height:1rem;width:1rem;content:\"\";vertical-align:middle;margin-left:auto}@supports(mask: url(\"\")){.usa-nav__primary button[aria-expanded=true] span::after{background:none;background-color:ButtonText;mask-image:url(\"../img/usa-icons/expand_less.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:1rem 1rem}}.usa-nav__primary button[aria-expanded=true] span::after{right:.75rem;background-color:#fff}}@media(min-width: 64em)and (min-width: 64em)and (forced-colors: active){.usa-nav__primary button[aria-expanded=true] span::after{background-color:ButtonText}}@media all and (min-width: 64em){.usa-nav__primary .usa-accordion__button span{display:inline-block;margin-right:0;padding-right:1rem}}.usa-nav__secondary{margin-top:1rem}@media all and (min-width: 64em){.usa-nav__secondary{flex-direction:column;align-items:flex-end;bottom:4rem;display:flex;font-size:.93rem;margin-top:.5rem;min-width:calc(27ch + 3rem);position:absolute;right:2rem}}.usa-nav__secondary .usa-search{width:100%}@media all and (min-width: 64em){.usa-nav__secondary .usa-search{margin-left:0;margin-top:.5rem}}.usa-nav__secondary-links{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;line-height:1.3;margin-top:1.5rem}@media all and (min-width: 64em){.usa-nav__secondary-links{column-gap:.5rem;display:flex;flex-flow:row nowrap;line-height:.9;margin-bottom:.25rem;margin-top:0}}@media all and (min-width: 64em){.usa-nav__secondary-links .usa-nav__secondary-item{padding-left:.25rem}.usa-nav__secondary-links .usa-nav__secondary-item+.usa-nav__secondary-item{border-left:1px solid #dfe1e2;padding-left:.5rem}}.usa-nav__secondary-links a{color:#71767a;display:inline-block;font-size:.93rem;text-decoration:none}.usa-nav__secondary-links a:hover{color:#005ea2;text-decoration:underline}@media all and (max-width: 63.99em){.usa-nav__submenu{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;margin:0}.usa-nav__submenu>li{margin-bottom:0;max-width:unset}.usa-nav__submenu-item{border-top:1px solid #dfe1e2;font-size:.93rem}.usa-nav__submenu .usa-current::after{display:none}}@media all and (max-width: 63.99em)and (min-width: 40em){.usa-nav__submenu .usa-current::after{display:none}}@media all and (max-width: 63.99em){.usa-nav__submenu a:not(.usa-button){padding-left:2rem}.usa-nav__submenu .usa-nav__submenu a:not(.usa-button){padding-left:3rem}.usa-nav__submenu .usa-nav__submenu .usa-nav__submenu a:not(.usa-button){padding-left:4rem}}@media all and (min-width: 64em){.usa-nav__submenu{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;padding-bottom:.5rem;padding-top:.5rem;background-color:#162e51;width:15rem;position:absolute;z-index:400}}.usa-nav__submenu[aria-hidden=true]{display:none}@media all and (min-width: 64em){.usa-nav__submenu .usa-nav__submenu-item a{padding-left:1rem;padding-right:1rem;color:#fff;line-height:1.3;display:block}.usa-nav__submenu .usa-nav__submenu-item a:focus{outline-offset:-0.25rem}.usa-nav__submenu .usa-nav__submenu-item a:hover{color:#fff;text-decoration:underline}}.usa-nav__submenu-list{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0}.usa-nav__submenu-list>li{margin-bottom:0;max-width:unset}.usa-nav__submenu-list .usa-nav__submenu-list-item{margin:0;font-size:.93rem}.usa-nav__submenu-list .usa-nav__submenu-list-item a{line-height:1.3}.usa-nav__close{color:#005ea2;text-decoration:underline;background-color:rgba(0,0,0,0);border:0;border-radius:0;box-shadow:none;font-weight:normal;justify-content:normal;text-align:left;margin:0;padding:0;width:auto;height:3rem;width:3rem;background-image:none;color:currentColor;flex:none;float:right;margin:-0.75rem -1rem 1rem auto;text-align:center}.usa-nav__close:visited{color:#54278f}.usa-nav__close:hover{color:#1a4480}.usa-nav__close:active{color:#162e51}.usa-nav__close:focus{outline:.25rem solid #2491ff;outline-offset:0rem}.usa-nav__close:hover,.usa-nav__close.usa-button--hover,.usa-nav__close:disabled:hover,.usa-nav__close[aria-disabled=true]:hover,.usa-nav__close:disabled.usa-button--hover,.usa-nav__close[aria-disabled=true].usa-button--hover,.usa-nav__close:active,.usa-nav__close.usa-button--active,.usa-nav__close:disabled:active,.usa-nav__close[aria-disabled=true]:active,.usa-nav__close:disabled.usa-button--active,.usa-nav__close[aria-disabled=true].usa-button--active,.usa-nav__close:disabled:focus,.usa-nav__close[aria-disabled=true]:focus,.usa-nav__close:disabled.usa-focus,.usa-nav__close[aria-disabled=true].usa-focus,.usa-nav__close:disabled,.usa-nav__close[aria-disabled=true],.usa-nav__close.usa-button--disabled{background-color:rgba(0,0,0,0);box-shadow:none;text-decoration:underline}.usa-nav__close.usa-button--hover{color:#1a4480}.usa-nav__close.usa-button--active{color:#162e51}.usa-nav__close:disabled,.usa-nav__close[aria-disabled=true],.usa-nav__close:disabled:hover,.usa-nav__close[aria-disabled=true]:hover,.usa-nav__close[aria-disabled=true]:focus{color:#757575}@media(forced-colors: active){.usa-nav__close:disabled,.usa-nav__close[aria-disabled=true],.usa-nav__close:disabled:hover,.usa-nav__close[aria-disabled=true]:hover,.usa-nav__close[aria-disabled=true]:focus{color:GrayText}}@media(forced-colors: active){.usa-nav__close::before{background-image:url(\"../img/usa-icons/close.svg\");background-repeat:no-repeat;background-position:center center;background-size:1.25rem 1.25rem;display:inline-block;height:1.25rem;width:1.25rem;content:\"\";vertical-align:middle;margin-right:auto}@supports(mask: url(\"\")){.usa-nav__close::before{background:none;background-color:ButtonText;mask-image:url(\"../img/usa-icons/close.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:1.25rem 1.25rem}}.usa-nav__close::before{background-color:buttonText}}.usa-nav__close:hover{color:currentColor;text-decoration:none}@media all and (min-width: 64em){.usa-nav__close{display:none}}.usa-nav__close img{width:1.5rem}@media(forced-colors: active){.usa-nav__close img{display:none}}.usa-nav__close+*{clear:both}.usa-js-mobile-nav--active{overflow:hidden}@media(min-width: 63.06rem){.usa-js-mobile-nav--active.is-safari{overflow-y:scroll;position:fixed;top:var(--scrolltop, 0)}}.usa-pagination{margin-bottom:1rem;margin-top:1rem;font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5;color:#1b1b1b;background-color:#fff;display:flex;justify-content:center}.usa-pagination .usa-icon{height:1.13rem;width:1.13rem}.usa-pagination__list{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;align-items:center;display:flex;flex-flow:row nowrap;justify-content:center;width:auto}.usa-pagination__item{display:inline-flex;height:2.5rem;justify-content:center;line-height:1;margin-left:.25rem;margin-right:.25rem;min-width:2.5rem}@media all and (min-width: 40em){.usa-pagination__item{flex:1 0 auto}}.usa-pagination__arrow{display:none}@media all and (min-width: 40em){.usa-pagination__arrow{display:inherit}}@media all and (min-width: 40em){.usa-pagination__previous-page{margin-right:1.25rem}}@media all and (min-width: 40em){.usa-pagination__next-page{margin-left:1.25rem}}.usa-pagination__link{align-items:center;color:#005ea2;display:inline-flex}.usa-pagination__link[disabled]{opacity:.4 !important;pointer-events:none}.usa-pagination__link:hover,.usa-pagination__link:focus,.usa-pagination__link:active{color:#1a4480}.usa-pagination__link:visited{color:#005ea2}.usa-pagination__button{align-items:center;border-color:rgba(27,27,27,.2);border-radius:.25rem;border-style:solid;border-width:1px;color:#005ea2;display:inline-flex;justify-content:center;padding:.5rem;width:100%}.usa-pagination__button:hover,.usa-pagination__button:focus,.usa-pagination__button:active{color:#1a4480;border-color:#1a4480}@media(forced-colors: active){.usa-pagination__button:hover,.usa-pagination__button:focus,.usa-pagination__button:active{border:2px solid rgba(0,0,0,0)}}.usa-pagination .usa-current{background-color:#1b1b1b;border-color:rgba(0,0,0,0);color:#fff}@media(forced-colors: active){.usa-pagination .usa-current{border:2px solid rgba(0,0,0,0);color:buttonText}}.usa-pagination .usa-current:hover,.usa-pagination .usa-current:focus,.usa-pagination .usa-current:active{background-color:#1b1b1b;color:#fff}@media(forced-colors: active){.usa-pagination .usa-current:hover,.usa-pagination .usa-current:focus,.usa-pagination .usa-current:active{color:buttontext}}.usa-pagination__overflow{align-items:center;align-self:stretch;display:inherit;user-select:none;padding:.5rem}.usa-process-list{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5;margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;counter-reset:usa-numbered-list;padding:20px 0 0 calc(2.5rem/2 - 0.5rem/2);position:relative}.usa-process-list>li{margin-bottom:0;max-width:unset}.usa-process-list>.usa-process-list__item{max-width:72ex}.usa-process-list__item{border-left:.5rem solid #d9e8f6;font-size:1.06rem;margin-bottom:0;padding-bottom:2rem;padding-left:calc(calc(2.5rem / 2 - 0.25rem)*2)}.usa-prose .usa-process-list{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5;margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;counter-reset:usa-numbered-list;padding:20px 0 0 calc(2.5rem/2 - 0.5rem/2);position:relative}.usa-prose .usa-process-list>li{margin-bottom:0;max-width:unset}.usa-prose .usa-process-list>.usa-process-list__item{max-width:72ex}.usa-prose .usa-process-list__item{border-left:.5rem solid #d9e8f6;font-size:1.06rem;margin-bottom:0;padding-bottom:2rem;padding-left:calc(calc(2.5rem / 2 - 0.25rem)*2)}.usa-process-list__item:last-child{border-left:.5rem solid rgba(0,0,0,0)}.usa-process-list__item::before{flex-direction:row;align-items:center;justify-content:center;height:2.5rem;border-radius:99rem;width:2.5rem;background-color:#fff;border:.25rem solid #1b1b1b;box-shadow:0 0 0 .25rem #fff;color:#1b1b1b;content:counter(usa-numbered-list, decimal);counter-increment:usa-numbered-list;display:flex;font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.46rem;font-weight:700;height:2.5rem;left:0;line-height:.9;margin-top:-0.4rem;position:absolute;width:2.5rem}.usa-process-list__item ul{list-style-type:disc}.usa-process-list__item ul li{margin-bottom:.25rem}.usa-process-list__item ul li:last-child{margin-bottom:0}.usa-process-list__item>*:first-child{margin-top:0}.usa-process-list__item>*:last-child{margin-bottom:0}.usa-process-list__heading{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.46rem;line-height:1.1;color:#1b1b1b;font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-weight:700;margin:0}.usa-process-list__heading+*{margin-top:.25rem}.usa-search{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5;position:relative}.usa-search::after{clear:both;content:\"\";display:block}.usa-search[role=search],.usa-search[role=search]>div,.usa-search [role=search]{display:flex}.usa-search [type=submit]{border-bottom-left-radius:0;border-top-left-radius:0;height:2rem;margin:0;padding:0;width:3rem}@media all and (min-width: 30em){.usa-search [type=submit]{padding-left:1rem;padding-right:1rem;width:auto}}@media(forced-colors: active){.usa-search [type=submit]::before{background-image:url(\"../img/usa-icons/search.svg\");background-repeat:no-repeat;background-position:center center;background-size:1.5rem 1.5rem;display:inline-block;height:1.5rem;width:1.5rem;content:\"\";vertical-align:middle;margin-right:auto}@supports(mask: url(\"\")){.usa-search [type=submit]::before{background:none;background-color:ButtonText;mask-image:url(\"../img/usa-icons/search.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:1.5rem 1.5rem}}.usa-search [type=submit]:focus{outline-offset:0}}@media(forced-colors: active)and (min-width: 30em){.usa-search [type=submit]::before{content:none}}@media all and (min-width: 30em){.usa-search__submit-icon{display:none}}@media(forced-colors: active){.usa-search__submit-icon{display:none}}@media all and (min-width: 30em){.usa-search--big [type=search],.usa-search--big .usa-search__input{font-size:1.06rem;height:3rem}}@media all and (min-width: 30em){.usa-search--big [type=submit],.usa-search--big .usa-search__submit{padding-left:2rem;padding-right:2rem;font-size:1.46rem;height:3rem;width:auto}}.usa-search--small [type=submit],.usa-search--small .usa-search__submit{padding-left:.75rem;padding-right:.75rem;min-width:3rem}@media(forced-colors: active)and (min-width: 30em){.usa-search--small [type=submit]::before{content:\"\"}}.usa-search--small .usa-search__submit-icon{height:1.5rem;width:1.5rem;display:block}@media(forced-colors: active){.usa-search--small .usa-search__submit-icon{display:none}}input[type=search]{box-sizing:border-box;appearance:none}[type=search],.usa-search__input{padding-bottom:0;padding-top:0;border-bottom-right-radius:0;border-right:none;border-top-right-radius:0;box-sizing:border-box;float:left;font-size:1rem;height:2rem;margin:0}.usa-search__submit-text{display:none}@media all and (min-width: 30em){.usa-search__submit-text{display:block}}.usa-section{padding-bottom:2rem;padding-top:2rem}@media all and (min-width: 40em){.usa-section{padding-bottom:4rem;padding-top:4rem}}.usa-section--light{background-color:#f0f0f0}.usa-section--dark{background-color:#162e51;color:#fff}.usa-section--dark h1,.usa-section--dark h2,.usa-section--dark h3,.usa-section--dark h4,.usa-section--dark h5,.usa-section--dark h6{color:#00bde3}.usa-section--dark p{color:#fff}.usa-section--dark a{color:#dfe1e2}.usa-section--dark a:visited{color:#dfe1e2}.usa-section--dark a:hover,.usa-section--dark a:active{color:#f0f0f0}.usa-sidenav{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.3;border-bottom:1px solid #dfe1e2}.usa-sidenav>li{margin-bottom:0;max-width:unset}.usa-sidenav__item{border-top:1px solid #dfe1e2}.usa-sidenav a:not(.usa-button){display:block;padding:.5rem 1rem;text-decoration:none}.usa-sidenav a:not(.usa-button):hover{background-color:#f0f0f0;text-decoration:none}.usa-sidenav a:not(.usa-button):not(.usa-current){color:#565c65}.usa-sidenav a:not(.usa-button):not(.usa-current):hover{color:#005ea2}.usa-sidenav a:not(.usa-button):not(.usa-current):focus{outline-offset:0}.usa-sidenav .usa-current{position:relative;color:#005ea2;font-weight:700}.usa-sidenav .usa-current::after{background-color:#005ea2;border-radius:99rem;content:\"\";display:block;position:absolute;bottom:.25rem;top:.25rem;width:.25rem;left:.25rem}@media all and (min-width: 40em){.usa-sidenav .usa-current{position:relative}.usa-sidenav .usa-current::after{background-color:#005ea2;border-radius:99rem;content:\"\";display:block;position:absolute;bottom:.25rem;top:.25rem;width:.25rem;left:0rem}}.grid-container .usa-sidenav{margin-left:-1rem;margin-right:-1rem}@media all and (min-width: 40em){.grid-container .usa-sidenav{margin-left:0;margin-right:0}}.usa-sidenav__sublist{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0;margin:0;font-size:1rem}.usa-sidenav__sublist>li{margin-bottom:0;max-width:unset}.usa-sidenav__sublist-item{border-top:1px solid #dfe1e2;font-size:.93rem}.usa-sidenav__sublist .usa-current::after{display:none}@media all and (min-width: 40em){.usa-sidenav__sublist .usa-current::after{display:none}}.usa-sidenav__sublist a:not(.usa-button){padding-left:2rem}.usa-sidenav__sublist .usa-sidenav__sublist a:not(.usa-button){padding-left:3rem}.usa-sidenav__sublist .usa-sidenav__sublist .usa-sidenav__sublist a:not(.usa-button){padding-left:4rem}.usa-site-alert .usa-alert{background-color:#f0f0f0;border-left:.5rem solid #a9aeb1;color:#1b1b1b}.usa-site-alert .usa-alert .usa-alert__body{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5;padding-bottom:1rem;padding-top:1rem;position:relative}.usa-site-alert .usa-alert .usa-alert__text{margin-bottom:0;margin-top:0}.usa-site-alert .usa-alert .usa-alert__text:only-child{padding-bottom:0;padding-top:0}.usa-site-alert .usa-alert .usa-alert__heading{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.46rem;line-height:.9;margin-top:0;margin-bottom:.5rem}.usa-site-alert .usa-alert>.usa-list,.usa-site-alert .usa-alert .usa-alert__body>.usa-list{padding-left:2ch}.usa-site-alert .usa-alert>.usa-list:last-child,.usa-site-alert .usa-alert .usa-alert__body>.usa-list:last-child{margin-bottom:0}.usa-site-alert .usa-alert .usa-alert__body{max-width:64rem;padding-left:1.25rem;padding-right:1.25rem}.usa-site-alert .usa-alert .usa-alert__body::before{left:1.0833333333rem}@media all and (min-width: 64em){.usa-site-alert .usa-alert .usa-alert__body{margin-left:auto;margin-right:auto;padding-left:1.75rem;padding-right:1.75rem}.usa-site-alert .usa-alert .usa-alert__body::before{left:1.5833333333rem}}.usa-site-alert--info .usa-alert{background-color:#e7f6f8;border-left-color:#00bde3}.usa-site-alert--info .usa-alert .usa-alert__body{color:#1b1b1b;background-color:#e7f6f8;display:flex;flex-direction:column;justify-content:center;min-height:3.3333333333rem}.usa-site-alert--info .usa-alert .usa-alert__body::before{background-image:url(\"../img/usa-icons/info.svg\");background-repeat:no-repeat;background-position:center center;background-size:2rem 2rem;display:inline-block;height:2rem;width:2rem;content:\"\";display:block;position:absolute;top:.6666666667rem}@supports(mask: url(\"\")){.usa-site-alert--info .usa-alert .usa-alert__body::before{background:none;background-color:#1b1b1b;mask-image:url(\"../img/usa-icons/info.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:2rem 2rem}}.usa-site-alert--info .usa-alert .usa-alert__body>*{margin-left:2.5rem}.usa-site-alert--info .usa-alert .usa-alert__body .usa-link{color:#005ea2}.usa-site-alert--info .usa-alert .usa-alert__body .usa-link:visited{color:#54278f}.usa-site-alert--info .usa-alert .usa-alert__body .usa-link:hover,.usa-site-alert--info .usa-alert .usa-alert__body .usa-link:active{color:#1a4480}.usa-site-alert--emergency .usa-alert{background-color:#9c3d10;border-left-color:#9c3d10}.usa-site-alert--emergency .usa-alert .usa-alert__body{color:#fff;background-color:#9c3d10;display:flex;flex-direction:column;justify-content:center;min-height:3.3333333333rem}.usa-site-alert--emergency .usa-alert .usa-alert__body::before{background-image:url(\"../img/usa-icons-bg/error--white.svg\");background-repeat:no-repeat;background-position:center center;background-size:2rem 2rem;display:inline-block;height:2rem;width:2rem;content:\"\";display:block;position:absolute;top:.6666666667rem}@supports(mask: url(\"\")){.usa-site-alert--emergency .usa-alert .usa-alert__body::before{background:none;background-color:#fff;mask-image:url(\"../img/usa-icons/error.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:2rem 2rem}}.usa-site-alert--emergency .usa-alert .usa-alert__body>*{margin-left:2.5rem}.usa-site-alert--emergency .usa-alert .usa-alert__body .usa-link{color:#dfe1e2}.usa-site-alert--emergency .usa-alert .usa-alert__body .usa-link:visited{color:#dfe1e2}.usa-site-alert--emergency .usa-alert .usa-alert__body .usa-link:hover,.usa-site-alert--emergency .usa-alert .usa-alert__body .usa-link:active{color:#f0f0f0}.usa-site-alert--slim .usa-alert .usa-alert__body{padding-bottom:.5rem;padding-top:.5rem;min-height:0}.usa-site-alert--slim .usa-alert .usa-alert__body:before{height:1.5rem;top:.5rem;width:1.5rem}@supports(mask: url(\"\")){.usa-site-alert--slim .usa-alert .usa-alert__body:before{mask-size:1.5rem}}.usa-site-alert--slim .usa-alert .usa-alert__body>*{margin-left:2rem}.usa-site-alert--slim .usa-alert .usa-alert__body::before{left:1.125rem}@media all and (min-width: 64em){.usa-site-alert--slim .usa-alert .usa-alert__body::before{left:1.625rem}}.usa-site-alert--no-icon .usa-alert .usa-alert__body{min-height:0}.usa-site-alert--no-icon .usa-alert .usa-alert__body:before{display:none}.usa-site-alert--no-icon .usa-alert .usa-alert__body>*{margin-left:0}.usa-skipnav{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5;color:#005ea2;text-decoration:underline;background:rgba(0,0,0,0);left:0;padding:.5rem 1rem;position:absolute;top:-3.8rem;transition:.15s ease-in-out;z-index:100}.usa-skipnav:visited{color:#54278f}.usa-skipnav:hover{color:#1a4480}.usa-skipnav:active{color:#162e51}.usa-skipnav:focus{outline:.25rem solid #2491ff;outline-offset:0rem}.usa-skipnav:focus,.usa-skipnav.usa-focus{background:#fff;left:0;position:absolute;top:0;transition:.15s ease-in-out}.usa-skipnav__container{position:relative}.usa-step-indicator{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.1;background-color:#fff;margin-bottom:2rem;margin-left:-1px;margin-right:-1px}@media all and (min-width: 40em){.usa-step-indicator{margin-left:0;margin-right:0}}.usa-step-indicator__segments{counter-reset:usa-step-indicator;display:flex;list-style:none;margin:0;padding:0}.usa-step-indicator__segment{flex:1 1 0%;counter-increment:usa-step-indicator;margin-left:1px;margin-right:1px;max-width:15rem;min-height:.5rem;position:relative}.usa-step-indicator__segment:after{background-color:#919191;content:\"\";display:block;height:.5rem;left:0;position:absolute;right:0;top:0}@media all and (min-width: 40em){.usa-step-indicator__segment:after{height:.5rem}}.usa-step-indicator__segment--complete::after{background-color:#162e51}.usa-step-indicator__segment--complete .usa-step-indicator__segment-label{color:#162e51}.usa-step-indicator__segment--current::after{background-color:#005ea2}.usa-step-indicator__segment--current .usa-step-indicator__segment-label{color:#005ea2;font-weight:700}.usa-step-indicator__segment-label{display:none}@media all and (min-width: 40em){.usa-step-indicator__segment-label{color:#565c65;display:block;font-size:1.06rem;margin-top:calc(0.5rem + 0.5rem);padding-right:2rem;text-align:left}}.usa-step-indicator__header{align-items:baseline;display:flex}.usa-step-indicator__heading{color:#1b1b1b;font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.13rem;font-weight:700;margin:1rem 0 0}@media all and (min-width: 40em){.usa-step-indicator__heading{font-size:1.46rem;margin-top:2rem}}.usa-step-indicator__current-step{height:2.5rem;border-radius:99rem;width:2.5rem;font-weight:normal;font-feature-settings:\"tnum\" 1, \"kern\" 1;background-color:#005ea2;color:#fff;display:inline-block;padding:calc((2.5rem - 2ex*1.1)*.5);text-align:center}.usa-step-indicator__total-steps{font-weight:normal;font-feature-settings:\"tnum\" 1, \"kern\" 1;color:#005ea2;margin-right:.5rem}@media all and (min-width: 40em){.usa-step-indicator--counters .usa-step-indicator__segment,.usa-step-indicator--counters-sm .usa-step-indicator__segment{margin-left:0;margin-right:0;margin-top:calc((2.5rem - 0.5rem)/2 + 0.25rem)}.usa-step-indicator--counters .usa-step-indicator__segment:before,.usa-step-indicator--counters-sm .usa-step-indicator__segment:before{height:2.5rem;border-radius:99rem;width:2.5rem;font-feature-settings:\"tnum\" 1, \"kern\" 1;background-color:#fff;box-shadow:inset 0 0 0 .25rem #919191,0 0 0 .25rem #fff;color:#565c65;content:counter(usa-step-indicator);display:block;font-weight:700;left:0;line-height:.9;padding:calc((2.5rem - 2ex*0.9)*.5);position:absolute;text-align:center;top:calc((2.5rem - 0.5rem)/-2);z-index:100}.usa-step-indicator--counters .usa-step-indicator__segment:last-child:after,.usa-step-indicator--counters-sm .usa-step-indicator__segment:last-child:after{display:none}}.usa-step-indicator--counters .usa-step-indicator__segment--complete::before,.usa-step-indicator--counters-sm .usa-step-indicator__segment--complete::before{background-color:#162e51;box-shadow:0 0 0 .25rem #fff;color:#fff}.usa-step-indicator--counters .usa-step-indicator__segment--current::before,.usa-step-indicator--counters-sm .usa-step-indicator__segment--current::before{background-color:#005ea2;box-shadow:0 0 0 .25rem #fff;color:#fff}@media all and (min-width: 40em){.usa-step-indicator--counters .usa-step-indicator__segment-label,.usa-step-indicator--counters-sm .usa-step-indicator__segment-label{margin-top:calc((2.5rem + 0.5rem)/2 + 0.5rem)}}@media all and (min-width: 40em){.usa-step-indicator--counters.usa-step-indicator--center .usa-step-indicator__segment:first-child:after,.usa-step-indicator--counters-sm.usa-step-indicator--center .usa-step-indicator__segment:first-child:after{left:50%;right:0;width:auto}.usa-step-indicator--counters.usa-step-indicator--center .usa-step-indicator__segment:last-child:after,.usa-step-indicator--counters-sm.usa-step-indicator--center .usa-step-indicator__segment:last-child:after{display:block;left:0;right:50%;width:auto}}@media all and (min-width: 40em){.usa-step-indicator--counters-sm .usa-step-indicator__segment{margin-top:calc((1.5rem - 0.5rem)/2 + 0.25rem)}.usa-step-indicator--counters-sm .usa-step-indicator__segment:before{height:1.5rem;border-radius:99rem;width:1.5rem;font-size:.93rem;padding:calc(0.25rem + 1px);top:calc((1.5rem - 0.5rem)/-2)}.usa-step-indicator--counters-sm .usa-step-indicator__segment:last-child:after{display:none}}@media all and (min-width: 40em){.usa-step-indicator--counters-sm .usa-step-indicator__segment-label{margin-top:calc((1.5rem + 0.5rem)/2 + 0.5rem)}}.usa-step-indicator--no-labels{margin-left:-1px;margin-right:-1px}.usa-step-indicator--no-labels .usa-step-indicator__segment{margin-top:0;margin-left:1px;margin-right:1px}.usa-step-indicator--no-labels .usa-step-indicator__segment:before{display:none}.usa-step-indicator--no-labels .usa-step-indicator__segment:last-child:after{display:block}.usa-step-indicator--no-labels .usa-step-indicator__heading{margin-top:1rem}.usa-step-indicator--no-labels .usa-step-indicator__segment-label{display:none}.usa-step-indicator--center{margin-left:-1px;margin-right:-1px}.usa-step-indicator--center .usa-step-indicator__segment{margin-left:1px;margin-right:1px}.usa-step-indicator--center .usa-step-indicator__segment:before{left:calc(50% - (2.5rem + 0.25rem)/2)}.usa-step-indicator--center .usa-step-indicator__segment-label{padding-left:.5rem;padding-right:.5rem;text-align:center}.usa-step-indicator--center.usa-step-indicator--no-labels .usa-step-indicator__segment:first-child:after{left:0}.usa-step-indicator--center.usa-step-indicator--no-labels .usa-step-indicator__segment:last-child:after{right:0}.usa-step-indicator--center.usa-step-indicator--counters-sm .usa-step-indicator__segment:before{left:calc(50% - (1.5rem + 0.25rem)/2)}.usa-summary-box{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5;color:#1b1b1b;background-color:#e7f6f8;border-radius:.25rem;border:1px #99deea solid;padding:1.5rem;position:relative}.usa-summary-box .usa-list:last-child{margin-bottom:0}*+.usa-summary-box{margin-top:1rem}.usa-summary-box__heading{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.46rem;line-height:1.1;margin-top:0;margin-bottom:.5rem}.usa-summary-box__text{margin-bottom:0;margin-top:0}.usa-summary-box__text:only-child{margin-bottom:1px;padding-top:.25rem}.usa-summary-box__link{color:#005ea2}.usa-summary-box__link:visited{color:#54278f}.usa-summary-box__link:hover,.usa-summary-box__link:active{color:#1a4480}.usa-summary-box__link[href^=\"#\"]:visited{color:#005ea2}.usa-summary-box__link[href^=\"#\"]:hover{color:#1a4480}.usa-table{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.5;border-collapse:collapse;border-spacing:0;color:#1b1b1b;margin:1.25rem 0;text-align:left}.usa-table thead td,.usa-table tfoot td,.usa-table th{background-clip:padding-box;line-height:1.3;background-color:#dfe1e2;color:#1b1b1b}.usa-table th,.usa-table td{border:1px solid #1b1b1b;padding:.5rem 1rem}.usa-table td{background-color:#fff;font-weight:normal}.usa-table caption{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1rem;font-weight:700;margin-bottom:.75rem;text-align:left}.usa-table th[data-sortable]{padding-right:2.5rem;position:relative}.usa-table th[data-sortable]::after{border-bottom-color:rgba(0,0,0,0);border-bottom-style:solid;border-bottom-width:1px;bottom:0;content:\"\";height:0;left:0;position:absolute;width:100%}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button{color:#005ea2;text-decoration:underline;background-color:rgba(0,0,0,0);border:0;border-radius:0;box-shadow:none;font-weight:normal;justify-content:normal;text-align:left;margin:0;padding:0;width:auto;height:2rem;width:2rem;background-position:center center;background-size:1.5rem;color:#71767a;cursor:pointer;display:inline-block;margin:0;position:absolute;right:.25rem;text-align:center;text-decoration:none;top:50%;transform:translate(0, -50%)}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:visited,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:visited{color:#54278f}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:hover{color:#1a4480}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:active,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:active{color:#162e51}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:focus,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:focus{outline:.25rem solid #2491ff;outline-offset:0rem}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:hover,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button.usa-button--hover,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled:hover,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:hover,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled.usa-button--hover,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true].usa-button--hover,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:active,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button.usa-button--active,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled:active,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:active,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled.usa-button--active,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true].usa-button--active,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled:focus,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:focus,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled.usa-focus,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true].usa-focus,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button.usa-button--disabled,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button.usa-button--hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled:hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled.usa-button--hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true].usa-button--hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:active,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button.usa-button--active,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled:active,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:active,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled.usa-button--active,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true].usa-button--active,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled:focus,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:focus,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled.usa-focus,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true].usa-focus,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button.usa-button--disabled{background-color:rgba(0,0,0,0);box-shadow:none;text-decoration:underline}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button.usa-button--hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button.usa-button--hover{color:#1a4480}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button.usa-button--active,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button.usa-button--active{color:#162e51}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled:hover,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:hover,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:focus,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled:hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:focus{color:#757575}@media(forced-colors: active){.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:disabled:hover,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:hover,.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button[aria-disabled=true]:focus,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:disabled:hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:hover,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button[aria-disabled=true]:focus{color:GrayText}}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button .usa-icon,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button .usa-icon{height:1.5rem;width:1.5rem;vertical-align:middle}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button .usa-icon>g,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button .usa-icon>g{fill:rgba(0,0,0,0)}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button .usa-icon>g.unsorted,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button .usa-icon>g.unsorted{fill:#1b1b1b}.usa-table th[data-sortable]:not([aria-sort]) .usa-table__header__button:hover .usa-icon>g.unsorted,.usa-table th[data-sortable][aria-sort=none] .usa-table__header__button:hover .usa-icon>g.unsorted{fill:#000}.usa-table th[data-sortable][aria-sort=descending],.usa-table th[data-sortable][aria-sort=ascending]{background-color:#97d4ea}.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button{color:#005ea2;text-decoration:underline;background-color:rgba(0,0,0,0);border:0;border-radius:0;box-shadow:none;font-weight:normal;justify-content:normal;text-align:left;margin:0;padding:0;width:auto;height:2rem;width:2rem;background-position:center center;background-size:1.5rem;color:#71767a;cursor:pointer;display:inline-block;margin:0;position:absolute;right:.25rem;text-align:center;text-decoration:none;top:50%;transform:translate(0, -50%)}.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:visited{color:#54278f}.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:hover{color:#1a4480}.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:active{color:#162e51}.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:focus{outline:.25rem solid #2491ff;outline-offset:0rem}.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:hover,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button.usa-button--hover,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled:hover,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:hover,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled.usa-button--hover,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true].usa-button--hover,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:active,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button.usa-button--active,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled:active,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:active,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled.usa-button--active,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true].usa-button--active,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled:focus,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:focus,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled.usa-focus,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true].usa-focus,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button.usa-button--disabled{background-color:rgba(0,0,0,0);box-shadow:none;text-decoration:underline}.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button.usa-button--hover{color:#1a4480}.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button.usa-button--active{color:#162e51}.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled:hover,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:hover,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:focus{color:#757575}@media(forced-colors: active){.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button:disabled:hover,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:hover,.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button[aria-disabled=true]:focus{color:GrayText}}.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button .usa-icon{height:1.5rem;width:1.5rem;vertical-align:middle}.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button .usa-icon>g{fill:rgba(0,0,0,0)}.usa-table th[data-sortable][aria-sort=descending] .usa-table__header__button .usa-icon>g.descending{fill:#1b1b1b}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button{color:#005ea2;text-decoration:underline;background-color:rgba(0,0,0,0);border:0;border-radius:0;box-shadow:none;font-weight:normal;justify-content:normal;text-align:left;margin:0;padding:0;width:auto;height:2rem;width:2rem;background-position:center center;background-size:1.5rem;color:#71767a;cursor:pointer;display:inline-block;margin:0;position:absolute;right:.25rem;text-align:center;text-decoration:none;top:50%;transform:translate(0, -50%)}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:visited{color:#54278f}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:hover{color:#1a4480}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:active{color:#162e51}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:focus{outline:.25rem solid #2491ff;outline-offset:0rem}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:hover,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button.usa-button--hover,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled:hover,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:hover,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled.usa-button--hover,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true].usa-button--hover,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:active,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button.usa-button--active,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled:active,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:active,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled.usa-button--active,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true].usa-button--active,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled:focus,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:focus,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled.usa-focus,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true].usa-focus,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button.usa-button--disabled{background-color:rgba(0,0,0,0);box-shadow:none;text-decoration:underline}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button.usa-button--hover{color:#1a4480}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button.usa-button--active{color:#162e51}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled:hover,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:hover,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:focus{color:#757575}@media(forced-colors: active){.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true],.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button:disabled:hover,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:hover,.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button[aria-disabled=true]:focus{color:GrayText}}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button .usa-icon{height:1.5rem;width:1.5rem;vertical-align:middle}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button .usa-icon>g{fill:rgba(0,0,0,0)}.usa-table th[data-sortable][aria-sort=ascending] .usa-table__header__button .usa-icon>g.ascending{fill:#1b1b1b}.usa-table thead th[aria-sort]{background-color:#97d4ea;color:#1b1b1b}.usa-table td[data-sort-active],.usa-table th[data-sort-active]{background-color:#e1f3f8;color:#1b1b1b}.usa-table--borderless th,.usa-table--borderless thead td,.usa-table--borderless tfoot td{background-color:#fff}.usa-table--borderless th{border-top:0;color:#1b1b1b}.usa-table--borderless th[aria-sort]{color:#1b1b1b}.usa-table--borderless th[data-sortable]:not([aria-sort]) .usa-table__header__button .usa-icon>g.unsorted{fill:#1b1b1b}.usa-table--borderless th[data-sortable]:not([aria-sort]) .usa-table__header__button:hover .usa-icon>g.unsorted{fill:#000}.usa-table--borderless th,.usa-table--borderless td{border-left:0;border-right:0}.usa-table--compact th,.usa-table--compact td{padding:.25rem .75rem}.usa-table--striped tbody tr:nth-child(odd) td{background-color:#f0f0f0;color:#1b1b1b}.usa-table--striped tbody tr:nth-child(odd) td[data-sort-active]{background-color:#c3ebfa;color:#1b1b1b}@media all and (max-width: 29.99em){.usa-table--stacked thead{display:none}.usa-table--stacked th{background-color:#fff}.usa-table--stacked th,.usa-table--stacked td{border-bottom-width:0;display:block;width:100%}.usa-table--stacked tr{border-bottom:.25rem solid #1b1b1b;border-top-width:0;width:100%}.usa-table--stacked tr th:first-child,.usa-table--stacked tr td:first-child{border-top-width:0}.usa-table--stacked tr:nth-child(odd) td,.usa-table--stacked tr:nth-child(odd) th{background-color:inherit}.usa-table--stacked tr:first-child th:first-child,.usa-table--stacked tr:first-child td:first-child{border-top:.25rem solid #1b1b1b}.usa-table--stacked th[data-label],.usa-table--stacked td[data-label]{padding-bottom:.75rem}.usa-table--stacked th[data-label]:before,.usa-table--stacked td[data-label]:before{content:attr(data-label);display:block;font-weight:700;margin:-0.5rem -1rem 0rem;padding:.75rem 1rem .25rem}}@media all and (max-width: 29.99em){.usa-table--stacked-header thead{display:none}.usa-table--stacked-header th{background-color:#fff}.usa-table--stacked-header th,.usa-table--stacked-header td{border-bottom-width:0;display:block;width:100%}.usa-table--stacked-header tr{border-bottom:.25rem solid #1b1b1b;border-top-width:0;width:100%}.usa-table--stacked-header tr th:first-child,.usa-table--stacked-header tr td:first-child{border-top-width:0}.usa-table--stacked-header tr:nth-child(odd) td,.usa-table--stacked-header tr:nth-child(odd) th{background-color:inherit}.usa-table--stacked-header tr:first-child th:first-child,.usa-table--stacked-header tr:first-child td:first-child{border-top:.25rem solid #1b1b1b}.usa-table--stacked-header th[data-label],.usa-table--stacked-header td[data-label]{padding-bottom:.75rem}.usa-table--stacked-header th[data-label]:before,.usa-table--stacked-header td[data-label]:before{content:attr(data-label);display:block;font-weight:700;margin:-0.5rem -1rem 0rem;padding:.75rem 1rem .25rem}.usa-table--stacked-header tr td:first-child,.usa-table--stacked-header tr th:first-child{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.1;background-color:#dfe1e2;color:#1b1b1b;font-weight:700;padding:.75rem 1rem}.usa-table--stacked-header tr td:first-child:before,.usa-table--stacked-header tr th:first-child:before{display:none}}.width-mobile .usa-table--stacked thead{display:none}.width-mobile .usa-table--stacked th{background-color:#fff}.width-mobile .usa-table--stacked th,.width-mobile .usa-table--stacked td{border-bottom-width:0;display:block;width:100%}.width-mobile .usa-table--stacked tr{border-bottom:.25rem solid #1b1b1b;border-top-width:0;width:100%}.width-mobile .usa-table--stacked tr th:first-child,.width-mobile .usa-table--stacked tr td:first-child{border-top-width:0}.width-mobile .usa-table--stacked tr:nth-child(odd) td,.width-mobile .usa-table--stacked tr:nth-child(odd) th{background-color:inherit}.width-mobile .usa-table--stacked tr:first-child th:first-child,.width-mobile .usa-table--stacked tr:first-child td:first-child{border-top:.25rem solid #1b1b1b}.width-mobile .usa-table--stacked th[data-label],.width-mobile .usa-table--stacked td[data-label]{padding-bottom:.75rem}.width-mobile .usa-table--stacked th[data-label]:before,.width-mobile .usa-table--stacked td[data-label]:before{content:attr(data-label);display:block;font-weight:700;margin:-0.5rem -1rem 0rem;padding:.75rem 1rem .25rem}.width-mobile .usa-table--stacked-header thead{display:none}.width-mobile .usa-table--stacked-header th{background-color:#fff}.width-mobile .usa-table--stacked-header th,.width-mobile .usa-table--stacked-header td{border-bottom-width:0;display:block;width:100%}.width-mobile .usa-table--stacked-header tr{border-bottom:.25rem solid #1b1b1b;border-top-width:0;width:100%}.width-mobile .usa-table--stacked-header tr th:first-child,.width-mobile .usa-table--stacked-header tr td:first-child{border-top-width:0}.width-mobile .usa-table--stacked-header tr:nth-child(odd) td,.width-mobile .usa-table--stacked-header tr:nth-child(odd) th{background-color:inherit}.width-mobile .usa-table--stacked-header tr:first-child th:first-child,.width-mobile .usa-table--stacked-header tr:first-child td:first-child{border-top:.25rem solid #1b1b1b}.width-mobile .usa-table--stacked-header th[data-label],.width-mobile .usa-table--stacked-header td[data-label]{padding-bottom:.75rem}.width-mobile .usa-table--stacked-header th[data-label]:before,.width-mobile .usa-table--stacked-header td[data-label]:before{content:attr(data-label);display:block;font-weight:700;margin:-0.5rem -1rem 0rem;padding:.75rem 1rem .25rem}.width-mobile .usa-table--stacked-header tr td:first-child,.width-mobile .usa-table--stacked-header tr th:first-child{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.1;background-color:#dfe1e2;color:#1b1b1b;font-weight:700;padding:.75rem 1rem}.width-mobile .usa-table--stacked-header tr td:first-child:before,.width-mobile .usa-table--stacked-header tr th:first-child:before{display:none}.usa-table--sticky-header{border:1px solid #1b1b1b;border-collapse:separate}.usa-table--sticky-header td,.usa-table--sticky-header th{border-left:none;border-top:none}.usa-table--sticky-header td:last-child,.usa-table--sticky-header th:last-child{border-right:none}.usa-table--sticky-header tfoot td,.usa-table--sticky-header tfoot th{border-top:1px solid #1b1b1b;border-bottom:none}.usa-table--sticky-header tbody tr:last-child td,.usa-table--sticky-header tbody tr:last-child th{border-bottom:none}.usa-table--sticky-header thead{position:sticky;top:-1px}.usa-table--sticky-header.usa-table--borderless{border:none}.usa-table--sticky-header.usa-table--borderless th{background-color:#fff}.usa-table--sticky-header.usa-table--borderless td,.usa-table--sticky-header.usa-table--borderless th{border-right:none}.usa-table-container--scrollable{margin:1.25rem 0;overflow-y:hidden}.usa-table-container--scrollable .usa-table{margin:0}.usa-table-container--scrollable td{white-space:nowrap}.usa-tag{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:.93rem;color:#fff;text-transform:uppercase;background-color:#565c65;border-radius:2px;margin-right:.25rem;padding:1px .5rem}.usa-tag:only-of-type{margin-right:0}.usa-tag--big{padding-left:.5rem;padding-right:.5rem;font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem}.usa-tooltip{display:inline-block;position:relative}.usa-tooltip__trigger{cursor:pointer}.usa-tooltip__trigger>svg{display:block;pointer-events:none}.usa-tooltip__body,.usa-tooltip__body--top{transition:opacity .08s ease-in-out;background-color:#1b1b1b;border-radius:.25rem;color:#f0f0f0;display:none;font-size:1rem;opacity:0;padding:.5rem;width:auto;white-space:pre;z-index:100000;position:absolute}.usa-tooltip__body::after,.usa-tooltip__body--top::after{content:\"\";display:block;width:0;height:0;border-left:5px solid rgba(0,0,0,0);border-right:5px solid rgba(0,0,0,0);border-top:5px solid #1b1b1b;position:absolute;bottom:-5px;left:50%;margin-left:-5px}.usa-tooltip__body::before,.usa-tooltip__body--top::before{content:\"\";display:block;position:absolute}.usa-tooltip__body--wrap{width:100%;white-space:normal;text-align:center;min-width:50vw}.usa-tooltip__body.is-set{display:block}.usa-tooltip__body.is-visible{opacity:1}.usa-tooltip__body--top::before{top:100%;height:5px;left:0;right:0}.usa-tooltip__body--bottom::before{bottom:100%;height:5px;left:0;right:0}.usa-tooltip__body--bottom::after{border-left:5px solid rgba(0,0,0,0);border-right:5px solid rgba(0,0,0,0);border-bottom:5px solid #1b1b1b;border-top:0;bottom:auto;top:-5px}.usa-tooltip__body--right::before{right:100%;bottom:0;top:0;width:5px}.usa-tooltip__body--right::after{border-top:5px solid rgba(0,0,0,0);border-bottom:5px solid rgba(0,0,0,0);border-right:5px solid #1b1b1b;border-left:0;right:auto;top:50%;bottom:0;left:-5px;margin:-5px 0 0 0}.usa-tooltip__body--left::before{left:100%;bottom:0;top:0;width:5px}.usa-tooltip__body--left::after{border-top:5px solid rgba(0,0,0,0);border-bottom:5px solid rgba(0,0,0,0);border-left:5px solid #1b1b1b;border-right:0;right:-5px;top:50%;bottom:0;left:auto;margin:-5px 0 0 0}.usa-character-count__status{display:inline-block;padding-top:.25rem}.usa-character-count__status.usa-character-count__status--invalid{color:#b50909;font-weight:700}.usa-input:disabled,.usa-input[aria-disabled=true]{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1;-webkit-text-fill-color:#454545}.usa-input:disabled:hover,.usa-input:disabled:active,.usa-input:disabled:focus,.usa-input:disabled.usa-focus,.usa-input[aria-disabled=true]:hover,.usa-input[aria-disabled=true]:active,.usa-input[aria-disabled=true]:focus,.usa-input[aria-disabled=true].usa-focus{color:#454545;background-color:#c9c9c9}@media(forced-colors: active){.usa-input:disabled,.usa-input[aria-disabled=true]{border:0;color:GrayText}.usa-input:disabled:hover,.usa-input:disabled:active,.usa-input:disabled:focus,.usa-input:disabled.usa-focus,.usa-input[aria-disabled=true]:hover,.usa-input[aria-disabled=true]:active,.usa-input[aria-disabled=true]:focus,.usa-input[aria-disabled=true].usa-focus{color:GrayText}}@media(forced-colors: active){.usa-input:disabled,.usa-input[aria-disabled=true]{border:2px solid GrayText}}.usa-input--2xs,.usa-form .usa-input--2xs{max-width:5ex}.usa-input--xs,.usa-form .usa-input--xs{max-width:9ex}.usa-input--sm,.usa-form .usa-input--sm{max-width:13ex}.usa-input--small,.usa-form .usa-input--small{max-width:13ex}.usa-input--md,.usa-form .usa-input--md{max-width:20ex}.usa-input--medium,.usa-form .usa-input--medium{max-width:20ex}.usa-input--lg,.usa-form .usa-input--lg{max-width:30ex}.usa-input--xl,.usa-form .usa-input--xl{max-width:40ex}.usa-input--2xl,.usa-form .usa-input--2xl{max-width:50ex}.usa-input--error{border-width:0.25rem;border-color:#b50909;border-style:solid;padding-top:calc(0.5rem - 0.25rem);padding-bottom:calc(0.5rem - 0.25rem)}.usa-input--success{border-width:0.25rem;border-color:#00a91c;border-style:solid;padding-top:calc(0.5rem - 0.25rem);padding-bottom:calc(0.5rem - 0.25rem)}.usa-fieldset{border:none;margin:0;padding:0}.usa-legend{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.3;display:block;font-weight:normal;margin-top:1.5rem;max-width:30rem}.usa-legend--large{font-size:2.13rem;font-weight:700;margin-top:1rem}.usa-input-list{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0}.usa-input-list li{line-height:1.3}.usa-prose .usa-input-list{margin-bottom:0;margin-top:0;list-style-type:none;padding-left:0}.usa-prose .usa-input-list li{line-height:1.3}.usa-checkbox{background:#fff}.usa-checkbox__label{color:#1b1b1b}.usa-checkbox__label::before{background:#fff;box-shadow:0 0 0 2px #1b1b1b}@media(forced-colors: active){.usa-checkbox__label::before{outline:2px solid rgba(0,0,0,0);outline-offset:2px}}.usa-checkbox__input:checked+[class*=__label]::before{background-color:#005ea2;box-shadow:0 0 0 2px #005ea2}.usa-checkbox__input:disabled+[class*=__label],.usa-checkbox__input[aria-disabled=true]+[class*=__label]{color:#757575;cursor:not-allowed}@media(forced-colors: active){.usa-checkbox__input:disabled+[class*=__label],.usa-checkbox__input[aria-disabled=true]+[class*=__label]{color:GrayText}}.usa-checkbox__input:disabled+[class*=__label]::before,.usa-checkbox__input[aria-disabled=true]+[class*=__label]::before{background-color:#fff;box-shadow:0 0 0 2px #757575}.usa-checkbox__input--tile+[class*=__label]{background-color:#fff;border:2px solid #c9c9c9;color:#1b1b1b}.usa-checkbox__input--tile:checked+[class*=__label]{background-color:rgba(0,94,162,.1);border-color:#005ea2}@media(forced-colors: active){.usa-checkbox__input--tile:checked+[class*=__label]{border:ButtonText solid .25rem}}.usa-checkbox__input--tile:disabled+[class*=__label],.usa-checkbox__input--tile[aria-disabled=true]+[class*=__label]{border-color:#e6e6e6}.usa-checkbox__input--tile:disabled:checked+[class*=__label],.usa-checkbox__input--tile:disabled:indeterminate+[class*=__label],.usa-checkbox__input--tile:disabled[data-indeterminate]+[class*=__label],.usa-checkbox__input--tile[aria-disabled=true]:checked+[class*=__label],.usa-checkbox__input--tile[aria-disabled=true]:indeterminate+[class*=__label],.usa-checkbox__input--tile[aria-disabled=true][data-indeterminate]+[class*=__label]{background-color:#fff}.usa-checkbox__input:indeterminate+[class*=__label]::before,.usa-checkbox__input[data-indeterminate]+[class*=__label]::before{background-image:url(\"../img/checkbox-indeterminate.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat;background-color:#005ea2;box-shadow:0 0 0 2px #005ea2;background-position:center center;background-size:.75rem auto}@media(forced-colors: active){.usa-checkbox__input:indeterminate+[class*=__label]::before,.usa-checkbox__input[data-indeterminate]+[class*=__label]::before{background-image:url(\"../img/checkbox-indeterminate-alt.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat;background-color:SelectedItem}}.usa-checkbox__input:indeterminate:disabled+[class*=__label]::before,.usa-checkbox__input:indeterminate[aria-disabled=true]+[class*=__label]::before,.usa-checkbox__input[data-indeterminate]:disabled+[class*=__label]::before,.usa-checkbox__input[data-indeterminate][aria-disabled=true]+[class*=__label]::before{box-shadow:0 0 0 2px #757575}.usa-checkbox__input:indeterminate:disabled+[class*=__label],.usa-checkbox__input:indeterminate[aria-disabled=true]+[class*=__label],.usa-checkbox__input[data-indeterminate]:disabled+[class*=__label],.usa-checkbox__input[data-indeterminate][aria-disabled=true]+[class*=__label]{border-color:#e6e6e6}.usa-checkbox__input--tile:indeterminate+[class*=__label],.usa-checkbox__input--tile[data-indeterminate]+[class*=__label]{background-color:rgba(0,94,162,.1);border-color:#005ea2}@media(forced-colors: active){.usa-checkbox__input--tile:indeterminate+[class*=__label],.usa-checkbox__input--tile[data-indeterminate]+[class*=__label]{border:ButtonText solid .25rem}}.usa-checkbox__input:checked+[class*=__label]::before,.usa-checkbox__input:checked:disabled+[class*=__label]::before,.usa-checkbox__input:checked[aria-disabled=true]+[class*=__label]::before{background-image:url(\"../img/correct8.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat}@media(forced-colors: active){.usa-checkbox__input:checked+[class*=__label]::before,.usa-checkbox__input:checked:disabled+[class*=__label]::before,.usa-checkbox__input:checked[aria-disabled=true]+[class*=__label]::before{background-image:url(\"../img/correct8-alt.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat}}.usa-checkbox__input:checked:disabled+[class*=__label]::before,.usa-checkbox__input:checked[aria-disabled=true]+[class*=__label]::before,.usa-checkbox__input:indeterminate:disabled+[class*=__label]::before,.usa-checkbox__input:indeterminate[aria-disabled=true]+[class*=__label]::before,.usa-checkbox__input[data-indeterminate]:disabled+[class*=__label]::before,.usa-checkbox__input[data-indeterminate][aria-disabled=true]+[class*=__label]::before{background-color:#757575}@media(forced-colors: active){.usa-checkbox__input:checked:disabled+[class*=__label]::before,.usa-checkbox__input:checked[aria-disabled=true]+[class*=__label]::before,.usa-checkbox__input:indeterminate:disabled+[class*=__label]::before,.usa-checkbox__input:indeterminate[aria-disabled=true]+[class*=__label]::before,.usa-checkbox__input[data-indeterminate]:disabled+[class*=__label]::before,.usa-checkbox__input[data-indeterminate][aria-disabled=true]+[class*=__label]::before{background-color:GrayText}}.usa-checkbox__input{position:absolute;left:-999em;right:auto}.usa-checkbox__input:focus+[class*=__label]::before{outline:.25rem solid #2491ff;outline-offset:.25rem}.usa-checkbox__input--tile+[class*=__label]{border-radius:.25rem;margin-top:.5rem;padding:.75rem 1rem .75rem 2.5rem}.usa-checkbox__input--tile+[class*=__label]::before{left:.5rem}.usa-checkbox__input:checked+[class*=__label]::before{background-position:center center;background-size:.75rem auto}@media print{.usa-checkbox__input:checked+[class*=__label]::before{background-image:none;background-color:#fff;content:\"✔\";text-align:center}}@media(forced-colors: active){.usa-checkbox__input:checked+[class*=__label]::before{background-color:SelectedItem}}.usa-checkbox__label{cursor:pointer;display:inherit;font-weight:normal;margin-top:.75rem;padding-left:2rem;position:relative}.usa-checkbox__label::before{content:\" \";display:block;left:0;margin-left:2px;margin-top:.064rem;position:absolute}.usa-checkbox__label::before{height:1.25rem;width:1.25rem;border-radius:2px}.usa-checkbox__label-description{display:block;font-size:.93rem;margin-top:.5rem}.usa-select{background-image:url(\"../img/usa-icons/unfold_more.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat;appearance:none;background-color:#fff;background-position:right .5rem center;background-size:1.25rem;padding-right:2rem}.usa-select::-ms-expand{display:none}.usa-select:-webkit-autofill{appearance:menulist}.usa-select:-moz-focusring{color:rgba(0,0,0,0);text-shadow:0 0 0 #000}.usa-select[multiple]{height:auto;background-image:none;padding-right:0}.usa-select option{overflow:hidden;text-overflow:ellipsis}.usa-select:disabled,.usa-select[aria-disabled=true]{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-select:disabled:hover,.usa-select:disabled:active,.usa-select:disabled:focus,.usa-select:disabled.usa-focus,.usa-select[aria-disabled=true]:hover,.usa-select[aria-disabled=true]:active,.usa-select[aria-disabled=true]:focus,.usa-select[aria-disabled=true].usa-focus{color:#454545;background-color:#c9c9c9}@media(forced-colors: active){.usa-select:disabled,.usa-select[aria-disabled=true]{border:0;color:GrayText}.usa-select:disabled:hover,.usa-select:disabled:active,.usa-select:disabled:focus,.usa-select:disabled.usa-focus,.usa-select[aria-disabled=true]:hover,.usa-select[aria-disabled=true]:active,.usa-select[aria-disabled=true]:focus,.usa-select[aria-disabled=true].usa-focus{color:GrayText}}@media(forced-colors: active){.usa-select:disabled,.usa-select[aria-disabled=true]{border:2px solid GrayText}}@media(forced-colors: active){.usa-select{appearance:listbox;background-image:none;padding-right:0}}.usa-combo-box{max-width:30rem;position:relative}.usa-combo-box--pristine .usa-combo-box__input{padding-right:calc(5em + 4px)}.usa-combo-box--pristine .usa-combo-box__input::-ms-clear{display:none}.usa-combo-box--pristine .usa-combo-box__clear-input{display:block}@media(forced-colors: active){.usa-combo-box--pristine .usa-combo-box__clear-input{background-image:url(\"../img/usa-icons/close.svg\");background-repeat:no-repeat;background-position:center center;background-size:1rem 1rem;display:inline-block;height:1rem;width:1rem;height:1.5rem;width:auto;top:.5rem}@supports(mask: url(\"\")){.usa-combo-box--pristine .usa-combo-box__clear-input{background:none;background-color:ButtonText;mask-image:url(\"../img/usa-icons/close.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:1rem 1rem}}}.usa-combo-box__input{appearance:none;margin-bottom:0;max-width:none;padding-right:calc(2.5em + 3px)}.usa-combo-box__input:disabled,.usa-combo-box__input[aria-disabled=true]{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1;-webkit-text-fill-color:#454545}.usa-combo-box__input:disabled:hover,.usa-combo-box__input:disabled:active,.usa-combo-box__input:disabled:focus,.usa-combo-box__input:disabled.usa-focus,.usa-combo-box__input[aria-disabled=true]:hover,.usa-combo-box__input[aria-disabled=true]:active,.usa-combo-box__input[aria-disabled=true]:focus,.usa-combo-box__input[aria-disabled=true].usa-focus{color:#454545;background-color:#c9c9c9}@media(forced-colors: active){.usa-combo-box__input:disabled,.usa-combo-box__input[aria-disabled=true]{border:0;color:GrayText}.usa-combo-box__input:disabled:hover,.usa-combo-box__input:disabled:active,.usa-combo-box__input:disabled:focus,.usa-combo-box__input:disabled.usa-focus,.usa-combo-box__input[aria-disabled=true]:hover,.usa-combo-box__input[aria-disabled=true]:active,.usa-combo-box__input[aria-disabled=true]:focus,.usa-combo-box__input[aria-disabled=true].usa-focus{color:GrayText}}@media(forced-colors: active){.usa-combo-box__input:disabled,.usa-combo-box__input[aria-disabled=true]{border:2px solid GrayText}}.usa-combo-box__input:disabled::placeholder,.usa-combo-box__input[aria-disabled=true]::placeholder{opacity:1}.usa-combo-box__input:disabled~.usa-combo-box__input-button-separator,.usa-combo-box__input[aria-disabled=true]~.usa-combo-box__input-button-separator{background-color:#454545;cursor:not-allowed}button.usa-combo-box__toggle-list:focus,button.usa-combo-box__clear-input:focus{outline-offset:-4px}button.usa-combo-box__toggle-list:disabled,button.usa-combo-box__toggle-list[aria-disabled=true],button.usa-combo-box__clear-input:disabled,button.usa-combo-box__clear-input[aria-disabled=true]{cursor:not-allowed}.usa-combo-box__toggle-list__wrapper:focus,.usa-combo-box__clear-input__wrapper:focus{outline:0}.usa-combo-box__toggle-list,.usa-combo-box__clear-input{background-color:rgba(0,0,0,0);background-position:center;background-size:auto 1.5rem;border:0;bottom:1px;cursor:pointer;margin-bottom:0;opacity:.6;padding-right:2rem;position:absolute;top:1px;z-index:100}.usa-combo-box__clear-input{background-image:url(\"../img/usa-icons/close.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat;display:none;right:calc(2.5em + 3px)}.usa-combo-box__toggle-list{background-image:url(\"../img/usa-icons/expand_more.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat;background-size:auto 2rem;right:1px}@media(forced-colors: active){.usa-combo-box__toggle-list{background-image:url(\"../img/usa-icons/expand_more.svg\");background-repeat:no-repeat;background-position:center center;background-size:1rem 1rem;display:inline-block;height:1rem;width:1rem;height:auto;width:auto}@supports(mask: url(\"\")){.usa-combo-box__toggle-list{background:none;background-color:ButtonText;mask-image:url(\"../img/usa-icons/expand_more.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:1rem 1rem}}.usa-combo-box__toggle-list:disabled,.usa-combo-box__toggle-list[aria-disabled=true]{background-color:GrayText}}.usa-combo-box__input-button-separator{background-color:#c6cace;position:absolute;top:1px;height:calc(100% - 1rem);margin-bottom:.5rem;margin-top:.5rem;width:1px;right:calc(2.5em + 2px);box-sizing:border-box;z-index:200}@media(forced-colors: active){.usa-combo-box__input-button-separator{background-color:ButtonText}}.usa-combo-box__list{border-width:1px;border-color:#565c65;border-style:solid;background-color:#fff;border-radius:0;border-top:0;margin:0;max-height:12.1em;overflow-x:hidden;overflow-y:scroll;padding:0;position:absolute;width:100%;z-index:300}.usa-combo-box__list:focus{outline:0}.usa-combo-box__list-option{border-bottom:1px solid #dfe1e2;cursor:pointer;display:block;padding:.5rem}.usa-combo-box__list-option--focused{outline:2px solid #162e51;outline-offset:-2px;position:relative;z-index:100}.usa-combo-box__list-option--focused:focus{outline-offset:-4px}.usa-combo-box__list-option--selected{background-color:#005ea2;border-color:#005ea2;color:#fff}.usa-combo-box__list-option--no-results{cursor:not-allowed;display:block;padding:.5rem}.usa-date-picker__wrapper{display:none;position:relative;max-width:30rem}.usa-date-picker__wrapper:focus{outline:0}.usa-date-picker__external-input[aria-disabled=true]+.usa-date-picker__button,.usa-date-picker__calendar__year:disabled,.usa-date-picker__calendar__previous-year-chunk:disabled,.usa-date-picker__calendar__next-year-chunk:disabled,.usa-date-picker__calendar__month:disabled,.usa-date-picker__calendar__year-selection:disabled,.usa-date-picker__calendar__month-selection:disabled,.usa-date-picker__calendar__date:disabled,.usa-date-picker__calendar__previous-year:disabled,.usa-date-picker__calendar__previous-month:disabled,.usa-date-picker__calendar__next-year:disabled,.usa-date-picker__calendar__next-month:disabled,.usa-date-picker__button:disabled,[aria-disabled=true].usa-date-picker__calendar__year,[aria-disabled=true].usa-date-picker__calendar__previous-year-chunk,[aria-disabled=true].usa-date-picker__calendar__next-year-chunk,[aria-disabled=true].usa-date-picker__calendar__month,[aria-disabled=true].usa-date-picker__calendar__year-selection,[aria-disabled=true].usa-date-picker__calendar__month-selection,[aria-disabled=true].usa-date-picker__calendar__date,[aria-disabled=true].usa-date-picker__calendar__previous-year,[aria-disabled=true].usa-date-picker__calendar__previous-month,[aria-disabled=true].usa-date-picker__calendar__next-year,[aria-disabled=true].usa-date-picker__calendar__next-month,[aria-disabled=true].usa-date-picker__button{cursor:not-allowed;opacity:.6}.usa-date-picker__external-input[aria-disabled=true]+.usa-date-picker__button:hover,.usa-date-picker__calendar__year:hover:disabled,.usa-date-picker__calendar__previous-year-chunk:hover:disabled,.usa-date-picker__calendar__next-year-chunk:hover:disabled,.usa-date-picker__calendar__month:hover:disabled,.usa-date-picker__calendar__year-selection:hover:disabled,.usa-date-picker__calendar__month-selection:hover:disabled,.usa-date-picker__calendar__date:hover:disabled,.usa-date-picker__calendar__previous-year:hover:disabled,.usa-date-picker__calendar__previous-month:hover:disabled,.usa-date-picker__calendar__next-year:hover:disabled,.usa-date-picker__calendar__next-month:hover:disabled,.usa-date-picker__button:hover:disabled,[aria-disabled=true].usa-date-picker__calendar__year:hover,[aria-disabled=true].usa-date-picker__calendar__previous-year-chunk:hover,[aria-disabled=true].usa-date-picker__calendar__next-year-chunk:hover,[aria-disabled=true].usa-date-picker__calendar__month:hover,[aria-disabled=true].usa-date-picker__calendar__year-selection:hover,[aria-disabled=true].usa-date-picker__calendar__month-selection:hover,[aria-disabled=true].usa-date-picker__calendar__date:hover,[aria-disabled=true].usa-date-picker__calendar__previous-year:hover,[aria-disabled=true].usa-date-picker__calendar__previous-month:hover,[aria-disabled=true].usa-date-picker__calendar__next-year:hover,[aria-disabled=true].usa-date-picker__calendar__next-month:hover,[aria-disabled=true].usa-date-picker__button:hover{background-color:initial}@media(forced-colors: active){.usa-date-picker__external-input[aria-disabled=true]+.usa-date-picker__button,.usa-date-picker__calendar__year:disabled,.usa-date-picker__calendar__previous-year-chunk:disabled,.usa-date-picker__calendar__next-year-chunk:disabled,.usa-date-picker__calendar__month:disabled,.usa-date-picker__calendar__year-selection:disabled,.usa-date-picker__calendar__month-selection:disabled,.usa-date-picker__calendar__date:disabled,.usa-date-picker__calendar__previous-year:disabled,.usa-date-picker__calendar__previous-month:disabled,.usa-date-picker__calendar__next-year:disabled,.usa-date-picker__calendar__next-month:disabled,.usa-date-picker__button:disabled,[aria-disabled=true].usa-date-picker__calendar__year,[aria-disabled=true].usa-date-picker__calendar__previous-year-chunk,[aria-disabled=true].usa-date-picker__calendar__next-year-chunk,[aria-disabled=true].usa-date-picker__calendar__month,[aria-disabled=true].usa-date-picker__calendar__year-selection,[aria-disabled=true].usa-date-picker__calendar__month-selection,[aria-disabled=true].usa-date-picker__calendar__date,[aria-disabled=true].usa-date-picker__calendar__previous-year,[aria-disabled=true].usa-date-picker__calendar__previous-month,[aria-disabled=true].usa-date-picker__calendar__next-year,[aria-disabled=true].usa-date-picker__calendar__next-month,[aria-disabled=true].usa-date-picker__button{background-color:GrayText}.usa-date-picker__external-input[aria-disabled=true]+.usa-date-picker__button:hover,.usa-date-picker__calendar__year:hover:disabled,.usa-date-picker__calendar__previous-year-chunk:hover:disabled,.usa-date-picker__calendar__next-year-chunk:hover:disabled,.usa-date-picker__calendar__month:hover:disabled,.usa-date-picker__calendar__year-selection:hover:disabled,.usa-date-picker__calendar__month-selection:hover:disabled,.usa-date-picker__calendar__date:hover:disabled,.usa-date-picker__calendar__previous-year:hover:disabled,.usa-date-picker__calendar__previous-month:hover:disabled,.usa-date-picker__calendar__next-year:hover:disabled,.usa-date-picker__calendar__next-month:hover:disabled,.usa-date-picker__button:hover:disabled,[aria-disabled=true].usa-date-picker__calendar__year:hover,[aria-disabled=true].usa-date-picker__calendar__previous-year-chunk:hover,[aria-disabled=true].usa-date-picker__calendar__next-year-chunk:hover,[aria-disabled=true].usa-date-picker__calendar__month:hover,[aria-disabled=true].usa-date-picker__calendar__year-selection:hover,[aria-disabled=true].usa-date-picker__calendar__month-selection:hover,[aria-disabled=true].usa-date-picker__calendar__date:hover,[aria-disabled=true].usa-date-picker__calendar__previous-year:hover,[aria-disabled=true].usa-date-picker__calendar__previous-month:hover,[aria-disabled=true].usa-date-picker__calendar__next-year:hover,[aria-disabled=true].usa-date-picker__calendar__next-month:hover,[aria-disabled=true].usa-date-picker__button:hover{background-color:GrayText}}.usa-date-picker__calendar__year,.usa-date-picker__calendar__previous-year-chunk,.usa-date-picker__calendar__next-year-chunk,.usa-date-picker__calendar__month,.usa-date-picker__calendar__year-selection,.usa-date-picker__calendar__month-selection,.usa-date-picker__calendar__date,.usa-date-picker__calendar__previous-year,.usa-date-picker__calendar__previous-month,.usa-date-picker__calendar__next-year,.usa-date-picker__calendar__next-month,.usa-date-picker__button{background-color:#f0f0f0;border:0;width:100%}.usa-date-picker__calendar__year:not([disabled]),.usa-date-picker__calendar__previous-year-chunk:not([disabled]),.usa-date-picker__calendar__next-year-chunk:not([disabled]),.usa-date-picker__calendar__month:not([disabled]),.usa-date-picker__calendar__year-selection:not([disabled]),.usa-date-picker__calendar__month-selection:not([disabled]),.usa-date-picker__calendar__date:not([disabled]),.usa-date-picker__calendar__previous-year:not([disabled]),.usa-date-picker__calendar__previous-month:not([disabled]),.usa-date-picker__calendar__next-year:not([disabled]),.usa-date-picker__calendar__next-month:not([disabled]),.usa-date-picker__button:not([disabled]){cursor:pointer}.usa-date-picker__calendar__year:not([disabled]):focus,.usa-date-picker__calendar__previous-year-chunk:not([disabled]):focus,.usa-date-picker__calendar__next-year-chunk:not([disabled]):focus,.usa-date-picker__calendar__month:not([disabled]):focus,.usa-date-picker__calendar__year-selection:not([disabled]):focus,.usa-date-picker__calendar__month-selection:not([disabled]):focus,.usa-date-picker__calendar__date:not([disabled]):focus,.usa-date-picker__calendar__previous-year:not([disabled]):focus,.usa-date-picker__calendar__previous-month:not([disabled]):focus,.usa-date-picker__calendar__next-year:not([disabled]):focus,.usa-date-picker__calendar__next-month:not([disabled]):focus,.usa-date-picker__button:not([disabled]):focus{outline-offset:-4px}.usa-date-picker__calendar__year:not([disabled]):hover,.usa-date-picker__calendar__previous-year-chunk:not([disabled]):hover,.usa-date-picker__calendar__next-year-chunk:not([disabled]):hover,.usa-date-picker__calendar__month:not([disabled]):hover,.usa-date-picker__calendar__year-selection:not([disabled]):hover,.usa-date-picker__calendar__month-selection:not([disabled]):hover,.usa-date-picker__calendar__date:not([disabled]):hover,.usa-date-picker__calendar__previous-year:not([disabled]):hover,.usa-date-picker__calendar__previous-month:not([disabled]):hover,.usa-date-picker__calendar__next-year:not([disabled]):hover,.usa-date-picker__calendar__next-month:not([disabled]):hover,.usa-date-picker__button:not([disabled]):hover{background-color:#dfe1e2}@media(forced-colors: active){.usa-date-picker__calendar__year:not([disabled]):hover,.usa-date-picker__calendar__previous-year-chunk:not([disabled]):hover,.usa-date-picker__calendar__next-year-chunk:not([disabled]):hover,.usa-date-picker__calendar__month:not([disabled]):hover,.usa-date-picker__calendar__year-selection:not([disabled]):hover,.usa-date-picker__calendar__month-selection:not([disabled]):hover,.usa-date-picker__calendar__date:not([disabled]):hover,.usa-date-picker__calendar__previous-year:not([disabled]):hover,.usa-date-picker__calendar__previous-month:not([disabled]):hover,.usa-date-picker__calendar__next-year:not([disabled]):hover,.usa-date-picker__calendar__next-month:not([disabled]):hover,.usa-date-picker__button:not([disabled]):hover{background-color:buttontext}}.usa-date-picker__calendar__year:not([disabled]):active,.usa-date-picker__calendar__previous-year-chunk:not([disabled]):active,.usa-date-picker__calendar__next-year-chunk:not([disabled]):active,.usa-date-picker__calendar__month:not([disabled]):active,.usa-date-picker__calendar__year-selection:not([disabled]):active,.usa-date-picker__calendar__month-selection:not([disabled]):active,.usa-date-picker__calendar__date:not([disabled]):active,.usa-date-picker__calendar__previous-year:not([disabled]):active,.usa-date-picker__calendar__previous-month:not([disabled]):active,.usa-date-picker__calendar__next-year:not([disabled]):active,.usa-date-picker__calendar__next-month:not([disabled]):active,.usa-date-picker__button:not([disabled]):active{background-color:#a9aeb1}@media(forced-colors: active){.usa-date-picker__calendar__year:not([disabled]):active,.usa-date-picker__calendar__previous-year-chunk:not([disabled]):active,.usa-date-picker__calendar__next-year-chunk:not([disabled]):active,.usa-date-picker__calendar__month:not([disabled]):active,.usa-date-picker__calendar__year-selection:not([disabled]):active,.usa-date-picker__calendar__month-selection:not([disabled]):active,.usa-date-picker__calendar__date:not([disabled]):active,.usa-date-picker__calendar__previous-year:not([disabled]):active,.usa-date-picker__calendar__previous-month:not([disabled]):active,.usa-date-picker__calendar__next-year:not([disabled]):active,.usa-date-picker__calendar__next-month:not([disabled]):active,.usa-date-picker__button:not([disabled]):active{background-color:buttontext}}.usa-date-picker--active .usa-date-picker__button{background-color:#f0f0f0}@media(forced-colors: active){.usa-date-picker--active .usa-date-picker__button{background-color:buttontext}}.usa-date-picker--active .usa-date-picker__calendar{z-index:400}.usa-date-picker__button{background-image:url(\"../img/usa-icons/calendar_today.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat;align-self:stretch;background-color:rgba(0,0,0,0);background-position:center;background-size:1.5rem;margin-top:.5em;width:3em}@media(forced-colors: active){.usa-date-picker__button{background-image:url(\"../img/usa-icons/calendar_today.svg\");background-repeat:no-repeat;background-position:center center;background-size:2.5rem 2.5rem;display:inline-block;height:2.5rem;width:3rem;mask-size:1.5rem !important;position:relative}@supports(mask: url(\"\")){.usa-date-picker__button{background:none;background-color:ButtonText;mask-image:url(\"../img/usa-icons/calendar_today.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:2.5rem 2.5rem}}.usa-date-picker__button:not([disabled]):focus,.usa-date-picker__button:not([disabled]):hover{background-color:Highlight}}.usa-date-picker--initialized .usa-date-picker__wrapper{display:flex}.usa-date-picker__calendar{background-color:#f0f0f0;left:auto;max-width:20rem;position:absolute;right:0;width:100%;z-index:100}.usa-date-picker__calendar__table{border-spacing:0;border-collapse:collapse;table-layout:fixed;text-align:center;width:100%}.usa-date-picker__calendar__table th{font-weight:normal}.usa-date-picker__calendar__table td{padding:0}.usa-date-picker__calendar__row{display:flex;flex-wrap:wrap;text-align:center;width:100%}.usa-date-picker__calendar__cell{background-color:#f0f0f0;flex:1}.usa-date-picker__calendar__cell--center-items{display:flex;justify-content:center;align-items:center}@media(forced-colors: active){.usa-date-picker__calendar__cell--center-items:not([disabled]):hover{outline:2px solid rgba(0,0,0,0);outline-offset:-2px}}.usa-date-picker__calendar__previous-year,.usa-date-picker__calendar__previous-month,.usa-date-picker__calendar__next-year,.usa-date-picker__calendar__next-month{background-position:center;background-size:auto 1.5rem;height:1.5rem;padding:20px 10px}@media(forced-colors: active){.usa-date-picker__calendar__previous-year,.usa-date-picker__calendar__previous-month,.usa-date-picker__calendar__next-year,.usa-date-picker__calendar__next-month{mask-size:1.5rem !important}}.usa-date-picker__calendar__previous-year:not([disabled]){background-image:url(\"../img/usa-icons/navigate_far_before.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat}@media(forced-colors: active){.usa-date-picker__calendar__previous-year:not([disabled]){background-image:url(\"../img/usa-icons/navigate_far_before.svg\");background-repeat:no-repeat;background-position:center center;background-size:2.5rem 2.5rem;display:inline-block;height:2.5rem;width:3rem;background-color:buttonText}@supports(mask: url(\"\")){.usa-date-picker__calendar__previous-year:not([disabled]){background:none;background-color:ButtonText;mask-image:url(\"../img/usa-icons/navigate_far_before.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:2.5rem 2.5rem}}}.usa-date-picker__calendar__previous-month:not([disabled]){background-image:url(\"../img/usa-icons/navigate_before.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat}@media(forced-colors: active){.usa-date-picker__calendar__previous-month:not([disabled]){background-image:url(\"../img/usa-icons/navigate_before.svg\");background-repeat:no-repeat;background-position:center center;background-size:2.5rem 2.5rem;display:inline-block;height:2.5rem;width:3rem;background-color:buttonText}@supports(mask: url(\"\")){.usa-date-picker__calendar__previous-month:not([disabled]){background:none;background-color:ButtonText;mask-image:url(\"../img/usa-icons/navigate_before.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:2.5rem 2.5rem}}}.usa-date-picker__calendar__next-year:not([disabled]){background-image:url(\"../img/usa-icons/navigate_far_next.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat}@media(forced-colors: active){.usa-date-picker__calendar__next-year:not([disabled]){background-image:url(\"../img/usa-icons/navigate_far_next.svg\");background-repeat:no-repeat;background-position:center center;background-size:2.5rem 2.5rem;display:inline-block;height:2.5rem;width:3rem;background-color:buttonText}@supports(mask: url(\"\")){.usa-date-picker__calendar__next-year:not([disabled]){background:none;background-color:ButtonText;mask-image:url(\"../img/usa-icons/navigate_far_next.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:2.5rem 2.5rem}}}.usa-date-picker__calendar__next-month:not([disabled]){background-image:url(\"../img/usa-icons/navigate_next.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat}@media(forced-colors: active){.usa-date-picker__calendar__next-month:not([disabled]){background-image:url(\"../img/usa-icons/navigate_next.svg\");background-repeat:no-repeat;background-position:center center;background-size:2.5rem 2.5rem;display:inline-block;height:2.5rem;width:3rem;background-color:buttonText}@supports(mask: url(\"\")){.usa-date-picker__calendar__next-month:not([disabled]){background:none;background-color:ButtonText;mask-image:url(\"../img/usa-icons/navigate_next.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:2.5rem 2.5rem}}}.usa-date-picker__calendar__day-of-week{padding:6px 0px}.usa-date-picker__calendar__date{padding:10px 0px}.usa-date-picker__calendar__date--focused{outline:2px solid #162e51;outline-offset:-2px;position:relative;z-index:100}.usa-date-picker__calendar__date--next-month:not([disabled]),.usa-date-picker__calendar__date--previous-month:not([disabled]){color:#5d5d52}.usa-date-picker__calendar__date--selected,.usa-date-picker__calendar__date--range-date{background-color:#0050d8;color:#f9f9f9}.usa-date-picker__calendar__date--selected:not([disabled]),.usa-date-picker__calendar__date--range-date:not([disabled]){background-color:#0050d8;color:#f9f9f9}@media(forced-colors: active){.usa-date-picker__calendar__date--selected:not([disabled]),.usa-date-picker__calendar__date--range-date:not([disabled]){border:ActiveText 2px solid}}.usa-date-picker__calendar__date--selected:not([disabled]):hover,.usa-date-picker__calendar__date--range-date:not([disabled]):hover{background-color:#0050d8;color:#e6e6e6}.usa-date-picker__calendar__date--selected:not([disabled]):focus,.usa-date-picker__calendar__date--range-date:not([disabled]):focus{background-color:#0050d8;color:#f9f9f9}@media(forced-colors: active){.usa-date-picker__calendar__date--selected:not([disabled]):focus,.usa-date-picker__calendar__date--range-date:not([disabled]):focus{border:ActiveText 2px solid}}.usa-date-picker__calendar__date--selected:not([disabled]):active,.usa-date-picker__calendar__date--range-date:not([disabled]):active{background-color:#1a4480}@media(forced-colors: active){.usa-date-picker__calendar__date--selected:not([disabled]):active,.usa-date-picker__calendar__date--range-date:not([disabled]):active{background-color:Highlight}}.usa-date-picker__calendar__date--range-date-start{border-top-left-radius:10%;border-bottom-left-radius:10%}.usa-date-picker__calendar__date--range-date-end{border-top-right-radius:10%;border-bottom-right-radius:10%}.usa-date-picker__calendar__date--within-range{background-color:#cfe8ff}.usa-date-picker__calendar__date--within-range:not([disabled]){background-color:#cfe8ff}@media(forced-colors: active){.usa-date-picker__calendar__date--within-range:not([disabled]){border:Highlight 2px solid}}.usa-date-picker__calendar__date--within-range:not([disabled]):hover{background-color:#cfe8ff}@media(forced-colors: active){.usa-date-picker__calendar__date--within-range:not([disabled]):hover{border:Highlight 2px solid}}.usa-date-picker__calendar__date--within-range:not([disabled]):focus{background-color:#cfe8ff}@media(forced-colors: active){.usa-date-picker__calendar__date--within-range:not([disabled]):focus{border:Highlight 2px solid}}.usa-date-picker__calendar__date--within-range:not([disabled]):active{background-color:#cfe8ff}@media(forced-colors: active){.usa-date-picker__calendar__date--within-range:not([disabled]):active{background-color:Highlight}}@media all and (max-width: 19.99em){.usa-date-picker__calendar__month-label{min-width:100%;order:-1}}@media all and (min-width: 20em){.usa-date-picker__calendar__month-label{flex:4;text-align:center}}.usa-date-picker__calendar__year-selection,.usa-date-picker__calendar__month-selection{display:inline-block;height:100%;padding:8px 4px;width:auto}@media all and (max-width: 19.99em){.usa-date-picker__calendar__year-selection,.usa-date-picker__calendar__month-selection{padding-bottom:0;padding-top:12px}}.usa-date-picker__calendar__month-picker{padding:20px 5px}@media all and (max-width: 19.99em){.usa-date-picker__calendar__month-picker{padding-bottom:12px;padding-top:12px}.usa-date-picker__calendar__month-picker tr{display:flex;flex-direction:column}}.usa-date-picker__calendar__month{padding:10px 0}.usa-date-picker__calendar__month--focused{outline:2px solid #162e51;outline-offset:-2px;position:relative;z-index:100}.usa-date-picker__calendar__month--selected{background-color:#0050d8;color:#f9f9f9}.usa-date-picker__calendar__month--selected:not([disabled]){background-color:#0050d8;color:#f9f9f9}.usa-date-picker__calendar__month--selected:not([disabled]):hover{background-color:#0050d8;color:#e6e6e6}.usa-date-picker__calendar__month--selected:not([disabled]):focus{background-color:#0050d8;color:#f9f9f9}.usa-date-picker__calendar__month--selected:not([disabled]):active{background-color:#1a4480}.usa-date-picker__calendar__year-picker{padding:20px 5px}.usa-date-picker__calendar__previous-year-chunk,.usa-date-picker__calendar__next-year-chunk{background-position:center;background-size:auto 2rem;margin:auto;padding:40px 0}@media(forced-colors: active){.usa-date-picker__calendar__previous-year-chunk,.usa-date-picker__calendar__next-year-chunk{mask-size:1.5rem !important}}.usa-date-picker__calendar__previous-year-chunk:not([disabled]){background-image:url(\"../img/usa-icons/navigate_before.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat}@media(forced-colors: active){.usa-date-picker__calendar__previous-year-chunk:not([disabled]){background-image:none}.usa-date-picker__calendar__previous-year-chunk:not([disabled])::after{background-image:url(\"../img/usa-icons/navigate_before.svg\");background-repeat:no-repeat;background-position:center center;background-size:2.5rem 2.5rem;display:inline-block;height:2.5rem;width:3rem;content:\"\";vertical-align:middle;margin-left:auto}@supports(mask: url(\"\")){.usa-date-picker__calendar__previous-year-chunk:not([disabled])::after{background:none;background-color:ButtonText;mask-image:url(\"../img/usa-icons/navigate_before.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:2.5rem 2.5rem}}.usa-date-picker__calendar__previous-year-chunk:not([disabled]):hover{border:2px solid rgba(0,0,0,0);background-color:rgba(0,0,0,0)}}.usa-date-picker__calendar__next-year-chunk:not([disabled]){background-image:url(\"../img/usa-icons/navigate_next.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat}@media(forced-colors: active){.usa-date-picker__calendar__next-year-chunk:not([disabled]){background-image:none}.usa-date-picker__calendar__next-year-chunk:not([disabled])::after{background-image:url(\"../img/usa-icons/navigate_next.svg\");background-repeat:no-repeat;background-position:center center;background-size:2.5rem 2.5rem;display:inline-block;height:2.5rem;width:3rem;content:\"\";vertical-align:middle;margin-left:auto}@supports(mask: url(\"\")){.usa-date-picker__calendar__next-year-chunk:not([disabled])::after{background:none;background-color:ButtonText;mask-image:url(\"../img/usa-icons/navigate_next.svg\"),linear-gradient(transparent, transparent);mask-position:center center;mask-repeat:no-repeat;mask-size:2.5rem 2.5rem}}.usa-date-picker__calendar__next-year-chunk:not([disabled]):hover{border:2px solid rgba(0,0,0,0);background-color:rgba(0,0,0,0)}}.usa-date-picker__calendar__year{padding:10px 0}.usa-date-picker__calendar__year--focused{outline:2px solid #162e51;outline-offset:-2px;position:relative;z-index:100}.usa-date-picker__calendar__year--selected{background-color:#0050d8;color:#f9f9f9}.usa-date-picker__calendar__year--selected:not([disabled]){background-color:#0050d8;color:#f9f9f9}.usa-date-picker__calendar__year--selected:not([disabled]):hover{background-color:#0050d8;color:#e6e6e6}.usa-date-picker__calendar__year--selected:not([disabled]):focus{background-color:#0050d8;color:#f9f9f9}.usa-date-picker__calendar__year--selected:not([disabled]):active{background-color:#1a4480}.usa-error-message{padding-bottom:.25rem;padding-top:.25rem;color:#b50909;display:block;font-weight:700}[type=file]{border:none;margin-top:.5rem;padding-left:0;padding-top:.2rem}.usa-file-input{display:block;max-width:30rem;width:100%}.usa-file-input__target{border:1px dashed #a9aeb1;display:block;font-size:.93rem;margin-top:.5rem;position:relative;text-align:center;width:100%}.usa-file-input__target:hover{border-color:#71767a}.usa-file-input__target.has-invalid-file{border-color:#fa9441}.usa-file-input__accepted-files-message{font-weight:bold;margin:-1.5rem 0 1.5rem;pointer-events:none;position:relative;z-index:3}.has-invalid-file .usa-file-input__accepted-files-message{color:#b50909}.usa-file-input__choose{color:#005ea2;text-decoration:underline;font-weight:normal}.usa-file-input__choose:visited{color:#54278f}.usa-file-input__choose:hover{color:#1a4480}.usa-file-input__choose:active{color:#162e51}.usa-file-input__choose:focus{outline:.25rem solid #2491ff;outline-offset:0rem}.usa-file-input__instructions{padding:2rem 1rem;pointer-events:none;position:relative;z-index:3}.usa-file-input__box{background:#fff;height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:2}.usa-file-input .usa-file-input__input[type]{cursor:pointer;height:100%;left:0;margin:0;max-width:none;position:absolute;padding:.5rem;text-indent:-999em;top:0;width:100%;z-index:1}.usa-file-input .usa-file-input__input[type]::-webkit-file-upload-button{display:none}.usa-file-input--drag .usa-file-input__target{border-color:#005ea2}.usa-file-input--drag .usa-file-input__box{background-color:#d9e8f6}.usa-file-input--drag .usa-file-input__preview{opacity:.1}.usa-file-input__preview-heading{align-items:center;background:#d9e8f6;display:flex;font-weight:bold;justify-content:space-between;padding:.5rem;pointer-events:none;position:relative;z-index:3}.usa-file-input__preview{align-items:center;background:#d9e8f6;word-wrap:anywhere;display:flex;font-size:.87rem;margin-top:1px;padding:.25rem .5rem;pointer-events:none;position:relative;text-align:left;z-index:3}.usa-file-input__preview:last-child{margin-bottom:-1.5rem}.usa-file-input__preview-image{border:none;display:block;height:2.5rem;margin-right:.5rem;object-fit:contain;width:2.5rem}.usa-file-input__preview-image.is-loading{background-image:url(\"../img/loader.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat;background-position:center center;background-repeat:no-repeat;background-size:2rem}.usa-file-input__preview-image--generic,.usa-file-input__preview-image--pdf,.usa-file-input__preview-image--word,.usa-file-input__preview-image--excel,.usa-file-input__preview-image--video{background-position:center center;background-repeat:no-repeat;background-size:1.5rem}.usa-file-input__preview-image--pdf{background-image:url(\"../img/file-pdf.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat}.usa-file-input__preview-image--generic{background-image:url(\"../img/file.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat}.usa-file-input__preview-image--word{background-image:url(\"../img/file-word.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat}.usa-file-input__preview-image--excel{background-image:url(\"../img/file-excel.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat}.usa-file-input__preview-image--video{background-image:url(\"../img/file-video.svg\"),linear-gradient(transparent, transparent);background-repeat:no-repeat}.usa-form-group--error .usa-file-input__target{border-color:#b50909;border-width:2px}.usa-file-input--disabled .usa-file-input__instructions,.usa-file-input--disabled .usa-file-input__choose{color:#454545}.usa-file-input--disabled .usa-file-input__box{background-color:#c9c9c9}.usa-file-input--disabled .usa-file-input__input[type]{cursor:not-allowed}.usa-file-input--disabled .usa-file-input__target:hover{border-color:#a9aeb1}.usa-file-input--disabled .usa-file-input--drag .usa-file-input__box{background-color:#c9c9c9}@media(forced-colors: active){.usa-file-input--disabled .usa-file-input__instructions,.usa-file-input--disabled .usa-file-input__choose{color:GrayText}.usa-file-input--disabled .usa-file-input__target,.usa-file-input--disabled .usa-file-input__target:hover{border-color:GrayText}}.usa-form-group{margin-top:1.5rem}.usa-form-group .usa-label:first-child{margin-top:0}.usa-form-group--error{border-left-width:0.25rem;border-left-color:#b50909;border-left-style:solid;padding-left:1rem;position:relative}@media all and (min-width: 64em){.usa-form-group--error{margin-left:-1.25rem}}.usa-hint{color:#71767a}.usa-hint--required{color:#b50909}.usa-input-group{align-items:center;display:flex;padding:0;position:relative}.usa-input-group--error input:focus,.usa-input-group--success input:focus{outline-offset:.25rem}.usa-input-group--error{border-width:0.25rem;border-color:#b50909;border-style:solid}.usa-input-group--success{border-width:0.25rem;border-color:#00a91c;border-style:solid}.usa-input-group input{padding-right:2.5rem;border:0;height:100%;margin-top:0;min-width:0;width:100%}.usa-input-group input:disabled+.usa-input-suffix,.usa-input-group input[aria-disabled=true]+.usa-input-suffix{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-input-group input:disabled+.usa-input-suffix:hover,.usa-input-group input:disabled+.usa-input-suffix:active,.usa-input-group input:disabled+.usa-input-suffix:focus,.usa-input-group input:disabled+.usa-input-suffix.usa-focus,.usa-input-group input[aria-disabled=true]+.usa-input-suffix:hover,.usa-input-group input[aria-disabled=true]+.usa-input-suffix:active,.usa-input-group input[aria-disabled=true]+.usa-input-suffix:focus,.usa-input-group input[aria-disabled=true]+.usa-input-suffix.usa-focus{color:#454545;background-color:#c9c9c9}@media(forced-colors: active){.usa-input-group input:disabled+.usa-input-suffix,.usa-input-group input[aria-disabled=true]+.usa-input-suffix{border:0;color:GrayText}.usa-input-group input:disabled+.usa-input-suffix:hover,.usa-input-group input:disabled+.usa-input-suffix:active,.usa-input-group input:disabled+.usa-input-suffix:focus,.usa-input-group input:disabled+.usa-input-suffix.usa-focus,.usa-input-group input[aria-disabled=true]+.usa-input-suffix:hover,.usa-input-group input[aria-disabled=true]+.usa-input-suffix:active,.usa-input-group input[aria-disabled=true]+.usa-input-suffix:focus,.usa-input-group input[aria-disabled=true]+.usa-input-suffix.usa-focus{color:GrayText}}@media(forced-colors: active){.usa-input-group input:disabled,.usa-input-group input[aria-disabled=true]{border:0}}@media(forced-colors: active){.usa-input-group:has(input:disabled),.usa-input-group:has(input[aria-disabled=true]){border:2px solid GrayText}}.usa-input-group--2xs,.usa-form .usa-input-group--2xs{max-width:5ex}.usa-input-group--xs,.usa-form .usa-input-group--xs{max-width:9ex}.usa-input-group--sm,.usa-form .usa-input-group--sm{max-width:13ex}.usa-input-group--small,.usa-form .usa-input-group--small{max-width:13ex}.usa-input-group--md,.usa-form .usa-input-group--md{max-width:20ex}.usa-input-group--medium,.usa-form .usa-input-group--medium{max-width:20ex}.usa-input-group--lg,.usa-form .usa-input-group--lg{max-width:30ex}.usa-input-group--xl,.usa-form .usa-input-group--xl{max-width:40ex}.usa-input-group--2xl,.usa-form .usa-input-group--2xl{max-width:50ex}.usa-input-prefix:has(+input:disabled),.usa-input-prefix:has(+input[aria-disabled=true]){color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-input-prefix:has(+input:disabled):hover,.usa-input-prefix:has(+input:disabled):active,.usa-input-prefix:has(+input:disabled):focus,.usa-input-prefix:has(+input:disabled).usa-focus,.usa-input-prefix:has(+input[aria-disabled=true]):hover,.usa-input-prefix:has(+input[aria-disabled=true]):active,.usa-input-prefix:has(+input[aria-disabled=true]):focus,.usa-input-prefix:has(+input[aria-disabled=true]).usa-focus{color:#454545;background-color:#c9c9c9}@media(forced-colors: active){.usa-input-prefix:has(+input:disabled),.usa-input-prefix:has(+input[aria-disabled=true]){border:0;color:GrayText}.usa-input-prefix:has(+input:disabled):hover,.usa-input-prefix:has(+input:disabled):active,.usa-input-prefix:has(+input:disabled):focus,.usa-input-prefix:has(+input:disabled).usa-focus,.usa-input-prefix:has(+input[aria-disabled=true]):hover,.usa-input-prefix:has(+input[aria-disabled=true]):active,.usa-input-prefix:has(+input[aria-disabled=true]):focus,.usa-input-prefix:has(+input[aria-disabled=true]).usa-focus{color:GrayText}}.usa-input-prefix,.usa-input-suffix{position:absolute;color:#71767a;line-height:0;padding:0 .5rem;user-select:none;white-space:nowrap}.usa-input-prefix .usa-icon,.usa-input-suffix .usa-icon{height:1.5rem;width:1.5rem}.usa-input-prefix+input{padding-left:2.5rem;padding-right:.5rem}.usa-input-suffix{right:0}.usa-input-mask{display:block;position:relative}.usa-input-mask--content{border:1px solid rgba(0,0,0,0);color:#757575;display:block;left:2px;pointer-events:none;position:absolute;top:0}.usa-input-mask--content i{visibility:hidden}@media(forced-colors: active){.usa-input-mask--content i{color:ButtonText;font-style:normal;visibility:visible}}@media(forced-colors: active){.usa-input-mask--content{border:none}}.usa-masked,.usa-input-mask--content{background-color:rgba(0,0,0,0);padding:.5rem}.usa-label{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;font-size:1.06rem;line-height:1.3;display:block;font-weight:normal;margin-top:1.5rem;max-width:30rem}.usa-label--error{font-weight:700;margin-top:0}.usa-label--required{color:#b50909}.usa-memorable-date{display:flex;flex-wrap:wrap}.usa-memorable-date [type=number]{-moz-appearance:textfield}.usa-memorable-date [type=number]::-webkit-inner-spin-button{appearance:none}.usa-memorable-date [type=number]::-webkit-contacts-auto-fill-button{visibility:hidden;display:none !important;pointer-events:none;height:0;width:0;margin:0}.usa-memorable-date .usa-form-group{margin-top:1rem}.usa-form-group--day,.usa-form-group--month,.usa-form-group--year{flex:0 1 auto;margin-right:1rem;width:fit-content}.usa-form-group--day input,.usa-form-group--month input{width:3rem}.usa-form-group--month select{width:15rem}.usa-form-group--year input{width:4.5rem}.usa-radio{background:#fff}.usa-radio__label{color:#1b1b1b}.usa-radio__label::before{background:#fff;box-shadow:0 0 0 2px #1b1b1b}@media(forced-colors: active){.usa-radio__label::before{outline:2px solid rgba(0,0,0,0);outline-offset:2px}}.usa-radio__input:checked+[class*=__label]::before{background-color:#005ea2;box-shadow:0 0 0 2px #005ea2}.usa-radio__input:disabled+[class*=__label],.usa-radio__input[aria-disabled=true]+[class*=__label]{color:#757575;cursor:not-allowed}@media(forced-colors: active){.usa-radio__input:disabled+[class*=__label],.usa-radio__input[aria-disabled=true]+[class*=__label]{color:GrayText}}.usa-radio__input:disabled+[class*=__label]::before,.usa-radio__input[aria-disabled=true]+[class*=__label]::before{background-color:#fff;box-shadow:0 0 0 2px #757575}.usa-radio__input--tile+[class*=__label]{background-color:#fff;border:2px solid #c9c9c9;color:#1b1b1b}.usa-radio__input--tile:checked+[class*=__label]{background-color:rgba(0,94,162,.1);border-color:#005ea2}@media(forced-colors: active){.usa-radio__input--tile:checked+[class*=__label]{border:ButtonText solid .25rem}}.usa-radio__input--tile:disabled+[class*=__label],.usa-radio__input--tile[aria-disabled=true]+[class*=__label]{border-color:#e6e6e6}.usa-radio__input--tile:disabled:checked+[class*=__label],.usa-radio__input--tile:disabled:indeterminate+[class*=__label],.usa-radio__input--tile:disabled[data-indeterminate]+[class*=__label],.usa-radio__input--tile[aria-disabled=true]:checked+[class*=__label],.usa-radio__input--tile[aria-disabled=true]:indeterminate+[class*=__label],.usa-radio__input--tile[aria-disabled=true][data-indeterminate]+[class*=__label]{background-color:#fff}.usa-radio__input:checked+[class*=__label]::before{box-shadow:0 0 0 2px #005ea2,inset 0 0 0 2px #fff}@media(forced-colors: active){.usa-radio__input:checked+[class*=__label]::before{background-color:ButtonText}}.usa-radio__input:checked:disabled+[class*=__label]::before,.usa-radio__input:checked[aria-disabled=true]+[class*=__label]::before{background-color:#757575;box-shadow:0 0 0 2px #757575,inset 0 0 0 2px #fff}@media(forced-colors: active){.usa-radio__input:checked:disabled+[class*=__label]::before,.usa-radio__input:checked[aria-disabled=true]+[class*=__label]::before{background-color:GrayText}}.usa-radio__input{position:absolute;left:-999em;right:auto}.usa-radio__input:focus+[class*=__label]::before{outline:.25rem solid #2491ff;outline-offset:.25rem}.usa-radio__input--tile+[class*=__label]{border-radius:.25rem;margin-top:.5rem;padding:.75rem 1rem .75rem 2.5rem}.usa-radio__input--tile+[class*=__label]::before{left:.5rem}@media print{.usa-radio__input:checked+[class*=__label]::before{box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 1rem #005ea2,0 0 0 2px #005ea2}}.usa-radio__label{cursor:pointer;display:inherit;font-weight:normal;margin-top:.75rem;padding-left:2rem;position:relative}.usa-radio__label::before{content:\" \";display:block;left:0;margin-left:2px;margin-top:.064rem;position:absolute}.usa-radio__label::before{height:1.25rem;border-radius:99rem;width:1.25rem}.usa-radio__label-description{display:block;font-size:.93rem;margin-top:.5rem}.usa-range{appearance:none;border:none;padding-left:1px;width:100%}.usa-range:focus{outline:none}.usa-range:focus::-webkit-slider-thumb{background-color:#fff;box-shadow:0 0 0 2px #2491ff}.usa-range:focus::-moz-range-thumb{background-color:#fff;box-shadow:0 0 0 2px #2491ff}.usa-range:focus::-ms-thumb{background-color:#fff;box-shadow:0 0 0 2px #2491ff}.usa-range::-webkit-slider-runnable-track{background-color:#f0f0f0;border-radius:99rem;border:1px solid #71767a;cursor:pointer;height:1rem;width:100%}.usa-range::-moz-range-track{background-color:#f0f0f0;border-radius:99rem;border:1px solid #71767a;cursor:pointer;height:1rem;width:100%}.usa-range::-ms-track{background-color:#f0f0f0;border-radius:99rem;border:1px solid #71767a;cursor:pointer;height:1rem;width:100%}.usa-range::-webkit-slider-thumb{height:1.25rem;border-radius:99rem;width:1.25rem;background:#f0f0f0;border:none;box-shadow:0 0 0 2px #71767a;cursor:pointer;appearance:none;margin-top:-0.19rem}@media(forced-colors: active){.usa-range::-webkit-slider-thumb{outline:2px solid rgba(0,0,0,0)}}.usa-range::-moz-range-thumb{height:1.25rem;border-radius:99rem;width:1.25rem;background:#f0f0f0;border:none;box-shadow:0 0 0 2px #71767a;cursor:pointer}@media(forced-colors: active){.usa-range::-moz-range-thumb{outline:2px solid rgba(0,0,0,0)}}.usa-range::-ms-thumb{height:1.25rem;border-radius:99rem;width:1.25rem;background:#f0f0f0;border:none;box-shadow:0 0 0 2px #71767a;cursor:pointer}@media(forced-colors: active){.usa-range::-ms-thumb{outline:2px solid rgba(0,0,0,0)}}.usa-range::-ms-fill-lower{background-color:#f0f0f0;border-radius:99rem;border:1px solid #71767a}.usa-range::-ms-fill-upper{background-color:#f0f0f0;border-radius:99rem;border:1px solid #71767a}.usa-range:disabled,.usa-range[aria-disabled=true]{opacity:1}.usa-range:disabled::-webkit-slider-runnable-track,.usa-range[aria-disabled=true]::-webkit-slider-runnable-track{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-range:disabled::-webkit-slider-runnable-track:hover,.usa-range:disabled::-webkit-slider-runnable-track:active,.usa-range:disabled::-webkit-slider-runnable-track:focus,.usa-range:disabled::-webkit-slider-runnable-track.usa-focus,.usa-range[aria-disabled=true]::-webkit-slider-runnable-track:hover,.usa-range[aria-disabled=true]::-webkit-slider-runnable-track:active,.usa-range[aria-disabled=true]::-webkit-slider-runnable-track:focus,.usa-range[aria-disabled=true]::-webkit-slider-runnable-track.usa-focus{color:#454545;background-color:#c9c9c9}@media(forced-colors: active){.usa-range:disabled::-webkit-slider-runnable-track,.usa-range[aria-disabled=true]::-webkit-slider-runnable-track{border:0;color:GrayText}.usa-range:disabled::-webkit-slider-runnable-track:hover,.usa-range:disabled::-webkit-slider-runnable-track:active,.usa-range:disabled::-webkit-slider-runnable-track:focus,.usa-range:disabled::-webkit-slider-runnable-track.usa-focus,.usa-range[aria-disabled=true]::-webkit-slider-runnable-track:hover,.usa-range[aria-disabled=true]::-webkit-slider-runnable-track:active,.usa-range[aria-disabled=true]::-webkit-slider-runnable-track:focus,.usa-range[aria-disabled=true]::-webkit-slider-runnable-track.usa-focus{color:GrayText}}@media(forced-colors: active){.usa-range:disabled::-webkit-slider-runnable-track,.usa-range[aria-disabled=true]::-webkit-slider-runnable-track{border:2px solid GrayText}}.usa-range:disabled::-moz-range-track,.usa-range[aria-disabled=true]::-moz-range-track{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-range:disabled::-moz-range-track:hover,.usa-range:disabled::-moz-range-track:active,.usa-range:disabled::-moz-range-track:focus,.usa-range:disabled::-moz-range-track.usa-focus,.usa-range[aria-disabled=true]::-moz-range-track:hover,.usa-range[aria-disabled=true]::-moz-range-track:active,.usa-range[aria-disabled=true]::-moz-range-track:focus,.usa-range[aria-disabled=true]::-moz-range-track.usa-focus{color:#454545;background-color:#c9c9c9}@media(forced-colors: active){.usa-range:disabled::-moz-range-track,.usa-range[aria-disabled=true]::-moz-range-track{border:0;color:GrayText}.usa-range:disabled::-moz-range-track:hover,.usa-range:disabled::-moz-range-track:active,.usa-range:disabled::-moz-range-track:focus,.usa-range:disabled::-moz-range-track.usa-focus,.usa-range[aria-disabled=true]::-moz-range-track:hover,.usa-range[aria-disabled=true]::-moz-range-track:active,.usa-range[aria-disabled=true]::-moz-range-track:focus,.usa-range[aria-disabled=true]::-moz-range-track.usa-focus{color:GrayText}}@media(forced-colors: active){.usa-range:disabled::-moz-range-track,.usa-range[aria-disabled=true]::-moz-range-track{border:2px solid GrayText}}.usa-range:disabled::-ms-track,.usa-range[aria-disabled=true]::-ms-track{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-range:disabled::-ms-track:hover,.usa-range:disabled::-ms-track:active,.usa-range:disabled::-ms-track:focus,.usa-range:disabled::-ms-track.usa-focus,.usa-range[aria-disabled=true]::-ms-track:hover,.usa-range[aria-disabled=true]::-ms-track:active,.usa-range[aria-disabled=true]::-ms-track:focus,.usa-range[aria-disabled=true]::-ms-track.usa-focus{color:#454545;background-color:#c9c9c9}@media(forced-colors: active){.usa-range:disabled::-ms-track,.usa-range[aria-disabled=true]::-ms-track{border:0;color:GrayText}.usa-range:disabled::-ms-track:hover,.usa-range:disabled::-ms-track:active,.usa-range:disabled::-ms-track:focus,.usa-range:disabled::-ms-track.usa-focus,.usa-range[aria-disabled=true]::-ms-track:hover,.usa-range[aria-disabled=true]::-ms-track:active,.usa-range[aria-disabled=true]::-ms-track:focus,.usa-range[aria-disabled=true]::-ms-track.usa-focus{color:GrayText}}.usa-range:disabled::-webkit-slider-thumb,.usa-range[aria-disabled=true]::-webkit-slider-thumb{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-range:disabled::-webkit-slider-thumb:hover,.usa-range:disabled::-webkit-slider-thumb:active,.usa-range:disabled::-webkit-slider-thumb:focus,.usa-range:disabled::-webkit-slider-thumb.usa-focus,.usa-range[aria-disabled=true]::-webkit-slider-thumb:hover,.usa-range[aria-disabled=true]::-webkit-slider-thumb:active,.usa-range[aria-disabled=true]::-webkit-slider-thumb:focus,.usa-range[aria-disabled=true]::-webkit-slider-thumb.usa-focus{color:#454545;background-color:#c9c9c9}@media(forced-colors: active){.usa-range:disabled::-webkit-slider-thumb,.usa-range[aria-disabled=true]::-webkit-slider-thumb{border:0;color:GrayText}.usa-range:disabled::-webkit-slider-thumb:hover,.usa-range:disabled::-webkit-slider-thumb:active,.usa-range:disabled::-webkit-slider-thumb:focus,.usa-range:disabled::-webkit-slider-thumb.usa-focus,.usa-range[aria-disabled=true]::-webkit-slider-thumb:hover,.usa-range[aria-disabled=true]::-webkit-slider-thumb:active,.usa-range[aria-disabled=true]::-webkit-slider-thumb:focus,.usa-range[aria-disabled=true]::-webkit-slider-thumb.usa-focus{color:GrayText}}.usa-range:disabled::-moz-range-thumb,.usa-range[aria-disabled=true]::-moz-range-thumb{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-range:disabled::-moz-range-thumb:hover,.usa-range:disabled::-moz-range-thumb:active,.usa-range:disabled::-moz-range-thumb:focus,.usa-range:disabled::-moz-range-thumb.usa-focus,.usa-range[aria-disabled=true]::-moz-range-thumb:hover,.usa-range[aria-disabled=true]::-moz-range-thumb:active,.usa-range[aria-disabled=true]::-moz-range-thumb:focus,.usa-range[aria-disabled=true]::-moz-range-thumb.usa-focus{color:#454545;background-color:#c9c9c9}@media(forced-colors: active){.usa-range:disabled::-moz-range-thumb,.usa-range[aria-disabled=true]::-moz-range-thumb{border:0;color:GrayText}.usa-range:disabled::-moz-range-thumb:hover,.usa-range:disabled::-moz-range-thumb:active,.usa-range:disabled::-moz-range-thumb:focus,.usa-range:disabled::-moz-range-thumb.usa-focus,.usa-range[aria-disabled=true]::-moz-range-thumb:hover,.usa-range[aria-disabled=true]::-moz-range-thumb:active,.usa-range[aria-disabled=true]::-moz-range-thumb:focus,.usa-range[aria-disabled=true]::-moz-range-thumb.usa-focus{color:GrayText}}.usa-range:disabled::-ms-thumb,.usa-range[aria-disabled=true]::-ms-thumb{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-range:disabled::-ms-thumb:hover,.usa-range:disabled::-ms-thumb:active,.usa-range:disabled::-ms-thumb:focus,.usa-range:disabled::-ms-thumb.usa-focus,.usa-range[aria-disabled=true]::-ms-thumb:hover,.usa-range[aria-disabled=true]::-ms-thumb:active,.usa-range[aria-disabled=true]::-ms-thumb:focus,.usa-range[aria-disabled=true]::-ms-thumb.usa-focus{color:#454545;background-color:#c9c9c9}@media(forced-colors: active){.usa-range:disabled::-ms-thumb,.usa-range[aria-disabled=true]::-ms-thumb{border:0;color:GrayText}.usa-range:disabled::-ms-thumb:hover,.usa-range:disabled::-ms-thumb:active,.usa-range:disabled::-ms-thumb:focus,.usa-range:disabled::-ms-thumb.usa-focus,.usa-range[aria-disabled=true]::-ms-thumb:hover,.usa-range[aria-disabled=true]::-ms-thumb:active,.usa-range[aria-disabled=true]::-ms-thumb:focus,.usa-range[aria-disabled=true]::-ms-thumb.usa-focus{color:GrayText}}.usa-range:disabled::-ms-fill-lower,.usa-range[aria-disabled=true]::-ms-fill-lower{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-range:disabled::-ms-fill-lower:hover,.usa-range:disabled::-ms-fill-lower:active,.usa-range:disabled::-ms-fill-lower:focus,.usa-range:disabled::-ms-fill-lower.usa-focus,.usa-range[aria-disabled=true]::-ms-fill-lower:hover,.usa-range[aria-disabled=true]::-ms-fill-lower:active,.usa-range[aria-disabled=true]::-ms-fill-lower:focus,.usa-range[aria-disabled=true]::-ms-fill-lower.usa-focus{color:#454545;background-color:#c9c9c9}@media(forced-colors: active){.usa-range:disabled::-ms-fill-lower,.usa-range[aria-disabled=true]::-ms-fill-lower{border:0;color:GrayText}.usa-range:disabled::-ms-fill-lower:hover,.usa-range:disabled::-ms-fill-lower:active,.usa-range:disabled::-ms-fill-lower:focus,.usa-range:disabled::-ms-fill-lower.usa-focus,.usa-range[aria-disabled=true]::-ms-fill-lower:hover,.usa-range[aria-disabled=true]::-ms-fill-lower:active,.usa-range[aria-disabled=true]::-ms-fill-lower:focus,.usa-range[aria-disabled=true]::-ms-fill-lower.usa-focus{color:GrayText}}.usa-range:disabled::-ms-fill-upper,.usa-range[aria-disabled=true]::-ms-fill-upper{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-range:disabled::-ms-fill-upper:hover,.usa-range:disabled::-ms-fill-upper:active,.usa-range:disabled::-ms-fill-upper:focus,.usa-range:disabled::-ms-fill-upper.usa-focus,.usa-range[aria-disabled=true]::-ms-fill-upper:hover,.usa-range[aria-disabled=true]::-ms-fill-upper:active,.usa-range[aria-disabled=true]::-ms-fill-upper:focus,.usa-range[aria-disabled=true]::-ms-fill-upper.usa-focus{color:#454545;background-color:#c9c9c9}@media(forced-colors: active){.usa-range:disabled::-ms-fill-upper,.usa-range[aria-disabled=true]::-ms-fill-upper{border:0;color:GrayText}.usa-range:disabled::-ms-fill-upper:hover,.usa-range:disabled::-ms-fill-upper:active,.usa-range:disabled::-ms-fill-upper:focus,.usa-range:disabled::-ms-fill-upper.usa-focus,.usa-range[aria-disabled=true]::-ms-fill-upper:hover,.usa-range[aria-disabled=true]::-ms-fill-upper:active,.usa-range[aria-disabled=true]::-ms-fill-upper:focus,.usa-range[aria-disabled=true]::-ms-fill-upper.usa-focus{color:GrayText}}.usa-textarea:disabled,.usa-textarea[aria-disabled=true]{color:#454545;background-color:#c9c9c9;cursor:not-allowed;opacity:1}.usa-textarea:disabled:hover,.usa-textarea:disabled:active,.usa-textarea:disabled:focus,.usa-textarea:disabled.usa-focus,.usa-textarea[aria-disabled=true]:hover,.usa-textarea[aria-disabled=true]:active,.usa-textarea[aria-disabled=true]:focus,.usa-textarea[aria-disabled=true].usa-focus{color:#454545;background-color:#c9c9c9}@media(forced-colors: active){.usa-textarea:disabled,.usa-textarea[aria-disabled=true]{border:0;color:GrayText}.usa-textarea:disabled:hover,.usa-textarea:disabled:active,.usa-textarea:disabled:focus,.usa-textarea:disabled.usa-focus,.usa-textarea[aria-disabled=true]:hover,.usa-textarea[aria-disabled=true]:active,.usa-textarea[aria-disabled=true]:focus,.usa-textarea[aria-disabled=true].usa-focus{color:GrayText}}@media(forced-colors: active){.usa-textarea:disabled,.usa-textarea[aria-disabled=true]{border:2px solid GrayText}}.usa-textarea{height:10rem}.usa-time-picker{width:10em}[class*=font-mono-]{font-family:Roboto Mono Web, Bitstream Vera Sans Mono, Consolas, Courier, monospace}[class*=font-sans-]{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif}[class*=font-serif-]{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif}[class*=font-ui-]{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif}[class*=font-heading-]{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif}[class*=font-body-]{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif}[class*=font-code-]{font-family:Roboto Mono Web, Bitstream Vera Sans Mono, Consolas, Courier, monospace}[class*=font-alt-]{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif}.add-aspect-9x16{box-sizing:border-box;height:0;overflow:hidden;padding-bottom:177.77778%;position:relative}@supports(aspect-ratio: 1){.add-aspect-9x16{height:inherit;padding:inherit;aspect-ratio:.5625;max-width:100%}.add-aspect-9x16>*{position:absolute;top:0;left:0;width:100%;height:100%}img.add-aspect-9x16,.add-aspect-9x16>img{object-fit:cover}}.add-aspect-16x9{box-sizing:border-box;height:0;overflow:hidden;padding-bottom:56.25%;position:relative}@supports(aspect-ratio: 1){.add-aspect-16x9{height:inherit;padding:inherit;aspect-ratio:1.7777777778;max-width:100%}.add-aspect-16x9>*{position:absolute;top:0;left:0;width:100%;height:100%}img.add-aspect-16x9,.add-aspect-16x9>img{object-fit:cover}}.add-aspect-1x1{box-sizing:border-box;height:0;overflow:hidden;padding-bottom:100%;position:relative}@supports(aspect-ratio: 1){.add-aspect-1x1{height:inherit;padding:inherit;aspect-ratio:1;max-width:100%}.add-aspect-1x1>*{position:absolute;top:0;left:0;width:100%;height:100%}img.add-aspect-1x1,.add-aspect-1x1>img{object-fit:cover}}.add-aspect-4x3{box-sizing:border-box;height:0;overflow:hidden;padding-bottom:75%;position:relative}@supports(aspect-ratio: 1){.add-aspect-4x3{height:inherit;padding:inherit;aspect-ratio:1.3333333333;max-width:100%}.add-aspect-4x3>*{position:absolute;top:0;left:0;width:100%;height:100%}img.add-aspect-4x3,.add-aspect-4x3>img{object-fit:cover}}.add-aspect-2x1{box-sizing:border-box;height:0;overflow:hidden;padding-bottom:50%;position:relative}@supports(aspect-ratio: 1){.add-aspect-2x1{height:inherit;padding:inherit;aspect-ratio:2;max-width:100%}.add-aspect-2x1>*{position:absolute;top:0;left:0;width:100%;height:100%}img.add-aspect-2x1,.add-aspect-2x1>img{object-fit:cover}}@supports(aspect-ratio: 1){:where(img[class*=add-aspect-]){width:min-content}}.add-list-reset{margin-bottom:0;margin-top:0;padding-left:0;list-style:none}.flex-align-start{align-items:flex-start}.flex-align-end{align-items:flex-end}.flex-align-center{align-items:center}.flex-align-stretch{align-items:stretch}.flex-align-baseline{align-items:baseline}.flex-align-self-start{align-self:flex-start}.flex-align-self-end{align-self:flex-end}.flex-align-self-center{align-self:center}.flex-align-self-stretch{align-self:stretch}.flex-align-self-baseline{align-self:baseline}.bg-transparent{background-color:transparent}.hover\\:bg-transparent:hover{background-color:transparent}.bg-black{background-color:black}.hover\\:bg-black:hover{background-color:black}.bg-white{background-color:white}.hover\\:bg-white:hover{background-color:white}.bg-red{background-color:#e52207}.hover\\:bg-red:hover{background-color:#e52207}.bg-orange{background-color:#e66f0e}.hover\\:bg-orange:hover{background-color:#e66f0e}.bg-gold{background-color:#ffbe2e}.hover\\:bg-gold:hover{background-color:#ffbe2e}.bg-yellow{background-color:#fee685}.hover\\:bg-yellow:hover{background-color:#fee685}.bg-green{background-color:#538200}.hover\\:bg-green:hover{background-color:#538200}.bg-mint{background-color:#04c585}.hover\\:bg-mint:hover{background-color:#04c585}.bg-cyan{background-color:#009ec1}.hover\\:bg-cyan:hover{background-color:#009ec1}.bg-blue{background-color:#0076d6}.hover\\:bg-blue:hover{background-color:#0076d6}.bg-indigo{background-color:#676cc8}.hover\\:bg-indigo:hover{background-color:#676cc8}.bg-violet{background-color:#8168b3}.hover\\:bg-violet:hover{background-color:#8168b3}.bg-magenta{background-color:#d72d79}.hover\\:bg-magenta:hover{background-color:#d72d79}.bg-gray-5{background-color:#f0f0f0}.hover\\:bg-gray-5:hover{background-color:#f0f0f0}.bg-gray-10{background-color:#e6e6e6}.hover\\:bg-gray-10:hover{background-color:#e6e6e6}.bg-gray-30{background-color:#adadad}.hover\\:bg-gray-30:hover{background-color:#adadad}.bg-gray-50{background-color:#757575}.hover\\:bg-gray-50:hover{background-color:#757575}.bg-gray-70{background-color:#454545}.hover\\:bg-gray-70:hover{background-color:#454545}.bg-gray-90{background-color:#1b1b1b}.hover\\:bg-gray-90:hover{background-color:#1b1b1b}.bg-base-lightest{background-color:#f0f0f0}.hover\\:bg-base-lightest:hover{background-color:#f0f0f0}.bg-base-lighter{background-color:#dfe1e2}.hover\\:bg-base-lighter:hover{background-color:#dfe1e2}.bg-base-light{background-color:#a9aeb1}.hover\\:bg-base-light:hover{background-color:#a9aeb1}.bg-base{background-color:#71767a}.hover\\:bg-base:hover{background-color:#71767a}.bg-base-dark{background-color:#565c65}.hover\\:bg-base-dark:hover{background-color:#565c65}.bg-base-darker{background-color:#3d4551}.hover\\:bg-base-darker:hover{background-color:#3d4551}.bg-base-darkest{background-color:#1b1b1b}.hover\\:bg-base-darkest:hover{background-color:#1b1b1b}.bg-ink{background-color:#1b1b1b}.hover\\:bg-ink:hover{background-color:#1b1b1b}.bg-primary-lighter{background-color:#d9e8f6}.hover\\:bg-primary-lighter:hover{background-color:#d9e8f6}.bg-primary-light{background-color:#73b3e7}.hover\\:bg-primary-light:hover{background-color:#73b3e7}.bg-primary{background-color:#005ea2}.hover\\:bg-primary:hover{background-color:#005ea2}.bg-primary-vivid{background-color:#0050d8}.hover\\:bg-primary-vivid:hover{background-color:#0050d8}.bg-primary-dark{background-color:#1a4480}.hover\\:bg-primary-dark:hover{background-color:#1a4480}.bg-primary-darker{background-color:#162e51}.hover\\:bg-primary-darker:hover{background-color:#162e51}.bg-secondary-lighter{background-color:#f3e1e4}.hover\\:bg-secondary-lighter:hover{background-color:#f3e1e4}.bg-secondary-light{background-color:#f2938c}.hover\\:bg-secondary-light:hover{background-color:#f2938c}.bg-secondary{background-color:#d83933}.hover\\:bg-secondary:hover{background-color:#d83933}.bg-secondary-vivid{background-color:#e41d3d}.hover\\:bg-secondary-vivid:hover{background-color:#e41d3d}.bg-secondary-dark{background-color:#b50909}.hover\\:bg-secondary-dark:hover{background-color:#b50909}.bg-secondary-darker{background-color:#8b0a03}.hover\\:bg-secondary-darker:hover{background-color:#8b0a03}.bg-accent-warm-darker{background-color:#775540}.hover\\:bg-accent-warm-darker:hover{background-color:#775540}.bg-accent-warm-dark{background-color:#c05600}.hover\\:bg-accent-warm-dark:hover{background-color:#c05600}.bg-accent-warm{background-color:#fa9441}.hover\\:bg-accent-warm:hover{background-color:#fa9441}.bg-accent-warm-light{background-color:#ffbc78}.hover\\:bg-accent-warm-light:hover{background-color:#ffbc78}.bg-accent-warm-lighter{background-color:#f2e4d4}.hover\\:bg-accent-warm-lighter:hover{background-color:#f2e4d4}.bg-accent-cool-darker{background-color:#07648d}.hover\\:bg-accent-cool-darker:hover{background-color:#07648d}.bg-accent-cool-dark{background-color:#28a0cb}.hover\\:bg-accent-cool-dark:hover{background-color:#28a0cb}.bg-accent-cool{background-color:#00bde3}.hover\\:bg-accent-cool:hover{background-color:#00bde3}.bg-accent-cool-light{background-color:#97d4ea}.hover\\:bg-accent-cool-light:hover{background-color:#97d4ea}.bg-accent-cool-lighter{background-color:#e1f3f8}.hover\\:bg-accent-cool-lighter:hover{background-color:#e1f3f8}.bg-error-lighter{background-color:#f4e3db}.hover\\:bg-error-lighter:hover{background-color:#f4e3db}.bg-error-light{background-color:#f39268}.hover\\:bg-error-light:hover{background-color:#f39268}.bg-error{background-color:#d54309}.hover\\:bg-error:hover{background-color:#d54309}.bg-error-dark{background-color:#b50909}.hover\\:bg-error-dark:hover{background-color:#b50909}.bg-error-darker{background-color:#6f3331}.hover\\:bg-error-darker:hover{background-color:#6f3331}.bg-warning-lighter{background-color:#faf3d1}.hover\\:bg-warning-lighter:hover{background-color:#faf3d1}.bg-warning-light{background-color:#fee685}.hover\\:bg-warning-light:hover{background-color:#fee685}.bg-warning{background-color:#ffbe2e}.hover\\:bg-warning:hover{background-color:#ffbe2e}.bg-warning-dark{background-color:#e5a000}.hover\\:bg-warning-dark:hover{background-color:#e5a000}.bg-warning-darker{background-color:#936f38}.hover\\:bg-warning-darker:hover{background-color:#936f38}.bg-success-lighter{background-color:#ecf3ec}.hover\\:bg-success-lighter:hover{background-color:#ecf3ec}.bg-success-light{background-color:#70e17b}.hover\\:bg-success-light:hover{background-color:#70e17b}.bg-success{background-color:#00a91c}.hover\\:bg-success:hover{background-color:#00a91c}.bg-success-dark{background-color:#008817}.hover\\:bg-success-dark:hover{background-color:#008817}.bg-success-darker{background-color:#216e1f}.hover\\:bg-success-darker:hover{background-color:#216e1f}.bg-info-lighter{background-color:#e7f6f8}.hover\\:bg-info-lighter:hover{background-color:#e7f6f8}.bg-info-light{background-color:#99deea}.hover\\:bg-info-light:hover{background-color:#99deea}.bg-info{background-color:#00bde3}.hover\\:bg-info:hover{background-color:#00bde3}.bg-info-dark{background-color:#009ec1}.hover\\:bg-info-dark:hover{background-color:#009ec1}.bg-info-darker{background-color:#2e6276}.hover\\:bg-info-darker:hover{background-color:#2e6276}.bg-disabled-lighter{background-color:#c9c9c9}.hover\\:bg-disabled-lighter:hover{background-color:#c9c9c9}.bg-disabled-light{background-color:#919191}.hover\\:bg-disabled-light:hover{background-color:#919191}.bg-disabled{background-color:#757575}.hover\\:bg-disabled:hover{background-color:#757575}.bg-disabled-dark{background-color:#454545}.hover\\:bg-disabled-dark:hover{background-color:#454545}.bg-disabled-darker{background-color:#1b1b1b}.hover\\:bg-disabled-darker:hover{background-color:#1b1b1b}.bg-emergency{background-color:#9c3d10}.hover\\:bg-emergency:hover{background-color:#9c3d10}.bg-emergency-dark{background-color:#332d29}.hover\\:bg-emergency-dark:hover{background-color:#332d29}.border-1px{border:1px solid}.hover\\:border-1px:hover{border:1px solid}.border-y-1px{border-top:1px solid;border-bottom:1px solid}.hover\\:border-y-1px:hover{border-top:1px solid;border-bottom:1px solid}.border-x-1px{border-left:1px solid;border-right:1px solid}.hover\\:border-x-1px:hover{border-left:1px solid;border-right:1px solid}.border-top-1px{border-top:1px solid}.hover\\:border-top-1px:hover{border-top:1px solid}.border-right-1px{border-right:1px solid}.hover\\:border-right-1px:hover{border-right:1px solid}.border-bottom-1px{border-bottom:1px solid}.hover\\:border-bottom-1px:hover{border-bottom:1px solid}.border-left-1px{border-left:1px solid}.hover\\:border-left-1px:hover{border-left:1px solid}.border-2px{border:2px solid}.hover\\:border-2px:hover{border:2px solid}.border-y-2px{border-top:2px solid;border-bottom:2px solid}.hover\\:border-y-2px:hover{border-top:2px solid;border-bottom:2px solid}.border-x-2px{border-left:2px solid;border-right:2px solid}.hover\\:border-x-2px:hover{border-left:2px solid;border-right:2px solid}.border-top-2px{border-top:2px solid}.hover\\:border-top-2px:hover{border-top:2px solid}.border-right-2px{border-right:2px solid}.hover\\:border-right-2px:hover{border-right:2px solid}.border-bottom-2px{border-bottom:2px solid}.hover\\:border-bottom-2px:hover{border-bottom:2px solid}.border-left-2px{border-left:2px solid}.hover\\:border-left-2px:hover{border-left:2px solid}.border-05{border:0.25rem solid}.hover\\:border-05:hover{border:0.25rem solid}.border-y-05{border-top:0.25rem solid;border-bottom:0.25rem solid}.hover\\:border-y-05:hover{border-top:0.25rem solid;border-bottom:0.25rem solid}.border-x-05{border-left:0.25rem solid;border-right:0.25rem solid}.hover\\:border-x-05:hover{border-left:0.25rem solid;border-right:0.25rem solid}.border-top-05{border-top:0.25rem solid}.hover\\:border-top-05:hover{border-top:0.25rem solid}.border-right-05{border-right:0.25rem solid}.hover\\:border-right-05:hover{border-right:0.25rem solid}.border-bottom-05{border-bottom:0.25rem solid}.hover\\:border-bottom-05:hover{border-bottom:0.25rem solid}.border-left-05{border-left:0.25rem solid}.hover\\:border-left-05:hover{border-left:0.25rem solid}.border-1{border:0.5rem solid}.hover\\:border-1:hover{border:0.5rem solid}.border-y-1{border-top:0.5rem solid;border-bottom:0.5rem solid}.hover\\:border-y-1:hover{border-top:0.5rem solid;border-bottom:0.5rem solid}.border-x-1{border-left:0.5rem solid;border-right:0.5rem solid}.hover\\:border-x-1:hover{border-left:0.5rem solid;border-right:0.5rem solid}.border-top-1{border-top:0.5rem solid}.hover\\:border-top-1:hover{border-top:0.5rem solid}.border-right-1{border-right:0.5rem solid}.hover\\:border-right-1:hover{border-right:0.5rem solid}.border-bottom-1{border-bottom:0.5rem solid}.hover\\:border-bottom-1:hover{border-bottom:0.5rem solid}.border-left-1{border-left:0.5rem solid}.hover\\:border-left-1:hover{border-left:0.5rem solid}.border-105{border:0.75rem solid}.hover\\:border-105:hover{border:0.75rem solid}.border-y-105{border-top:0.75rem solid;border-bottom:0.75rem solid}.hover\\:border-y-105:hover{border-top:0.75rem solid;border-bottom:0.75rem solid}.border-x-105{border-left:0.75rem solid;border-right:0.75rem solid}.hover\\:border-x-105:hover{border-left:0.75rem solid;border-right:0.75rem solid}.border-top-105{border-top:0.75rem solid}.hover\\:border-top-105:hover{border-top:0.75rem solid}.border-right-105{border-right:0.75rem solid}.hover\\:border-right-105:hover{border-right:0.75rem solid}.border-bottom-105{border-bottom:0.75rem solid}.hover\\:border-bottom-105:hover{border-bottom:0.75rem solid}.border-left-105{border-left:0.75rem solid}.hover\\:border-left-105:hover{border-left:0.75rem solid}.border-2{border:1rem solid}.hover\\:border-2:hover{border:1rem solid}.border-y-2{border-top:1rem solid;border-bottom:1rem solid}.hover\\:border-y-2:hover{border-top:1rem solid;border-bottom:1rem solid}.border-x-2{border-left:1rem solid;border-right:1rem solid}.hover\\:border-x-2:hover{border-left:1rem solid;border-right:1rem solid}.border-top-2{border-top:1rem solid}.hover\\:border-top-2:hover{border-top:1rem solid}.border-right-2{border-right:1rem solid}.hover\\:border-right-2:hover{border-right:1rem solid}.border-bottom-2{border-bottom:1rem solid}.hover\\:border-bottom-2:hover{border-bottom:1rem solid}.border-left-2{border-left:1rem solid}.hover\\:border-left-2:hover{border-left:1rem solid}.border-205{border:1.25rem solid}.hover\\:border-205:hover{border:1.25rem solid}.border-y-205{border-top:1.25rem solid;border-bottom:1.25rem solid}.hover\\:border-y-205:hover{border-top:1.25rem solid;border-bottom:1.25rem solid}.border-x-205{border-left:1.25rem solid;border-right:1.25rem solid}.hover\\:border-x-205:hover{border-left:1.25rem solid;border-right:1.25rem solid}.border-top-205{border-top:1.25rem solid}.hover\\:border-top-205:hover{border-top:1.25rem solid}.border-right-205{border-right:1.25rem solid}.hover\\:border-right-205:hover{border-right:1.25rem solid}.border-bottom-205{border-bottom:1.25rem solid}.hover\\:border-bottom-205:hover{border-bottom:1.25rem solid}.border-left-205{border-left:1.25rem solid}.hover\\:border-left-205:hover{border-left:1.25rem solid}.border-3{border:1.5rem solid}.hover\\:border-3:hover{border:1.5rem solid}.border-y-3{border-top:1.5rem solid;border-bottom:1.5rem solid}.hover\\:border-y-3:hover{border-top:1.5rem solid;border-bottom:1.5rem solid}.border-x-3{border-left:1.5rem solid;border-right:1.5rem solid}.hover\\:border-x-3:hover{border-left:1.5rem solid;border-right:1.5rem solid}.border-top-3{border-top:1.5rem solid}.hover\\:border-top-3:hover{border-top:1.5rem solid}.border-right-3{border-right:1.5rem solid}.hover\\:border-right-3:hover{border-right:1.5rem solid}.border-bottom-3{border-bottom:1.5rem solid}.hover\\:border-bottom-3:hover{border-bottom:1.5rem solid}.border-left-3{border-left:1.5rem solid}.hover\\:border-left-3:hover{border-left:1.5rem solid}.border-0{border:0 solid}.hover\\:border-0:hover{border:0 solid}.border-y-0{border-top:0 solid;border-bottom:0 solid}.hover\\:border-y-0:hover{border-top:0 solid;border-bottom:0 solid}.border-x-0{border-left:0 solid;border-right:0 solid}.hover\\:border-x-0:hover{border-left:0 solid;border-right:0 solid}.border-top-0{border-top:0 solid}.hover\\:border-top-0:hover{border-top:0 solid}.border-right-0{border-right:0 solid}.hover\\:border-right-0:hover{border-right:0 solid}.border-bottom-0{border-bottom:0 solid}.hover\\:border-bottom-0:hover{border-bottom:0 solid}.border-left-0{border-left:0 solid}.hover\\:border-left-0:hover{border-left:0 solid}.border{border:1px solid}.hover\\:border:hover{border:1px solid}.border-y{border-top:1px solid;border-bottom:1px solid}.hover\\:border-y:hover{border-top:1px solid;border-bottom:1px solid}.border-x{border-left:1px solid;border-right:1px solid}.hover\\:border-x:hover{border-left:1px solid;border-right:1px solid}.border-top{border-top:1px solid}.hover\\:border-top:hover{border-top:1px solid}.border-right{border-right:1px solid}.hover\\:border-right:hover{border-right:1px solid}.border-bottom{border-bottom:1px solid}.hover\\:border-bottom:hover{border-bottom:1px solid}.border-left{border-left:1px solid}.hover\\:border-left:hover{border-left:1px solid}.border-transparent{border-color:transparent}.hover\\:border-transparent:hover{border-color:transparent}.border-black{border-color:black}.hover\\:border-black:hover{border-color:black}.border-white{border-color:white}.hover\\:border-white:hover{border-color:white}.border-red{border-color:#e52207}.hover\\:border-red:hover{border-color:#e52207}.border-orange{border-color:#e66f0e}.hover\\:border-orange:hover{border-color:#e66f0e}.border-gold{border-color:#ffbe2e}.hover\\:border-gold:hover{border-color:#ffbe2e}.border-yellow{border-color:#fee685}.hover\\:border-yellow:hover{border-color:#fee685}.border-green{border-color:#538200}.hover\\:border-green:hover{border-color:#538200}.border-mint{border-color:#04c585}.hover\\:border-mint:hover{border-color:#04c585}.border-cyan{border-color:#009ec1}.hover\\:border-cyan:hover{border-color:#009ec1}.border-blue{border-color:#0076d6}.hover\\:border-blue:hover{border-color:#0076d6}.border-indigo{border-color:#676cc8}.hover\\:border-indigo:hover{border-color:#676cc8}.border-violet{border-color:#8168b3}.hover\\:border-violet:hover{border-color:#8168b3}.border-magenta{border-color:#d72d79}.hover\\:border-magenta:hover{border-color:#d72d79}.border-gray-5{border-color:#f0f0f0}.hover\\:border-gray-5:hover{border-color:#f0f0f0}.border-gray-10{border-color:#e6e6e6}.hover\\:border-gray-10:hover{border-color:#e6e6e6}.border-gray-30{border-color:#adadad}.hover\\:border-gray-30:hover{border-color:#adadad}.border-gray-50{border-color:#757575}.hover\\:border-gray-50:hover{border-color:#757575}.border-gray-70{border-color:#454545}.hover\\:border-gray-70:hover{border-color:#454545}.border-gray-90{border-color:#1b1b1b}.hover\\:border-gray-90:hover{border-color:#1b1b1b}.border-base-lightest{border-color:#f0f0f0}.hover\\:border-base-lightest:hover{border-color:#f0f0f0}.border-base-lighter{border-color:#dfe1e2}.hover\\:border-base-lighter:hover{border-color:#dfe1e2}.border-base-light{border-color:#a9aeb1}.hover\\:border-base-light:hover{border-color:#a9aeb1}.border-base{border-color:#71767a}.hover\\:border-base:hover{border-color:#71767a}.border-base-dark{border-color:#565c65}.hover\\:border-base-dark:hover{border-color:#565c65}.border-base-darker{border-color:#3d4551}.hover\\:border-base-darker:hover{border-color:#3d4551}.border-base-darkest{border-color:#1b1b1b}.hover\\:border-base-darkest:hover{border-color:#1b1b1b}.border-ink{border-color:#1b1b1b}.hover\\:border-ink:hover{border-color:#1b1b1b}.border-primary-lighter{border-color:#d9e8f6}.hover\\:border-primary-lighter:hover{border-color:#d9e8f6}.border-primary-light{border-color:#73b3e7}.hover\\:border-primary-light:hover{border-color:#73b3e7}.border-primary{border-color:#005ea2}.hover\\:border-primary:hover{border-color:#005ea2}.border-primary-vivid{border-color:#0050d8}.hover\\:border-primary-vivid:hover{border-color:#0050d8}.border-primary-dark{border-color:#1a4480}.hover\\:border-primary-dark:hover{border-color:#1a4480}.border-primary-darker{border-color:#162e51}.hover\\:border-primary-darker:hover{border-color:#162e51}.border-secondary-lighter{border-color:#f3e1e4}.hover\\:border-secondary-lighter:hover{border-color:#f3e1e4}.border-secondary-light{border-color:#f2938c}.hover\\:border-secondary-light:hover{border-color:#f2938c}.border-secondary{border-color:#d83933}.hover\\:border-secondary:hover{border-color:#d83933}.border-secondary-vivid{border-color:#e41d3d}.hover\\:border-secondary-vivid:hover{border-color:#e41d3d}.border-secondary-dark{border-color:#b50909}.hover\\:border-secondary-dark:hover{border-color:#b50909}.border-secondary-darker{border-color:#8b0a03}.hover\\:border-secondary-darker:hover{border-color:#8b0a03}.border-accent-warm-darker{border-color:#775540}.hover\\:border-accent-warm-darker:hover{border-color:#775540}.border-accent-warm-dark{border-color:#c05600}.hover\\:border-accent-warm-dark:hover{border-color:#c05600}.border-accent-warm{border-color:#fa9441}.hover\\:border-accent-warm:hover{border-color:#fa9441}.border-accent-warm-light{border-color:#ffbc78}.hover\\:border-accent-warm-light:hover{border-color:#ffbc78}.border-accent-warm-lighter{border-color:#f2e4d4}.hover\\:border-accent-warm-lighter:hover{border-color:#f2e4d4}.border-accent-cool-darker{border-color:#07648d}.hover\\:border-accent-cool-darker:hover{border-color:#07648d}.border-accent-cool-dark{border-color:#28a0cb}.hover\\:border-accent-cool-dark:hover{border-color:#28a0cb}.border-accent-cool{border-color:#00bde3}.hover\\:border-accent-cool:hover{border-color:#00bde3}.border-accent-cool-light{border-color:#97d4ea}.hover\\:border-accent-cool-light:hover{border-color:#97d4ea}.border-accent-cool-lighter{border-color:#e1f3f8}.hover\\:border-accent-cool-lighter:hover{border-color:#e1f3f8}.border-error-lighter{border-color:#f4e3db}.hover\\:border-error-lighter:hover{border-color:#f4e3db}.border-error-light{border-color:#f39268}.hover\\:border-error-light:hover{border-color:#f39268}.border-error{border-color:#d54309}.hover\\:border-error:hover{border-color:#d54309}.border-error-dark{border-color:#b50909}.hover\\:border-error-dark:hover{border-color:#b50909}.border-error-darker{border-color:#6f3331}.hover\\:border-error-darker:hover{border-color:#6f3331}.border-warning-lighter{border-color:#faf3d1}.hover\\:border-warning-lighter:hover{border-color:#faf3d1}.border-warning-light{border-color:#fee685}.hover\\:border-warning-light:hover{border-color:#fee685}.border-warning{border-color:#ffbe2e}.hover\\:border-warning:hover{border-color:#ffbe2e}.border-warning-dark{border-color:#e5a000}.hover\\:border-warning-dark:hover{border-color:#e5a000}.border-warning-darker{border-color:#936f38}.hover\\:border-warning-darker:hover{border-color:#936f38}.border-success-lighter{border-color:#ecf3ec}.hover\\:border-success-lighter:hover{border-color:#ecf3ec}.border-success-light{border-color:#70e17b}.hover\\:border-success-light:hover{border-color:#70e17b}.border-success{border-color:#00a91c}.hover\\:border-success:hover{border-color:#00a91c}.border-success-dark{border-color:#008817}.hover\\:border-success-dark:hover{border-color:#008817}.border-success-darker{border-color:#216e1f}.hover\\:border-success-darker:hover{border-color:#216e1f}.border-info-lighter{border-color:#e7f6f8}.hover\\:border-info-lighter:hover{border-color:#e7f6f8}.border-info-light{border-color:#99deea}.hover\\:border-info-light:hover{border-color:#99deea}.border-info{border-color:#00bde3}.hover\\:border-info:hover{border-color:#00bde3}.border-info-dark{border-color:#009ec1}.hover\\:border-info-dark:hover{border-color:#009ec1}.border-info-darker{border-color:#2e6276}.hover\\:border-info-darker:hover{border-color:#2e6276}.border-disabled-lighter{border-color:#c9c9c9}.hover\\:border-disabled-lighter:hover{border-color:#c9c9c9}.border-disabled-light{border-color:#919191}.hover\\:border-disabled-light:hover{border-color:#919191}.border-disabled{border-color:#757575}.hover\\:border-disabled:hover{border-color:#757575}.border-disabled-dark{border-color:#454545}.hover\\:border-disabled-dark:hover{border-color:#454545}.border-disabled-darker{border-color:#1b1b1b}.hover\\:border-disabled-darker:hover{border-color:#1b1b1b}.border-emergency{border-color:#9c3d10}.hover\\:border-emergency:hover{border-color:#9c3d10}.border-emergency-dark{border-color:#332d29}.hover\\:border-emergency-dark:hover{border-color:#332d29}.radius-0{border-radius:0}.radius-top-0{border-top-left-radius:0;border-top-right-radius:0}.radius-right-0{border-top-right-radius:0;border-bottom-right-radius:0}.radius-bottom-0{border-bottom-left-radius:0;border-bottom-right-radius:0}.radius-left-0{border-top-left-radius:0;border-bottom-left-radius:0}.radius-sm{border-radius:2px}.radius-top-sm{border-top-left-radius:2px;border-top-right-radius:2px}.radius-right-sm{border-top-right-radius:2px;border-bottom-right-radius:2px}.radius-bottom-sm{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.radius-left-sm{border-top-left-radius:2px;border-bottom-left-radius:2px}.radius-md{border-radius:0.25rem}.radius-top-md{border-top-left-radius:0.25rem;border-top-right-radius:0.25rem}.radius-right-md{border-top-right-radius:0.25rem;border-bottom-right-radius:0.25rem}.radius-bottom-md{border-bottom-left-radius:0.25rem;border-bottom-right-radius:0.25rem}.radius-left-md{border-top-left-radius:0.25rem;border-bottom-left-radius:0.25rem}.radius-lg{border-radius:0.5rem}.radius-top-lg{border-top-left-radius:0.5rem;border-top-right-radius:0.5rem}.radius-right-lg{border-top-right-radius:0.5rem;border-bottom-right-radius:0.5rem}.radius-bottom-lg{border-bottom-left-radius:0.5rem;border-bottom-right-radius:0.5rem}.radius-left-lg{border-top-left-radius:0.5rem;border-bottom-left-radius:0.5rem}.radius-pill{border-radius:99rem}.radius-top-pill{border-top-left-radius:99rem;border-top-right-radius:99rem}.radius-right-pill{border-top-right-radius:99rem;border-bottom-right-radius:99rem}.radius-bottom-pill{border-bottom-left-radius:99rem;border-bottom-right-radius:99rem}.radius-left-pill{border-top-left-radius:99rem;border-bottom-left-radius:99rem}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-solid{border-style:solid}.border-width-1px{border-width:1px}.border-y-width-1px{border-top-width:1px;border-bottom-width:1px}.border-x-width-1px{border-left-width:1px;border-right-width:1px}.border-top-width-1px{border-top-width:1px}.border-right-width-1px{border-right-width:1px}.border-bottom-width-1px{border-bottom-width:1px}.border-left-width-1px{border-left-width:1px}.border-width-2px{border-width:2px}.border-y-width-2px{border-top-width:2px;border-bottom-width:2px}.border-x-width-2px{border-left-width:2px;border-right-width:2px}.border-top-width-2px{border-top-width:2px}.border-right-width-2px{border-right-width:2px}.border-bottom-width-2px{border-bottom-width:2px}.border-left-width-2px{border-left-width:2px}.border-width-05{border-width:0.25rem}.border-y-width-05{border-top-width:0.25rem;border-bottom-width:0.25rem}.border-x-width-05{border-left-width:0.25rem;border-right-width:0.25rem}.border-top-width-05{border-top-width:0.25rem}.border-right-width-05{border-right-width:0.25rem}.border-bottom-width-05{border-bottom-width:0.25rem}.border-left-width-05{border-left-width:0.25rem}.border-width-1{border-width:0.5rem}.border-y-width-1{border-top-width:0.5rem;border-bottom-width:0.5rem}.border-x-width-1{border-left-width:0.5rem;border-right-width:0.5rem}.border-top-width-1{border-top-width:0.5rem}.border-right-width-1{border-right-width:0.5rem}.border-bottom-width-1{border-bottom-width:0.5rem}.border-left-width-1{border-left-width:0.5rem}.border-width-105{border-width:0.75rem}.border-y-width-105{border-top-width:0.75rem;border-bottom-width:0.75rem}.border-x-width-105{border-left-width:0.75rem;border-right-width:0.75rem}.border-top-width-105{border-top-width:0.75rem}.border-right-width-105{border-right-width:0.75rem}.border-bottom-width-105{border-bottom-width:0.75rem}.border-left-width-105{border-left-width:0.75rem}.border-width-2{border-width:1rem}.border-y-width-2{border-top-width:1rem;border-bottom-width:1rem}.border-x-width-2{border-left-width:1rem;border-right-width:1rem}.border-top-width-2{border-top-width:1rem}.border-right-width-2{border-right-width:1rem}.border-bottom-width-2{border-bottom-width:1rem}.border-left-width-2{border-left-width:1rem}.border-width-205{border-width:1.25rem}.border-y-width-205{border-top-width:1.25rem;border-bottom-width:1.25rem}.border-x-width-205{border-left-width:1.25rem;border-right-width:1.25rem}.border-top-width-205{border-top-width:1.25rem}.border-right-width-205{border-right-width:1.25rem}.border-bottom-width-205{border-bottom-width:1.25rem}.border-left-width-205{border-left-width:1.25rem}.border-width-3{border-width:1.5rem}.border-y-width-3{border-top-width:1.5rem;border-bottom-width:1.5rem}.border-x-width-3{border-left-width:1.5rem;border-right-width:1.5rem}.border-top-width-3{border-top-width:1.5rem}.border-right-width-3{border-right-width:1.5rem}.border-bottom-width-3{border-bottom-width:1.5rem}.border-left-width-3{border-left-width:1.5rem}.border-width-0{border-width:0}.border-y-width-0{border-top-width:0;border-bottom-width:0}.border-x-width-0{border-left-width:0;border-right-width:0}.border-top-width-0{border-top-width:0}.border-right-width-0{border-right-width:0}.border-bottom-width-0{border-bottom-width:0}.border-left-width-0{border-left-width:0}.bottom-1px{bottom:1px}.bottom-2px{bottom:2px}.bottom-05{bottom:0.25rem}.bottom-1{bottom:0.5rem}.bottom-105{bottom:0.75rem}.bottom-2{bottom:1rem}.bottom-205{bottom:1.25rem}.bottom-3{bottom:1.5rem}.bottom-neg-1px{bottom:-1px}.bottom-neg-2px{bottom:-2px}.bottom-neg-05{bottom:-0.25rem}.bottom-neg-1{bottom:-0.5rem}.bottom-neg-105{bottom:-0.75rem}.bottom-neg-2{bottom:-1rem}.bottom-neg-205{bottom:-1.25rem}.bottom-neg-3{bottom:-1.5rem}.bottom-0{bottom:0}.bottom-auto{bottom:auto}.bottom-full{bottom:100%}.shadow-none{box-shadow:none}.hover\\:shadow-none:hover{box-shadow:none}.shadow-1{box-shadow:0 1px 0.25rem 0 rgba(0, 0, 0, 0.1)}.hover\\:shadow-1:hover{box-shadow:0 1px 0.25rem 0 rgba(0, 0, 0, 0.1)}.shadow-2{box-shadow:0 0.25rem 0.5rem 0 rgba(0, 0, 0, 0.1)}.hover\\:shadow-2:hover{box-shadow:0 0.25rem 0.5rem 0 rgba(0, 0, 0, 0.1)}.shadow-3{box-shadow:0 0.5rem 1rem 0 rgba(0, 0, 0, 0.1)}.hover\\:shadow-3:hover{box-shadow:0 0.5rem 1rem 0 rgba(0, 0, 0, 0.1)}.shadow-4{box-shadow:0 0.75rem 1.5rem 0 rgba(0, 0, 0, 0.1)}.hover\\:shadow-4:hover{box-shadow:0 0.75rem 1.5rem 0 rgba(0, 0, 0, 0.1)}.shadow-5{box-shadow:0 1rem 2rem 0 rgba(0, 0, 0, 0.1)}.hover\\:shadow-5:hover{box-shadow:0 1rem 2rem 0 rgba(0, 0, 0, 0.1)}.circle-1px{height:1px;width:1px;border-radius:50%}.circle-2px{height:2px;width:2px;border-radius:50%}.circle-05{height:0.25rem;width:0.25rem;border-radius:50%}.circle-1{height:0.5rem;width:0.5rem;border-radius:50%}.circle-105{height:0.75rem;width:0.75rem;border-radius:50%}.circle-2{height:1rem;width:1rem;border-radius:50%}.circle-205{height:1.25rem;width:1.25rem;border-radius:50%}.circle-3{height:1.5rem;width:1.5rem;border-radius:50%}.circle-4{height:2rem;width:2rem;border-radius:50%}.circle-5{height:2.5rem;width:2.5rem;border-radius:50%}.circle-6{height:3rem;width:3rem;border-radius:50%}.circle-7{height:3.5rem;width:3.5rem;border-radius:50%}.circle-8{height:4rem;width:4rem;border-radius:50%}.circle-9{height:4.5rem;width:4.5rem;border-radius:50%}.circle-10{height:5rem;width:5rem;border-radius:50%}.circle-15{height:7.5rem;width:7.5rem;border-radius:50%}.circle-card{height:10rem;width:10rem;border-radius:50%}.circle-card-lg{height:15rem;width:15rem;border-radius:50%}.circle-mobile{height:20rem;width:20rem;border-radius:50%}.clearfix::after{content:\"\";display:block;clear:both}.text-transparent{color:transparent}.hover\\:text-transparent:hover{color:transparent}.text-black{color:black}.hover\\:text-black:hover{color:black}.text-white{color:white}.hover\\:text-white:hover{color:white}.text-red{color:#e52207}.hover\\:text-red:hover{color:#e52207}.text-orange{color:#e66f0e}.hover\\:text-orange:hover{color:#e66f0e}.text-gold{color:#ffbe2e}.hover\\:text-gold:hover{color:#ffbe2e}.text-yellow{color:#fee685}.hover\\:text-yellow:hover{color:#fee685}.text-green{color:#538200}.hover\\:text-green:hover{color:#538200}.text-mint{color:#04c585}.hover\\:text-mint:hover{color:#04c585}.text-cyan{color:#009ec1}.hover\\:text-cyan:hover{color:#009ec1}.text-blue{color:#0076d6}.hover\\:text-blue:hover{color:#0076d6}.text-indigo{color:#676cc8}.hover\\:text-indigo:hover{color:#676cc8}.text-violet{color:#8168b3}.hover\\:text-violet:hover{color:#8168b3}.text-magenta{color:#d72d79}.hover\\:text-magenta:hover{color:#d72d79}.text-gray-5{color:#f0f0f0}.hover\\:text-gray-5:hover{color:#f0f0f0}.text-gray-10{color:#e6e6e6}.hover\\:text-gray-10:hover{color:#e6e6e6}.text-gray-30{color:#adadad}.hover\\:text-gray-30:hover{color:#adadad}.text-gray-50{color:#757575}.hover\\:text-gray-50:hover{color:#757575}.text-gray-70{color:#454545}.hover\\:text-gray-70:hover{color:#454545}.text-gray-90{color:#1b1b1b}.hover\\:text-gray-90:hover{color:#1b1b1b}.text-base-lightest{color:#f0f0f0}.hover\\:text-base-lightest:hover{color:#f0f0f0}.text-base-lighter{color:#dfe1e2}.hover\\:text-base-lighter:hover{color:#dfe1e2}.text-base-light{color:#a9aeb1}.hover\\:text-base-light:hover{color:#a9aeb1}.text-base{color:#71767a}.hover\\:text-base:hover{color:#71767a}.text-base-dark{color:#565c65}.hover\\:text-base-dark:hover{color:#565c65}.text-base-darker{color:#3d4551}.hover\\:text-base-darker:hover{color:#3d4551}.text-base-darkest{color:#1b1b1b}.hover\\:text-base-darkest:hover{color:#1b1b1b}.text-ink{color:#1b1b1b}.hover\\:text-ink:hover{color:#1b1b1b}.text-primary-lighter{color:#d9e8f6}.hover\\:text-primary-lighter:hover{color:#d9e8f6}.text-primary-light{color:#73b3e7}.hover\\:text-primary-light:hover{color:#73b3e7}.text-primary{color:#005ea2}.hover\\:text-primary:hover{color:#005ea2}.text-primary-vivid{color:#0050d8}.hover\\:text-primary-vivid:hover{color:#0050d8}.text-primary-dark{color:#1a4480}.hover\\:text-primary-dark:hover{color:#1a4480}.text-primary-darker{color:#162e51}.hover\\:text-primary-darker:hover{color:#162e51}.text-secondary-lighter{color:#f3e1e4}.hover\\:text-secondary-lighter:hover{color:#f3e1e4}.text-secondary-light{color:#f2938c}.hover\\:text-secondary-light:hover{color:#f2938c}.text-secondary{color:#d83933}.hover\\:text-secondary:hover{color:#d83933}.text-secondary-vivid{color:#e41d3d}.hover\\:text-secondary-vivid:hover{color:#e41d3d}.text-secondary-dark{color:#b50909}.hover\\:text-secondary-dark:hover{color:#b50909}.text-secondary-darker{color:#8b0a03}.hover\\:text-secondary-darker:hover{color:#8b0a03}.text-accent-warm-darker{color:#775540}.hover\\:text-accent-warm-darker:hover{color:#775540}.text-accent-warm-dark{color:#c05600}.hover\\:text-accent-warm-dark:hover{color:#c05600}.text-accent-warm{color:#fa9441}.hover\\:text-accent-warm:hover{color:#fa9441}.text-accent-warm-light{color:#ffbc78}.hover\\:text-accent-warm-light:hover{color:#ffbc78}.text-accent-warm-lighter{color:#f2e4d4}.hover\\:text-accent-warm-lighter:hover{color:#f2e4d4}.text-accent-cool-darker{color:#07648d}.hover\\:text-accent-cool-darker:hover{color:#07648d}.text-accent-cool-dark{color:#28a0cb}.hover\\:text-accent-cool-dark:hover{color:#28a0cb}.text-accent-cool{color:#00bde3}.hover\\:text-accent-cool:hover{color:#00bde3}.text-accent-cool-light{color:#97d4ea}.hover\\:text-accent-cool-light:hover{color:#97d4ea}.text-accent-cool-lighter{color:#e1f3f8}.hover\\:text-accent-cool-lighter:hover{color:#e1f3f8}.text-error-lighter{color:#f4e3db}.hover\\:text-error-lighter:hover{color:#f4e3db}.text-error-light{color:#f39268}.hover\\:text-error-light:hover{color:#f39268}.text-error{color:#d54309}.hover\\:text-error:hover{color:#d54309}.text-error-dark{color:#b50909}.hover\\:text-error-dark:hover{color:#b50909}.text-error-darker{color:#6f3331}.hover\\:text-error-darker:hover{color:#6f3331}.text-warning-lighter{color:#faf3d1}.hover\\:text-warning-lighter:hover{color:#faf3d1}.text-warning-light{color:#fee685}.hover\\:text-warning-light:hover{color:#fee685}.text-warning{color:#ffbe2e}.hover\\:text-warning:hover{color:#ffbe2e}.text-warning-dark{color:#e5a000}.hover\\:text-warning-dark:hover{color:#e5a000}.text-warning-darker{color:#936f38}.hover\\:text-warning-darker:hover{color:#936f38}.text-success-lighter{color:#ecf3ec}.hover\\:text-success-lighter:hover{color:#ecf3ec}.text-success-light{color:#70e17b}.hover\\:text-success-light:hover{color:#70e17b}.text-success{color:#00a91c}.hover\\:text-success:hover{color:#00a91c}.text-success-dark{color:#008817}.hover\\:text-success-dark:hover{color:#008817}.text-success-darker{color:#216e1f}.hover\\:text-success-darker:hover{color:#216e1f}.text-info-lighter{color:#e7f6f8}.hover\\:text-info-lighter:hover{color:#e7f6f8}.text-info-light{color:#99deea}.hover\\:text-info-light:hover{color:#99deea}.text-info{color:#00bde3}.hover\\:text-info:hover{color:#00bde3}.text-info-dark{color:#009ec1}.hover\\:text-info-dark:hover{color:#009ec1}.text-info-darker{color:#2e6276}.hover\\:text-info-darker:hover{color:#2e6276}.text-disabled-lighter{color:#c9c9c9}.hover\\:text-disabled-lighter:hover{color:#c9c9c9}.text-disabled-light{color:#919191}.hover\\:text-disabled-light:hover{color:#919191}.text-disabled{color:#757575}.hover\\:text-disabled:hover{color:#757575}.text-disabled-dark{color:#454545}.hover\\:text-disabled-dark:hover{color:#454545}.text-disabled-darker{color:#1b1b1b}.hover\\:text-disabled-darker:hover{color:#1b1b1b}.text-emergency{color:#9c3d10}.hover\\:text-emergency:hover{color:#9c3d10}.text-emergency-dark{color:#332d29}.hover\\:text-emergency-dark:hover{color:#332d29}.cursor-auto{cursor:auto}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.display-block{display:block}.display-flex{display:flex}.display-none{display:none}.display-inline{display:inline}.display-inline-block{display:inline-block}.display-inline-flex{display:inline-flex}.display-table{display:table}.display-table-cell{display:table-cell}.display-table-row{display:table-row}.flex-1{flex:1 1 0%}.flex-2{flex:2 1 0%}.flex-3{flex:3 1 0%}.flex-4{flex:4 1 0%}.flex-5{flex:5 1 0%}.flex-6{flex:6 1 0%}.flex-7{flex:7 1 0%}.flex-8{flex:8 1 0%}.flex-9{flex:9 1 0%}.flex-10{flex:10 1 0%}.flex-11{flex:11 1 0%}.flex-12{flex:12 1 0%}.flex-fill{flex:1 1 0%}.flex-auto{flex:0 1 auto}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-no-wrap{flex-wrap:nowrap}.float-left{float:left}.float-none{float:none}.float-right{float:right}.font-mono-3xs{font-size:0.77rem}.font-mono-2xs{font-size:0.83rem}.font-mono-xs{font-size:0.89rem}.font-mono-sm{font-size:0.95rem}.font-mono-md{font-size:1.01rem}.font-mono-lg{font-size:1.31rem}.font-mono-xl{font-size:1.91rem}.font-mono-2xl{font-size:2.38rem}.font-mono-3xl{font-size:2.86rem}.font-sans-3xs{font-size:0.87rem}.font-sans-2xs{font-size:0.93rem}.font-sans-xs{font-size:1rem}.font-sans-sm{font-size:1.06rem}.font-sans-md{font-size:1.13rem}.font-sans-lg{font-size:1.46rem}.font-sans-xl{font-size:2.13rem}.font-sans-2xl{font-size:2.66rem}.font-sans-3xl{font-size:3.19rem}.font-serif-3xs{font-size:0.79rem}.font-serif-2xs{font-size:0.85rem}.font-serif-xs{font-size:0.91rem}.font-serif-sm{font-size:0.98rem}.font-serif-md{font-size:1.04rem}.font-serif-lg{font-size:1.34rem}.font-serif-xl{font-size:1.95rem}.font-serif-2xl{font-size:2.44rem}.font-serif-3xl{font-size:2.93rem}.font-heading-3xs{font-size:0.79rem}.font-heading-2xs{font-size:0.85rem}.font-heading-xs{font-size:0.91rem}.font-heading-sm{font-size:0.98rem}.font-heading-md{font-size:1.04rem}.font-heading-lg{font-size:1.34rem}.font-heading-xl{font-size:1.95rem}.font-heading-2xl{font-size:2.44rem}.font-heading-3xl{font-size:2.93rem}.font-body-3xs{font-size:0.87rem}.font-body-2xs{font-size:0.93rem}.font-body-xs{font-size:1rem}.font-body-sm{font-size:1.06rem}.font-body-md{font-size:1.13rem}.font-body-lg{font-size:1.46rem}.font-body-xl{font-size:2.13rem}.font-body-2xl{font-size:2.66rem}.font-body-3xl{font-size:3.19rem}.font-code-3xs{font-size:0.77rem}.font-code-2xs{font-size:0.83rem}.font-code-xs{font-size:0.89rem}.font-code-sm{font-size:0.95rem}.font-code-md{font-size:1.01rem}.font-code-lg{font-size:1.31rem}.font-code-xl{font-size:1.91rem}.font-code-2xl{font-size:2.38rem}.font-code-3xl{font-size:2.86rem}.font-alt-3xs{font-size:0.79rem}.font-alt-2xs{font-size:0.85rem}.font-alt-xs{font-size:0.91rem}.font-alt-sm{font-size:0.98rem}.font-alt-md{font-size:1.04rem}.font-alt-lg{font-size:1.34rem}.font-alt-xl{font-size:1.95rem}.font-alt-2xl{font-size:2.44rem}.font-alt-3xl{font-size:2.93rem}.font-ui-3xs{font-size:0.87rem}.font-ui-2xs{font-size:0.93rem}.font-ui-xs{font-size:1rem}.font-ui-sm{font-size:1.06rem}.font-ui-md{font-size:1.13rem}.font-ui-lg{font-size:1.46rem}.font-ui-xl{font-size:2.13rem}.font-ui-2xl{font-size:2.66rem}.font-ui-3xl{font-size:3.19rem}.font-family-mono{font-family:Roboto Mono Web, Bitstream Vera Sans Mono, Consolas, Courier, monospace}.font-family-sans{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif}.font-family-serif{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif}.font-family-ui{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif}.font-family-heading{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif}.font-family-body{font-family:Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif}.font-family-code{font-family:Roboto Mono Web, Bitstream Vera Sans Mono, Consolas, Courier, monospace}.font-family-alt{font-family:Merriweather Web, Georgia, Cambria, Times New Roman, Times, serif}.text-tabular{font-feature-settings:\"tnum\" 1, \"kern\" 1}.text-no-tabular{font-feature-settings:\"kern\" 1}.text-italic{font-style:italic}.text-no-italic{font-style:normal}.text-light{font-weight:300}.text-normal{font-weight:normal}.text-bold{font-weight:700}.height-1px{height:1px}.height-2px{height:2px}.height-05{height:0.25rem}.height-1{height:0.5rem}.height-105{height:0.75rem}.height-2{height:1rem}.height-205{height:1.25rem}.height-3{height:1.5rem}.height-4{height:2rem}.height-5{height:2.5rem}.height-6{height:3rem}.height-7{height:3.5rem}.height-8{height:4rem}.height-9{height:4.5rem}.height-10{height:5rem}.height-15{height:7.5rem}.height-card{height:10rem}.height-card-lg{height:15rem}.height-mobile{height:20rem}.height-0{height:0}.height-auto{height:auto}.height-full{height:100%}.height-viewport{height:100vh}.flex-justify-center{justify-content:center}.flex-justify-start{justify-content:flex-start}.flex-justify-end{justify-content:flex-end}.flex-justify{justify-content:space-between}.left-1px{left:1px}.left-2px{left:2px}.left-05{left:0.25rem}.left-1{left:0.5rem}.left-105{left:0.75rem}.left-2{left:1rem}.left-205{left:1.25rem}.left-3{left:1.5rem}.left-neg-1px{left:-1px}.left-neg-2px{left:-2px}.left-neg-05{left:-0.25rem}.left-neg-1{left:-0.5rem}.left-neg-105{left:-0.75rem}.left-neg-2{left:-1rem}.left-neg-205{left:-1.25rem}.left-neg-3{left:-1.5rem}.left-0{left:0}.left-auto{left:auto}.left-full{left:100%}.text-ls-auto{letter-spacing:initial}.text-ls-neg-3{letter-spacing:-0.03em}.text-ls-neg-2{letter-spacing:-0.02em}.text-ls-neg-1{letter-spacing:-0.01em}.text-ls-1{letter-spacing:0.025em}.text-ls-2{letter-spacing:0.1em}.text-ls-3{letter-spacing:0.15em}.line-height-sans-1{line-height:0.9}.line-height-sans-2{line-height:1.1}.line-height-sans-3{line-height:1.3}.line-height-sans-4{line-height:1.4}.line-height-sans-5{line-height:1.5}.line-height-sans-6{line-height:1.6}.line-height-serif-1{line-height:1}.line-height-serif-2{line-height:1.2}.line-height-serif-3{line-height:1.4}.line-height-serif-4{line-height:1.5}.line-height-serif-5{line-height:1.7}.line-height-serif-6{line-height:1.8}.line-height-mono-1{line-height:1}.line-height-mono-2{line-height:1.3}.line-height-mono-3{line-height:1.4}.line-height-mono-4{line-height:1.6}.line-height-mono-5{line-height:1.7}.line-height-mono-6{line-height:1.8}.line-height-heading-1{line-height:1}.line-height-heading-2{line-height:1.2}.line-height-heading-3{line-height:1.4}.line-height-heading-4{line-height:1.5}.line-height-heading-5{line-height:1.7}.line-height-heading-6{line-height:1.8}.line-height-ui-1{line-height:0.9}.line-height-ui-2{line-height:1.1}.line-height-ui-3{line-height:1.3}.line-height-ui-4{line-height:1.4}.line-height-ui-5{line-height:1.5}.line-height-ui-6{line-height:1.6}.line-height-body-1{line-height:0.9}.line-height-body-2{line-height:1.1}.line-height-body-3{line-height:1.3}.line-height-body-4{line-height:1.4}.line-height-body-5{line-height:1.5}.line-height-body-6{line-height:1.6}.line-height-code-1{line-height:1}.line-height-code-2{line-height:1.3}.line-height-code-3{line-height:1.4}.line-height-code-4{line-height:1.6}.line-height-code-5{line-height:1.7}.line-height-code-6{line-height:1.8}.line-height-alt-1{line-height:1}.line-height-alt-2{line-height:1.2}.line-height-alt-3{line-height:1.4}.line-height-alt-4{line-height:1.5}.line-height-alt-5{line-height:1.7}.line-height-alt-6{line-height:1.8}.margin-neg-1px{margin:-1px}.margin-neg-2px{margin:-2px}.margin-neg-05{margin:-0.25rem}.margin-neg-1{margin:-0.5rem}.margin-neg-105{margin:-0.75rem}.margin-neg-2{margin:-1rem}.margin-neg-205{margin:-1.25rem}.margin-neg-3{margin:-1.5rem}.margin-1px{margin:1px}.margin-2px{margin:2px}.margin-05{margin:0.25rem}.margin-1{margin:0.5rem}.margin-105{margin:0.75rem}.margin-2{margin:1rem}.margin-205{margin:1.25rem}.margin-3{margin:1.5rem}.margin-neg-4{margin:-2rem}.margin-neg-5{margin:-2.5rem}.margin-neg-6{margin:-3rem}.margin-neg-7{margin:-3.5rem}.margin-neg-8{margin:-4rem}.margin-neg-9{margin:-4.5rem}.margin-neg-10{margin:-5rem}.margin-neg-15{margin:-7.5rem}.margin-4{margin:2rem}.margin-5{margin:2.5rem}.margin-6{margin:3rem}.margin-7{margin:3.5rem}.margin-8{margin:4rem}.margin-9{margin:4.5rem}.margin-10{margin:5rem}.margin-15{margin:7.5rem}.margin-05em{margin:0.5em}.margin-1em{margin:1em}.margin-105em{margin:1.5em}.margin-2em{margin:2em}.margin-0{margin:0}.margin-y-1px{margin-top:1px;margin-bottom:1px}.margin-top-1px{margin-top:1px}.margin-bottom-1px{margin-bottom:1px}.margin-y-2px{margin-top:2px;margin-bottom:2px}.margin-top-2px{margin-top:2px}.margin-bottom-2px{margin-bottom:2px}.margin-y-05{margin-top:0.25rem;margin-bottom:0.25rem}.margin-top-05{margin-top:0.25rem}.margin-bottom-05{margin-bottom:0.25rem}.margin-y-1{margin-top:0.5rem;margin-bottom:0.5rem}.margin-top-1{margin-top:0.5rem}.margin-bottom-1{margin-bottom:0.5rem}.margin-y-105{margin-top:0.75rem;margin-bottom:0.75rem}.margin-top-105{margin-top:0.75rem}.margin-bottom-105{margin-bottom:0.75rem}.margin-y-2{margin-top:1rem;margin-bottom:1rem}.margin-top-2{margin-top:1rem}.margin-bottom-2{margin-bottom:1rem}.margin-y-205{margin-top:1.25rem;margin-bottom:1.25rem}.margin-top-205{margin-top:1.25rem}.margin-bottom-205{margin-bottom:1.25rem}.margin-y-3{margin-top:1.5rem;margin-bottom:1.5rem}.margin-top-3{margin-top:1.5rem}.margin-bottom-3{margin-bottom:1.5rem}.margin-y-neg-1px{margin-top:-1px;margin-bottom:-1px}.margin-top-neg-1px{margin-top:-1px}.margin-bottom-neg-1px{margin-bottom:-1px}.margin-y-neg-2px{margin-top:-2px;margin-bottom:-2px}.margin-top-neg-2px{margin-top:-2px}.margin-bottom-neg-2px{margin-bottom:-2px}.margin-y-neg-05{margin-top:-0.25rem;margin-bottom:-0.25rem}.margin-top-neg-05{margin-top:-0.25rem}.margin-bottom-neg-05{margin-bottom:-0.25rem}.margin-y-neg-1{margin-top:-0.5rem;margin-bottom:-0.5rem}.margin-top-neg-1{margin-top:-0.5rem}.margin-bottom-neg-1{margin-bottom:-0.5rem}.margin-y-neg-105{margin-top:-0.75rem;margin-bottom:-0.75rem}.margin-top-neg-105{margin-top:-0.75rem}.margin-bottom-neg-105{margin-bottom:-0.75rem}.margin-y-neg-2{margin-top:-1rem;margin-bottom:-1rem}.margin-top-neg-2{margin-top:-1rem}.margin-bottom-neg-2{margin-bottom:-1rem}.margin-y-neg-205{margin-top:-1.25rem;margin-bottom:-1.25rem}.margin-top-neg-205{margin-top:-1.25rem}.margin-bottom-neg-205{margin-bottom:-1.25rem}.margin-y-neg-3{margin-top:-1.5rem;margin-bottom:-1.5rem}.margin-top-neg-3{margin-top:-1.5rem}.margin-bottom-neg-3{margin-bottom:-1.5rem}.margin-y-neg-4{margin-top:-2rem;margin-bottom:-2rem}.margin-top-neg-4{margin-top:-2rem}.margin-bottom-neg-4{margin-bottom:-2rem}.margin-y-neg-5{margin-top:-2.5rem;margin-bottom:-2.5rem}.margin-top-neg-5{margin-top:-2.5rem}.margin-bottom-neg-5{margin-bottom:-2.5rem}.margin-y-neg-6{margin-top:-3rem;margin-bottom:-3rem}.margin-top-neg-6{margin-top:-3rem}.margin-bottom-neg-6{margin-bottom:-3rem}.margin-y-neg-7{margin-top:-3.5rem;margin-bottom:-3.5rem}.margin-top-neg-7{margin-top:-3.5rem}.margin-bottom-neg-7{margin-bottom:-3.5rem}.margin-y-neg-8{margin-top:-4rem;margin-bottom:-4rem}.margin-top-neg-8{margin-top:-4rem}.margin-bottom-neg-8{margin-bottom:-4rem}.margin-y-neg-9{margin-top:-4.5rem;margin-bottom:-4.5rem}.margin-top-neg-9{margin-top:-4.5rem}.margin-bottom-neg-9{margin-bottom:-4.5rem}.margin-y-neg-10{margin-top:-5rem;margin-bottom:-5rem}.margin-top-neg-10{margin-top:-5rem}.margin-bottom-neg-10{margin-bottom:-5rem}.margin-y-neg-15{margin-top:-7.5rem;margin-bottom:-7.5rem}.margin-top-neg-15{margin-top:-7.5rem}.margin-bottom-neg-15{margin-bottom:-7.5rem}.margin-y-4{margin-top:2rem;margin-bottom:2rem}.margin-top-4{margin-top:2rem}.margin-bottom-4{margin-bottom:2rem}.margin-y-5{margin-top:2.5rem;margin-bottom:2.5rem}.margin-top-5{margin-top:2.5rem}.margin-bottom-5{margin-bottom:2.5rem}.margin-y-6{margin-top:3rem;margin-bottom:3rem}.margin-top-6{margin-top:3rem}.margin-bottom-6{margin-bottom:3rem}.margin-y-7{margin-top:3.5rem;margin-bottom:3.5rem}.margin-top-7{margin-top:3.5rem}.margin-bottom-7{margin-bottom:3.5rem}.margin-y-8{margin-top:4rem;margin-bottom:4rem}.margin-top-8{margin-top:4rem}.margin-bottom-8{margin-bottom:4rem}.margin-y-9{margin-top:4.5rem;margin-bottom:4.5rem}.margin-top-9{margin-top:4.5rem}.margin-bottom-9{margin-bottom:4.5rem}.margin-y-10{margin-top:5rem;margin-bottom:5rem}.margin-top-10{margin-top:5rem}.margin-bottom-10{margin-bottom:5rem}.margin-y-15{margin-top:7.5rem;margin-bottom:7.5rem}.margin-top-15{margin-top:7.5rem}.margin-bottom-15{margin-bottom:7.5rem}.margin-y-05em{margin-top:0.5em;margin-bottom:0.5em}.margin-top-05em{margin-top:0.5em}.margin-bottom-05em{margin-bottom:0.5em}.margin-y-1em{margin-top:1em;margin-bottom:1em}.margin-top-1em{margin-top:1em}.margin-bottom-1em{margin-bottom:1em}.margin-y-105em{margin-top:1.5em;margin-bottom:1.5em}.margin-top-105em{margin-top:1.5em}.margin-bottom-105em{margin-bottom:1.5em}.margin-y-2em{margin-top:2em;margin-bottom:2em}.margin-top-2em{margin-top:2em}.margin-bottom-2em{margin-bottom:2em}.margin-y-0{margin-top:0;margin-bottom:0}.margin-top-0{margin-top:0}.margin-bottom-0{margin-bottom:0}.margin-y-auto{margin-top:auto;margin-bottom:auto}.margin-top-auto{margin-top:auto}.margin-bottom-auto{margin-bottom:auto}.margin-x-1px{margin-left:1px;margin-right:1px}.margin-right-1px{margin-right:1px}.margin-left-1px{margin-left:1px}.margin-x-2px{margin-left:2px;margin-right:2px}.margin-right-2px{margin-right:2px}.margin-left-2px{margin-left:2px}.margin-x-05{margin-left:0.25rem;margin-right:0.25rem}.margin-right-05{margin-right:0.25rem}.margin-left-05{margin-left:0.25rem}.margin-x-1{margin-left:0.5rem;margin-right:0.5rem}.margin-right-1{margin-right:0.5rem}.margin-left-1{margin-left:0.5rem}.margin-x-105{margin-left:0.75rem;margin-right:0.75rem}.margin-right-105{margin-right:0.75rem}.margin-left-105{margin-left:0.75rem}.margin-x-2{margin-left:1rem;margin-right:1rem}.margin-right-2{margin-right:1rem}.margin-left-2{margin-left:1rem}.margin-x-205{margin-left:1.25rem;margin-right:1.25rem}.margin-right-205{margin-right:1.25rem}.margin-left-205{margin-left:1.25rem}.margin-x-3{margin-left:1.5rem;margin-right:1.5rem}.margin-right-3{margin-right:1.5rem}.margin-left-3{margin-left:1.5rem}.margin-x-neg-1px{margin-left:-1px;margin-right:-1px}.margin-right-neg-1px{margin-right:-1px}.margin-left-neg-1px{margin-left:-1px}.margin-x-neg-2px{margin-left:-2px;margin-right:-2px}.margin-right-neg-2px{margin-right:-2px}.margin-left-neg-2px{margin-left:-2px}.margin-x-neg-05{margin-left:-0.25rem;margin-right:-0.25rem}.margin-right-neg-05{margin-right:-0.25rem}.margin-left-neg-05{margin-left:-0.25rem}.margin-x-neg-1{margin-left:-0.5rem;margin-right:-0.5rem}.margin-right-neg-1{margin-right:-0.5rem}.margin-left-neg-1{margin-left:-0.5rem}.margin-x-neg-105{margin-left:-0.75rem;margin-right:-0.75rem}.margin-right-neg-105{margin-right:-0.75rem}.margin-left-neg-105{margin-left:-0.75rem}.margin-x-neg-2{margin-left:-1rem;margin-right:-1rem}.margin-right-neg-2{margin-right:-1rem}.margin-left-neg-2{margin-left:-1rem}.margin-x-neg-205{margin-left:-1.25rem;margin-right:-1.25rem}.margin-right-neg-205{margin-right:-1.25rem}.margin-left-neg-205{margin-left:-1.25rem}.margin-x-neg-3{margin-left:-1.5rem;margin-right:-1.5rem}.margin-right-neg-3{margin-right:-1.5rem}.margin-left-neg-3{margin-left:-1.5rem}.margin-x-neg-4{margin-left:-2rem;margin-right:-2rem}.margin-right-neg-4{margin-right:-2rem}.margin-left-neg-4{margin-left:-2rem}.margin-x-neg-5{margin-left:-2.5rem;margin-right:-2.5rem}.margin-right-neg-5{margin-right:-2.5rem}.margin-left-neg-5{margin-left:-2.5rem}.margin-x-neg-6{margin-left:-3rem;margin-right:-3rem}.margin-right-neg-6{margin-right:-3rem}.margin-left-neg-6{margin-left:-3rem}.margin-x-neg-7{margin-left:-3.5rem;margin-right:-3.5rem}.margin-right-neg-7{margin-right:-3.5rem}.margin-left-neg-7{margin-left:-3.5rem}.margin-x-neg-8{margin-left:-4rem;margin-right:-4rem}.margin-right-neg-8{margin-right:-4rem}.margin-left-neg-8{margin-left:-4rem}.margin-x-neg-9{margin-left:-4.5rem;margin-right:-4.5rem}.margin-right-neg-9{margin-right:-4.5rem}.margin-left-neg-9{margin-left:-4.5rem}.margin-x-neg-10{margin-left:-5rem;margin-right:-5rem}.margin-right-neg-10{margin-right:-5rem}.margin-left-neg-10{margin-left:-5rem}.margin-x-neg-15{margin-left:-7.5rem;margin-right:-7.5rem}.margin-right-neg-15{margin-right:-7.5rem}.margin-left-neg-15{margin-left:-7.5rem}.margin-x-4{margin-left:2rem;margin-right:2rem}.margin-right-4{margin-right:2rem}.margin-left-4{margin-left:2rem}.margin-x-5{margin-left:2.5rem;margin-right:2.5rem}.margin-right-5{margin-right:2.5rem}.margin-left-5{margin-left:2.5rem}.margin-x-6{margin-left:3rem;margin-right:3rem}.margin-right-6{margin-right:3rem}.margin-left-6{margin-left:3rem}.margin-x-7{margin-left:3.5rem;margin-right:3.5rem}.margin-right-7{margin-right:3.5rem}.margin-left-7{margin-left:3.5rem}.margin-x-8{margin-left:4rem;margin-right:4rem}.margin-right-8{margin-right:4rem}.margin-left-8{margin-left:4rem}.margin-x-9{margin-left:4.5rem;margin-right:4.5rem}.margin-right-9{margin-right:4.5rem}.margin-left-9{margin-left:4.5rem}.margin-x-10{margin-left:5rem;margin-right:5rem}.margin-right-10{margin-right:5rem}.margin-left-10{margin-left:5rem}.margin-x-15{margin-left:7.5rem;margin-right:7.5rem}.margin-right-15{margin-right:7.5rem}.margin-left-15{margin-left:7.5rem}.margin-x-card{margin-left:10rem;margin-right:10rem}.margin-right-card{margin-right:10rem}.margin-left-card{margin-left:10rem}.margin-x-card-lg{margin-left:15rem;margin-right:15rem}.margin-right-card-lg{margin-right:15rem}.margin-left-card-lg{margin-left:15rem}.margin-x-mobile{margin-left:20rem;margin-right:20rem}.margin-right-mobile{margin-right:20rem}.margin-left-mobile{margin-left:20rem}.margin-x-05em{margin-left:0.5em;margin-right:0.5em}.margin-right-05em{margin-right:0.5em}.margin-left-05em{margin-left:0.5em}.margin-x-1em{margin-left:1em;margin-right:1em}.margin-right-1em{margin-right:1em}.margin-left-1em{margin-left:1em}.margin-x-105em{margin-left:1.5em;margin-right:1.5em}.margin-right-105em{margin-right:1.5em}.margin-left-105em{margin-left:1.5em}.margin-x-2em{margin-left:2em;margin-right:2em}.margin-right-2em{margin-right:2em}.margin-left-2em{margin-left:2em}.margin-x-0{margin-left:0;margin-right:0}.margin-right-0{margin-right:0}.margin-left-0{margin-left:0}.margin-x-auto{margin-left:auto;margin-right:auto}.margin-right-auto{margin-right:auto}.margin-left-auto{margin-left:auto}.maxh-05{max-height:0.25rem}.maxh-1{max-height:0.5rem}.maxh-105{max-height:0.75rem}.maxh-2{max-height:1rem}.maxh-205{max-height:1.25rem}.maxh-3{max-height:1.5rem}.maxh-4{max-height:2rem}.maxh-5{max-height:2.5rem}.maxh-6{max-height:3rem}.maxh-7{max-height:3.5rem}.maxh-8{max-height:4rem}.maxh-9{max-height:4.5rem}.maxh-10{max-height:5rem}.maxh-15{max-height:7.5rem}.maxh-card{max-height:10rem}.maxh-card-lg{max-height:15rem}.maxh-mobile{max-height:20rem}.maxh-mobile-lg{max-height:30rem}.maxh-tablet{max-height:40rem}.maxh-tablet-lg{max-height:55rem}.maxh-none{max-height:none}.maxh-viewport{max-height:100vh}.maxw-05{max-width:0.25rem}.maxw-1{max-width:0.5rem}.maxw-105{max-width:0.75rem}.maxw-2{max-width:1rem}.maxw-205{max-width:1.25rem}.maxw-3{max-width:1.5rem}.maxw-4{max-width:2rem}.maxw-5{max-width:2.5rem}.maxw-6{max-width:3rem}.maxw-7{max-width:3.5rem}.maxw-8{max-width:4rem}.maxw-9{max-width:4.5rem}.maxw-10{max-width:5rem}.maxw-15{max-width:7.5rem}.maxw-card{max-width:10rem}.maxw-card-lg{max-width:15rem}.maxw-mobile{max-width:20rem}.maxw-mobile-lg{max-width:30rem}.maxw-tablet{max-width:40rem}.maxw-tablet-lg{max-width:55rem}.maxw-desktop{max-width:64rem}.maxw-desktop-lg{max-width:75rem}.maxw-widescreen{max-width:87.5rem}.maxw-none{max-width:none}.maxw-full{max-width:100%}.measure-1{max-width:44ex}.measure-2{max-width:60ex}.measure-3{max-width:64ex}.measure-4{max-width:68ex}.measure-5{max-width:72ex}.measure-6{max-width:88ex}.measure-none{max-width:none}.minh-1px{min-height:1px}.minh-2px{min-height:2px}.minh-05{min-height:0.25rem}.minh-1{min-height:0.5rem}.minh-105{min-height:0.75rem}.minh-2{min-height:1rem}.minh-205{min-height:1.25rem}.minh-3{min-height:1.5rem}.minh-4{min-height:2rem}.minh-5{min-height:2.5rem}.minh-6{min-height:3rem}.minh-7{min-height:3.5rem}.minh-8{min-height:4rem}.minh-9{min-height:4.5rem}.minh-10{min-height:5rem}.minh-15{min-height:7.5rem}.minh-card{min-height:10rem}.minh-card-lg{min-height:15rem}.minh-mobile{min-height:20rem}.minh-mobile-lg{min-height:30rem}.minh-tablet{min-height:40rem}.minh-tablet-lg{min-height:55rem}.minh-0{min-height:0}.minh-full{min-height:100%}.minh-viewport{min-height:100vh}.minw-05{min-width:0.25rem}.minw-1{min-width:0.5rem}.minw-105{min-width:0.75rem}.minw-2{min-width:1rem}.minw-205{min-width:1.25rem}.minw-3{min-width:1.5rem}.minw-4{min-width:2rem}.minw-5{min-width:2.5rem}.minw-6{min-width:3rem}.minw-7{min-width:3.5rem}.minw-8{min-width:4rem}.minw-9{min-width:4.5rem}.minw-10{min-width:5rem}.minw-15{min-width:7.5rem}.minw-0{min-width:0}.opacity-0{opacity:0}.opacity-10{opacity:0.1}.opacity-20{opacity:0.2}.opacity-30{opacity:0.3}.opacity-40{opacity:0.4}.opacity-50{opacity:0.5}.opacity-60{opacity:0.6}.opacity-70{opacity:0.7}.opacity-80{opacity:0.8}.opacity-90{opacity:0.9}.opacity-100{opacity:1}.order-first{order:-1}.order-last{order:999}.order-initial{order:initial}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.outline-1px{outline:1px solid}.outline-2px{outline:2px solid}.outline-0{outline:0 solid}.outline-05{outline:0.25rem solid}.outline-transparent{outline-color:transparent}.outline-black{outline-color:black}.outline-white{outline-color:white}.outline-red{outline-color:#e52207}.outline-orange{outline-color:#e66f0e}.outline-gold{outline-color:#ffbe2e}.outline-yellow{outline-color:#fee685}.outline-green{outline-color:#538200}.outline-mint{outline-color:#04c585}.outline-cyan{outline-color:#009ec1}.outline-blue{outline-color:#0076d6}.outline-indigo{outline-color:#676cc8}.outline-violet{outline-color:#8168b3}.outline-magenta{outline-color:#d72d79}.outline-gray-5{outline-color:#f0f0f0}.outline-gray-10{outline-color:#e6e6e6}.outline-gray-30{outline-color:#adadad}.outline-gray-50{outline-color:#757575}.outline-gray-70{outline-color:#454545}.outline-gray-90{outline-color:#1b1b1b}.outline-base-lightest{outline-color:#f0f0f0}.outline-base-lighter{outline-color:#dfe1e2}.outline-base-light{outline-color:#a9aeb1}.outline-base{outline-color:#71767a}.outline-base-dark{outline-color:#565c65}.outline-base-darker{outline-color:#3d4551}.outline-base-darkest{outline-color:#1b1b1b}.outline-ink{outline-color:#1b1b1b}.outline-primary-lighter{outline-color:#d9e8f6}.outline-primary-light{outline-color:#73b3e7}.outline-primary{outline-color:#005ea2}.outline-primary-vivid{outline-color:#0050d8}.outline-primary-dark{outline-color:#1a4480}.outline-primary-darker{outline-color:#162e51}.outline-secondary-lighter{outline-color:#f3e1e4}.outline-secondary-light{outline-color:#f2938c}.outline-secondary{outline-color:#d83933}.outline-secondary-vivid{outline-color:#e41d3d}.outline-secondary-dark{outline-color:#b50909}.outline-secondary-darker{outline-color:#8b0a03}.outline-accent-warm-darker{outline-color:#775540}.outline-accent-warm-dark{outline-color:#c05600}.outline-accent-warm{outline-color:#fa9441}.outline-accent-warm-light{outline-color:#ffbc78}.outline-accent-warm-lighter{outline-color:#f2e4d4}.outline-accent-cool-darker{outline-color:#07648d}.outline-accent-cool-dark{outline-color:#28a0cb}.outline-accent-cool{outline-color:#00bde3}.outline-accent-cool-light{outline-color:#97d4ea}.outline-accent-cool-lighter{outline-color:#e1f3f8}.outline-error-lighter{outline-color:#f4e3db}.outline-error-light{outline-color:#f39268}.outline-error{outline-color:#d54309}.outline-error-dark{outline-color:#b50909}.outline-error-darker{outline-color:#6f3331}.outline-warning-lighter{outline-color:#faf3d1}.outline-warning-light{outline-color:#fee685}.outline-warning{outline-color:#ffbe2e}.outline-warning-dark{outline-color:#e5a000}.outline-warning-darker{outline-color:#936f38}.outline-success-lighter{outline-color:#ecf3ec}.outline-success-light{outline-color:#70e17b}.outline-success{outline-color:#00a91c}.outline-success-dark{outline-color:#008817}.outline-success-darker{outline-color:#216e1f}.outline-info-lighter{outline-color:#e7f6f8}.outline-info-light{outline-color:#99deea}.outline-info{outline-color:#00bde3}.outline-info-dark{outline-color:#009ec1}.outline-info-darker{outline-color:#2e6276}.outline-disabled-lighter{outline-color:#c9c9c9}.outline-disabled-light{outline-color:#919191}.outline-disabled{outline-color:#757575}.outline-disabled-dark{outline-color:#454545}.outline-disabled-darker{outline-color:#1b1b1b}.outline-emergency{outline-color:#9c3d10}.outline-emergency-dark{outline-color:#332d29}.overflow-hidden{overflow:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-scroll{overflow:scroll}.overflow-y-scroll{overflow-y:scroll}.overflow-x-scroll{overflow-x:scroll}.overflow-auto{overflow:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-auto{overflow-x:auto}.overflow-visible{overflow:visible}.overflow-y-visible{overflow-y:visible}.overflow-x-visible{overflow-x:visible}.padding-1px{padding:1px}.padding-y-1px{padding-top:1px;padding-bottom:1px}.padding-x-1px{padding-left:1px;padding-right:1px}.padding-top-1px{padding-top:1px}.padding-right-1px{padding-right:1px}.padding-bottom-1px{padding-bottom:1px}.padding-left-1px{padding-left:1px}.padding-2px{padding:2px}.padding-y-2px{padding-top:2px;padding-bottom:2px}.padding-x-2px{padding-left:2px;padding-right:2px}.padding-top-2px{padding-top:2px}.padding-right-2px{padding-right:2px}.padding-bottom-2px{padding-bottom:2px}.padding-left-2px{padding-left:2px}.padding-05{padding:0.25rem}.padding-y-05{padding-top:0.25rem;padding-bottom:0.25rem}.padding-x-05{padding-left:0.25rem;padding-right:0.25rem}.padding-top-05{padding-top:0.25rem}.padding-right-05{padding-right:0.25rem}.padding-bottom-05{padding-bottom:0.25rem}.padding-left-05{padding-left:0.25rem}.padding-1{padding:0.5rem}.padding-y-1{padding-top:0.5rem;padding-bottom:0.5rem}.padding-x-1{padding-left:0.5rem;padding-right:0.5rem}.padding-top-1{padding-top:0.5rem}.padding-right-1{padding-right:0.5rem}.padding-bottom-1{padding-bottom:0.5rem}.padding-left-1{padding-left:0.5rem}.padding-105{padding:0.75rem}.padding-y-105{padding-top:0.75rem;padding-bottom:0.75rem}.padding-x-105{padding-left:0.75rem;padding-right:0.75rem}.padding-top-105{padding-top:0.75rem}.padding-right-105{padding-right:0.75rem}.padding-bottom-105{padding-bottom:0.75rem}.padding-left-105{padding-left:0.75rem}.padding-2{padding:1rem}.padding-y-2{padding-top:1rem;padding-bottom:1rem}.padding-x-2{padding-left:1rem;padding-right:1rem}.padding-top-2{padding-top:1rem}.padding-right-2{padding-right:1rem}.padding-bottom-2{padding-bottom:1rem}.padding-left-2{padding-left:1rem}.padding-205{padding:1.25rem}.padding-y-205{padding-top:1.25rem;padding-bottom:1.25rem}.padding-x-205{padding-left:1.25rem;padding-right:1.25rem}.padding-top-205{padding-top:1.25rem}.padding-right-205{padding-right:1.25rem}.padding-bottom-205{padding-bottom:1.25rem}.padding-left-205{padding-left:1.25rem}.padding-3{padding:1.5rem}.padding-y-3{padding-top:1.5rem;padding-bottom:1.5rem}.padding-x-3{padding-left:1.5rem;padding-right:1.5rem}.padding-top-3{padding-top:1.5rem}.padding-right-3{padding-right:1.5rem}.padding-bottom-3{padding-bottom:1.5rem}.padding-left-3{padding-left:1.5rem}.padding-4{padding:2rem}.padding-y-4{padding-top:2rem;padding-bottom:2rem}.padding-x-4{padding-left:2rem;padding-right:2rem}.padding-top-4{padding-top:2rem}.padding-right-4{padding-right:2rem}.padding-bottom-4{padding-bottom:2rem}.padding-left-4{padding-left:2rem}.padding-5{padding:2.5rem}.padding-y-5{padding-top:2.5rem;padding-bottom:2.5rem}.padding-x-5{padding-left:2.5rem;padding-right:2.5rem}.padding-top-5{padding-top:2.5rem}.padding-right-5{padding-right:2.5rem}.padding-bottom-5{padding-bottom:2.5rem}.padding-left-5{padding-left:2.5rem}.padding-6{padding:3rem}.padding-y-6{padding-top:3rem;padding-bottom:3rem}.padding-x-6{padding-left:3rem;padding-right:3rem}.padding-top-6{padding-top:3rem}.padding-right-6{padding-right:3rem}.padding-bottom-6{padding-bottom:3rem}.padding-left-6{padding-left:3rem}.padding-7{padding:3.5rem}.padding-y-7{padding-top:3.5rem;padding-bottom:3.5rem}.padding-x-7{padding-left:3.5rem;padding-right:3.5rem}.padding-top-7{padding-top:3.5rem}.padding-right-7{padding-right:3.5rem}.padding-bottom-7{padding-bottom:3.5rem}.padding-left-7{padding-left:3.5rem}.padding-8{padding:4rem}.padding-y-8{padding-top:4rem;padding-bottom:4rem}.padding-x-8{padding-left:4rem;padding-right:4rem}.padding-top-8{padding-top:4rem}.padding-right-8{padding-right:4rem}.padding-bottom-8{padding-bottom:4rem}.padding-left-8{padding-left:4rem}.padding-9{padding:4.5rem}.padding-y-9{padding-top:4.5rem;padding-bottom:4.5rem}.padding-x-9{padding-left:4.5rem;padding-right:4.5rem}.padding-top-9{padding-top:4.5rem}.padding-right-9{padding-right:4.5rem}.padding-bottom-9{padding-bottom:4.5rem}.padding-left-9{padding-left:4.5rem}.padding-10{padding:5rem}.padding-y-10{padding-top:5rem;padding-bottom:5rem}.padding-x-10{padding-left:5rem;padding-right:5rem}.padding-top-10{padding-top:5rem}.padding-right-10{padding-right:5rem}.padding-bottom-10{padding-bottom:5rem}.padding-left-10{padding-left:5rem}.padding-15{padding:7.5rem}.padding-y-15{padding-top:7.5rem;padding-bottom:7.5rem}.padding-x-15{padding-left:7.5rem;padding-right:7.5rem}.padding-top-15{padding-top:7.5rem}.padding-right-15{padding-right:7.5rem}.padding-bottom-15{padding-bottom:7.5rem}.padding-left-15{padding-left:7.5rem}.padding-0{padding:0}.padding-y-0{padding-top:0;padding-bottom:0}.padding-x-0{padding-left:0;padding-right:0}.padding-top-0{padding-top:0}.padding-right-0{padding-right:0}.padding-bottom-0{padding-bottom:0}.padding-left-0{padding-left:0}.pin-all{bottom:0;left:0;right:0;top:0;position:absolute}.pin-x{left:0;right:0;position:absolute}.pin-y{bottom:0;top:0;position:absolute}.pin-bottom{bottom:0;position:absolute}.pin-left{left:0;position:absolute}.pin-right{right:0;position:absolute}.pin-top{top:0;position:absolute}.pin-none{bottom:auto;left:auto;right:auto;top:auto;position:static}.position-absolute{position:absolute}.position-fixed{position:fixed}.position-relative{position:relative}.position-static{position:static}.position-sticky{position:sticky}.right-1px{right:1px}.right-2px{right:2px}.right-05{right:0.25rem}.right-1{right:0.5rem}.right-105{right:0.75rem}.right-2{right:1rem}.right-205{right:1.25rem}.right-3{right:1.5rem}.right-neg-1px{right:-1px}.right-neg-2px{right:-2px}.right-neg-05{right:-0.25rem}.right-neg-1{right:-0.5rem}.right-neg-105{right:-0.75rem}.right-neg-2{right:-1rem}.right-neg-205{right:-1.25rem}.right-neg-3{right:-1.5rem}.right-0{right:0}.right-auto{right:auto}.right-full{right:100%}.square-1px{height:1px;width:1px}.square-2px{height:2px;width:2px}.square-05{height:0.25rem;width:0.25rem}.square-1{height:0.5rem;width:0.5rem}.square-105{height:0.75rem;width:0.75rem}.square-2{height:1rem;width:1rem}.square-205{height:1.25rem;width:1.25rem}.square-3{height:1.5rem;width:1.5rem}.square-4{height:2rem;width:2rem}.square-5{height:2.5rem;width:2.5rem}.square-6{height:3rem;width:3rem}.square-7{height:3.5rem;width:3.5rem}.square-8{height:4rem;width:4rem}.square-9{height:4.5rem;width:4.5rem}.square-10{height:5rem;width:5rem}.square-15{height:7.5rem;width:7.5rem}.square-card{height:10rem;width:10rem}.square-card-lg{height:15rem;width:15rem}.square-mobile{height:20rem;width:20rem}.text-center{text-align:center}.text-left{text-align:left}.text-justify{text-align:justify}.text-right{text-align:right}.text-strike{text-decoration:line-through}.hover\\:text-strike:hover{text-decoration:line-through}.text-underline{text-decoration:underline}.hover\\:text-underline:hover{text-decoration:underline}.text-no-underline{text-decoration:none}.hover\\:text-no-underline:hover{text-decoration:none}.text-no-strike{text-decoration:none}.hover\\:text-no-strike:hover{text-decoration:none}.underline-red{text-decoration-color:#e52207}.hover\\:underline-red:hover{text-decoration-color:#e52207}.underline-orange{text-decoration-color:#e66f0e}.hover\\:underline-orange:hover{text-decoration-color:#e66f0e}.underline-gold{text-decoration-color:#ffbe2e}.hover\\:underline-gold:hover{text-decoration-color:#ffbe2e}.underline-yellow{text-decoration-color:#fee685}.hover\\:underline-yellow:hover{text-decoration-color:#fee685}.underline-green{text-decoration-color:#538200}.hover\\:underline-green:hover{text-decoration-color:#538200}.underline-mint{text-decoration-color:#04c585}.hover\\:underline-mint:hover{text-decoration-color:#04c585}.underline-cyan{text-decoration-color:#009ec1}.hover\\:underline-cyan:hover{text-decoration-color:#009ec1}.underline-blue{text-decoration-color:#0076d6}.hover\\:underline-blue:hover{text-decoration-color:#0076d6}.underline-indigo{text-decoration-color:#676cc8}.hover\\:underline-indigo:hover{text-decoration-color:#676cc8}.underline-violet{text-decoration-color:#8168b3}.hover\\:underline-violet:hover{text-decoration-color:#8168b3}.underline-magenta{text-decoration-color:#d72d79}.hover\\:underline-magenta:hover{text-decoration-color:#d72d79}.underline-gray-5{text-decoration-color:#f0f0f0}.hover\\:underline-gray-5:hover{text-decoration-color:#f0f0f0}.underline-gray-10{text-decoration-color:#e6e6e6}.hover\\:underline-gray-10:hover{text-decoration-color:#e6e6e6}.underline-gray-30{text-decoration-color:#adadad}.hover\\:underline-gray-30:hover{text-decoration-color:#adadad}.underline-gray-50{text-decoration-color:#757575}.hover\\:underline-gray-50:hover{text-decoration-color:#757575}.underline-gray-70{text-decoration-color:#454545}.hover\\:underline-gray-70:hover{text-decoration-color:#454545}.underline-gray-90{text-decoration-color:#1b1b1b}.hover\\:underline-gray-90:hover{text-decoration-color:#1b1b1b}.underline-base-lightest{text-decoration-color:#f0f0f0}.hover\\:underline-base-lightest:hover{text-decoration-color:#f0f0f0}.underline-base-lighter{text-decoration-color:#dfe1e2}.hover\\:underline-base-lighter:hover{text-decoration-color:#dfe1e2}.underline-base-light{text-decoration-color:#a9aeb1}.hover\\:underline-base-light:hover{text-decoration-color:#a9aeb1}.underline-base{text-decoration-color:#71767a}.hover\\:underline-base:hover{text-decoration-color:#71767a}.underline-base-dark{text-decoration-color:#565c65}.hover\\:underline-base-dark:hover{text-decoration-color:#565c65}.underline-base-darker{text-decoration-color:#3d4551}.hover\\:underline-base-darker:hover{text-decoration-color:#3d4551}.underline-base-darkest{text-decoration-color:#1b1b1b}.hover\\:underline-base-darkest:hover{text-decoration-color:#1b1b1b}.underline-ink{text-decoration-color:#1b1b1b}.hover\\:underline-ink:hover{text-decoration-color:#1b1b1b}.underline-primary-lighter{text-decoration-color:#d9e8f6}.hover\\:underline-primary-lighter:hover{text-decoration-color:#d9e8f6}.underline-primary-light{text-decoration-color:#73b3e7}.hover\\:underline-primary-light:hover{text-decoration-color:#73b3e7}.underline-primary{text-decoration-color:#005ea2}.hover\\:underline-primary:hover{text-decoration-color:#005ea2}.underline-primary-vivid{text-decoration-color:#0050d8}.hover\\:underline-primary-vivid:hover{text-decoration-color:#0050d8}.underline-primary-dark{text-decoration-color:#1a4480}.hover\\:underline-primary-dark:hover{text-decoration-color:#1a4480}.underline-primary-darker{text-decoration-color:#162e51}.hover\\:underline-primary-darker:hover{text-decoration-color:#162e51}.underline-secondary-lighter{text-decoration-color:#f3e1e4}.hover\\:underline-secondary-lighter:hover{text-decoration-color:#f3e1e4}.underline-secondary-light{text-decoration-color:#f2938c}.hover\\:underline-secondary-light:hover{text-decoration-color:#f2938c}.underline-secondary{text-decoration-color:#d83933}.hover\\:underline-secondary:hover{text-decoration-color:#d83933}.underline-secondary-vivid{text-decoration-color:#e41d3d}.hover\\:underline-secondary-vivid:hover{text-decoration-color:#e41d3d}.underline-secondary-dark{text-decoration-color:#b50909}.hover\\:underline-secondary-dark:hover{text-decoration-color:#b50909}.underline-secondary-darker{text-decoration-color:#8b0a03}.hover\\:underline-secondary-darker:hover{text-decoration-color:#8b0a03}.underline-accent-warm-darker{text-decoration-color:#775540}.hover\\:underline-accent-warm-darker:hover{text-decoration-color:#775540}.underline-accent-warm-dark{text-decoration-color:#c05600}.hover\\:underline-accent-warm-dark:hover{text-decoration-color:#c05600}.underline-accent-warm{text-decoration-color:#fa9441}.hover\\:underline-accent-warm:hover{text-decoration-color:#fa9441}.underline-accent-warm-light{text-decoration-color:#ffbc78}.hover\\:underline-accent-warm-light:hover{text-decoration-color:#ffbc78}.underline-accent-warm-lighter{text-decoration-color:#f2e4d4}.hover\\:underline-accent-warm-lighter:hover{text-decoration-color:#f2e4d4}.underline-accent-cool-darker{text-decoration-color:#07648d}.hover\\:underline-accent-cool-darker:hover{text-decoration-color:#07648d}.underline-accent-cool-dark{text-decoration-color:#28a0cb}.hover\\:underline-accent-cool-dark:hover{text-decoration-color:#28a0cb}.underline-accent-cool{text-decoration-color:#00bde3}.hover\\:underline-accent-cool:hover{text-decoration-color:#00bde3}.underline-accent-cool-light{text-decoration-color:#97d4ea}.hover\\:underline-accent-cool-light:hover{text-decoration-color:#97d4ea}.underline-accent-cool-lighter{text-decoration-color:#e1f3f8}.hover\\:underline-accent-cool-lighter:hover{text-decoration-color:#e1f3f8}.underline-error-lighter{text-decoration-color:#f4e3db}.hover\\:underline-error-lighter:hover{text-decoration-color:#f4e3db}.underline-error-light{text-decoration-color:#f39268}.hover\\:underline-error-light:hover{text-decoration-color:#f39268}.underline-error{text-decoration-color:#d54309}.hover\\:underline-error:hover{text-decoration-color:#d54309}.underline-error-dark{text-decoration-color:#b50909}.hover\\:underline-error-dark:hover{text-decoration-color:#b50909}.underline-error-darker{text-decoration-color:#6f3331}.hover\\:underline-error-darker:hover{text-decoration-color:#6f3331}.underline-warning-lighter{text-decoration-color:#faf3d1}.hover\\:underline-warning-lighter:hover{text-decoration-color:#faf3d1}.underline-warning-light{text-decoration-color:#fee685}.hover\\:underline-warning-light:hover{text-decoration-color:#fee685}.underline-warning{text-decoration-color:#ffbe2e}.hover\\:underline-warning:hover{text-decoration-color:#ffbe2e}.underline-warning-dark{text-decoration-color:#e5a000}.hover\\:underline-warning-dark:hover{text-decoration-color:#e5a000}.underline-warning-darker{text-decoration-color:#936f38}.hover\\:underline-warning-darker:hover{text-decoration-color:#936f38}.underline-success-lighter{text-decoration-color:#ecf3ec}.hover\\:underline-success-lighter:hover{text-decoration-color:#ecf3ec}.underline-success-light{text-decoration-color:#70e17b}.hover\\:underline-success-light:hover{text-decoration-color:#70e17b}.underline-success{text-decoration-color:#00a91c}.hover\\:underline-success:hover{text-decoration-color:#00a91c}.underline-success-dark{text-decoration-color:#008817}.hover\\:underline-success-dark:hover{text-decoration-color:#008817}.underline-success-darker{text-decoration-color:#216e1f}.hover\\:underline-success-darker:hover{text-decoration-color:#216e1f}.underline-info-lighter{text-decoration-color:#e7f6f8}.hover\\:underline-info-lighter:hover{text-decoration-color:#e7f6f8}.underline-info-light{text-decoration-color:#99deea}.hover\\:underline-info-light:hover{text-decoration-color:#99deea}.underline-info{text-decoration-color:#00bde3}.hover\\:underline-info:hover{text-decoration-color:#00bde3}.underline-info-dark{text-decoration-color:#009ec1}.hover\\:underline-info-dark:hover{text-decoration-color:#009ec1}.underline-info-darker{text-decoration-color:#2e6276}.hover\\:underline-info-darker:hover{text-decoration-color:#2e6276}.underline-disabled-lighter{text-decoration-color:#c9c9c9}.hover\\:underline-disabled-lighter:hover{text-decoration-color:#c9c9c9}.underline-disabled-light{text-decoration-color:#919191}.hover\\:underline-disabled-light:hover{text-decoration-color:#919191}.underline-disabled{text-decoration-color:#757575}.hover\\:underline-disabled:hover{text-decoration-color:#757575}.underline-disabled-dark{text-decoration-color:#454545}.hover\\:underline-disabled-dark:hover{text-decoration-color:#454545}.underline-disabled-darker{text-decoration-color:#1b1b1b}.hover\\:underline-disabled-darker:hover{text-decoration-color:#1b1b1b}.underline-emergency{text-decoration-color:#9c3d10}.hover\\:underline-emergency:hover{text-decoration-color:#9c3d10}.underline-emergency-dark{text-decoration-color:#332d29}.hover\\:underline-emergency-dark:hover{text-decoration-color:#332d29}.text-indent-0{text-indent:0}.text-indent-05{text-indent:0.25rem}.text-indent-1{text-indent:0.5rem}.text-indent-105{text-indent:0.75rem}.text-indent-2{text-indent:1rem}.text-indent-205{text-indent:1.25rem}.text-indent-3{text-indent:1.5rem}.text-indent-neg-05{text-indent:-0.25rem}.text-indent-neg-1{text-indent:-0.5rem}.text-indent-neg-105{text-indent:-0.75rem}.text-indent-neg-2{text-indent:-1rem}.text-indent-neg-205{text-indent:-1.25rem}.text-indent-neg-3{text-indent:-1.5rem}.text-indent-4{text-indent:2rem}.text-indent-5{text-indent:2.5rem}.text-indent-6{text-indent:3rem}.text-indent-7{text-indent:3.5rem}.text-indent-8{text-indent:4rem}.text-indent-9{text-indent:4.5rem}.text-indent-10{text-indent:5rem}.text-indent-15{text-indent:7.5rem}.text-indent-neg-4{text-indent:-2rem}.text-indent-neg-5{text-indent:-2.5rem}.text-indent-neg-6{text-indent:-3rem}.text-indent-neg-7{text-indent:-3.5rem}.text-indent-neg-8{text-indent:-4rem}.text-indent-neg-9{text-indent:-4.5rem}.text-indent-neg-10{text-indent:-5rem}.text-indent-neg-15{text-indent:-7.5rem}.text-uppercase{text-transform:uppercase}.text-no-uppercase{text-transform:none}.text-lowercase{text-transform:lowercase}.text-no-lowercase{text-transform:none}.top-1px{top:1px}.top-2px{top:2px}.top-05{top:0.25rem}.top-1{top:0.5rem}.top-105{top:0.75rem}.top-2{top:1rem}.top-205{top:1.25rem}.top-3{top:1.5rem}.top-neg-1px{top:-1px}.top-neg-2px{top:-2px}.top-neg-05{top:-0.25rem}.top-neg-1{top:-0.5rem}.top-neg-105{top:-0.75rem}.top-neg-2{top:-1rem}.top-neg-205{top:-1.25rem}.top-neg-3{top:-1.5rem}.top-0{top:0}.top-auto{top:auto}.top-full{top:100%}.text-baseline{vertical-align:baseline}.text-bottom{vertical-align:bottom}.text-middle{vertical-align:middle}.text-sub{vertical-align:sub}.text-super{vertical-align:super}.text-tbottom{vertical-align:text-bottom}.text-ttop{vertical-align:text-top}.text-top{vertical-align:top}.text-pre{white-space:pre}.text-pre-line{white-space:pre-line}.text-pre-wrap{white-space:pre-wrap}.text-wrap{white-space:normal}.text-no-wrap{white-space:nowrap}.width-1px{width:1px}.width-2px{width:2px}.width-05{width:0.25rem}.width-1{width:0.5rem}.width-105{width:0.75rem}.width-2{width:1rem}.width-205{width:1.25rem}.width-3{width:1.5rem}.width-4{width:2rem}.width-5{width:2.5rem}.width-6{width:3rem}.width-7{width:3.5rem}.width-8{width:4rem}.width-9{width:4.5rem}.width-10{width:5rem}.width-15{width:7.5rem}.width-card{width:10rem}.width-card-lg{width:15rem}.width-mobile{width:20rem}.width-mobile-lg{width:30rem}.width-tablet{width:40rem}.width-tablet-lg{width:55rem}.width-desktop{width:64rem}.width-desktop-lg{width:75rem}.width-widescreen{width:87.5rem}.width-0{width:0}.width-full{width:100%}.width-auto{width:auto}.z-auto{z-index:auto}.z-bottom{z-index:-100}.z-top{z-index:99999}.z-0{z-index:0}.z-100{z-index:100}.z-200{z-index:200}.z-300{z-index:300}.z-400{z-index:400}.z-500{z-index:500}@media all and (min-width: 30em){.mobile-lg\\:border-1px{border:1px solid}.mobile-lg\\:hover\\:border-1px:hover{border:1px solid}.mobile-lg\\:border-y-1px{border-top:1px solid;border-bottom:1px solid}.mobile-lg\\:hover\\:border-y-1px:hover{border-top:1px solid;border-bottom:1px solid}.mobile-lg\\:border-x-1px{border-left:1px solid;border-right:1px solid}.mobile-lg\\:hover\\:border-x-1px:hover{border-left:1px solid;border-right:1px solid}.mobile-lg\\:border-top-1px{border-top:1px solid}.mobile-lg\\:hover\\:border-top-1px:hover{border-top:1px solid}.mobile-lg\\:border-right-1px{border-right:1px solid}.mobile-lg\\:hover\\:border-right-1px:hover{border-right:1px solid}.mobile-lg\\:border-bottom-1px{border-bottom:1px solid}.mobile-lg\\:hover\\:border-bottom-1px:hover{border-bottom:1px solid}.mobile-lg\\:border-left-1px{border-left:1px solid}.mobile-lg\\:hover\\:border-left-1px:hover{border-left:1px solid}.mobile-lg\\:border-2px{border:2px solid}.mobile-lg\\:hover\\:border-2px:hover{border:2px solid}.mobile-lg\\:border-y-2px{border-top:2px solid;border-bottom:2px solid}.mobile-lg\\:hover\\:border-y-2px:hover{border-top:2px solid;border-bottom:2px solid}.mobile-lg\\:border-x-2px{border-left:2px solid;border-right:2px solid}.mobile-lg\\:hover\\:border-x-2px:hover{border-left:2px solid;border-right:2px solid}.mobile-lg\\:border-top-2px{border-top:2px solid}.mobile-lg\\:hover\\:border-top-2px:hover{border-top:2px solid}.mobile-lg\\:border-right-2px{border-right:2px solid}.mobile-lg\\:hover\\:border-right-2px:hover{border-right:2px solid}.mobile-lg\\:border-bottom-2px{border-bottom:2px solid}.mobile-lg\\:hover\\:border-bottom-2px:hover{border-bottom:2px solid}.mobile-lg\\:border-left-2px{border-left:2px solid}.mobile-lg\\:hover\\:border-left-2px:hover{border-left:2px solid}.mobile-lg\\:border-05{border:0.25rem solid}.mobile-lg\\:hover\\:border-05:hover{border:0.25rem solid}.mobile-lg\\:border-y-05{border-top:0.25rem solid;border-bottom:0.25rem solid}.mobile-lg\\:hover\\:border-y-05:hover{border-top:0.25rem solid;border-bottom:0.25rem solid}.mobile-lg\\:border-x-05{border-left:0.25rem solid;border-right:0.25rem solid}.mobile-lg\\:hover\\:border-x-05:hover{border-left:0.25rem solid;border-right:0.25rem solid}.mobile-lg\\:border-top-05{border-top:0.25rem solid}.mobile-lg\\:hover\\:border-top-05:hover{border-top:0.25rem solid}.mobile-lg\\:border-right-05{border-right:0.25rem solid}.mobile-lg\\:hover\\:border-right-05:hover{border-right:0.25rem solid}.mobile-lg\\:border-bottom-05{border-bottom:0.25rem solid}.mobile-lg\\:hover\\:border-bottom-05:hover{border-bottom:0.25rem solid}.mobile-lg\\:border-left-05{border-left:0.25rem solid}.mobile-lg\\:hover\\:border-left-05:hover{border-left:0.25rem solid}.mobile-lg\\:border-1{border:0.5rem solid}.mobile-lg\\:hover\\:border-1:hover{border:0.5rem solid}.mobile-lg\\:border-y-1{border-top:0.5rem solid;border-bottom:0.5rem solid}.mobile-lg\\:hover\\:border-y-1:hover{border-top:0.5rem solid;border-bottom:0.5rem solid}.mobile-lg\\:border-x-1{border-left:0.5rem solid;border-right:0.5rem solid}.mobile-lg\\:hover\\:border-x-1:hover{border-left:0.5rem solid;border-right:0.5rem solid}.mobile-lg\\:border-top-1{border-top:0.5rem solid}.mobile-lg\\:hover\\:border-top-1:hover{border-top:0.5rem solid}.mobile-lg\\:border-right-1{border-right:0.5rem solid}.mobile-lg\\:hover\\:border-right-1:hover{border-right:0.5rem solid}.mobile-lg\\:border-bottom-1{border-bottom:0.5rem solid}.mobile-lg\\:hover\\:border-bottom-1:hover{border-bottom:0.5rem solid}.mobile-lg\\:border-left-1{border-left:0.5rem solid}.mobile-lg\\:hover\\:border-left-1:hover{border-left:0.5rem solid}.mobile-lg\\:border-105{border:0.75rem solid}.mobile-lg\\:hover\\:border-105:hover{border:0.75rem solid}.mobile-lg\\:border-y-105{border-top:0.75rem solid;border-bottom:0.75rem solid}.mobile-lg\\:hover\\:border-y-105:hover{border-top:0.75rem solid;border-bottom:0.75rem solid}.mobile-lg\\:border-x-105{border-left:0.75rem solid;border-right:0.75rem solid}.mobile-lg\\:hover\\:border-x-105:hover{border-left:0.75rem solid;border-right:0.75rem solid}.mobile-lg\\:border-top-105{border-top:0.75rem solid}.mobile-lg\\:hover\\:border-top-105:hover{border-top:0.75rem solid}.mobile-lg\\:border-right-105{border-right:0.75rem solid}.mobile-lg\\:hover\\:border-right-105:hover{border-right:0.75rem solid}.mobile-lg\\:border-bottom-105{border-bottom:0.75rem solid}.mobile-lg\\:hover\\:border-bottom-105:hover{border-bottom:0.75rem solid}.mobile-lg\\:border-left-105{border-left:0.75rem solid}.mobile-lg\\:hover\\:border-left-105:hover{border-left:0.75rem solid}.mobile-lg\\:border-2{border:1rem solid}.mobile-lg\\:hover\\:border-2:hover{border:1rem solid}.mobile-lg\\:border-y-2{border-top:1rem solid;border-bottom:1rem solid}.mobile-lg\\:hover\\:border-y-2:hover{border-top:1rem solid;border-bottom:1rem solid}.mobile-lg\\:border-x-2{border-left:1rem solid;border-right:1rem solid}.mobile-lg\\:hover\\:border-x-2:hover{border-left:1rem solid;border-right:1rem solid}.mobile-lg\\:border-top-2{border-top:1rem solid}.mobile-lg\\:hover\\:border-top-2:hover{border-top:1rem solid}.mobile-lg\\:border-right-2{border-right:1rem solid}.mobile-lg\\:hover\\:border-right-2:hover{border-right:1rem solid}.mobile-lg\\:border-bottom-2{border-bottom:1rem solid}.mobile-lg\\:hover\\:border-bottom-2:hover{border-bottom:1rem solid}.mobile-lg\\:border-left-2{border-left:1rem solid}.mobile-lg\\:hover\\:border-left-2:hover{border-left:1rem solid}.mobile-lg\\:border-205{border:1.25rem solid}.mobile-lg\\:hover\\:border-205:hover{border:1.25rem solid}.mobile-lg\\:border-y-205{border-top:1.25rem solid;border-bottom:1.25rem solid}.mobile-lg\\:hover\\:border-y-205:hover{border-top:1.25rem solid;border-bottom:1.25rem solid}.mobile-lg\\:border-x-205{border-left:1.25rem solid;border-right:1.25rem solid}.mobile-lg\\:hover\\:border-x-205:hover{border-left:1.25rem solid;border-right:1.25rem solid}.mobile-lg\\:border-top-205{border-top:1.25rem solid}.mobile-lg\\:hover\\:border-top-205:hover{border-top:1.25rem solid}.mobile-lg\\:border-right-205{border-right:1.25rem solid}.mobile-lg\\:hover\\:border-right-205:hover{border-right:1.25rem solid}.mobile-lg\\:border-bottom-205{border-bottom:1.25rem solid}.mobile-lg\\:hover\\:border-bottom-205:hover{border-bottom:1.25rem solid}.mobile-lg\\:border-left-205{border-left:1.25rem solid}.mobile-lg\\:hover\\:border-left-205:hover{border-left:1.25rem solid}.mobile-lg\\:border-3{border:1.5rem solid}.mobile-lg\\:hover\\:border-3:hover{border:1.5rem solid}.mobile-lg\\:border-y-3{border-top:1.5rem solid;border-bottom:1.5rem solid}.mobile-lg\\:hover\\:border-y-3:hover{border-top:1.5rem solid;border-bottom:1.5rem solid}.mobile-lg\\:border-x-3{border-left:1.5rem solid;border-right:1.5rem solid}.mobile-lg\\:hover\\:border-x-3:hover{border-left:1.5rem solid;border-right:1.5rem solid}.mobile-lg\\:border-top-3{border-top:1.5rem solid}.mobile-lg\\:hover\\:border-top-3:hover{border-top:1.5rem solid}.mobile-lg\\:border-right-3{border-right:1.5rem solid}.mobile-lg\\:hover\\:border-right-3:hover{border-right:1.5rem solid}.mobile-lg\\:border-bottom-3{border-bottom:1.5rem solid}.mobile-lg\\:hover\\:border-bottom-3:hover{border-bottom:1.5rem solid}.mobile-lg\\:border-left-3{border-left:1.5rem solid}.mobile-lg\\:hover\\:border-left-3:hover{border-left:1.5rem solid}.mobile-lg\\:border-0{border:0 solid}.mobile-lg\\:hover\\:border-0:hover{border:0 solid}.mobile-lg\\:border-y-0{border-top:0 solid;border-bottom:0 solid}.mobile-lg\\:hover\\:border-y-0:hover{border-top:0 solid;border-bottom:0 solid}.mobile-lg\\:border-x-0{border-left:0 solid;border-right:0 solid}.mobile-lg\\:hover\\:border-x-0:hover{border-left:0 solid;border-right:0 solid}.mobile-lg\\:border-top-0{border-top:0 solid}.mobile-lg\\:hover\\:border-top-0:hover{border-top:0 solid}.mobile-lg\\:border-right-0{border-right:0 solid}.mobile-lg\\:hover\\:border-right-0:hover{border-right:0 solid}.mobile-lg\\:border-bottom-0{border-bottom:0 solid}.mobile-lg\\:hover\\:border-bottom-0:hover{border-bottom:0 solid}.mobile-lg\\:border-left-0{border-left:0 solid}.mobile-lg\\:hover\\:border-left-0:hover{border-left:0 solid}.mobile-lg\\:border{border:1px solid}.mobile-lg\\:hover\\:border:hover{border:1px solid}.mobile-lg\\:border-y{border-top:1px solid;border-bottom:1px solid}.mobile-lg\\:hover\\:border-y:hover{border-top:1px solid;border-bottom:1px solid}.mobile-lg\\:border-x{border-left:1px solid;border-right:1px solid}.mobile-lg\\:hover\\:border-x:hover{border-left:1px solid;border-right:1px solid}.mobile-lg\\:border-top{border-top:1px solid}.mobile-lg\\:hover\\:border-top:hover{border-top:1px solid}.mobile-lg\\:border-right{border-right:1px solid}.mobile-lg\\:hover\\:border-right:hover{border-right:1px solid}.mobile-lg\\:border-bottom{border-bottom:1px solid}.mobile-lg\\:hover\\:border-bottom:hover{border-bottom:1px solid}.mobile-lg\\:border-left{border-left:1px solid}.mobile-lg\\:hover\\:border-left:hover{border-left:1px solid}.mobile-lg\\:border-transparent{border-color:transparent}.mobile-lg\\:hover\\:border-transparent:hover{border-color:transparent}.mobile-lg\\:border-black{border-color:black}.mobile-lg\\:hover\\:border-black:hover{border-color:black}.mobile-lg\\:border-white{border-color:white}.mobile-lg\\:hover\\:border-white:hover{border-color:white}.mobile-lg\\:border-red{border-color:#e52207}.mobile-lg\\:hover\\:border-red:hover{border-color:#e52207}.mobile-lg\\:border-orange{border-color:#e66f0e}.mobile-lg\\:hover\\:border-orange:hover{border-color:#e66f0e}.mobile-lg\\:border-gold{border-color:#ffbe2e}.mobile-lg\\:hover\\:border-gold:hover{border-color:#ffbe2e}.mobile-lg\\:border-yellow{border-color:#fee685}.mobile-lg\\:hover\\:border-yellow:hover{border-color:#fee685}.mobile-lg\\:border-green{border-color:#538200}.mobile-lg\\:hover\\:border-green:hover{border-color:#538200}.mobile-lg\\:border-mint{border-color:#04c585}.mobile-lg\\:hover\\:border-mint:hover{border-color:#04c585}.mobile-lg\\:border-cyan{border-color:#009ec1}.mobile-lg\\:hover\\:border-cyan:hover{border-color:#009ec1}.mobile-lg\\:border-blue{border-color:#0076d6}.mobile-lg\\:hover\\:border-blue:hover{border-color:#0076d6}.mobile-lg\\:border-indigo{border-color:#676cc8}.mobile-lg\\:hover\\:border-indigo:hover{border-color:#676cc8}.mobile-lg\\:border-violet{border-color:#8168b3}.mobile-lg\\:hover\\:border-violet:hover{border-color:#8168b3}.mobile-lg\\:border-magenta{border-color:#d72d79}.mobile-lg\\:hover\\:border-magenta:hover{border-color:#d72d79}.mobile-lg\\:border-gray-5{border-color:#f0f0f0}.mobile-lg\\:hover\\:border-gray-5:hover{border-color:#f0f0f0}.mobile-lg\\:border-gray-10{border-color:#e6e6e6}.mobile-lg\\:hover\\:border-gray-10:hover{border-color:#e6e6e6}.mobile-lg\\:border-gray-30{border-color:#adadad}.mobile-lg\\:hover\\:border-gray-30:hover{border-color:#adadad}.mobile-lg\\:border-gray-50{border-color:#757575}.mobile-lg\\:hover\\:border-gray-50:hover{border-color:#757575}.mobile-lg\\:border-gray-70{border-color:#454545}.mobile-lg\\:hover\\:border-gray-70:hover{border-color:#454545}.mobile-lg\\:border-gray-90{border-color:#1b1b1b}.mobile-lg\\:hover\\:border-gray-90:hover{border-color:#1b1b1b}.mobile-lg\\:border-base-lightest{border-color:#f0f0f0}.mobile-lg\\:hover\\:border-base-lightest:hover{border-color:#f0f0f0}.mobile-lg\\:border-base-lighter{border-color:#dfe1e2}.mobile-lg\\:hover\\:border-base-lighter:hover{border-color:#dfe1e2}.mobile-lg\\:border-base-light{border-color:#a9aeb1}.mobile-lg\\:hover\\:border-base-light:hover{border-color:#a9aeb1}.mobile-lg\\:border-base{border-color:#71767a}.mobile-lg\\:hover\\:border-base:hover{border-color:#71767a}.mobile-lg\\:border-base-dark{border-color:#565c65}.mobile-lg\\:hover\\:border-base-dark:hover{border-color:#565c65}.mobile-lg\\:border-base-darker{border-color:#3d4551}.mobile-lg\\:hover\\:border-base-darker:hover{border-color:#3d4551}.mobile-lg\\:border-base-darkest{border-color:#1b1b1b}.mobile-lg\\:hover\\:border-base-darkest:hover{border-color:#1b1b1b}.mobile-lg\\:border-ink{border-color:#1b1b1b}.mobile-lg\\:hover\\:border-ink:hover{border-color:#1b1b1b}.mobile-lg\\:border-primary-lighter{border-color:#d9e8f6}.mobile-lg\\:hover\\:border-primary-lighter:hover{border-color:#d9e8f6}.mobile-lg\\:border-primary-light{border-color:#73b3e7}.mobile-lg\\:hover\\:border-primary-light:hover{border-color:#73b3e7}.mobile-lg\\:border-primary{border-color:#005ea2}.mobile-lg\\:hover\\:border-primary:hover{border-color:#005ea2}.mobile-lg\\:border-primary-vivid{border-color:#0050d8}.mobile-lg\\:hover\\:border-primary-vivid:hover{border-color:#0050d8}.mobile-lg\\:border-primary-dark{border-color:#1a4480}.mobile-lg\\:hover\\:border-primary-dark:hover{border-color:#1a4480}.mobile-lg\\:border-primary-darker{border-color:#162e51}.mobile-lg\\:hover\\:border-primary-darker:hover{border-color:#162e51}.mobile-lg\\:border-secondary-lighter{border-color:#f3e1e4}.mobile-lg\\:hover\\:border-secondary-lighter:hover{border-color:#f3e1e4}.mobile-lg\\:border-secondary-light{border-color:#f2938c}.mobile-lg\\:hover\\:border-secondary-light:hover{border-color:#f2938c}.mobile-lg\\:border-secondary{border-color:#d83933}.mobile-lg\\:hover\\:border-secondary:hover{border-color:#d83933}.mobile-lg\\:border-secondary-vivid{border-color:#e41d3d}.mobile-lg\\:hover\\:border-secondary-vivid:hover{border-color:#e41d3d}.mobile-lg\\:border-secondary-dark{border-color:#b50909}.mobile-lg\\:hover\\:border-secondary-dark:hover{border-color:#b50909}.mobile-lg\\:border-secondary-darker{border-color:#8b0a03}.mobile-lg\\:hover\\:border-secondary-darker:hover{border-color:#8b0a03}.mobile-lg\\:border-accent-warm-darker{border-color:#775540}.mobile-lg\\:hover\\:border-accent-warm-darker:hover{border-color:#775540}.mobile-lg\\:border-accent-warm-dark{border-color:#c05600}.mobile-lg\\:hover\\:border-accent-warm-dark:hover{border-color:#c05600}.mobile-lg\\:border-accent-warm{border-color:#fa9441}.mobile-lg\\:hover\\:border-accent-warm:hover{border-color:#fa9441}.mobile-lg\\:border-accent-warm-light{border-color:#ffbc78}.mobile-lg\\:hover\\:border-accent-warm-light:hover{border-color:#ffbc78}.mobile-lg\\:border-accent-warm-lighter{border-color:#f2e4d4}.mobile-lg\\:hover\\:border-accent-warm-lighter:hover{border-color:#f2e4d4}.mobile-lg\\:border-accent-cool-darker{border-color:#07648d}.mobile-lg\\:hover\\:border-accent-cool-darker:hover{border-color:#07648d}.mobile-lg\\:border-accent-cool-dark{border-color:#28a0cb}.mobile-lg\\:hover\\:border-accent-cool-dark:hover{border-color:#28a0cb}.mobile-lg\\:border-accent-cool{border-color:#00bde3}.mobile-lg\\:hover\\:border-accent-cool:hover{border-color:#00bde3}.mobile-lg\\:border-accent-cool-light{border-color:#97d4ea}.mobile-lg\\:hover\\:border-accent-cool-light:hover{border-color:#97d4ea}.mobile-lg\\:border-accent-cool-lighter{border-color:#e1f3f8}.mobile-lg\\:hover\\:border-accent-cool-lighter:hover{border-color:#e1f3f8}.mobile-lg\\:border-error-lighter{border-color:#f4e3db}.mobile-lg\\:hover\\:border-error-lighter:hover{border-color:#f4e3db}.mobile-lg\\:border-error-light{border-color:#f39268}.mobile-lg\\:hover\\:border-error-light:hover{border-color:#f39268}.mobile-lg\\:border-error{border-color:#d54309}.mobile-lg\\:hover\\:border-error:hover{border-color:#d54309}.mobile-lg\\:border-error-dark{border-color:#b50909}.mobile-lg\\:hover\\:border-error-dark:hover{border-color:#b50909}.mobile-lg\\:border-error-darker{border-color:#6f3331}.mobile-lg\\:hover\\:border-error-darker:hover{border-color:#6f3331}.mobile-lg\\:border-warning-lighter{border-color:#faf3d1}.mobile-lg\\:hover\\:border-warning-lighter:hover{border-color:#faf3d1}.mobile-lg\\:border-warning-light{border-color:#fee685}.mobile-lg\\:hover\\:border-warning-light:hover{border-color:#fee685}.mobile-lg\\:border-warning{border-color:#ffbe2e}.mobile-lg\\:hover\\:border-warning:hover{border-color:#ffbe2e}.mobile-lg\\:border-warning-dark{border-color:#e5a000}.mobile-lg\\:hover\\:border-warning-dark:hover{border-color:#e5a000}.mobile-lg\\:border-warning-darker{border-color:#936f38}.mobile-lg\\:hover\\:border-warning-darker:hover{border-color:#936f38}.mobile-lg\\:border-success-lighter{border-color:#ecf3ec}.mobile-lg\\:hover\\:border-success-lighter:hover{border-color:#ecf3ec}.mobile-lg\\:border-success-light{border-color:#70e17b}.mobile-lg\\:hover\\:border-success-light:hover{border-color:#70e17b}.mobile-lg\\:border-success{border-color:#00a91c}.mobile-lg\\:hover\\:border-success:hover{border-color:#00a91c}.mobile-lg\\:border-success-dark{border-color:#008817}.mobile-lg\\:hover\\:border-success-dark:hover{border-color:#008817}.mobile-lg\\:border-success-darker{border-color:#216e1f}.mobile-lg\\:hover\\:border-success-darker:hover{border-color:#216e1f}.mobile-lg\\:border-info-lighter{border-color:#e7f6f8}.mobile-lg\\:hover\\:border-info-lighter:hover{border-color:#e7f6f8}.mobile-lg\\:border-info-light{border-color:#99deea}.mobile-lg\\:hover\\:border-info-light:hover{border-color:#99deea}.mobile-lg\\:border-info{border-color:#00bde3}.mobile-lg\\:hover\\:border-info:hover{border-color:#00bde3}.mobile-lg\\:border-info-dark{border-color:#009ec1}.mobile-lg\\:hover\\:border-info-dark:hover{border-color:#009ec1}.mobile-lg\\:border-info-darker{border-color:#2e6276}.mobile-lg\\:hover\\:border-info-darker:hover{border-color:#2e6276}.mobile-lg\\:border-disabled-lighter{border-color:#c9c9c9}.mobile-lg\\:hover\\:border-disabled-lighter:hover{border-color:#c9c9c9}.mobile-lg\\:border-disabled-light{border-color:#919191}.mobile-lg\\:hover\\:border-disabled-light:hover{border-color:#919191}.mobile-lg\\:border-disabled{border-color:#757575}.mobile-lg\\:hover\\:border-disabled:hover{border-color:#757575}.mobile-lg\\:border-disabled-dark{border-color:#454545}.mobile-lg\\:hover\\:border-disabled-dark:hover{border-color:#454545}.mobile-lg\\:border-disabled-darker{border-color:#1b1b1b}.mobile-lg\\:hover\\:border-disabled-darker:hover{border-color:#1b1b1b}.mobile-lg\\:border-emergency{border-color:#9c3d10}.mobile-lg\\:hover\\:border-emergency:hover{border-color:#9c3d10}.mobile-lg\\:border-emergency-dark{border-color:#332d29}.mobile-lg\\:hover\\:border-emergency-dark:hover{border-color:#332d29}.mobile-lg\\:radius-0{border-radius:0}.mobile-lg\\:radius-top-0{border-top-left-radius:0;border-top-right-radius:0}.mobile-lg\\:radius-right-0{border-top-right-radius:0;border-bottom-right-radius:0}.mobile-lg\\:radius-bottom-0{border-bottom-left-radius:0;border-bottom-right-radius:0}.mobile-lg\\:radius-left-0{border-top-left-radius:0;border-bottom-left-radius:0}.mobile-lg\\:radius-sm{border-radius:2px}.mobile-lg\\:radius-top-sm{border-top-left-radius:2px;border-top-right-radius:2px}.mobile-lg\\:radius-right-sm{border-top-right-radius:2px;border-bottom-right-radius:2px}.mobile-lg\\:radius-bottom-sm{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.mobile-lg\\:radius-left-sm{border-top-left-radius:2px;border-bottom-left-radius:2px}.mobile-lg\\:radius-md{border-radius:0.25rem}.mobile-lg\\:radius-top-md{border-top-left-radius:0.25rem;border-top-right-radius:0.25rem}.mobile-lg\\:radius-right-md{border-top-right-radius:0.25rem;border-bottom-right-radius:0.25rem}.mobile-lg\\:radius-bottom-md{border-bottom-left-radius:0.25rem;border-bottom-right-radius:0.25rem}.mobile-lg\\:radius-left-md{border-top-left-radius:0.25rem;border-bottom-left-radius:0.25rem}.mobile-lg\\:radius-lg{border-radius:0.5rem}.mobile-lg\\:radius-top-lg{border-top-left-radius:0.5rem;border-top-right-radius:0.5rem}.mobile-lg\\:radius-right-lg{border-top-right-radius:0.5rem;border-bottom-right-radius:0.5rem}.mobile-lg\\:radius-bottom-lg{border-bottom-left-radius:0.5rem;border-bottom-right-radius:0.5rem}.mobile-lg\\:radius-left-lg{border-top-left-radius:0.5rem;border-bottom-left-radius:0.5rem}.mobile-lg\\:radius-pill{border-radius:99rem}.mobile-lg\\:radius-top-pill{border-top-left-radius:99rem;border-top-right-radius:99rem}.mobile-lg\\:radius-right-pill{border-top-right-radius:99rem;border-bottom-right-radius:99rem}.mobile-lg\\:radius-bottom-pill{border-bottom-left-radius:99rem;border-bottom-right-radius:99rem}.mobile-lg\\:radius-left-pill{border-top-left-radius:99rem;border-bottom-left-radius:99rem}.mobile-lg\\:display-block{display:block}.mobile-lg\\:display-flex{display:flex}.mobile-lg\\:display-none{display:none}.mobile-lg\\:display-inline{display:inline}.mobile-lg\\:display-inline-block{display:inline-block}.mobile-lg\\:display-inline-flex{display:inline-flex}.mobile-lg\\:display-table{display:table}.mobile-lg\\:display-table-cell{display:table-cell}.mobile-lg\\:display-table-row{display:table-row}.mobile-lg\\:font-mono-3xs{font-size:0.77rem}.mobile-lg\\:font-mono-2xs{font-size:0.83rem}.mobile-lg\\:font-mono-xs{font-size:0.89rem}.mobile-lg\\:font-mono-sm{font-size:0.95rem}.mobile-lg\\:font-mono-md{font-size:1.01rem}.mobile-lg\\:font-mono-lg{font-size:1.31rem}.mobile-lg\\:font-mono-xl{font-size:1.91rem}.mobile-lg\\:font-mono-2xl{font-size:2.38rem}.mobile-lg\\:font-mono-3xl{font-size:2.86rem}.mobile-lg\\:font-sans-3xs{font-size:0.87rem}.mobile-lg\\:font-sans-2xs{font-size:0.93rem}.mobile-lg\\:font-sans-xs{font-size:1rem}.mobile-lg\\:font-sans-sm{font-size:1.06rem}.mobile-lg\\:font-sans-md{font-size:1.13rem}.mobile-lg\\:font-sans-lg{font-size:1.46rem}.mobile-lg\\:font-sans-xl{font-size:2.13rem}.mobile-lg\\:font-sans-2xl{font-size:2.66rem}.mobile-lg\\:font-sans-3xl{font-size:3.19rem}.mobile-lg\\:font-serif-3xs{font-size:0.79rem}.mobile-lg\\:font-serif-2xs{font-size:0.85rem}.mobile-lg\\:font-serif-xs{font-size:0.91rem}.mobile-lg\\:font-serif-sm{font-size:0.98rem}.mobile-lg\\:font-serif-md{font-size:1.04rem}.mobile-lg\\:font-serif-lg{font-size:1.34rem}.mobile-lg\\:font-serif-xl{font-size:1.95rem}.mobile-lg\\:font-serif-2xl{font-size:2.44rem}.mobile-lg\\:font-serif-3xl{font-size:2.93rem}.mobile-lg\\:font-heading-3xs{font-size:0.79rem}.mobile-lg\\:font-heading-2xs{font-size:0.85rem}.mobile-lg\\:font-heading-xs{font-size:0.91rem}.mobile-lg\\:font-heading-sm{font-size:0.98rem}.mobile-lg\\:font-heading-md{font-size:1.04rem}.mobile-lg\\:font-heading-lg{font-size:1.34rem}.mobile-lg\\:font-heading-xl{font-size:1.95rem}.mobile-lg\\:font-heading-2xl{font-size:2.44rem}.mobile-lg\\:font-heading-3xl{font-size:2.93rem}.mobile-lg\\:font-body-3xs{font-size:0.87rem}.mobile-lg\\:font-body-2xs{font-size:0.93rem}.mobile-lg\\:font-body-xs{font-size:1rem}.mobile-lg\\:font-body-sm{font-size:1.06rem}.mobile-lg\\:font-body-md{font-size:1.13rem}.mobile-lg\\:font-body-lg{font-size:1.46rem}.mobile-lg\\:font-body-xl{font-size:2.13rem}.mobile-lg\\:font-body-2xl{font-size:2.66rem}.mobile-lg\\:font-body-3xl{font-size:3.19rem}.mobile-lg\\:font-code-3xs{font-size:0.77rem}.mobile-lg\\:font-code-2xs{font-size:0.83rem}.mobile-lg\\:font-code-xs{font-size:0.89rem}.mobile-lg\\:font-code-sm{font-size:0.95rem}.mobile-lg\\:font-code-md{font-size:1.01rem}.mobile-lg\\:font-code-lg{font-size:1.31rem}.mobile-lg\\:font-code-xl{font-size:1.91rem}.mobile-lg\\:font-code-2xl{font-size:2.38rem}.mobile-lg\\:font-code-3xl{font-size:2.86rem}.mobile-lg\\:font-alt-3xs{font-size:0.79rem}.mobile-lg\\:font-alt-2xs{font-size:0.85rem}.mobile-lg\\:font-alt-xs{font-size:0.91rem}.mobile-lg\\:font-alt-sm{font-size:0.98rem}.mobile-lg\\:font-alt-md{font-size:1.04rem}.mobile-lg\\:font-alt-lg{font-size:1.34rem}.mobile-lg\\:font-alt-xl{font-size:1.95rem}.mobile-lg\\:font-alt-2xl{font-size:2.44rem}.mobile-lg\\:font-alt-3xl{font-size:2.93rem}.mobile-lg\\:font-ui-3xs{font-size:0.87rem}.mobile-lg\\:font-ui-2xs{font-size:0.93rem}.mobile-lg\\:font-ui-xs{font-size:1rem}.mobile-lg\\:font-ui-sm{font-size:1.06rem}.mobile-lg\\:font-ui-md{font-size:1.13rem}.mobile-lg\\:font-ui-lg{font-size:1.46rem}.mobile-lg\\:font-ui-xl{font-size:2.13rem}.mobile-lg\\:font-ui-2xl{font-size:2.66rem}.mobile-lg\\:font-ui-3xl{font-size:3.19rem}.mobile-lg\\:text-light{font-weight:300}.mobile-lg\\:text-normal{font-weight:normal}.mobile-lg\\:text-bold{font-weight:700}.mobile-lg\\:flex-justify-center{justify-content:center}.mobile-lg\\:flex-justify-start{justify-content:flex-start}.mobile-lg\\:flex-justify-end{justify-content:flex-end}.mobile-lg\\:flex-justify{justify-content:space-between}.mobile-lg\\:line-height-sans-1{line-height:0.9}.mobile-lg\\:line-height-sans-2{line-height:1.1}.mobile-lg\\:line-height-sans-3{line-height:1.3}.mobile-lg\\:line-height-sans-4{line-height:1.4}.mobile-lg\\:line-height-sans-5{line-height:1.5}.mobile-lg\\:line-height-sans-6{line-height:1.6}.mobile-lg\\:line-height-serif-1{line-height:1}.mobile-lg\\:line-height-serif-2{line-height:1.2}.mobile-lg\\:line-height-serif-3{line-height:1.4}.mobile-lg\\:line-height-serif-4{line-height:1.5}.mobile-lg\\:line-height-serif-5{line-height:1.7}.mobile-lg\\:line-height-serif-6{line-height:1.8}.mobile-lg\\:line-height-mono-1{line-height:1}.mobile-lg\\:line-height-mono-2{line-height:1.3}.mobile-lg\\:line-height-mono-3{line-height:1.4}.mobile-lg\\:line-height-mono-4{line-height:1.6}.mobile-lg\\:line-height-mono-5{line-height:1.7}.mobile-lg\\:line-height-mono-6{line-height:1.8}.mobile-lg\\:line-height-heading-1{line-height:1}.mobile-lg\\:line-height-heading-2{line-height:1.2}.mobile-lg\\:line-height-heading-3{line-height:1.4}.mobile-lg\\:line-height-heading-4{line-height:1.5}.mobile-lg\\:line-height-heading-5{line-height:1.7}.mobile-lg\\:line-height-heading-6{line-height:1.8}.mobile-lg\\:line-height-ui-1{line-height:0.9}.mobile-lg\\:line-height-ui-2{line-height:1.1}.mobile-lg\\:line-height-ui-3{line-height:1.3}.mobile-lg\\:line-height-ui-4{line-height:1.4}.mobile-lg\\:line-height-ui-5{line-height:1.5}.mobile-lg\\:line-height-ui-6{line-height:1.6}.mobile-lg\\:line-height-body-1{line-height:0.9}.mobile-lg\\:line-height-body-2{line-height:1.1}.mobile-lg\\:line-height-body-3{line-height:1.3}.mobile-lg\\:line-height-body-4{line-height:1.4}.mobile-lg\\:line-height-body-5{line-height:1.5}.mobile-lg\\:line-height-body-6{line-height:1.6}.mobile-lg\\:line-height-code-1{line-height:1}.mobile-lg\\:line-height-code-2{line-height:1.3}.mobile-lg\\:line-height-code-3{line-height:1.4}.mobile-lg\\:line-height-code-4{line-height:1.6}.mobile-lg\\:line-height-code-5{line-height:1.7}.mobile-lg\\:line-height-code-6{line-height:1.8}.mobile-lg\\:line-height-alt-1{line-height:1}.mobile-lg\\:line-height-alt-2{line-height:1.2}.mobile-lg\\:line-height-alt-3{line-height:1.4}.mobile-lg\\:line-height-alt-4{line-height:1.5}.mobile-lg\\:line-height-alt-5{line-height:1.7}.mobile-lg\\:line-height-alt-6{line-height:1.8}.mobile-lg\\:margin-neg-1px{margin:-1px}.mobile-lg\\:margin-neg-2px{margin:-2px}.mobile-lg\\:margin-neg-05{margin:-0.25rem}.mobile-lg\\:margin-neg-1{margin:-0.5rem}.mobile-lg\\:margin-neg-105{margin:-0.75rem}.mobile-lg\\:margin-neg-2{margin:-1rem}.mobile-lg\\:margin-neg-205{margin:-1.25rem}.mobile-lg\\:margin-neg-3{margin:-1.5rem}.mobile-lg\\:margin-1px{margin:1px}.mobile-lg\\:margin-2px{margin:2px}.mobile-lg\\:margin-05{margin:0.25rem}.mobile-lg\\:margin-1{margin:0.5rem}.mobile-lg\\:margin-105{margin:0.75rem}.mobile-lg\\:margin-2{margin:1rem}.mobile-lg\\:margin-205{margin:1.25rem}.mobile-lg\\:margin-3{margin:1.5rem}.mobile-lg\\:margin-neg-4{margin:-2rem}.mobile-lg\\:margin-neg-5{margin:-2.5rem}.mobile-lg\\:margin-neg-6{margin:-3rem}.mobile-lg\\:margin-neg-7{margin:-3.5rem}.mobile-lg\\:margin-neg-8{margin:-4rem}.mobile-lg\\:margin-neg-9{margin:-4.5rem}.mobile-lg\\:margin-neg-10{margin:-5rem}.mobile-lg\\:margin-neg-15{margin:-7.5rem}.mobile-lg\\:margin-4{margin:2rem}.mobile-lg\\:margin-5{margin:2.5rem}.mobile-lg\\:margin-6{margin:3rem}.mobile-lg\\:margin-7{margin:3.5rem}.mobile-lg\\:margin-8{margin:4rem}.mobile-lg\\:margin-9{margin:4.5rem}.mobile-lg\\:margin-10{margin:5rem}.mobile-lg\\:margin-15{margin:7.5rem}.mobile-lg\\:margin-05em{margin:0.5em}.mobile-lg\\:margin-1em{margin:1em}.mobile-lg\\:margin-105em{margin:1.5em}.mobile-lg\\:margin-2em{margin:2em}.mobile-lg\\:margin-0{margin:0}.mobile-lg\\:margin-y-1px{margin-top:1px;margin-bottom:1px}.mobile-lg\\:margin-top-1px{margin-top:1px}.mobile-lg\\:margin-bottom-1px{margin-bottom:1px}.mobile-lg\\:margin-y-2px{margin-top:2px;margin-bottom:2px}.mobile-lg\\:margin-top-2px{margin-top:2px}.mobile-lg\\:margin-bottom-2px{margin-bottom:2px}.mobile-lg\\:margin-y-05{margin-top:0.25rem;margin-bottom:0.25rem}.mobile-lg\\:margin-top-05{margin-top:0.25rem}.mobile-lg\\:margin-bottom-05{margin-bottom:0.25rem}.mobile-lg\\:margin-y-1{margin-top:0.5rem;margin-bottom:0.5rem}.mobile-lg\\:margin-top-1{margin-top:0.5rem}.mobile-lg\\:margin-bottom-1{margin-bottom:0.5rem}.mobile-lg\\:margin-y-105{margin-top:0.75rem;margin-bottom:0.75rem}.mobile-lg\\:margin-top-105{margin-top:0.75rem}.mobile-lg\\:margin-bottom-105{margin-bottom:0.75rem}.mobile-lg\\:margin-y-2{margin-top:1rem;margin-bottom:1rem}.mobile-lg\\:margin-top-2{margin-top:1rem}.mobile-lg\\:margin-bottom-2{margin-bottom:1rem}.mobile-lg\\:margin-y-205{margin-top:1.25rem;margin-bottom:1.25rem}.mobile-lg\\:margin-top-205{margin-top:1.25rem}.mobile-lg\\:margin-bottom-205{margin-bottom:1.25rem}.mobile-lg\\:margin-y-3{margin-top:1.5rem;margin-bottom:1.5rem}.mobile-lg\\:margin-top-3{margin-top:1.5rem}.mobile-lg\\:margin-bottom-3{margin-bottom:1.5rem}.mobile-lg\\:margin-y-neg-1px{margin-top:-1px;margin-bottom:-1px}.mobile-lg\\:margin-top-neg-1px{margin-top:-1px}.mobile-lg\\:margin-bottom-neg-1px{margin-bottom:-1px}.mobile-lg\\:margin-y-neg-2px{margin-top:-2px;margin-bottom:-2px}.mobile-lg\\:margin-top-neg-2px{margin-top:-2px}.mobile-lg\\:margin-bottom-neg-2px{margin-bottom:-2px}.mobile-lg\\:margin-y-neg-05{margin-top:-0.25rem;margin-bottom:-0.25rem}.mobile-lg\\:margin-top-neg-05{margin-top:-0.25rem}.mobile-lg\\:margin-bottom-neg-05{margin-bottom:-0.25rem}.mobile-lg\\:margin-y-neg-1{margin-top:-0.5rem;margin-bottom:-0.5rem}.mobile-lg\\:margin-top-neg-1{margin-top:-0.5rem}.mobile-lg\\:margin-bottom-neg-1{margin-bottom:-0.5rem}.mobile-lg\\:margin-y-neg-105{margin-top:-0.75rem;margin-bottom:-0.75rem}.mobile-lg\\:margin-top-neg-105{margin-top:-0.75rem}.mobile-lg\\:margin-bottom-neg-105{margin-bottom:-0.75rem}.mobile-lg\\:margin-y-neg-2{margin-top:-1rem;margin-bottom:-1rem}.mobile-lg\\:margin-top-neg-2{margin-top:-1rem}.mobile-lg\\:margin-bottom-neg-2{margin-bottom:-1rem}.mobile-lg\\:margin-y-neg-205{margin-top:-1.25rem;margin-bottom:-1.25rem}.mobile-lg\\:margin-top-neg-205{margin-top:-1.25rem}.mobile-lg\\:margin-bottom-neg-205{margin-bottom:-1.25rem}.mobile-lg\\:margin-y-neg-3{margin-top:-1.5rem;margin-bottom:-1.5rem}.mobile-lg\\:margin-top-neg-3{margin-top:-1.5rem}.mobile-lg\\:margin-bottom-neg-3{margin-bottom:-1.5rem}.mobile-lg\\:margin-y-neg-4{margin-top:-2rem;margin-bottom:-2rem}.mobile-lg\\:margin-top-neg-4{margin-top:-2rem}.mobile-lg\\:margin-bottom-neg-4{margin-bottom:-2rem}.mobile-lg\\:margin-y-neg-5{margin-top:-2.5rem;margin-bottom:-2.5rem}.mobile-lg\\:margin-top-neg-5{margin-top:-2.5rem}.mobile-lg\\:margin-bottom-neg-5{margin-bottom:-2.5rem}.mobile-lg\\:margin-y-neg-6{margin-top:-3rem;margin-bottom:-3rem}.mobile-lg\\:margin-top-neg-6{margin-top:-3rem}.mobile-lg\\:margin-bottom-neg-6{margin-bottom:-3rem}.mobile-lg\\:margin-y-neg-7{margin-top:-3.5rem;margin-bottom:-3.5rem}.mobile-lg\\:margin-top-neg-7{margin-top:-3.5rem}.mobile-lg\\:margin-bottom-neg-7{margin-bottom:-3.5rem}.mobile-lg\\:margin-y-neg-8{margin-top:-4rem;margin-bottom:-4rem}.mobile-lg\\:margin-top-neg-8{margin-top:-4rem}.mobile-lg\\:margin-bottom-neg-8{margin-bottom:-4rem}.mobile-lg\\:margin-y-neg-9{margin-top:-4.5rem;margin-bottom:-4.5rem}.mobile-lg\\:margin-top-neg-9{margin-top:-4.5rem}.mobile-lg\\:margin-bottom-neg-9{margin-bottom:-4.5rem}.mobile-lg\\:margin-y-neg-10{margin-top:-5rem;margin-bottom:-5rem}.mobile-lg\\:margin-top-neg-10{margin-top:-5rem}.mobile-lg\\:margin-bottom-neg-10{margin-bottom:-5rem}.mobile-lg\\:margin-y-neg-15{margin-top:-7.5rem;margin-bottom:-7.5rem}.mobile-lg\\:margin-top-neg-15{margin-top:-7.5rem}.mobile-lg\\:margin-bottom-neg-15{margin-bottom:-7.5rem}.mobile-lg\\:margin-y-4{margin-top:2rem;margin-bottom:2rem}.mobile-lg\\:margin-top-4{margin-top:2rem}.mobile-lg\\:margin-bottom-4{margin-bottom:2rem}.mobile-lg\\:margin-y-5{margin-top:2.5rem;margin-bottom:2.5rem}.mobile-lg\\:margin-top-5{margin-top:2.5rem}.mobile-lg\\:margin-bottom-5{margin-bottom:2.5rem}.mobile-lg\\:margin-y-6{margin-top:3rem;margin-bottom:3rem}.mobile-lg\\:margin-top-6{margin-top:3rem}.mobile-lg\\:margin-bottom-6{margin-bottom:3rem}.mobile-lg\\:margin-y-7{margin-top:3.5rem;margin-bottom:3.5rem}.mobile-lg\\:margin-top-7{margin-top:3.5rem}.mobile-lg\\:margin-bottom-7{margin-bottom:3.5rem}.mobile-lg\\:margin-y-8{margin-top:4rem;margin-bottom:4rem}.mobile-lg\\:margin-top-8{margin-top:4rem}.mobile-lg\\:margin-bottom-8{margin-bottom:4rem}.mobile-lg\\:margin-y-9{margin-top:4.5rem;margin-bottom:4.5rem}.mobile-lg\\:margin-top-9{margin-top:4.5rem}.mobile-lg\\:margin-bottom-9{margin-bottom:4.5rem}.mobile-lg\\:margin-y-10{margin-top:5rem;margin-bottom:5rem}.mobile-lg\\:margin-top-10{margin-top:5rem}.mobile-lg\\:margin-bottom-10{margin-bottom:5rem}.mobile-lg\\:margin-y-15{margin-top:7.5rem;margin-bottom:7.5rem}.mobile-lg\\:margin-top-15{margin-top:7.5rem}.mobile-lg\\:margin-bottom-15{margin-bottom:7.5rem}.mobile-lg\\:margin-y-05em{margin-top:0.5em;margin-bottom:0.5em}.mobile-lg\\:margin-top-05em{margin-top:0.5em}.mobile-lg\\:margin-bottom-05em{margin-bottom:0.5em}.mobile-lg\\:margin-y-1em{margin-top:1em;margin-bottom:1em}.mobile-lg\\:margin-top-1em{margin-top:1em}.mobile-lg\\:margin-bottom-1em{margin-bottom:1em}.mobile-lg\\:margin-y-105em{margin-top:1.5em;margin-bottom:1.5em}.mobile-lg\\:margin-top-105em{margin-top:1.5em}.mobile-lg\\:margin-bottom-105em{margin-bottom:1.5em}.mobile-lg\\:margin-y-2em{margin-top:2em;margin-bottom:2em}.mobile-lg\\:margin-top-2em{margin-top:2em}.mobile-lg\\:margin-bottom-2em{margin-bottom:2em}.mobile-lg\\:margin-y-0{margin-top:0;margin-bottom:0}.mobile-lg\\:margin-top-0{margin-top:0}.mobile-lg\\:margin-bottom-0{margin-bottom:0}.mobile-lg\\:margin-y-auto{margin-top:auto;margin-bottom:auto}.mobile-lg\\:margin-top-auto{margin-top:auto}.mobile-lg\\:margin-bottom-auto{margin-bottom:auto}.mobile-lg\\:margin-x-1px{margin-left:1px;margin-right:1px}.mobile-lg\\:margin-right-1px{margin-right:1px}.mobile-lg\\:margin-left-1px{margin-left:1px}.mobile-lg\\:margin-x-2px{margin-left:2px;margin-right:2px}.mobile-lg\\:margin-right-2px{margin-right:2px}.mobile-lg\\:margin-left-2px{margin-left:2px}.mobile-lg\\:margin-x-05{margin-left:0.25rem;margin-right:0.25rem}.mobile-lg\\:margin-right-05{margin-right:0.25rem}.mobile-lg\\:margin-left-05{margin-left:0.25rem}.mobile-lg\\:margin-x-1{margin-left:0.5rem;margin-right:0.5rem}.mobile-lg\\:margin-right-1{margin-right:0.5rem}.mobile-lg\\:margin-left-1{margin-left:0.5rem}.mobile-lg\\:margin-x-105{margin-left:0.75rem;margin-right:0.75rem}.mobile-lg\\:margin-right-105{margin-right:0.75rem}.mobile-lg\\:margin-left-105{margin-left:0.75rem}.mobile-lg\\:margin-x-2{margin-left:1rem;margin-right:1rem}.mobile-lg\\:margin-right-2{margin-right:1rem}.mobile-lg\\:margin-left-2{margin-left:1rem}.mobile-lg\\:margin-x-205{margin-left:1.25rem;margin-right:1.25rem}.mobile-lg\\:margin-right-205{margin-right:1.25rem}.mobile-lg\\:margin-left-205{margin-left:1.25rem}.mobile-lg\\:margin-x-3{margin-left:1.5rem;margin-right:1.5rem}.mobile-lg\\:margin-right-3{margin-right:1.5rem}.mobile-lg\\:margin-left-3{margin-left:1.5rem}.mobile-lg\\:margin-x-neg-1px{margin-left:-1px;margin-right:-1px}.mobile-lg\\:margin-right-neg-1px{margin-right:-1px}.mobile-lg\\:margin-left-neg-1px{margin-left:-1px}.mobile-lg\\:margin-x-neg-2px{margin-left:-2px;margin-right:-2px}.mobile-lg\\:margin-right-neg-2px{margin-right:-2px}.mobile-lg\\:margin-left-neg-2px{margin-left:-2px}.mobile-lg\\:margin-x-neg-05{margin-left:-0.25rem;margin-right:-0.25rem}.mobile-lg\\:margin-right-neg-05{margin-right:-0.25rem}.mobile-lg\\:margin-left-neg-05{margin-left:-0.25rem}.mobile-lg\\:margin-x-neg-1{margin-left:-0.5rem;margin-right:-0.5rem}.mobile-lg\\:margin-right-neg-1{margin-right:-0.5rem}.mobile-lg\\:margin-left-neg-1{margin-left:-0.5rem}.mobile-lg\\:margin-x-neg-105{margin-left:-0.75rem;margin-right:-0.75rem}.mobile-lg\\:margin-right-neg-105{margin-right:-0.75rem}.mobile-lg\\:margin-left-neg-105{margin-left:-0.75rem}.mobile-lg\\:margin-x-neg-2{margin-left:-1rem;margin-right:-1rem}.mobile-lg\\:margin-right-neg-2{margin-right:-1rem}.mobile-lg\\:margin-left-neg-2{margin-left:-1rem}.mobile-lg\\:margin-x-neg-205{margin-left:-1.25rem;margin-right:-1.25rem}.mobile-lg\\:margin-right-neg-205{margin-right:-1.25rem}.mobile-lg\\:margin-left-neg-205{margin-left:-1.25rem}.mobile-lg\\:margin-x-neg-3{margin-left:-1.5rem;margin-right:-1.5rem}.mobile-lg\\:margin-right-neg-3{margin-right:-1.5rem}.mobile-lg\\:margin-left-neg-3{margin-left:-1.5rem}.mobile-lg\\:margin-x-neg-4{margin-left:-2rem;margin-right:-2rem}.mobile-lg\\:margin-right-neg-4{margin-right:-2rem}.mobile-lg\\:margin-left-neg-4{margin-left:-2rem}.mobile-lg\\:margin-x-neg-5{margin-left:-2.5rem;margin-right:-2.5rem}.mobile-lg\\:margin-right-neg-5{margin-right:-2.5rem}.mobile-lg\\:margin-left-neg-5{margin-left:-2.5rem}.mobile-lg\\:margin-x-neg-6{margin-left:-3rem;margin-right:-3rem}.mobile-lg\\:margin-right-neg-6{margin-right:-3rem}.mobile-lg\\:margin-left-neg-6{margin-left:-3rem}.mobile-lg\\:margin-x-neg-7{margin-left:-3.5rem;margin-right:-3.5rem}.mobile-lg\\:margin-right-neg-7{margin-right:-3.5rem}.mobile-lg\\:margin-left-neg-7{margin-left:-3.5rem}.mobile-lg\\:margin-x-neg-8{margin-left:-4rem;margin-right:-4rem}.mobile-lg\\:margin-right-neg-8{margin-right:-4rem}.mobile-lg\\:margin-left-neg-8{margin-left:-4rem}.mobile-lg\\:margin-x-neg-9{margin-left:-4.5rem;margin-right:-4.5rem}.mobile-lg\\:margin-right-neg-9{margin-right:-4.5rem}.mobile-lg\\:margin-left-neg-9{margin-left:-4.5rem}.mobile-lg\\:margin-x-neg-10{margin-left:-5rem;margin-right:-5rem}.mobile-lg\\:margin-right-neg-10{margin-right:-5rem}.mobile-lg\\:margin-left-neg-10{margin-left:-5rem}.mobile-lg\\:margin-x-neg-15{margin-left:-7.5rem;margin-right:-7.5rem}.mobile-lg\\:margin-right-neg-15{margin-right:-7.5rem}.mobile-lg\\:margin-left-neg-15{margin-left:-7.5rem}.mobile-lg\\:margin-x-4{margin-left:2rem;margin-right:2rem}.mobile-lg\\:margin-right-4{margin-right:2rem}.mobile-lg\\:margin-left-4{margin-left:2rem}.mobile-lg\\:margin-x-5{margin-left:2.5rem;margin-right:2.5rem}.mobile-lg\\:margin-right-5{margin-right:2.5rem}.mobile-lg\\:margin-left-5{margin-left:2.5rem}.mobile-lg\\:margin-x-6{margin-left:3rem;margin-right:3rem}.mobile-lg\\:margin-right-6{margin-right:3rem}.mobile-lg\\:margin-left-6{margin-left:3rem}.mobile-lg\\:margin-x-7{margin-left:3.5rem;margin-right:3.5rem}.mobile-lg\\:margin-right-7{margin-right:3.5rem}.mobile-lg\\:margin-left-7{margin-left:3.5rem}.mobile-lg\\:margin-x-8{margin-left:4rem;margin-right:4rem}.mobile-lg\\:margin-right-8{margin-right:4rem}.mobile-lg\\:margin-left-8{margin-left:4rem}.mobile-lg\\:margin-x-9{margin-left:4.5rem;margin-right:4.5rem}.mobile-lg\\:margin-right-9{margin-right:4.5rem}.mobile-lg\\:margin-left-9{margin-left:4.5rem}.mobile-lg\\:margin-x-10{margin-left:5rem;margin-right:5rem}.mobile-lg\\:margin-right-10{margin-right:5rem}.mobile-lg\\:margin-left-10{margin-left:5rem}.mobile-lg\\:margin-x-15{margin-left:7.5rem;margin-right:7.5rem}.mobile-lg\\:margin-right-15{margin-right:7.5rem}.mobile-lg\\:margin-left-15{margin-left:7.5rem}.mobile-lg\\:margin-x-card{margin-left:10rem;margin-right:10rem}.mobile-lg\\:margin-right-card{margin-right:10rem}.mobile-lg\\:margin-left-card{margin-left:10rem}.mobile-lg\\:margin-x-card-lg{margin-left:15rem;margin-right:15rem}.mobile-lg\\:margin-right-card-lg{margin-right:15rem}.mobile-lg\\:margin-left-card-lg{margin-left:15rem}.mobile-lg\\:margin-x-mobile{margin-left:20rem;margin-right:20rem}.mobile-lg\\:margin-right-mobile{margin-right:20rem}.mobile-lg\\:margin-left-mobile{margin-left:20rem}.mobile-lg\\:margin-x-05em{margin-left:0.5em;margin-right:0.5em}.mobile-lg\\:margin-right-05em{margin-right:0.5em}.mobile-lg\\:margin-left-05em{margin-left:0.5em}.mobile-lg\\:margin-x-1em{margin-left:1em;margin-right:1em}.mobile-lg\\:margin-right-1em{margin-right:1em}.mobile-lg\\:margin-left-1em{margin-left:1em}.mobile-lg\\:margin-x-105em{margin-left:1.5em;margin-right:1.5em}.mobile-lg\\:margin-right-105em{margin-right:1.5em}.mobile-lg\\:margin-left-105em{margin-left:1.5em}.mobile-lg\\:margin-x-2em{margin-left:2em;margin-right:2em}.mobile-lg\\:margin-right-2em{margin-right:2em}.mobile-lg\\:margin-left-2em{margin-left:2em}.mobile-lg\\:margin-x-0{margin-left:0;margin-right:0}.mobile-lg\\:margin-right-0{margin-right:0}.mobile-lg\\:margin-left-0{margin-left:0}.mobile-lg\\:margin-x-auto{margin-left:auto;margin-right:auto}.mobile-lg\\:margin-right-auto{margin-right:auto}.mobile-lg\\:margin-left-auto{margin-left:auto}.mobile-lg\\:measure-1{max-width:44ex}.mobile-lg\\:measure-2{max-width:60ex}.mobile-lg\\:measure-3{max-width:64ex}.mobile-lg\\:measure-4{max-width:68ex}.mobile-lg\\:measure-5{max-width:72ex}.mobile-lg\\:measure-6{max-width:88ex}.mobile-lg\\:measure-none{max-width:none}.mobile-lg\\:order-first{order:-1}.mobile-lg\\:order-last{order:999}.mobile-lg\\:order-initial{order:initial}.mobile-lg\\:order-0{order:0}.mobile-lg\\:order-1{order:1}.mobile-lg\\:order-2{order:2}.mobile-lg\\:order-3{order:3}.mobile-lg\\:order-4{order:4}.mobile-lg\\:order-5{order:5}.mobile-lg\\:order-6{order:6}.mobile-lg\\:order-7{order:7}.mobile-lg\\:order-8{order:8}.mobile-lg\\:order-9{order:9}.mobile-lg\\:order-10{order:10}.mobile-lg\\:order-11{order:11}.mobile-lg\\:padding-1px{padding:1px}.mobile-lg\\:padding-y-1px{padding-top:1px;padding-bottom:1px}.mobile-lg\\:padding-x-1px{padding-left:1px;padding-right:1px}.mobile-lg\\:padding-top-1px{padding-top:1px}.mobile-lg\\:padding-right-1px{padding-right:1px}.mobile-lg\\:padding-bottom-1px{padding-bottom:1px}.mobile-lg\\:padding-left-1px{padding-left:1px}.mobile-lg\\:padding-2px{padding:2px}.mobile-lg\\:padding-y-2px{padding-top:2px;padding-bottom:2px}.mobile-lg\\:padding-x-2px{padding-left:2px;padding-right:2px}.mobile-lg\\:padding-top-2px{padding-top:2px}.mobile-lg\\:padding-right-2px{padding-right:2px}.mobile-lg\\:padding-bottom-2px{padding-bottom:2px}.mobile-lg\\:padding-left-2px{padding-left:2px}.mobile-lg\\:padding-05{padding:0.25rem}.mobile-lg\\:padding-y-05{padding-top:0.25rem;padding-bottom:0.25rem}.mobile-lg\\:padding-x-05{padding-left:0.25rem;padding-right:0.25rem}.mobile-lg\\:padding-top-05{padding-top:0.25rem}.mobile-lg\\:padding-right-05{padding-right:0.25rem}.mobile-lg\\:padding-bottom-05{padding-bottom:0.25rem}.mobile-lg\\:padding-left-05{padding-left:0.25rem}.mobile-lg\\:padding-1{padding:0.5rem}.mobile-lg\\:padding-y-1{padding-top:0.5rem;padding-bottom:0.5rem}.mobile-lg\\:padding-x-1{padding-left:0.5rem;padding-right:0.5rem}.mobile-lg\\:padding-top-1{padding-top:0.5rem}.mobile-lg\\:padding-right-1{padding-right:0.5rem}.mobile-lg\\:padding-bottom-1{padding-bottom:0.5rem}.mobile-lg\\:padding-left-1{padding-left:0.5rem}.mobile-lg\\:padding-105{padding:0.75rem}.mobile-lg\\:padding-y-105{padding-top:0.75rem;padding-bottom:0.75rem}.mobile-lg\\:padding-x-105{padding-left:0.75rem;padding-right:0.75rem}.mobile-lg\\:padding-top-105{padding-top:0.75rem}.mobile-lg\\:padding-right-105{padding-right:0.75rem}.mobile-lg\\:padding-bottom-105{padding-bottom:0.75rem}.mobile-lg\\:padding-left-105{padding-left:0.75rem}.mobile-lg\\:padding-2{padding:1rem}.mobile-lg\\:padding-y-2{padding-top:1rem;padding-bottom:1rem}.mobile-lg\\:padding-x-2{padding-left:1rem;padding-right:1rem}.mobile-lg\\:padding-top-2{padding-top:1rem}.mobile-lg\\:padding-right-2{padding-right:1rem}.mobile-lg\\:padding-bottom-2{padding-bottom:1rem}.mobile-lg\\:padding-left-2{padding-left:1rem}.mobile-lg\\:padding-205{padding:1.25rem}.mobile-lg\\:padding-y-205{padding-top:1.25rem;padding-bottom:1.25rem}.mobile-lg\\:padding-x-205{padding-left:1.25rem;padding-right:1.25rem}.mobile-lg\\:padding-top-205{padding-top:1.25rem}.mobile-lg\\:padding-right-205{padding-right:1.25rem}.mobile-lg\\:padding-bottom-205{padding-bottom:1.25rem}.mobile-lg\\:padding-left-205{padding-left:1.25rem}.mobile-lg\\:padding-3{padding:1.5rem}.mobile-lg\\:padding-y-3{padding-top:1.5rem;padding-bottom:1.5rem}.mobile-lg\\:padding-x-3{padding-left:1.5rem;padding-right:1.5rem}.mobile-lg\\:padding-top-3{padding-top:1.5rem}.mobile-lg\\:padding-right-3{padding-right:1.5rem}.mobile-lg\\:padding-bottom-3{padding-bottom:1.5rem}.mobile-lg\\:padding-left-3{padding-left:1.5rem}.mobile-lg\\:padding-4{padding:2rem}.mobile-lg\\:padding-y-4{padding-top:2rem;padding-bottom:2rem}.mobile-lg\\:padding-x-4{padding-left:2rem;padding-right:2rem}.mobile-lg\\:padding-top-4{padding-top:2rem}.mobile-lg\\:padding-right-4{padding-right:2rem}.mobile-lg\\:padding-bottom-4{padding-bottom:2rem}.mobile-lg\\:padding-left-4{padding-left:2rem}.mobile-lg\\:padding-5{padding:2.5rem}.mobile-lg\\:padding-y-5{padding-top:2.5rem;padding-bottom:2.5rem}.mobile-lg\\:padding-x-5{padding-left:2.5rem;padding-right:2.5rem}.mobile-lg\\:padding-top-5{padding-top:2.5rem}.mobile-lg\\:padding-right-5{padding-right:2.5rem}.mobile-lg\\:padding-bottom-5{padding-bottom:2.5rem}.mobile-lg\\:padding-left-5{padding-left:2.5rem}.mobile-lg\\:padding-6{padding:3rem}.mobile-lg\\:padding-y-6{padding-top:3rem;padding-bottom:3rem}.mobile-lg\\:padding-x-6{padding-left:3rem;padding-right:3rem}.mobile-lg\\:padding-top-6{padding-top:3rem}.mobile-lg\\:padding-right-6{padding-right:3rem}.mobile-lg\\:padding-bottom-6{padding-bottom:3rem}.mobile-lg\\:padding-left-6{padding-left:3rem}.mobile-lg\\:padding-7{padding:3.5rem}.mobile-lg\\:padding-y-7{padding-top:3.5rem;padding-bottom:3.5rem}.mobile-lg\\:padding-x-7{padding-left:3.5rem;padding-right:3.5rem}.mobile-lg\\:padding-top-7{padding-top:3.5rem}.mobile-lg\\:padding-right-7{padding-right:3.5rem}.mobile-lg\\:padding-bottom-7{padding-bottom:3.5rem}.mobile-lg\\:padding-left-7{padding-left:3.5rem}.mobile-lg\\:padding-8{padding:4rem}.mobile-lg\\:padding-y-8{padding-top:4rem;padding-bottom:4rem}.mobile-lg\\:padding-x-8{padding-left:4rem;padding-right:4rem}.mobile-lg\\:padding-top-8{padding-top:4rem}.mobile-lg\\:padding-right-8{padding-right:4rem}.mobile-lg\\:padding-bottom-8{padding-bottom:4rem}.mobile-lg\\:padding-left-8{padding-left:4rem}.mobile-lg\\:padding-9{padding:4.5rem}.mobile-lg\\:padding-y-9{padding-top:4.5rem;padding-bottom:4.5rem}.mobile-lg\\:padding-x-9{padding-left:4.5rem;padding-right:4.5rem}.mobile-lg\\:padding-top-9{padding-top:4.5rem}.mobile-lg\\:padding-right-9{padding-right:4.5rem}.mobile-lg\\:padding-bottom-9{padding-bottom:4.5rem}.mobile-lg\\:padding-left-9{padding-left:4.5rem}.mobile-lg\\:padding-10{padding:5rem}.mobile-lg\\:padding-y-10{padding-top:5rem;padding-bottom:5rem}.mobile-lg\\:padding-x-10{padding-left:5rem;padding-right:5rem}.mobile-lg\\:padding-top-10{padding-top:5rem}.mobile-lg\\:padding-right-10{padding-right:5rem}.mobile-lg\\:padding-bottom-10{padding-bottom:5rem}.mobile-lg\\:padding-left-10{padding-left:5rem}.mobile-lg\\:padding-15{padding:7.5rem}.mobile-lg\\:padding-y-15{padding-top:7.5rem;padding-bottom:7.5rem}.mobile-lg\\:padding-x-15{padding-left:7.5rem;padding-right:7.5rem}.mobile-lg\\:padding-top-15{padding-top:7.5rem}.mobile-lg\\:padding-right-15{padding-right:7.5rem}.mobile-lg\\:padding-bottom-15{padding-bottom:7.5rem}.mobile-lg\\:padding-left-15{padding-left:7.5rem}.mobile-lg\\:padding-0{padding:0}.mobile-lg\\:padding-y-0{padding-top:0;padding-bottom:0}.mobile-lg\\:padding-x-0{padding-left:0;padding-right:0}.mobile-lg\\:padding-top-0{padding-top:0}.mobile-lg\\:padding-right-0{padding-right:0}.mobile-lg\\:padding-bottom-0{padding-bottom:0}.mobile-lg\\:padding-left-0{padding-left:0}.mobile-lg\\:width-1px{width:1px}.mobile-lg\\:width-2px{width:2px}.mobile-lg\\:width-05{width:0.25rem}.mobile-lg\\:width-1{width:0.5rem}.mobile-lg\\:width-105{width:0.75rem}.mobile-lg\\:width-2{width:1rem}.mobile-lg\\:width-205{width:1.25rem}.mobile-lg\\:width-3{width:1.5rem}.mobile-lg\\:width-4{width:2rem}.mobile-lg\\:width-5{width:2.5rem}.mobile-lg\\:width-6{width:3rem}.mobile-lg\\:width-7{width:3.5rem}.mobile-lg\\:width-8{width:4rem}.mobile-lg\\:width-9{width:4.5rem}.mobile-lg\\:width-10{width:5rem}.mobile-lg\\:width-15{width:7.5rem}.mobile-lg\\:width-card{width:10rem}.mobile-lg\\:width-card-lg{width:15rem}.mobile-lg\\:width-mobile{width:20rem}.mobile-lg\\:width-mobile-lg{width:30rem}.mobile-lg\\:width-tablet{width:40rem}.mobile-lg\\:width-tablet-lg{width:55rem}.mobile-lg\\:width-desktop{width:64rem}.mobile-lg\\:width-desktop-lg{width:75rem}.mobile-lg\\:width-widescreen{width:87.5rem}.mobile-lg\\:width-0{width:0}.mobile-lg\\:width-full{width:100%}.mobile-lg\\:width-auto{width:auto}}@media all and (min-width: 40em){.tablet\\:border-1px{border:1px solid}.tablet\\:hover\\:border-1px:hover{border:1px solid}.tablet\\:border-y-1px{border-top:1px solid;border-bottom:1px solid}.tablet\\:hover\\:border-y-1px:hover{border-top:1px solid;border-bottom:1px solid}.tablet\\:border-x-1px{border-left:1px solid;border-right:1px solid}.tablet\\:hover\\:border-x-1px:hover{border-left:1px solid;border-right:1px solid}.tablet\\:border-top-1px{border-top:1px solid}.tablet\\:hover\\:border-top-1px:hover{border-top:1px solid}.tablet\\:border-right-1px{border-right:1px solid}.tablet\\:hover\\:border-right-1px:hover{border-right:1px solid}.tablet\\:border-bottom-1px{border-bottom:1px solid}.tablet\\:hover\\:border-bottom-1px:hover{border-bottom:1px solid}.tablet\\:border-left-1px{border-left:1px solid}.tablet\\:hover\\:border-left-1px:hover{border-left:1px solid}.tablet\\:border-2px{border:2px solid}.tablet\\:hover\\:border-2px:hover{border:2px solid}.tablet\\:border-y-2px{border-top:2px solid;border-bottom:2px solid}.tablet\\:hover\\:border-y-2px:hover{border-top:2px solid;border-bottom:2px solid}.tablet\\:border-x-2px{border-left:2px solid;border-right:2px solid}.tablet\\:hover\\:border-x-2px:hover{border-left:2px solid;border-right:2px solid}.tablet\\:border-top-2px{border-top:2px solid}.tablet\\:hover\\:border-top-2px:hover{border-top:2px solid}.tablet\\:border-right-2px{border-right:2px solid}.tablet\\:hover\\:border-right-2px:hover{border-right:2px solid}.tablet\\:border-bottom-2px{border-bottom:2px solid}.tablet\\:hover\\:border-bottom-2px:hover{border-bottom:2px solid}.tablet\\:border-left-2px{border-left:2px solid}.tablet\\:hover\\:border-left-2px:hover{border-left:2px solid}.tablet\\:border-05{border:0.25rem solid}.tablet\\:hover\\:border-05:hover{border:0.25rem solid}.tablet\\:border-y-05{border-top:0.25rem solid;border-bottom:0.25rem solid}.tablet\\:hover\\:border-y-05:hover{border-top:0.25rem solid;border-bottom:0.25rem solid}.tablet\\:border-x-05{border-left:0.25rem solid;border-right:0.25rem solid}.tablet\\:hover\\:border-x-05:hover{border-left:0.25rem solid;border-right:0.25rem solid}.tablet\\:border-top-05{border-top:0.25rem solid}.tablet\\:hover\\:border-top-05:hover{border-top:0.25rem solid}.tablet\\:border-right-05{border-right:0.25rem solid}.tablet\\:hover\\:border-right-05:hover{border-right:0.25rem solid}.tablet\\:border-bottom-05{border-bottom:0.25rem solid}.tablet\\:hover\\:border-bottom-05:hover{border-bottom:0.25rem solid}.tablet\\:border-left-05{border-left:0.25rem solid}.tablet\\:hover\\:border-left-05:hover{border-left:0.25rem solid}.tablet\\:border-1{border:0.5rem solid}.tablet\\:hover\\:border-1:hover{border:0.5rem solid}.tablet\\:border-y-1{border-top:0.5rem solid;border-bottom:0.5rem solid}.tablet\\:hover\\:border-y-1:hover{border-top:0.5rem solid;border-bottom:0.5rem solid}.tablet\\:border-x-1{border-left:0.5rem solid;border-right:0.5rem solid}.tablet\\:hover\\:border-x-1:hover{border-left:0.5rem solid;border-right:0.5rem solid}.tablet\\:border-top-1{border-top:0.5rem solid}.tablet\\:hover\\:border-top-1:hover{border-top:0.5rem solid}.tablet\\:border-right-1{border-right:0.5rem solid}.tablet\\:hover\\:border-right-1:hover{border-right:0.5rem solid}.tablet\\:border-bottom-1{border-bottom:0.5rem solid}.tablet\\:hover\\:border-bottom-1:hover{border-bottom:0.5rem solid}.tablet\\:border-left-1{border-left:0.5rem solid}.tablet\\:hover\\:border-left-1:hover{border-left:0.5rem solid}.tablet\\:border-105{border:0.75rem solid}.tablet\\:hover\\:border-105:hover{border:0.75rem solid}.tablet\\:border-y-105{border-top:0.75rem solid;border-bottom:0.75rem solid}.tablet\\:hover\\:border-y-105:hover{border-top:0.75rem solid;border-bottom:0.75rem solid}.tablet\\:border-x-105{border-left:0.75rem solid;border-right:0.75rem solid}.tablet\\:hover\\:border-x-105:hover{border-left:0.75rem solid;border-right:0.75rem solid}.tablet\\:border-top-105{border-top:0.75rem solid}.tablet\\:hover\\:border-top-105:hover{border-top:0.75rem solid}.tablet\\:border-right-105{border-right:0.75rem solid}.tablet\\:hover\\:border-right-105:hover{border-right:0.75rem solid}.tablet\\:border-bottom-105{border-bottom:0.75rem solid}.tablet\\:hover\\:border-bottom-105:hover{border-bottom:0.75rem solid}.tablet\\:border-left-105{border-left:0.75rem solid}.tablet\\:hover\\:border-left-105:hover{border-left:0.75rem solid}.tablet\\:border-2{border:1rem solid}.tablet\\:hover\\:border-2:hover{border:1rem solid}.tablet\\:border-y-2{border-top:1rem solid;border-bottom:1rem solid}.tablet\\:hover\\:border-y-2:hover{border-top:1rem solid;border-bottom:1rem solid}.tablet\\:border-x-2{border-left:1rem solid;border-right:1rem solid}.tablet\\:hover\\:border-x-2:hover{border-left:1rem solid;border-right:1rem solid}.tablet\\:border-top-2{border-top:1rem solid}.tablet\\:hover\\:border-top-2:hover{border-top:1rem solid}.tablet\\:border-right-2{border-right:1rem solid}.tablet\\:hover\\:border-right-2:hover{border-right:1rem solid}.tablet\\:border-bottom-2{border-bottom:1rem solid}.tablet\\:hover\\:border-bottom-2:hover{border-bottom:1rem solid}.tablet\\:border-left-2{border-left:1rem solid}.tablet\\:hover\\:border-left-2:hover{border-left:1rem solid}.tablet\\:border-205{border:1.25rem solid}.tablet\\:hover\\:border-205:hover{border:1.25rem solid}.tablet\\:border-y-205{border-top:1.25rem solid;border-bottom:1.25rem solid}.tablet\\:hover\\:border-y-205:hover{border-top:1.25rem solid;border-bottom:1.25rem solid}.tablet\\:border-x-205{border-left:1.25rem solid;border-right:1.25rem solid}.tablet\\:hover\\:border-x-205:hover{border-left:1.25rem solid;border-right:1.25rem solid}.tablet\\:border-top-205{border-top:1.25rem solid}.tablet\\:hover\\:border-top-205:hover{border-top:1.25rem solid}.tablet\\:border-right-205{border-right:1.25rem solid}.tablet\\:hover\\:border-right-205:hover{border-right:1.25rem solid}.tablet\\:border-bottom-205{border-bottom:1.25rem solid}.tablet\\:hover\\:border-bottom-205:hover{border-bottom:1.25rem solid}.tablet\\:border-left-205{border-left:1.25rem solid}.tablet\\:hover\\:border-left-205:hover{border-left:1.25rem solid}.tablet\\:border-3{border:1.5rem solid}.tablet\\:hover\\:border-3:hover{border:1.5rem solid}.tablet\\:border-y-3{border-top:1.5rem solid;border-bottom:1.5rem solid}.tablet\\:hover\\:border-y-3:hover{border-top:1.5rem solid;border-bottom:1.5rem solid}.tablet\\:border-x-3{border-left:1.5rem solid;border-right:1.5rem solid}.tablet\\:hover\\:border-x-3:hover{border-left:1.5rem solid;border-right:1.5rem solid}.tablet\\:border-top-3{border-top:1.5rem solid}.tablet\\:hover\\:border-top-3:hover{border-top:1.5rem solid}.tablet\\:border-right-3{border-right:1.5rem solid}.tablet\\:hover\\:border-right-3:hover{border-right:1.5rem solid}.tablet\\:border-bottom-3{border-bottom:1.5rem solid}.tablet\\:hover\\:border-bottom-3:hover{border-bottom:1.5rem solid}.tablet\\:border-left-3{border-left:1.5rem solid}.tablet\\:hover\\:border-left-3:hover{border-left:1.5rem solid}.tablet\\:border-0{border:0 solid}.tablet\\:hover\\:border-0:hover{border:0 solid}.tablet\\:border-y-0{border-top:0 solid;border-bottom:0 solid}.tablet\\:hover\\:border-y-0:hover{border-top:0 solid;border-bottom:0 solid}.tablet\\:border-x-0{border-left:0 solid;border-right:0 solid}.tablet\\:hover\\:border-x-0:hover{border-left:0 solid;border-right:0 solid}.tablet\\:border-top-0{border-top:0 solid}.tablet\\:hover\\:border-top-0:hover{border-top:0 solid}.tablet\\:border-right-0{border-right:0 solid}.tablet\\:hover\\:border-right-0:hover{border-right:0 solid}.tablet\\:border-bottom-0{border-bottom:0 solid}.tablet\\:hover\\:border-bottom-0:hover{border-bottom:0 solid}.tablet\\:border-left-0{border-left:0 solid}.tablet\\:hover\\:border-left-0:hover{border-left:0 solid}.tablet\\:border{border:1px solid}.tablet\\:hover\\:border:hover{border:1px solid}.tablet\\:border-y{border-top:1px solid;border-bottom:1px solid}.tablet\\:hover\\:border-y:hover{border-top:1px solid;border-bottom:1px solid}.tablet\\:border-x{border-left:1px solid;border-right:1px solid}.tablet\\:hover\\:border-x:hover{border-left:1px solid;border-right:1px solid}.tablet\\:border-top{border-top:1px solid}.tablet\\:hover\\:border-top:hover{border-top:1px solid}.tablet\\:border-right{border-right:1px solid}.tablet\\:hover\\:border-right:hover{border-right:1px solid}.tablet\\:border-bottom{border-bottom:1px solid}.tablet\\:hover\\:border-bottom:hover{border-bottom:1px solid}.tablet\\:border-left{border-left:1px solid}.tablet\\:hover\\:border-left:hover{border-left:1px solid}.tablet\\:border-transparent{border-color:transparent}.tablet\\:hover\\:border-transparent:hover{border-color:transparent}.tablet\\:border-black{border-color:black}.tablet\\:hover\\:border-black:hover{border-color:black}.tablet\\:border-white{border-color:white}.tablet\\:hover\\:border-white:hover{border-color:white}.tablet\\:border-red{border-color:#e52207}.tablet\\:hover\\:border-red:hover{border-color:#e52207}.tablet\\:border-orange{border-color:#e66f0e}.tablet\\:hover\\:border-orange:hover{border-color:#e66f0e}.tablet\\:border-gold{border-color:#ffbe2e}.tablet\\:hover\\:border-gold:hover{border-color:#ffbe2e}.tablet\\:border-yellow{border-color:#fee685}.tablet\\:hover\\:border-yellow:hover{border-color:#fee685}.tablet\\:border-green{border-color:#538200}.tablet\\:hover\\:border-green:hover{border-color:#538200}.tablet\\:border-mint{border-color:#04c585}.tablet\\:hover\\:border-mint:hover{border-color:#04c585}.tablet\\:border-cyan{border-color:#009ec1}.tablet\\:hover\\:border-cyan:hover{border-color:#009ec1}.tablet\\:border-blue{border-color:#0076d6}.tablet\\:hover\\:border-blue:hover{border-color:#0076d6}.tablet\\:border-indigo{border-color:#676cc8}.tablet\\:hover\\:border-indigo:hover{border-color:#676cc8}.tablet\\:border-violet{border-color:#8168b3}.tablet\\:hover\\:border-violet:hover{border-color:#8168b3}.tablet\\:border-magenta{border-color:#d72d79}.tablet\\:hover\\:border-magenta:hover{border-color:#d72d79}.tablet\\:border-gray-5{border-color:#f0f0f0}.tablet\\:hover\\:border-gray-5:hover{border-color:#f0f0f0}.tablet\\:border-gray-10{border-color:#e6e6e6}.tablet\\:hover\\:border-gray-10:hover{border-color:#e6e6e6}.tablet\\:border-gray-30{border-color:#adadad}.tablet\\:hover\\:border-gray-30:hover{border-color:#adadad}.tablet\\:border-gray-50{border-color:#757575}.tablet\\:hover\\:border-gray-50:hover{border-color:#757575}.tablet\\:border-gray-70{border-color:#454545}.tablet\\:hover\\:border-gray-70:hover{border-color:#454545}.tablet\\:border-gray-90{border-color:#1b1b1b}.tablet\\:hover\\:border-gray-90:hover{border-color:#1b1b1b}.tablet\\:border-base-lightest{border-color:#f0f0f0}.tablet\\:hover\\:border-base-lightest:hover{border-color:#f0f0f0}.tablet\\:border-base-lighter{border-color:#dfe1e2}.tablet\\:hover\\:border-base-lighter:hover{border-color:#dfe1e2}.tablet\\:border-base-light{border-color:#a9aeb1}.tablet\\:hover\\:border-base-light:hover{border-color:#a9aeb1}.tablet\\:border-base{border-color:#71767a}.tablet\\:hover\\:border-base:hover{border-color:#71767a}.tablet\\:border-base-dark{border-color:#565c65}.tablet\\:hover\\:border-base-dark:hover{border-color:#565c65}.tablet\\:border-base-darker{border-color:#3d4551}.tablet\\:hover\\:border-base-darker:hover{border-color:#3d4551}.tablet\\:border-base-darkest{border-color:#1b1b1b}.tablet\\:hover\\:border-base-darkest:hover{border-color:#1b1b1b}.tablet\\:border-ink{border-color:#1b1b1b}.tablet\\:hover\\:border-ink:hover{border-color:#1b1b1b}.tablet\\:border-primary-lighter{border-color:#d9e8f6}.tablet\\:hover\\:border-primary-lighter:hover{border-color:#d9e8f6}.tablet\\:border-primary-light{border-color:#73b3e7}.tablet\\:hover\\:border-primary-light:hover{border-color:#73b3e7}.tablet\\:border-primary{border-color:#005ea2}.tablet\\:hover\\:border-primary:hover{border-color:#005ea2}.tablet\\:border-primary-vivid{border-color:#0050d8}.tablet\\:hover\\:border-primary-vivid:hover{border-color:#0050d8}.tablet\\:border-primary-dark{border-color:#1a4480}.tablet\\:hover\\:border-primary-dark:hover{border-color:#1a4480}.tablet\\:border-primary-darker{border-color:#162e51}.tablet\\:hover\\:border-primary-darker:hover{border-color:#162e51}.tablet\\:border-secondary-lighter{border-color:#f3e1e4}.tablet\\:hover\\:border-secondary-lighter:hover{border-color:#f3e1e4}.tablet\\:border-secondary-light{border-color:#f2938c}.tablet\\:hover\\:border-secondary-light:hover{border-color:#f2938c}.tablet\\:border-secondary{border-color:#d83933}.tablet\\:hover\\:border-secondary:hover{border-color:#d83933}.tablet\\:border-secondary-vivid{border-color:#e41d3d}.tablet\\:hover\\:border-secondary-vivid:hover{border-color:#e41d3d}.tablet\\:border-secondary-dark{border-color:#b50909}.tablet\\:hover\\:border-secondary-dark:hover{border-color:#b50909}.tablet\\:border-secondary-darker{border-color:#8b0a03}.tablet\\:hover\\:border-secondary-darker:hover{border-color:#8b0a03}.tablet\\:border-accent-warm-darker{border-color:#775540}.tablet\\:hover\\:border-accent-warm-darker:hover{border-color:#775540}.tablet\\:border-accent-warm-dark{border-color:#c05600}.tablet\\:hover\\:border-accent-warm-dark:hover{border-color:#c05600}.tablet\\:border-accent-warm{border-color:#fa9441}.tablet\\:hover\\:border-accent-warm:hover{border-color:#fa9441}.tablet\\:border-accent-warm-light{border-color:#ffbc78}.tablet\\:hover\\:border-accent-warm-light:hover{border-color:#ffbc78}.tablet\\:border-accent-warm-lighter{border-color:#f2e4d4}.tablet\\:hover\\:border-accent-warm-lighter:hover{border-color:#f2e4d4}.tablet\\:border-accent-cool-darker{border-color:#07648d}.tablet\\:hover\\:border-accent-cool-darker:hover{border-color:#07648d}.tablet\\:border-accent-cool-dark{border-color:#28a0cb}.tablet\\:hover\\:border-accent-cool-dark:hover{border-color:#28a0cb}.tablet\\:border-accent-cool{border-color:#00bde3}.tablet\\:hover\\:border-accent-cool:hover{border-color:#00bde3}.tablet\\:border-accent-cool-light{border-color:#97d4ea}.tablet\\:hover\\:border-accent-cool-light:hover{border-color:#97d4ea}.tablet\\:border-accent-cool-lighter{border-color:#e1f3f8}.tablet\\:hover\\:border-accent-cool-lighter:hover{border-color:#e1f3f8}.tablet\\:border-error-lighter{border-color:#f4e3db}.tablet\\:hover\\:border-error-lighter:hover{border-color:#f4e3db}.tablet\\:border-error-light{border-color:#f39268}.tablet\\:hover\\:border-error-light:hover{border-color:#f39268}.tablet\\:border-error{border-color:#d54309}.tablet\\:hover\\:border-error:hover{border-color:#d54309}.tablet\\:border-error-dark{border-color:#b50909}.tablet\\:hover\\:border-error-dark:hover{border-color:#b50909}.tablet\\:border-error-darker{border-color:#6f3331}.tablet\\:hover\\:border-error-darker:hover{border-color:#6f3331}.tablet\\:border-warning-lighter{border-color:#faf3d1}.tablet\\:hover\\:border-warning-lighter:hover{border-color:#faf3d1}.tablet\\:border-warning-light{border-color:#fee685}.tablet\\:hover\\:border-warning-light:hover{border-color:#fee685}.tablet\\:border-warning{border-color:#ffbe2e}.tablet\\:hover\\:border-warning:hover{border-color:#ffbe2e}.tablet\\:border-warning-dark{border-color:#e5a000}.tablet\\:hover\\:border-warning-dark:hover{border-color:#e5a000}.tablet\\:border-warning-darker{border-color:#936f38}.tablet\\:hover\\:border-warning-darker:hover{border-color:#936f38}.tablet\\:border-success-lighter{border-color:#ecf3ec}.tablet\\:hover\\:border-success-lighter:hover{border-color:#ecf3ec}.tablet\\:border-success-light{border-color:#70e17b}.tablet\\:hover\\:border-success-light:hover{border-color:#70e17b}.tablet\\:border-success{border-color:#00a91c}.tablet\\:hover\\:border-success:hover{border-color:#00a91c}.tablet\\:border-success-dark{border-color:#008817}.tablet\\:hover\\:border-success-dark:hover{border-color:#008817}.tablet\\:border-success-darker{border-color:#216e1f}.tablet\\:hover\\:border-success-darker:hover{border-color:#216e1f}.tablet\\:border-info-lighter{border-color:#e7f6f8}.tablet\\:hover\\:border-info-lighter:hover{border-color:#e7f6f8}.tablet\\:border-info-light{border-color:#99deea}.tablet\\:hover\\:border-info-light:hover{border-color:#99deea}.tablet\\:border-info{border-color:#00bde3}.tablet\\:hover\\:border-info:hover{border-color:#00bde3}.tablet\\:border-info-dark{border-color:#009ec1}.tablet\\:hover\\:border-info-dark:hover{border-color:#009ec1}.tablet\\:border-info-darker{border-color:#2e6276}.tablet\\:hover\\:border-info-darker:hover{border-color:#2e6276}.tablet\\:border-disabled-lighter{border-color:#c9c9c9}.tablet\\:hover\\:border-disabled-lighter:hover{border-color:#c9c9c9}.tablet\\:border-disabled-light{border-color:#919191}.tablet\\:hover\\:border-disabled-light:hover{border-color:#919191}.tablet\\:border-disabled{border-color:#757575}.tablet\\:hover\\:border-disabled:hover{border-color:#757575}.tablet\\:border-disabled-dark{border-color:#454545}.tablet\\:hover\\:border-disabled-dark:hover{border-color:#454545}.tablet\\:border-disabled-darker{border-color:#1b1b1b}.tablet\\:hover\\:border-disabled-darker:hover{border-color:#1b1b1b}.tablet\\:border-emergency{border-color:#9c3d10}.tablet\\:hover\\:border-emergency:hover{border-color:#9c3d10}.tablet\\:border-emergency-dark{border-color:#332d29}.tablet\\:hover\\:border-emergency-dark:hover{border-color:#332d29}.tablet\\:radius-0{border-radius:0}.tablet\\:radius-top-0{border-top-left-radius:0;border-top-right-radius:0}.tablet\\:radius-right-0{border-top-right-radius:0;border-bottom-right-radius:0}.tablet\\:radius-bottom-0{border-bottom-left-radius:0;border-bottom-right-radius:0}.tablet\\:radius-left-0{border-top-left-radius:0;border-bottom-left-radius:0}.tablet\\:radius-sm{border-radius:2px}.tablet\\:radius-top-sm{border-top-left-radius:2px;border-top-right-radius:2px}.tablet\\:radius-right-sm{border-top-right-radius:2px;border-bottom-right-radius:2px}.tablet\\:radius-bottom-sm{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.tablet\\:radius-left-sm{border-top-left-radius:2px;border-bottom-left-radius:2px}.tablet\\:radius-md{border-radius:0.25rem}.tablet\\:radius-top-md{border-top-left-radius:0.25rem;border-top-right-radius:0.25rem}.tablet\\:radius-right-md{border-top-right-radius:0.25rem;border-bottom-right-radius:0.25rem}.tablet\\:radius-bottom-md{border-bottom-left-radius:0.25rem;border-bottom-right-radius:0.25rem}.tablet\\:radius-left-md{border-top-left-radius:0.25rem;border-bottom-left-radius:0.25rem}.tablet\\:radius-lg{border-radius:0.5rem}.tablet\\:radius-top-lg{border-top-left-radius:0.5rem;border-top-right-radius:0.5rem}.tablet\\:radius-right-lg{border-top-right-radius:0.5rem;border-bottom-right-radius:0.5rem}.tablet\\:radius-bottom-lg{border-bottom-left-radius:0.5rem;border-bottom-right-radius:0.5rem}.tablet\\:radius-left-lg{border-top-left-radius:0.5rem;border-bottom-left-radius:0.5rem}.tablet\\:radius-pill{border-radius:99rem}.tablet\\:radius-top-pill{border-top-left-radius:99rem;border-top-right-radius:99rem}.tablet\\:radius-right-pill{border-top-right-radius:99rem;border-bottom-right-radius:99rem}.tablet\\:radius-bottom-pill{border-bottom-left-radius:99rem;border-bottom-right-radius:99rem}.tablet\\:radius-left-pill{border-top-left-radius:99rem;border-bottom-left-radius:99rem}.tablet\\:display-block{display:block}.tablet\\:display-flex{display:flex}.tablet\\:display-none{display:none}.tablet\\:display-inline{display:inline}.tablet\\:display-inline-block{display:inline-block}.tablet\\:display-inline-flex{display:inline-flex}.tablet\\:display-table{display:table}.tablet\\:display-table-cell{display:table-cell}.tablet\\:display-table-row{display:table-row}.tablet\\:font-mono-3xs{font-size:0.77rem}.tablet\\:font-mono-2xs{font-size:0.83rem}.tablet\\:font-mono-xs{font-size:0.89rem}.tablet\\:font-mono-sm{font-size:0.95rem}.tablet\\:font-mono-md{font-size:1.01rem}.tablet\\:font-mono-lg{font-size:1.31rem}.tablet\\:font-mono-xl{font-size:1.91rem}.tablet\\:font-mono-2xl{font-size:2.38rem}.tablet\\:font-mono-3xl{font-size:2.86rem}.tablet\\:font-sans-3xs{font-size:0.87rem}.tablet\\:font-sans-2xs{font-size:0.93rem}.tablet\\:font-sans-xs{font-size:1rem}.tablet\\:font-sans-sm{font-size:1.06rem}.tablet\\:font-sans-md{font-size:1.13rem}.tablet\\:font-sans-lg{font-size:1.46rem}.tablet\\:font-sans-xl{font-size:2.13rem}.tablet\\:font-sans-2xl{font-size:2.66rem}.tablet\\:font-sans-3xl{font-size:3.19rem}.tablet\\:font-serif-3xs{font-size:0.79rem}.tablet\\:font-serif-2xs{font-size:0.85rem}.tablet\\:font-serif-xs{font-size:0.91rem}.tablet\\:font-serif-sm{font-size:0.98rem}.tablet\\:font-serif-md{font-size:1.04rem}.tablet\\:font-serif-lg{font-size:1.34rem}.tablet\\:font-serif-xl{font-size:1.95rem}.tablet\\:font-serif-2xl{font-size:2.44rem}.tablet\\:font-serif-3xl{font-size:2.93rem}.tablet\\:font-heading-3xs{font-size:0.79rem}.tablet\\:font-heading-2xs{font-size:0.85rem}.tablet\\:font-heading-xs{font-size:0.91rem}.tablet\\:font-heading-sm{font-size:0.98rem}.tablet\\:font-heading-md{font-size:1.04rem}.tablet\\:font-heading-lg{font-size:1.34rem}.tablet\\:font-heading-xl{font-size:1.95rem}.tablet\\:font-heading-2xl{font-size:2.44rem}.tablet\\:font-heading-3xl{font-size:2.93rem}.tablet\\:font-body-3xs{font-size:0.87rem}.tablet\\:font-body-2xs{font-size:0.93rem}.tablet\\:font-body-xs{font-size:1rem}.tablet\\:font-body-sm{font-size:1.06rem}.tablet\\:font-body-md{font-size:1.13rem}.tablet\\:font-body-lg{font-size:1.46rem}.tablet\\:font-body-xl{font-size:2.13rem}.tablet\\:font-body-2xl{font-size:2.66rem}.tablet\\:font-body-3xl{font-size:3.19rem}.tablet\\:font-code-3xs{font-size:0.77rem}.tablet\\:font-code-2xs{font-size:0.83rem}.tablet\\:font-code-xs{font-size:0.89rem}.tablet\\:font-code-sm{font-size:0.95rem}.tablet\\:font-code-md{font-size:1.01rem}.tablet\\:font-code-lg{font-size:1.31rem}.tablet\\:font-code-xl{font-size:1.91rem}.tablet\\:font-code-2xl{font-size:2.38rem}.tablet\\:font-code-3xl{font-size:2.86rem}.tablet\\:font-alt-3xs{font-size:0.79rem}.tablet\\:font-alt-2xs{font-size:0.85rem}.tablet\\:font-alt-xs{font-size:0.91rem}.tablet\\:font-alt-sm{font-size:0.98rem}.tablet\\:font-alt-md{font-size:1.04rem}.tablet\\:font-alt-lg{font-size:1.34rem}.tablet\\:font-alt-xl{font-size:1.95rem}.tablet\\:font-alt-2xl{font-size:2.44rem}.tablet\\:font-alt-3xl{font-size:2.93rem}.tablet\\:font-ui-3xs{font-size:0.87rem}.tablet\\:font-ui-2xs{font-size:0.93rem}.tablet\\:font-ui-xs{font-size:1rem}.tablet\\:font-ui-sm{font-size:1.06rem}.tablet\\:font-ui-md{font-size:1.13rem}.tablet\\:font-ui-lg{font-size:1.46rem}.tablet\\:font-ui-xl{font-size:2.13rem}.tablet\\:font-ui-2xl{font-size:2.66rem}.tablet\\:font-ui-3xl{font-size:3.19rem}.tablet\\:text-light{font-weight:300}.tablet\\:text-normal{font-weight:normal}.tablet\\:text-bold{font-weight:700}.tablet\\:flex-justify-center{justify-content:center}.tablet\\:flex-justify-start{justify-content:flex-start}.tablet\\:flex-justify-end{justify-content:flex-end}.tablet\\:flex-justify{justify-content:space-between}.tablet\\:line-height-sans-1{line-height:0.9}.tablet\\:line-height-sans-2{line-height:1.1}.tablet\\:line-height-sans-3{line-height:1.3}.tablet\\:line-height-sans-4{line-height:1.4}.tablet\\:line-height-sans-5{line-height:1.5}.tablet\\:line-height-sans-6{line-height:1.6}.tablet\\:line-height-serif-1{line-height:1}.tablet\\:line-height-serif-2{line-height:1.2}.tablet\\:line-height-serif-3{line-height:1.4}.tablet\\:line-height-serif-4{line-height:1.5}.tablet\\:line-height-serif-5{line-height:1.7}.tablet\\:line-height-serif-6{line-height:1.8}.tablet\\:line-height-mono-1{line-height:1}.tablet\\:line-height-mono-2{line-height:1.3}.tablet\\:line-height-mono-3{line-height:1.4}.tablet\\:line-height-mono-4{line-height:1.6}.tablet\\:line-height-mono-5{line-height:1.7}.tablet\\:line-height-mono-6{line-height:1.8}.tablet\\:line-height-heading-1{line-height:1}.tablet\\:line-height-heading-2{line-height:1.2}.tablet\\:line-height-heading-3{line-height:1.4}.tablet\\:line-height-heading-4{line-height:1.5}.tablet\\:line-height-heading-5{line-height:1.7}.tablet\\:line-height-heading-6{line-height:1.8}.tablet\\:line-height-ui-1{line-height:0.9}.tablet\\:line-height-ui-2{line-height:1.1}.tablet\\:line-height-ui-3{line-height:1.3}.tablet\\:line-height-ui-4{line-height:1.4}.tablet\\:line-height-ui-5{line-height:1.5}.tablet\\:line-height-ui-6{line-height:1.6}.tablet\\:line-height-body-1{line-height:0.9}.tablet\\:line-height-body-2{line-height:1.1}.tablet\\:line-height-body-3{line-height:1.3}.tablet\\:line-height-body-4{line-height:1.4}.tablet\\:line-height-body-5{line-height:1.5}.tablet\\:line-height-body-6{line-height:1.6}.tablet\\:line-height-code-1{line-height:1}.tablet\\:line-height-code-2{line-height:1.3}.tablet\\:line-height-code-3{line-height:1.4}.tablet\\:line-height-code-4{line-height:1.6}.tablet\\:line-height-code-5{line-height:1.7}.tablet\\:line-height-code-6{line-height:1.8}.tablet\\:line-height-alt-1{line-height:1}.tablet\\:line-height-alt-2{line-height:1.2}.tablet\\:line-height-alt-3{line-height:1.4}.tablet\\:line-height-alt-4{line-height:1.5}.tablet\\:line-height-alt-5{line-height:1.7}.tablet\\:line-height-alt-6{line-height:1.8}.tablet\\:margin-neg-1px{margin:-1px}.tablet\\:margin-neg-2px{margin:-2px}.tablet\\:margin-neg-05{margin:-0.25rem}.tablet\\:margin-neg-1{margin:-0.5rem}.tablet\\:margin-neg-105{margin:-0.75rem}.tablet\\:margin-neg-2{margin:-1rem}.tablet\\:margin-neg-205{margin:-1.25rem}.tablet\\:margin-neg-3{margin:-1.5rem}.tablet\\:margin-1px{margin:1px}.tablet\\:margin-2px{margin:2px}.tablet\\:margin-05{margin:0.25rem}.tablet\\:margin-1{margin:0.5rem}.tablet\\:margin-105{margin:0.75rem}.tablet\\:margin-2{margin:1rem}.tablet\\:margin-205{margin:1.25rem}.tablet\\:margin-3{margin:1.5rem}.tablet\\:margin-neg-4{margin:-2rem}.tablet\\:margin-neg-5{margin:-2.5rem}.tablet\\:margin-neg-6{margin:-3rem}.tablet\\:margin-neg-7{margin:-3.5rem}.tablet\\:margin-neg-8{margin:-4rem}.tablet\\:margin-neg-9{margin:-4.5rem}.tablet\\:margin-neg-10{margin:-5rem}.tablet\\:margin-neg-15{margin:-7.5rem}.tablet\\:margin-4{margin:2rem}.tablet\\:margin-5{margin:2.5rem}.tablet\\:margin-6{margin:3rem}.tablet\\:margin-7{margin:3.5rem}.tablet\\:margin-8{margin:4rem}.tablet\\:margin-9{margin:4.5rem}.tablet\\:margin-10{margin:5rem}.tablet\\:margin-15{margin:7.5rem}.tablet\\:margin-05em{margin:0.5em}.tablet\\:margin-1em{margin:1em}.tablet\\:margin-105em{margin:1.5em}.tablet\\:margin-2em{margin:2em}.tablet\\:margin-0{margin:0}.tablet\\:margin-y-1px{margin-top:1px;margin-bottom:1px}.tablet\\:margin-top-1px{margin-top:1px}.tablet\\:margin-bottom-1px{margin-bottom:1px}.tablet\\:margin-y-2px{margin-top:2px;margin-bottom:2px}.tablet\\:margin-top-2px{margin-top:2px}.tablet\\:margin-bottom-2px{margin-bottom:2px}.tablet\\:margin-y-05{margin-top:0.25rem;margin-bottom:0.25rem}.tablet\\:margin-top-05{margin-top:0.25rem}.tablet\\:margin-bottom-05{margin-bottom:0.25rem}.tablet\\:margin-y-1{margin-top:0.5rem;margin-bottom:0.5rem}.tablet\\:margin-top-1{margin-top:0.5rem}.tablet\\:margin-bottom-1{margin-bottom:0.5rem}.tablet\\:margin-y-105{margin-top:0.75rem;margin-bottom:0.75rem}.tablet\\:margin-top-105{margin-top:0.75rem}.tablet\\:margin-bottom-105{margin-bottom:0.75rem}.tablet\\:margin-y-2{margin-top:1rem;margin-bottom:1rem}.tablet\\:margin-top-2{margin-top:1rem}.tablet\\:margin-bottom-2{margin-bottom:1rem}.tablet\\:margin-y-205{margin-top:1.25rem;margin-bottom:1.25rem}.tablet\\:margin-top-205{margin-top:1.25rem}.tablet\\:margin-bottom-205{margin-bottom:1.25rem}.tablet\\:margin-y-3{margin-top:1.5rem;margin-bottom:1.5rem}.tablet\\:margin-top-3{margin-top:1.5rem}.tablet\\:margin-bottom-3{margin-bottom:1.5rem}.tablet\\:margin-y-neg-1px{margin-top:-1px;margin-bottom:-1px}.tablet\\:margin-top-neg-1px{margin-top:-1px}.tablet\\:margin-bottom-neg-1px{margin-bottom:-1px}.tablet\\:margin-y-neg-2px{margin-top:-2px;margin-bottom:-2px}.tablet\\:margin-top-neg-2px{margin-top:-2px}.tablet\\:margin-bottom-neg-2px{margin-bottom:-2px}.tablet\\:margin-y-neg-05{margin-top:-0.25rem;margin-bottom:-0.25rem}.tablet\\:margin-top-neg-05{margin-top:-0.25rem}.tablet\\:margin-bottom-neg-05{margin-bottom:-0.25rem}.tablet\\:margin-y-neg-1{margin-top:-0.5rem;margin-bottom:-0.5rem}.tablet\\:margin-top-neg-1{margin-top:-0.5rem}.tablet\\:margin-bottom-neg-1{margin-bottom:-0.5rem}.tablet\\:margin-y-neg-105{margin-top:-0.75rem;margin-bottom:-0.75rem}.tablet\\:margin-top-neg-105{margin-top:-0.75rem}.tablet\\:margin-bottom-neg-105{margin-bottom:-0.75rem}.tablet\\:margin-y-neg-2{margin-top:-1rem;margin-bottom:-1rem}.tablet\\:margin-top-neg-2{margin-top:-1rem}.tablet\\:margin-bottom-neg-2{margin-bottom:-1rem}.tablet\\:margin-y-neg-205{margin-top:-1.25rem;margin-bottom:-1.25rem}.tablet\\:margin-top-neg-205{margin-top:-1.25rem}.tablet\\:margin-bottom-neg-205{margin-bottom:-1.25rem}.tablet\\:margin-y-neg-3{margin-top:-1.5rem;margin-bottom:-1.5rem}.tablet\\:margin-top-neg-3{margin-top:-1.5rem}.tablet\\:margin-bottom-neg-3{margin-bottom:-1.5rem}.tablet\\:margin-y-neg-4{margin-top:-2rem;margin-bottom:-2rem}.tablet\\:margin-top-neg-4{margin-top:-2rem}.tablet\\:margin-bottom-neg-4{margin-bottom:-2rem}.tablet\\:margin-y-neg-5{margin-top:-2.5rem;margin-bottom:-2.5rem}.tablet\\:margin-top-neg-5{margin-top:-2.5rem}.tablet\\:margin-bottom-neg-5{margin-bottom:-2.5rem}.tablet\\:margin-y-neg-6{margin-top:-3rem;margin-bottom:-3rem}.tablet\\:margin-top-neg-6{margin-top:-3rem}.tablet\\:margin-bottom-neg-6{margin-bottom:-3rem}.tablet\\:margin-y-neg-7{margin-top:-3.5rem;margin-bottom:-3.5rem}.tablet\\:margin-top-neg-7{margin-top:-3.5rem}.tablet\\:margin-bottom-neg-7{margin-bottom:-3.5rem}.tablet\\:margin-y-neg-8{margin-top:-4rem;margin-bottom:-4rem}.tablet\\:margin-top-neg-8{margin-top:-4rem}.tablet\\:margin-bottom-neg-8{margin-bottom:-4rem}.tablet\\:margin-y-neg-9{margin-top:-4.5rem;margin-bottom:-4.5rem}.tablet\\:margin-top-neg-9{margin-top:-4.5rem}.tablet\\:margin-bottom-neg-9{margin-bottom:-4.5rem}.tablet\\:margin-y-neg-10{margin-top:-5rem;margin-bottom:-5rem}.tablet\\:margin-top-neg-10{margin-top:-5rem}.tablet\\:margin-bottom-neg-10{margin-bottom:-5rem}.tablet\\:margin-y-neg-15{margin-top:-7.5rem;margin-bottom:-7.5rem}.tablet\\:margin-top-neg-15{margin-top:-7.5rem}.tablet\\:margin-bottom-neg-15{margin-bottom:-7.5rem}.tablet\\:margin-y-4{margin-top:2rem;margin-bottom:2rem}.tablet\\:margin-top-4{margin-top:2rem}.tablet\\:margin-bottom-4{margin-bottom:2rem}.tablet\\:margin-y-5{margin-top:2.5rem;margin-bottom:2.5rem}.tablet\\:margin-top-5{margin-top:2.5rem}.tablet\\:margin-bottom-5{margin-bottom:2.5rem}.tablet\\:margin-y-6{margin-top:3rem;margin-bottom:3rem}.tablet\\:margin-top-6{margin-top:3rem}.tablet\\:margin-bottom-6{margin-bottom:3rem}.tablet\\:margin-y-7{margin-top:3.5rem;margin-bottom:3.5rem}.tablet\\:margin-top-7{margin-top:3.5rem}.tablet\\:margin-bottom-7{margin-bottom:3.5rem}.tablet\\:margin-y-8{margin-top:4rem;margin-bottom:4rem}.tablet\\:margin-top-8{margin-top:4rem}.tablet\\:margin-bottom-8{margin-bottom:4rem}.tablet\\:margin-y-9{margin-top:4.5rem;margin-bottom:4.5rem}.tablet\\:margin-top-9{margin-top:4.5rem}.tablet\\:margin-bottom-9{margin-bottom:4.5rem}.tablet\\:margin-y-10{margin-top:5rem;margin-bottom:5rem}.tablet\\:margin-top-10{margin-top:5rem}.tablet\\:margin-bottom-10{margin-bottom:5rem}.tablet\\:margin-y-15{margin-top:7.5rem;margin-bottom:7.5rem}.tablet\\:margin-top-15{margin-top:7.5rem}.tablet\\:margin-bottom-15{margin-bottom:7.5rem}.tablet\\:margin-y-05em{margin-top:0.5em;margin-bottom:0.5em}.tablet\\:margin-top-05em{margin-top:0.5em}.tablet\\:margin-bottom-05em{margin-bottom:0.5em}.tablet\\:margin-y-1em{margin-top:1em;margin-bottom:1em}.tablet\\:margin-top-1em{margin-top:1em}.tablet\\:margin-bottom-1em{margin-bottom:1em}.tablet\\:margin-y-105em{margin-top:1.5em;margin-bottom:1.5em}.tablet\\:margin-top-105em{margin-top:1.5em}.tablet\\:margin-bottom-105em{margin-bottom:1.5em}.tablet\\:margin-y-2em{margin-top:2em;margin-bottom:2em}.tablet\\:margin-top-2em{margin-top:2em}.tablet\\:margin-bottom-2em{margin-bottom:2em}.tablet\\:margin-y-0{margin-top:0;margin-bottom:0}.tablet\\:margin-top-0{margin-top:0}.tablet\\:margin-bottom-0{margin-bottom:0}.tablet\\:margin-y-auto{margin-top:auto;margin-bottom:auto}.tablet\\:margin-top-auto{margin-top:auto}.tablet\\:margin-bottom-auto{margin-bottom:auto}.tablet\\:margin-x-1px{margin-left:1px;margin-right:1px}.tablet\\:margin-right-1px{margin-right:1px}.tablet\\:margin-left-1px{margin-left:1px}.tablet\\:margin-x-2px{margin-left:2px;margin-right:2px}.tablet\\:margin-right-2px{margin-right:2px}.tablet\\:margin-left-2px{margin-left:2px}.tablet\\:margin-x-05{margin-left:0.25rem;margin-right:0.25rem}.tablet\\:margin-right-05{margin-right:0.25rem}.tablet\\:margin-left-05{margin-left:0.25rem}.tablet\\:margin-x-1{margin-left:0.5rem;margin-right:0.5rem}.tablet\\:margin-right-1{margin-right:0.5rem}.tablet\\:margin-left-1{margin-left:0.5rem}.tablet\\:margin-x-105{margin-left:0.75rem;margin-right:0.75rem}.tablet\\:margin-right-105{margin-right:0.75rem}.tablet\\:margin-left-105{margin-left:0.75rem}.tablet\\:margin-x-2{margin-left:1rem;margin-right:1rem}.tablet\\:margin-right-2{margin-right:1rem}.tablet\\:margin-left-2{margin-left:1rem}.tablet\\:margin-x-205{margin-left:1.25rem;margin-right:1.25rem}.tablet\\:margin-right-205{margin-right:1.25rem}.tablet\\:margin-left-205{margin-left:1.25rem}.tablet\\:margin-x-3{margin-left:1.5rem;margin-right:1.5rem}.tablet\\:margin-right-3{margin-right:1.5rem}.tablet\\:margin-left-3{margin-left:1.5rem}.tablet\\:margin-x-neg-1px{margin-left:-1px;margin-right:-1px}.tablet\\:margin-right-neg-1px{margin-right:-1px}.tablet\\:margin-left-neg-1px{margin-left:-1px}.tablet\\:margin-x-neg-2px{margin-left:-2px;margin-right:-2px}.tablet\\:margin-right-neg-2px{margin-right:-2px}.tablet\\:margin-left-neg-2px{margin-left:-2px}.tablet\\:margin-x-neg-05{margin-left:-0.25rem;margin-right:-0.25rem}.tablet\\:margin-right-neg-05{margin-right:-0.25rem}.tablet\\:margin-left-neg-05{margin-left:-0.25rem}.tablet\\:margin-x-neg-1{margin-left:-0.5rem;margin-right:-0.5rem}.tablet\\:margin-right-neg-1{margin-right:-0.5rem}.tablet\\:margin-left-neg-1{margin-left:-0.5rem}.tablet\\:margin-x-neg-105{margin-left:-0.75rem;margin-right:-0.75rem}.tablet\\:margin-right-neg-105{margin-right:-0.75rem}.tablet\\:margin-left-neg-105{margin-left:-0.75rem}.tablet\\:margin-x-neg-2{margin-left:-1rem;margin-right:-1rem}.tablet\\:margin-right-neg-2{margin-right:-1rem}.tablet\\:margin-left-neg-2{margin-left:-1rem}.tablet\\:margin-x-neg-205{margin-left:-1.25rem;margin-right:-1.25rem}.tablet\\:margin-right-neg-205{margin-right:-1.25rem}.tablet\\:margin-left-neg-205{margin-left:-1.25rem}.tablet\\:margin-x-neg-3{margin-left:-1.5rem;margin-right:-1.5rem}.tablet\\:margin-right-neg-3{margin-right:-1.5rem}.tablet\\:margin-left-neg-3{margin-left:-1.5rem}.tablet\\:margin-x-neg-4{margin-left:-2rem;margin-right:-2rem}.tablet\\:margin-right-neg-4{margin-right:-2rem}.tablet\\:margin-left-neg-4{margin-left:-2rem}.tablet\\:margin-x-neg-5{margin-left:-2.5rem;margin-right:-2.5rem}.tablet\\:margin-right-neg-5{margin-right:-2.5rem}.tablet\\:margin-left-neg-5{margin-left:-2.5rem}.tablet\\:margin-x-neg-6{margin-left:-3rem;margin-right:-3rem}.tablet\\:margin-right-neg-6{margin-right:-3rem}.tablet\\:margin-left-neg-6{margin-left:-3rem}.tablet\\:margin-x-neg-7{margin-left:-3.5rem;margin-right:-3.5rem}.tablet\\:margin-right-neg-7{margin-right:-3.5rem}.tablet\\:margin-left-neg-7{margin-left:-3.5rem}.tablet\\:margin-x-neg-8{margin-left:-4rem;margin-right:-4rem}.tablet\\:margin-right-neg-8{margin-right:-4rem}.tablet\\:margin-left-neg-8{margin-left:-4rem}.tablet\\:margin-x-neg-9{margin-left:-4.5rem;margin-right:-4.5rem}.tablet\\:margin-right-neg-9{margin-right:-4.5rem}.tablet\\:margin-left-neg-9{margin-left:-4.5rem}.tablet\\:margin-x-neg-10{margin-left:-5rem;margin-right:-5rem}.tablet\\:margin-right-neg-10{margin-right:-5rem}.tablet\\:margin-left-neg-10{margin-left:-5rem}.tablet\\:margin-x-neg-15{margin-left:-7.5rem;margin-right:-7.5rem}.tablet\\:margin-right-neg-15{margin-right:-7.5rem}.tablet\\:margin-left-neg-15{margin-left:-7.5rem}.tablet\\:margin-x-4{margin-left:2rem;margin-right:2rem}.tablet\\:margin-right-4{margin-right:2rem}.tablet\\:margin-left-4{margin-left:2rem}.tablet\\:margin-x-5{margin-left:2.5rem;margin-right:2.5rem}.tablet\\:margin-right-5{margin-right:2.5rem}.tablet\\:margin-left-5{margin-left:2.5rem}.tablet\\:margin-x-6{margin-left:3rem;margin-right:3rem}.tablet\\:margin-right-6{margin-right:3rem}.tablet\\:margin-left-6{margin-left:3rem}.tablet\\:margin-x-7{margin-left:3.5rem;margin-right:3.5rem}.tablet\\:margin-right-7{margin-right:3.5rem}.tablet\\:margin-left-7{margin-left:3.5rem}.tablet\\:margin-x-8{margin-left:4rem;margin-right:4rem}.tablet\\:margin-right-8{margin-right:4rem}.tablet\\:margin-left-8{margin-left:4rem}.tablet\\:margin-x-9{margin-left:4.5rem;margin-right:4.5rem}.tablet\\:margin-right-9{margin-right:4.5rem}.tablet\\:margin-left-9{margin-left:4.5rem}.tablet\\:margin-x-10{margin-left:5rem;margin-right:5rem}.tablet\\:margin-right-10{margin-right:5rem}.tablet\\:margin-left-10{margin-left:5rem}.tablet\\:margin-x-15{margin-left:7.5rem;margin-right:7.5rem}.tablet\\:margin-right-15{margin-right:7.5rem}.tablet\\:margin-left-15{margin-left:7.5rem}.tablet\\:margin-x-card{margin-left:10rem;margin-right:10rem}.tablet\\:margin-right-card{margin-right:10rem}.tablet\\:margin-left-card{margin-left:10rem}.tablet\\:margin-x-card-lg{margin-left:15rem;margin-right:15rem}.tablet\\:margin-right-card-lg{margin-right:15rem}.tablet\\:margin-left-card-lg{margin-left:15rem}.tablet\\:margin-x-mobile{margin-left:20rem;margin-right:20rem}.tablet\\:margin-right-mobile{margin-right:20rem}.tablet\\:margin-left-mobile{margin-left:20rem}.tablet\\:margin-x-05em{margin-left:0.5em;margin-right:0.5em}.tablet\\:margin-right-05em{margin-right:0.5em}.tablet\\:margin-left-05em{margin-left:0.5em}.tablet\\:margin-x-1em{margin-left:1em;margin-right:1em}.tablet\\:margin-right-1em{margin-right:1em}.tablet\\:margin-left-1em{margin-left:1em}.tablet\\:margin-x-105em{margin-left:1.5em;margin-right:1.5em}.tablet\\:margin-right-105em{margin-right:1.5em}.tablet\\:margin-left-105em{margin-left:1.5em}.tablet\\:margin-x-2em{margin-left:2em;margin-right:2em}.tablet\\:margin-right-2em{margin-right:2em}.tablet\\:margin-left-2em{margin-left:2em}.tablet\\:margin-x-0{margin-left:0;margin-right:0}.tablet\\:margin-right-0{margin-right:0}.tablet\\:margin-left-0{margin-left:0}.tablet\\:margin-x-auto{margin-left:auto;margin-right:auto}.tablet\\:margin-right-auto{margin-right:auto}.tablet\\:margin-left-auto{margin-left:auto}.tablet\\:measure-1{max-width:44ex}.tablet\\:measure-2{max-width:60ex}.tablet\\:measure-3{max-width:64ex}.tablet\\:measure-4{max-width:68ex}.tablet\\:measure-5{max-width:72ex}.tablet\\:measure-6{max-width:88ex}.tablet\\:measure-none{max-width:none}.tablet\\:order-first{order:-1}.tablet\\:order-last{order:999}.tablet\\:order-initial{order:initial}.tablet\\:order-0{order:0}.tablet\\:order-1{order:1}.tablet\\:order-2{order:2}.tablet\\:order-3{order:3}.tablet\\:order-4{order:4}.tablet\\:order-5{order:5}.tablet\\:order-6{order:6}.tablet\\:order-7{order:7}.tablet\\:order-8{order:8}.tablet\\:order-9{order:9}.tablet\\:order-10{order:10}.tablet\\:order-11{order:11}.tablet\\:padding-1px{padding:1px}.tablet\\:padding-y-1px{padding-top:1px;padding-bottom:1px}.tablet\\:padding-x-1px{padding-left:1px;padding-right:1px}.tablet\\:padding-top-1px{padding-top:1px}.tablet\\:padding-right-1px{padding-right:1px}.tablet\\:padding-bottom-1px{padding-bottom:1px}.tablet\\:padding-left-1px{padding-left:1px}.tablet\\:padding-2px{padding:2px}.tablet\\:padding-y-2px{padding-top:2px;padding-bottom:2px}.tablet\\:padding-x-2px{padding-left:2px;padding-right:2px}.tablet\\:padding-top-2px{padding-top:2px}.tablet\\:padding-right-2px{padding-right:2px}.tablet\\:padding-bottom-2px{padding-bottom:2px}.tablet\\:padding-left-2px{padding-left:2px}.tablet\\:padding-05{padding:0.25rem}.tablet\\:padding-y-05{padding-top:0.25rem;padding-bottom:0.25rem}.tablet\\:padding-x-05{padding-left:0.25rem;padding-right:0.25rem}.tablet\\:padding-top-05{padding-top:0.25rem}.tablet\\:padding-right-05{padding-right:0.25rem}.tablet\\:padding-bottom-05{padding-bottom:0.25rem}.tablet\\:padding-left-05{padding-left:0.25rem}.tablet\\:padding-1{padding:0.5rem}.tablet\\:padding-y-1{padding-top:0.5rem;padding-bottom:0.5rem}.tablet\\:padding-x-1{padding-left:0.5rem;padding-right:0.5rem}.tablet\\:padding-top-1{padding-top:0.5rem}.tablet\\:padding-right-1{padding-right:0.5rem}.tablet\\:padding-bottom-1{padding-bottom:0.5rem}.tablet\\:padding-left-1{padding-left:0.5rem}.tablet\\:padding-105{padding:0.75rem}.tablet\\:padding-y-105{padding-top:0.75rem;padding-bottom:0.75rem}.tablet\\:padding-x-105{padding-left:0.75rem;padding-right:0.75rem}.tablet\\:padding-top-105{padding-top:0.75rem}.tablet\\:padding-right-105{padding-right:0.75rem}.tablet\\:padding-bottom-105{padding-bottom:0.75rem}.tablet\\:padding-left-105{padding-left:0.75rem}.tablet\\:padding-2{padding:1rem}.tablet\\:padding-y-2{padding-top:1rem;padding-bottom:1rem}.tablet\\:padding-x-2{padding-left:1rem;padding-right:1rem}.tablet\\:padding-top-2{padding-top:1rem}.tablet\\:padding-right-2{padding-right:1rem}.tablet\\:padding-bottom-2{padding-bottom:1rem}.tablet\\:padding-left-2{padding-left:1rem}.tablet\\:padding-205{padding:1.25rem}.tablet\\:padding-y-205{padding-top:1.25rem;padding-bottom:1.25rem}.tablet\\:padding-x-205{padding-left:1.25rem;padding-right:1.25rem}.tablet\\:padding-top-205{padding-top:1.25rem}.tablet\\:padding-right-205{padding-right:1.25rem}.tablet\\:padding-bottom-205{padding-bottom:1.25rem}.tablet\\:padding-left-205{padding-left:1.25rem}.tablet\\:padding-3{padding:1.5rem}.tablet\\:padding-y-3{padding-top:1.5rem;padding-bottom:1.5rem}.tablet\\:padding-x-3{padding-left:1.5rem;padding-right:1.5rem}.tablet\\:padding-top-3{padding-top:1.5rem}.tablet\\:padding-right-3{padding-right:1.5rem}.tablet\\:padding-bottom-3{padding-bottom:1.5rem}.tablet\\:padding-left-3{padding-left:1.5rem}.tablet\\:padding-4{padding:2rem}.tablet\\:padding-y-4{padding-top:2rem;padding-bottom:2rem}.tablet\\:padding-x-4{padding-left:2rem;padding-right:2rem}.tablet\\:padding-top-4{padding-top:2rem}.tablet\\:padding-right-4{padding-right:2rem}.tablet\\:padding-bottom-4{padding-bottom:2rem}.tablet\\:padding-left-4{padding-left:2rem}.tablet\\:padding-5{padding:2.5rem}.tablet\\:padding-y-5{padding-top:2.5rem;padding-bottom:2.5rem}.tablet\\:padding-x-5{padding-left:2.5rem;padding-right:2.5rem}.tablet\\:padding-top-5{padding-top:2.5rem}.tablet\\:padding-right-5{padding-right:2.5rem}.tablet\\:padding-bottom-5{padding-bottom:2.5rem}.tablet\\:padding-left-5{padding-left:2.5rem}.tablet\\:padding-6{padding:3rem}.tablet\\:padding-y-6{padding-top:3rem;padding-bottom:3rem}.tablet\\:padding-x-6{padding-left:3rem;padding-right:3rem}.tablet\\:padding-top-6{padding-top:3rem}.tablet\\:padding-right-6{padding-right:3rem}.tablet\\:padding-bottom-6{padding-bottom:3rem}.tablet\\:padding-left-6{padding-left:3rem}.tablet\\:padding-7{padding:3.5rem}.tablet\\:padding-y-7{padding-top:3.5rem;padding-bottom:3.5rem}.tablet\\:padding-x-7{padding-left:3.5rem;padding-right:3.5rem}.tablet\\:padding-top-7{padding-top:3.5rem}.tablet\\:padding-right-7{padding-right:3.5rem}.tablet\\:padding-bottom-7{padding-bottom:3.5rem}.tablet\\:padding-left-7{padding-left:3.5rem}.tablet\\:padding-8{padding:4rem}.tablet\\:padding-y-8{padding-top:4rem;padding-bottom:4rem}.tablet\\:padding-x-8{padding-left:4rem;padding-right:4rem}.tablet\\:padding-top-8{padding-top:4rem}.tablet\\:padding-right-8{padding-right:4rem}.tablet\\:padding-bottom-8{padding-bottom:4rem}.tablet\\:padding-left-8{padding-left:4rem}.tablet\\:padding-9{padding:4.5rem}.tablet\\:padding-y-9{padding-top:4.5rem;padding-bottom:4.5rem}.tablet\\:padding-x-9{padding-left:4.5rem;padding-right:4.5rem}.tablet\\:padding-top-9{padding-top:4.5rem}.tablet\\:padding-right-9{padding-right:4.5rem}.tablet\\:padding-bottom-9{padding-bottom:4.5rem}.tablet\\:padding-left-9{padding-left:4.5rem}.tablet\\:padding-10{padding:5rem}.tablet\\:padding-y-10{padding-top:5rem;padding-bottom:5rem}.tablet\\:padding-x-10{padding-left:5rem;padding-right:5rem}.tablet\\:padding-top-10{padding-top:5rem}.tablet\\:padding-right-10{padding-right:5rem}.tablet\\:padding-bottom-10{padding-bottom:5rem}.tablet\\:padding-left-10{padding-left:5rem}.tablet\\:padding-15{padding:7.5rem}.tablet\\:padding-y-15{padding-top:7.5rem;padding-bottom:7.5rem}.tablet\\:padding-x-15{padding-left:7.5rem;padding-right:7.5rem}.tablet\\:padding-top-15{padding-top:7.5rem}.tablet\\:padding-right-15{padding-right:7.5rem}.tablet\\:padding-bottom-15{padding-bottom:7.5rem}.tablet\\:padding-left-15{padding-left:7.5rem}.tablet\\:padding-0{padding:0}.tablet\\:padding-y-0{padding-top:0;padding-bottom:0}.tablet\\:padding-x-0{padding-left:0;padding-right:0}.tablet\\:padding-top-0{padding-top:0}.tablet\\:padding-right-0{padding-right:0}.tablet\\:padding-bottom-0{padding-bottom:0}.tablet\\:padding-left-0{padding-left:0}.tablet\\:width-1px{width:1px}.tablet\\:width-2px{width:2px}.tablet\\:width-05{width:0.25rem}.tablet\\:width-1{width:0.5rem}.tablet\\:width-105{width:0.75rem}.tablet\\:width-2{width:1rem}.tablet\\:width-205{width:1.25rem}.tablet\\:width-3{width:1.5rem}.tablet\\:width-4{width:2rem}.tablet\\:width-5{width:2.5rem}.tablet\\:width-6{width:3rem}.tablet\\:width-7{width:3.5rem}.tablet\\:width-8{width:4rem}.tablet\\:width-9{width:4.5rem}.tablet\\:width-10{width:5rem}.tablet\\:width-15{width:7.5rem}.tablet\\:width-card{width:10rem}.tablet\\:width-card-lg{width:15rem}.tablet\\:width-mobile{width:20rem}.tablet\\:width-mobile-lg{width:30rem}.tablet\\:width-tablet{width:40rem}.tablet\\:width-tablet-lg{width:55rem}.tablet\\:width-desktop{width:64rem}.tablet\\:width-desktop-lg{width:75rem}.tablet\\:width-widescreen{width:87.5rem}.tablet\\:width-0{width:0}.tablet\\:width-full{width:100%}.tablet\\:width-auto{width:auto}}@media all and (min-width: 64em){.desktop\\:border-1px{border:1px solid}.desktop\\:hover\\:border-1px:hover{border:1px solid}.desktop\\:border-y-1px{border-top:1px solid;border-bottom:1px solid}.desktop\\:hover\\:border-y-1px:hover{border-top:1px solid;border-bottom:1px solid}.desktop\\:border-x-1px{border-left:1px solid;border-right:1px solid}.desktop\\:hover\\:border-x-1px:hover{border-left:1px solid;border-right:1px solid}.desktop\\:border-top-1px{border-top:1px solid}.desktop\\:hover\\:border-top-1px:hover{border-top:1px solid}.desktop\\:border-right-1px{border-right:1px solid}.desktop\\:hover\\:border-right-1px:hover{border-right:1px solid}.desktop\\:border-bottom-1px{border-bottom:1px solid}.desktop\\:hover\\:border-bottom-1px:hover{border-bottom:1px solid}.desktop\\:border-left-1px{border-left:1px solid}.desktop\\:hover\\:border-left-1px:hover{border-left:1px solid}.desktop\\:border-2px{border:2px solid}.desktop\\:hover\\:border-2px:hover{border:2px solid}.desktop\\:border-y-2px{border-top:2px solid;border-bottom:2px solid}.desktop\\:hover\\:border-y-2px:hover{border-top:2px solid;border-bottom:2px solid}.desktop\\:border-x-2px{border-left:2px solid;border-right:2px solid}.desktop\\:hover\\:border-x-2px:hover{border-left:2px solid;border-right:2px solid}.desktop\\:border-top-2px{border-top:2px solid}.desktop\\:hover\\:border-top-2px:hover{border-top:2px solid}.desktop\\:border-right-2px{border-right:2px solid}.desktop\\:hover\\:border-right-2px:hover{border-right:2px solid}.desktop\\:border-bottom-2px{border-bottom:2px solid}.desktop\\:hover\\:border-bottom-2px:hover{border-bottom:2px solid}.desktop\\:border-left-2px{border-left:2px solid}.desktop\\:hover\\:border-left-2px:hover{border-left:2px solid}.desktop\\:border-05{border:0.25rem solid}.desktop\\:hover\\:border-05:hover{border:0.25rem solid}.desktop\\:border-y-05{border-top:0.25rem solid;border-bottom:0.25rem solid}.desktop\\:hover\\:border-y-05:hover{border-top:0.25rem solid;border-bottom:0.25rem solid}.desktop\\:border-x-05{border-left:0.25rem solid;border-right:0.25rem solid}.desktop\\:hover\\:border-x-05:hover{border-left:0.25rem solid;border-right:0.25rem solid}.desktop\\:border-top-05{border-top:0.25rem solid}.desktop\\:hover\\:border-top-05:hover{border-top:0.25rem solid}.desktop\\:border-right-05{border-right:0.25rem solid}.desktop\\:hover\\:border-right-05:hover{border-right:0.25rem solid}.desktop\\:border-bottom-05{border-bottom:0.25rem solid}.desktop\\:hover\\:border-bottom-05:hover{border-bottom:0.25rem solid}.desktop\\:border-left-05{border-left:0.25rem solid}.desktop\\:hover\\:border-left-05:hover{border-left:0.25rem solid}.desktop\\:border-1{border:0.5rem solid}.desktop\\:hover\\:border-1:hover{border:0.5rem solid}.desktop\\:border-y-1{border-top:0.5rem solid;border-bottom:0.5rem solid}.desktop\\:hover\\:border-y-1:hover{border-top:0.5rem solid;border-bottom:0.5rem solid}.desktop\\:border-x-1{border-left:0.5rem solid;border-right:0.5rem solid}.desktop\\:hover\\:border-x-1:hover{border-left:0.5rem solid;border-right:0.5rem solid}.desktop\\:border-top-1{border-top:0.5rem solid}.desktop\\:hover\\:border-top-1:hover{border-top:0.5rem solid}.desktop\\:border-right-1{border-right:0.5rem solid}.desktop\\:hover\\:border-right-1:hover{border-right:0.5rem solid}.desktop\\:border-bottom-1{border-bottom:0.5rem solid}.desktop\\:hover\\:border-bottom-1:hover{border-bottom:0.5rem solid}.desktop\\:border-left-1{border-left:0.5rem solid}.desktop\\:hover\\:border-left-1:hover{border-left:0.5rem solid}.desktop\\:border-105{border:0.75rem solid}.desktop\\:hover\\:border-105:hover{border:0.75rem solid}.desktop\\:border-y-105{border-top:0.75rem solid;border-bottom:0.75rem solid}.desktop\\:hover\\:border-y-105:hover{border-top:0.75rem solid;border-bottom:0.75rem solid}.desktop\\:border-x-105{border-left:0.75rem solid;border-right:0.75rem solid}.desktop\\:hover\\:border-x-105:hover{border-left:0.75rem solid;border-right:0.75rem solid}.desktop\\:border-top-105{border-top:0.75rem solid}.desktop\\:hover\\:border-top-105:hover{border-top:0.75rem solid}.desktop\\:border-right-105{border-right:0.75rem solid}.desktop\\:hover\\:border-right-105:hover{border-right:0.75rem solid}.desktop\\:border-bottom-105{border-bottom:0.75rem solid}.desktop\\:hover\\:border-bottom-105:hover{border-bottom:0.75rem solid}.desktop\\:border-left-105{border-left:0.75rem solid}.desktop\\:hover\\:border-left-105:hover{border-left:0.75rem solid}.desktop\\:border-2{border:1rem solid}.desktop\\:hover\\:border-2:hover{border:1rem solid}.desktop\\:border-y-2{border-top:1rem solid;border-bottom:1rem solid}.desktop\\:hover\\:border-y-2:hover{border-top:1rem solid;border-bottom:1rem solid}.desktop\\:border-x-2{border-left:1rem solid;border-right:1rem solid}.desktop\\:hover\\:border-x-2:hover{border-left:1rem solid;border-right:1rem solid}.desktop\\:border-top-2{border-top:1rem solid}.desktop\\:hover\\:border-top-2:hover{border-top:1rem solid}.desktop\\:border-right-2{border-right:1rem solid}.desktop\\:hover\\:border-right-2:hover{border-right:1rem solid}.desktop\\:border-bottom-2{border-bottom:1rem solid}.desktop\\:hover\\:border-bottom-2:hover{border-bottom:1rem solid}.desktop\\:border-left-2{border-left:1rem solid}.desktop\\:hover\\:border-left-2:hover{border-left:1rem solid}.desktop\\:border-205{border:1.25rem solid}.desktop\\:hover\\:border-205:hover{border:1.25rem solid}.desktop\\:border-y-205{border-top:1.25rem solid;border-bottom:1.25rem solid}.desktop\\:hover\\:border-y-205:hover{border-top:1.25rem solid;border-bottom:1.25rem solid}.desktop\\:border-x-205{border-left:1.25rem solid;border-right:1.25rem solid}.desktop\\:hover\\:border-x-205:hover{border-left:1.25rem solid;border-right:1.25rem solid}.desktop\\:border-top-205{border-top:1.25rem solid}.desktop\\:hover\\:border-top-205:hover{border-top:1.25rem solid}.desktop\\:border-right-205{border-right:1.25rem solid}.desktop\\:hover\\:border-right-205:hover{border-right:1.25rem solid}.desktop\\:border-bottom-205{border-bottom:1.25rem solid}.desktop\\:hover\\:border-bottom-205:hover{border-bottom:1.25rem solid}.desktop\\:border-left-205{border-left:1.25rem solid}.desktop\\:hover\\:border-left-205:hover{border-left:1.25rem solid}.desktop\\:border-3{border:1.5rem solid}.desktop\\:hover\\:border-3:hover{border:1.5rem solid}.desktop\\:border-y-3{border-top:1.5rem solid;border-bottom:1.5rem solid}.desktop\\:hover\\:border-y-3:hover{border-top:1.5rem solid;border-bottom:1.5rem solid}.desktop\\:border-x-3{border-left:1.5rem solid;border-right:1.5rem solid}.desktop\\:hover\\:border-x-3:hover{border-left:1.5rem solid;border-right:1.5rem solid}.desktop\\:border-top-3{border-top:1.5rem solid}.desktop\\:hover\\:border-top-3:hover{border-top:1.5rem solid}.desktop\\:border-right-3{border-right:1.5rem solid}.desktop\\:hover\\:border-right-3:hover{border-right:1.5rem solid}.desktop\\:border-bottom-3{border-bottom:1.5rem solid}.desktop\\:hover\\:border-bottom-3:hover{border-bottom:1.5rem solid}.desktop\\:border-left-3{border-left:1.5rem solid}.desktop\\:hover\\:border-left-3:hover{border-left:1.5rem solid}.desktop\\:border-0{border:0 solid}.desktop\\:hover\\:border-0:hover{border:0 solid}.desktop\\:border-y-0{border-top:0 solid;border-bottom:0 solid}.desktop\\:hover\\:border-y-0:hover{border-top:0 solid;border-bottom:0 solid}.desktop\\:border-x-0{border-left:0 solid;border-right:0 solid}.desktop\\:hover\\:border-x-0:hover{border-left:0 solid;border-right:0 solid}.desktop\\:border-top-0{border-top:0 solid}.desktop\\:hover\\:border-top-0:hover{border-top:0 solid}.desktop\\:border-right-0{border-right:0 solid}.desktop\\:hover\\:border-right-0:hover{border-right:0 solid}.desktop\\:border-bottom-0{border-bottom:0 solid}.desktop\\:hover\\:border-bottom-0:hover{border-bottom:0 solid}.desktop\\:border-left-0{border-left:0 solid}.desktop\\:hover\\:border-left-0:hover{border-left:0 solid}.desktop\\:border{border:1px solid}.desktop\\:hover\\:border:hover{border:1px solid}.desktop\\:border-y{border-top:1px solid;border-bottom:1px solid}.desktop\\:hover\\:border-y:hover{border-top:1px solid;border-bottom:1px solid}.desktop\\:border-x{border-left:1px solid;border-right:1px solid}.desktop\\:hover\\:border-x:hover{border-left:1px solid;border-right:1px solid}.desktop\\:border-top{border-top:1px solid}.desktop\\:hover\\:border-top:hover{border-top:1px solid}.desktop\\:border-right{border-right:1px solid}.desktop\\:hover\\:border-right:hover{border-right:1px solid}.desktop\\:border-bottom{border-bottom:1px solid}.desktop\\:hover\\:border-bottom:hover{border-bottom:1px solid}.desktop\\:border-left{border-left:1px solid}.desktop\\:hover\\:border-left:hover{border-left:1px solid}.desktop\\:border-transparent{border-color:transparent}.desktop\\:hover\\:border-transparent:hover{border-color:transparent}.desktop\\:border-black{border-color:black}.desktop\\:hover\\:border-black:hover{border-color:black}.desktop\\:border-white{border-color:white}.desktop\\:hover\\:border-white:hover{border-color:white}.desktop\\:border-red{border-color:#e52207}.desktop\\:hover\\:border-red:hover{border-color:#e52207}.desktop\\:border-orange{border-color:#e66f0e}.desktop\\:hover\\:border-orange:hover{border-color:#e66f0e}.desktop\\:border-gold{border-color:#ffbe2e}.desktop\\:hover\\:border-gold:hover{border-color:#ffbe2e}.desktop\\:border-yellow{border-color:#fee685}.desktop\\:hover\\:border-yellow:hover{border-color:#fee685}.desktop\\:border-green{border-color:#538200}.desktop\\:hover\\:border-green:hover{border-color:#538200}.desktop\\:border-mint{border-color:#04c585}.desktop\\:hover\\:border-mint:hover{border-color:#04c585}.desktop\\:border-cyan{border-color:#009ec1}.desktop\\:hover\\:border-cyan:hover{border-color:#009ec1}.desktop\\:border-blue{border-color:#0076d6}.desktop\\:hover\\:border-blue:hover{border-color:#0076d6}.desktop\\:border-indigo{border-color:#676cc8}.desktop\\:hover\\:border-indigo:hover{border-color:#676cc8}.desktop\\:border-violet{border-color:#8168b3}.desktop\\:hover\\:border-violet:hover{border-color:#8168b3}.desktop\\:border-magenta{border-color:#d72d79}.desktop\\:hover\\:border-magenta:hover{border-color:#d72d79}.desktop\\:border-gray-5{border-color:#f0f0f0}.desktop\\:hover\\:border-gray-5:hover{border-color:#f0f0f0}.desktop\\:border-gray-10{border-color:#e6e6e6}.desktop\\:hover\\:border-gray-10:hover{border-color:#e6e6e6}.desktop\\:border-gray-30{border-color:#adadad}.desktop\\:hover\\:border-gray-30:hover{border-color:#adadad}.desktop\\:border-gray-50{border-color:#757575}.desktop\\:hover\\:border-gray-50:hover{border-color:#757575}.desktop\\:border-gray-70{border-color:#454545}.desktop\\:hover\\:border-gray-70:hover{border-color:#454545}.desktop\\:border-gray-90{border-color:#1b1b1b}.desktop\\:hover\\:border-gray-90:hover{border-color:#1b1b1b}.desktop\\:border-base-lightest{border-color:#f0f0f0}.desktop\\:hover\\:border-base-lightest:hover{border-color:#f0f0f0}.desktop\\:border-base-lighter{border-color:#dfe1e2}.desktop\\:hover\\:border-base-lighter:hover{border-color:#dfe1e2}.desktop\\:border-base-light{border-color:#a9aeb1}.desktop\\:hover\\:border-base-light:hover{border-color:#a9aeb1}.desktop\\:border-base{border-color:#71767a}.desktop\\:hover\\:border-base:hover{border-color:#71767a}.desktop\\:border-base-dark{border-color:#565c65}.desktop\\:hover\\:border-base-dark:hover{border-color:#565c65}.desktop\\:border-base-darker{border-color:#3d4551}.desktop\\:hover\\:border-base-darker:hover{border-color:#3d4551}.desktop\\:border-base-darkest{border-color:#1b1b1b}.desktop\\:hover\\:border-base-darkest:hover{border-color:#1b1b1b}.desktop\\:border-ink{border-color:#1b1b1b}.desktop\\:hover\\:border-ink:hover{border-color:#1b1b1b}.desktop\\:border-primary-lighter{border-color:#d9e8f6}.desktop\\:hover\\:border-primary-lighter:hover{border-color:#d9e8f6}.desktop\\:border-primary-light{border-color:#73b3e7}.desktop\\:hover\\:border-primary-light:hover{border-color:#73b3e7}.desktop\\:border-primary{border-color:#005ea2}.desktop\\:hover\\:border-primary:hover{border-color:#005ea2}.desktop\\:border-primary-vivid{border-color:#0050d8}.desktop\\:hover\\:border-primary-vivid:hover{border-color:#0050d8}.desktop\\:border-primary-dark{border-color:#1a4480}.desktop\\:hover\\:border-primary-dark:hover{border-color:#1a4480}.desktop\\:border-primary-darker{border-color:#162e51}.desktop\\:hover\\:border-primary-darker:hover{border-color:#162e51}.desktop\\:border-secondary-lighter{border-color:#f3e1e4}.desktop\\:hover\\:border-secondary-lighter:hover{border-color:#f3e1e4}.desktop\\:border-secondary-light{border-color:#f2938c}.desktop\\:hover\\:border-secondary-light:hover{border-color:#f2938c}.desktop\\:border-secondary{border-color:#d83933}.desktop\\:hover\\:border-secondary:hover{border-color:#d83933}.desktop\\:border-secondary-vivid{border-color:#e41d3d}.desktop\\:hover\\:border-secondary-vivid:hover{border-color:#e41d3d}.desktop\\:border-secondary-dark{border-color:#b50909}.desktop\\:hover\\:border-secondary-dark:hover{border-color:#b50909}.desktop\\:border-secondary-darker{border-color:#8b0a03}.desktop\\:hover\\:border-secondary-darker:hover{border-color:#8b0a03}.desktop\\:border-accent-warm-darker{border-color:#775540}.desktop\\:hover\\:border-accent-warm-darker:hover{border-color:#775540}.desktop\\:border-accent-warm-dark{border-color:#c05600}.desktop\\:hover\\:border-accent-warm-dark:hover{border-color:#c05600}.desktop\\:border-accent-warm{border-color:#fa9441}.desktop\\:hover\\:border-accent-warm:hover{border-color:#fa9441}.desktop\\:border-accent-warm-light{border-color:#ffbc78}.desktop\\:hover\\:border-accent-warm-light:hover{border-color:#ffbc78}.desktop\\:border-accent-warm-lighter{border-color:#f2e4d4}.desktop\\:hover\\:border-accent-warm-lighter:hover{border-color:#f2e4d4}.desktop\\:border-accent-cool-darker{border-color:#07648d}.desktop\\:hover\\:border-accent-cool-darker:hover{border-color:#07648d}.desktop\\:border-accent-cool-dark{border-color:#28a0cb}.desktop\\:hover\\:border-accent-cool-dark:hover{border-color:#28a0cb}.desktop\\:border-accent-cool{border-color:#00bde3}.desktop\\:hover\\:border-accent-cool:hover{border-color:#00bde3}.desktop\\:border-accent-cool-light{border-color:#97d4ea}.desktop\\:hover\\:border-accent-cool-light:hover{border-color:#97d4ea}.desktop\\:border-accent-cool-lighter{border-color:#e1f3f8}.desktop\\:hover\\:border-accent-cool-lighter:hover{border-color:#e1f3f8}.desktop\\:border-error-lighter{border-color:#f4e3db}.desktop\\:hover\\:border-error-lighter:hover{border-color:#f4e3db}.desktop\\:border-error-light{border-color:#f39268}.desktop\\:hover\\:border-error-light:hover{border-color:#f39268}.desktop\\:border-error{border-color:#d54309}.desktop\\:hover\\:border-error:hover{border-color:#d54309}.desktop\\:border-error-dark{border-color:#b50909}.desktop\\:hover\\:border-error-dark:hover{border-color:#b50909}.desktop\\:border-error-darker{border-color:#6f3331}.desktop\\:hover\\:border-error-darker:hover{border-color:#6f3331}.desktop\\:border-warning-lighter{border-color:#faf3d1}.desktop\\:hover\\:border-warning-lighter:hover{border-color:#faf3d1}.desktop\\:border-warning-light{border-color:#fee685}.desktop\\:hover\\:border-warning-light:hover{border-color:#fee685}.desktop\\:border-warning{border-color:#ffbe2e}.desktop\\:hover\\:border-warning:hover{border-color:#ffbe2e}.desktop\\:border-warning-dark{border-color:#e5a000}.desktop\\:hover\\:border-warning-dark:hover{border-color:#e5a000}.desktop\\:border-warning-darker{border-color:#936f38}.desktop\\:hover\\:border-warning-darker:hover{border-color:#936f38}.desktop\\:border-success-lighter{border-color:#ecf3ec}.desktop\\:hover\\:border-success-lighter:hover{border-color:#ecf3ec}.desktop\\:border-success-light{border-color:#70e17b}.desktop\\:hover\\:border-success-light:hover{border-color:#70e17b}.desktop\\:border-success{border-color:#00a91c}.desktop\\:hover\\:border-success:hover{border-color:#00a91c}.desktop\\:border-success-dark{border-color:#008817}.desktop\\:hover\\:border-success-dark:hover{border-color:#008817}.desktop\\:border-success-darker{border-color:#216e1f}.desktop\\:hover\\:border-success-darker:hover{border-color:#216e1f}.desktop\\:border-info-lighter{border-color:#e7f6f8}.desktop\\:hover\\:border-info-lighter:hover{border-color:#e7f6f8}.desktop\\:border-info-light{border-color:#99deea}.desktop\\:hover\\:border-info-light:hover{border-color:#99deea}.desktop\\:border-info{border-color:#00bde3}.desktop\\:hover\\:border-info:hover{border-color:#00bde3}.desktop\\:border-info-dark{border-color:#009ec1}.desktop\\:hover\\:border-info-dark:hover{border-color:#009ec1}.desktop\\:border-info-darker{border-color:#2e6276}.desktop\\:hover\\:border-info-darker:hover{border-color:#2e6276}.desktop\\:border-disabled-lighter{border-color:#c9c9c9}.desktop\\:hover\\:border-disabled-lighter:hover{border-color:#c9c9c9}.desktop\\:border-disabled-light{border-color:#919191}.desktop\\:hover\\:border-disabled-light:hover{border-color:#919191}.desktop\\:border-disabled{border-color:#757575}.desktop\\:hover\\:border-disabled:hover{border-color:#757575}.desktop\\:border-disabled-dark{border-color:#454545}.desktop\\:hover\\:border-disabled-dark:hover{border-color:#454545}.desktop\\:border-disabled-darker{border-color:#1b1b1b}.desktop\\:hover\\:border-disabled-darker:hover{border-color:#1b1b1b}.desktop\\:border-emergency{border-color:#9c3d10}.desktop\\:hover\\:border-emergency:hover{border-color:#9c3d10}.desktop\\:border-emergency-dark{border-color:#332d29}.desktop\\:hover\\:border-emergency-dark:hover{border-color:#332d29}.desktop\\:radius-0{border-radius:0}.desktop\\:radius-top-0{border-top-left-radius:0;border-top-right-radius:0}.desktop\\:radius-right-0{border-top-right-radius:0;border-bottom-right-radius:0}.desktop\\:radius-bottom-0{border-bottom-left-radius:0;border-bottom-right-radius:0}.desktop\\:radius-left-0{border-top-left-radius:0;border-bottom-left-radius:0}.desktop\\:radius-sm{border-radius:2px}.desktop\\:radius-top-sm{border-top-left-radius:2px;border-top-right-radius:2px}.desktop\\:radius-right-sm{border-top-right-radius:2px;border-bottom-right-radius:2px}.desktop\\:radius-bottom-sm{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.desktop\\:radius-left-sm{border-top-left-radius:2px;border-bottom-left-radius:2px}.desktop\\:radius-md{border-radius:0.25rem}.desktop\\:radius-top-md{border-top-left-radius:0.25rem;border-top-right-radius:0.25rem}.desktop\\:radius-right-md{border-top-right-radius:0.25rem;border-bottom-right-radius:0.25rem}.desktop\\:radius-bottom-md{border-bottom-left-radius:0.25rem;border-bottom-right-radius:0.25rem}.desktop\\:radius-left-md{border-top-left-radius:0.25rem;border-bottom-left-radius:0.25rem}.desktop\\:radius-lg{border-radius:0.5rem}.desktop\\:radius-top-lg{border-top-left-radius:0.5rem;border-top-right-radius:0.5rem}.desktop\\:radius-right-lg{border-top-right-radius:0.5rem;border-bottom-right-radius:0.5rem}.desktop\\:radius-bottom-lg{border-bottom-left-radius:0.5rem;border-bottom-right-radius:0.5rem}.desktop\\:radius-left-lg{border-top-left-radius:0.5rem;border-bottom-left-radius:0.5rem}.desktop\\:radius-pill{border-radius:99rem}.desktop\\:radius-top-pill{border-top-left-radius:99rem;border-top-right-radius:99rem}.desktop\\:radius-right-pill{border-top-right-radius:99rem;border-bottom-right-radius:99rem}.desktop\\:radius-bottom-pill{border-bottom-left-radius:99rem;border-bottom-right-radius:99rem}.desktop\\:radius-left-pill{border-top-left-radius:99rem;border-bottom-left-radius:99rem}.desktop\\:display-block{display:block}.desktop\\:display-flex{display:flex}.desktop\\:display-none{display:none}.desktop\\:display-inline{display:inline}.desktop\\:display-inline-block{display:inline-block}.desktop\\:display-inline-flex{display:inline-flex}.desktop\\:display-table{display:table}.desktop\\:display-table-cell{display:table-cell}.desktop\\:display-table-row{display:table-row}.desktop\\:font-mono-3xs{font-size:0.77rem}.desktop\\:font-mono-2xs{font-size:0.83rem}.desktop\\:font-mono-xs{font-size:0.89rem}.desktop\\:font-mono-sm{font-size:0.95rem}.desktop\\:font-mono-md{font-size:1.01rem}.desktop\\:font-mono-lg{font-size:1.31rem}.desktop\\:font-mono-xl{font-size:1.91rem}.desktop\\:font-mono-2xl{font-size:2.38rem}.desktop\\:font-mono-3xl{font-size:2.86rem}.desktop\\:font-sans-3xs{font-size:0.87rem}.desktop\\:font-sans-2xs{font-size:0.93rem}.desktop\\:font-sans-xs{font-size:1rem}.desktop\\:font-sans-sm{font-size:1.06rem}.desktop\\:font-sans-md{font-size:1.13rem}.desktop\\:font-sans-lg{font-size:1.46rem}.desktop\\:font-sans-xl{font-size:2.13rem}.desktop\\:font-sans-2xl{font-size:2.66rem}.desktop\\:font-sans-3xl{font-size:3.19rem}.desktop\\:font-serif-3xs{font-size:0.79rem}.desktop\\:font-serif-2xs{font-size:0.85rem}.desktop\\:font-serif-xs{font-size:0.91rem}.desktop\\:font-serif-sm{font-size:0.98rem}.desktop\\:font-serif-md{font-size:1.04rem}.desktop\\:font-serif-lg{font-size:1.34rem}.desktop\\:font-serif-xl{font-size:1.95rem}.desktop\\:font-serif-2xl{font-size:2.44rem}.desktop\\:font-serif-3xl{font-size:2.93rem}.desktop\\:font-heading-3xs{font-size:0.79rem}.desktop\\:font-heading-2xs{font-size:0.85rem}.desktop\\:font-heading-xs{font-size:0.91rem}.desktop\\:font-heading-sm{font-size:0.98rem}.desktop\\:font-heading-md{font-size:1.04rem}.desktop\\:font-heading-lg{font-size:1.34rem}.desktop\\:font-heading-xl{font-size:1.95rem}.desktop\\:font-heading-2xl{font-size:2.44rem}.desktop\\:font-heading-3xl{font-size:2.93rem}.desktop\\:font-body-3xs{font-size:0.87rem}.desktop\\:font-body-2xs{font-size:0.93rem}.desktop\\:font-body-xs{font-size:1rem}.desktop\\:font-body-sm{font-size:1.06rem}.desktop\\:font-body-md{font-size:1.13rem}.desktop\\:font-body-lg{font-size:1.46rem}.desktop\\:font-body-xl{font-size:2.13rem}.desktop\\:font-body-2xl{font-size:2.66rem}.desktop\\:font-body-3xl{font-size:3.19rem}.desktop\\:font-code-3xs{font-size:0.77rem}.desktop\\:font-code-2xs{font-size:0.83rem}.desktop\\:font-code-xs{font-size:0.89rem}.desktop\\:font-code-sm{font-size:0.95rem}.desktop\\:font-code-md{font-size:1.01rem}.desktop\\:font-code-lg{font-size:1.31rem}.desktop\\:font-code-xl{font-size:1.91rem}.desktop\\:font-code-2xl{font-size:2.38rem}.desktop\\:font-code-3xl{font-size:2.86rem}.desktop\\:font-alt-3xs{font-size:0.79rem}.desktop\\:font-alt-2xs{font-size:0.85rem}.desktop\\:font-alt-xs{font-size:0.91rem}.desktop\\:font-alt-sm{font-size:0.98rem}.desktop\\:font-alt-md{font-size:1.04rem}.desktop\\:font-alt-lg{font-size:1.34rem}.desktop\\:font-alt-xl{font-size:1.95rem}.desktop\\:font-alt-2xl{font-size:2.44rem}.desktop\\:font-alt-3xl{font-size:2.93rem}.desktop\\:font-ui-3xs{font-size:0.87rem}.desktop\\:font-ui-2xs{font-size:0.93rem}.desktop\\:font-ui-xs{font-size:1rem}.desktop\\:font-ui-sm{font-size:1.06rem}.desktop\\:font-ui-md{font-size:1.13rem}.desktop\\:font-ui-lg{font-size:1.46rem}.desktop\\:font-ui-xl{font-size:2.13rem}.desktop\\:font-ui-2xl{font-size:2.66rem}.desktop\\:font-ui-3xl{font-size:3.19rem}.desktop\\:text-light{font-weight:300}.desktop\\:text-normal{font-weight:normal}.desktop\\:text-bold{font-weight:700}.desktop\\:flex-justify-center{justify-content:center}.desktop\\:flex-justify-start{justify-content:flex-start}.desktop\\:flex-justify-end{justify-content:flex-end}.desktop\\:flex-justify{justify-content:space-between}.desktop\\:line-height-sans-1{line-height:0.9}.desktop\\:line-height-sans-2{line-height:1.1}.desktop\\:line-height-sans-3{line-height:1.3}.desktop\\:line-height-sans-4{line-height:1.4}.desktop\\:line-height-sans-5{line-height:1.5}.desktop\\:line-height-sans-6{line-height:1.6}.desktop\\:line-height-serif-1{line-height:1}.desktop\\:line-height-serif-2{line-height:1.2}.desktop\\:line-height-serif-3{line-height:1.4}.desktop\\:line-height-serif-4{line-height:1.5}.desktop\\:line-height-serif-5{line-height:1.7}.desktop\\:line-height-serif-6{line-height:1.8}.desktop\\:line-height-mono-1{line-height:1}.desktop\\:line-height-mono-2{line-height:1.3}.desktop\\:line-height-mono-3{line-height:1.4}.desktop\\:line-height-mono-4{line-height:1.6}.desktop\\:line-height-mono-5{line-height:1.7}.desktop\\:line-height-mono-6{line-height:1.8}.desktop\\:line-height-heading-1{line-height:1}.desktop\\:line-height-heading-2{line-height:1.2}.desktop\\:line-height-heading-3{line-height:1.4}.desktop\\:line-height-heading-4{line-height:1.5}.desktop\\:line-height-heading-5{line-height:1.7}.desktop\\:line-height-heading-6{line-height:1.8}.desktop\\:line-height-ui-1{line-height:0.9}.desktop\\:line-height-ui-2{line-height:1.1}.desktop\\:line-height-ui-3{line-height:1.3}.desktop\\:line-height-ui-4{line-height:1.4}.desktop\\:line-height-ui-5{line-height:1.5}.desktop\\:line-height-ui-6{line-height:1.6}.desktop\\:line-height-body-1{line-height:0.9}.desktop\\:line-height-body-2{line-height:1.1}.desktop\\:line-height-body-3{line-height:1.3}.desktop\\:line-height-body-4{line-height:1.4}.desktop\\:line-height-body-5{line-height:1.5}.desktop\\:line-height-body-6{line-height:1.6}.desktop\\:line-height-code-1{line-height:1}.desktop\\:line-height-code-2{line-height:1.3}.desktop\\:line-height-code-3{line-height:1.4}.desktop\\:line-height-code-4{line-height:1.6}.desktop\\:line-height-code-5{line-height:1.7}.desktop\\:line-height-code-6{line-height:1.8}.desktop\\:line-height-alt-1{line-height:1}.desktop\\:line-height-alt-2{line-height:1.2}.desktop\\:line-height-alt-3{line-height:1.4}.desktop\\:line-height-alt-4{line-height:1.5}.desktop\\:line-height-alt-5{line-height:1.7}.desktop\\:line-height-alt-6{line-height:1.8}.desktop\\:margin-neg-1px{margin:-1px}.desktop\\:margin-neg-2px{margin:-2px}.desktop\\:margin-neg-05{margin:-0.25rem}.desktop\\:margin-neg-1{margin:-0.5rem}.desktop\\:margin-neg-105{margin:-0.75rem}.desktop\\:margin-neg-2{margin:-1rem}.desktop\\:margin-neg-205{margin:-1.25rem}.desktop\\:margin-neg-3{margin:-1.5rem}.desktop\\:margin-1px{margin:1px}.desktop\\:margin-2px{margin:2px}.desktop\\:margin-05{margin:0.25rem}.desktop\\:margin-1{margin:0.5rem}.desktop\\:margin-105{margin:0.75rem}.desktop\\:margin-2{margin:1rem}.desktop\\:margin-205{margin:1.25rem}.desktop\\:margin-3{margin:1.5rem}.desktop\\:margin-neg-4{margin:-2rem}.desktop\\:margin-neg-5{margin:-2.5rem}.desktop\\:margin-neg-6{margin:-3rem}.desktop\\:margin-neg-7{margin:-3.5rem}.desktop\\:margin-neg-8{margin:-4rem}.desktop\\:margin-neg-9{margin:-4.5rem}.desktop\\:margin-neg-10{margin:-5rem}.desktop\\:margin-neg-15{margin:-7.5rem}.desktop\\:margin-4{margin:2rem}.desktop\\:margin-5{margin:2.5rem}.desktop\\:margin-6{margin:3rem}.desktop\\:margin-7{margin:3.5rem}.desktop\\:margin-8{margin:4rem}.desktop\\:margin-9{margin:4.5rem}.desktop\\:margin-10{margin:5rem}.desktop\\:margin-15{margin:7.5rem}.desktop\\:margin-05em{margin:0.5em}.desktop\\:margin-1em{margin:1em}.desktop\\:margin-105em{margin:1.5em}.desktop\\:margin-2em{margin:2em}.desktop\\:margin-0{margin:0}.desktop\\:margin-y-1px{margin-top:1px;margin-bottom:1px}.desktop\\:margin-top-1px{margin-top:1px}.desktop\\:margin-bottom-1px{margin-bottom:1px}.desktop\\:margin-y-2px{margin-top:2px;margin-bottom:2px}.desktop\\:margin-top-2px{margin-top:2px}.desktop\\:margin-bottom-2px{margin-bottom:2px}.desktop\\:margin-y-05{margin-top:0.25rem;margin-bottom:0.25rem}.desktop\\:margin-top-05{margin-top:0.25rem}.desktop\\:margin-bottom-05{margin-bottom:0.25rem}.desktop\\:margin-y-1{margin-top:0.5rem;margin-bottom:0.5rem}.desktop\\:margin-top-1{margin-top:0.5rem}.desktop\\:margin-bottom-1{margin-bottom:0.5rem}.desktop\\:margin-y-105{margin-top:0.75rem;margin-bottom:0.75rem}.desktop\\:margin-top-105{margin-top:0.75rem}.desktop\\:margin-bottom-105{margin-bottom:0.75rem}.desktop\\:margin-y-2{margin-top:1rem;margin-bottom:1rem}.desktop\\:margin-top-2{margin-top:1rem}.desktop\\:margin-bottom-2{margin-bottom:1rem}.desktop\\:margin-y-205{margin-top:1.25rem;margin-bottom:1.25rem}.desktop\\:margin-top-205{margin-top:1.25rem}.desktop\\:margin-bottom-205{margin-bottom:1.25rem}.desktop\\:margin-y-3{margin-top:1.5rem;margin-bottom:1.5rem}.desktop\\:margin-top-3{margin-top:1.5rem}.desktop\\:margin-bottom-3{margin-bottom:1.5rem}.desktop\\:margin-y-neg-1px{margin-top:-1px;margin-bottom:-1px}.desktop\\:margin-top-neg-1px{margin-top:-1px}.desktop\\:margin-bottom-neg-1px{margin-bottom:-1px}.desktop\\:margin-y-neg-2px{margin-top:-2px;margin-bottom:-2px}.desktop\\:margin-top-neg-2px{margin-top:-2px}.desktop\\:margin-bottom-neg-2px{margin-bottom:-2px}.desktop\\:margin-y-neg-05{margin-top:-0.25rem;margin-bottom:-0.25rem}.desktop\\:margin-top-neg-05{margin-top:-0.25rem}.desktop\\:margin-bottom-neg-05{margin-bottom:-0.25rem}.desktop\\:margin-y-neg-1{margin-top:-0.5rem;margin-bottom:-0.5rem}.desktop\\:margin-top-neg-1{margin-top:-0.5rem}.desktop\\:margin-bottom-neg-1{margin-bottom:-0.5rem}.desktop\\:margin-y-neg-105{margin-top:-0.75rem;margin-bottom:-0.75rem}.desktop\\:margin-top-neg-105{margin-top:-0.75rem}.desktop\\:margin-bottom-neg-105{margin-bottom:-0.75rem}.desktop\\:margin-y-neg-2{margin-top:-1rem;margin-bottom:-1rem}.desktop\\:margin-top-neg-2{margin-top:-1rem}.desktop\\:margin-bottom-neg-2{margin-bottom:-1rem}.desktop\\:margin-y-neg-205{margin-top:-1.25rem;margin-bottom:-1.25rem}.desktop\\:margin-top-neg-205{margin-top:-1.25rem}.desktop\\:margin-bottom-neg-205{margin-bottom:-1.25rem}.desktop\\:margin-y-neg-3{margin-top:-1.5rem;margin-bottom:-1.5rem}.desktop\\:margin-top-neg-3{margin-top:-1.5rem}.desktop\\:margin-bottom-neg-3{margin-bottom:-1.5rem}.desktop\\:margin-y-neg-4{margin-top:-2rem;margin-bottom:-2rem}.desktop\\:margin-top-neg-4{margin-top:-2rem}.desktop\\:margin-bottom-neg-4{margin-bottom:-2rem}.desktop\\:margin-y-neg-5{margin-top:-2.5rem;margin-bottom:-2.5rem}.desktop\\:margin-top-neg-5{margin-top:-2.5rem}.desktop\\:margin-bottom-neg-5{margin-bottom:-2.5rem}.desktop\\:margin-y-neg-6{margin-top:-3rem;margin-bottom:-3rem}.desktop\\:margin-top-neg-6{margin-top:-3rem}.desktop\\:margin-bottom-neg-6{margin-bottom:-3rem}.desktop\\:margin-y-neg-7{margin-top:-3.5rem;margin-bottom:-3.5rem}.desktop\\:margin-top-neg-7{margin-top:-3.5rem}.desktop\\:margin-bottom-neg-7{margin-bottom:-3.5rem}.desktop\\:margin-y-neg-8{margin-top:-4rem;margin-bottom:-4rem}.desktop\\:margin-top-neg-8{margin-top:-4rem}.desktop\\:margin-bottom-neg-8{margin-bottom:-4rem}.desktop\\:margin-y-neg-9{margin-top:-4.5rem;margin-bottom:-4.5rem}.desktop\\:margin-top-neg-9{margin-top:-4.5rem}.desktop\\:margin-bottom-neg-9{margin-bottom:-4.5rem}.desktop\\:margin-y-neg-10{margin-top:-5rem;margin-bottom:-5rem}.desktop\\:margin-top-neg-10{margin-top:-5rem}.desktop\\:margin-bottom-neg-10{margin-bottom:-5rem}.desktop\\:margin-y-neg-15{margin-top:-7.5rem;margin-bottom:-7.5rem}.desktop\\:margin-top-neg-15{margin-top:-7.5rem}.desktop\\:margin-bottom-neg-15{margin-bottom:-7.5rem}.desktop\\:margin-y-4{margin-top:2rem;margin-bottom:2rem}.desktop\\:margin-top-4{margin-top:2rem}.desktop\\:margin-bottom-4{margin-bottom:2rem}.desktop\\:margin-y-5{margin-top:2.5rem;margin-bottom:2.5rem}.desktop\\:margin-top-5{margin-top:2.5rem}.desktop\\:margin-bottom-5{margin-bottom:2.5rem}.desktop\\:margin-y-6{margin-top:3rem;margin-bottom:3rem}.desktop\\:margin-top-6{margin-top:3rem}.desktop\\:margin-bottom-6{margin-bottom:3rem}.desktop\\:margin-y-7{margin-top:3.5rem;margin-bottom:3.5rem}.desktop\\:margin-top-7{margin-top:3.5rem}.desktop\\:margin-bottom-7{margin-bottom:3.5rem}.desktop\\:margin-y-8{margin-top:4rem;margin-bottom:4rem}.desktop\\:margin-top-8{margin-top:4rem}.desktop\\:margin-bottom-8{margin-bottom:4rem}.desktop\\:margin-y-9{margin-top:4.5rem;margin-bottom:4.5rem}.desktop\\:margin-top-9{margin-top:4.5rem}.desktop\\:margin-bottom-9{margin-bottom:4.5rem}.desktop\\:margin-y-10{margin-top:5rem;margin-bottom:5rem}.desktop\\:margin-top-10{margin-top:5rem}.desktop\\:margin-bottom-10{margin-bottom:5rem}.desktop\\:margin-y-15{margin-top:7.5rem;margin-bottom:7.5rem}.desktop\\:margin-top-15{margin-top:7.5rem}.desktop\\:margin-bottom-15{margin-bottom:7.5rem}.desktop\\:margin-y-05em{margin-top:0.5em;margin-bottom:0.5em}.desktop\\:margin-top-05em{margin-top:0.5em}.desktop\\:margin-bottom-05em{margin-bottom:0.5em}.desktop\\:margin-y-1em{margin-top:1em;margin-bottom:1em}.desktop\\:margin-top-1em{margin-top:1em}.desktop\\:margin-bottom-1em{margin-bottom:1em}.desktop\\:margin-y-105em{margin-top:1.5em;margin-bottom:1.5em}.desktop\\:margin-top-105em{margin-top:1.5em}.desktop\\:margin-bottom-105em{margin-bottom:1.5em}.desktop\\:margin-y-2em{margin-top:2em;margin-bottom:2em}.desktop\\:margin-top-2em{margin-top:2em}.desktop\\:margin-bottom-2em{margin-bottom:2em}.desktop\\:margin-y-0{margin-top:0;margin-bottom:0}.desktop\\:margin-top-0{margin-top:0}.desktop\\:margin-bottom-0{margin-bottom:0}.desktop\\:margin-y-auto{margin-top:auto;margin-bottom:auto}.desktop\\:margin-top-auto{margin-top:auto}.desktop\\:margin-bottom-auto{margin-bottom:auto}.desktop\\:margin-x-1px{margin-left:1px;margin-right:1px}.desktop\\:margin-right-1px{margin-right:1px}.desktop\\:margin-left-1px{margin-left:1px}.desktop\\:margin-x-2px{margin-left:2px;margin-right:2px}.desktop\\:margin-right-2px{margin-right:2px}.desktop\\:margin-left-2px{margin-left:2px}.desktop\\:margin-x-05{margin-left:0.25rem;margin-right:0.25rem}.desktop\\:margin-right-05{margin-right:0.25rem}.desktop\\:margin-left-05{margin-left:0.25rem}.desktop\\:margin-x-1{margin-left:0.5rem;margin-right:0.5rem}.desktop\\:margin-right-1{margin-right:0.5rem}.desktop\\:margin-left-1{margin-left:0.5rem}.desktop\\:margin-x-105{margin-left:0.75rem;margin-right:0.75rem}.desktop\\:margin-right-105{margin-right:0.75rem}.desktop\\:margin-left-105{margin-left:0.75rem}.desktop\\:margin-x-2{margin-left:1rem;margin-right:1rem}.desktop\\:margin-right-2{margin-right:1rem}.desktop\\:margin-left-2{margin-left:1rem}.desktop\\:margin-x-205{margin-left:1.25rem;margin-right:1.25rem}.desktop\\:margin-right-205{margin-right:1.25rem}.desktop\\:margin-left-205{margin-left:1.25rem}.desktop\\:margin-x-3{margin-left:1.5rem;margin-right:1.5rem}.desktop\\:margin-right-3{margin-right:1.5rem}.desktop\\:margin-left-3{margin-left:1.5rem}.desktop\\:margin-x-neg-1px{margin-left:-1px;margin-right:-1px}.desktop\\:margin-right-neg-1px{margin-right:-1px}.desktop\\:margin-left-neg-1px{margin-left:-1px}.desktop\\:margin-x-neg-2px{margin-left:-2px;margin-right:-2px}.desktop\\:margin-right-neg-2px{margin-right:-2px}.desktop\\:margin-left-neg-2px{margin-left:-2px}.desktop\\:margin-x-neg-05{margin-left:-0.25rem;margin-right:-0.25rem}.desktop\\:margin-right-neg-05{margin-right:-0.25rem}.desktop\\:margin-left-neg-05{margin-left:-0.25rem}.desktop\\:margin-x-neg-1{margin-left:-0.5rem;margin-right:-0.5rem}.desktop\\:margin-right-neg-1{margin-right:-0.5rem}.desktop\\:margin-left-neg-1{margin-left:-0.5rem}.desktop\\:margin-x-neg-105{margin-left:-0.75rem;margin-right:-0.75rem}.desktop\\:margin-right-neg-105{margin-right:-0.75rem}.desktop\\:margin-left-neg-105{margin-left:-0.75rem}.desktop\\:margin-x-neg-2{margin-left:-1rem;margin-right:-1rem}.desktop\\:margin-right-neg-2{margin-right:-1rem}.desktop\\:margin-left-neg-2{margin-left:-1rem}.desktop\\:margin-x-neg-205{margin-left:-1.25rem;margin-right:-1.25rem}.desktop\\:margin-right-neg-205{margin-right:-1.25rem}.desktop\\:margin-left-neg-205{margin-left:-1.25rem}.desktop\\:margin-x-neg-3{margin-left:-1.5rem;margin-right:-1.5rem}.desktop\\:margin-right-neg-3{margin-right:-1.5rem}.desktop\\:margin-left-neg-3{margin-left:-1.5rem}.desktop\\:margin-x-neg-4{margin-left:-2rem;margin-right:-2rem}.desktop\\:margin-right-neg-4{margin-right:-2rem}.desktop\\:margin-left-neg-4{margin-left:-2rem}.desktop\\:margin-x-neg-5{margin-left:-2.5rem;margin-right:-2.5rem}.desktop\\:margin-right-neg-5{margin-right:-2.5rem}.desktop\\:margin-left-neg-5{margin-left:-2.5rem}.desktop\\:margin-x-neg-6{margin-left:-3rem;margin-right:-3rem}.desktop\\:margin-right-neg-6{margin-right:-3rem}.desktop\\:margin-left-neg-6{margin-left:-3rem}.desktop\\:margin-x-neg-7{margin-left:-3.5rem;margin-right:-3.5rem}.desktop\\:margin-right-neg-7{margin-right:-3.5rem}.desktop\\:margin-left-neg-7{margin-left:-3.5rem}.desktop\\:margin-x-neg-8{margin-left:-4rem;margin-right:-4rem}.desktop\\:margin-right-neg-8{margin-right:-4rem}.desktop\\:margin-left-neg-8{margin-left:-4rem}.desktop\\:margin-x-neg-9{margin-left:-4.5rem;margin-right:-4.5rem}.desktop\\:margin-right-neg-9{margin-right:-4.5rem}.desktop\\:margin-left-neg-9{margin-left:-4.5rem}.desktop\\:margin-x-neg-10{margin-left:-5rem;margin-right:-5rem}.desktop\\:margin-right-neg-10{margin-right:-5rem}.desktop\\:margin-left-neg-10{margin-left:-5rem}.desktop\\:margin-x-neg-15{margin-left:-7.5rem;margin-right:-7.5rem}.desktop\\:margin-right-neg-15{margin-right:-7.5rem}.desktop\\:margin-left-neg-15{margin-left:-7.5rem}.desktop\\:margin-x-4{margin-left:2rem;margin-right:2rem}.desktop\\:margin-right-4{margin-right:2rem}.desktop\\:margin-left-4{margin-left:2rem}.desktop\\:margin-x-5{margin-left:2.5rem;margin-right:2.5rem}.desktop\\:margin-right-5{margin-right:2.5rem}.desktop\\:margin-left-5{margin-left:2.5rem}.desktop\\:margin-x-6{margin-left:3rem;margin-right:3rem}.desktop\\:margin-right-6{margin-right:3rem}.desktop\\:margin-left-6{margin-left:3rem}.desktop\\:margin-x-7{margin-left:3.5rem;margin-right:3.5rem}.desktop\\:margin-right-7{margin-right:3.5rem}.desktop\\:margin-left-7{margin-left:3.5rem}.desktop\\:margin-x-8{margin-left:4rem;margin-right:4rem}.desktop\\:margin-right-8{margin-right:4rem}.desktop\\:margin-left-8{margin-left:4rem}.desktop\\:margin-x-9{margin-left:4.5rem;margin-right:4.5rem}.desktop\\:margin-right-9{margin-right:4.5rem}.desktop\\:margin-left-9{margin-left:4.5rem}.desktop\\:margin-x-10{margin-left:5rem;margin-right:5rem}.desktop\\:margin-right-10{margin-right:5rem}.desktop\\:margin-left-10{margin-left:5rem}.desktop\\:margin-x-15{margin-left:7.5rem;margin-right:7.5rem}.desktop\\:margin-right-15{margin-right:7.5rem}.desktop\\:margin-left-15{margin-left:7.5rem}.desktop\\:margin-x-card{margin-left:10rem;margin-right:10rem}.desktop\\:margin-right-card{margin-right:10rem}.desktop\\:margin-left-card{margin-left:10rem}.desktop\\:margin-x-card-lg{margin-left:15rem;margin-right:15rem}.desktop\\:margin-right-card-lg{margin-right:15rem}.desktop\\:margin-left-card-lg{margin-left:15rem}.desktop\\:margin-x-mobile{margin-left:20rem;margin-right:20rem}.desktop\\:margin-right-mobile{margin-right:20rem}.desktop\\:margin-left-mobile{margin-left:20rem}.desktop\\:margin-x-05em{margin-left:0.5em;margin-right:0.5em}.desktop\\:margin-right-05em{margin-right:0.5em}.desktop\\:margin-left-05em{margin-left:0.5em}.desktop\\:margin-x-1em{margin-left:1em;margin-right:1em}.desktop\\:margin-right-1em{margin-right:1em}.desktop\\:margin-left-1em{margin-left:1em}.desktop\\:margin-x-105em{margin-left:1.5em;margin-right:1.5em}.desktop\\:margin-right-105em{margin-right:1.5em}.desktop\\:margin-left-105em{margin-left:1.5em}.desktop\\:margin-x-2em{margin-left:2em;margin-right:2em}.desktop\\:margin-right-2em{margin-right:2em}.desktop\\:margin-left-2em{margin-left:2em}.desktop\\:margin-x-0{margin-left:0;margin-right:0}.desktop\\:margin-right-0{margin-right:0}.desktop\\:margin-left-0{margin-left:0}.desktop\\:margin-x-auto{margin-left:auto;margin-right:auto}.desktop\\:margin-right-auto{margin-right:auto}.desktop\\:margin-left-auto{margin-left:auto}.desktop\\:measure-1{max-width:44ex}.desktop\\:measure-2{max-width:60ex}.desktop\\:measure-3{max-width:64ex}.desktop\\:measure-4{max-width:68ex}.desktop\\:measure-5{max-width:72ex}.desktop\\:measure-6{max-width:88ex}.desktop\\:measure-none{max-width:none}.desktop\\:order-first{order:-1}.desktop\\:order-last{order:999}.desktop\\:order-initial{order:initial}.desktop\\:order-0{order:0}.desktop\\:order-1{order:1}.desktop\\:order-2{order:2}.desktop\\:order-3{order:3}.desktop\\:order-4{order:4}.desktop\\:order-5{order:5}.desktop\\:order-6{order:6}.desktop\\:order-7{order:7}.desktop\\:order-8{order:8}.desktop\\:order-9{order:9}.desktop\\:order-10{order:10}.desktop\\:order-11{order:11}.desktop\\:padding-1px{padding:1px}.desktop\\:padding-y-1px{padding-top:1px;padding-bottom:1px}.desktop\\:padding-x-1px{padding-left:1px;padding-right:1px}.desktop\\:padding-top-1px{padding-top:1px}.desktop\\:padding-right-1px{padding-right:1px}.desktop\\:padding-bottom-1px{padding-bottom:1px}.desktop\\:padding-left-1px{padding-left:1px}.desktop\\:padding-2px{padding:2px}.desktop\\:padding-y-2px{padding-top:2px;padding-bottom:2px}.desktop\\:padding-x-2px{padding-left:2px;padding-right:2px}.desktop\\:padding-top-2px{padding-top:2px}.desktop\\:padding-right-2px{padding-right:2px}.desktop\\:padding-bottom-2px{padding-bottom:2px}.desktop\\:padding-left-2px{padding-left:2px}.desktop\\:padding-05{padding:0.25rem}.desktop\\:padding-y-05{padding-top:0.25rem;padding-bottom:0.25rem}.desktop\\:padding-x-05{padding-left:0.25rem;padding-right:0.25rem}.desktop\\:padding-top-05{padding-top:0.25rem}.desktop\\:padding-right-05{padding-right:0.25rem}.desktop\\:padding-bottom-05{padding-bottom:0.25rem}.desktop\\:padding-left-05{padding-left:0.25rem}.desktop\\:padding-1{padding:0.5rem}.desktop\\:padding-y-1{padding-top:0.5rem;padding-bottom:0.5rem}.desktop\\:padding-x-1{padding-left:0.5rem;padding-right:0.5rem}.desktop\\:padding-top-1{padding-top:0.5rem}.desktop\\:padding-right-1{padding-right:0.5rem}.desktop\\:padding-bottom-1{padding-bottom:0.5rem}.desktop\\:padding-left-1{padding-left:0.5rem}.desktop\\:padding-105{padding:0.75rem}.desktop\\:padding-y-105{padding-top:0.75rem;padding-bottom:0.75rem}.desktop\\:padding-x-105{padding-left:0.75rem;padding-right:0.75rem}.desktop\\:padding-top-105{padding-top:0.75rem}.desktop\\:padding-right-105{padding-right:0.75rem}.desktop\\:padding-bottom-105{padding-bottom:0.75rem}.desktop\\:padding-left-105{padding-left:0.75rem}.desktop\\:padding-2{padding:1rem}.desktop\\:padding-y-2{padding-top:1rem;padding-bottom:1rem}.desktop\\:padding-x-2{padding-left:1rem;padding-right:1rem}.desktop\\:padding-top-2{padding-top:1rem}.desktop\\:padding-right-2{padding-right:1rem}.desktop\\:padding-bottom-2{padding-bottom:1rem}.desktop\\:padding-left-2{padding-left:1rem}.desktop\\:padding-205{padding:1.25rem}.desktop\\:padding-y-205{padding-top:1.25rem;padding-bottom:1.25rem}.desktop\\:padding-x-205{padding-left:1.25rem;padding-right:1.25rem}.desktop\\:padding-top-205{padding-top:1.25rem}.desktop\\:padding-right-205{padding-right:1.25rem}.desktop\\:padding-bottom-205{padding-bottom:1.25rem}.desktop\\:padding-left-205{padding-left:1.25rem}.desktop\\:padding-3{padding:1.5rem}.desktop\\:padding-y-3{padding-top:1.5rem;padding-bottom:1.5rem}.desktop\\:padding-x-3{padding-left:1.5rem;padding-right:1.5rem}.desktop\\:padding-top-3{padding-top:1.5rem}.desktop\\:padding-right-3{padding-right:1.5rem}.desktop\\:padding-bottom-3{padding-bottom:1.5rem}.desktop\\:padding-left-3{padding-left:1.5rem}.desktop\\:padding-4{padding:2rem}.desktop\\:padding-y-4{padding-top:2rem;padding-bottom:2rem}.desktop\\:padding-x-4{padding-left:2rem;padding-right:2rem}.desktop\\:padding-top-4{padding-top:2rem}.desktop\\:padding-right-4{padding-right:2rem}.desktop\\:padding-bottom-4{padding-bottom:2rem}.desktop\\:padding-left-4{padding-left:2rem}.desktop\\:padding-5{padding:2.5rem}.desktop\\:padding-y-5{padding-top:2.5rem;padding-bottom:2.5rem}.desktop\\:padding-x-5{padding-left:2.5rem;padding-right:2.5rem}.desktop\\:padding-top-5{padding-top:2.5rem}.desktop\\:padding-right-5{padding-right:2.5rem}.desktop\\:padding-bottom-5{padding-bottom:2.5rem}.desktop\\:padding-left-5{padding-left:2.5rem}.desktop\\:padding-6{padding:3rem}.desktop\\:padding-y-6{padding-top:3rem;padding-bottom:3rem}.desktop\\:padding-x-6{padding-left:3rem;padding-right:3rem}.desktop\\:padding-top-6{padding-top:3rem}.desktop\\:padding-right-6{padding-right:3rem}.desktop\\:padding-bottom-6{padding-bottom:3rem}.desktop\\:padding-left-6{padding-left:3rem}.desktop\\:padding-7{padding:3.5rem}.desktop\\:padding-y-7{padding-top:3.5rem;padding-bottom:3.5rem}.desktop\\:padding-x-7{padding-left:3.5rem;padding-right:3.5rem}.desktop\\:padding-top-7{padding-top:3.5rem}.desktop\\:padding-right-7{padding-right:3.5rem}.desktop\\:padding-bottom-7{padding-bottom:3.5rem}.desktop\\:padding-left-7{padding-left:3.5rem}.desktop\\:padding-8{padding:4rem}.desktop\\:padding-y-8{padding-top:4rem;padding-bottom:4rem}.desktop\\:padding-x-8{padding-left:4rem;padding-right:4rem}.desktop\\:padding-top-8{padding-top:4rem}.desktop\\:padding-right-8{padding-right:4rem}.desktop\\:padding-bottom-8{padding-bottom:4rem}.desktop\\:padding-left-8{padding-left:4rem}.desktop\\:padding-9{padding:4.5rem}.desktop\\:padding-y-9{padding-top:4.5rem;padding-bottom:4.5rem}.desktop\\:padding-x-9{padding-left:4.5rem;padding-right:4.5rem}.desktop\\:padding-top-9{padding-top:4.5rem}.desktop\\:padding-right-9{padding-right:4.5rem}.desktop\\:padding-bottom-9{padding-bottom:4.5rem}.desktop\\:padding-left-9{padding-left:4.5rem}.desktop\\:padding-10{padding:5rem}.desktop\\:padding-y-10{padding-top:5rem;padding-bottom:5rem}.desktop\\:padding-x-10{padding-left:5rem;padding-right:5rem}.desktop\\:padding-top-10{padding-top:5rem}.desktop\\:padding-right-10{padding-right:5rem}.desktop\\:padding-bottom-10{padding-bottom:5rem}.desktop\\:padding-left-10{padding-left:5rem}.desktop\\:padding-15{padding:7.5rem}.desktop\\:padding-y-15{padding-top:7.5rem;padding-bottom:7.5rem}.desktop\\:padding-x-15{padding-left:7.5rem;padding-right:7.5rem}.desktop\\:padding-top-15{padding-top:7.5rem}.desktop\\:padding-right-15{padding-right:7.5rem}.desktop\\:padding-bottom-15{padding-bottom:7.5rem}.desktop\\:padding-left-15{padding-left:7.5rem}.desktop\\:padding-0{padding:0}.desktop\\:padding-y-0{padding-top:0;padding-bottom:0}.desktop\\:padding-x-0{padding-left:0;padding-right:0}.desktop\\:padding-top-0{padding-top:0}.desktop\\:padding-right-0{padding-right:0}.desktop\\:padding-bottom-0{padding-bottom:0}.desktop\\:padding-left-0{padding-left:0}.desktop\\:width-1px{width:1px}.desktop\\:width-2px{width:2px}.desktop\\:width-05{width:0.25rem}.desktop\\:width-1{width:0.5rem}.desktop\\:width-105{width:0.75rem}.desktop\\:width-2{width:1rem}.desktop\\:width-205{width:1.25rem}.desktop\\:width-3{width:1.5rem}.desktop\\:width-4{width:2rem}.desktop\\:width-5{width:2.5rem}.desktop\\:width-6{width:3rem}.desktop\\:width-7{width:3.5rem}.desktop\\:width-8{width:4rem}.desktop\\:width-9{width:4.5rem}.desktop\\:width-10{width:5rem}.desktop\\:width-15{width:7.5rem}.desktop\\:width-card{width:10rem}.desktop\\:width-card-lg{width:15rem}.desktop\\:width-mobile{width:20rem}.desktop\\:width-mobile-lg{width:30rem}.desktop\\:width-tablet{width:40rem}.desktop\\:width-tablet-lg{width:55rem}.desktop\\:width-desktop{width:64rem}.desktop\\:width-desktop-lg{width:75rem}.desktop\\:width-widescreen{width:87.5rem}.desktop\\:width-0{width:0}.desktop\\:width-full{width:100%}.desktop\\:width-auto{width:auto}}","/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Correct the inheritance of border color in Firefox.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n color: inherit; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Add the correct text decoration in Safari.\n */\n\nabbr[title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule in Firefox.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers.\n */\n\nlegend {\n padding: 0;\n}\n\n/**\n * Add the correct vertical alignment in Chrome and Firefox.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Safari.\n */\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/**\n * Add the correct display in Chrome and Safari.\n */\n\nsummary {\n display: list-item;\n}\n","@use \"sass:map\";\n@use \"uswds-core\" as *;\n\n// Navigation helpers\n// ---------------------------------\n\n@mixin primary-nav-link {\n line-height: line-height($theme-navigation-font-family, 1);\n padding: units(2);\n}\n\n$nav-link-color: \"base-dark\";\n$sliding-panel-width: \"card-lg\";\n$nav-link-accordion-icon-size: 2.5;\n$nav-link-arrow-icon-size: 2;\n\n// Maps for icon masks\n$place-icon-defaults: (\n \"color\": ButtonText,\n \"svg-height\": 24,\n \"svg-width\": 24,\n);\n\n$-chevron-icon-defaults: map-merge(\n $place-icon-defaults,\n (\n \"height\": units($nav-link-arrow-icon-size),\n )\n);\n\n$-mobile-icon-defaults: map-merge(\n $place-icon-defaults,\n (\n \"height\": units($nav-link-accordion-icon-size),\n )\n);\n\n$-add-icon: map-merge(\n $-mobile-icon-defaults,\n (\n \"name\": \"add\",\n )\n);\n\n$-remove-icon: map-merge(\n $-mobile-icon-defaults,\n (\n \"name\": \"remove\",\n )\n);\n\n$close-icon: map-merge(\n $-mobile-icon-defaults,\n (\n \"name\": \"close\",\n )\n);\n\n$expand-more-icon: map-merge(\n $-chevron-icon-defaults,\n (\n \"name\": \"expand_more\",\n )\n);\n\n$expand-less-icon: map-merge(\n $-chevron-icon-defaults,\n (\n \"name\": \"expand_less\",\n )\n);\n\n// TODO: Collect animations in a common location?\n@keyframes slidein-left {\n from {\n transform: translateX(units($sliding-panel-width));\n }\n\n to {\n transform: translateX(0);\n }\n}\n\n// Header navigation\n// ---------------------------------\n.usa-nav {\n @include typeset($theme-navigation-font-family, null, 1);\n\n @include at-media-max($theme-header-min-width) {\n @include u-pin(\"right\");\n @include u-pin(\"y\");\n position: fixed;\n background: color(\"white\");\n border-right: 0;\n display: none;\n flex-direction: column;\n overflow-y: auto;\n padding: units(2);\n width: units($sliding-panel-width);\n z-index: z-index(500);\n\n &.is-visible {\n animation: slidein-left 0.3s ease-in-out;\n display: flex;\n }\n }\n\n @include at-media($theme-header-min-width) {\n float: right;\n position: relative;\n }\n\n .usa-search {\n margin-top: units(2);\n\n @include at-media($theme-header-min-width) {\n margin-left: units(2);\n margin-top: 0;\n }\n }\n\n .usa-accordion {\n @include typeset($theme-navigation-font-family, null, 1);\n }\n}\n\n// Primary navigation\n// ---------------------------------\n\n.usa-nav__primary {\n // Until the $theme-header-width,\n // use the usa-nav-list styles for the slide-in nav\n @include at-media-max($theme-header-min-width) {\n @include nav-list(\"nav\");\n\n a {\n @include u-padding-y(1.5);\n }\n }\n\n // At $theme-header-width and wider...\n @include at-media($theme-header-min-width) {\n display: flex;\n align-items: stretch;\n }\n\n // all nav items in the nav\n .usa-nav__primary-item {\n a {\n text-decoration: none;\n }\n }\n\n // just level 1 nav items...\n > .usa-nav__primary-item {\n line-height: line-height($theme-navigation-font-family, 2);\n\n @include at-media($theme-header-min-width) {\n font-size: font-size($theme-navigation-font-family, \"2xs\");\n line-height: line-height($theme-navigation-font-family, 1);\n }\n\n // ...and their direct links\n > a {\n @include at-media($theme-header-min-width) {\n @include primary-nav-link;\n align-items: center;\n color: color($nav-link-color);\n display: flex;\n font-weight: font-weight(\"bold\");\n\n &:hover {\n color: color(\"primary\");\n }\n }\n }\n\n > button,\n > a {\n @include at-media($theme-header-min-width) {\n height: 100%;\n }\n }\n }\n\n a {\n @include at-media($theme-header-min-width) {\n @include u-padding-y(1);\n }\n }\n\n button {\n $button-vertical-offset: 53%; // XXX: Magic number\n\n @include button-unstyled;\n position: relative; // Anchor spans chevron pseudo element\n color: color($nav-link-color);\n font-weight: font-weight(\"normal\");\n line-height: line-height($theme-navigation-font-family, 2);\n padding: units(1.5) units(2);\n text-decoration: none;\n width: 100%;\n\n @include at-media($theme-header-min-width) {\n @include primary-nav-link;\n font-size: font-size($theme-navigation-font-family, \"2xs\");\n font-weight: font-weight(\"bold\");\n }\n\n @media (forced-colors: active) {\n forced-color-adjust: auto;\n }\n\n &:hover {\n color: color(\"primary\");\n background-color: color(\"base-lightest\");\n text-decoration: none;\n\n @include at-media($theme-header-min-width) {\n background-color: transparent;\n }\n }\n\n // Remove icon set from usa-accordion.\n // Also removed in _usa-banner.scss.\n &[aria-expanded],\n &[aria-expanded]:hover {\n background-image: none;\n\n @media (forced-colors: active) {\n &::before {\n content: none;\n }\n }\n }\n\n &[aria-expanded] {\n span {\n &::after {\n position: absolute;\n top: 50%;\n right: 0;\n transform: translateY(-50%);\n }\n }\n }\n\n &[aria-expanded=\"false\"] {\n span {\n @include place-icon($-add-icon, \"after\");\n\n &::after:hover {\n background-color: buttonText;\n }\n }\n\n @include at-media($theme-header-min-width) {\n span {\n @include place-icon($expand-more-icon, \"after\");\n\n &::after {\n right: units(1.5);\n }\n }\n }\n\n &:hover {\n @include at-media($theme-header-min-width) {\n span::after {\n background-color: color(blue-warm-70v);\n\n @media (forced-colors: active) {\n background-color: ButtonText;\n }\n }\n }\n }\n }\n\n &[aria-expanded=\"true\"] {\n span {\n @include place-icon($-remove-icon, \"after\");\n\n &::after {\n position: absolute;\n right: 0;\n\n @media (forced-colors: active) {\n background-color: ButtonText;\n }\n }\n }\n\n @include at-media($theme-header-min-width) {\n background-image: none;\n background-color: color(\"primary-darker\");\n color: color(\"white\");\n\n @include at-media($theme-header-min-width) {\n span {\n @include place-icon($expand-less-icon, \"after\");\n &::after {\n right: units(1.5);\n background-color: white;\n @media (forced-colors: active) {\n background-color: ButtonText;\n }\n }\n }\n }\n }\n }\n }\n\n .usa-accordion__button {\n span {\n @include at-media($theme-header-min-width) {\n display: inline-block;\n margin-right: 0;\n padding-right: units(2);\n }\n }\n }\n}\n\n// Secondary navigation\n// ---------------------------------\n\n.usa-nav__secondary {\n margin-top: units(2);\n\n @include at-media($theme-header-min-width) {\n @include u-flex(\"column\", \"align-end\");\n bottom: units(8); // XXX magic number\n display: flex;\n font-size: font-size($theme-navigation-font-family, \"2xs\");\n margin-top: units(1);\n min-width: calc(\n #{$theme-search-min-width} + #{units($theme-button-small-width)}\n );\n position: absolute;\n right: units($theme-site-margins-width);\n }\n\n .usa-search {\n width: 100%;\n\n @include at-media($theme-header-min-width) {\n margin-left: 0;\n margin-top: units(1);\n }\n }\n}\n\n.usa-nav__secondary-links {\n @include add-list-reset;\n line-height: line-height($theme-navigation-font-family, 3);\n margin-top: units(3);\n\n @include at-media($theme-header-min-width) {\n column-gap: units(1);\n display: flex;\n flex-flow: row nowrap;\n line-height: line-height($theme-navigation-font-family, 1);\n margin-bottom: units(0.5);\n margin-top: 0;\n }\n\n .usa-nav__secondary-item {\n @include at-media($theme-header-min-width) {\n padding-left: units(0.5);\n\n & + .usa-nav__secondary-item {\n border-left: 1px solid color(\"base-lighter\");\n padding-left: units(1);\n }\n }\n }\n\n a {\n color: color(\"base\");\n display: inline-block;\n font-size: font-size($theme-navigation-font-family, \"2xs\");\n text-decoration: none;\n\n &:hover {\n color: color(\"primary\");\n text-decoration: underline;\n }\n }\n}\n\n// Navigation dropdowns\n// ---------------------------------\n\n.usa-nav__submenu {\n @include at-media-max($theme-header-min-width) {\n @include nav-sublist;\n }\n\n @include at-media($theme-header-min-width) {\n @include add-list-reset;\n @include u-padding-y(1);\n background-color: color(\"primary-darker\");\n width: units(\"card-lg\");\n position: absolute;\n z-index: z-index(400);\n }\n\n &[aria-hidden=\"true\"] {\n display: none;\n }\n\n .usa-nav__submenu-item {\n @include at-media($theme-header-min-width) {\n a {\n @include u-padding-x(2);\n color: color(\"white\");\n line-height: line-height($theme-navigation-font-family, 3);\n display: block;\n\n &:focus {\n outline-offset: units(\"neg-05\");\n }\n\n &:hover {\n color: color(\"white\");\n text-decoration: underline;\n }\n }\n }\n }\n}\n\n.usa-nav__submenu-list {\n @include unstyled-list;\n\n .usa-nav__submenu-list-item {\n margin: 0;\n font-size: font-size($theme-navigation-font-family, \"2xs\");\n\n a {\n line-height: line-height($theme-navigation-font-family, 3);\n }\n }\n}\n\n// Navigation close button\n// ---------------------------------\n\n.usa-nav__close {\n @include button-unstyled;\n @include u-square($size-touch-target);\n background-image: none;\n color: currentColor;\n flex: none;\n float: right;\n margin: units(-1.5) units(-2) units(2) auto;\n text-align: center;\n\n @media (forced-colors: active) {\n @include place-icon($close-icon, \"before\");\n &::before {\n background-color: buttonText;\n }\n }\n\n &:hover {\n color: currentColor;\n text-decoration: none;\n }\n\n @include at-media($theme-header-min-width) {\n display: none;\n }\n\n img {\n width: units(3);\n\n @media (forced-colors: active) {\n display: none;\n }\n }\n\n + * {\n clear: both;\n }\n}\n\n.usa-js-mobile-nav--active {\n overflow: hidden;\n}\n\n// Safari-only fix that forces a vertical scrollbar when mobile menu is open.\n// Only needed in the 15px immediately preceding $theme-header-min-width.\n//\n// Note: 15px is the current width of the Safari scrollbar.\n// Note: This fix only applies when $theme-header-min-width is defined with a system breakpoint\n// because the header visually breaks with other values.\n// This bypass prevents compilation errors with values like \"none\" or 1px.\n\n$our-breakpoints: map-deep-get($system-properties, breakpoints, standard);\n\n@if map-has-key($our-breakpoints, $theme-header-min-width) {\n $safari-header-bug-min-width: calc(\n units($theme-header-min-width) - px-to-rem(15px)\n );\n\n @media (min-width: $safari-header-bug-min-width) {\n .usa-js-mobile-nav--active.is-safari {\n overflow-y: scroll;\n position: fixed;\n // --scrolltop set with JS with zero as fallback.\n top: var(--scrolltop, 0);\n }\n }\n}\n","// Apply a natural box layout model to all elements, but allowing components to\n// change\n\n@use \"uswds-core/src/styles/settings\" as *;\n\n@if $theme-global-border-box-sizing {\n html {\n box-sizing: border-box;\n }\n\n *,\n *::before,\n *::after {\n box-sizing: inherit;\n }\n}\n","@mixin add-kerning {\n font-feature-settings: \"kern\" 1;\n font-kerning: normal;\n}\n","@use \"uswds-core/src/styles/settings\" as *;\n@use \"uswds-core/src/styles/functions\" as *;\n@use \"uswds-core/src/styles/mixins/general/add-kerning\" as *;\n@use \"uswds-core/src/styles/mixins/typography\" as *;\n\nhtml {\n @include add-kerning;\n font-family: font-family($theme-body-font-family);\n font-size: $root-font-size;\n}\n\n@if $theme-style-body-element {\n body {\n @include typeset;\n }\n}\n\n@if $theme-global-paragraph-styles == true {\n @include usa-paragraph-style;\n}\n\n@if $theme-global-link-styles == true {\n @include usa-link-style;\n}\n\n@if $theme-global-content-styles == true {\n @include usa-content-styles;\n}\n\n// Remove user agent styles\n\ncite,\nvar,\naddress,\ndfn {\n font-style: normal;\n}\n","@use \"../../functions/color/get-color-token-from-bg\" as *;\n@use \"../../functions/utilities/color\" as *;\n@use \"../../functions/general/get-default\" as *;\n\n@mixin set-text-from-bg(\n $bg-color: \"default\",\n $preferred-text-color: \"default\",\n $fallback-text-color: \"default\",\n $wcag-target: \"AA\",\n $context: false,\n $important: null\n) {\n $important: if($important, \" !important\", null);\n $accessible-color-token: get-color-token-from-bg(\n $bg-color,\n $preferred-text-color,\n $fallback-text-color,\n $wcag-target,\n $context\n );\n color: color($accessible-color-token) #{$important};\n}\n","@use \"../../functions/utilities/color\" as *;\n@use \"../../functions/general/get-default\" as *;\n\n@use \"./set-text-from-bg\" as *;\n\n@mixin set-text-and-bg(\n $bg-color: \"default\",\n $preferred-text-color: \"default\",\n $fallback-text-color: \"default\",\n $wcag-target: \"AA\",\n $context: false,\n $important: null\n) {\n $important: if($important, \" !important\", null);\n\n @include set-text-from-bg(\n $bg-color,\n $preferred-text-color,\n $fallback-text-color,\n $wcag-target,\n $context,\n $important: $important\n );\n $bg-color: if($bg-color == \"default\", get-default(\"bg-color\"), $bg-color);\n background-color: color($bg-color) #{$important};\n}\n","@use \"uswds-core/src/styles/mixins/helpers/set-text-and-bg\" as *;\n\nbody {\n @include set-text-and-bg($context: \"Body\");\n overflow-x: hidden;\n}\n","@use \"../settings\" as *;\n@use \"../functions\" as *;\n@use \"../mixins\" as *;\n@use \"../variables/border-high-contrast.scss\" as *;\n\n// Helpers\n$input-select-margin-right: 1.5;\n\n%block-input-general {\n @include border-box-sizing;\n @include typeset(\n $theme-form-font-family,\n $theme-body-font-size,\n $theme-input-line-height\n );\n}\n\n%block-input-styles {\n @include u-border(1px, \"base-dark\");\n appearance: none;\n border-radius: 0;\n color: color(\"ink\"); // standardize on firefox\n display: block;\n height: units(5);\n margin-top: units(1);\n max-width: units($theme-input-max-width);\n padding: units(1);\n width: 100%;\n}\n","@use \"../../functions\" as *;\n\n/*\n----------------------------------------\nfamily()\n----------------------------------------\nGet a font-family stack\n----------------------------------------\n*/\n\n@mixin u-font-family($family) {\n font-family: ff($family);\n}\n\n/*\n----------------------------------------\nsize()\n----------------------------------------\nGet a normalized font-size in rem from\na family and a type size in either\nsystem scale or project scale\n----------------------------------------\n*/\n\n@mixin u-font-size($family, $scale) {\n font-size: font-size($family, $scale);\n}\n\n/*\n----------------------------------------\nfont()\n----------------------------------------\nGet a font-family stack\nAND\nGet a normalized font-size in rem from\na family and a type size in either\nsystem scale or project scale\n----------------------------------------\n*/\n\n@mixin u-font($family, $scale) {\n font-family: ff($family);\n font-size: font-size($family, $scale);\n}\n","@use \"sass:list\";\n@use \"../../functions\" as *;\n\n// Outputs line-height\n\n@mixin u-line-height($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n $family: list.nth($value, 1);\n $scale: list.nth($value, 2);\n line-height: lh($family, $scale) #{$important};\n}\n",null,"@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n@use \"sass:string\";\n@use \"../../functions\" as *;\n@use \"../../properties\" as *;\n@use \"../../tokens/color\" as *;\n\n$border-utilities: (\n \"width\": map-collect(\n map-deep-get($system-properties, border-width, standard),\n map-deep-get($system-properties, border-width, extended)\n ),\n \"style\": map-collect(\n map-deep-get($system-properties, border-style, standard),\n map-deep-get($system-properties, border-style, extended)\n ),\n);\n\n@mixin border-n($side, $value...) {\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n $has-style: false;\n $widths: map.get($border-utilities, \"width\");\n\n @each $this-value in $value {\n $match: false;\n @if map.has-key($all-color-shortcodes, smart-quote($this-value)) {\n $match: true;\n $this-value: smart-quote($this-value);\n @if $side == n {\n border-color: color($this-value) #{$important};\n } @else if $side == x {\n border-left-color: color($this-value) #{$important};\n border-right-color: color($this-value) #{$important};\n } @else if $side == y {\n border-bottom-color: color($this-value) #{$important};\n border-top-color: color($this-value) #{$important};\n } @else {\n border-#{$side}-color: color($this-value) #{$important};\n }\n } @else if meta.type-of($this-value) == \"number\" {\n $converted-value: number-to-token($this-value);\n @if map.has-key($widths, $converted-value) {\n $match: true;\n $final-value: map.get($widths, $converted-value);\n @if $side == n {\n border-width: string.unquote(\"#{$final-value}#{$important}\");\n } @else if $side == x {\n border-left-width: string.unquote(\"#{$final-value}#{$important}\");\n border-right-width: string.unquote(\"#{$final-value}#{$important}\");\n } @else if $side == y {\n border-bottom-width: string.unquote(\"#{$final-value}#{$important}\");\n border-top-width: string.unquote(\"#{$final-value}#{$important}\");\n } @else {\n border-#{$side}-width: string.unquote(\"#{$final-value}#{$important}\");\n }\n } @else {\n @error '#{$this-value} is not a valid border width. Accepted values: #{map-keys($widths)}';\n }\n } @else if map.has-key($widths, smart-quote($this-value)) {\n $match: true;\n $this-value: smart-quote($this-value);\n $final-value: map.get($widths, $this-value);\n @if $side == n {\n border-width: string.unquote(\"#{$final-value}#{$important}\");\n } @else if $side == x {\n border-left-width: string.unquote(\"#{$final-value}#{$important}\");\n border-right-width: string.unquote(\"#{$final-value}#{$important}\");\n } @else if $side == y {\n border-bottom-width: string.unquote(\"#{$final-value}#{$important}\");\n border-top-width: string.unquote(\"#{$final-value}#{$important}\");\n } @else {\n border-#{$side}-width: string.unquote(\"#{$final-value}#{$important}\");\n }\n } @else {\n $converted-value: smart-quote($this-value);\n $styles: map.get($border-utilities, \"style\");\n @if map.has-key($styles, $converted-value) {\n $match: true;\n $has-style: true;\n $final-value: map.get($styles, $converted-value);\n @if $side == n {\n border-style: string.unquote(\"#{$final-value}#{$important}\");\n } @else if $side == x {\n border-left-style: string.unquote(\"#{$final-value}#{$important}\");\n border-right-style: string.unquote(\"#{$final-value}#{$important}\");\n } @else if $side == y {\n border-bottom-style: string.unquote(\"#{$final-value}#{$important}\");\n border-top-style: string.unquote(\"#{$final-value}#{$important}\");\n } @else {\n border-#{$side}-style: string.unquote(\"#{$final-value}#{$important}\");\n }\n } @else {\n @error '`#{$this-value}` is not a valid `border` token. '\n + 'Use valid color, units, and border-style tokens '\n + 'separated by commas.';\n }\n }\n @if not $match {\n @error '`#{$this-value}` is not a valid `border` token.';\n }\n }\n @if not $has-style {\n @if $side == n {\n border-style: solid#{$important};\n } @else if $side == x {\n border-left-style: solid#{$important};\n border-right-style: solid#{$important};\n } @else if $side == y {\n border-bottom-style: solid#{$important};\n border-top-style: solid#{$important};\n } @else {\n border-#{$side}-style: solid#{$important};\n }\n }\n}\n\n@mixin u-border($value...) {\n @include border-n(n, $value...);\n}\n\n@mixin u-border-x($value...) {\n @include border-n(x, $value...);\n}\n\n@mixin u-border-y($value...) {\n @include border-n(y, $value...);\n}\n\n@mixin u-border-top($value...) {\n @include border-n(top, $value...);\n}\n\n@mixin u-border-right($value...) {\n @include border-n(right, $value...);\n}\n\n@mixin u-border-bottom($value...) {\n @include border-n(bottom, $value...);\n}\n\n@mixin u-border-left($value...) {\n @include border-n(left, $value...);\n}\n","@use \"sass:map\";\n@use \"sass:string\";\n@use \"sass:list\";\n\n@use \"../../functions\" as *;\n@use \"../../variables\" as *;\n@use \"../../tokens/font\" as *;\n@use \"../../settings\" as *;\n\n// Output the @font-face rule\n@mixin at-font-face($display-name, $file-path, $font-weight, $font-style) {\n // TODO: If $theme-use-rails-pipeline use font-url() statements\n // instead of url()\n // Dunno why I can't do this without an error...\n\n @font-face {\n font-family: $display-name;\n font-style: string.unquote($font-style);\n font-weight: $font-weight;\n font-display: fallback;\n src: font-sources($file-path);\n }\n}\n\n// Loop through weights, then call at-font-face\n@mixin generate-font-face(\n $font-style-src,\n $output-weights,\n $display-name,\n $dir,\n $font-style\n) {\n @each $font-weight, $filename in $font-style-src {\n @each $key, $output-weight in $output-weights {\n @if $output-weight == $font-weight and $filename {\n @include at-font-face(\n \"#{$display-name}\",\n // TODO: Why is this path causing problems?\n \"#{$theme-font-path}/#{$dir}/#{$filename}\",\n #{$font-weight},\n string.unquote(\"#{$font-style}\")\n );\n }\n }\n }\n}\n\n// Collect all font metadata, then call generate-font-face\n@mixin render-font-face($typeface-token, $src) {\n $generate: false;\n $this-src: ();\n $output-weights: $project-font-weights;\n @if $theme-generate-all-weights {\n $output-weights: (\n 100: 100,\n 200: 200,\n 300: 300,\n 400: 400,\n 500: 500,\n 600: 600,\n 700: 700,\n 800: 800,\n 900: 900,\n );\n }\n\n $typeface-metadata: map.get($all-typeface-tokens, $typeface-token);\n\n // If the typeface has src in its USWDS metadata, generate and\n // set $this-src\n @if map.get($typeface-metadata, src) {\n $generate: true;\n $this-src: map.get($typeface-metadata, src);\n }\n\n // If the typeface has custom src defined, generate and override\n // any existing USWDS src\n @if $src {\n $generate: true;\n $this-src: $src;\n }\n\n @if $generate {\n $display-name: map.get($typeface-metadata, display-name);\n $roman: map.get($this-src, roman);\n $italic: map.get($this-src, italic);\n $dir: map.get($this-src, dir);\n\n @if $roman {\n @include generate-font-face(\n $roman,\n $output-weights,\n $display-name,\n $dir,\n normal\n );\n }\n\n @if $italic {\n @include generate-font-face(\n $italic,\n $output-weights,\n $display-name,\n $dir,\n italic\n );\n }\n }\n}\n","@use \"uswds-core/src/styles/mixins/general/focus-outline\" as *;\n\n// Apply :focus behavior to focusable elements only (For IE 11)\ninput,\nselect,\ntextarea,\nbutton {\n &:not([disabled]) {\n &:focus {\n @include focus-outline;\n }\n }\n}\n\niframe,\n[href],\n[tabindex],\n[contentEditable=\"true\"] {\n &:focus {\n @include focus-outline;\n }\n}\n","@use \"../../functions\" as *;\n@use \"../../settings\" as *;\n\n// Focus state mixin\n@mixin focus-outline(\n $width: $theme-focus-width,\n $style: $theme-focus-style,\n $color: $theme-focus-color,\n $offset: $theme-focus-offset\n) {\n $width: if($width == null, $theme-focus-width, $width);\n $style: if($style == null, $theme-focus-style, $style);\n $color: if($color == null, $theme-focus-color, $color);\n $offset: if($offset == null, $theme-focus-offset, $offset);\n outline: units($width) $style color($color);\n outline-offset: units($offset);\n}\n","@use \"uswds-core/src/styles/mixins/general/media-link\" as *;\n\nimg {\n max-width: 100%;\n}\n\n.usa-media-link {\n @include media-link;\n}\n","// TODO: Add documentation instructions for using this class on image links\n@mixin media-link {\n display: inline-block;\n line-height: 0;\n}\n","@use \"uswds-core/src/styles/mixins/general/focus-outline\" as *;\n\n.usa-focus {\n @include focus-outline;\n}\n","@use \"uswds-core/src/styles/mixins/general/screen-reader\" as *;\n\n.usa-sr-only {\n @include sr-only;\n}\n","// Screen reader only helper\n@mixin sr-only {\n position: absolute;\n left: -999em;\n right: auto;\n}\n\n@mixin add-sr-only {\n @include sr-only;\n}\n\n// This \"negates\" the sr-only helper; useful if\n// we want the default state of something to be\n// for screen readers only, but we want to force\n// it to show for sighted users under more specific\n// conditions.\n@mixin not-sr-only {\n position: static;\n}\n\n@mixin add-no-sr-only {\n position: static;\n}\n","@use \"uswds-core\" as *;\n\n.usa-content {\n p,\n ul:not(.usa-accordion):not(.usa-accordion--bordered),\n ol:not(.usa-accordion):not(.usa-accordion--bordered) {\n max-width: measure($theme-text-measure);\n }\n}\n","@use \"uswds-core\" as *;\n\n$background-context: \"Background\";\n\n.usa-dark-background {\n background-color: color(\"base-darker\");\n\n p,\n span {\n color: color($theme-text-reverse-color);\n }\n\n a {\n @include set-link-from-bg(\n \"base-darker\",\n $theme-link-reverse-color,\n $context: $background-context\n );\n }\n}\n","@use \"sass:math\";\n@use \"sass:list\";\n\n@use \"../../settings\" as *;\n@use \"../../functions/general\" as *;\n@use \"../../functions/color/\" as *;\n@use \"../../functions/utilities/color\" as *;\n\n@mixin set-link-from-bg(\n $bg-color: \"default\",\n $preferred-link-color: \"default\",\n $fallback-link-color: \"default\",\n $wcag-target: \"AA\",\n $important: null,\n $context: false\n) {\n $important: if($important, \" !important\", null);\n $link-tokens: get-link-tokens-from-bg(\n $bg-color,\n $preferred-link-color,\n $fallback-link-color,\n $wcag-target,\n $context\n );\n\n $bg-color: if($bg-color == \"default\", get-default(\"bg-color\"), $bg-color);\n $link-token: list.nth($link-tokens, 1);\n $hover-token: list.nth($link-tokens, 2);\n\n $visited-token: if(\n is-accessible-magic-number(\n $theme-link-visited-color,\n $bg-color,\n $wcag-target\n ),\n $theme-link-visited-color,\n $link-token\n );\n color: color($link-token) #{$important};\n &:visited {\n color: color($visited-token) #{$important};\n }\n &:hover,\n &:active {\n color: color($hover-token) #{$important};\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-display {\n @include typeset-h3;\n margin-bottom: 0;\n\n @include at-media(\"mobile-lg\") {\n @include typeset-h1;\n }\n\n @include at-media(\"tablet\") {\n @include typeset-display;\n }\n}\n","@use \"sass:list\";\n@use \"../../functions\" as *;\n\n// Adds margin either l/r(x) or t/b(y)\n\n@mixin margin-n($side, $value...) {\n $value: unpack($value);\n @if $side == all {\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n margin: get-uswds-value(margin, $value...) #{$important};\n } @else if $side == x {\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n margin-left: get-uswds-value(\"margin-horizontal\", $value...) #{$important};\n margin-right: get-uswds-value(\"margin-horizontal\", $value...) #{$important};\n } @else if $side == y {\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n margin-bottom: get-uswds-value(\"margin-vertical\", $value...) #{$important};\n margin-top: get-uswds-value(\"margin-vertical\", $value...) #{$important};\n } @else if $side == t {\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n margin-top: get-uswds-value(\"margin-vertical\", $value...) #{$important};\n } @else if $side == r {\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n margin-right: get-uswds-value(\"margin-horizontal\", $value...) #{$important};\n } @else if $side == b {\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n margin-bottom: get-uswds-value(\"margin-vertical\", $value...) #{$important};\n } @else if $side == l {\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n margin-left: get-uswds-value(\"margin-horizontal\", $value...) #{$important};\n }\n}\n\n@mixin u-margin($value...) {\n @include margin-n(all, $value...);\n}\n\n@mixin u-margin-x($value...) {\n @include margin-n(x, $value...);\n}\n\n@mixin u-margin-y($value...) {\n @include margin-n(y, $value...);\n}\n\n@mixin u-margin-top($value...) {\n @include margin-n(t, $value...);\n}\n\n@mixin u-margin-right($value...) {\n @include margin-n(r, $value...);\n}\n\n@mixin u-margin-bottom($value...) {\n @include margin-n(b, $value...);\n}\n\n@mixin u-margin-left($value...) {\n @include margin-n(l, $value...);\n}\n","@use \"sass:meta\";\n@use \"sass:list\";\n@use \"../general/focus-outline\" as *;\n@use \"../../functions\" as *;\n@use \"../../mixins/utilities\" as *;\n@use \"../../mixins/general/focus-outline\" as *;\n@use \"../../settings\" as *;\n\n/*\n----------------------------------------\ntypeset()\n----------------------------------------\nSets:\n- family\n- size\n- line-height\n----------------------------------------\n*/\n\n@mixin typeset(\n $family: $theme-body-font-family,\n $scale: $theme-body-font-size,\n $line-height: $theme-body-line-height\n) {\n @if meta.type-of($family) == \"list\" {\n $list: $family;\n $family: if(list.nth($list, 1), list.nth($list, 1), null);\n $scale: if(list.nth($list, 2), list.nth($list, 2), null);\n $line-height: if(list.nth($list, 3), list.nth($list, 3), null);\n }\n $family: if($family == null, $theme-body-font-family, $family);\n $scale: if($scale == null, $theme-body-font-size, $scale);\n $line-height: if($line-height == null, $theme-body-line-height, $line-height);\n @include u-font($family, $scale);\n @include u-line-height($family, $line-height);\n}\n\n@mixin typeset-heading-base {\n @include u-margin-y(0);\n clear: both;\n}\n\n@mixin typeset-heading {\n @include typeset-heading-base;\n\n * + & {\n margin-top: $theme-heading-margin-top;\n }\n\n + * {\n margin-top: $theme-paragraph-margin-top;\n }\n}\n\n@mixin typeset-p-base {\n line-height: line-height($theme-body-font-family, $theme-body-line-height);\n max-width: measure($theme-text-measure);\n}\n\n// typeset element mixins\n@mixin typeset-p {\n @include typeset-p-base;\n @include u-margin-y(0);\n\n * + & {\n margin-top: $theme-paragraph-margin-top;\n }\n\n + * {\n margin-top: $theme-paragraph-margin-top;\n }\n}\n\n@mixin typeset-link {\n color: color($theme-link-color);\n text-decoration: underline;\n\n &:visited {\n color: color($theme-link-visited-color);\n }\n\n &:hover {\n color: color($theme-link-hover-color);\n }\n\n &:active {\n color: color($theme-link-active-color);\n }\n\n &:focus {\n @include focus-outline;\n }\n}\n","@use \"../../settings\" as *;\n@use \"../../functions\" as *;\n@use \"../../mixins/utilities\" as *;\n@use \"./typeset\" as *;\n\n@mixin display {\n @include typeset(\n \"heading\",\n $theme-display-font-size,\n $theme-heading-line-height\n );\n\n font-weight: fw(\"bold\");\n}\n\n@mixin h1 {\n @include typeset(\"heading\", $theme-h1-font-size, $theme-heading-line-height);\n font-weight: fw(\"bold\");\n}\n\n@mixin h2 {\n @include typeset(\"heading\", $theme-h2-font-size, $theme-heading-line-height);\n font-weight: fw(\"bold\");\n}\n\n@mixin h3 {\n @include typeset(\"heading\", $theme-h3-font-size, $theme-heading-line-height);\n font-weight: fw(\"bold\");\n}\n\n@mixin h4 {\n @include typeset(\"heading\", $theme-h4-font-size, $theme-heading-line-height);\n font-weight: fw(\"bold\");\n}\n@mixin h5 {\n @include typeset(\"heading\", $theme-h5-font-size, $theme-heading-line-height);\n font-weight: fw(\"bold\");\n}\n\n@mixin h6 {\n @include typeset(\"body\", $theme-h6-font-size, $theme-heading-line-height);\n font-weight: fw(\"normal\");\n letter-spacing: ls(\"ls-1\");\n text-transform: uppercase;\n}\n\n@mixin typeset-display {\n @include typeset-heading;\n @include display;\n}\n\n@mixin typeset-h1 {\n @include typeset-heading;\n @include h1;\n}\n\n@mixin typeset-h2 {\n @include typeset-heading;\n @include h2;\n}\n\n@mixin typeset-h3 {\n @include typeset-heading;\n @include h3;\n}\n\n@mixin typeset-h4 {\n @include typeset-heading;\n @include h4;\n}\n\n@mixin typeset-h5 {\n @include typeset-heading;\n @include h5;\n}\n\n@mixin typeset-h6 {\n @include typeset-heading;\n @include h6;\n}\n","@use \"sass:map\";\n@use \"../../functions\" as *;\n@use \"../../properties\" as *;\n@use \"../../settings\" as *;\n\n// Mobile-first media query helper\n\n$our-breakpoints: map-deep-get($system-properties, breakpoints, standard);\n$custom-breakpoints: map-deep-get($system-properties, breakpoints, extended);\n\n@mixin at-media($bp) {\n $quoted-bp: smart-quote($bp);\n @if $quoted-bp == \"none\" {\n @content;\n } @else if map.has-key($our-breakpoints, $quoted-bp) {\n @if $theme-respect-user-font-size {\n $bp: rem-to-user-em(map.get($our-breakpoints, $quoted-bp));\n } @else {\n $bp: rem-to-px(map.get($our-breakpoints, $quoted-bp));\n }\n @media all and (min-width: #{$bp}) {\n @content;\n }\n } @else if map.has-key($custom-breakpoints, $quoted-bp) {\n @if unit(map.get($custom-breakpoints, $quoted-bp)) == \"px\" {\n @if $theme-respect-user-font-size {\n $bp: px-to-user-em(map.get($custom-breakpoints, $quoted-bp));\n } @else {\n $bp: map.get($custom-breakpoints, $quoted-bp);\n }\n @media all and (min-width: #{$bp}) {\n @content;\n }\n } @else {\n @warn 'Custom breakpoint `#{$quoted-bp}` was defined with the unit #{unit(map.get($custom-breakpoints, $quoted-bp))} and can not be generated. Values for `$theme-utility-breakpoints-custom` must be set with `px` units.';\n }\n } @else {\n @warn '`#{$bp}` is not a valid USWDS project breakpoint. Valid values: #{map.keys($our-breakpoints)}';\n }\n}\n\n// Max-width media query\n@mixin at-media-max($bp) {\n $quoted-bp: smart-quote($bp);\n @if map-has-key($our-breakpoints, $quoted-bp) {\n @if $theme-respect-user-font-size {\n $bp: rem-to-user-em(map.get($our-breakpoints, $quoted-bp)) - 0.01em;\n } @else {\n $bp: rem-to-px(map.get($our-breakpoints, $quoted-bp)) - 1px;\n }\n @media all and (max-width: #{$bp}) {\n @content;\n }\n } @else if map.has-key($custom-breakpoints, $quoted-bp) {\n @if unit(map.get($custom-breakpoints, $quoted-bp)) == \"px\" {\n @if $theme-respect-user-font-size {\n $bp: px-to-user-em(map.get($custom-breakpoints, $quoted-bp)) - 0.01em;\n } @else {\n $bp: map.get($custom-breakpoints, $quoted-bp) - 1px;\n }\n @media all and (max-width: #{$bp}) {\n @content;\n }\n } @else {\n @warn 'Custom breakpoint `#{$quoted-bp}` has the unit #{unit(map.get($custom-breakpoints, $quoted-bp))} and can not be generated. Custom breakpoints must be set in px.';\n }\n } @else {\n @warn '`#{$bp}` is not a valid USWDS project breakpoint. Valid values: #{map-keys($our-breakpoints)}';\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-intro {\n @include typeset(\n $theme-lead-font-family,\n $theme-lead-font-size,\n $theme-lead-line-height\n );\n font-weight: $theme-font-weight-normal;\n max-width: measure($theme-lead-measure);\n}\n","@use \"uswds-core\" as *;\n\n$tokens-icon-sizes: (\n \"3\": 3,\n \"4\": 4,\n \"5\": 5,\n \"6\": 6,\n \"7\": 7,\n \"8\": 8,\n \"9\": 9,\n);\n\n$icon-inline-size-magic-number: 1em;\n\n.usa-icon {\n display: inline-block;\n fill: currentColor;\n height: $icon-inline-size-magic-number;\n position: relative;\n width: $icon-inline-size-magic-number;\n}\n\n@each $token, $units in $tokens-icon-sizes {\n .usa-icon--size-#{$units} {\n @include u-square($units);\n }\n}\n","@use \"sass:list\";\n@use \"../../functions\" as *;\n\n// Outputs height\n\n@mixin u-height($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n height: get-uswds-value(\"height\", $value...) #{$important};\n}\n","@use \"uswds-core\" as *;\n\n.usa-link {\n @include typeset-link;\n}\n\n// External link consider 'effortless style approach':\n// [href^='http:']:not([href*='my-domain.com'])\n// [href^='https:']:not([href*='my-domain.com'])\n\n.usa-link--external {\n @include external-link();\n\n &.usa-link--alt {\n @include external-link($contrast-bg: \"base-darker\");\n }\n}\n","@use \"../../settings\" as *;\n@use \"./icon\" as *;\n@use \"../../functions\" as *;\n@use \"./screen-reader\" as *;\n\n$external-link-size: 1.75ex;\n\n$icon-object: (\n \"name\": \"launch\",\n \"color\": currentColor,\n \"height\": $external-link-size,\n \"svg-height\": 24,\n \"svg-width\": 24,\n \"position-x\": center,\n \"position-y\": center,\n);\n\n@mixin external-link($contrast-bg: \"default\") {\n display: inline;\n\n // Screen reader label\n &::before {\n @include sr-only;\n content: $theme-external-link-sr-label-tab-same;\n }\n\n &[target=\"_blank\"]::before {\n @include sr-only;\n content: $theme-external-link-sr-label-tab-new;\n }\n\n &::after {\n @include add-color-icon($icon-object, $contrast-bg);\n content: \"\";\n display: inline;\n margin-top: 0.7ex;\n margin-left: 2px;\n padding-left: 1.75ex;\n vertical-align: middle;\n }\n}\n","@use \"sass:map\";\n@use \"sass:math\";\n\n@use \"../../settings\" as *;\n@use \"../../functions\" as *;\n@use \"../../variables\" as *;\n@use \"./add-background-svg\" as *;\n\n@mixin display-icon($icon, $direction, $size, $margin, $hover) {\n &::#{$direction} {\n @include add-background-svg(\"#{$icon}\");\n background-size: 100%;\n content: \"\";\n display: inline-block;\n height: $size;\n width: $size;\n\n /* stylelint-disable block-closing-brace-newline-after, at-rule-empty-line-before */\n @if $direction == \"after\" {\n margin-left: $margin;\n } @else {\n margin-right: $margin;\n }\n /* stylelint-enable */\n }\n\n @if $hover == \"hover\" {\n &:hover::#{$direction} {\n @include add-background-svg(\"#{$icon}-hover\");\n }\n }\n}\n\n@mixin remove-icon($direction) {\n &::#{$direction} {\n display: none;\n }\n}\n\n@mixin add-icon(\n $icon-name,\n $direction,\n $image-size,\n $container-size,\n $margin,\n $hover\n) {\n &::#{$direction} {\n @include add-background-svg(\"#{$icon-name}\");\n background-position: center center;\n background-repeat: no-repeat;\n background-size: units($image-size);\n content: \"\";\n display: inline-block;\n height: units($container-size);\n width: units($container-size);\n\n /* stylelint-disable block-closing-brace-newline-after, at-rule-empty-line-before */\n @if $direction == \"after\" {\n margin-left: units($margin);\n } @else {\n margin-right: units($margin);\n }\n /* stylelint-enable */\n }\n\n @if $hover == \"hover\" {\n &:hover::#{$direction} {\n @include add-background-svg(\"#{$icon-name}-hover\");\n }\n }\n}\n\n// New icon mixins using SVG mask technique\n//\n// $image may be a specific SVG or a list in the form\n// ($base, $variant, $variant-alt, $bg)\n// the mixin will pick IE11-compatible svgs named\n// [base]-[variant].svg based on the specified background-color\n//\n// @param {Map} - $icon-object - name, svg-height, svg-width, height, container-height, container-width, color, color-variant, color-hover, rotate, path, position-x, position-y\n// @param {String} - $contrast-bg - Color token\n@mixin add-color-icon($icon-object, $contrast-bg: \"default\") {\n $filename-base: map.get($icon-object, \"name\");\n $svg-height: map.get($icon-object, \"svg-height\");\n $svg-width: map.get($icon-object, \"svg-width\");\n $aspect: math.div($svg-width, $svg-height);\n $height: if(\n math.is-unitless(map.get($icon-object, \"height\")),\n units(map.get($icon-object, \"height\")),\n map.get($icon-object, \"height\")\n );\n $width: $height * $aspect;\n $container-height: if(\n map.has-key($icon-object, \"container-height\"),\n units(map.get($icon-object, \"container-height\")),\n null\n );\n $container-width: if(\n map.has-key($icon-object, \"container-width\"),\n units(map.get($icon-object, \"container-width\")),\n null\n );\n $color: if(\n map.has-key($icon-object, \"color\"),\n map.get($icon-object, \"color\"),\n \"ink\"\n );\n $color-variant: if(\n map.has-key($icon-object, \"color-variant\"),\n map.get($icon-object, \"color-variant\"),\n \"white\"\n );\n $color-hover: if(\n map.has-key($icon-object, \"color-hover\"),\n map.get($icon-object, \"color-hover\"),\n null\n );\n $rotate: if(\n map.has-key($icon-object, \"rotate\"),\n map.get($icon-object, \"rotate\"),\n null\n );\n $path: if(\n map.has-key($icon-object, \"path\"),\n map.get($icon-object, \"path\"),\n $theme-image-path\n );\n $position-y: if(\n map.has-key($icon-object, \"position-y\"),\n map.get($icon-object, \"position-y\"),\n center\n );\n $position-x: if(\n map.has-key($icon-object, \"position-x\"),\n map.get($icon-object, \"position-x\"),\n center\n );\n $ie11-variant: get-color-token-from-bg($contrast-bg, \"white\", \"black\");\n $filename-ie11: if(\n $ie11-variant == \"white\",\n \"usa-icons-bg/#{$filename-base}--white.svg\",\n \"usa-icons/#{$filename-base}.svg\"\n );\n\n background-image: url(\"#{$path}/#{$filename-ie11}\");\n background-repeat: no-repeat;\n background-position: $position-x $position-y;\n background-size: $width $height;\n display: inline-block;\n height: if($container-height, $container-height, $height);\n width: if($container-width, $container-width, $width);\n @if $rotate {\n transform: rotate($rotate);\n }\n\n // Mask supported styles\n @supports (mask: url(\"\")) {\n background: none;\n background-color: if($color == currentColor, $color, color($color));\n mask-image: url(\"#{$path}/usa-icons/#{$filename-base}.svg\"),\n linear-gradient(transparent, transparent);\n mask-position: $position-x $position-y;\n mask-repeat: no-repeat;\n mask-size: $width $height;\n\n @if $color-hover {\n &:hover {\n background-color: color($color-hover);\n }\n }\n }\n}\n\n// Places an icon before or after an element as an inline-block,\n// using the `:before` or `:after` pseudoelements.\n@mixin place-icon(\n $icon-object,\n $direction,\n $margin: \"auto\",\n $vertical-align: middle,\n $contrast-bg: \"default\"\n) {\n $color-hover: if(\n map.has-key($icon-object, \"color-hover\"),\n map.get($icon-object, \"color-hover\"),\n null\n );\n &::#{$direction} {\n @include add-color-icon($icon-object, $contrast-bg);\n content: \"\";\n vertical-align: $vertical-align;\n\n @if $direction == \"after\" {\n margin-left: units($margin);\n } @else {\n margin-right: units($margin);\n }\n }\n\n @if $color-hover {\n &:hover::#{$direction} {\n content: \"\"; // Added to address a weird display bug\n background-color: color($color-hover);\n }\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-list {\n @include usa-list;\n\n li {\n @include usa-list-item;\n }\n}\n\n// Unstyled lists\n@include override-prose {\n .usa-list--unstyled {\n @include unstyled-list;\n }\n}\n","@use \"../../functions\" as *;\n@use \"../../mixins/utilities\" as *;\n@use \"../../settings\" as *;\n\n@mixin usa-list {\n @include u-margin-y(1em);\n line-height: line-height($theme-body-font-family, $theme-body-line-height);\n padding-left: 3ch;\n\n &:last-child {\n margin-bottom: 0;\n }\n\n ul,\n ol {\n margin-top: 0.25em;\n }\n}\n\n@mixin usa-list-item {\n margin-bottom: 0.25em;\n max-width: measure($theme-text-measure);\n\n &:last-child {\n margin-bottom: 0;\n }\n}\n\n@mixin usa-list-styles {\n ul,\n ol {\n @include usa-list;\n\n li {\n @include usa-list-item;\n }\n }\n}\n","@use \"../utilities\" as *;\n\n// Unstyled list helper\n@mixin unstyled-list() {\n @include u-margin-y(0);\n list-style-type: none;\n padding-left: 0;\n\n > li {\n margin-bottom: 0;\n max-width: unset;\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-paragraph {\n @include typeset-p;\n}\n","@use \"uswds-core\" as *;\n\n.usa-prose {\n @include typeset($theme-prose-font-family);\n\n & > {\n @include usa-list-styles;\n @include usa-table-styles;\n\n p {\n @include typeset-p-base;\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n @include typeset-heading-base;\n }\n\n * + * {\n margin-top: $theme-paragraph-margin-top;\n margin-bottom: 0;\n }\n\n * + {\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n margin-top: $theme-heading-margin-top;\n }\n }\n\n // Replaces styles from usa-headings-styles\n h1 {\n @include h1;\n }\n h2 {\n @include h2;\n }\n h3 {\n @include h3;\n }\n h4 {\n @include h4;\n }\n h5 {\n @include h5;\n }\n h6 {\n @include h6;\n }\n }\n}\n\n@mixin prose-test {\n .usa-prose {\n & > {\n p {\n @include typeset-p-base;\n }\n\n h1 {\n margin-bottom: 0;\n margin-top: 0;\n clear: both;\n }\n\n * + * {\n margin-top: $theme-paragraph-margin-top;\n }\n\n * + h1 {\n margin-top: $theme-heading-margin-top;\n }\n }\n }\n}\n","@use \"../../settings\" as *;\n@use \"../../functions\" as *;\n@use \"button-unstyled\" as *;\n@use \"../helpers\" as *;\n@use \"../utilities\" as *;\n@use \"../typography/typeset\" as *;\n\n$table-background-color: $theme-table-background-color;\n\n@if $table-background-color == \"default\" {\n $table-background-color: get-default(\"bg-color\");\n}\n\n$table-text-color: get-color-token-from-bg(\n $bg-color: $theme-table-background-color,\n $preferred-text-token: $theme-table-text-color,\n $context: \"Table text\",\n);\n\n$table-header-text-color: color(\n get-color-token-from-bg(\n $bg-color: $theme-table-header-background-color,\n $preferred-text-token: $theme-table-header-text-color,\n $context: \"Table header text\",\n )\n);\n\n$table-stripe-text-color: color(\n get-color-token-from-bg(\n $bg-color: $theme-table-stripe-background-color,\n $preferred-text-token: $theme-table-stripe-text-color,\n $context: \"Table stripe text\",\n )\n);\n\n$table-sorted-text-color: color(\n get-color-token-from-bg(\n $bg-color: $theme-table-sorted-background-color,\n $context: \"Table sorted text\",\n )\n);\n\n$table-sorted-header-text-color: color(\n get-color-token-from-bg(\n $bg-color: $theme-table-sorted-header-background-color,\n $preferred-text-token: $theme-table-header-text-color,\n $context: \"Table sorted header text\",\n )\n);\n\n$table-sorted-stripe-text-color: color(\n get-color-token-from-bg(\n $bg-color: $theme-table-sorted-stripe-background-color,\n $preferred-text-token: $theme-table-stripe-text-color,\n $context: \"Table sorted stripe text\",\n )\n);\n\n$table-sorted-icon-color: color(\n get-color-token-from-bg(\n $bg-color: $theme-table-sorted-header-background-color,\n $preferred-text-token: $theme-table-sorted-icon-color,\n $context: \"Table sorted icon\",\n )\n);\n\n$table-unsorted-icon-color: get-color-token-from-bg(\n $bg-color: $theme-table-header-background-color,\n $preferred-text-token: $theme-table-unsorted-icon-color,\n $context: \"Table unsorted icon\",\n);\n\n// Shared table styles\n@mixin table-header-unsorted-styles {\n padding-right: units(5);\n position: relative;\n &::after {\n border-bottom-color: transparent;\n border-bottom-style: solid;\n border-bottom-width: units(1px);\n bottom: 0;\n content: \"\";\n height: 0;\n left: 0;\n position: absolute;\n width: 100%;\n }\n}\n\n@mixin table-button-default-styles {\n @include button-unstyled;\n @include u-square(4);\n background-position: center center;\n background-size: units(3);\n color: color($theme-table-unsorted-icon-color);\n cursor: pointer;\n display: inline-block;\n margin: 0;\n position: absolute;\n right: 0.25rem;\n text-align: center;\n text-decoration: none;\n // vertically center button within table header\n top: 50%;\n transform: translate(0, -50%);\n .usa-icon {\n @include u-square(3);\n vertical-align: middle;\n & > g {\n fill: transparent;\n }\n }\n}\n\n// The SVG in the sortable column button contains three icon shapes.\n// This CSS controls which of the shapes is 'filled' when active.\n\n@mixin table-button-unsorted-styles {\n @include table-button-default-styles;\n .usa-icon > g.unsorted {\n fill: color($table-unsorted-icon-color);\n }\n &:hover .usa-icon > g.unsorted {\n fill: color(next-token($table-unsorted-icon-color, \"darker\"));\n }\n}\n\n@mixin table-button-sorted-ascending-styles {\n @include table-button-default-styles;\n .usa-icon > g.ascending {\n fill: $table-sorted-icon-color;\n }\n}\n\n@mixin table-button-sorted-descending-styles {\n @include table-button-default-styles;\n .usa-icon > g.descending {\n fill: $table-sorted-icon-color;\n }\n}\n\n@mixin table-stacked-styles {\n thead {\n display: none;\n }\n\n th {\n background-color: color($table-background-color);\n }\n\n th,\n td {\n border-bottom-width: 0;\n display: block;\n width: 100%;\n }\n\n tr {\n border-bottom: units(0.5) solid color($theme-table-border-color);\n border-top-width: 0;\n width: 100%;\n th:first-child,\n td:first-child {\n border-top-width: 0;\n }\n &:nth-child(odd) {\n td,\n th {\n background-color: inherit;\n }\n }\n\n &:first-child {\n th:first-child,\n td:first-child {\n border-top: units(0.5) solid color($theme-table-border-color);\n }\n }\n }\n\n th[data-label],\n td[data-label] {\n padding-bottom: units(1.5);\n\n &:before {\n content: attr(data-label);\n display: block;\n font-weight: fw(\"bold\");\n margin: units(-1) units(-2) units(0);\n padding: units(1.5) units(2) units(0.5);\n }\n }\n}\n\n@mixin table-stacked-header-styles {\n tr {\n td:first-child,\n th:first-child {\n @include typeset(\n $theme-body-font-family,\n $theme-h4-font-size,\n $theme-heading-line-height\n );\n background-color: color($theme-table-header-background-color);\n color: $table-header-text-color;\n font-weight: fw(\"bold\");\n padding: units(1.5) units(2);\n &:before {\n display: none;\n }\n }\n }\n}\n\n@mixin usa-table {\n @include border-box-sizing;\n @include typeset;\n border-collapse: collapse;\n border-spacing: 0;\n color: color($table-text-color);\n margin: units(2.5) 0;\n text-align: left;\n\n thead td,\n tfoot td,\n th {\n background-clip: padding-box;\n line-height: line-height($theme-body-font-family, $theme-input-line-height);\n background-color: color($theme-table-header-background-color);\n color: $table-header-text-color;\n }\n\n th,\n td {\n border: 1px solid color($theme-table-border-color);\n padding: units(1) units(2);\n }\n\n td {\n background-color: color($table-background-color);\n font-weight: fw(\"normal\");\n }\n\n caption {\n @include u-font(\"body\", \"xs\");\n font-weight: fw(\"bold\");\n margin-bottom: units(1.5);\n text-align: left;\n }\n\n /* stylelint-disable selector-class-pattern */\n th[data-sortable] {\n @include table-header-unsorted-styles;\n\n &:not([aria-sort]),\n &[aria-sort=\"none\"] {\n .usa-table__header__button {\n @include table-button-unsorted-styles;\n }\n }\n\n &[aria-sort=\"descending\"],\n &[aria-sort=\"ascending\"] {\n background-color: color($theme-table-sorted-header-background-color);\n }\n\n &[aria-sort=\"descending\"] {\n .usa-table__header__button {\n @include table-button-sorted-descending-styles;\n }\n }\n\n &[aria-sort=\"ascending\"] {\n .usa-table__header__button {\n @include table-button-sorted-ascending-styles;\n }\n }\n }\n /* stylelint-enable selector-class-pattern */\n\n thead {\n th[aria-sort] {\n background-color: color($theme-table-sorted-header-background-color);\n color: $table-sorted-header-text-color;\n }\n }\n\n td[data-sort-active],\n th[data-sort-active] {\n background-color: color($theme-table-sorted-background-color);\n color: $table-sorted-text-color;\n }\n}\n\n@mixin usa-table--borderless {\n th,\n thead td,\n tfoot td {\n background-color: color($table-background-color);\n }\n\n th {\n border-top: 0;\n color: color($table-text-color);\n\n &[aria-sort] {\n color: $table-sorted-header-text-color;\n }\n }\n /* stylelint-disable selector-class-pattern */\n th[data-sortable]:not([aria-sort]) {\n .usa-table__header__button .usa-icon > g.unsorted {\n fill: color($table-text-color);\n }\n\n .usa-table__header__button:hover .usa-icon > g.unsorted {\n fill: color(next-token($table-text-color, \"darker\"));\n }\n }\n /* stylelint-enable selector-class-pattern */\n th,\n td {\n border-left: 0;\n border-right: 0;\n }\n}\n\n@mixin usa-table--compact {\n th,\n td {\n padding: units(0.5) units(1.5);\n }\n}\n\n@mixin usa-table--striped {\n tbody {\n tr:nth-child(odd) {\n td {\n background-color: color($theme-table-stripe-background-color);\n color: $table-stripe-text-color;\n &[data-sort-active] {\n background-color: color($theme-table-sorted-stripe-background-color);\n color: $table-sorted-stripe-text-color;\n }\n }\n }\n }\n}\n\n@mixin usa-table--stacked {\n @include table-stacked-styles;\n}\n\n@mixin usa-table--stacked-header {\n @include table-stacked-styles;\n @include table-stacked-header-styles;\n}\n\n@mixin usa-table--sticky-header {\n border: 1px solid color($theme-table-border-color);\n border-collapse: separate;\n\n td,\n th {\n border-left: none;\n border-top: none;\n\n &:last-child {\n border-right: none;\n }\n }\n\n tfoot {\n td,\n th {\n border-top: 1px solid color($theme-table-border-color);\n border-bottom: none;\n }\n }\n\n tbody tr:last-child {\n td,\n th {\n border-bottom: none;\n }\n }\n\n thead {\n position: sticky;\n top: $theme-table-sticky-top-offset;\n }\n\n &.usa-table--borderless {\n border: none;\n\n th {\n background-color: color($table-background-color);\n }\n\n td,\n th {\n border-right: none;\n }\n }\n}\n\n@mixin usa-table-container--scrollable {\n margin: units(2.5) 0;\n overflow-y: hidden;\n\n .usa-table {\n margin: 0;\n }\n\n td {\n white-space: nowrap;\n }\n}\n","@use \"../general/table\" as *;\n@use \"../helpers/at-media\" as *;\n\n@mixin usa-table-styles {\n table {\n @include usa-table;\n }\n .usa-table--borderless {\n @include usa-table--borderless;\n }\n .usa-table--compact {\n @include usa-table--compact;\n }\n .usa-table--striped {\n @include usa-table--striped;\n }\n .usa-table--stacked {\n @include at-media-max(\"mobile-lg\") {\n @include table-stacked-styles;\n }\n }\n .usa-table--stacked-header {\n @include at-media-max(\"mobile-lg\") {\n @include table-stacked-styles;\n @include table-stacked-header-styles;\n }\n }\n .width-mobile {\n .usa-table--stacked {\n @include usa-table--stacked;\n }\n .usa-table--stacked-header {\n @include usa-table--stacked-header;\n }\n }\n .usa-table-container--scrollable {\n @include usa-table-container--scrollable;\n }\n}\n","@use \"../../settings\" as *;\n@use \"../../functions\" as *;\n@use \"../../mixins/utilities\" as *;\n@use \"../typography/typeset\" as *;\n\n///\n/// Removes button styles and adds link styles.\n/// Includes hover, active, disabled, and focus states for accessibility.\n///\n/// @example\n/// .my-unstyled-button {\n/// @include button-unstyled;\n/// }\n///\n@mixin button-unstyled {\n @include typeset-link;\n background-color: transparent;\n border: 0;\n border-radius: 0;\n box-shadow: none;\n font-weight: font-weight(\"normal\");\n justify-content: normal;\n text-align: left;\n margin: 0;\n padding: 0;\n width: auto;\n\n &:hover,\n &.usa-button--hover,\n &:disabled:hover,\n &[aria-disabled=\"true\"]:hover,\n &:disabled.usa-button--hover,\n &[aria-disabled=\"true\"].usa-button--hover,\n &:active,\n &.usa-button--active,\n &:disabled:active,\n &[aria-disabled=\"true\"]:active,\n &:disabled.usa-button--active,\n &[aria-disabled=\"true\"].usa-button--active,\n &:disabled:focus,\n &[aria-disabled=\"true\"]:focus,\n &:disabled.usa-focus,\n &[aria-disabled=\"true\"].usa-focus,\n &:disabled,\n &[aria-disabled=\"true\"],\n &.usa-button--disabled {\n background-color: transparent;\n box-shadow: none;\n text-decoration: underline;\n }\n\n &.usa-button--hover {\n color: color($theme-link-hover-color);\n }\n\n &.usa-button--active {\n color: color($theme-link-active-color);\n }\n\n &:disabled,\n &[aria-disabled=\"true\"],\n &:disabled:hover,\n &[aria-disabled=\"true\"]:hover,\n &[aria-disabled=\"true\"]:focus {\n color: color(\"disabled\");\n\n @media (forced-colors: active) {\n color: color(GrayText);\n }\n }\n}\n","@use \"sass:map\";\n@use \"uswds-core\" as *;\n\n// Variables\n$accordion-context: \"Accordion\";\n\n$accordion-border: units($theme-accordion-border-width) solid\n color($theme-accordion-border-color);\n\n$accordion-button-background-active-color: next-token(\n $theme-accordion-button-background-color,\n \"darker\"\n);\n\n// Maps for High Contrast Mode\n\n$accordion-icon-map-defaults: (\n color: color(\"ButtonText\"),\n svg-height: 20,\n svg-width: 20,\n height: units(3),\n);\n\n$accordion-button-unopen-hc-icon: map-merge(\n $accordion-icon-map-defaults,\n (\n \"name\": \"add\",\n )\n);\n\n$accordion-button-open-hc-icon: map-merge(\n $accordion-icon-map-defaults,\n (\n \"name\": \"remove\",\n )\n);\n\n// Accordion Styles\n@mixin accordion-list-styles {\n @include unstyled-list;\n color: color(\"ink\");\n margin: 0;\n padding: 0;\n width: 100%;\n}\n\n@mixin accordion-hc-icon-styles {\n height: 100%;\n position: absolute;\n right: units(2.5);\n top: 0;\n}\n\n// Opened styles\n@mixin accordion-button-styles {\n @include button-unstyled;\n @include set-text-and-bg(\n $theme-accordion-button-background-color,\n $context: $accordion-context\n );\n @include set-icon-from-bg(\n $theme-accordion-button-background-color,\n \"usa-icons/remove\",\n \"usa-icons-bg/remove--white\"\n );\n background-position: right units(2.5) center;\n background-size: units(3);\n cursor: pointer;\n display: inline-block;\n font-weight: font-weight(\"bold\");\n margin: 0;\n padding: units(2) units(2.5) * 2 + units(2) units(2) units(2.5);\n text-decoration: none;\n width: 100%;\n\n &:hover {\n @include set-text-and-bg(\n $accordion-button-background-active-color,\n $context: $accordion-context\n );\n @include set-icon-from-bg(\n $accordion-button-background-active-color,\n \"usa-icons/remove\",\n \"usa-icons-bg/remove--white\"\n );\n text-decoration: none;\n }\n\n @media (forced-colors: active) {\n border: $border-high-contrast;\n position: relative;\n\n &::before {\n @include add-color-icon($accordion-button-open-hc-icon);\n @include accordion-hc-icon-styles();\n content: \"\";\n }\n }\n}\n\n@mixin accordion-button-unopened-styles {\n @include set-icon-from-bg(\n $theme-accordion-button-background-color,\n \"usa-icons/add\",\n \"usa-icons-bg/add--white\"\n );\n background-size: units(3);\n\n &:hover {\n @include set-icon-from-bg(\n $accordion-button-background-active-color,\n \"usa-icons/add\",\n \"usa-icons-bg/add--white\"\n );\n }\n\n @media (forced-colors: active) {\n &::before {\n @include add-color-icon($accordion-button-unopen-hc-icon);\n @include accordion-hc-icon-styles();\n }\n }\n}\n\n@mixin accordion-nested-list {\n > ul li ul {\n list-style: disc;\n > li > ul {\n list-style: circle;\n > li > ul {\n list-style: square;\n }\n }\n }\n}\n\n.usa-accordion {\n @include accordion-list-styles;\n @include accordion-nested-list;\n @include border-box-sizing;\n @include typeset($theme-accordion-font-family);\n\n + .usa-accordion,\n + .usa-accordion--bordered {\n margin-top: units(1);\n }\n}\n\n.usa-accordion--bordered {\n .usa-accordion__content {\n border-bottom: $accordion-border;\n border-left: $accordion-border;\n border-right: $accordion-border;\n padding-bottom: units(2);\n }\n\n .usa-accordion__heading {\n margin-bottom: 0;\n }\n}\n\n.usa-accordion__heading,\n// kludge to override .usa-prose styles\n// TODO: work this into a mixin\n.usa-prose .usa-accordion__heading {\n @include typeset($theme-accordion-font-family, $theme-body-font-size, 1);\n margin: 0;\n\n &:not(:first-child) {\n margin-top: units(1);\n }\n}\n\n.usa-accordion__content {\n @include set-text-and-bg(\n $theme-accordion-background-color,\n $context: $accordion-context\n );\n margin-top: 0;\n overflow: auto;\n padding: units(2) units(2.5) calc(#{units(2)} - #{units(0.5)}) units(2.5);\n\n > *:first-child {\n margin-top: 0;\n }\n\n > *:last-child {\n margin-bottom: 0;\n }\n}\n\n.usa-accordion__button {\n @include accordion-button-styles;\n}\n\n.usa-accordion__button[aria-expanded=\"false\"] {\n @include accordion-button-unopened-styles;\n}\n","@use \"../../settings\" as *;\n\n// Ensure browsers that don't support SVG in background-image (IE 11 and below) fall back to PNG.\n// See https://css-tricks.com/a-complete-guide-to-svg-fallbacks/\n\n@mixin add-background-svg($image-name, $image-path: $theme-image-path) {\n background-image: url(\"#{$image-path}/#{$image-name}.svg\"),\n linear-gradient(transparent, transparent);\n background-repeat: no-repeat;\n}\n","@use \"../tokens/color/high-contrast-mode-colors\";\n@use \"../functions/utilities/color\" as *;\n\n$border-high-contrast: 2px solid transparent;\n$border-high-contrast-disabled: 2px solid color(GrayText);\n","@use \"sass:math\";\n\n@use \"uswds-core\" as *;\n\n// Alert variables ---------- //\n$alert-icons: (\n success: \"check_circle\",\n warning: \"warning\",\n error: \"error\",\n info: \"info\",\n emergency: \"error\",\n);\n\n.usa-alert {\n @include alert-styles;\n\n .usa-alert__body {\n @include u-padding-x($theme-alert-padding-x);\n\n &::before {\n left: calc(\n units($theme-alert-padding-x) + $alert-icon-optical-adjust-left\n );\n }\n }\n\n * + & {\n margin-top: units(2);\n }\n}\n\n@each $name, $icon in $alert-icons {\n .usa-alert--#{$name} {\n @include alert-status-wrapper-styles($name);\n\n .usa-alert__body {\n @include alert-status-body-styles($name, $icon);\n }\n }\n}\n\n.usa-alert--slim {\n @include alert-styles-slim;\n\n .usa-alert__body::before {\n left: calc(\n units($theme-alert-padding-x) + $alert-slim-icon-optical-adjust-left\n );\n }\n}\n\n.usa-alert--no-icon {\n @include alert-styles-no-icon;\n}\n\n.usa-alert--validation {\n .usa-checklist {\n margin-top: units(2);\n }\n}\n","@use \"sass:math\";\n@use \"../../settings\" as *;\n@use \"../../functions\" as *;\n@use \"./border-box-sizing\" as *;\n@use \"./set-text-and-bg\" as *;\n@use \"../general/icon\" as *;\n@use \"../utilities\" as *;\n@use \"../typography/typeset.scss\" as *;\n@use \"../helpers/set-link-from-bg\" as *;\n\n$alert-icon-gap: 1;\n$alert-slim-icon-size: 3;\n$alert-slim-icon-padding: 1;\n\n// Optical adjustment for icons\n// Adjusts the position to accommodate the 1/12 empty space built into the icon SVGs\n$alert-icon-optical-adjust-top: calc(\n units($theme-alert-padding-y) - units($theme-alert-icon-size) / 6\n);\n$alert-icon-optical-adjust-left: calc(units($theme-alert-icon-size) * -1 / 12);\n$alert-slim-icon-optical-adjust-left: calc(\n units($alert-slim-icon-size) * -1 / 12\n);\n\n// Base alert styles\n@mixin alert-styles {\n $bgcolor: \"base-lightest\";\n $banner-text-color-token: get-color-token-from-bg(\n $bgcolor,\n $theme-alert-text-reverse-color,\n $theme-alert-text-color,\n $context: \"Alert (default)\"\n );\n\n background-color: color($bgcolor);\n border-left: units($theme-alert-bar-width) solid color(\"base-light\");\n color: color($banner-text-color-token);\n\n .usa-alert__body {\n @include border-box-sizing;\n @include typeset($theme-alert-font-family);\n @include u-padding-y($theme-alert-padding-y);\n position: relative;\n }\n\n .usa-alert__text {\n @include u-margin-y(0);\n\n &:only-child {\n @include u-padding-y(0);\n }\n }\n\n .usa-alert__heading {\n @include typeset($theme-alert-font-family, \"lg\", 1);\n margin-top: 0;\n margin-bottom: units(1);\n }\n\n > .usa-list,\n .usa-alert__body > .usa-list {\n padding-left: 2ch;\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n}\n\n// Set status styles for alert wrapper/background\n@mixin alert-status-wrapper-styles($name) {\n $bgcolor: if($name != \"emergency\", \"#{$name}-lighter\", $name);\n\n background-color: color($bgcolor);\n border-left-color: color($name);\n}\n\n// Set status styles for alert content\n// added to __body element\n@mixin alert-status-body-styles($name, $icon) {\n $bgcolor: if($name != \"emergency\", \"#{$name}-lighter\", $name);\n $banner-text-color-token: get-color-token-from-bg(\n $bgcolor,\n $theme-alert-text-reverse-color,\n $theme-alert-text-color,\n $context: \"Alert (#{$name})\"\n );\n @include add-alert-icon($icon, $banner-text-color-token, $bgcolor);\n @include set-text-and-bg($bgcolor);\n display: flex;\n flex-direction: column;\n justify-content: center;\n min-height: calc(\n units($theme-alert-icon-size) + $alert-icon-optical-adjust-top * 2\n );\n\n > * {\n margin-left: calc(units($theme-alert-icon-size) + units($alert-icon-gap));\n }\n\n .usa-link {\n @include set-link-from-bg(\n $bgcolor,\n $theme-alert-link-reverse-color,\n $theme-alert-link-color,\n $context: \"Alert (#{$name})\"\n );\n }\n}\n\n@mixin add-alert-icon($name, $color, $bgcolor) {\n $this-icon-object: (\n \"name\": $name,\n \"color\": $color,\n \"svg-height\": 40,\n \"svg-width\": 40,\n \"height\": $theme-alert-icon-size,\n );\n\n &::before {\n @include add-color-icon($this-icon-object, $bgcolor);\n content: \"\";\n display: block;\n position: absolute;\n top: $alert-icon-optical-adjust-top;\n }\n}\n\n// Variant - no icon\n@mixin alert-styles-no-icon {\n .usa-alert__body {\n min-height: 0;\n\n &:before {\n display: none;\n }\n\n > * {\n margin-left: 0;\n }\n }\n}\n\n// Variant - slim\n@mixin add-slim-alert-icon {\n &:before {\n @supports (mask: url(\"\")) {\n mask-size: units($alert-slim-icon-size);\n }\n height: units($alert-slim-icon-size);\n top: units($alert-slim-icon-padding);\n width: units($alert-slim-icon-size);\n }\n}\n\n@mixin alert-styles-slim {\n .usa-alert__body {\n @include u-padding-y($alert-slim-icon-padding);\n @include add-slim-alert-icon;\n min-height: 0;\n\n > * {\n margin-left: calc(units($alert-slim-icon-size) + units($alert-icon-gap));\n }\n }\n}\n","@use \"sass:list\";\n@use \"../../functions\" as *;\n\n// Adds padding either l/r(x) or t/b(y)\n\n@mixin padding-n($side, $value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n @if $side == all {\n padding: get-uswds-value(\"padding\", $value...) #{$important};\n } @else if $side == x {\n padding-left: get-uswds-value(\"padding\", $value...) #{$important};\n padding-right: get-uswds-value(\"padding\", $value...) #{$important};\n } @else if $side == y {\n padding-bottom: get-uswds-value(\"padding\", $value...) #{$important};\n padding-top: get-uswds-value(\"padding\", $value...) #{$important};\n } @else {\n padding-#{$side}: get-uswds-value(\"padding\", $value...) #{$important};\n }\n}\n\n@mixin u-padding($value...) {\n @include padding-n(all, $value...);\n}\n\n@mixin u-padding-x($value...) {\n @include padding-n(x, $value...);\n}\n\n@mixin u-padding-y($value...) {\n @include padding-n(y, $value...);\n}\n\n@mixin u-padding-top($value...) {\n @include padding-n(top, $value...);\n}\n\n@mixin u-padding-right($value...) {\n @include padding-n(right, $value...);\n}\n\n@mixin u-padding-bottom($value...) {\n @include padding-n(bottom, $value...);\n}\n\n@mixin u-padding-left($value...) {\n @include padding-n(left, $value...);\n}\n","@use \"sass:math\";\n@use \"sass:list\";\n\n@use \"uswds-core\" as *;\n\n$banner-context: \"Banner\";\n$banner-guidance-measure: 3;\n$banner-icon-colors: get-link-tokens-from-bg(\n $theme-banner-background-color,\n $theme-banner-link-color,\n $context: $banner-context\n);\n$banner-icon-color: list.nth($banner-icon-colors, 1);\n$banner-icon-hover: list.nth($banner-icon-colors, 2);\n$banner-icon-chevron: (\n \"name\": \"expand_more\",\n \"svg-height\": 40,\n \"svg-width\": 40,\n \"height\": 2,\n \"color\": $banner-icon-color,\n \"color-variant\": \"white\",\n \"color-hover\": $banner-icon-hover,\n);\n$banner-icon-chevron-up: map-merge(\n $banner-icon-chevron,\n (\n \"name\": \"expand_less\",\n )\n);\n$banner-icon-close: (\n \"name\": \"close\",\n \"svg-height\": 40,\n \"svg-width\": 40,\n \"height\": 3,\n \"color\": \"blue-60v\",\n \"color-variant\": \"white\",\n \"container-height\": $size-touch-target,\n \"container-width\": $size-touch-target,\n);\n\n.usa-banner {\n @include typeset($theme-banner-font-family);\n @include border-box-sizing;\n background-color: color($theme-banner-background-color);\n\n @include at-media(\"tablet\") {\n font-size: font-size($theme-banner-font-family, \"3xs\");\n padding-bottom: units(0);\n }\n\n .usa-accordion {\n @include typeset($theme-banner-font-family);\n }\n\n // ! Stylelint will complain about BEM formatting.\n // Added grid classes in #5000 to remove layout grid dependency.\n // stylelint-disable selector-class-pattern\n .grid-row {\n @include grid-row;\n\n &.grid-gap-lg {\n @include grid-gap(\"lg\");\n }\n\n .tablet\\:grid-col-6 {\n @include at-media(\"tablet\") {\n @include grid-col(6);\n }\n }\n }\n // stylelint-enable\n}\n\n.usa-banner__header,\n.usa-banner__content {\n @include set-text-from-bg(\n $theme-banner-background-color,\n $context: $banner-context\n );\n}\n\n.usa-banner__content {\n @include grid-container($theme-banner-max-width);\n @include add-responsive-site-margins;\n background-color: color(\"transparent\");\n font-size: font-size($theme-banner-font-family, 4);\n overflow: hidden;\n padding-bottom: units(2);\n padding-left: units($theme-site-margins-mobile-width) - units(1);\n padding-top: units(0.5);\n width: 100%;\n\n @include at-media(\"tablet\") {\n @include u-padding-y(3);\n }\n\n p {\n &:first-child {\n margin: 0;\n }\n }\n}\n\n.usa-banner__guidance {\n @include u-display(\"flex\");\n @include u-flex(\"align-start\");\n @include u-measure($banner-guidance-measure);\n padding-top: units(2);\n\n @include at-media(\"tablet\") {\n padding-top: units(0);\n }\n}\n\n.usa-banner__lock-image {\n $lock-h: 64; // unitless height of svg\n $lock-w: 52; // unitless width of svg\n $lock-aspect: math.div($lock-w, $lock-h);\n $icon-height: 1.5ex; // height of the lock icon; use ex for resilience\n\n height: $icon-height;\n width: $icon-height * $lock-aspect;\n path {\n fill: currentColor;\n\n @media (forced-colors: active) {\n fill: CanvasText;\n }\n }\n}\n\n.usa-banner__inner {\n @include add-responsive-site-margins;\n @include grid-container($theme-banner-max-width);\n @include grid-row;\n @include u-flex(\"align-start\");\n padding-right: units(0);\n\n @include at-media(\"tablet\") {\n @include u-flex(\"align-center\");\n }\n}\n\n.usa-banner__header {\n @include u-padding-y(1);\n font-size: font-size($theme-banner-font-family, 1);\n font-weight: font-weight(\"normal\");\n min-height: units($size-touch-target);\n position: relative;\n\n @include at-media(\"tablet\") {\n @include u-padding-y(0.5);\n min-height: 0;\n }\n}\n\n.usa-banner__header-text {\n @include u-margin-y(0);\n font-size: font-size($theme-banner-font-family, 1);\n line-height: line-height($theme-banner-font-family, 2);\n}\n\n.usa-banner__header-action {\n @include place-icon($banner-icon-chevron, \"after\");\n @include set-link-from-bg(\n $theme-banner-background-color,\n $theme-banner-link-color,\n $context: $banner-context\n );\n\n line-height: line-height($theme-banner-font-family, 2);\n margin-bottom: units(0);\n margin-top: units(2px);\n text-decoration: underline;\n\n .usa-banner__header--expanded & {\n display: none;\n }\n\n @include at-media(\"tablet\") {\n display: none;\n }\n\n @media (forced-colors: active) {\n color: LinkText;\n\n &::after {\n background-color: ButtonText;\n }\n }\n}\n\n.usa-banner__header-flag {\n @include u-float(\"left\");\n margin-right: units(1);\n width: units(2);\n\n @include at-media(\"tablet\") {\n margin-right: units(1);\n padding-top: units(0);\n }\n}\n\n.usa-banner__header--expanded {\n padding-right: units($size-touch-target) + units(1);\n\n @include at-media(\"tablet\") {\n background-color: transparent;\n display: block;\n font-size: font-size($theme-banner-font-family, 1);\n font-weight: font-weight(\"normal\");\n min-height: units(0);\n padding-right: units(0);\n }\n\n .usa-banner__inner {\n margin-left: units(0);\n\n @include at-media(\"tablet\") {\n margin-left: units(auto);\n }\n }\n\n .usa-banner__header-action {\n display: none;\n }\n}\n\n.usa-banner__button {\n @include button-unstyled;\n @include u-pin(\"left\");\n @include u-pin(\"y\");\n @include u-text(\"primary\", underline);\n @include set-link-from-bg(\n $theme-banner-background-color,\n $theme-banner-link-color,\n $context: $banner-context\n );\n display: block;\n font-size: font-size($theme-banner-font-family, 1);\n height: auto;\n line-height: line-height($theme-banner-font-family, 2);\n padding-top: units(0);\n padding-left: units(0);\n text-decoration: none;\n width: auto;\n\n @include at-media-max(\"tablet\") {\n width: 100%;\n\n &:enabled:focus {\n // adjust outline to render within the viewport\n outline-offset: units(-0.5);\n }\n }\n\n @include at-media(\"tablet\") {\n @include place-icon($banner-icon-chevron, \"after\", \"2px\");\n @include set-link-from-bg(\n $theme-banner-background-color,\n $theme-banner-link-color,\n $context: $banner-context\n );\n @include u-pin(\"none\");\n display: inline;\n margin-left: units(1);\n position: relative;\n\n &::after,\n &:hover::after {\n position: absolute;\n\n @media (forced-colors: active) {\n background-color: ButtonText;\n }\n }\n\n &:hover {\n // Underline added to inner text instead.\n text-decoration: none;\n }\n }\n\n // Remove icon set from usa-accordion.\n // Also removed in _usa-nav.scss.\n &[aria-expanded=\"false\"],\n &[aria-expanded=\"false\"]:hover,\n &[aria-expanded=\"true\"],\n &[aria-expanded=\"true\"]:hover {\n background-image: none;\n\n @media (forced-colors: active) {\n &::before {\n content: none;\n }\n }\n }\n\n &[aria-expanded=\"true\"] {\n @include at-media-max(\"tablet\") {\n @include place-icon(\n $banner-icon-close,\n \"after\",\n 0,\n middle,\n \"base-lighter\"\n );\n\n &::before {\n @include u-pin(\"y\");\n @include u-pin(\"right\");\n background-color: color(\"base-lighter\");\n content: \"\";\n display: block;\n height: units($size-touch-target);\n width: units($size-touch-target);\n }\n &::after {\n @include u-pin(\"y\");\n @include u-pin(\"right\");\n }\n }\n\n @include at-media(\"tablet\") {\n @include place-icon(\n $banner-icon-chevron-up,\n \"after\",\n \"2px\",\n middle,\n $theme-banner-background-color\n );\n height: auto;\n padding: units(0);\n position: relative;\n\n &::after,\n &:hover::after {\n position: absolute;\n\n @media (forced-colors: active) {\n background-color: ButtonText;\n }\n }\n }\n }\n}\n\n.usa-banner__button-text {\n @include add-sr-only;\n text-decoration: underline;\n\n @include at-media(\"tablet\") {\n @include add-no-sr-only;\n display: inline;\n }\n\n @media (forced-colors: active) {\n color: LinkText;\n }\n}\n\n.usa-banner__icon {\n width: units(5);\n}\n\n// [uswds-init.js] Offscreen content while js is loading\n.usa-js-loading {\n .usa-banner__content {\n @include add-sr-only;\n }\n}\n","@use \"sass:list\";\n@use \"../../functions\" as *;\n\n// Outputs display\n\n@mixin u-display($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n display: get-uswds-value(\"display\", $value) #{$important};\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"../../functions\" as *;\n@use \"../../properties\" as *;\n\n// Outputs flex\n\n$flex-utililies: (\n \"align-items\": map-collect(\n map-deep-get($system-properties, \"align-items\", standard),\n map-deep-get($system-properties, \"align-items\", extended)\n ),\n \"align-self\": map-collect(\n map-deep-get($system-properties, \"align-self\", standard),\n map-deep-get($system-properties, \"align-self\", extended)\n ),\n \"flex\": map-collect(\n map-deep-get($system-properties, \"flex\", standard),\n map-deep-get($system-properties, \"flex\", extended)\n ),\n \"flex-direction\": map-collect(\n map-deep-get($system-properties, \"flex-direction\", standard),\n map-deep-get($system-properties, \"flex-direction\", extended)\n ),\n \"flex-wrap\": map-collect(\n map-deep-get($system-properties, \"flex-wrap\", standard),\n map-deep-get($system-properties, \"flex-wrap\", extended)\n ),\n \"justify-content\": map-collect(\n map-deep-get($system-properties, \"justify-content\", standard),\n map-deep-get($system-properties, \"justify-content\", extended)\n ),\n);\n\n@mixin u-flex($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n @each $this-value in $value {\n $match: false;\n @each $property, $map in $flex-utililies {\n @if not $match and map.has-key($map, $this-value) {\n #{$property}: get-uswds-value($property, $this-value...) #{$important};\n $match: true;\n }\n }\n @if not $match {\n @error '`#{$this-value}` is not a valid `flex` value.';\n }\n }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"../layout-grid\" as *;\n@use \"../../functions\" as *;\n@use \"../../mixins/helpers\" as *;\n@use \"../../mixins/utilities\" as *;\n@use \"../../tokens\" as *;\n@use \"../../variables/column-gaps\" as *;\n@use \"../../settings\" as *;\n\n@mixin grid-gap-responsive {\n $gap-mobile: if(\n map.has-key($system-column-gaps, $theme-column-gap-mobile),\n map.get($system-column-gaps, $theme-column-gap-mobile),\n \"error\"\n );\n $gap-desktop: if(\n map.has-key($system-column-gaps, $theme-column-gap-desktop),\n map.get($system-column-gaps, $theme-column-gap-desktop),\n \"error\"\n );\n\n @if $gap-mobile == \"error\" {\n @error '$theme-column-gap-mobile is not set to a valid column gap width.';\n }\n\n @if $gap-desktop == \"error\" {\n @error '$theme-column-gap-desktop is not set to a valid column gap width.';\n }\n\n @include u-margin-x(\n unquote(\"#{$neg-prefix}-#{calc-gap-offset($gap-mobile)}\")\n );\n\n > * {\n @include this-border-box-sizing;\n @include u-padding-x(calc-gap-offset($gap-mobile));\n }\n\n @include at-media(\"desktop\") {\n @include u-margin-x(\n unquote(\"#{$neg-prefix}-#{calc-gap-offset($gap-desktop)}\")\n );\n\n > * {\n @include this-border-box-sizing;\n @include u-padding-x(calc-gap-offset($gap-desktop));\n }\n }\n}\n\n@mixin grid-gap($props...) {\n $props: unpack($props);\n @if length($props) == 0 {\n @include grid-gap-responsive;\n } @else {\n $gap: smart-quote(list.nth($props, 1));\n @if $gap == 0 {\n @include u-margin-x(append-important($props, 0));\n\n > * {\n @include this-border-box-sizing;\n @include u-padding-x(append-important($props, 0));\n }\n } @else {\n @if map.has-key($project-column-gaps, $gap) {\n $gap: map.get($project-column-gaps, $gap);\n } @else if map.has-key($system-column-gaps, $gap) {\n $gap: map.get($system-column-gaps, $gap);\n }\n @include u-margin-x(\n append-important(\n $props,\n unquote(\"#{$neg-prefix}-#{calc-gap-offset($gap)}\")\n )\n );\n > * {\n @include this-border-box-sizing;\n @include u-padding-x(append-important($props, calc-gap-offset($gap)));\n }\n }\n }\n}\n\n@mixin grid-col($props...) {\n $props: unpack($props);\n @include this-border-box-sizing;\n\n @if length($props) == 0 {\n @include u-flex(fill);\n @include u-width(auto);\n } @else {\n $col: smart-quote(list.nth($props, 1));\n @if $col == \"auto\" {\n $flex: append-important($props, auto);\n $width: append-important($props, auto);\n $maxw: append-important($props, full);\n @include u-flex($flex);\n @include u-width($width);\n @include u-maxw($maxw);\n } @else if $col == \"fill\" {\n $flex: append-important($props, fill);\n $width: append-important($props, auto);\n $maxw: append-important($props, full);\n @include u-flex($flex);\n @include u-width($width);\n @include u-maxw($maxw);\n min-width: 1px; // IE 11\n } @else if not map.has-key($system-layout-grid-widths, $col) {\n @error '#{$col} is not a valid layout grid width. Valid width are #{map-keys($system-layout-grid-widths)}';\n } @else {\n $flex: append-important($props, auto);\n $width: append-important(\n $props,\n map.get($system-layout-grid-widths, $col)\n );\n @include u-flex($flex);\n @include u-width(override, $width);\n }\n }\n}\n\n@mixin grid-offset($props...) {\n $props: unpack($props);\n $offset: smart-quote(list.nth($props, 1));\n @if $offset == \"none\" {\n $width: append-important($props, 0);\n @include u-margin-left(override, $width);\n } @else if not map.has-key($system-layout-grid-widths, $offset) {\n @error '#{$offset} is not a valid layout grid width. Valid width are #{map-keys($system-layout-grid-widths)}';\n } @else {\n $width: append-important(\n $props,\n map.get($system-layout-grid-widths, $offset)\n );\n @include u-margin-left(override, $width);\n }\n}\n","@use \"sass:list\";\n@use \"../../functions\" as *;\n\n// Outputs width\n\n@mixin u-width($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n width: get-uswds-value(\"width\", $value...) #{$important};\n}\n","@use \"sass:list\";\n@use \"../../functions\" as *;\n\n// Outputs max-width\n\n@mixin u-maxw($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n max-width: get-uswds-value(\"max-width\", $value...) #{$important};\n}\n","@use \"sass:list\";\n@use \"../../functions\" as *;\n\n// Outputs measure (max width)\n\n@mixin u-measure($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n max-width: get-uswds-value(\"measure\", $value...) #{$important};\n}\n","@use \"sass:list\";\n@use \"../../functions\" as *;\n\n// Outputs line-height\n\n@mixin u-float($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n float: get-uswds-value(\"float\", $value...) #{$important};\n}\n","@use \"sass:list\";\n@use \"../../functions\" as *;\n\n// Outputs position property\n\n@mixin u-position($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n position: get-uswds-value(\"position\", $value...) #{$important};\n}\n","@use \"sass:list\";\n@use \"../../functions\" as *;\n@use \"./position\" as *;\n\n$utility-pin-options: \"all\", \"x\", \"y\", \"top\", \"bottom\", \"left\", \"right\", \"none\";\n\n@mixin u-pin($value...) {\n $value: unpack($value);\n $important: null;\n $position-absolute: append-important($value, \"absolute\");\n $position-static: append-important($value, \"static\");\n $has-position: false;\n\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n\n @each $option in $value {\n $option: smart-quote($option);\n @if $option != \"none\" and not $has-position {\n @include u-position($position-absolute);\n $has-position: true;\n }\n @if $option == \"all\" {\n bottom: 0#{$important};\n left: 0#{$important};\n right: 0#{$important};\n top: 0#{$important};\n } @else if $option == \"x\" {\n left: 0#{$important};\n right: 0#{$important};\n } @else if $option == \"y\" {\n bottom: 0#{$important};\n top: 0#{$important};\n } @else if $option == \"top\" {\n top: 0#{$important};\n } @else if $option == \"bottom\" {\n bottom: 0#{$important};\n } @else if $option == \"left\" {\n left: 0#{$important};\n } @else if $option == \"right\" {\n right: 0#{$important};\n } @else if $option == \"none\" {\n $has-position: false;\n @include u-position($position-static);\n bottom: auto#{$important};\n left: auto#{$important};\n right: auto#{$important};\n top: auto#{$important};\n } @else {\n @error '`#{$option}` is not a valid `pin` value. Valid pin values include #{$utility-pin-options}';\n }\n }\n}\n\n@mixin u-pin-none($value...) {\n @include u-pin(\"none\", $value...);\n}\n\n@mixin u-pin-all($value...) {\n @include u-pin(\"all\", $value...);\n}\n\n@mixin u-pin-y($value...) {\n @include u-pin(\"y\", $value...);\n}\n\n@mixin u-pin-x($value...) {\n @include u-pin(\"x\", $value...);\n}\n\n@mixin u-pin-bottom($value...) {\n @include u-pin(\"bottom\", $value...);\n}\n\n@mixin u-pin-left($value...) {\n @include u-pin(\"left\", $value...);\n}\n\n@mixin u-pin-right($value...) {\n @include u-pin(\"right\", $value...);\n}\n\n@mixin u-pin-top($value...) {\n @include u-pin(\"top\", $value...);\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"../../functions\" as *;\n@use \"../../properties\" as *;\n@use \"../../tokens\" as *;\n\n// Outputs properties based on contents of text()\n\n$text-utililies: (\n font-feature-settings: map-collect(\n map-deep-get($system-properties, font-feature-settings, standard),\n map-deep-get($system-properties, font-feature-settings, extended)\n ),\n font-style: map-collect(\n map-deep-get($system-properties, \"font-style\", standard),\n map-deep-get($system-properties, \"font-style\", extended)\n ),\n font-weight: map-collect(\n map-deep-get($system-properties, \"font-weight\", standard),\n map-deep-get($system-properties, \"font-weight\", extended)\n ),\n letter-spacing: map-collect(\n map-deep-get($system-properties, \"letter-spacing\", standard),\n map-deep-get($system-properties, \"letter-spacing\", extended)\n ),\n text-align: map-collect(\n map-deep-get($system-properties, \"text-align\", standard),\n map-deep-get($system-properties, \"text-align\", extended)\n ),\n text-decoration: map-collect(\n map-deep-get($system-properties, \"text-decoration\", standard),\n map-deep-get($system-properties, \"text-decoration\", extended)\n ),\n text-transform: map-collect(\n map-deep-get($system-properties, \"text-transform\", standard),\n map-deep-get($system-properties, \"text-transform\", extended)\n ),\n vertical-align: map-collect(\n map-deep-get($system-properties, \"vertical-align\", standard),\n map-deep-get($system-properties, \"vertical-align\", extended)\n ),\n white-space: map-collect(\n map-deep-get($system-properties, \"white-space\", standard),\n map-deep-get($system-properties, \"white-space\", extended)\n ),\n color: map-collect($tokens-color-global),\n);\n\n@mixin u-text($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n @each $this-value in $value {\n $this-value: smart-quote($this-value);\n $match: false;\n @if map.has-key($all-color-shortcodes, $this-value) {\n $match: true;\n color: color($this-value) #{$important};\n } @else {\n @each $property, $map in $text-utililies {\n @if not $match and map.has-key($map, $this-value) {\n #{$property}: get-uswds-value($property, $this-value...)\n #{$important};\n $match: true;\n }\n }\n }\n @if not $match {\n @error '`#{$this-value}` is not a valid `text` value.';\n }\n }\n}\n","@use \"sass:math\";\n@use \"sass:map\";\n@use \"sass:list\";\n\n@use \"uswds-core\" as *;\n\n//\n// General Settings\n// =====================================\n\n// This helps balance spacing around inline-block elements\n$breadcrumb-context: \"Breadcrumb\";\n$gap-inline-spacer: -0.25em;\n$icon-vertical-spacer: -0.2em;\n\n$breadcrumb-gap: 1.5;\n$breadcrumb-icon-height: 2.5ex;\n$breadcrumb-icon-display-height: 2ex;\n$breadcrumb-icon-spacing: 0px;\n\n$icon-breadcrumb-separator: (\n \"name\": \"navigate_next\",\n \"svg-height\": 40,\n \"svg-width\": 40,\n \"height\": $breadcrumb-icon-display-height,\n \"color\": $theme-breadcrumb-separator-color,\n);\n\n$icon-breadcrumb-back: (\n \"name\": \"arrow_back\",\n \"svg-height\": 40,\n \"svg-width\": 40,\n \"height\": $breadcrumb-icon-display-height,\n \"color\": $theme-breadcrumb-separator-color,\n);\n\n// Set default value for custom mixin exdent-icon()\n$breadcrumb-back-icon-aspect: (\n map.get($icon-breadcrumb-back, \"svg-width\"),\n map.get($icon-breadcrumb-back, \"svg-height\")\n);\n\n// Defines spacing so back icon is optically placed\n@mixin exdent-icon($dim: $breadcrumb-back-icon-aspect) {\n $aspect: math.div(list.nth($dim, 1), list.nth($dim, 2));\n $icon-width: $breadcrumb-icon-display-height * $aspect;\n padding-left: calc(#{$icon-width} + #{$breadcrumb-icon-spacing});\n text-indent: calc((#{$icon-width} + #{$breadcrumb-icon-spacing}) * -1);\n}\n\n.usa-breadcrumb {\n @include typeset(\n $theme-breadcrumb-font-family,\n $theme-breadcrumb-font-size,\n 3\n );\n @include set-text-and-bg(\n $theme-breadcrumb-background-color,\n $context: $breadcrumb-context\n );\n @include u-padding-x($theme-breadcrumb-padding-x);\n\n @include at-media($theme-breadcrumb-min-width) {\n @include u-padding-bottom($theme-breadcrumb-padding-bottom);\n @include u-padding-top($theme-breadcrumb-padding-top);\n }\n\n &:not(.usa-breadcrumb--wrap) {\n .usa-breadcrumb__list {\n @include at-media($theme-breadcrumb-min-width) {\n @include u-white-space(\"no-wrap\");\n text-overflow: ellipsis;\n overflow: hidden;\n }\n }\n }\n}\n\n.usa-breadcrumb__list {\n @include unstyled-list;\n @include u-display(\"block\");\n @include u-padding($theme-focus-width);\n margin-left: units($theme-focus-width) * -1;\n margin-right: units($theme-focus-width) * -1;\n}\n\n.usa-breadcrumb__list-item {\n @include sr-only;\n @include u-display(\"inline\");\n\n @include at-media-max($theme-breadcrumb-min-width) {\n @include u-white-space(\"wrap\");\n\n // If parent link only (mobile), only show parent of current link\n &:nth-last-child(2) {\n @include not-sr-only;\n\n .usa-breadcrumb__link {\n @include exdent-icon;\n @include place-icon(\n $icon-breadcrumb-back,\n \"before\",\n 0,\n baseline,\n $theme-breadcrumb-background-color\n );\n\n @include u-display(\"inline-block\");\n @include u-padding-bottom($theme-breadcrumb-padding-bottom);\n @include u-padding-top($theme-breadcrumb-padding-top);\n\n &:before {\n bottom: $icon-vertical-spacer;\n // Magic number to center icon\n height: $breadcrumb-icon-display-height;\n position: relative;\n }\n\n // Prevent underline that extends beyond text\n &,\n &:hover,\n &:active {\n @include u-text(\"no-underline\");\n }\n span {\n @include u-text(\"underline\");\n }\n }\n\n // Override icon spacing from place-icon() with non-token value\n .usa-breadcrumb__link::before {\n margin-right: $breadcrumb-icon-spacing;\n }\n }\n }\n\n @include at-media($theme-breadcrumb-min-width) {\n @include not-sr-only;\n\n // Breadcrumb separator ›\n &:not(:last-child) {\n @include place-icon(\n $icon-breadcrumb-separator,\n \"after\",\n 0,\n baseline,\n $theme-breadcrumb-background-color\n );\n }\n\n // Style overrides for separator using non-token values\n &:not(:last-child)::after {\n // Magic number to center icon\n bottom: $icon-vertical-spacer;\n margin-left: $breadcrumb-icon-spacing;\n margin-right: $breadcrumb-icon-spacing;\n height: $breadcrumb-icon-display-height;\n position: relative;\n }\n }\n}\n\n.usa-breadcrumb__link {\n @include set-link-from-bg(\n $theme-breadcrumb-background-color,\n $theme-breadcrumb-link-color,\n $context: $breadcrumb-context\n );\n @include u-display(\"inline\");\n\n // Prevent underline that extends beyond text\n @include u-text(\"no-underline\");\n\n span {\n @include u-text(\"underline\");\n }\n}\n\n// ---------------------------------\n// Variations\n// ---------------------------------\n\n// Breadcrumb wrap\n.usa-breadcrumb--wrap {\n @include at-media($theme-breadcrumb-min-width) {\n @include u-line-height($theme-breadcrumb-font-family, 4);\n }\n\n .usa-breadcrumb__list-item {\n @include u-display(\"inline-block\");\n }\n}\n","@use \"sass:list\";\n@use \"../../functions\" as *;\n\n// Outputs white-space\n\n@mixin u-white-space($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n white-space: get-uswds-value(\"white-space\", $value...) #{$important};\n}\n","@use \"sass:math\";\n\n@use \"uswds-core\" as *;\n\n// Default styles\n.usa-button-group {\n @include u-margin-y(0);\n display: flex;\n flex-direction: column;\n flex-wrap: wrap;\n list-style-type: none;\n margin-left: units(-0.5);\n margin-right: units(-0.5);\n padding-left: 0;\n\n @include at-media(\"mobile-lg\") {\n flex-wrap: nowrap;\n align-items: stretch;\n flex-direction: row;\n }\n\n // Styles for nested button groups\n .usa-button-group {\n height: 100%;\n\n .usa-button-group__item {\n @include at-media(\"mobile-lg\") {\n margin-top: 0;\n margin-bottom: 0;\n }\n }\n\n // Styles for nested segmented button groups\n &--segmented {\n .usa-button-group__item {\n margin-top: 0;\n margin-bottom: 0;\n }\n }\n }\n}\n\n.usa-button-group__item {\n margin: units(0.5);\n\n &:last-child {\n @include at-media(\"mobile-lg\") {\n margin-right: 0;\n }\n }\n\n .usa-button {\n height: 100%;\n margin-left: 0;\n margin-right: 0;\n }\n}\n\n// Segemented styles\n.usa-button-group--segmented {\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: space-between;\n margin-left: 0;\n margin-right: 0;\n\n @include at-media(\"mobile-lg\") {\n justify-content: flex-start;\n }\n\n .usa-button {\n position: relative;\n width: calc(100% + #{units($theme-button-stroke-width)});\n\n @include at-media(\"mobile-lg\") {\n width: auto;\n }\n\n // Ensures edges are not cut off when interacting with outline buttons\n &:hover,\n &:active {\n z-index: 2;\n }\n\n &:focus {\n z-index: 3;\n }\n }\n\n .usa-button-group__item {\n margin-left: 0;\n margin-right: 0;\n width: 100%;\n\n @include at-media(\"mobile-lg\") {\n width: auto;\n }\n\n &:first-child > .usa-button {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n margin-right: -(math.div(units($theme-button-stroke-width), 2));\n }\n\n &:last-child > .usa-button {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n margin-right: 0;\n margin-left: -(units($theme-button-stroke-width));\n width: calc(100% + #{units($theme-button-stroke-width)});\n\n @include at-media(\"mobile-lg\") {\n margin-left: -(math.div(units($theme-button-stroke-width), 2));\n width: auto;\n }\n }\n\n &:where(:not(:first-child):not(:last-child)) > .usa-button {\n border-radius: 0;\n margin-right: -(math.div(units($theme-button-stroke-width), 2));\n margin-left: -(math.div(units($theme-button-stroke-width), 2));\n }\n\n // Creates separators\n &:where(:not(:last-child)) {\n .usa-button::before {\n border-right: 1px solid color(\"primary-dark\");\n bottom: 0;\n content: \"\";\n display: block;\n height: 100%;\n position: absolute;\n right: 1px;\n top: 0;\n width: 1px;\n z-index: 3;\n }\n\n .usa-button--secondary::before {\n border-right-color: color(\"secondary-dark\");\n }\n\n .usa-button--accent-cool::before {\n border-right-color: color(\"accent-cool-dark\");\n }\n\n .usa-button--base::before {\n border-right-color: color(\"base-dark\");\n }\n\n [class*=\"usa-button\"]:disabled::before,\n [class*=\"usa-button\"][aria-disabled=\"true\"]::before {\n border-right-color: color($theme-body-background-color);\n }\n\n .usa-button:active::before,\n .usa-button--outline::before {\n display: none;\n }\n }\n }\n}\n","@use \"uswds-core\" as *;\n\n// Buttons variables\n\n$button-context: \"Button\";\n$button-stroke: inset 0 0 0 units($theme-button-stroke-width);\n\n// Buttons\n.usa-button {\n @include border-box-sizing;\n @include typeset($theme-button-font-family, null, 1);\n @include set-text-and-bg(\"primary\", $context: $button-context);\n appearance: none;\n align-items: center;\n border: 0;\n border-radius: radius($theme-button-border-radius);\n cursor: pointer;\n column-gap: units($theme-button-icon-gap);\n display: inline-flex;\n font-weight: font-weight(\"bold\");\n justify-content: center;\n margin-right: units(1);\n padding: units(1.5) units(2.5);\n text-align: center;\n text-decoration: none;\n width: 100%;\n\n @include at-media(\"mobile-lg\") {\n width: auto;\n }\n\n &:visited {\n color: color(\"white\");\n }\n\n &:hover,\n &.usa-button--hover {\n @include set-text-and-bg(\"primary-dark\", $context: $button-context);\n border-bottom: 0;\n text-decoration: none;\n }\n\n &:active,\n &.usa-button--active {\n @include set-text-and-bg(\"primary-darker\", $context: $button-context);\n }\n\n &:not([disabled]):focus,\n &:not([disabled]).usa-focus {\n outline-offset: units(0.5);\n }\n\n &:disabled,\n &[aria-disabled=\"true\"] {\n @include button-disabled;\n }\n\n .usa-icon {\n flex-shrink: 0; // Avoid shrinking on small screens.\n }\n\n @media (forced-colors: active) {\n &:not(.usa-button--unstyled) {\n border: $border-high-contrast;\n }\n }\n}\n\n.usa-button--accent-cool {\n @include set-text-and-bg(\"accent-cool\", $context: $button-context);\n\n &:visited {\n @include set-text-and-bg(\"accent-cool\", $context: $button-context);\n }\n\n &:hover,\n &.usa-button--hover {\n @include set-text-and-bg(\"accent-cool-dark\", $context: $button-context);\n }\n\n &:active,\n &.usa-button--active {\n @include set-text-and-bg(\"accent-cool-darker\", $context: $button-context);\n }\n}\n\n.usa-button--accent-warm {\n @include set-text-and-bg(\"accent-warm\", $context: $button-context);\n\n &:visited {\n @include set-text-and-bg(\"accent-warm\", $context: $button-context);\n }\n\n &:hover,\n &.usa-button--hover {\n @include set-text-and-bg(\"accent-warm-dark\", $context: $button-context);\n }\n\n &:active,\n &.usa-button--active {\n @include set-text-and-bg(\"accent-warm-darker\", $context: $button-context);\n }\n}\n\n.usa-button--outline {\n background-color: color(\"transparent\");\n box-shadow: $button-stroke color(\"primary\");\n color: color(\"primary\");\n\n &:visited {\n color: color(\"primary\");\n }\n\n &:hover,\n &.usa-button--hover {\n background-color: color(\"transparent\");\n box-shadow: $button-stroke color(\"primary-dark\");\n color: color(\"primary-dark\");\n }\n\n &:active,\n &.usa-button--active {\n background-color: color(\"transparent\");\n box-shadow: $button-stroke color(\"primary-darker\");\n color: color(\"primary-darker\");\n }\n\n &.usa-button--inverse {\n $button-inverse-color: $theme-link-reverse-color;\n $button-inverse-hover-color: $theme-link-reverse-hover-color;\n $button-inverse-active-color: $theme-link-reverse-active-color;\n\n box-shadow: $button-stroke color(\"base-lighter\");\n color: color($button-inverse-color);\n\n &:visited {\n color: color($button-inverse-color);\n }\n\n &:hover,\n &.usa-button--hover {\n box-shadow: $button-stroke color($button-inverse-hover-color);\n color: color($button-inverse-hover-color);\n }\n\n &:active,\n &.usa-button--active {\n background-color: transparent;\n box-shadow: $button-stroke color($button-inverse-active-color);\n color: color($button-inverse-active-color);\n }\n\n &.usa-button--unstyled {\n @include button-unstyled;\n color: color($button-inverse-color);\n\n &:visited {\n color: color($button-inverse-color);\n }\n\n &:hover,\n &.usa-button--hover {\n color: color($button-inverse-hover-color);\n }\n\n &:active,\n &.usa-button--active {\n color: color($button-inverse-active-color);\n }\n }\n }\n}\n\n.usa-button--base {\n @include set-text-and-bg(\"base\", $context: $button-context);\n\n &:hover,\n &.usa-button--hover {\n @include set-text-and-bg(\"base-dark\", $context: $button-context);\n }\n\n &:active,\n &.usa-button--active {\n @include set-text-and-bg(\"base-darker\", $context: $button-context);\n }\n}\n\n.usa-button--secondary {\n @include set-text-and-bg(\"secondary\", $context: $button-context);\n\n &:hover,\n &.usa-button--hover {\n @include set-text-and-bg(\"secondary-dark\", $context: $button-context);\n }\n\n &:active,\n &.usa-button--active {\n @include set-text-and-bg(\"secondary-darker\", $context: $button-context);\n }\n}\n\n.usa-button--big {\n border-radius: radius($theme-button-border-radius);\n font-size: font-size($theme-button-font-family, \"lg\");\n padding: units(2) units(3);\n}\n\n// Cannot use disabled mixin due to transparent causing build errors with color grade check.\n.usa-button--outline:disabled,\n.usa-button--outline[aria-disabled=\"true\"],\n.usa-button--outline-inverse:disabled,\n.usa-button--outline-inverse[aria-disabled=\"true\"] {\n &,\n &:hover,\n &:active,\n &:focus {\n background-color: transparent;\n color: color(\"disabled\");\n }\n}\n\n.usa-button--outline:disabled,\n.usa-button--outline[aria-disabled=\"true\"] {\n box-shadow: $button-stroke color(\"disabled-lighter\");\n\n &.usa-button--inverse {\n box-shadow: $button-stroke color(\"disabled-light\");\n color: color(\"disabled-light\");\n\n @media (forced-colors: active) {\n color: color(GrayText);\n }\n }\n}\n\n.usa-button--unstyled {\n @include button-unstyled;\n}\n","@use \"../../functions/utilities/color\" as *;\n@use \"../../settings\" as *;\n@use \"../../variables/border-high-contrast\" as *;\n@use \"../helpers/set-text-and-bg.scss\" as *;\n\n/// Adds compliant disabled colors and cursor styles to elements to read as disabled.\n/// Falls back to standard disabled tokens if params fail color contrast check.\n///\n/// @param {String} $bg-color - Desired background color token.\n/// @param {String} $text-color - Desired text color token.\n///\n/// @output Theme adjusted disabled styles.\n///\n/// @example scss\n/// .foo {\n/// @include u-disabled(\"disabled-darker\", \"white\");\n/// }\n@mixin u-disabled($bg-color: \"disabled-lighter\", $text-color: \"disabled-dark\") {\n @include set-text-and-bg($bg-color, $text-color);\n\n cursor: not-allowed;\n opacity: 1; // Override disabled default opacity shift (Necessary for Chromium, iOS Safari)\n\n &:hover,\n &:active,\n &:focus,\n &.usa-focus {\n @include set-text-and-bg($bg-color, $text-color);\n }\n\n @media (forced-colors: active) {\n border: 0;\n color: color(GrayText);\n\n &:hover,\n &:active,\n &:focus,\n &.usa-focus {\n color: color(GrayText);\n }\n }\n}\n\n/// Adds high contrast border using the GrayText system token.\n///\n/// @output Border size, style, and color.\n///\n/// @example scss\n/// .foo {\n/// @include u-disabled-high-contrast-border;\n/// }\n///\n@mixin u-disabled-high-contrast-border {\n @media (forced-colors: active) {\n border: $border-high-contrast-disabled;\n }\n}\n","@use \"../utilities\" as *;\n\n@mixin button-disabled {\n @include u-disabled;\n\n &.usa-button--hover,\n &.usa-button--active {\n @include u-disabled;\n }\n\n &:not(.usa-button--unstyled) {\n @include u-disabled-high-contrast-border;\n }\n}\n","@use \"sass:math\";\n\n@use \"uswds-core\" as *;\n\n/* TODO:\n * Add a way to change the flag breakpoint as a modifier/class?\n */\n\n@mixin card-inner-radius {\n border-top-left-radius: calc(\n #{radius($theme-card-border-radius)} - #{units($theme-card-border-width)}\n );\n border-top-right-radius: calc(\n #{radius($theme-card-border-radius)} - #{units($theme-card-border-width)}\n );\n}\n\n@include override-prose {\n .usa-card-group {\n @include add-list-reset;\n }\n}\n\n.usa-card-group {\n @include u-display(\"flex\");\n @include u-flex(\"column\", \"wrap\", \"align-stretch\");\n @include u-margin-x(math.div($theme-card-gap, -2));\n\n @include at-media($theme-card-flag-min-width) {\n @include u-flex(\"row\");\n }\n}\n\n@include override-prose {\n .usa-card {\n @include u-margin-bottom($theme-card-margin-bottom + 1);\n @include u-maxw(\"none\"); // override prose scope\n\n &:last-child {\n @include u-margin-bottom(\n $theme-card-margin-bottom + 1\n ); // override prose scope\n }\n\n @include at-media(\"tablet\") {\n @include u-margin-bottom($theme-card-margin-bottom);\n\n &:last-child {\n @include u-margin-bottom(\n $theme-card-margin-bottom\n ); // override prose scope\n }\n }\n }\n}\n\n.usa-card__container {\n @include border-box-sizing;\n @include set-text-and-bg(\"white\");\n @include typeset($theme-card-font-family);\n @include u-border($theme-card-border-width, $theme-card-border-color);\n @include u-display(\"flex\");\n @include u-height(\"full\");\n @include u-flex(\"column\");\n @include u-margin-x(math.div($theme-card-gap, 2));\n @include u-position(\"relative\");\n @include u-radius($theme-card-border-radius);\n}\n\n.usa-card:not(.usa-card--flag) .usa-card__container > :only-child {\n @include u-padding($theme-card-padding-perimeter);\n}\n\n.usa-card .usa-card__img {\n @include u-display(\"block\");\n}\n\n// Header\n// ---------------------------------\n.usa-card__header {\n @include u-padding-top($theme-card-padding-perimeter);\n @include u-padding-x($theme-card-padding-perimeter);\n padding-bottom: math.div(units($theme-card-padding-y), 2);\n\n &:last-child {\n @include u-padding-bottom($theme-card-padding-perimeter);\n }\n}\n\n.usa-card__heading {\n @include typeset($theme-card-header-typeset);\n @include u-margin(0);\n}\n\n// Media\n// ---------------------------------\n.usa-card__media {\n @include u-order(\"first\");\n // IE 11\n // http://github.com/philipwalton/flexbugs/issues/75\n min-height: 1px;\n}\n\n.usa-card__img {\n @include card-inner-radius;\n @include u-bg(\"base-lightest\");\n @include u-position(\"relative\");\n overflow: hidden;\n\n img {\n @include u-display(\"block\");\n @include u-height(\"full\");\n @include u-width(\"full\");\n object-fit: cover;\n }\n}\n\n.usa-card__media--inset {\n @include u-padding-top($theme-card-padding-perimeter);\n @include u-padding-x($theme-card-padding-perimeter);\n\n .usa-card__img {\n @include u-radius(0);\n }\n}\n\n// Body\n// ---------------------------------\n.usa-card__body {\n @include u-flex(\"fill\");\n @include u-padding-x($theme-card-padding-perimeter);\n padding-bottom: math.div(units($theme-card-padding-y), 2);\n padding-top: math.div(units($theme-card-padding-y), 2);\n // IE 11\n flex-basis: auto;\n\n // adjust spacing if body lack siblings\n &:last-child {\n @include u-padding-bottom($theme-card-padding-perimeter);\n }\n\n &:first-child {\n @include u-padding-top($theme-card-padding-perimeter);\n }\n\n &:only-child {\n @include u-padding-y($theme-card-padding-perimeter);\n }\n}\n\n// Footer\n// ---------------------------------\n.usa-card__footer {\n @include u-padding-bottom($theme-card-padding-perimeter);\n @include u-padding-x($theme-card-padding-perimeter);\n padding-top: math.div(units($theme-card-padding-y), 2);\n}\n\n.usa-card__footer .usa-button:only-of-type {\n @include u-margin-right(0);\n}\n\n.usa-card__header,\n.usa-card__body {\n // strip spacing from first and last content\n > :last-child {\n @include u-padding-bottom(0);\n @include u-margin-bottom(0);\n }\n\n > :first-child {\n @include u-margin-top(0);\n @include u-padding-top(0);\n }\n\n > :only-child {\n @include u-margin-y(0);\n @include u-padding-y(0);\n }\n}\n\n// ---------------------------------\n// Variations\n// ---------------------------------\n\n// Exdent\n.usa-card__header--exdent,\n.usa-card__media--exdent,\n.usa-card__body--exdent,\n.usa-card__footer--exdent {\n margin-inline: units($theme-card-border-width) * -1;\n}\n\n.usa-card__header--exdent,\n.usa-card__body--exdent,\n.usa-card__footer--exdent {\n > * {\n @include u-padding-x($theme-card-border-width);\n }\n}\n\n.usa-card__media--exdent {\n margin-top: units($theme-card-border-width) * -1;\n\n .usa-card__img {\n @include u-radius-top($theme-card-border-radius);\n }\n}\n\n// Header first\n// ---------------------------------\n.usa-card--header-first {\n .usa-card__header {\n @include card-inner-radius;\n @include u-padding-bottom($theme-card-padding-y);\n }\n\n .usa-card__header--exdent {\n @include u-radius-top($theme-card-border-radius);\n margin-top: units($theme-card-border-width) * -1;\n }\n\n .usa-card__media--inset {\n @include u-padding-top(0);\n }\n\n .usa-card__media {\n @include u-order(0);\n\n &--exdent {\n @include u-margin-top(0);\n }\n }\n\n .usa-card__img {\n @include u-radius(0);\n }\n\n .usa-card__body {\n @include u-padding-top($theme-card-padding-y);\n }\n}\n\n.usa-card--flag {\n @include at-media($theme-card-flag-min-width) {\n .usa-card__media {\n @include u-display(\"flex\");\n @include u-overflow(\"hidden\");\n @include u-pin-y;\n @include u-pin-left;\n @include u-position(\"absolute\");\n @include u-width($theme-card-flag-image-width);\n }\n\n .usa-card__img {\n @include u-radius(0);\n border-top-left-radius: calc(\n #{radius($theme-card-border-radius)} -\n #{units($theme-card-border-width)}\n );\n border-bottom-left-radius: calc(\n #{radius($theme-card-border-radius)} -\n #{units($theme-card-border-width)}\n );\n }\n\n .usa-card__header,\n .usa-card__body,\n .usa-card__footer {\n @include u-margin-left($theme-card-flag-image-width);\n }\n\n .usa-card__media--exdent {\n margin: units($theme-card-border-width) * -1;\n\n .usa-card__img {\n @include u-radius-left($theme-card-border-radius);\n }\n }\n\n .usa-card__media--inset {\n @include u-padding-right(0);\n @include u-padding-bottom($theme-card-padding-perimeter);\n\n .usa-card__img {\n @include u-radius(0);\n }\n }\n\n &.usa-card--header-first {\n .usa-card__header {\n padding-bottom: math.div(units($theme-card-padding-y), 2);\n }\n\n .usa-card__body {\n padding-top: math.div(units($theme-card-padding-y), 2);\n }\n\n .usa-card__media--inset {\n @include u-padding-top($theme-card-padding-perimeter);\n }\n }\n\n &.usa-card--media-right {\n .usa-card__media {\n @include u-left(\"auto\");\n @include u-right(0);\n }\n\n .usa-card__media--inset {\n @include u-padding-left(0);\n @include u-padding-right($theme-card-padding-perimeter);\n\n .usa-card__img {\n @include u-radius(0);\n }\n }\n\n .usa-card__img {\n @include u-radius(0);\n border-top-right-radius: calc(\n #{radius($theme-card-border-radius)} -\n #{units($theme-card-border-width)}\n );\n border-bottom-right-radius: calc(\n #{radius($theme-card-border-radius)} -\n #{units($theme-card-border-width)}\n );\n }\n\n .usa-card__header,\n .usa-card__body,\n .usa-card__footer {\n @include u-margin-left(0);\n @include u-margin-right($theme-card-flag-image-width);\n }\n\n .usa-card__img {\n @include u-radius(0);\n @include u-radius-right($theme-card-border-radius);\n }\n }\n }\n}\n\n.usa-card:not(.usa-card--flag).usa-card__media--set-aspect {\n @include add-aspect(\"16x9\");\n @include u-position(\"relative\");\n\n .usa-card__img {\n @include u-pin-all;\n }\n}\n","@use \"sass:list\";\n@use \"../../functions\" as *;\n\n@mixin add-list-reset($value...) {\n $important: null;\n @if list.length($value) > 0 and has-important($value) {\n $value: remove($value, \"!important\");\n $important: \" !important\";\n }\n margin-bottom: 0#{$important};\n margin-top: 0#{$important};\n list-style-type: none#{$important};\n padding-left: 0#{$important};\n}\n\n@mixin list-reset($value...) {\n @include add-list-reset($value...);\n}\n","@use \"sass:list\";\n@use \"../../functions\" as *;\n\n// Outputs order\n\n@mixin u-order($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n order: get-uswds-value(\"order\", $value...) #{$important};\n}\n","@use \"sass:list\";\n@use \"../../functions\" as *;\n\n@mixin u-bg($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n background-color: color($value) #{$important};\n}\n","@use \"sass:list\";\n@use \"../../functions\" as *;\n\n// Outputs border-radius\n\n@mixin u-radius($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n border-radius: get-uswds-value(\"border-radius\", $value) #{$important};\n}\n\n@mixin u-radius-bottom($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n border-bottom-left-radius: get-uswds-value(\"border-radius\", $value)\n #{$important};\n border-bottom-right-radius: get-uswds-value(\"border-radius\", $value)\n #{$important};\n}\n\n@mixin u-radius-left($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n border-bottom-left-radius: get-uswds-value(\"border-radius\", $value)\n #{$important};\n border-top-left-radius: get-uswds-value(\"border-radius\", $value) #{$important};\n}\n\n@mixin u-radius-right($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n border-bottom-right-radius: get-uswds-value(\"border-radius\", $value)\n #{$important};\n border-top-right-radius: get-uswds-value(\"border-radius\", $value)\n #{$important};\n}\n\n@mixin u-radius-top($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n border-top-left-radius: get-uswds-value(\"border-radius\", $value) #{$important};\n border-top-right-radius: get-uswds-value(\"border-radius\", $value)\n #{$important};\n}\n","@use \"sass:list\";\n@use \"../../functions\" as *;\n\n// Outputs right\n\n@mixin u-left($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n left: get-uswds-value(\"left\", $value...) #{$important};\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"../../functions\" as *;\n@use \"../../variables\" as *;\n\n@mixin add-aspect-children {\n & > * {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n\n @at-root img#{&},\n & > img {\n object-fit: cover;\n }\n}\n\n@mixin add-aspect($ratio, $type: \"\") {\n $ratio: unpack($ratio);\n $important: null;\n\n @if has-important($ratio) {\n $ratio: list.nth($ratio, 1);\n $important: \"!important\";\n }\n\n @if map-has-key($project-aspect-ratios, $ratio) {\n box-sizing: border-box #{$important};\n height: 0 #{$important};\n overflow: hidden #{$important};\n padding-bottom: map.get($project-aspect-padding, $ratio) #{$important};\n position: relative;\n\n // Check for CSS aspect-ratio support\n @supports (aspect-ratio: 1) {\n //reset\n height: inherit #{$important};\n padding: inherit #{$important};\n // end reset\n aspect-ratio: map.get($project-aspect-ratios, $ratio);\n max-width: 100%;\n @include add-aspect-children;\n }\n } @else {\n @error '`#{$ratio}` is not a valid key in $project-aspect-ratios. Valid values: #{map.keys($project-aspect-ratios)}';\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-checklist {\n @include add-list-reset;\n @include border-box-sizing;\n @include typeset;\n}\n\n.usa-checklist__item {\n @include add-checkbox-placeholder;\n @include u-margin-y(0);\n margin-bottom: 0;\n margin-top: units(1);\n\n // Deprecate usa-checklist__item--checked once the js is updated\n &.usa-checklist__item--checked {\n @include add-success-mark;\n }\n}\n","@use \"../../functions\" as *;\n\n@mixin add-checkbox-placeholder {\n $placeholder-width: units(4);\n $placeholder-margin: units(1);\n\n text-indent: ($placeholder-width + $placeholder-margin) * -1;\n\n &::before {\n content: \" \";\n display: inline-block;\n height: units(2);\n margin-left: units(-0.5);\n margin-right: units(1.5);\n width: $placeholder-width;\n }\n}\n","@use \"./add-background-svg\" as *;\n@use \"../../functions\" as *;\n\n@mixin add-success-mark {\n &::before {\n @include add-background-svg(\"usa-icons-bg/check--blue-60v\");\n background-position: center;\n background-size: units(3);\n }\n}\n","@use \"uswds-core\" as *;\n\n$collection-thumb-width: 10;\n$collection-thumb-width-mobile: 8;\n$collection-thumb-margin: 2;\n\n@include override-prose {\n .usa-collection {\n @include typeset($theme-collection-font-family, \"sm\", 3);\n @include usa-list;\n @include u-padding-left(0);\n }\n\n .usa-collection__item {\n @include usa-list-item;\n @include unstyled-list;\n @include u-align-items(\"align-start\");\n @include u-border-top(1px);\n @include u-display(\"flex\");\n @include u-margin-y(2);\n @include u-padding-top(2);\n }\n}\n\n.usa-collection__img,\n.usa-collection__calendar-date {\n @include media-block-img;\n width: units($collection-thumb-width-mobile);\n margin-right: units($collection-thumb-margin);\n\n @include at-media(\"tablet\") {\n width: units($collection-thumb-width);\n }\n}\n\n.usa-collection__body {\n @include u-flex(1);\n}\n\n.usa-collection__heading {\n @include typeset($theme-collection-header-typeset);\n @include u-margin-bottom(0);\n @include u-margin-top(0);\n}\n\n.usa-collection__description {\n @include u-margin-y(1);\n}\n\n.usa-collection__meta {\n @include unstyled-list;\n @include u-margin-top(0.5);\n}\n\n.usa-collection__meta-item {\n @include u-margin-top(0.5);\n @include typeset(\"ui\", \"2xs\", 3);\n display: block;\n margin-right: units(1);\n\n &.usa-tag {\n @include u-bg(\"base-lighter\");\n @include u-line-height(\"ui\", 1);\n @include u-padding-y(0.5);\n @include u-text(\"ink\");\n display: inline-block;\n margin-top: units(0.5);\n\n &--new {\n @include u-bg(\"accent-warm-dark\");\n @include u-text(\"white\");\n }\n }\n}\n\n.usa-collection__calendar-date {\n text-decoration: none;\n}\n\n.usa-collection__calendar-date-month,\n.usa-collection__calendar-date-day {\n @include u-font(\"ui\", 6);\n display: block;\n font-weight: fw(\"bold\");\n padding: units(0.5);\n text-align: center;\n\n @include at-media(\"tablet\") {\n padding: units(1);\n }\n}\n\n.usa-collection__calendar-date-month {\n @include u-radius-top(\"sm\");\n background-color: color(\"primary\");\n color: color(\"white\");\n}\n\n.usa-collection__calendar-date-day {\n @include u-radius-bottom(\"sm\");\n border: 1px solid color(\"primary\");\n color: color(\"primary\");\n}\n\n.usa-collection--condensed {\n .usa-collection__item {\n @include u-margin-y(1);\n @include u-padding-top(1);\n }\n}\n","@use \"sass:list\";\n@use \"../../functions/general/unpack\" as *;\n@use \"../../functions/general/has-important\" as *;\n@use \"../../functions/output/get-uswds-value\" as *;\n\n// Outputs align-items\n\n@mixin u-align-items($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n align-items: get-uswds-value(\"align-items\", $value) #{$important};\n}\n","@use \"../../functions\" as *;\n\n@mixin media-block-img($margin-right: units(1)) {\n flex-shrink: 0;\n margin-right: $margin-right;\n}\n","@use \"uswds-core\" as *;\n\n.usa-embed-container {\n iframe,\n object,\n embed {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n}\n\n.usa-embed-container {\n @include add-aspect(\"16x9\");\n max-width: 100%;\n}\n","@use \"uswds-core\" as *;\n\n// Map for high contrast mode icons\n$-chevron-icon-defaults: (\n \"color\": currentColor,\n \"svg-height\": 20,\n \"svg-width\": 20,\n \"height\": units(2.5),\n);\n\n$-chevron-next: map-merge(\n $-chevron-icon-defaults,\n (\n \"name\": \"navigate_next\",\n )\n);\n\n$-chevron-expand-more: map-merge(\n $-chevron-icon-defaults,\n (\n \"name\": \"expand_more\",\n )\n);\n\n// General footer styles\n.usa-footer {\n @include border-box-sizing;\n @include typeset($theme-footer-font-family);\n\n > .grid-container {\n @include grid-container($theme-footer-max-width);\n }\n}\n.usa-footer__return-to-top {\n @include u-padding-y(2.5);\n line-height: line-height($theme-footer-font-family, 1);\n\n a {\n @include typeset-link;\n }\n}\n\n.usa-footer__nav {\n @include grid-container($theme-footer-max-width);\n @include u-padding-x(0);\n border-bottom: 1px solid color(\"base-light\");\n\n @include at-media(\"mobile-lg\") {\n @include add-responsive-site-margins;\n border-bottom: none;\n }\n\n > ul {\n @include add-list-reset;\n }\n}\n\n.usa-footer__primary-section {\n background-color: color(\"base-lightest\");\n\n > .grid-container {\n @include grid-container($theme-footer-max-width);\n }\n}\n\n.usa-footer__primary-container {\n @include grid-container($theme-footer-max-width);\n @include u-padding-x(0);\n\n @include at-media(\"desktop\") {\n @include u-padding-x(4);\n }\n}\n\n.usa-footer__primary-content {\n line-height: line-height($theme-footer-font-family, 2);\n}\n\n.usa-footer__primary-link {\n @include u-padding-x($theme-site-margins-mobile-width);\n @include u-padding-y(2);\n @include u-text(\"ink\", \"bold\");\n // Border reset for button variants of footer primary links.\n border: 0;\n border-top: 1px solid color(\"base-light\");\n display: block;\n\n @include at-media(\"mobile-lg\") {\n @include u-padding-x(0);\n border: none;\n }\n\n // Disclosure button functionality happens at mobile widths\n &--button {\n @include place-icon($-chevron-expand-more, \"before\", 0.5);\n width: 100%;\n cursor: pointer;\n\n &:not([disabled]):focus {\n // Apply negative focus offset to ensure that entire focus ring is visible\n @include focus-outline(null, null, null, \"neg-05\");\n }\n\n // Arrow for collapsible content.\n &::before {\n @include u-square(2.5);\n align-items: center;\n background-size: contain;\n content: \"\";\n display: inline-flex;\n justify-content: center;\n margin-right: units(0.5);\n margin-left: units(-0.5);\n\n @media (forced-colors: active) {\n background-color: buttonText !important;\n }\n }\n\n & + .usa-list--unstyled {\n margin-top: units(1);\n margin-bottom: units(1);\n }\n\n &[aria-expanded=\"false\"] {\n @include place-icon($-chevron-next, \"before\", 0.5);\n\n // Hide submenu when button is not expanded\n & + .usa-list--unstyled {\n display: none;\n }\n }\n }\n}\n\n.usa-footer__secondary-link {\n line-height: line-height($theme-footer-font-family, 2);\n margin-left: units(2);\n padding: 0;\n\n a {\n @include typeset-link;\n }\n\n & + .usa-footer__secondary-link {\n padding-top: units(2);\n }\n\n @include at-media(\"mobile-lg\") {\n margin-left: 0;\n }\n}\n\n.usa-footer__contact-info {\n line-height: line-height($theme-footer-font-family, 2);\n\n a {\n @include u-text(\"ink\");\n }\n\n @include at-media(\"mobile-lg\") {\n @include u-flex(\"justify-end\");\n margin-top: units(1);\n }\n}\n\n.usa-sign-up {\n padding-bottom: units(4);\n padding-top: units(3);\n\n .usa-label,\n .usa-button {\n margin-top: units(1.5);\n }\n}\n\n.usa-sign-up__heading {\n @include h3;\n margin: 0;\n}\n\n.usa-footer__secondary-section {\n @include u-padding-y(2.5);\n @include set-text-and-bg(\"base-lighter\");\n\n > .grid-container {\n @include grid-container($theme-footer-max-width);\n\n > .grid-row {\n justify-content: space-between;\n }\n }\n\n a {\n color: color(\"ink\");\n }\n}\n\n.usa-footer__logo {\n @include u-margin-y(1);\n\n @include at-media(\"mobile-lg\") {\n @include u-margin-y(0);\n @include u-flex(\"align-center\");\n }\n}\n\n.usa-footer__logo-img {\n max-width: units(10);\n}\n\n.usa-footer__logo-heading {\n @include typeset($theme-footer-font-family, $theme-h3-font-size, 1);\n @include u-font-weight(\"bold\");\n @include u-margin-y(1);\n}\n\n.usa-footer__contact-links {\n margin-top: units(3);\n\n @include at-media(\"mobile-lg\") {\n margin-top: 0;\n text-align: right;\n }\n}\n\n.usa-footer__contact-heading {\n @include typeset(\n $theme-footer-font-family,\n $theme-h3-font-size,\n $theme-heading-line-height\n );\n @include u-font-weight(\"bold\");\n margin-top: 0;\n\n @include at-media(\"mobile-lg\") {\n @include u-margin-y(0.5);\n }\n}\n\n.usa-footer__social-links {\n line-height: line-height($theme-footer-font-family, 1);\n padding-bottom: units(1);\n\n a {\n text-decoration: none;\n }\n\n @include at-media(\"mobile-lg\") {\n @include u-flex(\"justify-end\");\n }\n}\n\n.usa-social-link {\n @include u-square($size-touch-target);\n background-color: color(\"black-transparent-10\");\n display: inline-block;\n padding: units(0.5);\n\n &:hover {\n background-color: color(\"white\");\n }\n\n @media (forced-colors: active) {\n background-color: lightgrey;\n forced-color-adjust: none;\n }\n}\n\n.usa-social-link__icon {\n display: block;\n height: auto;\n width: 100%;\n}\n\n.usa-footer__address {\n @include at-media(\"mobile-lg\") {\n @include u-flex(\"justify-end\");\n }\n}\n\n// Slim footer styles\n\n.usa-footer--slim {\n .usa-footer__nav {\n @include at-media(\"desktop\") {\n @include u-padding-x(0);\n }\n }\n\n .usa-footer__address {\n @include u-padding-x($theme-site-margins-mobile-width);\n @include u-padding-y(2);\n\n @include at-media(\"mobile-lg\") {\n @include u-padding(0);\n }\n }\n\n .usa-footer__logo {\n @include u-flex(\"align-center\");\n }\n\n .usa-footer__logo-img {\n max-width: units(6);\n }\n\n .usa-footer__contact-info {\n display: inline-block;\n\n @include at-media(\"mobile-lg\") {\n @include u-padding-y(2);\n margin-top: 0;\n }\n }\n}\n\n// Big footer styles\n\n.usa-footer--big {\n .usa-footer__nav {\n @include u-margin-x($theme-site-margins-mobile-width * -1);\n @include at-media(\"mobile-lg\") {\n border-bottom: 1px solid color(\"base-light\");\n padding-top: units(4);\n }\n @include at-media(\"tablet\") {\n @include u-margin-x(0);\n @include u-padding-x(0);\n border-bottom: none;\n }\n }\n\n .usa-footer__primary-link {\n @include h4;\n line-height: line-height(\"heading\", 2);\n margin: 0;\n\n @include at-media(\"mobile-lg\") {\n @include u-padding-y(0);\n margin-bottom: units(1);\n\n &:hover {\n cursor: auto;\n text-decoration: none;\n }\n }\n }\n\n .usa-footer__primary-content--collapsible {\n .usa-footer__primary-link {\n align-items: center;\n display: flex;\n justify-content: flex-start;\n }\n\n .usa-list--unstyled {\n @include u-padding-x($theme-site-margins-mobile-width);\n padding-bottom: units(2.5);\n\n @include at-media(\"mobile-lg\") {\n @include u-padding-x(0);\n padding-bottom: units(4);\n padding-top: units(1.5);\n }\n }\n }\n}\n","@use \"sass:list\";\n@use \"../../functions\" as *;\n\n// Outputs line-height\n\n@mixin u-font-weight($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n font-weight: get-uswds-value(\"font-weight\", $value...) #{$important};\n}\n","@use \"uswds-core\" as *;\n\n.usa-form {\n @include typeset(\n $theme-form-font-family,\n $theme-body-font-size,\n $theme-input-line-height\n );\n @include border-box-sizing;\n\n @include at-media(\"mobile-lg\") {\n max-width: units(\"mobile\");\n }\n\n // Don't show dotted underline with \"required\" asterisk because it can cause legibility issues ad appear as an ellipsis...\n abbr[title=\"required\"] {\n text-decoration: none;\n }\n\n // Clear max-width in children since .usa-form has one of its own.\n // Used :where() to reduce specificity and\n // prevent usa-form styles from overriding `usa-input--[width] and `usa-input-group--[width]` classes.\n :where(.usa-input, .usa-textarea, .usa-select, .usa-range) {\n max-width: none;\n }\n\n .usa-button {\n margin-top: units(1);\n\n @include at-media(\"mobile-lg\") {\n margin-top: units(3);\n }\n }\n\n // Avoids links styled as buttons\n a:where(:not(.usa-button)) {\n @include typeset-link;\n }\n}\n\n.usa-form--large {\n @include at-media(\"mobile-lg\") {\n max-width: units(\"mobile-lg\");\n }\n}\n\n.usa-show-password {\n @include button-unstyled;\n cursor: pointer;\n}\n\n.usa-form__note,\n.usa-show-password {\n @include typeset($theme-form-font-family, \"2xs\", 3);\n float: right;\n margin: units(0.5) 0 units(2);\n}\n","@use \"uswds-core\" as *;\n\n// A collection of media block objects\n\n.usa-graphic-list {\n @include typeset;\n @include border-box-sizing;\n\n .usa-graphic-list__row {\n .usa-media-block {\n margin-bottom: units(4);\n\n @include at-media(\"tablet\") {\n margin-bottom: units(8);\n }\n }\n\n &:last-child {\n .usa-media-block {\n @include at-media(\"tablet\") {\n margin-bottom: 0;\n }\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n }\n }\n\n .usa-media-block__img {\n margin-right: units(3);\n }\n\n .usa-media-block__body {\n > :first-child {\n margin-top: 0;\n }\n }\n}\n\n.usa-graphic-list__heading {\n @include typeset-h3;\n}\n","@use \"uswds-core\" as *;\n\n// Header helpers\n// ---------------------------------\n\n@mixin nav-border-extended {\n @include add-bar(0.5, \"primary\", \"bottom\", 0, 2);\n}\n\n@mixin nav-border-basic {\n @include add-bar(0.5, \"primary\", \"bottom\", 0, 2, -0.5);\n}\n\n$z-index-header: 300;\n$z-index-overlay: 400;\n\n// Header\n// ---------------------------------\n\n.usa-header {\n @include clearfix;\n @include typeset($theme-header-font-family);\n @include border-box-sizing;\n\n a {\n border-bottom: none;\n }\n\n // The search
\n .usa-search {\n margin-top: units(1);\n @include at-media($theme-header-min-width) {\n float: right;\n }\n }\n\n // Accessibility: The
with search role\n [role=\"search\"] {\n @include at-media($theme-header-min-width) {\n float: right;\n max-width: calc(\n #{$theme-search-min-width} + #{units($theme-button-small-width)}\n );\n width: 100%;\n }\n }\n\n // The search \n [type=\"search\"] {\n min-width: 0; // Fix a Firefox display quirk\n }\n\n + .usa-hero {\n @include at-media($theme-header-min-width) {\n border-top: units(1px) solid color(\"white\");\n }\n }\n\n + .usa-section,\n + main {\n @include at-media($theme-header-min-width) {\n border-top: units(1px) solid color(\"base-lighter\");\n }\n }\n}\n\n.usa-logo {\n @include at-media-max($theme-header-min-width) {\n @include u-flex(\"fill\");\n font-size: font-size($theme-header-font-family, \"2xs\");\n line-height: line-height($theme-header-font-family, 1);\n margin-left: units($theme-site-margins-mobile-width);\n }\n\n @include at-media($theme-header-min-width) {\n margin-top: units(4);\n margin-bottom: units(2);\n font-size: font-size($theme-header-font-family, \"lg\");\n line-height: line-height($theme-header-font-family, 2);\n }\n\n a {\n color: color(\"ink\");\n text-decoration: none;\n }\n}\n\n.usa-logo__text {\n display: block;\n font-style: normal;\n font-weight: font-weight(\"bold\");\n margin: 0;\n}\n\n.usa-menu-btn {\n @include button-unstyled;\n @include u-flex(\"auto\");\n @include u-padding-x(1.5);\n background-color: color(\"primary\");\n color: color(\"white\");\n font-size: font-size($theme-header-font-family, \"3xs\");\n height: units($size-touch-target);\n text-align: center;\n text-decoration: none;\n text-transform: uppercase;\n\n @include at-media($theme-header-min-width) {\n display: none;\n }\n\n &:hover {\n background-color: color(\"primary-dark\");\n color: color(\"white\");\n text-decoration: none;\n }\n\n &:active {\n color: color(\"white\");\n }\n\n &:visited {\n color: color(\"white\");\n }\n}\n\n.usa-overlay {\n @include u-pin(\"all\");\n position: fixed;\n background: color(\"black-transparent-70\");\n opacity: opacity(0);\n transition: opacity $project-easing;\n visibility: hidden;\n z-index: z-index($z-index-overlay);\n\n &.is-visible {\n opacity: opacity(100);\n visibility: visible;\n }\n}\n\n// usa-header--basic\n// ---------------------------------\n\n.usa-header--basic {\n @include at-media($theme-header-min-width) {\n .usa-navbar {\n position: relative;\n width: $theme-header-logo-text-width; // TODO: review this more\n }\n\n .usa-nav {\n @include u-flex(\"row\", \"align-center\", \"justify-end\");\n display: flex;\n padding: 0 0 units(1) units(1);\n width: 100%;\n }\n\n .usa-nav-container {\n @include u-flex(\"align-end\", \"justify\");\n display: flex;\n }\n\n .usa-nav__primary-item > .usa-current,\n .usa-nav__link:hover {\n @include nav-border-basic;\n }\n\n // Don't show extended border if dropdown is active.\n .usa-nav__link[aria-expanded=\"true\"]::after,\n .usa-nav__link[aria-expanded=\"true\"]:hover::after {\n display: none;\n }\n\n .usa-nav__primary {\n width: auto;\n }\n\n // Issue #3401: last dropdown gets cutoff.\n .usa-nav__primary-item:last-of-type {\n position: relative;\n\n .usa-nav__submenu {\n @include u-pin-right;\n }\n }\n\n .usa-search {\n top: 0;\n }\n }\n\n &.usa-header--megamenu {\n .usa-nav__inner {\n display: flex;\n flex-direction: column;\n\n @include at-media($theme-header-min-width) {\n display: block;\n float: right;\n margin-top: units(-5);\n }\n }\n\n .usa-nav__primary-item:last-of-type {\n @include at-media($theme-header-min-width) {\n position: static;\n }\n }\n }\n}\n\n// usa-header--extended\n// ---------------------------------\n\n.usa-header--extended {\n @include at-media($theme-header-min-width) {\n padding-top: 0;\n\n .usa-nav__primary-item > .usa-current,\n .usa-nav__primary-item > .usa-nav__link:hover {\n @include nav-border-extended;\n }\n\n // Don't show extended border if dropdown is active.\n .usa-nav__link[aria-expanded=\"true\"]::after,\n .usa-nav__link[aria-expanded=\"true\"]:hover::after {\n display: none;\n }\n }\n\n .usa-logo {\n @include at-media($theme-header-min-width) {\n font-size: font-size($theme-header-font-family, \"xl\");\n margin: units(4) 0 units(3);\n max-width: $theme-header-logo-text-width;\n }\n }\n\n .usa-navbar {\n @include at-media($theme-header-min-width) {\n @include grid-container($theme-header-max-width);\n display: block;\n height: auto;\n overflow: auto;\n }\n }\n\n .usa-nav {\n @include at-media($theme-header-min-width) {\n border-top: units(1px) solid color(\"base-lighter\");\n padding: 0;\n width: 100%;\n }\n }\n\n .usa-nav__inner {\n @include at-media($theme-header-min-width) {\n @include grid-container($theme-header-max-width);\n position: relative;\n }\n }\n\n .usa-nav__primary {\n @include at-media($theme-header-min-width) {\n @include clearfix;\n margin-left: units(-2);\n }\n }\n\n .usa-nav__link {\n @include at-media($theme-header-min-width) {\n @include u-padding-y(2);\n }\n }\n\n .usa-nav__submenu {\n .usa-grid-full {\n @include at-media($theme-header-min-width) {\n padding-left: units(1.5);\n }\n }\n }\n\n .usa-nav__submenu.usa-megamenu {\n @include at-media($theme-header-min-width) {\n left: 0;\n padding-left: units($theme-site-margins-width);\n padding-right: units($theme-site-margins-width);\n }\n }\n}\n\n// [uswds-init.js] Offscreen content while js is loading\nhtml.usa-js-loading {\n .usa-nav__submenu,\n .usa-nav__submenu.usa-megamenu {\n @include add-sr-only;\n }\n}\n","@mixin clearfix {\n &::after {\n clear: both;\n content: \"\";\n display: block;\n }\n}\n","@use \"settings-general\" as general;\n\n/*\n* * * * * ==============================\n* * * * * ==============================\n* * * * * ==============================\n* * * * * ==============================\n========================================\n========================================\n========================================\n----------------------------------------\nCOMPONENT SETTINGS\n----------------------------------------\nRead more about settings and\nUSWDS style tokens in the documentation:\nhttps://designsystem.digital.gov/design-tokens\n----------------------------------------\n*/\n\n// Accordion\n$theme-accordion-background-color: \"default\" !default;\n$theme-accordion-border-color: \"base-lightest\" !default;\n$theme-accordion-border-width: 0.5 !default;\n$theme-accordion-button-background-color: \"base-lightest\" !default;\n$theme-accordion-font-family: \"body\" !default;\n\n// Alert\n$theme-alert-bar-width: 1 !default;\n$theme-alert-font-family: \"ui\" !default;\n$theme-alert-icon-size: 4 !default;\n$theme-alert-padding-x: 2.5 !default;\n$theme-alert-padding-y: 2 !default;\n$theme-alert-text-color: default !default;\n$theme-alert-text-reverse-color: default !default;\n$theme-alert-link-color: default !default;\n$theme-alert-link-reverse-color: default !default;\n\n// Banner\n$theme-banner-background-color: \"base-lightest\" !default;\n$theme-banner-font-family: \"ui\" !default;\n$theme-banner-link-color: default !default;\n$theme-banner-max-width: \"desktop\" !default;\n\n// Breadcrumb\n$theme-breadcrumb-background-color: \"default\" !default;\n$theme-breadcrumb-font-size: \"sm\" !default;\n$theme-breadcrumb-font-family: \"body\" !default;\n$theme-breadcrumb-link-color: default !default;\n$theme-breadcrumb-min-width: \"mobile-lg\" !default;\n$theme-breadcrumb-padding-bottom: 2 !default;\n$theme-breadcrumb-padding-top: 2 !default;\n$theme-breadcrumb-padding-x: 0 !default;\n$theme-breadcrumb-separator-color: \"base\" !default;\n\n// Button\n$theme-button-border-radius: \"md\" !default;\n$theme-button-font-family: \"ui\" !default;\n$theme-button-icon-gap: 1 !default;\n$theme-button-small-width: 6 !default;\n$theme-button-stroke-width: 2px !default;\n\n// Card\n$theme-card-border-color: \"base-lighter\" !default;\n$theme-card-border-radius: \"lg\" !default;\n$theme-card-border-width: 2px !default;\n$theme-card-gap: 2 !default;\n$theme-card-flag-min-width: \"tablet\" !default;\n$theme-card-flag-image-width: \"card-lg\" !default;\n$theme-card-font-family: \"body\" !default;\n$theme-card-header-typeset: \"heading\", \"lg\", 2 !default;\n$theme-card-margin-bottom: 4 !default;\n$theme-card-padding-perimeter: 3 !default;\n$theme-card-padding-y: 2 !default;\n\n// Collection\n$theme-collection-font-family: \"ui\" !default;\n$theme-collection-header-typeset: \"ui\", \"md\", 3 !default;\n\n// Footer\n$theme-footer-font-family: \"body\" !default;\n$theme-footer-max-width: \"desktop\" !default;\n\n// Form and input\n$theme-checkbox-border-radius: \"sm\" !default;\n$theme-form-font-family: \"ui\" !default;\n$theme-input-background-color: default !default;\n$theme-input-line-height: 3 !default;\n$theme-input-max-width: \"mobile-lg\" !default;\n$theme-input-select-border-width: 2px !default;\n$theme-input-select-size: 2.5 !default;\n$theme-input-state-border-width: 0.5 !default;\n$theme-input-tile-border-radius: \"md\" !default;\n$theme-input-tile-border-width: 2px !default;\n\n// Header\n$theme-header-font-family: \"ui\" !default;\n$theme-header-logo-text-width: 33% !default;\n$theme-header-max-width: \"desktop\" !default;\n$theme-header-min-width: \"desktop\" !default;\n\n// Hero\n$theme-hero-image: \"#{general.$theme-image-path}/hero.jpg\" !default;\n\n// Icon List\n$theme-icon-list-font-family: \"body\" !default;\n$theme-icon-list-title-font-family: \"heading\" !default;\n\n// Identifier\n$theme-identifier-background-color: \"base-darkest\" !default;\n$theme-identifier-font-family: \"ui\" !default;\n$theme-identifier-identity-domain-color: \"base-light\" !default;\n$theme-identifier-max-width: \"desktop\" !default;\n$theme-identifier-primary-link-color: default !default;\n$theme-identifier-secondary-link-color: \"base-light\" !default;\n\n// In-Page Navigation\n$theme-in-page-nav-background-color: \"default\" !default;\n$theme-in-page-nav-background-padding: 2 !default;\n$theme-in-page-nav-background-radius: \"lg\" !default;\n$theme-in-page-nav-bar-color: \"default\" !default;\n$theme-in-page-nav-bar-width: \"05\" !default;\n$theme-in-page-nav-font-family: \"ui\" !default;\n$theme-in-page-nav-link-color: \"default\" !default;\n$theme-in-page-nav-main-content-max-width: \"desktop\" !default;\n$theme-in-page-nav-margin-left: 4 !default;\n$theme-in-page-nav-margin-top: 2.5 !default;\n$theme-in-page-nav-top: 4 !default;\n\n// Link\n$theme-external-link-sr-label-tab-new: \"External, opens in a new tab.\" !default;\n$theme-external-link-sr-label-tab-same: \"External.\" !default;\n\n// Modal\n$theme-modal-border-radius: \"lg\" !default;\n$theme-modal-default-max-width: \"mobile-lg\" !default;\n$theme-modal-lg-content-max-width: \"tablet\" !default;\n$theme-modal-lg-max-width: \"tablet-lg\" !default;\n\n// Pagination\n$theme-pagination-background-color: \"default\" !default;\n$theme-pagination-breakpoint: \"tablet\" !default;\n$theme-pagination-button-border-radius: \"md\" !default;\n$theme-pagination-button-border-width: 1px !default;\n$theme-pagination-font-family: \"ui\" !default;\n\n// Process List\n$theme-process-list-counter-background-color: \"white\" !default;\n$theme-process-list-counter-border-color: \"ink\" !default;\n$theme-process-list-counter-border-width: 0.5 !default;\n$theme-process-list-counter-font-family: \"ui\" !default;\n$theme-process-list-counter-font-size: \"lg\" !default;\n$theme-process-list-counter-gap-color: \"white\" !default;\n$theme-process-list-counter-gap-width: 0.5 !default;\n$theme-process-list-counter-size: 5 !default;\n$theme-process-list-counter-text-color: \"ink\" !default;\n$theme-process-list-connector-color: \"primary-lighter\" !default;\n$theme-process-list-connector-width: 1 !default;\n$theme-process-list-font-family: \"ui\" !default;\n$theme-process-list-font-size: \"sm\" !default;\n$theme-process-list-heading-color: \"ink\" !default;\n$theme-process-list-heading-font-family: \"ui\" !default;\n$theme-process-list-heading-font-size: \"lg\" !default;\n\n// Navigation\n$theme-navigation-font-family: \"ui\" !default;\n$theme-megamenu-columns: 3 !default;\n\n// Search\n$theme-search-font-family: \"ui\" !default;\n$theme-search-min-width: 27ch !default;\n\n// Sidenav\n$theme-sidenav-current-border-width: 0.5 !default;\n$theme-sidenav-font-family: \"ui\" !default;\n$theme-sidenav-reorder: false !default;\n\n// Site Alert\n$theme-site-alert-max-width: \"desktop\" !default;\n\n// Step indicator\n$step-indicator-background-color: \"white\" !default;\n$theme-step-indicator-counter-gap: 0.5 !default;\n$theme-step-indicator-counter-border-width: 0.5 !default;\n$theme-step-indicator-font-family: \"ui\" !default;\n$theme-step-indicator-heading-color: \"ink\" !default;\n$theme-step-indicator-heading-font-family: \"ui\" !default;\n$theme-step-indicator-heading-font-size: \"lg\" !default;\n$theme-step-indicator-heading-font-size-small: \"md\" !default;\n$theme-step-indicator-label-font-size: \"sm\" !default;\n$theme-step-indicator-min-width: \"tablet\" !default;\n$theme-step-indicator-segment-color-pending: \"gray-40\" !default;\n$theme-step-indicator-segment-color-complete: \"primary-darker\" !default;\n$theme-step-indicator-segment-color-current: \"primary\" !default;\n$theme-step-indicator-segment-gap: 2px !default;\n$theme-step-indicator-segment-height: 1 !default;\n$theme-step-indicator-text-pending-color: \"base-dark\" !default;\n\n// Summary box\n$theme-summary-box-background-color: \"info-lighter\" !default;\n$theme-summary-box-border-color: \"info-light\" !default;\n$theme-summary-box-border-width: 1px !default;\n$theme-summary-box-border-radius: \"md\" !default;\n$theme-summary-box-font-family: \"ui\" !default;\n$theme-summary-box-link-color: default !default;\n$theme-summary-box-text-color: default !default;\n\n// Table\n$theme-table-background-color: default !default;\n$theme-table-border-color: \"ink\" !default;\n$theme-table-header-background-color: \"base-lighter\" !default;\n$theme-table-header-text-color: default !default;\n$theme-table-stripe-background-color: \"base-lightest\" !default;\n$theme-table-stripe-text-color: default !default;\n$theme-table-text-color: default !default;\n$theme-table-sorted-header-background-color: \"accent-cool-light\" !default;\n$theme-table-sorted-background-color: \"accent-cool-lighter\" !default;\n$theme-table-sorted-stripe-background-color: \"blue-cool-10v\" !default;\n$theme-table-sorted-icon-color: default !default;\n$theme-table-sticky-top-offset: -1px !default;\n$theme-table-unsorted-icon-color: \"base\" !default;\n\n// Tooltips\n$theme-tooltip-background-color: \"ink\" !default;\n$theme-tooltip-font-color: \"base-lightest\" !default;\n$theme-tooltip-font-size: \"xs\" !default;\n","@use \"../../functions\" as *;\n\n@mixin add-bar(\n $weight: 1,\n $color: \"ink\",\n $side: \"left\",\n $radius: 0,\n $offset-x: 0,\n $offset-y: 0\n) {\n $weight: if($weight == null, 1, $weight);\n $color: if($color == null, \"ink\", $color);\n $side: if($side == null, \"left\", $side);\n $radius: if($radius == null, 0, $radius);\n $offset-x: if($offset-x == null, 0, $offset-x);\n $offset-y: if($offset-y == null, 0, $offset-y);\n\n position: relative;\n\n &::after {\n background-color: color($color);\n border-radius: radius($radius);\n content: \"\";\n display: block;\n position: absolute;\n\n @if $side == (\"left\" or \"right\") {\n bottom: units($offset-y);\n top: units($offset-y);\n width: units($weight);\n #{unquote($side)}: units($offset-x);\n } @else {\n height: units($weight);\n left: units($offset-x);\n right: units($offset-x);\n #{unquote($side)}: units($offset-y);\n\n @media (forced-colors: active) {\n background-color: ButtonText;\n }\n }\n }\n}\n\n@mixin remove-bar {\n &::after {\n display: none;\n }\n}\n","@use \"sass:math\";\n@use \"sass:meta\";\n@use \"uswds-core\" as *;\n\n// Calculate the width of the outer megamenu pseudo elements\n@mixin outer-megamenu($header-max-width: $theme-header-max-width, $type) {\n @include u-pin(\"y\");\n background-color: color(\"primary-darker\");\n content: \"\";\n display: block;\n position: absolute;\n\n // Set variable for submenu max width\n $mw: smart-quote($header-max-width);\n @if meta.type-of($header-max-width) == \"string\" {\n // Retrieve the unit equivalent for submenu max width\n $mw: units($header-max-width);\n }\n\n // Create the vw equivalent for max-width:none\n @if $header-max-width == \"none\" {\n $mw: 100vw;\n }\n\n // Calculate pseudo element width\n // Subtract half the submenu width from half the viewport width\n @if $type == \"standard\" {\n // Add theme margin width to match padding in .usa-nav-container\n width: calc(50vw - $mw / 2 + units($theme-site-margins-width));\n } @else if $type == \"extended\" {\n width: calc(50vw - $mw / 2);\n }\n}\n\n.usa-megamenu {\n .usa-col {\n // Flex grow to take up available width.\n // Flex shrink so long nav lines don't extend beyond viewport.\n // Finally `flex-basis: auto` for IE11.\n flex: 1 1 auto;\n\n @include at-media($theme-header-min-width) {\n // needs this round() to avoid a compile bug\n @include u-flex(math.round(math.div(12, $theme-megamenu-columns)));\n\n .usa-nav__submenu-item a {\n @include u-padding-x(1);\n }\n\n // Remove padding from first and last columns on desktop view.\n &:first-child .usa-nav__submenu-item a {\n padding-left: 0;\n }\n &:last-child .usa-nav__submenu-item a {\n padding-right: 0;\n }\n }\n }\n}\n\n.usa-megamenu.usa-nav__submenu {\n @include at-media($theme-header-min-width) {\n @include u-padding-x(0);\n @include u-padding-y(4);\n left: -$theme-header-logo-text-width;\n right: 0;\n width: auto;\n }\n\n &::before {\n @include at-media($theme-header-min-width) {\n @include outer-megamenu($type: \"standard\");\n right: 100%;\n }\n }\n\n &::after {\n @include at-media($theme-header-min-width) {\n @include outer-megamenu($type: \"standard\");\n left: 100%;\n }\n }\n}\n\n.usa-header--extended .usa-megamenu.usa-nav__submenu {\n &::before {\n @include at-media($theme-header-min-width) {\n @include outer-megamenu($type: \"extended\");\n }\n }\n\n &::after {\n @include at-media($theme-header-min-width) {\n @include outer-megamenu($type: \"extended\");\n }\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-nav-container {\n @include at-media($theme-header-min-width) {\n @include clearfix;\n @include grid-container($theme-header-max-width);\n @include u-padding-x($theme-site-margins-width);\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-navbar {\n @include border-box-sizing;\n height: units($size-touch-target);\n\n @include at-media-max($theme-header-min-width) {\n @include u-flex(\"align-center\");\n border-bottom: units(1px) solid color(\"base-lighter\");\n display: flex;\n }\n\n @include at-media($theme-header-min-width) {\n border-bottom: none;\n display: inline-block;\n height: auto;\n }\n}\n","@use \"uswds-core\" as *;\n\n// Hero feature\n// ==========================\n\n.usa-hero {\n @include border-box-sizing;\n @include typeset;\n background-image: url(\"#{$theme-hero-image}\");\n background-position: center;\n background-size: cover;\n color: color(\"white\");\n\n > .grid-container {\n position: relative;\n @include u-padding-y($theme-site-margins-width);\n }\n}\n\n.usa-hero__callout {\n background-color: color(\"primary-darker\");\n padding: units(4);\n\n @include at-media(\"tablet\") {\n max-width: units(\"mobile\");\n }\n}\n\n.usa-hero__heading {\n @include typeset-h2;\n color: color(\"accent-cool\");\n line-height: line-height(\"heading\", 2);\n}\n\n.usa-hero__heading--alt {\n color: color(\"white\");\n display: block;\n}\n","@use \"sass:map\";\n\n@use \"uswds-core\" as *;\n\n// Variables\n\n// Size icons based on the theme-type-scale-[size] number and this factor\n$icon-list-icon-size-factor: 1.5;\n// Center the icon to the title text, works for all size variants\n$icon-list-icon-margin-top: -1.5%;\n// Fine tune the space between the icon and content with this factor\n$icon-list-icon-padding-left-factor: 0.4;\n// Fine tune the title top padding given a line height of lh-2\n$icon-list-title-padding-top: 0.425ex;\n\n$type-scale: font-size($theme-icon-list-font-family, $theme-body-font-size);\n\n// Get fixed size for icon, based on non-normalized size token\n$this-system-token: if(\n map.has-key($all-type-scale, $theme-body-font-size),\n map.get($all-type-scale, $theme-body-font-size),\n $theme-body-font-size\n);\n\n$icon-size: px-to-rem($this-system-token);\n\n@include override-prose {\n .usa-icon-list {\n @include typeset($theme-icon-list-font-family, $theme-body-font-size);\n @include unstyled-list;\n @include u-measure(5);\n }\n\n .usa-icon-list__item {\n display: flex;\n position: relative;\n\n & + .usa-icon-list__item {\n padding-top: units(1.5);\n }\n }\n}\n\n// Allow setting icon color on the icon-list element\n.usa-icon-list {\n @each $color, $grades in $all-project-colors {\n @each $grade, $value in $grades {\n @if $value {\n $prefix: if($grade != \"default\", \"#{$color}-#{$grade}\", $color);\n &--#{$prefix} {\n .usa-icon-list__icon {\n color: color($prefix);\n }\n }\n }\n }\n }\n}\n\n.usa-icon-list__icon {\n .usa-icon {\n // Set the height and width of the icon based on the size variant and factor\n // Doesn't use u-square() because of non-token size\n display: block;\n height: $icon-size * $icon-list-icon-size-factor;\n // margin-top: $icon-list-icon-margin-top;\n position: relative;\n width: $icon-size * $icon-list-icon-size-factor;\n }\n}\n\n// Don't resize any block-level element inside content\n.usa-icon-list__content {\n > p,\n > ul,\n > ol {\n @include u-font($theme-icon-list-font-family, $theme-body-font-size);\n @include u-measure(5);\n }\n}\n\n.usa-icon-list[class*=\"usa-icon-list--size-\"] {\n @include u-measure(\"none\");\n}\n\n// Generate responsive variants\n// Create a map for looping that includes a default or no-breakpoint version\n$this-null: (\n \"none\": null,\n);\n$icon-list-breakpoints: map-merge($this-null, $system-breakpoints);\n@each $mq-key, $mq-value in $icon-list-breakpoints {\n // Set the prefix\n // An empty string if \"none\"\n $prefix: false;\n @if $mq-key == \"none\" {\n $prefix: \"\";\n }\n // Or the standard prefix if the breakpoint is output\n @else if map.get($theme-utility-breakpoints-complete, $mq-key) {\n $prefix: \"#{$mq-key}#{$separator}\";\n }\n\n @include at-media($mq-key) {\n @each $token, $val in $all-type-scale {\n @if $prefix {\n $this-type-scale: font-size($theme-icon-list-font-family, $token);\n .#{$prefix}usa-icon-list--size-#{$token} {\n .usa-icon-list__icon {\n .usa-icon {\n // Set the height and width of the icon based on the size variant and factor\n height: $this-type-scale * $icon-list-icon-size-factor;\n width: $this-type-scale * $icon-list-icon-size-factor;\n }\n }\n\n .usa-icon-list__content {\n @include u-measure(5);\n // Resize simple (un-marked up) content\n font-size: size($theme-icon-list-font-family, $token);\n // Calculate the space between the icon and content based on the size variant and factor\n padding-left: $this-type-scale *\n $icon-list-icon-padding-left-factor;\n\n .usa-icon-list__title {\n @include u-font($theme-icon-list-title-font-family, $token);\n }\n }\n }\n }\n }\n }\n}\n\n.usa-icon-list__title {\n @include typeset(\n $theme-icon-list-title-font-family,\n $theme-body-font-size,\n 2\n );\n margin-bottom: units(0);\n padding-top: $icon-list-title-padding-top;\n & + * {\n margin-top: units(1);\n }\n}\n\n.usa-icon-list__content {\n font-size: $type-scale;\n padding-left: $type-scale * $icon-list-icon-padding-left-factor;\n > *:first-child {\n margin-top: 0;\n }\n > *:last-child {\n margin-bottom: 0;\n }\n\n ul li {\n list-style-type: disc;\n }\n}\n","@use \"uswds-core\" as *;\n\n$identifier-context: \"Identifier\";\n$identifier-logo-height: 6;\n$identifier-section-margin-y: 2;\n$identifier-section-margin-y-small: 1;\n$identifier-link-gap: 1.5;\n$identifier-link-gap-desktop: 1;\n$identifier-links-gap: 4 !default;\n\n@mixin identifier-primary-link {\n @include set-link-from-bg(\n $theme-identifier-background-color,\n $theme-identifier-primary-link-color,\n $context: $identifier-context\n );\n}\n\n@mixin identifier-secondary-link {\n @include set-link-from-bg(\n $theme-identifier-background-color,\n $theme-identifier-secondary-link-color,\n $context: $identifier-context\n );\n}\n\n//\n// General Styles\n// =====================================\n.usa-identifier {\n @include typeset($theme-identifier-font-family, \"sm\", 3);\n @include set-text-and-bg(\n $theme-identifier-background-color,\n $context: $identifier-context\n );\n padding-bottom: units(2);\n}\n\n.usa-identifier__container {\n @include grid-container;\n @include u-maxw($theme-identifier-max-width);\n}\n\n.usa-identifier__section {\n @include u-padding-y($identifier-section-margin-y);\n}\n\n.usa-identifier__section--masthead {\n .usa-identifier__container {\n @include at-media(\"tablet\") {\n @include u-align-items(\"align-center\");\n @include u-display(\"flex\");\n }\n }\n}\n\n.usa-identifier__logos {\n display: flex;\n margin-right: units(2);\n}\n\n.usa-identifier__logo {\n @include u-text-decoration(\"no-underline\");\n height: units($identifier-logo-height);\n display: block;\n\n & + .usa-identifier__logo {\n margin-left: units(1);\n }\n}\n\n.usa-identifier__logo-img {\n height: 100%;\n width: auto;\n}\n\n.usa-identifier__identity {\n @include u-flex(\"fill\");\n margin-top: units(2);\n\n @include at-media(\"tablet\") {\n margin-top: units(0);\n }\n}\n\n.usa-identifier__identity-domain,\n.usa-identifier__identity-disclaimer {\n margin: 0;\n padding: 0;\n}\n\n.usa-identifier__identity-domain {\n @include set-text-from-bg(\n $theme-identifier-background-color,\n $theme-identifier-identity-domain-color,\n $context: $identifier-context\n );\n}\n\n.usa-identifier__identity-disclaimer {\n @include u-text(\"bold\");\n\n a {\n @include identifier-primary-link;\n }\n}\n\n.usa-identifier__section--required-links {\n @include at-media(\"tablet\") {\n @include u-padding-y($identifier-section-margin-y-small);\n }\n @include at-media(\"desktop\") {\n @include u-font-size($theme-identifier-font-family, \"xs\");\n }\n}\n\n.usa-identifier__required-links-list {\n @include add-list-reset;\n @include u-margin-y(0);\n\n @include at-media(\"tablet\") {\n column-count: 2;\n column-gap: units($identifier-links-gap);\n column-fill: balance;\n }\n\n @include at-media(\"desktop\") {\n column-count: 4;\n }\n}\n\n.usa-identifier__required-links-item {\n break-inside: avoid;\n margin-bottom: units($identifier-link-gap);\n\n &:last-child {\n margin-bottom: units(0);\n }\n\n @include at-media(\"desktop\") {\n margin-bottom: units($identifier-link-gap-desktop);\n }\n}\n\n.usa-identifier__required-link,\n.usa-identifier__required-link.usa-link {\n @include identifier-secondary-link;\n display: inline-block;\n}\n\n.usa-identifier__section--usagov a {\n @include identifier-primary-link;\n @include u-text(\"bold\");\n display: inline-block;\n margin-top: units(1);\n\n @include at-media(\"tablet\") {\n margin-top: 0;\n }\n}\n\n.usa-identifier__usagov-description {\n @include at-media(\"tablet\") {\n display: inline-flex;\n }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"../../functions\" as *;\n@use \"../../tokens\" as *;\n\n// Outputs text-decoration and color properties\n\n@mixin u-text-decoration($value...) {\n $value: unpack($value);\n $important: null;\n @if has-important($value) {\n $value: remove($value, \"!important\");\n @if list.length($value) == 1 {\n $value: de-list($value);\n }\n $important: \" !important\";\n }\n @each $this-value in $value {\n @if map.has-key($all-color-shortcodes, smart-quote($this-value)) {\n text-decoration-color: color(smart-quote($this-value)) #{$important};\n } @else {\n text-decoration: get-uswds-value(\"text-decoration\", $value...)\n #{$important};\n }\n }\n}\n","@use \"uswds-core\" as *;\n@use \"sass:color\";\n@use \"sass:list\";\n\n.usa-in-page-nav-container {\n align-items: flex-start;\n display: flex;\n\n // Set main landmark max width to ensure in-page nav will fit\n main {\n max-width: units($theme-in-page-nav-main-content-max-width);\n width: 100%;\n }\n}\n\n.usa-in-page-nav {\n @include set-text-from-bg(\n $bg-color: $theme-in-page-nav-background-color,\n $context: \"In-page navigation text color\"\n );\n display: none;\n margin-left: units($theme-in-page-nav-margin-left);\n margin-top: units($theme-in-page-nav-margin-top);\n max-width: units(\"card-lg\");\n order: 2;\n position: sticky;\n top: units($theme-in-page-nav-top);\n width: 100%;\n\n @include at-media(\"tablet\") {\n display: block;\n }\n}\n\n.usa-in-page-nav__nav {\n @include set-text-and-bg(\n $theme-in-page-nav-background-color,\n $context: \"In-page navigation background\"\n );\n border-radius: radius($theme-in-page-nav-background-radius);\n padding: units($theme-in-page-nav-background-padding);\n}\n\n.usa-in-page-nav__heading {\n // TODO: This could be a setting?\n @include typeset(\"ui\", \"2xs\", 3);\n @include u-font-weight(\"bold\");\n margin-bottom: units(2);\n margin-top: 0;\n padding: 0;\n}\n\n.usa-in-page-nav__list {\n @include border-box-sizing;\n @include nav-list(\"sidenav\");\n border-left: units(1px) solid\n color.adjust(\n color(\n get-color-token-from-bg(\n $bg-color: $theme-in-page-nav-background-color,\n $context: \"In-page navigation rail\"\n )\n ),\n $alpha: -0.75\n );\n padding: 0;\n\n // specificity to override sidenav styles\n a:not(.usa-button) {\n &:not(.usa-current) {\n @include set-link-from-bg(\n $bg-color: $theme-in-page-nav-background-color,\n $preferred-link-color: $theme-in-page-nav-link-color,\n $context: \"In-page-navigation link\"\n );\n\n &:visited {\n color: color(\n list.nth(\n get-link-tokens-from-bg(\n $bg-color: $theme-in-page-nav-background-color,\n $preferred-link-token: $theme-in-page-nav-link-color,\n $context: \"In-page-navigation link\"\n ),\n 1\n )\n );\n }\n }\n\n &.usa-current {\n @include set-text-from-bg(\n $bg-color: $theme-in-page-nav-background-color,\n $context: \"In-page-navigation current color\"\n );\n font-weight: inherit;\n }\n\n &:hover {\n text-decoration: underline;\n background-color: none;\n }\n\n &.usa-current {\n position: static;\n\n &::after {\n background-color: color(\n get-color-token-from-bg(\n $bg-color: $theme-in-page-nav-background-color,\n $preferred-text-token: $theme-in-page-nav-bar-color,\n $context: \"In-page navigation bar\"\n )\n );\n border-radius: 0;\n bottom: units(-1px);\n left: 0;\n top: 0;\n width: units($theme-in-page-nav-bar-width);\n z-index: z(100);\n }\n }\n }\n}\n\n.usa-in-page-nav__item {\n @include typeset($theme-in-page-nav-font-family, \"2xs\", 2);\n border: none;\n position: relative;\n\n &--primary {\n @include u-font-weight(\"bold\");\n }\n}\n","@use \"./add-bar\" as *;\n@use \"../../functions\" as *;\n@use \"../../mixins/helpers\" as *;\n@use \"../../mixins/typography/unstyled-list\" as *;\n@use \"../../mixins/utilities\" as *;\n@use \"../../settings\" as *;\n\n$sidenav-level-1-inset: 2;\n$sidenav-level-2-inset: 4;\n$sidenav-level-3-inset: 6;\n$sidenav-level-4-inset: 8;\n\n@mixin nav-list($type) {\n @include unstyled-list();\n\n @if $type == \"sidenav\" {\n &__item {\n border-top: units(1px) solid color(\"base-lighter\");\n }\n }\n\n @if $type == \"nav\" {\n &-item {\n border-top: units(1px) solid color(\"base-lighter\");\n }\n }\n\n a:not(.usa-button) {\n display: block;\n padding: units(1) units($sidenav-level-1-inset);\n text-decoration: none;\n\n &:hover {\n background-color: color(\"base-lightest\");\n text-decoration: none;\n }\n }\n\n a:not(.usa-button):not(.usa-current) {\n color: color(\"base-dark\");\n\n &:hover {\n color: color($theme-link-color);\n }\n\n &:focus {\n outline-offset: 0;\n }\n }\n\n .usa-current {\n @include add-bar(\n $theme-sidenav-current-border-width,\n \"primary\",\n \"left\",\n \"pill\",\n 0.5,\n 0.5\n );\n color: color($theme-link-color);\n font-weight: font-weight(\"bold\");\n\n @include at-media(\"tablet\") {\n @include add-bar(\n $theme-sidenav-current-border-width,\n $theme-link-color,\n \"left\",\n \"pill\",\n 0,\n 0.5\n );\n }\n }\n}\n\n@mixin nav-sublist {\n @include unstyled-list();\n margin: 0;\n\n &-item {\n border-top: units(1px) solid color(\"base-lighter\");\n font-size: font-size($theme-sidenav-font-family, \"2xs\");\n }\n\n .usa-current {\n @include remove-bar;\n\n @include at-media(\"tablet\") {\n @include remove-bar;\n }\n }\n\n // level 2+\n a:not(.usa-button) {\n padding-left: units($sidenav-level-2-inset);\n }\n\n // level 3+\n & & a:not(.usa-button) {\n padding-left: units($sidenav-level-3-inset);\n }\n\n // level 4+\n & & & a:not(.usa-button) {\n padding-left: units($sidenav-level-4-inset);\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-language {\n @include u-flex(\"row\", \"align-center\", \"justify-end\");\n display: flex;\n padding: 0 0 units(0.5) units(1);\n width: 100%;\n\n &--small {\n .usa-button {\n @include u-padding-x(1.5);\n @include u-padding-y(0);\n font-size: font-size($theme-header-font-family, \"3xs\");\n height: units(4);\n margin-top: 0.3rem;\n min-width: units($theme-button-small-width);\n }\n }\n}\n\n.usa-language-container {\n @include u-flex(\"align-center\", \"justify-end\");\n display: flex;\n}\n\n.usa-nav-container {\n .usa-language-container {\n align-self: center;\n margin-left: units(0);\n position: absolute;\n right: units(10);\n top: units(2);\n\n @include at-media($theme-header-min-width) {\n align-self: flex-end;\n margin-left: units(1.5);\n margin-bottom: units(1);\n position: relative;\n right: inherit;\n top: units(-2px);\n }\n }\n}\n\n.usa-language__link {\n margin-right: units(0);\n}\n\n.usa-language__primary {\n width: auto;\n}\n\n.usa-language__primary-item:last-of-type {\n position: relative;\n\n .usa-language__submenu {\n @include u-pin-right;\n }\n}\n\n.usa-language__submenu {\n @include add-list-reset;\n @include nav-sublist;\n background-color: color(\"primary-darker\");\n position: absolute;\n width: units(\"card-lg\");\n z-index: z-index(400);\n\n &[aria-hidden=\"true\"] {\n display: none;\n }\n\n .usa-language__submenu-item {\n a {\n color: color(\"white\");\n display: block;\n line-height: line-height($theme-navigation-font-family, 3);\n padding: 0;\n padding: units(1);\n text-decoration: none;\n\n &:focus {\n outline-offset: units(\"neg-05\");\n }\n\n &:hover {\n color: color(\"white\");\n text-decoration: underline;\n }\n }\n }\n}\n\n.usa-language__submenu-list {\n @include unstyled-list;\n\n .usa-language__submenu-list-item {\n margin: 0;\n font-size: font-size($theme-navigation-font-family, \"2xs\");\n\n a {\n line-height: line-height($theme-navigation-font-family, 3);\n }\n }\n}\n","@use \"uswds-core\" as *;\n\n$sidenav-reorder-warning: \"$theme-sidenav-reorder is enabled and has accessibility concerns. This behavior has a negative impact on users of assistive technologies.\";\n\n.usa-layout-docs__sidenav {\n padding-top: units(4);\n\n @include at-media(\"desktop\") {\n padding-top: 0;\n }\n\n // Revert to >3.8.0 behavior and give a warning.\n @if $theme-sidenav-reorder {\n @warn $sidenav-reorder-warning;\n\n &:first-of-type {\n @include grid-col(12);\n order: 2;\n\n @include at-media(\"desktop\") {\n @include grid-col(3);\n order: 0;\n }\n }\n }\n}\n","@use \"sass:map\";\n\n@use \"uswds-core\" as *;\n\n/* stylelint-disable */\n\n$namespace-grid: ns(\"grid\");\n\n$custom-breakpoints: map-deep-get($system-properties, breakpoints, extended);\n$all-breakpoints: map-collect($system-breakpoints, $custom-breakpoints);\n\n// basic container\n.#{$namespace-grid}container {\n $props: append-important($grid-global, $theme-grid-container-max-width);\n @include grid-container($props);\n}\n\n// container with custom widths\n@each $width-key, $width-value in $all-breakpoints {\n .#{$namespace-grid}container-#{$width-key} {\n $props: append-important($grid-global, $width-key);\n @include grid-container($props);\n }\n}\n\n// responsive containers...\n@each $mq-key, $mq-value in $all-breakpoints {\n @if map.get($theme-utility-breakpoints-complete, $mq-key) {\n @include at-media($mq-key) {\n .#{$mq-key}#{$separator}#{$namespace-grid}container {\n $props: append-important($grid-global, desktop);\n @include grid-container($props);\n }\n\n // ...with custom widths\n @each $width-key, $width-value in $all-breakpoints {\n .#{$mq-key}#{$separator}#{$namespace-grid}container-#{$width-key} {\n $props: append-important($grid-global, $width-key);\n @include grid-container($props);\n }\n }\n }\n }\n}\n\n// basic row...\n.#{$namespace-grid}row {\n @include grid-row;\n\n // ...that includes column gaps\n &.#{$namespace-grid}gap {\n @include grid-gap-responsive;\n }\n @each $gap-key, $gap-val in map-deep-get($system-properties, gap, standard) {\n &.#{$namespace-grid}gap-#{$gap-key} {\n $props: append-important($grid-global, $gap-key);\n @include grid-gap($props);\n }\n }\n\n // responsive column gaps\n @each $mq-key, $mq-value in $all-breakpoints {\n @if map.get($theme-utility-breakpoints-complete, $mq-key) {\n @include at-media($mq-key) {\n @each $gap-key,\n $gap-val in map-deep-get($system-properties, gap, standard)\n {\n &.#{$mq-key}#{$separator}#{$namespace-grid}gap-#{$gap-key} {\n $props: append-important($grid-global, $gap-key);\n @include grid-gap($props);\n }\n }\n }\n }\n }\n}\n\n// basic columns...\n[class*=\"#{$namespace-grid}col\"] {\n @include u-position(relative);\n @include u-width(full);\n box-sizing: border-box;\n}\n\n.#{$namespace-grid}col {\n $props: append-important($grid-global, fill);\n @include grid-col($props);\n}\n\n.#{$namespace-grid}col-auto {\n $props: append-important($grid-global, auto);\n @include grid-col($props);\n}\n\n.#{$namespace-grid}col-fill {\n $props: append-important($grid-global, fill);\n @include grid-col($props);\n}\n\n// ...with widths\n@each $width-key, $width-value in $system-layout-grid-widths {\n .#{$namespace-grid}col-#{$width-key} {\n $props: append-important($grid-global, $width-key);\n @include grid-col($props);\n }\n}\n\n// responsive columns\n@each $mq-key, $mq-value in $all-breakpoints {\n @if map.get($theme-utility-breakpoints-complete, $mq-key) {\n @include at-media($mq-key) {\n .#{$mq-key}#{$separator}#{$namespace-grid}col {\n $props: append-important($grid-global, fill);\n @include grid-col($props);\n }\n .#{$mq-key}#{$separator}#{$namespace-grid}col-fill {\n $props: append-important($grid-global, fill);\n @include grid-col($props);\n }\n .#{$mq-key}#{$separator}#{$namespace-grid}col-auto {\n $props: append-important($grid-global, auto);\n @include grid-col($props);\n }\n\n @each $width-key, $width-value in $system-layout-grid-widths {\n .#{$mq-key}#{$separator}#{$namespace-grid}col-#{$width-key} {\n $props: append-important($grid-global, $width-key);\n @include grid-col($props);\n }\n }\n }\n }\n}\n\n// basic offsets\n@each $width-key, $width-value in $system-layout-grid-widths {\n .#{$namespace-grid}offset-#{$width-key} {\n $props: append-important($grid-global, $width-key);\n @include grid-offset($props);\n }\n}\n.#{$namespace-grid}offset-none {\n $props: append-important($grid-global, none);\n @include grid-offset($props);\n}\n\n// responsive offsets\n@each $mq-key, $mq-value in $all-breakpoints {\n @if map.get($theme-utility-breakpoints-complete, $mq-key) {\n @each $width-key, $width-value in $system-layout-grid-widths {\n @include at-media($mq-key) {\n .#{$mq-key}#{$separator}#{$namespace-grid}offset-#{$width-key} {\n $props: append-important($grid-global, $width-key);\n @include grid-offset($props);\n }\n }\n }\n @include at-media($mq-key) {\n .#{$mq-key}#{$separator}#{$namespace-grid}offset-none {\n $props: append-important($grid-global, none);\n @include grid-offset($props);\n }\n }\n }\n}\n/* stylelint-enable */\n","@use \"uswds-core\" as *;\n\n.usa-media-block {\n @include u-align-items(\"align-start\");\n @include u-display(\"flex\");\n}\n\n.usa-media-block__img {\n @include media-block-img;\n}\n\n.usa-media-block__body {\n @include u-flex(1);\n}\n","@use \"uswds-core\" as *;\n\n.usa-js-no-click {\n pointer-events: none;\n user-select: none;\n\n .usa-modal,\n .usa-modal * {\n pointer-events: auto;\n user-select: text;\n }\n}\n\n// Prevents propagation issue in Safari an opener\n// has a child element, and when clicked, prevents\n// intended action\n[data-open-modal] * {\n pointer-events: none;\n}\n\n.usa-modal-wrapper {\n text-align: center;\n transition: opacity $project-easing;\n\n // Using visibility: hidden instead of display: none because\n // of iOS VoiceOver issue:\n // https://developer.paciellogroup.com/blog/2018/06/the-current-state-of-modal-dialog-accessibility/\n &.is-hidden {\n visibility: hidden;\n opacity: opacity(0);\n position: fixed;\n }\n\n &.is-visible {\n visibility: visible;\n opacity: opacity(100);\n position: fixed;\n z-index: z-index(\"top\");\n }\n}\n\n.usa-modal-overlay {\n background: color(\"black-transparent-70\");\n bottom: 0;\n height: 100%;\n left: 0;\n overflow: scroll;\n overflow-x: hidden;\n padding: units(3);\n position: fixed;\n scroll-behavior: smooth;\n top: 0;\n width: 100%;\n\n &:before {\n content: \"\";\n display: inline-block;\n height: 100%;\n vertical-align: middle;\n }\n\n &[data-force-action=\"true\"] {\n pointer-events: none;\n\n * {\n pointer-events: auto;\n }\n }\n}\n\n// Prevents modals from flickering\n// Still allows content to be accessed\n.usa-js-loading {\n .usa-modal-wrapper {\n @include add-sr-only;\n }\n\n .usa-modal-wrapper:target {\n position: static;\n }\n}\n\n.usa-modal {\n @include typeset;\n @include u-radius($theme-modal-border-radius);\n background: white;\n @include set-text-from-bg(\"white\");\n display: inline-block;\n margin: units(2.5) auto;\n max-width: units($theme-modal-default-max-width);\n position: relative;\n text-align: left;\n vertical-align: middle;\n width: 100%;\n\n &:focus {\n outline: none;\n }\n}\n\n.usa-modal__content {\n display: flex;\n flex-direction: column-reverse;\n padding-top: units(4);\n width: 100%;\n}\n\n.usa-modal__main {\n margin: 0 auto;\n padding: units(1) units(4) units(4);\n}\n\n// Prevents JS not recognizing as part of close button.\n.usa-modal-wrapper [data-close-modal] > .usa-icon,\n.usa-modal-wrapper [data-close-modal] > .usa-icon use {\n pointer-events: none !important;\n}\n\n.usa-modal__close {\n align-items: center;\n align-self: flex-end;\n background-color: transparent;\n color: color(\"base\");\n display: flex;\n flex-shrink: 0;\n font-size: size(\"ui\", \"2xs\");\n margin: units(-4) 0 0 auto;\n padding: units(0.5) units(0.5);\n width: auto;\n\n &:hover,\n &:active {\n background-color: transparent;\n color: color(\"ink\");\n }\n\n &:focus {\n outline-offset: 0;\n }\n\n .usa-icon {\n height: units(4);\n margin: units(2px) units(2px) 0 0;\n width: units(4);\n }\n}\n\n.usa-modal__heading {\n @include u-font(\"heading\", \"lg\");\n line-height: line-height(\"heading\", 3);\n margin-top: 0;\n}\n\n.usa-modal__footer {\n margin-top: units(3);\n}\n\n// Variants\n.usa-modal--lg {\n max-width: units($theme-modal-lg-max-width);\n width: 100%;\n\n .usa-modal__main {\n padding-bottom: units(8);\n padding-top: units(2.5);\n width: 100%;\n max-width: units($theme-modal-lg-content-max-width);\n }\n\n .usa-modal__heading {\n @include at-media(\"tablet\") {\n @include u-font(\"heading\", \"xl\");\n }\n }\n}\n\n.usa-js-modal--active {\n overflow: hidden;\n}\n","@use \"sass:math\";\n@use \"sass:list\";\n@use \"sass:color\";\n\n@use \"uswds-core\" as *;\n\n$pagination-context: \"Pagination\";\n$pagination-margin-x: 0.5 !default;\n$pagination-margin-y: 2 !default;\n$pagination-margin-padding: 1 !default;\n$pagination-target-size: 5 !default;\n\n$pagination-current-color: get-color-token-from-bg(\n $theme-pagination-background-color\n);\n\n$pagination-link-tokens: get-link-tokens-from-bg(\n $theme-pagination-background-color,\n $theme-link-reverse-color,\n $theme-link-color,\n $context: $pagination-context\n);\n\n$pagination-link-token: list.nth($pagination-link-tokens, 1);\n$pagination-hover-token: list.nth($pagination-link-tokens, 2);\n\n// Pagination\n// ---------------------------------\n.usa-pagination {\n @include u-margin-y($pagination-margin-y);\n @include typeset($theme-pagination-font-family);\n @include set-text-and-bg(\n $theme-pagination-background-color,\n $context: $pagination-context\n );\n display: flex;\n justify-content: center;\n}\n\n// TODO: Pull out magic number into vars? Could this better?\n.usa-pagination .usa-icon {\n height: px-to-rem(18px);\n width: px-to-rem(18px);\n}\n\n// Shared styles\n// ---------------------------------\n\n// Pagination nav\n// ---------------------------------\n.usa-pagination__list {\n @include add-list-reset;\n align-items: center;\n display: flex;\n flex-flow: row nowrap;\n justify-content: center;\n width: auto;\n}\n\n// Pagination nav items\n// 1. Prevents chromium browsers from adding additional vertical whitespace\n.usa-pagination__item {\n display: inline-flex; // 1\n height: units($pagination-target-size);\n justify-content: center;\n line-height: 1;\n margin-left: units($pagination-margin-x);\n margin-right: units($pagination-margin-x);\n min-width: units($pagination-target-size);\n\n @include at-media($theme-pagination-breakpoint) {\n flex: 1 0 auto; // flex: 1 won't work in IE11\n }\n}\n\n// Don't show previous and next at mobile.\n// Functionality exists with page buttons.\n.usa-pagination__arrow {\n display: none;\n @include at-media($theme-pagination-breakpoint) {\n display: inherit;\n }\n}\n\n.usa-pagination__previous-page {\n @include at-media($theme-pagination-breakpoint) {\n margin-right: units(math.div($pagination-target-size, 2));\n }\n}\n\n.usa-pagination__next-page {\n @include at-media($theme-pagination-breakpoint) {\n margin-left: units(math.div($pagination-target-size, 2));\n }\n}\n\n.usa-pagination__link {\n align-items: center;\n color: color($pagination-link-token);\n display: inline-flex;\n\n &[disabled] {\n opacity: 0.4 !important;\n pointer-events: none;\n }\n\n &:hover,\n &:focus,\n &:active {\n color: color($pagination-hover-token);\n }\n\n &:visited {\n color: color($pagination-link-token);\n }\n}\n\n.usa-pagination__button {\n align-items: center;\n border-color: color.adjust(color($pagination-current-color), $alpha: -0.8);\n border-radius: radius($theme-pagination-button-border-radius);\n border-style: solid;\n border-width: units($theme-pagination-button-border-width);\n color: color($pagination-link-token);\n display: inline-flex;\n justify-content: center;\n padding: units($pagination-margin-padding);\n width: 100%;\n\n &:hover,\n &:focus,\n &:active {\n color: color($pagination-hover-token);\n border-color: color($pagination-hover-token);\n\n @media (forced-colors: active) {\n border: $border-high-contrast;\n }\n }\n}\n\n.usa-pagination .usa-current {\n $text-color: if(\n $theme-pagination-background-color == \"default\",\n $theme-body-background-color,\n $theme-pagination-background-color\n );\n background-color: color($pagination-current-color);\n border-color: transparent;\n color: color($text-color);\n\n @media (forced-colors: active) {\n border: $border-high-contrast;\n color: buttonText;\n }\n\n &:hover,\n &:focus,\n &:active {\n background-color: color($pagination-current-color);\n color: color($text-color);\n\n @media (forced-colors: active) {\n color: buttontext;\n }\n }\n}\n\n.usa-pagination__overflow {\n align-items: center;\n align-self: stretch;\n display: inherit;\n user-select: none;\n padding: units($pagination-margin-padding);\n}\n\n// ---------------------------------\n// Variants\n// ---------------------------------\n","@use \"uswds-core\" as *;\n\n// PROCESS LIST\n$theme-process-list-counter-content-padding: calc(\n (#{units($theme-process-list-counter-size)} / 2) - #{units(0.5)}\n);\n$theme-process-list-counter-line-x-position: calc(\n (\n (#{units($theme-process-list-counter-size)} / 2) -\n (#{units($theme-process-list-connector-width)} / 2)\n )\n);\n\n@include override-prose {\n .usa-process-list {\n @include typeset($theme-process-list-font-family);\n @include unstyled-list;\n counter-reset: usa-numbered-list;\n padding: 20px 0 0 $theme-process-list-counter-line-x-position;\n position: relative;\n\n // Use increased specificity to override unstyled-list()\n & > .usa-process-list__item {\n @include u-measure(5);\n }\n }\n\n .usa-process-list__item {\n border-left: units($theme-process-list-connector-width) solid\n color($theme-process-list-connector-color);\n font-size: size(\n $theme-process-list-font-family,\n $theme-process-list-font-size\n );\n margin-bottom: 0;\n padding-bottom: units(4);\n padding-left: calc(#{$theme-process-list-counter-content-padding} * 2);\n }\n}\n\n.usa-process-list__item {\n &:last-child {\n border-left: units($theme-process-list-connector-width) solid transparent;\n }\n\n &::before {\n @include u-flex(\"row\", \"align-center\", \"justify-center\");\n $half-of-font-size: -0.4rem;\n @include u-circle($theme-process-list-counter-size);\n background-color: color($theme-process-list-counter-background-color);\n border: units($theme-process-list-counter-border-width) solid\n color($theme-process-list-counter-border-color);\n box-shadow: 0 0 0 units($theme-process-list-counter-gap-width)\n color($theme-process-list-counter-gap-color);\n color: color($theme-process-list-counter-text-color);\n content: counter(usa-numbered-list, decimal);\n counter-increment: usa-numbered-list;\n display: flex;\n font-family: family($theme-process-list-counter-font-family);\n font-size: size(\n $theme-process-list-counter-font-family,\n $theme-process-list-counter-font-size\n );\n font-weight: font-weight(\"bold\");\n height: units($theme-process-list-counter-size);\n left: 0;\n line-height: lh($theme-process-list-counter-font-family, 1);\n margin-top: $half-of-font-size;\n position: absolute;\n width: units($theme-process-list-counter-size);\n }\n\n ul {\n list-style-type: disc;\n\n li {\n margin-bottom: units(0.5);\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n }\n\n > *:first-child {\n margin-top: 0;\n }\n\n > *:last-child {\n margin-bottom: 0;\n }\n}\n\n.usa-process-list__heading {\n @include typeset(\n $theme-process-list-heading-font-family,\n $theme-process-list-heading-font-size,\n 2\n );\n color: color($theme-process-list-heading-color);\n font-family: family($theme-process-list-heading-font-family);\n font-weight: font-weight(\"bold\");\n margin: 0;\n\n & + * {\n margin-top: units(0.5);\n }\n}\n","@use \"uswds-core\" as *;\n\n// Map for high contrast search icon\n$search-icon: (\n \"name\": \"search\",\n \"color\": ButtonText,\n \"svg-height\": 20,\n \"svg-width\": 20,\n \"height\": units(3),\n);\n\n.usa-search {\n @include border-box-sizing;\n @include clearfix;\n @include typeset($theme-search-font-family);\n position: relative;\n\n // if role is in the element (>=2.6.0)...\n &[role=\"search\"],\n // if there is a (=2.5.[0,1])...\n &[role=\"search\"]>div,\n // ...or if the component has a separate (<=2.4.0)\n [role=\"search\"] {\n display: flex;\n }\n\n [type=\"submit\"] {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n height: units(4);\n margin: 0;\n padding: 0;\n width: units($theme-button-small-width);\n\n @include at-media(\"mobile-lg\") {\n @include u-padding-x(2);\n width: auto;\n }\n\n @media (forced-colors: active) {\n @include place-icon($search-icon, \"before\");\n\n &:focus {\n outline-offset: 0;\n }\n\n &::before {\n @include at-media(\"mobile-lg\") {\n content: none;\n }\n }\n }\n }\n\n &__submit-icon {\n @include at-media(\"mobile-lg\") {\n display: none;\n }\n\n @media (forced-colors: active) {\n display: none;\n }\n }\n}\n\n.usa-search--big {\n $height: units(6);\n\n [type=\"search\"],\n .usa-search__input {\n @include at-media(\"mobile-lg\") {\n font-size: font-size($theme-search-font-family, \"sm\");\n height: $height;\n }\n }\n\n [type=\"submit\"],\n .usa-search__submit {\n @include at-media(\"mobile-lg\") {\n @include u-padding-x(4);\n font-size: font-size($theme-search-font-family, \"lg\");\n height: $height;\n width: auto;\n }\n }\n}\n\n.usa-search--small {\n [type=\"submit\"],\n .usa-search__submit {\n @include u-padding-x(1.5);\n min-width: units($theme-button-small-width);\n }\n\n [type=\"submit\"] {\n @media (forced-colors: active) {\n &::before {\n @include at-media(\"mobile-lg\") {\n content: \"\";\n }\n }\n }\n }\n\n .usa-search__submit-icon {\n @include u-square(3);\n display: block;\n\n @media (forced-colors: active) {\n display: none;\n }\n }\n}\n\n// Extra specificity to override rules set in normalize.css.\ninput[type=\"search\"] {\n /* stylelint-disable-line selector-no-qualifying-type */\n box-sizing: border-box;\n appearance: none;\n}\n\n[type=\"search\"],\n.usa-search__input {\n @include u-padding-y(0);\n border-bottom-right-radius: 0;\n border-right: none;\n border-top-right-radius: 0;\n box-sizing: border-box;\n float: left;\n font-size: font-size($theme-search-font-family, \"xs\");\n height: units(4);\n margin: 0;\n}\n\n.usa-search__submit-text {\n display: none;\n\n @include at-media(\"mobile-lg\") {\n display: block;\n }\n}\n","@use \"uswds-core\" as *;\n\n$section-context: \"Section\";\n\n.usa-section {\n @include border-box-sizing;\n @include u-padding-y($theme-site-margins-width);\n\n @include at-media(\"tablet\") {\n @include u-padding-y(8);\n }\n}\n\n.usa-section--light {\n background-color: color(\"base-lightest\");\n}\n\n.usa-section--dark {\n background-color: color(\"primary-darker\");\n color: color($theme-text-reverse-color);\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n // TODO: This should use a theme-able color,\n // and should probably default to white\n color: color(\"accent-cool\");\n }\n\n p {\n color: color($theme-text-reverse-color);\n }\n\n a {\n @include set-link-from-bg(\n \"primary-darker\",\n $theme-link-reverse-color,\n $context: $section-context\n );\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-sidenav {\n @include border-box-sizing;\n @include nav-list(\"sidenav\");\n @include typeset($theme-sidenav-font-family, \"sm\", 3);\n border-bottom: units(1px) solid color(\"base-lighter\");\n\n .grid-container & {\n @include u-margin-x(-$theme-site-margins-mobile-width);\n\n @include at-media(\"tablet\") {\n @include u-margin-x(0);\n }\n }\n}\n\n.usa-sidenav__sublist {\n @include nav-sublist;\n font-size: font-size($theme-sidenav-font-family, \"xs\");\n}\n","@use \"sass:math\";\n@use \"uswds-core\" as *;\n\n// Alert variables ---------- //\n$site-alert-icons: (\n info: \"info\",\n emergency: \"error\",\n);\n$site-alert-padding-x-mobile: 2.5;\n$site-alert-padding-x: calc(\n units($theme-site-margins-width) - units($theme-alert-bar-width) / 2\n);\n\n.usa-site-alert {\n .usa-alert {\n @include alert-styles;\n\n .usa-alert__body {\n @include u-maxw($theme-site-alert-max-width);\n @include u-padding-x($site-alert-padding-x-mobile);\n\n &::before {\n left: calc(\n units($site-alert-padding-x-mobile) + $alert-icon-optical-adjust-left\n );\n }\n\n // Align content with site margins at desktop\n @include at-media($theme-site-margins-breakpoint) {\n @include u-margin-x(\"auto\");\n padding-left: $site-alert-padding-x;\n padding-right: $site-alert-padding-x;\n\n &::before {\n left: calc($site-alert-padding-x + $alert-icon-optical-adjust-left);\n }\n }\n }\n }\n}\n\n@each $name, $icon in $site-alert-icons {\n .usa-site-alert--#{$name} .usa-alert {\n @include alert-status-wrapper-styles($name);\n\n .usa-alert__body {\n @include alert-status-body-styles($name, $icon);\n }\n }\n}\n\n.usa-site-alert--slim .usa-alert {\n @include alert-styles-slim;\n\n .usa-alert__body::before {\n left: calc(\n units($site-alert-padding-x-mobile) + $alert-slim-icon-optical-adjust-left\n );\n\n @include at-media($theme-site-margins-breakpoint) {\n left: calc($site-alert-padding-x + $alert-slim-icon-optical-adjust-left);\n }\n }\n}\n\n.usa-site-alert--no-icon .usa-alert {\n @include alert-styles-no-icon;\n}\n","@use \"uswds-core\" as *;\n\n.usa-skipnav {\n @include border-box-sizing;\n @include typeset;\n @include typeset-link;\n background: transparent;\n left: 0;\n padding: units(1) units(2);\n position: absolute;\n top: -3.8rem; // skipnav link height\n transition: $project-easing;\n z-index: z-index(100);\n\n &:focus,\n &.usa-focus {\n background: color(\"white\");\n left: 0;\n position: absolute;\n top: 0;\n transition: $project-easing;\n }\n}\n\n.usa-skipnav__container {\n position: relative;\n}\n","@use \"sass:math\";\n\n@use \"uswds-core\" as *;\n\n$step-indicator-label-margin-top: 1;\n$step-indicator-margin-bottom: 4;\n$step-indicator-header-margin-top: 4;\n$step-indicator-header-margin-top-sm: 2;\n$step-indicator-segment-height-mobile: 1;\n$step-indicator-counter-size: 5;\n$step-indicator-counter-size-sm: 3;\n\n.usa-step-indicator {\n @include typeset(\n $theme-step-indicator-font-family,\n $theme-step-indicator-label-font-size,\n 2\n );\n background-color: color($step-indicator-background-color);\n margin-bottom: units($step-indicator-margin-bottom);\n margin-left: math.div(units($theme-step-indicator-segment-gap), -2);\n margin-right: math.div(units($theme-step-indicator-segment-gap), -2);\n\n @include at-media($theme-step-indicator-min-width) {\n @include u-margin-x(0);\n }\n}\n\n.usa-step-indicator__segments {\n counter-reset: usa-step-indicator;\n display: flex;\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.usa-step-indicator__segment {\n @include u-flex(\"fill\");\n counter-increment: usa-step-indicator;\n margin-left: math.div(units($theme-step-indicator-segment-gap), 2);\n margin-right: math.div(units($theme-step-indicator-segment-gap), 2);\n max-width: units(\"card-lg\");\n min-height: units($theme-step-indicator-segment-height);\n position: relative;\n\n // Add segment\n &:after {\n background-color: color($theme-step-indicator-segment-color-pending);\n content: \"\";\n display: block;\n // Use a fixed segment height for mobile regardless of settings\n height: units($step-indicator-segment-height-mobile);\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n\n @include at-media($theme-step-indicator-min-width) {\n height: units($theme-step-indicator-segment-height);\n }\n }\n}\n\n.usa-step-indicator__segment--complete {\n &::after {\n background-color: color($theme-step-indicator-segment-color-complete);\n }\n .usa-step-indicator__segment-label {\n color: color($theme-step-indicator-segment-color-complete);\n }\n}\n\n.usa-step-indicator__segment--current {\n &::after {\n background-color: color($theme-step-indicator-segment-color-current);\n }\n .usa-step-indicator__segment-label {\n color: color($theme-step-indicator-segment-color-current);\n font-weight: fw(\"bold\");\n }\n}\n\n.usa-step-indicator__segment-label {\n display: none;\n // Show labels only at the min-width\n @include at-media($theme-step-indicator-min-width) {\n color: color($theme-step-indicator-text-pending-color);\n display: block;\n font-size: size(\n $theme-step-indicator-font-family,\n $theme-step-indicator-label-font-size\n );\n // Add margin based on segment size\n margin-top: calc(\n #{units($theme-step-indicator-segment-height)} +\n #{units($step-indicator-label-margin-top)}\n );\n padding-right: units(4);\n text-align: left;\n }\n}\n\n.usa-step-indicator__header {\n align-items: baseline;\n display: flex;\n}\n\n.usa-step-indicator__heading {\n color: color($theme-step-indicator-heading-color);\n font-family: family($theme-step-indicator-heading-font-family);\n font-size: size(\n $theme-step-indicator-heading-font-family,\n $theme-step-indicator-heading-font-size-small\n );\n font-weight: font-weight(\"bold\");\n margin: units($step-indicator-header-margin-top-sm) 0 0;\n\n @include at-media($theme-step-indicator-min-width) {\n font-size: size(\n $theme-step-indicator-heading-font-family,\n $theme-step-indicator-heading-font-size\n );\n margin-top: units($step-indicator-header-margin-top);\n }\n}\n\n.usa-step-indicator__current-step {\n $step-lh: lh($theme-step-indicator-heading-font-family, 2);\n @include u-circle($step-indicator-counter-size);\n @include u-text(\"normal\", \"tabular\");\n background-color: color($theme-step-indicator-segment-color-current);\n color: color($step-indicator-background-color);\n display: inline-block;\n // Magic number circle centering\n padding: calc(\n (#{units($step-indicator-counter-size)} - (2ex * #{$step-lh})) * 0.5\n );\n text-align: center;\n}\n\n.usa-step-indicator__total-steps {\n @include u-text(\"normal\", \"tabular\");\n color: color($theme-step-indicator-segment-color-current);\n margin-right: units(1);\n}\n\n.usa-step-indicator--counters,\n.usa-step-indicator--counters-sm {\n .usa-step-indicator__segment {\n @include at-media($theme-step-indicator-min-width) {\n $counter-lh: lh($theme-step-indicator-font-family, 1);\n // Remove segment gaps\n @include u-margin-x(0);\n\n // Add extra margin for counter\n @if $theme-step-indicator-counter-gap == 0 {\n margin-top: calc(\n (\n (\n #{units($step-indicator-counter-size)} -\n #{units($theme-step-indicator-segment-height)}\n ) /\n 2\n )\n );\n } @else {\n margin-top: calc(\n (\n (\n #{units($step-indicator-counter-size)} -\n #{units($theme-step-indicator-segment-height)}\n ) /\n 2\n ) +\n #{units($theme-step-indicator-counter-gap)}\n );\n }\n\n // Add counter\n &:before {\n @include u-circle($step-indicator-counter-size);\n @include u-text(\"tabular\");\n background-color: color($step-indicator-background-color);\n box-shadow:\n inset 0 0 0 units($theme-step-indicator-counter-border-width)\n color($theme-step-indicator-segment-color-pending),\n 0 0 0 units($theme-step-indicator-counter-gap)\n color($step-indicator-background-color);\n color: color($theme-step-indicator-text-pending-color);\n content: counter(usa-step-indicator);\n display: block;\n font-weight: fw(\"bold\");\n left: 0;\n line-height: lh($theme-step-indicator-font-family, 1);\n // Magic number circle centering\n padding: calc(\n (#{units($step-indicator-counter-size)} - (2ex * #{$counter-lh})) *\n 0.5\n );\n // padding: 1.5ex;\n position: absolute;\n text-align: center;\n top: calc(\n (\n #{units($step-indicator-counter-size)} -\n #{units($theme-step-indicator-segment-height)}\n ) /\n -2\n );\n z-index: z(100);\n }\n\n &:last-child {\n // Don't show the last segment when counters appear\n &:after {\n display: none;\n }\n }\n }\n }\n\n .usa-step-indicator__segment--complete {\n &::before {\n background-color: color($theme-step-indicator-segment-color-complete);\n box-shadow: 0 0 0 units($theme-step-indicator-counter-gap)\n color($step-indicator-background-color);\n color: color($step-indicator-background-color);\n }\n }\n\n .usa-step-indicator__segment--current {\n &::before {\n background-color: color($theme-step-indicator-segment-color-current);\n box-shadow: 0 0 0 units($theme-step-indicator-counter-gap)\n color($step-indicator-background-color);\n color: color($step-indicator-background-color);\n }\n }\n\n .usa-step-indicator__segment-label {\n @include at-media($theme-step-indicator-min-width) {\n // Add counter margin\n margin-top: calc(\n (\n (\n #{units($step-indicator-counter-size)} +\n #{units($theme-step-indicator-segment-height)}\n ) /\n 2\n ) +\n #{units($step-indicator-label-margin-top)}\n );\n }\n }\n\n // Adjust segments with centered variant\n &.usa-step-indicator--center {\n @include at-media($theme-step-indicator-min-width) {\n .usa-step-indicator__segment {\n &:first-child {\n &:after {\n left: 50%;\n right: 0;\n width: auto;\n }\n }\n\n &:last-child {\n &:after {\n display: block;\n left: 0;\n right: 50%;\n width: auto;\n }\n }\n }\n }\n }\n}\n\n.usa-step-indicator--counters-sm {\n .usa-step-indicator__segment {\n @include at-media($theme-step-indicator-min-width) {\n $counter-lh: lh($theme-step-indicator-font-family, 1);\n // Add extra margin for counter\n @if $theme-step-indicator-counter-gap == 0 {\n margin-top: calc(\n (\n (\n #{units($step-indicator-counter-size-sm)} -\n #{units($theme-step-indicator-segment-height)}\n ) /\n 2\n )\n );\n } @else {\n margin-top: calc(\n (\n (\n #{units($step-indicator-counter-size-sm)} -\n #{units($theme-step-indicator-segment-height)}\n ) /\n 2\n ) +\n #{units($theme-step-indicator-counter-gap)}\n );\n }\n\n // Add counter\n &:before {\n @include u-circle($step-indicator-counter-size-sm);\n @include u-font-size($theme-step-indicator-font-family, 3);\n padding: calc(#{units(0.5)} + 1px);\n top: calc(\n (\n #{units($step-indicator-counter-size-sm)} -\n #{units($theme-step-indicator-segment-height)}\n ) /\n -2\n );\n }\n\n &:last-child {\n // Don't show the last segment when counters appear\n &:after {\n display: none;\n }\n }\n }\n }\n\n .usa-step-indicator__segment-label {\n @include at-media($theme-step-indicator-min-width) {\n // Add counter margin\n margin-top: calc(\n (\n (\n #{units($step-indicator-counter-size-sm)} +\n #{units($theme-step-indicator-segment-height)}\n ) /\n 2\n ) +\n #{units($step-indicator-label-margin-top)}\n );\n }\n }\n}\n\n.usa-step-indicator--no-labels {\n margin-left: math.div(units($theme-step-indicator-segment-gap), -2);\n margin-right: math.div(units($theme-step-indicator-segment-gap), -2);\n\n .usa-step-indicator__segment {\n // Remove extra counter margin\n margin-top: 0;\n // Add gap between segments\n margin-left: math.div(units($theme-step-indicator-segment-gap), 2);\n margin-right: math.div(units($theme-step-indicator-segment-gap), 2);\n\n &:before {\n // Don't show counters\n display: none;\n }\n\n &:last-child {\n // Show last segment\n &:after {\n display: block;\n }\n }\n }\n\n .usa-step-indicator__heading {\n margin-top: units($step-indicator-header-margin-top-sm);\n }\n}\n\n.usa-step-indicator--no-labels {\n .usa-step-indicator__segment-label {\n // Don't show labels, even if they exist\n display: none;\n }\n}\n\n.usa-step-indicator--center {\n margin-left: math.div(units($theme-step-indicator-segment-gap), -2);\n margin-right: math.div(units($theme-step-indicator-segment-gap), -2);\n\n .usa-step-indicator__segment {\n margin-left: math.div(units($theme-step-indicator-segment-gap), 2);\n margin-right: math.div(units($theme-step-indicator-segment-gap), 2);\n\n &:before {\n @if $theme-step-indicator-counter-gap == 0 {\n left: calc(50% - ((#{units($step-indicator-counter-size)}) / 2));\n } @else {\n left: calc(\n 50% -\n (\n (\n #{units($step-indicator-counter-size)} +\n #{units($theme-step-indicator-counter-gap)}\n ) /\n 2\n )\n );\n }\n }\n }\n\n .usa-step-indicator__segment-label {\n // Balance label padding\n @include u-padding-x(1);\n // Center labels\n text-align: center;\n }\n\n &.usa-step-indicator--no-labels {\n .usa-step-indicator__segment {\n // Use full-width segments\n &:first-child {\n &:after {\n left: 0;\n }\n }\n\n &:last-child {\n &:after {\n right: 0;\n }\n }\n }\n }\n\n &.usa-step-indicator--counters-sm {\n .usa-step-indicator__segment {\n &:before {\n @if $theme-step-indicator-counter-gap == 0 {\n left: calc(50% - ((#{units($step-indicator-counter-size-sm)}) / 2));\n } @else {\n left: calc(\n 50% -\n (\n (\n #{units($step-indicator-counter-size-sm)} +\n #{units($theme-step-indicator-counter-gap)}\n ) /\n 2\n )\n );\n }\n }\n }\n }\n}\n","@use \"sass:list\";\n\n@use \"uswds-core\" as *;\n\n$summary-box-context: \"Summary Box\";\n\n.usa-summary-box {\n @include typeset($theme-summary-box-font-family);\n @include border-box-sizing;\n @include set-text-and-bg(\n $theme-summary-box-background-color,\n $theme-summary-box-text-color,\n $context: $summary-box-context\n );\n @include u-radius($theme-summary-box-border-radius);\n border: $theme-summary-box-border-width color($theme-summary-box-border-color)\n solid;\n padding: units(3);\n position: relative;\n\n .usa-list {\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n * + & {\n margin-top: units(2);\n }\n}\n\n.usa-summary-box__heading {\n @include typeset($theme-summary-box-font-family, \"lg\", 2);\n margin-top: 0;\n margin-bottom: units(1);\n}\n\n.usa-summary-box__text {\n @include u-margin-y(0);\n}\n\n.usa-summary-box__text:only-child {\n margin-bottom: $theme-summary-box-border-width;\n padding-top: units(0.5);\n}\n\n.usa-summary-box__link {\n @include set-link-from-bg(\n $theme-summary-box-background-color,\n $theme-summary-box-link-color,\n $context: $summary-box-context\n );\n &[href^=\"#\"] {\n $link-tokens: get-link-tokens-from-bg(\n $theme-summary-box-background-color,\n $theme-summary-box-link-color,\n $context: $summary-box-context\n );\n &:visited {\n color: color(list.nth($link-tokens, 1));\n }\n &:hover {\n color: color(list.nth($link-tokens, 2));\n }\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-table {\n @include usa-table;\n}\n\n.usa-table--borderless {\n @include usa-table--borderless;\n}\n\n.usa-table--compact {\n @include usa-table--compact;\n}\n\n.usa-table--striped {\n @include usa-table--striped;\n}\n\n.usa-table--stacked {\n @include at-media-max(\"mobile-lg\") {\n @include table-stacked-styles;\n }\n}\n\n.usa-table--stacked-header {\n @include at-media-max(\"mobile-lg\") {\n @include table-stacked-styles;\n @include table-stacked-header-styles;\n }\n}\n\n.width-mobile {\n .usa-table--stacked {\n @include usa-table--stacked;\n }\n\n .usa-table--stacked-header {\n @include usa-table--stacked-header;\n }\n}\n\n.usa-table--sticky-header {\n @include usa-table--sticky-header;\n}\n\n.usa-table-container--scrollable {\n @include usa-table-container--scrollable;\n}\n","@use \"uswds-core\" as *;\n\n.usa-tag {\n @include border-box-sizing;\n @include u-font(\"ui\", \"2xs\");\n @include u-text(\"white\", \"uppercase\");\n background-color: color(\"base-dark\");\n border-radius: radius(\"sm\");\n margin-right: units(0.5);\n padding: units(1px) units(1);\n\n &:only-of-type {\n margin-right: 0;\n }\n}\n\n.usa-tag--big {\n @include u-padding-x(1);\n @include u-font(\"ui\", $theme-body-font-size);\n}\n","@use \"uswds-core\" as *;\n\n// Variables\n$triangle-size: 5px;\n\n/// Create a spacer to increase target area for tooltip triangle.\n///\n/// @param {String} $direction - The direction of the tooltip; can be top, bottom, left, right.\n///\n/// @example\n/// @include tooltip-spacer(\"top\");\n///\n/// @output\n/// .usa-tooltip__body--top::before {\n/// top: 100%;\n/// height: 5px;\n/// left: 0;\n/// right: 0;\n/// }\n@mixin tooltip-spacer($direction) {\n &::before {\n #{$direction}: 100%;\n\n @if ($direction == \"left\") or ($direction == \"right\") {\n bottom: 0;\n top: 0;\n width: $triangle-size;\n } @else {\n height: $triangle-size;\n left: 0;\n right: 0;\n }\n }\n}\n\n/* Tooltips */\n.usa-tooltip {\n display: inline-block;\n position: relative;\n}\n\n.usa-tooltip__trigger {\n cursor: pointer;\n\n > svg {\n display: block;\n pointer-events: none;\n }\n}\n\n.usa-tooltip__body,\n.usa-tooltip__body--top {\n transition: opacity 0.08s ease-in-out;\n background-color: color($theme-tooltip-background-color);\n border-radius: radius($theme-button-border-radius);\n color: color($theme-tooltip-font-color);\n display: none;\n font-size: size(\"ui\", $theme-tooltip-font-size);\n opacity: 0; // Required for recalculating position.\n padding: units(1);\n width: auto;\n white-space: pre;\n z-index: 100000;\n position: absolute;\n /* positioning is completed with JS */\n\n &::after {\n content: \"\";\n display: block;\n width: 0;\n height: 0;\n border-left: $triangle-size solid transparent;\n border-right: $triangle-size solid transparent;\n border-top: $triangle-size solid color($theme-tooltip-background-color);\n position: absolute;\n bottom: -$triangle-size;\n left: 50%;\n margin-left: -$triangle-size;\n }\n\n // This pseudo element fills the gap between the tooltip trigger and body.\n // Filling this gap allows the tooltip to stay open when the pointer moves\n // from the tooltip trigger to the body.\n &::before {\n content: \"\";\n display: block;\n position: absolute;\n }\n}\n\n.usa-tooltip__body--wrap {\n width: 100%;\n white-space: normal;\n text-align: center;\n min-width: calc(100vw / 2);\n}\n\n.usa-tooltip__body.is-set {\n display: block;\n}\n\n.usa-tooltip__body.is-visible {\n opacity: 1;\n}\n\n.usa-tooltip__body--top {\n @include tooltip-spacer(\"top\");\n}\n\n.usa-tooltip__body--bottom {\n @include tooltip-spacer(\"bottom\");\n\n &::after {\n border-left: $triangle-size solid transparent;\n border-right: $triangle-size solid transparent;\n border-bottom: $triangle-size solid color($theme-tooltip-background-color);\n border-top: 0;\n bottom: auto;\n top: -$triangle-size;\n }\n}\n\n.usa-tooltip__body--right {\n @include tooltip-spacer(\"right\");\n\n &::after {\n border-top: $triangle-size solid transparent;\n border-bottom: $triangle-size solid transparent;\n border-right: $triangle-size solid color($theme-tooltip-background-color);\n border-left: 0;\n right: auto;\n top: 50%;\n bottom: 0;\n left: -$triangle-size;\n margin: -$triangle-size 0 0 0;\n }\n}\n\n.usa-tooltip__body--left {\n @include tooltip-spacer(\"left\");\n\n &::after {\n border-top: $triangle-size solid transparent;\n border-bottom: $triangle-size solid transparent;\n border-left: $triangle-size solid color($theme-tooltip-background-color);\n border-right: 0;\n right: -$triangle-size;\n top: 50%;\n bottom: 0;\n left: auto;\n margin: -$triangle-size 0 0 0;\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-character-count__status {\n display: inline-block;\n padding-top: units(0.5);\n\n &.usa-character-count__status--invalid {\n color: color(\"error-dark\");\n font-weight: font-weight(\"bold\");\n }\n}\n","@use \"uswds-core\" as *;\n\n.usa-input {\n @extend %block-input-general;\n @extend %block-input-styles;\n\n &:disabled,\n &[aria-disabled=\"true\"] {\n @include u-disabled;\n @include u-disabled-high-contrast-border;\n // Fix for Safari\n -webkit-text-fill-color: color(\"disabled-dark\");\n }\n}\n\n// Create input max width utility classes\n@each $name, $width in $system-input-widths {\n .usa-input--#{$name},\n .usa-form .usa-input--#{$name} {\n max-width: #{$width};\n }\n}\n\n.usa-input--error {\n @include u-border($theme-input-state-border-width, \"error-dark\");\n padding-top: calc(#{units(1)} - #{units($theme-input-state-border-width)});\n padding-bottom: calc(#{units(1)} - #{units($theme-input-state-border-width)});\n}\n\n.usa-input--success {\n @include u-border($theme-input-state-border-width, \"success\");\n padding-top: calc(#{units(1)} - #{units($theme-input-state-border-width)});\n padding-bottom: calc(#{units(1)} - #{units($theme-input-state-border-width)});\n}\n","@use \"uswds-core\" as *;\n\n.usa-fieldset {\n @extend %block-input-general;\n border: none;\n margin: 0;\n padding: 0;\n}\n","@use \"uswds-core\" as *;\n\n.usa-legend {\n @include add-label-styles;\n}\n\n.usa-legend--large {\n font-size: font-size($theme-form-font-family, \"xl\");\n font-weight: font-weight(\"bold\");\n margin-top: units(2);\n}\n","@use \"../../settings\" as *;\n@use \"../../mixins/typography/typeset\" as *;\n@use \"../../functions/utilities/etc\" as *;\n@use \"../../functions/units/units\" as *;\n\n/// Applies consistent styles to form label and legend elements.\n@mixin add-label-styles() {\n @include typeset(\n $theme-form-font-family,\n $theme-body-font-size,\n $theme-input-line-height\n );\n display: block;\n font-weight: font-weight(\"normal\");\n margin-top: units(3);\n max-width: units($theme-input-max-width);\n}\n","@use \"uswds-core\" as *;\n\n@include override-prose {\n .usa-input-list {\n @include add-list-reset;\n\n li {\n line-height: line-height(\n $theme-form-font-family,\n $theme-input-line-height\n );\n }\n }\n}\n","@use \"sass:color\";\n@use \"sass:list\";\n\n@use \"../../functions\" as *;\n@use \"../../settings\" as *;\n@use \"../../variables/border-high-contrast\" as *;\n@use \"../general/add-background-svg\" as *;\n@use \"format-input\" as *;\n@use \"format-label\" as *;\n\n@mixin checkbox-colors($args...) {\n @include -checkbox-and-radio-colors($input-type: \"checkbox\", $args...);\n}\n\n@mixin radio-colors($args...) {\n @include -checkbox-and-radio-colors($input-type: \"radio\", $args...);\n}\n\n// Applies active state colors to tile variant backgrounds and borders.\n// Used by :checked checkbox and radio labels as well as :indeterminate checkboxes.\n//\n// @parameter $input-active-color - active input color determined by -checkbox-and-radio-colors mixin.\n@mixin active-tile-colors($input-active-color) {\n background-color: color.adjust(color($input-active-color), $alpha: -0.9);\n border-color: color($input-active-color);\n\n @media (forced-colors: active) {\n border: ButtonText solid units(\"05\");\n }\n}\n\n// Applies active state colors to input backgrounds and borders.\n// Used by :checked checkbox and radio inputs as well as :indeterminate checkboxes.\n//\n// @parameter $input-active-color - active input color determined by -checkbox-and-radio-colors mixin.\n@mixin active-input-colors($input-active-color) {\n background-color: color($input-active-color);\n box-shadow: 0 0 0 units($theme-input-select-border-width)\n color($input-active-color);\n}\n\n@mixin -checkbox-and-radio-colors(\n $bg-color: $theme-input-background-color,\n $selected-color: \"default\",\n $input-type: null\n) {\n $input-text-color: get-color-token-from-bg($bg-color);\n $input-text-color-disabled: get-color-token-from-bg(\n $bg-color,\n \"disabled\",\n \"gray-50\"\n );\n $input-bg-color: if(\n $bg-color == \"default\",\n $theme-body-background-color,\n $bg-color\n );\n $input-active-color: list.nth(\n get-link-tokens-from-bg($bg-color, $preferred-link-token: $selected-color),\n 1\n );\n $input-border-alpha: -0;\n $tile-border-color: color(\"gray-20\");\n $tile-border-color--disabled: color(\"gray-10\");\n $tile-box-shadow--disabled: 0 0 0 units($theme-input-select-border-width)\n color($input-text-color-disabled);\n $input-darkmode: if(\n color.lightness(color($input-bg-color)) < 50%,\n true,\n false\n );\n $input-checkmark: if($input-darkmode, \"correct8-alt\", \"correct8\");\n $input-indeterminate: if(\n $input-darkmode,\n \"checkbox-indeterminate-alt\",\n \"checkbox-indeterminate\"\n );\n\n .usa-#{$input-type} {\n background: color($input-bg-color);\n }\n\n .usa-#{$input-type}__label {\n color: color($input-text-color);\n\n &::before {\n background: color($input-bg-color);\n box-shadow: 0 0 0 units($theme-input-select-border-width)\n color.adjust(color($input-text-color), $alpha: $input-border-alpha);\n\n @media (forced-colors: active) {\n outline: $border-high-contrast;\n outline-offset: 2px;\n }\n }\n }\n .usa-#{$input-type}__input {\n &:checked {\n @include format-input {\n @include active-input-colors($input-active-color);\n }\n }\n &:disabled,\n &[aria-disabled=\"true\"] {\n @include format-label {\n color: color($input-text-color-disabled);\n cursor: not-allowed;\n\n @media (forced-colors: active) {\n color: GrayText;\n }\n }\n @include format-input {\n background-color: color($input-bg-color);\n box-shadow: $tile-box-shadow--disabled;\n }\n }\n &--tile {\n @include format-label {\n background-color: color($input-bg-color);\n border: units($theme-input-tile-border-width) solid $tile-border-color;\n color: color($input-text-color);\n }\n &:checked {\n @include format-label {\n @include active-tile-colors($input-active-color);\n }\n }\n &:disabled,\n &[aria-disabled=\"true\"] {\n @include format-label {\n border-color: $tile-border-color--disabled;\n }\n\n &:checked,\n &:indeterminate,\n &[data-indeterminate] {\n @include format-label {\n background-color: color($input-bg-color);\n }\n }\n }\n }\n }\n\n @if $input-type == \"checkbox\" {\n .usa-checkbox__input {\n // Adding indeterminate styles here avoids style conflicts from setting in .usa-#{$input-type}__input due to\n // radio buttons receiving :indeterminate state when none are selected.\n &:indeterminate,\n &[data-indeterminate] {\n @include format-input {\n @include add-background-svg($input-indeterminate);\n @include active-input-colors($input-active-color);\n background-position: center center;\n background-size: units(1.5) auto;\n\n @media (forced-colors: active) {\n @include add-background-svg(\"checkbox-indeterminate-alt\");\n background-color: color(SelectedItem);\n }\n }\n\n &:disabled,\n &[aria-disabled=\"true\"] {\n @include format-input {\n box-shadow: $tile-box-shadow--disabled;\n }\n\n @include format-label {\n border-color: $tile-border-color--disabled;\n }\n }\n }\n &--tile {\n &:indeterminate,\n &[data-indeterminate] {\n @include format-label {\n @include active-tile-colors($input-active-color);\n }\n }\n }\n &:checked,\n &:checked:disabled,\n &:checked[aria-disabled=\"true\"] {\n @include format-input {\n @include add-background-svg($input-checkmark);\n }\n\n @media (forced-colors: active) {\n @include format-input {\n @include add-background-svg(\"correct8-alt\");\n }\n }\n }\n &:checked:disabled,\n &:checked[aria-disabled=\"true\"],\n &:indeterminate:disabled,\n &:indeterminate[aria-disabled=\"true\"],\n &[data-indeterminate]:disabled,\n &[data-indeterminate][aria-disabled=\"true\"] {\n @include format-input {\n background-color: color($input-text-color-disabled);\n @media (forced-colors: active) {\n background-color: color(GrayText);\n }\n }\n }\n }\n }\n\n @if $input-type == \"radio\" {\n .usa-radio__input {\n &:checked {\n @include format-input {\n box-shadow:\n 0 0 0 units($theme-input-select-border-width)\n color($input-active-color),\n inset 0 0 0 units($theme-input-select-border-width)\n color($input-bg-color);\n\n @media (forced-colors: active) {\n background-color: ButtonText;\n }\n }\n }\n &:checked:disabled,\n &:checked[aria-disabled=\"true\"] {\n @include format-input {\n background-color: color($input-text-color-disabled);\n box-shadow:\n 0 0 0 2px color($input-text-color-disabled),\n inset 0 0 0 2px color($input-bg-color);\n\n @media (forced-colors: active) {\n background-color: color(GrayText);\n }\n }\n }\n }\n }\n}\n","@mixin format-input {\n & + [class*=\"__label\"]::before {\n @content;\n }\n}\n","@mixin format-label {\n & + [class*=\"__label\"] {\n @content;\n }\n}\n","@use \"sass:math\";\n\n@use \"uswds-core\" as *;\n\n@include checkbox-colors;\n\n.usa-checkbox__input {\n // The actual input element is only visible to screen readers, because\n // all visual styling is done via the label.\n @include sr-only();\n\n &:focus {\n @include format-input {\n @include focus-outline(null, null, null, 0.5);\n }\n }\n\n // Checkboxes and radios with tap-friendly targets\n &--tile {\n @include format-label {\n border-radius: radius($theme-input-tile-border-radius);\n margin-top: units(1);\n padding: units(1.5) units(2) units(1.5) units(5);\n\n &::before {\n left: units(5) - units($input-select-margin-right) - units(\n $theme-input-select-size\n );\n }\n }\n }\n}\n\n.usa-checkbox__input {\n &:checked {\n @include format-input {\n background-position: center center;\n background-size: units(1.5) auto;\n @media print {\n background-image: none;\n background-color: color(\"white\");\n content: \"\\2714\";\n text-align: center;\n }\n\n @media (forced-colors: active) {\n background-color: color(SelectedItem);\n }\n }\n }\n}\n\n.usa-checkbox__label {\n @extend %block-input-general;\n cursor: pointer;\n display: inherit;\n font-weight: font-weight(\"normal\");\n margin-top: units(1.5);\n padding-left: units($input-select-margin-right) +\n units($theme-input-select-size);\n position: relative;\n\n &::before {\n content: \" \";\n display: block;\n left: 0;\n margin-left: units($theme-input-select-border-width);\n margin-top: math.div(\n (\n line-height($theme-form-font-family, $theme-input-line-height) *\n font-size($theme-form-font-family, $theme-body-font-size) - units(\n $theme-input-select-size\n )\n ),\n 2\n );\n position: absolute;\n }\n}\n\n.usa-checkbox__label::before {\n @include u-square($theme-input-select-size);\n border-radius: radius($theme-checkbox-border-radius);\n}\n\n.usa-checkbox__label-description {\n display: block;\n font-size: size(\"ui\", \"2xs\");\n margin-top: units(1);\n}\n\n// Test code for scoped custom colors\n/*\n.checkbox-tests {\n @include set-text-and-bg(\"green-80\");\n @include checkbox-colors(\"green-80\", \"green-warm-10v\");\n padding: units(2);\n border-radius: radius(\"md\");\n}\n*/\n","@use \"uswds-core\" as *;\n\n.usa-select {\n @extend %block-input-general;\n @extend %block-input-styles;\n @include add-background-svg(\"usa-icons/unfold_more\");\n appearance: none;\n background-color: color(\"white\");\n background-position: right units(1) center;\n background-size: units(2.5);\n padding-right: units(4);\n\n &::-ms-expand {\n display: none;\n }\n\n // Show default webkit style on select element when autofilled to show icon\n &:-webkit-autofill {\n appearance: menulist;\n }\n\n // Remove dotted outline from select element on focus in Firefox\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 color(\"black\");\n }\n\n &[multiple] {\n height: auto;\n background-image: none;\n padding-right: 0;\n }\n\n option {\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n &:disabled,\n &[aria-disabled=\"true\"] {\n @include u-disabled;\n @include u-disabled-high-contrast-border;\n }\n\n // Necessary to show chevron in forced colors mode in modern browsers\n @media (forced-colors: active) {\n appearance: listbox; // Default + * + * Callout returns "20 degrees of 100." + * + * + * + * Callout returns "20 de 100." + * + * @param {HTMLInputElement} targetRange - The range slider input element + */ +const updateCallout = targetRange => { + const rangeSlider = targetRange; + const defaultPrep = "of"; + const optionalPrep = rangeSlider.dataset.textPreposition; + const prep = optionalPrep || defaultPrep; + const unit = rangeSlider.dataset.textUnit; + const val = rangeSlider.value; + // Note: 100 is the max attribute's native default value on range inputs + // Reference: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/range#validation + const max = rangeSlider.getAttribute("max") || 100; + let callout; + if (unit) { + callout = `${val} ${unit} ${prep} ${max}`; + } else { + callout = `${val} ${prep} ${max}`; + } + rangeSlider.setAttribute("aria-valuetext", callout); +}; +const rangeEvents = { + change: { + [RANGE]() { + updateCallout(this); + } + } +}; +const range = behavior(rangeEvents, { + init(root) { + selectOrMatches(RANGE, root).forEach(rangeSlider => { + updateCallout(rangeSlider); + }); + }, + updateCallout +}); +module.exports = range; + +},{"../../uswds-core/src/js/config":35,"../../uswds-core/src/js/utils/behavior":40,"../../uswds-core/src/js/utils/select-or-matches":47}],29:[function(require,module,exports){ +"use strict"; + +const ignore = require("receptor/ignore"); +const behavior = require("../../uswds-core/src/js/utils/behavior"); +const select = require("../../uswds-core/src/js/utils/select"); +const { + CLICK +} = require("../../uswds-core/src/js/events"); +const BUTTON = ".js-search-button"; +const FORM = ".js-search-form"; +const INPUT = "[type=search]"; +const CONTEXT = "header"; // XXX + +let lastButton; +const getForm = button => { + const context = button.closest(CONTEXT); + return context ? context.querySelector(FORM) : document.querySelector(FORM); +}; +const toggleSearch = (button, active) => { + const form = getForm(button); + if (!form) { + throw new Error(`No ${FORM} found for search toggle in ${CONTEXT}!`); + } + + /* eslint-disable no-param-reassign */ + button.hidden = active; + form.hidden = !active; + /* eslint-enable */ + + if (!active) { + return; + } + const input = form.querySelector(INPUT); + if (input) { + input.focus(); + } + // when the user clicks _outside_ of the form w/ignore(): hide the + // search, then remove the listener + const listener = ignore(form, () => { + if (lastButton) { + hideSearch.call(lastButton); // eslint-disable-line no-use-before-define + } + document.body.removeEventListener(CLICK, listener); + }); + + // Normally we would just run this code without a timeout, but + // IE11 and Edge will actually call the listener *immediately* because + // they are currently handling this exact type of event, so we'll + // make sure the browser is done handling the current click event, + // if any, before we attach the listener. + setTimeout(() => { + document.body.addEventListener(CLICK, listener); + }, 0); +}; +function showSearch() { + toggleSearch(this, true); + lastButton = this; +} +function hideSearch() { + toggleSearch(this, false); + lastButton = undefined; +} +const search = behavior({ + [CLICK]: { + [BUTTON]: showSearch + } +}, { + init(target) { + select(BUTTON, target).forEach(button => { + toggleSearch(button, false); + }); + }, + teardown() { + // forget the last button clicked + lastButton = undefined; + } +}); +module.exports = search; + +},{"../../uswds-core/src/js/events":36,"../../uswds-core/src/js/utils/behavior":40,"../../uswds-core/src/js/utils/select":48,"receptor/ignore":8}],30:[function(require,module,exports){ +"use strict"; + +const once = require("receptor/once"); +const behavior = require("../../uswds-core/src/js/utils/behavior"); +const { + CLICK +} = require("../../uswds-core/src/js/events"); +const { + prefix: PREFIX +} = require("../../uswds-core/src/js/config"); +const LINK = `.${PREFIX}-skipnav[href^="#"], .${PREFIX}-footer__return-to-top [href^="#"]`; +const MAINCONTENT = "main-content"; +function setTabindex() { + // NB: we know because of the selector we're delegating to below that the + // href already begins with '#' + const id = encodeURI(this.getAttribute("href")); + const target = document.getElementById(id === "#" ? MAINCONTENT : id.slice(1)); + if (target) { + target.style.outline = "0"; + target.setAttribute("tabindex", 0); + target.focus(); + target.addEventListener("blur", once(() => { + target.setAttribute("tabindex", -1); + })); + } else { + // throw an error? + } +} +module.exports = behavior({ + [CLICK]: { + [LINK]: setTabindex + } +}); + +},{"../../uswds-core/src/js/config":35,"../../uswds-core/src/js/events":36,"../../uswds-core/src/js/utils/behavior":40,"receptor/once":11}],31:[function(require,module,exports){ +"use strict"; + +const select = require("../../uswds-core/src/js/utils/select"); +const behavior = require("../../uswds-core/src/js/utils/behavior"); +const { + CLICK +} = require("../../uswds-core/src/js/events"); +const { + prefix: PREFIX +} = require("../../uswds-core/src/js/config"); +const Sanitizer = require("../../uswds-core/src/js/utils/sanitizer"); +const TABLE = `.${PREFIX}-table`; +const SORTED = "aria-sort"; +const ASCENDING = "ascending"; +const DESCENDING = "descending"; +const SORT_OVERRIDE = "data-sort-value"; +const SORT_BUTTON_CLASS = `${PREFIX}-table__header__button`; +const SORT_BUTTON = `.${SORT_BUTTON_CLASS}`; +const SORTABLE_HEADER = `th[data-sortable]`; +const ANNOUNCEMENT_REGION = `.${PREFIX}-table__announcement-region[aria-live="polite"]`; + +/** Gets the data-sort-value attribute value, if provided — otherwise, gets + * the innerText or textContent — of the child element (HTMLTableCellElement) + * at the specified index of the given table row + * + * @param {number} index + * @param {array} tr + * @return {boolean} + */ +const getCellValue = (tr, index) => tr.children[index].getAttribute(SORT_OVERRIDE) || tr.children[index].innerText || tr.children[index].textContent; + +/** + * Compares the values of two row array items at the given index, then sorts by the given direction + * @param {number} index + * @param {string} direction + * @return {boolean} + */ +const compareFunction = (index, isAscending) => (thisRow, nextRow) => { + // get values to compare from data attribute or cell content + const value1 = getCellValue(isAscending ? thisRow : nextRow, index); + const value2 = getCellValue(isAscending ? nextRow : thisRow, index); + + // if neither value is empty, and if both values are already numbers, compare numerically + if (value1 && value2 && !Number.isNaN(Number(value1)) && !Number.isNaN(Number(value2))) { + return value1 - value2; + } + // Otherwise, compare alphabetically based on current user locale + return value1.toString().localeCompare(value2, navigator.language, { + numeric: true, + ignorePunctuation: true + }); +}; + +/** + * Get an Array of column headers elements belonging directly to the given + * table element. + * @param {HTMLTableElement} table + * @return {array} + */ +const getColumnHeaders = table => { + const headers = select(SORTABLE_HEADER, table); + return headers.filter(header => header.closest(TABLE) === table); +}; + +/** + * Update the button label within the given header element, resetting it + * to the default state (ready to sort ascending) if it's no longer sorted + * @param {HTMLTableHeaderCellElement} header + */ +const updateSortLabel = header => { + const headerName = header.innerText; + const sortedAscending = header.getAttribute(SORTED) === ASCENDING; + const isSorted = header.getAttribute(SORTED) === ASCENDING || header.getAttribute(SORTED) === DESCENDING || false; + const headerLabel = `${headerName}, sortable column, currently ${isSorted ? `${sortedAscending ? `sorted ${ASCENDING}` : `sorted ${DESCENDING}`}` : "unsorted"}`; + const headerButtonLabel = `Click to sort by ${headerName} in ${sortedAscending ? DESCENDING : ASCENDING} order.`; + header.setAttribute("aria-label", headerLabel); + header.querySelector(SORT_BUTTON).setAttribute("title", headerButtonLabel); +}; + +/** + * Remove the aria-sort attribute on the given header element, and reset the label and button icon + * @param {HTMLTableHeaderCellElement} header + */ +const unsetSort = header => { + header.removeAttribute(SORTED); + updateSortLabel(header); +}; + +/** + * Sort rows either ascending or descending, based on a given header's aria-sort attribute + * @param {HTMLTableHeaderCellElement} header + * @param {boolean} isAscending + * @return {boolean} true + */ +const sortRows = (header, isAscending) => { + header.setAttribute(SORTED, isAscending === true ? DESCENDING : ASCENDING); + updateSortLabel(header); + const tbody = header.closest(TABLE).querySelector("tbody"); + + // We can use Array.from() and Array.sort() instead once we drop IE11 support, likely in the summer of 2021 + // + // Array.from(tbody.querySelectorAll('tr').sort( + // compareFunction( + // Array.from(header.parentNode.children).indexOf(header), + // !isAscending) + // ) + // .forEach(tr => tbody.appendChild(tr) ); + + // [].slice.call() turns array-like sets into true arrays so that we can sort them + const allRows = [].slice.call(tbody.querySelectorAll("tr")); + const allHeaders = [].slice.call(header.parentNode.children); + const thisHeaderIndex = allHeaders.indexOf(header); + allRows.sort(compareFunction(thisHeaderIndex, !isAscending)).forEach(tr => { + [].slice.call(tr.children).forEach(td => td.removeAttribute("data-sort-active")); + tr.children[thisHeaderIndex].setAttribute("data-sort-active", true); + tbody.appendChild(tr); + }); + return true; +}; + +/** + * Update the live region immediately following the table whenever sort changes. + * @param {HTMLTableElement} table + * @param {HTMLTableHeaderCellElement} sortedHeader + */ + +const updateLiveRegion = (table, sortedHeader) => { + const caption = table.querySelector("caption").innerText; + const sortedAscending = sortedHeader.getAttribute(SORTED) === ASCENDING; + const headerLabel = sortedHeader.innerText; + const liveRegion = table.nextElementSibling; + if (liveRegion && liveRegion.matches(ANNOUNCEMENT_REGION)) { + const sortAnnouncement = `The table named "${caption}" is now sorted by ${headerLabel} in ${sortedAscending ? ASCENDING : DESCENDING} order.`; + liveRegion.innerText = sortAnnouncement; + } else { + throw new Error(`Table containing a sortable column header is not followed by an aria-live region.`); + } +}; + +/** + * Toggle a header's sort state, optionally providing a target + * state. + * + * @param {HTMLTableHeaderCellElement} header + * @param {boolean?} isAscending If no state is provided, the current + * state will be toggled (from false to true, and vice-versa). + */ +const toggleSort = (header, isAscending) => { + const table = header.closest(TABLE); + let safeAscending = isAscending; + if (typeof safeAscending !== "boolean") { + safeAscending = header.getAttribute(SORTED) === ASCENDING; + } + if (!table) { + throw new Error(`${SORTABLE_HEADER} is missing outer ${TABLE}`); + } + safeAscending = sortRows(header, isAscending); + if (safeAscending) { + getColumnHeaders(table).forEach(otherHeader => { + if (otherHeader !== header) { + unsetSort(otherHeader); + } + }); + updateLiveRegion(table, header); + } +}; + +/** + ** Inserts a button with icon inside a sortable header + * @param {HTMLTableHeaderCellElement} header + */ + +const createHeaderButton = header => { + const buttonEl = document.createElement("button"); + buttonEl.setAttribute("tabindex", "0"); + buttonEl.classList.add(SORT_BUTTON_CLASS); + // ICON_SOURCE + buttonEl.innerHTML = Sanitizer.escapeHTML` + + + + + + + + + + + + `; + header.appendChild(buttonEl); + updateSortLabel(header); +}; +const table = behavior({ + [CLICK]: { + [SORT_BUTTON](event) { + event.preventDefault(); + toggleSort(event.target.closest(SORTABLE_HEADER), event.target.closest(SORTABLE_HEADER).getAttribute(SORTED) === ASCENDING); + } + } +}, { + init(root) { + const sortableHeaders = select(SORTABLE_HEADER, root); + sortableHeaders.forEach(header => createHeaderButton(header)); + const firstSorted = sortableHeaders.filter(header => header.getAttribute(SORTED) === ASCENDING || header.getAttribute(SORTED) === DESCENDING)[0]; + if (typeof firstSorted === "undefined") { + // no sortable headers found + return; + } + const sortDir = firstSorted.getAttribute(SORTED); + if (sortDir === ASCENDING) { + toggleSort(firstSorted, true); + } else if (sortDir === DESCENDING) { + toggleSort(firstSorted, false); + } + }, + TABLE, + SORTABLE_HEADER, + SORT_BUTTON +}); +module.exports = table; + +},{"../../uswds-core/src/js/config":35,"../../uswds-core/src/js/events":36,"../../uswds-core/src/js/utils/behavior":40,"../../uswds-core/src/js/utils/sanitizer":45,"../../uswds-core/src/js/utils/select":48}],32:[function(require,module,exports){ +"use strict"; + +const behavior = require("../../uswds-core/src/js/utils/behavior"); +const selectOrMatches = require("../../uswds-core/src/js/utils/select-or-matches"); +const { + prefix: PREFIX +} = require("../../uswds-core/src/js/config"); +const { + COMBO_BOX_CLASS, + enhanceComboBox +} = require("../../usa-combo-box/src/index"); +const TIME_PICKER_CLASS = `${PREFIX}-time-picker`; +const TIME_PICKER = `.${TIME_PICKER_CLASS}`; +const MAX_TIME = 60 * 24 - 1; +const MIN_TIME = 0; +const DEFAULT_STEP = 30; +const MIN_STEP = 1; +const FILTER_DATASET = { + filter: "0?{{ hourQueryFilter }}:{{minuteQueryFilter}}.*{{ apQueryFilter }}m?", + apQueryFilter: "([ap])", + hourQueryFilter: "([1-9][0-2]?)", + minuteQueryFilter: "[\\d]+:([0-9]{0,2})" +}; + +/** + * Parse a string of hh:mm into minutes + * + * @param {string} timeStr the time string to parse + * @returns {number} the number of minutes + */ +const parseTimeString = timeStr => { + let minutes; + if (timeStr) { + const [hours, mins] = timeStr.split(":").map(str => { + let value; + const parsed = parseInt(str, 10); + if (!Number.isNaN(parsed)) value = parsed; + return value; + }); + if (hours != null && mins != null) { + minutes = hours * 60 + mins; + } + } + return minutes; +}; + +/** + * Enhance an input with the date picker elements + * + * @param {HTMLElement} el The initial wrapping element of the date picker component + */ +const transformTimePicker = el => { + const timePickerEl = el.closest(TIME_PICKER); + const initialInputEl = timePickerEl.querySelector(`input`); + if (!initialInputEl) { + throw new Error(`${TIME_PICKER} is missing inner input`); + } + const selectEl = document.createElement("select"); + ["id", "name", "required", "aria-label", "aria-labelledby", "disabled", "aria-disabled"].forEach(name => { + if (initialInputEl.hasAttribute(name)) { + const value = initialInputEl.getAttribute(name); + selectEl.setAttribute(name, value); + initialInputEl.removeAttribute(name); + } + }); + const padZeros = (value, length) => `0000${value}`.slice(-length); + const getTimeContext = minutes => { + const minute = minutes % 60; + const hour24 = Math.floor(minutes / 60); + const hour12 = hour24 % 12 || 12; + const ampm = hour24 < 12 ? "am" : "pm"; + return { + minute, + hour24, + hour12, + ampm + }; + }; + const minTime = Math.max(MIN_TIME, parseTimeString(timePickerEl.dataset.minTime) || MIN_TIME); + const maxTime = Math.min(MAX_TIME, parseTimeString(timePickerEl.dataset.maxTime) || MAX_TIME); + const step = Math.floor(Math.max(MIN_STEP, timePickerEl.dataset.step || DEFAULT_STEP)); + let defaultValue; + for (let time = minTime; time <= maxTime; time += step) { + const { + minute, + hour24, + hour12, + ampm + } = getTimeContext(time); + const option = document.createElement("option"); + option.value = `${padZeros(hour24, 2)}:${padZeros(minute, 2)}`; + option.text = `${hour12}:${padZeros(minute, 2)}${ampm}`; + if (option.text === initialInputEl.value) { + defaultValue = option.value; + } + selectEl.appendChild(option); + } + timePickerEl.classList.add(COMBO_BOX_CLASS); + + // combo box properties + Object.keys(FILTER_DATASET).forEach(key => { + timePickerEl.dataset[key] = FILTER_DATASET[key]; + }); + timePickerEl.dataset.disableFiltering = "true"; + timePickerEl.dataset.defaultValue = defaultValue; + timePickerEl.appendChild(selectEl); + initialInputEl.remove(); +}; +const timePicker = behavior({}, { + init(root) { + selectOrMatches(TIME_PICKER, root).forEach(timePickerEl => { + transformTimePicker(timePickerEl); + enhanceComboBox(timePickerEl); + }); + }, + FILTER_DATASET +}); +module.exports = timePicker; + +},{"../../usa-combo-box/src/index":18,"../../uswds-core/src/js/config":35,"../../uswds-core/src/js/utils/behavior":40,"../../uswds-core/src/js/utils/select-or-matches":47}],33:[function(require,module,exports){ +"use strict"; + +// Tooltips +const keymap = require("receptor/keymap"); +const selectOrMatches = require("../../uswds-core/src/js/utils/select-or-matches"); +const behavior = require("../../uswds-core/src/js/utils/behavior"); +const { + prefix: PREFIX +} = require("../../uswds-core/src/js/config"); +const isElementInViewport = require("../../uswds-core/src/js/utils/is-in-viewport"); +const BODY = "body"; +const TOOLTIP = `.${PREFIX}-tooltip`; +const TOOLTIP_TRIGGER = `.${PREFIX}-tooltip__trigger`; +const TOOLTIP_TRIGGER_CLASS = `${PREFIX}-tooltip__trigger`; +const TOOLTIP_CLASS = `${PREFIX}-tooltip`; +const TOOLTIP_BODY_CLASS = `${PREFIX}-tooltip__body`; +const SET_CLASS = "is-set"; +const VISIBLE_CLASS = "is-visible"; +const TRIANGLE_SIZE = 5; +const ADJUST_WIDTH_CLASS = `${PREFIX}-tooltip__body--wrap`; + +/** + * + * @param {DOMElement} trigger - The tooltip trigger + * @returns {object} Elements for initialized tooltip; includes trigger, wrapper, and body + */ +const getTooltipElements = trigger => { + const wrapper = trigger.parentNode; + const body = wrapper.querySelector(`.${TOOLTIP_BODY_CLASS}`); + return { + trigger, + wrapper, + body + }; +}; + +/** + * Shows the tooltip + * @param {HTMLElement} tooltipTrigger - the element that initializes the tooltip + */ +const showToolTip = (tooltipBody, tooltipTrigger, position) => { + tooltipBody.setAttribute("aria-hidden", "false"); + + // This sets up the tooltip body. The opacity is 0, but + // we can begin running the calculations below. + tooltipBody.classList.add(SET_CLASS); + + /** + * Position the tooltip body when the trigger is hovered + * Removes old positioning classnames and reapplies. This allows + * positioning to change in case the user resizes browser or DOM manipulation + * causes tooltip to get clipped from viewport + * + * @param {string} setPos - can be "top", "bottom", "right", "left" + */ + const setPositionClass = setPos => { + tooltipBody.classList.remove(`${TOOLTIP_BODY_CLASS}--top`); + tooltipBody.classList.remove(`${TOOLTIP_BODY_CLASS}--bottom`); + tooltipBody.classList.remove(`${TOOLTIP_BODY_CLASS}--right`); + tooltipBody.classList.remove(`${TOOLTIP_BODY_CLASS}--left`); + tooltipBody.classList.add(`${TOOLTIP_BODY_CLASS}--${setPos}`); + }; + + /** + * Removes old positioning styles. This allows + * re-positioning to change without inheriting other + * dynamic styles + * + * @param {HTMLElement} e - this is the tooltip body + */ + const resetPositionStyles = e => { + // we don't override anything in the stylesheet when finding alt positions + e.style.top = null; + e.style.bottom = null; + e.style.right = null; + e.style.left = null; + e.style.margin = null; + }; + + /** + * get margin offset calculations + * + * @param {HTMLElement} target - this is the tooltip body + * @param {String} propertyValue - this is the tooltip body + */ + + const offsetMargin = (target, propertyValue) => parseInt(window.getComputedStyle(target).getPropertyValue(propertyValue), 10); + + // offsetLeft = the left position, and margin of the element, the left + // padding, scrollbar and border of the offsetParent element + // offsetWidth = The offsetWidth property returns the viewable width of an + // element in pixels, including padding, border and scrollbar, but not + // the margin. + + /** + * Calculate margin offset + * tooltip trigger margin(position) offset + tooltipBody offsetWidth + * @param {String} marginPosition + * @param {Number} tooltipBodyOffset + * @param {HTMLElement} trigger + */ + const calculateMarginOffset = (marginPosition, tooltipBodyOffset, trigger) => { + const offset = offsetMargin(trigger, `margin-${marginPosition}`) > 0 ? tooltipBodyOffset - offsetMargin(trigger, `margin-${marginPosition}`) : tooltipBodyOffset; + return offset; + }; + + /** + * Positions tooltip at the top + * @param {HTMLElement} e - this is the tooltip body + */ + const positionTop = e => { + resetPositionStyles(e); // ensures we start from the same point + // get details on the elements object with + + const topMargin = calculateMarginOffset("top", e.offsetHeight, tooltipTrigger); + const leftMargin = calculateMarginOffset("left", e.offsetWidth, tooltipTrigger); + setPositionClass("top"); + e.style.left = `50%`; // center the element + e.style.top = `-${TRIANGLE_SIZE}px`; // consider the pseudo element + // apply our margins based on the offset + e.style.margin = `-${topMargin}px 0 0 -${leftMargin / 2}px`; + }; + + /** + * Positions tooltip at the bottom + * @param {HTMLElement} e - this is the tooltip body + */ + const positionBottom = e => { + resetPositionStyles(e); + const leftMargin = calculateMarginOffset("left", e.offsetWidth, tooltipTrigger); + setPositionClass("bottom"); + e.style.left = `50%`; + e.style.margin = `${TRIANGLE_SIZE}px 0 0 -${leftMargin / 2}px`; + }; + + /** + * Positions tooltip at the right + * @param {HTMLElement} e - this is the tooltip body + */ + const positionRight = e => { + resetPositionStyles(e); + const topMargin = calculateMarginOffset("top", e.offsetHeight, tooltipTrigger); + setPositionClass("right"); + e.style.top = `50%`; + e.style.left = `${tooltipTrigger.offsetLeft + tooltipTrigger.offsetWidth + TRIANGLE_SIZE}px`; + e.style.margin = `-${topMargin / 2}px 0 0 0`; + }; + + /** + * Positions tooltip at the right + * @param {HTMLElement} e - this is the tooltip body + */ + const positionLeft = e => { + resetPositionStyles(e); + const topMargin = calculateMarginOffset("top", e.offsetHeight, tooltipTrigger); + + // we have to check for some utility margins + const leftMargin = calculateMarginOffset("left", tooltipTrigger.offsetLeft > e.offsetWidth ? tooltipTrigger.offsetLeft - e.offsetWidth : e.offsetWidth, tooltipTrigger); + setPositionClass("left"); + e.style.top = `50%`; + e.style.left = `-${TRIANGLE_SIZE}px`; + e.style.margin = `-${topMargin / 2}px 0 0 ${tooltipTrigger.offsetLeft > e.offsetWidth ? leftMargin : -leftMargin}px`; // adjust the margin + }; + + /** + * We try to set the position based on the + * original intention, but make adjustments + * if the element is clipped out of the viewport + * we constrain the width only as a last resort + * @param {HTMLElement} element(alias tooltipBody) + * @param {Number} attempt (--flag) + */ + + const maxAttempts = 2; + function findBestPosition(element, attempt = 1) { + // create array of optional positions + const positions = [positionTop, positionBottom, positionRight, positionLeft]; + let hasVisiblePosition = false; + + // we take a recursive approach + function tryPositions(i) { + if (i < positions.length) { + const pos = positions[i]; + pos(element); + if (!isElementInViewport(element)) { + // eslint-disable-next-line no-param-reassign + tryPositions(i += 1); + } else { + hasVisiblePosition = true; + } + } + } + tryPositions(0); + // if we can't find a position we compress it and try again + if (!hasVisiblePosition) { + element.classList.add(ADJUST_WIDTH_CLASS); + if (attempt <= maxAttempts) { + // eslint-disable-next-line no-param-reassign + findBestPosition(element, attempt += 1); + } + } + } + switch (position) { + case "top": + positionTop(tooltipBody); + if (!isElementInViewport(tooltipBody)) { + findBestPosition(tooltipBody); + } + break; + case "bottom": + positionBottom(tooltipBody); + if (!isElementInViewport(tooltipBody)) { + findBestPosition(tooltipBody); + } + break; + case "right": + positionRight(tooltipBody); + if (!isElementInViewport(tooltipBody)) { + findBestPosition(tooltipBody); + } + break; + case "left": + positionLeft(tooltipBody); + if (!isElementInViewport(tooltipBody)) { + findBestPosition(tooltipBody); + } + break; + default: + // skip default case + break; + } + + /** + * Actually show the tooltip. The VISIBLE_CLASS + * will change the opacity to 1 + */ + setTimeout(() => { + tooltipBody.classList.add(VISIBLE_CLASS); + }, 20); +}; + +/** + * Removes all the properties to show and position the tooltip, + * and resets the tooltip position to the original intention + * in case the window is resized or the element is moved through + * DOM manipulation. + * @param {HTMLElement} tooltipBody - The body of the tooltip + */ +const hideToolTip = tooltipBody => { + tooltipBody.classList.remove(VISIBLE_CLASS); + tooltipBody.classList.remove(SET_CLASS); + tooltipBody.classList.remove(ADJUST_WIDTH_CLASS); + tooltipBody.setAttribute("aria-hidden", "true"); +}; + +/** + * Setup the tooltip component + * @param {HTMLElement} tooltipTrigger The element that creates the tooltip + */ +const setUpAttributes = tooltipTrigger => { + const tooltipID = `tooltip-${Math.floor(Math.random() * 900000) + 100000}`; + const tooltipContent = tooltipTrigger.getAttribute("title"); + const wrapper = document.createElement("span"); + const tooltipBody = document.createElement("span"); + const additionalClasses = tooltipTrigger.getAttribute("data-classes"); + let position = tooltipTrigger.getAttribute("data-position"); + + // Apply default position if not set as attribute + if (!position) { + position = "top"; + tooltipTrigger.setAttribute("data-position", position); + } + + // Set up tooltip attributes + tooltipTrigger.setAttribute("aria-describedby", tooltipID); + tooltipTrigger.setAttribute("tabindex", "0"); + tooltipTrigger.removeAttribute("title"); + tooltipTrigger.classList.remove(TOOLTIP_CLASS); + tooltipTrigger.classList.add(TOOLTIP_TRIGGER_CLASS); + + // insert wrapper before el in the DOM tree + tooltipTrigger.parentNode.insertBefore(wrapper, tooltipTrigger); + + // set up the wrapper + wrapper.appendChild(tooltipTrigger); + wrapper.classList.add(TOOLTIP_CLASS); + wrapper.appendChild(tooltipBody); + + // Apply additional class names to wrapper element + if (additionalClasses) { + const classesArray = additionalClasses.split(" "); + classesArray.forEach(classname => wrapper.classList.add(classname)); + } + + // set up the tooltip body + tooltipBody.classList.add(TOOLTIP_BODY_CLASS); + tooltipBody.setAttribute("id", tooltipID); + tooltipBody.setAttribute("role", "tooltip"); + tooltipBody.setAttribute("aria-hidden", "true"); + + // place the text in the tooltip + tooltipBody.textContent = tooltipContent; + return { + tooltipBody, + position, + tooltipContent, + wrapper + }; +}; + +/** + * Hide all active tooltips when escape key is pressed. + */ + +const handleEscape = () => { + const activeTooltips = selectOrMatches(`.${TOOLTIP_BODY_CLASS}.${SET_CLASS}`); + if (!activeTooltips) { + return; + } + activeTooltips.forEach(activeTooltip => hideToolTip(activeTooltip)); +}; + +// Setup our function to run on various events +const tooltip = behavior({ + "mouseover focusin": { + [TOOLTIP](e) { + const trigger = e.target; + const elementType = trigger.nodeName; + + // Initialize tooltip if it hasn't already + if (elementType === "BUTTON" && trigger.hasAttribute("title")) { + setUpAttributes(trigger); + } + }, + [TOOLTIP_TRIGGER](e) { + const { + trigger, + body + } = getTooltipElements(e.target); + showToolTip(body, trigger, trigger.dataset.position); + } + }, + focusout: { + [TOOLTIP_TRIGGER](e) { + const { + body + } = getTooltipElements(e.target); + hideToolTip(body); + } + }, + keydown: { + [BODY]: keymap({ + Escape: handleEscape + }) + } +}, { + init(root) { + selectOrMatches(TOOLTIP, root).forEach(tooltipTrigger => { + setUpAttributes(tooltipTrigger); + const { + body, + wrapper + } = getTooltipElements(tooltipTrigger); + wrapper.addEventListener("mouseleave", () => hideToolTip(body)); + }); + }, + teardown(root) { + selectOrMatches(TOOLTIP, root).forEach(tooltipWrapper => { + tooltipWrapper.removeEventListener("mouseleave", hideToolTip); + }); + }, + setup: setUpAttributes, + getTooltipElements, + show: showToolTip, + hide: hideToolTip +}); +module.exports = tooltip; + +},{"../../uswds-core/src/js/config":35,"../../uswds-core/src/js/utils/behavior":40,"../../uswds-core/src/js/utils/is-in-viewport":43,"../../uswds-core/src/js/utils/select-or-matches":47,"receptor/keymap":10}],34:[function(require,module,exports){ +"use strict"; + +const behavior = require("../../uswds-core/src/js/utils/behavior"); +const validate = require("../../uswds-core/src/js/utils/validate-input"); +const { + prefix: PREFIX +} = require("../../uswds-core/src/js/config"); +const selectOrMatches = require("../../uswds-core/src/js/utils/select-or-matches"); +const VALIDATE_INPUT = "input[data-validation-element],textarea[data-validation-element]"; +const CHECKLIST_ITEM = `.${PREFIX}-checklist__item`; + +// Trigger validation on input change +const handleChange = el => validate(el); + +// Create container to hold aria readout +const createStatusElement = input => { + const validationContainer = input.parentNode; + const inputID = input.getAttribute("id"); + const statusSummaryID = `${inputID}-sr-summary`; + input.setAttribute("aria-describedby", statusSummaryID); + const statusSummaryContainer = document.createElement("span"); + statusSummaryContainer.setAttribute("data-validation-status", ""); + statusSummaryContainer.classList.add("usa-sr-only"); + statusSummaryContainer.setAttribute("aria-live", "polite"); + statusSummaryContainer.setAttribute("aria-atomic", true); + statusSummaryContainer.setAttribute("id", statusSummaryID); + validationContainer.append(statusSummaryContainer); +}; + +// Set up checklist items with initial aria-label (incomplete) values +const createInitialStatus = input => { + const validationContainer = input.parentNode; + const checklistItems = validationContainer.querySelectorAll(CHECKLIST_ITEM); + const validationElement = input.getAttribute("data-validation-element"); + input.setAttribute("aria-controls", validationElement); + checklistItems.forEach(listItem => { + let currentStatus = "status incomplete"; + if (input.hasAttribute("data-validation-incomplete")) { + currentStatus = input.getAttribute("data-validation-incomplete"); + } + const itemStatus = `${listItem.textContent} ${currentStatus} `; + listItem.setAttribute("aria-label", itemStatus); + }); +}; +const enhanceValidation = input => { + createStatusElement(input); + createInitialStatus(input); +}; +const validator = behavior({ + "input change": { + [VALIDATE_INPUT](event) { + handleChange(event.target); + } + } +}, { + init(root) { + selectOrMatches(VALIDATE_INPUT, root).forEach(input => enhanceValidation(input)); + } +}); +module.exports = validator; + +},{"../../uswds-core/src/js/config":35,"../../uswds-core/src/js/utils/behavior":40,"../../uswds-core/src/js/utils/select-or-matches":47,"../../uswds-core/src/js/utils/validate-input":52}],35:[function(require,module,exports){ +"use strict"; + +module.exports = { + prefix: "usa" +}; + +},{}],36:[function(require,module,exports){ +"use strict"; + +module.exports = { + // This used to be conditionally dependent on whether the + // browser supported touch events; if it did, `CLICK` was set to + // `touchstart`. However, this had downsides: + // + // * It pre-empted mobile browsers' default behavior of detecting + // whether a touch turned into a scroll, thereby preventing + // users from using some of our components as scroll surfaces. + // + // * Some devices, such as the Microsoft Surface Pro, support *both* + // touch and clicks. This meant the conditional effectively dropped + // support for the user's mouse, frustrating users who preferred + // it on those systems. + CLICK: "click" +}; + +},{}],37:[function(require,module,exports){ +"use strict"; + +const accordion = require("../../../usa-accordion/src/index"); +const banner = require("../../../usa-banner/src/index"); +const button = require("../../../usa-button/src/index"); +const characterCount = require("../../../usa-character-count/src/index"); +const comboBox = require("../../../usa-combo-box/src/index"); +const datePicker = require("../../../usa-date-picker/src/index"); +const dateRangePicker = require("../../../usa-date-range-picker/src/index"); +const fileInput = require("../../../usa-file-input/src/index"); +const footer = require("../../../usa-footer/src/index"); +const inPageNavigation = require("../../../usa-in-page-navigation/src/index"); +const inputMask = require("../../../usa-input-mask/src/index"); +const languageSelector = require("../../../usa-language-selector/src/index"); +const modal = require("../../../usa-modal/src/index"); +const navigation = require("../../../usa-header/src/index"); +const password = require("../../../_usa-password/src/index"); +const range = require("../../../usa-range/src/index"); +const search = require("../../../usa-search/src/index"); +const skipnav = require("../../../usa-skipnav/src/index"); +const table = require("../../../usa-table/src/index"); +const timePicker = require("../../../usa-time-picker/src/index"); +const tooltip = require("../../../usa-tooltip/src/index"); +const validator = require("../../../usa-validation/src/index"); +module.exports = { + accordion, + banner, + button, + characterCount, + comboBox, + datePicker, + dateRangePicker, + fileInput, + footer, + inPageNavigation, + inputMask, + languageSelector, + modal, + navigation, + password, + range, + search, + skipnav, + table, + timePicker, + tooltip, + validator +}; + +},{"../../../_usa-password/src/index":13,"../../../usa-accordion/src/index":14,"../../../usa-banner/src/index":15,"../../../usa-button/src/index":16,"../../../usa-character-count/src/index":17,"../../../usa-combo-box/src/index":18,"../../../usa-date-picker/src/index":19,"../../../usa-date-range-picker/src/index":20,"../../../usa-file-input/src/index":21,"../../../usa-footer/src/index":22,"../../../usa-header/src/index":23,"../../../usa-in-page-navigation/src/index":24,"../../../usa-input-mask/src/index":25,"../../../usa-language-selector/src/index":26,"../../../usa-modal/src/index":27,"../../../usa-range/src/index":28,"../../../usa-search/src/index":29,"../../../usa-skipnav/src/index":30,"../../../usa-table/src/index":31,"../../../usa-time-picker/src/index":32,"../../../usa-tooltip/src/index":33,"../../../usa-validation/src/index":34}],38:[function(require,module,exports){ +"use strict"; + +window.uswdsPresent = true; // GLOBAL variable to indicate that the uswds.js has loaded in the DOM. + +const uswds = require("./config"); +const components = require("./index"); +uswds.components = components; +const initComponents = () => { + const target = document.body; + Object.keys(components).forEach(key => { + const behavior = components[key]; + behavior.on(target); + }); +}; +if (document.readyState === "loading") { + document.addEventListener("DOMContentLoaded", initComponents, { + once: true + }); +} else { + initComponents(); +} +exports.default = uswds; +exports.initComponents = initComponents; + +},{"./config":35,"./index":37}],39:[function(require,module,exports){ +"use strict"; + +module.exports = (htmlDocument = document) => htmlDocument.activeElement; + +},{}],40:[function(require,module,exports){ +"use strict"; + +const Behavior = require("receptor/behavior"); + +/** + * @name sequence + * @param {...Function} seq an array of functions + * @return { closure } callHooks + */ +// We use a named function here because we want it to inherit its lexical scope +// from the behavior props object, not from the module +const sequence = (...seq) => function callHooks(target = document.body) { + seq.forEach(method => { + if (typeof this[method] === "function") { + this[method].call(this, target); + } + }); +}; + +/** + * @name behavior + * @param {object} events + * @param {object?} props + * @return {receptor.behavior} + */ +module.exports = (events, props) => Behavior(events, { + on: sequence("init", "add"), + off: sequence("teardown", "remove"), + ...props +}); + +},{"receptor/behavior":4}],41:[function(require,module,exports){ +"use strict"; + +/** + * Call a function every X amount of milliseconds. + * + * @param {Function} callback - A callback function to be debounced + * @param {number} delay - Milliseconds to wait before calling function + * @returns {Function} A debounced function + * @example const updateStatus = debounce((string) => console.log(string), 2000) + */ + +module.exports = function debounce(callback, delay = 500) { + let timer = null; + return (...args) => { + window.clearTimeout(timer); + timer = window.setTimeout(() => { + callback.apply(this, args); + }, delay); + }; +}; + +},{}],42:[function(require,module,exports){ +"use strict"; + +const { + keymap +} = require("receptor"); +const behavior = require("./behavior"); +const select = require("./select"); +const activeElement = require("./active-element"); +const FOCUSABLE = 'a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, [tabindex="0"], [contenteditable]'; +const tabHandler = context => { + const focusableElements = select(FOCUSABLE, context); + const firstTabStop = focusableElements[0]; + const lastTabStop = focusableElements[focusableElements.length - 1]; + + // Special rules for when the user is tabbing forward from the last focusable element, + // or when tabbing backwards from the first focusable element + function tabAhead(event) { + if (activeElement() === lastTabStop) { + event.preventDefault(); + firstTabStop.focus(); + } + } + function tabBack(event) { + if (activeElement() === firstTabStop) { + event.preventDefault(); + lastTabStop.focus(); + } + // This checks if you want to set the initial focus to a container + // instead of an element within, and the user tabs back. + // Then we set the focus to the first + else if (!focusableElements.includes(activeElement())) { + event.preventDefault(); + firstTabStop.focus(); + } + } + return { + firstTabStop, + lastTabStop, + tabAhead, + tabBack + }; +}; +module.exports = (context, additionalKeyBindings = {}) => { + const tabEventHandler = tabHandler(context); + const bindings = additionalKeyBindings; + const { + Esc, + Escape + } = bindings; + if (Escape && !Esc) bindings.Esc = Escape; + + // TODO: In the future, loop over additional keybindings and pass an array + // of functions, if necessary, to the map keys. Then people implementing + // the focus trap could pass callbacks to fire when tabbing + const keyMappings = keymap({ + Tab: tabEventHandler.tabAhead, + "Shift+Tab": tabEventHandler.tabBack, + ...additionalKeyBindings + }); + const focusTrap = behavior({ + keydown: keyMappings + }, { + init() { + // TODO: is this desireable behavior? Should the trap always do this by default or should + // the component getting decorated handle this? + if (tabEventHandler.firstTabStop) { + tabEventHandler.firstTabStop.focus(); + } + }, + update(isActive) { + if (isActive) { + this.on(); + } else { + this.off(); + } + } + }); + return focusTrap; +}; + +},{"./active-element":39,"./behavior":40,"./select":48,"receptor":9}],43:[function(require,module,exports){ +"use strict"; + +// https://stackoverflow.com/a/7557433 +function isElementInViewport(el, win = window, docEl = document.documentElement) { + const rect = el.getBoundingClientRect(); + return rect.top >= 0 && rect.left >= 0 && rect.bottom <= (win.innerHeight || docEl.clientHeight) && rect.right <= (win.innerWidth || docEl.clientWidth); +} +module.exports = isElementInViewport; + +},{}],44:[function(require,module,exports){ +"use strict"; + +// iOS detection from: http://stackoverflow.com/a/9039885/177710 +function isIosDevice() { + return typeof navigator !== "undefined" && (navigator.userAgent.match(/(iPod|iPhone|iPad)/g) || navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1) && !window.MSStream; +} +module.exports = isIosDevice; + +},{}],45:[function(require,module,exports){ +"use strict"; + +/* eslint-disable */ +/* globals define, module */ + +/** + * A simple library to help you escape HTML using template strings. + * + * It's the counterpart to our eslint "no-unsafe-innerhtml" plugin that helps us + * avoid unsafe coding practices. + * A full write-up of the Hows and Whys are documented + * for developers at + * https://developer.mozilla.org/en-US/Firefox_OS/Security/Security_Automation + * with additional background information and design docs at + * https://wiki.mozilla.org/User:Fbraun/Gaia/SafeinnerHTMLRoadmap + * + */ + +!function (factory) { + module.exports = factory(); +}(function () { + "use strict"; + + var Sanitizer = { + _entity: /[&<>"'/]/g, + _entities: { + "&": "&", + "<": "<", + ">": ">", + '"': """, + "'": "'", + "/": "/" + }, + getEntity: function (s) { + return Sanitizer._entities[s]; + }, + /** + * Escapes HTML for all values in a tagged template string. + */ + escapeHTML: function (strings) { + var result = ""; + for (var i = 0; i < strings.length; i++) { + result += strings[i]; + if (i + 1 < arguments.length) { + var value = arguments[i + 1] || ""; + result += String(value).replace(Sanitizer._entity, Sanitizer.getEntity); + } + } + return result; + }, + /** + * Escapes HTML and returns a wrapped object to be used during DOM insertion + */ + createSafeHTML: function (strings) { + var _len = arguments.length; + var values = new Array(_len > 1 ? _len - 1 : 0); + for (var _key = 1; _key < _len; _key++) { + values[_key - 1] = arguments[_key]; + } + var escaped = Sanitizer.escapeHTML.apply(Sanitizer, [strings].concat(values)); + return { + __html: escaped, + toString: function () { + return "[object WrappedHTMLObject]"; + }, + info: "This is a wrapped HTML object. See https://developer.mozilla.or" + "g/en-US/Firefox_OS/Security/Security_Automation for more." + }; + }, + /** + * Unwrap safe HTML created by createSafeHTML or a custom replacement that + * underwent security review. + */ + unwrapSafeHTML: function () { + var _len = arguments.length; + var htmlObjects = new Array(_len); + for (var _key = 0; _key < _len; _key++) { + htmlObjects[_key] = arguments[_key]; + } + var markupList = htmlObjects.map(function (obj) { + return obj.__html; + }); + return markupList.join(""); + } + }; + return Sanitizer; +}); + +},{}],46:[function(require,module,exports){ +"use strict"; + +module.exports = function getScrollbarWidth() { + // Creating invisible container + const outer = document.createElement("div"); + outer.style.visibility = "hidden"; + outer.style.overflow = "scroll"; // forcing scrollbar to appear + outer.style.msOverflowStyle = "scrollbar"; // needed for WinJS apps + document.body.appendChild(outer); + + // Creating inner element and placing it in the container + const inner = document.createElement("div"); + outer.appendChild(inner); + + // Calculating difference between container's full width and the child width + const scrollbarWidth = `${outer.offsetWidth - inner.offsetWidth}px`; + + // Removing temporary elements from the DOM + outer.parentNode.removeChild(outer); + return scrollbarWidth; +}; + +},{}],47:[function(require,module,exports){ +"use strict"; + +const select = require("./select"); +/** + * @name isElement + * @desc returns whether or not the given argument is a DOM element. + * @param {any} value + * @return {boolean} + */ +const isElement = value => value && typeof value === "object" && value.nodeType === 1; + +/** + * @name selectOrMatches + * @desc selects elements from the DOM by class selector or ID selector. + * @param {string} selector - The selector to traverse the DOM with. + * @param {Document|HTMLElement?} context - The context to traverse the DOM + * in. If not provided, it defaults to the document. + * @return {HTMLElement[]} - An array of DOM nodes or an empty array. + */ +module.exports = (selector, context) => { + const selection = select(selector, context); + if (typeof selector !== "string") { + return selection; + } + if (isElement(context) && context.matches(selector)) { + selection.push(context); + } + return selection; +}; + +},{"./select":48}],48:[function(require,module,exports){ +"use strict"; + +/** + * @name isElement + * @desc returns whether or not the given argument is a DOM element. + * @param {any} value + * @return {boolean} + */ +const isElement = value => value && typeof value === "object" && value.nodeType === 1; + +/** + * @name select + * @desc selects elements from the DOM by class selector or ID selector. + * @param {string} selector - The selector to traverse the DOM with. + * @param {Document|HTMLElement?} context - The context to traverse the DOM + * in. If not provided, it defaults to the document. + * @return {HTMLElement[]} - An array of DOM nodes or an empty array. + */ +module.exports = (selector, context) => { + if (typeof selector !== "string") { + return []; + } + if (!context || !isElement(context)) { + context = window.document; // eslint-disable-line no-param-reassign + } + const selection = context.querySelectorAll(selector); + return Array.prototype.slice.call(selection); +}; + +},{}],49:[function(require,module,exports){ +"use strict"; + +/** + * Flips given INPUT elements between masked (hiding the field value) and unmasked + * @param {Array.HTMLElement} fields - An array of INPUT elements + * @param {Boolean} mask - Whether the mask should be applied, hiding the field value + */ +module.exports = (field, mask) => { + field.setAttribute("autocapitalize", "off"); + field.setAttribute("autocorrect", "off"); + field.setAttribute("type", mask ? "password" : "text"); +}; + +},{}],50:[function(require,module,exports){ +"use strict"; + +const resolveIdRefs = require("resolve-id-refs"); +const toggleFieldMask = require("./toggle-field-mask"); +const CONTROLS = "aria-controls"; +const PRESSED = "aria-pressed"; +const SHOW_ATTR = "data-show-text"; +const HIDE_ATTR = "data-hide-text"; + +/** + * Replace the word "Show" (or "show") with "Hide" (or "hide") in a string. + * @param {string} showText + * @return {strong} hideText + */ +const getHideText = showText => showText.replace(/\bShow\b/i, show => `${show[0] === "S" ? "H" : "h"}ide`); + +/** + * Component that decorates an HTML element with the ability to toggle the + * masked state of an input field (like a password) when clicked. + * The ids of the fields to be masked will be pulled directly from the button's + * `aria-controls` attribute. + * + * @param {HTMLElement} el Parent element containing the fields to be masked + * @return {boolean} + */ +module.exports = el => { + // this is the *target* state: + // * if the element has the attr and it's !== "true", pressed is true + // * otherwise, pressed is false + const pressed = el.hasAttribute(PRESSED) && el.getAttribute(PRESSED) !== "true"; + const fields = resolveIdRefs(el.getAttribute(CONTROLS)); + fields.forEach(field => toggleFieldMask(field, pressed)); + if (!el.hasAttribute(SHOW_ATTR)) { + el.setAttribute(SHOW_ATTR, el.textContent); + } + const showText = el.getAttribute(SHOW_ATTR); + const hideText = el.getAttribute(HIDE_ATTR) || getHideText(showText); + el.textContent = pressed ? showText : hideText; // eslint-disable-line no-param-reassign + el.setAttribute(PRESSED, pressed); + return pressed; +}; + +},{"./toggle-field-mask":49,"resolve-id-refs":12}],51:[function(require,module,exports){ +"use strict"; + +const EXPANDED = "aria-expanded"; +const CONTROLS = "aria-controls"; +const HIDDEN = "hidden"; +module.exports = (button, expanded) => { + let safeExpanded = expanded; + if (typeof safeExpanded !== "boolean") { + safeExpanded = button.getAttribute(EXPANDED) === "false"; + } + button.setAttribute(EXPANDED, safeExpanded); + const id = button.getAttribute(CONTROLS); + const controls = document.getElementById(id); + if (!controls) { + throw new Error(`No toggle target found with id: "${id}"`); + } + if (safeExpanded) { + controls.removeAttribute(HIDDEN); + } else { + controls.setAttribute(HIDDEN, ""); + } + return safeExpanded; +}; + +},{}],52:[function(require,module,exports){ +"use strict"; + +const debounce = require("./debounce"); +const { + prefix: PREFIX +} = require("../config"); +const CHECKED_CLASS = `${PREFIX}-checklist__item--checked`; +module.exports = function validate(el) { + const id = el.dataset.validationElement; + const checkList = id.charAt(0) === "#" ? document.querySelector(id) : document.getElementById(id); + if (!checkList) { + throw new Error(`No validation element found with id: "${id}"`); + } + let statusSummary = ""; + Object.entries(el.dataset).forEach(([key, value]) => { + if (key.startsWith("validate")) { + const validatorName = key.substr("validate".length).toLowerCase(); + const validatorPattern = new RegExp(value); + const validatorSelector = `[data-validator="${validatorName}"]`; + const validatorCheckbox = checkList.querySelector(validatorSelector); + const validatorParent = el.parentNode; + const statusSummaryContainer = validatorParent.querySelector(`[data-validation-status]`); + const checked = validatorPattern.test(el.value); + validatorCheckbox.classList.toggle(CHECKED_CLASS, checked); + if (!validatorCheckbox) { + throw new Error(`No validator checkbox found for: "${validatorName}"`); + } + + // Create status reports for checklist items + const statusComplete = el.dataset.validationComplete || "status complete"; + const statusIncomplete = el.dataset.validationIncomplete || "status incomplete"; + let checkboxContent = `${validatorCheckbox.textContent} `; + if (validatorCheckbox.classList.contains(CHECKED_CLASS)) { + checkboxContent += statusComplete; + } else { + checkboxContent += statusIncomplete; + } + + // move status updates to aria-label on checklist item + validatorCheckbox.setAttribute("aria-label", checkboxContent); + + // Create a summary of status for all checklist items + statusSummary += `${checkboxContent}. `; + + // Add summary to screen reader summary container, after a delay + const srUpdateStatus = debounce(() => { + statusSummaryContainer.textContent = statusSummary; + }, 1000); + srUpdateStatus(); + } + }); +}; + +},{"../config":35,"./debounce":41}]},{},[38]) +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJub2RlX21vZHVsZXMvZWxlbWVudC1jbG9zZXN0L2VsZW1lbnQtY2xvc2VzdC5qcyIsIm5vZGVfbW9kdWxlcy9rZXlib2FyZGV2ZW50LWtleS1wb2x5ZmlsbC9pbmRleC5qcyIsIm5vZGVfbW9kdWxlcy9vYmplY3QtYXNzaWduL2luZGV4LmpzIiwibm9kZV9tb2R1bGVzL3JlY2VwdG9yL2JlaGF2aW9yL2luZGV4LmpzIiwibm9kZV9tb2R1bGVzL3JlY2VwdG9yL2NvbXBvc2UvaW5kZXguanMiLCJub2RlX21vZHVsZXMvcmVjZXB0b3IvZGVsZWdhdGUvaW5kZXguanMiLCJub2RlX21vZHVsZXMvcmVjZXB0b3IvZGVsZWdhdGVBbGwvaW5kZXguanMiLCJub2RlX21vZHVsZXMvcmVjZXB0b3IvaWdub3JlL2luZGV4LmpzIiwibm9kZV9tb2R1bGVzL3JlY2VwdG9yL2luZGV4LmpzIiwibm9kZV9tb2R1bGVzL3JlY2VwdG9yL2tleW1hcC9pbmRleC5qcyIsIm5vZGVfbW9kdWxlcy9yZWNlcHRvci9vbmNlL2luZGV4LmpzIiwibm9kZV9tb2R1bGVzL3Jlc29sdmUtaWQtcmVmcy9pbmRleC5qcyIsInBhY2thZ2VzL191c2EtcGFzc3dvcmQvc3JjL2luZGV4LmpzIiwicGFja2FnZXMvdXNhLWFjY29yZGlvbi9zcmMvaW5kZXguanMiLCJwYWNrYWdlcy91c2EtYmFubmVyL3NyYy9pbmRleC5qcyIsInBhY2thZ2VzL3VzYS1idXR0b24vc3JjL2luZGV4LmpzIiwicGFja2FnZXMvdXNhLWNoYXJhY3Rlci1jb3VudC9zcmMvaW5kZXguanMiLCJwYWNrYWdlcy91c2EtY29tYm8tYm94L3NyYy9pbmRleC5qcyIsInBhY2thZ2VzL3VzYS1kYXRlLXBpY2tlci9zcmMvaW5kZXguanMiLCJwYWNrYWdlcy91c2EtZGF0ZS1yYW5nZS1waWNrZXIvc3JjL2luZGV4LmpzIiwicGFja2FnZXMvdXNhLWZpbGUtaW5wdXQvc3JjL2luZGV4LmpzIiwicGFja2FnZXMvdXNhLWZvb3Rlci9zcmMvaW5kZXguanMiLCJwYWNrYWdlcy91c2EtaGVhZGVyL3NyYy9pbmRleC5qcyIsInBhY2thZ2VzL3VzYS1pbi1wYWdlLW5hdmlnYXRpb24vc3JjL2luZGV4LmpzIiwicGFja2FnZXMvdXNhLWlucHV0LW1hc2svc3JjL2luZGV4LmpzIiwicGFja2FnZXMvdXNhLWxhbmd1YWdlLXNlbGVjdG9yL3NyYy9pbmRleC5qcyIsInBhY2thZ2VzL3VzYS1tb2RhbC9zcmMvaW5kZXguanMiLCJwYWNrYWdlcy91c2EtcmFuZ2Uvc3JjL2luZGV4LmpzIiwicGFja2FnZXMvdXNhLXNlYXJjaC9zcmMvaW5kZXguanMiLCJwYWNrYWdlcy91c2Etc2tpcG5hdi9zcmMvaW5kZXguanMiLCJwYWNrYWdlcy91c2EtdGFibGUvc3JjL2luZGV4LmpzIiwicGFja2FnZXMvdXNhLXRpbWUtcGlja2VyL3NyYy9pbmRleC5qcyIsInBhY2thZ2VzL3VzYS10b29sdGlwL3NyYy9pbmRleC5qcyIsInBhY2thZ2VzL3VzYS12YWxpZGF0aW9uL3NyYy9pbmRleC5qcyIsInBhY2thZ2VzL3Vzd2RzLWNvcmUvc3JjL2pzL2NvbmZpZy5qcyIsInBhY2thZ2VzL3Vzd2RzLWNvcmUvc3JjL2pzL2V2ZW50cy5qcyIsInBhY2thZ2VzL3Vzd2RzLWNvcmUvc3JjL2pzL2luZGV4LmpzIiwicGFja2FnZXMvdXN3ZHMtY29yZS9zcmMvanMvc3RhcnQuanMiLCJwYWNrYWdlcy91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9hY3RpdmUtZWxlbWVudC5qcyIsInBhY2thZ2VzL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL2JlaGF2aW9yLmpzIiwicGFja2FnZXMvdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvZGVib3VuY2UuanMiLCJwYWNrYWdlcy91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9mb2N1cy10cmFwLmpzIiwicGFja2FnZXMvdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvaXMtaW4tdmlld3BvcnQuanMiLCJwYWNrYWdlcy91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9pcy1pb3MtZGV2aWNlLmpzIiwicGFja2FnZXMvdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvc2FuaXRpemVyLmpzIiwicGFja2FnZXMvdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvc2Nyb2xsYmFyLXdpZHRoLmpzIiwicGFja2FnZXMvdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvc2VsZWN0LW9yLW1hdGNoZXMuanMiLCJwYWNrYWdlcy91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9zZWxlY3QuanMiLCJwYWNrYWdlcy91c3dkcy1jb3JlL3NyYy9qcy91dGlscy90b2dnbGUtZmllbGQtbWFzay5qcyIsInBhY2thZ2VzL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3RvZ2dsZS1mb3JtLWlucHV0LmpzIiwicGFja2FnZXMvdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvdG9nZ2xlLmpzIiwicGFja2FnZXMvdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvdmFsaWRhdGUtaW5wdXQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztBQ0FBOztBQUVBLENBQUMsVUFBVSxZQUFZLEVBQUU7RUFDeEIsSUFBSSxPQUFPLFlBQVksQ0FBQyxPQUFPLEtBQUssVUFBVSxFQUFFO0lBQy9DLFlBQVksQ0FBQyxPQUFPLEdBQUcsWUFBWSxDQUFDLGlCQUFpQixJQUFJLFlBQVksQ0FBQyxrQkFBa0IsSUFBSSxZQUFZLENBQUMscUJBQXFCLElBQUksU0FBUyxPQUFPLENBQUMsUUFBUSxFQUFFO01BQzVKLElBQUksT0FBTyxHQUFHLElBQUk7TUFDbEIsSUFBSSxRQUFRLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQyxhQUFhLEVBQUUsZ0JBQWdCLENBQUMsUUFBUSxDQUFDO01BQ3JGLElBQUksS0FBSyxHQUFHLENBQUM7TUFFYixPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUss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Q0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztFQUN6QyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQztFQUM1QyxPQUFPLE9BQU87QUFDaEIsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBSyxFQUFFLE9BQU8sS0FBSyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDOztBQUU1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sUUFBUSxHQUFHLENBQUMsS0FBSyxFQUFFLFFBQVEsS0FBSyxPQUFPLENBQUMsS0FBSyxFQUFFLFFBQVEsR0FBRyxDQUFDLENBQUM7O0FBRWxFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxRQUFRLEdBQUcsQ0FBQyxLQUFLLEVBQUUsUUFBUSxLQUFLLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxRQUFRLENBQUM7O0FBRWhFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sV0FBVyxHQUFJLEtBQUssSUFBSztFQUM3QixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7RUFDaEMsT0FBTyxPQUFPLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQztBQUNsQyxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxTQUFTLEdBQUksS0FBSyxJQUFLO0VBQzNCLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztFQUNoQyxPQUFPLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQztBQUN0QyxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxTQUFTLEdBQUcsQ0FBQyxLQUFLLEVBQUUsU0FBUyxLQUFLO0VB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QUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFBRTtRQUN2RCxlQUFlLElBQUksY0FBYztNQUNuQyxDQUFDLE1BQU07UUFDTCxlQUFlLElBQUksZ0JBQWdCO01BQ3JDOztNQUVBO01BQ0EsaUJBQWlCLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxlQUFlLENBQUM7O01BRTdEO01BQ0EsYUFBYSxJQUFJLEdBQUcsZUFBZSxJQUFJOztNQUV2QztNQUNBLE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxNQUFNO1FBQ3BDLHNCQUFzQixDQUFDLFdBQVcsR0FBRyxhQUFhO01BQ3BELENBQUMsRUFBRSxJQUFJLENBQUM7TUFFUixjQUFjLENBQUMsQ0FBQztJQUNsQjtFQUNGLENBQUMsQ0FBQztBQUNKLENBQUMiLCJmaWxlIjoiZ2VuZXJhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbigpe2Z1bmN0aW9uIHIoZSxuLHQpe2Z1bmN0aW9uIG8oaSxmKXtpZighbltpXSl7aWYoIWVbaV0pe3ZhciBjPVwiZnVuY3Rpb25cIj09dHlwZW9mIHJlcXVpcmUmJnJlcXVpcmU7aWYoIWYmJmMpcmV0dXJuIGMoaSwhMCk7aWYodSlyZXR1cm4gdShpLCEwKTt2YXIgYT1uZXcgRXJyb3IoXCJDYW5ub3QgZmluZCBtb2R1bGUgJ1wiK2krXCInXCIpO3Rocm93IGEuY29kZT1cIk1PRFVMRV9OT1RfRk9VTkRcIixhfXZhciBwPW5baV09e2V4cG9ydHM6e319O2VbaV1bMF0uY2FsbChwLmV4cG9ydHMsZnVuY3Rpb24ocil7dmFyIG49ZVtpXVsxXVtyXTtyZXR1cm4gbyhufHxyKX0scCxwLmV4cG9ydHMscixlLG4sdCl9cmV0dXJuIG5baV0uZXhwb3J0c31mb3IodmFyIHU9XCJmdW5jdGlvblwiPT10eXBlb2YgcmVxdWlyZSYmcmVxdWlyZSxpPTA7aTx0Lmxlbmd0aDtpKyspbyh0W2ldKTtyZXR1cm4gb31yZXR1cm4gcn0pKCkiLCIvLyBlbGVtZW50LWNsb3Nlc3QgfCBDQzAtMS4wIHwgZ2l0aHViLmNvbS9qb25hdGhhbnRuZWFsL2Nsb3Nlc3RcblxuKGZ1bmN0aW9uIChFbGVtZW50UHJvdG8pIHtcblx0aWYgKHR5cGVvZiBFbGVtZW50UHJvdG8ubWF0Y2hlcyAhPT0gJ2Z1bmN0aW9uJykge1xuXHRcdEVsZW1lbnRQcm90by5tYXRjaGVzID0gRWxlbWVudFByb3RvLm1zTWF0Y2hlc1NlbGVjdG9yIHx8IEVsZW1lbnRQcm90by5tb3pNYXRjaGVzU2VsZWN0b3IgfHwgRWxlbWVudFByb3RvLndlYmtpdE1hdGNoZXNTZWxlY3RvciB8fCBmdW5jdGlvbiBtYXRjaGVzKHNlbGVjdG9yKSB7XG5cdFx0XHR2YXIgZWxlbWVudCA9IHRoaXM7XG5cdFx0XHR2YXIgZWxlbWVudHMgPSAoZWxlbWVudC5kb2N1bWVudCB8fCBlbGVtZW50Lm93bmVyRG9jdW1lbnQpLnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0b3IpO1xuXHRcdFx0dmFyIGluZGV4ID0gMDtcblxuXHRcdFx0d2hpbGUgKGVsZW1lbnRzW2luZGV4XSAmJiBlbGVtZW50c1tpbmRleF0gIT09IGVsZW1lbnQpIHtcblx0XHRcdFx0KytpbmRleDtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIEJvb2xlYW4oZWxlbWVudHNbaW5kZXhdKTtcblx0XHR9O1xuXHR9XG5cblx0aWYgKHR5cGVvZiBFbGVtZW50UHJvdG8uY2xvc2VzdCAhPT0gJ2Z1bmN0aW9uJykge1xuXHRcdEVsZW1lbnRQcm90by5jbG9zZXN0ID0gZnVuY3Rpb24gY2xvc2VzdChzZWxlY3Rvcikge1xuXHRcdFx0dmFyIGVsZW1lbnQgPSB0aGlzO1xuXG5cdFx0XHR3aGlsZSAoZWxlbWVudCAmJiBlbGVtZW50Lm5vZGVUeXBlID09PSAxKSB7XG5cdFx0XHRcdGlmIChlbGVtZW50Lm1hdGNoZXMoc2VsZWN0b3IpKSB7XG5cdFx0XHRcdFx0cmV0dXJuIGVsZW1lbnQ7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRlbGVtZW50ID0gZWxlbWVudC5wYXJlbnROb2RlO1xuXHRcdFx0fVxuXG5cdFx0XHRyZXR1cm4gbnVsbDtcblx0XHR9O1xuXHR9XG59KSh3aW5kb3cuRWxlbWVudC5wcm90b3R5cGUpO1xuIiwiLyogZ2xvYmFsIGRlZmluZSwgS2V5Ym9hcmRFdmVudCwgbW9kdWxlICovXG5cbihmdW5jdGlvbiAoKSB7XG5cbiAgdmFyIGtleWJvYXJkZXZlbnRLZXlQb2x5ZmlsbCA9IHtcbiAgICBwb2x5ZmlsbDogcG9seWZpbGwsXG4gICAga2V5czoge1xuICAgICAgMzogJ0NhbmNlbCcsXG4gICAgICA2OiAnSGVscCcsXG4gICAgICA4OiAnQmFja3NwYWNlJyxcbiAgICAgIDk6ICdUYWInLFxuICAgICAgMTI6ICdDbGVhcicsXG4gICAgICAxMzogJ0VudGVyJyxcbiAgICAgIDE2OiAnU2hpZnQnLFxuICAgICAgMTc6ICdDb250cm9sJyxcbiAgICAgIDE4OiAnQWx0JyxcbiAgICAgIDE5OiAnUGF1c2UnLFxuICAgICAgMjA6ICdDYXBzTG9jaycsXG4gICAgICAyNzogJ0VzY2FwZScsXG4gICAgICAyODogJ0NvbnZlcnQnLFxuICAgICAgMjk6ICdOb25Db252ZXJ0JyxcbiAgICAgIDMwOiAnQWNjZXB0JyxcbiAgICAgIDMxOiAnTW9kZUNoYW5nZScsXG4gICAgICAzMjogJyAnLFxuICAgICAgMzM6ICdQYWdlVXAnLFxuICAgICAgMzQ6ICdQYWdlRG93bicsXG4gICAgICAzNTogJ0VuZCcsXG4gICAgICAzNjogJ0hvbWUnLFxuICAgICAgMzc6ICdBcnJvd0xlZnQnLFxuICAgICAgMzg6ICdBcnJvd1VwJyxcbiAgICAgIDM5OiAnQXJyb3dSaWdodCcsXG4gICAgICA0MDogJ0Fycm93RG93bicsXG4gICAgICA0MTogJ1NlbGVjdCcsXG4gICAgICA0MjogJ1ByaW50JyxcbiAgICAgIDQzOiAnRXhlY3V0ZScsXG4gICAgICA0NDogJ1ByaW50U2NyZWVuJyxcbiAgICAgIDQ1OiAnSW5zZXJ0JyxcbiAgICAgIDQ2OiAnRGVsZXRlJyxcbiAgICAgIDQ4OiBbJzAnLCAnKSddLFxuICAgICAgNDk6IFsnMScsICchJ10sXG4gICAgICA1MDogWycyJywgJ0AnXSxcbiAgICAgIDUxOiBbJzMnLCAnIyddLFxuICAgICAgNTI6IFsnNCcsICckJ10sXG4gICAgICA1MzogWyc1JywgJyUnXSxcbiAgICAgIDU0OiBbJzYnLCAnXiddLFxuICAgICAgNTU6IFsnNycsICcmJ10sXG4gICAgICA1NjogWyc4JywgJyonXSxcbiAgICAgIDU3OiBbJzknLCAnKCddLFxuICAgICAgOTE6ICdPUycsXG4gICAgICA5MzogJ0NvbnRleHRNZW51JyxcbiAgICAgIDE0NDogJ051bUxvY2snLFxuICAgICAgMTQ1OiAnU2Nyb2xsTG9jaycsXG4gICAgICAxODE6ICdWb2x1bWVNdXRlJyxcbiAgICAgIDE4MjogJ1ZvbHVtZURvd24nLFxuICAgICAgMTgzOiAnVm9sdW1lVXAnLFxuICAgICAgMTg2OiBbJzsnLCAnOiddLFxuICAgICAgMTg3OiBbJz0nLCAnKyddLFxuICAgICAgMTg4OiBbJywnLCAnPCddLFxuICAgICAgMTg5OiBbJy0nLCAnXyddLFxuICAgICAgMTkwOiBbJy4nLCAnPiddLFxuICAgICAgMTkxOiBbJy8nLCAnPyddLFxuICAgICAgMTkyOiBbJ2AnLCAnfiddLFxuICAgICAgMjE5OiBbJ1snLCAneyddLFxuICAgICAgMjIwOiBbJ1xcXFwnLCAnfCddLFxuICAgICAgMjIxOiBbJ10nLCAnfSddLFxuICAgICAgMjIyOiBbXCInXCIsICdcIiddLFxuICAgICAgMjI0OiAnTWV0YScsXG4gICAgICAyMjU6ICdBbHRHcmFwaCcsXG4gICAgICAyNDY6ICdBdHRuJyxcbiAgICAgIDI0NzogJ0NyU2VsJyxcbiAgICAgIDI0ODogJ0V4U2VsJyxcbiAgICAgIDI0OTogJ0VyYXNlRW9mJyxcbiAgICAgIDI1MDogJ1BsYXknLFxuICAgICAgMjUxOiAnWm9vbU91dCdcbiAgICB9XG4gIH07XG5cbiAgLy8gRnVuY3Rpb24ga2V5cyAoRjEtMjQpLlxuICB2YXIgaTtcbiAgZm9yIChpID0gMTsgaSA8IDI1OyBpKyspIHtcbiAgICBrZXlib2FyZGV2ZW50S2V5UG9seWZpbGwua2V5c1sxMTEgKyBpXSA9ICdGJyArIGk7XG4gIH1cblxuICAvLyBQcmludGFibGUgQVNDSUkgY2hhcmFjdGVycy5cbiAgdmFyIGxldHRlciA9ICcnO1xuICBmb3IgKGkgPSA2NTsgaSA8IDkxOyBpKyspIHtcbiAgICBsZXR0ZXIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGkpO1xuICAgIGtleWJvYXJkZXZlbnRLZXlQb2x5ZmlsbC5rZXlzW2ldID0gW2xldHRlci50b0xvd2VyQ2FzZSgpLCBsZXR0ZXIudG9VcHBlckNhc2UoKV07XG4gIH1cblxuICBmdW5jdGlvbiBwb2x5ZmlsbCAoKSB7XG4gICAgaWYgKCEoJ0tleWJvYXJkRXZlbnQnIGluIHdpbmRvdykgfHxcbiAgICAgICAgJ2tleScgaW4gS2V5Ym9hcmRFdmVudC5wcm90b3R5cGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBQb2x5ZmlsbCBga2V5YCBvbiBgS2V5Ym9hcmRFdmVudGAuXG4gICAgdmFyIHByb3RvID0ge1xuICAgICAgZ2V0OiBmdW5jdGlvbiAoeCkge1xuICAgICAgICB2YXIga2V5ID0ga2V5Ym9hcmRldmVudEtleVBvbHlmaWxsLmtleXNbdGhpcy53aGljaCB8fCB0aGlzLmtleUNvZGVdO1xuXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGtleSkpIHtcbiAgICAgICAgICBrZXkgPSBrZXlbK3RoaXMuc2hpZnRLZXldO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGtleTtcbiAgICAgIH1cbiAgICB9O1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShLZXlib2FyZEV2ZW50LnByb3RvdHlwZSwgJ2tleScsIHByb3RvKTtcbiAgICByZXR1cm4gcHJvdG87XG4gIH1cblxuICBpZiAodHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kKSB7XG4gICAgZGVmaW5lKCdrZXlib2FyZGV2ZW50LWtleS1wb2x5ZmlsbCcsIGtleWJvYXJkZXZlbnRLZXlQb2x5ZmlsbCk7XG4gIH0gZWxzZSBpZiAodHlwZW9mIGV4cG9ydHMgIT09ICd1bmRlZmluZWQnICYmIHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgbW9kdWxlLmV4cG9ydHMgPSBrZXlib2FyZGV2ZW50S2V5UG9seWZpbGw7XG4gIH0gZWxzZSBpZiAod2luZG93KSB7XG4gICAgd2luZG93LmtleWJvYXJkZXZlbnRLZXlQb2x5ZmlsbCA9IGtleWJvYXJkZXZlbnRLZXlQb2x5ZmlsbDtcbiAgfVxuXG59KSgpO1xuIiwiLypcbm9iamVjdC1hc3NpZ25cbihjKSBTaW5kcmUgU29yaHVzXG5AbGljZW5zZSBNSVRcbiovXG5cbid1c2Ugc3RyaWN0Jztcbi8qIGVzbGludC1kaXNhYmxlIG5vLXVudXNlZC12YXJzICovXG52YXIgZ2V0T3duUHJvcGVydHlTeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scztcbnZhciBoYXNPd25Qcm9wZXJ0eSA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG52YXIgcHJvcElzRW51bWVyYWJsZSA9IE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGU7XG5cbmZ1bmN0aW9uIHRvT2JqZWN0KHZhbCkge1xuXHRpZiAodmFsID09PSBudWxsIHx8IHZhbCA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0dGhyb3cgbmV3IFR5cGVFcnJvcignT2JqZWN0LmFzc2lnbiBjYW5ub3QgYmUgY2FsbGVkIHdpdGggbnVsbCBvciB1bmRlZmluZWQnKTtcblx0fVxuXG5cdHJldHVybiBPYmplY3QodmFsKTtcbn1cblxuZnVuY3Rpb24gc2hvdWxkVXNlTmF0aXZlKCkge1xuXHR0cnkge1xuXHRcdGlmICghT2JqZWN0LmFzc2lnbikge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblxuXHRcdC8vIERldGVjdCBidWdneSBwcm9wZXJ0eSBlbnVtZXJhdGlvbiBvcmRlciBpbiBvbGRlciBWOCB2ZXJzaW9ucy5cblxuXHRcdC8vIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC92OC9pc3N1ZXMvZGV0YWlsP2lkPTQxMThcblx0XHR2YXIgdGVzdDEgPSBuZXcgU3RyaW5nKCdhYmMnKTsgIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tbmV3LXdyYXBwZXJzXG5cdFx0dGVzdDFbNV0gPSAnZGUnO1xuXHRcdGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0ZXN0MSlbMF0gPT09ICc1Jykge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblxuXHRcdC8vIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC92OC9pc3N1ZXMvZGV0YWlsP2lkPTMwNTZcblx0XHR2YXIgdGVzdDIgPSB7fTtcblx0XHRmb3IgKHZhciBpID0gMDsgaSA8IDEwOyBpKyspIHtcblx0XHRcdHRlc3QyWydfJyArIFN0cmluZy5mcm9tQ2hhckNvZGUoaSldID0gaTtcblx0XHR9XG5cdFx0dmFyIG9yZGVyMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRlc3QyKS5tYXAoZnVuY3Rpb24gKG4pIHtcblx0XHRcdHJldHVybiB0ZXN0MltuXTtcblx0XHR9KTtcblx0XHRpZiAob3JkZXIyLmpvaW4oJycpICE9PSAnMDEyMzQ1Njc4OScpIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cblx0XHQvLyBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvdjgvaXNzdWVzL2RldGFpbD9pZD0zMDU2XG5cdFx0dmFyIHRlc3QzID0ge307XG5cdFx0J2FiY2RlZmdoaWprbG1ub3BxcnN0Jy5zcGxpdCgnJykuZm9yRWFjaChmdW5jdGlvbiAobGV0dGVyKSB7XG5cdFx0XHR0ZXN0M1tsZXR0ZXJdID0gbGV0dGVyO1xuXHRcdH0pO1xuXHRcdGlmIChPYmplY3Qua2V5cyhPYmplY3QuYXNzaWduKHt9LCB0ZXN0MykpLmpvaW4oJycpICE9PVxuXHRcdFx0XHQnYWJjZGVmZ2hpamtsbW5vcHFyc3QnKSB7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHRydWU7XG5cdH0gY2F0Y2ggKGVycikge1xuXHRcdC8vIFdlIGRvbid0IGV4cGVjdCBhbnkgb2YgdGhlIGFib3ZlIHRvIHRocm93LCBidXQgYmV0dGVyIHRvIGJlIHNhZmUuXG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gc2hvdWxkVXNlTmF0aXZlKCkgPyBPYmplY3QuYXNzaWduIDogZnVuY3Rpb24gKHRhcmdldCwgc291cmNlKSB7XG5cdHZhciBmcm9tO1xuXHR2YXIgdG8gPSB0b09iamVjdCh0YXJnZXQpO1xuXHR2YXIgc3ltYm9scztcblxuXHRmb3IgKHZhciBzID0gMTsgcyA8IGFyZ3VtZW50cy5sZW5ndGg7IHMrKykge1xuXHRcdGZyb20gPSBPYmplY3QoYXJndW1lbnRzW3NdKTtcblxuXHRcdGZvciAodmFyIGtleSBpbiBmcm9tKSB7XG5cdFx0XHRpZiAoaGFzT3duUHJvcGVydHkuY2FsbChmcm9tLCBrZXkpKSB7XG5cdFx0XHRcdHRvW2tleV0gPSBmcm9tW2tleV07XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aWYgKGdldE93blByb3BlcnR5U3ltYm9scykge1xuXHRcdFx0c3ltYm9scyA9IGdldE93blByb3BlcnR5U3ltYm9scyhmcm9tKTtcblx0XHRcdGZvciAodmFyIGkgPSAwOyBpIDwgc3ltYm9scy5sZW5ndGg7IGkrKykge1xuXHRcdFx0XHRpZiAocHJvcElzRW51bWVyYWJsZS5jYWxsKGZyb20sIHN5bWJvbHNbaV0pKSB7XG5cdFx0XHRcdFx0dG9bc3ltYm9sc1tpXV0gPSBmcm9tW3N5bWJvbHNbaV1dO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIHRvO1xufTtcbiIsImNvbnN0IGFzc2lnbiA9IHJlcXVpcmUoJ29iamVjdC1hc3NpZ24nKTtcbmNvbnN0IGRlbGVnYXRlID0gcmVxdWlyZSgnLi4vZGVsZWdhdGUnKTtcbmNvbnN0IGRlbGVnYXRlQWxsID0gcmVxdWlyZSgnLi4vZGVsZWdhdGVBbGwnKTtcblxuY29uc3QgREVMRUdBVEVfUEFUVEVSTiA9IC9eKC4rKTpkZWxlZ2F0ZVxcKCguKylcXCkkLztcbmNvbnN0IFNQQUNFID0gJyAnO1xuXG5jb25zdCBnZXRMaXN0ZW5lcnMgPSBmdW5jdGlvbih0eXBlLCBoYW5kbGVyKSB7XG4gIHZhciBtYXRjaCA9IHR5cGUubWF0Y2goREVMRUdBVEVfUEFUVEVSTik7XG4gIHZhciBzZWxlY3RvcjtcbiAgaWYgKG1hdGNoKSB7XG4gICAgdHlwZSA9IG1hdGNoWzFdO1xuICAgIHNlbGVjdG9yID0gbWF0Y2hbMl07XG4gIH1cblxuICB2YXIgb3B0aW9ucztcbiAgaWYgKHR5cGVvZiBoYW5kbGVyID09PSAnb2JqZWN0Jykge1xuICAgIG9wdGlvbnMgPSB7XG4gICAgICBjYXB0dXJlOiBwb3BLZXkoaGFuZGxlciwgJ2NhcHR1cmUnKSxcbiAgICAgIHBhc3NpdmU6IHBvcEtleShoYW5kbGVyLCAncGFzc2l2ZScpXG4gICAgfTtcbiAgfVxuXG4gIHZhciBsaXN0ZW5lciA9IHtcbiAgICBzZWxlY3Rvcjogc2VsZWN0b3IsXG4gICAgZGVsZWdhdGU6ICh0eXBlb2YgaGFuZGxlciA9PT0gJ29iamVjdCcpXG4gICAgICA/IGRlbGVnYXRlQWxsKGhhbmRsZXIpXG4gICAgICA6IHNlbGVjdG9yXG4gICAgICAgID8gZGVsZWdhdGUoc2VsZWN0b3IsIGhhbmRsZXIpXG4gICAgICAgIDogaGFuZGxlcixcbiAgICBvcHRpb25zOiBvcHRpb25zXG4gIH07XG5cbiAgaWYgKHR5cGUuaW5kZXhPZihTUEFDRSkgPiAtMSkge1xuICAgIHJldHVybiB0eXBlLnNwbGl0KFNQQUNFKS5tYXAoZnVuY3Rpb24oX3R5cGUpIHtcbiAgICAgIHJldHVybiBhc3NpZ24oe3R5cGU6IF90eXBlfSwgbGlzdGVuZXIpO1xuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIGxpc3RlbmVyLnR5cGUgPSB0eXBlO1xuICAgIHJldHVybiBbbGlzdGVuZXJdO1xuICB9XG59O1xuXG52YXIgcG9wS2V5ID0gZnVuY3Rpb24ob2JqLCBrZXkpIHtcbiAgdmFyIHZhbHVlID0gb2JqW2tleV07XG4gIGRlbGV0ZSBvYmpba2V5XTtcbiAgcmV0dXJuIHZhbHVlO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBiZWhhdmlvcihldmVudHMsIHByb3BzKSB7XG4gIGNvbnN0IGxpc3RlbmVycyA9IE9iamVjdC5rZXlzKGV2ZW50cylcbiAgICAucmVkdWNlKGZ1bmN0aW9uKG1lbW8sIHR5cGUpIHtcbiAgICAgIHZhciBsaXN0ZW5lcnMgPSBnZXRMaXN0ZW5lcnModHlwZSwgZXZlbnRzW3R5cGVdKTtcbiAgICAgIHJldHVybiBtZW1vLmNvbmNhdChsaXN0ZW5lcnMpO1xuICAgIH0sIFtdKTtcblxuICByZXR1cm4gYXNzaWduKHtcbiAgICBhZGQ6IGZ1bmN0aW9uIGFkZEJlaGF2aW9yKGVsZW1lbnQpIHtcbiAgICAgIGxpc3RlbmVycy5mb3JFYWNoKGZ1bmN0aW9uKGxpc3RlbmVyKSB7XG4gICAgICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgICBsaXN0ZW5lci50eXBlLFxuICAgICAgICAgIGxpc3RlbmVyLmRlbGVnYXRlLFxuICAgICAgICAgIGxpc3RlbmVyLm9wdGlvbnNcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgcmVtb3ZlOiBmdW5jdGlvbiByZW1vdmVCZWhhdmlvcihlbGVtZW50KSB7XG4gICAgICBsaXN0ZW5lcnMuZm9yRWFjaChmdW5jdGlvbihsaXN0ZW5lcikge1xuICAgICAgICBlbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXG4gICAgICAgICAgbGlzdGVuZXIudHlwZSxcbiAgICAgICAgICBsaXN0ZW5lci5kZWxlZ2F0ZSxcbiAgICAgICAgICBsaXN0ZW5lci5vcHRpb25zXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9XG4gIH0sIHByb3BzKTtcbn07XG4iLCJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGNvbXBvc2UoZnVuY3Rpb25zKSB7XG4gIHJldHVybiBmdW5jdGlvbihlKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9ucy5zb21lKGZ1bmN0aW9uKGZuKSB7XG4gICAgICByZXR1cm4gZm4uY2FsbCh0aGlzLCBlKSA9PT0gZmFsc2U7XG4gICAgfSwgdGhpcyk7XG4gIH07XG59O1xuIiwiLy8gcG9seWZpbGwgRWxlbWVudC5wcm90b3R5cGUuY2xvc2VzdFxucmVxdWlyZSgnZWxlbWVudC1jbG9zZXN0Jyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gZGVsZWdhdGUoc2VsZWN0b3IsIGZuKSB7XG4gIHJldHVybiBmdW5jdGlvbiBkZWxlZ2F0aW9uKGV2ZW50KSB7XG4gICAgdmFyIHRhcmdldCA9IGV2ZW50LnRhcmdldC5jbG9zZXN0KHNlbGVjdG9yKTtcbiAgICBpZiAodGFyZ2V0KSB7XG4gICAgICByZXR1cm4gZm4uY2FsbCh0YXJnZXQsIGV2ZW50KTtcbiAgICB9XG4gIH1cbn07XG4iLCJjb25zdCBkZWxlZ2F0ZSA9IHJlcXVpcmUoJy4uL2RlbGVnYXRlJyk7XG5jb25zdCBjb21wb3NlID0gcmVxdWlyZSgnLi4vY29tcG9zZScpO1xuXG5jb25zdCBTUExBVCA9ICcqJztcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBkZWxlZ2F0ZUFsbChzZWxlY3RvcnMpIHtcbiAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHNlbGVjdG9ycylcblxuICAvLyBYWFggb3B0aW1pemF0aW9uOiBpZiB0aGVyZSBpcyBvbmx5IG9uZSBoYW5kbGVyIGFuZCBpdCBhcHBsaWVzIHRvXG4gIC8vIGFsbCBlbGVtZW50cyAodGhlIFwiKlwiIENTUyBzZWxlY3RvciksIHRoZW4ganVzdCByZXR1cm4gdGhhdFxuICAvLyBoYW5kbGVyXG4gIGlmIChrZXlzLmxlbmd0aCA9PT0gMSAmJiBrZXlzWzBdID09PSBTUExBVCkge1xuICAgIHJldHVybiBzZWxlY3RvcnNbU1BMQVRdO1xuICB9XG5cbiAgY29uc3QgZGVsZWdhdGVzID0ga2V5cy5yZWR1Y2UoZnVuY3Rpb24obWVtbywgc2VsZWN0b3IpIHtcbiAgICBtZW1vLnB1c2goZGVsZWdhdGUoc2VsZWN0b3IsIHNlbGVjdG9yc1tzZWxlY3Rvcl0pKTtcbiAgICByZXR1cm4gbWVtbztcbiAgfSwgW10pO1xuICByZXR1cm4gY29tcG9zZShkZWxlZ2F0ZXMpO1xufTtcbiIsIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gaWdub3JlKGVsZW1lbnQsIGZuKSB7XG4gIHJldHVybiBmdW5jdGlvbiBpZ25vcmFuY2UoZSkge1xuICAgIGlmIChlbGVtZW50ICE9PSBlLnRhcmdldCAmJiAhZWxlbWVudC5jb250YWlucyhlLnRhcmdldCkpIHtcbiAgICAgIHJldHVybiBmbi5jYWxsKHRoaXMsIGUpO1xuICAgIH1cbiAgfTtcbn07XG4iLCJtb2R1bGUuZXhwb3J0cyA9IHtcbiAgYmVoYXZpb3I6ICAgICByZXF1aXJlKCcuL2JlaGF2aW9yJyksXG4gIGRlbGVnYXRlOiAgICAgcmVxdWlyZSgnLi9kZWxlZ2F0ZScpLFxuICBkZWxlZ2F0ZUFsbDogIHJlcXVpcmUoJy4vZGVsZWdhdGVBbGwnKSxcbiAgaWdub3JlOiAgICAgICByZXF1aXJlKCcuL2lnbm9yZScpLFxuICBrZXltYXA6ICAgICAgIHJlcXVpcmUoJy4va2V5bWFwJyksXG59O1xuIiwicmVxdWlyZSgna2V5Ym9hcmRldmVudC1rZXktcG9seWZpbGwnKTtcblxuLy8gdGhlc2UgYXJlIHRoZSBvbmx5IHJlbGV2YW50IG1vZGlmaWVycyBzdXBwb3J0ZWQgb24gYWxsIHBsYXRmb3Jtcyxcbi8vIGFjY29yZGluZyB0byBNRE46XG4vLyA8aHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0tleWJvYXJkRXZlbnQvZ2V0TW9kaWZpZXJTdGF0ZT5cbmNvbnN0IE1PRElGSUVSUyA9IHtcbiAgJ0FsdCc6ICAgICAgJ2FsdEtleScsXG4gICdDb250cm9sJzogICdjdHJsS2V5JyxcbiAgJ0N0cmwnOiAgICAgJ2N0cmxLZXknLFxuICAnU2hpZnQnOiAgICAnc2hpZnRLZXknXG59O1xuXG5jb25zdCBNT0RJRklFUl9TRVBBUkFUT1IgPSAnKyc7XG5cbmNvbnN0IGdldEV2ZW50S2V5ID0gZnVuY3Rpb24oZXZlbnQsIGhhc01vZGlmaWVycykge1xuICB2YXIga2V5ID0gZXZlbnQua2V5O1xuICBpZiAoaGFzTW9kaWZpZXJzKSB7XG4gICAgZm9yICh2YXIgbW9kaWZpZXIgaW4gTU9ESUZJRVJTKSB7XG4gICAgICBpZiAoZXZlbnRbTU9ESUZJRVJTW21vZGlmaWVyXV0gPT09IHRydWUpIHtcbiAgICAgICAga2V5ID0gW21vZGlmaWVyLCBrZXldLmpvaW4oTU9ESUZJRVJfU0VQQVJBVE9SKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIGtleTtcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24ga2V5bWFwKGtleXMpIHtcbiAgY29uc3QgaGFzTW9kaWZpZXJzID0gT2JqZWN0LmtleXMoa2V5cykuc29tZShmdW5jdGlvbihrZXkpIHtcbiAgICByZXR1cm4ga2V5LmluZGV4T2YoTU9ESUZJRVJfU0VQQVJBVE9SKSA+IC0xO1xuICB9KTtcbiAgcmV0dXJuIGZ1bmN0aW9uKGV2ZW50KSB7XG4gICAgdmFyIGtleSA9IGdldEV2ZW50S2V5KGV2ZW50LCBoYXNNb2RpZmllcnMpO1xuICAgIHJldHVybiBba2V5LCBrZXkudG9Mb3dlckNhc2UoKV1cbiAgICAgIC5yZWR1Y2UoZnVuY3Rpb24ocmVzdWx0LCBfa2V5KSB7XG4gICAgICAgIGlmIChfa2V5IGluIGtleXMpIHtcbiAgICAgICAgICByZXN1bHQgPSBrZXlzW2tleV0uY2FsbCh0aGlzLCBldmVudCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH0sIHVuZGVmaW5lZCk7XG4gIH07XG59O1xuXG5tb2R1bGUuZXhwb3J0cy5NT0RJRklFUlMgPSBNT0RJRklFUlM7XG4iLCJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIG9uY2UobGlzdGVuZXIsIG9wdGlvbnMpIHtcbiAgdmFyIHdyYXBwZWQgPSBmdW5jdGlvbiB3cmFwcGVkT25jZShlKSB7XG4gICAgZS5jdXJyZW50VGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoZS50eXBlLCB3cmFwcGVkLCBvcHRpb25zKTtcbiAgICByZXR1cm4gbGlzdGVuZXIuY2FsbCh0aGlzLCBlKTtcbiAgfTtcbiAgcmV0dXJuIHdyYXBwZWQ7XG59O1xuXG4iLCIndXNlIHN0cmljdCc7XG5cbnZhciBSRV9UUklNID0gLyheXFxzKyl8KFxccyskKS9nO1xudmFyIFJFX1NQTElUID0gL1xccysvO1xuXG52YXIgdHJpbSA9IFN0cmluZy5wcm90b3R5cGUudHJpbVxuICA/IGZ1bmN0aW9uKHN0cikgeyByZXR1cm4gc3RyLnRyaW0oKTsgfVxuICA6IGZ1bmN0aW9uKHN0cikgeyByZXR1cm4gc3RyLnJlcGxhY2UoUkVfVFJJTSwgJycpOyB9O1xuXG52YXIgcXVlcnlCeUlkID0gZnVuY3Rpb24oaWQpIHtcbiAgcmV0dXJuIHRoaXMucXVlcnlTZWxlY3RvcignW2lkPVwiJyArIGlkLnJlcGxhY2UoL1wiL2csICdcXFxcXCInKSArICdcIl0nKTtcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gcmVzb2x2ZUlkcyhpZHMsIGRvYykge1xuICBpZiAodHlwZW9mIGlkcyAhPT0gJ3N0cmluZycpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIGEgc3RyaW5nIGJ1dCBnb3QgJyArICh0eXBlb2YgaWRzKSk7XG4gIH1cblxuICBpZiAoIWRvYykge1xuICAgIGRvYyA9IHdpbmRvdy5kb2N1bWVudDtcbiAgfVxuXG4gIHZhciBnZXRFbGVtZW50QnlJZCA9IGRvYy5nZXRFbGVtZW50QnlJZFxuICAgID8gZG9jLmdldEVsZW1lbnRCeUlkLmJpbmQoZG9jKVxuICAgIDogcXVlcnlCeUlkLmJpbmQoZG9jKTtcblxuICBpZHMgPSB0cmltKGlkcykuc3BsaXQoUkVfU1BMSVQpO1xuXG4gIC8vIFhYWCB3ZSBjYW4gc2hvcnQtY2lyY3VpdCBoZXJlIGJlY2F1c2UgdHJpbW1pbmcgYW5kIHNwbGl0dGluZyBhXG4gIC8vIHN0cmluZyBvZiBqdXN0IHdoaXRlc3BhY2UgcHJvZHVjZXMgYW4gYXJyYXkgY29udGFpbmluZyBhIHNpbmdsZSxcbiAgLy8gZW1wdHkgc3RyaW5nXG4gIGlmIChpZHMubGVuZ3RoID09PSAxICYmIGlkc1swXSA9PT0gJycpIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICByZXR1cm4gaWRzXG4gICAgLm1hcChmdW5jdGlvbihpZCkge1xuICAgICAgdmFyIGVsID0gZ2V0RWxlbWVudEJ5SWQoaWQpO1xuICAgICAgaWYgKCFlbCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ25vIGVsZW1lbnQgd2l0aCBpZDogXCInICsgaWQgKyAnXCInKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBlbDtcbiAgICB9KTtcbn07XG4iLCJjb25zdCBiZWhhdmlvciA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9iZWhhdmlvclwiKTtcbmNvbnN0IHRvZ2dsZUZvcm1JbnB1dCA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy91dGlscy90b2dnbGUtZm9ybS1pbnB1dFwiKTtcblxuY29uc3QgeyBDTElDSyB9ID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL2V2ZW50c1wiKTtcbmNvbnN0IHsgcHJlZml4OiBQUkVGSVggfSA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy9jb25maWdcIik7XG5cbmNvbnN0IExJTksgPSBgLiR7UFJFRklYfS1zaG93LXBhc3N3b3JkYDtcblxuZnVuY3Rpb24gdG9nZ2xlKGV2ZW50KSB7XG4gIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gIHRvZ2dsZUZvcm1JbnB1dCh0aGlzKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBiZWhhdmlvcih7XG4gIFtDTElDS106IHtcbiAgICBbTElOS106IHRvZ2dsZSxcbiAgfSxcbn0pO1xuIiwiY29uc3Qgc2VsZWN0ID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3NlbGVjdFwiKTtcbmNvbnN0IGJlaGF2aW9yID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL2JlaGF2aW9yXCIpO1xuY29uc3QgdG9nZ2xlID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3RvZ2dsZVwiKTtcbmNvbnN0IGlzRWxlbWVudEluVmlld3BvcnQgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvaXMtaW4tdmlld3BvcnRcIik7XG5jb25zdCB7IENMSUNLIH0gPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvZXZlbnRzXCIpO1xuY29uc3QgeyBwcmVmaXg6IFBSRUZJWCB9ID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL2NvbmZpZ1wiKTtcblxuY29uc3QgQUNDT1JESU9OID0gYC4ke1BSRUZJWH0tYWNjb3JkaW9uLCAuJHtQUkVGSVh9LWFjY29yZGlvbi0tYm9yZGVyZWRgO1xuY29uc3QgQkFOTkVSX0JVVFRPTiA9IGAuJHtQUkVGSVh9LWJhbm5lcl9fYnV0dG9uYDtcbmNvbnN0IEJVVFRPTiA9IGAuJHtQUkVGSVh9LWFjY29yZGlvbl9fYnV0dG9uW2FyaWEtY29udHJvbHNdOm5vdCgke0JBTk5FUl9CVVRUT059KWA7XG5jb25zdCBFWFBBTkRFRCA9IFwiYXJpYS1leHBhbmRlZFwiO1xuY29uc3QgTVVMVElTRUxFQ1RBQkxFID0gXCJkYXRhLWFsbG93LW11bHRpcGxlXCI7XG5cbi8qKlxuICogR2V0IGFuIEFycmF5IG9mIGJ1dHRvbiBlbGVtZW50cyBiZWxvbmdpbmcgZGlyZWN0bHkgdG8gdGhlIGdpdmVuXG4gKiBhY2NvcmRpb24gZWxlbWVudC5cbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGFjY29yZGlvblxuICogQHJldHVybiB7YXJyYXk8SFRNTEJ1dHRvbkVsZW1lbnQ+fVxuICovXG5jb25zdCBnZXRBY2NvcmRpb25CdXR0b25zID0gKGFjY29yZGlvbikgPT4ge1xuICBjb25zdCBidXR0b25zID0gc2VsZWN0KEJVVFRPTiwgYWNjb3JkaW9uKTtcblxuICByZXR1cm4gYnV0dG9ucy5maWx0ZXIoKGJ1dHRvbikgPT4gYnV0dG9uLmNsb3Nlc3QoQUNDT1JESU9OKSA9PT0gYWNjb3JkaW9uKTtcbn07XG5cbi8qKlxuICogVG9nZ2xlIGEgYnV0dG9uJ3MgXCJwcmVzc2VkXCIgc3RhdGUsIG9wdGlvbmFsbHkgcHJvdmlkaW5nIGEgdGFyZ2V0XG4gKiBzdGF0ZS5cbiAqXG4gKiBAcGFyYW0ge0hUTUxCdXR0b25FbGVtZW50fSBidXR0b25cbiAqIEBwYXJhbSB7Ym9vbGVhbj99IGV4cGFuZGVkIElmIG5vIHN0YXRlIGlzIHByb3ZpZGVkLCB0aGUgY3VycmVudFxuICogc3RhdGUgd2lsbCBiZSB0b2dnbGVkIChmcm9tIGZhbHNlIHRvIHRydWUsIGFuZCB2aWNlLXZlcnNhKS5cbiAqIEByZXR1cm4ge2Jvb2xlYW59IHRoZSByZXN1bHRpbmcgc3RhdGVcbiAqL1xuY29uc3QgdG9nZ2xlQnV0dG9uID0gKGJ1dHRvbiwgZXhwYW5kZWQpID0+IHtcbiAgY29uc3QgYWNjb3JkaW9uID0gYnV0dG9uLmNsb3Nlc3QoQUNDT1JESU9OKTtcbiAgbGV0IHNhZmVFeHBhbmRlZCA9IGV4cGFuZGVkO1xuXG4gIGlmICghYWNjb3JkaW9uKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGAke0JVVFRPTn0gaXMgbWlzc2luZyBvdXRlciAke0FDQ09SRElPTn1gKTtcbiAgfVxuXG4gIHNhZmVFeHBhbmRlZCA9IHRvZ2dsZShidXR0b24sIGV4cGFuZGVkKTtcblxuICAvLyBYWFggbXVsdGlzZWxlY3RhYmxlIGlzIG9wdC1pbiwgdG8gcHJlc2VydmUgbGVnYWN5IGJlaGF2aW9yXG4gIGNvbnN0IG11bHRpc2VsZWN0YWJsZSA9IGFjY29yZGlvbi5oYXNBdHRyaWJ1dGUoTVVMVElTRUxFQ1RBQkxFKTtcblxuICBpZiAoc2FmZUV4cGFuZGVkICYmICFtdWx0aXNlbGVjdGFibGUpIHtcbiAgICBnZXRBY2NvcmRpb25CdXR0b25zKGFjY29yZGlvbikuZm9yRWFjaCgob3RoZXIpID0+IHtcbiAgICAgIGlmIChvdGhlciAhPT0gYnV0dG9uKSB7XG4gICAgICAgIHRvZ2dsZShvdGhlciwgZmFsc2UpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59O1xuXG4vKipcbiAqIEBwYXJhbSB7SFRNTEJ1dHRvbkVsZW1lbnR9IGJ1dHRvblxuICogQHJldHVybiB7Ym9vbGVhbn0gdHJ1ZVxuICovXG5jb25zdCBzaG93QnV0dG9uID0gKGJ1dHRvbikgPT4gdG9nZ2xlQnV0dG9uKGJ1dHRvbiwgdHJ1ZSk7XG5cbi8qKlxuICogQHBhcmFtIHtIVE1MQnV0dG9uRWxlbWVudH0gYnV0dG9uXG4gKiBAcmV0dXJuIHtib29sZWFufSBmYWxzZVxuICovXG5jb25zdCBoaWRlQnV0dG9uID0gKGJ1dHRvbikgPT4gdG9nZ2xlQnV0dG9uKGJ1dHRvbiwgZmFsc2UpO1xuXG5jb25zdCBhY2NvcmRpb24gPSBiZWhhdmlvcihcbiAge1xuICAgIFtDTElDS106IHtcbiAgICAgIFtCVVRUT05dKCkge1xuICAgICAgICB0b2dnbGVCdXR0b24odGhpcyk7XG5cbiAgICAgICAgaWYgKHRoaXMuZ2V0QXR0cmlidXRlKEVYUEFOREVEKSA9PT0gXCJ0cnVlXCIpIHtcbiAgICAgICAgICAvLyBXZSB3ZXJlIGp1c3QgZXhwYW5kZWQsIGJ1dCBpZiBhbm90aGVyIGFjY29yZGlvbiB3YXMgYWxzbyBqdXN0XG4gICAgICAgICAgLy8gY29sbGFwc2VkLCB3ZSBtYXkgbm8gbG9uZ2VyIGJlIGluIHRoZSB2aWV3cG9ydC4gVGhpcyBlbnN1cmVzXG4gICAgICAgICAgLy8gdGhhdCB3ZSBhcmUgc3RpbGwgdmlzaWJsZSwgc28gdGhlIHVzZXIgaXNuJ3QgY29uZnVzZWQuXG4gICAgICAgICAgaWYgKCFpc0VsZW1lbnRJblZpZXdwb3J0KHRoaXMpKSB0aGlzLnNjcm9sbEludG9WaWV3KCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbiAge1xuICAgIGluaXQocm9vdCkge1xuICAgICAgc2VsZWN0KEJVVFRPTiwgcm9vdCkuZm9yRWFjaCgoYnV0dG9uKSA9PiB7XG4gICAgICAgIGNvbnN0IGV4cGFuZGVkID0gYnV0dG9uLmdldEF0dHJpYnV0ZShFWFBBTkRFRCkgPT09IFwidHJ1ZVwiO1xuICAgICAgICB0b2dnbGVCdXR0b24oYnV0dG9uLCBleHBhbmRlZCk7XG4gICAgICB9KTtcbiAgICB9LFxuICAgIEFDQ09SRElPTixcbiAgICBCVVRUT04sXG4gICAgc2hvdzogc2hvd0J1dHRvbixcbiAgICBoaWRlOiBoaWRlQnV0dG9uLFxuICAgIHRvZ2dsZTogdG9nZ2xlQnV0dG9uLFxuICAgIGdldEJ1dHRvbnM6IGdldEFjY29yZGlvbkJ1dHRvbnMsXG4gIH0sXG4pO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGFjY29yZGlvbjtcbiIsImNvbnN0IGJlaGF2aW9yID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL2JlaGF2aW9yXCIpO1xuY29uc3Qgc2VsZWN0ID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3NlbGVjdFwiKTtcbmNvbnN0IHsgQ0xJQ0sgfSA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy9ldmVudHNcIik7XG5jb25zdCB7IHByZWZpeDogUFJFRklYIH0gPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvY29uZmlnXCIpO1xuY29uc3QgdG9nZ2xlID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3RvZ2dsZVwiKTtcblxuY29uc3QgSEVBREVSID0gYC4ke1BSRUZJWH0tYmFubmVyX19oZWFkZXJgO1xuY29uc3QgRVhQQU5ERURfQ0xBU1MgPSBgJHtQUkVGSVh9LWJhbm5lcl9faGVhZGVyLS1leHBhbmRlZGA7XG5jb25zdCBCQU5ORVJfQlVUVE9OID0gYCR7SEVBREVSfSBbYXJpYS1jb250cm9sc11gO1xuXG4vKipcbiAqIFRvZ2dsZSBCYW5uZXIgZGlzcGxheSBhbmQgY2xhc3MuXG4gKiBAcGFyYW0ge0V2ZW50fSBldmVudFxuICovXG5jb25zdCB0b2dnbGVCYW5uZXIgPSBmdW5jdGlvbiB0b2dnbGVFbChldmVudCkge1xuICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICBjb25zdCB0cmlnZ2VyID0gZXZlbnQudGFyZ2V0LmNsb3Nlc3QoQkFOTkVSX0JVVFRPTik7XG5cbiAgdG9nZ2xlKHRyaWdnZXIpO1xuICB0aGlzLmNsb3Nlc3QoSEVBREVSKS5jbGFzc0xpc3QudG9nZ2xlKEVYUEFOREVEX0NMQVNTKTtcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gYmVoYXZpb3IoXG4gIHtcbiAgICBbQ0xJQ0tdOiB7XG4gICAgICBbQkFOTkVSX0JVVFRPTl06IHRvZ2dsZUJhbm5lcixcbiAgICB9LFxuICB9LFxuICB7XG4gICAgaW5pdChyb290KSB7XG4gICAgICBzZWxlY3QoQkFOTkVSX0JVVFRPTiwgcm9vdCkuZm9yRWFjaCgoYnV0dG9uKSA9PiB7XG4gICAgICAgIGNvbnN0IGV4cGFuZGVkID0gYnV0dG9uLmdldEF0dHJpYnV0ZShFWFBBTkRFRF9DTEFTUykgPT09IFwidHJ1ZVwiO1xuICAgICAgICB0b2dnbGUoYnV0dG9uLCBleHBhbmRlZCk7XG4gICAgICB9KTtcbiAgICB9LFxuICB9LFxuKTtcbiIsImNvbnN0IGtleW1hcCA9IHJlcXVpcmUoXCJyZWNlcHRvci9rZXltYXBcIik7XG5jb25zdCBiZWhhdmlvciA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9iZWhhdmlvclwiKTtcblxuY29uc3QgQU5DSE9SX0JVVFRPTiA9IGBhW2NsYXNzKj1cInVzYS1idXR0b25cIl1gO1xuXG5jb25zdCB0b2dnbGVCdXR0b24gPSAoZXZlbnQpID0+IHtcbiAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgZXZlbnQudGFyZ2V0LmNsaWNrKCk7XG59O1xuXG5jb25zdCBhbmNob3JCdXR0b24gPSBiZWhhdmlvcih7XG4gIGtleWRvd246IHtcbiAgICBbQU5DSE9SX0JVVFRPTl06IGtleW1hcCh7XG4gICAgICBcIiBcIjogdG9nZ2xlQnV0dG9uLFxuICAgIH0pLFxuICB9LFxufSk7XG5cbm1vZHVsZS5leHBvcnRzID0gYW5jaG9yQnV0dG9uO1xuIiwiY29uc3Qgc2VsZWN0ID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3NlbGVjdFwiKTtcbmNvbnN0IGJlaGF2aW9yID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL2JlaGF2aW9yXCIpO1xuY29uc3QgZGVib3VuY2UgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvZGVib3VuY2VcIik7XG5jb25zdCB7IHByZWZpeDogUFJFRklYIH0gPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvY29uZmlnXCIpO1xuXG5jb25zdCBDSEFSQUNURVJfQ09VTlRfQ0xBU1MgPSBgJHtQUkVGSVh9LWNoYXJhY3Rlci1jb3VudGA7XG5jb25zdCBDSEFSQUNURVJfQ09VTlQgPSBgLiR7Q0hBUkFDVEVSX0NPVU5UX0NMQVNTfWA7XG5jb25zdCBGT1JNX0dST1VQX0NMQVNTID0gYCR7UFJFRklYfS1mb3JtLWdyb3VwYDtcbmNvbnN0IEZPUk1fR1JPVVBfRVJST1JfQ0xBU1MgPSBgJHtGT1JNX0dST1VQX0NMQVNTfS0tZXJyb3JgO1xuY29uc3QgRk9STV9HUk9VUCA9IGAuJHtGT1JNX0dST1VQX0NMQVNTfWA7XG5jb25zdCBMQUJFTF9DTEFTUyA9IGAke1BSRUZJWH0tbGFiZWxgO1xuY29uc3QgTEFCRUxfRVJST1JfQ0xBU1MgPSBgJHtMQUJFTF9DTEFTU30tLWVycm9yYDtcbmNvbnN0IElOUFVUID0gYC4ke1BSRUZJWH0tY2hhcmFjdGVyLWNvdW50X19maWVsZGA7XG5jb25zdCBJTlBVVF9FUlJPUl9DTEFTUyA9IGAke1BSRUZJWH0taW5wdXQtLWVycm9yYDtcbmNvbnN0IE1FU1NBR0UgPSBgLiR7UFJFRklYfS1jaGFyYWN0ZXItY291bnRfX21lc3NhZ2VgO1xuY29uc3QgVkFMSURBVElPTl9NRVNTQUdFID0gXCJUaGUgY29udGVudCBpcyB0b28gbG9uZy5cIjtcbmNvbnN0IE1FU1NBR0VfSU5WQUxJRF9DTEFTUyA9IGAke1BSRUZJWH0tY2hhcmFjdGVyLWNvdW50X19zdGF0dXMtLWludmFsaWRgO1xuY29uc3QgU1RBVFVTX01FU1NBR0VfQ0xBU1MgPSBgJHtDSEFSQUNURVJfQ09VTlRfQ0xBU1N9X19zdGF0dXNgO1xuY29uc3QgU1RBVFVTX01FU1NBR0VfU1JfT05MWV9DTEFTUyA9IGAke0NIQVJBQ1RFUl9DT1VOVF9DTEFTU31fX3NyLXN0YXR1c2A7XG5jb25zdCBTVEFUVVNfTUVTU0FHRSA9IGAuJHtTVEFUVVNfTUVTU0FHRV9DTEFTU31gO1xuY29uc3QgU1RBVFVTX01FU1NBR0VfU1JfT05MWSA9IGAuJHtTVEFUVVNfTUVTU0FHRV9TUl9PTkxZX0NMQVNTfWA7XG5jb25zdCBERUZBVUxUX1NUQVRVU19MQUJFTCA9IGBjaGFyYWN0ZXJzIGFsbG93ZWRgO1xuXG4vKipcbiAqIFJldHVybnMgdGhlIHJvb3QsIGZvcm0gZ3JvdXAsIGxhYmVsLCBhbmQgbWVzc2FnZSBlbGVtZW50cyBmb3IgYW4gY2hhcmFjdGVyIGNvdW50IGlucHV0XG4gKlxuICogQHBhcmFtIHtIVE1MSW5wdXRFbGVtZW50fEhUTUxUZXh0QXJlYUVsZW1lbnR9IGlucHV0RWwgVGhlIGNoYXJhY3RlciBjb3VudCBpbnB1dCBlbGVtZW50XG4gKiBAcmV0dXJucyB7Q2hhcmFjdGVyQ291bnRFbGVtZW50c30gZWxlbWVudHMgVGhlIHJvb3QgZm9ybSBncm91cCwgaW5wdXQgSUQsIGxhYmVsLCBhbmQgbWVzc2FnZSBlbGVtZW50LlxuICovXG5jb25zdCBnZXRDaGFyYWN0ZXJDb3VudEVsZW1lbnRzID0gKGlucHV0RWwpID0+IHtcbiAgY29uc3QgY2hhcmFjdGVyQ291bnRFbCA9IGlucHV0RWwuY2xvc2VzdChDSEFSQUNURVJfQ09VTlQpO1xuXG4gIGlmICghY2hhcmFjdGVyQ291bnRFbCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgJHtJTlBVVH0gaXMgbWlzc2luZyBvdXRlciAke0NIQVJBQ1RFUl9DT1VOVH1gKTtcbiAgfVxuXG4gIGNvbnN0IGZvcm1Hcm91cEVsID0gY2hhcmFjdGVyQ291bnRFbC5xdWVyeVNlbGVjdG9yKEZPUk1fR1JPVVApO1xuXG4gIGNvbnN0IGlucHV0SUQgPSBpbnB1dEVsLmdldEF0dHJpYnV0ZShcImlkXCIpO1xuICBjb25zdCBsYWJlbEVsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgbGFiZWxbZm9yPSR7aW5wdXRJRH1dYCk7XG5cbiAgY29uc3QgbWVzc2FnZUVsID0gY2hhcmFjdGVyQ291bnRFbC5xdWVyeVNlbGVjdG9yKE1FU1NBR0UpO1xuXG4gIGlmICghbWVzc2FnZUVsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGAke0NIQVJBQ1RFUl9DT1VOVH0gaXMgbWlzc2luZyBpbm5lciAke01FU1NBR0V9YCk7XG4gIH1cblxuICByZXR1cm4geyBjaGFyYWN0ZXJDb3VudEVsLCBmb3JtR3JvdXBFbCwgaW5wdXRJRCwgbGFiZWxFbCwgbWVzc2FnZUVsIH07XG59O1xuXG4vKipcbiAqIE1vdmUgbWF4bGVuZ3RoIGF0dHJpYnV0ZSB0byBhIGRhdGEgYXR0cmlidXRlIG9uIHVzYS1jaGFyYWN0ZXItY291bnRcbiAqXG4gKiBAcGFyYW0ge0hUTUxJbnB1dEVsZW1lbnR8SFRNTFRleHRBcmVhRWxlbWVudH0gaW5wdXRFbCBUaGUgY2hhcmFjdGVyIGNvdW50IGlucHV0IGVsZW1lbnRcbiAqL1xuY29uc3Qgc2V0RGF0YUxlbmd0aCA9IChpbnB1dEVsKSA9PiB7XG4gIGNvbnN0IHsgY2hhcmFjdGVyQ291bnRFbCB9ID0gZ2V0Q2hhcmFjdGVyQ291bnRFbGVtZW50cyhpbnB1dEVsKTtcblxuICBjb25zdCBtYXhsZW5ndGggPSBpbnB1dEVsLmdldEF0dHJpYnV0ZShcIm1heGxlbmd0aFwiKTtcblxuICBpZiAoIW1heGxlbmd0aCkgcmV0dXJuO1xuXG4gIGlucHV0RWwucmVtb3ZlQXR0cmlidXRlKFwibWF4bGVuZ3RoXCIpO1xuICBjaGFyYWN0ZXJDb3VudEVsLnNldEF0dHJpYnV0ZShcImRhdGEtbWF4bGVuZ3RoXCIsIG1heGxlbmd0aCk7XG59O1xuXG4vKipcbiAqIENyZWF0ZSBhbmQgYXBwZW5kIHN0YXR1cyBtZXNzYWdlcyBmb3IgdmlzdWFsIGFuZCBzY3JlZW4gcmVhZGVyc1xuICpcbiAqIEBwYXJhbSB7SFRNTERpdkVsZW1lbnR9IGNoYXJhY3RlckNvdW50RWwgLSBEaXYgd2l0aCBgLnVzYS1jaGFyYWN0ZXItY291bnRgIGNsYXNzXG4gKiBAZGVzY3JpcHRpb24gIENyZWF0ZSB0d28gc3RhdHVzIG1lc3NhZ2VzIGZvciBudW1iZXIgb2YgY2hhcmFjdGVycyBsZWZ0O1xuICogb25lIHZpc3VhbCBzdGF0dXMgYW5kIGFub3RoZXIgZm9yIHNjcmVlbiByZWFkZXJzXG4gKi9cbmNvbnN0IGNyZWF0ZVN0YXR1c01lc3NhZ2VzID0gKGNoYXJhY3RlckNvdW50RWwpID0+IHtcbiAgY29uc3Qgc3RhdHVzTWVzc2FnZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XG4gIGNvbnN0IHNyU3RhdHVzTWVzc2FnZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XG4gIGNvbnN0IG1heExlbmd0aCA9IGNoYXJhY3RlckNvdW50RWwuZGF0YXNldC5tYXhsZW5ndGg7XG4gIGNvbnN0IGRlZmF1bHRNZXNzYWdlID0gYCR7bWF4TGVuZ3RofSAke0RFRkFVTFRfU1RBVFVTX0xBQkVMfWA7XG5cbiAgc3RhdHVzTWVzc2FnZS5jbGFzc0xpc3QuYWRkKGAke1NUQVRVU19NRVNTQUdFX0NMQVNTfWAsIFwidXNhLWhpbnRcIik7XG4gIHNyU3RhdHVzTWVzc2FnZS5jbGFzc0xpc3QuYWRkKFxuICAgIGAke1NUQVRVU19NRVNTQUdFX1NSX09OTFlfQ0xBU1N9YCxcbiAgICBcInVzYS1zci1vbmx5XCIsXG4gICk7XG5cbiAgc3RhdHVzTWVzc2FnZS5zZXRBdHRyaWJ1dGUoXCJhcmlhLWhpZGRlblwiLCB0cnVlKTtcbiAgc3JTdGF0dXNNZXNzYWdlLnNldEF0dHJpYnV0ZShcImFyaWEtbGl2ZVwiLCBcInBvbGl0ZVwiKTtcblxuICBzdGF0dXNNZXNzYWdlLnRleHRDb250ZW50ID0gZGVmYXVsdE1lc3NhZ2U7XG4gIHNyU3RhdHVzTWVzc2FnZS50ZXh0Q29udGVudCA9IGRlZmF1bHRNZXNzYWdlO1xuXG4gIGNoYXJhY3RlckNvdW50RWwuYXBwZW5kKHN0YXR1c01lc3NhZ2UsIHNyU3RhdHVzTWVzc2FnZSk7XG59O1xuXG4vKipcbiAqIFJldHVybnMgbWVzc2FnZSB3aXRoIGhvdyBtYW55IGNoYXJhY3RlcnMgYXJlIGxlZnRcbiAqXG4gKiBAcGFyYW0ge251bWJlcn0gY3VycmVudExlbmd0aCAtIFRoZSBudW1iZXIgb2YgY2hhcmFjdGVycyB1c2VkXG4gKiBAcGFyYW0ge251bWJlcn0gbWF4TGVuZ3RoIC0gVGhlIHRvdGFsIG51bWJlciBvZiBjaGFyYWN0ZXJzIGFsbG93ZWRcbiAqIEByZXR1cm5zIHtzdHJpbmd9IEEgc3RyaW5nIGRlc2NyaXB0aW9uIG9mIGhvdyBtYW55IGNoYXJhY3RlcnMgYXJlIGxlZnRcbiAqL1xuY29uc3QgZ2V0Q291bnRNZXNzYWdlID0gKGN1cnJlbnRMZW5ndGgsIG1heExlbmd0aCkgPT4ge1xuICBsZXQgbmV3TWVzc2FnZSA9IFwiXCI7XG5cbiAgaWYgKGN1cnJlbnRMZW5ndGggPT09IDApIHtcbiAgICBuZXdNZXNzYWdlID0gYCR7bWF4TGVuZ3RofSAke0RFRkFVTFRfU1RBVFVTX0xBQkVMfWA7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgZGlmZmVyZW5jZSA9IE1hdGguYWJzKG1heExlbmd0aCAtIGN1cnJlbnRMZW5ndGgpO1xuICAgIGNvbnN0IGNoYXJhY3RlcnMgPSBgY2hhcmFjdGVyJHtkaWZmZXJlbmNlID09PSAxID8gXCJcIiA6IFwic1wifWA7XG4gICAgY29uc3QgZ3VpZGFuY2UgPSBjdXJyZW50TGVuZ3RoID4gbWF4TGVuZ3RoID8gXCJvdmVyIGxpbWl0XCIgOiBcImxlZnRcIjtcblxuICAgIG5ld01lc3NhZ2UgPSBgJHtkaWZmZXJlbmNlfSAke2NoYXJhY3RlcnN9ICR7Z3VpZGFuY2V9YDtcbiAgfVxuXG4gIHJldHVybiBuZXdNZXNzYWdlO1xufTtcblxuLyoqXG4gKiBVcGRhdGVzIHRoZSBjaGFyYWN0ZXIgY291bnQgc3RhdHVzIGZvciBzY3JlZW4gcmVhZGVycyBhZnRlciBhIDEwMDBtcyBkZWxheS5cbiAqXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBtc2dFbCAtIFRoZSBzY3JlZW4gcmVhZGVyIHN0YXR1cyBtZXNzYWdlIGVsZW1lbnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBzdGF0dXNNZXNzYWdlIC0gQSBzdHJpbmcgb2YgdGhlIGN1cnJlbnQgY2hhcmFjdGVyIHN0YXR1c1xuICovXG5jb25zdCBzclVwZGF0ZVN0YXR1cyA9IGRlYm91bmNlKChtc2dFbCwgc3RhdHVzTWVzc2FnZSkgPT4ge1xuICBjb25zdCBzclN0YXR1c01lc3NhZ2UgPSBtc2dFbDtcbiAgc3JTdGF0dXNNZXNzYWdlLnRleHRDb250ZW50ID0gc3RhdHVzTWVzc2FnZTtcbn0sIDEwMDApO1xuXG4vKipcbiAqIFVwZGF0ZSB0aGUgY2hhcmFjdGVyIGNvdW50IGNvbXBvbmVudFxuICpcbiAqIEBkZXNjcmlwdGlvbiBPbiBpbnB1dCwgaXQgd2lsbCB1cGRhdGUgdmlzdWFsIHN0YXR1cywgc2NyZWVucmVhZGVyXG4gKiBzdGF0dXMgYW5kIHVwZGF0ZSBpbnB1dCB2YWxpZGF0aW9uIChpZiBvdmVyIGNoYXJhY3RlciBsZW5ndGgpXG4gKiBAcGFyYW0ge0hUTUxJbnB1dEVsZW1lbnR8SFRNTFRleHRBcmVhRWxlbWVudH0gaW5wdXRFbCBUaGUgY2hhcmFjdGVyIGNvdW50IGlucHV0IGVsZW1lbnRcbiAqL1xuY29uc3QgdXBkYXRlQ291bnRNZXNzYWdlID0gKGlucHV0RWwpID0+IHtcbiAgY29uc3QgeyBjaGFyYWN0ZXJDb3VudEVsLCBsYWJlbEVsLCBmb3JtR3JvdXBFbCB9ID1cbiAgICBnZXRDaGFyYWN0ZXJDb3VudEVsZW1lbnRzKGlucHV0RWwpO1xuICBjb25zdCBjdXJyZW50TGVuZ3RoID0gaW5wdXRFbC52YWx1ZS5sZW5ndGg7XG4gIGNvbnN0IG1heExlbmd0aCA9IHBhcnNlSW50KFxuICAgIGNoYXJhY3RlckNvdW50RWwuZ2V0QXR0cmlidXRlKFwiZGF0YS1tYXhsZW5ndGhcIiksXG4gICAgMTAsXG4gICk7XG4gIGNvbnN0IHN0YXR1c01lc3NhZ2UgPSBjaGFyYWN0ZXJDb3VudEVsLnF1ZXJ5U2VsZWN0b3IoU1RBVFVTX01FU1NBR0UpO1xuICBjb25zdCBzclN0YXR1c01lc3NhZ2UgPSBjaGFyYWN0ZXJDb3VudEVsLnF1ZXJ5U2VsZWN0b3IoXG4gICAgU1RBVFVTX01FU1NBR0VfU1JfT05MWSxcbiAgKTtcbiAgY29uc3QgY3VycmVudFN0YXR1c01lc3NhZ2UgPSBnZXRDb3VudE1lc3NhZ2UoY3VycmVudExlbmd0aCwgbWF4TGVuZ3RoKTtcblxuICBpZiAoIW1heExlbmd0aCkgcmV0dXJuO1xuXG4gIGNvbnN0IGlzT3ZlckxpbWl0ID0gY3VycmVudExlbmd0aCAmJiBjdXJyZW50TGVuZ3RoID4gbWF4TGVuZ3RoO1xuXG4gIHN0YXR1c01lc3NhZ2UudGV4dENvbnRlbnQgPSBjdXJyZW50U3RhdHVzTWVzc2FnZTtcbiAgc3JVcGRhdGVTdGF0dXMoc3JTdGF0dXNNZXNzYWdlLCBjdXJyZW50U3RhdHVzTWVzc2FnZSk7XG5cbiAgaWYgKGlzT3ZlckxpbWl0ICYmICFpbnB1dEVsLnZhbGlkYXRpb25NZXNzYWdlKSB7XG4gICAgaW5wdXRFbC5zZXRDdXN0b21WYWxpZGl0eShWQUxJREFUSU9OX01FU1NBR0UpO1xuICB9XG5cbiAgaWYgKCFpc092ZXJMaW1pdCAmJiBpbnB1dEVsLnZhbGlkYXRpb25NZXNzYWdlID09PSBWQUxJREFUSU9OX01FU1NBR0UpIHtcbiAgICBpbnB1dEVsLnNldEN1c3RvbVZhbGlkaXR5KFwiXCIpO1xuICB9XG5cbiAgaWYgKGZvcm1Hcm91cEVsKSB7XG4gICAgZm9ybUdyb3VwRWwuY2xhc3NMaXN0LnRvZ2dsZShGT1JNX0dST1VQX0VSUk9SX0NMQVNTLCBpc092ZXJMaW1pdCk7XG4gIH1cblxuICBpZiAobGFiZWxFbCkge1xuICAgIGxhYmVsRWwuY2xhc3NMaXN0LnRvZ2dsZShMQUJFTF9FUlJPUl9DTEFTUywgaXNPdmVyTGltaXQpO1xuICB9XG5cbiAgaW5wdXRFbC5jbGFzc0xpc3QudG9nZ2xlKElOUFVUX0VSUk9SX0NMQVNTLCBpc092ZXJMaW1pdCk7XG4gIHN0YXR1c01lc3NhZ2UuY2xhc3NMaXN0LnRvZ2dsZShNRVNTQUdFX0lOVkFMSURfQ0xBU1MsIGlzT3ZlckxpbWl0KTtcbn07XG5cbi8qKlxuICogSW5pdGlhbGl6ZSBjb21wb25lbnRcbiAqXG4gKiBAZGVzY3JpcHRpb24gT24gaW5pdCB0aGlzIGZ1bmN0aW9uIHdpbGwgY3JlYXRlIGVsZW1lbnRzIGFuZCB1cGRhdGUgYW55XG4gKiBhdHRyaWJ1dGVzIHNvIGl0IGNhbiB0ZWxsIHRoZSB1c2VyIGhvdyBtYW55IGNoYXJhY3RlcnMgYXJlIGxlZnQuXG4gKiBAcGFyYW0gIHtIVE1MSW5wdXRFbGVtZW50fEhUTUxUZXh0QXJlYUVsZW1lbnR9IGlucHV0RWwgdGhlIGNvbXBvbmVudHMgaW5wdXRcbiAqL1xuY29uc3QgZW5oYW5jZUNoYXJhY3RlckNvdW50ID0gKGlucHV0RWwpID0+IHtcbiAgY29uc3QgeyBjaGFyYWN0ZXJDb3VudEVsLCBtZXNzYWdlRWwgfSA9IGdldENoYXJhY3RlckNvdW50RWxlbWVudHMoaW5wdXRFbCk7XG5cbiAgLy8gSGlkZSBoaW50IGFuZCByZW1vdmUgYXJpYS1saXZlIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuICBtZXNzYWdlRWwuY2xhc3NMaXN0LmFkZChcInVzYS1zci1vbmx5XCIpO1xuICBtZXNzYWdlRWwucmVtb3ZlQXR0cmlidXRlKFwiYXJpYS1saXZlXCIpO1xuXG4gIHNldERhdGFMZW5ndGgoaW5wdXRFbCk7XG4gIGNyZWF0ZVN0YXR1c01lc3NhZ2VzKGNoYXJhY3RlckNvdW50RWwpO1xufTtcblxuY29uc3QgY2hhcmFjdGVyQ291bnQgPSBiZWhhdmlvcihcbiAge1xuICAgIGlucHV0OiB7XG4gICAgICBbSU5QVVRdKCkge1xuICAgICAgICB1cGRhdGVDb3VudE1lc3NhZ2UodGhpcyk7XG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG4gIHtcbiAgICBpbml0KHJvb3QpIHtcbiAgICAgIHNlbGVjdChJTlBVVCwgcm9vdCkuZm9yRWFjaCgoaW5wdXQpID0+IGVuaGFuY2VDaGFyYWN0ZXJDb3VudChpbnB1dCkpO1xuICAgIH0sXG4gICAgRk9STV9HUk9VUF9FUlJPUl9DTEFTUyxcbiAgICBMQUJFTF9FUlJPUl9DTEFTUyxcbiAgICBJTlBVVF9FUlJPUl9DTEFTUyxcbiAgICBNRVNTQUdFX0lOVkFMSURfQ0xBU1MsXG4gICAgVkFMSURBVElPTl9NRVNTQUdFLFxuICAgIFNUQVRVU19NRVNTQUdFX0NMQVNTLFxuICAgIFNUQVRVU19NRVNTQUdFX1NSX09OTFlfQ0xBU1MsXG4gICAgREVGQVVMVF9TVEFUVVNfTEFCRUwsXG4gICAgY3JlYXRlU3RhdHVzTWVzc2FnZXMsXG4gICAgZ2V0Q291bnRNZXNzYWdlLFxuICAgIHVwZGF0ZUNvdW50TWVzc2FnZSxcbiAgfSxcbik7XG5cbm1vZHVsZS5leHBvcnRzID0gY2hhcmFjdGVyQ291bnQ7XG4iLCJjb25zdCBrZXltYXAgPSByZXF1aXJlKFwicmVjZXB0b3Iva2V5bWFwXCIpO1xuY29uc3Qgc2VsZWN0T3JNYXRjaGVzID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3NlbGVjdC1vci1tYXRjaGVzXCIpO1xuY29uc3QgYmVoYXZpb3IgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvYmVoYXZpb3JcIik7XG5jb25zdCBTYW5pdGl6ZXIgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvc2FuaXRpemVyXCIpO1xuY29uc3QgeyBwcmVmaXg6IFBSRUZJWCB9ID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL2NvbmZpZ1wiKTtcbmNvbnN0IHsgQ0xJQ0sgfSA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy9ldmVudHNcIik7XG5cbmNvbnN0IENPTUJPX0JPWF9DTEFTUyA9IGAke1BSRUZJWH0tY29tYm8tYm94YDtcbmNvbnN0IENPTUJPX0JPWF9QUklTVElORV9DTEFTUyA9IGAke0NPTUJPX0JPWF9DTEFTU30tLXByaXN0aW5lYDtcbmNvbnN0IFNFTEVDVF9DTEFTUyA9IGAke0NPTUJPX0JPWF9DTEFTU31fX3NlbGVjdGA7XG5jb25zdCBJTlBVVF9DTEFTUyA9IGAke0NPTUJPX0JPWF9DTEFTU31fX2lucHV0YDtcbmNvbnN0IENMRUFSX0lOUFVUX0JVVFRPTl9DTEFTUyA9IGAke0NPTUJPX0JPWF9DTEFTU31fX2NsZWFyLWlucHV0YDtcbmNvbnN0IENMRUFSX0lOUFVUX0JVVFRPTl9XUkFQUEVSX0NMQVNTID0gYCR7Q0xFQVJfSU5QVVRfQlVUVE9OX0NMQVNTfV9fd3JhcHBlcmA7XG5jb25zdCBJTlBVVF9CVVRUT05fU0VQQVJBVE9SX0NMQVNTID0gYCR7Q09NQk9fQk9YX0NMQVNTfV9faW5wdXQtYnV0dG9uLXNlcGFyYXRvcmA7XG5jb25zdCBUT0dHTEVfTElTVF9CVVRUT05fQ0xBU1MgPSBgJHtDT01CT19CT1hfQ0xBU1N9X190b2dnbGUtbGlzdGA7XG5jb25zdCBUT0dHTEVfTElTVF9CVVRUT05fV1JBUFBFUl9DTEFTUyA9IGAke1RPR0dMRV9MSVNUX0JVVFRPTl9DTEFTU31fX3dyYXBwZXJgO1xuY29uc3QgTElTVF9DTEFTUyA9IGAke0NPTUJPX0JPWF9DTEFTU31fX2xpc3RgO1xuY29uc3QgTElTVF9PUFRJT05fQ0xBU1MgPSBgJHtDT01CT19CT1hfQ0xBU1N9X19saXN0LW9wdGlvbmA7XG5jb25zdCBMSVNUX09QVElPTl9GT0NVU0VEX0NMQVNTID0gYCR7TElTVF9PUFRJT05fQ0xBU1N9LS1mb2N1c2VkYDtcbmNvbnN0IExJU1RfT1BUSU9OX1NFTEVDVEVEX0NMQVNTID0gYCR7TElTVF9PUFRJT05fQ0xBU1N9LS1zZWxlY3RlZGA7XG5jb25zdCBTVEFUVVNfQ0xBU1MgPSBgJHtDT01CT19CT1hfQ0xBU1N9X19zdGF0dXNgO1xuXG5jb25zdCBDT01CT19CT1ggPSBgLiR7Q09NQk9fQk9YX0NMQVNTfWA7XG5jb25zdCBTRUxFQ1QgPSBgLiR7U0VMRUNUX0NMQVNTfWA7XG5jb25zdCBJTlBVVCA9IGAuJHtJTlBVVF9DTEFTU31gO1xuY29uc3QgQ0xFQVJfSU5QVVRfQlVUVE9OID0gYC4ke0NMRUFSX0lOUFVUX0JVVFRPTl9DTEFTU31gO1xuY29uc3QgVE9HR0xFX0xJU1RfQlVUVE9OID0gYC4ke1RPR0dMRV9MSVNUX0JVVFRPTl9DTEFTU31gO1xuY29uc3QgTElTVCA9IGAuJHtMSVNUX0NMQVNTfWA7XG5jb25zdCBMSVNUX09QVElPTiA9IGAuJHtMSVNUX09QVElPTl9DTEFTU31gO1xuY29uc3QgTElTVF9PUFRJT05fRk9DVVNFRCA9IGAuJHtMSVNUX09QVElPTl9GT0NVU0VEX0NMQVNTfWA7XG5jb25zdCBMSVNUX09QVElPTl9TRUxFQ1RFRCA9IGAuJHtMSVNUX09QVElPTl9TRUxFQ1RFRF9DTEFTU31gO1xuY29uc3QgU1RBVFVTID0gYC4ke1NUQVRVU19DTEFTU31gO1xuXG5jb25zdCBERUZBVUxUX0ZJTFRFUiA9IFwiLip7e3F1ZXJ5fX0uKlwiO1xuXG5jb25zdCBub29wID0gKCkgPT4ge307XG5cbi8qKlxuICogc2V0IHRoZSB2YWx1ZSBvZiB0aGUgZWxlbWVudCBhbmQgZGlzcGF0Y2ggYSBjaGFuZ2UgZXZlbnRcbiAqXG4gKiBAcGFyYW0ge0hUTUxJbnB1dEVsZW1lbnR8SFRNTFNlbGVjdEVsZW1lbnR9IGVsIFRoZSBlbGVtZW50IHRvIHVwZGF0ZVxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlIFRoZSBuZXcgdmFsdWUgb2YgdGhlIGVsZW1lbnRcbiAqL1xuY29uc3QgY2hhbmdlRWxlbWVudFZhbHVlID0gKGVsLCB2YWx1ZSA9IFwiXCIpID0+IHtcbiAgY29uc3QgZWxlbWVudFRvQ2hhbmdlID0gZWw7XG4gIGVsZW1lbnRUb0NoYW5nZS52YWx1ZSA9IHZhbHVlO1xuXG4gIGNvbnN0IGV2ZW50ID0gbmV3IEN1c3RvbUV2ZW50KFwiY2hhbmdlXCIsIHtcbiAgICBidWJibGVzOiB0cnVlLFxuICAgIGNhbmNlbGFibGU6IHRydWUsXG4gICAgZGV0YWlsOiB7IHZhbHVlIH0sXG4gIH0pO1xuICBlbGVtZW50VG9DaGFuZ2UuZGlzcGF0Y2hFdmVudChldmVudCk7XG59O1xuXG4vKipcbiAqIFRoZSBlbGVtZW50cyB3aXRoaW4gdGhlIGNvbWJvIGJveC5cbiAqIEB0eXBlZGVmIHtPYmplY3R9IENvbWJvQm94Q29udGV4dFxuICogQHByb3BlcnR5IHtIVE1MRWxlbWVudH0gY29tYm9Cb3hFbFxuICogQHByb3BlcnR5IHtIVE1MU2VsZWN0RWxlbWVudH0gc2VsZWN0RWxcbiAqIEBwcm9wZXJ0eSB7SFRNTElucHV0RWxlbWVudH0gaW5wdXRFbFxuICogQHByb3BlcnR5IHtIVE1MVUxpc3RFbGVtZW50fSBsaXN0RWxcbiAqIEBwcm9wZXJ0eSB7SFRNTERpdkVsZW1lbnR9IHN0YXR1c0VsXG4gKiBAcHJvcGVydHkge0hUTUxMSUVsZW1lbnR9IGZvY3VzZWRPcHRpb25FbFxuICogQHByb3BlcnR5IHtIVE1MTElFbGVtZW50fSBzZWxlY3RlZE9wdGlvbkVsXG4gKiBAcHJvcGVydHkge0hUTUxCdXR0b25FbGVtZW50fSB0b2dnbGVMaXN0QnRuRWxcbiAqIEBwcm9wZXJ0eSB7SFRNTEJ1dHRvbkVsZW1lbnR9IGNsZWFySW5wdXRCdG5FbFxuICogQHByb3BlcnR5IHtib29sZWFufSBpc1ByaXN0aW5lXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IGRpc2FibGVGaWx0ZXJpbmdcbiAqL1xuXG4vKipcbiAqIEdldCBhbiBvYmplY3Qgb2YgZWxlbWVudHMgYmVsb25naW5nIGRpcmVjdGx5IHRvIHRoZSBnaXZlblxuICogY29tYm8gYm94IGNvbXBvbmVudC5cbiAqXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBlbCB0aGUgZWxlbWVudCB3aXRoaW4gdGhlIGNvbWJvIGJveFxuICogQHJldHVybnMge0NvbWJvQm94Q29udGV4dH0gZWxlbWVudHNcbiAqL1xuY29uc3QgZ2V0Q29tYm9Cb3hDb250ZXh0ID0gKGVsKSA9PiB7XG4gIGNvbnN0IGNvbWJvQm94RWwgPSBlbC5jbG9zZXN0KENPTUJPX0JPWCk7XG5cbiAgaWYgKCFjb21ib0JveEVsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBFbGVtZW50IGlzIG1pc3Npbmcgb3V0ZXIgJHtDT01CT19CT1h9YCk7XG4gIH1cblxuICBjb25zdCBzZWxlY3RFbCA9IGNvbWJvQm94RWwucXVlcnlTZWxlY3RvcihTRUxFQ1QpO1xuICBjb25zdCBpbnB1dEVsID0gY29tYm9Cb3hFbC5xdWVyeVNlbGVjdG9yKElOUFVUKTtcbiAgY29uc3QgbGlzdEVsID0gY29tYm9Cb3hFbC5xdWVyeVNlbGVjdG9yKExJU1QpO1xuICBjb25zdCBzdGF0dXNFbCA9IGNvbWJvQm94RWwucXVlcnlTZWxlY3RvcihTVEFUVVMpO1xuICBjb25zdCBmb2N1c2VkT3B0aW9uRWwgPSBjb21ib0JveEVsLnF1ZXJ5U2VsZWN0b3IoTElTVF9PUFRJT05fRk9DVVNFRCk7XG4gIGNvbnN0IHNlbGVjdGVkT3B0aW9uRWwgPSBjb21ib0JveEVsLnF1ZXJ5U2VsZWN0b3IoTElTVF9PUFRJT05fU0VMRUNURUQpO1xuICBjb25zdCB0b2dnbGVMaXN0QnRuRWwgPSBjb21ib0JveEVsLnF1ZXJ5U2VsZWN0b3IoVE9HR0xFX0xJU1RfQlVUVE9OKTtcbiAgY29uc3QgY2xlYXJJbnB1dEJ0bkVsID0gY29tYm9Cb3hFbC5xdWVyeVNlbGVjdG9yKENMRUFSX0lOUFVUX0JVVFRPTik7XG5cbiAgY29uc3QgaXNQcmlzdGluZSA9IGNvbWJvQm94RWwuY2xhc3NMaXN0LmNvbnRhaW5zKENPTUJPX0JPWF9QUklTVElORV9DTEFTUyk7XG4gIGNvbnN0IGRpc2FibGVGaWx0ZXJpbmcgPSBjb21ib0JveEVsLmRhdGFzZXQuZGlzYWJsZUZpbHRlcmluZyA9PT0gXCJ0cnVlXCI7XG5cbiAgcmV0dXJuIHtcbiAgICBjb21ib0JveEVsLFxuICAgIHNlbGVjdEVsLFxuICAgIGlucHV0RWwsXG4gICAgbGlzdEVsLFxuICAgIHN0YXR1c0VsLFxuICAgIGZvY3VzZWRPcHRpb25FbCxcbiAgICBzZWxlY3RlZE9wdGlvbkVsLFxuICAgIHRvZ2dsZUxpc3RCdG5FbCxcbiAgICBjbGVhcklucHV0QnRuRWwsXG4gICAgaXNQcmlzdGluZSxcbiAgICBkaXNhYmxlRmlsdGVyaW5nLFxuICB9O1xufTtcblxuLyoqXG4gKiBEaXNhYmxlIHRoZSBjb21iby1ib3ggY29tcG9uZW50XG4gKlxuICogQHBhcmFtIHtIVE1MSW5wdXRFbGVtZW50fSBlbCBBbiBlbGVtZW50IHdpdGhpbiB0aGUgY29tYm8gYm94IGNvbXBvbmVudFxuICovXG5jb25zdCBkaXNhYmxlID0gKGVsKSA9PiB7XG4gIGNvbnN0IHsgaW5wdXRFbCwgdG9nZ2xlTGlzdEJ0bkVsLCBjbGVhcklucHV0QnRuRWwgfSA9IGdldENvbWJvQm94Q29udGV4dChlbCk7XG5cbiAgY2xlYXJJbnB1dEJ0bkVsLmhpZGRlbiA9IHRydWU7XG4gIGNsZWFySW5wdXRCdG5FbC5kaXNhYmxlZCA9IHRydWU7XG4gIHRvZ2dsZUxpc3RCdG5FbC5kaXNhYmxlZCA9IHRydWU7XG4gIGlucHV0RWwuZGlzYWJsZWQgPSB0cnVlO1xufTtcblxuLyoqXG4gKiBDaGVjayBmb3IgYXJpYS1kaXNhYmxlZCBvbiBpbml0aWFsaXphdGlvblxuICpcbiAqIEBwYXJhbSB7SFRNTElucHV0RWxlbWVudH0gZWwgQW4gZWxlbWVudCB3aXRoaW4gdGhlIGNvbWJvIGJveCBjb21wb25lbnRcbiAqL1xuY29uc3QgYXJpYURpc2FibGUgPSAoZWwpID0+IHtcbiAgY29uc3QgeyBpbnB1dEVsLCB0b2dnbGVMaXN0QnRuRWwsIGNsZWFySW5wdXRCdG5FbCB9ID0gZ2V0Q29tYm9Cb3hDb250ZXh0KGVsKTtcblxuICBjbGVhcklucHV0QnRuRWwuaGlkZGVuID0gdHJ1ZTtcbiAgY2xlYXJJbnB1dEJ0bkVsLnNldEF0dHJpYnV0ZShcImFyaWEtZGlzYWJsZWRcIiwgdHJ1ZSk7XG4gIHRvZ2dsZUxpc3RCdG5FbC5zZXRBdHRyaWJ1dGUoXCJhcmlhLWRpc2FibGVkXCIsIHRydWUpO1xuICBpbnB1dEVsLnNldEF0dHJpYnV0ZShcImFyaWEtZGlzYWJsZWRcIiwgdHJ1ZSk7XG59O1xuXG4vKipcbiAqIEVuYWJsZSB0aGUgY29tYm8tYm94IGNvbXBvbmVudFxuICpcbiAqIEBwYXJhbSB7SFRNTElucHV0RWxlbWVudH0gZWwgQW4gZWxlbWVudCB3aXRoaW4gdGhlIGNvbWJvIGJveCBjb21wb25lbnRcbiAqL1xuY29uc3QgZW5hYmxlID0gKGVsKSA9PiB7XG4gIGNvbnN0IHsgaW5wdXRFbCwgdG9nZ2xlTGlzdEJ0bkVsLCBjbGVhcklucHV0QnRuRWwgfSA9IGdldENvbWJvQm94Q29udGV4dChlbCk7XG5cbiAgY2xlYXJJbnB1dEJ0bkVsLmhpZGRlbiA9IGZhbHNlO1xuICBjbGVhcklucHV0QnRuRWwuZGlzYWJsZWQgPSBmYWxzZTtcbiAgdG9nZ2xlTGlzdEJ0bkVsLmRpc2FibGVkID0gZmFsc2U7XG4gIGlucHV0RWwuZGlzYWJsZWQgPSBmYWxzZTtcbn07XG5cbi8qKlxuICogRW5oYW5jZSBhIHNlbGVjdCBlbGVtZW50IGludG8gYSBjb21ibyBib3ggY29tcG9uZW50LlxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IF9jb21ib0JveEVsIFRoZSBpbml0aWFsIGVsZW1lbnQgb2YgdGhlIGNvbWJvIGJveCBjb21wb25lbnRcbiAqL1xuY29uc3QgZW5oYW5jZUNvbWJvQm94ID0gKF9jb21ib0JveEVsKSA9PiB7XG4gIGNvbnN0IGNvbWJvQm94RWwgPSBfY29tYm9Cb3hFbC5jbG9zZXN0KENPTUJPX0JPWCk7XG5cbiAgaWYgKGNvbWJvQm94RWwuZGF0YXNldC5lbmhhbmNlZCkgcmV0dXJuO1xuXG4gIGNvbnN0IHNlbGVjdEVsID0gY29tYm9Cb3hFbC5xdWVyeVNlbGVjdG9yKFwic2VsZWN0XCIpO1xuXG4gIGlmICghc2VsZWN0RWwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYCR7Q09NQk9fQk9YfSBpcyBtaXNzaW5nIGlubmVyIHNlbGVjdGApO1xuICB9XG5cbiAgY29uc3Qgc2VsZWN0SWQgPSBzZWxlY3RFbC5pZDtcbiAgY29uc3Qgc2VsZWN0TGFiZWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBsYWJlbFtmb3I9XCIke3NlbGVjdElkfVwiXWApO1xuICBjb25zdCBsaXN0SWQgPSBgJHtzZWxlY3RJZH0tLWxpc3RgO1xuICBjb25zdCBsaXN0SWRMYWJlbCA9IGAke3NlbGVjdElkfS1sYWJlbGA7XG4gIGNvbnN0IGFkZGl0aW9uYWxBdHRyaWJ1dGVzID0gW107XG4gIGNvbnN0IHsgZGVmYXVsdFZhbHVlIH0gPSBjb21ib0JveEVsLmRhdGFzZXQ7XG4gIGNvbnN0IHsgcGxhY2Vob2xkZXIgfSA9IGNvbWJvQm94RWwuZGF0YXNldDtcbiAgbGV0IHNlbGVjdGVkT3B0aW9uO1xuXG4gIGlmIChwbGFjZWhvbGRlcikge1xuICAgIGFkZGl0aW9uYWxBdHRyaWJ1dGVzLnB1c2goeyBwbGFjZWhvbGRlciB9KTtcbiAgfVxuXG4gIGlmIChkZWZhdWx0VmFsdWUpIHtcbiAgICBmb3IgKGxldCBpID0gMCwgbGVuID0gc2VsZWN0RWwub3B0aW9ucy5sZW5ndGg7IGkgPCBsZW47IGkgKz0gMSkge1xuICAgICAgY29uc3Qgb3B0aW9uRWwgPSBzZWxlY3RFbC5vcHRpb25zW2ldO1xuXG4gICAgICBpZiAob3B0aW9uRWwudmFsdWUgPT09IGRlZmF1bHRWYWx1ZSkge1xuICAgICAgICBzZWxlY3RlZE9wdGlvbiA9IG9wdGlvbkVsO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVGhyb3cgZXJyb3IgaWYgY29tYm9ib3ggaXMgbWlzc2luZyBhIGxhYmVsIG9yIGxhYmVsIGlzIG1pc3NpbmdcbiAgICogYGZvcmAgYXR0cmlidXRlLiBPdGhlcndpc2UsIHNldCB0aGUgSUQgdG8gbWF0Y2ggdGhlIDx1bD4gYXJpYS1sYWJlbGxlZGJ5XG4gICAqL1xuICBpZiAoIXNlbGVjdExhYmVsIHx8ICFzZWxlY3RMYWJlbC5tYXRjaGVzKGBsYWJlbFtmb3I9XCIke3NlbGVjdElkfVwiXWApKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYCR7Q09NQk9fQk9YfSBmb3IgJHtzZWxlY3RJZH0gaXMgZWl0aGVyIG1pc3NpbmcgYSBsYWJlbCBvciBhIFwiZm9yXCIgYXR0cmlidXRlYCxcbiAgICApO1xuICB9IGVsc2Uge1xuICAgIHNlbGVjdExhYmVsLnNldEF0dHJpYnV0ZShcImlkXCIsIGxpc3RJZExhYmVsKTtcbiAgfVxuXG4gIHNlbGVjdExhYmVsLnNldEF0dHJpYnV0ZShcImlkXCIsIGxpc3RJZExhYmVsKTtcbiAgc2VsZWN0RWwuc2V0QXR0cmlidXRlKFwiYXJpYS1oaWRkZW5cIiwgXCJ0cnVlXCIpO1xuICBzZWxlY3RFbC5zZXRBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiLCBcIi0xXCIpO1xuICBzZWxlY3RFbC5jbGFzc0xpc3QuYWRkKFwidXNhLXNyLW9ubHlcIiwgU0VMRUNUX0NMQVNTKTtcbiAgc2VsZWN0RWwuaWQgPSBcIlwiO1xuICBzZWxlY3RFbC52YWx1ZSA9IFwiXCI7XG5cbiAgW1wicmVxdWlyZWRcIiwgXCJhcmlhLWxhYmVsXCIsIFwiYXJpYS1sYWJlbGxlZGJ5XCJdLmZvckVhY2goKG5hbWUpID0+IHtcbiAgICBpZiAoc2VsZWN0RWwuaGFzQXR0cmlidXRlKG5hbWUpKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHNlbGVjdEVsLmdldEF0dHJpYnV0ZShuYW1lKTtcbiAgICAgIGFkZGl0aW9uYWxBdHRyaWJ1dGVzLnB1c2goeyBbbmFtZV06IHZhbHVlIH0pO1xuICAgICAgc2VsZWN0RWwucmVtb3ZlQXR0cmlidXRlKG5hbWUpO1xuICAgIH1cbiAgfSk7XG5cbiAgLy8gc2FuaXRpemUgZG9lc24ndCBsaWtlIGZ1bmN0aW9ucyBpbiB0ZW1wbGF0ZSBsaXRlcmFsc1xuICBjb25zdCBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJpbnB1dFwiKTtcbiAgaW5wdXQuc2V0QXR0cmlidXRlKFwiaWRcIiwgc2VsZWN0SWQpO1xuICBpbnB1dC5zZXRBdHRyaWJ1dGUoXCJhcmlhLW93bnNcIiwgbGlzdElkKTtcbiAgaW5wdXQuc2V0QXR0cmlidXRlKFwiYXJpYS1jb250cm9sc1wiLCBsaXN0SWQpO1xuICBpbnB1dC5zZXRBdHRyaWJ1dGUoXCJhcmlhLWF1dG9jb21wbGV0ZVwiLCBcImxpc3RcIik7XG4gIGlucHV0LnNldEF0dHJpYnV0ZShcImFyaWEtZXhwYW5kZWRcIiwgXCJmYWxzZVwiKTtcbiAgaW5wdXQuc2V0QXR0cmlidXRlKFwiYXV0b2NhcGl0YWxpemVcIiwgXCJvZmZcIik7XG4gIGlucHV0LnNldEF0dHJpYnV0ZShcImF1dG9jb21wbGV0ZVwiLCBcIm9mZlwiKTtcbiAgaW5wdXQuc2V0QXR0cmlidXRlKFwiY2xhc3NcIiwgSU5QVVRfQ0xBU1MpO1xuICBpbnB1dC5zZXRBdHRyaWJ1dGUoXCJ0eXBlXCIsIFwidGV4dFwiKTtcbiAgaW5wdXQuc2V0QXR0cmlidXRlKFwicm9sZVwiLCBcImNvbWJvYm94XCIpO1xuICBhZGRpdGlvbmFsQXR0cmlidXRlcy5mb3JFYWNoKChhdHRyKSA9PlxuICAgIE9iamVjdC5rZXlzKGF0dHIpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgY29uc3QgdmFsdWUgPSBTYW5pdGl6ZXIuZXNjYXBlSFRNTGAke2F0dHJba2V5XX1gO1xuICAgICAgaW5wdXQuc2V0QXR0cmlidXRlKGtleSwgdmFsdWUpO1xuICAgIH0pLFxuICApO1xuXG4gIGNvbWJvQm94RWwuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KFwiYmVmb3JlZW5kXCIsIGlucHV0KTtcblxuICBjb21ib0JveEVsLmluc2VydEFkamFjZW50SFRNTChcbiAgICBcImJlZm9yZWVuZFwiLFxuICAgIFNhbml0aXplci5lc2NhcGVIVE1MYFxuICAgIDxzcGFuIGNsYXNzPVwiJHtDTEVBUl9JTlBVVF9CVVRUT05fV1JBUFBFUl9DTEFTU31cIiB0YWJpbmRleD1cIi0xXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiJHtDTEVBUl9JTlBVVF9CVVRUT05fQ0xBU1N9XCIgYXJpYS1sYWJlbD1cIkNsZWFyIHRoZSBzZWxlY3QgY29udGVudHNcIj4mbmJzcDs8L2J1dHRvbj5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiJHtJTlBVVF9CVVRUT05fU0VQQVJBVE9SX0NMQVNTfVwiPiZuYnNwOzwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiJHtUT0dHTEVfTElTVF9CVVRUT05fV1JBUFBFUl9DTEFTU31cIiB0YWJpbmRleD1cIi0xXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiLTFcIiBjbGFzcz1cIiR7VE9HR0xFX0xJU1RfQlVUVE9OX0NMQVNTfVwiIGFyaWEtbGFiZWw9XCJUb2dnbGUgdGhlIGRyb3Bkb3duIGxpc3RcIj4mbmJzcDs8L2J1dHRvbj5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDx1bFxuICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgaWQ9XCIke2xpc3RJZH1cIlxuICAgICAgICBjbGFzcz1cIiR7TElTVF9DTEFTU31cIlxuICAgICAgICByb2xlPVwibGlzdGJveFwiXG4gICAgICAgIGFyaWEtbGFiZWxsZWRieT1cIiR7bGlzdElkTGFiZWx9XCJcbiAgICAgICAgaGlkZGVuPlxuICAgICAgPC91bD5cbiAgICAgIDxkaXYgY2xhc3M9XCIke1NUQVRVU19DTEFTU30gdXNhLXNyLW9ubHlcIiByb2xlPVwic3RhdHVzXCI+PC9kaXY+YCxcbiAgKTtcblxuICBpZiAoc2VsZWN0ZWRPcHRpb24pIHtcbiAgICBjb25zdCB7IGlucHV0RWwgfSA9IGdldENvbWJvQm94Q29udGV4dChjb21ib0JveEVsKTtcbiAgICBjaGFuZ2VFbGVtZW50VmFsdWUoc2VsZWN0RWwsIHNlbGVjdGVkT3B0aW9uLnZhbHVlKTtcbiAgICBjaGFuZ2VFbGVtZW50VmFsdWUoaW5wdXRFbCwgc2VsZWN0ZWRPcHRpb24udGV4dCk7XG4gICAgY29tYm9Cb3hFbC5jbGFzc0xpc3QuYWRkKENPTUJPX0JPWF9QUklTVElORV9DTEFTUyk7XG4gIH1cblxuICBpZiAoc2VsZWN0RWwuZGlzYWJsZWQpIHtcbiAgICBkaXNhYmxlKGNvbWJvQm94RWwpO1xuICAgIHNlbGVjdEVsLmRpc2FibGVkID0gZmFsc2U7XG4gIH1cblxuICBpZiAoc2VsZWN0RWwuaGFzQXR0cmlidXRlKFwiYXJpYS1kaXNhYmxlZFwiKSkge1xuICAgIGFyaWFEaXNhYmxlKGNvbWJvQm94RWwpO1xuICAgIHNlbGVjdEVsLnJlbW92ZUF0dHJpYnV0ZShcImFyaWEtZGlzYWJsZWRcIik7XG4gIH1cblxuICBjb21ib0JveEVsLmRhdGFzZXQuZW5oYW5jZWQgPSBcInRydWVcIjtcbn07XG5cbi8qKlxuICogTWFuYWdlIHRoZSBmb2N1c2VkIGVsZW1lbnQgd2l0aGluIHRoZSBsaXN0IG9wdGlvbnMgd2hlblxuICogbmF2aWdhdGluZyB2aWEga2V5Ym9hcmQuXG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWwgQW4gYW5jaG9yIGVsZW1lbnQgd2l0aGluIHRoZSBjb21ibyBib3ggY29tcG9uZW50XG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBuZXh0RWwgQW4gZWxlbWVudCB3aXRoaW4gdGhlIGNvbWJvIGJveCBjb21wb25lbnRcbiAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIG9wdGlvbnNcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gb3B0aW9ucy5za2lwRm9jdXMgc2tpcCBmb2N1cyBvZiBoaWdobGlnaHRlZCBpdGVtXG4gKiBAcGFyYW0ge2Jvb2xlYW59IG9wdGlvbnMucHJldmVudFNjcm9sbCBzaG91bGQgc2tpcCBwcm9jZWR1cmUgdG8gc2Nyb2xsIHRvIGVsZW1lbnRcbiAqL1xuY29uc3QgaGlnaGxpZ2h0T3B0aW9uID0gKGVsLCBuZXh0RWwsIHsgc2tpcEZvY3VzLCBwcmV2ZW50U2Nyb2xsIH0gPSB7fSkgPT4ge1xuICBjb25zdCB7IGlucHV0RWwsIGxpc3RFbCwgZm9jdXNlZE9wdGlvbkVsIH0gPSBnZXRDb21ib0JveENvbnRleHQoZWwpO1xuXG4gIGlmIChmb2N1c2VkT3B0aW9uRWwpIHtcbiAgICBmb2N1c2VkT3B0aW9uRWwuY2xhc3NMaXN0LnJlbW92ZShMSVNUX09QVElPTl9GT0NVU0VEX0NMQVNTKTtcbiAgICBmb2N1c2VkT3B0aW9uRWwuc2V0QXR0cmlidXRlKFwidGFiSW5kZXhcIiwgXCItMVwiKTtcbiAgfVxuXG4gIGlmIChuZXh0RWwpIHtcbiAgICBpbnB1dEVsLnNldEF0dHJpYnV0ZShcImFyaWEtYWN0aXZlZGVzY2VuZGFudFwiLCBuZXh0RWwuaWQpO1xuICAgIG5leHRFbC5zZXRBdHRyaWJ1dGUoXCJ0YWJJbmRleFwiLCBcIjBcIik7XG4gICAgbmV4dEVsLmNsYXNzTGlzdC5hZGQoTElTVF9PUFRJT05fRk9DVVNFRF9DTEFTUyk7XG5cbiAgICBpZiAoIXByZXZlbnRTY3JvbGwpIHtcbiAgICAgIGNvbnN0IG9wdGlvbkJvdHRvbSA9IG5leHRFbC5vZmZzZXRUb3AgKyBuZXh0RWwub2Zmc2V0SGVpZ2h0O1xuICAgICAgY29uc3QgY3VycmVudEJvdHRvbSA9IGxpc3RFbC5zY3JvbGxUb3AgKyBsaXN0RWwub2Zmc2V0SGVpZ2h0O1xuXG4gICAgICBpZiAob3B0aW9uQm90dG9tID4gY3VycmVudEJvdHRvbSkge1xuICAgICAgICBsaXN0RWwuc2Nyb2xsVG9wID0gb3B0aW9uQm90dG9tIC0gbGlzdEVsLm9mZnNldEhlaWdodDtcbiAgICAgIH1cblxuICAgICAgaWYgKG5leHRFbC5vZmZzZXRUb3AgPCBsaXN0RWwuc2Nyb2xsVG9wKSB7XG4gICAgICAgIGxpc3RFbC5zY3JvbGxUb3AgPSBuZXh0RWwub2Zmc2V0VG9wO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghc2tpcEZvY3VzKSB7XG4gICAgICBuZXh0RWwuZm9jdXMoeyBwcmV2ZW50U2Nyb2xsIH0pO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpbnB1dEVsLnNldEF0dHJpYnV0ZShcImFyaWEtYWN0aXZlZGVzY2VuZGFudFwiLCBcIlwiKTtcbiAgICBpbnB1dEVsLmZvY3VzKCk7XG4gIH1cbn07XG5cbi8qKlxuICogR2VuZXJhdGUgYSBkeW5hbWljIHJlZ3VsYXIgZXhwcmVzc2lvbiBiYXNlZCBvZmYgb2YgYSByZXBsYWNlYWJsZSBhbmQgcG9zc2libHkgZmlsdGVyZWQgdmFsdWUuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGVsIEFuIGVsZW1lbnQgd2l0aGluIHRoZSBjb21ibyBib3ggY29tcG9uZW50XG4gKiBAcGFyYW0ge3N0cmluZ30gcXVlcnkgVGhlIHZhbHVlIHRvIHVzZSBpbiB0aGUgcmVndWxhciBleHByZXNzaW9uXG4gKiBAcGFyYW0ge29iamVjdH0gZXh0cmFzIEFuIG9iamVjdCBvZiByZWd1bGFyIGV4cHJlc3Npb25zIHRvIHJlcGxhY2UgYW5kIGZpbHRlciB0aGUgcXVlcnlcbiAqL1xuY29uc3QgZ2VuZXJhdGVEeW5hbWljUmVnRXhwID0gKGZpbHRlciwgcXVlcnkgPSBcIlwiLCBleHRyYXMgPSB7fSkgPT4ge1xuICBjb25zdCBlc2NhcGVSZWdFeHAgPSAodGV4dCkgPT5cbiAgICB0ZXh0LnJlcGxhY2UoL1stW1xcXXt9KCkqKz8uLFxcXFxeJHwjXFxzXS9nLCBcIlxcXFwkJlwiKTtcblxuICBsZXQgZmluZCA9IGZpbHRlci5yZXBsYWNlKC97eyguKj8pfX0vZywgKG0sICQxKSA9PiB7XG4gICAgY29uc3Qga2V5ID0gJDEudHJpbSgpO1xuICAgIGNvbnN0IHF1ZXJ5RmlsdGVyID0gZXh0cmFzW2tleV07XG4gICAgaWYgKGtleSAhPT0gXCJxdWVyeVwiICYmIHF1ZXJ5RmlsdGVyKSB7XG4gICAgICBjb25zdCBtYXRjaGVyID0gbmV3IFJlZ0V4cChxdWVyeUZpbHRlciwgXCJpXCIpO1xuICAgICAgY29uc3QgbWF0Y2hlcyA9IHF1ZXJ5Lm1hdGNoKG1hdGNoZXIpO1xuXG4gICAgICBpZiAobWF0Y2hlcykge1xuICAgICAgICByZXR1cm4gZXNjYXBlUmVnRXhwKG1hdGNoZXNbMV0pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gXCJcIjtcbiAgICB9XG4gICAgcmV0dXJuIGVzY2FwZVJlZ0V4cChxdWVyeSk7XG4gIH0pO1xuXG4gIGZpbmQgPSBgXig/OiR7ZmluZH0pJGA7XG5cbiAgcmV0dXJuIG5ldyBSZWdFeHAoZmluZCwgXCJpXCIpO1xufTtcblxuLyoqXG4gKiBEaXNwbGF5IHRoZSBvcHRpb24gbGlzdCBvZiBhIGNvbWJvIGJveCBjb21wb25lbnQuXG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWwgQW4gZWxlbWVudCB3aXRoaW4gdGhlIGNvbWJvIGJveCBjb21wb25lbnRcbiAqL1xuY29uc3QgZGlzcGxheUxpc3QgPSAoZWwpID0+IHtcbiAgY29uc3Qge1xuICAgIGNvbWJvQm94RWwsXG4gICAgc2VsZWN0RWwsXG4gICAgaW5wdXRFbCxcbiAgICBsaXN0RWwsXG4gICAgc3RhdHVzRWwsXG4gICAgaXNQcmlzdGluZSxcbiAgICBkaXNhYmxlRmlsdGVyaW5nLFxuICB9ID0gZ2V0Q29tYm9Cb3hDb250ZXh0KGVsKTtcbiAgbGV0IHNlbGVjdGVkSXRlbUlkO1xuICBsZXQgZmlyc3RGb3VuZElkO1xuXG4gIGNvbnN0IGxpc3RPcHRpb25CYXNlSWQgPSBgJHtsaXN0RWwuaWR9LS1vcHRpb24tYDtcblxuICBjb25zdCBpbnB1dFZhbHVlID0gKGlucHV0RWwudmFsdWUgfHwgXCJcIikudG9Mb3dlckNhc2UoKTtcbiAgY29uc3QgZmlsdGVyID0gY29tYm9Cb3hFbC5kYXRhc2V0LmZpbHRlciB8fCBERUZBVUxUX0ZJTFRFUjtcbiAgY29uc3QgcmVnZXggPSBnZW5lcmF0ZUR5bmFtaWNSZWdFeHAoZmlsdGVyLCBpbnB1dFZhbHVlLCBjb21ib0JveEVsLmRhdGFzZXQpO1xuXG4gIGxldCBvcHRpb25zID0gW107XG4gIGNvbnN0IG9wdGlvbnNTdGFydHNXaXRoID0gW107XG4gIGNvbnN0IG9wdGlvbnNDb250YWlucyA9IFtdO1xuICBjb25zdCBvcHRpb25MaXN0ID0gWy4uLnNlbGVjdEVsLm9wdGlvbnNdO1xuXG4gIC8qKlxuICAgKiBCdWlsZHMgYW5kIHNvcnRzIG9wdGlvbnMgYXJyYXkuXG4gICAqXG4gICAqIE9wdGlvbiBwYXJhbSBpcyBwYXNzZWQgdGhyb3VnaCByZWdleCB0ZXN0IGJlZm9yZSBwYXNzaW5nIGludG8gdGhpcyBmdW5jdGlvbi5cbiAgICogV2hlbiBmaWx0ZXJpbmcgaXMgZW5hYmxlZCwgdGhlIGFycmF5IHdpbGwgYmUgc29ydGVkIGJ5IG9wdGlvbnMgdGhhdCBzdGFydCB3aXRoIHRoZSBxdWVyeSwgZm9sbG93ZWQgYnlcbiAgICogb3B0aW9ucyB0aGF0IGNvbnRhaW4gdGhlIHF1ZXJ5LlxuICAgKiBXaGVuIGZpbHRlcmluZyBpcyBkaXNhYmxlZCwgYWxsIG9wdGlvbnMgd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgYXJyYXkgdW5zb3J0ZWQuXG4gICAqXG4gICAqIFRoZXNlIGFycmF5IGl0ZW1zIHdpbGwgcG9wdWxhdGUgdGhlIGxpc3QgdGhhdCBpcyBkaXNwbGF5ZWQgdG8gdGhlIHVzZXIgYWZ0ZXIgYSBzZWFyY2ggcXVlcnkgaXMgZW50ZXJlZC5cbiAgICogQXJyYXkgYXR0cmlidXRlcyBhcmUgYWxzbyB1c2VkIHRvIHNldCBvcHRpb24gSURzIGFuZCBhcmlhLXNldHNpemUgYXR0cmlidXRlcy5cbiAgICpcbiAgICogQHBhcmFtIHtIVE1MT3B0aW9uRWxlbWVudH0gb3B0aW9uIC0gT3B0aW9uIGVsZW1lbnQgZnJvbSBzZWxlY3QgYXJyYXlcbiAgICovXG4gIGNvbnN0IGJ1aWxkT3B0aW9uc0FycmF5ID0gKG9wdGlvbikgPT4ge1xuICAgIGlmIChkaXNhYmxlRmlsdGVyaW5nIHx8IGlzUHJpc3RpbmUpIHtcbiAgICAgIG9wdGlvbnMucHVzaChvcHRpb24pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG1hdGNoU3RhcnRzV2l0aCA9IG9wdGlvbi50ZXh0LnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChpbnB1dFZhbHVlKTtcblxuICAgIGlmIChtYXRjaFN0YXJ0c1dpdGgpIHtcbiAgICAgIG9wdGlvbnNTdGFydHNXaXRoLnB1c2gob3B0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgb3B0aW9uc0NvbnRhaW5zLnB1c2gob3B0aW9uKTtcbiAgICB9XG5cbiAgICBvcHRpb25zID0gWy4uLm9wdGlvbnNTdGFydHNXaXRoLCAuLi5vcHRpb25zQ29udGFpbnNdO1xuICB9O1xuXG4gIC8qKlxuICAgKiBDb21wYXJlcyBvcHRpb24gdGV4dCB0byBxdWVyeSB1c2luZyBnZW5lcmF0ZWQgcmVnZXggZmlsdGVyLlxuICAgKlxuICAgKiBAcGFyYW0ge0hUTUxPcHRpb25FbGVtZW50fSBvcHRpb25cbiAgICogQHJldHVybnMge2Jvb2xlYW59IC0gVHJ1ZSB3aGVuIG9wdGlvbiB0ZXh0IG1hdGNoZXMgdXNlciBpbnB1dCBxdWVyeS5cbiAgICovXG4gIGNvbnN0IG9wdGlvbk1hdGNoZXNRdWVyeSA9IChvcHRpb24pID0+IHJlZ2V4LnRlc3Qob3B0aW9uLnRleHQpO1xuXG4gIC8qKlxuICAgKiBMb2dpYyBjaGVjayB0byBkZXRlcm1pbmUgaWYgb3B0aW9ucyBhcnJheSBuZWVkcyB0byBiZSB1cGRhdGVkLlxuICAgKlxuICAgKiBAcGFyYW0ge0hUTUxPcHRpb25FbGVtZW50fSBvcHRpb25cbiAgICogQHJldHVybnMge2Jvb2xlYW59IC0gVHJ1ZSB3aGVuIG9wdGlvbiBoYXMgdmFsdWUgJiYgaWYgZmlsdGVyaW5nIGlzIGRpc2FibGVkLCBjb21ibyBib3ggaGFzIGFuIGFjdGl2ZSBzZWxlY3Rpb24sXG4gICAqIHRoZXJlIGlzIG5vIGlucHV0VmFsdWUsIG9yIGlmIG9wdGlvbiBtYXRjaGVzIHVzZXIgcXVlcnlcbiAgICovXG4gIGNvbnN0IGFycmF5TmVlZHNVcGRhdGUgPSAob3B0aW9uKSA9PlxuICAgIG9wdGlvbi52YWx1ZSAmJlxuICAgIChkaXNhYmxlRmlsdGVyaW5nIHx8XG4gICAgICBpc1ByaXN0aW5lIHx8XG4gICAgICAhaW5wdXRWYWx1ZSB8fFxuICAgICAgb3B0aW9uTWF0Y2hlc1F1ZXJ5KG9wdGlvbikpO1xuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgZmlyc3RGb3VuZElkIHNob3VsZCBiZSBhc3NpZ25lZCwgd2hpY2ggaXMgdGhlbiB1c2VkIHRvIHNldCBpdGVtVG9Gb2N1cy5cbiAgICpcbiAgICogQHBhcmFtIHtIVE1MT3B0aW9uRWxlbWVudH0gb3B0aW9uXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIGZpbHRlcmluZyBpcyBkaXNhYmxlZCwgbm8gZmlyc3RGb3VuZElkIGlzIGFzc2lnbmVkLCBhbmQgdGhlIG9wdGlvbiBtYXRjaGVzIHRoZSBxdWVyeS5cbiAgICovXG4gIGNvbnN0IGlzRmlyc3RNYXRjaCA9IChvcHRpb24pID0+XG4gICAgZGlzYWJsZUZpbHRlcmluZyAmJiAhZmlyc3RGb3VuZElkICYmIG9wdGlvbk1hdGNoZXNRdWVyeShvcHRpb24pO1xuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgaXNDdXJyZW50U2VsZWN0aW9uIHNob3VsZCBiZSBhc3NpZ25lZCwgd2hpY2ggaXMgdGhlbiB1c2VkIHRvIHNldCBpdGVtVG9Gb2N1cy5cbiAgICpcbiAgICogQHBhcmFtIHtIVE1MT3B0aW9uRWxlbWVudH0gb3B0aW9uXG4gICAqIEByZXR1cm5zIHtib29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiBvcHRpb24udmFsdWUgbWF0Y2hlcyBzZWxlY3RFbC52YWx1ZS5cbiAgICovXG4gIGNvbnN0IGlzQ3VycmVudFNlbGVjdGlvbiA9IChvcHRpb24pID0+XG4gICAgc2VsZWN0RWwudmFsdWUgJiYgb3B0aW9uLnZhbHVlID09PSBzZWxlY3RFbC52YWx1ZTtcblxuICAvKipcbiAgICogVXBkYXRlIHRoZSBhcnJheSBvZiBvcHRpb25zIHRoYXQgc2hvdWxkIGJlIGRpc3BsYXllZCBvbiB0aGUgcGFnZS5cbiAgICogQXNzaWduIGFuIElEIHRvIGVhY2ggZGlzcGxheWVkIG9wdGlvbi5cbiAgICogSWRlbnRpZnkgYW5kIGFzc2lnbiB0aGUgb3B0aW9uIHRoYXQgc2hvdWxkIHJlY2VpdmUgZm9jdXMuXG4gICAqL1xuICBvcHRpb25MaXN0LmZvckVhY2goKG9wdGlvbikgPT4ge1xuICAgIGlmIChhcnJheU5lZWRzVXBkYXRlKG9wdGlvbikpIHtcbiAgICAgIGJ1aWxkT3B0aW9uc0FycmF5KG9wdGlvbik7XG5cbiAgICAgIGNvbnN0IG9wdGlvbklkID0gYCR7bGlzdE9wdGlvbkJhc2VJZH0ke29wdGlvbnMuaW5kZXhPZihvcHRpb24pfWA7XG5cbiAgICAgIGlmIChpc0ZpcnN0TWF0Y2gob3B0aW9uKSkge1xuICAgICAgICBmaXJzdEZvdW5kSWQgPSBvcHRpb25JZDtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzQ3VycmVudFNlbGVjdGlvbihvcHRpb24pKSB7XG4gICAgICAgIHNlbGVjdGVkSXRlbUlkID0gb3B0aW9uSWQ7XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICBjb25zdCBudW1PcHRpb25zID0gb3B0aW9ucy5sZW5ndGg7XG4gIGNvbnN0IG9wdGlvbkh0bWwgPSBvcHRpb25zLm1hcCgob3B0aW9uLCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IG9wdGlvbklkID0gYCR7bGlzdE9wdGlvbkJhc2VJZH0ke2luZGV4fWA7XG4gICAgY29uc3QgY2xhc3NlcyA9IFtMSVNUX09QVElPTl9DTEFTU107XG4gICAgbGV0IHRhYmluZGV4ID0gXCItMVwiO1xuICAgIGxldCBhcmlhU2VsZWN0ZWQgPSBcImZhbHNlXCI7XG5cbiAgICBpZiAob3B0aW9uSWQgPT09IHNlbGVjdGVkSXRlbUlkKSB7XG4gICAgICBjbGFzc2VzLnB1c2goTElTVF9PUFRJT05fU0VMRUNURURfQ0xBU1MsIExJU1RfT1BUSU9OX0ZPQ1VTRURfQ0xBU1MpO1xuICAgICAgdGFiaW5kZXggPSBcIjBcIjtcbiAgICAgIGFyaWFTZWxlY3RlZCA9IFwidHJ1ZVwiO1xuICAgIH1cblxuICAgIGlmICghc2VsZWN0ZWRJdGVtSWQgJiYgaW5kZXggPT09IDApIHtcbiAgICAgIGNsYXNzZXMucHVzaChMSVNUX09QVElPTl9GT0NVU0VEX0NMQVNTKTtcbiAgICAgIHRhYmluZGV4ID0gXCIwXCI7XG4gICAgfVxuXG4gICAgY29uc3QgbGkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwibGlcIik7XG5cbiAgICBsaS5zZXRBdHRyaWJ1dGUoXCJhcmlhLXNldHNpemVcIiwgb3B0aW9ucy5sZW5ndGgpO1xuICAgIGxpLnNldEF0dHJpYnV0ZShcImFyaWEtcG9zaW5zZXRcIiwgaW5kZXggKyAxKTtcbiAgICBsaS5zZXRBdHRyaWJ1dGUoXCJhcmlhLXNlbGVjdGVkXCIsIGFyaWFTZWxlY3RlZCk7XG4gICAgbGkuc2V0QXR0cmlidXRlKFwiaWRcIiwgb3B0aW9uSWQpO1xuICAgIGxpLnNldEF0dHJpYnV0ZShcImNsYXNzXCIsIGNsYXNzZXMuam9pbihcIiBcIikpO1xuICAgIGxpLnNldEF0dHJpYnV0ZShcInRhYmluZGV4XCIsIHRhYmluZGV4KTtcbiAgICBsaS5zZXRBdHRyaWJ1dGUoXCJyb2xlXCIsIFwib3B0aW9uXCIpO1xuICAgIGxpLnNldEF0dHJpYnV0ZShcImRhdGEtdmFsdWVcIiwgb3B0aW9uLnZhbHVlKTtcbiAgICBsaS50ZXh0Q29udGVudCA9IG9wdGlvbi50ZXh0O1xuXG4gICAgcmV0dXJuIGxpO1xuICB9KTtcblxuICBjb25zdCBub1Jlc3VsdHMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwibGlcIik7XG4gIG5vUmVzdWx0cy5zZXRBdHRyaWJ1dGUoXCJjbGFzc1wiLCBgJHtMSVNUX09QVElPTl9DTEFTU30tLW5vLXJlc3VsdHNgKTtcbiAgbm9SZXN1bHRzLnRleHRDb250ZW50ID0gXCJObyByZXN1bHRzIGZvdW5kXCI7XG5cbiAgbGlzdEVsLmhpZGRlbiA9IGZhbHNlO1xuXG4gIGlmIChudW1PcHRpb25zKSB7XG4gICAgbGlzdEVsLmlubmVySFRNTCA9IFwiXCI7XG4gICAgb3B0aW9uSHRtbC5mb3JFYWNoKChpdGVtKSA9PlxuICAgICAgbGlzdEVsLmluc2VydEFkamFjZW50RWxlbWVudChcImJlZm9yZWVuZFwiLCBpdGVtKSxcbiAgICApO1xuICB9IGVsc2Uge1xuICAgIGxpc3RFbC5pbm5lckhUTUwgPSBcIlwiO1xuICAgIGxpc3RFbC5pbnNlcnRBZGphY2VudEVsZW1lbnQoXCJiZWZvcmVlbmRcIiwgbm9SZXN1bHRzKTtcbiAgfVxuXG4gIGlucHV0RWwuc2V0QXR0cmlidXRlKFwiYXJpYS1leHBhbmRlZFwiLCBcInRydWVcIik7XG5cbiAgc3RhdHVzRWwudGV4dENvbnRlbnQgPSBudW1PcHRpb25zXG4gICAgPyBgJHtudW1PcHRpb25zfSByZXN1bHQke251bU9wdGlvbnMgPiAxID8gXCJzXCIgOiBcIlwifSBhdmFpbGFibGUuYFxuICAgIDogXCJObyByZXN1bHRzLlwiO1xuXG4gIGxldCBpdGVtVG9Gb2N1cztcblxuICBpZiAoaXNQcmlzdGluZSAmJiBzZWxlY3RlZEl0ZW1JZCkge1xuICAgIGl0ZW1Ub0ZvY3VzID0gbGlzdEVsLnF1ZXJ5U2VsZWN0b3IoYCMke3NlbGVjdGVkSXRlbUlkfWApO1xuICB9IGVsc2UgaWYgKGRpc2FibGVGaWx0ZXJpbmcgJiYgZmlyc3RGb3VuZElkKSB7XG4gICAgaXRlbVRvRm9jdXMgPSBsaXN0RWwucXVlcnlTZWxlY3RvcihgIyR7Zmlyc3RGb3VuZElkfWApO1xuICB9XG5cbiAgaWYgKGl0ZW1Ub0ZvY3VzKSB7XG4gICAgaGlnaGxpZ2h0T3B0aW9uKGxpc3RFbCwgaXRlbVRvRm9jdXMsIHtcbiAgICAgIHNraXBGb2N1czogdHJ1ZSxcbiAgICB9KTtcbiAgfVxufTtcblxuLyoqXG4gKiBIaWRlIHRoZSBvcHRpb24gbGlzdCBvZiBhIGNvbWJvIGJveCBjb21wb25lbnQuXG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWwgQW4gZWxlbWVudCB3aXRoaW4gdGhlIGNvbWJvIGJveCBjb21wb25lbnRcbiAqL1xuY29uc3QgaGlkZUxpc3QgPSAoZWwpID0+IHtcbiAgY29uc3QgeyBpbnB1dEVsLCBsaXN0RWwsIHN0YXR1c0VsLCBmb2N1c2VkT3B0aW9uRWwgfSA9IGdldENvbWJvQm94Q29udGV4dChlbCk7XG5cbiAgc3RhdHVzRWwuaW5uZXJIVE1MID0gXCJcIjtcblxuICBpbnB1dEVsLnNldEF0dHJpYnV0ZShcImFyaWEtZXhwYW5kZWRcIiwgXCJmYWxzZVwiKTtcbiAgaW5wdXRFbC5zZXRBdHRyaWJ1dGUoXCJhcmlhLWFjdGl2ZWRlc2NlbmRhbnRcIiwgXCJcIik7XG5cbiAgaWYgKGZvY3VzZWRPcHRpb25FbCkge1xuICAgIGZvY3VzZWRPcHRpb25FbC5jbGFzc0xpc3QucmVtb3ZlKExJU1RfT1BUSU9OX0ZPQ1VTRURfQ0xBU1MpO1xuICB9XG5cbiAgbGlzdEVsLnNjcm9sbFRvcCA9IDA7XG4gIGxpc3RFbC5oaWRkZW4gPSB0cnVlO1xufTtcblxuLyoqXG4gKiBTZWxlY3QgYW4gb3B0aW9uIGxpc3Qgb2YgdGhlIGNvbWJvIGJveCBjb21wb25lbnQuXG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gbGlzdE9wdGlvbkVsIFRoZSBsaXN0IG9wdGlvbiBiZWluZyBzZWxlY3RlZFxuICovXG5jb25zdCBzZWxlY3RJdGVtID0gKGxpc3RPcHRpb25FbCkgPT4ge1xuICBjb25zdCB7IGNvbWJvQm94RWwsIHNlbGVjdEVsLCBpbnB1dEVsIH0gPSBnZXRDb21ib0JveENvbnRleHQobGlzdE9wdGlvbkVsKTtcblxuICBjaGFuZ2VFbGVtZW50VmFsdWUoc2VsZWN0RWwsIGxpc3RPcHRpb25FbC5kYXRhc2V0LnZhbHVlKTtcbiAgY2hhbmdlRWxlbWVudFZhbHVlKGlucHV0RWwsIGxpc3RPcHRpb25FbC50ZXh0Q29udGVudCk7XG4gIGNvbWJvQm94RWwuY2xhc3NMaXN0LmFkZChDT01CT19CT1hfUFJJU1RJTkVfQ0xBU1MpO1xuICBoaWRlTGlzdChjb21ib0JveEVsKTtcbiAgaW5wdXRFbC5mb2N1cygpO1xufTtcblxuLyoqXG4gKiBDbGVhciB0aGUgaW5wdXQgb2YgdGhlIGNvbWJvIGJveFxuICpcbiAqIEBwYXJhbSB7SFRNTEJ1dHRvbkVsZW1lbnR9IGNsZWFyQnV0dG9uRWwgVGhlIGNsZWFyIGlucHV0IGJ1dHRvblxuICovXG5jb25zdCBjbGVhcklucHV0ID0gKGNsZWFyQnV0dG9uRWwpID0+IHtcbiAgY29uc3QgeyBjb21ib0JveEVsLCBsaXN0RWwsIHNlbGVjdEVsLCBpbnB1dEVsIH0gPVxuICAgIGdldENvbWJvQm94Q29udGV4dChjbGVhckJ1dHRvbkVsKTtcbiAgY29uc3QgbGlzdFNob3duID0gIWxpc3RFbC5oaWRkZW47XG5cbiAgaWYgKHNlbGVjdEVsLnZhbHVlKSBjaGFuZ2VFbGVtZW50VmFsdWUoc2VsZWN0RWwpO1xuICBpZiAoaW5wdXRFbC52YWx1ZSkgY2hhbmdlRWxlbWVudFZhbHVlKGlucHV0RWwpO1xuICBjb21ib0JveEVsLmNsYXNzTGlzdC5yZW1vdmUoQ09NQk9fQk9YX1BSSVNUSU5FX0NMQVNTKTtcblxuICBpZiAobGlzdFNob3duKSBkaXNwbGF5TGlzdChjb21ib0JveEVsKTtcbiAgaW5wdXRFbC5mb2N1cygpO1xufTtcblxuLyoqXG4gKiBSZXNldCB0aGUgc2VsZWN0IGJhc2VkIG9mZiBvZiBjdXJyZW50bHkgc2V0IHNlbGVjdCB2YWx1ZVxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsIEFuIGVsZW1lbnQgd2l0aGluIHRoZSBjb21ibyBib3ggY29tcG9uZW50XG4gKi9cbmNvbnN0IHJlc2V0U2VsZWN0aW9uID0gKGVsKSA9PiB7XG4gIGNvbnN0IHsgY29tYm9Cb3hFbCwgc2VsZWN0RWwsIGlucHV0RWwgfSA9IGdldENvbWJvQm94Q29udGV4dChlbCk7XG5cbiAgY29uc3Qgc2VsZWN0VmFsdWUgPSBzZWxlY3RFbC52YWx1ZTtcbiAgY29uc3QgaW5wdXRWYWx1ZSA9IChpbnB1dEVsLnZhbHVlIHx8IFwiXCIpLnRvTG93ZXJDYXNlKCk7XG5cbiAgaWYgKHNlbGVjdFZhbHVlKSB7XG4gICAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IHNlbGVjdEVsLm9wdGlvbnMubGVuZ3RoOyBpIDwgbGVuOyBpICs9IDEpIHtcbiAgICAgIGNvbnN0IG9wdGlvbkVsID0gc2VsZWN0RWwub3B0aW9uc1tpXTtcbiAgICAgIGlmIChvcHRpb25FbC52YWx1ZSA9PT0gc2VsZWN0VmFsdWUpIHtcbiAgICAgICAgaWYgKGlucHV0VmFsdWUgIT09IG9wdGlvbkVsLnRleHQpIHtcbiAgICAgICAgICBjaGFuZ2VFbGVtZW50VmFsdWUoaW5wdXRFbCwgb3B0aW9uRWwudGV4dCk7XG4gICAgICAgIH1cbiAgICAgICAgY29tYm9Cb3hFbC5jbGFzc0xpc3QuYWRkKENPTUJPX0JPWF9QUklTVElORV9DTEFTUyk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAoaW5wdXRWYWx1ZSkge1xuICAgIGNoYW5nZUVsZW1lbnRWYWx1ZShpbnB1dEVsKTtcbiAgfVxufTtcblxuLyoqXG4gKiBTZWxlY3QgYW4gb3B0aW9uIGxpc3Qgb2YgdGhlIGNvbWJvIGJveCBjb21wb25lbnQgYmFzZWQgb2ZmIG9mXG4gKiBoYXZpbmcgYSBjdXJyZW50IGZvY3VzZWQgbGlzdCBvcHRpb24gb3JcbiAqIGhhdmluZyB0ZXN0IHRoYXQgY29tcGxldGVseSBtYXRjaGVzIGEgbGlzdCBvcHRpb24uXG4gKiBPdGhlcndpc2UgaXQgY2xlYXJzIHRoZSBpbnB1dCBhbmQgc2VsZWN0LlxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsIEFuIGVsZW1lbnQgd2l0aGluIHRoZSBjb21ibyBib3ggY29tcG9uZW50XG4gKi9cbmNvbnN0IGNvbXBsZXRlU2VsZWN0aW9uID0gKGVsKSA9PiB7XG4gIGNvbnN0IHsgY29tYm9Cb3hFbCwgc2VsZWN0RWwsIGlucHV0RWwsIHN0YXR1c0VsIH0gPSBnZXRDb21ib0JveENvbnRleHQoZWwpO1xuXG4gIHN0YXR1c0VsLnRleHRDb250ZW50ID0gXCJcIjtcblxuICBjb25zdCBpbnB1dFZhbHVlID0gKGlucHV0RWwudmFsdWUgfHwgXCJcIikudG9Mb3dlckNhc2UoKTtcblxuICBpZiAoaW5wdXRWYWx1ZSkge1xuICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSBzZWxlY3RFbC5vcHRpb25zLmxlbmd0aDsgaSA8IGxlbjsgaSArPSAxKSB7XG4gICAgICBjb25zdCBvcHRpb25FbCA9IHNlbGVjdEVsLm9wdGlvbnNbaV07XG4gICAgICBpZiAob3B0aW9uRWwudGV4dC50b0xvd2VyQ2FzZSgpID09PSBpbnB1dFZhbHVlKSB7XG4gICAgICAgIGNoYW5nZUVsZW1lbnRWYWx1ZShzZWxlY3RFbCwgb3B0aW9uRWwudmFsdWUpO1xuICAgICAgICBjaGFuZ2VFbGVtZW50VmFsdWUoaW5wdXRFbCwgb3B0aW9uRWwudGV4dCk7XG4gICAgICAgIGNvbWJvQm94RWwuY2xhc3NMaXN0LmFkZChDT01CT19CT1hfUFJJU1RJTkVfQ0xBU1MpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmVzZXRTZWxlY3Rpb24oY29tYm9Cb3hFbCk7XG59O1xuXG4vKipcbiAqIEhhbmRsZSB0aGUgZXNjYXBlIGV2ZW50IHdpdGhpbiB0aGUgY29tYm8gYm94IGNvbXBvbmVudC5cbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IEFuIGV2ZW50IHdpdGhpbiB0aGUgY29tYm8gYm94IGNvbXBvbmVudFxuICovXG5jb25zdCBoYW5kbGVFc2NhcGUgPSAoZXZlbnQpID0+IHtcbiAgY29uc3QgeyBjb21ib0JveEVsLCBpbnB1dEVsIH0gPSBnZXRDb21ib0JveENvbnRleHQoZXZlbnQudGFyZ2V0KTtcblxuICBoaWRlTGlzdChjb21ib0JveEVsKTtcbiAgcmVzZXRTZWxlY3Rpb24oY29tYm9Cb3hFbCk7XG4gIGlucHV0RWwuZm9jdXMoKTtcbn07XG5cbi8qKlxuICogSGFuZGxlIHRoZSBkb3duIGV2ZW50IHdpdGhpbiB0aGUgY29tYm8gYm94IGNvbXBvbmVudC5cbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IEFuIGV2ZW50IHdpdGhpbiB0aGUgY29tYm8gYm94IGNvbXBvbmVudFxuICovXG5jb25zdCBoYW5kbGVEb3duRnJvbUlucHV0ID0gKGV2ZW50KSA9PiB7XG4gIGNvbnN0IHsgY29tYm9Cb3hFbCwgbGlzdEVsIH0gPSBnZXRDb21ib0JveENvbnRleHQoZXZlbnQudGFyZ2V0KTtcblxuICBpZiAobGlzdEVsLmhpZGRlbikge1xuICAgIGRpc3BsYXlMaXN0KGNvbWJvQm94RWwpO1xuICB9XG5cbiAgY29uc3QgbmV4dE9wdGlvbkVsID1cbiAgICBsaXN0RWwucXVlcnlTZWxlY3RvcihMSVNUX09QVElPTl9GT0NVU0VEKSB8fFxuICAgIGxpc3RFbC5xdWVyeVNlbGVjdG9yKExJU1RfT1BUSU9OKTtcblxuICBpZiAobmV4dE9wdGlvbkVsKSB7XG4gICAgaGlnaGxpZ2h0T3B0aW9uKGNvbWJvQm94RWwsIG5leHRPcHRpb25FbCk7XG4gIH1cblxuICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xufTtcblxuLyoqXG4gKiBIYW5kbGUgdGhlIGVudGVyIGV2ZW50IGZyb20gYW4gaW5wdXQgZWxlbWVudCB3aXRoaW4gdGhlIGNvbWJvIGJveCBjb21wb25lbnQuXG4gKlxuICogQHBhcmFtIHtLZXlib2FyZEV2ZW50fSBldmVudCBBbiBldmVudCB3aXRoaW4gdGhlIGNvbWJvIGJveCBjb21wb25lbnRcbiAqL1xuY29uc3QgaGFuZGxlRW50ZXJGcm9tSW5wdXQgPSAoZXZlbnQpID0+IHtcbiAgY29uc3QgeyBjb21ib0JveEVsLCBsaXN0RWwgfSA9IGdldENvbWJvQm94Q29udGV4dChldmVudC50YXJnZXQpO1xuICBjb25zdCBsaXN0U2hvd24gPSAhbGlzdEVsLmhpZGRlbjtcblxuICBjb21wbGV0ZVNlbGVjdGlvbihjb21ib0JveEVsKTtcblxuICBpZiAobGlzdFNob3duKSB7XG4gICAgaGlkZUxpc3QoY29tYm9Cb3hFbCk7XG4gIH1cblxuICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xufTtcblxuLyoqXG4gKiBIYW5kbGUgdGhlIGRvd24gZXZlbnQgd2l0aGluIHRoZSBjb21ibyBib3ggY29tcG9uZW50LlxuICpcbiAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQgQW4gZXZlbnQgd2l0aGluIHRoZSBjb21ibyBib3ggY29tcG9uZW50XG4gKi9cbmNvbnN0IGhhbmRsZURvd25Gcm9tTGlzdE9wdGlvbiA9IChldmVudCkgPT4ge1xuICBjb25zdCBmb2N1c2VkT3B0aW9uRWwgPSBldmVudC50YXJnZXQ7XG4gIGNvbnN0IG5leHRPcHRpb25FbCA9IGZvY3VzZWRPcHRpb25FbC5uZXh0U2libGluZztcblxuICBpZiAobmV4dE9wdGlvbkVsKSB7XG4gICAgaGlnaGxpZ2h0T3B0aW9uKGZvY3VzZWRPcHRpb25FbCwgbmV4dE9wdGlvbkVsKTtcbiAgfVxuXG4gIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG59O1xuXG4vKipcbiAqIEhhbmRsZSB0aGUgc3BhY2UgZXZlbnQgZnJvbSBhbiBsaXN0IG9wdGlvbiBlbGVtZW50IHdpdGhpbiB0aGUgY29tYm8gYm94IGNvbXBvbmVudC5cbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IEFuIGV2ZW50IHdpdGhpbiB0aGUgY29tYm8gYm94IGNvbXBvbmVudFxuICovXG5jb25zdCBoYW5kbGVTcGFjZUZyb21MaXN0T3B0aW9uID0gKGV2ZW50KSA9PiB7XG4gIHNlbGVjdEl0ZW0oZXZlbnQudGFyZ2V0KTtcbiAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbn07XG5cbi8qKlxuICogSGFuZGxlIHRoZSBlbnRlciBldmVudCBmcm9tIGxpc3Qgb3B0aW9uIHdpdGhpbiB0aGUgY29tYm8gYm94IGNvbXBvbmVudC5cbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IEFuIGV2ZW50IHdpdGhpbiB0aGUgY29tYm8gYm94IGNvbXBvbmVudFxuICovXG5jb25zdCBoYW5kbGVFbnRlckZyb21MaXN0T3B0aW9uID0gKGV2ZW50KSA9PiB7XG4gIHNlbGVjdEl0ZW0oZXZlbnQudGFyZ2V0KTtcbiAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbn07XG5cbi8qKlxuICogSGFuZGxlIHRoZSB1cCBldmVudCBmcm9tIGxpc3Qgb3B0aW9uIHdpdGhpbiB0aGUgY29tYm8gYm94IGNvbXBvbmVudC5cbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IEFuIGV2ZW50IHdpdGhpbiB0aGUgY29tYm8gYm94IGNvbXBvbmVudFxuICovXG5jb25zdCBoYW5kbGVVcEZyb21MaXN0T3B0aW9uID0gKGV2ZW50KSA9PiB7XG4gIGNvbnN0IHsgY29tYm9Cb3hFbCwgbGlzdEVsLCBmb2N1c2VkT3B0aW9uRWwgfSA9IGdldENvbWJvQm94Q29udGV4dChcbiAgICBldmVudC50YXJnZXQsXG4gICk7XG4gIGNvbnN0IG5leHRPcHRpb25FbCA9IGZvY3VzZWRPcHRpb25FbCAmJiBmb2N1c2VkT3B0aW9uRWwucHJldmlvdXNTaWJsaW5nO1xuICBjb25zdCBsaXN0U2hvd24gPSAhbGlzdEVsLmhpZGRlbjtcblxuICBoaWdobGlnaHRPcHRpb24oY29tYm9Cb3hFbCwgbmV4dE9wdGlvbkVsKTtcblxuICBpZiAobGlzdFNob3duKSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxuXG4gIGlmICghbmV4dE9wdGlvbkVsKSB7XG4gICAgaGlkZUxpc3QoY29tYm9Cb3hFbCk7XG4gIH1cbn07XG5cbi8qKlxuICogU2VsZWN0IGxpc3Qgb3B0aW9uIG9uIHRoZSBtb3VzZW92ZXIgZXZlbnQuXG4gKlxuICogQHBhcmFtIHtNb3VzZUV2ZW50fSBldmVudCBUaGUgbW91c2VvdmVyIGV2ZW50XG4gKiBAcGFyYW0ge0hUTUxMSUVsZW1lbnR9IGxpc3RPcHRpb25FbCBBbiBlbGVtZW50IHdpdGhpbiB0aGUgY29tYm8gYm94IGNvbXBvbmVudFxuICovXG5jb25zdCBoYW5kbGVNb3VzZW92ZXIgPSAobGlzdE9wdGlvbkVsKSA9PiB7XG4gIGNvbnN0IGlzQ3VycmVudGx5Rm9jdXNlZCA9IGxpc3RPcHRpb25FbC5jbGFzc0xpc3QuY29udGFpbnMoXG4gICAgTElTVF9PUFRJT05fRk9DVVNFRF9DTEFTUyxcbiAgKTtcblxuICBpZiAoaXNDdXJyZW50bHlGb2N1c2VkKSByZXR1cm47XG5cbiAgaGlnaGxpZ2h0T3B0aW9uKGxpc3RPcHRpb25FbCwgbGlzdE9wdGlvbkVsLCB7XG4gICAgcHJldmVudFNjcm9sbDogdHJ1ZSxcbiAgfSk7XG59O1xuXG4vKipcbiAqIFRvZ2dsZSB0aGUgbGlzdCB3aGVuIHRoZSBidXR0b24gaXMgY2xpY2tlZFxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsIEFuIGVsZW1lbnQgd2l0aGluIHRoZSBjb21ibyBib3ggY29tcG9uZW50XG4gKi9cbmNvbnN0IHRvZ2dsZUxpc3QgPSAoZWwpID0+IHtcbiAgY29uc3QgeyBjb21ib0JveEVsLCBsaXN0RWwsIGlucHV0RWwgfSA9IGdldENvbWJvQm94Q29udGV4dChlbCk7XG5cbiAgaWYgKGxpc3RFbC5oaWRkZW4pIHtcbiAgICBkaXNwbGF5TGlzdChjb21ib0JveEVsKTtcbiAgfSBlbHNlIHtcbiAgICBoaWRlTGlzdChjb21ib0JveEVsKTtcbiAgfVxuXG4gIGlucHV0RWwuZm9jdXMoKTtcbn07XG5cbi8qKlxuICogSGFuZGxlIGNsaWNrIGZyb20gaW5wdXRcbiAqXG4gKiBAcGFyYW0ge0hUTUxJbnB1dEVsZW1lbnR9IGVsIEFuIGVsZW1lbnQgd2l0aGluIHRoZSBjb21ibyBib3ggY29tcG9uZW50XG4gKi9cbmNvbnN0IGhhbmRsZUNsaWNrRnJvbUlucHV0ID0gKGVsKSA9PiB7XG4gIGNvbnN0IHsgY29tYm9Cb3hFbCwgbGlzdEVsIH0gPSBnZXRDb21ib0JveENvbnRleHQoZWwpO1xuXG4gIGlmIChsaXN0RWwuaGlkZGVuKSB7XG4gICAgZGlzcGxheUxpc3QoY29tYm9Cb3hFbCk7XG4gIH1cbn07XG5cbmNvbnN0IGNvbWJvQm94ID0gYmVoYXZpb3IoXG4gIHtcbiAgICBbQ0xJQ0tdOiB7XG4gICAgICBbSU5QVVRdKCkge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xuICAgICAgICBoYW5kbGVDbGlja0Zyb21JbnB1dCh0aGlzKTtcbiAgICAgIH0sXG4gICAgICBbVE9HR0xFX0xJU1RfQlVUVE9OXSgpIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcbiAgICAgICAgdG9nZ2xlTGlzdCh0aGlzKTtcbiAgICAgIH0sXG4gICAgICBbTElTVF9PUFRJT05dKCkge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xuICAgICAgICBzZWxlY3RJdGVtKHRoaXMpO1xuICAgICAgfSxcbiAgICAgIFtDTEVBUl9JTlBVVF9CVVRUT05dKCkge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xuICAgICAgICBjbGVhcklucHV0KHRoaXMpO1xuICAgICAgfSxcbiAgICB9LFxuICAgIGZvY3Vzb3V0OiB7XG4gICAgICBbQ09NQk9fQk9YXShldmVudCkge1xuICAgICAgICBpZiAoIXRoaXMuY29udGFpbnMoZXZlbnQucmVsYXRlZFRhcmdldCkpIHtcbiAgICAgICAgICByZXNldFNlbGVjdGlvbih0aGlzKTtcbiAgICAgICAgICBoaWRlTGlzdCh0aGlzKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9LFxuICAgIGtleWRvd246IHtcbiAgICAgIFtDT01CT19CT1hdOiBrZXltYXAoe1xuICAgICAgICBFc2NhcGU6IGhhbmRsZUVzY2FwZSxcbiAgICAgIH0pLFxuICAgICAgW0lOUFVUXToga2V5bWFwKHtcbiAgICAgICAgRW50ZXI6IGhhbmRsZUVudGVyRnJvbUlucHV0LFxuICAgICAgICBBcnJvd0Rvd246IGhhbmRsZURvd25Gcm9tSW5wdXQsXG4gICAgICAgIERvd246IGhhbmRsZURvd25Gcm9tSW5wdXQsXG4gICAgICB9KSxcbiAgICAgIFtMSVNUX09QVElPTl06IGtleW1hcCh7XG4gICAgICAgIEFycm93VXA6IGhhbmRsZVVwRnJvbUxpc3RPcHRpb24sXG4gICAgICAgIFVwOiBoYW5kbGVVcEZyb21MaXN0T3B0aW9uLFxuICAgICAgICBBcnJvd0Rvd246IGhhbmRsZURvd25Gcm9tTGlzdE9wdGlvbixcbiAgICAgICAgRG93bjogaGFuZGxlRG93bkZyb21MaXN0T3B0aW9uLFxuICAgICAgICBFbnRlcjogaGFuZGxlRW50ZXJGcm9tTGlzdE9wdGlvbixcbiAgICAgICAgXCIgXCI6IGhhbmRsZVNwYWNlRnJvbUxpc3RPcHRpb24sXG4gICAgICAgIFwiU2hpZnQrVGFiXCI6IG5vb3AsXG4gICAgICB9KSxcbiAgICB9LFxuICAgIGlucHV0OiB7XG4gICAgICBbSU5QVVRdKCkge1xuICAgICAgICBjb25zdCBjb21ib0JveEVsID0gdGhpcy5jbG9zZXN0KENPTUJPX0JPWCk7XG4gICAgICAgIGNvbWJvQm94RWwuY2xhc3NMaXN0LnJlbW92ZShDT01CT19CT1hfUFJJU1RJTkVfQ0xBU1MpO1xuICAgICAgICBkaXNwbGF5TGlzdCh0aGlzKTtcbiAgICAgIH0sXG4gICAgfSxcbiAgICBtb3VzZW92ZXI6IHtcbiAgICAgIFtMSVNUX09QVElPTl0oKSB7XG4gICAgICAgIGhhbmRsZU1vdXNlb3Zlcih0aGlzKTtcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbiAge1xuICAgIGluaXQocm9vdCkge1xuICAgICAgc2VsZWN0T3JNYXRjaGVzKENPTUJPX0JPWCwgcm9vdCkuZm9yRWFjaCgoY29tYm9Cb3hFbCkgPT4ge1xuICAgICAgICBlbmhhbmNlQ29tYm9Cb3goY29tYm9Cb3hFbCk7XG4gICAgICB9KTtcbiAgICB9LFxuICAgIGdldENvbWJvQm94Q29udGV4dCxcbiAgICBlbmhhbmNlQ29tYm9Cb3gsXG4gICAgZ2VuZXJhdGVEeW5hbWljUmVnRXhwLFxuICAgIGRpc2FibGUsXG4gICAgZW5hYmxlLFxuICAgIGRpc3BsYXlMaXN0LFxuICAgIGhpZGVMaXN0LFxuICAgIENPTUJPX0JPWF9DTEFTUyxcbiAgfSxcbik7XG5cbm1vZHVsZS5leHBvcnRzID0gY29tYm9Cb3g7XG4iLCJjb25zdCBrZXltYXAgPSByZXF1aXJlKFwicmVjZXB0b3Iva2V5bWFwXCIpO1xuY29uc3QgYmVoYXZpb3IgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvYmVoYXZpb3JcIik7XG5jb25zdCBzZWxlY3QgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvc2VsZWN0XCIpO1xuY29uc3Qgc2VsZWN0T3JNYXRjaGVzID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3NlbGVjdC1vci1tYXRjaGVzXCIpO1xuY29uc3QgeyBwcmVmaXg6IFBSRUZJWCB9ID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL2NvbmZpZ1wiKTtcbmNvbnN0IHsgQ0xJQ0sgfSA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy9ldmVudHNcIik7XG5jb25zdCBhY3RpdmVFbGVtZW50ID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL2FjdGl2ZS1lbGVtZW50XCIpO1xuY29uc3QgaXNJb3NEZXZpY2UgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvaXMtaW9zLWRldmljZVwiKTtcbmNvbnN0IFNhbml0aXplciA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9zYW5pdGl6ZXJcIik7XG5cbmNvbnN0IERBVEVfUElDS0VSX0NMQVNTID0gYCR7UFJFRklYfS1kYXRlLXBpY2tlcmA7XG5jb25zdCBEQVRFX1BJQ0tFUl9XUkFQUEVSX0NMQVNTID0gYCR7REFURV9QSUNLRVJfQ0xBU1N9X193cmFwcGVyYDtcbmNvbnN0IERBVEVfUElDS0VSX0lOSVRJQUxJWkVEX0NMQVNTID0gYCR7REFURV9QSUNLRVJfQ0xBU1N9LS1pbml0aWFsaXplZGA7XG5jb25zdCBEQVRFX1BJQ0tFUl9BQ1RJVkVfQ0xBU1MgPSBgJHtEQVRFX1BJQ0tFUl9DTEFTU30tLWFjdGl2ZWA7XG5jb25zdCBEQVRFX1BJQ0tFUl9JTlRFUk5BTF9JTlBVVF9DTEFTUyA9IGAke0RBVEVfUElDS0VSX0NMQVNTfV9faW50ZXJuYWwtaW5wdXRgO1xuY29uc3QgREFURV9QSUNLRVJfRVhURVJOQUxfSU5QVVRfQ0xBU1MgPSBgJHtEQVRFX1BJQ0tFUl9DTEFTU31fX2V4dGVybmFsLWlucHV0YDtcbmNvbnN0IERBVEVfUElDS0VSX0JVVFRPTl9DTEFTUyA9IGAke0RBVEVfUElDS0VSX0NMQVNTfV9fYnV0dG9uYDtcbmNvbnN0IERBVEVfUElDS0VSX0NBTEVOREFSX0NMQVNTID0gYCR7REFURV9QSUNLRVJfQ0xBU1N9X19jYWxlbmRhcmA7XG5jb25zdCBEQVRFX1BJQ0tFUl9TVEFUVVNfQ0xBU1MgPSBgJHtEQVRFX1BJQ0tFUl9DTEFTU31fX3N0YXR1c2A7XG5jb25zdCBDQUxFTkRBUl9EQVRFX0NMQVNTID0gYCR7REFURV9QSUNLRVJfQ0FMRU5EQVJfQ0xBU1N9X19kYXRlYDtcblxuY29uc3QgQ0FMRU5EQVJfREFURV9GT0NVU0VEX0NMQVNTID0gYCR7Q0FMRU5EQVJfREFURV9DTEFTU30tLWZvY3VzZWRgO1xuY29uc3QgQ0FMRU5EQVJfREFURV9TRUxFQ1RFRF9DTEFTUyA9IGAke0NBTEVOREFSX0RBVEVfQ0xBU1N9LS1zZWxlY3RlZGA7XG5jb25zdCBDQUxFTkRBUl9EQVRFX1BSRVZJT1VTX01PTlRIX0NMQVNTID0gYCR7Q0FMRU5EQVJfREFURV9DTEFTU30tLXByZXZpb3VzLW1vbnRoYDtcbmNvbnN0IENBTEVOREFSX0RBVEVfQ1VSUkVOVF9NT05USF9DTEFTUyA9IGAke0NBTEVOREFSX0RBVEVfQ0xBU1N9LS1jdXJyZW50LW1vbnRoYDtcbmNvbnN0IENBTEVOREFSX0RBVEVfTkVYVF9NT05USF9DTEFTUyA9IGAke0NBTEVOREFSX0RBVEVfQ0xBU1N9LS1uZXh0LW1vbnRoYDtcbmNvbnN0IENBTEVOREFSX0RBVEVfUkFOR0VfREFURV9DTEFTUyA9IGAke0NBTEVOREFSX0RBVEVfQ0xBU1N9LS1yYW5nZS1kYXRlYDtcbmNvbnN0IENBTEVOREFSX0RBVEVfVE9EQVlfQ0xBU1MgPSBgJHtDQUxFTkRBUl9EQVRFX0NMQVNTfS0tdG9kYXlgO1xuY29uc3QgQ0FMRU5EQVJfREFURV9SQU5HRV9EQVRFX1NUQVJUX0NMQVNTID0gYCR7Q0FMRU5EQVJfREFURV9DTEFTU30tLXJhbmdlLWRhdGUtc3RhcnRgO1xuY29uc3QgQ0FMRU5EQVJfREFURV9SQU5HRV9EQVRFX0VORF9DTEFTUyA9IGAke0NBTEVOREFSX0RBVEVfQ0xBU1N9LS1yYW5nZS1kYXRlLWVuZGA7XG5jb25zdCBDQUxFTkRBUl9EQVRFX1dJVEhJTl9SQU5HRV9DTEFTUyA9IGAke0NBTEVOREFSX0RBVEVfQ0xBU1N9LS13aXRoaW4tcmFuZ2VgO1xuY29uc3QgQ0FMRU5EQVJfUFJFVklPVVNfWUVBUl9DTEFTUyA9IGAke0RBVEVfUElDS0VSX0NBTEVOREFSX0NMQVNTfV9fcHJldmlvdXMteWVhcmA7XG5jb25zdCBDQUxFTkRBUl9QUkVWSU9VU19NT05USF9DTEFTUyA9IGAke0RBVEVfUElDS0VSX0NBTEVOREFSX0NMQVNTfV9fcHJldmlvdXMtbW9udGhgO1xuY29uc3QgQ0FMRU5EQVJfTkVYVF9ZRUFSX0NMQVNTID0gYCR7REFURV9QSUNLRVJfQ0FMRU5EQVJfQ0xBU1N9X19uZXh0LXllYXJgO1xuY29uc3QgQ0FMRU5EQVJfTkVYVF9NT05USF9DTEFTUyA9IGAke0RBVEVfUElDS0VSX0NBTEVOREFSX0NMQVNTfV9fbmV4dC1tb250aGA7XG5jb25zdCBDQUxFTkRBUl9NT05USF9TRUxFQ1RJT05fQ0xBU1MgPSBgJHtEQVRFX1BJQ0tFUl9DQUxFTkRBUl9DTEFTU31fX21vbnRoLXNlbGVjdGlvbmA7XG5jb25zdCBDQUxFTkRBUl9ZRUFSX1NFTEVDVElPTl9DTEFTUyA9IGAke0RBVEVfUElDS0VSX0NBTEVOREFSX0NMQVNTfV9feWVhci1zZWxlY3Rpb25gO1xuY29uc3QgQ0FMRU5EQVJfTU9OVEhfQ0xBU1MgPSBgJHtEQVRFX1BJQ0tFUl9DQUxFTkRBUl9DTEFTU31fX21vbnRoYDtcbmNvbnN0IENBTEVOREFSX01PTlRIX0ZPQ1VTRURfQ0xBU1MgPSBgJHtDQUxFTkRBUl9NT05USF9DTEFTU30tLWZvY3VzZWRgO1xuY29uc3QgQ0FMRU5EQVJfTU9OVEhfU0VMRUNURURfQ0xBU1MgPSBgJHtDQUxFTkRBUl9NT05USF9DTEFTU30tLXNlbGVjdGVkYDtcbmNvbnN0IENBTEVOREFSX1lFQVJfQ0xBU1MgPSBgJHtEQVRFX1BJQ0tFUl9DQUxFTkRBUl9DTEFTU31fX3llYXJgO1xuY29uc3QgQ0FMRU5EQVJfWUVBUl9GT0NVU0VEX0NMQVNTID0gYCR7Q0FMRU5EQVJfWUVBUl9DTEFTU30tLWZvY3VzZWRgO1xuY29uc3QgQ0FMRU5EQVJfWUVBUl9TRUxFQ1RFRF9DTEFTUyA9IGAke0NBTEVOREFSX1lFQVJfQ0xBU1N9LS1zZWxlY3RlZGA7XG5jb25zdCBDQUxFTkRBUl9QUkVWSU9VU19ZRUFSX0NIVU5LX0NMQVNTID0gYCR7REFURV9QSUNLRVJfQ0FMRU5EQVJfQ0xBU1N9X19wcmV2aW91cy15ZWFyLWNodW5rYDtcbmNvbnN0IENBTEVOREFSX05FWFRfWUVBUl9DSFVOS19DTEFTUyA9IGAke0RBVEVfUElDS0VSX0NBTEVOREFSX0NMQVNTfV9fbmV4dC15ZWFyLWNodW5rYDtcbmNvbnN0IENBTEVOREFSX0RBVEVfUElDS0VSX0NMQVNTID0gYCR7REFURV9QSUNLRVJfQ0FMRU5EQVJfQ0xBU1N9X19kYXRlLXBpY2tlcmA7XG5jb25zdCBDQUxFTkRBUl9NT05USF9QSUNLRVJfQ0xBU1MgPSBgJHtEQVRFX1BJQ0tFUl9DQUxFTkRBUl9DTEFTU31fX21vbnRoLXBpY2tlcmA7XG5jb25zdCBDQUxFTkRBUl9ZRUFSX1BJQ0tFUl9DTEFTUyA9IGAke0RBVEVfUElDS0VSX0NBTEVOREFSX0NMQVNTfV9feWVhci1waWNrZXJgO1xuY29uc3QgQ0FMRU5EQVJfVEFCTEVfQ0xBU1MgPSBgJHtEQVRFX1BJQ0tFUl9DQUxFTkRBUl9DTEFTU31fX3RhYmxlYDtcbmNvbnN0IENBTEVOREFSX1JPV19DTEFTUyA9IGAke0RBVEVfUElDS0VSX0NBTEVOREFSX0NMQVNTfV9fcm93YDtcbmNvbnN0IENBTEVOREFSX0NFTExfQ0xBU1MgPSBgJHtEQVRFX1BJQ0tFUl9DQUxFTkRBUl9DTEFTU31fX2NlbGxgO1xuY29uc3QgQ0FMRU5EQVJfQ0VMTF9DRU5URVJfSVRFTVNfQ0xBU1MgPSBgJHtDQUxFTkRBUl9DRUxMX0NMQVNTfS0tY2VudGVyLWl0ZW1zYDtcbmNvbnN0IENBTEVOREFSX01PTlRIX0xBQkVMX0NMQVNTID0gYCR7REFURV9QSUNLRVJfQ0FMRU5EQVJfQ0xBU1N9X19tb250aC1sYWJlbGA7XG5jb25zdCBDQUxFTkRBUl9EQVlfT0ZfV0VFS19DTEFTUyA9IGAke0RBVEVfUElDS0VSX0NBTEVOREFSX0NMQVNTfV9fZGF5LW9mLXdlZWtgO1xuXG5jb25zdCBEQVRFX1BJQ0tFUiA9IGAuJHtEQVRFX1BJQ0tFUl9DTEFTU31gO1xuY29uc3QgREFURV9QSUNLRVJfQlVUVE9OID0gYC4ke0RBVEVfUElDS0VSX0JVVFRPTl9DTEFTU31gO1xuY29uc3QgREFURV9QSUNLRVJfSU5URVJOQUxfSU5QVVQgPSBgLiR7REFURV9QSUNLRVJfSU5URVJOQUxfSU5QVVRfQ0xBU1N9YDtcbmNvbnN0IERBVEVfUElDS0VSX0VYVEVSTkFMX0lOUFVUID0gYC4ke0RBVEVfUElDS0VSX0VYVEVSTkFMX0lOUFVUX0NMQVNTfWA7XG5jb25zdCBEQVRFX1BJQ0tFUl9DQUxFTkRBUiA9IGAuJHtEQVRFX1BJQ0tFUl9DQUxFTkRBUl9DTEFTU31gO1xuY29uc3QgREFURV9QSUNLRVJfU1RBVFVTID0gYC4ke0RBVEVfUElDS0VSX1NUQVRVU19DTEFTU31gO1xuY29uc3QgQ0FMRU5EQVJfREFURSA9IGAuJHtDQUxFTkRBUl9EQVRFX0NMQVNTfWA7XG5jb25zdCBDQUxFTkRBUl9EQVRFX0ZPQ1VTRUQgPSBgLiR7Q0FMRU5EQVJfREFURV9GT0NVU0VEX0NMQVNTfWA7XG5jb25zdCBDQUxFTkRBUl9EQVRFX0NVUlJFTlRfTU9OVEggPSBgLiR7Q0FMRU5EQVJfREFURV9DVVJSRU5UX01PTlRIX0NMQVNTfWA7XG5jb25zdCBDQUxFTkRBUl9QUkVWSU9VU19ZRUFSID0gYC4ke0NBTEVOREFSX1BSRVZJT1VTX1lFQVJfQ0xBU1N9YDtcbmNvbnN0IENBTEVOREFSX1BSRVZJT1VTX01PTlRIID0gYC4ke0NBTEVOREFSX1BSRVZJT1VTX01PTlRIX0NMQVNTfWA7XG5jb25zdCBDQUxFTkRBUl9ORVhUX1lFQVIgPSBgLiR7Q0FMRU5EQVJfTkVYVF9ZRUFSX0NMQVNTfWA7XG5jb25zdCBDQUxFTkRBUl9ORVhUX01PTlRIID0gYC4ke0NBTEVOREFSX05FWFRfTU9OVEhfQ0xBU1N9YDtcbmNvbnN0IENBTEVOREFSX1lFQVJfU0VMRUNUSU9OID0gYC4ke0NBTEVOREFSX1lFQVJfU0VMRUNUSU9OX0NMQVNTfWA7XG5jb25zdCBDQUxFTkRBUl9NT05USF9TRUxFQ1RJT04gPSBgLiR7Q0FMRU5EQVJfTU9OVEhfU0VMRUNUSU9OX0NMQVNTfWA7XG5jb25zdCBDQUxFTkRBUl9NT05USCA9IGAuJHtDQUxFTkRBUl9NT05USF9DTEFTU31gO1xuY29uc3QgQ0FMRU5EQVJfWUVBUiA9IGAuJHtDQUxFTkRBUl9ZRUFSX0NMQVNTfWA7XG5jb25zdCBDQUxFTkRBUl9QUkVWSU9VU19ZRUFSX0NIVU5LID0gYC4ke0NBTEVOREFSX1BSRVZJT1VTX1lFQVJfQ0hVTktfQ0xBU1N9YDtcbmNvbnN0IENBTEVOREFSX05FWFRfWUVBUl9DSFVOSyA9IGAuJHtDQUxFTkRBUl9ORVhUX1lFQVJfQ0hVTktfQ0xBU1N9YDtcbmNvbnN0IENBTEVOREFSX0RBVEVfUElDS0VSID0gYC4ke0NBTEVOREFSX0RBVEVfUElDS0VSX0NMQVNTfWA7XG5jb25zdCBDQUxFTkRBUl9NT05USF9QSUNLRVIgPSBgLiR7Q0FMRU5EQVJfTU9OVEhfUElDS0VSX0NMQVNTfWA7XG5jb25zdCBDQUxFTkRBUl9ZRUFSX1BJQ0tFUiA9IGAuJHtDQUxFTkRBUl9ZRUFSX1BJQ0tFUl9DTEFTU31gO1xuY29uc3QgQ0FMRU5EQVJfTU9OVEhfRk9DVVNFRCA9IGAuJHtDQUxFTkRBUl9NT05USF9GT0NVU0VEX0NMQVNTfWA7XG5jb25zdCBDQUxFTkRBUl9ZRUFSX0ZPQ1VTRUQgPSBgLiR7Q0FMRU5EQVJfWUVBUl9GT0NVU0VEX0NMQVNTfWA7XG5cbmNvbnN0IFZBTElEQVRJT05fTUVTU0FHRSA9IFwiUGxlYXNlIGVudGVyIGEgdmFsaWQgZGF0ZVwiO1xuXG5jb25zdCBNT05USF9MQUJFTFMgPSBbXG4gIFwiSmFudWFyeVwiLFxuICBcIkZlYnJ1YXJ5XCIsXG4gIFwiTWFyY2hcIixcbiAgXCJBcHJpbFwiLFxuICBcIk1heVwiLFxuICBcIkp1bmVcIixcbiAgXCJKdWx5XCIsXG4gIFwiQXVndXN0XCIsXG4gIFwiU2VwdGVtYmVyXCIsXG4gIFwiT2N0b2JlclwiLFxuICBcIk5vdmVtYmVyXCIsXG4gIFwiRGVjZW1iZXJcIixcbl07XG5cbmNvbnN0IERBWV9PRl9XRUVLX0xBQkVMUyA9IFtcbiAgXCJTdW5kYXlcIixcbiAgXCJNb25kYXlcIixcbiAgXCJUdWVzZGF5XCIsXG4gIFwiV2VkbmVzZGF5XCIsXG4gIFwiVGh1cnNkYXlcIixcbiAgXCJGcmlkYXlcIixcbiAgXCJTYXR1cmRheVwiLFxuXTtcblxuY29uc3QgRU5URVJfS0VZQ09ERSA9IDEzO1xuXG5jb25zdCBZRUFSX0NIVU5LID0gMTI7XG5cbmNvbnN0IERFRkFVTFRfTUlOX0RBVEUgPSBcIjAwMDAtMDEtMDFcIjtcbmNvbnN0IERFRkFVTFRfRVhURVJOQUxfREFURV9GT1JNQVQgPSBcIk1NL0REL1lZWVlcIjtcbmNvbnN0IElOVEVSTkFMX0RBVEVfRk9STUFUID0gXCJZWVlZLU1NLUREXCI7XG5cbmNvbnN0IE5PVF9ESVNBQkxFRF9TRUxFQ1RPUiA9IFwiOm5vdChbZGlzYWJsZWRdKVwiO1xuXG5jb25zdCBwcm9jZXNzRm9jdXNhYmxlU2VsZWN0b3JzID0gKC4uLnNlbGVjdG9ycykgPT5cbiAgc2VsZWN0b3JzLm1hcCgocXVlcnkpID0+IHF1ZXJ5ICsgTk9UX0RJU0FCTEVEX1NFTEVDVE9SKS5qb2luKFwiLCBcIik7XG5cbmNvbnN0IERBVEVfUElDS0VSX0ZPQ1VTQUJMRSA9IHByb2Nlc3NGb2N1c2FibGVTZWxlY3RvcnMoXG4gIENBTEVOREFSX1BSRVZJT1VTX1lFQVIsXG4gIENBTEVOREFSX1BSRVZJT1VTX01PTlRILFxuICBDQUxFTkRBUl9ZRUFSX1NFTEVDVElPTixcbiAgQ0FMRU5EQVJfTU9OVEhfU0VMRUNUSU9OLFxuICBDQUxFTkRBUl9ORVhUX1lFQVIsXG4gIENBTEVOREFSX05FWFRfTU9OVEgsXG4gIENBTEVOREFSX0RBVEVfRk9DVVNFRCxcbik7XG5cbmNvbnN0IE1PTlRIX1BJQ0tFUl9GT0NVU0FCTEUgPSBwcm9jZXNzRm9jdXNhYmxlU2VsZWN0b3JzKFxuICBDQUxFTkRBUl9NT05USF9GT0NVU0VELFxuKTtcblxuY29uc3QgWUVBUl9QSUNLRVJfRk9DVVNBQkxFID0gcHJvY2Vzc0ZvY3VzYWJsZVNlbGVjdG9ycyhcbiAgQ0FMRU5EQVJfUFJFVklPVVNfWUVBUl9DSFVOSyxcbiAgQ0FMRU5EQVJfTkVYVF9ZRUFSX0NIVU5LLFxuICBDQUxFTkRBUl9ZRUFSX0ZPQ1VTRUQsXG4pO1xuXG4vLyAjcmVnaW9uIERhdGUgTWFuaXB1bGF0aW9uIEZ1bmN0aW9uc1xuXG4vKipcbiAqIEtlZXAgZGF0ZSB3aXRoaW4gbW9udGguIE1vbnRoIHdvdWxkIG9ubHkgYmUgb3ZlciBieSAxIHRvIDMgZGF5c1xuICpcbiAqIEBwYXJhbSB7RGF0ZX0gZGF0ZVRvQ2hlY2sgdGhlIGRhdGUgb2JqZWN0IHRvIGNoZWNrXG4gKiBAcGFyYW0ge251bWJlcn0gbW9udGggdGhlIGNvcnJlY3QgbW9udGhcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgZGF0ZSwgY29ycmVjdGVkIGlmIG5lZWRlZFxuICovXG5jb25zdCBrZWVwRGF0ZVdpdGhpbk1vbnRoID0gKGRhdGVUb0NoZWNrLCBtb250aCkgPT4ge1xuICBpZiAobW9udGggIT09IGRhdGVUb0NoZWNrLmdldE1vbnRoKCkpIHtcbiAgICBkYXRlVG9DaGVjay5zZXREYXRlKDApO1xuICB9XG5cbiAgcmV0dXJuIGRhdGVUb0NoZWNrO1xufTtcblxuLyoqXG4gKiBTZXQgZGF0ZSBmcm9tIG1vbnRoIGRheSB5ZWFyXG4gKlxuICogQHBhcmFtIHtudW1iZXJ9IHllYXIgdGhlIHllYXIgdG8gc2V0XG4gKiBAcGFyYW0ge251bWJlcn0gbW9udGggdGhlIG1vbnRoIHRvIHNldCAoemVyby1pbmRleGVkKVxuICogQHBhcmFtIHtudW1iZXJ9IGRhdGUgdGhlIGRhdGUgdG8gc2V0XG4gKiBAcmV0dXJucyB7RGF0ZX0gdGhlIHNldCBkYXRlXG4gKi9cbmNvbnN0IHNldERhdGUgPSAoeWVhciwgbW9udGgsIGRhdGUpID0+IHtcbiAgY29uc3QgbmV3RGF0ZSA9IG5ldyBEYXRlKDApO1xuICBuZXdEYXRlLnNldEZ1bGxZZWFyKHllYXIsIG1vbnRoLCBkYXRlKTtcbiAgcmV0dXJuIG5ld0RhdGU7XG59O1xuXG4vKipcbiAqIHRvZGF5cyBkYXRlXG4gKlxuICogQHJldHVybnMge0RhdGV9IHRvZGF5cyBkYXRlXG4gKi9cbmNvbnN0IHRvZGF5ID0gKCkgPT4ge1xuICBjb25zdCBuZXdEYXRlID0gbmV3IERhdGUoKTtcbiAgY29uc3QgZGF5ID0gbmV3RGF0ZS5nZXREYXRlKCk7XG4gIGNvbnN0IG1vbnRoID0gbmV3RGF0ZS5nZXRNb250aCgpO1xuICBjb25zdCB5ZWFyID0gbmV3RGF0ZS5nZXRGdWxsWWVhcigpO1xuICByZXR1cm4gc2V0RGF0ZSh5ZWFyLCBtb250aCwgZGF5KTtcbn07XG5cbi8qKlxuICogU2V0IGRhdGUgdG8gZmlyc3QgZGF5IG9mIHRoZSBtb250aFxuICpcbiAqIEBwYXJhbSB7bnVtYmVyfSBkYXRlIHRoZSBkYXRlIHRvIGFkanVzdFxuICogQHJldHVybnMge0RhdGV9IHRoZSBhZGp1c3RlZCBkYXRlXG4gKi9cbmNvbnN0IHN0YXJ0T2ZNb250aCA9IChkYXRlKSA9PiB7XG4gIGNvbnN0IG5ld0RhdGUgPSBuZXcgRGF0ZSgwKTtcbiAgbmV3RGF0ZS5zZXRGdWxsWWVhcihkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgMSk7XG4gIHJldHVybiBuZXdEYXRlO1xufTtcblxuLyoqXG4gKiBTZXQgZGF0ZSB0byBsYXN0IGRheSBvZiB0aGUgbW9udGhcbiAqXG4gKiBAcGFyYW0ge251bWJlcn0gZGF0ZSB0aGUgZGF0ZSB0byBhZGp1c3RcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgYWRqdXN0ZWQgZGF0ZVxuICovXG5jb25zdCBsYXN0RGF5T2ZNb250aCA9IChkYXRlKSA9PiB7XG4gIGNvbnN0IG5ld0RhdGUgPSBuZXcgRGF0ZSgwKTtcbiAgbmV3RGF0ZS5zZXRGdWxsWWVhcihkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSArIDEsIDApO1xuICByZXR1cm4gbmV3RGF0ZTtcbn07XG5cbi8qKlxuICogQWRkIGRheXMgdG8gZGF0ZVxuICpcbiAqIEBwYXJhbSB7RGF0ZX0gX2RhdGUgdGhlIGRhdGUgdG8gYWRqdXN0XG4gKiBAcGFyYW0ge251bWJlcn0gbnVtRGF5cyB0aGUgZGlmZmVyZW5jZSBpbiBkYXlzXG4gKiBAcmV0dXJucyB7RGF0ZX0gdGhlIGFkanVzdGVkIGRhdGVcbiAqL1xuY29uc3QgYWRkRGF5cyA9IChfZGF0ZSwgbnVtRGF5cykgPT4ge1xuICBjb25zdCBuZXdEYXRlID0gbmV3IERhdGUoX2RhdGUuZ2V0VGltZSgpKTtcbiAgbmV3RGF0ZS5zZXREYXRlKG5ld0RhdGUuZ2V0RGF0ZSgpICsgbnVtRGF5cyk7XG4gIHJldHVybiBuZXdEYXRlO1xufTtcblxuLyoqXG4gKiBTdWJ0cmFjdCBkYXlzIGZyb20gZGF0ZVxuICpcbiAqIEBwYXJhbSB7RGF0ZX0gX2RhdGUgdGhlIGRhdGUgdG8gYWRqdXN0XG4gKiBAcGFyYW0ge251bWJlcn0gbnVtRGF5cyB0aGUgZGlmZmVyZW5jZSBpbiBkYXlzXG4gKiBAcmV0dXJucyB7RGF0ZX0gdGhlIGFkanVzdGVkIGRhdGVcbiAqL1xuY29uc3Qgc3ViRGF5cyA9IChfZGF0ZSwgbnVtRGF5cykgPT4gYWRkRGF5cyhfZGF0ZSwgLW51bURheXMpO1xuXG4vKipcbiAqIEFkZCB3ZWVrcyB0byBkYXRlXG4gKlxuICogQHBhcmFtIHtEYXRlfSBfZGF0ZSB0aGUgZGF0ZSB0byBhZGp1c3RcbiAqIEBwYXJhbSB7bnVtYmVyfSBudW1XZWVrcyB0aGUgZGlmZmVyZW5jZSBpbiB3ZWVrc1xuICogQHJldHVybnMge0RhdGV9IHRoZSBhZGp1c3RlZCBkYXRlXG4gKi9cbmNvbnN0IGFkZFdlZWtzID0gKF9kYXRlLCBudW1XZWVrcykgPT4gYWRkRGF5cyhfZGF0ZSwgbnVtV2Vla3MgKiA3KTtcblxuLyoqXG4gKiBTdWJ0cmFjdCB3ZWVrcyBmcm9tIGRhdGVcbiAqXG4gKiBAcGFyYW0ge0RhdGV9IF9kYXRlIHRoZSBkYXRlIHRvIGFkanVzdFxuICogQHBhcmFtIHtudW1iZXJ9IG51bVdlZWtzIHRoZSBkaWZmZXJlbmNlIGluIHdlZWtzXG4gKiBAcmV0dXJucyB7RGF0ZX0gdGhlIGFkanVzdGVkIGRhdGVcbiAqL1xuY29uc3Qgc3ViV2Vla3MgPSAoX2RhdGUsIG51bVdlZWtzKSA9PiBhZGRXZWVrcyhfZGF0ZSwgLW51bVdlZWtzKTtcblxuLyoqXG4gKiBTZXQgZGF0ZSB0byB0aGUgc3RhcnQgb2YgdGhlIHdlZWsgKFN1bmRheSlcbiAqXG4gKiBAcGFyYW0ge0RhdGV9IF9kYXRlIHRoZSBkYXRlIHRvIGFkanVzdFxuICogQHJldHVybnMge0RhdGV9IHRoZSBhZGp1c3RlZCBkYXRlXG4gKi9cbmNvbnN0IHN0YXJ0T2ZXZWVrID0gKF9kYXRlKSA9PiB7XG4gIGNvbnN0IGRheU9mV2VlayA9IF9kYXRlLmdldERheSgpO1xuICByZXR1cm4gc3ViRGF5cyhfZGF0ZSwgZGF5T2ZXZWVrKTtcbn07XG5cbi8qKlxuICogU2V0IGRhdGUgdG8gdGhlIGVuZCBvZiB0aGUgd2VlayAoU2F0dXJkYXkpXG4gKlxuICogQHBhcmFtIHtEYXRlfSBfZGF0ZSB0aGUgZGF0ZSB0byBhZGp1c3RcbiAqIEBwYXJhbSB7bnVtYmVyfSBudW1XZWVrcyB0aGUgZGlmZmVyZW5jZSBpbiB3ZWVrc1xuICogQHJldHVybnMge0RhdGV9IHRoZSBhZGp1c3RlZCBkYXRlXG4gKi9cbmNvbnN0IGVuZE9mV2VlayA9IChfZGF0ZSkgPT4ge1xuICBjb25zdCBkYXlPZldlZWsgPSBfZGF0ZS5nZXREYXkoKTtcbiAgcmV0dXJuIGFkZERheXMoX2RhdGUsIDYgLSBkYXlPZldlZWspO1xufTtcblxuLyoqXG4gKiBBZGQgbW9udGhzIHRvIGRhdGUgYW5kIGtlZXAgZGF0ZSB3aXRoaW4gbW9udGhcbiAqXG4gKiBAcGFyYW0ge0RhdGV9IF9kYXRlIHRoZSBkYXRlIHRvIGFkanVzdFxuICogQHBhcmFtIHtudW1iZXJ9IG51bU1vbnRocyB0aGUgZGlmZmVyZW5jZSBpbiBtb250aHNcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgYWRqdXN0ZWQgZGF0ZVxuICovXG5jb25zdCBhZGRNb250aHMgPSAoX2RhdGUsIG51bU1vbnRocykgPT4ge1xuICBjb25zdCBuZXdEYXRlID0gbmV3IERhdGUoX2RhdGUuZ2V0VGltZSgpKTtcblxuICBjb25zdCBkYXRlTW9udGggPSAobmV3RGF0ZS5nZXRNb250aCgpICsgMTIgKyBudW1Nb250aHMpICUgMTI7XG4gIG5ld0RhdGUuc2V0TW9udGgobmV3RGF0ZS5nZXRNb250aCgpICsgbnVtTW9udGhzKTtcbiAga2VlcERhdGVXaXRoaW5Nb250aChuZXdEYXRlLCBkYXRlTW9udGgpO1xuXG4gIHJldHVybiBuZXdEYXRlO1xufTtcblxuLyoqXG4gKiBTdWJ0cmFjdCBtb250aHMgZnJvbSBkYXRlXG4gKlxuICogQHBhcmFtIHtEYXRlfSBfZGF0ZSB0aGUgZGF0ZSB0byBhZGp1c3RcbiAqIEBwYXJhbSB7bnVtYmVyfSBudW1Nb250aHMgdGhlIGRpZmZlcmVuY2UgaW4gbW9udGhzXG4gKiBAcmV0dXJucyB7RGF0ZX0gdGhlIGFkanVzdGVkIGRhdGVcbiAqL1xuY29uc3Qgc3ViTW9udGhzID0gKF9kYXRlLCBudW1Nb250aHMpID0+IGFkZE1vbnRocyhfZGF0ZSwgLW51bU1vbnRocyk7XG5cbi8qKlxuICogQWRkIHllYXJzIHRvIGRhdGUgYW5kIGtlZXAgZGF0ZSB3aXRoaW4gbW9udGhcbiAqXG4gKiBAcGFyYW0ge0RhdGV9IF9kYXRlIHRoZSBkYXRlIHRvIGFkanVzdFxuICogQHBhcmFtIHtudW1iZXJ9IG51bVllYXJzIHRoZSBkaWZmZXJlbmNlIGluIHllYXJzXG4gKiBAcmV0dXJucyB7RGF0ZX0gdGhlIGFkanVzdGVkIGRhdGVcbiAqL1xuY29uc3QgYWRkWWVhcnMgPSAoX2RhdGUsIG51bVllYXJzKSA9PiBhZGRNb250aHMoX2RhdGUsIG51bVllYXJzICogMTIpO1xuXG4vKipcbiAqIFN1YnRyYWN0IHllYXJzIGZyb20gZGF0ZVxuICpcbiAqIEBwYXJhbSB7RGF0ZX0gX2RhdGUgdGhlIGRhdGUgdG8gYWRqdXN0XG4gKiBAcGFyYW0ge251bWJlcn0gbnVtWWVhcnMgdGhlIGRpZmZlcmVuY2UgaW4geWVhcnNcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgYWRqdXN0ZWQgZGF0ZVxuICovXG5jb25zdCBzdWJZZWFycyA9IChfZGF0ZSwgbnVtWWVhcnMpID0+IGFkZFllYXJzKF9kYXRlLCAtbnVtWWVhcnMpO1xuXG4vKipcbiAqIFNldCBtb250aHMgb2YgZGF0ZVxuICpcbiAqIEBwYXJhbSB7RGF0ZX0gX2RhdGUgdGhlIGRhdGUgdG8gYWRqdXN0XG4gKiBAcGFyYW0ge251bWJlcn0gbW9udGggemVyby1pbmRleGVkIG1vbnRoIHRvIHNldFxuICogQHJldHVybnMge0RhdGV9IHRoZSBhZGp1c3RlZCBkYXRlXG4gKi9cbmNvbnN0IHNldE1vbnRoID0gKF9kYXRlLCBtb250aCkgPT4ge1xuICBjb25zdCBuZXdEYXRlID0gbmV3IERhdGUoX2RhdGUuZ2V0VGltZSgpKTtcblxuICBuZXdEYXRlLnNldE1vbnRoKG1vbnRoKTtcbiAga2VlcERhdGVXaXRoaW5Nb250aChuZXdEYXRlLCBtb250aCk7XG5cbiAgcmV0dXJuIG5ld0RhdGU7XG59O1xuXG4vKipcbiAqIFNldCB5ZWFyIG9mIGRhdGVcbiAqXG4gKiBAcGFyYW0ge0RhdGV9IF9kYXRlIHRoZSBkYXRlIHRvIGFkanVzdFxuICogQHBhcmFtIHtudW1iZXJ9IHllYXIgdGhlIHllYXIgdG8gc2V0XG4gKiBAcmV0dXJucyB7RGF0ZX0gdGhlIGFkanVzdGVkIGRhdGVcbiAqL1xuY29uc3Qgc2V0WWVhciA9IChfZGF0ZSwgeWVhcikgPT4ge1xuICBjb25zdCBuZXdEYXRlID0gbmV3IERhdGUoX2RhdGUuZ2V0VGltZSgpKTtcblxuICBjb25zdCBtb250aCA9IG5ld0RhdGUuZ2V0TW9udGgoKTtcbiAgbmV3RGF0ZS5zZXRGdWxsWWVhcih5ZWFyKTtcbiAga2VlcERhdGVXaXRoaW5Nb250aChuZXdEYXRlLCBtb250aCk7XG5cbiAgcmV0dXJuIG5ld0RhdGU7XG59O1xuXG4vKipcbiAqIFJldHVybiB0aGUgZWFybGllc3QgZGF0ZVxuICpcbiAqIEBwYXJhbSB7RGF0ZX0gZGF0ZUEgZGF0ZSB0byBjb21wYXJlXG4gKiBAcGFyYW0ge0RhdGV9IGRhdGVCIGRhdGUgdG8gY29tcGFyZVxuICogQHJldHVybnMge0RhdGV9IHRoZSBlYXJsaWVzdCBkYXRlXG4gKi9cbmNvbnN0IG1pbiA9IChkYXRlQSwgZGF0ZUIpID0+IHtcbiAgbGV0IG5ld0RhdGUgPSBkYXRlQTtcblxuICBpZiAoZGF0ZUIgPCBkYXRlQSkge1xuICAgIG5ld0RhdGUgPSBkYXRlQjtcbiAgfVxuXG4gIHJldHVybiBuZXcgRGF0ZShuZXdEYXRlLmdldFRpbWUoKSk7XG59O1xuXG4vKipcbiAqIFJldHVybiB0aGUgbGF0ZXN0IGRhdGVcbiAqXG4gKiBAcGFyYW0ge0RhdGV9IGRhdGVBIGRhdGUgdG8gY29tcGFyZVxuICogQHBhcmFtIHtEYXRlfSBkYXRlQiBkYXRlIHRvIGNvbXBhcmVcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgbGF0ZXN0IGRhdGVcbiAqL1xuY29uc3QgbWF4ID0gKGRhdGVBLCBkYXRlQikgPT4ge1xuICBsZXQgbmV3RGF0ZSA9IGRhdGVBO1xuXG4gIGlmIChkYXRlQiA+IGRhdGVBKSB7XG4gICAgbmV3RGF0ZSA9IGRhdGVCO1xuICB9XG5cbiAgcmV0dXJuIG5ldyBEYXRlKG5ld0RhdGUuZ2V0VGltZSgpKTtcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgZGF0ZXMgYXJlIHRoZSBpbiB0aGUgc2FtZSB5ZWFyXG4gKlxuICogQHBhcmFtIHtEYXRlfSBkYXRlQSBkYXRlIHRvIGNvbXBhcmVcbiAqIEBwYXJhbSB7RGF0ZX0gZGF0ZUIgZGF0ZSB0byBjb21wYXJlXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gYXJlIGRhdGVzIGluIHRoZSBzYW1lIHllYXJcbiAqL1xuY29uc3QgaXNTYW1lWWVhciA9IChkYXRlQSwgZGF0ZUIpID0+XG4gIGRhdGVBICYmIGRhdGVCICYmIGRhdGVBLmdldEZ1bGxZZWFyKCkgPT09IGRhdGVCLmdldEZ1bGxZZWFyKCk7XG5cbi8qKlxuICogQ2hlY2sgaWYgZGF0ZXMgYXJlIHRoZSBpbiB0aGUgc2FtZSBtb250aFxuICpcbiAqIEBwYXJhbSB7RGF0ZX0gZGF0ZUEgZGF0ZSB0byBjb21wYXJlXG4gKiBAcGFyYW0ge0RhdGV9IGRhdGVCIGRhdGUgdG8gY29tcGFyZVxuICogQHJldHVybnMge2Jvb2xlYW59IGFyZSBkYXRlcyBpbiB0aGUgc2FtZSBtb250aFxuICovXG5jb25zdCBpc1NhbWVNb250aCA9IChkYXRlQSwgZGF0ZUIpID0+XG4gIGlzU2FtZVllYXIoZGF0ZUEsIGRhdGVCKSAmJiBkYXRlQS5nZXRNb250aCgpID09PSBkYXRlQi5nZXRNb250aCgpO1xuXG4vKipcbiAqIENoZWNrIGlmIGRhdGVzIGFyZSB0aGUgc2FtZSBkYXRlXG4gKlxuICogQHBhcmFtIHtEYXRlfSBkYXRlQSB0aGUgZGF0ZSB0byBjb21wYXJlXG4gKiBAcGFyYW0ge0RhdGV9IGRhdGVBIHRoZSBkYXRlIHRvIGNvbXBhcmVcbiAqIEByZXR1cm5zIHtib29sZWFufSBhcmUgZGF0ZXMgdGhlIHNhbWUgZGF0ZVxuICovXG5jb25zdCBpc1NhbWVEYXkgPSAoZGF0ZUEsIGRhdGVCKSA9PlxuICBpc1NhbWVNb250aChkYXRlQSwgZGF0ZUIpICYmIGRhdGVBLmdldERhdGUoKSA9PT0gZGF0ZUIuZ2V0RGF0ZSgpO1xuXG4vKipcbiAqIHJldHVybiBhIG5ldyBkYXRlIHdpdGhpbiBtaW5pbXVtIGFuZCBtYXhpbXVtIGRhdGVcbiAqXG4gKiBAcGFyYW0ge0RhdGV9IGRhdGUgZGF0ZSB0byBjaGVja1xuICogQHBhcmFtIHtEYXRlfSBtaW5EYXRlIG1pbmltdW0gZGF0ZSB0byBhbGxvd1xuICogQHBhcmFtIHtEYXRlfSBtYXhEYXRlIG1heGltdW0gZGF0ZSB0byBhbGxvd1xuICogQHJldHVybnMge0RhdGV9IHRoZSBkYXRlIGJldHdlZW4gbWluIGFuZCBtYXhcbiAqL1xuY29uc3Qga2VlcERhdGVCZXR3ZWVuTWluQW5kTWF4ID0gKGRhdGUsIG1pbkRhdGUsIG1heERhdGUpID0+IHtcbiAgbGV0IG5ld0RhdGUgPSBkYXRlO1xuXG4gIGlmIChkYXRlIDwgbWluRGF0ZSkge1xuICAgIG5ld0RhdGUgPSBtaW5EYXRlO1xuICB9IGVsc2UgaWYgKG1heERhdGUgJiYgZGF0ZSA+IG1heERhdGUpIHtcbiAgICBuZXdEYXRlID0gbWF4RGF0ZTtcbiAgfVxuXG4gIHJldHVybiBuZXcgRGF0ZShuZXdEYXRlLmdldFRpbWUoKSk7XG59O1xuXG4vKipcbiAqIENoZWNrIGlmIGRhdGVzIGlzIHZhbGlkLlxuICpcbiAqIEBwYXJhbSB7RGF0ZX0gZGF0ZSBkYXRlIHRvIGNoZWNrXG4gKiBAcGFyYW0ge0RhdGV9IG1pbkRhdGUgbWluaW11bSBkYXRlIHRvIGFsbG93XG4gKiBAcGFyYW0ge0RhdGV9IG1heERhdGUgbWF4aW11bSBkYXRlIHRvIGFsbG93XG4gKiBAcmV0dXJuIHtib29sZWFufSBpcyB0aGVyZSBhIGRheSB3aXRoaW4gdGhlIG1vbnRoIHdpdGhpbiBtaW4gYW5kIG1heCBkYXRlc1xuICovXG5jb25zdCBpc0RhdGVXaXRoaW5NaW5BbmRNYXggPSAoZGF0ZSwgbWluRGF0ZSwgbWF4RGF0ZSkgPT5cbiAgZGF0ZSA+PSBtaW5EYXRlICYmICghbWF4RGF0ZSB8fCBkYXRlIDw9IG1heERhdGUpO1xuXG4vKipcbiAqIENoZWNrIGlmIGRhdGVzIG1vbnRoIGlzIGludmFsaWQuXG4gKlxuICogQHBhcmFtIHtEYXRlfSBkYXRlIGRhdGUgdG8gY2hlY2tcbiAqIEBwYXJhbSB7RGF0ZX0gbWluRGF0ZSBtaW5pbXVtIGRhdGUgdG8gYWxsb3dcbiAqIEBwYXJhbSB7RGF0ZX0gbWF4RGF0ZSBtYXhpbXVtIGRhdGUgdG8gYWxsb3dcbiAqIEByZXR1cm4ge2Jvb2xlYW59IGlzIHRoZSBtb250aCBvdXRzaWRlIG1pbiBvciBtYXggZGF0ZXNcbiAqL1xuY29uc3QgaXNEYXRlc01vbnRoT3V0c2lkZU1pbk9yTWF4ID0gKGRhdGUsIG1pbkRhdGUsIG1heERhdGUpID0+XG4gIGxhc3REYXlPZk1vbnRoKGRhdGUpIDwgbWluRGF0ZSB8fCAobWF4RGF0ZSAmJiBzdGFydE9mTW9udGgoZGF0ZSkgPiBtYXhEYXRlKTtcblxuLyoqXG4gKiBDaGVjayBpZiBkYXRlcyB5ZWFyIGlzIGludmFsaWQuXG4gKlxuICogQHBhcmFtIHtEYXRlfSBkYXRlIGRhdGUgdG8gY2hlY2tcbiAqIEBwYXJhbSB7RGF0ZX0gbWluRGF0ZSBtaW5pbXVtIGRhdGUgdG8gYWxsb3dcbiAqIEBwYXJhbSB7RGF0ZX0gbWF4RGF0ZSBtYXhpbXVtIGRhdGUgdG8gYWxsb3dcbiAqIEByZXR1cm4ge2Jvb2xlYW59IGlzIHRoZSBtb250aCBvdXRzaWRlIG1pbiBvciBtYXggZGF0ZXNcbiAqL1xuY29uc3QgaXNEYXRlc1llYXJPdXRzaWRlTWluT3JNYXggPSAoZGF0ZSwgbWluRGF0ZSwgbWF4RGF0ZSkgPT5cbiAgbGFzdERheU9mTW9udGgoc2V0TW9udGgoZGF0ZSwgMTEpKSA8IG1pbkRhdGUgfHxcbiAgKG1heERhdGUgJiYgc3RhcnRPZk1vbnRoKHNldE1vbnRoKGRhdGUsIDApKSA+IG1heERhdGUpO1xuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IERhdGVSYW5nZUNvbnRleHRcbiAqIEBwcm9wZXJ0eSB7RGF0ZX0gcmFuZ2VTdGFydERhdGVcbiAqIEBwcm9wZXJ0eSB7RGF0ZX0gcmFuZ2VFbmREYXRlXG4gKiBAcHJvcGVydHkge0RhdGV9IHdpdGhpblJhbmdlU3RhcnREYXRlXG4gKiBAcHJvcGVydHkge0RhdGV9IHdpdGhpblJhbmdlRW5kRGF0ZVxuICovXG5cbi8qKlxuICogU2V0IHRoZSBzdGFydCwgZW5kLCBhbmQgd2l0aGluIHJhbmdlIHZhbHVlcyBmb3IgZGF0ZSByYW5nZSB2YXJpYW50cy5cblxuICogQHBhcmFtIHtEYXRlfSBkYXRlIC0gRGF0ZSB0aGF0IGNvbmNsdWRlcyB0aGUgZGF0ZSByYW5nZS5cbiAqIEBwYXJhbSB7RGF0ZX0gcmFuZ2VEYXRlIC0gUmFuZ2UgZGF0ZSBkYXRhIGF0dHJpYnV0ZSB2YWx1ZSBvZiB0aGUgZGF0ZSBwaWNrZXIgY29tcG9uZW50LlxuICogQHJldHVybnMge0RhdGVSYW5nZUNvbnRleHR9IC0gRGF0ZXMgZm9yIHJhbmdlIHNlbGVjdGlvbi5cbiAqL1xuY29uc3Qgc2V0UmFuZ2VEYXRlcyA9IChkYXRlLCByYW5nZURhdGUpID0+IHtcbiAgY29uc3QgcmFuZ2VDb25jbHVzaW9uRGF0ZSA9IGRhdGU7XG4gIGNvbnN0IHJhbmdlU3RhcnREYXRlID0gcmFuZ2VEYXRlICYmIG1pbihyYW5nZUNvbmNsdXNpb25EYXRlLCByYW5nZURhdGUpO1xuICBjb25zdCByYW5nZUVuZERhdGUgPSByYW5nZURhdGUgJiYgbWF4KHJhbmdlQ29uY2x1c2lvbkRhdGUsIHJhbmdlRGF0ZSk7XG5cbiAgY29uc3Qgd2l0aGluUmFuZ2VTdGFydERhdGUgPSByYW5nZURhdGUgJiYgYWRkRGF5cyhyYW5nZVN0YXJ0RGF0ZSwgMSk7XG4gIGNvbnN0IHdpdGhpblJhbmdlRW5kRGF0ZSA9IHJhbmdlRGF0ZSAmJiBzdWJEYXlzKHJhbmdlRW5kRGF0ZSwgMSk7XG5cbiAgcmV0dXJuIHtcbiAgICByYW5nZVN0YXJ0RGF0ZSxcbiAgICByYW5nZUVuZERhdGUsXG4gICAgd2l0aGluUmFuZ2VTdGFydERhdGUsXG4gICAgd2l0aGluUmFuZ2VFbmREYXRlLFxuICB9O1xufTtcblxuLyoqXG4gKiBQYXJzZSBhIGRhdGUgd2l0aCBmb3JtYXQgTS1ELVlZXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGRhdGVTdHJpbmcgdGhlIGRhdGUgc3RyaW5nIHRvIHBhcnNlXG4gKiBAcGFyYW0ge3N0cmluZ30gZGF0ZUZvcm1hdCB0aGUgZm9ybWF0IG9mIHRoZSBkYXRlIHN0cmluZ1xuICogQHBhcmFtIHtib29sZWFufSBhZGp1c3REYXRlIHNob3VsZCB0aGUgZGF0ZSBiZSBhZGp1c3RlZFxuICogQHJldHVybnMge0RhdGV9IHRoZSBwYXJzZWQgZGF0ZVxuICovXG5jb25zdCBwYXJzZURhdGVTdHJpbmcgPSAoXG4gIGRhdGVTdHJpbmcsXG4gIGRhdGVGb3JtYXQgPSBJTlRFUk5BTF9EQVRFX0ZPUk1BVCxcbiAgYWRqdXN0RGF0ZSA9IGZhbHNlLFxuKSA9PiB7XG4gIGxldCBkYXRlO1xuICBsZXQgbW9udGg7XG4gIGxldCBkYXk7XG4gIGxldCB5ZWFyO1xuICBsZXQgcGFyc2VkO1xuXG4gIGlmIChkYXRlU3RyaW5nKSB7XG4gICAgbGV0IG1vbnRoU3RyO1xuICAgIGxldCBkYXlTdHI7XG4gICAgbGV0IHllYXJTdHI7XG5cbiAgICBpZiAoZGF0ZUZvcm1hdCA9PT0gREVGQVVMVF9FWFRFUk5BTF9EQVRFX0ZPUk1BVCkge1xuICAgICAgW21vbnRoU3RyLCBkYXlTdHIsIHllYXJTdHJdID0gZGF0ZVN0cmluZy5zcGxpdChcIi9cIik7XG4gICAgfSBlbHNlIHtcbiAgICAgIFt5ZWFyU3RyLCBtb250aFN0ciwgZGF5U3RyXSA9IGRhdGVTdHJpbmcuc3BsaXQoXCItXCIpO1xuICAgIH1cblxuICAgIGlmICh5ZWFyU3RyKSB7XG4gICAgICBwYXJzZWQgPSBwYXJzZUludCh5ZWFyU3RyLCAxMCk7XG4gICAgICBpZiAoIU51bWJlci5pc05hTihwYXJzZWQpKSB7XG4gICAgICAgIHllYXIgPSBwYXJzZWQ7XG4gICAgICAgIGlmIChhZGp1c3REYXRlKSB7XG4gICAgICAgICAgeWVhciA9IE1hdGgubWF4KDAsIHllYXIpO1xuICAgICAgICAgIGlmICh5ZWFyU3RyLmxlbmd0aCA8IDMpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRZZWFyID0gdG9kYXkoKS5nZXRGdWxsWWVhcigpO1xuICAgICAgICAgICAgY29uc3QgY3VycmVudFllYXJTdHViID1cbiAgICAgICAgICAgICAgY3VycmVudFllYXIgLSAoY3VycmVudFllYXIgJSAxMCAqKiB5ZWFyU3RyLmxlbmd0aCk7XG4gICAgICAgICAgICB5ZWFyID0gY3VycmVudFllYXJTdHViICsgcGFyc2VkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChtb250aFN0cikge1xuICAgICAgcGFyc2VkID0gcGFyc2VJbnQobW9udGhTdHIsIDEwKTtcbiAgICAgIGlmICghTnVtYmVyLmlzTmFOKHBhcnNlZCkpIHtcbiAgICAgICAgbW9udGggPSBwYXJzZWQ7XG4gICAgICAgIGlmIChhZGp1c3REYXRlKSB7XG4gICAgICAgICAgbW9udGggPSBNYXRoLm1heCgxLCBtb250aCk7XG4gICAgICAgICAgbW9udGggPSBNYXRoLm1pbigxMiwgbW9udGgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG1vbnRoICYmIGRheVN0ciAmJiB5ZWFyICE9IG51bGwpIHtcbiAgICAgIHBhcnNlZCA9IHBhcnNlSW50KGRheVN0ciwgMTApO1xuICAgICAgaWYgKCFOdW1iZXIuaXNOYU4ocGFyc2VkKSkge1xuICAgICAgICBkYXkgPSBwYXJzZWQ7XG4gICAgICAgIGlmIChhZGp1c3REYXRlKSB7XG4gICAgICAgICAgY29uc3QgbGFzdERheU9mVGhlTW9udGggPSBzZXREYXRlKHllYXIsIG1vbnRoLCAwKS5nZXREYXRlKCk7XG4gICAgICAgICAgZGF5ID0gTWF0aC5tYXgoMSwgZGF5KTtcbiAgICAgICAgICBkYXkgPSBNYXRoLm1pbihsYXN0RGF5T2ZUaGVNb250aCwgZGF5KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChtb250aCAmJiBkYXkgJiYgeWVhciAhPSBudWxsKSB7XG4gICAgICBkYXRlID0gc2V0RGF0ZSh5ZWFyLCBtb250aCAtIDEsIGRheSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRhdGU7XG59O1xuXG4vKipcbiAqIEZvcm1hdCBhIGRhdGUgdG8gZm9ybWF0IE1NLURELVlZWVlcbiAqXG4gKiBAcGFyYW0ge0RhdGV9IGRhdGUgdGhlIGRhdGUgdG8gZm9ybWF0XG4gKiBAcGFyYW0ge3N0cmluZ30gZGF0ZUZvcm1hdCB0aGUgZm9ybWF0IG9mIHRoZSBkYXRlIHN0cmluZ1xuICogQHJldHVybnMge3N0cmluZ30gdGhlIGZvcm1hdHRlZCBkYXRlIHN0cmluZ1xuICovXG5jb25zdCBmb3JtYXREYXRlID0gKGRhdGUsIGRhdGVGb3JtYXQgPSBJTlRFUk5BTF9EQVRFX0ZPUk1BVCkgPT4ge1xuICBjb25zdCBwYWRaZXJvcyA9ICh2YWx1ZSwgbGVuZ3RoKSA9PiBgMDAwMCR7dmFsdWV9YC5zbGljZSgtbGVuZ3RoKTtcblxuICBjb25zdCBtb250aCA9IGRhdGUuZ2V0TW9udGgoKSArIDE7XG4gIGNvbnN0IGRheSA9IGRhdGUuZ2V0RGF0ZSgpO1xuICBjb25zdCB5ZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpO1xuXG4gIGlmIChkYXRlRm9ybWF0ID09PSBERUZBVUxUX0VYVEVSTkFMX0RBVEVfRk9STUFUKSB7XG4gICAgcmV0dXJuIFtwYWRaZXJvcyhtb250aCwgMiksIHBhZFplcm9zKGRheSwgMiksIHBhZFplcm9zKHllYXIsIDQpXS5qb2luKFwiL1wiKTtcbiAgfVxuXG4gIHJldHVybiBbcGFkWmVyb3MoeWVhciwgNCksIHBhZFplcm9zKG1vbnRoLCAyKSwgcGFkWmVyb3MoZGF5LCAyKV0uam9pbihcIi1cIik7XG59O1xuXG4vLyAjZW5kcmVnaW9uIERhdGUgTWFuaXB1bGF0aW9uIEZ1bmN0aW9uc1xuXG4vKipcbiAqIENyZWF0ZSBhIGdyaWQgc3RyaW5nIGZyb20gYW4gYXJyYXkgb2YgaHRtbCBzdHJpbmdzXG4gKlxuICogQHBhcmFtIHtzdHJpbmdbXX0gaHRtbEFycmF5IHRoZSBhcnJheSBvZiBodG1sIGl0ZW1zXG4gKiBAcGFyYW0ge251bWJlcn0gcm93U2l6ZSB0aGUgbGVuZ3RoIG9mIGEgcm93XG4gKiBAcmV0dXJucyB7c3RyaW5nfSB0aGUgZ3JpZCBzdHJpbmdcbiAqL1xuY29uc3QgbGlzdFRvR3JpZEh0bWwgPSAoaHRtbEFycmF5LCByb3dTaXplKSA9PiB7XG4gIGNvbnN0IGdyaWQgPSBbXTtcbiAgbGV0IHJvdyA9IFtdO1xuXG4gIGxldCBpID0gMDtcbiAgd2hpbGUgKGkgPCBodG1sQXJyYXkubGVuZ3RoKSB7XG4gICAgcm93ID0gW107XG5cbiAgICBjb25zdCB0ciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJ0clwiKTtcbiAgICB3aGlsZSAoaSA8IGh0bWxBcnJheS5sZW5ndGggJiYgcm93Lmxlbmd0aCA8IHJvd1NpemUpIHtcbiAgICAgIGNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInRkXCIpO1xuICAgICAgdGQuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KFwiYmVmb3JlZW5kXCIsIGh0bWxBcnJheVtpXSk7XG4gICAgICByb3cucHVzaCh0ZCk7XG4gICAgICBpICs9IDE7XG4gICAgfVxuXG4gICAgcm93LmZvckVhY2goKGVsZW1lbnQpID0+IHtcbiAgICAgIHRyLmluc2VydEFkamFjZW50RWxlbWVudChcImJlZm9yZWVuZFwiLCBlbGVtZW50KTtcbiAgICB9KTtcblxuICAgIGdyaWQucHVzaCh0cik7XG4gIH1cblxuICByZXR1cm4gZ3JpZDtcbn07XG5cbmNvbnN0IGNyZWF0ZVRhYmxlQm9keSA9IChncmlkKSA9PiB7XG4gIGNvbnN0IHRhYmxlQm9keSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJ0Ym9keVwiKTtcbiAgZ3JpZC5mb3JFYWNoKChlbGVtZW50KSA9PiB7XG4gICAgdGFibGVCb2R5Lmluc2VydEFkamFjZW50RWxlbWVudChcImJlZm9yZWVuZFwiLCBlbGVtZW50KTtcbiAgfSk7XG5cbiAgcmV0dXJuIHRhYmxlQm9keTtcbn07XG5cbi8qKlxuICogc2V0IHRoZSB2YWx1ZSBvZiB0aGUgZWxlbWVudCBhbmQgZGlzcGF0Y2ggYSBjaGFuZ2UgZXZlbnRcbiAqXG4gKiBAcGFyYW0ge0hUTUxJbnB1dEVsZW1lbnR9IGVsIFRoZSBlbGVtZW50IHRvIHVwZGF0ZVxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlIFRoZSBuZXcgdmFsdWUgb2YgdGhlIGVsZW1lbnRcbiAqL1xuY29uc3QgY2hhbmdlRWxlbWVudFZhbHVlID0gKGVsLCB2YWx1ZSA9IFwiXCIpID0+IHtcbiAgY29uc3QgZWxlbWVudFRvQ2hhbmdlID0gZWw7XG4gIGVsZW1lbnRUb0NoYW5nZS52YWx1ZSA9IHZhbHVlO1xuXG4gIGNvbnN0IGV2ZW50ID0gbmV3IEN1c3RvbUV2ZW50KFwiY2hhbmdlXCIsIHtcbiAgICBidWJibGVzOiB0cnVlLFxuICAgIGNhbmNlbGFibGU6IHRydWUsXG4gICAgZGV0YWlsOiB7IHZhbHVlIH0sXG4gIH0pO1xuICBlbGVtZW50VG9DaGFuZ2UuZGlzcGF0Y2hFdmVudChldmVudCk7XG59O1xuXG4vKipcbiAqIFRoZSBwcm9wZXJ0aWVzIGFuZCBlbGVtZW50cyB3aXRoaW4gdGhlIGRhdGUgcGlja2VyLlxuICogQHR5cGVkZWYge09iamVjdH0gRGF0ZVBpY2tlckNvbnRleHRcbiAqIEBwcm9wZXJ0eSB7SFRNTERpdkVsZW1lbnR9IGNhbGVuZGFyRWxcbiAqIEBwcm9wZXJ0eSB7SFRNTEVsZW1lbnR9IGRhdGVQaWNrZXJFbFxuICogQHByb3BlcnR5IHtIVE1MSW5wdXRFbGVtZW50fSBpbnRlcm5hbElucHV0RWxcbiAqIEBwcm9wZXJ0eSB7SFRNTElucHV0RWxlbWVudH0gZXh0ZXJuYWxJbnB1dEVsXG4gKiBAcHJvcGVydHkge0hUTUxEaXZFbGVtZW50fSBzdGF0dXNFbFxuICogQHByb3BlcnR5IHtIVE1MRGl2RWxlbWVudH0gZmlyc3RZZWFyQ2h1bmtFbFxuICogQHByb3BlcnR5IHtEYXRlfSBjYWxlbmRhckRhdGVcbiAqIEBwcm9wZXJ0eSB7RGF0ZX0gbWluRGF0ZVxuICogQHByb3BlcnR5IHtEYXRlfSBtYXhEYXRlXG4gKiBAcHJvcGVydHkge0RhdGV9IHNlbGVjdGVkRGF0ZVxuICogQHByb3BlcnR5IHtEYXRlfSByYW5nZURhdGVcbiAqIEBwcm9wZXJ0eSB7RGF0ZX0gZGVmYXVsdERhdGVcbiAqL1xuXG4vKipcbiAqIEdldCBhbiBvYmplY3Qgb2YgdGhlIHByb3BlcnRpZXMgYW5kIGVsZW1lbnRzIGJlbG9uZ2luZyBkaXJlY3RseSB0byB0aGUgZ2l2ZW5cbiAqIGRhdGUgcGlja2VyIGNvbXBvbmVudC5cbiAqXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBlbCB0aGUgZWxlbWVudCB3aXRoaW4gdGhlIGRhdGUgcGlja2VyXG4gKiBAcmV0dXJucyB7RGF0ZVBpY2tlckNvbnRleHR9IGVsZW1lbnRzXG4gKi9cbmNvbnN0IGdldERhdGVQaWNrZXJDb250ZXh0ID0gKGVsKSA9PiB7XG4gIGNvbnN0IGRhdGVQaWNrZXJFbCA9IGVsLmNsb3Nlc3QoREFURV9QSUNLRVIpO1xuXG4gIGlmICghZGF0ZVBpY2tlckVsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBFbGVtZW50IGlzIG1pc3Npbmcgb3V0ZXIgJHtEQVRFX1BJQ0tFUn1gKTtcbiAgfVxuXG4gIGNvbnN0IGludGVybmFsSW5wdXRFbCA9IGRhdGVQaWNrZXJFbC5xdWVyeVNlbGVjdG9yKFxuICAgIERBVEVfUElDS0VSX0lOVEVSTkFMX0lOUFVULFxuICApO1xuICBjb25zdCBleHRlcm5hbElucHV0RWwgPSBkYXRlUGlja2VyRWwucXVlcnlTZWxlY3RvcihcbiAgICBEQVRFX1BJQ0tFUl9FWFRFUk5BTF9JTlBVVCxcbiAgKTtcbiAgY29uc3QgY2FsZW5kYXJFbCA9IGRhdGVQaWNrZXJFbC5xdWVyeVNlbGVjdG9yKERBVEVfUElDS0VSX0NBTEVOREFSKTtcbiAgY29uc3QgdG9nZ2xlQnRuRWwgPSBkYXRlUGlja2VyRWwucXVlcnlTZWxlY3RvcihEQVRFX1BJQ0tFUl9CVVRUT04pO1xuICBjb25zdCBzdGF0dXNFbCA9IGRhdGVQaWNrZXJFbC5xdWVyeVNlbGVjdG9yKERBVEVfUElDS0VSX1NUQVRVUyk7XG4gIGNvbnN0IGZpcnN0WWVhckNodW5rRWwgPSBkYXRlUGlja2VyRWwucXVlcnlTZWxlY3RvcihDQUxFTkRBUl9ZRUFSKTtcblxuICBjb25zdCBpbnB1dERhdGUgPSBwYXJzZURhdGVTdHJpbmcoXG4gICAgZXh0ZXJuYWxJbnB1dEVsLnZhbHVlLFxuICAgIERFRkFVTFRfRVhURVJOQUxfREFURV9GT1JNQVQsXG4gICAgdHJ1ZSxcbiAgKTtcbiAgY29uc3Qgc2VsZWN0ZWREYXRlID0gcGFyc2VEYXRlU3RyaW5nKGludGVybmFsSW5wdXRFbC52YWx1ZSk7XG5cbiAgY29uc3QgY2FsZW5kYXJEYXRlID0gcGFyc2VEYXRlU3RyaW5nKGNhbGVuZGFyRWwuZGF0YXNldC52YWx1ZSk7XG4gIGNvbnN0IG1pbkRhdGUgPSBwYXJzZURhdGVTdHJpbmcoZGF0ZVBpY2tlckVsLmRhdGFzZXQubWluRGF0ZSk7XG4gIGNvbnN0IG1heERhdGUgPSBwYXJzZURhdGVTdHJpbmcoZGF0ZVBpY2tlckVsLmRhdGFzZXQubWF4RGF0ZSk7XG4gIGNvbnN0IHJhbmdlRGF0ZSA9IHBhcnNlRGF0ZVN0cmluZyhkYXRlUGlja2VyRWwuZGF0YXNldC5yYW5nZURhdGUpO1xuICBjb25zdCBkZWZhdWx0RGF0ZSA9IHBhcnNlRGF0ZVN0cmluZyhkYXRlUGlja2VyRWwuZGF0YXNldC5kZWZhdWx0RGF0ZSk7XG5cbiAgaWYgKG1pbkRhdGUgJiYgbWF4RGF0ZSAmJiBtaW5EYXRlID4gbWF4RGF0ZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIk1pbmltdW0gZGF0ZSBjYW5ub3QgYmUgYWZ0ZXIgbWF4aW11bSBkYXRlXCIpO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBjYWxlbmRhckRhdGUsXG4gICAgbWluRGF0ZSxcbiAgICB0b2dnbGVCdG5FbCxcbiAgICBzZWxlY3RlZERhdGUsXG4gICAgbWF4RGF0ZSxcbiAgICBmaXJzdFllYXJDaHVua0VsLFxuICAgIGRhdGVQaWNrZXJFbCxcbiAgICBpbnB1dERhdGUsXG4gICAgaW50ZXJuYWxJbnB1dEVsLFxuICAgIGV4dGVybmFsSW5wdXRFbCxcbiAgICBjYWxlbmRhckVsLFxuICAgIHJhbmdlRGF0ZSxcbiAgICBkZWZhdWx0RGF0ZSxcbiAgICBzdGF0dXNFbCxcbiAgfTtcbn07XG5cbi8qKlxuICogRGlzYWJsZSB0aGUgZGF0ZSBwaWNrZXIgY29tcG9uZW50XG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWwgQW4gZWxlbWVudCB3aXRoaW4gdGhlIGRhdGUgcGlja2VyIGNvbXBvbmVudFxuICovXG5jb25zdCBkaXNhYmxlID0gKGVsKSA9PiB7XG4gIGNvbnN0IHsgZXh0ZXJuYWxJbnB1dEVsLCB0b2dnbGVCdG5FbCB9ID0gZ2V0RGF0ZVBpY2tlckNvbnRleHQoZWwpO1xuXG4gIHRvZ2dsZUJ0bkVsLmRpc2FibGVkID0gdHJ1ZTtcbiAgZXh0ZXJuYWxJbnB1dEVsLmRpc2FibGVkID0gdHJ1ZTtcbn07XG5cbi8qKlxuICogQWRkIHRoZSByZWFkb25seSBhdHRyaWJ1dGUgdG8gaW5wdXQgZWxlbWVudCBhbmQgdGhlIGFyaWEtZGlzYWJsZWQgYXR0cmlidXRlIHRvIHRoZSB0b2dnbGUgY2FsZW5kYXIgYnV0dG9uIGFuZCBleHRlcm5hbCBpbnB1dCBlbGVtZW50cy5cbiAqXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBlbCAtIFRoZSBkYXRlIHBpY2tlciBlbGVtZW50XG4gKi9cbmNvbnN0IGFyaWFEaXNhYmxlID0gKGVsKSA9PiB7XG4gIGNvbnN0IHsgZXh0ZXJuYWxJbnB1dEVsLCB0b2dnbGVCdG5FbCB9ID0gZ2V0RGF0ZVBpY2tlckNvbnRleHQoZWwpO1xuXG4gIHRvZ2dsZUJ0bkVsLnNldEF0dHJpYnV0ZShcImFyaWEtZGlzYWJsZWRcIiwgdHJ1ZSk7XG4gIGV4dGVybmFsSW5wdXRFbC5zZXRBdHRyaWJ1dGUoXCJhcmlhLWRpc2FibGVkXCIsIHRydWUpO1xuICBleHRlcm5hbElucHV0RWwuc2V0QXR0cmlidXRlKFwicmVhZG9ubHlcIiwgXCJcIik7XG59O1xuXG4vKipcbiAqIEVuYWJsZSB0aGUgZGF0ZSBwaWNrZXIgY29tcG9uZW50XG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWwgQW4gZWxlbWVudCB3aXRoaW4gdGhlIGRhdGUgcGlja2VyIGNvbXBvbmVudFxuICovXG5jb25zdCBlbmFibGUgPSAoZWwpID0+IHtcbiAgY29uc3QgeyBleHRlcm5hbElucHV0RWwsIHRvZ2dsZUJ0bkVsIH0gPSBnZXREYXRlUGlja2VyQ29udGV4dChlbCk7XG5cbiAgdG9nZ2xlQnRuRWwuZGlzYWJsZWQgPSBmYWxzZTtcbiAgdG9nZ2xlQnRuRWwucmVtb3ZlQXR0cmlidXRlKFwiYXJpYS1kaXNhYmxlZFwiKTtcblxuICBleHRlcm5hbElucHV0RWwuZGlzYWJsZWQgPSBmYWxzZTtcbiAgZXh0ZXJuYWxJbnB1dEVsLnJlbW92ZUF0dHJpYnV0ZShcImFyaWEtZGlzYWJsZWRcIik7XG4gIGV4dGVybmFsSW5wdXRFbC5yZW1vdmVBdHRyaWJ1dGUoXCJyZWFkb25seVwiKTtcbn07XG5cbi8vICNyZWdpb24gVmFsaWRhdGlvblxuXG4vKipcbiAqIFZhbGlkYXRlIHRoZSB2YWx1ZSBpbiB0aGUgaW5wdXQgYXMgYSB2YWxpZCBkYXRlIG9mIGZvcm1hdCBNL0QvWVlZWVxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsIEFuIGVsZW1lbnQgd2l0aGluIHRoZSBkYXRlIHBpY2tlciBjb21wb25lbnRcbiAqL1xuY29uc3QgaXNEYXRlSW5wdXRJbnZhbGlkID0gKGVsKSA9PiB7XG4gIGNvbnN0IHsgZXh0ZXJuYWxJbnB1dEVsLCBtaW5EYXRlLCBtYXhEYXRlIH0gPSBnZXREYXRlUGlja2VyQ29udGV4dChlbCk7XG5cbiAgY29uc3QgZGF0ZVN0cmluZyA9IGV4dGVybmFsSW5wdXRFbC52YWx1ZTtcbiAgbGV0IGlzSW52YWxpZCA9IGZhbHNlO1xuXG4gIGlmIChkYXRlU3RyaW5nKSB7XG4gICAgaXNJbnZhbGlkID0gdHJ1ZTtcblxuICAgIGNvbnN0IGRhdGVTdHJpbmdQYXJ0cyA9IGRhdGVTdHJpbmcuc3BsaXQoXCIvXCIpO1xuICAgIGNvbnN0IFttb250aCwgZGF5LCB5ZWFyXSA9IGRhdGVTdHJpbmdQYXJ0cy5tYXAoKHN0cikgPT4ge1xuICAgICAgbGV0IHZhbHVlO1xuICAgICAgY29uc3QgcGFyc2VkID0gcGFyc2VJbnQoc3RyLCAxMCk7XG4gICAgICBpZiAoIU51bWJlci5pc05hTihwYXJzZWQpKSB2YWx1ZSA9IHBhcnNlZDtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9KTtcblxuICAgIGlmIChtb250aCAmJiBkYXkgJiYgeWVhciAhPSBudWxsKSB7XG4gICAgICBjb25zdCBjaGVja0RhdGUgPSBzZXREYXRlKHllYXIsIG1vbnRoIC0gMSwgZGF5KTtcblxuICAgICAgaWYgKFxuICAgICAgICBjaGVja0RhdGUuZ2V0TW9udGgoKSA9PT0gbW9udGggLSAxICYmXG4gICAgICAgIGNoZWNrRGF0ZS5nZXREYXRlKCkgPT09IGRheSAmJlxuICAgICAgICBjaGVja0RhdGUuZ2V0RnVsbFllYXIoKSA9PT0geWVhciAmJlxuICAgICAgICBkYXRlU3RyaW5nUGFydHNbMl0ubGVuZ3RoID09PSA0ICYmXG4gICAgICAgIGlzRGF0ZVdpdGhpbk1pbkFuZE1heChjaGVja0RhdGUsIG1pbkRhdGUsIG1heERhdGUpXG4gICAgICApIHtcbiAgICAgICAgaXNJbnZhbGlkID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGlzSW52YWxpZDtcbn07XG5cbi8qKlxuICogVmFsaWRhdGUgdGhlIHZhbHVlIGluIHRoZSBpbnB1dCBhcyBhIHZhbGlkIGRhdGUgb2YgZm9ybWF0IE0vRC9ZWVlZXG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWwgQW4gZWxlbWVudCB3aXRoaW4gdGhlIGRhdGUgcGlja2VyIGNvbXBvbmVudFxuICovXG5jb25zdCB2YWxpZGF0ZURhdGVJbnB1dCA9IChlbCkgPT4ge1xuICBjb25zdCB7IGV4dGVybmFsSW5wdXRFbCB9ID0gZ2V0RGF0ZVBpY2tlckNvbnRleHQoZWwpO1xuICBjb25zdCBpc0ludmFsaWQgPSBpc0RhdGVJbnB1dEludmFsaWQoZXh0ZXJuYWxJbnB1dEVsKTtcblxuICBpZiAoaXNJbnZhbGlkICYmICFleHRlcm5hbElucHV0RWwudmFsaWRhdGlvbk1lc3NhZ2UpIHtcbiAgICBleHRlcm5hbElucHV0RWwuc2V0Q3VzdG9tVmFsaWRpdHkoVkFMSURBVElPTl9NRVNTQUdFKTtcbiAgfVxuXG4gIGlmICghaXNJbnZhbGlkICYmIGV4dGVybmFsSW5wdXRFbC52YWxpZGF0aW9uTWVzc2FnZSA9PT0gVkFMSURBVElPTl9NRVNTQUdFKSB7XG4gICAgZXh0ZXJuYWxJbnB1dEVsLnNldEN1c3RvbVZhbGlkaXR5KFwiXCIpO1xuICB9XG59O1xuXG4vLyAjZW5kcmVnaW9uIFZhbGlkYXRpb25cblxuLyoqXG4gKiBFbmFibGUgdGhlIGRhdGUgcGlja2VyIGNvbXBvbmVudFxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsIEFuIGVsZW1lbnQgd2l0aGluIHRoZSBkYXRlIHBpY2tlciBjb21wb25lbnRcbiAqL1xuY29uc3QgcmVjb25jaWxlSW5wdXRWYWx1ZXMgPSAoZWwpID0+IHtcbiAgY29uc3QgeyBpbnRlcm5hbElucHV0RWwsIGlucHV0RGF0ZSB9ID0gZ2V0RGF0ZVBpY2tlckNvbnRleHQoZWwpO1xuICBsZXQgbmV3VmFsdWUgPSBcIlwiO1xuXG4gIGlmIChpbnB1dERhdGUgJiYgIWlzRGF0ZUlucHV0SW52YWxpZChlbCkpIHtcbiAgICBuZXdWYWx1ZSA9IGZvcm1hdERhdGUoaW5wdXREYXRlKTtcbiAgfVxuXG4gIGlmIChpbnRlcm5hbElucHV0RWwudmFsdWUgIT09IG5ld1ZhbHVlKSB7XG4gICAgY2hhbmdlRWxlbWVudFZhbHVlKGludGVybmFsSW5wdXRFbCwgbmV3VmFsdWUpO1xuICB9XG59O1xuXG4vKipcbiAqIFNlbGVjdCB0aGUgdmFsdWUgb2YgdGhlIGRhdGUgcGlja2VyIGlucHV0cy5cbiAqXG4gKiBAcGFyYW0ge0hUTUxCdXR0b25FbGVtZW50fSBlbCBBbiBlbGVtZW50IHdpdGhpbiB0aGUgZGF0ZSBwaWNrZXIgY29tcG9uZW50XG4gKiBAcGFyYW0ge3N0cmluZ30gZGF0ZVN0cmluZyBUaGUgZGF0ZSBzdHJpbmcgdG8gdXBkYXRlIGluIFlZWVktTU0tREQgZm9ybWF0XG4gKi9cbmNvbnN0IHNldENhbGVuZGFyVmFsdWUgPSAoZWwsIGRhdGVTdHJpbmcpID0+IHtcbiAgY29uc3QgcGFyc2VkRGF0ZSA9IHBhcnNlRGF0ZVN0cmluZyhkYXRlU3RyaW5nKTtcblxuICBpZiAocGFyc2VkRGF0ZSkge1xuICAgIGNvbnN0IGZvcm1hdHRlZERhdGUgPSBmb3JtYXREYXRlKHBhcnNlZERhdGUsIERFRkFVTFRfRVhURVJOQUxfREFURV9GT1JNQVQpO1xuXG4gICAgY29uc3QgeyBkYXRlUGlja2VyRWwsIGludGVybmFsSW5wdXRFbCwgZXh0ZXJuYWxJbnB1dEVsIH0gPVxuICAgICAgZ2V0RGF0ZVBpY2tlckNvbnRleHQoZWwpO1xuXG4gICAgY2hhbmdlRWxlbWVudFZhbHVlKGludGVybmFsSW5wdXRFbCwgZGF0ZVN0cmluZyk7XG4gICAgY2hhbmdlRWxlbWVudFZhbHVlKGV4dGVybmFsSW5wdXRFbCwgZm9ybWF0dGVkRGF0ZSk7XG5cbiAgICB2YWxpZGF0ZURhdGVJbnB1dChkYXRlUGlja2VyRWwpO1xuICB9XG59O1xuXG4vKipcbiAqIEVuaGFuY2UgYW4gaW5wdXQgd2l0aCB0aGUgZGF0ZSBwaWNrZXIgZWxlbWVudHNcbiAqXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBlbCBUaGUgaW5pdGlhbCB3cmFwcGluZyBlbGVtZW50IG9mIHRoZSBkYXRlIHBpY2tlciBjb21wb25lbnRcbiAqL1xuY29uc3QgZW5oYW5jZURhdGVQaWNrZXIgPSAoZWwpID0+IHtcbiAgY29uc3QgZGF0ZVBpY2tlckVsID0gZWwuY2xvc2VzdChEQVRFX1BJQ0tFUik7XG4gIGNvbnN0IHsgZGVmYXVsdFZhbHVlIH0gPSBkYXRlUGlja2VyRWwuZGF0YXNldDtcblxuICBjb25zdCBpbnRlcm5hbElucHV0RWwgPSBkYXRlUGlja2VyRWwucXVlcnlTZWxlY3RvcihgaW5wdXRgKTtcblxuICBpZiAoIWludGVybmFsSW5wdXRFbCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgJHtEQVRFX1BJQ0tFUn0gaXMgbWlzc2luZyBpbm5lciBpbnB1dGApO1xuICB9XG5cbiAgaWYgKGludGVybmFsSW5wdXRFbC52YWx1ZSkge1xuICAgIGludGVybmFsSW5wdXRFbC52YWx1ZSA9IFwiXCI7XG4gIH1cblxuICBjb25zdCBtaW5EYXRlID0gcGFyc2VEYXRlU3RyaW5nKFxuICAgIGRhdGVQaWNrZXJFbC5kYXRhc2V0Lm1pbkRhdGUgfHwgaW50ZXJuYWxJbnB1dEVsLmdldEF0dHJpYnV0ZShcIm1pblwiKSxcbiAgKTtcbiAgZGF0ZVBpY2tlckVsLmRhdGFzZXQubWluRGF0ZSA9IG1pbkRhdGVcbiAgICA/IGZvcm1hdERhdGUobWluRGF0ZSlcbiAgICA6IERFRkFVTFRfTUlOX0RBVEU7XG5cbiAgY29uc3QgbWF4RGF0ZSA9IHBhcnNlRGF0ZVN0cmluZyhcbiAgICBkYXRlUGlja2VyRWwuZGF0YXNldC5tYXhEYXRlIHx8IGludGVybmFsSW5wdXRFbC5nZXRBdHRyaWJ1dGUoXCJtYXhcIiksXG4gICk7XG4gIGlmIChtYXhEYXRlKSB7XG4gICAgZGF0ZVBpY2tlckVsLmRhdGFzZXQubWF4RGF0ZSA9IGZvcm1hdERhdGUobWF4RGF0ZSk7XG4gIH1cblxuICBjb25zdCBjYWxlbmRhcldyYXBwZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xuICBjYWxlbmRhcldyYXBwZXIuY2xhc3NMaXN0LmFkZChEQVRFX1BJQ0tFUl9XUkFQUEVSX0NMQVNTKTtcblxuICBjb25zdCBleHRlcm5hbElucHV0RWwgPSBpbnRlcm5hbElucHV0RWwuY2xvbmVOb2RlKCk7XG4gIGV4dGVybmFsSW5wdXRFbC5jbGFzc0xpc3QuYWRkKERBVEVfUElDS0VSX0VYVEVSTkFMX0lOUFVUX0NMQVNTKTtcbiAgZXh0ZXJuYWxJbnB1dEVsLnR5cGUgPSBcInRleHRcIjtcblxuICBjYWxlbmRhcldyYXBwZXIuYXBwZW5kQ2hpbGQoZXh0ZXJuYWxJbnB1dEVsKTtcbiAgY2FsZW5kYXJXcmFwcGVyLmluc2VydEFkamFjZW50SFRNTChcbiAgICBcImJlZm9yZWVuZFwiLFxuICAgIFNhbml0aXplci5lc2NhcGVIVE1MYFxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiJHtEQVRFX1BJQ0tFUl9CVVRUT05fQ0xBU1N9XCIgYXJpYS1oYXNwb3B1cD1cInRydWVcIiBhcmlhLWxhYmVsPVwiVG9nZ2xlIGNhbGVuZGFyXCI+PC9idXR0b24+XG4gICAgPGRpdiBjbGFzcz1cIiR7REFURV9QSUNLRVJfQ0FMRU5EQVJfQ0xBU1N9XCIgcm9sZT1cImFwcGxpY2F0aW9uXCIgaGlkZGVuPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ1c2Etc3Itb25seSAke0RBVEVfUElDS0VSX1NUQVRVU19DTEFTU31cIiByb2xlPVwic3RhdHVzXCIgYXJpYS1saXZlPVwicG9saXRlXCI+PC9kaXY+YCxcbiAgKTtcblxuICBpbnRlcm5hbElucHV0RWwuc2V0QXR0cmlidXRlKFwiYXJpYS1oaWRkZW5cIiwgXCJ0cnVlXCIpO1xuICBpbnRlcm5hbElucHV0RWwuc2V0QXR0cmlidXRlKFwidGFiaW5kZXhcIiwgXCItMVwiKTtcbiAgaW50ZXJuYWxJbnB1dEVsLnN0eWxlLmRpc3BsYXkgPSBcIm5vbmVcIjtcbiAgaW50ZXJuYWxJbnB1dEVsLmNsYXNzTGlzdC5hZGQoREFURV9QSUNLRVJfSU5URVJOQUxfSU5QVVRfQ0xBU1MpO1xuICBpbnRlcm5hbElucHV0RWwucmVtb3ZlQXR0cmlidXRlKFwiaWRcIik7XG4gIGludGVybmFsSW5wdXRFbC5yZW1vdmVBdHRyaWJ1dGUoXCJuYW1lXCIpO1xuICBpbnRlcm5hbElucHV0RWwucmVxdWlyZWQgPSBmYWxzZTtcblxuICBkYXRlUGlja2VyRWwuYXBwZW5kQ2hpbGQoY2FsZW5kYXJXcmFwcGVyKTtcbiAgZGF0ZVBpY2tlckVsLmNsYXNzTGlzdC5hZGQoREFURV9QSUNLRVJfSU5JVElBTElaRURfQ0xBU1MpO1xuXG4gIGlmIChkZWZhdWx0VmFsdWUpIHtcbiAgICBzZXRDYWxlbmRhclZhbHVlKGRhdGVQaWNrZXJFbCwgZGVmYXVsdFZhbHVlKTtcbiAgfVxuXG4gIGlmIChpbnRlcm5hbElucHV0RWwuZGlzYWJsZWQpIHtcbiAgICBkaXNhYmxlKGRhdGVQaWNrZXJFbCk7XG4gICAgaW50ZXJuYWxJbnB1dEVsLmRpc2FibGVkID0gZmFsc2U7XG4gIH1cblxuICBpZiAoaW50ZXJuYWxJbnB1dEVsLmhhc0F0dHJpYnV0ZShcImFyaWEtZGlzYWJsZWRcIikpIHtcbiAgICBhcmlhRGlzYWJsZShkYXRlUGlja2VyRWwpO1xuICAgIGludGVybmFsSW5wdXRFbC5yZW1vdmVBdHRyaWJ1dGUoXCJhcmlhLWRpc2FibGVkXCIpO1xuICB9XG59O1xuXG4vLyAjcmVnaW9uIENhbGVuZGFyIC0gRGF0ZSBTZWxlY3Rpb24gVmlld1xuXG4vKipcbiAqIHJlbmRlciB0aGUgY2FsZW5kYXIuXG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWwgQW4gZWxlbWVudCB3aXRoaW4gdGhlIGRhdGUgcGlja2VyIGNvbXBvbmVudFxuICogQHBhcmFtIHtEYXRlfSBfZGF0ZVRvRGlzcGxheSBhIGRhdGUgdG8gcmVuZGVyIG9uIHRoZSBjYWxlbmRhclxuICogQHJldHVybnMge0hUTUxFbGVtZW50fSBhIHJlZmVyZW5jZSB0byB0aGUgbmV3IGNhbGVuZGFyIGVsZW1lbnRcbiAqL1xuY29uc3QgcmVuZGVyQ2FsZW5kYXIgPSAoZWwsIF9kYXRlVG9EaXNwbGF5KSA9PiB7XG4gIGNvbnN0IHtcbiAgICBkYXRlUGlja2VyRWwsXG4gICAgY2FsZW5kYXJFbCxcbiAgICBzdGF0dXNFbCxcbiAgICBzZWxlY3RlZERhdGUsXG4gICAgbWF4RGF0ZSxcbiAgICBtaW5EYXRlLFxuICAgIHJhbmdlRGF0ZSxcbiAgfSA9IGdldERhdGVQaWNrZXJDb250ZXh0KGVsKTtcbiAgY29uc3QgdG9kYXlzRGF0ZSA9IHRvZGF5KCk7XG4gIGxldCBkYXRlVG9EaXNwbGF5ID0gX2RhdGVUb0Rpc3BsYXkgfHwgdG9kYXlzRGF0ZTtcblxuICBjb25zdCBjYWxlbmRhcldhc0hpZGRlbiA9IGNhbGVuZGFyRWwuaGlkZGVuO1xuXG4gIGNvbnN0IGZvY3VzZWREYXRlID0gYWRkRGF5cyhkYXRlVG9EaXNwbGF5LCAwKTtcbiAgY29uc3QgZm9jdXNlZE1vbnRoID0gZGF0ZVRvRGlzcGxheS5nZXRNb250aCgpO1xuICBjb25zdCBmb2N1c2VkWWVhciA9IGRhdGVUb0Rpc3BsYXkuZ2V0RnVsbFllYXIoKTtcblxuICBjb25zdCBwcmV2TW9udGggPSBzdWJNb250aHMoZGF0ZVRvRGlzcGxheSwgMSk7XG4gIGNvbnN0IG5leHRNb250aCA9IGFkZE1vbnRocyhkYXRlVG9EaXNwbGF5LCAxKTtcblxuICBjb25zdCBjdXJyZW50Rm9ybWF0dGVkRGF0ZSA9IGZvcm1hdERhdGUoZGF0ZVRvRGlzcGxheSk7XG5cbiAgY29uc3QgZmlyc3RPZk1vbnRoID0gc3RhcnRPZk1vbnRoKGRhdGVUb0Rpc3BsYXkpO1xuICBjb25zdCBwcmV2QnV0dG9uc0Rpc2FibGVkID0gaXNTYW1lTW9udGgoZGF0ZVRvRGlzcGxheSwgbWluRGF0ZSk7XG4gIGNvbnN0IG5leHRCdXR0b25zRGlzYWJsZWQgPSBpc1NhbWVNb250aChkYXRlVG9EaXNwbGF5LCBtYXhEYXRlKTtcblxuICBjb25zdCB7XG4gICAgcmFuZ2VTdGFydERhdGUsXG4gICAgcmFuZ2VFbmREYXRlLFxuICAgIHdpdGhpblJhbmdlU3RhcnREYXRlLFxuICAgIHdpdGhpblJhbmdlRW5kRGF0ZSxcbiAgfSA9IHNldFJhbmdlRGF0ZXMoc2VsZWN0ZWREYXRlIHx8IGRhdGVUb0Rpc3BsYXksIHJhbmdlRGF0ZSk7XG5cbiAgY29uc3QgbW9udGhMYWJlbCA9IE1PTlRIX0xBQkVMU1tmb2N1c2VkTW9udGhdO1xuXG4gIGNvbnN0IGdlbmVyYXRlRGF0ZUh0bWwgPSAoZGF0ZVRvUmVuZGVyKSA9PiB7XG4gICAgY29uc3QgY2xhc3NlcyA9IFtDQUxFTkRBUl9EQVRFX0NMQVNTXTtcbiAgICBjb25zdCBkYXkgPSBkYXRlVG9SZW5kZXIuZ2V0RGF0ZSgpO1xuICAgIGNvbnN0IG1vbnRoID0gZGF0ZVRvUmVuZGVyLmdldE1vbnRoKCk7XG4gICAgY29uc3QgeWVhciA9IGRhdGVUb1JlbmRlci5nZXRGdWxsWWVhcigpO1xuICAgIGNvbnN0IGRheU9mV2VlayA9IGRhdGVUb1JlbmRlci5nZXREYXkoKTtcblxuICAgIGNvbnN0IGZvcm1hdHRlZERhdGUgPSBmb3JtYXREYXRlKGRhdGVUb1JlbmRlcik7XG5cbiAgICBsZXQgdGFiaW5kZXggPSBcIi0xXCI7XG5cbiAgICBjb25zdCBpc0Rpc2FibGVkID0gIWlzRGF0ZVdpdGhpbk1pbkFuZE1heChkYXRlVG9SZW5kZXIsIG1pbkRhdGUsIG1heERhdGUpO1xuICAgIGNvbnN0IGlzU2VsZWN0ZWQgPSBpc1NhbWVEYXkoZGF0ZVRvUmVuZGVyLCBzZWxlY3RlZERhdGUpO1xuXG4gICAgaWYgKGlzU2FtZU1vbnRoKGRhdGVUb1JlbmRlciwgcHJldk1vbnRoKSkge1xuICAgICAgY2xhc3Nlcy5wdXNoKENBTEVOREFSX0RBVEVfUFJFVklPVVNfTU9OVEhfQ0xBU1MpO1xuICAgIH1cblxuICAgIGlmIChpc1NhbWVNb250aChkYXRlVG9SZW5kZXIsIGZvY3VzZWREYXRlKSkge1xuICAgICAgY2xhc3Nlcy5wdXNoKENBTEVOREFSX0RBVEVfQ1VSUkVOVF9NT05USF9DTEFTUyk7XG4gICAgfVxuXG4gICAgaWYgKGlzU2FtZU1vbnRoKGRhdGVUb1JlbmRlciwgbmV4dE1vbnRoKSkge1xuICAgICAgY2xhc3Nlcy5wdXNoKENBTEVOREFSX0RBVEVfTkVYVF9NT05USF9DTEFTUyk7XG4gICAgfVxuXG4gICAgaWYgKGlzU2VsZWN0ZWQpIHtcbiAgICAgIGNsYXNzZXMucHVzaChDQUxFTkRBUl9EQVRFX1NFTEVDVEVEX0NMQVNTKTtcbiAgICB9XG5cbiAgICBpZiAoaXNTYW1lRGF5KGRhdGVUb1JlbmRlciwgdG9kYXlzRGF0ZSkpIHtcbiAgICAgIGNsYXNzZXMucHVzaChDQUxFTkRBUl9EQVRFX1RPREFZX0NMQVNTKTtcbiAgICB9XG5cbiAgICBpZiAocmFuZ2VEYXRlKSB7XG4gICAgICBpZiAoaXNTYW1lRGF5KGRhdGVUb1JlbmRlciwgcmFuZ2VEYXRlKSkge1xuICAgICAgICBjbGFzc2VzLnB1c2goQ0FMRU5EQVJfREFURV9SQU5HRV9EQVRFX0NMQVNTKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzU2FtZURheShkYXRlVG9SZW5kZXIsIHJhbmdlU3RhcnREYXRlKSkge1xuICAgICAgICBjbGFzc2VzLnB1c2goQ0FMRU5EQVJfREFURV9SQU5HRV9EQVRFX1NUQVJUX0NMQVNTKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzU2FtZURheShkYXRlVG9SZW5kZXIsIHJhbmdlRW5kRGF0ZSkpIHtcbiAgICAgICAgY2xhc3Nlcy5wdXNoKENBTEVOREFSX0RBVEVfUkFOR0VfREFURV9FTkRfQ0xBU1MpO1xuICAgICAgfVxuXG4gICAgICBpZiAoXG4gICAgICAgIGlzRGF0ZVdpdGhpbk1pbkFuZE1heChcbiAgICAgICAgICBkYXRlVG9SZW5kZXIsXG4gICAgICAgICAgd2l0aGluUmFuZ2VTdGFydERhdGUsXG4gICAgICAgICAgd2l0aGluUmFuZ2VFbmREYXRlLFxuICAgICAgICApXG4gICAgICApIHtcbiAgICAgICAgY2xhc3Nlcy5wdXNoKENBTEVOREFSX0RBVEVfV0lUSElOX1JBTkdFX0NMQVNTKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoaXNTYW1lRGF5KGRhdGVUb1JlbmRlciwgZm9jdXNlZERhdGUpKSB7XG4gICAgICB0YWJpbmRleCA9IFwiMFwiO1xuICAgICAgY2xhc3Nlcy5wdXNoKENBTEVOREFSX0RBVEVfRk9DVVNFRF9DTEFTUyk7XG4gICAgfVxuXG4gICAgY29uc3QgbW9udGhTdHIgPSBNT05USF9MQUJFTFNbbW9udGhdO1xuICAgIGNvbnN0IGRheVN0ciA9IERBWV9PRl9XRUVLX0xBQkVMU1tkYXlPZldlZWtdO1xuXG4gICAgY29uc3QgYnRuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiKTtcbiAgICBidG4uc2V0QXR0cmlidXRlKFwidHlwZVwiLCBcImJ1dHRvblwiKTtcbiAgICBidG4uc2V0QXR0cmlidXRlKFwidGFiaW5kZXhcIiwgdGFiaW5kZXgpO1xuICAgIGJ0bi5zZXRBdHRyaWJ1dGUoXCJjbGFzc1wiLCBjbGFzc2VzLmpvaW4oXCIgXCIpKTtcbiAgICBidG4uc2V0QXR0cmlidXRlKFwiZGF0YS1kYXlcIiwgZGF5KTtcbiAgICBidG4uc2V0QXR0cmlidXRlKFwiZGF0YS1tb250aFwiLCBtb250aCArIDEpO1xuICAgIGJ0bi5zZXRBdHRyaWJ1dGUoXCJkYXRhLXllYXJcIiwgeWVhcik7XG4gICAgYnRuLnNldEF0dHJpYnV0ZShcImRhdGEtdmFsdWVcIiwgZm9ybWF0dGVkRGF0ZSk7XG4gICAgYnRuLnNldEF0dHJpYnV0ZShcbiAgICAgIFwiYXJpYS1sYWJlbFwiLFxuICAgICAgU2FuaXRpemVyLmVzY2FwZUhUTUxgJHtkYXl9ICR7bW9udGhTdHJ9ICR7eWVhcn0gJHtkYXlTdHJ9YCxcbiAgICApO1xuICAgIGJ0bi5zZXRBdHRyaWJ1dGUoXCJhcmlhLXNlbGVjdGVkXCIsIGlzU2VsZWN0ZWQgPyBcInRydWVcIiA6IFwiZmFsc2VcIik7XG4gICAgaWYgKGlzRGlzYWJsZWQgPT09IHRydWUpIHtcbiAgICAgIGJ0bi5kaXNhYmxlZCA9IHRydWU7XG4gICAgfVxuICAgIGJ0bi50ZXh0Q29udGVudCA9IGRheTtcblxuICAgIHJldHVybiBidG47XG4gIH07XG5cbiAgLy8gc2V0IGRhdGUgdG8gZmlyc3QgcmVuZGVyZWQgZGF5XG4gIGRhdGVUb0Rpc3BsYXkgPSBzdGFydE9mV2VlayhmaXJzdE9mTW9udGgpO1xuXG4gIGNvbnN0IGRheXMgPSBbXTtcblxuICB3aGlsZSAoXG4gICAgZGF5cy5sZW5ndGggPCAyOCB8fFxuICAgIGRhdGVUb0Rpc3BsYXkuZ2V0TW9udGgoKSA9PT0gZm9jdXNlZE1vbnRoIHx8XG4gICAgZGF5cy5sZW5ndGggJSA3ICE9PSAwXG4gICkge1xuICAgIGRheXMucHVzaChnZW5lcmF0ZURhdGVIdG1sKGRhdGVUb0Rpc3BsYXkpKTtcbiAgICBkYXRlVG9EaXNwbGF5ID0gYWRkRGF5cyhkYXRlVG9EaXNwbGF5LCAxKTtcbiAgfVxuXG4gIGNvbnN0IGRhdGVzR3JpZCA9IGxpc3RUb0dyaWRIdG1sKGRheXMsIDcpO1xuXG4gIGNvbnN0IG5ld0NhbGVuZGFyID0gY2FsZW5kYXJFbC5jbG9uZU5vZGUoKTtcbiAgbmV3Q2FsZW5kYXIuZGF0YXNldC52YWx1ZSA9IGN1cnJlbnRGb3JtYXR0ZWREYXRlO1xuICBuZXdDYWxlbmRhci5zdHlsZS50b3AgPSBgJHtkYXRlUGlja2VyRWwub2Zmc2V0SGVpZ2h0fXB4YDtcbiAgbmV3Q2FsZW5kYXIuaGlkZGVuID0gZmFsc2U7XG4gIG5ld0NhbGVuZGFyLmlubmVySFRNTCA9IFNhbml0aXplci5lc2NhcGVIVE1MYFxuICAgIDxkaXYgdGFiaW5kZXg9XCItMVwiIGNsYXNzPVwiJHtDQUxFTkRBUl9EQVRFX1BJQ0tFUl9DTEFTU31cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCIke0NBTEVOREFSX1JPV19DTEFTU31cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIiR7Q0FMRU5EQVJfQ0VMTF9DTEFTU30gJHtDQUxFTkRBUl9DRUxMX0NFTlRFUl9JVEVNU19DTEFTU31cIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwiJHtDQUxFTkRBUl9QUkVWSU9VU19ZRUFSX0NMQVNTfVwiXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiTmF2aWdhdGUgYmFjayBvbmUgeWVhclwiXG4gICAgICAgICAgICAke3ByZXZCdXR0b25zRGlzYWJsZWQgPyBgZGlzYWJsZWQ9XCJkaXNhYmxlZFwiYCA6IFwiXCJ9XG4gICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIiR7Q0FMRU5EQVJfQ0VMTF9DTEFTU30gJHtDQUxFTkRBUl9DRUxMX0NFTlRFUl9JVEVNU19DTEFTU31cIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwiJHtDQUxFTkRBUl9QUkVWSU9VU19NT05USF9DTEFTU31cIlxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cIk5hdmlnYXRlIGJhY2sgb25lIG1vbnRoXCJcbiAgICAgICAgICAgICR7cHJldkJ1dHRvbnNEaXNhYmxlZCA/IGBkaXNhYmxlZD1cImRpc2FibGVkXCJgIDogXCJcIn1cbiAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiJHtDQUxFTkRBUl9DRUxMX0NMQVNTfSAke0NBTEVOREFSX01PTlRIX0xBQkVMX0NMQVNTfVwiPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3M9XCIke0NBTEVOREFSX01PTlRIX1NFTEVDVElPTl9DTEFTU31cIiBhcmlhLWxhYmVsPVwiJHttb250aExhYmVsfS4gU2VsZWN0IG1vbnRoXCJcbiAgICAgICAgICA+JHttb250aExhYmVsfTwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3M9XCIke0NBTEVOREFSX1lFQVJfU0VMRUNUSU9OX0NMQVNTfVwiIGFyaWEtbGFiZWw9XCIke2ZvY3VzZWRZZWFyfS4gU2VsZWN0IHllYXJcIlxuICAgICAgICAgID4ke2ZvY3VzZWRZZWFyfTwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIiR7Q0FMRU5EQVJfQ0VMTF9DTEFTU30gJHtDQUxFTkRBUl9DRUxMX0NFTlRFUl9JVEVNU19DTEFTU31cIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwiJHtDQUxFTkRBUl9ORVhUX01PTlRIX0NMQVNTfVwiXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiTmF2aWdhdGUgZm9yd2FyZCBvbmUgbW9udGhcIlxuICAgICAgICAgICAgJHtuZXh0QnV0dG9uc0Rpc2FibGVkID8gYGRpc2FibGVkPVwiZGlzYWJsZWRcImAgOiBcIlwifVxuICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCIke0NBTEVOREFSX0NFTExfQ0xBU1N9ICR7Q0FMRU5EQVJfQ0VMTF9DRU5URVJfSVRFTVNfQ0xBU1N9XCI+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cIiR7Q0FMRU5EQVJfTkVYVF9ZRUFSX0NMQVNTfVwiXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiTmF2aWdhdGUgZm9yd2FyZCBvbmUgeWVhclwiXG4gICAgICAgICAgICAke25leHRCdXR0b25zRGlzYWJsZWQgPyBgZGlzYWJsZWQ9XCJkaXNhYmxlZFwiYCA6IFwiXCJ9XG4gICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIGA7XG5cbiAgY29uc3QgdGFibGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwidGFibGVcIik7XG4gIHRhYmxlLnNldEF0dHJpYnV0ZShcImNsYXNzXCIsIENBTEVOREFSX1RBQkxFX0NMQVNTKTtcblxuICBjb25zdCB0YWJsZUhlYWQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwidGhlYWRcIik7XG4gIHRhYmxlLmluc2VydEFkamFjZW50RWxlbWVudChcImJlZm9yZWVuZFwiLCB0YWJsZUhlYWQpO1xuICBjb25zdCB0YWJsZUhlYWRSb3cgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwidHJcIik7XG4gIHRhYmxlSGVhZC5pbnNlcnRBZGphY2VudEVsZW1lbnQoXCJiZWZvcmVlbmRcIiwgdGFibGVIZWFkUm93KTtcblxuICBjb25zdCBkYXlzT2ZXZWVrID0ge1xuICAgIFN1bmRheTogXCJTXCIsXG4gICAgTW9uZGF5OiBcIk1cIixcbiAgICBUdWVzZGF5OiBcIlRcIixcbiAgICBXZWRuZXNkYXk6IFwiV1wiLFxuICAgIFRodXJzZGF5OiBcIlRoXCIsXG4gICAgRnJpZGF5OiBcIkZyXCIsXG4gICAgU2F0dXJkYXk6IFwiU1wiLFxuICB9O1xuXG4gIE9iamVjdC5rZXlzKGRheXNPZldlZWspLmZvckVhY2goKGtleSkgPT4ge1xuICAgIGNvbnN0IHRoID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInRoXCIpO1xuICAgIHRoLnNldEF0dHJpYnV0ZShcImNsYXNzXCIsIENBTEVOREFSX0RBWV9PRl9XRUVLX0NMQVNTKTtcbiAgICB0aC5zZXRBdHRyaWJ1dGUoXCJzY29wZVwiLCBcImNvbFwiKTtcbiAgICB0aC5zZXRBdHRyaWJ1dGUoXCJhcmlhLWxhYmVsXCIsIGtleSk7XG4gICAgdGgudGV4dENvbnRlbnQgPSBkYXlzT2ZXZWVrW2tleV07XG4gICAgdGFibGVIZWFkUm93Lmluc2VydEFkamFjZW50RWxlbWVudChcImJlZm9yZWVuZFwiLCB0aCk7XG4gIH0pO1xuXG4gIGNvbnN0IHRhYmxlQm9keSA9IGNyZWF0ZVRhYmxlQm9keShkYXRlc0dyaWQpO1xuICB0YWJsZS5pbnNlcnRBZGphY2VudEVsZW1lbnQoXCJiZWZvcmVlbmRcIiwgdGFibGVCb2R5KTtcblxuICAvLyBDb250YWluZXIgZm9yIFllYXJzLCBNb250aHMsIGFuZCBEYXlzXG4gIGNvbnN0IGRhdGVQaWNrZXJDYWxlbmRhckNvbnRhaW5lciA9XG4gICAgbmV3Q2FsZW5kYXIucXVlcnlTZWxlY3RvcihDQUxFTkRBUl9EQVRFX1BJQ0tFUik7XG5cbiAgZGF0ZVBpY2tlckNhbGVuZGFyQ29udGFpbmVyLmluc2VydEFkamFjZW50RWxlbWVudChcImJlZm9yZWVuZFwiLCB0YWJsZSk7XG5cbiAgY2FsZW5kYXJFbC5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChuZXdDYWxlbmRhciwgY2FsZW5kYXJFbCk7XG5cbiAgZGF0ZVBpY2tlckVsLmNsYXNzTGlzdC5hZGQoREFURV9QSUNLRVJfQUNUSVZFX0NMQVNTKTtcblxuICBjb25zdCBzdGF0dXNlcyA9IFtdO1xuXG4gIGlmIChpc1NhbWVEYXkoc2VsZWN0ZWREYXRlLCBmb2N1c2VkRGF0ZSkpIHtcbiAgICBzdGF0dXNlcy5wdXNoKFwiU2VsZWN0ZWQgZGF0ZVwiKTtcbiAgfVxuXG4gIGlmIChjYWxlbmRhcldhc0hpZGRlbikge1xuICAgIHN0YXR1c2VzLnB1c2goXG4gICAgICBcIllvdSBjYW4gbmF2aWdhdGUgYnkgZGF5IHVzaW5nIGxlZnQgYW5kIHJpZ2h0IGFycm93c1wiLFxuICAgICAgXCJXZWVrcyBieSB1c2luZyB1cCBhbmQgZG93biBhcnJvd3NcIixcbiAgICAgIFwiTW9udGhzIGJ5IHVzaW5nIHBhZ2UgdXAgYW5kIHBhZ2UgZG93biBrZXlzXCIsXG4gICAgICBcIlllYXJzIGJ5IHVzaW5nIHNoaWZ0IHBsdXMgcGFnZSB1cCBhbmQgc2hpZnQgcGx1cyBwYWdlIGRvd25cIixcbiAgICAgIFwiSG9tZSBhbmQgZW5kIGtleXMgbmF2aWdhdGUgdG8gdGhlIGJlZ2lubmluZyBhbmQgZW5kIG9mIGEgd2Vla1wiLFxuICAgICk7XG4gICAgc3RhdHVzRWwudGV4dENvbnRlbnQgPSBcIlwiO1xuICB9IGVsc2Uge1xuICAgIHN0YXR1c2VzLnB1c2goYCR7bW9udGhMYWJlbH0gJHtmb2N1c2VkWWVhcn1gKTtcbiAgfVxuICBzdGF0dXNFbC50ZXh0Q29udGVudCA9IHN0YXR1c2VzLmpvaW4oXCIuIFwiKTtcblxuICByZXR1cm4gbmV3Q2FsZW5kYXI7XG59O1xuXG4vKipcbiAqIE5hdmlnYXRlIGJhY2sgb25lIHllYXIgYW5kIGRpc3BsYXkgdGhlIGNhbGVuZGFyLlxuICpcbiAqIEBwYXJhbSB7SFRNTEJ1dHRvbkVsZW1lbnR9IF9idXR0b25FbCBBbiBlbGVtZW50IHdpdGhpbiB0aGUgZGF0ZSBwaWNrZXIgY29tcG9uZW50XG4gKi9cbmNvbnN0IGRpc3BsYXlQcmV2aW91c1llYXIgPSAoX2J1dHRvbkVsKSA9PiB7XG4gIGlmIChfYnV0dG9uRWwuZGlzYWJsZWQpIHJldHVybjtcbiAgY29uc3QgeyBjYWxlbmRhckVsLCBjYWxlbmRhckRhdGUsIG1pbkRhdGUsIG1heERhdGUgfSA9XG4gICAgZ2V0RGF0ZVBpY2tlckNvbnRleHQoX2J1dHRvbkVsKTtcbiAgbGV0IGRhdGUgPSBzdWJZZWFycyhjYWxlbmRhckRhdGUsIDEpO1xuICBkYXRlID0ga2VlcERhdGVCZXR3ZWVuTWluQW5kTWF4KGRhdGUsIG1pbkRhdGUsIG1heERhdGUpO1xuICBjb25zdCBuZXdDYWxlbmRhciA9IHJlbmRlckNhbGVuZGFyKGNhbGVuZGFyRWwsIGRhdGUpO1xuXG4gIGxldCBuZXh0VG9Gb2N1cyA9IG5ld0NhbGVuZGFyLnF1ZXJ5U2VsZWN0b3IoQ0FMRU5EQVJfUFJFVklPVVNfWUVBUik7XG4gIGlmIChuZXh0VG9Gb2N1cy5kaXNhYmxlZCkge1xuICAgIG5leHRUb0ZvY3VzID0gbmV3Q2FsZW5kYXIucXVlcnlTZWxlY3RvcihDQUxFTkRBUl9EQVRFX1BJQ0tFUik7XG4gIH1cbiAgbmV4dFRvRm9jdXMuZm9jdXMoKTtcbn07XG5cbi8qKlxuICogTmF2aWdhdGUgYmFjayBvbmUgbW9udGggYW5kIGRpc3BsYXkgdGhlIGNhbGVuZGFyLlxuICpcbiAqIEBwYXJhbSB7SFRNTEJ1dHRvbkVsZW1lbnR9IF9idXR0b25FbCBBbiBlbGVtZW50IHdpdGhpbiB0aGUgZGF0ZSBwaWNrZXIgY29tcG9uZW50XG4gKi9cbmNvbnN0IGRpc3BsYXlQcmV2aW91c01vbnRoID0gKF9idXR0b25FbCkgPT4ge1xuICBpZiAoX2J1dHRvbkVsLmRpc2FibGVkKSByZXR1cm47XG4gIGNvbnN0IHsgY2FsZW5kYXJFbCwgY2FsZW5kYXJEYXRlLCBtaW5EYXRlLCBtYXhEYXRlIH0gPVxuICAgIGdldERhdGVQaWNrZXJDb250ZXh0KF9idXR0b25FbCk7XG4gIGxldCBkYXRlID0gc3ViTW9udGhzKGNhbGVuZGFyRGF0ZSwgMSk7XG4gIGRhdGUgPSBrZWVwRGF0ZUJldHdlZW5NaW5BbmRNYXgoZGF0ZSwgbWluRGF0ZSwgbWF4RGF0ZSk7XG4gIGNvbnN0IG5ld0NhbGVuZGFyID0gcmVuZGVyQ2FsZW5kYXIoY2FsZW5kYXJFbCwgZGF0ZSk7XG5cbiAgbGV0IG5leHRUb0ZvY3VzID0gbmV3Q2FsZW5kYXIucXVlcnlTZWxlY3RvcihDQUxFTkRBUl9QUkVWSU9VU19NT05USCk7XG4gIGlmIChuZXh0VG9Gb2N1cy5kaXNhYmxlZCkge1xuICAgIG5leHRUb0ZvY3VzID0gbmV3Q2FsZW5kYXIucXVlcnlTZWxlY3RvcihDQUxFTkRBUl9EQVRFX1BJQ0tFUik7XG4gIH1cbiAgbmV4dFRvRm9jdXMuZm9jdXMoKTtcbn07XG5cbi8qKlxuICogTmF2aWdhdGUgZm9yd2FyZCBvbmUgbW9udGggYW5kIGRpc3BsYXkgdGhlIGNhbGVuZGFyLlxuICpcbiAqIEBwYXJhbSB7SFRNTEJ1dHRvbkVsZW1lbnR9IF9idXR0b25FbCBBbiBlbGVtZW50IHdpdGhpbiB0aGUgZGF0ZSBwaWNrZXIgY29tcG9uZW50XG4gKi9cbmNvbnN0IGRpc3BsYXlOZXh0TW9udGggPSAoX2J1dHRvbkVsKSA9PiB7XG4gIGlmIChfYnV0dG9uRWwuZGlzYWJsZWQpIHJldHVybjtcbiAgY29uc3QgeyBjYWxlbmRhckVsLCBjYWxlbmRhckRhdGUsIG1pbkRhdGUsIG1heERhdGUgfSA9XG4gICAgZ2V0RGF0ZVBpY2tlckNvbnRleHQoX2J1dHRvbkVsKTtcbiAgbGV0IGRhdGUgPSBhZGRNb250aHMoY2FsZW5kYXJEYXRlLCAxKTtcbiAgZGF0ZSA9IGtlZXBEYXRlQmV0d2Vlbk1pbkFuZE1heChkYXRlLCBtaW5EYXRlLCBtYXhEYXRlKTtcbiAgY29uc3QgbmV3Q2FsZW5kYXIgPSByZW5kZXJDYWxlbmRhcihjYWxlbmRhckVsLCBkYXRlKTtcblxuICBsZXQgbmV4dFRvRm9jdXMgPSBuZXdDYWxlbmRhci5xdWVyeVNlbGVjdG9yKENBTEVOREFSX05FWFRfTU9OVEgpO1xuICBpZiAobmV4dFRvRm9jdXMuZGlzYWJsZWQpIHtcbiAgICBuZXh0VG9Gb2N1cyA9IG5ld0NhbGVuZGFyLnF1ZXJ5U2VsZWN0b3IoQ0FMRU5EQVJfREFURV9QSUNLRVIpO1xuICB9XG4gIG5leHRUb0ZvY3VzLmZvY3VzKCk7XG59O1xuXG4vKipcbiAqIE5hdmlnYXRlIGZvcndhcmQgb25lIHllYXIgYW5kIGRpc3BsYXkgdGhlIGNhbGVuZGFyLlxuICpcbiAqIEBwYXJhbSB7SFRNTEJ1dHRvbkVsZW1lbnR9IF9idXR0b25FbCBBbiBlbGVtZW50IHdpdGhpbiB0aGUgZGF0ZSBwaWNrZXIgY29tcG9uZW50XG4gKi9cbmNvbnN0IGRpc3BsYXlOZXh0WWVhciA9IChfYnV0dG9uRWwpID0+IHtcbiAgaWYgKF9idXR0b25FbC5kaXNhYmxlZCkgcmV0dXJuO1xuICBjb25zdCB7IGNhbGVuZGFyRWwsIGNhbGVuZGFyRGF0ZSwgbWluRGF0ZSwgbWF4RGF0ZSB9ID1cbiAgICBnZXREYXRlUGlja2VyQ29udGV4dChfYnV0dG9uRWwpO1xuICBsZXQgZGF0ZSA9IGFkZFllYXJzKGNhbGVuZGFyRGF0ZSwgMSk7XG4gIGRhdGUgPSBrZWVwRGF0ZUJldHdlZW5NaW5BbmRNYXgoZGF0ZSwgbWluRGF0ZSwgbWF4RGF0ZSk7XG4gIGNvbnN0IG5ld0NhbGVuZGFyID0gcmVuZGVyQ2FsZW5kYXIoY2FsZW5kYXJFbCwgZGF0ZSk7XG5cbiAgbGV0IG5leHRUb0ZvY3VzID0gbmV3Q2FsZW5kYXIucXVlcnlTZWxlY3RvcihDQUxFTkRBUl9ORVhUX1lFQVIpO1xuICBpZiAobmV4dFRvRm9jdXMuZGlzYWJsZWQpIHtcbiAgICBuZXh0VG9Gb2N1cyA9IG5ld0NhbGVuZGFyLnF1ZXJ5U2VsZWN0b3IoQ0FMRU5EQVJfREFURV9QSUNLRVIpO1xuICB9XG4gIG5leHRUb0ZvY3VzLmZvY3VzKCk7XG59O1xuXG4vKipcbiAqIEhpZGUgdGhlIGNhbGVuZGFyIG9mIGEgZGF0ZSBwaWNrZXIgY29tcG9uZW50LlxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsIEFuIGVsZW1lbnQgd2l0aGluIHRoZSBkYXRlIHBpY2tlciBjb21wb25lbnRcbiAqL1xuY29uc3QgaGlkZUNhbGVuZGFyID0gKGVsKSA9PiB7XG4gIGNvbnN0IHsgZGF0ZVBpY2tlckVsLCBjYWxlbmRhckVsLCBzdGF0dXNFbCB9ID0gZ2V0RGF0ZVBpY2tlckNvbnRleHQoZWwpO1xuXG4gIGRhdGVQaWNrZXJFbC5jbGFzc0xpc3QucmVtb3ZlKERBVEVfUElDS0VSX0FDVElWRV9DTEFTUyk7XG4gIGNhbGVuZGFyRWwuaGlkZGVuID0gdHJ1ZTtcbiAgc3RhdHVzRWwudGV4dENvbnRlbnQgPSBcIlwiO1xufTtcblxuLyoqXG4gKiBTZWxlY3QgYSBkYXRlIHdpdGhpbiB0aGUgZGF0ZSBwaWNrZXIgY29tcG9uZW50LlxuICpcbiAqIEBwYXJhbSB7SFRNTEJ1dHRvbkVsZW1lbnR9IGNhbGVuZGFyRGF0ZUVsIEEgZGF0ZSBlbGVtZW50IHdpdGhpbiB0aGUgZGF0ZSBwaWNrZXIgY29tcG9uZW50XG4gKi9cbmNvbnN0IHNlbGVjdERhdGUgPSAoY2FsZW5kYXJEYXRlRWwpID0+IHtcbiAgaWYgKGNhbGVuZGFyRGF0ZUVsLmRpc2FibGVkKSByZXR1cm47XG5cbiAgY29uc3QgeyBkYXRlUGlja2VyRWwsIGV4dGVybmFsSW5wdXRFbCB9ID1cbiAgICBnZXREYXRlUGlja2VyQ29udGV4dChjYWxlbmRhckRhdGVFbCk7XG5cbiAgc2V0Q2FsZW5kYXJWYWx1ZShjYWxlbmRhckRhdGVFbCwgY2FsZW5kYXJEYXRlRWwuZGF0YXNldC52YWx1ZSk7XG4gIGhpZGVDYWxlbmRhcihkYXRlUGlja2VyRWwpO1xuXG4gIGV4dGVybmFsSW5wdXRFbC5mb2N1cygpO1xufTtcblxuLyoqXG4gKiBUb2dnbGUgdGhlIGNhbGVuZGFyLlxuICpcbiAqIEBwYXJhbSB7SFRNTEJ1dHRvbkVsZW1lbnR9IGVsIEFuIGVsZW1lbnQgd2l0aGluIHRoZSBkYXRlIHBpY2tlciBjb21wb25lbnRcbiAqL1xuY29uc3QgdG9nZ2xlQ2FsZW5kYXIgPSAoZWwpID0+IHtcbiAgaWYgKGVsLmRpc2FibGVkIHx8IGVsLmhhc0F0dHJpYnV0ZShcImFyaWEtZGlzYWJsZWRcIikpIHJldHVybjtcbiAgY29uc3QgeyBjYWxlbmRhckVsLCBpbnB1dERhdGUsIG1pbkRhdGUsIG1heERhdGUsIGRlZmF1bHREYXRlIH0gPVxuICAgIGdldERhdGVQaWNrZXJDb250ZXh0KGVsKTtcblxuICBpZiAoY2FsZW5kYXJFbC5oaWRkZW4pIHtcbiAgICBjb25zdCBkYXRlVG9EaXNwbGF5ID0ga2VlcERhdGVCZXR3ZWVuTWluQW5kTWF4KFxuICAgICAgaW5wdXREYXRlIHx8IGRlZmF1bHREYXRlIHx8IHRvZGF5KCksXG4gICAgICBtaW5EYXRlLFxuICAgICAgbWF4RGF0ZSxcbiAgICApO1xuICAgIGNvbnN0IG5ld0NhbGVuZGFyID0gcmVuZGVyQ2FsZW5kYXIoY2FsZW5kYXJFbCwgZGF0ZVRvRGlzcGxheSk7XG4gICAgbmV3Q2FsZW5kYXIucXVlcnlTZWxlY3RvcihDQUxFTkRBUl9EQVRFX0ZPQ1VTRUQpLmZvY3VzKCk7XG4gIH0gZWxzZSB7XG4gICAgaGlkZUNhbGVuZGFyKGVsKTtcbiAgfVxufTtcblxuLyoqXG4gKiBVcGRhdGUgdGhlIGNhbGVuZGFyIHdoZW4gdmlzaWJsZS5cbiAqXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBlbCBhbiBlbGVtZW50IHdpdGhpbiB0aGUgZGF0ZSBwaWNrZXJcbiAqL1xuY29uc3QgdXBkYXRlQ2FsZW5kYXJJZlZpc2libGUgPSAoZWwpID0+IHtcbiAgY29uc3QgeyBjYWxlbmRhckVsLCBpbnB1dERhdGUsIG1pbkRhdGUsIG1heERhdGUgfSA9IGdldERhdGVQaWNrZXJDb250ZXh0KGVsKTtcbiAgY29uc3QgY2FsZW5kYXJTaG93biA9ICFjYWxlbmRhckVsLmhpZGRlbjtcblxuICBpZiAoY2FsZW5kYXJTaG93biAmJiBpbnB1dERhdGUpIHtcbiAgICBjb25zdCBkYXRlVG9EaXNwbGF5ID0ga2VlcERhdGVCZXR3ZWVuTWluQW5kTWF4KGlucHV0RGF0ZSwgbWluRGF0ZSwgbWF4RGF0ZSk7XG4gICAgcmVuZGVyQ2FsZW5kYXIoY2FsZW5kYXJFbCwgZGF0ZVRvRGlzcGxheSk7XG4gIH1cbn07XG5cbi8vICNlbmRyZWdpb24gQ2FsZW5kYXIgLSBEYXRlIFNlbGVjdGlvbiBWaWV3XG5cbi8vICNyZWdpb24gQ2FsZW5kYXIgLSBNb250aCBTZWxlY3Rpb24gVmlld1xuLyoqXG4gKiBEaXNwbGF5IHRoZSBtb250aCBzZWxlY3Rpb24gc2NyZWVuIGluIHRoZSBkYXRlIHBpY2tlci5cbiAqXG4gKiBAcGFyYW0ge0hUTUxCdXR0b25FbGVtZW50fSBlbCBBbiBlbGVtZW50IHdpdGhpbiB0aGUgZGF0ZSBwaWNrZXIgY29tcG9uZW50XG4gKiBAcmV0dXJucyB7SFRNTEVsZW1lbnR9IGEgcmVmZXJlbmNlIHRvIHRoZSBuZXcgY2FsZW5kYXIgZWxlbWVudFxuICovXG5jb25zdCBkaXNwbGF5TW9udGhTZWxlY3Rpb24gPSAoZWwsIG1vbnRoVG9EaXNwbGF5KSA9PiB7XG4gIGNvbnN0IHsgY2FsZW5kYXJFbCwgc3RhdHVzRWwsIGNhbGVuZGFyRGF0ZSwgbWluRGF0ZSwgbWF4RGF0ZSB9ID1cbiAgICBnZXREYXRlUGlja2VyQ29udGV4dChlbCk7XG5cbiAgY29uc3Qgc2VsZWN0ZWRNb250aCA9IGNhbGVuZGFyRGF0ZS5nZXRNb250aCgpO1xuICBjb25zdCBmb2N1c2VkTW9udGggPSBtb250aFRvRGlzcGxheSA9PSBudWxsID8gc2VsZWN0ZWRNb250aCA6IG1vbnRoVG9EaXNwbGF5O1xuXG4gIGNvbnN0IG1vbnRocyA9IE1PTlRIX0xBQkVMUy5tYXAoKG1vbnRoLCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IG1vbnRoVG9DaGVjayA9IHNldE1vbnRoKGNhbGVuZGFyRGF0ZSwgaW5kZXgpO1xuXG4gICAgY29uc3QgaXNEaXNhYmxlZCA9IGlzRGF0ZXNNb250aE91dHNpZGVNaW5Pck1heChcbiAgICAgIG1vbnRoVG9DaGVjayxcbiAgICAgIG1pbkRhdGUsXG4gICAgICBtYXhEYXRlLFxuICAgICk7XG5cbiAgICBsZXQgdGFiaW5kZXggPSBcIi0xXCI7XG5cbiAgICBjb25zdCBjbGFzc2VzID0gW0NBTEVOREFSX01PTlRIX0NMQVNTXTtcbiAgICBjb25zdCBpc1NlbGVjdGVkID0gaW5kZXggPT09IHNlbGVjdGVkTW9udGg7XG5cbiAgICBpZiAoaW5kZXggPT09IGZvY3VzZWRNb250aCkge1xuICAgICAgdGFiaW5kZXggPSBcIjBcIjtcbiAgICAgIGNsYXNzZXMucHVzaChDQUxFTkRBUl9NT05USF9GT0NVU0VEX0NMQVNTKTtcbiAgICB9XG5cbiAgICBpZiAoaXNTZWxlY3RlZCkge1xuICAgICAgY2xhc3Nlcy5wdXNoKENBTEVOREFSX01PTlRIX1NFTEVDVEVEX0NMQVNTKTtcbiAgICB9XG5cbiAgICBjb25zdCBidG4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYnV0dG9uXCIpO1xuICAgIGJ0bi5zZXRBdHRyaWJ1dGUoXCJ0eXBlXCIsIFwiYnV0dG9uXCIpO1xuICAgIGJ0bi5zZXRBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiLCB0YWJpbmRleCk7XG4gICAgYnRuLnNldEF0dHJpYnV0ZShcImNsYXNzXCIsIGNsYXNzZXMuam9pbihcIiBcIikpO1xuICAgIGJ0bi5zZXRBdHRyaWJ1dGUoXCJkYXRhLXZhbHVlXCIsIGluZGV4KTtcbiAgICBidG4uc2V0QXR0cmlidXRlKFwiZGF0YS1sYWJlbFwiLCBtb250aCk7XG4gICAgYnRuLnNldEF0dHJpYnV0ZShcImFyaWEtc2VsZWN0ZWRcIiwgaXNTZWxlY3RlZCA/IFwidHJ1ZVwiIDogXCJmYWxzZVwiKTtcbiAgICBpZiAoaXNEaXNhYmxlZCA9PT0gdHJ1ZSkge1xuICAgICAgYnRuLmRpc2FibGVkID0gdHJ1ZTtcbiAgICB9XG4gICAgYnRuLnRleHRDb250ZW50ID0gbW9udGg7XG5cbiAgICByZXR1cm4gYnRuO1xuICB9KTtcblxuICBjb25zdCBtb250aHNIdG1sID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgbW9udGhzSHRtbC5zZXRBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiLCBcIi0xXCIpO1xuICBtb250aHNIdG1sLnNldEF0dHJpYnV0ZShcImNsYXNzXCIsIENBTEVOREFSX01PTlRIX1BJQ0tFUl9DTEFTUyk7XG5cbiAgY29uc3QgdGFibGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwidGFibGVcIik7XG4gIHRhYmxlLnNldEF0dHJpYnV0ZShcImNsYXNzXCIsIENBTEVOREFSX1RBQkxFX0NMQVNTKTtcbiAgdGFibGUuc2V0QXR0cmlidXRlKFwicm9sZVwiLCBcInByZXNlbnRhdGlvblwiKTtcblxuICBjb25zdCBtb250aHNHcmlkID0gbGlzdFRvR3JpZEh0bWwobW9udGhzLCAzKTtcbiAgY29uc3QgdGFibGVCb2R5ID0gY3JlYXRlVGFibGVCb2R5KG1vbnRoc0dyaWQpO1xuICB0YWJsZS5pbnNlcnRBZGphY2VudEVsZW1lbnQoXCJiZWZvcmVlbmRcIiwgdGFibGVCb2R5KTtcbiAgbW9udGhzSHRtbC5pbnNlcnRBZGphY2VudEVsZW1lbnQoXCJiZWZvcmVlbmRcIiwgdGFibGUpO1xuXG4gIGNvbnN0IG5ld0NhbGVuZGFyID0gY2FsZW5kYXJFbC5jbG9uZU5vZGUoKTtcbiAgbmV3Q2FsZW5kYXIuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KFwiYmVmb3JlZW5kXCIsIG1vbnRoc0h0bWwpO1xuICBjYWxlbmRhckVsLnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKG5ld0NhbGVuZGFyLCBjYWxlbmRhckVsKTtcblxuICBzdGF0dXNFbC50ZXh0Q29udGVudCA9IFwiU2VsZWN0IGEgbW9udGguXCI7XG5cbiAgcmV0dXJuIG5ld0NhbGVuZGFyO1xufTtcblxuLyoqXG4gKiBTZWxlY3QgYSBtb250aCBpbiB0aGUgZGF0ZSBwaWNrZXIgY29tcG9uZW50LlxuICpcbiAqIEBwYXJhbSB7SFRNTEJ1dHRvbkVsZW1lbnR9IG1vbnRoRWwgQW4gbW9udGggZWxlbWVudCB3aXRoaW4gdGhlIGRhdGUgcGlja2VyIGNvbXBvbmVudFxuICovXG5jb25zdCBzZWxlY3RNb250aCA9IChtb250aEVsKSA9PiB7XG4gIGlmIChtb250aEVsLmRpc2FibGVkKSByZXR1cm47XG4gIGNvbnN0IHsgY2FsZW5kYXJFbCwgY2FsZW5kYXJEYXRlLCBtaW5EYXRlLCBtYXhEYXRlIH0gPVxuICAgIGdldERhdGVQaWNrZXJDb250ZXh0KG1vbnRoRWwpO1xuICBjb25zdCBzZWxlY3RlZE1vbnRoID0gcGFyc2VJbnQobW9udGhFbC5kYXRhc2V0LnZhbHVlLCAxMCk7XG4gIGxldCBkYXRlID0gc2V0TW9udGgoY2FsZW5kYXJEYXRlLCBzZWxlY3RlZE1vbnRoKTtcbiAgZGF0ZSA9IGtlZXBEYXRlQmV0d2Vlbk1pbkFuZE1heChkYXRlLCBtaW5EYXRlLCBtYXhEYXRlKTtcbiAgY29uc3QgbmV3Q2FsZW5kYXIgPSByZW5kZXJDYWxlbmRhcihjYWxlbmRhckVsLCBkYXRlKTtcbiAgbmV3Q2FsZW5kYXIucXVlcnlTZWxlY3RvcihDQUxFTkRBUl9EQVRFX0ZPQ1VTRUQpLmZvY3VzKCk7XG59O1xuXG4vLyAjZW5kcmVnaW9uIENhbGVuZGFyIC0gTW9udGggU2VsZWN0aW9uIFZpZXdcblxuLy8gI3JlZ2lvbiBDYWxlbmRhciAtIFllYXIgU2VsZWN0aW9uIFZpZXdcblxuLyoqXG4gKiBEaXNwbGF5IHRoZSB5ZWFyIHNlbGVjdGlvbiBzY3JlZW4gaW4gdGhlIGRhdGUgcGlja2VyLlxuICpcbiAqIEBwYXJhbSB7SFRNTEJ1dHRvbkVsZW1lbnR9IGVsIEFuIGVsZW1lbnQgd2l0aGluIHRoZSBkYXRlIHBpY2tlciBjb21wb25lbnRcbiAqIEBwYXJhbSB7bnVtYmVyfSB5ZWFyVG9EaXNwbGF5IHllYXIgdG8gZGlzcGxheSBpbiB5ZWFyIHNlbGVjdGlvblxuICogQHJldHVybnMge0hUTUxFbGVtZW50fSBhIHJlZmVyZW5jZSB0byB0aGUgbmV3IGNhbGVuZGFyIGVsZW1lbnRcbiAqL1xuY29uc3QgZGlzcGxheVllYXJTZWxlY3Rpb24gPSAoZWwsIHllYXJUb0Rpc3BsYXkpID0+IHtcbiAgY29uc3QgeyBjYWxlbmRhckVsLCBzdGF0dXNFbCwgY2FsZW5kYXJEYXRlLCBtaW5EYXRlLCBtYXhEYXRlIH0gPVxuICAgIGdldERhdGVQaWNrZXJDb250ZXh0KGVsKTtcblxuICBjb25zdCBzZWxlY3RlZFllYXIgPSBjYWxlbmRhckRhdGUuZ2V0RnVsbFllYXIoKTtcbiAgY29uc3QgZm9jdXNlZFllYXIgPSB5ZWFyVG9EaXNwbGF5ID09IG51bGwgPyBzZWxlY3RlZFllYXIgOiB5ZWFyVG9EaXNwbGF5O1xuXG4gIGxldCB5ZWFyVG9DaHVuayA9IGZvY3VzZWRZZWFyO1xuICB5ZWFyVG9DaHVuayAtPSB5ZWFyVG9DaHVuayAlIFlFQVJfQ0hVTks7XG4gIHllYXJUb0NodW5rID0gTWF0aC5tYXgoMCwgeWVhclRvQ2h1bmspO1xuXG4gIGNvbnN0IHByZXZZZWFyQ2h1bmtEaXNhYmxlZCA9IGlzRGF0ZXNZZWFyT3V0c2lkZU1pbk9yTWF4KFxuICAgIHNldFllYXIoY2FsZW5kYXJEYXRlLCB5ZWFyVG9DaHVuayAtIDEpLFxuICAgIG1pbkRhdGUsXG4gICAgbWF4RGF0ZSxcbiAgKTtcblxuICBjb25zdCBuZXh0WWVhckNodW5rRGlzYWJsZWQgPSBpc0RhdGVzWWVhck91dHNpZGVNaW5Pck1heChcbiAgICBzZXRZZWFyKGNhbGVuZGFyRGF0ZSwgeWVhclRvQ2h1bmsgKyBZRUFSX0NIVU5LKSxcbiAgICBtaW5EYXRlLFxuICAgIG1heERhdGUsXG4gICk7XG5cbiAgY29uc3QgeWVhcnMgPSBbXTtcbiAgbGV0IHllYXJJbmRleCA9IHllYXJUb0NodW5rO1xuICB3aGlsZSAoeWVhcnMubGVuZ3RoIDwgWUVBUl9DSFVOSykge1xuICAgIGNvbnN0IGlzRGlzYWJsZWQgPSBpc0RhdGVzWWVhck91dHNpZGVNaW5Pck1heChcbiAgICAgIHNldFllYXIoY2FsZW5kYXJEYXRlLCB5ZWFySW5kZXgpLFxuICAgICAgbWluRGF0ZSxcbiAgICAgIG1heERhdGUsXG4gICAgKTtcblxuICAgIGxldCB0YWJpbmRleCA9IFwiLTFcIjtcblxuICAgIGNvbnN0IGNsYXNzZXMgPSBbQ0FMRU5EQVJfWUVBUl9DTEFTU107XG4gICAgY29uc3QgaXNTZWxlY3RlZCA9IHllYXJJbmRleCA9PT0gc2VsZWN0ZWRZZWFyO1xuXG4gICAgaWYgKHllYXJJbmRleCA9PT0gZm9jdXNlZFllYXIpIHtcbiAgICAgIHRhYmluZGV4ID0gXCIwXCI7XG4gICAgICBjbGFzc2VzLnB1c2goQ0FMRU5EQVJfWUVBUl9GT0NVU0VEX0NMQVNTKTtcbiAgICB9XG5cbiAgICBpZiAoaXNTZWxlY3RlZCkge1xuICAgICAgY2xhc3Nlcy5wdXNoKENBTEVOREFSX1lFQVJfU0VMRUNURURfQ0xBU1MpO1xuICAgIH1cblxuICAgIGNvbnN0IGJ0biA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJidXR0b25cIik7XG4gICAgYnRuLnNldEF0dHJpYnV0ZShcInR5cGVcIiwgXCJidXR0b25cIik7XG4gICAgYnRuLnNldEF0dHJpYnV0ZShcInRhYmluZGV4XCIsIHRhYmluZGV4KTtcbiAgICBidG4uc2V0QXR0cmlidXRlKFwiY2xhc3NcIiwgY2xhc3Nlcy5qb2luKFwiIFwiKSk7XG4gICAgYnRuLnNldEF0dHJpYnV0ZShcImRhdGEtdmFsdWVcIiwgeWVhckluZGV4KTtcbiAgICBidG4uc2V0QXR0cmlidXRlKFwiYXJpYS1zZWxlY3RlZFwiLCBpc1NlbGVjdGVkID8gXCJ0cnVlXCIgOiBcImZhbHNlXCIpO1xuICAgIGlmIChpc0Rpc2FibGVkID09PSB0cnVlKSB7XG4gICAgICBidG4uZGlzYWJsZWQgPSB0cnVlO1xuICAgIH1cbiAgICBidG4udGV4dENvbnRlbnQgPSB5ZWFySW5kZXg7XG5cbiAgICB5ZWFycy5wdXNoKGJ0bik7XG4gICAgeWVhckluZGV4ICs9IDE7XG4gIH1cblxuICBjb25zdCBuZXdDYWxlbmRhciA9IGNhbGVuZGFyRWwuY2xvbmVOb2RlKCk7XG5cbiAgLy8gY3JlYXRlIHRoZSB5ZWFycyBjYWxlbmRhciB3cmFwcGVyXG4gIGNvbnN0IHllYXJzQ2FsZW5kYXJXcmFwcGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgeWVhcnNDYWxlbmRhcldyYXBwZXIuc2V0QXR0cmlidXRlKFwidGFiaW5kZXhcIiwgXCItMVwiKTtcbiAgeWVhcnNDYWxlbmRhcldyYXBwZXIuc2V0QXR0cmlidXRlKFwiY2xhc3NcIiwgQ0FMRU5EQVJfWUVBUl9QSUNLRVJfQ0xBU1MpO1xuXG4gIC8vIGNyZWF0ZSB0YWJsZSBwYXJlbnRcbiAgY29uc3QgeWVhcnNUYWJsZVBhcmVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJ0YWJsZVwiKTtcbiAgeWVhcnNUYWJsZVBhcmVudC5zZXRBdHRyaWJ1dGUoXCJjbGFzc1wiLCBDQUxFTkRBUl9UQUJMRV9DTEFTUyk7XG5cbiAgLy8gY3JlYXRlIHRhYmxlIGJvZHkgYW5kIHRhYmxlIHJvd1xuICBjb25zdCB5ZWFyc0hUTUxUYWJsZUJvZHkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwidGJvZHlcIik7XG4gIGNvbnN0IHllYXJzSFRNTFRhYmxlQm9keVJvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJ0clwiKTtcblxuICAvLyBjcmVhdGUgcHJldmlvdXMgYnV0dG9uXG4gIGNvbnN0IHByZXZpb3VzWWVhcnNCdG4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYnV0dG9uXCIpO1xuICBwcmV2aW91c1llYXJzQnRuLnNldEF0dHJpYnV0ZShcInR5cGVcIiwgXCJidXR0b25cIik7XG4gIHByZXZpb3VzWWVhcnNCdG4uc2V0QXR0cmlidXRlKFwiY2xhc3NcIiwgQ0FMRU5EQVJfUFJFVklPVVNfWUVBUl9DSFVOS19DTEFTUyk7XG4gIHByZXZpb3VzWWVhcnNCdG4uc2V0QXR0cmlidXRlKFxuICAgIFwiYXJpYS1sYWJlbFwiLFxuICAgIGBOYXZpZ2F0ZSBiYWNrICR7WUVBUl9DSFVOS30geWVhcnNgLFxuICApO1xuICBpZiAocHJldlllYXJDaHVua0Rpc2FibGVkID09PSB0cnVlKSB7XG4gICAgcHJldmlvdXNZZWFyc0J0bi5kaXNhYmxlZCA9IHRydWU7XG4gIH1cbiAgcHJldmlvdXNZZWFyc0J0bi5pbm5lckhUTUwgPSBTYW5pdGl6ZXIuZXNjYXBlSFRNTGAmbmJzcGA7XG5cbiAgLy8gY3JlYXRlIG5leHQgYnV0dG9uXG4gIGNvbnN0IG5leHRZZWFyc0J0biA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJidXR0b25cIik7XG4gIG5leHRZZWFyc0J0bi5zZXRBdHRyaWJ1dGUoXCJ0eXBlXCIsIFwiYnV0dG9uXCIpO1xuICBuZXh0WWVhcnNCdG4uc2V0QXR0cmlidXRlKFwiY2xhc3NcIiwgQ0FMRU5EQVJfTkVYVF9ZRUFSX0NIVU5LX0NMQVNTKTtcbiAgbmV4dFllYXJzQnRuLnNldEF0dHJpYnV0ZShcbiAgICBcImFyaWEtbGFiZWxcIixcbiAgICBgTmF2aWdhdGUgZm9yd2FyZCAke1lFQVJfQ0hVTkt9IHllYXJzYCxcbiAgKTtcbiAgaWYgKG5leHRZZWFyQ2h1bmtEaXNhYmxlZCA9PT0gdHJ1ZSkge1xuICAgIG5leHRZZWFyc0J0bi5kaXNhYmxlZCA9IHRydWU7XG4gIH1cbiAgbmV4dFllYXJzQnRuLmlubmVySFRNTCA9IFNhbml0aXplci5lc2NhcGVIVE1MYCZuYnNwYDtcblxuICAvLyBjcmVhdGUgdGhlIGFjdHVhbCB5ZWFycyB0YWJsZVxuICBjb25zdCB5ZWFyc1RhYmxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInRhYmxlXCIpO1xuICB5ZWFyc1RhYmxlLnNldEF0dHJpYnV0ZShcImNsYXNzXCIsIENBTEVOREFSX1RBQkxFX0NMQVNTKTtcbiAgeWVhcnNUYWJsZS5zZXRBdHRyaWJ1dGUoXCJyb2xlXCIsIFwicHJlc2VudGF0aW9uXCIpO1xuXG4gIC8vIGNyZWF0ZSB0aGUgeWVhcnMgY2hpbGQgdGFibGVcbiAgY29uc3QgeWVhcnNHcmlkID0gbGlzdFRvR3JpZEh0bWwoeWVhcnMsIDMpO1xuICBjb25zdCB5ZWFyc1RhYmxlQm9keSA9IGNyZWF0ZVRhYmxlQm9keSh5ZWFyc0dyaWQpO1xuXG4gIC8vIGFwcGVuZCB0aGUgZ3JpZCB0byB0aGUgeWVhcnMgY2hpbGQgdGFibGVcbiAgeWVhcnNUYWJsZS5pbnNlcnRBZGphY2VudEVsZW1lbnQoXCJiZWZvcmVlbmRcIiwgeWVhcnNUYWJsZUJvZHkpO1xuXG4gIC8vIGNyZWF0ZSB0aGUgcHJldiBidXR0b24gdGQgYW5kIGFwcGVuZCB0aGUgcHJldiBidXR0b25cbiAgY29uc3QgeWVhcnNIVE1MVGFibGVCb2R5RGV0YWlsUHJldiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJ0ZFwiKTtcbiAgeWVhcnNIVE1MVGFibGVCb2R5RGV0YWlsUHJldi5pbnNlcnRBZGphY2VudEVsZW1lbnQoXG4gICAgXCJiZWZvcmVlbmRcIixcbiAgICBwcmV2aW91c1llYXJzQnRuLFxuICApO1xuXG4gIC8vIGNyZWF0ZSB0aGUgeWVhcnMgdGQgYW5kIGFwcGVuZCB0aGUgeWVhcnMgY2hpbGQgdGFibGVcbiAgY29uc3QgeWVhcnNIVE1MVGFibGVCb2R5WWVhcnNEZXRhaWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwidGRcIik7XG4gIHllYXJzSFRNTFRhYmxlQm9keVllYXJzRGV0YWlsLnNldEF0dHJpYnV0ZShcImNvbHNwYW5cIiwgXCIzXCIpO1xuICB5ZWFyc0hUTUxUYWJsZUJvZHlZZWFyc0RldGFpbC5pbnNlcnRBZGphY2VudEVsZW1lbnQoXCJiZWZvcmVlbmRcIiwgeWVhcnNUYWJsZSk7XG5cbiAgLy8gY3JlYXRlIHRoZSBuZXh0IGJ1dHRvbiB0ZCBhbmQgYXBwZW5kIHRoZSBuZXh0IGJ1dHRvblxuICBjb25zdCB5ZWFyc0hUTUxUYWJsZUJvZHlEZXRhaWxOZXh0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInRkXCIpO1xuICB5ZWFyc0hUTUxUYWJsZUJvZHlEZXRhaWxOZXh0Lmluc2VydEFkamFjZW50RWxlbWVudChcImJlZm9yZWVuZFwiLCBuZXh0WWVhcnNCdG4pO1xuXG4gIC8vIGFwcGVuZCB0aGUgdGhyZWUgdGQgdG8gdGhlIHllYXJzIGNoaWxkIHRhYmxlIHJvd1xuICB5ZWFyc0hUTUxUYWJsZUJvZHlSb3cuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KFxuICAgIFwiYmVmb3JlZW5kXCIsXG4gICAgeWVhcnNIVE1MVGFibGVCb2R5RGV0YWlsUHJldixcbiAgKTtcbiAgeWVhcnNIVE1MVGFibGVCb2R5Um93Lmluc2VydEFkamFjZW50RWxlbWVudChcbiAgICBcImJlZm9yZWVuZFwiLFxuICAgIHllYXJzSFRNTFRhYmxlQm9keVllYXJzRGV0YWlsLFxuICApO1xuICB5ZWFyc0hUTUxUYWJsZUJvZHlSb3cuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KFxuICAgIFwiYmVmb3JlZW5kXCIsXG4gICAgeWVhcnNIVE1MVGFibGVCb2R5RGV0YWlsTmV4dCxcbiAgKTtcblxuICAvLyBhcHBlbmQgdGhlIHRhYmxlIHJvdyB0byB0aGUgeWVhcnMgY2hpbGQgdGFibGUgYm9keVxuICB5ZWFyc0hUTUxUYWJsZUJvZHkuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KFwiYmVmb3JlZW5kXCIsIHllYXJzSFRNTFRhYmxlQm9keVJvdyk7XG5cbiAgLy8gYXBwZW5kIHRoZSB5ZWFycyB0YWJsZSBib2R5IHRvIHRoZSB5ZWFycyBwYXJlbnQgdGFibGVcbiAgeWVhcnNUYWJsZVBhcmVudC5pbnNlcnRBZGphY2VudEVsZW1lbnQoXCJiZWZvcmVlbmRcIiwgeWVhcnNIVE1MVGFibGVCb2R5KTtcblxuICAvLyBhcHBlbmQgdGhlIHBhcmVudCB0YWJsZSB0byB0aGUgY2FsZW5kYXIgd3JhcHBlclxuICB5ZWFyc0NhbGVuZGFyV3JhcHBlci5pbnNlcnRBZGphY2VudEVsZW1lbnQoXCJiZWZvcmVlbmRcIiwgeWVhcnNUYWJsZVBhcmVudCk7XG5cbiAgLy8gYXBwZW5kIHRoZSB5ZWFycyBjYWxlbmRlciB0byB0aGUgbmV3IGNhbGVuZGFyXG4gIG5ld0NhbGVuZGFyLmluc2VydEFkamFjZW50RWxlbWVudChcImJlZm9yZWVuZFwiLCB5ZWFyc0NhbGVuZGFyV3JhcHBlcik7XG5cbiAgLy8gcmVwbGFjZSBjYWxlbmRhclxuICBjYWxlbmRhckVsLnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKG5ld0NhbGVuZGFyLCBjYWxlbmRhckVsKTtcblxuICBzdGF0dXNFbC50ZXh0Q29udGVudCA9IFNhbml0aXplci5lc2NhcGVIVE1MYFNob3dpbmcgeWVhcnMgJHt5ZWFyVG9DaHVua30gdG8gJHtcbiAgICB5ZWFyVG9DaHVuayArIFlFQVJfQ0hVTksgLSAxXG4gIH0uIFNlbGVjdCBhIHllYXIuYDtcblxuICByZXR1cm4gbmV3Q2FsZW5kYXI7XG59O1xuXG4vKipcbiAqIE5hdmlnYXRlIGJhY2sgYnkgeWVhcnMgYW5kIGRpc3BsYXkgdGhlIHllYXIgc2VsZWN0aW9uIHNjcmVlbi5cbiAqXG4gKiBAcGFyYW0ge0hUTUxCdXR0b25FbGVtZW50fSBlbCBBbiBlbGVtZW50IHdpdGhpbiB0aGUgZGF0ZSBwaWNrZXIgY29tcG9uZW50XG4gKi9cbmNvbnN0IGRpc3BsYXlQcmV2aW91c1llYXJDaHVuayA9IChlbCkgPT4ge1xuICBpZiAoZWwuZGlzYWJsZWQpIHJldHVybjtcblxuICBjb25zdCB7IGNhbGVuZGFyRWwsIGNhbGVuZGFyRGF0ZSwgbWluRGF0ZSwgbWF4RGF0ZSB9ID1cbiAgICBnZXREYXRlUGlja2VyQ29udGV4dChlbCk7XG4gIGNvbnN0IHllYXJFbCA9IGNhbGVuZGFyRWwucXVlcnlTZWxlY3RvcihDQUxFTkRBUl9ZRUFSX0ZPQ1VTRUQpO1xuICBjb25zdCBzZWxlY3RlZFllYXIgPSBwYXJzZUludCh5ZWFyRWwudGV4dENvbnRlbnQsIDEwKTtcblxuICBsZXQgYWRqdXN0ZWRZZWFyID0gc2VsZWN0ZWRZZWFyIC0gWUVBUl9DSFVOSztcbiAgYWRqdXN0ZWRZZWFyID0gTWF0aC5tYXgoMCwgYWRqdXN0ZWRZZWFyKTtcblxuICBjb25zdCBkYXRlID0gc2V0WWVhcihjYWxlbmRhckRhdGUsIGFkanVzdGVkWWVhcik7XG4gIGNvbnN0IGNhcHBlZERhdGUgPSBrZWVwRGF0ZUJldHdlZW5NaW5BbmRNYXgoZGF0ZSwgbWluRGF0ZSwgbWF4RGF0ZSk7XG4gIGNvbnN0IG5ld0NhbGVuZGFyID0gZGlzcGxheVllYXJTZWxlY3Rpb24oXG4gICAgY2FsZW5kYXJFbCxcbiAgICBjYXBwZWREYXRlLmdldEZ1bGxZZWFyKCksXG4gICk7XG5cbiAgbGV0IG5leHRUb0ZvY3VzID0gbmV3Q2FsZW5kYXIucXVlcnlTZWxlY3RvcihDQUxFTkRBUl9QUkVWSU9VU19ZRUFSX0NIVU5LKTtcbiAgaWYgKG5leHRUb0ZvY3VzLmRpc2FibGVkKSB7XG4gICAgbmV4dFRvRm9jdXMgPSBuZXdDYWxlbmRhci5xdWVyeVNlbGVjdG9yKENBTEVOREFSX1lFQVJfUElDS0VSKTtcbiAgfVxuICBuZXh0VG9Gb2N1cy5mb2N1cygpO1xufTtcblxuLyoqXG4gKiBOYXZpZ2F0ZSBmb3J3YXJkIGJ5IHllYXJzIGFuZCBkaXNwbGF5IHRoZSB5ZWFyIHNlbGVjdGlvbiBzY3JlZW4uXG4gKlxuICogQHBhcmFtIHtIVE1MQnV0dG9uRWxlbWVudH0gZWwgQW4gZWxlbWVudCB3aXRoaW4gdGhlIGRhdGUgcGlja2VyIGNvbXBvbmVudFxuICovXG5jb25zdCBkaXNwbGF5TmV4dFllYXJDaHVuayA9IChlbCkgPT4ge1xuICBpZiAoZWwuZGlzYWJsZWQpIHJldHVybjtcblxuICBjb25zdCB7IGNhbGVuZGFyRWwsIGNhbGVuZGFyRGF0ZSwgbWluRGF0ZSwgbWF4RGF0ZSB9ID1cbiAgICBnZXREYXRlUGlja2VyQ29udGV4dChlbCk7XG4gIGNvbnN0IHllYXJFbCA9IGNhbGVuZGFyRWwucXVlcnlTZWxlY3RvcihDQUxFTkRBUl9ZRUFSX0ZPQ1VTRUQpO1xuICBjb25zdCBzZWxlY3RlZFllYXIgPSBwYXJzZUludCh5ZWFyRWwudGV4dENvbnRlbnQsIDEwKTtcblxuICBsZXQgYWRqdXN0ZWRZZWFyID0gc2VsZWN0ZWRZZWFyICsgWUVBUl9DSFVOSztcbiAgYWRqdXN0ZWRZZWFyID0gTWF0aC5tYXgoMCwgYWRqdXN0ZWRZZWFyKTtcblxuICBjb25zdCBkYXRlID0gc2V0WWVhcihjYWxlbmRhckRhdGUsIGFkanVzdGVkWWVhcik7XG4gIGNvbnN0IGNhcHBlZERhdGUgPSBrZWVwRGF0ZUJldHdlZW5NaW5BbmRNYXgoZGF0ZSwgbWluRGF0ZSwgbWF4RGF0ZSk7XG4gIGNvbnN0IG5ld0NhbGVuZGFyID0gZGlzcGxheVllYXJTZWxlY3Rpb24oXG4gICAgY2FsZW5kYXJFbCxcbiAgICBjYXBwZWREYXRlLmdldEZ1bGxZZWFyKCksXG4gICk7XG5cbiAgbGV0IG5leHRUb0ZvY3VzID0gbmV3Q2FsZW5kYXIucXVlcnlTZWxlY3RvcihDQUxFTkRBUl9ORVhUX1lFQVJfQ0hVTkspO1xuICBpZiAobmV4dFRvRm9jdXMuZGlzYWJsZWQpIHtcbiAgICBuZXh0VG9Gb2N1cyA9IG5ld0NhbGVuZGFyLnF1ZXJ5U2VsZWN0b3IoQ0FMRU5EQVJfWUVBUl9QSUNLRVIpO1xuICB9XG4gIG5leHRUb0ZvY3VzLmZvY3VzKCk7XG59O1xuXG4vKipcbiAqIFNlbGVjdCBhIHllYXIgaW4gdGhlIGRhdGUgcGlja2VyIGNvbXBvbmVudC5cbiAqXG4gKiBAcGFyYW0ge0hUTUxCdXR0b25FbGVtZW50fSB5ZWFyRWwgQSB5ZWFyIGVsZW1lbnQgd2l0aGluIHRoZSBkYXRlIHBpY2tlciBjb21wb25lbnRcbiAqL1xuY29uc3Qgc2VsZWN0WWVhciA9ICh5ZWFyRWwpID0+IHtcbiAgaWYgKHllYXJFbC5kaXNhYmxlZCkgcmV0dXJuO1xuICBjb25zdCB7IGNhbGVuZGFyRWwsIGNhbGVuZGFyRGF0ZSwgbWluRGF0ZSwgbWF4RGF0ZSB9ID1cbiAgICBnZXREYXRlUGlja2VyQ29udGV4dCh5ZWFyRWwpO1xuICBjb25zdCBzZWxlY3RlZFllYXIgPSBwYXJzZUludCh5ZWFyRWwuaW5uZXJIVE1MLCAxMCk7XG4gIGxldCBkYXRlID0gc2V0WWVhcihjYWxlbmRhckRhdGUsIHNlbGVjdGVkWWVhcik7XG4gIGRhdGUgPSBrZWVwRGF0ZUJldHdlZW5NaW5BbmRNYXgoZGF0ZSwgbWluRGF0ZSwgbWF4RGF0ZSk7XG4gIGNvbnN0IG5ld0NhbGVuZGFyID0gcmVuZGVyQ2FsZW5kYXIoY2FsZW5kYXJFbCwgZGF0ZSk7XG4gIG5ld0NhbGVuZGFyLnF1ZXJ5U2VsZWN0b3IoQ0FMRU5EQVJfREFURV9GT0NVU0VEKS5mb2N1cygpO1xufTtcblxuLy8gI2VuZHJlZ2lvbiBDYWxlbmRhciAtIFllYXIgU2VsZWN0aW9uIFZpZXdcblxuLy8gI3JlZ2lvbiBDYWxlbmRhciBFdmVudCBIYW5kbGluZ1xuXG4vKipcbiAqIEhpZGUgdGhlIGNhbGVuZGFyLlxuICpcbiAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQgdGhlIGtleWRvd24gZXZlbnRcbiAqL1xuY29uc3QgaGFuZGxlRXNjYXBlRnJvbUNhbGVuZGFyID0gKGV2ZW50KSA9PiB7XG4gIGNvbnN0IHsgZGF0ZVBpY2tlckVsLCBleHRlcm5hbElucHV0RWwgfSA9IGdldERhdGVQaWNrZXJDb250ZXh0KGV2ZW50LnRhcmdldCk7XG5cbiAgaGlkZUNhbGVuZGFyKGRhdGVQaWNrZXJFbCk7XG4gIGV4dGVybmFsSW5wdXRFbC5mb2N1cygpO1xuXG4gIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG59O1xuXG4vLyAjZW5kcmVnaW9uIENhbGVuZGFyIEV2ZW50IEhhbmRsaW5nXG5cbi8vICNyZWdpb24gQ2FsZW5kYXIgRGF0ZSBFdmVudCBIYW5kbGluZ1xuXG4vKipcbiAqIEFkanVzdCB0aGUgZGF0ZSBhbmQgZGlzcGxheSB0aGUgY2FsZW5kYXIgaWYgbmVlZGVkLlxuICpcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGFkanVzdERhdGVGbiBmdW5jdGlvbiB0aGF0IHJldHVybnMgdGhlIGFkanVzdGVkIGRhdGVcbiAqL1xuY29uc3QgYWRqdXN0Q2FsZW5kYXIgPSAoYWRqdXN0RGF0ZUZuKSA9PiAoZXZlbnQpID0+IHtcbiAgY29uc3QgeyBjYWxlbmRhckVsLCBjYWxlbmRhckRhdGUsIG1pbkRhdGUsIG1heERhdGUgfSA9IGdldERhdGVQaWNrZXJDb250ZXh0KFxuICAgIGV2ZW50LnRhcmdldCxcbiAgKTtcblxuICBjb25zdCBkYXRlID0gYWRqdXN0RGF0ZUZuKGNhbGVuZGFyRGF0ZSk7XG5cbiAgY29uc3QgY2FwcGVkRGF0ZSA9IGtlZXBEYXRlQmV0d2Vlbk1pbkFuZE1heChkYXRlLCBtaW5EYXRlLCBtYXhEYXRlKTtcbiAgaWYgKCFpc1NhbWVEYXkoY2FsZW5kYXJEYXRlLCBjYXBwZWREYXRlKSkge1xuICAgIGNvbnN0IG5ld0NhbGVuZGFyID0gcmVuZGVyQ2FsZW5kYXIoY2FsZW5kYXJFbCwgY2FwcGVkRGF0ZSk7XG4gICAgbmV3Q2FsZW5kYXIucXVlcnlTZWxlY3RvcihDQUxFTkRBUl9EQVRFX0ZPQ1VTRUQpLmZvY3VzKCk7XG4gIH1cbiAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbn07XG5cbi8qKlxuICogTmF2aWdhdGUgYmFjayBvbmUgd2VlayBhbmQgZGlzcGxheSB0aGUgY2FsZW5kYXIuXG4gKlxuICogQHBhcmFtIHtLZXlib2FyZEV2ZW50fSBldmVudCB0aGUga2V5ZG93biBldmVudFxuICovXG5jb25zdCBoYW5kbGVVcEZyb21EYXRlID0gYWRqdXN0Q2FsZW5kYXIoKGRhdGUpID0+IHN1YldlZWtzKGRhdGUsIDEpKTtcblxuLyoqXG4gKiBOYXZpZ2F0ZSBmb3J3YXJkIG9uZSB3ZWVrIGFuZCBkaXNwbGF5IHRoZSBjYWxlbmRhci5cbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IHRoZSBrZXlkb3duIGV2ZW50XG4gKi9cbmNvbnN0IGhhbmRsZURvd25Gcm9tRGF0ZSA9IGFkanVzdENhbGVuZGFyKChkYXRlKSA9PiBhZGRXZWVrcyhkYXRlLCAxKSk7XG5cbi8qKlxuICogTmF2aWdhdGUgYmFjayBvbmUgZGF5IGFuZCBkaXNwbGF5IHRoZSBjYWxlbmRhci5cbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IHRoZSBrZXlkb3duIGV2ZW50XG4gKi9cbmNvbnN0IGhhbmRsZUxlZnRGcm9tRGF0ZSA9IGFkanVzdENhbGVuZGFyKChkYXRlKSA9PiBzdWJEYXlzKGRhdGUsIDEpKTtcblxuLyoqXG4gKiBOYXZpZ2F0ZSBmb3J3YXJkIG9uZSBkYXkgYW5kIGRpc3BsYXkgdGhlIGNhbGVuZGFyLlxuICpcbiAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQgdGhlIGtleWRvd24gZXZlbnRcbiAqL1xuY29uc3QgaGFuZGxlUmlnaHRGcm9tRGF0ZSA9IGFkanVzdENhbGVuZGFyKChkYXRlKSA9PiBhZGREYXlzKGRhdGUsIDEpKTtcblxuLyoqXG4gKiBOYXZpZ2F0ZSB0byB0aGUgc3RhcnQgb2YgdGhlIHdlZWsgYW5kIGRpc3BsYXkgdGhlIGNhbGVuZGFyLlxuICpcbiAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQgdGhlIGtleWRvd24gZXZlbnRcbiAqL1xuY29uc3QgaGFuZGxlSG9tZUZyb21EYXRlID0gYWRqdXN0Q2FsZW5kYXIoKGRhdGUpID0+IHN0YXJ0T2ZXZWVrKGRhdGUpKTtcblxuLyoqXG4gKiBOYXZpZ2F0ZSB0byB0aGUgZW5kIG9mIHRoZSB3ZWVrIGFuZCBkaXNwbGF5IHRoZSBjYWxlbmRhci5cbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IHRoZSBrZXlkb3duIGV2ZW50XG4gKi9cbmNvbnN0IGhhbmRsZUVuZEZyb21EYXRlID0gYWRqdXN0Q2FsZW5kYXIoKGRhdGUpID0+IGVuZE9mV2VlayhkYXRlKSk7XG5cbi8qKlxuICogTmF2aWdhdGUgZm9yd2FyZCBvbmUgbW9udGggYW5kIGRpc3BsYXkgdGhlIGNhbGVuZGFyLlxuICpcbiAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQgdGhlIGtleWRvd24gZXZlbnRcbiAqL1xuY29uc3QgaGFuZGxlUGFnZURvd25Gcm9tRGF0ZSA9IGFkanVzdENhbGVuZGFyKChkYXRlKSA9PiBhZGRNb250aHMoZGF0ZSwgMSkpO1xuXG4vKipcbiAqIE5hdmlnYXRlIGJhY2sgb25lIG1vbnRoIGFuZCBkaXNwbGF5IHRoZSBjYWxlbmRhci5cbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IHRoZSBrZXlkb3duIGV2ZW50XG4gKi9cbmNvbnN0IGhhbmRsZVBhZ2VVcEZyb21EYXRlID0gYWRqdXN0Q2FsZW5kYXIoKGRhdGUpID0+IHN1Yk1vbnRocyhkYXRlLCAxKSk7XG5cbi8qKlxuICogTmF2aWdhdGUgZm9yd2FyZCBvbmUgeWVhciBhbmQgZGlzcGxheSB0aGUgY2FsZW5kYXIuXG4gKlxuICogQHBhcmFtIHtLZXlib2FyZEV2ZW50fSBldmVudCB0aGUga2V5ZG93biBldmVudFxuICovXG5jb25zdCBoYW5kbGVTaGlmdFBhZ2VEb3duRnJvbURhdGUgPSBhZGp1c3RDYWxlbmRhcigoZGF0ZSkgPT4gYWRkWWVhcnMoZGF0ZSwgMSkpO1xuXG4vKipcbiAqIE5hdmlnYXRlIGJhY2sgb25lIHllYXIgYW5kIGRpc3BsYXkgdGhlIGNhbGVuZGFyLlxuICpcbiAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQgdGhlIGtleWRvd24gZXZlbnRcbiAqL1xuY29uc3QgaGFuZGxlU2hpZnRQYWdlVXBGcm9tRGF0ZSA9IGFkanVzdENhbGVuZGFyKChkYXRlKSA9PiBzdWJZZWFycyhkYXRlLCAxKSk7XG5cbi8qKlxuICogU2V0IHJhbmdlIGRhdGUgY2xhc3NlcyB3aXRob3V0IHJlLXJlbmRlcmluZyB0aGUgY2FsZW5kYXIuIENhbGxlZCB3aGVuIGRhdGUgYnV0dG9uIGlzIGhvdmVyZWQuXG4gKiBSZXR1cm5zIGVhcmx5IGlmIHRoZSBkYXRlIGhvdmVyZWQgaXMgZGlzYWJsZWQgb3IgaWYgdGhlcmUgaXMgYWxyZWFkeSBhIHNlbGVjdGVkIGRhdGUuXG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZGF0ZUVsIC0gQ2FsZW5kYXIgZGF0ZSBidXR0b24gd2l0aGluIHRoZSBkYXRlIHBpY2tlciBjb21wb25lbnQuXG4gKi9cblxuY29uc3QgaGFuZGxlTW91c2VvdmVyRnJvbURhdGUgPSAoZGF0ZUVsKSA9PiB7XG4gIGlmIChkYXRlRWwuZGlzYWJsZWQpIHJldHVybjtcblxuICBjb25zdCBob3ZlckRhdGUgPSBwYXJzZURhdGVTdHJpbmcoZGF0ZUVsLmRhdGFzZXQudmFsdWUpO1xuICBjb25zdCB7IGNhbGVuZGFyRWwsIHNlbGVjdGVkRGF0ZSwgcmFuZ2VEYXRlIH0gPSBnZXREYXRlUGlja2VyQ29udGV4dChkYXRlRWwpO1xuXG4gIGlmIChzZWxlY3RlZERhdGUpIHJldHVybjtcblxuICBjb25zdCB7IHdpdGhpblJhbmdlU3RhcnREYXRlLCB3aXRoaW5SYW5nZUVuZERhdGUgfSA9IHNldFJhbmdlRGF0ZXMoXG4gICAgaG92ZXJEYXRlLFxuICAgIHJhbmdlRGF0ZSxcbiAgKTtcblxuICBjb25zdCBkYXRlQnV0dG9ucyA9IGNhbGVuZGFyRWwucXVlcnlTZWxlY3RvckFsbChcbiAgICBgLiR7Q0FMRU5EQVJfREFURV9DVVJSRU5UX01PTlRIX0NMQVNTfWAsXG4gICk7XG5cbiAgZGF0ZUJ1dHRvbnMuZm9yRWFjaCgoYnV0dG9uKSA9PiB7XG4gICAgY29uc3QgYnV0dG9uRGF0ZSA9IHBhcnNlRGF0ZVN0cmluZyhidXR0b24uZGF0YXNldC52YWx1ZSk7XG4gICAgaWYgKFxuICAgICAgaXNEYXRlV2l0aGluTWluQW5kTWF4KFxuICAgICAgICBidXR0b25EYXRlLFxuICAgICAgICB3aXRoaW5SYW5nZVN0YXJ0RGF0ZSxcbiAgICAgICAgd2l0aGluUmFuZ2VFbmREYXRlLFxuICAgICAgKVxuICAgICkge1xuICAgICAgYnV0dG9uLmNsYXNzTGlzdC5hZGQoQ0FMRU5EQVJfREFURV9XSVRISU5fUkFOR0VfQ0xBU1MpO1xuICAgIH0gZWxzZSB7XG4gICAgICBidXR0b24uY2xhc3NMaXN0LnJlbW92ZShDQUxFTkRBUl9EQVRFX1dJVEhJTl9SQU5HRV9DTEFTUyk7XG4gICAgfVxuICB9KTtcbn07XG5cbi8vICNlbmRyZWdpb24gQ2FsZW5kYXIgRGF0ZSBFdmVudCBIYW5kbGluZ1xuXG4vLyAjcmVnaW9uIENhbGVuZGFyIE1vbnRoIEV2ZW50IEhhbmRsaW5nXG5cbi8qKlxuICogQWRqdXN0IHRoZSBtb250aCBhbmQgZGlzcGxheSB0aGUgbW9udGggc2VsZWN0aW9uIHNjcmVlbiBpZiBuZWVkZWQuXG4gKlxuICogQHBhcmFtIHtmdW5jdGlvbn0gYWRqdXN0TW9udGhGbiBmdW5jdGlvbiB0aGF0IHJldHVybnMgdGhlIGFkanVzdGVkIG1vbnRoXG4gKi9cbmNvbnN0IGFkanVzdE1vbnRoU2VsZWN0aW9uU2NyZWVuID0gKGFkanVzdE1vbnRoRm4pID0+IChldmVudCkgPT4ge1xuICBjb25zdCBtb250aEVsID0gZXZlbnQudGFyZ2V0O1xuICBjb25zdCBzZWxlY3RlZE1vbnRoID0gcGFyc2VJbnQobW9udGhFbC5kYXRhc2V0LnZhbHVlLCAxMCk7XG4gIGNvbnN0IHsgY2FsZW5kYXJFbCwgY2FsZW5kYXJEYXRlLCBtaW5EYXRlLCBtYXhEYXRlIH0gPVxuICAgIGdldERhdGVQaWNrZXJDb250ZXh0KG1vbnRoRWwpO1xuICBjb25zdCBjdXJyZW50RGF0ZSA9IHNldE1vbnRoKGNhbGVuZGFyRGF0ZSwgc2VsZWN0ZWRNb250aCk7XG5cbiAgbGV0IGFkanVzdGVkTW9udGggPSBhZGp1c3RNb250aEZuKHNlbGVjdGVkTW9udGgpO1xuICBhZGp1c3RlZE1vbnRoID0gTWF0aC5tYXgoMCwgTWF0aC5taW4oMTEsIGFkanVzdGVkTW9udGgpKTtcblxuICBjb25zdCBkYXRlID0gc2V0TW9udGgoY2FsZW5kYXJEYXRlLCBhZGp1c3RlZE1vbnRoKTtcbiAgY29uc3QgY2FwcGVkRGF0ZSA9IGtlZXBEYXRlQmV0d2Vlbk1pbkFuZE1heChkYXRlLCBtaW5EYXRlLCBtYXhEYXRlKTtcbiAgaWYgKCFpc1NhbWVNb250aChjdXJyZW50RGF0ZSwgY2FwcGVkRGF0ZSkpIHtcbiAgICBjb25zdCBuZXdDYWxlbmRhciA9IGRpc3BsYXlNb250aFNlbGVjdGlvbihcbiAgICAgIGNhbGVuZGFyRWwsXG4gICAgICBjYXBwZWREYXRlLmdldE1vbnRoKCksXG4gICAgKTtcbiAgICBuZXdDYWxlbmRhci5xdWVyeVNlbGVjdG9yKENBTEVOREFSX01PTlRIX0ZPQ1VTRUQpLmZvY3VzKCk7XG4gIH1cbiAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbn07XG5cbi8qKlxuICogTmF2aWdhdGUgYmFjayB0aHJlZSBtb250aHMgYW5kIGRpc3BsYXkgdGhlIG1vbnRoIHNlbGVjdGlvbiBzY3JlZW4uXG4gKlxuICogQHBhcmFtIHtLZXlib2FyZEV2ZW50fSBldmVudCB0aGUga2V5ZG93biBldmVudFxuICovXG5jb25zdCBoYW5kbGVVcEZyb21Nb250aCA9IGFkanVzdE1vbnRoU2VsZWN0aW9uU2NyZWVuKChtb250aCkgPT4gbW9udGggLSAzKTtcblxuLyoqXG4gKiBOYXZpZ2F0ZSBmb3J3YXJkIHRocmVlIG1vbnRocyBhbmQgZGlzcGxheSB0aGUgbW9udGggc2VsZWN0aW9uIHNjcmVlbi5cbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IHRoZSBrZXlkb3duIGV2ZW50XG4gKi9cbmNvbnN0IGhhbmRsZURvd25Gcm9tTW9udGggPSBhZGp1c3RNb250aFNlbGVjdGlvblNjcmVlbigobW9udGgpID0+IG1vbnRoICsgMyk7XG5cbi8qKlxuICogTmF2aWdhdGUgYmFjayBvbmUgbW9udGggYW5kIGRpc3BsYXkgdGhlIG1vbnRoIHNlbGVjdGlvbiBzY3JlZW4uXG4gKlxuICogQHBhcmFtIHtLZXlib2FyZEV2ZW50fSBldmVudCB0aGUga2V5ZG93biBldmVudFxuICovXG5jb25zdCBoYW5kbGVMZWZ0RnJvbU1vbnRoID0gYWRqdXN0TW9udGhTZWxlY3Rpb25TY3JlZW4oKG1vbnRoKSA9PiBtb250aCAtIDEpO1xuXG4vKipcbiAqIE5hdmlnYXRlIGZvcndhcmQgb25lIG1vbnRoIGFuZCBkaXNwbGF5IHRoZSBtb250aCBzZWxlY3Rpb24gc2NyZWVuLlxuICpcbiAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQgdGhlIGtleWRvd24gZXZlbnRcbiAqL1xuY29uc3QgaGFuZGxlUmlnaHRGcm9tTW9udGggPSBhZGp1c3RNb250aFNlbGVjdGlvblNjcmVlbigobW9udGgpID0+IG1vbnRoICsgMSk7XG5cbi8qKlxuICogTmF2aWdhdGUgdG8gdGhlIHN0YXJ0IG9mIHRoZSByb3cgb2YgbW9udGhzIGFuZCBkaXNwbGF5IHRoZSBtb250aCBzZWxlY3Rpb24gc2NyZWVuLlxuICpcbiAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQgdGhlIGtleWRvd24gZXZlbnRcbiAqL1xuY29uc3QgaGFuZGxlSG9tZUZyb21Nb250aCA9IGFkanVzdE1vbnRoU2VsZWN0aW9uU2NyZWVuKFxuICAobW9udGgpID0+IG1vbnRoIC0gKG1vbnRoICUgMyksXG4pO1xuXG4vKipcbiAqIE5hdmlnYXRlIHRvIHRoZSBlbmQgb2YgdGhlIHJvdyBvZiBtb250aHMgYW5kIGRpc3BsYXkgdGhlIG1vbnRoIHNlbGVjdGlvbiBzY3JlZW4uXG4gKlxuICogQHBhcmFtIHtLZXlib2FyZEV2ZW50fSBldmVudCB0aGUga2V5ZG93biBldmVudFxuICovXG5jb25zdCBoYW5kbGVFbmRGcm9tTW9udGggPSBhZGp1c3RNb250aFNlbGVjdGlvblNjcmVlbihcbiAgKG1vbnRoKSA9PiBtb250aCArIDIgLSAobW9udGggJSAzKSxcbik7XG5cbi8qKlxuICogTmF2aWdhdGUgdG8gdGhlIGxhc3QgbW9udGggKERlY2VtYmVyKSBhbmQgZGlzcGxheSB0aGUgbW9udGggc2VsZWN0aW9uIHNjcmVlbi5cbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IHRoZSBrZXlkb3duIGV2ZW50XG4gKi9cbmNvbnN0IGhhbmRsZVBhZ2VEb3duRnJvbU1vbnRoID0gYWRqdXN0TW9udGhTZWxlY3Rpb25TY3JlZW4oKCkgPT4gMTEpO1xuXG4vKipcbiAqIE5hdmlnYXRlIHRvIHRoZSBmaXJzdCBtb250aCAoSmFudWFyeSkgYW5kIGRpc3BsYXkgdGhlIG1vbnRoIHNlbGVjdGlvbiBzY3JlZW4uXG4gKlxuICogQHBhcmFtIHtLZXlib2FyZEV2ZW50fSBldmVudCB0aGUga2V5ZG93biBldmVudFxuICovXG5jb25zdCBoYW5kbGVQYWdlVXBGcm9tTW9udGggPSBhZGp1c3RNb250aFNlbGVjdGlvblNjcmVlbigoKSA9PiAwKTtcblxuLy8gI2VuZHJlZ2lvbiBDYWxlbmRhciBNb250aCBFdmVudCBIYW5kbGluZ1xuXG4vLyAjcmVnaW9uIENhbGVuZGFyIFllYXIgRXZlbnQgSGFuZGxpbmdcblxuLyoqXG4gKiBBZGp1c3QgdGhlIHllYXIgYW5kIGRpc3BsYXkgdGhlIHllYXIgc2VsZWN0aW9uIHNjcmVlbiBpZiBuZWVkZWQuXG4gKlxuICogQHBhcmFtIHtmdW5jdGlvbn0gYWRqdXN0WWVhckZuIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0aGUgYWRqdXN0ZWQgeWVhclxuICovXG5jb25zdCBhZGp1c3RZZWFyU2VsZWN0aW9uU2NyZWVuID0gKGFkanVzdFllYXJGbikgPT4gKGV2ZW50KSA9PiB7XG4gIGNvbnN0IHllYXJFbCA9IGV2ZW50LnRhcmdldDtcbiAgY29uc3Qgc2VsZWN0ZWRZZWFyID0gcGFyc2VJbnQoeWVhckVsLmRhdGFzZXQudmFsdWUsIDEwKTtcbiAgY29uc3QgeyBjYWxlbmRhckVsLCBjYWxlbmRhckRhdGUsIG1pbkRhdGUsIG1heERhdGUgfSA9XG4gICAgZ2V0RGF0ZVBpY2tlckNvbnRleHQoeWVhckVsKTtcbiAgY29uc3QgY3VycmVudERhdGUgPSBzZXRZZWFyKGNhbGVuZGFyRGF0ZSwgc2VsZWN0ZWRZZWFyKTtcblxuICBsZXQgYWRqdXN0ZWRZZWFyID0gYWRqdXN0WWVhckZuKHNlbGVjdGVkWWVhcik7XG4gIGFkanVzdGVkWWVhciA9IE1hdGgubWF4KDAsIGFkanVzdGVkWWVhcik7XG5cbiAgY29uc3QgZGF0ZSA9IHNldFllYXIoY2FsZW5kYXJEYXRlLCBhZGp1c3RlZFllYXIpO1xuICBjb25zdCBjYXBwZWREYXRlID0ga2VlcERhdGVCZXR3ZWVuTWluQW5kTWF4KGRhdGUsIG1pbkRhdGUsIG1heERhdGUpO1xuICBpZiAoIWlzU2FtZVllYXIoY3VycmVudERhdGUsIGNhcHBlZERhdGUpKSB7XG4gICAgY29uc3QgbmV3Q2FsZW5kYXIgPSBkaXNwbGF5WWVhclNlbGVjdGlvbihcbiAgICAgIGNhbGVuZGFyRWwsXG4gICAgICBjYXBwZWREYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgKTtcbiAgICBuZXdDYWxlbmRhci5xdWVyeVNlbGVjdG9yKENBTEVOREFSX1lFQVJfRk9DVVNFRCkuZm9jdXMoKTtcbiAgfVxuICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xufTtcblxuLyoqXG4gKiBOYXZpZ2F0ZSBiYWNrIHRocmVlIHllYXJzIGFuZCBkaXNwbGF5IHRoZSB5ZWFyIHNlbGVjdGlvbiBzY3JlZW4uXG4gKlxuICogQHBhcmFtIHtLZXlib2FyZEV2ZW50fSBldmVudCB0aGUga2V5ZG93biBldmVudFxuICovXG5jb25zdCBoYW5kbGVVcEZyb21ZZWFyID0gYWRqdXN0WWVhclNlbGVjdGlvblNjcmVlbigoeWVhcikgPT4geWVhciAtIDMpO1xuXG4vKipcbiAqIE5hdmlnYXRlIGZvcndhcmQgdGhyZWUgeWVhcnMgYW5kIGRpc3BsYXkgdGhlIHllYXIgc2VsZWN0aW9uIHNjcmVlbi5cbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IHRoZSBrZXlkb3duIGV2ZW50XG4gKi9cbmNvbnN0IGhhbmRsZURvd25Gcm9tWWVhciA9IGFkanVzdFllYXJTZWxlY3Rpb25TY3JlZW4oKHllYXIpID0+IHllYXIgKyAzKTtcblxuLyoqXG4gKiBOYXZpZ2F0ZSBiYWNrIG9uZSB5ZWFyIGFuZCBkaXNwbGF5IHRoZSB5ZWFyIHNlbGVjdGlvbiBzY3JlZW4uXG4gKlxuICogQHBhcmFtIHtLZXlib2FyZEV2ZW50fSBldmVudCB0aGUga2V5ZG93biBldmVudFxuICovXG5jb25zdCBoYW5kbGVMZWZ0RnJvbVllYXIgPSBhZGp1c3RZZWFyU2VsZWN0aW9uU2NyZWVuKCh5ZWFyKSA9PiB5ZWFyIC0gMSk7XG5cbi8qKlxuICogTmF2aWdhdGUgZm9yd2FyZCBvbmUgeWVhciBhbmQgZGlzcGxheSB0aGUgeWVhciBzZWxlY3Rpb24gc2NyZWVuLlxuICpcbiAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQgdGhlIGtleWRvd24gZXZlbnRcbiAqL1xuY29uc3QgaGFuZGxlUmlnaHRGcm9tWWVhciA9IGFkanVzdFllYXJTZWxlY3Rpb25TY3JlZW4oKHllYXIpID0+IHllYXIgKyAxKTtcblxuLyoqXG4gKiBOYXZpZ2F0ZSB0byB0aGUgc3RhcnQgb2YgdGhlIHJvdyBvZiB5ZWFycyBhbmQgZGlzcGxheSB0aGUgeWVhciBzZWxlY3Rpb24gc2NyZWVuLlxuICpcbiAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQgdGhlIGtleWRvd24gZXZlbnRcbiAqL1xuY29uc3QgaGFuZGxlSG9tZUZyb21ZZWFyID0gYWRqdXN0WWVhclNlbGVjdGlvblNjcmVlbihcbiAgKHllYXIpID0+IHllYXIgLSAoeWVhciAlIDMpLFxuKTtcblxuLyoqXG4gKiBOYXZpZ2F0ZSB0byB0aGUgZW5kIG9mIHRoZSByb3cgb2YgeWVhcnMgYW5kIGRpc3BsYXkgdGhlIHllYXIgc2VsZWN0aW9uIHNjcmVlbi5cbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IHRoZSBrZXlkb3duIGV2ZW50XG4gKi9cbmNvbnN0IGhhbmRsZUVuZEZyb21ZZWFyID0gYWRqdXN0WWVhclNlbGVjdGlvblNjcmVlbihcbiAgKHllYXIpID0+IHllYXIgKyAyIC0gKHllYXIgJSAzKSxcbik7XG5cbi8qKlxuICogTmF2aWdhdGUgdG8gYmFjayAxMiB5ZWFycyBhbmQgZGlzcGxheSB0aGUgeWVhciBzZWxlY3Rpb24gc2NyZWVuLlxuICpcbiAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQgdGhlIGtleWRvd24gZXZlbnRcbiAqL1xuY29uc3QgaGFuZGxlUGFnZVVwRnJvbVllYXIgPSBhZGp1c3RZZWFyU2VsZWN0aW9uU2NyZWVuKFxuICAoeWVhcikgPT4geWVhciAtIFlFQVJfQ0hVTkssXG4pO1xuXG4vKipcbiAqIE5hdmlnYXRlIGZvcndhcmQgMTIgeWVhcnMgYW5kIGRpc3BsYXkgdGhlIHllYXIgc2VsZWN0aW9uIHNjcmVlbi5cbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IHRoZSBrZXlkb3duIGV2ZW50XG4gKi9cbmNvbnN0IGhhbmRsZVBhZ2VEb3duRnJvbVllYXIgPSBhZGp1c3RZZWFyU2VsZWN0aW9uU2NyZWVuKFxuICAoeWVhcikgPT4geWVhciArIFlFQVJfQ0hVTkssXG4pO1xuXG4vLyAjZW5kcmVnaW9uIENhbGVuZGFyIFllYXIgRXZlbnQgSGFuZGxpbmdcblxuLy8gI3JlZ2lvbiBGb2N1cyBIYW5kbGluZyBFdmVudCBIYW5kbGluZ1xuXG5jb25zdCB0YWJIYW5kbGVyID0gKGZvY3VzYWJsZSkgPT4ge1xuICBjb25zdCBnZXRGb2N1c2FibGVDb250ZXh0ID0gKGVsKSA9PiB7XG4gICAgY29uc3QgeyBjYWxlbmRhckVsIH0gPSBnZXREYXRlUGlja2VyQ29udGV4dChlbCk7XG4gICAgY29uc3QgZm9jdXNhYmxlRWxlbWVudHMgPSBzZWxlY3QoZm9jdXNhYmxlLCBjYWxlbmRhckVsKTtcblxuICAgIGNvbnN0IGZpcnN0VGFiSW5kZXggPSAwO1xuICAgIGNvbnN0IGxhc3RUYWJJbmRleCA9IGZvY3VzYWJsZUVsZW1lbnRzLmxlbmd0aCAtIDE7XG4gICAgY29uc3QgZmlyc3RUYWJTdG9wID0gZm9jdXNhYmxlRWxlbWVudHNbZmlyc3RUYWJJbmRleF07XG4gICAgY29uc3QgbGFzdFRhYlN0b3AgPSBmb2N1c2FibGVFbGVtZW50c1tsYXN0VGFiSW5kZXhdO1xuICAgIGNvbnN0IGZvY3VzSW5kZXggPSBmb2N1c2FibGVFbGVtZW50cy5pbmRleE9mKGFjdGl2ZUVsZW1lbnQoKSk7XG5cbiAgICBjb25zdCBpc0xhc3RUYWIgPSBmb2N1c0luZGV4ID09PSBsYXN0VGFiSW5kZXg7XG4gICAgY29uc3QgaXNGaXJzdFRhYiA9IGZvY3VzSW5kZXggPT09IGZpcnN0VGFiSW5kZXg7XG4gICAgY29uc3QgaXNOb3RGb3VuZCA9IGZvY3VzSW5kZXggPT09IC0xO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGZvY3VzYWJsZUVsZW1lbnRzLFxuICAgICAgaXNOb3RGb3VuZCxcbiAgICAgIGZpcnN0VGFiU3RvcCxcbiAgICAgIGlzRmlyc3RUYWIsXG4gICAgICBsYXN0VGFiU3RvcCxcbiAgICAgIGlzTGFzdFRhYixcbiAgICB9O1xuICB9O1xuXG4gIHJldHVybiB7XG4gICAgdGFiQWhlYWQoZXZlbnQpIHtcbiAgICAgIGNvbnN0IHsgZmlyc3RUYWJTdG9wLCBpc0xhc3RUYWIsIGlzTm90Rm91bmQgfSA9IGdldEZvY3VzYWJsZUNvbnRleHQoXG4gICAgICAgIGV2ZW50LnRhcmdldCxcbiAgICAgICk7XG5cbiAgICAgIGlmIChpc0xhc3RUYWIgfHwgaXNOb3RGb3VuZCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBmaXJzdFRhYlN0b3AuZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHRhYkJhY2soZXZlbnQpIHtcbiAgICAgIGNvbnN0IHsgbGFzdFRhYlN0b3AsIGlzRmlyc3RUYWIsIGlzTm90Rm91bmQgfSA9IGdldEZvY3VzYWJsZUNvbnRleHQoXG4gICAgICAgIGV2ZW50LnRhcmdldCxcbiAgICAgICk7XG5cbiAgICAgIGlmIChpc0ZpcnN0VGFiIHx8IGlzTm90Rm91bmQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgbGFzdFRhYlN0b3AuZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9LFxuICB9O1xufTtcblxuY29uc3QgZGF0ZVBpY2tlclRhYkV2ZW50SGFuZGxlciA9IHRhYkhhbmRsZXIoREFURV9QSUNLRVJfRk9DVVNBQkxFKTtcbmNvbnN0IG1vbnRoUGlja2VyVGFiRXZlbnRIYW5kbGVyID0gdGFiSGFuZGxlcihNT05USF9QSUNLRVJfRk9DVVNBQkxFKTtcbmNvbnN0IHllYXJQaWNrZXJUYWJFdmVudEhhbmRsZXIgPSB0YWJIYW5kbGVyKFlFQVJfUElDS0VSX0ZPQ1VTQUJMRSk7XG5cbi8vICNlbmRyZWdpb24gRm9jdXMgSGFuZGxpbmcgRXZlbnQgSGFuZGxpbmdcblxuLy8gI3JlZ2lvbiBEYXRlIFBpY2tlciBFdmVudCBEZWxlZ2F0aW9uIFJlZ2lzdHJhdGlvbiAvIENvbXBvbmVudFxuXG5jb25zdCBkYXRlUGlja2VyRXZlbnRzID0ge1xuICBbQ0xJQ0tdOiB7XG4gICAgW0RBVEVfUElDS0VSX0JVVFRPTl0oKSB7XG4gICAgICB0b2dnbGVDYWxlbmRhcih0aGlzKTtcbiAgICB9LFxuICAgIFtDQUxFTkRBUl9EQVRFXSgpIHtcbiAgICAgIHNlbGVjdERhdGUodGhpcyk7XG4gICAgfSxcbiAgICBbQ0FMRU5EQVJfTU9OVEhdKCkge1xuICAgICAgc2VsZWN0TW9udGgodGhpcyk7XG4gICAgfSxcbiAgICBbQ0FMRU5EQVJfWUVBUl0oKSB7XG4gICAgICBzZWxlY3RZZWFyKHRoaXMpO1xuICAgIH0sXG4gICAgW0NBTEVOREFSX1BSRVZJT1VTX01PTlRIXSgpIHtcbiAgICAgIGRpc3BsYXlQcmV2aW91c01vbnRoKHRoaXMpO1xuICAgIH0sXG4gICAgW0NBTEVOREFSX05FWFRfTU9OVEhdKCkge1xuICAgICAgZGlzcGxheU5leHRNb250aCh0aGlzKTtcbiAgICB9LFxuICAgIFtDQUxFTkRBUl9QUkVWSU9VU19ZRUFSXSgpIHtcbiAgICAgIGRpc3BsYXlQcmV2aW91c1llYXIodGhpcyk7XG4gICAgfSxcbiAgICBbQ0FMRU5EQVJfTkVYVF9ZRUFSXSgpIHtcbiAgICAgIGRpc3BsYXlOZXh0WWVhcih0aGlzKTtcbiAgICB9LFxuICAgIFtDQUxFTkRBUl9QUkVWSU9VU19ZRUFSX0NIVU5LXSgpIHtcbiAgICAgIGRpc3BsYXlQcmV2aW91c1llYXJDaHVuayh0aGlzKTtcbiAgICB9LFxuICAgIFtDQUxFTkRBUl9ORVhUX1lFQVJfQ0hVTktdKCkge1xuICAgICAgZGlzcGxheU5leHRZZWFyQ2h1bmsodGhpcyk7XG4gICAgfSxcbiAgICBbQ0FMRU5EQVJfTU9OVEhfU0VMRUNUSU9OXSgpIHtcbiAgICAgIGNvbnN0IG5ld0NhbGVuZGFyID0gZGlzcGxheU1vbnRoU2VsZWN0aW9uKHRoaXMpO1xuICAgICAgbmV3Q2FsZW5kYXIucXVlcnlTZWxlY3RvcihDQUxFTkRBUl9NT05USF9GT0NVU0VEKS5mb2N1cygpO1xuICAgIH0sXG4gICAgW0NBTEVOREFSX1lFQVJfU0VMRUNUSU9OXSgpIHtcbiAgICAgIGNvbnN0IG5ld0NhbGVuZGFyID0gZGlzcGxheVllYXJTZWxlY3Rpb24odGhpcyk7XG4gICAgICBuZXdDYWxlbmRhci5xdWVyeVNlbGVjdG9yKENBTEVOREFSX1lFQVJfRk9DVVNFRCkuZm9jdXMoKTtcbiAgICB9LFxuICB9LFxuICBrZXl1cDoge1xuICAgIFtEQVRFX1BJQ0tFUl9DQUxFTkRBUl0oZXZlbnQpIHtcbiAgICAgIGNvbnN0IGtleWRvd24gPSB0aGlzLmRhdGFzZXQua2V5ZG93bktleUNvZGU7XG4gICAgICBpZiAoYCR7ZXZlbnQua2V5Q29kZX1gICE9PSBrZXlkb3duKSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB9XG4gICAgfSxcbiAgfSxcbiAga2V5ZG93bjoge1xuICAgIFtEQVRFX1BJQ0tFUl9FWFRFUk5BTF9JTlBVVF0oZXZlbnQpIHtcbiAgICAgIGlmIChldmVudC5rZXlDb2RlID09PSBFTlRFUl9LRVlDT0RFKSB7XG4gICAgICAgIHZhbGlkYXRlRGF0ZUlucHV0KHRoaXMpO1xuICAgICAgfVxuICAgIH0sXG4gICAgW0NBTEVOREFSX0RBVEVdOiBrZXltYXAoe1xuICAgICAgVXA6IGhhbmRsZVVwRnJvbURhdGUsXG4gICAgICBBcnJvd1VwOiBoYW5kbGVVcEZyb21EYXRlLFxuICAgICAgRG93bjogaGFuZGxlRG93bkZyb21EYXRlLFxuICAgICAgQXJyb3dEb3duOiBoYW5kbGVEb3duRnJvbURhdGUsXG4gICAgICBMZWZ0OiBoYW5kbGVMZWZ0RnJvbURhdGUsXG4gICAgICBBcnJvd0xlZnQ6IGhhbmRsZUxlZnRGcm9tRGF0ZSxcbiAgICAgIFJpZ2h0OiBoYW5kbGVSaWdodEZyb21EYXRlLFxuICAgICAgQXJyb3dSaWdodDogaGFuZGxlUmlnaHRGcm9tRGF0ZSxcbiAgICAgIEhvbWU6IGhhbmRsZUhvbWVGcm9tRGF0ZSxcbiAgICAgIEVuZDogaGFuZGxlRW5kRnJvbURhdGUsXG4gICAgICBQYWdlRG93bjogaGFuZGxlUGFnZURvd25Gcm9tRGF0ZSxcbiAgICAgIFBhZ2VVcDogaGFuZGxlUGFnZVVwRnJvbURhdGUsXG4gICAgICBcIlNoaWZ0K1BhZ2VEb3duXCI6IGhhbmRsZVNoaWZ0UGFnZURvd25Gcm9tRGF0ZSxcbiAgICAgIFwiU2hpZnQrUGFnZVVwXCI6IGhhbmRsZVNoaWZ0UGFnZVVwRnJvbURhdGUsXG4gICAgICBUYWI6IGRhdGVQaWNrZXJUYWJFdmVudEhhbmRsZXIudGFiQWhlYWQsXG4gICAgfSksXG4gICAgW0NBTEVOREFSX0RBVEVfUElDS0VSXToga2V5bWFwKHtcbiAgICAgIFRhYjogZGF0ZVBpY2tlclRhYkV2ZW50SGFuZGxlci50YWJBaGVhZCxcbiAgICAgIFwiU2hpZnQrVGFiXCI6IGRhdGVQaWNrZXJUYWJFdmVudEhhbmRsZXIudGFiQmFjayxcbiAgICB9KSxcbiAgICBbQ0FMRU5EQVJfTU9OVEhdOiBrZXltYXAoe1xuICAgICAgVXA6IGhhbmRsZVVwRnJvbU1vbnRoLFxuICAgICAgQXJyb3dVcDogaGFuZGxlVXBGcm9tTW9udGgsXG4gICAgICBEb3duOiBoYW5kbGVEb3duRnJvbU1vbnRoLFxuICAgICAgQXJyb3dEb3duOiBoYW5kbGVEb3duRnJvbU1vbnRoLFxuICAgICAgTGVmdDogaGFuZGxlTGVmdEZyb21Nb250aCxcbiAgICAgIEFycm93TGVmdDogaGFuZGxlTGVmdEZyb21Nb250aCxcbiAgICAgIFJpZ2h0OiBoYW5kbGVSaWdodEZyb21Nb250aCxcbiAgICAgIEFycm93UmlnaHQ6IGhhbmRsZVJpZ2h0RnJvbU1vbnRoLFxuICAgICAgSG9tZTogaGFuZGxlSG9tZUZyb21Nb250aCxcbiAgICAgIEVuZDogaGFuZGxlRW5kRnJvbU1vbnRoLFxuICAgICAgUGFnZURvd246IGhhbmRsZVBhZ2VEb3duRnJvbU1vbnRoLFxuICAgICAgUGFnZVVwOiBoYW5kbGVQYWdlVXBGcm9tTW9udGgsXG4gICAgfSksXG4gICAgW0NBTEVOREFSX01PTlRIX1BJQ0tFUl06IGtleW1hcCh7XG4gICAgICBUYWI6IG1vbnRoUGlja2VyVGFiRXZlbnRIYW5kbGVyLnRhYkFoZWFkLFxuICAgICAgXCJTaGlmdCtUYWJcIjogbW9udGhQaWNrZXJUYWJFdmVudEhhbmRsZXIudGFiQmFjayxcbiAgICB9KSxcbiAgICBbQ0FMRU5EQVJfWUVBUl06IGtleW1hcCh7XG4gICAgICBVcDogaGFuZGxlVXBGcm9tWWVhcixcbiAgICAgIEFycm93VXA6IGhhbmRsZVVwRnJvbVllYXIsXG4gICAgICBEb3duOiBoYW5kbGVEb3duRnJvbVllYXIsXG4gICAgICBBcnJvd0Rvd246IGhhbmRsZURvd25Gcm9tWWVhcixcbiAgICAgIExlZnQ6IGhhbmRsZUxlZnRGcm9tWWVhcixcbiAgICAgIEFycm93TGVmdDogaGFuZGxlTGVmdEZyb21ZZWFyLFxuICAgICAgUmlnaHQ6IGhhbmRsZVJpZ2h0RnJvbVllYXIsXG4gICAgICBBcnJvd1JpZ2h0OiBoYW5kbGVSaWdodEZyb21ZZWFyLFxuICAgICAgSG9tZTogaGFuZGxlSG9tZUZyb21ZZWFyLFxuICAgICAgRW5kOiBoYW5kbGVFbmRGcm9tWWVhcixcbiAgICAgIFBhZ2VEb3duOiBoYW5kbGVQYWdlRG93bkZyb21ZZWFyLFxuICAgICAgUGFnZVVwOiBoYW5kbGVQYWdlVXBGcm9tWWVhcixcbiAgICB9KSxcbiAgICBbQ0FMRU5EQVJfWUVBUl9QSUNLRVJdOiBrZXltYXAoe1xuICAgICAgVGFiOiB5ZWFyUGlja2VyVGFiRXZlbnRIYW5kbGVyLnRhYkFoZWFkLFxuICAgICAgXCJTaGlmdCtUYWJcIjogeWVhclBpY2tlclRhYkV2ZW50SGFuZGxlci50YWJCYWNrLFxuICAgIH0pLFxuICAgIFtEQVRFX1BJQ0tFUl9DQUxFTkRBUl0oZXZlbnQpIHtcbiAgICAgIHRoaXMuZGF0YXNldC5rZXlkb3duS2V5Q29kZSA9IGV2ZW50LmtleUNvZGU7XG4gICAgfSxcbiAgICBbREFURV9QSUNLRVJdKGV2ZW50KSB7XG4gICAgICBjb25zdCBrZXlNYXAgPSBrZXltYXAoe1xuICAgICAgICBFc2NhcGU6IGhhbmRsZUVzY2FwZUZyb21DYWxlbmRhcixcbiAgICAgIH0pO1xuXG4gICAgICBrZXlNYXAoZXZlbnQpO1xuICAgIH0sXG4gIH0sXG4gIGZvY3Vzb3V0OiB7XG4gICAgW0RBVEVfUElDS0VSX0VYVEVSTkFMX0lOUFVUXSgpIHtcbiAgICAgIHZhbGlkYXRlRGF0ZUlucHV0KHRoaXMpO1xuICAgIH0sXG4gICAgW0RBVEVfUElDS0VSXShldmVudCkge1xuICAgICAgaWYgKCF0aGlzLmNvbnRhaW5zKGV2ZW50LnJlbGF0ZWRUYXJnZXQpKSB7XG4gICAgICAgIGhpZGVDYWxlbmRhcih0aGlzKTtcbiAgICAgIH1cbiAgICB9LFxuICB9LFxuICBpbnB1dDoge1xuICAgIFtEQVRFX1BJQ0tFUl9FWFRFUk5BTF9JTlBVVF0oKSB7XG4gICAgICByZWNvbmNpbGVJbnB1dFZhbHVlcyh0aGlzKTtcbiAgICAgIHVwZGF0ZUNhbGVuZGFySWZWaXNpYmxlKHRoaXMpO1xuICAgIH0sXG4gIH0sXG59O1xuXG5pZiAoIWlzSW9zRGV2aWNlKCkpIHtcbiAgZGF0ZVBpY2tlckV2ZW50cy5tb3VzZW92ZXIgPSB7XG4gICAgW0NBTEVOREFSX0RBVEVfQ1VSUkVOVF9NT05USF0oKSB7XG4gICAgICBoYW5kbGVNb3VzZW92ZXJGcm9tRGF0ZSh0aGlzKTtcbiAgICB9LFxuICB9O1xufVxuXG5jb25zdCBkYXRlUGlja2VyID0gYmVoYXZpb3IoZGF0ZVBpY2tlckV2ZW50cywge1xuICBpbml0KHJvb3QpIHtcbiAgICBzZWxlY3RPck1hdGNoZXMoREFURV9QSUNLRVIsIHJvb3QpLmZvckVhY2goKGRhdGVQaWNrZXJFbCkgPT4ge1xuICAgICAgZW5oYW5jZURhdGVQaWNrZXIoZGF0ZVBpY2tlckVsKTtcbiAgICB9KTtcbiAgfSxcbiAgZ2V0RGF0ZVBpY2tlckNvbnRleHQsXG4gIGRpc2FibGUsXG4gIGFyaWFEaXNhYmxlLFxuICBlbmFibGUsXG4gIGlzRGF0ZUlucHV0SW52YWxpZCxcbiAgc2V0Q2FsZW5kYXJWYWx1ZSxcbiAgdmFsaWRhdGVEYXRlSW5wdXQsXG4gIHJlbmRlckNhbGVuZGFyLFxuICB1cGRhdGVDYWxlbmRhcklmVmlzaWJsZSxcbn0pO1xuXG4vLyAjZW5kcmVnaW9uIERhdGUgUGlja2VyIEV2ZW50IERlbGVnYXRpb24gUmVnaXN0cmF0aW9uIC8gQ29tcG9uZW50XG5cbm1vZHVsZS5leHBvcnRzID0gZGF0ZVBpY2tlcjtcbiIsImNvbnN0IGJlaGF2aW9yID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL2JlaGF2aW9yXCIpO1xuY29uc3Qgc2VsZWN0ID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3NlbGVjdFwiKTtcbmNvbnN0IHNlbGVjdE9yTWF0Y2hlcyA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9zZWxlY3Qtb3ItbWF0Y2hlc1wiKTtcbmNvbnN0IHsgcHJlZml4OiBQUkVGSVggfSA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy9jb25maWdcIik7XG5jb25zdCB7XG4gIGdldERhdGVQaWNrZXJDb250ZXh0LFxuICBpc0RhdGVJbnB1dEludmFsaWQsXG4gIHVwZGF0ZUNhbGVuZGFySWZWaXNpYmxlLFxufSA9IHJlcXVpcmUoXCIuLi8uLi91c2EtZGF0ZS1waWNrZXIvc3JjL2luZGV4XCIpO1xuXG5jb25zdCBEQVRFX1BJQ0tFUl9DTEFTUyA9IGAke1BSRUZJWH0tZGF0ZS1waWNrZXJgO1xuY29uc3QgREFURV9SQU5HRV9QSUNLRVJfQ0xBU1MgPSBgJHtQUkVGSVh9LWRhdGUtcmFuZ2UtcGlja2VyYDtcbmNvbnN0IERBVEVfUkFOR0VfUElDS0VSX1JBTkdFX1NUQVJUX0NMQVNTID0gYCR7REFURV9SQU5HRV9QSUNLRVJfQ0xBU1N9X19yYW5nZS1zdGFydGA7XG5jb25zdCBEQVRFX1JBTkdFX1BJQ0tFUl9SQU5HRV9FTkRfQ0xBU1MgPSBgJHtEQVRFX1JBTkdFX1BJQ0tFUl9DTEFTU31fX3JhbmdlLWVuZGA7XG5cbmNvbnN0IERBVEVfUElDS0VSID0gYC4ke0RBVEVfUElDS0VSX0NMQVNTfWA7XG5jb25zdCBEQVRFX1JBTkdFX1BJQ0tFUiA9IGAuJHtEQVRFX1JBTkdFX1BJQ0tFUl9DTEFTU31gO1xuY29uc3QgREFURV9SQU5HRV9QSUNLRVJfUkFOR0VfU1RBUlQgPSBgLiR7REFURV9SQU5HRV9QSUNLRVJfUkFOR0VfU1RBUlRfQ0xBU1N9YDtcbmNvbnN0IERBVEVfUkFOR0VfUElDS0VSX1JBTkdFX0VORCA9IGAuJHtEQVRFX1JBTkdFX1BJQ0tFUl9SQU5HRV9FTkRfQ0xBU1N9YDtcblxuY29uc3QgREVGQVVMVF9NSU5fREFURSA9IFwiMDAwMC0wMS0wMVwiO1xuXG4vKipcbiAqIFRoZSBwcm9wZXJ0aWVzIGFuZCBlbGVtZW50cyB3aXRoaW4gdGhlIGRhdGUgcmFuZ2UgcGlja2VyLlxuICogQHR5cGVkZWYge09iamVjdH0gRGF0ZVJhbmdlUGlja2VyQ29udGV4dFxuICogQHByb3BlcnR5IHtIVE1MRWxlbWVudH0gZGF0ZVJhbmdlUGlja2VyRWxcbiAqIEBwcm9wZXJ0eSB7SFRNTEVsZW1lbnR9IHJhbmdlU3RhcnRFbFxuICogQHByb3BlcnR5IHtIVE1MRWxlbWVudH0gcmFuZ2VFbmRFbFxuICovXG5cbi8qKlxuICogR2V0IGFuIG9iamVjdCBvZiB0aGUgcHJvcGVydGllcyBhbmQgZWxlbWVudHMgYmVsb25naW5nIGRpcmVjdGx5IHRvIHRoZSBnaXZlblxuICogZGF0ZSBwaWNrZXIgY29tcG9uZW50LlxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsIHRoZSBlbGVtZW50IHdpdGhpbiB0aGUgZGF0ZSBwaWNrZXJcbiAqIEByZXR1cm5zIHtEYXRlUmFuZ2VQaWNrZXJDb250ZXh0fSBlbGVtZW50c1xuICovXG5jb25zdCBnZXREYXRlUmFuZ2VQaWNrZXJDb250ZXh0ID0gKGVsKSA9PiB7XG4gIGNvbnN0IGRhdGVSYW5nZVBpY2tlckVsID0gZWwuY2xvc2VzdChEQVRFX1JBTkdFX1BJQ0tFUik7XG5cbiAgaWYgKCFkYXRlUmFuZ2VQaWNrZXJFbCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgRWxlbWVudCBpcyBtaXNzaW5nIG91dGVyICR7REFURV9SQU5HRV9QSUNLRVJ9YCk7XG4gIH1cblxuICBjb25zdCByYW5nZVN0YXJ0RWwgPSBkYXRlUmFuZ2VQaWNrZXJFbC5xdWVyeVNlbGVjdG9yKFxuICAgIERBVEVfUkFOR0VfUElDS0VSX1JBTkdFX1NUQVJULFxuICApO1xuICBjb25zdCByYW5nZUVuZEVsID0gZGF0ZVJhbmdlUGlja2VyRWwucXVlcnlTZWxlY3RvcihcbiAgICBEQVRFX1JBTkdFX1BJQ0tFUl9SQU5HRV9FTkQsXG4gICk7XG5cbiAgcmV0dXJuIHtcbiAgICBkYXRlUmFuZ2VQaWNrZXJFbCxcbiAgICByYW5nZVN0YXJ0RWwsXG4gICAgcmFuZ2VFbmRFbCxcbiAgfTtcbn07XG5cbi8qKlxuICogaGFuZGxlIHVwZGF0ZSBmcm9tIHJhbmdlIHN0YXJ0IGRhdGUgcGlja2VyXG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWwgYW4gZWxlbWVudCB3aXRoaW4gdGhlIGRhdGUgcmFuZ2UgcGlja2VyXG4gKi9cbmNvbnN0IGhhbmRsZVJhbmdlU3RhcnRVcGRhdGUgPSAoZWwpID0+IHtcbiAgY29uc3QgeyBkYXRlUmFuZ2VQaWNrZXJFbCwgcmFuZ2VTdGFydEVsLCByYW5nZUVuZEVsIH0gPVxuICAgIGdldERhdGVSYW5nZVBpY2tlckNvbnRleHQoZWwpO1xuICBjb25zdCB7IGludGVybmFsSW5wdXRFbCB9ID0gZ2V0RGF0ZVBpY2tlckNvbnRleHQocmFuZ2VTdGFydEVsKTtcbiAgY29uc3QgdXBkYXRlZERhdGUgPSBpbnRlcm5hbElucHV0RWwudmFsdWU7XG5cbiAgaWYgKHVwZGF0ZWREYXRlICYmICFpc0RhdGVJbnB1dEludmFsaWQoaW50ZXJuYWxJbnB1dEVsKSkge1xuICAgIHJhbmdlRW5kRWwuZGF0YXNldC5taW5EYXRlID0gdXBkYXRlZERhdGU7XG4gICAgcmFuZ2VFbmRFbC5kYXRhc2V0LnJhbmdlRGF0ZSA9IHVwZGF0ZWREYXRlO1xuICAgIHJhbmdlRW5kRWwuZGF0YXNldC5kZWZhdWx0RGF0ZSA9IHVwZGF0ZWREYXRlO1xuICB9IGVsc2Uge1xuICAgIHJhbmdlRW5kRWwuZGF0YXNldC5taW5EYXRlID0gZGF0ZVJhbmdlUGlja2VyRWwuZGF0YXNldC5taW5EYXRlIHx8IFwiXCI7XG4gICAgcmFuZ2VFbmRFbC5kYXRhc2V0LnJhbmdlRGF0ZSA9IFwiXCI7XG4gICAgcmFuZ2VFbmRFbC5kYXRhc2V0LmRlZmF1bHREYXRlID0gXCJcIjtcbiAgfVxuXG4gIHVwZGF0ZUNhbGVuZGFySWZWaXNpYmxlKHJhbmdlRW5kRWwpO1xufTtcblxuLyoqXG4gKiBoYW5kbGUgdXBkYXRlIGZyb20gcmFuZ2Ugc3RhcnQgZGF0ZSBwaWNrZXJcbiAqXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBlbCBhbiBlbGVtZW50IHdpdGhpbiB0aGUgZGF0ZSByYW5nZSBwaWNrZXJcbiAqL1xuY29uc3QgaGFuZGxlUmFuZ2VFbmRVcGRhdGUgPSAoZWwpID0+IHtcbiAgY29uc3QgeyBkYXRlUmFuZ2VQaWNrZXJFbCwgcmFuZ2VTdGFydEVsLCByYW5nZUVuZEVsIH0gPVxuICAgIGdldERhdGVSYW5nZVBpY2tlckNvbnRleHQoZWwpO1xuICBjb25zdCB7IGludGVybmFsSW5wdXRFbCB9ID0gZ2V0RGF0ZVBpY2tlckNvbnRleHQocmFuZ2VFbmRFbCk7XG4gIGNvbnN0IHVwZGF0ZWREYXRlID0gaW50ZXJuYWxJbnB1dEVsLnZhbHVlO1xuXG4gIGlmICh1cGRhdGVkRGF0ZSAmJiAhaXNEYXRlSW5wdXRJbnZhbGlkKGludGVybmFsSW5wdXRFbCkpIHtcbiAgICByYW5nZVN0YXJ0RWwuZGF0YXNldC5tYXhEYXRlID0gdXBkYXRlZERhdGU7XG4gICAgcmFuZ2VTdGFydEVsLmRhdGFzZXQucmFuZ2VEYXRlID0gdXBkYXRlZERhdGU7XG4gICAgcmFuZ2VTdGFydEVsLmRhdGFzZXQuZGVmYXVsdERhdGUgPSB1cGRhdGVkRGF0ZTtcbiAgfSBlbHNlIHtcbiAgICByYW5nZVN0YXJ0RWwuZGF0YXNldC5tYXhEYXRlID0gZGF0ZVJhbmdlUGlja2VyRWwuZGF0YXNldC5tYXhEYXRlIHx8IFwiXCI7XG4gICAgcmFuZ2VTdGFydEVsLmRhdGFzZXQucmFuZ2VEYXRlID0gXCJcIjtcbiAgICByYW5nZVN0YXJ0RWwuZGF0YXNldC5kZWZhdWx0RGF0ZSA9IFwiXCI7XG4gIH1cblxuICB1cGRhdGVDYWxlbmRhcklmVmlzaWJsZShyYW5nZVN0YXJ0RWwpO1xufTtcblxuLyoqXG4gKiBFbmhhbmNlIGFuIGlucHV0IHdpdGggdGhlIGRhdGUgcGlja2VyIGVsZW1lbnRzXG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWwgVGhlIGluaXRpYWwgd3JhcHBpbmcgZWxlbWVudCBvZiB0aGUgZGF0ZSByYW5nZSBwaWNrZXIgY29tcG9uZW50XG4gKi9cbmNvbnN0IGVuaGFuY2VEYXRlUmFuZ2VQaWNrZXIgPSAoZWwpID0+IHtcbiAgY29uc3QgZGF0ZVJhbmdlUGlja2VyRWwgPSBlbC5jbG9zZXN0KERBVEVfUkFOR0VfUElDS0VSKTtcblxuICBjb25zdCBbcmFuZ2VTdGFydCwgcmFuZ2VFbmRdID0gc2VsZWN0KERBVEVfUElDS0VSLCBkYXRlUmFuZ2VQaWNrZXJFbCk7XG5cbiAgaWYgKCFyYW5nZVN0YXJ0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYCR7REFURV9SQU5HRV9QSUNLRVJ9IGlzIG1pc3NpbmcgaW5uZXIgdHdvICcke0RBVEVfUElDS0VSfScgZWxlbWVudHNgLFxuICAgICk7XG4gIH1cblxuICBpZiAoIXJhbmdlRW5kKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYCR7REFURV9SQU5HRV9QSUNLRVJ9IGlzIG1pc3Npbmcgc2Vjb25kICcke0RBVEVfUElDS0VSfScgZWxlbWVudGAsXG4gICAgKTtcbiAgfVxuXG4gIHJhbmdlU3RhcnQuY2xhc3NMaXN0LmFkZChEQVRFX1JBTkdFX1BJQ0tFUl9SQU5HRV9TVEFSVF9DTEFTUyk7XG4gIHJhbmdlRW5kLmNsYXNzTGlzdC5hZGQoREFURV9SQU5HRV9QSUNLRVJfUkFOR0VfRU5EX0NMQVNTKTtcblxuICBpZiAoIWRhdGVSYW5nZVBpY2tlckVsLmRhdGFzZXQubWluRGF0ZSkge1xuICAgIGRhdGVSYW5nZVBpY2tlckVsLmRhdGFzZXQubWluRGF0ZSA9IERFRkFVTFRfTUlOX0RBVEU7XG4gIH1cblxuICBjb25zdCB7IG1pbkRhdGUgfSA9IGRhdGVSYW5nZVBpY2tlckVsLmRhdGFzZXQ7XG4gIHJhbmdlU3RhcnQuZGF0YXNldC5taW5EYXRlID0gbWluRGF0ZTtcbiAgcmFuZ2VFbmQuZGF0YXNldC5taW5EYXRlID0gbWluRGF0ZTtcblxuICBjb25zdCB7IG1heERhdGUgfSA9IGRhdGVSYW5nZVBpY2tlckVsLmRhdGFzZXQ7XG4gIGlmIChtYXhEYXRlKSB7XG4gICAgcmFuZ2VTdGFydC5kYXRhc2V0Lm1heERhdGUgPSBtYXhEYXRlO1xuICAgIHJhbmdlRW5kLmRhdGFzZXQubWF4RGF0ZSA9IG1heERhdGU7XG4gIH1cblxuICBoYW5kbGVSYW5nZVN0YXJ0VXBkYXRlKGRhdGVSYW5nZVBpY2tlckVsKTtcbiAgaGFuZGxlUmFuZ2VFbmRVcGRhdGUoZGF0ZVJhbmdlUGlja2VyRWwpO1xufTtcblxuY29uc3QgZGF0ZVJhbmdlUGlja2VyID0gYmVoYXZpb3IoXG4gIHtcbiAgICBcImlucHV0IGNoYW5nZVwiOiB7XG4gICAgICBbREFURV9SQU5HRV9QSUNLRVJfUkFOR0VfU1RBUlRdKCkge1xuICAgICAgICBoYW5kbGVSYW5nZVN0YXJ0VXBkYXRlKHRoaXMpO1xuICAgICAgfSxcbiAgICAgIFtEQVRFX1JBTkdFX1BJQ0tFUl9SQU5HRV9FTkRdKCkge1xuICAgICAgICBoYW5kbGVSYW5nZUVuZFVwZGF0ZSh0aGlzKTtcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbiAge1xuICAgIGluaXQocm9vdCkge1xuICAgICAgc2VsZWN0T3JNYXRjaGVzKERBVEVfUkFOR0VfUElDS0VSLCByb290KS5mb3JFYWNoKChkYXRlUmFuZ2VQaWNrZXJFbCkgPT4ge1xuICAgICAgICBlbmhhbmNlRGF0ZVJhbmdlUGlja2VyKGRhdGVSYW5nZVBpY2tlckVsKTtcbiAgICAgIH0pO1xuICAgIH0sXG4gIH0sXG4pO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGRhdGVSYW5nZVBpY2tlcjtcbiIsImNvbnN0IHNlbGVjdE9yTWF0Y2hlcyA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9zZWxlY3Qtb3ItbWF0Y2hlc1wiKTtcbmNvbnN0IGJlaGF2aW9yID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL2JlaGF2aW9yXCIpO1xuY29uc3QgU2FuaXRpemVyID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3Nhbml0aXplclwiKTtcbmNvbnN0IHsgcHJlZml4OiBQUkVGSVggfSA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy9jb25maWdcIik7XG5cbmNvbnN0IERST1BaT05FX0NMQVNTID0gYCR7UFJFRklYfS1maWxlLWlucHV0YDtcbmNvbnN0IERST1BaT05FID0gYC4ke0RST1BaT05FX0NMQVNTfWA7XG5jb25zdCBJTlBVVF9DTEFTUyA9IGAke1BSRUZJWH0tZmlsZS1pbnB1dF9faW5wdXRgO1xuY29uc3QgVEFSR0VUX0NMQVNTID0gYCR7UFJFRklYfS1maWxlLWlucHV0X190YXJnZXRgO1xuY29uc3QgSU5QVVQgPSBgLiR7SU5QVVRfQ0xBU1N9YDtcbmNvbnN0IEJPWF9DTEFTUyA9IGAke1BSRUZJWH0tZmlsZS1pbnB1dF9fYm94YDtcbmNvbnN0IElOU1RSVUNUSU9OU19DTEFTUyA9IGAke1BSRUZJWH0tZmlsZS1pbnB1dF9faW5zdHJ1Y3Rpb25zYDtcbmNvbnN0IFBSRVZJRVdfQ0xBU1MgPSBgJHtQUkVGSVh9LWZpbGUtaW5wdXRfX3ByZXZpZXdgO1xuY29uc3QgUFJFVklFV19IRUFESU5HX0NMQVNTID0gYCR7UFJFRklYfS1maWxlLWlucHV0X19wcmV2aWV3LWhlYWRpbmdgO1xuY29uc3QgRElTQUJMRURfQ0xBU1MgPSBgJHtQUkVGSVh9LWZpbGUtaW5wdXQtLWRpc2FibGVkYDtcbmNvbnN0IENIT09TRV9DTEFTUyA9IGAke1BSRUZJWH0tZmlsZS1pbnB1dF9fY2hvb3NlYDtcbmNvbnN0IEFDQ0VQVEVEX0ZJTEVfTUVTU0FHRV9DTEFTUyA9IGAke1BSRUZJWH0tZmlsZS1pbnB1dF9fYWNjZXB0ZWQtZmlsZXMtbWVzc2FnZWA7XG5jb25zdCBEUkFHX1RFWFRfQ0xBU1MgPSBgJHtQUkVGSVh9LWZpbGUtaW5wdXRfX2RyYWctdGV4dGA7XG5jb25zdCBEUkFHX0NMQVNTID0gYCR7UFJFRklYfS1maWxlLWlucHV0LS1kcmFnYDtcbmNvbnN0IExPQURJTkdfQ0xBU1MgPSBcImlzLWxvYWRpbmdcIjtcbmNvbnN0IElOVkFMSURfRklMRV9DTEFTUyA9IFwiaGFzLWludmFsaWQtZmlsZVwiO1xuY29uc3QgR0VORVJJQ19QUkVWSUVXX0NMQVNTX05BTUUgPSBgJHtQUkVGSVh9LWZpbGUtaW5wdXRfX3ByZXZpZXctaW1hZ2VgO1xuY29uc3QgR0VORVJJQ19QUkVWSUVXX0NMQVNTID0gYCR7R0VORVJJQ19QUkVWSUVXX0NMQVNTX05BTUV9LS1nZW5lcmljYDtcbmNvbnN0IFBERl9QUkVWSUVXX0NMQVNTID0gYCR7R0VORVJJQ19QUkVWSUVXX0NMQVNTX05BTUV9LS1wZGZgO1xuY29uc3QgV09SRF9QUkVWSUVXX0NMQVNTID0gYCR7R0VORVJJQ19QUkVWSUVXX0NMQVNTX05BTUV9LS13b3JkYDtcbmNvbnN0IFZJREVPX1BSRVZJRVdfQ0xBU1MgPSBgJHtHRU5FUklDX1BSRVZJRVdfQ0xBU1NfTkFNRX0tLXZpZGVvYDtcbmNvbnN0IEVYQ0VMX1BSRVZJRVdfQ0xBU1MgPSBgJHtHRU5FUklDX1BSRVZJRVdfQ0xBU1NfTkFNRX0tLWV4Y2VsYDtcbmNvbnN0IFNSX09OTFlfQ0xBU1MgPSBgJHtQUkVGSVh9LXNyLW9ubHlgO1xuY29uc3QgU1BBQ0VSX0dJRiA9XG4gIFwiZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQUFBQVAvLy95SDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUJSQUE3XCI7XG5jb25zdCBERUZBVUxUX0VSUk9SX0xBQkVMX1RFWFQgPSBcIkVycm9yOiBUaGlzIGlzIG5vdCBhIHZhbGlkIGZpbGUgdHlwZS5cIjtcblxubGV0IFRZUEVfSVNfVkFMSUQgPSBCb29sZWFuKHRydWUpOyAvLyBsb2dpYyBnYXRlIGZvciBjaGFuZ2UgbGlzdGVuZXJcbmxldCBERUZBVUxUX0FSSUFfTEFCRUxfVEVYVCA9IFwiXCI7XG5sZXQgREVGQVVMVF9GSUxFX1NUQVRVU19URVhUID0gXCJcIjtcblxuLyoqXG4gKiBUaGUgcHJvcGVydGllcyBhbmQgZWxlbWVudHMgd2l0aGluIHRoZSBmaWxlIGlucHV0LlxuICogQHR5cGVkZWYge09iamVjdH0gRmlsZUlucHV0Q29udGV4dFxuICogQHByb3BlcnR5IHtIVE1MRGl2RWxlbWVudH0gZHJvcFpvbmVFbFxuICogQHByb3BlcnR5IHtIVE1MSW5wdXRFbGVtZW50fSBpbnB1dEVsXG4gKi9cblxuLyoqXG4gKiBHZXQgYW4gb2JqZWN0IG9mIHRoZSBwcm9wZXJ0aWVzIGFuZCBlbGVtZW50cyBiZWxvbmdpbmcgZGlyZWN0bHkgdG8gdGhlIGdpdmVuXG4gKiBmaWxlIGlucHV0IGNvbXBvbmVudC5cbiAqXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBlbCB0aGUgZWxlbWVudCB3aXRoaW4gdGhlIGZpbGUgaW5wdXRcbiAqIEByZXR1cm5zIHtGaWxlSW5wdXRDb250ZXh0fSBlbGVtZW50c1xuICovXG5jb25zdCBnZXRGaWxlSW5wdXRDb250ZXh0ID0gKGVsKSA9PiB7XG4gIGNvbnN0IGRyb3Bab25lRWwgPSBlbC5jbG9zZXN0KERST1BaT05FKTtcblxuICBpZiAoIWRyb3Bab25lRWwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEVsZW1lbnQgaXMgbWlzc2luZyBvdXRlciAke0RST1BaT05FfWApO1xuICB9XG5cbiAgY29uc3QgaW5wdXRFbCA9IGRyb3Bab25lRWwucXVlcnlTZWxlY3RvcihJTlBVVCk7XG5cbiAgcmV0dXJuIHtcbiAgICBkcm9wWm9uZUVsLFxuICAgIGlucHV0RWwsXG4gIH07XG59O1xuXG4vKipcbiAqIERpc2FibGUgdGhlIGZpbGUgaW5wdXQgY29tcG9uZW50XG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWwgQW4gZWxlbWVudCB3aXRoaW4gdGhlIGZpbGUgaW5wdXQgY29tcG9uZW50XG4gKi9cbmNvbnN0IGRpc2FibGUgPSAoZWwpID0+IHtcbiAgY29uc3QgeyBkcm9wWm9uZUVsLCBpbnB1dEVsIH0gPSBnZXRGaWxlSW5wdXRDb250ZXh0KGVsKTtcblxuICBpbnB1dEVsLmRpc2FibGVkID0gdHJ1ZTtcbiAgZHJvcFpvbmVFbC5jbGFzc0xpc3QuYWRkKERJU0FCTEVEX0NMQVNTKTtcbn07XG5cbi8qKlxuICogU2V0IGFyaWEtZGlzYWJsZWQgYXR0cmlidXRlIHRvIGZpbGUgaW5wdXQgY29tcG9uZW50XG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWwgQW4gZWxlbWVudCB3aXRoaW4gdGhlIGZpbGUgaW5wdXQgY29tcG9uZW50XG4gKi9cbmNvbnN0IGFyaWFEaXNhYmxlID0gKGVsKSA9PiB7XG4gIGNvbnN0IHsgZHJvcFpvbmVFbCB9ID0gZ2V0RmlsZUlucHV0Q29udGV4dChlbCk7XG5cbiAgZHJvcFpvbmVFbC5jbGFzc0xpc3QuYWRkKERJU0FCTEVEX0NMQVNTKTtcbn07XG5cbi8qKlxuICogRW5hYmxlIHRoZSBmaWxlIGlucHV0IGNvbXBvbmVudFxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsIEFuIGVsZW1lbnQgd2l0aGluIHRoZSBmaWxlIGlucHV0IGNvbXBvbmVudFxuICovXG5jb25zdCBlbmFibGUgPSAoZWwpID0+IHtcbiAgY29uc3QgeyBkcm9wWm9uZUVsLCBpbnB1dEVsIH0gPSBnZXRGaWxlSW5wdXRDb250ZXh0KGVsKTtcblxuICBpbnB1dEVsLmRpc2FibGVkID0gZmFsc2U7XG4gIGRyb3Bab25lRWwuY2xhc3NMaXN0LnJlbW92ZShESVNBQkxFRF9DTEFTUyk7XG4gIGRyb3Bab25lRWwucmVtb3ZlQXR0cmlidXRlKFwiYXJpYS1kaXNhYmxlZFwiKTtcbn07XG5cbi8qKlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBzIHNwZWNpYWwgY2hhcmFjdGVyc1xuICogQHJldHVybnMge1N0cmluZ30gcmVwbGFjZXMgc3BlY2lmaWVkIHZhbHVlc1xuICovXG5jb25zdCByZXBsYWNlTmFtZSA9IChzKSA9PiB7XG4gIGNvbnN0IGMgPSBzLmNoYXJDb2RlQXQoMCk7XG4gIGlmIChjID09PSAzMikgcmV0dXJuIFwiLVwiO1xuICBpZiAoYyA+PSA2NSAmJiBjIDw9IDkwKSByZXR1cm4gYGltZ18ke3MudG9Mb3dlckNhc2UoKX1gO1xuICByZXR1cm4gYF9fJHsoXCIwMDBcIiwgYy50b1N0cmluZygxNikpLnNsaWNlKC00KX1gO1xufTtcblxuLyoqXG4gKiBDcmVhdGVzIGFuIElEIG5hbWUgZm9yIGVhY2ggZmlsZSB0aGF0IHN0cmlwcyBhbGwgaW52YWxpZCBjaGFyYWN0ZXJzLlxuICogQHBhcmFtIHtTdHJpbmd9IG5hbWUgLSBuYW1lIG9mIHRoZSBmaWxlIGFkZGVkIHRvIGZpbGUgaW5wdXQgKHNlYXJjaHZhbHVlKVxuICogQHJldHVybnMge1N0cmluZ30gc2FtZSBjaGFyYWN0ZXJzIGFzIHRoZSBuYW1lIHdpdGggaW52YWxpZCBjaGFycyByZW1vdmVkIChuZXd2YWx1ZSlcbiAqL1xuY29uc3QgbWFrZVNhZmVGb3JJRCA9IChuYW1lKSA9PiBuYW1lLnJlcGxhY2UoL1teYS16MC05XS9nLCByZXBsYWNlTmFtZSk7XG5cbi8vIFRha2VzIGEgZ2VuZXJhdGVkIHNhZmUgSUQgYW5kIGNyZWF0ZXMgYSB1bmlxdWUgSUQuXG5jb25zdCBjcmVhdGVVbmlxdWVJRCA9IChuYW1lKSA9PlxuICBgJHtuYW1lfS0ke01hdGguZmxvb3IoRGF0ZS5ub3coKS50b1N0cmluZygpIC8gMTAwMCl9YDtcblxuLyoqXG4gKiBEZXRlcm1pbmVzIGlmIHRoZSBzaW5ndWxhciBvciBwbHVyYWwgaXRlbSBsYWJlbCBzaG91bGQgYmUgdXNlZFxuICogRGV0ZXJtaW5hdGlvbiBpcyBiYXNlZCBvbiB0aGUgcHJlc2VuY2Ugb2YgdGhlIGBtdWx0aXBsZWAgYXR0cmlidXRlXG4gKlxuICogQHBhcmFtIHtIVE1MSW5wdXRFbGVtZW50fSBmaWxlSW5wdXRFbCAtIFRoZSBpbnB1dCBlbGVtZW50LlxuICogQHJldHVybnMge0hUTUxEaXZFbGVtZW50fSBUaGUgc2luZ3VsYXIgb3IgcGx1cmFsIHZlcnNpb24gb2YgXCJpdGVtXCJcbiAqL1xuY29uc3QgZ2V0SXRlbXNMYWJlbCA9IChmaWxlSW5wdXRFbCkgPT4ge1xuICBjb25zdCBhY2NlcHRzTXVsdGlwbGUgPSBmaWxlSW5wdXRFbC5oYXNBdHRyaWJ1dGUoXCJtdWx0aXBsZVwiKTtcbiAgY29uc3QgaXRlbXNMYWJlbCA9IGFjY2VwdHNNdWx0aXBsZSA/IFwiZmlsZXNcIiA6IFwiZmlsZVwiO1xuXG4gIHJldHVybiBpdGVtc0xhYmVsO1xufTtcblxuLyoqXG4gKiBTY2FmZm9sZCB0aGUgZmlsZSBpbnB1dCBjb21wb25lbnQgd2l0aCBhIHBhcmVudCB3cmFwcGVyIGFuZFxuICogQ3JlYXRlIGEgdGFyZ2V0IGFyZWEgb3ZlcmxheSBmb3IgZHJhZyBhbmQgZHJvcCBmdW5jdGlvbmFsaXR5XG4gKlxuICogQHBhcmFtIHtIVE1MSW5wdXRFbGVtZW50fSBmaWxlSW5wdXRFbCAtIFRoZSBpbnB1dCBlbGVtZW50LlxuICogQHJldHVybnMge0hUTUxEaXZFbGVtZW50fSBUaGUgZHJhZyBhbmQgZHJvcCB0YXJnZXQgYXJlYS5cbiAqL1xuY29uc3QgY3JlYXRlVGFyZ2V0QXJlYSA9IChmaWxlSW5wdXRFbCkgPT4ge1xuICBjb25zdCBmaWxlSW5wdXRQYXJlbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xuICBjb25zdCBkcm9wVGFyZ2V0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgY29uc3QgYm94ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcblxuICAvLyBBZGRzIGNsYXNzIG5hbWVzIGFuZCBvdGhlciBhdHRyaWJ1dGVzXG4gIGZpbGVJbnB1dEVsLmNsYXNzTGlzdC5yZW1vdmUoRFJPUFpPTkVfQ0xBU1MpO1xuICBmaWxlSW5wdXRFbC5jbGFzc0xpc3QuYWRkKElOUFVUX0NMQVNTKTtcbiAgZmlsZUlucHV0UGFyZW50LmNsYXNzTGlzdC5hZGQoRFJPUFpPTkVfQ0xBU1MpO1xuICBib3guY2xhc3NMaXN0LmFkZChCT1hfQ0xBU1MpO1xuICBkcm9wVGFyZ2V0LmNsYXNzTGlzdC5hZGQoVEFSR0VUX0NMQVNTKTtcblxuICAvLyBBZGRzIGNoaWxkIGVsZW1lbnRzIHRvIHRoZSBET01cbiAgZHJvcFRhcmdldC5wcmVwZW5kKGJveCk7XG4gIGZpbGVJbnB1dEVsLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGRyb3BUYXJnZXQsIGZpbGVJbnB1dEVsKTtcbiAgZmlsZUlucHV0RWwucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZmlsZUlucHV0UGFyZW50LCBkcm9wVGFyZ2V0KTtcbiAgZHJvcFRhcmdldC5hcHBlbmRDaGlsZChmaWxlSW5wdXRFbCk7XG4gIGZpbGVJbnB1dFBhcmVudC5hcHBlbmRDaGlsZChkcm9wVGFyZ2V0KTtcblxuICByZXR1cm4gZHJvcFRhcmdldDtcbn07XG5cbi8qKlxuICogQnVpbGQgdGhlIHZpc2libGUgZWxlbWVudCB3aXRoIGRlZmF1bHQgaW50ZXJhY3Rpb24gaW5zdHJ1Y3Rpb25zLlxuICpcbiAqIEBwYXJhbSB7SFRNTElucHV0RWxlbWVudH0gZmlsZUlucHV0RWwgLSBUaGUgaW5wdXQgZWxlbWVudC5cbiAqIEByZXR1cm5zIHtIVE1MRGl2RWxlbWVudH0gVGhlIGNvbnRhaW5lciBmb3IgdmlzaWJsZSBpbnRlcmFjdGlvbiBpbnN0cnVjdGlvbnMuXG4gKi9cbmNvbnN0IGNyZWF0ZVZpc2libGVJbnN0cnVjdGlvbnMgPSAoZmlsZUlucHV0RWwpID0+IHtcbiAgY29uc3QgZmlsZUlucHV0UGFyZW50ID0gZmlsZUlucHV0RWwuY2xvc2VzdChEUk9QWk9ORSk7XG4gIGNvbnN0IGl0ZW1zTGFiZWwgPSBnZXRJdGVtc0xhYmVsKGZpbGVJbnB1dEVsKTtcbiAgY29uc3QgaW5zdHJ1Y3Rpb25zID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgY29uc3QgZHJhZ1RleHQgPSBgRHJhZyAke2l0ZW1zTGFiZWx9IGhlcmUgb3JgO1xuICBjb25zdCBjaG9vc2VUZXh0ID0gXCJjaG9vc2UgZnJvbSBmb2xkZXJcIjtcblxuICAvLyBDcmVhdGUgaW5zdHJ1Y3Rpb25zIHRleHQgZm9yIGFyaWEtbGFiZWxcbiAgREVGQVVMVF9BUklBX0xBQkVMX1RFWFQgPSBgJHtkcmFnVGV4dH0gJHtjaG9vc2VUZXh0fWA7XG5cbiAgLy8gQWRkcyBjbGFzcyBuYW1lcyBhbmQgb3RoZXIgYXR0cmlidXRlc1xuICBpbnN0cnVjdGlvbnMuY2xhc3NMaXN0LmFkZChJTlNUUlVDVElPTlNfQ0xBU1MpO1xuICBpbnN0cnVjdGlvbnMuc2V0QXR0cmlidXRlKFwiYXJpYS1oaWRkZW5cIiwgXCJ0cnVlXCIpO1xuXG4gIC8vIEFkZCBpbml0aWFsIGluc3RydWN0aW9ucyBmb3IgaW5wdXQgdXNhZ2VcbiAgZmlsZUlucHV0RWwuc2V0QXR0cmlidXRlKFwiYXJpYS1sYWJlbFwiLCBERUZBVUxUX0FSSUFfTEFCRUxfVEVYVCk7XG4gIGluc3RydWN0aW9ucy5pbm5lckhUTUwgPSBTYW5pdGl6ZXIuZXNjYXBlSFRNTGA8c3BhbiBjbGFzcz1cIiR7RFJBR19URVhUX0NMQVNTfVwiPiR7ZHJhZ1RleHR9PC9zcGFuPiA8c3BhbiBjbGFzcz1cIiR7Q0hPT1NFX0NMQVNTfVwiPiR7Y2hvb3NlVGV4dH08L3NwYW4+YDtcblxuICAvLyBBZGQgdGhlIGluc3RydWN0aW9ucyBlbGVtZW50IHRvIHRoZSBET01cbiAgZmlsZUlucHV0RWwucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoaW5zdHJ1Y3Rpb25zLCBmaWxlSW5wdXRFbCk7XG5cbiAgLy8gSUUxMSBhbmQgRWRnZSBkbyBub3Qgc3VwcG9ydCBkcm9wIGZpbGVzIG9uIGZpbGUgaW5wdXRzLCBzbyB3ZSd2ZSByZW1vdmVkIHRleHQgdGhhdCBpbmRpY2F0ZXMgdGhhdFxuICBpZiAoXG4gICAgL3J2OjExLjAvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpIHx8XG4gICAgL0VkZ2VcXC9cXGQuL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KVxuICApIHtcbiAgICBmaWxlSW5wdXRQYXJlbnQucXVlcnlTZWxlY3RvcihgLiR7RFJBR19URVhUX0NMQVNTfWApLm91dGVySFRNTCA9IFwiXCI7XG4gIH1cblxuICByZXR1cm4gaW5zdHJ1Y3Rpb25zO1xufTtcblxuLyoqXG4gKiBCdWlsZCBhIHNjcmVlbiByZWFkZXItb25seSBtZXNzYWdlIGVsZW1lbnQgdGhhdCBjb250YWlucyBmaWxlIHN0YXR1cyB1cGRhdGVzIGFuZFxuICogQ3JlYXRlIGFuZCBzZXQgdGhlIGRlZmF1bHQgZmlsZSBzdGF0dXMgbWVzc2FnZVxuICpcbiAqIEBwYXJhbSB7SFRNTElucHV0RWxlbWVudH0gZmlsZUlucHV0RWwgLSBUaGUgaW5wdXQgZWxlbWVudC5cbiAqL1xuY29uc3QgY3JlYXRlU1JPbmx5U3RhdHVzID0gKGZpbGVJbnB1dEVsKSA9PiB7XG4gIGNvbnN0IHN0YXR1c0VsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgY29uc3QgaXRlbXNMYWJlbCA9IGdldEl0ZW1zTGFiZWwoZmlsZUlucHV0RWwpO1xuICBjb25zdCBmaWxlSW5wdXRQYXJlbnQgPSBmaWxlSW5wdXRFbC5jbG9zZXN0KERST1BaT05FKTtcbiAgY29uc3QgZmlsZUlucHV0VGFyZ2V0ID0gZmlsZUlucHV0RWwuY2xvc2VzdChgLiR7VEFSR0VUX0NMQVNTfWApO1xuXG4gIERFRkFVTFRfRklMRV9TVEFUVVNfVEVYVCA9IGBObyAke2l0ZW1zTGFiZWx9IHNlbGVjdGVkLmA7XG5cbiAgLy8gQWRkcyBjbGFzcyBuYW1lcyBhbmQgb3RoZXIgYXR0cmlidXRlc1xuICBzdGF0dXNFbC5jbGFzc0xpc3QuYWRkKFNSX09OTFlfQ0xBU1MpO1xuICBzdGF0dXNFbC5zZXRBdHRyaWJ1dGUoXCJhcmlhLWxpdmVcIiwgXCJwb2xpdGVcIik7XG5cbiAgLy8gQWRkIGluaXRpYWwgZmlsZSBzdGF0dXMgbWVzc2FnZVxuICBzdGF0dXNFbC50ZXh0Q29udGVudCA9IERFRkFVTFRfRklMRV9TVEFUVVNfVEVYVDtcblxuICAvLyBBZGQgdGhlIHN0YXR1cyBlbGVtZW50IHRvIHRoZSBET01cbiAgZmlsZUlucHV0UGFyZW50Lmluc2VydEJlZm9yZShzdGF0dXNFbCwgZmlsZUlucHV0VGFyZ2V0KTtcbn07XG5cbi8qKlxuICogU2NhZmZvbGQgdGhlIGNvbXBvbmVudCB3aXRoIGFsbCByZXF1aXJlZCBlbGVtZW50c1xuICpcbiAqIEBwYXJhbSB7SFRNTElucHV0RWxlbWVudH0gZmlsZUlucHV0RWwgLSBUaGUgb3JpZ2luYWwgaW5wdXQgZWxlbWVudC5cbiAqL1xuY29uc3QgZW5oYW5jZUZpbGVJbnB1dCA9IChmaWxlSW5wdXRFbCkgPT4ge1xuICBjb25zdCBpc0lucHV0RGlzYWJsZWQgPVxuICAgIGZpbGVJbnB1dEVsLmhhc0F0dHJpYnV0ZShcImFyaWEtZGlzYWJsZWRcIikgfHxcbiAgICBmaWxlSW5wdXRFbC5oYXNBdHRyaWJ1dGUoXCJkaXNhYmxlZFwiKTtcbiAgY29uc3QgZHJvcFRhcmdldCA9IGNyZWF0ZVRhcmdldEFyZWEoZmlsZUlucHV0RWwpO1xuICBjb25zdCBpbnN0cnVjdGlvbnMgPSBjcmVhdGVWaXNpYmxlSW5zdHJ1Y3Rpb25zKGZpbGVJbnB1dEVsKTtcbiAgY29uc3QgeyBkcm9wWm9uZUVsIH0gPSBnZXRGaWxlSW5wdXRDb250ZXh0KGZpbGVJbnB1dEVsKTtcblxuICBpZiAoaXNJbnB1dERpc2FibGVkKSB7XG4gICAgZHJvcFpvbmVFbC5jbGFzc0xpc3QuYWRkKERJU0FCTEVEX0NMQVNTKTtcbiAgfSBlbHNlIHtcbiAgICBjcmVhdGVTUk9ubHlTdGF0dXMoZmlsZUlucHV0RWwpO1xuICB9XG5cbiAgcmV0dXJuIHsgaW5zdHJ1Y3Rpb25zLCBkcm9wVGFyZ2V0IH07XG59O1xuXG4vKipcbiAqIFJlbW92ZXMgaW1hZ2UgcHJldmlld3NcbiAqIFdlIHdhbnQgdG8gc3RhcnQgd2l0aCBhIGNsZWFuIGxpc3QgZXZlcnkgdGltZSBmaWxlcyBhcmUgYWRkZWQgdG8gdGhlIGZpbGUgaW5wdXRcbiAqXG4gKiBAcGFyYW0ge0hUTUxEaXZFbGVtZW50fSBkcm9wVGFyZ2V0IC0gVGhlIGRyYWcgYW5kIGRyb3AgdGFyZ2V0IGFyZWEuXG4gKiBAcGFyYW0ge0hUTUxEaXZFbGVtZW50fSBpbnN0cnVjdGlvbnMgLSBUaGUgY29udGFpbmVyIGZvciB2aXNpYmxlIGludGVyYWN0aW9uIGluc3RydWN0aW9ucy5cbiAqL1xuY29uc3QgcmVtb3ZlT2xkUHJldmlld3MgPSAoZHJvcFRhcmdldCwgaW5zdHJ1Y3Rpb25zKSA9PiB7XG4gIGNvbnN0IGZpbGVQcmV2aWV3cyA9IGRyb3BUYXJnZXQucXVlcnlTZWxlY3RvckFsbChgLiR7UFJFVklFV19DTEFTU31gKTtcbiAgY29uc3QgY3VycmVudFByZXZpZXdIZWFkaW5nID0gZHJvcFRhcmdldC5xdWVyeVNlbGVjdG9yKFxuICAgIGAuJHtQUkVWSUVXX0hFQURJTkdfQ0xBU1N9YCxcbiAgKTtcbiAgY29uc3QgY3VycmVudEVycm9yTWVzc2FnZSA9IGRyb3BUYXJnZXQucXVlcnlTZWxlY3RvcihcbiAgICBgLiR7QUNDRVBURURfRklMRV9NRVNTQUdFX0NMQVNTfWAsXG4gICk7XG5cbiAgLyoqXG4gICAqIGZpbmRzIHRoZSBwYXJlbnQgb2YgdGhlIHBhc3NlZCBub2RlIGFuZCByZW1vdmVzIHRoZSBjaGlsZFxuICAgKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBub2RlXG4gICAqL1xuICBjb25zdCByZW1vdmVJbWFnZXMgPSAobm9kZSkgPT4ge1xuICAgIG5vZGUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChub2RlKTtcbiAgfTtcblxuICAvLyBSZW1vdmUgdGhlIGhlYWRpbmcgYWJvdmUgdGhlIHByZXZpZXdzXG4gIGlmIChjdXJyZW50UHJldmlld0hlYWRpbmcpIHtcbiAgICBjdXJyZW50UHJldmlld0hlYWRpbmcub3V0ZXJIVE1MID0gXCJcIjtcbiAgfVxuXG4gIC8vIFJlbW92ZSBleGlzdGluZyBlcnJvciBtZXNzYWdlc1xuICBpZiAoY3VycmVudEVycm9yTWVzc2FnZSkge1xuICAgIGN1cnJlbnRFcnJvck1lc3NhZ2Uub3V0ZXJIVE1MID0gXCJcIjtcbiAgICBkcm9wVGFyZ2V0LmNsYXNzTGlzdC5yZW1vdmUoSU5WQUxJRF9GSUxFX0NMQVNTKTtcbiAgfVxuXG4gIC8vIEdldCByaWQgb2YgZXhpc3RpbmcgcHJldmlld3MgaWYgdGhleSBleGlzdCwgc2hvdyBpbnN0cnVjdGlvbnNcbiAgaWYgKGZpbGVQcmV2aWV3cyAhPT0gbnVsbCkge1xuICAgIGlmIChpbnN0cnVjdGlvbnMpIHtcbiAgICAgIGluc3RydWN0aW9ucy5yZW1vdmVBdHRyaWJ1dGUoXCJoaWRkZW5cIik7XG4gICAgfVxuICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoZmlsZVByZXZpZXdzLCByZW1vdmVJbWFnZXMpO1xuICB9XG59O1xuXG4vKipcbiAqIFVwZGF0ZSB0aGUgc2NyZWVuIHJlYWRlci1vbmx5IHN0YXR1cyBtZXNzYWdlIGFmdGVyIGludGVyYWN0aW9uXG4gKlxuICogQHBhcmFtIHtIVE1MRGl2RWxlbWVudH0gc3RhdHVzRWxlbWVudCAtIFRoZSBzY3JlZW4gcmVhZGVyLW9ubHkgY29udGFpbmVyIGZvciBmaWxlIHN0YXR1cyB1cGRhdGVzLlxuICogQHBhcmFtIHtPYmplY3R9IGZpbGVOYW1lcyAtIFRoZSBzZWxlY3RlZCBmaWxlcyBmb3VuZCBpbiB0aGUgZmlsZUxpc3Qgb2JqZWN0LlxuICogQHBhcmFtIHtBcnJheX0gZmlsZVN0b3JlIC0gVGhlIGFycmF5IG9mIHVwbG9hZGVkIGZpbGUgbmFtZXMgY3JlYXRlZCBmcm9tIHRoZSBmaWxlTmFtZXMgb2JqZWN0LlxuICovXG5jb25zdCB1cGRhdGVTdGF0dXNNZXNzYWdlID0gKHN0YXR1c0VsZW1lbnQsIGZpbGVOYW1lcywgZmlsZVN0b3JlKSA9PiB7XG4gIGNvbnN0IHN0YXR1c0VsID0gc3RhdHVzRWxlbWVudDtcbiAgbGV0IHN0YXR1c01lc3NhZ2UgPSBERUZBVUxUX0ZJTEVfU1RBVFVTX1RFWFQ7XG5cbiAgLy8gSWYgZmlsZXMgYWRkZWQsIHVwZGF0ZSB0aGUgc3RhdHVzIG1lc3NhZ2Ugd2l0aCBmaWxlIG5hbWUocylcbiAgaWYgKGZpbGVOYW1lcy5sZW5ndGggPT09IDEpIHtcbiAgICBzdGF0dXNNZXNzYWdlID0gYFlvdSBoYXZlIHNlbGVjdGVkIHRoZSBmaWxlOiAke2ZpbGVTdG9yZX1gO1xuICB9IGVsc2UgaWYgKGZpbGVOYW1lcy5sZW5ndGggPiAxKSB7XG4gICAgc3RhdHVzTWVzc2FnZSA9IGBZb3UgaGF2ZSBzZWxlY3RlZCAke1xuICAgICAgZmlsZU5hbWVzLmxlbmd0aFxuICAgIH0gZmlsZXM6ICR7ZmlsZVN0b3JlLmpvaW4oXCIsIFwiKX1gO1xuICB9XG5cbiAgLy8gQWRkIGRlbGF5IHRvIGVuY291cmFnZSBzY3JlZW4gcmVhZGVyIHJlYWRvdXRcbiAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgc3RhdHVzRWwudGV4dENvbnRlbnQgPSBzdGF0dXNNZXNzYWdlO1xuICB9LCAxMDAwKTtcbn07XG5cbi8qKlxuICogU2hvdyB0aGUgcHJldmlldyBoZWFkaW5nLCBoaWRlIHRoZSBpbml0aWFsIGluc3RydWN0aW9ucyBhbmRcbiAqIFVwZGF0ZSB0aGUgYXJpYS1sYWJlbCB3aXRoIG5ldyBpbnN0cnVjdGlvbnMgdGV4dFxuICpcbiAqIEBwYXJhbSB7SFRNTElucHV0RWxlbWVudH0gZmlsZUlucHV0RWwgLSBUaGUgaW5wdXQgZWxlbWVudC5cbiAqIEBwYXJhbSB7T2JqZWN0fSBmaWxlTmFtZXMgLSBUaGUgc2VsZWN0ZWQgZmlsZXMgZm91bmQgaW4gdGhlIGZpbGVMaXN0IG9iamVjdC5cbiAqL1xuY29uc3QgYWRkUHJldmlld0hlYWRpbmcgPSAoZmlsZUlucHV0RWwsIGZpbGVOYW1lcykgPT4ge1xuICBjb25zdCBmaWxlUHJldmlld3NIZWFkaW5nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgY29uc3QgZHJvcFRhcmdldCA9IGZpbGVJbnB1dEVsLmNsb3Nlc3QoYC4ke1RBUkdFVF9DTEFTU31gKTtcbiAgY29uc3QgaW5zdHJ1Y3Rpb25zID0gZHJvcFRhcmdldC5xdWVyeVNlbGVjdG9yKGAuJHtJTlNUUlVDVElPTlNfQ0xBU1N9YCk7XG4gIGxldCBjaGFuZ2VJdGVtVGV4dCA9IFwiQ2hhbmdlIGZpbGVcIjtcbiAgbGV0IHByZXZpZXdIZWFkaW5nVGV4dCA9IFwiXCI7XG5cbiAgaWYgKGZpbGVOYW1lcy5sZW5ndGggPT09IDEpIHtcbiAgICBwcmV2aWV3SGVhZGluZ1RleHQgPSBTYW5pdGl6ZXIuZXNjYXBlSFRNTGBTZWxlY3RlZCBmaWxlIDxzcGFuIGNsYXNzPVwidXNhLWZpbGUtaW5wdXRfX2Nob29zZVwiPiR7Y2hhbmdlSXRlbVRleHR9PC9zcGFuPmA7XG4gIH0gZWxzZSBpZiAoZmlsZU5hbWVzLmxlbmd0aCA+IDEpIHtcbiAgICBjaGFuZ2VJdGVtVGV4dCA9IFwiQ2hhbmdlIGZpbGVzXCI7XG4gICAgcHJldmlld0hlYWRpbmdUZXh0ID0gU2FuaXRpemVyLmVzY2FwZUhUTUxgJHtmaWxlTmFtZXMubGVuZ3RofSBmaWxlcyBzZWxlY3RlZCA8c3BhbiBjbGFzcz1cInVzYS1maWxlLWlucHV0X19jaG9vc2VcIj4ke2NoYW5nZUl0ZW1UZXh0fTwvc3Bhbj5gO1xuICB9XG5cbiAgLy8gSGlkZXMgbnVsbCBzdGF0ZSBjb250ZW50IGFuZCBzZXRzIHByZXZpZXcgaGVhZGluZ1xuICBpbnN0cnVjdGlvbnMuc2V0QXR0cmlidXRlKFwiaGlkZGVuXCIsIFwidHJ1ZVwiKTtcbiAgZmlsZVByZXZpZXdzSGVhZGluZy5jbGFzc0xpc3QuYWRkKFBSRVZJRVdfSEVBRElOR19DTEFTUyk7XG4gIGZpbGVQcmV2aWV3c0hlYWRpbmcuaW5uZXJIVE1MID0gcHJldmlld0hlYWRpbmdUZXh0O1xuICBkcm9wVGFyZ2V0Lmluc2VydEJlZm9yZShmaWxlUHJldmlld3NIZWFkaW5nLCBpbnN0cnVjdGlvbnMpO1xuXG4gIC8vIFVwZGF0ZSBhcmlhIGxhYmVsIHRvIG1hdGNoIHRoZSB2aXNpYmxlIGFjdGlvbiB0ZXh0XG4gIGZpbGVJbnB1dEVsLnNldEF0dHJpYnV0ZShcImFyaWEtbGFiZWxcIiwgY2hhbmdlSXRlbVRleHQpO1xufTtcblxuLyoqIEFkZCBhbiBlcnJvciBsaXN0ZW5lciB0byB0aGUgaW1hZ2UgcHJldmlldyB0byBzZXQgYSBmYWxsYmFjayBpbWFnZVxuICogQHBhcmFtIHtIVE1MSW1hZ2VFbGVtZW50fSBwcmV2aWV3SW1hZ2UgLSBUaGUgaW1hZ2UgZWxlbWVudFxuICogQHBhcmFtIHtTdHJpbmd9IGZhbGxiYWNrQ2xhc3MgLSBUaGUgQ1NTIGNsYXNzIG9mIHRoZSBmYWxsYmFjayBpbWFnZVxuICovXG5jb25zdCBzZXRQcmV2aWV3RmFsbGJhY2sgPSAocHJldmlld0ltYWdlLCBmYWxsYmFja0NsYXNzKSA9PiB7XG4gIHByZXZpZXdJbWFnZS5hZGRFdmVudExpc3RlbmVyKFxuICAgIFwiZXJyb3JcIixcbiAgICAoKSA9PiB7XG4gICAgICBjb25zdCBsb2NhbFByZXZpZXdJbWFnZSA9IHByZXZpZXdJbWFnZTsgLy8gdG8gYXZvaWQgbm8tcGFyYW0tcmVhc3NpZ24gZnJvbSBFU0xpbnRcbiAgICAgIGxvY2FsUHJldmlld0ltYWdlLnNyYyA9IFNQQUNFUl9HSUY7XG4gICAgICBsb2NhbFByZXZpZXdJbWFnZS5jbGFzc0xpc3QuYWRkKGZhbGxiYWNrQ2xhc3MpO1xuICAgIH0sXG4gICAgeyBvbmNlOiB0cnVlIH0sXG4gICk7XG59O1xuXG4vKipcbiAqIFdoZW4gbmV3IGZpbGVzIGFyZSBhcHBsaWVkIHRvIGZpbGUgaW5wdXQsIHRoaXMgZnVuY3Rpb24gZ2VuZXJhdGVzIHByZXZpZXdzXG4gKiBhbmQgcmVtb3ZlcyBvbGQgb25lcy5cbiAqXG4gKiBAcGFyYW0ge2V2ZW50fSBlXG4gKiBAcGFyYW0ge0hUTUxJbnB1dEVsZW1lbnR9IGZpbGVJbnB1dEVsIC0gVGhlIGlucHV0IGVsZW1lbnQuXG4gKiBAcGFyYW0ge0hUTUxEaXZFbGVtZW50fSBpbnN0cnVjdGlvbnMgLSBUaGUgY29udGFpbmVyIGZvciB2aXNpYmxlIGludGVyYWN0aW9uIGluc3RydWN0aW9ucy5cbiAqIEBwYXJhbSB7SFRNTERpdkVsZW1lbnR9IGRyb3BUYXJnZXQgLSBUaGUgZHJhZyBhbmQgZHJvcCB0YXJnZXQgYXJlYS5cbiAqL1xuXG5jb25zdCBoYW5kbGVDaGFuZ2UgPSAoZSwgZmlsZUlucHV0RWwsIGluc3RydWN0aW9ucywgZHJvcFRhcmdldCkgPT4ge1xuICBjb25zdCBmaWxlTmFtZXMgPSBlLnRhcmdldC5maWxlcztcbiAgY29uc3QgaW5wdXRQYXJlbnQgPSBkcm9wVGFyZ2V0LmNsb3Nlc3QoYC4ke0RST1BaT05FX0NMQVNTfWApO1xuICBjb25zdCBzdGF0dXNFbGVtZW50ID0gaW5wdXRQYXJlbnQucXVlcnlTZWxlY3RvcihgLiR7U1JfT05MWV9DTEFTU31gKTtcbiAgY29uc3QgZmlsZVN0b3JlID0gW107XG5cbiAgLy8gRmlyc3QsIGdldCByaWQgb2YgZXhpc3RpbmcgcHJldmlld3NcbiAgcmVtb3ZlT2xkUHJldmlld3MoZHJvcFRhcmdldCwgaW5zdHJ1Y3Rpb25zKTtcblxuICAvLyBUaGVuLCBpdGVyYXRlIHRocm91Z2ggZmlsZXMgbGlzdCBhbmQgY3JlYXRlIHByZXZpZXdzXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgZmlsZU5hbWVzLmxlbmd0aDsgaSArPSAxKSB7XG4gICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICBjb25zdCBmaWxlTmFtZSA9IGZpbGVOYW1lc1tpXS5uYW1lO1xuICAgIGxldCBpbWFnZUlkO1xuXG4gICAgLy8gUHVzaCB1cGRhdGVkIGZpbGUgbmFtZXMgaW50byB0aGUgc3RvcmUgYXJyYXlcbiAgICBmaWxlU3RvcmUucHVzaChmaWxlTmFtZSk7XG5cbiAgICAvLyBTdGFydHMgd2l0aCBhIGxvYWRpbmcgaW1hZ2Ugd2hpbGUgcHJldmlldyBpcyBjcmVhdGVkXG4gICAgcmVhZGVyLm9ubG9hZHN0YXJ0ID0gZnVuY3Rpb24gY3JlYXRlTG9hZGluZ0ltYWdlKCkge1xuICAgICAgaW1hZ2VJZCA9IGNyZWF0ZVVuaXF1ZUlEKG1ha2VTYWZlRm9ySUQoZmlsZU5hbWUpKTtcblxuICAgICAgaW5zdHJ1Y3Rpb25zLmluc2VydEFkamFjZW50SFRNTChcbiAgICAgICAgXCJhZnRlcmVuZFwiLFxuICAgICAgICBTYW5pdGl6ZXIuZXNjYXBlSFRNTGA8ZGl2IGNsYXNzPVwiJHtQUkVWSUVXX0NMQVNTfVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgIDxpbWcgaWQ9XCIke2ltYWdlSWR9XCIgc3JjPVwiJHtTUEFDRVJfR0lGfVwiIGFsdD1cIlwiIGNsYXNzPVwiJHtHRU5FUklDX1BSRVZJRVdfQ0xBU1NfTkFNRX0gJHtMT0FESU5HX0NMQVNTfVwiLz4ke2ZpbGVOYW1lfVxuICAgICAgICA8ZGl2PmAsXG4gICAgICApO1xuICAgIH07XG5cbiAgICAvLyBOb3QgYWxsIGZpbGVzIHdpbGwgYmUgYWJsZSB0byBnZW5lcmF0ZSBwcmV2aWV3cy4gSW4gY2FzZSB0aGlzIGhhcHBlbnMsIHdlIHByb3ZpZGUgc2V2ZXJhbCB0eXBlcyBcImdlbmVyaWMgcHJldmlld3NcIiBiYXNlZCBvbiB0aGUgZmlsZSBleHRlbnNpb24uXG4gICAgcmVhZGVyLm9ubG9hZGVuZCA9IGZ1bmN0aW9uIGNyZWF0ZUZpbGVQcmV2aWV3KCkge1xuICAgICAgY29uc3QgcHJldmlld0ltYWdlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaW1hZ2VJZCk7XG4gICAgICBjb25zdCBmaWxlRXh0ZW5zaW9uID0gZmlsZU5hbWUuc3BsaXQoXCIuXCIpLnBvcCgpO1xuICAgICAgaWYgKGZpbGVFeHRlbnNpb24gPT09IFwicGRmXCIpIHtcbiAgICAgICAgc2V0UHJldmlld0ZhbGxiYWNrKHByZXZpZXdJbWFnZSwgUERGX1BSRVZJRVdfQ0xBU1MpO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgZmlsZUV4dGVuc2lvbiA9PT0gXCJkb2NcIiB8fFxuICAgICAgICBmaWxlRXh0ZW5zaW9uID09PSBcImRvY3hcIiB8fFxuICAgICAgICBmaWxlRXh0ZW5zaW9uID09PSBcInBhZ2VzXCJcbiAgICAgICkge1xuICAgICAgICBzZXRQcmV2aWV3RmFsbGJhY2socHJldmlld0ltYWdlLCBXT1JEX1BSRVZJRVdfQ0xBU1MpO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgZmlsZUV4dGVuc2lvbiA9PT0gXCJ4bHNcIiB8fFxuICAgICAgICBmaWxlRXh0ZW5zaW9uID09PSBcInhsc3hcIiB8fFxuICAgICAgICBmaWxlRXh0ZW5zaW9uID09PSBcIm51bWJlcnNcIlxuICAgICAgKSB7XG4gICAgICAgIHNldFByZXZpZXdGYWxsYmFjayhwcmV2aWV3SW1hZ2UsIEVYQ0VMX1BSRVZJRVdfQ0xBU1MpO1xuICAgICAgfSBlbHNlIGlmIChmaWxlRXh0ZW5zaW9uID09PSBcIm1vdlwiIHx8IGZpbGVFeHRlbnNpb24gPT09IFwibXA0XCIpIHtcbiAgICAgICAgc2V0UHJldmlld0ZhbGxiYWNrKHByZXZpZXdJbWFnZSwgVklERU9fUFJFVklFV19DTEFTUyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRQcmV2aWV3RmFsbGJhY2socHJldmlld0ltYWdlLCBHRU5FUklDX1BSRVZJRVdfQ0xBU1MpO1xuICAgICAgfVxuXG4gICAgICAvLyBSZW1vdmVzIGxvYWRlciBhbmQgZGlzcGxheXMgcHJldmlld1xuICAgICAgcHJldmlld0ltYWdlLmNsYXNzTGlzdC5yZW1vdmUoTE9BRElOR19DTEFTUyk7XG4gICAgICBwcmV2aWV3SW1hZ2Uuc3JjID0gcmVhZGVyLnJlc3VsdDtcbiAgICB9O1xuXG4gICAgaWYgKGZpbGVOYW1lc1tpXSkge1xuICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZU5hbWVzW2ldKTtcbiAgICB9XG4gIH1cblxuICBpZiAoZmlsZU5hbWVzLmxlbmd0aCA9PT0gMCkge1xuICAgIC8vIFJlc2V0IGlucHV0IGFyaWEtbGFiZWwgd2l0aCBkZWZhdWx0IG1lc3NhZ2VcbiAgICBmaWxlSW5wdXRFbC5zZXRBdHRyaWJ1dGUoXCJhcmlhLWxhYmVsXCIsIERFRkFVTFRfQVJJQV9MQUJFTF9URVhUKTtcbiAgfSBlbHNlIHtcbiAgICBhZGRQcmV2aWV3SGVhZGluZyhmaWxlSW5wdXRFbCwgZmlsZU5hbWVzKTtcbiAgfVxuXG4gIHVwZGF0ZVN0YXR1c01lc3NhZ2Uoc3RhdHVzRWxlbWVudCwgZmlsZU5hbWVzLCBmaWxlU3RvcmUpO1xufTtcblxuLyoqXG4gKiBXaGVuIHVzaW5nIGFuIEFjY2VwdCBhdHRyaWJ1dGUsIGludmFsaWQgZmlsZXMgd2lsbCBiZSBoaWRkZW4gZnJvbVxuICogZmlsZSBicm93c2VyLCBidXQgdGhleSBjYW4gc3RpbGwgYmUgZHJhZ2dlZCB0byB0aGUgaW5wdXQuIFRoaXNcbiAqIGZ1bmN0aW9uIHByZXZlbnRzIHRoZW0gZnJvbSBiZWluZyBkcmFnZ2VkIGFuZCByZW1vdmVzIGVycm9yIHN0YXRlc1xuICogd2hlbiBjb3JyZWN0IGZpbGVzIGFyZSBhZGRlZC5cbiAqXG4gKiBAcGFyYW0ge2V2ZW50fSBlXG4gKiBAcGFyYW0ge0hUTUxJbnB1dEVsZW1lbnR9IGZpbGVJbnB1dEVsIC0gVGhlIGlucHV0IGVsZW1lbnQuXG4gKiBAcGFyYW0ge0hUTUxEaXZFbGVtZW50fSBpbnN0cnVjdGlvbnMgLSBUaGUgY29udGFpbmVyIGZvciB2aXNpYmxlIGludGVyYWN0aW9uIGluc3RydWN0aW9ucy5cbiAqIEBwYXJhbSB7SFRNTERpdkVsZW1lbnR9IGRyb3BUYXJnZXQgLSBUaGUgZHJhZyBhbmQgZHJvcCB0YXJnZXQgYXJlYS5cbiAqL1xuY29uc3QgcHJldmVudEludmFsaWRGaWxlcyA9IChlLCBmaWxlSW5wdXRFbCwgaW5zdHJ1Y3Rpb25zLCBkcm9wVGFyZ2V0KSA9PiB7XG4gIGNvbnN0IGFjY2VwdGVkRmlsZXNBdHRyID0gZmlsZUlucHV0RWwuZ2V0QXR0cmlidXRlKFwiYWNjZXB0XCIpO1xuICBkcm9wVGFyZ2V0LmNsYXNzTGlzdC5yZW1vdmUoSU5WQUxJRF9GSUxFX0NMQVNTKTtcblxuICAvKipcbiAgICogV2UgY2FuIHByb2JhYmx5IG1vdmUgYXdheSBmcm9tIHRoaXMgb25jZSBJRTExIHN1cHBvcnQgc3RvcHMsIGFuZCByZXBsYWNlXG4gICAqIHdpdGggYSBzaW1wbGUgZXMgYC5pbmNsdWRlc2BcbiAgICogY2hlY2sgaWYgZWxlbWVudCBpcyBpbiBhcnJheVxuICAgKiBjaGVjayBpZiAxIG9yIG1vcmUgYWxwaGFiZXRzIGFyZSBpbiBzdHJpbmdcbiAgICogaWYgZWxlbWVudCBpcyBwcmVzZW50IHJldHVybiB0aGUgcG9zaXRpb24gdmFsdWUgYW5kIC0xIG90aGVyd2lzZVxuICAgKiBAcGFyYW0ge09iamVjdH0gZmlsZVxuICAgKiBAcGFyYW0ge1N0cmluZ30gdmFsdWVcbiAgICogQHJldHVybnMge0Jvb2xlYW59XG4gICAqL1xuICBjb25zdCBpc0luY2x1ZGVkID0gKGZpbGUsIHZhbHVlKSA9PiB7XG4gICAgbGV0IHJldHVyblZhbHVlID0gZmFsc2U7XG4gICAgY29uc3QgcG9zID0gZmlsZS5pbmRleE9mKHZhbHVlKTtcbiAgICBpZiAocG9zID49IDApIHtcbiAgICAgIHJldHVyblZhbHVlID0gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHJldHVyblZhbHVlO1xuICB9O1xuXG4gIC8vIFJ1bnMgaWYgb25seSBzcGVjaWZpYyBmaWxlcyBhcmUgYWNjZXB0ZWRcbiAgaWYgKGFjY2VwdGVkRmlsZXNBdHRyKSB7XG4gICAgY29uc3QgYWNjZXB0ZWRGaWxlcyA9IGFjY2VwdGVkRmlsZXNBdHRyLnNwbGl0KFwiLFwiKTtcbiAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xuICAgIGNvbnN0IHVzZXJFcnJvclRleHQgPSBmaWxlSW5wdXRFbC5kYXRhc2V0LmVycm9ybWVzc2FnZTtcbiAgICBjb25zdCBlcnJvck1lc3NhZ2VUZXh0ID0gdXNlckVycm9yVGV4dCB8fCBERUZBVUxUX0VSUk9SX0xBQkVMX1RFWFQ7XG5cbiAgICBlcnJvck1lc3NhZ2Uuc2V0QXR0cmlidXRlKFwiYXJpYS1oaWRkZW5cIiwgdHJ1ZSk7XG5cbiAgICAvLyBJZiBtdWx0aXBsZSBmaWxlcyBhcmUgZHJhZ2dlZCwgdGhpcyBpdGVyYXRlcyB0aHJvdWdoIHRoZW0gYW5kIGxvb2sgZm9yIGFueSBmaWxlcyB0aGF0IGFyZSBub3QgYWNjZXB0ZWQuXG4gICAgbGV0IGFsbEZpbGVzQWxsb3dlZCA9IHRydWU7XG4gICAgY29uc3Qgc2Nhbm5lZEZpbGVzID0gZS50YXJnZXQuZmlsZXMgfHwgZS5kYXRhVHJhbnNmZXIuZmlsZXM7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzY2FubmVkRmlsZXMubGVuZ3RoOyBpICs9IDEpIHtcbiAgICAgIGNvbnN0IGZpbGUgPSBzY2FubmVkRmlsZXNbaV07XG4gICAgICBpZiAoYWxsRmlsZXNBbGxvd2VkKSB7XG4gICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgYWNjZXB0ZWRGaWxlcy5sZW5ndGg7IGogKz0gMSkge1xuICAgICAgICAgIGNvbnN0IGZpbGVUeXBlID0gYWNjZXB0ZWRGaWxlc1tqXTtcbiAgICAgICAgICBhbGxGaWxlc0FsbG93ZWQgPVxuICAgICAgICAgICAgZmlsZS5uYW1lLmluZGV4T2YoZmlsZVR5cGUpID4gMCB8fFxuICAgICAgICAgICAgaXNJbmNsdWRlZChmaWxlLnR5cGUsIGZpbGVUeXBlLnJlcGxhY2UoL1xcKi9nLCBcIlwiKSk7XG4gICAgICAgICAgaWYgKGFsbEZpbGVzQWxsb3dlZCkge1xuICAgICAgICAgICAgVFlQRV9JU19WQUxJRCA9IHRydWU7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBicmVhaztcbiAgICB9XG5cbiAgICAvLyBJZiBkcmFnZ2VkIGZpbGVzIGFyZSBub3QgYWNjZXB0ZWQsIHRoaXMgcmVtb3ZlcyB0aGVtIGZyb20gdGhlIHZhbHVlIG9mIHRoZSBpbnB1dCBhbmQgY3JlYXRlcyBhbmQgZXJyb3Igc3RhdGVcbiAgICBpZiAoIWFsbEZpbGVzQWxsb3dlZCkge1xuICAgICAgcmVtb3ZlT2xkUHJldmlld3MoZHJvcFRhcmdldCwgaW5zdHJ1Y3Rpb25zKTtcbiAgICAgIGZpbGVJbnB1dEVsLnZhbHVlID0gXCJcIjsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1wYXJhbS1yZWFzc2lnblxuICAgICAgZXJyb3JNZXNzYWdlLnRleHRDb250ZW50ID0gZXJyb3JNZXNzYWdlVGV4dDtcbiAgICAgIGRyb3BUYXJnZXQuaW5zZXJ0QmVmb3JlKGVycm9yTWVzc2FnZSwgZmlsZUlucHV0RWwpO1xuXG4gICAgICBjb25zdCBhcmlhTGFiZWxUZXh0ID0gYCR7ZXJyb3JNZXNzYWdlVGV4dH0gJHtERUZBVUxUX0FSSUFfTEFCRUxfVEVYVH1gO1xuXG4gICAgICBmaWxlSW5wdXRFbC5zZXRBdHRyaWJ1dGUoXCJhcmlhLWxhYmVsXCIsIGFyaWFMYWJlbFRleHQpO1xuICAgICAgZXJyb3JNZXNzYWdlLmNsYXNzTGlzdC5hZGQoQUNDRVBURURfRklMRV9NRVNTQUdFX0NMQVNTKTtcbiAgICAgIGRyb3BUYXJnZXQuY2xhc3NMaXN0LmFkZChJTlZBTElEX0ZJTEVfQ0xBU1MpO1xuICAgICAgVFlQRV9JU19WQUxJRCA9IGZhbHNlO1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG4gIH1cbn07XG5cbi8qKlxuICogMS4gcGFzc2VzIHRocm91Z2ggZ2F0ZSBmb3IgcHJldmVudGluZyBpbnZhbGlkIGZpbGVzXG4gKiAyLiBoYW5kbGVzIHVwZGF0ZXMgaWYgZmlsZSBpcyB2YWxpZFxuICpcbiAqIEBwYXJhbSB7ZXZlbnR9IGV2ZW50XG4gKiBAcGFyYW0ge0hUTUxJbnB1dEVsZW1lbnR9IGZpbGVJbnB1dEVsIC0gVGhlIGlucHV0IGVsZW1lbnQuXG4gKiBAcGFyYW0ge0hUTUxEaXZFbGVtZW50fSBpbnN0cnVjdGlvbnMgLSBUaGUgY29udGFpbmVyIGZvciB2aXNpYmxlIGludGVyYWN0aW9uIGluc3RydWN0aW9ucy5cbiAqIEBwYXJhbSB7SFRNTERpdkVsZW1lbnR9IGRyb3BUYXJnZXQgLSBUaGUgZHJhZyBhbmQgZHJvcCB0YXJnZXQgYXJlYS5cbiAqL1xuY29uc3QgaGFuZGxlVXBsb2FkID0gKGV2ZW50LCBmaWxlSW5wdXRFbCwgaW5zdHJ1Y3Rpb25zLCBkcm9wVGFyZ2V0KSA9PiB7XG4gIHByZXZlbnRJbnZhbGlkRmlsZXMoZXZlbnQsIGZpbGVJbnB1dEVsLCBpbnN0cnVjdGlvbnMsIGRyb3BUYXJnZXQpO1xuICBpZiAoVFlQRV9JU19WQUxJRCA9PT0gdHJ1ZSkge1xuICAgIGhhbmRsZUNoYW5nZShldmVudCwgZmlsZUlucHV0RWwsIGluc3RydWN0aW9ucywgZHJvcFRhcmdldCk7XG4gIH1cbn07XG5cbmNvbnN0IGZpbGVJbnB1dCA9IGJlaGF2aW9yKFxuICB7fSxcbiAge1xuICAgIGluaXQocm9vdCkge1xuICAgICAgc2VsZWN0T3JNYXRjaGVzKERST1BaT05FLCByb290KS5mb3JFYWNoKChmaWxlSW5wdXRFbCkgPT4ge1xuICAgICAgICBjb25zdCB7IGluc3RydWN0aW9ucywgZHJvcFRhcmdldCB9ID0gZW5oYW5jZUZpbGVJbnB1dChmaWxlSW5wdXRFbCk7XG5cbiAgICAgICAgZHJvcFRhcmdldC5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgICAgIFwiZHJhZ292ZXJcIixcbiAgICAgICAgICBmdW5jdGlvbiBoYW5kbGVEcmFnT3ZlcigpIHtcbiAgICAgICAgICAgIHRoaXMuY2xhc3NMaXN0LmFkZChEUkFHX0NMQVNTKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGZhbHNlLFxuICAgICAgICApO1xuXG4gICAgICAgIGRyb3BUYXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgICBcImRyYWdsZWF2ZVwiLFxuICAgICAgICAgIGZ1bmN0aW9uIGhhbmRsZURyYWdMZWF2ZSgpIHtcbiAgICAgICAgICAgIHRoaXMuY2xhc3NMaXN0LnJlbW92ZShEUkFHX0NMQVNTKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGZhbHNlLFxuICAgICAgICApO1xuXG4gICAgICAgIGRyb3BUYXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgICBcImRyb3BcIixcbiAgICAgICAgICBmdW5jdGlvbiBoYW5kbGVEcm9wKCkge1xuICAgICAgICAgICAgdGhpcy5jbGFzc0xpc3QucmVtb3ZlKERSQUdfQ0xBU1MpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgZmFsc2UsXG4gICAgICAgICk7XG5cbiAgICAgICAgZmlsZUlucHV0RWwuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgICBcImNoYW5nZVwiLFxuICAgICAgICAgIChlKSA9PiBoYW5kbGVVcGxvYWQoZSwgZmlsZUlucHV0RWwsIGluc3RydWN0aW9ucywgZHJvcFRhcmdldCksXG4gICAgICAgICAgZmFsc2UsXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9LFxuICAgIHRlYXJkb3duKHJvb3QpIHtcbiAgICAgIHNlbGVjdE9yTWF0Y2hlcyhJTlBVVCwgcm9vdCkuZm9yRWFjaCgoZmlsZUlucHV0RWwpID0+IHtcbiAgICAgICAgY29uc3QgZmlsZUlucHV0VG9wRWxlbWVudCA9IGZpbGVJbnB1dEVsLnBhcmVudEVsZW1lbnQucGFyZW50RWxlbWVudDtcbiAgICAgICAgZmlsZUlucHV0VG9wRWxlbWVudC5wYXJlbnRFbGVtZW50LnJlcGxhY2VDaGlsZChcbiAgICAgICAgICBmaWxlSW5wdXRFbCxcbiAgICAgICAgICBmaWxlSW5wdXRUb3BFbGVtZW50LFxuICAgICAgICApO1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cbiAgICAgICAgZmlsZUlucHV0RWwuY2xhc3NOYW1lID0gRFJPUFpPTkVfQ0xBU1M7XG4gICAgICB9KTtcbiAgICB9LFxuICAgIGdldEZpbGVJbnB1dENvbnRleHQsXG4gICAgZGlzYWJsZSxcbiAgICBhcmlhRGlzYWJsZSxcbiAgICBlbmFibGUsXG4gIH0sXG4pO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZpbGVJbnB1dDtcbiIsImNvbnN0IGJlaGF2aW9yID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL2JlaGF2aW9yXCIpO1xuY29uc3QgeyBDTElDSyB9ID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL2V2ZW50c1wiKTtcbmNvbnN0IHsgcHJlZml4OiBQUkVGSVggfSA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy9jb25maWdcIik7XG5cbmNvbnN0IFNDT1BFID0gYC4ke1BSRUZJWH0tZm9vdGVyLS1iaWdgO1xuY29uc3QgTkFWID0gYCR7U0NPUEV9IG5hdmA7XG5jb25zdCBCVVRUT04gPSBgJHtOQVZ9IC4ke1BSRUZJWH0tZm9vdGVyX19wcmltYXJ5LWxpbmtgO1xuY29uc3QgSElERV9NQVhfV0lEVEggPSA0ODA7XG5cbi8qKlxuICogRXhwYW5kcyBzZWxlY3RlZCBmb290ZXIgbWVudSBwYW5lbCwgd2hpbGUgY29sbGFwc2luZyBvdGhlcnNcbiAqL1xuZnVuY3Rpb24gc2hvd1BhbmVsKCkge1xuICBpZiAod2luZG93LmlubmVyV2lkdGggPCBISURFX01BWF9XSURUSCkge1xuICAgIGNvbnN0IGlzT3BlbiA9IHRoaXMuZ2V0QXR0cmlidXRlKFwiYXJpYS1leHBhbmRlZFwiKSA9PT0gXCJ0cnVlXCI7XG4gICAgY29uc3QgdGhpc0Zvb3RlciA9IHRoaXMuY2xvc2VzdChTQ09QRSk7XG5cbiAgICAvLyBDbG9zZSBhbGwgb3RoZXIgbWVudXNcbiAgICB0aGlzRm9vdGVyLnF1ZXJ5U2VsZWN0b3JBbGwoQlVUVE9OKS5mb3JFYWNoKChidXR0b24pID0+IHtcbiAgICAgIGJ1dHRvbi5zZXRBdHRyaWJ1dGUoXCJhcmlhLWV4cGFuZGVkXCIsIGZhbHNlKTtcbiAgICB9KTtcblxuICAgIHRoaXMuc2V0QXR0cmlidXRlKFwiYXJpYS1leHBhbmRlZFwiLCAhaXNPcGVuKTtcbiAgfVxufVxuXG4vKipcbiAqIFN3YXBzIHRoZSA8aDQ+IGVsZW1lbnQgZm9yIGEgPGJ1dHRvbj4gZWxlbWVudCAoYW5kIHZpY2UtdmVyc2EpIGFuZCBzZXRzIGlkXG4gKiBvZiBtZW51IGxpc3RcbiAqXG4gKiBAcGFyYW0ge0Jvb2xlYW59IGlzTW9iaWxlIC0gSWYgdGhlIGZvb3RlciBpcyBpbiBtb2JpbGUgY29uZmlndXJhdGlvblxuICovXG5mdW5jdGlvbiB0b2dnbGVIdG1sVGFnKGlzTW9iaWxlKSB7XG4gIGNvbnN0IGJpZ0Zvb3RlciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoU0NPUEUpO1xuXG4gIGlmICghYmlnRm9vdGVyKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgcHJpbWFyeUxpbmtzID0gYmlnRm9vdGVyLnF1ZXJ5U2VsZWN0b3JBbGwoQlVUVE9OKTtcblxuICBwcmltYXJ5TGlua3MuZm9yRWFjaCgoY3VycmVudEVsZW1lbnQpID0+IHtcbiAgICBjb25zdCBjdXJyZW50RWxlbWVudENsYXNzZXMgPSBjdXJyZW50RWxlbWVudC5nZXRBdHRyaWJ1dGUoXCJjbGFzc1wiKTtcbiAgICBjb25zdCBwcmVzZXJ2ZWRIdG1sVGFnID1cbiAgICAgIGN1cnJlbnRFbGVtZW50LmdldEF0dHJpYnV0ZShcImRhdGEtdGFnXCIpIHx8IGN1cnJlbnRFbGVtZW50LnRhZ05hbWU7XG5cbiAgICBjb25zdCBuZXdFbGVtZW50VHlwZSA9IGlzTW9iaWxlID8gXCJidXR0b25cIiA6IHByZXNlcnZlZEh0bWxUYWc7XG5cbiAgICAvLyBDcmVhdGUgdGhlIG5ldyBlbGVtZW50XG4gICAgY29uc3QgbmV3RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQobmV3RWxlbWVudFR5cGUpO1xuICAgIG5ld0VsZW1lbnQuc2V0QXR0cmlidXRlKFwiY2xhc3NcIiwgY3VycmVudEVsZW1lbnRDbGFzc2VzKTtcbiAgICBuZXdFbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoXG4gICAgICBgJHtQUkVGSVh9LWZvb3Rlcl9fcHJpbWFyeS1saW5rLS1idXR0b25gLFxuICAgICAgaXNNb2JpbGUsXG4gICAgKTtcbiAgICBuZXdFbGVtZW50LnRleHRDb250ZW50ID0gY3VycmVudEVsZW1lbnQudGV4dENvbnRlbnQ7XG5cbiAgICBpZiAoaXNNb2JpbGUpIHtcbiAgICAgIG5ld0VsZW1lbnQuc2V0QXR0cmlidXRlKFwiZGF0YS10YWdcIiwgY3VycmVudEVsZW1lbnQudGFnTmFtZSk7XG4gICAgICBjb25zdCBtZW51SWQgPSBgJHtQUkVGSVh9LWZvb3Rlci1tZW51LWxpc3QtJHtNYXRoLmZsb29yKFxuICAgICAgICBNYXRoLnJhbmRvbSgpICogMTAwMDAwLFxuICAgICAgKX1gO1xuXG4gICAgICBuZXdFbGVtZW50LnNldEF0dHJpYnV0ZShcImFyaWEtY29udHJvbHNcIiwgbWVudUlkKTtcbiAgICAgIG5ld0VsZW1lbnQuc2V0QXR0cmlidXRlKFwiYXJpYS1leHBhbmRlZFwiLCBcImZhbHNlXCIpO1xuICAgICAgY3VycmVudEVsZW1lbnQubmV4dEVsZW1lbnRTaWJsaW5nLnNldEF0dHJpYnV0ZShcImlkXCIsIG1lbnVJZCk7XG4gICAgICBuZXdFbGVtZW50LnNldEF0dHJpYnV0ZShcInR5cGVcIiwgXCJidXR0b25cIik7XG4gICAgfVxuXG4gICAgLy8gSW5zZXJ0IHRoZSBuZXcgZWxlbWVudCBhbmQgZGVsZXRlIHRoZSBvbGRcbiAgICBjdXJyZW50RWxlbWVudC5hZnRlcihuZXdFbGVtZW50KTtcbiAgICBjdXJyZW50RWxlbWVudC5yZW1vdmUoKTtcbiAgfSk7XG59XG5cbmNvbnN0IHJlc2l6ZSA9IChldmVudCkgPT4ge1xuICB0b2dnbGVIdG1sVGFnKGV2ZW50Lm1hdGNoZXMpO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSBiZWhhdmlvcihcbiAge1xuICAgIFtDTElDS106IHtcbiAgICAgIFtCVVRUT05dOiBzaG93UGFuZWwsXG4gICAgfSxcbiAgfSxcbiAge1xuICAgIC8vIGV4cG9ydCBmb3IgdXNlIGVsc2V3aGVyZVxuICAgIEhJREVfTUFYX1dJRFRILFxuXG4gICAgaW5pdCgpIHtcbiAgICAgIHRvZ2dsZUh0bWxUYWcod2luZG93LmlubmVyV2lkdGggPCBISURFX01BWF9XSURUSCk7XG4gICAgICB0aGlzLm1lZGlhUXVlcnlMaXN0ID0gd2luZG93Lm1hdGNoTWVkaWEoXG4gICAgICAgIGAobWF4LXdpZHRoOiAke0hJREVfTUFYX1dJRFRIIC0gMC4xfXB4KWAsXG4gICAgICApO1xuICAgICAgdGhpcy5tZWRpYVF1ZXJ5TGlzdC5hZGRMaXN0ZW5lcihyZXNpemUpO1xuICAgIH0sXG5cbiAgICB0ZWFyZG93bigpIHtcbiAgICAgIHRoaXMubWVkaWFRdWVyeUxpc3QucmVtb3ZlTGlzdGVuZXIocmVzaXplKTtcbiAgICB9LFxuICB9LFxuKTtcbiIsImNvbnN0IGtleW1hcCA9IHJlcXVpcmUoXCJyZWNlcHRvci9rZXltYXBcIik7XG5jb25zdCBiZWhhdmlvciA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9iZWhhdmlvclwiKTtcbmNvbnN0IHNlbGVjdCA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9zZWxlY3RcIik7XG5jb25zdCB0b2dnbGUgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvdG9nZ2xlXCIpO1xuY29uc3QgRm9jdXNUcmFwID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL2ZvY3VzLXRyYXBcIik7XG5jb25zdCBhY2NvcmRpb24gPSByZXF1aXJlKFwiLi4vLi4vdXNhLWFjY29yZGlvbi9zcmMvaW5kZXhcIik7XG5jb25zdCBTY3JvbGxCYXJXaWR0aCA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9zY3JvbGxiYXItd2lkdGhcIik7XG5cbmNvbnN0IHsgQ0xJQ0sgfSA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy9ldmVudHNcIik7XG5jb25zdCB7IHByZWZpeDogUFJFRklYIH0gPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvY29uZmlnXCIpO1xuXG5jb25zdCBCT0RZID0gXCJib2R5XCI7XG5jb25zdCBIRUFERVIgPSBgLiR7UFJFRklYfS1oZWFkZXJgO1xuY29uc3QgTkFWID0gYC4ke1BSRUZJWH0tbmF2YDtcbmNvbnN0IE5BVl9DT05UQUlORVIgPSBgLiR7UFJFRklYfS1uYXYtY29udGFpbmVyYDtcbmNvbnN0IE5BVl9QUklNQVJZID0gYC4ke1BSRUZJWH0tbmF2X19wcmltYXJ5YDtcbmNvbnN0IE5BVl9QUklNQVJZX0lURU0gPSBgLiR7UFJFRklYfS1uYXZfX3ByaW1hcnktaXRlbWA7XG5jb25zdCBOQVZfQ09OVFJPTCA9IGBidXR0b24uJHtQUkVGSVh9LW5hdl9fbGlua2A7XG5jb25zdCBOQVZfTElOS1MgPSBgJHtOQVZ9IGFgO1xuY29uc3QgTk9OX05BVl9ISURERU5fQVRUUklCVVRFID0gYGRhdGEtbmF2LWhpZGRlbmA7XG5jb25zdCBPUEVORVJTID0gYC4ke1BSRUZJWH0tbWVudS1idG5gO1xuY29uc3QgQ0xPU0VfQlVUVE9OID0gYC4ke1BSRUZJWH0tbmF2X19jbG9zZWA7XG5jb25zdCBPVkVSTEFZID0gYC4ke1BSRUZJWH0tb3ZlcmxheWA7XG5jb25zdCBDTE9TRVJTID0gYCR7Q0xPU0VfQlVUVE9OfSwgLiR7UFJFRklYfS1vdmVybGF5YDtcbmNvbnN0IFRPR0dMRVMgPSBbTkFWLCBPVkVSTEFZXS5qb2luKFwiLCBcIik7XG5jb25zdCBOT05fTkFWX0VMRU1FTlRTID0gYGJvZHkgKjpub3QoJHtIRUFERVJ9LCAke05BVl9DT05UQUlORVJ9LCAke05BVn0sICR7TkFWfSAqKTpub3QoW2FyaWEtaGlkZGVuXSlgO1xuY29uc3QgTk9OX05BVl9ISURERU4gPSBgWyR7Tk9OX05BVl9ISURERU5fQVRUUklCVVRFfV1gO1xuXG5jb25zdCBBQ1RJVkVfQ0xBU1MgPSBcInVzYS1qcy1tb2JpbGUtbmF2LS1hY3RpdmVcIjtcbmNvbnN0IFZJU0lCTEVfQ0xBU1MgPSBcImlzLXZpc2libGVcIjtcblxubGV0IG5hdmlnYXRpb247XG5sZXQgbmF2QWN0aXZlO1xubGV0IG5vbk5hdkVsZW1lbnRzO1xuXG5jb25zdCBpc0FjdGl2ZSA9ICgpID0+IGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKEFDVElWRV9DTEFTUyk7XG4vLyBEZXRlY3QgU2FmYXJpXG4vLyBOb3RlOiBDaHJvbWUgYWxzbyByZXBvcnRzIHRoZSBTYWZhcmkgdXNlckFnZW50IHNvIHRoaXMgc3BlY2lmaWNhbGx5IGV4Y2x1ZGVzIENocm9tZS5cbmNvbnN0IGlzU2FmYXJpID1cbiAgbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmNsdWRlcyhcIlNhZmFyaVwiKSAmJlxuICAhbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmNsdWRlcyhcIkNocm9tZVwiKTtcbmNvbnN0IFNDUk9MTEJBUl9XSURUSCA9IFNjcm9sbEJhcldpZHRoKCk7XG5jb25zdCBJTklUSUFMX1BBRERJTkcgPSB3aW5kb3dcbiAgLmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSlcbiAgLmdldFByb3BlcnR5VmFsdWUoXCJwYWRkaW5nLXJpZ2h0XCIpO1xuY29uc3QgVEVNUE9SQVJZX1BBRERJTkcgPSBgJHtcbiAgcGFyc2VJbnQoSU5JVElBTF9QQURESU5HLnJlcGxhY2UoL3B4LywgXCJcIiksIDEwKSArXG4gIHBhcnNlSW50KFNDUk9MTEJBUl9XSURUSC5yZXBsYWNlKC9weC8sIFwiXCIpLCAxMClcbn1weGA7XG5cbmNvbnN0IGhpZGVOb25OYXZJdGVtcyA9ICgpID0+IHtcbiAgY29uc3QgaGVhZGVyUGFyZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgJHtIRUFERVJ9YCkucGFyZW50Tm9kZTtcbiAgbm9uTmF2RWxlbWVudHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKE5PTl9OQVZfRUxFTUVOVFMpO1xuXG4gIG5vbk5hdkVsZW1lbnRzLmZvckVhY2goKG5vbk5hdkVsZW1lbnQpID0+IHtcbiAgICBpZiAobm9uTmF2RWxlbWVudCAhPT0gaGVhZGVyUGFyZW50KSB7XG4gICAgICBub25OYXZFbGVtZW50LnNldEF0dHJpYnV0ZShcImFyaWEtaGlkZGVuXCIsIHRydWUpO1xuICAgICAgbm9uTmF2RWxlbWVudC5zZXRBdHRyaWJ1dGUoTk9OX05BVl9ISURERU5fQVRUUklCVVRFLCBcIlwiKTtcbiAgICB9XG4gIH0pO1xufTtcblxuY29uc3Qgc2hvd05vbk5hdkl0ZW1zID0gKCkgPT4ge1xuICBub25OYXZFbGVtZW50cyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoTk9OX05BVl9ISURERU4pO1xuXG4gIGlmICghbm9uTmF2RWxlbWVudHMpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvLyBSZW1vdmUgYXJpYS1oaWRkZW4gZnJvbSBub24taGVhZGVyIGVsZW1lbnRzXG4gIG5vbk5hdkVsZW1lbnRzLmZvckVhY2goKG5vbk5hdkVsZW1lbnQpID0+IHtcbiAgICBub25OYXZFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZShcImFyaWEtaGlkZGVuXCIpO1xuICAgIG5vbk5hdkVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKE5PTl9OQVZfSElEREVOX0FUVFJJQlVURSk7XG4gIH0pO1xufTtcblxuLy8gVG9nZ2xlIGFsbCBub24taGVhZGVyIGVsZW1lbnRzICMzNTI3LlxuY29uc3QgdG9nZ2xlTm9uTmF2SXRlbXMgPSAoYWN0aXZlKSA9PiB7XG4gIGlmIChhY3RpdmUpIHtcbiAgICBoaWRlTm9uTmF2SXRlbXMoKTtcbiAgfSBlbHNlIHtcbiAgICBzaG93Tm9uTmF2SXRlbXMoKTtcbiAgfVxufTtcblxuLyoqXG4gKiBEZXRlY3QgU2FmYXJpIGFuZCBhZGQgYm9keSBjbGFzcyBmb3IgYSBTYWZhcmktb25seSBDU1MgYnVnIGZpeC5cbiAqIE1vcmUgZGV0YWlscyBpbiBodHRwczovL2dpdGh1Yi5jb20vdXN3ZHMvdXN3ZHMvcHVsbC81NDQzXG4gKi9cbmNvbnN0IGFkZFNhZmFyaUNsYXNzID0gKCkgPT4ge1xuICBpZiAoaXNTYWZhcmkpIHtcbiAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoXCJpcy1zYWZhcmlcIik7XG4gIH1cbn07XG5cbi8qKlxuICogU2V0IHRoZSB2YWx1ZSBmb3IgdGhlIC0tc2Nyb2xsdG9wIENTUyB2YXIgd2hlbiB0aGUgbW9iaWxlIG1lbnUgaXMgb3Blbi5cbiAqIFRoaXMgYWxsb3dzIHRoZSBDU1MgdG8gbG9jayB0aGUgY3VycmVudCBzY3JvbGwgcG9zaXRpb24gaW4gU2FmYXJpXG4gKiB3aGVuIG92ZXJmbG93LXkgaXMgc2V0IHRvIHNjcm9sbC5cbiAqIE1vcmUgZGV0YWlscyBpbiBodHRwczovL2dpdGh1Yi5jb20vdXN3ZHMvdXN3ZHMvcHVsbC81NDQzXG4gKi9cbmNvbnN0IHNldFNhZmFyaVNjcm9sbFBvc2l0aW9uID0gKGJvZHkpID0+IHtcbiAgY29uc3QgY3VycmVudFNjcm9sbFBvc2l0aW9uID0gYC0ke3dpbmRvdy5zY3JvbGxZfXB4YDtcbiAgaWYgKGlzU2FmYXJpKSB7XG4gICAgYm9keS5zdHlsZS5zZXRQcm9wZXJ0eShcIi0tc2Nyb2xsdG9wXCIsIGN1cnJlbnRTY3JvbGxQb3NpdGlvbik7XG4gIH1cbn07XG5cbmNvbnN0IHRvZ2dsZU5hdiA9IChhY3RpdmUpID0+IHtcbiAgY29uc3QgeyBib2R5IH0gPSBkb2N1bWVudDtcbiAgY29uc3Qgc2FmZUFjdGl2ZSA9IHR5cGVvZiBhY3RpdmUgPT09IFwiYm9vbGVhblwiID8gYWN0aXZlIDogIWlzQWN0aXZlKCk7XG5cbiAgc2V0U2FmYXJpU2Nyb2xsUG9zaXRpb24oYm9keSk7XG5cbiAgYm9keS5jbGFzc0xpc3QudG9nZ2xlKEFDVElWRV9DTEFTUywgc2FmZUFjdGl2ZSk7XG5cbiAgc2VsZWN0KFRPR0dMRVMpLmZvckVhY2goKGVsKSA9PlxuICAgIGVsLmNsYXNzTGlzdC50b2dnbGUoVklTSUJMRV9DTEFTUywgc2FmZUFjdGl2ZSksXG4gICk7XG5cbiAgbmF2aWdhdGlvbi5mb2N1c1RyYXAudXBkYXRlKHNhZmVBY3RpdmUpO1xuXG4gIGNvbnN0IGNsb3NlQnV0dG9uID0gYm9keS5xdWVyeVNlbGVjdG9yKENMT1NFX0JVVFRPTik7XG4gIGNvbnN0IG1lbnVCdXR0b24gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKE9QRU5FUlMpO1xuXG4gIGJvZHkuc3R5bGUucGFkZGluZ1JpZ2h0ID1cbiAgICBib2R5LnN0eWxlLnBhZGRpbmdSaWdodCA9PT0gVEVNUE9SQVJZX1BBRERJTkdcbiAgICAgID8gSU5JVElBTF9QQURESU5HXG4gICAgICA6IFRFTVBPUkFSWV9QQURESU5HO1xuXG4gIHRvZ2dsZU5vbk5hdkl0ZW1zKHNhZmVBY3RpdmUpO1xuXG4gIGlmIChzYWZlQWN0aXZlICYmIGNsb3NlQnV0dG9uKSB7XG4gICAgLy8gVGhlIG1vYmlsZSBuYXYgd2FzIGp1c3QgYWN0aXZhdGVkLiBGb2N1cyBvbiB0aGUgY2xvc2UgYnV0dG9uLCB3aGljaCBpc1xuICAgIC8vIGp1c3QgYmVmb3JlIGFsbCB0aGUgbmF2IGVsZW1lbnRzIGluIHRoZSB0YWIgb3JkZXIuXG4gICAgY2xvc2VCdXR0b24uZm9jdXMoKTtcbiAgfSBlbHNlIGlmIChcbiAgICAhc2FmZUFjdGl2ZSAmJlxuICAgIG1lbnVCdXR0b24gJiZcbiAgICBnZXRDb21wdXRlZFN0eWxlKG1lbnVCdXR0b24pLmRpc3BsYXkgIT09IFwibm9uZVwiXG4gICkge1xuICAgIC8vIFRoZSBtb2JpbGUgbmF2IHdhcyBqdXN0IGRlYWN0aXZhdGVkLiBXZSBkb24ndCB3YW50IHRoZSBmb2N1cyB0b1xuICAgIC8vIGRpc2FwcGVhciBpbnRvIHRoZSB2b2lkLCBzbyBmb2N1cyBvbiB0aGUgbWVudSBidXR0b24gaWYgaXQnc1xuICAgIC8vIHZpc2libGUgKHRoaXMgbWF5IGhhdmUgYmVlbiB3aGF0IHRoZSB1c2VyIHdhcyBqdXN0IGZvY3VzZWQgb24sXG4gICAgLy8gaWYgdGhleSB0cmlnZ2VyZWQgdGhlIG1vYmlsZSBuYXYgYnkgbWlzdGFrZSkuXG4gICAgbWVudUJ1dHRvbi5mb2N1cygpO1xuICB9XG5cbiAgcmV0dXJuIHNhZmVBY3RpdmU7XG59O1xuXG5jb25zdCByZXNpemUgPSAoKSA9PiB7XG4gIGNvbnN0IGNsb3NlciA9IGRvY3VtZW50LmJvZHkucXVlcnlTZWxlY3RvcihDTE9TRV9CVVRUT04pO1xuXG4gIGlmIChpc0FjdGl2ZSgpICYmIGNsb3NlciAmJiBjbG9zZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGggPT09IDApIHtcbiAgICAvLyBXaGVuIHRoZSBtb2JpbGUgbmF2IGlzIGFjdGl2ZSwgYW5kIHRoZSBjbG9zZSBib3ggaXNuJ3QgdmlzaWJsZSxcbiAgICAvLyB3ZSBrbm93IHRoZSB1c2VyJ3Mgdmlld3BvcnQgaGFzIGJlZW4gcmVzaXplZCB0byBiZSBsYXJnZXIuXG4gICAgLy8gTGV0J3MgbWFrZSB0aGUgcGFnZSBzdGF0ZSBjb25zaXN0ZW50IGJ5IGRlYWN0aXZhdGluZyB0aGUgbW9iaWxlIG5hdi5cbiAgICBuYXZpZ2F0aW9uLnRvZ2dsZU5hdi5jYWxsKGNsb3NlciwgZmFsc2UpO1xuICB9XG59O1xuXG5jb25zdCBvbk1lbnVDbG9zZSA9ICgpID0+IG5hdmlnYXRpb24udG9nZ2xlTmF2LmNhbGwobmF2aWdhdGlvbiwgZmFsc2UpO1xuXG5jb25zdCBoaWRlQWN0aXZlTmF2RHJvcGRvd24gPSAoKSA9PiB7XG4gIGlmICghbmF2QWN0aXZlKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdG9nZ2xlKG5hdkFjdGl2ZSwgZmFsc2UpO1xuICBuYXZBY3RpdmUgPSBudWxsO1xufTtcblxuY29uc3QgZm9jdXNOYXZCdXR0b24gPSAoZXZlbnQpID0+IHtcbiAgY29uc3QgcGFyZW50TmF2SXRlbSA9IGV2ZW50LnRhcmdldC5jbG9zZXN0KE5BVl9QUklNQVJZX0lURU0pO1xuXG4gIC8vIE9ubHkgc2hpZnQgZm9jdXMgaWYgd2l0aGluIGRyb3Bkb3duXG4gIGlmICghZXZlbnQudGFyZ2V0Lm1hdGNoZXMoTkFWX0NPTlRST0wpKSB7XG4gICAgY29uc3QgbmF2Q29udHJvbCA9IHBhcmVudE5hdkl0ZW0ucXVlcnlTZWxlY3RvcihOQVZfQ09OVFJPTCk7XG4gICAgaWYgKG5hdkNvbnRyb2wpIHtcbiAgICAgIG5hdkNvbnRyb2wuZm9jdXMoKTtcbiAgICB9XG4gIH1cbn07XG5cbmNvbnN0IGhhbmRsZUVzY2FwZSA9IChldmVudCkgPT4ge1xuICBoaWRlQWN0aXZlTmF2RHJvcGRvd24oKTtcbiAgZm9jdXNOYXZCdXR0b24oZXZlbnQpO1xufTtcblxubmF2aWdhdGlvbiA9IGJlaGF2aW9yKFxuICB7XG4gICAgW0NMSUNLXToge1xuICAgICAgW05BVl9DT05UUk9MXSgpIHtcbiAgICAgICAgLy8gSWYgYW5vdGhlciBuYXYgaXMgb3BlbiwgY2xvc2UgaXRcbiAgICAgICAgaWYgKG5hdkFjdGl2ZSAhPT0gdGhpcykge1xuICAgICAgICAgIGhpZGVBY3RpdmVOYXZEcm9wZG93bigpO1xuICAgICAgICB9XG4gICAgICAgIC8vIHN0b3JlIGEgcmVmZXJlbmNlIHRvIHRoZSBsYXN0IGNsaWNrZWQgbmF2IGxpbmsgZWxlbWVudCwgc28gd2VcbiAgICAgICAgLy8gY2FuIGhpZGUgdGhlIGRyb3Bkb3duIGlmIGFub3RoZXIgZWxlbWVudCBvbiB0aGUgcGFnZSBpcyBjbGlja2VkXG4gICAgICAgIGlmICghbmF2QWN0aXZlKSB7XG4gICAgICAgICAgbmF2QWN0aXZlID0gdGhpcztcbiAgICAgICAgICB0b2dnbGUobmF2QWN0aXZlLCB0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERvIHRoaXMgc28gdGhlIGV2ZW50IGhhbmRsZXIgb24gdGhlIGJvZHkgZG9lc24ndCBmaXJlXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH0sXG4gICAgICBbQk9EWV06IGhpZGVBY3RpdmVOYXZEcm9wZG93bixcbiAgICAgIFtPUEVORVJTXTogdG9nZ2xlTmF2LFxuICAgICAgW0NMT1NFUlNdOiB0b2dnbGVOYXYsXG4gICAgICBbTkFWX0xJTktTXSgpIHtcbiAgICAgICAgLy8gQSBuYXZpZ2F0aW9uIGxpbmsgaGFzIGJlZW4gY2xpY2tlZCEgV2Ugd2FudCB0byBjb2xsYXBzZSBhbnlcbiAgICAgICAgLy8gaGllcmFyY2hpY2FsIG5hdmlnYXRpb24gVUkgaXQncyBhIHBhcnQgb2YsIHNvIHRoYXQgdGhlIHVzZXJcbiAgICAgICAgLy8gY2FuIGZvY3VzIG9uIHdoYXRldmVyIHRoZXkndmUganVzdCBzZWxlY3RlZC5cblxuICAgICAgICAvLyBTb21lIG5hdmlnYXRpb24gbGlua3MgYXJlIGluc2lkZSBhY2NvcmRpb25zOyB3aGVuIHRoZXkncmVcbiAgICAgICAgLy8gY2xpY2tlZCwgd2Ugd2FudCB0byBjb2xsYXBzZSB0aG9zZSBhY2NvcmRpb25zLlxuICAgICAgICBjb25zdCBhY2MgPSB0aGlzLmNsb3Nlc3QoYWNjb3JkaW9uLkFDQ09SRElPTik7XG5cbiAgICAgICAgaWYgKGFjYykge1xuICAgICAgICAgIGFjY29yZGlvbi5nZXRCdXR0b25zKGFjYykuZm9yRWFjaCgoYnRuKSA9PiBhY2NvcmRpb24uaGlkZShidG4pKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIHRoZSBtb2JpbGUgbmF2aWdhdGlvbiBtZW51IGlzIGFjdGl2ZSwgd2Ugd2FudCB0byBoaWRlIGl0LlxuICAgICAgICBpZiAoaXNBY3RpdmUoKSkge1xuICAgICAgICAgIG5hdmlnYXRpb24udG9nZ2xlTmF2LmNhbGwobmF2aWdhdGlvbiwgZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0sXG4gICAga2V5ZG93bjoge1xuICAgICAgW05BVl9QUklNQVJZXToga2V5bWFwKHsgRXNjYXBlOiBoYW5kbGVFc2NhcGUgfSksXG4gICAgfSxcbiAgICBmb2N1c291dDoge1xuICAgICAgW05BVl9QUklNQVJZXShldmVudCkge1xuICAgICAgICBjb25zdCBuYXYgPSBldmVudC50YXJnZXQuY2xvc2VzdChOQVZfUFJJTUFSWSk7XG5cbiAgICAgICAgaWYgKCFuYXYuY29udGFpbnMoZXZlbnQucmVsYXRlZFRhcmdldCkpIHtcbiAgICAgICAgICBoaWRlQWN0aXZlTmF2RHJvcGRvd24oKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9LFxuICB9LFxuICB7XG4gICAgaW5pdChyb290KSB7XG4gICAgICBjb25zdCB0cmFwQ29udGFpbmVyID0gcm9vdC5tYXRjaGVzKE5BVikgPyByb290IDogcm9vdC5xdWVyeVNlbGVjdG9yKE5BVik7XG5cbiAgICAgIGlmICh0cmFwQ29udGFpbmVyKSB7XG4gICAgICAgIG5hdmlnYXRpb24uZm9jdXNUcmFwID0gRm9jdXNUcmFwKHRyYXBDb250YWluZXIsIHtcbiAgICAgICAgICBFc2NhcGU6IG9uTWVudUNsb3NlLFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgYWRkU2FmYXJpQ2xhc3MoKTtcbiAgICAgIHJlc2l6ZSgpO1xuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgcmVzaXplLCBmYWxzZSk7XG4gICAgfSxcbiAgICB0ZWFyZG93bigpIHtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIHJlc2l6ZSwgZmFsc2UpO1xuICAgICAgbmF2QWN0aXZlID0gZmFsc2U7XG4gICAgfSxcbiAgICBmb2N1c1RyYXA6IG51bGwsXG4gICAgdG9nZ2xlTmF2LFxuICB9LFxuKTtcblxubW9kdWxlLmV4cG9ydHMgPSBuYXZpZ2F0aW9uO1xuIiwiY29uc3Qgb25jZSA9IHJlcXVpcmUoXCJyZWNlcHRvci9vbmNlXCIpO1xuY29uc3Qga2V5bWFwID0gcmVxdWlyZShcInJlY2VwdG9yL2tleW1hcFwiKTtcbmNvbnN0IHNlbGVjdE9yTWF0Y2hlcyA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9zZWxlY3Qtb3ItbWF0Y2hlc1wiKTtcbmNvbnN0IGJlaGF2aW9yID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL2JlaGF2aW9yXCIpO1xuY29uc3QgeyBwcmVmaXg6IFBSRUZJWCB9ID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL2NvbmZpZ1wiKTtcbmNvbnN0IHsgQ0xJQ0sgfSA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy9ldmVudHNcIik7XG5jb25zdCBTYW5pdGl6ZXIgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvc2FuaXRpemVyXCIpO1xuXG5jb25zdCBDVVJSRU5UX0NMQVNTID0gYCR7UFJFRklYfS1jdXJyZW50YDtcbmNvbnN0IElOX1BBR0VfTkFWX0hFQURJTkdTID0gXCJoMiBoM1wiO1xuY29uc3QgSU5fUEFHRV9OQVZfVkFMSURfSEVBRElOR1MgPSBbXCJoMVwiLCBcImgyXCIsIFwiaDNcIiwgXCJoNFwiLCBcImg1XCIsIFwiaDZcIl07XG5jb25zdCBJTl9QQUdFX05BVl9USVRMRV9URVhUID0gXCJPbiB0aGlzIHBhZ2VcIjtcbmNvbnN0IElOX1BBR0VfTkFWX1RJVExFX0hFQURJTkdfTEVWRUwgPSBcImg0XCI7XG5jb25zdCBJTl9QQUdFX05BVl9TQ1JPTExfT0ZGU0VUID0gMDtcbmNvbnN0IElOX1BBR0VfTkFWX1JPT1RfTUFSR0lOID0gXCIwcHggMHB4IDBweCAwcHhcIjtcbmNvbnN0IElOX1BBR0VfTkFWX1RIUkVTSE9MRCA9IFwiMVwiO1xuY29uc3QgSU5fUEFHRV9OQVZfQ0xBU1MgPSBgJHtQUkVGSVh9LWluLXBhZ2UtbmF2YDtcbmNvbnN0IElOX1BBR0VfTkFWX0FOQ0hPUl9DTEFTUyA9IGAke1BSRUZJWH0tYW5jaG9yYDtcbmNvbnN0IElOX1BBR0VfTkFWX05BVl9DTEFTUyA9IGAke0lOX1BBR0VfTkFWX0NMQVNTfV9fbmF2YDtcbmNvbnN0IElOX1BBR0VfTkFWX0xJU1RfQ0xBU1MgPSBgJHtJTl9QQUdFX05BVl9DTEFTU31fX2xpc3RgO1xuY29uc3QgSU5fUEFHRV9OQVZfSVRFTV9DTEFTUyA9IGAke0lOX1BBR0VfTkFWX0NMQVNTfV9faXRlbWA7XG5jb25zdCBJTl9QQUdFX05BVl9QUklNQVJZX0lURU1fQ0xBU1MgPSBgJHtJTl9QQUdFX05BVl9JVEVNX0NMQVNTfS0tcHJpbWFyeWA7XG5jb25zdCBJTl9QQUdFX05BVl9MSU5LX0NMQVNTID0gYCR7SU5fUEFHRV9OQVZfQ0xBU1N9X19saW5rYDtcbmNvbnN0IElOX1BBR0VfTkFWX1RJVExFX0NMQVNTID0gYCR7SU5fUEFHRV9OQVZfQ0xBU1N9X19oZWFkaW5nYDtcbmNvbnN0IE1BSU5fRUxFTUVOVCA9IFwibWFpblwiO1xuXG4vKipcbiAqIFNldCB0aGUgYWN0aXZlIGxpbmsgc3RhdGUgZm9yIHRoZSBjdXJyZW50bHkgb2JzZXJ2ZWQgc2VjdGlvblxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsIEFuIGVsZW1lbnQgd2l0aGluIHRoZSBpbi1wYWdlIG5hdiBjb21wb25lbnRcbiAqL1xuY29uc3Qgc2V0QWN0aXZlID0gKGVsKSA9PiB7XG4gIGNvbnN0IGFsbExpbmtzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChgLiR7SU5fUEFHRV9OQVZfTElOS19DTEFTU31gKTtcbiAgZWwubWFwKChpKSA9PiB7XG4gICAgaWYgKGkuaXNJbnRlcnNlY3RpbmcgPT09IHRydWUgJiYgaS5pbnRlcnNlY3Rpb25SYXRpbyA+PSAxKSB7XG4gICAgICBhbGxMaW5rcy5mb3JFYWNoKChsaW5rKSA9PiBsaW5rLmNsYXNzTGlzdC5yZW1vdmUoQ1VSUkVOVF9DTEFTUykpO1xuICAgICAgZG9jdW1lbnRcbiAgICAgICAgLnF1ZXJ5U2VsZWN0b3IoYGFbaHJlZj1cIiMke2kudGFyZ2V0LmlkfVwiXWApXG4gICAgICAgIC5jbGFzc0xpc3QuYWRkKENVUlJFTlRfQ0xBU1MpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfSk7XG59O1xuXG4vKipcbiAqIFJldHVybiBhbiBhcnJheSBvZiB0aGUgZGVzaWduYXRlZCBoZWFkaW5nIHR5cGVzIGZvdW5kIGluIHRoZSBkZXNpZ25hdGVkIGNvbnRlbnQgcmVnaW9uLlxuICogVGhyb3cgYW4gZXJyb3IgaWYgYW4gaW52YWxpZCBoZWFkZXIgZWxlbWVudCBpcyBkZXNpZ25hdGVkLlxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IHNlbGVjdGVkQ29udGVudFJlZ2lvbiBUaGUgY29udGVudCByZWdpb24gdGhlIGNvbXBvbmVudCBzaG91bGQgcHVsbCBoZWFkZXJzIGZyb21cbiAqIEBwYXJhbSB7U3RyaW5nfSBzZWxlY3RlZEhlYWRpbmdUeXBlcyBUaGUgbGlzdCBvZiBoZWFkaW5nIHR5cGVzIHRoYXQgc2hvdWxkIGJlIGluY2x1ZGVkIGluIHRoZSBuYXYgbGlzdFxuICpcbiAqIEByZXR1cm4ge0FycmF5fSAtIEFuIGFycmF5IG9mIGRlc2lnbmF0ZWQgaGVhZGluZyB0eXBlcyBmcm9tIHRoZSBkZXNpZ25hdGVkIGNvbnRlbnQgcmVnaW9uXG4gKi9cbmNvbnN0IGNyZWF0ZVNlY3Rpb25IZWFkaW5nc0FycmF5ID0gKFxuICBzZWxlY3RlZENvbnRlbnRSZWdpb24sXG4gIHNlbGVjdGVkSGVhZGluZ1R5cGVzLFxuKSA9PiB7XG4gIC8vIENvbnZlcnQgZGVzaWduYXRlZCBoZWFkaW5ncyBsaXN0IHRvIGFuIGFycmF5XG4gIGNvbnN0IHNlbGVjdGVkSGVhZGluZ1R5cGVzQXJyYXkgPSBzZWxlY3RlZEhlYWRpbmdUeXBlcy5pbmRleE9mKFwiIFwiKVxuICAgID8gc2VsZWN0ZWRIZWFkaW5nVHlwZXMuc3BsaXQoXCIgXCIpXG4gICAgOiBzZWxlY3RlZEhlYWRpbmdUeXBlcztcbiAgY29uc3QgY29udGVudFJlZ2lvbiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0ZWRDb250ZW50UmVnaW9uKTtcblxuICBzZWxlY3RlZEhlYWRpbmdUeXBlc0FycmF5LmZvckVhY2goKGhlYWRpbmdUeXBlKSA9PiB7XG4gICAgaWYgKCFJTl9QQUdFX05BVl9WQUxJRF9IRUFESU5HUy5pbmNsdWRlcyhoZWFkaW5nVHlwZSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYEluLXBhZ2UgbmF2aWdhdGlvbjogZGF0YS1oZWFkaW5nLWVsZW1lbnRzIGF0dHJpYnV0ZSBkZWZpbmVkIHdpdGggYW4gaW52YWxpZCBoZWFkaW5nIHR5cGU6IFwiJHtoZWFkaW5nVHlwZX1cIi5cbiAgICAgICAgRGVmaW5lIHRoZSBhdHRyaWJ1dGUgd2l0aCBvbmUgb3IgbW9yZSBvZiB0aGUgZm9sbG93aW5nOiBcIiR7SU5fUEFHRV9OQVZfVkFMSURfSEVBRElOR1N9XCIuXG4gICAgICAgIERvIG5vdCB1c2UgY29tbWFzIG9yIG90aGVyIHB1bmN0dWF0aW9uIGluIHRoZSBhdHRyaWJ1dGUgZGVmaW5pdGlvbi5gLFxuICAgICAgKTtcbiAgICB9XG4gIH0pO1xuXG4gIGNvbnN0IHNlY3Rpb25IZWFkaW5nc0FycmF5ID0gQXJyYXkuZnJvbShcbiAgICBjb250ZW50UmVnaW9uLnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0ZWRIZWFkaW5nVHlwZXNBcnJheSksXG4gICk7XG5cbiAgcmV0dXJuIHNlY3Rpb25IZWFkaW5nc0FycmF5O1xufTtcblxuLyoqXG4gKiBSZXR1cm4gYW4gYXJyYXkgb2YgdGhlIHZpc2libGUgaGVhZGluZ3MgZnJvbSBzZWN0aW9uSGVhZGluZ3NBcnJheS5cbiAqIFRoaXMgZnVuY3Rpb24gcmVtb3ZlcyBoZWFkaW5ncyB0aGF0IGFyZSBoaWRkZW4gd2l0aCBkaXNwbGF5Om5vbmUgb3IgdmlzaWJpbGl0eTpub25lIHN0eWxlIHJ1bGVzLlxuICogVGhlc2UgaXRlbXMgd2lsbCBiZSBhZGRlZCB0byB0aGUgY29tcG9uZW50IG5hdiBsaXN0LlxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IHNlbGVjdGVkQ29udGVudFJlZ2lvbiBUaGUgY29udGVudCByZWdpb24gdGhlIGNvbXBvbmVudCBzaG91bGQgcHVsbCBoZWFkZXJzIGZyb21cbiAqIEBwYXJhbSB7U3RyaW5nfSBzZWxlY3RlZEhlYWRpbmdUeXBlcyBUaGUgbGlzdCBvZiBoZWFkaW5nIHR5cGVzIHRoYXQgc2hvdWxkIGJlIGluY2x1ZGVkIGluIHRoZSBuYXYgbGlzdFxuICpcbiAqIEByZXR1cm4ge0FycmF5fSAtIEFuIGFycmF5IG9mIHZpc2libGUgaGVhZGluZ3MgZnJvbSB0aGUgZGVzaWduYXRlZCBjb250ZW50IHJlZ2lvblxuICovXG5jb25zdCBnZXRWaXNpYmxlU2VjdGlvbkhlYWRpbmdzID0gKFxuICBzZWxlY3RlZENvbnRlbnRSZWdpb24sXG4gIHNlbGVjdGVkSGVhZGluZ1R5cGVzLFxuKSA9PiB7XG4gIGNvbnN0IHNlY3Rpb25IZWFkaW5ncyA9IGNyZWF0ZVNlY3Rpb25IZWFkaW5nc0FycmF5KFxuICAgIHNlbGVjdGVkQ29udGVudFJlZ2lvbixcbiAgICBzZWxlY3RlZEhlYWRpbmdUeXBlcyxcbiAgKTtcblxuICAvLyBGaW5kIGFsbCBoZWFkaW5ncyB3aXRoIGhpZGRlbiBzdHlsaW5nIGFuZCByZW1vdmUgdGhlbSBmcm9tIHRoZSBhcnJheVxuICBjb25zdCB2aXNpYmxlU2VjdGlvbkhlYWRpbmdzID0gc2VjdGlvbkhlYWRpbmdzLmZpbHRlcigoaGVhZGluZykgPT4ge1xuICAgIGNvbnN0IGhlYWRpbmdTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGhlYWRpbmcpO1xuICAgIGNvbnN0IHZpc2libGVIZWFkaW5nID1cbiAgICAgIGhlYWRpbmdTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKFwiZGlzcGxheVwiKSAhPT0gXCJub25lXCIgJiZcbiAgICAgIGhlYWRpbmdTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKFwidmlzaWJpbGl0eVwiKSAhPT0gXCJoaWRkZW5cIjtcblxuICAgIHJldHVybiB2aXNpYmxlSGVhZGluZztcbiAgfSk7XG5cbiAgcmV0dXJuIHZpc2libGVTZWN0aW9uSGVhZGluZ3M7XG59O1xuXG4vKipcbiAqIFJldHVybiB0aGUgaGlnaGVzdC1sZXZlbCBoZWFkZXIgdGFnIGluY2x1ZGVkIGluIHRoZSBsaW5rIGxpc3RcbiAqXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBzZWN0aW9uSGVhZGluZ3MgVGhlIGFycmF5IG9mIGhlYWRpbmdzIHNlbGVjdGVkIGZvciBpbmNsdXNpb24gaW4gdGhlIGxpbmsgbGlzdFxuICpcbiAqIEByZXR1cm4ge3RhZ05hbWV9IC0gVGhlIHRhZyBuYW1lIGZvciB0aGUgaGlnaGVzdCBsZXZlbCBvZiBoZWFkZXIgaW4gdGhlIGxpbmsgbGlzdFxuICovXG5cbmNvbnN0IGdldFRvcExldmVsSGVhZGluZyA9IChzZWN0aW9uSGVhZGluZ3MpID0+IHtcbiAgY29uc3QgdG9wSGVhZGluZyA9IHNlY3Rpb25IZWFkaW5nc1swXS50YWdOYW1lLnRvTG93ZXJDYXNlKCk7XG4gIHJldHVybiB0b3BIZWFkaW5nO1xufTtcblxuLyoqXG4gKiBSZXR1cm4gYSBub2RlIGxpc3Qgb2Ygc2VjdGlvbiBhbmNob3IgdGFnc1xuICpcbiAqIEByZXR1cm4ge0hUTUxFbGVtZW50W119IC0gQW4gYXJyYXkgb2YgRE9NIG5vZGVzXG4gKi9cbmNvbnN0IGdldFNlY3Rpb25BbmNob3JzID0gKCkgPT4ge1xuICBjb25zdCBzZWN0aW9uQW5jaG9ycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXG4gICAgYC4ke0lOX1BBR0VfTkFWX0FOQ0hPUl9DTEFTU31gLFxuICApO1xuICByZXR1cm4gc2VjdGlvbkFuY2hvcnM7XG59O1xuXG4vKipcbiAqIEdlbmVyYXRlcyBhIHVuaXF1ZSBJRCBmb3IgdGhlIGdpdmVuIGhlYWRpbmcgZWxlbWVudC5cbiAqXG4gKiBAcGFyYW0ge0hUTUxIZWFkaW5nRWxlbWVudH0gaGVhZGluZ1xuICpcbiAqIEByZXR1cm4ge3N0cmluZ30gLSBVbmlxdWUgSURcbiAqL1xuY29uc3QgZ2V0SGVhZGluZ0lkID0gKGhlYWRpbmcpID0+IHtcbiAgY29uc3QgYmFzZUlkID0gaGVhZGluZy50ZXh0Q29udGVudFxuICAgIC50b0xvd2VyQ2FzZSgpXG4gICAgLy8gUmVwbGFjZSBub24tYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgd2l0aCBkYXNoZXNcbiAgICAucmVwbGFjZSgvW15hLXpcXGRdL2csIFwiLVwiKVxuICAgIC8vIFJlcGxhY2UgYSBzZXF1ZW5jZSBvZiB0d28gb3IgbW9yZSBkYXNoZXMgd2l0aCBhIHNpbmdsZSBkYXNoXG4gICAgLnJlcGxhY2UoLy17Mix9L2csIFwiLVwiKVxuICAgIC8vIFRyaW0gbGVhZGluZyBvciB0cmFpbGluZyBkYXNoICh0aGVyZSBzaG91bGQgb25seSBldmVyIGJlIG9uZSlcbiAgICAucmVwbGFjZSgvXi18LSQvZywgXCJcIik7XG5cbiAgbGV0IGlkO1xuICBsZXQgc3VmZml4ID0gMDtcbiAgZG8ge1xuICAgIGlkID0gYmFzZUlkO1xuXG4gICAgLy8gVG8gYXZvaWQgY29uZmxpY3RzIHdpdGggZXhpc3RpbmcgSURzIG9uIHRoZSBwYWdlLCBsb29wIGFuZCBhcHBlbmQgYW5cbiAgICAvLyBpbmNyZW1lbnRlZCBzdWZmaXggdW50aWwgYSB1bmlxdWUgSUQgaXMgZm91bmQuXG4gICAgc3VmZml4ICs9IDE7XG4gICAgaWYgKHN1ZmZpeCA+IDEpIHtcbiAgICAgIGlkICs9IGAtJHtzdWZmaXh9YDtcbiAgICB9XG4gIH0gd2hpbGUgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKSk7XG5cbiAgcmV0dXJuIGlkO1xufTtcblxuLyoqXG4gKiBSZXR1cm4gYSBzZWN0aW9uIGlkL2FuY2hvciBoYXNoIHdpdGhvdXQgdGhlIG51bWJlciBzaWduXG4gKlxuICogQHJldHVybiB7U3RyaW5nfSAtIElkIHZhbHVlIHdpdGggdGhlIG51bWJlciBzaWduIHJlbW92ZWRcbiAqL1xuY29uc3QgZ2V0U2VjdGlvbklkID0gKHZhbHVlKSA9PiB7XG4gIGxldCBpZDtcblxuICAvLyBDaGVjayBpZiB2YWx1ZSBpcyBhbiBldmVudCBvciBlbGVtZW50IGFuZCBnZXQgdGhlIGNsZWFuZWQgdXAgaWRcbiAgaWYgKHZhbHVlICYmIHZhbHVlLm5vZGVUeXBlID09PSAxKSB7XG4gICAgaWQgPSB2YWx1ZS5nZXRBdHRyaWJ1dGUoXCJocmVmXCIpLnJlcGxhY2UoXCIjXCIsIFwiXCIpO1xuICB9IGVsc2Uge1xuICAgIGlkID0gdmFsdWUudGFyZ2V0Lmhhc2gucmVwbGFjZShcIiNcIiwgXCJcIik7XG4gIH1cblxuICByZXR1cm4gaWQ7XG59O1xuXG4vKipcbiAqIFNjcm9sbCBzbW9vdGhseSB0byBhIHNlY3Rpb24gYmFzZWQgb24gdGhlIHBhc3NlZCBpbiBlbGVtZW50XG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gLSBJZCB2YWx1ZSB3aXRoIHRoZSBudW1iZXIgc2lnbiByZW1vdmVkXG4gKi9cbmNvbnN0IGhhbmRsZVNjcm9sbFRvU2VjdGlvbiA9IChlbCkgPT4ge1xuICBjb25zdCBpblBhZ2VOYXZFbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYC4ke0lOX1BBR0VfTkFWX0NMQVNTfWApO1xuICBjb25zdCBpblBhZ2VOYXZTY3JvbGxPZmZzZXQgPVxuICAgIGluUGFnZU5hdkVsLmRhdGFzZXQuc2Nyb2xsT2Zmc2V0IHx8IElOX1BBR0VfTkFWX1NDUk9MTF9PRkZTRVQ7XG5cbiAgd2luZG93LnNjcm9sbCh7XG4gICAgYmVoYXZpb3I6IFwic21vb3RoXCIsXG4gICAgdG9wOiBlbC5vZmZzZXRUb3AgLSBpblBhZ2VOYXZTY3JvbGxPZmZzZXQsXG4gICAgYmxvY2s6IFwic3RhcnRcIixcbiAgfSk7XG5cbiAgaWYgKHdpbmRvdy5sb2NhdGlvbi5oYXNoLnNsaWNlKDEpICE9PSBlbC5pZCkge1xuICAgIHdpbmRvdy5oaXN0b3J5LnB1c2hTdGF0ZShudWxsLCBcIlwiLCBgIyR7ZWwuaWR9YCk7XG4gIH1cbn07XG5cbi8qKlxuICogU2Nyb2xscyB0aGUgcGFnZSB0byB0aGUgc2VjdGlvbiBjb3JyZXNwb25kaW5nIHRvIHRoZSBjdXJyZW50IGhhc2ggZnJhZ21lbnQsIGlmIG9uZSBleGlzdHMuXG4gKi9cbmNvbnN0IHNjcm9sbFRvQ3VycmVudFNlY3Rpb24gPSAoKSA9PiB7XG4gIGNvbnN0IGhhc2hGcmFnbWVudCA9IHdpbmRvdy5sb2NhdGlvbi5oYXNoLnNsaWNlKDEpO1xuICBpZiAoaGFzaEZyYWdtZW50KSB7XG4gICAgY29uc3QgYW5jaG9yVGFnID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaGFzaEZyYWdtZW50KTtcbiAgICBpZiAoYW5jaG9yVGFnKSB7XG4gICAgICBoYW5kbGVTY3JvbGxUb1NlY3Rpb24oYW5jaG9yVGFnKTtcbiAgICB9XG4gIH1cbn07XG5cbi8qKlxuICogQ3JlYXRlIHRoZSBpbi1wYWdlIG5hdmlnYXRpb24gY29tcG9uZW50XG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gaW5QYWdlTmF2RWwgVGhlIGluLXBhZ2UgbmF2IGVsZW1lbnRcbiAqL1xuY29uc3QgY3JlYXRlSW5QYWdlTmF2ID0gKGluUGFnZU5hdkVsKSA9PiB7XG4gIGNvbnN0IGluUGFnZU5hdlRpdGxlVGV4dCA9IFNhbml0aXplci5lc2NhcGVIVE1MYCR7XG4gICAgaW5QYWdlTmF2RWwuZGF0YXNldC50aXRsZVRleHQgfHwgSU5fUEFHRV9OQVZfVElUTEVfVEVYVFxuICB9YDtcbiAgY29uc3QgaW5QYWdlTmF2VGl0bGVIZWFkaW5nTGV2ZWwgPSBTYW5pdGl6ZXIuZXNjYXBlSFRNTGAke1xuICAgIGluUGFnZU5hdkVsLmRhdGFzZXQudGl0bGVIZWFkaW5nTGV2ZWwgfHwgSU5fUEFHRV9OQVZfVElUTEVfSEVBRElOR19MRVZFTFxuICB9YDtcbiAgY29uc3QgaW5QYWdlTmF2Um9vdE1hcmdpbiA9IFNhbml0aXplci5lc2NhcGVIVE1MYCR7XG4gICAgaW5QYWdlTmF2RWwuZGF0YXNldC5yb290TWFyZ2luIHx8IElOX1BBR0VfTkFWX1JPT1RfTUFSR0lOXG4gIH1gO1xuICBjb25zdCBpblBhZ2VOYXZUaHJlc2hvbGQgPSBTYW5pdGl6ZXIuZXNjYXBlSFRNTGAke1xuICAgIGluUGFnZU5hdkVsLmRhdGFzZXQudGhyZXNob2xkIHx8IElOX1BBR0VfTkFWX1RIUkVTSE9MRFxuICB9YDtcbiAgY29uc3QgaW5QYWdlTmF2Q29udGVudFNlbGVjdG9yID0gU2FuaXRpemVyLmVzY2FwZUhUTUxgJHtcbiAgICBpblBhZ2VOYXZFbC5kYXRhc2V0Lm1haW5Db250ZW50U2VsZWN0b3IgfHwgTUFJTl9FTEVNRU5UXG4gIH1gO1xuICBjb25zdCBpblBhZ2VOYXZIZWFkaW5nU2VsZWN0b3IgPSBTYW5pdGl6ZXIuZXNjYXBlSFRNTGAke1xuICAgIGluUGFnZU5hdkVsLmRhdGFzZXQuaGVhZGluZ0VsZW1lbnRzIHx8IElOX1BBR0VfTkFWX0hFQURJTkdTXG4gIH1gO1xuXG4gIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgcm9vdDogbnVsbCxcbiAgICByb290TWFyZ2luOiBpblBhZ2VOYXZSb290TWFyZ2luLFxuICAgIHRocmVzaG9sZDogW2luUGFnZU5hdlRocmVzaG9sZF0sXG4gIH07XG5cbiAgY29uc3Qgc2VjdGlvbkhlYWRpbmdzID0gZ2V0VmlzaWJsZVNlY3Rpb25IZWFkaW5ncyhcbiAgICBpblBhZ2VOYXZDb250ZW50U2VsZWN0b3IsXG4gICAgaW5QYWdlTmF2SGVhZGluZ1NlbGVjdG9yLFxuICApO1xuICBjb25zdCBpblBhZ2VOYXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwibmF2XCIpO1xuICBpblBhZ2VOYXYuc2V0QXR0cmlidXRlKFwiYXJpYS1sYWJlbFwiLCBpblBhZ2VOYXZUaXRsZVRleHQpO1xuICBpblBhZ2VOYXYuY2xhc3NMaXN0LmFkZChJTl9QQUdFX05BVl9OQVZfQ0xBU1MpO1xuXG4gIGNvbnN0IGluUGFnZU5hdlRpdGxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChpblBhZ2VOYXZUaXRsZUhlYWRpbmdMZXZlbCk7XG4gIGluUGFnZU5hdlRpdGxlLmNsYXNzTGlzdC5hZGQoSU5fUEFHRV9OQVZfVElUTEVfQ0xBU1MpO1xuICBpblBhZ2VOYXZUaXRsZS5zZXRBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiLCBcIjBcIik7XG4gIGluUGFnZU5hdlRpdGxlLnRleHRDb250ZW50ID0gaW5QYWdlTmF2VGl0bGVUZXh0O1xuICBpblBhZ2VOYXYuYXBwZW5kQ2hpbGQoaW5QYWdlTmF2VGl0bGUpO1xuXG4gIGNvbnN0IGluUGFnZU5hdkxpc3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwidWxcIik7XG4gIGluUGFnZU5hdkxpc3QuY2xhc3NMaXN0LmFkZChJTl9QQUdFX05BVl9MSVNUX0NMQVNTKTtcbiAgaW5QYWdlTmF2LmFwcGVuZENoaWxkKGluUGFnZU5hdkxpc3QpO1xuXG4gIHNlY3Rpb25IZWFkaW5ncy5mb3JFYWNoKChlbCkgPT4ge1xuICAgIGNvbnN0IGxpc3RJdGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImxpXCIpO1xuICAgIGNvbnN0IG5hdkxpbmtzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImFcIik7XG4gICAgY29uc3QgYW5jaG9yVGFnID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImFcIik7XG4gICAgY29uc3QgdGV4dENvbnRlbnRPZkxpbmsgPSBlbC50ZXh0Q29udGVudDtcbiAgICBjb25zdCB0YWcgPSBlbC50YWdOYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3QgdG9wSGVhZGluZ0xldmVsID0gZ2V0VG9wTGV2ZWxIZWFkaW5nKHNlY3Rpb25IZWFkaW5ncyk7XG4gICAgY29uc3QgaGVhZGluZ0lkID0gZ2V0SGVhZGluZ0lkKGVsKTtcblxuICAgIGxpc3RJdGVtLmNsYXNzTGlzdC5hZGQoSU5fUEFHRV9OQVZfSVRFTV9DTEFTUyk7XG5cbiAgICBpZiAodGFnID09PSB0b3BIZWFkaW5nTGV2ZWwpIHtcbiAgICAgIGxpc3RJdGVtLmNsYXNzTGlzdC5hZGQoSU5fUEFHRV9OQVZfUFJJTUFSWV9JVEVNX0NMQVNTKTtcbiAgICB9XG5cbiAgICBuYXZMaW5rcy5zZXRBdHRyaWJ1dGUoXCJocmVmXCIsIGAjJHtoZWFkaW5nSWR9YCk7XG4gICAgbmF2TGlua3Muc2V0QXR0cmlidXRlKFwiY2xhc3NcIiwgSU5fUEFHRV9OQVZfTElOS19DTEFTUyk7XG4gICAgbmF2TGlua3MudGV4dENvbnRlbnQgPSB0ZXh0Q29udGVudE9mTGluaztcblxuICAgIGFuY2hvclRhZy5zZXRBdHRyaWJ1dGUoXCJpZFwiLCBoZWFkaW5nSWQpO1xuICAgIGFuY2hvclRhZy5zZXRBdHRyaWJ1dGUoXCJjbGFzc1wiLCBJTl9QQUdFX05BVl9BTkNIT1JfQ0xBU1MpO1xuICAgIGVsLmluc2VydEFkamFjZW50RWxlbWVudChcImFmdGVyYmVnaW5cIiwgYW5jaG9yVGFnKTtcblxuICAgIGluUGFnZU5hdkxpc3QuYXBwZW5kQ2hpbGQobGlzdEl0ZW0pO1xuICAgIGxpc3RJdGVtLmFwcGVuZENoaWxkKG5hdkxpbmtzKTtcbiAgfSk7XG5cbiAgaW5QYWdlTmF2RWwuYXBwZW5kQ2hpbGQoaW5QYWdlTmF2KTtcblxuICBjb25zdCBhbmNob3JUYWdzID0gZ2V0U2VjdGlvbkFuY2hvcnMoKTtcbiAgY29uc3Qgb2JzZXJ2ZVNlY3Rpb25zID0gbmV3IHdpbmRvdy5JbnRlcnNlY3Rpb25PYnNlcnZlcihzZXRBY3RpdmUsIG9wdGlvbnMpO1xuXG4gIGFuY2hvclRhZ3MuZm9yRWFjaCgodGFnKSA9PiB7XG4gICAgb2JzZXJ2ZVNlY3Rpb25zLm9ic2VydmUodGFnKTtcbiAgfSk7XG59O1xuXG4vKipcbiAqIEhhbmRsZSBjbGljayBmcm9tIGxpbmtcbiAqXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBlbCBBbiBlbGVtZW50IHdpdGhpbiB0aGUgaW4tcGFnZSBuYXYgY29tcG9uZW50XG4gKi9cbmNvbnN0IGhhbmRsZUNsaWNrRnJvbUxpbmsgPSAoZWwpID0+IHtcbiAgY29uc3QgZWxlbWVudFRvU2Nyb2xsVG8gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbC5oYXNoLnNsaWNlKDEpKTtcbiAgaGFuZGxlU2Nyb2xsVG9TZWN0aW9uKGVsZW1lbnRUb1Njcm9sbFRvKTtcbn07XG5cbi8qKlxuICogSGFuZGxlIHRoZSBlbnRlciBldmVudCBmcm9tIGEgbGluayB3aXRoaW4gdGhlIGluLXBhZ2UgbmF2IGNvbXBvbmVudFxuICpcbiAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQgQW4gZXZlbnQgd2l0aGluIHRoZSBpbi1wYWdlIG5hdiBjb21wb25lbnRcbiAqL1xuY29uc3QgaGFuZGxlRW50ZXJGcm9tTGluayA9IChldmVudCkgPT4ge1xuICBjb25zdCBpZCA9IGdldFNlY3Rpb25JZChldmVudCk7XG4gIGNvbnN0IHRhcmdldEFuY2hvciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtcbiAgY29uc3QgdGFyZ2V0ID0gdGFyZ2V0QW5jaG9yLnBhcmVudEVsZW1lbnQ7XG5cbiAgaWYgKHRhcmdldCkge1xuICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiLCAwKTtcbiAgICB0YXJnZXQuZm9jdXMoKTtcbiAgICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgIFwiYmx1clwiLFxuICAgICAgb25jZSgoKSA9PiB7XG4gICAgICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiLCAtMSk7XG4gICAgICB9KSxcbiAgICApO1xuICB9IGVsc2Uge1xuICAgIC8vIHRocm93IGFuIGVycm9yP1xuICB9XG4gIGhhbmRsZVNjcm9sbFRvU2VjdGlvbih0YXJnZXRBbmNob3IpO1xufTtcblxuY29uc3QgaW5QYWdlTmF2aWdhdGlvbiA9IGJlaGF2aW9yKFxuICB7XG4gICAgW0NMSUNLXToge1xuICAgICAgW2AuJHtJTl9QQUdFX05BVl9MSU5LX0NMQVNTfWBdKGV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XG4gICAgICAgIGhhbmRsZUNsaWNrRnJvbUxpbmsodGhpcyk7XG4gICAgICB9LFxuICAgIH0sXG4gICAga2V5ZG93bjoge1xuICAgICAgW2AuJHtJTl9QQUdFX05BVl9MSU5LX0NMQVNTfWBdOiBrZXltYXAoe1xuICAgICAgICBFbnRlcjogaGFuZGxlRW50ZXJGcm9tTGluayxcbiAgICAgIH0pLFxuICAgIH0sXG4gIH0sXG4gIHtcbiAgICBpbml0KHJvb3QpIHtcbiAgICAgIHNlbGVjdE9yTWF0Y2hlcyhgLiR7SU5fUEFHRV9OQVZfQ0xBU1N9YCwgcm9vdCkuZm9yRWFjaCgoaW5QYWdlTmF2RWwpID0+IHtcbiAgICAgICAgY3JlYXRlSW5QYWdlTmF2KGluUGFnZU5hdkVsKTtcbiAgICAgICAgc2Nyb2xsVG9DdXJyZW50U2VjdGlvbigpO1xuICAgICAgfSk7XG4gICAgfSxcbiAgfSxcbik7XG5cbm1vZHVsZS5leHBvcnRzID0gaW5QYWdlTmF2aWdhdGlvbjtcbiIsImNvbnN0IHNlbGVjdE9yTWF0Y2hlcyA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9zZWxlY3Qtb3ItbWF0Y2hlc1wiKTtcbmNvbnN0IGJlaGF2aW9yID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL2JlaGF2aW9yXCIpO1xuY29uc3QgeyBwcmVmaXg6IFBSRUZJWCB9ID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL2NvbmZpZ1wiKTtcblxuY29uc3QgTUFTS0VEX0NMQVNTID0gYCR7UFJFRklYfS1tYXNrZWRgO1xuY29uc3QgTUFTS0VEID0gYC4ke01BU0tFRF9DTEFTU31gO1xuY29uc3QgTUFTSyA9IGAke1BSRUZJWH0taW5wdXQtbWFza2A7XG5jb25zdCBNQVNLX0NPTlRFTlQgPSBgJHtNQVNLfS0tY29udGVudGA7XG5jb25zdCBQTEFDRUhPTERFUiA9IFwicGxhY2Vob2xkZXJcIjtcblxuLy8gVXNlciBkZWZpbmVkIFZhbHVlc1xuY29uc3QgbWFza2VkTnVtYmVyID0gXCJfI2REbU15WTlcIjtcbmNvbnN0IG1hc2tlZExldHRlciA9IFwiQVwiO1xuXG4vLyByZXBsYWNlcyBlYWNoIG1hc2tlZCBpbnB1dCB3aXRoIGEgc2hlbGwgY29udGFpbmluZyB0aGUgaW5wdXQgYW5kIGl0J3MgbWFzay5cbmNvbnN0IGNyZWF0ZU1hc2tlZElucHV0U2hlbGwgPSAoaW5wdXQpID0+IHtcbiAgY29uc3QgcGxhY2Vob2xkZXIgPSBpbnB1dC5nZXRBdHRyaWJ1dGUoYCR7UExBQ0VIT0xERVJ9YCk7XG4gIGlmIChwbGFjZWhvbGRlcikge1xuICAgIGlucHV0LnNldEF0dHJpYnV0ZShcIm1heGxlbmd0aFwiLCBwbGFjZWhvbGRlci5sZW5ndGgpO1xuICAgIGlucHV0LnNldEF0dHJpYnV0ZShcImRhdGEtcGxhY2Vob2xkZXJcIiwgcGxhY2Vob2xkZXIpO1xuICAgIGlucHV0LnJlbW92ZUF0dHJpYnV0ZShgJHtQTEFDRUhPTERFUn1gKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBzaGVsbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIpO1xuICBzaGVsbC5jbGFzc0xpc3QuYWRkKE1BU0spO1xuICBzaGVsbC5zZXRBdHRyaWJ1dGUoXCJkYXRhLW1hc2tcIiwgcGxhY2Vob2xkZXIpO1xuXG4gIGNvbnN0IGNvbnRlbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3BhblwiKTtcbiAgY29udGVudC5jbGFzc0xpc3QuYWRkKE1BU0tfQ09OVEVOVCk7XG4gIGNvbnRlbnQuc2V0QXR0cmlidXRlKFwiYXJpYS1oaWRkZW5cIiwgXCJ0cnVlXCIpO1xuICBjb250ZW50LmlkID0gYCR7aW5wdXQuaWR9TWFza2A7XG4gIGNvbnRlbnQudGV4dENvbnRlbnQgPSBwbGFjZWhvbGRlcjtcblxuICBzaGVsbC5hcHBlbmRDaGlsZChjb250ZW50KTtcbiAgaW5wdXQucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoc2hlbGwsIGlucHV0KTtcbiAgc2hlbGwuYXBwZW5kQ2hpbGQoaW5wdXQpO1xufTtcblxuY29uc3Qgc2V0VmFsdWVPZk1hc2sgPSAoZWwpID0+IHtcbiAgY29uc3QgeyB2YWx1ZSB9ID0gZWw7XG4gIGNvbnN0IHBsYWNlaG9sZGVyVmFsID0gYCR7ZWwuZGF0YXNldC5wbGFjZWhvbGRlci5zdWJzdHIodmFsdWUubGVuZ3RoKX1gO1xuXG4gIGNvbnN0IHRoZUlFbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJpXCIpO1xuICB0aGVJRWwudGV4dENvbnRlbnQgPSB2YWx1ZTtcbiAgcmV0dXJuIFt0aGVJRWwsIHBsYWNlaG9sZGVyVmFsXTtcbn07XG5cbmNvbnN0IHN0cmlwcGVkVmFsdWUgPSAoaXNDaGFyc2V0UHJlc2VudCwgdmFsdWUpID0+XG4gIGlzQ2hhcnNldFByZXNlbnQgPyB2YWx1ZS5yZXBsYWNlKC9cXFcvZywgXCJcIikgOiB2YWx1ZS5yZXBsYWNlKC9cXEQvZywgXCJcIik7XG5cbmNvbnN0IGlzSW50ZWdlciA9ICh2YWx1ZSkgPT4gIU51bWJlci5pc05hTihwYXJzZUludCh2YWx1ZSwgMTApKTtcblxuY29uc3QgaXNMZXR0ZXIgPSAodmFsdWUpID0+ICh2YWx1ZSA/IHZhbHVlLm1hdGNoKC9bQS1aXS9pKSA6IGZhbHNlKTtcblxuY29uc3QgaGFuZGxlQ3VycmVudFZhbHVlID0gKGVsKSA9PiB7XG4gIGNvbnN0IGlzQ2hhcnNldFByZXNlbnQgPSBlbC5kYXRhc2V0LmNoYXJzZXQ7XG4gIGNvbnN0IHBsYWNlaG9sZGVyID0gaXNDaGFyc2V0UHJlc2VudCB8fCBlbC5kYXRhc2V0LnBsYWNlaG9sZGVyO1xuICBjb25zdCB7IHZhbHVlIH0gPSBlbDtcbiAgY29uc3QgbGVuID0gcGxhY2Vob2xkZXIubGVuZ3RoO1xuICBsZXQgbmV3VmFsdWUgPSBcIlwiO1xuICBsZXQgaTtcbiAgbGV0IGNoYXJJbmRleDtcblxuICBjb25zdCBzdHJpcHBlZFZhbCA9IHN0cmlwcGVkVmFsdWUoaXNDaGFyc2V0UHJlc2VudCwgdmFsdWUpO1xuXG4gIGZvciAoaSA9IDAsIGNoYXJJbmRleCA9IDA7IGkgPCBsZW47IGkgKz0gMSkge1xuICAgIGNvbnN0IGlzSW50ID0gaXNJbnRlZ2VyKHN0cmlwcGVkVmFsW2NoYXJJbmRleF0pO1xuICAgIGNvbnN0IGlzTGV0ID0gaXNMZXR0ZXIoc3RyaXBwZWRWYWxbY2hhckluZGV4XSk7XG4gICAgY29uc3QgbWF0Y2hlc051bWJlciA9IG1hc2tlZE51bWJlci5pbmRleE9mKHBsYWNlaG9sZGVyW2ldKSA+PSAwO1xuICAgIGNvbnN0IG1hdGNoZXNMZXR0ZXIgPSBtYXNrZWRMZXR0ZXIuaW5kZXhPZihwbGFjZWhvbGRlcltpXSkgPj0gMDtcblxuICAgIGlmIChcbiAgICAgIChtYXRjaGVzTnVtYmVyICYmIGlzSW50KSB8fFxuICAgICAgKGlzQ2hhcnNldFByZXNlbnQgJiYgbWF0Y2hlc0xldHRlciAmJiBpc0xldClcbiAgICApIHtcbiAgICAgIG5ld1ZhbHVlICs9IHN0cmlwcGVkVmFsW2NoYXJJbmRleF07XG4gICAgICBjaGFySW5kZXggKz0gMTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgKCFpc0NoYXJzZXRQcmVzZW50ICYmICFpc0ludCAmJiBtYXRjaGVzTnVtYmVyKSB8fFxuICAgICAgKGlzQ2hhcnNldFByZXNlbnQgJiZcbiAgICAgICAgKChtYXRjaGVzTGV0dGVyICYmICFpc0xldCkgfHwgKG1hdGNoZXNOdW1iZXIgJiYgIWlzSW50KSkpXG4gICAgKSB7XG4gICAgICByZXR1cm4gbmV3VmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5ld1ZhbHVlICs9IHBsYWNlaG9sZGVyW2ldO1xuICAgIH1cbiAgICAvLyBicmVhayBpZiBubyBjaGFyYWN0ZXJzIGxlZnQgYW5kIHRoZSBwYXR0ZXJuIGlzIG5vbi1zcGVjaWFsIGNoYXJhY3RlclxuICAgIGlmIChzdHJpcHBlZFZhbFtjaGFySW5kZXhdID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBuZXdWYWx1ZTtcbn07XG5cbmNvbnN0IGhhbmRsZVZhbHVlQ2hhbmdlID0gKGVsKSA9PiB7XG4gIGNvbnN0IGlucHV0RWwgPSBlbDtcbiAgY29uc3QgaWQgPSBpbnB1dEVsLmdldEF0dHJpYnV0ZShcImlkXCIpO1xuICBpbnB1dEVsLnZhbHVlID0gaGFuZGxlQ3VycmVudFZhbHVlKGlucHV0RWwpO1xuXG4gIGNvbnN0IG1hc2tWYWwgPSBzZXRWYWx1ZU9mTWFzayhlbCk7XG4gIGNvbnN0IG1hc2tFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGAke2lkfU1hc2tgKTtcbiAgbWFza0VsLnRleHRDb250ZW50ID0gXCJcIjtcbiAgbWFza0VsLnJlcGxhY2VDaGlsZHJlbihtYXNrVmFsWzBdLCBtYXNrVmFsWzFdKTtcbn07XG5cbmNvbnN0IGlucHV0TWFza0V2ZW50cyA9IHtcbiAga2V5dXA6IHtcbiAgICBbTUFTS0VEXSgpIHtcbiAgICAgIGhhbmRsZVZhbHVlQ2hhbmdlKHRoaXMpO1xuICAgIH0sXG4gIH0sXG59O1xuXG5jb25zdCBpbnB1dE1hc2sgPSBiZWhhdmlvcihpbnB1dE1hc2tFdmVudHMsIHtcbiAgaW5pdChyb290KSB7XG4gICAgc2VsZWN0T3JNYXRjaGVzKE1BU0tFRCwgcm9vdCkuZm9yRWFjaCgobWFza2VkSW5wdXQpID0+IHtcbiAgICAgIGNyZWF0ZU1hc2tlZElucHV0U2hlbGwobWFza2VkSW5wdXQpO1xuICAgIH0pO1xuICB9LFxufSk7XG5cbm1vZHVsZS5leHBvcnRzID0gaW5wdXRNYXNrO1xuIiwiY29uc3Qga2V5bWFwID0gcmVxdWlyZShcInJlY2VwdG9yL2tleW1hcFwiKTtcbmNvbnN0IGJlaGF2aW9yID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL2JlaGF2aW9yXCIpO1xuY29uc3QgdG9nZ2xlID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3RvZ2dsZVwiKTtcbmNvbnN0IEZvY3VzVHJhcCA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9mb2N1cy10cmFwXCIpO1xuY29uc3QgYWNjb3JkaW9uID0gcmVxdWlyZShcIi4uLy4uL3VzYS1hY2NvcmRpb24vc3JjL2luZGV4XCIpO1xuXG5jb25zdCB7IENMSUNLIH0gPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvZXZlbnRzXCIpO1xuY29uc3QgeyBwcmVmaXg6IFBSRUZJWCB9ID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL2NvbmZpZ1wiKTtcblxuY29uc3QgQk9EWSA9IFwiYm9keVwiO1xuY29uc3QgTEFOR1VBR0UgPSBgLiR7UFJFRklYfS1sYW5ndWFnZWA7XG5jb25zdCBMQU5HVUFHRV9TVUIgPSBgLiR7UFJFRklYfS1sYW5ndWFnZV9fc3VibWVudWA7XG5jb25zdCBMQU5HVUFHRV9QUklNQVJZID0gYC4ke1BSRUZJWH0tbGFuZ3VhZ2VfX3ByaW1hcnlgO1xuY29uc3QgTEFOR1VBR0VfUFJJTUFSWV9JVEVNID0gYC4ke1BSRUZJWH0tbGFuZ3VhZ2VfX3ByaW1hcnktaXRlbWA7XG5jb25zdCBMQU5HVUFHRV9DT05UUk9MID0gYGJ1dHRvbi4ke1BSRUZJWH0tbGFuZ3VhZ2VfX2xpbmtgO1xuY29uc3QgTEFOR1VBR0VfTElOS1MgPSBgJHtMQU5HVUFHRX0gYWA7XG5cbmxldCBsYW5ndWFnZVNlbGVjdG9yO1xubGV0IGxhbmd1YWdlQWN0aXZlO1xuXG5jb25zdCBvbkxhbmd1YWdlQ2xvc2UgPSAoKSA9PlxuICBsYW5ndWFnZVNlbGVjdG9yLnRvZ2dsZUxhbmd1YWdlLmNhbGwobGFuZ3VhZ2VTZWxlY3RvciwgZmFsc2UpO1xuXG5jb25zdCBoaWRlQWN0aXZlTGFuZ3VhZ2VEcm9wZG93biA9ICgpID0+IHtcbiAgaWYgKCFsYW5ndWFnZUFjdGl2ZSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHRvZ2dsZShsYW5ndWFnZUFjdGl2ZSwgZmFsc2UpO1xuICBsYW5ndWFnZUFjdGl2ZSA9IG51bGw7XG59O1xuXG5jb25zdCBmb2N1c0xhbmd1YWdlQnV0dG9uID0gKGV2ZW50KSA9PiB7XG4gIGNvbnN0IHBhcmVudExhbmd1YWdlSXRlbSA9IGV2ZW50LnRhcmdldC5jbG9zZXN0KExBTkdVQUdFX1BSSU1BUllfSVRFTSk7XG5cbiAgaWYgKCFldmVudC50YXJnZXQubWF0Y2hlcyhMQU5HVUFHRV9DT05UUk9MKSkge1xuICAgIHBhcmVudExhbmd1YWdlSXRlbS5xdWVyeVNlbGVjdG9yKExBTkdVQUdFX0NPTlRST0wpLmZvY3VzKCk7XG4gIH1cbn07XG5cbmNvbnN0IGhhbmRsZUVzY2FwZSA9IChldmVudCkgPT4ge1xuICBoaWRlQWN0aXZlTGFuZ3VhZ2VEcm9wZG93bigpO1xuICBmb2N1c0xhbmd1YWdlQnV0dG9uKGV2ZW50KTtcbn07XG5cbmxhbmd1YWdlU2VsZWN0b3IgPSBiZWhhdmlvcihcbiAge1xuICAgIFtDTElDS106IHtcbiAgICAgIFtMQU5HVUFHRV9DT05UUk9MXSgpIHtcbiAgICAgICAgaWYgKGxhbmd1YWdlQWN0aXZlICE9PSB0aGlzKSB7XG4gICAgICAgICAgaGlkZUFjdGl2ZUxhbmd1YWdlRHJvcGRvd24oKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobGFuZ3VhZ2VBY3RpdmUgPT09IHRoaXMpIHtcbiAgICAgICAgICBoaWRlQWN0aXZlTGFuZ3VhZ2VEcm9wZG93bigpO1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWxhbmd1YWdlQWN0aXZlKSB7XG4gICAgICAgICAgbGFuZ3VhZ2VBY3RpdmUgPSB0aGlzO1xuICAgICAgICAgIHRvZ2dsZShsYW5ndWFnZUFjdGl2ZSwgdHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9LFxuICAgICAgW0JPRFldOiBoaWRlQWN0aXZlTGFuZ3VhZ2VEcm9wZG93bixcbiAgICAgIFtMQU5HVUFHRV9MSU5LU10oKSB7XG4gICAgICAgIGNvbnN0IGFjYyA9IHRoaXMuY2xvc2VzdChhY2NvcmRpb24uQUNDT1JESU9OKTtcblxuICAgICAgICBpZiAoYWNjKSB7XG4gICAgICAgICAgYWNjb3JkaW9uLmdldEJ1dHRvbnMoYWNjKS5mb3JFYWNoKChidG4pID0+IGFjY29yZGlvbi5oaWRlKGJ0bikpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0sXG4gICAga2V5ZG93bjoge1xuICAgICAgW0xBTkdVQUdFX1BSSU1BUlldOiBrZXltYXAoeyBFc2NhcGU6IGhhbmRsZUVzY2FwZSB9KSxcbiAgICB9LFxuICAgIGZvY3Vzb3V0OiB7XG4gICAgICBbTEFOR1VBR0VfUFJJTUFSWV0oZXZlbnQpIHtcbiAgICAgICAgY29uc3QgbGFuZ3VhZ2UgPSBldmVudC50YXJnZXQuY2xvc2VzdChMQU5HVUFHRV9QUklNQVJZKTtcblxuICAgICAgICBpZiAoIWxhbmd1YWdlLmNvbnRhaW5zKGV2ZW50LnJlbGF0ZWRUYXJnZXQpKSB7XG4gICAgICAgICAgaGlkZUFjdGl2ZUxhbmd1YWdlRHJvcGRvd24oKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9LFxuICB9LFxuICB7XG4gICAgaW5pdChyb290KSB7XG4gICAgICBjb25zdCB0cmFwQ29udGFpbmVyID0gcm9vdC5tYXRjaGVzKExBTkdVQUdFX1NVQilcbiAgICAgICAgPyByb290XG4gICAgICAgIDogcm9vdC5xdWVyeVNlbGVjdG9yKExBTkdVQUdFX1NVQik7XG5cbiAgICAgIGlmICh0cmFwQ29udGFpbmVyKSB7XG4gICAgICAgIGxhbmd1YWdlU2VsZWN0b3IuZm9jdXNUcmFwID0gRm9jdXNUcmFwKHRyYXBDb250YWluZXIsIHtcbiAgICAgICAgICBFc2NhcGU6IG9uTGFuZ3VhZ2VDbG9zZSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSxcbiAgICB0ZWFyZG93bigpIHtcbiAgICAgIGxhbmd1YWdlQWN0aXZlID0gZmFsc2U7XG4gICAgfSxcbiAgICBmb2N1c1RyYXA6IG51bGwsXG4gIH0sXG4pO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGxhbmd1YWdlU2VsZWN0b3I7XG4iLCJjb25zdCBzZWxlY3RPck1hdGNoZXMgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvc2VsZWN0LW9yLW1hdGNoZXNcIik7XG5jb25zdCBGb2N1c1RyYXAgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvZm9jdXMtdHJhcFwiKTtcbmNvbnN0IFNjcm9sbEJhcldpZHRoID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3Njcm9sbGJhci13aWR0aFwiKTtcbmNvbnN0IGJlaGF2aW9yID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL2JlaGF2aW9yXCIpO1xuXG5jb25zdCB7IHByZWZpeDogUFJFRklYIH0gPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvY29uZmlnXCIpO1xuXG5jb25zdCBNT0RBTF9DTEFTU05BTUUgPSBgJHtQUkVGSVh9LW1vZGFsYDtcbmNvbnN0IE9WRVJMQVlfQ0xBU1NOQU1FID0gYCR7TU9EQUxfQ0xBU1NOQU1FfS1vdmVybGF5YDtcbmNvbnN0IFdSQVBQRVJfQ0xBU1NOQU1FID0gYCR7TU9EQUxfQ0xBU1NOQU1FfS13cmFwcGVyYDtcbmNvbnN0IE9QRU5FUl9BVFRSSUJVVEUgPSBcImRhdGEtb3Blbi1tb2RhbFwiO1xuY29uc3QgQ0xPU0VSX0FUVFJJQlVURSA9IFwiZGF0YS1jbG9zZS1tb2RhbFwiO1xuY29uc3QgRk9SQ0VfQUNUSU9OX0FUVFJJQlVURSA9IFwiZGF0YS1mb3JjZS1hY3Rpb25cIjtcbmNvbnN0IE5PTl9NT0RBTF9ISURERU5fQVRUUklCVVRFID0gYGRhdGEtbW9kYWwtaGlkZGVuYDtcbmNvbnN0IE1PREFMID0gYC4ke01PREFMX0NMQVNTTkFNRX1gO1xuY29uc3QgSU5JVElBTF9GT0NVUyA9IGAuJHtXUkFQUEVSX0NMQVNTTkFNRX0gKltkYXRhLWZvY3VzXWA7XG5jb25zdCBDTE9TRV9CVVRUT04gPSBgJHtXUkFQUEVSX0NMQVNTTkFNRX0gKlske0NMT1NFUl9BVFRSSUJVVEV9XWA7XG5jb25zdCBPUEVORVJTID0gYCpbJHtPUEVORVJfQVRUUklCVVRFfV1bYXJpYS1jb250cm9sc11gO1xuY29uc3QgQ0xPU0VSUyA9IGAke0NMT1NFX0JVVFRPTn0sIC4ke09WRVJMQVlfQ0xBU1NOQU1FfTpub3QoWyR7Rk9SQ0VfQUNUSU9OX0FUVFJJQlVURX1dKWA7XG5jb25zdCBOT05fTU9EQUxTID0gYGJvZHkgPiAqOm5vdCguJHtXUkFQUEVSX0NMQVNTTkFNRX0pOm5vdChbYXJpYS1oaWRkZW5dKWA7XG5jb25zdCBOT05fTU9EQUxTX0hJRERFTiA9IGBbJHtOT05fTU9EQUxfSElEREVOX0FUVFJJQlVURX1dYDtcblxuY29uc3QgQUNUSVZFX0NMQVNTID0gXCJ1c2EtanMtbW9kYWwtLWFjdGl2ZVwiO1xuY29uc3QgUFJFVkVOVF9DTElDS19DTEFTUyA9IFwidXNhLWpzLW5vLWNsaWNrXCI7XG5jb25zdCBWSVNJQkxFX0NMQVNTID0gXCJpcy12aXNpYmxlXCI7XG5jb25zdCBISURERU5fQ0xBU1MgPSBcImlzLWhpZGRlblwiO1xuXG5sZXQgbW9kYWw7XG5sZXQgSU5JVElBTF9CT0RZX1BBRERJTkc7XG5sZXQgVEVNUE9SQVJZX0JPRFlfUEFERElORztcblxuY29uc3QgaXNBY3RpdmUgPSAoKSA9PiBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5jb250YWlucyhBQ1RJVkVfQ0xBU1MpO1xuY29uc3QgU0NST0xMQkFSX1dJRFRIID0gU2Nyb2xsQmFyV2lkdGgoKTtcblxuLyoqXG4gKiAgQ2xvc2VzIG1vZGFsIHdoZW4gYm91bmQgdG8gYSBidXR0b24gYW5kIHByZXNzZWQuXG4gKi9cbmNvbnN0IG9uTWVudUNsb3NlID0gKCkgPT4ge1xuICBtb2RhbC50b2dnbGVNb2RhbC5jYWxsKG1vZGFsLCBmYWxzZSk7XG59O1xuXG4vKipcbiAqIFNldCB0aGUgdmFsdWUgZm9yIHRlbXBvcmFyeSBib2R5IHBhZGRpbmcgdGhhdCB3aWxsIGJlIGFwcGxpZWQgd2hlbiB0aGUgbW9kYWwgaXMgb3Blbi5cbiAqIFZhbHVlIGlzIGNyZWF0ZWQgYnkgY2hlY2tpbmcgZm9yIGluaXRpYWwgYm9keSBwYWRkaW5nIGFuZCBhZGRpbmcgdGhlIHdpZHRoIG9mIHRoZSBzY3JvbGxiYXIuXG4gKi9cbmNvbnN0IHNldFRlbXBvcmFyeUJvZHlQYWRkaW5nID0gKCkgPT4ge1xuICBJTklUSUFMX0JPRFlfUEFERElORyA9IHdpbmRvd1xuICAgIC5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmJvZHkpXG4gICAgLmdldFByb3BlcnR5VmFsdWUoXCJwYWRkaW5nLXJpZ2h0XCIpO1xuICBURU1QT1JBUllfQk9EWV9QQURESU5HID0gYCR7XG4gICAgcGFyc2VJbnQoSU5JVElBTF9CT0RZX1BBRERJTkcucmVwbGFjZSgvcHgvLCBcIlwiKSwgMTApICtcbiAgICBwYXJzZUludChTQ1JPTExCQVJfV0lEVEgucmVwbGFjZSgvcHgvLCBcIlwiKSwgMTApXG4gIH1weGA7XG59O1xuXG4vKipcbiAqICBUb2dnbGUgdGhlIHZpc2liaWxpdHkgb2YgYSBtb2RhbCB3aW5kb3dcbiAqXG4gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50IHRoZSBrZXlkb3duIGV2ZW50LlxuICogQHJldHVybnMge2Jvb2xlYW59IHNhZmVBY3RpdmUgaWYgbW9iaWxlIGlzIG9wZW4uXG4gKi9cbmZ1bmN0aW9uIHRvZ2dsZU1vZGFsKGV2ZW50KSB7XG4gIGxldCBvcmlnaW5hbE9wZW5lcjtcbiAgbGV0IGNsaWNrZWRFbGVtZW50ID0gZXZlbnQudGFyZ2V0O1xuICBjb25zdCB7IGJvZHkgfSA9IGRvY3VtZW50O1xuICBjb25zdCBzYWZlQWN0aXZlID0gIWlzQWN0aXZlKCk7XG4gIGNvbnN0IG1vZGFsSWQgPSBjbGlja2VkRWxlbWVudFxuICAgID8gY2xpY2tlZEVsZW1lbnQuZ2V0QXR0cmlidXRlKFwiYXJpYS1jb250cm9sc1wiKVxuICAgIDogZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgLiR7V1JBUFBFUl9DTEFTU05BTUV9LiR7VklTSUJMRV9DTEFTU31gKTtcbiAgY29uc3QgdGFyZ2V0TW9kYWwgPSBzYWZlQWN0aXZlXG4gICAgPyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChtb2RhbElkKVxuICAgIDogZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgLiR7V1JBUFBFUl9DTEFTU05BTUV9LiR7VklTSUJMRV9DTEFTU31gKTtcblxuICAvLyBpZiB0aGVyZSBpcyBubyBtb2RhbCB3ZSByZXR1cm4gZWFybHlcbiAgaWYgKCF0YXJnZXRNb2RhbCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IG9wZW5Gb2N1c0VsID0gdGFyZ2V0TW9kYWwucXVlcnlTZWxlY3RvcihJTklUSUFMX0ZPQ1VTKVxuICAgID8gdGFyZ2V0TW9kYWwucXVlcnlTZWxlY3RvcihJTklUSUFMX0ZPQ1VTKVxuICAgIDogdGFyZ2V0TW9kYWwucXVlcnlTZWxlY3RvcihgLiR7TU9EQUxfQ0xBU1NOQU1FfWApO1xuICBjb25zdCByZXR1cm5Gb2N1cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFxuICAgIHRhcmdldE1vZGFsLmdldEF0dHJpYnV0ZShcImRhdGEtb3BlbmVyXCIpLFxuICApO1xuICBjb25zdCBtZW51QnV0dG9uID0gYm9keS5xdWVyeVNlbGVjdG9yKE9QRU5FUlMpO1xuICBjb25zdCBmb3JjZVVzZXJBY3Rpb24gPSB0YXJnZXRNb2RhbC5nZXRBdHRyaWJ1dGUoRk9SQ0VfQUNUSU9OX0FUVFJJQlVURSk7XG5cbiAgLy8gU2V0cyB0aGUgY2xpY2tlZCBlbGVtZW50IHRvIHRoZSBjbG9zZSBidXR0b25cbiAgLy8gc28gZXNjIGtleSBhbHdheXMgY2xvc2VzIG1vZGFsXG4gIGlmIChldmVudC50eXBlID09PSBcImtleWRvd25cIiAmJiB0YXJnZXRNb2RhbCAhPT0gbnVsbCkge1xuICAgIGNsaWNrZWRFbGVtZW50ID0gdGFyZ2V0TW9kYWwucXVlcnlTZWxlY3RvcihDTE9TRV9CVVRUT04pO1xuICB9XG5cbiAgLy8gV2hlbiB3ZSdyZSBub3QgaGl0dGluZyB0aGUgZXNjYXBlIGtleeKAplxuICBpZiAoY2xpY2tlZEVsZW1lbnQpIHtcbiAgICAvLyBNYWtlIHN1cmUgd2UgY2xpY2sgdGhlIG9wZW5lclxuICAgIC8vIElmIGl0IGRvZXNuJ3QgaGF2ZSBhbiBJRCwgbWFrZSBvbmVcbiAgICAvLyBTdG9yZSBpZCBhcyBkYXRhIGF0dHJpYnV0ZSBvbiBtb2RhbFxuICAgIGlmIChjbGlja2VkRWxlbWVudC5oYXNBdHRyaWJ1dGUoT1BFTkVSX0FUVFJJQlVURSkpIHtcbiAgICAgIGlmICh0aGlzLmdldEF0dHJpYnV0ZShcImlkXCIpID09PSBudWxsKSB7XG4gICAgICAgIG9yaWdpbmFsT3BlbmVyID0gYG1vZGFsLSR7TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogOTAwMDAwKSArIDEwMDAwMH1gO1xuICAgICAgICB0aGlzLnNldEF0dHJpYnV0ZShcImlkXCIsIG9yaWdpbmFsT3BlbmVyKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG9yaWdpbmFsT3BlbmVyID0gdGhpcy5nZXRBdHRyaWJ1dGUoXCJpZFwiKTtcbiAgICAgIH1cbiAgICAgIHRhcmdldE1vZGFsLnNldEF0dHJpYnV0ZShcImRhdGEtb3BlbmVyXCIsIG9yaWdpbmFsT3BlbmVyKTtcbiAgICB9XG5cbiAgICAvLyBUaGlzIGJhc2ljYWxseSBzdG9wcyB0aGUgcHJvcGFnYXRpb24gaWYgdGhlIGVsZW1lbnRcbiAgICAvLyBpcyBpbnNpZGUgdGhlIG1vZGFsIGFuZCBub3QgYSBjbG9zZSBidXR0b24gb3JcbiAgICAvLyBlbGVtZW50IGluc2lkZSBhIGNsb3NlIGJ1dHRvblxuICAgIGlmIChjbGlja2VkRWxlbWVudC5jbG9zZXN0KGAuJHtNT0RBTF9DTEFTU05BTUV9YCkpIHtcbiAgICAgIGlmIChcbiAgICAgICAgY2xpY2tlZEVsZW1lbnQuaGFzQXR0cmlidXRlKENMT1NFUl9BVFRSSUJVVEUpIHx8XG4gICAgICAgIGNsaWNrZWRFbGVtZW50LmNsb3Nlc3QoYFske0NMT1NFUl9BVFRSSUJVVEV9XWApXG4gICAgICApIHtcbiAgICAgICAgLy8gZG8gbm90aGluZy4gbW92ZSBvbi5cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBib2R5LmNsYXNzTGlzdC50b2dnbGUoQUNUSVZFX0NMQVNTLCBzYWZlQWN0aXZlKTtcbiAgdGFyZ2V0TW9kYWwuY2xhc3NMaXN0LnRvZ2dsZShWSVNJQkxFX0NMQVNTLCBzYWZlQWN0aXZlKTtcbiAgdGFyZ2V0TW9kYWwuY2xhc3NMaXN0LnRvZ2dsZShISURERU5fQ0xBU1MsICFzYWZlQWN0aXZlKTtcblxuICAvLyBJZiB1c2VyIGlzIGZvcmNlZCB0byB0YWtlIGFuIGFjdGlvbiwgYWRkaW5nXG4gIC8vIGEgY2xhc3MgdG8gdGhlIGJvZHkgdGhhdCBwcmV2ZW50cyBjbGlja2luZyB1bmRlcm5lYXRoXG4gIC8vIG92ZXJsYXlcbiAgaWYgKGZvcmNlVXNlckFjdGlvbikge1xuICAgIGJvZHkuY2xhc3NMaXN0LnRvZ2dsZShQUkVWRU5UX0NMSUNLX0NMQVNTLCBzYWZlQWN0aXZlKTtcbiAgfVxuXG4gIC8vIFRlbXBvcmFyaWx5IGluY3JlYXNlIGJvZHkgcGFkZGluZyB0byBpbmNsdWRlIHRoZSB3aWR0aCBvZiB0aGUgc2Nyb2xsYmFyLlxuICAvLyBUaGlzIGFjY291bnRzIGZvciB0aGUgY29udGVudCBzaGlmdCB3aGVuIHRoZSBzY3JvbGxiYXIgaXMgcmVtb3ZlZCBvbiBtb2RhbCBvcGVuLlxuICBpZiAoYm9keS5zdHlsZS5wYWRkaW5nUmlnaHQgPT09IFRFTVBPUkFSWV9CT0RZX1BBRERJTkcpIHtcbiAgICBib2R5LnN0eWxlLnJlbW92ZVByb3BlcnR5KFwicGFkZGluZy1yaWdodFwiKTtcbiAgfSBlbHNlIHtcbiAgICBib2R5LnN0eWxlLnBhZGRpbmdSaWdodCA9IFRFTVBPUkFSWV9CT0RZX1BBRERJTkc7XG4gIH1cblxuICAvLyBIYW5kbGUgdGhlIGZvY3VzIGFjdGlvbnNcbiAgaWYgKHNhZmVBY3RpdmUgJiYgb3BlbkZvY3VzRWwpIHtcbiAgICAvLyBUaGUgbW9kYWwgd2luZG93IGlzIG9wZW5lZC4gRm9jdXMgaXMgc2V0IHRvIGNsb3NlIGJ1dHRvbi5cblxuICAgIC8vIEJpbmRzIGVzY2FwZSBrZXkgaWYgd2UncmUgbm90IGZvcmNpbmdcbiAgICAvLyB0aGUgdXNlciB0byB0YWtlIGFuIGFjdGlvblxuICAgIGlmIChmb3JjZVVzZXJBY3Rpb24pIHtcbiAgICAgIG1vZGFsLmZvY3VzVHJhcCA9IEZvY3VzVHJhcCh0YXJnZXRNb2RhbCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG1vZGFsLmZvY3VzVHJhcCA9IEZvY3VzVHJhcCh0YXJnZXRNb2RhbCwge1xuICAgICAgICBFc2NhcGU6IG9uTWVudUNsb3NlLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gSGFuZGxlcyBmb2N1cyBzZXR0aW5nIGFuZCBpbnRlcmFjdGlvbnNcbiAgICBtb2RhbC5mb2N1c1RyYXAudXBkYXRlKHNhZmVBY3RpdmUpO1xuICAgIG9wZW5Gb2N1c0VsLmZvY3VzKCk7XG5cbiAgICAvLyBIaWRlcyBldmVyeXRoaW5nIHRoYXQgaXMgbm90IHRoZSBtb2RhbCBmcm9tIHNjcmVlbiByZWFkZXJzXG4gICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChOT05fTU9EQUxTKS5mb3JFYWNoKChub25Nb2RhbCkgPT4ge1xuICAgICAgbm9uTW9kYWwuc2V0QXR0cmlidXRlKFwiYXJpYS1oaWRkZW5cIiwgXCJ0cnVlXCIpO1xuICAgICAgbm9uTW9kYWwuc2V0QXR0cmlidXRlKE5PTl9NT0RBTF9ISURERU5fQVRUUklCVVRFLCBcIlwiKTtcbiAgICB9KTtcbiAgfSBlbHNlIGlmICghc2FmZUFjdGl2ZSAmJiBtZW51QnV0dG9uICYmIHJldHVybkZvY3VzKSB7XG4gICAgLy8gVGhlIG1vZGFsIHdpbmRvdyBpcyBjbG9zZWQuXG4gICAgLy8gTm9uLW1vZGFscyBub3cgYWNjZXNpYmxlIHRvIHNjcmVlbiByZWFkZXJcbiAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKE5PTl9NT0RBTFNfSElEREVOKS5mb3JFYWNoKChub25Nb2RhbCkgPT4ge1xuICAgICAgbm9uTW9kYWwucmVtb3ZlQXR0cmlidXRlKFwiYXJpYS1oaWRkZW5cIik7XG4gICAgICBub25Nb2RhbC5yZW1vdmVBdHRyaWJ1dGUoTk9OX01PREFMX0hJRERFTl9BVFRSSUJVVEUpO1xuICAgIH0pO1xuXG4gICAgLy8gRm9jdXMgaXMgcmV0dXJuZWQgdG8gdGhlIG9wZW5lclxuICAgIHJldHVybkZvY3VzLmZvY3VzKCk7XG4gICAgbW9kYWwuZm9jdXNUcmFwLnVwZGF0ZShzYWZlQWN0aXZlKTtcbiAgfVxuXG4gIHJldHVybiBzYWZlQWN0aXZlO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBwbGFjZWhvbGRlciB3aXRoIGRhdGEgYXR0cmlidXRlcyBmb3IgY2xlYW51cCBmdW5jdGlvbi5cbiAqIFRoZSBjbGVhbnVwIGZ1bmN0aW9uIHVzZXMgdGhpcyBwbGFjZWhvbGRlciB0byBlYXNpbHkgcmVzdG9yZSB0aGUgb3JpZ2luYWwgTW9kYWwgSFRNTCBvbiB0ZWFyZG93bi5cbiAqXG4gKiBAcGFyYW0ge0hUTUxEaXZFbGVtZW50fSBiYXNlQ29tcG9uZW50IC0gTW9kYWwgSFRNTCBmcm9tIHRoZSBET00uXG4gKiBAcmV0dXJucyB7SFRNTERpdkVsZW1lbnR9IFBsYWNlaG9sZGVyIHVzZWQgZm9yIGNsZWFudXAgZnVuY3Rpb24uXG4gKi9cbmNvbnN0IGNyZWF0ZVBsYWNlSG9sZGVyID0gKGJhc2VDb21wb25lbnQpID0+IHtcbiAgY29uc3QgbW9kYWxJRCA9IGJhc2VDb21wb25lbnQuZ2V0QXR0cmlidXRlKFwiaWRcIik7XG4gIGNvbnN0IG9yaWdpbmFsTG9jYXRpb25QbGFjZUhvbGRlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XG4gIGNvbnN0IG1vZGFsQXR0cmlidXRlcyA9IEFycmF5LmZyb20oYmFzZUNvbXBvbmVudC5hdHRyaWJ1dGVzKTtcblxuICBzZXRUZW1wb3JhcnlCb2R5UGFkZGluZygpO1xuXG4gIG9yaWdpbmFsTG9jYXRpb25QbGFjZUhvbGRlci5zZXRBdHRyaWJ1dGUoYGRhdGEtcGxhY2Vob2xkZXItZm9yYCwgbW9kYWxJRCk7XG4gIG9yaWdpbmFsTG9jYXRpb25QbGFjZUhvbGRlci5zdHlsZS5kaXNwbGF5ID0gXCJub25lXCI7XG4gIG9yaWdpbmFsTG9jYXRpb25QbGFjZUhvbGRlci5zZXRBdHRyaWJ1dGUoXCJhcmlhLWhpZGRlblwiLCBcInRydWVcIik7XG5cbiAgbW9kYWxBdHRyaWJ1dGVzLmZvckVhY2goKGF0dHJpYnV0ZSkgPT4ge1xuICAgIG9yaWdpbmFsTG9jYXRpb25QbGFjZUhvbGRlci5zZXRBdHRyaWJ1dGUoXG4gICAgICBgZGF0YS1vcmlnaW5hbC0ke2F0dHJpYnV0ZS5uYW1lfWAsXG4gICAgICBhdHRyaWJ1dGUudmFsdWUsXG4gICAgKTtcbiAgfSk7XG5cbiAgcmV0dXJuIG9yaWdpbmFsTG9jYXRpb25QbGFjZUhvbGRlcjtcbn07XG5cbi8qKlxuICogTW92ZXMgbmVjZXNzYXJ5IGF0dHJpYnV0ZXMgZnJvbSBNb2RhbCBIVE1MIHRvIHdyYXBwZXIgZWxlbWVudC5cbiAqXG4gKiBAcGFyYW0ge0hUTUxEaXZFbGVtZW50fSBiYXNlQ29tcG9uZW50IC0gTW9kYWwgSFRNTCBpbiB0aGUgRE9NLlxuICogQHBhcmFtIHtIVE1MRGl2RWxlbWVudH0gbW9kYWxDb250ZW50V3JhcHBlciAtIE1vZGFsIGNvbXBvbmVudCB3cmFwcGVyIGVsZW1lbnQuXG4gKiBAcmV0dXJucyBNb2RhbCB3cmFwcGVyIHdpdGggY29ycmVjdCBhdHRyaWJ1dGVzLlxuICovXG5jb25zdCBzZXRNb2RhbEF0dHJpYnV0ZXMgPSAoYmFzZUNvbXBvbmVudCwgbW9kYWxDb250ZW50V3JhcHBlcikgPT4ge1xuICBjb25zdCBtb2RhbElEID0gYmFzZUNvbXBvbmVudC5nZXRBdHRyaWJ1dGUoXCJpZFwiKTtcbiAgY29uc3QgYXJpYUxhYmVsbGVkQnkgPSBiYXNlQ29tcG9uZW50LmdldEF0dHJpYnV0ZShcImFyaWEtbGFiZWxsZWRieVwiKTtcbiAgY29uc3QgYXJpYURlc2NyaWJlZEJ5ID0gYmFzZUNvbXBvbmVudC5nZXRBdHRyaWJ1dGUoXCJhcmlhLWRlc2NyaWJlZGJ5XCIpO1xuICBjb25zdCBmb3JjZVVzZXJBY3Rpb24gPSBiYXNlQ29tcG9uZW50Lmhhc0F0dHJpYnV0ZShGT1JDRV9BQ1RJT05fQVRUUklCVVRFKTtcblxuICBpZiAoIWFyaWFMYWJlbGxlZEJ5KVxuICAgIHRocm93IG5ldyBFcnJvcihgJHttb2RhbElEfSBpcyBtaXNzaW5nIGFyaWEtbGFiZWxsZWRieSBhdHRyaWJ1dGVgKTtcblxuICBpZiAoIWFyaWFEZXNjcmliZWRCeSlcbiAgICB0aHJvdyBuZXcgRXJyb3IoYCR7bW9kYWxJRH0gaXMgbWlzc2luZyBhcmlhLWRlc3JpYmVkYnkgYXR0cmlidXRlYCk7XG5cbiAgLy8gU2V0IGF0dHJpYnV0ZXNcbiAgbW9kYWxDb250ZW50V3JhcHBlci5zZXRBdHRyaWJ1dGUoXCJyb2xlXCIsIFwiZGlhbG9nXCIpO1xuICBtb2RhbENvbnRlbnRXcmFwcGVyLnNldEF0dHJpYnV0ZShcImlkXCIsIG1vZGFsSUQpO1xuICBtb2RhbENvbnRlbnRXcmFwcGVyLnNldEF0dHJpYnV0ZShcImFyaWEtbGFiZWxsZWRieVwiLCBhcmlhTGFiZWxsZWRCeSk7XG4gIG1vZGFsQ29udGVudFdyYXBwZXIuc2V0QXR0cmlidXRlKFwiYXJpYS1kZXNjcmliZWRieVwiLCBhcmlhRGVzY3JpYmVkQnkpO1xuXG4gIGlmIChmb3JjZVVzZXJBY3Rpb24pIHtcbiAgICBtb2RhbENvbnRlbnRXcmFwcGVyLnNldEF0dHJpYnV0ZShGT1JDRV9BQ1RJT05fQVRUUklCVVRFLCBmb3JjZVVzZXJBY3Rpb24pO1xuICB9XG5cbiAgLy8gQWRkIGFyaWEtY29udHJvbHNcbiAgY29uc3QgbW9kYWxDbG9zZXJzID0gbW9kYWxDb250ZW50V3JhcHBlci5xdWVyeVNlbGVjdG9yQWxsKENMT1NFUlMpO1xuICBtb2RhbENsb3NlcnMuZm9yRWFjaCgoZWwpID0+IHtcbiAgICBlbC5zZXRBdHRyaWJ1dGUoXCJhcmlhLWNvbnRyb2xzXCIsIG1vZGFsSUQpO1xuICB9KTtcblxuICAvLyBVcGRhdGUgdGhlIGJhc2UgZWxlbWVudCBIVE1MXG4gIGJhc2VDb21wb25lbnQucmVtb3ZlQXR0cmlidXRlKFwiaWRcIik7XG4gIGJhc2VDb21wb25lbnQucmVtb3ZlQXR0cmlidXRlKFwiYXJpYS1sYWJlbGxlZGJ5XCIpO1xuICBiYXNlQ29tcG9uZW50LnJlbW92ZUF0dHJpYnV0ZShcImFyaWEtZGVzY3JpYmVkYnlcIik7XG4gIGJhc2VDb21wb25lbnQuc2V0QXR0cmlidXRlKFwidGFiaW5kZXhcIiwgXCItMVwiKTtcblxuICByZXR1cm4gbW9kYWxDb250ZW50V3JhcHBlcjtcbn07XG5cbi8qKlxuICogQ3JlYXRlcyBhIGhpZGRlbiBtb2RhbCBjb250ZW50IHdyYXBwZXIuXG4gKiBSZWJ1aWxkcyB0aGUgb3JpZ2luYWwgTW9kYWwgSFRNTCBpbiB0aGUgbmV3IHdyYXBwZXIgYW5kIGFkZHMgYSBwYWdlIG92ZXJsYXkuXG4gKiBUaGVuIG1vdmVzIG9yaWdpbmFsIE1vZGFsIEhUTUwgYXR0cmlidXRlcyB0byB0aGUgbmV3IHdyYXBwZXIuXG4gKlxuICogQHBhcmFtIHtIVE1MRGl2RWxlbWVudH0gYmFzZUNvbXBvbmVudCAtIE9yaWdpbmFsIE1vZGFsIEhUTUwgaW4gdGhlIERPTS5cbiAqIEByZXR1cm5zIE1vZGFsIGNvbXBvbmVudCAtIE1vZGFsIHdyYXBwZXIgdy8gbmVzdGVkIE92ZXJsYXkgYW5kIE1vZGFsIENvbnRlbnQuXG4gKi9cbmNvbnN0IHJlYnVpbGRNb2RhbCA9IChiYXNlQ29tcG9uZW50KSA9PiB7XG4gIGNvbnN0IG1vZGFsQ29udGVudCA9IGJhc2VDb21wb25lbnQ7XG4gIGNvbnN0IG1vZGFsQ29udGVudFdyYXBwZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xuICBjb25zdCBvdmVybGF5RGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcblxuICAvLyBBZGQgY2xhc3Nlc1xuICBtb2RhbENvbnRlbnRXcmFwcGVyLmNsYXNzTGlzdC5hZGQoSElEREVOX0NMQVNTLCBXUkFQUEVSX0NMQVNTTkFNRSk7XG4gIG92ZXJsYXlEaXYuY2xhc3NMaXN0LmFkZChPVkVSTEFZX0NMQVNTTkFNRSk7XG5cbiAgLy8gUmVidWlsZCB0aGUgbW9kYWwgZWxlbWVudFxuICBtb2RhbENvbnRlbnRXcmFwcGVyLmFwcGVuZChvdmVybGF5RGl2KTtcbiAgb3ZlcmxheURpdi5hcHBlbmQobW9kYWxDb250ZW50KTtcblxuICAvLyBBZGQgYXR0cmlidXRlc1xuICBzZXRNb2RhbEF0dHJpYnV0ZXMobW9kYWxDb250ZW50LCBtb2RhbENvbnRlbnRXcmFwcGVyKTtcblxuICByZXR1cm4gbW9kYWxDb250ZW50V3JhcHBlcjtcbn07XG5cbi8qKlxuICogIEJ1aWxkcyBtb2RhbCB3aW5kb3cgZnJvbSBiYXNlIEhUTUwgYW5kIGFwcGVuZHMgdG8gdGhlIGVuZCBvZiB0aGUgRE9NLlxuICpcbiAqIEBwYXJhbSB7SFRNTERpdkVsZW1lbnR9IGJhc2VDb21wb25lbnQgLSBUaGUgbW9kYWwgZGl2IGVsZW1lbnQgaW4gdGhlIERPTS5cbiAqL1xuY29uc3Qgc2V0VXBNb2RhbCA9IChiYXNlQ29tcG9uZW50KSA9PiB7XG4gIGNvbnN0IG1vZGFsSUQgPSBiYXNlQ29tcG9uZW50LmdldEF0dHJpYnV0ZShcImlkXCIpO1xuXG4gIGlmICghbW9kYWxJRCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgTW9kYWwgbWFya3VwIGlzIG1pc3NpbmcgSURgKTtcbiAgfVxuXG4gIC8vIENyZWF0ZSBwbGFjZWhvbGRlciB3aGVyZSBtb2RhbCBpcyBmb3IgY2xlYW51cFxuICBjb25zdCBvcmlnaW5hbExvY2F0aW9uUGxhY2VIb2xkZXIgPSBjcmVhdGVQbGFjZUhvbGRlcihiYXNlQ29tcG9uZW50KTtcbiAgYmFzZUNvbXBvbmVudC5hZnRlcihvcmlnaW5hbExvY2F0aW9uUGxhY2VIb2xkZXIpO1xuXG4gIC8vIEJ1aWxkIG1vZGFsIGNvbXBvbmVudFxuICBjb25zdCBtb2RhbENvbXBvbmVudCA9IHJlYnVpbGRNb2RhbChiYXNlQ29tcG9uZW50KTtcblxuICAvLyBNb3ZlIGFsbCBtb2RhbHMgdG8gdGhlIGVuZCBvZiB0aGUgRE9NLiBEb2luZyB0aGlzIGFsbG93cyB1cyB0b1xuICAvLyBtb3JlIGVhc2lseSBmaW5kIHRoZSBlbGVtZW50cyB0byBoaWRlIGZyb20gc2NyZWVuIHJlYWRlcnNcbiAgLy8gd2hlbiB0aGUgbW9kYWwgaXMgb3Blbi5cbiAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChtb2RhbENvbXBvbmVudCk7XG59O1xuXG4vKipcbiAqIFJlbW92ZXMgZHluYW1pY2FsbHkgY3JlYXRlZCBNb2RhbCBhbmQgV3JhcHBlciBlbGVtZW50cyBhbmQgcmVzdG9yZXMgb3JpZ2luYWwgTW9kYWwgSFRNTC5cbiAqXG4gKiBAcGFyYW0ge0hUTUxEaXZFbGVtZW50fSBiYXNlQ29tcG9uZW50IC0gVGhlIG1vZGFsIGRpdiBlbGVtZW50IGluIHRoZSBET00uXG4gKi9cbmNvbnN0IGNsZWFuVXBNb2RhbCA9IChiYXNlQ29tcG9uZW50KSA9PiB7XG4gIGNvbnN0IG1vZGFsQ29udGVudCA9IGJhc2VDb21wb25lbnQ7XG4gIGNvbnN0IG1vZGFsQ29udGVudFdyYXBwZXIgPSBtb2RhbENvbnRlbnQucGFyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50O1xuICBjb25zdCBtb2RhbElEID0gbW9kYWxDb250ZW50V3JhcHBlci5nZXRBdHRyaWJ1dGUoXCJpZFwiKTtcblxuICAvLyBpZiB0aGVyZSBpcyBubyBtb2RhbElELCByZXR1cm4gZWFybHlcbiAgaWYgKCFtb2RhbElEKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3Qgb3JpZ2luYWxMb2NhdGlvblBsYWNlSG9sZGVyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICBgW2RhdGEtcGxhY2Vob2xkZXItZm9yPVwiJHttb2RhbElEfVwiXWAsXG4gICk7XG5cbiAgaWYgKG9yaWdpbmFsTG9jYXRpb25QbGFjZUhvbGRlcikge1xuICAgIGNvbnN0IG1vZGFsQXR0cmlidXRlcyA9IEFycmF5LmZyb20ob3JpZ2luYWxMb2NhdGlvblBsYWNlSG9sZGVyLmF0dHJpYnV0ZXMpO1xuICAgIG1vZGFsQXR0cmlidXRlcy5mb3JFYWNoKChhdHRyaWJ1dGUpID0+IHtcbiAgICAgIGlmIChhdHRyaWJ1dGUubmFtZS5zdGFydHNXaXRoKFwiZGF0YS1vcmlnaW5hbC1cIikpIHtcbiAgICAgICAgLy8gZGF0YS1vcmlnaW5hbC0gaXMgMTQgbG9uZ1xuICAgICAgICBtb2RhbENvbnRlbnQuc2V0QXR0cmlidXRlKGF0dHJpYnV0ZS5uYW1lLnN1YnN0cigxNCksIGF0dHJpYnV0ZS52YWx1ZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBvcmlnaW5hbExvY2F0aW9uUGxhY2VIb2xkZXIuYWZ0ZXIobW9kYWxDb250ZW50KTtcbiAgICBvcmlnaW5hbExvY2F0aW9uUGxhY2VIb2xkZXIucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZChcbiAgICAgIG9yaWdpbmFsTG9jYXRpb25QbGFjZUhvbGRlcixcbiAgICApO1xuICB9XG5cbiAgbW9kYWxDb250ZW50V3JhcHBlci5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKG1vZGFsQ29udGVudFdyYXBwZXIpO1xufTtcblxubW9kYWwgPSBiZWhhdmlvcihcbiAge30sXG4gIHtcbiAgICBpbml0KHJvb3QpIHtcbiAgICAgIHNlbGVjdE9yTWF0Y2hlcyhNT0RBTCwgcm9vdCkuZm9yRWFjaCgobW9kYWxXaW5kb3cpID0+IHtcbiAgICAgICAgY29uc3QgbW9kYWxJZCA9IG1vZGFsV2luZG93LmlkO1xuXG4gICAgICAgIHNldFVwTW9kYWwobW9kYWxXaW5kb3cpO1xuXG4gICAgICAgIC8vIFF1ZXJ5IGFsbCBvcGVuZXJzIGFuZCBjbG9zZXJzIGluY2x1ZGluZyB0aGUgb3ZlcmxheVxuICAgICAgICBzZWxlY3RPck1hdGNoZXMoYFthcmlhLWNvbnRyb2xzPVwiJHttb2RhbElkfVwiXWAsIGRvY3VtZW50KS5mb3JFYWNoKFxuICAgICAgICAgIChtb2RhbFRyaWdnZXIpID0+IHtcbiAgICAgICAgICAgIC8vIElmIG1vZGFsVHJpZ2dlciBpcyBhbiBhbmNob3IuLi5cbiAgICAgICAgICAgIGlmIChtb2RhbFRyaWdnZXIubm9kZU5hbWUgPT09IFwiQVwiKSB7XG4gICAgICAgICAgICAgIC8vIFR1cm4gYW5jaG9yIGxpbmtzIGludG8gYnV0dG9ucyBmb3Igc2NyZWVuIHJlYWRlcnNcbiAgICAgICAgICAgICAgbW9kYWxUcmlnZ2VyLnNldEF0dHJpYnV0ZShcInJvbGVcIiwgXCJidXR0b25cIik7XG5cbiAgICAgICAgICAgICAgLy8gUHJldmVudCBtb2RhbCB0cmlnZ2VycyBmcm9tIGFjdGluZyBsaWtlIGxpbmtzXG4gICAgICAgICAgICAgIG1vZGFsVHJpZ2dlci5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgKGUpID0+IGUucHJldmVudERlZmF1bHQoKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIENhbiB1bmNvbW1lbnQgd2hlbiBhcmlhLWhhc3BvcHVwPVwiZGlhbG9nXCIgaXMgc3VwcG9ydGVkXG4gICAgICAgICAgICAvLyBodHRwczovL2ExMXlzdXBwb3J0LmlvL3RlY2gvYXJpYS9hcmlhLWhhc3BvcHVwX2F0dHJpYnV0ZVxuICAgICAgICAgICAgLy8gTW9zdCBzY3JlZW4gcmVhZGVycyBzdXBwb3J0IGFyaWEtaGFzcG9wdXAsIGJ1dCBtaWdodCBhbm5vdW5jZVxuICAgICAgICAgICAgLy8gYXMgb3BlbmluZyBhIG1lbnUgaWYgXCJkaWFsb2dcIiBpcyBub3Qgc3VwcG9ydGVkLlxuICAgICAgICAgICAgLy8gbW9kYWxUcmlnZ2VyLnNldEF0dHJpYnV0ZShcImFyaWEtaGFzcG9wdXBcIiwgXCJkaWFsb2dcIik7XG5cbiAgICAgICAgICAgIG1vZGFsVHJpZ2dlci5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgdG9nZ2xlTW9kYWwpO1xuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9LFxuICAgIHRlYXJkb3duKHJvb3QpIHtcbiAgICAgIHNlbGVjdE9yTWF0Y2hlcyhNT0RBTCwgcm9vdCkuZm9yRWFjaCgobW9kYWxXaW5kb3cpID0+IHtcbiAgICAgICAgY29uc3QgbW9kYWxJZCA9IG1vZGFsV2luZG93LmlkO1xuICAgICAgICBjbGVhblVwTW9kYWwobW9kYWxXaW5kb3cpO1xuXG4gICAgICAgIHNlbGVjdE9yTWF0Y2hlcyhgW2FyaWEtY29udHJvbHM9XCIke21vZGFsSWR9XCJdYCwgZG9jdW1lbnQpLmZvckVhY2goXG4gICAgICAgICAgKG1vZGFsVHJpZ2dlcikgPT5cbiAgICAgICAgICAgIG1vZGFsVHJpZ2dlci5yZW1vdmVFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgdG9nZ2xlTW9kYWwpLFxuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgfSxcbiAgICBmb2N1c1RyYXA6IG51bGwsXG4gICAgdG9nZ2xlTW9kYWwsXG4gIH0sXG4pO1xuXG5tb2R1bGUuZXhwb3J0cyA9IG1vZGFsO1xuIiwiY29uc3Qgc2VsZWN0T3JNYXRjaGVzID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3NlbGVjdC1vci1tYXRjaGVzXCIpO1xuY29uc3QgYmVoYXZpb3IgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvYmVoYXZpb3JcIik7XG5cbmNvbnN0IHsgcHJlZml4OiBQUkVGSVggfSA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy9jb25maWdcIik7XG5cbmNvbnN0IFJBTkdFX0NMQVNTTkFNRSA9IGAke1BSRUZJWH0tcmFuZ2VgO1xuY29uc3QgUkFOR0UgPSBgLiR7UkFOR0VfQ0xBU1NOQU1FfWA7XG5cbi8qKlxuICogVXBkYXRlIHJhbmdlIGNhbGxvdXQgZm9yIHNjcmVlbiByZWFkZXJzIHVzaW5nIHRoZSBvcHRpb25hbCBkYXRhIGF0dHJpYnV0ZXMuXG4gKlxuICogR2V0IG9wdGlvbmFsIGRhdGEgYXR0cmlidXRlcywgY29uc3RydWN0IGFuZCBhcHBlbmRzIGFyaWEtdmFsdWV0ZXh0IGF0dHJpYnV0ZS5cbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqIDxpbnB1dCBpZD1cInVzYS1yYW5nZVwiIGNsYXNzPVwidXNhLXJhbmdlXCIgdHlwZT1cInJhbmdlXCIgbWluPVwiMFwiIG1heD1cIjEwMFwiIHN0ZXA9XCIxMFwiIHZhbHVlPVwiMjBcIiBkYXRhLXRleHQtdW5pdD1cImRlZ3JlZXNcIj5cbiAqXG4gKiBDYWxsb3V0IHJldHVybnMgXCIyMCBkZWdyZWVzIG9mIDEwMC5cIlxuICpcbiAqIDxpbnB1dCBpZD1cInVzYS1yYW5nZVwiIGNsYXNzPVwidXNhLXJhbmdlXCIgdHlwZT1cInJhbmdlXCIgbWluPVwiMFwiIG1heD1cIjEwMFwiIHN0ZXA9XCIxMFwiIHZhbHVlPVwiMjBcIiBkYXRhLXRleHQtcHJlcG9zaXRpb249XCJkZVwiPlxuICpcbiAqIENhbGxvdXQgcmV0dXJucyBcIjIwIGRlIDEwMC5cIlxuICpcbiAqIEBwYXJhbSB7SFRNTElucHV0RWxlbWVudH0gdGFyZ2V0UmFuZ2UgLSBUaGUgcmFuZ2Ugc2xpZGVyIGlucHV0IGVsZW1lbnRcbiAqL1xuY29uc3QgdXBkYXRlQ2FsbG91dCA9ICh0YXJnZXRSYW5nZSkgPT4ge1xuICBjb25zdCByYW5nZVNsaWRlciA9IHRhcmdldFJhbmdlO1xuICBjb25zdCBkZWZhdWx0UHJlcCA9IFwib2ZcIjtcbiAgY29uc3Qgb3B0aW9uYWxQcmVwID0gcmFuZ2VTbGlkZXIuZGF0YXNldC50ZXh0UHJlcG9zaXRpb247XG4gIGNvbnN0IHByZXAgPSBvcHRpb25hbFByZXAgfHwgZGVmYXVsdFByZXA7XG4gIGNvbnN0IHVuaXQgPSByYW5nZVNsaWRlci5kYXRhc2V0LnRleHRVbml0O1xuICBjb25zdCB2YWwgPSByYW5nZVNsaWRlci52YWx1ZTtcbiAgLy8gTm90ZTogMTAwIGlzIHRoZSBtYXggYXR0cmlidXRlJ3MgbmF0aXZlIGRlZmF1bHQgdmFsdWUgb24gcmFuZ2UgaW5wdXRzXG4gIC8vIFJlZmVyZW5jZTogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSFRNTC9FbGVtZW50L2lucHV0L3JhbmdlI3ZhbGlkYXRpb25cbiAgY29uc3QgbWF4ID0gcmFuZ2VTbGlkZXIuZ2V0QXR0cmlidXRlKFwibWF4XCIpIHx8IDEwMDtcblxuICBsZXQgY2FsbG91dDtcblxuICBpZiAodW5pdCkge1xuICAgIGNhbGxvdXQgPSBgJHt2YWx9ICR7dW5pdH0gJHtwcmVwfSAke21heH1gO1xuICB9IGVsc2Uge1xuICAgIGNhbGxvdXQgPSBgJHt2YWx9ICR7cHJlcH0gJHttYXh9YDtcbiAgfVxuXG4gIHJhbmdlU2xpZGVyLnNldEF0dHJpYnV0ZShcImFyaWEtdmFsdWV0ZXh0XCIsIGNhbGxvdXQpO1xufTtcblxuY29uc3QgcmFuZ2VFdmVudHMgPSB7XG4gIGNoYW5nZToge1xuICAgIFtSQU5HRV0oKSB7XG4gICAgICB1cGRhdGVDYWxsb3V0KHRoaXMpO1xuICAgIH0sXG4gIH0sXG59O1xuXG5jb25zdCByYW5nZSA9IGJlaGF2aW9yKHJhbmdlRXZlbnRzLCB7XG4gIGluaXQocm9vdCkge1xuICAgIHNlbGVjdE9yTWF0Y2hlcyhSQU5HRSwgcm9vdCkuZm9yRWFjaCgocmFuZ2VTbGlkZXIpID0+IHtcbiAgICAgIHVwZGF0ZUNhbGxvdXQocmFuZ2VTbGlkZXIpO1xuICAgIH0pO1xuICB9LFxuICB1cGRhdGVDYWxsb3V0LFxufSk7XG5cbm1vZHVsZS5leHBvcnRzID0gcmFuZ2U7XG4iLCJjb25zdCBpZ25vcmUgPSByZXF1aXJlKFwicmVjZXB0b3IvaWdub3JlXCIpO1xuY29uc3QgYmVoYXZpb3IgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvYmVoYXZpb3JcIik7XG5jb25zdCBzZWxlY3QgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvc2VsZWN0XCIpO1xuXG5jb25zdCB7IENMSUNLIH0gPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvZXZlbnRzXCIpO1xuXG5jb25zdCBCVVRUT04gPSBcIi5qcy1zZWFyY2gtYnV0dG9uXCI7XG5jb25zdCBGT1JNID0gXCIuanMtc2VhcmNoLWZvcm1cIjtcbmNvbnN0IElOUFVUID0gXCJbdHlwZT1zZWFyY2hdXCI7XG5jb25zdCBDT05URVhUID0gXCJoZWFkZXJcIjsgLy8gWFhYXG5cbmxldCBsYXN0QnV0dG9uO1xuXG5jb25zdCBnZXRGb3JtID0gKGJ1dHRvbikgPT4ge1xuICBjb25zdCBjb250ZXh0ID0gYnV0dG9uLmNsb3Nlc3QoQ09OVEVYVCk7XG4gIHJldHVybiBjb250ZXh0ID8gY29udGV4dC5xdWVyeVNlbGVjdG9yKEZPUk0pIDogZG9jdW1lbnQucXVlcnlTZWxlY3RvcihGT1JNKTtcbn07XG5cbmNvbnN0IHRvZ2dsZVNlYXJjaCA9IChidXR0b24sIGFjdGl2ZSkgPT4ge1xuICBjb25zdCBmb3JtID0gZ2V0Rm9ybShidXR0b24pO1xuXG4gIGlmICghZm9ybSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgTm8gJHtGT1JNfSBmb3VuZCBmb3Igc2VhcmNoIHRvZ2dsZSBpbiAke0NPTlRFWFR9IWApO1xuICB9XG5cbiAgLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbiAgYnV0dG9uLmhpZGRlbiA9IGFjdGl2ZTtcbiAgZm9ybS5oaWRkZW4gPSAhYWN0aXZlO1xuICAvKiBlc2xpbnQtZW5hYmxlICovXG5cbiAgaWYgKCFhY3RpdmUpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBpbnB1dCA9IGZvcm0ucXVlcnlTZWxlY3RvcihJTlBVVCk7XG5cbiAgaWYgKGlucHV0KSB7XG4gICAgaW5wdXQuZm9jdXMoKTtcbiAgfVxuICAvLyB3aGVuIHRoZSB1c2VyIGNsaWNrcyBfb3V0c2lkZV8gb2YgdGhlIGZvcm0gdy9pZ25vcmUoKTogaGlkZSB0aGVcbiAgLy8gc2VhcmNoLCB0aGVuIHJlbW92ZSB0aGUgbGlzdGVuZXJcbiAgY29uc3QgbGlzdGVuZXIgPSBpZ25vcmUoZm9ybSwgKCkgPT4ge1xuICAgIGlmIChsYXN0QnV0dG9uKSB7XG4gICAgICBoaWRlU2VhcmNoLmNhbGwobGFzdEJ1dHRvbik7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdXNlLWJlZm9yZS1kZWZpbmVcbiAgICB9XG5cbiAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUV2ZW50TGlzdGVuZXIoQ0xJQ0ssIGxpc3RlbmVyKTtcbiAgfSk7XG5cbiAgLy8gTm9ybWFsbHkgd2Ugd291bGQganVzdCBydW4gdGhpcyBjb2RlIHdpdGhvdXQgYSB0aW1lb3V0LCBidXRcbiAgLy8gSUUxMSBhbmQgRWRnZSB3aWxsIGFjdHVhbGx5IGNhbGwgdGhlIGxpc3RlbmVyICppbW1lZGlhdGVseSogYmVjYXVzZVxuICAvLyB0aGV5IGFyZSBjdXJyZW50bHkgaGFuZGxpbmcgdGhpcyBleGFjdCB0eXBlIG9mIGV2ZW50LCBzbyB3ZSdsbFxuICAvLyBtYWtlIHN1cmUgdGhlIGJyb3dzZXIgaXMgZG9uZSBoYW5kbGluZyB0aGUgY3VycmVudCBjbGljayBldmVudCxcbiAgLy8gaWYgYW55LCBiZWZvcmUgd2UgYXR0YWNoIHRoZSBsaXN0ZW5lci5cbiAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKENMSUNLLCBsaXN0ZW5lcik7XG4gIH0sIDApO1xufTtcblxuZnVuY3Rpb24gc2hvd1NlYXJjaCgpIHtcbiAgdG9nZ2xlU2VhcmNoKHRoaXMsIHRydWUpO1xuICBsYXN0QnV0dG9uID0gdGhpcztcbn1cblxuZnVuY3Rpb24gaGlkZVNlYXJjaCgpIHtcbiAgdG9nZ2xlU2VhcmNoKHRoaXMsIGZhbHNlKTtcbiAgbGFzdEJ1dHRvbiA9IHVuZGVmaW5lZDtcbn1cblxuY29uc3Qgc2VhcmNoID0gYmVoYXZpb3IoXG4gIHtcbiAgICBbQ0xJQ0tdOiB7XG4gICAgICBbQlVUVE9OXTogc2hvd1NlYXJjaCxcbiAgICB9LFxuICB9LFxuICB7XG4gICAgaW5pdCh0YXJnZXQpIHtcbiAgICAgIHNlbGVjdChCVVRUT04sIHRhcmdldCkuZm9yRWFjaCgoYnV0dG9uKSA9PiB7XG4gICAgICAgIHRvZ2dsZVNlYXJjaChidXR0b24sIGZhbHNlKTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgdGVhcmRvd24oKSB7XG4gICAgICAvLyBmb3JnZXQgdGhlIGxhc3QgYnV0dG9uIGNsaWNrZWRcbiAgICAgIGxhc3RCdXR0b24gPSB1bmRlZmluZWQ7XG4gICAgfSxcbiAgfSxcbik7XG5cbm1vZHVsZS5leHBvcnRzID0gc2VhcmNoO1xuIiwiY29uc3Qgb25jZSA9IHJlcXVpcmUoXCJyZWNlcHRvci9vbmNlXCIpO1xuY29uc3QgYmVoYXZpb3IgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvYmVoYXZpb3JcIik7XG5jb25zdCB7IENMSUNLIH0gPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvZXZlbnRzXCIpO1xuY29uc3QgeyBwcmVmaXg6IFBSRUZJWCB9ID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL2NvbmZpZ1wiKTtcblxuY29uc3QgTElOSyA9IGAuJHtQUkVGSVh9LXNraXBuYXZbaHJlZl49XCIjXCJdLCAuJHtQUkVGSVh9LWZvb3Rlcl9fcmV0dXJuLXRvLXRvcCBbaHJlZl49XCIjXCJdYDtcbmNvbnN0IE1BSU5DT05URU5UID0gXCJtYWluLWNvbnRlbnRcIjtcblxuZnVuY3Rpb24gc2V0VGFiaW5kZXgoKSB7XG4gIC8vIE5COiB3ZSBrbm93IGJlY2F1c2Ugb2YgdGhlIHNlbGVjdG9yIHdlJ3JlIGRlbGVnYXRpbmcgdG8gYmVsb3cgdGhhdCB0aGVcbiAgLy8gaHJlZiBhbHJlYWR5IGJlZ2lucyB3aXRoICcjJ1xuICBjb25zdCBpZCA9IGVuY29kZVVSSSh0aGlzLmdldEF0dHJpYnV0ZShcImhyZWZcIikpO1xuICBjb25zdCB0YXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcbiAgICBpZCA9PT0gXCIjXCIgPyBNQUlOQ09OVEVOVCA6IGlkLnNsaWNlKDEpLFxuICApO1xuXG4gIGlmICh0YXJnZXQpIHtcbiAgICB0YXJnZXQuc3R5bGUub3V0bGluZSA9IFwiMFwiO1xuICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiLCAwKTtcbiAgICB0YXJnZXQuZm9jdXMoKTtcbiAgICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgIFwiYmx1clwiLFxuICAgICAgb25jZSgoKSA9PiB7XG4gICAgICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiLCAtMSk7XG4gICAgICB9KSxcbiAgICApO1xuICB9IGVsc2Uge1xuICAgIC8vIHRocm93IGFuIGVycm9yP1xuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYmVoYXZpb3Ioe1xuICBbQ0xJQ0tdOiB7XG4gICAgW0xJTktdOiBzZXRUYWJpbmRleCxcbiAgfSxcbn0pO1xuIiwiY29uc3Qgc2VsZWN0ID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3NlbGVjdFwiKTtcbmNvbnN0IGJlaGF2aW9yID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL2JlaGF2aW9yXCIpO1xuY29uc3QgeyBDTElDSyB9ID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL2V2ZW50c1wiKTtcbmNvbnN0IHsgcHJlZml4OiBQUkVGSVggfSA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy9jb25maWdcIik7XG5jb25zdCBTYW5pdGl6ZXIgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvc2FuaXRpemVyXCIpO1xuXG5jb25zdCBUQUJMRSA9IGAuJHtQUkVGSVh9LXRhYmxlYDtcbmNvbnN0IFNPUlRFRCA9IFwiYXJpYS1zb3J0XCI7XG5jb25zdCBBU0NFTkRJTkcgPSBcImFzY2VuZGluZ1wiO1xuY29uc3QgREVTQ0VORElORyA9IFwiZGVzY2VuZGluZ1wiO1xuY29uc3QgU09SVF9PVkVSUklERSA9IFwiZGF0YS1zb3J0LXZhbHVlXCI7XG5jb25zdCBTT1JUX0JVVFRPTl9DTEFTUyA9IGAke1BSRUZJWH0tdGFibGVfX2hlYWRlcl9fYnV0dG9uYDtcbmNvbnN0IFNPUlRfQlVUVE9OID0gYC4ke1NPUlRfQlVUVE9OX0NMQVNTfWA7XG5jb25zdCBTT1JUQUJMRV9IRUFERVIgPSBgdGhbZGF0YS1zb3J0YWJsZV1gO1xuY29uc3QgQU5OT1VOQ0VNRU5UX1JFR0lPTiA9IGAuJHtQUkVGSVh9LXRhYmxlX19hbm5vdW5jZW1lbnQtcmVnaW9uW2FyaWEtbGl2ZT1cInBvbGl0ZVwiXWA7XG5cbi8qKiBHZXRzIHRoZSBkYXRhLXNvcnQtdmFsdWUgYXR0cmlidXRlIHZhbHVlLCBpZiBwcm92aWRlZCDigJQgb3RoZXJ3aXNlLCBnZXRzXG4gKiB0aGUgaW5uZXJUZXh0IG9yIHRleHRDb250ZW50IOKAlCBvZiB0aGUgY2hpbGQgZWxlbWVudCAoSFRNTFRhYmxlQ2VsbEVsZW1lbnQpXG4gKiBhdCB0aGUgc3BlY2lmaWVkIGluZGV4IG9mIHRoZSBnaXZlbiB0YWJsZSByb3dcbiAqXG4gKiBAcGFyYW0ge251bWJlcn0gaW5kZXhcbiAqIEBwYXJhbSB7YXJyYXk8SFRNTFRhYmxlUm93RWxlbWVudD59IHRyXG4gKiBAcmV0dXJuIHtib29sZWFufVxuICovXG5jb25zdCBnZXRDZWxsVmFsdWUgPSAodHIsIGluZGV4KSA9PlxuICB0ci5jaGlsZHJlbltpbmRleF0uZ2V0QXR0cmlidXRlKFNPUlRfT1ZFUlJJREUpIHx8XG4gIHRyLmNoaWxkcmVuW2luZGV4XS5pbm5lclRleHQgfHxcbiAgdHIuY2hpbGRyZW5baW5kZXhdLnRleHRDb250ZW50O1xuXG4vKipcbiAqIENvbXBhcmVzIHRoZSB2YWx1ZXMgb2YgdHdvIHJvdyBhcnJheSBpdGVtcyBhdCB0aGUgZ2l2ZW4gaW5kZXgsIHRoZW4gc29ydHMgYnkgdGhlIGdpdmVuIGRpcmVjdGlvblxuICogQHBhcmFtIHtudW1iZXJ9IGluZGV4XG4gKiBAcGFyYW0ge3N0cmluZ30gZGlyZWN0aW9uXG4gKiBAcmV0dXJuIHtib29sZWFufVxuICovXG5jb25zdCBjb21wYXJlRnVuY3Rpb24gPSAoaW5kZXgsIGlzQXNjZW5kaW5nKSA9PiAodGhpc1JvdywgbmV4dFJvdykgPT4ge1xuICAvLyBnZXQgdmFsdWVzIHRvIGNvbXBhcmUgZnJvbSBkYXRhIGF0dHJpYnV0ZSBvciBjZWxsIGNvbnRlbnRcbiAgY29uc3QgdmFsdWUxID0gZ2V0Q2VsbFZhbHVlKGlzQXNjZW5kaW5nID8gdGhpc1JvdyA6IG5leHRSb3csIGluZGV4KTtcbiAgY29uc3QgdmFsdWUyID0gZ2V0Q2VsbFZhbHVlKGlzQXNjZW5kaW5nID8gbmV4dFJvdyA6IHRoaXNSb3csIGluZGV4KTtcblxuICAvLyBpZiBuZWl0aGVyIHZhbHVlIGlzIGVtcHR5LCBhbmQgaWYgYm90aCB2YWx1ZXMgYXJlIGFscmVhZHkgbnVtYmVycywgY29tcGFyZSBudW1lcmljYWxseVxuICBpZiAoXG4gICAgdmFsdWUxICYmXG4gICAgdmFsdWUyICYmXG4gICAgIU51bWJlci5pc05hTihOdW1iZXIodmFsdWUxKSkgJiZcbiAgICAhTnVtYmVyLmlzTmFOKE51bWJlcih2YWx1ZTIpKVxuICApIHtcbiAgICByZXR1cm4gdmFsdWUxIC0gdmFsdWUyO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgY29tcGFyZSBhbHBoYWJldGljYWxseSBiYXNlZCBvbiBjdXJyZW50IHVzZXIgbG9jYWxlXG4gIHJldHVybiB2YWx1ZTEudG9TdHJpbmcoKS5sb2NhbGVDb21wYXJlKHZhbHVlMiwgbmF2aWdhdG9yLmxhbmd1YWdlLCB7XG4gICAgbnVtZXJpYzogdHJ1ZSxcbiAgICBpZ25vcmVQdW5jdHVhdGlvbjogdHJ1ZSxcbiAgfSk7XG59O1xuXG4vKipcbiAqIEdldCBhbiBBcnJheSBvZiBjb2x1bW4gaGVhZGVycyBlbGVtZW50cyBiZWxvbmdpbmcgZGlyZWN0bHkgdG8gdGhlIGdpdmVuXG4gKiB0YWJsZSBlbGVtZW50LlxuICogQHBhcmFtIHtIVE1MVGFibGVFbGVtZW50fSB0YWJsZVxuICogQHJldHVybiB7YXJyYXk8SFRNTFRhYmxlSGVhZGVyQ2VsbEVsZW1lbnQ+fVxuICovXG5jb25zdCBnZXRDb2x1bW5IZWFkZXJzID0gKHRhYmxlKSA9PiB7XG4gIGNvbnN0IGhlYWRlcnMgPSBzZWxlY3QoU09SVEFCTEVfSEVBREVSLCB0YWJsZSk7XG4gIHJldHVybiBoZWFkZXJzLmZpbHRlcigoaGVhZGVyKSA9PiBoZWFkZXIuY2xvc2VzdChUQUJMRSkgPT09IHRhYmxlKTtcbn07XG5cbi8qKlxuICogVXBkYXRlIHRoZSBidXR0b24gbGFiZWwgd2l0aGluIHRoZSBnaXZlbiBoZWFkZXIgZWxlbWVudCwgcmVzZXR0aW5nIGl0XG4gKiB0byB0aGUgZGVmYXVsdCBzdGF0ZSAocmVhZHkgdG8gc29ydCBhc2NlbmRpbmcpIGlmIGl0J3Mgbm8gbG9uZ2VyIHNvcnRlZFxuICogQHBhcmFtIHtIVE1MVGFibGVIZWFkZXJDZWxsRWxlbWVudH0gaGVhZGVyXG4gKi9cbmNvbnN0IHVwZGF0ZVNvcnRMYWJlbCA9IChoZWFkZXIpID0+IHtcbiAgY29uc3QgaGVhZGVyTmFtZSA9IGhlYWRlci5pbm5lclRleHQ7XG4gIGNvbnN0IHNvcnRlZEFzY2VuZGluZyA9IGhlYWRlci5nZXRBdHRyaWJ1dGUoU09SVEVEKSA9PT0gQVNDRU5ESU5HO1xuICBjb25zdCBpc1NvcnRlZCA9XG4gICAgaGVhZGVyLmdldEF0dHJpYnV0ZShTT1JURUQpID09PSBBU0NFTkRJTkcgfHxcbiAgICBoZWFkZXIuZ2V0QXR0cmlidXRlKFNPUlRFRCkgPT09IERFU0NFTkRJTkcgfHxcbiAgICBmYWxzZTtcbiAgY29uc3QgaGVhZGVyTGFiZWwgPSBgJHtoZWFkZXJOYW1lfSwgc29ydGFibGUgY29sdW1uLCBjdXJyZW50bHkgJHtcbiAgICBpc1NvcnRlZFxuICAgICAgPyBgJHtzb3J0ZWRBc2NlbmRpbmcgPyBgc29ydGVkICR7QVNDRU5ESU5HfWAgOiBgc29ydGVkICR7REVTQ0VORElOR31gfWBcbiAgICAgIDogXCJ1bnNvcnRlZFwiXG4gIH1gO1xuICBjb25zdCBoZWFkZXJCdXR0b25MYWJlbCA9IGBDbGljayB0byBzb3J0IGJ5ICR7aGVhZGVyTmFtZX0gaW4gJHtcbiAgICBzb3J0ZWRBc2NlbmRpbmcgPyBERVNDRU5ESU5HIDogQVNDRU5ESU5HXG4gIH0gb3JkZXIuYDtcbiAgaGVhZGVyLnNldEF0dHJpYnV0ZShcImFyaWEtbGFiZWxcIiwgaGVhZGVyTGFiZWwpO1xuICBoZWFkZXIucXVlcnlTZWxlY3RvcihTT1JUX0JVVFRPTikuc2V0QXR0cmlidXRlKFwidGl0bGVcIiwgaGVhZGVyQnV0dG9uTGFiZWwpO1xufTtcblxuLyoqXG4gKiBSZW1vdmUgdGhlIGFyaWEtc29ydCBhdHRyaWJ1dGUgb24gdGhlIGdpdmVuIGhlYWRlciBlbGVtZW50LCBhbmQgcmVzZXQgdGhlIGxhYmVsIGFuZCBidXR0b24gaWNvblxuICogQHBhcmFtIHtIVE1MVGFibGVIZWFkZXJDZWxsRWxlbWVudH0gaGVhZGVyXG4gKi9cbmNvbnN0IHVuc2V0U29ydCA9IChoZWFkZXIpID0+IHtcbiAgaGVhZGVyLnJlbW92ZUF0dHJpYnV0ZShTT1JURUQpO1xuICB1cGRhdGVTb3J0TGFiZWwoaGVhZGVyKTtcbn07XG5cbi8qKlxuICogU29ydCByb3dzIGVpdGhlciBhc2NlbmRpbmcgb3IgZGVzY2VuZGluZywgYmFzZWQgb24gYSBnaXZlbiBoZWFkZXIncyBhcmlhLXNvcnQgYXR0cmlidXRlXG4gKiBAcGFyYW0ge0hUTUxUYWJsZUhlYWRlckNlbGxFbGVtZW50fSBoZWFkZXJcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gaXNBc2NlbmRpbmdcbiAqIEByZXR1cm4ge2Jvb2xlYW59IHRydWVcbiAqL1xuY29uc3Qgc29ydFJvd3MgPSAoaGVhZGVyLCBpc0FzY2VuZGluZykgPT4ge1xuICBoZWFkZXIuc2V0QXR0cmlidXRlKFNPUlRFRCwgaXNBc2NlbmRpbmcgPT09IHRydWUgPyBERVNDRU5ESU5HIDogQVNDRU5ESU5HKTtcbiAgdXBkYXRlU29ydExhYmVsKGhlYWRlcik7XG5cbiAgY29uc3QgdGJvZHkgPSBoZWFkZXIuY2xvc2VzdChUQUJMRSkucXVlcnlTZWxlY3RvcihcInRib2R5XCIpO1xuXG4gIC8vIFdlIGNhbiB1c2UgQXJyYXkuZnJvbSgpIGFuZCBBcnJheS5zb3J0KCkgaW5zdGVhZCBvbmNlIHdlIGRyb3AgSUUxMSBzdXBwb3J0LCBsaWtlbHkgaW4gdGhlIHN1bW1lciBvZiAyMDIxXG4gIC8vXG4gIC8vIEFycmF5LmZyb20odGJvZHkucXVlcnlTZWxlY3RvckFsbCgndHInKS5zb3J0KFxuICAvLyAgIGNvbXBhcmVGdW5jdGlvbihcbiAgLy8gICAgIEFycmF5LmZyb20oaGVhZGVyLnBhcmVudE5vZGUuY2hpbGRyZW4pLmluZGV4T2YoaGVhZGVyKSxcbiAgLy8gICAgICFpc0FzY2VuZGluZylcbiAgLy8gICApXG4gIC8vIC5mb3JFYWNoKHRyID0+IHRib2R5LmFwcGVuZENoaWxkKHRyKSApO1xuXG4gIC8vIFtdLnNsaWNlLmNhbGwoKSB0dXJucyBhcnJheS1saWtlIHNldHMgaW50byB0cnVlIGFycmF5cyBzbyB0aGF0IHdlIGNhbiBzb3J0IHRoZW1cbiAgY29uc3QgYWxsUm93cyA9IFtdLnNsaWNlLmNhbGwodGJvZHkucXVlcnlTZWxlY3RvckFsbChcInRyXCIpKTtcbiAgY29uc3QgYWxsSGVhZGVycyA9IFtdLnNsaWNlLmNhbGwoaGVhZGVyLnBhcmVudE5vZGUuY2hpbGRyZW4pO1xuICBjb25zdCB0aGlzSGVhZGVySW5kZXggPSBhbGxIZWFkZXJzLmluZGV4T2YoaGVhZGVyKTtcbiAgYWxsUm93cy5zb3J0KGNvbXBhcmVGdW5jdGlvbih0aGlzSGVhZGVySW5kZXgsICFpc0FzY2VuZGluZykpLmZvckVhY2goKHRyKSA9PiB7XG4gICAgW10uc2xpY2VcbiAgICAgIC5jYWxsKHRyLmNoaWxkcmVuKVxuICAgICAgLmZvckVhY2goKHRkKSA9PiB0ZC5yZW1vdmVBdHRyaWJ1dGUoXCJkYXRhLXNvcnQtYWN0aXZlXCIpKTtcbiAgICB0ci5jaGlsZHJlblt0aGlzSGVhZGVySW5kZXhdLnNldEF0dHJpYnV0ZShcImRhdGEtc29ydC1hY3RpdmVcIiwgdHJ1ZSk7XG4gICAgdGJvZHkuYXBwZW5kQ2hpbGQodHIpO1xuICB9KTtcblxuICByZXR1cm4gdHJ1ZTtcbn07XG5cbi8qKlxuICogVXBkYXRlIHRoZSBsaXZlIHJlZ2lvbiBpbW1lZGlhdGVseSBmb2xsb3dpbmcgdGhlIHRhYmxlIHdoZW5ldmVyIHNvcnQgY2hhbmdlcy5cbiAqIEBwYXJhbSB7SFRNTFRhYmxlRWxlbWVudH0gdGFibGVcbiAqIEBwYXJhbSB7SFRNTFRhYmxlSGVhZGVyQ2VsbEVsZW1lbnR9IHNvcnRlZEhlYWRlclxuICovXG5cbmNvbnN0IHVwZGF0ZUxpdmVSZWdpb24gPSAodGFibGUsIHNvcnRlZEhlYWRlcikgPT4ge1xuICBjb25zdCBjYXB0aW9uID0gdGFibGUucXVlcnlTZWxlY3RvcihcImNhcHRpb25cIikuaW5uZXJUZXh0O1xuICBjb25zdCBzb3J0ZWRBc2NlbmRpbmcgPSBzb3J0ZWRIZWFkZXIuZ2V0QXR0cmlidXRlKFNPUlRFRCkgPT09IEFTQ0VORElORztcbiAgY29uc3QgaGVhZGVyTGFiZWwgPSBzb3J0ZWRIZWFkZXIuaW5uZXJUZXh0O1xuICBjb25zdCBsaXZlUmVnaW9uID0gdGFibGUubmV4dEVsZW1lbnRTaWJsaW5nO1xuICBpZiAobGl2ZVJlZ2lvbiAmJiBsaXZlUmVnaW9uLm1hdGNoZXMoQU5OT1VOQ0VNRU5UX1JFR0lPTikpIHtcbiAgICBjb25zdCBzb3J0QW5ub3VuY2VtZW50ID0gYFRoZSB0YWJsZSBuYW1lZCBcIiR7Y2FwdGlvbn1cIiBpcyBub3cgc29ydGVkIGJ5ICR7aGVhZGVyTGFiZWx9IGluICR7XG4gICAgICBzb3J0ZWRBc2NlbmRpbmcgPyBBU0NFTkRJTkcgOiBERVNDRU5ESU5HXG4gICAgfSBvcmRlci5gO1xuICAgIGxpdmVSZWdpb24uaW5uZXJUZXh0ID0gc29ydEFubm91bmNlbWVudDtcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgVGFibGUgY29udGFpbmluZyBhIHNvcnRhYmxlIGNvbHVtbiBoZWFkZXIgaXMgbm90IGZvbGxvd2VkIGJ5IGFuIGFyaWEtbGl2ZSByZWdpb24uYCxcbiAgICApO1xuICB9XG59O1xuXG4vKipcbiAqIFRvZ2dsZSBhIGhlYWRlcidzIHNvcnQgc3RhdGUsIG9wdGlvbmFsbHkgcHJvdmlkaW5nIGEgdGFyZ2V0XG4gKiBzdGF0ZS5cbiAqXG4gKiBAcGFyYW0ge0hUTUxUYWJsZUhlYWRlckNlbGxFbGVtZW50fSBoZWFkZXJcbiAqIEBwYXJhbSB7Ym9vbGVhbj99IGlzQXNjZW5kaW5nIElmIG5vIHN0YXRlIGlzIHByb3ZpZGVkLCB0aGUgY3VycmVudFxuICogc3RhdGUgd2lsbCBiZSB0b2dnbGVkIChmcm9tIGZhbHNlIHRvIHRydWUsIGFuZCB2aWNlLXZlcnNhKS5cbiAqL1xuY29uc3QgdG9nZ2xlU29ydCA9IChoZWFkZXIsIGlzQXNjZW5kaW5nKSA9PiB7XG4gIGNvbnN0IHRhYmxlID0gaGVhZGVyLmNsb3Nlc3QoVEFCTEUpO1xuICBsZXQgc2FmZUFzY2VuZGluZyA9IGlzQXNjZW5kaW5nO1xuICBpZiAodHlwZW9mIHNhZmVBc2NlbmRpbmcgIT09IFwiYm9vbGVhblwiKSB7XG4gICAgc2FmZUFzY2VuZGluZyA9IGhlYWRlci5nZXRBdHRyaWJ1dGUoU09SVEVEKSA9PT0gQVNDRU5ESU5HO1xuICB9XG5cbiAgaWYgKCF0YWJsZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgJHtTT1JUQUJMRV9IRUFERVJ9IGlzIG1pc3Npbmcgb3V0ZXIgJHtUQUJMRX1gKTtcbiAgfVxuXG4gIHNhZmVBc2NlbmRpbmcgPSBzb3J0Um93cyhoZWFkZXIsIGlzQXNjZW5kaW5nKTtcblxuICBpZiAoc2FmZUFzY2VuZGluZykge1xuICAgIGdldENvbHVtbkhlYWRlcnModGFibGUpLmZvckVhY2goKG90aGVySGVhZGVyKSA9PiB7XG4gICAgICBpZiAob3RoZXJIZWFkZXIgIT09IGhlYWRlcikge1xuICAgICAgICB1bnNldFNvcnQob3RoZXJIZWFkZXIpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHVwZGF0ZUxpdmVSZWdpb24odGFibGUsIGhlYWRlcik7XG4gIH1cbn07XG5cbi8qKlxuICoqIEluc2VydHMgYSBidXR0b24gd2l0aCBpY29uIGluc2lkZSBhIHNvcnRhYmxlIGhlYWRlclxuICogQHBhcmFtIHtIVE1MVGFibGVIZWFkZXJDZWxsRWxlbWVudH0gaGVhZGVyXG4gKi9cblxuY29uc3QgY3JlYXRlSGVhZGVyQnV0dG9uID0gKGhlYWRlcikgPT4ge1xuICBjb25zdCBidXR0b25FbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJidXR0b25cIik7XG4gIGJ1dHRvbkVsLnNldEF0dHJpYnV0ZShcInRhYmluZGV4XCIsIFwiMFwiKTtcbiAgYnV0dG9uRWwuY2xhc3NMaXN0LmFkZChTT1JUX0JVVFRPTl9DTEFTUyk7XG4gIC8vIElDT05fU09VUkNFXG4gIGJ1dHRvbkVsLmlubmVySFRNTCA9IFNhbml0aXplci5lc2NhcGVIVE1MYFxuICA8c3ZnIGNsYXNzPVwiJHtQUkVGSVh9LWljb25cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPlxuICAgIDxnIGNsYXNzPVwiZGVzY2VuZGluZ1wiIGZpbGw9XCJ0cmFuc3BhcmVudFwiPlxuICAgICAgPHBhdGggZD1cIk0xNyAxN0wxNS41OSAxNS41OUwxMi45OTk5IDE4LjE3VjJIMTAuOTk5OVYxOC4xN0w4LjQxIDE1LjU4TDcgMTdMMTEuOTk5OSAyMkwxNyAxN1pcIiAvPlxuICAgIDwvZz5cbiAgICA8ZyBjbGFzcz1cImFzY2VuZGluZ1wiIGZpbGw9XCJ0cmFuc3BhcmVudFwiPlxuICAgICAgPHBhdGggdHJhbnNmb3JtPVwicm90YXRlKDE4MCwgMTIsIDEyKVwiIGQ9XCJNMTcgMTdMMTUuNTkgMTUuNTlMMTIuOTk5OSAxOC4xN1YySDEwLjk5OTlWMTguMTdMOC40MSAxNS41OEw3IDE3TDExLjk5OTkgMjJMMTcgMTdaXCIgLz5cbiAgICA8L2c+XG4gICAgPGcgY2xhc3M9XCJ1bnNvcnRlZFwiIGZpbGw9XCJ0cmFuc3BhcmVudFwiPlxuICAgICAgPHBvbHlnb24gcG9pbnRzPVwiMTUuMTcgMTUgMTMgMTcuMTcgMTMgNi44MyAxNS4xNyA5IDE2LjU4IDcuNTkgMTIgMyA3LjQxIDcuNTkgOC44MyA5IDExIDYuODMgMTEgMTcuMTcgOC44MyAxNSA3LjQyIDE2LjQxIDEyIDIxIDE2LjU5IDE2LjQxIDE1LjE3IDE1XCIvPlxuICAgIDwvZz5cbiAgPC9zdmc+XG4gIGA7XG4gIGhlYWRlci5hcHBlbmRDaGlsZChidXR0b25FbCk7XG4gIHVwZGF0ZVNvcnRMYWJlbChoZWFkZXIpO1xufTtcblxuY29uc3QgdGFibGUgPSBiZWhhdmlvcihcbiAge1xuICAgIFtDTElDS106IHtcbiAgICAgIFtTT1JUX0JVVFRPTl0oZXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdG9nZ2xlU29ydChcbiAgICAgICAgICBldmVudC50YXJnZXQuY2xvc2VzdChTT1JUQUJMRV9IRUFERVIpLFxuICAgICAgICAgIGV2ZW50LnRhcmdldC5jbG9zZXN0KFNPUlRBQkxFX0hFQURFUikuZ2V0QXR0cmlidXRlKFNPUlRFRCkgPT09XG4gICAgICAgICAgICBBU0NFTkRJTkcsXG4gICAgICAgICk7XG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG4gIHtcbiAgICBpbml0KHJvb3QpIHtcbiAgICAgIGNvbnN0IHNvcnRhYmxlSGVhZGVycyA9IHNlbGVjdChTT1JUQUJMRV9IRUFERVIsIHJvb3QpO1xuICAgICAgc29ydGFibGVIZWFkZXJzLmZvckVhY2goKGhlYWRlcikgPT4gY3JlYXRlSGVhZGVyQnV0dG9uKGhlYWRlcikpO1xuXG4gICAgICBjb25zdCBmaXJzdFNvcnRlZCA9IHNvcnRhYmxlSGVhZGVycy5maWx0ZXIoXG4gICAgICAgIChoZWFkZXIpID0+XG4gICAgICAgICAgaGVhZGVyLmdldEF0dHJpYnV0ZShTT1JURUQpID09PSBBU0NFTkRJTkcgfHxcbiAgICAgICAgICBoZWFkZXIuZ2V0QXR0cmlidXRlKFNPUlRFRCkgPT09IERFU0NFTkRJTkcsXG4gICAgICApWzBdO1xuICAgICAgaWYgKHR5cGVvZiBmaXJzdFNvcnRlZCA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAvLyBubyBzb3J0YWJsZSBoZWFkZXJzIGZvdW5kXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHNvcnREaXIgPSBmaXJzdFNvcnRlZC5nZXRBdHRyaWJ1dGUoU09SVEVEKTtcbiAgICAgIGlmIChzb3J0RGlyID09PSBBU0NFTkRJTkcpIHtcbiAgICAgICAgdG9nZ2xlU29ydChmaXJzdFNvcnRlZCwgdHJ1ZSk7XG4gICAgICB9IGVsc2UgaWYgKHNvcnREaXIgPT09IERFU0NFTkRJTkcpIHtcbiAgICAgICAgdG9nZ2xlU29ydChmaXJzdFNvcnRlZCwgZmFsc2UpO1xuICAgICAgfVxuICAgIH0sXG4gICAgVEFCTEUsXG4gICAgU09SVEFCTEVfSEVBREVSLFxuICAgIFNPUlRfQlVUVE9OLFxuICB9LFxuKTtcblxubW9kdWxlLmV4cG9ydHMgPSB0YWJsZTtcbiIsImNvbnN0IGJlaGF2aW9yID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL2JlaGF2aW9yXCIpO1xuY29uc3Qgc2VsZWN0T3JNYXRjaGVzID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3NlbGVjdC1vci1tYXRjaGVzXCIpO1xuY29uc3QgeyBwcmVmaXg6IFBSRUZJWCB9ID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL2NvbmZpZ1wiKTtcbmNvbnN0IHtcbiAgQ09NQk9fQk9YX0NMQVNTLFxuICBlbmhhbmNlQ29tYm9Cb3gsXG59ID0gcmVxdWlyZShcIi4uLy4uL3VzYS1jb21iby1ib3gvc3JjL2luZGV4XCIpO1xuXG5jb25zdCBUSU1FX1BJQ0tFUl9DTEFTUyA9IGAke1BSRUZJWH0tdGltZS1waWNrZXJgO1xuY29uc3QgVElNRV9QSUNLRVIgPSBgLiR7VElNRV9QSUNLRVJfQ0xBU1N9YDtcbmNvbnN0IE1BWF9USU1FID0gNjAgKiAyNCAtIDE7XG5jb25zdCBNSU5fVElNRSA9IDA7XG5jb25zdCBERUZBVUxUX1NURVAgPSAzMDtcbmNvbnN0IE1JTl9TVEVQID0gMTtcblxuY29uc3QgRklMVEVSX0RBVEFTRVQgPSB7XG4gIGZpbHRlcjpcbiAgICBcIjA/e3sgaG91clF1ZXJ5RmlsdGVyIH19Ont7bWludXRlUXVlcnlGaWx0ZXJ9fS4qe3sgYXBRdWVyeUZpbHRlciB9fW0/XCIsXG4gIGFwUXVlcnlGaWx0ZXI6IFwiKFthcF0pXCIsXG4gIGhvdXJRdWVyeUZpbHRlcjogXCIoWzEtOV1bMC0yXT8pXCIsXG4gIG1pbnV0ZVF1ZXJ5RmlsdGVyOiBcIltcXFxcZF0rOihbMC05XXswLDJ9KVwiLFxufTtcblxuLyoqXG4gKiBQYXJzZSBhIHN0cmluZyBvZiBoaDptbSBpbnRvIG1pbnV0ZXNcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gdGltZVN0ciB0aGUgdGltZSBzdHJpbmcgdG8gcGFyc2VcbiAqIEByZXR1cm5zIHtudW1iZXJ9IHRoZSBudW1iZXIgb2YgbWludXRlc1xuICovXG5jb25zdCBwYXJzZVRpbWVTdHJpbmcgPSAodGltZVN0cikgPT4ge1xuICBsZXQgbWludXRlcztcblxuICBpZiAodGltZVN0cikge1xuICAgIGNvbnN0IFtob3VycywgbWluc10gPSB0aW1lU3RyLnNwbGl0KFwiOlwiKS5tYXAoKHN0cikgPT4ge1xuICAgICAgbGV0IHZhbHVlO1xuICAgICAgY29uc3QgcGFyc2VkID0gcGFyc2VJbnQoc3RyLCAxMCk7XG4gICAgICBpZiAoIU51bWJlci5pc05hTihwYXJzZWQpKSB2YWx1ZSA9IHBhcnNlZDtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9KTtcblxuICAgIGlmIChob3VycyAhPSBudWxsICYmIG1pbnMgIT0gbnVsbCkge1xuICAgICAgbWludXRlcyA9IGhvdXJzICogNjAgKyBtaW5zO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBtaW51dGVzO1xufTtcblxuLyoqXG4gKiBFbmhhbmNlIGFuIGlucHV0IHdpdGggdGhlIGRhdGUgcGlja2VyIGVsZW1lbnRzXG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWwgVGhlIGluaXRpYWwgd3JhcHBpbmcgZWxlbWVudCBvZiB0aGUgZGF0ZSBwaWNrZXIgY29tcG9uZW50XG4gKi9cbmNvbnN0IHRyYW5zZm9ybVRpbWVQaWNrZXIgPSAoZWwpID0+IHtcbiAgY29uc3QgdGltZVBpY2tlckVsID0gZWwuY2xvc2VzdChUSU1FX1BJQ0tFUik7XG5cbiAgY29uc3QgaW5pdGlhbElucHV0RWwgPSB0aW1lUGlja2VyRWwucXVlcnlTZWxlY3RvcihgaW5wdXRgKTtcblxuICBpZiAoIWluaXRpYWxJbnB1dEVsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGAke1RJTUVfUElDS0VSfSBpcyBtaXNzaW5nIGlubmVyIGlucHV0YCk7XG4gIH1cblxuICBjb25zdCBzZWxlY3RFbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzZWxlY3RcIik7XG5cbiAgW1xuICAgIFwiaWRcIixcbiAgICBcIm5hbWVcIixcbiAgICBcInJlcXVpcmVkXCIsXG4gICAgXCJhcmlhLWxhYmVsXCIsXG4gICAgXCJhcmlhLWxhYmVsbGVkYnlcIixcbiAgICBcImRpc2FibGVkXCIsXG4gICAgXCJhcmlhLWRpc2FibGVkXCIsXG4gIF0uZm9yRWFjaCgobmFtZSkgPT4ge1xuICAgIGlmIChpbml0aWFsSW5wdXRFbC5oYXNBdHRyaWJ1dGUobmFtZSkpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gaW5pdGlhbElucHV0RWwuZ2V0QXR0cmlidXRlKG5hbWUpO1xuICAgICAgc2VsZWN0RWwuc2V0QXR0cmlidXRlKG5hbWUsIHZhbHVlKTtcbiAgICAgIGluaXRpYWxJbnB1dEVsLnJlbW92ZUF0dHJpYnV0ZShuYW1lKTtcbiAgICB9XG4gIH0pO1xuXG4gIGNvbnN0IHBhZFplcm9zID0gKHZhbHVlLCBsZW5ndGgpID0+IGAwMDAwJHt2YWx1ZX1gLnNsaWNlKC1sZW5ndGgpO1xuXG4gIGNvbnN0IGdldFRpbWVDb250ZXh0ID0gKG1pbnV0ZXMpID0+IHtcbiAgICBjb25zdCBtaW51dGUgPSBtaW51dGVzICUgNjA7XG4gICAgY29uc3QgaG91cjI0ID0gTWF0aC5mbG9vcihtaW51dGVzIC8gNjApO1xuICAgIGNvbnN0IGhvdXIxMiA9IGhvdXIyNCAlIDEyIHx8IDEyO1xuICAgIGNvbnN0IGFtcG0gPSBob3VyMjQgPCAxMiA/IFwiYW1cIiA6IFwicG1cIjtcblxuICAgIHJldHVybiB7XG4gICAgICBtaW51dGUsXG4gICAgICBob3VyMjQsXG4gICAgICBob3VyMTIsXG4gICAgICBhbXBtLFxuICAgIH07XG4gIH07XG5cbiAgY29uc3QgbWluVGltZSA9IE1hdGgubWF4KFxuICAgIE1JTl9USU1FLFxuICAgIHBhcnNlVGltZVN0cmluZyh0aW1lUGlja2VyRWwuZGF0YXNldC5taW5UaW1lKSB8fCBNSU5fVElNRSxcbiAgKTtcbiAgY29uc3QgbWF4VGltZSA9IE1hdGgubWluKFxuICAgIE1BWF9USU1FLFxuICAgIHBhcnNlVGltZVN0cmluZyh0aW1lUGlja2VyRWwuZGF0YXNldC5tYXhUaW1lKSB8fCBNQVhfVElNRSxcbiAgKTtcbiAgY29uc3Qgc3RlcCA9IE1hdGguZmxvb3IoXG4gICAgTWF0aC5tYXgoTUlOX1NURVAsIHRpbWVQaWNrZXJFbC5kYXRhc2V0LnN0ZXAgfHwgREVGQVVMVF9TVEVQKSxcbiAgKTtcblxuICBsZXQgZGVmYXVsdFZhbHVlO1xuICBmb3IgKGxldCB0aW1lID0gbWluVGltZTsgdGltZSA8PSBtYXhUaW1lOyB0aW1lICs9IHN0ZXApIHtcbiAgICBjb25zdCB7IG1pbnV0ZSwgaG91cjI0LCBob3VyMTIsIGFtcG0gfSA9IGdldFRpbWVDb250ZXh0KHRpbWUpO1xuXG4gICAgY29uc3Qgb3B0aW9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcIm9wdGlvblwiKTtcbiAgICBvcHRpb24udmFsdWUgPSBgJHtwYWRaZXJvcyhob3VyMjQsIDIpfToke3BhZFplcm9zKG1pbnV0ZSwgMil9YDtcbiAgICBvcHRpb24udGV4dCA9IGAke2hvdXIxMn06JHtwYWRaZXJvcyhtaW51dGUsIDIpfSR7YW1wbX1gO1xuICAgIGlmIChvcHRpb24udGV4dCA9PT0gaW5pdGlhbElucHV0RWwudmFsdWUpIHtcbiAgICAgIGRlZmF1bHRWYWx1ZSA9IG9wdGlvbi52YWx1ZTtcbiAgICB9XG4gICAgc2VsZWN0RWwuYXBwZW5kQ2hpbGQob3B0aW9uKTtcbiAgfVxuXG4gIHRpbWVQaWNrZXJFbC5jbGFzc0xpc3QuYWRkKENPTUJPX0JPWF9DTEFTUyk7XG5cbiAgLy8gY29tYm8gYm94IHByb3BlcnRpZXNcbiAgT2JqZWN0LmtleXMoRklMVEVSX0RBVEFTRVQpLmZvckVhY2goKGtleSkgPT4ge1xuICAgIHRpbWVQaWNrZXJFbC5kYXRhc2V0W2tleV0gPSBGSUxURVJfREFUQVNFVFtrZXldO1xuICB9KTtcbiAgdGltZVBpY2tlckVsLmRhdGFzZXQuZGlzYWJsZUZpbHRlcmluZyA9IFwidHJ1ZVwiO1xuICB0aW1lUGlja2VyRWwuZGF0YXNldC5kZWZhdWx0VmFsdWUgPSBkZWZhdWx0VmFsdWU7XG5cbiAgdGltZVBpY2tlckVsLmFwcGVuZENoaWxkKHNlbGVjdEVsKTtcbiAgaW5pdGlhbElucHV0RWwucmVtb3ZlKCk7XG59O1xuXG5jb25zdCB0aW1lUGlja2VyID0gYmVoYXZpb3IoXG4gIHt9LFxuICB7XG4gICAgaW5pdChyb290KSB7XG4gICAgICBzZWxlY3RPck1hdGNoZXMoVElNRV9QSUNLRVIsIHJvb3QpLmZvckVhY2goKHRpbWVQaWNrZXJFbCkgPT4ge1xuICAgICAgICB0cmFuc2Zvcm1UaW1lUGlja2VyKHRpbWVQaWNrZXJFbCk7XG4gICAgICAgIGVuaGFuY2VDb21ib0JveCh0aW1lUGlja2VyRWwpO1xuICAgICAgfSk7XG4gICAgfSxcbiAgICBGSUxURVJfREFUQVNFVCxcbiAgfSxcbik7XG5cbm1vZHVsZS5leHBvcnRzID0gdGltZVBpY2tlcjtcbiIsIi8vIFRvb2x0aXBzXG5jb25zdCBrZXltYXAgPSByZXF1aXJlKFwicmVjZXB0b3Iva2V5bWFwXCIpO1xuY29uc3Qgc2VsZWN0T3JNYXRjaGVzID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3NlbGVjdC1vci1tYXRjaGVzXCIpO1xuY29uc3QgYmVoYXZpb3IgPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvdXRpbHMvYmVoYXZpb3JcIik7XG5jb25zdCB7IHByZWZpeDogUFJFRklYIH0gPSByZXF1aXJlKFwiLi4vLi4vdXN3ZHMtY29yZS9zcmMvanMvY29uZmlnXCIpO1xuY29uc3QgaXNFbGVtZW50SW5WaWV3cG9ydCA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9pcy1pbi12aWV3cG9ydFwiKTtcblxuY29uc3QgQk9EWSA9IFwiYm9keVwiO1xuY29uc3QgVE9PTFRJUCA9IGAuJHtQUkVGSVh9LXRvb2x0aXBgO1xuY29uc3QgVE9PTFRJUF9UUklHR0VSID0gYC4ke1BSRUZJWH0tdG9vbHRpcF9fdHJpZ2dlcmA7XG5jb25zdCBUT09MVElQX1RSSUdHRVJfQ0xBU1MgPSBgJHtQUkVGSVh9LXRvb2x0aXBfX3RyaWdnZXJgO1xuY29uc3QgVE9PTFRJUF9DTEFTUyA9IGAke1BSRUZJWH0tdG9vbHRpcGA7XG5jb25zdCBUT09MVElQX0JPRFlfQ0xBU1MgPSBgJHtQUkVGSVh9LXRvb2x0aXBfX2JvZHlgO1xuY29uc3QgU0VUX0NMQVNTID0gXCJpcy1zZXRcIjtcbmNvbnN0IFZJU0lCTEVfQ0xBU1MgPSBcImlzLXZpc2libGVcIjtcbmNvbnN0IFRSSUFOR0xFX1NJWkUgPSA1O1xuY29uc3QgQURKVVNUX1dJRFRIX0NMQVNTID0gYCR7UFJFRklYfS10b29sdGlwX19ib2R5LS13cmFwYDtcblxuLyoqXG4gKlxuICogQHBhcmFtIHtET01FbGVtZW50fSB0cmlnZ2VyIC0gVGhlIHRvb2x0aXAgdHJpZ2dlclxuICogQHJldHVybnMge29iamVjdH0gRWxlbWVudHMgZm9yIGluaXRpYWxpemVkIHRvb2x0aXA7IGluY2x1ZGVzIHRyaWdnZXIsIHdyYXBwZXIsIGFuZCBib2R5XG4gKi9cbmNvbnN0IGdldFRvb2x0aXBFbGVtZW50cyA9ICh0cmlnZ2VyKSA9PiB7XG4gIGNvbnN0IHdyYXBwZXIgPSB0cmlnZ2VyLnBhcmVudE5vZGU7XG4gIGNvbnN0IGJvZHkgPSB3cmFwcGVyLnF1ZXJ5U2VsZWN0b3IoYC4ke1RPT0xUSVBfQk9EWV9DTEFTU31gKTtcblxuICByZXR1cm4geyB0cmlnZ2VyLCB3cmFwcGVyLCBib2R5IH07XG59O1xuXG4vKipcbiAqIFNob3dzIHRoZSB0b29sdGlwXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSB0b29sdGlwVHJpZ2dlciAtIHRoZSBlbGVtZW50IHRoYXQgaW5pdGlhbGl6ZXMgdGhlIHRvb2x0aXBcbiAqL1xuY29uc3Qgc2hvd1Rvb2xUaXAgPSAodG9vbHRpcEJvZHksIHRvb2x0aXBUcmlnZ2VyLCBwb3NpdGlvbikgPT4ge1xuICB0b29sdGlwQm9keS5zZXRBdHRyaWJ1dGUoXCJhcmlhLWhpZGRlblwiLCBcImZhbHNlXCIpO1xuXG4gIC8vIFRoaXMgc2V0cyB1cCB0aGUgdG9vbHRpcCBib2R5LiBUaGUgb3BhY2l0eSBpcyAwLCBidXRcbiAgLy8gd2UgY2FuIGJlZ2luIHJ1bm5pbmcgdGhlIGNhbGN1bGF0aW9ucyBiZWxvdy5cbiAgdG9vbHRpcEJvZHkuY2xhc3NMaXN0LmFkZChTRVRfQ0xBU1MpO1xuXG4gIC8qKlxuICAgKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCBib2R5IHdoZW4gdGhlIHRyaWdnZXIgaXMgaG92ZXJlZFxuICAgKiBSZW1vdmVzIG9sZCBwb3NpdGlvbmluZyBjbGFzc25hbWVzIGFuZCByZWFwcGxpZXMuIFRoaXMgYWxsb3dzXG4gICAqIHBvc2l0aW9uaW5nIHRvIGNoYW5nZSBpbiBjYXNlIHRoZSB1c2VyIHJlc2l6ZXMgYnJvd3NlciBvciBET00gbWFuaXB1bGF0aW9uXG4gICAqIGNhdXNlcyB0b29sdGlwIHRvIGdldCBjbGlwcGVkIGZyb20gdmlld3BvcnRcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHNldFBvcyAtIGNhbiBiZSBcInRvcFwiLCBcImJvdHRvbVwiLCBcInJpZ2h0XCIsIFwibGVmdFwiXG4gICAqL1xuICBjb25zdCBzZXRQb3NpdGlvbkNsYXNzID0gKHNldFBvcykgPT4ge1xuICAgIHRvb2x0aXBCb2R5LmNsYXNzTGlzdC5yZW1vdmUoYCR7VE9PTFRJUF9CT0RZX0NMQVNTfS0tdG9wYCk7XG4gICAgdG9vbHRpcEJvZHkuY2xhc3NMaXN0LnJlbW92ZShgJHtUT09MVElQX0JPRFlfQ0xBU1N9LS1ib3R0b21gKTtcbiAgICB0b29sdGlwQm9keS5jbGFzc0xpc3QucmVtb3ZlKGAke1RPT0xUSVBfQk9EWV9DTEFTU30tLXJpZ2h0YCk7XG4gICAgdG9vbHRpcEJvZHkuY2xhc3NMaXN0LnJlbW92ZShgJHtUT09MVElQX0JPRFlfQ0xBU1N9LS1sZWZ0YCk7XG4gICAgdG9vbHRpcEJvZHkuY2xhc3NMaXN0LmFkZChgJHtUT09MVElQX0JPRFlfQ0xBU1N9LS0ke3NldFBvc31gKTtcbiAgfTtcblxuICAvKipcbiAgICogUmVtb3ZlcyBvbGQgcG9zaXRpb25pbmcgc3R5bGVzLiBUaGlzIGFsbG93c1xuICAgKiByZS1wb3NpdGlvbmluZyB0byBjaGFuZ2Ugd2l0aG91dCBpbmhlcml0aW5nIG90aGVyXG4gICAqIGR5bmFtaWMgc3R5bGVzXG4gICAqXG4gICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGUgLSB0aGlzIGlzIHRoZSB0b29sdGlwIGJvZHlcbiAgICovXG4gIGNvbnN0IHJlc2V0UG9zaXRpb25TdHlsZXMgPSAoZSkgPT4ge1xuICAgIC8vIHdlIGRvbid0IG92ZXJyaWRlIGFueXRoaW5nIGluIHRoZSBzdHlsZXNoZWV0IHdoZW4gZmluZGluZyBhbHQgcG9zaXRpb25zXG4gICAgZS5zdHlsZS50b3AgPSBudWxsO1xuICAgIGUuc3R5bGUuYm90dG9tID0gbnVsbDtcbiAgICBlLnN0eWxlLnJpZ2h0ID0gbnVsbDtcbiAgICBlLnN0eWxlLmxlZnQgPSBudWxsO1xuICAgIGUuc3R5bGUubWFyZ2luID0gbnVsbDtcbiAgfTtcblxuICAvKipcbiAgICogZ2V0IG1hcmdpbiBvZmZzZXQgY2FsY3VsYXRpb25zXG4gICAqXG4gICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IHRhcmdldCAtIHRoaXMgaXMgdGhlIHRvb2x0aXAgYm9keVxuICAgKiBAcGFyYW0ge1N0cmluZ30gcHJvcGVydHlWYWx1ZSAtIHRoaXMgaXMgdGhlIHRvb2x0aXAgYm9keVxuICAgKi9cblxuICBjb25zdCBvZmZzZXRNYXJnaW4gPSAodGFyZ2V0LCBwcm9wZXJ0eVZhbHVlKSA9PlxuICAgIHBhcnNlSW50KFxuICAgICAgd2luZG93LmdldENvbXB1dGVkU3R5bGUodGFyZ2V0KS5nZXRQcm9wZXJ0eVZhbHVlKHByb3BlcnR5VmFsdWUpLFxuICAgICAgMTAsXG4gICAgKTtcblxuICAvLyBvZmZzZXRMZWZ0ID0gdGhlIGxlZnQgcG9zaXRpb24sIGFuZCBtYXJnaW4gb2YgdGhlIGVsZW1lbnQsIHRoZSBsZWZ0XG4gIC8vIHBhZGRpbmcsIHNjcm9sbGJhciBhbmQgYm9yZGVyIG9mIHRoZSBvZmZzZXRQYXJlbnQgZWxlbWVudFxuICAvLyBvZmZzZXRXaWR0aCA9IFRoZSBvZmZzZXRXaWR0aCBwcm9wZXJ0eSByZXR1cm5zIHRoZSB2aWV3YWJsZSB3aWR0aCBvZiBhblxuICAvLyBlbGVtZW50IGluIHBpeGVscywgaW5jbHVkaW5nIHBhZGRpbmcsIGJvcmRlciBhbmQgc2Nyb2xsYmFyLCBidXQgbm90XG4gIC8vIHRoZSBtYXJnaW4uXG5cbiAgLyoqXG4gICAqIENhbGN1bGF0ZSBtYXJnaW4gb2Zmc2V0XG4gICAqIHRvb2x0aXAgdHJpZ2dlciBtYXJnaW4ocG9zaXRpb24pIG9mZnNldCArIHRvb2x0aXBCb2R5IG9mZnNldFdpZHRoXG4gICAqIEBwYXJhbSB7U3RyaW5nfSBtYXJnaW5Qb3NpdGlvblxuICAgKiBAcGFyYW0ge051bWJlcn0gdG9vbHRpcEJvZHlPZmZzZXRcbiAgICogQHBhcmFtIHtIVE1MRWxlbWVudH0gdHJpZ2dlclxuICAgKi9cbiAgY29uc3QgY2FsY3VsYXRlTWFyZ2luT2Zmc2V0ID0gKFxuICAgIG1hcmdpblBvc2l0aW9uLFxuICAgIHRvb2x0aXBCb2R5T2Zmc2V0LFxuICAgIHRyaWdnZXIsXG4gICkgPT4ge1xuICAgIGNvbnN0IG9mZnNldCA9XG4gICAgICBvZmZzZXRNYXJnaW4odHJpZ2dlciwgYG1hcmdpbi0ke21hcmdpblBvc2l0aW9ufWApID4gMFxuICAgICAgICA/IHRvb2x0aXBCb2R5T2Zmc2V0IC0gb2Zmc2V0TWFyZ2luKHRyaWdnZXIsIGBtYXJnaW4tJHttYXJnaW5Qb3NpdGlvbn1gKVxuICAgICAgICA6IHRvb2x0aXBCb2R5T2Zmc2V0O1xuXG4gICAgcmV0dXJuIG9mZnNldDtcbiAgfTtcblxuICAvKipcbiAgICogUG9zaXRpb25zIHRvb2x0aXAgYXQgdGhlIHRvcFxuICAgKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBlIC0gdGhpcyBpcyB0aGUgdG9vbHRpcCBib2R5XG4gICAqL1xuICBjb25zdCBwb3NpdGlvblRvcCA9IChlKSA9PiB7XG4gICAgcmVzZXRQb3NpdGlvblN0eWxlcyhlKTsgLy8gZW5zdXJlcyB3ZSBzdGFydCBmcm9tIHRoZSBzYW1lIHBvaW50XG4gICAgLy8gZ2V0IGRldGFpbHMgb24gdGhlIGVsZW1lbnRzIG9iamVjdCB3aXRoXG5cbiAgICBjb25zdCB0b3BNYXJnaW4gPSBjYWxjdWxhdGVNYXJnaW5PZmZzZXQoXG4gICAgICBcInRvcFwiLFxuICAgICAgZS5vZmZzZXRIZWlnaHQsXG4gICAgICB0b29sdGlwVHJpZ2dlcixcbiAgICApO1xuXG4gICAgY29uc3QgbGVmdE1hcmdpbiA9IGNhbGN1bGF0ZU1hcmdpbk9mZnNldChcbiAgICAgIFwibGVmdFwiLFxuICAgICAgZS5vZmZzZXRXaWR0aCxcbiAgICAgIHRvb2x0aXBUcmlnZ2VyLFxuICAgICk7XG5cbiAgICBzZXRQb3NpdGlvbkNsYXNzKFwidG9wXCIpO1xuICAgIGUuc3R5bGUubGVmdCA9IGA1MCVgOyAvLyBjZW50ZXIgdGhlIGVsZW1lbnRcbiAgICBlLnN0eWxlLnRvcCA9IGAtJHtUUklBTkdMRV9TSVpFfXB4YDsgLy8gY29uc2lkZXIgdGhlIHBzZXVkbyBlbGVtZW50XG4gICAgLy8gYXBwbHkgb3VyIG1hcmdpbnMgYmFzZWQgb24gdGhlIG9mZnNldFxuICAgIGUuc3R5bGUubWFyZ2luID0gYC0ke3RvcE1hcmdpbn1weCAwIDAgLSR7bGVmdE1hcmdpbiAvIDJ9cHhgO1xuICB9O1xuXG4gIC8qKlxuICAgKiBQb3NpdGlvbnMgdG9vbHRpcCBhdCB0aGUgYm90dG9tXG4gICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGUgLSB0aGlzIGlzIHRoZSB0b29sdGlwIGJvZHlcbiAgICovXG4gIGNvbnN0IHBvc2l0aW9uQm90dG9tID0gKGUpID0+IHtcbiAgICByZXNldFBvc2l0aW9uU3R5bGVzKGUpO1xuXG4gICAgY29uc3QgbGVmdE1hcmdpbiA9IGNhbGN1bGF0ZU1hcmdpbk9mZnNldChcbiAgICAgIFwibGVmdFwiLFxuICAgICAgZS5vZmZzZXRXaWR0aCxcbiAgICAgIHRvb2x0aXBUcmlnZ2VyLFxuICAgICk7XG5cbiAgICBzZXRQb3NpdGlvbkNsYXNzKFwiYm90dG9tXCIpO1xuICAgIGUuc3R5bGUubGVmdCA9IGA1MCVgO1xuICAgIGUuc3R5bGUubWFyZ2luID0gYCR7VFJJQU5HTEVfU0laRX1weCAwIDAgLSR7bGVmdE1hcmdpbiAvIDJ9cHhgO1xuICB9O1xuXG4gIC8qKlxuICAgKiBQb3NpdGlvbnMgdG9vbHRpcCBhdCB0aGUgcmlnaHRcbiAgICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZSAtIHRoaXMgaXMgdGhlIHRvb2x0aXAgYm9keVxuICAgKi9cbiAgY29uc3QgcG9zaXRpb25SaWdodCA9IChlKSA9PiB7XG4gICAgcmVzZXRQb3NpdGlvblN0eWxlcyhlKTtcblxuICAgIGNvbnN0IHRvcE1hcmdpbiA9IGNhbGN1bGF0ZU1hcmdpbk9mZnNldChcbiAgICAgIFwidG9wXCIsXG4gICAgICBlLm9mZnNldEhlaWdodCxcbiAgICAgIHRvb2x0aXBUcmlnZ2VyLFxuICAgICk7XG5cbiAgICBzZXRQb3NpdGlvbkNsYXNzKFwicmlnaHRcIik7XG4gICAgZS5zdHlsZS50b3AgPSBgNTAlYDtcbiAgICBlLnN0eWxlLmxlZnQgPSBgJHtcbiAgICAgIHRvb2x0aXBUcmlnZ2VyLm9mZnNldExlZnQgKyB0b29sdGlwVHJpZ2dlci5vZmZzZXRXaWR0aCArIFRSSUFOR0xFX1NJWkVcbiAgICB9cHhgO1xuICAgIGUuc3R5bGUubWFyZ2luID0gYC0ke3RvcE1hcmdpbiAvIDJ9cHggMCAwIDBgO1xuICB9O1xuXG4gIC8qKlxuICAgKiBQb3NpdGlvbnMgdG9vbHRpcCBhdCB0aGUgcmlnaHRcbiAgICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZSAtIHRoaXMgaXMgdGhlIHRvb2x0aXAgYm9keVxuICAgKi9cbiAgY29uc3QgcG9zaXRpb25MZWZ0ID0gKGUpID0+IHtcbiAgICByZXNldFBvc2l0aW9uU3R5bGVzKGUpO1xuXG4gICAgY29uc3QgdG9wTWFyZ2luID0gY2FsY3VsYXRlTWFyZ2luT2Zmc2V0KFxuICAgICAgXCJ0b3BcIixcbiAgICAgIGUub2Zmc2V0SGVpZ2h0LFxuICAgICAgdG9vbHRpcFRyaWdnZXIsXG4gICAgKTtcblxuICAgIC8vIHdlIGhhdmUgdG8gY2hlY2sgZm9yIHNvbWUgdXRpbGl0eSBtYXJnaW5zXG4gICAgY29uc3QgbGVmdE1hcmdpbiA9IGNhbGN1bGF0ZU1hcmdpbk9mZnNldChcbiAgICAgIFwibGVmdFwiLFxuICAgICAgdG9vbHRpcFRyaWdnZXIub2Zmc2V0TGVmdCA+IGUub2Zmc2V0V2lkdGhcbiAgICAgICAgPyB0b29sdGlwVHJpZ2dlci5vZmZzZXRMZWZ0IC0gZS5vZmZzZXRXaWR0aFxuICAgICAgICA6IGUub2Zmc2V0V2lkdGgsXG4gICAgICB0b29sdGlwVHJpZ2dlcixcbiAgICApO1xuXG4gICAgc2V0UG9zaXRpb25DbGFzcyhcImxlZnRcIik7XG4gICAgZS5zdHlsZS50b3AgPSBgNTAlYDtcbiAgICBlLnN0eWxlLmxlZnQgPSBgLSR7VFJJQU5HTEVfU0laRX1weGA7XG4gICAgZS5zdHlsZS5tYXJnaW4gPSBgLSR7dG9wTWFyZ2luIC8gMn1weCAwIDAgJHtcbiAgICAgIHRvb2x0aXBUcmlnZ2VyLm9mZnNldExlZnQgPiBlLm9mZnNldFdpZHRoID8gbGVmdE1hcmdpbiA6IC1sZWZ0TWFyZ2luXG4gICAgfXB4YDsgLy8gYWRqdXN0IHRoZSBtYXJnaW5cbiAgfTtcblxuICAvKipcbiAgICogV2UgdHJ5IHRvIHNldCB0aGUgcG9zaXRpb24gYmFzZWQgb24gdGhlXG4gICAqIG9yaWdpbmFsIGludGVudGlvbiwgYnV0IG1ha2UgYWRqdXN0bWVudHNcbiAgICogaWYgdGhlIGVsZW1lbnQgaXMgY2xpcHBlZCBvdXQgb2YgdGhlIHZpZXdwb3J0XG4gICAqIHdlIGNvbnN0cmFpbiB0aGUgd2lkdGggb25seSBhcyBhIGxhc3QgcmVzb3J0XG4gICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsZW1lbnQoYWxpYXMgdG9vbHRpcEJvZHkpXG4gICAqIEBwYXJhbSB7TnVtYmVyfSBhdHRlbXB0ICgtLWZsYWcpXG4gICAqL1xuXG4gIGNvbnN0IG1heEF0dGVtcHRzID0gMjtcblxuICBmdW5jdGlvbiBmaW5kQmVzdFBvc2l0aW9uKGVsZW1lbnQsIGF0dGVtcHQgPSAxKSB7XG4gICAgLy8gY3JlYXRlIGFycmF5IG9mIG9wdGlvbmFsIHBvc2l0aW9uc1xuICAgIGNvbnN0IHBvc2l0aW9ucyA9IFtcbiAgICAgIHBvc2l0aW9uVG9wLFxuICAgICAgcG9zaXRpb25Cb3R0b20sXG4gICAgICBwb3NpdGlvblJpZ2h0LFxuICAgICAgcG9zaXRpb25MZWZ0LFxuICAgIF07XG5cbiAgICBsZXQgaGFzVmlzaWJsZVBvc2l0aW9uID0gZmFsc2U7XG5cbiAgICAvLyB3ZSB0YWtlIGEgcmVjdXJzaXZlIGFwcHJvYWNoXG4gICAgZnVuY3Rpb24gdHJ5UG9zaXRpb25zKGkpIHtcbiAgICAgIGlmIChpIDwgcG9zaXRpb25zLmxlbmd0aCkge1xuICAgICAgICBjb25zdCBwb3MgPSBwb3NpdGlvbnNbaV07XG4gICAgICAgIHBvcyhlbGVtZW50KTtcblxuICAgICAgICBpZiAoIWlzRWxlbWVudEluVmlld3BvcnQoZWxlbWVudCkpIHtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cbiAgICAgICAgICB0cnlQb3NpdGlvbnMoKGkgKz0gMSkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGhhc1Zpc2libGVQb3NpdGlvbiA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB0cnlQb3NpdGlvbnMoMCk7XG4gICAgLy8gaWYgd2UgY2FuJ3QgZmluZCBhIHBvc2l0aW9uIHdlIGNvbXByZXNzIGl0IGFuZCB0cnkgYWdhaW5cbiAgICBpZiAoIWhhc1Zpc2libGVQb3NpdGlvbikge1xuICAgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKEFESlVTVF9XSURUSF9DTEFTUyk7XG4gICAgICBpZiAoYXR0ZW1wdCA8PSBtYXhBdHRlbXB0cykge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cbiAgICAgICAgZmluZEJlc3RQb3NpdGlvbihlbGVtZW50LCAoYXR0ZW1wdCArPSAxKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc3dpdGNoIChwb3NpdGlvbikge1xuICAgIGNhc2UgXCJ0b3BcIjpcbiAgICAgIHBvc2l0aW9uVG9wKHRvb2x0aXBCb2R5KTtcbiAgICAgIGlmICghaXNFbGVtZW50SW5WaWV3cG9ydCh0b29sdGlwQm9keSkpIHtcbiAgICAgICAgZmluZEJlc3RQb3NpdGlvbih0b29sdGlwQm9keSk7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlIFwiYm90dG9tXCI6XG4gICAgICBwb3NpdGlvbkJvdHRvbSh0b29sdGlwQm9keSk7XG4gICAgICBpZiAoIWlzRWxlbWVudEluVmlld3BvcnQodG9vbHRpcEJvZHkpKSB7XG4gICAgICAgIGZpbmRCZXN0UG9zaXRpb24odG9vbHRpcEJvZHkpO1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgY2FzZSBcInJpZ2h0XCI6XG4gICAgICBwb3NpdGlvblJpZ2h0KHRvb2x0aXBCb2R5KTtcbiAgICAgIGlmICghaXNFbGVtZW50SW5WaWV3cG9ydCh0b29sdGlwQm9keSkpIHtcbiAgICAgICAgZmluZEJlc3RQb3NpdGlvbih0b29sdGlwQm9keSk7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlIFwibGVmdFwiOlxuICAgICAgcG9zaXRpb25MZWZ0KHRvb2x0aXBCb2R5KTtcbiAgICAgIGlmICghaXNFbGVtZW50SW5WaWV3cG9ydCh0b29sdGlwQm9keSkpIHtcbiAgICAgICAgZmluZEJlc3RQb3NpdGlvbih0b29sdGlwQm9keSk7XG4gICAgICB9XG4gICAgICBicmVhaztcblxuICAgIGRlZmF1bHQ6XG4gICAgICAvLyBza2lwIGRlZmF1bHQgY2FzZVxuICAgICAgYnJlYWs7XG4gIH1cblxuICAvKipcbiAgICogQWN0dWFsbHkgc2hvdyB0aGUgdG9vbHRpcC4gVGhlIFZJU0lCTEVfQ0xBU1NcbiAgICogd2lsbCBjaGFuZ2UgdGhlIG9wYWNpdHkgdG8gMVxuICAgKi9cbiAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgdG9vbHRpcEJvZHkuY2xhc3NMaXN0LmFkZChWSVNJQkxFX0NMQVNTKTtcbiAgfSwgMjApO1xufTtcblxuLyoqXG4gKiBSZW1vdmVzIGFsbCB0aGUgcHJvcGVydGllcyB0byBzaG93IGFuZCBwb3NpdGlvbiB0aGUgdG9vbHRpcCxcbiAqIGFuZCByZXNldHMgdGhlIHRvb2x0aXAgcG9zaXRpb24gdG8gdGhlIG9yaWdpbmFsIGludGVudGlvblxuICogaW4gY2FzZSB0aGUgd2luZG93IGlzIHJlc2l6ZWQgb3IgdGhlIGVsZW1lbnQgaXMgbW92ZWQgdGhyb3VnaFxuICogRE9NIG1hbmlwdWxhdGlvbi5cbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IHRvb2x0aXBCb2R5IC0gVGhlIGJvZHkgb2YgdGhlIHRvb2x0aXBcbiAqL1xuY29uc3QgaGlkZVRvb2xUaXAgPSAodG9vbHRpcEJvZHkpID0+IHtcbiAgdG9vbHRpcEJvZHkuY2xhc3NMaXN0LnJlbW92ZShWSVNJQkxFX0NMQVNTKTtcbiAgdG9vbHRpcEJvZHkuY2xhc3NMaXN0LnJlbW92ZShTRVRfQ0xBU1MpO1xuICB0b29sdGlwQm9keS5jbGFzc0xpc3QucmVtb3ZlKEFESlVTVF9XSURUSF9DTEFTUyk7XG4gIHRvb2x0aXBCb2R5LnNldEF0dHJpYnV0ZShcImFyaWEtaGlkZGVuXCIsIFwidHJ1ZVwiKTtcbn07XG5cbi8qKlxuICogU2V0dXAgdGhlIHRvb2x0aXAgY29tcG9uZW50XG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSB0b29sdGlwVHJpZ2dlciBUaGUgZWxlbWVudCB0aGF0IGNyZWF0ZXMgdGhlIHRvb2x0aXBcbiAqL1xuY29uc3Qgc2V0VXBBdHRyaWJ1dGVzID0gKHRvb2x0aXBUcmlnZ2VyKSA9PiB7XG4gIGNvbnN0IHRvb2x0aXBJRCA9IGB0b29sdGlwLSR7TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogOTAwMDAwKSArIDEwMDAwMH1gO1xuICBjb25zdCB0b29sdGlwQ29udGVudCA9IHRvb2x0aXBUcmlnZ2VyLmdldEF0dHJpYnV0ZShcInRpdGxlXCIpO1xuICBjb25zdCB3cmFwcGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInNwYW5cIik7XG4gIGNvbnN0IHRvb2x0aXBCb2R5ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInNwYW5cIik7XG4gIGNvbnN0IGFkZGl0aW9uYWxDbGFzc2VzID0gdG9vbHRpcFRyaWdnZXIuZ2V0QXR0cmlidXRlKFwiZGF0YS1jbGFzc2VzXCIpO1xuICBsZXQgcG9zaXRpb24gPSB0b29sdGlwVHJpZ2dlci5nZXRBdHRyaWJ1dGUoXCJkYXRhLXBvc2l0aW9uXCIpO1xuXG4gIC8vIEFwcGx5IGRlZmF1bHQgcG9zaXRpb24gaWYgbm90IHNldCBhcyBhdHRyaWJ1dGVcbiAgaWYgKCFwb3NpdGlvbikge1xuICAgIHBvc2l0aW9uID0gXCJ0b3BcIjtcbiAgICB0b29sdGlwVHJpZ2dlci5zZXRBdHRyaWJ1dGUoXCJkYXRhLXBvc2l0aW9uXCIsIHBvc2l0aW9uKTtcbiAgfVxuXG4gIC8vIFNldCB1cCB0b29sdGlwIGF0dHJpYnV0ZXNcbiAgdG9vbHRpcFRyaWdnZXIuc2V0QXR0cmlidXRlKFwiYXJpYS1kZXNjcmliZWRieVwiLCB0b29sdGlwSUQpO1xuICB0b29sdGlwVHJpZ2dlci5zZXRBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiLCBcIjBcIik7XG4gIHRvb2x0aXBUcmlnZ2VyLnJlbW92ZUF0dHJpYnV0ZShcInRpdGxlXCIpO1xuICB0b29sdGlwVHJpZ2dlci5jbGFzc0xpc3QucmVtb3ZlKFRPT0xUSVBfQ0xBU1MpO1xuICB0b29sdGlwVHJpZ2dlci5jbGFzc0xpc3QuYWRkKFRPT0xUSVBfVFJJR0dFUl9DTEFTUyk7XG5cbiAgLy8gaW5zZXJ0IHdyYXBwZXIgYmVmb3JlIGVsIGluIHRoZSBET00gdHJlZVxuICB0b29sdGlwVHJpZ2dlci5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh3cmFwcGVyLCB0b29sdGlwVHJpZ2dlcik7XG5cbiAgLy8gc2V0IHVwIHRoZSB3cmFwcGVyXG4gIHdyYXBwZXIuYXBwZW5kQ2hpbGQodG9vbHRpcFRyaWdnZXIpO1xuICB3cmFwcGVyLmNsYXNzTGlzdC5hZGQoVE9PTFRJUF9DTEFTUyk7XG4gIHdyYXBwZXIuYXBwZW5kQ2hpbGQodG9vbHRpcEJvZHkpO1xuXG4gIC8vIEFwcGx5IGFkZGl0aW9uYWwgY2xhc3MgbmFtZXMgdG8gd3JhcHBlciBlbGVtZW50XG4gIGlmIChhZGRpdGlvbmFsQ2xhc3Nlcykge1xuICAgIGNvbnN0IGNsYXNzZXNBcnJheSA9IGFkZGl0aW9uYWxDbGFzc2VzLnNwbGl0KFwiIFwiKTtcbiAgICBjbGFzc2VzQXJyYXkuZm9yRWFjaCgoY2xhc3NuYW1lKSA9PiB3cmFwcGVyLmNsYXNzTGlzdC5hZGQoY2xhc3NuYW1lKSk7XG4gIH1cblxuICAvLyBzZXQgdXAgdGhlIHRvb2x0aXAgYm9keVxuICB0b29sdGlwQm9keS5jbGFzc0xpc3QuYWRkKFRPT0xUSVBfQk9EWV9DTEFTUyk7XG4gIHRvb2x0aXBCb2R5LnNldEF0dHJpYnV0ZShcImlkXCIsIHRvb2x0aXBJRCk7XG4gIHRvb2x0aXBCb2R5LnNldEF0dHJpYnV0ZShcInJvbGVcIiwgXCJ0b29sdGlwXCIpO1xuICB0b29sdGlwQm9keS5zZXRBdHRyaWJ1dGUoXCJhcmlhLWhpZGRlblwiLCBcInRydWVcIik7XG5cbiAgLy8gcGxhY2UgdGhlIHRleHQgaW4gdGhlIHRvb2x0aXBcbiAgdG9vbHRpcEJvZHkudGV4dENvbnRlbnQgPSB0b29sdGlwQ29udGVudDtcblxuICByZXR1cm4geyB0b29sdGlwQm9keSwgcG9zaXRpb24sIHRvb2x0aXBDb250ZW50LCB3cmFwcGVyIH07XG59O1xuXG4vKipcbiAqIEhpZGUgYWxsIGFjdGl2ZSB0b29sdGlwcyB3aGVuIGVzY2FwZSBrZXkgaXMgcHJlc3NlZC5cbiAqL1xuXG5jb25zdCBoYW5kbGVFc2NhcGUgPSAoKSA9PiB7XG4gIGNvbnN0IGFjdGl2ZVRvb2x0aXBzID0gc2VsZWN0T3JNYXRjaGVzKGAuJHtUT09MVElQX0JPRFlfQ0xBU1N9LiR7U0VUX0NMQVNTfWApO1xuXG4gIGlmICghYWN0aXZlVG9vbHRpcHMpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBhY3RpdmVUb29sdGlwcy5mb3JFYWNoKChhY3RpdmVUb29sdGlwKSA9PiBoaWRlVG9vbFRpcChhY3RpdmVUb29sdGlwKSk7XG59O1xuXG4vLyBTZXR1cCBvdXIgZnVuY3Rpb24gdG8gcnVuIG9uIHZhcmlvdXMgZXZlbnRzXG5jb25zdCB0b29sdGlwID0gYmVoYXZpb3IoXG4gIHtcbiAgICBcIm1vdXNlb3ZlciBmb2N1c2luXCI6IHtcbiAgICAgIFtUT09MVElQXShlKSB7XG4gICAgICAgIGNvbnN0IHRyaWdnZXIgPSBlLnRhcmdldDtcbiAgICAgICAgY29uc3QgZWxlbWVudFR5cGUgPSB0cmlnZ2VyLm5vZGVOYW1lO1xuXG4gICAgICAgIC8vIEluaXRpYWxpemUgdG9vbHRpcCBpZiBpdCBoYXNuJ3QgYWxyZWFkeVxuICAgICAgICBpZiAoZWxlbWVudFR5cGUgPT09IFwiQlVUVE9OXCIgJiYgdHJpZ2dlci5oYXNBdHRyaWJ1dGUoXCJ0aXRsZVwiKSkge1xuICAgICAgICAgIHNldFVwQXR0cmlidXRlcyh0cmlnZ2VyKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFtUT09MVElQX1RSSUdHRVJdKGUpIHtcbiAgICAgICAgY29uc3QgeyB0cmlnZ2VyLCBib2R5IH0gPSBnZXRUb29sdGlwRWxlbWVudHMoZS50YXJnZXQpO1xuXG4gICAgICAgIHNob3dUb29sVGlwKGJvZHksIHRyaWdnZXIsIHRyaWdnZXIuZGF0YXNldC5wb3NpdGlvbik7XG4gICAgICB9LFxuICAgIH0sXG4gICAgZm9jdXNvdXQ6IHtcbiAgICAgIFtUT09MVElQX1RSSUdHRVJdKGUpIHtcbiAgICAgICAgY29uc3QgeyBib2R5IH0gPSBnZXRUb29sdGlwRWxlbWVudHMoZS50YXJnZXQpO1xuXG4gICAgICAgIGhpZGVUb29sVGlwKGJvZHkpO1xuICAgICAgfSxcbiAgICB9LFxuICAgIGtleWRvd246IHtcbiAgICAgIFtCT0RZXToga2V5bWFwKHsgRXNjYXBlOiBoYW5kbGVFc2NhcGUgfSksXG4gICAgfSxcbiAgfSxcbiAge1xuICAgIGluaXQocm9vdCkge1xuICAgICAgc2VsZWN0T3JNYXRjaGVzKFRPT0xUSVAsIHJvb3QpLmZvckVhY2goKHRvb2x0aXBUcmlnZ2VyKSA9PiB7XG4gICAgICAgIHNldFVwQXR0cmlidXRlcyh0b29sdGlwVHJpZ2dlcik7XG5cbiAgICAgICAgY29uc3QgeyBib2R5LCB3cmFwcGVyIH0gPSBnZXRUb29sdGlwRWxlbWVudHModG9vbHRpcFRyaWdnZXIpO1xuICAgICAgICB3cmFwcGVyLmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZWxlYXZlXCIsICgpID0+IGhpZGVUb29sVGlwKGJvZHkpKTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgdGVhcmRvd24ocm9vdCkge1xuICAgICAgc2VsZWN0T3JNYXRjaGVzKFRPT0xUSVAsIHJvb3QpLmZvckVhY2goKHRvb2x0aXBXcmFwcGVyKSA9PiB7XG4gICAgICAgIHRvb2x0aXBXcmFwcGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtb3VzZWxlYXZlXCIsIGhpZGVUb29sVGlwKTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgc2V0dXA6IHNldFVwQXR0cmlidXRlcyxcbiAgICBnZXRUb29sdGlwRWxlbWVudHMsXG4gICAgc2hvdzogc2hvd1Rvb2xUaXAsXG4gICAgaGlkZTogaGlkZVRvb2xUaXAsXG4gIH0sXG4pO1xuXG5tb2R1bGUuZXhwb3J0cyA9IHRvb2x0aXA7XG4iLCJjb25zdCBiZWhhdmlvciA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9iZWhhdmlvclwiKTtcbmNvbnN0IHZhbGlkYXRlID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL3V0aWxzL3ZhbGlkYXRlLWlucHV0XCIpO1xuY29uc3QgeyBwcmVmaXg6IFBSRUZJWCB9ID0gcmVxdWlyZShcIi4uLy4uL3Vzd2RzLWNvcmUvc3JjL2pzL2NvbmZpZ1wiKTtcbmNvbnN0IHNlbGVjdE9yTWF0Y2hlcyA9IHJlcXVpcmUoXCIuLi8uLi91c3dkcy1jb3JlL3NyYy9qcy91dGlscy9zZWxlY3Qtb3ItbWF0Y2hlc1wiKTtcblxuY29uc3QgVkFMSURBVEVfSU5QVVQgPVxuICBcImlucHV0W2RhdGEtdmFsaWRhdGlvbi1lbGVtZW50XSx0ZXh0YXJlYVtkYXRhLXZhbGlkYXRpb24tZWxlbWVudF1cIjtcbmNvbnN0IENIRUNLTElTVF9JVEVNID0gYC4ke1BSRUZJWH0tY2hlY2tsaXN0X19pdGVtYDtcblxuLy8gVHJpZ2dlciB2YWxpZGF0aW9uIG9uIGlucHV0IGNoYW5nZVxuY29uc3QgaGFuZGxlQ2hhbmdlID0gKGVsKSA9PiB2YWxpZGF0ZShlbCk7XG5cbi8vIENyZWF0ZSBjb250YWluZXIgdG8gaG9sZCBhcmlhIHJlYWRvdXRcbmNvbnN0IGNyZWF0ZVN0YXR1c0VsZW1lbnQgPSAoaW5wdXQpID0+IHtcbiAgY29uc3QgdmFsaWRhdGlvbkNvbnRhaW5lciA9IGlucHV0LnBhcmVudE5vZGU7XG4gIGNvbnN0IGlucHV0SUQgPSBpbnB1dC5nZXRBdHRyaWJ1dGUoXCJpZFwiKTtcbiAgY29uc3Qgc3RhdHVzU3VtbWFyeUlEID0gYCR7aW5wdXRJRH0tc3Itc3VtbWFyeWA7XG4gIGlucHV0LnNldEF0dHJpYnV0ZShcImFyaWEtZGVzY3JpYmVkYnlcIiwgc3RhdHVzU3VtbWFyeUlEKTtcblxuICBjb25zdCBzdGF0dXNTdW1tYXJ5Q29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInNwYW5cIik7XG5cbiAgc3RhdHVzU3VtbWFyeUNvbnRhaW5lci5zZXRBdHRyaWJ1dGUoXCJkYXRhLXZhbGlkYXRpb24tc3RhdHVzXCIsIFwiXCIpO1xuICBzdGF0dXNTdW1tYXJ5Q29udGFpbmVyLmNsYXNzTGlzdC5hZGQoXCJ1c2Etc3Itb25seVwiKTtcbiAgc3RhdHVzU3VtbWFyeUNvbnRhaW5lci5zZXRBdHRyaWJ1dGUoXCJhcmlhLWxpdmVcIiwgXCJwb2xpdGVcIik7XG4gIHN0YXR1c1N1bW1hcnlDb250YWluZXIuc2V0QXR0cmlidXRlKFwiYXJpYS1hdG9taWNcIiwgdHJ1ZSk7XG4gIHN0YXR1c1N1bW1hcnlDb250YWluZXIuc2V0QXR0cmlidXRlKFwiaWRcIiwgc3RhdHVzU3VtbWFyeUlEKTtcbiAgdmFsaWRhdGlvbkNvbnRhaW5lci5hcHBlbmQoc3RhdHVzU3VtbWFyeUNvbnRhaW5lcik7XG59O1xuXG4vLyBTZXQgdXAgY2hlY2tsaXN0IGl0ZW1zIHdpdGggaW5pdGlhbCBhcmlhLWxhYmVsIChpbmNvbXBsZXRlKSB2YWx1ZXNcbmNvbnN0IGNyZWF0ZUluaXRpYWxTdGF0dXMgPSAoaW5wdXQpID0+IHtcbiAgY29uc3QgdmFsaWRhdGlvbkNvbnRhaW5lciA9IGlucHV0LnBhcmVudE5vZGU7XG4gIGNvbnN0IGNoZWNrbGlzdEl0ZW1zID0gdmFsaWRhdGlvbkNvbnRhaW5lci5xdWVyeVNlbGVjdG9yQWxsKENIRUNLTElTVF9JVEVNKTtcbiAgY29uc3QgdmFsaWRhdGlvbkVsZW1lbnQgPSBpbnB1dC5nZXRBdHRyaWJ1dGUoXCJkYXRhLXZhbGlkYXRpb24tZWxlbWVudFwiKTtcblxuICBpbnB1dC5zZXRBdHRyaWJ1dGUoXCJhcmlhLWNvbnRyb2xzXCIsIHZhbGlkYXRpb25FbGVtZW50KTtcblxuICBjaGVja2xpc3RJdGVtcy5mb3JFYWNoKChsaXN0SXRlbSkgPT4ge1xuICAgIGxldCBjdXJyZW50U3RhdHVzID0gXCJzdGF0dXMgaW5jb21wbGV0ZVwiO1xuICAgIGlmIChpbnB1dC5oYXNBdHRyaWJ1dGUoXCJkYXRhLXZhbGlkYXRpb24taW5jb21wbGV0ZVwiKSkge1xuICAgICAgY3VycmVudFN0YXR1cyA9IGlucHV0LmdldEF0dHJpYnV0ZShcImRhdGEtdmFsaWRhdGlvbi1pbmNvbXBsZXRlXCIpO1xuICAgIH1cbiAgICBjb25zdCBpdGVtU3RhdHVzID0gYCR7bGlzdEl0ZW0udGV4dENvbnRlbnR9ICR7Y3VycmVudFN0YXR1c30gYDtcbiAgICBsaXN0SXRlbS5zZXRBdHRyaWJ1dGUoXCJhcmlhLWxhYmVsXCIsIGl0ZW1TdGF0dXMpO1xuICB9KTtcbn07XG5cbmNvbnN0IGVuaGFuY2VWYWxpZGF0aW9uID0gKGlucHV0KSA9PiB7XG4gIGNyZWF0ZVN0YXR1c0VsZW1lbnQoaW5wdXQpO1xuICBjcmVhdGVJbml0aWFsU3RhdHVzKGlucHV0KTtcbn07XG5cbmNvbnN0IHZhbGlkYXRvciA9IGJlaGF2aW9yKFxuICB7XG4gICAgXCJpbnB1dCBjaGFuZ2VcIjoge1xuICAgICAgW1ZBTElEQVRFX0lOUFVUXShldmVudCkge1xuICAgICAgICBoYW5kbGVDaGFuZ2UoZXZlbnQudGFyZ2V0KTtcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbiAge1xuICAgIGluaXQocm9vdCkge1xuICAgICAgc2VsZWN0T3JNYXRjaGVzKFZBTElEQVRFX0lOUFVULCByb290KS5mb3JFYWNoKChpbnB1dCkgPT5cbiAgICAgICAgZW5oYW5jZVZhbGlkYXRpb24oaW5wdXQpLFxuICAgICAgKTtcbiAgICB9LFxuICB9LFxuKTtcblxubW9kdWxlLmV4cG9ydHMgPSB2YWxpZGF0b3I7XG4iLCJtb2R1bGUuZXhwb3J0cyA9IHtcbiAgcHJlZml4OiBcInVzYVwiLFxufTtcbiIsIm1vZHVsZS5leHBvcnRzID0ge1xuICAvLyBUaGlzIHVzZWQgdG8gYmUgY29uZGl0aW9uYWxseSBkZXBlbmRlbnQgb24gd2hldGhlciB0aGVcbiAgLy8gYnJvd3NlciBzdXBwb3J0ZWQgdG91Y2ggZXZlbnRzOyBpZiBpdCBkaWQsIGBDTElDS2Agd2FzIHNldCB0b1xuICAvLyBgdG91Y2hzdGFydGAuICBIb3dldmVyLCB0aGlzIGhhZCBkb3duc2lkZXM6XG4gIC8vXG4gIC8vICogSXQgcHJlLWVtcHRlZCBtb2JpbGUgYnJvd3NlcnMnIGRlZmF1bHQgYmVoYXZpb3Igb2YgZGV0ZWN0aW5nXG4gIC8vICAgd2hldGhlciBhIHRvdWNoIHR1cm5lZCBpbnRvIGEgc2Nyb2xsLCB0aGVyZWJ5IHByZXZlbnRpbmdcbiAgLy8gICB1c2VycyBmcm9tIHVzaW5nIHNvbWUgb2Ygb3VyIGNvbXBvbmVudHMgYXMgc2Nyb2xsIHN1cmZhY2VzLlxuICAvL1xuICAvLyAqIFNvbWUgZGV2aWNlcywgc3VjaCBhcyB0aGUgTWljcm9zb2Z0IFN1cmZhY2UgUHJvLCBzdXBwb3J0ICpib3RoKlxuICAvLyAgIHRvdWNoIGFuZCBjbGlja3MuIFRoaXMgbWVhbnQgdGhlIGNvbmRpdGlvbmFsIGVmZmVjdGl2ZWx5IGRyb3BwZWRcbiAgLy8gICBzdXBwb3J0IGZvciB0aGUgdXNlcidzIG1vdXNlLCBmcnVzdHJhdGluZyB1c2VycyB3aG8gcHJlZmVycmVkXG4gIC8vICAgaXQgb24gdGhvc2Ugc3lzdGVtcy5cbiAgQ0xJQ0s6IFwiY2xpY2tcIixcbn07XG4iLCJjb25zdCBhY2NvcmRpb24gPSByZXF1aXJlKFwiLi4vLi4vLi4vdXNhLWFjY29yZGlvbi9zcmMvaW5kZXhcIik7XG5jb25zdCBiYW5uZXIgPSByZXF1aXJlKFwiLi4vLi4vLi4vdXNhLWJhbm5lci9zcmMvaW5kZXhcIik7XG5jb25zdCBidXR0b24gPSByZXF1aXJlKFwiLi4vLi4vLi4vdXNhLWJ1dHRvbi9zcmMvaW5kZXhcIik7XG5jb25zdCBjaGFyYWN0ZXJDb3VudCA9IHJlcXVpcmUoXCIuLi8uLi8uLi91c2EtY2hhcmFjdGVyLWNvdW50L3NyYy9pbmRleFwiKTtcbmNvbnN0IGNvbWJvQm94ID0gcmVxdWlyZShcIi4uLy4uLy4uL3VzYS1jb21iby1ib3gvc3JjL2luZGV4XCIpO1xuY29uc3QgZGF0ZVBpY2tlciA9IHJlcXVpcmUoXCIuLi8uLi8uLi91c2EtZGF0ZS1waWNrZXIvc3JjL2luZGV4XCIpO1xuY29uc3QgZGF0ZVJhbmdlUGlja2VyID0gcmVxdWlyZShcIi4uLy4uLy4uL3VzYS1kYXRlLXJhbmdlLXBpY2tlci9zcmMvaW5kZXhcIik7XG5jb25zdCBmaWxlSW5wdXQgPSByZXF1aXJlKFwiLi4vLi4vLi4vdXNhLWZpbGUtaW5wdXQvc3JjL2luZGV4XCIpO1xuY29uc3QgZm9vdGVyID0gcmVxdWlyZShcIi4uLy4uLy4uL3VzYS1mb290ZXIvc3JjL2luZGV4XCIpO1xuY29uc3QgaW5QYWdlTmF2aWdhdGlvbiA9IHJlcXVpcmUoXCIuLi8uLi8uLi91c2EtaW4tcGFnZS1uYXZpZ2F0aW9uL3NyYy9pbmRleFwiKTtcbmNvbnN0IGlucHV0TWFzayA9IHJlcXVpcmUoXCIuLi8uLi8uLi91c2EtaW5wdXQtbWFzay9zcmMvaW5kZXhcIik7XG5jb25zdCBsYW5ndWFnZVNlbGVjdG9yID0gcmVxdWlyZShcIi4uLy4uLy4uL3VzYS1sYW5ndWFnZS1zZWxlY3Rvci9zcmMvaW5kZXhcIik7XG5jb25zdCBtb2RhbCA9IHJlcXVpcmUoXCIuLi8uLi8uLi91c2EtbW9kYWwvc3JjL2luZGV4XCIpO1xuY29uc3QgbmF2aWdhdGlvbiA9IHJlcXVpcmUoXCIuLi8uLi8uLi91c2EtaGVhZGVyL3NyYy9pbmRleFwiKTtcbmNvbnN0IHBhc3N3b3JkID0gcmVxdWlyZShcIi4uLy4uLy4uL191c2EtcGFzc3dvcmQvc3JjL2luZGV4XCIpO1xuY29uc3QgcmFuZ2UgPSByZXF1aXJlKFwiLi4vLi4vLi4vdXNhLXJhbmdlL3NyYy9pbmRleFwiKTtcbmNvbnN0IHNlYXJjaCA9IHJlcXVpcmUoXCIuLi8uLi8uLi91c2Etc2VhcmNoL3NyYy9pbmRleFwiKTtcbmNvbnN0IHNraXBuYXYgPSByZXF1aXJlKFwiLi4vLi4vLi4vdXNhLXNraXBuYXYvc3JjL2luZGV4XCIpO1xuY29uc3QgdGFibGUgPSByZXF1aXJlKFwiLi4vLi4vLi4vdXNhLXRhYmxlL3NyYy9pbmRleFwiKTtcbmNvbnN0IHRpbWVQaWNrZXIgPSByZXF1aXJlKFwiLi4vLi4vLi4vdXNhLXRpbWUtcGlja2VyL3NyYy9pbmRleFwiKTtcbmNvbnN0IHRvb2x0aXAgPSByZXF1aXJlKFwiLi4vLi4vLi4vdXNhLXRvb2x0aXAvc3JjL2luZGV4XCIpO1xuY29uc3QgdmFsaWRhdG9yID0gcmVxdWlyZShcIi4uLy4uLy4uL3VzYS12YWxpZGF0aW9uL3NyYy9pbmRleFwiKTtcblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIGFjY29yZGlvbixcbiAgYmFubmVyLFxuICBidXR0b24sXG4gIGNoYXJhY3RlckNvdW50LFxuICBjb21ib0JveCxcbiAgZGF0ZVBpY2tlcixcbiAgZGF0ZVJhbmdlUGlja2VyLFxuICBmaWxlSW5wdXQsXG4gIGZvb3RlcixcbiAgaW5QYWdlTmF2aWdhdGlvbixcbiAgaW5wdXRNYXNrLFxuICBsYW5ndWFnZVNlbGVjdG9yLFxuICBtb2RhbCxcbiAgbmF2aWdhdGlvbixcbiAgcGFzc3dvcmQsXG4gIHJhbmdlLFxuICBzZWFyY2gsXG4gIHNraXBuYXYsXG4gIHRhYmxlLFxuICB0aW1lUGlja2VyLFxuICB0b29sdGlwLFxuICB2YWxpZGF0b3IsXG59O1xuIiwid2luZG93LnVzd2RzUHJlc2VudCA9IHRydWU7IC8vIEdMT0JBTCB2YXJpYWJsZSB0byBpbmRpY2F0ZSB0aGF0IHRoZSB1c3dkcy5qcyBoYXMgbG9hZGVkIGluIHRoZSBET00uXG5cbmNvbnN0IHVzd2RzID0gcmVxdWlyZShcIi4vY29uZmlnXCIpO1xuXG5jb25zdCBjb21wb25lbnRzID0gcmVxdWlyZShcIi4vaW5kZXhcIik7XG5cbnVzd2RzLmNvbXBvbmVudHMgPSBjb21wb25lbnRzO1xuXG5jb25zdCBpbml0Q29tcG9uZW50cyA9ICgpID0+IHtcbiAgY29uc3QgdGFyZ2V0ID0gZG9jdW1lbnQuYm9keTtcbiAgT2JqZWN0LmtleXMoY29tcG9uZW50cykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgY29uc3QgYmVoYXZpb3IgPSBjb21wb25lbnRzW2tleV07XG4gICAgYmVoYXZpb3Iub24odGFyZ2V0KTtcbiAgfSk7XG59O1xuXG5pZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSA9PT0gXCJsb2FkaW5nXCIpIHtcbiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcIkRPTUNvbnRlbnRMb2FkZWRcIiwgaW5pdENvbXBvbmVudHMsIHsgb25jZTogdHJ1ZSB9KTtcbn0gZWxzZSB7XG4gIGluaXRDb21wb25lbnRzKCk7XG59XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHVzd2RzO1xuZXhwb3J0cy5pbml0Q29tcG9uZW50cyA9IGluaXRDb21wb25lbnRzO1xuIiwibW9kdWxlLmV4cG9ydHMgPSAoaHRtbERvY3VtZW50ID0gZG9jdW1lbnQpID0+IGh0bWxEb2N1bWVudC5hY3RpdmVFbGVtZW50O1xuIiwiY29uc3QgQmVoYXZpb3IgPSByZXF1aXJlKFwicmVjZXB0b3IvYmVoYXZpb3JcIik7XG5cbi8qKlxuICogQG5hbWUgc2VxdWVuY2VcbiAqIEBwYXJhbSB7Li4uRnVuY3Rpb259IHNlcSBhbiBhcnJheSBvZiBmdW5jdGlvbnNcbiAqIEByZXR1cm4geyBjbG9zdXJlIH0gY2FsbEhvb2tzXG4gKi9cbi8vIFdlIHVzZSBhIG5hbWVkIGZ1bmN0aW9uIGhlcmUgYmVjYXVzZSB3ZSB3YW50IGl0IHRvIGluaGVyaXQgaXRzIGxleGljYWwgc2NvcGVcbi8vIGZyb20gdGhlIGJlaGF2aW9yIHByb3BzIG9iamVjdCwgbm90IGZyb20gdGhlIG1vZHVsZVxuY29uc3Qgc2VxdWVuY2UgPSAoLi4uc2VxKSA9PlxuICBmdW5jdGlvbiBjYWxsSG9va3ModGFyZ2V0ID0gZG9jdW1lbnQuYm9keSkge1xuICAgIHNlcS5mb3JFYWNoKChtZXRob2QpID0+IHtcbiAgICAgIGlmICh0eXBlb2YgdGhpc1ttZXRob2RdID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgdGhpc1ttZXRob2RdLmNhbGwodGhpcywgdGFyZ2V0KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcblxuLyoqXG4gKiBAbmFtZSBiZWhhdmlvclxuICogQHBhcmFtIHtvYmplY3R9IGV2ZW50c1xuICogQHBhcmFtIHtvYmplY3Q/fSBwcm9wc1xuICogQHJldHVybiB7cmVjZXB0b3IuYmVoYXZpb3J9XG4gKi9cbm1vZHVsZS5leHBvcnRzID0gKGV2ZW50cywgcHJvcHMpID0+XG4gIEJlaGF2aW9yKGV2ZW50cywge1xuICAgIG9uOiBzZXF1ZW5jZShcImluaXRcIiwgXCJhZGRcIiksXG4gICAgb2ZmOiBzZXF1ZW5jZShcInRlYXJkb3duXCIsIFwicmVtb3ZlXCIpLFxuICAgIC4uLnByb3BzLFxuICB9KTtcbiIsIi8qKlxuICogQ2FsbCBhIGZ1bmN0aW9uIGV2ZXJ5IFggYW1vdW50IG9mIG1pbGxpc2Vjb25kcy5cbiAqXG4gKiBAcGFyYW0gIHtGdW5jdGlvbn0gY2FsbGJhY2sgLSBBIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGJlIGRlYm91bmNlZFxuICogQHBhcmFtICB7bnVtYmVyfSBkZWxheSAtIE1pbGxpc2Vjb25kcyB0byB3YWl0IGJlZm9yZSBjYWxsaW5nIGZ1bmN0aW9uXG4gKiBAcmV0dXJucyB7RnVuY3Rpb259IEEgZGVib3VuY2VkIGZ1bmN0aW9uXG4gKiBAZXhhbXBsZSBjb25zdCB1cGRhdGVTdGF0dXMgPSBkZWJvdW5jZSgoc3RyaW5nKSA9PiBjb25zb2xlLmxvZyhzdHJpbmcpLCAyMDAwKVxuICovXG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gZGVib3VuY2UoY2FsbGJhY2ssIGRlbGF5ID0gNTAwKSB7XG4gIGxldCB0aW1lciA9IG51bGw7XG4gIHJldHVybiAoLi4uYXJncykgPT4ge1xuICAgIHdpbmRvdy5jbGVhclRpbWVvdXQodGltZXIpO1xuICAgIHRpbWVyID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY2FsbGJhY2suYXBwbHkodGhpcywgYXJncyk7XG4gICAgfSwgZGVsYXkpO1xuICB9O1xufTtcbiIsImNvbnN0IHsga2V5bWFwIH0gPSByZXF1aXJlKFwicmVjZXB0b3JcIik7XG5jb25zdCBiZWhhdmlvciA9IHJlcXVpcmUoXCIuL2JlaGF2aW9yXCIpO1xuY29uc3Qgc2VsZWN0ID0gcmVxdWlyZShcIi4vc2VsZWN0XCIpO1xuY29uc3QgYWN0aXZlRWxlbWVudCA9IHJlcXVpcmUoXCIuL2FjdGl2ZS1lbGVtZW50XCIpO1xuXG5jb25zdCBGT0NVU0FCTEUgPVxuICAnYVtocmVmXSwgYXJlYVtocmVmXSwgaW5wdXQ6bm90KFtkaXNhYmxlZF0pLCBzZWxlY3Q6bm90KFtkaXNhYmxlZF0pLCB0ZXh0YXJlYTpub3QoW2Rpc2FibGVkXSksIGJ1dHRvbjpub3QoW2Rpc2FibGVkXSksIGlmcmFtZSwgb2JqZWN0LCBlbWJlZCwgW3RhYmluZGV4PVwiMFwiXSwgW2NvbnRlbnRlZGl0YWJsZV0nO1xuXG5jb25zdCB0YWJIYW5kbGVyID0gKGNvbnRleHQpID0+IHtcbiAgY29uc3QgZm9jdXNhYmxlRWxlbWVudHMgPSBzZWxlY3QoRk9DVVNBQkxFLCBjb250ZXh0KTtcbiAgY29uc3QgZmlyc3RUYWJTdG9wID0gZm9jdXNhYmxlRWxlbWVudHNbMF07XG4gIGNvbnN0IGxhc3RUYWJTdG9wID0gZm9jdXNhYmxlRWxlbWVudHNbZm9jdXNhYmxlRWxlbWVudHMubGVuZ3RoIC0gMV07XG5cbiAgLy8gU3BlY2lhbCBydWxlcyBmb3Igd2hlbiB0aGUgdXNlciBpcyB0YWJiaW5nIGZvcndhcmQgZnJvbSB0aGUgbGFzdCBmb2N1c2FibGUgZWxlbWVudCxcbiAgLy8gb3Igd2hlbiB0YWJiaW5nIGJhY2t3YXJkcyBmcm9tIHRoZSBmaXJzdCBmb2N1c2FibGUgZWxlbWVudFxuICBmdW5jdGlvbiB0YWJBaGVhZChldmVudCkge1xuICAgIGlmIChhY3RpdmVFbGVtZW50KCkgPT09IGxhc3RUYWJTdG9wKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZmlyc3RUYWJTdG9wLmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gdGFiQmFjayhldmVudCkge1xuICAgIGlmIChhY3RpdmVFbGVtZW50KCkgPT09IGZpcnN0VGFiU3RvcCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGxhc3RUYWJTdG9wLmZvY3VzKCk7XG4gICAgfVxuICAgIC8vIFRoaXMgY2hlY2tzIGlmIHlvdSB3YW50IHRvIHNldCB0aGUgaW5pdGlhbCBmb2N1cyB0byBhIGNvbnRhaW5lclxuICAgIC8vIGluc3RlYWQgb2YgYW4gZWxlbWVudCB3aXRoaW4sIGFuZCB0aGUgdXNlciB0YWJzIGJhY2suXG4gICAgLy8gVGhlbiB3ZSBzZXQgdGhlIGZvY3VzIHRvIHRoZSBmaXJzdFxuICAgIGVsc2UgaWYgKCFmb2N1c2FibGVFbGVtZW50cy5pbmNsdWRlcyhhY3RpdmVFbGVtZW50KCkpKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZmlyc3RUYWJTdG9wLmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBmaXJzdFRhYlN0b3AsXG4gICAgbGFzdFRhYlN0b3AsXG4gICAgdGFiQWhlYWQsXG4gICAgdGFiQmFjayxcbiAgfTtcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gKGNvbnRleHQsIGFkZGl0aW9uYWxLZXlCaW5kaW5ncyA9IHt9KSA9PiB7XG4gIGNvbnN0IHRhYkV2ZW50SGFuZGxlciA9IHRhYkhhbmRsZXIoY29udGV4dCk7XG4gIGNvbnN0IGJpbmRpbmdzID0gYWRkaXRpb25hbEtleUJpbmRpbmdzO1xuICBjb25zdCB7IEVzYywgRXNjYXBlIH0gPSBiaW5kaW5ncztcblxuICBpZiAoRXNjYXBlICYmICFFc2MpIGJpbmRpbmdzLkVzYyA9IEVzY2FwZTtcblxuICAvLyAgVE9ETzogSW4gdGhlIGZ1dHVyZSwgbG9vcCBvdmVyIGFkZGl0aW9uYWwga2V5YmluZGluZ3MgYW5kIHBhc3MgYW4gYXJyYXlcbiAgLy8gb2YgZnVuY3Rpb25zLCBpZiBuZWNlc3NhcnksIHRvIHRoZSBtYXAga2V5cy4gVGhlbiBwZW9wbGUgaW1wbGVtZW50aW5nXG4gIC8vIHRoZSBmb2N1cyB0cmFwIGNvdWxkIHBhc3MgY2FsbGJhY2tzIHRvIGZpcmUgd2hlbiB0YWJiaW5nXG4gIGNvbnN0IGtleU1hcHBpbmdzID0ga2V5bWFwKHtcbiAgICBUYWI6IHRhYkV2ZW50SGFuZGxlci50YWJBaGVhZCxcbiAgICBcIlNoaWZ0K1RhYlwiOiB0YWJFdmVudEhhbmRsZXIudGFiQmFjayxcbiAgICAuLi5hZGRpdGlvbmFsS2V5QmluZGluZ3MsXG4gIH0pO1xuXG4gIGNvbnN0IGZvY3VzVHJhcCA9IGJlaGF2aW9yKFxuICAgIHtcbiAgICAgIGtleWRvd246IGtleU1hcHBpbmdzLFxuICAgIH0sXG4gICAge1xuICAgICAgaW5pdCgpIHtcbiAgICAgICAgLy8gVE9ETzogaXMgdGhpcyBkZXNpcmVhYmxlIGJlaGF2aW9yPyBTaG91bGQgdGhlIHRyYXAgYWx3YXlzIGRvIHRoaXMgYnkgZGVmYXVsdCBvciBzaG91bGRcbiAgICAgICAgLy8gdGhlIGNvbXBvbmVudCBnZXR0aW5nIGRlY29yYXRlZCBoYW5kbGUgdGhpcz9cbiAgICAgICAgaWYgKHRhYkV2ZW50SGFuZGxlci5maXJzdFRhYlN0b3ApIHtcbiAgICAgICAgICB0YWJFdmVudEhhbmRsZXIuZmlyc3RUYWJTdG9wLmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB1cGRhdGUoaXNBY3RpdmUpIHtcbiAgICAgICAgaWYgKGlzQWN0aXZlKSB7XG4gICAgICAgICAgdGhpcy5vbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMub2ZmKCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSxcbiAgKTtcblxuICByZXR1cm4gZm9jdXNUcmFwO1xufTtcbiIsIi8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS83NTU3NDMzXG5mdW5jdGlvbiBpc0VsZW1lbnRJblZpZXdwb3J0KFxuICBlbCxcbiAgd2luID0gd2luZG93LFxuICBkb2NFbCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxcbikge1xuICBjb25zdCByZWN0ID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgcmV0dXJuIChcbiAgICByZWN0LnRvcCA+PSAwICYmXG4gICAgcmVjdC5sZWZ0ID49IDAgJiZcbiAgICByZWN0LmJvdHRvbSA8PSAod2luLmlubmVySGVpZ2h0IHx8IGRvY0VsLmNsaWVudEhlaWdodCkgJiZcbiAgICByZWN0LnJpZ2h0IDw9ICh3aW4uaW5uZXJXaWR0aCB8fCBkb2NFbC5jbGllbnRXaWR0aClcbiAgKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBpc0VsZW1lbnRJblZpZXdwb3J0O1xuIiwiLy8gaU9TIGRldGVjdGlvbiBmcm9tOiBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vYS85MDM5ODg1LzE3NzcxMFxuZnVuY3Rpb24gaXNJb3NEZXZpY2UoKSB7XG4gIHJldHVybiAoXG4gICAgdHlwZW9mIG5hdmlnYXRvciAhPT0gXCJ1bmRlZmluZWRcIiAmJlxuICAgIChuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC8oaVBvZHxpUGhvbmV8aVBhZCkvZykgfHxcbiAgICAgIChuYXZpZ2F0b3IucGxhdGZvcm0gPT09IFwiTWFjSW50ZWxcIiAmJiBuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHMgPiAxKSkgJiZcbiAgICAhd2luZG93Lk1TU3RyZWFtXG4gICk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNJb3NEZXZpY2U7XG4iLCIvKiBlc2xpbnQtZGlzYWJsZSAqL1xuLyogZ2xvYmFscyBkZWZpbmUsIG1vZHVsZSAqL1xuXG4vKipcbiAqIEEgc2ltcGxlIGxpYnJhcnkgdG8gaGVscCB5b3UgZXNjYXBlIEhUTUwgdXNpbmcgdGVtcGxhdGUgc3RyaW5ncy5cbiAqXG4gKiBJdCdzIHRoZSBjb3VudGVycGFydCB0byBvdXIgZXNsaW50IFwibm8tdW5zYWZlLWlubmVyaHRtbFwiIHBsdWdpbiB0aGF0IGhlbHBzIHVzXG4gKiBhdm9pZCB1bnNhZmUgY29kaW5nIHByYWN0aWNlcy5cbiAqIEEgZnVsbCB3cml0ZS11cCBvZiB0aGUgSG93cyBhbmQgV2h5cyBhcmUgZG9jdW1lbnRlZFxuICogZm9yIGRldmVsb3BlcnMgYXRcbiAqICBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9GaXJlZm94X09TL1NlY3VyaXR5L1NlY3VyaXR5X0F1dG9tYXRpb25cbiAqIHdpdGggYWRkaXRpb25hbCBiYWNrZ3JvdW5kIGluZm9ybWF0aW9uIGFuZCBkZXNpZ24gZG9jcyBhdFxuICogIGh0dHBzOi8vd2lraS5tb3ppbGxhLm9yZy9Vc2VyOkZicmF1bi9HYWlhL1NhZmVpbm5lckhUTUxSb2FkbWFwXG4gKlxuICovXG5cbiEoZnVuY3Rpb24gKGZhY3RvcnkpIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5KCk7XG59KShmdW5jdGlvbiAoKSB7XG4gIFwidXNlIHN0cmljdFwiO1xuXG4gIHZhciBTYW5pdGl6ZXIgPSB7XG4gICAgX2VudGl0eTogL1smPD5cIicvXS9nLFxuXG4gICAgX2VudGl0aWVzOiB7XG4gICAgICBcIiZcIjogXCImYW1wO1wiLFxuICAgICAgXCI8XCI6IFwiJmx0O1wiLFxuICAgICAgXCI+XCI6IFwiJmd0O1wiLFxuICAgICAgJ1wiJzogXCImcXVvdDtcIixcbiAgICAgIFwiJ1wiOiBcIiZhcG9zO1wiLFxuICAgICAgXCIvXCI6IFwiJiN4MkY7XCIsXG4gICAgfSxcblxuICAgIGdldEVudGl0eTogZnVuY3Rpb24gKHMpIHtcbiAgICAgIHJldHVybiBTYW5pdGl6ZXIuX2VudGl0aWVzW3NdO1xuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiBFc2NhcGVzIEhUTUwgZm9yIGFsbCB2YWx1ZXMgaW4gYSB0YWdnZWQgdGVtcGxhdGUgc3RyaW5nLlxuICAgICAqL1xuICAgIGVzY2FwZUhUTUw6IGZ1bmN0aW9uIChzdHJpbmdzKSB7XG4gICAgICB2YXIgcmVzdWx0ID0gXCJcIjtcblxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdHJpbmdzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHJlc3VsdCArPSBzdHJpbmdzW2ldO1xuICAgICAgICBpZiAoaSArIDEgPCBhcmd1bWVudHMubGVuZ3RoKSB7XG4gICAgICAgICAgdmFyIHZhbHVlID0gYXJndW1lbnRzW2kgKyAxXSB8fCBcIlwiO1xuICAgICAgICAgIHJlc3VsdCArPSBTdHJpbmcodmFsdWUpLnJlcGxhY2UoXG4gICAgICAgICAgICBTYW5pdGl6ZXIuX2VudGl0eSxcbiAgICAgICAgICAgIFNhbml0aXplci5nZXRFbnRpdHksXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0sXG4gICAgLyoqXG4gICAgICogRXNjYXBlcyBIVE1MIGFuZCByZXR1cm5zIGEgd3JhcHBlZCBvYmplY3QgdG8gYmUgdXNlZCBkdXJpbmcgRE9NIGluc2VydGlvblxuICAgICAqL1xuICAgIGNyZWF0ZVNhZmVIVE1MOiBmdW5jdGlvbiAoc3RyaW5ncykge1xuICAgICAgdmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoO1xuICAgICAgdmFyIHZhbHVlcyA9IG5ldyBBcnJheShfbGVuID4gMSA/IF9sZW4gLSAxIDogMCk7XG4gICAgICBmb3IgKHZhciBfa2V5ID0gMTsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgICAgICB2YWx1ZXNbX2tleSAtIDFdID0gYXJndW1lbnRzW19rZXldO1xuICAgICAgfVxuXG4gICAgICB2YXIgZXNjYXBlZCA9IFNhbml0aXplci5lc2NhcGVIVE1MLmFwcGx5KFxuICAgICAgICBTYW5pdGl6ZXIsXG4gICAgICAgIFtzdHJpbmdzXS5jb25jYXQodmFsdWVzKSxcbiAgICAgICk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBfX2h0bWw6IGVzY2FwZWQsXG4gICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcmV0dXJuIFwiW29iamVjdCBXcmFwcGVkSFRNTE9iamVjdF1cIjtcbiAgICAgICAgfSxcbiAgICAgICAgaW5mbzpcbiAgICAgICAgICBcIlRoaXMgaXMgYSB3cmFwcGVkIEhUTUwgb2JqZWN0LiBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vclwiICtcbiAgICAgICAgICBcImcvZW4tVVMvRmlyZWZveF9PUy9TZWN1cml0eS9TZWN1cml0eV9BdXRvbWF0aW9uIGZvciBtb3JlLlwiLFxuICAgICAgfTtcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIFVud3JhcCBzYWZlIEhUTUwgY3JlYXRlZCBieSBjcmVhdGVTYWZlSFRNTCBvciBhIGN1c3RvbSByZXBsYWNlbWVudCB0aGF0XG4gICAgICogdW5kZXJ3ZW50IHNlY3VyaXR5IHJldmlldy5cbiAgICAgKi9cbiAgICB1bndyYXBTYWZlSFRNTDogZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoO1xuICAgICAgdmFyIGh0bWxPYmplY3RzID0gbmV3IEFycmF5KF9sZW4pO1xuICAgICAgZm9yICh2YXIgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICAgICAgaHRtbE9iamVjdHNbX2tleV0gPSBhcmd1bWVudHNbX2tleV07XG4gICAgICB9XG5cbiAgICAgIHZhciBtYXJrdXBMaXN0ID0gaHRtbE9iamVjdHMubWFwKGZ1bmN0aW9uIChvYmopIHtcbiAgICAgICAgcmV0dXJuIG9iai5fX2h0bWw7XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBtYXJrdXBMaXN0LmpvaW4oXCJcIik7XG4gICAgfSxcbiAgfTtcblxuICByZXR1cm4gU2FuaXRpemVyO1xufSk7XG4iLCJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGdldFNjcm9sbGJhcldpZHRoKCkge1xuICAvLyBDcmVhdGluZyBpbnZpc2libGUgY29udGFpbmVyXG4gIGNvbnN0IG91dGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgb3V0ZXIuc3R5bGUudmlzaWJpbGl0eSA9IFwiaGlkZGVuXCI7XG4gIG91dGVyLnN0eWxlLm92ZXJmbG93ID0gXCJzY3JvbGxcIjsgLy8gZm9yY2luZyBzY3JvbGxiYXIgdG8gYXBwZWFyXG4gIG91dGVyLnN0eWxlLm1zT3ZlcmZsb3dTdHlsZSA9IFwic2Nyb2xsYmFyXCI7IC8vIG5lZWRlZCBmb3IgV2luSlMgYXBwc1xuICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG91dGVyKTtcblxuICAvLyBDcmVhdGluZyBpbm5lciBlbGVtZW50IGFuZCBwbGFjaW5nIGl0IGluIHRoZSBjb250YWluZXJcbiAgY29uc3QgaW5uZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xuICBvdXRlci5hcHBlbmRDaGlsZChpbm5lcik7XG5cbiAgLy8gQ2FsY3VsYXRpbmcgZGlmZmVyZW5jZSBiZXR3ZWVuIGNvbnRhaW5lcidzIGZ1bGwgd2lkdGggYW5kIHRoZSBjaGlsZCB3aWR0aFxuICBjb25zdCBzY3JvbGxiYXJXaWR0aCA9IGAke291dGVyLm9mZnNldFdpZHRoIC0gaW5uZXIub2Zmc2V0V2lkdGh9cHhgO1xuXG4gIC8vIFJlbW92aW5nIHRlbXBvcmFyeSBlbGVtZW50cyBmcm9tIHRoZSBET01cbiAgb3V0ZXIucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChvdXRlcik7XG5cbiAgcmV0dXJuIHNjcm9sbGJhcldpZHRoO1xufTtcbiIsImNvbnN0IHNlbGVjdCA9IHJlcXVpcmUoXCIuL3NlbGVjdFwiKTtcbi8qKlxuICogQG5hbWUgaXNFbGVtZW50XG4gKiBAZGVzYyByZXR1cm5zIHdoZXRoZXIgb3Igbm90IHRoZSBnaXZlbiBhcmd1bWVudCBpcyBhIERPTSBlbGVtZW50LlxuICogQHBhcmFtIHthbnl9IHZhbHVlXG4gKiBAcmV0dXJuIHtib29sZWFufVxuICovXG5jb25zdCBpc0VsZW1lbnQgPSAodmFsdWUpID0+XG4gIHZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gXCJvYmplY3RcIiAmJiB2YWx1ZS5ub2RlVHlwZSA9PT0gMTtcblxuLyoqXG4gKiBAbmFtZSBzZWxlY3RPck1hdGNoZXNcbiAqIEBkZXNjIHNlbGVjdHMgZWxlbWVudHMgZnJvbSB0aGUgRE9NIGJ5IGNsYXNzIHNlbGVjdG9yIG9yIElEIHNlbGVjdG9yLlxuICogQHBhcmFtIHtzdHJpbmd9IHNlbGVjdG9yIC0gVGhlIHNlbGVjdG9yIHRvIHRyYXZlcnNlIHRoZSBET00gd2l0aC5cbiAqIEBwYXJhbSB7RG9jdW1lbnR8SFRNTEVsZW1lbnQ/fSBjb250ZXh0IC0gVGhlIGNvbnRleHQgdG8gdHJhdmVyc2UgdGhlIERPTVxuICogICBpbi4gSWYgbm90IHByb3ZpZGVkLCBpdCBkZWZhdWx0cyB0byB0aGUgZG9jdW1lbnQuXG4gKiBAcmV0dXJuIHtIVE1MRWxlbWVudFtdfSAtIEFuIGFycmF5IG9mIERPTSBub2RlcyBvciBhbiBlbXB0eSBhcnJheS5cbiAqL1xubW9kdWxlLmV4cG9ydHMgPSAoc2VsZWN0b3IsIGNvbnRleHQpID0+IHtcbiAgY29uc3Qgc2VsZWN0aW9uID0gc2VsZWN0KHNlbGVjdG9yLCBjb250ZXh0KTtcbiAgaWYgKHR5cGVvZiBzZWxlY3RvciAhPT0gXCJzdHJpbmdcIikge1xuICAgIHJldHVybiBzZWxlY3Rpb247XG4gIH1cblxuICBpZiAoaXNFbGVtZW50KGNvbnRleHQpICYmIGNvbnRleHQubWF0Y2hlcyhzZWxlY3RvcikpIHtcbiAgICBzZWxlY3Rpb24ucHVzaChjb250ZXh0KTtcbiAgfVxuXG4gIHJldHVybiBzZWxlY3Rpb247XG59O1xuIiwiLyoqXG4gKiBAbmFtZSBpc0VsZW1lbnRcbiAqIEBkZXNjIHJldHVybnMgd2hldGhlciBvciBub3QgdGhlIGdpdmVuIGFyZ3VtZW50IGlzIGEgRE9NIGVsZW1lbnQuXG4gKiBAcGFyYW0ge2FueX0gdmFsdWVcbiAqIEByZXR1cm4ge2Jvb2xlYW59XG4gKi9cbmNvbnN0IGlzRWxlbWVudCA9ICh2YWx1ZSkgPT5cbiAgdmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSBcIm9iamVjdFwiICYmIHZhbHVlLm5vZGVUeXBlID09PSAxO1xuXG4vKipcbiAqIEBuYW1lIHNlbGVjdFxuICogQGRlc2Mgc2VsZWN0cyBlbGVtZW50cyBmcm9tIHRoZSBET00gYnkgY2xhc3Mgc2VsZWN0b3Igb3IgSUQgc2VsZWN0b3IuXG4gKiBAcGFyYW0ge3N0cmluZ30gc2VsZWN0b3IgLSBUaGUgc2VsZWN0b3IgdG8gdHJhdmVyc2UgdGhlIERPTSB3aXRoLlxuICogQHBhcmFtIHtEb2N1bWVudHxIVE1MRWxlbWVudD99IGNvbnRleHQgLSBUaGUgY29udGV4dCB0byB0cmF2ZXJzZSB0aGUgRE9NXG4gKiAgIGluLiBJZiBub3QgcHJvdmlkZWQsIGl0IGRlZmF1bHRzIHRvIHRoZSBkb2N1bWVudC5cbiAqIEByZXR1cm4ge0hUTUxFbGVtZW50W119IC0gQW4gYXJyYXkgb2YgRE9NIG5vZGVzIG9yIGFuIGVtcHR5IGFycmF5LlxuICovXG5tb2R1bGUuZXhwb3J0cyA9IChzZWxlY3RvciwgY29udGV4dCkgPT4ge1xuICBpZiAodHlwZW9mIHNlbGVjdG9yICE9PSBcInN0cmluZ1wiKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgaWYgKCFjb250ZXh0IHx8ICFpc0VsZW1lbnQoY29udGV4dCkpIHtcbiAgICBjb250ZXh0ID0gd2luZG93LmRvY3VtZW50OyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gIH1cblxuICBjb25zdCBzZWxlY3Rpb24gPSBjb250ZXh0LnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0b3IpO1xuICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoc2VsZWN0aW9uKTtcbn07XG4iLCIvKipcbiAqIEZsaXBzIGdpdmVuIElOUFVUIGVsZW1lbnRzIGJldHdlZW4gbWFza2VkIChoaWRpbmcgdGhlIGZpZWxkIHZhbHVlKSBhbmQgdW5tYXNrZWRcbiAqIEBwYXJhbSB7QXJyYXkuSFRNTEVsZW1lbnR9IGZpZWxkcyAtIEFuIGFycmF5IG9mIElOUFVUIGVsZW1lbnRzXG4gKiBAcGFyYW0ge0Jvb2xlYW59IG1hc2sgLSBXaGV0aGVyIHRoZSBtYXNrIHNob3VsZCBiZSBhcHBsaWVkLCBoaWRpbmcgdGhlIGZpZWxkIHZhbHVlXG4gKi9cbm1vZHVsZS5leHBvcnRzID0gKGZpZWxkLCBtYXNrKSA9PiB7XG4gIGZpZWxkLnNldEF0dHJpYnV0ZShcImF1dG9jYXBpdGFsaXplXCIsIFwib2ZmXCIpO1xuICBmaWVsZC5zZXRBdHRyaWJ1dGUoXCJhdXRvY29ycmVjdFwiLCBcIm9mZlwiKTtcbiAgZmllbGQuc2V0QXR0cmlidXRlKFwidHlwZVwiLCBtYXNrID8gXCJwYXNzd29yZFwiIDogXCJ0ZXh0XCIpO1xufTtcbiIsImNvbnN0IHJlc29sdmVJZFJlZnMgPSByZXF1aXJlKFwicmVzb2x2ZS1pZC1yZWZzXCIpO1xuY29uc3QgdG9nZ2xlRmllbGRNYXNrID0gcmVxdWlyZShcIi4vdG9nZ2xlLWZpZWxkLW1hc2tcIik7XG5cbmNvbnN0IENPTlRST0xTID0gXCJhcmlhLWNvbnRyb2xzXCI7XG5jb25zdCBQUkVTU0VEID0gXCJhcmlhLXByZXNzZWRcIjtcbmNvbnN0IFNIT1dfQVRUUiA9IFwiZGF0YS1zaG93LXRleHRcIjtcbmNvbnN0IEhJREVfQVRUUiA9IFwiZGF0YS1oaWRlLXRleHRcIjtcblxuLyoqXG4gKiBSZXBsYWNlIHRoZSB3b3JkIFwiU2hvd1wiIChvciBcInNob3dcIikgd2l0aCBcIkhpZGVcIiAob3IgXCJoaWRlXCIpIGluIGEgc3RyaW5nLlxuICogQHBhcmFtIHtzdHJpbmd9IHNob3dUZXh0XG4gKiBAcmV0dXJuIHtzdHJvbmd9IGhpZGVUZXh0XG4gKi9cbmNvbnN0IGdldEhpZGVUZXh0ID0gKHNob3dUZXh0KSA9PlxuICBzaG93VGV4dC5yZXBsYWNlKC9cXGJTaG93XFxiL2ksIChzaG93KSA9PiBgJHtzaG93WzBdID09PSBcIlNcIiA/IFwiSFwiIDogXCJoXCJ9aWRlYCk7XG5cbi8qKlxuICogQ29tcG9uZW50IHRoYXQgZGVjb3JhdGVzIGFuIEhUTUwgZWxlbWVudCB3aXRoIHRoZSBhYmlsaXR5IHRvIHRvZ2dsZSB0aGVcbiAqIG1hc2tlZCBzdGF0ZSBvZiBhbiBpbnB1dCBmaWVsZCAobGlrZSBhIHBhc3N3b3JkKSB3aGVuIGNsaWNrZWQuXG4gKiBUaGUgaWRzIG9mIHRoZSBmaWVsZHMgdG8gYmUgbWFza2VkIHdpbGwgYmUgcHVsbGVkIGRpcmVjdGx5IGZyb20gdGhlIGJ1dHRvbidzXG4gKiBgYXJpYS1jb250cm9sc2AgYXR0cmlidXRlLlxuICpcbiAqIEBwYXJhbSAge0hUTUxFbGVtZW50fSBlbCAgICBQYXJlbnQgZWxlbWVudCBjb250YWluaW5nIHRoZSBmaWVsZHMgdG8gYmUgbWFza2VkXG4gKiBAcmV0dXJuIHtib29sZWFufVxuICovXG5tb2R1bGUuZXhwb3J0cyA9IChlbCkgPT4ge1xuICAvLyB0aGlzIGlzIHRoZSAqdGFyZ2V0KiBzdGF0ZTpcbiAgLy8gKiBpZiB0aGUgZWxlbWVudCBoYXMgdGhlIGF0dHIgYW5kIGl0J3MgIT09IFwidHJ1ZVwiLCBwcmVzc2VkIGlzIHRydWVcbiAgLy8gKiBvdGhlcndpc2UsIHByZXNzZWQgaXMgZmFsc2VcbiAgY29uc3QgcHJlc3NlZCA9XG4gICAgZWwuaGFzQXR0cmlidXRlKFBSRVNTRUQpICYmIGVsLmdldEF0dHJpYnV0ZShQUkVTU0VEKSAhPT0gXCJ0cnVlXCI7XG5cbiAgY29uc3QgZmllbGRzID0gcmVzb2x2ZUlkUmVmcyhlbC5nZXRBdHRyaWJ1dGUoQ09OVFJPTFMpKTtcbiAgZmllbGRzLmZvckVhY2goKGZpZWxkKSA9PiB0b2dnbGVGaWVsZE1hc2soZmllbGQsIHByZXNzZWQpKTtcblxuICBpZiAoIWVsLmhhc0F0dHJpYnV0ZShTSE9XX0FUVFIpKSB7XG4gICAgZWwuc2V0QXR0cmlidXRlKFNIT1dfQVRUUiwgZWwudGV4dENvbnRlbnQpO1xuICB9XG5cbiAgY29uc3Qgc2hvd1RleHQgPSBlbC5nZXRBdHRyaWJ1dGUoU0hPV19BVFRSKTtcbiAgY29uc3QgaGlkZVRleHQgPSBlbC5nZXRBdHRyaWJ1dGUoSElERV9BVFRSKSB8fCBnZXRIaWRlVGV4dChzaG93VGV4dCk7XG5cbiAgZWwudGV4dENvbnRlbnQgPSBwcmVzc2VkID8gc2hvd1RleHQgOiBoaWRlVGV4dDsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1wYXJhbS1yZWFzc2lnblxuICBlbC5zZXRBdHRyaWJ1dGUoUFJFU1NFRCwgcHJlc3NlZCk7XG4gIHJldHVybiBwcmVzc2VkO1xufTtcbiIsImNvbnN0IEVYUEFOREVEID0gXCJhcmlhLWV4cGFuZGVkXCI7XG5jb25zdCBDT05UUk9MUyA9IFwiYXJpYS1jb250cm9sc1wiO1xuY29uc3QgSElEREVOID0gXCJoaWRkZW5cIjtcblxubW9kdWxlLmV4cG9ydHMgPSAoYnV0dG9uLCBleHBhbmRlZCkgPT4ge1xuICBsZXQgc2FmZUV4cGFuZGVkID0gZXhwYW5kZWQ7XG5cbiAgaWYgKHR5cGVvZiBzYWZlRXhwYW5kZWQgIT09IFwiYm9vbGVhblwiKSB7XG4gICAgc2FmZUV4cGFuZGVkID0gYnV0dG9uLmdldEF0dHJpYnV0ZShFWFBBTkRFRCkgPT09IFwiZmFsc2VcIjtcbiAgfVxuXG4gIGJ1dHRvbi5zZXRBdHRyaWJ1dGUoRVhQQU5ERUQsIHNhZmVFeHBhbmRlZCk7XG5cbiAgY29uc3QgaWQgPSBidXR0b24uZ2V0QXR0cmlidXRlKENPTlRST0xTKTtcbiAgY29uc3QgY29udHJvbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7XG4gIGlmICghY29udHJvbHMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIHRvZ2dsZSB0YXJnZXQgZm91bmQgd2l0aCBpZDogXCIke2lkfVwiYCk7XG4gIH1cblxuICBpZiAoc2FmZUV4cGFuZGVkKSB7XG4gICAgY29udHJvbHMucmVtb3ZlQXR0cmlidXRlKEhJRERFTik7XG4gIH0gZWxzZSB7XG4gICAgY29udHJvbHMuc2V0QXR0cmlidXRlKEhJRERFTiwgXCJcIik7XG4gIH1cblxuICByZXR1cm4gc2FmZUV4cGFuZGVkO1xufTtcbiIsImNvbnN0IGRlYm91bmNlID0gcmVxdWlyZShcIi4vZGVib3VuY2VcIik7XG5jb25zdCB7IHByZWZpeDogUFJFRklYIH0gPSByZXF1aXJlKFwiLi4vY29uZmlnXCIpO1xuXG5jb25zdCBDSEVDS0VEX0NMQVNTID0gYCR7UFJFRklYfS1jaGVja2xpc3RfX2l0ZW0tLWNoZWNrZWRgO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIHZhbGlkYXRlKGVsKSB7XG4gIGNvbnN0IGlkID0gZWwuZGF0YXNldC52YWxpZGF0aW9uRWxlbWVudDtcbiAgY29uc3QgY2hlY2tMaXN0ID1cbiAgICBpZC5jaGFyQXQoMCkgPT09IFwiI1wiXG4gICAgICA/IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoaWQpXG4gICAgICA6IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtcblxuICBpZiAoIWNoZWNrTGlzdCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgTm8gdmFsaWRhdGlvbiBlbGVtZW50IGZvdW5kIHdpdGggaWQ6IFwiJHtpZH1cImApO1xuICB9XG5cbiAgbGV0IHN0YXR1c1N1bW1hcnkgPSBcIlwiO1xuICBPYmplY3QuZW50cmllcyhlbC5kYXRhc2V0KS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICBpZiAoa2V5LnN0YXJ0c1dpdGgoXCJ2YWxpZGF0ZVwiKSkge1xuICAgICAgY29uc3QgdmFsaWRhdG9yTmFtZSA9IGtleS5zdWJzdHIoXCJ2YWxpZGF0ZVwiLmxlbmd0aCkudG9Mb3dlckNhc2UoKTtcbiAgICAgIGNvbnN0IHZhbGlkYXRvclBhdHRlcm4gPSBuZXcgUmVnRXhwKHZhbHVlKTtcbiAgICAgIGNvbnN0IHZhbGlkYXRvclNlbGVjdG9yID0gYFtkYXRhLXZhbGlkYXRvcj1cIiR7dmFsaWRhdG9yTmFtZX1cIl1gO1xuICAgICAgY29uc3QgdmFsaWRhdG9yQ2hlY2tib3ggPSBjaGVja0xpc3QucXVlcnlTZWxlY3Rvcih2YWxpZGF0b3JTZWxlY3Rvcik7XG4gICAgICBjb25zdCB2YWxpZGF0b3JQYXJlbnQgPSBlbC5wYXJlbnROb2RlO1xuICAgICAgY29uc3Qgc3RhdHVzU3VtbWFyeUNvbnRhaW5lciA9IHZhbGlkYXRvclBhcmVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgICBgW2RhdGEtdmFsaWRhdGlvbi1zdGF0dXNdYCxcbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IGNoZWNrZWQgPSB2YWxpZGF0b3JQYXR0ZXJuLnRlc3QoZWwudmFsdWUpO1xuICAgICAgdmFsaWRhdG9yQ2hlY2tib3guY2xhc3NMaXN0LnRvZ2dsZShDSEVDS0VEX0NMQVNTLCBjaGVja2VkKTtcblxuICAgICAgaWYgKCF2YWxpZGF0b3JDaGVja2JveCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIHZhbGlkYXRvciBjaGVja2JveCBmb3VuZCBmb3I6IFwiJHt2YWxpZGF0b3JOYW1lfVwiYCk7XG4gICAgICB9XG5cbiAgICAgIC8vIENyZWF0ZSBzdGF0dXMgcmVwb3J0cyBmb3IgY2hlY2tsaXN0IGl0ZW1zXG4gICAgICBjb25zdCBzdGF0dXNDb21wbGV0ZSA9IGVsLmRhdGFzZXQudmFsaWRhdGlvbkNvbXBsZXRlIHx8IFwic3RhdHVzIGNvbXBsZXRlXCI7XG4gICAgICBjb25zdCBzdGF0dXNJbmNvbXBsZXRlID1cbiAgICAgICAgZWwuZGF0YXNldC52YWxpZGF0aW9uSW5jb21wbGV0ZSB8fCBcInN0YXR1cyBpbmNvbXBsZXRlXCI7XG4gICAgICBsZXQgY2hlY2tib3hDb250ZW50ID0gYCR7dmFsaWRhdG9yQ2hlY2tib3gudGV4dENvbnRlbnR9IGA7XG5cbiAgICAgIGlmICh2YWxpZGF0b3JDaGVja2JveC5jbGFzc0xpc3QuY29udGFpbnMoQ0hFQ0tFRF9DTEFTUykpIHtcbiAgICAgICAgY2hlY2tib3hDb250ZW50ICs9IHN0YXR1c0NvbXBsZXRlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2hlY2tib3hDb250ZW50ICs9IHN0YXR1c0luY29tcGxldGU7XG4gICAgICB9XG5cbiAgICAgIC8vIG1vdmUgc3RhdHVzIHVwZGF0ZXMgdG8gYXJpYS1sYWJlbCBvbiBjaGVja2xpc3QgaXRlbVxuICAgICAgdmFsaWRhdG9yQ2hlY2tib3guc2V0QXR0cmlidXRlKFwiYXJpYS1sYWJlbFwiLCBjaGVja2JveENvbnRlbnQpO1xuXG4gICAgICAvLyBDcmVhdGUgYSBzdW1tYXJ5IG9mIHN0YXR1cyBmb3IgYWxsIGNoZWNrbGlzdCBpdGVtc1xuICAgICAgc3RhdHVzU3VtbWFyeSArPSBgJHtjaGVja2JveENvbnRlbnR9LiBgO1xuXG4gICAgICAvLyBBZGQgc3VtbWFyeSB0byBzY3JlZW4gcmVhZGVyIHN1bW1hcnkgY29udGFpbmVyLCBhZnRlciBhIGRlbGF5XG4gICAgICBjb25zdCBzclVwZGF0ZVN0YXR1cyA9IGRlYm91bmNlKCgpID0+IHtcbiAgICAgICAgc3RhdHVzU3VtbWFyeUNvbnRhaW5lci50ZXh0Q29udGVudCA9IHN0YXR1c1N1bW1hcnk7XG4gICAgICB9LCAxMDAwKTtcblxuICAgICAgc3JVcGRhdGVTdGF0dXMoKTtcbiAgICB9XG4gIH0pO1xufTtcbiJdfQ== diff --git a/assets/uswds/js/uswds.min.js b/assets/uswds/js/uswds.min.js new file mode 100644 index 0000000..4b7948d --- /dev/null +++ b/assets/uswds/js/uswds.min.js @@ -0,0 +1,84 @@ +!function a(s,i,n){function o(t,e){if(!i[t]){if(!s[t]){var r="function"==typeof require&&require;if(!e&&r)return r(t,!0);if(l)return l(t,!0);throw(e=new Error("Cannot find module '"+t+"'")).code="MODULE_NOT_FOUND",e}r=i[t]={exports:{}},s[t][0].call(r.exports,function(e){return o(s[t][1][e]||e)},r,r.exports,a,s,i,n)}return i[t].exports}for(var l="function"==typeof require&&require,e=0;e"],191:["/","?"],192:["`","~"],219:["[","{"],220:["\\","|"],221:["]","}"],222:["'",'"'],224:"Meta",225:"AltGraph",246:"Attn",247:"CrSel",248:"ExSel",249:"EraseEof",250:"Play",251:"ZoomOut"}},s=1;s<25;s++)a.keys[111+s]="F"+s;var i="";for(s=65;s<91;s++)i=String.fromCharCode(s),a.keys[s]=[i.toLowerCase(),i.toUpperCase()];"function"==typeof define&&define.amd?define("keyboardevent-key-polyfill",a):void 0!==r&&void 0!==t?t.exports=a:window&&(window.keyboardeventKeyPolyfill=a)},{}],3:[function(e,t,r){var l=Object.getOwnPropertySymbols,c=Object.prototype.hasOwnProperty,u=Object.prototype.propertyIsEnumerable;t.exports=(()=>{try{if(Object.assign){var e=new String("abc");if(e[5]="de","5"!==Object.getOwnPropertyNames(e)[0]){for(var t={},r=0;r<10;r++)t["_"+String.fromCharCode(r)]=r;var a,s=Object.getOwnPropertyNames(t).map(function(e){return t[e]});if("0123456789"===s.join(""))return a={},"abcdefghijklmnopqrst".split("").forEach(function(e){a[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},a)).join("")?1:void 0}}}catch(e){}})()?Object.assign:function(e,t){for(var r,a=(e=>{if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)})(e),s=1;s{var r=e.key;if(t)for(var a in i)!0===e[i[a]]&&(r=[a,r].join("+"));return r})(r,e);return[a,a.toLowerCase()].reduce(function(e,t){return e=t in s?s[a].call(this,r):e},void 0)}},t.exports.MODIFIERS=i},{"keyboardevent-key-polyfill":2}],11:[function(e,t,r){t.exports=function(t,r){function a(e){return e.currentTarget.removeEventListener(e.type,a,r),t.call(this,e)}return a}},{}],12:[function(e,t,r){var a=/(^\s+)|(\s+$)/g,s=/\s+/,i=String.prototype.trim?function(e){return e.trim()}:function(e){return e.replace(a,"")};t.exports=function(e,t){if("string"!=typeof e)throw new Error("Expected a string but got "+typeof e);var r=((t=t||window.document).getElementById||function(e){return this.querySelector('[id="'+e.replace(/"/g,'\\"')+'"]')}).bind(t);return 1===(e=i(e).split(s)).length&&""===e[0]?[]:e.map(function(e){var t=r(e);if(t)return t;throw new Error('no element with id: "'+e+'"')})}},{}],13:[function(e,t,r){var a=e("../../uswds-core/src/js/utils/behavior");let s=e("../../uswds-core/src/js/utils/toggle-form-input");var i=e("../../uswds-core/src/js/events").CLICK,e=e("../../uswds-core/src/js/config").prefix;t.exports=a({[i]:{[`.${e}-show-password`]:function(e){e.preventDefault(),s(this)}}})},{"../../uswds-core/src/js/config":35,"../../uswds-core/src/js/events":36,"../../uswds-core/src/js/utils/behavior":40,"../../uswds-core/src/js/utils/toggle-form-input":50}],14:[function(e,t,r){let a=e("../../uswds-core/src/js/utils/select");var s=e("../../uswds-core/src/js/utils/behavior");let i=e("../../uswds-core/src/js/utils/toggle"),n=e("../../uswds-core/src/js/utils/is-in-viewport");var o=e("../../uswds-core/src/js/events").CLICK,e=e("../../uswds-core/src/js/config").prefix;let l=`.${e}-accordion, .${e}-accordion--bordered`,c=`.${e}-accordion__button[aria-controls]:not(${`.${e}-banner__button`})`,u="aria-expanded",d=t=>a(c,t).filter(e=>e.closest(l)===t),p=(t,e)=>{var r=t.closest(l);if(!r)throw new Error(c+" is missing outer "+l);var e=i(t,e),a=r.hasAttribute("data-allow-multiple");e&&!a&&d(r).forEach(e=>{e!==t&&i(e,!1)})};e=s({[o]:{[c](){p(this),"true"!==this.getAttribute(u)||n(this)||this.scrollIntoView()}}},{init(e){a(c,e).forEach(e=>{var t="true"===e.getAttribute(u);p(e,t)})},ACCORDION:l,BUTTON:c,show:e=>p(e,!0),hide:e=>p(e,!1),toggle:p,getButtons:d});t.exports=e},{"../../uswds-core/src/js/config":35,"../../uswds-core/src/js/events":36,"../../uswds-core/src/js/utils/behavior":40,"../../uswds-core/src/js/utils/is-in-viewport":43,"../../uswds-core/src/js/utils/select":48,"../../uswds-core/src/js/utils/toggle":51}],15:[function(e,t,r){var a=e("../../uswds-core/src/js/utils/behavior");let s=e("../../uswds-core/src/js/utils/select");var i=e("../../uswds-core/src/js/events").CLICK,n=e("../../uswds-core/src/js/config").prefix;let o=e("../../uswds-core/src/js/utils/toggle"),l=`.${n}-banner__header`,c=n+"-banner__header--expanded",u=l+" [aria-controls]";t.exports=a({[i]:{[u]:function(e){e.preventDefault();e=e.target.closest(u);o(e),this.closest(l).classList.toggle(c)}}},{init(e){s(u,e).forEach(e=>{var t="true"===e.getAttribute(c);o(e,t)})}})},{"../../uswds-core/src/js/config":35,"../../uswds-core/src/js/events":36,"../../uswds-core/src/js/utils/behavior":40,"../../uswds-core/src/js/utils/select":48,"../../uswds-core/src/js/utils/toggle":51}],16:[function(e,t,r){var a=e("receptor/keymap"),e=e("../../uswds-core/src/js/utils/behavior")({keydown:{'a[class*="usa-button"]':a({" ":e=>{e.preventDefault(),e.target.click()}})}});t.exports=e},{"../../uswds-core/src/js/utils/behavior":40,"receptor/keymap":10}],17:[function(e,t,r){let a=e("../../uswds-core/src/js/utils/select");var s=e("../../uswds-core/src/js/utils/behavior"),i=e("../../uswds-core/src/js/utils/debounce"),e=e("../../uswds-core/src/js/config").prefix,n=e+"-character-count";let o="."+n;var l=e+"-form-group";let c=l+"--error",u="."+l,d=e+"-label"+"--error",p=`.${e}-character-count__field`,b=e+"-input--error",f=`.${e}-character-count__message`,h="The content is too long.",m=e+"-character-count__status--invalid",v=n+"__status",g=n+"__sr-status",w="."+v,y="."+g,E="characters allowed",A=e=>{var t=e.closest(o);if(!t)throw new Error(p+" is missing outer "+o);var r=t.querySelector(u),e=e.getAttribute("id"),a=document.querySelector(`label[for=${e}]`),s=t.querySelector(f);if(s)return{characterCountEl:t,formGroupEl:r,inputID:e,labelEl:a,messageEl:s};throw new Error(o+" is missing inner "+f)},x=e=>{var t=document.createElement("div"),r=document.createElement("div"),a=e.dataset.maxlength+" "+E;t.classList.add(""+v,"usa-hint"),r.classList.add(""+g,"usa-sr-only"),t.setAttribute("aria-hidden",!0),r.setAttribute("aria-live","polite"),t.textContent=a,r.textContent=a,e.append(t,r)},j=(e,t)=>{let r="";var a;return r=0===e?t+" "+E:(a=Math.abs(t-e))+` ${"character"+(1===a?"":"s")} `+(t{e.textContent=t},1e3),S=e=>{var{characterCountEl:t,labelEl:r,formGroupEl:a}=A(e),s=e.value.length,i=parseInt(t.getAttribute("data-maxlength"),10),n=t.querySelector(w),t=t.querySelector(y),o=j(s,i);i&&(i=s&&i{var t,{characterCountEl:r,messageEl:a}=A(e);a.classList.add("usa-sr-only"),a.removeAttribute("aria-live"),a=e,e=A(a).characterCountEl,(t=a.getAttribute("maxlength"))&&(a.removeAttribute("maxlength"),e.setAttribute("data-maxlength",t)),x(r)};l=s({input:{[p](){S(this)}}},{init(e){a(p,e).forEach(e=>_(e))},FORM_GROUP_ERROR_CLASS:c,LABEL_ERROR_CLASS:d,INPUT_ERROR_CLASS:b,MESSAGE_INVALID_CLASS:m,VALIDATION_MESSAGE:h,STATUS_MESSAGE_CLASS:v,STATUS_MESSAGE_SR_ONLY_CLASS:g,DEFAULT_STATUS_LABEL:E,createStatusMessages:x,getCountMessage:j,updateCountMessage:S});t.exports=l},{"../../uswds-core/src/js/config":35,"../../uswds-core/src/js/utils/behavior":40,"../../uswds-core/src/js/utils/debounce":41,"../../uswds-core/src/js/utils/select":48}],18:[function(e,t,N){var r=e("receptor/keymap");let a=e("../../uswds-core/src/js/utils/select-or-matches");var s=e("../../uswds-core/src/js/utils/behavior");let p=e("../../uswds-core/src/js/utils/sanitizer");var i=e("../../uswds-core/src/js/config").prefix,e=e("../../uswds-core/src/js/events").CLICK,i=i+"-combo-box";let b=i+"--pristine",f=i+"__select",h=i+"__input",m=i+"__clear-input",B=m+"__wrapper",O=i+"__input-button-separator",v=i+"__toggle-list",H=v+"__wrapper",g=i+"__list",y=i+"__list-option",E=y+"--focused",A=y+"--selected",w=i+"__status",x="."+i,P="."+f,u="."+h,d="."+m,j="."+v,R="."+g,n="."+y,L="."+E,F="."+A,Y="."+w,U=".*{{query}}.*";let S=(e,t="")=>{e.value=t,t=new CustomEvent("change",{bubbles:!0,cancelable:!0,detail:{value:t}});e.dispatchEvent(t)},_=e=>{var t,r,a,s,i,n,o,l,c,e=e.closest(x);if(e)return t=e.querySelector(P),r=e.querySelector(u),a=e.querySelector(R),s=e.querySelector(Y),i=e.querySelector(L),n=e.querySelector(F),o=e.querySelector(j),l=e.querySelector(d),c=e.classList.contains(b),{comboBoxEl:e,selectEl:t,inputEl:r,listEl:a,statusEl:s,focusedOptionEl:i,selectedOptionEl:n,toggleListBtnEl:o,clearInputBtnEl:l,isPristine:c,disableFiltering:"true"===e.dataset.disableFiltering};throw new Error("Element is missing outer "+x)},D=e=>{var{inputEl:e,toggleListBtnEl:t,clearInputBtnEl:r}=_(e);r.hidden=!0,t.disabled=r.disabled=!0,e.disabled=!0};let o=e=>{e=e.closest(x);if(!e.dataset.enhanced){let r=e.querySelector("select");if(!r)throw new Error(x+" is missing inner select");var t=r.id,n=document.querySelector(`label[for="${t}"]`),o=t+"--list",l=t+"-label";let a=[];var c=e.dataset.defaultValue,u=e.dataset.placeholder;let s;if(u&&a.push({placeholder:u}),c)for(let e=0,t=r.options.length;e{var t;r.hasAttribute(e)&&(t=r.getAttribute(e),a.push({[e]:t}),r.removeAttribute(e))});let i=document.createElement("input");i.setAttribute("id",t),i.setAttribute("aria-owns",o),i.setAttribute("aria-controls",o),i.setAttribute("aria-autocomplete","list"),i.setAttribute("aria-expanded","false"),i.setAttribute("autocapitalize","off"),i.setAttribute("autocomplete","off"),i.setAttribute("class",h),i.setAttribute("type","text"),i.setAttribute("role","combobox"),a.forEach(r=>Object.keys(r).forEach(e=>{var t=p.escapeHTML`${r[e]}`;i.setAttribute(e,t)})),e.insertAdjacentElement("beforeend",i),e.insertAdjacentHTML("beforeend",p.escapeHTML` + + + +   + + + + +
`),s&&(u=_(e).inputEl,S(r,s.value),S(u,s.text),e.classList.add(b)),r.disabled&&(D(e),r.disabled=!1),r.hasAttribute("aria-disabled")&&((e=>{var{inputEl:e,toggleListBtnEl:t,clearInputBtnEl:r}=_(e);r.hidden=!0,r.setAttribute("aria-disabled",!0),t.setAttribute("aria-disabled",!0),e.setAttribute("aria-disabled",!0)})(e),r.removeAttribute("aria-disabled")),e.dataset.enhanced="true"}},C=(e,t,{skipFocus:r,preventScroll:a}={})=>{var{inputEl:e,listEl:s,focusedOptionEl:i}=_(e);i&&(i.classList.remove(E),i.setAttribute("tabIndex","-1")),t?(e.setAttribute("aria-activedescendant",t.id),t.setAttribute("tabIndex","0"),t.classList.add(E),a||(i=t.offsetTop+t.offsetHeight,s.scrollTop+s.offsetHeight{let i=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");e=`^(?:${e.replace(/{{(.*?)}}/g,(e,t)=>{var t=t.trim(),r=s[t];return"query"!==t&&r?(t=new RegExp(r,"i"),(r=a.match(t))?i(r[1]):""):i(a)})})$`;return new RegExp(e,"i")},l=e=>{let{comboBoxEl:t,selectEl:a,inputEl:r,listEl:s,statusEl:i,isPristine:n,disableFiltering:o}=_(e),l,c,u=s.id+"--option-",d=(r.value||"").toLowerCase();e=t.dataset.filter||U;let p=$(e,d,t.dataset),b=[],f=[],h=[];e=[...a.options];let m=e=>p.test(e.text);e.forEach(e=>{var t,r;(r=e).value&&(o||n||!d||m(r))&&(r=e,o||n?b.push(r):((r.text.toLowerCase().startsWith(d)?f:h).push(r),b=[...f,...h]),r=u+b.indexOf(e),t=e,o&&!c&&m(t)&&(c=r),t=e,a.value)&&t.value===a.value&&(l=r)});var e=b.length,v=b.map((e,t)=>{var r=u+t,a=[y];let s="-1",i="false";r===l&&(a.push(A,E),s="0",i="true"),l||0!==t||(a.push(E),s="0");var n=document.createElement("li");return n.setAttribute("aria-setsize",b.length),n.setAttribute("aria-posinset",t+1),n.setAttribute("aria-selected",i),n.setAttribute("id",r),n.setAttribute("class",a.join(" ")),n.setAttribute("tabindex",s),n.setAttribute("role","option"),n.setAttribute("data-value",e.value),n.textContent=e.text,n}),g=document.createElement("li");g.setAttribute("class",y+"--no-results"),g.textContent="No results found",s.hidden=!1,e?(s.innerHTML="",v.forEach(e=>s.insertAdjacentElement("beforeend",e))):(s.innerHTML="",s.insertAdjacentElement("beforeend",g)),r.setAttribute("aria-expanded","true"),i.textContent=e?e+` result${1{var{inputEl:e,listEl:t,statusEl:r,focusedOptionEl:a}=_(e);r.innerHTML="",e.setAttribute("aria-expanded","false"),e.setAttribute("aria-activedescendant",""),a&&a.classList.remove(E),t.scrollTop=0,t.hidden=!0},T=e=>{var{comboBoxEl:t,selectEl:r,inputEl:a}=_(e);S(r,e.dataset.value),S(a,e.textContent),t.classList.add(b),c(t),a.focus()},k=e=>{var{comboBoxEl:r,selectEl:a,inputEl:s}=_(e),i=a.value,n=(s.value||"").toLowerCase();if(i)for(let e=0,t=a.options.length;e{var{comboBoxEl:t,listEl:r}=_(e.target),r=(r.hidden&&l(t),r.querySelector(L)||r.querySelector(n));r&&C(t,r),e.preventDefault()},q=e=>{var t=e.target,r=t.nextSibling;r&&C(t,r),e.preventDefault()},I=e=>{var{comboBoxEl:t,listEl:r,focusedOptionEl:a}=_(e.target),a=a&&a.previousSibling,r=!r.hidden;C(t,a),r&&e.preventDefault(),a||c(t)};s=s({[e]:{[u](){this.disabled||(e=>{var{comboBoxEl:e,listEl:t}=_(e);t.hidden&&l(e)})(this)},[j](){this.disabled||(e=>{var{comboBoxEl:e,listEl:t,inputEl:r}=_(e);(t.hidden?l:c)(e),r.focus()})(this)},[n](){this.disabled||T(this)},[d](){this.disabled||(e=>{var{comboBoxEl:e,listEl:t,selectEl:r,inputEl:a}=_(e),t=!t.hidden;r.value&&S(r),a.value&&S(a),e.classList.remove(b),t&&l(e),a.focus()})(this)}},focusout:{[x](e){this.contains(e.relatedTarget)||(k(this),c(this))}},keydown:{[x]:r({Escape:e=>{var{comboBoxEl:e,inputEl:t}=_(e.target);c(e),k(e),t.focus()}}),[u]:r({Enter:e=>{var{comboBoxEl:t,listEl:r}=_(e.target),r=!r.hidden;(e=>{var{comboBoxEl:r,selectEl:a,inputEl:s,statusEl:e}=_(e),i=(e.textContent="",(s.value||"").toLowerCase());if(i)for(let e=0,t=a.options.length;e{T(e.target),e.preventDefault()}," ":e=>{T(e.target),e.preventDefault()},"Shift+Tab":()=>{}})},input:{[u](){this.closest(x).classList.remove(b),l(this)}},mouseover:{[n](){var e;(e=this).classList.contains(E)||C(e,e,{preventScroll:!0})}}},{init(e){a(x,e).forEach(e=>{o(e)})},getComboBoxContext:_,enhanceComboBox:o,generateDynamicRegExp:$,disable:D,enable:e=>{var{inputEl:e,toggleListBtnEl:t,clearInputBtnEl:r}=_(e);r.hidden=!1,t.disabled=r.disabled=!1,e.disabled=!1},displayList:l,hideList:c,COMBO_BOX_CLASS:i});t.exports=s},{"../../uswds-core/src/js/config":35,"../../uswds-core/src/js/events":36,"../../uswds-core/src/js/utils/behavior":40,"../../uswds-core/src/js/utils/sanitizer":45,"../../uswds-core/src/js/utils/select-or-matches":47,"receptor/keymap":10}],19:[function(e,E,A){let t=e("receptor/keymap");var S=e("../../uswds-core/src/js/utils/behavior");let _=e("../../uswds-core/src/js/utils/select"),P=e("../../uswds-core/src/js/utils/select-or-matches");var r=e("../../uswds-core/src/js/config").prefix,R=e("../../uswds-core/src/js/events").CLICK;let F=e("../../uswds-core/src/js/utils/active-element");var Y=e("../../uswds-core/src/js/utils/is-ios-device");let D=e("../../uswds-core/src/js/utils/sanitizer");e=r+"-date-picker";let U=e+"__wrapper",V=e+"--initialized",K=e+"--active",W=e+"__internal-input",z=e+"__external-input",Q=e+"__button",i=e+"__calendar",G=e+"__status",C=i+"__date",Z=C+"--focused",J=C+"--selected",X=C+"--previous-month",ee=C+"--current-month",te=C+"--next-month",re=C+"--range-date",ae=C+"--today",se=C+"--range-date-start",ie=C+"--range-date-end",ne=C+"--within-range",oe=i+"__previous-year",le=i+"__previous-month",ce=i+"__next-year",ue=i+"__next-month",de=i+"__month-selection",pe=i+"__year-selection",p=i+"__month",be=p+"--focused",fe=p+"--selected",x=i+"__year",he=x+"--focused",me=x+"--selected",ve=i+"__previous-year-chunk",ge=i+"__next-year-chunk",we=i+"__date-picker",ye=i+"__month-picker",Ee=i+"__year-picker",$=i+"__table",Ae=i+"__row",T=i+"__cell",k=T+"--center-items",xe=i+"__month-label",je=i+"__day-of-week",f="."+e,Le="."+Q,Se="."+W,h="."+z,_e="."+i,De="."+G;r="."+C;let o="."+Z;e="."+ee;let Ce="."+oe,$e="."+le,Te="."+ce,ke="."+ue;var Me="."+pe,qe="."+de,Ie="."+p;let Ne="."+x,Be="."+ve,Oe="."+ge,M="."+we;var He="."+ye;let Pe="."+Ee,Re="."+be,l="."+he,Fe="Please enter a valid date",Ye=["January","February","March","April","May","June","July","August","September","October","November","December"],Ue=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],j=12,m="MM/DD/YYYY",Ve="YYYY-MM-DD";var a=(...e)=>e.map(e=>e+":not([disabled])").join(", "),s=a(Ce,$e,Me,qe,Te,ke,o),Ke=a(Re),a=a(Be,Oe,l);let We=(e,t)=>(t!==e.getMonth()&&e.setDate(0),e),d=(e,t,r)=>{var a=new Date(0);return a.setFullYear(e,t,r),a},ze=()=>{var e=new Date,t=e.getDate(),r=e.getMonth(),e=e.getFullYear();return d(e,r,t)},Qe=e=>{var t=new Date(0);return t.setFullYear(e.getFullYear(),e.getMonth(),1),t},Ge=e=>{var t=new Date(0);return t.setFullYear(e.getFullYear(),e.getMonth()+1,0),t},q=(e,t)=>{e=new Date(e.getTime());return e.setDate(e.getDate()+t),e},Ze=(e,t)=>q(e,-t),Je=(e,t)=>q(e,7*t),Xe=e=>{var t=e.getDay();return Ze(e,t)},I=(e,t)=>{var e=new Date(e.getTime()),r=(e.getMonth()+12+t)%12;return e.setMonth(e.getMonth()+t),We(e,r),e},et=(e,t)=>I(e,-t),tt=(e,t)=>I(e,12*t),rt=(e,t)=>tt(e,-t),b=(e,t)=>{e=new Date(e.getTime());return e.setMonth(t),We(e,t),e},L=(e,t)=>{var e=new Date(e.getTime()),r=e.getMonth();return e.setFullYear(t),We(e,r),e},at=(e,t)=>{let r=t{let r=ee&&t&&e.getFullYear()===t.getFullYear(),N=(e,t)=>it(e,t)&&e.getMonth()===t.getMonth(),B=(e,t)=>N(e,t)&&e.getDate()===t.getDate(),c=(e,t,r)=>{let a=e;return et<=e&&(!r||e<=r),ot=(e,t,r)=>Ge(e)r,lt=(e,t,r)=>Ge(b(e,11))r,ct=(e,t)=>{var r=t&&at(e,t),e=t&&st(e,t);return{rangeStartDate:r,rangeEndDate:e,withinRangeStartDate:t&&q(r,1),withinRangeEndDate:t&&Ze(e,1)}},v=(a,s=Ve,i=!1)=>{let n,o,l,c,u;if(a){let e,t,r;s===m?[e,t,r]=a.split("/"):[r,e,t]=a.split("-"),r&&(u=parseInt(r,10),Number.isNaN(u)||(c=u,i&&(c=Math.max(0,c),r.length<3)&&(a=(s=ze().getFullYear())-s%10**r.length,c=a+u))),e&&(u=parseInt(e,10),Number.isNaN(u)||(o=u,i&&(o=Math.max(1,o),o=Math.min(12,o)))),o&&t&&null!=c&&(u=parseInt(t,10),Number.isNaN(u)||(l=u,i&&(s=d(c,o,0).getDate(),l=Math.max(1,l),l=Math.min(s,l)))),o&&l&&null!=c&&(n=d(c,o-1,l))}return n},O=(e,t=Ve)=>{var r=(e,t)=>("0000"+e).slice(-t),a=e.getMonth()+1,s=e.getDate(),e=e.getFullYear();return t===m?[r(a,2),r(s,2),r(e,4)].join("/"):[r(e,4),r(a,2),r(s,2)].join("-")},ut=(e,r)=>{var a=[],s=[];let i=0;for(;i{t.insertAdjacentElement("beforeend",e)}),a.push(t)}return a},dt=e=>{let t=document.createElement("tbody");return e.forEach(e=>{t.insertAdjacentElement("beforeend",e)}),t},pt=(e,t="")=>{e.value=t,t=new CustomEvent("change",{bubbles:!0,cancelable:!0,detail:{value:t}});e.dispatchEvent(t)},H=e=>{e=e.closest(f);if(!e)throw new Error("Element is missing outer "+f);var t=e.querySelector(Se),r=e.querySelector(h),a=e.querySelector(_e),s=e.querySelector(Le),i=e.querySelector(De),n=e.querySelector(Ne),o=v(r.value,m,!0),l=v(t.value),c=v(a.dataset.value),u=v(e.dataset.minDate),d=v(e.dataset.maxDate),p=v(e.dataset.rangeDate),b=v(e.dataset.defaultDate);if(u&&d&&d{var{externalInputEl:e,toggleBtnEl:t}=H(e);t.disabled=!0,e.disabled=!0},ft=e=>{var{externalInputEl:e,toggleBtnEl:t}=H(e);t.setAttribute("aria-disabled",!0),e.setAttribute("aria-disabled",!0),e.setAttribute("readonly","")};let ht=e=>{var t,r,a,s,{externalInputEl:e,minDate:i,maxDate:n}=H(e),e=e.value;let o=!1;return o=e&&(o=!0,[t,r,a]=(e=e.split("/")).map(e=>{let t;e=parseInt(e,10);return t=Number.isNaN(e)?t:e}),t)&&r&&null!=a&&(s=d(a,t-1,r)).getMonth()===t-1&&s.getDate()===r&&s.getFullYear()===a&&4===e[2].length&&nt(s,i,n)?!1:o},mt=e=>{var e=H(e).externalInputEl,t=ht(e);t&&!e.validationMessage&&e.setCustomValidity(Fe),t||e.validationMessage!==Fe||e.setCustomValidity("")},vt=(e,t)=>{var r,a,s=v(t);s&&(s=O(s,m),{datePickerEl:e,internalInputEl:r,externalInputEl:a}=H(e),pt(r,t),pt(a,s),mt(e))},u=(e,t)=>{let{datePickerEl:r,calendarEl:a,statusEl:s,selectedDate:d,maxDate:p,minDate:b,rangeDate:f}=H(e),h=ze(),i=t||h;e=a.hidden;let m=q(i,0);var n=i.getMonth(),t=i.getFullYear();let v=et(i,1),g=I(i,1);var o=O(i),l=Qe(i),c=N(i,b),u=N(i,p);let{rangeStartDate:w,rangeEndDate:y,withinRangeStartDate:E,withinRangeEndDate:A}=ct(d||i,f);for(var x=Ye[n],j=(i=Xe(l),[]);j.length<28||i.getMonth()===n||j.length%7!=0;)j.push((e=>{var t=[C],r=e.getDate(),a=e.getMonth(),s=e.getFullYear(),i=e.getDay(),n=O(e);let o="-1";var l=!nt(e,b,p),c=B(e,d),e=(N(e,v)&&t.push(X),N(e,m)&&t.push(ee),N(e,g)&&t.push(te),c&&t.push(J),B(e,h)&&t.push(ae),f&&(B(e,f)&&t.push(re),B(e,w)&&t.push(se),B(e,y)&&t.push(ie),nt(e,E,A))&&t.push(ne),B(e,m)&&(o="0",t.push(Z)),Ye[a]),i=Ue[i],u=document.createElement("button");return u.setAttribute("type","button"),u.setAttribute("tabindex",o),u.setAttribute("class",t.join(" ")),u.setAttribute("data-day",r),u.setAttribute("data-month",a+1),u.setAttribute("data-year",s),u.setAttribute("data-value",n),u.setAttribute("aria-label",D.escapeHTML`${r} ${e} ${s} ${i}`),u.setAttribute("aria-selected",c?"true":"false"),!0==l&&(u.disabled=!0),u.textContent=r,u})(i)),i=q(i,1);var l=ut(j,7),L=a.cloneNode(),o=(L.dataset.value=o,L.style.top=r.offsetHeight+"px",L.hidden=!1,L.innerHTML=D.escapeHTML` +
+
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+
+ `,document.createElement("table")),c=(o.setAttribute("class",$),document.createElement("thead"));o.insertAdjacentElement("beforeend",c);let S=document.createElement("tr"),_=(c.insertAdjacentElement("beforeend",S),{Sunday:"S",Monday:"M",Tuesday:"T",Wednesday:"W",Thursday:"Th",Friday:"Fr",Saturday:"S"});Object.keys(_).forEach(e=>{var t=document.createElement("th");t.setAttribute("class",je),t.setAttribute("scope","col"),t.setAttribute("aria-label",e),t.textContent=_[e],S.insertAdjacentElement("beforeend",t)});u=dt(l);o.insertAdjacentElement("beforeend",u);L.querySelector(M).insertAdjacentElement("beforeend",o),a.parentNode.replaceChild(L,a),r.classList.add(K);c=[];return B(d,m)&&c.push("Selected date"),e?(c.push("You can navigate by day using left and right arrows","Weeks by using up and down arrows","Months by using page up and page down keys","Years by using shift plus page up and shift plus page down","Home and end keys navigate to the beginning and end of a week"),s.textContent=""):c.push(x+" "+t),s.textContent=c.join(". "),L},gt=e=>{var{datePickerEl:e,calendarEl:t,statusEl:r}=H(e);e.classList.remove(K),t.hidden=!0,r.textContent=""},wt=e=>{var{calendarEl:e,inputDate:t,minDate:r,maxDate:a}=H(e);!e.hidden&&t&&(t=c(t,r,a),u(e,t))},yt=(e,t)=>{let{calendarEl:r,statusEl:a,calendarDate:o,minDate:l,maxDate:c}=H(e),u=o.getMonth(),d=null==t?u:t;var e=Ye.map((e,t)=>{var r=b(o,t),r=ot(r,l,c);let a="-1";var s=[p],i=t===u,n=(t===d&&(a="0",s.push(be)),i&&s.push(fe),document.createElement("button"));return n.setAttribute("type","button"),n.setAttribute("tabindex",a),n.setAttribute("class",s.join(" ")),n.setAttribute("data-value",t),n.setAttribute("data-label",e),n.setAttribute("aria-selected",i?"true":"false"),!0===r&&(n.disabled=!0),n.textContent=e,n}),t=document.createElement("div"),s=(t.setAttribute("tabindex","-1"),t.setAttribute("class",ye),document.createElement("table")),e=(s.setAttribute("class",$),s.setAttribute("role","presentation"),ut(e,3)),e=dt(e),e=(s.insertAdjacentElement("beforeend",e),t.insertAdjacentElement("beforeend",s),r.cloneNode());return e.insertAdjacentElement("beforeend",t),r.parentNode.replaceChild(e,r),a.textContent="Select a month.",e},Et=(e,t)=>{var{calendarEl:e,statusEl:r,calendarDate:a,minDate:s,maxDate:i}=H(e),n=a.getFullYear(),o=null==t?n:t,t=o,l=(t-=t%j,t=Math.max(0,t),lt(L(a,t-1),s,i)),c=lt(L(a,t+j),s,i),u=[];let d=t;for(;u.length{var{datePickerEl:t,externalInputEl:r}=H(e.target);gt(t),r.focus(),e.preventDefault()};var n=n=>e=>{var{calendarEl:t,calendarDate:r,minDate:a,maxDate:s}=H(e.target),i=n(r),i=c(i,a,s);B(r,i)||u(t,i).querySelector(o).focus(),e.preventDefault()},xt=n(e=>{return e=e,t=1,Je(e,-t);var t}),jt=n(e=>Je(e,1)),Lt=n(e=>Ze(e,1)),St=n(e=>q(e,1)),_t=n(e=>Xe(e)),Dt=n(e=>{return t=(e=e).getDay(),q(e,6-t);var t}),Ct=n(e=>I(e,1)),$t=n(e=>et(e,1)),Tt=n(e=>tt(e,1)),n=n(e=>rt(e,1));var g=o=>e=>{var t=e.target,r=parseInt(t.dataset.value,10),{calendarEl:t,calendarDate:a,minDate:s,maxDate:i}=H(t),n=b(a,r),r=o(r),r=Math.max(0,Math.min(11,r)),a=b(a,r),r=c(a,s,i);N(n,r)||yt(t,r.getMonth()).querySelector(Re).focus(),e.preventDefault()},kt=g(e=>e-3),Mt=g(e=>e+3),qt=g(e=>e-1),It=g(e=>e+1),Nt=g(e=>e-e%3),Bt=g(e=>e+2-e%3),Ot=g(()=>11),g=g(()=>0),w=o=>e=>{var t=e.target,r=parseInt(t.dataset.value,10),{calendarEl:t,calendarDate:a,minDate:s,maxDate:i}=H(t),n=L(a,r),r=o(r),r=Math.max(0,r),a=L(a,r),r=c(a,s,i);it(n,r)||Et(t,r.getFullYear()).querySelector(l).focus(),e.preventDefault()},Ht=w(e=>e-3),Pt=w(e=>e+3),Rt=w(e=>e-1),Ft=w(e=>e+1),Yt=w(e=>e-e%3),Ut=w(e=>e+2-e%3),Vt=w(e=>e-j),w=w(e=>e+j),y=i=>{let s=e=>{var e=H(e).calendarEl,e=_(i,e),t=e.length-1,r=e[0],a=e[t],s=e.indexOf(F());return{focusableElements:e,isNotFound:-1===s,firstTabStop:r,isFirstTab:0===s,lastTabStop:a,isLastTab:s===t}};return{tabAhead(e){var{firstTabStop:t,isLastTab:r,isNotFound:a}=s(e.target);(r||a)&&(e.preventDefault(),t.focus())},tabBack(e){var{lastTabStop:t,isFirstTab:r,isNotFound:a}=s(e.target);(r||a)&&(e.preventDefault(),t.focus())}}},s=y(s),Ke=y(Ke),y=y(a),a={[R]:{[Le](){var e,t,r,a,s,i;(e=this).disabled||e.hasAttribute("aria-disabled")||({calendarEl:t,inputDate:i,minDate:r,maxDate:a,defaultDate:s}=H(e),t.hidden?(i=c(i||s||ze(),r,a),u(t,i).querySelector(o).focus()):gt(e))},[r](){var e,t,r;(e=this).disabled||({datePickerEl:t,externalInputEl:r}=H(e),vt(e,e.dataset.value),gt(t),r.focus())},[Ie](){var e,t,r,a,s;(e=this).disabled||({calendarEl:t,calendarDate:s,minDate:r,maxDate:a}=H(e),e=parseInt(e.dataset.value,10),s=b(s,e),s=c(s,r,a),u(t,s).querySelector(o).focus())},[Ne](){var e,t,r,a,s;(e=this).disabled||({calendarEl:t,calendarDate:s,minDate:r,maxDate:a}=H(e),e=parseInt(e.innerHTML,10),s=L(s,e),s=c(s,r,a),u(t,s).querySelector(o).focus())},[$e](){(t=>{if(!t.disabled){var{calendarEl:t,calendarDate:r,minDate:a,maxDate:s}=H(t),r=et(r,1),r=c(r,a,s),a=u(t,r);let e=a.querySelector($e);(e=e.disabled?a.querySelector(M):e).focus()}})(this)},[ke](){(t=>{if(!t.disabled){var{calendarEl:t,calendarDate:r,minDate:a,maxDate:s}=H(t),r=I(r,1),r=c(r,a,s),a=u(t,r);let e=a.querySelector(ke);(e=e.disabled?a.querySelector(M):e).focus()}})(this)},[Ce](){(t=>{if(!t.disabled){var{calendarEl:t,calendarDate:r,minDate:a,maxDate:s}=H(t),r=rt(r,1),r=c(r,a,s),a=u(t,r);let e=a.querySelector(Ce);(e=e.disabled?a.querySelector(M):e).focus()}})(this)},[Te](){(t=>{if(!t.disabled){var{calendarEl:t,calendarDate:r,minDate:a,maxDate:s}=H(t),r=tt(r,1),r=c(r,a,s),a=u(t,r);let e=a.querySelector(Te);(e=e.disabled?a.querySelector(M):e).focus()}})(this)},[Be](){(t=>{if(!t.disabled){var{calendarEl:t,calendarDate:r,minDate:a,maxDate:s}=H(t),i=t.querySelector(l),i=parseInt(i.textContent,10)-j,i=Math.max(0,i),r=L(r,i),i=c(r,a,s),r=Et(t,i.getFullYear());let e=r.querySelector(Be);(e=e.disabled?r.querySelector(Pe):e).focus()}})(this)},[Oe](){(t=>{if(!t.disabled){var{calendarEl:t,calendarDate:r,minDate:a,maxDate:s}=H(t),i=t.querySelector(l),i=parseInt(i.textContent,10)+j,i=Math.max(0,i),r=L(r,i),i=c(r,a,s),r=Et(t,i.getFullYear());let e=r.querySelector(Oe);(e=e.disabled?r.querySelector(Pe):e).focus()}})(this)},[qe](){yt(this).querySelector(Re).focus()},[Me](){Et(this).querySelector(l).focus()}},keyup:{[_e](e){var t=this.dataset.keydownKeyCode;""+e.keyCode!==t&&e.preventDefault()}},keydown:{[h](e){13===e.keyCode&&mt(this)},[r]:t({Up:xt,ArrowUp:xt,Down:jt,ArrowDown:jt,Left:Lt,ArrowLeft:Lt,Right:St,ArrowRight:St,Home:_t,End:Dt,PageDown:Ct,PageUp:$t,"Shift+PageDown":Tt,"Shift+PageUp":n,Tab:s.tabAhead}),[M]:t({Tab:s.tabAhead,"Shift+Tab":s.tabBack}),[Ie]:t({Up:kt,ArrowUp:kt,Down:Mt,ArrowDown:Mt,Left:qt,ArrowLeft:qt,Right:It,ArrowRight:It,Home:Nt,End:Bt,PageDown:Ot,PageUp:g}),[He]:t({Tab:Ke.tabAhead,"Shift+Tab":Ke.tabBack}),[Ne]:t({Up:Ht,ArrowUp:Ht,Down:Pt,ArrowDown:Pt,Left:Rt,ArrowLeft:Rt,Right:Ft,ArrowRight:Ft,Home:Yt,End:Ut,PageDown:w,PageUp:Vt}),[Pe]:t({Tab:y.tabAhead,"Shift+Tab":y.tabBack}),[_e](e){this.dataset.keydownKeyCode=e.keyCode},[f](e){t({Escape:At})(e)}},focusout:{[h](){mt(this)},[f](e){this.contains(e.relatedTarget)||gt(this)}},input:{[h](){(e=>{var{internalInputEl:t,inputDate:r}=H(e);let a="";r&&!ht(e)&&(a=O(r)),t.value!==a&&pt(t,a)})(this),wt(this)}}},R=(Y()||(a.mouseover={[e](){(e=>{if(!e.disabled){var t=v(e.dataset.value),{calendarEl:e,selectedDate:r,rangeDate:s}=H(e);if(!r){let{withinRangeStartDate:r,withinRangeEndDate:a}=ct(t,s);e.querySelectorAll("."+ee).forEach(e=>{var t=v(e.dataset.value);nt(t,r,a)?e.classList.add(ne):e.classList.remove(ne)})}}})(this)}}),S(a,{init(e){P(f,e).forEach(e=>{(e=>{var e=e.closest(f),t=e.dataset.defaultValue,r=e.querySelector("input");if(!r)throw new Error(f+" is missing inner input");r.value&&(r.value="");var a=v(e.dataset.minDate||r.getAttribute("min")),a=(e.dataset.minDate=a?O(a):"0000-01-01",v(e.dataset.maxDate||r.getAttribute("max"))),a=(a&&(e.dataset.maxDate=O(a)),document.createElement("div")),s=(a.classList.add(U),r.cloneNode());s.classList.add(z),s.type="text",a.appendChild(s),a.insertAdjacentHTML("beforeend",D.escapeHTML` + + +
`),r.setAttribute("aria-hidden","true"),r.setAttribute("tabindex","-1"),r.style.display="none",r.classList.add(W),r.removeAttribute("id"),r.removeAttribute("name"),r.required=!1,e.appendChild(a),e.classList.add(V),t&&vt(e,t),r.disabled&&(bt(e),r.disabled=!1),r.hasAttribute("aria-disabled")&&(ft(e),r.removeAttribute("aria-disabled"))})(e)})},getDatePickerContext:H,disable:bt,ariaDisable:ft,enable:e=>{var{externalInputEl:e,toggleBtnEl:t}=H(e);t.disabled=!1,t.removeAttribute("aria-disabled"),e.disabled=!1,e.removeAttribute("aria-disabled"),e.removeAttribute("readonly")},isDateInputInvalid:ht,setCalendarValue:vt,validateDateInput:mt,renderCalendar:u,updateCalendarIfVisible:wt}));E.exports=R},{"../../uswds-core/src/js/config":35,"../../uswds-core/src/js/events":36,"../../uswds-core/src/js/utils/active-element":39,"../../uswds-core/src/js/utils/behavior":40,"../../uswds-core/src/js/utils/is-ios-device":44,"../../uswds-core/src/js/utils/sanitizer":45,"../../uswds-core/src/js/utils/select":48,"../../uswds-core/src/js/utils/select-or-matches":47,"receptor/keymap":10}],20:[function(e,t,r){var a=e("../../uswds-core/src/js/utils/behavior");let s=e("../../uswds-core/src/js/utils/select"),i=e("../../uswds-core/src/js/utils/select-or-matches");var n=e("../../uswds-core/src/js/config").prefix;let{getDatePickerContext:o,isDateInputInvalid:l,updateCalendarIfVisible:c}=e("../../usa-date-picker/src/index");e=n+"-date-range-picker";let u=e+"__range-start",d=e+"__range-end",p="."+(n+"-date-picker"),b="."+e,f="."+u,h="."+d,m=e=>{var t,r,e=e.closest(b);if(e)return t=e.querySelector(f),r=e.querySelector(h),{dateRangePickerEl:e,rangeStartEl:t,rangeEndEl:r};throw new Error("Element is missing outer "+b)},v=e=>{var{dateRangePickerEl:e,rangeStartEl:t,rangeEndEl:r}=m(e),t=o(t).internalInputEl,a=t.value;a&&!l(t)?(r.dataset.minDate=a,r.dataset.rangeDate=a,r.dataset.defaultDate=a):(r.dataset.minDate=e.dataset.minDate||"",r.dataset.rangeDate="",r.dataset.defaultDate=""),c(r)},g=e=>{var{dateRangePickerEl:e,rangeStartEl:t,rangeEndEl:r}=m(e),r=o(r).internalInputEl,a=r.value;a&&!l(r)?(t.dataset.maxDate=a,t.dataset.rangeDate=a,t.dataset.defaultDate=a):(t.dataset.maxDate=e.dataset.maxDate||"",t.dataset.rangeDate="",t.dataset.defaultDate=""),c(t)};n=a({"input change":{[f](){v(this)},[h](){g(this)}}},{init(e){i(b,e).forEach(e=>{(e=>{var e=e.closest(b),[t,r]=s(p,e);if(!t)throw new Error(`${b} is missing inner two '${p}' elements`);if(!r)throw new Error(`${b} is missing second '${p}' element`);t.classList.add(u),r.classList.add(d),e.dataset.minDate||(e.dataset.minDate="0000-01-01");var a=e.dataset.minDate,a=(t.dataset.minDate=a,r.dataset.minDate=a,e.dataset).maxDate;a&&(t.dataset.maxDate=a,r.dataset.maxDate=a),v(e),g(e)})(e)})}});t.exports=n},{"../../usa-date-picker/src/index":19,"../../uswds-core/src/js/config":35,"../../uswds-core/src/js/utils/behavior":40,"../../uswds-core/src/js/utils/select":48,"../../uswds-core/src/js/utils/select-or-matches":47}],21:[function(e,t,n){let r=e("../../uswds-core/src/js/utils/select-or-matches");var a=e("../../uswds-core/src/js/utils/behavior");let l=e("../../uswds-core/src/js/utils/sanitizer");e=e("../../uswds-core/src/js/config").prefix;let c=e+"-file-input",u="."+c,d=e+"-file-input__input",p=e+"-file-input__target",s="."+d,b=e+"-file-input__box",f=e+"-file-input__instructions",h=e+"-file-input__preview",o=e+"-file-input__preview-heading",m=e+"-file-input--disabled",v=e+"-file-input__choose",g=e+"-file-input__accepted-files-message",w=e+"-file-input__drag-text",i=e+"-file-input--drag",y="is-loading",E="has-invalid-file",A=e+"-file-input__preview-image",x=A+"--generic",j=A+"--pdf",L=A+"--word",S=A+"--video",_=A+"--excel",D=e+"-sr-only",C="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",B="Error: This is not a valid file type.",$=Boolean(!0),T="",k="",M=e=>{var t,e=e.closest(u);if(e)return t=e.querySelector(s),{dropZoneEl:e,inputEl:t};throw new Error("Element is missing outer "+u)};let O=e=>{var t=e.charCodeAt(0);return 32===t?"-":65<=t&&t<=90?"img_"+e.toLowerCase():"__"+t.toString(16).slice(-4)},H=e=>e.replace(/[^a-z0-9]/g,O),P=e=>e+"-"+Math.floor(Date.now().toString()/1e3),q=e=>e.hasAttribute("multiple")?"files":"file",R=e=>{var t,r,a,s=e.hasAttribute("aria-disabled")||e.hasAttribute("disabled"),i=(t=e,r=document.createElement("div"),n=document.createElement("div"),i=document.createElement("div"),t.classList.remove(c),t.classList.add(d),r.classList.add(c),i.classList.add(b),n.classList.add(p),n.prepend(i),t.parentNode.insertBefore(n,t),t.parentNode.insertBefore(r,n),n.appendChild(t),r.appendChild(n),n),n=(r=(t=e).closest(u),n=q(t),a=document.createElement("div"),n=`Drag ${n} here or`,o="choose from folder",T=n+" "+o,a.classList.add(f),a.setAttribute("aria-hidden","true"),t.setAttribute("aria-label",T),a.innerHTML=l.escapeHTML`${n} ${o}`,t.parentNode.insertBefore(a,t),(/rv:11.0/i.test(navigator.userAgent)||/Edge\/\d./i.test(navigator.userAgent))&&(r.querySelector("."+w).outerHTML=""),a),o=M(e).dropZoneEl;return s?o.classList.add(m):(t=e,r=document.createElement("div"),a=q(t),s=t.closest(u),t=t.closest("."+p),k=`No ${a} selected.`,r.classList.add(D),r.setAttribute("aria-live","polite"),r.textContent=k,s.insertBefore(r,t)),{instructions:n,dropTarget:i}},I=(e,t)=>{var r=e.querySelectorAll("."+h),a=e.querySelector("."+o),s=e.querySelector("."+g);a&&(a.outerHTML=""),s&&(s.outerHTML="",e.classList.remove(E)),null!==r&&(t&&t.removeAttribute("hidden"),Array.prototype.forEach.call(r,e=>{e.parentNode.removeChild(e)}))},F=(e,t,r)=>{let a=e,s=k;1===t.length?s="You have selected the file: "+r:1{a.textContent=s},1e3)},Y=(e,t)=>{var r=document.createElement("div"),a=e.closest("."+p),s=a.querySelector("."+f);let i="Change file",n="";1===t.length?n=l.escapeHTML`Selected file ${i}`:1${i}`),s.setAttribute("hidden","true"),r.classList.add(o),r.innerHTML=n,a.insertBefore(r,s),e.setAttribute("aria-label",i)},N=(t,r)=>{t.addEventListener("error",()=>{var e=t;e.src=C,e.classList.add(r)},{once:!0})},U=(e,t,r,a)=>{((e,r,a,s)=>{var i=r.getAttribute("accept");s.classList.remove(E);if(i){var n=i.split(","),i=document.createElement("div"),o=r.dataset.errormessage||B;i.setAttribute("aria-hidden",!0);let t=!0;var l=e.target.files||e.dataTransfer.files;for(let e=0;e{let r=!1;e=e.indexOf(t);return r=0<=e?!0:r})(c.type,u.replace(/\*/g,""))){$=!0;break}}}t||(I(s,a),r.value="",i.textContent=o,s.insertBefore(i,r),a=o+" "+T,r.setAttribute("aria-label",a),i.classList.add(g),s.classList.add(E),$=!1,e.preventDefault(),e.stopPropagation())}})(e,t,r,a),!0===$&&((e,t,i,r)=>{var n=e.target.files,e=r.closest("."+c).querySelector("."+D),o=[];I(r,i);for(let e=0;e
+ +
  • +
    +
    +

    Title

    +
    +
    +
    + +
    +
    + +
    +
  • +
  • +
    +
    +

    Title

    +
    +
    +
    + +
    +
    + +
    +
  • + + + + + + diff --git a/packages/uswds-validation/_index.scss b/packages/uswds-validation/_index.scss new file mode 100644 index 0000000..3bb61c0 --- /dev/null +++ b/packages/uswds-validation/_index.scss @@ -0,0 +1,7 @@ +// Validation +// ------------------------------------- +@forward "uswds-form-controls"; +@forward "usa-checklist"; +@forward "usa-alert"; +@forward "usa-button"; +@forward "usa-form"; diff --git a/packages/uswds/_index.scss b/packages/uswds/_index.scss new file mode 100644 index 0000000..ad1637d --- /dev/null +++ b/packages/uswds/_index.scss @@ -0,0 +1,55 @@ +/*! uswds @version */ + +// Global +// ------------------------------------- +@forward "uswds-global"; + +// Helpers +// ------------------------------------- +@forward "uswds-helpers"; + +// Components +// ------------------------------------- +@forward "uswds-typography"; +@forward "usa-accordion/src/styles"; +@forward "usa-alert/src/styles"; +@forward "usa-banner/src/styles"; +@forward "usa-breadcrumb/src/styles"; +@forward "usa-button-group/src/styles"; +@forward "usa-button/src/styles"; +@forward "usa-card/src/styles"; +@forward "usa-checklist/src/styles"; +@forward "usa-collection/src/styles"; +@forward "usa-embed-container/src/styles"; +@forward "usa-footer/src/styles"; +@forward "usa-form/src/styles"; +@forward "usa-graphic-list/src/styles"; +@forward "usa-header/src/styles"; +@forward "usa-hero/src/styles"; +@forward "usa-icon-list/src/styles"; +@forward "usa-icon/src/styles"; +@forward "usa-identifier/src/styles"; +@forward "usa-in-page-navigation/src/styles"; +@forward "usa-language-selector/src/styles"; +@forward "usa-layout-docs/src/styles"; +@forward "usa-layout-grid/src/styles"; +@forward "usa-media-block/src/styles"; +@forward "usa-modal/src/styles"; +@forward "usa-nav/src/styles"; +@forward "usa-pagination/src/styles"; +@forward "usa-process-list/src/styles"; +@forward "usa-search/src/styles"; +@forward "usa-section/src/styles"; +@forward "usa-sidenav/src/styles"; +@forward "usa-site-alert/src/styles"; +@forward "usa-skipnav/src/styles"; +@forward "usa-step-indicator/src/styles"; +@forward "usa-summary-box/src/styles"; +@forward "usa-table/src/styles"; +@forward "usa-tag/src/styles"; +@forward "usa-tooltip/src/styles"; +@forward "uswds-form-controls"; + +// Utilities +// ------------------------------------- +@forward "uswds-utilities/src/styles"; diff --git a/sass/styles.scss b/sass/styles.scss new file mode 100644 index 0000000..5e4506e --- /dev/null +++ b/sass/styles.scss @@ -0,0 +1,10 @@ +/* styles.scss */ + +// 1. Load your project's USWDS settings configuration +@forward "uswds-theme.scss"; + +// 2. Load USWDS source code +@forward "./path/to/source/uswds"; + +// 3. Load your project's custom Sass +@forward "project-styles.scss"; \ No newline at end of file diff --git a/sass/uswds/_uswds-theme-custom-styles.scss b/sass/uswds/_uswds-theme-custom-styles.scss new file mode 100644 index 0000000..8411eec --- /dev/null +++ b/sass/uswds/_uswds-theme-custom-styles.scss @@ -0,0 +1,23 @@ +/* +* * * * * ============================== +* * * * * ============================== +* * * * * ============================== +* * * * * ============================== +======================================== +======================================== +======================================== +---------------------------------------- +USWDS THEME CUSTOM STYLES +---------------------------------------- +!! Copy this file to your project's + sass root. Don't edit the version + in node_modules. +---------------------------------------- +Custom project SASS goes here. + +i.e. +@include u-padding-right('05'); +---------------------------------------- +*/ + +@use "uswds-core" as *; diff --git a/sass/uswds/_uswds-theme.scss b/sass/uswds/_uswds-theme.scss new file mode 100644 index 0000000..eead761 --- /dev/null +++ b/sass/uswds/_uswds-theme.scss @@ -0,0 +1,15 @@ +/* +---------------------------------------- +USWDS with settings overrides +---------------------------------------- +Uncomment the following lines and add a list of changed settings +in the form $setting: value, +---------------------------------------- +*/ + +// +// @use "uswds-core" with ( +// $setting: value, +// $setting: value +// ); +// diff --git a/sass/uswds/styles.scss b/sass/uswds/styles.scss new file mode 100644 index 0000000..6897863 --- /dev/null +++ b/sass/uswds/styles.scss @@ -0,0 +1,3 @@ +@forward "uswds-theme"; +@forward "uswds"; +@forward "uswds-theme-custom-styles"; diff --git a/security/README.md b/security/README.md new file mode 100644 index 0000000..d0a92b0 --- /dev/null +++ b/security/README.md @@ -0,0 +1,13 @@ +This `/security` directory contains SHA-256 hashes for each USWDS hashed release ZIP file. Use these hashes to verify the authenticity of USWDS release ZIP files. Compare our SHA-256 hash with the hash you generate from the ZIP you wish to test. + +**OSX/Linux**: Use the `sha256sum` command in a terminal window. (Replace the path with the path to the file you wish to test.) + +```bash +sha256sum path/to/filename.zip +``` + +**Windows:** Open up PowerShell and run the following command. (Replace the path with the path to the file you wish to test.) + +```bash +powershell get-filehash -algorithm sha256 .\path\to\filename.zip +``` diff --git a/security/uswds-2.10.0-zip-hash.txt b/security/uswds-2.10.0-zip-hash.txt new file mode 100644 index 0000000..fedafa8 --- /dev/null +++ b/security/uswds-2.10.0-zip-hash.txt @@ -0,0 +1 @@ +1c3c31de6fdb62bd327b54e46c1513a252ffc4a54b9152db1e2fcafb7dbc4c4e \ No newline at end of file diff --git a/security/uswds-2.10.1-zip-hash.txt b/security/uswds-2.10.1-zip-hash.txt new file mode 100644 index 0000000..7104653 --- /dev/null +++ b/security/uswds-2.10.1-zip-hash.txt @@ -0,0 +1 @@ +f71fcb38eb05d4d1b36db8546016104ed7e93ee2e0fbf7250b9e11678e8c8327 \ No newline at end of file diff --git a/security/uswds-2.10.2-zip-hash.txt b/security/uswds-2.10.2-zip-hash.txt new file mode 100644 index 0000000..3e84491 --- /dev/null +++ b/security/uswds-2.10.2-zip-hash.txt @@ -0,0 +1 @@ +204f91185f424abdd1b65ea2d1b4565f2208726be429c455477668d1507a9a5b \ No newline at end of file diff --git a/security/uswds-2.10.3-zip-hash.txt b/security/uswds-2.10.3-zip-hash.txt new file mode 100644 index 0000000..cd997b3 --- /dev/null +++ b/security/uswds-2.10.3-zip-hash.txt @@ -0,0 +1 @@ +73c158b0d495f714ea4d96521e27ca6486360f74830e89bef0fb41556c91e183 \ No newline at end of file diff --git a/security/uswds-2.11.0-zip-hash.txt b/security/uswds-2.11.0-zip-hash.txt new file mode 100644 index 0000000..5aec211 --- /dev/null +++ b/security/uswds-2.11.0-zip-hash.txt @@ -0,0 +1 @@ +818f90854e96272fcd985925f4d421d72b9ab35af8fd4f92620836a4cbedbffb \ No newline at end of file diff --git a/security/uswds-2.11.1-zip-hash.txt b/security/uswds-2.11.1-zip-hash.txt new file mode 100644 index 0000000..35f44cc --- /dev/null +++ b/security/uswds-2.11.1-zip-hash.txt @@ -0,0 +1 @@ +50f9f331b9df4681454b0abd66d968358af28456887e3e54229c3ad2ba3548d4 \ No newline at end of file diff --git a/security/uswds-2.11.2-zip-hash.txt b/security/uswds-2.11.2-zip-hash.txt new file mode 100644 index 0000000..2836eee --- /dev/null +++ b/security/uswds-2.11.2-zip-hash.txt @@ -0,0 +1 @@ +688ddc5a0807eb202093f435b9949a5b29ebef9a7d6e7d073279d28ffd83e9a8 \ No newline at end of file diff --git a/security/uswds-2.12.0-zip-hash.txt b/security/uswds-2.12.0-zip-hash.txt new file mode 100644 index 0000000..a8975f1 --- /dev/null +++ b/security/uswds-2.12.0-zip-hash.txt @@ -0,0 +1 @@ +95be7f97ad592f68384d6cbbea87e1cd154b585207f35ca3ae2b7bdc6ffd1270 \ No newline at end of file diff --git a/security/uswds-2.12.1-zip-hash.txt b/security/uswds-2.12.1-zip-hash.txt new file mode 100644 index 0000000..ecd5faa --- /dev/null +++ b/security/uswds-2.12.1-zip-hash.txt @@ -0,0 +1 @@ +4492423dacfe6cf4f383cb2e436203c9f6b4caf302850b97bf8b6c81712312fa \ No newline at end of file diff --git a/security/uswds-2.12.2-zip-hash.txt b/security/uswds-2.12.2-zip-hash.txt new file mode 100644 index 0000000..0eefa16 --- /dev/null +++ b/security/uswds-2.12.2-zip-hash.txt @@ -0,0 +1 @@ +2c4a794c11dca65db04d6552312241ae6c397b7fd4ea5c8094698461d8d3f687 \ No newline at end of file diff --git a/security/uswds-2.13.0-zip-hash.txt b/security/uswds-2.13.0-zip-hash.txt new file mode 100644 index 0000000..8b6bb7e --- /dev/null +++ b/security/uswds-2.13.0-zip-hash.txt @@ -0,0 +1 @@ +34a951034e07288c6a23c2db3b9e54d6b5f11bec13b1484ca8a8ca8f3b013fbf \ No newline at end of file diff --git a/security/uswds-2.13.1-zip-hash.txt b/security/uswds-2.13.1-zip-hash.txt new file mode 100644 index 0000000..9b7e3a9 --- /dev/null +++ b/security/uswds-2.13.1-zip-hash.txt @@ -0,0 +1 @@ +c048e4958cbc51a5512d89e321bc7bb90aa3bec00539330042125d6b2c0a0c45 diff --git a/security/uswds-2.13.2-zip-hash.txt b/security/uswds-2.13.2-zip-hash.txt new file mode 100644 index 0000000..01b90d7 --- /dev/null +++ b/security/uswds-2.13.2-zip-hash.txt @@ -0,0 +1 @@ +c869a7b5d0ebc5b8f44645782bad39faccdb272b1e38a077586ce94e2b09c4cd \ No newline at end of file diff --git a/security/uswds-2.13.3-zip-hash.txt b/security/uswds-2.13.3-zip-hash.txt new file mode 100644 index 0000000..d79e02f --- /dev/null +++ b/security/uswds-2.13.3-zip-hash.txt @@ -0,0 +1 @@ +ee183c713841b49f13e6ca7082b81cfd4b75ceff4d8ee4d6ea2cc61241139e68 \ No newline at end of file diff --git a/security/uswds-2.14.0-beta.1-zip-hash.txt b/security/uswds-2.14.0-beta.1-zip-hash.txt new file mode 100644 index 0000000..3d5ea93 --- /dev/null +++ b/security/uswds-2.14.0-beta.1-zip-hash.txt @@ -0,0 +1 @@ +73d2dbc8241d34476fc2a40bc44e1593b61e7513586c1515b077eeed8f3099ff \ No newline at end of file diff --git a/security/uswds-2.9.0-zip-hash.txt b/security/uswds-2.9.0-zip-hash.txt new file mode 100644 index 0000000..1fb46b7 --- /dev/null +++ b/security/uswds-2.9.0-zip-hash.txt @@ -0,0 +1 @@ +4b3928e5a292ee4a2ac0b1a5106c179c4cfadd9355e56f5fb6b8e6e1954cfdb2 \ No newline at end of file diff --git a/security/uswds-3.0.0-beta.1-zip-hash.txt b/security/uswds-3.0.0-beta.1-zip-hash.txt new file mode 100644 index 0000000..c6d0850 --- /dev/null +++ b/security/uswds-3.0.0-beta.1-zip-hash.txt @@ -0,0 +1 @@ +4226f63ef09f7064bff4e169b3bda8d94f1da2ce866592302bca7b84bf91018f \ No newline at end of file diff --git a/security/uswds-3.0.0-beta.2-zip-hash.txt b/security/uswds-3.0.0-beta.2-zip-hash.txt new file mode 100644 index 0000000..15f9428 --- /dev/null +++ b/security/uswds-3.0.0-beta.2-zip-hash.txt @@ -0,0 +1 @@ +55ffc38b87c619c9b0e6cc0d6d7bbd03b3729122f1dbc60d326ae406503dd368 \ No newline at end of file diff --git a/security/uswds-3.0.0-beta.3-zip-hash.txt b/security/uswds-3.0.0-beta.3-zip-hash.txt new file mode 100644 index 0000000..efab84d --- /dev/null +++ b/security/uswds-3.0.0-beta.3-zip-hash.txt @@ -0,0 +1 @@ +c7aea4cbccae675b5a43d8d32c38538ffecc3fa5f12ddf86c117541c4ee7b403 \ No newline at end of file diff --git a/security/uswds-3.0.0-beta.4-zip-hash.txt b/security/uswds-3.0.0-beta.4-zip-hash.txt new file mode 100644 index 0000000..783d5ef --- /dev/null +++ b/security/uswds-3.0.0-beta.4-zip-hash.txt @@ -0,0 +1 @@ +c9b81584d1305165777899d6ace4ecba45589d29c78586302d789dadaf6b6847 \ No newline at end of file diff --git a/security/uswds-3.0.0-beta.5-zip-hash.txt b/security/uswds-3.0.0-beta.5-zip-hash.txt new file mode 100644 index 0000000..288d47b --- /dev/null +++ b/security/uswds-3.0.0-beta.5-zip-hash.txt @@ -0,0 +1 @@ +827982ca2b6da828aa3d49eb189e42e27d4fb705385d38ee411e09ece55bf5ac \ No newline at end of file diff --git a/security/uswds-3.0.0-zip-hash.txt b/security/uswds-3.0.0-zip-hash.txt new file mode 100644 index 0000000..c4199db --- /dev/null +++ b/security/uswds-3.0.0-zip-hash.txt @@ -0,0 +1 @@ +a98c4b4fc5974f5e335c2fc9d9a0416c236dd73e53dac62c0cc0031adfa5bb03 \ No newline at end of file diff --git a/security/uswds-3.0.1-zip-hash.txt b/security/uswds-3.0.1-zip-hash.txt new file mode 100644 index 0000000..d211fa1 --- /dev/null +++ b/security/uswds-3.0.1-zip-hash.txt @@ -0,0 +1 @@ +75bcd83f886b4a3515bec16e34229521b82a5472b231d073cc32bc086e28caf1 \ No newline at end of file diff --git a/security/uswds-3.0.2-zip-hash.txt b/security/uswds-3.0.2-zip-hash.txt new file mode 100644 index 0000000..64d773c --- /dev/null +++ b/security/uswds-3.0.2-zip-hash.txt @@ -0,0 +1 @@ +c760b8287f4fdc15652df6eb9cc8790eb1f931bac53a5141a5a3ac328980dee0 \ No newline at end of file diff --git a/security/uswds-3.1.0-zip-hash.txt b/security/uswds-3.1.0-zip-hash.txt new file mode 100644 index 0000000..2d41f7d --- /dev/null +++ b/security/uswds-3.1.0-zip-hash.txt @@ -0,0 +1 @@ +727a1883badb336f67f6f355e8fdf7ace9af871ca8af7dbb231b2e3cc7649a9b \ No newline at end of file diff --git a/security/uswds-3.10.0-zip-hash.txt b/security/uswds-3.10.0-zip-hash.txt new file mode 100644 index 0000000..d97399a --- /dev/null +++ b/security/uswds-3.10.0-zip-hash.txt @@ -0,0 +1 @@ +fdd1f9fc4cbfeb0fca7feeba1c94b205ba4ee22d03f63bb916c8750982715fb7 \ No newline at end of file diff --git a/security/uswds-3.11.0-zip-hash.txt b/security/uswds-3.11.0-zip-hash.txt new file mode 100644 index 0000000..79d76ac --- /dev/null +++ b/security/uswds-3.11.0-zip-hash.txt @@ -0,0 +1 @@ +1c10cd70a3c627fd14d9ee74a4071e67c4e5ba4bf14ca1c50c19c2fe5885e70a \ No newline at end of file diff --git a/security/uswds-3.2.0-zip-hash.txt b/security/uswds-3.2.0-zip-hash.txt new file mode 100644 index 0000000..05950f0 --- /dev/null +++ b/security/uswds-3.2.0-zip-hash.txt @@ -0,0 +1 @@ +2cf071fe6af1d337c0a2bfe3fd930ea9396dae1130b7e3a7bafbfafb98e2492f \ No newline at end of file diff --git a/security/uswds-3.3.0-zip-hash.txt b/security/uswds-3.3.0-zip-hash.txt new file mode 100644 index 0000000..1873439 --- /dev/null +++ b/security/uswds-3.3.0-zip-hash.txt @@ -0,0 +1 @@ +01994f2a02cad085a0fabb9bb2a238b94e3e03f587e241348731063b80e4308c \ No newline at end of file diff --git a/security/uswds-3.4.0-zip-hash.txt b/security/uswds-3.4.0-zip-hash.txt new file mode 100644 index 0000000..74b56f0 --- /dev/null +++ b/security/uswds-3.4.0-zip-hash.txt @@ -0,0 +1 @@ +7b0336d95fa6e9f31b27a27424f3a53e84b415e09b5bbff5d9ec8a398fb406d7 \ No newline at end of file diff --git a/security/uswds-3.4.1-zip-hash.txt b/security/uswds-3.4.1-zip-hash.txt new file mode 100644 index 0000000..772223b --- /dev/null +++ b/security/uswds-3.4.1-zip-hash.txt @@ -0,0 +1 @@ +af1cd42c60b73fbbfa9c27b8ee52fb735b1a2234c6b3aa17de5bbf8a9190ca62 \ No newline at end of file diff --git a/security/uswds-3.5.0-zip-hash.txt b/security/uswds-3.5.0-zip-hash.txt new file mode 100644 index 0000000..69d20dc --- /dev/null +++ b/security/uswds-3.5.0-zip-hash.txt @@ -0,0 +1 @@ +e0dbab25bffaaf02b3b7317690939d9e0e63bc5c824046e778de8f4c15227a9c \ No newline at end of file diff --git a/security/uswds-3.6.0-zip-hash.txt b/security/uswds-3.6.0-zip-hash.txt new file mode 100644 index 0000000..dc35bce --- /dev/null +++ b/security/uswds-3.6.0-zip-hash.txt @@ -0,0 +1 @@ +a6c303c350063a1f42baa0de8f1c860d91b06fd85f330b947209a8886f0e290a \ No newline at end of file diff --git a/security/uswds-3.6.1-zip-hash.txt b/security/uswds-3.6.1-zip-hash.txt new file mode 100644 index 0000000..e2869c0 --- /dev/null +++ b/security/uswds-3.6.1-zip-hash.txt @@ -0,0 +1 @@ +01d5885a524db30d826dff9c67cd4ac66e431ffc86f01f3a9672f096da9ac7fa \ No newline at end of file diff --git a/security/uswds-3.7.0-zip-hash.txt b/security/uswds-3.7.0-zip-hash.txt new file mode 100644 index 0000000..1646041 --- /dev/null +++ b/security/uswds-3.7.0-zip-hash.txt @@ -0,0 +1 @@ +3806aed4a1affb5dd66fda8a0ecef3c56240242117d7172647c2f1e04c7f62e0 \ No newline at end of file diff --git a/security/uswds-3.7.1-zip-hash.txt b/security/uswds-3.7.1-zip-hash.txt new file mode 100644 index 0000000..7c5094b --- /dev/null +++ b/security/uswds-3.7.1-zip-hash.txt @@ -0,0 +1 @@ +6e1d3032e1a7ac614d05fe76c87cc398725d84e5ba0656a7a17c6ca4c7579526 \ No newline at end of file diff --git a/security/uswds-3.8.0-zip-hash.txt b/security/uswds-3.8.0-zip-hash.txt new file mode 100644 index 0000000..31dfcd4 --- /dev/null +++ b/security/uswds-3.8.0-zip-hash.txt @@ -0,0 +1 @@ +072f0f8333b1aa000183e00676616d9ff5a174e27ca8d35c130ca70ea5d4f66d \ No newline at end of file diff --git a/security/uswds-3.8.1-zip-hash.txt b/security/uswds-3.8.1-zip-hash.txt new file mode 100644 index 0000000..a0bb81e --- /dev/null +++ b/security/uswds-3.8.1-zip-hash.txt @@ -0,0 +1 @@ +a86fa133b842ce28d1eed2226216c478debf31bf6c16ffcd96fecf061fdf4583 \ No newline at end of file diff --git a/security/uswds-3.8.2-zip-hash.txt b/security/uswds-3.8.2-zip-hash.txt new file mode 100644 index 0000000..90a5103 --- /dev/null +++ b/security/uswds-3.8.2-zip-hash.txt @@ -0,0 +1 @@ +94049e150c2a67dfdb75f140fc664d2e936ef652480a2f88dfdd96922e0a940c \ No newline at end of file diff --git a/security/uswds-3.9.0-zip-hash.txt b/security/uswds-3.9.0-zip-hash.txt new file mode 100644 index 0000000..2004b8e --- /dev/null +++ b/security/uswds-3.9.0-zip-hash.txt @@ -0,0 +1 @@ +140cb2162e6c60a6a6ecbc71d8d047819d4ec26f9dd6c7056bd4bd8a266af2ab \ No newline at end of file diff --git a/src/stylesheets/packages/_usa-accordion.scss b/src/stylesheets/packages/_usa-accordion.scss new file mode 100644 index 0000000..9810b21 --- /dev/null +++ b/src/stylesheets/packages/_usa-accordion.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-accordion"; diff --git a/src/stylesheets/packages/_usa-alert.scss b/src/stylesheets/packages/_usa-alert.scss new file mode 100644 index 0000000..63bd888 --- /dev/null +++ b/src/stylesheets/packages/_usa-alert.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-alert"; diff --git a/src/stylesheets/packages/_usa-banner.scss b/src/stylesheets/packages/_usa-banner.scss new file mode 100644 index 0000000..64c9afa --- /dev/null +++ b/src/stylesheets/packages/_usa-banner.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-banner"; diff --git a/src/stylesheets/packages/_usa-breadcrumb.scss b/src/stylesheets/packages/_usa-breadcrumb.scss new file mode 100644 index 0000000..f4d44d7 --- /dev/null +++ b/src/stylesheets/packages/_usa-breadcrumb.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-breadcrumb"; diff --git a/src/stylesheets/packages/_usa-button-group.scss b/src/stylesheets/packages/_usa-button-group.scss new file mode 100644 index 0000000..e9f0eea --- /dev/null +++ b/src/stylesheets/packages/_usa-button-group.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-button-group"; diff --git a/src/stylesheets/packages/_usa-button.scss b/src/stylesheets/packages/_usa-button.scss new file mode 100644 index 0000000..2203e09 --- /dev/null +++ b/src/stylesheets/packages/_usa-button.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-button"; diff --git a/src/stylesheets/packages/_usa-card.scss b/src/stylesheets/packages/_usa-card.scss new file mode 100644 index 0000000..9127d45 --- /dev/null +++ b/src/stylesheets/packages/_usa-card.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-card"; diff --git a/src/stylesheets/packages/_usa-character-count.scss b/src/stylesheets/packages/_usa-character-count.scss new file mode 100644 index 0000000..d9d0dcc --- /dev/null +++ b/src/stylesheets/packages/_usa-character-count.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-character-count"; diff --git a/src/stylesheets/packages/_usa-checkbox.scss b/src/stylesheets/packages/_usa-checkbox.scss new file mode 100644 index 0000000..9458682 --- /dev/null +++ b/src/stylesheets/packages/_usa-checkbox.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-checkbox"; diff --git a/src/stylesheets/packages/_usa-checklist.scss b/src/stylesheets/packages/_usa-checklist.scss new file mode 100644 index 0000000..18e1088 --- /dev/null +++ b/src/stylesheets/packages/_usa-checklist.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-checklist"; diff --git a/src/stylesheets/packages/_usa-collection.scss b/src/stylesheets/packages/_usa-collection.scss new file mode 100644 index 0000000..1017115 --- /dev/null +++ b/src/stylesheets/packages/_usa-collection.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-collection"; diff --git a/src/stylesheets/packages/_usa-combo-box.scss b/src/stylesheets/packages/_usa-combo-box.scss new file mode 100644 index 0000000..ff2cadc --- /dev/null +++ b/src/stylesheets/packages/_usa-combo-box.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-combo-box"; diff --git a/src/stylesheets/packages/_usa-content.scss b/src/stylesheets/packages/_usa-content.scss new file mode 100644 index 0000000..cc82940 --- /dev/null +++ b/src/stylesheets/packages/_usa-content.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-content"; diff --git a/src/stylesheets/packages/_usa-dark-background.scss b/src/stylesheets/packages/_usa-dark-background.scss new file mode 100644 index 0000000..7de5f31 --- /dev/null +++ b/src/stylesheets/packages/_usa-dark-background.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-dark-background"; diff --git a/src/stylesheets/packages/_usa-date-picker.scss b/src/stylesheets/packages/_usa-date-picker.scss new file mode 100644 index 0000000..21e13de --- /dev/null +++ b/src/stylesheets/packages/_usa-date-picker.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-date-picker"; diff --git a/src/stylesheets/packages/_usa-display.scss b/src/stylesheets/packages/_usa-display.scss new file mode 100644 index 0000000..32edc3b --- /dev/null +++ b/src/stylesheets/packages/_usa-display.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-display"; diff --git a/src/stylesheets/packages/_usa-embed-container.scss b/src/stylesheets/packages/_usa-embed-container.scss new file mode 100644 index 0000000..2c6d9c0 --- /dev/null +++ b/src/stylesheets/packages/_usa-embed-container.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-embed-container"; diff --git a/src/stylesheets/packages/_usa-error-message.scss b/src/stylesheets/packages/_usa-error-message.scss new file mode 100644 index 0000000..374224d --- /dev/null +++ b/src/stylesheets/packages/_usa-error-message.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-error-message"; diff --git a/src/stylesheets/packages/_usa-fieldset.scss b/src/stylesheets/packages/_usa-fieldset.scss new file mode 100644 index 0000000..02eaf72 --- /dev/null +++ b/src/stylesheets/packages/_usa-fieldset.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-fieldset"; diff --git a/src/stylesheets/packages/_usa-file-input.scss b/src/stylesheets/packages/_usa-file-input.scss new file mode 100644 index 0000000..f0f9a90 --- /dev/null +++ b/src/stylesheets/packages/_usa-file-input.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-file-input"; diff --git a/src/stylesheets/packages/_usa-footer.scss b/src/stylesheets/packages/_usa-footer.scss new file mode 100644 index 0000000..a54822a --- /dev/null +++ b/src/stylesheets/packages/_usa-footer.scss @@ -0,0 +1,4 @@ +// dependencies + +// component +@forward "usa-footer"; diff --git a/src/stylesheets/packages/_usa-form-group.scss b/src/stylesheets/packages/_usa-form-group.scss new file mode 100644 index 0000000..89583a8 --- /dev/null +++ b/src/stylesheets/packages/_usa-form-group.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-form-group"; diff --git a/src/stylesheets/packages/_usa-form.scss b/src/stylesheets/packages/_usa-form.scss new file mode 100644 index 0000000..a871504 --- /dev/null +++ b/src/stylesheets/packages/_usa-form.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-form"; diff --git a/src/stylesheets/packages/_usa-graphic-list.scss b/src/stylesheets/packages/_usa-graphic-list.scss new file mode 100644 index 0000000..27fc737 --- /dev/null +++ b/src/stylesheets/packages/_usa-graphic-list.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-graphic-list"; diff --git a/src/stylesheets/packages/_usa-header.scss b/src/stylesheets/packages/_usa-header.scss new file mode 100644 index 0000000..816d0c4 --- /dev/null +++ b/src/stylesheets/packages/_usa-header.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-header"; diff --git a/src/stylesheets/packages/_usa-hero.scss b/src/stylesheets/packages/_usa-hero.scss new file mode 100644 index 0000000..5e74a1e --- /dev/null +++ b/src/stylesheets/packages/_usa-hero.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-hero"; diff --git a/src/stylesheets/packages/_usa-hint.scss b/src/stylesheets/packages/_usa-hint.scss new file mode 100644 index 0000000..b66f05e --- /dev/null +++ b/src/stylesheets/packages/_usa-hint.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-hint"; diff --git a/src/stylesheets/packages/_usa-icon-list.scss b/src/stylesheets/packages/_usa-icon-list.scss new file mode 100644 index 0000000..57c4cec --- /dev/null +++ b/src/stylesheets/packages/_usa-icon-list.scss @@ -0,0 +1,5 @@ +// dependencies +@forward "usa-icon"; + +// src +@forward "usa-icon-list"; diff --git a/src/stylesheets/packages/_usa-icon.scss b/src/stylesheets/packages/_usa-icon.scss new file mode 100644 index 0000000..eb1a978 --- /dev/null +++ b/src/stylesheets/packages/_usa-icon.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-icon"; diff --git a/src/stylesheets/packages/_usa-identifier.scss b/src/stylesheets/packages/_usa-identifier.scss new file mode 100644 index 0000000..bebe02c --- /dev/null +++ b/src/stylesheets/packages/_usa-identifier.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-identifier"; diff --git a/src/stylesheets/packages/_usa-input-prefix-suffix.scss b/src/stylesheets/packages/_usa-input-prefix-suffix.scss new file mode 100644 index 0000000..d049012 --- /dev/null +++ b/src/stylesheets/packages/_usa-input-prefix-suffix.scss @@ -0,0 +1,5 @@ +// dependencies +@forward "usa-input"; + +// src +@forward "usa-input-prefix-suffix"; diff --git a/src/stylesheets/packages/_usa-input.scss b/src/stylesheets/packages/_usa-input.scss new file mode 100644 index 0000000..2fc4196 --- /dev/null +++ b/src/stylesheets/packages/_usa-input.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-input"; diff --git a/src/stylesheets/packages/_usa-intro.scss b/src/stylesheets/packages/_usa-intro.scss new file mode 100644 index 0000000..c271ddd --- /dev/null +++ b/src/stylesheets/packages/_usa-intro.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-intro"; diff --git a/src/stylesheets/packages/_usa-label.scss b/src/stylesheets/packages/_usa-label.scss new file mode 100644 index 0000000..17b8288 --- /dev/null +++ b/src/stylesheets/packages/_usa-label.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-label"; diff --git a/src/stylesheets/packages/_usa-layout-docs.scss b/src/stylesheets/packages/_usa-layout-docs.scss new file mode 100644 index 0000000..9cf7ebe --- /dev/null +++ b/src/stylesheets/packages/_usa-layout-docs.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-layout-docs"; diff --git a/src/stylesheets/packages/_usa-layout-grid.scss b/src/stylesheets/packages/_usa-layout-grid.scss new file mode 100644 index 0000000..cabed8e --- /dev/null +++ b/src/stylesheets/packages/_usa-layout-grid.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-layout-grid"; diff --git a/src/stylesheets/packages/_usa-legend.scss b/src/stylesheets/packages/_usa-legend.scss new file mode 100644 index 0000000..3fa9ffb --- /dev/null +++ b/src/stylesheets/packages/_usa-legend.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-legend"; diff --git a/src/stylesheets/packages/_usa-link.scss b/src/stylesheets/packages/_usa-link.scss new file mode 100644 index 0000000..c7c8cdf --- /dev/null +++ b/src/stylesheets/packages/_usa-link.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-link"; diff --git a/src/stylesheets/packages/_usa-list.scss b/src/stylesheets/packages/_usa-list.scss new file mode 100644 index 0000000..8e1bc99 --- /dev/null +++ b/src/stylesheets/packages/_usa-list.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-list"; diff --git a/src/stylesheets/packages/_usa-media-block.scss b/src/stylesheets/packages/_usa-media-block.scss new file mode 100644 index 0000000..6f01cea --- /dev/null +++ b/src/stylesheets/packages/_usa-media-block.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-media-block"; diff --git a/src/stylesheets/packages/_usa-megamenu.scss b/src/stylesheets/packages/_usa-megamenu.scss new file mode 100644 index 0000000..816d0c4 --- /dev/null +++ b/src/stylesheets/packages/_usa-megamenu.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-header"; diff --git a/src/stylesheets/packages/_usa-memorable-date.scss b/src/stylesheets/packages/_usa-memorable-date.scss new file mode 100644 index 0000000..0ae0bd1 --- /dev/null +++ b/src/stylesheets/packages/_usa-memorable-date.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-memorable-date"; diff --git a/src/stylesheets/packages/_usa-modal.scss b/src/stylesheets/packages/_usa-modal.scss new file mode 100644 index 0000000..294de2e --- /dev/null +++ b/src/stylesheets/packages/_usa-modal.scss @@ -0,0 +1,5 @@ +// dependencies +@forward "usa-button"; + +// src +@forward "usa-modal"; diff --git a/src/stylesheets/packages/_usa-nav-container.scss b/src/stylesheets/packages/_usa-nav-container.scss new file mode 100644 index 0000000..816d0c4 --- /dev/null +++ b/src/stylesheets/packages/_usa-nav-container.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-header"; diff --git a/src/stylesheets/packages/_usa-nav.scss b/src/stylesheets/packages/_usa-nav.scss new file mode 100644 index 0000000..c34bb59 --- /dev/null +++ b/src/stylesheets/packages/_usa-nav.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-nav"; diff --git a/src/stylesheets/packages/_usa-navbar.scss b/src/stylesheets/packages/_usa-navbar.scss new file mode 100644 index 0000000..816d0c4 --- /dev/null +++ b/src/stylesheets/packages/_usa-navbar.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-header"; diff --git a/src/stylesheets/packages/_usa-pagination.scss b/src/stylesheets/packages/_usa-pagination.scss new file mode 100644 index 0000000..f400213 --- /dev/null +++ b/src/stylesheets/packages/_usa-pagination.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-pagination"; diff --git a/src/stylesheets/packages/_usa-paragraph.scss b/src/stylesheets/packages/_usa-paragraph.scss new file mode 100644 index 0000000..b9c5fb9 --- /dev/null +++ b/src/stylesheets/packages/_usa-paragraph.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-paragraph"; diff --git a/src/stylesheets/packages/_usa-process-list.scss b/src/stylesheets/packages/_usa-process-list.scss new file mode 100644 index 0000000..f9b1cdb --- /dev/null +++ b/src/stylesheets/packages/_usa-process-list.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-process-list"; diff --git a/src/stylesheets/packages/_usa-prose.scss b/src/stylesheets/packages/_usa-prose.scss new file mode 100644 index 0000000..451c467 --- /dev/null +++ b/src/stylesheets/packages/_usa-prose.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-prose"; diff --git a/src/stylesheets/packages/_usa-radio.scss b/src/stylesheets/packages/_usa-radio.scss new file mode 100644 index 0000000..1bbbe18 --- /dev/null +++ b/src/stylesheets/packages/_usa-radio.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-radio"; diff --git a/src/stylesheets/packages/_usa-range.scss b/src/stylesheets/packages/_usa-range.scss new file mode 100644 index 0000000..7cd9bea --- /dev/null +++ b/src/stylesheets/packages/_usa-range.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-range"; diff --git a/src/stylesheets/packages/_usa-search.scss b/src/stylesheets/packages/_usa-search.scss new file mode 100644 index 0000000..aaee062 --- /dev/null +++ b/src/stylesheets/packages/_usa-search.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-search"; diff --git a/src/stylesheets/packages/_usa-section.scss b/src/stylesheets/packages/_usa-section.scss new file mode 100644 index 0000000..c429d15 --- /dev/null +++ b/src/stylesheets/packages/_usa-section.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-section"; diff --git a/src/stylesheets/packages/_usa-select.scss b/src/stylesheets/packages/_usa-select.scss new file mode 100644 index 0000000..cc13e6d --- /dev/null +++ b/src/stylesheets/packages/_usa-select.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-select"; diff --git a/src/stylesheets/packages/_usa-sidenav.scss b/src/stylesheets/packages/_usa-sidenav.scss new file mode 100644 index 0000000..1934ec4 --- /dev/null +++ b/src/stylesheets/packages/_usa-sidenav.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-sidenav"; diff --git a/src/stylesheets/packages/_usa-site-alert.scss b/src/stylesheets/packages/_usa-site-alert.scss new file mode 100644 index 0000000..a37cd86 --- /dev/null +++ b/src/stylesheets/packages/_usa-site-alert.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-site-alert"; diff --git a/src/stylesheets/packages/_usa-skipnav.scss b/src/stylesheets/packages/_usa-skipnav.scss new file mode 100644 index 0000000..de1fbcc --- /dev/null +++ b/src/stylesheets/packages/_usa-skipnav.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-skipnav"; diff --git a/src/stylesheets/packages/_usa-step-indicator.scss b/src/stylesheets/packages/_usa-step-indicator.scss new file mode 100644 index 0000000..8eaeff2 --- /dev/null +++ b/src/stylesheets/packages/_usa-step-indicator.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-step-indicator"; diff --git a/src/stylesheets/packages/_usa-summary-box.scss b/src/stylesheets/packages/_usa-summary-box.scss new file mode 100644 index 0000000..b14cfd6 --- /dev/null +++ b/src/stylesheets/packages/_usa-summary-box.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-summary-box"; diff --git a/src/stylesheets/packages/_usa-table.scss b/src/stylesheets/packages/_usa-table.scss new file mode 100644 index 0000000..942848f --- /dev/null +++ b/src/stylesheets/packages/_usa-table.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-table"; diff --git a/src/stylesheets/packages/_usa-tag.scss b/src/stylesheets/packages/_usa-tag.scss new file mode 100644 index 0000000..a337f3a --- /dev/null +++ b/src/stylesheets/packages/_usa-tag.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-tag"; diff --git a/src/stylesheets/packages/_usa-textarea.scss b/src/stylesheets/packages/_usa-textarea.scss new file mode 100644 index 0000000..b97d033 --- /dev/null +++ b/src/stylesheets/packages/_usa-textarea.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-textarea"; diff --git a/src/stylesheets/packages/_usa-time-picker.scss b/src/stylesheets/packages/_usa-time-picker.scss new file mode 100644 index 0000000..2dd74b0 --- /dev/null +++ b/src/stylesheets/packages/_usa-time-picker.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-time-picker"; diff --git a/src/stylesheets/packages/_usa-tooltip.scss b/src/stylesheets/packages/_usa-tooltip.scss new file mode 100644 index 0000000..69bc0c5 --- /dev/null +++ b/src/stylesheets/packages/_usa-tooltip.scss @@ -0,0 +1,4 @@ +// dependencies + +// src +@forward "usa-tooltip"; diff --git a/src/stylesheets/packages/_uswds-components.scss b/src/stylesheets/packages/_uswds-components.scss new file mode 100644 index 0000000..6359489 --- /dev/null +++ b/src/stylesheets/packages/_uswds-components.scss @@ -0,0 +1,45 @@ +// Components +// ------------------------------------- +@forward "uswds-typography"; +@forward "usa-accordion"; +@forward "usa-alert"; +@forward "usa-banner"; +@forward "usa-breadcrumb"; +@forward "usa-button-group"; +@forward "usa-button"; +@forward "usa-card"; +@forward "usa-checklist"; +@forward "usa-collection"; +@forward "usa-embed-container"; +@forward "usa-footer"; +@forward "usa-form"; +@forward "usa-graphic-list"; +@forward "usa-header"; +@forward "usa-hero"; +@forward "usa-icon-list"; +@forward "usa-icon"; +@forward "usa-identifier"; +@forward "usa-in-page-navigation"; +@forward "usa-input-mask"; +@forward "usa-language-selector"; +@forward "usa-layout-docs"; +@forward "usa-layout-grid"; +@forward "usa-media-block"; +@forward "usa-megamenu"; +@forward "usa-modal"; +@forward "usa-nav-container"; +@forward "usa-nav"; +@forward "usa-navbar"; +@forward "usa-pagination"; +@forward "usa-process-list"; +@forward "usa-search"; +@forward "usa-section"; +@forward "usa-sidenav"; +@forward "usa-site-alert"; +@forward "usa-skipnav"; +@forward "usa-step-indicator"; +@forward "usa-summary-box"; +@forward "usa-table"; +@forward "usa-tag"; +@forward "usa-tooltip"; +@forward "uswds-form-controls"; diff --git a/src/stylesheets/packages/_uswds-core.scss b/src/stylesheets/packages/_uswds-core.scss new file mode 100644 index 0000000..314c357 --- /dev/null +++ b/src/stylesheets/packages/_uswds-core.scss @@ -0,0 +1,3 @@ +// Core +// ------------------------------------- +@forward "uswds-core"; diff --git a/src/stylesheets/packages/_uswds-elements.scss b/src/stylesheets/packages/_uswds-elements.scss new file mode 100644 index 0000000..9f6a512 --- /dev/null +++ b/src/stylesheets/packages/_uswds-elements.scss @@ -0,0 +1 @@ +@forward "uswds-elements"; diff --git a/src/stylesheets/packages/_uswds-fonts.scss b/src/stylesheets/packages/_uswds-fonts.scss new file mode 100644 index 0000000..56ee4cc --- /dev/null +++ b/src/stylesheets/packages/_uswds-fonts.scss @@ -0,0 +1,3 @@ +// Fonts +// ------------------------------------- +@forward "uswds-fonts/src/styles/font-face"; diff --git a/src/stylesheets/packages/_uswds-form-controls.scss b/src/stylesheets/packages/_uswds-form-controls.scss new file mode 100644 index 0000000..92aca3c --- /dev/null +++ b/src/stylesheets/packages/_uswds-form-controls.scss @@ -0,0 +1,23 @@ +// Form controls +// ------------------------------------- +@forward "usa-character-count"; +@forward "usa-checkbox"; +@forward "usa-combo-box"; +@forward "usa-date-picker"; +@forward "usa-error-message"; +@forward "usa-fieldset"; +@forward "usa-file-input"; +@forward "usa-form-group"; +@forward "usa-form"; +@forward "usa-hint"; +@forward "usa-input-prefix-suffix"; +@forward "usa-input"; +@forward "usa-input-mask"; +@forward "usa-label"; +@forward "usa-legend"; +@forward "usa-memorable-date"; +@forward "usa-radio"; +@forward "usa-range"; +@forward "usa-select"; +@forward "usa-textarea"; +@forward "usa-time-picker"; diff --git a/src/stylesheets/packages/_uswds-form-templates.scss b/src/stylesheets/packages/_uswds-form-templates.scss new file mode 100644 index 0000000..ea205a7 --- /dev/null +++ b/src/stylesheets/packages/_uswds-form-templates.scss @@ -0,0 +1,8 @@ +// Form templates +// ------------------------------------- +@forward "usa-layout-grid"; +@forward "uswds-form-controls"; +@forward "uswds-validation"; +@forward "usa-alert"; +@forward "usa-button"; +@forward "usa-form"; diff --git a/src/stylesheets/packages/_uswds-global.scss b/src/stylesheets/packages/_uswds-global.scss new file mode 100644 index 0000000..05100aa --- /dev/null +++ b/src/stylesheets/packages/_uswds-global.scss @@ -0,0 +1,6 @@ +// Global +// ------------------------------------- +@forward "uswds-elements/lib/normalize"; +@forward "uswds-core"; +@forward "uswds-elements"; +@forward "uswds-helpers"; diff --git a/src/stylesheets/packages/_uswds-helpers.scss b/src/stylesheets/packages/_uswds-helpers.scss new file mode 100644 index 0000000..16fd2c3 --- /dev/null +++ b/src/stylesheets/packages/_uswds-helpers.scss @@ -0,0 +1,3 @@ +// Helpers +// ------------------------------------- +@forward "uswds-helpers"; diff --git a/src/stylesheets/packages/_uswds-typography.scss b/src/stylesheets/packages/_uswds-typography.scss new file mode 100644 index 0000000..4298617 --- /dev/null +++ b/src/stylesheets/packages/_uswds-typography.scss @@ -0,0 +1,10 @@ +// Typography +// ------------------------------------- +@forward "usa-content"; +@forward "usa-dark-background"; +@forward "usa-display"; +@forward "usa-intro"; +@forward "usa-link"; +@forward "usa-list"; +@forward "usa-paragraph"; +@forward "usa-prose"; diff --git a/src/stylesheets/packages/_uswds-utilities.scss b/src/stylesheets/packages/_uswds-utilities.scss new file mode 100644 index 0000000..f5c4e03 --- /dev/null +++ b/src/stylesheets/packages/_uswds-utilities.scss @@ -0,0 +1,9 @@ +// Utilities +// ------------------------------------- + +// Src +@forward "uswds-utilities/src/styles/utility-fonts"; +@use "uswds-utilities/src/styles/rules/package" as *; +@use "uswds-core/src/styles/mixins/utility-builder" as *; + +@include render-utilities-in($utilities-package); diff --git a/src/stylesheets/packages/_uswds-validation.scss b/src/stylesheets/packages/_uswds-validation.scss new file mode 100644 index 0000000..3bb61c0 --- /dev/null +++ b/src/stylesheets/packages/_uswds-validation.scss @@ -0,0 +1,7 @@ +// Validation +// ------------------------------------- +@forward "uswds-form-controls"; +@forward "usa-checklist"; +@forward "usa-alert"; +@forward "usa-button"; +@forward "usa-form"; diff --git a/src/stylesheets/uswds.scss b/src/stylesheets/uswds.scss new file mode 100644 index 0000000..f73af52 --- /dev/null +++ b/src/stylesheets/uswds.scss @@ -0,0 +1 @@ +@forward "../../packages/uswds"; diff --git a/src/test/build.spec.js b/src/test/build.spec.js new file mode 100644 index 0000000..fa70f70 --- /dev/null +++ b/src/test/build.spec.js @@ -0,0 +1,59 @@ +const assert = require("assert"); +const fs = require("fs"); +const path = require("path"); +const pkg = require("../../package.json"); +const { runGulp, distCssPath } = require("../../packages/uswds-core/src/js/utils/test/util"); + +before(() => { + setTimeout(() => runGulp("sass"), 20000); +}); + +describe("build output", () => { + it("generates CSS at dist/css/uswds.css", () => { + const distFilename = path.join(distCssPath, "uswds.css"); + assert.ok( + fs.existsSync(distFilename), + `the file does not exist: ${distFilename}` + ); + }); + + it("generates minified CSS at dist/css/uswds.min.css", () => { + const distFilename = path.join(distCssPath, "uswds.min.css"); + assert.ok( + fs.existsSync(distFilename), + `the file does not exist: ${distFilename}` + ); + }); +}); + +describe("version output", () => { + const versionString = `/*! uswds v${pkg.version} */`; + + /* eslint-disable */ + const checkVersion = (filename, done) => + new Promise((resolve, reject) => { + fs.readFile(filename, (error, buffer) => { + if (error) { + return reject(error); + } + + const css = buffer.toString(); + assert.ok( + css.indexOf(versionString) > -1, + `CSS does not include version string: "${css.substr(0, 24)}"...` + ); + resolve(); + }); + }); + /* eslint-enable */ + + it("includes the current version text in uswds.css", () => { + const distFilename = path.join(distCssPath, "uswds.css"); + return checkVersion(distFilename); + }); + + it("includes the current version text in uswds.min.css", () => { + const distFilename = path.join(distCssPath, "uswds.min.css"); + return checkVersion(distFilename); + }); +}); diff --git a/src/test/include.spec.js b/src/test/include.spec.js new file mode 100644 index 0000000..08a3872 --- /dev/null +++ b/src/test/include.spec.js @@ -0,0 +1,31 @@ +require("sass-embedded"); +const path = require("path"); +const { + runGulp, + distScssPath, + render, +} = require("../../packages/uswds-core/src/js/utils/test/util"); + +const includePath = path.resolve(path.join(__dirname, "../")); + +describe("include paths", () => { + it('can be loaded with @import "uswds"', async () => { + setTimeout(() => { + render('@import "uswds";', [includePath]); + }, 20000); + }); +}); + +describe("standalone dist scss", () => { + before(() => { + setTimeout(() => { + runGulp("copy-dist-sass"); + }, 20000); + }); + + it('can be loaded with @import "uswds"', () => { + setTimeout(() => { + render('@import "uswds";', [distScssPath]); + }, 20000); + }); +}); diff --git a/svgo.config.js b/svgo.config.js new file mode 100644 index 0000000..7a28995 --- /dev/null +++ b/svgo.config.js @@ -0,0 +1,12 @@ +module.exports = { + plugins: [ + { + name: 'preset-default', + params: { + overrides: { + removeViewBox: false, + }, + }, + } + ] +} \ No newline at end of file diff --git a/tasks/build.js b/tasks/build.js new file mode 100644 index 0000000..d2da1a2 --- /dev/null +++ b/tasks/build.js @@ -0,0 +1,29 @@ +const { series, parallel } = require("gulp"); +const dutil = require("./utils/doc-util"); +const { buildSprite } = require("./svg-sprite"); +const { compileSass } = require("./sass"); +const { compileJS } = require("./javascript"); +const { copyTheme, copyFonts, copyIcons, copyImages, copySass } = require("./copy"); +const { cleanDist } = require("./clean"); + +/** + * Generates the dist directory that gets zipped on release. + . + ├── * Delete `dist/` directory + ├── * Create SVG spritesheet + ├── * Copy markdown docs + ├── * Compile sass and js + └── * Copy sass, images, and fonts to `dist/` + */ +exports.build = series( + (done) => { + dutil.logIntroduction(); + dutil.logMessage("build", "Creating distribution directories."); + done(); + }, + cleanDist, + parallel(copyTheme, copyImages, copyFonts, copyIcons, copySass), + buildSprite, + compileJS, + compileSass +); diff --git a/tasks/clean.js b/tasks/clean.js new file mode 100644 index 0000000..b8bde89 --- /dev/null +++ b/tasks/clean.js @@ -0,0 +1,22 @@ +/** + * Clean tasks - Clean compiled dist directories. + */ + +// Include Our Plugins +const del = require('del'); +const cFlags = require("./utils/cflags"); +const dutil = require("./utils/doc-util"); + +// Clean generated Dist directory. +exports.cleanDist = done => { + if (!cFlags.cleanup) { + dutil.logMessage( + "clean-dist", + "Skipping cleaning up the distribution directories." + ); + return done(); + } + dutil.logMessage("clean-dist", "Removing distribution directories."); + + return del("dist"); +}; diff --git a/tasks/copy.js b/tasks/copy.js new file mode 100644 index 0000000..c8bff7b --- /dev/null +++ b/tasks/copy.js @@ -0,0 +1,50 @@ +const { src, dest } = require("gulp"); +const rename = require("gulp-rename"); +const dutil = require("./utils/doc-util"); + +module.exports = { + // Copy theme settings files to /dist directory + copyTheme() { + dutil.logMessage( + "copyTheme", + "Copying theme settings files to /dist/theme" + ); + return src("packages/uswds-core/src/theme/*.scss").pipe(dest("dist/theme")); + }, + + // Copy Sass stylesheets to /dist directory + // TODO: Do we want to copy to the scss any more? + copySass() { + dutil.logMessage("copySass", "Copying Sass stylesheets to /dist/scss"); + return src("src/**/**/*.scss").pipe(dest("dist/scss")); + }, + + // Copy material icons to /dist/img/material-icons + copyIcons() { + dutil.logMessage("copyIcons", "Copying Material icons to dist/img/material-icons"); + return src(["node_modules/@material-design-icons/svg/filled/*"]) + .pipe(dest("dist/img/material-icons")); + }, + + // Copy images to /dist directory + copyImages() { + dutil.logMessage("copyImages", "Copying images to /dist/img"); + return src(["packages/**/src/img/**/[!_]*.{png,jpg,gif,webp,svg,ico}"]) + .pipe( + // use only the part of the path specific to the package img dir + rename((path) => { + path.dirname = path.dirname.replace(/[a-z-]+?\/src\/img/i, ""); + return path; + }) + ) + .pipe(dest("dist/img")); + }, + + // Copy fonts to /dist directory + copyFonts() { + dutil.logMessage("copyFonts", "Copying fonts to /dist/fonts"); + return src("packages/uswds-core/src/assets/fonts/**/*").pipe( + dest("dist/fonts") + ); + }, +}; diff --git a/tasks/flags.js b/tasks/flags.js new file mode 100644 index 0000000..e4e1062 --- /dev/null +++ b/tasks/flags.js @@ -0,0 +1,19 @@ +const dutil = require("./utils/doc-util"); +const cFlags = require("./utils/cflags"); + +module.exports = { + noTest(done) { + dutil.logMessage("no-test", "Disabling linting and tests for all assets."); + cFlags.test = false; + done(); + }, + + noCleanup(done) { + dutil.logMessage( + "no-cleanup", + "Disabling cleanup of distribution directories." + ); + cFlags.cleanup = false; + done(); + } +} diff --git a/tasks/javascript.js b/tasks/javascript.js new file mode 100644 index 0000000..a69acb1 --- /dev/null +++ b/tasks/javascript.js @@ -0,0 +1,67 @@ +/* eslint-disable arrow-body-style */ + +const { dest, src } = require("gulp"); +const buffer = require("vinyl-buffer"); +const browserify = require("browserify"); +const childProcess = require("child_process"); +const rename = require("gulp-rename"); +const source = require("vinyl-source-stream"); +const sourcemaps = require("gulp-sourcemaps"); +const uglify = require("gulp-uglify"); +const merge = require("merge-stream"); +const dutil = require("./utils/doc-util"); + +module.exports = { + compileJS() { + dutil.logMessage("javascript", "Compiling JavaScript"); + let packageName = dutil.pkg.name.replace("@uswds/", ""); + const streams = Object.entries({ + [packageName]: browserify({ + entries: ["packages/uswds-core/src/js/start.js"], + debug: true, + }) + .transform("babelify", { + global: true, + presets: ["@babel/preset-env"], + }) + .bundle() + .pipe(source(`${packageName}.js`)) + .pipe(buffer()), + "uswds-init": src("packages/uswds-core/src/js/uswds-init.js"), + }).map(([basename, stream]) => + stream + .pipe(rename({ basename })) + .pipe(dest("dist/js")) + .pipe(sourcemaps.init({ loadMaps: true })) + .on("error", function handleError(error) { + dutil.logError(error); + this.emit('end'); + }) + .pipe(uglify()) + .pipe( + rename({ + suffix: ".min", + }) + ) + .pipe(sourcemaps.write(".")) + .pipe(dest("dist/js")) + ); + + return merge(streams); + }, + typeCheck() { + return new Promise((resolve, reject) => { + childProcess + .spawn("./node_modules/.bin/tsc", { stdio: "inherit" }) + .on("error", reject) + .on("exit", (code) => { + if (code === 0) { + dutil.logMessage("typecheck", "TypeScript likes our code!"); + resolve(); + } else { + reject(new Error("TypeScript failed, see output for details!")); + } + }); + }); + }, +}; diff --git a/tasks/lint.js b/tasks/lint.js new file mode 100644 index 0000000..1334aab --- /dev/null +++ b/tasks/lint.js @@ -0,0 +1,58 @@ +const { formatters } = require("stylelint"); +const childProcess = require("child_process"); +const stylelint = require("stylelint"); +const dutil = require("./utils/doc-util"); + +const IGNORE_STRING = "This file is ignored"; +const PROJECT_SASS_SRC = "./packages"; + +function ignoreStylelintIgnoreWarnings(lintResults) { + return formatters.string( + lintResults.reduce((memo, result) => { + const { warnings } = result; + const fileIsIgnored = warnings.some((warning) => + RegExp(IGNORE_STRING, "i").test(warning.text) + ); + + if (!fileIsIgnored) { + memo.push(result); + } + + return memo; + }, []) + ); +} + +function typecheck() { + return new Promise((resolve, reject) => { + childProcess + .spawn("./node_modules/.bin/tsc", { stdio: "inherit" }) + .on("error", reject) + .on("exit", (code) => { + if (code === 0) { + dutil.logMessage("typecheck", "TypeScript likes our code!"); + resolve(); + } else { + reject(new Error("TypeScript failed, see output for details!")); + } + }); + }); +}; + +async function lintSass(callback) { + const { errored, report } = await stylelint.lint({ + files: [ + `${PROJECT_SASS_SRC}/**/*.scss`, + `!${PROJECT_SASS_SRC}/uswds/**/*.scss`, + `!${PROJECT_SASS_SRC}/uswds-elements/lib/**/*.scss`, + ], + formatter: "string", + }); + + callback(errored ? new Error(report) : null); +} + +module.exports = { + lintSass, + typecheck +}; diff --git a/tasks/release.js b/tasks/release.js new file mode 100644 index 0000000..b182f43 --- /dev/null +++ b/tasks/release.js @@ -0,0 +1,66 @@ +const spawn = require("cross-spawn"); +const { series } = require("gulp"); +const crypto = require("crypto"); +const fs = require("fs"); +const dutil = require("./utils/doc-util"); +const { build } = require("./build"); + +const hash = crypto.createHash("sha256"); + +const version = dutil.dirName.replace("@uswds/", ""); + +// Create a hash from the compiled tgz users can compare and verify +// their download is authentic. +function createHash(file) { + dutil.logMessage("createHash", "Generating sha256sum hash from ZIP file."); + + const fileBuffer = fs.readFileSync(file); + hash.update(fileBuffer); + const dir = "./security"; + const hex = hash.digest("hex"); + const fileName = `${dir}/${version}-zip-hash.txt`; + + if (!fs.existsSync(dir)) { + fs.mkdirSync(dir); + } + + fs.writeFile(fileName, hex, (error) => { + if (error) { + return dutil.logError(`Error writing hash: ${error}`); + } + + return dutil.logMessage("createHash", `Created sha256sum hash: ${hex}`); + }); +} + +function zipArchives(done) { + const zip = spawn("npm", ["pack"]); + + dutil.logMessage("zip-archives", `Creating a tgz archive in root directory`); + + zip.stdout.on("data", (data) => + dutil.logData("zip-archives", `Created ${data}`) + ); + + zip.stderr.on("data", (data) => dutil.logError("zip-archives", data)); + + // @TODO get data from stdout + zip.on("close", (code) => { + if (code === 0) { + createHash(`./uswds-${version}.tgz`); + done(); + } + }); +} + +exports.release = series( + (done) => { + dutil.logMessage( + "release", + `Creating a tgz archive at ./uswds-${version}.tgz` + ); + done(); + }, + build, + zipArchives +); diff --git a/tasks/sass.js b/tasks/sass.js new file mode 100644 index 0000000..cef5507 --- /dev/null +++ b/tasks/sass.js @@ -0,0 +1,44 @@ +const autoprefixer = require("autoprefixer"); +const csso = require("postcss-csso"); +const discardComments = require("postcss-discard-comments"); +const { src, dest } = require("gulp"); +const postcss = require("gulp-postcss"); +const replace = require("gulp-replace"); +const rename = require("gulp-rename"); +const sass = require("gulp-sass")(require("sass-embedded")); +const sourcemaps = require("gulp-sourcemaps"); +const dutil = require("./utils/doc-util"); +const pkg = require("../package.json"); + +module.exports = { + compileSass() { + dutil.logMessage("sass", "Compiling Sass"); + const pluginsProcess = [discardComments(), autoprefixer()]; + const pluginsMinify = [csso({ forceMediaMerge: false })]; + + return src("src/stylesheets/uswds.scss") + .pipe(sourcemaps.init({ largeFile: true })) + .pipe( + sass({ + includePaths: [ + "./packages", + ], + outputStyle: "expanded", + }).on("error", function handleError(error) { + dutil.logError(error); + this.emit("end"); + }) + ) + .pipe(postcss(pluginsProcess)) + .pipe(replace(/\buswds @version\b/g, `uswds v${pkg.version}`)) + .pipe(dest("dist/css")) + .pipe(postcss(pluginsMinify)) + .pipe( + rename({ + suffix: ".min", + }) + ) + .pipe(sourcemaps.write(".")) + .pipe(dest("dist/css")); + }, +}; diff --git a/tasks/svg-sprite.js b/tasks/svg-sprite.js new file mode 100644 index 0000000..ab7c246 --- /dev/null +++ b/tasks/svg-sprite.js @@ -0,0 +1,62 @@ +/* eslint-disable arrow-body-style */ +const { src, dest, series } = require("gulp"); +const svgSprite = require("gulp-svgstore"); +const rename = require("gulp-rename"); +const del = require("del"); +const dutil = require("./utils/doc-util"); +const { logError } = require('./utils/doc-util'); +const { copyIcons } = require("./copy"); +const iconConfig = require("../packages/usa-icon/src/usa-icons.config"); + +const svgPath = "dist/img"; + +function cleanIcons() { + return del(`${svgPath}/usa-icons`); +} + +function collectIcons() { + dutil.logMessage("collectIcons", "Collecting default icon set in dist/img/usa-icons"); + return src([ + `node_modules/@material-design-icons/svg/filled/{${iconConfig.material}}.svg`, + `packages/usa-icon/src/img/material-icons-deprecated/{${iconConfig.materialDeprecated}}.svg`, + `packages/usa-icon/src/img/uswds-icons/{${iconConfig.uswds}}.svg`, + ]) + .pipe(dest(`${svgPath}/usa-icons`)) +} + +function buildSprite(done) { + return ( + src(`${svgPath}/usa-icons/*.svg`) + .pipe(svgSprite()) + .on("error", logError) + .pipe(dest(svgPath)) + .on("end", () => done()) + ); +} + +function renameSprite() { + return src(`${svgPath}/usa-icons.svg`) + .pipe(rename(`${svgPath}/sprite.svg`)) + .pipe(dest(`./`)); +} + +function cleanSprite() { + return del(`${svgPath}/usa-icons.svg`); +} + +exports.buildSpriteStandalone = series( + copyIcons, + cleanIcons, + collectIcons, + buildSprite, + renameSprite, + cleanSprite +) + +exports.buildSprite = series( + cleanIcons, + collectIcons, + buildSprite, + renameSprite, + cleanSprite +) diff --git a/tasks/test.js b/tasks/test.js new file mode 100644 index 0000000..752f76f --- /dev/null +++ b/tasks/test.js @@ -0,0 +1,19 @@ +const { src } = require("gulp"); +const mocha = require("gulp-mocha"); + +const mochaConfig = { + config: "packages/uswds-core/src/js/utils/test/.mocharc.json", +}; + +// Export our tasks. +module.exports = { + // run unit test. + unitTests() { + return src("packages/usa-*/**/*.spec.js").pipe(mocha(mochaConfig)); + }, + + sassTests() { + return src("packages/uswds-core/src/test/sass.spec.js") + .pipe(mocha()); + }, +}; diff --git a/tasks/utils/cflags.js b/tasks/utils/cflags.js new file mode 100644 index 0000000..097ea0d --- /dev/null +++ b/tasks/utils/cflags.js @@ -0,0 +1,4 @@ +module.exports = { + test: true, + cleanup: true, +}; diff --git a/tasks/utils/doc-util.js b/tasks/utils/doc-util.js new file mode 100644 index 0000000..0c43198 --- /dev/null +++ b/tasks/utils/doc-util.js @@ -0,0 +1,52 @@ +const log = require("fancy-log"); +const colors = require("ansi-colors"); +const pkg = require("../../package.json"); + +const shellPrefix = "$"; + +function drawFlag() { + log(colors.white("")); + log(colors.white("* * * * * ========================")); + log(colors.white("* * * * * ========================")); + log(colors.white("* * * * * ========================")); + log(colors.white("* * * * * ========================")); + log(colors.white("==================================")); + log(colors.white("==================================")); + log(colors.white("==================================")); + log(colors.white("")); +} + +module.exports = { + pkg: { + name: pkg.name, + version: pkg.version, + }, + + dirName: `${pkg.name}-${pkg.version}`, + + logIntroduction(message) { + const introMessage = message || "USWDS"; + log(colors.yellow(`${introMessage} v${pkg.version}`)); + drawFlag(); + }, + + logCommand(name, message) { + log(shellPrefix, colors.cyan(name), colors.magenta(message)); + }, + + logHelp(name, message) { + log(shellPrefix, colors.cyan(name), colors.yellow(message)); + }, + + logData(name, message) { + log(colors.cyan(name), colors.yellow(message)); + }, + + logError(name, message) { + log(colors.red(name), colors.yellow(message)); + }, + + logMessage(name, message) { + log(colors.cyan(name), colors.green(message)); + }, +}; diff --git a/tasks/watch.js b/tasks/watch.js new file mode 100644 index 0000000..277dbc6 --- /dev/null +++ b/tasks/watch.js @@ -0,0 +1,38 @@ +const { watch, series, parallel } = require("gulp"); +const { unitTests, sassTests } = require("./test"); +const { lintSass, typecheck } = require("./lint"); +const { compileSass } = require("./sass"); +const { compileJS } = require("./javascript"); +const { build } = require("./build"); + +/** + * Watch Sass and JS files. + */ +function watchFiles() { + // Watch all my sass files and compile sass if a file changes. + watch( + "./src/**/**/*.scss", + parallel(lintSass, compileSass), + ); + + // Watch all my JS files and compile if a file changes. + watch( + "./src/**/**/*.js", + series( + parallel(typecheck, compileJS), + ) + ); + + // Watch all my unit tests and run if a file changes. + watch( + "./src/**/*.spec.js", + series( + series(unitTests, sassTests), + (done) => done()) + ); +} + +exports.watch = series( + build, + watchFiles +); diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..91c024e --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,14 @@ +{ + "compilerOptions": { + "noEmit": true, + "allowJs": true, + "checkJs": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noImplicitAny": true, + "strictNullChecks": true, + "lib": ["es6", "DOM"], + "types": ["node"] + }, + "include": ["packages/uswds-core/src/js/utils/select.js"] +} diff --git a/webpack.twig.config.js b/webpack.twig.config.js new file mode 100644 index 0000000..1604d21 --- /dev/null +++ b/webpack.twig.config.js @@ -0,0 +1,149 @@ +const fs = require('fs'); +const path = require('path'); +const HtmlWebpackPlugin = require('html-webpack-plugin'); +const merge = require('lodash.merge'); + +const outputDir = path.resolve(__dirname, './html-templates'); +const entryFile = path.resolve(__dirname, `${outputDir}/main.js`); +const contentDir = "content" + +if (!fs.existsSync(outputDir)){ + fs.mkdirSync(outputDir) + fs.writeFile(entryFile, "", (err) => { + if (err) throw err + }); +} + +// syncronously check if a file exists +function checkFileExistsSync(filepath){ + let flag = true; + try{ + fs.accessSync(filepath, fs.constants.F_OK); + }catch(e){ + flag = false; + } + return flag && filepath; +} + +// builds the file object for html page gen +function buildFileObj(dir, file, dataFile){ + const templateFile = file + const dataFilePath = `${dir}/${dataFile}` + const name = !dataFile + ? `${file.substr(file.lastIndexOf('/') + 1).replace('.twig', '.html')}` + : `${dataFile.replace('.json', '.html')}` + + function buildModifierData(dataSource) { + const regexDashes = /--([\s\S]*)$/ + const regexTilda = /~([\s\S]*)$/ + let modifiedData; + + if (dataSource.indexOf('--') > -1) { + const rootDataFile = dataSource.replace(regexDashes, '.json') + modifiedData = merge( + JSON.parse(fs.readFileSync(rootDataFile, 'utf-8')), + JSON.parse(fs.readFileSync(dataSource, 'utf-8')) + ) + } + + if (dataSource.indexOf('~') > -1) { + const rootDataFile = dataSource.replace(regexTilda, '.json') + + modifiedData = merge( + JSON.parse(fs.readFileSync(rootDataFile, 'utf-8')), + JSON.parse(fs.readFileSync(dataSource, 'utf-8')) + ) + } + + return modifiedData || JSON.parse(fs.readFileSync(dataSource, 'utf-8')) + } + + const data = checkFileExistsSync(dataFilePath) + ? buildModifierData(dataFilePath) + : {} + + const fileObj = { + filename: name, + template: templateFile, + templateParameters: data, + } + return fileObj +} + +// filter out anything that starts with an underscore or is not a twig file +function walk(dir, ext) { + let results = []; + const list = fs.readdirSync(dir); + + list.forEach(file => { + // eslint-disable-next-line no-param-reassign + file = `${dir}/${file}`; + const stat = fs.statSync(file); + if (stat && stat.isDirectory() && path.basename(file).indexOf('_') !== 0) { + /* Recurse into a subdirectory */ + results = results.concat(walk(file, ext)); + } else if ( + stat && + !stat.isDirectory() && + path.extname(file) === `${ext}` && + path.basename(file).indexOf('_') !== 0 + ) { + /* Is a file */ + // in each directory, we need to build modifers + // if a directory contains a content directory we update dir here + // once we are done migrating components, we should update since we won't + // have as many use cases + const dataDir = list.indexOf(contentDir) > -1 ? `${dir}/${contentDir}/` : dir + const allData = fs.readdirSync(dataDir).filter( f => f.indexOf('.json') > -1) + + if (allData.length > 0) { + allData.forEach((d) => { + results.push(buildFileObj(dataDir, file, d)); + }) + } else { + results.push(buildFileObj(dataDir, file)) + } + } + }); + return results; +} + +const components = walk('./packages', '.twig'); +const templates = walk('./packages/templates', '.twig'); +const files = [].concat( + components, + templates + ) + +const htmlPlugins = files.map(file => + new HtmlWebpackPlugin({ + inject: false, + filename: file.filename, + template: file.template, + templateParameters: file.templateParameters, + })) + +module.exports = { + mode: 'production', + entry: { + main: entryFile, + }, + output: { + path: outputDir, + }, + module: { + rules: [ + { + test: /\.twig$/, + use: "twigjs-loader", + resolve: { + alias: { + "@components": path.resolve(__dirname, './packages'), + "@templates": path.resolve(__dirname, './packages/templates'), + }, + }, + }, + ], + }, + plugins: [].concat(htmlPlugins), +}