diff --git a/.circleci/config.yml b/.circleci/config.yml index f13c0d55da..0df0750369 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -30,7 +30,7 @@ commands: echo "git checkout << parameters.envname >>" echo "git fetch --all --tags" echo "git pull" - echo bin/deploy/git-annotated-tag-creator.sh << parameters.envname >> << pipeline.number >> $CMS_DIGEST $WAF_DIGEST + echo bin/deploy/git-annotated-tag-creator.sh << parameters.envname >> << pipeline.number >> $CMS_DIGEST $WAF_DIGEST $WWW_DIGEST echo fi - run: @@ -252,7 +252,7 @@ commands: printenv | grep -i -v -E "^(PWD|OLDPWD|SHLVL|_)=" | sed -e 's/^\([^=]*=\)\(.*\)/export \1"\2"/' | tee /home/circleci/project/env.local ./bin/cloudgov/login $CF_SERVICE_USER $CF_SERVICE_PASS << parameters.envname >> ./bin/cloudgov/space << parameters.envname >> - ./bin/cloudgov/deploy-cron << parameters.envname >> << pipeline.number >> $CMS_DIGEST + ./bin/cloudgov/deploy-cron << parameters.envname >> << pipeline.number >> $CRON_DIGEST jobs: scan-code: @@ -844,7 +844,6 @@ workflows: - dev - stage - prod - - build-and-push-container-cron: requires: - approve-build-and-push-container-cron diff --git a/.docker/Dockerfile-cms b/.docker/Dockerfile-cms index 71f3553be4..9fb8c8435b 100644 --- a/.docker/Dockerfile-cms +++ b/.docker/Dockerfile-cms @@ -104,7 +104,7 @@ RUN npm install --production=false --prefix /var/www/web/themes/custom/usagov \ && chown -R node:node /var/www/web/themes ############################################################### -FROM alpine:3.18 AS cms +FROM alpine:3.20 AS cms ARG S6_VERSION ENV S6_VERSION ${S6_VERSION:-v2.2.0.3} @@ -153,54 +153,54 @@ RUN sed -E -i "s/:x:${BUID}:/:x:1919:/g" /etc/passwd \ mariadb-connector-c \ nginx \ nginx-mod-http-lua \ - php81 \ - php81-fpm \ - php81-bcmath \ - php81-bz2 \ - php81-calendar \ - php81-curl \ - php81-ctype \ - php81-dom \ - php81-fileinfo \ - php81-ftp \ - php81-gd \ - php81-intl \ - php81-iconv \ - php81-imap \ - php81-intl \ - php81-json \ - php81-ldap \ - php81-mbstring \ - php81-mysqlnd \ - php81-openssl \ - php81-opcache \ - php81-pcntl \ - php81-pdo \ - php81-pdo_mysql \ - php81-pdo_sqlite \ - php81-pear \ - php81-pecl-imagick \ - php81-pecl-xdebug \ - php81-phar \ - php81-posix \ - php81-session \ - php81-simplexml \ - php81-shmop \ - php81-soap \ - php81-sockets \ - php81-sodium \ - php81-sqlite3 \ - php81-sysvmsg \ - php81-sysvsem \ - php81-sysvshm \ - php81-tokenizer \ - php81-tidy \ - php81-xsl \ - php81-xml \ - php81-xmlreader \ - php81-xmlwriter \ - php81-zip \ - php81-zlib \ + php83 \ + php83-fpm \ + php83-bcmath \ + php83-bz2 \ + php83-calendar \ + php83-curl \ + php83-ctype \ + php83-dom \ + php83-fileinfo \ + php83-ftp \ + php83-gd \ + php83-intl \ + php83-iconv \ + php83-imap \ + php83-intl \ + php83-json \ + php83-ldap \ + php83-mbstring \ + php83-mysqlnd \ + php83-openssl \ + php83-opcache \ + php83-pcntl \ + php83-pdo \ + php83-pdo_mysql \ + php83-pdo_sqlite \ + php83-pear \ + php83-pecl-imagick \ + php83-pecl-xdebug \ + php83-phar \ + php83-posix \ + php83-session \ + php83-simplexml \ + php83-shmop \ + php83-soap \ + php83-sockets \ + php83-sodium \ + php83-sqlite3 \ + php83-sysvmsg \ + php83-sysvsem \ + php83-sysvshm \ + php83-tokenizer \ + php83-tidy \ + php83-xsl \ + php83-xml \ + php83-xmlreader \ + php83-xmlwriter \ + php83-zip \ + php83-zlib \ && mkdir -p /var/www/web/sites/default/files \ # s6 supervisor setup && tar xzf /tmp/s6overlay.tar.gz -C / \ @@ -217,7 +217,7 @@ RUN sed -E -i "s/:x:${BUID}:/:x:1919:/g" /etc/passwd \ && mkdir -p /run/nginx/ \ && touch /run/nginx/nginx.pid \ # php setup - && ln -s /usr/sbin/php-fpm81 /usr/sbin/php-fpm + && ln -s /usr/sbin/php-fpm83 /usr/sbin/php-fpm # new relic setup COPY bin/src/newrelic.sh /local/newrelic.sh diff --git a/.docker/Dockerfile-www b/.docker/Dockerfile-www index 034983f705..2657de7838 100644 --- a/.docker/Dockerfile-www +++ b/.docker/Dockerfile-www @@ -1,6 +1,6 @@ ############################################################### -FROM alpine:3.18 AS www +FROM alpine:3.20 AS www ARG S6_VERSION ENV S6_VERSION ${S6_VERSION:-v2.2.0.3} @@ -49,54 +49,54 @@ RUN sed -E -i "s/:x:${BUID}:/:x:1919:/g" /etc/passwd \ mariadb-connector-c \ nginx \ nginx-mod-http-lua \ - php81 \ -# php81-fpm \ - php81-bcmath \ - php81-bz2 \ - php81-calendar \ - php81-curl \ - php81-ctype \ - php81-dom \ - php81-fileinfo \ - php81-ftp \ - php81-gd \ - php81-intl \ - php81-iconv \ - php81-imap \ - php81-intl \ - php81-json \ - php81-ldap \ - php81-mbstring \ - php81-mysqlnd \ - php81-openssl \ - php81-opcache \ - php81-pcntl \ - php81-pdo \ - php81-pdo_mysql \ - php81-pdo_sqlite \ - php81-pear \ - php81-pecl-imagick \ - php81-pecl-xdebug \ - php81-phar \ - php81-posix \ - php81-session \ - php81-simplexml \ - php81-shmop \ - php81-soap \ - php81-sockets \ - php81-sodium \ - php81-sqlite3 \ - php81-sysvmsg \ - php81-sysvsem \ - php81-sysvshm \ - php81-tokenizer \ - php81-tidy \ - php81-xsl \ - php81-xml \ - php81-xmlreader \ - php81-xmlwriter \ - php81-zip \ - php81-zlib \ + php83 \ +# php83-fpm \ + php83-bcmath \ + php83-bz2 \ + php83-calendar \ + php83-curl \ + php83-ctype \ + php83-dom \ + php83-fileinfo \ + php83-ftp \ + php83-gd \ + php83-intl \ + php83-iconv \ + php83-imap \ + php83-intl \ + php83-json \ + php83-ldap \ + php83-mbstring \ + php83-mysqlnd \ + php83-openssl \ + php83-opcache \ + php83-pcntl \ + php83-pdo \ + php83-pdo_mysql \ + php83-pdo_sqlite \ + php83-pear \ + php83-pecl-imagick \ + php83-pecl-xdebug \ + php83-phar \ + php83-posix \ + php83-session \ + php83-simplexml \ + php83-shmop \ + php83-soap \ + php83-sockets \ + php83-sodium \ + php83-sqlite3 \ + php83-sysvmsg \ + php83-sysvsem \ + php83-sysvshm \ + php83-tokenizer \ + php83-tidy \ + php83-xsl \ + php83-xml \ + php83-xmlreader \ + php83-xmlwriter \ + php83-zip \ + php83-zlib \ && mkdir -p /var/www/web/sites/default/files \ # s6 supervisor setup && tar xzf /tmp/s6overlay.tar.gz -C / \ @@ -111,10 +111,10 @@ RUN sed -E -i "s/:x:${BUID}:/:x:1919:/g" /etc/passwd \ && ln -s /dev/stderr /var/log/nginx/error.log \ && ln -s /dev/stdout /var/log/nginx/access.log \ && mkdir -p /run/nginx/ \ - && touch /run/nginx/nginx.pid + && touch /run/nginx/nginx.pid # \ # php setup - #&& ln -s /usr/sbin/php-fpm81 /usr/sbin/php-fpm + #&& ln -s /usr/sbin/php-fpm83 /usr/sbin/php-fpm # new relic setup COPY bin/src/newrelic.sh /local/newrelic.sh diff --git a/.docker/src-cms/50_xdebug.ini b/.docker/src-cms/50_xdebug.ini index 9a91002363..eaf42534f9 100644 --- a/.docker/src-cms/50_xdebug.ini +++ b/.docker/src-cms/50_xdebug.ini @@ -4,3 +4,4 @@ xdebug.client_host=host.docker.internal xdebug.idekey=VSCODE xdebug.max_nesting_level=1500 xdebug.mode=debug +# xdebug.start_with_request=1 \ No newline at end of file diff --git a/.docker/src-cms/etc/nginx/partials/internal_redirects.conf b/.docker/src-cms/etc/nginx/partials/internal_redirects.conf index 19b1e6e5e0..233ed23b4f 100644 --- a/.docker/src-cms/etc/nginx/partials/internal_redirects.conf +++ b/.docker/src-cms/etc/nginx/partials/internal_redirects.conf @@ -29,6 +29,7 @@ rewrite ^/analytics-usa-redirect$ https://analytics.usa.gov/ permanent; rewrite ^/avisos-y-politicas-de-este-sitio$ /es/politicas-avisos-del-sitio-web permanent; rewrite ^/benefits-grants-loans$ /benefits permanent; + rewrite ^/benefit-finder/([^/]+)/[^/]+$ /benefit-finder/$1 permanent; rewrite ^/budget$ /federal-budget-process permanent; rewrite ^/business$ /small-business permanent; rewrite ^/buying-home$ /buying-home-programs permanent; @@ -66,6 +67,7 @@ rewrite ^/espanol/ayuda-financiera-becas-beneficios$ /es/beneficios-gobierno permanent; rewrite ^/espanol/ayuda-financiera-para-estudiantes$ /es/fafsa-ayuda-federal-estudiantes permanent; rewrite ^/espanol/beneficios-familias-militares$ /es/beneficios-educativos-laborales-familiares permanent; + rewrite ^/es/buscador-beneficios/([^/]+)/[^/]+$ /es/buscador-beneficios/$1 permanent; rewrite ^/espanol/cambie-registro-electoral$ /es/actualizar-registro-electoral permanent; rewrite ^/espanol/chat$ /es/chat permanent; rewrite ^/espanol/ciudadania-inmigracion-viajes$ /es/inmigracion-ciudadania-estados-unidos permanent; @@ -261,6 +263,5 @@ rewrite ^/voting$ /voting-and-elections permanent; rewrite ^/voting-laws-history$ /voting-laws permanent; - # Any ^espanol/* not otherwise specified links to /es/* (and may 404) rewrite ^/espanol/(.+)$ /es/$1 permanent; diff --git a/.docker/src-cms/etc/php81/auto_prepend.php b/.docker/src-cms/etc/php83/auto_prepend.php similarity index 100% rename from .docker/src-cms/etc/php81/auto_prepend.php rename to .docker/src-cms/etc/php83/auto_prepend.php diff --git a/.docker/src-cms/etc/php81/php-fpm.conf b/.docker/src-cms/etc/php83/php-fpm.conf similarity index 86% rename from .docker/src-cms/etc/php81/php-fpm.conf rename to .docker/src-cms/etc/php83/php-fpm.conf index c4afcb7fe7..779181a07c 100755 --- a/.docker/src-cms/etc/php81/php-fpm.conf +++ b/.docker/src-cms/etc/php83/php-fpm.conf @@ -13,4 +13,4 @@ daemonize = no events.mechanism = epoll -include=/etc/php81/php-fpm.d/*.conf +include=/etc/php83/php-fpm.d/*.conf diff --git a/.docker/src-cms/etc/php81/php-fpm.d/env.conf.tmpl b/.docker/src-cms/etc/php83/php-fpm.d/env.conf.tmpl similarity index 100% rename from .docker/src-cms/etc/php81/php-fpm.d/env.conf.tmpl rename to .docker/src-cms/etc/php83/php-fpm.d/env.conf.tmpl diff --git a/.docker/src-cms/etc/php81/php-fpm.d/www.conf b/.docker/src-cms/etc/php83/php-fpm.d/www.conf similarity index 100% rename from .docker/src-cms/etc/php81/php-fpm.d/www.conf rename to .docker/src-cms/etc/php83/php-fpm.d/www.conf diff --git a/.docker/src-cms/etc/php81/php.ini b/.docker/src-cms/etc/php83/php.ini similarity index 97% rename from .docker/src-cms/etc/php81/php.ini rename to .docker/src-cms/etc/php83/php.ini index ecc31d2194..e8aa0fd3f7 100755 --- a/.docker/src-cms/etc/php81/php.ini +++ b/.docker/src-cms/etc/php83/php.ini @@ -29,7 +29,7 @@ report_memleaks = On track_errors = Off html_errors = On -auto_prepend_file = /etc/php81/auto_prepend.php +auto_prepend_file = /etc/php83/auto_prepend.php auto_append_file = default_mimetype = "text/html" diff --git a/.docker/src-cron/opt/callcenter/call-center-update b/.docker/src-cron/opt/callcenter/call-center-update index ced97a7707..53c086897c 100755 --- a/.docker/src-cron/opt/callcenter/call-center-update +++ b/.docker/src-cron/opt/callcenter/call-center-update @@ -17,7 +17,14 @@ tokenResponse=$( -H "Content-Type: application/x-www-form-urlencoded" \ -d "grant_type=client_credentials&client_id=$CALL_CENTER_CLIENT_ID&client_secret=$CALL_CENTER_CLIENT_SECRET" ) + token=$(echo "$tokenResponse" | jq -r '.access_token') +if [ $token = "null" ]; then + # log the problem and exit + echo '{"CallCenterWaitTimes": ' "$tokenResponse" ' "level":"error" }' + echo # newline in logs + exit 1 +fi # echo "Getting en wait time." enWaitTimeResponse=$( @@ -65,9 +72,11 @@ combinedWaitTimes='{ }' # echo "Setting wait time file." -# echo "$combinedWaitTimes" >&2 echo "$combinedWaitTimes" > $waitTimeFile +# Emit data to STDOUT For logging purposes: +echo '{ "CallCenterWaitTimes": ' "$combinedWaitTimes", ' "message":"Retrieved call center wait times" }' | jq -c + # Upload file to S3 bucket # echo "uploading waittime.json to S3." aws_cp waittime.json s3://$S3_BUCKET/$VERSION/waittime.json diff --git a/.docker/src-www/etc/nginx/partials/internal_redirects.conf b/.docker/src-www/etc/nginx/partials/internal_redirects.conf index 19b1e6e5e0..141aa6b16b 100644 --- a/.docker/src-www/etc/nginx/partials/internal_redirects.conf +++ b/.docker/src-www/etc/nginx/partials/internal_redirects.conf @@ -29,6 +29,7 @@ rewrite ^/analytics-usa-redirect$ https://analytics.usa.gov/ permanent; rewrite ^/avisos-y-politicas-de-este-sitio$ /es/politicas-avisos-del-sitio-web permanent; rewrite ^/benefits-grants-loans$ /benefits permanent; + rewrite ^/benefit-finder/([^/]+)/[^/]+$ /benefit-finder/$1 permanent; rewrite ^/budget$ /federal-budget-process permanent; rewrite ^/business$ /small-business permanent; rewrite ^/buying-home$ /buying-home-programs permanent; @@ -66,6 +67,7 @@ rewrite ^/espanol/ayuda-financiera-becas-beneficios$ /es/beneficios-gobierno permanent; rewrite ^/espanol/ayuda-financiera-para-estudiantes$ /es/fafsa-ayuda-federal-estudiantes permanent; rewrite ^/espanol/beneficios-familias-militares$ /es/beneficios-educativos-laborales-familiares permanent; + rewrite ^/es/buscador-beneficios/([^/]+)/[^/]+$ /es/buscador-beneficios/$1 permanent; rewrite ^/espanol/cambie-registro-electoral$ /es/actualizar-registro-electoral permanent; rewrite ^/espanol/chat$ /es/chat permanent; rewrite ^/espanol/ciudadania-inmigracion-viajes$ /es/inmigracion-ciudadania-estados-unidos permanent; diff --git a/.github/workflows/benefits-finder-test.yml b/.github/workflows/benefits-finder-test.yml index 89ab244ea3..af61754641 100644 --- a/.github/workflows/benefits-finder-test.yml +++ b/.github/workflows/benefits-finder-test.yml @@ -123,51 +123,3 @@ jobs: with: name: Edge cypress screenshots path: ./benefit-finder/cypress/screenshots - - tests-webkit: - runs-on: ubuntu-latest - steps: - - name: Checkout the release branch - uses: actions/checkout@v4 - with: - repository: "GSA/px-benefit-finder" - ref: "release" # Specify the branch name here - - - name: Install Node - uses: actions/setup-node@v4 - with: - node-version-file: "./benefit-finder/package.json" - - - name: Install Submodule - run: | - cd benefit-finder - git submodule init && git submodule update - - - name: Checkout usagov-2021 working branch - run: | - cd usagov-2021 - git switch ${{ github.ref_name }} - - - name: Install dependencies - uses: cypress-io/github-action@v6 - with: - working-directory: ./benefit-finder - build: npx playwright-webkit install-deps - runTests: false - - - name: Cypress run (WebKit) - uses: cypress-io/github-action@v6 - with: - working-directory: ./benefit-finder - install: false - browser: webkit - env: NODE_ENV=test - build: "npm run cy:build:storybook" - start: "npm run cy:run:pipeline" - - - name: Webkit Artifact(s) - if: failure() - uses: actions/upload-artifact@v4 - with: - name: Webkit cypress screenshots - path: ./benefit-finder/cypress/screenshots diff --git a/.github/workflows/benfits-finder-test-pr.yml b/.github/workflows/benfits-finder-test-pr.yml index 05dd875575..e391bb4b92 100644 --- a/.github/workflows/benfits-finder-test-pr.yml +++ b/.github/workflows/benfits-finder-test-pr.yml @@ -127,51 +127,3 @@ jobs: with: name: Edge cypress screenshots path: ./benefit-finder/cypress/screenshots - - tests-webkit: - runs-on: ubuntu-latest - steps: - - name: Checkout the release branch - uses: actions/checkout@v4 - with: - repository: "GSA/px-benefit-finder" - ref: "release" # Specify the branch name here - - - name: Install Node - uses: actions/setup-node@v4 - with: - node-version-file: "./benefit-finder/package.json" - - - name: Install Submodule - run: | - cd benefit-finder - git submodule init && git submodule update - - - name: Checkout usagov-2021 working branch - run: | - cd usagov-2021 - git switch ${{ github.head_ref }} - - - name: Install dependencies - uses: cypress-io/github-action@v6 - with: - working-directory: ./benefit-finder - build: npx playwright-webkit install-deps - runTests: false - - - name: Cypress run (WebKit) - uses: cypress-io/github-action@v6 - with: - working-directory: ./benefit-finder - install: false - browser: webkit - env: NODE_ENV=test - build: "npm run cy:build:storybook" - start: "npm run cy:run:pipeline" - - - name: Webkit Artifact(s) - if: failure() - uses: actions/upload-artifact@v4 - with: - name: Webkit cypress screenshots - path: ./benefit-finder/cypress/screenshots diff --git a/.github/workflows/prod-a11y-regression-tests.yml b/.github/workflows/prod-a11y-regression-tests.yml new file mode 100644 index 0000000000..471cf30dbe --- /dev/null +++ b/.github/workflows/prod-a11y-regression-tests.yml @@ -0,0 +1,16 @@ +name: Prod A11Y Regression Tests +on: workflow_dispatch +jobs: + run-regression-tests: + name: run-regression-tests + runs-on: ubuntu-22.04 + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Set env + run: echo "CYPRESS_BASE_URL=https://usa.gov/" >> $GITHUB_ENV + - name: Cypress run + uses: cypress-io/github-action@v6 + with: + working-directory: automated_tests/e2e-cypress + spec: cypress/e2e/regression_testing/*.cy.js \ No newline at end of file diff --git a/.github/workflows/stage-a11y-regression-tests.yml b/.github/workflows/stage-a11y-regression-tests.yml new file mode 100644 index 0000000000..c713da1407 --- /dev/null +++ b/.github/workflows/stage-a11y-regression-tests.yml @@ -0,0 +1,16 @@ +name: Stage A11Y Regression Tests +on: workflow_dispatch +jobs: + run-regression-tests: + name: run-regression-tests + runs-on: ubuntu-22.04 + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Set env + run: echo "CYPRESS_BASE_URL=https://beta-stage.usa.gov/" >> $GITHUB_ENV + - name: Cypress run + uses: cypress-io/github-action@v6 + with: + working-directory: automated_tests/e2e-cypress + spec: cypress/e2e/regression_testing/*.cy.js \ No newline at end of file diff --git a/.sqlfluff b/.sqlfluff new file mode 100644 index 0000000000..4664592469 --- /dev/null +++ b/.sqlfluff @@ -0,0 +1,19 @@ +[sqlfluff] +# Supported dialects https://docs.sqlfluff.com/en/stable/perma/dialects.html +# Or run 'sqlfluff dialects' +dialect = mysql +# One of [raw|jinja|python|placeholder] +templater = raw +# Very large files can make the parser effectively hang. +# The more efficient check is the _byte_ limit check which +# is enabled by default. The previous _character_ limit check +# is still present for backward compatibility. This will be +# removed in a future version. +# Set either to 0 to disable. +large_file_skip_char_limit = 0 +large_file_skip_byte_limit = 210000000 +# CPU processes to use while linting. +# If positive, just implies number of processes. +# If negative or zero, implies number_of_cpus - specified_number. +# e.g. -1 means use all processors but one. 0 means all cpus. +processes = 0 \ No newline at end of file diff --git a/automated_tests/cypress_build/package-lock.json b/automated_tests/cypress_build/package-lock.json index 8f0633f9f9..2205bca6c3 100644 --- a/automated_tests/cypress_build/package-lock.json +++ b/automated_tests/cypress_build/package-lock.json @@ -637,9 +637,9 @@ "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" }, "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", diff --git a/automated_tests/e2e-cypress/cypress/e2e/regression_testing/content_page.cy.js b/automated_tests/e2e-cypress/cypress/e2e/regression_testing/content_page.cy.js index c57d6cef2c..2adce4ef86 100644 --- a/automated_tests/e2e-cypress/cypress/e2e/regression_testing/content_page.cy.js +++ b/automated_tests/e2e-cypress/cypress/e2e/regression_testing/content_page.cy.js @@ -8,12 +8,24 @@ const languageTests = [ "/travel-documents-children", ]; +let env; +if (window.location.hostname == "cms-usagov.docker.local") { + env = "local"; +} else if (window.location.hostname == "beta-stage.usa") { + env = "stage"; +} else { + env = "prod"; +} + paths.forEach((path, idx) => { let lang; + let testName; if (path === "/disaster-assistance") { lang = "English"; + testName = "BTE"; } else { lang = "Español"; + testName = "BTS"; } describe(`${lang} Content Page`, () => { @@ -24,7 +36,7 @@ paths.forEach((path, idx) => { cy.injectAxe(); }); - it("BTE/S 28: Left menu appears on page and indicates the page you are on", () => { + it(`${testName} 28: Left menu appears on page and indicates the page you are on`, () => { cy.get(".usa-sidenav").should("be.visible"); // Menu indicates what page you are on @@ -41,7 +53,7 @@ paths.forEach((path, idx) => { }); }); }); - it("BTE/S 29: Breadcrumb appears at top of page and indicates correct section", () => { + it(`${testName} 29: Breadcrumb appears at top of page and indicates correct section`, () => { cy.get(".usa-breadcrumb__list") .find("li") .first() @@ -63,7 +75,7 @@ paths.forEach((path, idx) => { }); }); }); - it("BTE/S 30: Page titles and headings are formatted correctly", () => { + it(`${testName} 30: Page titles and headings are formatted correctly`, () => { // CSS style checks // h1 @@ -115,15 +127,15 @@ paths.forEach((path, idx) => { }); } }); - it(`BTE/S 31: ${lang} toggle appears on page and takes you to ${lang} page`, () => { + it(`${testName} 31: ${lang} toggle appears on page and takes you to ${lang} page`, () => { cy.get(".language-link").click(); cy.url().should("include", languageTests[idx]); }); - it("BTE/S 32: Last updated date appears at bottom of content with correct padding above it", () => { + it(`${testName} 32: Last updated date appears at bottom of content with correct padding above it`, () => { // make sure date appears cy.get(".additional_body_info").find("#last-updated").should("exist"); }); - it("BTE/S 33: Share this page function works correctly for facebook, twitter, and email", () => { + it(`${testName} 33: Share this page function works correctly for facebook, twitter, and email`, () => { // test links for each social const facebook = [ "disaster-assistance", @@ -137,32 +149,44 @@ paths.forEach((path, idx) => { "disaster-assistance", "eses/requisitos-viaje-ninos-menores-de-edad", ]; - cy.get(".additional_body_info") - .find("#sm-share") - .should("exist") - .get("div.share-icons>a") - .eq(0) - .should( - "have.attr", - "href", - `https://www.facebook.com/sharer/sharer.php?u=http://cms-usagov.docker.local/${facebook[idx]}&v=3`, - ) - .get("div.share-icons>a") - .eq(1) - .should( - "have.attr", - "href", - `https://twitter.com/intent/tweet?source=webclient&text=http://cms-usagov.docker.local/${twitter[idx]}`, - ) - .get("div.share-icons>a") - .eq(2) - .should( - "have.attr", - "href", - `mailto:?subject=http://cms-usagov.docker.local/${mail[idx]}`, - ); + + var origin; + cy.url().then((cyURL) => { + if (cyURL.includes("cms-usagov.docker.local")) { + origin = "http://cms-usagov.docker.local"; + } else if (cyURL.includes("beta-stage.usa")) { + origin = "https://beta-stage.usa.gov"; + } else { + origin = "https://www.usa.gov"; + } + + cy.get(".additional_body_info") + .find("#sm-share") + .should("exist") + .get("div.share-icons>a") + .eq(0) + .should( + "have.attr", + "href", + `https://www.facebook.com/sharer/sharer.php?u=${origin}/${facebook[idx]}&v=3`, + ) + .get("div.share-icons>a") + .eq(1) + .should( + "have.attr", + "href", + `https://twitter.com/intent/tweet?source=webclient&text=${origin}/${twitter[idx]}`, + ) + .get("div.share-icons>a") + .eq(2) + .should( + "have.attr", + "href", + `mailto:?subject=${origin}/${mail[idx]}`, + ); + }); }); - it("BTE/S 34: Do you have a question block appears at bottom of content page with icons and links to phone and chat", () => { + it(`${testName} 34: Do you have a question block appears at bottom of content page with icons and links to phone and chat`, () => { // test question box const phones = ["/phone", "/es/centro-de-llamadas"]; cy.get(".additional_body_info") @@ -171,7 +195,7 @@ paths.forEach((path, idx) => { .find("a") .should("have.attr", "href", phones[idx]); }); - it("BTE/S 36: Back to top button", () => { + it(`${testName} 36: Back to top button`, () => { //test back to top button cy.scrollTo("bottom") .get("#back-to-top") diff --git a/automated_tests/e2e-cypress/cypress/e2e/regression_testing/footer.cy.js b/automated_tests/e2e-cypress/cypress/e2e/regression_testing/footer.cy.js index 70bb02cbe5..1734fa09d1 100644 --- a/automated_tests/e2e-cypress/cypress/e2e/regression_testing/footer.cy.js +++ b/automated_tests/e2e-cypress/cypress/e2e/regression_testing/footer.cy.js @@ -1,19 +1,24 @@ -const socials = require("../../fixtures/socials.json"); +const fixtures = require("../../fixtures/footer.json"); const paths = ["/", "/es"]; paths.forEach((path, idx) => { let lang; + let testName; if (path === "/") { lang = "English"; + testName = "BTE"; } else { lang = "Español"; + testName = "BTS"; } describe(`${lang} Footer`, () => { beforeEach(() => { // Set base URL cy.visit(path); }); - it(`BTE/S 12: Footer links appear and work appropriately`, () => { + + + it(`${testName} 12: Footer links appear and work appropriately`, () => { cy.get(".usa-footer__nav") .find("a") .not('[href="/website-analytics/"]') @@ -25,7 +30,9 @@ paths.forEach((path, idx) => { }); }); }); - it("BTE/S 13: Email subscription form appears in footer and works appropriately", () => { + + + it(`${testName} 13: Footer: Email subscription form appears in footer and works appropriately`, () => { const validEmail = "test@usa.gov"; const invalidEmails = ["test@#$1123", "test2@", "@test3.com"]; const emails = [ @@ -48,7 +55,7 @@ paths.forEach((path, idx) => { // Origin URL should now be connect.usa.gov const sentArgs = { email: validEmail }; - cy.origin(emails[idx], { args: sentArgs }, ({ email }) => { + cy.visit(emails[idx], { args: sentArgs }, ({ email }) => { cy.get("input").filter('[name="email"]').should("have.value", email); }); @@ -59,50 +66,87 @@ paths.forEach((path, idx) => { cy.get(".usa-sign-up").find('button[type="submit"]').click(); // Origin URL should now be connect.usa.gov - cy.origin(emails[idx], { args: sentArgs }, ({ email }) => { + cy.visit(emails[idx], { args: sentArgs }, ({ email }) => { cy.get("input").filter('[name="email"]').should("have.value", email); }); }); - it("BTE/S 14: Social media icons appear in footer and link to correct places", () => { - for (const social of socials) { - //if spanish check that there are links - if (path === "/es" && social.linkEs.length <= 0) { - continue; - } else { - cy.get(".usa-footer__contact-links") - .find(`[alt="${social.alt_text} USAGov"]`) - .should( - "have.attr", - "src", - `/themes/custom/usagov/images/social-media-icons/${social.name}_Icon.svg`, - ); - - let socialLink; - if (path === "/es") { - socialLink = social.linkEs; - } else { - socialLink = social.link; - } - cy.get(".usa-footer__contact-links") - .find(`[alt="${social.alt_text} USAGov"]`) - .parent() + + + it(`${testName} 14: Footer: Social media icons appear in footer and link to correct places`, () => { + cy.get(".usa-footer__contact-links") + .within(() => { + // Verify correct text in social media heading + cy.get('h4') + .should("have.text", fixtures.socials_heading[idx]) + // Verify correct number of social media links + cy.get('.usa-social-link') + .should('have.length', fixtures.num_socials[idx]) + }); + + // Verify correct social media links, images, alt texts, and accessible names + for (const social of fixtures.socials) { + let socialLink = social.link[idx]; + let imgSrc = `${fixtures.iconDir}${social.icon}` + + if (socialLink.length > 0) { + cy.get(`.usa-footer__social-links`) + .find(`[href="${socialLink}"]`) .as("link") - .should("have.attr", "href", socialLink); + .should("have.attr", "href", socialLink) + .within(() => { + cy.get('img') + .should("have.attr", "src", imgSrc) + .should("have.attr", "alt", social.alt_text) + cy.get('span') + .should("have.text", social.name) + }); } } }); - it("BTE/S 15: Contact Center information appears in footer and phone number links to /phone", () => { - const phones = ["/phone", "/es/llamenos"]; - cy.get("#footer-phone").find("a").click(); - cy.url().should("include", phones[idx]); + + it(`${testName} 15: Footer: Contact Center information appears in footer and phone number links are correct`, () => { + cy.get("#footer-phone").within(() => { + cy.get("h4") + .should("have.text", fixtures.contact_heading[idx]) + cy.get(".footer-question") + .should("have.text", fixtures.ask_a_question[idx]) + cy.get(".usa-footer__contact-info a") + .as("link") + .should("have.text", fixtures.phone_number) + .should("have.attr", "href", fixtures.phone_path[idx]) + .click(); + cy.url().should("include", fixtures.phone_path[idx]); + }); }); - it("BTE/S 16: Subfooter indicating USAGov is official site appears at very bottom", () => { - const identifier = ["official guide", "la guía oficial"]; - cy.get(".usa-footer") - .find(".usa-identifier") - .should("contain", "USAGov") - .should("contain", identifier[idx]); + + + it(`${testName} 16: Footer: Subfooter indicating USAGov is official site appears at very bottom`, () => { + cy.get(".usa-identifier__section--usagov") + .should("have.attr", "aria-label", fixtures.official_guide[idx]) + .find(".usa-identifier__identity") + .should("have.attr", "aria-label", fixtures.official_site[idx]) + .within(() => { + cy.get(".usa-identifier__identity-disclaimer:nth-of-type(1)") + .should("have.text", fixtures.official_guide[idx]) + cy.get(".usa-identifier__identity-disclaimer:nth-of-type(2)") + .should("have.text", fixtures.official_site[idx]) + .find("a") + .as("link") + .should("have.attr", "href", fixtures.gsa_url).click(); + cy.url().should("include", fixtures.gsa_url); + cy.go('back') + }); + cy.get(".usa-identifier__section--required-links") + .should("have.attr", "aria-label", fixtures.important_links[idx]) + .find("a") + .each((link) => { + cy.wrap(link) + .invoke("attr", "href") + .then((href) => { + cy.request(href).its("status").should("eq", 200); + }); + }); }); }); }); diff --git a/automated_tests/e2e-cypress/cypress/e2e/regression_testing/home_page_2024.cy.js b/automated_tests/e2e-cypress/cypress/e2e/regression_testing/home_page_2024.cy.js deleted file mode 100644 index a7e1d0b376..0000000000 --- a/automated_tests/e2e-cypress/cypress/e2e/regression_testing/home_page_2024.cy.js +++ /dev/null @@ -1,227 +0,0 @@ -const paths = ["/", "/es"]; - -paths.forEach(path => { - let lang; - if (path === "/") { - lang = "English"; - } else { - lang = "Español"; - } - describe(`${lang} home page`, () => { - // Set base URL - beforeEach(() => { - cy.visit(path); - }); - - it("BTE 1: Sitewide banner for official government site appears at the top, accordion can be expanded", () => { - cy.get("header") - .find(".usa-banner__header") - .should("be.visible"); - - // Accordion content should not be visible - cy.get("header") - .find(".usa-banner__content") - .should("not.be.visible"); - - // Expand accordion - cy.get("header") - .find(".usa-accordion__button") - .click(); - - // Accordion content should be visible - cy.get(".usa-banner__content") - .should("be.visible"); - }); - it("BTE 2: USAGov logo appears in the header area", () => { - cy.get("header") - .find(".usa-logo") - .find("img") - .then($img => { - const imgUrl = $img.prop("src"); - cy.request(imgUrl) - .its("status").should("eq", 200); - expect($img).to.have.attr("alt"); - }); - }); - it("BTE 3: Link with Contact Center number appears in header area and links to contact page", () => { - let expectedHref; - - if (path === "/") { - expectedHref = "/phone"; - } else { - expectedHref = "/es/llamenos"; - } - - cy.get("header") - .find("#top-phone") - .find("a") - .invoke("attr", "href") - .then(href => { - expect(href).to.equal(expectedHref); - }); - }); - it("BTE 4: Español toggle appears and links to Spanish homepage", () => { - let expectedHref; - - if (path === "/") { - expectedHref = "/es"; - } else { - expectedHref = "/"; - } - - cy.get("header") - .find("a.language-link") - .invoke("attr", "href") - .then((href) => { - expect(href).to.equal(expectedHref); - }); - }); - it("BTE 5: Search bar appears with search icon in header region; can successfully complete search", () => { - const typedText = "housing"; - - // Enters query into search input - cy.get("header") - .find("#search-field-small") - .then((input) => { - cy.wrap(input).type(typedText); - cy.wrap(input).should("have.value", typedText); - cy.wrap(input).type("{enter}"); - }); - - // Origin URL should now be search.gov - const sentArgs = { query: typedText }; - cy.origin( - "https://search.usa.gov/", - { args: sentArgs }, - ({ query }) => { - cy.get("#search-field").should("have.value", "housing"); - } - ); - - // Go back to localhost to test search icon - cy.visit("/"); - cy.get("header") - .find("#search-field-small") - .next() - .find("img") - .should("have.attr", "alt", "Search"); - - cy.get("header") - .find("#search-field-small") - .next() - .click(); - - // Verify URL is search.gov - cy.origin("https://search.usa.gov/", () => { - cy.url().should("include", "search.usa.gov"); - }); - }); - it("BTE 6: Main menu appears after header; links work appropriately. All topics link goes down the page.", () => { - // Main menu appears - cy.get(".usa-nav__primary") - .should("be.visible"); - - // Test All Topics link - cy.get("li.usa-nav__primary-item a").each(($el) => { - cy.request($el.prop("href")).its("status").should("eq", 200); - }); - }); - it("BTE 7: Banner area/image appears with Welcome text box", () => { - // TODO: test this in other viewports - cy.get(".banner-div") - .should("be.visible") - .then($el => { - const url = $el.css('background-image').match(/url\("(.*)"\)/)[1] - cy.request(url).its("status").should("be.lessThan", 400); - }) - - cy.get(".welcome-box") - .should("be.visible"); - }); - it("BTE 8: How do I area appears correctly with links to four pages/topics", () => { - let expectedText; - - if (path === "/") { - expectedText = "How do I"; - } else { - expectedText = "Cómo puedo..."; - } - - cy.get(".how-box") - .contains(expectedText) - .should("be.visible"); - - // Verify there are 4 links - cy.get(".how-box") - .find("a") - .as("links") - .should("be.visible") - .should("have.length", 4); - - // Check each link is valid - cy.get("@links") - .each((link) => { - cy.visit(link.attr("href")); - cy.contains("Page not found").should("not.exist"); - - cy.go("back"); - }); - }); - it("BTE 9: Jump to All topics and services link/button appears and jumps to correct place on page", () => { - let expectedText; - - if (path === "/") { - expectedText = "Jump to"; - } else { - expectedText = "Vaya a todos"; - } - - // Check text and button - cy.get(".jump") - .contains(expectedText); - - cy.get(".jump") - .find("img") - .should("be.visible") - .then($img => { - const imgUrl = $img.prop("src"); - cy.request(imgUrl) - .its("status").should("eq", 200); - expect($img).to.have.attr("alt"); - }); - - // Verify link is valid - cy.get(".jump") - .each((el) => { - cy.visit(el.find("a").attr("href")); - cy.url().should("include", "#all-topics-header"); - - cy.visit("/"); - }); - }); - it("BTE 10: Cards under \"All topics and services\" appear correctly (icon, title, text, hover state) and are clickable", () => { - cy.get(".all-topics-background") - .find(".homepage-card") - .each((el) => { - // Validate link - cy.wrap(el).find("a") - .invoke("attr", "href") - .then(href => { - cy.request(href) - .its("status") - .should("eq", 200); - }); - - // Verify number of children - cy.wrap(el).find("a") - .children() - .should("have.length", 3); - - // Css check for hover state - cy.wrap(el) - .realHover() - .should("have.css", "background-color", "rgb(204, 236, 242)"); - }); - }); - }); -}); diff --git a/automated_tests/e2e-cypress/cypress/e2e/regression_testing/homepage.cy.js b/automated_tests/e2e-cypress/cypress/e2e/regression_testing/homepage.cy.js new file mode 100644 index 0000000000..b7a4b2c789 --- /dev/null +++ b/automated_tests/e2e-cypress/cypress/e2e/regression_testing/homepage.cy.js @@ -0,0 +1,212 @@ +const paths = ["/", "/es"]; + +paths.forEach((path) => { + let lang; + let testName; + if (path === "/") { + lang = "English"; + testName = "BTE"; + } else { + lang = "Español"; + testName = "BTS"; + } + describe(`${lang} home page`, () => { + // Set base URL + beforeEach(() => { + cy.visit(path); + }); + + it(`${testName} 1: Sitewide banner for official government site appears at the top, accordion can be expanded`, () => { + cy.get("header").find(".usa-banner__header").should("be.visible"); + + // Accordion content should not be visible + cy.get("header").find(".usa-banner__content").should("not.be.visible"); + + // Expand accordion + cy.get("header").find(".usa-accordion__button").click(); + + // Accordion content should be visible + cy.get(".usa-banner__content").should("be.visible"); + }); + + it(`${testName} 2: USAGov logo appears in the header area`, () => { + cy.get("header") + .find(".usa-logo") + .find("img") + .then(($img) => { + const imgUrl = $img.prop("src"); + cy.request(imgUrl).its("status").should("eq", 200); + expect($img).to.have.attr("alt"); + }); + }); + + it(`${testName} 3: Link with Contact Center number appears in header area and links to contact page`, () => { + let expectedHref; + + if (path === "/") { + expectedHref = "/phone"; + } else { + expectedHref = "/es/llamenos"; + } + + cy.get("header") + .find("#top-phone") + .find("a") + .invoke("attr", "href") + .then((href) => { + expect(href).to.equal(expectedHref); + }); + }); + + it(`${testName} 4: Español toggle appears and links to Spanish homepage`, () => { + let env; + let expectedHref; + cy.url().then((cyURL) => { + if (cyURL.includes("cms-usagov.docker.local")) { + env = "local"; + } else if (cyURL.includes("beta-stage.usa")) { + env = "stage"; + } else { + env = "prod"; + } + + if (path === "/") { + expectedHref = env == "local" ? "/es" : "/es/"; + } else { + expectedHref = "/"; + } + + cy.get("header") + .find("a.language-link") + .invoke("attr", "href") + .then((href) => { + expect(href).to.equal(expectedHref); + }); + }); + }); + + it(`${testName} 5: Search bar appears with search icon in header region; can successfully complete search`, () => { + const typedText = "housing"; + + // Enters query into search input + cy.get("header") + .find("#search-field-small") + .then((input) => { + cy.wrap(input).type(typedText); + cy.wrap(input).should("have.value", typedText); + cy.wrap(input).type("{enter}"); + }); + + cy.get("#search-field").should("have.value", "housing"); + + // Go back to localhost to test search icon + cy.visit("/"); + cy.get("header") + .find("#search-field-small") + .next() + .find("img") + .should("have.attr", "alt", "Search"); + + cy.get("header").find("#search-field-small").next().click(); + cy.url().should("include", "search.usa.gov"); + }); + + it(`${testName} 6: Main menu appears after header; links work appropriately. All topics link goes down the page.`, () => { + // Main menu appears + cy.get(".usa-nav__primary").should("be.visible"); + + // Test All Topics link + cy.get("li.usa-nav__primary-item a").each(($el) => { + cy.request($el.prop("href")).its("status").should("eq", 200); + }); + }); + + it(`${testName} 7: Banner area/image appears with Welcome text box`, () => { + // TODO: test this in other viewports + cy.get(".banner-div") + .should("be.visible") + .then(($el) => { + const url = $el.css("background-image").match(/url\("(.*)"\)/)[1]; + cy.request(url).its("status").should("be.lessThan", 400); + }); + + cy.get(".welcome-box").should("be.visible"); + }); + + it(`${testName} 8: How do I area appears correctly with links to four pages/topics`, () => { + let expectedText; + + if (path === "/") { + expectedText = "How do I"; + } else { + expectedText = "Cómo puedo..."; + } + + cy.get(".how-box").contains(expectedText).should("be.visible"); + + // Verify there are 4 links + cy.get(".how-box") + .find("a") + .as("links") + .should("be.visible") + .should("have.length", 4); + + // Check each link is valid + cy.get("@links").each((link) => { + cy.visit(link.attr("href")); + cy.contains("Page not found").should("not.exist"); + + cy.go("back"); + }); + }); + + it(`${testName} 9: Jump to All topics and services link/button appears and jumps to correct place on page`, () => { + let expectedText; + + if (path === "/") { + expectedText = "Jump to"; + } else { + expectedText = "Vaya a todos"; + } + + // Check text and button + cy.get(".jump").contains(expectedText); + + cy.get(".jump") + .find("img") + .should("be.visible") + .then(($img) => { + const imgUrl = $img.prop("src"); + cy.request(imgUrl).its("status").should("eq", 200); + expect($img).to.have.attr("alt"); + }); + + // Verify link is valid + cy.get(".jump") + .find("a") + .should("have.attr", "href", "#all-topics-header") + }); + + it(`${testName} 10: Cards under \"All topics and services\" appear correctly (icon, title, text, hover state) and are clickable`, () => { + cy.get(".all-topics-background") + .find(".homepage-card") + .each((el) => { + // Validate link + cy.wrap(el) + .find("a") + .invoke("attr", "href") + .then((href) => { + cy.request(href).its("status").should("eq", 200); + }); + + // Verify number of children + cy.wrap(el).find("a").children().should("have.length", 3); + + // Css check for hover state + cy.wrap(el) + .realHover() + .should("have.css", "background-color", "rgb(204, 236, 242)"); + }); + }); + }); +}); diff --git a/automated_tests/e2e-cypress/cypress/fixtures/footer.json b/automated_tests/e2e-cypress/cypress/fixtures/footer.json new file mode 100644 index 0000000000..9dba914562 --- /dev/null +++ b/automated_tests/e2e-cypress/cypress/fixtures/footer.json @@ -0,0 +1,88 @@ +{ + "socials_heading": [ + "Find us on social media", + "Encuéntrenos en las redes sociales" + ], + "num_socials": [4, 3], + "socials": [ + { + "name": "Facebook", + "icon": "Facebook_Icon.svg", + "alt_text": "Facebook USAGov", + "link": [ + "https://www.facebook.com/USAgov", + "https://www.facebook.com/usagovespanol" + ] + }, + { + "name": "Twitter", + "icon": "X_Twitter_Icon.svg", + "alt_text": "X Twitter USAGov", + "link": [ + "https://twitter.com/USAgov", + "https://twitter.com/usagovespanol" + ] + }, + { + "name": "YouTube", + "icon": "YouTube_Icon.svg", + "alt_text": "Youtube USAGov", + "link": [ + "https://www.youtube.com/usagov1", + "https://www.youtube.com/USAgovespanol" + ] + }, + { + "name": "Instagram", + "icon": "Instagram_Icon.svg", + "alt_text": "Instagram USAGov", + "link": [ + "https://www.instagram.com/usagov", + "" + ] + } + ], + "iconDir": "/themes/custom/usagov/images/social-media-icons/", + + + "contact_heading": [ + "USAGov Contact Center", + "Centro de llamadas de USAGov" + ], + "ask_a_question": [ + "Ask USA.gov a question at", + "Haga una pregunta a USAGov en Español al" + ], + "phone_path": [ + "/phone", + "/es/llamenos" + ], + "phone_number": "1-844-USAGOV1 (1-844-872-4681)", + + + "official_guide": [ + "USAGov is the official guide to government information and services", + "USAGov en Español es la guía oficial de información y servicios del Gobierno" + ], + "official_site": [ + "An official website of the U.S. General Services Administration", + "Un sitio web oficial de la Administración de Servicios Generales de los Estados Unidos (GSA, sigla en inglés)" + ], + "gsa_url": "https://www.gsa.gov/", + "important_links": [ + "Important links", + "Enlaces importantes" + ], + "accessibility_support": [ + "GSA accessibility support", + "Política de accesibilidad de\n GSA (en inglés)" + ], + "privacy_policy": [ + "GSA privacy policy", + "Política de privacidad de\n GSA (en inglés)" + ], + "foia_requests": [ + "FOIA requests", + "Solicitud a través de\n FOIA (en inglés)" + ] +} \ No newline at end of file diff --git a/automated_tests/e2e-cypress/cypress/fixtures/socials.json b/automated_tests/e2e-cypress/cypress/fixtures/socials.json index 430cd025ad..d3edfbd35d 100644 --- a/automated_tests/e2e-cypress/cypress/fixtures/socials.json +++ b/automated_tests/e2e-cypress/cypress/fixtures/socials.json @@ -20,7 +20,7 @@ { "name": "Instagram", "alt_text": "Instagram", - "link": "https://www.instagram.com/usagov/", + "link": "https://www.instagram.com/usagov", "linkEs": "" } ] \ No newline at end of file diff --git a/automated_tests/e2e-cypress/package-lock.json b/automated_tests/e2e-cypress/package-lock.json new file mode 100644 index 0000000000..a81fd2f8c6 --- /dev/null +++ b/automated_tests/e2e-cypress/package-lock.json @@ -0,0 +1,3183 @@ +{ + "name": "e2e-cypress", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "e2e-cypress", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "cypress-mochawesome-reporter": "^3.6.0", + "cypress-real-events": "^1.10.3" + }, + "devDependencies": { + "axe-core": "^4.8.1", + "cypress": "^13.6.6", + "cypress-axe": "^1.5.0", + "cypress-image-diff-js": "^2.1.0", + "cypress-mochawesome-reporter": "^3.6.0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.4.tgz", + "integrity": "sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "devOptional": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@cypress/request": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.1.tgz", + "integrity": "sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ==", + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "http-signature": "~1.3.6", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "performance-now": "^2.1.0", + "qs": "6.10.4", + "safe-buffer": "^5.1.2", + "tough-cookie": "^4.1.3", + "tunnel-agent": "^0.6.0", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@cypress/xvfb": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", + "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==", + "dependencies": { + "debug": "^3.1.0", + "lodash.once": "^4.1.1" + } + }, + "node_modules/@cypress/xvfb/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/@types/node": { + "version": "20.12.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.5.tgz", + "integrity": "sha512-BD+BjQ9LS/D8ST9p5uqBxghlN+S42iuNxjsUGjeZobe/ciXzk2qb1B6IXc6AnRLS+yFJRpN2IPEHMzwspfDJNw==", + "optional": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/sinonjs__fake-timers": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz", + "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==" + }, + "node_modules/@types/sizzle": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.8.tgz", + "integrity": "sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==" + }, + "node_modules/@types/yauzl": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", + "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "peer": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "peer": true + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/async": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" + }, + "node_modules/axe-core": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.9.0.tgz", + "integrity": "sha512-H5orY+M2Fr56DWmMFpMrq5Ge93qjNdPVqzBv5gWK3aD1OvjBEJlEzxf09z93dGVQeI0LiW+aCMIx1QtShC/zUw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/blob-util": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", + "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==" + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "peer": true, + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "dev": true, + "peer": true + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "engines": { + "node": "*" + } + }, + "node_modules/cachedir": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.4.0.tgz", + "integrity": "sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/check-more-types": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", + "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "peer": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-table3": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.4.tgz", + "integrity": "sha512-Lm3L0p+/npIQWNIiyF/nAn7T5dnOwR3xNTHXYEBFBFVPXzCVNZ5lqEC/1eo/EVfpDsQ1I+TX4ORPQgp+UI0CRw==", + "dependencies": { + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" + } + }, + "node_modules/cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dependencies": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "peer": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cypress": { + "version": "13.7.2", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.7.2.tgz", + "integrity": "sha512-FF5hFI5wlRIHY8urLZjJjj/YvfCBrRpglbZCLr/cYcL9MdDe0+5usa8kTIrDHthlEc9lwihbkb5dmwqBDNS2yw==", + "hasInstallScript": true, + "dependencies": { + "@cypress/request": "^3.0.0", + "@cypress/xvfb": "^1.2.4", + "@types/sinonjs__fake-timers": "8.1.1", + "@types/sizzle": "^2.3.2", + "arch": "^2.2.0", + "blob-util": "^2.0.2", + "bluebird": "^3.7.2", + "buffer": "^5.7.1", + "cachedir": "^2.3.0", + "chalk": "^4.1.0", + "check-more-types": "^2.24.0", + "cli-cursor": "^3.1.0", + "cli-table3": "~0.6.1", + "commander": "^6.2.1", + "common-tags": "^1.8.0", + "dayjs": "^1.10.4", + "debug": "^4.3.4", + "enquirer": "^2.3.6", + "eventemitter2": "6.4.7", + "execa": "4.1.0", + "executable": "^4.1.1", + "extract-zip": "2.0.1", + "figures": "^3.2.0", + "fs-extra": "^9.1.0", + "getos": "^3.2.1", + "is-ci": "^3.0.1", + "is-installed-globally": "~0.4.0", + "lazy-ass": "^1.6.0", + "listr2": "^3.8.3", + "lodash": "^4.17.21", + "log-symbols": "^4.0.0", + "minimist": "^1.2.8", + "ospath": "^1.2.2", + "pretty-bytes": "^5.6.0", + "process": "^0.11.10", + "proxy-from-env": "1.0.0", + "request-progress": "^3.0.0", + "semver": "^7.5.3", + "supports-color": "^8.1.1", + "tmp": "~0.2.1", + "untildify": "^4.0.0", + "yauzl": "^2.10.0" + }, + "bin": { + "cypress": "bin/cypress" + }, + "engines": { + "node": "^16.0.0 || ^18.0.0 || >=20.0.0" + } + }, + "node_modules/cypress-axe": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/cypress-axe/-/cypress-axe-1.5.0.tgz", + "integrity": "sha512-Hy/owCjfj+25KMsecvDgo4fC/781ccL+e8p+UUYoadGVM2ogZF9XIKbiM6KI8Y3cEaSreymdD6ZzccbI2bY0lQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "axe-core": "^3 || ^4", + "cypress": "^10 || ^11 || ^12 || ^13" + } + }, + "node_modules/cypress-image-diff-js": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cypress-image-diff-js/-/cypress-image-diff-js-2.1.4.tgz", + "integrity": "sha512-bhsCt1+cp6kIcECtIrS2o67qWgqOlTfam3hMGoGPbOKPTvFDg0/G9wGwPqCPDRuJ0B4LgsQgKpPi4UXoC5SKyg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.12.5", + "@colors/colors": "^1.5.0", + "arg": "^4.1.1", + "cypress-recurse": "^1.13.1", + "fs-extra": "^9.0.1", + "handlebars": "^4.7.7", + "lodash": "^4.17.21", + "pixelmatch": "^5.1.0", + "pngjs": "^3.4.0" + }, + "bin": { + "cypress-image-diff": "bin/cypress-image-diff.js" + }, + "peerDependencies": { + "cypress": ">=9.6.1" + } + }, + "node_modules/cypress-mochawesome-reporter": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/cypress-mochawesome-reporter/-/cypress-mochawesome-reporter-3.8.2.tgz", + "integrity": "sha512-oJZkNzhNmN9ZD+LmZyFuPb8aWaIijyHyqYh52YOBvR6B6ckfJNCHP3A98a+/nG0H4t46CKTNwo+wNpMa4d2kjA==", + "dev": true, + "dependencies": { + "commander": "^10.0.1", + "fs-extra": "^10.0.1", + "mochawesome": "^7.1.3", + "mochawesome-merge": "^4.2.1", + "mochawesome-report-generator": "^6.2.0" + }, + "bin": { + "generate-mochawesome-report": "cli.js" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/LironEr" + }, + "peerDependencies": { + "cypress": ">=6.2.0" + } + }, + "node_modules/cypress-mochawesome-reporter/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/cypress-mochawesome-reporter/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cypress-real-events": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/cypress-real-events/-/cypress-real-events-1.12.0.tgz", + "integrity": "sha512-oiy+4kGKkzc2PT36k3GGQqkGxNiVypheWjMtfyi89iIk6bYmTzeqxapaLHS3pnhZOX1IEbTDUVxh8T4Nhs1tyQ==", + "peerDependencies": { + "cypress": "^4.x || ^5.x || ^6.x || ^7.x || ^8.x || ^9.x || ^10.x || ^11.x || ^12.x || ^13.x" + } + }, + "node_modules/cypress-recurse": { + "version": "1.35.3", + "resolved": "https://registry.npmjs.org/cypress-recurse/-/cypress-recurse-1.35.3.tgz", + "integrity": "sha512-NbFOpEuZT4tFqAB0jQqel7WtVNDe8pvSHE2TfXvYk4pspf3wq98OC2RhhLn3bMnoCnPtY4IHO7e37c+CZ9HnMA==", + "dev": true, + "dependencies": { + "humanize-duration": "^3.27.3" + } + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/dateformat": { + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-4.6.3.tgz", + "integrity": "sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/dayjs": { + "version": "1.11.10", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", + "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==" + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enquirer": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", + "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", + "dependencies": { + "ansi-colors": "^4.1.1", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eventemitter2": { + "version": "6.4.7", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz", + "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==" + }, + "node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dependencies": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/executable": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", + "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", + "dependencies": { + "pify": "^2.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "peer": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "peer": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, + "peer": true, + "bin": { + "flat": "cli.js" + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/fsu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/fsu/-/fsu-1.1.1.tgz", + "integrity": "sha512-xQVsnjJ/5pQtcKh+KjUoZGzVWn4uNkchxTF6Lwjr4Gf7nQr8fmUfhKJ62zE77+xQg9xnxi5KUps7XGs+VC986A==", + "dev": true + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/getos": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", + "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==", + "dependencies": { + "async": "^3.2.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "dev": true, + "peer": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "peer": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/global-dirs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "dependencies": { + "ini": "2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/handlebars": { + "version": "4.7.8", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", + "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.2", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "peer": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/http-signature": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz", + "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==", + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^2.0.2", + "sshpk": "^1.14.1" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "engines": { + "node": ">=8.12.0" + } + }, + "node_modules/humanize-duration": { + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/humanize-duration/-/humanize-duration-3.32.0.tgz", + "integrity": "sha512-6WsXYTHJr7hXKqoqf5zoWza/lANRAqGlbnZnm0cjDykbXuez1JVXOQGmq0EPB45pXYAJyueRA3S3hfhmMbrMEQ==", + "dev": true + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "peer": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-ci": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", + "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", + "dependencies": { + "ci-info": "^3.2.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "peer": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "dependencies": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "peer": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsprim": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", + "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "node_modules/lazy-ass": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", + "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", + "engines": { + "node": "> 0.8" + } + }, + "node_modules/listr2": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", + "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", + "dependencies": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.16", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.5.1", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "enquirer": ">= 2.3.0 < 3" + }, + "peerDependenciesMeta": { + "enquirer": { + "optional": true + } + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "peer": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash.isempty": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.isempty/-/lodash.isempty-4.4.0.tgz", + "integrity": "sha512-oKMuF3xEeqDltrGMfDxAPGIVMSSRv8tbRSODbrs4KGsRRLEhrW8N8Rd4DRgB2+621hY8A8XwwrTVhXWpxFvMzg==", + "dev": true + }, + "node_modules/lodash.isfunction": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz", + "integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==", + "dev": true + }, + "node_modules/lodash.isobject": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-3.0.2.tgz", + "integrity": "sha512-3/Qptq2vr7WeJbB4KHUSKlq8Pl7ASXi3UG6CMbBm8WRtXi8+GHm7mKaU3urfpSEzWe2wCIChs6/sdocUsTKJiA==", + "dev": true + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", + "dev": true + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dependencies": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", + "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "dev": true, + "peer": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mocha": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.4.0.tgz", + "integrity": "sha512-eqhGB8JKapEYcC4ytX/xrzKforgEc3j1pGlAXVy3eRwrtAy5/nIfT1SvgGzfN0XZZxeLq0aQWkOUAmqIJiv+bA==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/mocha/node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/mocha/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "peer": true + }, + "node_modules/mochawesome": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/mochawesome/-/mochawesome-7.1.3.tgz", + "integrity": "sha512-Vkb3jR5GZ1cXohMQQ73H3cZz7RoxGjjUo0G5hu0jLaW+0FdUxUwg3Cj29bqQdh0rFcnyV06pWmqmi5eBPnEuNQ==", + "dev": true, + "dependencies": { + "chalk": "^4.1.2", + "diff": "^5.0.0", + "json-stringify-safe": "^5.0.1", + "lodash.isempty": "^4.4.0", + "lodash.isfunction": "^3.0.9", + "lodash.isobject": "^3.0.2", + "lodash.isstring": "^4.0.1", + "mochawesome-report-generator": "^6.2.0", + "strip-ansi": "^6.0.1", + "uuid": "^8.3.2" + }, + "peerDependencies": { + "mocha": ">=7" + } + }, + "node_modules/mochawesome-merge": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mochawesome-merge/-/mochawesome-merge-4.3.0.tgz", + "integrity": "sha512-1roR6g+VUlfdaRmL8dCiVpKiaUhbPVm1ZQYUM6zHX46mWk+tpsKVZR6ba98k2zc8nlPvYd71yn5gyH970pKBSw==", + "dev": true, + "dependencies": { + "fs-extra": "^7.0.1", + "glob": "^7.1.6", + "yargs": "^15.3.1" + }, + "bin": { + "mochawesome-merge": "bin/mochawesome-merge.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/mochawesome-merge/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/mochawesome-merge/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/mochawesome-merge/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/mochawesome-merge/node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mochawesome-merge/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mochawesome-merge/node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/mochawesome-merge/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/mochawesome-merge/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/mochawesome-merge/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mochawesome-merge/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mochawesome-merge/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mochawesome-merge/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mochawesome-merge/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/mochawesome-merge/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mochawesome-merge/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "node_modules/mochawesome-merge/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mochawesome-merge/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/mochawesome-report-generator": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/mochawesome-report-generator/-/mochawesome-report-generator-6.2.0.tgz", + "integrity": "sha512-Ghw8JhQFizF0Vjbtp9B0i//+BOkV5OWcQCPpbO0NGOoxV33o+gKDYU0Pr2pGxkIHnqZ+g5mYiXF7GMNgAcDpSg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.2", + "dateformat": "^4.5.1", + "escape-html": "^1.0.3", + "fs-extra": "^10.0.0", + "fsu": "^1.1.1", + "lodash.isfunction": "^3.0.9", + "opener": "^1.5.2", + "prop-types": "^15.7.2", + "tcomb": "^3.2.17", + "tcomb-validation": "^3.3.0", + "validator": "^13.6.0", + "yargs": "^17.2.1" + }, + "bin": { + "marge": "bin/cli.js" + } + }, + "node_modules/mochawesome-report-generator/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/mochawesome-report-generator/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/mochawesome-report-generator/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/mochawesome-report-generator/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true, + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/ospath": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", + "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==" + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "peer": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "peer": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==" + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pixelmatch": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-5.3.0.tgz", + "integrity": "sha512-o8mkY4E/+LNUf6LzX96ht6k6CEDi65k9G2rjMtBe9Oo+VPKSvl+0GKHuH/AlG+GA5LPG/i5hrekkxUc3s2HU+Q==", + "dev": true, + "dependencies": { + "pngjs": "^6.0.0" + }, + "bin": { + "pixelmatch": "bin/pixelmatch" + } + }, + "node_modules/pixelmatch/node_modules/pngjs": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz", + "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==", + "dev": true, + "engines": { + "node": ">=12.13.0" + } + }, + "node_modules/pngjs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", + "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/proxy-from-env": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", + "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==" + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.10.4", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.4.tgz", + "integrity": "sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "peer": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "peer": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "dev": true + }, + "node_modules/request-progress": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", + "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==", + "dependencies": { + "throttleit": "^1.0.0" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/rfdc": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.1.tgz", + "integrity": "sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==" + }, + "node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "peer": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sshpk": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", + "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/tcomb": { + "version": "3.2.29", + "resolved": "https://registry.npmjs.org/tcomb/-/tcomb-3.2.29.tgz", + "integrity": "sha512-di2Hd1DB2Zfw6StGv861JoAF5h/uQVu/QJp2g8KVbtfKnoHdBQl5M32YWq6mnSYBQ1vFFrns5B1haWJL7rKaOQ==", + "dev": true + }, + "node_modules/tcomb-validation": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/tcomb-validation/-/tcomb-validation-3.4.1.tgz", + "integrity": "sha512-urVVMQOma4RXwiVCa2nM2eqrAomHROHvWPuj6UkDGz/eb5kcy0x6P0dVt6kzpUZtYMNoAqJLWmz1BPtxrtjtrA==", + "dev": true, + "dependencies": { + "tcomb": "^3.0.0" + } + }, + "node_modules/throttleit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.1.tgz", + "integrity": "sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ==", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" + }, + "node_modules/tmp": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", + "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", + "engines": { + "node": ">=14.14" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "peer": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tough-cookie": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/uglify-js": { + "version": "3.17.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", + "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", + "dev": true, + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "optional": true + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/validator": { + "version": "13.11.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.11.0.tgz", + "integrity": "sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-module": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", + "dev": true + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true + }, + "node_modules/workerpool": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", + "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", + "dev": true, + "peer": true + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "peer": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "dev": true, + "peer": true, + "dependencies": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/automated_tests/e2e-cypress/package.json b/automated_tests/e2e-cypress/package.json new file mode 100644 index 0000000000..cca1fb446b --- /dev/null +++ b/automated_tests/e2e-cypress/package.json @@ -0,0 +1,23 @@ +{ + "name": "e2e-cypress", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "cy:functional": "cypress run --spec cypress/e2e/functional/eng/error_page.cy.js" + }, + "keywords": [], + "author": "", + "license": "ISC", + "devDependencies": { + "axe-core": "^4.8.1", + "cypress": "^13.6.6", + "cypress-axe": "^1.5.0", + "cypress-image-diff-js": "^2.1.0", + "cypress-mochawesome-reporter": "^3.6.0" + }, + "dependencies": { + "cypress-mochawesome-reporter": "^3.6.0", + "cypress-real-events": "^1.10.3" + } +} diff --git a/bin/cloudgov/audit/db-integrity b/bin/cloudgov/audit/db-integrity new file mode 100755 index 0000000000..4d62767778 --- /dev/null +++ b/bin/cloudgov/audit/db-integrity @@ -0,0 +1,82 @@ +#!/bin/bash + +# +# Requires sqlfluff, run brew[or pip] install sqlfluff if this doesn't work. +# + +# we might be running in circleci +if [ -f /home/circleci/project/env.local ]; then + . /home/circleci/project/env.local +fi +# we might be running from a local dev machine +SCRIPT_DIR="$(dirname "$0")" +if [ -f $SCRIPT_DIR/env.local ]; then + . $SCRIPT_DIR/env.local +fi +if [ -f ./env.local ]; then + . ./env.local +fi +if [ -f $SCRIPT_DIR/../../deploy/includes ]; then + . $SCRIPT_DIR/../../deploy/includes +else + echo Cannot find $SCRIPT_DIR/../../deploy/includes + exit 1 +fi + +SPACE=${1:-please-provide-space-name-as-first-argument} +SPACE=$(echo "$SPACE" | tr '[:upper:]' '[:lower:]') +assertCurSpace $SPACE +shift + +echo "Testing static site integrity." + +echo "Getting s3 access." +source bin/cloudgov/get-s3-access storage >/dev/null 2>&1 + +echo "Getting three random backup tags from s3." +DEPLOY_TAGS=$(aws s3 ls s3://"$S3_BUCKET"/db-backup/ | awk '{ print $4 }' | sort -R | tail -n 3 ) + +echo "Tags:" +echo "$DEPLOY_TAGS" + +echo "----------------------------------------------------------------------" +echo "$DEPLOY_TAGS" | while read -r DEPLOY_TAG ; do + echo "Downloading db: $DEPLOY_TAG" + aws s3 cp --only-show-errors s3://"$S3_BUCKET"/db-backup/"$DEPLOY_TAG" "$DEPLOY_TAG" + gunzip "$DEPLOY_TAG" + sleep 5 + SQL_FILE=$(echo "$DEPLOY_TAG" | sed 's/.gz$//') + + echo "Testing: $SQL_FILE" + + size=$(du -hs "$SQL_FILE") + echo "SQL file size: $(echo "$size" | awk '{print $1}')" + + echo "Splitting and Validating SQL. This will take a while. (Split function will output \"csplit: ^CREATE TABLE .\*: no match\"; this is normal, it just means it can't find anymore matches because it's done.)" + + csplit -n 4 -k $SQL_FILE '/^CREATE TABLE .*/' '{800}' > db_log.log + + # Read the first line, extract table name and rename the file + ERROR="" + for f in $(ls xx*); do + table_name=$(head -1 $f | awk '{ sub(/.*CREATE TABLE /, ""); sub(/ .*/, ""); print }') + echo "Validating table $table_name (split from $SQL_FILE)" >> db_log.log + + validate=$(sqlfluff lint "$f") + + if [ "$validate" != "All Finished!" ]; then + ERROR+=$validate + fi + rm $f + done; + if [ -n "$ERROR" ]; then + echo -e "\033[0;31mSQL file is invalid. SQL file will be retained for further inspection. Error(s):" + echo -e "$validate\033[0m" + else + echo "SQL valid." + rm $SQL_FILE + fi +echo "----------------------------------------------------------------------" + +done +echo "Automated testing complete." diff --git a/bin/cloudgov/events/README.md b/bin/cloudgov/events/README.md new file mode 100644 index 0000000000..25dd67dfa7 --- /dev/null +++ b/bin/cloudgov/events/README.md @@ -0,0 +1,12 @@ +# Cloud Foundry Event API - events available from the API + + +## There are two files in this directory, containing info on the events available from the API + +1. all-event-names.txt + + This is just a text file containing all the event names available. This was used to when upgrading the `get-events` from API v2 to v3. (compared the deprecated event names in the script against the new event names in order to implement and changes/additions/deletions). + +1. v3-events.json + + This is a formatted JSON file, with the category names, as well as the event names. This could theoretically be used to build event queries programmatically, rather than have them hardcoded into the `get-events` (or any other) script. diff --git a/bin/cloudgov/events/all-event-names.txt b/bin/cloudgov/events/all-event-names.txt new file mode 100644 index 0000000000..137d36b1d4 --- /dev/null +++ b/bin/cloudgov/events/all-event-names.txt @@ -0,0 +1,118 @@ +app.crash +audit.app.apply_manifest +audit.app.build.create +audit.app.copy-bits +audit.app.create +audit.app.delete-request +audit.app.deployment.cancel +audit.app.deployment.continue +audit.app.deployment.create +audit.app.droplet.create +audit.app.droplet.delete +audit.app.droplet.download +audit.app.droplet.mapped +audit.app.droplet.upload +audit.app.environment.show +audit.app.environment_variables.show +audit.app.map-route +audit.app.package.create +audit.app.package.delete +audit.app.package.download +audit.app.package.upload +audit.app.process.crash +audit.app.process.create +audit.app.process.delete +audit.app.process.not-ready +audit.app.process.ready +audit.app.process.rescheduling +audit.app.process.scale +audit.app.process.terminate_instance +audit.app.process.update +audit.app.restage +audit.app.restart +audit.app.revision.create +audit.app.revision.environment_variables.show +audit.app.ssh-authorized +audit.app.ssh-unauthorized +audit.app.start +audit.app.stop +audit.app.task.cancel +audit.app.task.create +audit.app.unmap-route +audit.app.update +audit.app.upload-bits +audit.organization.create +audit.organization.delete-request +audit.organization.update +audit.route.create +audit.route.delete-request +audit.route.share +audit.route.transfer-owner +audit.route.unshare +audit.route.update +audit.service.create +audit.service.delete +audit.service_binding.create +audit.service_binding.delete +audit.service_binding.show +audit.service_binding.start_create +audit.service_binding.start_delete +audit.service_binding.update +audit.service_broker.create +audit.service_broker.delete +audit.service_broker.update +audit.service_dashboard_client.create +audit.service_dashboard_client.delete +audit.service_instance.bind_route +audit.service_instance.create +audit.service_instance.delete +audit.service_instance.purge +audit.service_instance.share +audit.service_instance.show +audit.service_instance.start_create +audit.service_instance.start_delete +audit.service_instance.start_update +audit.service_instance.unbind_route +audit.service_instance.unshare +audit.service_instance.update +audit.service_key.create +audit.service_key.delete +audit.service_key.show +audit.service_key.start_create +audit.service_key.start_delete +audit.service_key.update +audit.service_plan.create +audit.service_plan.delete +audit.service_plan.update +audit.service_plan_visibility.create +audit.service_plan_visibility.delete +audit.service_plan_visibility.update +audit.service_route_binding.create +audit.service_route_binding.delete +audit.service_route_binding.start_create +audit.service_route_binding.start_delete +audit.service_route_binding.update +audit.space.create +audit.space.delete-request +audit.space.update +audit.user.organization_auditor_add +audit.user.organization_auditor_remove +audit.user.organization_billing_manager_add +audit.user.organization_billing_manager_remove +audit.user.organization_manager_add +audit.user.organization_manager_remove +audit.user.organization_user_add +audit.user.organization_user_remove +audit.user.space_auditor_add +audit.user.space_auditor_remove +audit.user.space_developer_add +audit.user.space_developer_remove +audit.user.space_manager_add +audit.user.space_manager_remove +audit.user.space_supporter_add +audit.user.space_supporter_remove +audit.user_provided_service_instance.create +audit.user_provided_service_instance.delete +audit.user_provided_service_instance.show +audit.user_provided_service_instance.update +blob.remove_orphan diff --git a/bin/cloudgov/events/get-events b/bin/cloudgov/events/get-events index c66671336a..6ea17e43f2 100755 --- a/bin/cloudgov/events/get-events +++ b/bin/cloudgov/events/get-events @@ -87,25 +87,17 @@ if [ -z "$LAST_EVENT_TIME" ]; then fi declare -rA AUDIT_TYPES=( - ["app"]="audit.app.create,audit.app.start,audit.app.restage,audit.app.stop,audit.app.delete" - ["user"]="audit.user.space_developer_add,audit.user.space_developer_remove,audit.user.space_auditor_add,audit.user.space_auditor_remove,audit.user.space_manager_add,audit.user.space_manager_remove" - ["route"]="audit.route.create,audit.route.delete-request,audit.route.update" - ["service"]="audit.service.create,audit.service.delete,audit.service.update,audit.service_binding.create,audit.service_binding.delete,service_instance.bind_route,audit.service_instance.create,audit.service_instance.delete,audit.service_instance.unbind_route,audit.service_instance.update" - ["service_instance"]="audit.service_instance.create,audit.service_instance.bind_route,audit.service_instance.update,audit.service_instance.unbind_route,audit.service_instance.delete" + ["all_events"]="audit.app.create,audit.app.delete-request,audit.app.restage,audit.app.restart,audit.app.start,audit.app.stop,audit.app.task.cancel,audit.app.task.create,audit.app.ssh-authorized,audit.app.ssh-unauthorized,audit.app.map-route,audit.app.unmap-route,audit.route.create,audit.route.delete-request,audit.route.update,audit.service_instance.bind_route,audit.service_instance.unbind_route,audit.user.organization_manager_add,audit.user.organization_manager_remove,audit.user.space_auditor_add,audit.user.space_auditor_remove,audit.user.space_developer_add,audit.user.space_developer_remove,audit.user.space_manager_add,audit.user.space_manager_remove,audit.service.create,audit.service.delete,audit.service_binding.create,audit.service_binding.delete,audit.service_binding.update,audit.service_instance.create,audit.service_instance.delete,audit.service_instance.update,audit.service_key.create,audit.service_key.delete,audit.service_key.update,audit.space.create,audit.space.delete-request,audit.space.update,audit.user_provided_service_instance.create,audit.user_provided_service_instance.delete,audit.user_provided_service_instance.update,audit.app.deployment.create,audit.app.deployment.cancel,audit.app.droplet.create,audit.app.droplet.delete,audit.app.process.create,audit.app.process.crash,audit.app.process.update,audit.app.process.terminate_instance" ) ### These are the same currently, but may change. Therefore I've got them in variables for now declare -rA AUDIT_FIELDS=( - ["app"]=".metadata.guid, .entity.timestamp, .entity.type, .entity.actee_name, .entity.space_guid, .entity.actor_type, .entity.actor_name" - ["user"]=".metadata.guid, .entity.timestamp, .entity.type, .entity.actee_name, .entity.space_guid, .entity.actor_type, .entity.actor_name" - ["route"]=".metadata.guid, .entity.timestamp, .entity.type, .entity.actee_name, .entity.space_guid, .entity.actor_type, .entity.actor_name" - ["service"]=".metadata.guid, .entity.timestamp, .entity.type, .entity.actee_name, .entity.space_guid, .entity.actor_type, .entity.actor_name" - ["service_instance"]=".metadata.guid, .entity.timestamp, .entity.type, .entity.actee_name, .entity.space_guid, .entity.actor_type, .entity.actor_name" + ["all_events"]=".guid, .created_at, .type, .target.name, .space.guid, .actor.type, .actor.name" ) ### Reformat event outoput into key:value pairs that can be more easily ingested by NewRelic (1) match='"\(.*\)","\(.*\)","\(.*\)","\(.*\)","\(.*\)","\(.*\)","\(.*\)"' -replace='{"cfevent.metadata.guid":"\1","timestamp":"\2","cfevent.entity.type":"\3","cfevent.entity.actee_name":"\4","cfevent.entity.space_name":"\5","cfevent.entity.actor_type":"\6","cfevent.entity.actor_name":"\7","mobomo.logrev.cfevent":"2"}' +replace='{"cfevent.metadata.guid":"\1","timestamp":"\2","cfevent.entity.type":"\3","cfevent.entity.actee_name":"\4","cfevent.entity.space_name":"\5","cfevent.entity.actor_type":"\6","cfevent.entity.actor_name":"\7","mobomo.logrev.cfevent":"3"}' # For each category of audit events, perform a (possibly multi-page) query for resource_type in ${!AUDIT_TYPES[@]}; do @@ -113,12 +105,10 @@ for resource_type in ${!AUDIT_TYPES[@]}; do fields=${AUDIT_FIELDS[$resource_type]} # Manually create the query to fetch the first page of results - NEXT="/v2/events?&q=type+IN+${types}&q=organization_guid:${ORG_GUID}&q=space_guid:${SPACE_GUID}&q=timestamp>${LAST_EVENT_TIME}&order-by:timestamp" - - while [ -n $NEXT -a ! $NEXT == 'null' ]; do + NEXT="/v3/audit_events?types=${types}&organization_guids=${ORG_GUID}&space_guids=${SPACE_GUID}&created_ats[gt]=${LAST_EVENT_TIME}&order_by=created_at" + while [ -n "$NEXT" -a ! "$NEXT" == 'null' ]; do EVENTS=$(cf curl $NEXT) - ## Reformat event outoput into key:value pairs that can be more easily ingested by NewRelic (2) captured_events=$(echo "$EVENTS" | jq -r ".resources[] | [$fields] | @csv" | sed "s/$match/$replace/g") @@ -133,6 +123,6 @@ for resource_type in ${!AUDIT_TYPES[@]}; do fi # Each query provides the URL for the next page of results. Use it to loop through pages - NEXT=$(echo $EVENTS | jq -r '.next_url') + NEXT=$(echo $EVENTS | jq -r '.pagination.next.href' | sed 's/\\//g' | sed 's/https:\/\/api.fr.cloud.gov//') done done diff --git a/bin/cloudgov/events/v3-events.json b/bin/cloudgov/events/v3-events.json new file mode 100644 index 0000000000..17bde161b9 --- /dev/null +++ b/bin/cloudgov/events/v3-events.json @@ -0,0 +1,441 @@ +{ + "event_category": [ + { + "title": "App lifecycle", + "events": [ + { + "name": "audit.app.apply_manifest" + }, + { + "name": "audit.app.build.create" + }, + { + "name": "audit.app.copy-bits" + }, + { + "name": "audit.app.create" + }, + { + "name": "audit.app.delete-request" + }, + { + "name": "audit.app.deployment.cancel" + }, + { + "name": "audit.app.deployment.create" + }, + { + "name": "audit.app.deployment.continue" + }, + { + "name": "audit.app.droplet.create" + }, + { + "name": "audit.app.droplet.delete" + }, + { + "name": "audit.app.droplet.download" + }, + { + "name": "audit.app.droplet.mapped" + }, + { + "name": "audit.app.droplet.upload" + }, + { + "name": "audit.app.environment.show" + }, + { + "name": "audit.app.environment_variables.show" + }, + { + "name": "audit.app.map-route" + }, + { + "name": "audit.app.package.create" + }, + { + "name": "audit.app.package.delete" + }, + { + "name": "audit.app.package.download" + }, + { + "name": "audit.app.package.upload" + }, + { + "name": "audit.app.process.crash" + }, + { + "name": "audit.app.process.create" + }, + { + "name": "audit.app.process.delete" + }, + { + "name": "audit.app.process.ready" + }, + { + "name": "audit.app.process.not-ready" + }, + { + "name": "audit.app.process.rescheduling" + }, + { + "name": "audit.app.process.scale" + }, + { + "name": "audit.app.process.terminate_instance" + }, + { + "name": "audit.app.process.update" + }, + { + "name": "audit.app.restage" + }, + { + "name": "audit.app.restart" + }, + { + "name": "audit.app.revision.create" + }, + { + "name": "audit.app.revision.environment_variables.show" + }, + { + "name": "audit.app.ssh-authorized" + }, + { + "name": "audit.app.ssh-unauthorized" + }, + { + "name": "audit.app.start" + }, + { + "name": "audit.app.stop" + }, + { + "name": "audit.app.task.cancel" + }, + { + "name": "audit.app.task.create" + }, + { + "name": "audit.app.unmap-route" + }, + { + "name": "audit.app.update" + }, + { + "name": "audit.app.upload-bits" + } + ] + }, + { + "title": "Organization lifecycle", + "events": [ + { + "name": "audit.organization.create" + }, + { + "name": "audit.organization.delete-request" + }, + { + "name": "audit.organization.update" + } + ] + }, + { + "title": "Route lifecycle", + "events": [ + { + "name": "audit.route.create" + }, + { + "name": "audit.route.delete-request" + }, + { + "name": "audit.route.share" + }, + { + "name": "audit.route.transfer-owner" + }, + { + "name": "audit.route.unshare" + }, + { + "name": "audit.route.update" + } + ] + }, + { + "title": "Service lifecycle", + "events": [ + { + "name": "audit.service.create" + }, + { + "name": "audit.service.delete" + }, + { + "nasme": "audit.service.update" + } + ] + }, + { + "title": "Service_binding lifecycle", + "events": [ + { + "name": "audit.service_binding.create" + }, + { + "name": "audit.service_binding.delete" + }, + { + "name": "audit.service_binding.show" + }, + { + "name": "audit.service_binding.start_create" + }, + { + "name": "audit.service_binding.start_delete" + }, + { + "name": "audit.service_binding.update" + } + ] + }, + { + "title": "Service_broker lifecycle", + "events": [ + { + "name": "audit.service_broker.create" + }, + { + "name": "audit.service_broker.delete" + }, + { + "name": "audit.service_broker.update" + } + ] + }, + { + "title": "Service_dashboard_client lifecycle", + "events": [ + { + "name": "audit.service_dashboard_client.create" + }, + { + "name": "audit.service_dashboard_client.delete" + } + ] + }, + { + "title": "Service_instance lifecycle", + "events": [ + { + "name": "audit.service_instance.bind_route" + }, + { + "name": "audit.service_instance.create" + }, + { + "name": "audit.service_instance.delete" + }, + { + "name": "audit.service_instance.purge" + }, + { + "name": "audit.service_instance.share" + }, + { + "name": "audit.service_instance.show" + }, + { + "name": "audit.service_instance.start_create" + }, + { + "name": "audit.service_instance.start_delete" + }, + { + "name": "audit.service_instance.start_update" + }, + { + "name": "audit.service_instance.unbind_route" + }, + { + "name": "audit.service_instance.unshare" + }, + { + "name": "audit.service_instance.update" + } + ] + }, + { + "title": "Service_key lifecycle", + "events": [ + { + "name": "audit.service_key.create" + }, + { + "name": "audit.service_key.delete" + }, + { + "name": "audit.service_key.show" + }, + { + "name": "audit.service_key.start_create" + }, + { + "name": "audit.service_key.start_delete" + }, + { + "name": "audit.service_key.update" + } + ] + }, + { + "title": "Service_plan lifecycle", + "events": [ + { + "name": "audit.service_plan.create" + }, + { + "name": "audit.service_plan.delete" + }, + { + "name": "audit.service_plan.update" + } + ] + }, + { + "title": "Service_plan_visibility lifecycle", + "events": [ + { + "name": "audit.service_plan_visibility.create" + }, + { + "name": "audit.service_plan_visibility.delete" + }, + { + "name": "audit.service_plan_visibility.update" + } + ] + }, + { + "title": "Service_route_binding lifecycle", + "events": [ + { + "name": "audit.service_route_binding.create" + }, + { + "name": "audit.service_route_binding.delete" + }, + { + "name": "audit.service_route_binding.start_create" + }, + { + "name": "audit.service_route_binding.start_delete" + }, + { + "name": "audit.service_route_binding.update" + } + ] + }, + { + "title": "Space lifecycle", + "events": [ + { + "name": "audit.space.create" + }, + { + "name": "audit.space.delete-request" + }, + { + "name": "audit.space.update" + } + ] + }, + { + "title": "User lifecycle", + "events": [ + { + "name": "audit.user.organization_auditor_add" + }, + { + "name": "audit.user.organization_auditor_remove" + }, + { + "name": "audit.user.organization_billing_manager_add" + }, + { + "name": "audit.user.organization_billing_manager_remove" + }, + { + "name": "audit.user.organization_manager_add" + }, + { + "name": "audit.user.organization_manager_remove" + }, + { + "name": "audit.user.organization_user_add" + }, + { + "name": "audit.user.organization_user_remove" + }, + { + "name": "audit.user.space_auditor_add" + }, + { + "name": "audit.user.space_auditor_remove" + }, + { + "name": "audit.user.space_developer_add" + }, + { + "name": "audit.user.space_developer_remove" + }, + { + "name": "audit.user.space_manager_add" + }, + { + "name": "audit.user.space_manager_remove" + }, + { + "name": "audit.user.space_supporter_add" + }, + { + "name": "audit.user.space_supporter_remove" + } + ] + }, + { + "title": "User_provided_service_instance lifecycle", + "events": [ + { + "name": "audit.user_provided_service_instance.create" + }, + { + "name": "audit.user_provided_service_instance.delete" + }, + { + "name": "audit.user_provided_service_instance.show" + }, + { + "name": "audit.user_provided_service_instance.update" + } + ] + }, + { + "title": "Special events", + "events": [ + { + "name": "app.crash" + }, + { + "name": "blob.remove_orphan" + } + ] + } + ] +} diff --git a/bin/deploy/git-annotated-tag-creator.sh b/bin/deploy/git-annotated-tag-creator.sh index c9bbb7e578..76e3c9368d 100755 --- a/bin/deploy/git-annotated-tag-creator.sh +++ b/bin/deploy/git-annotated-tag-creator.sh @@ -53,7 +53,7 @@ assertIsImageDigest $WWW_DIGEST shift if [ $CMS_DIGEST = $WAF_DIGEST -o $CMS_DIGEST = $WWW_DIGEST ]; then - echo "Cannot use the same digest for any of the CMS, WAF and WWW images!" + echo "Cannot use the same digest for any of the CMS, WAF or WWW images - please check the arguments that were passed" exit 1 fi diff --git a/bin/deploy/git-annotation-parser.sh b/bin/deploy/git-annotation-parser.sh index 3a34a1d07e..5f8b25f382 100755 --- a/bin/deploy/git-annotation-parser.sh +++ b/bin/deploy/git-annotation-parser.sh @@ -157,7 +157,7 @@ if [ -n $ANNOTATED_TAG ]; then echo echo " ROUTE_SERVICE_APP_NAME=waf \\ ROUTE_SERVICE_NAME=waf-route-${SPACE}-usagov \\ - PROTECTED_APP_NAME=cms \\ + PROTECTED_APP_NAMES=cms \\ bin/cloudgov/deploy-waf $CCI_BUILD $WAF_DIGEST" echo echo diff --git a/composer.json b/composer.json index ecf8b66456..c691cb717f 100644 --- a/composer.json +++ b/composer.json @@ -40,6 +40,7 @@ "drupal/faqfield": "^7.1", "drupal/feeds": "^3.0@beta", "drupal/field_defaults": "^2.0", + "drupal/field_group": "^3.6", "drupal/field_permissions": "^1.1", "drupal/hierarchy_manager": "^3.3", "drupal/image_style_warmer": "^1.1", @@ -134,6 +135,9 @@ ] }, + "patchLevel": { + "drupal/core": "-p2" + }, "patches": { "drupal/tome": { "CSS on Amazon S3 via Flysystem not processing properly": "https://www.drupal.org/files/issues/2020-08-06/3161384-4.patch", @@ -143,9 +147,7 @@ }, "drupal/core": { "Enable MenuActiveTrail to find the original menu item created by node_menus": "./patches/drupal/correctActiveTrail_d10.patch", - "Show views theme suggestions in twig debug": "https://www.drupal.org/files/issues/2024-06-06/2118743-251.patch", - "Add a taxonomy revision UI": "https://www.drupal.org/files/issues/2023-10-26/add-taxonomy-revision-ui-2936995-58.patch", - "Enable taxonomy revision log message": "./patches/drupal/taxonomy_revision_log.patch" + "Show views theme suggestions in twig debug": "./patches/drupal/viewsSuggestions-10_3.patch" }, "drupal/autologout": { "Autologout can log out out from other tabs": "https://www.drupal.org/files/issues/2024-06-03/3395581-7.patch" diff --git a/composer.lock b/composer.lock index 740db231cb..26b42f865d 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "06ca7c5968b37fb09f0f66a126ffa880", + "content-hash": "93324a928ad5a44abbc3c4ab0c967cd6", "packages": [ { "name": "asm89/stack-cors", @@ -64,16 +64,16 @@ }, { "name": "aws/aws-crt-php", - "version": "v1.2.6", + "version": "v1.2.7", "source": { "type": "git", "url": "https://github.com/awslabs/aws-crt-php.git", - "reference": "a63485b65b6b3367039306496d49737cf1995408" + "reference": "d71d9906c7bb63a28295447ba12e74723bd3730e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/awslabs/aws-crt-php/zipball/a63485b65b6b3367039306496d49737cf1995408", - "reference": "a63485b65b6b3367039306496d49737cf1995408", + "url": "https://api.github.com/repos/awslabs/aws-crt-php/zipball/d71d9906c7bb63a28295447ba12e74723bd3730e", + "reference": "d71d9906c7bb63a28295447ba12e74723bd3730e", "shasum": "" }, "require": { @@ -112,22 +112,22 @@ ], "support": { "issues": "https://github.com/awslabs/aws-crt-php/issues", - "source": "https://github.com/awslabs/aws-crt-php/tree/v1.2.6" + "source": "https://github.com/awslabs/aws-crt-php/tree/v1.2.7" }, - "time": "2024-06-13T17:21:28+00:00" + "time": "2024-10-18T22:15:13+00:00" }, { "name": "aws/aws-sdk-php", - "version": "3.314.7", + "version": "3.324.13", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "3a7ea3e49ae50eaaa969dc15d69b2dd46b4d7284" + "reference": "781cb9594f7d1754c888452f980748115fd159d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/3a7ea3e49ae50eaaa969dc15d69b2dd46b4d7284", - "reference": "3a7ea3e49ae50eaaa969dc15d69b2dd46b4d7284", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/781cb9594f7d1754c888452f980748115fd159d3", + "reference": "781cb9594f7d1754c888452f980748115fd159d3", "shasum": "" }, "require": { @@ -180,7 +180,10 @@ ], "psr-4": { "Aws\\": "src/" - } + }, + "exclude-from-classmap": [ + "src/data/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -207,9 +210,9 @@ "support": { "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", "issues": "https://github.com/aws/aws-sdk-php/issues", - "source": "https://github.com/aws/aws-sdk-php/tree/3.314.7" + "source": "https://github.com/aws/aws-sdk-php/tree/3.324.13" }, - "time": "2024-06-24T21:03:27+00:00" + "time": "2024-10-29T18:11:10+00:00" }, { "name": "caxy/php-htmldiff", @@ -549,24 +552,24 @@ }, { "name": "composer/semver", - "version": "3.4.2", + "version": "3.4.3", "source": { "type": "git", "url": "https://github.com/composer/semver.git", - "reference": "c51258e759afdb17f1fd1fe83bc12baaef6309d6" + "reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/c51258e759afdb17f1fd1fe83bc12baaef6309d6", - "reference": "c51258e759afdb17f1fd1fe83bc12baaef6309d6", + "url": "https://api.github.com/repos/composer/semver/zipball/4313d26ada5e0c4edfbd1dc481a92ff7bff91f12", + "reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12", "shasum": "" }, "require": { "php": "^5.3.2 || ^7.0 || ^8.0" }, "require-dev": { - "phpstan/phpstan": "^1.4", - "symfony/phpunit-bridge": "^4.2 || ^5" + "phpstan/phpstan": "^1.11", + "symfony/phpunit-bridge": "^3 || ^7" }, "type": "library", "extra": { @@ -610,7 +613,7 @@ "support": { "irc": "ircs://irc.libera.chat:6697/composer", "issues": "https://github.com/composer/semver/issues", - "source": "https://github.com/composer/semver/tree/3.4.2" + "source": "https://github.com/composer/semver/tree/3.4.3" }, "funding": [ { @@ -626,7 +629,7 @@ "type": "tidelift" } ], - "time": "2024-07-12T11:35:52+00:00" + "time": "2024-09-19T14:15:21+00:00" }, { "name": "consolidation/annotated-command", @@ -848,16 +851,16 @@ }, { "name": "consolidation/output-formatters", - "version": "4.5.0", + "version": "4.6.0", "source": { "type": "git", "url": "https://github.com/consolidation/output-formatters.git", - "reference": "7a611b01eb48eb19cd54672339fc08c0985bf540" + "reference": "5fd5656718d7068a02d046f418a7ba873d5abbfe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/consolidation/output-formatters/zipball/7a611b01eb48eb19cd54672339fc08c0985bf540", - "reference": "7a611b01eb48eb19cd54672339fc08c0985bf540", + "url": "https://api.github.com/repos/consolidation/output-formatters/zipball/5fd5656718d7068a02d046f418a7ba873d5abbfe", + "reference": "5fd5656718d7068a02d046f418a7ba873d5abbfe", "shasum": "" }, "require": { @@ -896,9 +899,9 @@ "description": "Format text by applying transformations provided by plug-in formatters.", "support": { "issues": "https://github.com/consolidation/output-formatters/issues", - "source": "https://github.com/consolidation/output-formatters/tree/4.5.0" + "source": "https://github.com/consolidation/output-formatters/tree/4.6.0" }, - "time": "2024-04-02T15:18:52+00:00" + "time": "2024-10-18T14:02:48+00:00" }, { "name": "consolidation/robo", @@ -1194,16 +1197,16 @@ }, { "name": "dflydev/dot-access-data", - "version": "v3.0.2", + "version": "v3.0.3", "source": { "type": "git", "url": "https://github.com/dflydev/dflydev-dot-access-data.git", - "reference": "f41715465d65213d644d3141a6a93081be5d3549" + "reference": "a23a2bf4f31d3518f3ecb38660c95715dfead60f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/f41715465d65213d644d3141a6a93081be5d3549", - "reference": "f41715465d65213d644d3141a6a93081be5d3549", + "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/a23a2bf4f31d3518f3ecb38660c95715dfead60f", + "reference": "a23a2bf4f31d3518f3ecb38660c95715dfead60f", "shasum": "" }, "require": { @@ -1263,9 +1266,9 @@ ], "support": { "issues": "https://github.com/dflydev/dflydev-dot-access-data/issues", - "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.2" + "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.3" }, - "time": "2022-10-27T11:44:00+00:00" + "time": "2024-07-08T12:26:09+00:00" }, { "name": "doctrine/annotations", @@ -1431,16 +1434,16 @@ }, { "name": "doctrine/common", - "version": "3.4.4", + "version": "3.4.5", "source": { "type": "git", "url": "https://github.com/doctrine/common.git", - "reference": "0aad4b7ab7ce8c6602dfbb1e1a24581275fb9d1a" + "reference": "6c8fef961f67b8bc802ce3e32e3ebd1022907286" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/common/zipball/0aad4b7ab7ce8c6602dfbb1e1a24581275fb9d1a", - "reference": "0aad4b7ab7ce8c6602dfbb1e1a24581275fb9d1a", + "url": "https://api.github.com/repos/doctrine/common/zipball/6c8fef961f67b8bc802ce3e32e3ebd1022907286", + "reference": "6c8fef961f67b8bc802ce3e32e3ebd1022907286", "shasum": "" }, "require": { @@ -1502,7 +1505,7 @@ ], "support": { "issues": "https://github.com/doctrine/common/issues", - "source": "https://github.com/doctrine/common/tree/3.4.4" + "source": "https://github.com/doctrine/common/tree/3.4.5" }, "funding": [ { @@ -1518,7 +1521,7 @@ "type": "tidelift" } ], - "time": "2024-04-16T13:35:33+00:00" + "time": "2024-10-08T15:53:43+00:00" }, { "name": "doctrine/deprecations", @@ -1900,20 +1903,20 @@ }, { "name": "drupal/admin_toolbar", - "version": "3.4.2", + "version": "3.5.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/admin_toolbar.git", - "reference": "3.4.2" + "reference": "3.5.0" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/admin_toolbar-3.4.2.zip", - "reference": "3.4.2", - "shasum": "f5a008e5c73f5a11c6c8067c0ea6ebb76aa33854" + "url": "https://ftp.drupal.org/files/projects/admin_toolbar-3.5.0.zip", + "reference": "3.5.0", + "shasum": "099e8d4dc98e1d551b4f9cffdc39599eb8ad04e8" }, "require": { - "drupal/core": "^9.2 || ^10" + "drupal/core": "^9.5 || ^10 || ^11" }, "require-dev": { "drupal/admin_toolbar_tools": "*" @@ -1921,8 +1924,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "3.4.2", - "datestamp": "1696006195", + "version": "3.5.0", + "datestamp": "1722639094", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -1955,12 +1958,16 @@ "homepage": "https://www.drupal.org/u/matio89", "role": "Maintainer" }, + { + "name": "japerry", + "homepage": "https://www.drupal.org/user/45640" + }, { "name": "matio89", "homepage": "https://www.drupal.org/user/2320090" }, { - "name": "Musa.thomas", + "name": "musa.thomas", "homepage": "https://www.drupal.org/user/1213824" }, { @@ -1981,20 +1988,20 @@ }, { "name": "drupal/allowed_formats", - "version": "3.0.0", + "version": "3.0.1", "source": { "type": "git", "url": "https://git.drupalcode.org/project/allowed_formats.git", - "reference": "3.0.0" + "reference": "3.0.1" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/allowed_formats-3.0.0.zip", - "reference": "3.0.0", - "shasum": "1dad855db0e12fa3cdef8ca4e3bfc98f89090490" + "url": "https://ftp.drupal.org/files/projects/allowed_formats-3.0.1.zip", + "reference": "3.0.1", + "shasum": "9dfaed3ab8425ee94146914fdb492cefc6c6bb4d" }, "require": { - "drupal/core": "^10.1" + "drupal/core": "^10.1 || ^11" }, "conflict": { "drupal/core": "<10.1.0" @@ -2002,8 +2009,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "3.0.0", - "datestamp": "1693983469", + "version": "3.0.1", + "datestamp": "1723158950", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -2078,7 +2085,7 @@ ], "authors": [ { - "name": "AjitS", + "name": "ajits", "homepage": "https://www.drupal.org/user/981944" }, { @@ -2121,6 +2128,10 @@ "name": "prabeen.giri", "homepage": "https://www.drupal.org/user/913078" }, + { + "name": "scott_earnest", + "homepage": "https://www.drupal.org/user/416158" + }, { "name": "str8", "homepage": "https://www.drupal.org/user/2865063" @@ -2276,29 +2287,29 @@ }, { "name": "drupal/ckeditor_media_resize", - "version": "1.0.0-beta1", + "version": "1.0.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/ckeditor_media_resize.git", - "reference": "1.0.0-beta1" + "reference": "1.0.0" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/ckeditor_media_resize-1.0.0-beta1.zip", - "reference": "1.0.0-beta1", - "shasum": "84fed6d2eeb21e9b82c362a1280650821605e177" + "url": "https://ftp.drupal.org/files/projects/ckeditor_media_resize-1.0.0.zip", + "reference": "1.0.0", + "shasum": "0e700e53a9aaedbd7586d3fc995201bed14e12a8" }, "require": { - "drupal/core": "^9.4 || ^10" + "drupal/core": "^10.3.0 || ^11" }, "type": "drupal-module", "extra": { "drupal": { - "version": "1.0.0-beta1", - "datestamp": "1699120747", + "version": "1.0.0", + "datestamp": "1730224770", "security-coverage": { - "status": "not-covered", - "message": "Beta releases are not covered by Drupal security advisories." + "status": "covered", + "message": "Covered by Drupal's security advisory policy" } } }, @@ -2317,7 +2328,7 @@ "homepage": "https://www.drupal.org/user/1336864" }, { - "name": "Tim Bozeman", + "name": "tim bozeman", "homepage": "https://www.drupal.org/user/2241356" } ], @@ -2343,7 +2354,7 @@ }, "require": { "drupal/ckeditor": "*", - "drupal/core": "^8 || ^9 || ^10 || ^11" + "drupal/core": "^8 || ^9 || ^10 || ^11 || ^12" }, "type": "drupal-module", "extra": { @@ -2429,27 +2440,28 @@ }, { "name": "drupal/composer_deploy", - "version": "1.7.0", + "version": "1.10.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/composer_deploy.git", - "reference": "8.x-1.7" + "reference": "8.x-1.10" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/composer_deploy-8.x-1.7.zip", - "reference": "8.x-1.7", - "shasum": "545cb7d83c701fb68f4d95522f24d7270332ce8a" + "url": "https://ftp.drupal.org/files/projects/composer_deploy-8.x-1.10.zip", + "reference": "8.x-1.10", + "shasum": "71a80d50a6f2a0f1f00fcae3dd61865ef3caf6bd" }, "require": { - "drupal/core": "^8.8 || ^9 || ^10", - "webflo/drupal-finder": "^1.2" + "drupal/core": "^9 || ^10 || ^11", + "php": ">=8.1", + "webflo/drupal-finder": "^1.3" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.7", - "datestamp": "1660818349", + "version": "8.x-1.10", + "datestamp": "1728893427", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -2617,7 +2629,7 @@ "homepage": "https://www.drupal.org/user/157725" }, { - "name": "AstonVictor", + "name": "astonvictor", "homepage": "https://www.drupal.org/user/3466615" }, { @@ -2705,16 +2717,16 @@ }, { "name": "drupal/core", - "version": "10.2.8", + "version": "10.3.6", "source": { "type": "git", "url": "https://github.com/drupal/core.git", - "reference": "74106472294be770cb76d93bb5a239f7ce741716" + "reference": "168ec99f2012aeb4e93c6c7dd4a90dc919ae96c6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/drupal/core/zipball/74106472294be770cb76d93bb5a239f7ce741716", - "reference": "74106472294be770cb76d93bb5a239f7ce741716", + "url": "https://api.github.com/repos/drupal/core/zipball/168ec99f2012aeb4e93c6c7dd4a90dc919ae96c6", + "reference": "168ec99f2012aeb4e93c6c7dd4a90dc919ae96c6", "shasum": "" }, "require": { @@ -2853,7 +2865,8 @@ "lib/Drupal/Core/DrupalKernel.php", "lib/Drupal/Core/DrupalKernelInterface.php", "lib/Drupal/Core/Installer/InstallerRedirectTrait.php", - "lib/Drupal/Core/Site/Settings.php" + "lib/Drupal/Core/Site/Settings.php", + "lib/Drupal/Component/Datetime/Time.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -2862,22 +2875,22 @@ ], "description": "Drupal is an open source content management platform powering millions of websites and applications.", "support": { - "source": "https://github.com/drupal/core/tree/10.2.8" + "source": "https://github.com/drupal/core/tree/10.3.6" }, - "time": "2024-09-11T16:27:41+00:00" + "time": "2024-10-03T08:58:13+00:00" }, { "name": "drupal/core-composer-scaffold", - "version": "10.3.0", + "version": "10.3.6", "source": { "type": "git", "url": "https://github.com/drupal/core-composer-scaffold.git", - "reference": "a1a186caeb89899143e0c6912ccee9d3d7181dbe" + "reference": "f58ab5c0d02d275c5aa226c4505b457e41b161cc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/drupal/core-composer-scaffold/zipball/a1a186caeb89899143e0c6912ccee9d3d7181dbe", - "reference": "a1a186caeb89899143e0c6912ccee9d3d7181dbe", + "url": "https://api.github.com/repos/drupal/core-composer-scaffold/zipball/f58ab5c0d02d275c5aa226c4505b457e41b161cc", + "reference": "f58ab5c0d02d275c5aa226c4505b457e41b161cc", "shasum": "" }, "require": { @@ -2912,13 +2925,13 @@ "drupal" ], "support": { - "source": "https://github.com/drupal/core-composer-scaffold/tree/10.3.0" + "source": "https://github.com/drupal/core-composer-scaffold/tree/10.3.6" }, - "time": "2024-05-11T08:21:39+00:00" + "time": "2024-08-22T14:31:34+00:00" }, { "name": "drupal/core-project-message", - "version": "10.3.0", + "version": "10.3.6", "source": { "type": "git", "url": "https://github.com/drupal/core-project-message.git", @@ -2953,79 +2966,79 @@ "drupal" ], "support": { - "source": "https://github.com/drupal/core-project-message/tree/11.0.0-beta1" + "source": "https://github.com/drupal/core-project-message/tree/11.0.5" }, "time": "2023-07-24T07:55:25+00:00" }, { "name": "drupal/core-recommended", - "version": "10.2.8", + "version": "10.3.6", "source": { "type": "git", "url": "https://github.com/drupal/core-recommended.git", - "reference": "9880260a404d28578cb23dcc104fc5d37dc9dc6f" + "reference": "5ddec63138dc10869dea5d1cd4e72c977bb9b538" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/drupal/core-recommended/zipball/9880260a404d28578cb23dcc104fc5d37dc9dc6f", - "reference": "9880260a404d28578cb23dcc104fc5d37dc9dc6f", + "url": "https://api.github.com/repos/drupal/core-recommended/zipball/5ddec63138dc10869dea5d1cd4e72c977bb9b538", + "reference": "5ddec63138dc10869dea5d1cd4e72c977bb9b538", "shasum": "" }, "require": { "asm89/stack-cors": "~v2.2.0", "composer/semver": "~3.4.0", "doctrine/annotations": "~1.14.3", - "doctrine/deprecations": "~1.1.2", - "doctrine/lexer": "~2.1.0", - "drupal/core": "10.2.8", + "doctrine/deprecations": "~1.1.3", + "doctrine/lexer": "~2.1.1", + "drupal/core": "10.3.6", "egulias/email-validator": "~4.0.2", "guzzlehttp/guzzle": "~7.8.1", "guzzlehttp/promises": "~2.0.2", "guzzlehttp/psr7": "~2.6.2", - "masterminds/html5": "~2.8.1", - "mck89/peast": "~v1.15.4", - "pear/archive_tar": "~1.4.14", + "masterminds/html5": "~2.9.0", + "mck89/peast": "~v1.16.2", + "pear/archive_tar": "~1.5.0", "pear/console_getopt": "~v1.4.3", - "pear/pear-core-minimal": "~v1.10.14", + "pear/pear-core-minimal": "~v1.10.15", "pear/pear_exception": "~v1.0.2", "psr/cache": "~3.0.0", "psr/container": "~2.0.2", "psr/event-dispatcher": "~1.0.0", "psr/http-client": "~1.0.3", - "psr/http-factory": "~1.0.2", + "psr/http-factory": "~1.1.0", "psr/log": "~3.0.0", "ralouphie/getallheaders": "~3.0.3", - "sebastian/diff": "~4.0.5", - "symfony/console": "~v6.4.1", - "symfony/dependency-injection": "~v6.4.1", - "symfony/deprecation-contracts": "~v3.4.0", - "symfony/error-handler": "~v6.4.0", - "symfony/event-dispatcher": "~v6.4.0", - "symfony/event-dispatcher-contracts": "~v3.4.0", - "symfony/filesystem": "~v6.4.0", - "symfony/finder": "~v6.4.0", - "symfony/http-foundation": "~v6.4.0", - "symfony/http-kernel": "~v6.4.1", - "symfony/mailer": "~v6.4.0", - "symfony/mime": "~v6.4.0", - "symfony/polyfill-ctype": "~v1.28.0", - "symfony/polyfill-iconv": "~v1.28.0", - "symfony/polyfill-intl-grapheme": "~v1.28.0", - "symfony/polyfill-intl-idn": "~v1.28.0", - "symfony/polyfill-intl-normalizer": "~v1.28.0", - "symfony/polyfill-mbstring": "~v1.28.0", - "symfony/polyfill-php83": "~v1.28.0", - "symfony/process": "~v6.4.0", - "symfony/psr-http-message-bridge": "~v6.4.0", - "symfony/routing": "~v6.4.1", - "symfony/serializer": "~v6.4.1", - "symfony/service-contracts": "~v3.4.0", - "symfony/string": "~v6.4.0", - "symfony/translation-contracts": "~v3.4.0", - "symfony/validator": "~v6.4.0", - "symfony/var-dumper": "~v6.4.0", - "symfony/var-exporter": "~v6.4.1", - "symfony/yaml": "~v6.4.0", + "sebastian/diff": "~4.0.6", + "symfony/console": "~v6.4.8", + "symfony/dependency-injection": "~v6.4.7", + "symfony/deprecation-contracts": "~v3.5.0", + "symfony/error-handler": "~v6.4.7", + "symfony/event-dispatcher": "~v6.4.7", + "symfony/event-dispatcher-contracts": "~v3.5.0", + "symfony/filesystem": "~v6.4.8", + "symfony/finder": "~v6.4.8", + "symfony/http-foundation": "~v6.4.7", + "symfony/http-kernel": "~v6.4.7", + "symfony/mailer": "~v6.4.7", + "symfony/mime": "~v6.4.7", + "symfony/polyfill-ctype": "~v1.29.0", + "symfony/polyfill-iconv": "~v1.29.0", + "symfony/polyfill-intl-grapheme": "~v1.29.0", + "symfony/polyfill-intl-idn": "~v1.29.0", + "symfony/polyfill-intl-normalizer": "~v1.29.0", + "symfony/polyfill-mbstring": "~v1.29.0", + "symfony/polyfill-php83": "~v1.29.0", + "symfony/process": "~v6.4.8", + "symfony/psr-http-message-bridge": "~v6.4.7", + "symfony/routing": "~v6.4.7", + "symfony/serializer": "~v6.4.7", + "symfony/service-contracts": "~v3.5.0", + "symfony/string": "~v6.4.8", + "symfony/translation-contracts": "~v3.5.0", + "symfony/validator": "~v6.4.7", + "symfony/var-dumper": "~v6.4.7", + "symfony/var-exporter": "~v6.4.7", + "symfony/yaml": "~v6.4.7", "twig/twig": "~v3.14.0" }, "conflict": { @@ -3038,27 +3051,27 @@ ], "description": "Core and its dependencies with known-compatible minor versions. Require this project INSTEAD OF drupal/core.", "support": { - "source": "https://github.com/drupal/core-recommended/tree/10.2.8" + "source": "https://github.com/drupal/core-recommended/tree/10.3.6" }, - "time": "2024-09-11T16:27:41+00:00" + "time": "2024-10-03T08:58:13+00:00" }, { "name": "drupal/csv_serialization", - "version": "4.0.0", + "version": "4.0.1", "source": { "type": "git", "url": "https://git.drupalcode.org/project/csv_serialization.git", - "reference": "4.0.0" + "reference": "4.0.1" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/csv_serialization-4.0.0.zip", - "reference": "4.0.0", - "shasum": "90d429b044f7d6608d9075852285f37a97d5de6c" + "url": "https://ftp.drupal.org/files/projects/csv_serialization-4.0.1.zip", + "reference": "4.0.1", + "shasum": "cd172acbf6b5996daa88b0d8d897074c5fe742dd" }, "require": { - "drupal/core": "^10", - "league/csv": "^9.1" + "drupal/core": "^10 || ^11", + "league/csv": "^9.16" }, "require-dev": { "drupal/coder": "^8.3" @@ -3066,8 +3079,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "4.0.0", - "datestamp": "1698702085", + "version": "4.0.1", + "datestamp": "1723473162", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -3198,30 +3211,33 @@ }, { "name": "drupal/devel", - "version": "5.2.1", + "version": "5.3.1", "source": { "type": "git", "url": "https://git.drupalcode.org/project/devel.git", - "reference": "5.2.1" + "reference": "5.3.1" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/devel-5.2.1.zip", - "reference": "5.2.1", - "shasum": "793861751e01092fe8bc7c0cd47589ebea2bb8df" + "url": "https://ftp.drupal.org/files/projects/devel-5.3.1.zip", + "reference": "5.3.1", + "shasum": "6a5f13bdf93dc5f7f194b6af847589ae15e37b63" }, "require": { "doctrine/common": "^2.7 || ^3.4", - "drupal/core": ">=10.0 <12.0.0-stable", + "drupal/core": "^10.3 || ^11 || ^12", "php": ">=8.1", - "symfony/var-dumper": "^4 || ^5 || ^6" + "symfony/var-dumper": "^4 || ^5 || ^6 || ^7" }, "conflict": { + "drupal/core": "<10.3", "drush/drush": "<12.5.1", "kint-php/kint": "<3" }, "require-dev": { - "drush/drush": "^12.5.1" + "drush/drush": "^13", + "firephp/firephp-core": "^0.5.3", + "kint-php/kint": "^5.1" }, "suggest": { "kint-php/kint": "Kint provides an informative display of arrays/objects. Useful for debugging and developing." @@ -3229,8 +3245,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "5.2.1", - "datestamp": "1711328410", + "version": "5.3.1", + "datestamp": "1723258446", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -3257,17 +3273,17 @@ }, { "name": "drupal/diff", - "version": "1.7.0", + "version": "1.8.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/diff.git", - "reference": "8.x-1.7" + "reference": "8.x-1.8" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/diff-8.x-1.7.zip", - "reference": "8.x-1.7", - "shasum": "d282bdf3350ac71f95b38576a9f397bdbab8d249" + "url": "https://ftp.drupal.org/files/projects/diff-8.x-1.8.zip", + "reference": "8.x-1.8", + "shasum": "a104bf731a282f06ff0d5a7fb861c01b5b933765" }, "require": { "drupal/core": "^10 || ^11", @@ -3282,13 +3298,13 @@ "phpstan/phpstan-deprecation-rules": "*", "phpstan/phpstan-phpunit": "1.4.x-dev", "phpstan/phpstan-strict-rules": "^1@stable", - "previousnext/coding-standard": "^1" + "previousnext/coding-standard": "1.0.1" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.7", - "datestamp": "1718073570", + "version": "8.x-1.8", + "datestamp": "1727892285", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -3364,29 +3380,29 @@ }, { "name": "drupal/embed", - "version": "1.7.0", + "version": "1.9.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/embed.git", - "reference": "8.x-1.7" + "reference": "8.x-1.9" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/embed-8.x-1.7.zip", - "reference": "8.x-1.7", - "shasum": "b7ca4264be51038f947d26b6725fc0446b224f60" + "url": "https://ftp.drupal.org/files/projects/embed-8.x-1.9.zip", + "reference": "8.x-1.9", + "shasum": "e6b4875e2b245ddf1a68a8615cbb4c5a378a0e9f" }, "require": { - "drupal/core": "^9.3 | ^10" + "drupal/core": "^9.5 | ^10" }, "require-dev": { - "drupal/ckeditor": "*" + "drupal/ckeditor": "^1.0" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.7", - "datestamp": "1697642867", + "version": "8.x-1.9", + "datestamp": "1723283819", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -3403,7 +3419,7 @@ "homepage": "https://www.drupal.org/user/2828287" }, { - "name": "Dave Reid", + "name": "dave reid", "homepage": "https://www.drupal.org/user/53892" }, { @@ -3508,29 +3524,29 @@ }, { "name": "drupal/entity_reference_revisions", - "version": "1.11.0", + "version": "1.12.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/entity_reference_revisions.git", - "reference": "8.x-1.11" + "reference": "8.x-1.12" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/entity_reference_revisions-8.x-1.11.zip", - "reference": "8.x-1.11", - "shasum": "de21cbb0d8a0344dc3496addcad4ed536747cec5" + "url": "https://ftp.drupal.org/files/projects/entity_reference_revisions-8.x-1.12.zip", + "reference": "8.x-1.12", + "shasum": "2a2ff8617c7ce01b56df1caaf0a563da04948e26" }, "require": { - "drupal/core": "^9 || ^10" + "drupal/core": "^9 || ^10 || ^11" }, "require-dev": { - "drupal/diff": "1.x-dev" + "drupal/diff": "^1 || ^2" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.11", - "datestamp": "1705140721", + "version": "8.x-1.12", + "datestamp": "1722804497", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -3572,26 +3588,26 @@ }, { "name": "drupal/externalauth", - "version": "2.0.5", + "version": "2.0.6", "source": { "type": "git", "url": "https://git.drupalcode.org/project/externalauth.git", - "reference": "2.0.5" + "reference": "2.0.6" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/externalauth-2.0.5.zip", - "reference": "2.0.5", - "shasum": "7c262c7ca20d26aae45896daee4249e47b637abc" + "url": "https://ftp.drupal.org/files/projects/externalauth-2.0.6.zip", + "reference": "2.0.6", + "shasum": "0dbc9fbab0901e940d52b239e08f031797f6bd2a" }, "require": { - "drupal/core": "^9 || ^10" + "drupal/core": "^9.5 || ^10 || ^11" }, "type": "drupal-module", "extra": { "drupal": { - "version": "2.0.5", - "datestamp": "1708329378", + "version": "2.0.6", + "datestamp": "1720689758", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -3685,39 +3701,39 @@ }, { "name": "drupal/feeds", - "version": "3.0.0-beta5", + "version": "3.0.0-rc2", "source": { "type": "git", "url": "https://git.drupalcode.org/project/feeds.git", - "reference": "8.x-3.0-beta5" + "reference": "8.x-3.0-rc2" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/feeds-8.x-3.0-beta5.zip", - "reference": "8.x-3.0-beta5", - "shasum": "cd932e65a954e9a9392e0da98e1980c75397b02a" + "url": "https://ftp.drupal.org/files/projects/feeds-8.x-3.0-rc2.zip", + "reference": "8.x-3.0-rc2", + "shasum": "ad6c93ccc121b9f921902c5cad3f7b0ac67d0627" }, "require": { - "drupal/core": "^9.3 || ^10", - "laminas/laminas-feed": "^2.13" + "drupal/core": "^10.1 || ^11", + "laminas/laminas-feed": "^2.22" }, "require-dev": { - "drupal/pathauto": "^1.8", - "drush/drush": "^9 || ^10 || ^11 || ^12" + "drupal/pathauto": "^1.0", + "megachriz/drupalbook": "^1.0 || ^2.0" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-3.0-beta5", - "datestamp": "1718270214", + "version": "8.x-3.0-rc2", + "datestamp": "1726755546", "security-coverage": { "status": "not-covered", - "message": "Beta releases are not covered by Drupal security advisories." + "message": "RC releases are not covered by Drupal security advisories." } }, "drush": { "services": { - "drush.services.yml": "^9 || ^10 || ^11 | ^12" + "drush.services.yml": ">=9" } } }, @@ -3731,7 +3747,7 @@ "homepage": "https://www.drupal.org/user/53995" }, { - "name": "Dave Reid", + "name": "dave reid", "homepage": "https://www.drupal.org/user/53892" }, { @@ -3763,7 +3779,7 @@ "homepage": "https://www.drupal.org/user/24399" }, { - "name": "MegaChriz", + "name": "megachriz", "homepage": "https://www.drupal.org/user/654114" }, { @@ -3850,26 +3866,29 @@ }, { "name": "drupal/field_group", - "version": "3.4.0", + "version": "3.6.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/field_group.git", - "reference": "8.x-3.4" + "reference": "8.x-3.6" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/field_group-8.x-3.4.zip", - "reference": "8.x-3.4", - "shasum": "80b937e1a11f8b29c69d853fc4bf798c057c6f94" + "url": "https://ftp.drupal.org/files/projects/field_group-8.x-3.6.zip", + "reference": "8.x-3.6", + "shasum": "427c0a65dc1936e69e60c120776056cfe5b43e86" }, "require": { - "drupal/core": "^9.2 || ^10" + "drupal/core": "^9.2 || ^10 || ^11" + }, + "require-dev": { + "drupal/jquery_ui_accordion": "*" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-3.4", - "datestamp": "1667241979", + "version": "8.x-3.6", + "datestamp": "1722672510", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -3882,13 +3901,21 @@ ], "authors": [ { - "name": "Anybody", + "name": "anybody", "homepage": "https://www.drupal.org/user/291091" }, { - "name": "Hydra", + "name": "grevil", + "homepage": "https://www.drupal.org/user/3668491" + }, + { + "name": "hydra", "homepage": "https://www.drupal.org/user/647364" }, + { + "name": "joevagyok", + "homepage": "https://www.drupal.org/user/2876343" + }, { "name": "jyve", "homepage": "https://www.drupal.org/user/591438" @@ -3915,26 +3942,26 @@ }, { "name": "drupal/field_permissions", - "version": "1.3.0", + "version": "1.4.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/field_permissions.git", - "reference": "8.x-1.3" + "reference": "8.x-1.4" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/field_permissions-8.x-1.3.zip", - "reference": "8.x-1.3", - "shasum": "f3815d21b423c94e800388f3c29237fc1a00189d" + "url": "https://ftp.drupal.org/files/projects/field_permissions-8.x-1.4.zip", + "reference": "8.x-1.4", + "shasum": "bd3f5803d8c195bc136d4a25774346d69f653029" }, "require": { - "drupal/core": ">=8.9 <11" + "drupal/core": "^9.5 || ^10 || ^11" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.3", - "datestamp": "1703264421", + "version": "8.x-1.4", + "datestamp": "1721754779", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -3979,26 +4006,26 @@ }, { "name": "drupal/hierarchy_manager", - "version": "3.3.2", + "version": "3.4.1", "source": { "type": "git", "url": "https://git.drupalcode.org/project/hierarchy_manager.git", - "reference": "3.3.2" + "reference": "3.4.1" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/hierarchy_manager-3.3.2.zip", - "reference": "3.3.2", - "shasum": "a002812135572c37d92534024b849614ed130b35" + "url": "https://ftp.drupal.org/files/projects/hierarchy_manager-3.4.1.zip", + "reference": "3.4.1", + "shasum": "5ec05df356cdab8d667b0c1cf3ad116f5b827489" }, "require": { - "drupal/core": "^9.2.0 || ^10" + "drupal/core": "^9.2.0 || ^10 || ^11" }, "type": "drupal-module", "extra": { "drupal": { - "version": "3.3.2", - "datestamp": "1677489250", + "version": "3.4.1", + "datestamp": "1723244795", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -4011,11 +4038,11 @@ ], "authors": [ { - "name": "Mingsong", + "name": "mingsong", "homepage": "https://www.drupal.org/user/2986445" } ], - "description": "Provides API and plugins to build hierarchy views for entites such as taxonomy or menu.", + "description": "Provides API and plugins to build hierarchy views for entities such as taxonomy or menu.", "homepage": "https://www.drupal.org/project/hierarchy_manager", "support": { "source": "https://git.drupalcode.org/project/hierarchy_manager" @@ -4270,26 +4297,26 @@ }, { "name": "drupal/language_switcher_extended", - "version": "1.1.0", + "version": "1.2.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/language_switcher_extended.git", - "reference": "8.x-1.1" + "reference": "8.x-1.2" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/language_switcher_extended-8.x-1.1.zip", - "reference": "8.x-1.1", - "shasum": "0d433ce4351eff78aa19a527c63f3f1828f50056" + "url": "https://ftp.drupal.org/files/projects/language_switcher_extended-8.x-1.2.zip", + "reference": "8.x-1.2", + "shasum": "89ab9aec0636bcb07f895f452227fbb99df42d46" }, "require": { - "drupal/core": "^8 || ^9 || ^10" + "drupal/core": "^8 || ^9 || ^10 || ^11" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.1", - "datestamp": "1668763827", + "version": "8.x-1.2", + "datestamp": "1721318296", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -4372,26 +4399,26 @@ }, { "name": "drupal/menu_block", - "version": "1.11.0", + "version": "1.13.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/menu_block.git", - "reference": "8.x-1.11" + "reference": "8.x-1.13" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/menu_block-8.x-1.11.zip", - "reference": "8.x-1.11", - "shasum": "7b2dec26a81177094860b1f884cca5c40b60fa85" + "url": "https://ftp.drupal.org/files/projects/menu_block-8.x-1.13.zip", + "reference": "8.x-1.13", + "shasum": "693a932cba9bd5767bdeee506de446228bc4cc8c" }, "require": { - "drupal/core": "^9.1 || ^10" + "drupal/core": "^10.1 || ^11" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.11", - "datestamp": "1715036334", + "version": "8.x-1.13", + "datestamp": "1722579322", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -4552,20 +4579,20 @@ }, { "name": "drupal/menu_item_fields", - "version": "1.10.0", + "version": "1.11.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/menu_item_fields.git", - "reference": "8.x-1.10" + "reference": "8.x-1.11" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/menu_item_fields-8.x-1.10.zip", - "reference": "8.x-1.10", - "shasum": "2bb833fb166d7358eda8b79129f8d311046156ad" + "url": "https://ftp.drupal.org/files/projects/menu_item_fields-8.x-1.11.zip", + "reference": "8.x-1.11", + "shasum": "bdb1fc4e355e3d7172b72ebb3faf157b78308284" }, "require": { - "drupal/core": "^9 || ^10" + "drupal/core": "^10 || ^11" }, "require-dev": { "upstreamable/md-to-html": "^1.0" @@ -4573,8 +4600,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.10", - "datestamp": "1691185856", + "version": "8.x-1.11", + "datestamp": "1723290860", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -4727,20 +4754,20 @@ }, { "name": "drupal/paragraphs", - "version": "1.17.0", + "version": "1.18.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/paragraphs.git", - "reference": "8.x-1.17" + "reference": "8.x-1.18" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/paragraphs-8.x-1.17.zip", - "reference": "8.x-1.17", - "shasum": "81c05f6a1eb59ab957c9ac97b2e79d6c9837bd72" + "url": "https://ftp.drupal.org/files/projects/paragraphs-8.x-1.18.zip", + "reference": "8.x-1.18", + "shasum": "594e2937ea5c95fc88b60420590c4d83f5cd71ee" }, "require": { - "drupal/core": "^9.3 || ^10", + "drupal/core": "^10.2 || ^11", "drupal/entity_reference_revisions": "~1.3" }, "require-dev": { @@ -4748,6 +4775,7 @@ "drupal/diff": "1.x-dev", "drupal/entity_browser": "2.x-dev", "drupal/entity_usage": "2.x-dev", + "drupal/feeds": "^3", "drupal/field_group": "3.x-dev", "drupal/inline_entity_form": "1.x-dev", "drupal/paragraphs-paragraphs_library": "*", @@ -4761,8 +4789,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.17", - "datestamp": "1709804220", + "version": "8.x-1.18", + "datestamp": "1723029144", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -4883,31 +4911,34 @@ }, { "name": "drupal/pathauto", - "version": "1.12.0", + "version": "1.13.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/pathauto.git", - "reference": "8.x-1.12" + "reference": "8.x-1.13" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/pathauto-8.x-1.12.zip", - "reference": "8.x-1.12", - "shasum": "b7b6432e315e38e59a7c6cc117134326c580de4c" + "url": "https://ftp.drupal.org/files/projects/pathauto-8.x-1.13.zip", + "reference": "8.x-1.13", + "shasum": "e64b5a82cf1b8ab48bce400b21ae6fc99c8078fd" }, "require": { - "drupal/core": "^9.3 || ^10", + "drupal/core": "^9.4 || ^10 || ^11", "drupal/ctools": "*", "drupal/token": "*" }, + "require-dev": { + "drupal/forum": "*" + }, "suggest": { "drupal/redirect": "When installed Pathauto will provide a new \"Update Action\" in case your URLs change. This is the recommended update action and is considered the best practice for SEO and usability." }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.12", - "datestamp": "1712319355", + "version": "8.x-1.13", + "datestamp": "1722507672", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -4951,26 +4982,26 @@ }, { "name": "drupal/redirect", - "version": "1.9.0", + "version": "1.10.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/redirect.git", - "reference": "8.x-1.9" + "reference": "8.x-1.10" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/redirect-8.x-1.9.zip", - "reference": "8.x-1.9", - "shasum": "2987de20f509e9f7cec8a0f81d3a6774f9b0ba3e" + "url": "https://ftp.drupal.org/files/projects/redirect-8.x-1.10.zip", + "reference": "8.x-1.10", + "shasum": "9d72d7e0717dbdea3ab3306c5d6840da5bd3024c" }, "require": { - "drupal/core": "^9.2 || ^10" + "drupal/core": "^9.2 || ^10 || ^11" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.9", - "datestamp": "1693393506", + "version": "8.x-1.10", + "datestamp": "1723277641", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -4987,7 +5018,7 @@ "homepage": "https://www.drupal.org/user/214652" }, { - "name": "Dave Reid", + "name": "dave reid", "homepage": "https://www.drupal.org/user/53892" }, { @@ -5007,26 +5038,26 @@ }, { "name": "drupal/remove_http_headers", - "version": "2.1.0", + "version": "2.1.2", "source": { "type": "git", "url": "https://git.drupalcode.org/project/remove_http_headers.git", - "reference": "2.1.0" + "reference": "2.1.2" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/remove_http_headers-2.1.0.zip", - "reference": "2.1.0", - "shasum": "622b4446ce1e07915f5889a5d7d0f10721f73000" + "url": "https://ftp.drupal.org/files/projects/remove_http_headers-2.1.2.zip", + "reference": "2.1.2", + "shasum": "1dde47df9ed6565c817af9eaaf8fd4dcc4eaf170" }, "require": { - "drupal/core": "^10" + "drupal/core": "^10.3 || ^11" }, "type": "drupal-module", "extra": { "drupal": { - "version": "2.1.0", - "datestamp": "1701249847", + "version": "2.1.2", + "datestamp": "1728551290", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -5040,10 +5071,18 @@ "authors": [ { "name": "Orlando Thöny", - "homepage": "https://www.drupal.org/user/3636010", + "homepage": "https://www.drupal.org/user/291091", "email": "orlando.thoeny@gmail.com", "role": "Maintainer" }, + { + "name": "grevil", + "homepage": "https://www.drupal.org/user/3668491" + }, + { + "name": "guilherme-lima-almeida", + "homepage": "https://www.drupal.org/user/3636010" + }, { "name": "marco-s", "homepage": "https://www.drupal.org/user/3396620" @@ -5070,25 +5109,25 @@ }, { "name": "drupal/s3fs", - "version": "3.4.0", + "version": "3.6.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/s3fs.git", - "reference": "8.x-3.4" + "reference": "8.x-3.6" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/s3fs-8.x-3.4.zip", - "reference": "8.x-3.4", - "shasum": "4b31c7a34a892cf70476327e1d5c1cf2e99c20a0" + "url": "https://ftp.drupal.org/files/projects/s3fs-8.x-3.6.zip", + "reference": "8.x-3.6", + "shasum": "b422cef4ed8f32c287b3e09ddac22c8d087dcd58" }, "require": { "aws/aws-sdk-php": "^3.18", - "drupal/core": "^8.8 || ^9 || ~10.0.0 || ~10.1.0 || ~10.2.0" + "drupal/core": "^8.8 || ^9 || ~10.0.0 || ~10.1.0 || ~10.2.0 || ~10.3.0 || ~11.0.0" }, "require-dev": { - "drupal/advagg": "^4.0 || ^5.0 || ^6.0", - "drush/drush": "^10 || ^11 || ^12", + "drupal/key": "^1", + "drush/drush": "^10 || ^11 || ^12 || ^13", "mglaman/phpstan-drupal": "^1.1", "phpstan/extension-installer": "^1.2", "phpstan/phpstan": "^1.9", @@ -5101,8 +5140,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-3.4", - "datestamp": "1701992779", + "version": "8.x-3.6", + "datestamp": "1723007914", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -5153,28 +5192,28 @@ }, { "name": "drupal/samlauth", - "version": "3.9.0", + "version": "3.10.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/samlauth.git", - "reference": "8.x-3.9" + "reference": "8.x-3.10" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/samlauth-8.x-3.9.zip", - "reference": "8.x-3.9", - "shasum": "1af6aec1b9f7f49bd2bc8e023ef53dbbd7329722" + "url": "https://ftp.drupal.org/files/projects/samlauth-8.x-3.10.zip", + "reference": "8.x-3.10", + "shasum": "c7112aa6b765ed9b6879d8d0f39dd9bf5b2c7270" }, "require": { - "drupal/core": "^9.2 || ^10", - "drupal/externalauth": "^1.3 || ^2", + "drupal/core": "^9.5 || ^10 || ^11", + "drupal/externalauth": "^1.3 || ^2.0.6", "onelogin/php-saml": "^3.3.1 || ^4" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-3.9", - "datestamp": "1690407017", + "version": "8.x-3.10", + "datestamp": "1723060564", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -5215,27 +5254,27 @@ }, { "name": "drupal/simple_sitemap", - "version": "4.1.9", + "version": "4.2.1", "source": { "type": "git", "url": "https://git.drupalcode.org/project/simple_sitemap.git", - "reference": "4.1.9" + "reference": "4.2.1" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/simple_sitemap-4.1.9.zip", - "reference": "4.1.9", - "shasum": "d86d90408b334cd7470ea631e3be5acca2103377" + "url": "https://ftp.drupal.org/files/projects/simple_sitemap-4.2.1.zip", + "reference": "4.2.1", + "shasum": "d96b481571ca2fecdb305e87d2557f9338116864" }, "require": { - "drupal/core": "^9.3 || ^10", + "drupal/core": "^10.2 || ^11", "ext-xmlwriter": "*" }, "type": "drupal-module", "extra": { "drupal": { - "version": "4.1.9", - "datestamp": "1712441608", + "version": "4.2.1", + "datestamp": "1723802052", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -5259,7 +5298,7 @@ "role": "Maintainer" }, { - "name": "WalkingDexter", + "name": "walkingdexter", "homepage": "https://www.drupal.org/user/3251330" } ], @@ -5272,17 +5311,17 @@ }, { "name": "drupal/simplify_menu", - "version": "3.1.1", + "version": "3.2.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/simplify_menu.git", - "reference": "3.1.1" + "reference": "3.2.0" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/simplify_menu-3.1.1.zip", - "reference": "3.1.1", - "shasum": "03babea75fb5c9473cad3d131b96553ff8cc0956" + "url": "https://ftp.drupal.org/files/projects/simplify_menu-3.2.0.zip", + "reference": "3.2.0", + "shasum": "5b239e4da9d76cdeef9867ea7a37b749b34e8b54" }, "require": { "drupal/core": "^9 || ^10" @@ -5290,8 +5329,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "3.1.1", - "datestamp": "1690572635", + "version": "3.2.0", + "datestamp": "1722535735", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -5326,6 +5365,10 @@ { "name": "shrop", "homepage": "https://www.drupal.org/user/14767" + }, + { + "name": "slucero", + "homepage": "https://www.drupal.org/user/1612534" } ], "description": "Adds a TwigExtension that grants access to Drupal's menu render array so it can be used within a twig template.", @@ -5384,26 +5427,29 @@ }, { "name": "drupal/token", - "version": "1.14.0", + "version": "1.15.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/token.git", - "reference": "8.x-1.14" + "reference": "8.x-1.15" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/token-8.x-1.14.zip", - "reference": "8.x-1.14", - "shasum": "df3cae709fcc1a99ac1111ce67a0d6af56d287d7" + "url": "https://ftp.drupal.org/files/projects/token-8.x-1.15.zip", + "reference": "8.x-1.15", + "shasum": "5916fbccc86458a5f51e71f832ac70ff4c84ebdf" }, "require": { - "drupal/core": "^9.2 || ^10" + "drupal/core": "^9.2 || ^10 || ^11" + }, + "require-dev": { + "drupal/book": "*" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.14", - "datestamp": "1713009399", + "version": "8.x-1.15", + "datestamp": "1722206211", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -5421,11 +5467,11 @@ ], "authors": [ { - "name": "Berdir", + "name": "berdir", "homepage": "https://www.drupal.org/user/214652" }, { - "name": "Dave Reid", + "name": "dave reid", "homepage": "https://www.drupal.org/user/53892" }, { @@ -5634,24 +5680,23 @@ }, { "name": "drupal/twig_tweak", - "version": "3.3.0", + "version": "3.4.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/twig_tweak.git", - "reference": "3.3.0" + "reference": "3.4.0" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/twig_tweak-3.3.0.zip", - "reference": "3.3.0", - "shasum": "a029ab1775b62f08e573e5ad1ab27bc833e7f5b9" + "url": "https://ftp.drupal.org/files/projects/twig_tweak-3.4.0.zip", + "reference": "3.4.0", + "shasum": "1f47f71b4cfbad97fff11db1adc72c311bb1645e" }, "require": { - "drupal/core": "^9.3 || ^10.0", + "drupal/core": "^10.3 || ^11.0", "ext-json": "*", - "php": ">=7.3", - "symfony/polyfill-php80": "^1.17", - "twig/twig": "^2.15.3 || ^3.4.3" + "php": ">=8.1", + "twig/twig": "^3.10.3" }, "suggest": { "symfony/var-dumper": "Better dump() function for debugging Twig variables" @@ -5659,8 +5704,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "3.3.0", - "datestamp": "1708670116", + "version": "3.4.0", + "datestamp": "1721562308", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -5668,7 +5713,7 @@ }, "drush": { "services": { - "drush.services.yml": "^9 || ^10 || ^11" + "drush.services.yml": "^10 || ^11" } } }, @@ -5904,7 +5949,7 @@ "homepage": "https://www.drupal.org/user/1557710" }, { - "name": "Steven Jones", + "name": "steven jones", "homepage": "https://www.drupal.org/user/99644" } ], @@ -5980,29 +6025,32 @@ }, { "name": "drupal/viewsreference", - "version": "2.0.0-beta8", + "version": "2.0.0-beta10", "source": { "type": "git", "url": "https://git.drupalcode.org/project/viewsreference.git", - "reference": "8.x-2.0-beta8" + "reference": "8.x-2.0-beta10" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/viewsreference-8.x-2.0-beta8.zip", - "reference": "8.x-2.0-beta8", - "shasum": "5a84a12d6350a1b6631634910faeaa13d1fb1b9c" + "url": "https://ftp.drupal.org/files/projects/viewsreference-8.x-2.0-beta10.zip", + "reference": "8.x-2.0-beta10", + "shasum": "699c3f790d3dbe6ebcd890916409c66562a04eb4" }, "require": { - "drupal/core": "^9.3 || ^10 || ^11" + "drupal/core": "^10 || ^11" }, "conflict": { "drupal/viewsreferennce": "*" }, + "require-dev": { + "drupal/views_ajax_history": "1.x-dev" + }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-2.0-beta8", - "datestamp": "1717030540", + "version": "8.x-2.0-beta10", + "datestamp": "1725510905", "security-coverage": { "status": "not-covered", "message": "Beta releases are not covered by Drupal security advisories." @@ -6027,7 +6075,7 @@ "homepage": "https://www.drupal.org/user/3267594" }, { - "name": "seanB", + "name": "seanb", "homepage": "https://www.drupal.org/user/545912" } ], @@ -6043,16 +6091,16 @@ }, { "name": "drush/drush", - "version": "12.5.2", + "version": "12.5.3", "source": { "type": "git", "url": "https://github.com/drush-ops/drush.git", - "reference": "4aebed85dc818ff762f2e24a85b023d2a52050df" + "reference": "7fe0a492d5126c457c5fb184c4668a132b0aaac6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/drush-ops/drush/zipball/4aebed85dc818ff762f2e24a85b023d2a52050df", - "reference": "4aebed85dc818ff762f2e24a85b023d2a52050df", + "url": "https://api.github.com/repos/drush-ops/drush/zipball/7fe0a492d5126c457c5fb184c4668a132b0aaac6", + "reference": "7fe0a492d5126c457c5fb184c4668a132b0aaac6", "shasum": "" }, "require": { @@ -6175,7 +6223,7 @@ "issues": "https://github.com/drush-ops/drush/issues", "security": "https://github.com/drush-ops/drush/security/advisories", "slack": "https://drupal.slack.com/messages/C62H9CWQM", - "source": "https://github.com/drush-ops/drush/tree/12.5.2" + "source": "https://github.com/drush-ops/drush/tree/12.5.3" }, "funding": [ { @@ -6183,7 +6231,7 @@ "type": "github" } ], - "time": "2024-05-02T17:20:48+00:00" + "time": "2024-08-02T11:57:29+00:00" }, { "name": "egulias/email-validator", @@ -6549,16 +6597,16 @@ }, { "name": "guzzlehttp/promises", - "version": "2.0.3", + "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8" + "reference": "f9c436286ab2892c7db7be8c8da4ef61ccf7b455" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8", - "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8", + "url": "https://api.github.com/repos/guzzle/promises/zipball/f9c436286ab2892c7db7be8c8da4ef61ccf7b455", + "reference": "f9c436286ab2892c7db7be8c8da4ef61ccf7b455", "shasum": "" }, "require": { @@ -6612,7 +6660,7 @@ ], "support": { "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/2.0.3" + "source": "https://github.com/guzzle/promises/tree/2.0.4" }, "funding": [ { @@ -6628,7 +6676,7 @@ "type": "tidelift" } ], - "time": "2024-07-18T10:29:17+00:00" + "time": "2024-10-17T10:06:22+00:00" }, { "name": "guzzlehttp/psr7", @@ -6748,33 +6796,33 @@ }, { "name": "laminas/laminas-escaper", - "version": "2.13.0", + "version": "2.14.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-escaper.git", - "reference": "af459883f4018d0f8a0c69c7a209daef3bf973ba" + "reference": "0f7cb975f4443cf22f33408925c231225cfba8cb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-escaper/zipball/af459883f4018d0f8a0c69c7a209daef3bf973ba", - "reference": "af459883f4018d0f8a0c69c7a209daef3bf973ba", + "url": "https://api.github.com/repos/laminas/laminas-escaper/zipball/0f7cb975f4443cf22f33408925c231225cfba8cb", + "reference": "0f7cb975f4443cf22f33408925c231225cfba8cb", "shasum": "" }, "require": { "ext-ctype": "*", "ext-mbstring": "*", - "php": "~8.1.0 || ~8.2.0 || ~8.3.0" + "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0" }, "conflict": { "zendframework/zend-escaper": "*" }, "require-dev": { - "infection/infection": "^0.27.0", - "laminas/laminas-coding-standard": "~2.5.0", + "infection/infection": "^0.27.9", + "laminas/laminas-coding-standard": "~3.0.0", "maglnet/composer-require-checker": "^3.8.0", - "phpunit/phpunit": "^9.6.7", - "psalm/plugin-phpunit": "^0.18.4", - "vimeo/psalm": "^5.9" + "phpunit/phpunit": "^9.6.16", + "psalm/plugin-phpunit": "^0.19.0", + "vimeo/psalm": "^5.21.1" }, "type": "library", "autoload": { @@ -6806,20 +6854,20 @@ "type": "community_bridge" } ], - "time": "2023-10-10T08:35:13+00:00" + "time": "2024-10-24T10:12:53+00:00" }, { "name": "laminas/laminas-feed", - "version": "2.22.0", + "version": "2.23.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-feed.git", - "reference": "669792b819fca7274698147ad7a2ecc1b0a9b141" + "reference": "23807e692b3174750b426143bd93572b71b6739a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-feed/zipball/669792b819fca7274698147ad7a2ecc1b0a9b141", - "reference": "669792b819fca7274698147ad7a2ecc1b0a9b141", + "url": "https://api.github.com/repos/laminas/laminas-feed/zipball/23807e692b3174750b426143bd93572b71b6739a", + "reference": "23807e692b3174750b426143bd93572b71b6739a", "shasum": "" }, "require": { @@ -6827,24 +6875,24 @@ "ext-libxml": "*", "laminas/laminas-escaper": "^2.9", "laminas/laminas-stdlib": "^3.6", - "php": "~8.1.0 || ~8.2.0 || ~8.3.0" + "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0" }, "conflict": { "laminas/laminas-servicemanager": "<3.3", "zendframework/zend-feed": "*" }, "require-dev": { - "laminas/laminas-cache": "^2.13.2 || ^3.11", - "laminas/laminas-cache-storage-adapter-memory": "^1.1.0 || ^2.2", + "laminas/laminas-cache": "^2.13.2 || ^3.12", + "laminas/laminas-cache-storage-adapter-memory": "^1.1.0 || ^2.3", "laminas/laminas-coding-standard": "~2.5.0", "laminas/laminas-db": "^2.18", - "laminas/laminas-http": "^2.18", - "laminas/laminas-servicemanager": "^3.21.0", - "laminas/laminas-validator": "^2.38", - "phpunit/phpunit": "^10.3.1", - "psalm/plugin-phpunit": "^0.18.4", + "laminas/laminas-http": "^2.19", + "laminas/laminas-servicemanager": "^3.22.1", + "laminas/laminas-validator": "^2.46", + "phpunit/phpunit": "^10.5.5", + "psalm/plugin-phpunit": "^0.19.0", "psr/http-message": "^2.0", - "vimeo/psalm": "^5.14.1" + "vimeo/psalm": "^5.18.0" }, "suggest": { "laminas/laminas-cache": "Laminas\\Cache component, for optionally caching feeds between requests", @@ -6886,34 +6934,34 @@ "type": "community_bridge" } ], - "time": "2023-10-11T20:16:37+00:00" + "time": "2024-10-09T10:53:30+00:00" }, { "name": "laminas/laminas-stdlib", - "version": "3.19.0", + "version": "3.20.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-stdlib.git", - "reference": "6a192dd0882b514e45506f533b833b623b78fff3" + "reference": "8974a1213be42c3e2f70b2c27b17f910291ab2f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/6a192dd0882b514e45506f533b833b623b78fff3", - "reference": "6a192dd0882b514e45506f533b833b623b78fff3", + "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/8974a1213be42c3e2f70b2c27b17f910291ab2f4", + "reference": "8974a1213be42c3e2f70b2c27b17f910291ab2f4", "shasum": "" }, "require": { - "php": "~8.1.0 || ~8.2.0 || ~8.3.0" + "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0" }, "conflict": { "zendframework/zend-stdlib": "*" }, "require-dev": { - "laminas/laminas-coding-standard": "^2.5", - "phpbench/phpbench": "^1.2.15", - "phpunit/phpunit": "^10.5.8", - "psalm/plugin-phpunit": "^0.18.4", - "vimeo/psalm": "^5.20.0" + "laminas/laminas-coding-standard": "^3.0", + "phpbench/phpbench": "^1.3.1", + "phpunit/phpunit": "^10.5.38", + "psalm/plugin-phpunit": "^0.19.0", + "vimeo/psalm": "^5.26.1" }, "type": "library", "autoload": { @@ -6945,20 +6993,20 @@ "type": "community_bridge" } ], - "time": "2024-01-19T12:39:49+00:00" + "time": "2024-10-29T13:46:07+00:00" }, { "name": "league/container", - "version": "4.2.2", + "version": "4.2.3", "source": { "type": "git", "url": "https://github.com/thephpleague/container.git", - "reference": "ff346319ca1ff0e78277dc2311a42107cc1aab88" + "reference": "72f9bebe7bd623007782a40f5ec305661ab706d8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/container/zipball/ff346319ca1ff0e78277dc2311a42107cc1aab88", - "reference": "ff346319ca1ff0e78277dc2311a42107cc1aab88", + "url": "https://api.github.com/repos/thephpleague/container/zipball/72f9bebe7bd623007782a40f5ec305661ab706d8", + "reference": "72f9bebe7bd623007782a40f5ec305661ab706d8", "shasum": "" }, "require": { @@ -7019,7 +7067,7 @@ ], "support": { "issues": "https://github.com/thephpleague/container/issues", - "source": "https://github.com/thephpleague/container/tree/4.2.2" + "source": "https://github.com/thephpleague/container/tree/4.2.3" }, "funding": [ { @@ -7027,20 +7075,20 @@ "type": "github" } ], - "time": "2024-03-13T13:12:53+00:00" + "time": "2024-10-23T12:06:58+00:00" }, { "name": "league/csv", - "version": "9.16.0", + "version": "9.18.0", "source": { "type": "git", "url": "https://github.com/thephpleague/csv.git", - "reference": "998280c6c34bd67d8125fdc8b45bae28d761b440" + "reference": "b02d010e4055ae992247f6ffd1e7b103ef2a0790" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/csv/zipball/998280c6c34bd67d8125fdc8b45bae28d761b440", - "reference": "998280c6c34bd67d8125fdc8b45bae28d761b440", + "url": "https://api.github.com/repos/thephpleague/csv/zipball/b02d010e4055ae992247f6ffd1e7b103ef2a0790", + "reference": "b02d010e4055ae992247f6ffd1e7b103ef2a0790", "shasum": "" }, "require": { @@ -7048,17 +7096,16 @@ "php": "^8.1.2" }, "require-dev": { - "doctrine/collections": "^2.2.2", "ext-dom": "*", "ext-xdebug": "*", - "friendsofphp/php-cs-fixer": "^3.57.1", - "phpbench/phpbench": "^1.2.15", - "phpstan/phpstan": "^1.11.1", - "phpstan/phpstan-deprecation-rules": "^1.2.0", + "friendsofphp/php-cs-fixer": "^3.64.0", + "phpbench/phpbench": "^1.3.1", + "phpstan/phpstan": "^1.12.6", + "phpstan/phpstan-deprecation-rules": "^1.2.1", "phpstan/phpstan-phpunit": "^1.4.0", - "phpstan/phpstan-strict-rules": "^1.6.0", - "phpunit/phpunit": "^10.5.16 || ^11.1.3", - "symfony/var-dumper": "^6.4.6 || ^7.0.7" + "phpstan/phpstan-strict-rules": "^1.6.1", + "phpunit/phpunit": "^10.5.16 || ^11.4.1", + "symfony/var-dumper": "^6.4.8 || ^7.1.5" }, "suggest": { "ext-dom": "Required to use the XMLConverter and the HTMLConverter classes", @@ -7076,7 +7123,7 @@ "src/functions_include.php" ], "psr-4": { - "League\\Csv\\": "src" + "League\\Csv\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -7115,20 +7162,20 @@ "type": "github" } ], - "time": "2024-05-24T11:04:54+00:00" + "time": "2024-10-18T08:14:48+00:00" }, { "name": "masterminds/html5", - "version": "2.8.1", + "version": "2.9.0", "source": { "type": "git", "url": "https://github.com/Masterminds/html5-php.git", - "reference": "f47dcf3c70c584de14f21143c55d9939631bc6cf" + "reference": "f5ac2c0b0a2eefca70b2ce32a5809992227e75a6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/f47dcf3c70c584de14f21143c55d9939631bc6cf", - "reference": "f47dcf3c70c584de14f21143c55d9939631bc6cf", + "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/f5ac2c0b0a2eefca70b2ce32a5809992227e75a6", + "reference": "f5ac2c0b0a2eefca70b2ce32a5809992227e75a6", "shasum": "" }, "require": { @@ -7136,7 +7183,7 @@ "php": ">=5.3.0" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7 || ^8" + "phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7 || ^8 || ^9" }, "type": "library", "extra": { @@ -7180,22 +7227,22 @@ ], "support": { "issues": "https://github.com/Masterminds/html5-php/issues", - "source": "https://github.com/Masterminds/html5-php/tree/2.8.1" + "source": "https://github.com/Masterminds/html5-php/tree/2.9.0" }, - "time": "2023-05-10T11:58:31+00:00" + "time": "2024-03-31T07:05:07+00:00" }, { "name": "mck89/peast", - "version": "v1.15.4", + "version": "v1.16.3", "source": { "type": "git", "url": "https://github.com/mck89/peast.git", - "reference": "1df4dc28a6b5bb7ab117ab073c1712256e954e18" + "reference": "645ec21b650bc2aced18285c85f220d22afc1430" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mck89/peast/zipball/1df4dc28a6b5bb7ab117ab073c1712256e954e18", - "reference": "1df4dc28a6b5bb7ab117ab073c1712256e954e18", + "url": "https://api.github.com/repos/mck89/peast/zipball/645ec21b650bc2aced18285c85f220d22afc1430", + "reference": "645ec21b650bc2aced18285c85f220d22afc1430", "shasum": "" }, "require": { @@ -7208,7 +7255,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.15.4-dev" + "dev-master": "1.16.3-dev" } }, "autoload": { @@ -7229,22 +7276,22 @@ "description": "Peast is PHP library that generates AST for JavaScript code", "support": { "issues": "https://github.com/mck89/peast/issues", - "source": "https://github.com/mck89/peast/tree/v1.15.4" + "source": "https://github.com/mck89/peast/tree/v1.16.3" }, - "time": "2023-08-12T08:29:29+00:00" + "time": "2024-07-23T14:00:32+00:00" }, { "name": "mglaman/composer-drupal-lenient", - "version": "1.0.4", + "version": "1.0.5", "source": { "type": "git", "url": "https://github.com/mglaman/composer-drupal-lenient.git", - "reference": "6f9e03f238403b53c04f26a24dd8777f62135213" + "reference": "37ee92d480eb3bb870a4c7003854978f184e5aa9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mglaman/composer-drupal-lenient/zipball/6f9e03f238403b53c04f26a24dd8777f62135213", - "reference": "6f9e03f238403b53c04f26a24dd8777f62135213", + "url": "https://api.github.com/repos/mglaman/composer-drupal-lenient/zipball/37ee92d480eb3bb870a4c7003854978f184e5aa9", + "reference": "37ee92d480eb3bb870a4c7003854978f184e5aa9", "shasum": "" }, "require": { @@ -7281,7 +7328,7 @@ ], "support": { "issues": "https://github.com/mglaman/composer-drupal-lenient/issues", - "source": "https://github.com/mglaman/composer-drupal-lenient/tree/1.0.4" + "source": "https://github.com/mglaman/composer-drupal-lenient/tree/1.0.5" }, "funding": [ { @@ -7289,7 +7336,7 @@ "type": "github" } ], - "time": "2023-12-07T17:56:20+00:00" + "time": "2024-10-18T15:36:34+00:00" }, { "name": "mkalkbrenner/php-htmldiff-advanced", @@ -7334,16 +7381,16 @@ }, { "name": "mtdowling/jmespath.php", - "version": "2.7.0", + "version": "2.8.0", "source": { "type": "git", "url": "https://github.com/jmespath/jmespath.php.git", - "reference": "bbb69a935c2cbb0c03d7f481a238027430f6440b" + "reference": "a2a865e05d5f420b50cc2f85bb78d565db12a6bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/jmespath/jmespath.php/zipball/bbb69a935c2cbb0c03d7f481a238027430f6440b", - "reference": "bbb69a935c2cbb0c03d7f481a238027430f6440b", + "url": "https://api.github.com/repos/jmespath/jmespath.php/zipball/a2a865e05d5f420b50cc2f85bb78d565db12a6bc", + "reference": "a2a865e05d5f420b50cc2f85bb78d565db12a6bc", "shasum": "" }, "require": { @@ -7360,7 +7407,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "2.8-dev" } }, "autoload": { @@ -7394,22 +7441,22 @@ ], "support": { "issues": "https://github.com/jmespath/jmespath.php/issues", - "source": "https://github.com/jmespath/jmespath.php/tree/2.7.0" + "source": "https://github.com/jmespath/jmespath.php/tree/2.8.0" }, - "time": "2023-08-25T10:54:48+00:00" + "time": "2024-09-04T18:46:31+00:00" }, { "name": "nikic/php-parser", - "version": "v5.0.2", + "version": "v5.3.1", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13" + "reference": "8eea230464783aa9671db8eea6f8c6ac5285794b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/139676794dc1e9231bf7bcd123cfc0c99182cb13", - "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/8eea230464783aa9671db8eea6f8c6ac5285794b", + "reference": "8eea230464783aa9671db8eea6f8c6ac5285794b", "shasum": "" }, "require": { @@ -7420,7 +7467,7 @@ }, "require-dev": { "ircmaxell/php-yacc": "^0.0.7", - "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" + "phpunit/phpunit": "^9.0" }, "bin": [ "bin/php-parse" @@ -7452,22 +7499,22 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.0.2" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.3.1" }, - "time": "2024-03-05T20:51:40+00:00" + "time": "2024-10-08T18:51:32+00:00" }, { "name": "nyholm/psr7", - "version": "1.8.1", + "version": "1.8.2", "source": { "type": "git", "url": "https://github.com/Nyholm/psr7.git", - "reference": "aa5fc277a4f5508013d571341ade0c3886d4d00e" + "reference": "a71f2b11690f4b24d099d6b16690a90ae14fc6f3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Nyholm/psr7/zipball/aa5fc277a4f5508013d571341ade0c3886d4d00e", - "reference": "aa5fc277a4f5508013d571341ade0c3886d4d00e", + "url": "https://api.github.com/repos/Nyholm/psr7/zipball/a71f2b11690f4b24d099d6b16690a90ae14fc6f3", + "reference": "a71f2b11690f4b24d099d6b16690a90ae14fc6f3", "shasum": "" }, "require": { @@ -7520,7 +7567,7 @@ ], "support": { "issues": "https://github.com/Nyholm/psr7/issues", - "source": "https://github.com/Nyholm/psr7/tree/1.8.1" + "source": "https://github.com/Nyholm/psr7/tree/1.8.2" }, "funding": [ { @@ -7532,7 +7579,7 @@ "type": "github" } ], - "time": "2023-11-13T09:31:12+00:00" + "time": "2024-09-09T07:06:30+00:00" }, { "name": "nyholm/psr7-server", @@ -7666,16 +7713,16 @@ }, { "name": "pear/archive_tar", - "version": "1.4.14", + "version": "1.5.0", "source": { "type": "git", "url": "https://github.com/pear/Archive_Tar.git", - "reference": "4d761c5334c790e45ef3245f0864b8955c562caa" + "reference": "b439c859564f5cbb0f64ad6002d0afe84a889602" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pear/Archive_Tar/zipball/4d761c5334c790e45ef3245f0864b8955c562caa", - "reference": "4d761c5334c790e45ef3245f0864b8955c562caa", + "url": "https://api.github.com/repos/pear/Archive_Tar/zipball/b439c859564f5cbb0f64ad6002d0afe84a889602", + "reference": "b439c859564f5cbb0f64ad6002d0afe84a889602", "shasum": "" }, "require": { @@ -7706,7 +7753,7 @@ "./" ], "license": [ - "BSD-3-Clause" + "BSD-2-Clause" ], "authors": [ { @@ -7732,17 +7779,7 @@ "issues": "http://pear.php.net/bugs/search.php?cmd=display&package_name[]=Archive_Tar", "source": "https://github.com/pear/Archive_Tar" }, - "funding": [ - { - "url": "https://github.com/mrook", - "type": "github" - }, - { - "url": "https://www.patreon.com/michielrook", - "type": "patreon" - } - ], - "time": "2021-07-20T13:53:39+00:00" + "time": "2024-03-16T16:21:40+00:00" }, { "name": "pear/console_getopt", @@ -7905,7 +7942,7 @@ }, { "name": "phootwork/collection", - "version": "v3.2.2", + "version": "v3.2.3", "source": { "type": "git", "url": "https://github.com/phootwork/collection.git", @@ -7954,22 +7991,22 @@ ], "support": { "issues": "https://github.com/phootwork/phootwork/issues", - "source": "https://github.com/phootwork/collection/tree/v3.2.2" + "source": "https://github.com/phootwork/collection/tree/v3.2.3" }, "time": "2022-08-27T12:51:24+00:00" }, { "name": "phootwork/lang", - "version": "v3.2.2", + "version": "v3.2.3", "source": { "type": "git", "url": "https://github.com/phootwork/lang.git", - "reference": "baaf154ae7d521ebeee5e89105f5b12b0f234597" + "reference": "52ec8cce740ce1c424eef02f43b43d5ddfec7b5e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phootwork/lang/zipball/baaf154ae7d521ebeee5e89105f5b12b0f234597", - "reference": "baaf154ae7d521ebeee5e89105f5b12b0f234597", + "url": "https://api.github.com/repos/phootwork/lang/zipball/52ec8cce740ce1c424eef02f43b43d5ddfec7b5e", + "reference": "52ec8cce740ce1c424eef02f43b43d5ddfec7b5e", "shasum": "" }, "require": { @@ -8003,9 +8040,9 @@ ], "support": { "issues": "https://github.com/phootwork/phootwork/issues", - "source": "https://github.com/phootwork/lang/tree/v3.2.2" + "source": "https://github.com/phootwork/lang/tree/v3.2.3" }, - "time": "2023-05-26T05:37:59+00:00" + "time": "2024-10-03T13:43:19+00:00" }, { "name": "phpowermove/docblock", @@ -8265,20 +8302,20 @@ }, { "name": "psr/http-factory", - "version": "1.0.2", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/php-fig/http-factory.git", - "reference": "e616d01114759c4c489f93b099585439f795fe35" + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35", - "reference": "e616d01114759c4c489f93b099585439f795fe35", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", "shasum": "" }, "require": { - "php": ">=7.0.0", + "php": ">=7.1", "psr/http-message": "^1.0 || ^2.0" }, "type": "library", @@ -8302,7 +8339,7 @@ "homepage": "https://www.php-fig.org/" } ], - "description": "Common interfaces for PSR-7 HTTP message factories", + "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", "keywords": [ "factory", "http", @@ -8314,9 +8351,9 @@ "response" ], "support": { - "source": "https://github.com/php-fig/http-factory/tree/1.0.2" + "source": "https://github.com/php-fig/http-factory" }, - "time": "2023-04-10T20:10:41+00:00" + "time": "2024-04-15T12:06:14+00:00" }, { "name": "psr/http-message", @@ -8654,16 +8691,16 @@ }, { "name": "symfony/console", - "version": "v6.4.11", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "42686880adaacdad1835ee8fc2a9ec5b7bd63998" + "reference": "f793dd5a7d9ae9923e35d0503d08ba734cec1d79" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/42686880adaacdad1835ee8fc2a9ec5b7bd63998", - "reference": "42686880adaacdad1835ee8fc2a9ec5b7bd63998", + "url": "https://api.github.com/repos/symfony/console/zipball/f793dd5a7d9ae9923e35d0503d08ba734cec1d79", + "reference": "f793dd5a7d9ae9923e35d0503d08ba734cec1d79", "shasum": "" }, "require": { @@ -8728,7 +8765,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.4.11" + "source": "https://github.com/symfony/console/tree/v6.4.13" }, "funding": [ { @@ -8744,20 +8781,20 @@ "type": "tidelift" } ], - "time": "2024-08-15T22:48:29+00:00" + "time": "2024-10-09T08:40:40+00:00" }, { "name": "symfony/css-selector", - "version": "v6.4.8", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "4b61b02fe15db48e3687ce1c45ea385d1780fe08" + "reference": "cb23e97813c5837a041b73a6d63a9ddff0778f5e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/4b61b02fe15db48e3687ce1c45ea385d1780fe08", - "reference": "4b61b02fe15db48e3687ce1c45ea385d1780fe08", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/cb23e97813c5837a041b73a6d63a9ddff0778f5e", + "reference": "cb23e97813c5837a041b73a6d63a9ddff0778f5e", "shasum": "" }, "require": { @@ -8793,7 +8830,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v6.4.8" + "source": "https://github.com/symfony/css-selector/tree/v6.4.13" }, "funding": [ { @@ -8809,20 +8846,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-09-25T14:18:03+00:00" }, { "name": "symfony/dependency-injection", - "version": "v6.4.11", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "e93c8368dc9915c2fe12018ff22fcbbdd32c9a9e" + "reference": "728ae8f4e190133ce99d6d5f0bc1e8c8bd7c7a96" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/e93c8368dc9915c2fe12018ff22fcbbdd32c9a9e", - "reference": "e93c8368dc9915c2fe12018ff22fcbbdd32c9a9e", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/728ae8f4e190133ce99d6d5f0bc1e8c8bd7c7a96", + "reference": "728ae8f4e190133ce99d6d5f0bc1e8c8bd7c7a96", "shasum": "" }, "require": { @@ -8874,7 +8911,7 @@ "description": "Allows you to standardize and centralize the way objects are constructed in your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dependency-injection/tree/v6.4.11" + "source": "https://github.com/symfony/dependency-injection/tree/v6.4.13" }, "funding": [ { @@ -8890,20 +8927,20 @@ "type": "tidelift" } ], - "time": "2024-08-29T08:15:38+00:00" + "time": "2024-10-25T15:07:50+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v3.4.0", + "version": "v3.5.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf" + "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf", - "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", + "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", "shasum": "" }, "require": { @@ -8912,7 +8949,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.4-dev" + "dev-main": "3.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -8941,7 +8978,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.4.0" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.0" }, "funding": [ { @@ -8957,20 +8994,20 @@ "type": "tidelift" } ], - "time": "2023-05-23T14:45:45+00:00" + "time": "2024-04-18T09:32:20+00:00" }, { "name": "symfony/dom-crawler", - "version": "v6.4.8", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "105b56a0305d219349edeb60a800082eca864e4b" + "reference": "ae074dffb018c37a57071990d16e6152728dd972" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/105b56a0305d219349edeb60a800082eca864e4b", - "reference": "105b56a0305d219349edeb60a800082eca864e4b", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/ae074dffb018c37a57071990d16e6152728dd972", + "reference": "ae074dffb018c37a57071990d16e6152728dd972", "shasum": "" }, "require": { @@ -9008,7 +9045,7 @@ "description": "Eases DOM navigation for HTML and XML documents", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dom-crawler/tree/v6.4.8" + "source": "https://github.com/symfony/dom-crawler/tree/v6.4.13" }, "funding": [ { @@ -9024,20 +9061,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-10-25T15:07:50+00:00" }, { "name": "symfony/error-handler", - "version": "v6.4.10", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "231f1b2ee80f72daa1972f7340297d67439224f0" + "reference": "e3c78742f86a5b65fe2ac4c4b6b776d92fd7ca0c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/231f1b2ee80f72daa1972f7340297d67439224f0", - "reference": "231f1b2ee80f72daa1972f7340297d67439224f0", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/e3c78742f86a5b65fe2ac4c4b6b776d92fd7ca0c", + "reference": "e3c78742f86a5b65fe2ac4c4b6b776d92fd7ca0c", "shasum": "" }, "require": { @@ -9083,7 +9120,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v6.4.10" + "source": "https://github.com/symfony/error-handler/tree/v6.4.13" }, "funding": [ { @@ -9099,20 +9136,20 @@ "type": "tidelift" } ], - "time": "2024-07-26T12:30:32+00:00" + "time": "2024-09-25T14:18:03+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v6.4.8", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "8d7507f02b06e06815e56bb39aa0128e3806208b" + "reference": "0ffc48080ab3e9132ea74ef4e09d8dcf26bf897e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/8d7507f02b06e06815e56bb39aa0128e3806208b", - "reference": "8d7507f02b06e06815e56bb39aa0128e3806208b", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/0ffc48080ab3e9132ea74ef4e09d8dcf26bf897e", + "reference": "0ffc48080ab3e9132ea74ef4e09d8dcf26bf897e", "shasum": "" }, "require": { @@ -9163,7 +9200,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v6.4.8" + "source": "https://github.com/symfony/event-dispatcher/tree/v6.4.13" }, "funding": [ { @@ -9179,20 +9216,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-09-25T14:18:03+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v3.4.2", + "version": "v3.5.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "4e64b49bf370ade88e567de29465762e316e4224" + "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/4e64b49bf370ade88e567de29465762e316e4224", - "reference": "4e64b49bf370ade88e567de29465762e316e4224", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/8f93aec25d41b72493c6ddff14e916177c9efc50", + "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50", "shasum": "" }, "require": { @@ -9202,7 +9239,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.4-dev" + "dev-main": "3.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -9239,7 +9276,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.4.2" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.0" }, "funding": [ { @@ -9255,20 +9292,20 @@ "type": "tidelift" } ], - "time": "2024-01-23T14:51:35+00:00" + "time": "2024-04-18T09:32:20+00:00" }, { "name": "symfony/filesystem", - "version": "v6.4.9", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "b51ef8059159330b74a4d52f68e671033c0fe463" + "reference": "4856c9cf585d5a0313d8d35afd681a526f038dd3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/b51ef8059159330b74a4d52f68e671033c0fe463", - "reference": "b51ef8059159330b74a4d52f68e671033c0fe463", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/4856c9cf585d5a0313d8d35afd681a526f038dd3", + "reference": "4856c9cf585d5a0313d8d35afd681a526f038dd3", "shasum": "" }, "require": { @@ -9305,7 +9342,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v6.4.9" + "source": "https://github.com/symfony/filesystem/tree/v6.4.13" }, "funding": [ { @@ -9321,20 +9358,20 @@ "type": "tidelift" } ], - "time": "2024-06-28T09:49:33+00:00" + "time": "2024-10-25T15:07:50+00:00" }, { "name": "symfony/finder", - "version": "v6.4.11", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "d7eb6daf8cd7e9ac4976e9576b32042ef7253453" + "reference": "daea9eca0b08d0ed1dc9ab702a46128fd1be4958" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/d7eb6daf8cd7e9ac4976e9576b32042ef7253453", - "reference": "d7eb6daf8cd7e9ac4976e9576b32042ef7253453", + "url": "https://api.github.com/repos/symfony/finder/zipball/daea9eca0b08d0ed1dc9ab702a46128fd1be4958", + "reference": "daea9eca0b08d0ed1dc9ab702a46128fd1be4958", "shasum": "" }, "require": { @@ -9369,7 +9406,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v6.4.11" + "source": "https://github.com/symfony/finder/tree/v6.4.13" }, "funding": [ { @@ -9385,20 +9422,20 @@ "type": "tidelift" } ], - "time": "2024-08-13T14:27:37+00:00" + "time": "2024-10-01T08:30:56+00:00" }, { "name": "symfony/http-foundation", - "version": "v6.4.10", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "117f1f20a7ade7bcea28b861fb79160a21a1e37b" + "reference": "4c0341b3e0a7291e752c69d2a1ed9a84b68d604c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/117f1f20a7ade7bcea28b861fb79160a21a1e37b", - "reference": "117f1f20a7ade7bcea28b861fb79160a21a1e37b", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/4c0341b3e0a7291e752c69d2a1ed9a84b68d604c", + "reference": "4c0341b3e0a7291e752c69d2a1ed9a84b68d604c", "shasum": "" }, "require": { @@ -9446,7 +9483,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v6.4.10" + "source": "https://github.com/symfony/http-foundation/tree/v6.4.13" }, "funding": [ { @@ -9462,20 +9499,20 @@ "type": "tidelift" } ], - "time": "2024-07-26T12:36:27+00:00" + "time": "2024-10-11T19:20:58+00:00" }, { "name": "symfony/http-kernel", - "version": "v6.4.11", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "1ba6b89d781cb47448155cc70dd2e0f1b0584c79" + "reference": "4474015c363ec0cd3bf47d55657e68630dbae66e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/1ba6b89d781cb47448155cc70dd2e0f1b0584c79", - "reference": "1ba6b89d781cb47448155cc70dd2e0f1b0584c79", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/4474015c363ec0cd3bf47d55657e68630dbae66e", + "reference": "4474015c363ec0cd3bf47d55657e68630dbae66e", "shasum": "" }, "require": { @@ -9560,7 +9597,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v6.4.11" + "source": "https://github.com/symfony/http-kernel/tree/v6.4.13" }, "funding": [ { @@ -9576,20 +9613,20 @@ "type": "tidelift" } ], - "time": "2024-08-30T16:57:20+00:00" + "time": "2024-10-27T13:00:29+00:00" }, { "name": "symfony/mailer", - "version": "v6.4.9", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "e2d56f180f5b8c5e7c0fbea872bb1f529b6d6d45" + "reference": "c2f7e0d8d7ac8fe25faccf5d8cac462805db2663" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/e2d56f180f5b8c5e7c0fbea872bb1f529b6d6d45", - "reference": "e2d56f180f5b8c5e7c0fbea872bb1f529b6d6d45", + "url": "https://api.github.com/repos/symfony/mailer/zipball/c2f7e0d8d7ac8fe25faccf5d8cac462805db2663", + "reference": "c2f7e0d8d7ac8fe25faccf5d8cac462805db2663", "shasum": "" }, "require": { @@ -9640,7 +9677,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v6.4.9" + "source": "https://github.com/symfony/mailer/tree/v6.4.13" }, "funding": [ { @@ -9656,20 +9693,20 @@ "type": "tidelift" } ], - "time": "2024-06-28T07:59:05+00:00" + "time": "2024-09-25T14:18:03+00:00" }, { "name": "symfony/mime", - "version": "v6.4.11", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "dba5d5f6073baf7a3576b580cc4a208b4ca00553" + "reference": "1de1cf14d99b12c7ebbb850491ec6ae3ed468855" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/dba5d5f6073baf7a3576b580cc4a208b4ca00553", - "reference": "dba5d5f6073baf7a3576b580cc4a208b4ca00553", + "url": "https://api.github.com/repos/symfony/mime/zipball/1de1cf14d99b12c7ebbb850491ec6ae3ed468855", + "reference": "1de1cf14d99b12c7ebbb850491ec6ae3ed468855", "shasum": "" }, "require": { @@ -9725,7 +9762,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v6.4.11" + "source": "https://github.com/symfony/mime/tree/v6.4.13" }, "funding": [ { @@ -9741,20 +9778,20 @@ "type": "tidelift" } ], - "time": "2024-08-13T12:15:02+00:00" + "time": "2024-10-25T15:07:50+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb" + "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", - "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ef4d7e442ca910c4764bce785146269b30cb5fc4", + "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4", "shasum": "" }, "require": { @@ -9768,9 +9805,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -9807,7 +9841,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0" }, "funding": [ { @@ -9823,20 +9857,20 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-iconv", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-iconv.git", - "reference": "6de50471469b8c9afc38164452ab2b6170ee71c1" + "reference": "cd4226d140ecd3d0f13d32ed0a4a095ffe871d2f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/6de50471469b8c9afc38164452ab2b6170ee71c1", - "reference": "6de50471469b8c9afc38164452ab2b6170ee71c1", + "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/cd4226d140ecd3d0f13d32ed0a4a095ffe871d2f", + "reference": "cd4226d140ecd3d0f13d32ed0a4a095ffe871d2f", "shasum": "" }, "require": { @@ -9850,9 +9884,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -9890,7 +9921,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-iconv/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-iconv/tree/v1.29.0" }, "funding": [ { @@ -9906,20 +9937,20 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "875e90aeea2777b6f135677f618529449334a612" + "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/875e90aeea2777b6f135677f618529449334a612", - "reference": "875e90aeea2777b6f135677f618529449334a612", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/32a9da87d7b3245e09ac426c83d334ae9f06f80f", + "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f", "shasum": "" }, "require": { @@ -9930,9 +9961,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -9971,7 +9999,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.29.0" }, "funding": [ { @@ -9987,20 +10015,20 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "ecaafce9f77234a6a449d29e49267ba10499116d" + "reference": "a287ed7475f85bf6f61890146edbc932c0fff919" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/ecaafce9f77234a6a449d29e49267ba10499116d", - "reference": "ecaafce9f77234a6a449d29e49267ba10499116d", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/a287ed7475f85bf6f61890146edbc932c0fff919", + "reference": "a287ed7475f85bf6f61890146edbc932c0fff919", "shasum": "" }, "require": { @@ -10013,9 +10041,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -10058,7 +10083,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.29.0" }, "funding": [ { @@ -10074,20 +10099,20 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:30:37+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92" + "reference": "bc45c394692b948b4d383a08d7753968bed9a83d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", - "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/bc45c394692b948b4d383a08d7753968bed9a83d", + "reference": "bc45c394692b948b4d383a08d7753968bed9a83d", "shasum": "" }, "require": { @@ -10098,9 +10123,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -10142,7 +10164,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.29.0" }, "funding": [ { @@ -10158,20 +10180,20 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "42292d99c55abe617799667f454222c54c60e229" + "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229", - "reference": "42292d99c55abe617799667f454222c54c60e229", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec", + "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec", "shasum": "" }, "require": { @@ -10185,9 +10207,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -10225,7 +10244,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0" }, "funding": [ { @@ -10241,7 +10260,7 @@ "type": "tidelift" } ], - "time": "2023-07-28T09:04:16+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-php72", @@ -10466,16 +10485,16 @@ }, { "name": "symfony/polyfill-php83", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php83.git", - "reference": "b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11" + "reference": "86fcae159633351e5fd145d1c47de6c528f8caff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11", - "reference": "b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11", + "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/86fcae159633351e5fd145d1c47de6c528f8caff", + "reference": "86fcae159633351e5fd145d1c47de6c528f8caff", "shasum": "" }, "require": { @@ -10484,9 +10503,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -10526,7 +10542,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php83/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-php83/tree/v1.29.0" }, "funding": [ { @@ -10542,20 +10558,20 @@ "type": "tidelift" } ], - "time": "2023-08-16T06:22:46+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/process", - "version": "v6.4.8", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "8d92dd79149f29e89ee0f480254db595f6a6a2c5" + "reference": "1f9f59b46880201629df3bd950fc5ae8c55b960f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/8d92dd79149f29e89ee0f480254db595f6a6a2c5", - "reference": "8d92dd79149f29e89ee0f480254db595f6a6a2c5", + "url": "https://api.github.com/repos/symfony/process/zipball/1f9f59b46880201629df3bd950fc5ae8c55b960f", + "reference": "1f9f59b46880201629df3bd950fc5ae8c55b960f", "shasum": "" }, "require": { @@ -10587,7 +10603,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v6.4.8" + "source": "https://github.com/symfony/process/tree/v6.4.13" }, "funding": [ { @@ -10603,20 +10619,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-09-25T14:18:03+00:00" }, { "name": "symfony/psr-http-message-bridge", - "version": "v6.4.11", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/psr-http-message-bridge.git", - "reference": "74835ba54eca99a38f374f7a6d932fa510124773" + "reference": "c9cf83326a1074f83a738fc5320945abf7fb7fec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/74835ba54eca99a38f374f7a6d932fa510124773", - "reference": "74835ba54eca99a38f374f7a6d932fa510124773", + "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/c9cf83326a1074f83a738fc5320945abf7fb7fec", + "reference": "c9cf83326a1074f83a738fc5320945abf7fb7fec", "shasum": "" }, "require": { @@ -10670,7 +10686,7 @@ "psr-7" ], "support": { - "source": "https://github.com/symfony/psr-http-message-bridge/tree/v6.4.11" + "source": "https://github.com/symfony/psr-http-message-bridge/tree/v6.4.13" }, "funding": [ { @@ -10686,20 +10702,20 @@ "type": "tidelift" } ], - "time": "2024-08-14T13:55:58+00:00" + "time": "2024-09-25T14:18:03+00:00" }, { "name": "symfony/routing", - "version": "v6.4.11", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "8ee0c24c1bf61c263a26f1b9b6d19e83b1121f2a" + "reference": "640a74250d13f9c30d5ca045b6aaaabcc8215278" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/8ee0c24c1bf61c263a26f1b9b6d19e83b1121f2a", - "reference": "8ee0c24c1bf61c263a26f1b9b6d19e83b1121f2a", + "url": "https://api.github.com/repos/symfony/routing/zipball/640a74250d13f9c30d5ca045b6aaaabcc8215278", + "reference": "640a74250d13f9c30d5ca045b6aaaabcc8215278", "shasum": "" }, "require": { @@ -10753,7 +10769,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v6.4.11" + "source": "https://github.com/symfony/routing/tree/v6.4.13" }, "funding": [ { @@ -10769,20 +10785,20 @@ "type": "tidelift" } ], - "time": "2024-08-29T08:15:38+00:00" + "time": "2024-10-01T08:30:56+00:00" }, { "name": "symfony/serializer", - "version": "v6.4.11", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/serializer.git", - "reference": "a75d03d7720417f8a654e73e8f02acdea8779cd0" + "reference": "8be421505938b11a0ca4f656e4322232236386f0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/a75d03d7720417f8a654e73e8f02acdea8779cd0", - "reference": "a75d03d7720417f8a654e73e8f02acdea8779cd0", + "url": "https://api.github.com/repos/symfony/serializer/zipball/8be421505938b11a0ca4f656e4322232236386f0", + "reference": "8be421505938b11a0ca4f656e4322232236386f0", "shasum": "" }, "require": { @@ -10851,7 +10867,7 @@ "description": "Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/serializer/tree/v6.4.11" + "source": "https://github.com/symfony/serializer/tree/v6.4.13" }, "funding": [ { @@ -10867,25 +10883,26 @@ "type": "tidelift" } ], - "time": "2024-08-17T07:51:47+00:00" + "time": "2024-10-03T09:58:04+00:00" }, { "name": "symfony/service-contracts", - "version": "v3.4.2", + "version": "v3.5.0", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "11bbf19a0fb7b36345861e85c5768844c552906e" + "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/11bbf19a0fb7b36345861e85c5768844c552906e", - "reference": "11bbf19a0fb7b36345861e85c5768844c552906e", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", + "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", "shasum": "" }, "require": { "php": ">=8.1", - "psr/container": "^1.1|^2.0" + "psr/container": "^1.1|^2.0", + "symfony/deprecation-contracts": "^2.5|^3" }, "conflict": { "ext-psr": "<1.1|>=2" @@ -10893,7 +10910,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.4-dev" + "dev-main": "3.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -10933,7 +10950,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.4.2" + "source": "https://github.com/symfony/service-contracts/tree/v3.5.0" }, "funding": [ { @@ -10949,20 +10966,20 @@ "type": "tidelift" } ], - "time": "2023-12-19T21:51:00+00:00" + "time": "2024-04-18T09:32:20+00:00" }, { "name": "symfony/string", - "version": "v6.4.11", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "5bc3eb632cf9c8dbfd6529d89be9950d1518883b" + "reference": "38371c60c71c72b3d64d8d76f6b1bb81a2cc3627" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/5bc3eb632cf9c8dbfd6529d89be9950d1518883b", - "reference": "5bc3eb632cf9c8dbfd6529d89be9950d1518883b", + "url": "https://api.github.com/repos/symfony/string/zipball/38371c60c71c72b3d64d8d76f6b1bb81a2cc3627", + "reference": "38371c60c71c72b3d64d8d76f6b1bb81a2cc3627", "shasum": "" }, "require": { @@ -11019,7 +11036,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.4.11" + "source": "https://github.com/symfony/string/tree/v6.4.13" }, "funding": [ { @@ -11035,20 +11052,20 @@ "type": "tidelift" } ], - "time": "2024-08-12T09:55:28+00:00" + "time": "2024-09-25T14:18:03+00:00" }, { "name": "symfony/translation-contracts", - "version": "v3.4.2", + "version": "v3.5.0", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "43810bdb2ddb5400e5c5e778e27b210a0ca83b6b" + "reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/43810bdb2ddb5400e5c5e778e27b210a0ca83b6b", - "reference": "43810bdb2ddb5400e5c5e778e27b210a0ca83b6b", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/b9d2189887bb6b2e0367a9fc7136c5239ab9b05a", + "reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a", "shasum": "" }, "require": { @@ -11057,7 +11074,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.4-dev" + "dev-main": "3.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -11097,7 +11114,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v3.4.2" + "source": "https://github.com/symfony/translation-contracts/tree/v3.5.0" }, "funding": [ { @@ -11113,20 +11130,20 @@ "type": "tidelift" } ], - "time": "2024-01-23T14:51:35+00:00" + "time": "2024-04-18T09:32:20+00:00" }, { "name": "symfony/validator", - "version": "v6.4.11", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/validator.git", - "reference": "4ff41cf10af1de99ad92895411b55c9f309bc2d8" + "reference": "68e0bf4522756269d9bff801a16701b2ed5eb730" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/4ff41cf10af1de99ad92895411b55c9f309bc2d8", - "reference": "4ff41cf10af1de99ad92895411b55c9f309bc2d8", + "url": "https://api.github.com/repos/symfony/validator/zipball/68e0bf4522756269d9bff801a16701b2ed5eb730", + "reference": "68e0bf4522756269d9bff801a16701b2ed5eb730", "shasum": "" }, "require": { @@ -11194,7 +11211,7 @@ "description": "Provides tools to validate values", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/validator/tree/v6.4.11" + "source": "https://github.com/symfony/validator/tree/v6.4.13" }, "funding": [ { @@ -11210,20 +11227,20 @@ "type": "tidelift" } ], - "time": "2024-08-30T15:57:55+00:00" + "time": "2024-10-25T15:07:50+00:00" }, { "name": "symfony/var-dumper", - "version": "v6.4.11", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "ee14c8254a480913268b1e3b1cba8045ed122694" + "reference": "2acb151474ed8cb43624e3f41a0bf7c4c8ce4f41" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/ee14c8254a480913268b1e3b1cba8045ed122694", - "reference": "ee14c8254a480913268b1e3b1cba8045ed122694", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/2acb151474ed8cb43624e3f41a0bf7c4c8ce4f41", + "reference": "2acb151474ed8cb43624e3f41a0bf7c4c8ce4f41", "shasum": "" }, "require": { @@ -11279,7 +11296,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v6.4.11" + "source": "https://github.com/symfony/var-dumper/tree/v6.4.13" }, "funding": [ { @@ -11295,20 +11312,20 @@ "type": "tidelift" } ], - "time": "2024-08-30T16:03:21+00:00" + "time": "2024-09-25T14:18:03+00:00" }, { "name": "symfony/var-exporter", - "version": "v6.4.9", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "f9a060622e0d93777b7f8687ec4860191e16802e" + "reference": "0f605f72a363f8743001038a176eeb2a11223b51" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/f9a060622e0d93777b7f8687ec4860191e16802e", - "reference": "f9a060622e0d93777b7f8687ec4860191e16802e", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/0f605f72a363f8743001038a176eeb2a11223b51", + "reference": "0f605f72a363f8743001038a176eeb2a11223b51", "shasum": "" }, "require": { @@ -11356,7 +11373,7 @@ "serialize" ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v6.4.9" + "source": "https://github.com/symfony/var-exporter/tree/v6.4.13" }, "funding": [ { @@ -11372,20 +11389,20 @@ "type": "tidelift" } ], - "time": "2024-06-24T15:53:56+00:00" + "time": "2024-09-25T14:18:03+00:00" }, { "name": "symfony/yaml", - "version": "v6.4.11", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "be37e7f13195e05ab84ca5269365591edd240335" + "reference": "e99b4e94d124b29ee4cf3140e1b537d2dad8cec9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/be37e7f13195e05ab84ca5269365591edd240335", - "reference": "be37e7f13195e05ab84ca5269365591edd240335", + "url": "https://api.github.com/repos/symfony/yaml/zipball/e99b4e94d124b29ee4cf3140e1b537d2dad8cec9", + "reference": "e99b4e94d124b29ee4cf3140e1b537d2dad8cec9", "shasum": "" }, "require": { @@ -11428,7 +11445,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v6.4.11" + "source": "https://github.com/symfony/yaml/tree/v6.4.13" }, "funding": [ { @@ -11444,7 +11461,7 @@ "type": "tidelift" } ], - "time": "2024-08-12T09:55:28+00:00" + "time": "2024-09-25T14:18:03+00:00" }, { "name": "twig/twig", @@ -11527,16 +11544,16 @@ }, { "name": "webflo/drupal-finder", - "version": "1.3.0", + "version": "1.3.1", "source": { "type": "git", "url": "https://github.com/webflo/drupal-finder.git", - "reference": "1fa65484857c7a2e4dcf0d9e0b47198fe0681b8a" + "reference": "73045060b0894c77962a10cff047f72872d8810c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webflo/drupal-finder/zipball/1fa65484857c7a2e4dcf0d9e0b47198fe0681b8a", - "reference": "1fa65484857c7a2e4dcf0d9e0b47198fe0681b8a", + "url": "https://api.github.com/repos/webflo/drupal-finder/zipball/73045060b0894c77962a10cff047f72872d8810c", + "reference": "73045060b0894c77962a10cff047f72872d8810c", "shasum": "" }, "require": { @@ -11545,7 +11562,8 @@ }, "require-dev": { "mikey179/vfsstream": "^1.6", - "phpunit/phpunit": "^10.4" + "phpunit/phpunit": "^10.4", + "symfony/process": "^6.4" }, "type": "library", "autoload": { @@ -11566,9 +11584,9 @@ "description": "Helper class to locate a Drupal installation.", "support": { "issues": "https://github.com/webflo/drupal-finder/issues", - "source": "https://github.com/webflo/drupal-finder/tree/1.3.0" + "source": "https://github.com/webflo/drupal-finder/tree/1.3.1" }, - "time": "2024-05-08T21:22:39+00:00" + "time": "2024-06-28T13:45:36+00:00" }, { "name": "wikimedia/composer-merge-plugin", @@ -11641,7 +11659,7 @@ }, "prefer-stable": true, "prefer-lowest": false, - "platform": [], - "platform-dev": [], + "platform": {}, + "platform-dev": {}, "plugin-api-version": "2.6.0" } diff --git a/config/sync/block_content.type.html_block.yml b/config/sync/block_content.type.html_block.yml index 29c395ef17..1628297e6b 100644 --- a/config/sync/block_content.type.html_block.yml +++ b/config/sync/block_content.type.html_block.yml @@ -4,5 +4,5 @@ status: true dependencies: { } id: html_block label: 'HTML Block' -revision: 0 +revision: false description: '' diff --git a/config/sync/block_content.type.modal.yml b/config/sync/block_content.type.modal.yml index 06fed5ad4a..25cfbec6df 100644 --- a/config/sync/block_content.type.modal.yml +++ b/config/sync/block_content.type.modal.yml @@ -4,5 +4,5 @@ status: true dependencies: { } id: modal label: Modal -revision: 1 +revision: true description: '' diff --git a/config/sync/block_content.type.site_banner.yml b/config/sync/block_content.type.site_banner.yml index b0c3ab6825..f2669e234f 100644 --- a/config/sync/block_content.type.site_banner.yml +++ b/config/sync/block_content.type.site_banner.yml @@ -4,5 +4,5 @@ status: true dependencies: { } id: site_banner label: 'Site Banner' -revision: 0 +revision: false description: '' diff --git a/config/sync/block_content.type.uswds_paragraphs.yml b/config/sync/block_content.type.uswds_paragraphs.yml index 90ac88280e..8d9d7338a5 100644 --- a/config/sync/block_content.type.uswds_paragraphs.yml +++ b/config/sync/block_content.type.uswds_paragraphs.yml @@ -6,5 +6,5 @@ _core: default_config_hash: WJNbNTj9ewMN8JpReEuoJpf2j3npvOuOi4m2vNWq-Lo id: uswds_paragraphs label: 'USWDS Paragraphs' -revision: 1 +revision: true description: 'Basic block type with a paragraph field to USWDS bundles.' diff --git a/config/sync/block_content.type.wizard_block.yml b/config/sync/block_content.type.wizard_block.yml index fef2f473da..414f0b38f9 100644 --- a/config/sync/block_content.type.wizard_block.yml +++ b/config/sync/block_content.type.wizard_block.yml @@ -4,5 +4,5 @@ status: true dependencies: { } id: wizard_block label: 'Wizard Block' -revision: 0 +revision: false description: '' diff --git a/config/sync/core.extension.yml b/config/sync/core.extension.yml index 6bda8a86d5..b0d118b90e 100644 --- a/config/sync/core.extension.yml +++ b/config/sync/core.extension.yml @@ -74,7 +74,6 @@ module: rest: 0 s3fs: 0 samlauth: 0 - sdc: 0 serialization: 0 settings_tray: 0 simple_sitemap: 0 diff --git a/config/sync/editor.editor.uswds.yml b/config/sync/editor.editor.uswds.yml index fc3540c1dc..6acc0b90c4 100644 --- a/config/sync/editor.editor.uswds.yml +++ b/config/sync/editor.editor.uswds.yml @@ -84,9 +84,3 @@ settings: table_content_items: true image_upload: status: false - scheme: public - directory: inline-images - max_size: '' - max_dimensions: - width: null - height: null diff --git a/config/sync/hierarchy_manager.hmconfig.yml b/config/sync/hierarchy_manager.hmconfig.yml index aaeb648d31..aef1f23bf3 100644 --- a/config/sync/hierarchy_manager.hmconfig.yml +++ b/config/sync/hierarchy_manager.hmconfig.yml @@ -1,6 +1,5 @@ _core: default_config_hash: h6dm-6Fu8tAsr8ABsk6CEK3NLl9HLZcG9zvPh5JNqpQ -hierarchy_manager: null allowed_setup_plugins: hm_setup_menu: hm_setup_menu hm_setup_taxonomy: hm_setup_taxonomy @@ -9,27 +8,28 @@ setup_plugin_settings: display_profile: wizard_manager bundle: wizard: wizard - account: 0 - admin: 0 - devel: 0 - footer: 0 - left-menu-english: 0 - left-menu-spanish: 0 - main: 0 - primary-footer: 0 - primary-footer-spanish: 0 - tools: 0 - top-navigation: 0 - top-navigation-es: 0 - wizard-espanol: 0 + account: '0' + admin: '0' + devel: '0' + footer: '0' + left-menu-english: '0' + left-menu-spanish: '0' + main: '0' + primary-footer: '0' + primary-footer-spanish: '0' + tools: '0' + top-navigation: '0' + top-navigation-es: '0' + wizard-espanol: '0' hm_setup_taxonomy: display_profile: wizard_manager bundle: wizard: wizard - bears_tags: 0 - content_tags: 0 - page_type: 0 - uswds_breakpoints: 0 - uswds_classes: 0 - uswds_colors: 0 - uswds_icons: 0 + bears_tags: '0' + content_tags: '0' + page_type: '0' + uswds_breakpoints: '0' + uswds_classes: '0' + uswds_colors: '0' + uswds_icons: '0' +hierarchy_manager: null diff --git a/config/sync/node.type.agency_synonym.yml b/config/sync/node.type.agency_synonym.yml index 912432ca25..7d7a0fba77 100644 --- a/config/sync/node.type.agency_synonym.yml +++ b/config/sync/node.type.agency_synonym.yml @@ -22,8 +22,8 @@ third_party_settings: parent: 'main:' name: 'Federal Directory Synonym' type: agency_synonym -description: '' -help: '' +description: null +help: null new_revision: true preview_mode: 1 display_submitted: false diff --git a/config/sync/node.type.basic_page.yml b/config/sync/node.type.basic_page.yml index 524d4981ce..748e852b23 100644 --- a/config/sync/node.type.basic_page.yml +++ b/config/sync/node.type.basic_page.yml @@ -24,8 +24,8 @@ third_party_settings: parent: 'left-menu-spanish:' name: 'Basic Page' type: basic_page -description: '' -help: '' +description: null +help: null new_revision: true preview_mode: 1 display_submitted: false diff --git a/config/sync/node.type.bears_agency.yml b/config/sync/node.type.bears_agency.yml index a73212730a..03040b413d 100644 --- a/config/sync/node.type.bears_agency.yml +++ b/config/sync/node.type.bears_agency.yml @@ -23,8 +23,8 @@ third_party_settings: parent: 'main:' name: Agency type: bears_agency -description: '' -help: '' +description: null +help: null new_revision: true preview_mode: 1 display_submitted: true diff --git a/config/sync/node.type.bears_benefit.yml b/config/sync/node.type.bears_benefit.yml index 58f530ff08..29bfc5b6c7 100644 --- a/config/sync/node.type.bears_benefit.yml +++ b/config/sync/node.type.bears_benefit.yml @@ -23,8 +23,8 @@ third_party_settings: parent: 'main:' name: Benefit type: bears_benefit -description: '' -help: '' +description: null +help: null new_revision: true preview_mode: 1 display_submitted: true diff --git a/config/sync/node.type.bears_criteria.yml b/config/sync/node.type.bears_criteria.yml index 046208d073..3ffcd86fd1 100644 --- a/config/sync/node.type.bears_criteria.yml +++ b/config/sync/node.type.bears_criteria.yml @@ -23,8 +23,8 @@ third_party_settings: parent: 'main:' name: Criteria type: bears_criteria -description: '' -help: '' +description: null +help: null new_revision: true preview_mode: 1 display_submitted: true diff --git a/config/sync/node.type.bears_life_event.yml b/config/sync/node.type.bears_life_event.yml index 1f499ab1a1..fa1f01061f 100644 --- a/config/sync/node.type.bears_life_event.yml +++ b/config/sync/node.type.bears_life_event.yml @@ -24,8 +24,8 @@ third_party_settings: parent: 'left-menu-spanish:' name: 'Life Event' type: bears_life_event -description: '' -help: '' +description: null +help: null new_revision: true preview_mode: 0 display_submitted: true diff --git a/config/sync/node.type.bears_life_event_form.yml b/config/sync/node.type.bears_life_event_form.yml index 20355397b5..99caeba0e9 100644 --- a/config/sync/node.type.bears_life_event_form.yml +++ b/config/sync/node.type.bears_life_event_form.yml @@ -23,8 +23,8 @@ third_party_settings: parent: 'main:' name: 'Life Event Form' type: bears_life_event_form -description: '' -help: '' +description: null +help: null new_revision: true preview_mode: 1 display_submitted: true diff --git a/config/sync/node.type.directory_record.yml b/config/sync/node.type.directory_record.yml index ffc07f6f54..d636581946 100644 --- a/config/sync/node.type.directory_record.yml +++ b/config/sync/node.type.directory_record.yml @@ -24,8 +24,8 @@ third_party_settings: parent: 'left-menu-spanish:' name: 'Federal Directory Record' type: directory_record -description: '' -help: '' +description: null +help: null new_revision: true preview_mode: 1 display_submitted: false diff --git a/config/sync/node.type.state_directory_record.yml b/config/sync/node.type.state_directory_record.yml index 93154a3c66..bfc4c75afe 100644 --- a/config/sync/node.type.state_directory_record.yml +++ b/config/sync/node.type.state_directory_record.yml @@ -24,8 +24,8 @@ third_party_settings: parent: 'left-menu-spanish:' name: 'State Directory Record' type: state_directory_record -description: '' -help: '' +description: null +help: null new_revision: true preview_mode: 1 display_submitted: false diff --git a/config/sync/node.type.wizard.yml b/config/sync/node.type.wizard.yml index f18ea9049a..8c80dd2346 100644 --- a/config/sync/node.type.wizard.yml +++ b/config/sync/node.type.wizard.yml @@ -24,8 +24,8 @@ third_party_settings: parent: 'wizard-espanol:' name: Wizard type: wizard -description: '' -help: '' +description: null +help: null new_revision: true preview_mode: 0 display_submitted: false diff --git a/config/sync/node.type.wizard_step.yml b/config/sync/node.type.wizard_step.yml index 57400318c4..a703d6b0a6 100644 --- a/config/sync/node.type.wizard_step.yml +++ b/config/sync/node.type.wizard_step.yml @@ -24,8 +24,8 @@ third_party_settings: parent: 'wizard-espanol:' name: 'Wizard Step' type: wizard_step -description: '' -help: '' +description: null +help: null new_revision: true preview_mode: 1 display_submitted: false diff --git a/config/sync/samlauth.authentication.yml b/config/sync/samlauth.authentication.yml index 8be9222974..4633789ef7 100644 --- a/config/sync/samlauth.authentication.yml +++ b/config/sync/samlauth.authentication.yml @@ -27,7 +27,7 @@ idp_single_sign_on_service: 'https://secureauth.gsa.gov/SecureAuth273' idp_single_log_out_service: '' idp_change_password_service: '' idp_certs: - - MIIGcjCCBVqgAwIBAgITXgAGcBZny589wXHX4gAAAAZwFjANBgkqhkiG9w0BAQsFADCB9TELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExDzANBgNVBAcTBklydmluZTEfMB0GA1UEChMWU2VjdXJlQXV0aCBDb3Jwb3JhdGlvbjFCMEAGA1UECxM5KGMpIDIwMTUgU2VjdXJlQXV0aCBDb3Jwb3JhdGlvbiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR0wGwYDVQQLExRDZXJ0aWZpY2F0ZSBTZXJ2aWNlczE8MDoGA1UEAxMzU2VjdXJlQXV0aCBHMyBJbnRlcm1lZGlhdGUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDFBMB4XDTE3MDgyMzE1MDk1OVoXDTI1MDUxNjIwMTQwNlowgagxCzAJBgNVBAYTAlVTMR0wGwYDVQQIExREaXN0cmljdCBvZiBDb2x1bWJpYTETMBEGA1UEBxMKV2FzaGluZ3RvbjEoMCYGA1UEChMfR2VuZXJhbCBTZXJ2aWNlcyBBZG1pbmlzdHJhdGlvbjEaMBgGA1UECxMRT2ZmaWNlIG9mIHRoZSBDSU8xHzAdBgNVBAMTFlNlY3VyZUF1dGgyM1ZNLmdzYS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCY5boz+gm57AXgdKKkwe4o50XhkWe3aMyndC311lkbd8IZHDaeyiPGI9x6ysQtIfJrns8hPBBaFd92ZFZ0mMe9VfFEJ21hVGs5NCnyEK2SlDMP4zIarUVzfEtS4gnfMYBUHaxkEdn2LYn0QuG1RMLh2LGCAZMI8yLZLcaB/3KJPzyKmL4Xgt08hQx5PB2nvNBfKmKNpBFGEtkjnHL53PGTRbTXE4mPGJ5eQTNRbXzepkSlFmsd3LO7h4eX3WeQl9mHuroowtFvS9GeY9YjxV6MzOons8SvKI/C6atsUb8APN51g/x8Zwy+9YU27Dv2JJF0iaVz2W/6qUFWe7BBgVVZAgMBAAGjggJEMIICQDAOBgNVHQ8BAf8EBAMCBPAwIAYDVR0lAQH/BBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMB0GA1UdDgQWBBRtJZGaf4uIwel6aAI0+vtTVASAqDAsBgNVHREEJTAjgglsb2NhbGhvc3SCFlNlY3VyZUF1dGgyM1ZNLmdzYS5jb20wHwYDVR0jBBgwFoAUBjzzKPdCIGs56tp3qtiSaDGHNywwgecGA1UdHwSB3zCB3DCB2aCB1qCB04ZmaHR0cDovL2Nsb3VkLnNlY3VyZWF1dGguY29tL0NlcnRJbmZvL1NlY3VyZUF1dGglMjBHMyUyMEludGVybWVkaWF0ZSUyMENlcnRpZmljYXRlJTIwQXV0aG9yaXR5JTIwMUEuY3JshmlodHRwOi8vdXMtY2xvdWQuc2VjdXJlYXV0aC5jb20vQ2VydEluZm8vU2VjdXJlQXV0aCUyMEczJTIwSW50ZXJtZWRpYXRlJTIwQ2VydGlmaWNhdGUlMjBBdXRob3JpdHklMjAxQS5jcmwwgbMGCCsGAQUFBwEBBIGmMIGjMIGgBggrBgEFBQcwAoaBk2h0dHA6Ly9jbG91ZC5zZWN1cmVhdXRoLmNvbS9DZXJ0SW5mby9NdWx0aWZhY3RyLVZNMjIuYmFubmVyLm11bHRpZmFjdG9ydHJ1c3QzLmNvbV9TZWN1cmVBdXRoJTIwRzMlMjBJbnRlcm1lZGlhdGUlMjBDZXJ0aWZpY2F0ZSUyMEF1dGhvcml0eSUyMDFBLmNydDANBgkqhkiG9w0BAQsFAAOCAQEArkLVopMVbsEBBxOA93t32kz/krZ5DovVl7rppA0x3OMoQkpjA59liuME9nZjg0ZOAZMbE/hOlyK1tACOL/t+P8l57hibPFQRShpxDLGBBs28r7d1OwjVqkRhr2V51ZbuoZ/WC1K+r2v6raCcjnmk7q/E2Q3lKWcYaLYmeTIjrxgFaZKdTu1BuMI6cTSu+7pjyHXa1L7ssn1HX5CUMnFaSpe8O8k9NkAYuKWo+15NuKXD9ZmqlZPx2FguskXbiSFqcFPQwGGjFgYjPYoL8YaFHWwzDBxhOjzR6pG8JEC1V3Mq6iljlQViTKfKAHCVTuui0nEO+7HCRFaKJhJ9cr5DnA== + 1: MIIGcjCCBVqgAwIBAgITXgAGcBZny589wXHX4gAAAAZwFjANBgkqhkiG9w0BAQsFADCB9TELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExDzANBgNVBAcTBklydmluZTEfMB0GA1UEChMWU2VjdXJlQXV0aCBDb3Jwb3JhdGlvbjFCMEAGA1UECxM5KGMpIDIwMTUgU2VjdXJlQXV0aCBDb3Jwb3JhdGlvbiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR0wGwYDVQQLExRDZXJ0aWZpY2F0ZSBTZXJ2aWNlczE8MDoGA1UEAxMzU2VjdXJlQXV0aCBHMyBJbnRlcm1lZGlhdGUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDFBMB4XDTE3MDgyMzE1MDk1OVoXDTI1MDUxNjIwMTQwNlowgagxCzAJBgNVBAYTAlVTMR0wGwYDVQQIExREaXN0cmljdCBvZiBDb2x1bWJpYTETMBEGA1UEBxMKV2FzaGluZ3RvbjEoMCYGA1UEChMfR2VuZXJhbCBTZXJ2aWNlcyBBZG1pbmlzdHJhdGlvbjEaMBgGA1UECxMRT2ZmaWNlIG9mIHRoZSBDSU8xHzAdBgNVBAMTFlNlY3VyZUF1dGgyM1ZNLmdzYS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCY5boz+gm57AXgdKKkwe4o50XhkWe3aMyndC311lkbd8IZHDaeyiPGI9x6ysQtIfJrns8hPBBaFd92ZFZ0mMe9VfFEJ21hVGs5NCnyEK2SlDMP4zIarUVzfEtS4gnfMYBUHaxkEdn2LYn0QuG1RMLh2LGCAZMI8yLZLcaB/3KJPzyKmL4Xgt08hQx5PB2nvNBfKmKNpBFGEtkjnHL53PGTRbTXE4mPGJ5eQTNRbXzepkSlFmsd3LO7h4eX3WeQl9mHuroowtFvS9GeY9YjxV6MzOons8SvKI/C6atsUb8APN51g/x8Zwy+9YU27Dv2JJF0iaVz2W/6qUFWe7BBgVVZAgMBAAGjggJEMIICQDAOBgNVHQ8BAf8EBAMCBPAwIAYDVR0lAQH/BBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMB0GA1UdDgQWBBRtJZGaf4uIwel6aAI0+vtTVASAqDAsBgNVHREEJTAjgglsb2NhbGhvc3SCFlNlY3VyZUF1dGgyM1ZNLmdzYS5jb20wHwYDVR0jBBgwFoAUBjzzKPdCIGs56tp3qtiSaDGHNywwgecGA1UdHwSB3zCB3DCB2aCB1qCB04ZmaHR0cDovL2Nsb3VkLnNlY3VyZWF1dGguY29tL0NlcnRJbmZvL1NlY3VyZUF1dGglMjBHMyUyMEludGVybWVkaWF0ZSUyMENlcnRpZmljYXRlJTIwQXV0aG9yaXR5JTIwMUEuY3JshmlodHRwOi8vdXMtY2xvdWQuc2VjdXJlYXV0aC5jb20vQ2VydEluZm8vU2VjdXJlQXV0aCUyMEczJTIwSW50ZXJtZWRpYXRlJTIwQ2VydGlmaWNhdGUlMjBBdXRob3JpdHklMjAxQS5jcmwwgbMGCCsGAQUFBwEBBIGmMIGjMIGgBggrBgEFBQcwAoaBk2h0dHA6Ly9jbG91ZC5zZWN1cmVhdXRoLmNvbS9DZXJ0SW5mby9NdWx0aWZhY3RyLVZNMjIuYmFubmVyLm11bHRpZmFjdG9ydHJ1c3QzLmNvbV9TZWN1cmVBdXRoJTIwRzMlMjBJbnRlcm1lZGlhdGUlMjBDZXJ0aWZpY2F0ZSUyMEF1dGhvcml0eSUyMDFBLmNydDANBgkqhkiG9w0BAQsFAAOCAQEArkLVopMVbsEBBxOA93t32kz/krZ5DovVl7rppA0x3OMoQkpjA59liuME9nZjg0ZOAZMbE/hOlyK1tACOL/t+P8l57hibPFQRShpxDLGBBs28r7d1OwjVqkRhr2V51ZbuoZ/WC1K+r2v6raCcjnmk7q/E2Q3lKWcYaLYmeTIjrxgFaZKdTu1BuMI6cTSu+7pjyHXa1L7ssn1HX5CUMnFaSpe8O8k9NkAYuKWo+15NuKXD9ZmqlZPx2FguskXbiSFqcFPQwGGjFgYjPYoL8YaFHWwzDBxhOjzR6pG8JEC1V3Mq6iljlQViTKfKAHCVTuui0nEO+7HCRFaKJhJ9cr5DnA== idp_cert_encryption: '' unique_id_attribute: uid map_users: false @@ -69,4 +69,4 @@ debug_log_saml_out: false debug_phpsaml: false use_proxy_headers: false use_base_url: true -sp_force_https: true +sp_force_https: 1 diff --git a/config/sync/system.cron.yml b/config/sync/system.cron.yml index 49e58a00c9..6d1cca2f67 100644 --- a/config/sync/system.cron.yml +++ b/config/sync/system.cron.yml @@ -3,4 +3,4 @@ _core: threshold: requirements_warning: 172800 requirements_error: 1209600 -logging: 1 +logging: true diff --git a/config/sync/taxonomy.vocabulary.bears_tags.yml b/config/sync/taxonomy.vocabulary.bears_tags.yml index d44e340980..158d6678f0 100644 --- a/config/sync/taxonomy.vocabulary.bears_tags.yml +++ b/config/sync/taxonomy.vocabulary.bears_tags.yml @@ -4,6 +4,6 @@ status: true dependencies: { } name: 'Benefit Finder Tags' vid: bears_tags -description: '' +description: null weight: 0 new_revision: false diff --git a/config/sync/taxonomy.vocabulary.page_type.yml b/config/sync/taxonomy.vocabulary.page_type.yml index a595c5e519..f1dfe313c9 100644 --- a/config/sync/taxonomy.vocabulary.page_type.yml +++ b/config/sync/taxonomy.vocabulary.page_type.yml @@ -4,6 +4,6 @@ status: true dependencies: { } name: 'Page Type' vid: page_type -description: '' +description: null weight: 0 new_revision: false diff --git a/config/sync/taxonomy.vocabulary.uswds_classes.yml b/config/sync/taxonomy.vocabulary.uswds_classes.yml index 65229e7cdf..502d601b92 100644 --- a/config/sync/taxonomy.vocabulary.uswds_classes.yml +++ b/config/sync/taxonomy.vocabulary.uswds_classes.yml @@ -6,6 +6,6 @@ _core: default_config_hash: '-skLTwCndk9p_VpZLRDox98gMlVFdo4MC8-jtZcKFWE' name: 'USWDS Classes' vid: uswds_classes -description: '' +description: null weight: 0 new_revision: false diff --git a/config/sync/taxonomy.vocabulary.wizard.yml b/config/sync/taxonomy.vocabulary.wizard.yml index 9c5030b0f7..3c3d34d236 100644 --- a/config/sync/taxonomy.vocabulary.wizard.yml +++ b/config/sync/taxonomy.vocabulary.wizard.yml @@ -4,6 +4,6 @@ status: true dependencies: { } name: Wizard vid: wizard -description: '' +description: null weight: 0 new_revision: true diff --git a/config/sync/user.role.benefits_finder_content_manager.yml b/config/sync/user.role.benefits_finder_content_manager.yml index d6636930da..1d590ba951 100644 --- a/config/sync/user.role.benefits_finder_content_manager.yml +++ b/config/sync/user.role.benefits_finder_content_manager.yml @@ -69,12 +69,17 @@ permissions: - 'revert bears_criteria revisions' - 'revert bears_life_event revisions' - 'revert bears_life_event_form revisions' + - 'use basic_workflow transition archive' - 'use basic_workflow transition create_new_draft' + - 'use basic_workflow transition move_to_review' + - 'use basic_workflow transition publish' + - 'use basic_workflow transition restore' - 'view any unpublished content' - 'view bears_agency revisions' - 'view bears_benefit revisions' - 'view bears_criteria revisions' - 'view bears_life_event revisions' - 'view bears_life_event_form revisions' + - 'view latest version' - 'view own unpublished content' - 'view the administration theme' diff --git a/config/sync/views.view.archive.yml b/config/sync/views.view.archive.yml index 290001c857..55581001f2 100644 --- a/config/sync/views.view.archive.yml +++ b/config/sync/views.view.archive.yml @@ -29,6 +29,7 @@ display: type: mini options: offset: 0 + pagination_heading_level: h4 items_per_page: 10 total_pages: 0 id: 0 diff --git a/config/sync/views.view.benefit_categories_with_life_events.yml b/config/sync/views.view.benefit_categories_with_life_events.yml index 9116b802e0..76f9998ad7 100644 --- a/config/sync/views.view.benefit_categories_with_life_events.yml +++ b/config/sync/views.view.benefit_categories_with_life_events.yml @@ -537,6 +537,7 @@ display: type: mini options: offset: 0 + pagination_heading_level: h4 items_per_page: 10 total_pages: null id: 0 diff --git a/config/sync/views.view.benefit_category_life_event_reference.yml b/config/sync/views.view.benefit_category_life_event_reference.yml index 5c5698449c..067ea9ac3a 100644 --- a/config/sync/views.view.benefit_category_life_event_reference.yml +++ b/config/sync/views.view.benefit_category_life_event_reference.yml @@ -157,6 +157,7 @@ display: type: mini options: offset: 0 + pagination_heading_level: h4 items_per_page: 10 total_pages: null id: 0 diff --git a/config/sync/views.view.benefit_finder.yml b/config/sync/views.view.benefit_finder.yml index 73a71c53e6..4b84c3668c 100644 --- a/config/sync/views.view.benefit_finder.yml +++ b/config/sync/views.view.benefit_finder.yml @@ -75,6 +75,7 @@ display: type: mini options: offset: 0 + pagination_heading_level: h4 items_per_page: 10 total_pages: null id: 0 diff --git a/config/sync/views.view.benefit_pages_admin.yml b/config/sync/views.view.benefit_pages_admin.yml index f1311d089f..7b365a953f 100644 --- a/config/sync/views.view.benefit_pages_admin.yml +++ b/config/sync/views.view.benefit_pages_admin.yml @@ -332,6 +332,7 @@ display: type: full options: offset: 0 + pagination_heading_level: h4 items_per_page: 15 total_pages: null id: 0 diff --git a/config/sync/views.view.benefit_search_results.yml b/config/sync/views.view.benefit_search_results.yml index 49650cf0f4..ba439e42b0 100644 --- a/config/sync/views.view.benefit_search_results.yml +++ b/config/sync/views.view.benefit_search_results.yml @@ -599,6 +599,7 @@ display: type: mini options: offset: 0 + pagination_heading_level: h4 items_per_page: 10 total_pages: null id: 0 diff --git a/config/sync/views.view.block_content.yml b/config/sync/views.view.block_content.yml index 2417f6421e..187ee23469 100644 --- a/config/sync/views.view.block_content.yml +++ b/config/sync/views.view.block_content.yml @@ -273,6 +273,7 @@ display: type: mini options: offset: 0 + pagination_heading_level: h4 items_per_page: 50 total_pages: null id: 0 diff --git a/config/sync/views.view.content.yml b/config/sync/views.view.content.yml index 1dd9e9e31d..f504d0939e 100644 --- a/config/sync/views.view.content.yml +++ b/config/sync/views.view.content.yml @@ -314,6 +314,7 @@ display: pager: type: full options: + pagination_heading_level: h4 items_per_page: 50 tags: next: 'Next ›' diff --git a/config/sync/views.view.federal_directory_export.yml b/config/sync/views.view.federal_directory_export.yml index 00e9018e1b..51616e52f4 100644 --- a/config/sync/views.view.federal_directory_export.yml +++ b/config/sync/views.view.federal_directory_export.yml @@ -1661,6 +1661,7 @@ display: type: mini options: offset: 0 + pagination_heading_level: h4 items_per_page: 10 total_pages: null id: 0 diff --git a/config/sync/views.view.feeds_feed.yml b/config/sync/views.view.feeds_feed.yml index ab88914cc9..02f2bf5b9b 100644 --- a/config/sync/views.view.feeds_feed.yml +++ b/config/sync/views.view.feeds_feed.yml @@ -480,6 +480,7 @@ display: type: full options: offset: 0 + pagination_heading_level: h4 items_per_page: 50 total_pages: null id: 0 diff --git a/config/sync/views.view.files.yml b/config/sync/views.view.files.yml index 8c9b068dc3..bfdef9845a 100644 --- a/config/sync/views.view.files.yml +++ b/config/sync/views.view.files.yml @@ -470,6 +470,7 @@ display: type: mini options: offset: 0 + pagination_heading_level: h4 items_per_page: 50 total_pages: 0 id: 0 @@ -1005,6 +1006,7 @@ display: type: mini options: offset: 0 + pagination_heading_level: h4 items_per_page: 10 total_pages: 0 id: 0 diff --git a/config/sync/views.view.frontpage.yml b/config/sync/views.view.frontpage.yml index 76b607916b..97e3d12abb 100644 --- a/config/sync/views.view.frontpage.yml +++ b/config/sync/views.view.frontpage.yml @@ -30,6 +30,7 @@ display: type: full options: offset: 0 + pagination_heading_level: h4 items_per_page: 10 total_pages: 0 id: 0 diff --git a/config/sync/views.view.glossary.yml b/config/sync/views.view.glossary.yml index fcdb2d3ffb..1ebe0a9d79 100644 --- a/config/sync/views.view.glossary.yml +++ b/config/sync/views.view.glossary.yml @@ -196,6 +196,7 @@ display: type: mini options: offset: 0 + pagination_heading_level: h4 items_per_page: 36 total_pages: 0 id: 0 diff --git a/config/sync/views.view.language_toggles.yml b/config/sync/views.view.language_toggles.yml index e21312fdb0..cdd072d279 100644 --- a/config/sync/views.view.language_toggles.yml +++ b/config/sync/views.view.language_toggles.yml @@ -140,6 +140,7 @@ display: type: mini options: offset: 0 + pagination_heading_level: h4 items_per_page: 10 total_pages: null id: 0 diff --git a/config/sync/views.view.locked_content.yml b/config/sync/views.view.locked_content.yml index 15112edfd4..a1538e4ae4 100644 --- a/config/sync/views.view.locked_content.yml +++ b/config/sync/views.view.locked_content.yml @@ -368,6 +368,7 @@ display: type: full options: offset: 0 + pagination_heading_level: h4 items_per_page: 50 total_pages: null id: 0 diff --git a/config/sync/views.view.media.yml b/config/sync/views.view.media.yml index a1ceed59d0..b4cfa040fb 100644 --- a/config/sync/views.view.media.yml +++ b/config/sync/views.view.media.yml @@ -522,6 +522,7 @@ display: type: full options: offset: 0 + pagination_heading_level: h4 items_per_page: 50 total_pages: null id: 0 diff --git a/config/sync/views.view.media_library.yml b/config/sync/views.view.media_library.yml index 6dc62b5ad9..12248df0d3 100644 --- a/config/sync/views.view.media_library.yml +++ b/config/sync/views.view.media_library.yml @@ -139,6 +139,7 @@ display: type: mini options: offset: 0 + pagination_heading_level: h4 items_per_page: 24 total_pages: null id: 0 diff --git a/config/sync/views.view.moderated_content.yml b/config/sync/views.view.moderated_content.yml index 0609f1360f..54857f9c7d 100644 --- a/config/sync/views.view.moderated_content.yml +++ b/config/sync/views.view.moderated_content.yml @@ -2,6 +2,8 @@ uuid: 32255651-4a02-4eed-b221-1e74322b887c langcode: en status: true dependencies: + config: + - workflows.workflow.basic_workflow module: - content_moderation - node @@ -416,6 +418,7 @@ display: type: full options: offset: 0 + pagination_heading_level: h4 items_per_page: 50 total_pages: null id: 0 @@ -600,8 +603,8 @@ display: plugin_id: moderation_state_filter operator: in value: - editorial-draft: editorial-draft - editorial-archived: editorial-archived + basic_workflow-draft: basic_workflow-draft + basic_workflow-needs_review: basic_workflow-needs_review group: 1 exposed: true expose: @@ -619,7 +622,11 @@ display: remember_roles: authenticated: authenticated anonymous: '0' - administrator: '0' + content_editor: '0' + site_admin: '0' + content_manager: '0' + content_administrator: '0' + benefits_finder_content_manager: '0' reduce: true is_grouped: false group_info: @@ -685,9 +692,10 @@ display: admin_label: '' entity_type: node plugin_id: moderation_state_filter - operator: 'not in' + operator: in value: - editorial-published: editorial-published + basic_workflow-draft: basic_workflow-draft + basic_workflow-needs_review: basic_workflow-needs_review group: 1 exposed: false expose: @@ -821,7 +829,8 @@ display: - url.query_args - 'user.node_grants:view' - user.permissions - tags: { } + tags: + - 'config:workflow_list' moderated_content: id: moderated_content display_title: 'Moderated content' @@ -840,4 +849,5 @@ display: - url.query_args - 'user.node_grants:view' - user.permissions - tags: { } + tags: + - 'config:workflow_list' diff --git a/config/sync/views.view.published_pages_report.yml b/config/sync/views.view.published_pages_report.yml index e998f978ed..d6f2ba4281 100644 --- a/config/sync/views.view.published_pages_report.yml +++ b/config/sync/views.view.published_pages_report.yml @@ -1010,6 +1010,7 @@ display: type: full options: offset: 0 + pagination_heading_level: h4 items_per_page: 50 total_pages: null id: 0 diff --git a/config/sync/views.view.redirect.yml b/config/sync/views.view.redirect.yml index 0f7bcde52d..fa8abb819e 100644 --- a/config/sync/views.view.redirect.yml +++ b/config/sync/views.view.redirect.yml @@ -226,6 +226,7 @@ display: type: full options: offset: 0 + pagination_heading_level: h4 items_per_page: 50 total_pages: null id: 0 diff --git a/config/sync/views.view.samlauth_map.yml b/config/sync/views.view.samlauth_map.yml index 5a6844a74f..e431479b7e 100644 --- a/config/sync/views.view.samlauth_map.yml +++ b/config/sync/views.view.samlauth_map.yml @@ -249,6 +249,7 @@ display: type: mini options: offset: 0 + pagination_heading_level: h4 items_per_page: 50 total_pages: null id: 0 diff --git a/config/sync/views.view.state_directory_export.yml b/config/sync/views.view.state_directory_export.yml index 2f8cd1414d..eeb31ebf39 100644 --- a/config/sync/views.view.state_directory_export.yml +++ b/config/sync/views.view.state_directory_export.yml @@ -2342,6 +2342,7 @@ display: type: mini options: offset: 0 + pagination_heading_level: h4 items_per_page: 10 total_pages: null id: 0 diff --git a/config/sync/views.view.taxonomy_term.yml b/config/sync/views.view.taxonomy_term.yml index 46bffd1341..5aa0d03578 100644 --- a/config/sync/views.view.taxonomy_term.yml +++ b/config/sync/views.view.taxonomy_term.yml @@ -92,6 +92,7 @@ display: type: mini options: offset: 0 + pagination_heading_level: h4 items_per_page: 10 total_pages: 0 id: 0 diff --git a/config/sync/views.view.test_nav_page.yml b/config/sync/views.view.test_nav_page.yml index 0c8530009b..4b9f77aa43 100644 --- a/config/sync/views.view.test_nav_page.yml +++ b/config/sync/views.view.test_nav_page.yml @@ -74,6 +74,7 @@ display: type: mini options: offset: 0 + pagination_heading_level: h4 items_per_page: 10 total_pages: null id: 0 diff --git a/config/sync/views.view.user_admin_people.yml b/config/sync/views.view.user_admin_people.yml index 0cb51475d1..988f439ef9 100644 --- a/config/sync/views.view.user_admin_people.yml +++ b/config/sync/views.view.user_admin_people.yml @@ -490,6 +490,7 @@ display: type: full options: offset: 0 + pagination_heading_level: h4 items_per_page: 50 total_pages: 0 id: 0 diff --git a/config/sync/views.view.uswds_entity_references.yml b/config/sync/views.view.uswds_entity_references.yml index 01c166c7ce..41633f4d15 100644 --- a/config/sync/views.view.uswds_entity_references.yml +++ b/config/sync/views.view.uswds_entity_references.yml @@ -74,6 +74,7 @@ display: type: mini options: offset: 0 + pagination_heading_level: h4 items_per_page: 10 total_pages: null id: 0 diff --git a/config/sync/views.view.wizard_step_test.yml b/config/sync/views.view.wizard_step_test.yml index 5aa581f58a..ce833fc789 100644 --- a/config/sync/views.view.wizard_step_test.yml +++ b/config/sync/views.view.wizard_step_test.yml @@ -225,6 +225,7 @@ display: type: mini options: offset: 0 + pagination_heading_level: h4 items_per_page: 10 total_pages: null id: 0 diff --git a/config/sync/views.view.wizard_viewer.yml b/config/sync/views.view.wizard_viewer.yml index ca69b7c0dd..41e40a9851 100644 --- a/config/sync/views.view.wizard_viewer.yml +++ b/config/sync/views.view.wizard_viewer.yml @@ -76,6 +76,7 @@ display: type: mini options: offset: 0 + pagination_heading_level: h4 items_per_page: 50 total_pages: null id: 0 diff --git a/config/sync/workflows.workflow.basic_workflow.yml b/config/sync/workflows.workflow.basic_workflow.yml index db4a17d645..b2f6dceee8 100644 --- a/config/sync/workflows.workflow.basic_workflow.yml +++ b/config/sync/workflows.workflow.basic_workflow.yml @@ -4,6 +4,11 @@ status: true dependencies: config: - node.type.basic_page + - node.type.bears_agency + - node.type.bears_benefit + - node.type.bears_criteria + - node.type.bears_life_event + - node.type.bears_life_event_form module: - content_moderation id: basic_workflow @@ -71,4 +76,9 @@ type_settings: entity_types: node: - basic_page + - bears_agency + - bears_benefit + - bears_criteria + - bears_life_event + - bears_life_event_form default_moderation_state: draft diff --git a/docker-compose.yml b/docker-compose.yml index c213edbda2..87554af9a7 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -26,7 +26,7 @@ services: volumes: - .:/var/www:delegated - ./.docker/src-cms/etc/periodic/1min/generate-static-site:/etc/periodic/1min/generate-static-site:delegated - #- ./.docker/src-cms/50_xdebug.ini:/etc/php81/conf.d/50_xdebug.ini:delegated + # - ./.docker/src-cms/50_xdebug.ini:/etc/php83/conf.d/50_xdebug.ini:delegated env_file: - ./env.local environment: diff --git a/patches/drupal/viewsSuggestions-10_3.patch b/patches/drupal/viewsSuggestions-10_3.patch new file mode 100644 index 0000000000..819c36ec9d --- /dev/null +++ b/patches/drupal/viewsSuggestions-10_3.patch @@ -0,0 +1,1754 @@ +diff --git a/core/lib/Drupal/Core/Theme/ThemeManager.php b/core/lib/Drupal/Core/Theme/ThemeManager.php +index f0119957d0..7cceb9d335 100644 +--- a/core/lib/Drupal/Core/Theme/ThemeManager.php ++++ b/core/lib/Drupal/Core/Theme/ThemeManager.php +@@ -140,45 +140,50 @@ public function render($hook, array $variables) { + + $theme_registry = $this->themeRegistry->getRuntime(); + +- // If an array of hook candidates were passed, use the first one that has an +- // implementation. +- if (is_array($hook)) { +- foreach ($hook as $candidate) { +- if ($theme_registry->has($candidate)) { +- break; +- } +- } +- $hook = $candidate; ++ // $hook is normally a string, but it can be an array. We only log error ++ // messages below if it was a string. ++ $is_hook_array = is_array($hook); ++ ++ // While we search for templates, we create a full list of template ++ // suggestions that is later passed to theme_suggestions alter hooks. ++ $template_suggestions = $is_hook_array ? array_values($hook) : [$hook]; ++ ++ // The last element in our template suggestions gets special treatment. ++ // While the other elements must match exactly, the final element is ++ // expanded to create multiple possible matches by iteratively striping ++ // everything after the last '__' delimiter. ++ $last_hook = $suggestion = $is_hook_array ? $hook[array_key_last($hook)] : $hook; ++ while ($pos = strrpos($suggestion, '__')) { ++ $suggestion = substr($suggestion, 0, $pos); ++ $template_suggestions[] = $suggestion; + } +- // Save the original theme hook, so it can be supplied to theme variable +- // preprocess callbacks. +- $original_hook = $hook; +- +- // If there's no implementation, check for more generic fallbacks. +- // If there's still no implementation, log an error and return an empty +- // string. +- if (!$theme_registry->has($hook)) { +- // Iteratively strip everything after the last '__' delimiter, until an +- // implementation is found. +- while ($pos = strrpos($hook, '__')) { +- $hook = substr($hook, 0, $pos); +- if ($theme_registry->has($hook)) { +- break; +- } ++ ++ // Use the first hook candidate that has an implementation. ++ foreach ($template_suggestions as $candidate) { ++ if ($theme_registry->has($candidate)) { ++ // Save the original theme hook, so it can be supplied to theme variable ++ // preprocess callbacks. ++ $original_hook = $is_hook_array && in_array($candidate, $hook) ? $candidate : $last_hook; ++ $hook = $candidate; ++ $info = $theme_registry->get($hook); ++ break; + } +- if (!$theme_registry->has($hook)) { +- // Only log a message when not trying theme suggestions ($hook being an +- // array). +- if (!isset($candidate)) { +- \Drupal::logger('theme')->warning('Theme hook %hook not found.', ['%hook' => $hook]); +- } +- // There is no theme implementation for the hook passed. Return FALSE so +- // the function calling +- // \Drupal\Core\Theme\ThemeManagerInterface::render() can differentiate +- // between a hook that exists and renders an empty string, and a hook +- // that is not implemented. +- return FALSE; ++ } ++ ++ // If there's no implementation, log an error and return an empty string. ++ if (!isset($info)) { ++ // Only log a message if we #theme was a string. By default, all forms set ++ // #theme to an array containing the form ID and don't implement that as a ++ // theme hook, so we want to prevent errors for that common use case. ++ if (!$is_hook_array) { ++ \Drupal::logger('theme')->warning('Theme hook %hook not found.', ['%hook' => $candidate]); + } ++ // There is no theme implementation for the hook passed. Return FALSE so ++ // the function calling ++ // \Drupal\Core\Theme\ThemeManagerInterface::render() can differentiate ++ // between a hook that exists and renders an empty string, and a hook ++ // that is not implemented. ++ return FALSE; + } + + $info = $theme_registry->get($hook); +@@ -217,15 +222,17 @@ public function render($hook, array $variables) { + 'theme_hook_original' => $original_hook, + ]; + +- $suggestions = $this->buildThemeHookSuggestions($hook, $info['base hook'] ?? '', $variables); ++ $suggestions = $this->buildThemeHookSuggestions($hook, $info['base hook'] ?? '', $variables, $template_suggestions); + + // Check if each suggestion exists in the theme registry, and if so, + // use it instead of the base hook. For example, a function may use + // '#theme' => 'node', but a module can add 'node__article' as a suggestion + // via hook_theme_suggestions_HOOK_alter(), enabling a theme to have + // an alternate template file for article nodes. ++ $template_suggestion = $hook; + foreach (array_reverse($suggestions) as $suggestion) { + if ($theme_registry->has($suggestion)) { ++ $template_suggestion = $suggestion; + $info = $theme_registry->get($suggestion); + break; + } +@@ -345,6 +352,10 @@ public function render($hook, array $variables) { + if (isset($theme_hook_suggestion)) { + $variables['theme_hook_suggestion'] = $theme_hook_suggestion; + } ++ // Add two read-only variables that help the template engine understand ++ // how the template was chosen from among all suggestions. ++ $variables['template_suggestions'] = $template_suggestions; ++ $variables['template_suggestion'] = $template_suggestion; + $output = $render_function($template_file, $variables); + return ($output instanceof MarkupInterface) ? $output : (string) $output; + } +@@ -368,20 +379,39 @@ public function render($hook, array $variables) { + * @internal + * This method may change at any time. It is not for use outside this class. + */ +- protected function buildThemeHookSuggestions(string $hook, string $info_base_hook, array &$variables): array { ++ protected function buildThemeHookSuggestions(string $hook, string $info_base_hook, array &$variables, array &$template_suggestions): array { + // Set base hook for later use. For example if '#theme' => 'node__article' + // is called, we run hook_theme_suggestions_node_alter() rather than + // hook_theme_suggestions_node__article_alter(), and also pass in the base + // hook as the last parameter to the suggestions alter hooks. + $base_theme_hook = $info_base_hook ?: $hook; + ++ ++ // The $hook's theme registry may specify a "base hook" that differs from ++ // the base string of $hook. If so, we need to be aware of both strings. ++ $base_of_hook = explode('__', $hook)[0]; ++ + // Invoke hook_theme_suggestions_HOOK(). + $suggestions = $this->moduleHandler->invokeAll('theme_suggestions_' . $base_theme_hook, [$variables]); +- // If the theme implementation was invoked with a direct theme suggestion +- // like '#theme' => 'node__article', add it to the suggestions array before +- // invoking suggestion alter hooks. +- if ($info_base_hook) { +- $suggestions[] = $hook; ++ ++ // Add all the template suggestions with the same base to the suggestions ++ // array before invoking suggestion alter hooks. ++ $contains_base_hook = in_array($base_theme_hook, $template_suggestions); ++ foreach (array_reverse($template_suggestions, TRUE) as $key => $suggestion) { ++ $suggestion_base = explode('__', $suggestion)[0]; ++ if ($suggestion_base === $base_of_hook || $suggestion_base === $base_theme_hook) { ++ if ($suggestion !== $base_theme_hook) { ++ $suggestions[] = $suggestion; ++ } ++ // Temporarily remove from $template_suggestions the suggestions that we ++ // are adding to $suggestions given to the alter hooks. However, ensure ++ // that we leave one entry for the base hook, so we can splice those ++ // $suggestions back into $template_suggestions later. ++ if (($contains_base_hook && $suggestion !== $base_theme_hook) ++ || (!$contains_base_hook && $suggestion !== $hook)) { ++ unset($template_suggestions[$key]); ++ } ++ } + } + + // Invoke hook_theme_suggestions_alter() and +@@ -393,6 +423,16 @@ protected function buildThemeHookSuggestions(string $hook, string $info_base_hoo + $this->moduleHandler->alter($hooks, $suggestions, $variables, $base_theme_hook); + $this->alter($hooks, $suggestions, $variables, $base_theme_hook); + ++ // Merge $suggestions back into $template_suggestions before the "base hook" ++ // entry. ++ $template_suggestions = array_values($template_suggestions); ++ array_splice( ++ $template_suggestions, ++ array_search($contains_base_hook ? $base_theme_hook : $hook, $template_suggestions), ++ $contains_base_hook ? 0 : 1, ++ array_reverse($suggestions) ++ ); ++ + return $suggestions; + } + +diff --git a/core/modules/system/tests/modules/theme_suggestions_base1_test/templates/theme-suggestions-base4-test-alternate--from-hook-theme-suggestions-hook-alter.html.twig b/core/modules/system/tests/modules/theme_suggestions_base1_test/templates/theme-suggestions-base4-test-alternate--from-hook-theme-suggestions-hook-alter.html.twig +new file mode 100644 +index 0000000000..5adce85b9f +--- /dev/null ++++ b/core/modules/system/tests/modules/theme_suggestions_base1_test/templates/theme-suggestions-base4-test-alternate--from-hook-theme-suggestions-hook-alter.html.twig +@@ -0,0 +1,2 @@ ++{# Output for Theme API test #} ++This theme_suggestions_base4_test_alternate__from_hook_theme_suggestions_hook_alter template is implemented. +diff --git a/core/modules/system/tests/modules/theme_suggestions_base1_test/theme_suggestions_base1_test.info.yml b/core/modules/system/tests/modules/theme_suggestions_base1_test/theme_suggestions_base1_test.info.yml +new file mode 100644 +index 0000000000..c9b249af3f +--- /dev/null ++++ b/core/modules/system/tests/modules/theme_suggestions_base1_test/theme_suggestions_base1_test.info.yml +@@ -0,0 +1,5 @@ ++name: 'Theme suggestions base1 test' ++type: module ++description: 'Support module for testing the theme_test_base1 base theme hook' ++package: Testing ++version: VERSION +diff --git a/core/modules/system/tests/modules/theme_suggestions_base1_test/theme_suggestions_base1_test.module b/core/modules/system/tests/modules/theme_suggestions_base1_test/theme_suggestions_base1_test.module +new file mode 100644 +index 0000000000..323474f7f5 +--- /dev/null ++++ b/core/modules/system/tests/modules/theme_suggestions_base1_test/theme_suggestions_base1_test.module +@@ -0,0 +1,43 @@ ++ [], ++ ]; ++ return $items; ++} ++ ++/** ++ * Implements hook_theme_suggestions_HOOK(). ++ */ ++function theme_suggestions_base1_test_theme_suggestions_theme_test_base1(array $variables) { ++ return [ ++ 'theme_test_base1__from_hook_theme_suggestions_hook', ++ 'theme_test_base1__from_hook_theme_suggestions_hook_too', ++ ]; ++} ++ ++/** ++ * Implements hook_theme_suggestions_HOOK_alter(). ++ */ ++function theme_suggestions_base1_test_theme_suggestions_theme_test_base1_alter(array &$suggestions, array $variables, $hook) { ++ $suggestions[] = $hook . '__from_hook_theme_suggestions_hook_alter__but_reordered'; ++ ++ // We move a suggestion from hook_theme_suggestions_HOOK() to come after our ++ // first suggestion above. We also create an intentional gap in the numeric ++ // keys using this common method; Drupal core should handle non-contiguous ++ // index keys. ++ $moved_suggestion = $hook . '__from_hook_theme_suggestions_hook_too'; ++ unset($suggestions[array_search($moved_suggestion, $suggestions)]); ++ $suggestions[] = $moved_suggestion; ++ ++ $suggestions[] = $hook . '__from_hook_theme_suggestions_hook_alter'; ++} +diff --git a/core/modules/system/tests/modules/theme_suggestions_base2_ignored_test/theme_suggestions_base2_ignored_test.info.yml b/core/modules/system/tests/modules/theme_suggestions_base2_ignored_test/theme_suggestions_base2_ignored_test.info.yml +new file mode 100644 +index 0000000000..3f2ad1d267 +--- /dev/null ++++ b/core/modules/system/tests/modules/theme_suggestions_base2_ignored_test/theme_suggestions_base2_ignored_test.info.yml +@@ -0,0 +1,5 @@ ++name: 'Theme suggestions base2 ignored test' ++type: module ++description: 'Support module for testing the ignored theme_test_base2 base theme hook' ++package: Testing ++version: VERSION +diff --git a/core/modules/system/tests/modules/theme_suggestions_base2_ignored_test/theme_suggestions_base2_ignored_test.module b/core/modules/system/tests/modules/theme_suggestions_base2_ignored_test/theme_suggestions_base2_ignored_test.module +new file mode 100644 +index 0000000000..3b47bdc93e +--- /dev/null ++++ b/core/modules/system/tests/modules/theme_suggestions_base2_ignored_test/theme_suggestions_base2_ignored_test.module +@@ -0,0 +1,15 @@ ++ 'theme_test_base2', ++ 'variables' => [], ++ ]; ++ $items['theme_test_base2__from_hook_theme_suggestions_hook'] = [ ++ 'base hook' => 'theme_test_base2', ++ 'variables' => [], ++ ]; ++ return $items; ++} ++ ++/** ++ * Implements hook_theme_suggestions_HOOK(). ++ */ ++function theme_suggestions_base2_test_theme_suggestions_theme_test_base2(array $variables) { ++ return [ ++ 'theme_test_base2__from_hook_theme_suggestions_hook', ++ ]; ++} ++ ++/** ++ * Implements hook_theme_suggestions_HOOK_alter(). ++ */ ++function theme_suggestions_base2_test_theme_suggestions_theme_test_base2_alter(array &$suggestions, array $variables, $hook) { ++ // Add a suggestion just to confirm that the theme_test_base2 suggestion is ++ // normally ignored. ++ $suggestions[] = 'theme_test_base2__from_hook_theme_suggestions_hook_alter'; ++} +diff --git a/core/modules/system/tests/modules/theme_suggestions_base3_test/templates/theme-test-base3.html.twig b/core/modules/system/tests/modules/theme_suggestions_base3_test/templates/theme-test-base3.html.twig +new file mode 100644 +index 0000000000..287557002e +--- /dev/null ++++ b/core/modules/system/tests/modules/theme_suggestions_base3_test/templates/theme-test-base3.html.twig +@@ -0,0 +1,2 @@ ++{# Output for Theme API test #} ++This theme_test_base3 template is implemented. +diff --git a/core/modules/system/tests/modules/theme_suggestions_base3_test/theme_suggestions_base3_test.info.yml b/core/modules/system/tests/modules/theme_suggestions_base3_test/theme_suggestions_base3_test.info.yml +new file mode 100644 +index 0000000000..38302bf332 +--- /dev/null ++++ b/core/modules/system/tests/modules/theme_suggestions_base3_test/theme_suggestions_base3_test.info.yml +@@ -0,0 +1,5 @@ ++name: 'Theme suggestions base3 test' ++type: module ++description: 'Support module for testing the theme_test_base3 base theme hook' ++package: Testing ++version: VERSION +diff --git a/core/modules/system/tests/modules/theme_suggestions_base3_test/theme_suggestions_base3_test.module b/core/modules/system/tests/modules/theme_suggestions_base3_test/theme_suggestions_base3_test.module +new file mode 100644 +index 0000000000..c8cccc9fe7 +--- /dev/null ++++ b/core/modules/system/tests/modules/theme_suggestions_base3_test/theme_suggestions_base3_test.module +@@ -0,0 +1,27 @@ ++ [], ++ ]; ++ return $items; ++} ++ ++/** ++ * Implements hook_theme_suggestions_HOOK_alter(). ++ */ ++function theme_suggestions_base3_test_theme_suggestions_theme_test_base3_alter(array &$suggestions, array $variables, $hook) { ++ $from_theme_array = array_search('theme_test_base3__from_theme_property', $suggestions); ++ if ($from_theme_array !== FALSE) { ++ $suggestions[$from_theme_array] .= '__seen_by_alter'; ++ } ++ $suggestions[] = 'theme_test_base3__from_hook_theme_suggestions_hook_alter'; ++} +diff --git a/core/modules/system/tests/modules/theme_suggestions_base4_test/templates/theme-test-base4.html.twig b/core/modules/system/tests/modules/theme_suggestions_base4_test/templates/theme-test-base4.html.twig +new file mode 100644 +index 0000000000..78bc128f0a +--- /dev/null ++++ b/core/modules/system/tests/modules/theme_suggestions_base4_test/templates/theme-test-base4.html.twig +@@ -0,0 +1,2 @@ ++{# Output for Theme API test #} ++This theme_test_base4 template is implemented and has a different "base hook". +diff --git a/core/modules/system/tests/modules/theme_suggestions_base4_test/theme_suggestions_base4_test.info.yml b/core/modules/system/tests/modules/theme_suggestions_base4_test/theme_suggestions_base4_test.info.yml +new file mode 100644 +index 0000000000..f5e876d495 +--- /dev/null ++++ b/core/modules/system/tests/modules/theme_suggestions_base4_test/theme_suggestions_base4_test.info.yml +@@ -0,0 +1,5 @@ ++name: 'Theme suggestions base4 test' ++type: module ++description: 'Support module for testing the theme_test_base4 base theme hook' ++package: Testing ++version: VERSION +diff --git a/core/modules/system/tests/modules/theme_suggestions_base4_test/theme_suggestions_base4_test.module b/core/modules/system/tests/modules/theme_suggestions_base4_test/theme_suggestions_base4_test.module +new file mode 100644 +index 0000000000..9db0eaee7f +--- /dev/null ++++ b/core/modules/system/tests/modules/theme_suggestions_base4_test/theme_suggestions_base4_test.module +@@ -0,0 +1,33 @@ ++ 'theme_suggestions_base4_test_alternate', ++ 'variables' => [], ++ ]; ++ return $items; ++} ++ ++/** ++ * Implements hook_theme_suggestions_HOOK(). ++ */ ++function theme_suggestions_base4_test_theme_suggestions_theme_suggestions_base4_test_alternate(array $variables) { ++ return [ ++ 'theme_suggestions_base4_test_alternate__from_hook_theme_suggestions_hook', ++ ]; ++} ++ ++/** ++ * Implements hook_theme_suggestions_HOOK_alter(). ++ */ ++function theme_suggestions_base4_test_theme_suggestions_theme_suggestions_base4_test_alternate_alter(array &$suggestions, array $variables, $hook) { ++ $suggestions[] = $hook . '__from_hook_theme_suggestions_hook_alter'; ++} +diff --git a/core/modules/system/tests/themes/test_theme/templates/theme-test-general-suggestions--module-override.html.twig b/core/modules/system/tests/modules/theme_suggestions_test/templates/theme-test-general-suggestions--module-override.html.twig +similarity index 100% +rename from core/modules/system/tests/themes/test_theme/templates/theme-test-general-suggestions--module-override.html.twig +rename to core/modules/system/tests/modules/theme_suggestions_test/templates/theme-test-general-suggestions--module-override.html.twig +diff --git a/core/modules/system/tests/themes/test_theme/templates/theme-test-suggestions--module-override.html.twig b/core/modules/system/tests/modules/theme_suggestions_test/templates/theme-test-suggestions--module-override.html.twig +similarity index 100% +rename from core/modules/system/tests/themes/test_theme/templates/theme-test-suggestions--module-override.html.twig +rename to core/modules/system/tests/modules/theme_suggestions_test/templates/theme-test-suggestions--module-override.html.twig +diff --git a/core/modules/system/tests/modules/theme_suggestions_test/theme_suggestions_test.module b/core/modules/system/tests/modules/theme_suggestions_test/theme_suggestions_test.module +index 789f8f2e00..45438ecef1 100644 +--- a/core/modules/system/tests/modules/theme_suggestions_test/theme_suggestions_test.module ++++ b/core/modules/system/tests/modules/theme_suggestions_test/theme_suggestions_test.module +@@ -5,6 +5,21 @@ + * Support module for testing theme suggestions. + */ + ++/** ++ * Implements hook_theme(). ++ */ ++function theme_suggestions_test_theme($existing, $type, $theme, $path) { ++ $items['theme_test_general_suggestions__module_override'] = [ ++ 'base hook' => 'theme_test_general_suggestions', ++ 'variables' => [], ++ ]; ++ $items['theme_test_suggestions__module_override'] = [ ++ 'base hook' => 'theme_test_suggestions', ++ 'variables' => [], ++ ]; ++ return $items; ++} ++ + /** + * Implements hook_theme_suggestions_alter(). + */ +@@ -19,14 +34,14 @@ function theme_suggestions_test_theme_suggestions_alter(array &$suggestions, arr + /** + * Implements hook_theme_suggestions_HOOK_alter(). + */ +-function theme_suggestions_test_theme_suggestions_theme_test_suggestions_alter(array &$suggestions, array $variables) { ++function theme_suggestions_test_theme_suggestions_theme_test_suggestions_alter(array &$suggestions, array $variables, $hook) { + \Drupal::messenger()->addStatus(__FUNCTION__ . '() executed.'); +- $suggestions[] = 'theme_test_suggestions__module_override'; ++ $suggestions[] = $hook . '__module_override'; + } + + /** + * Implements hook_theme_suggestions_HOOK_alter(). + */ +-function theme_suggestions_test_theme_suggestions_theme_test_specific_suggestions_alter(array &$suggestions, array $variables) { +- $suggestions[] = 'theme_test_specific_suggestions__variant__foo'; ++function theme_suggestions_test_theme_suggestions_theme_test_specific_suggestions_alter(array &$suggestions, array $variables, $hook) { ++ $suggestions[] = $hook . '__variant__foo'; + } +diff --git a/core/modules/system/tests/modules/theme_test/src/ThemeTestController.php b/core/modules/system/tests/modules/theme_test/src/ThemeTestController.php +index 5d8badabeb..89c66f8203 100644 +--- a/core/modules/system/tests/modules/theme_test/src/ThemeTestController.php ++++ b/core/modules/system/tests/modules/theme_test/src/ThemeTestController.php +@@ -72,34 +72,6 @@ public function testRequestListener() { + return ['#markup' => $GLOBALS['theme_test_output']]; + } + +- /** +- * Menu callback for testing suggestion alter hooks with template files. +- */ +- public function suggestionProvided() { +- return ['#theme' => 'theme_test_suggestion_provided']; +- } +- +- /** +- * Menu callback for testing suggestion alter hooks with template files. +- */ +- public function suggestionAlter() { +- return ['#theme' => 'theme_test_suggestions']; +- } +- +- /** +- * Menu callback for testing hook_theme_suggestions_alter(). +- */ +- public function generalSuggestionAlter() { +- return ['#theme' => 'theme_test_general_suggestions']; +- } +- +- /** +- * Menu callback for testing suggestion alter hooks with specific suggestions. +- */ +- public function specificSuggestionAlter() { +- return ['#theme' => 'theme_test_specific_suggestions__variant']; +- } +- + /** + * Controller to ensure that no theme is initialized. + * +diff --git a/core/modules/system/tests/modules/theme_test/templates/theme-test-base1.html.twig b/core/modules/system/tests/modules/theme_test/templates/theme-test-base1.html.twig +new file mode 100644 +index 0000000000..2bea8c84b9 +--- /dev/null ++++ b/core/modules/system/tests/modules/theme_test/templates/theme-test-base1.html.twig +@@ -0,0 +1,2 @@ ++{# Output for Theme API test #} ++Template for testing suggestion hooks when #theme contains a list of theme suggestions. +diff --git a/core/modules/system/tests/modules/theme_test/templates/theme-test-base2.html.twig b/core/modules/system/tests/modules/theme_test/templates/theme-test-base2.html.twig +new file mode 100644 +index 0000000000..e157f28aad +--- /dev/null ++++ b/core/modules/system/tests/modules/theme_test/templates/theme-test-base2.html.twig +@@ -0,0 +1,2 @@ ++{# Output for Theme API test #} ++This theme_test_base2 template is implemented, but never used. +diff --git a/core/modules/system/tests/modules/theme_test/templates/theme-test-xss-suggestion.html.twig b/core/modules/system/tests/modules/theme_test/templates/theme-test-xss-suggestion.html.twig +new file mode 100644 +index 0000000000..a8e58846be +--- /dev/null ++++ b/core/modules/system/tests/modules/theme_test/templates/theme-test-xss-suggestion.html.twig +@@ -0,0 +1,2 @@ ++{# Output for Theme API test #} ++Template for testing XSS in theme hook suggestions. +diff --git a/core/modules/system/tests/modules/theme_test/theme_test.module b/core/modules/system/tests/modules/theme_test/theme_test.module +index dc0f07c6c9..59639203fc 100644 +--- a/core/modules/system/tests/modules/theme_test/theme_test.module ++++ b/core/modules/system/tests/modules/theme_test/theme_test.module +@@ -18,9 +18,11 @@ function theme_test_theme($existing, $type, $theme, $path) { + ]; + $items['theme_test_template_test'] = [ + 'template' => 'theme_test.template_test', ++ 'variables' => [], + ]; + $items['theme_test_template_test_2'] = [ + 'template' => 'theme_test.template_test', ++ 'variables' => [], + ]; + $items['theme_test_suggestion_provided'] = [ + 'variables' => [], +@@ -34,6 +36,15 @@ function theme_test_theme($existing, $type, $theme, $path) { + $items['theme_test_general_suggestions'] = [ + 'variables' => ['module_hook' => 'theme_test_theme', 'theme_hook' => 'none'], + ]; ++ $items['theme_test_base1'] = [ ++ 'variables' => [], ++ ]; ++ $items['theme_test_base2'] = [ ++ 'variables' => [], ++ ]; ++ $items['theme_test_xss_suggestion'] = [ ++ 'variables' => [], ++ ]; + $items['theme_test_foo'] = [ + 'variables' => ['foo' => NULL], + ]; +@@ -158,11 +169,20 @@ function theme_test_theme_suggestions_theme_test_suggestion_provided(array $vari + return ['theme_test_suggestion_provided__foo']; + } + ++/** ++ * Implements hook_theme_suggestions_HOOK(). ++ */ ++function theme_test_theme_suggestions_theme_test_suggestions(array $variables) { ++ \Drupal::messenger()->addStatus(__FUNCTION__ . '() executed.'); ++} ++ + /** + * Implements hook_theme_suggestions_alter(). + */ + function theme_test_theme_suggestions_alter(array &$suggestions, array $variables, $hook) { +- \Drupal::messenger()->addStatus(__FUNCTION__ . '() executed for ' . $hook . '.'); ++ if ($hook === 'theme_test_suggestions') { ++ \Drupal::messenger()->addStatus(__FUNCTION__ . '() executed.'); ++ } + } + + /** +@@ -188,9 +208,9 @@ function theme_test_system_info_alter(array &$info, Extension $file, $type) { + /** + * Implements hook_theme_suggestions_HOOK(). + */ +-function theme_test_theme_suggestions_node(array $variables) { ++function theme_test_theme_suggestions_theme_test_xss_suggestion(array $variables) { + $xss = ''; +- $suggestions[] = 'node__' . $xss; ++ $suggestions[] = 'theme_test_xss_suggestion__' . $xss; + + return $suggestions; + } +diff --git a/core/modules/system/tests/modules/theme_test/theme_test.routing.yml b/core/modules/system/tests/modules/theme_test/theme_test.routing.yml +index 1299fe9562..9ee3c31804 100644 +--- a/core/modules/system/tests/modules/theme_test/theme_test.routing.yml ++++ b/core/modules/system/tests/modules/theme_test/theme_test.routing.yml +@@ -39,34 +39,6 @@ theme_test.request_listener: + requirements: + _access: 'TRUE' + +-suggestion_alter: +- path: '/theme-test/suggestion-alter' +- defaults: +- _controller: '\Drupal\theme_test\ThemeTestController::suggestionAlter' +- requirements: +- _access: 'TRUE' +- +-theme_test.general_suggestion_alter: +- path: '/theme-test/general-suggestion-alter' +- defaults: +- _controller: '\Drupal\theme_test\ThemeTestController::generalSuggestionAlter' +- requirements: +- _access: 'TRUE' +- +-suggestion_provided: +- path: '/theme-test/suggestion-provided' +- defaults: +- _controller: '\Drupal\theme_test\ThemeTestController::suggestionProvided' +- requirements: +- _access: 'TRUE' +- +-specific_suggestion_alter: +- path: '/theme-test/specific-suggestion-alter' +- defaults: +- _controller: '\Drupal\theme_test\ThemeTestController::specificSuggestionAlter' +- requirements: +- _access: 'TRUE' +- + theme_test.non_html: + path: '/theme-test/non-html' + defaults: +diff --git a/core/modules/system/tests/src/Kernel/Theme/ThemeSuggestionsAlterTest.php b/core/modules/system/tests/src/Kernel/Theme/ThemeSuggestionsAlterTest.php +new file mode 100644 +index 0000000000..9b7d39c855 +--- /dev/null ++++ b/core/modules/system/tests/src/Kernel/Theme/ThemeSuggestionsAlterTest.php +@@ -0,0 +1,711 @@ ++getParameter('twig.config'); ++ $parameters['debug'] = TRUE; ++ $container->setParameter('twig.config', $parameters); ++ } ++ ++ /** ++ * {@inheritdoc} ++ * ++ * We override KernelTestBase::render() so that it outputs Twig debug comments ++ * only for the render array given in a test and not for an entire page. ++ */ ++ protected function render(array &$elements): string { ++ return $this->container->get('renderer')->renderRoot($elements); ++ } ++ ++ /** ++ * Helper function to test render arrays with modules and themes. ++ * ++ * @param array $build ++ * A render array. ++ * @param string[] $modules ++ * An array of modules to install before the test. ++ * @param string $theme ++ * The theme to set as the default theme. ++ * @param string[] $expected ++ * The string(s) expected in the rendered output. ++ * @param string[] $unexpected ++ * The string(s) expected to NOT occur in the rendered output. ++ * ++ * @throws \Exception ++ */ ++ public function runTemplateSuggestionTest(array $build, array $modules, string $theme, array $expected, array $unexpected = []) { ++ // Enable modules. ++ if (!empty($modules)) { ++ $this->enableModules($modules); ++ } ++ // Set the default theme. ++ if ($theme) { ++ $this->container->get('theme_installer')->install([$theme]); ++ $this->config('system.theme') ++ ->set('default', $theme) ++ ->save(); ++ } ++ ++ // Render a template. ++ $output = $this->render($build); ++ ++ // Check the output for expected results. ++ foreach ($expected as $expected_string) { ++ $this->assertStringContainsString($expected_string, $output, $this->getName()); ++ } ++ ++ // Check the output for unexpected results. ++ foreach ($unexpected as $unexpected_string) { ++ $this->assertStringNotContainsString($unexpected_string, $output, $this->getName()); ++ } ++ } ++ ++ /** ++ * Tests hook_theme_suggestions_HOOK. ++ * ++ * Note: themes cannot use this hook. ++ * ++ * @param string[] $modules ++ * An array of modules to install before the test. ++ * @param string $theme ++ * The theme to set as the default theme. ++ * @param string[] $expected ++ * The string(s) expected in the rendered output. ++ * ++ * @dataProvider providerHookThemeSuggestionsHook ++ * ++ * @throws \Exception ++ */ ++ public function testHookThemeSuggestionsHook(array $modules, string $theme, array $expected) { ++ $this->runTemplateSuggestionTest( ++ [ ++ '#theme' => 'theme_test_suggestion_provided', ++ ], ++ $modules, ++ $theme, ++ $expected ++ ); ++ } ++ ++ /** ++ * Data provider for testHookThemeSuggestionsHook(). ++ * ++ * @see testHookThemeSuggestionsHook() ++ */ ++ public function providerHookThemeSuggestionsHook(): array { ++ return [ ++ 'Base template used when suggestion template not found' => [ ++ 'modules' => [], ++ 'theme' => '', ++ 'expected' => [ ++ 'Template for testing suggestions provided by the module declaring the theme hook.', ++ ], ++ ], ++ 'Suggestion template used when suggestion template is found' => [ ++ 'modules' => [], ++ // The test_theme contains a template suggested by theme_test.module in ++ // theme_test_theme_suggestions_theme_test_suggestion_provided(). ++ 'theme' => 'test_theme', ++ 'expected' => [ ++ 'Template overridden based on suggestion provided by the module declaring the theme hook.', ++ ], ++ ], ++ ]; ++ } ++ ++ /** ++ * Tests hook_theme_suggestions_alter(). ++ * ++ * @param string[] $modules ++ * An array of modules to install before the test. ++ * @param string $theme ++ * The theme to set as the default theme. ++ * @param string[] $expected ++ * The string(s) expected in the rendered output. ++ * ++ * @dataProvider providerHookThemeSuggestionsAlter ++ * ++ * @throws \Exception ++ */ ++ public function testHookThemeSuggestionsAlter(array $modules, string $theme, array $expected) { ++ $this->runTemplateSuggestionTest( ++ [ ++ '#theme' => 'theme_test_general_suggestions', ++ ], ++ $modules, ++ $theme, ++ $expected ++ ); ++ } ++ ++ /** ++ * Data provider for testHookThemeSuggestionsAlter(). ++ * ++ * @see testHookThemeSuggestionsAlter() ++ */ ++ public function providerHookThemeSuggestionsAlter(): array { ++ $extension = '.html.twig'; ++ return [ ++ 'Base template used when suggestion template is not available' => [ ++ 'modules' => [], ++ 'theme' => '', ++ 'expected' => [ ++ 'Original template for testing hook_theme_suggestions_alter().', ++ "", ++ ], ++ ], ++ 'Suggestion provided by a module\'s hook_theme_suggestions_alter is used' => [ ++ // @see theme_suggestions_test_theme_suggestions_alter() ++ 'modules' => ['theme_suggestions_test'], ++ 'theme' => '', ++ 'expected' => [ ++ 'Template overridden based on new theme suggestion provided by a module via hook_theme_suggestions_alter().', ++ "", ++ ], ++ ], ++ 'Suggestion provided by a theme\'s hook_theme_suggestions_alter is used' => [ ++ 'modules' => [], ++ // @see test_theme_theme_suggestions_alter() ++ 'theme' => 'test_theme', ++ 'expected' => [ ++ 'Template overridden based on new theme suggestion provided by the test_theme theme via hook_theme_suggestions_alter().', ++ "", ++ ], ++ ], ++ 'Themes implementing hook_theme_suggestions_alter override modules' => [ ++ 'modules' => ['theme_suggestions_test'], ++ 'theme' => 'test_theme', ++ 'expected' => [ ++ 'Template overridden based on new theme suggestion provided by the test_theme theme via hook_theme_suggestions_alter().', ++ "", ++ ], ++ 'unexpected' => [ ++ 'Template overridden based on new theme suggestion provided by a module via hook_theme_suggestions_alter().', ++ ], ++ ], ++ ]; ++ } ++ ++ /** ++ * Tests hook_theme_suggestions_HOOK_alter(). ++ * ++ * @param string[] $modules ++ * An array of modules to install before the test. ++ * @param string $theme ++ * The theme to set as the default theme. ++ * @param string[] $expected ++ * The string(s) expected in the rendered output. ++ * ++ * @dataProvider providerHookThemeSuggestionsHookAlter ++ * ++ * @throws \Exception ++ */ ++ public function testHookThemeSuggestionsHookAlter(array $modules, string $theme, array $expected) { ++ $this->runTemplateSuggestionTest( ++ [ ++ '#theme' => 'theme_test_suggestions', ++ ], ++ $modules, ++ $theme, ++ $expected ++ ); ++ } ++ ++ /** ++ * Data provider for testHookThemeSuggestionsHookAlter(). ++ * ++ * @see testHookThemeSuggestionsHookAlter() ++ */ ++ public function providerHookThemeSuggestionsHookAlter(): array { ++ return [ ++ 'Base template used when suggestion template is not available' => [ ++ 'modules' => [], ++ 'theme' => '', ++ 'expected' => [ ++ 'Original template for testing hook_theme_suggestions_HOOK_alter().', ++ ], ++ ], ++ 'Suggestion provided by a module\'s hook_theme_suggestions_HOOK_alter is used' => [ ++ // @see theme_suggestions_test_theme_suggestions_theme_test_suggestions_alter() ++ 'modules' => ['theme_suggestions_test'], ++ 'theme' => '', ++ 'expected' => [ ++ 'Template overridden based on new theme suggestion provided by a module via hook_theme_suggestions_HOOK_alter().', ++ ], ++ ], ++ 'Suggestion provided by a theme\'s hook_theme_suggestions_HOOK_alter is used' => [ ++ 'modules' => [], ++ // @see test_theme_theme_suggestions_theme_test_suggestions_alter() ++ 'theme' => 'test_theme', ++ 'expected' => [ ++ 'Template overridden based on new theme suggestion provided by the test_theme theme via hook_theme_suggestions_HOOK_alter().', ++ ], ++ ], ++ ]; ++ } ++ ++ /** ++ * Tests non-"base hook" suggestions with hook_theme_suggestions_HOOK_alter(). ++ * ++ * @param string[] $modules ++ * An array of modules to install before the test. ++ * @param string $theme ++ * The theme to set as the default theme. ++ * @param string[] $expected ++ * The string(s) expected in the rendered output. ++ * ++ * @dataProvider providerNonBaseHookThemeSuggestions ++ * ++ * @throws \Exception ++ */ ++ public function testNonBaseHookThemeSuggestions(array $modules, string $theme, array $expected) { ++ $this->runTemplateSuggestionTest( ++ [ ++ '#theme' => 'theme_test_specific_suggestions__variant', ++ ], ++ $modules, ++ $theme, ++ $expected ++ ); ++ } ++ ++ /** ++ * Data provider for testNonBaseHookThemeSuggestions(). ++ * ++ * @see testNonBaseHookThemeSuggestions() ++ */ ++ public function providerNonBaseHookThemeSuggestions(): array { ++ $extension = '.html.twig'; ++ return [ ++ 'Base template used when suggestion template is not available' => [ ++ 'modules' => [], ++ 'theme' => '', ++ 'expected' => [ ++ 'Template for testing specific theme calls.', ++ ], ++ ], ++ 'Suggestion provided by a module\'s hook_theme_suggestions_HOOK_alter is used' => [ ++ // @see theme_suggestions_test_theme_suggestions_theme_test_specific_suggestions_alter() ++ 'modules' => ['theme_suggestions_test'], ++ 'theme' => 'test_theme', ++ 'expected' => [ ++ 'Template overridden based on suggestion alter hook determined by a module\'s hook_theme_suggestions_HOOK_alter().', ++ '' . PHP_EOL, ++ ], ++ ], ++ 'Suggestion template provided by a theme' => [ ++ 'modules' => [], ++ 'theme' => 'test_theme', ++ 'expected' => [ ++ 'Template overridden based on suggestion alter hook determined by the base hook.', ++ '' . PHP_EOL, ++ ], ++ ], ++ ]; ++ } ++ ++ /** ++ * Tests debug markup for non-"base hook" suggestions without implementation. ++ * ++ * @throws \Exception ++ */ ++ public function testUnimplementedNonBaseHookThemeSuggestions() { ++ $extension = '.html.twig'; ++ $this->runTemplateSuggestionTest( ++ [ ++ '#theme' => 'theme_test_specific_suggestions__variant_not_found__too', ++ ], ++ [], ++ '', ++ [ ++ "THEME HOOK: 'theme_test_specific_suggestions__variant_not_found__too'", ++ '', ++ ] ++ ); ++ } ++ ++ /** ++ * Tests an array of suggestions with all alter hooks. ++ * ++ * @param string[] $modules ++ * An array of modules to install before the test. ++ * @param string $theme ++ * The theme to set as the default theme. ++ * @param string[] $expected ++ * The string(s) expected in the rendered output. ++ * @param string[] $unexpected ++ * The string(s) expected to NOT occur in the rendered output. ++ * ++ * @dataProvider providerThemeSuggestionsOrdering ++ * ++ * @throws \Exception ++ */ ++ public function testThemeSuggestionsOrdering(array $modules, string $theme, array $expected, array $unexpected) { ++ $this->runTemplateSuggestionTest( ++ [ ++ '#theme' => 'theme_test_base1__from_theme_property__too', ++ ], ++ $modules, ++ $theme, ++ $expected, ++ $unexpected ++ ); ++ } ++ ++ /** ++ * Data provider for testThemeSuggestionsOrdering(). ++ * ++ * @see testThemeSuggestionsOrdering() ++ */ ++ public function providerThemeSuggestionsOrdering(): array { ++ $extension = '.html.twig'; ++ return [ ++ '#theme property suggestions always override ones from hook_theme_suggestions_hook' => [ ++ 'modules' => ['theme_suggestions_base1_test'], ++ 'theme' => '', ++ 'expected' => [ ++ 'Template for testing suggestion hooks when #theme contains a list of theme suggestions.', ++ '' . PHP_EOL, ++ ], ++ 'unexpected' => [], ++ ], ++ 'adding a new template implementation does not change order of suggestions' => [ ++ 'modules' => ['theme_suggestions_base1_test'], ++ 'theme' => 'test_theme', ++ 'expected' => [ ++ 'This theme_test_base1__from_theme_property__too template is implemented.', ++ '' . PHP_EOL, ++ ], ++ 'unexpected' => [], ++ ], ++ ]; ++ } ++ ++ /** ++ * Tests an array of suggestions with all alter hooks. ++ * ++ * @param string[] $modules ++ * An array of modules to install before the test. ++ * @param string $theme ++ * The theme to set as the default theme. ++ * @param string[] $expected ++ * The string(s) expected in the rendered output. ++ * @param string[] $unexpected ++ * The string(s) expected to NOT occur in the rendered output. ++ * ++ * @dataProvider providerArrayThemeSuggestions ++ * ++ * @throws \Exception ++ */ ++ public function testArrayThemeSuggestions(array $modules, string $theme, array $expected, array $unexpected) { ++ $this->runTemplateSuggestionTest( ++ [ ++ '#theme' => [ ++ 'theme_test_base5', ++ 'theme_test_base4', ++ 'theme_test_base3__from_theme_property', ++ 'theme_test_base3', ++ 'theme_test_base2__from_theme_property__without_base', ++ 'theme_test_base1__from_theme_property__too', ++ ], ++ ], ++ $modules, ++ $theme, ++ $expected, ++ $unexpected ++ ); ++ } ++ ++ /** ++ * Data provider for testArrayThemeSuggestions(). ++ * ++ * @see testArrayThemeSuggestions() ++ */ ++ public function providerArrayThemeSuggestions(): array { ++ $extension = '.html.twig'; ++ return [ ++ 'Only the last #theme array entry is expanded into suggestions' => [ ++ 'modules' => [], ++ 'theme' => '', ++ 'expected' => [ ++ 'Template for testing suggestion hooks when #theme contains a list of theme suggestions.', ++ '' . PHP_EOL, ++ ], ++ 'unexpected' => [ ++ 'This theme_test_base2 template is implemented, but never used.', ++ 'x theme-test-base2' . $extension . PHP_EOL, ++ '* theme-test-base2' . $extension . PHP_EOL, ++ ], ++ ], ++ 'Confirm unexpanded theme_test_base2 suggestion would be used if expanded' => [ ++ 'modules' => ['theme_suggestions_base2_ignored_test'], ++ 'theme' => '', ++ 'expected' => [ ++ 'This theme_test_base2 template is implemented, but never used.', ++ '' . PHP_EOL, ++ ], ++ 'unexpected' => [], ++ ], ++ // This is a duplicate of testThemeSuggestionsOrdering, but in an array ++ // context. ++ '#theme property suggestions always override ones from hook_theme_suggestions_hook' => [ ++ 'modules' => ['theme_suggestions_base1_test'], ++ 'theme' => '', ++ 'expected' => [ ++ 'Template for testing suggestion hooks when #theme contains a list of theme suggestions.', ++ '' . PHP_EOL, ++ ], ++ 'unexpected' => [], ++ ], ++ 'specific #theme property suggestions always override ones from hook_theme_suggestions_hook' => [ ++ 'modules' => ['theme_suggestions_base2_test'], ++ 'theme' => '', ++ 'expected' => [ ++ 'This theme_test_base2__from_theme_property__without_base template is implemented.', ++ '' . PHP_EOL, ++ ], ++ 'unexpected' => [ ++ 'This theme_test_base2__from_hook_theme_suggestions_hook template is implemented, but never used.', ++ 'This theme_test_base2 template is implemented, but never used.', ++ 'x theme-test-base2' . $extension . PHP_EOL, ++ '* theme-test-base2' . $extension . PHP_EOL, ++ ], ++ ], ++ 'adding a new template implementation does not change order of suggestions' => [ ++ 'modules' => ['theme_suggestions_base1_test'], ++ 'theme' => 'test_theme', ++ 'expected' => [ ++ 'This theme_test_base1__from_theme_property__too template is implemented.', ++ '' . PHP_EOL, ++ ], ++ 'unexpected' => [], ++ ], ++ 'theme suggestions alter hooks see suggestions from #theme' => [ ++ 'modules' => ['theme_suggestions_base3_test'], ++ 'theme' => '', ++ 'expected' => [ ++ 'This theme_test_base3 template is implemented.', ++ ''; ++ $this->assertStringContainsString($expected, $output, 'Twig debug markup found in theme output when debug is enabled.'); ++ ++ $expected = "\n"; ++ $this->assertStringContainsString($expected, $output, 'Theme hook comment found.'); ++ ++ $expected = "\n\n"; ++ $this->assertStringContainsString($expected, $output, 'Full path to current template file found in BEGIN OUTPUT comment.'); ++ $expected = "\n\n"; ++ $this->assertStringContainsString($expected, $output, 'Full path to current template file found in END OUTPUT comment.'); ++ } ++ ++ /** ++ * Tests file name suggestions comment. ++ * ++ * @throws \Exception ++ */ ++ public function testFileNameSuggestions() { ++ $extension = '.html.twig'; ++ ++ // Render a template using a single suggestion. ++ $build = [ ++ '#theme' => 'theme_test_specific_suggestions', ++ ]; ++ $output = $this->render($build); ++ ++ $expected = "\n"; ++ $this->assertStringContainsString($expected, $output, 'Theme hook comment found.'); ++ $unexpected = '"; ++ $this->assertStringContainsString($expected, $output, 'Theme hook comment found.'); ++ $expected = ''; ++ $this->assertStringContainsString($expected, $output, 'Multiple suggestions should have file name suggestions listed.'); ++ } ++ ++ /** ++ * Tests suggestions when file name does not match. ++ * ++ * @throws \Exception ++ */ ++ public function testFileNameNotMatchingSuggestion() { ++ $extension = '.html.twig'; ++ ++ // Find full path to template. ++ $cache = $this->container->get('theme.registry')->get(); ++ $templates = drupal_find_theme_templates($cache, $extension, $this->container->get('extension.list.module')->getPath('theme_test')); ++ $template_filename = $templates['theme_test_template_test']['path'] . '/' . $templates['theme_test_template_test']['template'] . $extension; ++ ++ // Render a template that doesn't match its suggestion name. ++ $build = [ ++ '#theme' => 'theme_test_template_test__variant', ++ ]; ++ $output = $this->render($build); ++ ++ $expected = "\n"; ++ $this->assertStringContainsString($expected, $output, 'Theme hook comment found.'); ++ ++ $expected = ''; ++ $this->assertStringContainsString($expected, $output, 'The actual template file name should be used when it does not match the suggestion.'); ++ ++ $expected = "\n\n"; ++ $this->assertStringContainsString($expected, $output, 'Full path to current template file found in BEGIN OUTPUT comment.'); ++ } ++ ++ /** ++ * Tests XSS attempt in theme suggestions and Twig debug comments. ++ * ++ * @throws \Exception ++ */ ++ public function testXssComments() { ++ $extension = '.html.twig'; ++ ++ // Render a template whose suggestions have been compromised. ++ $build = [ ++ '#theme' => 'theme_test_xss_suggestion', ++ ]; ++ $output = $this->render($build); ++ ++ // @see theme_test_theme_suggestions_node() ++ $xss_suggestion = Html::escape('theme-test-xss-suggestion--') . $extension; ++ ++ $expected = ''; ++ $this->assertStringContainsString($expected, $output, 'XSS suggestion successfully escaped in Twig debug comments.'); ++ $this->assertStringContainsString('Template for testing XSS in theme hook suggestions.', $output, 'Base hook suggestion used instead of XSS suggestion.'); ++ } ++ ++} +diff --git a/core/modules/system/tests/themes/test_theme/templates/theme-suggestions-base4-test-alternate.html.twig b/core/modules/system/tests/themes/test_theme/templates/theme-suggestions-base4-test-alternate.html.twig +new file mode 100644 +index 0000000000..e8d83a2774 +--- /dev/null ++++ b/core/modules/system/tests/themes/test_theme/templates/theme-suggestions-base4-test-alternate.html.twig +@@ -0,0 +1,2 @@ ++{# Output for Theme API test #} ++This theme_suggestions_base4_test_alternate template is implemented, but not used. +diff --git a/core/modules/system/tests/themes/test_theme/templates/theme-test-base1--from-theme-property--too.html.twig b/core/modules/system/tests/themes/test_theme/templates/theme-test-base1--from-theme-property--too.html.twig +new file mode 100644 +index 0000000000..4b6e3745af +--- /dev/null ++++ b/core/modules/system/tests/themes/test_theme/templates/theme-test-base1--from-theme-property--too.html.twig +@@ -0,0 +1,2 @@ ++{# Output for Theme API test #} ++This theme_test_base1__from_theme_property__too template is implemented. +diff --git a/core/modules/system/tests/themes/test_theme/templates/theme-test-specific-suggestions--variant--foo.html.twig b/core/modules/system/tests/themes/test_theme/templates/theme-test-specific-suggestions--variant--foo.html.twig +index a464e47a51..0a0408d7ae 100644 +--- a/core/modules/system/tests/themes/test_theme/templates/theme-test-specific-suggestions--variant--foo.html.twig ++++ b/core/modules/system/tests/themes/test_theme/templates/theme-test-specific-suggestions--variant--foo.html.twig +@@ -1,5 +1,2 @@ + {# Output for Theme API test #} +-Template overridden based on suggestion alter hook determined by the base hook. +- +-
Theme hook suggestions:
+-{{ theme_hook_suggestions|safe_join("
") }}
Theme hook suggestions:
+-{{ theme_hook_suggestions|safe_join("
") }}
JSON Data
"); - print_r($json); - print_r(""); + if ($this->displayData) { + print_r("
JSON Data
"); + print_r($json); + print_r(""); + } return $result; } @@ -320,6 +322,7 @@ public function getData($id) { "benefits" => $benefits, ]; $json = json_encode($result, JSON_PRETTY_PRINT); + $json = htmlspecialchars($json); if ($this->displayData) { print_r("
JSON Data
"); diff --git a/web/modules/custom/usagov_benefit_finder/modules/usagov_benefit_finder_api/usagov_benefit_finder_api.module b/web/modules/custom/usagov_benefit_finder/modules/usagov_benefit_finder_api/usagov_benefit_finder_api.module index ef840a5551..d8c98f1fde 100644 --- a/web/modules/custom/usagov_benefit_finder/modules/usagov_benefit_finder_api/usagov_benefit_finder_api.module +++ b/web/modules/custom/usagov_benefit_finder/modules/usagov_benefit_finder_api/usagov_benefit_finder_api.module @@ -16,8 +16,22 @@ use Drupal\usagov_benefit_finder_api\Controller\LifeEventController; * @param Node $node */ function usagov_benefit_finder_api_node_update(Node $node) { + $generate_json_files = 1; $url = _usagov_benefit_finder_api_get_current_page_url(); + if (strpos($url, "/admin/content") === FALSE) { + if ($node->hasField('moderation_state')) { + $moderation_state = $node->get('moderation_state')->value; + if ($moderation_state == 'needs_review') { + $generate_json_files = 0; + } + } + } + else { + $generate_json_files = 0; + } + + if ($generate_json_files == 1) { _usagov_benefit_finder_api_batch_generate_json_data_files($node); } else { diff --git a/web/modules/custom/usagov_benefit_finder/modules/usagov_benefit_finder_app/usagov_benefit_finder_page/css/benefit-finder.min.css b/web/modules/custom/usagov_benefit_finder/modules/usagov_benefit_finder_app/usagov_benefit_finder_page/css/benefit-finder.min.css index 9c1cca09a8..37d45915f1 100644 --- a/web/modules/custom/usagov_benefit_finder/modules/usagov_benefit_finder_app/usagov_benefit_finder_page/css/benefit-finder.min.css +++ b/web/modules/custom/usagov_benefit_finder/modules/usagov_benefit_finder_app/usagov_benefit_finder_page/css/benefit-finder.min.css @@ -1 +1 @@ -@charset "UTF-8";#benefit-finder .no-background{background-color:#fff;border-left-color:#fff}#benefit-finder h2.bf-usa-alert__heading{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.3125rem;font-style:normal;font-weight:700;line-height:117.4%}#benefit-finder .bf-errors-list-item a{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.0625rem;font-style:normal;font-weight:400;line-height:132%}#benefit-finder .bf-usa-accordion .bf-usa-accordion__button{position:relative}#benefit-finder .bf-usa-accordion .bf-usa-accordion__button svg{position:absolute;top:0;bottom:0;right:1.25rem;margin:auto 0}#benefit-finder .bf-usa-accordion .bf-usa-accordion__button .bf-accordion-heading{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.3125rem;font-style:normal;font-weight:700;line-height:117.4%;letter-spacing:0}#benefit-finder .bf-usa-accordion .bf-usa-accordion__button .bf-accordion-sub-heading{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.0625rem;font-style:normal;font-weight:400;line-height:132%;letter-spacing:0}#benefit-finder .bf-usa-accordion .bf-usa-accordion__content{padding:0 2.5rem 1rem}#benefit-finder .bf-usa-accordion-group .bf-usa-accordion{margin-bottom:.75rem}#benefit-finder .bf-usa-accordion-group .bf-usa-accordion .bf-usa-detail-title{margin-bottom:.5rem}#benefit-finder .bf-usa-accordion-group .bf-usa-accordion .bf-usa-detail-summary p{margin-bottom:1.5rem}#benefit-finder .bf-usa-accordion-group .bf-usa-accordion .bf-key-eligibility-criteria-heading{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.3125rem;font-style:normal;font-weight:700;line-height:117.4%}#benefit-finder .bf-usa-accordion-group .bf-usa-accordion .bf-usa-accordion-group-cta-wrapper{display:flex;justify-content:center;margin-top:2rem}#benefit-finder .bf-usa-accordion-group .bf-usa-accordion .bf-usa-accordion-group-cta-wrapper .bf-usa-link{margin-bottom:1rem}#benefit-finder .bf-usa-accordion-group .bf-expand-all{margin-bottom:2rem}#benefit-finder .bf-usa-button{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.0625rem;font-style:normal;font-weight:400;line-height:132%;font-weight:700;padding:1rem 1.25rem;font-size:1.1rem}#benefit-finder .bf-usa-button--outline{background-color:transparent;box-shadow:inset 0 0 0 .125rem #000;color:#000}#benefit-finder .bf-usa-button--outline:focus{box-shadow:inset 0 0 0 .125rem #fff}#benefit-finder .bf-usa-button--outline:hover{background-color:#f0f0f0}#benefit-finder .bf-usa-card--relative-benefit{margin-bottom:1rem}#benefit-finder .bf-usa-card--relative-benefit .bf-usa-card__container{border-radius:0;border:.125rem solid #0081a1;color:#162e51;height:auto;margin:0}#benefit-finder .bf-usa-card--relative-benefit a{text-decoration:none}#benefit-finder .bf-usa-card--relative-benefit a:hover.bf-usa-card__container{background-color:#ccecf2}#benefit-finder .bf-usa-card--relative-benefit a:active.bf-usa-card__container{border:.125rem solid #0081a1}#benefit-finder .bf-usa-card--relative-benefit.bf-card-icon .bf-relative-icon svg{margin:auto 0;position:absolute;top:0;bottom:0;left:1rem;width:4.375rem;height:4.375rem;padding:.75rem}#benefit-finder .bf-usa-card--relative-benefit.bf-card-icon .bf-usa-card__container{padding:0 2.5rem 0 5.375rem}#benefit-finder .bf-usa-card--relative-benefit .bf-usa-card__header{padding-bottom:0}#benefit-finder .bf-usa-card--relative-benefit h3.bf-usa-card__heading{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.3125rem;font-style:normal;font-weight:400;line-height:145.4%;font-weight:700;text-decoration:underline}#benefit-finder .bf-usa-card--relative-benefit .bf-usa-card__body{display:none}#benefit-finder .bf-usa-card--relative-benefit .bf-usa-card__cta,.bf-usa-card--relative-benefit .bf-usa-card__body{padding:1.5rem;padding-top:0;margin-top:0;margin-bottom:0}@media (width >= 65.5625rem){#benefit-finder .bf-usa-card--relative-benefit .bf-usa-card__body{display:block;padding-top:0;padding-bottom:1.5rem;margin-top:0;margin-bottom:0}#benefit-finder .bf-usa-card--relative-benefit .bf-usa-card__body p{max-width:90%}#benefit-finder .bf-usa-card--relative-benefit .bf-usa-card__cta{display:none}}#benefit-finder h1.bf-chevron-heading{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.4375rem;font-style:normal;font-weight:900;line-height:117.4%;letter-spacing:-.39px}#benefit-finder .bf-chevron{position:relative;background-color:#162e51;padding:4rem 2rem 2.375rem;margin:0 auto;color:#fff;margin-bottom:8.75rem}#benefit-finder .bf-chevron-description p{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.3125rem;font-style:normal;font-weight:400;line-height:164%}#benefit-finder .bf-chevron:before{content:"";position:absolute;top:100%;left:0;border-top:4.75rem solid #162e51;border-left:50vw solid transparent;border-right:50vw solid transparent}@media (width >= 65.5625rem){#benefit-finder .bf-chevron{padding-bottom:4rem;margin-bottom:4rem}#benefit-finder .bf-chevron:before{display:none}}#benefit-finder .bf-usa-form-group{width:100%}#benefit-finder .bf-usa-memorable-date{max-width:20rem;flex-wrap:wrap}#benefit-finder .bf-usa-input.usa-input--error{padding:.5rem;height:initial;border-color:#b50909}#benefit-finder .bf-usa-form-group--month{width:15.125rem;margin-top:.5rem}#benefit-finder .bf-usa-form-group--day{width:4rem;margin-top:.5rem}#benefit-finder .bf-usa-form-group--year{width:5.9375rem;margin-top:.5rem}@media (width >= 65.5625rem){#benefit-finder .bf-usa-memorable-date{max-width:100%}}#benefit-finder .bf-usa-fieldset{position:relative;padding:0;margin:0}#benefit-finder .bf-usa-fieldset .bf-hint{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.0625rem;font-style:normal;font-weight:400;line-height:132%}#benefit-finder .bf-usa-fieldset .bf-error-detail{margin:0 0 .5rem;color:#b50909;font-weight:600}#benefit-finder .bf-usa-fieldset li.bf-error-detail{margin:0 0 .25rem}#benefit-finder .bf-fieldset-wrapper{padding:0 0 2rem}#benefit-finder .bf-fieldset-wrapper:has(fieldset.usa-input--error){border-left:.25rem solid #c61f0c;padding-left:1.25rem}#benefit-finder .bf-fieldset-wrapper:has(fieldset.usa-input--error)+.bf-fieldset-wrapper:has(fieldset:not(.usa-input--error)){padding-top:1.25rem}#benefit-finder .bf-fieldset-wrapper:has(fieldset.display-none){padding:0}#benefit-finder form.bf-usa-form{font-family:Public Sans,sans-serif;background-color:#162e51;height:100%;min-height:100vh;margin:0}#benefit-finder h1{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.4375rem;font-style:normal;font-weight:900;line-height:117.4%;letter-spacing:-.39px}#benefit-finder h2{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2rem;font-style:normal;font-weight:900;line-height:117.4%}#benefit-finder h3{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.625rem;font-style:normal;font-weight:900;line-height:117.4%}#benefit-finder h4{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.3125rem;font-style:normal;font-weight:700;line-height:117.4%}#benefit-finder h5{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.3125rem;font-style:normal;font-weight:700;line-height:117.4%}#benefit-finder h6{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.25rem;font-weight:700;line-height:134.09%}#benefit-finder .bf-usa-hint--required{color:#3d4551}#benefit-finder .bf-required{color:#3d4551;font-weight:400;margin-left:.5rem}#benefit-finder .bf-carrot-solid,.bf-carrot{position:absolute;top:0;bottom:0;right:3.125rem;margin:auto 0;transform:rotate(-90deg)}#benefit-finder .bf-carrot-solid:after,.bf-carrot:after{content:"▸"}#benefit-finder .bf-carrot{transform:rotate(0)}#benefit-finder .bf-intro{padding-bottom:2rem}#benefit-finder .bf-intro h2{text-align:center}#benefit-finder .bf-intro .bf-cta-wrapper{display:flex;justify-content:center;margin:2rem 2rem 4rem}#benefit-finder .bf-intro .bf-cta-wrapper button{margin:0 auto}#benefit-finder .bf-intro .bf-intro-process-notices{display:flex;flex-direction:column;align-items:center;justify-content:space-around;margin-left:1rem}#benefit-finder .bf-intro .bf-intro-process-list{display:flex;flex-direction:column;align-items:center;justify-content:space-around}#benefit-finder .bf-intro .bf-intro-process-list .bf-usa-process-list{margin-left:0;margin-right:0}@media (width >= 65.5625rem){#benefit-finder .bf-intro .bf-intro-process-list{min-width:50%}#benefit-finder .bf-intro .bf-intro-process-notices-heading{display:none}#benefit-finder .bf-intro .bf-intro-process-group{display:flex}}#benefit-finder .bf-key-eligibility-criteria-group .bf-key-eligibility-criteria-heading{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.25rem;font-weight:700;line-height:134.09%;background-color:#f0f0f0;padding:1rem 2rem;margin:0}#benefit-finder .bf-key-eligibility-criteria-group .bf-key-eligibility-criteria-sub-heading{margin-bottom:0}#benefit-finder .bf-key-eligibility-criteria-group .bf-key-eligibility-criteria-list{padding:0;margin:0}#benefit-finder .bf-key-eligibility-criteria-group .bf-key-eligibility-criteria-list .bf-key-eligibility-criteria-list-item{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.0625rem;font-style:normal;font-weight:400;line-height:132%;line-height:26px;margin:0;padding:1rem 2rem;border:.125rem solid #f0f0f0;border-bottom:0;display:flex;flex-wrap:nowrap}#benefit-finder .bf-key-eligibility-criteria-group .bf-key-eligibility-criteria-list .bf-key-eligibility-criteria-list-item .bf-checkmark--green{height:100%;margin-right:2rem}#benefit-finder .bf-key-eligibility-criteria-group .bf-key-eligibility-criteria-list:last-child{border-bottom:.125rem solid #f0f0f0}#benefit-finder .bf-key-eligibility-criteria-group .bf-key-eligibility-criteria-list li.bf-usa-list{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.0625rem;font-style:normal;font-weight:400;line-height:132%;line-height:26px;line-height:normal}#benefit-finder .bf-unmet-criteria-group{padding:1.5rem 0 0 1.5rem}#benefit-finder .bf-unmet-criteria-group .bf-unmet-criteria-title{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.3125rem;font-style:normal;font-weight:700;line-height:117.4%;margin-bottom:.75rem}#benefit-finder .bf-unmet-criteria-group li.bf-unmet-criteria-item{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.0625rem;font-style:normal;font-weight:400;line-height:132%;line-height:26px}#benefit-finder .bf-legend{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.3125rem;font-style:normal;font-weight:400;line-height:145.4%;font-weight:600;margin:0 0 .5rem;padding:0;max-width:fit-content}#benefit-finder .bf-usa-label{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.0625rem;font-style:normal;font-weight:400;line-height:132%;margin-top:0}#benefit-finder .bf-usa-form,.bf-verify-selections-view{background-color:#162e51;margin:0;padding-bottom:4rem}#benefit-finder .bf-section-wrapper{background-color:#fff;border:.0625rem solid #fff;border-radius:.5rem}#benefit-finder .bf-section-wrapper .bf-usa-button{margin-bottom:1rem}#benefit-finder .bf-section-info{margin:3.125rem 1.25rem}#benefit-finder .bf-section-nav-btn-group{display:flex;flex-wrap:wrap;justify-content:center}#benefit-finder .bf-section-nav-btn-group .bf-usa-button{min-width:7.5rem}#benefit-finder .bf-section-nav-btn-group .bf-usa-modal-group{width:100%}#benefit-finder .bf-section-nav-btn-group button,.bf-section-nav-btn-group .bf-usa-modal-group a{margin:0}@media (width >= 29.9375rem){#benefit-finder .bf-section-nav-btn-group .bf-usa-button:first-of-type{margin-right:2.5rem}#benefit-finder .bf-section-nav-btn-group .bf-usa-modal-group{width:auto}#benefit-finder .bf-section-nav-btn-group button,.bf-section-nav-btn-group .bf-usa-modal-group a{margin-bottom:1rem}}#benefit-finder .bf-section-heading{background-color:#162e51;color:#fff;margin:0;padding:4rem 1rem}#benefit-finder #bf-section{padding-left:1rem;padding-right:1rem;padding-bottom:2rem;margin-bottom:2.5rem}#benefit-finder #bf-section .bf-form-heading-group{padding-bottom:2rem}#benefit-finder #bf-section .bf-form-heading-group h2.bf-form-heading{margin-bottom:0;padding-bottom:.5rem}#benefit-finder #bf-section .bf-form-heading-group .bf-section-sub-heading p{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.3125rem;font-style:normal;font-weight:400;line-height:145.4%;margin:0}#benefit-finder .bf-radio-group{display:flex}#benefit-finder .bf-radio-group .bf-usa-radio__label{margin-right:2rem}@media (width >= 65.5625rem){#benefit-finder .bf-section-info{margin:4rem}#benefit-finder #bf-section{padding-left:0;padding-right:0}#benefit-finder .bf-radio-group{display:inline}}#benefit-finder-modal .bf-modal-button{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.0625rem;font-style:normal;font-weight:400;line-height:132%;font-weight:700;background-color:transparent;border:0;position:absolute;top:1.5rem;right:1.5rem;cursor:pointer}#benefit-finder-modal .bf-modal-heading{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.0625rem;font-weight:400;line-height:132%;font-weight:700;font-weight:600;color:#000;text-align:center;font-style:normal;margin:1.5rem 0}#benefit-finder-modal .bf-modal.bf-usa-button-group.width-full{margin:0 auto;text-align:center}#benefit-finder-modal .bf-modal.bf-usa-button-group.width-full .bf-usa-button-group__item{margin-left:0;margin-right:0}#benefit-finder-modal .bf-modal.bf-usa-button-group.width-full .bf-usa-button{width:14.5rem;padding:1rem 1.25rem}#benefit-finder .bf-notices-list{margin-top:1.5rem;margin-bottom:4rem}#benefit-finder .bf-notice{display:flex;padding-bottom:2rem}#benefit-finder .bf-notice .bf-info{margin-top:.25rem;margin-right:.75rem}#benefit-finder .bf-line-sperator-wrapper{display:block;padding-top:2rem;padding-bottom:2rem;margin:2rem}#benefit-finder .bf-line-sperator{display:block;border-top:.125rem solid #f0f0f0;width:100%;height:100%}#benefit-finder .bf-line-sperator-wrapper--vertical,#benefit-finder .bf-line-sperator--vertical{display:none}@media (width >= 65.5625rem){#benefit-finder .bf-intro .bf-line-sperator-wrapper,#benefit-finder .bf-intro .bf-line-sperator{display:none}#benefit-finder .bf-line-sperator-wrapper--vertical{display:block;padding-top:2rem;padding-bottom:2rem;margin:0;margin-right:2rem}#benefit-finder .bf-line-sperator--vertical{display:block;border-left:.125rem solid #f0f0f0;width:100%;height:80%}}#benefit-finder .bf-obfuscated-link{position:relative;text-decoration:none}#benefit-finder .bf-obfuscated-link:visited{text-decoration:none}#benefit-finder p,p.regular{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.0625rem;font-style:normal;font-weight:400;line-height:132%}#benefit-finder p.bold{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.0625rem;font-style:normal;font-weight:400;line-height:132%;font-weight:700}#benefit-finder .bf-usa-process-list{margin-left:4.375rem;margin-right:1.125rem}#benefit-finder .bf-usa-process-list__item{min-height:5rem}#benefit-finder .bf-usa-process-list__item .bf-usa-process-list__heading{font-size:1.3125rem}#benefit-finder .bf-usa-process-list__item:last-child{border-left:.5rem solid transparent}#benefit-finder h3.bf-usa-process-list__heading{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.3125rem;font-style:normal;font-weight:700;line-height:117.4%}#benefit-finder .bf-usa-radio__label{margin-top:1rem}#benefit-finder .bf-usa-radio__input:checked+.bf-usa-radio__label:before{background-color:#1b1b1b;box-shadow:0 0 0 .125rem #1b1b1b,inset 0 0 0 .125rem #fff;outline-offset:.25rem}#benefit-finder .bf-usa-radio__input:checked.usa-input--error+.bf-usa-radio__label:before{background-color:#005ea2;box-shadow:0 0 0 .1875rem #b50909,inset 0 0 0 .125rem #fff;outline-offset:.25rem}@media (width >= 65.5625rem){#benefit-finder .bf-radio-group>.bf-usa-radio:first-of-type .bf-usa-radio__label{margin-top:1.5rem}}#benefit-finder .bf-eligible-view-heading{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2rem;font-style:normal;font-weight:900;line-height:117.4%}#benefit-finder .bf-eligible-view-description{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.25rem;font-weight:700;line-height:134.09%}#benefit-finder .bf-not-eligible-view-heading{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2rem;font-style:normal;font-weight:900;line-height:117.4%}#benefit-finder .bf-not-eligible-view-description{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.25rem;font-weight:700;line-height:134.09%}#benefit-finder .bf-zero-benefits-view-heading{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2rem;font-style:normal;font-weight:900;line-height:117.4%}#benefit-finder h3.bf-zero-benefits-view-description{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.0625rem;font-style:normal;font-weight:400;line-height:132%}#benefit-finder .bf-result-view-details{padding:2rem}#benefit-finder .bf-result-view-benefits,.bf-result-view-unmet,.bf-result-view-relvant-benefits,.bf-result-view-share-results{padding:1rem 0;text-align:left}#benefit-finder .bf-result-view-benefits .bf-result-view-unmet-heading,.bf-result-view-benefits .bf-result-view-relvant-benefits-heading,.bf-result-view-benefits .bf-result-view-share-results-heading,.bf-result-view-unmet .bf-result-view-unmet-heading,.bf-result-view-unmet .bf-result-view-relvant-benefits-heading,.bf-result-view-unmet .bf-result-view-share-results-heading,.bf-result-view-relvant-benefits .bf-result-view-unmet-heading,.bf-result-view-relvant-benefits .bf-result-view-relvant-benefits-heading,.bf-result-view-relvant-benefits .bf-result-view-share-results-heading,.bf-result-view-share-results .bf-result-view-unmet-heading,.bf-result-view-share-results .bf-result-view-relvant-benefits-heading,.bf-result-view-share-results .bf-result-view-share-results-heading{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.625rem;font-style:normal;font-weight:900;line-height:117.4%}#benefit-finder .bf-result-view-unmet p{padding-bottom:1rem}#benefit-finder .bf-result-view-unmet .bf-result-view-cta-wrapper{display:flex;justify-content:center}#benefit-finder .bf-result-view-share-results-trigger-group button{margin-bottom:.5rem}#benefit-finder .bf-result-view-share-results{text-align:left}@media (width >= 65.5625rem){#benefit-finder .bf-result-view-details{padding:1.5rem 5.4rem}}#benefit-finder .bf-usa-step-indicator__segment .bf-usa-step-indicator__segment-label{color:#757575}#benefit-finder .bf-usa-step-indicator__segment:after{background-color:#757575}#benefit-finder .bf-usa-step-indicator__segment--complete .bf-usa-step-indicator__segment-label{color:#162e51}#benefit-finder .bf-usa-step-indicator__segment--complete:after{background-color:#162e51}#benefit-finder .bf-usa-step-indicator__segment--current .bf-usa-step-indicator__segment-label{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.0625rem;font-style:normal;font-weight:400;line-height:132%;font-weight:700;color:#0081a1;font-style:italic}#benefit-finder .bf-usa-step-indicator__segment--current:after{background-color:#0081a1}#benefit-finder .bf-step-back-button{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.0625rem;font-style:normal;font-weight:400;line-height:132%;padding:0}#benefit-finder .bf-usa-select.usa-input--error{padding:.5rem 2rem .5rem .5rem;height:auto;border-color:#b50909}#benefit-finder .bf-usa-select.usa-input--error:focus{outline-offset:.125rem}#benefit-finder .bf-usa-summary-box{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.3125rem;font-style:normal;font-weight:700;line-height:117.4%;margin-bottom:1rem;border-color:#00bde3}#benefit-finder .bf-usa-summary-box .bf-usa-list li{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.0625rem;font-style:normal;font-weight:400;line-height:132%;line-height:26px}#benefit-finder .bf-usa-input.usa-input--error{outline-offset:.125rem}#benefit-finder .time-indicator{color:#3d4551;text-align:center;margin-bottom:2rem}#benefit-finder .bf-verify-criteria-value{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.0625rem;font-style:normal;font-weight:400;line-height:132%;font-weight:700;padding-bottom:2.5rem}#benefit-finder .bf-verify-criteria-legend{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.0625rem;font-style:normal;font-weight:400;line-height:132%;padding-bottom:.5rem}#benefit-finder .bf-verify-criteria-section-heading{border-bottom:.125rem solid #0081a1;padding-bottom:.5rem}#benefit-finder .bf-verify-criteria-section:last-of-type{padding-bottom:4rem}#benefit-finder html{font-family:Public Sans,sans-serif;background-color:#162e51;height:100%;min-height:100vh}#benefit-finder .main-content{padding-bottom:0!important}#benefit-finder .usa-footer{padding-top:0!important} +@charset "UTF-8";#benefit-finder .no-background{background-color:#fff;border-left-color:#fff}#benefit-finder h2.bf-usa-alert__heading{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.3125rem;font-style:normal;font-weight:700;line-height:117.4%}#benefit-finder .bf-errors-list-item a{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.0625rem;font-style:normal;font-weight:400;line-height:132%}#benefit-finder .bf-usa-accordion .bf-usa-accordion__button{position:relative}#benefit-finder .bf-usa-accordion .bf-usa-accordion__button svg{position:absolute;top:0;bottom:0;right:1.25rem;margin:auto 0}#benefit-finder .bf-usa-accordion .bf-usa-accordion__button .bf-accordion-heading{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.3125rem;font-style:normal;font-weight:700;line-height:117.4%;letter-spacing:0}#benefit-finder .bf-usa-accordion .bf-usa-accordion__button .bf-accordion-sub-heading{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.0625rem;font-style:normal;font-weight:400;line-height:132%;letter-spacing:0}#benefit-finder .bf-usa-accordion .bf-usa-accordion__content{padding:0 2.5rem 1rem}#benefit-finder .bf-usa-accordion-group .bf-usa-accordion{margin-bottom:.75rem}#benefit-finder .bf-usa-accordion-group .bf-usa-accordion .bf-usa-detail-title{margin-bottom:.5rem}#benefit-finder .bf-usa-accordion-group .bf-usa-accordion .bf-usa-detail-summary p{margin-bottom:1.5rem}#benefit-finder .bf-usa-accordion-group .bf-usa-accordion .bf-key-eligibility-criteria-heading{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.3125rem;font-style:normal;font-weight:700;line-height:117.4%}#benefit-finder .bf-usa-accordion-group .bf-usa-accordion .bf-usa-accordion-group-cta-wrapper{display:flex;justify-content:center;margin-top:2rem}#benefit-finder .bf-usa-accordion-group .bf-usa-accordion .bf-usa-accordion-group-cta-wrapper .bf-usa-link{margin-bottom:1rem}#benefit-finder .bf-usa-accordion-group .bf-expand-all{margin-bottom:2rem}#benefit-finder .bf-usa-button{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.0625rem;font-style:normal;font-weight:400;line-height:132%;font-weight:700;padding:1rem 1.25rem;font-size:1.1rem}#benefit-finder .bf-usa-button--outline{background-color:transparent;box-shadow:inset 0 0 0 .125rem #000;color:#000}#benefit-finder .bf-usa-button--outline:focus{box-shadow:inset 0 0 0 .125rem #fff}#benefit-finder .bf-usa-button--outline:hover{background-color:#f0f0f0}#benefit-finder .bf-usa-card--relative-benefit{margin-bottom:1rem}#benefit-finder .bf-usa-card--relative-benefit .bf-usa-card__container{border-radius:0;border:.125rem solid #0081a1;color:#162e51;height:auto;margin:0}#benefit-finder .bf-usa-card--relative-benefit a{text-decoration:none}#benefit-finder .bf-usa-card--relative-benefit a:hover.bf-usa-card__container{background-color:#ccecf2}#benefit-finder .bf-usa-card--relative-benefit a:active.bf-usa-card__container{border:.125rem solid #0081a1}#benefit-finder .bf-usa-card--relative-benefit.bf-card-icon .bf-relative-icon svg{margin:auto 0;position:absolute;top:0;bottom:0;left:1rem;width:4.375rem;height:4.375rem;padding:.75rem}#benefit-finder .bf-usa-card--relative-benefit.bf-card-icon .bf-usa-card__container{padding:0 2.5rem 0 5.375rem}#benefit-finder .bf-usa-card--relative-benefit .bf-usa-card__header{padding-bottom:0}#benefit-finder .bf-usa-card--relative-benefit h3.bf-usa-card__heading{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.3125rem;font-style:normal;font-weight:400;line-height:145.4%;font-weight:700;text-decoration:underline}#benefit-finder .bf-usa-card--relative-benefit .bf-usa-card__body{display:none}#benefit-finder .bf-usa-card--relative-benefit .bf-usa-card__cta,.bf-usa-card--relative-benefit .bf-usa-card__body{padding:1.5rem;padding-top:0;margin-top:0;margin-bottom:0}@media (width >= 65.5625rem){#benefit-finder .bf-usa-card--relative-benefit .bf-usa-card__body{display:block;padding-top:0;padding-bottom:1.5rem;margin-top:0;margin-bottom:0}#benefit-finder .bf-usa-card--relative-benefit .bf-usa-card__body p{max-width:90%}#benefit-finder .bf-usa-card--relative-benefit .bf-usa-card__cta{display:none}}#benefit-finder h1.bf-chevron-heading{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.4375rem;font-style:normal;font-weight:900;line-height:117.4%;letter-spacing:-.39px}#benefit-finder .bf-chevron{position:relative;background-color:#162e51;padding:4rem 2rem 2.375rem;margin:0 auto;color:#fff;margin-bottom:8.75rem}#benefit-finder .bf-chevron-description p{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.3125rem;font-style:normal;font-weight:400;line-height:164%}#benefit-finder .bf-chevron:before{content:"";position:absolute;top:100%;left:0;border-top:4.75rem solid #162e51;border-left:50vw solid transparent;border-right:50vw solid transparent}@media (width >= 65.5625rem){#benefit-finder .bf-chevron{padding-bottom:4rem;margin-bottom:4rem}#benefit-finder .bf-chevron:before{display:none}}#benefit-finder .bf-usa-form-group{width:100%}#benefit-finder .bf-usa-memorable-date{max-width:20rem;flex-wrap:wrap}#benefit-finder .bf-usa-input.usa-input--error{padding:.5rem;height:initial;border-color:#b50909}#benefit-finder .bf-usa-form-group--month{width:15.125rem;margin-top:.5rem}#benefit-finder .bf-usa-form-group--day{width:4rem;margin-top:.5rem}#benefit-finder .bf-usa-form-group--year{width:5.9375rem;margin-top:.5rem}@media (width >= 65.5625rem){#benefit-finder .bf-usa-memorable-date{max-width:100%}}#benefit-finder .bf-usa-fieldset{position:relative;padding:0;margin:0}#benefit-finder .bf-usa-fieldset .bf-hint{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.0625rem;font-style:normal;font-weight:400;line-height:132%}#benefit-finder .bf-usa-fieldset .bf-error-detail{margin:0 0 .5rem;color:#b50909;font-weight:600}#benefit-finder .bf-usa-fieldset li.bf-error-detail{margin:0 0 .25rem}#benefit-finder .bf-fieldset-wrapper{padding:0 0 2rem}#benefit-finder .bf-fieldset-wrapper:has(fieldset.usa-input--error){border-left:.25rem solid #c61f0c;padding-left:1.25rem}#benefit-finder .bf-fieldset-wrapper:has(fieldset.usa-input--error)+.bf-fieldset-wrapper:has(fieldset:not(.usa-input--error)){padding-top:1.25rem}#benefit-finder .bf-fieldset-wrapper:has(fieldset.display-none){padding:0}#benefit-finder h1{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.4375rem;font-style:normal;font-weight:900;line-height:117.4%;letter-spacing:-.39px}#benefit-finder h2{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2rem;font-style:normal;font-weight:900;line-height:117.4%}#benefit-finder h3{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.625rem;font-style:normal;font-weight:900;line-height:117.4%}#benefit-finder h4{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.3125rem;font-style:normal;font-weight:700;line-height:117.4%}#benefit-finder h5{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.3125rem;font-style:normal;font-weight:700;line-height:117.4%}#benefit-finder h6{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.25rem;font-weight:700;line-height:134.09%}#benefit-finder .bf-usa-hint--required{color:#3d4551}#benefit-finder .bf-required{color:#3d4551;font-weight:400;margin-left:.5rem}#benefit-finder .bf-carrot-solid,.bf-carrot{position:absolute;top:0;bottom:0;right:3.125rem;margin:auto 0;transform:rotate(-90deg)}#benefit-finder .bf-carrot-solid:after,.bf-carrot:after{content:"▸"}#benefit-finder .bf-carrot{transform:rotate(0)}#benefit-finder .bf-key-eligibility-criteria-group .bf-key-eligibility-criteria-heading{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.25rem;font-weight:700;line-height:134.09%;background-color:#f0f0f0;padding:1rem 2rem;margin:0}#benefit-finder .bf-key-eligibility-criteria-group .bf-key-eligibility-criteria-sub-heading{margin-bottom:0}#benefit-finder .bf-key-eligibility-criteria-group .bf-key-eligibility-criteria-list{padding:0;margin:0}#benefit-finder .bf-key-eligibility-criteria-group .bf-key-eligibility-criteria-list .bf-key-eligibility-criteria-list-item{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.0625rem;font-style:normal;font-weight:400;line-height:132%;line-height:26px;margin:0;padding:1rem 2rem;border:.125rem solid #f0f0f0;border-bottom:0;display:flex;flex-wrap:nowrap}#benefit-finder .bf-key-eligibility-criteria-group .bf-key-eligibility-criteria-list .bf-key-eligibility-criteria-list-item .bf-checkmark--green{height:100%;margin-right:2rem}#benefit-finder .bf-key-eligibility-criteria-group .bf-key-eligibility-criteria-list:last-child{border-bottom:.125rem solid #f0f0f0}#benefit-finder .bf-key-eligibility-criteria-group .bf-key-eligibility-criteria-list li.bf-usa-list{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.0625rem;font-style:normal;font-weight:400;line-height:132%;line-height:26px;line-height:normal}#benefit-finder .bf-unmet-criteria-group{padding:1.5rem 0 0 1.5rem}#benefit-finder .bf-unmet-criteria-group .bf-unmet-criteria-title{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.3125rem;font-style:normal;font-weight:700;line-height:117.4%;margin-bottom:.75rem}#benefit-finder .bf-unmet-criteria-group li.bf-unmet-criteria-item{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.0625rem;font-style:normal;font-weight:400;line-height:132%;line-height:26px}#benefit-finder .bf-legend{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.3125rem;font-style:normal;font-weight:400;line-height:145.4%;font-weight:600;margin:0 0 .5rem;padding:0;max-width:fit-content}#benefit-finder .bf-usa-label{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.0625rem;font-style:normal;font-weight:400;line-height:132%;margin-top:0}#benefit-finder-modal .bf-modal-button{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.0625rem;font-style:normal;font-weight:400;line-height:132%;font-weight:700;background-color:transparent;border:0;position:absolute;top:1.5rem;right:1.5rem;cursor:pointer}#benefit-finder-modal .bf-modal-heading{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.0625rem;font-weight:400;line-height:132%;font-weight:700;font-weight:600;color:#000;text-align:center;font-style:normal;margin:1.5rem 0}#benefit-finder-modal .bf-modal.bf-usa-button-group.width-full{margin:0 auto;text-align:center}#benefit-finder-modal .bf-modal.bf-usa-button-group.width-full .bf-usa-button-group__item{margin-left:0;margin-right:0}#benefit-finder-modal .bf-modal.bf-usa-button-group.width-full .bf-usa-button{width:14.5rem;padding:1rem 1.25rem}#benefit-finder .bf-notices-list{margin-top:1.5rem;margin-bottom:4rem}#benefit-finder .bf-notice{display:flex;padding-bottom:2rem}#benefit-finder .bf-notice .bf-info{margin-top:.25rem;margin-right:.75rem}#benefit-finder .bf-line-sperator-wrapper{display:block;padding-top:2rem;padding-bottom:2rem;margin:2rem}#benefit-finder .bf-line-sperator{display:block;border-top:.125rem solid #f0f0f0;width:100%;height:100%}#benefit-finder .bf-line-sperator-wrapper--vertical,#benefit-finder .bf-line-sperator--vertical{display:none}@media (width >= 65.5625rem){#benefit-finder .bf-intro .bf-line-sperator-wrapper,#benefit-finder .bf-intro .bf-line-sperator{display:none}#benefit-finder .bf-line-sperator-wrapper--vertical{display:block;padding-top:2rem;padding-bottom:2rem;margin:0;margin-right:2rem}#benefit-finder .bf-line-sperator--vertical{display:block;border-left:.125rem solid #f0f0f0;width:100%;height:80%}}#benefit-finder .bf-obfuscated-link{position:relative;text-decoration:none}#benefit-finder .bf-obfuscated-link:visited{text-decoration:none}#benefit-finder p,p.regular{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.0625rem;font-style:normal;font-weight:400;line-height:132%}#benefit-finder p.bold{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.0625rem;font-style:normal;font-weight:400;line-height:132%;font-weight:700}#benefit-finder .bf-usa-process-list{margin-left:4.375rem;margin-right:1.125rem}#benefit-finder .bf-usa-process-list__item{min-height:5rem}#benefit-finder .bf-usa-process-list__item .bf-usa-process-list__heading{font-size:1.3125rem}#benefit-finder .bf-usa-process-list__item:last-child{border-left:.5rem solid transparent}#benefit-finder h3.bf-usa-process-list__heading{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.3125rem;font-style:normal;font-weight:700;line-height:117.4%}#benefit-finder .bf-usa-radio__label{margin-top:1rem}#benefit-finder .bf-usa-radio__input:checked+.bf-usa-radio__label:before{background-color:#1b1b1b;box-shadow:0 0 0 .125rem #1b1b1b,inset 0 0 0 .125rem #fff;outline-offset:.25rem}#benefit-finder .bf-usa-radio__input:checked.usa-input--error+.bf-usa-radio__label:before{background-color:#005ea2;box-shadow:0 0 0 .1875rem #b50909,inset 0 0 0 .125rem #fff;outline-offset:.25rem}@media (width >= 65.5625rem){#benefit-finder .bf-radio-group>.bf-usa-radio:first-of-type .bf-usa-radio__label{margin-top:1.5rem}}#benefit-finder .bf-usa-step-indicator__segment .bf-usa-step-indicator__segment-label{color:#757575}#benefit-finder .bf-usa-step-indicator__segment:after{background-color:#757575}#benefit-finder .bf-usa-step-indicator__segment--complete .bf-usa-step-indicator__segment-label{color:#162e51}#benefit-finder .bf-usa-step-indicator__segment--complete:after{background-color:#162e51}#benefit-finder .bf-usa-step-indicator__segment--current .bf-usa-step-indicator__segment-label{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.0625rem;font-style:normal;font-weight:400;line-height:132%;font-weight:700;color:#0081a1;font-style:italic}#benefit-finder .bf-usa-step-indicator__segment--current:after{background-color:#0081a1}#benefit-finder .bf-step-back-button{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.0625rem;font-style:normal;font-weight:400;line-height:132%;padding:0}#benefit-finder .bf-usa-select.usa-input--error{padding:.5rem 2rem .5rem .5rem;height:auto;border-color:#b50909}#benefit-finder .bf-usa-select.usa-input--error:focus{outline-offset:.125rem}#benefit-finder .bf-usa-summary-box{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.3125rem;font-style:normal;font-weight:700;line-height:117.4%;margin-bottom:1rem;border-color:#00bde3}#benefit-finder .bf-usa-summary-box .bf-usa-list li{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.0625rem;font-style:normal;font-weight:400;line-height:132%;line-height:26px}#benefit-finder .bf-usa-input.usa-input--error{outline-offset:.125rem}#benefit-finder .time-indicator{color:#3d4551;text-align:center;margin-bottom:2rem}#benefit-finder .bf-intro{padding-bottom:2rem}#benefit-finder .bf-intro h2{text-align:center}#benefit-finder .bf-intro .bf-cta-wrapper{display:flex;justify-content:center;margin:2rem 2rem 4rem}#benefit-finder .bf-intro .bf-cta-wrapper button{margin:0 auto}#benefit-finder .bf-intro .bf-intro-process-notices{display:flex;flex-direction:column;align-items:center;justify-content:space-around;margin-left:1rem}#benefit-finder .bf-intro .bf-intro-process-list{display:flex;flex-direction:column;align-items:center;justify-content:space-around}#benefit-finder .bf-intro .bf-intro-process-list .bf-usa-process-list{margin-left:0;margin-right:0}@media (width >= 65.5625rem){#benefit-finder .bf-intro .bf-intro-process-list{min-width:50%}#benefit-finder .bf-intro .bf-intro-process-notices-heading{display:none}#benefit-finder .bf-intro .bf-intro-process-group{display:flex}}#benefit-finder .bf-usa-form,.bf-verify-selections-view{background-color:#162e51;margin:0;padding-bottom:4rem}#benefit-finder .bf-section-wrapper{background-color:#fff;border:.0625rem solid #fff;border-radius:.5rem}#benefit-finder .bf-section-wrapper .bf-usa-button{margin-bottom:1rem}#benefit-finder .bf-section-info{margin:3.125rem 1.25rem}#benefit-finder .bf-section-nav-btn-group{display:flex;flex-wrap:wrap;justify-content:center}#benefit-finder .bf-section-nav-btn-group .bf-usa-button{min-width:7.5rem}#benefit-finder .bf-section-nav-btn-group .bf-usa-modal-group{width:100%}#benefit-finder .bf-section-nav-btn-group button,.bf-section-nav-btn-group .bf-usa-modal-group a{margin:0}@media (width >= 29.9375rem){#benefit-finder .bf-section-nav-btn-group .bf-usa-button:first-of-type{margin-right:2.5rem}#benefit-finder .bf-section-nav-btn-group .bf-usa-modal-group{width:auto}#benefit-finder .bf-section-nav-btn-group button,.bf-section-nav-btn-group .bf-usa-modal-group a{margin-bottom:1rem}}#benefit-finder .bf-section-heading{background-color:#162e51;color:#fff;margin:0;padding:4rem 1rem}#benefit-finder #bf-section{padding-left:1rem;padding-right:1rem;padding-bottom:2rem;margin-bottom:2.5rem}#benefit-finder #bf-section .bf-form-heading-group{padding-bottom:2rem}#benefit-finder #bf-section .bf-form-heading-group h2.bf-form-heading{margin-bottom:0;padding-bottom:.5rem}#benefit-finder #bf-section .bf-form-heading-group .bf-section-sub-heading p{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.3125rem;font-style:normal;font-weight:400;line-height:145.4%;margin:0}#benefit-finder .bf-radio-group{display:flex}#benefit-finder .bf-radio-group .bf-usa-radio__label{margin-right:2rem}@media (width >= 65.5625rem){#benefit-finder .bf-section-info{margin:4rem}#benefit-finder #bf-section{padding-left:0;padding-right:0}#benefit-finder .bf-radio-group{display:inline}}#benefit-finder .bf-eligible-view-heading{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2rem;font-style:normal;font-weight:900;line-height:117.4%}#benefit-finder .bf-eligible-view-description{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.25rem;font-weight:700;line-height:134.09%}#benefit-finder .bf-not-eligible-view-heading{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2rem;font-style:normal;font-weight:900;line-height:117.4%}#benefit-finder .bf-not-eligible-view-description{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.25rem;font-weight:700;line-height:134.09%}#benefit-finder .bf-zero-benefits-view-heading{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:2rem;font-style:normal;font-weight:900;line-height:117.4%}#benefit-finder h3.bf-zero-benefits-view-description{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.0625rem;font-style:normal;font-weight:400;line-height:132%}#benefit-finder .bf-back-to-form-cta{margin:1rem 0 2rem}#benefit-finder .bf-result-view-details{padding:2rem}#benefit-finder .bf-result-view-benefits,.bf-result-view-unmet,.bf-result-view-relvant-benefits,.bf-result-view-share-results{padding:1rem 0;text-align:left}#benefit-finder .bf-result-view-benefits .bf-result-view-unmet-heading,.bf-result-view-benefits .bf-result-view-relvant-benefits-heading,.bf-result-view-benefits .bf-result-view-share-results-heading,.bf-result-view-unmet .bf-result-view-unmet-heading,.bf-result-view-unmet .bf-result-view-relvant-benefits-heading,.bf-result-view-unmet .bf-result-view-share-results-heading,.bf-result-view-relvant-benefits .bf-result-view-unmet-heading,.bf-result-view-relvant-benefits .bf-result-view-relvant-benefits-heading,.bf-result-view-relvant-benefits .bf-result-view-share-results-heading,.bf-result-view-share-results .bf-result-view-unmet-heading,.bf-result-view-share-results .bf-result-view-relvant-benefits-heading,.bf-result-view-share-results .bf-result-view-share-results-heading{font-family:Merriweather Web,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.625rem;font-style:normal;font-weight:900;line-height:117.4%}#benefit-finder .bf-result-view-unmet p{padding-bottom:1rem}#benefit-finder .bf-result-view-unmet .bf-result-view-cta-wrapper{display:flex;justify-content:center}#benefit-finder .bf-result-view-share-results-trigger-group button{margin-bottom:.5rem}#benefit-finder .bf-result-view-share-results{text-align:left}@media (width >= 65.5625rem){#benefit-finder .bf-result-view-details{padding:1.5rem 5.4rem}}#benefit-finder .bf-verify-criteria-value{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.0625rem;font-style:normal;font-weight:400;line-height:132%;font-weight:700;padding-bottom:2.5rem}#benefit-finder .bf-verify-criteria-legend{font-family:Source Sans Pro Web,Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-size:1.0625rem;font-style:normal;font-weight:400;line-height:132%;padding-bottom:.5rem}#benefit-finder .bf-verify-criteria-section-heading{border-bottom:.125rem solid #0081a1;padding-bottom:.5rem}#benefit-finder .bf-verify-criteria-section:last-of-type{padding-bottom:4rem}#benefit-finder html{background-color:#162e51;height:100%;min-height:100vh}#benefit-finder .main-content{padding-bottom:0!important}#benefit-finder .usa-footer{padding-top:0!important} diff --git a/web/modules/custom/usagov_benefit_finder/modules/usagov_benefit_finder_app/usagov_benefit_finder_page/js/benefit-finder.min.js b/web/modules/custom/usagov_benefit_finder/modules/usagov_benefit_finder_app/usagov_benefit_finder_page/js/benefit-finder.min.js index 8e4d5382a1..6bf87e4b25 100644 --- a/web/modules/custom/usagov_benefit_finder/modules/usagov_benefit_finder_app/usagov_benefit_finder_page/js/benefit-finder.min.js +++ b/web/modules/custom/usagov_benefit_finder/modules/usagov_benefit_finder_app/usagov_benefit_finder_page/js/benefit-finder.min.js @@ -1,4 +1,4 @@ -(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))r(l);new MutationObserver(l=>{for(const o of l)if(o.type==="childList")for(const i of o.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&r(i)}).observe(document,{childList:!0,subtree:!0});function n(l){const o={};return l.integrity&&(o.integrity=l.integrity),l.referrerPolicy&&(o.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?o.credentials="include":l.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(l){if(l.ep)return;l.ep=!0;const o=n(l);fetch(l.href,o)}})();function ao(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function pp(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var n=function r(){return this instanceof r?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var l=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,l.get?l:{enumerable:!0,get:function(){return e[r]}})}),n}var Fu={exports:{}},uo={},Iu={exports:{}},V={};/** +function Gp(e,t){for(var n=0;nr[l]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))r(l);new MutationObserver(l=>{for(const i of l)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(l){const i={};return l.integrity&&(i.integrity=l.integrity),l.referrerPolicy&&(i.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?i.credentials="include":l.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(l){if(l.ep)return;l.ep=!0;const i=n(l);fetch(l.href,i)}})();function yi(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Yp(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var n=function r(){return this instanceof r?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var l=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,l.get?l:{enumerable:!0,get:function(){return e[r]}})}),n}var oc={exports:{}},wi={},sc={exports:{}},U={};/** * @license React * react.production.min.js * @@ -6,7 +6,7 @@ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Ur=Symbol.for("react.element"),hp=Symbol.for("react.portal"),mp=Symbol.for("react.fragment"),vp=Symbol.for("react.strict_mode"),gp=Symbol.for("react.profiler"),yp=Symbol.for("react.provider"),wp=Symbol.for("react.context"),xp=Symbol.for("react.forward_ref"),Sp=Symbol.for("react.suspense"),Cp=Symbol.for("react.memo"),kp=Symbol.for("react.lazy"),oa=Symbol.iterator;function Ep(e){return e===null||typeof e!="object"?null:(e=oa&&e[oa]||e["@@iterator"],typeof e=="function"?e:null)}var Au={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},zu=Object.assign,Bu={};function Qn(e,t,n){this.props=e,this.context=t,this.refs=Bu,this.updater=n||Au}Qn.prototype.isReactComponent={};Qn.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};Qn.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Vu(){}Vu.prototype=Qn.prototype;function ts(e,t,n){this.props=e,this.context=t,this.refs=Bu,this.updater=n||Au}var ns=ts.prototype=new Vu;ns.constructor=ts;zu(ns,Qn.prototype);ns.isPureReactComponent=!0;var ia=Array.isArray,Hu=Object.prototype.hasOwnProperty,rs={current:null},Uu={key:!0,ref:!0,__self:!0,__source:!0};function Wu(e,t,n){var r,l={},o=null,i=null;if(t!=null)for(r in t.ref!==void 0&&(i=t.ref),t.key!==void 0&&(o=""+t.key),t)Hu.call(t,r)&&!Uu.hasOwnProperty(r)&&(l[r]=t[r]);var s=arguments.length-2;if(s===1)l.children=n;else if(1 >>1,A=k[I];if(0>>1;I l(Yt,P))Kel(Nt,Yt)?(k[I]=Nt,k[Ke]=P,I=Ke):(k[I]=Yt,k[oe]=P,I=oe);else if(Kel(Nt,P))k[I]=Nt,k[Ke]=P,I=Ke;else break e}}return O}function l(k,O){var P=k.sortIndex-O.sortIndex;return P!==0?P:k.id-O.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var i=Date,s=i.now();e.unstable_now=function(){return i.now()-s}}var u=[],c=[],f=1,m=null,p=3,g=!1,S=!1,x=!1,b=typeof setTimeout=="function"?setTimeout:null,h=typeof clearTimeout=="function"?clearTimeout:null,d=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function v(k){for(var O=n(c);O!==null;){if(O.callback===null)r(c);else if(O.startTime<=k)r(c),O.sortIndex=O.expirationTime,t(u,O);else break;O=n(c)}}function w(k){if(x=!1,v(k),!S)if(n(u)!==null)S=!0,W(E);else{var O=n(c);O!==null&&C(w,O.startTime-k)}}function E(k,O){S=!1,x&&(x=!1,h(L),L=-1),g=!0;var P=p;try{for(v(O),m=n(u);m!==null&&(!(m.expirationTime>O)||k&&!H());){var I=m.callback;if(typeof I=="function"){m.callback=null,p=m.priorityLevel;var A=I(m.expirationTime<=O);O=e.unstable_now(),typeof A=="function"?m.callback=A:m===n(u)&&r(u),v(O)}else r(u);m=n(u)}if(m!==null)var ne=!0;else{var oe=n(c);oe!==null&&C(w,oe.startTime-O),ne=!1}return ne}finally{m=null,p=P,g=!1}}var N=!1,j=null,L=-1,B=5,R=-1;function H(){return!(e.unstable_now()-Rk||125 I?(k.sortIndex=P,t(c,k),n(u)===null&&k===n(c)&&(x?(h(L),L=-1):x=!0,C(w,P-I))):(k.sortIndex=A,t(u,k),S||g||(S=!0,W(E))),k},e.unstable_shouldYield=H,e.unstable_wrapCallback=function(k){var O=p;return function(){var P=p;p=O;try{return k.apply(this,arguments)}finally{p=P}}}})(Gu);Zu.exports=Gu;var $p=Zu.exports;/** + */(function(e){function t(_,R){var L=_.length;_.push(R);e:for(;0 >>1,z=_[M];if(0 >>1;M l(Jt,L))ot l($,Jt)?(_[M]=$,_[ot]=L,M=ot):(_[M]=Jt,_[_e]=L,M=_e);else if(ot l($,L))_[M]=$,_[ot]=L,M=ot;else break e}}return R}function l(_,R){var L=_.sortIndex-R.sortIndex;return L!==0?L:_.id-R.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var a=[],c=[],p=1,d=null,m=3,y=!1,x=!1,g=!1,S=typeof setTimeout=="function"?setTimeout:null,f=typeof clearTimeout=="function"?clearTimeout:null,h=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function v(_){for(var R=n(c);R!==null;){if(R.callback===null)r(c);else if(R.startTime<=_)r(c),R.sortIndex=R.expirationTime,t(a,R);else break;R=n(c)}}function w(_){if(g=!1,v(_),!x)if(n(a)!==null)x=!0,W(j);else{var R=n(c);R!==null&&k(w,R.startTime-_)}}function j(_,R){x=!1,g&&(g=!1,f(T),T=-1),y=!0;var L=m;try{for(v(R),d=n(a);d!==null&&(!(d.expirationTime>R)||_&&!q());){var M=d.callback;if(typeof M=="function"){d.callback=null,m=d.priorityLevel;var z=M(d.expirationTime<=R);R=e.unstable_now(),typeof z=="function"?d.callback=z:d===n(a)&&r(a),v(R)}else r(a);d=n(a)}if(d!==null)var fe=!0;else{var _e=n(c);_e!==null&&k(w,_e.startTime-R),fe=!1}return fe}finally{d=null,m=L,y=!1}}var N=!1,P=null,T=-1,B=5,D=-1;function q(){return!(e.unstable_now()-D_||125<_?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):B=0<_?Math.floor(1e3/_):5},e.unstable_getCurrentPriorityLevel=function(){return m},e.unstable_getFirstCallbackNode=function(){return n(a)},e.unstable_next=function(_){switch(m){case 1:case 2:case 3:var R=3;break;default:R=m}var L=m;m=R;try{return _()}finally{m=L}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(_,R){switch(_){case 1:case 2:case 3:case 4:case 5:break;default:_=3}var L=m;m=_;try{return R()}finally{m=L}},e.unstable_scheduleCallback=function(_,R,L){var M=e.unstable_now();switch(typeof L=="object"&&L!==null?(L=L.delay,L=typeof L=="number"&&0 M?(_.sortIndex=L,t(c,_),n(a)===null&&_===n(c)&&(g?(f(T),T=-1):g=!0,k(w,L-M))):(_.sortIndex=z,t(a,_),x||y||(x=!0,W(j))),_},e.unstable_shouldYield=q,e.unstable_wrapCallback=function(_){var R=m;return function(){var L=m;m=R;try{return _.apply(this,arguments)}finally{m=L}}}})(xc);wc.exports=xc;var x1=wc.exports;/** * @license React * react-dom.production.min.js * @@ -30,19 +30,46 @@ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Fp=M,De=$p;function _(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n "u"||typeof window.document>"u"||typeof window.document.createElement>"u"),ri=Object.prototype.hasOwnProperty,Ip=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,aa={},ua={};function Ap(e){return ri.call(ua,e)?!0:ri.call(aa,e)?!1:Ip.test(e)?ua[e]=!0:(aa[e]=!0,!1)}function zp(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Bp(e,t,n,r){if(t===null||typeof t>"u"||zp(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Ee(e,t,n,r,l,o,i){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=i}var me={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){me[e]=new Ee(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];me[t]=new Ee(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){me[e]=new Ee(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){me[e]=new Ee(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){me[e]=new Ee(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){me[e]=new Ee(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){me[e]=new Ee(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){me[e]=new Ee(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){me[e]=new Ee(e,5,!1,e.toLowerCase(),null,!1,!1)});var os=/[\-:]([a-z])/g;function is(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(os,is);me[t]=new Ee(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(os,is);me[t]=new Ee(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(os,is);me[t]=new Ee(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){me[e]=new Ee(e,1,!1,e.toLowerCase(),null,!1,!1)});me.xlinkHref=new Ee("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){me[e]=new Ee(e,1,!1,e.toLowerCase(),null,!0,!0)});function ss(e,t,n,r){var l=me.hasOwnProperty(t)?me[t]:null;(l!==null?l.type!==0:r||!(2 s||l[i]!==o[s]){var u=` -`+l[i].replace(" at new "," at ");return e.displayName&&u.includes(" ")&&(u=u.replace(" ",e.displayName)),u}while(1<=i&&0<=s);break}}}finally{Mo=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?sr(e):""}function Vp(e){switch(e.tag){case 5:return sr(e.type);case 16:return sr("Lazy");case 13:return sr("Suspense");case 19:return sr("SuspenseList");case 0:case 2:case 15:return e=Po(e.type,!1),e;case 11:return e=Po(e.type.render,!1),e;case 1:return e=Po(e.type,!0),e;default:return""}}function si(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Cn:return"Fragment";case Sn:return"Portal";case li:return"Profiler";case as:return"StrictMode";case oi:return"Suspense";case ii:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Ju:return(e.displayName||"Context")+".Consumer";case Xu:return(e._context.displayName||"Context")+".Provider";case us:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case cs:return t=e.displayName||null,t!==null?t:si(e.type)||"Memo";case Ot:t=e._payload,e=e._init;try{return si(e(t))}catch{}}return null}function Hp(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return si(t);case 8:return t===as?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Kt(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function tc(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Up(e){var t=tc(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var l=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(i){r=""+i,o.call(this,i)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(i){r=""+i},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function nl(e){e._valueTracker||(e._valueTracker=Up(e))}function nc(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=tc(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Ol(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function ai(e,t){var n=t.checked;return te({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function da(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Kt(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function rc(e,t){t=t.checked,t!=null&&ss(e,"checked",t,!1)}function ui(e,t){rc(e,t);var n=Kt(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?ci(e,t.type,n):t.hasOwnProperty("defaultValue")&&ci(e,t.type,Kt(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function fa(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function ci(e,t,n){(t!=="number"||Ol(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var ar=Array.isArray;function Rn(e,t,n,r){if(e=e.options,t){t={};for(var l=0;l "+t.valueOf().toString()+"",t=rl.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function _r(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var dr={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Wp=["Webkit","ms","Moz","O"];Object.keys(dr).forEach(function(e){Wp.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),dr[t]=dr[e]})});function sc(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||dr.hasOwnProperty(e)&&dr[e]?(""+t).trim():t+"px"}function ac(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,l=sc(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,l):e[n]=l}}var Kp=te({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function pi(e,t){if(t){if(Kp[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(_(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(_(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(_(61))}if(t.style!=null&&typeof t.style!="object")throw Error(_(62))}}function hi(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var mi=null;function ds(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var vi=null,Dn=null,$n=null;function ma(e){if(e=qr(e)){if(typeof vi!="function")throw Error(_(280));var t=e.stateNode;t&&(t=mo(t),vi(e.stateNode,e.type,t))}}function uc(e){Dn?$n?$n.push(e):$n=[e]:Dn=e}function cc(){if(Dn){var e=Dn,t=$n;if($n=Dn=null,ma(e),t)for(e=0;e >>=0,e===0?32:31-(r1(e)/l1|0)|0}var ll=64,ol=4194304;function ur(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Dl(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,l=e.suspendedLanes,o=e.pingedLanes,i=n&268435455;if(i!==0){var s=i&~l;s!==0?r=ur(s):(o&=i,o!==0&&(r=ur(o)))}else i=n&~l,i!==0?r=ur(i):o!==0&&(r=ur(o));if(r===0)return 0;if(t!==0&&t!==r&&!(t&l)&&(l=r&-r,o=t&-t,l>=o||l===16&&(o&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0 n;n++)t.push(e);return t}function Wr(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-et(t),e[t]=n}function a1(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0 =pr),Ea=" ",_a=!1;function Tc(e,t){switch(e){case"keyup":return $1.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Oc(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var kn=!1;function I1(e,t){switch(e){case"compositionend":return Oc(t);case"keypress":return t.which!==32?null:(_a=!0,Ea);case"textInput":return e=t.data,e===Ea&&_a?null:e;default:return null}}function A1(e,t){if(kn)return e==="compositionend"||!ws&&Tc(e,t)?(e=bc(),Sl=vs=Dt=null,kn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1 =t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=La(n)}}function Dc(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Dc(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function $c(){for(var e=window,t=Ol();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Ol(e.document)}return t}function xs(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function Q1(e){var t=$c(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Dc(n.ownerDocument.documentElement,n)){if(r!==null&&xs(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var l=n.textContent.length,o=Math.min(r.start,l);r=r.end===void 0?o:Math.min(r.end,l),!e.extend&&o>r&&(l=r,r=o,o=l),l=Ta(n,o);var i=Ta(n,r);l&&i&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==i.node||e.focusOffset!==i.offset)&&(t=t.createRange(),t.setStart(l.node,l.offset),e.removeAllRanges(),o>r?(e.addRange(t),e.extend(i.node,i.offset)):(t.setEnd(i.node,i.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n =document.documentMode,En=null,Ci=null,mr=null,ki=!1;function Oa(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;ki||En==null||En!==Ol(r)||(r=En,"selectionStart"in r&&xs(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),mr&&Or(mr,r)||(mr=r,r=Il(Ci,"onSelect"),0 Nn||(e.current=Li[Nn],Li[Nn]=null,Nn--)}function Q(e,t){Nn++,Li[Nn]=e.current,e.current=t}var qt={},xe=Zt(qt),Ne=Zt(!1),cn=qt;function Bn(e,t){var n=e.type.contextTypes;if(!n)return qt;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var l={},o;for(o in n)l[o]=t[o];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=l),l}function be(e){return e=e.childContextTypes,e!=null}function zl(){G(Ne),G(xe)}function Ia(e,t,n){if(xe.current!==qt)throw Error(_(168));Q(xe,t),Q(Ne,n)}function Wc(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var l in r)if(!(l in t))throw Error(_(108,Hp(e)||"Unknown",l));return te({},n,r)}function Bl(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||qt,cn=xe.current,Q(xe,e),Q(Ne,Ne.current),!0}function Aa(e,t,n){var r=e.stateNode;if(!r)throw Error(_(169));n?(e=Wc(e,t,cn),r.__reactInternalMemoizedMergedChildContext=e,G(Ne),G(xe),Q(xe,e)):G(Ne),Q(Ne,n)}var gt=null,vo=!1,qo=!1;function Kc(e){gt===null?gt=[e]:gt.push(e)}function ih(e){vo=!0,Kc(e)}function Gt(){if(!qo&>!==null){qo=!0;var e=0,t=K;try{var n=gt;for(K=1;e >=i,l-=i,yt=1<<32-et(t)+l|n< L?(B=j,j=null):B=j.sibling;var R=p(h,j,v[L],w);if(R===null){j===null&&(j=B);break}e&&j&&R.alternate===null&&t(h,j),d=o(R,d,L),N===null?E=R:N.sibling=R,N=R,j=B}if(L===v.length)return n(h,j),Y&&Jt(h,L),E;if(j===null){for(;L L?(B=j,j=null):B=j.sibling;var H=p(h,j,R.value,w);if(H===null){j===null&&(j=B);break}e&&j&&H.alternate===null&&t(h,j),d=o(H,d,L),N===null?E=H:N.sibling=H,N=H,j=B}if(R.done)return n(h,j),Y&&Jt(h,L),E;if(j===null){for(;!R.done;L++,R=v.next())R=m(h,R.value,w),R!==null&&(d=o(R,d,L),N===null?E=R:N.sibling=R,N=R);return Y&&Jt(h,L),E}for(j=r(h,j);!R.done;L++,R=v.next())R=g(j,h,L,R.value,w),R!==null&&(e&&R.alternate!==null&&j.delete(R.key===null?L:R.key),d=o(R,d,L),N===null?E=R:N.sibling=R,N=R);return e&&j.forEach(function(ae){return t(h,ae)}),Y&&Jt(h,L),E}function b(h,d,v,w){if(typeof v=="object"&&v!==null&&v.type===Cn&&v.key===null&&(v=v.props.children),typeof v=="object"&&v!==null){switch(v.$$typeof){case tl:e:{for(var E=v.key,N=d;N!==null;){if(N.key===E){if(E=v.type,E===Cn){if(N.tag===7){n(h,N.sibling),d=l(N,v.props.children),d.return=h,h=d;break e}}else if(N.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===Ot&&Va(E)===N.type){n(h,N.sibling),d=l(N,v.props),d.ref=lr(h,N,v),d.return=h,h=d;break e}n(h,N);break}else t(h,N);N=N.sibling}v.type===Cn?(d=sn(v.props.children,h.mode,w,v.key),d.return=h,h=d):(w=Ll(v.type,v.key,v.props,null,h.mode,w),w.ref=lr(h,d,v),w.return=h,h=w)}return i(h);case Sn:e:{for(N=v.key;d!==null;){if(d.key===N)if(d.tag===4&&d.stateNode.containerInfo===v.containerInfo&&d.stateNode.implementation===v.implementation){n(h,d.sibling),d=l(d,v.children||[]),d.return=h,h=d;break e}else{n(h,d);break}else t(h,d);d=d.sibling}d=ti(v,h.mode,w),d.return=h,h=d}return i(h);case Ot:return N=v._init,b(h,d,N(v._payload),w)}if(ar(v))return S(h,d,v,w);if(Jn(v))return x(h,d,v,w);fl(h,v)}return typeof v=="string"&&v!==""||typeof v=="number"?(v=""+v,d!==null&&d.tag===6?(n(h,d.sibling),d=l(d,v),d.return=h,h=d):(n(h,d),d=ei(v,h.mode,w),d.return=h,h=d),i(h)):n(h,d)}return b}var Hn=Gc(!0),Yc=Gc(!1),Ul=Zt(null),Wl=null,Tn=null,Es=null;function _s(){Es=Tn=Wl=null}function js(e){var t=Ul.current;G(Ul),e._currentValue=t}function Mi(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function In(e,t){Wl=e,Es=Tn=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(je=!0),e.firstContext=null)}function Ue(e){var t=e._currentValue;if(Es!==e)if(e={context:e,memoizedValue:t,next:null},Tn===null){if(Wl===null)throw Error(_(308));Tn=e,Wl.dependencies={lanes:0,firstContext:e}}else Tn=Tn.next=e;return t}var rn=null;function Ns(e){rn===null?rn=[e]:rn.push(e)}function Xc(e,t,n,r){var l=t.interleaved;return l===null?(n.next=n,Ns(t)):(n.next=l.next,l.next=n),t.interleaved=n,kt(e,r)}function kt(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var Mt=!1;function bs(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Jc(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function xt(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Vt(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,U&2){var l=r.pending;return l===null?t.next=t:(t.next=l.next,l.next=t),r.pending=t,kt(e,n)}return l=r.interleaved,l===null?(t.next=t,Ns(r)):(t.next=l.next,l.next=t),r.interleaved=t,kt(e,n)}function kl(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,ps(e,n)}}function Ha(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var l=null,o=null;if(n=n.firstBaseUpdate,n!==null){do{var i={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};o===null?l=o=i:o=o.next=i,n=n.next}while(n!==null);o===null?l=o=t:o=o.next=t}else l=o=t;n={baseState:r.baseState,firstBaseUpdate:l,lastBaseUpdate:o,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Kl(e,t,n,r){var l=e.updateQueue;Mt=!1;var o=l.firstBaseUpdate,i=l.lastBaseUpdate,s=l.shared.pending;if(s!==null){l.shared.pending=null;var u=s,c=u.next;u.next=null,i===null?o=c:i.next=c,i=u;var f=e.alternate;f!==null&&(f=f.updateQueue,s=f.lastBaseUpdate,s!==i&&(s===null?f.firstBaseUpdate=c:s.next=c,f.lastBaseUpdate=u))}if(o!==null){var m=l.baseState;i=0,f=c=u=null,s=o;do{var p=s.lane,g=s.eventTime;if((r&p)===p){f!==null&&(f=f.next={eventTime:g,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var S=e,x=s;switch(p=t,g=n,x.tag){case 1:if(S=x.payload,typeof S=="function"){m=S.call(g,m,p);break e}m=S;break e;case 3:S.flags=S.flags&-65537|128;case 0:if(S=x.payload,p=typeof S=="function"?S.call(g,m,p):S,p==null)break e;m=te({},m,p);break e;case 2:Mt=!0}}s.callback!==null&&s.lane!==0&&(e.flags|=64,p=l.effects,p===null?l.effects=[s]:p.push(s))}else g={eventTime:g,lane:p,tag:s.tag,payload:s.payload,callback:s.callback,next:null},f===null?(c=f=g,u=m):f=f.next=g,i|=p;if(s=s.next,s===null){if(s=l.shared.pending,s===null)break;p=s,s=p.next,p.next=null,l.lastBaseUpdate=p,l.shared.pending=null}}while(!0);if(f===null&&(u=m),l.baseState=u,l.firstBaseUpdate=c,l.lastBaseUpdate=f,t=l.shared.interleaved,t!==null){l=t;do i|=l.lane,l=l.next;while(l!==t)}else o===null&&(l.shared.lanes=0);pn|=i,e.lanes=i,e.memoizedState=m}}function Ua(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;t n?n:4,e(!0);var r=Zo.transition;Zo.transition={};try{e(!1),t()}finally{K=n,Zo.transition=r}}function vd(){return We().memoizedState}function ch(e,t,n){var r=Ut(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},gd(e))yd(t,n);else if(n=Xc(e,t,n,r),n!==null){var l=Ce();tt(n,e,r,l),wd(n,t,r)}}function dh(e,t,n){var r=Ut(e),l={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(gd(e))yd(t,l);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var i=t.lastRenderedState,s=o(i,n);if(l.hasEagerState=!0,l.eagerState=s,rt(s,i)){var u=t.interleaved;u===null?(l.next=l,Ns(t)):(l.next=u.next,u.next=l),t.interleaved=l;return}}catch{}finally{}n=Xc(e,t,l,r),n!==null&&(l=Ce(),tt(n,e,r,l),wd(n,t,r))}}function gd(e){var t=e.alternate;return e===J||t!==null&&t===J}function yd(e,t){vr=Ql=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function wd(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,ps(e,n)}}var Zl={readContext:Ue,useCallback:ve,useContext:ve,useEffect:ve,useImperativeHandle:ve,useInsertionEffect:ve,useLayoutEffect:ve,useMemo:ve,useReducer:ve,useRef:ve,useState:ve,useDebugValue:ve,useDeferredValue:ve,useTransition:ve,useMutableSource:ve,useSyncExternalStore:ve,useId:ve,unstable_isNewReconciler:!1},fh={readContext:Ue,useCallback:function(e,t){return st().memoizedState=[e,t===void 0?null:t],e},useContext:Ue,useEffect:Ka,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,_l(4194308,4,dd.bind(null,t,e),n)},useLayoutEffect:function(e,t){return _l(4194308,4,e,t)},useInsertionEffect:function(e,t){return _l(4,2,e,t)},useMemo:function(e,t){var n=st();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=st();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=ch.bind(null,J,e),[r.memoizedState,e]},useRef:function(e){var t=st();return e={current:e},t.memoizedState=e},useState:Wa,useDebugValue:$s,useDeferredValue:function(e){return st().memoizedState=e},useTransition:function(){var e=Wa(!1),t=e[0];return e=uh.bind(null,e[1]),st().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=J,l=st();if(Y){if(n===void 0)throw Error(_(407));n=n()}else{if(n=t(),fe===null)throw Error(_(349));fn&30||rd(r,t,n)}l.memoizedState=n;var o={value:n,getSnapshot:t};return l.queue=o,Ka(od.bind(null,r,o,e),[e]),r.flags|=2048,Ar(9,ld.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=st(),t=fe.identifierPrefix;if(Y){var n=wt,r=yt;n=(r&~(1<<32-et(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Fr++,0 <\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=i.createElement(n,{is:r.is}):(e=i.createElement(n),n==="select"&&(i=e,r.multiple?i.multiple=!0:r.size&&(i.size=r.size))):e=i.createElementNS(e,n),e[at]=t,e[Rr]=r,Ld(e,t,!1,!1),t.stateNode=e;e:{switch(i=hi(n,r),n){case"dialog":Z("cancel",e),Z("close",e),l=r;break;case"iframe":case"object":case"embed":Z("load",e),l=r;break;case"video":case"audio":for(l=0;l Kn&&(t.flags|=128,r=!0,or(o,!1),t.lanes=4194304)}else{if(!r)if(e=ql(i),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),or(o,!0),o.tail===null&&o.tailMode==="hidden"&&!i.alternate&&!Y)return ge(t),null}else 2*le()-o.renderingStartTime>Kn&&n!==1073741824&&(t.flags|=128,r=!0,or(o,!1),t.lanes=4194304);o.isBackwards?(i.sibling=t.child,t.child=i):(n=o.last,n!==null?n.sibling=i:t.child=i,o.last=i)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=le(),t.sibling=null,n=X.current,Q(X,r?n&1|2:n&1),t):(ge(t),null);case 22:case 23:return Vs(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Me&1073741824&&(ge(t),t.subtreeFlags&6&&(t.flags|=8192)):ge(t),null;case 24:return null;case 25:return null}throw Error(_(156,t.tag))}function xh(e,t){switch(Cs(t),t.tag){case 1:return be(t.type)&&zl(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Un(),G(Ne),G(xe),Os(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Ts(t),null;case 13:if(G(X),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(_(340));Vn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return G(X),null;case 4:return Un(),null;case 10:return js(t.type._context),null;case 22:case 23:return Vs(),null;case 24:return null;default:return null}}var hl=!1,we=!1,Sh=typeof WeakSet=="function"?WeakSet:Set,T=null;function On(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){re(e,t,r)}else n.current=null}function Bi(e,t,n){try{n()}catch(r){re(e,t,r)}}var ru=!1;function Ch(e,t){if(Ei=$l,e=$c(),xs(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var l=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break e}var i=0,s=-1,u=-1,c=0,f=0,m=e,p=null;t:for(;;){for(var g;m!==n||l!==0&&m.nodeType!==3||(s=i+l),m!==o||r!==0&&m.nodeType!==3||(u=i+r),m.nodeType===3&&(i+=m.nodeValue.length),(g=m.firstChild)!==null;)p=m,m=g;for(;;){if(m===e)break t;if(p===n&&++c===l&&(s=i),p===o&&++f===r&&(u=i),(g=m.nextSibling)!==null)break;m=p,p=m.parentNode}m=g}n=s===-1||u===-1?null:{start:s,end:u}}else n=null}n=n||{start:0,end:0}}else n=null;for(_i={focusedElem:e,selectionRange:n},$l=!1,T=t;T!==null;)if(t=T,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,T=e;else for(;T!==null;){t=T;try{var S=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(S!==null){var x=S.memoizedProps,b=S.memoizedState,h=t.stateNode,d=h.getSnapshotBeforeUpdate(t.elementType===t.type?x:Ge(t.type,x),b);h.__reactInternalSnapshotBeforeUpdate=d}break;case 3:var v=t.stateNode.containerInfo;v.nodeType===1?v.textContent="":v.nodeType===9&&v.documentElement&&v.removeChild(v.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(_(163))}}catch(w){re(t,t.return,w)}if(e=t.sibling,e!==null){e.return=t.return,T=e;break}T=t.return}return S=ru,ru=!1,S}function gr(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var o=l.destroy;l.destroy=void 0,o!==void 0&&Bi(t,n,o)}l=l.next}while(l!==r)}}function wo(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function Vi(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function Md(e){var t=e.alternate;t!==null&&(e.alternate=null,Md(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[at],delete t[Rr],delete t[bi],delete t[lh],delete t[oh])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Pd(e){return e.tag===5||e.tag===3||e.tag===4}function lu(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Pd(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Hi(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Al));else if(r!==4&&(e=e.child,e!==null))for(Hi(e,t,n),e=e.sibling;e!==null;)Hi(e,t,n),e=e.sibling}function Ui(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Ui(e,t,n),e=e.sibling;e!==null;)Ui(e,t,n),e=e.sibling}var pe=null,Xe=!1;function Tt(e,t,n){for(n=n.child;n!==null;)Rd(e,t,n),n=n.sibling}function Rd(e,t,n){if(ut&&typeof ut.onCommitFiberUnmount=="function")try{ut.onCommitFiberUnmount(co,n)}catch{}switch(n.tag){case 5:we||On(n,t);case 6:var r=pe,l=Xe;pe=null,Tt(e,t,n),pe=r,Xe=l,pe!==null&&(Xe?(e=pe,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):pe.removeChild(n.stateNode));break;case 18:pe!==null&&(Xe?(e=pe,n=n.stateNode,e.nodeType===8?Ko(e.parentNode,n):e.nodeType===1&&Ko(e,n),Lr(e)):Ko(pe,n.stateNode));break;case 4:r=pe,l=Xe,pe=n.stateNode.containerInfo,Xe=!0,Tt(e,t,n),pe=r,Xe=l;break;case 0:case 11:case 14:case 15:if(!we&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var o=l,i=o.destroy;o=o.tag,i!==void 0&&(o&2||o&4)&&Bi(n,t,i),l=l.next}while(l!==r)}Tt(e,t,n);break;case 1:if(!we&&(On(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(s){re(n,t,s)}Tt(e,t,n);break;case 21:Tt(e,t,n);break;case 22:n.mode&1?(we=(r=we)||n.memoizedState!==null,Tt(e,t,n),we=r):Tt(e,t,n);break;default:Tt(e,t,n)}}function ou(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Sh),t.forEach(function(r){var l=Oh.bind(null,e,r);n.has(r)||(n.add(r),r.then(l,l))})}}function Ze(e,t){var n=t.deletions;if(n!==null)for(var r=0;r l&&(l=i),r&=~o}if(r=l,r=le()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Eh(r/1960))-r,10 e?16:e,$t===null)var r=!1;else{if(e=$t,$t=null,Xl=0,U&6)throw Error(_(331));var l=U;for(U|=4,T=e.current;T!==null;){var o=T,i=o.child;if(T.flags&16){var s=o.deletions;if(s!==null){for(var u=0;u le()-zs?on(e,0):As|=n),Le(e,t)}function Vd(e,t){t===0&&(e.mode&1?(t=ol,ol<<=1,!(ol&130023424)&&(ol=4194304)):t=1);var n=Ce();e=kt(e,t),e!==null&&(Wr(e,t,n),Le(e,n))}function Th(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Vd(e,n)}function Oh(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(_(314))}r!==null&&r.delete(t),Vd(e,n)}var Hd;Hd=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Ne.current)je=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return je=!1,yh(e,t,n);je=!!(e.flags&131072)}else je=!1,Y&&t.flags&1048576&&qc(t,Hl,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;jl(e,t),e=t.pendingProps;var l=Bn(t,xe.current);In(t,n),l=Ps(null,t,r,e,l,n);var o=Rs();return t.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,be(r)?(o=!0,Bl(t)):o=!1,t.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,bs(t),l.updater=yo,t.stateNode=l,l._reactInternals=t,Ri(t,r,e,n),t=Fi(null,t,r,!0,o,n)):(t.tag=0,Y&&o&&Ss(t),Se(null,t,l,n),t=t.child),t;case 16:r=t.elementType;e:{switch(jl(e,t),e=t.pendingProps,l=r._init,r=l(r._payload),t.type=r,l=t.tag=Ph(r),e=Ge(r,e),l){case 0:t=$i(null,t,r,e,n);break e;case 1:t=eu(null,t,r,e,n);break e;case 11:t=Xa(null,t,r,e,n);break e;case 14:t=Ja(null,t,r,Ge(r.type,e),n);break e}throw Error(_(306,r,""))}return t;case 0:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Ge(r,l),$i(e,t,r,l,n);case 1:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Ge(r,l),eu(e,t,r,l,n);case 3:e:{if(jd(t),e===null)throw Error(_(387));r=t.pendingProps,o=t.memoizedState,l=o.element,Jc(e,t),Kl(t,r,null,n);var i=t.memoizedState;if(r=i.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:i.cache,pendingSuspenseBoundaries:i.pendingSuspenseBoundaries,transitions:i.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){l=Wn(Error(_(423)),t),t=tu(e,t,r,n,l);break e}else if(r!==l){l=Wn(Error(_(424)),t),t=tu(e,t,r,n,l);break e}else for(Pe=Bt(t.stateNode.containerInfo.firstChild),Re=t,Y=!0,Je=null,n=Yc(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Vn(),r===l){t=Et(e,t,n);break e}Se(e,t,r,n)}t=t.child}return t;case 5:return ed(t),e===null&&Oi(t),r=t.type,l=t.pendingProps,o=e!==null?e.memoizedProps:null,i=l.children,ji(r,l)?i=null:o!==null&&ji(r,o)&&(t.flags|=32),_d(e,t),Se(e,t,i,n),t.child;case 6:return e===null&&Oi(t),null;case 13:return Nd(e,t,n);case 4:return Ls(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Hn(t,null,r,n):Se(e,t,r,n),t.child;case 11:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Ge(r,l),Xa(e,t,r,l,n);case 7:return Se(e,t,t.pendingProps,n),t.child;case 8:return Se(e,t,t.pendingProps.children,n),t.child;case 12:return Se(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,l=t.pendingProps,o=t.memoizedProps,i=l.value,Q(Ul,r._currentValue),r._currentValue=i,o!==null)if(rt(o.value,i)){if(o.children===l.children&&!Ne.current){t=Et(e,t,n);break e}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var s=o.dependencies;if(s!==null){i=o.child;for(var u=s.firstContext;u!==null;){if(u.context===r){if(o.tag===1){u=xt(-1,n&-n),u.tag=2;var c=o.updateQueue;if(c!==null){c=c.shared;var f=c.pending;f===null?u.next=u:(u.next=f.next,f.next=u),c.pending=u}}o.lanes|=n,u=o.alternate,u!==null&&(u.lanes|=n),Mi(o.return,n,t),s.lanes|=n;break}u=u.next}}else if(o.tag===10)i=o.type===t.type?null:o.child;else if(o.tag===18){if(i=o.return,i===null)throw Error(_(341));i.lanes|=n,s=i.alternate,s!==null&&(s.lanes|=n),Mi(i,n,t),i=o.sibling}else i=o.child;if(i!==null)i.return=o;else for(i=o;i!==null;){if(i===t){i=null;break}if(o=i.sibling,o!==null){o.return=i.return,i=o;break}i=i.return}o=i}Se(e,t,l.children,n),t=t.child}return t;case 9:return l=t.type,r=t.pendingProps.children,In(t,n),l=Ue(l),r=r(l),t.flags|=1,Se(e,t,r,n),t.child;case 14:return r=t.type,l=Ge(r,t.pendingProps),l=Ge(r.type,l),Ja(e,t,r,l,n);case 15:return kd(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Ge(r,l),jl(e,t),t.tag=1,be(r)?(e=!0,Bl(t)):e=!1,In(t,n),xd(t,r,l),Ri(t,r,l,n),Fi(null,t,r,!0,e,n);case 19:return bd(e,t,n);case 22:return Ed(e,t,n)}throw Error(_(156,t.tag))};function Ud(e,t){return gc(e,t)}function Mh(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ve(e,t,n,r){return new Mh(e,t,n,r)}function Us(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Ph(e){if(typeof e=="function")return Us(e)?1:0;if(e!=null){if(e=e.$$typeof,e===us)return 11;if(e===cs)return 14}return 2}function Wt(e,t){var n=e.alternate;return n===null?(n=Ve(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Ll(e,t,n,r,l,o){var i=2;if(r=e,typeof e=="function")Us(e)&&(i=1);else if(typeof e=="string")i=5;else e:switch(e){case Cn:return sn(n.children,l,o,t);case as:i=8,l|=8;break;case li:return e=Ve(12,n,t,l|2),e.elementType=li,e.lanes=o,e;case oi:return e=Ve(13,n,t,l),e.elementType=oi,e.lanes=o,e;case ii:return e=Ve(19,n,t,l),e.elementType=ii,e.lanes=o,e;case ec:return So(n,l,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Xu:i=10;break e;case Ju:i=9;break e;case us:i=11;break e;case cs:i=14;break e;case Ot:i=16,r=null;break e}throw Error(_(130,e==null?e:typeof e,""))}return t=Ve(i,n,t,l),t.elementType=e,t.type=r,t.lanes=o,t}function sn(e,t,n,r){return e=Ve(7,e,r,t),e.lanes=n,e}function So(e,t,n,r){return e=Ve(22,e,r,t),e.elementType=ec,e.lanes=n,e.stateNode={isHidden:!1},e}function ei(e,t,n){return e=Ve(6,e,null,t),e.lanes=n,e}function ti(e,t,n){return t=Ve(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Rh(e,t,n,r,l){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Do(0),this.expirationTimes=Do(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Do(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function Ws(e,t,n,r,l,o,i,s,u){return e=new Rh(e,t,n,s,u),t===1?(t=1,o===!0&&(t|=8)):t=0,o=Ve(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},bs(o),e}function Dh(e,t,n){var r=3 "u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Qd)}catch(e){console.error(e)}}Qd(),Qu.exports=$e;var Zd=Qu.exports,pu=Zd;ni.createRoot=pu.createRoot,ni.hydrateRoot=pu.hydrateRoot;const zh="0.7.0.beta.1",to=(e,t)=>{const n=t&&t.map(r=>{var f,m,p;const l=encodeURI(r.criteriaKey),o=typeof((f=r.values)==null?void 0:f.value)=="object"?encodeURIComponent(JSON.stringify((m=r.values)==null?void 0:m.value)):encodeURIComponent((p=r.values)==null?void 0:p.value),i=e.indexOf("#"),s=i===-1?"":e.substr(i);e=i===-1?e:e.substr(0,i);const u=new RegExp("([?&])"+l+"=.*?(&|$)","i"),c=e.indexOf("?")!==-1?"&":"?";return e.match(u)?e=e.replace(u,"$1"+l+"="+o+"$2"):e=e+c+l+"="+o,e+s});return t?`${n[n.length-1]}&shared=true`:""},Bh=(e,t)=>{const n=e.querySelectorAll("fieldset"),r=Array.from(n).filter(l=>l.attributes.required);t(Array.from(r))},Vh=(e,t,n,r,l,o)=>{const i=document.getElementById(`${e}`);if(!i.attributes.required){const c=o.filter(x=>x.criteriaKey===e)[0].values.value,f=x=>{for(const b in x)if(x[b]!=="")return!1;return!0},m=[...t,i],p=[...new Set(m)],g=p.filter(x=>!x.id===e),S=l.filter(x=>!x.id.includes(e));f(c)&&r(S),f(c)?n(g):n(p)}},Hh=async(e,t)=>{const n=e.map(o=>Array.from(o.elements).filter(i=>{var s,u;return((s=i.attributes["data-datetype"])==null?void 0:s.value)==="year"?!i.value||i.value&&i.value.length!==4:((u=i.attributes["data-datetype"])==null?void 0:u.value)==="day"?!i.value||i.value&&i.value==="0":!i.value})).flat(),r=e.map(o=>{if(Array.from(o.elements).every(s=>{var u;return!((u=s.attributes.type)!=null&&u.value)==="radio"}))return[];const i=Array.from(o.elements).filter(s=>{var u;return((u=s.attributes.type)==null?void 0:u.value)==="radio"});return i.length>0&&i.every(s=>!s.checked)?o:[]}).flat(),l=[n,r].flat();return t(l),l.length===0},Uh=({hasError:e,criteriaKey:t,fieldSetId:n,useFilter:r=!1})=>{const l=e.map(i=>i.id!==void 0&&n&&n.includes(i.id)||i.id!==void 0&&i.id.includes(t)).includes(!0),o=e.filter(i=>i.id!==void 0&&i.id.includes(n));return r===!0?o:l},Ie={getRequiredFieldsets:Bh,getNonRequiredFieldsets:Vh,handleCheckForRequiredValues:Hh,handleInvalid:Uh},jt=e=>({__html:e}),Wh=(e,t,n=!0)=>{const r=o=>o!=null&&typeof o=="object",l=(o,i)=>{const s=Object.keys(o),u=Object.keys(i);if(s.length!==u.length)return!1;for(const c of s){const f=o[c],m=i[c],p=r(f)&&r(m);if(p&&!l(f,m)||!p&&f!==m)return!1}return!0};if(e.dataLayer){const o={...window.dataLayer[window.dataLayer.length-1]};delete o["gtm.uniqueEventId"],delete o.eventCallback,n===!0?l(o,t)===!1&&e.dataLayer.push(t):e.dataLayer.push(t)}},Kh={intro:{event:"bf_page_change",bfData:{pageView:"bf-intro",viewTitle:null}},lifeEventSection:{event:"bf_page_change",bfData:{pageView:"bf-form",viewTitle:null}},errors:{event:"bf_form_page_submit_attempt",bfData:{errors:null,errorCount:{number:null,string:null},formSuccess:!1}},modal:{event:"bf_page_change",bfData:{pageView:"bf-form-completion-modal",viewTitle:null}},verifySelections:{event:"bf_page_change",bfData:{pageView:"bf-verify-selections",viewTitle:null}},resultsView:{event:"bf_page_change",bfData:{pageView:["bf-result-eligible-view","bf-result-not-eligible-view"],viewTitle:null,eligibilityCount:{eligibleBenefitCount:null,moreInfoBenefitCount:null,notEligibleBenefitCount:null}}},openAllBenefitAccordions:{event:"bf_open_all_accordions",bfData:{accordionsOpen:!0}},benefitAccordion:{event:"bf_accordion_open",bfData:{benefitTitle:null}},benefitLink:{event:"bf_benefit_link",bfData:{benefitTitle:null}}},se={dataLayerPush:Wh,dataLayerStructure:Kh},qh=e=>{if(/^[0-9]*$/.test(`${e.target.value}`)){if(e.target.id.includes("day"))return e.target.value.length===2?/^(0?[1-9]|[12][0-9]|3[01])$/.test(`${e.target.value}`):e.target.value.length<3;if(e.target.id.includes("year")){const t=new Date().getFullYear().toString(),n=t.substring(t.length-1);return e.target.value.length===4?new RegExp(`^(19[0-9][0-9]|20[0-1][0-9]|20[0-2][0-${n}])$`).test(`${e.target.value}`):e.target.value.length<5}}if(e.target.id.includes("month"))return!0},Gd=({hide:e})=>{const t=document.querySelector(".bf-qual-survey");t&&t.hidden===!e&&(t.hidden=e)},Qh=e=>{const t=e&&new window.Date(Date.UTC(e.year,e.month,e.day));return new Date(t.getTime()+Math.abs(t.getTimezoneOffset()*6e4))},Zh={37:1,38:1,39:1,40:1},an=e=>{e.preventDefault()},Yd=e=>{if(Zh[e.keyCode])return an(e),!1},no={passive:!1},Xd="onwheel"in document.createElement("div")?"wheel":"mousewheel",Gh=()=>{window.addEventListener("DOMMouseScroll",an,!1),window.addEventListener(Xd,an,no),window.addEventListener("touchmove",an,no),window.addEventListener("keydown",Yd,!1)},Yh=()=>{window.removeEventListener("DOMMouseScroll",an,!1),window.removeEventListener(Xd,an,no),window.removeEventListener("touchmove",an,no),window.removeEventListener("keydown",Yd,!1)},hu={disableScroll:Yh,enableScroll:Gh},Xh=e=>{const n=e.innerWidth,r=!(n<1049);return{width:n,desktop:r}},Zr=({pageView:e,notEligibleView:t})=>{const n=Xh(window).desktop;M.useEffect(()=>{const r=document.getElementById("bf-track-by-name"),l=document.querySelector('[data-testid="app"]'),o=n?"desktop":"mobile",i=`var CE_SNAPSHOT_NAME = "${e}-${l==null?void 0:l.id}-${o}";`;r!==null&&(r.innerHTML=i)},[n,t])},ft=({className:e,defaultClasses:t,utilityClasses:n})=>{const[r,l]=M.useState("");return M.useEffect(()=>{const o=[e,t&&t.join(" "),n&&n.join(" ")];l(o.filter(i=>i!==void 0).join(" "))},[e,t,n]),r},mu=e=>{e.preventDefault(),e.returnValue=""},Jh=e=>{M.useEffect(()=>{e!==!1?window.addEventListener("beforeunload",mu):window.removeEventListener("beforeunload",mu)},[e])},Gr=()=>(M.useEffect(()=>{document.getElementById("index-reset")===null&&document.body.insertAdjacentHTML("afterBegin",'')},[]),M.useRef(document.getElementById("index-reset"))),e0=({selectedValue:e,conditional:t})=>{const n=t,r=/['>', '>=', '<', '<=', '=']/g,l=n.match(r),o=n.match(/\d+/)[0],i=new RegExp(`[${l}]`,"g"),s=n.replace(/-/g,"/").replace(i,""),u=/-/,c=u.test(n)?new window.Date(s):new window.Date(new Date().getFullYear()-o,new Date().getMonth(),new Date().getDate()),f=new window.Date(Date.UTC(e.year,e.month,e.day,0,0,0));return((p,g,S)=>{const x=S,b=new window.Date(Date.UTC(g.getUTCFullYear(),g.getUTCMonth(),g.getUTCDate(),0,0,0));if(u.test(n)===!1){const h=b.getTime()-x.getTime();switch(p.length&&p.join("")){case">":return h>0;case">=":return h>=0;case"<":return h<0;case"<=":return h<=0;case"=":return+h==0;default:return!1}}else switch(p.length&&p.join("")){case">":return x.getTime()>b.getTime();case">=":return x.getTime()>=b.getTime();case"<":return x.getTime() r.fieldset.criteriaKey===t),n===void 0&&e.forEach(r=>{r.fieldset.children.forEach(l=>{l.fieldsets[0].fieldset.criteriaKey===t&&(n=l.fieldsets[0])})}),n}function n0(e){return e.slice(e.indexOf("?")+1).split("&").map(r=>{const[l,o]=r.split("=");return{criteriaKey:l,value:decodeURIComponent(o)}})}const r0=()=>/^\/es/.test(window.location.pathname)?"es":"en";async function l0(e){let t;if(e===void 0){const r=window.location.search;t=new URLSearchParams(r),t.get("mode")==="draft"&&`${t.get("mode")}`;const l=window.location.pathname;e=l.substring(l.lastIndexOf("/")+1)}let n;{const r=document.getElementById("benefit-finder");if(r!==null){const l=r.getAttribute("json-data-file-path"),o=r.getAttribute("draft-json-data-file-path");n=t.get("mode")==="draft"?o:l}}if(n!==void 0)return await fetch(n).then(l=>{if(l!=null&&l.ok)return l.json();throw new Error(l==null?void 0:l.status)}).then(l=>l!=null&&l.data?l:"Something went wrong.").catch(l=>(console.log(l),"Something went wrong."))}const o0=e=>e&&e.fieldset.inputs[0].inputCriteria.values.find(t=>t.selected),i0=e=>{var t;return e&&((t=e.fieldset)==null?void 0:t.children.map(n=>n.fieldsets[0]))},s0=e=>e&&e.flatMap((t,n)=>t.section.fieldsets.flatMap(r=>{const l=q.SelectedValue(r);return l&&[{criteriaKey:r.fieldset.inputs[0].inputCriteria.id,values:l},q.Children(r)&&q.Children(r).flatMap(o=>q.SelectedValue(o)&&{criteriaKey:o.fieldset.criteriaKey,values:q.SelectedValue(o)}).filter(o=>o!==void 0)]})).flat().filter(t=>t!==void 0),a0=(e,t)=>{const n=t&&t.map(l=>(e.forEach(o=>{const i=l.benefit.eligibility.find(s=>s.criteriaKey===o.criteriaKey);if(i!==void 0){const s=()=>{let u;return typeof o.values.value=="object"?u=i.acceptableValues.find(c=>jo.DateEligibility({selectedValue:o.values.value,conditional:c})):u=i.acceptableValues.find(c=>c===o.values.value),u};i.isEligible=!!s()}}),l));return n&&[].concat(...n)};async function u0(e,t,n,r){const l={...t};jo.FindCriteria(l.section.fieldsets,e).then(o=>{var i;if(o)return((i=o.fieldset)==null?void 0:i.inputs[0].inputCriteria.values).forEach(u=>{u.value===r?u.selected=!0:delete u.selected}),n(l)}).catch(o=>(console.log(o),"Something went wrong."))}async function c0(e,t,n,r,l){const o={...t};jo.FindCriteria(o.section.fieldsets,e).then(i=>{var s;if(i){const u=(s=i.fieldset)==null?void 0:s.inputs[0].inputCriteria.values;return l?(l.includes("day")&&(u[0].value.day=r),l.includes("month")&&(u[0].value.month=r),l.includes("year")&&(u[0].value.year=r),u[0].value={...u[0].value}):u[0].value=r,(f=>{for(const m in f)if(f[m]!==null&&f[m]!==void 0&&f[m]!=="")return!0;return!1})(u[0].value)===!1?u[0].selected=!1:u[0].selected=!0,n(o)}}).catch(i=>(console.log(i),"Something went wrong."))}const d0=(e,t,n,r)=>{const l=jo.GetQueryParams(decodeURI(e));l.filter(o=>o.criteriaKey!==r),t.forEach(o=>{o.completed=!0,l.forEach(i=>{const s=i.value.includes("{")?JSON.parse(i.value):i.value;s!==void 0&&typeof s=="object"?Br.DataDate(i.criteriaKey,o,n,s):Br.Data(i.criteriaKey,o,n,s)})})},q={Children:i0,ElegibilityByCriteria:a0,LifeEvent:l0,Language:r0,SelectedValue:o0,SelectedValueAll:s0},Br={Data:u0,DataDate:c0,DataFromParams:d0},jo={FindCriteria:t0,DateEligibility:e0,GetQueryParams:n0};var Jd={exports:{}},f0="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",p0=f0,h0=p0;function ef(){}function tf(){}tf.resetWarningCache=ef;var m0=function(){function e(r,l,o,i,s,u){if(u!==h0){var c=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw c.name="Invariant Violation",c}}e.isRequired=e;function t(){return e}var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:tf,resetWarningCache:ef};return n.PropTypes=n,n};Jd.exports=m0();var Zs=Jd.exports;const y=ao(Zs),Gs=({className:e,children:t,alertFieldRef:n,heading:r,description:l,type:o,hasError:i,noBackground:s,tabIndex:u,errorCount:c,errorList:f,submissionCount:m})=>{const p=o==="error"?["bf-usa-alert","usa-alert","bf-usa-alert--error","usa-alert--error",`${i===!1?"display-none":""}`]:["bf-usa-alert","usa-alert","bf-usa-alert--info","usa-alert--info",`${s?"no-background":""}`];return M.useEffect(()=>{const{errors:g}=se.dataLayerStructure;i&&f&&se.dataLayerPush(window,{event:g.event,bfData:{errors:f.map(S=>S==null?void 0:S.id).join(","),errorCount:{number:c,string:`${c}`},formSuccess:!1}},!1)},[m]),a.jsx("div",{className:ft({className:e,defaultClasses:p}),role:"alert",ref:n,tabIndex:u||0,"aria-live":i===!0?"assertive":"polite","aria-hidden":i===void 0?!1:!i,children:t?a.jsx("div",{className:"bf-usa-alert__body usa-alert__body",children:a.jsx("div",{className:"bf-usa-alert__text usa-alert__text",children:t})}):a.jsxs("div",{className:"bf-usa-alert__body usa-alert__body",children:[a.jsxs(ee,{headingLevel:2,className:"bf-usa-alert__heading usa-alert__heading","data-testid":"bf-alert-heading",children:[r==null?void 0:r.prefix," ",c," ",r==null?void 0:r.suffix]}),a.jsx("p",{className:"bf-usa-alert__text usa-alert__text",children:l}),a.jsx("ul",{"data-testid":"bf-errors-list",children:f&&f.map(g=>a.jsx("li",{"data-testid":"bf-errors-list-item",children:a.jsx("a",{href:`#${g.id}`,children:g.getAttribute("data-errormessage")||g.id})},g.id))})]})})};Gs.propTypes={className:y.string,children:y.any,alertFieldRef:y.any,heading:y.object,description:y.string,type:y.string,hasError:y.bool,noBackground:y.bool,tabIndex:y.number,errorCount:y.number};const v0=e=>e&&typeof e=="object"&&e.nodeType===1;var g0=(e,t)=>{if(typeof e!="string")return[];(!t||!v0(t))&&(t=window.document);const n=t.querySelectorAll(e);return Array.prototype.slice.call(n)};/* + */var C1=E,$e=x1;function b(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n "u"||typeof window.document>"u"||typeof window.document.createElement>"u"),go=Object.prototype.hasOwnProperty,S1=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,_a={},ba={};function k1(e){return go.call(ba,e)?!0:go.call(_a,e)?!1:S1.test(e)?ba[e]=!0:(_a[e]=!0,!1)}function E1(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function _1(e,t,n,r){if(t===null||typeof t>"u"||E1(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Ee(e,t,n,r,l,i,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=o}var me={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){me[e]=new Ee(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];me[t]=new Ee(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){me[e]=new Ee(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){me[e]=new Ee(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){me[e]=new Ee(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){me[e]=new Ee(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){me[e]=new Ee(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){me[e]=new Ee(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){me[e]=new Ee(e,5,!1,e.toLowerCase(),null,!1,!1)});var Cs=/[\-:]([a-z])/g;function Ss(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(Cs,Ss);me[t]=new Ee(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(Cs,Ss);me[t]=new Ee(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(Cs,Ss);me[t]=new Ee(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){me[e]=new Ee(e,1,!1,e.toLowerCase(),null,!1,!1)});me.xlinkHref=new Ee("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){me[e]=new Ee(e,1,!1,e.toLowerCase(),null,!0,!0)});function ks(e,t,n,r){var l=me.hasOwnProperty(t)?me[t]:null;(l!==null?l.type!==0:r||!(2 s||l[o]!==i[s]){var a=` +`+l[o].replace(" at new "," at ");return e.displayName&&a.includes(" ")&&(a=a.replace(" ",e.displayName)),a}while(1<=o&&0<=s);break}}}finally{Hi=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?hr(e):""}function b1(e){switch(e.tag){case 5:return hr(e.type);case 16:return hr("Lazy");case 13:return hr("Suspense");case 19:return hr("SuspenseList");case 0:case 2:case 15:return e=Wi(e.type,!1),e;case 11:return e=Wi(e.type.render,!1),e;case 1:return e=Wi(e.type,!0),e;default:return""}}function Co(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case _n:return"Fragment";case En:return"Portal";case yo:return"Profiler";case Es:return"StrictMode";case wo:return"Suspense";case xo:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case kc:return(e.displayName||"Context")+".Consumer";case Sc:return(e._context.displayName||"Context")+".Provider";case _s:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case bs:return t=e.displayName||null,t!==null?t:Co(e.type)||"Memo";case Ot:t=e._payload,e=e._init;try{return Co(e(t))}catch{}}return null}function j1(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Co(t);case 8:return t===Es?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Qt(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function _c(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function N1(e){var t=_c(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var l=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(o){r=""+o,i.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function dl(e){e._valueTracker||(e._valueTracker=N1(e))}function bc(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=_c(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Bl(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function So(e,t){var n=t.checked;return te({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function Na(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Qt(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function jc(e,t){t=t.checked,t!=null&&ks(e,"checked",t,!1)}function ko(e,t){jc(e,t);var n=Qt(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?Eo(e,t.type,n):t.hasOwnProperty("defaultValue")&&Eo(e,t.type,Qt(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function La(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function Eo(e,t,n){(t!=="number"||Bl(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var mr=Array.isArray;function In(e,t,n,r){if(e=e.options,t){t={};for(var l=0;l "+t.valueOf().toString()+"",t=fl.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Rr(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var wr={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},L1=["Webkit","ms","Moz","O"];Object.keys(wr).forEach(function(e){L1.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),wr[t]=wr[e]})});function Tc(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||wr.hasOwnProperty(e)&&wr[e]?(""+t).trim():t+"px"}function Oc(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,l=Tc(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,l):e[n]=l}}var P1=te({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function jo(e,t){if(t){if(P1[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(b(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(b(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(b(61))}if(t.style!=null&&typeof t.style!="object")throw Error(b(62))}}function No(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Lo=null;function js(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Po=null,Fn=null,An=null;function Oa(e){if(e=rl(e)){if(typeof Po!="function")throw Error(b(280));var t=e.stateNode;t&&(t=Ei(t),Po(e.stateNode,e.type,t))}}function Rc(e){Fn?An?An.push(e):An=[e]:Fn=e}function Mc(){if(Fn){var e=Fn,t=An;if(An=Fn=null,Oa(e),t)for(e=0;e >>=0,e===0?32:31-(z1(e)/U1|0)|0}var pl=64,hl=4194304;function vr(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Hl(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,l=e.suspendedLanes,i=e.pingedLanes,o=n&268435455;if(o!==0){var s=o&~l;s!==0?r=vr(s):(i&=o,i!==0&&(r=vr(i)))}else o=n&~l,o!==0?r=vr(o):i!==0&&(r=vr(i));if(r===0)return 0;if(t!==0&&t!==r&&!(t&l)&&(l=r&-r,i=t&-t,l>=i||l===16&&(i&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0 n;n++)t.push(e);return t}function tl(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-et(t),e[t]=n}function K1(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0 =Cr),za=" ",Ua=!1;function ed(e,t){switch(e){case"keyup":return xh.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function td(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var bn=!1;function Sh(e,t){switch(e){case"compositionend":return td(t);case"keypress":return t.which!==32?null:(Ua=!0,za);case"textInput":return e=t.data,e===za&&Ua?null:e;default:return null}}function kh(e,t){if(bn)return e==="compositionend"||!$s&&ed(e,t)?(e=Xc(),Pl=Os=Dt=null,bn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1 =t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Ka(n)}}function id(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?id(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function od(){for(var e=window,t=Bl();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Bl(e.document)}return t}function Ds(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function Oh(e){var t=od(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&id(n.ownerDocument.documentElement,n)){if(r!==null&&Ds(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var l=n.textContent.length,i=Math.min(r.start,l);r=r.end===void 0?i:Math.min(r.end,l),!e.extend&&i>r&&(l=r,r=i,i=l),l=qa(n,i);var o=qa(n,r);l&&o&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(l.node,l.offset),e.removeAllRanges(),i>r?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n =document.documentMode,jn=null,Do=null,kr=null,Io=!1;function Qa(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Io||jn==null||jn!==Bl(r)||(r=jn,"selectionStart"in r&&Ds(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),kr&&Ar(kr,r)||(kr=r,r=ql(Do,"onSelect"),0 Pn||(e.current=Vo[Pn],Vo[Pn]=null,Pn--)}function Q(e,t){Pn++,Vo[Pn]=e.current,e.current=t}var Zt={},xe=Yt(Zt),Ne=Yt(!1),pn=Zt;function Hn(e,t){var n=e.type.contextTypes;if(!n)return Zt;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var l={},i;for(i in n)l[i]=t[i];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=l),l}function Le(e){return e=e.childContextTypes,e!=null}function Zl(){G(Ne),G(xe)}function tu(e,t,n){if(xe.current!==Zt)throw Error(b(168));Q(xe,t),Q(Ne,n)}function md(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var l in r)if(!(l in t))throw Error(b(108,j1(e)||"Unknown",l));return te({},n,r)}function Gl(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Zt,pn=xe.current,Q(xe,e),Q(Ne,Ne.current),!0}function nu(e,t,n){var r=e.stateNode;if(!r)throw Error(b(169));n?(e=md(e,t,pn),r.__reactInternalMemoizedMergedChildContext=e,G(Ne),G(xe),Q(xe,e)):G(Ne),Q(Ne,n)}var yt=null,_i=!1,io=!1;function vd(e){yt===null?yt=[e]:yt.push(e)}function Hh(e){_i=!0,vd(e)}function Xt(){if(!io&&yt!==null){io=!0;var e=0,t=K;try{var n=yt;for(K=1;e >=o,l-=o,wt=1<<32-et(t)+l|n< T?(B=P,P=null):B=P.sibling;var D=m(f,P,v[T],w);if(D===null){P===null&&(P=B);break}e&&P&&D.alternate===null&&t(f,P),h=i(D,h,T),N===null?j=D:N.sibling=D,N=D,P=B}if(T===v.length)return n(f,P),Y&&tn(f,T),j;if(P===null){for(;T T?(B=P,P=null):B=P.sibling;var q=m(f,P,D.value,w);if(q===null){P===null&&(P=B);break}e&&P&&q.alternate===null&&t(f,P),h=i(q,h,T),N===null?j=q:N.sibling=q,N=q,P=B}if(D.done)return n(f,P),Y&&tn(f,T),j;if(P===null){for(;!D.done;T++,D=v.next())D=d(f,D.value,w),D!==null&&(h=i(D,h,T),N===null?j=D:N.sibling=D,N=D);return Y&&tn(f,T),j}for(P=r(f,P);!D.done;T++,D=v.next())D=y(P,f,T,D.value,w),D!==null&&(e&&D.alternate!==null&&P.delete(D.key===null?T:D.key),h=i(D,h,T),N===null?j=D:N.sibling=D,N=D);return e&&P.forEach(function(de){return t(f,de)}),Y&&tn(f,T),j}function S(f,h,v,w){if(typeof v=="object"&&v!==null&&v.type===_n&&v.key===null&&(v=v.props.children),typeof v=="object"&&v!==null){switch(v.$$typeof){case cl:e:{for(var j=v.key,N=h;N!==null;){if(N.key===j){if(j=v.type,j===_n){if(N.tag===7){n(f,N.sibling),h=l(N,v.props.children),h.return=f,f=h;break e}}else if(N.elementType===j||typeof j=="object"&&j!==null&&j.$$typeof===Ot&&iu(j)===N.type){n(f,N.sibling),h=l(N,v.props),h.ref=dr(f,N,v),h.return=f,f=h;break e}n(f,N);break}else t(f,N);N=N.sibling}v.type===_n?(h=un(v.props.children,f.mode,w,v.key),h.return=f,f=h):(w=Fl(v.type,v.key,v.props,null,f.mode,w),w.ref=dr(f,h,v),w.return=f,f=w)}return o(f);case En:e:{for(N=v.key;h!==null;){if(h.key===N)if(h.tag===4&&h.stateNode.containerInfo===v.containerInfo&&h.stateNode.implementation===v.implementation){n(f,h.sibling),h=l(h,v.children||[]),h.return=f,f=h;break e}else{n(f,h);break}else t(f,h);h=h.sibling}h=ho(v,f.mode,w),h.return=f,f=h}return o(f);case Ot:return N=v._init,S(f,h,N(v._payload),w)}if(mr(v))return x(f,h,v,w);if(or(v))return g(f,h,v,w);Cl(f,v)}return typeof v=="string"&&v!==""||typeof v=="number"?(v=""+v,h!==null&&h.tag===6?(n(f,h.sibling),h=l(h,v),h.return=f,f=h):(n(f,h),h=po(v,f.mode,w),h.return=f,f=h),o(f)):n(f,h)}return S}var Kn=xd(!0),Cd=xd(!1),Jl=Yt(null),ei=null,Rn=null,Bs=null;function zs(){Bs=Rn=ei=null}function Us(e){var t=Jl.current;G(Jl),e._currentValue=t}function Ko(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function zn(e,t){ei=e,Bs=Rn=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(je=!0),e.firstContext=null)}function He(e){var t=e._currentValue;if(Bs!==e)if(e={context:e,memoizedValue:t,next:null},Rn===null){if(ei===null)throw Error(b(308));Rn=e,ei.dependencies={lanes:0,firstContext:e}}else Rn=Rn.next=e;return t}var on=null;function Vs(e){on===null?on=[e]:on.push(e)}function Sd(e,t,n,r){var l=t.interleaved;return l===null?(n.next=n,Vs(t)):(n.next=l.next,l.next=n),t.interleaved=n,Et(e,r)}function Et(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var Rt=!1;function Hs(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function kd(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Ct(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Ht(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,V&2){var l=r.pending;return l===null?t.next=t:(t.next=l.next,l.next=t),r.pending=t,Et(e,n)}return l=r.interleaved,l===null?(t.next=t,Vs(r)):(t.next=l.next,l.next=t),r.interleaved=t,Et(e,n)}function Ol(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Ls(e,n)}}function ou(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var l=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};i===null?l=i=o:i=i.next=o,n=n.next}while(n!==null);i===null?l=i=t:i=i.next=t}else l=i=t;n={baseState:r.baseState,firstBaseUpdate:l,lastBaseUpdate:i,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function ti(e,t,n,r){var l=e.updateQueue;Rt=!1;var i=l.firstBaseUpdate,o=l.lastBaseUpdate,s=l.shared.pending;if(s!==null){l.shared.pending=null;var a=s,c=a.next;a.next=null,o===null?i=c:o.next=c,o=a;var p=e.alternate;p!==null&&(p=p.updateQueue,s=p.lastBaseUpdate,s!==o&&(s===null?p.firstBaseUpdate=c:s.next=c,p.lastBaseUpdate=a))}if(i!==null){var d=l.baseState;o=0,p=c=a=null,s=i;do{var m=s.lane,y=s.eventTime;if((r&m)===m){p!==null&&(p=p.next={eventTime:y,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var x=e,g=s;switch(m=t,y=n,g.tag){case 1:if(x=g.payload,typeof x=="function"){d=x.call(y,d,m);break e}d=x;break e;case 3:x.flags=x.flags&-65537|128;case 0:if(x=g.payload,m=typeof x=="function"?x.call(y,d,m):x,m==null)break e;d=te({},d,m);break e;case 2:Rt=!0}}s.callback!==null&&s.lane!==0&&(e.flags|=64,m=l.effects,m===null?l.effects=[s]:m.push(s))}else y={eventTime:y,lane:m,tag:s.tag,payload:s.payload,callback:s.callback,next:null},p===null?(c=p=y,a=d):p=p.next=y,o|=m;if(s=s.next,s===null){if(s=l.shared.pending,s===null)break;m=s,s=m.next,m.next=null,l.lastBaseUpdate=m,l.shared.pending=null}}while(!0);if(p===null&&(a=d),l.baseState=a,l.firstBaseUpdate=c,l.lastBaseUpdate=p,t=l.shared.interleaved,t!==null){l=t;do o|=l.lane,l=l.next;while(l!==t)}else i===null&&(l.shared.lanes=0);vn|=o,e.lanes=o,e.memoizedState=d}}function su(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;t n?n:4,e(!0);var r=so.transition;so.transition={};try{e(!1),t()}finally{K=n,so.transition=r}}function Bd(){return We().memoizedState}function Qh(e,t,n){var r=Kt(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},zd(e))Ud(t,n);else if(n=Sd(e,t,n,r),n!==null){var l=Se();tt(n,e,r,l),Vd(n,t,r)}}function Zh(e,t,n){var r=Kt(e),l={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(zd(e))Ud(t,l);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var o=t.lastRenderedState,s=i(o,n);if(l.hasEagerState=!0,l.eagerState=s,rt(s,o)){var a=t.interleaved;a===null?(l.next=l,Vs(t)):(l.next=a.next,a.next=l),t.interleaved=l;return}}catch{}finally{}n=Sd(e,t,l,r),n!==null&&(l=Se(),tt(n,e,r,l),Vd(n,t,r))}}function zd(e){var t=e.alternate;return e===J||t!==null&&t===J}function Ud(e,t){Er=ri=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Vd(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Ls(e,n)}}var li={readContext:He,useCallback:ve,useContext:ve,useEffect:ve,useImperativeHandle:ve,useInsertionEffect:ve,useLayoutEffect:ve,useMemo:ve,useReducer:ve,useRef:ve,useState:ve,useDebugValue:ve,useDeferredValue:ve,useTransition:ve,useMutableSource:ve,useSyncExternalStore:ve,useId:ve,unstable_isNewReconciler:!1},Gh={readContext:He,useCallback:function(e,t){return at().memoizedState=[e,t===void 0?null:t],e},useContext:He,useEffect:uu,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,Ml(4194308,4,$d.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Ml(4194308,4,e,t)},useInsertionEffect:function(e,t){return Ml(4,2,e,t)},useMemo:function(e,t){var n=at();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=at();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=Qh.bind(null,J,e),[r.memoizedState,e]},useRef:function(e){var t=at();return e={current:e},t.memoizedState=e},useState:au,useDebugValue:Xs,useDeferredValue:function(e){return at().memoizedState=e},useTransition:function(){var e=au(!1),t=e[0];return e=qh.bind(null,e[1]),at().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=J,l=at();if(Y){if(n===void 0)throw Error(b(407));n=n()}else{if(n=t(),ce===null)throw Error(b(349));mn&30||jd(r,t,n)}l.memoizedState=n;var i={value:n,getSnapshot:t};return l.queue=i,uu(Ld.bind(null,r,i,e),[e]),r.flags|=2048,qr(9,Nd.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=at(),t=ce.identifierPrefix;if(Y){var n=xt,r=wt;n=(r&~(1<<32-et(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Wr++,0 <\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=o.createElement(n,{is:r.is}):(e=o.createElement(n),n==="select"&&(o=e,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):e=o.createElementNS(e,n),e[ut]=t,e[Ur]=r,Jd(e,t,!1,!1),t.stateNode=e;e:{switch(o=No(n,r),n){case"dialog":Z("cancel",e),Z("close",e),l=r;break;case"iframe":case"object":case"embed":Z("load",e),l=r;break;case"video":case"audio":for(l=0;l Zn&&(t.flags|=128,r=!0,fr(i,!1),t.lanes=4194304)}else{if(!r)if(e=ni(o),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),fr(i,!0),i.tail===null&&i.tailMode==="hidden"&&!o.alternate&&!Y)return ge(t),null}else 2*re()-i.renderingStartTime>Zn&&n!==1073741824&&(t.flags|=128,r=!0,fr(i,!1),t.lanes=4194304);i.isBackwards?(o.sibling=t.child,t.child=o):(n=i.last,n!==null?n.sibling=o:t.child=o,i.last=o)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=re(),t.sibling=null,n=X.current,Q(X,r?n&1|2:n&1),t):(ge(t),null);case 22:case 23:return la(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Oe&1073741824&&(ge(t),t.subtreeFlags&6&&(t.flags|=8192)):ge(t),null;case 24:return null;case 25:return null}throw Error(b(156,t.tag))}function l0(e,t){switch(Fs(t),t.tag){case 1:return Le(t.type)&&Zl(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return qn(),G(Ne),G(xe),qs(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Ks(t),null;case 13:if(G(X),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(b(340));Wn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return G(X),null;case 4:return qn(),null;case 10:return Us(t.type._context),null;case 22:case 23:return la(),null;case 24:return null;default:return null}}var kl=!1,we=!1,i0=typeof WeakSet=="function"?WeakSet:Set,O=null;function Mn(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){ne(e,t,r)}else n.current=null}function ts(e,t,n){try{n()}catch(r){ne(e,t,r)}}var xu=!1;function o0(e,t){if(Fo=Wl,e=od(),Ds(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var l=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var o=0,s=-1,a=-1,c=0,p=0,d=e,m=null;t:for(;;){for(var y;d!==n||l!==0&&d.nodeType!==3||(s=o+l),d!==i||r!==0&&d.nodeType!==3||(a=o+r),d.nodeType===3&&(o+=d.nodeValue.length),(y=d.firstChild)!==null;)m=d,d=y;for(;;){if(d===e)break t;if(m===n&&++c===l&&(s=o),m===i&&++p===r&&(a=o),(y=d.nextSibling)!==null)break;d=m,m=d.parentNode}d=y}n=s===-1||a===-1?null:{start:s,end:a}}else n=null}n=n||{start:0,end:0}}else n=null;for(Ao={focusedElem:e,selectionRange:n},Wl=!1,O=t;O!==null;)if(t=O,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,O=e;else for(;O!==null;){t=O;try{var x=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(x!==null){var g=x.memoizedProps,S=x.memoizedState,f=t.stateNode,h=f.getSnapshotBeforeUpdate(t.elementType===t.type?g:Ge(t.type,g),S);f.__reactInternalSnapshotBeforeUpdate=h}break;case 3:var v=t.stateNode.containerInfo;v.nodeType===1?v.textContent="":v.nodeType===9&&v.documentElement&&v.removeChild(v.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(b(163))}}catch(w){ne(t,t.return,w)}if(e=t.sibling,e!==null){e.return=t.return,O=e;break}O=t.return}return x=xu,xu=!1,x}function _r(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var i=l.destroy;l.destroy=void 0,i!==void 0&&ts(t,n,i)}l=l.next}while(l!==r)}}function Ni(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function ns(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function nf(e){var t=e.alternate;t!==null&&(e.alternate=null,nf(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[ut],delete t[Ur],delete t[Uo],delete t[Uh],delete t[Vh])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function rf(e){return e.tag===5||e.tag===3||e.tag===4}function Cu(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||rf(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function rs(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Ql));else if(r!==4&&(e=e.child,e!==null))for(rs(e,t,n),e=e.sibling;e!==null;)rs(e,t,n),e=e.sibling}function ls(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(ls(e,t,n),e=e.sibling;e!==null;)ls(e,t,n),e=e.sibling}var pe=null,Xe=!1;function Tt(e,t,n){for(n=n.child;n!==null;)lf(e,t,n),n=n.sibling}function lf(e,t,n){if(ct&&typeof ct.onCommitFiberUnmount=="function")try{ct.onCommitFiberUnmount(xi,n)}catch{}switch(n.tag){case 5:we||Mn(n,t);case 6:var r=pe,l=Xe;pe=null,Tt(e,t,n),pe=r,Xe=l,pe!==null&&(Xe?(e=pe,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):pe.removeChild(n.stateNode));break;case 18:pe!==null&&(Xe?(e=pe,n=n.stateNode,e.nodeType===8?lo(e.parentNode,n):e.nodeType===1&&lo(e,n),Ir(e)):lo(pe,n.stateNode));break;case 4:r=pe,l=Xe,pe=n.stateNode.containerInfo,Xe=!0,Tt(e,t,n),pe=r,Xe=l;break;case 0:case 11:case 14:case 15:if(!we&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var i=l,o=i.destroy;i=i.tag,o!==void 0&&(i&2||i&4)&&ts(n,t,o),l=l.next}while(l!==r)}Tt(e,t,n);break;case 1:if(!we&&(Mn(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(s){ne(n,t,s)}Tt(e,t,n);break;case 21:Tt(e,t,n);break;case 22:n.mode&1?(we=(r=we)||n.memoizedState!==null,Tt(e,t,n),we=r):Tt(e,t,n);break;default:Tt(e,t,n)}}function Su(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new i0),t.forEach(function(r){var l=m0.bind(null,e,r);n.has(r)||(n.add(r),r.then(l,l))})}}function Ze(e,t){var n=t.deletions;if(n!==null)for(var r=0;r l&&(l=o),r&=~i}if(r=l,r=re()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*a0(r/1960))-r,10 e?16:e,It===null)var r=!1;else{if(e=It,It=null,si=0,V&6)throw Error(b(331));var l=V;for(V|=4,O=e.current;O!==null;){var i=O,o=i.child;if(O.flags&16){var s=i.deletions;if(s!==null){for(var a=0;a re()-na?an(e,0):ta|=n),Pe(e,t)}function pf(e,t){t===0&&(e.mode&1?(t=hl,hl<<=1,!(hl&130023424)&&(hl=4194304)):t=1);var n=Se();e=Et(e,t),e!==null&&(tl(e,t,n),Pe(e,n))}function h0(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),pf(e,n)}function m0(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(b(314))}r!==null&&r.delete(t),pf(e,n)}var hf;hf=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Ne.current)je=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return je=!1,n0(e,t,n);je=!!(e.flags&131072)}else je=!1,Y&&t.flags&1048576&&gd(t,Xl,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;$l(e,t),e=t.pendingProps;var l=Hn(t,xe.current);zn(t,n),l=Zs(null,t,r,e,l,n);var i=Gs();return t.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Le(r)?(i=!0,Gl(t)):i=!1,t.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,Hs(t),l.updater=ji,t.stateNode=l,l._reactInternals=t,Qo(t,r,e,n),t=Yo(null,t,r,!0,i,n)):(t.tag=0,Y&&i&&Is(t),Ce(null,t,l,n),t=t.child),t;case 16:r=t.elementType;e:{switch($l(e,t),e=t.pendingProps,l=r._init,r=l(r._payload),t.type=r,l=t.tag=g0(r),e=Ge(r,e),l){case 0:t=Go(null,t,r,e,n);break e;case 1:t=gu(null,t,r,e,n);break e;case 11:t=mu(null,t,r,e,n);break e;case 14:t=vu(null,t,r,Ge(r.type,e),n);break e}throw Error(b(306,r,""))}return t;case 0:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Ge(r,l),Go(e,t,r,l,n);case 1:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Ge(r,l),gu(e,t,r,l,n);case 3:e:{if(Gd(t),e===null)throw Error(b(387));r=t.pendingProps,i=t.memoizedState,l=i.element,kd(e,t),ti(t,r,null,n);var o=t.memoizedState;if(r=o.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){l=Qn(Error(b(423)),t),t=yu(e,t,r,n,l);break e}else if(r!==l){l=Qn(Error(b(424)),t),t=yu(e,t,r,n,l);break e}else for(Re=Vt(t.stateNode.containerInfo.firstChild),Me=t,Y=!0,Je=null,n=Cd(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Wn(),r===l){t=_t(e,t,n);break e}Ce(e,t,r,n)}t=t.child}return t;case 5:return Ed(t),e===null&&Wo(t),r=t.type,l=t.pendingProps,i=e!==null?e.memoizedProps:null,o=l.children,Bo(r,l)?o=null:i!==null&&Bo(r,i)&&(t.flags|=32),Zd(e,t),Ce(e,t,o,n),t.child;case 6:return e===null&&Wo(t),null;case 13:return Yd(e,t,n);case 4:return Ws(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Kn(t,null,r,n):Ce(e,t,r,n),t.child;case 11:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Ge(r,l),mu(e,t,r,l,n);case 7:return Ce(e,t,t.pendingProps,n),t.child;case 8:return Ce(e,t,t.pendingProps.children,n),t.child;case 12:return Ce(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,l=t.pendingProps,i=t.memoizedProps,o=l.value,Q(Jl,r._currentValue),r._currentValue=o,i!==null)if(rt(i.value,o)){if(i.children===l.children&&!Ne.current){t=_t(e,t,n);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var s=i.dependencies;if(s!==null){o=i.child;for(var a=s.firstContext;a!==null;){if(a.context===r){if(i.tag===1){a=Ct(-1,n&-n),a.tag=2;var c=i.updateQueue;if(c!==null){c=c.shared;var p=c.pending;p===null?a.next=a:(a.next=p.next,p.next=a),c.pending=a}}i.lanes|=n,a=i.alternate,a!==null&&(a.lanes|=n),Ko(i.return,n,t),s.lanes|=n;break}a=a.next}}else if(i.tag===10)o=i.type===t.type?null:i.child;else if(i.tag===18){if(o=i.return,o===null)throw Error(b(341));o.lanes|=n,s=o.alternate,s!==null&&(s.lanes|=n),Ko(o,n,t),o=i.sibling}else o=i.child;if(o!==null)o.return=i;else for(o=i;o!==null;){if(o===t){o=null;break}if(i=o.sibling,i!==null){i.return=o.return,o=i;break}o=o.return}i=o}Ce(e,t,l.children,n),t=t.child}return t;case 9:return l=t.type,r=t.pendingProps.children,zn(t,n),l=He(l),r=r(l),t.flags|=1,Ce(e,t,r,n),t.child;case 14:return r=t.type,l=Ge(r,t.pendingProps),l=Ge(r.type,l),vu(e,t,r,l,n);case 15:return qd(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Ge(r,l),$l(e,t),t.tag=1,Le(r)?(e=!0,Gl(t)):e=!1,zn(t,n),Hd(t,r,l),Qo(t,r,l,n),Yo(null,t,r,!0,e,n);case 19:return Xd(e,t,n);case 22:return Qd(e,t,n)}throw Error(b(156,t.tag))};function mf(e,t){return zc(e,t)}function v0(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ue(e,t,n,r){return new v0(e,t,n,r)}function oa(e){return e=e.prototype,!(!e||!e.isReactComponent)}function g0(e){if(typeof e=="function")return oa(e)?1:0;if(e!=null){if(e=e.$$typeof,e===_s)return 11;if(e===bs)return 14}return 2}function qt(e,t){var n=e.alternate;return n===null?(n=Ue(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Fl(e,t,n,r,l,i){var o=2;if(r=e,typeof e=="function")oa(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case _n:return un(n.children,l,i,t);case Es:o=8,l|=8;break;case yo:return e=Ue(12,n,t,l|2),e.elementType=yo,e.lanes=i,e;case wo:return e=Ue(13,n,t,l),e.elementType=wo,e.lanes=i,e;case xo:return e=Ue(19,n,t,l),e.elementType=xo,e.lanes=i,e;case Ec:return Pi(n,l,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Sc:o=10;break e;case kc:o=9;break e;case _s:o=11;break e;case bs:o=14;break e;case Ot:o=16,r=null;break e}throw Error(b(130,e==null?e:typeof e,""))}return t=Ue(o,n,t,l),t.elementType=e,t.type=r,t.lanes=i,t}function un(e,t,n,r){return e=Ue(7,e,r,t),e.lanes=n,e}function Pi(e,t,n,r){return e=Ue(22,e,r,t),e.elementType=Ec,e.lanes=n,e.stateNode={isHidden:!1},e}function po(e,t,n){return e=Ue(6,e,null,t),e.lanes=n,e}function ho(e,t,n){return t=Ue(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function y0(e,t,n,r,l){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=qi(0),this.expirationTimes=qi(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=qi(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function sa(e,t,n,r,l,i,o,s,a){return e=new y0(e,t,n,s,a),t===1?(t=1,i===!0&&(t|=8)):t=0,i=Ue(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Hs(i),e}function w0(e,t,n){var r=3 "u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(wf)}catch(e){console.error(e)}}wf(),yc.exports=De;var xf=yc.exports,Pu=xf;vo.createRoot=Pu.createRoot,vo.hydrateRoot=Pu.hydrateRoot;/** + * @remix-run/router v1.20.0 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function Zr(){return Zr=Object.assign?Object.assign.bind():function(e){for(var t=1;t "u")throw new Error(t)}function Cf(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function _0(){return Math.random().toString(36).substr(2,8)}function Ou(e,t){return{usr:e.state,key:e.key,idx:t}}function us(e,t,n,r){return n===void 0&&(n=null),Zr({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?er(t):t,{state:n,key:t&&t.key||r||_0()})}function Sf(e){let{pathname:t="/",search:n="",hash:r=""}=e;return n&&n!=="?"&&(t+=n.charAt(0)==="?"?n:"?"+n),r&&r!=="#"&&(t+=r.charAt(0)==="#"?r:"#"+r),t}function er(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function b0(e,t,n,r){r===void 0&&(r={});let{window:l=document.defaultView,v5Compat:i=!1}=r,o=l.history,s=Ft.Pop,a=null,c=p();c==null&&(c=0,o.replaceState(Zr({},o.state,{idx:c}),""));function p(){return(o.state||{idx:null}).idx}function d(){s=Ft.Pop;let S=p(),f=S==null?null:S-c;c=S,a&&a({action:s,location:g.location,delta:f})}function m(S,f){s=Ft.Push;let h=us(g.location,S,f);c=p()+1;let v=Ou(h,c),w=g.createHref(h);try{o.pushState(v,"",w)}catch(j){if(j instanceof DOMException&&j.name==="DataCloneError")throw j;l.location.assign(w)}i&&a&&a({action:s,location:g.location,delta:1})}function y(S,f){s=Ft.Replace;let h=us(g.location,S,f);c=p();let v=Ou(h,c),w=g.createHref(h);o.replaceState(v,"",w),i&&a&&a({action:s,location:g.location,delta:0})}function x(S){let f=l.location.origin!=="null"?l.location.origin:l.location.href,h=typeof S=="string"?S:Sf(S);return h=h.replace(/ $/,"%20"),ae(f,"No window.location.(origin|href) available to create URL for href: "+h),new URL(h,f)}let g={get action(){return s},get location(){return e(l,o)},listen(S){if(a)throw new Error("A history only accepts one active listener");return l.addEventListener(Tu,d),a=S,()=>{l.removeEventListener(Tu,d),a=null}},createHref(S){return t(l,S)},createURL:x,encodeLocation(S){let f=x(S);return{pathname:f.pathname,search:f.search,hash:f.hash}},push:m,replace:y,go(S){return o.go(S)}};return g}var Ru;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(Ru||(Ru={}));function j0(e,t,n){return n===void 0&&(n="/"),N0(e,t,n,!1)}function N0(e,t,n,r){let l=typeof t=="string"?er(t):t,i=_f(l.pathname||"/",n);if(i==null)return null;let o=kf(e);L0(o);let s=null;for(let a=0;s==null&&a {let a={relativePath:s===void 0?i.path||"":s,caseSensitive:i.caseSensitive===!0,childrenIndex:o,route:i};a.relativePath.startsWith("/")&&(ae(a.relativePath.startsWith(r),'Absolute route path "'+a.relativePath+'" nested under path '+('"'+r+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),a.relativePath=a.relativePath.slice(r.length));let c=cn([r,a.relativePath]),p=n.concat(a);i.children&&i.children.length>0&&(ae(i.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+c+'".')),kf(i.children,t,p,c)),!(i.path==null&&!i.index)&&t.push({path:c,score:D0(c,i.index),routesMeta:p})};return e.forEach((i,o)=>{var s;if(i.path===""||!((s=i.path)!=null&&s.includes("?")))l(i,o);else for(let a of Ef(i.path))l(i,o,a)}),t}function Ef(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,l=n.endsWith("?"),i=n.replace(/\?$/,"");if(r.length===0)return l?[i,""]:[i];let o=Ef(r.join("/")),s=[];return s.push(...o.map(a=>a===""?i:[i,a].join("/"))),l&&s.push(...o),s.map(a=>e.startsWith("/")&&a===""?"/":a)}function L0(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:I0(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}const P0=/^:[\w-]+$/,T0=3,O0=2,R0=1,M0=10,$0=-2,Mu=e=>e==="*";function D0(e,t){let n=e.split("/"),r=n.length;return n.some(Mu)&&(r+=$0),t&&(r+=O0),n.filter(l=>!Mu(l)).reduce((l,i)=>l+(P0.test(i)?T0:i===""?R0:M0),r)}function I0(e,t){return e.length===t.length&&e.slice(0,-1).every((r,l)=>r===t[l])?e[e.length-1]-t[t.length-1]:0}function F0(e,t,n){let{routesMeta:r}=e,l={},i="/",o=[];for(let s=0;s {let{paramName:m,isOptional:y}=p;if(m==="*"){let g=s[d]||"";o=i.slice(0,i.length-g.length).replace(/(.)\/+$/,"$1")}const x=s[d];return y&&!x?c[m]=void 0:c[m]=(x||"").replace(/%2F/g,"/"),c},{}),pathname:i,pathnameBase:o,pattern:e}}function A0(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!0),Cf(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let r=[],l="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(o,s,a)=>(r.push({paramName:s,isOptional:a!=null}),a?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),l+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?l+="\\/*$":e!==""&&e!=="/"&&(l+="(?:(?=\\/|$))"),[new RegExp(l,t?void 0:"i"),r]}function B0(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return Cf(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}function _f(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&r!=="/"?null:e.slice(n)||"/"}function z0(e,t){t===void 0&&(t="/");let{pathname:n,search:r="",hash:l=""}=typeof e=="string"?er(e):e;return{pathname:n?n.startsWith("/")?n:U0(n,t):t,search:q0(r),hash:Q0(l)}}function U0(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(l=>{l===".."?n.length>1&&n.pop():l!=="."&&n.push(l)}),n.length>1?n.join("/"):"/"}function mo(e,t,n,r){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(r)+"]. Please separate it out to the ")+("`to."+n+"` field. Alternatively you may provide the full path as ")+'a string in and the router will parse it for you.'}function V0(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function H0(e,t){let n=V0(e);return t?n.map((r,l)=>l===n.length-1?r.pathname:r.pathnameBase):n.map(r=>r.pathnameBase)}function W0(e,t,n,r){r===void 0&&(r=!1);let l;typeof e=="string"?l=er(e):(l=Zr({},e),ae(!l.pathname||!l.pathname.includes("?"),mo("?","pathname","search",l)),ae(!l.pathname||!l.pathname.includes("#"),mo("#","pathname","hash",l)),ae(!l.search||!l.search.includes("#"),mo("#","search","hash",l)));let i=e===""||l.pathname==="",o=i?"/":l.pathname,s;if(o==null)s=n;else{let d=t.length-1;if(!r&&o.startsWith("..")){let m=o.split("/");for(;m[0]==="..";)m.shift(),d-=1;l.pathname=m.join("/")}s=d>=0?t[d]:"/"}let a=z0(l,s),c=o&&o!=="/"&&o.endsWith("/"),p=(i||o===".")&&n.endsWith("/");return!a.pathname.endsWith("/")&&(c||p)&&(a.pathname+="/"),a}const cn=e=>e.join("/").replace(/\/\/+/g,"/"),K0=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),q0=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,Q0=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function Z0(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const bf=["post","put","patch","delete"];new Set(bf);const G0=["get",...bf];new Set(G0);/** + * React Router v6.27.0 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function Gr(){return Gr=Object.assign?Object.assign.bind():function(e){for(var t=1;t {s.current=!0}),E.useCallback(function(c,p){if(p===void 0&&(p={}),!s.current)return;if(typeof c=="number"){r.go(c);return}let d=W0(c,JSON.parse(o),i,p.relative==="path");e==null&&t!=="/"&&(d.pathname=d.pathname==="/"?t:cn([t,d.pathname])),(p.replace?r.replace:r.push)(d,p.state,p)},[t,r,o,i,e])}function J0(e,t){return em(e,t)}function em(e,t,n,r){Ii()||ae(!1);let{navigator:l}=E.useContext($i),{matches:i}=E.useContext(tr),o=i[i.length-1],s=o?o.params:{};o&&o.pathname;let a=o?o.pathnameBase:"/";o&&o.route;let c=nr(),p;if(t){var d;let S=typeof t=="string"?er(t):t;a==="/"||(d=S.pathname)!=null&&d.startsWith(a)||ae(!1),p=S}else p=c;let m=p.pathname||"/",y=m;if(a!=="/"){let S=a.replace(/^\//,"").split("/");y="/"+m.replace(/^\//,"").split("/").slice(S.length).join("/")}let x=j0(e,{pathname:y}),g=im(x&&x.map(S=>Object.assign({},S,{params:Object.assign({},s,S.params),pathname:cn([a,l.encodeLocation?l.encodeLocation(S.pathname).pathname:S.pathname]),pathnameBase:S.pathnameBase==="/"?a:cn([a,l.encodeLocation?l.encodeLocation(S.pathnameBase).pathname:S.pathnameBase])})),i,n,r);return t&&g?E.createElement(Di.Provider,{value:{location:Gr({pathname:"/",search:"",hash:"",state:null,key:"default"},p),navigationType:Ft.Pop}},g):g}function tm(){let e=um(),t=Z0(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,l={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return E.createElement(E.Fragment,null,E.createElement("h2",null,"Unexpected Application Error!"),E.createElement("h3",{style:{fontStyle:"italic"}},t),n?E.createElement("pre",{style:l},n):null,null)}const nm=E.createElement(tm,null);class rm extends E.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,n){return n.location!==t.location||n.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:n.error,location:n.location,revalidation:t.revalidation||n.revalidation}}componentDidCatch(t,n){console.error("React Router caught the following error during render",t,n)}render(){return this.state.error!==void 0?E.createElement(tr.Provider,{value:this.props.routeContext},E.createElement(jf.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function lm(e){let{routeContext:t,match:n,children:r}=e,l=E.useContext(da);return l&&l.static&&l.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(l.staticContext._deepestRenderedBoundaryId=n.route.id),E.createElement(tr.Provider,{value:t},r)}function im(e,t,n,r){var l;if(t===void 0&&(t=[]),n===void 0&&(n=null),r===void 0&&(r=null),e==null){var i;if(!n)return null;if(n.errors)e=n.matches;else if((i=r)!=null&&i.v7_partialHydration&&t.length===0&&!n.initialized&&n.matches.length>0)e=n.matches;else return null}let o=e,s=(l=n)==null?void 0:l.errors;if(s!=null){let p=o.findIndex(d=>d.route.id&&(s==null?void 0:s[d.route.id])!==void 0);p>=0||ae(!1),o=o.slice(0,Math.min(o.length,p+1))}let a=!1,c=-1;if(n&&r&&r.v7_partialHydration)for(let p=0;p =0?o=o.slice(0,c+1):o=[o[0]];break}}}return o.reduceRight((p,d,m)=>{let y,x=!1,g=null,S=null;n&&(y=s&&d.route.id?s[d.route.id]:void 0,g=d.route.errorElement||nm,a&&(c<0&&m===0?(x=!0,S=null):c===m&&(x=!0,S=d.route.hydrateFallbackElement||null)));let f=t.concat(o.slice(0,m+1)),h=()=>{let v;return y?v=g:x?v=S:d.route.Component?v=E.createElement(d.route.Component,null):d.route.element?v=d.route.element:v=p,E.createElement(lm,{match:d,routeContext:{outlet:p,matches:f,isDataRoute:n!=null},children:v})};return n&&(d.route.ErrorBoundary||d.route.errorElement||m===0)?E.createElement(rm,{location:n.location,revalidation:n.revalidation,component:g,error:y,children:h(),routeContext:{outlet:null,matches:f,isDataRoute:!0}}):h()},null)}var Lf=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(Lf||{}),ci=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(ci||{});function om(e){let t=E.useContext(da);return t||ae(!1),t}function sm(e){let t=E.useContext(Y0);return t||ae(!1),t}function am(e){let t=E.useContext(tr);return t||ae(!1),t}function Pf(e){let t=am(),n=t.matches[t.matches.length-1];return n.route.id||ae(!1),n.route.id}function um(){var e;let t=E.useContext(jf),n=sm(ci.UseRouteError),r=Pf(ci.UseRouteError);return t!==void 0?t:(e=n.errors)==null?void 0:e[r]}function cm(){let{router:e}=om(Lf.UseNavigateStable),t=Pf(ci.UseNavigateStable),n=E.useRef(!1);return Nf(()=>{n.current=!0}),E.useCallback(function(l,i){i===void 0&&(i={}),n.current&&(typeof l=="number"?e.navigate(l):e.navigate(l,Gr({fromRouteId:t},i)))},[e,t])}function yr(e){ae(!1)}function dm(e){let{basename:t="/",children:n=null,location:r,navigationType:l=Ft.Pop,navigator:i,static:o=!1,future:s}=e;Ii()&&ae(!1);let a=t.replace(/^\/*/,"/"),c=E.useMemo(()=>({basename:a,navigator:i,static:o,future:Gr({v7_relativeSplatPath:!1},s)}),[a,s,i,o]);typeof r=="string"&&(r=er(r));let{pathname:p="/",search:d="",hash:m="",state:y=null,key:x="default"}=r,g=E.useMemo(()=>{let S=_f(p,a);return S==null?null:{location:{pathname:S,search:d,hash:m,state:y,key:x},navigationType:l}},[a,p,d,m,y,x,l]);return g==null?null:E.createElement($i.Provider,{value:c},E.createElement(Di.Provider,{children:n,value:g}))}function fm(e){let{children:t,location:n}=e;return J0(cs(t),n)}new Promise(()=>{});function cs(e,t){t===void 0&&(t=[]);let n=[];return E.Children.forEach(e,(r,l)=>{if(!E.isValidElement(r))return;let i=[...t,l];if(r.type===E.Fragment){n.push.apply(n,cs(r.props.children,i));return}r.type!==yr&&ae(!1),!r.props.index||!r.props.children||ae(!1);let o={id:r.props.id||i.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,loader:r.props.loader,action:r.props.action,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(o.children=cs(r.props.children,i)),n.push(o)}),n}/** + * React Router DOM v6.27.0 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */const pm="6";try{window.__reactRouterVersion=pm}catch{}const hm="startTransition",Du=p1[hm];function mm(e){let{basename:t,children:n,future:r,window:l}=e,i=E.useRef();i.current==null&&(i.current=E0({window:l,v5Compat:!0}));let o=i.current,[s,a]=E.useState({action:o.action,location:o.location}),{v7_startTransition:c}=r||{},p=E.useCallback(d=>{c&&Du?Du(()=>a(d)):a(d)},[a,c]);return E.useLayoutEffect(()=>o.listen(p),[o,p]),E.createElement(dm,{basename:t,children:n,location:s.location,navigationType:s.action,navigator:o,future:r})}var Iu;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(Iu||(Iu={}));var Fu;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(Fu||(Fu={}));const vm="0.8.1.beta.1",pt=({className:e,defaultClasses:t,utilityClasses:n})=>{const[r,l]=E.useState("");return E.useEffect(()=>{const i=[e,t&&t.join(" "),n&&n.join(" ")];l(i.filter(o=>o!==void 0).join(" "))},[e,t,n]),r},Au=e=>{e.preventDefault(),e.returnValue=""},gm=e=>{E.useEffect(()=>{e!==!1?window.addEventListener("beforeunload",Au):window.removeEventListener("beforeunload",Au)},[e])},rr=()=>(E.useEffect(()=>{document.getElementById("index-reset")===null&&document.body.insertAdjacentHTML("afterBegin",'')},[]),E.useRef(document.getElementById("index-reset"))),di=(e,t)=>{const n=t&&t.map(r=>{var p,d,m;const l=encodeURI(r.criteriaKey),i=typeof((p=r.values)==null?void 0:p.value)=="object"?encodeURIComponent(JSON.stringify((d=r.values)==null?void 0:d.value)):encodeURIComponent((m=r.values)==null?void 0:m.value),o=e.indexOf("#"),s=o===-1?"":e.substr(o);e=o===-1?e:e.substr(0,o);const a=new RegExp("([?&])"+l+"=.*?(&|$)","i"),c=e.indexOf("?")!==-1?"&":"?";return e.match(a)?e=e.replace(a,"$1"+l+"="+i+"$2"):e=e+c+l+"="+i,e+s});return t?`${n[n.length-1]}&shared=true`:""},ym=({loading:e,parentElementID:t})=>{document.querySelector(`[data-testid="${t}"]`);const n=document.createElement("div");n.dataset.testid="dom-ready"},wm=(e,t)=>{const n=e.querySelectorAll("fieldset"),r=Array.from(n).filter(l=>l.attributes.required);t(Array.from(r))},xm=(e,t,n,r,l,i)=>{const o=document.getElementById(`${e}`);if(!o.attributes.required){const c=i.filter(g=>g.criteriaKey===e)[0].values.value,p=g=>{for(const S in g)if(g[S]!=="")return!1;return!0},d=[...t,o],m=[...new Set(d)],y=m.filter(g=>!g.id===e),x=l.filter(g=>!g.id.includes(e));p(c)&&r(x),p(c)?n(y):n(m)}},Cm=async(e,t)=>{const n=e.map(i=>Array.from(i.elements).filter(o=>{var s,a;return((s=o.attributes["data-datetype"])==null?void 0:s.value)==="year"?!o.value||o.value&&o.value.length!==4:((a=o.attributes["data-datetype"])==null?void 0:a.value)==="day"?!o.value||o.value&&o.value==="0":!o.value})).flat(),r=e.map(i=>{if(Array.from(i.elements).every(s=>{var a;return!((a=s.attributes.type)!=null&&a.value)==="radio"}))return[];const o=Array.from(i.elements).filter(s=>{var a;return((a=s.attributes.type)==null?void 0:a.value)==="radio"});return o.length>0&&o.every(s=>!s.checked)?i:[]}).flat(),l=[n,r].flat();return t(l),l.length===0},Sm=({hasError:e,criteriaKey:t,fieldSetId:n,useFilter:r=!1})=>{const l=e.map(o=>o.id!==void 0&&n&&n.includes(o.id)||o.id!==void 0&&o.id.includes(t)).includes(!0),i=e.filter(o=>o.id!==void 0&&o.id.includes(n));return r===!0?i:l},Fe={getRequiredFieldsets:wm,getNonRequiredFieldsets:xm,handleCheckForRequiredValues:Cm,handleInvalid:Sm},Tf=e=>e.toLowerCase().replace(/[^a-zA-Z0-9\s]/g,"").replace(/ /g,"-"),jt=e=>({__html:e}),km=(e,t,n=!0)=>{const r=i=>i!=null&&typeof i=="object",l=(i,o)=>{const s=Object.keys(i),a=Object.keys(o);if(s.length!==a.length)return!1;for(const c of s){const p=i[c],d=o[c],m=r(p)&&r(d);if(m&&!l(p,d)||!m&&p!==d)return!1}return!0};if(e.dataLayer){const i={...window.dataLayer[window.dataLayer.length-1]};delete i["gtm.uniqueEventId"],delete i.eventCallback,n===!0?l(i,t)===!1&&e.dataLayer.push(t):e.dataLayer.push(t)}},Em={intro:{event:"bf_page_change",bfData:{pageView:"bf-intro",viewTitle:null}},lifeEventSection:{event:"bf_page_change",bfData:{pageView:"bf-form",viewTitle:null}},errors:{event:"bf_form_page_submit_attempt",bfData:{errors:null,errorCount:{number:null,string:null},formSuccess:!1}},modal:{event:"bf_page_change",bfData:{pageView:"bf-form-completion-modal",viewTitle:null}},verifySelections:{event:"bf_page_change",bfData:{pageView:"bf-verify-selections",viewTitle:null}},resultsView:{event:"bf_page_change",bfData:{pageView:["bf-result-eligible-view","bf-result-not-eligible-view"],viewTitle:null,eligibilityCount:{eligibleBenefitCount:null,moreInfoBenefitCount:null,notEligibleBenefitCount:null}}},openAllBenefitAccordions:{event:"bf_open_all_accordions",bfData:{accordionsOpen:!0}},benefitAccordion:{event:"bf_accordion_open",bfData:{benefitTitle:null}},benefitLink:{event:"bf_benefit_link",bfData:{benefitTitle:null}}},ie={dataLayerPush:km,dataLayerStructure:Em},_m=e=>{if(/^[0-9]*$/.test(`${e.target.value}`)){if(e.target.id.includes("day"))return e.target.value.length===2?/^(0?[1-9]|[12][0-9]|3[01])$/.test(`${e.target.value}`):e.target.value.length<3;if(e.target.id.includes("year")){const t=new Date().getFullYear().toString(),n=t.substring(t.length-1);return e.target.value.length===4?new RegExp(`^(19[0-9][0-9]|20[0-1][0-9]|20[0-2][0-${n}])$`).test(`${e.target.value}`):e.target.value.length<5}}if(e.target.id.includes("month"))return!0},fa=({hide:e})=>{const t=document.querySelector(".bf-qual-survey");t&&t.hidden===!e&&(t.hidden=e)},bm=e=>{const t=e&&new window.Date(Date.UTC(e.year,e.month,e.day));return new Date(t.getTime()+Math.abs(t.getTimezoneOffset()*6e4))},jm={37:1,38:1,39:1,40:1},dn=e=>{e.preventDefault()},Of=e=>{if(jm[e.keyCode])return dn(e),!1},fi={passive:!1},Rf="onwheel"in document.createElement("div")?"wheel":"mousewheel",Nm=()=>{window.addEventListener("DOMMouseScroll",dn,!1),window.addEventListener(Rf,dn,fi),window.addEventListener("touchmove",dn,fi),window.addEventListener("keydown",Of,!1)},Lm=()=>{window.removeEventListener("DOMMouseScroll",dn,!1),window.removeEventListener(Rf,dn,fi),window.removeEventListener("touchmove",dn,fi),window.removeEventListener("keydown",Of,!1)},Bu={disableScroll:Lm,enableScroll:Nm},Pm=({selectedValue:e,conditional:t})=>{const n=t,r=/['>', '>=', '<', '<=', '=']/g,l=n.match(r),i=n.match(/\d+/)[0],o=new RegExp(`[${l}]`,"g"),s=n.replace(/-/g,"/").replace(o,""),a=/-/,c=a.test(n)?new window.Date(s):new window.Date(new Date().getFullYear()-i,new Date().getMonth(),new Date().getDate()),p=new window.Date(Date.UTC(e.year,e.month,e.day,0,0,0));return((m,y,x)=>{const g=x,S=new window.Date(Date.UTC(y.getUTCFullYear(),y.getUTCMonth(),y.getUTCDate(),0,0,0));if(a.test(n)===!1){const f=S.getTime()-g.getTime();switch(m.length&&m.join("")){case">":return f>0;case">=":return f>=0;case"<":return f<0;case"<=":return f<=0;case"=":return+f==0;default:return!1}}else switch(m.length&&m.join("")){case">":return g.getTime()>S.getTime();case">=":return g.getTime()>=S.getTime();case"<":return g.getTime() r.fieldset.criteriaKey===t),n===void 0&&e.forEach(r=>{r.fieldset.children.forEach(l=>{l.fieldsets[0].fieldset.criteriaKey===t&&(n=l.fieldsets[0])})}),n}function Om(e){return e.slice(e.indexOf("?")+1).split("&").map(r=>{const[l,i]=r.split("=");return{criteriaKey:l,value:decodeURIComponent(i)}})}const Rm=()=>/^\/es/.test(window.location.pathname)?"es":"en",Mm=(e,t,n)=>{const r=e.location.pathname.split("/");r.slice(1);const l=r.pop(),i=r.join("/"),o=n==null?void 0:n.map(d=>Tf(d.section.heading)),s=t==="es"?"revisar-selecciónes":"verify-selections",a=t==="es"?"resultados":"results",c=t==="es"?`${a}/no-es-elegible`:`${a}/not-eligible`;return{basePath:i,indexPath:l,formPaths:o,verifySelectionsPath:s,resultsPaths:{resultsPath:a,notEligiblePath:c}}};async function $m(e){let t;if(e===void 0){const r=window.location.search;t=new URLSearchParams(r),t.get("mode")==="draft"&&`${t.get("mode")}`,e=window.location.pathname.split("/").pop()}let n;{const r=document.getElementById("benefit-finder");if(r!==null){const l=r.getAttribute("json-data-file-path"),i=r.getAttribute("draft-json-data-file-path");n=t.get("mode")==="draft"?i:l}}if(n!==void 0)return await fetch(n).then(l=>{if(l!=null&&l.ok)return l.json();throw new Error(l==null?void 0:l.status)}).then(l=>l!=null&&l.data?l:"Something went wrong.").catch(l=>(console.error(l),"Something went wrong."))}const Dm=e=>e&&e.fieldset.inputs[0].inputCriteria.values.find(t=>t.selected),Im=e=>{var t;return e&&((t=e.fieldset)==null?void 0:t.children.map(n=>n.fieldsets[0]))},Fm=e=>e&&e.flatMap((t,n)=>t.section.fieldsets.flatMap(r=>{const l=H.SelectedValue(r);return l&&[{criteriaKey:r.fieldset.inputs[0].inputCriteria.id,values:l},H.Children(r)&&H.Children(r).flatMap(i=>H.SelectedValue(i)&&{criteriaKey:i.fieldset.criteriaKey,values:H.SelectedValue(i)}).filter(i=>i!==void 0)]})).flat().filter(t=>t!==void 0),Am=(e,t)=>{const n=t.length>0&&t.map(l=>(e.forEach(i=>{const o=l.benefit.eligibility.find(s=>s.criteriaKey===i.criteriaKey);if(o!==void 0){const s=()=>{let a;return typeof i.values.value=="object"?a=o.acceptableValues.find(c=>Fi.DateEligibility({selectedValue:i.values.value,conditional:c})):a=o.acceptableValues.find(c=>c===i.values.value),a};o.isEligible=!!s()}}),l));return n&&[].concat(...n)};async function Bm(e,t,n,r){const l={...t};Fi.FindCriteria(l.section.fieldsets,e).then(i=>{var o;if(i)return((o=i.fieldset)==null?void 0:o.inputs[0].inputCriteria.values).forEach(a=>{a.value===r?a.selected=!0:delete a.selected}),n(l)}).catch(i=>(console.error(i),"Something went wrong."))}async function zm(e,t,n,r,l){const i={...t};Fi.FindCriteria(i.section.fieldsets,e).then(o=>{var s;if(o){const a=(s=o.fieldset)==null?void 0:s.inputs[0].inputCriteria.values;return l?(l.includes("day")&&(a[0].value.day=r),l.includes("month")&&(a[0].value.month=r),l.includes("year")&&(a[0].value.year=r),a[0].value={...a[0].value}):a[0].value=r,(p=>{for(const d in p)if(p[d]!==null&&p[d]!==void 0&&p[d]!=="")return!0;return!1})(a[0].value)===!1?a[0].selected=!1:a[0].selected=!0,n(i)}}).catch(o=>(console.error(o),"Something went wrong."))}const Um=(e,t,n,r,l)=>{const i=Fi.GetQueryParams(decodeURI(e));i.filter(a=>a.criteriaKey!==l);const o=(a,c)=>a[c];async function s(){await Promise.all(t.map(async a=>{a.completed=!0,await Promise.all(i.map(async c=>{const p=c.value.includes("{")?JSON.parse(c.value):c.value;p!==void 0&&typeof p=="object"?Yr.DataDate(c.criteriaKey,a,o,p):Yr.Data(c.criteriaKey,a,o,p)}))})),n(H.ElegibilityByCriteria(H.SelectedValueAll(t),r))}s()},Vm=async(e,t)=>{const n=r=>r.map(l=>{const i=l.benefit.eligibility.filter(c=>c.isEligible===!0),o=l.benefit.eligibility.filter(c=>c.isEligible===!1),s=l.benefit.eligibility.filter(c=>c.isEligible===void 0);return i.length===l.benefit.eligibility.length?t[0]:o.length===0&&s.length>0?t[1]:t[2]});try{const r=await n(e),l=(o,s)=>{const a=o.filter(c=>c===s);return{number:a.length,string:`${a.length}`}};return{eligibleBenefitCount:l(r,t[0]),moreInfoBenefitCount:l(r,t[1]),notEligibleBenefitCount:l(r,t[2])}}catch(r){console.error(r)}},H={BenefitsEligibilityCounts:Vm,Children:Im,ElegibilityByCriteria:Am,LifeEvent:$m,Language:Rm,Routes:Mm,SelectedValue:Dm,SelectedValueAll:Fm},Yr={Data:Bm,DataDate:zm,DataFromParams:Um},Fi={FindCriteria:Tm,DateEligibility:Pm,GetQueryParams:Om};var Mf={exports:{}},Hm="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",Wm=Hm,Km=Wm;function $f(){}function Df(){}Df.resetWarningCache=$f;var qm=function(){function e(r,l,i,o,s,a){if(a!==Km){var c=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw c.name="Invariant Violation",c}}e.isRequired=e;function t(){return e}var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:Df,resetWarningCache:$f};return n.PropTypes=n,n};Mf.exports=qm();var pa=Mf.exports;const C=yi(pa),ha=({className:e,children:t,alertFieldRef:n,heading:r,description:l,type:i,hasError:o,noBackground:s,tabIndex:a,errorCount:c,errorList:p,submissionCount:d})=>{const m=i==="error"?["bf-usa-alert","usa-alert","bf-usa-alert--error","usa-alert--error",`${o===!1?"display-none":""}`]:["bf-usa-alert","usa-alert","bf-usa-alert--info","usa-alert--info",`${s?"no-background":""}`];return E.useEffect(()=>{const{errors:y}=ie.dataLayerStructure;o&&p&&ie.dataLayerPush(window,{event:y.event,bfData:{errors:p.map(x=>x==null?void 0:x.id).join(","),errorCount:{number:c,string:`${c}`},formSuccess:!1}},!1)},[d]),u.jsx("div",{className:pt({className:e,defaultClasses:m}),role:"alert",ref:n,tabIndex:a||0,"aria-live":o===!0?"assertive":"polite","aria-hidden":o===void 0?!1:!o,"data-testid":"alert",children:t?u.jsx("div",{className:"bf-usa-alert__body usa-alert__body",children:u.jsx("div",{className:"bf-usa-alert__text usa-alert__text",children:t})}):u.jsxs("div",{className:"bf-usa-alert__body usa-alert__body",children:[u.jsxs(ee,{headingLevel:2,className:"bf-usa-alert__heading usa-alert__heading","data-testid":"bf-alert-heading",children:[r==null?void 0:r.prefix," ",c," ",r==null?void 0:r.suffix]}),u.jsx("p",{className:"bf-usa-alert__text usa-alert__text",children:l}),u.jsx("ul",{"data-testid":"bf-errors-list",children:p&&p.map(y=>u.jsx("li",{"data-testid":"bf-errors-list-item",children:u.jsx("a",{href:`#${y.id}`,children:y.getAttribute("data-errormessage")||y.id})},y.id))})]})})};ha.propTypes={className:C.string,children:C.any,alertFieldRef:C.any,heading:C.object,description:C.string,type:C.string,hasError:C.bool,noBackground:C.bool,tabIndex:C.number,errorCount:C.number};const Qm=e=>e&&typeof e=="object"&&e.nodeType===1;var Zm=(e,t)=>{if(typeof e!="string")return[];(!t||!Qm(t))&&(t=window.document);const n=t.querySelectorAll(e);return Array.prototype.slice.call(n)};/* object-assign (c) Sindre Sorhus @license MIT -*/var vu=Object.getOwnPropertySymbols,y0=Object.prototype.hasOwnProperty,w0=Object.prototype.propertyIsEnumerable;function x0(e){if(e==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}function S0(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de",Object.getOwnPropertyNames(e)[0]==="5")return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;var r=Object.getOwnPropertyNames(t).map(function(o){return t[o]});if(r.join("")!=="0123456789")return!1;var l={};return"abcdefghijklmnopqrst".split("").forEach(function(o){l[o]=o}),Object.keys(Object.assign({},l)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}var nf=S0()?Object.assign:function(e,t){for(var n,r=x0(e),l,o=1;o -1?e.split(yu).map(function(i){return lf({type:i},o)}):(o.type=e,[o])};var wu=function(e,t){var n=e[t];return delete e[t],n},T0=function(t,n){const r=Object.keys(t).reduce(function(l,o){var i=L0(o,t[o]);return l.concat(i)},[]);return lf({add:function(o){r.forEach(function(i){o.addEventListener(i.type,i.delegate,i.options)})},remove:function(o){r.forEach(function(i){o.removeEventListener(i.type,i.delegate,i.options)})}},n)};const O0=nf,M0=T0,xu=(...e)=>function(n=document.body){e.forEach(r=>{typeof this[r]=="function"&&this[r].call(this,n)})};var P0=(e,t)=>M0(e,O0({on:xu("init","add"),off:xu("teardown","remove")},t));const Su="aria-expanded",R0="aria-controls",Cu="hidden";var D0=(e,t)=>{let n=t;typeof n!="boolean"&&(n=e.getAttribute(Su)==="false"),e.setAttribute(Su,n);const r=e.getAttribute(R0),l=document.getElementById(r);if(!l)throw new Error(`No toggle target found with id: "${r}"`);return n?l.removeAttribute(Cu):l.setAttribute(Cu,""),n};function $0(e,t=window,n=document.documentElement){const r=e.getBoundingClientRect();return r.top>=0&&r.left>=0&&r.bottom<=(t.innerHeight||n.clientHeight)&&r.right<=(t.innerWidth||n.clientWidth)}var F0=$0,I0={CLICK:"click"},A0={prefix:"usa"};const of=g0,z0=P0,ku=D0,B0=F0,{CLICK:V0}=I0,{prefix:ro}=A0,lo=`.${ro}-accordion, .${ro}-accordion--bordered`,H0=`.${ro}-banner__button`,xr=`.${ro}-accordion__button[aria-controls]:not(${H0})`,Eu="aria-expanded",U0="data-allow-multiple",sf=e=>of(xr,e).filter(n=>n.closest(lo)===e),Sr=(e,t)=>{const n=e.closest(lo);let r=t;if(!n)throw new Error(`${xr} is missing outer ${lo}`);r=ku(e,t);const l=n.hasAttribute(U0);r&&!l&&sf(n).forEach(o=>{o!==e&&ku(o,!1)})},W0=e=>Sr(e,!0),K0=e=>Sr(e,!1),q0=z0({[V0]:{[xr](){Sr(this),this.getAttribute(Eu)==="true"&&(B0(this)||this.scrollIntoView())}}},{init(e){of(xr,e).forEach(t=>{const n=t.getAttribute(Eu)==="true";Sr(t,n)})},ACCORDION:lo,BUTTON:xr,show:W0,hide:K0,toggle:Sr,getButtons:sf});var Q0=q0;const _u=ao(Q0),af=({id:e,heading:t,subHeading:n,children:r,isExpanded:l,hidden:o,...i})=>{M.useEffect(()=>(_u.on(),()=>{_u.off()}));const[s,u]=M.useState(!1),{benefitAccordion:c}=se.dataLayerStructure,f=g=>{u(g),g===!0&&se.dataLayerPush(window,{event:c.event,bfData:{benefitTitle:t}},!1)};M.useEffect(()=>{u(l)},[l]);const m=()=>s?a.jsx(dt,{type:"close","aria-hidden":"true"}):a.jsx(dt,{type:"open","aria-hidden":"true"}),p=g=>g.replace(/ +/g,"-").toLowerCase();return a.jsxs("div",{className:"bf-usa-accordion usa-accordion",...i,hidden:o,children:[a.jsx("h4",{className:"bf-usa-accordion__heading usa-accordion__heading",children:a.jsxs("button",{type:"button",className:"bf-usa-accordion__button usa-accordion__button","aria-expanded":s||!1,"aria-controls":e&&p(e),onClick:()=>f(!s),children:[a.jsx("span",{className:"bf-accordion-heading",children:t}),a.jsx("br",{}),a.jsx("span",{className:"bf-accordion-sub-heading",children:n}),m()]})}),a.jsx("div",{id:e&&p(e),className:"bf-usa-accordion__content usa-accordion__content usa-prose",hidden:s||!0,children:a.jsx("div",{children:r})})]})};af.propTypes={id:y.string,heading:y.string,subHeading:y.string,description:y.string,children:y.node};const uf=({data:e,entryKey:t,expandAll:n,isExpandAll:r,setExpandAll:l,notEligibleView:o,ui:i})=>{const{benefitAccordion:s,benefitAccordionGroup:u}=i,{eligibleStatusLabels:c,agencyPrefix:f,visitLabel:m,unmetLabel:p,sourceIsEnglish:g}=s,{closedState:S,openState:x}=u,{benefitLink:b,openAllBenefitAccordions:h}=se.dataLayerStructure,d=r?`${x} -`:`${S} +`,v=L=>{se.dataLayerPush(window,{event:b.event,bfData:{benefitTitle:L}})},w=L=>{l(!L),se.dataLayerPush(window,{event:h.event,bfData:{accordionsOpen:!L}},!1)},E=()=>n&&a.jsx(Te,{className:"bf-expand-all","aria-label":d,outline:!0,onClick:()=>w(r),children:d}),N=({items:L})=>a.jsxs("div",{className:"bf-unmet-criteria-group",children:[a.jsx("div",{className:"bf-unmet-criteria-title",children:p}),a.jsx("ul",{className:"bf-unmet-criteria-list",children:L.map((B,R)=>{const{label:H}=B;return a.jsx("li",{className:"bf-unmet-criteria-item",children:H},`not-eligible-list-${R}`)})})]}),j=({items:L})=>a.jsxs("div",{className:"bf-unmet-criteria-group",children:[a.jsx("div",{className:"bf-unmet-criteria-title",children:c[1]}),a.jsx("ul",{className:"bf-unmet-criteria-list",children:L.map((B,R)=>{const{label:H}=B;return a.jsx("li",{className:"bf-unmet-criteria-item",children:H},`more-info-${R}`)})})]});return a.jsxs("div",{className:"bf-usa-accordion-group",children:[a.jsx(E,{}),e&&e.map((L,B)=>{const{agency:R,eligibility:H,SourceLink:ae,summary:Oe,title:D,SourceIsEnglish:F}=L[t],W=H.filter(I=>I.isEligible===!0),C=H.filter(I=>I.isEligible===!1),k=H.filter(I=>I.isEligible===void 0),O=W.length===H.length?c[0]:C.length===0&&k.length>0?c[1]:c[2],P=o===!1&&O!==c[0]?!0:o===!0&&O===c[0];return a.jsxs(af,{id:`${D}`,heading:D,subHeading:O,isExpanded:r,"data-analytics":"bf-usa-accordion","data-analytics-content":D,hidden:P,"data-testid":"benefit",children:[a.jsx(ee,{className:"bf-usa-detail-title",headingLevel:4,children:`${f} ${R.title}`}),a.jsx("div",{className:"bf-usa-detail-summary",dangerouslySetInnerHTML:jt(Oe)}),a.jsx(mf,{className:"bf-usa-criteria-list",data:W,initialEligibilityLength:H.length,ui:s}),C.length>0&&a.jsx(N,{items:C}),k.length>0&&a.jsx(j,{items:k}),a.jsx("div",{className:"bf-usa-accordion-group-cta-wrapper",children:a.jsxs(ta,{className:"bf-usa-link",href:ae,target:"_blank",rel:"noopener noreferrer",onClick:()=>v(D),"data-testid":"bf-benefit-link",noCarrot:!0,children:[m," ",R.title," ",g&&F===!0?g:""]})})]},`${B}-${D}`)})]})};uf.propTypes={data:y.array,entryKey:y.string,expandAll:y.bool,isExpandAll:y.bool,setExpandAll:y.func,notEligibleView:y.bool,ui:y.object};const mn={officerNavy:"#162e51",marine:"#1a4480",popBlue:"#005ea2",sky:"#d9e8f6",darkSky:"#b6dbfd",offBlack:"#1b1b1b",white:"#fff",bannerBlue:"#112f4e",grey:"#757575",mediumGrey:"#979797",darkMediumGrey:"#3d4551",baseGrey:"#dcdee0",baseLightGrey:"#f0f0f0",lightTeal:"#d2ebf1",pureBlack:"#000",electricBlue:"#0050d8",teal:"#00bde3",mediumTeal:"#ccecf2",darkTeal:"#0081a1",alertRed:"#b50909",greenCheck:"#009831"};function Te({children:e,className:t,onClick:n,secondary:r,outline:l,disabled:o,unstyled:i,type:s,icon:u,...c}){const[f,m]=M.useState(null),p=r===!0?"secondary":l===!0?"outline":i===!0?"unstyled":null,[g,S]=M.useState(!1),[x,b]=M.useState();return M.useEffect(()=>{b(g&&r||g&&i?mn.marine:mn.popBlue)},[g]),M.useEffect(()=>{switch(p){case"secondary":m(["bf-usa-button","usa-button","bf-usa-button--secondary","usa-button--secondary"]);break;case"outline":m(["bf-usa-button","usa-button","bf-usa-button--outline","usa-button--outline"]);break;case"unstyled":m(["bf-usa-button","usa-button","bf-usa-button--unstyled","usa-button--unstyled"]);break;default:m(["bf-usa-button","usa-button"])}},[p,r,i]),a.jsxs("button",{onClick:o?null:n,type:s||"button",disabled:o,"aria-disabled":o,className:ft({className:t,defaultClasses:f}),onMouseOver:()=>S(!0),onMouseLeave:()=>S(!1),"data-testid":c["data-testid"],id:c.id,children:[u&&a.jsx(dt,{type:u,color:x,"aria-hidden":"true"}),e]})}Te.propTypes={children:y.node,className:y.string,onClick:y.func,secondary:y.bool,disabled:y.bool,unstyled:y.bool,type:y.oneOf(["button","reset","download"]),icon:y.string};y.object,y.object;const cf=({className:e,title:t,body:n,cta:r,href:l,noCarrot:o,carrotType:i,icon:s,...u})=>{const c=s!==void 0?["bf-card-icon"]:"",f=["add-list-reset"],m=o===!0?null:a.jsx(dt,{type:i,color:"#162E51","aria-hidden":"true"}),p=s===void 0?null:a.jsx(dt,{type:s,className:"bf-relative-icon","aria-hidden":"true"});return a.jsx("li",{className:ft({className:e,defaultClasses:c,utilityClasses:f}),...u,children:a.jsxs("a",{className:"bf-usa-card__container usa-card__container",href:l,children:[p,a.jsx("div",{className:"bf-usa-card__header usa-card__header",children:a.jsx(ee,{className:"bf-usa-card__heading usa-card__heading",headingLevel:3,children:t})}),a.jsx("div",{className:"bf-usa-card__body usa-card__body",dangerouslySetInnerHTML:jt(n)}),a.jsx("div",{className:"bf-usa-card__cta usa-card__cta",children:r}),m]})},`${t}`)};cf.propTypes={className:y.string,title:y.string,body:y.string,href:y.string,noCarrot:y.bool,carrotType:y.string,icon:y.string};const Ys=({heading:e,description:t})=>a.jsx("div",{className:"bf-chevron",children:a.jsxs("div",{className:"bf-grid-container grid-container",children:[a.jsx(ee,{className:"bf-chevron-heading",headingLevel:1,children:e}),a.jsx("div",{className:"bf-chevron-description",dangerouslySetInnerHTML:jt(t)})]})});Ys.propTypes={heading:y.string,description:y.string};const df=({onChange:e,value:t,ui:n,parentLegend:r,id:l,invalid:o,errorMessage:i})=>{const{date:s,select:u,errorText:c}=n,{labelDay:f,labelMonth:m,labelYear:p,monthOptions:g}=s,{dateDefaultValue:S}=u,{suffix:x,prefix:b}=c,h=(v,w)=>v&&v.map(E=>E.id===w).includes(!0),d={month:i?`${i} : ${m.toLowerCase()}`:`${b} ${r==null?void 0:r.toLowerCase()} ${m.toLowerCase()} ${x}`,day:i?`${i} : ${f.toLowerCase()}`:`${b} ${r==null?void 0:r.toLowerCase()} ${f.toLowerCase()} ${x}`,year:i?`${i} : ${p.toLowerCase()}`:`${b} ${r==null?void 0:r.toLowerCase()} ${p.toLowerCase()} ${x}`};return a.jsxs(a.Fragment,{children:[a.jsxs("ul",{className:"add-list-reset",children:[h(o,`${l}_month`)&&a.jsx("li",{id:`month-error-description-${l}`,"data-testid":`month-error-description-${l}`,className:"bf-error-detail","aria-live":"assertive",children:d.month}),h(o,`${l}_day`)&&a.jsx("li",{id:`day-error-description-${l}`,"data-testid":`day-error-description-${l}`,className:"bf-error-detail","aria-live":"assertive",children:d.day}),h(o,`${l}_year`)&&a.jsx("li",{id:`year-error-description-${l}`,"data-testid":`year-error-description-${l}`,className:"bf-error-detail","aria-live":"assertive",children:d.year})]}),a.jsxs("div",{id:`bf-usa-memorable-date-${l}`,className:"bf-usa-memorable-date usa-memorable-date",children:[a.jsxs("div",{className:"bf-usa-form-group usa-form-group bf-usa-form-group--month usa-form-group--month bf-usa-form-group--select usa-form-group--select",children:[a.jsx("label",{className:"bf-usa-label usa-label",htmlFor:`${l}_month`,children:m}),a.jsx("div",{id:`${l}-month-description`,className:"usa-sr-only",children:"Select a month from the list"}),a.jsxs("select",{className:`bf-usa-select usa-select ${h(o,`${l}_month`)?"usa-input--error":""}`,id:`${l}_month`,name:`${l}_month`,"aria-describedby":`${l}-month-description`,value:t&&t.month||"",onChange:e,"aria-invalid":h(o,`${l}_month`),"data-errormessage":d.month,"aria-errormessage":`month-error-description-${l}`,"data-datetype":"month",children:[a.jsx("option",{value:"",children:S},"default"),g.map((v,w)=>a.jsx("option",{value:w,children:v.label},`${v.label}-${w}`))]})]}),a.jsxs("div",{className:"bf-usa-form-group usa-form-group bf-usa-form-group--day usa-form-group--day",children:[a.jsx("label",{className:"bf-usa-label usa-label",htmlFor:`${l}_day`,children:f}),a.jsx("div",{id:`${l}-day-description`,className:"usa-sr-only",children:"Enter two numerals for day"}),a.jsx("input",{className:`bf-usa-input usa-input ${h(o,`${l}_day`)?"usa-input--error":""}`,"aria-describedby":`${l}-day-description`,id:`${l}_day`,name:`${l}_day`,inputMode:"numeric",value:t&&t.day||"",onChange:e,"aria-invalid":h(o,`${l}_day`),"data-errormessage":d.day,"aria-errormessage":`day-error-description-${l}`,"data-datetype":"day"})]}),a.jsxs("div",{className:"bf-usa-form-group usa-form-group bf-usa-form-group--year usa-form-group--year",children:[a.jsx("label",{className:"bf-usa-label usa-label",htmlFor:`${l}_year`,children:p}),a.jsx("div",{id:`${l}-year-description`,className:"usa-sr-only",children:"Enter four numerals for year"}),a.jsx("input",{className:`bf-usa-input usa-input ${h(o,`${l}_year`)?"usa-input--error":""}`,"aria-describedby":`${l}-year-description`,id:`${l}_year`,name:`${l}_year`,inputMode:"numeric",value:t&&t.year||"",onChange:e,"aria-invalid":h(o,`${l}_year`),"data-errormessage":d.year,"aria-errormessage":`year-error-description-${l}`,"data-datetype":"year"})]})]})]})};df.propTypes={onChange:y.func,value:y.object,ui:y.object,id:y.string,invalid:y.oneOfType([y.bool,y.array])};const Z0=({ui:e,data:t})=>{const[n,r]=M.useState(()=>to(window.location.href,t)),l=`${encodeURIComponent(n)}`,o=i=>{i.preventDefault(),r(to(window.location.href,t)),window.location=`mailto:?subject=${e==null?void 0:e.emailSubject}&body=${l}`};return a.jsx("a",{href:"",className:"bf-email-trigger bf-usa-link usa-link",onClick:i=>o(i),children:(e==null?void 0:e.emailTrigger)||"Email"})},Tl=({children:e,legend:t,required:n,alertRef:r,requiredLabel:l,hidden:o,errorMessage:i,hint:s,className:u,id:c,invalid:f,ui:m})=>{const p=o!==void 0&&o?["display-none"]:"",g=[`bf-usa-fieldset usa-fieldset ${n===!0?"required-field":""} ${f===!0?"usa-input--error":""}`],S=p,{prefix:x,suffix:b}=m,d=n===!1?a.jsx(Zi,{children:t}):a.jsx(a.Fragment,{children:a.jsxs(Zi,{children:[t,a.jsx(pf,{requiredLabel:l})]})}),v=i?`${i}`:`${x} ${t&&t.toLowerCase().replace("?","")} ${b}`;return a.jsx("div",{className:"bf-fieldset-wrapper",children:a.jsxs("fieldset",{className:ft({className:u,defaultClasses:g,utilityClasses:S}),ref:r,required:n===!0,id:c,"data-errormessage":v,hidden:o,"aria-hidden":o,children:[t&&d,f===!0&&a.jsx("div",{id:`error-description-${c}`,"data-testid":`error-description-${c}`,className:"bf-error-detail","aria-live":"assertive",children:v}),s&&a.jsx("div",{className:"bf-hint",children:s}),e]})})};Tl.propTypes={children:y.node,legend:y.string,alertRef:y.any,requiredLabel:y.object,hidden:y.bool,hint:y.string,className:y.string,invalid:y.bool,ui:y.object};function ff({children:e}){return a.jsx("form",{className:"bf-usa-form",children:a.jsx("div",{className:"bf-grid-contianer grid-container",children:e})})}ff.propTypes={children:y.node};const ee=({children:e,className:t,headingLevel:n,...r})=>{const l=[""],o=`h${n}`;return a.jsx(o,{className:ft({className:t,defaultClasses:l}),id:n===1?"skip-to-h1":null,...r,"aria-level":n,role:"heading",children:e})};ee.propTypes={children:y.oneOfType([y.string,y.array]),className:y.string,headingLevel:y.number};const pf=({requiredLabel:e})=>a.jsx("span",{title:"required",className:"bf-usa-hint usa-hint usa-hint--required bf-usa-hint--required bf-required required",children:`(${(e==null?void 0:e.value)||"Required"})`});pf.propTypes={requiredLabel:y.object};const G0=()=>a.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 44.31 44.31",children:[a.jsxs("g",{id:"Layer_1","data-name":"Layer 1",children:[a.jsxs("g",{children:[a.jsx("path",{className:"cls-1",fill:"#e8f6fb",strokeWidth:"0px",d:"M22.16,40.85c-10.33,0-18.7-8.37-18.7-18.7S11.83,3.46,22.16,3.46c7.55,0,14.06,4.48,17.01,10.93.08.18.16.37.24.55.93,2.22,1.44,4.66,1.44,7.22,0,10.33-8.37,18.7-18.7,18.7Z"}),a.jsx("path",{className:"cls-4",fill:"#e7f6fb",strokeWidth:"0px",d:"M22.16,39.34c-9.49,0-17.19-7.69-17.19-17.19S12.66,4.97,22.16,4.97c7,0,13.03,4.19,15.71,10.2.95,2.14,1.48,4.5,1.48,6.99,0,9.49-7.69,17.19-17.19,17.19Z"})]}),a.jsxs("g",{children:[a.jsx("circle",{className:"cls-2",fill:"#1a1a1a",strokeWidth:"0px",cx:"22.01",cy:"3.63",r:"3.55"}),a.jsx("circle",{className:"cls-3",fill:"#00c0e7",strokeWidth:"0px",cx:"22.01",cy:"3.63",r:"2.49"})]}),a.jsx("path",{className:"cls-2",fill:"#1a1a1a",strokeWidth:"0px",d:"M40.55,12.43l-1.46.59c-2.11-3.91-5.56-6.99-9.75-8.6v1.63c3.55,1.51,6.49,4.18,8.34,7.54l-1.55.63c-.17.07-.19.29-.05.4l3.66,2.66c.14.1.33.02.36-.15l.77-4.46c.03-.18-.15-.32-.31-.25Z"}),a.jsxs("g",{children:[a.jsx("circle",{className:"cls-2",fill:"#1a1a1a",strokeWidth:"0px",cx:"40.43",cy:"22.08",r:"3.55"}),a.jsx("circle",{className:"cls-3",fill:"#00c0e7",strokeWidth:"0px",cx:"40.43",cy:"22.08",r:"2.49"})]}),a.jsx("path",{className:"cls-2",fill:"#1a1a1a",strokeWidth:"0px",d:"M31.63,40.86l-.59-1.46c3.91-2.11,6.99-5.56,8.6-9.75h-1.63c-1.51,3.55-4.18,6.49-7.54,8.34l-.63-1.55c-.07-.17-.29-.19-.4-.05l-2.66,3.66c-.1.14-.02.33.15.36l4.46.77c.18.03.32-.15.25-.31Z"}),a.jsxs("g",{children:[a.jsx("circle",{className:"cls-2",fill:"#1a1a1a",strokeWidth:"0px",cx:"22.01",cy:"40.53",r:"3.55"}),a.jsx("circle",{className:"cls-3",fill:"#00c0e7",strokeWidth:"0px",cx:"22.01",cy:"40.53",r:"2.49"})]}),a.jsx("path",{className:"cls-2",fill:"#1a1a1a",strokeWidth:"0px",d:"M3.48,31.73l1.46-.59c2.11,3.91,5.56,6.99,9.75,8.6v-1.63c-3.55-1.51-6.49-4.18-8.34-7.54l1.55-.63c.17-.07.19-.29.05-.4l-3.66-2.66c-.14-.1-.33-.02-.36.15l-.77,4.46c-.03.18.15.32.31.25Z"}),a.jsxs("g",{children:[a.jsx("circle",{className:"cls-2",fill:"#1a1a1a",strokeWidth:"0px",cx:"3.6",cy:"22.08",r:"3.55"}),a.jsx("circle",{className:"cls-3",fill:"#00c0e7",strokeWidth:"0px",cx:"3.6",cy:"22.08",r:"2.49"})]}),a.jsx("path",{className:"cls-2",fill:"#1a1a1a",strokeWidth:"0px",d:"M12.4,3.31l.59,1.46c-3.91,2.11-6.99,5.56-8.6,9.75h1.63c1.51-3.55,4.18-6.49,7.54-8.34l.63,1.55c.07.17.29.19.4.05l2.66-3.66c.1-.14.02-.33-.15-.36l-4.46-.77c-.18-.03-.32.15-.25.31Z"}),a.jsxs("g",{children:[a.jsx("path",{className:"cls-2",fill:"#1a1a1a",strokeWidth:"0px",d:"M24.12,23.21l-.04-4.46c.16,0,.32-.02.47-.03,1.7-.13,3.11-1.33,3.52-2.97l.37-1.48c.13-.53-.19-1.06-.71-1.19-.52-.13-1.06.19-1.19.71l-.37,1.48c-.21.83-.92,1.43-1.78,1.49-.8.06-1.7.1-2.67.1-.25,0-.51,0-.77.02-2.01.12-3.72,1.49-4.24,3.42l-.64,2.32c-.14.52.17,1.06.69,1.2.09.02.17.04.26.04.43,0,.83-.29.95-.72l.64-2.32c.13-.49.41-.91.76-1.25l-.03,3.64-.98,7.25c-.08.6.34,1.15.93,1.22.05,0,.1,0,.15,0,.54,0,1.01-.4,1.08-.94l.95-7.05h.5l.95,7.05c.07.55.54.94,1.08.94.05,0,.1,0,.15,0,.6-.08,1.02-.63.93-1.22l-.97-7.25Z"}),a.jsx("path",{className:"cls-2",fill:"#1a1a1a",strokeWidth:"0px",d:"M21.74,16.72c1.2,0,2.18-.98,2.18-2.18s-.98-2.18-2.18-2.18-2.18.98-2.18,2.18c0,1.2.98,2.18,2.18,2.18Z"})]})]}),a.jsxs("g",{id:"Layer_1_copy_3","data-name":"Layer 1 copy 3",children:[a.jsxs("g",{children:[a.jsx("path",{className:"cls-5",fill:"#fff",strokeWidth:"0px",d:"M22.16,40.85c-10.33,0-18.7-8.37-18.7-18.7S11.83,3.46,22.16,3.46c7.55,0,14.06,4.48,17.01,10.93.08.18.16.37.24.55.93,2.22,1.44,4.66,1.44,7.22,0,10.33-8.37,18.7-18.7,18.7Z"}),a.jsx("path",{className:"cls-4",fill:"#e7f6fb",strokeWidth:"0px",d:"M22.16,36.47c-7.91,0-14.32-6.41-14.32-14.32s6.41-14.32,14.32-14.32c5.83,0,10.85,3.49,13.08,8.49.79,1.78,1.23,3.75,1.23,5.82,0,7.91-6.41,14.32-14.32,14.32Z"})]}),a.jsxs("g",{children:[a.jsx("circle",{className:"cls-2",fill:"#1a1a1a",strokeWidth:"0px",cx:"22.01",cy:"3.63",r:"3.55"}),a.jsx("circle",{className:"cls-3",fill:"#00c0e7",strokeWidth:"0px",cx:"22.01",cy:"3.63",r:"2.49"})]}),a.jsx("path",{className:"cls-2",fill:"#1a1a1a",strokeWidth:"0px",d:"M40.55,12.43l-1.46.59c-2.11-3.91-5.56-6.99-9.75-8.6v1.63c3.55,1.51,6.49,4.18,8.34,7.54l-1.55.63c-.17.07-.19.29-.05.4l3.66,2.66c.14.1.33.02.36-.15l.77-4.46c.03-.18-.15-.32-.31-.25Z"}),a.jsxs("g",{children:[a.jsx("circle",{className:"cls-2",fill:"#1a1a1a",strokeWidth:"0px",cx:"40.43",cy:"22.08",r:"3.55"}),a.jsx("circle",{className:"cls-3",fill:"#00c0e7",strokeWidth:"0px",cx:"40.43",cy:"22.08",r:"2.49"})]}),a.jsx("path",{className:"cls-2",fill:"#1a1a1a",strokeWidth:"0px",d:"M31.63,40.86l-.59-1.46c3.91-2.11,6.99-5.56,8.6-9.75h-1.63c-1.51,3.55-4.18,6.49-7.54,8.34l-.63-1.55c-.07-.17-.29-.19-.4-.05l-2.66,3.66c-.1.14-.02.33.15.36l4.46.77c.18.03.32-.15.25-.31Z"}),a.jsxs("g",{children:[a.jsx("circle",{className:"cls-2",fill:"#1a1a1a",strokeWidth:"0px",cx:"22.01",cy:"40.53",r:"3.55"}),a.jsx("circle",{className:"cls-3",fill:"#00c0e7",strokeWidth:"0px",cx:"22.01",cy:"40.53",r:"2.49"})]}),a.jsx("path",{className:"cls-2",fill:"#1a1a1a",strokeWidth:"0px",d:"M3.48,31.73l1.46-.59c2.11,3.91,5.56,6.99,9.75,8.6v-1.63c-3.55-1.51-6.49-4.18-8.34-7.54l1.55-.63c.17-.07.19-.29.05-.4l-3.66-2.66c-.14-.1-.33-.02-.36.15l-.77,4.46c-.03.18.15.32.31.25Z"}),a.jsxs("g",{children:[a.jsx("circle",{className:"cls-2",fill:"#1a1a1a",strokeWidth:"0px",cx:"3.6",cy:"22.08",r:"3.55"}),a.jsx("circle",{className:"cls-3",fill:"#00c0e7",strokeWidth:"0px",cx:"3.6",cy:"22.08",r:"2.49"})]}),a.jsx("path",{className:"cls-2",fill:"#1a1a1a",strokeWidth:"0px",d:"M12.4,3.31l.59,1.46c-3.91,2.11-6.99,5.56-8.6,9.75h1.63c1.51-3.55,4.18-6.49,7.54-8.34l.63,1.55c.07.17.29.19.4.05l2.66-3.66c.1-.14.02-.33-.15-.36l-4.46-.77c-.18-.03-.32.15-.25.31Z"})]}),a.jsx("g",{id:"dude",children:a.jsxs("g",{children:[a.jsx("path",{className:"cls-2",fill:"#1a1a1a",strokeWidth:"0px",d:"M24.12,23.21l-.04-4.46c.16,0,.32-.02.47-.03,1.7-.13,3.11-1.33,3.52-2.97l.37-1.48c.13-.53-.19-1.06-.71-1.19-.52-.13-1.06.19-1.19.71l-.37,1.48c-.21.83-.92,1.43-1.78,1.49-.8.06-1.7.1-2.67.1-.25,0-.51,0-.77.02-2.01.12-3.72,1.49-4.24,3.42l-.64,2.32c-.14.52.17,1.06.69,1.2.09.02.17.04.26.04.43,0,.83-.29.95-.72l.64-2.32c.13-.49.41-.91.76-1.25l-.03,3.64-.98,7.25c-.08.6.34,1.15.93,1.22.05,0,.1,0,.15,0,.54,0,1.01-.4,1.08-.94l.95-7.05h.5l.95,7.05c.07.55.54.94,1.08.94.05,0,.1,0,.15,0,.6-.08,1.02-.63.93-1.22l-.97-7.25Z"}),a.jsx("path",{className:"cls-2",fill:"#1a1a1a",strokeWidth:"0px",d:"M21.74,16.72c1.2,0,2.18-.98,2.18-2.18s-.98-2.18-2.18-2.18-2.18.98-2.18,2.18c0,1.2.98,2.18,2.18,2.18Z"})]})})]}),Y0=({color:e})=>a.jsx("svg",{className:"bf-carrot",width:"12",height:"19",viewBox:"0 0 12 19",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:a.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M3.78013 1.73698C3.33373 1.29058 2.60998 1.29059 2.16359 1.73698L1.74049 2.16007C1.29444 2.60612 1.29405 3.32919 1.73961 3.77573L6.7498 8.79686C7.19502 9.24305 7.19502 9.96544 6.7498 10.4116L1.73961 15.4328C1.29405 15.8793 1.29444 16.6024 1.7405 17.0484L2.16359 17.4715C2.60998 17.9179 3.33373 17.9179 3.78013 17.4715L10.8391 10.4125C11.2855 9.96612 11.2855 9.24237 10.8391 8.79597L3.78013 1.73698Z",fill:e||mn.officerNavy})}),X0=({color:e})=>a.jsxs("svg",{className:"bf-carrot-solid",xmlns:"http://www.w3.org/2000/svg",height:"24",viewBox:"0 0 24 24",width:"24",fill:e||mn.white,children:[a.jsx("path",{d:"M0 0h24v24H0z",fill:"none"}),a.jsx("path",{d:"M7 10l5 5 5-5z"})]}),J0=({color:e})=>a.jsxs("svg",{className:"bf-close",xmlns:"http://www.w3.org/2000/svg",height:"24",viewBox:"0 0 24 24",width:"24",children:[a.jsx("path",{d:"M0 0h24v24H0z",fill:"none"}),a.jsx("path",{d:"M19 13H5v-2h14v2z",fill:e||mn.black})]}),em=()=>a.jsxs("svg",{className:"bf-death",width:"45",height:"45",viewBox:"0 0 45 45",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M20.1501 6.87479C20.1501 9.34031 18.1533 11.3388 15.6903 11.3388C13.2273 11.3388 11.2309 9.34031 11.2309 6.87479C11.2309 4.40927 13.2273 2.4104 15.6903 2.4104C18.1533 2.4104 20.1501 4.40927 20.1501 6.87479ZM8.94118 13.9881C8.97531 13.7489 9.18017 13.5712 9.42182 13.5712H21.8969C22.0106 13.5712 22.1206 13.6111 22.2079 13.6839L22.6929 14.0884L28.6272 19.0387C28.7145 19.1115 28.8246 19.1514 28.9382 19.1514H37.5777C37.8151 19.1514 38.0176 19.323 38.0566 19.5572L40.1247 31.979C40.1739 32.2749 39.9457 32.5442 39.6458 32.5442H37.3595C37.0914 32.5442 36.874 32.7616 36.874 33.0297V42.1033C36.874 42.3714 36.6567 42.5888 36.3885 42.5888H32.8998C32.6316 42.5888 32.4143 42.3714 32.4143 42.1033V29.6815C32.4143 29.4134 32.6316 29.196 32.8998 29.196H34.0713C34.3713 29.196 34.5995 28.9267 34.5502 28.6307L33.9758 25.1807L33.7429 23.6286C33.7418 23.6213 33.7355 23.6158 33.728 23.6158C33.7206 23.6158 33.7143 23.6105 33.7131 23.6032L33.5969 22.9053C33.5579 22.6712 33.3553 22.4996 33.118 22.4996H25.9029C25.7879 22.4996 25.6767 22.4588 25.589 22.3844L20.5939 18.1504C20.5062 18.076 20.3949 18.0352 20.2799 18.0352H13.6883C13.4389 18.0352 13.23 18.2242 13.2052 18.4725L12.6333 24.1978C12.6047 24.4836 12.8291 24.7316 13.1164 24.7316H14.0905C14.3586 24.7316 14.576 24.949 14.576 25.2171V42.1035C14.576 42.3716 14.3586 42.589 14.0905 42.589H10.6017C10.3336 42.589 10.1162 42.3716 10.1162 42.1035V29.6817C10.1162 29.4135 9.89885 29.1962 9.63071 29.1962H7.33117C7.03575 29.1962 6.80881 28.9346 6.85053 28.6421L8.94118 13.9881ZM21.2653 25.2167C21.2653 24.9486 21.0479 24.7312 20.7798 24.7312H17.291C17.0229 24.7312 16.8055 24.9486 16.8055 25.2167V42.1031C16.8055 42.3712 17.0229 42.5886 17.291 42.5886H20.7798C21.0479 42.5886 21.2653 42.3712 21.2653 42.1031V25.2167ZM25.7247 25.2167C25.7247 24.9486 25.9421 24.7312 26.2102 24.7312H29.699C29.9671 24.7312 30.1845 24.9486 30.1845 25.2167V42.1031C30.1845 42.3712 29.9671 42.5886 29.699 42.5886H26.2102C25.9421 42.5886 25.7247 42.3712 25.7247 42.1031V25.2167ZM35.7589 12.4548C35.7589 14.9203 33.7625 16.9192 31.2995 16.9192C28.8365 16.9192 26.8397 14.9203 26.8397 12.4548C26.8397 9.98928 28.8365 7.99041 31.2995 7.99041C33.7625 7.99041 35.7589 9.98928 35.7589 12.4548Z",fill:"#E9F6FB",stroke:"#1B1B1B",strokeWidth:"2.77965"}),a.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M20.1501 6.87479C20.1501 9.34031 18.1533 11.3388 15.6903 11.3388C13.2273 11.3388 11.2309 9.34031 11.2309 6.87479C11.2309 4.40927 13.2273 2.4104 15.6903 2.4104C18.1533 2.4104 20.1501 4.40927 20.1501 6.87479ZM8.94118 13.9881C8.97531 13.7489 9.18017 13.5712 9.42182 13.5712H21.8969C22.0106 13.5712 22.1206 13.6111 22.2079 13.6839L22.6929 14.0884L28.6272 19.0387C28.7145 19.1115 28.8246 19.1514 28.9382 19.1514H37.5777C37.8151 19.1514 38.0177 19.323 38.0566 19.5572L40.1247 31.979C40.1739 32.2749 39.9457 32.5442 39.6458 32.5442H37.3595C37.0914 32.5442 36.874 32.7616 36.874 33.0297V42.1033C36.874 42.3714 36.6567 42.5888 36.3885 42.5888H32.8998C32.6316 42.5888 32.4143 42.3714 32.4143 42.1033V29.6815C32.4143 29.4134 32.6316 29.196 32.8998 29.196H34.0713C34.3713 29.196 34.5995 28.9267 34.5502 28.6307L33.9758 25.1807L33.7429 23.6286C33.7418 23.6213 33.7355 23.6158 33.728 23.6158C33.7206 23.6158 33.7143 23.6105 33.7131 23.6032L33.5969 22.9053C33.5579 22.6712 33.3553 22.4996 33.118 22.4996H25.9029C25.7879 22.4996 25.6767 22.4588 25.589 22.3844L20.5939 18.1504C20.5062 18.076 20.3949 18.0352 20.2799 18.0352H13.6883C13.4389 18.0352 13.23 18.2242 13.2052 18.4725L12.6333 24.1978C12.6047 24.4836 12.8291 24.7316 13.1164 24.7316H14.0905C14.3586 24.7316 14.576 24.949 14.576 25.2171V42.1035C14.576 42.3716 14.3586 42.589 14.0905 42.589H10.6017C10.3336 42.589 10.1162 42.3716 10.1162 42.1035V29.6817C10.1162 29.4135 9.89885 29.1962 9.63071 29.1962H7.33117C7.03575 29.1962 6.80881 28.9346 6.85053 28.6421L8.94118 13.9881ZM21.2653 25.2167C21.2653 24.9486 21.0479 24.7312 20.7798 24.7312H17.291C17.0229 24.7312 16.8055 24.9486 16.8055 25.2167V42.1031C16.8055 42.3712 17.0229 42.5886 17.291 42.5886H20.7798C21.0479 42.5886 21.2653 42.3712 21.2653 42.1031V25.2167ZM25.7247 25.2167C25.7247 24.9486 25.9421 24.7312 26.2102 24.7312H29.699C29.9671 24.7312 30.1845 24.9486 30.1845 25.2167V42.1031C30.1845 42.3712 29.9671 42.5886 29.699 42.5886H26.2102C25.9421 42.5886 25.7247 42.3712 25.7247 42.1031V25.2167ZM35.7589 12.4548C35.7589 14.9203 33.7625 16.9192 31.2995 16.9192C28.8365 16.9192 26.8397 14.9203 26.8397 12.4548C26.8397 9.98928 28.8365 7.99041 31.2995 7.99041C33.7625 7.99041 35.7589 9.98928 35.7589 12.4548Z",fill:"white",stroke:"#00C1E7",strokeWidth:"0.571814"})]}),tm=({color:e})=>a.jsx("svg",{width:"20",height:"16",viewBox:"0 0 20 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:a.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M18 0.000244141H2C0.9 0.000244141 0.00999999 0.900244 0.00999999 2.00024L0 14.0002C0 15.1002 0.9 16.0002 2 16.0002H18C19.1 16.0002 20 15.1002 20 14.0002V2.00024C20 0.900244 19.1 0.000244141 18 0.000244141ZM18 14.0002H2V4.00024L10 9.00024L18 4.00024V14.0002ZM10 7.00024L2 2.00024H18L10 7.00024Z",fill:e||mn.popBlue})}),nm=()=>a.jsxs("svg",{width:"45",height:"45",viewBox:"0 0 45 45",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("path",{d:"M29.2857 9.5335C31.4805 9.5335 33.2598 7.75908 33.2598 5.57022C33.2598 3.38136 31.4805 1.60693 29.2857 1.60693C27.0908 1.60693 25.3115 3.38136 25.3115 5.57022C25.3115 7.75908 27.0908 9.5335 29.2857 9.5335Z",fill:"#E9F6FB",stroke:"#1A1A1A",strokeWidth:"1.34304",strokeMiterlimit:"10"}),a.jsx("path",{d:"M31.1129 34.0346C31.1129 33.6064 30.7661 33.2593 30.3382 33.2593C29.9103 33.2593 29.5635 33.6064 29.5635 34.0346V42.3786C29.5635 42.8068 29.9103 43.1539 30.3382 43.1539C30.7661 43.1539 31.1129 42.8068 31.1129 42.3786V34.0346Z",fill:"#1A1A1A"}),a.jsx("path",{d:"M29.8281 42.2474V42.5131C29.8281 42.8664 30.1153 43.1528 30.4696 43.1528H35.1777C35.532 43.1528 35.8193 42.8664 35.8193 42.5131V42.2474C35.8193 41.8941 35.532 41.6076 35.1777 41.6076H30.4696C30.1153 41.6076 29.8281 41.8941 29.8281 42.2474Z",fill:"#1A1A1A"}),a.jsx("path",{d:"M19.0432 44.1969C26.0392 44.1969 31.7105 38.5411 31.7105 31.5643C31.7105 24.5875 26.0392 18.9316 19.0432 18.9316C12.0473 18.9316 6.37598 24.5875 6.37598 31.5643C6.37598 38.5411 12.0473 44.1969 19.0432 44.1969Z",fill:"#010101"}),a.jsx("path",{d:"M36.3958 22.9921L29.7469 22.4553L31.8835 14.827C32.1988 13.6938 31.6497 12.5173 30.6385 12.0077C30.5026 11.9318 30.3558 11.8667 30.1927 11.8233L21.1027 9.29139C20.7276 9.18838 20.347 9.19922 19.9936 9.29681C19.6892 9.34561 19.3956 9.46488 19.1401 9.67091L12.8934 14.6535C12.1051 15.2824 11.9801 16.4372 12.6053 17.218C13.2359 18.0041 14.3939 18.1288 15.1768 17.5053L20.0045 13.6505L21.8693 14.1709L17.857 21.7559C17.2318 22.9379 17.6885 24.4126 18.8737 25.0361L22.5488 26.9662C23.3154 27.3674 24.207 27.3186 24.9083 26.912L25.3867 27.0421C25.7673 27.5463 26.349 27.8933 27.0286 27.9475L33.1991 28.4463L32.4326 37.8801C32.3184 39.2573 33.3568 40.4772 34.7431 40.5856C36.124 40.6994 37.3472 39.6639 37.456 38.2814L38.44 26.1801C38.44 26.1313 38.44 26.0771 38.44 26.0283L38.4889 25.4319C38.5922 24.1794 37.6463 23.0734 36.3904 22.9704L36.3958 22.9921Z",fill:"#E9F6FB",stroke:"#1A1A1A",strokeWidth:"1.34304",strokeMiterlimit:"10"}),a.jsx("path",{d:"M19.0442 41.7672C24.695 41.7672 29.2758 37.1989 29.2758 31.5636C29.2758 25.9282 24.695 21.3599 19.0442 21.3599C13.3934 21.3599 8.8125 25.9282 8.8125 31.5636C8.8125 37.1989 13.3934 41.7672 19.0442 41.7672Z",fill:"#E9F6FB"}),a.jsx("path",{d:"M19.0425 42.3136C24.9965 42.3136 29.8233 37.5001 29.8233 31.5623C29.8233 25.6245 24.9965 20.811 19.0425 20.811C13.0884 20.811 8.26172 25.6245 8.26172 31.5623C8.26172 37.5001 13.0884 42.3136 19.0425 42.3136Z",stroke:"#00C0E4",strokeWidth:"1.03146",strokeMiterlimit:"10"}),a.jsx("path",{d:"M19.0426 39.4948C23.4353 39.4948 26.9963 35.9436 26.9963 31.5628C26.9963 27.1821 23.4353 23.6309 19.0426 23.6309C14.6499 23.6309 11.0889 27.1821 11.0889 31.5628C11.0889 35.9436 14.6499 39.4948 19.0426 39.4948Z",fill:"white",stroke:"#1A1A1A",strokeWidth:"1.07443",strokeMiterlimit:"10"})]}),rm=({color:e})=>a.jsx("svg",{className:"bf-checkmark--green",width:"24",height:"20",viewBox:"0 0 24 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:a.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M24 4.15417C23.9925 4.52794 23.8515 4.88618 23.6033 5.16208L12.2975 16.6522L10.1157 18.8696C9.84423 19.1219 9.49174 19.2651 9.12397 19.2727C8.7562 19.2651 8.40371 19.1219 8.13223 18.8696L5.95041 16.6522L0.396694 11.0079C0.148478 10.732 0.00748054 10.3738 0 10C0.00748054 9.62626 0.148478 9.26802 0.396694 8.99212L2.57851 6.77473C2.84999 6.52246 3.20248 6.37917 3.57025 6.37156C3.93802 6.37917 4.29051 6.52246 4.56198 6.77473L9.12397 11.4111L19.2397 1.13046C19.5111 0.878193 19.8636 0.734897 20.2314 0.727295C20.5992 0.734897 20.9517 0.878193 21.2231 1.13046L23.405 3.34785C23.8017 3.54943 24 3.75101 24 4.15417Z",fill:e||mn.greenCheck})}),lm=()=>a.jsx("svg",{className:"bf-info",width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:a.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M6.33594 3.66732H7.66927V5.00065H6.33594V3.66732ZM6.33594 6.33398H7.66927V10.334H6.33594V6.33398ZM7.0026 0.333984C3.3226 0.333984 0.335938 3.32065 0.335938 7.00065C0.335938 10.6807 3.3226 13.6673 7.0026 13.6673C10.6826 13.6673 13.6693 10.6807 13.6693 7.00065C13.6693 3.32065 10.6826 0.333984 7.0026 0.333984ZM7.0026 12.334C4.0626 12.334 1.66927 9.94065 1.66927 7.00065C1.66927 4.06065 4.0626 1.66732 7.0026 1.66732C9.9426 1.66732 12.3359 4.06065 12.3359 7.00065C12.3359 9.94065 9.9426 12.334 7.0026 12.334Z",fill:"#1B1B1B"})}),om=()=>a.jsxs("svg",{className:"bf-modal-close",xmlns:"http://www.w3.org/2000/svg",height:"24",viewBox:"0 0 24 24",width:"24",children:[a.jsx("path",{d:"M0 0h24v24H0z",fill:"none"}),a.jsx("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"})]}),im=()=>a.jsxs("svg",{className:"bf-open",xmlns:"http://www.w3.org/2000/svg",height:"24",viewBox:"0 0 24 24",width:"24",children:[a.jsx("path",{d:"M0 0h24v24H0z",fill:"none"}),a.jsx("path",{fill:"none",d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"})]}),sm=()=>a.jsxs("svg",{width:"45",height:"45",viewBox:"0 0 45 45",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("path",{d:"M40.2696 1.60693H6.37598V43.3926H40.2696V1.60693Z",fill:"#DFEFF4",stroke:"#191919",strokeWidth:"1.1566",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M19.2757 9.08496H12.9048C12.4714 9.08496 12.1201 9.43563 12.1201 9.86819V14.6747C12.1201 15.1073 12.4714 15.4579 12.9048 15.4579H19.2757C19.7091 15.4579 20.0604 15.1073 20.0604 14.6747V9.86819C20.0604 9.43563 19.7091 9.08496 19.2757 9.08496Z",fill:"#05BBE2"}),a.jsx("path",{d:"M19.2757 19.314H12.9048C12.4714 19.314 12.1201 19.6646 12.1201 20.0972V24.9037C12.1201 25.3363 12.4714 25.6869 12.9048 25.6869H19.2757C19.7091 25.6869 20.0604 25.3363 20.0604 24.9037V20.0972C20.0604 19.6646 19.7091 19.314 19.2757 19.314Z",fill:"#05BBE2"}),a.jsx("path",{d:"M19.2757 29.5415H12.9048C12.4714 29.5415 12.1201 29.8922 12.1201 30.3247V35.1312C12.1201 35.5638 12.4714 35.9145 12.9048 35.9145H19.2757C19.7091 35.9145 20.0604 35.5638 20.0604 35.1312V30.3247C20.0604 29.8922 19.7091 29.5415 19.2757 29.5415Z",fill:"#05BBE2"}),a.jsx("path",{d:"M14.8369 11.9099L16.1581 13.2287L21.1878 9.08496",stroke:"#191919",strokeWidth:"1.1566",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M23.5391 11.0723H34.5307",stroke:"#05BBE2",strokeWidth:"1.1566",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M23.5391 13.4648H34.5307",stroke:"#05BBE2",strokeWidth:"1.1566",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M23.5391 21.3071H34.5307",stroke:"#05BBE2",strokeWidth:"1.1566",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M23.5391 23.6904H34.5307",stroke:"#05BBE2",strokeWidth:"1.1566",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M23.5391 31.5381H34.5307",stroke:"#05BBE2",strokeWidth:"1.1566",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M23.5391 33.9214H34.5307",stroke:"#05BBE2",strokeWidth:"1.1566",strokeLinecap:"round",strokeLinejoin:"round"})]}),am=({color:e})=>a.jsx("svg",{width:"18",height:"20",viewBox:"0 0 18 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:a.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M15 14.1203C14.24 14.1203 13.56 14.4203 13.04 14.8903L5.91 10.7403C5.96 10.5103 6 10.2803 6 10.0403C6 9.80028 5.96 9.57028 5.91 9.34028L12.96 5.23028C13.5 5.73028 14.21 6.04028 15 6.04028C16.66 6.04028 18 4.70028 18 3.04028C18 1.38028 16.66 0.0402832 15 0.0402832C13.34 0.0402832 12 1.38028 12 3.04028C12 3.28028 12.04 3.51028 12.09 3.74028L5.04 7.85028C4.5 7.35028 3.79 7.04028 3 7.04028C1.34 7.04028 0 8.38028 0 10.0403C0 11.7003 1.34 13.0403 3 13.0403C3.79 13.0403 4.5 12.7303 5.04 12.2303L12.16 16.3903C12.11 16.6003 12.08 16.8203 12.08 17.0403C12.08 18.6503 13.39 19.9603 15 19.9603C16.61 19.9603 17.92 18.6503 17.92 17.0403C17.92 15.4303 16.61 14.1203 15 14.1203Z",fill:e||"#005EA2"})}),dt=({type:e,color:t,...n})=>{let r;switch(e){case"all_benefits":r=a.jsx(G0,{});break;case"carrot-solid":r=a.jsx(X0,{color:t});break;case"carrot":r=a.jsx(Y0,{color:t});break;case"close":r=a.jsx(J0,{});break;case"death":r=a.jsx(em,{});break;case"disability":r=a.jsx(nm,{});break;case"email":r=a.jsx(tm,{color:t});break;case"green-check":r=a.jsx(rm,{color:t});break;case"info":r=a.jsx(lm,{color:t});break;case"open":r=a.jsx(im,{});break;case"modal-close":r=a.jsx(om,{color:t});break;case"retirement":r=a.jsx(sm,{});break;case"share":r=a.jsx(am,{color:t});break;default:r=null}return a.jsx("i",{...n,"data-testid":`icon-${e}`,children:r})};dt.propTypes={type:y.string,color:y.string,props:y.any};const hf=({data:e,ui:t,setStep:n,step:r})=>{const{timeEstimate:l,title:o,summary:i}=e,{heading:s,timeIndicator:u,steps:c,notices:f,button:m}=t,{intro:p}=se.dataLayerStructure,g=Gr(),S=()=>{n(r+1),g.current.focus()};return Zr({pageView:p.bfData.pageView}),M.useEffect(()=>{se.dataLayerPush(window,{event:p.event,bfData:{pageView:p.bfData.pageView,viewTitle:o}})},[]),e&&a.jsxs("div",{className:"bf-intro",children:[a.jsx(Ys,{heading:o,description:i}),a.jsxs("div",{className:"bf-grid-container grid-container",children:[a.jsx(ee,{headingLevel:2,children:s}),a.jsx(If,{description:u,timeEstimate:l}),a.jsxs("div",{className:"bf-intro-process-group",children:[a.jsx("div",{className:"bf-intro-process-list",children:a.jsx(Nf,{steps:c.list,description:c.title})}),a.jsx("div",{className:"bf-line-sperator-wrapper--vertical",children:a.jsx("div",{className:"bf-line-sperator--vertical"})}),a.jsxs("div",{className:"bf-intro-process-notices",children:[a.jsx(ee,{className:"bf-intro-process-notices-heading",headingLevel:2,children:f.heading}),a.jsx(jf,{className:"bf-intro-process-notices-list",data:f.list,iconAlt:f.iconAlt})]})]}),a.jsx("div",{className:"bf-line-sperator-wrapper",children:a.jsx("div",{className:"bf-line-sperator"})}),a.jsx("div",{className:"bf-cta-wrapper",children:a.jsx(Te,{secondary:!0,onClick:()=>S(),children:m})})]})]})};hf.propTypes={data:y.object,ui:y.object,setStep:y.func,step:y.number};const mf=({className:e,data:t,initialEligibilityLength:n,ui:r})=>{const{benefitSummary:l,benefitSummaryPrefix:o,benefitSummaryConjunction:i}=r,s=["bf-key-eligibility-criteria-group"];return a.jsx("div",{className:ft({className:e,defaultClasses:s}),children:t&&a.jsxs(a.Fragment,{children:[" ",a.jsxs(ee,{className:"bf-key-eligibility-criteria-heading",headingLevel:5,children:[`${l}`,a.jsx("span",{className:"bf-key-eligibility-criteria-sub-heading",children:` - ${o} ${t.length} ${i} - ${n}`})]}),a.jsx("ul",{className:"bf-key-eligibility-criteria-list",children:t.map((u,c)=>{const{criteriaKey:f,label:m}=u;return a.jsxs("li",{className:"bf-usa-list usa-list usa-list--unstyled bf-usa-list--unstyled bf-key-eligibility-criteria-list-item","data-testid":`${f}`,children:[a.jsx("div",{"aria-hidden":"true",children:a.jsx(dt,{type:"green-check","aria-hidden":"true"})}),m]},`${f}-${c}`)})})]})})};mf.propTypes={className:y.string,data:y.array,initialEligibilityLength:y.number};const Zi=({children:e})=>a.jsx("legend",{className:"bf-legend usa-legend",children:e});Zi.propTypes={children:y.node};const Xs=({className:e,label:t,htmlFor:n})=>{const r=["bf-usa-label usa-label"];return a.jsx("label",{className:ft({className:e,defaultClasses:r}),htmlFor:n,children:t})};Xs.propTypes={className:y.string,label:y.string,htmlFor:y.string};const vf=({step:e,setStep:t,data:n,handleData:r,setStepData:l,setVerifyStep:o,setViewResults:i,ui:s,modalOpen:u,setModalOpen:c})=>{const[f,m]=M.useState(!1),[p,g]=M.useState(()=>n&&n[e-1]),[S,x]=M.useState([]),[b,h]=M.useState([]),[d,v]=M.useState(()=>q.SelectedValueAll(n).length>0),[w,E]=M.useState(0),{lifeEventSection:N}=se.dataLayerStructure;Jh(d);const j=Gr();M.useEffect(()=>{var A;(A=j.current)==null||A.focus()},[j]);const{stepIndicator:L,buttonGroup:B,reviewSelectionModal:R,requiredLabel:H,sectionHeadings:ae}=s,Oe=()=>{n[e-1]={...p},r([...n])},D=M.useRef(null),F=()=>(D.current.classList.remove("display-none"),D.current.focus(),E(w+1),p.completed=!1,window.scrollTo(0,0),!1),W=()=>(D.current.classList.add("display-none"),p.completed=!0,Oe(),x([]),!0),C=()=>Ie.handleCheckForRequiredValues(S,h).then(A=>A===!0?W():F()),k=A=>{C(),Ie.handleCheckForRequiredValues(S,h).then(ne=>{if(ne===!0){const{errors:oe}=se.dataLayerStructure;se.dataLayerPush(window,{event:oe.event,bfData:{errors:"",errorCount:{number:0,string:"0"},formSuccess:!0}}),t(e+A),l(A),j&&j.current.focus()}})},O=A=>{t(e+A),j.current.focus()},P=(A,ne)=>{window.history.replaceState({},"",window.location.pathname),Br.Data(ne,p,g,A.target.value),b.length>0&&Ie.handleCheckForRequiredValues(S,h),v(q.SelectedValueAll(n).length>0)},I=(A,ne)=>{window.history.replaceState({},"",window.location.pathname);async function oe(){qh(A)===!0&&(Br.DataDate(ne,p,g,A.target.value,A.target.id),b.length>0&&Ie.handleCheckForRequiredValues(S,h))}oe().then(()=>{Ie.getNonRequiredFieldsets(ne,S,x,h,b,q.SelectedValueAll(n)),v(q.SelectedValueAll(n).length>0)})};return M.useEffect(()=>{n&&e===n.length?m(!0):m(!1)},[p,n,f,e]),M.useEffect(()=>{window.scrollTo(0,0),Ie.getRequiredFieldsets(document,x)},[]),M.useEffect(()=>{u===!1&&se.dataLayerPush(window,{event:N.event,bfData:{pageView:`${N.bfData.pageView}-${e}`,viewTitle:p.section.heading}})},[]),n.length>0&&u===!1&&Zr({pageView:`${N==null?void 0:N.bfData.pageView}-${e}`}),M.useEffect(()=>{Gd({hide:!0})},[]),n&&a.jsxs(a.Fragment,{children:[a.jsx(ee,{className:"bf-section-heading",headingLevel:1,children:e===n.length?`${ae.final}`:e-1===0?`${ae.start}`:`${ae.continue}`}),a.jsx("div",{className:"bf-section-wrapper",children:a.jsxs("div",{className:"bf-section-info",children:[a.jsx($f,{current:e-1,setCurrent:t,data:n,backLinkLabel:L.StepBackButton},`step-indicator-${ae}`),p&&a.jsxs("div",{id:"bf-section",children:[a.jsx(Gs,{alertFieldRef:D,heading:s.alertBanner.heading,description:s.alertBanner.description,type:"error",hasError:b.length>0,errorCount:b.length,errorList:b,submissionCount:w}),a.jsxs("div",{className:"bf-form-heading-group",children:[a.jsx(ee,{className:"bf-form-heading bf-usa-form-heading",headingLevel:2,children:p.section.heading}),a.jsx("div",{className:"bf-section-sub-heading",dangerouslySetInnerHTML:jt(p.section.description)})]}),p.section.fieldsets.map((A,ne)=>{const oe=({item:$,children:qe,index:pt,hidden:Xt})=>{var wn,Jr;return $.fieldset.inputs[0].inputCriteria.type==="Select"?a.jsxs(M.Fragment,{children:[a.jsx(Tl,{legend:$.fieldset.legend,errorMessage:$.fieldset.errorMessage,hint:$.fieldset.hint,required:$.fieldset.required,requiredLabel:H,hidden:Xt&&Xt,id:$.fieldset.criteriaKey,invalid:Ie.handleInvalid({hasError:b,criteriaKey:(wn=$.fieldset)==null?void 0:wn.criteriaKey}),ui:s.errorText,children:$.fieldset.inputs.map((bt,ht)=>{var la;const Qe=`${$.fieldset.criteriaKey}_${ht}`,Lt=bt.inputCriteria.values,mt=Lt.find(Lo=>Lo.selected!==void 0),{select:bo,errorText:fp}=s;return a.jsx("div",{children:a.jsx(Ff,{ui:{select:bo,errorText:fp},htmlFor:Qe,options:Lt,selected:mt==null?void 0:mt.value,onChange:Lo=>P(Lo,$.fieldset.criteriaKey),invalid:Ie.handleInvalid({hasError:b,criteriaKey:(la=$.fieldset)==null?void 0:la.criteriaKey,fieldSetId:Qe}),legend:$.fieldset.legend,errorMessage:$.fieldset.errorMessage},Qe)},Qe)})},`select-${$.fieldset.criteriaKey}-${pt}`),qe||null]},`select-${$.fieldset.criteriaKey}+${pt}`):$.fieldset.inputs[0].inputCriteria.type==="Radio"?a.jsxs(M.Fragment,{children:[$.fieldset.inputs.map((bt,ht)=>{var Lt,mt;const Qe=`${$.fieldset.criteriaKey}_${ht}`;return a.jsx(Tl,{id:$.fieldset.criteriaKey,legend:$.fieldset.legend,errorMessage:$.fieldset.errorMessage,hint:$.fieldset.hint,required:$.fieldset.required,requiredLabel:H,hidden:Xt&&Xt,ui:s.errorText,invalid:Ie.handleInvalid({hasError:b,criteriaKey:(Lt=$.fieldset)==null?void 0:Lt.criteriaKey}),children:a.jsx(Lf,{invalid:Ie.handleInvalid({hasError:b,criteriaKey:(mt=$.fieldset)==null?void 0:mt.criteriaKey}),fieldSetId:Qe,handleChanged:P,values:bt.inputCriteria.values,criteriaKey:$.fieldset.criteriaKey,errorMessage:$.fieldset.errorMessage,legend:$.fieldset.legend,ui:s.errorText},Qe)},`radio-${$.fieldset.criteriaKey}-${ht}`)}),qe||null]},`radio-${$.fieldset.criteriaKey}+${pt}`):$.fieldset.inputs[0].inputCriteria.type==="Date"?a.jsxs(M.Fragment,{children:[a.jsx(Tl,{legend:$.fieldset.legend,errorMessage:$.fieldset.errorMessage,hint:$.fieldset.hint,required:$.fieldset.required,requiredLabel:H,hidden:Xt&&Xt,id:$.fieldset.criteriaKey,invalid:Ie.handleInvalid({hasError:b,criteriaKey:(Jr=$.fieldset)==null?void 0:Jr.criteriaKey}),ui:s.errorText,children:$.fieldset.inputs.map((bt,ht)=>{var Lt,mt;const Qe=`${$.fieldset.criteriaKey}_${ht}`;return a.jsx("div",{children:a.jsx(df,{value:(Lt=bt.inputCriteria.values[0])==null?void 0:Lt.value,onChange:bo=>I(bo,$.fieldset.criteriaKey),ui:s,errorMessage:$.fieldset.errorMessage,parentLegend:$.fieldset.legend,id:Qe,invalid:Ie.handleInvalid({hasError:b,criteriaKey:(mt=$.fieldset)==null?void 0:mt.criteriaKey,fieldSetId:Qe,useFilter:!0})})},Qe)})},`date-${$.fieldset.criteriaKey}-${pt}`),qe||null]},`date-${$.fieldset.criteriaKey}+${pt}`):null},Yt=({item:$,i:qe})=>oe({item:$,index:qe}),Ke=$=>{const qe=q.SelectedValue($);return(qe==null?void 0:qe.value)!==$.fieldset.inputs[0].inputCriteria.childDependencyOption},Nt=({item:$,i:qe})=>oe({item:$,index:qe,children:$.fieldset.children.map((pt,Xt)=>pt.fieldsets.length&&pt.fieldsets.map((wn,Jr)=>{const bt=wn&&q.SelectedValue(wn),ht=Ke($);return ht===!0&&bt!==void 0&&delete bt.selected,oe({item:wn,index:Jr,hidden:ht})}))});return A.fieldset.children.length>0?Nt({item:A,i:ne}):Yt({item:A,i:ne})})]}),a.jsxs("div",{className:"bf-section-nav-btn-group",children:[a.jsx(Te,{outline:!0,onClick:()=>O(-1),children:B[0].value}),f===!1?a.jsx(Te,{secondary:!0,onClick:()=>k(1),children:B[1].value}):a.jsx(_f,{id:"nav-modal",dataLayerValue:{viewTitle:p.section.heading},modalHeading:R.heading,navItemOneLabel:R.buttonGroup[0].value,navItemOneFunction:o,navItemTwoLabel:R.buttonGroup[1].value,navItemTwoFunction:i,triggerLabel:B[1].value,handleCheckRequriedFields:C,modalOpen:u,setModalOpen:c,completed:p.completed,alertElement:D})]})]})})]})};vf.propTypes={props:y.any,step:y.number,setStep:y.func,data:y.array,setStepData:y.func,setVerifyStep:y.func,setViewResults:y.func,ui:y.object};var Gi={exports:{}},vn={},Yi={exports:{}},lt={},Xi={exports:{}};(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=f;/*! +*/var zu=Object.getOwnPropertySymbols,Gm=Object.prototype.hasOwnProperty,Ym=Object.prototype.propertyIsEnumerable;function Xm(e){if(e==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}function Jm(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de",Object.getOwnPropertyNames(e)[0]==="5")return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;var r=Object.getOwnPropertyNames(t).map(function(i){return t[i]});if(r.join("")!=="0123456789")return!1;var l={};return"abcdefghijklmnopqrst".split("").forEach(function(i){l[i]=i}),Object.keys(Object.assign({},l)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}var If=Jm()?Object.assign:function(e,t){for(var n,r=Xm(e),l,i=1;i -1?e.split(Vu).map(function(o){return Af({type:o},i)}):(i.type=e,[i])};var Hu=function(e,t){var n=e[t];return delete e[t],n},av=function(t,n){const r=Object.keys(t).reduce(function(l,i){var o=sv(i,t[i]);return l.concat(o)},[]);return Af({add:function(i){r.forEach(function(o){i.addEventListener(o.type,o.delegate,o.options)})},remove:function(i){r.forEach(function(o){i.removeEventListener(o.type,o.delegate,o.options)})}},n)};const uv=If,cv=av,Wu=(...e)=>function(n=document.body){e.forEach(r=>{typeof this[r]=="function"&&this[r].call(this,n)})};var dv=(e,t)=>cv(e,uv({on:Wu("init","add"),off:Wu("teardown","remove")},t));const Ku="aria-expanded",fv="aria-controls",qu="hidden";var pv=(e,t)=>{let n=t;typeof n!="boolean"&&(n=e.getAttribute(Ku)==="false"),e.setAttribute(Ku,n);const r=e.getAttribute(fv),l=document.getElementById(r);if(!l)throw new Error(`No toggle target found with id: "${r}"`);return n?l.removeAttribute(qu):l.setAttribute(qu,""),n};function hv(e,t=window,n=document.documentElement){const r=e.getBoundingClientRect();return r.top>=0&&r.left>=0&&r.bottom<=(t.innerHeight||n.clientHeight)&&r.right<=(t.innerWidth||n.clientWidth)}var mv=hv,vv={CLICK:"click"},gv={prefix:"usa"};const Bf=Zm,yv=dv,Qu=pv,wv=mv,{CLICK:xv}=vv,{prefix:pi}=gv,hi=`.${pi}-accordion, .${pi}-accordion--bordered`,Cv=`.${pi}-banner__button`,Nr=`.${pi}-accordion__button[aria-controls]:not(${Cv})`,Zu="aria-expanded",Sv="data-allow-multiple",zf=e=>Bf(Nr,e).filter(n=>n.closest(hi)===e),Lr=(e,t)=>{const n=e.closest(hi);let r=t;if(!n)throw new Error(`${Nr} is missing outer ${hi}`);r=Qu(e,t);const l=n.hasAttribute(Sv);r&&!l&&zf(n).forEach(i=>{i!==e&&Qu(i,!1)})},kv=e=>Lr(e,!0),Ev=e=>Lr(e,!1),_v=yv({[xv]:{[Nr](){Lr(this),this.getAttribute(Zu)==="true"&&(wv(this)||this.scrollIntoView())}}},{init(e){Bf(Nr,e).forEach(t=>{const n=t.getAttribute(Zu)==="true";Lr(t,n)})},ACCORDION:hi,BUTTON:Nr,show:kv,hide:Ev,toggle:Lr,getButtons:zf});var bv=_v;const Gu=yi(bv),Uf=({id:e,heading:t,subHeading:n,children:r,isExpanded:l,hidden:i,...o})=>{E.useEffect(()=>(Gu.on(),()=>{Gu.off()}));const[s,a]=E.useState(!1),{benefitAccordion:c}=ie.dataLayerStructure,p=y=>{a(y),y===!0&&ie.dataLayerPush(window,{event:c.event,bfData:{benefitTitle:t}},!1)};E.useEffect(()=>{a(l)},[l]);const d=()=>s?u.jsx(ft,{type:"close","aria-hidden":"true"}):u.jsx(ft,{type:"open","aria-hidden":"true"}),m=y=>y.replace(/ +/g,"-").toLowerCase();return u.jsxs("div",{className:"bf-usa-accordion usa-accordion",...o,hidden:i,children:[u.jsx("h4",{className:"bf-usa-accordion__heading usa-accordion__heading","data-testid":"accordion-heading",children:u.jsxs("button",{type:"button",className:"bf-usa-accordion__button usa-accordion__button","aria-expanded":s||!1,"aria-controls":e&&m(e),onClick:()=>p(!s),children:[u.jsx("span",{className:"bf-accordion-heading",children:t}),u.jsx("br",{}),u.jsx("span",{className:"bf-accordion-sub-heading",children:n}),d()]})}),u.jsx("div",{id:e&&m(e),className:"bf-usa-accordion__content usa-accordion__content usa-prose",hidden:s||!0,children:u.jsx("div",{children:r})})]})};Uf.propTypes={id:C.string,heading:C.string,subHeading:C.string,description:C.string,children:C.node};const Vf=({data:e,entryKey:t,expandAll:n,isExpandAll:r,setExpandAll:l,notEligibleView:i,ui:o})=>{const{benefitAccordion:s,benefitAccordionGroup:a}=o,{eligibleStatusLabels:c,agencyPrefix:p,visitLabel:d,unmetLabel:m,sourceIsEnglish:y}=s,{closedState:x,openState:g}=a,{benefitLink:S,openAllBenefitAccordions:f}=ie.dataLayerStructure,h=r?`${g} -`:`${x} +`,v=T=>{ie.dataLayerPush(window,{event:S.event,bfData:{benefitTitle:T}})},w=T=>{l(!T),ie.dataLayerPush(window,{event:f.event,bfData:{accordionsOpen:!T}},!1)},j=()=>n&&u.jsx(Ke,{className:"bf-expand-all","aria-label":h,outline:!0,onClick:()=>w(r),"data-testid":"bf-expand-all",children:h}),N=({items:T})=>u.jsxs("div",{className:"bf-unmet-criteria-group",children:[u.jsx("div",{className:"bf-unmet-criteria-title",children:m}),u.jsx("ul",{className:"bf-unmet-criteria-list",children:T.map((B,D)=>{const{label:q}=B;return u.jsx("li",{className:"bf-unmet-criteria-item",children:q},`not-eligible-list-${D}`)})})]}),P=({items:T})=>u.jsxs("div",{className:"bf-unmet-criteria-group",children:[u.jsx("div",{className:"bf-unmet-criteria-title",children:c[1]}),u.jsx("ul",{className:"bf-unmet-criteria-list",children:T.map((B,D)=>{const{label:q}=B;return u.jsx("li",{className:"bf-unmet-criteria-item",children:q},`more-info-${D}`)})})]});return u.jsxs("div",{className:"bf-usa-accordion-group",children:[u.jsx(j,{}),e&&e.map((T,B)=>{const{agency:D,eligibility:q,SourceLink:de,summary:Te,title:I,SourceIsEnglish:F}=T[t],W=q.filter(M=>M.isEligible===!0),k=q.filter(M=>M.isEligible===!1),_=q.filter(M=>M.isEligible===void 0),R=W.length===q.length?c[0]:k.length===0&&_.length>0?c[1]:c[2],L=i===!1&&R!==c[0]?!0:i===!0&&R===c[0];return u.jsxs(Uf,{id:`${I}`,heading:I,subHeading:R,isExpanded:r,"data-testid":"bf-usa-accordion","data-test-accordion-title":I,hidden:L,children:[u.jsx(ee,{className:"bf-usa-detail-title",headingLevel:4,children:`${p} ${D.title}`}),u.jsx("div",{className:"bf-usa-detail-summary",dangerouslySetInnerHTML:jt(Te)}),u.jsx(Qf,{className:"bf-usa-criteria-list",data:W,initialEligibilityLength:q.length,ui:s}),k.length>0&&u.jsx(N,{items:k}),_.length>0&&u.jsx(P,{items:_}),u.jsx("div",{className:"bf-usa-accordion-group-cta-wrapper",children:u.jsxs(wa,{className:"bf-usa-link",href:de,target:"_blank",rel:"noopener noreferrer",onClick:()=>v(I),"data-testid":"bf-benefit-link",noCarrot:!0,children:[d," ",D.title," ",y&&F===!0?y:""]})})]},`${B}-${I}`)})]})};Vf.propTypes={data:C.array,entryKey:C.string,expandAll:C.bool,isExpandAll:C.bool,setExpandAll:C.func,notEligibleView:C.bool,ui:C.object};const yn={officerNavy:"#162e51",marine:"#1a4480",popBlue:"#005ea2",sky:"#d9e8f6",darkSky:"#b6dbfd",offBlack:"#1b1b1b",white:"#fff",bannerBlue:"#112f4e",grey:"#757575",mediumGrey:"#979797",darkMediumGrey:"#3d4551",baseGrey:"#dcdee0",baseLightGrey:"#f0f0f0",lightTeal:"#d2ebf1",pureBlack:"#000",electricBlue:"#0050d8",teal:"#00bde3",mediumTeal:"#ccecf2",darkTeal:"#0081a1",alertRed:"#b50909",greenCheck:"#009831"};function Ke({children:e,className:t,onClick:n,secondary:r,outline:l,disabled:i,unstyled:o,type:s,icon:a,...c}){const[p,d]=E.useState(null),m=r===!0?"secondary":l===!0?"outline":o===!0?"unstyled":null,[y,x]=E.useState(!1),[g,S]=E.useState();return E.useEffect(()=>{S(y&&r||y&&o?yn.marine:yn.popBlue)},[y]),E.useEffect(()=>{switch(m){case"secondary":d(["bf-usa-button","usa-button","bf-usa-button--secondary","usa-button--secondary"]);break;case"outline":d(["bf-usa-button","usa-button","bf-usa-button--outline","usa-button--outline"]);break;case"unstyled":d(["bf-usa-button","usa-button","bf-usa-button--unstyled","usa-button--unstyled"]);break;default:d(["bf-usa-button","usa-button"])}},[m,r,o]),u.jsxs("button",{onClick:i?null:n,type:s||"button",disabled:i,"aria-disabled":i,className:pt({className:t,defaultClasses:p}),onMouseOver:()=>x(!0),onMouseLeave:()=>x(!1),"data-testid":c["data-testid"],id:c.id,"data-test":"button",children:[a&&u.jsx(ft,{type:a,color:g,"aria-hidden":"true"}),e]})}Ke.propTypes={children:C.node,className:C.string,onClick:C.func,secondary:C.bool,disabled:C.bool,unstyled:C.bool,type:C.oneOf(["button","reset","download"]),icon:C.string};C.object,C.object;const Hf=({className:e,title:t,body:n,cta:r,href:l,noCarrot:i,carrotType:o,icon:s,...a})=>{const c=s!==void 0?["bf-card-icon"]:"",p=["add-list-reset"],d=i===!0?null:u.jsx(ft,{type:o,color:"#162E51","aria-hidden":"true"}),m=s===void 0?null:u.jsx(ft,{type:s,className:"bf-relative-icon","aria-hidden":"true"});return u.jsx("li",{className:pt({className:e,defaultClasses:c,utilityClasses:p}),...a,children:u.jsxs("a",{className:"bf-usa-card__container usa-card__container",href:l,children:[m,u.jsx("div",{className:"bf-usa-card__header usa-card__header",children:u.jsx(ee,{className:"bf-usa-card__heading usa-card__heading",headingLevel:3,children:t})}),u.jsx("div",{className:"bf-usa-card__body usa-card__body",dangerouslySetInnerHTML:jt(n)}),u.jsx("div",{className:"bf-usa-card__cta usa-card__cta",children:r}),d]})},`${t}`)};Hf.propTypes={className:C.string,title:C.string,body:C.string,href:C.string,noCarrot:C.bool,carrotType:C.string,icon:C.string};const ma=({heading:e,description:t})=>u.jsx("div",{className:"bf-chevron",children:u.jsxs("div",{className:"bf-grid-container grid-container",children:[u.jsx(ee,{className:"bf-chevron-heading",headingLevel:1,children:e}),u.jsx("div",{className:"bf-chevron-description",dangerouslySetInnerHTML:jt(t)})]})});ma.propTypes={heading:C.string,description:C.string};const Wf=({onChange:e,value:t,ui:n,parentLegend:r,id:l,invalid:i,errorMessage:o})=>{const{date:s,select:a,errorText:c}=n,{labelDay:p,labelMonth:d,labelYear:m,monthOptions:y}=s,{dateDefaultValue:x}=a,{suffix:g,prefix:S}=c,f=(v,w)=>v&&v.map(j=>j.id===w).includes(!0),h={month:o?`${o} : ${d.toLowerCase()}`:`${S} ${r==null?void 0:r.toLowerCase()} ${d.toLowerCase()} ${g}`,day:o?`${o} : ${p.toLowerCase()}`:`${S} ${r==null?void 0:r.toLowerCase()} ${p.toLowerCase()} ${g}`,year:o?`${o} : ${m.toLowerCase()}`:`${S} ${r==null?void 0:r.toLowerCase()} ${m.toLowerCase()} ${g}`};return u.jsxs(u.Fragment,{children:[u.jsxs("ul",{className:"add-list-reset",children:[f(i,`${l}_month`)&&u.jsx("li",{id:`month-error-description-${l}`,"data-testid":"month-error-description",className:"bf-error-detail","aria-live":"assertive",children:h.month}),f(i,`${l}_day`)&&u.jsx("li",{id:`day-error-description-${l}`,"data-testid":"day-error-description",className:"bf-error-detail","aria-live":"assertive",children:h.day}),f(i,`${l}_year`)&&u.jsx("li",{id:`year-error-description-${l}`,"data-testid":"year-error-description",className:"bf-error-detail","aria-live":"assertive",children:h.year})]}),u.jsxs("div",{id:`bf-usa-memorable-date-${l}`,className:"bf-usa-memorable-date usa-memorable-date","data-testid":"bf-usa-memorable-date",children:[u.jsxs("div",{className:"bf-usa-form-group usa-form-group bf-usa-form-group--month usa-form-group--month bf-usa-form-group--select usa-form-group--select",children:[u.jsx("label",{className:"bf-usa-label usa-label",htmlFor:`${l}_month`,children:d}),u.jsx("div",{id:`${l}-month-description`,className:"usa-sr-only",children:"Select a month from the list"}),u.jsxs("select",{className:`bf-usa-select usa-select ${f(i,`${l}_month`)?"usa-input--error":""}`,id:`${l}_month`,"data-testid":`${l}_month`,name:`${l}_month`,"aria-describedby":`${l}-month-description`,value:t&&t.month||"",onChange:e,"aria-invalid":f(i,`${l}_month`),"data-errormessage":h.month,"aria-errormessage":`month-error-description-${l}`,"data-datetype":"month",children:[u.jsx("option",{value:"",children:x},"default"),y.map((v,w)=>u.jsx("option",{value:w,children:v.label},`${v.label}-${w}`))]})]}),u.jsxs("div",{className:"bf-usa-form-group usa-form-group bf-usa-form-group--day usa-form-group--day",children:[u.jsx("label",{className:"bf-usa-label usa-label",htmlFor:`${l}_day`,children:p}),u.jsx("div",{id:`${l}-day-description`,className:"usa-sr-only",children:"Enter two numerals for day"}),u.jsx("input",{className:`bf-usa-input usa-input ${f(i,`${l}_day`)?"usa-input--error":""}`,"aria-describedby":`${l}-day-description`,id:`${l}_day`,"data-testid":`${l}_day`,name:`${l}_day`,inputMode:"numeric",value:t&&t.day||"",onChange:e,"aria-invalid":f(i,`${l}_day`),"data-errormessage":h.day,"aria-errormessage":`day-error-description-${l}`,"data-datetype":"day"})]}),u.jsxs("div",{className:"bf-usa-form-group usa-form-group bf-usa-form-group--year usa-form-group--year",children:[u.jsx("label",{className:"bf-usa-label usa-label",htmlFor:`${l}_year`,children:m}),u.jsx("div",{id:`${l}-year-description`,className:"usa-sr-only",children:"Enter four numerals for year"}),u.jsx("input",{className:`bf-usa-input usa-input ${f(i,`${l}_year`)?"usa-input--error":""}`,"aria-describedby":`${l}-year-description`,id:`${l}_year`,"data-testid":`${l}_year`,name:`${l}_year`,inputMode:"numeric",value:t&&t.year||"",onChange:e,"aria-invalid":f(i,`${l}_year`),"data-errormessage":h.year,"aria-errormessage":`year-error-description-${l}`,"data-datetype":"year"})]})]})]})};Wf.propTypes={onChange:C.func,value:C.object,ui:C.object,id:C.string,invalid:C.oneOfType([C.bool,C.array])};const jv=({ui:e,data:t})=>{const n=E.useContext(Nt),[r,l]=E.useState(()=>di(`${window.location.origin}${n.basePath}${n.indexPath}`,t)),i=`${encodeURIComponent(r)}`,o=s=>{s.preventDefault(),l(di(`${window.location.origin}${n.basePath}${n.indexPath}`,t)),window.location=`mailto:?subject=${e==null?void 0:e.emailSubject}&body=${i}`};return u.jsx("a",{href:"",className:"bf-email-trigger bf-usa-link usa-link",onClick:s=>o(s),children:(e==null?void 0:e.emailTrigger)||"Email"})},Al=({children:e,legend:t,required:n,alertRef:r,requiredLabel:l,hidden:i,errorMessage:o,hint:s,className:a,id:c,invalid:p,ui:d})=>{const m=i!==void 0&&i?["display-none"]:"",y=[`bf-usa-fieldset usa-fieldset ${n===!0?"required-field":""} ${p===!0?"usa-input--error":""}`],x=m,{prefix:g,suffix:S}=d,h=n===!1?u.jsx(ds,{children:t}):u.jsx(u.Fragment,{children:u.jsxs(ds,{children:[t,u.jsx(qf,{requiredLabel:l})]})}),v=o?`${o}`:`${g} ${t&&t.toLowerCase().replace("?","")} ${S}`;return u.jsx("div",{className:"bf-fieldset-wrapper",children:u.jsxs("fieldset",{className:pt({className:a,defaultClasses:y,utilityClasses:x}),ref:r,required:n===!0,id:c,"data-errormessage":v,hidden:i,"aria-hidden":i,"data-testid":"fieldset",children:[t&&h,p===!0&&u.jsx("div",{id:`error-description-${c}`,"data-testid":"error-description",className:"bf-error-detail","aria-live":"assertive",children:v}),s&&u.jsx("div",{className:"bf-hint",children:s}),e]})})};Al.propTypes={children:C.node,legend:C.string,alertRef:C.any,requiredLabel:C.object,hidden:C.bool,hint:C.string,className:C.string,invalid:C.bool,ui:C.object};function Kf({children:e}){return u.jsx("form",{className:"bf-usa-form",children:u.jsx("div",{className:"bf-grid-contianer grid-container",children:e})})}Kf.propTypes={children:C.node};const ee=({children:e,className:t,headingLevel:n,...r})=>{const l=[""],i=`h${n}`;return u.jsx(i,{className:pt({className:t,defaultClasses:l}),id:n===1?"skip-to-h1":null,...r,"aria-level":n,role:"heading",children:e})};ee.propTypes={children:C.oneOfType([C.string,C.array]),className:C.string,headingLevel:C.number};const qf=({requiredLabel:e})=>u.jsx("span",{title:"required",className:"bf-usa-hint usa-hint usa-hint--required bf-usa-hint--required bf-required required",children:`(${(e==null?void 0:e.value)||"Required"})`});qf.propTypes={requiredLabel:C.object};const Nv=()=>u.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 44.31 44.31",children:[u.jsxs("g",{id:"Layer_1","data-name":"Layer 1",children:[u.jsxs("g",{children:[u.jsx("path",{className:"cls-1",fill:"#e8f6fb",strokeWidth:"0px",d:"M22.16,40.85c-10.33,0-18.7-8.37-18.7-18.7S11.83,3.46,22.16,3.46c7.55,0,14.06,4.48,17.01,10.93.08.18.16.37.24.55.93,2.22,1.44,4.66,1.44,7.22,0,10.33-8.37,18.7-18.7,18.7Z"}),u.jsx("path",{className:"cls-4",fill:"#e7f6fb",strokeWidth:"0px",d:"M22.16,39.34c-9.49,0-17.19-7.69-17.19-17.19S12.66,4.97,22.16,4.97c7,0,13.03,4.19,15.71,10.2.95,2.14,1.48,4.5,1.48,6.99,0,9.49-7.69,17.19-17.19,17.19Z"})]}),u.jsxs("g",{children:[u.jsx("circle",{className:"cls-2",fill:"#1a1a1a",strokeWidth:"0px",cx:"22.01",cy:"3.63",r:"3.55"}),u.jsx("circle",{className:"cls-3",fill:"#00c0e7",strokeWidth:"0px",cx:"22.01",cy:"3.63",r:"2.49"})]}),u.jsx("path",{className:"cls-2",fill:"#1a1a1a",strokeWidth:"0px",d:"M40.55,12.43l-1.46.59c-2.11-3.91-5.56-6.99-9.75-8.6v1.63c3.55,1.51,6.49,4.18,8.34,7.54l-1.55.63c-.17.07-.19.29-.05.4l3.66,2.66c.14.1.33.02.36-.15l.77-4.46c.03-.18-.15-.32-.31-.25Z"}),u.jsxs("g",{children:[u.jsx("circle",{className:"cls-2",fill:"#1a1a1a",strokeWidth:"0px",cx:"40.43",cy:"22.08",r:"3.55"}),u.jsx("circle",{className:"cls-3",fill:"#00c0e7",strokeWidth:"0px",cx:"40.43",cy:"22.08",r:"2.49"})]}),u.jsx("path",{className:"cls-2",fill:"#1a1a1a",strokeWidth:"0px",d:"M31.63,40.86l-.59-1.46c3.91-2.11,6.99-5.56,8.6-9.75h-1.63c-1.51,3.55-4.18,6.49-7.54,8.34l-.63-1.55c-.07-.17-.29-.19-.4-.05l-2.66,3.66c-.1.14-.02.33.15.36l4.46.77c.18.03.32-.15.25-.31Z"}),u.jsxs("g",{children:[u.jsx("circle",{className:"cls-2",fill:"#1a1a1a",strokeWidth:"0px",cx:"22.01",cy:"40.53",r:"3.55"}),u.jsx("circle",{className:"cls-3",fill:"#00c0e7",strokeWidth:"0px",cx:"22.01",cy:"40.53",r:"2.49"})]}),u.jsx("path",{className:"cls-2",fill:"#1a1a1a",strokeWidth:"0px",d:"M3.48,31.73l1.46-.59c2.11,3.91,5.56,6.99,9.75,8.6v-1.63c-3.55-1.51-6.49-4.18-8.34-7.54l1.55-.63c.17-.07.19-.29.05-.4l-3.66-2.66c-.14-.1-.33-.02-.36.15l-.77,4.46c-.03.18.15.32.31.25Z"}),u.jsxs("g",{children:[u.jsx("circle",{className:"cls-2",fill:"#1a1a1a",strokeWidth:"0px",cx:"3.6",cy:"22.08",r:"3.55"}),u.jsx("circle",{className:"cls-3",fill:"#00c0e7",strokeWidth:"0px",cx:"3.6",cy:"22.08",r:"2.49"})]}),u.jsx("path",{className:"cls-2",fill:"#1a1a1a",strokeWidth:"0px",d:"M12.4,3.31l.59,1.46c-3.91,2.11-6.99,5.56-8.6,9.75h1.63c1.51-3.55,4.18-6.49,7.54-8.34l.63,1.55c.07.17.29.19.4.05l2.66-3.66c.1-.14.02-.33-.15-.36l-4.46-.77c-.18-.03-.32.15-.25.31Z"}),u.jsxs("g",{children:[u.jsx("path",{className:"cls-2",fill:"#1a1a1a",strokeWidth:"0px",d:"M24.12,23.21l-.04-4.46c.16,0,.32-.02.47-.03,1.7-.13,3.11-1.33,3.52-2.97l.37-1.48c.13-.53-.19-1.06-.71-1.19-.52-.13-1.06.19-1.19.71l-.37,1.48c-.21.83-.92,1.43-1.78,1.49-.8.06-1.7.1-2.67.1-.25,0-.51,0-.77.02-2.01.12-3.72,1.49-4.24,3.42l-.64,2.32c-.14.52.17,1.06.69,1.2.09.02.17.04.26.04.43,0,.83-.29.95-.72l.64-2.32c.13-.49.41-.91.76-1.25l-.03,3.64-.98,7.25c-.08.6.34,1.15.93,1.22.05,0,.1,0,.15,0,.54,0,1.01-.4,1.08-.94l.95-7.05h.5l.95,7.05c.07.55.54.94,1.08.94.05,0,.1,0,.15,0,.6-.08,1.02-.63.93-1.22l-.97-7.25Z"}),u.jsx("path",{className:"cls-2",fill:"#1a1a1a",strokeWidth:"0px",d:"M21.74,16.72c1.2,0,2.18-.98,2.18-2.18s-.98-2.18-2.18-2.18-2.18.98-2.18,2.18c0,1.2.98,2.18,2.18,2.18Z"})]})]}),u.jsxs("g",{id:"Layer_1_copy_3","data-name":"Layer 1 copy 3",children:[u.jsxs("g",{children:[u.jsx("path",{className:"cls-5",fill:"#fff",strokeWidth:"0px",d:"M22.16,40.85c-10.33,0-18.7-8.37-18.7-18.7S11.83,3.46,22.16,3.46c7.55,0,14.06,4.48,17.01,10.93.08.18.16.37.24.55.93,2.22,1.44,4.66,1.44,7.22,0,10.33-8.37,18.7-18.7,18.7Z"}),u.jsx("path",{className:"cls-4",fill:"#e7f6fb",strokeWidth:"0px",d:"M22.16,36.47c-7.91,0-14.32-6.41-14.32-14.32s6.41-14.32,14.32-14.32c5.83,0,10.85,3.49,13.08,8.49.79,1.78,1.23,3.75,1.23,5.82,0,7.91-6.41,14.32-14.32,14.32Z"})]}),u.jsxs("g",{children:[u.jsx("circle",{className:"cls-2",fill:"#1a1a1a",strokeWidth:"0px",cx:"22.01",cy:"3.63",r:"3.55"}),u.jsx("circle",{className:"cls-3",fill:"#00c0e7",strokeWidth:"0px",cx:"22.01",cy:"3.63",r:"2.49"})]}),u.jsx("path",{className:"cls-2",fill:"#1a1a1a",strokeWidth:"0px",d:"M40.55,12.43l-1.46.59c-2.11-3.91-5.56-6.99-9.75-8.6v1.63c3.55,1.51,6.49,4.18,8.34,7.54l-1.55.63c-.17.07-.19.29-.05.4l3.66,2.66c.14.1.33.02.36-.15l.77-4.46c.03-.18-.15-.32-.31-.25Z"}),u.jsxs("g",{children:[u.jsx("circle",{className:"cls-2",fill:"#1a1a1a",strokeWidth:"0px",cx:"40.43",cy:"22.08",r:"3.55"}),u.jsx("circle",{className:"cls-3",fill:"#00c0e7",strokeWidth:"0px",cx:"40.43",cy:"22.08",r:"2.49"})]}),u.jsx("path",{className:"cls-2",fill:"#1a1a1a",strokeWidth:"0px",d:"M31.63,40.86l-.59-1.46c3.91-2.11,6.99-5.56,8.6-9.75h-1.63c-1.51,3.55-4.18,6.49-7.54,8.34l-.63-1.55c-.07-.17-.29-.19-.4-.05l-2.66,3.66c-.1.14-.02.33.15.36l4.46.77c.18.03.32-.15.25-.31Z"}),u.jsxs("g",{children:[u.jsx("circle",{className:"cls-2",fill:"#1a1a1a",strokeWidth:"0px",cx:"22.01",cy:"40.53",r:"3.55"}),u.jsx("circle",{className:"cls-3",fill:"#00c0e7",strokeWidth:"0px",cx:"22.01",cy:"40.53",r:"2.49"})]}),u.jsx("path",{className:"cls-2",fill:"#1a1a1a",strokeWidth:"0px",d:"M3.48,31.73l1.46-.59c2.11,3.91,5.56,6.99,9.75,8.6v-1.63c-3.55-1.51-6.49-4.18-8.34-7.54l1.55-.63c.17-.07.19-.29.05-.4l-3.66-2.66c-.14-.1-.33-.02-.36.15l-.77,4.46c-.03.18.15.32.31.25Z"}),u.jsxs("g",{children:[u.jsx("circle",{className:"cls-2",fill:"#1a1a1a",strokeWidth:"0px",cx:"3.6",cy:"22.08",r:"3.55"}),u.jsx("circle",{className:"cls-3",fill:"#00c0e7",strokeWidth:"0px",cx:"3.6",cy:"22.08",r:"2.49"})]}),u.jsx("path",{className:"cls-2",fill:"#1a1a1a",strokeWidth:"0px",d:"M12.4,3.31l.59,1.46c-3.91,2.11-6.99,5.56-8.6,9.75h1.63c1.51-3.55,4.18-6.49,7.54-8.34l.63,1.55c.07.17.29.19.4.05l2.66-3.66c.1-.14.02-.33-.15-.36l-4.46-.77c-.18-.03-.32.15-.25.31Z"})]}),u.jsx("g",{id:"dude",children:u.jsxs("g",{children:[u.jsx("path",{className:"cls-2",fill:"#1a1a1a",strokeWidth:"0px",d:"M24.12,23.21l-.04-4.46c.16,0,.32-.02.47-.03,1.7-.13,3.11-1.33,3.52-2.97l.37-1.48c.13-.53-.19-1.06-.71-1.19-.52-.13-1.06.19-1.19.71l-.37,1.48c-.21.83-.92,1.43-1.78,1.49-.8.06-1.7.1-2.67.1-.25,0-.51,0-.77.02-2.01.12-3.72,1.49-4.24,3.42l-.64,2.32c-.14.52.17,1.06.69,1.2.09.02.17.04.26.04.43,0,.83-.29.95-.72l.64-2.32c.13-.49.41-.91.76-1.25l-.03,3.64-.98,7.25c-.08.6.34,1.15.93,1.22.05,0,.1,0,.15,0,.54,0,1.01-.4,1.08-.94l.95-7.05h.5l.95,7.05c.07.55.54.94,1.08.94.05,0,.1,0,.15,0,.6-.08,1.02-.63.93-1.22l-.97-7.25Z"}),u.jsx("path",{className:"cls-2",fill:"#1a1a1a",strokeWidth:"0px",d:"M21.74,16.72c1.2,0,2.18-.98,2.18-2.18s-.98-2.18-2.18-2.18-2.18.98-2.18,2.18c0,1.2.98,2.18,2.18,2.18Z"})]})})]}),Lv=({color:e})=>u.jsx("svg",{className:"bf-carrot",width:"12",height:"19",viewBox:"0 0 12 19",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:u.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M3.78013 1.73698C3.33373 1.29058 2.60998 1.29059 2.16359 1.73698L1.74049 2.16007C1.29444 2.60612 1.29405 3.32919 1.73961 3.77573L6.7498 8.79686C7.19502 9.24305 7.19502 9.96544 6.7498 10.4116L1.73961 15.4328C1.29405 15.8793 1.29444 16.6024 1.7405 17.0484L2.16359 17.4715C2.60998 17.9179 3.33373 17.9179 3.78013 17.4715L10.8391 10.4125C11.2855 9.96612 11.2855 9.24237 10.8391 8.79597L3.78013 1.73698Z",fill:e||yn.officerNavy})}),Pv=({color:e})=>u.jsxs("svg",{className:"bf-carrot-solid",xmlns:"http://www.w3.org/2000/svg",height:"24",viewBox:"0 0 24 24",width:"24",fill:e||yn.white,children:[u.jsx("path",{d:"M0 0h24v24H0z",fill:"none"}),u.jsx("path",{d:"M7 10l5 5 5-5z"})]}),Tv=({color:e})=>u.jsxs("svg",{className:"bf-close",xmlns:"http://www.w3.org/2000/svg",height:"24",viewBox:"0 0 24 24",width:"24",children:[u.jsx("path",{d:"M0 0h24v24H0z",fill:"none"}),u.jsx("path",{d:"M19 13H5v-2h14v2z",fill:e||yn.black})]}),Ov=()=>u.jsxs("svg",{className:"bf-death",width:"45",height:"45",viewBox:"0 0 45 45",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[u.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M20.1501 6.87479C20.1501 9.34031 18.1533 11.3388 15.6903 11.3388C13.2273 11.3388 11.2309 9.34031 11.2309 6.87479C11.2309 4.40927 13.2273 2.4104 15.6903 2.4104C18.1533 2.4104 20.1501 4.40927 20.1501 6.87479ZM8.94118 13.9881C8.97531 13.7489 9.18017 13.5712 9.42182 13.5712H21.8969C22.0106 13.5712 22.1206 13.6111 22.2079 13.6839L22.6929 14.0884L28.6272 19.0387C28.7145 19.1115 28.8246 19.1514 28.9382 19.1514H37.5777C37.8151 19.1514 38.0176 19.323 38.0566 19.5572L40.1247 31.979C40.1739 32.2749 39.9457 32.5442 39.6458 32.5442H37.3595C37.0914 32.5442 36.874 32.7616 36.874 33.0297V42.1033C36.874 42.3714 36.6567 42.5888 36.3885 42.5888H32.8998C32.6316 42.5888 32.4143 42.3714 32.4143 42.1033V29.6815C32.4143 29.4134 32.6316 29.196 32.8998 29.196H34.0713C34.3713 29.196 34.5995 28.9267 34.5502 28.6307L33.9758 25.1807L33.7429 23.6286C33.7418 23.6213 33.7355 23.6158 33.728 23.6158C33.7206 23.6158 33.7143 23.6105 33.7131 23.6032L33.5969 22.9053C33.5579 22.6712 33.3553 22.4996 33.118 22.4996H25.9029C25.7879 22.4996 25.6767 22.4588 25.589 22.3844L20.5939 18.1504C20.5062 18.076 20.3949 18.0352 20.2799 18.0352H13.6883C13.4389 18.0352 13.23 18.2242 13.2052 18.4725L12.6333 24.1978C12.6047 24.4836 12.8291 24.7316 13.1164 24.7316H14.0905C14.3586 24.7316 14.576 24.949 14.576 25.2171V42.1035C14.576 42.3716 14.3586 42.589 14.0905 42.589H10.6017C10.3336 42.589 10.1162 42.3716 10.1162 42.1035V29.6817C10.1162 29.4135 9.89885 29.1962 9.63071 29.1962H7.33117C7.03575 29.1962 6.80881 28.9346 6.85053 28.6421L8.94118 13.9881ZM21.2653 25.2167C21.2653 24.9486 21.0479 24.7312 20.7798 24.7312H17.291C17.0229 24.7312 16.8055 24.9486 16.8055 25.2167V42.1031C16.8055 42.3712 17.0229 42.5886 17.291 42.5886H20.7798C21.0479 42.5886 21.2653 42.3712 21.2653 42.1031V25.2167ZM25.7247 25.2167C25.7247 24.9486 25.9421 24.7312 26.2102 24.7312H29.699C29.9671 24.7312 30.1845 24.9486 30.1845 25.2167V42.1031C30.1845 42.3712 29.9671 42.5886 29.699 42.5886H26.2102C25.9421 42.5886 25.7247 42.3712 25.7247 42.1031V25.2167ZM35.7589 12.4548C35.7589 14.9203 33.7625 16.9192 31.2995 16.9192C28.8365 16.9192 26.8397 14.9203 26.8397 12.4548C26.8397 9.98928 28.8365 7.99041 31.2995 7.99041C33.7625 7.99041 35.7589 9.98928 35.7589 12.4548Z",fill:"#E9F6FB",stroke:"#1B1B1B",strokeWidth:"2.77965"}),u.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M20.1501 6.87479C20.1501 9.34031 18.1533 11.3388 15.6903 11.3388C13.2273 11.3388 11.2309 9.34031 11.2309 6.87479C11.2309 4.40927 13.2273 2.4104 15.6903 2.4104C18.1533 2.4104 20.1501 4.40927 20.1501 6.87479ZM8.94118 13.9881C8.97531 13.7489 9.18017 13.5712 9.42182 13.5712H21.8969C22.0106 13.5712 22.1206 13.6111 22.2079 13.6839L22.6929 14.0884L28.6272 19.0387C28.7145 19.1115 28.8246 19.1514 28.9382 19.1514H37.5777C37.8151 19.1514 38.0177 19.323 38.0566 19.5572L40.1247 31.979C40.1739 32.2749 39.9457 32.5442 39.6458 32.5442H37.3595C37.0914 32.5442 36.874 32.7616 36.874 33.0297V42.1033C36.874 42.3714 36.6567 42.5888 36.3885 42.5888H32.8998C32.6316 42.5888 32.4143 42.3714 32.4143 42.1033V29.6815C32.4143 29.4134 32.6316 29.196 32.8998 29.196H34.0713C34.3713 29.196 34.5995 28.9267 34.5502 28.6307L33.9758 25.1807L33.7429 23.6286C33.7418 23.6213 33.7355 23.6158 33.728 23.6158C33.7206 23.6158 33.7143 23.6105 33.7131 23.6032L33.5969 22.9053C33.5579 22.6712 33.3553 22.4996 33.118 22.4996H25.9029C25.7879 22.4996 25.6767 22.4588 25.589 22.3844L20.5939 18.1504C20.5062 18.076 20.3949 18.0352 20.2799 18.0352H13.6883C13.4389 18.0352 13.23 18.2242 13.2052 18.4725L12.6333 24.1978C12.6047 24.4836 12.8291 24.7316 13.1164 24.7316H14.0905C14.3586 24.7316 14.576 24.949 14.576 25.2171V42.1035C14.576 42.3716 14.3586 42.589 14.0905 42.589H10.6017C10.3336 42.589 10.1162 42.3716 10.1162 42.1035V29.6817C10.1162 29.4135 9.89885 29.1962 9.63071 29.1962H7.33117C7.03575 29.1962 6.80881 28.9346 6.85053 28.6421L8.94118 13.9881ZM21.2653 25.2167C21.2653 24.9486 21.0479 24.7312 20.7798 24.7312H17.291C17.0229 24.7312 16.8055 24.9486 16.8055 25.2167V42.1031C16.8055 42.3712 17.0229 42.5886 17.291 42.5886H20.7798C21.0479 42.5886 21.2653 42.3712 21.2653 42.1031V25.2167ZM25.7247 25.2167C25.7247 24.9486 25.9421 24.7312 26.2102 24.7312H29.699C29.9671 24.7312 30.1845 24.9486 30.1845 25.2167V42.1031C30.1845 42.3712 29.9671 42.5886 29.699 42.5886H26.2102C25.9421 42.5886 25.7247 42.3712 25.7247 42.1031V25.2167ZM35.7589 12.4548C35.7589 14.9203 33.7625 16.9192 31.2995 16.9192C28.8365 16.9192 26.8397 14.9203 26.8397 12.4548C26.8397 9.98928 28.8365 7.99041 31.2995 7.99041C33.7625 7.99041 35.7589 9.98928 35.7589 12.4548Z",fill:"white",stroke:"#00C1E7",strokeWidth:"0.571814"})]}),Rv=({color:e})=>u.jsx("svg",{width:"20",height:"16",viewBox:"0 0 20 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:u.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M18 0.000244141H2C0.9 0.000244141 0.00999999 0.900244 0.00999999 2.00024L0 14.0002C0 15.1002 0.9 16.0002 2 16.0002H18C19.1 16.0002 20 15.1002 20 14.0002V2.00024C20 0.900244 19.1 0.000244141 18 0.000244141ZM18 14.0002H2V4.00024L10 9.00024L18 4.00024V14.0002ZM10 7.00024L2 2.00024H18L10 7.00024Z",fill:e||yn.popBlue})}),Mv=()=>u.jsxs("svg",{width:"45",height:"45",viewBox:"0 0 45 45",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[u.jsx("path",{d:"M29.2857 9.5335C31.4805 9.5335 33.2598 7.75908 33.2598 5.57022C33.2598 3.38136 31.4805 1.60693 29.2857 1.60693C27.0908 1.60693 25.3115 3.38136 25.3115 5.57022C25.3115 7.75908 27.0908 9.5335 29.2857 9.5335Z",fill:"#E9F6FB",stroke:"#1A1A1A",strokeWidth:"1.34304",strokeMiterlimit:"10"}),u.jsx("path",{d:"M31.1129 34.0346C31.1129 33.6064 30.7661 33.2593 30.3382 33.2593C29.9103 33.2593 29.5635 33.6064 29.5635 34.0346V42.3786C29.5635 42.8068 29.9103 43.1539 30.3382 43.1539C30.7661 43.1539 31.1129 42.8068 31.1129 42.3786V34.0346Z",fill:"#1A1A1A"}),u.jsx("path",{d:"M29.8281 42.2474V42.5131C29.8281 42.8664 30.1153 43.1528 30.4696 43.1528H35.1777C35.532 43.1528 35.8193 42.8664 35.8193 42.5131V42.2474C35.8193 41.8941 35.532 41.6076 35.1777 41.6076H30.4696C30.1153 41.6076 29.8281 41.8941 29.8281 42.2474Z",fill:"#1A1A1A"}),u.jsx("path",{d:"M19.0432 44.1969C26.0392 44.1969 31.7105 38.5411 31.7105 31.5643C31.7105 24.5875 26.0392 18.9316 19.0432 18.9316C12.0473 18.9316 6.37598 24.5875 6.37598 31.5643C6.37598 38.5411 12.0473 44.1969 19.0432 44.1969Z",fill:"#010101"}),u.jsx("path",{d:"M36.3958 22.9921L29.7469 22.4553L31.8835 14.827C32.1988 13.6938 31.6497 12.5173 30.6385 12.0077C30.5026 11.9318 30.3558 11.8667 30.1927 11.8233L21.1027 9.29139C20.7276 9.18838 20.347 9.19922 19.9936 9.29681C19.6892 9.34561 19.3956 9.46488 19.1401 9.67091L12.8934 14.6535C12.1051 15.2824 11.9801 16.4372 12.6053 17.218C13.2359 18.0041 14.3939 18.1288 15.1768 17.5053L20.0045 13.6505L21.8693 14.1709L17.857 21.7559C17.2318 22.9379 17.6885 24.4126 18.8737 25.0361L22.5488 26.9662C23.3154 27.3674 24.207 27.3186 24.9083 26.912L25.3867 27.0421C25.7673 27.5463 26.349 27.8933 27.0286 27.9475L33.1991 28.4463L32.4326 37.8801C32.3184 39.2573 33.3568 40.4772 34.7431 40.5856C36.124 40.6994 37.3472 39.6639 37.456 38.2814L38.44 26.1801C38.44 26.1313 38.44 26.0771 38.44 26.0283L38.4889 25.4319C38.5922 24.1794 37.6463 23.0734 36.3904 22.9704L36.3958 22.9921Z",fill:"#E9F6FB",stroke:"#1A1A1A",strokeWidth:"1.34304",strokeMiterlimit:"10"}),u.jsx("path",{d:"M19.0442 41.7672C24.695 41.7672 29.2758 37.1989 29.2758 31.5636C29.2758 25.9282 24.695 21.3599 19.0442 21.3599C13.3934 21.3599 8.8125 25.9282 8.8125 31.5636C8.8125 37.1989 13.3934 41.7672 19.0442 41.7672Z",fill:"#E9F6FB"}),u.jsx("path",{d:"M19.0425 42.3136C24.9965 42.3136 29.8233 37.5001 29.8233 31.5623C29.8233 25.6245 24.9965 20.811 19.0425 20.811C13.0884 20.811 8.26172 25.6245 8.26172 31.5623C8.26172 37.5001 13.0884 42.3136 19.0425 42.3136Z",stroke:"#00C0E4",strokeWidth:"1.03146",strokeMiterlimit:"10"}),u.jsx("path",{d:"M19.0426 39.4948C23.4353 39.4948 26.9963 35.9436 26.9963 31.5628C26.9963 27.1821 23.4353 23.6309 19.0426 23.6309C14.6499 23.6309 11.0889 27.1821 11.0889 31.5628C11.0889 35.9436 14.6499 39.4948 19.0426 39.4948Z",fill:"white",stroke:"#1A1A1A",strokeWidth:"1.07443",strokeMiterlimit:"10"})]}),$v=({color:e})=>u.jsx("svg",{className:"bf-checkmark--green","data-testid":"icon-green-check",width:"24",height:"20",viewBox:"0 0 24 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:u.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M24 4.15417C23.9925 4.52794 23.8515 4.88618 23.6033 5.16208L12.2975 16.6522L10.1157 18.8696C9.84423 19.1219 9.49174 19.2651 9.12397 19.2727C8.7562 19.2651 8.40371 19.1219 8.13223 18.8696L5.95041 16.6522L0.396694 11.0079C0.148478 10.732 0.00748054 10.3738 0 10C0.00748054 9.62626 0.148478 9.26802 0.396694 8.99212L2.57851 6.77473C2.84999 6.52246 3.20248 6.37917 3.57025 6.37156C3.93802 6.37917 4.29051 6.52246 4.56198 6.77473L9.12397 11.4111L19.2397 1.13046C19.5111 0.878193 19.8636 0.734897 20.2314 0.727295C20.5992 0.734897 20.9517 0.878193 21.2231 1.13046L23.405 3.34785C23.8017 3.54943 24 3.75101 24 4.15417Z",fill:e||yn.greenCheck})}),Dv=()=>u.jsx("svg",{className:"bf-info",width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:u.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M6.33594 3.66732H7.66927V5.00065H6.33594V3.66732ZM6.33594 6.33398H7.66927V10.334H6.33594V6.33398ZM7.0026 0.333984C3.3226 0.333984 0.335938 3.32065 0.335938 7.00065C0.335938 10.6807 3.3226 13.6673 7.0026 13.6673C10.6826 13.6673 13.6693 10.6807 13.6693 7.00065C13.6693 3.32065 10.6826 0.333984 7.0026 0.333984ZM7.0026 12.334C4.0626 12.334 1.66927 9.94065 1.66927 7.00065C1.66927 4.06065 4.0626 1.66732 7.0026 1.66732C9.9426 1.66732 12.3359 4.06065 12.3359 7.00065C12.3359 9.94065 9.9426 12.334 7.0026 12.334Z",fill:"#1B1B1B"})}),Iv=()=>u.jsxs("svg",{className:"bf-modal-close",xmlns:"http://www.w3.org/2000/svg",height:"24",viewBox:"0 0 24 24",width:"24",children:[u.jsx("path",{d:"M0 0h24v24H0z",fill:"none"}),u.jsx("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"})]}),Fv=()=>u.jsxs("svg",{className:"bf-open",xmlns:"http://www.w3.org/2000/svg",height:"24",viewBox:"0 0 24 24",width:"24",children:[u.jsx("path",{d:"M0 0h24v24H0z",fill:"none"}),u.jsx("path",{fill:"none",d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"})]}),Av=()=>u.jsxs("svg",{width:"45",height:"45",viewBox:"0 0 45 45",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[u.jsx("path",{d:"M40.2696 1.60693H6.37598V43.3926H40.2696V1.60693Z",fill:"#DFEFF4",stroke:"#191919",strokeWidth:"1.1566",strokeLinecap:"round",strokeLinejoin:"round"}),u.jsx("path",{d:"M19.2757 9.08496H12.9048C12.4714 9.08496 12.1201 9.43563 12.1201 9.86819V14.6747C12.1201 15.1073 12.4714 15.4579 12.9048 15.4579H19.2757C19.7091 15.4579 20.0604 15.1073 20.0604 14.6747V9.86819C20.0604 9.43563 19.7091 9.08496 19.2757 9.08496Z",fill:"#05BBE2"}),u.jsx("path",{d:"M19.2757 19.314H12.9048C12.4714 19.314 12.1201 19.6646 12.1201 20.0972V24.9037C12.1201 25.3363 12.4714 25.6869 12.9048 25.6869H19.2757C19.7091 25.6869 20.0604 25.3363 20.0604 24.9037V20.0972C20.0604 19.6646 19.7091 19.314 19.2757 19.314Z",fill:"#05BBE2"}),u.jsx("path",{d:"M19.2757 29.5415H12.9048C12.4714 29.5415 12.1201 29.8922 12.1201 30.3247V35.1312C12.1201 35.5638 12.4714 35.9145 12.9048 35.9145H19.2757C19.7091 35.9145 20.0604 35.5638 20.0604 35.1312V30.3247C20.0604 29.8922 19.7091 29.5415 19.2757 29.5415Z",fill:"#05BBE2"}),u.jsx("path",{d:"M14.8369 11.9099L16.1581 13.2287L21.1878 9.08496",stroke:"#191919",strokeWidth:"1.1566",strokeLinecap:"round",strokeLinejoin:"round"}),u.jsx("path",{d:"M23.5391 11.0723H34.5307",stroke:"#05BBE2",strokeWidth:"1.1566",strokeLinecap:"round",strokeLinejoin:"round"}),u.jsx("path",{d:"M23.5391 13.4648H34.5307",stroke:"#05BBE2",strokeWidth:"1.1566",strokeLinecap:"round",strokeLinejoin:"round"}),u.jsx("path",{d:"M23.5391 21.3071H34.5307",stroke:"#05BBE2",strokeWidth:"1.1566",strokeLinecap:"round",strokeLinejoin:"round"}),u.jsx("path",{d:"M23.5391 23.6904H34.5307",stroke:"#05BBE2",strokeWidth:"1.1566",strokeLinecap:"round",strokeLinejoin:"round"}),u.jsx("path",{d:"M23.5391 31.5381H34.5307",stroke:"#05BBE2",strokeWidth:"1.1566",strokeLinecap:"round",strokeLinejoin:"round"}),u.jsx("path",{d:"M23.5391 33.9214H34.5307",stroke:"#05BBE2",strokeWidth:"1.1566",strokeLinecap:"round",strokeLinejoin:"round"})]}),Bv=({color:e})=>u.jsx("svg",{width:"18",height:"20",viewBox:"0 0 18 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:u.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M15 14.1203C14.24 14.1203 13.56 14.4203 13.04 14.8903L5.91 10.7403C5.96 10.5103 6 10.2803 6 10.0403C6 9.80028 5.96 9.57028 5.91 9.34028L12.96 5.23028C13.5 5.73028 14.21 6.04028 15 6.04028C16.66 6.04028 18 4.70028 18 3.04028C18 1.38028 16.66 0.0402832 15 0.0402832C13.34 0.0402832 12 1.38028 12 3.04028C12 3.28028 12.04 3.51028 12.09 3.74028L5.04 7.85028C4.5 7.35028 3.79 7.04028 3 7.04028C1.34 7.04028 0 8.38028 0 10.0403C0 11.7003 1.34 13.0403 3 13.0403C3.79 13.0403 4.5 12.7303 5.04 12.2303L12.16 16.3903C12.11 16.6003 12.08 16.8203 12.08 17.0403C12.08 18.6503 13.39 19.9603 15 19.9603C16.61 19.9603 17.92 18.6503 17.92 17.0403C17.92 15.4303 16.61 14.1203 15 14.1203Z",fill:e||"#005EA2"})}),ft=({type:e,color:t,...n})=>{let r;switch(e){case"all_benefits":r=u.jsx(Nv,{});break;case"carrot-solid":r=u.jsx(Pv,{color:t});break;case"carrot":r=u.jsx(Lv,{color:t});break;case"close":r=u.jsx(Tv,{});break;case"death":r=u.jsx(Ov,{});break;case"disability":r=u.jsx(Mv,{});break;case"email":r=u.jsx(Rv,{color:t});break;case"green-check":r=u.jsx($v,{color:t});break;case"info":r=u.jsx(Dv,{color:t});break;case"open":r=u.jsx(Fv,{});break;case"modal-close":r=u.jsx(Iv,{color:t});break;case"retirement":r=u.jsx(Av,{});break;case"share":r=u.jsx(Bv,{color:t});break;default:r=null}return u.jsx("i",{...n,"data-testid":`icon-${e}`,children:r})};ft.propTypes={type:C.string,color:C.string,props:C.any};const Qf=({className:e,data:t,initialEligibilityLength:n,ui:r})=>{const{benefitSummary:l,benefitSummaryPrefix:i,benefitSummaryConjunction:o}=r,s=["bf-key-eligibility-criteria-group"];return u.jsx("div",{className:pt({className:e,defaultClasses:s}),children:t&&u.jsxs(u.Fragment,{children:[" ",u.jsxs(ee,{className:"bf-key-eligibility-criteria-heading",headingLevel:5,children:[`${l}`,u.jsx("span",{className:"bf-key-eligibility-criteria-sub-heading",children:` - ${i} ${t.length} ${o} + ${n}`})]}),u.jsx("ul",{className:"bf-key-eligibility-criteria-list","data-testid":"bf-key-eligibility-criteria-list",children:t.map((a,c)=>{const{criteriaKey:p,label:d}=a;return u.jsxs("li",{className:"bf-usa-list usa-list usa-list--unstyled bf-usa-list--unstyled bf-key-eligibility-criteria-list-item","data-testid":`${p}`,children:[u.jsx("div",{"aria-hidden":"true",children:u.jsx(ft,{type:"green-check","aria-hidden":"true"})}),d]},`${p}-${c}`)})})]})})};Qf.propTypes={className:C.string,data:C.array,initialEligibilityLength:C.number};const ds=({children:e})=>u.jsx("legend",{className:"bf-legend usa-legend",children:e});ds.propTypes={children:C.node};const va=({className:e,label:t,htmlFor:n})=>{const r=["bf-usa-label usa-label"];return u.jsx("label",{className:pt({className:e,defaultClasses:r}),htmlFor:n,children:t})};va.propTypes={className:C.string,label:C.string,htmlFor:C.string};var fs={exports:{}},wn={},ps={exports:{}},lt={},hs={exports:{}};(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=p;/*! * Adapted from jQuery UI core * * http://jqueryui.com @@ -52,16 +79,16 @@ object-assign * http://jquery.org/license * * http://api.jqueryui.com/category/ui-core/ - */var n="none",r="contents",l=/input|select|textarea|button|object|iframe/;function o(m,p){return p.getPropertyValue("overflow")!=="visible"||m.scrollWidth<=0&&m.scrollHeight<=0}function i(m){var p=m.offsetWidth<=0&&m.offsetHeight<=0;if(p&&!m.innerHTML)return!0;try{var g=window.getComputedStyle(m),S=g.getPropertyValue("display");return p?S!==r&&o(m,g):S===n}catch{return console.warn("Failed to inspect element style"),!1}}function s(m){for(var p=m,g=m.getRootNode&&m.getRootNode();p&&p!==document.body;){if(g&&p===g&&(p=g.host.parentNode),i(p))return!1;p=p.parentNode}return!0}function u(m,p){var g=m.nodeName.toLowerCase(),S=l.test(g)&&!m.disabled||g==="a"&&m.href||p;return S&&s(m)}function c(m){var p=m.getAttribute("tabindex");p===null&&(p=void 0);var g=isNaN(p);return(g||p>=0)&&u(m,!g)}function f(m){var p=[].slice.call(m.querySelectorAll("*"),0).reduce(function(g,S){return g.concat(S.shadowRoot?f(S.shadowRoot):[S])},[]);return p.filter(c)}e.exports=t.default})(Xi,Xi.exports);var gf=Xi.exports;Object.defineProperty(lt,"__esModule",{value:!0});lt.resetState=fm;lt.log=pm;lt.handleBlur=Vr;lt.handleFocus=Hr;lt.markForFocusLater=hm;lt.returnFocus=mm;lt.popWithoutFocus=vm;lt.setupScopedFocus=gm;lt.teardownScopedFocus=ym;var um=gf,cm=dm(um);function dm(e){return e&&e.__esModule?e:{default:e}}var qn=[],Pn=null,Ji=!1;function fm(){qn=[]}function pm(){}function Vr(){Ji=!0}function Hr(){if(Ji){if(Ji=!1,!Pn)return;setTimeout(function(){if(!Pn.contains(document.activeElement)){var e=(0,cm.default)(Pn)[0]||Pn;e.focus()}},0)}}function hm(){qn.push(document.activeElement)}function mm(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,t=null;try{qn.length!==0&&(t=qn.pop(),t.focus({preventScroll:e}));return}catch{console.warn(["You tried to return focus to",t,"but it is not in the DOM anymore"].join(" "))}}function vm(){qn.length>0&&qn.pop()}function gm(e){Pn=e,window.addEventListener?(window.addEventListener("blur",Vr,!1),document.addEventListener("focus",Hr,!0)):(window.attachEvent("onBlur",Vr),document.attachEvent("onFocus",Hr))}function ym(){Pn=null,window.addEventListener?(window.removeEventListener("blur",Vr),document.removeEventListener("focus",Hr)):(window.detachEvent("onBlur",Vr),document.detachEvent("onFocus",Hr))}var es={exports:{}};(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=i;var n=gf,r=l(n);function l(s){return s&&s.__esModule?s:{default:s}}function o(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:document;return s.activeElement.shadowRoot?o(s.activeElement.shadowRoot):s.activeElement}function i(s,u){var c=(0,r.default)(s);if(!c.length){u.preventDefault();return}var f=void 0,m=u.shiftKey,p=c[0],g=c[c.length-1],S=o();if(s===S){if(!m)return;f=g}if(g===S&&!m&&(f=p),p===S&&m&&(f=g),f){u.preventDefault(),f.focus();return}var x=/(\bChrome\b|\bSafari\b)\//.exec(navigator.userAgent),b=x!=null&&x[1]!="Chrome"&&/\biPod\b|\biPad\b/g.exec(navigator.userAgent)==null;if(b){var h=c.indexOf(S);if(h>-1&&(h+=m?-1:1),f=c[h],typeof f>"u"){u.preventDefault(),f=m?g:p,f.focus();return}u.preventDefault(),f.focus()}}e.exports=t.default})(es,es.exports);var wm=es.exports,ot={},xm=function(){},Sm=xm,nt={},yf={exports:{}};/*! + */var n="none",r="contents",l=/input|select|textarea|button|object|iframe/;function i(d,m){return m.getPropertyValue("overflow")!=="visible"||d.scrollWidth<=0&&d.scrollHeight<=0}function o(d){var m=d.offsetWidth<=0&&d.offsetHeight<=0;if(m&&!d.innerHTML)return!0;try{var y=window.getComputedStyle(d),x=y.getPropertyValue("display");return m?x!==r&&i(d,y):x===n}catch{return console.warn("Failed to inspect element style"),!1}}function s(d){for(var m=d,y=d.getRootNode&&d.getRootNode();m&&m!==document.body;){if(y&&m===y&&(m=y.host.parentNode),o(m))return!1;m=m.parentNode}return!0}function a(d,m){var y=d.nodeName.toLowerCase(),x=l.test(y)&&!d.disabled||y==="a"&&d.href||m;return x&&s(d)}function c(d){var m=d.getAttribute("tabindex");m===null&&(m=void 0);var y=isNaN(m);return(y||m>=0)&&a(d,!y)}function p(d){var m=[].slice.call(d.querySelectorAll("*"),0).reduce(function(y,x){return y.concat(x.shadowRoot?p(x.shadowRoot):[x])},[]);return m.filter(c)}e.exports=t.default})(hs,hs.exports);var Zf=hs.exports;Object.defineProperty(lt,"__esModule",{value:!0});lt.resetState=Hv;lt.log=Wv;lt.handleBlur=Xr;lt.handleFocus=Jr;lt.markForFocusLater=Kv;lt.returnFocus=qv;lt.popWithoutFocus=Qv;lt.setupScopedFocus=Zv;lt.teardownScopedFocus=Gv;var zv=Zf,Uv=Vv(zv);function Vv(e){return e&&e.__esModule?e:{default:e}}var Gn=[],Dn=null,ms=!1;function Hv(){Gn=[]}function Wv(){}function Xr(){ms=!0}function Jr(){if(ms){if(ms=!1,!Dn)return;setTimeout(function(){if(!Dn.contains(document.activeElement)){var e=(0,Uv.default)(Dn)[0]||Dn;e.focus()}},0)}}function Kv(){Gn.push(document.activeElement)}function qv(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,t=null;try{Gn.length!==0&&(t=Gn.pop(),t.focus({preventScroll:e}));return}catch{console.warn(["You tried to return focus to",t,"but it is not in the DOM anymore"].join(" "))}}function Qv(){Gn.length>0&&Gn.pop()}function Zv(e){Dn=e,window.addEventListener?(window.addEventListener("blur",Xr,!1),document.addEventListener("focus",Jr,!0)):(window.attachEvent("onBlur",Xr),document.attachEvent("onFocus",Jr))}function Gv(){Dn=null,window.addEventListener?(window.removeEventListener("blur",Xr),document.removeEventListener("focus",Jr)):(window.detachEvent("onBlur",Xr),document.detachEvent("onFocus",Jr))}var vs={exports:{}};(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=o;var n=Zf,r=l(n);function l(s){return s&&s.__esModule?s:{default:s}}function i(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:document;return s.activeElement.shadowRoot?i(s.activeElement.shadowRoot):s.activeElement}function o(s,a){var c=(0,r.default)(s);if(!c.length){a.preventDefault();return}var p=void 0,d=a.shiftKey,m=c[0],y=c[c.length-1],x=i();if(s===x){if(!d)return;p=y}if(y===x&&!d&&(p=m),m===x&&d&&(p=y),p){a.preventDefault(),p.focus();return}var g=/(\bChrome\b|\bSafari\b)\//.exec(navigator.userAgent),S=g!=null&&g[1]!="Chrome"&&/\biPod\b|\biPad\b/g.exec(navigator.userAgent)==null;if(S){var f=c.indexOf(x);if(f>-1&&(f+=d?-1:1),p=c[f],typeof p>"u"){a.preventDefault(),p=d?y:m,p.focus();return}a.preventDefault(),p.focus()}}e.exports=t.default})(vs,vs.exports);var Yv=vs.exports,it={},Xv=function(){},Jv=Xv,nt={},Gf={exports:{}};/*! Copyright (c) 2015 Jed Watson. Based on code that is Copyright 2013-2015, Facebook, Inc. All rights reserved. -*/(function(e){(function(){var t=!!(typeof window<"u"&&window.document&&window.document.createElement),n={canUseDOM:t,canUseWorkers:typeof Worker<"u",canUseEventListeners:t&&!!(window.addEventListener||window.attachEvent),canUseViewport:t&&!!window.screen};e.exports?e.exports=n:window.ExecutionEnvironment=n})()})(yf);var Cm=yf.exports;Object.defineProperty(nt,"__esModule",{value:!0});nt.canUseDOM=nt.SafeNodeList=nt.SafeHTMLCollection=void 0;var km=Cm,Em=_m(km);function _m(e){return e&&e.__esModule?e:{default:e}}var No=Em.default,jm=No.canUseDOM?window.HTMLElement:{};nt.SafeHTMLCollection=No.canUseDOM?window.HTMLCollection:{};nt.SafeNodeList=No.canUseDOM?window.NodeList:{};nt.canUseDOM=No.canUseDOM;nt.default=jm;Object.defineProperty(ot,"__esModule",{value:!0});ot.resetState=Om;ot.log=Mm;ot.assertNodeList=wf;ot.setElement=Pm;ot.validateElement=Js;ot.hide=Rm;ot.show=Dm;ot.documentNotReadyOrSSRTesting=$m;var Nm=Sm,bm=Tm(Nm),Lm=nt;function Tm(e){return e&&e.__esModule?e:{default:e}}var Ae=null;function Om(){Ae&&(Ae.removeAttribute?Ae.removeAttribute("aria-hidden"):Ae.length!=null?Ae.forEach(function(e){return e.removeAttribute("aria-hidden")}):document.querySelectorAll(Ae).forEach(function(e){return e.removeAttribute("aria-hidden")})),Ae=null}function Mm(){}function wf(e,t){if(!e||!e.length)throw new Error("react-modal: No elements were found for selector "+t+".")}function Pm(e){var t=e;if(typeof t=="string"&&Lm.canUseDOM){var n=document.querySelectorAll(t);wf(n,t),t=n}return Ae=t||Ae,Ae}function Js(e){var t=e||Ae;return t?Array.isArray(t)||t instanceof HTMLCollection||t instanceof NodeList?t:[t]:((0,bm.default)(!1,["react-modal: App element is not defined.","Please use `Modal.setAppElement(el)` or set `appElement={el}`.","This is needed so screen readers don't see main content","when modal is opened. It is not recommended, but you can opt-out","by setting `ariaHideApp={false}`."].join(" ")),[])}function Rm(e){var t=!0,n=!1,r=void 0;try{for(var l=Js(e)[Symbol.iterator](),o;!(t=(o=l.next()).done);t=!0){var i=o.value;i.setAttribute("aria-hidden","true")}}catch(s){n=!0,r=s}finally{try{!t&&l.return&&l.return()}finally{if(n)throw r}}}function Dm(e){var t=!0,n=!1,r=void 0;try{for(var l=Js(e)[Symbol.iterator](),o;!(t=(o=l.next()).done);t=!0){var i=o.value;i.removeAttribute("aria-hidden")}}catch(s){n=!0,r=s}finally{try{!t&&l.return&&l.return()}finally{if(n)throw r}}}function $m(){Ae=null}var Yn={};Object.defineProperty(Yn,"__esModule",{value:!0});Yn.resetState=Fm;Yn.log=Im;var Cr={},kr={};function ju(e,t){e.classList.remove(t)}function Fm(){var e=document.getElementsByTagName("html")[0];for(var t in Cr)ju(e,Cr[t]);var n=document.body;for(var r in kr)ju(n,kr[r]);Cr={},kr={}}function Im(){}var Am=function(t,n){return t[n]||(t[n]=0),t[n]+=1,n},zm=function(t,n){return t[n]&&(t[n]-=1),n},Bm=function(t,n,r){r.forEach(function(l){Am(n,l),t.add(l)})},Vm=function(t,n,r){r.forEach(function(l){zm(n,l),n[l]===0&&t.remove(l)})};Yn.add=function(t,n){return Bm(t.classList,t.nodeName.toLowerCase()=="html"?Cr:kr,n.split(" "))};Yn.remove=function(t,n){return Vm(t.classList,t.nodeName.toLowerCase()=="html"?Cr:kr,n.split(" "))};var Xn={};Object.defineProperty(Xn,"__esModule",{value:!0});Xn.log=Um;Xn.resetState=Wm;function Hm(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var xf=function e(){var t=this;Hm(this,e),this.register=function(n){t.openInstances.indexOf(n)===-1&&(t.openInstances.push(n),t.emit("register"))},this.deregister=function(n){var r=t.openInstances.indexOf(n);r!==-1&&(t.openInstances.splice(r,1),t.emit("deregister"))},this.subscribe=function(n){t.subscribers.push(n)},this.emit=function(n){t.subscribers.forEach(function(r){return r(n,t.openInstances.slice())})},this.openInstances=[],this.subscribers=[]},oo=new xf;function Um(){console.log("portalOpenInstances ----------"),console.log(oo.openInstances.length),oo.openInstances.forEach(function(e){return console.log(e)}),console.log("end portalOpenInstances ----------")}function Wm(){oo=new xf}Xn.default=oo;var ea={};Object.defineProperty(ea,"__esModule",{value:!0});ea.resetState=Zm;ea.log=Gm;var Km=Xn,qm=Qm(Km);function Qm(e){return e&&e.__esModule?e:{default:e}}var ye=void 0,Ye=void 0,un=[];function Zm(){for(var e=[ye,Ye],t=0;t 0?(document.body.firstChild!==ye&&document.body.insertBefore(ye,document.body.firstChild),document.body.lastChild!==Ye&&document.body.appendChild(Ye)):(ye.parentElement&&ye.parentElement.removeChild(ye),Ye.parentElement&&Ye.parentElement.removeChild(Ye))}qm.default.subscribe(Ym);(function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n=Object.assign||function(D){for(var F=1;F 0&&(ae-=1,ae===0&&g.show(O)),C.props.shouldFocusAfterRender&&(C.props.shouldReturnFocusAfterClose?(c.returnFocus(C.props.preventScroll),c.teardownScopedFocus()):c.popWithoutFocus()),C.props.onAfterClose&&C.props.onAfterClose(),v.default.deregister(C)},C.open=function(){C.beforeOpen(),C.state.afterOpen&&C.state.beforeClose?(clearTimeout(C.closeTimer),C.setState({beforeClose:!1})):(C.props.shouldFocusAfterRender&&(c.setupScopedFocus(C.node),c.markForFocusLater()),C.setState({isOpen:!0},function(){C.openAnimationFrame=requestAnimationFrame(function(){C.setState({afterOpen:!0}),C.props.isOpen&&C.props.onAfterOpen&&C.props.onAfterOpen({overlayEl:C.overlay,contentEl:C.content})})}))},C.close=function(){C.props.closeTimeoutMS>0?C.closeWithTimeout():C.closeWithoutTimeout()},C.focusContent=function(){return C.content&&!C.contentHasFocus()&&C.content.focus({preventScroll:!0})},C.closeWithTimeout=function(){var k=Date.now()+C.props.closeTimeoutMS;C.setState({beforeClose:!0,closesAt:k},function(){C.closeTimer=setTimeout(C.closeWithoutTimeout,C.state.closesAt-Date.now())})},C.closeWithoutTimeout=function(){C.setState({beforeClose:!1,isOpen:!1,afterOpen:!1,closesAt:null},C.afterClose)},C.handleKeyDown=function(k){R(k)&&(0,m.default)(C.content,k),C.props.shouldCloseOnEsc&&H(k)&&(k.stopPropagation(),C.requestClose(k))},C.handleOverlayOnClick=function(k){C.shouldClose===null&&(C.shouldClose=!0),C.shouldClose&&C.props.shouldCloseOnOverlayClick&&(C.ownerHandlesClose()?C.requestClose(k):C.focusContent()),C.shouldClose=null},C.handleContentOnMouseUp=function(){C.shouldClose=!1},C.handleOverlayOnMouseDown=function(k){!C.props.shouldCloseOnOverlayClick&&k.target==C.overlay&&k.preventDefault()},C.handleContentOnClick=function(){C.shouldClose=!1},C.handleContentOnMouseDown=function(){C.shouldClose=!1},C.requestClose=function(k){return C.ownerHandlesClose()&&C.props.onRequestClose(k)},C.ownerHandlesClose=function(){return C.props.onRequestClose},C.shouldBeClosed=function(){return!C.state.isOpen&&!C.state.beforeClose},C.contentHasFocus=function(){return document.activeElement===C.content||C.content.contains(document.activeElement)},C.buildClassName=function(k,O){var P=(typeof O>"u"?"undefined":r(O))==="object"?O:{base:B[k],afterOpen:B[k]+"--after-open",beforeClose:B[k]+"--before-close"},I=P.base;return C.state.afterOpen&&(I=I+" "+P.afterOpen),C.state.beforeClose&&(I=I+" "+P.beforeClose),typeof O=="string"&&O?I+" "+O:I},C.attributesFromObject=function(k,O){return Object.keys(O).reduce(function(P,I){return P[k+"-"+I]=O[I],P},{})},C.state={afterOpen:!1,beforeClose:!1},C.shouldClose=null,C.moveFromContentToOverlay=null,C}return l(F,[{key:"componentDidMount",value:function(){this.props.isOpen&&this.open()}},{key:"componentDidUpdate",value:function(C,k){this.props.isOpen&&!C.isOpen?this.open():!this.props.isOpen&&C.isOpen&&this.close(),this.props.shouldFocusAfterRender&&this.state.isOpen&&!k.isOpen&&this.focusContent()}},{key:"componentWillUnmount",value:function(){this.state.isOpen&&this.afterClose(),clearTimeout(this.closeTimer),cancelAnimationFrame(this.openAnimationFrame)}},{key:"beforeOpen",value:function(){var C=this.props,k=C.appElement,O=C.ariaHideApp,P=C.htmlOpenClassName,I=C.bodyOpenClassName,A=C.parentSelector,ne=A&&A().ownerDocument||document;I&&x.add(ne.body,I),P&&x.add(ne.getElementsByTagName("html")[0],P),O&&(ae+=1,g.hide(k)),v.default.register(this)}},{key:"render",value:function(){var C=this.props,k=C.id,O=C.className,P=C.overlayClassName,I=C.defaultStyles,A=C.children,ne=O?{}:I.content,oe=P?{}:I.overlay;if(this.shouldBeClosed())return null;var Yt={ref:this.setOverlayRef,className:this.buildClassName("overlay",P),style:n({},oe,this.props.style.overlay),onClick:this.handleOverlayOnClick,onMouseDown:this.handleOverlayOnMouseDown},Ke=n({id:k,ref:this.setContentRef,style:n({},ne,this.props.style.content),className:this.buildClassName("content",O),tabIndex:"-1",onKeyDown:this.handleKeyDown,onMouseDown:this.handleContentOnMouseDown,onMouseUp:this.handleContentOnMouseUp,onClick:this.handleContentOnClick,role:this.props.role,"aria-label":this.props.contentLabel},this.attributesFromObject("aria",n({modal:!0},this.props.aria)),this.attributesFromObject("data",this.props.data||{}),{"data-testid":this.props.testId}),Nt=this.props.contentElement(Ke,A);return this.props.overlayElement(Yt,Nt)}}]),F}(o.Component);Oe.defaultProps={style:{overlay:{},content:{}},defaultStyles:{}},Oe.propTypes={isOpen:s.default.bool.isRequired,defaultStyles:s.default.shape({content:s.default.object,overlay:s.default.object}),style:s.default.shape({content:s.default.object,overlay:s.default.object}),className:s.default.oneOfType([s.default.string,s.default.object]),overlayClassName:s.default.oneOfType([s.default.string,s.default.object]),parentSelector:s.default.func,bodyOpenClassName:s.default.string,htmlOpenClassName:s.default.string,ariaHideApp:s.default.bool,appElement:s.default.oneOfType([s.default.instanceOf(h.default),s.default.instanceOf(b.SafeHTMLCollection),s.default.instanceOf(b.SafeNodeList),s.default.arrayOf(s.default.instanceOf(h.default))]),onAfterOpen:s.default.func,onAfterClose:s.default.func,onRequestClose:s.default.func,closeTimeoutMS:s.default.number,shouldFocusAfterRender:s.default.bool,shouldCloseOnOverlayClick:s.default.bool,shouldReturnFocusAfterClose:s.default.bool,preventScroll:s.default.bool,role:s.default.string,contentLabel:s.default.string,aria:s.default.object,data:s.default.object,children:s.default.node,shouldCloseOnEsc:s.default.bool,overlayRef:s.default.func,contentRef:s.default.func,id:s.default.string,overlayElement:s.default.func,contentElement:s.default.func,testId:s.default.string},t.default=Oe,e.exports=t.default})(Yi,Yi.exports);var Xm=Yi.exports;function Sf(){var e=this.constructor.getDerivedStateFromProps(this.props,this.state);e!=null&&this.setState(e)}function Cf(e){function t(n){var r=this.constructor.getDerivedStateFromProps(e,n);return r??null}this.setState(t.bind(this))}function kf(e,t){try{var n=this.props,r=this.state;this.props=e,this.state=t,this.__reactInternalSnapshotFlag=!0,this.__reactInternalSnapshot=this.getSnapshotBeforeUpdate(n,r)}finally{this.props=n,this.state=r}}Sf.__suppressDeprecationWarning=!0;Cf.__suppressDeprecationWarning=!0;kf.__suppressDeprecationWarning=!0;function Jm(e){var t=e.prototype;if(!t||!t.isReactComponent)throw new Error("Can only polyfill class components");if(typeof e.getDerivedStateFromProps!="function"&&typeof t.getSnapshotBeforeUpdate!="function")return e;var n=null,r=null,l=null;if(typeof t.componentWillMount=="function"?n="componentWillMount":typeof t.UNSAFE_componentWillMount=="function"&&(n="UNSAFE_componentWillMount"),typeof t.componentWillReceiveProps=="function"?r="componentWillReceiveProps":typeof t.UNSAFE_componentWillReceiveProps=="function"&&(r="UNSAFE_componentWillReceiveProps"),typeof t.componentWillUpdate=="function"?l="componentWillUpdate":typeof t.UNSAFE_componentWillUpdate=="function"&&(l="UNSAFE_componentWillUpdate"),n!==null||r!==null||l!==null){var o=e.displayName||e.name,i=typeof e.getDerivedStateFromProps=="function"?"getDerivedStateFromProps()":"getSnapshotBeforeUpdate()";throw Error(`Unsafe legacy lifecycles will not be called for components using new component APIs. +*/(function(e){(function(){var t=!!(typeof window<"u"&&window.document&&window.document.createElement),n={canUseDOM:t,canUseWorkers:typeof Worker<"u",canUseEventListeners:t&&!!(window.addEventListener||window.attachEvent),canUseViewport:t&&!!window.screen};e.exports?e.exports=n:window.ExecutionEnvironment=n})()})(Gf);var eg=Gf.exports;Object.defineProperty(nt,"__esModule",{value:!0});nt.canUseDOM=nt.SafeNodeList=nt.SafeHTMLCollection=void 0;var tg=eg,ng=rg(tg);function rg(e){return e&&e.__esModule?e:{default:e}}var Ai=ng.default,lg=Ai.canUseDOM?window.HTMLElement:{};nt.SafeHTMLCollection=Ai.canUseDOM?window.HTMLCollection:{};nt.SafeNodeList=Ai.canUseDOM?window.NodeList:{};nt.canUseDOM=Ai.canUseDOM;nt.default=lg;Object.defineProperty(it,"__esModule",{value:!0});it.resetState=ug;it.log=cg;it.assertNodeList=Yf;it.setElement=dg;it.validateElement=ga;it.hide=fg;it.show=pg;it.documentNotReadyOrSSRTesting=hg;var ig=Jv,og=ag(ig),sg=nt;function ag(e){return e&&e.__esModule?e:{default:e}}var Ae=null;function ug(){Ae&&(Ae.removeAttribute?Ae.removeAttribute("aria-hidden"):Ae.length!=null?Ae.forEach(function(e){return e.removeAttribute("aria-hidden")}):document.querySelectorAll(Ae).forEach(function(e){return e.removeAttribute("aria-hidden")})),Ae=null}function cg(){}function Yf(e,t){if(!e||!e.length)throw new Error("react-modal: No elements were found for selector "+t+".")}function dg(e){var t=e;if(typeof t=="string"&&sg.canUseDOM){var n=document.querySelectorAll(t);Yf(n,t),t=n}return Ae=t||Ae,Ae}function ga(e){var t=e||Ae;return t?Array.isArray(t)||t instanceof HTMLCollection||t instanceof NodeList?t:[t]:((0,og.default)(!1,["react-modal: App element is not defined.","Please use `Modal.setAppElement(el)` or set `appElement={el}`.","This is needed so screen readers don't see main content","when modal is opened. It is not recommended, but you can opt-out","by setting `ariaHideApp={false}`."].join(" ")),[])}function fg(e){var t=!0,n=!1,r=void 0;try{for(var l=ga(e)[Symbol.iterator](),i;!(t=(i=l.next()).done);t=!0){var o=i.value;o.setAttribute("aria-hidden","true")}}catch(s){n=!0,r=s}finally{try{!t&&l.return&&l.return()}finally{if(n)throw r}}}function pg(e){var t=!0,n=!1,r=void 0;try{for(var l=ga(e)[Symbol.iterator](),i;!(t=(i=l.next()).done);t=!0){var o=i.value;o.removeAttribute("aria-hidden")}}catch(s){n=!0,r=s}finally{try{!t&&l.return&&l.return()}finally{if(n)throw r}}}function hg(){Ae=null}var lr={};Object.defineProperty(lr,"__esModule",{value:!0});lr.resetState=mg;lr.log=vg;var Pr={},Tr={};function Yu(e,t){e.classList.remove(t)}function mg(){var e=document.getElementsByTagName("html")[0];for(var t in Pr)Yu(e,Pr[t]);var n=document.body;for(var r in Tr)Yu(n,Tr[r]);Pr={},Tr={}}function vg(){}var gg=function(t,n){return t[n]||(t[n]=0),t[n]+=1,n},yg=function(t,n){return t[n]&&(t[n]-=1),n},wg=function(t,n,r){r.forEach(function(l){gg(n,l),t.add(l)})},xg=function(t,n,r){r.forEach(function(l){yg(n,l),n[l]===0&&t.remove(l)})};lr.add=function(t,n){return wg(t.classList,t.nodeName.toLowerCase()=="html"?Pr:Tr,n.split(" "))};lr.remove=function(t,n){return xg(t.classList,t.nodeName.toLowerCase()=="html"?Pr:Tr,n.split(" "))};var ir={};Object.defineProperty(ir,"__esModule",{value:!0});ir.log=Sg;ir.resetState=kg;function Cg(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var Xf=function e(){var t=this;Cg(this,e),this.register=function(n){t.openInstances.indexOf(n)===-1&&(t.openInstances.push(n),t.emit("register"))},this.deregister=function(n){var r=t.openInstances.indexOf(n);r!==-1&&(t.openInstances.splice(r,1),t.emit("deregister"))},this.subscribe=function(n){t.subscribers.push(n)},this.emit=function(n){t.subscribers.forEach(function(r){return r(n,t.openInstances.slice())})},this.openInstances=[],this.subscribers=[]},mi=new Xf;function Sg(){console.log("portalOpenInstances ----------"),console.log(mi.openInstances.length),mi.openInstances.forEach(function(e){return console.log(e)}),console.log("end portalOpenInstances ----------")}function kg(){mi=new Xf}ir.default=mi;var ya={};Object.defineProperty(ya,"__esModule",{value:!0});ya.resetState=jg;ya.log=Ng;var Eg=ir,_g=bg(Eg);function bg(e){return e&&e.__esModule?e:{default:e}}var ye=void 0,Ye=void 0,fn=[];function jg(){for(var e=[ye,Ye],t=0;t 0?(document.body.firstChild!==ye&&document.body.insertBefore(ye,document.body.firstChild),document.body.lastChild!==Ye&&document.body.appendChild(Ye)):(ye.parentElement&&ye.parentElement.removeChild(ye),Ye.parentElement&&Ye.parentElement.removeChild(Ye))}_g.default.subscribe(Lg);(function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n=Object.assign||function(I){for(var F=1;F 0&&(de-=1,de===0&&y.show(R)),k.props.shouldFocusAfterRender&&(k.props.shouldReturnFocusAfterClose?(c.returnFocus(k.props.preventScroll),c.teardownScopedFocus()):c.popWithoutFocus()),k.props.onAfterClose&&k.props.onAfterClose(),v.default.deregister(k)},k.open=function(){k.beforeOpen(),k.state.afterOpen&&k.state.beforeClose?(clearTimeout(k.closeTimer),k.setState({beforeClose:!1})):(k.props.shouldFocusAfterRender&&(c.setupScopedFocus(k.node),c.markForFocusLater()),k.setState({isOpen:!0},function(){k.openAnimationFrame=requestAnimationFrame(function(){k.setState({afterOpen:!0}),k.props.isOpen&&k.props.onAfterOpen&&k.props.onAfterOpen({overlayEl:k.overlay,contentEl:k.content})})}))},k.close=function(){k.props.closeTimeoutMS>0?k.closeWithTimeout():k.closeWithoutTimeout()},k.focusContent=function(){return k.content&&!k.contentHasFocus()&&k.content.focus({preventScroll:!0})},k.closeWithTimeout=function(){var _=Date.now()+k.props.closeTimeoutMS;k.setState({beforeClose:!0,closesAt:_},function(){k.closeTimer=setTimeout(k.closeWithoutTimeout,k.state.closesAt-Date.now())})},k.closeWithoutTimeout=function(){k.setState({beforeClose:!1,isOpen:!1,afterOpen:!1,closesAt:null},k.afterClose)},k.handleKeyDown=function(_){D(_)&&(0,d.default)(k.content,_),k.props.shouldCloseOnEsc&&q(_)&&(_.stopPropagation(),k.requestClose(_))},k.handleOverlayOnClick=function(_){k.shouldClose===null&&(k.shouldClose=!0),k.shouldClose&&k.props.shouldCloseOnOverlayClick&&(k.ownerHandlesClose()?k.requestClose(_):k.focusContent()),k.shouldClose=null},k.handleContentOnMouseUp=function(){k.shouldClose=!1},k.handleOverlayOnMouseDown=function(_){!k.props.shouldCloseOnOverlayClick&&_.target==k.overlay&&_.preventDefault()},k.handleContentOnClick=function(){k.shouldClose=!1},k.handleContentOnMouseDown=function(){k.shouldClose=!1},k.requestClose=function(_){return k.ownerHandlesClose()&&k.props.onRequestClose(_)},k.ownerHandlesClose=function(){return k.props.onRequestClose},k.shouldBeClosed=function(){return!k.state.isOpen&&!k.state.beforeClose},k.contentHasFocus=function(){return document.activeElement===k.content||k.content.contains(document.activeElement)},k.buildClassName=function(_,R){var L=(typeof R>"u"?"undefined":r(R))==="object"?R:{base:B[_],afterOpen:B[_]+"--after-open",beforeClose:B[_]+"--before-close"},M=L.base;return k.state.afterOpen&&(M=M+" "+L.afterOpen),k.state.beforeClose&&(M=M+" "+L.beforeClose),typeof R=="string"&&R?M+" "+R:M},k.attributesFromObject=function(_,R){return Object.keys(R).reduce(function(L,M){return L[_+"-"+M]=R[M],L},{})},k.state={afterOpen:!1,beforeClose:!1},k.shouldClose=null,k.moveFromContentToOverlay=null,k}return l(F,[{key:"componentDidMount",value:function(){this.props.isOpen&&this.open()}},{key:"componentDidUpdate",value:function(k,_){this.props.isOpen&&!k.isOpen?this.open():!this.props.isOpen&&k.isOpen&&this.close(),this.props.shouldFocusAfterRender&&this.state.isOpen&&!_.isOpen&&this.focusContent()}},{key:"componentWillUnmount",value:function(){this.state.isOpen&&this.afterClose(),clearTimeout(this.closeTimer),cancelAnimationFrame(this.openAnimationFrame)}},{key:"beforeOpen",value:function(){var k=this.props,_=k.appElement,R=k.ariaHideApp,L=k.htmlOpenClassName,M=k.bodyOpenClassName,z=k.parentSelector,fe=z&&z().ownerDocument||document;M&&g.add(fe.body,M),L&&g.add(fe.getElementsByTagName("html")[0],L),R&&(de+=1,y.hide(_)),v.default.register(this)}},{key:"render",value:function(){var k=this.props,_=k.id,R=k.className,L=k.overlayClassName,M=k.defaultStyles,z=k.children,fe=R?{}:M.content,_e=L?{}:M.overlay;if(this.shouldBeClosed())return null;var Jt={ref:this.setOverlayRef,className:this.buildClassName("overlay",L),style:n({},_e,this.props.style.overlay),onClick:this.handleOverlayOnClick,onMouseDown:this.handleOverlayOnMouseDown},ot=n({id:_,ref:this.setContentRef,style:n({},fe,this.props.style.content),className:this.buildClassName("content",R),tabIndex:"-1",onKeyDown:this.handleKeyDown,onMouseDown:this.handleContentOnMouseDown,onMouseUp:this.handleContentOnMouseUp,onClick:this.handleContentOnClick,role:this.props.role,"aria-label":this.props.contentLabel},this.attributesFromObject("aria",n({modal:!0},this.props.aria)),this.attributesFromObject("data",this.props.data||{}),{"data-testid":this.props.testId}),$=this.props.contentElement(ot,z);return this.props.overlayElement(Jt,$)}}]),F}(i.Component);Te.defaultProps={style:{overlay:{},content:{}},defaultStyles:{}},Te.propTypes={isOpen:s.default.bool.isRequired,defaultStyles:s.default.shape({content:s.default.object,overlay:s.default.object}),style:s.default.shape({content:s.default.object,overlay:s.default.object}),className:s.default.oneOfType([s.default.string,s.default.object]),overlayClassName:s.default.oneOfType([s.default.string,s.default.object]),parentSelector:s.default.func,bodyOpenClassName:s.default.string,htmlOpenClassName:s.default.string,ariaHideApp:s.default.bool,appElement:s.default.oneOfType([s.default.instanceOf(f.default),s.default.instanceOf(S.SafeHTMLCollection),s.default.instanceOf(S.SafeNodeList),s.default.arrayOf(s.default.instanceOf(f.default))]),onAfterOpen:s.default.func,onAfterClose:s.default.func,onRequestClose:s.default.func,closeTimeoutMS:s.default.number,shouldFocusAfterRender:s.default.bool,shouldCloseOnOverlayClick:s.default.bool,shouldReturnFocusAfterClose:s.default.bool,preventScroll:s.default.bool,role:s.default.string,contentLabel:s.default.string,aria:s.default.object,data:s.default.object,children:s.default.node,shouldCloseOnEsc:s.default.bool,overlayRef:s.default.func,contentRef:s.default.func,id:s.default.string,overlayElement:s.default.func,contentElement:s.default.func,testId:s.default.string},t.default=Te,e.exports=t.default})(ps,ps.exports);var Pg=ps.exports;function Jf(){var e=this.constructor.getDerivedStateFromProps(this.props,this.state);e!=null&&this.setState(e)}function ep(e){function t(n){var r=this.constructor.getDerivedStateFromProps(e,n);return r??null}this.setState(t.bind(this))}function tp(e,t){try{var n=this.props,r=this.state;this.props=e,this.state=t,this.__reactInternalSnapshotFlag=!0,this.__reactInternalSnapshot=this.getSnapshotBeforeUpdate(n,r)}finally{this.props=n,this.state=r}}Jf.__suppressDeprecationWarning=!0;ep.__suppressDeprecationWarning=!0;tp.__suppressDeprecationWarning=!0;function Tg(e){var t=e.prototype;if(!t||!t.isReactComponent)throw new Error("Can only polyfill class components");if(typeof e.getDerivedStateFromProps!="function"&&typeof t.getSnapshotBeforeUpdate!="function")return e;var n=null,r=null,l=null;if(typeof t.componentWillMount=="function"?n="componentWillMount":typeof t.UNSAFE_componentWillMount=="function"&&(n="UNSAFE_componentWillMount"),typeof t.componentWillReceiveProps=="function"?r="componentWillReceiveProps":typeof t.UNSAFE_componentWillReceiveProps=="function"&&(r="UNSAFE_componentWillReceiveProps"),typeof t.componentWillUpdate=="function"?l="componentWillUpdate":typeof t.UNSAFE_componentWillUpdate=="function"&&(l="UNSAFE_componentWillUpdate"),n!==null||r!==null||l!==null){var i=e.displayName||e.name,o=typeof e.getDerivedStateFromProps=="function"?"getDerivedStateFromProps()":"getSnapshotBeforeUpdate()";throw Error(`Unsafe legacy lifecycles will not be called for components using new component APIs. -`+o+" uses "+i+" but also contains the following legacy lifecycles:"+(n!==null?` +`+i+" uses "+o+" but also contains the following legacy lifecycles:"+(n!==null?` `+n:"")+(r!==null?` `+r:"")+(l!==null?` `+l:"")+` The above lifecycles should be removed. Learn more about this warning here: -https://fb.me/react-async-component-lifecycle-hooks`)}if(typeof e.getDerivedStateFromProps=="function"&&(t.componentWillMount=Sf,t.componentWillReceiveProps=Cf),typeof t.getSnapshotBeforeUpdate=="function"){if(typeof t.componentDidUpdate!="function")throw new Error("Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype");t.componentWillUpdate=kf;var s=t.componentDidUpdate;t.componentDidUpdate=function(c,f,m){var p=this.__reactInternalSnapshotFlag?this.__reactInternalSnapshot:m;s.call(this,c,f,p)}}return e}const ev=Object.freeze(Object.defineProperty({__proto__:null,polyfill:Jm},Symbol.toStringTag,{value:"Module"})),tv=pp(ev);Object.defineProperty(vn,"__esModule",{value:!0});vn.bodyOpenClassName=vn.portalClassName=void 0;var bu=Object.assign||function(e){for(var t=1;t {const g=M.useRef(null),{modal:S,errors:x}=se.dataLayerStructure,b=()=>{u().then(E=>E===!0?f(!0):window.scrollTo(0,0)&&m.current.focus())},h=E=>(E&&E.current.focus(),window.location.hash="",hu.disableScroll(),f(!1),!0),d=E=>E.which===32||E.which===13;M.useEffect(()=>{c&&hu.enableScroll()},[c]),M.useEffect(()=>{const E=()=>{const N=document.getElementById("benefit-finder");N&&N.hasAttribute("aria-hidden")&&N.removeAttribute("aria-hidden")};return Ru.setAppElement("#benefit-finder"),E()},[]),c===!0&&Zr({pageView:S.bfData.pageView}),M.useEffect(()=>{(async()=>{c===!0&&se.dataLayerPush(window,{event:S.event,bfData:{pageView:S.bfData.pageView,viewTitle:`${p.viewTitle} modal`}})})().then(()=>{c===!0&&se.dataLayerPush(window,{event:x.event,bfData:{errors:"",errorCount:{number:0,string:"0"},formSuccess:!0}})})},[]);const v=({triggerLabel:E,onKeyDown:N,onClick:j})=>a.jsx(ta,{onClick:j,onKeyDown:N,noCarrot:!0,tabIndex:"0",triggerRef:g,"aria-label":"Continue",role:"button",children:E}),w=({navItemOneLabel:E,navItemOneFunction:N,navItemTwoLabel:j,navItemTwoFunction:L})=>{const B=H=>{h(g)&&H()},R=(H,ae)=>{d(H)&&h(g)&&ae()};return a.jsxs("ul",{className:"bf-modal bf-usa-button-group usa-button-group width-full",children:[a.jsx("li",{className:"bf-usa-button-group__item usa-button-group__item width-full",children:a.jsx(Te,{id:"bf-navItemOneBtn",className:"bf-nav-item-one width-full",onClick:()=>B(N),onKeyDown:H=>R(H,N),noCarrot:!0,tabIndex:"0",secondary:!0,children:E})},"bf-nav-item-one"),a.jsx("li",{className:"bf-usa-button-group__item usa-button-group__item width-full",children:a.jsx(Te,{id:"bf-navItemTwoBtn",className:"bf-nav-item-two width-full",onClick:()=>B(L),onKeyDown:H=>R(H,L),noCarrot:!0,tabIndex:"0",secondary:!0,children:j})},"nav-item-two")]})};return a.jsxs("div",{id:e,className:"bf-usa-modal-group",children:[a.jsx(v,{triggerLabel:n,onKeyDown:E=>d(E)&&b(),onClick:()=>b()}),a.jsxs(Ru,{id:"benefit-finder-modal",isOpen:c,onRequestClose:()=>h(g),style:mv,aria:{label:r},children:[a.jsx("button",{type:"button","aria-label":"Close",className:"bf-modal-button",onClick:()=>h(g),children:a.jsx(dt,{type:"modal-close",color:"black","aria-hidden":"true"})}),a.jsx(ee,{headingLevel:1,className:"bf-modal-heading",children:r}),t||a.jsx(w,{navItemOneLabel:l,navItemOneFunction:o,navItemTwoLabel:i,navItemTwoFunction:s})]})]})};_f.propTypes={id:y.string,children:y.node,triggerLabel:y.string,modalHeading:y.string,navItemOneLabel:y.string,navItemOneFunction:y.func,navItemTwoLabel:y.string,navItemTwoFunction:y.func,handleCheckRequriedFields:y.func};const jf=({data:e,iconAlt:t})=>{const n=r=>r&&r.data.map((l,o)=>a.jsxs("li",{className:"bf-notice",children:[a.jsx(dt,{type:"info","aria-label":t,role:"img"}),a.jsx("div",{className:"bf-notice-item",dangerouslySetInnerHTML:jt(l.notice)})]},`notice-${o}`));return a.jsx("div",{className:"bf-notices",children:a.jsx("ul",{className:"bf-notices-list add-list-reset",children:a.jsx(n,{data:e})})})};jf.propTypes={data:y.array};const ta=({children:e,className:t,href:n,rel:r,target:l,ext:o,noCarrot:i,triggerRef:s,...u})=>{const c=o?["bf-usa-button","usa-button","usa-button--secondary","bf-usa-button--secondary","bf-usa-link--external","usa-link--external","bf-obfuscated-link"]:["bf-usa-button","usa-button","bf-usa-button--secondary","usa-button--secondary","bf-obfuscated-link"],f=i===!0?null:a.jsx(dt,{type:"carrot-solid",color:"black","aria-hidden":"true"});return a.jsxs("a",{href:n,rel:r,target:l,className:ft({className:t,defaultClasses:c}),ref:s,...u,children:[e,f]})};ta.propTypes={children:y.node,className:y.string,href:y.string,rel:y.string,target:y.string,ext:y.bool,noCarrot:y.bool};y.node||y.string,y.oneOf(["regular","bold","extrabold","light","thin"]);const Nf=({steps:e})=>a.jsx("ol",{className:"bf-usa-process-list usa-process-list",children:e&&e.map((t,n)=>a.jsx("li",{className:"bf-usa-process-list__item usa-process-list__item",children:a.jsx("h3",{className:"bf-usa-process-list__heading usa-process-list__heading",children:t.title})},`process-item-${n}`))});Nf.propTypes={steps:y.array};const bf=({id:e,label:t,value:n,checked:r,onChange:l,required:o,className:i,name:s})=>{const u=o===!0?["required-field"]:"",c=["bf-usa-radio__input usa-radio__input"],f=u;return a.jsx(a.Fragment,{children:a.jsxs("div",{className:"bf-usa-radio usa-radio",children:[a.jsx("input",{className:ft({className:i,defaultClasses:c,utilityClasses:f}),type:"radio",name:s,value:n||e,checked:r,onChange:l,id:e}),a.jsx(Xs,{className:"bf-usa-radio__label usa-radio__label",htmlFor:e,label:t})]})})};bf.propTypes={id:y.string,label:y.string,value:y.string,checked:y.bool,onChange:y.func,className:y.string,name:y.string};const Lf=({invalid:e,values:t,fieldSetId:n,handleChanged:r,criteriaKey:l,errorMessage:o,legend:i,ui:s})=>{const u=s,c=o?`${o}`:`${u==null?void 0:u.prefix} ${i&&i.toLowerCase()} ${u==null?void 0:u.suffix}`;return a.jsx("div",{className:"bf-radio-group radio-group","aria-invalid":e,children:t&&t.map((f,m)=>{const p=`${n}_${m}`;return a.jsx(bf,{name:n,id:p,label:f.value,value:f.value,checked:f.selected||!1,onChange:g=>{r(g,l)},"data-errormessage":c,"aria-errormessage":`error-description-${p}`},p)})})};Lf.propTypes={invalid:y.bool,values:y.array,fieldSetId:y.string,handleChanged:y.func,criteriaKey:y.string};const Tf=({data:e,carrotType:t})=>a.jsx("ul",{className:"bf-usa-card-group usa-card-group",children:e&&e.map((n,r)=>{const{title:l,searchTitle:o,link:i,cta:s,body:u,lifeEventId:c}=n.lifeEvent,f=c.replace("es_","");return a.jsx(cf,{className:"bf-usa-card--relative-benefit bf-usa-card usa-card tablet:grid-col-12",title:o||l,cta:s,href:i,body:u,carrotType:t,icon:f,"data-testid":f},`${l}-${r}`)})});Tf.propTypes={data:y.array,carrotType:y.string};const Of=({ui:e})=>{const{eligible:t,summaryBox:n}=e;return a.jsxs("div",{children:[a.jsx(ee,{className:"bf-eligible-view-heading",headingLevel:2,children:t==null?void 0:t.heading}),a.jsx(ee,{className:"bf-eligible-view-description",headingLevel:3,dangerouslySetInnerHTML:jt(t==null?void 0:t.description)}),a.jsx(ra,{heading:n==null?void 0:n.heading,listItems:n==null?void 0:n.list,cta:n==null?void 0:n.cta})]})};Of.propTypes={props:y.any};const Mf=({ui:e})=>{const{notEligible:t,summaryBox:n}=e;return a.jsxs("div",{children:[a.jsx(ee,{className:"bf-not-eligible-view-heading",headingLevel:2,children:t==null?void 0:t.heading}),a.jsx(ee,{className:"bf-not-eligible-view-description",headingLevel:3,dangerouslySetInnerHTML:jt(t==null?void 0:t.description)}),a.jsx(ra,{heading:n==null?void 0:n.heading,listItems:n==null?void 0:n.list,cta:n==null?void 0:n.cta})]})};Mf.propTypes={props:y.any};const Pf=({handleViewToggle:e,notEligibleView:t,ui:n})=>a.jsxs(a.Fragment,{children:[a.jsx(ee,{className:"bf-zero-benefits-view-heading","data-testid":"zero-benefits-view-heading",headingLevel:2,children:n==null?void 0:n.heading}),a.jsx(ee,{className:"bf-zero-benefits-view-description",headingLevel:3,dangerouslySetInnerHTML:jt(n==null?void 0:n.description)}),!t&&a.jsx("div",{className:"bf-zero-benefits-view-cta",children:a.jsx(Te,{"data-testid":"zero-benefits-view-cta-button",onClick:e,secondary:!0,children:n==null?void 0:n.cta})})]});Pf.propTypes={handleViewToggle:y.func,notEligibleView:y.bool,ui:y.object};const Rf=({notEligibleView:e,zeroBenefitsResult:t,stepDataArray:n,isExpandAll:r,setExpandAll:l,handleStepBack:o,handleViewToggle:i,data:s,relevantBenefits:u,resetElement:c,ui:f})=>{const m=({notEligibleView:d,zeroBenefitsResult:v,ui:w})=>{const{eligible:E,notEligible:N,zeroBenefits:j}=w;return a.jsx(Ys,{heading:d===!1?v&&(j==null?void 0:j.eligible.chevron.heading)||(E==null?void 0:E.chevron.heading):v&&(j==null?void 0:j.notEligible.chevron.heading)||(N==null?void 0:N.chevron.heading),description:d===!1?v&&(j==null?void 0:j.eligible.chevron.description)||(E==null?void 0:E.chevron.description):v&&(j==null?void 0:j.notEligible.chevron.description)||(N==null?void 0:N.chevron.description)})},p=({zeroBenefitsResult:d,notEligibleView:v,ui:w})=>{const{notEligible:E,eligible:N,summaryBox:j,zeroBenefits:L}=w;return d?a.jsx(Pf,{handleViewToggle:i,notEligibleView:v,ui:L}):v?a.jsx(Mf,{ui:{notEligible:E,summaryBox:j}}):a.jsx(Of,{ui:{eligible:N,summaryBox:j}})},g=({notEligibleView:d,handleStepBack:v,ui:w})=>{const{stepBackButton:E}=w;return d===!1?a.jsx(na,{onClick:()=>c.current.focus(),setCurrent:v,children:E}):a.jsx(Te,{className:"bf-step-back-button",onClick:()=>i(),unstyled:!0,children:E})},S=({handleViewToggle:d,ui:v})=>{const{notEligibleResults:w}=v;return a.jsxs("div",{className:"bf-result-view-unmet",children:[a.jsx(ee,{className:"bf-result-view-unmet-heading",headingLevel:3,children:w==null?void 0:w.heading}),a.jsx("p",{dangerouslySetInnerHTML:jt(w==null?void 0:w.description)}),a.jsx("div",{className:"bf-result-view-cta-wrapper",children:a.jsx(Te,{"data-testid":"bf-result-view-unmet-button",secondary:!0,onClick:d,children:w==null?void 0:w.cta})})]})},x=({stepDataArray:d,ui:v})=>{const{shareResults:w}=v;return a.jsxs("div",{className:"bf-result-view-share-results",children:[a.jsx(ee,{className:"bf-result-view-share-results-heading",headingLevel:3,children:w==null?void 0:w.heading}),a.jsx("p",{children:w==null?void 0:w.description}),a.jsxs("ul",{className:"bf-result-view-share-results-button-group",children:[a.jsxs("li",{children:[" ",a.jsx(vv,{ui:w,data:d&&q.SelectedValueAll(d)})]}),a.jsxs("li",{children:[" ",a.jsx(Z0,{ui:w,data:d&&q.SelectedValueAll(d)})]})]})]})},b=({relevantBenefits:d,ui:v})=>{const{resultsRelativeBenefits:w}=v;return a.jsxs("div",{className:"bf-result-view-relvant-benefits",children:[a.jsx(ee,{className:"bf-result-view-relvant-benefits-heading",headingLevel:3,children:w==null?void 0:w.heading}),d&&a.jsx(Tf,{data:d,carrotType:"carrot"})]})},h=({zeroBenefitsResult:d,notEligibleView:v,stepDataArray:w,isExpandAll:E,setExpandAll:N,ui:j})=>a.jsx("div",{className:"bf-result-view-benefits",children:a.jsx(uf,{data:w&&q.ElegibilityByCriteria(q.SelectedValueAll(w),s),entryKey:"benefit",notEligibleView:v,expandAll:d===!1||d&&v,isExpandAll:E,setExpandAll:N,ui:j})});return a.jsxs(a.Fragment,{children:[a.jsx(m,{notEligibleView:e,zeroBenefitsResult:t,ui:f}),a.jsx("div",{className:"bf-grid-container grid-container",children:a.jsxs("div",{className:"bf-result-view-details",children:[a.jsx(g,{notEligibleView:e,ui:f,handleStepBack:o}),a.jsx(p,{zeroBenefitsResult:t,notEligibleView:e,ui:f}),a.jsx(h,{zeroBenefitsResult:t,notEligibleView:e,isExpandAll:r,setExpandAll:l,stepDataArray:n,ui:f}),e===!1&&t===!1&&a.jsx(S,{notEligibleView:e,zeroBenefitsResult:t,handleViewToggle:i,ui:f}),(u==null?void 0:u.length)>0&&a.jsx(b,{relevantBenefits:u,ui:f}),a.jsx(x,{stepDataArray:n,ui:f})]})})]})};Rf.propTypes={props:y.any};const Df=({handleStepBack:e,stepDataArray:t,relevantBenefits:n,ui:r,data:l})=>{const[o,i]=M.useState(!1),[s,u]=M.useState(null),{resultsView:c}=se.dataLayerStructure,[f,m]=M.useState(!1),p=Gr();M.useEffect(()=>{var d;(d=p.current)==null||d.focus()},[p]);const g=t&&q.SelectedValueAll(t).length,S=t&&q.ElegibilityByCriteria(q.SelectedValueAll(t),l).length,x=d=>{const v=[],w=document.querySelectorAll(".bf-accordion-sub-heading");for(const E of w)E.textContent.includes(d)&&v.push(E);return{number:v.length,string:`${v.length}`}},b=()=>{m(!1),i(!o),window.scrollTo(0,0),p.current.focus()},h=(s==null?void 0:s.eligibleBenefitCount.number)===0;return M.useEffect(()=>{window.scrollTo(0,0),u({eligibleBenefitCount:x(r.benefitAccordion.eligibleStatusLabels[0]),moreInfoBenefitCount:x(r.benefitAccordion.eligibleStatusLabels[1]),notEligibleBenefitCount:x(r.benefitAccordion.eligibleStatusLabels[2])})},[]),Zr({pageView:o===!0?c.bfData.pageView[1]:c.bfData.pageView[0],notEligibleView:o}),M.useEffect(()=>{s!==null&&se.dataLayerPush(window,{event:c.event,bfData:{pageView:o===!0?c.bfData.pageView[1]:c.bfData.pageView[0],viewTitle:o===!1?h&&r.zeroBenefits.eligible.chevron.heading||(r==null?void 0:r.eligible.chevron.heading):h&&(r==null?void 0:r.zeroBenefits.notEligible.chevron.heading)||(r==null?void 0:r.notEligible.chevron.heading),...s}})},[o,s]),M.useEffect(()=>{Gd({hide:!1})},[]),a.jsx("div",{className:"bf-result-view","data-testid":"bf-result-view","data-analytics":"bf-result-view","data-analytics-content":o===!0?"bf-not-eligible-view":"bf-eligible-view","data-analytics-content-criteria-values":g,"data-analytics-content-benefits":S,"data-analytics-content-eligible":s==null?void 0:s.eligibleBenefitCount.number,"data-analytics-content-not-eligible":s==null?void 0:s.notEligibleBenefitCount.number,"data-analytics-content-more-info":s==null?void 0:s.moreInfoBenefitCount.number,children:a.jsx(Rf,{handleStepBack:e,notEligibleView:o,zeroBenefitsResult:h,stepDataArray:t,handleViewToggle:b,isExpandAll:f,setExpandAll:m,relevantBenefits:n,resetElement:p,data:l,ui:r})})};Df.propTypes={handleStepBack:y.func,ui:y.object,data:y.array};const vv=({ui:e,data:t})=>{const[n,r]=M.useState(()=>to(window.location.href,t)),l=o=>{o.preventDefault(),r(to(window.location.href,t)),navigator.clipboard.writeText(n).then(()=>alert(`${e==null?void 0:e.shareLinkContent} ${n}`),i=>alert("Failed to copy",i))};return a.jsx("a",{href:"",className:"bf-share-trigger bf-usa-link usa-link",onClick:o=>l(o),"data-testid":"bf-share-trigger",children:(e==null?void 0:e.shareTrigger)||"Share"})},$f=({data:e,noHeadings:t,current:n,setCurrent:r,backLinkLabel:l,handleCheckRequriedFields:o})=>{const i=({completed:u})=>a.jsx("span",{className:"usa-sr-only",children:u?" completed":" not completed"}),s=({heading:u,current:c,completed:f,index:m})=>{const p=c===m?"--current":"";return a.jsx("li",{className:`bf-usa-step-indicator__segment usa-step-indicator__segment bf-usa-step-indicator__segment${p} usa-step-indicator__segment${p} ${f===!0?"bf-usa-step-indicator__segment--complete usa-step-indicator__segment--complete":""}`,"aria-current":c===m,children:a.jsxs("span",{className:"bf-usa-step-indicator__segment-label usa-step-indicator__segment-label",children:[!t&&u,a.jsx(i,{completed:f},`step-indicator-sr-${m}`)]},`step-indicator-label-${m}`)},`step-indicator-${u}`)};return a.jsxs("div",{children:[e&&e.length>0&&a.jsx("div",{className:"bf-usa-step-indicator usa-step-indicator","aria-label":"progress",tabIndex:0,children:a.jsx("ol",{className:"bf-usa-step-indicator__segments usa-step-indicator__segments",children:e&&e.map((u,c)=>{const f=u.section.heading,m=u.completed;return a.jsx(s,{heading:f,index:c,current:n,setCurrent:r,completed:m,handleCheckRequriedFields:o},`${f}-${c}`)})})}),a.jsx(na,{currentIndex:n,setCurrent:r,children:l})]})};$f.propTypes={data:y.array,noHeadings:y.bool,current:y.number,backLinkLabel:y.string};const na=({children:e,setCurrent:t,currentIndex:n})=>{const r=Gr(),l=()=>{t(n),r.current.focus()};return a.jsx(Te,{className:"bf-step-back-button",unstyled:!0,onClick:()=>l(),children:e||"Back"})};na.propTypes={children:y.node,setCurrent:y.func,currentIndex:y.number};function Ff({label:e,htmlFor:t,options:n,selected:r,onChange:l,ui:o,className:i,invalid:s,legend:u,errorMessage:c}){const{select:f,errorText:m}=o,p=[`bf-usa-select usa-select ${s===!0?"usa-input--error":""}`],g=({options:x})=>x.map(b=>a.jsx("option",{value:b.value,children:b.value},b.value)),S=c?`${c}`:`${m==null?void 0:m.prefix} ${u&&u.toLowerCase()} ${m==null?void 0:m.suffix}`;return a.jsxs(a.Fragment,{children:[a.jsx(Xs,{label:e||(f==null?void 0:f.labelSelect),htmlFor:t}),a.jsxs("select",{className:ft({className:i,defaultClasses:p}),name:t,id:t,onChange:l,value:r||"","aria-invalid":s===!0,"data-errormessage":S,"aria-errormessage":`error-description-${t}`,children:[a.jsx("option",{value:"",children:f==null?void 0:f.defaultValue},"default"),a.jsx(g,{options:n})]})]})}Ff.propTypes={label:y.string,htmlFor:y.string,options:y.array,selected:y.string,onChange:y.func,required:y.bool,ui:y.object,className:y.string,invalid:y.bool};const ra=({heading:e,listItems:t,cta:n})=>{const r=l=>{l.preventDefault(),window.location.href=`${window.location.origin}${window.location.pathname}`};return a.jsx("div",{className:"bf-usa-summary-box usa-summary-box",role:"region","aria-labelledby":"bf-summary-box-key-information",children:a.jsxs("div",{className:"bf-usa-summary-box__body usa-summary-box__body",children:[a.jsx(ee,{headingLevel:4,className:"bf-usa-summary-box__heading usa-summary-box__heading",id:"bf-summary-box-key-information",children:e}),a.jsx("div",{className:"bf-usa-summary-box__text usa-summary-box__text",children:a.jsxs("ul",{className:"bf-usa-list usa-list",children:[t&&t.map((l,o)=>a.jsx("li",{children:l.item},`bf-summary-list-${o}`)),a.jsxs("li",{children:[n==null?void 0:n.text," ",a.jsx("a",{className:"bf-usa-summary-box__link usa-summary-box__link",href:"#",onClick:l=>r(l),children:n==null?void 0:n.link})]})]})})]})})};ra.propTypes={props:y.any};y.string,y.string,y.string,y.bool;const If=({timeEstimate:e,description:t})=>a.jsxs("div",{className:"time-indicator",children:[t," ",e]});If.propTypes={description:y.string,timeEstimate:y.string};const Af=({handleStepForward:e,handleStepBack:t,ui:n,data:r})=>{const{stepIndicator:l,verifySelectionsView:o,buttonGroup:i}=n,{verifySelections:s}=se.dataLayerStructure,u=q.Language(),c={year:"numeric",month:"long",day:"numeric"},f=({item:g,index:S})=>a.jsxs("div",{className:"bf-verify-criteria-value",children:[a.jsx("div",{className:"bf-verify-criteria-legend",children:g.fieldset.legend},`bf-criteria-${g.fieldset.criteriaKey}-${S}`),o==null?void 0:o.noResultsLabel]}),m=({criteriaId:g,legend:S,selected:x})=>a.jsxs("div",{className:"bf-verify-criteria-value",children:[a.jsx("div",{className:"bf-verify-criteria-legend",children:S}),typeof(x==null?void 0:x.value)=="object"?`${Qh(x.value).toLocaleDateString(u,c)}`:x==null?void 0:x.value]},g),p=({item:g,index:S})=>a.jsxs("div",{children:[m({criteriaId:`criteria-${g.fieldset.criteriaKey}-${S}`,legend:g.fieldset.legend,selected:q.SelectedValue(g)}),q.Children(g).map(x=>q.SelectedValue(x)?m({criteriaId:x.fieldset.criteriaKey,legend:x.fieldset.legend,selected:q.SelectedValue(x)}):a.jsx(f,{item:x},x.fieldset.criteriaKey))]});return M.useEffect(()=>{window.scrollTo(0,0)},[]),Zr({pageView:s.bfData.pageView}),M.useEffect(()=>{se.dataLayerPush(window,{event:s.event,bfData:{pageView:s.bfData.pageView,viewTitle:o==null?void 0:o.heading}})},[]),a.jsx("div",{className:"bf-verify-selections-view",children:a.jsxs("div",{className:"bf-grid-container grid-container",children:[a.jsx(ee,{className:"bf-section-heading",headingLevel:1,children:o==null?void 0:o.heading}),a.jsx("div",{className:"bf-section-wrapper",children:a.jsxs("div",{className:"bf-section-info",children:[a.jsx(Te,{className:"bf-step-back-button",onClick:t,unstyled:!0,children:l==null?void 0:l.stepBackButton}),a.jsx("div",{children:r&&r.map((g,S)=>{const{section:x}=g;return a.jsxs("div",{className:"bf-verify-criteria-section",children:[a.jsx(ee,{className:"bf-verify-criteria-section-heading",headingLevel:2,children:x.heading}),a.jsx("div",{children:x.fieldsets.map((b,h)=>q.SelectedValue(b)?a.jsx(p,{item:b,index:h},`bf-criteria-item-${h}`):a.jsx(f,{item:b,index:h},`bf-criteria-item-${h}`))})]},`bf-section-${x.heading}`)})}),a.jsxs("div",{className:"bf-section-nav-btn-group",children:[a.jsx(Te,{outline:!0,onClick:t,children:i[0].value}),a.jsx(Te,{secondary:!0,onClick:e,children:i[1].value})]})]})})]})})};Af.propTypes={handleStepForward:y.func,handleStepBck:y.func,ui:y.object,data:y.array};const zf={heading:"Steps",timeIndicator:"Estimated time",steps:{list:[{title:"Answer questions"},{title:"Get your list of benefits"},{title:"Visit agency websites to apply"}]},notices:{heading:"Before you start:",iconAlt:"Important",list:[{notice:" This is not an application."},{notice:"You'll need to apply for benefits with each agency."},{notice:"We don't share, save, or submit your information."}]},button:"Start finding benefits"},Bf={stepBackButton:"Back"},Vf={value:"required"},Hf={heading:{prefix:"Your information contains",suffix:"errors"},description:"Complete all required fields."},Uf={prefix:"Fill out the",suffix:"field"},Wf=[{value:"Back"},{value:"Next"}],Kf={heading:"Select an option:",buttonGroup:[{value:"Review your selections"},{value:"Get your results"}]},qf={heading:"Review and confirm",noResultsLabel:"Not answered",buttonGroup:[{value:"Back"},{value:"Confirm"}]},Qf={summaryBox:{heading:"Important",list:[{item:"Visit each agency’s website to find full eligibility requirements."},{item:"Your results may change if you answer more questions or modify your answers."}],cta:{text:"",link:"Clear my answers and restart the form."}},eligible:{chevron:{heading:"Your potential benefits",description:""},heading:"Results",description:"You may be eligible for these benefits:"},notEligible:{chevron:{heading:"Benefits you did not qualify for",description:"Visit each agency to find true eligibility and to apply. Check with your city, state, or employer for other benefits.
"},heading:"Results",description:"Based on your answers you are not eligible for these benefits.You may become eligible if you enter additional information or your situation changes."},zeroBenefits:{eligible:{chevron:{heading:"You are likely not eligible for these benefits.",description:"According to your answers you are not eligible for these benefits.
"}},notEligible:{chevron:{heading:"Benefits you did not qualify for",description:"If you reached these results by mistake, please go back to review your answers.
"}},heading:"No eligible results.",description:"Based on your answers you are likely not eligible for benefits. You may become eligible if you enter more information or your situation changes.",cta:"See all benefits"},stepBackButton:"Back",eligibleResults:{heading:"Results",description:"You may be eligible for these benefits."},benefitAccordionGroup:{closedState:"Expand all",openState:"Close all"},benefitAccordion:{eligibleStatusLabels:["Likely eligible","More information needed","Not eligible"],agencyPrefix:"By",benefitSummary:"Key eligibility criteria",benefitSummaryPrefix:"Met ",benefitSummaryConjunction:"of",unmetLabel:"Unmet criteria",visitLabel:"Visit"},notEligibleResults:{heading:"Benefits you did not qualify for",description:"According to your answers you are not eligible for these benefits.
Based on your answers you are not eligible for these benefits. You may become eligible if you enter additional information or your situation changes.",cta:"Explore other potential benefits"},resultsRelativeBenefits:{heading:"More benefits"},shareResults:{heading:"Share results",shareTrigger:"Share link",shareLinkContent:"Copied",emailTrigger:"Email results",emailSubject:"Results from USAGov’s benefit finder",description:"Copy or email these results. Your answers will be visible. Only share with those you trust."}},Zf={heading:"Share results",description:"Your information will be viewable. Only share with those you trust.",buttonGroup:[{value:"Share link"},{value:"Email results"}]},Gf={start:"Answer these questions",continue:"Questions continued",final:"Final questions"},Yf={labelSelect:"Select an option",defaultValue:"-Select-",dateDefaultValue:"-Select-"},Xf={alert:"Date should follow the format January 19 2000",labelDay:"Day",labelMonth:"Month",labelYear:"Year",monthOptions:[{label:"01 - January"},{label:"02 - February"},{label:"03 - March"},{label:"04 - April"},{label:"05 - May"},{label:"06 - June"},{label:"07 - July"},{label:"08 - August"},{label:"09 - September"},{label:"10 - October"},{label:"11 - November"},{label:"12 - December"}]},gv={intro:zf,stepIndicator:Bf,requiredLabel:Vf,alertBanner:Hf,errorText:Uf,buttonGroup:Wf,reviewSelectionModal:Kf,verifySelectionsView:qf,resultsView:Qf,shareResults:Zf,sectionHeadings:Gf,select:Yf,date:Xf},Du=Object.freeze(Object.defineProperty({__proto__:null,alertBanner:Hf,buttonGroup:Wf,date:Xf,default:gv,errorText:Uf,intro:zf,requiredLabel:Vf,resultsView:Qf,reviewSelectionModal:Kf,sectionHeadings:Gf,select:Yf,shareResults:Zf,stepIndicator:Bf,verifySelectionsView:qf},Symbol.toStringTag,{value:"Module"})),Jf={heading:"Pasos",timeIndicator:"Tiempo estimado",steps:{list:[{title:"Responda unas preguntas"},{title:"Obtenga su lista de posibles beneficios"},{title:"Aplique en los sitios web de cada agencia"}]},notices:{heading:"Antes de empezar:",iconAlt:"Importante",list:[{notice:"Esto no es una aplicación."},{notice:"Sus respuestas no serán guardadas o presentadas."},{notice:"Responda todas las preguntas para mejores resultados."}]},button:"Encuentre sus beneficios"},ep={stepBackButton:"Volver"},tp={value:"requerido"},np={heading:{prefix:"Tu información contiene",suffix:"errores"},description:"Responda los campos requeridos."},rp={prefix:"Complete",suffix:""},lp=[{value:"Volver"},{value:"Siguiente"}],op={heading:"Seleccione una opción:",buttonGroup:[{value:"Revise sus respuestas"},{value:"Obtenga sus resultados"}]},ip={heading:"Revisar y confirmar",noResultsLabel:"No respondió",buttonGroup:[{value:"Volver"},{value:"Confirmar"}]},sp={summaryBox:{heading:"Importante",list:[{item:"Visite el sitio web de cada agencia para confirmar su elegibilidad y requisitos."},{item:"Sus resultados podrían cambiar si responde más preguntas o modifica sus respuestas."}],cta:{text:"",link:"Borrar mis respuestas y empezar el formulario de nuevo."}},eligible:{chevron:{heading:"Sus beneficios potenciales",description:""},heading:"Resultados",description:"Podría ser elegible para estos beneficios:"},notEligible:{chevron:{heading:"Beneficios a los que no calificó",description:"Visite la página de cada agencia para verificar los requisitos y aplicar. Para conocer otros beneficios, consulte a su ciudad, estado, o trabajo.
"},heading:"Resultados",description:"Según sus respuestas no es elegible para estos beneficios. Podría calificar si tiene información adicional o si su situación cambia."},zeroBenefits:{eligible:{chevron:{heading:"Usted parece no ser elegible para estos beneficios",description:"Según sus respuestas usted no es elegible para estos beneficios.
"}},notEligible:{chevron:{heading:"Beneficios a los que no calificó",description:"Si cree que cometió un error, por favor regrese para corregir sus respuestas.
"}},heading:"No tiene resultados elegibles.",description:"Basado en sus respuestas usted no es elegible para estos beneficios. Podría ser elegible si ingresa más información o si su situación cambia.",cta:"Ver todos los beneficios"},stepBackButton:"Volver",eligibleResults:{heading:"Resultados",description:"Podría calificar para estos beneficios:"},benefitAccordionGroup:{closedState:"Abrir todos",openState:"Cerrar todos"},benefitAccordion:{eligibleStatusLabels:["Probablemente elegible","Más información requerida","No elegible"],agencyPrefix:"",benefitSummary:"Criterios de elegibilidad",benefitSummaryPrefix:"Cumple ",benefitSummaryConjunction:"de",unmetLabel:"No cumplió con",visitLabel:"Visite",sourceIsEnglish:"(en inglés)"},notEligibleResults:{heading:"Beneficios a los que no calificó",description:"Según sus respuestas usted no es elegible para estos beneficios.
Según sus respuestas no es elegible para estos beneficios. Podría calificar si tiene información adicional o si su situación cambia.",cta:"Explore otros beneficios"},relativeBenefits:{heading:"Más beneficios"},shareResults:{heading:"Imprima y comparta",shareTrigger:"Compartir resultados",emailTrigger:"Enviar resultados",shareLinkContent:"Copiado",emailSubject:"Resultados del buscador de beneficios de USAGov",description:"Copie o envíe sus resultados por correo. Sus respuestas serán visibles. Solo comparta con quienes confíe."}},ap={heading:"Imprima y comparta",description:"Sus respuestas serán visibles. Solo comparta con quienes confíe.",buttonGroup:[{value:"Compartir resultados"},{value:"Enviar resultados"}]},up={start:"Responda las preguntas",continue:"Preguntas continuadas",final:"Preguntas finales"},cp={labelSelect:"Seleccione una opción",defaultValue:"-Seleccionar-",dateDefaultValue:"-Seleccionar-"},dp={alert:"Use el formato enero 19 2000",labelDay:"Día",labelMonth:"Mes",labelYear:"Año",monthOptions:[{label:"01 - Enero"},{label:"02 - Febrero"},{label:"03 - Marzo"},{label:"04 - Abril"},{label:"05 - Mayo"},{label:"06 - Junio"},{label:"07 - Julio"},{label:"08 - Agosto"},{label:"09 - Septiembre"},{label:"10 - Octubre"},{label:"11 - Noviembre"},{label:"12 - Diciembre"}]},yv={intro:Jf,stepIndicator:ep,requiredLabel:tp,alertBanner:np,errorText:rp,buttonGroup:lp,reviewSelectionModal:op,verifySelectionsView:ip,resultsView:sp,shareResults:ap,sectionHeadings:up,select:cp,date:dp},$u=Object.freeze(Object.defineProperty({__proto__:null,alertBanner:np,buttonGroup:lp,date:dp,default:yv,errorText:rp,intro:Jf,requiredLabel:tp,resultsView:sp,reviewSelectionModal:op,sectionHeadings:up,select:cp,shareResults:ap,stepIndicator:ep,verifySelectionsView:ip},Symbol.toStringTag,{value:"Module"}));function wv({testAppContent:e,testQuery:t}){var B;const n=M.createContext({en:Du,es:$u}),r="shared",l="draft",o=t||window.location.search,i=o.includes(r),s=o.includes(l);Gr();const[u,c]=M.useState(()=>(q.LifeEvent().then(R=>(R==null?void 0:R.status)===200?c(R.data):c(e)),e)),[f,m]=M.useState(),[p,g]=M.useState(),[S,x]=M.useState(!1);M.useEffect(()=>{u&&g([...u.benefits]),u&&m([...u.lifeEventForm.sectionsEligibilityCriteria])},[u]);const[b]=M.useState(q.Language()==="es"?$u:Du),[h,d]=M.useState(i?null:0),[v,w]=M.useState(()=>f&&f[h]),[E,N]=M.useState(!1),[j,L]=M.useState(i);return M.useEffect(()=>{i&&(f&&Br.DataFromParams(o,f,w,r),f&&d(f.length))},[o,i,f]),u&&a.jsxs(n.Provider,{value:b,children:[s===!0&&a.jsx(Gs,{children:"Draft Mode"}),a.jsx("div",{id:u==null?void 0:u.lifeEventForm.id,className:`benefit-finder ${h!==0&&j!==!0?"form":""}`,"data-testid":"app","data-version":zh,children:h===0?a.jsx(hf,{data:u.lifeEventForm,ui:b.intro,setStep:d,step:h}):j===!0?a.jsx(Df,{stepDataArray:f,relevantBenefits:(B=u==null?void 0:u.lifeEventForm)==null?void 0:B.relevantBenefits,data:p,setBenefitsArray:()=>g(),ui:b.resultsView,handleStepBack:()=>{N(!1),L(!1)}}):E===!1?a.jsx("div",{children:a.jsx(ff,{children:a.jsx(vf,{step:h,setStep:d,data:f,handleData:m,stepData:v,setStepData:w,verifyStep:E,setVerifyStep:()=>{N(!0),x(!1)},setViewResults:()=>{L(!0),x(!1)},ui:b,modalOpen:S,setModalOpen:x})})}):a.jsx(Af,{handleStepBack:()=>{N(!1),L(!1)},handleStepForward:()=>{L(!0)},ui:b,data:f,step:h,setStep:d})})]})}const xv=ni.createRoot(document.getElementById("benefit-finder"));xv.render(a.jsx(Lp.StrictMode,{children:a.jsx(wv,{})})); +https://fb.me/react-async-component-lifecycle-hooks`)}if(typeof e.getDerivedStateFromProps=="function"&&(t.componentWillMount=Jf,t.componentWillReceiveProps=ep),typeof t.getSnapshotBeforeUpdate=="function"){if(typeof t.componentDidUpdate!="function")throw new Error("Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype");t.componentWillUpdate=tp;var s=t.componentDidUpdate;t.componentDidUpdate=function(c,p,d){var m=this.__reactInternalSnapshotFlag?this.__reactInternalSnapshot:d;s.call(this,c,p,m)}}return e}const Og=Object.freeze(Object.defineProperty({__proto__:null,polyfill:Tg},Symbol.toStringTag,{value:"Module"})),Rg=Yp(Og);Object.defineProperty(wn,"__esModule",{value:!0});wn.bodyOpenClassName=wn.portalClassName=void 0;var Ju=Object.assign||function(e){for(var t=1;t{const p=E.useRef(null),{modal:d,errors:m}=ie.dataLayerStructure,[y,x]=E.useState(!1),g=()=>{a().then(w=>w&&x(w)),window.scrollTo(0,0)},S=w=>(w&&w.current.focus(),window.location.hash="",window.scrollTo(0,0),Bu.disableScroll(),x(!1),!0),f=w=>w.which===32||w.which===13;E.useEffect(()=>{y&&Bu.enableScroll()},[y]),E.useEffect(()=>{const w=setTimeout(()=>{ic.setAppElement("#benefit-finder")},0);return()=>{clearTimeout(w)}},[]),E.useEffect(()=>{(async()=>{y===!0&&ie.dataLayerPush(window,{event:d.event,bfData:{pageView:d.bfData.pageView,viewTitle:`${c.viewTitle} modal`}})})().then(()=>{y===!0&&ie.dataLayerPush(window,{event:m.event,bfData:{errors:"",errorCount:{number:0,string:"0"},formSuccess:!0}})})},[y]);const h=({triggerLabel:w,onKeyDown:j,onClick:N})=>u.jsx(wa,{onClick:N,onKeyDown:j,noCarrot:!0,tabIndex:"0",triggerRef:p,"aria-label":"Continue",role:"button",children:w}),v=({navItemOneLabel:w,navItemOneFunction:j,navItemTwoLabel:N,navItemTwoFunction:P})=>{const T=D=>{S(p)&&D()},B=(D,q)=>{f(D)&&S(p)&&q()};return u.jsxs("ul",{className:"bf-modal bf-usa-button-group usa-button-group width-full","data-testid":"modal-button-group",children:[u.jsx("li",{className:"bf-usa-button-group__item usa-button-group__item width-full",children:u.jsx(Ke,{id:"bf-navItemOneBtn",className:"bf-nav-item-one width-full",onClick:()=>T(j),onKeyDown:D=>B(D,j),noCarrot:!0,tabIndex:"0",secondary:!0,children:w})},"bf-nav-item-one"),u.jsx("li",{className:"bf-usa-button-group__item usa-button-group__item width-full",children:u.jsx(Ke,{id:"bf-navItemTwoBtn",className:"bf-nav-item-two width-full",onClick:()=>T(P),onKeyDown:D=>B(D,P),noCarrot:!0,tabIndex:"0",secondary:!0,children:N})},"nav-item-two")]})};return u.jsxs("div",{id:e,className:"bf-usa-modal-group",children:[u.jsx(h,{triggerLabel:n,onKeyDown:w=>f(w)&&g(),onClick:()=>g()}),u.jsxs(ic,{id:"benefit-finder-modal",isOpen:y,onRequestClose:()=>S(p),style:qg,aria:{label:r},ariaHideApp:!1,children:[u.jsx("button",{type:"button","aria-label":"Close",className:"bf-modal-button","data-testid":"button",onClick:()=>S(p),children:u.jsx(ft,{type:"modal-close",color:"black","aria-hidden":"true"})}),u.jsx(ee,{headingLevel:1,className:"bf-modal-heading",children:r}),t||u.jsx(v,{navItemOneLabel:l,navItemOneFunction:i,navItemTwoLabel:o,navItemTwoFunction:s})]})]})};rp.propTypes={id:C.string,children:C.node,triggerLabel:C.string,modalHeading:C.string,navItemOneLabel:C.string,navItemOneFunction:C.func,navItemTwoLabel:C.string,navItemTwoFunction:C.func,handleCheckRequriedFields:C.func};const lp=({data:e,iconAlt:t})=>{const n=r=>r&&r.data.map((l,i)=>u.jsxs("li",{className:"bf-notice",children:[u.jsx(ft,{type:"info","aria-label":t,role:"img"}),u.jsx("div",{className:"bf-notice-item",dangerouslySetInnerHTML:jt(l.notice)})]},`notice-${i}`));return u.jsx("div",{className:"bf-notices",children:u.jsx("ul",{className:"bf-notices-list add-list-reset",children:u.jsx(n,{data:e})})})};lp.propTypes={data:C.array};const wa=({children:e,className:t,href:n,rel:r,target:l,ext:i,noCarrot:o,triggerRef:s,...a})=>{const c=i?["bf-usa-button","usa-button","usa-button--secondary","bf-usa-button--secondary","bf-usa-link--external","usa-link--external","bf-obfuscated-link"]:["bf-usa-button","usa-button","bf-usa-button--secondary","usa-button--secondary","bf-obfuscated-link"],p=o===!0?null:u.jsx(ft,{type:"carrot-solid",color:"black","aria-hidden":"true"});return u.jsxs("a",{href:n,rel:r,target:l,className:pt({className:t,defaultClasses:c}),ref:s,...a,children:[e,p]})};wa.propTypes={children:C.node,className:C.string,href:C.string,rel:C.string,target:C.string,ext:C.bool,noCarrot:C.bool};C.node||C.string,C.oneOf(["regular","bold","extrabold","light","thin"]);const ip=({steps:e})=>u.jsx("ol",{className:"bf-usa-process-list usa-process-list",children:e&&e.map((t,n)=>u.jsx("li",{className:"bf-usa-process-list__item usa-process-list__item",children:u.jsx("h3",{className:"bf-usa-process-list__heading usa-process-list__heading",children:t.title})},`process-item-${n}`))});ip.propTypes={steps:C.array};const op=({id:e,label:t,value:n,checked:r,onChange:l,required:i,className:o,name:s})=>{const a=i===!0?["required-field"]:"",c=["bf-usa-radio__input usa-radio__input"],p=a;return u.jsx(u.Fragment,{children:u.jsxs("div",{className:"bf-usa-radio usa-radio","data-testid":"radio",children:[u.jsx("input",{className:pt({className:o,defaultClasses:c,utilityClasses:p}),type:"radio",name:s,value:n||e,checked:r,onChange:l,id:e}),u.jsx(va,{className:"bf-usa-radio__label usa-radio__label",htmlFor:e,label:t})]})})};op.propTypes={id:C.string,label:C.string,value:C.string,checked:C.bool,onChange:C.func,className:C.string,name:C.string};const sp=({invalid:e,values:t,fieldSetId:n,handleChanged:r,criteriaKey:l,errorMessage:i,legend:o,ui:s})=>{const a=s,c=i?`${i}`:`${a==null?void 0:a.prefix} ${o&&o.toLowerCase()} ${a==null?void 0:a.suffix}`;return u.jsx("div",{className:"bf-radio-group radio-group","aria-invalid":e,"data-testid":"radio-group",children:t&&t.map((p,d)=>{const m=`${n}_${d}`;return u.jsx(op,{name:n,id:m,label:p.value,value:p.value,checked:p.selected||!1,onChange:y=>{r(y,l)},"data-errormessage":c,"aria-errormessage":`error-description-${m}`},m)})})};sp.propTypes={invalid:C.bool,values:C.array,fieldSetId:C.string,handleChanged:C.func,criteriaKey:C.string};const ap=({data:e,carrotType:t})=>u.jsx("ul",{className:"bf-usa-card-group usa-card-group",children:e&&e.map((n,r)=>{const{title:l,searchTitle:i,link:o,cta:s,body:a,lifeEventId:c}=n.lifeEvent,p=c.replace("es_","");return u.jsx(Hf,{className:"bf-usa-card--relative-benefit bf-usa-card usa-card tablet:grid-col-12",title:i||l,cta:s,href:o,body:a,carrotType:t,icon:p,"data-testid":p},`${l}-${r}`)})});ap.propTypes={data:C.array,carrotType:C.string};const Qg=({ui:e,data:t})=>{const n=E.useContext(Nt),[r,l]=E.useState(()=>di(`${window.location.origin}${n.basePath}/${n.indexPath}`,t)),i=o=>{o.preventDefault(),l(di(`${window.location.origin}${n.basePath}/${n.indexPath}`,t)),navigator.clipboard.writeText(r).then(()=>alert(`${e==null?void 0:e.shareLinkContent} ${r}`),s=>alert("Failed to copy",s))};return u.jsx("a",{href:"",className:"bf-share-trigger bf-usa-link usa-link",onClick:o=>i(o),"data-testid":"bf-share-trigger",children:(e==null?void 0:e.shareTrigger)||"Share"})},up=({data:e,noHeadings:t,current:n,setCurrent:r,handleCheckRequriedFields:l})=>{const i=({completed:s})=>u.jsx("span",{className:"usa-sr-only",children:s?" completed":" not completed"}),o=({heading:s,current:a,completed:c,index:p})=>{const d=a===p?"--current":"";return u.jsx("li",{className:`bf-usa-step-indicator__segment usa-step-indicator__segment bf-usa-step-indicator__segment${d} usa-step-indicator__segment${d} ${c===!0?"bf-usa-step-indicator__segment--complete usa-step-indicator__segment--complete":""}`,"aria-current":a===p,children:u.jsxs("span",{className:"bf-usa-step-indicator__segment-label usa-step-indicator__segment-label",children:[!t&&s,u.jsx(i,{completed:c},`step-indicator-sr-${p}`)]},`step-indicator-label-${p}`)},`step-indicator-${s}`)};return u.jsx("div",{children:e&&e.length>0&&u.jsx("div",{className:"bf-usa-step-indicator usa-step-indicator","aria-label":"progress",tabIndex:0,children:u.jsx("ol",{className:"bf-usa-step-indicator__segments usa-step-indicator__segments",children:e&&e.map((s,a)=>{const c=s.section.heading,p=s.completed;return u.jsx(o,{heading:c,index:a,current:n,setCurrent:r,completed:p,handleCheckRequriedFields:l},`${c}-${a}`)})})})})};up.propTypes={data:C.array,noHeadings:C.bool,current:C.number};const cp=({children:e,onClick:t})=>{const n=rr(),r=()=>{t(),n.current.focus()};return u.jsx(Ke,{className:"bf-step-back-button","data-testid":"bf-step-back-button",unstyled:!0,onClick:()=>r(),children:e||"Back"})};cp.propTypes={children:C.node,currentIndex:C.number};function dp({label:e,htmlFor:t,options:n,selected:r,onChange:l,ui:i,className:o,invalid:s,legend:a,errorMessage:c}){const{select:p,errorText:d}=i,m=[`bf-usa-select usa-select ${s===!0?"usa-input--error":""}`],y=({options:g})=>g.map(S=>u.jsx("option",{value:S.value,children:S.value},S.value)),x=c?`${c}`:`${d==null?void 0:d.prefix} ${a&&a.toLowerCase()} ${d==null?void 0:d.suffix}`;return u.jsxs(u.Fragment,{children:[u.jsx(va,{label:e||(p==null?void 0:p.labelSelect),htmlFor:t}),u.jsxs("select",{className:pt({className:o,defaultClasses:m}),name:t,id:t,"data-testid":t,onChange:l,value:r||"","aria-invalid":s===!0,"data-errormessage":x,"aria-errormessage":`error-description-${t}`,children:[u.jsx("option",{value:"",children:p==null?void 0:p.defaultValue},"default"),u.jsx(y,{options:n})]})]})}dp.propTypes={label:C.string,htmlFor:C.string,options:C.array,selected:C.string,onChange:C.func,required:C.bool,ui:C.object,className:C.string,invalid:C.bool};const xa=({heading:e,listItems:t,cta:n})=>{const r=E.useContext(Nt),l=i=>{i.preventDefault(),window.location.href=`${window.location.origin}${r.basePath}/${r.indexPath}`};return u.jsx("div",{className:"bf-usa-summary-box usa-summary-box",role:"region","aria-labelledby":"bf-summary-box-key-information",children:u.jsxs("div",{className:"bf-usa-summary-box__body usa-summary-box__body",children:[u.jsx(ee,{headingLevel:4,className:"bf-usa-summary-box__heading usa-summary-box__heading",id:"bf-summary-box-key-information",children:e}),u.jsx("div",{className:"bf-usa-summary-box__text usa-summary-box__text",children:u.jsxs("ul",{className:"bf-usa-list usa-list",children:[t&&t.map((i,o)=>u.jsx("li",{children:i.item},`bf-summary-list-${o}`)),u.jsxs("li",{children:[n==null?void 0:n.text," ",u.jsx("a",{className:"bf-usa-summary-box__link usa-summary-box__link",href:"#",onClick:i=>l(i),children:n==null?void 0:n.link})]})]})})]})})};xa.propTypes={props:C.any};C.string,C.string,C.string,C.bool;const fp=({timeEstimate:e,description:t})=>u.jsxs("div",{className:"time-indicator",children:[t," ",e]});fp.propTypes={description:C.string,timeEstimate:C.string};const pp=({content:e,ui:t,hasQueryParams:n})=>{const{timeEstimate:r,title:l,summary:i}=e,{heading:o,timeIndicator:s,steps:a,notices:c,button:p}=t,{intro:d}=ie.dataLayerStructure,m=rr(),y=E.useContext(Nt),x=il(),g=nr(),S=()=>{x(`/${y.indexPath}/${y.formPaths[0]}`),m.current.focus()};return E.useEffect(()=>{n&&x(`/${y.indexPath}/${y.resultsPaths.resultsPath}${g.search}`)},[n]),E.useEffect(()=>{!n&&ie.dataLayerPush(window,{event:d.event,bfData:{pageView:d.bfData.pageView,viewTitle:l}})},[n]),e&&u.jsxs("div",{className:"bf-intro",children:[u.jsx(ma,{heading:l,description:i}),u.jsxs("div",{className:"bf-grid-container grid-container",children:[u.jsx(ee,{headingLevel:2,children:o}),u.jsx(fp,{description:s,timeEstimate:r}),u.jsxs("div",{className:"bf-intro-process-group",children:[u.jsx("div",{className:"bf-intro-process-list",children:u.jsx(ip,{steps:a.list,description:a.title})}),u.jsx("div",{className:"bf-line-sperator-wrapper--vertical",children:u.jsx("div",{className:"bf-line-sperator--vertical"})}),u.jsxs("div",{className:"bf-intro-process-notices",children:[u.jsx(ee,{className:"bf-intro-process-notices-heading",headingLevel:2,children:c.heading}),u.jsx(lp,{className:"bf-intro-process-notices-list",data:c.list,iconAlt:c.iconAlt})]})]}),u.jsx("div",{className:"bf-line-sperator-wrapper",children:u.jsx("div",{className:"bf-line-sperator"})}),u.jsx("div",{className:"bf-cta-wrapper",children:u.jsx(Ke,{secondary:!0,onClick:()=>S(),"data-test":"button",children:p})})]})]})};pp.propTypes={data:C.object,ui:C.object,step:C.number};const hp=({data:e,handleData:t,ui:n})=>{const[r,l]=E.useState(0),[i,o]=E.useState(!1),[s,a]=E.useState(()=>e&&e[r]),[c,p]=E.useState([]),[d,m]=E.useState([]),[y,x]=E.useState(()=>H.SelectedValueAll(e).length>0),[g,S]=E.useState(0),{lifeEventSection:f}=ie.dataLayerStructure,{buttonGroup:h,reviewSelectionModal:v,requiredLabel:w,sectionHeadings:j}=n;gm(y);const N=rr(),P=E.useContext(Nt),T=il();let B=nr();const D=()=>e.findIndex(L=>{const M=Tf(L.section.heading);return B.pathname.match(`${P.indexPath}/${M}`)});E.useEffect(()=>{var L;(L=N.current)==null||L.focus()},[N]);const q=()=>{e[r]={...s},t([...e])},de=E.useRef(null),Te=()=>(de.current.classList.remove("display-none"),de.current.focus(),S(g+1),s.completed=!1,window.scrollTo(0,0),!1),I=()=>(de.current.classList.add("display-none"),s.completed=!0,q(),p([]),!0),F=()=>Fe.handleCheckForRequiredValues(c,m).then(L=>L===!0?I():Te()),W=L=>{F().then(M=>{if(M===!0){const{errors:z}=ie.dataLayerStructure;ie.dataLayerPush(window,{event:z.event,bfData:{errors:"",errorCount:{number:0,string:"0"},formSuccess:!0}});const fe=r+L;r<=e.length&&(T(`/${P.indexPath}/${P.formPaths[fe]}`),a(e[fe])),N&&N.current.focus()}})},k=L=>{T(r===0?`/${P.indexPath}`:L),N.current.focus()},_=(L,M)=>{window.history.replaceState({},"",window.location.pathname),Yr.Data(M,s,a,L.target.value),d.length>0&&Fe.handleCheckForRequiredValues(c,m),x(H.SelectedValueAll(e).length>0)},R=(L,M)=>{window.history.replaceState({},"",window.location.pathname);async function z(){_m(L)===!0&&(Yr.DataDate(M,s,a,L.target.value,L.target.id),d.length>0&&Fe.handleCheckForRequiredValues(c,m))}z().then(()=>{Fe.getNonRequiredFieldsets(M,c,p,m,d,H.SelectedValueAll(e)),x(H.SelectedValueAll(e).length>0)})};return E.useEffect(()=>{B.pathname.includes(P.formPaths[P.formPaths.length-1])?o(!0):o(!1)},[B]),E.useEffect(()=>{var M,z;const L=D();l(L),a(e[L]),ie.dataLayerPush(window,{event:f.event,bfData:{pageView:`${f.bfData.pageView}-${L+1}`,viewTitle:(M=e[L])==null?void 0:M.section.heading}}),(z=N.current)==null||z.focus(),window.scrollTo(0,0)},[B]),E.useEffect(()=>{var L;Fe.getRequiredFieldsets(document,p),(L=N.current)==null||L.focus(),window.scrollTo(0,0)},[r]),E.useEffect(()=>{Fe.getRequiredFieldsets(document,p)},[]),E.useEffect(()=>{fa({hide:!0})}),e&&u.jsxs(u.Fragment,{children:[u.jsx(ee,{className:"bf-section-heading",headingLevel:1,children:r===e.length-1?`${j.final}`:r===0?`${j.start}`:`${j.continue}`}),u.jsx("div",{className:"bf-section-wrapper",children:u.jsxs("div",{className:"bf-section-info",children:[u.jsx(up,{current:r,setCurrent:l,data:e},`step-indicator-${j}`),s&&u.jsxs("div",{id:"bf-section","data-testid":"bf-section",children:[u.jsx(ha,{alertFieldRef:de,heading:n.alertBanner.heading,description:n.alertBanner.description,type:"error",hasError:d.length>0,errorCount:d.length,errorList:d,submissionCount:g}),u.jsxs("div",{className:"bf-form-heading-group",children:[u.jsx(ee,{className:"bf-form-heading bf-usa-form-heading",headingLevel:2,children:s.section.heading}),u.jsx("div",{className:"bf-section-sub-heading",dangerouslySetInnerHTML:jt(s.section.description)})]}),s.section.fieldsets.map((L,M)=>{const z=({item:$,children:qe,index:ht,hidden:en})=>{var Sn,al;return $.fieldset.inputs[0].inputCriteria.type==="Select"?u.jsxs(E.Fragment,{children:[u.jsx(Al,{legend:$.fieldset.legend,errorMessage:$.fieldset.errorMessage,hint:$.fieldset.hint,required:$.fieldset.required,requiredLabel:w,hidden:en&&en,id:$.fieldset.criteriaKey,invalid:Fe.handleInvalid({hasError:d,criteriaKey:(Sn=$.fieldset)==null?void 0:Sn.criteriaKey}),ui:n.errorText,children:$.fieldset.inputs.map((Lt,mt)=>{var Ca;const Qe=`${$.fieldset.criteriaKey}_${mt}`,Pt=Lt.inputCriteria.values,vt=Pt.find(zi=>zi.selected!==void 0),{select:Bi,errorText:Zp}=n;return u.jsx("div",{children:u.jsx(dp,{ui:{select:Bi,errorText:Zp},htmlFor:Qe,options:Pt,selected:vt==null?void 0:vt.value,onChange:zi=>_(zi,$.fieldset.criteriaKey),invalid:Fe.handleInvalid({hasError:d,criteriaKey:(Ca=$.fieldset)==null?void 0:Ca.criteriaKey,fieldSetId:Qe}),legend:$.fieldset.legend,errorMessage:$.fieldset.errorMessage},Qe)},Qe)})},`select-${$.fieldset.criteriaKey}-${ht}`),qe||null]},`select-${$.fieldset.criteriaKey}+${ht}`):$.fieldset.inputs[0].inputCriteria.type==="Radio"?u.jsxs(E.Fragment,{children:[$.fieldset.inputs.map((Lt,mt)=>{var Pt,vt;const Qe=`${$.fieldset.criteriaKey}_${mt}`;return u.jsx(Al,{id:$.fieldset.criteriaKey,legend:$.fieldset.legend,errorMessage:$.fieldset.errorMessage,hint:$.fieldset.hint,required:$.fieldset.required,requiredLabel:w,hidden:en&&en,ui:n.errorText,invalid:Fe.handleInvalid({hasError:d,criteriaKey:(Pt=$.fieldset)==null?void 0:Pt.criteriaKey}),children:u.jsx(sp,{invalid:Fe.handleInvalid({hasError:d,criteriaKey:(vt=$.fieldset)==null?void 0:vt.criteriaKey}),fieldSetId:Qe,handleChanged:_,values:Lt.inputCriteria.values,criteriaKey:$.fieldset.criteriaKey,errorMessage:$.fieldset.errorMessage,legend:$.fieldset.legend,ui:n.errorText},Qe)},`radio-${$.fieldset.criteriaKey}-${mt}`)}),qe||null]},`radio-${$.fieldset.criteriaKey}+${ht}`):$.fieldset.inputs[0].inputCriteria.type==="Date"?u.jsxs(E.Fragment,{children:[u.jsx(Al,{legend:$.fieldset.legend,errorMessage:$.fieldset.errorMessage,hint:$.fieldset.hint,required:$.fieldset.required,requiredLabel:w,hidden:en&&en,id:$.fieldset.criteriaKey,invalid:Fe.handleInvalid({hasError:d,criteriaKey:(al=$.fieldset)==null?void 0:al.criteriaKey}),ui:n.errorText,children:$.fieldset.inputs.map((Lt,mt)=>{var Pt,vt;const Qe=`${$.fieldset.criteriaKey}_${mt}`;return u.jsx("div",{children:u.jsx(Wf,{value:(Pt=Lt.inputCriteria.values[0])==null?void 0:Pt.value,onChange:Bi=>R(Bi,$.fieldset.criteriaKey),ui:n,errorMessage:$.fieldset.errorMessage,parentLegend:$.fieldset.legend,id:Qe,invalid:Fe.handleInvalid({hasError:d,criteriaKey:(vt=$.fieldset)==null?void 0:vt.criteriaKey,fieldSetId:Qe,useFilter:!0})})},Qe)})},`date-${$.fieldset.criteriaKey}-${ht}`),qe||null]},`date-${$.fieldset.criteriaKey}+${ht}`):null},fe=({item:$,i:qe})=>z({item:$,index:qe}),_e=$=>{const qe=H.SelectedValue($);return(qe==null?void 0:qe.value)!==$.fieldset.inputs[0].inputCriteria.childDependencyOption},Jt=({item:$,i:qe})=>z({item:$,index:qe,children:$.fieldset.children.map((ht,en)=>ht.fieldsets.length&&ht.fieldsets.map((Sn,al)=>{const Lt=Sn&&H.SelectedValue(Sn),mt=_e($);return mt===!0&&Lt!==void 0&&delete Lt.selected,z({item:Sn,index:al,hidden:mt})}))});return L.fieldset.children.length>0?Jt({item:L,i:M}):fe({item:L,i:M})})]}),u.jsxs("div",{className:"bf-section-nav-btn-group",children:[u.jsx(Ke,{outline:!0,onClick:()=>k(-1),"data-test":"button",children:h[0].value}),i===!1?u.jsx(Ke,{secondary:!0,onClick:()=>W(1),"data-test":"button",children:h[1].value}):u.jsx(rp,{id:"nav-modal",dataLayerValue:{viewTitle:s.section.heading},modalHeading:v.heading,navItemOneLabel:v.buttonGroup[0].value,navItemOneFunction:()=>T(`/${P.indexPath}/${P.verifySelectionsPath}`),navItemTwoLabel:v.buttonGroup[1].value,navItemTwoFunction:()=>T(`/${P.indexPath}/${P.resultsPaths.resultsPath}`),triggerLabel:h[1].value,handleCheckRequriedFields:F,completed:s.completed})]})]})})]})};hp.propTypes={props:C.any,formStep:C.number,data:C.array,ui:C.object};const mp=({ui:e})=>{const{eligible:t,summaryBox:n}=e;return u.jsxs("div",{children:[u.jsx(ee,{className:"bf-eligible-view-heading",headingLevel:2,children:t==null?void 0:t.heading}),u.jsx(ee,{className:"bf-eligible-view-description",headingLevel:3,dangerouslySetInnerHTML:jt(t==null?void 0:t.description)}),u.jsx(xa,{heading:n==null?void 0:n.heading,listItems:n==null?void 0:n.list,cta:n==null?void 0:n.cta})]})};mp.propTypes={props:C.any};const vp=({ui:e})=>{const{notEligible:t,summaryBox:n}=e;return u.jsxs("div",{children:[u.jsx(ee,{className:"bf-not-eligible-view-heading",headingLevel:2,children:t==null?void 0:t.heading}),u.jsx(ee,{className:"bf-not-eligible-view-description",headingLevel:3,dangerouslySetInnerHTML:jt(t==null?void 0:t.description)}),u.jsx(xa,{heading:n==null?void 0:n.heading,listItems:n==null?void 0:n.list,cta:n==null?void 0:n.cta})]})};vp.propTypes={props:C.any};const gp=({handleViewToggle:e,notEligibleView:t,ui:n})=>{const r=E.useContext(Nt),l=il();return u.jsxs(u.Fragment,{children:[u.jsx(ee,{className:"bf-zero-benefits-view-heading","data-testid":"zero-benefits-view-heading",headingLevel:2,children:n==null?void 0:n.heading}),u.jsx(ee,{className:"bf-zero-benefits-view-description",headingLevel:3,dangerouslySetInnerHTML:jt(n==null?void 0:n.description)}),u.jsx("div",{className:"bf-back-to-form-cta",children:u.jsx(cp,{onClick:()=>l(`/${r.indexPath}/${r.formPaths[0]}`),children:n==null?void 0:n.backcta.link})}),!t&&u.jsx("div",{className:"bf-zero-benefits-view-cta",children:u.jsx(Ke,{"data-testid":"zero-benefits-view-cta-button",onClick:e,secondary:!0,children:n==null?void 0:n.cta})})]})};gp.propTypes={handleViewToggle:C.func,notEligibleView:C.bool,ui:C.object};const yp=({notEligibleView:e,zeroBenefitsResult:t,stepDataArray:n,isExpandAll:r,setExpandAll:l,handleViewToggle:i,data:o,relevantBenefits:s,ui:a})=>{const c=({notEligibleView:g,zeroBenefitsResult:S,ui:f})=>{const{eligible:h,notEligible:v,zeroBenefits:w}=f;return u.jsx(ma,{heading:g===!1?S&&(w==null?void 0:w.eligible.chevron.heading)||(h==null?void 0:h.chevron.heading):S&&(w==null?void 0:w.notEligible.chevron.heading)||(v==null?void 0:v.chevron.heading),description:g===!1?S&&(w==null?void 0:w.eligible.chevron.description)||(h==null?void 0:h.chevron.description):S&&(w==null?void 0:w.notEligible.chevron.description)||(v==null?void 0:v.chevron.description)})},p=({zeroBenefitsResult:g,notEligibleView:S,ui:f})=>{const{notEligible:h,eligible:v,summaryBox:w,zeroBenefits:j}=f;return g?u.jsx(gp,{handleViewToggle:i,notEligibleView:S,ui:j}):S===!0?u.jsx(vp,{ui:{notEligible:h,summaryBox:w}}):u.jsx(mp,{ui:{eligible:v,summaryBox:w}})},d=({handleViewToggle:g,ui:S})=>{const{notEligibleResults:f}=S;return u.jsxs("div",{className:"bf-result-view-unmet",children:[u.jsx(ee,{className:"bf-result-view-unmet-heading",headingLevel:3,children:f==null?void 0:f.heading}),u.jsx("p",{dangerouslySetInnerHTML:jt(f==null?void 0:f.description)}),u.jsx("div",{className:"bf-result-view-cta-wrapper",children:u.jsx(Ke,{"data-testid":"bf-result-view-unmet-button",secondary:!0,onClick:g,children:f==null?void 0:f.cta})})]})},m=({stepDataArray:g,ui:S})=>{const{shareResults:f}=S;return u.jsxs("div",{className:"bf-result-view-share-results",children:[u.jsx(ee,{className:"bf-result-view-share-results-heading",headingLevel:3,children:f==null?void 0:f.heading}),u.jsx("p",{children:f==null?void 0:f.description}),u.jsxs("ul",{className:"bf-result-view-share-results-button-group",children:[u.jsxs("li",{children:[" ",u.jsx(Qg,{ui:f,data:g&&H.SelectedValueAll(g)})]}),u.jsxs("li",{children:[" ",u.jsx(jv,{ui:f,data:g&&H.SelectedValueAll(g)})]})]})]})},y=({relevantBenefits:g,ui:S})=>{const{resultsRelativeBenefits:f}=S;return u.jsxs("div",{className:"bf-result-view-relvant-benefits",children:[u.jsx(ee,{className:"bf-result-view-relvant-benefits-heading",headingLevel:3,children:f==null?void 0:f.heading}),g&&u.jsx(ap,{data:g,carrotType:"carrot"})]})},x=({zeroBenefitsResult:g,notEligibleView:S,stepDataArray:f,isExpandAll:h,setExpandAll:v,ui:w})=>u.jsx("div",{className:"bf-result-view-benefits",children:u.jsx(Vf,{data:f&&H.ElegibilityByCriteria(H.SelectedValueAll(f),o),entryKey:"benefit",notEligibleView:S,expandAll:g===!1||g&&S,isExpandAll:h,setExpandAll:v,ui:w})});return u.jsxs(u.Fragment,{children:[u.jsx(c,{notEligibleView:e,zeroBenefitsResult:t,ui:a}),u.jsx("div",{className:"bf-grid-container grid-container","data-testid":"bf-results-view",children:u.jsxs("div",{className:"bf-result-view-details",children:[u.jsx(p,{zeroBenefitsResult:t,notEligibleView:e,ui:a}),u.jsx(x,{zeroBenefitsResult:t,notEligibleView:e,isExpandAll:r,setExpandAll:l,stepDataArray:n,ui:a}),e===!1&&t===!1&&u.jsx(d,{notEligibleView:e,zeroBenefitsResult:t,handleViewToggle:i,ui:a}),(s==null?void 0:s.length)>0&&u.jsx(y,{relevantBenefits:s,ui:a}),u.jsx(m,{stepDataArray:n,ui:a})]})})]})};yp.propTypes={props:C.any};const wp=({stepDataArray:e,relevantBenefits:t,ui:n,data:r,notEligibleView:l})=>{const[i,o]=E.useState(!0),[s,a]=E.useState(null),[c,p]=E.useState(null),{resultsView:d}=ie.dataLayerStructure,m=il(),y=nr(),x=E.useContext(Nt),[g,S]=E.useState(!1),f=rr();E.useEffect(()=>{var N;(N=f.current)==null||N.focus()},[f]);const h=e&&H.SelectedValueAll(e).length,v=e&&H.ElegibilityByCriteria(H.SelectedValueAll(e),r).length,w=()=>{y.pathname===`${x.indexPath}/${x.resultsPaths.resultsPath}`?m(-1):m(`/${x.indexPath}/${x.resultsPaths.notEligiblePath}`)};E.useEffect(()=>{var N;(N=f.current)==null||N.focus(),window.scrollTo(0,0),S(!1)},[y]),E.useEffect(()=>{H.BenefitsEligibilityCounts(r,n.benefitAccordion.eligibleStatusLabels).then(N=>{a(N),p((N==null?void 0:N.eligibleBenefitCount.number)===0),o(!1)})},[r]),E.useEffect(()=>{s!==null&&ie.dataLayerPush(window,{event:d.event,bfData:{pageView:l===!0?d.bfData.pageView[1]:d.bfData.pageView[0],viewTitle:l===!1?c&&n.zeroBenefits.eligible.chevron.heading||(n==null?void 0:n.eligible.chevron.heading):c&&(n==null?void 0:n.zeroBenefits.notEligible.chevron.heading)||(n==null?void 0:n.notEligible.chevron.heading),...s}})},[l,s]),E.useEffect(()=>{fa({hide:!1})},[]);const j={"data-test-results-view":l===!0?"bf-not-eligible-view":"bf-eligible-view","data-test-results-view-criteria-values":h,"data-test-results-view-benefits":v,"data-test-results-view-eligible":s==null?void 0:s.eligibleBenefitCount.number,"data-test-results-view-not-eligible":s==null?void 0:s.notEligibleBenefitCount.number,"data-test-results-view-more-info":s==null?void 0:s.moreInfoBenefitCount.number};return u.jsxs("div",{className:"bf-result-view","data-testid":"bf-result-view",...j,children:[u.jsx(yp,{notEligibleView:l,zeroBenefitsResult:c,stepDataArray:e,handleViewToggle:w,isExpandAll:g,setExpandAll:S,relevantBenefits:t,resetElement:f,data:r,ui:n}),ym({loading:i,parentElementID:"bf-results-view"})]})};wp.propTypes={ui:C.object,data:C.array};const xp=({indexPath:e,ui:t,data:n})=>{const{verifySelectionsView:r,buttonGroup:l}=t,{verifySelections:i}=ie.dataLayerStructure,o=H.Language(),s={year:"numeric",month:"long",day:"numeric"},a=il(),c=nr(),p=E.useContext(Nt),d=rr(),m=({item:g,index:S})=>u.jsxs("div",{className:"bf-verify-criteria-value",children:[u.jsx("div",{className:"bf-verify-criteria-legend",children:g.fieldset.legend},`bf-criteria-${g.fieldset.criteriaKey}-${S}`),r==null?void 0:r.noResultsLabel]}),y=({criteriaId:g,legend:S,selected:f})=>u.jsxs("div",{className:"bf-verify-criteria-value",children:[u.jsx("div",{className:"bf-verify-criteria-legend",children:S}),typeof(f==null?void 0:f.value)=="object"?`${bm(f.value).toLocaleDateString(o,s)}`:f==null?void 0:f.value]},g),x=({item:g,index:S})=>u.jsxs("div",{children:[y({criteriaId:`criteria-${g.fieldset.criteriaKey}-${S}`,legend:g.fieldset.legend,selected:H.SelectedValue(g)}),H.Children(g).map(f=>H.SelectedValue(f)?y({criteriaId:f.fieldset.criteriaKey,legend:f.fieldset.legend,selected:H.SelectedValue(f)}):u.jsx(m,{item:f},f.fieldset.criteriaKey))]});return E.useEffect(()=>{var g;(g=d.current)==null||g.focus(),window.scrollTo(0,0)},[c]),E.useEffect(()=>{ie.dataLayerPush(window,{event:i.event,bfData:{pageView:i.bfData.pageView,viewTitle:r==null?void 0:r.heading}})},[]),E.useEffect(()=>{fa({hide:!0})},[]),u.jsx("div",{className:"bf-verify-selections-view",children:u.jsxs("div",{className:"bf-grid-container grid-container",children:[u.jsx(ee,{className:"bf-section-heading",headingLevel:1,children:r==null?void 0:r.heading}),u.jsx("div",{className:"bf-section-wrapper",children:u.jsxs("div",{className:"bf-section-info",children:[u.jsx("div",{children:n&&n.map((g,S)=>{const{section:f}=g;return u.jsxs("div",{className:"bf-verify-criteria-section",children:[u.jsx(ee,{className:"bf-verify-criteria-section-heading",headingLevel:2,children:f.heading}),u.jsx("div",{children:f.fieldsets.map((h,v)=>H.SelectedValue(h)?u.jsx(x,{item:h,index:v},`bf-criteria-item-${v}`):u.jsx(m,{item:h,index:v},`bf-criteria-item-${v}`))})]},`bf-section-${f.heading}`)})}),u.jsxs("div",{className:"bf-section-nav-btn-group",children:[u.jsx(Ke,{outline:!0,onClick:()=>a(-1),children:l[0].value}),u.jsx(Ke,{secondary:!0,onClick:()=>a(`/${p.indexPath}/${p.resultsPaths.resultsPath}`),children:l[1].value})]})]})})]})})};xp.propTypes={ui:C.object,data:C.array};const Cp={heading:"Steps",timeIndicator:"Estimated time",steps:{list:[{title:"Answer questions"},{title:"Get your list of benefits"},{title:"Visit agency websites to apply"}]},notices:{heading:"Before you start:",iconAlt:"Important",list:[{notice:" This is not an application."},{notice:"You'll need to apply for benefits with each agency."},{notice:"We don't share, save, or submit your information."}]},button:"Start finding benefits"},Sp={stepBackButton:"Back"},kp={value:"required"},Ep={heading:{prefix:"Your information contains",suffix:"errors"},description:"Complete all required fields."},_p={prefix:"Fill out the",suffix:"field"},bp=[{value:"Back"},{value:"Next"}],jp={heading:"Select an option:",buttonGroup:[{value:"Review your selections"},{value:"Get your results"}]},Np={heading:"Review and confirm",noResultsLabel:"Not answered",buttonGroup:[{value:"Back"},{value:"Confirm"}]},Lp={summaryBox:{heading:"Important",list:[{item:"You need to visit each agency’s website to find full eligibility requirements and apply."},{item:"Your results may vary if your situation or answers change."}],cta:{text:"",link:"Clear your answers and restart the form."}},eligible:{chevron:{heading:"Your potential benefits",description:""},heading:"Results",description:"You may be eligible for these benefits:"},notEligible:{chevron:{heading:"Benefits you did not qualify for",description:"Visit each agency to find true eligibility and to apply. Check with your city, state, or employer for other benefits.
"},heading:"Results",description:"Based on your answers you are not eligible for these benefits.You may become eligible if you enter additional information or your situation changes."},zeroBenefits:{backcta:{text:"",link:"Go back to start"},eligible:{chevron:{heading:"You are likely not eligible for these benefits.",description:"According to your answers you are not eligible for these benefits.
"}},notEligible:{chevron:{heading:"Benefits you did not qualify for",description:"If you think you reached these results by mistake, please go back to review and edit your answers.
"}},heading:"No eligible results.",description:"Based on your answers, you are currently not eligible for this life event’s benefits. You may become eligible if your situation or answers change in the future. Visit your city, state, or employer for other potential benefits.",cta:"See all benefits"},stepBackButton:"Back",eligibleResults:{heading:"Results",description:"You may be eligible for these benefits."},benefitAccordionGroup:{closedState:"Expand all",openState:"Close all"},benefitAccordion:{eligibleStatusLabels:["Likely eligible","More information needed","Not eligible"],agencyPrefix:"By",benefitSummary:"Key eligibility criteria",benefitSummaryPrefix:"Met ",benefitSummaryConjunction:"of",unmetLabel:"Unmet criteria",visitLabel:"Visit"},notEligibleResults:{heading:"Benefits you did not qualify for",description:"According to your answers you are not eligible for these benefits.
Based on your answers you are not eligible for these benefits. You may become eligible if you enter additional information or your situation changes.",cta:"Explore benefits you did not qualify for"},resultsRelativeBenefits:{heading:"More benefits"},shareResults:{heading:"Share results",shareTrigger:"Share link",shareLinkContent:"Copied",emailTrigger:"Email results",emailSubject:"Results from USAGov’s benefit finder",description:"Copy or email these results. Your answers will be visible. Only share with those you trust."}},Pp={heading:"Share results",description:"Your information will be viewable. Only share with those you trust.",buttonGroup:[{value:"Share link"},{value:"Email results"}]},Tp={start:"Answer the following questions",continue:"Questions continued",final:"Final questions"},Op={labelSelect:"Select an option",defaultValue:"-Select-",dateDefaultValue:"-Select-"},Rp={alert:"Date should follow the format January 19 2000",labelDay:"Day",labelMonth:"Month",labelYear:"Year",monthOptions:[{label:"01 - January"},{label:"02 - February"},{label:"03 - March"},{label:"04 - April"},{label:"05 - May"},{label:"06 - June"},{label:"07 - July"},{label:"08 - August"},{label:"09 - September"},{label:"10 - October"},{label:"11 - November"},{label:"12 - December"}]},Zg={intro:Cp,stepIndicator:Sp,requiredLabel:kp,alertBanner:Ep,errorText:_p,buttonGroup:bp,reviewSelectionModal:jp,verifySelectionsView:Np,resultsView:Lp,shareResults:Pp,sectionHeadings:Tp,select:Op,date:Rp},Mp=Object.freeze(Object.defineProperty({__proto__:null,alertBanner:Ep,buttonGroup:bp,date:Rp,default:Zg,errorText:_p,intro:Cp,requiredLabel:kp,resultsView:Lp,reviewSelectionModal:jp,sectionHeadings:Tp,select:Op,shareResults:Pp,stepIndicator:Sp,verifySelectionsView:Np},Symbol.toStringTag,{value:"Module"})),$p={heading:"Pasos",timeIndicator:"Tiempo estimado",steps:{list:[{title:"Responda unas preguntas"},{title:"Obtenga su lista de posibles beneficios"},{title:"Aplique en los sitios web de cada agencia"}]},notices:{heading:"Antes de empezar:",iconAlt:"Importante",list:[{notice:"Esto no es una aplicación."},{notice:"Sus respuestas no serán guardadas o compartidas con ninguna agencia."},{notice:"Necesitará presentar una solicitud con cada agencia.."}]},button:"Encuentre sus beneficios"},Dp={stepBackButton:"Volver"},Ip={value:"requerido"},Fp={heading:{prefix:"Tu información contiene",suffix:"errores"},description:"Responda los campos requeridos."},Ap={prefix:"Complete",suffix:""},Bp=[{value:"Volver"},{value:"Siguiente"}],zp={heading:"Seleccione una opción:",buttonGroup:[{value:"Revise sus respuestas"},{value:"Obtenga sus resultados"}]},Up={heading:"Revisar y confirmar",noResultsLabel:"No respondió",buttonGroup:[{value:"Volver"},{value:"Confirmar"}]},Vp={summaryBox:{heading:"Importante",list:[{item:"Necesita ir al sitio web de cada agencia para confirmar su elegibilidad y aplicar."},{item:"Sus resultados podrían variar si sus respuestas cambian."}],cta:{text:"",link:"Borre sus respuestas y empiece el formulario de nuevo."}},eligible:{chevron:{heading:"Sus beneficios potenciales",description:""},heading:"Resultados",description:"Podría ser elegible para estos beneficios:"},notEligible:{chevron:{heading:"Beneficios a los que no calificó",description:"Visite la página de cada agencia para verificar los requisitos y aplicar. Para conocer otros beneficios, consulte a su ciudad, estado, o trabajo.
"},heading:"Resultados",description:"Según sus respuestas no es elegible para estos beneficios. Podría calificar si tiene información adicional o si su situación cambia."},zeroBenefits:{backcta:{text:"",link:"Volver al inicio"},eligible:{chevron:{heading:"Usted parece no ser elegible para los beneficios en este buscador",description:"Según sus respuestas usted no es elegible para estos beneficios.
"}},notEligible:{chevron:{heading:"Beneficios a los que no calificó",description:"Si cree que cometió un error en sus respuestas, por favor regrese atrás para corregirlas.
"}},heading:"No tiene resultados elegibles.",description:"Según sus respuestas, usted no es elegible para los beneficios actualmente en este buscador. Usted podría ser elegible si su situación o respuestas cambian en el futuro. Consulte a su ciudad, estado o empleador para encontrar otros beneficios.",cta:"Ver los beneficios a los que no calificó"},stepBackButton:"Volver",eligibleResults:{heading:"Resultados",description:"Podría calificar para estos beneficios:"},benefitAccordionGroup:{closedState:"Abrir todos",openState:"Cerrar todos"},benefitAccordion:{eligibleStatusLabels:["Probablemente elegible","Más información requerida","No elegible"],agencyPrefix:"",benefitSummary:"Criterios de elegibilidad",benefitSummaryPrefix:"Cumple ",benefitSummaryConjunction:"de",unmetLabel:"No cumplió con",visitLabel:"Visite",sourceIsEnglish:"(en inglés)"},notEligibleResults:{heading:"Beneficios a los que no calificó",description:"Según sus respuestas usted no es elegible para estos beneficios.
Según sus respuestas, usted no es elegible para los siguientes beneficios. Podría calificar si ingresa más información o si su situación o respuestas cambian.",cta:"Vea los beneficios a los no calificó"},relativeBenefits:{heading:"Más beneficios"},shareResults:{heading:"Imprima y comparta",shareTrigger:"Copie sus resultados en un enlace",emailTrigger:"Envie sus resultados por correo electrónico",shareLinkContent:"Copiado",emailSubject:"Resultados del buscador de beneficios de USAGov",description:"Copie o envíe sus resultados. Sus respuestas serán visibles. Solo comparta con quienes usted confíe."}},Hp={heading:"Comparta sus resultados",description:"Sus respuestas serán visibles. Solo comparta con quienes confíe.",buttonGroup:[{value:"Compartir resultados"},{value:"Enviar resultados"}]},Wp={start:"Por favor, responda las siguientes preguntas",continue:"Siguientes preguntas",final:"Últimas preguntas"},Kp={labelSelect:"Seleccione una opción",defaultValue:"-Seleccionar-",dateDefaultValue:"-Seleccionar-"},qp={alert:"Use el formato enero 19 2000",labelDay:"Día",labelMonth:"Mes",labelYear:"Año",monthOptions:[{label:"01 - Enero"},{label:"02 - Febrero"},{label:"03 - Marzo"},{label:"04 - Abril"},{label:"05 - Mayo"},{label:"06 - Junio"},{label:"07 - Julio"},{label:"08 - Agosto"},{label:"09 - Septiembre"},{label:"10 - Octubre"},{label:"11 - Noviembre"},{label:"12 - Diciembre"}]},Gg={intro:$p,stepIndicator:Dp,requiredLabel:Ip,alertBanner:Fp,errorText:Ap,buttonGroup:Bp,reviewSelectionModal:zp,verifySelectionsView:Up,resultsView:Vp,shareResults:Hp,sectionHeadings:Wp,select:Kp,date:qp},Qp=Object.freeze(Object.defineProperty({__proto__:null,alertBanner:Fp,buttonGroup:Bp,date:qp,default:Gg,errorText:Ap,intro:$p,requiredLabel:Ip,resultsView:Vp,reviewSelectionModal:zp,sectionHeadings:Wp,select:Kp,shareResults:Hp,stepIndicator:Dp,verifySelectionsView:Up},Symbol.toStringTag,{value:"Module"})),Nt=E.createContext({}),Yg=E.createContext({en:Mp,es:Qp});function Xg({testAppContent:e,testQuery:t}){const n="shared",r="draft",l=t||window.location.search,i=l.includes(n),o=l.includes(r),s=H.Language();rr();const[a,c]=E.useState(()=>(H.LifeEvent().then(S=>(S==null?void 0:S.status)===200?c(S.data):c(e)),e)),[p,d]=E.useState(),[m,y]=E.useState();E.useEffect(()=>{a&&y([...a.benefits]),a&&d([...a.lifeEventForm.sectionsEligibilityCriteria])},[a]);const[x]=E.useState(s==="es"?Qp:Mp);E.useEffect(()=>{i&&p&&Yr.DataFromParams(l,p,y,m,n)},[l,i,p]);const g=E.useMemo(()=>H.Routes(window,s,p),[p&&p.length]);return(g==null?void 0:g.formPaths)&&u.jsx(Nt.Provider,{value:g,children:u.jsxs(Yg.Provider,{value:x,children:[o===!0&&u.jsx(ha,{children:"Draft Mode"}),u.jsx("div",{id:a==null?void 0:a.lifeEventForm.id,className:"benefit-finder","data-testid":"app","data-version":vm,children:u.jsx(mm,{basename:`/${g.basePath}`,children:u.jsxs(fm,{children:[u.jsx(yr,{path:`/${g.indexPath}`,element:p&&u.jsx(pp,{content:a.lifeEventForm,ui:x.intro,stepDataArray:p,indexPath:`/${g.indexPath}/`,hasQueryParams:i})}),g.formPaths.map((S,f)=>u.jsx(yr,{path:`/${g.indexPath}/${S}`,element:u.jsx("div",{children:u.jsx(Kf,{children:u.jsx(hp,{data:p,handleData:d,ui:x})})})},f)),u.jsx(yr,{path:`/${g.indexPath}/${g.verifySelectionsPath}`,element:u.jsx(xp,{ui:x,data:p,indexPath:g.indexPath})}),Object.keys(g.resultsPaths).map((S,f)=>{var h;return u.jsx(yr,{path:`/${g.indexPath}/${g.resultsPaths[S]}`,element:u.jsx(wp,{stepDataArray:p,relevantBenefits:(h=a==null?void 0:a.lifeEventForm)==null?void 0:h.relevantBenefits,data:m,setBenefitsArray:()=>y(),ui:x.resultsView,notEligibleView:f!==0})},f)})]})})})]})})}const Jg=vo.createRoot(document.getElementById("benefit-finder"));Jg.render(u.jsx(vc.StrictMode,{children:u.jsx(Xg,{})})); diff --git a/web/modules/custom/usagov_benefit_finder/modules/usagov_benefit_finder_content/usagov_benefit_finder_content.module b/web/modules/custom/usagov_benefit_finder/modules/usagov_benefit_finder_content/usagov_benefit_finder_content.module index 0b83e85535..7b686f72ea 100644 --- a/web/modules/custom/usagov_benefit_finder/modules/usagov_benefit_finder_content/usagov_benefit_finder_content.module +++ b/web/modules/custom/usagov_benefit_finder/modules/usagov_benefit_finder_content/usagov_benefit_finder_content.module @@ -133,19 +133,62 @@ function usagov_benefit_finder_content_node_bears_benefit_edit_form_validate(arr /** * Implements hook_form_FORM_ID_alter(). */ -function usagov_benefit_finder_content_form_node_bears_agency_delete_form_alter(array &$form, FormStateInterface $form_state) { - _usagov_benefit_finder_content_check_agency_usage($form); +function usagov_benefit_finder_content_form_node_bears_agency_edit_form_alter(array &$form, FormStateInterface $form_state) { + $form['#validate'][] = '_usagov_benefit_finder_content_agency_archived'; } /** - * It checks agency usage in benefits. - * If still used, it lists the benefits and disables the agency delete button. + * It checks agency usage in benefits when an agency to be archived. + * If still used, it lists the benefits and prevents the agency to be archived. * * @param array $form * Form array. + * @param FormStateInterface $form_state + * Form state object. */ -function _usagov_benefit_finder_content_check_agency_usage(array &$form) { - $description = ''; +function _usagov_benefit_finder_content_agency_archived(array &$form, FormStateInterface $form_state) { + $line = 0; + $moderation_state = $form_state->getValue('moderation_state'); + $state_value = $moderation_state[0]['value']; + if ($state_value == 'archived') { + $result = _usagov_benefit_finder_content_check_agency_usage(); + if (!empty($result)) { + $form_state->setErrorByName(++$line, t("This agency cannot be archived as it is still used in following benefits:")); + foreach ($result as $row) { + $form_state->setErrorByName(++$line, "$row[title] ($row[nid])"); + } + } + } +} + +/** + * Implements hook_form_FORM_ID_alter(). + */ +function usagov_benefit_finder_content_form_node_bears_agency_delete_form_alter(array &$form, FormStateInterface $form_state) { + $return = _usagov_benefit_finder_content_check_agency_usage(); + if (!empty($return)) { + $description = ''; + foreach ($return as $row) { + $description .= "$row[title] ($row[nid]) "; + } + $description = '' + . 'This agency cannot be deleted as it is still used in following benefits:' + . "'; + $form['description']['#markup'] = $description; + $form['actions']['submit']['#access'] = FALSE; + } +} + +/** + * It checks agency usage in benefits. + * If still used, it returns array of node ID and title of these benefits. + * + * @return array + * An array containing node ID and title. + */ +function _usagov_benefit_finder_content_check_agency_usage() { + $return = []; $node = \Drupal::routeMatch()->getParameter('node'); $nid = $node->id(); @@ -159,16 +202,44 @@ function _usagov_benefit_finder_content_check_agency_usage(array &$form) { $result = $query->execute(); foreach ($result as $row) { - $description .= "$description
" + . '$row->title ($row->nid) "; + $return[] = [ + 'nid' => $row->nid, + 'title' => $row->title, + ]; } - if (!empty($description)) { - $description = '' - . 'This agency cannot be deleted as it is still used in following benefits:' - . "'; - $form['description']['#markup'] = $description; - $form['actions']['submit']['#access'] = FALSE; + return $return; +} + +/** + * Implements hook_form_FORM_ID_alter(). + */ +function usagov_benefit_finder_content_form_node_bears_criteria_edit_form_alter(array &$form, FormStateInterface $form_state) { + $form['#validate'][] = '_usagov_benefit_finder_content_node_bears_criteria_edit_form_validate'; + $form['#validate'][] = '_usagov_benefit_finder_content_criteria_archived'; +} + +/** + * It checks criteria usage in benefits and life event forms when a criteria to be archived. + * If still used, it lists the benefits and life event forms and prevents the criteria to be archived. + * + * @param array $form + * Form array. + * @param FormStateInterface $form_state + * Form state object. + */ +function _usagov_benefit_finder_content_criteria_archived(array &$form, FormStateInterface $form_state) { + $line = 0; + $moderation_state = $form_state->getValue('moderation_state'); + $state_value = $moderation_state[0]['value']; + if ($state_value == 'archived') { + $result = _usagov_benefit_finder_content_check_criteria_usage(); + if (!empty($result)) { + $form_state->setErrorByName(++$line, t("This criteria cannot be archived as it is still used in following contents:")); + foreach ($result as $row) { + $form_state->setErrorByName(++$line, "$row[type]: $row[title] ($row[nid])"); + } + } } } @@ -176,40 +247,53 @@ function _usagov_benefit_finder_content_check_agency_usage(array &$form) { * Implements hook_form_FORM_ID_alter(). */ function usagov_benefit_finder_content_form_node_bears_criteria_delete_form_alter(array &$form, FormStateInterface $form_state) { - _usagov_benefit_finder_content_check_criteria_usage($form); + $return = _usagov_benefit_finder_content_check_criteria_usage(); + if (!empty($return)) { + $description = ''; + foreach ($return as $row) { + $description .= "$description
" - . '$row[type]: $row[title] ($row[nid]) "; + } + $description = '' + . 'This criteria cannot be deleted as it is still used in following contents:' + . "'; + $form['description']['#markup'] = $description; + $form['actions']['submit']['#access'] = FALSE; + } } /** * It checks criteria usage in benefits and life event forms. - * If still used, it lists the benefits and life event forms and disables the criteria delete confirmation button. + * If still used, it returns array of node ID and title of these benefits and life event forms. * - * @param array $form - * Form array. + * @return array + * An array containing node ID and title. */ -function _usagov_benefit_finder_content_check_criteria_usage(array &$form) { - $description = ''; +function _usagov_benefit_finder_content_check_criteria_usage() { + $return = []; $node = \Drupal::routeMatch()->getParameter('node'); $nid = $node->id(); $result = _usagov_benefit_finder_content_check_criteria_usage_in_life_event_form($nid); foreach ($result as $row) { - $description .= "$description
" + . 'Life event form: $row[title] ($row[nid]) "; + $return[] = [ + 'type' => 'Life event form', + 'nid' => $row['nid'], + 'title' => $row['title'], + ]; } $result = _usagov_benefit_finder_content_check_criteria_usage_in_benefit($nid); foreach ($result as $row) { - $description .= "Benefit: $row[title] ($row[nid]) "; + $return[] = [ + 'type' => 'Benefit', + 'nid' => $row['nid'], + 'title' => $row['title'], + ]; } - if (!empty($description)) { - $description = '' - . 'This criteria cannot be deleted as it is still used in following content:' - . "'; - $form['description']['#markup'] = t($description); - $form['actions']['submit']['#access'] = FALSE; - } + return $return; } /** @@ -301,18 +385,6 @@ function _usagov_benefit_finder_content_check_criteria_usage_in_benefit(int $nid return $return; } -/** - * Implements hook_form_FORM_ID_alter(). - * - * @param array $form - * Form array. - * @param FormStateInterface $form_state - * Form state object. - */ -function usagov_benefit_finder_content_form_node_bears_criteria_edit_form_alter(array &$form, FormStateInterface $form_state) { - $form['#validate'][] = '_usagov_benefit_finder_content_node_bears_criteria_edit_form_validate'; -} - /** * Validates criteria edit form hasChild field. * @@ -393,29 +465,44 @@ function _usagov_benefit_finder_content_check_criteria_has_child(int $nid) { /** * Implements hook_form_FORM_ID_alter(). */ -function usagov_benefit_finder_content_form_node_bears_life_event_form_delete_form_alter(array &$form, FormStateInterface $form_state) { - _usagov_benefit_finder_content_check_life_event_form_usage($form); +function usagov_benefit_finder_content_form_node_bears_life_event_form_edit_form_alter(array &$form, FormStateInterface $form_state) { + $form['#validate'][] = '_usagov_benefit_finder_content_life_event_form_archived'; } /** * It checks life event form usage in relevant benefit of life event forms. - * If still used, it lists the life event forms and disables the delete confirmation button. + * If still used, it returns array of node ID and title of these life event forms. * * @param array $form * Form array. + * @param FormStateInterface $form_state + * Form state object. */ -function _usagov_benefit_finder_content_check_life_event_form_usage(array &$form) { - $description = ''; - - $node = \Drupal::routeMatch()->getParameter('node'); - $nid = $node->id(); - - $result = _usagov_benefit_finder_content_check_life_event_form_usage_in_life_event_form($nid); - foreach ($result as $row) { - $description .= "$description
" - . 'Life event form: $row[title] ($row[nid]) "; +function _usagov_benefit_finder_content_life_event_form_archived(array &$form, FormStateInterface $form_state) { + $line = 0; + $moderation_state = $form_state->getValue('moderation_state'); + $state_value = $moderation_state[0]['value']; + if ($state_value == 'archived') { + $result = _usagov_benefit_finder_content_check_life_event_form_usage(); + if (!empty($result)) { + $form_state->setErrorByName(++$line, t("This life event form cannot be archived as it is still used in following contents:")); + foreach ($result as $row) { + $form_state->setErrorByName(++$line, "Life event form: $row[title] ($row[nid])"); + } + } } +} - if (!empty($description)) { +/** + * Implements hook_form_FORM_ID_alter(). + */ +function usagov_benefit_finder_content_form_node_bears_life_event_form_delete_form_alter(array &$form, FormStateInterface $form_state) { + $return = _usagov_benefit_finder_content_check_life_event_form_usage(); + if (!empty($return)) { + $description = ''; + foreach ($return as $row) { + $description .= "Life event form: $row[title] ($row[nid]) "; + } $description = '' . 'This life event form cannot be deleted as it is still used in following content:' . "$description
" @@ -425,6 +512,30 @@ function _usagov_benefit_finder_content_check_life_event_form_usage(array &$form } } +/** + * It checks life event form usage in relevant benefit of life event forms. + * If still used, it returns array of node ID and title of these life event forms. + * + * @return array + * An array containing node ID and title. + */ +function _usagov_benefit_finder_content_check_life_event_form_usage() { + $return = []; + + $node = \Drupal::routeMatch()->getParameter('node'); + $nid = $node->id(); + + $result = _usagov_benefit_finder_content_check_life_event_form_usage_in_life_event_form($nid); + foreach ($result as $row) { + $return[] = [ + 'nid' => $row['nid'], + 'title' => $row['title'], + ]; + } + + return $return; +} + /** * It checks life event form usage in relevant benefit of life event forms. * diff --git a/web/modules/custom/usagov_benefit_finder/src/Traits/BenefitFinderTrait.php b/web/modules/custom/usagov_benefit_finder/src/Traits/BenefitFinderTrait.php index 5449eae895..b509b47e2b 100644 --- a/web/modules/custom/usagov_benefit_finder/src/Traits/BenefitFinderTrait.php +++ b/web/modules/custom/usagov_benefit_finder/src/Traits/BenefitFinderTrait.php @@ -8,6 +8,7 @@ namespace Drupal\usagov_benefit_finder\Traits; use Drupal\Core\Entity\EntityInterface; +use Drupal\node\Entity\Node; use Drupal\node\NodeInterface; /** @@ -158,6 +159,19 @@ public function getLifeEventForm($nid, $mode) { * The node revision entity. */ public function getNode($nid, $mode) { + $node = Node::load($nid); + + if (!$node) { + return NULL; + } + + if ($node->hasField('moderation_state')) { + $moderation_state = $node->get('moderation_state')->value; + if ($moderation_state == 'archived') { + return NULL; + } + } + if ($mode == "published") { $query = $this->entityTypeManager->getStorage('node') ->getQuery() diff --git a/web/modules/custom/usagov_menus/src/Plugin/Block/MobileMenuBlock.php b/web/modules/custom/usagov_menus/src/Plugin/Block/MobileMenuBlock.php index 346ce32cb8..77a8f550da 100644 --- a/web/modules/custom/usagov_menus/src/Plugin/Block/MobileMenuBlock.php +++ b/web/modules/custom/usagov_menus/src/Plugin/Block/MobileMenuBlock.php @@ -56,7 +56,7 @@ public function build(): array { $crumbs = $this->menuLinkManager->getParentIds($active->getPluginId()); $items = $this->getMenuTreeItems($menuID, $crumbs, $active, maxLevels: -1); $twigVars = $this->prepareMenuItemsForTemplate($items, $active); - return $this->renderItems($items, $twigVars); + return $this->renderItems($items, $twigVars, $menuID); } @@ -71,13 +71,13 @@ public function build(): array { '#siblings_of_active_item' => [], '#submenu' => $items['#items'], ]; - return $this->renderItems($items, $twigVars); + return $this->renderItems($items, $twigVars, $menuID); } /** * Returns the render array to theme the navigation lists. */ - private function renderItems(array $items, array $twigVars): array { + private function renderItems(array $items, array $twigVars, string $menuID): array { $node = $this->routeMatch->getParameter('node'); return array_merge( @@ -88,8 +88,10 @@ private function renderItems(array $items, array $twigVars): array { '#translations' => $this->translations, // Ensure drupal knows this block should be cached per path. + // and when the menu changes '#cache' => [ 'contexts' => ['url.path', 'url.query_args'], + 'tags' => ['config:system.menu.' . $menuID], ] ], $twigVars diff --git a/web/modules/custom/usagov_menus/src/Plugin/Block/SidebarFirstBlock.php b/web/modules/custom/usagov_menus/src/Plugin/Block/SidebarFirstBlock.php index 8923a18c86..9004c7c25d 100644 --- a/web/modules/custom/usagov_menus/src/Plugin/Block/SidebarFirstBlock.php +++ b/web/modules/custom/usagov_menus/src/Plugin/Block/SidebarFirstBlock.php @@ -75,13 +75,13 @@ private function buildFromMenu(string $menuID): array { if ($active = $this->trail->getActiveLink($menuID)) { $crumbs = $this->menuLinkManager->getParentIds($active->getPluginId()); $items = $this->getMenuTreeItems($menuID, $crumbs, $active); - return $this->renderItems($items, $active); + return $this->renderItems($items, $menuID, $active); } // We're not in the menu. // Display first level of this menu. $items = $this->getMenuTreeItems($menuID); - return $this->renderItems($items); + return $this->renderItems($items, $menuID); } /** @@ -98,7 +98,7 @@ private function buildFromParentNodeId(string $menuID, $parentNodeID, bool $clos 'url' => $this->request->getPathInfo(), 'title' => $this->routeMatch->getParameter('node')->getTitle(), ]; - return $this->renderItems($items, $active, $leaf); + return $this->renderItems($items, $menuID, $active, $leaf); } /** @@ -106,6 +106,7 @@ private function buildFromParentNodeId(string $menuID, $parentNodeID, bool $clos */ private function renderItems( array $items, + string $menuID, ?MenuLinkInterface $active = NULL, array $leaf = [], ): array { @@ -126,8 +127,10 @@ private function renderItems( ]; // Ensure drupal knows this block should be cached per path. + // and when the menu changes $theme['#cache'] = [ 'contexts' => ['url.path', 'url.query_args'], + 'tags' => ['config:system.menu.' . $menuID], ]; return $theme; } diff --git a/web/modules/custom/usagov_ssg_postprocessing/src/EventSubscriber/PublishedPagesSubscriber.php b/web/modules/custom/usagov_ssg_postprocessing/src/EventSubscriber/PublishedPagesSubscriber.php index cc6ffafa25..1818ed91d5 100644 --- a/web/modules/custom/usagov_ssg_postprocessing/src/EventSubscriber/PublishedPagesSubscriber.php +++ b/web/modules/custom/usagov_ssg_postprocessing/src/EventSubscriber/PublishedPagesSubscriber.php @@ -49,8 +49,14 @@ public function modifyHtml(ModifyHtmlEvent $event) { $script = ltrim($script, "dataLayer = "); $script = rtrim($script, ";"); $script = rtrim($script, ","); + // The following line prevents json_decode() from failing when there is an extra comma after the final element in an array. + $script = str_replace(",\n }", "\n }", $script); $decoded = json_decode($script, TRUE); $decoded = $decoded[0]; + if (empty($decoded)) { + print "WARNING: PublishedPagesSubscriber.php is skiping a page due to a bad dataLayer\n"; + continue; + } $url_replace = [ "Taxonomy_URL_1", @@ -63,6 +69,7 @@ public function modifyHtml(ModifyHtmlEvent $event) { $header_replace = [ "nodeID" => "Page ID", + "taxonomyID" => "Page ID", "language" => "Taxonomy Level 1", "Taxonomy_Text_2" => "Taxonomy Level 2", "Taxonomy_Text_3" => "Taxonomy Level 3", @@ -118,7 +125,14 @@ public function modifyHtml(ModifyHtmlEvent $event) { $nodeIDElement = array_search("Page ID", $csv[0]); $languageElement = array_search("Taxonomy Level 1", $csv[0]); foreach ($csv as $key => $line) { - if ($line[$nodeIDElement] == $decoded["nodeID"]) { + + if (!empty($line[$nodeIDElement]) && !empty($decoded["nodeID"]) && $line[$nodeIDElement] == $decoded["nodeID"]) { + if ($line[$languageElement] == $content_replace[$decoded["language"]]) { + $pointer = $key; + } + } + + if (!empty($line[$nodeIDElement]) && !empty($decoded["taxonomyID"]) && $line[$nodeIDElement] == 't_' . $decoded["taxonomyID"]) { if ($line[$languageElement] == $content_replace[$decoded["language"]]) { $pointer = $key; } @@ -161,7 +175,12 @@ public function modifyHtml(ModifyHtmlEvent $event) { } foreach ($header_replace as $key => $item) { if ($name == $key) { - $decoded[$item] = $term; + if ($name == 'taxonomyID') { + $decoded[$item] = 't_' . $term; + } + else { + $decoded[$item] = $term; + } unset($decoded[$name]); } } @@ -182,8 +201,21 @@ public function modifyHtml(ModifyHtmlEvent $event) { // nodes, but that could negatively impact export performance. if ($decoded['Page ID'] && $hierarchy > 5) { $nid = $decoded['Page ID']; - $nodeEntity = \Drupal::entityTypeManager()->getStorage('node')->load($nid); - $url = $nodeEntity->toUrl()->toString(); + if (!empty($nid)) { + if (substr($nid, 0, 2) === 't_') { + $tid = intval(substr($nid, 2)); + $termEntity = \Drupal::entityTypeManager()->getStorage('taxonomy_term')->load($tid); + if (!empty($termEntity)) { + $url = $termEntity->toUrl()->toString(); + } + } + else { + $nodeEntity = \Drupal::entityTypeManager()->getStorage('node')->load($nid); + if (!empty($nodeEntity)) { + $url = $nodeEntity->toUrl()->toString(); + } + } + } } $decoded["Friendly URL"] = (empty($url)) ? "/" : $url; diff --git a/web/modules/custom/usagov_ssg_postprocessing/src/EventSubscriber/TomeEventSubscriber.php b/web/modules/custom/usagov_ssg_postprocessing/src/EventSubscriber/TomeEventSubscriber.php index 8f0e9b175e..eb60834c88 100644 --- a/web/modules/custom/usagov_ssg_postprocessing/src/EventSubscriber/TomeEventSubscriber.php +++ b/web/modules/custom/usagov_ssg_postprocessing/src/EventSubscriber/TomeEventSubscriber.php @@ -10,6 +10,8 @@ use Drupal\tome_static\Event\ModifyHtmlEvent; use Drupal\tome_static\Event\PathPlaceholderEvent; use Drupal\tome_static\Event\TomeStaticEvents; +use Drupal\views\ViewExecutable; +use Drupal\views\Views; use Masterminds\HTML5; use Symfony\Component\EventDispatcher\EventSubscriberInterface; @@ -189,11 +191,13 @@ public function modifyHtml(ModifyHtmlEvent $event) { public function excludeInvalidPaths(PathPlaceholderEvent $event) { $path = $event->getPath(); - if ($path === '/es/') { - // Tome should never request the spanish homepage with a trailing-slash. - // If it does request it, that is due to the path being linked in content. - // When tome runs, Drupal will redirect the request to `/es`, causing Tome - // to rewrite the contents of `es/index.html` with a refresh redirect. + if ($path !== '/' && str_ends_with($path, '/')) { + // Tome should never request the Spanish homepage or any other local path + // with a trailing-slash. If it does request it, that is because the path + // was found in the content of a node or term. + // For example, when tome runs and it finds a link to `/es/`, Drupal will + // redirect the request for `/es/` to `/es`. The response causes Tome to + // save it in the contents of `es/index.html` with an refresh redirect. $event->setInvalid(); return; } @@ -203,12 +207,53 @@ public function excludeInvalidPaths(PathPlaceholderEvent $event) { } } + /** + * Add agency index paths to be exported instead of relying on Tome discovering the path + */ + public function addAgencyIndexes(CollectPathsEvent $event): void { + $metadata = ['language_processed' => TRUE]; + // Get the English letters to output from the pager view + $view = Views::getView('federal_agencies'); + $view->setDisplay('attachment_1'); + + $metadata['langcode'] = 'en'; + foreach ($this->getLetters($view) as $letter) { + $event->addPath('/agency-index?letter=' . $letter, $metadata); + } + + // Get the Spanish letters + $view = Views::getView('federal_agencies'); + $view->setDisplay('attachment_2'); + + $metadata['langcode'] = 'es'; + foreach ($this->getLetters($view) as $letter) { + $event->addPath('/es/indice-agencias?letter=' . $letter, $metadata); + } + + } + + private function getLetters(ViewExecutable $view): array { + $view->execute(); + $letters = []; + foreach ($view->result as $result) { + // Tome must create folders that are lower-cased + $letter = strtolower($result->title_truncated); + // The "A" page is the default agency-index page, no need to export. + if ($letter !== 'a') { + $letters[] = $letter; + } + } + + return array_unique($letters); + } + /** * {@inheritdoc} */ public static function getSubscribedEvents() { $events[TomeStaticEvents::MODIFY_HTML][] = ['modifyHtml']; $events[TomeStaticEvents::COLLECT_PATHS][] = ['excludeDirectories']; + $events[TomeStaticEvents::COLLECT_PATHS][] = ['addAgencyIndexes']; $events[TomeStaticEvents::PATH_PLACEHOLDER][] = ['excludeInvalidPaths']; return $events; } diff --git a/web/modules/custom/usagov_ssg_postprocessing/usagov_ssg_postprocessing.module b/web/modules/custom/usagov_ssg_postprocessing/usagov_ssg_postprocessing.module index 66fa75f980..9ba1ba9488 100644 --- a/web/modules/custom/usagov_ssg_postprocessing/usagov_ssg_postprocessing.module +++ b/web/modules/custom/usagov_ssg_postprocessing/usagov_ssg_postprocessing.module @@ -5,7 +5,10 @@ use Drupal\Core\Entity\EntityInterface; /** * Implements hook_entity_view_alter(). - * From Drupal.org -> "If a module wishes to act on the rendered HTML of the entity rather than the structured content array, it may use this hook to add a #post_render callback." + * + * From Drupal.org -> "If a module wishes to act on the rendered HTML of the + * ntity rather than the structured content array, it may use this hook to add + * a #post_render callback." */ function usagov_ssg_postprocessing_entity_view_alter(array &$build, EntityInterface $entity, EntityViewDisplayInterface $display) { usagov_ssg_postprocessing_remove_shortlink($build); diff --git a/web/modules/custom/usagov_wizard/usagov_wizard.module b/web/modules/custom/usagov_wizard/usagov_wizard.module index 643ee27eb5..7f3cf97fe0 100644 --- a/web/modules/custom/usagov_wizard/usagov_wizard.module +++ b/web/modules/custom/usagov_wizard/usagov_wizard.module @@ -171,6 +171,11 @@ function usagov_wizard_preprocess_html(&$variables) { $variables['meta_description'] = $taxonomy_term->field_meta_description->value; } + // USAGOV-1989: When the meta_description is empty, fall back to the page intro + if (empty($variables['meta_description']) && !empty($taxonomy_term->field_intro)) { + $variables['meta_description'] = $taxonomy_term->field_intro->value; + } + // Set a bunch of other stuff... $variables['language'] = $taxonomy_term->langcode->value; $variables['currentPath'] = $taxonomy_term->toUrl()->toString(); @@ -229,6 +234,19 @@ function usagov_wizard_preprocess_html(&$variables) { $variables['wizardTitle'] = $wizard_title; $variables['wizardTitleUrl'] = $wizard_title_url; } + else { + $parents = $menuChecker->getTermParents($taxonomy_term); + $topParent = Term::load($parents[0]); + + $variables['wizardTitle'] = $topParent->getName(); + $variables['wizardTitleUrl'] = \Drupal::service('path_alias.manager')->getAliasByPath('/taxonomy/term/' . $topParent->id()); + + // Make sure Spanish-paths are prefixed with /es/ + $langCode = $taxonomy_term->language()->getId(); + if ($langCode == 'es' && !str_starts_with($variables['wizardTitleUrl'], '/es/')) { + $variables['wizardTitleUrl'] = '/' . $langCode . $variables['wizardTitleUrl']; + } + } } } } diff --git a/web/sites/development.services.yml b/web/sites/development.services.yml index d2857c66f8..c02d3ff941 100644 --- a/web/sites/development.services.yml +++ b/web/sites/development.services.yml @@ -1,7 +1,17 @@ # Local development services. # +# The development.services.yml file allows the developer to override +# container parameters for debugging. +# # To activate this feature, follow the instructions at the top of the # 'example.settings.local.php' file, which sits next to this file. +# +# Be aware that in Drupal's configuration system, all the files that +# provide container definitions are merged using a shallow merge approach +# within \Drupal\Core\DependencyInjection\YamlFileLoader. +# This means that if you want to override any value of a parameter, the +# whole parameter array needs to be copied from +# sites/default/default.services.yml or from core/core.services.yml file. parameters: http.response.debug_cacheability_headers: true services: diff --git a/web/themes/custom/usagov/images/social-media-icons/X_Twitter_Icon.svg b/web/themes/custom/usagov/images/social-media-icons/X_Twitter_Icon.svg index 2589c3a417..0ec8b667db 100644 --- a/web/themes/custom/usagov/images/social-media-icons/X_Twitter_Icon.svg +++ b/web/themes/custom/usagov/images/social-media-icons/X_Twitter_Icon.svg @@ -1,2974 +1,23 @@ - - diff --git a/web/themes/custom/usagov/scripts/ceoResults.js b/web/themes/custom/usagov/scripts/ceoResults.js index 28bbf85488..27c1dd1f68 100644 --- a/web/themes/custom/usagov/scripts/ceoResults.js +++ b/web/themes/custom/usagov/scripts/ceoResults.js @@ -37,6 +37,10 @@ function lookup(address, callback) { function renderResults(response, rawResponse) { "use strict"; + // Allow the interface to show now that we are about to have content on the page + jQuery('.usa-prose-container').show(); + jQuery('.usa-prose-loader').hide(); + // Text strings for the page's language should be assigned to "usagovCEOtext" in // an inline script in the page's Header HTML. The translations here are retained for backward compatibility. const backupTranslations = { diff --git a/web/themes/custom/usagov/templates/field--node--field-custom-twig-content-elected-officials-results.html.twig b/web/themes/custom/usagov/templates/field--node--field-custom-twig-content-elected-officials-results.html.twig index cb559105b4..1f8eadc416 100644 --- a/web/themes/custom/usagov/templates/field--node--field-custom-twig-content-elected-officials-results.html.twig +++ b/web/themes/custom/usagov/templates/field--node--field-custom-twig-content-elected-officials-results.html.twig @@ -1,20 +1,28 @@ --Your address:
--diff --git a/web/themes/custom/usagov/templates/footer-identifier.html.twig b/web/themes/custom/usagov/templates/footer-identifier.html.twig index ea27214566..2b3bb619b8 100644 --- a/web/themes/custom/usagov/templates/footer-identifier.html.twig +++ b/web/themes/custom/usagov/templates/footer-identifier.html.twig @@ -4,10 +4,11 @@ 'official_guide': 'USAGov en Español es la guía oficial de información y servicios del Gobierno', 'official_site_1': 'Un sitio web oficial de la', 'official_site_2': 'Administración de Servicios Generales de los Estados Unidos', - 'official_site_3': '(GSA, sigla en inglés)', + 'official_site_3': ' (GSA, sigla en inglés)', 'accessibility_support': 'Política de accesibilidad de\n GSA (en inglés)', 'privacy_policy': 'Política de privacidad de\n GSA (en inglés)', - 'foia_requests': 'Solicitud a través de\n FOIA (en inglés)' + 'foia_requests': 'Solicitud a través de\n FOIA (en inglés)', + 'important_links': 'Enlaces importantes' } %} {% else %} {% set translations = { @@ -17,7 +18,8 @@ 'official_site_3': '', 'accessibility_support': 'GSA accessibility support', 'privacy_policy': 'GSA privacy policy', - 'foia_requests': 'FOIA requests' + 'foia_requests': 'FOIA requests', + 'important_links': 'Important links' } %} {% endif %} @@ -25,15 +27,13 @@- Street Address
+
- City, State, Zip -+ ++ + + +- -+ {{ translations.official_guide }}
-- {{ translations.official_site_1 }} {{ translations.official_site_2 }} {{ translations.official_site_3 }} -
+{{ translations.official_site_1 }} {{ translations.official_site_2 }}{{ translations.official_site_3 }}