qpp-style 9.20.0 → 9.20.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. package/coverage/clover.xml +291 -335
  2. package/coverage/coverage-final.json +71 -72
  3. package/coverage/lcov-report/components/Accordion/index.html +1 -1
  4. package/coverage/lcov-report/components/Accordion/index.jsx.html +4 -4
  5. package/coverage/lcov-report/components/Error/Collapsible.jsx.html +1 -1
  6. package/coverage/lcov-report/components/Error/ErrorUI.jsx.html +1 -1
  7. package/coverage/lcov-report/components/Error/index.html +1 -1
  8. package/coverage/lcov-report/components/Footer/FooterUI.jsx.html +358 -184
  9. package/coverage/lcov-report/components/{Header/HeaderUI.jsx.html → Footer/LegacyFooterUI.jsx.html} +274 -193
  10. package/coverage/lcov-report/components/Footer/SocialLinks.jsx.html +11 -11
  11. package/coverage/lcov-report/components/Footer/Subscribe.jsx.html +11 -11
  12. package/coverage/lcov-report/components/Footer/index.html +44 -29
  13. package/coverage/lcov-report/components/Infotip/Infotip.jsx.html +2 -2
  14. package/coverage/lcov-report/components/Infotip/InfotipIcon.jsx.html +5 -5
  15. package/coverage/lcov-report/components/Infotip/index.html +1 -1
  16. package/coverage/lcov-report/components/Infotip/index.js.html +1 -1
  17. package/coverage/lcov-report/components/Modal/LegacyModal.jsx.html +3 -3
  18. package/coverage/lcov-report/components/Modal/Modal.jsx.html +5 -5
  19. package/coverage/lcov-report/components/Modal/index.html +1 -1
  20. package/coverage/lcov-report/components/Modal/index.jsx.html +5 -5
  21. package/coverage/lcov-report/components/SanitizedContent/index.html +1 -1
  22. package/coverage/lcov-report/components/SanitizedContent/index.jsx.html +1 -1
  23. package/coverage/lcov-report/components/SessionDialogUI.jsx.html +4 -4
  24. package/coverage/lcov-report/components/{NotificationBanner/CollapsedView.js.html → SideNav/AnimationGroup/AnimationGroup.jsx.html} +41 -56
  25. package/coverage/lcov-report/components/{Button → SideNav/AnimationGroup}/index.html +30 -30
  26. package/coverage/lcov-report/components/SideNav/Chart/ScoreChart.jsx.html +7 -7
  27. package/coverage/lcov-report/components/SideNav/Chart/index.html +16 -1
  28. package/coverage/lcov-report/components/SideNav/Chart/index.js.html +94 -0
  29. package/coverage/lcov-report/components/{NotificationBanner/index.js.html → SideNav/Content/LevelOneContent.jsx.html} +244 -283
  30. package/coverage/lcov-report/components/{Header/HeaderMenuItem.jsx.html → SideNav/Content/LevelTwoContent.jsx.html} +236 -305
  31. package/coverage/lcov-report/components/SideNav/Content/index.html +146 -0
  32. package/coverage/lcov-report/components/SideNav/Content/index.js.html +97 -0
  33. package/coverage/lcov-report/components/{Header/HeaderCancel.jsx.html → SideNav/Details/IndividualDetails.jsx.html} +24 -18
  34. package/coverage/lcov-report/components/{NotificationBanner/ExpandedView.js.html → SideNav/Details/PracticeDetails.jsx.html} +64 -64
  35. package/coverage/lcov-report/components/{NotificationBanner → SideNav/Details}/index.html +40 -40
  36. package/coverage/lcov-report/components/SideNav/Details/index.js.html +97 -0
  37. package/coverage/lcov-report/{react/components/NotificationBanner/ExpandedView.js.html → components/SideNav/Links/CmsSwitchLink.jsx.html} +43 -55
  38. package/coverage/lcov-report/components/{Header/HeaderMenuButton.js.html → SideNav/Links/NavItemInline.jsx.html} +75 -63
  39. package/coverage/lcov-report/components/{Header/HeaderLogo.jsx.html → SideNav/Links/NavLinkContainer.jsx.html} +60 -72
  40. package/coverage/lcov-report/components/SideNav/Links/NavLinkDrawer.jsx.html +832 -0
  41. package/coverage/lcov-report/components/{Button/index.js.html → SideNav/Links/NavLinkInline.jsx.html} +152 -101
  42. package/coverage/lcov-report/{react/components/NotificationBanner/CollapsedView.js.html → components/SideNav/Links/NavLinkToggle.jsx.html} +46 -40
  43. package/coverage/lcov-report/components/SideNav/Links/index.html +206 -0
  44. package/coverage/lcov-report/components/{Header/utag-helpers.js.html → SideNav/Links/index.js.html} +40 -28
  45. package/coverage/lcov-report/components/SideNav/UI/SideNavUI.jsx.html +1084 -0
  46. package/coverage/lcov-report/components/{GovBanner → SideNav/UI}/index.html +42 -27
  47. package/coverage/lcov-report/components/SideNav/UI/index.js.html +94 -0
  48. package/coverage/lcov-report/components/SideNav/helpers.js.html +10 -829
  49. package/coverage/lcov-report/components/SideNav/index.html +17 -17
  50. package/coverage/lcov-report/components/Tooltip/Tooltip.jsx.html +8 -8
  51. package/coverage/lcov-report/components/Tooltip/index.html +1 -1
  52. package/coverage/lcov-report/components/Tooltip/index.js.html +1 -1
  53. package/coverage/lcov-report/components/Tooltip/position.js.html +1 -1
  54. package/coverage/lcov-report/components/hooks/index.html +19 -19
  55. package/coverage/lcov-report/components/hooks/useGetConfig.js.html +36 -39
  56. package/coverage/lcov-report/components/index.html +1 -1
  57. package/coverage/lcov-report/index.html +63 -63
  58. package/coverage/lcov-report/lib/Chevron.jsx.html +5 -5
  59. package/coverage/lcov-report/lib/SvgComponents.jsx.html +12 -102
  60. package/coverage/lcov-report/lib/index.html +30 -15
  61. package/coverage/lcov-report/lib/svg-definitions.svg.html +460 -0
  62. package/coverage/lcov-report/react/components/Accordion/index.html +1 -1
  63. package/coverage/lcov-report/react/components/Accordion/index.jsx.html +1 -1
  64. package/coverage/lcov-report/react/components/Button/index.html +1 -1
  65. package/coverage/lcov-report/react/components/Button/index.js.html +1 -1
  66. package/coverage/lcov-report/react/components/Dropdown/index.html +1 -1
  67. package/coverage/lcov-report/react/components/Dropdown/index.js.html +1 -1
  68. package/coverage/lcov-report/react/components/Error/Collapsible.jsx.html +1 -1
  69. package/coverage/lcov-report/react/components/Error/ErrorUI.jsx.html +1 -1
  70. package/coverage/lcov-report/react/components/Error/error.js.html +1 -1
  71. package/coverage/lcov-report/react/components/Error/index.html +1 -1
  72. package/coverage/lcov-report/react/components/Footer/FooterUI.jsx.html +1 -1
  73. package/coverage/lcov-report/react/components/Footer/LegacyFooterUI.jsx.html +16 -16
  74. package/coverage/lcov-report/react/components/Footer/SocialLinks.jsx.html +1 -1
  75. package/coverage/lcov-report/react/components/Footer/Subscribe.jsx.html +1 -1
  76. package/coverage/lcov-report/react/components/Footer/footer.js.html +1 -1
  77. package/coverage/lcov-report/react/components/Footer/index.html +1 -1
  78. package/coverage/lcov-report/react/components/GovBanner/index.html +1 -1
  79. package/coverage/lcov-report/react/components/GovBanner/index.js.html +1 -1
  80. package/coverage/lcov-report/react/components/Header/HeaderAccountMenu.jsx.html +1 -1
  81. package/coverage/lcov-report/react/components/Header/HeaderCancel.jsx.html +1 -1
  82. package/coverage/lcov-report/react/components/Header/HeaderContainer.jsx.html +1 -1
  83. package/coverage/lcov-report/react/components/Header/HeaderLogo.jsx.html +1 -1
  84. package/coverage/lcov-report/react/components/Header/HeaderMenuButton.js.html +1 -1
  85. package/coverage/lcov-report/react/components/Header/HeaderMenuItem.jsx.html +1 -1
  86. package/coverage/lcov-report/react/components/Header/HeaderMenuLink.js.html +8 -26
  87. package/coverage/lcov-report/react/components/Header/HeaderMenuSignOutButton.js.html +1 -1
  88. package/coverage/lcov-report/react/components/Header/HeaderMobileButton.js.html +1 -1
  89. package/coverage/lcov-report/react/components/Header/HeaderUI.jsx.html +1 -1
  90. package/coverage/lcov-report/react/components/Header/HelpIcon.jsx.html +1 -1
  91. package/coverage/lcov-report/react/components/Header/ImpersonatorBanner.jsx.html +1 -1
  92. package/coverage/lcov-report/react/components/Header/NavigationButtonIcon.jsx.html +1 -1
  93. package/coverage/lcov-report/react/components/Header/header.js.html +1 -1
  94. package/coverage/lcov-report/react/components/Header/hooks.js.html +1 -1
  95. package/coverage/lcov-report/react/components/Header/index.html +17 -17
  96. package/coverage/lcov-report/react/components/Header/utag-helpers.js.html +1 -1
  97. package/coverage/lcov-report/react/components/Infotip/Infotip.jsx.html +1 -1
  98. package/coverage/lcov-report/react/components/Infotip/InfotipIcon.jsx.html +1 -1
  99. package/coverage/lcov-report/react/components/Infotip/index.html +1 -1
  100. package/coverage/lcov-report/react/components/Infotip/index.js.html +1 -1
  101. package/coverage/lcov-report/react/components/Modal/LegacyModal.jsx.html +1 -1
  102. package/coverage/lcov-report/react/components/Modal/Modal.jsx.html +1 -1
  103. package/coverage/lcov-report/react/components/Modal/index.html +1 -1
  104. package/coverage/lcov-report/react/components/Modal/index.jsx.html +1 -1
  105. package/coverage/lcov-report/react/components/NotificationBanner/index.html +21 -51
  106. package/coverage/lcov-report/react/components/NotificationBanner/index.js.html +304 -172
  107. package/coverage/lcov-report/react/components/SanitizedContent/index.html +1 -1
  108. package/coverage/lcov-report/react/components/SanitizedContent/index.jsx.html +1 -1
  109. package/coverage/lcov-report/react/components/SessionDialog/index.html +1 -1
  110. package/coverage/lcov-report/react/components/SessionDialog/sessionDialog.js.html +1 -1
  111. package/coverage/lcov-report/react/components/SessionDialogUI.jsx.html +1 -1
  112. package/coverage/lcov-report/react/components/SideNav/AnimationGroup/AnimationGroup.jsx.html +1 -1
  113. package/coverage/lcov-report/react/components/SideNav/AnimationGroup/index.html +1 -1
  114. package/coverage/lcov-report/react/components/SideNav/Chart/ScoreChart.jsx.html +1 -1
  115. package/coverage/lcov-report/react/components/SideNav/Chart/index.html +1 -1
  116. package/coverage/lcov-report/react/components/SideNav/Chart/index.js.html +1 -1
  117. package/coverage/lcov-report/react/components/SideNav/Content/LevelOneContent.jsx.html +31 -109
  118. package/coverage/lcov-report/react/components/SideNav/Content/LevelTwoContent.jsx.html +1 -1
  119. package/coverage/lcov-report/react/components/SideNav/Content/SelectRole/index.html +14 -14
  120. package/coverage/lcov-report/react/components/SideNav/Content/SelectRole/index.js.html +16 -10
  121. package/coverage/lcov-report/react/components/SideNav/Content/SelectRole/utils.js.html +27 -51
  122. package/coverage/lcov-report/react/components/SideNav/Content/index.html +19 -19
  123. package/coverage/lcov-report/react/components/SideNav/Content/index.js.html +1 -1
  124. package/coverage/lcov-report/react/components/SideNav/Details/IndividualDetails.jsx.html +1 -1
  125. package/coverage/lcov-report/react/components/SideNav/Details/PracticeDetails.jsx.html +1 -1
  126. package/coverage/lcov-report/react/components/SideNav/Details/index.html +1 -1
  127. package/coverage/lcov-report/react/components/SideNav/Details/index.js.html +1 -1
  128. package/coverage/lcov-report/react/components/SideNav/Links/CmsSwitchLink.jsx.html +1 -1
  129. package/coverage/lcov-report/react/components/SideNav/Links/NavItemInline.jsx.html +1 -1
  130. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkContainer.jsx.html +1 -1
  131. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkDrawer.jsx.html +1 -1
  132. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkInline.jsx.html +1 -1
  133. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkToggle.jsx.html +1 -1
  134. package/coverage/lcov-report/react/components/SideNav/Links/index.html +1 -1
  135. package/coverage/lcov-report/react/components/SideNav/Links/index.js.html +1 -1
  136. package/coverage/lcov-report/react/components/SideNav/UI/SideNavUI.jsx.html +16 -4
  137. package/coverage/lcov-report/react/components/SideNav/UI/index.html +1 -1
  138. package/coverage/lcov-report/react/components/SideNav/UI/index.js.html +1 -1
  139. package/coverage/lcov-report/react/components/SideNav/helpers.js.html +17 -197
  140. package/coverage/lcov-report/react/components/SideNav/index.html +19 -19
  141. package/coverage/lcov-report/react/components/SideNav/index.js.html +1 -1
  142. package/coverage/lcov-report/react/components/Tooltip/Tooltip.jsx.html +1 -1
  143. package/coverage/lcov-report/react/components/Tooltip/index.html +1 -1
  144. package/coverage/lcov-report/react/components/Tooltip/index.js.html +1 -1
  145. package/coverage/lcov-report/react/components/Tooltip/position.js.html +1 -1
  146. package/coverage/lcov-report/react/components/hooks/index.html +1 -1
  147. package/coverage/lcov-report/react/components/hooks/useGetConfig.js.html +1 -1
  148. package/coverage/lcov-report/react/components/index.html +1 -1
  149. package/coverage/lcov-report/react/index.html +1 -1
  150. package/coverage/lcov-report/react/index.js.html +1 -1
  151. package/coverage/lcov-report/react/lib/Chevron.jsx.html +1 -1
  152. package/coverage/lcov-report/react/lib/SvgComponents.jsx.html +9 -57
  153. package/coverage/lcov-report/react/lib/index.html +29 -14
  154. package/coverage/lcov-report/react/lib/svg-definitions.svg.html +1 -1
  155. package/coverage/lcov-report/react/session/index.html +1 -1
  156. package/coverage/lcov-report/react/session/index.js.html +1 -1
  157. package/coverage/lcov-report/react/session/logout.js.html +1 -1
  158. package/coverage/lcov-report/react/session/refresh.js.html +1 -1
  159. package/coverage/lcov-report/react/session/ttl.js.html +1 -1
  160. package/coverage/lcov-report/session/index.html +20 -20
  161. package/coverage/lcov-report/session/index.js.html +1 -1
  162. package/coverage/lcov-report/session/logout.js.html +15 -24
  163. package/coverage/lcov-report/session/refresh.js.html +2 -2
  164. package/coverage/lcov-report/session/ttl.js.html +2 -2
  165. package/coverage/lcov.info +454 -530
  166. package/dist/browser.js +1 -1
  167. package/dist/browser.js.map +1 -1
  168. package/dist/index.js +1 -1
  169. package/dist/index.js.map +1 -1
  170. package/dist/react/index.js +1 -1
  171. package/dist/react/index.js.map +1 -1
  172. package/package.json +9 -9
  173. package/styles/qppds/components/_header.scss +1 -1
  174. package/coverage/lcov-report/components/GovBanner/index.js.html +0 -436
  175. package/coverage/lcov-report/components/Header/HeaderAccountMenu.jsx.html +0 -592
  176. package/coverage/lcov-report/components/Header/HeaderContainer.jsx.html +0 -280
  177. package/coverage/lcov-report/components/Header/HeaderMenuLink.js.html +0 -253
  178. package/coverage/lcov-report/components/Header/HeaderMenuSignOutButton.js.html +0 -271
  179. package/coverage/lcov-report/components/Header/HeaderMobileButton.js.html +0 -196
  180. package/coverage/lcov-report/components/Header/HelpIcon.jsx.html +0 -181
  181. package/coverage/lcov-report/components/Header/ImpersonatorBanner.jsx.html +0 -331
  182. package/coverage/lcov-report/components/Header/NavigationButtonIcon.jsx.html +0 -166
  183. package/coverage/lcov-report/components/Header/hooks.js.html +0 -241
  184. package/coverage/lcov-report/components/Header/index.html +0 -326
