From c9cf1038879e4b423b8a3f95567f9e485575f061 Mon Sep 17 00:00:00 2001 From: ken-blanchard Date: Thu, 28 Nov 2024 14:40:05 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20DTS-STN/?= =?UTF-8?q?passport-status@a8f130f7e624ceebcd5d6463cb2eb14c99c21dd3=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../assets/MaterialIcons-Regular.woff | Bin 0 -> 57620 bytes .../assets/MaterialIcons-Regular.woff2 | Bin 0 -> 44300 bytes .../791/merge/e2e-test-report/assets/app.css | 14 + .../791/merge/e2e-test-report/assets/app.js | 2 + .../e2e-test-report/assets/app.js.LICENSE.txt | 55 + .../assets/roboto-light-webfont.woff | Bin 0 -> 25772 bytes .../assets/roboto-light-webfont.woff2 | Bin 0 -> 19508 bytes .../assets/roboto-medium-webfont.woff | Bin 0 -> 26292 bytes .../assets/roboto-medium-webfont.woff2 | Bin 0 -> 19944 bytes .../assets/roboto-regular-webfont.woff | Bin 0 -> 26280 bytes .../assets/roboto-regular-webfont.woff2 | Bin 0 -> 19868 bytes .../pull/791/merge/e2e-test-report/index.html | 2 + .../791/merge/unit-test-results/clover.xml | 782 ++++++++ .../unit-test-results/coverage-final.json | 62 + .../unit-test-results/coverage-summary.json | 63 + .../unit-test-results/lcov-report/base.css | 224 +++ .../lcov-report/block-navigation.js | 87 + .../unit-test-results/lcov-report/favicon.png | Bin 0 -> 445 bytes .../unit-test-results/lcov-report/index.html | 266 +++ .../lcov-report/prettify.css | 1 + .../unit-test-results/lcov-report/prettify.js | 2 + .../lcov-report/sort-arrow-sprite.png | Bin 0 -> 138 bytes .../unit-test-results/lcov-report/sorter.js | 196 ++ .../lcov-report/src/@types/i18next.d.ts.html | 136 ++ .../lcov-report/src/@types/index.html | 131 ++ .../lcov-report/src/@types/resources.ts.html | 130 ++ .../src/components/ActionButton.tsx.html | 283 +++ .../src/components/AlertBlock.tsx.html | 184 ++ .../src/components/AlertSection.tsx.html | 427 ++++ .../components/ApplicationNameBar.tsx.html | 160 ++ .../src/components/Banner.tsx.html | 151 ++ .../src/components/CheckStatusInfo.tsx.html | 310 +++ .../src/components/Collapse.tsx.html | 184 ++ .../src/components/DateModified.tsx.html | 169 ++ .../src/components/DateSelect.tsx.html | 307 +++ .../src/components/DateSelectField.tsx.html | 877 ++++++++ .../src/components/ErrorLayout.tsx.html | 229 +++ .../src/components/ErrorSummary.tsx.html | 286 +++ .../src/components/ExampleImage.tsx.html | 205 ++ .../src/components/ExternalLink.tsx.html | 181 ++ .../src/components/FieldSetLegend.tsx.html | 160 ++ .../src/components/Footer.tsx.html | 358 ++++ .../src/components/Header.tsx.html | 499 +++++ .../src/components/IdleTimeout.tsx.html | 301 +++ .../src/components/InputErrorMessage.tsx.html | 139 ++ .../src/components/InputField.tsx.html | 388 ++++ .../src/components/InputLabel.tsx.html | 157 ++ .../src/components/Layout.tsx.html | 280 +++ .../src/components/LinkButton.tsx.html | 271 +++ .../src/components/MarkdownContent.tsx.html | 244 +++ .../lcov-report/src/components/Modal.tsx.html | 316 +++ .../CheckStatusFileBeingProcessed.tsx.html | 331 +++ .../CheckStatusNoRecord.tsx.html | 256 +++ .../CheckStatusNotAcceptable.tsx.html | 184 ++ .../CheckStatusPrinting.tsx.html | 142 ++ .../CheckStatusReadyForPickup.tsx.html | 187 ++ .../CheckStatusShippingCanadaPost.tsx.html | 328 +++ .../CheckStatusShippingFedex.tsx.html | 316 +++ .../check-status-responses/index.html | 206 ++ .../error-pages/Error404Page.tsx.html | 304 +++ .../components/error-pages/ErrorPage.tsx.html | 373 ++++ .../src/components/error-pages/index.html | 131 ++ .../lcov-report/src/components/index.html | 476 +++++ .../lcov-report/src/index.html | 131 ++ .../lcov-report/src/lib/index.html | 176 ++ .../checkStatusApiResponseMapper.ts.html | 196 ++ .../lcov-report/src/lib/mappers/index.html | 116 ++ .../src/lib/removeCheckStatus.ts.html | 106 + .../lcov-report/src/lib/types.ts.html | 394 ++++ .../lcov-report/src/lib/useAlerts.ts.html | 190 ++ .../src/lib/useCheckStatus.ts.html | 226 +++ .../lcov-report/src/lib/useEmailEsrf.ts.html | 175 ++ .../lcov-report/src/lib/utils/fonts.ts.html | 130 ++ .../lcov-report/src/lib/utils/index.html | 146 ++ .../src/lib/utils/next-i18next-utils.ts.html | 253 +++ .../src/lib/utils/seo-utils.ts.html | 109 + .../lcov-report/src/logging/index.html | 131 ++ .../lcov-report/src/logging/log-level.ts.html | 127 ++ .../lcov-report/src/logging/log-util.ts.html | 142 ++ .../lcov-report/src/middleware.ts.html | 205 ++ .../lcov-report/src/next-seo.config.ts.html | 628 ++++++ .../lcov-report/src/pages/_app.tsx.html | 346 ++++ .../lcov-report/src/pages/_document.tsx.html | 196 ++ .../lcov-report/src/pages/_error.tsx.html | 145 ++ .../lcov-report/src/pages/api/alerts.ts.html | 271 +++ .../src/pages/api/check-status.ts.html | 376 ++++ .../src/pages/api/email-esrf.ts.html | 319 +++ .../lcov-report/src/pages/api/health.ts.html | 166 ++ .../lcov-report/src/pages/api/index.html | 161 ++ .../lcov-report/src/pages/email.tsx.html | 1129 +++++++++++ .../src/pages/expectations.tsx.html | 403 ++++ .../lcov-report/src/pages/index.html | 221 ++ .../lcov-report/src/pages/index.tsx.html | 433 ++++ .../lcov-report/src/pages/landing.tsx.html | 658 ++++++ .../lcov-report/src/pages/status.tsx.html | 1159 +++++++++++ .../791/merge/unit-test-results/lcov.info | 1771 +++++++++++++++++ 96 files changed, 23788 insertions(+) create mode 100644 refs/pull/791/merge/e2e-test-report/assets/MaterialIcons-Regular.woff create mode 100644 refs/pull/791/merge/e2e-test-report/assets/MaterialIcons-Regular.woff2 create mode 100644 refs/pull/791/merge/e2e-test-report/assets/app.css create mode 100644 refs/pull/791/merge/e2e-test-report/assets/app.js create mode 100644 refs/pull/791/merge/e2e-test-report/assets/app.js.LICENSE.txt create mode 100644 refs/pull/791/merge/e2e-test-report/assets/roboto-light-webfont.woff create mode 100644 refs/pull/791/merge/e2e-test-report/assets/roboto-light-webfont.woff2 create mode 100644 refs/pull/791/merge/e2e-test-report/assets/roboto-medium-webfont.woff create mode 100644 refs/pull/791/merge/e2e-test-report/assets/roboto-medium-webfont.woff2 create mode 100644 refs/pull/791/merge/e2e-test-report/assets/roboto-regular-webfont.woff create mode 100644 refs/pull/791/merge/e2e-test-report/assets/roboto-regular-webfont.woff2 create mode 100644 refs/pull/791/merge/e2e-test-report/index.html create mode 100644 refs/pull/791/merge/unit-test-results/clover.xml create mode 100644 refs/pull/791/merge/unit-test-results/coverage-final.json create mode 100644 refs/pull/791/merge/unit-test-results/coverage-summary.json create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/base.css create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/block-navigation.js create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/favicon.png create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/index.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/prettify.css create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/prettify.js create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/sort-arrow-sprite.png create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/sorter.js create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/@types/i18next.d.ts.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/@types/index.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/@types/resources.ts.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/components/ActionButton.tsx.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/components/AlertBlock.tsx.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/components/AlertSection.tsx.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/components/ApplicationNameBar.tsx.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/components/Banner.tsx.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/components/CheckStatusInfo.tsx.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/components/Collapse.tsx.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/components/DateModified.tsx.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/components/DateSelect.tsx.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/components/DateSelectField.tsx.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/components/ErrorLayout.tsx.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/components/ErrorSummary.tsx.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/components/ExampleImage.tsx.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/components/ExternalLink.tsx.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/components/FieldSetLegend.tsx.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/components/Footer.tsx.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/components/Header.tsx.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/components/IdleTimeout.tsx.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/components/InputErrorMessage.tsx.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/components/InputField.tsx.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/components/InputLabel.tsx.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/components/Layout.tsx.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/components/LinkButton.tsx.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/components/MarkdownContent.tsx.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/components/Modal.tsx.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/components/check-status-responses/CheckStatusFileBeingProcessed.tsx.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/components/check-status-responses/CheckStatusNoRecord.tsx.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/components/check-status-responses/CheckStatusNotAcceptable.tsx.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/components/check-status-responses/CheckStatusPrinting.tsx.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/components/check-status-responses/CheckStatusReadyForPickup.tsx.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/components/check-status-responses/CheckStatusShippingCanadaPost.tsx.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/components/check-status-responses/CheckStatusShippingFedex.tsx.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/components/check-status-responses/index.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/components/error-pages/Error404Page.tsx.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/components/error-pages/ErrorPage.tsx.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/components/error-pages/index.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/components/index.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/index.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/lib/index.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/lib/mappers/checkStatusApiResponseMapper.ts.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/lib/mappers/index.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/lib/removeCheckStatus.ts.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/lib/types.ts.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/lib/useAlerts.ts.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/lib/useCheckStatus.ts.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/lib/useEmailEsrf.ts.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/lib/utils/fonts.ts.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/lib/utils/index.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/lib/utils/next-i18next-utils.ts.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/lib/utils/seo-utils.ts.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/logging/index.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/logging/log-level.ts.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/logging/log-util.ts.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/middleware.ts.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/next-seo.config.ts.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/pages/_app.tsx.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/pages/_document.tsx.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/pages/_error.tsx.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/pages/api/alerts.ts.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/pages/api/check-status.ts.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/pages/api/email-esrf.ts.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/pages/api/health.ts.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/pages/api/index.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/pages/email.tsx.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/pages/expectations.tsx.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/pages/index.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/pages/index.tsx.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/pages/landing.tsx.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov-report/src/pages/status.tsx.html create mode 100644 refs/pull/791/merge/unit-test-results/lcov.info diff --git a/refs/pull/791/merge/e2e-test-report/assets/MaterialIcons-Regular.woff b/refs/pull/791/merge/e2e-test-report/assets/MaterialIcons-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..b648a3eea2d16b6ce783906d6b7d5f251b9eb56c GIT binary patch literal 57620 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

wF7DI|Kx|V1sBQ9FYs>m5C)C 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 BJ$(QG literal 0 HcmV?d00001 diff --git a/refs/pull/791/merge/e2e-test-report/assets/MaterialIcons-Regular.woff2 b/refs/pull/791/merge/e2e-test-report/assets/MaterialIcons-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..9fa211252080046a23b2449dbdced6abc2b0bb34 GIT binary patch literal 44300 zcmV(qLaH4god-Bm<8i3y&NC1Rw>1dIum|RgzJoZ2Lrs zpu7QWyVk0GD*tRm1RDn#*n?jf3b-+JGsXb`o^K4<|9?_)Fopu#Ks7Vl-V09HrK0t1 z8~Zi}2F+TgDCMZDV{d4SjNq*5tBjvq-#O>6QvbMhde0G@=1>WT6AD?FYHu0ikega; z>#mApX-iw$(w6QH48JEw30FN{_sf5mTE?Y}D*r#_=EX+*uo1&#?f0LDsnA_;;~H3% zLxCTdVy;vtIwBs?ZoLX9$L7>X+VkW~9@$mBGp(v>Ob<@a910>RNex5OognF)o!ohs!So!2}}rZG)$IL^H=v$DKWnv|V>w-8hao zagH}G<;94Yj2XA;q^>=(%^d5(wx|WmmDKWTsi$hebmD*KGM53NIwPkx<@V<0<%C7b zQ3^@BU!oKcp8vnvoo~GfclBBJR-x#20u3VxJj}9%>0o@O93))a-xfrYnDq0!ZvFug z2s1C_1qdS{Adq{*5`qetJRqzDWxe|t4%kYf;$S)Id$m@mtr~kQIgrpbIo%ngDG9Rlp690_YS-ueT}jfMY{APPG@P%2ZPKjR9shqiV}7sVy`{ z0|v~by%6)`bN^R5>(}h9YWLPb5@~{z33et(!V?KjfUCMN+JyUgbh%bvyWiYeEilYv zi~`^ZS;_XKB%r!`_DxmpW=zm#clXua=#r zyBzKU6?hrq`2FqYh3EGz-A>NUzmpIT-6)K?&8GByd21|V|7bvg!|BpeQ1st7wQTh- zQdcdVvYfJt&avMWwy4fU>HOx+`yM_%esITg3*GE!fRiZVmevY}oC5z04;aqMhA1a; zL?6fzWl+*xE=q@(%PXC`>ngkGT$C>PuGS2 zZMmoLz0@IMc!&`)-1+7gPM72-eaBTw3Bd$mgjNV4gjN`nH#1**`<)+suX~vNnf1TB z?-~)&A|fJ6lqlsWCF0$$<@bLWLYYoFm#RV#0YwCT(`sH#fB6Slu3Fk^)pc*Gb)>IA zA-nI+4%<7Hwb-gv1XP@;u(M8*lcE1V4=X{;sOny%uTMRy_2PC! z7{p5Dv!l%*wV%8i(2MD6gJlN%4&434HC}YXtI+FlpM2Q4twt9{w4nYk-Ut6sX_!U( zf5p8!Pb^S%XdmFTu)gR}ULZPet=Kq%!{2oe>a8+P9c|k+c5U&T=RM7PKPX{+gg8WD zcvK@9+BEZA%{-(WIlKIIx9ZJzTCd^eDb97y@S?eA8A}MIL0DyBc>*xs@VLlRMZ$!V z*_w0VR}+_wyl`f46CWl~wnU<)8ZMIrq4CpItF2O_PJL~xq{TWP>h#qhIf|qKq5@Py zOf*ialDL3Mh$@ggs9p88P69INp;4&7&|YJ=&rEHqHF*oSItB5^TW5bbp6o(tNs-m%p#=hv(v3e?@xGt4L@*mnkUuN1rcwH9`shV5aEL7P2Qm0@9^aoCsw zXw0bi+yZXLdsnfDJzNC^5eL>TQI=m`1$~pl50)}o0j`}UaMwC-DDA5ZM2gtJv9`#F zEmGetQw|sTW>ag!tJvy=00=9g58EndtD<+y_eEf}SX1xjIGVj`iMKXRPy5W1U~3G^ zK4OeNuAEuF$*U%xo(=c5&?9-QZ@ScsXjc)?3YNPJJ>fl4(sS;}cGz$d$Bg)JSvi^a ziIc6L~Q{p3eaB%`>}#A@9Z*mFo8CfPSY^|77lWWN%)u*A;1STVU;>cpnu zg#4PI>d?IC=Hws;eZX{JR2G-x?XYB2chll@H7~lfYzJJf*Uer7RVb8gJ++DjE&!Kz z_LhqMui9$*((F6D+scmcfr4^bAjH$Xp|AI)_15ChduX}M3NNbF1(>g+1_CA(;B3!V-e!$D0dUfTrzVUEotZ~*77 z>|yGpeoF{UPMy^44)+;PQrG@$-5j5*y6yzAt|d*6PQpNrAcPW&z-~Uru8;d>X{2aj zbXZ3}*WZZK?O&mt_A3m6Vu!btFb(R(Z-odMIM z(19nDmri#pXLuC#A%lZqHMQG+q}94|-N&;sq;a~GPUoXiay~M}=Oa>dK0Jk0)~RTh zc$oqS%BYH^!pN`H%L`NlH*0*K$mqmhSi;1$=K|{J`-}xT*!zuo)f@*$Ri!9^HE|v? zTP4vdk5Xy}1F4tJ(GL(YvO3O3t8J~d;bUQT1&3$9Kb=Xk(a{~U{5UG?unZZUc}{gQQsqJ61_3;8oGz zvwSBh-0e7KY~}sLDgSns*y?FkAyix=GRR92d0OozDk{~fK8&zUarRT!-)PzJuIAaP zM6Z(7R7;LjRYW8z-l0?xP+|C<6`L&&hL&ADqkcPyxwG_ginOiU3u2(cUDMCBWtQNtVMIvbWf`JE}N2#&>_ zJX#qhD>w~f#fT)CcSGx13LX$S+8B;38K9WoT2s(I)941yT%WikbWo99ImmQBV ztE(#dY?UpBMvv@HP)Np)4g@^W5Ea0~LLIJs+nSY7eEL0gY}I}zJAS|0&G_W zU8kF!I2(?}NgFWyTcpJBfauVXI_%_>c)4u?!-d>pO=s~(@5Rx1A)_7DULSYbmP72$Zvs)fbSr%m**3Yt(l?H!! zu$CN_mimVx3RHE7Z=i+J)6vMAvgjO!ilJInGtnM^Fq8e0t6`KzBe1>bPDU_W$~aCR zDe*)y8pJ55dq?{KGKpcs+n0&dLm43QSt@4j)(`zog*BoqnO+?dQ7?dfS6jm_S8-Z; zeiYw@B;R-7XN+cjO5M9bji6Y5;?dE*q_e(gA7MI|LK!5dY{%FmCCN-Ci${#(~c;tbMD&yxPU;C8R}K8q zJ&wdifFbqb;e!DaOw-Y$X(xxc=ABVv|2C|f=D_{Hm+iVJb+$~05@+%B;Mt`$TRO?y z(P+~_G#kvN>9tU4Cr54RJRb*;2^FfF-{5dDXWT<}gXXGCn-TQikijC_u^yq!+8u-u z!NF(Ir3wplRSpV)zB7V#;*u^Mf&0332w=lhbRa&0@$B83+sYbK?5FQ*ok=#k=||Qm z2gZsJC(v1#rgZc z19f{^wZtKbAT59cyQ?ArtYY{P@NW2`%LCvz@%ki1M4e8xgg%6?$IIh>$`chl2kM@C z9SUic=t4ZUk39qBJfJ#&5?6jD+g|#8dZ6Qt5YH8V&6U-1>f?y#8LIUeyTc8~-(*&V z_Xch(({a1Q{u8Ocm^?=%G5R|5XsIeeWUp;ONWjEWFlCV)>JC&Rd${j;#*q@LzcmM^ z&+-gR6)90fgb(xOdH|QU9!%~QtRKMOTz*O;rOsp~w(Ye*QEH0tldl4bK7EI%UpmL5 z>|oM?RoYutouF2q8;1=#f_Kp*I0EiAutdUP>N(Edar6z<_2^itR<^RFGeq)@fAAw{ zjy4j-_!$BuvC$EqP7pkxWZ6$_Jpye`Jr$s+qb^eYfdtV7dG zCqa0s`U+IJ_r*1OUR=_oa_wd#2nmv_T##B2*ybQndTDe}mMVOqfD>LO?%23Qr=+W* zARrGSEg*=GWGs4t^*mq>*%E0-uU*(yzDfRZoT==)pNQQ&%Qy!HOIBNtk(+0kV%6i8 zW3r#wt9f*9x?2_b&cX^qQ9hgx6haH=A5jQ%kxDozvxTLGz(_SU0(_L|R8c|Wc~vIt zCBnhsc*Oy2c3sG&z}B*;_m-7L{Imu7Y88qg!s$TsNN#x$oq}{&X_S_JU#Q3zWb255 zyx6?fjw57$^Kwr8o-5i%2zV81-8A;IwGq7UKmQ7Qy-PplG13YvBF}1CwaW$#H%;D9 z|M8O|TkMDSBlX)8sCJyO!4~IBX!VzI>8b^)haoSpsi9&@tD^2Lh zjp;dMoTN7CY|BoV)KhiW9EotZuXA~1V6Z{j8MTN;_ym&(X5bPJctim|Y8yw4H=hkQ zoa+@aATev1c(O$tg?l`XTbiV?4}m$vG?mf!l+6a~vTm2rYd02+@b)Q^yx{`;GgK)f zbetX=D5(*%n*vAk-VV}CQZZDX|0t&P`fWrI?Jbq}5>#J<7)@RMp5BhoqO>1EfQ^^_ zEB0RMCVI{^M!X(U-1|)=E<5S8Q9mm_)-pJZyP+n6GW3FteIiS1~Uy`1(4k>UP4MK_f6xnc}9F!LN?3W zszgNPMSPo|C~*2T!lNOsvFxV-(csidQ9hNA;rMlgq0`~on?7nC*|hyVFqU-N{!trN zb=SKh8opbyJPiF&U80?10+Z-j&r$~Ah7aB`0{wLiE>Xu#ZyObtMcVe?7t&MiU(NMM zEvs4%^jb+kJA#Z+3p5&3K=b-a5Un-T+;7Y|#5{}!Xs_OBnDkjNvl?>%{~cC1oVtja5cJ> zvfF$UXfN6T%8n|(Q)=!EFuf(Zm7+e2Un_N4SV?6*lB2Mo3@35kY`jQh=Cu;fbd}}M z>cI*6$h2_gep`7^G-Ua8{LX*M(K95hi9VAvCvAw~Ir3q6Jn;yAV#d|vtf zKTA|RQr0~Byh1P2wE1n!vcZ0rJ@p|7Ukh8rqMXw_1|=I7$NQmWQLC%Kod8r;=+Eg# zj4603+$d62>wbpcJ2OFIpRmi(|At1y6Ch=` zWixz6#Up*Ry4F<~z6UPC4_h!Nic6jQHa}35l>Ny^r|}A0EdjuN1OF+g;!X$?)#eMf zv2i;%`g#17iyxX)ML!GlGsk9UJ@+FT;)qn#a~l*AE2rVo$s#oG8SV(9g~c&a9C8cQ z*0D$iAsICl!qIDIdGT0LLIcH&NN&Qu(O@0lS)zpiPx8P^zP0os7i7AjfP?D`N^F&H1`6~fV&Ya-zEdJ?xR%)rTtI_eQ!Y=>n{<>VB0>C`(xi1kup)<*g!{n7ztmjYOjo&h&;)MoHjZT^8w>!pEaJ3VkAbB;h# zAM~aTCUHHl))b}WX#k*Jy5x1rc1q?1Uy5lMGPoBhX!8}`2X3#nlYk_xkCM8z2lS}i z;kAxeiv=n{2(hrNm*|t3k9$s)8twAz=ea6RtFqlx@_19-I8kMY6LrfTzXlZ55HLdjAaym*Aj=%}JQ(7N zdQgnOkg$a9VUA*I+(=oQl}egbZ?PU>n$YB@yZgc6(eZ8XcwifV=~N&`r1qY_Su`!&wF9kjcN0wax&z1<&Joo z&relZLOg!Mag!nD4m~#`4S_U1@x7d%s3T@=pwBkCmg#7sEQnD$_StN0G7+1OIxLIj zL1m0wX6xFHs0$Vd4~oKheXxPioGi*qRxL-W4!?!Z$?`nl5lEBPb;9wp8wz>}<7iOG zRaXAc-`DabkCRG;_Q{A(3r_2SE_FUs-gQz_&p4)GaC0R$v; zHW#pB1a&xQY4*-=596p><>FFSBB%9o$VeRYW;wY8&`=ey_p2?^xv8h>5# ziS$0$L(h>iH1g7(Rr9!phk2T^D5!Ysv=JVFMiQhTmWT7FdoE^bg{`WrA-0?bCguCc z)+&pA%)jT$mfOQ(7gFT*egSH4h0|ZQQY9Lr!z&JT*a_Y7EBckGLe6UQe+jaEwypeu zDuDQMmNJi-z^bXy=v7d;5SP=;~;mYReD|mCa-PFO`W**hXnrDuM*9z=44a_wHrYwmCv;h zitB=~4JwR(%a+>iWj3Rle3r@5^r~TLr*-OXbErAanzU%(P|^MH<1kI7O9g=>yu%nW zgCXqo1=ZU0y`eMz83Ni9W(=;PkJ!; zhb?T9Ta3A#^SIV0afQW}M?3{Ew#k#l$v~b&yMZ9bc#O>Bq{9xS`zCZMd1F(~@;(?3 zVKk>|Y=5;cIXE;Z0^Y5HN%Y>wBOD5&_z_M9qv=fhBB=u3lP4{Ct^ottBbzSgCzIfC zfW+r2s34YTemf(+`c+S*;?6l+FEz1W< zNDp!E$-T0U0*_V&gX4 z=-L!+9~!B)F?q!>A-FPbHrH^p!MV9G_5;P*e=lDo+agKa!fn~vC5?Y^zu`r$(JO-$ zmQoWG^qR*d%$*=Tv&BJs2WD?Ymo4oE7k*`@O)B|yVQm)S$N0i9(%#t9Z9P=k&+cGD z@BL5iHsVt=*(vcvI0$Vpv=5_gbhO7lPrC={OLZJz2ze}MOC=#C$OT_G0hqXS5n!b2 znbLpsNsyBLrMJa`4z^;u07}7Unp=Vme+gOMp*qP+B74E86-sGtola0xF`6amcPREL zCW*U4I7Jj9DtX&=M84-(+av=t+jZTS_9+tx86GZ~+WSGAfm!P#Mzon3;r9ug8DG+% zO|1WI*de|r=HL1sWmLB#l6}pP^{a0(!3M|Ow^$*NgiN*&LFsP4{rKm|(g=;L?ZWSp zS$;v%5y7d(GKe40io^!jPlbIE0-@bx*u~ROUJD$@Q;E7`>~_3?#XLSs`K1k1qm># zdoR$x-ne2(rk_STcg1yAQj9e70T#Tm0yet%VBCBB<4|9pCMLfo*_YyuG>rb^T96V) zA;B6EWyyk84kglED?HAQif4q$V@c|R4eX3JnB!o!ao4=@GV2XGjfI;*rblgiZq2zK zJM3<#gfl(LTqkxh)nous7HvNtmNV=z&kBeIcP>Y+dkWk}9m9x}O&^-vlLYGfwZIlT zBFDn4o8to0Hq$BF%0Jpc!(a_^zUJ0$*{Rc{`qVl#s@u+XkzdSDNo7kYu3w`|*{9)| zWJ|+OlOrB_j2!92qR68W{;7vU4x+=e$(rLQiH@vICkPpw7Nd5}hrCnu8YbZxCD-~IWP+V_2@NeOsD;HUl1jS1$S>nc8y-M5d zq^x3o%BJCYL(@lBoOqNooY=7rJmjzw{{7wg2mkiR{^H;M@vr~ncP}31E8XHgUVQmI zz0xH&yZnkLZu8@w_qzA|5>I{NT|VKBp84M2_`!?cb834V`aGH5+4z_Bk18sl=D6NkS?9kh(F^T!w|)D@@6}#s8^LgHaVR87VGv zoiI2E&MaArAB~#P8fUrQKPsllRKMTV)ng;cEi9He8YH_KViME6C`T_rc{1&+7wao; zAY+b#0IoHEM;QdBA!im$Hv5?<>yObp=zt}E&1-X+qEc7}X@?H>IzN#umx=3V+C4bz znzd%Kh}I>@ZKWCKk-lQsL9%SghbSMU_sg^YS>q+8iQnv5dX&s{plBtaOj9CFO@Xu|?- zI^ydEBRye*MekXZpRrI6Y%_x259?fL4eAm`RGiK-hnACsKBjI$fUMmHoI%ZhW;X#D zkNl1>+lYO{TUZRB6e789#9Cw|sfE~pj_nnDNhoDgX_oVrlpqs*EP2U>o73UpfB2p! zPeA!O@UmZ-dd+qCaDW*wk$7bro*W;_bJ_e5cFQX#6J?R8#Cjj0ar#$&)?D63RpB1B7SDc7-^~ud0rNG zJg#Q4**a;xhYSf*ybNPp$MD3P``44bCs(^uie#SEinLjU38;mLnjD3(2b?%<60~j; z4krsIT{td)z1EGEc^2A8Kso;}xqx08yKGKQtEX5?ZnpFp zN$WmtXw7tMr#+_@a?APUPkCQkC%JuL*INu0@Gs}GS zz~WHW=|qzw3*eNxPY_s&oH~2=&;?vNK)71VB}~&Cm^e zkvUey1JZQbQ09`KjB7Wvp(=5G>yr@znJ*NzPHngivxy~=ecYT5!LgeW0sd%D?mKCV z7hGS#fxnb%XM}m+(VY;P2D?}>A;7&FB)-hfM@;liNfkNVk)Lmj1={Eq4fz22)WMFy zVnh1y$8BB#T3W}UCvT9HlHrT^=a)6Z15}lGFv}1dT=XWZkVy0si{*%1QZQRl4_~aj zm+h2x+z^C6Jm-_PSTs2oglg*b=)tZP(vpt!j;{nRR32-KC1M0CcByya@=0*w|Cw0tXGc(ypyyfDb&??i;x=3A&8EPcL z5)wYiMWLe=v9LK_$`nG$OZ7cA4Z(#lS2iJJEK06w`&%_D3Y@YjsS0R`XJbRL7Ck2M zH zur6XsRqqatNcGga1;{^^P5vee7SfpNAq&h~X}W;Ri;5A6O~zrANM|BMS+Im2@BP+D z%ZMYojQZl)*7$p@=x31u7TD>kSHTcX1fm$zL?TB71ZR;TBx>x$dlLQ^kn~fl?-aF! z`E8hMt$~wXyEy6RDaS(FBLG@!ng#^O84)odnPHcZ^_)!BI-*BRYOjKCP{%8YUnXL#(bEhEVjVocy0+$4giL%QWNz z#)fD@_-w19Iq3pIB84<`f3V-6S+I-Emy1vkS zed}i5k}mAseHYHBVpc%{1(;!(z37Z7N<+djmc&Afvu0nv+AjdaIOza@o&-|KB%6GS zA@rkSsrT&41-|ivJ@&?iOy&J^`8fPlo2$N{o~$1&`iq;}S-qy;hSfRd9n$|K4c}af zOF`DfED@PVX5m%q9-m^r`2Xx*=YK(+sg6<0)Ra0(9jT5`hpWR>S5ynC4^ymCHF^c)C{AK=P{n>mmEh{mh`is8199a%S zfSvFGyay|w18rzQ6B!4uGX942gqnz7i52+=tN=U}CS{NcEmW3eck3;9Mk3GH9KuP1!-`d} zx$CY=?z?ZcJuDOWGM>L&@Or#MdI7~7ctME7pOB;GAqC?f44C*QGhx0J5o3acny|+l z2S_hLbmHZ(bGiu$o)-hGjQ2Wn>h!U(O+zeeeG ziDKx%ycH?=7%cY*IOIjD1Eb_MNa5v-;KiYZx5kjc^2Yg+5;bChK7={3$*TvhCZE6y z?*5R>n^9si6CoY|O6s6l))<3=IW<1O#kc}!`5AC(WX^3(Wf&i#vP0_<6WahPQRnNH zz9#n;l&SX{N2vc(#W(M&VLSLhhmue#o-O7!X>2JaUN|B^pdN+Wmh7;qrK)r1a!t!d z%OnsWWA_40VNj`>U= z*{9D-O=LDvP0prTJVvwO+n8uGFxu1*_`1QxCC|UVTWe($8OWV-`C;tqOmJ3ct~3%S zwaUcb1o5*=qFfC-NAYB0Qx*m%&8c=iX7dXK}>+m=5jZ!RE}EoCX9FBMT*GXyiG} zy+^c&-{8TUY2`2gP{N-m(UnKtIY#18WRXM`U+*LI$a&7$m$*^S$f{&#)HcL>VuJ`q zDKEPqUPNsHBV5RVRINrM-3*^0I4~qHW@XKi^{z>UmJAK(^Jef!FDzx0{;qYKd*{Ei z**UiBlrp#v9PZ7$8to!xjNm?y z#=##A>CYm`E^Wp{dPD}vfc2P9hqDTfJjva+m;t!eKRpwvGCot!u2oUb2{n^1{3NNn z5HqtNYqoX8ZQ1FDt;FH_l~Xc^Qkm164d~i!`G#If!_k=PQyv*$mK~C*xkOWK$V+}B zorCnUWoP53UHoK_s!FL1+)?1>&fSMoVgP8BYY`x<6q+Uv?vpyPFV~}D?EK`@1|2Ts z;&V?2oWENNn+zr@D;X@@@bX)Vq@%gHT;m-xf~8l9h9_>5&_|@Tk@}qU7uIAD)IzZ&o1q-=^)TEI%%J9$*>f|0sH189)7Y>Jz zD!*4~@fIf3jABrks&;$>2nE_XOyp%P7X~=%4y;6=jr&uc)$!Wq7*n1?XPj-{-5MDg z5oCD8)sqKP+3+MpRG~h82sg6g@sKN!BFSB>3B;gsjAR$TP}IcO-%Zqt!(OX4!k)?` z-@=Ba6?hb)fqQYSzYz~BkxN?!5q7joL52-Jt#8(cdq-;B3_F3fDs8XJRqGHjR>c9U z|7v-l)LF^5Fjm<55S1Mc1N;?H#+jsPwPws3b3{cJ!Hr!+AZfu#sG_Z6hC{rCG91N+ z0yUQNuSui4@1m*?<(UzlOZJ53mW+7xvn_ln8tI0WqTzM)h*SjC*JqVPg*yYr%KQLk zJzRT6mY&L0y?cL>gDOt$HGZ~VKcct-o=uB@a>{y?u0|U=ew0-TM?+GQl?<^3Zt#0_ z7q?rBnXquJ5tY_i=Nc+^l56iEbe5>`9U+ld32*XRk+J1dfx?Y%wpqeg2{z`lSg23ex^!%#s?!GAnIq(Lw5*4Z7H^EPg4A;38F1p3J`y?kX~zJ;h>^kctt(g zvrrNZ=CyuxXIv>)rC-fngI)PqFpdxz#XP~cH-d_z@>&W@jkb``gAV3kXG=Dw=_vz9 zZ7jic4})4A!B7mDbMQqNW_;#;d3K4X^*XoPpRWl|pagH<#q)eQ6f>3?a-(E{c`L^@ zeTZJoC_Ax-cE`R)J%WN;JPVG3j=qu6?%2V>?74YwRxuGlfwYJsFx6WOK1OuW=HxIZ z!gCv{qA%KUC4<&Dr{1k$Wm@aeb97!3QQk6@v>S|xrXR=VJUDPZU?E8&JeG-MLVY_e zKJ=ilBfVh~5tBvViC%z(%+&J))`*(`v{c19;yP__*t_vFqMhg2R>?^w;F}}Mm!gcu zBmqX|gcqQ7xB^O{)Tq#rZwlmgZvJJrbp|T?!v{lN=)|ltVn?M*^q53^!-u9;Y{Tj- zvyy?zG0(c<0FR|t<=~aeDA9)GIsT`!^14{9S=KxvHlBLQM&{DLXEp%S{XqOv+ z3&?kYq6e?!aWDMkm*l~L90;MR#(?`~ag8ZHp}Rt~Vo*a7_t8#khfML8F6cCKVi|m} zx0%vHr^L{vo6HWE<1kGzft_#Bah@0h+IS8ARG#k1rb#AMvD7WO_&SjU-cWqBqGMYC zH#FWYxz)Q^Vb-lpV`}beCQQ&3=JVU z(QY<<(cxiaE%4v>o$`a8$}c}TD;}M0+h|Jx1d%TkoYp@Xz%5oj^_`cvI9DFPlAKeP z;ZC}0eD_VF94VFQp681>|0m~(C0C5Agop7Q36!t@tK$o42Uh5WR$xo<)BQMSAP@v3 zE!o^^A_aVM8FdN*oJK30!%oww1E2X&aJyzVesU_pwLMEZ$JUYE7h&qARSjfeh@6HD z_I*ysIBH~PK;H?G1WzV;j5U#vn8S2MC5%lbI^IJ$Tz^sY7(?luiIh*~} zRm8;18%=XpSC#xcUM85I>&>zcVdeQ{t`JqZk|UY~0YSpH*<54$w@;?xZaWR(2t##5 z?ST;km9Rm8$_>B-#Ol&++g+n<@d=X1o(&iG(SNq6y8fe;_Aw3uu z5?O*i+$1!Mg$x;_+3AkD-f&%WuO%X}XJI8EQxx4xAvR<|>+)eEi~VA)L}$VL&c5i; zbI4}n&~~|K4XboR>8OJN8YIazy$Z1Q0#6AVEikTKi;TTu^qZK+b2fw2`u3B4cn)`S z21dx%>I4^%-`cj`zqQy_8u(Rt8Z)Xvg@K~)ec+n6iR*i+NCuXNsZ6*)InxdXCgrq&r&U@x zHHgbWwKOuX3kBhIc#&x*B(jA`F-t+YCAqhb>}&5t^rD`JwQmE|@vj2aKD$FJoD1dZ`dF(VW+itjz$JeQo7^(R@P_JpSvJ`o)D{wmEp1IlR zb)hj(+qKnvH=(kCp-hxorT*Y#oafM#R1)RwFk}HXO$m8y$sVKp*&KhSdGg=AEEKUE z1um(aw;A=&t(jTR*q=Usqj5G0-k*M%%?I zRg!8Y+sTN?>xG!J7$ckV`1_tc9lM_OM-4!G1N7OhXypv%%DLd_M)F7b2-1vM4#$WR z)nIMS37clL-e@O4>NO%;YAX|7BM7E01D2?FBX*w1v7M-`BWwKRG_8hR6M<+OmG>i& zh+bNFDYm%WT_#t9%Jk34(PEUk!e+dYgEgTJu8Y;W(?%1zdpF$xr}j1;BFn`(sGRz~ z4$7ZSwL2Mq1M|SC_};n!ONYpgFqL#S;0HICtpT1$+m9}Z=&Ob4amp{RZHtc6t04wn z7YJW(@$|F!%yZd}mSaur{t|n02tC$VAVu!AKif<3%z38}HSBZ|K)Aru z7Le1aT%`)>$V+2Ds+FMKw~vsJ&;Mk&c^LKP&Qa)5_+oZ(v=gRw{d4e9~7gqC;o>5>LC%)%II@g0hACrYboe z>X))#ci5Kdja7A@P$EuZZE5P{O7IxwJV@7CZ>l2P@v6+yygk`<>71%glj?W>bjgDj zia}hL8*I~0`V{A%kUL71tQ+vR=h6*hF=_;X-SzZ#J8t(G^lil=fKWY|CFad6YYTk|p#z~PUi>8ZJSEEcKMTzgAb z%=|D(c8I4d%2}gb@N<}QpwnDtkeZ~PN)S}Y?l4o*ZO5`DRS7fpu|>z~CF9Swj)|+y zMjx;6?r2uw{%%(;*siEJ)n=W-;pXmVCR$9|^w3dfO7TxuA$OCOCiBlz%5{}v2n!(u ziVOt)-s+~3#KVJ1Qzxex;K{_elQ!wJCrO&2KRso-iH+370hb0qE}z+O`--3Oa|x( z*j)#W=!KI-pjP1Pqww1K5V74tt%&SuM!Z%ERhVX~LMVaWHsoSzvPgqsqI0w6bSj;r zZz+XT4yeSnqP`dUuDBGxZH-Iw5E#kXNcc+TDlqCBL37N?SzIqThjNSixD7KO6Phhv z53oUf-yTQDdHR`covILW_*5D^dqzFazS(m*GW3+?9+}rfq2&u5HXeo5)L!f*Fk_Yka%AAL;&p*AQ~$jy@wH?zO54wbo%8x^i-BH< z*mJ+_8IN}_g4R_u2>hH>xiW^;G-$@#;x!onYEg8|@Ls0&p>vEzt2^~N*ggk@$GXG(BJn1& z=XP*@7zrFr(@S`;on;e4Za%C8qJRPx93V8^<{0RJcpzPOl+K!RuZ5}03q=4ne14Vy zuAIFIbJdOaxDSd>$UjIUV)6v=pUPRBzrq-%Ua| z&2AS~m9tL6F}Xyfijs0G8nPqK6C9{=#g!#*b$M1k7^wj2rJPfFn=>%($zfiDcs;J9 z&6K@Fe6D<;_9iP-OD-XtT`6zY3?$c{9}a6}9wr5m0u~7dNwA_hIGivLwvb$BaDoMB zaE59j-H9Z<60bbE zYcVn*H`d~3+jrSLeSuA79mg^;)kv}-vvHzZ-tnxp+KPGkz~^kY^38dQQ}mzVpAfGv zz?X1r5iqu&fUk{<^DrQnBy=*fOQvr{n9LN9 zAjOD4f}j58N#?+D`UZFr3zmgI6{?nvFPL@#{=>OoV4;m(qAknxa9V8%4{*kIAf`Y! z2lq%BNabvRZfGB`Wu^5uT_r5=44biTBBPln_V>eNJ235W-}Rl@gfZG9Weog+#@T%e zb&u5U#3eM*gn0PxV@vf~J^cr#$UI1GgoE@k0pa{o5i&2?_4L|`AyB)b9s=o#>3A%8 z3Z)Kaqz{_yRI)sDjVyPXcxDsu8u!6ZQ+A2ZW-et+9a5zXG@30TTVoE)D?M#+Mn6Bk-B~xkM zx@jFEZ0oRNv~i@ES_R@!-f{p$(Rwg1!;J~u`52k;IRe^dh+lgS30B%5`wTL`t-p2bbGSGX$ zB1+;X${@sw*$q{Iq;uv0AbdzU_9&m0f*_0rgXoovy9kEfw<({7@oU;E;7O!j)jF#7 z@)*bQp{KEsEz=GItvK-n)(8P*OnQLd>PpJ(I{q9mKFIu*jR)nDl#kSFV)=lO`c9s| zLF^h?0Ri|xXG!JlP36X3NV0HxG+Yq@`N#@PP(c^t1g0Al%fjG7H5@zD(Tpk9Kyi+~ z;0v+|!6!7)m&j?Sb}0ZrkWBe`6+IHf zN485}Zm4hAtrri>28&MoEC2lHzXh`~yj;2-q+y5XKMZ6T_;=XCOvg>)&z@Tb@^LR& z$U*=5a&!A;;mS;*E$L2xMB$szLPOy_ELHv~t>4h+ULMuCS08dZYp1hvhx;p4Xh}pM zSsKQH^wClcK3XrvH=-X5$x!yyN8@?h+)PAuW^th{9BFHr7y8%=&wpFCC{Fj5XtYI^06aj$ zzan1`;>^_y)=1*DB>dWaC|O6-Itf(SfJooDW|Eg#BN+Cs6S49v4FphO5&19_G6QfJ}Uo?Ae)un^!B&l4r3j zCI2R5GITlXY{{|{R%&5sPJi>V7Ej;xC&xp^x}oz28skSFi2LVuxOucbW9x7+(_~yT zt`3a_k{q>g7|$6E|I+^V&oQi5rA4!dy!qsW6YN_|gXL7fm6nmM9|D(bx09dr>4g12 zJTVq^?RjeG;Eb%EKr~ArVXO=vYWhF;JqiaIl4y?zp0)VZ)Okd0(BW&IAuiYe7K%(A zlkgOI?QfFQ#R{p5*^-YjNao(0YR~>7r#^W*-}$=w>k>pSy8S zB`+13in3N6J5CA&TA&*Wt(somOfuw(ybe6i8TQ*$ha9v16nt&oJiH7i7|4>jnYE_9 zcV!4_gy6YXh*dLjLo(D0g7rC+>*nD9Jvaen^F&JifTmWXtH!zhg)(GSh#s#hQ(p*Y z2dIyhR}W^r3>(xN<1UgH9!KW`Y^-s9P7hR;l#TS7*y|h_7$Vb_F(Ep+BVdbUCVJtu zS))e=Lh0{!HPqLMCsx%>FtVidm7)_HoGAKeWeI2}%1s9jBasgA(}w_Rr~3vLA6{q+ zp&8RE2@Aa>&pDb<5UBz+v6*Or5pCej6GQQ8c1yO15%`U^NEi@O&d~bieFzBZC=v|+ znk2$Pq^xyR4_khMheN8(mU8r){Hi+-UQ80`R41Ceo*0(|l@N6eDxwC?@4iU7F|tRA z>c}oor4=&57YNz9YdsH3Zsw12rGeOT(E7RRsVX+1;UpXChZI*}Xm<1@8y zpYgXx_?1gLlwC8`lU%>`(s=UVF(W#40Y9TUlcbH>HSL5KlZ}Vy;cBT4kbRP?KLC}X zUfS*ZY3*3R&r0&`D9xQ0cfod( z(iOs>BLNGGySU$w#l)!~u8C(MJjVv8ps^!Wu8rgg=gcTQOa#aP_fh`KaIjhgXpl$d zJz}c3Nz>^O0|Ev~NwCa53ecOxWpaEs(%Rej?k7=&bm_bV3bt*gt*wYOJe+)rIA!KY z5MJnT`cG=$Pw5Cfm&Eua;(#S&amkVeR5**`dgrai_u+9eE76Ikk=N2%A37@J26vJw74snDcfdts?q@V8A&H?Oqf8s)0LJx=jdRr#VcaTyNu9x668<{?~i~+Kj4Jw=2GrRs`U(k!L zleTfgC4t2+z0tSnE8;Qp;ICVcAA(lzFaMyyQ%_vs`uULHBsxe1)ou|hs5q6cMBStz zux5R2nk5b*7Q%#+mNnrwFKM4`KL(6(dAp?_F{hIq;jPibe;+z7e69C-Nf$yge%Gx!Q;4oR+i6z9IO56#jYmJg~w!tXYOtAhn>- zS~j85N})+EoZrsj~8n$!+DDDJVAePvNww!1=AaL_k2Pv ziCd~QAoOL^6VYZ&vLjAs!2Ad>GWpciq>L)a9q-K`f?{iv)A$lwgtA7Fg^t3gMHkp8 zo_rj0GHzWf&4)UH9(HTMdWsP6Kr<)B-fV5P`l+;xWTmbVHgQD)t~Xd%Jfk^7m9XG; zG~I$i8WzJu0zTgf@Iu+$OhbZ4XeQNsFA-%m4U$BWWwyyeEGBoqp_yH}%<8NQ-)gCS zqLQ>B+srDU?rcQl1PJY>FiglXg5H!SH}nz>2N`NdX|6mh?NXl?Ff0VyW_ zdsP)rXV#Lb^lkcd9wBG7$*du7^k?4>YJ6Uc=~|1C^{T6hc3q5lf~I3e-s$4-m!|6h zI71nqgkIgij-CHl=OR-pqXUs|uR)D1d7Eg(Cb&iYu_^AmcYJhmYK%Vh@F4q08=pft8G&9YAcV|wiaBHc6l?^rmVX@T)B<|6>cmKOLf zhcGBj4&yf4w{1u8K`_nrgnX3WBX*x{ui|s+@nqN+(pno=?76u($(Wl9CT7r4VL=2t zs{YzB$W3iP;E(W%Gmu?Ob0>_Y{XFlZ z0lKTm64t#Ff&hZ$r}WzlGCvD!_YtIEsK29(8UG^ihwx_jrs&)MUxQLc$)G!v76Mgr zO_40r!46|^rebORQr|qkIuDa1`*xM>IHuj(sgG{|_Ff+8jpFK-mx)wR4`rMU@{ z-TEZ_g1q+}o3-WWsP~W;3uc4(!cC+}B0khoPm!l!8HuP4W(<3z&%vt0-!50B;pd@; zY7ih4z%E>5VD!-W)9^zbm+*Ew4(!zI8(8ZiwMU8-jxKY%QvG)F6DWW8zPCu|K6MpM zqNnw@M=@K&{_^Gzwb)Z8GSp*%am3gxnPH7i;BDZMLQg)bk$uk%sM$zngm9)=s~d8C zCTh50uGtAIopRtn`#zG3J)|#GgABsTyne3NQVk3H#SSB`O?x9rIe?R^U`}?d|}2o z!`pipFNdbr4xDfaL1lw;W^Hmqj_JAs)4Y6BYpCMfJ>JbM64gpmgk+It~1 zv~c!&P>U#U8jgWw#i?+FyuxOPvh0(X^(VaFan}=qxv>gWB?HQeHzn8dL)5U_mgK8| zb}!WW7uIvQ?j)MEgPJyV+TJvc#W!(ruza1@3S^ZS$O}#b z>C2in`#NyTPg*RQ;*nxDuBxJ0tD-Dt%7Uf@FsHERTB`?nMxN8BLp5QD+x!NBxI#?3 z&3Y{ol#?eP6wvj|?$ZV&^pik#Hye9qkY^^RmIz~GxgO1hgQLAe$n9L0T_j(Ac~6&} zR$IPl(9LhTHh|m-LEu!tW+13R3n6p7ApuRZRliSazh1XiR{f{xq2i=qx@0AeRo(hZ z3e!N%pYN1;Ux{~9PM9De0?N=&wrXH`CY*y0MTvUQmOVSd?y>(RGJ>JyeL@btxn*Hg$DY&;|YGl;?IA+Vu6z{6{bmriLYpTh& zA2wJIeMEMRmzp1_<%>15uXkzZ=ee)`6$#yIz>cgkdGef{pXzx5nYxW% zV3RvGWeOYvHV_SCkS+0+@ZS3`?B-AN#M7?b$xL?_uN^H1zl7}O&t=~1K?D8TUV?bT zRf6>8V-g>2H*T98y&c8w%gI!lD{JJy8C1J4ohfyQVKM5|yXsJLO2(!3x0tRjCK@fW zA0F>_$=E&{Y3@YPkRPH+F>Wj;DSRi7O zwXEip1<7`=t1OOUQ6@t8#*r5yC`RMlX%Juq;!>dF3Hpt zGtN%>p$E!KcaxKv@x14M2d{i*dT4(}0_%scN+o=DmH7)D^XON}c<`;f(AADu+2Ij3 z8{V0glW%XaZCiqW0@$2^*q@rv`ECfm9463B2amlMrK5mM9%$Fhx9OpMAMoV|-Z#;- zVO3|nS0$lkYn%RZl&+G`HIm=vFTi0V>lFec8L@?JO5=`(GEKWm(mleOMSU&@?XMGG z&y>7(j7+17KDs!|O%5HEy@IjiIfX|3SCc?0r11<3W*H;PtaIh1&PyP_{-}mOzVJ;r zgq*@`{8zFL(q!t%pH9QH**M$W8F}xB0)Wl<>C{j}we!B55Hjj;nGlff>0--%)UlnA~G!b_e2Kfo7%a8u8|?? z^~Q(;nyv&wR$auw3zQR89i>c)p*n|ux&*25vsEThVuT2LB}(cZEoyGcO~yg!abO<9 z_u7vT#eF>G&b$n*u8@WsOUZc|Sv!3Btw%&SD!=I!5w3^)=2+=RNvKZ=5PiK|wQ$tb ztHZBE{XQb5T^FZr+8L94uvFm14h|I$NTE!+@q1f@i0!!-vyh>qos!)V!n(_MFz;NC z2UWGE>o=KHE6S)#N6*dwo;VD{5*eLU1GDR4VEpOpK-iMU#h_3NcqpejT+jHzZOac5 z@(c8XDl83>9+Dd`f4mvfeb4KP@i<~>M2{22o1j#^10yYBW{iF^8XX{Ck^v3OcnOtI zqk3~Y_m@(|vsuzHp9CtwKu1&Nb2q-Vzt3XCgPzgRMfbzGG*_rP>U1Vwk5b?Js`oYf zAjmd?3D&gJex~jZauZo-FE*Nr?qW()sV&h2=Y~kLxge9U2_nS~_NFF!jHo1Q9}UZP zRB?kf9t{I%aqzrYeM^C4st=eiu7;HpWwy)hu~=1sal%Fud)(!0!=i$jSYj}61XZa% zgVu!$mAxJs+HE{&5^^I^$z7zjRk8ipGE*qLA)1&0-9W5jiC-KQIAr6T6I&5yjcwY8 zrknqn3*PIhWS{2ed&l<-Aa~@45xVm+W*gi;>=btK#Pi>j?JH3n z90h9x;HLQ+S|4S01Yt5ydrteAETBBrwkI%)lZezeiT^M{whhxt`g)4MBkNmG-~x26 z$FC8hskrOX86gW&cN0A|-J#a#etBGV@`3R?t*p+|?;Zn9wPOqWO^(6kEIF4!+y(~q zTh7*nPpmG85*gR}xGOoilAI;++>py|<4#k;-E|=x!5!5Ecs`WDB(e`)6a^KK4Z?(x zi=>iEL0nDaPHHvkdDKo->2gf|Q|v3=@IqzD3F=juZUp&!cRp;zXj9N{&f;xjveyj} z)wf6JMdRg(FHga{3vUe@FIxjgPsiUF(*9q{-7KRI488qa4 zKsEIb$Lqx-l5oeULf6CQs>$e3s*zVFG*7qfA*%YT#I05XVH2<}Z}S|3?bATTM|q;j zjddfqz>F<$X2o+?24*f7*c51GqQ=Ol^Q3XOq=u#%T|&$RYH$gt36(@WC;-5ix>2O6 z3D!)EOD)A%Z5Vd(Z=MHxG)Zvu81YV8o>l$bqyD*8qyjc!s0DpOmC7;@f|2^7PS)iu zcxZJiDm|%b%3=ItXP`QenJ+O?n*-|5CCBuTv;c?yX}4K(mPNCIEwO6f-i4s=n!PTl z5UuTiEU3HGOP;INlD}W}NH$tz`g~Xq>4Cd_;!yTZFQrd;MKcZxmS?5Z_a zsFADQQqk|KsFzp7n0{qdze7Bx+p1bzdCv)14VVdDAz`yd6VnK=)w2N>+s8N>|x$=^aH`%R*7hN3mNyco5$ zbY5)tKWOl5{>;<%0Ld>T1Detp9(b?w?w1kug(Uz5I7s=Us zNZc$xRC0tIrU&T<29ZtXBDRL%8PP%|9y;~sJxE2-sPTEsE1#uE@w|LVrDz(5@j+5w zR1e#V#4;eLCq$P(_Q}JfOz;JQ1@N4!mB4*Hz(H11v4(x~x}MkYxA5L`{{D)>Wmk1C zl?doC>`f`Kgf($NH@q!;07)dvKOv5r;pfeHqYduV@|I0HQ3zzUK9yByawTWG?LHMY zm%XBtJD)ql`1LY8}uMSt1DTI21lAtuC{@H-^Q8I3!amqt+ej#YCt_$ zbbO}E|B^5CI=#GY$_6g<@f+N|7h(PcVgle zhIgozn@ax;?LY{@UpF_DZ7R19j2rLac9;4v#B{En_)aa1Gt4SToS9^@7Fxt=VTx_l zvLnMjouF}3VQzfJUg7^_hSdC=g>|0qj{@rgZL=&2fEjg&X6}gPg^12wQ6@|}Ry@~9 z5`0$yQ;u%5+7oYRFIfYC8df1-)SA1ndA?NoMt&cuIu$kLFtgt~zL=t2Z7X({tz+6~ zkRCgfX|J``_4K!AzHt`58Y|vY?XBrk!Q_XdeY2~5jXB@2_Yqg9{E5T5zwT?6#ZyTw2 ziHen(2^$xO-}UI>a2n?F<5Kav^}>~r<(YNqUjie#UlS8}u5qT;GQBc8oH5=-ePR&jD) zq|+@cwyms-s;7^YfxMZ;I0qV<^H7=(BNvdo<*yKYW}Rz&EUVw-CaR60*49%SaphlW zxU$t5lK8K9Y)i`a`Gnr+&mjHnAs-A*smu)fn04EaQuADpZwudkQg^a;7LQi2)JLvr!l!Jr!}x(KGR6 zk|(8_7A)9)espRwGh4_NXS4Ytg}Bo|I--HY;vfS_d;>zZL>a#UGI&jZA6BrD{Y39J zY_}#Fn*Cp$iDI0~)Jw=jdON*zrq!7!)F!hHK&NAFoV!u{9Lyj0m&Nyuyg94>vvs3G z)@*aXM5FE(m2b5RzVb8|Kp43a{?|hxhZhzEB+TDW$TfNCTl;(82}hg?(Ko(^i|+zk z4%!}edeyN?Zq22=_#4s=#^2Skfu$errQXgVMczJRJDq4L{*9PbwXVb_Ts!%ippADM z*-UMb+ZPIhQLe~qlbLijpXH;uNt|S72Qssn996FY&Px|o8B>M8(XZ-|GjqVz|0wIv zcye$8>xZ-FM)nY8DWhkn`R=E%IaA6IXY2r@q*odZ&TYd8tmCVQ;r~e}b>eZZ$6Hu> zUuD>hyvo)R z@;cW6XyByP2OrK6mNtK!GEkGvg~W<~n2SVSc?UZfC(mu;2A#B!p#V1e8mjTfk?xT@}O_t zc7nEcNEq_BxBLA;sN~NtldDSM#|qtDoewK_T^>0-;x(DxqTl&npPo zGsxd9AbnlctxHAUa#}_SQT$Z{6CqQas0RX^0@=L{3N( zd^i_Tn;z~c({HB-cAkXSPIk-b&c^c}sX80Zi#-4$D5W@H z4|cPd!)Vb2ZTXqsIp<73(P*YVVozo39jAPxpwM*B@=D5~mH%qqTHDmrI6?|Muv)Q( zT;&(B>=MgbFnWAe;=%6uw}-uZ#q#o|;DA}uDZA-kKHuR+g$0}?Rx3wciE7_)+c_Z1 z^;W(zBc(k(;%x1>?nq}_+lh`rp?9-?_UZhhbvJcPWYbntZp(kfTFJ8foEk8% zJjKRTmWkBeY-)YanFWobHRqP-)Vl)X95*Mok{e{{s~ti0!=lhOw+nkXuHbnIDEWJl zgg!~|;EF?F|~Ud1XcPhGmZ_E4#a^_-l+Su$ZkB**c`hEcj3XVo1C9VsnMF{-{$Oaz|R685$kF z;x@7CZPu>n$RH{xD4aibL5k29LjraMM7**mIwU4AC@9c$Shi}pgo4`Y=6?s?8yHGK zzcUX@Ws#%KdlVTBza8xgkVUS~k6s}Q3=B{Q1OahTfrEiTIQoOV z`=3>>yZ{sZ1A%`j(NB1D8DvZL%f6UiD;RC-pBK>qV-y-{QU;P8qik5jHrW^jrBh_! zGjtRcWf9akUa8h){z1QjSJTz(^Xxc%kD#>Z%}U4>nxmG4xl|f;$H2vY zBfeWk7SotrL{`+#Vk?Fk@2@*wcYznEDGGYWZ$E`*v4}n2$qX+d5#Z%ss~FtUd#W}J z(^2>6HfEQy_uWX|2zidYtbiy({(RVmnF%FZ;FBW(@oe+wg1a^V^QH&<(@tuP;yCV< zBp(v{HUeXK4s%e*_)8oe?S96HXe1)C*nJ5>RZfQc95XX$e_9u@~zh+CHz3wSde7zZ{N|EuABWP#q)bReLAQ2`=o& zwQrpf82+YL~3idhN9O^kKVlyRi*+@ZZ~@9&K<89 ze+U*pyXkBh<9Y9%-6MQRb(L4_1r|B4%VoEBVW$&!4G#l9J{CuDb^(E*Z{G{(Y)=o2 z*(V5aR0%*9+lYDW#5N3xvG>|J%(B9zlpMyG72TviMF>SrighUb->@l0Fy`wDaHNi_ zPBKwhociG3GiP`0_Ho^3!HGEx$5n715xetcZ`hRU8+*GrO#7hQe-H*_MIm$+Gi zHCh?0(Tp%Gd&5k_^c(=Gdie=tw>zJ$2?pfZXz%*;_3O*Pf7i;7eD z;OmUe_aQ>XVeDO0$#uBm+?W4}8ET+#JLBhwwj6$39Ya+jBCX%-`_~NanH_y4)H7Ay z8tDxD>A(M_CQ`jE;h&q^3l%**;;GXCxzrT3jJj8zH))zfsp*ERk%ie=>-$XMtGkNK zuU%dY!sWi?wJiq@w5DC)Ssqb`ij-D zU%fQ_(;!PHHK)}#rzO!-{&9hIy|=w{(S2$m$QV%&fZh$e^{1Z{KmQC=S1D+_6caxf_Oxx@@E3#aA*K0|T5V;|?qkZ2ZJTvjqh!E8=2H zONVTOtHRJeRPigiq@5-l4RM4frmYPigI4~6&RQ~m^l&L%@W~XAO|7(|v zA9NO_f|r~1z-!Wc7u5kl44%6n!Ywg6LB|t~NMSCx|IGkD@CQkcQsei=(u{Of?Wt8k zeL>5l_pdEAo;Mf%5P$(ey+LcvTg>OrgJ{vp5x-mP7yI4AmObkNsUvmSTcZ@)XNY4j z!H}e~QJGuH=L2Ih_clQO{c!5;_OG6PTAaEsczz&K! zDvS2ZVG8Vh-ZN*0hx?jOn%xd?b<6(!Eo%)eErwUd-+F7jWY@`)yS|JOGp91e7`X@( z1p$42EpQQWTw8u|*yMe5vD>a27Fw>$B0o0{dQ!R`##}TwXvQ2iqlX`l4og297XA3! zMGWRKpiP!qjCm(<*l#BccZ*ESv(H24tW z{kkKN#Y_0Q*arU5aH2DKHw|v2TYHAKJ4BUPp-|laie@rxlCAh}PHT-ygF|S>Zl`w0 z|6;=ato$2_`sQXsAm9+=VG#EuZ{957!>LJ%V~*V2wsze?ce>!^?tOK2eMCkmBIB>! zxS?cOQ4bQ&Z$IB>GKZJB*<{QeUp%){{Ks4j7!eq27qDPo#2kj3aMV4qchrGwb0ENp zq9}4s5w02#bwU4^?<1QhT|bsTJ|e1OvQ)_zUwx{+Dpc|%dFq!n=tzoQU$ETdO-US1 zNGY!B4_RK@yBL;OR2}s3p0h}m7X1|U^Vd-FR2PtUV>f4#EBL8N8NyXwHY!63{f#=^ z)t0L|PRk|q74{`?+I}91C?MyW;DQ79+`*mqX37PY+PS%PwRa4wTbN}kx_pq-5TJ+< z;=?!CgJk@-m;N#j@<6a#qIL>YTkW=!&34-k^beCa3Rk#bvtEg0g96IWK+C2wI>YBY zu$H*VzQu0mEyQe=h4zv1RUAEzD}eoprTybC%j~;L(9u+vv<~bQV9lLpA;($Lzt|c*q<9Ff4g1h~b!i zEAjvODGE2{-a%i%eEPVwPd5I=(#PKtabSPoX8ry!#3A*FBHHpBMbR6yW~jH@j;Kj0 zJDsO>a7`JXo_#mfubHB3y(F{scbhYap}-IVldB*^l)Eh+FMd?~Cj=}A4&)FBCSZ2$ zuCHHXL6*#s`jO0V`F=ZTA{SFt6mJ&SGk`ET}>{?Sa-Is{&}EW$fY^*63~_zK3;U@lBw`_nSDyE zs}uL_tvjza%WLH7Q$sTa=wO{yDOypv{Ml#MM{1OsNH}1>v5N&m5u6$8Q1IL#(F!`) zkZpvtMi+{JQ>!APBc5QbDs@Ul9D)e!DLgFX)?f76J#;?@^v0k^ zjEtV~u3F`VmMxwu9(>RhS}|>-yQeXXR|cg8{6$N4JKz1~zGY)IEj5I|%(LSs;Re>4 zT!^Z)*G*%)Dk>|w9L39e;WhjAYjNu^14qCbD^zE#$oO+LXn&0RLID95Q=#fL1A^+; zs>Js;ZdZMAr;*#HZ*SJLW3)bmX|8EnZQ!`Ztx7IkO}UDlk1OZKK+m)g(WgoYLdJS; zr_FiG%3uAGLCJ?``{SG&vQwV+0D&gRgw-XPmAECBC4yujbeWgX=!S>E3~st-1PmnO zZBxtktP^Mn$z3K7<@*9BYC?73Eyw5RbFHRE9nuAtwYQfAFMVafa^~x?{vL?b#wKz@ zi>aS}`rXRGR&M2g*N8^x74P%{j&QY&-KJ3atDlnr{;4O6{#&M)4TjSugQr|RcaSIp z9On2L5s5qtiBiFcGc&Nc9P%|6u7SGs(NXs9C<}<7RGJ`B6q(!&@xsv^zaf_zryLWO z?FcW}O9A4<1e%DM3Er`Dkb{3#s(Erisrh)CL%ebQ^F|hoiI9a3hez$e$R_8=`jL_K zKD|lQ=x2b>jiNvi=2Q5j6D>ggezv|c=+AB6?S{JzW&pmM~{YdsoP8)0}o6lOdUNkuAK7wCtd2u z(ec+0mhYV(9r^EnM@D^KSWtUDYUPIV_D^L;kNW+beextIAzzY?s^^stE5QUHc{qKv zL|&_-;FQT|9(?yvgP-MU|GZpDl<~`U1(~xG?L`3!pU$TMUNs|rv?ESNmp*Ge?`UtCIz1cnm+$RHX5mqJJ`TayimjWv=!4{C)^cUPhB*Liho&0T(W zfK?B$t1b1g!oPH2e{0d|u5h+5dwq6gclYt`?#i63b=HTut!zswnlnx2jheB20?W>m zC&Dz7cBEWeRDVD6UB_g~3rp2h%2L0`sbXF|FPWFkN{W-WbpGEIk>->XtDcQc^LJE~CQbg3&E$mOh@8X%<=3(#AT8Jdenv=YXU_eI72xcZnt(2L z5n;r>F{Ii_TEV(+De;vS6^Lqkl$e%3X0-{ZFVg{iMq0~Tg zNu+$F;YD#6K#5lpp(+c?p$mfrj9r`Og(>$YmWG7333q+65} z2@dRWfUda#FOk+2xU zKzxn^H6j@QhR=#zxakqmG6IRQqnyVfdc@xg>t2+Pk|||T7G{oN1j|3itJ)R|G#_hz zhmWKMR09%b4y4r0f0aM`7@J=pj*hC=G5Px*dkj*QD$2Z=NKI+RsfdclmAWf^y${q) zDJKU9ry?V!h6X2rRq9UzrjY%Zh~F`iA61KXyOaENk1I8`#N|REasvw+Ug? zNAbO51sIj?)7R9PYxGhUvV|68B1}S!SJp^DcU~fsDN_thHAw5yyv58eCIr`a*MyxRQy+~4P(?9iCF?6jJf{xsaXN#vH$(sdqV z+NwtBHkG1XHrp6`N^!oXrX98OuH9lmU4qO)wFx{e6vXtDb;0hy{|t#B2&@}n1Zc6q z37CNT;LAcoUYhhuNI+>`;1w+3rhqhPSGu-LRuM1#XQ5%+$`?km^3$GK5gPsTPm5gv zD+3P1uJ|c7PyhEDS^&pk&M&frC5#)n0W^m={|w8rEW;tLUwcji_@P%5-gKJgWf=Pf z=c>1535f8BlT_8vZ)M>s@s>KcYnJ}FdC7`Dn`;{5imR(%R>!z~9(h&d-07bu06gXv z*1R+D>50_|4Qbmf*Hf!q$yF{*`*pc?Y8oNWXVY}o_6Qy<2w(3LbRV$by;73pUAVfN zM+~yMY|uljf)y6j(&)z1J~4b!&5P6S$^oJWdxYs_X4^zL!?>*q#4gw-wdgDH_ciTYJ2vn&d&8Cow^;TSPPkW(zoJ4XH8eUU1w zq*7l|+|~KZPvf%^T5^$^)cd2pP|X@Hspj!~9?Y#c^aRrRbhPZ+A+NOhcBLgJtEjme z+Hy(fgr~|tGLJzjxbj16EmUCQnLa+`_t&? z(Uh3^d0SFYRg;o}hWE4T6JJ2Ok|@>TdFADKs%>|-=DZq&zYr3T&%E|@bo^x{Wk zW9`Q$#cGzfzk2(NtOs?Ux2`(a}4aYQ(hIiIXCh9?LiQMND=dF!Lu=n zUQsipnZyejTLGHGN)3yMMt(9EuQWdhZ92!tJ8}KafjVqx<_uWp(_tl1GU8&>X%6f_ z0y9T)0q=c=kv;JX<*lAk!{+v{Qi&rQ0Z;=5^9&2i2hL0%Jc5V!kI-j2PSGNL%CQXU z5O_{v#RKTtPauTyol63o17q_pm!a{Ay;RlxyeIgd>$5ZpyXe+p@ZJ0{S5S0#8F*!i!3x z9UEI4xa?lT7TN@h|v^nOk z_!Wzeoc$(p2z;{$yzN_%=psVv_D36HP@ZqBRdCr|XB)PLlsPWjOZS2E1d~Bc2~Q9~ zY>{`f2rK!gxz@D+C~v|ivfwavAg+^ zqsXaObpC5@>3q6RDyd3YrKYm)re-qjsEj(AmR&CGljci%r7uf~n9oUp5R3w2Ase@s zNZ^Lqjueu2N!TwgN`eksN^-_}lx#{~`HRA*m|%{#-9RMQWa_9e<=$}rdQ$}iJw)(i zqHMuh#@UK%Sx+ z*@EmB--BkW#`vDs+rz^)22(Sl&5s)4onBkGl7S1Ta3i8xs(VOnzL5)8goi04B;m}0 zK>-Wsc8aDmES3z(jcbQcyo_As<`694AN*;^Ai_JMz@FQ}Y^YU}Y9_4I7-;sdEo8uP zT_Fo)!kL;i0Z}5~vH22rJr*pswOy*K4+xUX{@g+mB%M{NA|f@B5&u0i`$T``QjpX? z{r|93#8%Y{t|`BKik8QE^<+iOYh3!~_v66K0z-M!%n83_d1N^=k)iE5XW)W+U{~vC z8ES)*A#Vyy_U|mLfSR;law@sjRSI66yAu+kZIy!LpM^PTr5a2h&oG>RpDmrmfE2mLG|#O`%vwv0?*CA>VB$jBRSh@_~G zXv)6|h%%K*EeMN#Hbx1%t}k47v~1mx^R@J=_D|Ly`LwK3b=P+3^vbxVXELT~2YS!9 zP0M|q|F5SajUI+QB>OLiU`%(@RQ-fW^WN%_k5QoT#fn4y3teyigx`;?$cmYJYrnWa zM^heTL6AzRG0o(AH3#^}!XZWyY`ej@>+2B0TJ_e2F_DXm{s?PLAqiC&C?qnSrl~0) zCrR@Jv+Va-LhvH;T8rdjJz=Lq28vEyQy0dC5sIIe*~qX{s^uJo^wv;7`^lB|L^ma zm5q75Z@k{y`}!MR?^szGkrAM=K?mzxKTlgRF$%%#H(E=%)xQyocKAutSiTeAo!Hct ztm@9}JyqTNXkt%x=P#;$2s`tDSVW?B@js4S+{YiNi25CXI28mc1oK>&+xQEMvz5jv z5AtZIkPae2{?D&Sf5(yQ068nJk4*#s3AJ9uvaecXb@zinIemdEelzzht+71%Oj*WQ zZ{jSca*vDW=a__gj$g%8i&$iekqDDNT4)ENE z(dP~b(O2K6b*Ba!c_(s$(IOJ_XE;k#QI|ffucVYudrjTaLA`5}M#`rWv-7gkM#g{< z$GBgJTT60Sx2FCvSknDoyfqF)OJ96KPJ6{T_G02U|)b`xA8m#Rsn~exLdM;@oX@IjGC61K7=jxutXV1mf65p|>{l9FgV!UaWt3ZzuQ zvi)8$?6h>>C^A11sZT_PfS!+n-Dt5aB}5Pqhr8bp8RDTZwYJ?;YVG0iqZAh>CTm{| zkE;G+(jKuQK>}jkKnXn)6cbMfg2vRcqZDTKw(jDX70w!aLl^L#rN(5~aH?*>;=!^h zJPTzZ#LHn~#Lh&dY1+ujCMgCpafF(b(E#tsC1V=U^1n5QU>E1vMf;2cKDSElJ+b(r z4EI`{N{bA~3QRiu48HGx0DBcD9W`cacVaRWhSGDc1_sBf7atgO`8~YY&c_wkbD9G~ zTl`7Lb+@K{U3@e1>s{7YHsVc(dQR75#arxOij1$@wfTa#;15Sfe>akWBiwzx8+)75 zbtX&PXUde@x9=NH3Qk3Hb0{@9Y52bK3z?$)OxoS3RyTG_!zv+a0SQkCUTZv)<*fVO z&)pD%j`|Z18f;hWPe1WlhWo6)1Sf4Ci<}Om?MQlAoEjD_i6}$is6*oKP+LA{#OVC4gWg90XsI zBYJ%x?6+*ewNqL)#w<87RWbg8u`5+#2Hs)4=-iHC%^1M~V+`>T3TBBDrVO%@Ce>u} zrLF*=@|`r#nmH{$N)ev35!GNv2XFD$=np>>MKd)KcE)k>s932M2$!hx+*+fW+Qs6BMJ-%@Tx z$ENGlC=PTDgBWc)Xbhh<3qNDEm8D^n4BHmDHkML@RUBv@GDfAGE=j3WZzODw!<`)R z=bW|9svgtO;eI<+Te~i4FX^vW^AgL2%HsSdo3;jNwUXOvjQ_R0-M%?* zWf#V33+V`ujo*N5&kPLIBYt5*n5V+>eZ!sqxz~tu9Hpg{n2aLE|f zpeCFDCz2sN!^ePS&{ixH#X))x-xDz8;V^dEcQT}LTVr7K8RCR-lD+&h7_G}%h|BPn z-#fE|)#X{Aw|TSD6Gw`M6URp^eJ)9hMm3yMr9HliHlfW|!GL(d_N1o3U{$H~2GA>- z1O?U}*_O)2Rfgu~16;FVjim{C=|q`Q#zsp_K5w{*LBvXP_@_%bnsLUy58TyW+-wDW zl;Q4VE3EvFr9$$nVz^}s+(KvgkRzgsq9OwG+BNUd%DljtwO(BpyQ!ry_Pd7IR$mN{ z!FREZFG=|sYbY~8)|i;t7)|?o$}`gmHu3bvXiXzkdPEF1YF1Cb;+FD368YWk?;L&& zT$P^{9X#CA*x)hVbk?;y?OJUu(r*Y`TR%@X(_|Q$SsIM>dkD6h6|~|St!4x@QmfU9 zIwn#Ur5E&3GHanCQWL2c)QFDMymAhl3&g~X-d0NIoFkN2jG33yFEgfUyzp#s!u(0T zIiU(IzInV$nA>mU)X0{GyyxzoOEJuf2b{BpidOqo+A10pudnMb8LvDx4tnLcT>Bw7 z>RbGmlFH4Wj=wZ@Z0_i|XP2*I5r4n>q1rp%3!9kD@kMy!yU_Ld;B|P@ge`P2?fcq%YtOG zJZV?JeJAc+vHP!s=9=&oZ@es96Ko07Ca0&w2Ddc2GaGha)WxPh`7)LAWD=rd{_yIW zp0r>{wtWwSE>^`ZTNbF1t_*ApxKB7k@BV8~+v@!>tMi%Bo2jR--BtSkS4tA%eizHr z{%|_!6k4&X+x)c#%b)v@LXFwVlz8k> zFSTC%_0tcWR2!qs8Fm911@rTHS_9X7FWI+GB&yZ*J!{n!`T5-1RpouYsk3R@oH;#+TA~h2j6#408&*ihkIr;L~0jSSvSNt6A5WA6G0J zf(8ZP90poNVv%4CY=p%eCnr282cxVNaFNWitQ+AF!qb9Zl%|Y3k#kX7%XtJONI=qr zxcSf=;SP|}rGAcZF4se|7A0~k$8mES9wbUF!L1(beUEWq;+TPxa-4~=;1S1Iz?QyAC zB(E}wRyR-?H!=E9oN#NWxk%ZkfxJoxHZxRQH_?OW!&-2N3zblwc!b52q?woTY!912 z8gs?)5+3h1TM1s$1^fE@*wq$vFJq58tfp%NqAfrU zkbkAnO>N#>T+9_c@iU@0EzXD#MATHAVoss+%y}$t59gjcJv}pX%&IM3<-RsFM><}2 z4$mPBk=*62`tnT|W*zr%XilLmV1&o&7TD$To;hQ&c(owhn4Hc!w+EdpT23_&7HX_* z*4u#GV#IJyMP2g_-iOG@+eaP--D9|9m^C;JiQ{eFw$IxZ+Dx0iIE<{O;)@E|?CgF; z%#AU>4jUI>+rJH>!TF9Q8SRRZWq!j4nn~Vn9-y{Ck6k?NWxXI97oBzIH>W&HQ~B=1 zrgRhYv_e$O8vTBn^d@i`soIx5SK(P6*?2tjP0TynR57%m{G+oI^KAT5JRlNY`>rNf zp7Bt3<@4RfjU$Y}Fd^Ihd}ViKEFiC@rh`NtVMb?V9cD3$4`)4G+54>_eYxA-Fvre^{)m?{5IPk~0^1-;DDMp-JD`YJd3Y7oL0W+Ou-s zp_|}&i-g1TbBl4FgH~Wf6pR5vI|Z8U1ozHTa20D>gVarUowlILH44s>D^_U6DN;qi zgtwWRUXOzL?yc6SD$!+C2XAQ=U08tiiGXPaGsxPzGb0<3VJ20UDx_*s-QZ$=;vdoJ zmWLV-X1*m4iIU4QXJ{z0@Q8@Ghdrd4VpCBN?7dz+4IktNC|EzPp9A^@?`SPBIr z>=jgv^^V9$SXRN|XzFa_uRfAHGbWjCl z)pC6qI=^0#;`5~_{N>TtgB08GTZ*9T(FOWBaaTco5QHd81${tCG4@sa4Z}#CRG)#t zMq;;)HQXv#R}}eT=i^S<)Tce9ku@Cj!|0FS6BCx?irj-n{_x`-sPH=neh~4vv7`fzc@uz za7K{=cq@!R1OVMMA-eQ}0k;nCPc4d0CbHNv9}&r-*M8H^EHD^XeN)T2u+h~exMA>2 z^aRopms;OIr$@x~>zELY9I+G`Qq<_bzDFPRk^;Zf`Q(#}(PKVKs5i9MH|Bp%+1ff* zIp(mld{)1K_1{e6IlaEU`Pj^)dBMoqt|Ajg2EOsR$1&F$Y@o*i*2e>KjB|_9nBRSs zOXW)OLTy{TjBIAzZ@lie+Zo~EWud!9GSlC?3#;!g1G{1gr|$QiFe=*zPRq*OU!<9& zWMd-E4G=aC-oAbHsmlGn^6K_n(mCKEu|xmpqa(v)xX-siAAPU;8Vxz58-HwTR0giu zfOS`Owo)ahysj<5Rf0qyMwZsG|FIA}0*&QXPHvTpn8U(1_y29$I3+uZL>i1cyk<31 zl+2xsyDx3*V=MQw$t4%#nB?M%@sfFo$g|=v7AG@t7fU4cxndDjM1M-+V0Q<5;=Zl& zlyf_3P|uF+WoMSr|0;dUh^rPq`S3IrKCJ!-0B$izLAsj8nGD;caT}K8lM0`&uCB7u zM-N36u$X9{-k;{_RgXNfiiQuv4sXo!1<%LyK6e6dze&xcjM`eh&MZNIBgHEpuMd~m zR{VVZ$Futfz+|QniF&cH-|9dP&8O6yevbN7gEdunLttd>*v6j1^XBIJ_4H!HUH&7k z8T<6pg$p)1{hMlC8FW`w7BVSI{3;)=p=iK0kENH!8;VWw>5s+2Swlk8{EhqS{OPlo>~5R;(YknKK{gg4KpdQbhpCDdqeC`g)3Tf)l;i6OUe`p& zOycQ=>0DZ7!-SXXD!>Js$F{LO(Z328q7vU#2Kou`RKrwm7}fLt*bCb7&)hkRD=|k#*R@R2r zVE`EafLkIxyzU93C|vT-2G%HOc*HB(m^b_=fQ-j#1qmz>17{2jVxa~D&ar6F8X0h# z9BFvoTAwzqa|`+9Uw-NJ%kZ!lP7LBq!xD%(?S=Mt;a%4)(}1@l$V{_(@r%I)wot3Fd8BV61&t-t+Y0-VY8&Ea8v)W|SI>z#PVgW&|$ z)&cUbO`e{O`Xqodzbhgwx(CF*V=p98A27? z!dy_xz9{@6Np>DQSYF<@uw_fE@z+paem?bZ-^*YEnn3>Uu{V?3u?NFwl2#5>El(^% zd5#UF2lgftvdfQI)bb~f z+S1<6^Cr6k$YTelhc+oYqfFt7dObA_9o04 zO-1h1-J3}T#3#(x6xY{@)ICGG-G`mdc_u8a?oDoR+&a!e^gc5~bjhg7Vn3H|q&M9a zSlWDZv2|VuGNXQEEA_-yWF@@*w&A|sX*OOX3rR|8k8mvT$=Z7TOPyn5U8rv7&N}&` zK0#RB9i^E<9bR&QjiRC$=5vATHu7MP+|sk(jtnc(6@bCXmYbaRfhzb*8JZ3`~3rQ|ZFhb>bWoXqCZe7f&j`y+qpNYRKLIm^Bc*{mCV zr8MChSNIl!$Ac$0!uR2er)*QNtWT}BJCsD}6a-7cb5-_z7mhyAV|Q|0L3dR*haiuU zDTyhO9gYOlrrl&|`Ck#Ajlq>ehhQ@EJPfVb>CqjGoE4J(Z(3_lj>v}QeqX!4-uP&& zt}^kS)PdB1#vADNn(RBD(OegcCo=!QX+K5U4+{-(2HDGv#p!?hdsi{=qdv2Fo02H^ z$1KDI#Q1jx9#!TT4%V69kZ+&=tMjx$-y@yT+ut7T`YCFhJ7Y4~@t+|BZ|ua*`jK=jrQQ>24%on~_0koZU`rW>1mr3EBQYW334w=o2m2uioq5-;SS%RP+q{q^Z zqV?CfamNeW8G+HCc_BG4`2|y8!uZo_TM3DI_lDG`!Nt$dFHFxKoE4{Pr~FGxogFb9 z9b(=3FX+AiOpzD3MSK|BUMAnHK>kGolg2FhXBC5s{+5B4mzzA|_1FC)GkwdPrZ|m9 zoX%b!Irjc==7Nk556hPYWbKKTjmg4mcHGH;*HPJ5^^8{DKZm9!sXu)FkHIaJ1=yxW zb_Kt5inm>w0vG&(oj6nOW(ZTwix?)|D-ja;OJ!)BnP50Hu^U2*uF*WB>bZ34)Fme= zcL8%=Ik`kmny02_9;~ZdPEDEWsklUS2C*=nb(xWXIlT z?bZ;xy?@jC?8*(Tb@Xh`$<1#JN}QV#bF3fuL>jQ7GkO8~8s zC{w60&8*iun>u^NjcCTGl>J6FjBu@;Br8g~oPPX2i!NPkGU@9x8BBfV*QqHg+-fjb z!>Mssv713mEREh1s~7aTCp-SQIz_t6us(Lr$eMcKR7Jtz6%E33`zF>mYmzV|7eppk z9E`;b)|{wXQuR#OA!I^_!Y(28`AsGNjsy99Sc>e|N-{H@TbvQxrV017UsRFip^*6R zOv+XpSv0&Uv#wlO^HDSjGZ_8R>a66i*8yMnNdOYGp7kEBut>*x&5rAu$>$IF{u>{t z?b3k8fQGDIje?R*QHz2i;Jp9tG~Z!pRq3R`htxngtiex6PqwA`i%qpi;6wDA<^AH zNaxdqBxS7)sj2TDmhYav(6CXW+^{@j^&JS2o8cS$bjr~7r|P-x*G?4 z)t|9y>KLX(?YKQ%RpcpB`JHjj^5yVR*fyA*jyarurPbz2hGF>ce5?Ghq$l}L>(VW1 zB4eShD;bVaUa$U4Y7}lMywXC{5wStB5j(y}pGu#^jiA=3b_I?8+14I_3WiZ#=JnO1 z9{;3VUqt>V5pKG%WL|=>0Ho*W%zZxm8+2E$WUQCnTUVmHP<7I;D`}z=i$9(CKx?%9_NLT5?=Y5Rg^M(G^ z>~bZX4CHcMRlji;yTnnTS`w&3bnA^^M;~mV^}Gz^=?wDJeRUego}S5w;s;Tl)fuJk;5B&17iHYrvAtFzw|sO%PfwnY(|ZX&69Vs7K5#ITwTZypI7=^wG-?hL!}%gHyhKWqQ& zvv@t<(Y4_Fy%tMctV#6ks8SGBSAGKnj_qFfeO7Y!?&gHi=*Ljlm@XswXyWH500+lE z+S=d8^X26v>ddZIY`JIuN-Qa81;@V=kCjxE!Y#FCM}F(`KdDN7(m(9o!b~bPk&dVo zWlEGIl9Npp*f-sVv4UJ(Czjk2}p2pjX^ws&1QK9*{s-QbQi@i^``0U zongk22RX>8wFkjNZTRp+#G`BmU9##Rk?b7%VhZ=IVEs%uDxqDlra^9wmSK#S15b!& zg~wxMLj5Tkf&(CGxR^bQiC#p3MA7@;1AX4H|8h^Yczz{s?P6HMvdmL1`R2~@;JztK zzQuL>e^>=F4iKTkQp9dVM)>CM5@`=@&9+KI-hCqphY5=~;A27>dO=-!#-qz5X+r^_w>MH*9EV zj`ZJ^)_(;k49gN$q;T6Y-;1qs)i3;e41^a6T^e-sZ_;LaMad$dTX6Io?YfK-&4r+3 z@!EuX;uuSGuq>FYGq0<&O9adx04^h4g5i`Oc~Rg5m3c?d-YGa??`pRoEd8P=fV6VX zHM3UsBO@q<-^1Q?gz?(lJv7#};aRsjqZEv{P0TONB>6ek=n=LIz-ac~FOZ9u-X(b;H2t*BmM$YHhBDQ>t zKHlPm){Cy&S^wgT_1u!dp6UEYjC|ooHRQG8uI{cvjm|l@K^-T}mBy(XCSM$o8z49} zB!Q#jTvz#{sZ{i*CG9Y_s_WKkmPb@}nI)1&#a)FTt%0cVZb0hYsQay`oJ-0pD_>c( zabwX+z4yF~{H80WwQ$m&pZ~F8okBgMj&}}a4msnYO0jOkKYpg#*Tor3;x1)>tGlt( z7rWBUGgb}^a#?<7Gg9?VZ9_wXN_SJ2=*~LT?>B9JF6x?rd!+Zj!)tw8d|UbsV2aJi(m9@ z2735}Q#%f1edZ1FZfh<2-NBn~8IT*39gwY1NJ*dZyXNoyr8Y5=Z&Izhd!s&+ol|he zZY>A=^1gK?DrNcH8TpA$iaa-oh@@yIzFlltKT&ihJkZ1lOtDW*BY9+1H0ik14D?cv5~2V09Gfn=+c`pPOHFyWLVZBT4r1x2DwEZ#yrJ^ z{sRDpS*H@Pi>VCGbtz3&B|ZaoFzw#%;i73>}8!_{yV(CDNmlObGv5H4t z@#Mp_Sd$UFGjeB=CT_wVv+-$1> z@wZlvYh&oGo4^TI-xvv}yuVX@UiNRR6tO=4316&Y{Mg&t&V_4-BpF?Vks2T+I0;!u zsI{9VVzRch_IDRCEMWvBFxM+z9PG2wZsZ1Xo1*$MHfKD;)UopXGTIp9DC076^GQ~| zq!c=j@Or;f{@*2F@JPzzhyKHX=f|zOyY5GVw^@#f#Hkn>siNqziLCe6R^}M`rBZRu znt4BKB1@>r$=3xCZ$cumwUtdtnCwj9J>L<~p@}i2|r{-hEHX#xV3C zdP&UuhtvPXtgjDGazKEjIdW&EXKj#qqqFxmPnnBRBAwr|7Enc~mUu7cOs2tzXUf;Kn4}EWx2zfOwklUnPi>X0y4H={T0nJr zVz2K8Lihch{eL`Drt0>M!G;hxpnPW)2VwhsrjgsX&&XxYZx={E;?N!!AJ(3TaS2J1 zjmnmoa{2 z=<}02=uWx*&uI+%$=x$U<5o zY6pz0lX^6r7v+gHl$~M?1bzPlw6LLaW(FYz8dfsrX~D=dBJ;=yG~@a$1C2dIqL;WL zZ+ZGJ-X^9t7riw;{?B^!bfP)ppOvyGCQ3Ha53LfUsd>gF`7_V3JZCOIW;6fFGaTu7 zF?4%#mW(}?3$&b{lANx|Z-EeFEo;X6ZZ*c_F4c>=MmKW13&W&zmzlgbc-|;fm_0D- z^|kqmPHRX~D`z8tBuFp~$P}6zoU1ZIfrx&lEJr*uFZ`*3iuM%#N)gb*9+9R(*4FlNDV1kAi;@ z?(_lrfx1QHLExj}U7Vfk(8qR{Mo-Y@I+ZeaDOV|NZ_mx4B7$Fr40wCzIMdC)53=mG z*C(&L?=QC@4D@<}iQa5J_0f2Ru7(-sc|A@p82ST%sOTR*WR$ZkGl%9F@XqZd?t50Y zb=IuqADx=&Rf4CdDp-t~nC9_$;743T#pr6#F>0BvXnKORfFhZPxvRxay5RZN7yk5JD5! z7++@w1qfZcvh0&jdU>8@@4p|$s35@7*GeNL2(YIt#!fyRWZ9txfK#eKtqt#Y510Y= za0$1;Czf?_%xw!h0wX;~%jFEsV7fgGh~x(8e4~c(FaTtuZBPap%|OZL83&KnB5TV^ zxhL0fWs|rRnL)9iu=@m0kgB~Yq|(npm9r9#ki|DS7aW&vOhAPUxgGe8A+=7WAdnU} z_(y8nvJ!Ay$&mp~hDE&$_w+dv)_bFuX@I@#&VSlvN}>!px$zmdCOCFt zLfpGoG?jbLtgMT-_CvN==VyiT4DXKYx`XA|K8bg?eE9bZEhyM6{wa&hL@)me>Lz*e+j$~5+xz@QNgz_VYJ&UGEn0fP(u{kN=EDXA|= z54@WpXSDWfZe|-;{hEe`HAVIHMfnN>LJut_8gnVJt2jL+ic`~-buGRYkmzy<#yFF` z{4YEvID(Z_YQm4PC^q+?K8l*uOj0N{>PImG{Y%SRup}U%=@$G9KD38DBL-vo-$iY- zlB`b^SsQJOByn7Y42|ihU0*0X8)LOFs8V;R$?BL0TG=q?7pK5QkBM^1*w5I3ek0>D ziUKDv<>j+!wlpaAtKxTjo7bQ4(y=1f&ZM{B)0J#^YfIS#o`5|~THk$pzq*0mnG|o! zZTj|9e?s%*u}8;tCB1$0%cTwm+~ANq)aP%b5sQa!H_$~4jn#WcJCqaIa5IBG9OrR~ z(}rFc`O(%NBnv;%!{PXG@6MfLUiahJgJm%09iZ0a^777q-*CI6x%ogdIY2IHwi(HD zFevNa_Ro}=MZrax(YcZ7@r|X)nWs>&ws2p1ipG?f9S?}wSk{W z4h1RC{5~r4QB6^Jc-ZQ*K^pP5Ed@E1#f?#c<(oKy=!pl!pmHNAl@Nn&s(b;>%!26D^t+QEK zvt#j)DAnkzYpY1?s#Vt#^SHdNKN8)U^}pmbc<1K*vfjY1r3E_UG5xthgsxs;K?HvH z2LHCD6>AGC*H)C)xmfC`%!X_Nlu?)kC&JhPl*CGFCtdu6%?&M|t6L$sad>7;raUNm zXLxeNBavhM{m>;7pbn^x`dTVAN1&GN+L`Ap@Vn{gr|a*K^HG8<>IP3`=)Ag&pQ?1} zJ830R(jod!;~w7_5YR>5C|rqF$JO}EJ8uYCZPXO?H(bz=jW-^hLJpoVpEH5r2D+j3 zSM)^`k{y%L=;jY63949hk*L%JMx;wZ zV8!sH;yOV#^gXgFCE(cTw$=rQLQwGaVg`m&3oz$}pb}it6)Y#MZ$ut)_mM;Uan|Q; z3t938F?I0a47VRQc1Ns5n*jsVO-N8X%**d8jTL<-v zivS|WSkXii2lc_8updl2nl_R)ng*-GTE^*3`NMs#wEwmE^Z%6fr;9T>9!c_mCC@Am zR%}%g<$PM_;~9*r=WZ-Mz$MdCf{3&DfURHD6B8Yg*(XM2pZfn75Hl~|ugtet@^TmM zzh7N%N;qXt9OXC}S8E}ylW?rR8Z=;+8H4us3u;lNO8T$b5DqL%hC z^TY2x$gpiSy6bI))`YO6g$1F%ErAJcIG}W546}Mi0 zoEoDPoN?Ao{G1YUU_3HMXTCV>a;cc8@%PX+apkjMd0Jd}6DN35k@)#3hU(XBcGsp& zA_(eyEjM*V|8WvRt;$wiGR&$n+E-jIv&hlNeWAA;3PkR?ww;X(m9Ui6KP-vr|jhagjl0e(;u{$2!=rz1!tBH~>f?YQ&rbmD-AZ6fuTe>Q&gx^=#b z+sm`=$+1(IyS$QFsjlr?U;J@EZU8r-gxJTq@9Xf2`{6u5`i+Z(m)w>b<#elMh=guf8g0zF+W-JBEqeNcpd)Mmvq=OW*wL zqLebnS!o^>|H}$2xDK6xj!q<%jl{QZq9H@+`zkKO)kROGYUOlA2? zIzfJfDsJ%Br0LYUw7@jAw2x9Jr@yIY)OEb4@x^JYRkS-(suQ~xrKB;q zvEb%cNzGN~rUl59lB$y$$CK0FSs$pCjR^1iIB}@wm7cOG*B8C$Q?}V=KC$m z<%i3vK#u=EU--K*oB~f}Cjfr*ZiY|!cTfEwvh<*Js#4sXS3u{2>{A~sn$M0R72K0s zI8=ie-=(pm!l60v`mL)1?}Fk74?P)@_S0yx*Ft1}$PujNPeEhOtqs+|UoAO!paBmz z*n{$p_B$VZ?Ft_}lTexwO1rz%1oDary!i5l`)~&L!`;!B2Zfl!H~At2ul!5 zJtDgq!>XA@S&H=0GMf|VQoQ~R|2PtL>2&#Y+mF!JmkS7lqZ_pjoAU$dNwWS zO0&X7VwQs2n$}0Yk_JKk{XF_Lm2E1g- z=Y1U)uQPzwSV370dXs0>&JDEr2;vonwvYkBlul3`ii69q0_!e{e-?M>97SlbAw$}h zFYsJp(r}zPkg5@$##sP=NVtJHxpD=^`y*_VdTY?LV9LcfvSFi9HxV`3U@BCC$RK8d zW_R;e$^~E#Y`G9^+{!X>+}=dMj*K`=-QmMv8l3MaSe7-8&=_qt@VNx&WlZQ90BNV;w2nz>o8@6tD9MJe=-*!~dmG*n_gj{LQXkF8{(2#7 zl`Mu2K0vGu_IMVyTK6nM`|~X7t7%zw{45S^`BM>I`Au`Z^)XaGU3J#Q0JRO!Pk)1< zse0?JvmQFC3r*Kcd-b95dg!6H1ufiv<8{p2JL+eUybi6-Y;6tLguk^_$$0h1VylXhhE_c(^)D@3!>j9uBbt==Bc(c(rftQ_by<(>>?a QW8}wPUeo^@jR61v08@RD2LJ#7 literal 0 HcmV?d00001 diff --git a/refs/pull/791/merge/e2e-test-report/assets/app.css b/refs/pull/791/merge/e2e-test-report/assets/app.css new file mode 100644 index 000000000..eb7c4e9ea --- /dev/null +++ b/refs/pull/791/merge/e2e-test-report/assets/app.css @@ -0,0 +1,14 @@ +/*! mochawesome-report-generator 6.2.0 | https://github.com/adamgruber/mochawesome-report-generator */ +:root{--screen-sm-min:768px;--screen-md-min:992px;--screen-lg-min:1200px;--grid-gutter-width:30px;--container-sm:calc(720px + var(--grid-gutter-width));--container-md:calc(940px + var(--grid-gutter-width));--container-lg:calc(1140px + var(--grid-gutter-width));--navbar-height:122px;--navbar-height-short:56px;--summary-height-stacked:82px;--statusbar-height-stacked:54px;--footer-height:60px;--default-transition-duration:0.2s;--default-transition-easing:ease;--gray-base:#000;--gray-darker-faded:color(var(--gray-darker) alpha(95%));--gray-darker:color(var(--gray-base) tint(13.5%));--gray-dark:color(var(--gray-base) tint(20%));--gray:color(var(--gray-base) tint(33.5%));--gray-light:color(var(--gray-base) tint(46.7%));--gray-medium:color(var(--gray-base) tint(73.5%));--gray-lighter:color(var(--gray-base) tint(93.5%));--gray-lighter-faded:color(var(--gray-lighter) alpha(95%));--gray-border:color(var(--gray-base) tint(80%));--grey50:#eceff1;--grey100:#f5f5f5;--grey300:#e0e0e0;--grey500:#9e9e9e;--grey700:#616161;--green100:#c8e6c9;--green200:#a5d6a7;--green300:#81c784;--green500:#4caf50;--green700:#388e3c;--red100:#ffcdd2;--red300:#e57373;--red500:#f44336;--red700:#d32f2f;--ltblue100:#b3e5fc;--ltblue300:#4fc3f7;--ltblue500:#03a9f4;--ltblue700:#0288d1;--black87:rgba(0,0,0,0.87);--black54:rgba(0,0,0,0.54);--black38:rgba(0,0,0,0.38);--bluegrey500:#607d8b;--bluegrey800:#37474f;--bluegrey900:#263238;--light-icon-active:#fff;--light-icon-inactive:hsla(0,0%,100%,0.5);--dark-icon-active:var(--black54);--dark-icon-inactive:var(--black38);--amber300:#ffd54f;--amber400:#ffca28;--amber500:#ffc107;--yellow700:#fbc02d;--yellow800:#f9a825;--brand-primary:color(#428bca shade(6.5%));--brand-success:#4caf50;--brand-info:#5bc0de;--brand-warning:#f0ad4e;--brand-danger:#d9534f;--text-color:var(--black87);--body-bg:#f2f2f2;--link-color:var(--brand-primary);--link-hover-color:color(var(--link-color) shade(15%));--list-group-border:#ddd;--font-family-sans-serif:"robotoregular","Helvetica Neue",Helvetica,Arial,sans-serif;--font-family-base:var(--font-family-sans-serif);--font-family-mono:"Menlo","Monaco","Consolas","Courier New",monospace;--font-size-base:14px;--line-height-base:1.429;--line-height-computed:20px;--headings-font-family:inherit;--headings-font-weight:400;--headings-line-height:1.1;--headings-color:inherit;--headings-small-color:var(--gray-light);--font-size-h1:36px;--font-size-h2:30px;--font-size-h3:24px;--font-size-h4:18px;--font-size-h5:var(--font-size-base);--font-size-h6:12px;--font-family-light:"robotolight";--font-family-regular:"robotoregular";--font-family-medium:"robotomedium";--link-transition:color 0.2s ease-out}.dropdown--trans-color---3ixtY{transition:color .2s ease-out;transition:var(--link-transition)}.dropdown--component---21Q9c{position:relative}.dropdown--toggle---3gdzr{white-space:nowrap}.dropdown--toggle-icon---1j9Ga:not(.dropdown--icon-only---3vq2I){margin-left:.5rem}.dropdown--list---8GPrA{padding:0;margin:0;list-style:none;text-align:left}.dropdown--list-main---3QZnQ{position:absolute;top:100%;z-index:1000;visibility:hidden;min-width:160px;overflow:auto}.dropdown--align-left---3-3Hu{left:0}.dropdown--align-right---2ZQx0{right:0}.dropdown--list-item-link---JRrOY,.dropdown--list-item-text---2COKZ{display:block;position:relative;white-space:nowrap;text-decoration:none}.dropdown--list-item-text---2COKZ{cursor:default}@-webkit-keyframes dropdown--in---FpwEb{0%{opacity:0}to{opacity:1}}@keyframes dropdown--in---FpwEb{0%{opacity:0}to{opacity:1}}@-webkit-keyframes dropdown--out---2HVe1{0%{opacity:1;visibility:visible}to{opacity:0}}@keyframes dropdown--out---2HVe1{0%{opacity:1;visibility:visible}to{opacity:0}}.dropdown--close---2LnDu{-webkit-animation:dropdown--out---2HVe1 .2s ease;animation:dropdown--out---2HVe1 .2s ease;-webkit-animation:dropdown--out---2HVe1 var(--default-transition-duration) var(--default-transition-easing);animation:dropdown--out---2HVe1 var(--default-transition-duration) var(--default-transition-easing);visibility:hidden}.dropdown--open---3bwiy{-webkit-animation:dropdown--in---FpwEb .2s ease;animation:dropdown--in---FpwEb .2s ease;-webkit-animation:dropdown--in---FpwEb var(--default-transition-duration) var(--default-transition-easing);animation:dropdown--in---FpwEb var(--default-transition-duration) var(--default-transition-easing);visibility:visible} +:root{--screen-sm-min:768px;--screen-md-min:992px;--screen-lg-min:1200px;--grid-gutter-width:30px;--container-sm:calc(720px + var(--grid-gutter-width));--container-md:calc(940px + var(--grid-gutter-width));--container-lg:calc(1140px + var(--grid-gutter-width));--navbar-height:122px;--navbar-height-short:56px;--summary-height-stacked:82px;--statusbar-height-stacked:54px;--footer-height:60px;--default-transition-duration:0.2s;--default-transition-easing:ease;--gray-base:#000;--gray-darker-faded:color(var(--gray-darker) alpha(95%));--gray-darker:color(var(--gray-base) tint(13.5%));--gray-dark:color(var(--gray-base) tint(20%));--gray:color(var(--gray-base) tint(33.5%));--gray-light:color(var(--gray-base) tint(46.7%));--gray-medium:color(var(--gray-base) tint(73.5%));--gray-lighter:color(var(--gray-base) tint(93.5%));--gray-lighter-faded:color(var(--gray-lighter) alpha(95%));--gray-border:color(var(--gray-base) tint(80%));--grey50:#eceff1;--grey100:#f5f5f5;--grey300:#e0e0e0;--grey500:#9e9e9e;--grey700:#616161;--green100:#c8e6c9;--green200:#a5d6a7;--green300:#81c784;--green500:#4caf50;--green700:#388e3c;--red100:#ffcdd2;--red300:#e57373;--red500:#f44336;--red700:#d32f2f;--ltblue100:#b3e5fc;--ltblue300:#4fc3f7;--ltblue500:#03a9f4;--ltblue700:#0288d1;--black87:rgba(0,0,0,0.87);--black54:rgba(0,0,0,0.54);--black38:rgba(0,0,0,0.38);--bluegrey500:#607d8b;--bluegrey800:#37474f;--bluegrey900:#263238;--light-icon-active:#fff;--light-icon-inactive:hsla(0,0%,100%,0.5);--dark-icon-active:var(--black54);--dark-icon-inactive:var(--black38);--amber300:#ffd54f;--amber400:#ffca28;--amber500:#ffc107;--yellow700:#fbc02d;--yellow800:#f9a825;--brand-primary:color(#428bca shade(6.5%));--brand-success:#4caf50;--brand-info:#5bc0de;--brand-warning:#f0ad4e;--brand-danger:#d9534f;--text-color:var(--black87);--body-bg:#f2f2f2;--link-color:var(--brand-primary);--link-hover-color:color(var(--link-color) shade(15%));--list-group-border:#ddd;--font-family-sans-serif:"robotoregular","Helvetica Neue",Helvetica,Arial,sans-serif;--font-family-base:var(--font-family-sans-serif);--font-family-mono:"Menlo","Monaco","Consolas","Courier New",monospace;--font-size-base:14px;--line-height-base:1.429;--line-height-computed:20px;--headings-font-family:inherit;--headings-font-weight:400;--headings-line-height:1.1;--headings-color:inherit;--headings-small-color:var(--gray-light);--font-size-h1:36px;--font-size-h2:30px;--font-size-h3:24px;--font-size-h4:18px;--font-size-h5:var(--font-size-base);--font-size-h6:12px;--font-family-light:"robotolight";--font-family-regular:"robotoregular";--font-family-medium:"robotomedium";--link-transition:color 0.2s ease-out}.dropdown-selector--trans-color---3nePW{transition:color .2s ease-out;transition:var(--link-transition)}.dropdown-selector--dropdown---AT5ee{right:-8px}.dropdown-selector--menu---nW4gv{box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12);font-family:robotolight;font-family:var(--font-family-light);min-width:70px;width:70px;background:#fff;top:0}.dropdown-selector--toggle---WEnEe{display:inline-block;font-family:robotoregular;font-family:var(--font-family-regular);font-size:14px;color:rgba(0,0,0,.54);color:var(--black54);vertical-align:top;line-height:24px;padding:0 22px 0 0;cursor:pointer;border:none;background:none;outline:none;width:70px}.dropdown-selector--toggle---WEnEe:focus{box-shadow:0 0 2px 0 #03a9f4;box-shadow:0 0 2px 0 var(--ltblue500)}.dropdown-selector--toggle-icon---10VKo{position:absolute;top:4px;right:4px}.dropdown-selector--item-link---2W1T7,.dropdown-selector--toggle-icon---10VKo{color:rgba(0,0,0,.38);color:var(--black38)}.dropdown-selector--item-link---2W1T7{border:none;cursor:pointer;padding:4px 10px;text-align:left;width:100%}.dropdown-selector--item-link---2W1T7:hover{background-color:#f5f5f5;background-color:var(--grey100)}.dropdown-selector--item-link---2W1T7:focus{box-shadow:inset 0 0 2px 0 #03a9f4;box-shadow:inset 0 0 2px 0 var(--ltblue500);outline:none}.dropdown-selector--item-selected---1q-NK .dropdown-selector--item-link---2W1T7{color:#4caf50;color:var(--green500)} +:root{--screen-sm-min:768px;--screen-md-min:992px;--screen-lg-min:1200px;--grid-gutter-width:30px;--container-sm:calc(720px + var(--grid-gutter-width));--container-md:calc(940px + var(--grid-gutter-width));--container-lg:calc(1140px + var(--grid-gutter-width));--navbar-height:122px;--navbar-height-short:56px;--summary-height-stacked:82px;--statusbar-height-stacked:54px;--footer-height:60px;--default-transition-duration:0.2s;--default-transition-easing:ease;--gray-base:#000;--gray-darker-faded:color(var(--gray-darker) alpha(95%));--gray-darker:color(var(--gray-base) tint(13.5%));--gray-dark:color(var(--gray-base) tint(20%));--gray:color(var(--gray-base) tint(33.5%));--gray-light:color(var(--gray-base) tint(46.7%));--gray-medium:color(var(--gray-base) tint(73.5%));--gray-lighter:color(var(--gray-base) tint(93.5%));--gray-lighter-faded:color(var(--gray-lighter) alpha(95%));--gray-border:color(var(--gray-base) tint(80%));--grey50:#eceff1;--grey100:#f5f5f5;--grey300:#e0e0e0;--grey500:#9e9e9e;--grey700:#616161;--green100:#c8e6c9;--green200:#a5d6a7;--green300:#81c784;--green500:#4caf50;--green700:#388e3c;--red100:#ffcdd2;--red300:#e57373;--red500:#f44336;--red700:#d32f2f;--ltblue100:#b3e5fc;--ltblue300:#4fc3f7;--ltblue500:#03a9f4;--ltblue700:#0288d1;--black87:rgba(0,0,0,0.87);--black54:rgba(0,0,0,0.54);--black38:rgba(0,0,0,0.38);--bluegrey500:#607d8b;--bluegrey800:#37474f;--bluegrey900:#263238;--light-icon-active:#fff;--light-icon-inactive:hsla(0,0%,100%,0.5);--dark-icon-active:var(--black54);--dark-icon-inactive:var(--black38);--amber300:#ffd54f;--amber400:#ffca28;--amber500:#ffc107;--yellow700:#fbc02d;--yellow800:#f9a825;--brand-primary:color(#428bca shade(6.5%));--brand-success:#4caf50;--brand-info:#5bc0de;--brand-warning:#f0ad4e;--brand-danger:#d9534f;--text-color:var(--black87);--body-bg:#f2f2f2;--link-color:var(--brand-primary);--link-hover-color:color(var(--link-color) shade(15%));--list-group-border:#ddd;--font-family-sans-serif:"robotoregular","Helvetica Neue",Helvetica,Arial,sans-serif;--font-family-base:var(--font-family-sans-serif);--font-family-mono:"Menlo","Monaco","Consolas","Courier New",monospace;--font-size-base:14px;--line-height-base:1.429;--line-height-computed:20px;--headings-font-family:inherit;--headings-font-weight:400;--headings-line-height:1.1;--headings-color:inherit;--headings-small-color:var(--gray-light);--font-size-h1:36px;--font-size-h2:30px;--font-size-h3:24px;--font-size-h4:18px;--font-size-h5:var(--font-size-base);--font-size-h6:12px;--font-family-light:"robotolight";--font-family-regular:"robotoregular";--font-family-medium:"robotomedium";--link-transition:color 0.2s ease-out}.footer--trans-color---205XF{transition:color .2s ease-out;transition:var(--link-transition)}.footer--component---1WcTR{position:absolute;bottom:0;width:100%;height:60px;height:var(--footer-height);color:rgba(0,0,0,.38);color:var(--black38);text-align:center}.footer--component---1WcTR p{font-size:12px;margin:10px 0}.footer--component---1WcTR a{color:rgba(0,0,0,.54);color:var(--black54);transition:color .2s ease-out;transition:var(--link-transition)}.footer--component---1WcTR a:hover{color:rgba(0,0,0,.87);color:var(--black87)} +:root{--screen-sm-min:768px;--screen-md-min:992px;--screen-lg-min:1200px;--grid-gutter-width:30px;--container-sm:calc(720px + var(--grid-gutter-width));--container-md:calc(940px + var(--grid-gutter-width));--container-lg:calc(1140px + var(--grid-gutter-width));--navbar-height:122px;--navbar-height-short:56px;--summary-height-stacked:82px;--statusbar-height-stacked:54px;--footer-height:60px;--default-transition-duration:0.2s;--default-transition-easing:ease;--gray-base:#000;--gray-darker-faded:color(var(--gray-darker) alpha(95%));--gray-darker:color(var(--gray-base) tint(13.5%));--gray-dark:color(var(--gray-base) tint(20%));--gray:color(var(--gray-base) tint(33.5%));--gray-light:color(var(--gray-base) tint(46.7%));--gray-medium:color(var(--gray-base) tint(73.5%));--gray-lighter:color(var(--gray-base) tint(93.5%));--gray-lighter-faded:color(var(--gray-lighter) alpha(95%));--gray-border:color(var(--gray-base) tint(80%));--grey50:#eceff1;--grey100:#f5f5f5;--grey300:#e0e0e0;--grey500:#9e9e9e;--grey700:#616161;--green100:#c8e6c9;--green200:#a5d6a7;--green300:#81c784;--green500:#4caf50;--green700:#388e3c;--red100:#ffcdd2;--red300:#e57373;--red500:#f44336;--red700:#d32f2f;--ltblue100:#b3e5fc;--ltblue300:#4fc3f7;--ltblue500:#03a9f4;--ltblue700:#0288d1;--black87:rgba(0,0,0,0.87);--black54:rgba(0,0,0,0.54);--black38:rgba(0,0,0,0.38);--bluegrey500:#607d8b;--bluegrey800:#37474f;--bluegrey900:#263238;--light-icon-active:#fff;--light-icon-inactive:hsla(0,0%,100%,0.5);--dark-icon-active:var(--black54);--dark-icon-inactive:var(--black38);--amber300:#ffd54f;--amber400:#ffca28;--amber500:#ffc107;--yellow700:#fbc02d;--yellow800:#f9a825;--brand-primary:color(#428bca shade(6.5%));--brand-success:#4caf50;--brand-info:#5bc0de;--brand-warning:#f0ad4e;--brand-danger:#d9534f;--text-color:var(--black87);--body-bg:#f2f2f2;--link-color:var(--brand-primary);--link-hover-color:color(var(--link-color) shade(15%));--list-group-border:#ddd;--font-family-sans-serif:"robotoregular","Helvetica Neue",Helvetica,Arial,sans-serif;--font-family-base:var(--font-family-sans-serif);--font-family-mono:"Menlo","Monaco","Consolas","Courier New",monospace;--font-size-base:14px;--line-height-base:1.429;--line-height-computed:20px;--headings-font-family:inherit;--headings-font-weight:400;--headings-line-height:1.1;--headings-color:inherit;--headings-small-color:var(--gray-light);--font-size-h1:36px;--font-size-h2:30px;--font-size-h3:24px;--font-size-h4:18px;--font-size-h5:var(--font-size-base);--font-size-h6:12px;--font-family-light:"robotolight";--font-family-regular:"robotoregular";--font-family-medium:"robotomedium";--link-transition:color 0.2s ease-out}.loader--trans-color---97r08{transition:color .2s ease-out;transition:var(--link-transition)}.loader--component---2grcA{position:fixed;top:0;height:100%;width:100%;background-color:color(#f2f2f2 alpha(60%));background-color:color(var(--body-bg) alpha(60%));padding-top:122px;padding-top:var(--navbar-height)}.loader--wrap---3Fhrc{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;-webkit-flex-direction:column;flex-direction:column;min-height:200px}.loader--text---3Yu3g{color:color(#000 tint(46.7%));color:var(--gray-light);text-align:center;margin:1rem 0 0}.loader--spinner---2q6MO{border-radius:50%;width:42px;height:42px;border:.25rem solid color(#000 tint(73.5%));border-top-color:color(#000 tint(33.5%));border:.25rem solid var(--gray-medium);border-top-color:var(--gray);-webkit-animation:loader--spin---K6Loh 1s linear infinite;animation:loader--spin---K6Loh 1s linear infinite}@-webkit-keyframes loader--spin---K6Loh{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loader--spin---K6Loh{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@media (min-width:768px){.loader--component---2grcA{padding-top:56px;padding-top:var(--navbar-height-short)}} +:root{--screen-sm-min:768px;--screen-md-min:992px;--screen-lg-min:1200px;--grid-gutter-width:30px;--container-sm:calc(720px + var(--grid-gutter-width));--container-md:calc(940px + var(--grid-gutter-width));--container-lg:calc(1140px + var(--grid-gutter-width));--navbar-height:122px;--navbar-height-short:56px;--summary-height-stacked:82px;--statusbar-height-stacked:54px;--footer-height:60px;--default-transition-duration:0.2s;--default-transition-easing:ease;--gray-base:#000;--gray-darker-faded:color(var(--gray-darker) alpha(95%));--gray-darker:color(var(--gray-base) tint(13.5%));--gray-dark:color(var(--gray-base) tint(20%));--gray:color(var(--gray-base) tint(33.5%));--gray-light:color(var(--gray-base) tint(46.7%));--gray-medium:color(var(--gray-base) tint(73.5%));--gray-lighter:color(var(--gray-base) tint(93.5%));--gray-lighter-faded:color(var(--gray-lighter) alpha(95%));--gray-border:color(var(--gray-base) tint(80%));--grey50:#eceff1;--grey100:#f5f5f5;--grey300:#e0e0e0;--grey500:#9e9e9e;--grey700:#616161;--green100:#c8e6c9;--green200:#a5d6a7;--green300:#81c784;--green500:#4caf50;--green700:#388e3c;--red100:#ffcdd2;--red300:#e57373;--red500:#f44336;--red700:#d32f2f;--ltblue100:#b3e5fc;--ltblue300:#4fc3f7;--ltblue500:#03a9f4;--ltblue700:#0288d1;--black87:rgba(0,0,0,0.87);--black54:rgba(0,0,0,0.54);--black38:rgba(0,0,0,0.38);--bluegrey500:#607d8b;--bluegrey800:#37474f;--bluegrey900:#263238;--light-icon-active:#fff;--light-icon-inactive:hsla(0,0%,100%,0.5);--dark-icon-active:var(--black54);--dark-icon-inactive:var(--black38);--amber300:#ffd54f;--amber400:#ffca28;--amber500:#ffc107;--yellow700:#fbc02d;--yellow800:#f9a825;--brand-primary:color(#428bca shade(6.5%));--brand-success:#4caf50;--brand-info:#5bc0de;--brand-warning:#f0ad4e;--brand-danger:#d9534f;--text-color:var(--black87);--body-bg:#f2f2f2;--link-color:var(--brand-primary);--link-hover-color:color(var(--link-color) shade(15%));--list-group-border:#ddd;--font-family-sans-serif:"robotoregular","Helvetica Neue",Helvetica,Arial,sans-serif;--font-family-base:var(--font-family-sans-serif);--font-family-mono:"Menlo","Monaco","Consolas","Courier New",monospace;--font-size-base:14px;--line-height-base:1.429;--line-height-computed:20px;--headings-font-family:inherit;--headings-font-weight:400;--headings-line-height:1.1;--headings-color:inherit;--headings-small-color:var(--gray-light);--font-size-h1:36px;--font-size-h2:30px;--font-size-h3:24px;--font-size-h4:18px;--font-size-h5:var(--font-size-base);--font-size-h6:12px;--font-family-light:"robotolight";--font-family-regular:"robotoregular";--font-family-medium:"robotomedium";--link-transition:color 0.2s ease-out}.nav-menu--trans-color---1l-R-{transition:color .2s ease-out;transition:var(--link-transition)}.nav-menu--wrap---39S_b{position:fixed;z-index:2010;top:0;right:0;bottom:0;left:0;overflow:hidden;visibility:hidden}.nav-menu--overlay---k2Lwz{display:none;background:rgba(0,0,0,.5)}.nav-menu--close-btn---2m7W7{border:none;background:transparent;padding:0}.nav-menu--close-btn---2m7W7:focus{box-shadow:0 0 2px 0 #03a9f4;box-shadow:0 0 2px 0 var(--ltblue500);outline:none}.nav-menu--close-btn---2m7W7{cursor:pointer;transition:color .2s ease-out;transition:var(--link-transition);position:absolute;top:16px;right:16px;color:rgba(0,0,0,.54);color:var(--black54)}.nav-menu--close-btn---2m7W7:active,.nav-menu--close-btn---2m7W7:hover{color:rgba(0,0,0,.87);color:var(--black87)}.nav-menu--menu---lFcsl{position:absolute;transition:all .15s cubic-bezier(.25,1,.8,1);-webkit-transform:translate(-100%);transform:translate(-100%);width:100%;z-index:1;top:0;bottom:0;left:0;overflow:auto;background:#fff}.nav-menu--close-button---2_OHr{border:none;background:transparent;padding:0}.nav-menu--close-button---2_OHr:focus{box-shadow:0 0 2px 0 #03a9f4;box-shadow:0 0 2px 0 var(--ltblue500);outline:none}.nav-menu--close-button---2_OHr{cursor:pointer;transition:color .2s ease-out;transition:var(--link-transition);position:absolute;top:14px;right:14px;font-size:21px;width:26px;height:26px;color:color(#000 tint(33.5%));color:var(--gray)}.nav-menu--close-button---2_OHr:hover{color:color(#000 tint(20%));color:var(--gray-dark)}.nav-menu--date---3SYOi,.nav-menu--section-head---3LXPD{color:rgba(0,0,0,.54);color:var(--black54)}.nav-menu--section-head---3LXPD{text-transform:uppercase}.nav-menu--control---1JEYH{display:-webkit-flex;display:flex;position:relative;margin:8px 0;-webkit-align-items:center;align-items:center}.nav-menu--control-label---3f2XU{display:inline-block;-webkit-flex-grow:1;flex-grow:1;font-family:var(--font-family--regular);font-size:13px;vertical-align:top;line-height:24px}.nav-menu--control-label---3f2XU.nav-menu--with-icon---qF4hj{margin-left:12px}.nav-menu--control-group---32kKg{margin-bottom:10px}.nav-menu--toggle-icon-passed---132lH{color:#4caf50;color:var(--green500)}.nav-menu--toggle-icon-failed---x-XUB{color:#f44336;color:var(--red500)}.nav-menu--toggle-icon-pending---3ZJAs{color:#03a9f4;color:var(--ltblue500)}.nav-menu--toggle-icon-skipped---FyedH{color:#9e9e9e;color:var(--grey500)}.nav-menu--wrap---39S_b.nav-menu--open---3BW1O{visibility:visible}.nav-menu--wrap---39S_b.nav-menu--open---3BW1O .nav-menu--overlay---k2Lwz{opacity:1}.nav-menu--wrap---39S_b.nav-menu--open---3BW1O .nav-menu--menu---lFcsl{-webkit-transform:translate(0);transform:translate(0)}.nav-menu--section---2z7Dj{padding:0 16px;border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--grey300)}.nav-menu--list---2QMG9{list-style:none;padding-left:0}.nav-menu--main---jkqJW{margin:8px 0}.nav-menu--no-tests---2sRAg>.nav-menu--item---gXWu6:not(.nav-menu--has-tests---1ND4g)>div>.nav-menu--sub---EnSIu{padding-left:0}.nav-menu--no-tests---2sRAg>.nav-menu--item---gXWu6:not(.nav-menu--has-tests---1ND4g):not(:only-child){padding-left:22px}.nav-menu--sub---EnSIu{padding-left:24px;margin:0 0 2px}.nav-menu--link---tywPF{display:-webkit-flex;display:flex;position:relative;-webkit-align-items:center;align-items:center;padding:3px 0;color:color(#000 tint(33.5%));color:var(--gray)}.nav-menu--link---tywPF:hover{color:color(color(#428bca shade(6.5%)) shade(15%));color:var(--link-hover-color);text-decoration:none}.nav-menu--link---tywPF:active,.nav-menu--link---tywPF:focus{box-shadow:0 0 2px 0 #03a9f4;box-shadow:0 0 2px 0 var(--ltblue500);outline:none;text-decoration:none}.nav-menu--link---tywPF span{transition:color .2s ease-out;transition:var(--link-transition);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-menu--link-icon---1Q2NP{margin-right:2px}.nav-menu--link-icon---1Q2NP.nav-menu--pass---1PUeh{color:#4caf50;color:var(--green500)}.nav-menu--link-icon---1Q2NP.nav-menu--fail---3gQQa{color:#f44336;color:var(--red500)}.nav-menu--link-icon---1Q2NP.nav-menu--pending---9zAw0{color:#03a9f4;color:var(--ltblue500)}.nav-menu--link-icon---1Q2NP.nav-menu--skipped---31GPM{color:#9e9e9e;color:var(--grey500)}.nav-menu--disabled---2MoA_{opacity:.3;pointer-events:none}@media (min-width:768px){.nav-menu--menu---lFcsl{width:320px;left:auto}.nav-menu--overlay---k2Lwz{display:block;position:fixed;transition:all .2s ease-out;top:0;right:0;bottom:0;left:0;cursor:pointer;opacity:0}} +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}:root{--screen-sm-min:768px;--screen-md-min:992px;--screen-lg-min:1200px;--grid-gutter-width:30px;--container-sm:calc(720px + var(--grid-gutter-width));--container-md:calc(940px + var(--grid-gutter-width));--container-lg:calc(1140px + var(--grid-gutter-width));--navbar-height:122px;--navbar-height-short:56px;--summary-height-stacked:82px;--statusbar-height-stacked:54px;--footer-height:60px;--default-transition-duration:0.2s;--default-transition-easing:ease;--gray-base:#000;--gray-darker-faded:color(var(--gray-darker) alpha(95%));--gray-darker:color(var(--gray-base) tint(13.5%));--gray-dark:color(var(--gray-base) tint(20%));--gray:color(var(--gray-base) tint(33.5%));--gray-light:color(var(--gray-base) tint(46.7%));--gray-medium:color(var(--gray-base) tint(73.5%));--gray-lighter:color(var(--gray-base) tint(93.5%));--gray-lighter-faded:color(var(--gray-lighter) alpha(95%));--gray-border:color(var(--gray-base) tint(80%));--grey50:#eceff1;--grey100:#f5f5f5;--grey300:#e0e0e0;--grey500:#9e9e9e;--grey700:#616161;--green100:#c8e6c9;--green200:#a5d6a7;--green300:#81c784;--green500:#4caf50;--green700:#388e3c;--red100:#ffcdd2;--red300:#e57373;--red500:#f44336;--red700:#d32f2f;--ltblue100:#b3e5fc;--ltblue300:#4fc3f7;--ltblue500:#03a9f4;--ltblue700:#0288d1;--black87:rgba(0,0,0,0.87);--black54:rgba(0,0,0,0.54);--black38:rgba(0,0,0,0.38);--bluegrey500:#607d8b;--bluegrey800:#37474f;--bluegrey900:#263238;--light-icon-active:#fff;--light-icon-inactive:hsla(0,0%,100%,0.5);--dark-icon-active:var(--black54);--dark-icon-inactive:var(--black38);--amber300:#ffd54f;--amber400:#ffca28;--amber500:#ffc107;--yellow700:#fbc02d;--yellow800:#f9a825;--brand-primary:color(#428bca shade(6.5%));--brand-success:#4caf50;--brand-info:#5bc0de;--brand-warning:#f0ad4e;--brand-danger:#d9534f;--text-color:var(--black87);--body-bg:#f2f2f2;--link-color:var(--brand-primary);--link-hover-color:color(var(--link-color) shade(15%));--list-group-border:#ddd;--font-family-sans-serif:"robotoregular","Helvetica Neue",Helvetica,Arial,sans-serif;--font-family-base:var(--font-family-sans-serif);--font-family-mono:"Menlo","Monaco","Consolas","Courier New",monospace;--font-size-base:14px;--line-height-base:1.429;--line-height-computed:20px;--headings-font-family:inherit;--headings-font-weight:400;--headings-line-height:1.1;--headings-color:inherit;--headings-small-color:var(--gray-light);--font-size-h1:36px;--font-size-h2:30px;--font-size-h3:24px;--font-size-h4:18px;--font-size-h5:var(--font-size-base);--font-size-h6:12px;--font-family-light:"robotolight";--font-family-regular:"robotoregular";--font-family-medium:"robotomedium";--link-transition:color 0.2s ease-out}.trans-color{transition:color .2s ease-out;transition:var(--link-transition)}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-family:var(--headings-font-family);font-weight:400;font-weight:var(--headings-font-weight);line-height:1.1;line-height:var(--headings-line-height);color:inherit;color:var(--headings-color)}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:color(#000 tint(46.7%));color:var(--headings-small-color)}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-top:var(--line-height-computed);margin-bottom:10px;margin-bottom:calc(var(--line-height-computed)/2)}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-top:calc(var(--line-height-computed)/2);margin-bottom:10px;margin-bottom:calc(var(--line-height-computed)/2)}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px;font-size:var(--font-size-h1)}.h2,h2{font-size:30px;font-size:var(--font-size-h2)}.h3,h3{font-size:24px;font-size:var(--font-size-h3)}.h4,h4{font-size:18px;font-size:var(--font-size-h4)}.h5,h5{font-size:14px;font-size:var(--font-size-h5)}.h6,h6{font-size:12px;font-size:var(--font-size-h6)}p{margin:0 0 10px;margin:0 0 calc(var(--line-height-computed)/2)}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}ol,ul{margin-top:0;margin-bottom:10px;margin-bottom:calc(var(--line-height-computed)/2);ol,ul{margin-bottom:0}}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline{margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}code{font-family:Menlo,Monaco,Consolas,Courier New,monospace;font-family:var(--font-family-mono)}.hljs{display:block;overflow-x:auto;padding:.5em;color:#383a42;background:#fafafa}.hljs-comment,.hljs-quote{color:#a0a1a7;font-style:italic}.hljs-doctag,.hljs-formula,.hljs-keyword{color:#a626a4}.hljs-deletion,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-subst{color:#e45649}.hljs-literal{color:#0184bb}.hljs-addition,.hljs-attribute,.hljs-meta-string,.hljs-regexp,.hljs-string{color:#50a14f}.hljs-built_in,.hljs-class .hljs-title{color:#c18401}.hljs-attr,.hljs-number,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo,.hljs-template-variable,.hljs-type,.hljs-variable{color:#986801}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-symbol,.hljs-title{color:#4078f2}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}.ct-label{fill:rgba(0,0,0,.4);color:rgba(0,0,0,.4);font-size:.75rem;line-height:1}.ct-chart-bar .ct-label,.ct-chart-line .ct-label{display:block;display:-webkit-flex;display:flex}.ct-chart-donut .ct-label,.ct-chart-pie .ct-label{dominant-baseline:central}.ct-label.ct-horizontal.ct-start{-webkit-align-items:flex-end;align-items:flex-end}.ct-label.ct-horizontal.ct-end,.ct-label.ct-horizontal.ct-start{-webkit-justify-content:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-label.ct-horizontal.ct-end{-webkit-align-items:flex-start;align-items:flex-start}.ct-label.ct-vertical.ct-start{-webkit-align-items:flex-end;align-items:flex-end;-webkit-justify-content:flex-end;justify-content:flex-end;text-align:right;text-anchor:end}.ct-label.ct-vertical.ct-end{-webkit-align-items:flex-end;align-items:flex-end;-webkit-justify-content:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-chart-bar .ct-label.ct-horizontal.ct-start{-webkit-align-items:flex-end;align-items:flex-end;-webkit-justify-content:center;justify-content:center;text-align:center;text-anchor:start}.ct-chart-bar .ct-label.ct-horizontal.ct-end{-webkit-align-items:flex-start;align-items:flex-start;-webkit-justify-content:center;justify-content:center;text-align:center;text-anchor:start}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-start{-webkit-align-items:flex-end;align-items:flex-end;-webkit-justify-content:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-end{-webkit-align-items:flex-start;align-items:flex-start;-webkit-justify-content:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-start{-webkit-align-items:center;align-items:center;-webkit-justify-content:flex-end;justify-content:flex-end;text-align:right;text-anchor:end}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-end{-webkit-align-items:center;align-items:center;-webkit-justify-content:flex-start;justify-content:flex-start;text-align:left;text-anchor:end}.ct-grid{stroke:rgba(0,0,0,.2);stroke-width:1px;stroke-dasharray:2px}.ct-grid-background{fill:none}.ct-point{stroke-width:10px;stroke-linecap:round}.ct-line{fill:none;stroke-width:4px}.ct-area{stroke:none;fill-opacity:.1}.ct-bar{fill:none;stroke-width:10px}.ct-slice-donut{fill:none;stroke-width:60px}.ct-series-a .ct-bar,.ct-series-a .ct-line,.ct-series-a .ct-point,.ct-series-a .ct-slice-donut{stroke:#d70206}.ct-series-a .ct-area,.ct-series-a .ct-slice-donut-solid,.ct-series-a .ct-slice-pie{fill:#d70206}.ct-series-b .ct-bar,.ct-series-b .ct-line,.ct-series-b .ct-point,.ct-series-b .ct-slice-donut{stroke:#f05b4f}.ct-series-b .ct-area,.ct-series-b .ct-slice-donut-solid,.ct-series-b .ct-slice-pie{fill:#f05b4f}.ct-series-c .ct-bar,.ct-series-c .ct-line,.ct-series-c .ct-point,.ct-series-c .ct-slice-donut{stroke:#f4c63d}.ct-series-c .ct-area,.ct-series-c .ct-slice-donut-solid,.ct-series-c .ct-slice-pie{fill:#f4c63d}.ct-series-d .ct-bar,.ct-series-d .ct-line,.ct-series-d .ct-point,.ct-series-d .ct-slice-donut{stroke:#d17905}.ct-series-d .ct-area,.ct-series-d .ct-slice-donut-solid,.ct-series-d .ct-slice-pie{fill:#d17905}.ct-series-e .ct-bar,.ct-series-e .ct-line,.ct-series-e .ct-point,.ct-series-e .ct-slice-donut{stroke:#453d3f}.ct-series-e .ct-area,.ct-series-e .ct-slice-donut-solid,.ct-series-e .ct-slice-pie{fill:#453d3f}.ct-series-f .ct-bar,.ct-series-f .ct-line,.ct-series-f .ct-point,.ct-series-f .ct-slice-donut{stroke:#59922b}.ct-series-f .ct-area,.ct-series-f .ct-slice-donut-solid,.ct-series-f .ct-slice-pie{fill:#59922b}.ct-series-g .ct-bar,.ct-series-g .ct-line,.ct-series-g .ct-point,.ct-series-g .ct-slice-donut{stroke:#0544d3}.ct-series-g .ct-area,.ct-series-g .ct-slice-donut-solid,.ct-series-g .ct-slice-pie{fill:#0544d3}.ct-series-h .ct-bar,.ct-series-h .ct-line,.ct-series-h .ct-point,.ct-series-h .ct-slice-donut{stroke:#6b0392}.ct-series-h .ct-area,.ct-series-h .ct-slice-donut-solid,.ct-series-h .ct-slice-pie{fill:#6b0392}.ct-series-i .ct-bar,.ct-series-i .ct-line,.ct-series-i .ct-point,.ct-series-i .ct-slice-donut{stroke:#f05b4f}.ct-series-i .ct-area,.ct-series-i .ct-slice-donut-solid,.ct-series-i .ct-slice-pie{fill:#f05b4f}.ct-series-j .ct-bar,.ct-series-j .ct-line,.ct-series-j .ct-point,.ct-series-j .ct-slice-donut{stroke:#dda458}.ct-series-j .ct-area,.ct-series-j .ct-slice-donut-solid,.ct-series-j .ct-slice-pie{fill:#dda458}.ct-series-k .ct-bar,.ct-series-k .ct-line,.ct-series-k .ct-point,.ct-series-k .ct-slice-donut{stroke:#eacf7d}.ct-series-k .ct-area,.ct-series-k .ct-slice-donut-solid,.ct-series-k .ct-slice-pie{fill:#eacf7d}.ct-series-l .ct-bar,.ct-series-l .ct-line,.ct-series-l .ct-point,.ct-series-l .ct-slice-donut{stroke:#86797d}.ct-series-l .ct-area,.ct-series-l .ct-slice-donut-solid,.ct-series-l .ct-slice-pie{fill:#86797d}.ct-series-m .ct-bar,.ct-series-m .ct-line,.ct-series-m .ct-point,.ct-series-m .ct-slice-donut{stroke:#b2c326}.ct-series-m .ct-area,.ct-series-m .ct-slice-donut-solid,.ct-series-m .ct-slice-pie{fill:#b2c326}.ct-series-n .ct-bar,.ct-series-n .ct-line,.ct-series-n .ct-point,.ct-series-n .ct-slice-donut{stroke:#6188e2}.ct-series-n .ct-area,.ct-series-n .ct-slice-donut-solid,.ct-series-n .ct-slice-pie{fill:#6188e2}.ct-series-o .ct-bar,.ct-series-o .ct-line,.ct-series-o .ct-point,.ct-series-o .ct-slice-donut{stroke:#a748ca}.ct-series-o .ct-area,.ct-series-o .ct-slice-donut-solid,.ct-series-o .ct-slice-pie{fill:#a748ca}.ct-square{display:block;position:relative;width:100%}.ct-square:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:100%}.ct-square:after{content:"";display:table;clear:both}.ct-square>svg{display:block;position:absolute;top:0;left:0}.ct-minor-second{display:block;position:relative;width:100%}.ct-minor-second:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:93.75%}.ct-minor-second:after{content:"";display:table;clear:both}.ct-minor-second>svg{display:block;position:absolute;top:0;left:0}.ct-major-second{display:block;position:relative;width:100%}.ct-major-second:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:88.8888888889%}.ct-major-second:after{content:"";display:table;clear:both}.ct-major-second>svg{display:block;position:absolute;top:0;left:0}.ct-minor-third{display:block;position:relative;width:100%}.ct-minor-third:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:83.3333333333%}.ct-minor-third:after{content:"";display:table;clear:both}.ct-minor-third>svg{display:block;position:absolute;top:0;left:0}.ct-major-third{display:block;position:relative;width:100%}.ct-major-third:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:80%}.ct-major-third:after{content:"";display:table;clear:both}.ct-major-third>svg{display:block;position:absolute;top:0;left:0}.ct-perfect-fourth{display:block;position:relative;width:100%}.ct-perfect-fourth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:75%}.ct-perfect-fourth:after{content:"";display:table;clear:both}.ct-perfect-fourth>svg{display:block;position:absolute;top:0;left:0}.ct-perfect-fifth{display:block;position:relative;width:100%}.ct-perfect-fifth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:66.6666666667%}.ct-perfect-fifth:after{content:"";display:table;clear:both}.ct-perfect-fifth>svg{display:block;position:absolute;top:0;left:0}.ct-minor-sixth{display:block;position:relative;width:100%}.ct-minor-sixth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:62.5%}.ct-minor-sixth:after{content:"";display:table;clear:both}.ct-minor-sixth>svg{display:block;position:absolute;top:0;left:0}.ct-golden-section{display:block;position:relative;width:100%}.ct-golden-section:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:61.804697157%}.ct-golden-section:after{content:"";display:table;clear:both}.ct-golden-section>svg{display:block;position:absolute;top:0;left:0}.ct-major-sixth{display:block;position:relative;width:100%}.ct-major-sixth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:60%}.ct-major-sixth:after{content:"";display:table;clear:both}.ct-major-sixth>svg{display:block;position:absolute;top:0;left:0}.ct-minor-seventh{display:block;position:relative;width:100%}.ct-minor-seventh:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:56.25%}.ct-minor-seventh:after{content:"";display:table;clear:both}.ct-minor-seventh>svg{display:block;position:absolute;top:0;left:0}.ct-major-seventh{display:block;position:relative;width:100%}.ct-major-seventh:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:53.3333333333%}.ct-major-seventh:after{content:"";display:table;clear:both}.ct-major-seventh>svg{display:block;position:absolute;top:0;left:0}.ct-octave{display:block;position:relative;width:100%}.ct-octave:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:50%}.ct-octave:after{content:"";display:table;clear:both}.ct-octave>svg{display:block;position:absolute;top:0;left:0}.ct-major-tenth{display:block;position:relative;width:100%}.ct-major-tenth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:40%}.ct-major-tenth:after{content:"";display:table;clear:both}.ct-major-tenth>svg{display:block;position:absolute;top:0;left:0}.ct-major-eleventh{display:block;position:relative;width:100%}.ct-major-eleventh:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:37.5%}.ct-major-eleventh:after{content:"";display:table;clear:both}.ct-major-eleventh>svg{display:block;position:absolute;top:0;left:0}.ct-major-twelfth{display:block;position:relative;width:100%}.ct-major-twelfth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:33.3333333333%}.ct-major-twelfth:after{content:"";display:table;clear:both}.ct-major-twelfth>svg{display:block;position:absolute;top:0;left:0}.ct-double-octave{display:block;position:relative;width:100%}.ct-double-octave:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:25%}.ct-double-octave:after{content:"";display:table;clear:both}.ct-double-octave>svg{display:block;position:absolute;top:0;left:0}@font-face{font-family:robotolight;src:url(roboto-light-webfont.woff2) format("woff2"),url(roboto-light-webfont.woff) format("woff");font-weight:400;font-style:normal}@font-face{font-family:robotomedium;src:url(roboto-medium-webfont.woff2) format("woff2"),url(roboto-medium-webfont.woff) format("woff");font-weight:400;font-style:normal}@font-face{font-family:robotoregular;src:url(roboto-regular-webfont.woff2) format("woff2"),url(roboto-regular-webfont.woff) format("woff");font-weight:400;font-style:normal}@font-face{font-family:Material Icons;font-style:normal;font-weight:400;src:url(MaterialIcons-Regular.woff2) format("woff2"),url(MaterialIcons-Regular.woff) format("woff")}.material-icons{display:inline-block;font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;-webkit-font-feature-settings:"liga";font-feature-settings:"liga"}.material-icons.md-18{font-size:18px}.material-icons.md-24{font-size:24px}.material-icons.md-36{font-size:36px}.material-icons.md-48{font-size:48px}.material-icons.md-dark{color:rgba(0,0,0,.54)}.material-icons.md-dark.md-inactive{color:rgba(0,0,0,.26)}.material-icons.md-light{color:#fff}.material-icons.md-light.md-inactive{color:hsla(0,0%,100%,.3)}*,:after,:before{box-sizing:border-box}html{position:relative;min-height:100%}body{font-family:robotoregular,Helvetica Neue,Helvetica,Arial,sans-serif;font-family:var(--font-family-base);font-size:14px;font-size:var(--font-size-base);line-height:1.429;line-height:var(--line-height-base);color:rgba(0,0,0,.87);color:var(--text-color);background-color:#f2f2f2;background-color:var(--body-bg);margin-bottom:60px;margin-bottom:var(--footer-height)}a{text-decoration:none;transition:color .2s ease-out;transition:var(--link-transition)}a:hover{text-decoration:underline}pre{word-break:break-all;word-wrap:break-word;border-radius:4px}.cf:before,.clearfix:before{content:" ";display:table}.cf:after,.clearfix:after{content:" ";display:table;clear:both}.container:after,.container:before{content:" ";display:table}.container:after{clear:both}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-left:calc(var(--grid-gutter-width)/2);padding-right:15px;padding-right:calc(var(--grid-gutter-width)/2)}.row:after,.row:before{content:" ";display:table}.row:after{clear:both}.row{margin-left:-15px;margin-left:calc(var(--grid-gutter-width)/-2);margin-right:-15px;margin-right:calc(var(--grid-gutter-width)/-2)}.details{padding-top:146px;padding-top:calc(var(--navbar-height) + 24px)}.z-depth-0{box-shadow:none!important}.z-depth-1{box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12)}.z-depth-1-half{box-shadow:0 5px 11px 0 rgba(0,0,0,.18),0 4px 15px 0 rgba(0,0,0,.15)}.z-depth-2{box-shadow:0 8px 17px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19)}.z-depth-3{box-shadow:0 12px 15px 0 rgba(0,0,0,.24),0 17px 50px 0 rgba(0,0,0,.19)}.z-depth-4{box-shadow:0 16px 28px 0 rgba(0,0,0,.22),0 25px 55px 0 rgba(0,0,0,.21)}.z-depth-5{box-shadow:0 27px 24px 0 rgba(0,0,0,.2),0 40px 77px 0 rgba(0,0,0,.22)}@media (min-width:768px){.container{width:750px;width:var(--container-sm)}.details{padding-top:80px;padding-top:calc(var(--navbar-height-short) + 24px)}}@media (min-width:992px){.container{width:970px;width:var(--container-md)}}@media (min-width:1200px){.container{width:1170px;width:var(--container-lg)}} +:root{--screen-sm-min:768px;--screen-md-min:992px;--screen-lg-min:1200px;--grid-gutter-width:30px;--container-sm:calc(720px + var(--grid-gutter-width));--container-md:calc(940px + var(--grid-gutter-width));--container-lg:calc(1140px + var(--grid-gutter-width));--navbar-height:122px;--navbar-height-short:56px;--summary-height-stacked:82px;--statusbar-height-stacked:54px;--footer-height:60px;--default-transition-duration:0.2s;--default-transition-easing:ease;--gray-base:#000;--gray-darker-faded:color(var(--gray-darker) alpha(95%));--gray-darker:color(var(--gray-base) tint(13.5%));--gray-dark:color(var(--gray-base) tint(20%));--gray:color(var(--gray-base) tint(33.5%));--gray-light:color(var(--gray-base) tint(46.7%));--gray-medium:color(var(--gray-base) tint(73.5%));--gray-lighter:color(var(--gray-base) tint(93.5%));--gray-lighter-faded:color(var(--gray-lighter) alpha(95%));--gray-border:color(var(--gray-base) tint(80%));--grey50:#eceff1;--grey100:#f5f5f5;--grey300:#e0e0e0;--grey500:#9e9e9e;--grey700:#616161;--green100:#c8e6c9;--green200:#a5d6a7;--green300:#81c784;--green500:#4caf50;--green700:#388e3c;--red100:#ffcdd2;--red300:#e57373;--red500:#f44336;--red700:#d32f2f;--ltblue100:#b3e5fc;--ltblue300:#4fc3f7;--ltblue500:#03a9f4;--ltblue700:#0288d1;--black87:rgba(0,0,0,0.87);--black54:rgba(0,0,0,0.54);--black38:rgba(0,0,0,0.38);--bluegrey500:#607d8b;--bluegrey800:#37474f;--bluegrey900:#263238;--light-icon-active:#fff;--light-icon-inactive:hsla(0,0%,100%,0.5);--dark-icon-active:var(--black54);--dark-icon-inactive:var(--black38);--amber300:#ffd54f;--amber400:#ffca28;--amber500:#ffc107;--yellow700:#fbc02d;--yellow800:#f9a825;--brand-primary:color(#428bca shade(6.5%));--brand-success:#4caf50;--brand-info:#5bc0de;--brand-warning:#f0ad4e;--brand-danger:#d9534f;--text-color:var(--black87);--body-bg:#f2f2f2;--link-color:var(--brand-primary);--link-hover-color:color(var(--link-color) shade(15%));--list-group-border:#ddd;--font-family-sans-serif:"robotoregular","Helvetica Neue",Helvetica,Arial,sans-serif;--font-family-base:var(--font-family-sans-serif);--font-family-mono:"Menlo","Monaco","Consolas","Courier New",monospace;--font-size-base:14px;--line-height-base:1.429;--line-height-computed:20px;--headings-font-family:inherit;--headings-font-weight:400;--headings-line-height:1.1;--headings-color:inherit;--headings-small-color:var(--gray-light);--font-size-h1:36px;--font-size-h2:30px;--font-size-h3:24px;--font-size-h4:18px;--font-size-h5:var(--font-size-base);--font-size-h6:12px;--font-family-light:"robotolight";--font-family-regular:"robotoregular";--font-family-medium:"robotomedium";--link-transition:color 0.2s ease-out}.navbar--trans-color---1tk7E{transition:color .2s ease-out;transition:var(--link-transition)}.navbar--component---2UCEi:after,.navbar--component---2UCEi:before{content:" ";display:table}.navbar--component---2UCEi:after{clear:both}.navbar--component---2UCEi{position:fixed;-webkit-flex-direction:column;flex-direction:column;top:0;right:0;left:0;z-index:1030;min-height:122px;min-height:var(--navbar-height);height:122px;height:var(--navbar-height);margin-bottom:0;border:none;background:#37474f;background:var(--bluegrey800)}.navbar--component---2UCEi,.navbar--report-info-cnt---8y9Bb{display:-webkit-flex;display:flex}.navbar--report-info-cnt---8y9Bb{overflow:hidden;padding-right:12px}.navbar--menu-button---1ZRpz{border:none;background:transparent;padding:0}.navbar--menu-button---1ZRpz:focus{box-shadow:0 0 2px 0 #03a9f4;box-shadow:0 0 2px 0 var(--ltblue500);outline:none}.navbar--menu-button---1ZRpz{cursor:pointer;transition:color .2s ease-out;transition:var(--link-transition);height:40px;margin:8px 8px 0;padding:8px;color:hsla(0,0%,100%,.5);color:var(--light-icon-inactive)}.navbar--menu-button---1ZRpz:hover{color:#fff;color:var(--light-icon-active)}.navbar--report-title---3bXCv{-webkit-flex-grow:1;flex-grow:1;font-family:var(--font-family--light);color:#fff;font-size:18px;line-height:52px;line-height:calc(var(--navbar-height-short) - 4px);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navbar--pct-bar---3EwW-:after,.navbar--pct-bar---3EwW-:before{content:" ";display:table}.navbar--pct-bar---3EwW-:after{clear:both}.navbar--pct-bar---3EwW-{display:-webkit-flex;display:flex;position:absolute;left:0;right:0;bottom:0;height:4px}.navbar--pct-bar---3EwW- .navbar--pass---2oR-w{background-color:#4caf50;background-color:var(--green500)}.navbar--pct-bar---3EwW- .navbar--fail---3mN80{background-color:#f44336;background-color:var(--red500)}.navbar--pct-bar---3EwW- .navbar--pend---2iqjh{background-color:#03a9f4;background-color:var(--ltblue500)}.navbar--pct-bar-segment---3T0_o{height:4px}@media (min-width:768px){.navbar--component---2UCEi{min-height:56px;min-height:var(--navbar-height-short);height:56px;height:var(--navbar-height-short);-webkit-flex-direction:initial;flex-direction:row}.navbar--report-info-cnt---8y9Bb{-webkit-flex-grow:1;flex-grow:1}} +:root{--screen-sm-min:768px;--screen-md-min:992px;--screen-lg-min:1200px;--grid-gutter-width:30px;--container-sm:calc(720px + var(--grid-gutter-width));--container-md:calc(940px + var(--grid-gutter-width));--container-lg:calc(1140px + var(--grid-gutter-width));--navbar-height:122px;--navbar-height-short:56px;--summary-height-stacked:82px;--statusbar-height-stacked:54px;--footer-height:60px;--default-transition-duration:0.2s;--default-transition-easing:ease;--gray-base:#000;--gray-darker-faded:color(var(--gray-darker) alpha(95%));--gray-darker:color(var(--gray-base) tint(13.5%));--gray-dark:color(var(--gray-base) tint(20%));--gray:color(var(--gray-base) tint(33.5%));--gray-light:color(var(--gray-base) tint(46.7%));--gray-medium:color(var(--gray-base) tint(73.5%));--gray-lighter:color(var(--gray-base) tint(93.5%));--gray-lighter-faded:color(var(--gray-lighter) alpha(95%));--gray-border:color(var(--gray-base) tint(80%));--grey50:#eceff1;--grey100:#f5f5f5;--grey300:#e0e0e0;--grey500:#9e9e9e;--grey700:#616161;--green100:#c8e6c9;--green200:#a5d6a7;--green300:#81c784;--green500:#4caf50;--green700:#388e3c;--red100:#ffcdd2;--red300:#e57373;--red500:#f44336;--red700:#d32f2f;--ltblue100:#b3e5fc;--ltblue300:#4fc3f7;--ltblue500:#03a9f4;--ltblue700:#0288d1;--black87:rgba(0,0,0,0.87);--black54:rgba(0,0,0,0.54);--black38:rgba(0,0,0,0.38);--bluegrey500:#607d8b;--bluegrey800:#37474f;--bluegrey900:#263238;--light-icon-active:#fff;--light-icon-inactive:hsla(0,0%,100%,0.5);--dark-icon-active:var(--black54);--dark-icon-inactive:var(--black38);--amber300:#ffd54f;--amber400:#ffca28;--amber500:#ffc107;--yellow700:#fbc02d;--yellow800:#f9a825;--brand-primary:color(#428bca shade(6.5%));--brand-success:#4caf50;--brand-info:#5bc0de;--brand-warning:#f0ad4e;--brand-danger:#d9534f;--text-color:var(--black87);--body-bg:#f2f2f2;--link-color:var(--brand-primary);--link-hover-color:color(var(--link-color) shade(15%));--list-group-border:#ddd;--font-family-sans-serif:"robotoregular","Helvetica Neue",Helvetica,Arial,sans-serif;--font-family-base:var(--font-family-sans-serif);--font-family-mono:"Menlo","Monaco","Consolas","Courier New",monospace;--font-size-base:14px;--line-height-base:1.429;--line-height-computed:20px;--headings-font-family:inherit;--headings-font-weight:400;--headings-line-height:1.1;--headings-color:inherit;--headings-small-color:var(--gray-light);--font-size-h1:36px;--font-size-h2:30px;--font-size-h3:24px;--font-size-h4:18px;--font-size-h5:var(--font-size-base);--font-size-h6:12px;--font-family-light:"robotolight";--font-family-regular:"robotoregular";--font-family-medium:"robotomedium";--link-transition:color 0.2s ease-out}.quick-summary--trans-color---HUJqE{transition:color .2s ease-out;transition:var(--link-transition)}.quick-summary--cnt---3s38x{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;padding:0 12px}.quick-summary--list---2_80W:after,.quick-summary--list---2_80W:before{content:" ";display:table}.quick-summary--list---2_80W:after{clear:both}.quick-summary--list---2_80W{list-style:none;padding-left:0;transition:opacity .2s ease-out;margin:0 0 8px}.quick-summary--item---bfSQ0,.quick-summary--list---2_80W{display:-webkit-flex;display:flex}.quick-summary--item---bfSQ0{font-family:var(--font-family--light);-webkit-align-items:flex-start;align-items:flex-start;color:#fff;font-size:16px;-webkit-flex-basis:25%;flex-basis:25%}.quick-summary--item---bfSQ0 button{border:none;background:transparent;padding:0}.quick-summary--item---bfSQ0 button:focus{box-shadow:0 0 2px 0 #03a9f4;box-shadow:0 0 2px 0 var(--ltblue500);outline:none}.quick-summary--item---bfSQ0 button{transition:color .2s ease-out;transition:var(--link-transition);display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;color:#fff;cursor:pointer}.quick-summary--item---bfSQ0 button:hover .quick-summary--icon---TW1oG{border-color:#fff}.quick-summary--item---bfSQ0.quick-summary--tests---2nNut{color:#fff}.quick-summary--item---bfSQ0.quick-summary--passes---3IjYH .quick-summary--icon---TW1oG{color:#388e3c;color:var(--green700);background-color:#c8e6c9;background-color:var(--green100)}.quick-summary--single-filter---31Thy .quick-summary--item---bfSQ0.quick-summary--passes---3IjYH .quick-summary--icon---TW1oG{background-color:#e0e0e0;background-color:var(--grey300);color:#9e9e9e;color:var(--grey500)}.quick-summary--single-filter--passed---3QnUL .quick-summary--item---bfSQ0.quick-summary--passes---3IjYH .quick-summary--icon---TW1oG{color:#fff;background-color:#388e3c;background-color:var(--green700)}.quick-summary--item---bfSQ0.quick-summary--failures---14s29 .quick-summary--icon---TW1oG{color:#d32f2f;color:var(--red700);background-color:#ffcdd2;background-color:var(--red100)}.quick-summary--single-filter---31Thy .quick-summary--item---bfSQ0.quick-summary--failures---14s29 .quick-summary--icon---TW1oG{background-color:#e0e0e0;background-color:var(--grey300);color:#9e9e9e;color:var(--grey500)}.quick-summary--single-filter--failed---3_tAw .quick-summary--item---bfSQ0.quick-summary--failures---14s29 .quick-summary--icon---TW1oG{color:#fff;background-color:#d32f2f;background-color:var(--red700)}.quick-summary--item---bfSQ0.quick-summary--pending---261aV .quick-summary--icon---TW1oG{color:#0288d1;color:var(--ltblue700);background-color:#b3e5fc;background-color:var(--ltblue100)}.quick-summary--single-filter---31Thy .quick-summary--item---bfSQ0.quick-summary--pending---261aV .quick-summary--icon---TW1oG{background-color:#e0e0e0;background-color:var(--grey300);color:#9e9e9e;color:var(--grey500)}.quick-summary--single-filter--pending---21lZM .quick-summary--item---bfSQ0.quick-summary--pending---261aV .quick-summary--icon---TW1oG{color:#fff;background-color:#0288d1;background-color:var(--ltblue700)}.quick-summary--item---bfSQ0.quick-summary--skipped---tyOc4 .quick-summary--icon---TW1oG{color:#616161;color:var(--grey700);background-color:#f5f5f5;background-color:var(--grey100)}.quick-summary--single-filter---31Thy .quick-summary--item---bfSQ0.quick-summary--skipped---tyOc4 .quick-summary--icon---TW1oG{background-color:#e0e0e0;background-color:var(--grey300);color:#9e9e9e;color:var(--grey500)}.quick-summary--single-filter--skipped---1AdZA .quick-summary--item---bfSQ0.quick-summary--skipped---tyOc4 .quick-summary--icon---TW1oG{color:#fff;background-color:#616161;background-color:var(--grey700)}.quick-summary--icon---TW1oG{position:relative;top:2px;font-size:18px;margin-right:4px}.quick-summary--circle-icon---1HDS7{font-size:12px;border-radius:50%;padding:2px;border:1px solid transparent;transition:border-color .2s ease-out}@media (min-width:768px){.quick-summary--cnt---3s38x{-webkit-flex-direction:initial;flex-direction:row;padding:14px 12px 0 0}.quick-summary--list---2_80W{margin:0}.quick-summary--item---bfSQ0{font-size:18px;-webkit-flex-basis:initial;flex-basis:auto;margin:0 12px}.quick-summary--icon---TW1oG{font-size:24px;width:24px;top:0}.quick-summary--circle-icon---1HDS7{font-size:18px}} +:root{--screen-sm-min:768px;--screen-md-min:992px;--screen-lg-min:1200px;--grid-gutter-width:30px;--container-sm:calc(720px + var(--grid-gutter-width));--container-md:calc(940px + var(--grid-gutter-width));--container-lg:calc(1140px + var(--grid-gutter-width));--navbar-height:122px;--navbar-height-short:56px;--summary-height-stacked:82px;--statusbar-height-stacked:54px;--footer-height:60px;--default-transition-duration:0.2s;--default-transition-easing:ease;--gray-base:#000;--gray-darker-faded:color(var(--gray-darker) alpha(95%));--gray-darker:color(var(--gray-base) tint(13.5%));--gray-dark:color(var(--gray-base) tint(20%));--gray:color(var(--gray-base) tint(33.5%));--gray-light:color(var(--gray-base) tint(46.7%));--gray-medium:color(var(--gray-base) tint(73.5%));--gray-lighter:color(var(--gray-base) tint(93.5%));--gray-lighter-faded:color(var(--gray-lighter) alpha(95%));--gray-border:color(var(--gray-base) tint(80%));--grey50:#eceff1;--grey100:#f5f5f5;--grey300:#e0e0e0;--grey500:#9e9e9e;--grey700:#616161;--green100:#c8e6c9;--green200:#a5d6a7;--green300:#81c784;--green500:#4caf50;--green700:#388e3c;--red100:#ffcdd2;--red300:#e57373;--red500:#f44336;--red700:#d32f2f;--ltblue100:#b3e5fc;--ltblue300:#4fc3f7;--ltblue500:#03a9f4;--ltblue700:#0288d1;--black87:rgba(0,0,0,0.87);--black54:rgba(0,0,0,0.54);--black38:rgba(0,0,0,0.38);--bluegrey500:#607d8b;--bluegrey800:#37474f;--bluegrey900:#263238;--light-icon-active:#fff;--light-icon-inactive:hsla(0,0%,100%,0.5);--dark-icon-active:var(--black54);--dark-icon-inactive:var(--black38);--amber300:#ffd54f;--amber400:#ffca28;--amber500:#ffc107;--yellow700:#fbc02d;--yellow800:#f9a825;--brand-primary:color(#428bca shade(6.5%));--brand-success:#4caf50;--brand-info:#5bc0de;--brand-warning:#f0ad4e;--brand-danger:#d9534f;--text-color:var(--black87);--body-bg:#f2f2f2;--link-color:var(--brand-primary);--link-hover-color:color(var(--link-color) shade(15%));--list-group-border:#ddd;--font-family-sans-serif:"robotoregular","Helvetica Neue",Helvetica,Arial,sans-serif;--font-family-base:var(--font-family-sans-serif);--font-family-mono:"Menlo","Monaco","Consolas","Courier New",monospace;--font-size-base:14px;--line-height-base:1.429;--line-height-computed:20px;--headings-font-family:inherit;--headings-font-weight:400;--headings-line-height:1.1;--headings-color:inherit;--headings-small-color:var(--gray-light);--font-size-h1:36px;--font-size-h2:30px;--font-size-h3:24px;--font-size-h4:18px;--font-size-h5:var(--font-size-base);--font-size-h6:12px;--font-family-light:"robotolight";--font-family-regular:"robotoregular";--font-family-medium:"robotomedium";--link-transition:color 0.2s ease-out}.radio-button--trans-color---egsik{transition:color .2s ease-out;transition:var(--link-transition)}.radio-button--component---1ix3c:after,.radio-button--component---1ix3c:before{content:" ";display:table}.radio-button--component---1ix3c:after{clear:both}.radio-button--component---1ix3c{position:relative;height:24px}.radio-button--outer---a_NqL{position:absolute;top:50%;right:0;margin-top:-9px;width:18px;height:18px;border:2px solid #4caf50;border:2px solid var(--green500);border-radius:12px;cursor:pointer;transition:border-color .2s ease-out}.radio-button--off---dBAOK{border-color:color(#000 tint(73.5%));border-color:var(--gray-medium)}.radio-button--inner---3bo9Q{display:block;position:absolute;top:2px;right:2px;width:10px;height:10px;border-radius:100%;background-color:#4caf50;background-color:var(--green500)}.radio-button--off---dBAOK .radio-button--inner---3bo9Q{background-color:#fff;-webkit-transform:scale(0);transform:scale(0)}.radio-button--inner---3bo9Q{transition:all .15s cubic-bezier(.23,1,.32,1)} +:root{--screen-sm-min:768px;--screen-md-min:992px;--screen-lg-min:1200px;--grid-gutter-width:30px;--container-sm:calc(720px + var(--grid-gutter-width));--container-md:calc(940px + var(--grid-gutter-width));--container-lg:calc(1140px + var(--grid-gutter-width));--navbar-height:122px;--navbar-height-short:56px;--summary-height-stacked:82px;--statusbar-height-stacked:54px;--footer-height:60px;--default-transition-duration:0.2s;--default-transition-easing:ease;--gray-base:#000;--gray-darker-faded:color(var(--gray-darker) alpha(95%));--gray-darker:color(var(--gray-base) tint(13.5%));--gray-dark:color(var(--gray-base) tint(20%));--gray:color(var(--gray-base) tint(33.5%));--gray-light:color(var(--gray-base) tint(46.7%));--gray-medium:color(var(--gray-base) tint(73.5%));--gray-lighter:color(var(--gray-base) tint(93.5%));--gray-lighter-faded:color(var(--gray-lighter) alpha(95%));--gray-border:color(var(--gray-base) tint(80%));--grey50:#eceff1;--grey100:#f5f5f5;--grey300:#e0e0e0;--grey500:#9e9e9e;--grey700:#616161;--green100:#c8e6c9;--green200:#a5d6a7;--green300:#81c784;--green500:#4caf50;--green700:#388e3c;--red100:#ffcdd2;--red300:#e57373;--red500:#f44336;--red700:#d32f2f;--ltblue100:#b3e5fc;--ltblue300:#4fc3f7;--ltblue500:#03a9f4;--ltblue700:#0288d1;--black87:rgba(0,0,0,0.87);--black54:rgba(0,0,0,0.54);--black38:rgba(0,0,0,0.38);--bluegrey500:#607d8b;--bluegrey800:#37474f;--bluegrey900:#263238;--light-icon-active:#fff;--light-icon-inactive:hsla(0,0%,100%,0.5);--dark-icon-active:var(--black54);--dark-icon-inactive:var(--black38);--amber300:#ffd54f;--amber400:#ffca28;--amber500:#ffc107;--yellow700:#fbc02d;--yellow800:#f9a825;--brand-primary:color(#428bca shade(6.5%));--brand-success:#4caf50;--brand-info:#5bc0de;--brand-warning:#f0ad4e;--brand-danger:#d9534f;--text-color:var(--black87);--body-bg:#f2f2f2;--link-color:var(--brand-primary);--link-hover-color:color(var(--link-color) shade(15%));--list-group-border:#ddd;--font-family-sans-serif:"robotoregular","Helvetica Neue",Helvetica,Arial,sans-serif;--font-family-base:var(--font-family-sans-serif);--font-family-mono:"Menlo","Monaco","Consolas","Courier New",monospace;--font-size-base:14px;--line-height-base:1.429;--line-height-computed:20px;--headings-font-family:inherit;--headings-font-weight:400;--headings-line-height:1.1;--headings-color:inherit;--headings-small-color:var(--gray-light);--font-size-h1:36px;--font-size-h2:30px;--font-size-h3:24px;--font-size-h4:18px;--font-size-h5:var(--font-size-base);--font-size-h6:12px;--font-family-light:"robotolight";--font-family-regular:"robotoregular";--font-family-medium:"robotomedium";--link-transition:color 0.2s ease-out}.test--trans-color---3sP2r{transition:color .2s ease-out;transition:var(--link-transition)}.test--component---1mwsi{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--grey300)}.test--component---1mwsi.test--expanded---3hI0z.test--passed---38wAs .test--body-wrap---3EGPT,.test--component---1mwsi.test--expanded---3hI0z.test--passed---38wAs .test--header-btn---mI0Oy{border-left-color:#4caf50;border-left-color:var(--green500)}.test--component---1mwsi.test--expanded---3hI0z.test--failed---2PZhW .test--body-wrap---3EGPT,.test--component---1mwsi.test--expanded---3hI0z.test--failed---2PZhW .test--header-btn---mI0Oy{border-left-color:#f44336;border-left-color:var(--red500)}.test--list---24Hjy{list-style-type:none;margin:0;padding:0}.test--header-btn---mI0Oy{display:-webkit-flex;display:flex;position:relative;background:#fff;border:none;border-left:3px solid transparent;cursor:pointer;-webkit-flex-wrap:wrap;flex-wrap:wrap;padding:10px 16px 10px 13px;transition:border-color .2s ease-out;width:100%}.test--header-btn---mI0Oy[disabled]{cursor:default}.test--header-btn---mI0Oy:focus{box-shadow:0 0 2px 0 #03a9f4;box-shadow:0 0 2px 0 var(--ltblue500);outline:none}.test--header-btn---mI0Oy:focus:not([disabled]),.test--header-btn---mI0Oy:hover:not([disabled]){border-left-color:#9e9e9e;border-left-color:var(--grey500)}.test--title---4c0rg{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-flex-grow:1;flex-grow:1;font-family:var(--font-family--regular);font-size:13px;line-height:24px;margin:0;padding-right:12px;text-align:left}.test--hook---3T4lI .test--title---4c0rg{color:rgba(0,0,0,.54);color:var(--black54)}.test--expanded---3hI0z .test--title---4c0rg{line-height:1.5;padding-top:3px;white-space:normal}.test--icon---2jgH_{-webkit-align-self:flex-start;align-self:flex-start;padding:3px;border-radius:50%;color:#fff;margin-right:16px}.test--icon---2jgH_.test--pass---C1Mk7{color:#c8e6c9;color:var(--green100);background-color:#4caf50;background-color:var(--green500)}.test--icon---2jgH_.test--fail---3u2w0{color:#ffcdd2;color:var(--red100);background-color:#f44336;background-color:var(--red500)}.test--icon---2jgH_.test--pending---3Ctfm{color:#b3e5fc;color:var(--ltblue100);background-color:#03a9f4;background-color:var(--ltblue500)}.test--icon---2jgH_.test--skipped---3aU0Y{color:#f5f5f5;color:var(--grey100);background-color:#9e9e9e;background-color:var(--grey500)}.test--icon---2jgH_.test--hook---3T4lI{color:rgba(0,0,0,.38);color:var(--black38);padding:0}.test--failed---2PZhW .test--icon---2jgH_.test--hook---3T4lI{color:#f44336;color:var(--red500)}.test--info---1UQNw{display:-webkit-flex;display:flex}.test--duration---2tVp5{font-family:var(--font-family--regular);line-height:24px;color:rgba(0,0,0,.54);color:var(--black54)}.test--component---1mwsi:hover:not(.test--pending---3Ctfm) .test--duration---2tVp5,.test--expanded---3hI0z .test--duration---2tVp5{color:rgba(0,0,0,.87);color:var(--black87)}.test--duration---2tVp5{transition:color .2s ease-out}.test--duration-icon---2KnOU{margin-left:4px;line-height:24px!important;color:rgba(0,0,0,.38);color:var(--black38)}.test--duration-icon---2KnOU.test--slow---MQOnF{color:#e57373;color:var(--red300)}.test--duration-icon---2KnOU.test--medium---5j890{color:#fbc02d;color:var(--yellow700)}.test--context-icon---2POzC{position:relative;line-height:24px!important;color:rgba(0,0,0,.38);color:var(--black38);margin-right:8px;top:1px}.test--body-wrap---3EGPT{border-left:3px solid transparent;transition:border-color .2s ease-out}.test--expanded---3hI0z .test--body-wrap---3EGPT{display:block;padding-bottom:10px}.test--body---Ox0q_{display:none;background-color:#fafafa;border:1px solid #eceff1;border:1px solid var(--grey50);border-radius:4px}.test--expanded---3hI0z .test--body---Ox0q_{display:block;margin:0 16px 0 13px}.test--error-message---3Grn0{color:#f44336;color:var(--red500);font-size:12px;margin:10px 0 0;text-align:left;width:100%;word-break:break-word}.test--code-snippet---3H5Xj{position:relative;font-size:11px;margin:0;border-radius:0}.test--code-snippet---3H5Xj+.test--code-snippet---3H5Xj{border-top:1px solid #fff}.test--code-snippet---3H5Xj.hljs{padding:1em;background:none}.test--code-diff---2XQsb code>span:first-child{margin-right:11px}.test--code-diff-expected---1QWLl span{color:#859900}.test--inline-diff---3OmYO .test--code-diff-expected---1QWLl{background-color:#859900;color:#fff}.test--code-diff-actual---3MMxN span{color:#dc322f}.test--inline-diff---3OmYO .test--code-diff-actual---3MMxN{background-color:#dc322f;color:#fff}.test--code-label---1QEUY{position:absolute;font-family:var(--font-family--regular);top:0;right:0;padding:.2em .6em;background-color:#9e9e9e;background-color:var(--grey500);color:#fff}.test--context---1YYgX{background-color:#fff;border-top:1px solid #eceff1;border-top:1px solid var(--grey50);border-bottom-left-radius:4px;border-bottom-right-radius:4px}.test--context-title---HHH10{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-family--regular);font-size:13px;color:rgba(0,0,0,.54);color:var(--black54);margin:0;padding:11px 11px 0}.test--context-item---R1NNU{padding-top:11px}.test--context-item---R1NNU .test--code-snippet---3H5Xj{padding-top:0}.test--context-item-title---1KxIO{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-family--medium);font-size:13px;margin:0;padding:0 11px 11px}.test--text-link---2_cSn{display:inline-block;padding:0 1em 1em;font-family:Menlo,Monaco,Consolas,Courier New,monospace;font-family:var(--font-family-mono);font-size:11px;color:#0288d1;color:var(--ltblue700)}.test--text-link---2_cSn:hover{color:#03a9f4;color:var(--ltblue500)}.test--image-link---PUFPJ,.test--video-link---1L-2D{display:inline-block;font-size:11px;padding:0 1em 1em}.test--image---2Z5X2,.test--video---2JK7O{display:block;max-width:100%;height:auto} +:root{--screen-sm-min:768px;--screen-md-min:992px;--screen-lg-min:1200px;--grid-gutter-width:30px;--container-sm:calc(720px + var(--grid-gutter-width));--container-md:calc(940px + var(--grid-gutter-width));--container-lg:calc(1140px + var(--grid-gutter-width));--navbar-height:122px;--navbar-height-short:56px;--summary-height-stacked:82px;--statusbar-height-stacked:54px;--footer-height:60px;--default-transition-duration:0.2s;--default-transition-easing:ease;--gray-base:#000;--gray-darker-faded:color(var(--gray-darker) alpha(95%));--gray-darker:color(var(--gray-base) tint(13.5%));--gray-dark:color(var(--gray-base) tint(20%));--gray:color(var(--gray-base) tint(33.5%));--gray-light:color(var(--gray-base) tint(46.7%));--gray-medium:color(var(--gray-base) tint(73.5%));--gray-lighter:color(var(--gray-base) tint(93.5%));--gray-lighter-faded:color(var(--gray-lighter) alpha(95%));--gray-border:color(var(--gray-base) tint(80%));--grey50:#eceff1;--grey100:#f5f5f5;--grey300:#e0e0e0;--grey500:#9e9e9e;--grey700:#616161;--green100:#c8e6c9;--green200:#a5d6a7;--green300:#81c784;--green500:#4caf50;--green700:#388e3c;--red100:#ffcdd2;--red300:#e57373;--red500:#f44336;--red700:#d32f2f;--ltblue100:#b3e5fc;--ltblue300:#4fc3f7;--ltblue500:#03a9f4;--ltblue700:#0288d1;--black87:rgba(0,0,0,0.87);--black54:rgba(0,0,0,0.54);--black38:rgba(0,0,0,0.38);--bluegrey500:#607d8b;--bluegrey800:#37474f;--bluegrey900:#263238;--light-icon-active:#fff;--light-icon-inactive:hsla(0,0%,100%,0.5);--dark-icon-active:var(--black54);--dark-icon-inactive:var(--black38);--amber300:#ffd54f;--amber400:#ffca28;--amber500:#ffc107;--yellow700:#fbc02d;--yellow800:#f9a825;--brand-primary:color(#428bca shade(6.5%));--brand-success:#4caf50;--brand-info:#5bc0de;--brand-warning:#f0ad4e;--brand-danger:#d9534f;--text-color:var(--black87);--body-bg:#f2f2f2;--link-color:var(--brand-primary);--link-hover-color:color(var(--link-color) shade(15%));--list-group-border:#ddd;--font-family-sans-serif:"robotoregular","Helvetica Neue",Helvetica,Arial,sans-serif;--font-family-base:var(--font-family-sans-serif);--font-family-mono:"Menlo","Monaco","Consolas","Courier New",monospace;--font-size-base:14px;--line-height-base:1.429;--line-height-computed:20px;--headings-font-family:inherit;--headings-font-weight:400;--headings-line-height:1.1;--headings-color:inherit;--headings-small-color:var(--gray-light);--font-size-h1:36px;--font-size-h2:30px;--font-size-h3:24px;--font-size-h4:18px;--font-size-h5:var(--font-size-base);--font-size-h6:12px;--font-family-light:"robotolight";--font-family-regular:"robotoregular";--font-family-medium:"robotomedium";--link-transition:color 0.2s ease-out}.suite--trans-color---2pu6T{transition:color .2s ease-out;transition:var(--link-transition)}.suite--component---22Vxk:after,.suite--component---22Vxk:before{content:" ";display:table}.suite--component---22Vxk:after{clear:both}.suite--component---22Vxk{position:relative;background-color:#fff;margin-bottom:20px}.suite--component---22Vxk>.suite--body---1itCO>ul>li>.suite--component---22Vxk{border:1px solid #e0e0e0;border:1px solid var(--grey300);border-right:none;border-bottom:none;margin:16px 0 16px 16px}.suite--component---22Vxk>.suite--body---1itCO>ul>li>.suite--component---22Vxk.suite--no-tests---l47BS{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--grey300)}.suite--list---3WtMK{list-style-type:none;margin:0;padding:0}.suite--list-main---3KCXR>li>.suite--component---22Vxk,.suite--root-suite---ZDRuj{box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12);margin:0 0 24px}.suite--list-main---3KCXR>.suite--no-tests---l47BS>.suite--body---1itCO>ul>li>.suite--component---22Vxk:not(.suite--no-suites---2PQFQ){border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--grey300)}.suite--header---TddSn:after,.suite--header---TddSn:before{content:" ";display:table}.suite--header---TddSn:after{clear:both}.suite--header---TddSn{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--grey300)}.suite--no-tests---l47BS>.suite--header---TddSn{padding-bottom:0;border-bottom:none}.suite--header-btn---25qLz{background:#fff;border:none;cursor:pointer;padding:12px 16px;text-align:left;width:100%}.suite--header-btn---25qLz:focus{box-shadow:0 0 2px 0 #03a9f4;box-shadow:0 0 2px 0 var(--ltblue500);outline:none}.suite--title---3T6OR{display:-webkit-flex;display:flex;font-family:var(--font-family--light);font-size:21px;margin:0}.suite--title---3T6OR span{margin-right:auto}.suite--title---3T6OR .suite--icon---2KPe5{margin-left:58px}.suite--filename---1u8oo{color:rgba(0,0,0,.54);color:var(--black54);font-family:var(--font-family--regular);margin:6px 0 0}.suite--body---1itCO:after,.suite--body---1itCO:before{content:" ";display:table}.suite--body---1itCO:after{clear:both}.suite--body---1itCO.suite--hide---2i8QF{display:none}.suite--has-suites---3OYDf>.suite--body---1itCO{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--grey300)}.suite--chart-wrap---7hvUh{display:none;position:absolute;top:12px;right:36px;width:50px;height:50px}.suite--chart-slice---1XN2j{stroke:#fff;stroke-width:2px}.ct-series-a .suite--chart-slice---1XN2j{fill:#4caf50;fill:var(--green500)}.ct-series-b .suite--chart-slice---1XN2j{fill:#f44336;fill:var(--red500)}.ct-series-c .suite--chart-slice---1XN2j{fill:#03a9f4;fill:var(--ltblue500)}.ct-series-d .suite--chart-slice---1XN2j{fill:rgba(0,0,0,.38);fill:var(--black38)}@media (min-width:768px){.suite--chart-wrap---7hvUh{display:block}.suite--chart-enabled---1N-VF:not(.suite--no-tests---l47BS) .suite--header---TddSn{min-height:66px}} +:root{--screen-sm-min:768px;--screen-md-min:992px;--screen-lg-min:1200px;--grid-gutter-width:30px;--container-sm:calc(720px + var(--grid-gutter-width));--container-md:calc(940px + var(--grid-gutter-width));--container-lg:calc(1140px + var(--grid-gutter-width));--navbar-height:122px;--navbar-height-short:56px;--summary-height-stacked:82px;--statusbar-height-stacked:54px;--footer-height:60px;--default-transition-duration:0.2s;--default-transition-easing:ease;--gray-base:#000;--gray-darker-faded:color(var(--gray-darker) alpha(95%));--gray-darker:color(var(--gray-base) tint(13.5%));--gray-dark:color(var(--gray-base) tint(20%));--gray:color(var(--gray-base) tint(33.5%));--gray-light:color(var(--gray-base) tint(46.7%));--gray-medium:color(var(--gray-base) tint(73.5%));--gray-lighter:color(var(--gray-base) tint(93.5%));--gray-lighter-faded:color(var(--gray-lighter) alpha(95%));--gray-border:color(var(--gray-base) tint(80%));--grey50:#eceff1;--grey100:#f5f5f5;--grey300:#e0e0e0;--grey500:#9e9e9e;--grey700:#616161;--green100:#c8e6c9;--green200:#a5d6a7;--green300:#81c784;--green500:#4caf50;--green700:#388e3c;--red100:#ffcdd2;--red300:#e57373;--red500:#f44336;--red700:#d32f2f;--ltblue100:#b3e5fc;--ltblue300:#4fc3f7;--ltblue500:#03a9f4;--ltblue700:#0288d1;--black87:rgba(0,0,0,0.87);--black54:rgba(0,0,0,0.54);--black38:rgba(0,0,0,0.38);--bluegrey500:#607d8b;--bluegrey800:#37474f;--bluegrey900:#263238;--light-icon-active:#fff;--light-icon-inactive:hsla(0,0%,100%,0.5);--dark-icon-active:var(--black54);--dark-icon-inactive:var(--black38);--amber300:#ffd54f;--amber400:#ffca28;--amber500:#ffc107;--yellow700:#fbc02d;--yellow800:#f9a825;--brand-primary:color(#428bca shade(6.5%));--brand-success:#4caf50;--brand-info:#5bc0de;--brand-warning:#f0ad4e;--brand-danger:#d9534f;--text-color:var(--black87);--body-bg:#f2f2f2;--link-color:var(--brand-primary);--link-hover-color:color(var(--link-color) shade(15%));--list-group-border:#ddd;--font-family-sans-serif:"robotoregular","Helvetica Neue",Helvetica,Arial,sans-serif;--font-family-base:var(--font-family-sans-serif);--font-family-mono:"Menlo","Monaco","Consolas","Courier New",monospace;--font-size-base:14px;--line-height-base:1.429;--line-height-computed:20px;--headings-font-family:inherit;--headings-font-weight:400;--headings-line-height:1.1;--headings-color:inherit;--headings-small-color:var(--gray-light);--font-size-h1:36px;--font-size-h2:30px;--font-size-h3:24px;--font-size-h4:18px;--font-size-h5:var(--font-size-base);--font-size-h6:12px;--font-family-light:"robotolight";--font-family-regular:"robotoregular";--font-family-medium:"robotomedium";--link-transition:color 0.2s ease-out}.suite-summary--trans-color---14JXk{transition:color .2s ease-out;transition:var(--link-transition)}.suite-summary--component---cFAkx:after,.suite-summary--component---cFAkx:before{content:" ";display:table}.suite-summary--component---cFAkx:after{clear:both}.suite-summary--component---cFAkx{list-style:none;padding-left:0;display:-webkit-flex;display:flex;font-family:var(--font-family--regular);font-size:15px;margin:16px 0 0}.suite-summary--component---cFAkx.suite-summary--no-margin---3WX9n{margin:0}.suite-summary--summary-item---JHYFN{display:-webkit-flex;display:flex;line-height:18px;margin:0 8px;color:rgba(0,0,0,.54);color:var(--black54)}.suite-summary--summary-item---JHYFN:first-child{margin-left:0}.suite-summary--summary-item---JHYFN.suite-summary--duration---AzGUQ,.suite-summary--summary-item---JHYFN.suite-summary--tests---3Zhct{color:rgba(0,0,0,.54);color:var(--black54)}.suite-summary--summary-item---JHYFN.suite-summary--passed---24BnC{color:#4caf50;color:var(--green500)}.suite-summary--summary-item---JHYFN.suite-summary--failed---205C4{color:#f44336;color:var(--red500)}.suite-summary--summary-item---JHYFN.suite-summary--pending---3_Nkj{color:#03a9f4;color:var(--ltblue500)}.suite-summary--summary-item---JHYFN.suite-summary--skipped---TovqF{color:rgba(0,0,0,.38);color:var(--black38)}.suite-summary--icon---3rZ6G{margin-right:2px} +:root{--screen-sm-min:768px;--screen-md-min:992px;--screen-lg-min:1200px;--grid-gutter-width:30px;--container-sm:calc(720px + var(--grid-gutter-width));--container-md:calc(940px + var(--grid-gutter-width));--container-lg:calc(1140px + var(--grid-gutter-width));--navbar-height:122px;--navbar-height-short:56px;--summary-height-stacked:82px;--statusbar-height-stacked:54px;--footer-height:60px;--default-transition-duration:0.2s;--default-transition-easing:ease;--gray-base:#000;--gray-darker-faded:color(var(--gray-darker) alpha(95%));--gray-darker:color(var(--gray-base) tint(13.5%));--gray-dark:color(var(--gray-base) tint(20%));--gray:color(var(--gray-base) tint(33.5%));--gray-light:color(var(--gray-base) tint(46.7%));--gray-medium:color(var(--gray-base) tint(73.5%));--gray-lighter:color(var(--gray-base) tint(93.5%));--gray-lighter-faded:color(var(--gray-lighter) alpha(95%));--gray-border:color(var(--gray-base) tint(80%));--grey50:#eceff1;--grey100:#f5f5f5;--grey300:#e0e0e0;--grey500:#9e9e9e;--grey700:#616161;--green100:#c8e6c9;--green200:#a5d6a7;--green300:#81c784;--green500:#4caf50;--green700:#388e3c;--red100:#ffcdd2;--red300:#e57373;--red500:#f44336;--red700:#d32f2f;--ltblue100:#b3e5fc;--ltblue300:#4fc3f7;--ltblue500:#03a9f4;--ltblue700:#0288d1;--black87:rgba(0,0,0,0.87);--black54:rgba(0,0,0,0.54);--black38:rgba(0,0,0,0.38);--bluegrey500:#607d8b;--bluegrey800:#37474f;--bluegrey900:#263238;--light-icon-active:#fff;--light-icon-inactive:hsla(0,0%,100%,0.5);--dark-icon-active:var(--black54);--dark-icon-inactive:var(--black38);--amber300:#ffd54f;--amber400:#ffca28;--amber500:#ffc107;--yellow700:#fbc02d;--yellow800:#f9a825;--brand-primary:color(#428bca shade(6.5%));--brand-success:#4caf50;--brand-info:#5bc0de;--brand-warning:#f0ad4e;--brand-danger:#d9534f;--text-color:var(--black87);--body-bg:#f2f2f2;--link-color:var(--brand-primary);--link-hover-color:color(var(--link-color) shade(15%));--list-group-border:#ddd;--font-family-sans-serif:"robotoregular","Helvetica Neue",Helvetica,Arial,sans-serif;--font-family-base:var(--font-family-sans-serif);--font-family-mono:"Menlo","Monaco","Consolas","Courier New",monospace;--font-size-base:14px;--line-height-base:1.429;--line-height-computed:20px;--headings-font-family:inherit;--headings-font-weight:400;--headings-line-height:1.1;--headings-color:inherit;--headings-small-color:var(--gray-light);--font-size-h1:36px;--font-size-h2:30px;--font-size-h3:24px;--font-size-h4:18px;--font-size-h5:var(--font-size-base);--font-size-h6:12px;--font-family-light:"robotolight";--font-family-regular:"robotoregular";--font-family-medium:"robotomedium";--link-transition:color 0.2s ease-out}.toggle-switch--trans-color---16in9{transition:color .2s ease-out;transition:var(--link-transition)}.toggle-switch--component---3vjvh:after,.toggle-switch--component---3vjvh:before{content:" ";display:table}.toggle-switch--component---3vjvh:after{clear:both}.toggle-switch--component---3vjvh{height:24px}.toggle-switch--label---1Lu8U{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center}.toggle-switch--toggle-input---3BB7e{position:absolute;opacity:0}.toggle-switch--toggle-input---3BB7e:checked+.toggle-switch--toggle---2kPqc{background-color:#a5d6a7;background-color:var(--green200)}.toggle-switch--toggle-input---3BB7e:checked+.toggle-switch--toggle---2kPqc:before{background-color:#4caf50;background-color:var(--green500);-webkit-transform:translateX(14px);transform:translateX(14px)}.toggle-switch--toggle-input---3BB7e:focus+.toggle-switch--toggle---2kPqc:before{box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12),0 0 2px 0 #03a9f4;box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12),0 0 2px 0 var(--ltblue500)}.toggle-switch--toggle---2kPqc{display:inline-block;position:relative;background-color:#e0e0e0;background-color:var(--grey300);border-radius:7px;cursor:pointer;height:14px;margin-left:auto;transition:background-color .15s cubic-bezier(.4,0,.2,1) 0s;width:34px}.toggle-switch--toggle---2kPqc:before{box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12);content:"";position:absolute;background-color:#9e9e9e;background-color:var(--grey500);border-radius:100%;height:20px;left:0;top:-3px;width:20px;transition:-webkit-transform .15s cubic-bezier(.4,0,.2,1) 0s;transition:transform .15s cubic-bezier(.4,0,.2,1) 0s;transition:transform .15s cubic-bezier(.4,0,.2,1) 0s,-webkit-transform .15s cubic-bezier(.4,0,.2,1) 0s}.toggle-switch--disabled---1qDLf{opacity:.6}.toggle-switch--disabled---1qDLf .toggle-switch--icon---348nT{color:rgba(0,0,0,.38);color:var(--black38)}.toggle-switch--disabled---1qDLf .toggle-switch--toggle---2kPqc{cursor:default} diff --git a/refs/pull/791/merge/e2e-test-report/assets/app.js b/refs/pull/791/merge/e2e-test-report/assets/app.js new file mode 100644 index 000000000..23de4437e --- /dev/null +++ b/refs/pull/791/merge/e2e-test-report/assets/app.js @@ -0,0 +1,2 @@ +/*! mochawesome-report-generator 6.2.0 | https://github.com/adamgruber/mochawesome-report-generator */ +!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=320)}([function(e,t,n){"use strict";e.exports=n(126)},function(e,t,n){e.exports=n(130)()},function(e,t,n){var r=n(198),o=n(51),i=36e5,a=6e4,s=/[T ]/,l=/:/,u=/^(\d{2})$/,c=[/^([+-]\d{2})$/,/^([+-]\d{3})$/,/^([+-]\d{4})$/],f=/^(\d{4})/,d=[/^([+-]\d{4})/,/^([+-]\d{5})/,/^([+-]\d{6})/],p=/^-(\d{2})$/,h=/^-?(\d{3})$/,m=/^-?(\d{2})-?(\d{2})$/,v=/^-?W(\d{2})$/,g=/^-?W(\d{2})-?(\d{1})$/,y=/^(\d{2}([.,]\d*)?)$/,b=/^(\d{2}):?(\d{2}([.,]\d*)?)$/,_=/^(\d{2}):?(\d{2}):?(\d{2}([.,]\d*)?)$/,w=/([Z+-].*)$/,x=/^(Z)$/,E=/^([+-])(\d{2})$/,k=/^([+-])(\d{2}):?(\d{2})$/;function S(e,t,n){t=t||0,n=n||0;var r=new Date(0);r.setUTCFullYear(e,0,4);var o=7*t+n+1-(r.getUTCDay()||7);return r.setUTCDate(r.getUTCDate()+o),r}e.exports=function(e,t){if(o(e))return new Date(e.getTime());if("string"!=typeof e)return new Date(e);var n=(t||{}).additionalDigits;n=null==n?2:Number(n);var O=function(e){var t,n={},r=e.split(s);l.test(r[0])?(n.date=null,t=r[0]):(n.date=r[0],t=r[1]);if(t){var o=w.exec(t);o?(n.time=t.replace(o[1],""),n.timezone=o[1]):n.time=t}return n}(e),T=function(e,t){var n,r=c[t],o=d[t];if(n=f.exec(e)||o.exec(e)){var i=n[1];return{year:parseInt(i,10),restDateString:e.slice(i.length)}}if(n=u.exec(e)||r.exec(e)){var a=n[1];return{year:100*parseInt(a,10),restDateString:e.slice(a.length)}}return{year:null}}(O.date,n),N=T.year,C=function(e,t){if(null===t)return null;var n,r,o;if(0===e.length)return(r=new Date(0)).setUTCFullYear(t),r;if(n=p.exec(e))return r=new Date(0),o=parseInt(n[1],10)-1,r.setUTCFullYear(t,o),r;if(n=h.exec(e)){r=new Date(0);var i=parseInt(n[1],10);return r.setUTCFullYear(t,0,i),r}if(n=m.exec(e)){r=new Date(0),o=parseInt(n[1],10)-1;var a=parseInt(n[2],10);return r.setUTCFullYear(t,o,a),r}if(n=v.exec(e))return S(t,parseInt(n[1],10)-1);if(n=g.exec(e)){return S(t,parseInt(n[1],10)-1,parseInt(n[2],10)-1)}return null}(T.restDateString,N);if(C){var P,M=C.getTime(),j=0;if(O.time&&(j=function(e){var t,n,r;if(t=y.exec(e))return(n=parseFloat(t[1].replace(",",".")))%24*i;if(t=b.exec(e))return n=parseInt(t[1],10),r=parseFloat(t[2].replace(",",".")),n%24*i+r*a;if(t=_.exec(e)){n=parseInt(t[1],10),r=parseInt(t[2],10);var o=parseFloat(t[3].replace(",","."));return n%24*i+r*a+1e3*o}return null}(O.time)),O.timezone)P=function(e){var t,n;if(t=x.exec(e))return 0;if(t=E.exec(e))return n=60*parseInt(t[2],10),"+"===t[1]?-n:n;if(t=k.exec(e))return n=60*parseInt(t[2],10)+parseInt(t[3],10),"+"===t[1]?-n:n;return 0}(O.timezone)*a;else{var D=M+j,A=new Date(D);P=r(A);var I=new Date(D);I.setDate(A.getDate()+1);var R=r(I)-r(A);R>0&&(P+=R)}return new Date(M+j+P)}return new Date(e)}},function(e,t,n){var r;!function(){"use strict";var n={}.hasOwnProperty;function o(){for(var e=[],t=0;t=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}function s(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a}var l=[];Object.freeze(l);var u={};function c(){return++_e.mobxGuid}function f(e){throw d(!1,e),"X"}function d(e,t){if(!e)throw new Error("[mobx] "+(t||"An invariant failed, however the error is obfuscated because this is an production build."))}Object.freeze(u);function p(e){var t=!1;return function(){if(!t)return t=!0,e.apply(this,arguments)}}var h=function(){};function m(e){return null!==e&&"object"==typeof e}function v(e){if(null===e||"object"!=typeof e)return!1;var t=Object.getPrototypeOf(e);return t===Object.prototype||null===t}function g(e,t,n){Object.defineProperty(e,t,{enumerable:!1,writable:!0,configurable:!0,value:n})}function y(e,t){var n="isMobX"+e;return t.prototype[n]=!0,function(e){return m(e)&&!0===e[n]}}function b(e){return e instanceof Map}function _(e){return e instanceof Set}function w(e){return null===e?null:"object"==typeof e?""+e:e}var x=Symbol("mobx administration"),E=function(){function e(e){void 0===e&&(e="Atom@"+c()),this.name=e,this.isPendingUnobservation=!1,this.isBeingObserved=!1,this.observers=new Set,this.diffValue=0,this.lastAccessedBy=0,this.lowestObserverState=te.NOT_TRACKING}return e.prototype.onBecomeObserved=function(){this.onBecomeObservedListeners&&this.onBecomeObservedListeners.forEach((function(e){return e()}))},e.prototype.onBecomeUnobserved=function(){this.onBecomeUnobservedListeners&&this.onBecomeUnobservedListeners.forEach((function(e){return e()}))},e.prototype.reportObserved=function(){return Te(this)},e.prototype.reportChanged=function(){Se(),function(e){if(e.lowestObserverState===te.STALE)return;e.lowestObserverState=te.STALE,e.observers.forEach((function(t){t.dependenciesState===te.UP_TO_DATE&&(t.isTracing!==re.NONE&&Ne(t,e),t.onBecomeStale()),t.dependenciesState=te.STALE}))}(this),Oe()},e.prototype.toString=function(){return this.name},e}(),k=y("Atom",E);function S(e,t,n){void 0===t&&(t=h),void 0===n&&(n=h);var r,o=new E(e);return t!==h&&$e("onBecomeObserved",o,t,r),n!==h&&function(e,t,n){$e("onBecomeUnobserved",e,t,n)}(o,n),o}var O={identity:function(e,t){return e===t},structural:function(e,t){return zt(e,t)},default:function(e,t){return Object.is(e,t)}},T=Symbol("mobx did run lazy initializers"),N=Symbol("mobx pending decorators"),C={},P={};function M(e,t){var n=t?C:P;return n[e]||(n[e]={configurable:!0,enumerable:t,get:function(){return j(this),this[e]},set:function(t){j(this),this[e]=t}})}function j(e){if(!0!==e[T]){var t=e[N];if(t)for(var n in g(e,T,!0),t){var r=t[n];r.propertyCreator(e,r.prop,r.descriptor,r.decoratorTarget,r.decoratorArguments)}}}function D(e,t){return function(){var n,r=function(r,o,a,s){if(!0===s)return t(r,o,a,r,n),null;if(!Object.prototype.hasOwnProperty.call(r,N)){var l=r[N];g(r,N,i({},l))}return r[N][o]={prop:o,propertyCreator:t,descriptor:a,decoratorTarget:r,decoratorArguments:n},M(o,e)};return A(arguments)?(n=l,r.apply(null,arguments)):(n=Array.prototype.slice.call(arguments),r)}}function A(e){return(2===e.length||3===e.length)&&"string"==typeof e[1]||4===e.length&&!0===e[3]}function I(e,t,n){return Ze(e)?e:Array.isArray(e)?$.array(e,{name:n}):v(e)?$.object(e,void 0,{name:n}):b(e)?$.map(e,{name:n}):_(e)?$.set(e,{name:n}):e}function R(e){return e}function z(t){d(t);var n=D(!0,(function(e,n,r,o,i){var a=r?r.initializer?r.initializer.call(e):r.value:void 0;Tt(e).addObservableProp(n,a,t)})),r=(void 0!==e&&e.env,n);return r.enhancer=t,r}var F={deep:!0,name:void 0,defaultDecorator:void 0,proxy:!0};function L(e){return null==e?F:"string"==typeof e?{name:e,deep:!0,proxy:!0}:e}Object.freeze(F);var U=z(I),B=z((function(e,t,n){return null==e||jt(e)||yt(e)||xt(e)||St(e)?e:Array.isArray(e)?$.array(e,{name:n,deep:!1}):v(e)?$.object(e,void 0,{name:n,deep:!1}):b(e)?$.map(e,{name:n,deep:!1}):_(e)?$.set(e,{name:n,deep:!1}):f(!1)})),H=z(R),V=z((function(e,t,n){return zt(e,t)?t:e}));function W(e){return e.defaultDecorator?e.defaultDecorator.enhancer:!1===e.deep?R:I}var Y={box:function(e,t){arguments.length>2&&q("box");var n=L(t);return new oe(e,W(n),n.name,!0,n.equals)},array:function(e,t){arguments.length>2&&q("array");var n=L(t);return pt(e,W(n),n.name)},map:function(e,t){arguments.length>2&&q("map");var n=L(t);return new wt(e,W(n),n.name)},set:function(e,t){arguments.length>2&&q("set");var n=L(t);return new kt(e,W(n),n.name)},object:function(e,t,n){"string"==typeof arguments[1]&&q("object");var r=L(n);if(!1===r.proxy)return Qe({},e,t,r);var o=Ge(r),i=Qe({},void 0,void 0,r),a=it(i);return Xe(a,e,t,o),a},ref:H,shallow:B,deep:U,struct:V},$=function(e,t,n){if("string"==typeof arguments[1])return U.apply(null,arguments);if(Ze(e))return e;var r=v(e)?$.object(e,t,n):Array.isArray(e)?$.array(e,t):b(e)?$.map(e,t):_(e)?$.set(e,t):e;if(r!==e)return r;f(!1)};function q(e){f("Expected one or two arguments to observable."+e+". Did you accidentally try to use observable."+e+" as decorator?")}Object.keys(Y).forEach((function(e){return $[e]=Y[e]}));var Q=D(!1,(function(e,t,n,r,o){var a=n.get,s=n.set,l=o[0]||{};Tt(e).addComputedProp(e,t,i({get:a,set:s,context:e},l))}));Q({equals:O.structural});function G(e,t){var n=function(){return X(e,t,this,arguments)};return n.isMobxAction=!0,n}function X(e,t,n,r){var o=function(e,t,n,r){var o=!1,i=0;var a=he();Se();var s=Z(!0);return{prevDerivation:a,prevAllowStateChanges:s,notifySpy:o,startTime:i}}(),i=!0;try{var a=t.apply(n,r);return i=!1,a}finally{i?(_e.suppressReactionErrors=i,K(o),_e.suppressReactionErrors=!1):K(o)}}function K(e){ee(e.prevAllowStateChanges),Oe(),me(e.prevDerivation),e.notifySpy}function J(e,t){var n,r=Z(e);try{n=t()}finally{ee(r)}return n}function Z(e){var t=_e.allowStateChanges;return _e.allowStateChanges=e,t}function ee(e){_e.allowStateChanges=e}var te,ne,re,oe=function(e){function t(t,n,r,o,i){void 0===r&&(r="ObservableValue@"+c()),void 0===o&&(o=!0),void 0===i&&(i=O.default);var a=e.call(this,r)||this;return a.enhancer=n,a.name=r,a.equals=i,a.hasUnreportedChange=!1,a.value=n(t,void 0,r),a}return function(e,t){function n(){this.constructor=e}o(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}(t,e),t.prototype.dehanceValue=function(e){return void 0!==this.dehancer?this.dehancer(e):e},t.prototype.set=function(e){this.value;if((e=this.prepareNewValue(e))!==_e.UNCHANGED){false,this.setNewValue(e)}},t.prototype.prepareNewValue=function(e){if(ce(this),at(this)){var t=lt(this,{object:this,type:"update",newValue:e});if(!t)return _e.UNCHANGED;e=t.newValue}return e=this.enhancer(e,this.value,this.name),this.equals(this.value,e)?_e.UNCHANGED:e},t.prototype.setNewValue=function(e){var t=this.value;this.value=e,this.reportChanged(),ut(this)&&ft(this,{type:"update",object:this,newValue:e,oldValue:t})},t.prototype.get=function(){return this.reportObserved(),this.dehanceValue(this.value)},t.prototype.intercept=function(e){return st(this,e)},t.prototype.observe=function(e,t){return t&&e({object:this,type:"update",newValue:this.value,oldValue:void 0}),ct(this,e)},t.prototype.toJSON=function(){return this.get()},t.prototype.toString=function(){return this.name+"["+this.value+"]"},t.prototype.valueOf=function(){return w(this.get())},t.prototype[Symbol.toPrimitive]=function(){return this.valueOf()},t}(E),ie=(y("ObservableValue",oe),function(){function e(e){this.dependenciesState=te.NOT_TRACKING,this.observing=[],this.newObserving=null,this.isBeingObserved=!1,this.isPendingUnobservation=!1,this.observers=new Set,this.diffValue=0,this.runId=0,this.lastAccessedBy=0,this.lowestObserverState=te.UP_TO_DATE,this.unboundDepsCount=0,this.__mapid="#"+c(),this.value=new se(null),this.isComputing=!1,this.isRunningSetter=!1,this.isTracing=re.NONE,this.derivation=e.get,this.name=e.name||"ComputedValue@"+c(),e.set&&(this.setter=G(this.name+"-setter",e.set)),this.equals=e.equals||(e.compareStructural||e.struct?O.structural:O.default),this.scope=e.context,this.requiresReaction=!!e.requiresReaction,this.keepAlive=!!e.keepAlive}return e.prototype.onBecomeStale=function(){!function(e){if(e.lowestObserverState!==te.UP_TO_DATE)return;e.lowestObserverState=te.POSSIBLY_STALE,e.observers.forEach((function(t){t.dependenciesState===te.UP_TO_DATE&&(t.dependenciesState=te.POSSIBLY_STALE,t.isTracing!==re.NONE&&Ne(t,e),t.onBecomeStale())}))}(this)},e.prototype.onBecomeObserved=function(){this.onBecomeObservedListeners&&this.onBecomeObservedListeners.forEach((function(e){return e()}))},e.prototype.onBecomeUnobserved=function(){this.onBecomeUnobservedListeners&&this.onBecomeUnobservedListeners.forEach((function(e){return e()}))},e.prototype.get=function(){this.isComputing&&f("Cycle detected in computation "+this.name+": "+this.derivation),0!==_e.inBatch||0!==this.observers.size||this.keepAlive?(Te(this),ue(this)&&this.trackAndCompute()&&function(e){if(e.lowestObserverState===te.STALE)return;e.lowestObserverState=te.STALE,e.observers.forEach((function(t){t.dependenciesState===te.POSSIBLY_STALE?t.dependenciesState=te.STALE:t.dependenciesState===te.UP_TO_DATE&&(e.lowestObserverState=te.UP_TO_DATE)}))}(this)):ue(this)&&(this.warnAboutUntrackedRead(),Se(),this.value=this.computeValue(!1),Oe());var e=this.value;if(le(e))throw e.cause;return e},e.prototype.peek=function(){var e=this.computeValue(!1);if(le(e))throw e.cause;return e},e.prototype.set=function(e){if(this.setter){d(!this.isRunningSetter,"The setter of computed value '"+this.name+"' is trying to update itself. Did you intend to update an _observable_ value, instead of the computed property?"),this.isRunningSetter=!0;try{this.setter.call(this.scope,e)}finally{this.isRunningSetter=!1}}else d(!1,!1)},e.prototype.trackAndCompute=function(){var e=this.value,t=this.dependenciesState===te.NOT_TRACKING,n=this.computeValue(!0),r=t||le(e)||le(n)||!this.equals(e,n);return r&&(this.value=n),r},e.prototype.computeValue=function(e){var t;if(this.isComputing=!0,_e.computationDepth++,e)t=fe(this,this.derivation,this.scope);else if(!0===_e.disableErrorBoundaries)t=this.derivation.call(this.scope);else try{t=this.derivation.call(this.scope)}catch(e){t=new se(e)}return _e.computationDepth--,this.isComputing=!1,t},e.prototype.suspend=function(){this.keepAlive||(de(this),this.value=void 0)},e.prototype.observe=function(e,t){var n=this,r=!0,o=void 0;return He((function(){var i=n.get();if(!r||t){var a=he();e({type:"update",object:n,newValue:i,oldValue:o}),me(a)}r=!1,o=i}))},e.prototype.warnAboutUntrackedRead=function(){},e.prototype.toJSON=function(){return this.get()},e.prototype.toString=function(){return this.name+"["+this.derivation.toString()+"]"},e.prototype.valueOf=function(){return w(this.get())},e.prototype[Symbol.toPrimitive]=function(){return this.valueOf()},e}()),ae=y("ComputedValue",ie);(ne=te||(te={}))[ne.NOT_TRACKING=-1]="NOT_TRACKING",ne[ne.UP_TO_DATE=0]="UP_TO_DATE",ne[ne.POSSIBLY_STALE=1]="POSSIBLY_STALE",ne[ne.STALE=2]="STALE",function(e){e[e.NONE=0]="NONE",e[e.LOG=1]="LOG",e[e.BREAK=2]="BREAK"}(re||(re={}));var se=function(e){this.cause=e};function le(e){return e instanceof se}function ue(e){switch(e.dependenciesState){case te.UP_TO_DATE:return!1;case te.NOT_TRACKING:case te.STALE:return!0;case te.POSSIBLY_STALE:for(var t=he(),n=e.observing,r=n.length,o=0;o0;_e.computationDepth>0&&t&&f(!1),_e.allowStateChanges||!t&&"strict"!==_e.enforceActions||f(!1)}function fe(e,t,n){ve(e),e.newObserving=new Array(e.observing.length+100),e.unboundDepsCount=0,e.runId=++_e.runId;var r,o=_e.trackingDerivation;if(_e.trackingDerivation=e,!0===_e.disableErrorBoundaries)r=t.call(n);else try{r=t.call(n)}catch(e){r=new se(e)}return _e.trackingDerivation=o,function(e){for(var t=e.observing,n=e.observing=e.newObserving,r=te.UP_TO_DATE,o=0,i=e.unboundDepsCount,a=0;ar&&(r=s.dependenciesState)}n.length=o,e.newObserving=null,i=t.length;for(;i--;){0===(s=t[i]).diffValue&&Ee(s,e),s.diffValue=0}for(;o--;){var s;1===(s=n[o]).diffValue&&(s.diffValue=0,xe(s,e))}r!==te.UP_TO_DATE&&(e.dependenciesState=r,e.onBecomeStale())}(e),r}function de(e){var t=e.observing;e.observing=[];for(var n=t.length;n--;)Ee(t[n],e);e.dependenciesState=te.NOT_TRACKING}function pe(e){var t=he();try{return e()}finally{me(t)}}function he(){var e=_e.trackingDerivation;return _e.trackingDerivation=null,e}function me(e){_e.trackingDerivation=e}function ve(e){if(e.dependenciesState!==te.UP_TO_DATE){e.dependenciesState=te.UP_TO_DATE;for(var t=e.observing,n=t.length;n--;)t[n].lowestObserverState=te.UP_TO_DATE}}var ge=function(){this.version=5,this.UNCHANGED={},this.trackingDerivation=null,this.computationDepth=0,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!0,this.enforceActions=!1,this.spyListeners=[],this.globalReactionErrorHandlers=[],this.computedRequiresReaction=!1,this.disableErrorBoundaries=!1,this.suppressReactionErrors=!1},ye=!0,be=!1,_e=function(){var e=we();return e.__mobxInstanceCount>0&&!e.__mobxGlobals&&(ye=!1),e.__mobxGlobals&&e.__mobxGlobals.version!==(new ge).version&&(ye=!1),ye?e.__mobxGlobals?(e.__mobxInstanceCount+=1,e.__mobxGlobals.UNCHANGED||(e.__mobxGlobals.UNCHANGED={}),e.__mobxGlobals):(e.__mobxInstanceCount=1,e.__mobxGlobals=new ge):(setTimeout((function(){be||f("There are multiple, different versions of MobX active. Make sure MobX is loaded only once or use `configure({ isolateGlobalState: true })`")}),1),new ge)}();function we(){return"undefined"!=typeof window?window:r}function xe(e,t){e.observers.add(t),e.lowestObserverState>t.dependenciesState&&(e.lowestObserverState=t.dependenciesState)}function Ee(e,t){e.observers.delete(t),0===e.observers.size&&ke(e)}function ke(e){!1===e.isPendingUnobservation&&(e.isPendingUnobservation=!0,_e.pendingUnobservations.push(e))}function Se(){_e.inBatch++}function Oe(){if(0==--_e.inBatch){je();for(var e=_e.pendingUnobservations,t=0;t0&&ke(e),!1)}function Ne(e,t){if(console.log("[mobx.trace] '"+e.name+"' is invalidated due to a change in: '"+t.name+"'"),e.isTracing===re.BREAK){var n=[];Ce(Ke(Dt(e,r)),n,1),new Function("debugger;\n/*\nTracing '"+e.name+"'\n\nYou are entering this break point because derivation '"+e.name+"' is being traced and '"+t.name+"' is now forcing it to update.\nJust follow the stacktrace you should now see in the devtools to see precisely what piece of your code is causing this update\nThe stackframe you are looking for is at least ~6-8 stack-frames up.\n\n"+(e instanceof ie?e.derivation.toString().replace(/[*]\//g,"/"):"")+"\n\nThe dependencies for this derivation are:\n\n"+n.join("\n")+"\n*/\n ")()}var r}function Ce(e,t,n){t.length>=1e3?t.push("(and many more)"):(t.push(""+new Array(n).join("\t")+e.name),e.dependencies&&e.dependencies.forEach((function(e){return Ce(e,t,n+1)})))}var Pe=function(){function e(e,t,n){void 0===e&&(e="Reaction@"+c()),this.name=e,this.onInvalidate=t,this.errorHandler=n,this.observing=[],this.newObserving=[],this.dependenciesState=te.NOT_TRACKING,this.diffValue=0,this.runId=0,this.unboundDepsCount=0,this.__mapid="#"+c(),this.isDisposed=!1,this._isScheduled=!1,this._isTrackPending=!1,this._isRunning=!1,this.isTracing=re.NONE}return e.prototype.onBecomeStale=function(){this.schedule()},e.prototype.schedule=function(){this._isScheduled||(this._isScheduled=!0,_e.pendingReactions.push(this),je())},e.prototype.isScheduled=function(){return this._isScheduled},e.prototype.runReaction=function(){if(!this.isDisposed){if(Se(),this._isScheduled=!1,ue(this)){this._isTrackPending=!0;try{this.onInvalidate(),this._isTrackPending}catch(e){this.reportExceptionInDerivation(e)}}Oe()}},e.prototype.track=function(e){Se();this._isRunning=!0;var t=fe(this,e,void 0);this._isRunning=!1,this._isTrackPending=!1,this.isDisposed&&de(this),le(t)&&this.reportExceptionInDerivation(t.cause),Oe()},e.prototype.reportExceptionInDerivation=function(e){var t=this;if(this.errorHandler)this.errorHandler(e,this);else{if(_e.disableErrorBoundaries)throw e;var n="[mobx] Encountered an uncaught exception that was thrown by a reaction or observer component, in: '"+this+"'";_e.suppressReactionErrors?console.warn("[mobx] (error in reaction '"+this.name+"' suppressed, fix error of causing action below)"):console.error(n,e),_e.globalReactionErrorHandlers.forEach((function(n){return n(e,t)}))}},e.prototype.dispose=function(){this.isDisposed||(this.isDisposed=!0,this._isRunning||(Se(),de(this),Oe()))},e.prototype.getDisposer=function(){var e=this.dispose.bind(this);return e[x]=this,e},e.prototype.toString=function(){return"Reaction["+this.name+"]"},e.prototype.trace=function(e){void 0===e&&(e=!1),function(){for(var e=[],t=0;t0||_e.isRunningReactions||Me(De)}function De(){_e.isRunningReactions=!0;for(var e=_e.pendingReactions,t=0;e.length>0;){100==++t&&(console.error("Reaction doesn't converge to a stable state after 100 iterations. Probably there is a cycle in the reactive function: "+e[0]),e.splice(0));for(var n=e.splice(0),r=0,o=n.length;r",e):2===arguments.length&&"function"==typeof t?G(e,t):1===arguments.length&&"string"==typeof e?Fe(e):!0!==r?Fe(t).apply(null,arguments):void g(e,t,G(e.name||t,n.value))};function Be(e,t,n){g(e,t,G(t,n.bind(e)))}function He(e,t){void 0===t&&(t=u);var n,r=t&&t.name||e.name||"Autorun@"+c();if(!t.scheduler&&!t.delay)n=new Pe(r,(function(){this.track(a)}),t.onError);else{var o=We(t),i=!1;n=new Pe(r,(function(){i||(i=!0,o((function(){i=!1,n.isDisposed||n.track(a)})))}),t.onError)}function a(){e(n)}return n.schedule(),n.getDisposer()}Ue.bound=function(e,t,n,r){return!0===r?(Be(e,t,n.value),null):n?{configurable:!0,enumerable:!1,get:function(){return Be(this,t,n.value||n.initializer.call(this)),this[t]},set:ze}:{enumerable:!1,configurable:!0,set:function(e){Be(this,t,e)},get:function(){}}};var Ve=function(e){return e()};function We(e){return e.scheduler?e.scheduler:e.delay?function(t){return setTimeout(t,e.delay)}:Ve}function Ye(e,t,n){void 0===n&&(n=u);var r,o,i,a=n.name||"Reaction@"+c(),s=Ue(a,n.onError?(r=n.onError,o=t,function(){try{return o.apply(this,arguments)}catch(e){r.call(this,e)}}):t),l=!n.scheduler&&!n.delay,f=We(n),d=!0,p=!1,h=n.compareStructural?O.structural:n.equals||O.default,m=new Pe(a,(function(){d||l?v():p||(p=!0,f(v))}),n.onError);function v(){if(p=!1,!m.isDisposed){var t=!1;m.track((function(){var n=e(m);t=d||!h(i,n),i=n})),d&&n.fireImmediately&&s(i,m),d||!0!==t||s(i,m),d&&(d=!1)}}return m.schedule(),m.getDisposer()}function $e(e,t,n,r){var o="string"==typeof n?Dt(t,n):Dt(t),i="string"==typeof n?r:n,a=e+"Listeners";return o[a]?o[a].add(i):o[a]=new Set([i]),"function"!=typeof o[e]?f(!1):function(){var e=o[a];e&&(e.delete(i),0===e.size&&delete o[a])}}function qe(e){var t=e.enforceActions,n=e.computedRequiresReaction,r=e.disableErrorBoundaries,o=e.reactionScheduler;if(!0===e.isolateGlobalState&&((_e.pendingReactions.length||_e.inBatch||_e.isRunningReactions)&&f("isolateGlobalState should be called before MobX is running any reactions"),be=!0,ye&&(0==--we().__mobxInstanceCount&&(we().__mobxGlobals=void 0),_e=new ge)),void 0!==t){var i=void 0;switch(t){case!0:case"observed":i=!0;break;case!1:case"never":i=!1;break;case"strict":case"always":i="strict";break;default:f("Invalid value for 'enforceActions': '"+t+"', expected 'never', 'always' or 'observed'")}_e.enforceActions=i,_e.allowStateChanges=!0!==i&&"strict"!==i}void 0!==n&&(_e.computedRequiresReaction=!!n),void 0!==r&&(!0===r&&console.warn("WARNING: Debug feature only. MobX will NOT recover from errors when `disableErrorBoundaries` is enabled."),_e.disableErrorBoundaries=!!r),o&&Ie(o)}function Qe(e,t,n,r){var o=Ge(r=L(r));return j(e),Tt(e,r.name,o.enhancer),t&&Xe(e,t,n,o),e}function Ge(e){return e.defaultDecorator||(!1===e.deep?H:U)}function Xe(e,t,n,r){Se();try{for(var o in t){var i=Object.getOwnPropertyDescriptor(t,o);0;var a=(n&&o in n?n[o]:i.get?Q:r)(e,o,i,!0);a&&Object.defineProperty(e,o,a)}}finally{Oe()}}function Ke(e){var t,n,r={name:e.name};return e.observing&&e.observing.length>0&&(r.dependencies=(t=e.observing,n=[],t.forEach((function(e){-1===n.indexOf(e)&&n.push(e)})),n).map(Ke)),r}function Je(e,t){return null!=e&&(void 0!==t?!!jt(e)&&e[x].values.has(t):jt(e)||!!e[x]||k(e)||Ae(e)||ae(e))}function Ze(e){return 1!==arguments.length&&f(!1),Je(e)}function et(e,t,n){if(2!==arguments.length)if(jt(e)){var r=e[x],o=r.values.get(t);o?r.write(t,n):r.addObservableProp(t,n,r.defaultEnhancer)}else if(xt(e))e.set(t,n);else{if(!yt(e))return f(!1);"number"!=typeof t&&(t=parseInt(t,10)),d(t>=0,"Not a valid index: '"+t+"'"),Se(),t>=e.length&&(e.length=t+1),e[t]=n,Oe()}else{Se();var i=t;try{for(var a in i)et(e,a,i[a])}finally{Oe()}}}function tt(e){switch(e.length){case 0:return _e.trackingDerivation;case 1:return Dt(e[0]);case 2:return Dt(e[0],e[1])}}function nt(e,t){void 0===t&&(t=void 0),Se();try{return e.apply(t)}finally{Oe()}}function rt(e){return e[x]}var ot={has:function(e,t){if(t===x||"constructor"===t||t===T)return!0;var n=rt(e);return"string"==typeof t?n.has(t):t in e},get:function(e,t){if(t===x||"constructor"===t||t===T)return e[t];var n=rt(e),r=n.values.get(t);if(r instanceof E){var o=r.get();return void 0===o&&n.has(t),o}return"string"==typeof t&&n.has(t),e[t]},set:function(e,t,n){return"string"==typeof t&&(et(e,t,n),!0)},deleteProperty:function(e,t){return"string"==typeof t&&(rt(e).remove(t),!0)},ownKeys:function(e){return rt(e).keysAtom.reportObserved(),Reflect.ownKeys(e)},preventExtensions:function(e){return f("Dynamic observable objects cannot be frozen"),!1}};function it(e){var t=new Proxy(e,ot);return e[x].proxy=t,t}function at(e){return void 0!==e.interceptors&&e.interceptors.length>0}function st(e,t){var n=e.interceptors||(e.interceptors=[]);return n.push(t),p((function(){var e=n.indexOf(t);-1!==e&&n.splice(e,1)}))}function lt(e,t){var n=he();try{var r=e.interceptors;if(r)for(var o=0,i=r.length;o0}function ct(e,t){var n=e.changeListeners||(e.changeListeners=[]);return n.push(t),p((function(){var e=n.indexOf(t);-1!==e&&n.splice(e,1)}))}function ft(e,t){var n=he(),r=e.changeListeners;if(r){for(var o=0,i=(r=r.slice()).length;o0?e.map(this.dehancer):e},e.prototype.intercept=function(e){return st(this,e)},e.prototype.observe=function(e,t){return void 0===t&&(t=!1),t&&e({object:this.proxy,type:"splice",index:0,added:this.values.slice(),addedCount:this.values.length,removed:[],removedCount:0}),ct(this,e)},e.prototype.getArrayLength=function(){return this.atom.reportObserved(),this.values.length},e.prototype.setArrayLength=function(e){if("number"!=typeof e||e<0)throw new Error("[mobx.array] Out of range: "+e);var t=this.values.length;if(e!==t)if(e>t){for(var n=new Array(e-t),r=0;ro?e=o:e<0&&(e=Math.max(0,o+e)),t=1===arguments.length?o-e:null==t?0:Math.max(0,Math.min(t,o-e)),void 0===n&&(n=l),at(this)){var i=lt(this,{object:this.proxy,type:"splice",index:e,removedCount:t,added:n});if(!i)return l;t=i.removedCount,n=i.added}n=0===n.length?n:n.map((function(e){return r.enhancer(e,void 0)}));var a=this.spliceItemsIntoValues(e,t,n);return 0===t&&0===n.length||this.notifyArraySplice(e,n,a),this.dehanceValues(a)},e.prototype.spliceItemsIntoValues=function(e,t,n){var r;if(n.length<1e4)return(r=this.values).splice.apply(r,function(){for(var e=[],t=0;t-1&&(this.splice(n,1),!0)},get:function(e){var t=this[x];if(t){if(e=a.getTime()?n+1:t.getTime()>=l.getTime()?n:n-1}},function(e,t,n){var r=n(34);e.exports=function(e){return r(e,{weekStartsOn:1})}},function(e,t,n){var r=n(2);e.exports=function(e){var t=r(e);return t.setHours(0,0,0,0),t}},function(e,t,n){"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=n(127)},function(e,t,n){var r=n(27),o=n(132),i=n(133),a=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":a&&a in Object(e)?o(e):i(e)}},function(e,t){e.exports=function(e){return null!=e&&"object"==typeof e}},function(e,t,n){var r=n(140),o=n(143);e.exports=function(e,t){var n=o(e,t);return r(n)?n:void 0}},function(e,t,n){var r;!function(){"use strict";var n={}.hasOwnProperty;function o(){for(var e=[],t=0;to?1:0}},function(e,t,n){var r=n(62);e.exports=function(e,t,n){var o=null==e?void 0:r(e,t);return void 0===o?n:o}},function(e,t,n){!function(e){"object"==typeof window&&window||"object"==typeof self&&self;(function(e){var t,n=[],r=Object.keys,o={},i={},a=/^(no-?highlight|plain|text)$/i,s=/\blang(?:uage)?-([\w-]+)\b/i,l=/((^(<[^>]+>|\t|)+|(?:\n)))/gm,u="",c={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0};function f(e){return e.replace(/&/g,"&").replace(//g,">")}function d(e){return e.nodeName.toLowerCase()}function p(e,t){var n=e&&e.exec(t);return n&&0===n.index}function h(e){return a.test(e)}function m(e){var t,n,r,o,i=e.className+" ";if(i+=e.parentNode?e.parentNode.className:"",n=s.exec(i))return j(n[1])?n[1]:"no-highlight";for(t=0,r=(i=i.split(/\s+/)).length;t"}function u(e){i+=""}function c(e){("start"===e.event?l:u)(e.node)}for(;e.length||t.length;){var p=s();if(i+=f(r.substring(o,p[0].offset)),o=p[0].offset,p===e){a.reverse().forEach(u);do{c(p.splice(0,1)[0]),p=s()}while(p===e&&p.length&&p[0].offset===o);a.reverse().forEach(l)}else"start"===p[0].event?a.push(p[0].node):a.pop(),c(p.splice(0,1)[0])}return i+f(r.substr(o))}function b(e){return e.variants&&!e.cached_variants&&(e.cached_variants=e.variants.map((function(t){return v(e,{variants:null},t)}))),e.cached_variants||e.endsWithParent&&[v(e)]||[e]}function _(e){if(t&&!e.langApiRestored){for(var n in e.langApiRestored=!0,t)e[n]&&(e[t[n]]=e[n]);(e.contains||[]).concat(e.variants||[]).forEach(_)}}function w(e){function t(e){return e&&e.source||e}function n(n,r){return new RegExp(t(n),"m"+(e.case_insensitive?"i":"")+(r?"g":""))}function o(e,n){for(var r=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./,o=0,i="",a=0;a0&&(i+=n);l.length>0;){var u=r.exec(l);if(null==u){i+=l;break}i+=l.substring(0,u.index),l=l.substring(u.index+u[0].length),"\\"==u[0][0]&&u[1]?i+="\\"+String(Number(u[1])+s):(i+=u[0],"("==u[0]&&o++)}}return i}function i(a,s){if(!a.compiled){if(a.compiled=!0,a.keywords=a.keywords||a.beginKeywords,a.keywords){var l={},u=function(t,n){e.case_insensitive&&(n=n.toLowerCase()),n.split(" ").forEach((function(e){var n=e.split("|");l[n[0]]=[t,n[1]?Number(n[1]):1]}))};"string"==typeof a.keywords?u("keyword",a.keywords):r(a.keywords).forEach((function(e){u(e,a.keywords[e])})),a.keywords=l}a.lexemesRe=n(a.lexemes||/\w+/,!0),s&&(a.beginKeywords&&(a.begin="\\b("+a.beginKeywords.split(" ").join("|")+")\\b"),a.begin||(a.begin=/\B|\b/),a.beginRe=n(a.begin),a.endSameAsBegin&&(a.end=a.begin),a.end||a.endsWithParent||(a.end=/\B|\b/),a.end&&(a.endRe=n(a.end)),a.terminator_end=t(a.end)||"",a.endsWithParent&&s.terminator_end&&(a.terminator_end+=(a.end?"|":"")+s.terminator_end)),a.illegal&&(a.illegalRe=n(a.illegal)),null==a.relevance&&(a.relevance=1),a.contains||(a.contains=[]),a.contains=Array.prototype.concat.apply([],a.contains.map((function(e){return b("self"===e?a:e)}))),a.contains.forEach((function(e){i(e,a)})),a.starts&&i(a.starts,s);var c=a.contains.map((function(e){return e.beginKeywords?"\\.?(?:"+e.begin+")\\.?":e.begin})).concat([a.terminator_end,a.illegal]).map(t).filter(Boolean);a.terminators=c.length?n(o(c,"|"),!0):{exec:function(){return null}}}}i(e)}function x(e,t,n,r){function i(e){return new RegExp(e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")}function a(e,t){var n,r;for(n=0,r=t.contains.length;n')+t+(n?"":u)}function m(){var e,t,n,r;if(!S.keywords)return f(N);for(r="",t=0,S.lexemesRe.lastIndex=0,n=S.lexemesRe.exec(N);n;)r+=f(N.substring(t,n.index)),(e=d(S,n))?(C+=e[1],r+=h(e[0],f(n[0]))):r+=f(n[0]),t=S.lexemesRe.lastIndex,n=S.lexemesRe.exec(N);return r+f(N.substr(t))}function v(){var e="string"==typeof S.subLanguage;if(e&&!o[S.subLanguage])return f(N);var t=e?x(S.subLanguage,N,!0,O[S.subLanguage]):E(N,S.subLanguage.length?S.subLanguage:void 0);return S.relevance>0&&(C+=t.relevance),e&&(O[S.subLanguage]=t.top),h(t.language,t.value,!1,!0)}function g(){T+=null!=S.subLanguage?v():m(),N=""}function y(e){T+=e.className?h(e.className,"",!0):"",S=Object.create(e,{parent:{value:S}})}function b(e,t){if(N+=e,null==t)return g(),0;var n=a(t,S);if(n)return n.skip?N+=t:(n.excludeBegin&&(N+=t),g(),n.returnBegin||n.excludeBegin||(N=t)),y(n,t),n.returnBegin?0:t.length;var r=s(S,t);if(r){var o=S;o.skip?N+=t:(o.returnEnd||o.excludeEnd||(N+=t),g(),o.excludeEnd&&(N=t));do{S.className&&(T+=u),S.skip||S.subLanguage||(C+=S.relevance),S=S.parent}while(S!==r.parent);return r.starts&&(r.endSameAsBegin&&(r.starts.endRe=r.endRe),y(r.starts,"")),o.returnEnd?0:t.length}if(l(t,S))throw new Error('Illegal lexeme "'+t+'" for mode "'+(S.className||"")+'"');return N+=t,t.length||1}var _=j(e);if(!_)throw new Error('Unknown language: "'+e+'"');w(_);var k,S=r||_,O={},T="";for(k=S;k!==_;k=k.parent)k.className&&(T=h(k.className,"",!0)+T);var N="",C=0;try{for(var P,M,D=0;S.terminators.lastIndex=D,P=S.terminators.exec(t);)M=b(t.substring(D,P.index),P[0]),D=P.index+M;for(b(t.substr(D)),k=S;k.parent;k=k.parent)k.className&&(T+=u);return{relevance:C,value:T,language:e,top:S}}catch(e){if(e.message&&-1!==e.message.indexOf("Illegal"))return{relevance:0,value:f(t)};throw e}}function E(e,t){t=t||c.languages||r(o);var n={relevance:0,value:f(e)},i=n;return t.filter(j).filter(D).forEach((function(t){var r=x(t,e,!1);r.language=t,r.relevance>i.relevance&&(i=r),r.relevance>n.relevance&&(i=n,n=r)})),i.language&&(n.second_best=i),n}function k(e){return c.tabReplace||c.useBR?e.replace(l,(function(e,t){return c.useBR&&"\n"===e?"
":c.tabReplace?t.replace(/\t/g,c.tabReplace):""})):e}function S(e,t,n){var r=t?i[t]:n,o=[e.trim()];return e.match(/\bhljs\b/)||o.push("hljs"),-1===e.indexOf(r)&&o.push(r),o.join(" ").trim()}function O(e){var t,n,r,o,i,a=m(e);h(a)||(c.useBR?(t=document.createElementNS("http://www.w3.org/1999/xhtml","div")).innerHTML=e.innerHTML.replace(/\n/g,"").replace(//g,"\n"):t=e,i=t.textContent,r=a?x(a,i,!0):E(i),(n=g(t)).length&&((o=document.createElementNS("http://www.w3.org/1999/xhtml","div")).innerHTML=r.value,r.value=y(n,g(o),i)),r.value=k(r.value),e.innerHTML=r.value,e.className=S(e.className,a,r.language),e.result={language:r.language,re:r.relevance},r.second_best&&(e.second_best={language:r.second_best.language,re:r.second_best.relevance}))}function T(e){c=v(c,e)}function N(){if(!N.called){N.called=!0;var e=document.querySelectorAll("pre code");n.forEach.call(e,O)}}function C(){addEventListener("DOMContentLoaded",N,!1),addEventListener("load",N,!1)}function P(t,n){var r=o[t]=n(e);_(r),r.aliases&&r.aliases.forEach((function(e){i[e]=t}))}function M(){return r(o)}function j(e){return e=(e||"").toLowerCase(),o[e]||o[i[e]]}function D(e){var t=j(e);return t&&!t.disableAutodetect}e.highlight=x,e.highlightAuto=E,e.fixMarkup=k,e.highlightBlock=O,e.configure=T,e.initHighlighting=N,e.initHighlightingOnLoad=C,e.registerLanguage=P,e.listLanguages=M,e.getLanguage=j,e.autoDetection=D,e.inherit=v,e.IDENT_RE="[a-zA-Z]\\w*",e.UNDERSCORE_IDENT_RE="[a-zA-Z_]\\w*",e.NUMBER_RE="\\b\\d+(\\.\\d+)?",e.C_NUMBER_RE="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",e.BINARY_NUMBER_RE="\\b(0b[01]+)",e.RE_STARTERS_RE="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",e.BACKSLASH_ESCAPE={begin:"\\\\[\\s\\S]",relevance:0},e.APOS_STRING_MODE={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},e.QUOTE_STRING_MODE={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},e.PHRASAL_WORDS_MODE={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},e.COMMENT=function(t,n,r){var o=e.inherit({className:"comment",begin:t,end:n,contains:[]},r||{});return o.contains.push(e.PHRASAL_WORDS_MODE),o.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|XXX):",relevance:0}),o},e.C_LINE_COMMENT_MODE=e.COMMENT("//","$"),e.C_BLOCK_COMMENT_MODE=e.COMMENT("/\\*","\\*/"),e.HASH_COMMENT_MODE=e.COMMENT("#","$"),e.NUMBER_MODE={className:"number",begin:e.NUMBER_RE,relevance:0},e.C_NUMBER_MODE={className:"number",begin:e.C_NUMBER_RE,relevance:0},e.BINARY_NUMBER_MODE={className:"number",begin:e.BINARY_NUMBER_RE,relevance:0},e.CSS_NUMBER_MODE={className:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},e.REGEXP_MODE={className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[e.BACKSLASH_ESCAPE]}]},e.TITLE_MODE={className:"title",begin:e.IDENT_RE,relevance:0},e.UNDERSCORE_TITLE_MODE={className:"title",begin:e.UNDERSCORE_IDENT_RE,relevance:0},e.METHOD_GUARD={begin:"\\.\\s*"+e.UNDERSCORE_IDENT_RE,relevance:0}})(t)}()},function(e,t,n){var r=n(14),o=n(15);e.exports=function(e){return"symbol"==typeof e||o(e)&&"[object Symbol]"==r(e)}},function(e,t,n){var r=n(8).Symbol;e.exports=r},function(e,t,n){var r=n(16)(Object,"create");e.exports=r},function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},function(e,t,n){var r=n(148),o=n(149),i=n(150),a=n(151),s=n(152);function l(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t-1&&e%1==0&&e<=9007199254740991}},function(e,t,n){var r=n(38),o=n(49);e.exports=function(e){return null!=e&&o(e.length)&&!r(e)}},function(e,t){e.exports=function(e){return e instanceof Date}},function(e,t,n){var r=n(2);e.exports=function(e){var t=r(e),n=t.getFullYear(),o=t.getMonth(),i=new Date(0);return i.setFullYear(n,o+1,0),i.setHours(0,0,0,0),i.getDate()}},function(e,t,n){var r=n(20);e.exports=function(e,t){var n=Number(t);return r(e,7*n)}},function(e,t,n){var r=n(2);e.exports=function(e,t){var n=r(e).getTime(),o=r(t).getTime();return n>o?-1:n0?Math.floor(n):Math.ceil(n)}},function(e,t,n){var r=n(211),o=n(212);e.exports={distanceInWords:r(),format:o()}},function(e,t,n){var r=n(2);e.exports=function(e){var t=r(e);return t.setHours(23,59,59,999),t}},function(e,t,n){var r=n(2),o=n(11),i=n(22);e.exports=function(e){var t=r(e),n=o(t).getTime()-i(t).getTime();return Math.round(n/6048e5)+1}},function(e,t,n){var r=n(34);e.exports=function(e,t,n){var o=r(e,n),i=r(t,n);return o.getTime()===i.getTime()}},function(e,t,n){"use strict";var r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;function a(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,s,l=a(e),u=1;uc))return!1;var d=l.get(e);if(d&&l.get(t))return d==t;var p=-1,h=!0,m=2&n?new r:void 0;for(l.set(e,t),l.set(t,e);++p-1&&e%1==0&&e0?(p=o(e),h=o(t)):(p=o(t),h=o(e));var v,g=i(h,p),y=h.getTimezoneOffset()-p.getTimezoneOffset(),b=Math.round(g/60)-y;if(b<2)return u.includeSeconds?g<5?d("lessThanXSeconds",5,m):g<10?d("lessThanXSeconds",10,m):g<20?d("lessThanXSeconds",20,m):g<40?d("halfAMinute",null,m):d(g<60?"lessThanXMinutes":"xMinutes",1,m):0===b?d("lessThanXMinutes",1,m):d("xMinutes",b,m);if(b<45)return d("xMinutes",b,m);if(b<90)return d("aboutXHours",1,m);if(b<1440)return d("aboutXHours",Math.round(b/60),m);if(b<2520)return d("xDays",1,m);if(b{if(!Number.isFinite(e))throw new TypeError("Expected a finite number");t.colonNotation&&(t.compact=!1,t.formatSubMilliseconds=!1,t.separateMilliseconds=!1,t.verbose=!1),t.compact&&(t.secondsDecimalDigits=0,t.millisecondsDecimalDigits=0);const n=[],o=(e,r,o,i)=>{if(!(0!==n.length&&t.colonNotation||0!==e||t.colonNotation&&"m"===o))return;let a,s;if(i=(i||e||"0").toString(),t.colonNotation){a=n.length>0?":":"",s="";const e=i.includes(".")?i.split(".")[0].length:i.length,t=n.length>0?2:1;i="0".repeat(Math.max(0,t-e))+i}else a="",s=t.verbose?" "+(l=r,1===e?l:`${l}s`):o;var l;n.push(a+i+s)},i=r(e);if(o(Math.trunc(i.days/365),"year","y"),o(i.days%365,"day","d"),o(i.hours,"hour","h"),o(i.minutes,"minute","m"),t.separateMilliseconds||t.formatSubMilliseconds||e<1e3)if(o(i.seconds,"second","s"),t.formatSubMilliseconds)o(i.milliseconds,"millisecond","ms"),o(i.microseconds,"microsecond","µs"),o(i.nanoseconds,"nanosecond","ns");else{const e=i.milliseconds+i.microseconds/1e3+i.nanoseconds/1e6,n="number"==typeof t.millisecondsDecimalDigits?t.millisecondsDecimalDigits:0,r=e>=1?Math.round(e):Math.ceil(e),a=n?e.toFixed(n):r;o(Number.parseFloat(a,10),"millisecond","ms",a)}else{const n=((e,t)=>{const n=Math.floor(e*10**t+1e-7);return(Math.round(n)/10**t).toFixed(t)})(e/1e3%60,"number"==typeof t.secondsDecimalDigits?t.secondsDecimalDigits:1),r=t.keepDecimalsOnWholeSeconds?n:n.replace(/\.0+$/,"");o(Number.parseFloat(r,10),"second","s",r)}if(0===n.length)return"0"+(t.verbose?" milliseconds":"ms");if(t.compact)return n[0];if("number"==typeof t.unitCount){const e=t.colonNotation?"":" ";return n.slice(0,Math.max(t.unitCount,1)).join(e)}return t.colonNotation?n.join(""):n.join(" ")}},function(e,t,n){e.exports={"trans-color":"footer--trans-color---205XF",component:"footer--component---1WcTR"}},function(e){e.exports={"3d_rotation":"e84d",ac_unit:"eb3b",access_alarm:"e190",access_alarms:"e191",access_time:"e192",accessibility:"e84e",accessible:"e914",account_balance:"e84f",account_balance_wallet:"e850",account_box:"e851",account_circle:"e853",adb:"e60e",add:"e145",add_a_photo:"e439",add_alarm:"e193",add_alert:"e003",add_box:"e146",add_circle:"e147",add_circle_outline:"e148",add_location:"e567",add_shopping_cart:"e854",add_to_photos:"e39d",add_to_queue:"e05c",adjust:"e39e",airline_seat_flat:"e630",airline_seat_flat_angled:"e631",airline_seat_individual_suite:"e632",airline_seat_legroom_extra:"e633",airline_seat_legroom_normal:"e634",airline_seat_legroom_reduced:"e635",airline_seat_recline_extra:"e636",airline_seat_recline_normal:"e637",airplanemode_active:"e195",airplanemode_inactive:"e194",airplay:"e055",airport_shuttle:"eb3c",alarm:"e855",alarm_add:"e856",alarm_off:"e857",alarm_on:"e858",album:"e019",all_inclusive:"eb3d",all_out:"e90b",android:"e859",announcement:"e85a",apps:"e5c3",archive:"e149",arrow_back:"e5c4",arrow_downward:"e5db",arrow_drop_down:"e5c5",arrow_drop_down_circle:"e5c6",arrow_drop_up:"e5c7",arrow_forward:"e5c8",arrow_upward:"e5d8",art_track:"e060",aspect_ratio:"e85b",assessment:"e85c",assignment:"e85d",assignment_ind:"e85e",assignment_late:"e85f",assignment_return:"e860",assignment_returned:"e861",assignment_turned_in:"e862",assistant:"e39f",assistant_photo:"e3a0",attach_file:"e226",attach_money:"e227",attachment:"e2bc",audiotrack:"e3a1",autorenew:"e863",av_timer:"e01b",backspace:"e14a",backup:"e864",battery_alert:"e19c",battery_charging_full:"e1a3",battery_full:"e1a4",battery_std:"e1a5",battery_unknown:"e1a6",beach_access:"eb3e",beenhere:"e52d",block:"e14b",bluetooth:"e1a7",bluetooth_audio:"e60f",bluetooth_connected:"e1a8",bluetooth_disabled:"e1a9",bluetooth_searching:"e1aa",blur_circular:"e3a2",blur_linear:"e3a3",blur_off:"e3a4",blur_on:"e3a5",book:"e865",bookmark:"e866",bookmark_border:"e867",border_all:"e228",border_bottom:"e229",border_clear:"e22a",border_color:"e22b",border_horizontal:"e22c",border_inner:"e22d",border_left:"e22e",border_outer:"e22f",border_right:"e230",border_style:"e231",border_top:"e232",border_vertical:"e233",branding_watermark:"e06b",brightness_1:"e3a6",brightness_2:"e3a7",brightness_3:"e3a8",brightness_4:"e3a9",brightness_5:"e3aa",brightness_6:"e3ab",brightness_7:"e3ac",brightness_auto:"e1ab",brightness_high:"e1ac",brightness_low:"e1ad",brightness_medium:"e1ae",broken_image:"e3ad",brush:"e3ae",bubble_chart:"e6dd",bug_report:"e868",build:"e869",burst_mode:"e43c",business:"e0af",business_center:"eb3f",cached:"e86a",cake:"e7e9",call:"e0b0",call_end:"e0b1",call_made:"e0b2",call_merge:"e0b3",call_missed:"e0b4",call_missed_outgoing:"e0e4",call_received:"e0b5",call_split:"e0b6",call_to_action:"e06c",camera:"e3af",camera_alt:"e3b0",camera_enhance:"e8fc",camera_front:"e3b1",camera_rear:"e3b2",camera_roll:"e3b3",cancel:"e5c9",card_giftcard:"e8f6",card_membership:"e8f7",card_travel:"e8f8",casino:"eb40",cast:"e307",cast_connected:"e308",center_focus_strong:"e3b4",center_focus_weak:"e3b5",change_history:"e86b",chat:"e0b7",chat_bubble:"e0ca",chat_bubble_outline:"e0cb",check:"e5ca",check_box:"e834",check_box_outline_blank:"e835",check_circle:"e86c",chevron_left:"e5cb",chevron_right:"e5cc",child_care:"eb41",child_friendly:"eb42",chrome_reader_mode:"e86d",class:"e86e",clear:"e14c",clear_all:"e0b8",close:"e5cd",closed_caption:"e01c",cloud:"e2bd",cloud_circle:"e2be",cloud_done:"e2bf",cloud_download:"e2c0",cloud_off:"e2c1",cloud_queue:"e2c2",cloud_upload:"e2c3",code:"e86f",collections:"e3b6",collections_bookmark:"e431",color_lens:"e3b7",colorize:"e3b8",comment:"e0b9",compare:"e3b9",compare_arrows:"e915",computer:"e30a",confirmation_number:"e638",contact_mail:"e0d0",contact_phone:"e0cf",contacts:"e0ba",content_copy:"e14d",content_cut:"e14e",content_paste:"e14f",control_point:"e3ba",control_point_duplicate:"e3bb",copyright:"e90c",create:"e150",create_new_folder:"e2cc",credit_card:"e870",crop:"e3be",crop_16_9:"e3bc",crop_3_2:"e3bd",crop_5_4:"e3bf",crop_7_5:"e3c0",crop_din:"e3c1",crop_free:"e3c2",crop_landscape:"e3c3",crop_original:"e3c4",crop_portrait:"e3c5",crop_rotate:"e437",crop_square:"e3c6",dashboard:"e871",data_usage:"e1af",date_range:"e916",dehaze:"e3c7",delete:"e872",delete_forever:"e92b",delete_sweep:"e16c",description:"e873",desktop_mac:"e30b",desktop_windows:"e30c",details:"e3c8",developer_board:"e30d",developer_mode:"e1b0",device_hub:"e335",devices:"e1b1",devices_other:"e337",dialer_sip:"e0bb",dialpad:"e0bc",directions:"e52e",directions_bike:"e52f",directions_boat:"e532",directions_bus:"e530",directions_car:"e531",directions_railway:"e534",directions_run:"e566",directions_subway:"e533",directions_transit:"e535",directions_walk:"e536",disc_full:"e610",dns:"e875",do_not_disturb:"e612",do_not_disturb_alt:"e611",do_not_disturb_off:"e643",do_not_disturb_on:"e644",dock:"e30e",domain:"e7ee",done:"e876",done_all:"e877",donut_large:"e917",donut_small:"e918",drafts:"e151",drag_handle:"e25d",drive_eta:"e613",dvr:"e1b2",edit:"e3c9",edit_location:"e568",eject:"e8fb",email:"e0be",enhanced_encryption:"e63f",equalizer:"e01d",error:"e000",error_outline:"e001",euro_symbol:"e926",ev_station:"e56d",event:"e878",event_available:"e614",event_busy:"e615",event_note:"e616",event_seat:"e903",exit_to_app:"e879",expand_less:"e5ce",expand_more:"e5cf",explicit:"e01e",explore:"e87a",exposure:"e3ca",exposure_neg_1:"e3cb",exposure_neg_2:"e3cc",exposure_plus_1:"e3cd",exposure_plus_2:"e3ce",exposure_zero:"e3cf",extension:"e87b",face:"e87c",fast_forward:"e01f",fast_rewind:"e020",favorite:"e87d",favorite_border:"e87e",featured_play_list:"e06d",featured_video:"e06e",feedback:"e87f",fiber_dvr:"e05d",fiber_manual_record:"e061",fiber_new:"e05e",fiber_pin:"e06a",fiber_smart_record:"e062",file_download:"e2c4",file_upload:"e2c6",filter:"e3d3",filter_1:"e3d0",filter_2:"e3d1",filter_3:"e3d2",filter_4:"e3d4",filter_5:"e3d5",filter_6:"e3d6",filter_7:"e3d7",filter_8:"e3d8",filter_9:"e3d9",filter_9_plus:"e3da",filter_b_and_w:"e3db",filter_center_focus:"e3dc",filter_drama:"e3dd",filter_frames:"e3de",filter_hdr:"e3df",filter_list:"e152",filter_none:"e3e0",filter_tilt_shift:"e3e2",filter_vintage:"e3e3",find_in_page:"e880",find_replace:"e881",fingerprint:"e90d",first_page:"e5dc",fitness_center:"eb43",flag:"e153",flare:"e3e4",flash_auto:"e3e5",flash_off:"e3e6",flash_on:"e3e7",flight:"e539",flight_land:"e904",flight_takeoff:"e905",flip:"e3e8",flip_to_back:"e882",flip_to_front:"e883",folder:"e2c7",folder_open:"e2c8",folder_shared:"e2c9",folder_special:"e617",font_download:"e167",format_align_center:"e234",format_align_justify:"e235",format_align_left:"e236",format_align_right:"e237",format_bold:"e238",format_clear:"e239",format_color_fill:"e23a",format_color_reset:"e23b",format_color_text:"e23c",format_indent_decrease:"e23d",format_indent_increase:"e23e",format_italic:"e23f",format_line_spacing:"e240",format_list_bulleted:"e241",format_list_numbered:"e242",format_paint:"e243",format_quote:"e244",format_shapes:"e25e",format_size:"e245",format_strikethrough:"e246",format_textdirection_l_to_r:"e247",format_textdirection_r_to_l:"e248",format_underlined:"e249",forum:"e0bf",forward:"e154",forward_10:"e056",forward_30:"e057",forward_5:"e058",free_breakfast:"eb44",fullscreen:"e5d0",fullscreen_exit:"e5d1",functions:"e24a",g_translate:"e927",gamepad:"e30f",games:"e021",gavel:"e90e",gesture:"e155",get_app:"e884",gif:"e908",golf_course:"eb45",gps_fixed:"e1b3",gps_not_fixed:"e1b4",gps_off:"e1b5",grade:"e885",gradient:"e3e9",grain:"e3ea",graphic_eq:"e1b8",grid_off:"e3eb",grid_on:"e3ec",group:"e7ef",group_add:"e7f0",group_work:"e886",hd:"e052",hdr_off:"e3ed",hdr_on:"e3ee",hdr_strong:"e3f1",hdr_weak:"e3f2",headset:"e310",headset_mic:"e311",healing:"e3f3",hearing:"e023",help:"e887",help_outline:"e8fd",high_quality:"e024",highlight:"e25f",highlight_off:"e888",history:"e889",home:"e88a",hot_tub:"eb46",hotel:"e53a",hourglass_empty:"e88b",hourglass_full:"e88c",http:"e902",https:"e88d",image:"e3f4",image_aspect_ratio:"e3f5",import_contacts:"e0e0",import_export:"e0c3",important_devices:"e912",inbox:"e156",indeterminate_check_box:"e909",info:"e88e",info_outline:"e88f",input:"e890",insert_chart:"e24b",insert_comment:"e24c",insert_drive_file:"e24d",insert_emoticon:"e24e",insert_invitation:"e24f",insert_link:"e250",insert_photo:"e251",invert_colors:"e891",invert_colors_off:"e0c4",iso:"e3f6",keyboard:"e312",keyboard_arrow_down:"e313",keyboard_arrow_left:"e314",keyboard_arrow_right:"e315",keyboard_arrow_up:"e316",keyboard_backspace:"e317",keyboard_capslock:"e318",keyboard_hide:"e31a",keyboard_return:"e31b",keyboard_tab:"e31c",keyboard_voice:"e31d",kitchen:"eb47",label:"e892",label_outline:"e893",landscape:"e3f7",language:"e894",laptop:"e31e",laptop_chromebook:"e31f",laptop_mac:"e320",laptop_windows:"e321",last_page:"e5dd",launch:"e895",layers:"e53b",layers_clear:"e53c",leak_add:"e3f8",leak_remove:"e3f9",lens:"e3fa",library_add:"e02e",library_books:"e02f",library_music:"e030",lightbulb_outline:"e90f",line_style:"e919",line_weight:"e91a",linear_scale:"e260",link:"e157",linked_camera:"e438",list:"e896",live_help:"e0c6",live_tv:"e639",local_activity:"e53f",local_airport:"e53d",local_atm:"e53e",local_bar:"e540",local_cafe:"e541",local_car_wash:"e542",local_convenience_store:"e543",local_dining:"e556",local_drink:"e544",local_florist:"e545",local_gas_station:"e546",local_grocery_store:"e547",local_hospital:"e548",local_hotel:"e549",local_laundry_service:"e54a",local_library:"e54b",local_mall:"e54c",local_movies:"e54d",local_offer:"e54e",local_parking:"e54f",local_pharmacy:"e550",local_phone:"e551",local_pizza:"e552",local_play:"e553",local_post_office:"e554",local_printshop:"e555",local_see:"e557",local_shipping:"e558",local_taxi:"e559",location_city:"e7f1",location_disabled:"e1b6",location_off:"e0c7",location_on:"e0c8",location_searching:"e1b7",lock:"e897",lock_open:"e898",lock_outline:"e899",looks:"e3fc",looks_3:"e3fb",looks_4:"e3fd",looks_5:"e3fe",looks_6:"e3ff",looks_one:"e400",looks_two:"e401",loop:"e028",loupe:"e402",low_priority:"e16d",loyalty:"e89a",mail:"e158",mail_outline:"e0e1",map:"e55b",markunread:"e159",markunread_mailbox:"e89b",memory:"e322",menu:"e5d2",merge_type:"e252",message:"e0c9",mic:"e029",mic_none:"e02a",mic_off:"e02b",mms:"e618",mode_comment:"e253",mode_edit:"e254",monetization_on:"e263",money_off:"e25c",monochrome_photos:"e403",mood:"e7f2",mood_bad:"e7f3",more:"e619",more_horiz:"e5d3",more_vert:"e5d4",motorcycle:"e91b",mouse:"e323",move_to_inbox:"e168",movie:"e02c",movie_creation:"e404",movie_filter:"e43a",multiline_chart:"e6df",music_note:"e405",music_video:"e063",my_location:"e55c",nature:"e406",nature_people:"e407",navigate_before:"e408",navigate_next:"e409",navigation:"e55d",near_me:"e569",network_cell:"e1b9",network_check:"e640",network_locked:"e61a",network_wifi:"e1ba",new_releases:"e031",next_week:"e16a",nfc:"e1bb",no_encryption:"e641",no_sim:"e0cc",not_interested:"e033",note:"e06f",note_add:"e89c",notifications:"e7f4",notifications_active:"e7f7",notifications_none:"e7f5",notifications_off:"e7f6",notifications_paused:"e7f8",offline_pin:"e90a",ondemand_video:"e63a",opacity:"e91c",open_in_browser:"e89d",open_in_new:"e89e",open_with:"e89f",pages:"e7f9",pageview:"e8a0",palette:"e40a",pan_tool:"e925",panorama:"e40b",panorama_fish_eye:"e40c",panorama_horizontal:"e40d",panorama_vertical:"e40e",panorama_wide_angle:"e40f",party_mode:"e7fa",pause:"e034",pause_circle_filled:"e035",pause_circle_outline:"e036",payment:"e8a1",people:"e7fb",people_outline:"e7fc",perm_camera_mic:"e8a2",perm_contact_calendar:"e8a3",perm_data_setting:"e8a4",perm_device_information:"e8a5",perm_identity:"e8a6",perm_media:"e8a7",perm_phone_msg:"e8a8",perm_scan_wifi:"e8a9",person:"e7fd",person_add:"e7fe",person_outline:"e7ff",person_pin:"e55a",person_pin_circle:"e56a",personal_video:"e63b",pets:"e91d",phone:"e0cd",phone_android:"e324",phone_bluetooth_speaker:"e61b",phone_forwarded:"e61c",phone_in_talk:"e61d",phone_iphone:"e325",phone_locked:"e61e",phone_missed:"e61f",phone_paused:"e620",phonelink:"e326",phonelink_erase:"e0db",phonelink_lock:"e0dc",phonelink_off:"e327",phonelink_ring:"e0dd",phonelink_setup:"e0de",photo:"e410",photo_album:"e411",photo_camera:"e412",photo_filter:"e43b",photo_library:"e413",photo_size_select_actual:"e432",photo_size_select_large:"e433",photo_size_select_small:"e434",picture_as_pdf:"e415",picture_in_picture:"e8aa",picture_in_picture_alt:"e911",pie_chart:"e6c4",pie_chart_outlined:"e6c5",pin_drop:"e55e",place:"e55f",play_arrow:"e037",play_circle_filled:"e038",play_circle_outline:"e039",play_for_work:"e906",playlist_add:"e03b",playlist_add_check:"e065",playlist_play:"e05f",plus_one:"e800",poll:"e801",polymer:"e8ab",pool:"eb48",portable_wifi_off:"e0ce",portrait:"e416",power:"e63c",power_input:"e336",power_settings_new:"e8ac",pregnant_woman:"e91e",present_to_all:"e0df",print:"e8ad",priority_high:"e645",public:"e80b",publish:"e255",query_builder:"e8ae",question_answer:"e8af",queue:"e03c",queue_music:"e03d",queue_play_next:"e066",radio:"e03e",radio_button_checked:"e837",radio_button_unchecked:"e836",rate_review:"e560",receipt:"e8b0",recent_actors:"e03f",record_voice_over:"e91f",redeem:"e8b1",redo:"e15a",refresh:"e5d5",remove:"e15b",remove_circle:"e15c",remove_circle_outline:"e15d",remove_from_queue:"e067",remove_red_eye:"e417",remove_shopping_cart:"e928",reorder:"e8fe",repeat:"e040",repeat_one:"e041",replay:"e042",replay_10:"e059",replay_30:"e05a",replay_5:"e05b",reply:"e15e",reply_all:"e15f",report:"e160",report_problem:"e8b2",restaurant:"e56c",restaurant_menu:"e561",restore:"e8b3",restore_page:"e929",ring_volume:"e0d1",room:"e8b4",room_service:"eb49",rotate_90_degrees_ccw:"e418",rotate_left:"e419",rotate_right:"e41a",rounded_corner:"e920",router:"e328",rowing:"e921",rss_feed:"e0e5",rv_hookup:"e642",satellite:"e562",save:"e161",scanner:"e329",schedule:"e8b5",school:"e80c",screen_lock_landscape:"e1be",screen_lock_portrait:"e1bf",screen_lock_rotation:"e1c0",screen_rotation:"e1c1",screen_share:"e0e2",sd_card:"e623",sd_storage:"e1c2",search:"e8b6",security:"e32a",select_all:"e162",send:"e163",sentiment_dissatisfied:"e811",sentiment_neutral:"e812",sentiment_satisfied:"e813",sentiment_very_dissatisfied:"e814",sentiment_very_satisfied:"e815",settings:"e8b8",settings_applications:"e8b9",settings_backup_restore:"e8ba",settings_bluetooth:"e8bb",settings_brightness:"e8bd",settings_cell:"e8bc",settings_ethernet:"e8be",settings_input_antenna:"e8bf",settings_input_component:"e8c0",settings_input_composite:"e8c1",settings_input_hdmi:"e8c2",settings_input_svideo:"e8c3",settings_overscan:"e8c4",settings_phone:"e8c5",settings_power:"e8c6",settings_remote:"e8c7",settings_system_daydream:"e1c3",settings_voice:"e8c8",share:"e80d",shop:"e8c9",shop_two:"e8ca",shopping_basket:"e8cb",shopping_cart:"e8cc",short_text:"e261",show_chart:"e6e1",shuffle:"e043",signal_cellular_4_bar:"e1c8",signal_cellular_connected_no_internet_4_bar:"e1cd",signal_cellular_no_sim:"e1ce",signal_cellular_null:"e1cf",signal_cellular_off:"e1d0",signal_wifi_4_bar:"e1d8",signal_wifi_4_bar_lock:"e1d9",signal_wifi_off:"e1da",sim_card:"e32b",sim_card_alert:"e624",skip_next:"e044",skip_previous:"e045",slideshow:"e41b",slow_motion_video:"e068",smartphone:"e32c",smoke_free:"eb4a",smoking_rooms:"eb4b",sms:"e625",sms_failed:"e626",snooze:"e046",sort:"e164",sort_by_alpha:"e053",spa:"eb4c",space_bar:"e256",speaker:"e32d",speaker_group:"e32e",speaker_notes:"e8cd",speaker_notes_off:"e92a",speaker_phone:"e0d2",spellcheck:"e8ce",star:"e838",star_border:"e83a",star_half:"e839",stars:"e8d0",stay_current_landscape:"e0d3",stay_current_portrait:"e0d4",stay_primary_landscape:"e0d5",stay_primary_portrait:"e0d6",stop:"e047",stop_screen_share:"e0e3",storage:"e1db",store:"e8d1",store_mall_directory:"e563",straighten:"e41c",streetview:"e56e",strikethrough_s:"e257",style:"e41d",subdirectory_arrow_left:"e5d9",subdirectory_arrow_right:"e5da",subject:"e8d2",subscriptions:"e064",subtitles:"e048",subway:"e56f",supervisor_account:"e8d3",surround_sound:"e049",swap_calls:"e0d7",swap_horiz:"e8d4",swap_vert:"e8d5",swap_vertical_circle:"e8d6",switch_camera:"e41e",switch_video:"e41f",sync:"e627",sync_disabled:"e628",sync_problem:"e629",system_update:"e62a",system_update_alt:"e8d7",tab:"e8d8",tab_unselected:"e8d9",tablet:"e32f",tablet_android:"e330",tablet_mac:"e331",tag_faces:"e420",tap_and_play:"e62b",terrain:"e564",text_fields:"e262",text_format:"e165",textsms:"e0d8",texture:"e421",theaters:"e8da",thumb_down:"e8db",thumb_up:"e8dc",thumbs_up_down:"e8dd",time_to_leave:"e62c",timelapse:"e422",timeline:"e922",timer:"e425",timer_10:"e423",timer_3:"e424",timer_off:"e426",title:"e264",toc:"e8de",today:"e8df",toll:"e8e0",tonality:"e427",touch_app:"e913",toys:"e332",track_changes:"e8e1",traffic:"e565",train:"e570",tram:"e571",transfer_within_a_station:"e572",transform:"e428",translate:"e8e2",trending_down:"e8e3",trending_flat:"e8e4",trending_up:"e8e5",tune:"e429",turned_in:"e8e6",turned_in_not:"e8e7",tv:"e333",unarchive:"e169",undo:"e166",unfold_less:"e5d6",unfold_more:"e5d7",update:"e923",usb:"e1e0",verified_user:"e8e8",vertical_align_bottom:"e258",vertical_align_center:"e259",vertical_align_top:"e25a",vibration:"e62d",video_call:"e070",video_label:"e071",video_library:"e04a",videocam:"e04b",videocam_off:"e04c",videogame_asset:"e338",view_agenda:"e8e9",view_array:"e8ea",view_carousel:"e8eb",view_column:"e8ec",view_comfy:"e42a",view_compact:"e42b",view_day:"e8ed",view_headline:"e8ee",view_list:"e8ef",view_module:"e8f0",view_quilt:"e8f1",view_stream:"e8f2",view_week:"e8f3",vignette:"e435",visibility:"e8f4",visibility_off:"e8f5",voice_chat:"e62e",voicemail:"e0d9",volume_down:"e04d",volume_mute:"e04e",volume_off:"e04f",volume_up:"e050",vpn_key:"e0da",vpn_lock:"e62f",wallpaper:"e1bc",warning:"e002",watch:"e334",watch_later:"e924",wb_auto:"e42c",wb_cloudy:"e42d",wb_incandescent:"e42e",wb_iridescent:"e436",wb_sunny:"e430",wc:"e63d",web:"e051",web_asset:"e069",weekend:"e16b",whatshot:"e80e",widgets:"e1bd",wifi:"e63e",wifi_lock:"e1e1",wifi_tethering:"e1e2",work:"e8f9",wrap_text:"e25b",youtube_searched_for:"e8fa",zoom_in:"e8ff",zoom_out:"e900",zoom_out_map:"e56b"}},function(e,t,n){e.exports={"trans-color":"loader--trans-color---97r08",component:"loader--component---2grcA",wrap:"loader--wrap---3Fhrc",text:"loader--text---3Yu3g",spinner:"loader--spinner---2q6MO",spin:"loader--spin---K6Loh"}},function(e,t,n){e.exports={addDays:n(20),addHours:n(75),addISOYears:n(76),addMilliseconds:n(21),addMinutes:n(78),addMonths:n(36),addQuarters:n(79),addSeconds:n(80),addWeeks:n(53),addYears:n(81),areRangesOverlapping:n(199),closestIndexTo:n(200),closestTo:n(201),compareAsc:n(23),compareDesc:n(54),differenceInCalendarDays:n(35),differenceInCalendarISOWeeks:n(202),differenceInCalendarISOYears:n(82),differenceInCalendarMonths:n(83),differenceInCalendarQuarters:n(203),differenceInCalendarWeeks:n(204),differenceInCalendarYears:n(85),differenceInDays:n(86),differenceInHours:n(205),differenceInISOYears:n(206),differenceInMilliseconds:n(37),differenceInMinutes:n(207),differenceInMonths:n(55),differenceInQuarters:n(208),differenceInSeconds:n(56),differenceInWeeks:n(209),differenceInYears:n(210),distanceInWords:n(88),distanceInWordsStrict:n(214),distanceInWordsToNow:n(215),eachDay:n(216),endOfDay:n(58),endOfHour:n(217),endOfISOWeek:n(218),endOfISOYear:n(219),endOfMinute:n(220),endOfMonth:n(90),endOfQuarter:n(221),endOfSecond:n(222),endOfToday:n(223),endOfTomorrow:n(224),endOfWeek:n(89),endOfYear:n(225),endOfYesterday:n(226),format:n(227),getDate:n(228),getDay:n(229),getDayOfYear:n(91),getDaysInMonth:n(52),getDaysInYear:n(230),getHours:n(231),getISODay:n(95),getISOWeek:n(59),getISOWeeksInYear:n(232),getISOYear:n(10),getMilliseconds:n(233),getMinutes:n(234),getMonth:n(235),getOverlappingDaysInRanges:n(236),getQuarter:n(84),getSeconds:n(237),getTime:n(238),getYear:n(239),isAfter:n(240),isBefore:n(241),isDate:n(51),isEqual:n(242),isFirstDayOfMonth:n(243),isFriday:n(244),isFuture:n(245),isLastDayOfMonth:n(246),isLeapYear:n(94),isMonday:n(247),isPast:n(248),isSameDay:n(249),isSameHour:n(96),isSameISOWeek:n(98),isSameISOYear:n(99),isSameMinute:n(100),isSameMonth:n(102),isSameQuarter:n(103),isSameSecond:n(105),isSameWeek:n(60),isSameYear:n(107),isSaturday:n(250),isSunday:n(251),isThisHour:n(252),isThisISOWeek:n(253),isThisISOYear:n(254),isThisMinute:n(255),isThisMonth:n(256),isThisQuarter:n(257),isThisSecond:n(258),isThisWeek:n(259),isThisYear:n(260),isThursday:n(261),isToday:n(262),isTomorrow:n(263),isTuesday:n(264),isValid:n(93),isWednesday:n(265),isWeekend:n(266),isWithinRange:n(267),isYesterday:n(268),lastDayOfISOWeek:n(269),lastDayOfISOYear:n(270),lastDayOfMonth:n(271),lastDayOfQuarter:n(272),lastDayOfWeek:n(108),lastDayOfYear:n(273),max:n(274),min:n(275),parse:n(2),setDate:n(276),setDay:n(277),setDayOfYear:n(278),setHours:n(279),setISODay:n(280),setISOWeek:n(281),setISOYear:n(77),setMilliseconds:n(282),setMinutes:n(283),setMonth:n(109),setQuarter:n(284),setSeconds:n(285),setYear:n(286),startOfDay:n(12),startOfHour:n(97),startOfISOWeek:n(11),startOfISOYear:n(22),startOfMinute:n(101),startOfMonth:n(287),startOfQuarter:n(104),startOfSecond:n(106),startOfToday:n(288),startOfTomorrow:n(289),startOfWeek:n(34),startOfYear:n(92),startOfYesterday:n(290),subDays:n(291),subHours:n(292),subISOYears:n(87),subMilliseconds:n(293),subMinutes:n(294),subMonths:n(295),subQuarters:n(296),subSeconds:n(297),subWeeks:n(298),subYears:n(299)}},function(e,t,n){var r=n(300)(n(312));e.exports=r},function(e,t,n){e.exports={"trans-color":"navbar--trans-color---1tk7E",component:"navbar--component---2UCEi","report-info-cnt":"navbar--report-info-cnt---8y9Bb","menu-button":"navbar--menu-button---1ZRpz","report-title":"navbar--report-title---3bXCv","pct-bar":"navbar--pct-bar---3EwW-",pass:"navbar--pass---2oR-w",fail:"navbar--fail---3mN80",pend:"navbar--pend---2iqjh","pct-bar-segment":"navbar--pct-bar-segment---3T0_o"}},function(e,t,n){e.exports={"trans-color":"quick-summary--trans-color---HUJqE",cnt:"quick-summary--cnt---3s38x",list:"quick-summary--list---2_80W",item:"quick-summary--item---bfSQ0",icon:"quick-summary--icon---TW1oG",tests:"quick-summary--tests---2nNut",passes:"quick-summary--passes---3IjYH","single-filter":"quick-summary--single-filter---31Thy","single-filter--passed":"quick-summary--single-filter--passed---3QnUL",failures:"quick-summary--failures---14s29","single-filter--failed":"quick-summary--single-filter--failed---3_tAw",pending:"quick-summary--pending---261aV","single-filter--pending":"quick-summary--single-filter--pending---21lZM",skipped:"quick-summary--skipped---tyOc4","single-filter--skipped":"quick-summary--single-filter--skipped---1AdZA","circle-icon":"quick-summary--circle-icon---1HDS7"}},function(e,t,n){e.exports={"trans-color":"radio-button--trans-color---egsik",component:"radio-button--component---1ix3c",outer:"radio-button--outer---a_NqL",off:"radio-button--off---dBAOK",inner:"radio-button--inner---3bo9Q"}},function(e,t,n){var r,o;o=this,void 0===(r=function(){return o.Chartist=(e={version:"0.11.0"},function(e,t,n){"use strict";n.namespaces={svg:"http://www.w3.org/2000/svg",xmlns:"http://www.w3.org/2000/xmlns/",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",ct:"http://gionkunz.github.com/chartist-js/ct"},n.noop=function(e){return e},n.alphaNumerate=function(e){return String.fromCharCode(97+e%26)},n.extend=function(e){var t,r,o;for(e=e||{},t=1;t":">",'"':""","'":"'"},n.serialize=function(e){return null==e?e:("number"==typeof e?e=""+e:"object"==typeof e&&(e=JSON.stringify({data:e})),Object.keys(n.escapingMap).reduce((function(e,t){return n.replaceAll(e,t,n.escapingMap[t])}),e))},n.deserialize=function(e){if("string"!=typeof e)return e;e=Object.keys(n.escapingMap).reduce((function(e,t){return n.replaceAll(e,n.escapingMap[t],t)}),e);try{e=void 0!==(e=JSON.parse(e)).data?e.data:e}catch(e){}return e},n.createSvg=function(e,t,r,o){var i;return t=t||"100%",r=r||"100%",Array.prototype.slice.call(e.querySelectorAll("svg")).filter((function(e){return e.getAttributeNS(n.namespaces.xmlns,"ct")})).forEach((function(t){e.removeChild(t)})),(i=new n.Svg("svg").attr({width:t,height:r}).addClass(o))._node.style.width=t,i._node.style.height=r,e.appendChild(i._node),i},n.normalizeData=function(e,t,r){var o,i={raw:e,normalized:{}};return i.normalized.series=n.getDataArray({series:e.series||[]},t,r),o=i.normalized.series.every((function(e){return e instanceof Array}))?Math.max.apply(null,i.normalized.series.map((function(e){return e.length}))):i.normalized.series.length,i.normalized.labels=(e.labels||[]).slice(),Array.prototype.push.apply(i.normalized.labels,n.times(Math.max(0,o-i.normalized.labels.length)).map((function(){return""}))),t&&n.reverseData(i.normalized),i},n.safeHasProperty=function(e,t){return null!==e&&"object"==typeof e&&e.hasOwnProperty(t)},n.isDataHoleValue=function(e){return null==e||"number"==typeof e&&isNaN(e)},n.reverseData=function(e){e.labels.reverse(),e.series.reverse();for(var t=0;to.high&&(o.high=n),a&&n0||(o.high=1),o.low=0)),o},n.isNumeric=function(e){return null!==e&&isFinite(e)},n.isFalseyButZero=function(e){return!e&&0!==e},n.getNumberOrUndefined=function(e){return n.isNumeric(e)?+e:void 0},n.isMultiValue=function(e){return"object"==typeof e&&("x"in e||"y"in e)},n.getMultiValue=function(e,t){return n.isMultiValue(e)?n.getNumberOrUndefined(e[t||"y"]):n.getNumberOrUndefined(e)},n.rho=function(e){if(1===e)return e;function t(e,n){return e%n==0?n:t(n,e%n)}function n(e){return e*e+1}var r,o=2,i=2;if(e%2==0)return 2;do{o=n(o)%e,i=n(n(i))%e,r=t(Math.abs(o-i),e)}while(1===r);return r},n.getBounds=function(e,t,r,o){var i,a,s,l=0,u={high:t.high,low:t.low};u.valueRange=u.high-u.low,u.oom=n.orderOfMagnitude(u.valueRange),u.step=Math.pow(10,u.oom),u.min=Math.floor(u.low/u.step)*u.step,u.max=Math.ceil(u.high/u.step)*u.step,u.range=u.max-u.min,u.numberOfSteps=Math.round(u.range/u.step);var c=n.projectLength(e,u.step,u)=r)u.step=1;else if(o&&f=r)u.step=f;else for(;;){if(c&&n.projectLength(e,u.step,u)<=r)u.step*=2;else{if(c||!(n.projectLength(e,u.step/2,u)>=r))break;if(u.step/=2,o&&u.step%1!=0){u.step*=2;break}}if(l++>1e3)throw new Error("Exceeded maximum number of iterations while optimizing scale step!")}var d=2221e-19;function p(e,t){return e===(e+=t)&&(e*=1+(t>0?d:-d)),e}for(u.step=Math.max(u.step,d),a=u.min,s=u.max;a+u.step<=u.low;)a=p(a,u.step);for(;s-u.step>=u.high;)s=p(s,-u.step);u.min=a,u.max=s,u.range=u.max-u.min;var h=[];for(i=u.min;i<=u.max;i=p(i,u.step)){var m=n.roundWithPrecision(i);m!==h[h.length-1]&&h.push(m)}return u.values=h,u},n.polarToCartesian=function(e,t,n,r){var o=(r-90)*Math.PI/180;return{x:e+n*Math.cos(o),y:t+n*Math.sin(o)}},n.createChartRect=function(e,t,r){var o=!(!t.axisX&&!t.axisY),i=o?t.axisY.offset:0,a=o?t.axisX.offset:0,s=e.width()||n.quantity(t.width).value||0,l=e.height()||n.quantity(t.height).value||0,u=n.normalizePadding(t.chartPadding,r);s=Math.max(s,i+u.left+u.right),l=Math.max(l,a+u.top+u.bottom);var c={padding:u,width:function(){return this.x2-this.x1},height:function(){return this.y1-this.y2}};return o?("start"===t.axisX.position?(c.y2=u.top+a,c.y1=Math.max(l-u.bottom,c.y2+1)):(c.y2=u.top,c.y1=Math.max(l-u.bottom-a,c.y2+1)),"start"===t.axisY.position?(c.x1=u.left+i,c.x2=Math.max(s-u.right,c.x1+1)):(c.x1=u.left,c.x2=Math.max(s-u.right-i,c.x1+1))):(c.x1=u.left,c.x2=Math.max(s-u.right,c.x1+1),c.y2=u.top,c.y1=Math.max(l-u.bottom,c.y2+1)),c},n.createGrid=function(e,t,r,o,i,a,s,l){var u={};u[r.units.pos+"1"]=e,u[r.units.pos+"2"]=e,u[r.counterUnits.pos+"1"]=o,u[r.counterUnits.pos+"2"]=o+i;var c=a.elem("line",u,s.join(" "));l.emit("draw",n.extend({type:"grid",axis:r,index:t,group:a,element:c},u))},n.createGridBackground=function(e,t,n,r){var o=e.elem("rect",{x:t.x1,y:t.y2,width:t.width(),height:t.height()},n,!0);r.emit("draw",{type:"gridBackground",group:e,element:o})},n.createLabel=function(e,r,o,i,a,s,l,u,c,f,d){var p,h={};if(h[a.units.pos]=e+l[a.units.pos],h[a.counterUnits.pos]=l[a.counterUnits.pos],h[a.units.len]=r,h[a.counterUnits.len]=Math.max(0,s-10),f){var m=t.createElement("span");m.className=c.join(" "),m.setAttribute("xmlns",n.namespaces.xhtml),m.innerText=i[o],m.style[a.units.len]=Math.round(h[a.units.len])+"px",m.style[a.counterUnits.len]=Math.round(h[a.counterUnits.len])+"px",p=u.foreignObject(m,n.extend({style:"overflow: visible;"},h))}else p=u.elem("text",h,c.join(" ")).text(i[o]);d.emit("draw",n.extend({type:"label",axis:a,index:o,group:u,element:p,text:i[o]},h))},n.getSeriesOption=function(e,t,n){if(e.name&&t.series&&t.series[e.name]){var r=t.series[e.name];return r.hasOwnProperty(n)?r[n]:t[n]}return t[n]},n.optionsProvider=function(t,r,o){var i,a,s=n.extend({},t),l=[];function u(t){var l=i;if(i=n.extend({},s),r)for(a=0;a=2&&e[s]<=e[s-2]&&(a=!0),a&&(i.push({pathCoordinates:[],valueData:[]}),a=!1),i[i.length-1].pathCoordinates.push(e[s],e[s+1]),i[i.length-1].valueData.push(t[s/2]));return i}}(window,document,e),function(e,t,n){"use strict";n.Interpolation={},n.Interpolation.none=function(e){var t={fillHoles:!1};return e=n.extend({},t,e),function(t,r){for(var o=new n.Svg.Path,i=!0,a=0;a1){var l=[];return s.forEach((function(e){l.push(t(e.pathCoordinates,e.valueData))})),n.Svg.Path.join(l)}if(i=s[0].pathCoordinates,a=s[0].valueData,i.length<=4)return n.Interpolation.none()(i,a);for(var u,c=(new n.Svg.Path).move(i[0],i[1],!1,a[0]),f=0,d=i.length;d-2*!u>f;f+=2){var p=[{x:+i[f-2],y:+i[f-1]},{x:+i[f],y:+i[f+1]},{x:+i[f+2],y:+i[f+3]},{x:+i[f+4],y:+i[f+5]}];u?f?d-4===f?p[3]={x:+i[0],y:+i[1]}:d-2===f&&(p[2]={x:+i[0],y:+i[1]},p[3]={x:+i[2],y:+i[3]}):p[0]={x:+i[d-2],y:+i[d-1]}:d-4===f?p[3]=p[2]:f||(p[0]={x:+i[f],y:+i[f+1]}),c.curve(r*(-p[0].x+6*p[1].x+p[2].x)/6+o*p[2].x,r*(-p[0].y+6*p[1].y+p[2].y)/6+o*p[2].y,r*(p[1].x+6*p[2].x-p[3].x)/6+o*p[2].x,r*(p[1].y+6*p[2].y-p[3].y)/6+o*p[2].y,p[2].x,p[2].y,!1,a[(f+2)/2])}return c}return n.Interpolation.none()([])}},n.Interpolation.monotoneCubic=function(e){var t={fillHoles:!1};return e=n.extend({},t,e),function t(r,o){var i=n.splitIntoSegments(r,o,{fillHoles:e.fillHoles,increasingX:!0});if(i.length){if(i.length>1){var a=[];return i.forEach((function(e){a.push(t(e.pathCoordinates,e.valueData))})),n.Svg.Path.join(a)}if(r=i[0].pathCoordinates,o=i[0].valueData,r.length<=4)return n.Interpolation.none()(r,o);var s,l,u=[],c=[],f=r.length/2,d=[],p=[],h=[],m=[];for(s=0;s0!=p[s]>0?d[s]=0:(d[s]=3*(m[s-1]+m[s])/((2*m[s]+m[s-1])/p[s-1]+(m[s]+2*m[s-1])/p[s]),isFinite(d[s])||(d[s]=0));for(l=(new n.Svg.Path).move(u[0],c[0],!1,o[0]),s=0;s1})).map((function(e){var t=e.pathElements[0],n=e.pathElements[e.pathElements.length-1];return e.clone(!0).position(0).remove(1).move(t.x,v).line(t.x,t.y).position(e.pathElements.length+1).line(n.x,v)})).forEach(function(n){var s=l.elem("path",{d:n.stringify()},e.classNames.area,!0);this.eventEmitter.emit("draw",{type:"area",values:t.normalized.series[a],path:n.clone(),series:r,seriesIndex:a,axisX:o,axisY:i,chartRect:u,index:a,group:l,element:s})}.bind(this))}}.bind(this)),this.eventEmitter.emit("created",{bounds:i.bounds,chartRect:u,axisX:o,axisY:i,svg:this.svg,options:e})}function i(e,t,o,i){n.Line.super.constructor.call(this,e,t,r,n.extend({},r,o),i)}n.Line=n.Base.extend({constructor:i,createChart:o})}(window,document,e),function(e,t,n){"use strict";var r={axisX:{offset:30,position:"end",labelOffset:{x:0,y:0},showLabel:!0,showGrid:!0,labelInterpolationFnc:n.noop,scaleMinSpace:30,onlyInteger:!1},axisY:{offset:40,position:"start",labelOffset:{x:0,y:0},showLabel:!0,showGrid:!0,labelInterpolationFnc:n.noop,scaleMinSpace:20,onlyInteger:!1},width:void 0,height:void 0,high:void 0,low:void 0,referenceValue:0,chartPadding:{top:15,right:15,bottom:5,left:10},seriesBarDistance:15,stackBars:!1,stackMode:"accumulate",horizontalBars:!1,distributeSeries:!1,reverseData:!1,showGridBackground:!1,classNames:{chart:"ct-chart-bar",horizontalBars:"ct-horizontal-bars",label:"ct-label",labelGroup:"ct-labels",series:"ct-series",bar:"ct-bar",grid:"ct-grid",gridGroup:"ct-grids",gridBackground:"ct-grid-background",vertical:"ct-vertical",horizontal:"ct-horizontal",start:"ct-start",end:"ct-end"}};function o(e){var t,o;e.distributeSeries?(t=n.normalizeData(this.data,e.reverseData,e.horizontalBars?"x":"y")).normalized.series=t.normalized.series.map((function(e){return[e]})):t=n.normalizeData(this.data,e.reverseData,e.horizontalBars?"x":"y"),this.svg=n.createSvg(this.container,e.width,e.height,e.classNames.chart+(e.horizontalBars?" "+e.classNames.horizontalBars:""));var i=this.svg.elem("g").addClass(e.classNames.gridGroup),a=this.svg.elem("g"),s=this.svg.elem("g").addClass(e.classNames.labelGroup);if(e.stackBars&&0!==t.normalized.series.length){var l=n.serialMap(t.normalized.series,(function(){return Array.prototype.slice.call(arguments).map((function(e){return e})).reduce((function(e,t){return{x:e.x+(t&&t.x)||0,y:e.y+(t&&t.y)||0}}),{x:0,y:0})}));o=n.getHighLow([l],e,e.horizontalBars?"x":"y")}else o=n.getHighLow(t.normalized.series,e,e.horizontalBars?"x":"y");o.high=+e.high||(0===e.high?0:o.high),o.low=+e.low||(0===e.low?0:o.low);var u,c,f,d,p,h=n.createChartRect(this.svg,e,r.padding);c=e.distributeSeries&&e.stackBars?t.normalized.labels.slice(0,1):t.normalized.labels,e.horizontalBars?(u=d=void 0===e.axisX.type?new n.AutoScaleAxis(n.Axis.units.x,t.normalized.series,h,n.extend({},e.axisX,{highLow:o,referenceValue:0})):e.axisX.type.call(n,n.Axis.units.x,t.normalized.series,h,n.extend({},e.axisX,{highLow:o,referenceValue:0})),f=p=void 0===e.axisY.type?new n.StepAxis(n.Axis.units.y,t.normalized.series,h,{ticks:c}):e.axisY.type.call(n,n.Axis.units.y,t.normalized.series,h,e.axisY)):(f=d=void 0===e.axisX.type?new n.StepAxis(n.Axis.units.x,t.normalized.series,h,{ticks:c}):e.axisX.type.call(n,n.Axis.units.x,t.normalized.series,h,e.axisX),u=p=void 0===e.axisY.type?new n.AutoScaleAxis(n.Axis.units.y,t.normalized.series,h,n.extend({},e.axisY,{highLow:o,referenceValue:0})):e.axisY.type.call(n,n.Axis.units.y,t.normalized.series,h,n.extend({},e.axisY,{highLow:o,referenceValue:0})));var m=e.horizontalBars?h.x1+u.projectValue(0):h.y1-u.projectValue(0),v=[];f.createGridAndLabels(i,s,this.supportsForeignObject,e,this.eventEmitter),u.createGridAndLabels(i,s,this.supportsForeignObject,e,this.eventEmitter),e.showGridBackground&&n.createGridBackground(i,h,e.classNames.gridBackground,this.eventEmitter),t.raw.series.forEach(function(r,o){var i,s,l=o-(t.raw.series.length-1)/2;i=e.distributeSeries&&!e.stackBars?f.axisLength/t.normalized.series.length/2:e.distributeSeries&&e.stackBars?f.axisLength/2:f.axisLength/t.normalized.series[o].length/2,(s=a.elem("g")).attr({"ct:series-name":r.name,"ct:meta":n.serialize(r.meta)}),s.addClass([e.classNames.series,r.className||e.classNames.series+"-"+n.alphaNumerate(o)].join(" ")),t.normalized.series[o].forEach(function(a,c){var g,y,b,_;if(_=e.distributeSeries&&!e.stackBars?o:e.distributeSeries&&e.stackBars?0:c,g=e.horizontalBars?{x:h.x1+u.projectValue(a&&a.x?a.x:0,c,t.normalized.series[o]),y:h.y1-f.projectValue(a&&a.y?a.y:0,_,t.normalized.series[o])}:{x:h.x1+f.projectValue(a&&a.x?a.x:0,_,t.normalized.series[o]),y:h.y1-u.projectValue(a&&a.y?a.y:0,c,t.normalized.series[o])},f instanceof n.StepAxis&&(f.options.stretch||(g[f.units.pos]+=i*(e.horizontalBars?-1:1)),g[f.units.pos]+=e.stackBars||e.distributeSeries?0:l*e.seriesBarDistance*(e.horizontalBars?-1:1)),b=v[c]||m,v[c]=b-(m-g[f.counterUnits.pos]),void 0!==a){var w={};w[f.units.pos+"1"]=g[f.units.pos],w[f.units.pos+"2"]=g[f.units.pos],!e.stackBars||"accumulate"!==e.stackMode&&e.stackMode?(w[f.counterUnits.pos+"1"]=m,w[f.counterUnits.pos+"2"]=g[f.counterUnits.pos]):(w[f.counterUnits.pos+"1"]=b,w[f.counterUnits.pos+"2"]=v[c]),w.x1=Math.min(Math.max(w.x1,h.x1),h.x2),w.x2=Math.min(Math.max(w.x2,h.x1),h.x2),w.y1=Math.min(Math.max(w.y1,h.y2),h.y1),w.y2=Math.min(Math.max(w.y2,h.y2),h.y1);var x=n.getMetaData(r,c);y=s.elem("line",w,e.classNames.bar).attr({"ct:value":[a.x,a.y].filter(n.isNumeric).join(","),"ct:meta":n.serialize(x)}),this.eventEmitter.emit("draw",n.extend({type:"bar",value:a,index:c,meta:x,series:r,seriesIndex:o,axisX:d,axisY:p,chartRect:h,group:s,element:y},w))}}.bind(this))}.bind(this)),this.eventEmitter.emit("created",{bounds:u.bounds,chartRect:h,axisX:d,axisY:p,svg:this.svg,options:e})}function i(e,t,o,i){n.Bar.super.constructor.call(this,e,t,r,n.extend({},r,o),i)}n.Bar=n.Base.extend({constructor:i,createChart:o})}(window,document,e),function(e,t,n){"use strict";var r={width:void 0,height:void 0,chartPadding:5,classNames:{chartPie:"ct-chart-pie",chartDonut:"ct-chart-donut",series:"ct-series",slicePie:"ct-slice-pie",sliceDonut:"ct-slice-donut",sliceDonutSolid:"ct-slice-donut-solid",label:"ct-label"},startAngle:0,total:void 0,donut:!1,donutSolid:!1,donutWidth:60,showLabel:!0,labelOffset:0,labelPosition:"inside",labelInterpolationFnc:n.noop,labelDirection:"neutral",reverseData:!1,ignoreEmptyValues:!1};function o(e,t,n){var r=t.x>e.x;return r&&"explode"===n||!r&&"implode"===n?"start":r&&"implode"===n||!r&&"explode"===n?"end":"middle"}function i(e){var t,i,a,s,l,u=n.normalizeData(this.data),c=[],f=e.startAngle;this.svg=n.createSvg(this.container,e.width,e.height,e.donut?e.classNames.chartDonut:e.classNames.chartPie),i=n.createChartRect(this.svg,e,r.padding),a=Math.min(i.width()/2,i.height()/2),l=e.total||u.normalized.series.reduce((function(e,t){return e+t}),0);var d=n.quantity(e.donutWidth);"%"===d.unit&&(d.value*=a/100),a-=e.donut&&!e.donutSolid?d.value/2:0,s="outside"===e.labelPosition||e.donut&&!e.donutSolid?a:"center"===e.labelPosition?0:e.donutSolid?a-d.value/2:a/2,s+=e.labelOffset;var p={x:i.x1+i.width()/2,y:i.y2+i.height()/2},h=1===u.raw.series.filter((function(e){return e.hasOwnProperty("value")?0!==e.value:0!==e})).length;u.raw.series.forEach(function(e,t){c[t]=this.svg.elem("g",null,null)}.bind(this)),e.showLabel&&(t=this.svg.elem("g",null,null)),u.raw.series.forEach(function(r,i){if(0!==u.normalized.series[i]||!e.ignoreEmptyValues){c[i].attr({"ct:series-name":r.name}),c[i].addClass([e.classNames.series,r.className||e.classNames.series+"-"+n.alphaNumerate(i)].join(" "));var m=l>0?f+u.normalized.series[i]/l*360:0,v=Math.max(0,f-(0===i||h?0:.2));m-v>=359.99&&(m=v+359.99);var g,y,b,_=n.polarToCartesian(p.x,p.y,a,v),w=n.polarToCartesian(p.x,p.y,a,m),x=new n.Svg.Path(!e.donut||e.donutSolid).move(w.x,w.y).arc(a,a,0,m-f>180,0,_.x,_.y);e.donut?e.donutSolid&&(b=a-d.value,g=n.polarToCartesian(p.x,p.y,b,f-(0===i||h?0:.2)),y=n.polarToCartesian(p.x,p.y,b,m),x.line(g.x,g.y),x.arc(b,b,0,m-f>180,1,y.x,y.y)):x.line(p.x,p.y);var E=e.classNames.slicePie;e.donut&&(E=e.classNames.sliceDonut,e.donutSolid&&(E=e.classNames.sliceDonutSolid));var k=c[i].elem("path",{d:x.stringify()},E);if(k.attr({"ct:value":u.normalized.series[i],"ct:meta":n.serialize(r.meta)}),e.donut&&!e.donutSolid&&(k._node.style.strokeWidth=d.value+"px"),this.eventEmitter.emit("draw",{type:"slice",value:u.normalized.series[i],totalDataSum:l,index:i,meta:r.meta,series:r,group:c[i],element:k,path:x.clone(),center:p,radius:a,startAngle:f,endAngle:m}),e.showLabel){var S,O;S=1===u.raw.series.length?{x:p.x,y:p.y}:n.polarToCartesian(p.x,p.y,s,f+(m-f)/2),O=u.normalized.labels&&!n.isFalseyButZero(u.normalized.labels[i])?u.normalized.labels[i]:u.normalized.series[i];var T=e.labelInterpolationFnc(O,i);if(T||0===T){var N=t.elem("text",{dx:S.x,dy:S.y,"text-anchor":o(p,S,e.labelDirection)},e.classNames.label).text(""+T);this.eventEmitter.emit("draw",{type:"label",index:i,group:t,element:N,text:""+T,x:S.x,y:S.y})}}f=m}}.bind(this)),this.eventEmitter.emit("created",{chartRect:i,svg:this.svg,options:e})}function a(e,t,o,i){n.Pie.super.constructor.call(this,e,t,r,n.extend({},r,o),i)}n.Pie=n.Base.extend({constructor:a,createChart:i,determineAnchorPosition:o})}(window,document,e),e);var e}.apply(t,[]))||(e.exports=r)},function(e,t,n){e.exports={"trans-color":"suite-summary--trans-color---14JXk",component:"suite-summary--component---cFAkx","no-margin":"suite-summary--no-margin---3WX9n","summary-item":"suite-summary--summary-item---JHYFN",duration:"suite-summary--duration---AzGUQ",tests:"suite-summary--tests---3Zhct",passed:"suite-summary--passed---24BnC",failed:"suite-summary--failed---205C4",pending:"suite-summary--pending---3_Nkj",skipped:"suite-summary--skipped---TovqF",icon:"suite-summary--icon---3rZ6G"}},function(e,t,n){e.exports={"trans-color":"toggle-switch--trans-color---16in9",component:"toggle-switch--component---3vjvh",label:"toggle-switch--label---1Lu8U","toggle-input":"toggle-switch--toggle-input---3BB7e",toggle:"toggle-switch--toggle---2kPqc",disabled:"toggle-switch--disabled---1qDLf",icon:"toggle-switch--icon---348nT"}},function(e,t,n){"use strict";var r=n(61),o="function"==typeof Symbol&&Symbol.for,i=o?Symbol.for("react.element"):60103,a=o?Symbol.for("react.portal"):60106,s=o?Symbol.for("react.fragment"):60107,l=o?Symbol.for("react.strict_mode"):60108,u=o?Symbol.for("react.profiler"):60114,c=o?Symbol.for("react.provider"):60109,f=o?Symbol.for("react.context"):60110,d=o?Symbol.for("react.forward_ref"):60112,p=o?Symbol.for("react.suspense"):60113,h=o?Symbol.for("react.memo"):60115,m=o?Symbol.for("react.lazy"):60116,v="function"==typeof Symbol&&Symbol.iterator;function g(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;nP.length&&P.push(e)}function D(e,t,n,r){var o=typeof e;"undefined"!==o&&"boolean"!==o||(e=null);var s=!1;if(null===e)s=!0;else switch(o){case"string":case"number":s=!0;break;case"object":switch(e.$$typeof){case i:case a:s=!0}}if(s)return n(r,e,""===t?"."+I(e,0):t),1;if(s=0,t=""===t?".":t+":",Array.isArray(e))for(var l=0;l

kgYV&=aTZp6v>HirW%!Tl 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 literal 0 HcmV?d00001 diff --git a/refs/pull/791/merge/e2e-test-report/assets/roboto-medium-webfont.woff b/refs/pull/791/merge/e2e-test-report/assets/roboto-medium-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..38aebe506e576991c27a659b12d7be9d71534618 GIT binary patch literal 26292 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 literal 0 HcmV?d00001 diff --git a/refs/pull/791/merge/e2e-test-report/assets/roboto-medium-webfont.woff2 b/refs/pull/791/merge/e2e-test-report/assets/roboto-medium-webfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..6b22807f64e95721daccc8fb8a670f4b7c2cea7f GIT binary patch literal 19944 zcmV(|K+(TNC|{x5ey1~n?!;9NdYzjBm;*k3xiky1Rw>6 zOb3N;41zB|cV%K`1{*V^73|m(ZU>}fo>MfQaL2nHfl6&QWn>_?1E^AdkDUGgJvkXe zHVc?)W2lhccHX9#E&KZBDTipqWMs&E~*sVG`^KDyRy^i^8o2`qhvMT@UJ0R4SBKW7An8Lj<&30J__ z41D!G@+tQ$8A#OrOR46f~L&X+Fsgy%M78DR}c+}RLF^BD<_Y5 z=sB=Bqb*5wZ*!ehWOnNvHoMp_GvXm|!rr!SRLkL*Ct@ zZuYwV`kO;kwmbxjQM%i&&{0e)X%7fz6Y4hm4Qg%@oEvD5vTms+>b?H`T59v>hv=1U zU`rreNEU^u(My3pFB{;^mT1El-h?lguqu#oAbCU3_HrcvSL5njeU+(^1U#U7n||cV zZYp#oLby+vWvR90 kN7ra_Sfg4jJ`FT~%^?iVnKB&7SQmRwhmP{E&U8%#8GG)#% z>Hm)+;D3Mze2_E&iV8`&kd%EEDf`sU0YSXhEpuIf@;(&|*EsSjg@HN%`` zjNku$EtD-~L)((IZ)|EX!%vupD)zq4M=$%p8;#IJlSU7fQs^8yiL|Ft&ciasSGqrdqcjY#0BN5$(j_PWEzz1eb!(|OuIJ_fb9yE!_}_QXT*{hwj7kU zy6;8ltBHD5$IaEEt<=FC-nm`e2mN(~gz@5t&CRhLXSZ{x5g5N@E5r*SIyM)ixF~S4 zHE^JnluvdBuYo9K3d9a0Bn&P$h`NPawKM%%2xrjXF618Td|{Wj;F$A{YQA$B?Lks> z3!|IQYlaUEUB>&@E`hPe zBIW-xC`x$?lRY@2gx1?LDWCZ8&ctqgbx*<;D0uPq1N9IV;fWbI4%MgHj!n`J4fCNf$Y;tHPyfTu@qp-J zhQt;!4&jB@-j>20I&|pJVPhsItrXLyL$5VUAPawB6`n((wk&I_(xzQU?n$6t5B2H) zUsEXt!9hS_#Dvo&mtAp{7)erO$&sf(3C0b#sJKmsE`3H!m@;F@nk_pHoGx_dlTc74 zOTE06PWHih3KS|*tVH!iiFW_R>ei#zLw)*E1zWlpZ4+ZKt4^*mk;v1_a9d6>iA>$@*T6~t~$+BmhVwK<|6`Dum74W?EU~CJ$ZT!kdpF4v-d|{U;Ju-;79kb ze|wvm+<0uWqk?$Q*R7^_{iIJo-bc!OqH!j zhj&6AjyGl?UaRwU2c$#ylS=Mt`5f&u{m8d9U+}Eg@o!NP-HrXBx0qu(E37w}X@IIO zZu==<$D}h|M4O6#`xT(Ck5>K!mh%S_?~+78qBPtG&lz74+9A#eyc znb~5#7Sgx~U6xY|YxL-I7#-l8kai`uOG1fWR*J*jyaNRvTF7LeqCkrFUb1~d#Xy8$e2 z0;^lVMg`bu0tXy$(gH3zaE3l|-+VA`t(!T^TmmOc;9(2A?17I1@Nz`{X%2z$20}=a z2_;J|I(Y(+^1G%}pafF6D(FeJkxi{899m#rF0DG8(Or~VkA7z-%7m8(oF}M1J-tJ!PPbl!>0D z%#?@0rLF@(Pa=XbilitN$pQeu3h3A%3wxB63Q$&+O(3-7i6HvQ9Nsv?+@S-ik8Y@C@&*AVM4>_bs8!B;_XDlqV!Wm?Ut=u0ps@ z4m~9*IB3$syW3C!BB+@Y+EwUzazS%+u`Kt?v=ZV|VZ2oYRU_J3KZ9FUG|RK7rA@C{ z<)b*<8(Ffh7^oPTxX&cNU|>kisco9Gdo1!jnyC9O z@%8>o99;^j6vu%AjUE?K5)`PwF=WYctziUH-V#hkq*~_!#hmBK@ydt0G_j}3r!cti zxQHrp#bvXAaCI8Q0B-;b%TVDc=o9!V4m1e5R@!^840eU+V&sF1aW));he81?F6Sah z(^bU;E*eQ_9ly*oxSd6YhqrU}9TH+tdSrnz)3573=J5xPGWX?c3^8`@8USVk?09CR z1+ZZMEeiYvz{rbjb`PNE0ov-*37EC1(m7??4&?qlgoY0jVGgi@2m}^D#Vpo8=v9UH zOuxEk5P2fPCn6+rUPM$xQUoL7B+@2#mrj50zki&SWG14zOhab{A`?Y;LpTS@7=hN2Q*5uaM*67yIR{vJlR?`-FOX=<8iv#4l9GmJ}n#8R2H_6?I zWWO`n{J1iaMzhrpG4B*wcB`>&Y;JAu?C$L!93CB?oSvOuTwYz@+}_qPshPQjrIodft)0Dtqm#3XE1)K) zrstPb)z#KFHZ--gwYGP3-s`&G-P`l9zi)VGWE6zBdw9Qzs0s4j5Ay*jWq=5PSGal| z{9-`!V1io!008*MzQrd}iYKQwp1pjv`FsFOOoP4co%bI=imO_Et`YO zr~r^yE6mYw>1I2ZCM=XnvNE6y?K5C^<){cGsYMZJaw}lR?(3ekD_Sh1w8EV^A4F!c zTCmk2B1BSKYYe^jCB}0CSrB@ZiJDa7)G{&6PPgaYD2n5EN~+W3nkM(FrCj5BR*oX< z!#)z(=tTrOcS6v4(8p-n{!)~ z>&eZBGX!c(13g49*OD99T^gpsy8AfC%f4V|)1+8c%(u_85^57owR#Jr|#* zlp7!=1*qQ36Nm!{3>qx|+%fDL{mIG~KzS0Fx)^{N{{#5smB5ZSdo!>0b%!9qL4z<) zT@D_q1GR(jkkm*suuo+YbCHxQ+y<&)Tc zGR@7xNn--ig8we#D!O&6zs%0j^0Znn)F@T&(o=RdfxPl3-Ld(mGURi~ZpfCg?Twn1 z<@WjgmuWV~V(vKX*Leo~71dH!D@$pb{3i&7nPYyzJ6TgMDQh6os6;FioHLd&L=P>- zd#Tu%ZM>}x3+gM3qtMxkMK5?hM|+g6bCJ(gJ0$3I?usnmJ8(zr^w5G=qdOX(luZpt z2twsK@rIAPEj=38h^A~o`9OtRh#^hp#j9(fCg&{Y|8IJ>H$sE^g{Hk0k%dxCZ>$+Sc!%TrHBLqrS zdq61?2ib-t1}CA1SceNNBPWu?k^NjkkWNnwjN&0mAtn{V&_p|j(>#Y~@Y385sH}T~n8TK+O7TAgDL+ap&rwS!#j>uxgs{T<_ z>r6mjefGMP&nuV@x(wjrElL%vC1*E)UeK?tBaf`np@*U?2@Oc=I83k~`CHF>aMX{v zptu(;yuv4XS@{)|ea@KSYvg`}5AW*xC`BTgmpO+pic$6f?RWfxX59$ejQx z7@)776gxsuBzA|lXqfQ;=A6jM2(d|o(l=2-i9p{`!Ub?$|m^ zb;e7hsq@+TlZay8iY=F_7ZqLZ$X}qy_LE8>M&K%6ZaL2LR=1M%X2D%nT{DFkbXp=u z6w}iik_-$<>L2xJDTA3B$fwL56;p4;C{9Qo^yZ2Mg%aqjok8EXL6pVxQRA{K*P*r| z#jnXB2MiRIN7j%Juk9x0sO-dT?&#mO&zj?r{i%;>Vcw6jxxvE>kF0%3HP?=BPF-up zV?7+e;XYWL*48vyS$I#FRq#i7XNuK?oTFT!#&vBrA>gX(+WB=X((tN_E?G9uIu7dn{2gKa#od~WPgt& zX-l0=y{W7|FW!X=!4xoTRTC6g+j*eb6Gau24%AXwTjlVIMtz#PU5MBvu2iMoM3v;- zi7vgBov>*}9DjJ(tH;yri?6Gn<_>Ys4OsxEqL~ZYD(AooBvObIL5UQUWC_n7;=RQU z&T=xFlEpz^=-AtLccr2&9u6pBrlmdv^iwv@2VsAGa&7tl%$(96O+5^qAL!>cabUX{ z$a4hraHGLbHf4DZ&S!{_rvQ&24P&oyMy%$Jqo_B%avus@_2N}fJTx0&*-4nv{K$c) z5NjQ-aEoGxj?gtXa&;bCr_GSpV3jupDw{F!jnMd}K$vL82XDUBHYC|%i|iwF#k%3g z*?TFyNgZEy=NmS_(lqRh2U%;pwTG&)8onuR@ETAm@9TP}A~~D+x7^pi1`bf%)g6yq zd-iDFNm!PU%Po8cLZh(E`*mY(m}EP6{SWM$Y#F6%M7JmMbf2@gWMN9w4M>k0N}@J) zT<}fXTWy@;!s=ny$psg7e#t28V_pNCD@enxyh@?FV zQ??#A)2(aGT7>iWFyL92o{i|Tz}-<|I@vEIJ>V+u=|9Fpy3_~LH>We5VPTe-(p;j+ z50h~tbgdx0G{pNd^`*i!t)39l`nWVbOC*BV@XV76m`q;sEwbdbu-wO{^M<&P2SyV&34LKO-6aaYoM4rB{m5-=QcSStvcR z7fO+N-HCkCkKCUA*>r574cTmBaSP}CLO_Qd?@kJRlx)XlTHWkg??#W$-93@TEPD{M zs`{q5UNqSMjRqA5PMGJ;6jd)psz>nF`DOQpb?djj7rh-goFwXn3w-E#};CL}5n50K4~eTuRZ*a_q*0jC6GB$zP1MDah68 zWE#ZW+Ru+WnBb>DrW2ztjV~ZpkJP(fZ5u}CSy4-ed>w#91P~ei zL>FcDov9<`d_v87cQvPyN~E$9t%}{CsuABVjz6yY{C&>r%HMh=jStv@rsLBUTkyUi zTmK070a|Qq3Nbj;&(6Zf|F^Z~r4P|R8s^vAIA2u1YUdgLK6M-$nC;^1T_*-dYpwn+%{p`_?e)~;w)zaMgoY-bmWJj;4MR&6thTA19?rn*mWsZa zZoWmbyI<4Y5OZ&}0$l5(na-+(fmA!YVlO>cEgrp_VR@^}F|F&Td?wCi#7@}W@u>Tq z7{4fQlUt$tVYXf-<{q*BdLK3{l`V|bw9K56krz%8{V}{0i8!P8QI%hCNve_=>E0c^ zbbP=0^GH1Dq<}y+~NmAo(eYp`wp?d@j-b9rDG^Jqq zq3(+cP2xlrs|PF&SAykR<*jDvvk4D`ySQ`QS6DIXYHwl-4hy2+M0Xu_nezWqwiTlQ z&Ec1z0}#B{Of@dy&{ND)=P4>g9es6;&M-zbYN%d?qAzTSj~3?aUS_A51LbdD4y0jH z`zJ-^>)~gG&q7NAba==JrSU@*y6vIG1yR7(F7$AF&bEJ@*-;=`Ewn%wv z-`9rxB0r}U;iKy&RvY)&yolE2M&m0VhY!7z72{)=M01W0^9#BY792v2qGXNb2Y`ei zUoYR_K-ZW+J6d4q!!-}`i~n9sx<HW*6jBj&fpIuhp{N3C$*`qw%Vr1|58`fuU5FBeSSX7U9YN#WdF?Z2%_1?y08zEh1g!$3r zH|jvu9|4g5v^TT-_JKd&15a1&BD#4xiG5IuDm8=eHIg))rMnhO6pA zS-VN96%#{6(OQo7uC|t5&Suc=;~P5Kx3QVvzX+!j>b}9q{<=H<+sQAF7hR={oQ%I- zi;VQ#ERoTp=;`Jbeqoshm2oS z?S*~?dlup zlyHJ~Pf1?MQD$p?@a+=v?B`SV^4!$S`p&P=hdYN&KWhsLk~qsw&wRLs_|<`~%aXJt zd~O}%Vy(3|mUJG~DN8j^*U#6_uKfpnFgaTOHPt0`x3jLL?p(_`%dx=)t9)`*HH~_^wi0Sb&t0!PB?c4yJi;kqr>B3OAbxD@{oKEe>OgB+Tk{_o0rG{( zYu9^-bsaNOAnjejf=ViA^J&=g$=PdB8Dfj)4&R<@58s*#PyCh@O!k#-X6E0!q?OYyoakUlR{=NBi0NK#g{qJOT+zU0;^#SPMX8V&D z|1R|B$p+8SA92ACQq+vt@X)OE7)VjgiB4))cQwqT1PPM$uZh|``R_}(PI`fdee{jZ z0VfatG}U^3H2MmIQ}*qR-1Mm!Ih-Ri>jf!3=~F~}R(v3d9G3_&y68Oo6J1L!A(OqW zohhD91W)Wt^n9n#?tbx60CgqyG&nOpDLR?pWSr-1=C&N~)DYOqz44_IP0U^PgRSi? zB`(eE{ocbw?=GFL&vG7!;vPooBfBLe5?c;TDH*5CepnvT?EET<693B1NNK!M z8%IhTzCxuca+_istyede?=N*NvBL{S3;5vN;LL=?f{2YoJLvmTpk?mh=4?hV#nNm@ zr3+RuBikdewhy^iEZP72%cvO=-c-BXe|#5bZ)&I=tNH&@B9-b89t}`{CgBxze`fm< zn&ous>huU9nUTn?f=#aqj%tQlg*&6}g;w59@igS({YiIaZ~S-**}D(74-IQqC$0sw zU+#=;3%3g+zzz1{ZlsQRchWBXB}>DL|G$@*Y$Jq;(TIP~UNHvvCiadTNFRTzkL@EB zXpmRb?i7T^4Fs72p_=Hw+Zk!Ezw*LdCmE8;%fcGHC<)P6=S^?wd!h6H1wZ1TiwKH# zcZ*Cjf~``z>+#*QligS?cI0rFe8&UlSKY5DG>Wy!#nZ#*ycbVLPrE zqu`tXa$Q7PLY$5l@!rT+@oztB$pfKzxR_TOk$K_d;pm9IkNRe4O0O*Ggt)(JhiM6!ShPsX_^~a1GKVg#eVrY#b zRL@b&_+rk)P$)0YzPbX@n0-`W5P9agQ9Y@C<3YzXG&V~c^R#jDGV`+L z(gORmImF0F?#)oPzzDdvE;=lG(iEAnNE`OFc6HCwBEt*}`IxF={_ZB{zhvWO_<*jC z{Job_xX&SV{Jk+{=p=cxzb<_=A}nnP8&w66FSh9YyzlhQY>A>+fA5No-S;L!OR6!2 z#Dsy7n)u=H0&Jv{;ibRtug>%kVwt@+k?$n!ln~G|@loRVM?=C8FD6weM8k-y?kv%ovy{nkB|^vEfs(GMh2y6@A`=tjFo?Nv~>#hQmqxea*a-SMH( z!?b~w)~;Kz^fb&qlHeUP-Pyft0J&jKSrSn!W~kq1iI~+}FfPnd$Ik1Whg%1&2S*%4 z%-s8TyYJ?5ge@-Wa52r}m+>sRT-OuC^ekv2NEA$APVqblK(dJ)ZSi= z&+xpxfoavn4gM*kQnA%U!*4QmqZLb%)kH+q^*zm9(fCD0EnPL$;;yLVuBtXI znED5iVNcFZ70)iPz9`&#ZhLO4g1_$>ylfBUL?YU~V^suNk@o~g*o1i^jrQQwsihqL zgSms=bBjU&4i>Xzbl(lJRBJbG~(1x#?LM*`>i_6Q#uLymExRLhs6jahI~x^!_3Oac)QT6M>lRVE{?2zhERQZ8q%!mG z^Rt-Eo$Q~Sw~_t^{L8|UBhnp>43caI6b5C6{p?Hp`kHL8(&|*V7LLVtUm3TSXx`az z;ZdoMrsiRm37+GDHpRYuE!Gr#e>?N^!HMuDD_+vX)goWwzTDej36crbc|g&aOOM~@ zayD|^QbtWZR9)Szl@3)?pOunPKjR%q*>ZDXz(#i_UT0>;MRc$GfEBRZ*$0AL~soZ7n%@ z4V=83hMu>%QkuZv2^stG5AQDpM3WO{eT zWKmmUv*-{{CM3>qNr>bmtT+2O8cMgmny zolnum@6dk~Gv+Zm1{7Tb%nbt_tg4>Qd0(nl`QI9eKXz*;yV1?S2 z-YhC4KF!aBZrdW=U)_J8w!XB+&fY+aKA3A4ijvFLHuNCaID0#~*xOhW@Mbiq^Yf#L zmF+oBb8_ZMB;%HRk0GyDE8=I<1b?V7#US+LhgtPxGwn)fn&~D2e*pM9Ze|wFEVeU@ zlLck@Wrzzu+g=Fs;Pa0ya8jd5nrr(U#xuyt zcWzBn*orPr3vkXCO(n3Hojf$VCKka*jh3exEVyLQ0~M)ofMgYK(NkfRz?UppsHoEV zq(BKGmB|N-oXKNz90RB3V!#zxKtoj!{h&>n0M4dUK_DclbNZt6eQu~$&MUzD4cxc~ z7J~&|ed_B4>YN?-r!(CwGaGY{%g4Y?JwkWvu1nOlEoja@nwU6sdW4G;#$znaskjH5 zISu3q5N-E{YeDXiiI^;JcZ9jx5$2O;qxTeUfhkFts^$it&}5u081gC~u*D$c3#p8v zR^T=9eEZIRG&jrsnRa~r%SlZ3oi}NT5zt?~WRs1(qm{vpfo2sx7mdI(*vr?kW?gy4 z$$G7ueKW=_qSjIqi?J6KTx=}Vr8RBasm4^___u1#z{JkkxDS3}9|pn*t!djdNKZ=v zV=j>uIY!ZB>o;TR0ZqhE8Ifki_?$|`qlx;iGQ1Ju%*Pt9r$E=;*~&C){moFc8(s_cEQ$a-#Btl`=;OelM^Vj(Ap8~Q_4eh zYEcCx#anq?yIxcA@$H~LY1LT$bu&um?7eSAs`iG~7%FDr$&@D)=2$>CB^2Zv;f{|@ zX;-WlwyoqX(^I2~?)$gi=E*Yz)6UsK@2shWX3stapf5b>Q63$K(``BwQMhS!v?t+i zN+D~}%AHk+>0is*c)0}(4Rbl`PX{a4!g7{~$bViUKL23*RiuT{QdZIwOaSo1FvAyc z_gF0me777;&JDDcYKnLG9(Fr*6l@ zY#&o&(;NK*l4skA(7%bIVQgxnz4ER}zqU6*EX4zRq9^ax(&zq&g71ihA)t}~YZ7ZF zS&IjgP37aYoYs>4DVk{6*_!xVoX;S-c=27iP1ZoEbEFb@O6#;os%g3t#wJQ)boA6U zdI&~YM@K`wDjobX6|CLvQkO6kC32Ft)j3>dj{Bp@Vr*Xh4mN^XxlWP8mJ5#M%Wu1g zIqxfH-rvAdEgO~F9`cp#y^RlqD!@^HDy9kMBA#trD^4lJl<3`*@GlZk&dV$&XfPOD zT*~=fT<%l>x@y{0LTKmo&LtGv&mD;gV^6Rlp+D53MJAdo1t!F=h{nrf+OpXh3YwxC zIPE3RB>whKifBaV<}rPJFy8g}F5Z(#DTvwbZpR83B-`>a{l_A)^((0pYu4-F3pS2m zhsiArso51Io6M^?X~PPf$`UsGXIgtw`^hfz^>6>RB=tvxCH0LpP=>=v)c${3J-h*d z5qOKRZay`}4>#_c=OVTgRV_|uDFOq=0`y(UOOQ@+YE25sG z8Um48Jkh^t5o*$3%#&f|^DhQ~k3x_XUI#m2V3h$cSbWiocYkG!Q=_hnJB5e4d4`3% zUUCc#^~8q42gqX_?Em_R(ZBuocUQR^m7=}xJGq(SW=ft2`Ya&(eF z04a*75*0$s0ZLhthZ2ppzqBrhCG?EjB^&3SGvvKEmm(P)fOmG$Snpn^&?urIl$n@E z>UVF@1@vxAOhu|o0^~joAaA=f>rVCA8F{z#*8mR_@xJz@IjUrcP5d3`@8aINK4sr| z(Hp-6wA|Odp}`>by4~aN4b(C+`#)DLy2uDaV7GtlaJ|S@`tK~XGQjO$Ks%WS*3idA1s)ESNy?K^`Eshi1 z7e8?VJ^QNY1rCoccjf}mO{?95sLzrZ@N*FzpCEFK*14`7d}7);H*6Yg$cm|&34sgOO#S+p?lkz={_*Gkf47o9ES;18{at>Ax73U6 z*FGm~tx&?U+QnvJ0o8ju(mWYm{^F2g(>_lhLbpcW4(&#A8F}c-xw6INy89#nxEupdDShktx(- zA3ci~J7`wk$L;=;!jH%C;2}iAR}T%-b_X_>+^GR4$Fs~0Zs(gqlt#<6^Hx6B6V8;nEaB%c# zix}B*gE-Us{waOP6rf4zT!=Yglh3qBTcMCNY?DuwYg~dqqNp0HfD8nNX0Gey*iLc# zmNhRo^KS~XWXkrWkS3X+p;?3G_2>Tj{eS*e?mpMtK3>b!e@gLDw8QiB@NN6vMmAlg zKcTY9AnWNc>7eCx&_q32D@tQkvu^KUsa#37^hK=V>3#jAXg(DvFP1_k+h=feq*-m7 z#u_a2=)TlJYQuhQ;QKX@+4CG&I)KO7wj?^Tvp%lytSzC2+ePuqsF0T zMYC+k!|n3mtkz%?|a)=>4_B}~`gI1!7;Qji8FkNT3vJ4R`>Dp-yF za;}a!M?1DYF88AjG<; zadGrupjpY*ftWcw&2^XyPi=u&9p((k7g>1Kdx?Ys5f(%%8mYK0LJ`JSRRJm^WuP_R z7>Pvtac(tU+zx3xjVP90^Pvb}Tkg0VvasZ5GcON5E!0ukFl0ic8nBzQ7L$l;9YUhc z)i8EeDbURMO^O*~rE!4_qkmaQ)O;3EAuCcrAwdB=28*)NrHlv1h=5paj`N{W8km-A zM+(kSRbPZ*XuvW+AV=n)xl-jgZ*zki)153tn|kjTHL1OipvvG>99g7ij0o)}Vdz=f zyi-QlbGnS9dwo)oZ2D29q__$Ny9=G&9xF`V(V2fzpt?wp+o1##_MR6cBF5%gnot)N z83b7FMW#|rIn@k+Vpkg)1qe=!D+BGS)u<4oX*1z^D2@xS2sI(uQi3GE8EDeU3HfX> zdYgz!>1_xrlX@srVcB3ANGlA|@0Zb}kDpr-n*L&w$YwIqw=U1P=@pY}hHu`Sc?=BMO`{DD~L&fAhCp| z7M*Bp@mazPtJtn&xgp?#KCdzf+bM$(#w|@}BNR(Yp2W*RWeEem@B@K-VhWlkQ$|U5-B2ym&-z{?nu$|G!6fzob3Hr>Y4qA0H`_yb3>_@>SS;S^6e_ zMbT)+yrT{Wf6zi*frm7nM+>QWE;-*qSrw1sVOC!d!041ga-6zTMc}Ha0FTX=0( zo9-i1R)JaEoIcHG9Wa)Za>RI1lIRJNwUReLAreeLhrTFM>A1}RgrONA0B8iC&t^!H zrsE{j`;hl0uBRft99&2&3c$$G$L?G>0;Pqr!C*f*i&ml<#=x`EqgnI1#Y>j=dd&4B zBzieqUxmm64&U)A7-{UD0gDM*;86u=sj?A@4%;Op+-##Fl5^~IxE~H;gX_I(pR!_! z7PxuzHp-Z()FIz0MAva_JKwkh+DYFJ@kL}v!Y;N{ujV8hiCSq<$xFFFE0=k!L0zB> z$||M~*nv9&_rc++2Zpv0`q5dTZHOv|Mph_sA}V*lNzriv)Hw+!MxlWK zG7ihy5OZM-KnBfFO3WMANQZZhS2g|53M&hgpaw3ZR>W|vC|V<5ja5fL$88TLt{V%e z1=vYo$qS05m8i|5HUO6ZlPw3Wq-=~zL{(X(nW;i)mZ)CuP_a}CXaX~hwcz-X9;nT< zVC6P1Cb&J>FuBSuuWmB9yJ=`zN`7A?TU3-;e-AZao83SOY=s#o z4BMPxW~#c>c45(sAdjd^T~)HgmnpbaVo6dG({B?gATUdD1+-o~F0_dirO3r%ppF;> z1X+PwhgMgU4kj@us{wVB?@JY784E=$IELE~6}ePsix6#*4RnI*F)QL-im)s4Mj1jF z7N+ybbtpL}pq^(DUbNFmu-5SO9FQmpG!=leP~1te=%>DgD|CwjH8RvTDq98y^HjLD za2Iq08p;0e)J5%P1xSn~Nz<^WXiTsnZRBJ{qcjIbugeB|Q8qo)HO%q>8b#O?P}yT_ zx8a+R!^%e9@;b`agStMYB~DXSu=3i|i&_*> zGNAw(9li{#M66?>$NhZ(ISZF{k;o$?1~^hd3k)ihh%>B#1p1*sylupgk#0p#33o=g z4Lya%=+%Gxc2t*<^y-$3Q!Ck!8El{chB8>x=JSHN z7eZ7~7U5W4?9?7qOk&^{q~Z-u%77L!Ya%J+ht8>IPEO4^m@#@`P`|bg_R|T zvlT?`X?0;QGrS1AJP=&f4sF}@xVo`N=V7#eAPJ{T-`{fJlzURKzu>dkZvT84JFSY+ z)ir2Uh>rAF6J0E^_bnxv(kmb+NhXVXr=69e(I-V=y6S3%HKl}YUuZT-FC4#MIyGc0 zaWcdePFppLdiswg_M@u9!Lfsd6c3vwcNUK}{*yQW{Dc}5VprJH)5<6ElZFd5VMJWs zLu@a`w38Q1Zhl|;FAb+*toRJWALwysbae6bB{ueW&cPh(U#TNroxg)px#;0n(R93)?^>wDp4ahJ)E@8=jlf9&@MdSrEP z>3sUbkCi?40=2b!K5HrBSxoTxa4Y#V0RFPBQ8qg2l{#nNf4$}Hb9 zIhUE@L%TK!XY*1U)^<9?%+S*_jx`_Bn}*0>o2Dy|aZyg?$_r4M0vCMUG*fNV7S~rh zj6X@{iM${PKkYj>OKyLRa!A|?m zUF`UFbv+E+k4bGWh^#K6^S;KQ-Bx?1>s5-LkKL9-2fYJP)~L8-hX9k(m}x73 zb5|*=y8B$vf}yN=k9koo#`drST8l}+(b9Umt1*9j(@-etj^vl4uLQ$NPp%|FNePOA z;)|GS8G&(^LmPRO8oWjoJOG<~gx6kj zKrUb<$G7!Pg3bG7CS!lsnAV!>i4hDgxF%ypJ?B{X6ZZ5zwHAt2oJ(c;7%@rnY80h< z;g)7Gf}DgzlpsObCc-qls|K1m-OpN4->pC0CrCs;Lvhl13+X7As@;V z^kUPHwjDTIe+3eA*V7VUw5S(BEuG8)A+a+(mzjoHtql)=zG7WuQYpJ>t365PS%#t$ zrs)=Lw55h;4TCv!P@fEBazikR5t;ctu6)xo$Lr`xoM^Ey^; zhI||h+A*-07+tuYrB!5L_*wNFi@WCQw{N?v;5PZH&4a|-l&rnIXJp%VdUNEV(hl;q?NZCzkggj^YWdx%f7X)#KZec4a>D zgnw7N7aPpaV}|)W1}$(lRI|QtAz%YAh+x(q#i%cCy$0KHqGczn%Y1qaBw8&(J0m*w zl_}{EnYEg7e{>eoGcZq=6wBt608aHf^zYvaYJDvQCD0T=QZvGB#nGdb`}C@9yWs*< zqZxL<#lW%n)@WmgI8&lo4pp^Q5|Gf>h9`9mDODj29{Hr#c(3`Pm5@}1iiv@0fC1B# z0+%MV0!r~FP)CYQ6$IoaM>GyqGW7 zw3^B8Dr3f`Rpv~oT$C4um#aha4<^B`AEu$!hwYmT>DV)<5s!2;LfvqjL zV+BMgHH?Vh5;P730gTP}7ZXtgR)C|EzaSZP99;3T&V@ziO3iebqh!^~T78CvbG;wB z+pXd9Wx7ujdj~dpK$rDDYun#HKDoY8fL_tvxwT^Z62+MzW9 zbTMay6UyB@p2M8bo-qDi7HJD?ml`Mozoa3xgE%V$mk10Oj%|7sscSBN#YH=PY5~SX zWlcKqXV6c0yd@z92m%3?yi$!Q{TuW~#HeKYNU1X>FlBDLi8g1?+t6V1qz9EY6!eqO zQcF>8g|XEw6F)BHYb3E2=oqX^NITNS4`TMi!0b9>rZfX4fgkgvC`tR;Yxq1A-T zytS#UhmcsB^g)p`F^zC+Z0W5C&B|$&VpIRBQA2sMt>5N;4FPQ~aagVFp)sHCCLYwK(2X3F&e8+aMy1IYksd#JO z)$rVCqXQg{)G!Z|siBJu{+zGUqAl|l;4NTgB%gM#H@>HLR-V{zqUSyBs?1dAWym@RjTVXQt2_FD!Zt``Mt{cbQfjs5taTo;J-O=@6BBYhV!whY znj$s3y)HJ4tF}Wq9vTnK{H)XN0FB9_eVd_0qgaLptQJ#yH^A_?$pbU*tWVQqXD`NMe?a@cUpjZgygj}roMdzfpK4FAF_T7uXpZNp%H0!*6whpY+l3pgBf;P z@Ve5!NsH@!^rOSbgFjreoTp7WJC6?p)zqh!z5RaAPet2AjIZk;z`1AvBJa?c-Ty^b z@;%~PKGM5q+&?@)1dlDcL+kCjj(tTt^%b4qH01%kq0{Nmr_+{I9`L;kll?K9Bu+(2YHM?(@^*0_=*1-(^DYwRhrebGyl`tJAVSC7G&tb#rb+TuqYzMs9(SRKD@bX~D9 zUnb|K>?dXL?-c&_`uJKF;33euK_Wia(DyZQ+WIv@xxgAgI4P3JHfbob9a>cGCYe{^iL?O=w} z38Cl7;e4*Cqf_#kUcoJB%(T$PDh@ptU95IWM;{)7@6eo;^-=9RY=$w@E$4V-53%#K zT?UTX-qsc!G9wyM18ZhdCuLGjaE2c4AFR@|Zk6T^RyQy(_sLB|XBqs7slpO<8$%kg zwtlNN3y|nYVV=laV4gMXmSYVi(ynT(=w|rL5*IVYnBShS+PNXz`_ulz@`(2!(xJ>$ z{kCDcx)pspF;(AQD5&Zt*;PKuDWlaJS(Q;*cP9qq%Jmm$JF_JYzAtJO&dPWb`fvqS%F)xpls6NBeWFd}RJmbM}emBGC zUmfS%5jz^+Z3{tA%*sz@Ed7QZt|%fKeDL zZXU%s(&u7ajn%{3MF)muWG??^esK-L$PP!A2aQr_NBj10fhQA#|O)np8Po+NUIVsBtp!$c6xjGIKx zO(ZcU_6BFdy5_nXu^XzTgblGa+A_tro)@~KaiiNWOBqCzV{}^nbV*OW9l+~pSESkO zoQ3EbfxshSY@Jr(`I;HW8|q*Nk8_xSX*~qP1R?+Aa%I>UFS`v}-k6`E#(HN{^0bQR zQ*Qg_xVdo76@-^;1wGrG^jO^baCC|oU9R5P#@7uqIE3DbZ#IfPtPCuN%Gn)J}JCf0xLs^W*emisa3)4B-p)t zX}gDO#|O}KZhd`m-iys!-=gKD%r!bbnG?UdRk{Fvgy&*l-N+~(_3412n=-WYpD9_FZyjV$NazLvb<4bKxoY2i00oSk0jno{;dIr%4Z~7T zCa)pPU8$0m1|%|)Ne@agjLNAV7H*>OhpONC+o3<*h!iH z+CU`PLIGiU5#eMIVCkodd4^oEZC2tK1dTk^U>4mJE0eE{F#cfyuhu%# zdOFSLmiZ61o7rro`RFc0$reMaJH>tL%^UJL%Nz)$nnYsO8X(jYAvjA^91 z)rMYdiwU4NlKh`!aNm%@UO_}e1{wFTkBjncGhQiSEO^k|?s2nfqmZhVo=NMYDk@%kV!_aJRPi&=s9ZstmOCiohudA{yt zJF0#QHmlaQc+?c@c3GCMB4@eJSC<0LY7ZCp9B(p;eS$A2bIdMJ$^ysCjCRmxcUNt9 z%I!8FuwoYGr%2WpaW1t`YPy!B3J6evEq|qt6YI@CXyIFMtzoT!8UA7awf3TPRyX;8 zkq?x&%i`RN{|f~PF1oJ-k9HG_JZV>SSV&}{`E9*r89!`>m)27M8sx_F-~cT{aBvOIeOg;-GYV958Q)e=NbwK zcl(&cyrzARQiXwzZ2o}>67T)aK-m~>+r#lxaM(Cr-f}8=|6@Bz94-x3lOtnxtXV&C zAdT5e?#&oL-0E`b6E~fGinUDO4$7S)nyn_Y+4x~<{50k=&<=<5n9X&K@nyx6cU0rN zA-86jl#@D0HK;3jNtsiEXNxL-bYPvI${JK!4F-pdP=~r8fxaMr-{@71>&|g1o(|QWK$oRFx(%OK_?k?s*~^4p+*mY zgTPXS@M#%17#86i93KjYAf}o_x^7`53LhOu2U~0$J*HyJG2$xr923zJ$T738LXL%b z9dm4$Dvq&(i|K|r+%-pTo>V1r3s`Dh@FIqK|E!-6;HyK_1qc)&7=b4*L?UEJk+uOM zv;^4a$(K73I{e{D5TVLftQ27yfguCt?sa#;LVKed38n(LIzrS$7$DgMBz|EB-V=#0 z7r`Mmp>2u8qh(Sx1Od>$04AYjoi9(ujiOr15q4BO6%tC)U5Frd%%#)Z`6W_)h(KE& z{Ir%BSV0Ls+mAXgo>@qz5x8V2rxP<5ITS(HM}Yr^{#^31MUeO>#^5~As}`!NKv3`l zE8*n24Qz;&$|eegX#xnt?9LKgXqbfBb1+YmeCY-XAxWPOb(##B^@=#uW2_#NV8tCh zQZu5a(u!3%%uHb*f^z+|(lBHx66vT)p+d=;2bU^~NIG=(W2eB8Pn4x4Hz?`bGKwA~oAjnIfJ!ZX zfbZZ0)Mz(vRtHyj+1xC0H)p{kOO~zp$iu3~p18-;SCC`Fnsr`2Ig-K~fe$~v{8bAO zByeZD7bHZX!W;+}DMFMO(fZsKCsw>W4t+MDQ&{0~rG#%+PK`PfZd`~8- zN-bbPZA(oSg8YbbmDy+kf^?7xvOzA$2Zf**loqLas$0@haIG|h$2(6_u)CW}h}Vy4 z8Qh>e4x#xgI6yYniaKoK)N+{hK_!Wm-Hf(Vb&#NHya0>p`jEn8XC=6)e(tJhDe3@&Pi6N-D|}dP8l@tn0Tu^1<}W_~Tyw r*%4{n(1IO5X;qklHBkzUI7M2L;xuVWQe`PkmXBqZSY+CR_}BU&lhK&0 literal 0 HcmV?d00001 diff --git a/refs/pull/791/merge/e2e-test-report/assets/roboto-regular-webfont.woff b/refs/pull/791/merge/e2e-test-report/assets/roboto-regular-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..d0890af2110f6be98594dc5f96f1c950a1d58ecd GIT binary patch literal 26280 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 +index.html

\ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/clover.xml b/refs/pull/791/merge/unit-test-results/clover.xml new file mode 100644 index 000000000..e28014225 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/clover.xml @@ -0,0 +1,782 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/refs/pull/791/merge/unit-test-results/coverage-final.json b/refs/pull/791/merge/unit-test-results/coverage-final.json new file mode 100644 index 000000000..66fb4dd36 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/coverage-final.json @@ -0,0 +1,62 @@ +{"/home/runner/work/passport-status/passport-status/src/middleware.ts": {"path":"/home/runner/work/passport-status/passport-status/src/middleware.ts","statementMap":{"0":{"start":{"line":6,"column":20},"end":{"line":6,"column":29}},"1":{"start":{"line":7,"column":15},"end":{"line":7,"column":38}},"2":{"start":{"line":10,"column":36},"end":{"line":10,"column":39}},"3":{"start":{"line":11,"column":31},"end":{"line":11,"column":38}},"4":{"start":{"line":13,"column":2},"end":{"line":19,"column":3}},"5":{"start":{"line":18,"column":4},"end":{"line":18,"column":30}},"6":{"start":{"line":21,"column":2},"end":{"line":21,"column":19}},"7":{"start":{"line":23,"column":2},"end":{"line":25,"column":3}},"8":{"start":{"line":24,"column":4},"end":{"line":24,"column":64}},"9":{"start":{"line":28,"column":2},"end":{"line":30,"column":3}},"10":{"start":{"line":29,"column":4},"end":{"line":29,"column":51}},"11":{"start":{"line":32,"column":2},"end":{"line":37,"column":3}},"12":{"start":{"line":36,"column":4},"end":{"line":36,"column":73}},"13":{"start":{"line":39,"column":2},"end":{"line":39,"column":28}}},"fnMap":{"0":{"name":"middleware","decl":{"start":{"line":9,"column":22},"end":{"line":9,"column":32}},"loc":{"start":{"line":9,"column":51},"end":{"line":40,"column":1}},"line":9}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":2},"end":{"line":19,"column":3}},"type":"if","locations":[{"start":{"line":13,"column":2},"end":{"line":19,"column":3}},{"start":{},"end":{}}],"line":13},"1":{"loc":{"start":{"line":14,"column":4},"end":{"line":16,"column":30}},"type":"binary-expr","locations":[{"start":{"line":14,"column":4},"end":{"line":14,"column":33}},{"start":{"line":15,"column":4},"end":{"line":15,"column":30}},{"start":{"line":16,"column":4},"end":{"line":16,"column":30}}],"line":14},"2":{"loc":{"start":{"line":23,"column":2},"end":{"line":25,"column":3}},"type":"if","locations":[{"start":{"line":23,"column":2},"end":{"line":25,"column":3}},{"start":{},"end":{}}],"line":23},"3":{"loc":{"start":{"line":23,"column":6},"end":{"line":23,"column":53}},"type":"binary-expr","locations":[{"start":{"line":23,"column":6},"end":{"line":23,"column":26}},{"start":{"line":23,"column":30},"end":{"line":23,"column":53}}],"line":23},"4":{"loc":{"start":{"line":28,"column":2},"end":{"line":30,"column":3}},"type":"if","locations":[{"start":{"line":28,"column":2},"end":{"line":30,"column":3}},{"start":{},"end":{}}],"line":28},"5":{"loc":{"start":{"line":28,"column":6},"end":{"line":28,"column":62}},"type":"binary-expr","locations":[{"start":{"line":28,"column":7},"end":{"line":28,"column":22}},{"start":{"line":28,"column":26},"end":{"line":28,"column":41}},{"start":{"line":28,"column":46},"end":{"line":28,"column":62}}],"line":28},"6":{"loc":{"start":{"line":32,"column":2},"end":{"line":37,"column":3}},"type":"if","locations":[{"start":{"line":32,"column":2},"end":{"line":37,"column":3}},{"start":{},"end":{}}],"line":32},"7":{"loc":{"start":{"line":33,"column":4},"end":{"line":34,"column":63}},"type":"binary-expr","locations":[{"start":{"line":33,"column":4},"end":{"line":33,"column":46}},{"start":{"line":34,"column":4},"end":{"line":34,"column":63}}],"line":33}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0,0],"6":[0,0],"7":[0,0]}} +,"/home/runner/work/passport-status/passport-status/src/next-seo.config.ts": {"path":"/home/runner/work/passport-status/passport-status/src/next-seo.config.ts","statementMap":{"0":{"start":{"line":12,"column":37},"end":{"line":27,"column":1}},"1":{"start":{"line":16,"column":2},"end":{"line":16,"column":25}},"2":{"start":{"line":16,"column":19},"end":{"line":16,"column":25}},"3":{"start":{"line":17,"column":2},"end":{"line":26,"column":3}},"4":{"start":{"line":29,"column":34},"end":{"line":40,"column":1}},"5":{"start":{"line":32,"column":2},"end":{"line":32,"column":25}},"6":{"start":{"line":32,"column":19},"end":{"line":32,"column":25}},"7":{"start":{"line":33,"column":2},"end":{"line":39,"column":3}},"8":{"start":{"line":47,"column":50},"end":{"line":105,"column":2}},"9":{"start":{"line":47,"column":75},"end":{"line":105,"column":1}},"10":{"start":{"line":107,"column":50},"end":{"line":139,"column":2}},"11":{"start":{"line":107,"column":75},"end":{"line":139,"column":1}},"12":{"start":{"line":141,"column":49},"end":{"line":174,"column":2}},"13":{"start":{"line":141,"column":74},"end":{"line":174,"column":1}},"14":{"start":{"line":176,"column":50},"end":{"line":181,"column":1}},"15":{"start":{"line":177,"column":21},"end":{"line":177,"column":27}},"16":{"start":{"line":178,"column":2},"end":{"line":178,"column":66}},"17":{"start":{"line":178,"column":23},"end":{"line":178,"column":66}},"18":{"start":{"line":179,"column":2},"end":{"line":179,"column":65}},"19":{"start":{"line":179,"column":23},"end":{"line":179,"column":65}},"20":{"start":{"line":180,"column":2},"end":{"line":180,"column":45}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":37},"end":{"line":12,"column":38}},"loc":{"start":{"line":15,"column":51},"end":{"line":27,"column":1}},"line":15},"1":{"name":"(anonymous_1)","decl":{"start":{"line":29,"column":34},"end":{"line":29,"column":35}},"loc":{"start":{"line":31,"column":48},"end":{"line":40,"column":1}},"line":31},"2":{"name":"(anonymous_2)","decl":{"start":{"line":47,"column":50},"end":{"line":47,"column":51}},"loc":{"start":{"line":47,"column":75},"end":{"line":105,"column":1}},"line":47},"3":{"name":"(anonymous_3)","decl":{"start":{"line":107,"column":50},"end":{"line":107,"column":51}},"loc":{"start":{"line":107,"column":75},"end":{"line":139,"column":1}},"line":107},"4":{"name":"(anonymous_4)","decl":{"start":{"line":141,"column":49},"end":{"line":141,"column":50}},"loc":{"start":{"line":141,"column":74},"end":{"line":174,"column":1}},"line":141},"5":{"name":"(anonymous_5)","decl":{"start":{"line":176,"column":50},"end":{"line":176,"column":51}},"loc":{"start":{"line":176,"column":74},"end":{"line":181,"column":1}},"line":176}},"branchMap":{"0":{"loc":{"start":{"line":16,"column":2},"end":{"line":16,"column":25}},"type":"if","locations":[{"start":{"line":16,"column":2},"end":{"line":16,"column":25}},{"start":{},"end":{}}],"line":16},"1":{"loc":{"start":{"line":32,"column":2},"end":{"line":32,"column":25}},"type":"if","locations":[{"start":{"line":32,"column":2},"end":{"line":32,"column":25}},{"start":{},"end":{}}],"line":32},"2":{"loc":{"start":{"line":178,"column":2},"end":{"line":178,"column":66}},"type":"if","locations":[{"start":{"line":178,"column":2},"end":{"line":178,"column":66}},{"start":{},"end":{}}],"line":178},"3":{"loc":{"start":{"line":179,"column":2},"end":{"line":179,"column":65}},"type":"if","locations":[{"start":{"line":179,"column":2},"end":{"line":179,"column":65}},{"start":{},"end":{}}],"line":179}},"s":{"0":2,"1":7,"2":3,"3":4,"4":2,"5":7,"6":3,"7":4,"8":2,"9":3,"10":2,"11":1,"12":2,"13":1,"14":2,"15":5,"16":5,"17":1,"18":4,"19":1,"20":3},"f":{"0":7,"1":7,"2":3,"3":1,"4":1,"5":5},"b":{"0":[3,4],"1":[3,4],"2":[1,4],"3":[1,3]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"6fb0c29dc1b5ace4236f821c92e940ec966a06a2"} +,"/home/runner/work/passport-status/passport-status/src/@types/i18next.d.ts": {"path":"/home/runner/work/passport-status/passport-status/src/@types/i18next.d.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/runner/work/passport-status/passport-status/src/@types/resources.ts": {"path":"/home/runner/work/passport-status/passport-status/src/@types/resources.ts","statementMap":{"0":{"start":{"line":7,"column":18},"end":{"line":13,"column":10}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}} +,"/home/runner/work/passport-status/passport-status/src/components/ActionButton.tsx": {"path":"/home/runner/work/passport-status/passport-status/src/components/ActionButton.tsx","statementMap":{"0":{"start":{"line":18,"column":14},"end":{"line":23,"column":1}},"1":{"start":{"line":25,"column":15},"end":{"line":30,"column":1}},"2":{"start":{"line":32,"column":21},"end":{"line":59,"column":1}},"3":{"start":{"line":43,"column":4},"end":{"line":43,"column":236}},"4":{"start":{"line":44,"column":27},"end":{"line":44,"column":59}},"5":{"start":{"line":45,"column":22},"end":{"line":45,"column":41}},"6":{"start":{"line":46,"column":23},"end":{"line":46,"column":49}},"7":{"start":{"line":48,"column":2},"end":{"line":58,"column":3}},"8":{"start":{"line":61,"column":0},"end":{"line":64,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":32,"column":21},"end":{"line":32,"column":22}},"loc":{"start":{"line":41,"column":25},"end":{"line":59,"column":1}},"line":41}},"branchMap":{"0":{"loc":{"start":{"line":44,"column":27},"end":{"line":44,"column":59}},"type":"cond-expr","locations":[{"start":{"line":44,"column":39},"end":{"line":44,"column":47}},{"start":{"line":44,"column":50},"end":{"line":44,"column":59}}],"line":44},"1":{"loc":{"start":{"line":45,"column":28},"end":{"line":45,"column":40}},"type":"binary-expr","locations":[{"start":{"line":45,"column":28},"end":{"line":45,"column":32}},{"start":{"line":45,"column":36},"end":{"line":45,"column":40}}],"line":45},"2":{"loc":{"start":{"line":46,"column":30},"end":{"line":46,"column":48}},"type":"binary-expr","locations":[{"start":{"line":46,"column":30},"end":{"line":46,"column":35}},{"start":{"line":46,"column":39},"end":{"line":46,"column":48}}],"line":46}},"s":{"0":6,"1":6,"2":6,"3":5,"4":5,"5":5,"6":5,"7":5,"8":6},"f":{"0":5},"b":{"0":[0,5],"1":[5,5],"2":[5,0]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"411a9114448f72e6f87e0b2ff9091a2954ccd760"} +,"/home/runner/work/passport-status/passport-status/src/components/AlertBlock.tsx": {"path":"/home/runner/work/passport-status/passport-status/src/components/AlertBlock.tsx","statementMap":{"0":{"start":{"line":13,"column":19},"end":{"line":31,"column":1}},"1":{"start":{"line":14,"column":19},"end":{"line":14,"column":38}},"2":{"start":{"line":15,"column":19},"end":{"line":15,"column":35}},"3":{"start":{"line":17,"column":2},"end":{"line":30,"column":3}},"4":{"start":{"line":20,"column":25},"end":{"line":20,"column":65}},"5":{"start":{"line":21,"column":8},"end":{"line":25,"column":9}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":19},"end":{"line":13,"column":20}},"loc":{"start":{"line":13,"column":61},"end":{"line":31,"column":1}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":19,"column":17},"end":{"line":19,"column":18}},"loc":{"start":{"line":19,"column":52},"end":{"line":26,"column":7}},"line":19}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":9},"end":{"line":30,"column":3}},"type":"cond-expr","locations":[{"start":{"line":18,"column":4},"end":{"line":27,"column":10}},{"start":{"line":29,"column":4},"end":{"line":29,"column":9}}],"line":17},"1":{"loc":{"start":{"line":17,"column":9},"end":{"line":17,"column":32}},"type":"binary-expr","locations":[{"start":{"line":17,"column":9},"end":{"line":17,"column":13}},{"start":{"line":17,"column":17},"end":{"line":17,"column":32}}],"line":17},"2":{"loc":{"start":{"line":20,"column":25},"end":{"line":20,"column":65}},"type":"cond-expr","locations":[{"start":{"line":20,"column":50},"end":{"line":20,"column":56}},{"start":{"line":20,"column":59},"end":{"line":20,"column":65}}],"line":20}},"s":{"0":14,"1":26,"2":26,"3":26,"4":0,"5":0},"f":{"0":26,"1":0},"b":{"0":[0,26],"1":[26,0],"2":[0,0]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"c4fae40aaf8d1187f5c392249d1bef71da945a8a"} +,"/home/runner/work/passport-status/passport-status/src/components/AlertSection.tsx": {"path":"/home/runner/work/passport-status/passport-status/src/components/AlertSection.tsx","statementMap":{"0":{"start":{"line":13,"column":21},"end":{"line":18,"column":1}},"1":{"start":{"line":20,"column":18},"end":{"line":25,"column":1}},"2":{"start":{"line":27,"column":12},"end":{"line":88,"column":1}},"3":{"start":{"line":32,"column":2},"end":{"line":87,"column":3}},"4":{"start":{"line":34,"column":6},"end":{"line":44,"column":7}},"5":{"start":{"line":47,"column":6},"end":{"line":57,"column":7}},"6":{"start":{"line":60,"column":6},"end":{"line":72,"column":7}},"7":{"start":{"line":75,"column":6},"end":{"line":85,"column":7}},"8":{"start":{"line":90,"column":21},"end":{"line":112,"column":1}},"9":{"start":{"line":96,"column":19},"end":{"line":96,"column":35}},"10":{"start":{"line":98,"column":22},"end":{"line":98,"column":40}},"11":{"start":{"line":100,"column":2},"end":{"line":111,"column":3}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":27,"column":12},"end":{"line":27,"column":13}},"loc":{"start":{"line":31,"column":5},"end":{"line":88,"column":1}},"line":31},"1":{"name":"(anonymous_1)","decl":{"start":{"line":90,"column":21},"end":{"line":90,"column":22}},"loc":{"start":{"line":95,"column":25},"end":{"line":112,"column":1}},"line":95}},"branchMap":{"0":{"loc":{"start":{"line":32,"column":2},"end":{"line":87,"column":3}},"type":"switch","locations":[{"start":{"line":33,"column":4},"end":{"line":45,"column":5}},{"start":{"line":46,"column":4},"end":{"line":58,"column":5}},{"start":{"line":59,"column":4},"end":{"line":73,"column":5}},{"start":{"line":74,"column":4},"end":{"line":86,"column":5}}],"line":32},"1":{"loc":{"start":{"line":36,"column":24},"end":{"line":36,"column":64}},"type":"cond-expr","locations":[{"start":{"line":36,"column":37},"end":{"line":36,"column":51}},{"start":{"line":36,"column":54},"end":{"line":36,"column":64}}],"line":36},"2":{"loc":{"start":{"line":49,"column":24},"end":{"line":49,"column":64}},"type":"cond-expr","locations":[{"start":{"line":49,"column":37},"end":{"line":49,"column":51}},{"start":{"line":49,"column":54},"end":{"line":49,"column":64}}],"line":49},"3":{"loc":{"start":{"line":53,"column":22},"end":{"line":53,"column":58}},"type":"cond-expr","locations":[{"start":{"line":53,"column":38},"end":{"line":53,"column":46}},{"start":{"line":53,"column":49},"end":{"line":53,"column":58}}],"line":53},"4":{"loc":{"start":{"line":62,"column":24},"end":{"line":62,"column":64}},"type":"cond-expr","locations":[{"start":{"line":62,"column":37},"end":{"line":62,"column":51}},{"start":{"line":62,"column":54},"end":{"line":62,"column":64}}],"line":62},"5":{"loc":{"start":{"line":66,"column":22},"end":{"line":66,"column":65}},"type":"cond-expr","locations":[{"start":{"line":66,"column":38},"end":{"line":66,"column":53}},{"start":{"line":66,"column":56},"end":{"line":66,"column":65}}],"line":66},"6":{"loc":{"start":{"line":77,"column":24},"end":{"line":77,"column":64}},"type":"cond-expr","locations":[{"start":{"line":77,"column":37},"end":{"line":77,"column":51}},{"start":{"line":77,"column":54},"end":{"line":77,"column":64}}],"line":77},"7":{"loc":{"start":{"line":102,"column":38},"end":{"line":102,"column":78}},"type":"cond-expr","locations":[{"start":{"line":102,"column":51},"end":{"line":102,"column":65}},{"start":{"line":102,"column":68},"end":{"line":102,"column":78}}],"line":102}},"s":{"0":14,"1":14,"2":14,"3":6,"4":0,"5":4,"6":0,"7":2,"8":14,"9":6,"10":6,"11":6},"f":{"0":6,"1":6},"b":{"0":[0,4,0,2],"1":[0,0],"2":[0,4],"3":[0,4],"4":[0,0],"5":[0,0],"6":[0,2],"7":[0,6]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"4fc2deb4ed63a17a19d72af75db922f65ace06ea"} +,"/home/runner/work/passport-status/passport-status/src/components/ApplicationNameBar.tsx": {"path":"/home/runner/work/passport-status/passport-status/src/components/ApplicationNameBar.tsx","statementMap":{"0":{"start":{"line":8,"column":27},"end":{"line":23,"column":1}},"1":{"start":{"line":9,"column":2},"end":{"line":22,"column":3}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":27},"end":{"line":8,"column":28}},"loc":{"start":{"line":8,"column":72},"end":{"line":23,"column":1}},"line":8}},"branchMap":{},"s":{"0":3,"1":5},"f":{"0":5},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"31b1eb92bb53cb75702196598794bfe4e9a19691"} +,"/home/runner/work/passport-status/passport-status/src/components/Banner.tsx": {"path":"/home/runner/work/passport-status/passport-status/src/components/Banner.tsx","statementMap":{"0":{"start":{"line":6,"column":15},"end":{"line":20,"column":1}},"1":{"start":{"line":7,"column":2},"end":{"line":19,"column":3}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":15},"end":{"line":6,"column":16}},"loc":{"start":{"line":6,"column":56},"end":{"line":20,"column":1}},"line":6}},"branchMap":{},"s":{"0":3,"1":5},"f":{"0":5},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"0e8eb7ce0571eaf31dc1dde0fed5154e54f49139"} +,"/home/runner/work/passport-status/passport-status/src/components/CheckStatusInfo.tsx": {"path":"/home/runner/work/passport-status/passport-status/src/components/CheckStatusInfo.tsx","statementMap":{"0":{"start":{"line":21,"column":31},"end":{"line":73,"column":1}},"1":{"start":{"line":30,"column":2},"end":{"line":60,"column":3}},"2":{"start":{"line":32,"column":6},"end":{"line":32,"column":57}},"3":{"start":{"line":33,"column":6},"end":{"line":33,"column":11}},"4":{"start":{"line":35,"column":6},"end":{"line":35,"column":53}},"5":{"start":{"line":36,"column":6},"end":{"line":36,"column":11}},"6":{"start":{"line":38,"column":6},"end":{"line":38,"column":47}},"7":{"start":{"line":39,"column":6},"end":{"line":39,"column":11}},"8":{"start":{"line":41,"column":6},"end":{"line":45,"column":7}},"9":{"start":{"line":46,"column":6},"end":{"line":46,"column":11}},"10":{"start":{"line":48,"column":6},"end":{"line":52,"column":7}},"11":{"start":{"line":53,"column":6},"end":{"line":53,"column":11}},"12":{"start":{"line":55,"column":6},"end":{"line":55,"column":52}},"13":{"start":{"line":56,"column":6},"end":{"line":56,"column":11}},"14":{"start":{"line":58,"column":6},"end":{"line":58,"column":47}},"15":{"start":{"line":59,"column":6},"end":{"line":59,"column":11}},"16":{"start":{"line":61,"column":2},"end":{"line":72,"column":3}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":21,"column":31},"end":{"line":21,"column":32}},"loc":{"start":{"line":27,"column":28},"end":{"line":73,"column":1}},"line":27}},"branchMap":{"0":{"loc":{"start":{"line":30,"column":2},"end":{"line":60,"column":3}},"type":"switch","locations":[{"start":{"line":31,"column":4},"end":{"line":33,"column":11}},{"start":{"line":34,"column":4},"end":{"line":36,"column":11}},{"start":{"line":37,"column":4},"end":{"line":39,"column":11}},{"start":{"line":40,"column":4},"end":{"line":46,"column":11}},{"start":{"line":47,"column":4},"end":{"line":53,"column":11}},{"start":{"line":54,"column":4},"end":{"line":56,"column":11}},{"start":{"line":57,"column":4},"end":{"line":59,"column":11}}],"line":30}},"s":{"0":2,"1":2,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":2,"15":2,"16":2},"f":{"0":2},"b":{"0":[0,0,0,0,0,0,2]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"7c3a18cdae20398d2e8f485d6f5fd9f795b92e2f"} +,"/home/runner/work/passport-status/passport-status/src/components/Collapse.tsx": {"path":"/home/runner/work/passport-status/passport-status/src/components/Collapse.tsx","statementMap":{"0":{"start":{"line":3,"column":17},"end":{"line":6,"column":1}},"1":{"start":{"line":13,"column":17},"end":{"line":31,"column":1}},"2":{"start":{"line":14,"column":13},"end":{"line":14,"column":20}},"3":{"start":{"line":15,"column":2},"end":{"line":30,"column":3}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":17},"end":{"line":13,"column":18}},"loc":{"start":{"line":13,"column":78},"end":{"line":31,"column":1}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":37},"end":{"line":13,"column":56}},"type":"default-arg","locations":[{"start":{"line":13,"column":47},"end":{"line":13,"column":56}}],"line":13}},"s":{"0":5,"1":5,"2":10,"3":10},"f":{"0":10},"b":{"0":[10]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"ce3f6e6dddc2d8069f69bb7b3f14f52fd6b16d9a"} +,"/home/runner/work/passport-status/passport-status/src/components/DateModified.tsx": {"path":"/home/runner/work/passport-status/passport-status/src/components/DateModified.tsx","statementMap":{"0":{"start":{"line":12,"column":21},"end":{"line":21,"column":1}},"1":{"start":{"line":13,"column":2},"end":{"line":20,"column":3}},"2":{"start":{"line":23,"column":0},"end":{"line":26,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":21},"end":{"line":12,"column":22}},"loc":{"start":{"line":12,"column":58},"end":{"line":21,"column":1}},"line":12}},"branchMap":{},"s":{"0":3,"1":4,"2":3},"f":{"0":4},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"3b59e88e872d0c94094b75d32c70943282f907ec"} +,"/home/runner/work/passport-status/passport-status/src/components/DateSelect.tsx": {"path":"/home/runner/work/passport-status/passport-status/src/components/DateSelect.tsx","statementMap":{"0":{"start":{"line":26,"column":19},"end":{"line":72,"column":1}},"1":{"start":{"line":38,"column":76},"end":{"line":40,"column":24}},"2":{"start":{"line":40,"column":7},"end":{"line":40,"column":24}},"3":{"start":{"line":42,"column":2},"end":{"line":71,"column":3}},"4":{"start":{"line":65,"column":10},"end":{"line":67,"column":19}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":26,"column":19},"end":{"line":26,"column":20}},"loc":{"start":{"line":37,"column":23},"end":{"line":72,"column":1}},"line":37},"1":{"name":"(anonymous_1)","decl":{"start":{"line":38,"column":76},"end":{"line":38,"column":77}},"loc":{"start":{"line":40,"column":7},"end":{"line":40,"column":24}},"line":40},"2":{"name":"(anonymous_2)","decl":{"start":{"line":64,"column":21},"end":{"line":64,"column":22}},"loc":{"start":{"line":65,"column":10},"end":{"line":67,"column":19}},"line":65}},"branchMap":{"0":{"loc":{"start":{"line":56,"column":22},"end":{"line":56,"column":46}},"type":"cond-expr","locations":[{"start":{"line":56,"column":30},"end":{"line":56,"column":34}},{"start":{"line":56,"column":37},"end":{"line":56,"column":46}}],"line":56},"1":{"loc":{"start":{"line":58,"column":23},"end":{"line":58,"column":50}},"type":"cond-expr","locations":[{"start":{"line":58,"column":34},"end":{"line":58,"column":38}},{"start":{"line":58,"column":41},"end":{"line":58,"column":50}}],"line":58},"2":{"loc":{"start":{"line":60,"column":10},"end":{"line":60,"column":62}},"type":"cond-expr","locations":[{"start":{"line":60,"column":18},"end":{"line":60,"column":39}},{"start":{"line":60,"column":42},"end":{"line":60,"column":62}}],"line":60}},"s":{"0":3,"1":14,"2":0,"3":14,"4":674},"f":{"0":14,"1":0,"2":674},"b":{"0":[0,14],"1":[12,2],"2":[0,14]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"13c3deaef6c5fa54b9ab246af00fa252ad92f9c4"} +,"/home/runner/work/passport-status/passport-status/src/components/DateSelectField.tsx": {"path":"/home/runner/work/passport-status/passport-status/src/components/DateSelectField.tsx","statementMap":{"0":{"start":{"line":35,"column":24},"end":{"line":230,"column":1}},"1":{"start":{"line":47,"column":16},"end":{"line":47,"column":32}},"2":{"start":{"line":49,"column":28},"end":{"line":57,"column":3}},"3":{"start":{"line":59,"column":35},"end":{"line":59,"column":60}},"4":{"start":{"line":60,"column":34},"end":{"line":60,"column":58}},"5":{"start":{"line":61,"column":30},"end":{"line":61,"column":49}},"6":{"start":{"line":62,"column":28},"end":{"line":62,"column":53}},"7":{"start":{"line":64,"column":29},"end":{"line":69,"column":3}},"8":{"start":{"line":65,"column":38},"end":{"line":65,"column":40}},"9":{"start":{"line":66,"column":4},"end":{"line":66,"column":68}},"10":{"start":{"line":66,"column":22},"end":{"line":66,"column":68}},"11":{"start":{"line":67,"column":4},"end":{"line":67,"column":66}},"12":{"start":{"line":67,"column":21},"end":{"line":67,"column":66}},"13":{"start":{"line":68,"column":4},"end":{"line":68,"column":77}},"14":{"start":{"line":71,"column":22},"end":{"line":79,"column":27}},"15":{"start":{"line":72,"column":18},"end":{"line":72,"column":35}},"16":{"start":{"line":73,"column":17},"end":{"line":73,"column":70}},"17":{"start":{"line":74,"column":18},"end":{"line":74,"column":34}},"18":{"start":{"line":75,"column":4},"end":{"line":78,"column":6}},"19":{"start":{"line":76,"column":20},"end":{"line":76,"column":41}},"20":{"start":{"line":77,"column":6},"end":{"line":77,"column":36}},"21":{"start":{"line":81,"column":23},"end":{"line":86,"column":9}},"22":{"start":{"line":82,"column":4},"end":{"line":85,"column":6}},"23":{"start":{"line":83,"column":20},"end":{"line":83,"column":37}},"24":{"start":{"line":84,"column":6},"end":{"line":84,"column":56}},"25":{"start":{"line":88,"column":21},"end":{"line":98,"column":41}},"26":{"start":{"line":89,"column":17},"end":{"line":89,"column":42}},"27":{"start":{"line":90,"column":18},"end":{"line":90,"column":44}},"28":{"start":{"line":91,"column":17},"end":{"line":93,"column":10}},"29":{"start":{"line":94,"column":4},"end":{"line":97,"column":6}},"30":{"start":{"line":95,"column":20},"end":{"line":95,"column":37}},"31":{"start":{"line":96,"column":6},"end":{"line":96,"column":36}},"32":{"start":{"line":100,"column":60},"end":{"line":130,"column":3}},"33":{"start":{"line":102,"column":23},"end":{"line":102,"column":41}},"34":{"start":{"line":103,"column":6},"end":{"line":127,"column":8}},"35":{"start":{"line":104,"column":26},"end":{"line":104,"column":73}},"36":{"start":{"line":105,"column":27},"end":{"line":105,"column":46}},"37":{"start":{"line":107,"column":27},"end":{"line":107,"column":76}},"38":{"start":{"line":108,"column":28},"end":{"line":108,"column":48}},"39":{"start":{"line":111,"column":20},"end":{"line":111,"column":65}},"40":{"start":{"line":113,"column":10},"end":{"line":115,"column":66}},"41":{"start":{"line":116,"column":25},"end":{"line":116,"column":47}},"42":{"start":{"line":118,"column":27},"end":{"line":118,"column":79}},"43":{"start":{"line":119,"column":8},"end":{"line":126,"column":9}},"44":{"start":{"line":133,"column":21},"end":{"line":133,"column":34}},"45":{"start":{"line":135,"column":2},"end":{"line":141,"column":25}},"46":{"start":{"line":136,"column":4},"end":{"line":138,"column":5}},"47":{"start":{"line":137,"column":6},"end":{"line":137,"column":12}},"48":{"start":{"line":139,"column":4},"end":{"line":139,"column":30}},"49":{"start":{"line":143,"column":2},"end":{"line":148,"column":8}},"50":{"start":{"line":144,"column":4},"end":{"line":144,"column":29}},"51":{"start":{"line":145,"column":4},"end":{"line":147,"column":5}},"52":{"start":{"line":146,"column":6},"end":{"line":146,"column":32}},"53":{"start":{"line":151,"column":2},"end":{"line":164,"column":13}},"54":{"start":{"line":152,"column":4},"end":{"line":154,"column":5}},"55":{"start":{"line":153,"column":6},"end":{"line":153,"column":12}},"56":{"start":{"line":155,"column":33},"end":{"line":155,"column":55}},"57":{"start":{"line":156,"column":4},"end":{"line":162,"column":7}},"58":{"start":{"line":156,"column":28},"end":{"line":162,"column":5}},"59":{"start":{"line":166,"column":2},"end":{"line":229,"column":3}},"60":{"start":{"line":232,"column":28},"end":{"line":233,"column":55}},"61":{"start":{"line":233,"column":2},"end":{"line":233,"column":55}},"62":{"start":{"line":235,"column":16},"end":{"line":237,"column":1}},"63":{"start":{"line":236,"column":2},"end":{"line":236,"column":50}},"64":{"start":{"line":239,"column":24},"end":{"line":262,"column":1}},"65":{"start":{"line":248,"column":15},"end":{"line":248,"column":73}},"66":{"start":{"line":249,"column":15},"end":{"line":249,"column":33}},"67":{"start":{"line":250,"column":16},"end":{"line":250,"column":35}},"68":{"start":{"line":251,"column":14},"end":{"line":251,"column":28}},"69":{"start":{"line":253,"column":2},"end":{"line":255,"column":3}},"70":{"start":{"line":254,"column":4},"end":{"line":254,"column":43}},"71":{"start":{"line":257,"column":2},"end":{"line":261,"column":3}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":35,"column":24},"end":{"line":35,"column":25}},"loc":{"start":{"line":46,"column":28},"end":{"line":230,"column":1}},"line":46},"1":{"name":"(anonymous_1)","decl":{"start":{"line":64,"column":29},"end":{"line":64,"column":30}},"loc":{"start":{"line":64,"column":35},"end":{"line":69,"column":3}},"line":64},"2":{"name":"(anonymous_2)","decl":{"start":{"line":71,"column":30},"end":{"line":71,"column":31}},"loc":{"start":{"line":71,"column":36},"end":{"line":79,"column":3}},"line":71},"3":{"name":"(anonymous_3)","decl":{"start":{"line":75,"column":68},"end":{"line":75,"column":69}},"loc":{"start":{"line":75,"column":75},"end":{"line":78,"column":5}},"line":75},"4":{"name":"(anonymous_4)","decl":{"start":{"line":81,"column":31},"end":{"line":81,"column":32}},"loc":{"start":{"line":81,"column":37},"end":{"line":86,"column":3}},"line":81},"5":{"name":"(anonymous_5)","decl":{"start":{"line":82,"column":55},"end":{"line":82,"column":56}},"loc":{"start":{"line":82,"column":62},"end":{"line":85,"column":5}},"line":82},"6":{"name":"(anonymous_6)","decl":{"start":{"line":88,"column":29},"end":{"line":88,"column":30}},"loc":{"start":{"line":88,"column":35},"end":{"line":98,"column":3}},"line":88},"7":{"name":"(anonymous_7)","decl":{"start":{"line":94,"column":57},"end":{"line":94,"column":58}},"loc":{"start":{"line":94,"column":64},"end":{"line":97,"column":5}},"line":94},"8":{"name":"(anonymous_8)","decl":{"start":{"line":101,"column":4},"end":{"line":101,"column":5}},"loc":{"start":{"line":101,"column":21},"end":{"line":128,"column":5}},"line":101},"9":{"name":"(anonymous_9)","decl":{"start":{"line":103,"column":15},"end":{"line":103,"column":16}},"loc":{"start":{"line":103,"column":29},"end":{"line":127,"column":7}},"line":103},"10":{"name":"(anonymous_10)","decl":{"start":{"line":135,"column":12},"end":{"line":135,"column":13}},"loc":{"start":{"line":135,"column":18},"end":{"line":141,"column":3}},"line":135},"11":{"name":"(anonymous_11)","decl":{"start":{"line":143,"column":12},"end":{"line":143,"column":13}},"loc":{"start":{"line":143,"column":18},"end":{"line":148,"column":3}},"line":143},"12":{"name":"(anonymous_12)","decl":{"start":{"line":145,"column":11},"end":{"line":145,"column":12}},"loc":{"start":{"line":145,"column":17},"end":{"line":147,"column":5}},"line":145},"13":{"name":"(anonymous_13)","decl":{"start":{"line":151,"column":12},"end":{"line":151,"column":13}},"loc":{"start":{"line":151,"column":18},"end":{"line":164,"column":3}},"line":151},"14":{"name":"(anonymous_14)","decl":{"start":{"line":156,"column":13},"end":{"line":156,"column":14}},"loc":{"start":{"line":156,"column":28},"end":{"line":162,"column":5}},"line":156},"15":{"name":"(anonymous_15)","decl":{"start":{"line":232,"column":28},"end":{"line":232,"column":29}},"loc":{"start":{"line":233,"column":2},"end":{"line":233,"column":55}},"line":233},"16":{"name":"(anonymous_16)","decl":{"start":{"line":235,"column":16},"end":{"line":235,"column":17}},"loc":{"start":{"line":235,"column":62},"end":{"line":237,"column":1}},"line":235},"17":{"name":"(anonymous_17)","decl":{"start":{"line":239,"column":24},"end":{"line":239,"column":25}},"loc":{"start":{"line":245,"column":5},"end":{"line":262,"column":1}},"line":245}},"branchMap":{"0":{"loc":{"start":{"line":66,"column":4},"end":{"line":66,"column":68}},"type":"if","locations":[{"start":{"line":66,"column":4},"end":{"line":66,"column":68}},{"start":{},"end":{}}],"line":66},"1":{"loc":{"start":{"line":67,"column":4},"end":{"line":67,"column":66}},"type":"if","locations":[{"start":{"line":67,"column":4},"end":{"line":67,"column":66}},{"start":{},"end":{}}],"line":67},"2":{"loc":{"start":{"line":68,"column":11},"end":{"line":68,"column":77}},"type":"cond-expr","locations":[{"start":{"line":68,"column":40},"end":{"line":68,"column":65}},{"start":{"line":68,"column":68},"end":{"line":68,"column":77}}],"line":68},"3":{"loc":{"start":{"line":72,"column":18},"end":{"line":72,"column":35}},"type":"binary-expr","locations":[{"start":{"line":72,"column":18},"end":{"line":72,"column":27}},{"start":{"line":72,"column":31},"end":{"line":72,"column":35}}],"line":72},"4":{"loc":{"start":{"line":73,"column":33},"end":{"line":73,"column":69}},"type":"binary-expr","locations":[{"start":{"line":73,"column":33},"end":{"line":73,"column":41}},{"start":{"line":73,"column":45},"end":{"line":73,"column":69}}],"line":73},"5":{"loc":{"start":{"line":91,"column":17},"end":{"line":93,"column":10}},"type":"cond-expr","locations":[{"start":{"line":92,"column":8},"end":{"line":92,"column":49}},{"start":{"line":93,"column":8},"end":{"line":93,"column":10}}],"line":91},"6":{"loc":{"start":{"line":104,"column":26},"end":{"line":104,"column":73}},"type":"cond-expr","locations":[{"start":{"line":104,"column":44},"end":{"line":104,"column":52}},{"start":{"line":104,"column":55},"end":{"line":104,"column":73}}],"line":104},"7":{"loc":{"start":{"line":107,"column":27},"end":{"line":107,"column":76}},"type":"cond-expr","locations":[{"start":{"line":107,"column":46},"end":{"line":107,"column":54}},{"start":{"line":107,"column":57},"end":{"line":107,"column":76}}],"line":107},"8":{"loc":{"start":{"line":111,"column":20},"end":{"line":111,"column":65}},"type":"cond-expr","locations":[{"start":{"line":111,"column":37},"end":{"line":111,"column":45}},{"start":{"line":111,"column":48},"end":{"line":111,"column":65}}],"line":111},"9":{"loc":{"start":{"line":113,"column":10},"end":{"line":115,"column":66}},"type":"cond-expr","locations":[{"start":{"line":114,"column":14},"end":{"line":114,"column":18}},{"start":{"line":115,"column":14},"end":{"line":115,"column":66}}],"line":113},"10":{"loc":{"start":{"line":113,"column":10},"end":{"line":113,"column":49}},"type":"binary-expr","locations":[{"start":{"line":113,"column":10},"end":{"line":113,"column":27}},{"start":{"line":113,"column":31},"end":{"line":113,"column":49}}],"line":113},"11":{"loc":{"start":{"line":116,"column":25},"end":{"line":116,"column":47}},"type":"cond-expr","locations":[{"start":{"line":116,"column":39},"end":{"line":116,"column":42}},{"start":{"line":116,"column":45},"end":{"line":116,"column":47}}],"line":116},"12":{"loc":{"start":{"line":136,"column":4},"end":{"line":138,"column":5}},"type":"if","locations":[{"start":{"line":136,"column":4},"end":{"line":138,"column":5}},{"start":{},"end":{}}],"line":136},"13":{"loc":{"start":{"line":152,"column":4},"end":{"line":154,"column":5}},"type":"if","locations":[{"start":{"line":152,"column":4},"end":{"line":154,"column":5}},{"start":{},"end":{}}],"line":152},"14":{"loc":{"start":{"line":175,"column":9},"end":{"line":180,"column":9}},"type":"binary-expr","locations":[{"start":{"line":175,"column":9},"end":{"line":175,"column":21}},{"start":{"line":176,"column":10},"end":{"line":179,"column":12}}],"line":175},"15":{"loc":{"start":{"line":181,"column":9},"end":{"line":188,"column":9}},"type":"binary-expr","locations":[{"start":{"line":181,"column":9},"end":{"line":181,"column":20}},{"start":{"line":182,"column":10},"end":{"line":187,"column":16}}],"line":181},"16":{"loc":{"start":{"line":233,"column":2},"end":{"line":233,"column":55}},"type":"cond-expr","locations":[{"start":{"line":233,"column":25},"end":{"line":233,"column":50}},{"start":{"line":233,"column":53},"end":{"line":233,"column":55}}],"line":233},"17":{"loc":{"start":{"line":233,"column":2},"end":{"line":233,"column":22}},"type":"binary-expr","locations":[{"start":{"line":233,"column":2},"end":{"line":233,"column":6}},{"start":{"line":233,"column":10},"end":{"line":233,"column":15}},{"start":{"line":233,"column":19},"end":{"line":233,"column":22}}],"line":233},"18":{"loc":{"start":{"line":253,"column":2},"end":{"line":255,"column":3}},"type":"if","locations":[{"start":{"line":253,"column":2},"end":{"line":255,"column":3}},{"start":{},"end":{}}],"line":253},"19":{"loc":{"start":{"line":253,"column":6},"end":{"line":253,"column":47}},"type":"binary-expr","locations":[{"start":{"line":253,"column":6},"end":{"line":253,"column":17}},{"start":{"line":253,"column":21},"end":{"line":253,"column":33}},{"start":{"line":253,"column":37},"end":{"line":253,"column":47}}],"line":253}},"s":{"0":3,"1":8,"2":8,"3":8,"4":8,"5":8,"6":8,"7":8,"8":24,"9":24,"10":0,"11":24,"12":12,"13":24,"14":8,"15":6,"16":6,"17":6,"18":6,"19":750,"20":750,"21":8,"22":8,"23":96,"24":96,"25":8,"26":6,"27":6,"28":6,"29":6,"30":186,"31":186,"32":8,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":8,"45":8,"46":6,"47":6,"48":0,"49":8,"50":6,"51":6,"52":6,"53":8,"54":6,"55":4,"56":2,"57":2,"58":2,"59":8,"60":3,"61":0,"62":3,"63":1032,"64":3,"65":2,"66":2,"67":2,"68":2,"69":2,"70":2,"71":0},"f":{"0":8,"1":24,"2":6,"3":750,"4":8,"5":96,"6":6,"7":186,"8":0,"9":0,"10":6,"11":6,"12":6,"13":6,"14":2,"15":0,"16":1032,"17":2},"b":{"0":[0,24],"1":[12,12],"2":[12,12],"3":[6,6],"4":[6,6],"5":[0,6],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[6,0],"13":[4,2],"14":[8,0],"15":[8,4],"16":[0,0],"17":[0,0,0],"18":[2,0],"19":[2,0,0]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"24006084e3555231444d758985926794884cbe48"} +,"/home/runner/work/passport-status/passport-status/src/components/ErrorLayout.tsx": {"path":"/home/runner/work/passport-status/passport-status/src/components/ErrorLayout.tsx","statementMap":{"0":{"start":{"line":7,"column":20},"end":{"line":46,"column":1}},"1":{"start":{"line":8,"column":2},"end":{"line":45,"column":3}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":20},"end":{"line":7,"column":21}},"loc":{"start":{"line":7,"column":56},"end":{"line":46,"column":1}},"line":7}},"branchMap":{},"s":{"0":3,"1":4},"f":{"0":4},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"97dd6b720f308baa915816c429395d825d707abf"} +,"/home/runner/work/passport-status/passport-status/src/components/ErrorSummary.tsx": {"path":"/home/runner/work/passport-status/passport-status/src/components/ErrorSummary.tsx","statementMap":{"0":{"start":{"line":17,"column":35},"end":{"line":23,"column":2}},"1":{"start":{"line":20,"column":24},"end":{"line":23,"column":1}},"2":{"start":{"line":25,"column":36},"end":{"line":32,"column":1}},"3":{"start":{"line":29,"column":2},"end":{"line":31,"column":70}},"4":{"start":{"line":30,"column":21},"end":{"line":30,"column":38}},"5":{"start":{"line":31,"column":18},"end":{"line":31,"column":69}},"6":{"start":{"line":34,"column":32},"end":{"line":40,"column":1}},"7":{"start":{"line":35,"column":25},"end":{"line":37,"column":3}},"8":{"start":{"line":38,"column":2},"end":{"line":38,"column":73}},"9":{"start":{"line":39,"column":2},"end":{"line":39,"column":25}},"10":{"start":{"line":42,"column":21},"end":{"line":65,"column":1}},"11":{"start":{"line":43,"column":2},"end":{"line":45,"column":10}},"12":{"start":{"line":44,"column":4},"end":{"line":44,"column":24}},"13":{"start":{"line":47,"column":2},"end":{"line":64,"column":3}},"14":{"start":{"line":56,"column":10},"end":{"line":60,"column":15}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":17,"column":35},"end":{"line":17,"column":36}},"loc":{"start":{"line":20,"column":24},"end":{"line":23,"column":1}},"line":20},"1":{"name":"(anonymous_1)","decl":{"start":{"line":25,"column":36},"end":{"line":25,"column":37}},"loc":{"start":{"line":28,"column":5},"end":{"line":32,"column":1}},"line":28},"2":{"name":"(anonymous_2)","decl":{"start":{"line":30,"column":12},"end":{"line":30,"column":13}},"loc":{"start":{"line":30,"column":21},"end":{"line":30,"column":38}},"line":30},"3":{"name":"(anonymous_3)","decl":{"start":{"line":31,"column":9},"end":{"line":31,"column":10}},"loc":{"start":{"line":31,"column":18},"end":{"line":31,"column":69}},"line":31},"4":{"name":"(anonymous_4)","decl":{"start":{"line":34,"column":32},"end":{"line":34,"column":33}},"loc":{"start":{"line":34,"column":60},"end":{"line":40,"column":1}},"line":34},"5":{"name":"(anonymous_5)","decl":{"start":{"line":42,"column":21},"end":{"line":42,"column":22}},"loc":{"start":{"line":42,"column":69},"end":{"line":65,"column":1}},"line":42},"6":{"name":"(anonymous_6)","decl":{"start":{"line":43,"column":12},"end":{"line":43,"column":13}},"loc":{"start":{"line":43,"column":18},"end":{"line":45,"column":3}},"line":43},"7":{"name":"(anonymous_7)","decl":{"start":{"line":55,"column":20},"end":{"line":55,"column":21}},"loc":{"start":{"line":56,"column":10},"end":{"line":60,"column":15}},"line":56}},"branchMap":{},"s":{"0":1,"1":0,"2":1,"3":0,"4":0,"5":0,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":1,"5":1,"6":1,"7":1},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"e1c6297d668e4027126e0af72ad24fe3d464957e"} +,"/home/runner/work/passport-status/passport-status/src/components/ExampleImage.tsx": {"path":"/home/runner/work/passport-status/passport-status/src/components/ExampleImage.tsx","statementMap":{"0":{"start":{"line":17,"column":21},"end":{"line":38,"column":1}},"1":{"start":{"line":18,"column":2},"end":{"line":37,"column":3}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":17,"column":21},"end":{"line":17,"column":22}},"loc":{"start":{"line":17,"column":77},"end":{"line":38,"column":1}},"line":17}},"branchMap":{"0":{"loc":{"start":{"line":20,"column":7},"end":{"line":24,"column":7}},"type":"binary-expr","locations":[{"start":{"line":20,"column":7},"end":{"line":20,"column":12}},{"start":{"line":21,"column":8},"end":{"line":23,"column":12}}],"line":20}},"s":{"0":2,"1":2},"f":{"0":2},"b":{"0":[2,2]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"2af62d1d40642d168ac4870c069c9c249115d592"} +,"/home/runner/work/passport-status/passport-status/src/components/ExternalLink.tsx": {"path":"/home/runner/work/passport-status/passport-status/src/components/ExternalLink.tsx","statementMap":{"0":{"start":{"line":18,"column":28},"end":{"line":30,"column":1}},"1":{"start":{"line":23,"column":16},"end":{"line":23,"column":42}},"2":{"start":{"line":24,"column":2},"end":{"line":29,"column":3}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":18,"column":28},"end":{"line":18,"column":29}},"loc":{"start":{"line":22,"column":25},"end":{"line":30,"column":1}},"line":22}},"branchMap":{},"s":{"0":15,"1":2,"2":2},"f":{"0":2},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"587dbc4329415c633b8835bbb0b63444a7a7785b"} +,"/home/runner/work/passport-status/passport-status/src/components/FieldSetLegend.tsx": {"path":"/home/runner/work/passport-status/passport-status/src/components/FieldSetLegend.tsx","statementMap":{"0":{"start":{"line":9,"column":23},"end":{"line":23,"column":1}},"1":{"start":{"line":15,"column":2},"end":{"line":22,"column":3}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":23},"end":{"line":9,"column":24}},"loc":{"start":{"line":14,"column":27},"end":{"line":23,"column":1}},"line":14}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":9},"end":{"line":19,"column":54}},"type":"binary-expr","locations":[{"start":{"line":19,"column":9},"end":{"line":19,"column":17}},{"start":{"line":19,"column":21},"end":{"line":19,"column":54}}],"line":19}},"s":{"0":3,"1":8},"f":{"0":8},"b":{"0":[8,4]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"54d04d4b6eb895ff91c05bb6c7577a17b7b0d5b4"} +,"/home/runner/work/passport-status/passport-status/src/components/Footer.tsx": {"path":"/home/runner/work/passport-status/passport-status/src/components/Footer.tsx","statementMap":{"0":{"start":{"line":44,"column":15},"end":{"line":89,"column":1}},"1":{"start":{"line":51,"column":2},"end":{"line":88,"column":3}},"2":{"start":{"line":64,"column":18},"end":{"line":72,"column":23}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":44,"column":15},"end":{"line":44,"column":16}},"loc":{"start":{"line":50,"column":19},"end":{"line":89,"column":1}},"line":50},"1":{"name":"(anonymous_1)","decl":{"start":{"line":63,"column":27},"end":{"line":63,"column":28}},"loc":{"start":{"line":64,"column":18},"end":{"line":72,"column":23}},"line":64}},"branchMap":{},"s":{"0":2,"1":2,"2":5},"f":{"0":2,"1":5},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"18d6c34d20eb2a2e45bea13edb8542cb3dbabd90"} +,"/home/runner/work/passport-status/passport-status/src/components/Header.tsx": {"path":"/home/runner/work/passport-status/passport-status/src/components/Header.tsx","statementMap":{"0":{"start":{"line":15,"column":15},"end":{"line":136,"column":1}},"1":{"start":{"line":16,"column":17},"end":{"line":16,"column":28}},"2":{"start":{"line":17,"column":29},"end":{"line":17,"column":40}},"3":{"start":{"line":18,"column":16},"end":{"line":18,"column":40}},"4":{"start":{"line":20,"column":29},"end":{"line":20,"column":58}},"5":{"start":{"line":21,"column":35},"end":{"line":21,"column":76}},"6":{"start":{"line":22,"column":27},"end":{"line":22,"column":79}},"7":{"start":{"line":23,"column":21},"end":{"line":23,"column":72}},"8":{"start":{"line":25,"column":2},"end":{"line":135,"column":3}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":15,"column":15},"end":{"line":15,"column":16}},"loc":{"start":{"line":15,"column":61},"end":{"line":136,"column":1}},"line":15}},"branchMap":{"0":{"loc":{"start":{"line":20,"column":29},"end":{"line":20,"column":58}},"type":"cond-expr","locations":[{"start":{"line":20,"column":47},"end":{"line":20,"column":51}},{"start":{"line":20,"column":54},"end":{"line":20,"column":58}}],"line":20},"1":{"loc":{"start":{"line":21,"column":35},"end":{"line":21,"column":76}},"type":"cond-expr","locations":[{"start":{"line":21,"column":65},"end":{"line":21,"column":69}},{"start":{"line":21,"column":72},"end":{"line":21,"column":76}}],"line":21},"2":{"loc":{"start":{"line":22,"column":27},"end":{"line":22,"column":79}},"type":"cond-expr","locations":[{"start":{"line":22,"column":57},"end":{"line":22,"column":67}},{"start":{"line":22,"column":70},"end":{"line":22,"column":79}}],"line":22},"3":{"loc":{"start":{"line":43,"column":9},"end":{"line":48,"column":9}},"type":"binary-expr","locations":[{"start":{"line":43,"column":9},"end":{"line":43,"column":19}},{"start":{"line":44,"column":10},"end":{"line":47,"column":12}}],"line":43},"4":{"loc":{"start":{"line":56,"column":18},"end":{"line":58,"column":46}},"type":"cond-expr","locations":[{"start":{"line":57,"column":22},"end":{"line":57,"column":44}},{"start":{"line":58,"column":22},"end":{"line":58,"column":46}}],"line":56},"5":{"loc":{"start":{"line":60,"column":21},"end":{"line":60,"column":76}},"type":"cond-expr","locations":[{"start":{"line":60,"column":39},"end":{"line":60,"column":56}},{"start":{"line":60,"column":59},"end":{"line":60,"column":76}}],"line":60},"6":{"loc":{"start":{"line":68,"column":26},"end":{"line":68,"column":55}},"type":"cond-expr","locations":[{"start":{"line":68,"column":44},"end":{"line":68,"column":48}},{"start":{"line":68,"column":51},"end":{"line":68,"column":55}}],"line":68},"7":{"loc":{"start":{"line":69,"column":17},"end":{"line":71,"column":42}},"type":"cond-expr","locations":[{"start":{"line":70,"column":20},"end":{"line":70,"column":44}},{"start":{"line":71,"column":20},"end":{"line":71,"column":42}}],"line":69}},"s":{"0":2,"1":3,"2":3,"3":3,"4":3,"5":3,"6":3,"7":3,"8":3},"f":{"0":3},"b":{"0":[2,1],"1":[2,1],"2":[2,1],"3":[3,3],"4":[2,1],"5":[2,1],"6":[2,1],"7":[2,1]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"ac8add8a3600720af702ced20a210e49b5f82a22"} +,"/home/runner/work/passport-status/passport-status/src/components/IdleTimeout.tsx": {"path":"/home/runner/work/passport-status/passport-status/src/components/IdleTimeout.tsx","statementMap":{"0":{"start":{"line":14,"column":20},"end":{"line":70,"column":1}},"1":{"start":{"line":15,"column":16},"end":{"line":15,"column":40}},"2":{"start":{"line":16,"column":17},"end":{"line":16,"column":28}},"3":{"start":{"line":17,"column":36},"end":{"line":17,"column":51}},"4":{"start":{"line":18,"column":44},"end":{"line":18,"column":56}},"5":{"start":{"line":20,"column":23},"end":{"line":23,"column":3}},"6":{"start":{"line":21,"column":4},"end":{"line":21,"column":46}},"7":{"start":{"line":22,"column":4},"end":{"line":22,"column":19}},"8":{"start":{"line":25,"column":38},"end":{"line":28,"column":3}},"9":{"start":{"line":26,"column":4},"end":{"line":26,"column":23}},"10":{"start":{"line":27,"column":4},"end":{"line":27,"column":11}},"11":{"start":{"line":30,"column":38},"end":{"line":35,"column":4}},"12":{"start":{"line":32,"column":20},"end":{"line":32,"column":38}},"13":{"start":{"line":37,"column":15},"end":{"line":43,"column":24}},"14":{"start":{"line":38,"column":20},"end":{"line":38,"column":58}},"15":{"start":{"line":39,"column":20},"end":{"line":39,"column":75}},"16":{"start":{"line":40,"column":4},"end":{"line":42,"column":5}},"17":{"start":{"line":45,"column":2},"end":{"line":47,"column":12}},"18":{"start":{"line":46,"column":4},"end":{"line":46,"column":27}},"19":{"start":{"line":49,"column":2},"end":{"line":69,"column":3}},"20":{"start":{"line":55,"column":25},"end":{"line":55,"column":39}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":14,"column":20},"end":{"line":14,"column":21}},"loc":{"start":{"line":14,"column":73},"end":{"line":70,"column":1}},"line":14},"1":{"name":"(anonymous_1)","decl":{"start":{"line":20,"column":23},"end":{"line":20,"column":24}},"loc":{"start":{"line":20,"column":29},"end":{"line":23,"column":3}},"line":20},"2":{"name":"(anonymous_2)","decl":{"start":{"line":25,"column":38},"end":{"line":25,"column":39}},"loc":{"start":{"line":25,"column":44},"end":{"line":28,"column":3}},"line":25},"3":{"name":"(anonymous_3)","decl":{"start":{"line":32,"column":14},"end":{"line":32,"column":15}},"loc":{"start":{"line":32,"column":20},"end":{"line":32,"column":38}},"line":32},"4":{"name":"(anonymous_4)","decl":{"start":{"line":37,"column":27},"end":{"line":37,"column":28}},"loc":{"start":{"line":37,"column":33},"end":{"line":43,"column":3}},"line":37},"5":{"name":"(anonymous_5)","decl":{"start":{"line":45,"column":12},"end":{"line":45,"column":13}},"loc":{"start":{"line":45,"column":18},"end":{"line":47,"column":3}},"line":45},"6":{"name":"(anonymous_6)","decl":{"start":{"line":55,"column":19},"end":{"line":55,"column":20}},"loc":{"start":{"line":55,"column":25},"end":{"line":55,"column":39}},"line":55}},"branchMap":{"0":{"loc":{"start":{"line":33,"column":22},"end":{"line":33,"column":55}},"type":"binary-expr","locations":[{"start":{"line":33,"column":22},"end":{"line":33,"column":38}},{"start":{"line":33,"column":42},"end":{"line":33,"column":55}}],"line":33},"1":{"loc":{"start":{"line":34,"column":13},"end":{"line":34,"column":38}},"type":"binary-expr","locations":[{"start":{"line":34,"column":13},"end":{"line":34,"column":20}},{"start":{"line":34,"column":24},"end":{"line":34,"column":38}}],"line":34},"2":{"loc":{"start":{"line":41,"column":23},"end":{"line":41,"column":56}},"type":"cond-expr","locations":[{"start":{"line":41,"column":48},"end":{"line":41,"column":51}},{"start":{"line":41,"column":54},"end":{"line":41,"column":56}}],"line":41},"3":{"loc":{"start":{"line":51,"column":12},"end":{"line":51,"column":49}},"type":"binary-expr","locations":[{"start":{"line":51,"column":12},"end":{"line":51,"column":21}},{"start":{"line":51,"column":25},"end":{"line":51,"column":49}}],"line":51}},"s":{"0":3,"1":3,"2":3,"3":3,"4":3,"5":3,"6":0,"7":0,"8":3,"9":0,"10":0,"11":3,"12":1,"13":3,"14":2,"15":2,"16":2,"17":3,"18":2,"19":3,"20":0},"f":{"0":3,"1":0,"2":0,"3":1,"4":2,"5":2,"6":0},"b":{"0":[3,1],"1":[3,1],"2":[1,1],"3":[3,1]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"c1c1790f43cc037c140b86466b8da37dc027bc79"} +,"/home/runner/work/passport-status/passport-status/src/components/InputErrorMessage.tsx": {"path":"/home/runner/work/passport-status/passport-status/src/components/InputErrorMessage.tsx","statementMap":{"0":{"start":{"line":6,"column":26},"end":{"line":16,"column":1}},"1":{"start":{"line":7,"column":2},"end":{"line":15,"column":3}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":26},"end":{"line":6,"column":27}},"loc":{"start":{"line":6,"column":71},"end":{"line":16,"column":1}},"line":6}},"branchMap":{},"s":{"0":7,"1":2},"f":{"0":2},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"b3be1c04c331e85e45dc3a78f7f5f822b0ff48b3"} +,"/home/runner/work/passport-status/passport-status/src/components/InputField.tsx": {"path":"/home/runner/work/passport-status/passport-status/src/components/InputField.tsx","statementMap":{"0":{"start":{"line":20,"column":19},"end":{"line":95,"column":1}},"1":{"start":{"line":35,"column":30},"end":{"line":35,"column":49}},"2":{"start":{"line":36,"column":29},"end":{"line":36,"column":47}},"3":{"start":{"line":37,"column":38},"end":{"line":37,"column":66}},"4":{"start":{"line":38,"column":25},"end":{"line":38,"column":38}},"5":{"start":{"line":39,"column":23},"end":{"line":39,"column":42}},"6":{"start":{"line":41,"column":29},"end":{"line":47,"column":3}},"7":{"start":{"line":42,"column":38},"end":{"line":42,"column":40}},"8":{"start":{"line":43,"column":4},"end":{"line":43,"column":63}},"9":{"start":{"line":43,"column":22},"end":{"line":43,"column":63}},"10":{"start":{"line":44,"column":4},"end":{"line":44,"column":61}},"11":{"start":{"line":44,"column":21},"end":{"line":44,"column":61}},"12":{"start":{"line":45,"column":4},"end":{"line":45,"column":79}},"13":{"start":{"line":45,"column":30},"end":{"line":45,"column":79}},"14":{"start":{"line":46,"column":4},"end":{"line":46,"column":77}},"15":{"start":{"line":49,"column":2},"end":{"line":94,"column":3}},"16":{"start":{"line":97,"column":0},"end":{"line":99,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":20,"column":19},"end":{"line":20,"column":20}},"loc":{"start":{"line":34,"column":23},"end":{"line":95,"column":1}},"line":34},"1":{"name":"(anonymous_1)","decl":{"start":{"line":41,"column":29},"end":{"line":41,"column":30}},"loc":{"start":{"line":41,"column":35},"end":{"line":47,"column":3}},"line":41}},"branchMap":{"0":{"loc":{"start":{"line":43,"column":4},"end":{"line":43,"column":63}},"type":"if","locations":[{"start":{"line":43,"column":4},"end":{"line":43,"column":63}},{"start":{},"end":{}}],"line":43},"1":{"loc":{"start":{"line":44,"column":4},"end":{"line":44,"column":61}},"type":"if","locations":[{"start":{"line":44,"column":4},"end":{"line":44,"column":61}},{"start":{},"end":{}}],"line":44},"2":{"loc":{"start":{"line":45,"column":4},"end":{"line":45,"column":79}},"type":"if","locations":[{"start":{"line":45,"column":4},"end":{"line":45,"column":79}},{"start":{},"end":{}}],"line":45},"3":{"loc":{"start":{"line":46,"column":11},"end":{"line":46,"column":77}},"type":"cond-expr","locations":[{"start":{"line":46,"column":40},"end":{"line":46,"column":65}},{"start":{"line":46,"column":68},"end":{"line":46,"column":77}}],"line":46},"4":{"loc":{"start":{"line":58,"column":7},"end":{"line":60,"column":7}},"type":"binary-expr","locations":[{"start":{"line":58,"column":7},"end":{"line":58,"column":19}},{"start":{"line":59,"column":8},"end":{"line":59,"column":77}}],"line":58},"5":{"loc":{"start":{"line":61,"column":7},"end":{"line":68,"column":7}},"type":"binary-expr","locations":[{"start":{"line":61,"column":7},"end":{"line":61,"column":18}},{"start":{"line":62,"column":8},"end":{"line":67,"column":14}}],"line":61},"6":{"loc":{"start":{"line":72,"column":22},"end":{"line":72,"column":53}},"type":"cond-expr","locations":[{"start":{"line":72,"column":37},"end":{"line":72,"column":41}},{"start":{"line":72,"column":44},"end":{"line":72,"column":53}}],"line":72},"7":{"loc":{"start":{"line":74,"column":23},"end":{"line":74,"column":50}},"type":"cond-expr","locations":[{"start":{"line":74,"column":34},"end":{"line":74,"column":38}},{"start":{"line":74,"column":41},"end":{"line":74,"column":50}}],"line":74},"8":{"loc":{"start":{"line":76,"column":10},"end":{"line":76,"column":69}},"type":"cond-expr","locations":[{"start":{"line":76,"column":25},"end":{"line":76,"column":46}},{"start":{"line":76,"column":49},"end":{"line":76,"column":69}}],"line":76},"9":{"loc":{"start":{"line":83,"column":15},"end":{"line":83,"column":26}},"type":"binary-expr","locations":[{"start":{"line":83,"column":15},"end":{"line":83,"column":20}},{"start":{"line":83,"column":24},"end":{"line":83,"column":26}}],"line":83},"10":{"loc":{"start":{"line":85,"column":7},"end":{"line":92,"column":7}},"type":"binary-expr","locations":[{"start":{"line":85,"column":7},"end":{"line":85,"column":27}},{"start":{"line":86,"column":8},"end":{"line":91,"column":14}}],"line":85}},"s":{"0":3,"1":2,"2":2,"3":2,"4":2,"5":2,"6":2,"7":2,"8":2,"9":1,"10":2,"11":1,"12":2,"13":0,"14":2,"15":2,"16":3},"f":{"0":2,"1":2},"b":{"0":[1,1],"1":[1,1],"2":[0,2],"3":[1,1],"4":[2,1],"5":[2,1],"6":[1,1],"7":[0,2],"8":[1,1],"9":[2,1],"10":[2,0]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"d284df212a47eb29a1d40182691e6c9b29df577e"} +,"/home/runner/work/passport-status/passport-status/src/components/InputLabel.tsx": {"path":"/home/runner/work/passport-status/passport-status/src/components/InputLabel.tsx","statementMap":{"0":{"start":{"line":9,"column":19},"end":{"line":22,"column":1}},"1":{"start":{"line":16,"column":2},"end":{"line":21,"column":3}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":19},"end":{"line":9,"column":20}},"loc":{"start":{"line":15,"column":23},"end":{"line":22,"column":1}},"line":15}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":7},"end":{"line":19,"column":52}},"type":"binary-expr","locations":[{"start":{"line":19,"column":7},"end":{"line":19,"column":15}},{"start":{"line":19,"column":19},"end":{"line":19,"column":52}}],"line":19}},"s":{"0":4,"1":3},"f":{"0":3},"b":{"0":[3,0]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"fe2a39c2850fdc0e9d6ec930ca25532ad593cc6f"} +,"/home/runner/work/passport-status/passport-status/src/components/Layout.tsx": {"path":"/home/runner/work/passport-status/passport-status/src/components/Layout.tsx","statementMap":{"0":{"start":{"line":11,"column":15},"end":{"line":63,"column":1}},"1":{"start":{"line":12,"column":16},"end":{"line":12,"column":40}},"2":{"start":{"line":14,"column":2},"end":{"line":62,"column":3}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":11,"column":15},"end":{"line":11,"column":16}},"loc":{"start":{"line":11,"column":46},"end":{"line":63,"column":1}},"line":11}},"branchMap":{},"s":{"0":1,"1":2,"2":2},"f":{"0":2},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"5e5f1e6ef5e1c65222903d5ae05cf3a61d4d2c65"} +,"/home/runner/work/passport-status/passport-status/src/components/LinkButton.tsx": {"path":"/home/runner/work/passport-status/passport-status/src/components/LinkButton.tsx","statementMap":{"0":{"start":{"line":18,"column":14},"end":{"line":23,"column":1}},"1":{"start":{"line":25,"column":15},"end":{"line":28,"column":1}},"2":{"start":{"line":30,"column":19},"end":{"line":60,"column":1}},"3":{"start":{"line":42,"column":4},"end":{"line":42,"column":163}},"4":{"start":{"line":43,"column":27},"end":{"line":43,"column":59}},"5":{"start":{"line":44,"column":22},"end":{"line":44,"column":41}},"6":{"start":{"line":45,"column":23},"end":{"line":45,"column":49}},"7":{"start":{"line":47,"column":2},"end":{"line":59,"column":3}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":30,"column":19},"end":{"line":30,"column":20}},"loc":{"start":{"line":40,"column":23},"end":{"line":60,"column":1}},"line":40}},"branchMap":{"0":{"loc":{"start":{"line":43,"column":27},"end":{"line":43,"column":59}},"type":"cond-expr","locations":[{"start":{"line":43,"column":39},"end":{"line":43,"column":47}},{"start":{"line":43,"column":50},"end":{"line":43,"column":59}}],"line":43},"1":{"loc":{"start":{"line":44,"column":28},"end":{"line":44,"column":40}},"type":"binary-expr","locations":[{"start":{"line":44,"column":28},"end":{"line":44,"column":32}},{"start":{"line":44,"column":36},"end":{"line":44,"column":40}}],"line":44},"2":{"loc":{"start":{"line":45,"column":30},"end":{"line":45,"column":48}},"type":"binary-expr","locations":[{"start":{"line":45,"column":30},"end":{"line":45,"column":35}},{"start":{"line":45,"column":39},"end":{"line":45,"column":48}}],"line":45},"3":{"loc":{"start":{"line":50,"column":14},"end":{"line":50,"column":45}},"type":"cond-expr","locations":[{"start":{"line":50,"column":25},"end":{"line":50,"column":33}},{"start":{"line":50,"column":36},"end":{"line":50,"column":45}}],"line":50},"4":{"loc":{"start":{"line":51,"column":11},"end":{"line":51,"column":55}},"type":"cond-expr","locations":[{"start":{"line":51,"column":22},"end":{"line":51,"column":43}},{"start":{"line":51,"column":46},"end":{"line":51,"column":55}}],"line":51}},"s":{"0":4,"1":4,"2":4,"3":4,"4":4,"5":4,"6":4,"7":4},"f":{"0":4},"b":{"0":[2,2],"1":[4,4],"2":[4,2],"3":[0,4],"4":[0,4]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"ae60dec7474be77da254db21da8c4b23365b43b9"} +,"/home/runner/work/passport-status/passport-status/src/components/MarkdownContent.tsx": {"path":"/home/runner/work/passport-status/passport-status/src/components/MarkdownContent.tsx","statementMap":{"0":{"start":{"line":7,"column":13},"end":{"line":9,"column":1}},"1":{"start":{"line":8,"column":2},"end":{"line":8,"column":52}},"2":{"start":{"line":16,"column":31},"end":{"line":53,"column":1}},"3":{"start":{"line":20,"column":2},"end":{"line":52,"column":13}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":13},"end":{"line":7,"column":14}},"loc":{"start":{"line":8,"column":2},"end":{"line":8,"column":52}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":16,"column":31},"end":{"line":16,"column":32}},"loc":{"start":{"line":20,"column":2},"end":{"line":52,"column":13}},"line":20}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":2},"end":{"line":18,"column":30}},"type":"default-arg","locations":[{"start":{"line":18,"column":26},"end":{"line":18,"column":30}}],"line":18}},"s":{"0":14,"1":0,"2":14,"3":0},"f":{"0":0,"1":0},"b":{"0":[0]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"74915304dde331532690373d9c3c5d3c37cbc443"} +,"/home/runner/work/passport-status/passport-status/src/components/Modal.tsx": {"path":"/home/runner/work/passport-status/passport-status/src/components/Modal.tsx","statementMap":{"0":{"start":{"line":14,"column":14},"end":{"line":75,"column":1}},"1":{"start":{"line":21,"column":20},"end":{"line":21,"column":51}},"2":{"start":{"line":22,"column":13},"end":{"line":22,"column":20}},"3":{"start":{"line":24,"column":2},"end":{"line":30,"column":12}},"4":{"start":{"line":25,"column":4},"end":{"line":29,"column":5}},"5":{"start":{"line":26,"column":6},"end":{"line":26,"column":36}},"6":{"start":{"line":28,"column":6},"end":{"line":28,"column":32}},"7":{"start":{"line":32,"column":2},"end":{"line":38,"column":15}},"8":{"start":{"line":33,"column":15},"end":{"line":33,"column":32}},"9":{"start":{"line":34,"column":4},"end":{"line":34,"column":42}},"10":{"start":{"line":35,"column":4},"end":{"line":37,"column":5}},"11":{"start":{"line":36,"column":6},"end":{"line":36,"column":47}},"12":{"start":{"line":42,"column":2},"end":{"line":74,"column":3}},"13":{"start":{"line":65,"column":14},"end":{"line":68,"column":16}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":14,"column":14},"end":{"line":14,"column":15}},"loc":{"start":{"line":20,"column":18},"end":{"line":75,"column":1}},"line":20},"1":{"name":"(anonymous_1)","decl":{"start":{"line":24,"column":12},"end":{"line":24,"column":13}},"loc":{"start":{"line":24,"column":18},"end":{"line":30,"column":3}},"line":24},"2":{"name":"(anonymous_2)","decl":{"start":{"line":32,"column":12},"end":{"line":32,"column":13}},"loc":{"start":{"line":32,"column":18},"end":{"line":38,"column":3}},"line":32},"3":{"name":"(anonymous_3)","decl":{"start":{"line":35,"column":11},"end":{"line":35,"column":12}},"loc":{"start":{"line":35,"column":17},"end":{"line":37,"column":5}},"line":35},"4":{"name":"(anonymous_4)","decl":{"start":{"line":64,"column":31},"end":{"line":64,"column":32}},"loc":{"start":{"line":65,"column":14},"end":{"line":68,"column":16}},"line":65}},"branchMap":{"0":{"loc":{"start":{"line":25,"column":4},"end":{"line":29,"column":5}},"type":"if","locations":[{"start":{"line":25,"column":4},"end":{"line":29,"column":5}},{"start":{"line":27,"column":11},"end":{"line":29,"column":5}}],"line":25}},"s":{"0":3,"1":1,"2":1,"3":1,"4":1,"5":1,"6":0,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1},"f":{"0":1,"1":1,"2":1,"3":1,"4":1},"b":{"0":[1,0]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"cd5c40e6751bf36c1bdcf2e22eafcf2c398540bb"} +,"/home/runner/work/passport-status/passport-status/src/components/check-status-responses/CheckStatusFileBeingProcessed.tsx": {"path":"/home/runner/work/passport-status/passport-status/src/components/check-status-responses/CheckStatusFileBeingProcessed.tsx","statementMap":{"0":{"start":{"line":6,"column":45},"end":{"line":80,"column":1}},"1":{"start":{"line":7,"column":16},"end":{"line":7,"column":52}},"2":{"start":{"line":8,"column":2},"end":{"line":79,"column":3}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":45},"end":{"line":6,"column":46}},"loc":{"start":{"line":6,"column":51},"end":{"line":80,"column":1}},"line":6}},"branchMap":{},"s":{"0":4,"1":4,"2":4},"f":{"0":4},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"b2064582d420de675f4468e1fa368e40cf0cc0cf"} +,"/home/runner/work/passport-status/passport-status/src/components/check-status-responses/CheckStatusNoRecord.tsx": {"path":"/home/runner/work/passport-status/passport-status/src/components/check-status-responses/CheckStatusNoRecord.tsx","statementMap":{"0":{"start":{"line":6,"column":35},"end":{"line":55,"column":1}},"1":{"start":{"line":7,"column":16},"end":{"line":7,"column":52}},"2":{"start":{"line":8,"column":2},"end":{"line":54,"column":3}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":35},"end":{"line":6,"column":36}},"loc":{"start":{"line":6,"column":41},"end":{"line":55,"column":1}},"line":6}},"branchMap":{},"s":{"0":3,"1":4,"2":4},"f":{"0":4},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"f31c9c8900e81cda61281af3ba1aa6acb7a207ae"} +,"/home/runner/work/passport-status/passport-status/src/components/check-status-responses/CheckStatusNotAcceptable.tsx": {"path":"/home/runner/work/passport-status/passport-status/src/components/check-status-responses/CheckStatusNotAcceptable.tsx","statementMap":{"0":{"start":{"line":6,"column":40},"end":{"line":31,"column":1}},"1":{"start":{"line":7,"column":16},"end":{"line":7,"column":52}},"2":{"start":{"line":8,"column":2},"end":{"line":30,"column":3}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":40},"end":{"line":6,"column":41}},"loc":{"start":{"line":6,"column":46},"end":{"line":31,"column":1}},"line":6}},"branchMap":{},"s":{"0":3,"1":2,"2":2},"f":{"0":2},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"32f7c07382e2253574e33e170e3c4d0f441d5fcf"} +,"/home/runner/work/passport-status/passport-status/src/components/check-status-responses/CheckStatusPrinting.tsx": {"path":"/home/runner/work/passport-status/passport-status/src/components/check-status-responses/CheckStatusPrinting.tsx","statementMap":{"0":{"start":{"line":5,"column":35},"end":{"line":17,"column":1}},"1":{"start":{"line":6,"column":16},"end":{"line":6,"column":40}},"2":{"start":{"line":7,"column":2},"end":{"line":16,"column":3}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":35},"end":{"line":5,"column":36}},"loc":{"start":{"line":5,"column":41},"end":{"line":17,"column":1}},"line":5}},"branchMap":{},"s":{"0":3,"1":2,"2":2},"f":{"0":2},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"a30c933d5233ab0271b49ff1aa67b308372b6160"} +,"/home/runner/work/passport-status/passport-status/src/components/check-status-responses/CheckStatusReadyForPickup.tsx": {"path":"/home/runner/work/passport-status/passport-status/src/components/check-status-responses/CheckStatusReadyForPickup.tsx","statementMap":{"0":{"start":{"line":6,"column":41},"end":{"line":32,"column":1}},"1":{"start":{"line":7,"column":16},"end":{"line":7,"column":40}},"2":{"start":{"line":8,"column":2},"end":{"line":31,"column":3}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":41},"end":{"line":6,"column":42}},"loc":{"start":{"line":6,"column":47},"end":{"line":32,"column":1}},"line":6}},"branchMap":{},"s":{"0":3,"1":2,"2":2},"f":{"0":2},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"b48e4d467dd1772345b886fe5e9f2c0b62279ea5"} +,"/home/runner/work/passport-status/passport-status/src/components/check-status-responses/CheckStatusShippingCanadaPost.tsx": {"path":"/home/runner/work/passport-status/passport-status/src/components/check-status-responses/CheckStatusShippingCanadaPost.tsx","statementMap":{"0":{"start":{"line":11,"column":45},"end":{"line":79,"column":1}},"1":{"start":{"line":14,"column":16},"end":{"line":14,"column":52}},"2":{"start":{"line":16,"column":2},"end":{"line":78,"column":3}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":11,"column":45},"end":{"line":11,"column":46}},"loc":{"start":{"line":13,"column":42},"end":{"line":79,"column":1}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":32,"column":9},"end":{"line":63,"column":9}},"type":"cond-expr","locations":[{"start":{"line":33,"column":10},"end":{"line":57,"column":13}},{"start":{"line":59,"column":10},"end":{"line":62,"column":13}}],"line":32}},"s":{"0":2,"1":0,"2":0},"f":{"0":0},"b":{"0":[0,0]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"bcbccf54ba37153412be0550f24dba34158e27e8"} +,"/home/runner/work/passport-status/passport-status/src/components/check-status-responses/CheckStatusShippingFedex.tsx": {"path":"/home/runner/work/passport-status/passport-status/src/components/check-status-responses/CheckStatusShippingFedex.tsx","statementMap":{"0":{"start":{"line":11,"column":40},"end":{"line":75,"column":1}},"1":{"start":{"line":14,"column":16},"end":{"line":14,"column":52}},"2":{"start":{"line":15,"column":2},"end":{"line":74,"column":3}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":11,"column":40},"end":{"line":11,"column":41}},"loc":{"start":{"line":13,"column":37},"end":{"line":75,"column":1}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":31,"column":9},"end":{"line":59,"column":9}},"type":"cond-expr","locations":[{"start":{"line":32,"column":10},"end":{"line":56,"column":13}},{"start":{"line":58,"column":10},"end":{"line":58,"column":48}}],"line":31}},"s":{"0":3,"1":2,"2":2},"f":{"0":2},"b":{"0":[0,2]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"c7dcdf8129afc63bd199a14c7b54d71f2eed7555"} +,"/home/runner/work/passport-status/passport-status/src/components/error-pages/Error404Page.tsx": {"path":"/home/runner/work/passport-status/passport-status/src/components/error-pages/Error404Page.tsx","statementMap":{"0":{"start":{"line":6,"column":21},"end":{"line":71,"column":1}},"1":{"start":{"line":7,"column":2},"end":{"line":70,"column":3}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":21},"end":{"line":6,"column":22}},"loc":{"start":{"line":6,"column":27},"end":{"line":71,"column":1}},"line":6}},"branchMap":{},"s":{"0":1,"1":1},"f":{"0":1},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"456d9f30b6afdfe6f24f5075ee340a3231382561"} +,"/home/runner/work/passport-status/passport-status/src/components/error-pages/ErrorPage.tsx": {"path":"/home/runner/work/passport-status/passport-status/src/components/error-pages/ErrorPage.tsx","statementMap":{"0":{"start":{"line":10,"column":18},"end":{"line":94,"column":1}},"1":{"start":{"line":11,"column":2},"end":{"line":93,"column":3}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":10,"column":18},"end":{"line":10,"column":19}},"loc":{"start":{"line":10,"column":54},"end":{"line":94,"column":1}},"line":10}},"branchMap":{"0":{"loc":{"start":{"line":16,"column":10},"end":{"line":18,"column":58}},"type":"cond-expr","locations":[{"start":{"line":17,"column":14},"end":{"line":17,"column":65}},{"start":{"line":18,"column":14},"end":{"line":18,"column":58}}],"line":16},"1":{"loc":{"start":{"line":23,"column":9},"end":{"line":23,"column":77}},"type":"cond-expr","locations":[{"start":{"line":23,"column":30},"end":{"line":23,"column":53}},{"start":{"line":23,"column":56},"end":{"line":23,"column":77}}],"line":23},"2":{"loc":{"start":{"line":29,"column":11},"end":{"line":31,"column":36}},"type":"cond-expr","locations":[{"start":{"line":30,"column":14},"end":{"line":30,"column":41}},{"start":{"line":31,"column":14},"end":{"line":31,"column":36}}],"line":29},"3":{"loc":{"start":{"line":38,"column":13},"end":{"line":38,"column":79}},"type":"cond-expr","locations":[{"start":{"line":38,"column":26},"end":{"line":38,"column":47}},{"start":{"line":38,"column":50},"end":{"line":38,"column":79}}],"line":38},"4":{"loc":{"start":{"line":64,"column":13},"end":{"line":66,"column":47}},"type":"cond-expr","locations":[{"start":{"line":65,"column":16},"end":{"line":65,"column":38}},{"start":{"line":66,"column":16},"end":{"line":66,"column":47}}],"line":64}},"s":{"0":1,"1":2},"f":{"0":2},"b":{"0":[1,1],"1":[1,1],"2":[1,1],"3":[1,1],"4":[1,1]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"2b9e6f4551ae296c938bd87ae067895615e83774"} +,"/home/runner/work/passport-status/passport-status/src/lib/removeCheckStatus.ts": {"path":"/home/runner/work/passport-status/passport-status/src/lib/removeCheckStatus.ts","statementMap":{"0":{"start":{"line":3,"column":33},"end":{"line":7,"column":1}},"1":{"start":{"line":4,"column":2},"end":{"line":6,"column":4}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":33},"end":{"line":3,"column":34}},"loc":{"start":{"line":3,"column":63},"end":{"line":7,"column":1}},"line":3}},"branchMap":{},"s":{"0":1,"1":0},"f":{"0":0},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"7dd257290d48c45e71f3e86b1f83951d58901a02"} +,"/home/runner/work/passport-status/passport-status/src/lib/types.ts": {"path":"/home/runner/work/passport-status/passport-status/src/lib/types.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"286e42183f3ce578fabe2b4564b887644ec32c64"} +,"/home/runner/work/passport-status/passport-status/src/lib/useAlerts.ts": {"path":"/home/runner/work/passport-status/passport-status/src/lib/useAlerts.ts","statementMap":{"0":{"start":{"line":6,"column":27},"end":{"line":21,"column":1}},"1":{"start":{"line":10,"column":16},"end":{"line":10,"column":65}},"2":{"start":{"line":11,"column":12},"end":{"line":11,"column":68}},"3":{"start":{"line":13,"column":19},"end":{"line":16,"column":4}},"4":{"start":{"line":18,"column":2},"end":{"line":18,"column":41}},"5":{"start":{"line":18,"column":19},"end":{"line":18,"column":41}},"6":{"start":{"line":19,"column":2},"end":{"line":19,"column":42}},"7":{"start":{"line":19,"column":31},"end":{"line":19,"column":42}},"8":{"start":{"line":20,"column":2},"end":{"line":20,"column":58}},"9":{"start":{"line":23,"column":25},"end":{"line":35,"column":1}},"10":{"start":{"line":30,"column":2},"end":{"line":34,"column":4}},"11":{"start":{"line":33,"column":29},"end":{"line":33,"column":64}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":27},"end":{"line":6,"column":28}},"loc":{"start":{"line":9,"column":30},"end":{"line":21,"column":1}},"line":9},"1":{"name":"(anonymous_1)","decl":{"start":{"line":23,"column":25},"end":{"line":23,"column":26}},"loc":{"start":{"line":29,"column":5},"end":{"line":35,"column":1}},"line":29},"2":{"name":"(anonymous_2)","decl":{"start":{"line":33,"column":13},"end":{"line":33,"column":14}},"loc":{"start":{"line":33,"column":29},"end":{"line":33,"column":64}},"line":33}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":12},"end":{"line":11,"column":68}},"type":"cond-expr","locations":[{"start":{"line":11,"column":30},"end":{"line":11,"column":52}},{"start":{"line":11,"column":55},"end":{"line":11,"column":68}}],"line":11},"1":{"loc":{"start":{"line":14,"column":8},"end":{"line":14,"column":18}},"type":"binary-expr","locations":[{"start":{"line":14,"column":8},"end":{"line":14,"column":12}},{"start":{"line":14,"column":16},"end":{"line":14,"column":18}}],"line":14},"2":{"loc":{"start":{"line":18,"column":2},"end":{"line":18,"column":41}},"type":"if","locations":[{"start":{"line":18,"column":2},"end":{"line":18,"column":41}},{"start":{},"end":{}}],"line":18},"3":{"loc":{"start":{"line":19,"column":2},"end":{"line":19,"column":42}},"type":"if","locations":[{"start":{"line":19,"column":2},"end":{"line":19,"column":42}},{"start":{},"end":{}}],"line":19},"4":{"loc":{"start":{"line":31,"column":8},"end":{"line":31,"column":26}},"type":"binary-expr","locations":[{"start":{"line":31,"column":8},"end":{"line":31,"column":20}},{"start":{"line":31,"column":24},"end":{"line":31,"column":26}}],"line":31}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0]}} +,"/home/runner/work/passport-status/passport-status/src/lib/useCheckStatus.ts": {"path":"/home/runner/work/passport-status/passport-status/src/lib/useCheckStatus.ts","statementMap":{"0":{"start":{"line":6,"column":32},"end":{"line":17,"column":1}},"1":{"start":{"line":10,"column":16},"end":{"line":12,"column":15}},"2":{"start":{"line":13,"column":19},"end":{"line":13,"column":66}},"3":{"start":{"line":14,"column":2},"end":{"line":14,"column":41}},"4":{"start":{"line":14,"column":19},"end":{"line":14,"column":41}},"5":{"start":{"line":15,"column":2},"end":{"line":15,"column":42}},"6":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"7":{"start":{"line":16,"column":2},"end":{"line":16,"column":58}},"8":{"start":{"line":19,"column":30},"end":{"line":47,"column":1}},"9":{"start":{"line":30,"column":16},"end":{"line":39,"column":4}},"10":{"start":{"line":38,"column":6},"end":{"line":38,"column":62}},"11":{"start":{"line":43,"column":2},"end":{"line":46,"column":3}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":32},"end":{"line":6,"column":33}},"loc":{"start":{"line":9,"column":45},"end":{"line":17,"column":1}},"line":9},"1":{"name":"(anonymous_1)","decl":{"start":{"line":19,"column":30},"end":{"line":19,"column":31}},"loc":{"start":{"line":29,"column":5},"end":{"line":47,"column":1}},"line":29},"2":{"name":"(anonymous_2)","decl":{"start":{"line":37,"column":13},"end":{"line":37,"column":14}},"loc":{"start":{"line":38,"column":6},"end":{"line":38,"column":62}},"line":38}},"branchMap":{"0":{"loc":{"start":{"line":14,"column":2},"end":{"line":14,"column":41}},"type":"if","locations":[{"start":{"line":14,"column":2},"end":{"line":14,"column":41}},{"start":{},"end":{}}],"line":14},"1":{"loc":{"start":{"line":15,"column":2},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":2},"end":{"line":15,"column":42}},{"start":{},"end":{}}],"line":15},"2":{"loc":{"start":{"line":35,"column":8},"end":{"line":35,"column":26}},"type":"binary-expr","locations":[{"start":{"line":35,"column":8},"end":{"line":35,"column":20}},{"start":{"line":35,"column":24},"end":{"line":35,"column":26}}],"line":35},"3":{"loc":{"start":{"line":45,"column":15},"end":{"line":45,"column":62}},"type":"binary-expr","locations":[{"start":{"line":45,"column":15},"end":{"line":45,"column":30}},{"start":{"line":45,"column":34},"end":{"line":45,"column":62}}],"line":45}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0]}} +,"/home/runner/work/passport-status/passport-status/src/lib/useEmailEsrf.ts": {"path":"/home/runner/work/passport-status/passport-status/src/lib/useEmailEsrf.ts","statementMap":{"0":{"start":{"line":6,"column":21},"end":{"line":28,"column":1}},"1":{"start":{"line":12,"column":2},"end":{"line":27,"column":4}},"2":{"start":{"line":15,"column":23},"end":{"line":21,"column":8}},"3":{"start":{"line":23,"column":6},"end":{"line":25,"column":7}},"4":{"start":{"line":24,"column":8},"end":{"line":24,"column":64}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":21},"end":{"line":6,"column":22}},"loc":{"start":{"line":11,"column":5},"end":{"line":28,"column":1}},"line":11},"1":{"name":"(anonymous_1)","decl":{"start":{"line":14,"column":16},"end":{"line":14,"column":17}},"loc":{"start":{"line":14,"column":32},"end":{"line":26,"column":5}},"line":14}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":8},"end":{"line":13,"column":21}},"type":"binary-expr","locations":[{"start":{"line":13,"column":8},"end":{"line":13,"column":15}},{"start":{"line":13,"column":19},"end":{"line":13,"column":21}}],"line":13},"1":{"loc":{"start":{"line":23,"column":6},"end":{"line":25,"column":7}},"type":"if","locations":[{"start":{"line":23,"column":6},"end":{"line":25,"column":7}},{"start":{},"end":{}}],"line":23}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/passport-status/passport-status/src/lib/mappers/checkStatusApiResponseMapper.ts": {"path":"/home/runner/work/passport-status/passport-status/src/lib/mappers/checkStatusApiResponseMapper.ts","statementMap":{"0":{"start":{"line":13,"column":43},"end":{"line":23,"column":2}},"1":{"start":{"line":15,"column":30},"end":{"line":23,"column":1}},"2":{"start":{"line":29,"column":33},"end":{"line":37,"column":1}},"3":{"start":{"line":32,"column":2},"end":{"line":36,"column":21}},"4":{"start":{"line":34,"column":6},"end":{"line":35,"column":37}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":43},"end":{"line":13,"column":44}},"loc":{"start":{"line":15,"column":30},"end":{"line":23,"column":1}},"line":15},"1":{"name":"(anonymous_1)","decl":{"start":{"line":29,"column":33},"end":{"line":29,"column":34}},"loc":{"start":{"line":31,"column":25},"end":{"line":37,"column":1}},"line":31},"2":{"name":"(anonymous_2)","decl":{"start":{"line":33,"column":4},"end":{"line":33,"column":5}},"loc":{"start":{"line":34,"column":6},"end":{"line":35,"column":37}},"line":34}},"branchMap":{},"s":{"0":1,"1":0,"2":1,"3":0,"4":0},"f":{"0":0,"1":0,"2":0},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"6f8ff011e8637df02ccd97684398f470c1f1ac8a"} +,"/home/runner/work/passport-status/passport-status/src/lib/utils/fonts.ts": {"path":"/home/runner/work/passport-status/passport-status/src/lib/utils/fonts.ts","statementMap":{"0":{"start":{"line":3,"column":20},"end":{"line":8,"column":2}},"1":{"start":{"line":10,"column":24},"end":{"line":15,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0,"1":0},"f":{},"b":{}} +,"/home/runner/work/passport-status/passport-status/src/lib/utils/next-i18next-utils.ts": {"path":"/home/runner/work/passport-status/passport-status/src/lib/utils/next-i18next-utils.ts","statementMap":{"0":{"start":{"line":9,"column":55},"end":{"line":9,"column":65}},"1":{"start":{"line":17,"column":29},"end":{"line":36,"column":1}},"2":{"start":{"line":24,"column":43},"end":{"line":24,"column":60}},"3":{"start":{"line":26,"column":2},"end":{"line":28,"column":3}},"4":{"start":{"line":27,"column":4},"end":{"line":27,"column":21}},"5":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"6":{"start":{"line":31,"column":4},"end":{"line":31,"column":60}},"7":{"start":{"line":34,"column":2},"end":{"line":34,"column":20}},"8":{"start":{"line":35,"column":2},"end":{"line":35,"column":61}},"9":{"start":{"line":44,"column":46},"end":{"line":56,"column":1}},"10":{"start":{"line":51,"column":2},"end":{"line":55,"column":3}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":17,"column":29},"end":{"line":17,"column":30}},"loc":{"start":{"line":22,"column":5},"end":{"line":36,"column":1}},"line":22},"1":{"name":"(anonymous_1)","decl":{"start":{"line":44,"column":46},"end":{"line":44,"column":47}},"loc":{"start":{"line":50,"column":5},"end":{"line":56,"column":1}},"line":50}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":2},"end":{"line":21,"column":27}},"type":"default-arg","locations":[{"start":{"line":21,"column":18},"end":{"line":21,"column":27}}],"line":18},"1":{"loc":{"start":{"line":26,"column":2},"end":{"line":28,"column":3}},"type":"if","locations":[{"start":{"line":26,"column":2},"end":{"line":28,"column":3}},{"start":{},"end":{}}],"line":26},"2":{"loc":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"type":"if","locations":[{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},{"start":{},"end":{}}],"line":30},"3":{"loc":{"start":{"line":46,"column":2},"end":{"line":49,"column":27}},"type":"default-arg","locations":[{"start":{"line":49,"column":18},"end":{"line":49,"column":27}}],"line":46},"4":{"loc":{"start":{"line":52,"column":4},"end":{"line":52,"column":50}},"type":"binary-expr","locations":[{"start":{"line":52,"column":4},"end":{"line":52,"column":10}},{"start":{"line":52,"column":14},"end":{"line":52,"column":50}}],"line":52}},"s":{"0":4,"1":4,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":4,"10":0},"f":{"0":0,"1":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0],"4":[0,0]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"f5bf2e4c13d592a455132449629351f2b748af52"} +,"/home/runner/work/passport-status/passport-status/src/lib/utils/seo-utils.ts": {"path":"/home/runner/work/passport-status/passport-status/src/lib/utils/seo-utils.ts","statementMap":{"0":{"start":{"line":5,"column":48},"end":{"line":8,"column":2}},"1":{"start":{"line":5,"column":62},"end":{"line":8,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":48},"end":{"line":5,"column":49}},"loc":{"start":{"line":5,"column":62},"end":{"line":8,"column":1}},"line":5}},"branchMap":{},"s":{"0":5,"1":9},"f":{"0":9},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"e23143e7c7ba931fc6959574e265a308d38493fd"} +,"/home/runner/work/passport-status/passport-status/src/logging/log-level.ts": {"path":"/home/runner/work/passport-status/passport-status/src/logging/log-level.ts","statementMap":{"0":{"start":{"line":3,"column":37},"end":{"line":7,"column":1}},"1":{"start":{"line":5,"column":2},"end":{"line":5,"column":65}},"2":{"start":{"line":5,"column":33},"end":{"line":5,"column":65}},"3":{"start":{"line":6,"column":2},"end":{"line":6,"column":55}},"4":{"start":{"line":9,"column":28},"end":{"line":14,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":37},"end":{"line":3,"column":38}},"loc":{"start":{"line":3,"column":43},"end":{"line":7,"column":1}},"line":3}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":2},"end":{"line":5,"column":65}},"type":"if","locations":[{"start":{"line":5,"column":2},"end":{"line":5,"column":65}},{"start":{},"end":{}}],"line":5}},"s":{"0":2,"1":2,"2":0,"3":2,"4":2},"f":{"0":2},"b":{"0":[0,2]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"6320ebe807a68ef155f63ddb62539be0f88509a6"} +,"/home/runner/work/passport-status/passport-status/src/logging/log-util.ts": {"path":"/home/runner/work/passport-status/passport-status/src/logging/log-util.ts","statementMap":{"0":{"start":{"line":5,"column":18},"end":{"line":7,"column":1}},"1":{"start":{"line":10,"column":2},"end":{"line":10,"column":62}},"2":{"start":{"line":14,"column":2},"end":{"line":18,"column":4}}},"fnMap":{"0":{"name":"getLogLevel","decl":{"start":{"line":9,"column":16},"end":{"line":9,"column":27}},"loc":{"start":{"line":9,"column":52},"end":{"line":11,"column":1}},"line":9},"1":{"name":"getLogger","decl":{"start":{"line":13,"column":16},"end":{"line":13,"column":25}},"loc":{"start":{"line":13,"column":48},"end":{"line":19,"column":1}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":9},"end":{"line":10,"column":62}},"type":"binary-expr","locations":[{"start":{"line":10,"column":9},"end":{"line":10,"column":30}},{"start":{"line":10,"column":34},"end":{"line":10,"column":52}},{"start":{"line":10,"column":56},"end":{"line":10,"column":62}}],"line":10}},"s":{"0":2,"1":2,"2":2},"f":{"0":2,"1":2},"b":{"0":[2,2,2]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"f842dd33e5e49aa302496cf162b32478f64c8cbe"} +,"/home/runner/work/passport-status/passport-status/src/pages/_app.tsx": {"path":"/home/runner/work/passport-status/passport-status/src/pages/_app.tsx","statementMap":{"0":{"start":{"line":18,"column":20},"end":{"line":20,"column":2}},"1":{"start":{"line":23,"column":34},"end":{"line":23,"column":36}},"2":{"start":{"line":25,"column":14},"end":{"line":85,"column":1}},"3":{"start":{"line":26,"column":17},"end":{"line":26,"column":28}},"4":{"start":{"line":28,"column":4},"end":{"line":28,"column":56}},"5":{"start":{"line":29,"column":21},"end":{"line":29,"column":60}},"6":{"start":{"line":30,"column":24},"end":{"line":30,"column":60}},"7":{"start":{"line":35,"column":2},"end":{"line":51,"column":21}},"8":{"start":{"line":36,"column":30},"end":{"line":42,"column":5}},"9":{"start":{"line":38,"column":6},"end":{"line":41,"column":7}},"10":{"start":{"line":39,"column":9},"end":{"line":39,"column":76}},"11":{"start":{"line":40,"column":8},"end":{"line":40,"column":62}},"12":{"start":{"line":44,"column":4},"end":{"line":44,"column":23}},"13":{"start":{"line":45,"column":4},"end":{"line":45,"column":62}},"14":{"start":{"line":46,"column":4},"end":{"line":46,"column":61}},"15":{"start":{"line":47,"column":4},"end":{"line":50,"column":5}},"16":{"start":{"line":48,"column":6},"end":{"line":48,"column":65}},"17":{"start":{"line":49,"column":6},"end":{"line":49,"column":64}},"18":{"start":{"line":53,"column":2},"end":{"line":84,"column":3}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":25,"column":14},"end":{"line":25,"column":15}},"loc":{"start":{"line":25,"column":62},"end":{"line":85,"column":1}},"line":25},"1":{"name":"(anonymous_1)","decl":{"start":{"line":35,"column":12},"end":{"line":35,"column":13}},"loc":{"start":{"line":35,"column":18},"end":{"line":51,"column":3}},"line":35},"2":{"name":"(anonymous_2)","decl":{"start":{"line":36,"column":30},"end":{"line":36,"column":31}},"loc":{"start":{"line":36,"column":36},"end":{"line":42,"column":5}},"line":36},"3":{"name":"(anonymous_3)","decl":{"start":{"line":47,"column":11},"end":{"line":47,"column":12}},"loc":{"start":{"line":47,"column":17},"end":{"line":50,"column":5}},"line":47}},"branchMap":{"0":{"loc":{"start":{"line":38,"column":6},"end":{"line":41,"column":7}},"type":"if","locations":[{"start":{"line":38,"column":6},"end":{"line":41,"column":7}},{"start":{},"end":{}}],"line":38},"1":{"loc":{"start":{"line":68,"column":7},"end":{"line":73,"column":7}},"type":"binary-expr","locations":[{"start":{"line":68,"column":7},"end":{"line":68,"column":30}},{"start":{"line":69,"column":8},"end":{"line":72,"column":11}}],"line":68}},"s":{"0":1,"1":1,"2":1,"3":2,"4":2,"5":2,"6":2,"7":2,"8":2,"9":2,"10":1,"11":1,"12":2,"13":2,"14":2,"15":2,"16":2,"17":2,"18":2},"f":{"0":2,"1":2,"2":2,"3":2},"b":{"0":[1,1],"1":[2,1]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"5d7e20ee78fa367e4551c111d11e1a3864a53bff"} +,"/home/runner/work/passport-status/passport-status/src/pages/_document.tsx": {"path":"/home/runner/work/passport-status/passport-status/src/pages/_document.tsx","statementMap":{"0":{"start":{"line":14,"column":25},"end":{"line":14,"column":60}},"1":{"start":{"line":16,"column":4},"end":{"line":16,"column":23}},"2":{"start":{"line":19,"column":4},"end":{"line":33,"column":5}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":11,"column":2},"end":{"line":11,"column":3}},"loc":{"start":{"line":13,"column":35},"end":{"line":17,"column":3}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":18,"column":2},"end":{"line":18,"column":3}},"loc":{"start":{"line":18,"column":11},"end":{"line":34,"column":3}},"line":18}},"branchMap":{"0":{"loc":{"start":{"line":22,"column":10},"end":{"line":24,"column":31}},"type":"cond-expr","locations":[{"start":{"line":23,"column":14},"end":{"line":23,"column":18}},{"start":{"line":24,"column":14},"end":{"line":24,"column":31}}],"line":22},"1":{"loc":{"start":{"line":22,"column":11},"end":{"line":22,"column":56}},"type":"binary-expr","locations":[{"start":{"line":22,"column":11},"end":{"line":22,"column":43}},{"start":{"line":22,"column":47},"end":{"line":22,"column":56}}],"line":22}},"s":{"0":0,"1":0,"2":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0]}} +,"/home/runner/work/passport-status/passport-status/src/pages/_error.tsx": {"path":"/home/runner/work/passport-status/passport-status/src/pages/_error.tsx","statementMap":{"0":{"start":{"line":10,"column":36},"end":{"line":13,"column":1}},"1":{"start":{"line":11,"column":2},"end":{"line":11,"column":49}},"2":{"start":{"line":11,"column":26},"end":{"line":11,"column":49}},"3":{"start":{"line":12,"column":2},"end":{"line":12,"column":46}},"4":{"start":{"line":15,"column":0},"end":{"line":18,"column":1}},"5":{"start":{"line":16,"column":21},"end":{"line":16,"column":62}},"6":{"start":{"line":17,"column":2},"end":{"line":17,"column":23}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":10,"column":36},"end":{"line":10,"column":37}},"loc":{"start":{"line":10,"column":56},"end":{"line":13,"column":1}},"line":10},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":24},"end":{"line":15,"column":25}},"loc":{"start":{"line":15,"column":48},"end":{"line":18,"column":1}},"line":15}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":2},"end":{"line":11,"column":49}},"type":"if","locations":[{"start":{"line":11,"column":2},"end":{"line":11,"column":49}},{"start":{},"end":{}}],"line":11},"1":{"loc":{"start":{"line":16,"column":21},"end":{"line":16,"column":62}},"type":"binary-expr","locations":[{"start":{"line":16,"column":21},"end":{"line":16,"column":36}},{"start":{"line":16,"column":40},"end":{"line":16,"column":55}},{"start":{"line":16,"column":59},"end":{"line":16,"column":62}}],"line":16}},"s":{"0":1,"1":3,"2":1,"3":2,"4":1,"5":0,"6":0},"f":{"0":3,"1":0},"b":{"0":[1,2],"1":[0,0,0]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"b67c5d508bda252e0b67df0ff6761dde46a7cd25"} +,"/home/runner/work/passport-status/passport-status/src/pages/email.tsx": {"path":"/home/runner/work/passport-status/passport-status/src/pages/email.tsx","statementMap":{"0":{"start":{"line":32,"column":47},"end":{"line":38,"column":1}},"1":{"start":{"line":40,"column":25},"end":{"line":49,"column":2}},"2":{"start":{"line":51,"column":24},"end":{"line":59,"column":1}},"3":{"start":{"line":52,"column":2},"end":{"line":58,"column":9}},"4":{"start":{"line":54,"column":6},"end":{"line":54,"column":69}},"5":{"start":{"line":55,"column":4},"end":{"line":55,"column":24}},"6":{"start":{"line":55,"column":18},"end":{"line":55,"column":24}},"7":{"start":{"line":56,"column":4},"end":{"line":56,"column":67}},"8":{"start":{"line":57,"column":4},"end":{"line":57,"column":19}},"9":{"start":{"line":61,"column":14},"end":{"line":340,"column":1}},"10":{"start":{"line":62,"column":16},"end":{"line":62,"column":51}},"11":{"start":{"line":64,"column":17},"end":{"line":64,"column":28}},"12":{"start":{"line":65,"column":36},"end":{"line":65,"column":51}},"13":{"start":{"line":73,"column":6},"end":{"line":73,"column":58}},"14":{"start":{"line":73,"column":38},"end":{"line":73,"column":55}},"15":{"start":{"line":82,"column":6},"end":{"line":100,"column":4}},"16":{"start":{"line":85,"column":6},"end":{"line":85,"column":61}},"17":{"start":{"line":88,"column":6},"end":{"line":95,"column":7}},"18":{"start":{"line":89,"column":8},"end":{"line":89,"column":57}},"19":{"start":{"line":91,"column":8},"end":{"line":91,"column":17}},"20":{"start":{"line":93,"column":8},"end":{"line":93,"column":52}},"21":{"start":{"line":94,"column":8},"end":{"line":94,"column":40}},"22":{"start":{"line":102,"column":28},"end":{"line":110,"column":3}},"23":{"start":{"line":104,"column":6},"end":{"line":108,"column":8}},"24":{"start":{"line":105,"column":8},"end":{"line":105,"column":55}},"25":{"start":{"line":105,"column":44},"end":{"line":105,"column":55}},"26":{"start":{"line":107,"column":8},"end":{"line":107,"column":55}},"27":{"start":{"line":112,"column":66},"end":{"line":117,"column":3}},"28":{"start":{"line":114,"column":6},"end":{"line":114,"column":52}},"29":{"start":{"line":119,"column":30},"end":{"line":119,"column":71}},"30":{"start":{"line":119,"column":48},"end":{"line":119,"column":66}},"31":{"start":{"line":121,"column":29},"end":{"line":121,"column":71}},"32":{"start":{"line":121,"column":47},"end":{"line":121,"column":66}},"33":{"start":{"line":123,"column":38},"end":{"line":125,"column":14}},"34":{"start":{"line":124,"column":4},"end":{"line":124,"column":27}},"35":{"start":{"line":128,"column":4},"end":{"line":136,"column":5}},"36":{"start":{"line":130,"column":8},"end":{"line":130,"column":26}},"37":{"start":{"line":131,"column":8},"end":{"line":131,"column":21}},"38":{"start":{"line":132,"column":8},"end":{"line":132,"column":24}},"39":{"start":{"line":133,"column":8},"end":{"line":133,"column":25}},"40":{"start":{"line":139,"column":2},"end":{"line":139,"column":42}},"41":{"start":{"line":139,"column":22},"end":{"line":139,"column":42}},"42":{"start":{"line":141,"column":2},"end":{"line":339,"column":3}},"43":{"start":{"line":342,"column":54},"end":{"line":346,"column":2}},"44":{"start":{"line":342,"column":77},"end":{"line":346,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":51,"column":24},"end":{"line":51,"column":25}},"loc":{"start":{"line":51,"column":30},"end":{"line":59,"column":1}},"line":51},"1":{"name":"(anonymous_1)","decl":{"start":{"line":52,"column":13},"end":{"line":52,"column":14}},"loc":{"start":{"line":52,"column":19},"end":{"line":58,"column":3}},"line":52},"2":{"name":"(anonymous_2)","decl":{"start":{"line":61,"column":14},"end":{"line":61,"column":15}},"loc":{"start":{"line":61,"column":20},"end":{"line":340,"column":1}},"line":61},"3":{"name":"(anonymous_3)","decl":{"start":{"line":73,"column":32},"end":{"line":73,"column":33}},"loc":{"start":{"line":73,"column":38},"end":{"line":73,"column":55}},"line":73},"4":{"name":"(anonymous_4)","decl":{"start":{"line":84,"column":14},"end":{"line":84,"column":15}},"loc":{"start":{"line":85,"column":6},"end":{"line":85,"column":61}},"line":85},"5":{"name":"(anonymous_5)","decl":{"start":{"line":86,"column":14},"end":{"line":86,"column":15}},"loc":{"start":{"line":86,"column":32},"end":{"line":96,"column":5}},"line":86},"6":{"name":"(anonymous_6)","decl":{"start":{"line":103,"column":4},"end":{"line":103,"column":5}},"loc":{"start":{"line":104,"column":6},"end":{"line":108,"column":8}},"line":104},"7":{"name":"(anonymous_7)","decl":{"start":{"line":104,"column":48},"end":{"line":104,"column":49}},"loc":{"start":{"line":104,"column":58},"end":{"line":108,"column":7}},"line":104},"8":{"name":"(anonymous_8)","decl":{"start":{"line":113,"column":4},"end":{"line":113,"column":5}},"loc":{"start":{"line":113,"column":20},"end":{"line":115,"column":5}},"line":113},"9":{"name":"(anonymous_9)","decl":{"start":{"line":119,"column":42},"end":{"line":119,"column":43}},"loc":{"start":{"line":119,"column":48},"end":{"line":119,"column":66}},"line":119},"10":{"name":"(anonymous_10)","decl":{"start":{"line":121,"column":41},"end":{"line":121,"column":42}},"loc":{"start":{"line":121,"column":47},"end":{"line":121,"column":66}},"line":121},"11":{"name":"(anonymous_11)","decl":{"start":{"line":123,"column":50},"end":{"line":123,"column":51}},"loc":{"start":{"line":123,"column":56},"end":{"line":125,"column":3}},"line":123},"12":{"name":"(anonymous_12)","decl":{"start":{"line":129,"column":6},"end":{"line":129,"column":7}},"loc":{"start":{"line":129,"column":13},"end":{"line":134,"column":7}},"line":129},"13":{"name":"(anonymous_13)","decl":{"start":{"line":342,"column":54},"end":{"line":342,"column":55}},"loc":{"start":{"line":342,"column":77},"end":{"line":346,"column":1}},"line":342}},"branchMap":{"0":{"loc":{"start":{"line":55,"column":4},"end":{"line":55,"column":24}},"type":"if","locations":[{"start":{"line":55,"column":4},"end":{"line":55,"column":24}},{"start":{},"end":{}}],"line":55},"1":{"loc":{"start":{"line":85,"column":37},"end":{"line":85,"column":58}},"type":"binary-expr","locations":[{"start":{"line":85,"column":37},"end":{"line":85,"column":50}},{"start":{"line":85,"column":54},"end":{"line":85,"column":58}}],"line":85},"2":{"loc":{"start":{"line":105,"column":8},"end":{"line":105,"column":55}},"type":"if","locations":[{"start":{"line":105,"column":8},"end":{"line":105,"column":55}},{"start":{},"end":{}}],"line":105},"3":{"loc":{"start":{"line":139,"column":2},"end":{"line":139,"column":42}},"type":"if","locations":[{"start":{"line":139,"column":2},"end":{"line":139,"column":42}},{"start":{},"end":{}}],"line":139},"4":{"loc":{"start":{"line":149,"column":7},"end":{"line":319,"column":7}},"type":"cond-expr","locations":[{"start":{"line":150,"column":8},"end":{"line":211,"column":14}},{"start":{"line":213,"column":8},"end":{"line":318,"column":14}}],"line":149},"5":{"loc":{"start":{"line":226,"column":13},"end":{"line":234,"column":13}},"type":"binary-expr","locations":[{"start":{"line":226,"column":13},"end":{"line":226,"column":41}},{"start":{"line":227,"column":14},"end":{"line":233,"column":16}}],"line":226},"6":{"loc":{"start":{"line":243,"column":28},"end":{"line":243,"column":78}},"type":"binary-expr","locations":[{"start":{"line":243,"column":28},"end":{"line":243,"column":46}},{"start":{"line":243,"column":50},"end":{"line":243,"column":78}}],"line":243},"7":{"loc":{"start":{"line":262,"column":16},"end":{"line":262,"column":74}},"type":"binary-expr","locations":[{"start":{"line":262,"column":16},"end":{"line":262,"column":38}},{"start":{"line":262,"column":42},"end":{"line":262,"column":74}}],"line":262},"8":{"loc":{"start":{"line":284,"column":16},"end":{"line":284,"column":70}},"type":"binary-expr","locations":[{"start":{"line":284,"column":16},"end":{"line":284,"column":36}},{"start":{"line":284,"column":40},"end":{"line":284,"column":70}}],"line":284},"9":{"loc":{"start":{"line":296,"column":16},"end":{"line":296,"column":78}},"type":"binary-expr","locations":[{"start":{"line":296,"column":16},"end":{"line":296,"column":40}},{"start":{"line":296,"column":44},"end":{"line":296,"column":78}}],"line":296}},"s":{"0":1,"1":1,"2":1,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":1,"10":3,"11":3,"12":3,"13":2,"14":0,"15":2,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":2,"23":2,"24":0,"25":0,"26":0,"27":2,"28":0,"29":2,"30":0,"31":2,"32":0,"33":2,"34":0,"35":2,"36":0,"37":0,"38":0,"39":0,"40":2,"41":0,"42":2,"43":1,"44":0},"f":{"0":0,"1":0,"2":3,"3":0,"4":0,"5":0,"6":2,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,2],"4":[0,2],"5":[2,0],"6":[2,0],"7":[2,0],"8":[2,0],"9":[2,0]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"30ea94761f45da7c9de18821132d0d4621d75646"} +,"/home/runner/work/passport-status/passport-status/src/pages/expectations.tsx": {"path":"/home/runner/work/passport-status/passport-status/src/pages/expectations.tsx","statementMap":{"0":{"start":{"line":17,"column":21},"end":{"line":95,"column":1}},"1":{"start":{"line":18,"column":16},"end":{"line":18,"column":58}},"2":{"start":{"line":20,"column":67},"end":{"line":27,"column":3}},"3":{"start":{"line":22,"column":6},"end":{"line":22,"column":24}},"4":{"start":{"line":23,"column":6},"end":{"line":23,"column":73}},"5":{"start":{"line":24,"column":6},"end":{"line":24,"column":29}},"6":{"start":{"line":29,"column":2},"end":{"line":94,"column":3}},"7":{"start":{"line":97,"column":54},"end":{"line":104,"column":2}},"8":{"start":{"line":97,"column":77},"end":{"line":104,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":17,"column":21},"end":{"line":17,"column":22}},"loc":{"start":{"line":17,"column":27},"end":{"line":95,"column":1}},"line":17},"1":{"name":"(anonymous_1)","decl":{"start":{"line":21,"column":4},"end":{"line":21,"column":5}},"loc":{"start":{"line":21,"column":11},"end":{"line":25,"column":5}},"line":21},"2":{"name":"(anonymous_2)","decl":{"start":{"line":97,"column":54},"end":{"line":97,"column":55}},"loc":{"start":{"line":97,"column":77},"end":{"line":104,"column":1}},"line":97}},"branchMap":{"0":{"loc":{"start":{"line":100,"column":6},"end":{"line":100,"column":25}},"type":"binary-expr","locations":[{"start":{"line":100,"column":6},"end":{"line":100,"column":12}},{"start":{"line":100,"column":16},"end":{"line":100,"column":25}}],"line":100}},"s":{"0":1,"1":3,"2":3,"3":0,"4":0,"5":0,"6":2,"7":1,"8":0},"f":{"0":3,"1":0,"2":0},"b":{"0":[0,0]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"5589e3737c57bcb01c88493d46c5e378ebacae49"} +,"/home/runner/work/passport-status/passport-status/src/pages/index.tsx": {"path":"/home/runner/work/passport-status/passport-status/src/pages/index.tsx","statementMap":{"0":{"start":{"line":8,"column":14},"end":{"line":110,"column":1}},"1":{"start":{"line":9,"column":2},"end":{"line":109,"column":3}},"2":{"start":{"line":112,"column":54},"end":{"line":114,"column":2}},"3":{"start":{"line":112,"column":67},"end":{"line":114,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":14},"end":{"line":8,"column":15}},"loc":{"start":{"line":8,"column":20},"end":{"line":110,"column":1}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":112,"column":54},"end":{"line":112,"column":55}},"loc":{"start":{"line":112,"column":67},"end":{"line":114,"column":1}},"line":112}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":0},"f":{"0":1,"1":0},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"878201dd8b6e8966c25de9dbd72acc5289e1b1be"} +,"/home/runner/work/passport-status/passport-status/src/pages/landing.tsx": {"path":"/home/runner/work/passport-status/passport-status/src/pages/landing.tsx","statementMap":{"0":{"start":{"line":14,"column":16},"end":{"line":183,"column":1}},"1":{"start":{"line":15,"column":16},"end":{"line":15,"column":41}},"2":{"start":{"line":17,"column":2},"end":{"line":182,"column":3}},"3":{"start":{"line":185,"column":54},"end":{"line":189,"column":2}},"4":{"start":{"line":185,"column":77},"end":{"line":189,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":14,"column":16},"end":{"line":14,"column":17}},"loc":{"start":{"line":14,"column":22},"end":{"line":183,"column":1}},"line":14},"1":{"name":"(anonymous_1)","decl":{"start":{"line":185,"column":54},"end":{"line":185,"column":55}},"loc":{"start":{"line":185,"column":77},"end":{"line":189,"column":1}},"line":185}},"branchMap":{},"s":{"0":1,"1":2,"2":2,"3":1,"4":0},"f":{"0":2,"1":0},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"f8890c64538127f2a36fbd014e68aa767548b39f"} +,"/home/runner/work/passport-status/passport-status/src/pages/status.tsx": {"path":"/home/runner/work/passport-status/passport-status/src/pages/status.tsx","statementMap":{"0":{"start":{"line":45,"column":50},"end":{"line":50,"column":1}},"1":{"start":{"line":52,"column":25},"end":{"line":59,"column":2}},"2":{"start":{"line":61,"column":24},"end":{"line":69,"column":1}},"3":{"start":{"line":62,"column":2},"end":{"line":68,"column":9}},"4":{"start":{"line":64,"column":6},"end":{"line":64,"column":69}},"5":{"start":{"line":65,"column":4},"end":{"line":65,"column":24}},"6":{"start":{"line":65,"column":18},"end":{"line":65,"column":24}},"7":{"start":{"line":66,"column":4},"end":{"line":66,"column":67}},"8":{"start":{"line":67,"column":4},"end":{"line":67,"column":19}},"9":{"start":{"line":71,"column":15},"end":{"line":350,"column":1}},"10":{"start":{"line":72,"column":16},"end":{"line":72,"column":52}},"11":{"start":{"line":74,"column":17},"end":{"line":74,"column":28}},"12":{"start":{"line":75,"column":36},"end":{"line":75,"column":51}},"13":{"start":{"line":76,"column":22},"end":{"line":76,"column":38}},"14":{"start":{"line":86,"column":6},"end":{"line":105,"column":4}},"15":{"start":{"line":89,"column":6},"end":{"line":89,"column":28}},"16":{"start":{"line":93,"column":6},"end":{"line":100,"column":7}},"17":{"start":{"line":94,"column":8},"end":{"line":94,"column":57}},"18":{"start":{"line":96,"column":8},"end":{"line":96,"column":17}},"19":{"start":{"line":98,"column":8},"end":{"line":98,"column":52}},"20":{"start":{"line":99,"column":8},"end":{"line":99,"column":40}},"21":{"start":{"line":112,"column":6},"end":{"line":117,"column":3}},"22":{"start":{"line":119,"column":2},"end":{"line":123,"column":28}},"23":{"start":{"line":120,"column":4},"end":{"line":122,"column":5}},"24":{"start":{"line":121,"column":6},"end":{"line":121,"column":23}},"25":{"start":{"line":125,"column":28},"end":{"line":133,"column":3}},"26":{"start":{"line":127,"column":6},"end":{"line":131,"column":8}},"27":{"start":{"line":128,"column":8},"end":{"line":128,"column":55}},"28":{"start":{"line":128,"column":44},"end":{"line":128,"column":55}},"29":{"start":{"line":130,"column":8},"end":{"line":130,"column":55}},"30":{"start":{"line":135,"column":68},"end":{"line":147,"column":3}},"31":{"start":{"line":137,"column":6},"end":{"line":137,"column":24}},"32":{"start":{"line":138,"column":6},"end":{"line":141,"column":7}},"33":{"start":{"line":139,"column":8},"end":{"line":139,"column":37}},"34":{"start":{"line":140,"column":8},"end":{"line":140,"column":14}},"35":{"start":{"line":142,"column":6},"end":{"line":142,"column":32}},"36":{"start":{"line":143,"column":6},"end":{"line":143,"column":36}},"37":{"start":{"line":144,"column":6},"end":{"line":144,"column":23}},"38":{"start":{"line":149,"column":67},"end":{"line":154,"column":3}},"39":{"start":{"line":151,"column":6},"end":{"line":151,"column":79}},"40":{"start":{"line":156,"column":66},"end":{"line":161,"column":3}},"41":{"start":{"line":158,"column":6},"end":{"line":158,"column":52}},"42":{"start":{"line":163,"column":28},"end":{"line":163,"column":69}},"43":{"start":{"line":163,"column":46},"end":{"line":163,"column":64}},"44":{"start":{"line":165,"column":29},"end":{"line":165,"column":71}},"45":{"start":{"line":165,"column":47},"end":{"line":165,"column":66}},"46":{"start":{"line":167,"column":38},"end":{"line":169,"column":14}},"47":{"start":{"line":168,"column":4},"end":{"line":168,"column":27}},"48":{"start":{"line":174,"column":4},"end":{"line":174,"column":61}},"49":{"start":{"line":174,"column":43},"end":{"line":174,"column":61}},"50":{"start":{"line":175,"column":4},"end":{"line":190,"column":5}},"51":{"start":{"line":177,"column":8},"end":{"line":177,"column":44}},"52":{"start":{"line":179,"column":8},"end":{"line":179,"column":53}},"53":{"start":{"line":181,"column":8},"end":{"line":181,"column":40}},"54":{"start":{"line":183,"column":8},"end":{"line":183,"column":46}},"55":{"start":{"line":185,"column":8},"end":{"line":185,"column":40}},"56":{"start":{"line":187,"column":8},"end":{"line":187,"column":49}},"57":{"start":{"line":189,"column":8},"end":{"line":189,"column":60}},"58":{"start":{"line":194,"column":2},"end":{"line":194,"column":46}},"59":{"start":{"line":194,"column":24},"end":{"line":194,"column":46}},"60":{"start":{"line":196,"column":2},"end":{"line":349,"column":3}},"61":{"start":{"line":352,"column":54},"end":{"line":356,"column":2}},"62":{"start":{"line":352,"column":77},"end":{"line":356,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":61,"column":24},"end":{"line":61,"column":25}},"loc":{"start":{"line":61,"column":30},"end":{"line":69,"column":1}},"line":61},"1":{"name":"(anonymous_1)","decl":{"start":{"line":62,"column":13},"end":{"line":62,"column":14}},"loc":{"start":{"line":62,"column":19},"end":{"line":68,"column":3}},"line":62},"2":{"name":"(anonymous_2)","decl":{"start":{"line":71,"column":15},"end":{"line":71,"column":16}},"loc":{"start":{"line":71,"column":21},"end":{"line":350,"column":1}},"line":71},"3":{"name":"(anonymous_3)","decl":{"start":{"line":88,"column":14},"end":{"line":88,"column":15}},"loc":{"start":{"line":88,"column":36},"end":{"line":90,"column":5}},"line":88},"4":{"name":"(anonymous_4)","decl":{"start":{"line":91,"column":14},"end":{"line":91,"column":15}},"loc":{"start":{"line":91,"column":32},"end":{"line":101,"column":5}},"line":91},"5":{"name":"(anonymous_5)","decl":{"start":{"line":119,"column":12},"end":{"line":119,"column":13}},"loc":{"start":{"line":119,"column":18},"end":{"line":123,"column":3}},"line":119},"6":{"name":"(anonymous_6)","decl":{"start":{"line":126,"column":4},"end":{"line":126,"column":5}},"loc":{"start":{"line":127,"column":6},"end":{"line":131,"column":8}},"line":127},"7":{"name":"(anonymous_7)","decl":{"start":{"line":127,"column":48},"end":{"line":127,"column":49}},"loc":{"start":{"line":127,"column":58},"end":{"line":131,"column":7}},"line":127},"8":{"name":"(anonymous_8)","decl":{"start":{"line":136,"column":4},"end":{"line":136,"column":5}},"loc":{"start":{"line":136,"column":17},"end":{"line":145,"column":5}},"line":136},"9":{"name":"(anonymous_9)","decl":{"start":{"line":150,"column":4},"end":{"line":150,"column":5}},"loc":{"start":{"line":150,"column":20},"end":{"line":152,"column":5}},"line":150},"10":{"name":"(anonymous_10)","decl":{"start":{"line":157,"column":4},"end":{"line":157,"column":5}},"loc":{"start":{"line":157,"column":20},"end":{"line":159,"column":5}},"line":157},"11":{"name":"(anonymous_11)","decl":{"start":{"line":163,"column":40},"end":{"line":163,"column":41}},"loc":{"start":{"line":163,"column":46},"end":{"line":163,"column":64}},"line":163},"12":{"name":"(anonymous_12)","decl":{"start":{"line":165,"column":41},"end":{"line":165,"column":42}},"loc":{"start":{"line":165,"column":47},"end":{"line":165,"column":66}},"line":165},"13":{"name":"(anonymous_13)","decl":{"start":{"line":167,"column":50},"end":{"line":167,"column":51}},"loc":{"start":{"line":167,"column":56},"end":{"line":169,"column":3}},"line":167},"14":{"name":"getTitleHeader","decl":{"start":{"line":171,"column":11},"end":{"line":171,"column":25}},"loc":{"start":{"line":173,"column":12},"end":{"line":191,"column":3}},"line":173},"15":{"name":"(anonymous_15)","decl":{"start":{"line":352,"column":54},"end":{"line":352,"column":55}},"loc":{"start":{"line":352,"column":77},"end":{"line":356,"column":1}},"line":352}},"branchMap":{"0":{"loc":{"start":{"line":65,"column":4},"end":{"line":65,"column":24}},"type":"if","locations":[{"start":{"line":65,"column":4},"end":{"line":65,"column":24}},{"start":{},"end":{}}],"line":65},"1":{"loc":{"start":{"line":113,"column":4},"end":{"line":113,"column":63}},"type":"cond-expr","locations":[{"start":{"line":113,"column":35},"end":{"line":113,"column":47}},{"start":{"line":113,"column":50},"end":{"line":113,"column":63}}],"line":113},"2":{"loc":{"start":{"line":120,"column":4},"end":{"line":122,"column":5}},"type":"if","locations":[{"start":{"line":120,"column":4},"end":{"line":122,"column":5}},{"start":{},"end":{}}],"line":120},"3":{"loc":{"start":{"line":128,"column":8},"end":{"line":128,"column":55}},"type":"if","locations":[{"start":{"line":128,"column":8},"end":{"line":128,"column":55}},{"start":{},"end":{}}],"line":128},"4":{"loc":{"start":{"line":138,"column":6},"end":{"line":141,"column":7}},"type":"if","locations":[{"start":{"line":138,"column":6},"end":{"line":141,"column":7}},{"start":{},"end":{}}],"line":138},"5":{"loc":{"start":{"line":174,"column":4},"end":{"line":174,"column":61}},"type":"if","locations":[{"start":{"line":174,"column":4},"end":{"line":174,"column":61}},{"start":{},"end":{}}],"line":174},"6":{"loc":{"start":{"line":175,"column":4},"end":{"line":190,"column":5}},"type":"switch","locations":[{"start":{"line":176,"column":6},"end":{"line":177,"column":44}},{"start":{"line":178,"column":6},"end":{"line":179,"column":53}},{"start":{"line":180,"column":6},"end":{"line":181,"column":40}},{"start":{"line":182,"column":6},"end":{"line":183,"column":46}},{"start":{"line":184,"column":6},"end":{"line":185,"column":40}},{"start":{"line":186,"column":6},"end":{"line":187,"column":49}},{"start":{"line":188,"column":6},"end":{"line":189,"column":60}}],"line":175},"7":{"loc":{"start":{"line":194,"column":2},"end":{"line":194,"column":46}},"type":"if","locations":[{"start":{"line":194,"column":2},"end":{"line":194,"column":46}},{"start":{},"end":{}}],"line":194},"8":{"loc":{"start":{"line":203,"column":7},"end":{"line":329,"column":7}},"type":"cond-expr","locations":[{"start":{"line":204,"column":8},"end":{"line":214,"column":10}},{"start":{"line":216,"column":8},"end":{"line":328,"column":11}}],"line":203},"9":{"loc":{"start":{"line":206,"column":12},"end":{"line":208,"column":33}},"type":"cond-expr","locations":[{"start":{"line":207,"column":16},"end":{"line":207,"column":36}},{"start":{"line":208,"column":16},"end":{"line":208,"column":33}}],"line":206},"10":{"loc":{"start":{"line":211,"column":22},"end":{"line":211,"column":79}},"type":"cond-expr","locations":[{"start":{"line":211,"column":53},"end":{"line":211,"column":66}},{"start":{"line":211,"column":69},"end":{"line":211,"column":79}}],"line":211},"11":{"loc":{"start":{"line":229,"column":13},"end":{"line":237,"column":13}},"type":"binary-expr","locations":[{"start":{"line":229,"column":13},"end":{"line":229,"column":41}},{"start":{"line":230,"column":14},"end":{"line":236,"column":16}}],"line":229},"12":{"loc":{"start":{"line":245,"column":30},"end":{"line":245,"column":78}},"type":"binary-expr","locations":[{"start":{"line":245,"column":30},"end":{"line":245,"column":47}},{"start":{"line":245,"column":51},"end":{"line":245,"column":78}}],"line":245},"13":{"loc":{"start":{"line":267,"column":18},"end":{"line":267,"column":76}},"type":"binary-expr","locations":[{"start":{"line":267,"column":18},"end":{"line":267,"column":40}},{"start":{"line":267,"column":44},"end":{"line":267,"column":76}}],"line":267},"14":{"loc":{"start":{"line":291,"column":18},"end":{"line":291,"column":72}},"type":"binary-expr","locations":[{"start":{"line":291,"column":18},"end":{"line":291,"column":38}},{"start":{"line":291,"column":42},"end":{"line":291,"column":72}}],"line":291},"15":{"loc":{"start":{"line":305,"column":18},"end":{"line":305,"column":80}},"type":"binary-expr","locations":[{"start":{"line":305,"column":18},"end":{"line":305,"column":42}},{"start":{"line":305,"column":46},"end":{"line":305,"column":80}}],"line":305}},"s":{"0":1,"1":1,"2":1,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":1,"10":3,"11":3,"12":3,"13":2,"14":2,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":2,"22":2,"23":2,"24":0,"25":2,"26":2,"27":0,"28":0,"29":0,"30":2,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":2,"39":0,"40":2,"41":0,"42":2,"43":0,"44":2,"45":0,"46":2,"47":0,"48":2,"49":2,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":2,"59":0,"60":2,"61":1,"62":0},"f":{"0":0,"1":0,"2":3,"3":0,"4":0,"5":2,"6":2,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":2,"15":0},"b":{"0":[0,0],"1":[0,2],"2":[0,2],"3":[0,0],"4":[0,0],"5":[2,0],"6":[0,0,0,0,0,0,0],"7":[0,2],"8":[0,2],"9":[0,0],"10":[0,0],"11":[2,0],"12":[2,0],"13":[2,0],"14":[2,0],"15":[2,0]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"801a1c7babd8f4889b16aafd4f1f2b53698f628f"} +,"/home/runner/work/passport-status/passport-status/src/pages/api/alerts.ts": {"path":"/home/runner/work/passport-status/passport-status/src/pages/api/alerts.ts","statementMap":{"0":{"start":{"line":6,"column":15},"end":{"line":6,"column":38}},"1":{"start":{"line":12,"column":2},"end":{"line":61,"column":3}},"2":{"start":{"line":13,"column":4},"end":{"line":16,"column":5}},"3":{"start":{"line":14,"column":6},"end":{"line":14,"column":69}},"4":{"start":{"line":15,"column":6},"end":{"line":15,"column":73}},"5":{"start":{"line":18,"column":4},"end":{"line":24,"column":5}},"6":{"start":{"line":19,"column":6},"end":{"line":21,"column":7}},"7":{"start":{"line":22,"column":6},"end":{"line":22,"column":30}},"8":{"start":{"line":23,"column":6},"end":{"line":23,"column":12}},"9":{"start":{"line":26,"column":18},"end":{"line":26,"column":27}},"10":{"start":{"line":27,"column":21},"end":{"line":27,"column":26}},"11":{"start":{"line":29,"column":16},"end":{"line":29,"column":26}},"12":{"start":{"line":31,"column":22},"end":{"line":33,"column":6}},"13":{"start":{"line":34,"column":41},"end":{"line":34,"column":63}},"14":{"start":{"line":36,"column":24},"end":{"line":39,"column":5}},"15":{"start":{"line":38,"column":8},"end":{"line":38,"column":74}},"16":{"start":{"line":41,"column":23},"end":{"line":47,"column":9}},"17":{"start":{"line":43,"column":21},"end":{"line":43,"column":73}},"18":{"start":{"line":43,"column":54},"end":{"line":43,"column":72}},"19":{"start":{"line":46,"column":21},"end":{"line":46,"column":75}},"20":{"start":{"line":49,"column":28},"end":{"line":54,"column":7}},"21":{"start":{"line":49,"column":55},"end":{"line":54,"column":5}},"22":{"start":{"line":56,"column":4},"end":{"line":56,"column":32}},"23":{"start":{"line":59,"column":4},"end":{"line":59,"column":49}},"24":{"start":{"line":60,"column":4},"end":{"line":60,"column":28}}},"fnMap":{"0":{"name":"handler","decl":{"start":{"line":8,"column":30},"end":{"line":8,"column":37}},"loc":{"start":{"line":11,"column":2},"end":{"line":62,"column":1}},"line":11},"1":{"name":"(anonymous_1)","decl":{"start":{"line":37,"column":6},"end":{"line":37,"column":7}},"loc":{"start":{"line":38,"column":8},"end":{"line":38,"column":74}},"line":38},"2":{"name":"(anonymous_2)","decl":{"start":{"line":43,"column":10},"end":{"line":43,"column":11}},"loc":{"start":{"line":43,"column":21},"end":{"line":43,"column":73}},"line":43},"3":{"name":"(anonymous_3)","decl":{"start":{"line":43,"column":39},"end":{"line":43,"column":40}},"loc":{"start":{"line":43,"column":54},"end":{"line":43,"column":72}},"line":43},"4":{"name":"(anonymous_4)","decl":{"start":{"line":46,"column":10},"end":{"line":46,"column":11}},"loc":{"start":{"line":46,"column":21},"end":{"line":46,"column":75}},"line":46},"5":{"name":"(anonymous_5)","decl":{"start":{"line":49,"column":43},"end":{"line":49,"column":44}},"loc":{"start":{"line":49,"column":55},"end":{"line":54,"column":5}},"line":49}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":4},"end":{"line":16,"column":5}},"type":"if","locations":[{"start":{"line":13,"column":4},"end":{"line":16,"column":5}},{"start":{},"end":{}}],"line":13},"1":{"loc":{"start":{"line":18,"column":4},"end":{"line":24,"column":5}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":24,"column":5}},{"start":{},"end":{}}],"line":18},"2":{"loc":{"start":{"line":38,"column":8},"end":{"line":38,"column":74}},"type":"binary-expr","locations":[{"start":{"line":38,"column":8},"end":{"line":38,"column":40}},{"start":{"line":38,"column":44},"end":{"line":38,"column":74}}],"line":38},"3":{"loc":{"start":{"line":41,"column":23},"end":{"line":47,"column":9}},"type":"cond-expr","locations":[{"start":{"line":42,"column":8},"end":{"line":44,"column":9}},{"start":{"line":45,"column":8},"end":{"line":47,"column":9}}],"line":41},"4":{"loc":{"start":{"line":46,"column":21},"end":{"line":46,"column":75}},"type":"binary-expr","locations":[{"start":{"line":46,"column":21},"end":{"line":46,"column":46}},{"start":{"line":46,"column":50},"end":{"line":46,"column":75}}],"line":46}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0]}} +,"/home/runner/work/passport-status/passport-status/src/pages/api/check-status.ts": {"path":"/home/runner/work/passport-status/passport-status/src/pages/api/check-status.ts","statementMap":{"0":{"start":{"line":11,"column":15},"end":{"line":11,"column":40}},"1":{"start":{"line":17,"column":2},"end":{"line":21,"column":3}},"2":{"start":{"line":18,"column":4},"end":{"line":18,"column":67}},"3":{"start":{"line":19,"column":4},"end":{"line":19,"column":64}},"4":{"start":{"line":20,"column":4},"end":{"line":20,"column":10}},"5":{"start":{"line":23,"column":27},"end":{"line":23,"column":79}},"6":{"start":{"line":24,"column":57},"end":{"line":29,"column":3}},"7":{"start":{"line":31,"column":2},"end":{"line":36,"column":3}},"8":{"start":{"line":32,"column":4},"end":{"line":32,"column":58}},"9":{"start":{"line":34,"column":4},"end":{"line":34,"column":75}},"10":{"start":{"line":35,"column":4},"end":{"line":35,"column":49}},"11":{"start":{"line":45,"column":39},"end":{"line":97,"column":1}},"12":{"start":{"line":49,"column":2},"end":{"line":56,"column":3}},"13":{"start":{"line":50,"column":4},"end":{"line":52,"column":5}},"14":{"start":{"line":53,"column":4},"end":{"line":55,"column":5}},"15":{"start":{"line":58,"column":52},"end":{"line":58,"column":78}},"16":{"start":{"line":59,"column":16},"end":{"line":64,"column":15}},"17":{"start":{"line":65,"column":14},"end":{"line":65,"column":101}},"18":{"start":{"line":66,"column":2},"end":{"line":66,"column":50}},"19":{"start":{"line":67,"column":19},"end":{"line":67,"column":35}},"20":{"start":{"line":69,"column":2},"end":{"line":84,"column":3}},"21":{"start":{"line":70,"column":4},"end":{"line":70,"column":44}},"22":{"start":{"line":71,"column":55},"end":{"line":71,"column":76}},"23":{"start":{"line":72,"column":50},"end":{"line":72,"column":72}},"24":{"start":{"line":74,"column":4},"end":{"line":79,"column":5}},"25":{"start":{"line":75,"column":6},"end":{"line":77,"column":7}},"26":{"start":{"line":78,"column":6},"end":{"line":78,"column":62}},"27":{"start":{"line":81,"column":4},"end":{"line":83,"column":5}},"28":{"start":{"line":86,"column":2},"end":{"line":93,"column":3}},"29":{"start":{"line":87,"column":4},"end":{"line":89,"column":5}},"30":{"start":{"line":92,"column":4},"end":{"line":92,"column":60}},"31":{"start":{"line":95,"column":2},"end":{"line":95,"column":68}},"32":{"start":{"line":96,"column":2},"end":{"line":96,"column":62}}},"fnMap":{"0":{"name":"handler","decl":{"start":{"line":13,"column":30},"end":{"line":13,"column":37}},"loc":{"start":{"line":16,"column":2},"end":{"line":37,"column":1}},"line":16},"1":{"name":"(anonymous_1)","decl":{"start":{"line":45,"column":39},"end":{"line":45,"column":40}},"loc":{"start":{"line":48,"column":5},"end":{"line":97,"column":1}},"line":48}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":2},"end":{"line":21,"column":3}},"type":"if","locations":[{"start":{"line":17,"column":2},"end":{"line":21,"column":3}},{"start":{},"end":{}}],"line":17},"1":{"loc":{"start":{"line":23,"column":35},"end":{"line":23,"column":48}},"type":"binary-expr","locations":[{"start":{"line":23,"column":35},"end":{"line":23,"column":42}},{"start":{"line":23,"column":46},"end":{"line":23,"column":48}}],"line":23},"2":{"loc":{"start":{"line":25,"column":17},"end":{"line":25,"column":54}},"type":"binary-expr","locations":[{"start":{"line":25,"column":17},"end":{"line":25,"column":48}},{"start":{"line":25,"column":52},"end":{"line":25,"column":54}}],"line":25},"3":{"loc":{"start":{"line":26,"column":10},"end":{"line":26,"column":40}},"type":"binary-expr","locations":[{"start":{"line":26,"column":10},"end":{"line":26,"column":34}},{"start":{"line":26,"column":38},"end":{"line":26,"column":40}}],"line":26},"4":{"loc":{"start":{"line":27,"column":15},"end":{"line":27,"column":50}},"type":"binary-expr","locations":[{"start":{"line":27,"column":15},"end":{"line":27,"column":44}},{"start":{"line":27,"column":48},"end":{"line":27,"column":50}}],"line":27},"5":{"loc":{"start":{"line":28,"column":13},"end":{"line":28,"column":46}},"type":"binary-expr","locations":[{"start":{"line":28,"column":13},"end":{"line":28,"column":40}},{"start":{"line":28,"column":44},"end":{"line":28,"column":46}}],"line":28},"6":{"loc":{"start":{"line":49,"column":2},"end":{"line":56,"column":3}},"type":"if","locations":[{"start":{"line":49,"column":2},"end":{"line":56,"column":3}},{"start":{},"end":{}}],"line":49},"7":{"loc":{"start":{"line":69,"column":2},"end":{"line":84,"column":3}},"type":"if","locations":[{"start":{"line":69,"column":2},"end":{"line":84,"column":3}},{"start":{},"end":{}}],"line":69},"8":{"loc":{"start":{"line":74,"column":4},"end":{"line":79,"column":5}},"type":"if","locations":[{"start":{"line":74,"column":4},"end":{"line":79,"column":5}},{"start":{},"end":{}}],"line":74},"9":{"loc":{"start":{"line":86,"column":2},"end":{"line":93,"column":3}},"type":"if","locations":[{"start":{"line":86,"column":2},"end":{"line":93,"column":3}},{"start":{},"end":{}}],"line":86},"10":{"loc":{"start":{"line":86,"column":6},"end":{"line":86,"column":56}},"type":"binary-expr","locations":[{"start":{"line":86,"column":6},"end":{"line":86,"column":29}},{"start":{"line":86,"column":33},"end":{"line":86,"column":56}}],"line":86}},"s":{"0":1,"1":3,"2":1,"3":1,"4":1,"5":2,"6":2,"7":2,"8":2,"9":0,"10":0,"11":1,"12":2,"13":0,"14":0,"15":2,"16":2,"17":2,"18":2,"19":2,"20":2,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":2,"29":1,"30":1,"31":1,"32":1},"f":{"0":3,"1":2},"b":{"0":[1,2],"1":[2,0],"2":[2,0],"3":[2,0],"4":[2,0],"5":[2,0],"6":[0,2],"7":[0,2],"8":[0,0],"9":[1,1],"10":[2,1]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"a4c3289b258454f475a075322f7412b85abce09a"} +,"/home/runner/work/passport-status/passport-status/src/pages/api/email-esrf.ts": {"path":"/home/runner/work/passport-status/passport-status/src/pages/api/email-esrf.ts","statementMap":{"0":{"start":{"line":6,"column":15},"end":{"line":6,"column":38}},"1":{"start":{"line":12,"column":2},"end":{"line":16,"column":3}},"2":{"start":{"line":13,"column":4},"end":{"line":13,"column":68}},"3":{"start":{"line":14,"column":4},"end":{"line":14,"column":64}},"4":{"start":{"line":15,"column":4},"end":{"line":15,"column":10}},"5":{"start":{"line":18,"column":2},"end":{"line":24,"column":3}},"6":{"start":{"line":19,"column":4},"end":{"line":21,"column":5}},"7":{"start":{"line":22,"column":4},"end":{"line":22,"column":77}},"8":{"start":{"line":23,"column":4},"end":{"line":23,"column":10}},"9":{"start":{"line":26,"column":15},"end":{"line":26,"column":50}},"10":{"start":{"line":28,"column":2},"end":{"line":33,"column":3}},"11":{"start":{"line":29,"column":4},"end":{"line":29,"column":33}},"12":{"start":{"line":31,"column":4},"end":{"line":31,"column":75}},"13":{"start":{"line":32,"column":4},"end":{"line":32,"column":49}},"14":{"start":{"line":36,"column":21},"end":{"line":78,"column":1}},"15":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"16":{"start":{"line":41,"column":4},"end":{"line":43,"column":5}},"17":{"start":{"line":46,"column":15},"end":{"line":63,"column":3}},"18":{"start":{"line":65,"column":19},"end":{"line":74,"column":3}},"19":{"start":{"line":76,"column":2},"end":{"line":76,"column":67}},"20":{"start":{"line":77,"column":2},"end":{"line":77,"column":55}}},"fnMap":{"0":{"name":"handler","decl":{"start":{"line":8,"column":30},"end":{"line":8,"column":37}},"loc":{"start":{"line":11,"column":2},"end":{"line":34,"column":1}},"line":11},"1":{"name":"(anonymous_1)","decl":{"start":{"line":36,"column":21},"end":{"line":36,"column":22}},"loc":{"start":{"line":39,"column":5},"end":{"line":78,"column":1}},"line":39}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":2},"end":{"line":16,"column":3}},"type":"if","locations":[{"start":{"line":12,"column":2},"end":{"line":16,"column":3}},{"start":{},"end":{}}],"line":12},"1":{"loc":{"start":{"line":18,"column":2},"end":{"line":24,"column":3}},"type":"if","locations":[{"start":{"line":18,"column":2},"end":{"line":24,"column":3}},{"start":{},"end":{}}],"line":18},"2":{"loc":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"type":"if","locations":[{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},{"start":{},"end":{}}],"line":40},"3":{"loc":{"start":{"line":60,"column":10},"end":{"line":60,"column":72}},"type":"cond-expr","locations":[{"start":{"line":60,"column":52},"end":{"line":60,"column":60}},{"start":{"line":60,"column":63},"end":{"line":60,"column":72}}],"line":60}},"s":{"0":1,"1":3,"2":1,"3":1,"4":1,"5":2,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":0,"13":0,"14":1,"15":1,"16":0,"17":1,"18":1,"19":1,"20":1},"f":{"0":3,"1":1},"b":{"0":[1,2],"1":[1,1],"2":[0,1],"3":[0,1]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"1d433774ee4aa38c6cb4d14fd4b861c5d1b6a003"} +,"/home/runner/work/passport-status/passport-status/src/pages/api/health.ts": {"path":"/home/runner/work/passport-status/passport-status/src/pages/api/health.ts","statementMap":{"0":{"start":{"line":6,"column":15},"end":{"line":6,"column":34}},"1":{"start":{"line":12,"column":2},"end":{"line":16,"column":3}},"2":{"start":{"line":13,"column":4},"end":{"line":13,"column":67}},"3":{"start":{"line":14,"column":4},"end":{"line":14,"column":64}},"4":{"start":{"line":15,"column":4},"end":{"line":15,"column":10}},"5":{"start":{"line":18,"column":2},"end":{"line":26,"column":4}}},"fnMap":{"0":{"name":"handler","decl":{"start":{"line":8,"column":30},"end":{"line":8,"column":37}},"loc":{"start":{"line":11,"column":2},"end":{"line":27,"column":1}},"line":11}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":2},"end":{"line":16,"column":3}},"type":"if","locations":[{"start":{"line":12,"column":2},"end":{"line":16,"column":3}},{"start":{},"end":{}}],"line":12},"1":{"loc":{"start":{"line":19,"column":29},"end":{"line":19,"column":75}},"type":"binary-expr","locations":[{"start":{"line":19,"column":29},"end":{"line":19,"column":67}},{"start":{"line":19,"column":71},"end":{"line":19,"column":75}}],"line":19},"2":{"loc":{"start":{"line":20,"column":16},"end":{"line":20,"column":48}},"type":"binary-expr","locations":[{"start":{"line":20,"column":16},"end":{"line":20,"column":40}},{"start":{"line":20,"column":44},"end":{"line":20,"column":48}}],"line":20},"3":{"loc":{"start":{"line":21,"column":15},"end":{"line":21,"column":57}},"type":"binary-expr","locations":[{"start":{"line":21,"column":15},"end":{"line":21,"column":49}},{"start":{"line":21,"column":53},"end":{"line":21,"column":57}}],"line":21},"4":{"loc":{"start":{"line":22,"column":17},"end":{"line":22,"column":48}},"type":"binary-expr","locations":[{"start":{"line":22,"column":17},"end":{"line":22,"column":40}},{"start":{"line":22,"column":44},"end":{"line":22,"column":48}}],"line":22},"5":{"loc":{"start":{"line":23,"column":18},"end":{"line":23,"column":51}},"type":"binary-expr","locations":[{"start":{"line":23,"column":18},"end":{"line":23,"column":43}},{"start":{"line":23,"column":47},"end":{"line":23,"column":51}}],"line":23}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]}} +} diff --git a/refs/pull/791/merge/unit-test-results/coverage-summary.json b/refs/pull/791/merge/unit-test-results/coverage-summary.json new file mode 100644 index 000000000..8cd8a6984 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/coverage-summary.json @@ -0,0 +1,63 @@ +{"total": {"lines":{"total":560,"covered":359,"skipped":0,"pct":64.1},"statements":{"total":599,"covered":373,"skipped":0,"pct":62.27},"functions":{"total":156,"covered":88,"skipped":0,"pct":56.41},"branches":{"total":350,"covered":158,"skipped":0,"pct":45.14},"branchesTrue":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/passport-status/passport-status/src/middleware.ts": {"lines":{"total":14,"covered":0,"skipped":0,"pct":0},"functions":{"total":1,"covered":0,"skipped":0,"pct":0},"statements":{"total":14,"covered":0,"skipped":0,"pct":0},"branches":{"total":18,"covered":0,"skipped":0,"pct":0}} +,"/home/runner/work/passport-status/passport-status/src/next-seo.config.ts": {"lines":{"total":14,"covered":14,"skipped":0,"pct":100},"functions":{"total":6,"covered":6,"skipped":0,"pct":100},"statements":{"total":21,"covered":21,"skipped":0,"pct":100},"branches":{"total":8,"covered":8,"skipped":0,"pct":100}} +,"/home/runner/work/passport-status/passport-status/src/@types/i18next.d.ts": {"lines":{"total":0,"covered":0,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":0,"covered":0,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/passport-status/passport-status/src/@types/resources.ts": {"lines":{"total":1,"covered":0,"skipped":0,"pct":0},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":1,"covered":0,"skipped":0,"pct":0},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/passport-status/passport-status/src/components/ActionButton.tsx": {"lines":{"total":9,"covered":9,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":9,"covered":9,"skipped":0,"pct":100},"branches":{"total":6,"covered":4,"skipped":0,"pct":66.66}} +,"/home/runner/work/passport-status/passport-status/src/components/AlertBlock.tsx": {"lines":{"total":6,"covered":4,"skipped":0,"pct":66.66},"functions":{"total":2,"covered":1,"skipped":0,"pct":50},"statements":{"total":6,"covered":4,"skipped":0,"pct":66.66},"branches":{"total":6,"covered":2,"skipped":0,"pct":33.33}} +,"/home/runner/work/passport-status/passport-status/src/components/AlertSection.tsx": {"lines":{"total":12,"covered":10,"skipped":0,"pct":83.33},"functions":{"total":2,"covered":2,"skipped":0,"pct":100},"statements":{"total":12,"covered":10,"skipped":0,"pct":83.33},"branches":{"total":18,"covered":6,"skipped":0,"pct":33.33}} +,"/home/runner/work/passport-status/passport-status/src/components/ApplicationNameBar.tsx": {"lines":{"total":2,"covered":2,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":2,"covered":2,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/passport-status/passport-status/src/components/Banner.tsx": {"lines":{"total":2,"covered":2,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":2,"covered":2,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/passport-status/passport-status/src/components/CheckStatusInfo.tsx": {"lines":{"total":17,"covered":5,"skipped":0,"pct":29.41},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":17,"covered":5,"skipped":0,"pct":29.41},"branches":{"total":7,"covered":1,"skipped":0,"pct":14.28}} +,"/home/runner/work/passport-status/passport-status/src/components/Collapse.tsx": {"lines":{"total":4,"covered":4,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":4,"covered":4,"skipped":0,"pct":100},"branches":{"total":1,"covered":1,"skipped":0,"pct":100}} +,"/home/runner/work/passport-status/passport-status/src/components/DateModified.tsx": {"lines":{"total":3,"covered":3,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":3,"covered":3,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/passport-status/passport-status/src/components/DateSelect.tsx": {"lines":{"total":5,"covered":4,"skipped":0,"pct":80},"functions":{"total":3,"covered":2,"skipped":0,"pct":66.66},"statements":{"total":5,"covered":4,"skipped":0,"pct":80},"branches":{"total":6,"covered":4,"skipped":0,"pct":66.66}} +,"/home/runner/work/passport-status/passport-status/src/components/DateSelectField.tsx": {"lines":{"total":69,"covered":55,"skipped":0,"pct":79.71},"functions":{"total":18,"covered":15,"skipped":0,"pct":83.33},"statements":{"total":72,"covered":57,"skipped":0,"pct":79.16},"branches":{"total":42,"covered":18,"skipped":0,"pct":42.85}} +,"/home/runner/work/passport-status/passport-status/src/components/ErrorLayout.tsx": {"lines":{"total":2,"covered":2,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":2,"covered":2,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/passport-status/passport-status/src/components/ErrorSummary.tsx": {"lines":{"total":15,"covered":11,"skipped":0,"pct":73.33},"functions":{"total":8,"covered":4,"skipped":0,"pct":50},"statements":{"total":15,"covered":11,"skipped":0,"pct":73.33},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/passport-status/passport-status/src/components/ExampleImage.tsx": {"lines":{"total":2,"covered":2,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":2,"covered":2,"skipped":0,"pct":100},"branches":{"total":2,"covered":2,"skipped":0,"pct":100}} +,"/home/runner/work/passport-status/passport-status/src/components/ExternalLink.tsx": {"lines":{"total":3,"covered":3,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":3,"covered":3,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/passport-status/passport-status/src/components/FieldSetLegend.tsx": {"lines":{"total":2,"covered":2,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":2,"covered":2,"skipped":0,"pct":100},"branches":{"total":2,"covered":2,"skipped":0,"pct":100}} +,"/home/runner/work/passport-status/passport-status/src/components/Footer.tsx": {"lines":{"total":3,"covered":3,"skipped":0,"pct":100},"functions":{"total":2,"covered":2,"skipped":0,"pct":100},"statements":{"total":3,"covered":3,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/passport-status/passport-status/src/components/Header.tsx": {"lines":{"total":9,"covered":9,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":9,"covered":9,"skipped":0,"pct":100},"branches":{"total":16,"covered":16,"skipped":0,"pct":100}} +,"/home/runner/work/passport-status/passport-status/src/components/IdleTimeout.tsx": {"lines":{"total":21,"covered":16,"skipped":0,"pct":76.19},"functions":{"total":7,"covered":4,"skipped":0,"pct":57.14},"statements":{"total":21,"covered":16,"skipped":0,"pct":76.19},"branches":{"total":8,"covered":8,"skipped":0,"pct":100}} +,"/home/runner/work/passport-status/passport-status/src/components/InputErrorMessage.tsx": {"lines":{"total":2,"covered":2,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":2,"covered":2,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/passport-status/passport-status/src/components/InputField.tsx": {"lines":{"total":14,"covered":14,"skipped":0,"pct":100},"functions":{"total":2,"covered":2,"skipped":0,"pct":100},"statements":{"total":17,"covered":16,"skipped":0,"pct":94.11},"branches":{"total":22,"covered":19,"skipped":0,"pct":86.36}} +,"/home/runner/work/passport-status/passport-status/src/components/InputLabel.tsx": {"lines":{"total":2,"covered":2,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":2,"covered":2,"skipped":0,"pct":100},"branches":{"total":2,"covered":1,"skipped":0,"pct":50}} +,"/home/runner/work/passport-status/passport-status/src/components/Layout.tsx": {"lines":{"total":3,"covered":3,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":3,"covered":3,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/passport-status/passport-status/src/components/LinkButton.tsx": {"lines":{"total":8,"covered":8,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":8,"covered":8,"skipped":0,"pct":100},"branches":{"total":10,"covered":8,"skipped":0,"pct":80}} +,"/home/runner/work/passport-status/passport-status/src/components/MarkdownContent.tsx": {"lines":{"total":4,"covered":2,"skipped":0,"pct":50},"functions":{"total":2,"covered":0,"skipped":0,"pct":0},"statements":{"total":4,"covered":2,"skipped":0,"pct":50},"branches":{"total":1,"covered":0,"skipped":0,"pct":0}} +,"/home/runner/work/passport-status/passport-status/src/components/Modal.tsx": {"lines":{"total":14,"covered":13,"skipped":0,"pct":92.85},"functions":{"total":5,"covered":5,"skipped":0,"pct":100},"statements":{"total":14,"covered":13,"skipped":0,"pct":92.85},"branches":{"total":2,"covered":1,"skipped":0,"pct":50}} +,"/home/runner/work/passport-status/passport-status/src/components/check-status-responses/CheckStatusFileBeingProcessed.tsx": {"lines":{"total":3,"covered":3,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":3,"covered":3,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/passport-status/passport-status/src/components/check-status-responses/CheckStatusNoRecord.tsx": {"lines":{"total":3,"covered":3,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":3,"covered":3,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/passport-status/passport-status/src/components/check-status-responses/CheckStatusNotAcceptable.tsx": {"lines":{"total":3,"covered":3,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":3,"covered":3,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/passport-status/passport-status/src/components/check-status-responses/CheckStatusPrinting.tsx": {"lines":{"total":3,"covered":3,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":3,"covered":3,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/passport-status/passport-status/src/components/check-status-responses/CheckStatusReadyForPickup.tsx": {"lines":{"total":3,"covered":3,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":3,"covered":3,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/passport-status/passport-status/src/components/check-status-responses/CheckStatusShippingCanadaPost.tsx": {"lines":{"total":3,"covered":1,"skipped":0,"pct":33.33},"functions":{"total":1,"covered":0,"skipped":0,"pct":0},"statements":{"total":3,"covered":1,"skipped":0,"pct":33.33},"branches":{"total":2,"covered":0,"skipped":0,"pct":0}} +,"/home/runner/work/passport-status/passport-status/src/components/check-status-responses/CheckStatusShippingFedex.tsx": {"lines":{"total":3,"covered":3,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":3,"covered":3,"skipped":0,"pct":100},"branches":{"total":2,"covered":1,"skipped":0,"pct":50}} +,"/home/runner/work/passport-status/passport-status/src/components/error-pages/Error404Page.tsx": {"lines":{"total":2,"covered":2,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":2,"covered":2,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/passport-status/passport-status/src/components/error-pages/ErrorPage.tsx": {"lines":{"total":2,"covered":2,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":2,"covered":2,"skipped":0,"pct":100},"branches":{"total":10,"covered":10,"skipped":0,"pct":100}} +,"/home/runner/work/passport-status/passport-status/src/lib/removeCheckStatus.ts": {"lines":{"total":2,"covered":1,"skipped":0,"pct":50},"functions":{"total":1,"covered":0,"skipped":0,"pct":0},"statements":{"total":2,"covered":1,"skipped":0,"pct":50},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/passport-status/passport-status/src/lib/types.ts": {"lines":{"total":0,"covered":0,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":0,"covered":0,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/passport-status/passport-status/src/lib/useAlerts.ts": {"lines":{"total":10,"covered":0,"skipped":0,"pct":0},"functions":{"total":3,"covered":0,"skipped":0,"pct":0},"statements":{"total":12,"covered":0,"skipped":0,"pct":0},"branches":{"total":10,"covered":0,"skipped":0,"pct":0}} +,"/home/runner/work/passport-status/passport-status/src/lib/useCheckStatus.ts": {"lines":{"total":10,"covered":0,"skipped":0,"pct":0},"functions":{"total":3,"covered":0,"skipped":0,"pct":0},"statements":{"total":12,"covered":0,"skipped":0,"pct":0},"branches":{"total":8,"covered":0,"skipped":0,"pct":0}} +,"/home/runner/work/passport-status/passport-status/src/lib/useEmailEsrf.ts": {"lines":{"total":5,"covered":0,"skipped":0,"pct":0},"functions":{"total":2,"covered":0,"skipped":0,"pct":0},"statements":{"total":5,"covered":0,"skipped":0,"pct":0},"branches":{"total":4,"covered":0,"skipped":0,"pct":0}} +,"/home/runner/work/passport-status/passport-status/src/lib/mappers/checkStatusApiResponseMapper.ts": {"lines":{"total":5,"covered":2,"skipped":0,"pct":40},"functions":{"total":3,"covered":0,"skipped":0,"pct":0},"statements":{"total":5,"covered":2,"skipped":0,"pct":40},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/passport-status/passport-status/src/lib/utils/fonts.ts": {"lines":{"total":2,"covered":0,"skipped":0,"pct":0},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":2,"covered":0,"skipped":0,"pct":0},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/passport-status/passport-status/src/lib/utils/next-i18next-utils.ts": {"lines":{"total":11,"covered":3,"skipped":0,"pct":27.27},"functions":{"total":2,"covered":0,"skipped":0,"pct":0},"statements":{"total":11,"covered":3,"skipped":0,"pct":27.27},"branches":{"total":8,"covered":0,"skipped":0,"pct":0}} +,"/home/runner/work/passport-status/passport-status/src/lib/utils/seo-utils.ts": {"lines":{"total":1,"covered":1,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":2,"covered":2,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/passport-status/passport-status/src/logging/log-level.ts": {"lines":{"total":4,"covered":4,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":5,"covered":4,"skipped":0,"pct":80},"branches":{"total":2,"covered":1,"skipped":0,"pct":50}} +,"/home/runner/work/passport-status/passport-status/src/logging/log-util.ts": {"lines":{"total":3,"covered":3,"skipped":0,"pct":100},"functions":{"total":2,"covered":2,"skipped":0,"pct":100},"statements":{"total":3,"covered":3,"skipped":0,"pct":100},"branches":{"total":3,"covered":3,"skipped":0,"pct":100}} +,"/home/runner/work/passport-status/passport-status/src/pages/_app.tsx": {"lines":{"total":19,"covered":19,"skipped":0,"pct":100},"functions":{"total":4,"covered":4,"skipped":0,"pct":100},"statements":{"total":19,"covered":19,"skipped":0,"pct":100},"branches":{"total":4,"covered":4,"skipped":0,"pct":100}} +,"/home/runner/work/passport-status/passport-status/src/pages/_document.tsx": {"lines":{"total":3,"covered":0,"skipped":0,"pct":0},"functions":{"total":2,"covered":0,"skipped":0,"pct":0},"statements":{"total":3,"covered":0,"skipped":0,"pct":0},"branches":{"total":4,"covered":0,"skipped":0,"pct":0}} +,"/home/runner/work/passport-status/passport-status/src/pages/_error.tsx": {"lines":{"total":6,"covered":4,"skipped":0,"pct":66.66},"functions":{"total":2,"covered":1,"skipped":0,"pct":50},"statements":{"total":7,"covered":5,"skipped":0,"pct":71.42},"branches":{"total":5,"covered":2,"skipped":0,"pct":40}} +,"/home/runner/work/passport-status/passport-status/src/pages/email.tsx": {"lines":{"total":38,"covered":19,"skipped":0,"pct":50},"functions":{"total":14,"covered":2,"skipped":0,"pct":14.28},"statements":{"total":45,"covered":19,"skipped":0,"pct":42.22},"branches":{"total":20,"covered":7,"skipped":0,"pct":35}} +,"/home/runner/work/passport-status/passport-status/src/pages/expectations.tsx": {"lines":{"total":8,"covered":5,"skipped":0,"pct":62.5},"functions":{"total":3,"covered":1,"skipped":0,"pct":33.33},"statements":{"total":9,"covered":5,"skipped":0,"pct":55.55},"branches":{"total":2,"covered":0,"skipped":0,"pct":0}} +,"/home/runner/work/passport-status/passport-status/src/pages/index.tsx": {"lines":{"total":3,"covered":3,"skipped":0,"pct":100},"functions":{"total":2,"covered":1,"skipped":0,"pct":50},"statements":{"total":4,"covered":3,"skipped":0,"pct":75},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/passport-status/passport-status/src/pages/landing.tsx": {"lines":{"total":4,"covered":4,"skipped":0,"pct":100},"functions":{"total":2,"covered":1,"skipped":0,"pct":50},"statements":{"total":5,"covered":4,"skipped":0,"pct":80},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/passport-status/passport-status/src/pages/status.tsx": {"lines":{"total":56,"covered":24,"skipped":0,"pct":42.85},"functions":{"total":16,"covered":4,"skipped":0,"pct":25},"statements":{"total":63,"covered":25,"skipped":0,"pct":39.68},"branches":{"total":37,"covered":10,"skipped":0,"pct":27.02}} +,"/home/runner/work/passport-status/passport-status/src/pages/api/alerts.ts": {"lines":{"total":23,"covered":0,"skipped":0,"pct":0},"functions":{"total":6,"covered":0,"skipped":0,"pct":0},"statements":{"total":25,"covered":0,"skipped":0,"pct":0},"branches":{"total":10,"covered":0,"skipped":0,"pct":0}} +,"/home/runner/work/passport-status/passport-status/src/pages/api/check-status.ts": {"lines":{"total":33,"covered":22,"skipped":0,"pct":66.66},"functions":{"total":2,"covered":2,"skipped":0,"pct":100},"statements":{"total":33,"covered":22,"skipped":0,"pct":66.66},"branches":{"total":22,"covered":13,"skipped":0,"pct":59.09}} +,"/home/runner/work/passport-status/passport-status/src/pages/api/email-esrf.ts": {"lines":{"total":21,"covered":18,"skipped":0,"pct":85.71},"functions":{"total":2,"covered":2,"skipped":0,"pct":100},"statements":{"total":21,"covered":18,"skipped":0,"pct":85.71},"branches":{"total":8,"covered":6,"skipped":0,"pct":75}} +,"/home/runner/work/passport-status/passport-status/src/pages/api/health.ts": {"lines":{"total":6,"covered":0,"skipped":0,"pct":0},"functions":{"total":1,"covered":0,"skipped":0,"pct":0},"statements":{"total":6,"covered":0,"skipped":0,"pct":0},"branches":{"total":12,"covered":0,"skipped":0,"pct":0}} +} diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/base.css b/refs/pull/791/merge/unit-test-results/lcov-report/base.css new file mode 100644 index 000000000..f418035b4 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/base.css @@ -0,0 +1,224 @@ +body, html { + margin:0; padding: 0; + height: 100%; +} +body { + font-family: Helvetica Neue, Helvetica, Arial; + font-size: 14px; + color:#333; +} +.small { font-size: 12px; } +*, *:after, *:before { + -webkit-box-sizing:border-box; + -moz-box-sizing:border-box; + box-sizing:border-box; + } +h1 { font-size: 20px; margin: 0;} +h2 { font-size: 14px; } +pre { + font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace; + margin: 0; + padding: 0; + -moz-tab-size: 2; + -o-tab-size: 2; + tab-size: 2; +} +a { color:#0074D9; text-decoration:none; } +a:hover { text-decoration:underline; } +.strong { font-weight: bold; } +.space-top1 { padding: 10px 0 0 0; } +.pad2y { padding: 20px 0; } +.pad1y { padding: 10px 0; } +.pad2x { padding: 0 20px; } +.pad2 { padding: 20px; } +.pad1 { padding: 10px; } +.space-left2 { padding-left:55px; } +.space-right2 { padding-right:20px; } +.center { text-align:center; } +.clearfix { display:block; } +.clearfix:after { + content:''; + display:block; + height:0; + clear:both; + visibility:hidden; + } +.fl { float: left; } +@media only screen and (max-width:640px) { + .col3 { width:100%; max-width:100%; } + .hide-mobile { display:none!important; } +} + +.quiet { + color: #7f7f7f; + color: rgba(0,0,0,0.5); +} +.quiet a { opacity: 0.7; } + +.fraction { + font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; + font-size: 10px; + color: #555; + background: #E8E8E8; + padding: 4px 5px; + border-radius: 3px; + vertical-align: middle; +} + +div.path a:link, div.path a:visited { color: #333; } +table.coverage { + border-collapse: collapse; + margin: 10px 0 0 0; + padding: 0; +} + +table.coverage td { + margin: 0; + padding: 0; + vertical-align: top; +} +table.coverage td.line-count { + text-align: right; + padding: 0 5px 0 20px; +} +table.coverage td.line-coverage { + text-align: right; + padding-right: 10px; + min-width:20px; +} + +table.coverage td span.cline-any { + display: inline-block; + padding: 0 5px; + width: 100%; +} +.missing-if-branch { + display: inline-block; + margin-right: 5px; + border-radius: 3px; + position: relative; + padding: 0 4px; + background: #333; + color: yellow; +} + +.skip-if-branch { + display: none; + margin-right: 10px; + position: relative; + padding: 0 4px; + background: #ccc; + color: white; +} +.missing-if-branch .typ, .skip-if-branch .typ { + color: inherit !important; +} +.coverage-summary { + border-collapse: collapse; + width: 100%; +} +.coverage-summary tr { border-bottom: 1px solid #bbb; } +.keyline-all { border: 1px solid #ddd; } +.coverage-summary td, .coverage-summary th { padding: 10px; } +.coverage-summary tbody { border: 1px solid #bbb; } +.coverage-summary td { border-right: 1px solid #bbb; } +.coverage-summary td:last-child { border-right: none; } +.coverage-summary th { + text-align: left; + font-weight: normal; + white-space: nowrap; +} +.coverage-summary th.file { border-right: none !important; } +.coverage-summary th.pct { } +.coverage-summary th.pic, +.coverage-summary th.abs, +.coverage-summary td.pct, +.coverage-summary td.abs { text-align: right; } +.coverage-summary td.file { white-space: nowrap; } +.coverage-summary td.pic { min-width: 120px !important; } +.coverage-summary tfoot td { } + +.coverage-summary .sorter { + height: 10px; + width: 7px; + display: inline-block; + margin-left: 0.5em; + background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent; +} +.coverage-summary .sorted .sorter { + background-position: 0 -20px; +} +.coverage-summary .sorted-desc .sorter { + background-position: 0 -10px; +} +.status-line { height: 10px; } +/* yellow */ +.cbranch-no { background: yellow !important; color: #111; } +/* dark red */ +.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 } +.low .chart { border:1px solid #C21F39 } +.highlighted, +.highlighted .cstat-no, .highlighted .fstat-no, .highlighted .cbranch-no{ + background: #C21F39 !important; +} +/* medium red */ +.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE } +/* light red */ +.low, .cline-no { background:#FCE1E5 } +/* light green */ +.high, .cline-yes { background:rgb(230,245,208) } +/* medium green */ +.cstat-yes { background:rgb(161,215,106) } +/* dark green */ +.status-line.high, .high .cover-fill { background:rgb(77,146,33) } +.high .chart { border:1px solid rgb(77,146,33) } +/* dark yellow (gold) */ +.status-line.medium, .medium .cover-fill { background: #f9cd0b; } +.medium .chart { border:1px solid #f9cd0b; } +/* light yellow */ +.medium { background: #fff4c2; } + +.cstat-skip { background: #ddd; color: #111; } +.fstat-skip { background: #ddd; color: #111 !important; } +.cbranch-skip { background: #ddd !important; color: #111; } + +span.cline-neutral { background: #eaeaea; } + +.coverage-summary td.empty { + opacity: .5; + padding-top: 4px; + padding-bottom: 4px; + line-height: 1; + color: #888; +} + +.cover-fill, .cover-empty { + display:inline-block; + height: 12px; +} +.chart { + line-height: 0; +} +.cover-empty { + background: white; +} +.cover-full { + border-right: none !important; +} +pre.prettyprint { + border: none !important; + padding: 0 !important; + margin: 0 !important; +} +.com { color: #999 !important; } +.ignore-none { color: #999; font-weight: normal; } + +.wrapper { + min-height: 100%; + height: auto !important; + height: 100%; + margin: 0 auto -48px; +} +.footer, .push { + height: 48px; +} diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/block-navigation.js b/refs/pull/791/merge/unit-test-results/lcov-report/block-navigation.js new file mode 100644 index 000000000..cc1213023 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/block-navigation.js @@ -0,0 +1,87 @@ +/* eslint-disable */ +var jumpToCode = (function init() { + // Classes of code we would like to highlight in the file view + var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no']; + + // Elements to highlight in the file listing view + var fileListingElements = ['td.pct.low']; + + // We don't want to select elements that are direct descendants of another match + var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > ` + + // Selecter that finds elements on the page to which we can jump + var selector = + fileListingElements.join(', ') + + ', ' + + notSelector + + missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b` + + // The NodeList of matching elements + var missingCoverageElements = document.querySelectorAll(selector); + + var currentIndex; + + function toggleClass(index) { + missingCoverageElements + .item(currentIndex) + .classList.remove('highlighted'); + missingCoverageElements.item(index).classList.add('highlighted'); + } + + function makeCurrent(index) { + toggleClass(index); + currentIndex = index; + missingCoverageElements.item(index).scrollIntoView({ + behavior: 'smooth', + block: 'center', + inline: 'center' + }); + } + + function goToPrevious() { + var nextIndex = 0; + if (typeof currentIndex !== 'number' || currentIndex === 0) { + nextIndex = missingCoverageElements.length - 1; + } else if (missingCoverageElements.length > 1) { + nextIndex = currentIndex - 1; + } + + makeCurrent(nextIndex); + } + + function goToNext() { + var nextIndex = 0; + + if ( + typeof currentIndex === 'number' && + currentIndex < missingCoverageElements.length - 1 + ) { + nextIndex = currentIndex + 1; + } + + makeCurrent(nextIndex); + } + + return function jump(event) { + if ( + document.getElementById('fileSearch') === document.activeElement && + document.activeElement != null + ) { + // if we're currently focused on the search input, we don't want to navigate + return; + } + + switch (event.which) { + case 78: // n + case 74: // j + goToNext(); + break; + case 66: // b + case 75: // k + case 80: // p + goToPrevious(); + break; + } + }; +})(); +window.addEventListener('keydown', jumpToCode); diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/favicon.png b/refs/pull/791/merge/unit-test-results/lcov-report/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..c1525b811a167671e9de1fa78aab9f5c0b61cef7 GIT binary patch literal 445 zcmV;u0Yd(XP))rP{nL}Ln%S7`m{0DjX9TLF* zFCb$4Oi7vyLOydb!7n&^ItCzb-%BoB`=x@N2jll2Nj`kauio%aw_@fe&*}LqlFT43 z8doAAe))z_%=P%v^@JHp3Hjhj^6*Kr_h|g_Gr?ZAa&y>wxHE99Gk>A)2MplWz2xdG zy8VD2J|Uf#EAw*bo5O*PO_}X2Tob{%bUoO2G~T`@%S6qPyc}VkhV}UifBuRk>%5v( z)x7B{I~z*k<7dv#5tC+m{km(D087J4O%+<<;K|qwefb6@GSX45wCK}Sn*> + + + + Code coverage report for All files + + + + + + + + + +
+
+

All files

+
+ +
+ 62.27% + Statements + 373/599 +
+ + +
+ 45.14% + Branches + 158/350 +
+ + +
+ 56.41% + Functions + 88/156 +
+ + +
+ 64.1% + Lines + 359/560 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
src +
+
60%21/3530.76%8/2685.71%6/750%14/28
src/@types +
+
0%0/1100%0/0100%0/00%0/1
src/components +
+
81.17%194/23961.58%93/15178.78%52/6681.54%190/233
src/components/check-status-responses +
+
90.47%19/2125%1/485.71%6/790.47%19/21
src/components/error-pages +
+
100%4/4100%10/10100%2/2100%4/4
src/lib +
+
3.22%1/310%0/220%0/93.7%1/27
src/lib/mappers +
+
40%2/5100%0/00%0/340%2/5
src/lib/utils +
+
33.33%5/150%0/833.33%1/328.57%4/14
src/logging +
+
87.5%7/880%4/5100%3/3100%7/7
src/pages +
+
51.61%80/15531.94%23/7231.11%14/4556.93%78/137
src/pages/api +
+
47.05%40/8536.53%19/5236.36%4/1148.19%40/83
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/prettify.css b/refs/pull/791/merge/unit-test-results/lcov-report/prettify.css new file mode 100644 index 000000000..b317a7cda --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/prettify.css @@ -0,0 +1 @@ +.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/prettify.js b/refs/pull/791/merge/unit-test-results/lcov-report/prettify.js new file mode 100644 index 000000000..b3225238f --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/prettify.js @@ -0,0 +1,2 @@ +/* eslint-disable */ +window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;arat[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]); diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/sort-arrow-sprite.png b/refs/pull/791/merge/unit-test-results/lcov-report/sort-arrow-sprite.png new file mode 100644 index 0000000000000000000000000000000000000000..6ed68316eb3f65dec9063332d2f69bf3093bbfab GIT binary patch literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^>_9Bd!3HEZxJ@+%Qh}Z>jv*C{$p!i!8j}?a+@3A= zIAGwzjijN=FBi!|L1t?LM;Q;gkwn>2cAy-KV{dn nf0J1DIvEHQu*n~6U}x}qyky7vi4|9XhBJ7&`njxgN@xNA8m%nc literal 0 HcmV?d00001 diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/sorter.js b/refs/pull/791/merge/unit-test-results/lcov-report/sorter.js new file mode 100644 index 000000000..2bb296a8c --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/sorter.js @@ -0,0 +1,196 @@ +/* eslint-disable */ +var addSorting = (function() { + 'use strict'; + var cols, + currentSort = { + index: 0, + desc: false + }; + + // returns the summary table element + function getTable() { + return document.querySelector('.coverage-summary'); + } + // returns the thead element of the summary table + function getTableHeader() { + return getTable().querySelector('thead tr'); + } + // returns the tbody element of the summary table + function getTableBody() { + return getTable().querySelector('tbody'); + } + // returns the th element for nth column + function getNthColumn(n) { + return getTableHeader().querySelectorAll('th')[n]; + } + + function onFilterInput() { + const searchValue = document.getElementById('fileSearch').value; + const rows = document.getElementsByTagName('tbody')[0].children; + for (let i = 0; i < rows.length; i++) { + const row = rows[i]; + if ( + row.textContent + .toLowerCase() + .includes(searchValue.toLowerCase()) + ) { + row.style.display = ''; + } else { + row.style.display = 'none'; + } + } + } + + // loads the search box + function addSearchBox() { + var template = document.getElementById('filterTemplate'); + var templateClone = template.content.cloneNode(true); + templateClone.getElementById('fileSearch').oninput = onFilterInput; + template.parentElement.appendChild(templateClone); + } + + // loads all columns + function loadColumns() { + var colNodes = getTableHeader().querySelectorAll('th'), + colNode, + cols = [], + col, + i; + + for (i = 0; i < colNodes.length; i += 1) { + colNode = colNodes[i]; + col = { + key: colNode.getAttribute('data-col'), + sortable: !colNode.getAttribute('data-nosort'), + type: colNode.getAttribute('data-type') || 'string' + }; + cols.push(col); + if (col.sortable) { + col.defaultDescSort = col.type === 'number'; + colNode.innerHTML = + colNode.innerHTML + ''; + } + } + return cols; + } + // attaches a data attribute to every tr element with an object + // of data values keyed by column name + function loadRowData(tableRow) { + var tableCols = tableRow.querySelectorAll('td'), + colNode, + col, + data = {}, + i, + val; + for (i = 0; i < tableCols.length; i += 1) { + colNode = tableCols[i]; + col = cols[i]; + val = colNode.getAttribute('data-value'); + if (col.type === 'number') { + val = Number(val); + } + data[col.key] = val; + } + return data; + } + // loads all row data + function loadData() { + var rows = getTableBody().querySelectorAll('tr'), + i; + + for (i = 0; i < rows.length; i += 1) { + rows[i].data = loadRowData(rows[i]); + } + } + // sorts the table using the data for the ith column + function sortByIndex(index, desc) { + var key = cols[index].key, + sorter = function(a, b) { + a = a.data[key]; + b = b.data[key]; + return a < b ? -1 : a > b ? 1 : 0; + }, + finalSorter = sorter, + tableBody = document.querySelector('.coverage-summary tbody'), + rowNodes = tableBody.querySelectorAll('tr'), + rows = [], + i; + + if (desc) { + finalSorter = function(a, b) { + return -1 * sorter(a, b); + }; + } + + for (i = 0; i < rowNodes.length; i += 1) { + rows.push(rowNodes[i]); + tableBody.removeChild(rowNodes[i]); + } + + rows.sort(finalSorter); + + for (i = 0; i < rows.length; i += 1) { + tableBody.appendChild(rows[i]); + } + } + // removes sort indicators for current column being sorted + function removeSortIndicators() { + var col = getNthColumn(currentSort.index), + cls = col.className; + + cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, ''); + col.className = cls; + } + // adds sort indicators for current column being sorted + function addSortIndicators() { + getNthColumn(currentSort.index).className += currentSort.desc + ? ' sorted-desc' + : ' sorted'; + } + // adds event listeners for all sorter widgets + function enableUI() { + var i, + el, + ithSorter = function ithSorter(i) { + var col = cols[i]; + + return function() { + var desc = col.defaultDescSort; + + if (currentSort.index === i) { + desc = !currentSort.desc; + } + sortByIndex(i, desc); + removeSortIndicators(); + currentSort.index = i; + currentSort.desc = desc; + addSortIndicators(); + }; + }; + for (i = 0; i < cols.length; i += 1) { + if (cols[i].sortable) { + // add the click event handler on the th so users + // dont have to click on those tiny arrows + el = getNthColumn(i).querySelector('.sorter').parentElement; + if (el.addEventListener) { + el.addEventListener('click', ithSorter(i)); + } else { + el.attachEvent('onclick', ithSorter(i)); + } + } + } + } + // adds sorting functionality to the UI + return function() { + if (!getTable()) { + return; + } + cols = loadColumns(); + loadData(); + addSearchBox(); + addSortIndicators(); + enableUI(); + }; +})(); + +window.addEventListener('load', addSorting); diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/@types/i18next.d.ts.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/@types/i18next.d.ts.html new file mode 100644 index 000000000..dfb9717d1 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/@types/i18next.d.ts.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for src/@types/i18next.d.ts + + + + + + + + + +
+
+

All files / src/@types i18next.d.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
/**
+ * If you want to enable locale keys typechecking and enhance IDE experience.
+ *
+ * Requires `resolveJsonModule:true` in your tsconfig.json.
+ *
+ * @link https://www.i18next.com/overview/typescript
+ */
+import 'i18next'
+ 
+// resources.ts file is generated with `npm run toc`
+import resources from './resources.ts'
+ 
+declare module 'i18next' {
+  interface CustomTypeOptions {
+    resources: typeof resources
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/@types/index.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/@types/index.html new file mode 100644 index 000000000..cf0ad2bfa --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/@types/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for src/@types + + + + + + + + + +
+
+

All files src/@types

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
i18next.d.ts +
+
0%0/00%0/00%0/00%0/0
resources.ts +
+
0%0/1100%0/0100%0/00%0/1
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/@types/resources.ts.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/@types/resources.ts.html new file mode 100644 index 000000000..433ab3879 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/@types/resources.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/@types/resources.ts + + + + + + + + + +
+
+

All files / src/@types resources.ts

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import common from '../../public/locales/en/common.json'
+import email from '../../public/locales/en/email.json'
+import expectations from '../../public/locales/en/expectations.json'
+import landing from '../../public/locales/en/landing.json'
+import status from '../../public/locales/en/status.json'
+ 
+const resources = {
+  common,
+  email,
+  expectations,
+  landing,
+  status,
+} as const
+ 
+export default resources
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/components/ActionButton.tsx.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/ActionButton.tsx.html new file mode 100644 index 000000000..bb7a542fb --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/ActionButton.tsx.html @@ -0,0 +1,283 @@ + + + + + + Code coverage report for src/components/ActionButton.tsx + + + + + + + + + +
+
+

All files / src/components ActionButton.tsx

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 66.66% + Branches + 4/6 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +6x +  +  +  +  +  +  +6x +  +  +  +  +  +  +6x +  +  +  +  +  +  +  +  +  +  +5x +5x +5x +5x +  +5x +  +  +  +  +  +  +  +  +  +  +  +  +6x +  +  +  +  +  + 
import { MouseEventHandler } from 'react'
+ 
+export type ActionButtonSize = 'xs' | 'sm' | 'md' | 'lg'
+ 
+export type ActionButtonStyle = 'default' | 'primary'
+ 
+export interface ActionButtonProps {
+  disabled?: boolean
+  fullWidth?: boolean
+  id?: string
+  onClick?: MouseEventHandler<HTMLButtonElement>
+  size?: ActionButtonSize
+  style?: ActionButtonStyle
+  text: string
+  type?: 'button' | 'submit' | 'reset'
+}
+ 
+const sizes = {
+  xs: 'px-1.5 py-px rounded-sm text-sm',
+  sm: 'px-2.5 py-1.5 rounded-sm text-sm',
+  md: 'px-3.5 py-2.5 rounded text-base',
+  lg: 'px-4 py-2.5 rounded-md text-lg',
+}
+ 
+const styles = {
+  default:
+    'border-gray-dark bg-gray-normal text-blue-light hover:bg-gray-dark hover:border-l-gray-deep hover:border-t-grasy-deep focus:bg-gray-dark focus:text-blue-light border-r-gray-500 border-b-gray-500',
+  primary:
+    'border-blue-dark bg-blue-dark text-basic-white hover:bg-blue-normal active:bg-blue-active focus:bg-blue-normal focus:text-basic-white',
+}
+ 
+const ActionButton = ({
+  disabled,
+  fullWidth,
+  id,
+  onClick,
+  size,
+  style,
+  text,
+  type,
+}: ActionButtonProps) => {
+  const baseClasses =
+    'align-middle border font-display inline-flex items-center justify-center shadow-sm disabled:cursor-not-allowed disabled:opacity-70 disabled:pointer-events-none disabled:shadow-none focus:ring-2 focus:ring-black focus:ring-offset-2'
+  const fullWidthClasses = fullWidth ? 'w-full' : undefined
+  const sizeClasses = sizes[size ?? 'md']
+  const styleClasses = styles[style ?? 'default']
+ 
+  return (
+    <button
+      id={id}
+      className={`${baseClasses} ${fullWidthClasses} ${sizeClasses} ${styleClasses}`}
+      onClick={onClick}
+      type={type}
+      disabled={disabled}
+    >
+      {text}
+    </button>
+  )
+}
+ 
+ActionButton.defaultProps = {
+  type: 'button',
+  style: 'default',
+}
+ 
+export default ActionButton
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/components/AlertBlock.tsx.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/AlertBlock.tsx.html new file mode 100644 index 000000000..82397cb9b --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/AlertBlock.tsx.html @@ -0,0 +1,184 @@ + + + + + + Code coverage report for src/components/AlertBlock.tsx + + + + + + + + + +
+
+

All files / src/components AlertBlock.tsx

+
+ +
+ 66.66% + Statements + 4/6 +
+ + +
+ 33.33% + Branches + 2/6 +
+ + +
+ 50% + Functions + 1/2 +
+ + +
+ 66.66% + Lines + 4/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34  +  +  +  +  +  +  +  +  +  +  +  +14x +26x +26x +  +26x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useTranslation } from 'next-i18next'
+ 
+import { AlertPage } from '../lib/types'
+import { useAlerts } from '../lib/useAlerts'
+import AlertSection from './AlertSection'
+import { MarkdownContent } from './MarkdownContent'
+ 
+export interface AlertBlockProps {
+  page?: AlertPage
+  className?: string
+}
+ 
+const AlertBlock = ({ page, className }: AlertBlockProps) => {
+  const { data } = useAlerts({ page })
+  const { i18n } = useTranslation()
+ 
+  return data && data.length > 0 ? (
+    <div className={`${className} pt-4`}>
+      {data?.map(({ textEn, textFr, type, uid }) => {
+        const markdown = i18n.language === 'fr' ? textFr : textEn
+        return (
+          <AlertSection key={uid} type={type} background>
+            <MarkdownContent markdown={markdown} />
+          </AlertSection>
+        )
+      })}
+    </div>
+  ) : (
+    <></>
+  )
+}
+ 
+export default AlertBlock
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/components/AlertSection.tsx.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/AlertSection.tsx.html new file mode 100644 index 000000000..a15a913e9 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/AlertSection.tsx.html @@ -0,0 +1,427 @@ + + + + + + Code coverage report for src/components/AlertSection.tsx + + + + + + + + + +
+
+

All files / src/components AlertSection.tsx

+
+ +
+ 83.33% + Statements + 10/12 +
+ + +
+ 33.33% + Branches + 6/18 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 83.33% + Lines + 10/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115  +  +  +  +  +  +  +  +  +  +  +  +14x +  +  +  +  +  +  +14x +  +  +  +  +  +  +14x +  +  +  +  +6x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +4x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +2x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +14x +  +  +  +  +  +6x +  +6x +  +6x +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { PropsWithChildren } from 'react'
+ 
+import { useTranslation } from 'next-i18next'
+ 
+import { AlertType } from '../lib/types'
+ 
+export interface AlertSectionProps extends PropsWithChildren {
+  type: AlertType
+  className?: string
+  background?: boolean
+}
+ 
+const borderColors = {
+  danger: 'border-accent-error',
+  warning: 'border-accent-warning',
+  success: 'border-accent-success',
+  info: 'border-accent-info',
+}
+ 
+const svgStyles = {
+  danger: '-translate-x-3 translate-y-3',
+  warning: '-translate-x-3 translate-y-3',
+  success: '-translate-x-3 translate-y-3',
+  info: '-translate-x-3 translate-y-3',
+}
+ 
+const SVG = (
+  type: AlertType,
+  lang: string,
+  background: boolean | undefined,
+) => {
+  switch (type) {
+    case 'danger': {
+      return (
+        <svg
+          className={`${background ? 'bg-slate-100' : 'bg-white'} h-8 w-8 fill-accent-error p-1`}
+          viewBox="0 0 100 100"
+          xmlns="http://www.w3.org/2000/svg"
+          role="img"
+          aria-label="danger"
+        >
+          <path d="M50,5C25.1,5,5,25.1,5,50c0,24.9,20.1,45,45,45c24.9,0,45-20.1,45-45C95,25.1,74.9,5,50,5L50,5z M55.6,77  c0,3.2-2.5,5.6-5.6,5.6c-3.1,0-5.5-2.5-5.5-5.6v-1.1c0-3.1,2.5-5.6,5.5-5.6c3.1,0,5.6,2.5,5.6,5.6V77z M58.3,26.3l-2.8,34.2  c-0.3,3.2-3,5.4-6.1,5.2c-2.8-0.2-4.9-2.5-5.1-5.2l-2.8-34.2c-0.5-4.5,3.7-8.9,8.2-8.9C54.7,17.4,58.7,21.8,58.3,26.3z"></path>
+        </svg>
+      )
+    }
+    case 'success': {
+      return (
+        <svg
+          className={`${background ? 'bg-slate-100' : 'bg-white'} h-8 w-8 fill-accent-success p-1`}
+          viewBox="0 0 512 512"
+          xmlns="http://www.w3.org/2000/svg"
+          role="img"
+          aria-label={lang === 'fr' ? 'succès' : 'success'}
+        >
+          <path d="m504 256c0 136.967-111.033 248-248 248s-248-111.033-248-248 111.033-248 248-248 248 111.033 248 248zm-276.686 131.314 184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.249-16.379-6.249-22.628 0l-150.059 150.058-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.249 16.379 6.249 22.628.001z" />
+        </svg>
+      )
+    }
+    case 'warning': {
+      return (
+        <svg
+          className={`${background ? 'bg-slate-100' : 'bg-white'} h-8 w-8 fill-accent-warning p-1`}
+          viewBox="0 0 24 24"
+          xmlns="http://www.w3.org/2000/svg"
+          role="img"
+          aria-label={lang === 'fr' ? 'avertissement' : 'warning'}
+        >
+          <path d="M12 5.511c.561 0 1.119.354 1.544 1.062l5.912 9.854c.851 1.415.194 2.573-1.456 2.573h-12c-1.65 0-2.307-1.159-1.456-2.573l5.912-9.854c.425-.708.983-1.062 1.544-1.062m0-2c-1.296 0-2.482.74-3.259 2.031l-5.912 9.856c-.786 1.309-.872 2.705-.235 3.83s1.879 1.772 3.406 1.772h12c1.527 0 2.77-.646 3.406-1.771s.551-2.521-.235-3.83l-5.912-9.854c-.777-1.294-1.963-2.034-3.259-2.034z" />
+          <circle cx="12" cy="16" r="1.3" />
+          <path d="M13.5 10c0-.83-.671-1.5-1.5-1.5s-1.5.67-1.5 1.5c0 .199.041.389.111.562.554 1.376 1.389 3.438 1.389 3.438l1.391-3.438c.068-.173.109-.363.109-.562z" />
+        </svg>
+      )
+    }
+    case 'info': {
+      return (
+        <svg
+          className={`${background ? 'bg-slate-100' : 'bg-white'} h-8 w-8 fill-accent-info p-1`}
+          xmlns="http://www.w3.org/2000/svg"
+          viewBox="0 0 512 512"
+          role="img"
+          aria-label="information"
+        >
+          <path d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z" />
+        </svg>
+      )
+    }
+  }
+}
+ 
+const AlertSection = ({
+  children,
+  type,
+  className,
+  background,
+}: AlertSectionProps) => {
+  const { i18n } = useTranslation()
+ 
+  const borderColor = borderColors[type]
+ 
+  return (
+    <div
+      className={`${className} pl-4 ${background ? 'bg-slate-100' : 'bg-white'}`}
+    >
+      <div className={`${svgStyles[type]} w-8 bg-transparent`}>
+        {SVG(type, i18n.language, background)}
+      </div>
+      <section className={`-mt-8 border-l-8 pb-0.5 pt-2 ${borderColor}`}>
+        <div className="ml-4">{children}</div>
+      </section>
+    </div>
+  )
+}
+ 
+export default AlertSection
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/components/ApplicationNameBar.tsx.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/ApplicationNameBar.tsx.html new file mode 100644 index 000000000..769a50b30 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/ApplicationNameBar.tsx.html @@ -0,0 +1,160 @@ + + + + + + Code coverage report for src/components/ApplicationNameBar.tsx + + + + + + + + + +
+
+

All files / src/components ApplicationNameBar.tsx

+
+ +
+ 100% + Statements + 2/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 2/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26  +  +  +  +  +  +  +3x +5x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import Link from 'next/link'
+ 
+export interface ApplicationNameBarProps {
+  text: string
+  href: string
+}
+ 
+const ApplicationNameBar = ({ text, href }: ApplicationNameBarProps) => {
+  return (
+    <div id="app-bar" className="bg-blue-dark">
+      <section className="container mx-auto p-4">
+        <h2>
+          <Link
+            href={href}
+            className="font-body text-lg font-bold text-white underline md:text-[28px]"
+          >
+            {text}
+          </Link>
+        </h2>
+      </section>
+    </div>
+  )
+}
+ 
+export default ApplicationNameBar
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/components/Banner.tsx.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/Banner.tsx.html new file mode 100644 index 000000000..abcf487bc --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/Banner.tsx.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/components/Banner.tsx + + + + + + + + + +
+
+

All files / src/components Banner.tsx

+
+ +
+ 100% + Statements + 2/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 2/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23  +  +  +  +  +3x +5x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
export interface BannerProps {
+  alert: string
+  description: string
+}
+ 
+const Banner = ({ alert, description }: BannerProps) => {
+  return (
+    <div className="bg-blue-normal font-body text-white">
+      <div className="container mx-auto flex flex-col space-y-2 p-4 lg:flex-row lg:items-center lg:space-x-4 lg:space-y-0">
+        <div
+          className="w-max whitespace-nowrap border-2 px-4 py-1"
+          role="alert"
+        >
+          <b>{alert}</b>
+        </div>
+        <div>{description}</div>
+      </div>
+    </div>
+  )
+}
+ 
+export default Banner
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/components/CheckStatusInfo.tsx.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/CheckStatusInfo.tsx.html new file mode 100644 index 000000000..caeff03ca --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/CheckStatusInfo.tsx.html @@ -0,0 +1,310 @@ + + + + + + Code coverage report for src/components/CheckStatusInfo.tsx + + + + + + + + + +
+
+

All files / src/components CheckStatusInfo.tsx

+
+ +
+ 29.41% + Statements + 5/17 +
+ + +
+ 14.28% + Branches + 1/7 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 29.41% + Lines + 5/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +2x +  +  +  +  +  +  +  +  +2x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +2x +2x +  +2x +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { MouseEventHandler } from 'react'
+ 
+import { CheckStatusApiResponse, StatusCode } from '../lib/types'
+import ActionButton, { ActionButtonStyle } from './ActionButton'
+import CheckStatusFileBeingProcessed from './check-status-responses/CheckStatusFileBeingProcessed'
+import CheckStatusNoRecord from './check-status-responses/CheckStatusNoRecord'
+import CheckStatusNotAcceptable from './check-status-responses/CheckStatusNotAcceptable'
+import CheckStatusPrinting from './check-status-responses/CheckStatusPrinting'
+import CheckStatusReadyForPickup from './check-status-responses/CheckStatusReadyForPickup'
+import CheckStatusShippingCanadaPost from './check-status-responses/CheckStatusShippingCanadaPost'
+import CheckStatusShippingFedex from './check-status-responses/CheckStatusShippingFedex'
+ 
+export interface CheckStatusInfoProps {
+  id: string
+  onGoBackClick: MouseEventHandler<HTMLButtonElement>
+  goBackText: string
+  goBackStyle?: ActionButtonStyle
+  checkStatusResponse?: CheckStatusApiResponse | null
+}
+ 
+export const CheckStatusInfo = ({
+  goBackText,
+  id,
+  onGoBackClick,
+  goBackStyle,
+  checkStatusResponse,
+}: CheckStatusInfoProps) => {
+  //Determine which status response to render
+  let statusComponent
+  switch (checkStatusResponse?.status) {
+    case StatusCode.FILE_BEING_PROCESSED:
+      statusComponent = <CheckStatusFileBeingProcessed />
+      break
+    case StatusCode.PASSPORT_ISSUED_READY_FOR_PICKUP:
+      statusComponent = <CheckStatusReadyForPickup />
+      break
+    case StatusCode.PASSPORT_IS_PRINTING:
+      statusComponent = <CheckStatusPrinting />
+      break
+    case StatusCode.PASSPORT_ISSUED_SHIPPING_CANADA_POST:
+      statusComponent = (
+        <CheckStatusShippingCanadaPost
+          trackingNumber={checkStatusResponse.manifestNumber}
+        />
+      )
+      break
+    case StatusCode.PASSPORT_ISSUED_SHIPPING_FEDEX:
+      statusComponent = (
+        <CheckStatusShippingFedex
+          trackingNumber={checkStatusResponse.manifestNumber}
+        />
+      )
+      break
+    case StatusCode.NOT_ACCEPTABLE_FOR_PROCESSING:
+      statusComponent = <CheckStatusNotAcceptable />
+      break
+    default:
+      statusComponent = <CheckStatusNoRecord />
+      break
+  }
+  return (
+    <div id={id}>
+      {statusComponent}
+      <div className="my-8">
+        <ActionButton
+          onClick={onGoBackClick}
+          text={goBackText}
+          style={goBackStyle}
+        />
+      </div>
+    </div>
+  )
+}
+ 
+export default CheckStatusInfo
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/components/Collapse.tsx.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/Collapse.tsx.html new file mode 100644 index 000000000..76899bb0b --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/Collapse.tsx.html @@ -0,0 +1,184 @@ + + + + + + Code coverage report for src/components/Collapse.tsx + + + + + + + + + +
+
+

All files / src/components Collapse.tsx

+
+ +
+ 100% + Statements + 4/4 +
+ + +
+ 100% + Branches + 1/1 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 4/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34  +  +5x +  +  +  +  +  +  +  +  +  +5x +10x +10x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useId } from 'react'
+ 
+const variants = {
+  slim: 'text-base',
+  default: '',
+}
+export interface CollapseProps {
+  title: string
+  children?: React.ReactNode
+  variant?: keyof typeof variants
+}
+ 
+const Collapse = ({ title, children, variant = 'default' }: CollapseProps) => {
+  const id = useId()
+  return (
+    <details
+      aria-describedby={`${id}-details-summary`}
+      className={`mb-3 max-w-prose rounded border p-3 ${variants[variant]}`}
+    >
+      <summary
+        id={`${id}-details-summary`}
+        className={
+          'cursor-pointer text-blue-light hover:text-link-selected hover:underline focus:text-link-selected focus:underline '
+        }
+      >
+        {title}
+      </summary>
+      {children}
+    </details>
+  )
+}
+ 
+export default Collapse
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/components/DateModified.tsx.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/DateModified.tsx.html new file mode 100644 index 000000000..5554cc343 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/DateModified.tsx.html @@ -0,0 +1,169 @@ + + + + + + Code coverage report for src/components/DateModified.tsx + + + + + + + + + +
+
+

All files / src/components DateModified.tsx

+
+ +
+ 100% + Statements + 3/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 3/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29  +  +  +  +  +  +  +  +  +  +  +3x +4x +  +  +  +  +  +  +  +  +  +3x +  +  +  +  +  + 
export interface DateModifiedProps {
+  // text to be displayed
+  text?: string
+ 
+  // id of the element for testing if needed
+  id?: string
+}
+ 
+/**
+ * Contains build time stamp
+ */
+const DateModified = ({ id, text }: DateModifiedProps) => {
+  return (
+    <dl id={id} className="container mx-auto px-4 py-8">
+      <dt className="inline">{text}</dt>
+      <dd className="inline">
+        <time>{process.env.NEXT_PUBLIC_BUILD_DATE}</time>
+      </dd>
+    </dl>
+  )
+}
+ 
+DateModified.defaultProps = {
+  id: 'date-modified',
+  text: 'Date Modified: ',
+}
+ 
+export default DateModified
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/components/DateSelect.tsx.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/DateSelect.tsx.html new file mode 100644 index 000000000..23c227332 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/DateSelect.tsx.html @@ -0,0 +1,307 @@ + + + + + + Code coverage report for src/components/DateSelect.tsx + + + + + + + + + +
+
+

All files / src/components DateSelect.tsx

+
+ +
+ 80% + Statements + 4/5 +
+ + +
+ 66.66% + Branches + 4/6 +
+ + +
+ 66.66% + Functions + 2/3 +
+ + +
+ 80% + Lines + 4/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +3x +  +  +  +  +  +  +  +  +  +  +  +14x +  +  +  +14x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +674x +  +  +  +  +  +  +  +  +  + 
export interface DateSelectOption {
+  value: string
+  label: string
+}
+export type DateSelectOptions = DateSelectOption[]
+export type DateSelectType = 'year' | 'month' | 'day'
+ 
+export type DateSelectOnChangeEvent = (
+  e: React.ChangeEvent<HTMLSelectElement>,
+  type: DateSelectType,
+) => void
+ 
+export interface DateSelectProps {
+  ariaDescribedby?: string
+  dateSelectLabelId: string
+  error?: boolean
+  id: string
+  label: string
+  onChange: DateSelectOnChangeEvent
+  options: DateSelectOptions
+  required?: boolean
+  type: DateSelectType
+  value: string
+}
+ 
+const DateSelect = ({
+  ariaDescribedby,
+  dateSelectLabelId,
+  error,
+  id,
+  label,
+  onChange,
+  options,
+  required,
+  type,
+  value,
+}: DateSelectProps) => {
+  const handleOnSelectChange: React.ChangeEventHandler<HTMLSelectElement> = (
+    e,
+  ) => onChange(e, type)
+ 
+  return (
+    <div className="flex flex-col space-y-2">
+      <label
+        id={`date-select-${id}-${type}-label`}
+        htmlFor={id}
+        className="font-bold"
+      >
+        {label}
+      </label>
+      <select
+        id={id}
+        value={value}
+        onChange={handleOnSelectChange}
+        aria-describedby={ariaDescribedby}
+        aria-invalid={error ? true : undefined}
+        aria-labelledby={`${dateSelectLabelId} date-select-${id}-${type}-label`}
+        aria-required={required ? true : undefined}
+        className={`w-40 rounded border px-3 py-1 ${
+          error ? 'border-accent-error' : 'border-neutral-400'
+        } bg-white focus:border-sky-500 focus:outline-none focus:ring-sky-500`}
+      >
+        <option value="" disabled></option>
+        {options.map(({ label, value }) => (
+          <option key={value} value={value}>
+            {label}
+          </option>
+        ))}
+      </select>
+    </div>
+  )
+}
+ 
+export default DateSelect
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/components/DateSelectField.tsx.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/DateSelectField.tsx.html new file mode 100644 index 000000000..7fe9c1f2a --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/DateSelectField.tsx.html @@ -0,0 +1,877 @@ + + + + + + Code coverage report for src/components/DateSelectField.tsx + + + + + + + + + +
+
+

All files / src/components DateSelectField.tsx

+
+ +
+ 79.16% + Statements + 57/72 +
+ + +
+ 42.85% + Branches + 18/42 +
+ + +
+ 83.33% + Functions + 15/18 +
+ + +
+ 79.71% + Lines + 55/69 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +3x +  +  +  +  +  +  +  +  +  +  +  +8x +  +8x +  +  +  +  +  +  +  +  +  +8x +8x +8x +8x +  +8x +24x +24x +24x +24x +  +  +8x +6x +6x +6x +6x +750x +750x +  +  +  +8x +8x +96x +96x +  +  +  +8x +6x +6x +6x +  +  +6x +186x +186x +  +  +  +8x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +8x +  +8x +6x +6x +  +  +  +  +  +8x +6x +6x +6x +  +  +  +  +8x +6x +4x +  +2x +2x +  +  +  +  +  +  +  +  +  +8x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +3x +  +  +3x +1032x +  +  +3x +  +  +  +  +  +  +  +  +2x +2x +2x +2x +  +2x +2x +  +  +  +  +  +  +  +  +  +  + 
import { useCallback, useEffect, useMemo, useRef, useState } from 'react'
+ 
+import { getDaysInMonth, isExists } from 'date-fns'
+import { useTranslation } from 'next-i18next'
+ 
+import DateSelect, {
+  DateSelectOnChangeEvent,
+  DateSelectOption,
+} from './DateSelect'
+import FieldSetLegend from './FieldSetLegend'
+import InputErrorMessage from './InputErrorMessage'
+ 
+export type DateSelectFieldOnChangeEvent = (dateString: string) => void
+ 
+export interface DateSelectFieldProps {
+  errorMessage?: string
+  firstYear?: number
+  helpMessage?: string
+  id: string
+  label: string
+  lastYear?: number
+  onChange: DateSelectFieldOnChangeEvent
+  required?: boolean
+  textRequired?: string
+  value: string
+}
+ 
+interface DateSelectState {
+  dateString: string
+  dayValue: string
+  monthValue: string
+  yearValue: string
+}
+ 
+const DateSelectField = ({
+  errorMessage,
+  firstYear,
+  helpMessage,
+  id,
+  label,
+  lastYear,
+  onChange,
+  required,
+  textRequired,
+  value,
+}: DateSelectFieldProps) => {
+  const { t } = useTranslation()
+ 
+  const [state, setState] = useState<DateSelectState & { changeCount: number }>(
+    {
+      dateString: '',
+      dayValue: '',
+      monthValue: '',
+      yearValue: '',
+      changeCount: 0, // HACK: Use this state as a dependency of the `useEffect` below so that `onChange` is called only when it should be.
+    },
+  )
+ 
+  const dateSelectErrorMessageId = `date-select-${id}-error`
+  const dateSelectHelpMessageId = `date-select-${id}-help`
+  const dateSelectWrapperId = `date-select-${id}`
+  const dateSelectLabelId = `date-select-${id}-label`
+ 
+  const getAriaDescribedby = () => {
+    const ariaDescribedby: string[] = []
+    Iif (errorMessage) ariaDescribedby.push(dateSelectErrorMessageId)
+    if (helpMessage) ariaDescribedby.push(dateSelectHelpMessageId)
+    return ariaDescribedby.length > 0 ? ariaDescribedby.join(' ') : undefined
+  }
+ 
+  const yearOptions = useMemo(() => {
+    const first = firstYear ?? 1900
+    const last = Math.max(first, lastYear ?? new Date().getFullYear())
+    const years = last - first + 1
+    return [...Array(years).keys()].reverse().map<DateSelectOption>((i) => {
+      const value = padZero(i + first, 4)
+      return { label: value, value }
+    })
+  }, [firstYear, lastYear])
+ 
+  const monthOptions = useMemo(() => {
+    return [...Array(12).keys()].map<DateSelectOption>((i) => {
+      const value = padZero(i + 1, 2)
+      return { label: t(`date-months.` + value), value }
+    })
+  }, [t])
+ 
+  const dayOptions = useMemo(() => {
+    const year = parseInt(state.yearValue)
+    const month = parseInt(state.monthValue)
+    const days = isExists(year, month - 1, 1)
+      ? getDaysInMonth(new Date(year, month - 1))
+      : 31
+    return [...Array(days).keys()].map<DateSelectOption>((i) => {
+      const value = padZero(i + 1, 2)
+      return { label: value, value }
+    })
+  }, [state.monthValue, state.yearValue])
+ 
+  const handleOnDateSelectChange: DateSelectOnChangeEvent = useCallback(
+    (event, type) => {
+      const newValue = event.target.value
+      setState((curState) => {
+        const yearValue = type === 'year' ? newValue : curState.yearValue
+        const yearNumber = parseInt(yearValue)
+ 
+        const monthValue = type === 'month' ? newValue : curState.monthValue
+        const monthNumber = parseInt(monthValue)
+ 
+        // dayValue can be set if year or month is NaN OR if the year-month-day convert to an existing date
+        const day = type === 'day' ? newValue : curState.dayValue
+        const isDayExists =
+          isNaN(yearNumber) || isNaN(monthNumber)
+            ? true
+            : isExists(yearNumber, monthNumber - 1, parseInt(day))
+        const dayValue = isDayExists ? day : ''
+ 
+        const dateString = toDateStringOrEmpty(yearValue, monthValue, dayValue)
+        return {
+          ...curState,
+          yearValue,
+          monthValue,
+          dayValue,
+          dateString,
+          changeCount: curState.changeCount + 1, // `updateDate` changes `state.changeCount` so that `onChange` is triggered.
+        }
+      })
+    },
+    [],
+  )
+ 
+  // Sync from the state to the upper component through onChange when necessary.
+  const mountedRef = useRef(false)
+ 
+  useEffect(() => {
+    Eif (!mountedRef.current) {
+      return
+    }
+    onChange(state.dateString)
+    // eslint-disable-next-line react-hooks/exhaustive-deps
+  }, [state.changeCount])
+ 
+  useEffect(() => {
+    mountedRef.current = true
+    return () => {
+      mountedRef.current = false
+    }
+  }, [])
+ 
+  // Sync from the passed value to the state when necessary.
+  useEffect(() => {
+    if (state.dateString === value) {
+      return
+    }
+    const { year, month, day } = parseDateString(value)
+    setState((curState) => ({
+      yearValue: year,
+      monthValue: month,
+      dayValue: day,
+      dateString: value,
+      changeCount: curState.changeCount, // This method does not update `state.changeCount` so that `onChange` is not triggered.
+    }))
+    // eslint-disable-next-line react-hooks/exhaustive-deps
+  }, [value])
+ 
+  return (
+    <div className="mb-4" id={dateSelectWrapperId} data-testid={id}>
+      <fieldset>
+        <FieldSetLegend
+          id={dateSelectLabelId}
+          required={required}
+          label={label}
+          textRequired={textRequired}
+        />
+        {errorMessage && (
+          <InputErrorMessage
+            id={dateSelectErrorMessageId}
+            message={errorMessage}
+          />
+        )}
+        {helpMessage && (
+          <div
+            className="mb-1.5 max-w-prose text-base text-gray-600"
+            id={dateSelectHelpMessageId}
+          >
+            {helpMessage}
+          </div>
+        )}
+        <div className="flex flex-col space-y-2 sm:flex-row sm:space-x-2 sm:space-y-0">
+          <DateSelect
+            ariaDescribedby={getAriaDescribedby()}
+            dateSelectLabelId={dateSelectLabelId}
+            error={!!errorMessage}
+            id={`${id}-month`}
+            label={t('common:date-select-field.month')}
+            onChange={handleOnDateSelectChange}
+            options={monthOptions}
+            required={required}
+            type="month"
+            value={state.monthValue}
+          />
+          <DateSelect
+            ariaDescribedby={getAriaDescribedby()}
+            dateSelectLabelId={dateSelectLabelId}
+            error={!!errorMessage}
+            id={`${id}-day`}
+            label={t('common:date-select-field.day')}
+            onChange={handleOnDateSelectChange}
+            options={dayOptions}
+            required={required}
+            type="day"
+            value={state.dayValue}
+          />
+          <DateSelect
+            ariaDescribedby={getAriaDescribedby()}
+            dateSelectLabelId={dateSelectLabelId}
+            error={!!errorMessage}
+            id={`${id}-year`}
+            label={t('common:date-select-field.year')}
+            onChange={handleOnDateSelectChange}
+            options={yearOptions}
+            required={required}
+            type="year"
+            value={state.yearValue}
+          />
+        </div>
+      </fieldset>
+    </div>
+  )
+}
+ 
+const toDateStringOrEmpty = (year: string, month: string, day: string) =>
+  year && month && day ? `${year}-${month}-${day}` : ''
+ 
+const padZero = (value: number, maxLength: number): string => {
+  return value.toString().padStart(maxLength, '0')
+}
+ 
+const parseDateString = (
+  dateString: string,
+): {
+  year: string
+  month: string
+  day: string
+} => {
+  //  ONE DAY OFF depending on YOUR timezone and current time.
+  // ref.: https://stackoverflow.com/a/31732581
+  const date = new Date(dateString.replace(/-/g, '/').replace(/T.+/, ''))
+  const year = date.getFullYear()
+  const month = date.getMonth() + 1
+  const day = date.getDate()
+ 
+  Eif (isNaN(year) || isNaN(month) || isNaN(day)) {
+    return { year: '', month: '', day: '' }
+  }
+ 
+  return {
+    year: padZero(year, 4),
+    month: padZero(month, 2),
+    day: padZero(day, 2),
+  }
+}
+ 
+export default DateSelectField
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/components/ErrorLayout.tsx.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/ErrorLayout.tsx.html new file mode 100644 index 000000000..5ae424da6 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/ErrorLayout.tsx.html @@ -0,0 +1,229 @@ + + + + + + Code coverage report for src/components/ErrorLayout.tsx + + + + + + + + + +
+
+

All files / src/components ErrorLayout.tsx

+
+ +
+ 100% + Statements + 2/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 2/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49  +  +  +  +  +  +3x +4x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { PropsWithChildren } from 'react'
+ 
+import Image from 'next/image'
+ 
+export interface ErrorLayoutProps extends PropsWithChildren {}
+ 
+const ErrorLayout = ({ children }: ErrorLayoutProps) => {
+  return (
+    <div className="flex min-h-screen flex-col">
+      <header className="container mx-auto my-6 px-4">
+        <Image
+          className="h-6 w-auto sm:h-8 md:h-8 lg:h-7 xl:h-8"
+          alt="Government of Canada - Gouvernement du Canada"
+          src="/sig-blk-en.svg"
+          width={300}
+          height={28}
+          priority
+        />
+      </header>
+      <hr />
+      <main
+        role="main"
+        id="mainContent"
+        className="container mx-auto my-8 flex-1 px-4"
+      >
+        {children}
+      </main>
+      <footer className="bg-gray-light py-4">
+        <div className="container mx-auto flex justify-between px-4 lg:flex-row-reverse">
+          <a className="w-32 font-body text-sm sm:w-36 lg:hidden" href="#">
+            Top of page / Haut de la page&nbsp;
+            <span className="font-extrabold">&#8963;</span>
+          </a>
+          <Image
+            className="h-6 w-auto lg:h-auto lg:w-40"
+            alt="Symbol of the Government of Canada - Symbole du gouvernement du Canada"
+            src="/wmms-blk.svg"
+            width={300}
+            height={71}
+            priority
+          />
+        </div>
+      </footer>
+    </div>
+  )
+}
+ 
+export default ErrorLayout
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/components/ErrorSummary.tsx.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/ErrorSummary.tsx.html new file mode 100644 index 000000000..ccce10dfa --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/ErrorSummary.tsx.html @@ -0,0 +1,286 @@ + + + + + + Code coverage report for src/components/ErrorSummary.tsx + + + + + + + + + +
+
+

All files / src/components ErrorSummary.tsx

+
+ +
+ 73.33% + Statements + 11/15 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 50% + Functions + 4/8 +
+ + +
+ 73.33% + Lines + 11/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +1x +1x +  +  +1x +1x +  +  +1x +1x +1x +  +  +1x +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  + 
import { useEffect } from 'react'
+ 
+import { FormikErrors, FormikValues } from 'formik'
+import { Namespace, TFunction } from 'i18next'
+ 
+export interface ErrorSummaryItem {
+  feildId: string
+  errorMessage: string
+}
+ 
+export interface ErrorSummaryProps {
+  id: string
+  errors: ErrorSummaryItem[]
+  summary: string
+}
+ 
+export const getErrorSummaryItem = (
+  feildId: string,
+  errorMessage: string,
+): ErrorSummaryItem => ({
+  feildId,
+  errorMessage,
+})
+ 
+export const getErrorSummaryItems = <T extends FormikValues>(
+  formErrors: FormikErrors<T>,
+  t: TFunction<Namespace, undefined>,
+) => {
+  return Object.keys(formErrors)
+    .filter((key) => !!formErrors[key])
+    .map((key) => getErrorSummaryItem(key, t(formErrors[key] as any)))
+}
+ 
+export const goToErrorSummary = (errorSummaryId: string) => {
+  const errorSummaryEl = document.querySelector<HTMLElement>(
+    `#${errorSummaryId}`,
+  )
+  errorSummaryEl?.scrollIntoView({ behavior: 'smooth', block: 'center' })
+  errorSummaryEl?.focus()
+}
+ 
+const ErrorSummary = ({ id, errors, summary }: ErrorSummaryProps) => {
+  useEffect(() => {
+    goToErrorSummary(id)
+  }, [id])
+ 
+  return (
+    <section
+      id={id}
+      className="mb-5 border-l-6 border-accent-error p-5"
+      tabIndex={-1}
+    >
+      <h2 className="mb-3 text-2xl font-bold">{summary}</h2>
+      <ul className="list-disc space-y-2 pl-10">
+        {errors.map(({ feildId, errorMessage }) => (
+          <li key={feildId}>
+            <a className="visited:text-link-default" href={`#${feildId}`}>
+              {errorMessage}
+            </a>
+          </li>
+        ))}
+      </ul>
+    </section>
+  )
+}
+ 
+export default ErrorSummary
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/components/ExampleImage.tsx.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/ExampleImage.tsx.html new file mode 100644 index 000000000..ee0592352 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/ExampleImage.tsx.html @@ -0,0 +1,205 @@ + + + + + + Code coverage report for src/components/ExampleImage.tsx + + + + + + + + + +
+
+

All files / src/components ExampleImage.tsx

+
+ +
+ 100% + Statements + 2/2 +
+ + +
+ 100% + Branches + 2/2 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 2/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +2x +2x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { PropsWithChildren } from 'react'
+ 
+import Image from 'next/image'
+ 
+export interface ImageProps {
+  src: string
+  alt: string
+  width: number
+  height: number
+}
+ 
+export interface ExampleImageProps extends PropsWithChildren {
+  title?: string
+  imageProps: ImageProps
+}
+ 
+const ExampleImage = ({ children, title, imageProps }: ExampleImageProps) => {
+  return (
+    <>
+      {title && (
+        <p>
+          <strong>{title}</strong>
+        </p>
+      )}
+      <figure className="mb-6 rounded-lg border bg-white p-1 drop-shadow-lg md:w-3/5">
+        <Image
+          key={imageProps.src}
+          className="w-full"
+          alt={imageProps.alt}
+          src={imageProps.src}
+          width={imageProps.width}
+          height={imageProps.height}
+        />
+        <figcaption className="px-5 py-3 text-lg">{children}</figcaption>
+      </figure>
+    </>
+  )
+}
+ 
+export default ExampleImage
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/components/ExternalLink.tsx.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/ExternalLink.tsx.html new file mode 100644 index 000000000..9a28bfea5 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/ExternalLink.tsx.html @@ -0,0 +1,181 @@ + + + + + + Code coverage report for src/components/ExternalLink.tsx + + + + + + + + + +
+
+

All files / src/components ExternalLink.tsx

+
+ +
+ 100% + Statements + 3/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 3/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +15x +  +  +  +  +2x +2x +  +  +  +  +  +  +  +  + 
import {
+  AnchorHTMLAttributes,
+  DetailedHTMLProps,
+  PropsWithChildren,
+} from 'react'
+ 
+import { useTranslation } from 'next-i18next'
+ 
+export interface ExternalLinkProps
+  extends DetailedHTMLProps<
+      AnchorHTMLAttributes<HTMLAnchorElement>,
+      HTMLAnchorElement
+    >,
+    PropsWithChildren {
+  href: string
+}
+ 
+export const ExternalLink = ({
+  children,
+  href,
+  ...rest
+}: ExternalLinkProps) => {
+  const { t } = useTranslation(['common'])
+  return (
+    <a {...rest} href={href} target="_blank" rel="noopener noreferrer">
+      {children}
+      <span className="sr-only">{t('opens-in-new-tab')}</span>
+    </a>
+  )
+}
+ 
+export default ExternalLink
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/components/FieldSetLegend.tsx.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/FieldSetLegend.tsx.html new file mode 100644 index 000000000..333fb6b8e --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/FieldSetLegend.tsx.html @@ -0,0 +1,160 @@ + + + + + + Code coverage report for src/components/FieldSetLegend.tsx + + + + + + + + + +
+
+

All files / src/components FieldSetLegend.tsx

+
+ +
+ 100% + Statements + 2/2 +
+ + +
+ 100% + Branches + 2/2 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 2/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26  +  +  +  +  +  +  +  +3x +  +  +  +  +  +8x +  +  +  +  +  +  +  +  +  +  + 
export interface FieldSetLegendProps {
+  htmlFor?: string
+  id: string
+  label: string
+  required?: boolean
+  textRequired?: string
+}
+ 
+const FieldSetLegend = ({
+  id,
+  label,
+  required,
+  textRequired,
+}: FieldSetLegendProps) => {
+  return (
+    <legend>
+      <p id={id} className="mb-2 block font-bold">
+        {label}
+        {required && <span>&nbsp;{textRequired}</span>}
+      </p>
+    </legend>
+  )
+}
+ 
+export default FieldSetLegend
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/components/Footer.tsx.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/Footer.tsx.html new file mode 100644 index 000000000..8e45a1940 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/Footer.tsx.html @@ -0,0 +1,358 @@ + + + + + + Code coverage report for src/components/Footer.tsx + + + + + + + + + +
+
+

All files / src/components Footer.tsx

+
+ +
+ 100% + Statements + 3/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 3/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +2x +  +  +  +  +  +  +2x +  +  +  +  +  +  +  +  +  +  +  +  +5x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import Image from 'next/image'
+ 
+import DateModified from './DateModified'
+ 
+export interface FooterLogo {
+  src: string
+  alt: string
+  width: number
+  height: number
+}
+ 
+export interface FooterLink {
+  link: string
+  linkText: string
+}
+ 
+export interface FooterProps {
+  dateModifiedText: string
+ 
+  /**
+   * footer header
+   */
+  footerHeader: string
+ 
+  /**
+   * footer canada-ca logo
+   */
+  footerLogo: FooterLogo
+ 
+  /**
+   * Screenreader section indicator
+   */
+  footerNavHeader: string
+ 
+  /**
+   * array of objects containing the link text and link
+   */
+  links: FooterLink[]
+}
+ 
+/**
+ * footer element for all pages
+ */
+const Footer = ({
+  dateModifiedText,
+  footerHeader,
+  footerLogo,
+  footerNavHeader,
+  links,
+}: FooterProps) => {
+  return (
+    <footer>
+      <h2 className="sr-only">{footerHeader}</h2>
+      <DateModified text={dateModifiedText} />
+      <div className="bg-gray-light pb-8 pt-6">
+        <div className="container mx-auto px-4">
+          <div role="navigation" aria-labelledby="footerNav">
+            <h3 className="sr-only" id="footerNav">
+              {footerNavHeader}
+            </h3>
+            <div className="flex items-end justify-between md:items-center">
+              <ul className="flex list-none flex-col flex-wrap space-y-3 marker:text-xs md:list-inside md:list-disc md:flex-row md:items-center md:space-y-0">
+                {links.map(({ link, linkText }) => (
+                  <li key={link} className="first:list-none md:mr-4">
+                    <a
+                      className="font-body text-sm text-[#21303F] hover:text-[#5E8EBD]"
+                      data-cy="social-media-link"
+                      href={link}
+                    >
+                      {linkText}
+                    </a>
+                  </li>
+                ))}
+              </ul>
+              <Image
+                className="h-10 w-auto"
+                alt={footerLogo.alt}
+                src={footerLogo.src}
+                width={footerLogo.width}
+                height={footerLogo.height}
+                priority
+              />
+            </div>
+          </div>
+        </div>
+      </div>
+    </footer>
+  )
+}
+ 
+export default Footer
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/components/Header.tsx.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/Header.tsx.html new file mode 100644 index 000000000..6dc1a6467 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/Header.tsx.html @@ -0,0 +1,499 @@ + + + + + + Code coverage report for src/components/Header.tsx + + + + + + + + + +
+
+

All files / src/components Header.tsx

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 16/16 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139  +  +  +  +  +  +  +  +  +  +  +  +  +  +2x +3x +3x +3x +  +3x +3x +3x +3x +  +3x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useTranslation } from 'next-i18next'
+import getConfig from 'next/config'
+import Image from 'next/image'
+import Link from 'next/link'
+import { useRouter } from 'next/router'
+ 
+import ApplicationNameBar from './ApplicationNameBar'
+import Banner from './Banner'
+ 
+export interface HeaderProps {
+  gocLink: string
+  skipToMainText: string
+}
+ 
+const Header = ({ gocLink, skipToMainText }: HeaderProps) => {
+  const config = getConfig()
+  const { locale, asPath } = useRouter()
+  const { t } = useTranslation('common')
+ 
+  const langSelectorLocale = locale === 'en' ? 'fr' : 'en'
+  const langSelectorAbbreviation = langSelectorLocale === 'fr' ? 'FR' : 'EN'
+  const langSelectorText = langSelectorLocale === 'fr' ? 'Français' : 'English'
+  const showBanner = config?.publicRuntimeConfig?.environment !== 'prod'
+ 
+  return (
+    <>
+      <nav
+        role="navigation"
+        aria-labelledby="skipToMainContent"
+        className="absolute -left-96 h-px w-px focus-within:top-4 focus-within:z-50 focus-within:flex focus-within:h-auto focus-within:w-screen focus-within:justify-center"
+      >
+        <a
+          id="skipToMainContent"
+          className="border border-blue-dark bg-blue-dark px-2 font-body font-bold text-white hover:bg-basic-darkgray focus:text-white focus:ring-2 focus:ring-inset focus:ring-orange-dark focus:ring-offset-2"
+          href="#main-header"
+          draggable="false"
+        >
+          {skipToMainText}
+        </a>
+      </nav>
+ 
+      <header>
+        {showBanner && (
+          <Banner
+            alert={t('banner.alert')}
+            description={t('banner.description')}
+          />
+        )}
+        <div className="container mx-auto flex flex-col justify-between px-4 py-2.5 md:flex md:flex-row">
+          <div className="flex flex-row content-center items-center justify-between md:mt-7">
+            <a href={gocLink}>
+              <Image
+                key={locale}
+                className="h-7 w-auto lg:h-8"
+                alt={
+                  locale === 'en'
+                    ? 'Government of Canada'
+                    : 'Gouvernement du Canada'
+                }
+                src={locale === 'en' ? '/sig-blk-en.svg' : '/sig-blk-fr.svg'}
+                width={300}
+                height={28}
+                priority
+              />
+            </a>
+            <span className="sr-only">
+              /{' '}
+              <span lang={locale === 'en' ? 'fr' : 'en'}>
+                {locale === 'en'
+                  ? 'Gouvernement du Canada'
+                  : 'Government of Canada'}
+              </span>
+            </span>
+ 
+            {/* Language selector for small screens */}
+            <Link
+              href={asPath}
+              locale={langSelectorLocale}
+              replace
+              className={`ml-6 block cursor-help pb-2 font-body text-base font-bold text-[#284162] underline decoration-dotted hover:text-[#0535d2] sm:ml-16 md:hidden md:text-sm`}
+              lang={langSelectorLocale}
+            >
+              <abbr title={langSelectorText}>{langSelectorAbbreviation}</abbr>
+            </Link>
+          </div>
+ 
+          <div className="flex flex-col">
+            {/* Language selector for mid to larger screens */}
+            <Link
+              href={asPath}
+              locale={langSelectorLocale}
+              replace
+              className="hidden self-end pb-0 font-body text-[#284162] underline hover:text-[#0535d2] md:block lg:pb-4"
+              data-cy="toggle-language-link"
+              lang={langSelectorLocale}
+            >
+              {langSelectorText}
+            </Link>
+            {/* Placeholder for SearchBar in case is back in ver 4??? */}
+            {/* <SearchBar /> */}
+          </div>
+        </div>
+ 
+        <ApplicationNameBar
+          text={t('application-name-bar')}
+          href="/expectations"
+        />
+ 
+        {/* <Menu
+          loginText={t('login')}
+          items={[
+            {
+              link: '/search',
+              text: t('service-and-benefits'),
+            },
+            {
+              link: '/',
+              text: t('tools'),
+            },
+            {
+              link: '/',
+              text: t('contact-us'),
+            },
+          ]}
+        /> */}
+ 
+        {/* Place Holder for the breadcrumbs
+ 
+        <div className="layout-container my-2">
+          <Breadcrumb items={breadcrumbItems} />
+        </div>
+        */}
+      </header>
+    </>
+  )
+}
+ 
+export default Header
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/components/IdleTimeout.tsx.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/IdleTimeout.tsx.html new file mode 100644 index 000000000..bd39b2b17 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/IdleTimeout.tsx.html @@ -0,0 +1,301 @@ + + + + + + Code coverage report for src/components/IdleTimeout.tsx + + + + + + + + + +
+
+

All files / src/components IdleTimeout.tsx

+
+ +
+ 76.19% + Statements + 16/21 +
+ + +
+ 100% + Branches + 8/8 +
+ + +
+ 57.14% + Functions + 4/7 +
+ + +
+ 76.19% + Lines + 16/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73  +  +  +  +  +  +  +  +  +  +  +  +  +3x +3x +3x +3x +3x +  +3x +  +  +  +  +3x +  +  +  +  +3x +  +1x +  +  +  +  +3x +2x +2x +2x +  +  +  +  +3x +2x +  +  +3x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useCallback, useEffect, useState } from 'react'
+ 
+import { deleteCookie } from 'cookies-next'
+import { useTranslation } from 'next-i18next'
+import { useRouter } from 'next/router'
+import { IIdleTimerProps, useIdleTimer } from 'react-idle-timer'
+ 
+import Modal from './Modal'
+ 
+export interface IdleTimeoutProps
+  extends Pick<IIdleTimerProps, 'promptBeforeIdle'>,
+    Pick<IIdleTimerProps, 'timeout'> {}
+ 
+const IdleTimeout = ({ promptBeforeIdle, timeout }: IdleTimeoutProps) => {
+  const { t } = useTranslation('common')
+  const router = useRouter()
+  const [modalOpen, setModalOpen] = useState(false)
+  const [timeRemaining, setTimeRemaining] = useState('')
+ 
+  const handleOnIdle = () => {
+    deleteCookie('agreed-to-email-esrf-terms')
+    router.reload()
+  }
+ 
+  const handleOnIdleContinueSession = () => {
+    setModalOpen(false)
+    reset()
+  }
+ 
+  const { reset, getRemainingTime } = useIdleTimer({
+    onIdle: handleOnIdle,
+    onPrompt: () => setModalOpen(true),
+    promptBeforeIdle: promptBeforeIdle ?? 5 * 60 * 1000, //5 minutes
+    timeout: timeout ?? 15 * 60 * 1000, //15 minutes
+  })
+ 
+  const tick = useCallback(() => {
+    const minutes = Math.floor(getRemainingTime() / 60000)
+    const seconds = Math.floor((getRemainingTime() / 1000) % 60).toFixed(0)
+    setTimeRemaining(
+      minutes + ':' + (parseInt(seconds) < 10 ? '0' : '') + seconds,
+    )
+  }, [getRemainingTime])
+ 
+  useEffect(() => {
+    setInterval(tick, 1000)
+  }, [tick])
+ 
+  return (
+    <Modal
+      open={modalOpen && timeRemaining.length > 0}
+      onClose={handleOnIdleContinueSession}
+      actionButtons={[
+        {
+          onClick: () => handleOnIdle(),
+          style: 'primary',
+          text: t('modal-idle-timeout.end-session'),
+        },
+        {
+          onClick: handleOnIdleContinueSession,
+          style: 'default',
+          text: t('modal-idle-timeout.continue-session'),
+        },
+      ]}
+      header={t('modal-idle-timeout.header')}
+    >
+      <p>{t('modal-idle-timeout.description', { timeRemaining })}</p>
+    </Modal>
+  )
+}
+ 
+export default IdleTimeout
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/components/InputErrorMessage.tsx.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/InputErrorMessage.tsx.html new file mode 100644 index 000000000..1954a0790 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/InputErrorMessage.tsx.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for src/components/InputErrorMessage.tsx + + + + + + + + + +
+
+

All files / src/components InputErrorMessage.tsx

+
+ +
+ 100% + Statements + 2/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 2/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19  +  +  +  +  +7x +2x +  +  +  +  +  +  +  +  +  +  +  + 
export interface InputErrorMessageProps {
+  id?: string
+  message: string
+}
+ 
+const InputErrorMessage = ({ id, message }: InputErrorMessageProps) => {
+  return (
+    <div
+      id={id}
+      data-testid="input-error-message"
+      className="mb-1.5 inline-block border-l-4 border-red-dark bg-red-light px-2 font-bold"
+    >
+      {message}
+    </div>
+  )
+}
+ 
+export default InputErrorMessage
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/components/InputField.tsx.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/InputField.tsx.html new file mode 100644 index 000000000..aeef7b9d1 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/InputField.tsx.html @@ -0,0 +1,388 @@ + + + + + + Code coverage report for src/components/InputField.tsx + + + + + + + + + +
+
+

All files / src/components InputField.tsx

+
+ +
+ 94.11% + Statements + 16/17 +
+ + +
+ 86.36% + Branches + 19/22 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +3x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +2x +2x +2x +2x +2x +  +2x +2x +2x +2x +2x +2x +  +  +2x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +3x +  +  +  +  + 
import InputErrorMessage from './InputErrorMessage'
+import InputLabel from './InputLabel'
+ 
+export interface InputFieldProps {
+  errorMessage?: string
+  helpMessage?: React.ReactNode
+  helpMessageSecondary?: React.ReactNode
+  id: string
+  label: string
+  max?: string
+  name: string
+  onChange?: React.ChangeEventHandler<HTMLInputElement>
+  required?: boolean
+  textRequired?: string
+  type?: React.HTMLInputTypeAttribute
+  value?: string | number | readonly string[]
+  extraContent?: React.ReactNode
+}
+ 
+const InputField = ({
+  errorMessage,
+  helpMessage,
+  helpMessageSecondary,
+  id,
+  label,
+  max,
+  name,
+  onChange,
+  required,
+  textRequired,
+  type,
+  value,
+  extraContent,
+}: InputFieldProps) => {
+  const inputErrorMessageId = `input-${id}-error`
+  const inputHelpMessageId = `input-${id}-help`
+  const inputHelpMessageSecondaryId = `input-${id}-help-secondary`
+  const inputWrapperId = `input-${id}`
+  const inputLabelId = `input-${id}-label`
+ 
+  const getAriaDescribedby = () => {
+    const ariaDescribedby: string[] = []
+    if (errorMessage) ariaDescribedby.push(inputErrorMessageId)
+    if (helpMessage) ariaDescribedby.push(inputHelpMessageId)
+    Iif (helpMessageSecondary) ariaDescribedby.push(inputHelpMessageSecondaryId)
+    return ariaDescribedby.length > 0 ? ariaDescribedby.join(' ') : undefined
+  }
+ 
+  return (
+    <div className="mb-4" id={inputWrapperId} data-testid={id}>
+      <InputLabel
+        id={inputLabelId}
+        htmlFor={id}
+        required={required}
+        label={label}
+        textRequired={textRequired}
+      />
+      {errorMessage && (
+        <InputErrorMessage id={inputErrorMessageId} message={errorMessage} />
+      )}
+      {helpMessage && (
+        <div
+          className="mb-1.5 max-w-prose text-base text-gray-600"
+          id={inputHelpMessageId}
+        >
+          {helpMessage}
+        </div>
+      )}
+      {extraContent}
+      <input
+        aria-describedby={getAriaDescribedby()}
+        aria-invalid={errorMessage ? true : undefined}
+        aria-labelledby={inputLabelId}
+        aria-required={required ? true : undefined}
+        className={`block h-9 rounded border px-3 py-1.5 ${
+          errorMessage ? 'border-accent-error' : 'border-neutral-400'
+        } focus:border-sky-500 focus:outline-none focus:ring-sky-500`}
+        id={id}
+        max={max}
+        name={name}
+        onChange={onChange}
+        type={type}
+        value={value ?? ''}
+      />
+      {helpMessageSecondary && (
+        <div
+          className="mt-1.5 max-w-prose text-base text-gray-600"
+          id={inputHelpMessageSecondaryId}
+        >
+          {helpMessageSecondary}
+        </div>
+      )}
+    </div>
+  )
+}
+ 
+InputField.defaultProps = {
+  type: 'text',
+}
+ 
+export default InputField
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/components/InputLabel.tsx.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/InputLabel.tsx.html new file mode 100644 index 000000000..3f8780ace --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/InputLabel.tsx.html @@ -0,0 +1,157 @@ + + + + + + Code coverage report for src/components/InputLabel.tsx + + + + + + + + + +
+
+

All files / src/components InputLabel.tsx

+
+ +
+ 100% + Statements + 2/2 +
+ + +
+ 50% + Branches + 1/2 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 2/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25  +  +  +  +  +  +  +  +4x +  +  +  +  +  +  +3x +  +  +  +  +  +  +  +  + 
export interface InputLabelProps {
+  htmlFor?: string
+  id: string
+  label: string
+  required?: boolean
+  textRequired?: string
+}
+ 
+const InputLabel = ({
+  htmlFor,
+  id,
+  label,
+  required,
+  textRequired,
+}: InputLabelProps) => {
+  return (
+    <label id={id} htmlFor={htmlFor} className="mb-2 block font-bold">
+      {label}
+      {required && <span>&nbsp;{textRequired}</span>}
+    </label>
+  )
+}
+ 
+export default InputLabel
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/components/Layout.tsx.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/Layout.tsx.html new file mode 100644 index 000000000..9a1059d62 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/Layout.tsx.html @@ -0,0 +1,280 @@ + + + + + + Code coverage report for src/components/Layout.tsx + + + + + + + + + +
+
+

All files / src/components Layout.tsx

+
+ +
+ 100% + Statements + 3/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 3/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66  +  +  +  +  +  +  +  +  +  +1x +2x +  +2x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { PropsWithChildren } from 'react'
+ 
+import { useTranslation } from 'next-i18next'
+ 
+import AlertBlock from './AlertBlock'
+import Footer from './Footer'
+import Header from './Header'
+ 
+export interface LayoutProps extends PropsWithChildren {}
+ 
+const Layout = ({ children }: LayoutProps) => {
+  const { t } = useTranslation('common')
+ 
+  return (
+    <div className="flex min-h-screen flex-col">
+      <Header
+        skipToMainText={t('header.skip-to-main')}
+        gocLink={t('header.goc-link')}
+      />
+      <main
+        role="main"
+        id="mainContent"
+        className="container mx-auto flex-1 px-4 pb-8"
+      >
+        <AlertBlock />
+        {children}
+      </main>
+      <Footer
+        dateModifiedText={t('footer.date-modified-text')}
+        footerHeader={t('footer.header')}
+        footerLogo={{
+          alt: t('footer.canada-ca-alt-text'),
+          src: '/wmms-blk.svg',
+          width: 300,
+          height: 71,
+        }}
+        footerNavHeader={t('footer.nav-header')}
+        links={[
+          {
+            link: t('footer.links.social-media-url'),
+            linkText: t('footer.links.social-media'),
+          },
+          {
+            link: t('footer.links.mobile-applications-url'),
+            linkText: t('footer.links.mobile-applications'),
+          },
+          {
+            link: t('footer.links.about-canada-ca-url'),
+            linkText: t('footer.links.about-canada-ca'),
+          },
+          {
+            link: t('footer.links.terms-and-condition-url'),
+            linkText: t('footer.links.terms-and-condition'),
+          },
+          {
+            link: t('footer.links.privacy-url'),
+            linkText: t('footer.links.privacy'),
+          },
+        ]}
+      />
+    </div>
+  )
+}
+ 
+export default Layout
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/components/LinkButton.tsx.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/LinkButton.tsx.html new file mode 100644 index 000000000..03d5bcf18 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/LinkButton.tsx.html @@ -0,0 +1,271 @@ + + + + + + Code coverage report for src/components/LinkButton.tsx + + + + + + + + + +
+
+

All files / src/components LinkButton.tsx

+
+ +
+ 100% + Statements + 8/8 +
+ + +
+ 80% + Branches + 8/10 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 8/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +4x +  +  +  +  +  +  +4x +  +  +  +  +4x +  +  +  +  +  +  +  +  +  +  +  +4x +4x +4x +4x +  +4x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { PropsWithChildren } from 'react'
+ 
+import Link, { LinkProps } from 'next/link'
+ 
+export type LinkButtonSize = 'xs' | 'sm' | 'md' | 'lg'
+ 
+export type LinkButtonStyle = 'default' | 'primary'
+ 
+export interface LinkButtonProps extends LinkProps, PropsWithChildren {
+  external?: boolean
+  fullWidth?: boolean
+  id?: string
+  lang?: string
+  size?: LinkButtonSize
+  style?: LinkButtonStyle
+}
+ 
+const sizes = {
+  xs: 'px-1.5 py-px rounded-sm text-sm',
+  sm: 'px-2.5 py-1.5 rounded-sm text-sm',
+  md: 'px-3.5 py-2.5 rounded text-base',
+  lg: 'px-4 py-2.5 rounded-md text-lg',
+}
+ 
+const styles = {
+  default: `bg-gray-normal border-b-gray-500 border-gray-dark border-r-gray-500 text-blue-light focus:bg-gray-dark focus:text-blue-light hover:bg-gray-dark hover:border-l-gray-deep hover:border-t-grasy-deep hover:text-blue-light visited:text-blue-light`,
+  primary: `bg-blue-dark border-blue-dark text-basic-white active:bg-blue-active focus:bg-blue-normal focus:text-basic-white hover:bg-blue-normal hover:text-basic-white visited:text-basic-white`,
+}
+ 
+const LinkButton = ({
+  children,
+  external,
+  fullWidth,
+  href,
+  id,
+  locale,
+  lang,
+  size,
+  style,
+}: LinkButtonProps) => {
+  const baseClasses =
+    'align-middle border font-display inline-flex items-center justify-center no-underline shadow-sm text-center focus:ring-2 focus:ring-black focus:ring-offset-2'
+  const fullWidthClasses = fullWidth ? 'w-full' : undefined
+  const sizeClasses = sizes[size ?? 'md']
+  const styleClasses = styles[style ?? 'default']
+ 
+  return (
+    <Link
+      href={href}
+      target={external ? '_blank' : undefined}
+      rel={external ? 'noopener noreferrer' : undefined}
+      id={id}
+      lang={lang}
+      locale={locale}
+      className={`${baseClasses} ${fullWidthClasses} ${sizeClasses} ${styleClasses}`}
+    >
+      {children}
+    </Link>
+  )
+}
+ 
+export default LinkButton
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/components/MarkdownContent.tsx.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/MarkdownContent.tsx.html new file mode 100644 index 000000000..3c34c2fa1 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/MarkdownContent.tsx.html @@ -0,0 +1,244 @@ + + + + + + Code coverage report for src/components/MarkdownContent.tsx + + + + + + + + + +
+
+

All files / src/components MarkdownContent.tsx

+
+ +
+ 50% + Statements + 2/4 +
+ + +
+ 0% + Branches + 0/1 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 50% + Lines + 2/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54  +  +  +  +  +  +14x +  +  +  +  +  +  +  +  +14x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { PropsWithChildren } from 'react'
+ 
+import Markdown from 'markdown-to-jsx'
+ 
+import ExternalLink from './ExternalLink'
+ 
+const Link = ({ children, ...props }: PropsWithChildren<{ href: string }>) => (
+  <ExternalLink {...props}>{children}</ExternalLink>
+)
+ 
+export type MarkdownContentProps = {
+  markdown: string
+  disableParsingRawHTML?: boolean
+}
+ 
+export const MarkdownContent = ({
+  markdown,
+  disableParsingRawHTML = true,
+}: MarkdownContentProps) => (
+  <Markdown
+    options={{
+      disableParsingRawHTML,
+      overrides: {
+        h1: {
+          component: 'h2',
+          props: { className: 'h2 mt-0' },
+        },
+        h2: {
+          component: 'h3',
+          props: { className: 'h3 mt-0' },
+        },
+        h3: {
+          component: 'h4',
+          props: { className: 'h4 mt-0' },
+        },
+        h4: {
+          component: 'h5',
+          props: { className: 'h5 mt-0' },
+        },
+        h5: {
+          component: 'h6',
+          props: { className: 'h6 mt-0' },
+        },
+        a: { component: Link },
+        ul: {
+          props: { className: 'mb-5 list-disc space-y-2 pl-10 last:mb-0' },
+        },
+      },
+    }}
+  >
+    {markdown}
+  </Markdown>
+)
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/components/Modal.tsx.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/Modal.tsx.html new file mode 100644 index 000000000..6c725edc1 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/Modal.tsx.html @@ -0,0 +1,316 @@ + + + + + + Code coverage report for src/components/Modal.tsx + + + + + + + + + +
+
+

All files / src/components Modal.tsx

+
+ +
+ 92.85% + Statements + 13/14 +
+ + +
+ 50% + Branches + 1/2 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 92.85% + Lines + 13/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78  +  +  +  +  +  +  +  +  +  +  +  +  +3x +  +  +  +  +  +  +1x +1x +  +1x +1x +1x +  +  +  +  +  +1x +1x +1x +1x +1x +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  + 
import { PropsWithChildren, useEffect, useId, useRef } from 'react'
+ 
+import { FocusOn } from 'react-focus-on'
+ 
+import ActionButton, { ActionButtonProps } from './ActionButton'
+ 
+export interface ModalProps extends PropsWithChildren {
+  actionButtons: ActionButtonProps[]
+  header: string
+  onClose: EventListener
+  open: boolean
+}
+ 
+const Modal = ({
+  actionButtons,
+  children,
+  header,
+  onClose,
+  open,
+}: ModalProps) => {
+  const dialogRef = useRef<HTMLDialogElement>(null)
+  const id = useId()
+ 
+  useEffect(() => {
+    if (open) {
+      dialogRef.current?.showModal()
+    } else E{
+      dialogRef.current?.close()
+    }
+  }, [open])
+ 
+  useEffect(() => {
+    const el = dialogRef.current
+    el?.addEventListener('close', onClose)
+    return () => {
+      el?.removeEventListener('close', onClose)
+    }
+  }, [onClose])
+ 
+  // "Confirm" button of form triggers "close" on dialog because of [method="dialog"]
+ 
+  return (
+    <dialog
+      ref={dialogRef}
+      className="w-full border-none bg-transparent p-1 backdrop:bg-black backdrop:bg-opacity-80 md:w-2/3 lg:w-2/5"
+    >
+      <FocusOn enabled={open}>
+        <section
+          data-autofocus
+          tabIndex={-1}
+          className="rounded-md bg-white ring-2 ring-gray-modal"
+          aria-describedby={`${id}-modal-header`}
+        >
+          <header
+            id={`${id}-modal-header`}
+            className="rounded-t-md border-b border-black bg-blue-deep p-3 text-white"
+          >
+            <h1>{header}</h1>
+          </header>
+          <div id={`${id}-modal-desc`} className="p-3">
+            {children}
+          </div>
+          <div className="flex justify-end gap-2 border-t border-gray-modal p-2">
+            {actionButtons.map((actionButtonProps) => (
+              <ActionButton
+                key={actionButtonProps.text}
+                {...actionButtonProps}
+              />
+            ))}
+          </div>
+        </section>
+      </FocusOn>
+    </dialog>
+  )
+}
+ 
+export default Modal
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/components/check-status-responses/CheckStatusFileBeingProcessed.tsx.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/check-status-responses/CheckStatusFileBeingProcessed.tsx.html new file mode 100644 index 000000000..c7ee5d532 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/check-status-responses/CheckStatusFileBeingProcessed.tsx.html @@ -0,0 +1,331 @@ + + + + + + Code coverage report for src/components/check-status-responses/CheckStatusFileBeingProcessed.tsx + + + + + + + + + +
+
+

All files / src/components/check-status-responses CheckStatusFileBeingProcessed.tsx

+
+ +
+ 100% + Statements + 3/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 3/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83  +  +  +  +  +4x +4x +4x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { Trans, useTranslation } from 'next-i18next'
+ 
+import AlertBlock from '../AlertBlock'
+import ExternalLink from '../ExternalLink'
+ 
+export const CheckStatusFileBeingProcessed = () => {
+  const { t } = useTranslation(['status', 'common'])
+  return (
+    <>
+      <AlertBlock page="status-processing" />
+      <h1
+        id="main-header"
+        data-testid="being-processed"
+        className="h1"
+        tabIndex={-1}
+      >
+        {t('being-processed.received')}
+      </h1>
+      <p>
+        <Trans
+          i18nKey={'being-processed.received-will-not-change'}
+          ns="status"
+        />
+      </p>
+      <p>
+        <Trans i18nKey={'being-processed.applied-in-person'} ns="status" />
+      </p>
+      <p>
+        <Trans i18nKey={'being-processed.applied-by-mail'} ns="status" />
+      </p>
+      <p>
+        <Trans i18nKey={'being-processed.we-will-contact'} ns="status" />
+      </p>
+      <p>
+        <Trans
+          i18nKey={'being-processed.ready-within'}
+          ns="status"
+          components={{
+            Link: (
+              <ExternalLink
+                href={t('status-check-contact.service-standard-href')}
+              />
+            ),
+          }}
+        />
+      </p>
+      <p>{t('being-processed.incomplete')}</p>
+      <h2 className="h3 mb-2 mt-8">{t('being-processed.need-faster')}</h2>
+      <p>
+        <Trans
+          i18nKey={'being-processed.get-urgent'}
+          ns="status"
+          components={{
+            Link: (
+              <ExternalLink
+                href={t('status-check-urgent.express-services-href')}
+              />
+            ),
+          }}
+        />
+      </p>
+      <h2 className="h3 mb-2 mt-8">
+        {t('being-processed.dont-meet-standards')}
+      </h2>
+      <p>
+        <Trans
+          i18nKey={'being-processed.may-be-eligible'}
+          ns="status"
+          components={{
+            Link: (
+              <ExternalLink
+                href={t('status-check-contact.service-standard-href')}
+              />
+            ),
+          }}
+        />
+      </p>
+    </>
+  )
+}
+ 
+export default CheckStatusFileBeingProcessed
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/components/check-status-responses/CheckStatusNoRecord.tsx.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/check-status-responses/CheckStatusNoRecord.tsx.html new file mode 100644 index 000000000..b7f11e320 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/check-status-responses/CheckStatusNoRecord.tsx.html @@ -0,0 +1,256 @@ + + + + + + Code coverage report for src/components/check-status-responses/CheckStatusNoRecord.tsx + + + + + + + + + +
+
+

All files / src/components/check-status-responses CheckStatusNoRecord.tsx

+
+ +
+ 100% + Statements + 3/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 3/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58  +  +  +  +  +3x +4x +4x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { Trans, useTranslation } from 'next-i18next'
+ 
+import AlertBlock from '../AlertBlock'
+import ExternalLink from '../ExternalLink'
+ 
+export const CheckStatusNoRecord = () => {
+  const { t } = useTranslation(['status', 'common'])
+  return (
+    <>
+      <AlertBlock page="status-not-found" />
+      <h1 id="main-header" data-testid="no-record" className="h1" tabIndex={-1}>
+        {t('no-record.cannot-give-status.description')}
+      </h1>
+      <p>{t('no-record.cannot-give-status.because')}</p>
+      <ul className="mb-5 list-disc space-y-2 pl-10">
+        <li>
+          <Trans
+            i18nKey={'no-record.cannot-give-status.list.item-1'}
+            ns="status"
+          />
+        </li>
+        <li>{t('no-record.cannot-give-status.list.item-2')}</li>
+      </ul>
+      <p>{t('no-record.can-review')}</p>
+      <p>
+        <Trans
+          i18nKey={'no-record.contact-us'}
+          ns="status"
+          components={{
+            Link: (
+              <ExternalLink
+                href={t('status-check-contact.service-standard-href')}
+              />
+            ),
+            Link2: <ExternalLink href={t('common:contact-us-link')} />,
+          }}
+        />
+      </p>
+      <h2 className="h3 mb-2 mt-8">{t('no-record.need-faster')}</h2>
+      <p>
+        <Trans
+          i18nKey={'no-record.get-urgent'}
+          ns="status"
+          components={{
+            Link: (
+              <ExternalLink
+                href={t('status-check-urgent.express-services-href')}
+              />
+            ),
+          }}
+        />
+      </p>
+    </>
+  )
+}
+ 
+export default CheckStatusNoRecord
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/components/check-status-responses/CheckStatusNotAcceptable.tsx.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/check-status-responses/CheckStatusNotAcceptable.tsx.html new file mode 100644 index 000000000..fd67c4c7c --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/check-status-responses/CheckStatusNotAcceptable.tsx.html @@ -0,0 +1,184 @@ + + + + + + Code coverage report for src/components/check-status-responses/CheckStatusNotAcceptable.tsx + + + + + + + + + +
+
+

All files / src/components/check-status-responses CheckStatusNotAcceptable.tsx

+
+ +
+ 100% + Statements + 3/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 3/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34  +  +  +  +  +3x +2x +2x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { Trans, useTranslation } from 'next-i18next'
+ 
+import AlertBlock from '../AlertBlock'
+import ExternalLink from '../ExternalLink'
+ 
+export const CheckStatusNotAcceptable = () => {
+  const { t } = useTranslation(['status', 'common'])
+  return (
+    <>
+      <AlertBlock page="status-invalid" />
+      <h1
+        id="main-header"
+        data-testid="not-acceptable"
+        className="h1"
+        tabIndex={-1}
+      >
+        {t('not-acceptable.cannot-process')}
+      </h1>
+      <p>{t('not-acceptable.explanation')}</p>
+      <p>
+        <Trans
+          i18nKey="not-acceptable.contact-us"
+          ns="status"
+          components={{
+            Link: <ExternalLink href={t('common:contact-us-link')} />,
+          }}
+        />
+      </p>
+    </>
+  )
+}
+ 
+export default CheckStatusNotAcceptable
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/components/check-status-responses/CheckStatusPrinting.tsx.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/check-status-responses/CheckStatusPrinting.tsx.html new file mode 100644 index 000000000..acf2d61d4 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/check-status-responses/CheckStatusPrinting.tsx.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/components/check-status-responses/CheckStatusPrinting.tsx + + + + + + + + + +
+
+

All files / src/components/check-status-responses CheckStatusPrinting.tsx

+
+ +
+ 100% + Statements + 3/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 3/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20  +  +  +  +3x +2x +2x +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useTranslation } from 'next-i18next'
+ 
+import AlertBlock from '../AlertBlock'
+ 
+export const CheckStatusPrinting = () => {
+  const { t } = useTranslation('status')
+  return (
+    <>
+      <AlertBlock page="status-ready-pickup" />
+      <h1 id="main-header" data-testid="printing" className="h1" tabIndex={-1}>
+        {t('printing.in-printing')}
+      </h1>
+      <p>{t('printing.reviewed-printing')}</p>
+      <p>{t('printing.print-update')}</p>
+    </>
+  )
+}
+ 
+export default CheckStatusPrinting
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/components/check-status-responses/CheckStatusReadyForPickup.tsx.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/check-status-responses/CheckStatusReadyForPickup.tsx.html new file mode 100644 index 000000000..7126083d9 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/check-status-responses/CheckStatusReadyForPickup.tsx.html @@ -0,0 +1,187 @@ + + + + + + Code coverage report for src/components/check-status-responses/CheckStatusReadyForPickup.tsx + + + + + + + + + +
+
+

All files / src/components/check-status-responses CheckStatusReadyForPickup.tsx

+
+ +
+ 100% + Statements + 3/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 3/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35  +  +  +  +  +3x +2x +2x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useTranslation } from 'next-i18next'
+ 
+import AlertBlock from '../AlertBlock'
+import AlertSection from '../AlertSection'
+ 
+export const CheckStatusReadyForPickup = () => {
+  const { t } = useTranslation('status')
+  return (
+    <>
+      <AlertBlock page="status-ready-pickup" />
+      <h1
+        id="main-header"
+        data-testid="ready-for-pickup"
+        className="h1"
+        tabIndex={-1}
+      >
+        {t('ready-for-pickup.has-been-printed')}
+      </h1>
+      <p>{t('ready-for-pickup.has-been-printed')}</p>
+      <AlertSection type="success" className="mb-8">
+        <h2 data-testid="check-receipt" className="h2 mt-0">
+          {t('ready-for-pickup.check-receipt')}
+        </h2>
+        <p>{t('ready-for-pickup.receipt-details')}</p>
+      </AlertSection>
+      <p>{t('ready-for-pickup.not-available')}</p>
+      <AlertSection type="info">
+        <h2 className="h3 mb-2">{t('ready-for-pickup.date-passed')}</h2>
+      </AlertSection>
+    </>
+  )
+}
+ 
+export default CheckStatusReadyForPickup
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/components/check-status-responses/CheckStatusShippingCanadaPost.tsx.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/check-status-responses/CheckStatusShippingCanadaPost.tsx.html new file mode 100644 index 000000000..dc910c09f --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/check-status-responses/CheckStatusShippingCanadaPost.tsx.html @@ -0,0 +1,328 @@ + + + + + + Code coverage report for src/components/check-status-responses/CheckStatusShippingCanadaPost.tsx + + + + + + + + + +
+
+

All files / src/components/check-status-responses CheckStatusShippingCanadaPost.tsx

+
+ +
+ 33.33% + Statements + 1/3 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 33.33% + Lines + 1/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82  +  +  +  +  +  +  +  +  +  +2x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { Trans, useTranslation } from 'next-i18next'
+ 
+import AlertBlock from '../AlertBlock'
+import AlertSection from '../AlertSection'
+import ExternalLink from '../ExternalLink'
+ 
+export interface CheckStatusShippingCanadaPostProps {
+  trackingNumber?: string
+}
+ 
+export const CheckStatusShippingCanadaPost = ({
+  trackingNumber,
+}: CheckStatusShippingCanadaPostProps) => {
+  const { t } = useTranslation(['status', 'common'])
+ 
+  return (
+    <>
+      <AlertBlock page="status-shipped-canada" />
+      <h1
+        id="main-header"
+        data-testid="printed-and-mailed"
+        className="h1"
+        tabIndex={-1}
+      >
+        {t('shipped-canada-post.header')}
+      </h1>
+      <p>{t('shipped-canada-post.header')}.</p>
+      <AlertSection className="mb-4" type="success">
+        <h2 data-testid="shipped-canada-post" className="h2 mt-0">
+          {t('shipped-canada-post.mailing')}
+        </h2>
+        {trackingNumber ? (
+          <>
+            <p>
+              <Trans
+                i18nKey="status-check-tracking.number"
+                ns="status"
+                tOptions={{ trackingNumber }}
+              />
+            </p>
+            <p>
+              <Trans
+                i18nKey={'status-check-tracking.can-track'}
+                ns="status"
+                components={{
+                  Link: (
+                    <ExternalLink
+                      data-gc-analytics-exempt={true}
+                      href={t('status-check-tracking.link.canada-post', {
+                        trackingNumber: encodeURIComponent(trackingNumber),
+                      })}
+                    />
+                  ),
+                }}
+              />
+            </p>
+          </>
+        ) : (
+          <>
+            <p>{t('shipped-canada-post.take-up-to')}</p>
+            <p>{t('shipped-canada-post.remote-area')}</p>
+          </>
+        )}
+      </AlertSection>
+      <h2 className="h3 mb-2 mt-6">
+        {t('shipped-canada-post.supporting-documents')}
+      </h2>
+      <p>
+        <Trans
+          i18nKey="status-check-call"
+          ns="status"
+          components={{
+            Link: <ExternalLink href={t('common:contact-us-link')} />,
+          }}
+        />
+      </p>
+    </>
+  )
+}
+ 
+export default CheckStatusShippingCanadaPost
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/components/check-status-responses/CheckStatusShippingFedex.tsx.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/check-status-responses/CheckStatusShippingFedex.tsx.html new file mode 100644 index 000000000..02cf9032e --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/check-status-responses/CheckStatusShippingFedex.tsx.html @@ -0,0 +1,316 @@ + + + + + + Code coverage report for src/components/check-status-responses/CheckStatusShippingFedex.tsx + + + + + + + + + +
+
+

All files / src/components/check-status-responses CheckStatusShippingFedex.tsx

+
+ +
+ 100% + Statements + 3/3 +
+ + +
+ 50% + Branches + 1/2 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 3/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78  +  +  +  +  +  +  +  +  +  +3x +  +  +2x +2x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { Trans, useTranslation } from 'next-i18next'
+ 
+import AlertBlock from '../AlertBlock'
+import AlertSection from '../AlertSection'
+import ExternalLink from '../ExternalLink'
+ 
+export interface CheckStatusShippingFedexProps {
+  trackingNumber?: string
+}
+ 
+export const CheckStatusShippingFedex = ({
+  trackingNumber,
+}: CheckStatusShippingFedexProps) => {
+  const { t } = useTranslation(['status', 'common'])
+  return (
+    <>
+      <AlertBlock page="status-shipped-fedex" />
+      <h1
+        id="main-header"
+        data-testid="shipped-fedex"
+        className="h1"
+        tabIndex={-1}
+      >
+        {t('shipped-fedex.header')}
+      </h1>
+      <p>{t('shipped-fedex.header')}.</p>
+      <AlertSection type="success">
+        <h2 data-testid="shipped-fedex-mailing" className="h2 mt-0">
+          {t('shipped-fedex.mailing')}
+        </h2>
+        {trackingNumber ? (
+          <>
+            <p>
+              <Trans
+                i18nKey="status-check-tracking.number"
+                ns="status"
+                tOptions={{ trackingNumber }}
+              />
+            </p>
+            <p>
+              <Trans
+                i18nKey={'status-check-tracking.can-track'}
+                ns="status"
+                components={{
+                  Link: (
+                    <ExternalLink
+                      data-gc-analytics-exempt={true}
+                      href={t('status-check-tracking.link.fedex', {
+                        trackingNumber: encodeURIComponent(trackingNumber),
+                      })}
+                    />
+                  ),
+                }}
+              />
+            </p>
+          </>
+        ) : (
+          <p>{t('shipped-fedex.take-up-to')}</p>
+        )}
+      </AlertSection>
+      <h2 className="h3 mb-2 mt-6">
+        {t('shipped-fedex.supporting-documents')}
+      </h2>
+      <p>
+        <Trans
+          i18nKey="shipped-fedex.contact-us"
+          ns="status"
+          components={{
+            Link: <ExternalLink href={t('common:contact-us-link')} />,
+          }}
+        />
+      </p>
+    </>
+  )
+}
+ 
+export default CheckStatusShippingFedex
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/components/check-status-responses/index.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/check-status-responses/index.html new file mode 100644 index 000000000..0ee033884 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/check-status-responses/index.html @@ -0,0 +1,206 @@ + + + + + + Code coverage report for src/components/check-status-responses + + + + + + + + + +
+
+

All files src/components/check-status-responses

+
+ +
+ 90.47% + Statements + 19/21 +
+ + +
+ 25% + Branches + 1/4 +
+ + +
+ 85.71% + Functions + 6/7 +
+ + +
+ 90.47% + Lines + 19/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
CheckStatusFileBeingProcessed.tsx +
+
100%3/3100%0/0100%1/1100%3/3
CheckStatusNoRecord.tsx +
+
100%3/3100%0/0100%1/1100%3/3
CheckStatusNotAcceptable.tsx +
+
100%3/3100%0/0100%1/1100%3/3
CheckStatusPrinting.tsx +
+
100%3/3100%0/0100%1/1100%3/3
CheckStatusReadyForPickup.tsx +
+
100%3/3100%0/0100%1/1100%3/3
CheckStatusShippingCanadaPost.tsx +
+
33.33%1/30%0/20%0/133.33%1/3
CheckStatusShippingFedex.tsx +
+
100%3/350%1/2100%1/1100%3/3
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/components/error-pages/Error404Page.tsx.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/error-pages/Error404Page.tsx.html new file mode 100644 index 000000000..c77d4313b --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/error-pages/Error404Page.tsx.html @@ -0,0 +1,304 @@ + + + + + + Code coverage report for src/components/error-pages/Error404Page.tsx + + + + + + + + + +
+
+

All files / src/components/error-pages Error404Page.tsx

+
+ +
+ 100% + Statements + 2/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 2/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74  +  +  +  +  +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { NextSeo } from 'next-seo'
+import Link from 'next/link'
+ 
+import ErrorLayout from '../ErrorLayout'
+ 
+const Error404Page = () => {
+  return (
+    <ErrorLayout>
+      <NextSeo
+        description="Error message stating that the server is down, or the URL is incorrect or expired | Message d'erreur indiquant que le serveur est hors service, que l'URL est incorrecte ou qu'elle a expiré."
+        title="Not Found | Pas trouvé"
+        titleTemplate="%s - Canada.ca"
+      />
+      <h1 id="main-header" className="sr-only" lang="en" tabIndex={-1}>
+        Not Found
+      </h1>
+      <span className="sr-only">
+        {' '}
+        / <span lang="fr">Pas trouvé</span>
+      </span>
+      <div className="grid grid-cols-1 gap-4 lg:grid-cols-2 lg:gap-8">
+        <div lang="en">
+          <h2 className="h1">We couldn&#39;t find that Web page</h2>
+          <p className="h2">Error 404</p>
+          <p>
+            We&#39;re sorry you ended up here. Sometimes a page gets moved or
+            deleted, but hopefully we can help you find what you&#39;re looking
+            for. What next?
+          </p>
+          <ul className="list-disc space-y-2 pl-10">
+            <li>
+              Return to the{' '}
+              <Link href="/" locale="default">
+                home page
+              </Link>
+              ;
+            </li>
+            <li>
+              <a href="https://www.canada.ca/en/contact.html">Contact us</a> and
+              we&#39;ll help you out.
+            </li>
+          </ul>
+        </div>
+        <div lang="fr">
+          <h2 className="h1">Nous ne pouvons trouver cette page Web</h2>
+          <p className="h2">Erreur 404</p>
+          <p>
+            Nous sommes désolés que vous ayez abouti ici. Il arrive parfois
+            qu&#39;une page ait été déplacée ou supprimée. Heureusement, nous
+            pouvons vous aider à trouver ce que vous cherchez. Que faire?
+          </p>
+          <ul className="list-disc space-y-2 pl-10">
+            <li>
+              Retournez à la{' '}
+              <Link href="/" locale="default">
+                page d&#39;accueil
+              </Link>
+              ;
+            </li>
+            <li>
+              <a href="https://www.canada.ca/fr/contact.html">
+                Communiquez avec nous
+              </a>{' '}
+              pour obtenir de l&#39;aide.
+            </li>
+          </ul>
+        </div>
+      </div>
+    </ErrorLayout>
+  )
+}
+ 
+export default Error404Page
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/components/error-pages/ErrorPage.tsx.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/error-pages/ErrorPage.tsx.html new file mode 100644 index 000000000..d468ef5cf --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/error-pages/ErrorPage.tsx.html @@ -0,0 +1,373 @@ + + + + + + Code coverage report for src/components/error-pages/ErrorPage.tsx + + + + + + + + + +
+
+

All files / src/components/error-pages ErrorPage.tsx

+
+ +
+ 100% + Statements + 2/2 +
+ + +
+ 100% + Branches + 10/10 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 2/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97  +  +  +  +  +  +  +  +  +1x +2x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { NextSeo } from 'next-seo'
+import Link from 'next/link'
+ 
+import ErrorLayout from '../ErrorLayout'
+ 
+export interface ErrorPageProps {
+  statusCode?: number
+}
+ 
+const ErrorPage = ({ statusCode }: ErrorPageProps) => {
+  return (
+    <ErrorLayout>
+      <NextSeo
+        description="Error message stating that the server is down, or the URL is incorrect or expired | Message d'erreur indiquant que le serveur est hors service, que l'URL est incorrecte ou qu'elle a expiré."
+        title={
+          statusCode === 500
+            ? 'Internal Server Error | Erreur de serveur interne'
+            : 'Service Unavailable | Service indisponible'
+        }
+        titleTemplate="%s - Canada.ca"
+      />
+      <h1 id="main-header" className="sr-only" lang="en" tabIndex={-1}>
+        {statusCode === 500 ? 'Internal Server Error' : 'Service Unavailable'}
+      </h1>
+      <span className="sr-only">
+        {' '}
+        /{' '}
+        <span lang="fr">
+          {statusCode === 500
+            ? 'Erreur de serveur interne'
+            : 'Service indisponible'}
+        </span>
+      </span>
+      <div className="grid grid-cols-1 gap-4 lg:grid-cols-2 lg:gap-8">
+        <div lang="en">
+          <h2 className="h1">We&#39;re having a problem with that page</h2>
+          <p className="h2">
+            {statusCode ? `Error ${statusCode}` : 'An error occurred on client'}
+          </p>
+          <p>
+            We expect the problem to be fixed shortly. It&#39;s not your
+            computer or Internet connection but a problem with our website&#39;s
+            server. What next?
+          </p>
+          <ul className="mb-5 list-disc space-y-2 pl-10">
+            <li>Try refreshing the page or try again later;</li>
+            <li>
+              Return to the{' '}
+              <Link href="/" locale="default">
+                home page
+              </Link>
+              ;
+            </li>
+            <li>
+              <a href="https://www.canada.ca/en/contact.html">Contact us</a>
+              &nbsp;and we&#39;ll help you out
+            </li>
+          </ul>
+          <p>Thank you for your patience.</p>
+        </div>
+        <div lang="fr">
+          <h2 className="h1">Nous éprouvons des difficultés avec cette page</h2>
+          <p className="h2">
+            {statusCode
+              ? `Erreur ${statusCode}`
+              : 'Erreur produite sur le client'}
+          </p>
+          <p>
+            Nous espérons résoudre le problème sous peu. Il ne s&#39;agit pas
+            d&#39;un problème avec votre ordinateur ou Internet, mais plutôt
+            avec le serveur de notre site Web. Que faire?
+          </p>
+          <ul className="mb-5 list-disc space-y-2 pl-10">
+            <li>Actualisez la page ou réessayez plus tard;</li>
+            <li>
+              Retournez à la{' '}
+              <Link href="/" locale="default">
+                page d&#39;accueil
+              </Link>
+              ;
+            </li>
+            <li>
+              <a href="https://www.canada.ca/fr/contact.html">
+                Communiquez avec nous
+              </a>{' '}
+              pour obtenir de l&#39;aide.
+            </li>
+          </ul>
+          <p>Merci de votre patience.</p>
+        </div>
+      </div>
+    </ErrorLayout>
+  )
+}
+ 
+export default ErrorPage
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/components/error-pages/index.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/error-pages/index.html new file mode 100644 index 000000000..00f5c5872 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/error-pages/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for src/components/error-pages + + + + + + + + + +
+
+

All files src/components/error-pages

+
+ +
+ 100% + Statements + 4/4 +
+ + +
+ 100% + Branches + 10/10 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 4/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
Error404Page.tsx +
+
100%2/2100%0/0100%1/1100%2/2
ErrorPage.tsx +
+
100%2/2100%10/10100%1/1100%2/2
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/components/index.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/index.html new file mode 100644 index 000000000..800edc684 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/components/index.html @@ -0,0 +1,476 @@ + + + + + + Code coverage report for src/components + + + + + + + + + +
+
+

All files src/components

+
+ +
+ 81.17% + Statements + 194/239 +
+ + +
+ 61.58% + Branches + 93/151 +
+ + +
+ 78.78% + Functions + 52/66 +
+ + +
+ 81.54% + Lines + 190/233 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
ActionButton.tsx +
+
100%9/966.66%4/6100%1/1100%9/9
AlertBlock.tsx +
+
66.66%4/633.33%2/650%1/266.66%4/6
AlertSection.tsx +
+
83.33%10/1233.33%6/18100%2/283.33%10/12
ApplicationNameBar.tsx +
+
100%2/2100%0/0100%1/1100%2/2
Banner.tsx +
+
100%2/2100%0/0100%1/1100%2/2
CheckStatusInfo.tsx +
+
29.41%5/1714.28%1/7100%1/129.41%5/17
Collapse.tsx +
+
100%4/4100%1/1100%1/1100%4/4
DateModified.tsx +
+
100%3/3100%0/0100%1/1100%3/3
DateSelect.tsx +
+
80%4/566.66%4/666.66%2/380%4/5
DateSelectField.tsx +
+
79.16%57/7242.85%18/4283.33%15/1879.71%55/69
ErrorLayout.tsx +
+
100%2/2100%0/0100%1/1100%2/2
ErrorSummary.tsx +
+
73.33%11/15100%0/050%4/873.33%11/15
ExampleImage.tsx +
+
100%2/2100%2/2100%1/1100%2/2
ExternalLink.tsx +
+
100%3/3100%0/0100%1/1100%3/3
FieldSetLegend.tsx +
+
100%2/2100%2/2100%1/1100%2/2
Footer.tsx +
+
100%3/3100%0/0100%2/2100%3/3
Header.tsx +
+
100%9/9100%16/16100%1/1100%9/9
IdleTimeout.tsx +
+
76.19%16/21100%8/857.14%4/776.19%16/21
InputErrorMessage.tsx +
+
100%2/2100%0/0100%1/1100%2/2
InputField.tsx +
+
94.11%16/1786.36%19/22100%2/2100%14/14
InputLabel.tsx +
+
100%2/250%1/2100%1/1100%2/2
Layout.tsx +
+
100%3/3100%0/0100%1/1100%3/3
LinkButton.tsx +
+
100%8/880%8/10100%1/1100%8/8
MarkdownContent.tsx +
+
50%2/40%0/10%0/250%2/4
Modal.tsx +
+
92.85%13/1450%1/2100%5/592.85%13/14
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/index.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/index.html new file mode 100644 index 000000000..880c08d46 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for src + + + + + + + + + +
+
+

All files src

+
+ +
+ 60% + Statements + 21/35 +
+ + +
+ 30.76% + Branches + 8/26 +
+ + +
+ 85.71% + Functions + 6/7 +
+ + +
+ 50% + Lines + 14/28 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
middleware.ts +
+
0%0/140%0/180%0/10%0/14
next-seo.config.ts +
+
100%21/21100%8/8100%6/6100%14/14
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/lib/index.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/lib/index.html new file mode 100644 index 000000000..532379970 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/lib/index.html @@ -0,0 +1,176 @@ + + + + + + Code coverage report for src/lib + + + + + + + + + +
+
+

All files src/lib

+
+ +
+ 3.22% + Statements + 1/31 +
+ + +
+ 0% + Branches + 0/22 +
+ + +
+ 0% + Functions + 0/9 +
+ + +
+ 3.7% + Lines + 1/27 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
removeCheckStatus.ts +
+
50%1/2100%0/00%0/150%1/2
types.ts +
+
0%0/00%0/00%0/00%0/0
useAlerts.ts +
+
0%0/120%0/100%0/30%0/10
useCheckStatus.ts +
+
0%0/120%0/80%0/30%0/10
useEmailEsrf.ts +
+
0%0/50%0/40%0/20%0/5
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/lib/mappers/checkStatusApiResponseMapper.ts.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/lib/mappers/checkStatusApiResponseMapper.ts.html new file mode 100644 index 000000000..ad07e6eea --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/lib/mappers/checkStatusApiResponseMapper.ts.html @@ -0,0 +1,196 @@ + + + + + + Code coverage report for src/lib/mappers/checkStatusApiResponseMapper.ts + + + + + + + + + +
+
+

All files / src/lib/mappers checkStatusApiResponseMapper.ts

+
+ +
+ 40% + Statements + 2/5 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 40% + Lines + 2/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  + 
import {
+  CheckStatusApiResponse,
+  PassportStatusesCertificateApplicationIdentification,
+  PassportStatusesGetCertificateApplicationResponse,
+} from '../types'
+ 
+/**
+ * Map passport status object returned by the API to the client
+ * filter external API fields
+ * @param getCertificateApplicationResponse Passport status object returned by the API
+ * @returns Frontend check status object
+ */
+export const mapToCheckStatusApiResponse = (
+  getCertificateApplicationResponse: PassportStatusesGetCertificateApplicationResponse,
+): CheckStatusApiResponse => ({
+  manifestNumber: getManifestNumber(
+    getCertificateApplicationResponse.CertificateApplication
+      .CertificateApplicationIdentification,
+  ),
+  status:
+    getCertificateApplicationResponse.CertificateApplication
+      .CertificateApplicationStatus.StatusCode,
+})
+ 
+/**
+ * Returns the manifest number (aka parcel tracking system number) of the first element
+ * where category text is equals to "Manifest Number", and undefined otherwise
+ */
+export const getManifestNumber = (
+  identifications?: PassportStatusesCertificateApplicationIdentification[],
+): string | undefined => {
+  return identifications?.find(
+    (x) =>
+      x.IdentificationCategoryText.toLowerCase() ===
+      'Manifest Number'.toLowerCase(),
+  )?.IdentificationID
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/lib/mappers/index.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/lib/mappers/index.html new file mode 100644 index 000000000..9754a1402 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/lib/mappers/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for src/lib/mappers + + + + + + + + + +
+
+

All files src/lib/mappers

+
+ +
+ 40% + Statements + 2/5 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 40% + Lines + 2/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
checkStatusApiResponseMapper.ts +
+
40%2/5100%0/00%0/340%2/5
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/lib/removeCheckStatus.ts.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/lib/removeCheckStatus.ts.html new file mode 100644 index 000000000..36062bd62 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/lib/removeCheckStatus.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/lib/removeCheckStatus.ts + + + + + + + + + +
+
+

All files / src/lib removeCheckStatus.ts

+
+ +
+ 50% + Statements + 1/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 50% + Lines + 1/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8  +  +1x +  +  +  +  + 
import { QueryClient } from '@tanstack/react-query'
+ 
+export const removeCheckStatus = (queryClient: QueryClient) => {
+  queryClient.removeQueries({
+    queryKey: ['ps:api:check-status'],
+  })
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/lib/types.ts.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/lib/types.ts.html new file mode 100644 index 000000000..e582a631f --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/lib/types.ts.html @@ -0,0 +1,394 @@ + + + + + + Code coverage report for src/lib/types.ts + + + + + + + + + +
+
+

All files / src/lib types.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
export type AdobeDataLayer = { push?: (object: Record<string, string>) => void }
+export type AppWindow = Window &
+  typeof globalThis & { adobeDataLayer?: AdobeDataLayer }
+ 
+export type AlertPage =
+  | 'email'
+  | 'expectations'
+  | 'landing'
+  | 'status'
+  | 'status-not-found'
+  | 'status-invalid'
+  | 'status-processing'
+  | 'status-ready-pickup'
+  | 'status-shipped-canada'
+  | 'status-shipped-fedex'
+ 
+export type AlertType = 'danger' | 'info' | 'warning' | 'success'
+ 
+export interface AlertApiRequestQuery {
+  page?: AlertPage
+}
+ 
+export interface AlertJsonResponse {
+  jsonAlerts: AlertMeta[]
+}
+ 
+export interface Alert {
+  uid: string
+  textEn: string
+  textFr: string
+  type: AlertType
+}
+ 
+export interface AlertMeta extends Alert {
+  pages?: AlertPage[]
+  validFrom: Date
+  validTo: Date
+}
+ 
+export interface CheckStatusApiRequestQuery {
+  dateOfBirth: string
+  esrf: string
+  givenName: string
+  surname: string
+}
+ 
+export interface CheckStatusApiResponse {
+  manifestNumber?: string
+  status: string
+}
+ 
+export interface EmailEsrfApiRequestBody {
+  dateOfBirth: string
+  email: string
+  givenName: string
+  locale: string
+  surname: string
+}
+ 
+export interface HealthApiResponse {
+  adobeAnalyticsScriptSrc: string | null
+  appBaseUri: string | null
+  buildDate: string | null
+  environment: string | null
+  loggingLevel: string | null
+  status: string
+  uptime: string
+}
+ 
+export interface PassportStatusesSearchResult {
+  _embedded: {
+    GetCertificateApplicationResponse: PassportStatusesGetCertificateApplicationResponse[]
+  }
+}
+ 
+export interface PassportStatusesGetCertificateApplicationResponse {
+  id: string
+  CertificateApplication: PassportStatusesCertificateApplication
+}
+ 
+export interface PassportStatusesCertificateApplication {
+  CertificateApplicationIdentification: PassportStatusesCertificateApplicationIdentification[]
+  CertificateApplicationStatus: PassportStatusesCertificateApplicationStatus
+}
+ 
+export interface PassportStatusesCertificateApplicationIdentification {
+  IdentificationCategoryText: string
+  IdentificationID: string
+}
+ 
+export interface PassportStatusesCertificateApplicationStatus {
+  StatusCode: string
+}
+ 
+export enum StatusCode {
+  APPLICATION_NO_LONGER_MEETS_CRITERIA = '99',
+  FILE_BEING_PROCESSED = '1',
+  PASSPORT_ISSUED_READY_FOR_PICKUP = '2',
+  PASSPORT_ISSUED_SHIPPING_CANADA_POST = '3',
+  PASSPORT_ISSUED_SHIPPING_FEDEX = '4',
+  NOT_ACCEPTABLE_FOR_PROCESSING = '5',
+  PASSPORT_IS_PRINTING = '6',
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/lib/useAlerts.ts.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/lib/useAlerts.ts.html new file mode 100644 index 000000000..14d72eecb --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/lib/useAlerts.ts.html @@ -0,0 +1,190 @@ + + + + + + Code coverage report for src/lib/useAlerts.ts + + + + + + + + + +
+
+

All files / src/lib useAlerts.ts

+
+ +
+ 0% + Statements + 0/12 +
+ + +
+ 0% + Branches + 0/10 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { UseQueryOptions, useQuery } from '@tanstack/react-query'
+import { ApiError } from 'next/dist/server/api-utils'
+ 
+import { Alert, AlertApiRequestQuery } from './types'
+ 
+export const fetchAlerts = async (
+  alertQuery: AlertApiRequestQuery,
+  init?: RequestInit,
+): Promise<Alert[] | null> => {
+  const query = new URLSearchParams({ ...alertQuery }).toString()
+  let uri = alertQuery.page ? `/api/alerts?${query}` : `/api/alerts`
+ 
+  const response = await fetch(uri, {
+    ...(init ?? {}),
+    headers: { 'Cache-Control': 'max-age=600' },
+  })
+ 
+  if (response.ok) return response.json()
+  if (response.status === 404) return null
+  throw new ApiError(response.status, response.statusText)
+}
+ 
+export const useAlerts = (
+  alertQuery: AlertApiRequestQuery,
+  queryOptions?: Omit<
+    UseQueryOptions<Alert[] | null, ApiError, Alert[] | null>,
+    'queryKey' | 'queryFn'
+  >,
+) => {
+  return useQuery<Alert[] | null, ApiError, Alert[] | null>({
+    ...(queryOptions ?? {}),
+    queryKey: ['ps:api:alerts', alertQuery],
+    queryFn: ({ signal }) => fetchAlerts(alertQuery, { signal }),
+  })
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/lib/useCheckStatus.ts.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/lib/useCheckStatus.ts.html new file mode 100644 index 000000000..965060706 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/lib/useCheckStatus.ts.html @@ -0,0 +1,226 @@ + + + + + + Code coverage report for src/lib/useCheckStatus.ts + + + + + + + + + +
+
+

All files / src/lib useCheckStatus.ts

+
+ +
+ 0% + Statements + 0/12 +
+ + +
+ 0% + Branches + 0/8 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 0% + Lines + 0/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { UseQueryOptions, useQuery } from '@tanstack/react-query'
+import { ApiError } from 'next/dist/server/api-utils'
+ 
+import { CheckStatusApiRequestQuery, CheckStatusApiResponse } from './types'
+ 
+export const fetchCheckStatus = async (
+  checkStatusApiRequestQuery: CheckStatusApiRequestQuery,
+  init?: RequestInit,
+): Promise<CheckStatusApiResponse | null> => {
+  const query = new URLSearchParams({
+    ...checkStatusApiRequestQuery,
+  }).toString()
+  const response = await fetch('/api/check-status?' + query, init)
+  if (response.ok) return response.json()
+  if (response.status === 404) return null
+  throw new ApiError(response.status, response.statusText)
+}
+ 
+export const useCheckStatus = (
+  checkStatusApiRequestQuery: CheckStatusApiRequestQuery,
+  queryOptions?: Omit<
+    UseQueryOptions<
+      CheckStatusApiResponse | null,
+      ApiError,
+      CheckStatusApiResponse | null
+    >,
+    'queryKey' | 'queryFn'
+  >,
+) => {
+  const query = useQuery<
+    CheckStatusApiResponse | null,
+    ApiError,
+    CheckStatusApiResponse | null
+  >({
+    ...(queryOptions ?? {}),
+    queryKey: ['ps:api:check-status', checkStatusApiRequestQuery],
+    queryFn: ({ signal }) =>
+      fetchCheckStatus(checkStatusApiRequestQuery, { signal }),
+  })
+ 
+  // fix isPending with disabled: false
+  // see: https://github.com/TanStack/query/issues/3584#issuecomment-1256986636
+  return {
+    ...query,
+    isPending: query.isPending && query.fetchStatus !== 'idle',
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/lib/useEmailEsrf.ts.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/lib/useEmailEsrf.ts.html new file mode 100644 index 000000000..e138ff68a --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/lib/useEmailEsrf.ts.html @@ -0,0 +1,175 @@ + + + + + + Code coverage report for src/lib/useEmailEsrf.ts + + + + + + + + + +
+
+

All files / src/lib useEmailEsrf.ts

+
+ +
+ 0% + Statements + 0/5 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { UseMutationOptions, useMutation } from '@tanstack/react-query'
+import { ApiError } from 'next/dist/server/api-utils'
+ 
+import { EmailEsrfApiRequestBody } from './types'
+ 
+const useEmailEsrf = (
+  options?: Omit<
+    UseMutationOptions<void, ApiError, EmailEsrfApiRequestBody>,
+    'mutationFn'
+  >,
+) => {
+  return useMutation<void, ApiError, EmailEsrfApiRequestBody>({
+    ...(options ?? {}),
+    mutationFn: async (body) => {
+      const response = await fetch('/api/email-esrf', {
+        method: 'POST',
+        headers: {
+          'Content-Type': 'application/json',
+        },
+        body: JSON.stringify(body),
+      })
+ 
+      if (!response.ok) {
+        throw new ApiError(response.status, response.statusText)
+      }
+    },
+  })
+}
+ 
+export default useEmailEsrf
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/lib/utils/fonts.ts.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/lib/utils/fonts.ts.html new file mode 100644 index 000000000..53c259a6d --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/lib/utils/fonts.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/lib/utils/fonts.ts + + + + + + + + + +
+
+

All files / src/lib/utils fonts.ts

+
+ +
+ 0% + Statements + 0/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { Lato, Noto_Sans } from 'next/font/google'
+ 
+export const lato = Lato({
+  display: 'swap',
+  subsets: ['latin'],
+  weight: ['400', '700'],
+  variable: '--font-lato',
+})
+ 
+export const notoSans = Noto_Sans({
+  display: 'swap',
+  subsets: ['latin'],
+  weight: ['400', '700'],
+  variable: '--font-noto-sans',
+})
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/lib/utils/index.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/lib/utils/index.html new file mode 100644 index 000000000..71e4a8d81 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/lib/utils/index.html @@ -0,0 +1,146 @@ + + + + + + Code coverage report for src/lib/utils + + + + + + + + + +
+
+

All files src/lib/utils

+
+ +
+ 33.33% + Statements + 5/15 +
+ + +
+ 0% + Branches + 0/8 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 28.57% + Lines + 4/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
fonts.ts +
+
0%0/2100%0/0100%0/00%0/2
next-i18next-utils.ts +
+
27.27%3/110%0/80%0/227.27%3/11
seo-utils.ts +
+
100%2/2100%0/0100%1/1100%1/1
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/lib/utils/next-i18next-utils.ts.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/lib/utils/next-i18next-utils.ts.html new file mode 100644 index 000000000..6b6c5918b --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/lib/utils/next-i18next-utils.ts.html @@ -0,0 +1,253 @@ + + + + + + Code coverage report for src/lib/utils/next-i18next-utils.ts + + + + + + + + + +
+
+

All files / src/lib/utils next-i18next-utils.ts

+
+ +
+ 27.27% + Statements + 3/11 +
+ + +
+ 0% + Branches + 0/8 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 27.27% + Lines + 3/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57  +  +  +  +  +  +  +  +4x +  +  +  +  +  +  +  +4x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +4x +  +  +  +  +  +  +  +  +  +  +  +  + 
import { FlatNamespace } from 'i18next'
+import { serverSideTranslations } from 'next-i18next/serverSideTranslations'
+ 
+import nextI18nextConfig from '../../../next-i18next.config'
+ 
+/**
+ * The default namespaces for translations.
+ */
+export const defaultNamespaces: Array<FlatNamespace> = ['common']
+ 
+/**
+ * Retrieves namespaces based on the provided requirements.
+ * Note: The namespace from {@link defaultNamespaces} will always be added.
+ * @param namespacesRequired The namespaces required.
+ * @returns The retrieved namespaces.
+ */
+export const getNamespaces = (
+  namespacesRequired:
+    | Readonly<FlatNamespace>
+    | ReadonlyArray<FlatNamespace>
+    | undefined = undefined,
+) => {
+  // default with namespaces to always needed
+  const namespaces: Array<FlatNamespace> = defaultNamespaces
+ 
+  if (!namespacesRequired) {
+    return namespaces
+  }
+ 
+  if (typeof namespacesRequired === 'string') {
+    return [...new Set([...namespaces, namespacesRequired])]
+  }
+ 
+  namespacesRequired
+  return [...new Set([...namespaces, ...namespacesRequired])]
+}
+ 
+/**
+ * A wrapper function for server-side translations using next-i18next.
+ * @param locale - The locale to use for translations. If not provided, the default locale specified in `nextI18nextConfig` will be used.
+ * @param namespacesRequired - The namespaces required for translations. It can be a single `FlatNamespace` or an array of `FlatNamespace`. If not provided, {@link defaultNamespaces} will be used.
+ * @returns {Promise<object>} - A Promise that resolves to an object containing the translations for the specified locale and namespaces.
+ */
+export const pageWithServerSideTranslations = async (
+  locale?: string,
+  namespacesRequired:
+    | FlatNamespace
+    | Array<FlatNamespace>
+    | undefined = undefined,
+) => {
+  return serverSideTranslations(
+    locale ?? nextI18nextConfig.i18n.defaultLocale,
+    getNamespaces(namespacesRequired),
+    nextI18nextConfig,
+  )
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/lib/utils/seo-utils.ts.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/lib/utils/seo-utils.ts.html new file mode 100644 index 000000000..5915cd02a --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/lib/utils/seo-utils.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/lib/utils/seo-utils.ts + + + + + + + + + +
+
+

All files / src/lib/utils seo-utils.ts

+
+ +
+ 100% + Statements + 2/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 1/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9  +  +  +  +9x +  +  +  + 
import { MetaTag } from 'next-seo/lib/types'
+ 
+export type GetDCTermsTitle = (content: string) => MetaTag
+ 
+export const getDCTermsTitle: GetDCTermsTitle = (content) => ({
+  name: 'dcterms.title',
+  content,
+})
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/logging/index.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/logging/index.html new file mode 100644 index 000000000..9f12a29ca --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/logging/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for src/logging + + + + + + + + + +
+
+

All files src/logging

+
+ +
+ 87.5% + Statements + 7/8 +
+ + +
+ 80% + Branches + 4/5 +
+ + +
+ 100% + Functions + 3/3 +
+ + +
+ 100% + Lines + 7/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
log-level.ts +
+
80%4/550%1/2100%1/1100%4/4
log-util.ts +
+
100%3/3100%3/3100%2/2100%3/3
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/logging/log-level.ts.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/logging/log-level.ts.html new file mode 100644 index 000000000..bc0d8bb3e --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/logging/log-level.ts.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/logging/log-level.ts + + + + + + + + + +
+
+

All files / src/logging log-level.ts

+
+ +
+ 80% + Statements + 4/5 +
+ + +
+ 50% + Branches + 1/2 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 4/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15  +  +2x +  +2x +2x +  +  +2x +  +  +  +  +  + 
import getConfig from 'next/config'
+ 
+export const getLoggingLevelConfig = () => {
+  // middleware can only read from process.env
+  Iif (process.env.LOGGING_LEVEL) return process.env.LOGGING_LEVEL
+  return getConfig()?.publicRuntimeConfig?.loggingLevel
+}
+ 
+export const logLevelData = {
+  '*': getLoggingLevelConfig(),
+  //   'middleware': ''
+  //   'home': 'info',
+  //   'app': 'debug',
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/logging/log-util.ts.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/logging/log-util.ts.html new file mode 100644 index 000000000..91f3a26ff --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/logging/log-util.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/logging/log-util.ts + + + + + + + + + +
+
+

All files / src/logging log-util.ts

+
+ +
+ 100% + Statements + 3/3 +
+ + +
+ 100% + Branches + 3/3 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 3/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20  +  +  +  +2x +  +  +  +  +2x +  +  +  +2x +  +  +  +  +  + 
import pino, { Logger, stdTimeFunctions } from 'pino'
+ 
+import { logLevelData } from './log-level'
+ 
+const logLevels = new Map<string, string | undefined>(
+  Object.entries(logLevelData),
+)
+ 
+export function getLogLevel(logger: string): string {
+  return logLevels.get(logger) ?? logLevels.get('*') ?? 'info'
+}
+ 
+export function getLogger(name: string): Logger {
+  return pino({
+    name,
+    level: getLogLevel(name),
+    timestamp: stdTimeFunctions.isoTime,
+  })
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/middleware.ts.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/middleware.ts.html new file mode 100644 index 000000000..2ac4d8740 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/middleware.ts.html @@ -0,0 +1,205 @@ + + + + + + Code coverage report for src/middleware.ts + + + + + + + + + +
+
+

All files / src middleware.ts

+
+ +
+ 0% + Statements + 0/14 +
+ + +
+ 0% + Branches + 0/18 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { NextRequest, NextResponse } from 'next/server'
+ 
+import { getLogger } from './logging/log-util'
+ 
+//regex to check if there's an extension in the path, ie .jpg
+const PUBLIC_FILE = /\.(.*)$/
+const logger = getLogger('middleware')
+ 
+export async function middleware(req: NextRequest) {
+  const { cookies, nextUrl, url } = req
+  const { locale, pathname } = nextUrl
+ 
+  if (
+    pathname.startsWith('/_next') ||
+    pathname.includes('/api/') ||
+    PUBLIC_FILE.test(pathname)
+  ) {
+    return NextResponse.next()
+  }
+ 
+  logger.debug(req)
+ 
+  if (locale === 'default' && !pathname.endsWith('/')) {
+    return NextResponse.redirect(new URL(`/en${pathname}`, url))
+  }
+ 
+  //Redirect for index page as it's meant to be bilingual so we don't want users navigating to /en or /fr
+  if ((locale === 'en' || locale === 'fr') && pathname === '/') {
+    return NextResponse.redirect(new URL(`/`, url))
+  }
+ 
+  if (
+    !['/', '/expectations'].includes(pathname) &&
+    cookies.get('agreed-to-email-esrf-terms')?.value !== 'true'
+  ) {
+    return NextResponse.redirect(new URL(`/${locale}/expectations`, url))
+  }
+ 
+  return NextResponse.next()
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/next-seo.config.ts.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/next-seo.config.ts.html new file mode 100644 index 000000000..fdea13801 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/next-seo.config.ts.html @@ -0,0 +1,628 @@ + + + + + + Code coverage report for src/next-seo.config.ts + + + + + + + + + +
+
+

All files / src next-seo.config.ts

+
+ +
+ 100% + Statements + 21/21 +
+ + +
+ 100% + Branches + 8/8 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 100% + Lines + 14/14 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182  +  +  +  +  +  +  +  +  +  +  +2x +  +  +  +7x +4x +  +  +  +  +  +  +  +  +  +  +  +2x +  +  +7x +4x +  +  +  +  +  +  +  +  +  +  +  +  +  +3x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +2x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +2x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +2x +5x +5x +4x +3x +  + 
import { DefaultSeoProps } from 'next-seo'
+import { OpenGraphMedia } from 'next-seo/lib/types'
+import { Router } from 'next/router'
+ 
+export type NextSEORouter = Pick<Router, 'asPath' | 'locale'>
+ 
+export interface LanguageAlternate {
+  hrefLang: string
+  href: string
+}
+ 
+export const getLanguageAlternates = (
+  appBaseUri: string,
+  router: NextSEORouter,
+): ReadonlyArray<LanguageAlternate> | undefined => {
+  if (!appBaseUri) return
+  return [
+    {
+      hrefLang: 'en',
+      href: `${appBaseUri}/en${router.asPath}`,
+    },
+    {
+      hrefLang: 'fr',
+      href: `${appBaseUri}/fr${router.asPath}`,
+    },
+  ]
+}
+ 
+export const getOpenGraphImages = (
+  appBaseUri: string,
+): ReadonlyArray<OpenGraphMedia> | undefined => {
+  if (!appBaseUri) return
+  return [
+    {
+      url: `${appBaseUri}/ogp.jpg`,
+      width: 2048,
+      height: 1152,
+    },
+  ]
+}
+ 
+export type GetNextSEOConfig = (
+  appBaseUri: string,
+  router: NextSEORouter,
+) => DefaultSeoProps
+ 
+export const getDefaultConfig: GetNextSEOConfig = (appBaseUri, router) => ({
+  titleTemplate: '%s - Canada.ca',
+  defaultTitle:
+    "Passport Application Status Checker | Vérificateur de l'état d'une demande de passeport - Canada.ca",
+  additionalMetaTags: [
+    {
+      name: 'author',
+      content: 'Employment and Social Development Canada',
+    },
+    {
+      name: 'author',
+      keyOverride: 'author:fr',
+      lang: 'fr',
+      content: 'Emploi et Développement social Canada',
+    },
+    { name: 'dcterms.accessRights', content: '2' },
+    {
+      name: 'dcterms.creator',
+      content: 'Employment and Social Development Canada',
+    },
+    {
+      name: 'dcterms.creator',
+      keyOverride: 'dcterms.creator:fr',
+      lang: 'fr',
+      content: 'Emploi et Développement social Canada',
+    },
+    { name: 'dcterms.language', content: 'eng' },
+    {
+      name: 'dcterms.language',
+      keyOverride: 'dcterms.language:fr',
+      lang: 'fr',
+      content: 'fra',
+    },
+    { name: 'dcterms.service', content: 'ESDC-EDSC_PASC-VEDP' },
+    { name: 'dcterms.spatial', content: 'Canada' },
+    {
+      name: 'dcterms.subject',
+      content: 'Travel and Tourism',
+    },
+    {
+      name: 'dcterms.subject',
+      keyOverride: 'dcterms.subject:fr',
+      lang: 'fr',
+      content: 'Voyage et tourisme',
+    },
+  ],
+  languageAlternates: getLanguageAlternates(appBaseUri, router),
+  openGraph: {
+    images: getOpenGraphImages(appBaseUri),
+    locale: 'en_CA',
+    siteName:
+      "Passport Application Status Checker | Vérificateur de l'état d'une demande de passeport - Canada.ca",
+    type: 'website',
+  },
+  twitter: {
+    site: '@CitImmCanada',
+    cardType: 'summary_large_image',
+  },
+})
+ 
+export const getEnglishConfig: GetNextSEOConfig = (appBaseUri, router) => ({
+  titleTemplate: '%s - Passport Application Status Checker - Canada.ca',
+  defaultTitle: 'Passport Application Status Checker - Canada.ca',
+  additionalMetaTags: [
+    {
+      name: 'author',
+      content: 'Employment and Social Development Canada',
+    },
+    { name: 'dcterms.accessRights', content: '2' },
+    {
+      name: 'dcterms.creator',
+      content: 'Employment and Social Development Canada',
+    },
+    { name: 'dcterms.language', content: 'eng' },
+    { name: 'dcterms.service', content: 'ESDC-EDSC_PASC-VEDP' },
+    { name: 'dcterms.spatial', content: 'Canada' },
+    {
+      name: 'dcterms.subject',
+      content: 'Travel and Tourism',
+    },
+  ],
+  languageAlternates: getLanguageAlternates(appBaseUri, router),
+  openGraph: {
+    images: getOpenGraphImages(appBaseUri),
+    locale: 'en_CA',
+    siteName: 'Passport Application Status Checker - Canada.ca',
+    type: 'website',
+  },
+  twitter: {
+    site: '@CitImmCanada',
+    cardType: 'summary_large_image',
+  },
+})
+ 
+export const getFrenchConfig: GetNextSEOConfig = (appBaseUri, router) => ({
+  titleTemplate:
+    "%s - Vérificateur de l'état d'une demande de passeport - Canada.ca",
+  defaultTitle: "Vérificateur de l'état d'une demande de passeport - Canada.ca",
+  additionalMetaTags: [
+    {
+      name: 'author',
+      content: 'Emploi et Développement social Canada',
+    },
+    { name: 'dcterms.accessRights', content: '2' },
+    {
+      name: 'dcterms.creator',
+      content: 'Emploi et Développement social Canada',
+    },
+    { name: 'dcterms.language', content: 'fra' },
+    { name: 'dcterms.service', content: 'ESDC-EDSC_PASC-VEDP' },
+    { name: 'dcterms.spatial', content: 'Canada' },
+    {
+      name: 'dcterms.subject',
+      content: 'Voyage et tourisme',
+    },
+  ],
+  languageAlternates: getLanguageAlternates(appBaseUri, router),
+  openGraph: {
+    images: getOpenGraphImages(appBaseUri),
+    locale: 'fr_CA',
+    siteName: "Vérificateur de l'état d'une demande de passeport - Canada.ca",
+    type: 'website',
+  },
+  twitter: {
+    site: '@citimmcanfr',
+    cardType: 'summary_large_image',
+  },
+})
+ 
+export const getNextSEOConfig: GetNextSEOConfig = (appBaseUri, router) => {
+  const { locale } = router
+  if (locale === 'en') return getEnglishConfig(appBaseUri, router)
+  if (locale === 'fr') return getFrenchConfig(appBaseUri, router)
+  return getDefaultConfig(appBaseUri, router)
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/pages/_app.tsx.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/pages/_app.tsx.html new file mode 100644 index 000000000..28cd7a1a8 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/pages/_app.tsx.html @@ -0,0 +1,346 @@ + + + + + + Code coverage report for src/pages/_app.tsx + + + + + + + + + +
+
+

All files / src/pages _app.tsx

+
+ +
+ 100% + Statements + 19/19 +
+ + +
+ 100% + Branches + 4/4 +
+ + +
+ 100% + Functions + 4/4 +
+ + +
+ 100% + Lines + 19/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +1x +  +1x +2x +  +2x +2x +2x +  +  +  +  +2x +2x +  +2x +1x +1x +  +  +  +2x +2x +2x +2x +2x +2x +  +  +  +2x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { useEffect } from 'react'
+ 
+import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
+import { appWithTranslation } from 'next-i18next'
+import { DefaultSeo } from 'next-seo'
+import { AppProps } from 'next/app'
+import getConfig from 'next/config'
+import Head from 'next/head'
+import Script from 'next/script'
+ 
+import nextI18NextConfig from '../../next-i18next.config.js'
+import { AppWindow } from '../lib/types'
+import { lato, notoSans } from '../lib/utils/fonts'
+import { getNextSEOConfig } from '../next-seo.config'
+import '../styles/globals.css'
+ 
+// Create a react-query client
+const queryClient = new QueryClient({
+  defaultOptions: { queries: { refetchOnWindowFocus: false } },
+})
+ 
+// help to prevent double firing of adobe analytics pageLoad event
+let appPreviousLocationPathname = ''
+ 
+const MyApp = ({ Component, pageProps, router }: AppProps) => {
+  const config = getConfig()
+  const adobeAnalyticsScriptSrc =
+    config?.publicRuntimeConfig?.adobeAnalyticsScriptSrc
+  const appBaseUri = config?.publicRuntimeConfig?.appBaseUri
+  const nextSEOConfig = getNextSEOConfig(appBaseUri, router)
+ 
+  /** Web Analytics - taken from Google Analytics example
+   *  @see https://github.com/vercel/next.js/blob/canary/examples/with-google-analytics
+   * */
+  useEffect(() => {
+    const handleRouteChange = () => {
+      // only push event if pathname is different
+      if (window.location.pathname !== appPreviousLocationPathname) {
+        ;(window as AppWindow).adobeDataLayer?.push?.({ event: 'pageLoad' })
+        appPreviousLocationPathname = window.location.pathname
+      }
+    }
+ 
+    handleRouteChange()
+    router.events.on('routeChangeComplete', handleRouteChange)
+    router.events.on('hashChangeComplete', handleRouteChange)
+    return () => {
+      router.events.off('routeChangeComplete', handleRouteChange)
+      router.events.off('hashChangeComplete', handleRouteChange)
+    }
+  }, [router.events])
+ 
+  return (
+    <>
+      <Head>
+        <meta charSet="utf-8" />
+        <meta name="viewport" content="width=device-width, initial-scale=1" />
+        <link rel="icon" href="/favicon.ico" />
+      </Head>
+ 
+      <style jsx global>{`
+        :root {
+          --font-lato: ${lato.style.fontFamily};
+          --font-noto-sans: ${notoSans.style.fontFamily};
+        }
+      `}</style>
+ 
+      {adobeAnalyticsScriptSrc && (
+        <>
+          <Script src="https://code.jquery.com/jquery-3.6.3.min.js" />
+          <Script src={adobeAnalyticsScriptSrc} />
+        </>
+      )}
+ 
+      <DefaultSeo
+        dangerouslySetAllPagesToNoIndex
+        dangerouslySetAllPagesToNoFollow
+        {...nextSEOConfig}
+      />
+      <QueryClientProvider client={queryClient}>
+        <Component {...pageProps} />
+      </QueryClientProvider>
+    </>
+  )
+}
+ 
+export default appWithTranslation(MyApp, nextI18NextConfig)
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/pages/_document.tsx.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/pages/_document.tsx.html new file mode 100644 index 000000000..ca26c7db9 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/pages/_document.tsx.html @@ -0,0 +1,196 @@ + + + + + + Code coverage report for src/pages/_document.tsx + + + + + + + + + +
+
+

All files / src/pages _document.tsx

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import Document, {
+  DocumentContext,
+  DocumentInitialProps,
+  Head,
+  Html,
+  Main,
+  NextScript,
+} from 'next/document'
+ 
+class MyDocument extends Document {
+  static async getInitialProps(
+    ctx: DocumentContext,
+  ): Promise<DocumentInitialProps> {
+    const initialProps = await Document.getInitialProps(ctx)
+ 
+    return initialProps
+  }
+  render() {
+    return (
+      <Html
+        lang={
+          (this.props.locale?.toLowerCase() ?? 'default') === 'default'
+            ? 'en'
+            : this.props.locale
+        }
+      >
+        <Head />
+        <body>
+          <Main />
+          <NextScript />
+        </body>
+      </Html>
+    )
+  }
+}
+ 
+export default MyDocument
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/pages/_error.tsx.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/pages/_error.tsx.html new file mode 100644 index 000000000..689bab4ff --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/pages/_error.tsx.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/pages/_error.tsx + + + + + + + + + +
+
+

All files / src/pages _error.tsx

+
+ +
+ 71.42% + Statements + 5/7 +
+ + +
+ 40% + Branches + 2/5 +
+ + +
+ 50% + Functions + 1/2 +
+ + +
+ 66.66% + Lines + 4/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21  +  +  +  +  +  +  +  +  +1x +3x +2x +  +  +1x +  +  +  +  +  + 
import { NextPage } from 'next'
+ 
+import Error404Page from '../components/error-pages/Error404Page'
+import ErrorPage from '../components/error-pages/ErrorPage'
+ 
+export interface ErrorProps {
+  statusCode?: number
+}
+ 
+const Error: NextPage<ErrorProps> = ({ statusCode }) => {
+  if (statusCode === 404) return <Error404Page />
+  return <ErrorPage statusCode={statusCode} />
+}
+ 
+Error.getInitialProps = async ({ res, err }) => {
+  const statusCode = res?.statusCode ?? err?.statusCode ?? 404
+  return { statusCode }
+}
+ 
+export default Error
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/pages/api/alerts.ts.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/pages/api/alerts.ts.html new file mode 100644 index 000000000..a1785e929 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/pages/api/alerts.ts.html @@ -0,0 +1,271 @@ + + + + + + Code coverage report for src/pages/api/alerts.ts + + + + + + + + + +
+
+

All files / src/pages/api alerts.ts

+
+ +
+ 0% + Statements + 0/25 +
+ + +
+ 0% + Branches + 0/10 +
+ + +
+ 0% + Functions + 0/6 +
+ + +
+ 0% + Lines + 0/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { NextApiRequest, NextApiResponse } from 'next'
+ 
+import { Alert, AlertJsonResponse } from '../../lib/types'
+import { getLogger } from '../../logging/log-util'
+ 
+const logger = getLogger('get-alerts')
+ 
+export default async function handler(
+  req: NextApiRequest,
+  res: NextApiResponse<Alert[] | string>,
+) {
+  try {
+    if (req.method !== 'GET') {
+      logger.debug(`error 405: Invalid request method ${req.method}`)
+      return res.status(405).send(`Invalid request method ${req.method}`)
+    }
+ 
+    if (!process.env.ALERT_JSON_URI?.trim()) {
+      logger.warn(
+        'ALERT_JSON_URI is either undefined, null, or an empty string. Consequently, an empty array is being returned.',
+      )
+      res.status(200).json([])
+      return
+    }
+ 
+    const query = req.query
+    const { page } = query
+ 
+    const now = new Date()
+ 
+    const alertJson = await fetch(process.env.ALERT_JSON_URI, {
+      headers: { 'Cache-Control': 'max-age=600' },
+    })
+    const alertData: AlertJsonResponse = await alertJson.json()
+ 
+    const validAlerts = alertData?.jsonAlerts.filter(
+      (alert) =>
+        new Date(alert.validFrom) <= now && new Date(alert.validTo) >= now,
+    )
+ 
+    const pageAlerts = page
+      ? validAlerts.filter(
+          (alert) => alert.pages?.find((alertPage) => alertPage === page),
+        )
+      : validAlerts.filter(
+          (alert) => alert.pages === undefined || alert.pages?.length === 0,
+        )
+ 
+    const alerts: Alert[] = pageAlerts.map((alert) => ({
+      uid: alert.uid,
+      textEn: alert.textEn,
+      textFr: alert.textFr,
+      type: alert.type,
+    }))
+ 
+    res.status(200).json(alerts)
+  } catch (error) {
+    // If there's a problem with the alerts, we return 500 but with an empty list
+    logger.error(error, 'Failed to fetch alerts')
+    res.status(500).json([])
+  }
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/pages/api/check-status.ts.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/pages/api/check-status.ts.html new file mode 100644 index 000000000..3d52a54ac --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/pages/api/check-status.ts.html @@ -0,0 +1,376 @@ + + + + + + Code coverage report for src/pages/api/check-status.ts + + + + + + + + + +
+
+

All files / src/pages/api check-status.ts

+
+ +
+ 66.66% + Statements + 22/33 +
+ + +
+ 59.09% + Branches + 13/22 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 66.66% + Lines + 22/33 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +3x +1x +1x +1x +  +  +2x +2x +  +  +  +  +  +  +2x +2x +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +2x +  +  +  +  +  +  +  +  +2x +2x +  +  +  +  +  +2x +2x +2x +  +2x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +2x +1x +  +  +  +  +1x +  +  +1x +1x +  + 
import { NextApiRequest, NextApiResponse } from 'next'
+ 
+import { mapToCheckStatusApiResponse } from '../../lib/mappers/checkStatusApiResponseMapper'
+import {
+  CheckStatusApiRequestQuery,
+  CheckStatusApiResponse,
+  PassportStatusesSearchResult,
+} from '../../lib/types'
+import { getLogger } from '../../logging/log-util'
+ 
+const logger = getLogger('check-status')
+ 
+export default async function handler(
+  req: NextApiRequest,
+  res: NextApiResponse<CheckStatusApiResponse | string>,
+) {
+  if (req.method !== 'GET') {
+    logger.debug(`error 405: Invalid request method ${req.method}`)
+    res.status(405).send(`Invalid request method ${req.method}`)
+    return
+  }
+ 
+  const { searchParams } = new URL(req.url ?? '', `http://${req.headers.host}`)
+  const checkStatusRequest: CheckStatusApiRequestQuery = {
+    dateOfBirth: searchParams.get('dateOfBirth') ?? '',
+    esrf: searchParams.get('esrf') ?? '',
+    givenName: searchParams.get('givenName') ?? '',
+    surname: searchParams.get('surname') ?? '',
+  }
+ 
+  try {
+    await searchPassportStatusApi(res, checkStatusRequest)
+  } catch (error) {
+    logger.error(error, 'Unhandled exception: Internal Server Error (500)')
+    res.status(500).send('Something went wrong.')
+  }
+}
+ 
+/**
+ * Search passport status from passport status API
+ * @param res
+ * @param checkStatusApiRequestQuery Check status request object
+ * @returns Passport status API search response
+ */
+export const searchPassportStatusApi = async (
+  res: NextApiResponse<CheckStatusApiResponse | string>,
+  checkStatusApiRequestQuery: CheckStatusApiRequestQuery,
+) => {
+  Iif (!process.env.PASSPORT_STATUS_API_BASE_URI) {
+    logger.error(
+      'PASSPORT_STATUS_API_BASE_URI must not be undefined, null or empty',
+    )
+    throw Error(
+      'process.env.PASSPORT_STATUS_API_BASE_URI must not be undefined, null or empty',
+    )
+  }
+ 
+  const { dateOfBirth, esrf, givenName, surname } = checkStatusApiRequestQuery
+  const query = new URLSearchParams({
+    dateOfBirth,
+    fileNumber: esrf,
+    givenName,
+    surname,
+  }).toString()
+  const url = `${process.env.PASSPORT_STATUS_API_BASE_URI}/api/v1/passport-statuses/_search?${query}`
+  logger.debug({ url }, 'performing status check')
+  const response = await fetch(url)
+ 
+  Iif (response.ok) {
+    logger.debug('Check status returned OK')
+    const searchResult: PassportStatusesSearchResult = await response.json()
+    const { GetCertificateApplicationResponse } = searchResult._embedded
+ 
+    if (GetCertificateApplicationResponse.length === 0) {
+      logger.debug(
+        'error 404: searchResult._embedded is empty, passport status not found',
+      )
+      return res.status(404).send('Passport Status Not Found')
+    }
+ 
+    return res.json(
+      mapToCheckStatusApiResponse(GetCertificateApplicationResponse[0]),
+    )
+  }
+ 
+  if (response.status === 404 || response.status === 422) {
+    logger.debug(
+      `Check status returned not OK - error ${response.status}: ${response.body}`,
+    )
+    // 404 and 422 responses should both be handled as
+    // `not found` results to mitigate data probing attacks
+    return res.status(404).send('Passport Status Not Found')
+  }
+ 
+  logger.debug(`Status: ${response.status}: ${response.statusText}`)
+  return res.status(response.status).send(response.statusText)
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/pages/api/email-esrf.ts.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/pages/api/email-esrf.ts.html new file mode 100644 index 000000000..2f7956d8f --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/pages/api/email-esrf.ts.html @@ -0,0 +1,319 @@ + + + + + + Code coverage report for src/pages/api/email-esrf.ts + + + + + + + + + +
+
+

All files / src/pages/api email-esrf.ts

+
+ +
+ 85.71% + Statements + 18/21 +
+ + +
+ 75% + Branches + 6/8 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 85.71% + Lines + 18/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79  +  +  +  +  +1x +  +  +  +  +  +3x +1x +1x +1x +  +  +2x +1x +  +  +1x +1x +  +  +1x +  +1x +1x +  +  +  +  +  +  +1x +  +  +  +1x +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +1x +1x +  + 
import { NextApiRequest, NextApiResponse } from 'next'
+ 
+import { EmailEsrfApiRequestBody } from '../../lib/types'
+import { getLogger } from '../../logging/log-util'
+ 
+const logger = getLogger('email-esrf')
+ 
+export default async function handler(
+  req: NextApiRequest,
+  res: NextApiResponse<string>,
+) {
+  if (req.method !== 'POST') {
+    logger.debug(`Status 405: Invalid request method ${req.method}`)
+    res.status(405).send(`Invalid request method ${req.method}`)
+    return
+  }
+ 
+  if (req.headers['content-type'] !== 'application/json') {
+    logger.debug(
+      `Status 415: Invalid media type ${req.headers['content-type']}`,
+    )
+    res.status(415).send(`Invalid media type ${req.headers['content-type']}`)
+    return
+  }
+ 
+  const body = req.body as EmailEsrfApiRequestBody
+ 
+  try {
+    await emailEsrfApi(res, body)
+  } catch (error) {
+    logger.error(error, 'Unhandled exception: Internal Server Error (500)')
+    res.status(500).send('Something went wrong.')
+  }
+}
+ 
+const emailEsrfApi = async (
+  res: NextApiResponse<string>,
+  emailEsrfApiRequestBody: EmailEsrfApiRequestBody,
+) => {
+  Iif (!process.env.PASSPORT_STATUS_API_BASE_URI) {
+    throw Error(
+      'process.env.PASSPORT_STATUS_API_BASE_URI must not be undefined, null or empty',
+    )
+  }
+ 
+  const body = {
+    Client: {
+      BirthDate: {
+        Date: emailEsrfApiRequestBody.dateOfBirth,
+      },
+      PersonContactInformation: {
+        ContactEmailID: emailEsrfApiRequestBody.email,
+      },
+      PersonName: {
+        PersonGivenName: [emailEsrfApiRequestBody.givenName],
+        PersonSurName: emailEsrfApiRequestBody.surname,
+      },
+      PersonPreferredLanguage: {
+        LanguageName:
+          emailEsrfApiRequestBody.locale === 'fr' ? 'FRENCH' : 'ENGLISH',
+      },
+    },
+  }
+ 
+  const response = await fetch(
+    `${process.env.PASSPORT_STATUS_API_BASE_URI}/api/v1/esrf-requests`,
+    {
+      method: 'POST',
+      headers: {
+        'Content-Type': 'application/json',
+      },
+      body: JSON.stringify(body),
+    },
+  )
+ 
+  logger.debug(`Status ${response.status}: ${response.statusText}`)
+  res.status(response.status).send(response.statusText)
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/pages/api/health.ts.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/pages/api/health.ts.html new file mode 100644 index 000000000..abc865c55 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/pages/api/health.ts.html @@ -0,0 +1,166 @@ + + + + + + Code coverage report for src/pages/api/health.ts + + + + + + + + + +
+
+

All files / src/pages/api health.ts

+
+ +
+ 0% + Statements + 0/6 +
+ + +
+ 0% + Branches + 0/12 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { NextApiRequest, NextApiResponse } from 'next'
+ 
+import { HealthApiResponse } from '../../lib/types'
+import { getLogger } from '../../logging/log-util'
+ 
+const logger = getLogger('health')
+ 
+export default async function handler(
+  req: NextApiRequest,
+  res: NextApiResponse<HealthApiResponse | string>,
+) {
+  if (req.method !== 'GET') {
+    logger.debug(`error 405: Invalid request method ${req.method}`)
+    res.status(405).send(`Invalid request method ${req.method}`)
+    return
+  }
+ 
+  res.status(200).json({
+    adobeAnalyticsScriptSrc: process.env.ADOBE_ANALYTICS_SCRIPT_SRC ?? null,
+    appBaseUri: process.env.APP_BASE_URI ?? null,
+    buildDate: process.env.NEXT_PUBLIC_BUILD_DATE ?? null,
+    environment: process.env.ENVIRONMENT ?? null,
+    loggingLevel: process.env.LOGGING_LEVEL ?? null,
+    status: 'UP',
+    uptime: `${process.uptime()} seconds`,
+  })
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/pages/api/index.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/pages/api/index.html new file mode 100644 index 000000000..948b123a0 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/pages/api/index.html @@ -0,0 +1,161 @@ + + + + + + Code coverage report for src/pages/api + + + + + + + + + +
+
+

All files src/pages/api

+
+ +
+ 47.05% + Statements + 40/85 +
+ + +
+ 36.53% + Branches + 19/52 +
+ + +
+ 36.36% + Functions + 4/11 +
+ + +
+ 48.19% + Lines + 40/83 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
alerts.ts +
+
0%0/250%0/100%0/60%0/23
check-status.ts +
+
66.66%22/3359.09%13/22100%2/266.66%22/33
email-esrf.ts +
+
85.71%18/2175%6/8100%2/285.71%18/21
health.ts +
+
0%0/60%0/120%0/10%0/6
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/pages/email.tsx.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/pages/email.tsx.html new file mode 100644 index 000000000..4211de681 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/pages/email.tsx.html @@ -0,0 +1,1129 @@ + + + + + + Code coverage report for src/pages/email.tsx + + + + + + + + + +
+
+

All files / src/pages email.tsx

+
+ +
+ 42.22% + Statements + 19/45 +
+ + +
+ 35% + Branches + 7/20 +
+ + +
+ 14.28% + Functions + 2/14 +
+ + +
+ 50% + Lines + 19/38 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +1x +3x +  +3x +3x +  +  +  +  +  +  +  +2x +  +  +  +  +  +  +  +  +2x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +2x +  +2x +  +  +  +  +  +  +  +2x +  +  +  +  +  +  +2x +  +2x +  +2x +  +  +  +  +2x +  +  +  +  +  +  +  +  +  +  +2x +  +2x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  + 
import { MouseEventHandler, useCallback, useMemo, useState } from 'react'
+ 
+import { useFormik, validateYupSchema, yupToFormErrors } from 'formik'
+import { GetServerSideProps } from 'next'
+import { Trans, useTranslation } from 'next-i18next'
+import { NextSeo } from 'next-seo'
+import { useRouter } from 'next/router'
+import * as Yup from 'yup'
+ 
+import ActionButton from '../components/ActionButton'
+import AlertBlock from '../components/AlertBlock'
+import Collapse from '../components/Collapse'
+import DateSelectField, {
+  DateSelectFieldOnChangeEvent,
+} from '../components/DateSelectField'
+import ErrorSummary, {
+  ErrorSummaryItem,
+  getErrorSummaryItems,
+  goToErrorSummary,
+} from '../components/ErrorSummary'
+import ExternalLink from '../components/ExternalLink'
+import IdleTimeout from '../components/IdleTimeout'
+import InputField from '../components/InputField'
+import Layout from '../components/Layout'
+import LinkButton from '../components/LinkButton'
+import Modal from '../components/Modal'
+import { EmailEsrfApiRequestBody } from '../lib/types'
+import useEmailEsrf from '../lib/useEmailEsrf'
+import { pageWithServerSideTranslations } from '../lib/utils/next-i18next-utils'
+import { getDCTermsTitle } from '../lib/utils/seo-utils'
+ 
+const initialValues: EmailEsrfApiRequestBody = {
+  dateOfBirth: '',
+  email: '',
+  givenName: '',
+  locale: '',
+  surname: '',
+}
+ 
+const validationSchema = Yup.object({
+  email: Yup.string()
+    .required('email.error.required')
+    .email('email.error.valid'),
+  givenName: Yup.string().required('given-name.error.required'),
+  surname: Yup.string().required('surname.error.required'),
+  dateOfBirth: Yup.date()
+    .required('date-of-birth.error.required')
+    .max(new Date(), 'date-of-birth.error.current'),
+})
+ 
+const scrollToHeading = () => {
+  setTimeout(() => {
+    const heading =
+      document.querySelector<HTMLHeadingElement>('h1[tabIndex="-1"]')
+    if (!heading) return
+    heading.scrollIntoView({ behavior: 'smooth', block: 'center' })
+    heading.focus()
+  }, 300)
+}
+ 
+const Email = () => {
+  const { t } = useTranslation(['email', 'common'])
+ 
+  const router = useRouter()
+  const [modalOpen, setModalOpen] = useState(false)
+ 
+  const {
+    error: emailEsrfError,
+    isPending: isEmailEsrfPending,
+    isSuccess: isEmailEsrfSuccess,
+    mutate: emailEsrf,
+    reset: resetEmailEsrf,
+  } = useEmailEsrf({ onSuccess: () => scrollToHeading() })
+ 
+  const {
+    errors: formikErrors,
+    handleChange: handleFormikChange,
+    handleSubmit: handleFormikSubmit,
+    setFieldValue: setFormikFieldValue,
+    resetForm: resetFormik,
+    values: formikValues,
+  } = useFormik<EmailEsrfApiRequestBody>({
+    initialValues,
+    onSubmit: (values) =>
+      emailEsrf({ ...values, locale: router.locale ?? 'en' }),
+    validate: async (values) => {
+      // manually validate with yup, scroll and focus error summary section element on errors
+      try {
+        await validateYupSchema(values, validationSchema)
+        // empty errors
+        return {}
+      } catch (yupError) {
+        goToErrorSummary('error-summary-email-esrf')
+        return yupToFormErrors(yupError)
+      }
+    },
+    validateOnBlur: false,
+    validateOnChange: false,
+    validateOnMount: false,
+  })
+ 
+  const errorSummaryItems = useMemo<ErrorSummaryItem[]>(
+    () =>
+      getErrorSummaryItems(formikErrors, t).map((item) => {
+        if (item.feildId !== 'dateOfBirth') return item
+        // field id should target the year select input
+        return { ...item, feildId: 'dateOfBirth-year' }
+      }),
+    [formikErrors, t],
+  )
+ 
+  const handleOnDateOfBirthChange: DateSelectFieldOnChangeEvent = useCallback(
+    (dateString) => {
+      setFormikFieldValue('dateOfBirth', dateString)
+    },
+    [setFormikFieldValue],
+  )
+ 
+  const handleOnCancelClick = useCallback(() => setModalOpen(true), [])
+ 
+  const handleOnModalClose = useCallback(() => setModalOpen(false), [])
+ 
+  const handleOnModalYesButtonClick = useCallback(() => {
+    router.push('/landing')
+  }, [router])
+ 
+  const handleOnNewFileRequest: MouseEventHandler<HTMLButtonElement> =
+    useCallback(
+      (e) => {
+        e.preventDefault()
+        resetFormik()
+        resetEmailEsrf()
+        scrollToHeading()
+      },
+      [resetEmailEsrf, resetFormik],
+    )
+ 
+  //if the api failed, fail hard to show error page
+  Iif (emailEsrfError) throw emailEsrfError
+ 
+  return (
+    <Layout>
+      <NextSeo
+        title={t('header')}
+        additionalMetaTags={[getDCTermsTitle(t('header'))]}
+      />
+      <IdleTimeout />
+ 
+      {isEmailEsrfSuccess ? (
+        <div id="response-result">
+          <AlertBlock page="email" />
+          <h1 id="main-header" className="h1" tabIndex={-1}>
+            {t('email-confirmation-msg.request-received.header')}
+          </h1>
+          <div className="max-w-prose">
+            <p>
+              <Trans
+                i18nKey="email-confirmation-msg.request-received.will-email"
+                ns="email"
+              />
+            </p>
+            <p>
+              <Trans
+                i18nKey="email-confirmation-msg.request-received.once-received"
+                ns="email"
+              />
+            </p>
+            <div className="my-8 sm:w-full md:w-fit">
+              <LinkButton
+                href="/status"
+                fullWidth
+                id="enter-reference-number"
+                style="primary"
+              >
+                {t('enter-reference-number')}
+              </LinkButton>
+            </div>
+            <h2 className="h2 mt-16">
+              {t('email-confirmation-msg.dont-receive-header')}
+            </h2>
+            <p>{t('email-confirmation-msg.dont-receive')}</p>
+            <ul className="mb-5 list-disc space-y-2 pl-10">
+              <li>
+                <Trans
+                  i18nKey="email-confirmation-msg.dont-receive-list.item-1"
+                  ns="email"
+                />
+              </li>
+              <li>{t('email-confirmation-msg.dont-receive-list.item-2')}</li>
+            </ul>
+            <div className="my-8 sm:w-full md:w-fit">
+              <ActionButton
+                id="get-another-file-number"
+                type="button"
+                text={t('request-another')}
+                onClick={handleOnNewFileRequest}
+                fullWidth
+              />
+            </div>
+            <p className="mt-16">{t('email-confirmation-msg.may-take')}</p>
+            <p>
+              <Trans
+                i18nKey={'email-confirmation-msg.please-contact'}
+                ns="email"
+                components={{
+                  Link: <ExternalLink href={t('common:contact-us-link')} />,
+                }}
+              />
+            </p>
+          </div>
+        </div>
+      ) : (
+        <div>
+          <AlertBlock page="email" />
+          <h1 id="main-header" className="h1" tabIndex={-1}>
+            {t('header')}
+          </h1>
+          <form onSubmit={handleFormikSubmit} id="form-email-esrf">
+            <p className="max-w-prose">
+              <Trans i18nKey="header-messages.matches" ns="email" />
+            </p>
+            <p>
+              <Trans i18nKey="header-messages.required" ns="email" />
+            </p>
+ 
+            {errorSummaryItems.length > 0 && (
+              <ErrorSummary
+                id="error-summary-email-esrf"
+                summary={t('common:found-errors', {
+                  count: errorSummaryItems.length,
+                })}
+                errors={errorSummaryItems}
+              />
+            )}
+ 
+            <InputField
+              id="email"
+              name="email"
+              type="email"
+              label={t('email.label')}
+              onChange={handleFormikChange}
+              value={formikValues.email}
+              errorMessage={formikErrors.email && t(formikErrors.email as any)}
+              textRequired={t('common:required')}
+              required
+              helpMessage={t('email.help-message')}
+              extraContent={
+                <Collapse title={t('email.for-child.title')} variant="slim">
+                  <p className="mt-4 border-l-[6px] border-gray-400 pl-6 text-base text-gray-600">
+                    <Trans i18nKey="email.for-child.help-message" ns="email" />
+                  </p>
+                </Collapse>
+              }
+            />
+            <InputField
+              id="givenName"
+              name="givenName"
+              label={t('given-name.label')}
+              onChange={handleFormikChange}
+              value={formikValues.givenName}
+              errorMessage={
+                formikErrors.givenName && t(formikErrors.givenName as any)
+              }
+              textRequired={t('common:required')}
+              required
+              helpMessage={
+                <Trans i18nKey="given-name.help-message" ns="email" />
+              }
+              extraContent={
+                <Collapse title={t('given-name.title')} variant="slim">
+                  <p className="mt-4 border-l-[6px] border-gray-400 pl-6 text-base text-gray-600">
+                    <Trans i18nKey="one-name" ns="email" />
+                  </p>
+                </Collapse>
+              }
+            />
+            <InputField
+              id="surname"
+              name="surname"
+              label={t('surname.label')}
+              onChange={handleFormikChange}
+              value={formikValues.surname}
+              errorMessage={
+                formikErrors.surname && t(formikErrors.surname as any)
+              }
+              textRequired={t('common:required')}
+              required
+              helpMessage={t('surname.help-message')}
+            />
+            <DateSelectField
+              id="dateOfBirth"
+              label={t('date-of-birth.label')}
+              onChange={handleOnDateOfBirthChange}
+              value={formikValues.dateOfBirth}
+              errorMessage={
+                formikErrors.dateOfBirth && t(formikErrors.dateOfBirth as any)
+              }
+              textRequired={t('common:required')}
+              required
+              helpMessage={t('date-of-birth.help-message')}
+            />
+            <div className="mt-8 flex flex-wrap gap-2">
+              <ActionButton
+                id="btn-submit"
+                disabled={isEmailEsrfPending}
+                type="submit"
+                text={t('email-esrf')}
+                style="primary"
+              />
+              <ActionButton
+                id="btn-cancel"
+                disabled={isEmailEsrfPending}
+                text={t('common:modal-go-back.back-button')}
+                onClick={handleOnCancelClick}
+              />
+            </div>
+          </form>
+        </div>
+      )}
+      <Modal
+        open={modalOpen}
+        onClose={handleOnModalClose}
+        actionButtons={[
+          {
+            text: t('common:modal-go-back.yes-button'),
+            onClick: handleOnModalYesButtonClick,
+            style: 'primary',
+          },
+          {
+            text: t('common:modal-go-back.no-button'),
+            onClick: handleOnModalClose,
+          },
+        ]}
+        header={t('common:modal-go-back.header')}
+      >
+        <p>{t('common:modal-go-back.description')}</p>
+      </Modal>
+    </Layout>
+  )
+}
+ 
+export const getServerSideProps: GetServerSideProps = async ({ locale }) => ({
+  props: {
+    ...(await pageWithServerSideTranslations(locale, 'email')),
+  },
+})
+ 
+export default Email
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/pages/expectations.tsx.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/pages/expectations.tsx.html new file mode 100644 index 000000000..6b5231672 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/pages/expectations.tsx.html @@ -0,0 +1,403 @@ + + + + + + Code coverage report for src/pages/expectations.tsx + + + + + + + + + +
+
+

All files / src/pages expectations.tsx

+
+ +
+ 55.55% + Statements + 5/9 +
+ + +
+ 0% + Branches + 0/2 +
+ + +
+ 33.33% + Functions + 1/3 +
+ + +
+ 62.5% + Lines + 5/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +3x +  +3x +  +  +  +  +  +  +  +  +2x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  + 
import { MouseEventHandler, useCallback } from 'react'
+ 
+import { setCookie } from 'cookies-next'
+import { GetServerSideProps } from 'next'
+import { Trans, useTranslation } from 'next-i18next'
+import { NextSeo } from 'next-seo'
+import Router from 'next/router'
+ 
+import ActionButton from '../components/ActionButton'
+import AlertBlock from '../components/AlertBlock'
+import Collapse from '../components/Collapse'
+import ExternalLink from '../components/ExternalLink'
+import Layout from '../components/Layout'
+import { pageWithServerSideTranslations } from '../lib/utils/next-i18next-utils'
+import { getDCTermsTitle } from '../lib/utils/seo-utils'
+ 
+const Expectations = () => {
+  const { t } = useTranslation(['expectations', 'common'])
+ 
+  const handleOnAgreeClick: MouseEventHandler<HTMLButtonElement> = useCallback(
+    (e) => {
+      e.preventDefault()
+      setCookie('agreed-to-email-esrf-terms', 'true', { sameSite: true })
+      Router.push('/landing')
+    },
+    [],
+  )
+ 
+  return (
+    <>
+      <NextSeo
+        title={t('header')}
+        description={t('meta.description')}
+        additionalMetaTags={[getDCTermsTitle(t('header'))]}
+      />
+      <Layout>
+        <AlertBlock page="expectations" />
+        <h1 id="main-header" className="h1" tabIndex={-1}>
+          {t('header')}
+        </h1>
+        <div className="max-w-prose">
+          <p>
+            <Trans i18nKey="thank-you" ns="expectations" />
+          </p>
+          <h2 className="h2 mb-4">{t('do-not-travel')}</h2>
+          <p>{t('not-liable')}</p>
+          <h2 className="h2">{t('header-privacy')}</h2>
+          <p>{t('privacy-description')}</p>
+          <Collapse title={t('header-privacy')}>
+            <p>
+              <Trans i18nKey={'description-privacy.1'} ns="expectations" />
+            </p>
+            <p>{t('description-privacy.2')}</p>
+            <p>{t('description-privacy.3')}</p>
+            <p>
+              <Trans
+                i18nKey={'description-privacy.4'}
+                ns="expectations"
+                components={{
+                  Link: <ExternalLink href={t('description-privacy.4-link')} />,
+                }}
+              />
+            </p>
+            <p>
+              <Trans
+                i18nKey={'description-privacy.5'}
+                ns="expectations"
+                components={{
+                  Link: <ExternalLink href={t('description-privacy.5-link')} />,
+                }}
+              />
+            </p>
+            <p>
+              <Trans
+                i18nKey={'description-privacy.6'}
+                ns="expectations"
+                components={{
+                  Link: <ExternalLink href={t('description-privacy.6-link')} />,
+                }}
+              />
+            </p>
+          </Collapse>
+          <div className="mt-8">
+            <ActionButton
+              id="btn-agree"
+              style="primary"
+              text={t('button-agree')}
+              onClick={handleOnAgreeClick}
+            />
+          </div>
+        </div>
+      </Layout>
+    </>
+  )
+}
+ 
+export const getServerSideProps: GetServerSideProps = async ({ locale }) => ({
+  props: {
+    ...(await pageWithServerSideTranslations(
+      locale ?? 'default',
+      'expectations',
+    )),
+  },
+})
+ 
+export default Expectations
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/pages/index.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/pages/index.html new file mode 100644 index 000000000..de8de0c4b --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/pages/index.html @@ -0,0 +1,221 @@ + + + + + + Code coverage report for src/pages + + + + + + + + + +
+
+

All files src/pages

+
+ +
+ 51.61% + Statements + 80/155 +
+ + +
+ 31.94% + Branches + 23/72 +
+ + +
+ 31.11% + Functions + 14/45 +
+ + +
+ 56.93% + Lines + 78/137 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
_app.tsx +
+
100%19/19100%4/4100%4/4100%19/19
_document.tsx +
+
0%0/30%0/40%0/20%0/3
_error.tsx +
+
71.42%5/740%2/550%1/266.66%4/6
email.tsx +
+
42.22%19/4535%7/2014.28%2/1450%19/38
expectations.tsx +
+
55.55%5/90%0/233.33%1/362.5%5/8
index.tsx +
+
75%3/4100%0/050%1/2100%3/3
landing.tsx +
+
80%4/5100%0/050%1/2100%4/4
status.tsx +
+
39.68%25/6327.02%10/3725%4/1642.85%24/56
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/pages/index.tsx.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/pages/index.tsx.html new file mode 100644 index 000000000..3f3e4bb37 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/pages/index.tsx.html @@ -0,0 +1,433 @@ + + + + + + Code coverage report for src/pages/index.tsx + + + + + + + + + +
+
+

All files / src/pages index.tsx

+
+ +
+ 75% + Statements + 3/4 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 50% + Functions + 1/2 +
+ + +
+ 100% + Lines + 3/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117  +  +  +  +  +  +  +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  + 
import { GetServerSideProps } from 'next'
+import { NextSeo } from 'next-seo'
+import Image from 'next/image'
+ 
+import LinkButton from '../components/LinkButton'
+import { getDCTermsTitle } from '../lib/utils/seo-utils'
+ 
+const Index = () => {
+  return (
+    <>
+      <NextSeo
+        title="Passport Application Status Checker | Vérificateur de l'état d'une demande de passeport"
+        titleTemplate="%s - Canada.ca"
+        additionalMetaTags={[
+          getDCTermsTitle(
+            "Passport Application Status Checker - Vérificateur de l'état d'une demande de passeport",
+          ),
+        ]}
+      />
+      <main
+        role="main"
+        className="flex h-screen bg-splash-page bg-cover bg-center"
+      >
+        <div className="m-auto w-[300px] bg-gray-lighter md:w-[400px] lg:w-[500px]">
+          <div className="p-8">
+            <h1 id="main-header" className="sr-only" tabIndex={-1}>
+              Passport Application Status Checker | Vérificateur de l&#39;état
+              d&#39;une demande de passeport
+            </h1>
+            <div className="w-11/12 lg:w-8/12">
+              <Image
+                className="mb-1.5"
+                property="logo"
+                alt="Government of Canada"
+                src="/sig-blk-en.svg"
+                width={300}
+                height={28}
+                priority
+              />
+              <span className="sr-only">
+                {' '}
+                / <span lang="fr">Gouvernement du Canada</span>
+              </span>
+            </div>
+            <div className="mb-2 mt-9 flex justify-center gap-8">
+              <section className="w-36" lang="en">
+                <h2 className="sr-only">Government of Canada</h2>
+                <LinkButton
+                  href="/expectations"
+                  id="english-button"
+                  style="primary"
+                  fullWidth
+                  locale="en"
+                >
+                  English
+                </LinkButton>
+              </section>
+              <section className="w-36" lang="fr">
+                <h2 className="sr-only">Gouvernement du Canada</h2>
+                <LinkButton
+                  href="/expectations"
+                  id="french-button"
+                  style="primary"
+                  fullWidth
+                  locale="fr"
+                >
+                  Français
+                </LinkButton>
+              </section>
+            </div>
+          </div>
+          <div className="flex items-center justify-between gap-6 bg-gray-light p-8">
+            <div className="w-7/12 text-blue-light md:w-8/12">
+              <a
+                className="text-inherit no-underline visited:text-inherit hover:text-inherit hover:underline focus:text-inherit focus:underline"
+                data-cy="terms"
+                href="https://www.canada.ca/en/transparency/terms.html"
+                lang="en"
+              >
+                Terms &amp; conditions
+              </a>
+              <span className="text-gray-400"> • </span>
+              <a
+                className="text-inherit no-underline visited:text-inherit hover:text-inherit hover:underline focus:text-inherit focus:underline"
+                data-cy="avis"
+                href="https://www.canada.ca/fr/transparence/avis.html"
+                lang="fr"
+              >
+                Avis
+              </a>
+            </div>
+            <div className="w-5/12 md:w-4/12">
+              <Image
+                alt="Symbol of the Government of Canada"
+                src="/wmms-blk.svg"
+                width={300}
+                height={71}
+                priority
+              />
+              <span className="sr-only">
+                {' '}
+                / <span lang="fr">Symbole du gouvernement du Canada</span>
+              </span>
+            </div>
+          </div>
+        </div>
+      </main>
+    </>
+  )
+}
+ 
+export const getServerSideProps: GetServerSideProps = async () => ({
+  props: {},
+})
+ 
+export default Index
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/pages/landing.tsx.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/pages/landing.tsx.html new file mode 100644 index 000000000..b48406ec0 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/pages/landing.tsx.html @@ -0,0 +1,658 @@ + + + + + + Code coverage report for src/pages/landing.tsx + + + + + + + + + +
+
+

All files / src/pages landing.tsx

+
+ +
+ 80% + Statements + 4/5 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 50% + Functions + 1/2 +
+ + +
+ 100% + Lines + 4/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192  +  +  +  +  +  +  +  +  +  +  +  +  +1x +2x +  +2x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  + 
import { GetServerSideProps } from 'next'
+import { Trans, useTranslation } from 'next-i18next'
+import { NextSeo } from 'next-seo'
+import Link from 'next/link'
+ 
+import AlertBlock from '../components/AlertBlock'
+import Collapse from '../components/Collapse'
+import ExampleImage from '../components/ExampleImage'
+import Layout from '../components/Layout'
+import LinkButton from '../components/LinkButton'
+import { pageWithServerSideTranslations } from '../lib/utils/next-i18next-utils'
+import { getDCTermsTitle } from '../lib/utils/seo-utils'
+ 
+const Landing = () => {
+  const { t } = useTranslation('landing')
+ 
+  return (
+    <Layout>
+      <NextSeo
+        title={t('header')}
+        additionalMetaTags={[getDCTermsTitle(t('header'))]}
+      />
+      <AlertBlock page="landing" />
+      <h1 id="main-header" className="h1" tabIndex={-1}>
+        {t('header')}
+      </h1>
+      <div className="max-w-prose">
+        <p>
+          <strong>{t('do-you-have.question')}</strong>
+        </p>
+        <div className="mb-4 flex flex-wrap gap-6 md:flex-nowrap">
+          <div className="w-full">
+            <LinkButton href="/status" fullWidth style="primary" id="with-esrf">
+              {t('do-you-have.with-reference')}
+            </LinkButton>
+          </div>
+          <div className="mb-8 w-full">
+            <LinkButton href="/email" fullWidth id="without-esrf">
+              {t('do-you-have.without-reference')}
+            </LinkButton>
+          </div>
+        </div>
+        <h2 className="h2 mb-6">{t('where-to-find.header')}</h2>
+        <h3 className="h3 mb-2">{t('where-to-find.applied-by-mail.header')}</h3>
+        <p>
+          <Trans
+            i18nKey="where-to-find.applied-by-mail.text"
+            ns="landing"
+            components={{ Link: <Link href="/email" /> }}
+          />
+        </p>
+        <h3 className="h3 mb-2 mt-8">
+          {t('where-to-find.applied-in-person.header')}
+        </h3>
+        <p>{t('where-to-find.applied-in-person.text')}</p>
+        <Collapse title={t('receipt-image-1.title')}>
+          <div className="mt-3 max-w-prose border-t p-3">
+            <ExampleImage
+              imageProps={{
+                src: t('receipt-image-1.src'),
+                alt: t('receipt-image-1.alt'),
+                width: 500,
+                height: 785,
+              }}
+            >
+              <Trans i18nKey="receipt-image-1.descriptive-text" ns="landing" />
+            </ExampleImage>
+            <p>{t('receipt-1-will-find.text')}</p>
+            <ul className="mb-5 list-disc pl-10">
+              <li>{t('receipt-1-will-find.list.item-1')}</li>
+              <li>{t('receipt-1-will-find.list.item-2')}</li>
+              <li>{t('receipt-1-will-find.list.item-3')}</li>
+              <li>{t('receipt-1-will-find.list.item-4')}</li>
+              <li>{t('receipt-1-will-find.list.item-5')}</li>
+              <li>{t('receipt-1-will-find.list.item-6')}</li>
+              <li>{t('receipt-1-will-find.list.item-7')}</li>
+              <li>{t('receipt-1-will-find.list.item-8')}</li>
+              <li>{t('receipt-1-will-find.list.item-9')}</li>
+              <li>{t('receipt-1-will-find.list.item-10')}</li>
+              <li>{t('receipt-1-will-find.list.item-11')}</li>
+            </ul>
+          </div>
+        </Collapse>
+        <Collapse title={t('receipt-image-2.title')}>
+          <div className="mt-3 max-w-prose border-t p-3">
+            <ExampleImage
+              imageProps={{
+                src: t('receipt-image-2.src'),
+                alt: t('receipt-image-2.alt'),
+                width: 500,
+                height: 785,
+              }}
+            >
+              <Trans i18nKey="receipt-image-2.descriptive-text" ns="landing" />
+            </ExampleImage>
+            <p>{t('receipt-2-will-find.text')}</p>
+            <ul className="mb-5 list-disc pl-10">
+              <li>{t('receipt-2-will-find.list.item-1')}</li>
+              <li>{t('receipt-2-will-find.list.item-2')}</li>
+              <li>{t('receipt-2-will-find.list.item-3')}</li>
+              <li>{t('receipt-2-will-find.list.item-4')}</li>
+              <li>{t('receipt-2-will-find.list.item-5')}</li>
+              <li>{t('receipt-2-will-find.list.item-6')}</li>
+              <li>{t('receipt-2-will-find.list.item-7')}</li>
+              <li>{t('receipt-2-will-find.list.item-8')}</li>
+              <li>{t('receipt-2-will-find.list.item-9')}</li>
+              <li>{t('receipt-2-will-find.list.item-10')}</li>
+              <li>{t('receipt-2-will-find.list.item-11')}</li>
+              <li>{t('receipt-2-will-find.list.item-12')}</li>
+            </ul>
+            <p>{t('receipt-2-pickup-instructions.text')}</p>
+            <ul className="mb-5 list-disc pl-10">
+              <li>{t('receipt-2-pickup-instructions.list.item-1')}</li>
+              <li>
+                {t('receipt-2-pickup-instructions.list.item-2.text')}
+                <ul className="list-disc pl-10">
+                  <li>
+                    <Trans
+                      i18nKey="receipt-2-pickup-instructions.list.item-2.list.item-1"
+                      ns="landing"
+                    />
+                  </li>
+                  <li>
+                    {t('receipt-2-pickup-instructions.list.item-2.list.item-2')}
+                  </li>
+                </ul>
+              </li>
+              <li>{t('receipt-2-pickup-instructions.list.item-3')}</li>
+              <li>{t('receipt-2-pickup-instructions.list.item-4')}</li>
+            </ul>
+          </div>
+        </Collapse>
+        <Collapse title={t('receipt-image-3.title')}>
+          <div className="mt-3 max-w-prose border-t p-3">
+            <ExampleImage
+              imageProps={{
+                src: t('receipt-image-3.src'),
+                alt: t('receipt-image-3.alt'),
+                width: 500,
+                height: 785,
+              }}
+            >
+              <Trans i18nKey="receipt-image-3.descriptive-text" ns="landing" />
+            </ExampleImage>
+            <p>{t('receipt-3-will-find.text')}</p>
+            <ul className="mb-5 list-disc pl-10">
+              <li>{t('receipt-3-will-find.list.item-1')}</li>
+              <li>{t('receipt-3-will-find.list.item-2')}</li>
+              <li>{t('receipt-3-will-find.list.item-3')}</li>
+              <li>{t('receipt-3-will-find.list.item-4')}</li>
+              <li>{t('receipt-3-will-find.list.item-5')}</li>
+              <li>{t('receipt-3-will-find.list.item-6')}</li>
+              <li>{t('receipt-3-will-find.list.item-7')}</li>
+              <li>{t('receipt-3-will-find.list.item-8')}</li>
+              <li>{t('receipt-3-will-find.list.item-9')}</li>
+              <li>{t('receipt-3-will-find.list.item-10')}</li>
+              <li>{t('receipt-3-will-find.list.item-11')}</li>
+              <li>{t('receipt-3-will-find.list.item-12')}</li>
+              <li>{t('receipt-3-will-find.list.item-13')}</li>
+              <li>{t('receipt-3-will-find.list.item-14')}</li>
+              <li>{t('receipt-3-will-find.list.item-15')}</li>
+            </ul>
+            <p>{t('receipt-3-next-steps.text')}</p>
+            <ul className="mb-5 list-disc pl-10">
+              <li>{t('receipt-3-next-steps.list.item-1')}</li>
+              <li>{t('receipt-3-next-steps.list.item-2')}</li>
+              <li>{t('receipt-3-next-steps.list.item-3')}</li>
+              <li>{t('receipt-3-next-steps.list.item-4')}</li>
+            </ul>
+          </div>
+        </Collapse>
+        <h3 className="h3 mb-2 mt-8">{t('if-lost.header')}</h3>
+        <p>
+          <Trans
+            i18nKey="if-lost.text"
+            ns="landing"
+            components={{ Link: <Link href="/email" /> }}
+          />
+        </p>
+      </div>
+    </Layout>
+  )
+}
+ 
+export const getServerSideProps: GetServerSideProps = async ({ locale }) => ({
+  props: {
+    ...(await pageWithServerSideTranslations(locale, 'landing')),
+  },
+})
+ 
+export default Landing
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov-report/src/pages/status.tsx.html b/refs/pull/791/merge/unit-test-results/lcov-report/src/pages/status.tsx.html new file mode 100644 index 000000000..b162359e2 --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov-report/src/pages/status.tsx.html @@ -0,0 +1,1159 @@ + + + + + + Code coverage report for src/pages/status.tsx + + + + + + + + + +
+
+

All files / src/pages status.tsx

+
+ +
+ 39.68% + Statements + 25/63 +
+ + +
+ 27.02% + Branches + 10/37 +
+ + +
+ 25% + Functions + 4/16 +
+ + +
+ 42.85% + Lines + 24/56 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +1x +3x +  +3x +3x +2x +  +  +  +  +  +  +  +  +  +2x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +2x +  +  +  +  +  +  +2x +2x +  +  +  +  +2x +  +2x +  +  +  +  +  +  +  +2x +  +  +  +  +  +  +  +  +  +  +  +  +  +2x +  +  +  +  +  +  +2x +  +  +  +  +  +  +2x +  +2x +  +2x +  +  +  +  +  +  +2x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +2x +  +2x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  + 
import {
+  ChangeEventHandler,
+  MouseEventHandler,
+  useCallback,
+  useEffect,
+  useMemo,
+  useState,
+} from 'react'
+ 
+import { useQueryClient } from '@tanstack/react-query'
+import { useFormik, validateYupSchema, yupToFormErrors } from 'formik'
+import { GetServerSideProps } from 'next'
+import { Trans, useTranslation } from 'next-i18next'
+import { NextSeo } from 'next-seo'
+import Link from 'next/link'
+import { useRouter } from 'next/router'
+import * as Yup from 'yup'
+ 
+import ActionButton from '../components/ActionButton'
+import AlertBlock from '../components/AlertBlock'
+import CheckStatusInfo from '../components/CheckStatusInfo'
+import Collapse from '../components/Collapse'
+import DateSelectField, {
+  DateSelectFieldOnChangeEvent,
+} from '../components/DateSelectField'
+import ErrorSummary, {
+  ErrorSummaryItem,
+  getErrorSummaryItems,
+  goToErrorSummary,
+} from '../components/ErrorSummary'
+import IdleTimeout from '../components/IdleTimeout'
+import InputField from '../components/InputField'
+import Layout from '../components/Layout'
+import Modal from '../components/Modal'
+import { removeCheckStatus } from '../lib/removeCheckStatus'
+import {
+  CheckStatusApiRequestQuery,
+  CheckStatusApiResponse,
+  StatusCode,
+} from '../lib/types'
+import { useCheckStatus } from '../lib/useCheckStatus'
+import { pageWithServerSideTranslations } from '../lib/utils/next-i18next-utils'
+import { getDCTermsTitle } from '../lib/utils/seo-utils'
+ 
+const initialValues: CheckStatusApiRequestQuery = {
+  dateOfBirth: '',
+  esrf: '',
+  givenName: '',
+  surname: '',
+}
+ 
+const validationSchema = Yup.object({
+  esrf: Yup.string().required('esrf.error.required'),
+  givenName: Yup.string().required('given-name.error.required'),
+  surname: Yup.string().required('surname.error.required'),
+  dateOfBirth: Yup.date()
+    .required('date-of-birth.error.required')
+    .max(new Date(), 'date-of-birth.error.current'),
+})
+ 
+const scrollToHeading = () => {
+  setTimeout(() => {
+    const heading =
+      document.querySelector<HTMLHeadingElement>('h1[tabIndex="-1"]')
+    if (!heading) return
+    heading.scrollIntoView({ behavior: 'smooth', block: 'center' })
+    heading.focus()
+  }, 300)
+}
+ 
+const Status = () => {
+  const { t } = useTranslation(['status', 'common'])
+ 
+  const router = useRouter()
+  const [modalOpen, setModalOpen] = useState(false)
+  const queryClient = useQueryClient()
+ 
+  const {
+    errors: formikErrors,
+    handleChange: handleFormikChange,
+    handleSubmit: handleFormikSubmit,
+    setFieldValue: setFormikFieldValue,
+    setStatus: setFormikStatus,
+    status: formikStatus,
+    values: formikValues,
+  } = useFormik<CheckStatusApiRequestQuery>({
+    initialValues,
+    onSubmit: (_, { setStatus }) => {
+      setStatus('submitted')
+    },
+    validate: async (values) => {
+      // manually validate with yup, scroll and focus error summary section element on errors
+      try {
+        await validateYupSchema(values, validationSchema)
+        // empty errors
+        return {}
+      } catch (yupError) {
+        goToErrorSummary('error-summary-get-status')
+        return yupToFormErrors(yupError)
+      }
+    },
+    validateOnBlur: false,
+    validateOnChange: false,
+    validateOnMount: false,
+  })
+ 
+  const {
+    data: checkStatusResponse,
+    error: checkStatusError,
+    isPending: isCheckStatusPending,
+    isSuccess: isCheckStatusSuccess,
+  } = useCheckStatus(
+    formikStatus === 'submitted' ? formikValues : initialValues,
+    {
+      enabled: formikStatus === 'submitted',
+    },
+  )
+ 
+  useEffect(() => {
+    Iif (isCheckStatusSuccess) {
+      scrollToHeading()
+    }
+  }, [isCheckStatusSuccess])
+ 
+  const errorSummaryItems = useMemo<ErrorSummaryItem[]>(
+    () =>
+      getErrorSummaryItems(formikErrors, t).map((item) => {
+        if (item.feildId !== 'dateOfBirth') return item
+        // field id should target the year select input
+        return { ...item, feildId: 'dateOfBirth-year' }
+      }),
+    [formikErrors, t],
+  )
+ 
+  const handleOnGoBackClick: MouseEventHandler<HTMLButtonElement> = useCallback(
+    async (e) => {
+      e.preventDefault()
+      if (checkStatusResponse) {
+        await router.push('/landing')
+        return
+      }
+      setFormikStatus(undefined)
+      removeCheckStatus(queryClient)
+      scrollToHeading()
+    },
+    [checkStatusResponse, setFormikStatus, queryClient, router],
+  )
+ 
+  const handleOnESRFChange: ChangeEventHandler<HTMLInputElement> = useCallback(
+    ({ target }) => {
+      setFormikFieldValue(target.name, target.value.replace(/[^a-z0-9]/gi, ''))
+    },
+    [setFormikFieldValue],
+  )
+ 
+  const handleOnDateOfBirthChange: DateSelectFieldOnChangeEvent = useCallback(
+    (dateString) => {
+      setFormikFieldValue('dateOfBirth', dateString)
+    },
+    [setFormikFieldValue],
+  )
+ 
+  const handleOnBackClick = useCallback(() => setModalOpen(true), [])
+ 
+  const handleOnModalClose = useCallback(() => setModalOpen(false), [])
+ 
+  const handleOnModalYesButtonClick = useCallback(() => {
+    router.push('/landing')
+  }, [router])
+ 
+  function getTitleHeader(
+    checkStatusResponse: CheckStatusApiResponse | null | undefined,
+  ): string {
+    Eif (checkStatusResponse === undefined) return t('header')
+    switch (checkStatusResponse?.status) {
+      case StatusCode.FILE_BEING_PROCESSED:
+        return t('being-processed.received')
+      case StatusCode.PASSPORT_ISSUED_READY_FOR_PICKUP:
+        return t('ready-for-pickup.has-been-printed')
+      case StatusCode.PASSPORT_IS_PRINTING:
+        return t('printing.in-printing')
+      case StatusCode.PASSPORT_ISSUED_SHIPPING_CANADA_POST:
+        return t('shipped-canada-post.header')
+      case StatusCode.PASSPORT_ISSUED_SHIPPING_FEDEX:
+        return t('shipped-fedex.header')
+      case StatusCode.NOT_ACCEPTABLE_FOR_PROCESSING:
+        return t('not-acceptable.cannot-process')
+      default:
+        return t('no-record.cannot-give-status.description')
+    }
+  }
+ 
+  //if the api failed, fail hard to show error page
+  Iif (checkStatusError) throw checkStatusError
+ 
+  return (
+    <Layout>
+      <NextSeo
+        title={getTitleHeader(checkStatusResponse)}
+        additionalMetaTags={[getDCTermsTitle(t('header'))]}
+      />
+      <IdleTimeout />
+      {checkStatusResponse !== undefined ? (
+        <CheckStatusInfo
+          id={
+            checkStatusResponse === null
+              ? 'response-no-result'
+              : 'response-result'
+          }
+          onGoBackClick={handleOnGoBackClick}
+          goBackText={checkStatusResponse === null ? t('previous') : t('reset')}
+          goBackStyle="primary"
+          checkStatusResponse={checkStatusResponse}
+        />
+      ) : (
+        <>
+          <AlertBlock page="status" />
+          <h1 id="main-header" className="h1" tabIndex={-1}>
+            {t('header')}
+          </h1>
+          <form onSubmit={handleFormikSubmit} id="form-get-status">
+            <p className="max-w-prose">
+              <Trans i18nKey="header-messages.matches" ns="status" />
+            </p>
+            <p>
+              <Trans i18nKey="header-messages.required" ns="status" />
+            </p>
+ 
+            {errorSummaryItems.length > 0 && (
+              <ErrorSummary
+                id="error-summary-get-status"
+                summary={t('common:found-errors', {
+                  count: errorSummaryItems.length,
+                })}
+                errors={errorSummaryItems}
+              />
+            )}
+            <div className="mt-8">
+              <InputField
+                id="esrf"
+                name="esrf"
+                label={t('esrf.label')}
+                onChange={handleOnESRFChange}
+                value={formikValues.esrf}
+                errorMessage={formikErrors.esrf && t(formikErrors.esrf as any)}
+                textRequired={t('common:required')}
+                required
+                helpMessage={
+                  <Trans
+                    i18nKey="esrf.help-message"
+                    ns="status"
+                    components={{
+                      Link: <Link href="/email" />,
+                    }}
+                  />
+                }
+              />
+            </div>
+            <div className="mt-8">
+              <InputField
+                id="givenName"
+                name="givenName"
+                label={t('given-name.label')}
+                onChange={handleFormikChange}
+                value={formikValues.givenName}
+                errorMessage={
+                  formikErrors.givenName && t(formikErrors.givenName as any)
+                }
+                textRequired={t('common:required')}
+                required
+                helpMessage={
+                  <Trans i18nKey="given-name.help-message" ns="status" />
+                }
+                extraContent={
+                  <Collapse title={t('given-name.title')} variant="slim">
+                    <p className="mt-4 border-l-[6px] border-gray-400 pl-6 text-base text-gray-600">
+                      <Trans i18nKey="one-name" ns="status" />
+                    </p>
+                  </Collapse>
+                }
+              />
+            </div>
+            <div className="mt-8">
+              <InputField
+                id="surname"
+                name="surname"
+                label={t('surname.label')}
+                onChange={handleFormikChange}
+                value={formikValues.surname}
+                errorMessage={
+                  formikErrors.surname && t(formikErrors.surname as any)
+                }
+                textRequired={t('common:required')}
+                required
+                helpMessage={t('surname.help-message')}
+              />
+            </div>
+            <div className="mt-8">
+              <DateSelectField
+                id="dateOfBirth"
+                label={t('date-of-birth.label')}
+                onChange={handleOnDateOfBirthChange}
+                value={formikValues.dateOfBirth}
+                errorMessage={
+                  formikErrors.dateOfBirth && t(formikErrors.dateOfBirth as any)
+                }
+                textRequired={t('common:required')}
+                required
+                helpMessage={t('date-of-birth.help-message')}
+              />
+            </div>
+            <div className="mt-8 flex flex-wrap gap-2">
+              <ActionButton
+                id="btn-submit"
+                disabled={isCheckStatusPending}
+                type="submit"
+                text={t('check-status')}
+                style="primary"
+              />
+              <ActionButton
+                id="btn-back"
+                disabled={isCheckStatusPending}
+                text={t('common:modal-go-back.back-button')}
+                onClick={handleOnBackClick}
+              />
+            </div>
+          </form>
+        </>
+      )}
+      <Modal
+        open={modalOpen}
+        onClose={handleOnModalClose}
+        actionButtons={[
+          {
+            text: t('common:modal-go-back.yes-button'),
+            onClick: handleOnModalYesButtonClick,
+            style: 'primary',
+          },
+          {
+            text: t('common:modal-go-back.no-button'),
+            onClick: handleOnModalClose,
+          },
+        ]}
+        header={t('common:modal-go-back.header')}
+      >
+        <p>{t('common:modal-go-back.description')}</p>
+      </Modal>
+    </Layout>
+  )
+}
+ 
+export const getServerSideProps: GetServerSideProps = async ({ locale }) => ({
+  props: {
+    ...(await pageWithServerSideTranslations(locale, 'status')),
+  },
+})
+ 
+export default Status
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/refs/pull/791/merge/unit-test-results/lcov.info b/refs/pull/791/merge/unit-test-results/lcov.info new file mode 100644 index 000000000..c6858680d --- /dev/null +++ b/refs/pull/791/merge/unit-test-results/lcov.info @@ -0,0 +1,1771 @@ +TN: +SF:src/middleware.ts +FN:9,middleware +FNF:1 +FNH:0 +FNDA:0,middleware +DA:6,0 +DA:7,0 +DA:10,0 +DA:11,0 +DA:13,0 +DA:18,0 +DA:21,0 +DA:23,0 +DA:24,0 +DA:28,0 +DA:29,0 +DA:32,0 +DA:36,0 +DA:39,0 +LF:14 +LH:0 +BRDA:13,0,0,0 +BRDA:13,0,1,0 +BRDA:14,1,0,0 +BRDA:14,1,1,0 +BRDA:14,1,2,0 +BRDA:23,2,0,0 +BRDA:23,2,1,0 +BRDA:23,3,0,0 +BRDA:23,3,1,0 +BRDA:28,4,0,0 +BRDA:28,4,1,0 +BRDA:28,5,0,0 +BRDA:28,5,1,0 +BRDA:28,5,2,0 +BRDA:32,6,0,0 +BRDA:32,6,1,0 +BRDA:33,7,0,0 +BRDA:33,7,1,0 +BRF:18 +BRH:0 +end_of_record +TN: +SF:src/next-seo.config.ts +FN:12,(anonymous_0) +FN:29,(anonymous_1) +FN:47,(anonymous_2) +FN:107,(anonymous_3) +FN:141,(anonymous_4) +FN:176,(anonymous_5) +FNF:6 +FNH:6 +FNDA:7,(anonymous_0) +FNDA:7,(anonymous_1) +FNDA:3,(anonymous_2) +FNDA:1,(anonymous_3) +FNDA:1,(anonymous_4) +FNDA:5,(anonymous_5) +DA:12,2 +DA:16,7 +DA:17,4 +DA:29,2 +DA:32,7 +DA:33,4 +DA:47,3 +DA:107,2 +DA:141,2 +DA:176,2 +DA:177,5 +DA:178,5 +DA:179,4 +DA:180,3 +LF:14 +LH:14 +BRDA:16,0,0,3 +BRDA:16,0,1,4 +BRDA:32,1,0,3 +BRDA:32,1,1,4 +BRDA:178,2,0,1 +BRDA:178,2,1,4 +BRDA:179,3,0,1 +BRDA:179,3,1,3 +BRF:8 +BRH:8 +end_of_record +TN: +SF:src/@types/i18next.d.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/@types/resources.ts +FNF:0 +FNH:0 +DA:7,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/components/ActionButton.tsx +FN:32,(anonymous_0) +FNF:1 +FNH:1 +FNDA:5,(anonymous_0) +DA:18,6 +DA:25,6 +DA:32,6 +DA:43,5 +DA:44,5 +DA:45,5 +DA:46,5 +DA:48,5 +DA:61,6 +LF:9 +LH:9 +BRDA:44,0,0,0 +BRDA:44,0,1,5 +BRDA:45,1,0,5 +BRDA:45,1,1,5 +BRDA:46,2,0,5 +BRDA:46,2,1,0 +BRF:6 +BRH:4 +end_of_record +TN: +SF:src/components/AlertBlock.tsx +FN:13,(anonymous_0) +FN:19,(anonymous_1) +FNF:2 +FNH:1 +FNDA:26,(anonymous_0) +FNDA:0,(anonymous_1) +DA:13,14 +DA:14,26 +DA:15,26 +DA:17,26 +DA:20,0 +DA:21,0 +LF:6 +LH:4 +BRDA:17,0,0,0 +BRDA:17,0,1,26 +BRDA:17,1,0,26 +BRDA:17,1,1,0 +BRDA:20,2,0,0 +BRDA:20,2,1,0 +BRF:6 +BRH:2 +end_of_record +TN: +SF:src/components/AlertSection.tsx +FN:27,(anonymous_0) +FN:90,(anonymous_1) +FNF:2 +FNH:2 +FNDA:6,(anonymous_0) +FNDA:6,(anonymous_1) +DA:13,14 +DA:20,14 +DA:27,14 +DA:32,6 +DA:34,0 +DA:47,4 +DA:60,0 +DA:75,2 +DA:90,14 +DA:96,6 +DA:98,6 +DA:100,6 +LF:12 +LH:10 +BRDA:32,0,0,0 +BRDA:32,0,1,4 +BRDA:32,0,2,0 +BRDA:32,0,3,2 +BRDA:36,1,0,0 +BRDA:36,1,1,0 +BRDA:49,2,0,0 +BRDA:49,2,1,4 +BRDA:53,3,0,0 +BRDA:53,3,1,4 +BRDA:62,4,0,0 +BRDA:62,4,1,0 +BRDA:66,5,0,0 +BRDA:66,5,1,0 +BRDA:77,6,0,0 +BRDA:77,6,1,2 +BRDA:102,7,0,0 +BRDA:102,7,1,6 +BRF:18 +BRH:6 +end_of_record +TN: +SF:src/components/ApplicationNameBar.tsx +FN:8,(anonymous_0) +FNF:1 +FNH:1 +FNDA:5,(anonymous_0) +DA:8,3 +DA:9,5 +LF:2 +LH:2 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/components/Banner.tsx +FN:6,(anonymous_0) +FNF:1 +FNH:1 +FNDA:5,(anonymous_0) +DA:6,3 +DA:7,5 +LF:2 +LH:2 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/components/CheckStatusInfo.tsx +FN:21,(anonymous_0) +FNF:1 +FNH:1 +FNDA:2,(anonymous_0) +DA:21,2 +DA:30,2 +DA:32,0 +DA:33,0 +DA:35,0 +DA:36,0 +DA:38,0 +DA:39,0 +DA:41,0 +DA:46,0 +DA:48,0 +DA:53,0 +DA:55,0 +DA:56,0 +DA:58,2 +DA:59,2 +DA:61,2 +LF:17 +LH:5 +BRDA:30,0,0,0 +BRDA:30,0,1,0 +BRDA:30,0,2,0 +BRDA:30,0,3,0 +BRDA:30,0,4,0 +BRDA:30,0,5,0 +BRDA:30,0,6,2 +BRF:7 +BRH:1 +end_of_record +TN: +SF:src/components/Collapse.tsx +FN:13,(anonymous_0) +FNF:1 +FNH:1 +FNDA:10,(anonymous_0) +DA:3,5 +DA:13,5 +DA:14,10 +DA:15,10 +LF:4 +LH:4 +BRDA:13,0,0,10 +BRF:1 +BRH:1 +end_of_record +TN: +SF:src/components/DateModified.tsx +FN:12,(anonymous_0) +FNF:1 +FNH:1 +FNDA:4,(anonymous_0) +DA:12,3 +DA:13,4 +DA:23,3 +LF:3 +LH:3 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/components/DateSelect.tsx +FN:26,(anonymous_0) +FN:38,(anonymous_1) +FN:64,(anonymous_2) +FNF:3 +FNH:2 +FNDA:14,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:674,(anonymous_2) +DA:26,3 +DA:38,14 +DA:40,0 +DA:42,14 +DA:65,674 +LF:5 +LH:4 +BRDA:56,0,0,0 +BRDA:56,0,1,14 +BRDA:58,1,0,12 +BRDA:58,1,1,2 +BRDA:60,2,0,0 +BRDA:60,2,1,14 +BRF:6 +BRH:4 +end_of_record +TN: +SF:src/components/DateSelectField.tsx +FN:35,(anonymous_0) +FN:64,(anonymous_1) +FN:71,(anonymous_2) +FN:75,(anonymous_3) +FN:81,(anonymous_4) +FN:82,(anonymous_5) +FN:88,(anonymous_6) +FN:94,(anonymous_7) +FN:101,(anonymous_8) +FN:103,(anonymous_9) +FN:135,(anonymous_10) +FN:143,(anonymous_11) +FN:145,(anonymous_12) +FN:151,(anonymous_13) +FN:156,(anonymous_14) +FN:232,(anonymous_15) +FN:235,(anonymous_16) +FN:239,(anonymous_17) +FNF:18 +FNH:15 +FNDA:8,(anonymous_0) +FNDA:24,(anonymous_1) +FNDA:6,(anonymous_2) +FNDA:750,(anonymous_3) +FNDA:8,(anonymous_4) +FNDA:96,(anonymous_5) +FNDA:6,(anonymous_6) +FNDA:186,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:6,(anonymous_10) +FNDA:6,(anonymous_11) +FNDA:6,(anonymous_12) +FNDA:6,(anonymous_13) +FNDA:2,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:1032,(anonymous_16) +FNDA:2,(anonymous_17) +DA:35,3 +DA:47,8 +DA:49,8 +DA:59,8 +DA:60,8 +DA:61,8 +DA:62,8 +DA:64,8 +DA:65,24 +DA:66,24 +DA:67,24 +DA:68,24 +DA:71,8 +DA:72,6 +DA:73,6 +DA:74,6 +DA:75,6 +DA:76,750 +DA:77,750 +DA:81,8 +DA:82,8 +DA:83,96 +DA:84,96 +DA:88,8 +DA:89,6 +DA:90,6 +DA:91,6 +DA:94,6 +DA:95,186 +DA:96,186 +DA:100,8 +DA:102,0 +DA:103,0 +DA:104,0 +DA:105,0 +DA:107,0 +DA:108,0 +DA:111,0 +DA:113,0 +DA:116,0 +DA:118,0 +DA:119,0 +DA:133,8 +DA:135,8 +DA:136,6 +DA:137,6 +DA:139,0 +DA:143,8 +DA:144,6 +DA:145,6 +DA:146,6 +DA:151,8 +DA:152,6 +DA:153,4 +DA:155,2 +DA:156,2 +DA:166,8 +DA:232,3 +DA:233,0 +DA:235,3 +DA:236,1032 +DA:239,3 +DA:248,2 +DA:249,2 +DA:250,2 +DA:251,2 +DA:253,2 +DA:254,2 +DA:257,0 +LF:69 +LH:55 +BRDA:66,0,0,0 +BRDA:66,0,1,24 +BRDA:67,1,0,12 +BRDA:67,1,1,12 +BRDA:68,2,0,12 +BRDA:68,2,1,12 +BRDA:72,3,0,6 +BRDA:72,3,1,6 +BRDA:73,4,0,6 +BRDA:73,4,1,6 +BRDA:91,5,0,0 +BRDA:91,5,1,6 +BRDA:104,6,0,0 +BRDA:104,6,1,0 +BRDA:107,7,0,0 +BRDA:107,7,1,0 +BRDA:111,8,0,0 +BRDA:111,8,1,0 +BRDA:113,9,0,0 +BRDA:113,9,1,0 +BRDA:113,10,0,0 +BRDA:113,10,1,0 +BRDA:116,11,0,0 +BRDA:116,11,1,0 +BRDA:136,12,0,6 +BRDA:136,12,1,0 +BRDA:152,13,0,4 +BRDA:152,13,1,2 +BRDA:175,14,0,8 +BRDA:175,14,1,0 +BRDA:181,15,0,8 +BRDA:181,15,1,4 +BRDA:233,16,0,0 +BRDA:233,16,1,0 +BRDA:233,17,0,0 +BRDA:233,17,1,0 +BRDA:233,17,2,0 +BRDA:253,18,0,2 +BRDA:253,18,1,0 +BRDA:253,19,0,2 +BRDA:253,19,1,0 +BRDA:253,19,2,0 +BRF:42 +BRH:18 +end_of_record +TN: +SF:src/components/ErrorLayout.tsx +FN:7,(anonymous_0) +FNF:1 +FNH:1 +FNDA:4,(anonymous_0) +DA:7,3 +DA:8,4 +LF:2 +LH:2 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/components/ErrorSummary.tsx +FN:17,(anonymous_0) +FN:25,(anonymous_1) +FN:30,(anonymous_2) +FN:31,(anonymous_3) +FN:34,(anonymous_4) +FN:42,(anonymous_5) +FN:43,(anonymous_6) +FN:55,(anonymous_7) +FNF:8 +FNH:4 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:1,(anonymous_4) +FNDA:1,(anonymous_5) +FNDA:1,(anonymous_6) +FNDA:1,(anonymous_7) +DA:17,1 +DA:20,0 +DA:25,1 +DA:29,0 +DA:30,0 +DA:31,0 +DA:34,1 +DA:35,1 +DA:38,1 +DA:39,1 +DA:42,1 +DA:43,1 +DA:44,1 +DA:47,1 +DA:56,1 +LF:15 +LH:11 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/components/ExampleImage.tsx +FN:17,(anonymous_0) +FNF:1 +FNH:1 +FNDA:2,(anonymous_0) +DA:17,2 +DA:18,2 +LF:2 +LH:2 +BRDA:20,0,0,2 +BRDA:20,0,1,2 +BRF:2 +BRH:2 +end_of_record +TN: +SF:src/components/ExternalLink.tsx +FN:18,(anonymous_0) +FNF:1 +FNH:1 +FNDA:2,(anonymous_0) +DA:18,15 +DA:23,2 +DA:24,2 +LF:3 +LH:3 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/components/FieldSetLegend.tsx +FN:9,(anonymous_0) +FNF:1 +FNH:1 +FNDA:8,(anonymous_0) +DA:9,3 +DA:15,8 +LF:2 +LH:2 +BRDA:19,0,0,8 +BRDA:19,0,1,4 +BRF:2 +BRH:2 +end_of_record +TN: +SF:src/components/Footer.tsx +FN:44,(anonymous_0) +FN:63,(anonymous_1) +FNF:2 +FNH:2 +FNDA:2,(anonymous_0) +FNDA:5,(anonymous_1) +DA:44,2 +DA:51,2 +DA:64,5 +LF:3 +LH:3 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/components/Header.tsx +FN:15,(anonymous_0) +FNF:1 +FNH:1 +FNDA:3,(anonymous_0) +DA:15,2 +DA:16,3 +DA:17,3 +DA:18,3 +DA:20,3 +DA:21,3 +DA:22,3 +DA:23,3 +DA:25,3 +LF:9 +LH:9 +BRDA:20,0,0,2 +BRDA:20,0,1,1 +BRDA:21,1,0,2 +BRDA:21,1,1,1 +BRDA:22,2,0,2 +BRDA:22,2,1,1 +BRDA:43,3,0,3 +BRDA:43,3,1,3 +BRDA:56,4,0,2 +BRDA:56,4,1,1 +BRDA:60,5,0,2 +BRDA:60,5,1,1 +BRDA:68,6,0,2 +BRDA:68,6,1,1 +BRDA:69,7,0,2 +BRDA:69,7,1,1 +BRF:16 +BRH:16 +end_of_record +TN: +SF:src/components/IdleTimeout.tsx +FN:14,(anonymous_0) +FN:20,(anonymous_1) +FN:25,(anonymous_2) +FN:32,(anonymous_3) +FN:37,(anonymous_4) +FN:45,(anonymous_5) +FN:55,(anonymous_6) +FNF:7 +FNH:4 +FNDA:3,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:1,(anonymous_3) +FNDA:2,(anonymous_4) +FNDA:2,(anonymous_5) +FNDA:0,(anonymous_6) +DA:14,3 +DA:15,3 +DA:16,3 +DA:17,3 +DA:18,3 +DA:20,3 +DA:21,0 +DA:22,0 +DA:25,3 +DA:26,0 +DA:27,0 +DA:30,3 +DA:32,1 +DA:37,3 +DA:38,2 +DA:39,2 +DA:40,2 +DA:45,3 +DA:46,2 +DA:49,3 +DA:55,0 +LF:21 +LH:16 +BRDA:33,0,0,3 +BRDA:33,0,1,1 +BRDA:34,1,0,3 +BRDA:34,1,1,1 +BRDA:41,2,0,1 +BRDA:41,2,1,1 +BRDA:51,3,0,3 +BRDA:51,3,1,1 +BRF:8 +BRH:8 +end_of_record +TN: +SF:src/components/InputErrorMessage.tsx +FN:6,(anonymous_0) +FNF:1 +FNH:1 +FNDA:2,(anonymous_0) +DA:6,7 +DA:7,2 +LF:2 +LH:2 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/components/InputField.tsx +FN:20,(anonymous_0) +FN:41,(anonymous_1) +FNF:2 +FNH:2 +FNDA:2,(anonymous_0) +FNDA:2,(anonymous_1) +DA:20,3 +DA:35,2 +DA:36,2 +DA:37,2 +DA:38,2 +DA:39,2 +DA:41,2 +DA:42,2 +DA:43,2 +DA:44,2 +DA:45,2 +DA:46,2 +DA:49,2 +DA:97,3 +LF:14 +LH:14 +BRDA:43,0,0,1 +BRDA:43,0,1,1 +BRDA:44,1,0,1 +BRDA:44,1,1,1 +BRDA:45,2,0,0 +BRDA:45,2,1,2 +BRDA:46,3,0,1 +BRDA:46,3,1,1 +BRDA:58,4,0,2 +BRDA:58,4,1,1 +BRDA:61,5,0,2 +BRDA:61,5,1,1 +BRDA:72,6,0,1 +BRDA:72,6,1,1 +BRDA:74,7,0,0 +BRDA:74,7,1,2 +BRDA:76,8,0,1 +BRDA:76,8,1,1 +BRDA:83,9,0,2 +BRDA:83,9,1,1 +BRDA:85,10,0,2 +BRDA:85,10,1,0 +BRF:22 +BRH:19 +end_of_record +TN: +SF:src/components/InputLabel.tsx +FN:9,(anonymous_0) +FNF:1 +FNH:1 +FNDA:3,(anonymous_0) +DA:9,4 +DA:16,3 +LF:2 +LH:2 +BRDA:19,0,0,3 +BRDA:19,0,1,0 +BRF:2 +BRH:1 +end_of_record +TN: +SF:src/components/Layout.tsx +FN:11,(anonymous_0) +FNF:1 +FNH:1 +FNDA:2,(anonymous_0) +DA:11,1 +DA:12,2 +DA:14,2 +LF:3 +LH:3 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/components/LinkButton.tsx +FN:30,(anonymous_0) +FNF:1 +FNH:1 +FNDA:4,(anonymous_0) +DA:18,4 +DA:25,4 +DA:30,4 +DA:42,4 +DA:43,4 +DA:44,4 +DA:45,4 +DA:47,4 +LF:8 +LH:8 +BRDA:43,0,0,2 +BRDA:43,0,1,2 +BRDA:44,1,0,4 +BRDA:44,1,1,4 +BRDA:45,2,0,4 +BRDA:45,2,1,2 +BRDA:50,3,0,0 +BRDA:50,3,1,4 +BRDA:51,4,0,0 +BRDA:51,4,1,4 +BRF:10 +BRH:8 +end_of_record +TN: +SF:src/components/MarkdownContent.tsx +FN:7,(anonymous_0) +FN:16,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +DA:7,14 +DA:8,0 +DA:16,14 +DA:20,0 +LF:4 +LH:2 +BRDA:18,0,0,0 +BRF:1 +BRH:0 +end_of_record +TN: +SF:src/components/Modal.tsx +FN:14,(anonymous_0) +FN:24,(anonymous_1) +FN:32,(anonymous_2) +FN:35,(anonymous_3) +FN:64,(anonymous_4) +FNF:5 +FNH:5 +FNDA:1,(anonymous_0) +FNDA:1,(anonymous_1) +FNDA:1,(anonymous_2) +FNDA:1,(anonymous_3) +FNDA:1,(anonymous_4) +DA:14,3 +DA:21,1 +DA:22,1 +DA:24,1 +DA:25,1 +DA:26,1 +DA:28,0 +DA:32,1 +DA:33,1 +DA:34,1 +DA:35,1 +DA:36,1 +DA:42,1 +DA:65,1 +LF:14 +LH:13 +BRDA:25,0,0,1 +BRDA:25,0,1,0 +BRF:2 +BRH:1 +end_of_record +TN: +SF:src/components/check-status-responses/CheckStatusFileBeingProcessed.tsx +FN:6,(anonymous_0) +FNF:1 +FNH:1 +FNDA:4,(anonymous_0) +DA:6,4 +DA:7,4 +DA:8,4 +LF:3 +LH:3 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/components/check-status-responses/CheckStatusNoRecord.tsx +FN:6,(anonymous_0) +FNF:1 +FNH:1 +FNDA:4,(anonymous_0) +DA:6,3 +DA:7,4 +DA:8,4 +LF:3 +LH:3 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/components/check-status-responses/CheckStatusNotAcceptable.tsx +FN:6,(anonymous_0) +FNF:1 +FNH:1 +FNDA:2,(anonymous_0) +DA:6,3 +DA:7,2 +DA:8,2 +LF:3 +LH:3 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/components/check-status-responses/CheckStatusPrinting.tsx +FN:5,(anonymous_0) +FNF:1 +FNH:1 +FNDA:2,(anonymous_0) +DA:5,3 +DA:6,2 +DA:7,2 +LF:3 +LH:3 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/components/check-status-responses/CheckStatusReadyForPickup.tsx +FN:6,(anonymous_0) +FNF:1 +FNH:1 +FNDA:2,(anonymous_0) +DA:6,3 +DA:7,2 +DA:8,2 +LF:3 +LH:3 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/components/check-status-responses/CheckStatusShippingCanadaPost.tsx +FN:11,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:11,2 +DA:14,0 +DA:16,0 +LF:3 +LH:1 +BRDA:32,0,0,0 +BRDA:32,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/components/check-status-responses/CheckStatusShippingFedex.tsx +FN:11,(anonymous_0) +FNF:1 +FNH:1 +FNDA:2,(anonymous_0) +DA:11,3 +DA:14,2 +DA:15,2 +LF:3 +LH:3 +BRDA:31,0,0,0 +BRDA:31,0,1,2 +BRF:2 +BRH:1 +end_of_record +TN: +SF:src/components/error-pages/Error404Page.tsx +FN:6,(anonymous_0) +FNF:1 +FNH:1 +FNDA:1,(anonymous_0) +DA:6,1 +DA:7,1 +LF:2 +LH:2 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/components/error-pages/ErrorPage.tsx +FN:10,(anonymous_0) +FNF:1 +FNH:1 +FNDA:2,(anonymous_0) +DA:10,1 +DA:11,2 +LF:2 +LH:2 +BRDA:16,0,0,1 +BRDA:16,0,1,1 +BRDA:23,1,0,1 +BRDA:23,1,1,1 +BRDA:29,2,0,1 +BRDA:29,2,1,1 +BRDA:38,3,0,1 +BRDA:38,3,1,1 +BRDA:64,4,0,1 +BRDA:64,4,1,1 +BRF:10 +BRH:10 +end_of_record +TN: +SF:src/lib/removeCheckStatus.ts +FN:3,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:3,1 +DA:4,0 +LF:2 +LH:1 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/lib/types.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/lib/useAlerts.ts +FN:6,(anonymous_0) +FN:23,(anonymous_1) +FN:33,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:6,0 +DA:10,0 +DA:11,0 +DA:13,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:23,0 +DA:30,0 +DA:33,0 +LF:10 +LH:0 +BRDA:11,0,0,0 +BRDA:11,0,1,0 +BRDA:14,1,0,0 +BRDA:14,1,1,0 +BRDA:18,2,0,0 +BRDA:18,2,1,0 +BRDA:19,3,0,0 +BRDA:19,3,1,0 +BRDA:31,4,0,0 +BRDA:31,4,1,0 +BRF:10 +BRH:0 +end_of_record +TN: +SF:src/lib/useCheckStatus.ts +FN:6,(anonymous_0) +FN:19,(anonymous_1) +FN:37,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:6,0 +DA:10,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:16,0 +DA:19,0 +DA:30,0 +DA:38,0 +DA:43,0 +LF:10 +LH:0 +BRDA:14,0,0,0 +BRDA:14,0,1,0 +BRDA:15,1,0,0 +BRDA:15,1,1,0 +BRDA:35,2,0,0 +BRDA:35,2,1,0 +BRDA:45,3,0,0 +BRDA:45,3,1,0 +BRF:8 +BRH:0 +end_of_record +TN: +SF:src/lib/useEmailEsrf.ts +FN:6,(anonymous_0) +FN:14,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +DA:6,0 +DA:12,0 +DA:15,0 +DA:23,0 +DA:24,0 +LF:5 +LH:0 +BRDA:13,0,0,0 +BRDA:13,0,1,0 +BRDA:23,1,0,0 +BRDA:23,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/lib/mappers/checkStatusApiResponseMapper.ts +FN:13,(anonymous_0) +FN:29,(anonymous_1) +FN:33,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:13,1 +DA:15,0 +DA:29,1 +DA:32,0 +DA:34,0 +LF:5 +LH:2 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/lib/utils/fonts.ts +FNF:0 +FNH:0 +DA:3,0 +DA:10,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/lib/utils/next-i18next-utils.ts +FN:17,(anonymous_0) +FN:44,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +DA:9,4 +DA:17,4 +DA:24,0 +DA:26,0 +DA:27,0 +DA:30,0 +DA:31,0 +DA:34,0 +DA:35,0 +DA:44,4 +DA:51,0 +LF:11 +LH:3 +BRDA:18,0,0,0 +BRDA:26,1,0,0 +BRDA:26,1,1,0 +BRDA:30,2,0,0 +BRDA:30,2,1,0 +BRDA:46,3,0,0 +BRDA:52,4,0,0 +BRDA:52,4,1,0 +BRF:8 +BRH:0 +end_of_record +TN: +SF:src/lib/utils/seo-utils.ts +FN:5,(anonymous_0) +FNF:1 +FNH:1 +FNDA:9,(anonymous_0) +DA:5,9 +LF:1 +LH:1 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/logging/log-level.ts +FN:3,(anonymous_0) +FNF:1 +FNH:1 +FNDA:2,(anonymous_0) +DA:3,2 +DA:5,2 +DA:6,2 +DA:9,2 +LF:4 +LH:4 +BRDA:5,0,0,0 +BRDA:5,0,1,2 +BRF:2 +BRH:1 +end_of_record +TN: +SF:src/logging/log-util.ts +FN:9,getLogLevel +FN:13,getLogger +FNF:2 +FNH:2 +FNDA:2,getLogLevel +FNDA:2,getLogger +DA:5,2 +DA:10,2 +DA:14,2 +LF:3 +LH:3 +BRDA:10,0,0,2 +BRDA:10,0,1,2 +BRDA:10,0,2,2 +BRF:3 +BRH:3 +end_of_record +TN: +SF:src/pages/_app.tsx +FN:25,(anonymous_0) +FN:35,(anonymous_1) +FN:36,(anonymous_2) +FN:47,(anonymous_3) +FNF:4 +FNH:4 +FNDA:2,(anonymous_0) +FNDA:2,(anonymous_1) +FNDA:2,(anonymous_2) +FNDA:2,(anonymous_3) +DA:18,1 +DA:23,1 +DA:25,1 +DA:26,2 +DA:28,2 +DA:29,2 +DA:30,2 +DA:35,2 +DA:36,2 +DA:38,2 +DA:39,1 +DA:40,1 +DA:44,2 +DA:45,2 +DA:46,2 +DA:47,2 +DA:48,2 +DA:49,2 +DA:53,2 +LF:19 +LH:19 +BRDA:38,0,0,1 +BRDA:38,0,1,1 +BRDA:68,1,0,2 +BRDA:68,1,1,1 +BRF:4 +BRH:4 +end_of_record +TN: +SF:src/pages/_document.tsx +FN:11,(anonymous_0) +FN:18,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +DA:14,0 +DA:16,0 +DA:19,0 +LF:3 +LH:0 +BRDA:22,0,0,0 +BRDA:22,0,1,0 +BRDA:22,1,0,0 +BRDA:22,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:src/pages/_error.tsx +FN:10,(anonymous_0) +FN:15,(anonymous_1) +FNF:2 +FNH:1 +FNDA:3,(anonymous_0) +FNDA:0,(anonymous_1) +DA:10,1 +DA:11,3 +DA:12,2 +DA:15,1 +DA:16,0 +DA:17,0 +LF:6 +LH:4 +BRDA:11,0,0,1 +BRDA:11,0,1,2 +BRDA:16,1,0,0 +BRDA:16,1,1,0 +BRDA:16,1,2,0 +BRF:5 +BRH:2 +end_of_record +TN: +SF:src/pages/email.tsx +FN:51,(anonymous_0) +FN:52,(anonymous_1) +FN:61,(anonymous_2) +FN:73,(anonymous_3) +FN:84,(anonymous_4) +FN:86,(anonymous_5) +FN:103,(anonymous_6) +FN:104,(anonymous_7) +FN:113,(anonymous_8) +FN:119,(anonymous_9) +FN:121,(anonymous_10) +FN:123,(anonymous_11) +FN:129,(anonymous_12) +FN:342,(anonymous_13) +FNF:14 +FNH:2 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:3,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:2,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +DA:32,1 +DA:40,1 +DA:51,1 +DA:52,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:57,0 +DA:61,1 +DA:62,3 +DA:64,3 +DA:65,3 +DA:73,2 +DA:82,2 +DA:85,0 +DA:88,0 +DA:89,0 +DA:91,0 +DA:93,0 +DA:94,0 +DA:102,2 +DA:104,2 +DA:105,0 +DA:107,0 +DA:112,2 +DA:114,0 +DA:119,2 +DA:121,2 +DA:123,2 +DA:124,0 +DA:128,2 +DA:130,0 +DA:131,0 +DA:132,0 +DA:133,0 +DA:139,2 +DA:141,2 +DA:342,1 +LF:38 +LH:19 +BRDA:55,0,0,0 +BRDA:55,0,1,0 +BRDA:85,1,0,0 +BRDA:85,1,1,0 +BRDA:105,2,0,0 +BRDA:105,2,1,0 +BRDA:139,3,0,0 +BRDA:139,3,1,2 +BRDA:149,4,0,0 +BRDA:149,4,1,2 +BRDA:226,5,0,2 +BRDA:226,5,1,0 +BRDA:243,6,0,2 +BRDA:243,6,1,0 +BRDA:262,7,0,2 +BRDA:262,7,1,0 +BRDA:284,8,0,2 +BRDA:284,8,1,0 +BRDA:296,9,0,2 +BRDA:296,9,1,0 +BRF:20 +BRH:7 +end_of_record +TN: +SF:src/pages/expectations.tsx +FN:17,(anonymous_0) +FN:21,(anonymous_1) +FN:97,(anonymous_2) +FNF:3 +FNH:1 +FNDA:3,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:17,1 +DA:18,3 +DA:20,3 +DA:22,0 +DA:23,0 +DA:24,0 +DA:29,2 +DA:97,1 +LF:8 +LH:5 +BRDA:100,0,0,0 +BRDA:100,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/pages/index.tsx +FN:8,(anonymous_0) +FN:112,(anonymous_1) +FNF:2 +FNH:1 +FNDA:1,(anonymous_0) +FNDA:0,(anonymous_1) +DA:8,1 +DA:9,1 +DA:112,1 +LF:3 +LH:3 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/pages/landing.tsx +FN:14,(anonymous_0) +FN:185,(anonymous_1) +FNF:2 +FNH:1 +FNDA:2,(anonymous_0) +FNDA:0,(anonymous_1) +DA:14,1 +DA:15,2 +DA:17,2 +DA:185,1 +LF:4 +LH:4 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/pages/status.tsx +FN:61,(anonymous_0) +FN:62,(anonymous_1) +FN:71,(anonymous_2) +FN:88,(anonymous_3) +FN:91,(anonymous_4) +FN:119,(anonymous_5) +FN:126,(anonymous_6) +FN:127,(anonymous_7) +FN:136,(anonymous_8) +FN:150,(anonymous_9) +FN:157,(anonymous_10) +FN:163,(anonymous_11) +FN:165,(anonymous_12) +FN:167,(anonymous_13) +FN:171,getTitleHeader +FN:352,(anonymous_15) +FNF:16 +FNH:4 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:3,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:2,(anonymous_5) +FNDA:2,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:2,getTitleHeader +FNDA:0,(anonymous_15) +DA:45,1 +DA:52,1 +DA:61,1 +DA:62,0 +DA:64,0 +DA:65,0 +DA:66,0 +DA:67,0 +DA:71,1 +DA:72,3 +DA:74,3 +DA:75,3 +DA:76,2 +DA:86,2 +DA:89,0 +DA:93,0 +DA:94,0 +DA:96,0 +DA:98,0 +DA:99,0 +DA:112,2 +DA:119,2 +DA:120,2 +DA:121,0 +DA:125,2 +DA:127,2 +DA:128,0 +DA:130,0 +DA:135,2 +DA:137,0 +DA:138,0 +DA:139,0 +DA:140,0 +DA:142,0 +DA:143,0 +DA:144,0 +DA:149,2 +DA:151,0 +DA:156,2 +DA:158,0 +DA:163,2 +DA:165,2 +DA:167,2 +DA:168,0 +DA:174,2 +DA:175,0 +DA:177,0 +DA:179,0 +DA:181,0 +DA:183,0 +DA:185,0 +DA:187,0 +DA:189,0 +DA:194,2 +DA:196,2 +DA:352,1 +LF:56 +LH:24 +BRDA:65,0,0,0 +BRDA:65,0,1,0 +BRDA:113,1,0,0 +BRDA:113,1,1,2 +BRDA:120,2,0,0 +BRDA:120,2,1,2 +BRDA:128,3,0,0 +BRDA:128,3,1,0 +BRDA:138,4,0,0 +BRDA:138,4,1,0 +BRDA:174,5,0,2 +BRDA:174,5,1,0 +BRDA:175,6,0,0 +BRDA:175,6,1,0 +BRDA:175,6,2,0 +BRDA:175,6,3,0 +BRDA:175,6,4,0 +BRDA:175,6,5,0 +BRDA:175,6,6,0 +BRDA:194,7,0,0 +BRDA:194,7,1,2 +BRDA:203,8,0,0 +BRDA:203,8,1,2 +BRDA:206,9,0,0 +BRDA:206,9,1,0 +BRDA:211,10,0,0 +BRDA:211,10,1,0 +BRDA:229,11,0,2 +BRDA:229,11,1,0 +BRDA:245,12,0,2 +BRDA:245,12,1,0 +BRDA:267,13,0,2 +BRDA:267,13,1,0 +BRDA:291,14,0,2 +BRDA:291,14,1,0 +BRDA:305,15,0,2 +BRDA:305,15,1,0 +BRF:37 +BRH:10 +end_of_record +TN: +SF:src/pages/api/alerts.ts +FN:8,handler +FN:37,(anonymous_1) +FN:43,(anonymous_2) +FN:43,(anonymous_3) +FN:46,(anonymous_4) +FN:49,(anonymous_5) +FNF:6 +FNH:0 +FNDA:0,handler +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +DA:6,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:18,0 +DA:19,0 +DA:22,0 +DA:23,0 +DA:26,0 +DA:27,0 +DA:29,0 +DA:31,0 +DA:34,0 +DA:36,0 +DA:38,0 +DA:41,0 +DA:43,0 +DA:46,0 +DA:49,0 +DA:56,0 +DA:59,0 +DA:60,0 +LF:23 +LH:0 +BRDA:13,0,0,0 +BRDA:13,0,1,0 +BRDA:18,1,0,0 +BRDA:18,1,1,0 +BRDA:38,2,0,0 +BRDA:38,2,1,0 +BRDA:41,3,0,0 +BRDA:41,3,1,0 +BRDA:46,4,0,0 +BRDA:46,4,1,0 +BRF:10 +BRH:0 +end_of_record +TN: +SF:src/pages/api/check-status.ts +FN:13,handler +FN:45,(anonymous_1) +FNF:2 +FNH:2 +FNDA:3,handler +FNDA:2,(anonymous_1) +DA:11,1 +DA:17,3 +DA:18,1 +DA:19,1 +DA:20,1 +DA:23,2 +DA:24,2 +DA:31,2 +DA:32,2 +DA:34,0 +DA:35,0 +DA:45,1 +DA:49,2 +DA:50,0 +DA:53,0 +DA:58,2 +DA:59,2 +DA:65,2 +DA:66,2 +DA:67,2 +DA:69,2 +DA:70,0 +DA:71,0 +DA:72,0 +DA:74,0 +DA:75,0 +DA:78,0 +DA:81,0 +DA:86,2 +DA:87,1 +DA:92,1 +DA:95,1 +DA:96,1 +LF:33 +LH:22 +BRDA:17,0,0,1 +BRDA:17,0,1,2 +BRDA:23,1,0,2 +BRDA:23,1,1,0 +BRDA:25,2,0,2 +BRDA:25,2,1,0 +BRDA:26,3,0,2 +BRDA:26,3,1,0 +BRDA:27,4,0,2 +BRDA:27,4,1,0 +BRDA:28,5,0,2 +BRDA:28,5,1,0 +BRDA:49,6,0,0 +BRDA:49,6,1,2 +BRDA:69,7,0,0 +BRDA:69,7,1,2 +BRDA:74,8,0,0 +BRDA:74,8,1,0 +BRDA:86,9,0,1 +BRDA:86,9,1,1 +BRDA:86,10,0,2 +BRDA:86,10,1,1 +BRF:22 +BRH:13 +end_of_record +TN: +SF:src/pages/api/email-esrf.ts +FN:8,handler +FN:36,(anonymous_1) +FNF:2 +FNH:2 +FNDA:3,handler +FNDA:1,(anonymous_1) +DA:6,1 +DA:12,3 +DA:13,1 +DA:14,1 +DA:15,1 +DA:18,2 +DA:19,1 +DA:22,1 +DA:23,1 +DA:26,1 +DA:28,1 +DA:29,1 +DA:31,0 +DA:32,0 +DA:36,1 +DA:40,1 +DA:41,0 +DA:46,1 +DA:65,1 +DA:76,1 +DA:77,1 +LF:21 +LH:18 +BRDA:12,0,0,1 +BRDA:12,0,1,2 +BRDA:18,1,0,1 +BRDA:18,1,1,1 +BRDA:40,2,0,0 +BRDA:40,2,1,1 +BRDA:60,3,0,0 +BRDA:60,3,1,1 +BRF:8 +BRH:6 +end_of_record +TN: +SF:src/pages/api/health.ts +FN:8,handler +FNF:1 +FNH:0 +FNDA:0,handler +DA:6,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:18,0 +LF:6 +LH:0 +BRDA:12,0,0,0 +BRDA:12,0,1,0 +BRDA:19,1,0,0 +BRDA:19,1,1,0 +BRDA:20,2,0,0 +BRDA:20,2,1,0 +BRDA:21,3,0,0 +BRDA:21,3,1,0 +BRDA:22,4,0,0 +BRDA:22,4,1,0 +BRDA:23,5,0,0 +BRDA:23,5,1,0 +BRF:12 +BRH:0 +end_of_record