@@ -3,7 +3,7 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for components/Header/HeaderUI.jsx</title>
6
+ <title>Code coverage report for components/Footer/LegacyFooterUI.jsx</title>
7
7
  <meta charset="utf-8" />
8
8
  <link rel="stylesheet" href="../../prettify.css" />
9
9
  <link rel="stylesheet" href="../../base.css" />
@@ -19,34 +19,34 @@
19
19
  <body>
20
20
  <div class='wrapper'>
21
21
  <div class='pad1'>
22
- <h1><a href="../../index.html">All files</a> / <a href="index.html">components/Header</a> HeaderUI.jsx</h1>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">components/Footer</a> LegacyFooterUI.jsx</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">64% </span>
26
+ <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>16/25</span>
28
+ <span class='fraction'>4/4</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">62.5% </span>
33
+ <span class="strong">100% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>5/8</span>
35
+ <span class='fraction'>8/8</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">44.44% </span>
40
+ <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>4/9</span>
42
+ <span class='fraction'>1/1</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">66.66% </span>
47
+ <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>16/24</span>
49
+ <span class='fraction'>4/4</span>
50
50
  </div>
51
51
 
52
52
 
@@ -61,7 +61,7 @@
61
61
  </div>
62
62
  </template>
63
63
  </div>
64
- <div class='status-line medium'></div>
64
+ <div class='status-line high'></div>
65
65
  <pre><table class="coverage">
66
66
  <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
67
  <a name='L2'></a><a href='#L2'>2</a>
@@ -230,7 +230,65 @@
230
230
  <a name='L165'></a><a href='#L165'>165</a>
231
231
  <a name='L166'></a><a href='#L166'>166</a>
232
232
  <a name='L167'></a><a href='#L167'>167</a>
233
- <a name='L168'></a><a href='#L168'>168</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
233
+ <a name='L168'></a><a href='#L168'>168</a>
234
+ <a name='L169'></a><a href='#L169'>169</a>
235
+ <a name='L170'></a><a href='#L170'>170</a>
236
+ <a name='L171'></a><a href='#L171'>171</a>
237
+ <a name='L172'></a><a href='#L172'>172</a>
238
+ <a name='L173'></a><a href='#L173'>173</a>
239
+ <a name='L174'></a><a href='#L174'>174</a>
240
+ <a name='L175'></a><a href='#L175'>175</a>
241
+ <a name='L176'></a><a href='#L176'>176</a>
242
+ <a name='L177'></a><a href='#L177'>177</a>
243
+ <a name='L178'></a><a href='#L178'>178</a>
244
+ <a name='L179'></a><a href='#L179'>179</a>
245
+ <a name='L180'></a><a href='#L180'>180</a>
246
+ <a name='L181'></a><a href='#L181'>181</a>
247
+ <a name='L182'></a><a href='#L182'>182</a>
248
+ <a name='L183'></a><a href='#L183'>183</a>
249
+ <a name='L184'></a><a href='#L184'>184</a>
250
+ <a name='L185'></a><a href='#L185'>185</a>
251
+ <a name='L186'></a><a href='#L186'>186</a>
252
+ <a name='L187'></a><a href='#L187'>187</a>
253
+ <a name='L188'></a><a href='#L188'>188</a>
254
+ <a name='L189'></a><a href='#L189'>189</a>
255
+ <a name='L190'></a><a href='#L190'>190</a>
256
+ <a name='L191'></a><a href='#L191'>191</a>
257
+ <a name='L192'></a><a href='#L192'>192</a>
258
+ <a name='L193'></a><a href='#L193'>193</a>
259
+ <a name='L194'></a><a href='#L194'>194</a>
260
+ <a name='L195'></a><a href='#L195'>195</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
261
+ <span class="cline-any cline-neutral">&nbsp;</span>
262
+ <span class="cline-any cline-neutral">&nbsp;</span>
263
+ <span class="cline-any cline-neutral">&nbsp;</span>
264
+ <span class="cline-any cline-neutral">&nbsp;</span>
265
+ <span class="cline-any cline-yes">1x</span>
266
+ <span class="cline-any cline-neutral">&nbsp;</span>
267
+ <span class="cline-any cline-yes">1x</span>
268
+ <span class="cline-any cline-yes">5x</span>
269
+ <span class="cline-any cline-neutral">&nbsp;</span>
270
+ <span class="cline-any cline-neutral">&nbsp;</span>
271
+ <span class="cline-any cline-neutral">&nbsp;</span>
272
+ <span class="cline-any cline-neutral">&nbsp;</span>
273
+ <span class="cline-any cline-neutral">&nbsp;</span>
274
+ <span class="cline-any cline-neutral">&nbsp;</span>
275
+ <span class="cline-any cline-neutral">&nbsp;</span>
276
+ <span class="cline-any cline-neutral">&nbsp;</span>
277
+ <span class="cline-any cline-neutral">&nbsp;</span>
278
+ <span class="cline-any cline-neutral">&nbsp;</span>
279
+ <span class="cline-any cline-neutral">&nbsp;</span>
280
+ <span class="cline-any cline-neutral">&nbsp;</span>
281
+ <span class="cline-any cline-neutral">&nbsp;</span>
282
+ <span class="cline-any cline-neutral">&nbsp;</span>
283
+ <span class="cline-any cline-neutral">&nbsp;</span>
284
+ <span class="cline-any cline-neutral">&nbsp;</span>
285
+ <span class="cline-any cline-neutral">&nbsp;</span>
286
+ <span class="cline-any cline-neutral">&nbsp;</span>
287
+ <span class="cline-any cline-neutral">&nbsp;</span>
288
+ <span class="cline-any cline-neutral">&nbsp;</span>
289
+ <span class="cline-any cline-neutral">&nbsp;</span>
290
+ <span class="cline-any cline-neutral">&nbsp;</span>
291
+ <span class="cline-any cline-neutral">&nbsp;</span>
234
292
  <span class="cline-any cline-neutral">&nbsp;</span>
235
293
  <span class="cline-any cline-neutral">&nbsp;</span>
236
294
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -244,7 +302,6 @@
244
302
  <span class="cline-any cline-neutral">&nbsp;</span>
245
303
  <span class="cline-any cline-neutral">&nbsp;</span>
246
304
  <span class="cline-any cline-neutral">&nbsp;</span>
247
- <span class="cline-any cline-yes">1x</span>
248
305
  <span class="cline-any cline-neutral">&nbsp;</span>
249
306
  <span class="cline-any cline-neutral">&nbsp;</span>
250
307
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -259,37 +316,25 @@
259
316
  <span class="cline-any cline-neutral">&nbsp;</span>
260
317
  <span class="cline-any cline-neutral">&nbsp;</span>
261
318
  <span class="cline-any cline-neutral">&nbsp;</span>
262
- <span class="cline-any cline-yes">4x</span>
263
319
  <span class="cline-any cline-neutral">&nbsp;</span>
264
- <span class="cline-any cline-yes">4x</span>
265
320
  <span class="cline-any cline-neutral">&nbsp;</span>
266
- <span class="cline-any cline-yes">4x</span>
267
321
  <span class="cline-any cline-neutral">&nbsp;</span>
268
322
  <span class="cline-any cline-neutral">&nbsp;</span>
269
- <span class="cline-any cline-yes">2x</span>
270
- <span class="cline-any cline-no">&nbsp;</span>
271
- <span class="cline-any cline-no">&nbsp;</span>
272
323
  <span class="cline-any cline-neutral">&nbsp;</span>
273
324
  <span class="cline-any cline-neutral">&nbsp;</span>
274
- <span class="cline-any cline-no">&nbsp;</span>
275
325
  <span class="cline-any cline-neutral">&nbsp;</span>
276
326
  <span class="cline-any cline-neutral">&nbsp;</span>
277
327
  <span class="cline-any cline-neutral">&nbsp;</span>
278
- <span class="cline-any cline-yes">2x</span>
279
328
  <span class="cline-any cline-neutral">&nbsp;</span>
280
329
  <span class="cline-any cline-neutral">&nbsp;</span>
281
330
  <span class="cline-any cline-neutral">&nbsp;</span>
282
- <span class="cline-any cline-yes">4x</span>
283
331
  <span class="cline-any cline-neutral">&nbsp;</span>
284
332
  <span class="cline-any cline-neutral">&nbsp;</span>
285
333
  <span class="cline-any cline-neutral">&nbsp;</span>
286
334
  <span class="cline-any cline-neutral">&nbsp;</span>
287
335
  <span class="cline-any cline-neutral">&nbsp;</span>
288
336
  <span class="cline-any cline-neutral">&nbsp;</span>
289
- <span class="cline-any cline-yes">4x</span>
290
337
  <span class="cline-any cline-neutral">&nbsp;</span>
291
- <span class="cline-any cline-yes">4x</span>
292
- <span class="cline-any cline-no">&nbsp;</span>
293
338
  <span class="cline-any cline-neutral">&nbsp;</span>
294
339
  <span class="cline-any cline-neutral">&nbsp;</span>
295
340
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -302,8 +347,6 @@
302
347
  <span class="cline-any cline-neutral">&nbsp;</span>
303
348
  <span class="cline-any cline-neutral">&nbsp;</span>
304
349
  <span class="cline-any cline-neutral">&nbsp;</span>
305
- <span class="cline-any cline-yes">4x</span>
306
- <span class="cline-any cline-no">&nbsp;</span>
307
350
  <span class="cline-any cline-neutral">&nbsp;</span>
308
351
  <span class="cline-any cline-neutral">&nbsp;</span>
309
352
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -320,11 +363,8 @@
320
363
  <span class="cline-any cline-neutral">&nbsp;</span>
321
364
  <span class="cline-any cline-neutral">&nbsp;</span>
322
365
  <span class="cline-any cline-neutral">&nbsp;</span>
323
- <span class="cline-any cline-yes">4x</span>
324
- <span class="cline-any cline-yes">2x</span>
325
366
  <span class="cline-any cline-neutral">&nbsp;</span>
326
367
  <span class="cline-any cline-neutral">&nbsp;</span>
327
- <span class="cline-any cline-yes">2x</span>
328
368
  <span class="cline-any cline-neutral">&nbsp;</span>
329
369
  <span class="cline-any cline-neutral">&nbsp;</span>
330
370
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -333,15 +373,12 @@
333
373
  <span class="cline-any cline-neutral">&nbsp;</span>
334
374
  <span class="cline-any cline-neutral">&nbsp;</span>
335
375
  <span class="cline-any cline-neutral">&nbsp;</span>
336
- <span class="cline-any cline-no">&nbsp;</span>
337
376
  <span class="cline-any cline-neutral">&nbsp;</span>
338
377
  <span class="cline-any cline-neutral">&nbsp;</span>
339
378
  <span class="cline-any cline-neutral">&nbsp;</span>
340
379
  <span class="cline-any cline-neutral">&nbsp;</span>
341
380
  <span class="cline-any cline-neutral">&nbsp;</span>
342
- <span class="cline-any cline-yes">2x</span>
343
381
  <span class="cline-any cline-neutral">&nbsp;</span>
344
- <span class="cline-any cline-no">&nbsp;</span>
345
382
  <span class="cline-any cline-neutral">&nbsp;</span>
346
383
  <span class="cline-any cline-neutral">&nbsp;</span>
347
384
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -349,7 +386,6 @@
349
386
  <span class="cline-any cline-neutral">&nbsp;</span>
350
387
  <span class="cline-any cline-neutral">&nbsp;</span>
351
388
  <span class="cline-any cline-neutral">&nbsp;</span>
352
- <span class="cline-any cline-no">&nbsp;</span>
353
389
  <span class="cline-any cline-neutral">&nbsp;</span>
354
390
  <span class="cline-any cline-neutral">&nbsp;</span>
355
391
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -365,7 +401,6 @@
365
401
  <span class="cline-any cline-neutral">&nbsp;</span>
366
402
  <span class="cline-any cline-neutral">&nbsp;</span>
367
403
  <span class="cline-any cline-neutral">&nbsp;</span>
368
- <span class="cline-any cline-yes">1x</span>
369
404
  <span class="cline-any cline-neutral">&nbsp;</span>
370
405
  <span class="cline-any cline-neutral">&nbsp;</span>
371
406
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -380,7 +415,6 @@
380
415
  <span class="cline-any cline-neutral">&nbsp;</span>
381
416
  <span class="cline-any cline-neutral">&nbsp;</span>
382
417
  <span class="cline-any cline-neutral">&nbsp;</span>
383
- <span class="cline-any cline-yes">1x</span>
384
418
  <span class="cline-any cline-neutral">&nbsp;</span>
385
419
  <span class="cline-any cline-neutral">&nbsp;</span>
386
420
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -397,173 +431,220 @@
397
431
  <span class="cline-any cline-neutral">&nbsp;</span>
398
432
  <span class="cline-any cline-neutral">&nbsp;</span>
399
433
  <span class="cline-any cline-neutral">&nbsp;</span>
400
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import React, { useState } from 'react';
434
+ <span class="cline-any cline-neutral">&nbsp;</span>
435
+ <span class="cline-any cline-neutral">&nbsp;</span>
436
+ <span class="cline-any cline-neutral">&nbsp;</span>
437
+ <span class="cline-any cline-neutral">&nbsp;</span>
438
+ <span class="cline-any cline-neutral">&nbsp;</span>
439
+ <span class="cline-any cline-neutral">&nbsp;</span>
440
+ <span class="cline-any cline-neutral">&nbsp;</span>
441
+ <span class="cline-any cline-neutral">&nbsp;</span>
442
+ <span class="cline-any cline-neutral">&nbsp;</span>
443
+ <span class="cline-any cline-neutral">&nbsp;</span>
444
+ <span class="cline-any cline-neutral">&nbsp;</span>
445
+ <span class="cline-any cline-neutral">&nbsp;</span>
446
+ <span class="cline-any cline-neutral">&nbsp;</span>
447
+ <span class="cline-any cline-yes">1x</span>
448
+ <span class="cline-any cline-neutral">&nbsp;</span>
449
+ <span class="cline-any cline-neutral">&nbsp;</span>
450
+ <span class="cline-any cline-neutral">&nbsp;</span>
451
+ <span class="cline-any cline-neutral">&nbsp;</span>
452
+ <span class="cline-any cline-neutral">&nbsp;</span>
453
+ <span class="cline-any cline-neutral">&nbsp;</span>
454
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import React from 'react';
401
455
  import PropTypes from 'prop-types';
456
+ import InfoTip from '../Infotip/Infotip';
402
457
  &nbsp;
403
- import HeaderAccountMenu from './HeaderAccountMenu.jsx';
404
- import HeaderCancel from './HeaderCancel.jsx';
405
- import HeaderContainer from './HeaderContainer';
406
- import HeaderMenuItem from './HeaderMenuItem';
407
- import HeaderMobileButton from './HeaderMobileButton';
408
- import ImpersonatorBanner from './ImpersonatorBanner';
409
- import HelpIcon from './HelpIcon';
410
- import defaultHeaderContent from './default-content.json';
411
- import { HeaderStateProvider } from './hooks';
412
- import useGetConfig from '../hooks/useGetConfig';
413
- &nbsp;
414
- const HeaderUI = ({
415
- fbpPerformanceYear,
416
- feedbackPerformanceYear,
417
- handleCancel,
418
- includeSkipToSidebar,
419
- isDevPre,
420
- isLoginEnabled,
421
- performanceYear,
422
- showCancelButton,
423
- showPhysicianCompareLink,
424
- showFacilityBasedPreviewLink,
425
- skipToContentId,
426
- RouterLink,
427
- isIESupportPage,
428
- }) =&gt; {
429
- const [isMobileMenuExpanded, setIsMobileMenuExpanded] = useState(false);
430
- &nbsp;
431
- const mapContentToRows = (config) =&gt; {
432
- // Append transposed array to content
433
- return config?.map((section) =&gt; {
434
- // Only header items with multiple columns need to be transposed
435
- // Single column menus' tab order will remain the same
436
- <span class="missing-if-branch" title="if path not taken" >I</span>if (section.columns?.length &gt; 1) {
437
- const { columns } = <span class="cstat-no" title="statement not covered" >section;</span>
438
- <span class="cstat-no" title="statement not covered" > return {</span>
439
- ...section,
440
- rows: columns[0].map(<span class="fstat-no" title="function not covered" >(_</span>, colIndex) =&gt;
441
- <span class="cstat-no" title="statement not covered" > columns.map(<span class="fstat-no" title="function not covered" >(r</span>ow) =&gt; <span class="cstat-no" title="statement not covered" >row[colIndex])</span></span>
442
- ),
443
- };
444
- }
445
- return { ...section, rows: section.columns };
446
- });
447
- };
448
- &nbsp;
449
- const result = useGetConfig({
450
- localStorageName: 'qpp_top_nav_content',
451
- url: '/config/header',
452
- timeout: 30,
453
- defaultContent: defaultHeaderContent,
454
- });
455
- &nbsp;
456
- const content = mapContentToRows(result?.content);
457
- &nbsp;
458
- <span class="missing-if-branch" title="if path not taken" >I</span>if (showCancelButton) {
459
- <span class="cstat-no" title="statement not covered" > return (</span>
460
- &lt;HeaderStateProvider RouterLink={RouterLink}&gt;
461
- &lt;HeaderContainer
462
- showCancelButton
463
- skipToContentId={skipToContentId}
464
- includeSkipToSidebar={includeSkipToSidebar}
465
- &gt;
466
- &lt;HeaderCancel handleCancel={handleCancel} /&gt;
467
- &lt;/HeaderContainer&gt;
468
- &lt;/HeaderStateProvider&gt;
469
- );
470
- }
471
- &nbsp;
472
- <span class="missing-if-branch" title="if path not taken" >I</span>if (isDevPre) {
473
- <span class="cstat-no" title="statement not covered" > return (</span>
474
- &lt;HeaderStateProvider RouterLink={RouterLink}&gt;
475
- &lt;HeaderContainer
476
- isIESupportPage={isIESupportPage}
477
- skipToContentId={skipToContentId}
478
- includeSkipToSidebar={includeSkipToSidebar}
479
- &gt;
480
- &lt;nav aria-label="Primary navigation" hidden={!isMobileMenuExpanded}&gt;
481
- &lt;ul className="navigation-menu"&gt;
482
- &lt;HeaderAccountMenu isDevPre isLoginEnabled={isLoginEnabled} /&gt;
483
- &lt;/ul&gt;
484
- &lt;/nav&gt;
485
- &lt;/HeaderContainer&gt;
486
- &lt;/HeaderStateProvider&gt;
487
- );
488
- }
489
- &nbsp;
490
- if (!content) {
491
- return null;
492
- }
458
+ const infoTipLabel =
459
+ 'When dialing 711, you will automatically be connected to a TRS Communications Assistant who will relay your conversation to the help desk agent with strict confidentiality.';
493
460
  &nbsp;
461
+ const LegacyFooterUI = ({ buildVersion, isFullWidth, signUpNowLink }) =&gt; {
494
462
  return (
495
- &lt;HeaderStateProvider RouterLink={RouterLink}&gt;
496
- &lt;HeaderContainer
497
- isIESupportPage={isIESupportPage}
498
- skipToContentId={skipToContentId}
499
- includeSkipToSidebar={includeSkipToSidebar}
463
+ &lt;footer className="legacy-footer"&gt;
464
+ &lt;div className="build-version" id="build-version"&gt;
465
+ {buildVersion}
466
+ &lt;/div&gt;
467
+ &lt;div className="banner"&gt;
468
+ &lt;div
469
+ className={
470
+ isFullWidth ? 'container-full-width' : 'responsive-container'
471
+ }
472
+ &gt;
473
+ &lt;div className="row"&gt;
474
+ &lt;div className="col-sm-12 col-md-12 col-lg-12"&gt;
475
+ &lt;span&gt;Help shape the future of QPP&lt;/span&gt; by participating in user
476
+ feedback sessions.{' '}
477
+ &lt;a className="email-note-link" href={signUpNowLink}&gt;
478
+ Send us an email to sign up
479
+ &lt;/a&gt;
480
+ &lt;/div&gt;
481
+ &lt;/div&gt;
482
+ &lt;/div&gt;
483
+ &lt;/div&gt;
484
+ &lt;div
485
+ className={
486
+ isFullWidth ? 'container-full-width' : 'responsive-container'
487
+ }
500
488
  &gt;
501
- &lt;HelpIcon /&gt;
502
- &lt;HeaderMobileButton
503
- handleClick={<span class="fstat-no" title="function not covered" >()</span> =&gt; <span class="cstat-no" title="statement not covered" >setIsMobileMenuExpanded(!isMobileMenuExpanded)}</span>
504
- isMobileMenuExpanded={isMobileMenuExpanded}
505
- /&gt;
506
- &lt;nav aria-label="Primary navigation" hidden={!isMobileMenuExpanded}&gt;
507
- &lt;ul className="navigation-menu navigation-new-style"&gt;
508
- {content.map((header) =&gt; (
509
- &lt;HeaderMenuItem
510
- handleClick={<span class="fstat-no" title="function not covered" >()</span> =&gt; {
511
- <span class="cstat-no" title="statement not covered" > setIsMobileMenuExpanded(!isMobileMenuExpanded);</span>
512
- }}
513
- isMobileMenuExpanded={isMobileMenuExpanded}
514
- key={header.name}
515
- {...header}
489
+ &lt;div className="row"&gt;
490
+ &lt;div
491
+ className={
492
+ isFullWidth
493
+ ? 'col-sm-12 col-md-8 col-lg-8'
494
+ : 'col-sm-8 col-md-9 col-lg-9'
495
+ }
496
+ &gt;
497
+ &lt;div className="logo-container"&gt;
498
+ &lt;img
499
+ src="/images/qpp_logo_reversed.png"
500
+ alt="Quality Payment Program"
501
+ className="qpp-logo"
516
502
  /&gt;
517
- ))}
518
- &lt;HeaderAccountMenu
519
- handleClick={<span class="fstat-no" title="function not covered" >()</span> =&gt; <span class="cstat-no" title="statement not covered" >setIsMobileMenuExpanded(!isMobileMenuExpanded)}</span>
520
- fbpPerformanceYear={fbpPerformanceYear}
521
- feedbackPerformanceYear={feedbackPerformanceYear}
522
- isLoginEnabled={isLoginEnabled}
523
- performanceYear={performanceYear}
524
- showPhysicianCompareLink={showPhysicianCompareLink}
525
- showFacilityBasedPreviewLink={showFacilityBasedPreviewLink}
526
- /&gt;
527
- &lt;/ul&gt;
528
- &lt;/nav&gt;
529
- &lt;/HeaderContainer&gt;
530
- &lt;ImpersonatorBanner /&gt;
531
- &lt;/HeaderStateProvider&gt;
503
+ &lt;div className="social-container"&gt;
504
+ &lt;a
505
+ rel="noopener noreferrer"
506
+ target="_blank"
507
+ className="social-link"
508
+ href="https://twitter.com/CMSGov"
509
+ aria-label="Follow us on Twitter. This link opens in a new window."
510
+ &gt;
511
+ &lt;span className="glyphicon glyphicon-twitter"&gt;&lt;/span&gt;
512
+ &lt;/a&gt;
513
+ &lt;a
514
+ rel="noopener noreferrer"
515
+ target="_blank"
516
+ className="social-link"
517
+ href="https://www.youtube.com/playlist?list=PLaV7m2-zFKpj_6fBsqav6GvFzzq9oOpkk"
518
+ aria-label="Follow us on YouTube. This link opens in a new window."
519
+ &gt;
520
+ &lt;span className="glyphicon glyphicon-youtube"&gt;&lt;/span&gt;
521
+ &lt;/a&gt;
522
+ &lt;/div&gt;
523
+ &lt;/div&gt;
524
+ &lt;div className="links"&gt;
525
+ &lt;ul&gt;
526
+ &lt;li&gt;
527
+ &lt;a
528
+ href="/developers"
529
+ data-track-category="FooterNav"
530
+ data-track-action="OpenDeveloperTools"
531
+ data-track-label="Quality Payment Program"
532
+ &gt;
533
+ Developer Tools
534
+ &lt;/a&gt;
535
+ &lt;/li&gt;
536
+ &lt;li&gt;
537
+ &lt;a
538
+ href="/about/resource-library"
539
+ data-track-category="FooterNav"
540
+ data-track-action="OpenEducationAndTools"
541
+ data-track-label="Education and Tools"
542
+ &gt;
543
+ Resource Library
544
+ &lt;/a&gt;
545
+ &lt;/li&gt;
546
+ &lt;li&gt;
547
+ &lt;a
548
+ href="/glossary"
549
+ data-track-category="FooterNav"
550
+ data-track-action="OpenGlossary"
551
+ data-track-label="Glossary"
552
+ &gt;
553
+ Glossary
554
+ &lt;/a&gt;
555
+ &lt;/li&gt;
556
+ &lt;li&gt;
557
+ &lt;a
558
+ href="/resources/help-and-support"
559
+ data-track-category="FooterNav"
560
+ data-track-action="OpenHelpAndSupport"
561
+ data-track-label="Help and Support"
562
+ &gt;
563
+ Help and Support
564
+ &lt;/a&gt;
565
+ &lt;/li&gt;
566
+ &lt;/ul&gt;
567
+ &lt;ul className="small"&gt;
568
+ &lt;li&gt;
569
+ &lt;a
570
+ href="/privacy"
571
+ data-track-category="FooterNav"
572
+ data-track-action="OpenPrivacyDisclaimer"
573
+ data-track-label="Notice of Privacy and Disclaimer"
574
+ &gt;
575
+ CMS Privacy Notice
576
+ &lt;/a&gt;
577
+ &lt;/li&gt;
578
+ &lt;span className="divider"&gt;&lt;/span&gt;
579
+ &lt;li&gt;
580
+ &lt;a
581
+ href="/accessibility"
582
+ data-track-category="FooterNav"
583
+ data-track-action="OpenAccessibility"
584
+ data-track-label="Accessibility"
585
+ &gt;
586
+ Accessibility
587
+ &lt;/a&gt;
588
+ &lt;/li&gt;
589
+ &lt;span className="divider"&gt;&lt;/span&gt;
590
+ &lt;li&gt;
591
+ &lt;a
592
+ className="adobe-link"
593
+ rel="noopener noreferrer"
594
+ target="_blank"
595
+ href="https://get.adobe.com/reader"
596
+ data-track-category="FooterNav"
597
+ data-track-action="DownloadAdobeReader"
598
+ data-track-label="AdobeReader"
599
+ &gt;
600
+ &lt;svg className="icon"&gt;
601
+ &lt;use xlinkHref="#icon-download" /&gt;
602
+ &lt;/svg&gt;
603
+ Download Adobe Reader
604
+ &lt;/a&gt;
605
+ &lt;/li&gt;
606
+ &lt;span className="divider"&gt;&lt;/span&gt;
607
+ &lt;li&gt;
608
+ &lt;a href="mailto:QPP@cms.hhs.gov" className="email-link"&gt;
609
+ QPP@cms.hhs.gov
610
+ &lt;/a&gt;
611
+ &lt;/li&gt;
612
+ &lt;li&gt;
613
+ 1-866-288-8292 (TRS: 711)
614
+ &lt;div className="footer-trs-infotip"&gt;
615
+ &lt;InfoTip lightIcon label={infoTipLabel} /&gt;
616
+ &lt;/div&gt;
617
+ &lt;/li&gt;
618
+ &lt;/ul&gt;
619
+ &lt;/div&gt;
620
+ &lt;/div&gt;
621
+ &lt;div
622
+ className={
623
+ isFullWidth
624
+ ? 'col-sm-12 col-md-4 col-lg-4'
625
+ : 'col-sm-4 col-md-3 col-lg-3'
626
+ }
627
+ &gt;
628
+ &lt;div className="hhs-logo-container"&gt;
629
+ &lt;img
630
+ alt="Department of Health &amp;amp; Human Services USA"
631
+ src="/images/hhs-logo-white.svg"
632
+ /&gt;
633
+ &lt;/div&gt;
634
+ &lt;/div&gt;
635
+ &lt;/div&gt;
636
+ &lt;/div&gt;
637
+ &lt;/footer&gt;
532
638
  );
533
639
  };
534
640
  &nbsp;
535
- HeaderUI.propTypes = {
536
- fbpPerformanceYear: PropTypes.string,
537
- feedbackPerformanceYear: PropTypes.string,
538
- handleCancel: PropTypes.func,
539
- includeSkipToSidebar: PropTypes.bool,
540
- isDevPre: PropTypes.bool,
541
- isLoginEnabled: PropTypes.bool,
542
- performanceYear: PropTypes.number,
543
- showCancelButton: PropTypes.bool,
544
- showPhysicianCompareLink: PropTypes.bool,
545
- showFacilityBasedPreviewLink: PropTypes.bool,
546
- skipToContentId: PropTypes.string,
547
- RouterLink: PropTypes.func,
548
- isIESupportPage: PropTypes.bool,
549
- };
550
- HeaderUI.defaultProps = {
551
- fbpPerformanceYear: null,
552
- feedbackPerformanceYear: null,
553
- handleCancel: Function.prototype,
554
- includeSkipToSidebar: false,
555
- isDevPre: false,
556
- isLoginEnabled: true,
557
- performanceYear: 2017,
558
- showCancelButton: false,
559
- showPhysicianCompareLink: false,
560
- showFacilityBasedPreviewLink: false,
561
- skipToContentId: null,
562
- RouterLink: null,
563
- isIESupportPage: false,
641
+ LegacyFooterUI.propTypes = {
642
+ buildVersion: PropTypes.string,
643
+ isFullWidth: PropTypes.bool,
644
+ signUpNowLink: PropTypes.string,
564
645
  };
565
646
  &nbsp;
566
- export default HeaderUI;
647
+ export default LegacyFooterUI;
567
648
  &nbsp;</pre></td></tr></table></pre>
568
649
 
569
650
  <div class='push'></div><!-- for sticky footer -->
@@ -571,7 +652,7 @@ export default HeaderUI;
571
652
  <div class='footer quiet pad2 space-top1 center small'>
572
653
  Code coverage generated by
573
654
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
574
- at Sun Sep 11 2022 11:18:36 GMT-0700 (Pacific Daylight Time)
655
+ at Fri Apr 29 2022 13:58:50 GMT-0400 (Eastern Daylight Time)
575
656
  </div>
576
657
  <script src="../../prettify.js"></script>
577
658
  <script>