qpp-style 9.16.0 → 9.16.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 (198) hide show
  1. package/components/Header/ImpersonatorBanner.jsx +18 -10
  2. package/components/SideNav/helpers.js +2 -0
  3. package/coverage/clover.xml +1287 -0
  4. package/coverage/coverage-final.json +70 -0
  5. package/coverage/lcov-report/base.css +224 -0
  6. package/coverage/lcov-report/block-navigation.js +87 -0
  7. package/coverage/lcov-report/components/Accordion/index.html +116 -0
  8. package/coverage/lcov-report/components/Accordion/index.jsx.html +364 -0
  9. package/coverage/lcov-report/components/Error/Collapsible.jsx.html +349 -0
  10. package/coverage/lcov-report/components/Error/ErrorUI.jsx.html +178 -0
  11. package/coverage/lcov-report/components/Error/index.html +131 -0
  12. package/coverage/lcov-report/components/Footer/FooterUI.jsx.html +880 -0
  13. package/coverage/lcov-report/components/Footer/LegacyFooterUI.jsx.html +667 -0
  14. package/coverage/lcov-report/components/Footer/SocialLinks.jsx.html +265 -0
  15. package/coverage/lcov-report/components/Footer/Subscribe.jsx.html +187 -0
  16. package/coverage/lcov-report/components/Footer/index.html +161 -0
  17. package/coverage/lcov-report/components/Infotip/Infotip.jsx.html +310 -0
  18. package/coverage/lcov-report/components/Infotip/InfotipIcon.jsx.html +208 -0
  19. package/coverage/lcov-report/components/Infotip/index.html +146 -0
  20. package/coverage/lcov-report/components/Infotip/index.js.html +94 -0
  21. package/coverage/lcov-report/components/Modal/LegacyModal.jsx.html +301 -0
  22. package/coverage/lcov-report/components/Modal/Modal.jsx.html +505 -0
  23. package/coverage/lcov-report/components/Modal/index.html +146 -0
  24. package/coverage/lcov-report/components/Modal/index.jsx.html +151 -0
  25. package/coverage/lcov-report/components/SanitizedContent/index.html +116 -0
  26. package/coverage/lcov-report/components/SanitizedContent/index.jsx.html +685 -0
  27. package/coverage/lcov-report/components/SessionDialogUI.jsx.html +868 -0
  28. package/coverage/lcov-report/components/SideNav/AnimationGroup/AnimationGroup.jsx.html +166 -0
  29. package/coverage/lcov-report/components/SideNav/AnimationGroup/index.html +116 -0
  30. package/coverage/lcov-report/components/SideNav/Chart/ScoreChart.jsx.html +889 -0
  31. package/coverage/lcov-report/components/SideNav/Chart/index.html +131 -0
  32. package/coverage/lcov-report/components/SideNav/Chart/index.js.html +94 -0
  33. package/coverage/lcov-report/components/SideNav/Content/LevelOneContent.jsx.html +709 -0
  34. package/coverage/lcov-report/components/SideNav/Content/LevelTwoContent.jsx.html +733 -0
  35. package/coverage/lcov-report/components/SideNav/Content/index.html +146 -0
  36. package/coverage/lcov-report/components/SideNav/Content/index.js.html +97 -0
  37. package/coverage/lcov-report/components/SideNav/Details/IndividualDetails.jsx.html +139 -0
  38. package/coverage/lcov-report/components/SideNav/Details/PracticeDetails.jsx.html +220 -0
  39. package/coverage/lcov-report/components/SideNav/Details/index.html +146 -0
  40. package/coverage/lcov-report/components/SideNav/Details/index.js.html +97 -0
  41. package/coverage/lcov-report/components/SideNav/Links/CmsSwitchLink.jsx.html +208 -0
  42. package/coverage/lcov-report/components/SideNav/Links/NavItemInline.jsx.html +247 -0
  43. package/coverage/lcov-report/components/SideNav/Links/NavLinkContainer.jsx.html +199 -0
  44. package/coverage/lcov-report/components/SideNav/Links/NavLinkDrawer.jsx.html +832 -0
  45. package/coverage/lcov-report/components/SideNav/Links/NavLinkInline.jsx.html +406 -0
  46. package/coverage/lcov-report/components/SideNav/Links/NavLinkToggle.jsx.html +187 -0
  47. package/coverage/lcov-report/components/SideNav/Links/index.html +206 -0
  48. package/coverage/lcov-report/components/SideNav/Links/index.js.html +124 -0
  49. package/coverage/lcov-report/components/SideNav/UI/SideNavUI.jsx.html +1084 -0
  50. package/coverage/lcov-report/components/SideNav/UI/index.html +131 -0
  51. package/coverage/lcov-report/components/SideNav/UI/index.js.html +94 -0
  52. package/coverage/lcov-report/components/SideNav/helpers.js.html +238 -0
  53. package/coverage/lcov-report/components/SideNav/index.html +116 -0
  54. package/coverage/lcov-report/components/Tooltip/Tooltip.jsx.html +349 -0
  55. package/coverage/lcov-report/components/Tooltip/index.html +146 -0
  56. package/coverage/lcov-report/components/Tooltip/index.js.html +94 -0
  57. package/coverage/lcov-report/components/Tooltip/position.js.html +289 -0
  58. package/coverage/lcov-report/components/hooks/index.html +116 -0
  59. package/coverage/lcov-report/components/hooks/useGetConfig.js.html +307 -0
  60. package/coverage/lcov-report/components/index.html +116 -0
  61. package/coverage/lcov-report/favicon.png +0 -0
  62. package/coverage/lcov-report/index.html +461 -0
  63. package/coverage/lcov-report/lib/Chevron.jsx.html +181 -0
  64. package/coverage/lcov-report/lib/SvgComponents.jsx.html +1702 -0
  65. package/coverage/lcov-report/lib/index.html +146 -0
  66. package/coverage/lcov-report/lib/svg-definitions.svg.html +460 -0
  67. package/coverage/lcov-report/prettify.css +1 -0
  68. package/coverage/lcov-report/prettify.js +2 -0
  69. package/coverage/lcov-report/react/components/Accordion/index.html +116 -0
  70. package/coverage/lcov-report/react/components/Accordion/index.jsx.html +364 -0
  71. package/coverage/lcov-report/react/components/Button/index.html +116 -0
  72. package/coverage/lcov-report/react/components/Button/index.js.html +355 -0
  73. package/coverage/lcov-report/react/components/Error/Collapsible.jsx.html +349 -0
  74. package/coverage/lcov-report/react/components/Error/ErrorUI.jsx.html +178 -0
  75. package/coverage/lcov-report/react/components/Error/error.js.html +163 -0
  76. package/coverage/lcov-report/react/components/Error/index.html +146 -0
  77. package/coverage/lcov-report/react/components/Footer/FooterUI.jsx.html +880 -0
  78. package/coverage/lcov-report/react/components/Footer/LegacyFooterUI.jsx.html +667 -0
  79. package/coverage/lcov-report/react/components/Footer/SocialLinks.jsx.html +265 -0
  80. package/coverage/lcov-report/react/components/Footer/Subscribe.jsx.html +187 -0
  81. package/coverage/lcov-report/react/components/Footer/footer.js.html +175 -0
  82. package/coverage/lcov-report/react/components/Footer/index.html +176 -0
  83. package/coverage/lcov-report/react/components/GovBanner/index.html +116 -0
  84. package/coverage/lcov-report/react/components/GovBanner/index.js.html +409 -0
  85. package/coverage/lcov-report/react/components/Header/HeaderAccountMenu.jsx.html +592 -0
  86. package/coverage/lcov-report/react/components/Header/HeaderCancel.jsx.html +133 -0
  87. package/coverage/lcov-report/react/components/Header/HeaderContainer.jsx.html +280 -0
  88. package/coverage/lcov-report/react/components/Header/HeaderLogo.jsx.html +211 -0
  89. package/coverage/lcov-report/react/components/Header/HeaderMenuButton.js.html +235 -0
  90. package/coverage/lcov-report/react/components/Header/HeaderMenuItem.jsx.html +781 -0
  91. package/coverage/lcov-report/react/components/Header/HeaderMenuLink.js.html +235 -0
  92. package/coverage/lcov-report/react/components/Header/HeaderMenuSignOutButton.js.html +271 -0
  93. package/coverage/lcov-report/react/components/Header/HeaderMobileButton.js.html +196 -0
  94. package/coverage/lcov-report/react/components/Header/HeaderUI.jsx.html +586 -0
  95. package/coverage/lcov-report/react/components/Header/HelpIcon.jsx.html +181 -0
  96. package/coverage/lcov-report/react/components/Header/ImpersonatorBanner.jsx.html +331 -0
  97. package/coverage/lcov-report/react/components/Header/NavigationButtonIcon.jsx.html +166 -0
  98. package/coverage/lcov-report/react/components/Header/header.js.html +205 -0
  99. package/coverage/lcov-report/react/components/Header/hooks.js.html +241 -0
  100. package/coverage/lcov-report/react/components/Header/index.html +341 -0
  101. package/coverage/lcov-report/react/components/Header/utag-helpers.js.html +112 -0
  102. package/coverage/lcov-report/react/components/Infotip/Infotip.jsx.html +310 -0
  103. package/coverage/lcov-report/react/components/Infotip/InfotipIcon.jsx.html +208 -0
  104. package/coverage/lcov-report/react/components/Infotip/index.html +146 -0
  105. package/coverage/lcov-report/react/components/Infotip/index.js.html +94 -0
  106. package/coverage/lcov-report/react/components/Modal/LegacyModal.jsx.html +301 -0
  107. package/coverage/lcov-report/react/components/Modal/Modal.jsx.html +505 -0
  108. package/coverage/lcov-report/react/components/Modal/index.html +146 -0
  109. package/coverage/lcov-report/react/components/Modal/index.jsx.html +151 -0
  110. package/coverage/lcov-report/react/components/NotificationBanner/index.html +116 -0
  111. package/coverage/lcov-report/react/components/NotificationBanner/index.js.html +880 -0
  112. package/coverage/lcov-report/react/components/SanitizedContent/index.html +116 -0
  113. package/coverage/lcov-report/react/components/SanitizedContent/index.jsx.html +685 -0
  114. package/coverage/lcov-report/react/components/SessionDialog/index.html +116 -0
  115. package/coverage/lcov-report/react/components/SessionDialog/sessionDialog.js.html +163 -0
  116. package/coverage/lcov-report/react/components/SessionDialogUI.jsx.html +868 -0
  117. package/coverage/lcov-report/react/components/SideNav/AnimationGroup/AnimationGroup.jsx.html +166 -0
  118. package/coverage/lcov-report/react/components/SideNav/AnimationGroup/index.html +116 -0
  119. package/coverage/lcov-report/react/components/SideNav/Chart/ScoreChart.jsx.html +889 -0
  120. package/coverage/lcov-report/react/components/SideNav/Chart/index.html +131 -0
  121. package/coverage/lcov-report/react/components/SideNav/Chart/index.js.html +94 -0
  122. package/coverage/lcov-report/react/components/SideNav/Content/LevelOneContent.jsx.html +709 -0
  123. package/coverage/lcov-report/react/components/SideNav/Content/LevelTwoContent.jsx.html +733 -0
  124. package/coverage/lcov-report/react/components/SideNav/Content/index.html +146 -0
  125. package/coverage/lcov-report/react/components/SideNav/Content/index.js.html +97 -0
  126. package/coverage/lcov-report/react/components/SideNav/Details/IndividualDetails.jsx.html +139 -0
  127. package/coverage/lcov-report/react/components/SideNav/Details/PracticeDetails.jsx.html +220 -0
  128. package/coverage/lcov-report/react/components/SideNav/Details/index.html +146 -0
  129. package/coverage/lcov-report/react/components/SideNav/Details/index.js.html +97 -0
  130. package/coverage/lcov-report/react/components/SideNav/Links/CmsSwitchLink.jsx.html +208 -0
  131. package/coverage/lcov-report/react/components/SideNav/Links/NavItemInline.jsx.html +247 -0
  132. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkContainer.jsx.html +199 -0
  133. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkDrawer.jsx.html +832 -0
  134. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkInline.jsx.html +406 -0
  135. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkToggle.jsx.html +187 -0
  136. package/coverage/lcov-report/react/components/SideNav/Links/index.html +206 -0
  137. package/coverage/lcov-report/react/components/SideNav/Links/index.js.html +124 -0
  138. package/coverage/lcov-report/react/components/SideNav/UI/SideNavUI.jsx.html +1084 -0
  139. package/coverage/lcov-report/react/components/SideNav/UI/index.html +131 -0
  140. package/coverage/lcov-report/react/components/SideNav/UI/index.js.html +94 -0
  141. package/coverage/lcov-report/react/components/SideNav/helpers.js.html +238 -0
  142. package/coverage/lcov-report/react/components/SideNav/index.html +131 -0
  143. package/coverage/lcov-report/react/components/SideNav/index.js.html +244 -0
  144. package/coverage/lcov-report/react/components/Tooltip/Tooltip.jsx.html +349 -0
  145. package/coverage/lcov-report/react/components/Tooltip/index.html +146 -0
  146. package/coverage/lcov-report/react/components/Tooltip/index.js.html +94 -0
  147. package/coverage/lcov-report/react/components/Tooltip/position.js.html +289 -0
  148. package/coverage/lcov-report/react/components/hooks/index.html +116 -0
  149. package/coverage/lcov-report/react/components/hooks/useGetConfig.js.html +307 -0
  150. package/coverage/lcov-report/react/components/index.html +116 -0
  151. package/coverage/lcov-report/react/index.html +116 -0
  152. package/coverage/lcov-report/react/index.js.html +178 -0
  153. package/coverage/lcov-report/react/lib/Chevron.jsx.html +181 -0
  154. package/coverage/lcov-report/react/lib/SvgComponents.jsx.html +1702 -0
  155. package/coverage/lcov-report/react/lib/index.html +146 -0
  156. package/coverage/lcov-report/react/lib/svg-definitions.svg.html +460 -0
  157. package/coverage/lcov-report/react/session/index.html +161 -0
  158. package/coverage/lcov-report/react/session/index.js.html +100 -0
  159. package/coverage/lcov-report/react/session/logout.js.html +307 -0
  160. package/coverage/lcov-report/react/session/refresh.js.html +232 -0
  161. package/coverage/lcov-report/react/session/ttl.js.html +196 -0
  162. package/coverage/lcov-report/session/index.html +161 -0
  163. package/coverage/lcov-report/session/index.js.html +100 -0
  164. package/coverage/lcov-report/session/logout.js.html +298 -0
  165. package/coverage/lcov-report/session/refresh.js.html +232 -0
  166. package/coverage/lcov-report/session/ttl.js.html +196 -0
  167. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  168. package/coverage/lcov-report/sorter.js +196 -0
  169. package/coverage/lcov.info +2908 -0
  170. package/dist/browser.js +1 -1
  171. package/dist/browser.js.LICENSE.txt +1 -1
  172. package/dist/browser.js.map +1 -1
  173. package/dist/index.js +1 -1
  174. package/dist/index.js.LICENSE.txt +1 -1
  175. package/dist/index.js.map +1 -1
  176. package/dist/react/index.js +1 -1
  177. package/dist/react/index.js.LICENSE.txt +1 -1
  178. package/dist/react/index.js.map +1 -1
  179. package/package.json +1 -1
  180. package/session/logout.js +5 -2
  181. package/styles/components/_footer.scss +593 -0
  182. package/styles/components/_header.scss +890 -0
  183. package/styles/components/_sidebar.scss +8 -0
  184. package/styles/components/sidebar/_animations.scss +38 -0
  185. package/styles/components/sidebar/_cms.scss +61 -0
  186. package/styles/components/sidebar/_details.scss +58 -0
  187. package/styles/components/sidebar/_links.scss +415 -0
  188. package/styles/components/sidebar/_sidebar-animation.scss +121 -0
  189. package/styles/components/sidebar/_sidebar-tooltip.scss +33 -0
  190. package/styles/components/sidebar/_sidebar.scss +141 -0
  191. package/styles/components/sidebar/project-specific/_wi.scss +42 -0
  192. package/styles/qppds/components/_gov-banner.scss +1 -8
  193. package/styles/qppds/components/_step-indicator.scss +190 -0
  194. package/styles/qppds/components/_table.scss +19 -1
  195. package/styles/qppds/components/index.scss +1 -0
  196. package/styles/qppds/utilities/_vertical-align.scss +72 -0
  197. package/styles/qppds/utilities/index.scss +1 -0
  198. package/storybook-static/favicon.ico +0 -0
@@ -0,0 +1,832 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for react/components/SideNav/Links/NavLinkDrawer.jsx</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../../../prettify.css" />
9
+ <link rel="stylesheet" href="../../../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">react/components/SideNav/Links</a> NavLinkDrawer.jsx</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">3.44% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>2/58</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">0% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>0/91</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">0% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>0/18</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">3.44% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>2/58</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line low'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a>
85
+ <a name='L20'></a><a href='#L20'>20</a>
86
+ <a name='L21'></a><a href='#L21'>21</a>
87
+ <a name='L22'></a><a href='#L22'>22</a>
88
+ <a name='L23'></a><a href='#L23'>23</a>
89
+ <a name='L24'></a><a href='#L24'>24</a>
90
+ <a name='L25'></a><a href='#L25'>25</a>
91
+ <a name='L26'></a><a href='#L26'>26</a>
92
+ <a name='L27'></a><a href='#L27'>27</a>
93
+ <a name='L28'></a><a href='#L28'>28</a>
94
+ <a name='L29'></a><a href='#L29'>29</a>
95
+ <a name='L30'></a><a href='#L30'>30</a>
96
+ <a name='L31'></a><a href='#L31'>31</a>
97
+ <a name='L32'></a><a href='#L32'>32</a>
98
+ <a name='L33'></a><a href='#L33'>33</a>
99
+ <a name='L34'></a><a href='#L34'>34</a>
100
+ <a name='L35'></a><a href='#L35'>35</a>
101
+ <a name='L36'></a><a href='#L36'>36</a>
102
+ <a name='L37'></a><a href='#L37'>37</a>
103
+ <a name='L38'></a><a href='#L38'>38</a>
104
+ <a name='L39'></a><a href='#L39'>39</a>
105
+ <a name='L40'></a><a href='#L40'>40</a>
106
+ <a name='L41'></a><a href='#L41'>41</a>
107
+ <a name='L42'></a><a href='#L42'>42</a>
108
+ <a name='L43'></a><a href='#L43'>43</a>
109
+ <a name='L44'></a><a href='#L44'>44</a>
110
+ <a name='L45'></a><a href='#L45'>45</a>
111
+ <a name='L46'></a><a href='#L46'>46</a>
112
+ <a name='L47'></a><a href='#L47'>47</a>
113
+ <a name='L48'></a><a href='#L48'>48</a>
114
+ <a name='L49'></a><a href='#L49'>49</a>
115
+ <a name='L50'></a><a href='#L50'>50</a>
116
+ <a name='L51'></a><a href='#L51'>51</a>
117
+ <a name='L52'></a><a href='#L52'>52</a>
118
+ <a name='L53'></a><a href='#L53'>53</a>
119
+ <a name='L54'></a><a href='#L54'>54</a>
120
+ <a name='L55'></a><a href='#L55'>55</a>
121
+ <a name='L56'></a><a href='#L56'>56</a>
122
+ <a name='L57'></a><a href='#L57'>57</a>
123
+ <a name='L58'></a><a href='#L58'>58</a>
124
+ <a name='L59'></a><a href='#L59'>59</a>
125
+ <a name='L60'></a><a href='#L60'>60</a>
126
+ <a name='L61'></a><a href='#L61'>61</a>
127
+ <a name='L62'></a><a href='#L62'>62</a>
128
+ <a name='L63'></a><a href='#L63'>63</a>
129
+ <a name='L64'></a><a href='#L64'>64</a>
130
+ <a name='L65'></a><a href='#L65'>65</a>
131
+ <a name='L66'></a><a href='#L66'>66</a>
132
+ <a name='L67'></a><a href='#L67'>67</a>
133
+ <a name='L68'></a><a href='#L68'>68</a>
134
+ <a name='L69'></a><a href='#L69'>69</a>
135
+ <a name='L70'></a><a href='#L70'>70</a>
136
+ <a name='L71'></a><a href='#L71'>71</a>
137
+ <a name='L72'></a><a href='#L72'>72</a>
138
+ <a name='L73'></a><a href='#L73'>73</a>
139
+ <a name='L74'></a><a href='#L74'>74</a>
140
+ <a name='L75'></a><a href='#L75'>75</a>
141
+ <a name='L76'></a><a href='#L76'>76</a>
142
+ <a name='L77'></a><a href='#L77'>77</a>
143
+ <a name='L78'></a><a href='#L78'>78</a>
144
+ <a name='L79'></a><a href='#L79'>79</a>
145
+ <a name='L80'></a><a href='#L80'>80</a>
146
+ <a name='L81'></a><a href='#L81'>81</a>
147
+ <a name='L82'></a><a href='#L82'>82</a>
148
+ <a name='L83'></a><a href='#L83'>83</a>
149
+ <a name='L84'></a><a href='#L84'>84</a>
150
+ <a name='L85'></a><a href='#L85'>85</a>
151
+ <a name='L86'></a><a href='#L86'>86</a>
152
+ <a name='L87'></a><a href='#L87'>87</a>
153
+ <a name='L88'></a><a href='#L88'>88</a>
154
+ <a name='L89'></a><a href='#L89'>89</a>
155
+ <a name='L90'></a><a href='#L90'>90</a>
156
+ <a name='L91'></a><a href='#L91'>91</a>
157
+ <a name='L92'></a><a href='#L92'>92</a>
158
+ <a name='L93'></a><a href='#L93'>93</a>
159
+ <a name='L94'></a><a href='#L94'>94</a>
160
+ <a name='L95'></a><a href='#L95'>95</a>
161
+ <a name='L96'></a><a href='#L96'>96</a>
162
+ <a name='L97'></a><a href='#L97'>97</a>
163
+ <a name='L98'></a><a href='#L98'>98</a>
164
+ <a name='L99'></a><a href='#L99'>99</a>
165
+ <a name='L100'></a><a href='#L100'>100</a>
166
+ <a name='L101'></a><a href='#L101'>101</a>
167
+ <a name='L102'></a><a href='#L102'>102</a>
168
+ <a name='L103'></a><a href='#L103'>103</a>
169
+ <a name='L104'></a><a href='#L104'>104</a>
170
+ <a name='L105'></a><a href='#L105'>105</a>
171
+ <a name='L106'></a><a href='#L106'>106</a>
172
+ <a name='L107'></a><a href='#L107'>107</a>
173
+ <a name='L108'></a><a href='#L108'>108</a>
174
+ <a name='L109'></a><a href='#L109'>109</a>
175
+ <a name='L110'></a><a href='#L110'>110</a>
176
+ <a name='L111'></a><a href='#L111'>111</a>
177
+ <a name='L112'></a><a href='#L112'>112</a>
178
+ <a name='L113'></a><a href='#L113'>113</a>
179
+ <a name='L114'></a><a href='#L114'>114</a>
180
+ <a name='L115'></a><a href='#L115'>115</a>
181
+ <a name='L116'></a><a href='#L116'>116</a>
182
+ <a name='L117'></a><a href='#L117'>117</a>
183
+ <a name='L118'></a><a href='#L118'>118</a>
184
+ <a name='L119'></a><a href='#L119'>119</a>
185
+ <a name='L120'></a><a href='#L120'>120</a>
186
+ <a name='L121'></a><a href='#L121'>121</a>
187
+ <a name='L122'></a><a href='#L122'>122</a>
188
+ <a name='L123'></a><a href='#L123'>123</a>
189
+ <a name='L124'></a><a href='#L124'>124</a>
190
+ <a name='L125'></a><a href='#L125'>125</a>
191
+ <a name='L126'></a><a href='#L126'>126</a>
192
+ <a name='L127'></a><a href='#L127'>127</a>
193
+ <a name='L128'></a><a href='#L128'>128</a>
194
+ <a name='L129'></a><a href='#L129'>129</a>
195
+ <a name='L130'></a><a href='#L130'>130</a>
196
+ <a name='L131'></a><a href='#L131'>131</a>
197
+ <a name='L132'></a><a href='#L132'>132</a>
198
+ <a name='L133'></a><a href='#L133'>133</a>
199
+ <a name='L134'></a><a href='#L134'>134</a>
200
+ <a name='L135'></a><a href='#L135'>135</a>
201
+ <a name='L136'></a><a href='#L136'>136</a>
202
+ <a name='L137'></a><a href='#L137'>137</a>
203
+ <a name='L138'></a><a href='#L138'>138</a>
204
+ <a name='L139'></a><a href='#L139'>139</a>
205
+ <a name='L140'></a><a href='#L140'>140</a>
206
+ <a name='L141'></a><a href='#L141'>141</a>
207
+ <a name='L142'></a><a href='#L142'>142</a>
208
+ <a name='L143'></a><a href='#L143'>143</a>
209
+ <a name='L144'></a><a href='#L144'>144</a>
210
+ <a name='L145'></a><a href='#L145'>145</a>
211
+ <a name='L146'></a><a href='#L146'>146</a>
212
+ <a name='L147'></a><a href='#L147'>147</a>
213
+ <a name='L148'></a><a href='#L148'>148</a>
214
+ <a name='L149'></a><a href='#L149'>149</a>
215
+ <a name='L150'></a><a href='#L150'>150</a>
216
+ <a name='L151'></a><a href='#L151'>151</a>
217
+ <a name='L152'></a><a href='#L152'>152</a>
218
+ <a name='L153'></a><a href='#L153'>153</a>
219
+ <a name='L154'></a><a href='#L154'>154</a>
220
+ <a name='L155'></a><a href='#L155'>155</a>
221
+ <a name='L156'></a><a href='#L156'>156</a>
222
+ <a name='L157'></a><a href='#L157'>157</a>
223
+ <a name='L158'></a><a href='#L158'>158</a>
224
+ <a name='L159'></a><a href='#L159'>159</a>
225
+ <a name='L160'></a><a href='#L160'>160</a>
226
+ <a name='L161'></a><a href='#L161'>161</a>
227
+ <a name='L162'></a><a href='#L162'>162</a>
228
+ <a name='L163'></a><a href='#L163'>163</a>
229
+ <a name='L164'></a><a href='#L164'>164</a>
230
+ <a name='L165'></a><a href='#L165'>165</a>
231
+ <a name='L166'></a><a href='#L166'>166</a>
232
+ <a name='L167'></a><a href='#L167'>167</a>
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>
261
+ <a name='L196'></a><a href='#L196'>196</a>
262
+ <a name='L197'></a><a href='#L197'>197</a>
263
+ <a name='L198'></a><a href='#L198'>198</a>
264
+ <a name='L199'></a><a href='#L199'>199</a>
265
+ <a name='L200'></a><a href='#L200'>200</a>
266
+ <a name='L201'></a><a href='#L201'>201</a>
267
+ <a name='L202'></a><a href='#L202'>202</a>
268
+ <a name='L203'></a><a href='#L203'>203</a>
269
+ <a name='L204'></a><a href='#L204'>204</a>
270
+ <a name='L205'></a><a href='#L205'>205</a>
271
+ <a name='L206'></a><a href='#L206'>206</a>
272
+ <a name='L207'></a><a href='#L207'>207</a>
273
+ <a name='L208'></a><a href='#L208'>208</a>
274
+ <a name='L209'></a><a href='#L209'>209</a>
275
+ <a name='L210'></a><a href='#L210'>210</a>
276
+ <a name='L211'></a><a href='#L211'>211</a>
277
+ <a name='L212'></a><a href='#L212'>212</a>
278
+ <a name='L213'></a><a href='#L213'>213</a>
279
+ <a name='L214'></a><a href='#L214'>214</a>
280
+ <a name='L215'></a><a href='#L215'>215</a>
281
+ <a name='L216'></a><a href='#L216'>216</a>
282
+ <a name='L217'></a><a href='#L217'>217</a>
283
+ <a name='L218'></a><a href='#L218'>218</a>
284
+ <a name='L219'></a><a href='#L219'>219</a>
285
+ <a name='L220'></a><a href='#L220'>220</a>
286
+ <a name='L221'></a><a href='#L221'>221</a>
287
+ <a name='L222'></a><a href='#L222'>222</a>
288
+ <a name='L223'></a><a href='#L223'>223</a>
289
+ <a name='L224'></a><a href='#L224'>224</a>
290
+ <a name='L225'></a><a href='#L225'>225</a>
291
+ <a name='L226'></a><a href='#L226'>226</a>
292
+ <a name='L227'></a><a href='#L227'>227</a>
293
+ <a name='L228'></a><a href='#L228'>228</a>
294
+ <a name='L229'></a><a href='#L229'>229</a>
295
+ <a name='L230'></a><a href='#L230'>230</a>
296
+ <a name='L231'></a><a href='#L231'>231</a>
297
+ <a name='L232'></a><a href='#L232'>232</a>
298
+ <a name='L233'></a><a href='#L233'>233</a>
299
+ <a name='L234'></a><a href='#L234'>234</a>
300
+ <a name='L235'></a><a href='#L235'>235</a>
301
+ <a name='L236'></a><a href='#L236'>236</a>
302
+ <a name='L237'></a><a href='#L237'>237</a>
303
+ <a name='L238'></a><a href='#L238'>238</a>
304
+ <a name='L239'></a><a href='#L239'>239</a>
305
+ <a name='L240'></a><a href='#L240'>240</a>
306
+ <a name='L241'></a><a href='#L241'>241</a>
307
+ <a name='L242'></a><a href='#L242'>242</a>
308
+ <a name='L243'></a><a href='#L243'>243</a>
309
+ <a name='L244'></a><a href='#L244'>244</a>
310
+ <a name='L245'></a><a href='#L245'>245</a>
311
+ <a name='L246'></a><a href='#L246'>246</a>
312
+ <a name='L247'></a><a href='#L247'>247</a>
313
+ <a name='L248'></a><a href='#L248'>248</a>
314
+ <a name='L249'></a><a href='#L249'>249</a>
315
+ <a name='L250'></a><a href='#L250'>250</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
316
+ <span class="cline-any cline-neutral">&nbsp;</span>
317
+ <span class="cline-any cline-neutral">&nbsp;</span>
318
+ <span class="cline-any cline-neutral">&nbsp;</span>
319
+ <span class="cline-any cline-neutral">&nbsp;</span>
320
+ <span class="cline-any cline-neutral">&nbsp;</span>
321
+ <span class="cline-any cline-yes">2x</span>
322
+ <span class="cline-any cline-neutral">&nbsp;</span>
323
+ <span class="cline-any cline-neutral">&nbsp;</span>
324
+ <span class="cline-any cline-neutral">&nbsp;</span>
325
+ <span class="cline-any cline-neutral">&nbsp;</span>
326
+ <span class="cline-any cline-neutral">&nbsp;</span>
327
+ <span class="cline-any cline-neutral">&nbsp;</span>
328
+ <span class="cline-any cline-neutral">&nbsp;</span>
329
+ <span class="cline-any cline-neutral">&nbsp;</span>
330
+ <span class="cline-any cline-neutral">&nbsp;</span>
331
+ <span class="cline-any cline-neutral">&nbsp;</span>
332
+ <span class="cline-any cline-neutral">&nbsp;</span>
333
+ <span class="cline-any cline-neutral">&nbsp;</span>
334
+ <span class="cline-any cline-neutral">&nbsp;</span>
335
+ <span class="cline-any cline-neutral">&nbsp;</span>
336
+ <span class="cline-any cline-neutral">&nbsp;</span>
337
+ <span class="cline-any cline-neutral">&nbsp;</span>
338
+ <span class="cline-any cline-neutral">&nbsp;</span>
339
+ <span class="cline-any cline-neutral">&nbsp;</span>
340
+ <span class="cline-any cline-neutral">&nbsp;</span>
341
+ <span class="cline-any cline-neutral">&nbsp;</span>
342
+ <span class="cline-any cline-no">&nbsp;</span>
343
+ <span class="cline-any cline-neutral">&nbsp;</span>
344
+ <span class="cline-any cline-no">&nbsp;</span>
345
+ <span class="cline-any cline-no">&nbsp;</span>
346
+ <span class="cline-any cline-no">&nbsp;</span>
347
+ <span class="cline-any cline-no">&nbsp;</span>
348
+ <span class="cline-any cline-no">&nbsp;</span>
349
+ <span class="cline-any cline-neutral">&nbsp;</span>
350
+ <span class="cline-any cline-neutral">&nbsp;</span>
351
+ <span class="cline-any cline-no">&nbsp;</span>
352
+ <span class="cline-any cline-no">&nbsp;</span>
353
+ <span class="cline-any cline-neutral">&nbsp;</span>
354
+ <span class="cline-any cline-neutral">&nbsp;</span>
355
+ <span class="cline-any cline-neutral">&nbsp;</span>
356
+ <span class="cline-any cline-no">&nbsp;</span>
357
+ <span class="cline-any cline-no">&nbsp;</span>
358
+ <span class="cline-any cline-no">&nbsp;</span>
359
+ <span class="cline-any cline-neutral">&nbsp;</span>
360
+ <span class="cline-any cline-no">&nbsp;</span>
361
+ <span class="cline-any cline-neutral">&nbsp;</span>
362
+ <span class="cline-any cline-neutral">&nbsp;</span>
363
+ <span class="cline-any cline-no">&nbsp;</span>
364
+ <span class="cline-any cline-no">&nbsp;</span>
365
+ <span class="cline-any cline-no">&nbsp;</span>
366
+ <span class="cline-any cline-no">&nbsp;</span>
367
+ <span class="cline-any cline-neutral">&nbsp;</span>
368
+ <span class="cline-any cline-no">&nbsp;</span>
369
+ <span class="cline-any cline-neutral">&nbsp;</span>
370
+ <span class="cline-any cline-no">&nbsp;</span>
371
+ <span class="cline-any cline-neutral">&nbsp;</span>
372
+ <span class="cline-any cline-neutral">&nbsp;</span>
373
+ <span class="cline-any cline-neutral">&nbsp;</span>
374
+ <span class="cline-any cline-no">&nbsp;</span>
375
+ <span class="cline-any cline-no">&nbsp;</span>
376
+ <span class="cline-any cline-neutral">&nbsp;</span>
377
+ <span class="cline-any cline-no">&nbsp;</span>
378
+ <span class="cline-any cline-no">&nbsp;</span>
379
+ <span class="cline-any cline-neutral">&nbsp;</span>
380
+ <span class="cline-any cline-neutral">&nbsp;</span>
381
+ <span class="cline-any cline-no">&nbsp;</span>
382
+ <span class="cline-any cline-no">&nbsp;</span>
383
+ <span class="cline-any cline-neutral">&nbsp;</span>
384
+ <span class="cline-any cline-neutral">&nbsp;</span>
385
+ <span class="cline-any cline-no">&nbsp;</span>
386
+ <span class="cline-any cline-neutral">&nbsp;</span>
387
+ <span class="cline-any cline-neutral">&nbsp;</span>
388
+ <span class="cline-any cline-neutral">&nbsp;</span>
389
+ <span class="cline-any cline-no">&nbsp;</span>
390
+ <span class="cline-any cline-neutral">&nbsp;</span>
391
+ <span class="cline-any cline-neutral">&nbsp;</span>
392
+ <span class="cline-any cline-neutral">&nbsp;</span>
393
+ <span class="cline-any cline-no">&nbsp;</span>
394
+ <span class="cline-any cline-neutral">&nbsp;</span>
395
+ <span class="cline-any cline-no">&nbsp;</span>
396
+ <span class="cline-any cline-no">&nbsp;</span>
397
+ <span class="cline-any cline-no">&nbsp;</span>
398
+ <span class="cline-any cline-neutral">&nbsp;</span>
399
+ <span class="cline-any cline-neutral">&nbsp;</span>
400
+ <span class="cline-any cline-neutral">&nbsp;</span>
401
+ <span class="cline-any cline-neutral">&nbsp;</span>
402
+ <span class="cline-any cline-neutral">&nbsp;</span>
403
+ <span class="cline-any cline-neutral">&nbsp;</span>
404
+ <span class="cline-any cline-neutral">&nbsp;</span>
405
+ <span class="cline-any cline-neutral">&nbsp;</span>
406
+ <span class="cline-any cline-neutral">&nbsp;</span>
407
+ <span class="cline-any cline-no">&nbsp;</span>
408
+ <span class="cline-any cline-no">&nbsp;</span>
409
+ <span class="cline-any cline-neutral">&nbsp;</span>
410
+ <span class="cline-any cline-neutral">&nbsp;</span>
411
+ <span class="cline-any cline-no">&nbsp;</span>
412
+ <span class="cline-any cline-no">&nbsp;</span>
413
+ <span class="cline-any cline-neutral">&nbsp;</span>
414
+ <span class="cline-any cline-neutral">&nbsp;</span>
415
+ <span class="cline-any cline-no">&nbsp;</span>
416
+ <span class="cline-any cline-no">&nbsp;</span>
417
+ <span class="cline-any cline-neutral">&nbsp;</span>
418
+ <span class="cline-any cline-neutral">&nbsp;</span>
419
+ <span class="cline-any cline-no">&nbsp;</span>
420
+ <span class="cline-any cline-no">&nbsp;</span>
421
+ <span class="cline-any cline-neutral">&nbsp;</span>
422
+ <span class="cline-any cline-neutral">&nbsp;</span>
423
+ <span class="cline-any cline-no">&nbsp;</span>
424
+ <span class="cline-any cline-no">&nbsp;</span>
425
+ <span class="cline-any cline-neutral">&nbsp;</span>
426
+ <span class="cline-any cline-neutral">&nbsp;</span>
427
+ <span class="cline-any cline-no">&nbsp;</span>
428
+ <span class="cline-any cline-no">&nbsp;</span>
429
+ <span class="cline-any cline-neutral">&nbsp;</span>
430
+ <span class="cline-any cline-neutral">&nbsp;</span>
431
+ <span class="cline-any cline-no">&nbsp;</span>
432
+ <span class="cline-any cline-no">&nbsp;</span>
433
+ <span class="cline-any cline-neutral">&nbsp;</span>
434
+ <span class="cline-any cline-neutral">&nbsp;</span>
435
+ <span class="cline-any cline-no">&nbsp;</span>
436
+ <span class="cline-any cline-no">&nbsp;</span>
437
+ <span class="cline-any cline-no">&nbsp;</span>
438
+ <span class="cline-any cline-neutral">&nbsp;</span>
439
+ <span class="cline-any cline-no">&nbsp;</span>
440
+ <span class="cline-any cline-no">&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-no">&nbsp;</span>
447
+ <span class="cline-any cline-no">&nbsp;</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-no">&nbsp;</span>
451
+ <span class="cline-any cline-no">&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>
455
+ <span class="cline-any cline-neutral">&nbsp;</span>
456
+ <span class="cline-any cline-neutral">&nbsp;</span>
457
+ <span class="cline-any cline-neutral">&nbsp;</span>
458
+ <span class="cline-any cline-no">&nbsp;</span>
459
+ <span class="cline-any cline-neutral">&nbsp;</span>
460
+ <span class="cline-any cline-neutral">&nbsp;</span>
461
+ <span class="cline-any cline-neutral">&nbsp;</span>
462
+ <span class="cline-any cline-neutral">&nbsp;</span>
463
+ <span class="cline-any cline-neutral">&nbsp;</span>
464
+ <span class="cline-any cline-neutral">&nbsp;</span>
465
+ <span class="cline-any cline-neutral">&nbsp;</span>
466
+ <span class="cline-any cline-neutral">&nbsp;</span>
467
+ <span class="cline-any cline-neutral">&nbsp;</span>
468
+ <span class="cline-any cline-neutral">&nbsp;</span>
469
+ <span class="cline-any cline-neutral">&nbsp;</span>
470
+ <span class="cline-any cline-no">&nbsp;</span>
471
+ <span class="cline-any cline-neutral">&nbsp;</span>
472
+ <span class="cline-any cline-neutral">&nbsp;</span>
473
+ <span class="cline-any cline-neutral">&nbsp;</span>
474
+ <span class="cline-any cline-neutral">&nbsp;</span>
475
+ <span class="cline-any cline-neutral">&nbsp;</span>
476
+ <span class="cline-any cline-neutral">&nbsp;</span>
477
+ <span class="cline-any cline-neutral">&nbsp;</span>
478
+ <span class="cline-any cline-neutral">&nbsp;</span>
479
+ <span class="cline-any cline-neutral">&nbsp;</span>
480
+ <span class="cline-any cline-neutral">&nbsp;</span>
481
+ <span class="cline-any cline-neutral">&nbsp;</span>
482
+ <span class="cline-any cline-neutral">&nbsp;</span>
483
+ <span class="cline-any cline-neutral">&nbsp;</span>
484
+ <span class="cline-any cline-neutral">&nbsp;</span>
485
+ <span class="cline-any cline-neutral">&nbsp;</span>
486
+ <span class="cline-any cline-neutral">&nbsp;</span>
487
+ <span class="cline-any cline-neutral">&nbsp;</span>
488
+ <span class="cline-any cline-neutral">&nbsp;</span>
489
+ <span class="cline-any cline-neutral">&nbsp;</span>
490
+ <span class="cline-any cline-neutral">&nbsp;</span>
491
+ <span class="cline-any cline-neutral">&nbsp;</span>
492
+ <span class="cline-any cline-neutral">&nbsp;</span>
493
+ <span class="cline-any cline-neutral">&nbsp;</span>
494
+ <span class="cline-any cline-neutral">&nbsp;</span>
495
+ <span class="cline-any cline-no">&nbsp;</span>
496
+ <span class="cline-any cline-neutral">&nbsp;</span>
497
+ <span class="cline-any cline-neutral">&nbsp;</span>
498
+ <span class="cline-any cline-neutral">&nbsp;</span>
499
+ <span class="cline-any cline-neutral">&nbsp;</span>
500
+ <span class="cline-any cline-neutral">&nbsp;</span>
501
+ <span class="cline-any cline-neutral">&nbsp;</span>
502
+ <span class="cline-any cline-neutral">&nbsp;</span>
503
+ <span class="cline-any cline-neutral">&nbsp;</span>
504
+ <span class="cline-any cline-neutral">&nbsp;</span>
505
+ <span class="cline-any cline-neutral">&nbsp;</span>
506
+ <span class="cline-any cline-neutral">&nbsp;</span>
507
+ <span class="cline-any cline-neutral">&nbsp;</span>
508
+ <span class="cline-any cline-neutral">&nbsp;</span>
509
+ <span class="cline-any cline-neutral">&nbsp;</span>
510
+ <span class="cline-any cline-neutral">&nbsp;</span>
511
+ <span class="cline-any cline-neutral">&nbsp;</span>
512
+ <span class="cline-any cline-neutral">&nbsp;</span>
513
+ <span class="cline-any cline-neutral">&nbsp;</span>
514
+ <span class="cline-any cline-neutral">&nbsp;</span>
515
+ <span class="cline-any cline-neutral">&nbsp;</span>
516
+ <span class="cline-any cline-neutral">&nbsp;</span>
517
+ <span class="cline-any cline-neutral">&nbsp;</span>
518
+ <span class="cline-any cline-neutral">&nbsp;</span>
519
+ <span class="cline-any cline-neutral">&nbsp;</span>
520
+ <span class="cline-any cline-neutral">&nbsp;</span>
521
+ <span class="cline-any cline-neutral">&nbsp;</span>
522
+ <span class="cline-any cline-neutral">&nbsp;</span>
523
+ <span class="cline-any cline-neutral">&nbsp;</span>
524
+ <span class="cline-any cline-neutral">&nbsp;</span>
525
+ <span class="cline-any cline-neutral">&nbsp;</span>
526
+ <span class="cline-any cline-neutral">&nbsp;</span>
527
+ <span class="cline-any cline-neutral">&nbsp;</span>
528
+ <span class="cline-any cline-neutral">&nbsp;</span>
529
+ <span class="cline-any cline-neutral">&nbsp;</span>
530
+ <span class="cline-any cline-neutral">&nbsp;</span>
531
+ <span class="cline-any cline-neutral">&nbsp;</span>
532
+ <span class="cline-any cline-neutral">&nbsp;</span>
533
+ <span class="cline-any cline-neutral">&nbsp;</span>
534
+ <span class="cline-any cline-neutral">&nbsp;</span>
535
+ <span class="cline-any cline-neutral">&nbsp;</span>
536
+ <span class="cline-any cline-neutral">&nbsp;</span>
537
+ <span class="cline-any cline-neutral">&nbsp;</span>
538
+ <span class="cline-any cline-neutral">&nbsp;</span>
539
+ <span class="cline-any cline-neutral">&nbsp;</span>
540
+ <span class="cline-any cline-neutral">&nbsp;</span>
541
+ <span class="cline-any cline-yes">2x</span>
542
+ <span class="cline-any cline-neutral">&nbsp;</span>
543
+ <span class="cline-any cline-neutral">&nbsp;</span>
544
+ <span class="cline-any cline-neutral">&nbsp;</span>
545
+ <span class="cline-any cline-neutral">&nbsp;</span>
546
+ <span class="cline-any cline-neutral">&nbsp;</span>
547
+ <span class="cline-any cline-neutral">&nbsp;</span>
548
+ <span class="cline-any cline-neutral">&nbsp;</span>
549
+ <span class="cline-any cline-neutral">&nbsp;</span>
550
+ <span class="cline-any cline-neutral">&nbsp;</span>
551
+ <span class="cline-any cline-neutral">&nbsp;</span>
552
+ <span class="cline-any cline-neutral">&nbsp;</span>
553
+ <span class="cline-any cline-neutral">&nbsp;</span>
554
+ <span class="cline-any cline-neutral">&nbsp;</span>
555
+ <span class="cline-any cline-neutral">&nbsp;</span>
556
+ <span class="cline-any cline-neutral">&nbsp;</span>
557
+ <span class="cline-any cline-neutral">&nbsp;</span>
558
+ <span class="cline-any cline-neutral">&nbsp;</span>
559
+ <span class="cline-any cline-neutral">&nbsp;</span>
560
+ <span class="cline-any cline-neutral">&nbsp;</span>
561
+ <span class="cline-any cline-neutral">&nbsp;</span>
562
+ <span class="cline-any cline-neutral">&nbsp;</span>
563
+ <span class="cline-any cline-neutral">&nbsp;</span>
564
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import React, { useState, useEffect } from 'react';
565
+ import PropTypes from 'prop-types';
566
+ &nbsp;
567
+ import { handleNavigation } from '../helpers';
568
+ import AnimationGroup from '../AnimationGroup/AnimationGroup';
569
+ &nbsp;
570
+ const NavLinkDrawer = <span class="fstat-no" title="function not covered" >({</span>
571
+ className,
572
+ disabled,
573
+ isAlwaysOpen,
574
+ isExpanded,
575
+ items,
576
+ label,
577
+ leftIcon,
578
+ linkActiveFunc,
579
+ linkCallback,
580
+ listOfLinks,
581
+ openByDefault,
582
+ rightIcon,
583
+ sidebarExpand,
584
+ staticDrawer,
585
+ url,
586
+ isHighlighted,
587
+ darkerBackground,
588
+ leftBorderHighlightDisabled,
589
+ largerDrawerBottomPadding
590
+ }) =&gt; {
591
+ const [isOpen, setIsOpen] = <span class="cstat-no" title="statement not covered" >useState(openByDefault);</span>
592
+ &nbsp;
593
+ const toggleDrawer = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >()</span> =&gt; {</span>
594
+ <span class="cstat-no" title="statement not covered" > if (!isExpanded &amp;&amp; typeof sidebarExpand === 'function') {</span>
595
+ <span class="cstat-no" title="statement not covered" > sidebarExpand();</span>
596
+ <span class="cstat-no" title="statement not covered" > setIsOpen(true);</span>
597
+ <span class="cstat-no" title="statement not covered" > return;</span>
598
+ }
599
+ &nbsp;
600
+ <span class="cstat-no" title="statement not covered" > if (!isAlwaysOpen &amp;&amp; !disabled) {</span>
601
+ <span class="cstat-no" title="statement not covered" > setIsOpen(!isOpen);</span>
602
+ }
603
+ };
604
+ &nbsp;
605
+ const isLinkActive = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(l</span>ink, func) =&gt; {</span>
606
+ <span class="cstat-no" title="statement not covered" > if (typeof func === 'function') {</span>
607
+ <span class="cstat-no" title="statement not covered" > return func(link);</span>
608
+ }
609
+ <span class="cstat-no" title="statement not covered" > return window.location.href.indexOf(link.url) &gt; 0;</span>
610
+ };
611
+ &nbsp;
612
+ const isCurrentPage = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(l</span>ink, linkActiveFunc) =&gt; {</span>
613
+ const targetItems = <span class="cstat-no" title="statement not covered" >link.items || link.listOfLinks;</span>
614
+ <span class="cstat-no" title="statement not covered" > if (link.url &amp;&amp; isLinkActive(link, linkActiveFunc)) {</span>
615
+ <span class="cstat-no" title="statement not covered" > return true;</span>
616
+ }
617
+ <span class="cstat-no" title="statement not covered" > return (</span>
618
+ targetItems &amp;&amp;
619
+ targetItems.some(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >isCurrentPage(item, linkActiveFunc))</span>
620
+ );
621
+ };
622
+ &nbsp;
623
+ const buildLeftIconClasses = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >()</span> =&gt; {</span>
624
+ let leftIcon = <span class="cstat-no" title="statement not covered" >`left-icon`;</span>
625
+
626
+ <span class="cstat-no" title="statement not covered" > if (isAlwaysOpen) {</span>
627
+ <span class="cstat-no" title="statement not covered" > leftIcon += ` always-open`;</span>
628
+ }
629
+ &nbsp;
630
+ <span class="cstat-no" title="statement not covered" > if (isHighlighted) {</span>
631
+ <span class="cstat-no" title="statement not covered" > leftIcon += ' fill-white';</span>
632
+ }
633
+ &nbsp;
634
+ <span class="cstat-no" title="statement not covered" > return leftIcon;</span>
635
+ }
636
+ &nbsp;
637
+ // Classes for the link drawer button
638
+ const currentPage = <span class="cstat-no" title="statement not covered" >isCurrentPage(</span>
639
+ { items, listOfLinks, url },
640
+ linkActiveFunc
641
+ );
642
+ const expandedClass = <span class="cstat-no" title="statement not covered" >currentPage ? 'expanded' : '';</span>
643
+ &nbsp;
644
+ const renderLeftIcon = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(l</span>eftIcon) =&gt; {</span>
645
+ <span class="cstat-no" title="statement not covered" > if (leftIcon) {</span>
646
+ <span class="cstat-no" title="statement not covered" > return (&lt;svg</span>
647
+ className={`${buildLeftIconClasses()}`}
648
+ aria-hidden="true"
649
+ focusable="false"
650
+ &gt;
651
+ {leftIcon}
652
+ &lt;/svg&gt;)
653
+ }
654
+ }
655
+ &nbsp;
656
+ const hasDarkerBackground = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(d</span>arkerBackground) =&gt; {</span>
657
+ <span class="cstat-no" title="statement not covered" > return darkerBackground ? 'background-highlight' : '';</span>
658
+ }
659
+ &nbsp;
660
+ const hasDarkerTitle = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(d</span>arkerBackground) =&gt; {</span>
661
+ <span class="cstat-no" title="statement not covered" > return darkerBackground ? 'expanded currentPage' : '';</span>
662
+ }
663
+ &nbsp;
664
+ const isLeftBorderHighlightDisabled = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(l</span>eftBorderHighlightDisabled) =&gt; {</span>
665
+ <span class="cstat-no" title="statement not covered" > return leftBorderHighlightDisabled ? 'left-border-disabled' : ''</span>
666
+ }
667
+ &nbsp;
668
+ const isHiddenWhileCollapsed = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(i</span>sLeftBorderDisabled, isExpanded) =&gt; {</span>
669
+ <span class="cstat-no" title="statement not covered" > return isLeftBorderDisabled &amp;&amp; !isExpanded ? 'hidden-nav-link-item' : '';</span>
670
+ }
671
+ &nbsp;
672
+ const highlightTitle = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(i</span>sHighlighted) =&gt; {</span>
673
+ <span class="cstat-no" title="statement not covered" > return isHighlighted &amp;&amp; isExpanded ? 'highlight' : '';</span>
674
+ }
675
+ &nbsp;
676
+ const hasLargerDrawBottomPadding = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(l</span>argerDrawerBottomPadding) =&gt; {</span>
677
+ <span class="cstat-no" title="statement not covered" > return largerDrawerBottomPadding ? 'larger-drawer-bottom-padding' : '';</span>
678
+ }
679
+ &nbsp;
680
+ const adjustItemSpacing = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(l</span>argerDrawerBottomPadding) =&gt; {</span>
681
+ <span class="cstat-no" title="statement not covered" > return largerDrawerBottomPadding ? 'larger-item-spacing' : '';</span>
682
+ }
683
+ &nbsp;
684
+ <span class="cstat-no" title="statement not covered" > useEffect(<span class="fstat-no" title="function not covered" >()</span> =&gt; {</span>
685
+ <span class="cstat-no" title="statement not covered" > if (disabled) {</span>
686
+ <span class="cstat-no" title="statement not covered" > setIsOpen(false);</span>
687
+ }
688
+ <span class="cstat-no" title="statement not covered" > if (isAlwaysOpen) {</span>
689
+ <span class="cstat-no" title="statement not covered" > setIsOpen(isAlwaysOpen);</span>
690
+ }
691
+ }, []);
692
+ &nbsp;
693
+ // Render the links recursively. This will theoretically allow for an infinite number of nested link items.
694
+ // className will either be empty, parent-link - top most node, or child-link.
695
+ const renderDrawerLinksRecursively = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(n</span>avLinks, className = <span class="branch-0 cbranch-no" title="branch not covered" >'')</span> =&gt; {</span>
696
+ <span class="cstat-no" title="statement not covered" > return (</span>
697
+ navLinks &amp;&amp;
698
+ navLinks.map(<span class="fstat-no" title="function not covered" >(l</span>ink) =&gt; {
699
+ <span class="cstat-no" title="statement not covered" > if (link.type === 'divider') {</span>
700
+ <span class="cstat-no" title="statement not covered" > return (</span>
701
+ &lt;AnimationGroup display={true}&gt;
702
+ &lt;hr /&gt;
703
+ &lt;/AnimationGroup&gt;
704
+ );
705
+ }
706
+ &nbsp;
707
+ <span class="cstat-no" title="statement not covered" > return (</span>
708
+ &lt;li
709
+ key={link.label}
710
+ className={
711
+ isLinkActive(link, linkActiveFunc)
712
+ ? `active-link ${className}`
713
+ : className
714
+ }
715
+ &gt;
716
+ {link.url ? (
717
+ &lt;a
718
+ href={link.url}
719
+ onClick={<span class="fstat-no" title="function not covered" >(e</span>) =&gt; <span class="cstat-no" title="statement not covered" >handleNavigation(e, linkCallback, link.label)}</span>
720
+ tabIndex={isOpen ? '0' : '-1'}
721
+ data-track-category="SidebarNav"
722
+ data-track-action={`GoTo${
723
+ link.label ? link.label.split(' ').join('') : ''
724
+ }`}
725
+ data-track-label={link.label}
726
+ target="_self"
727
+ &gt;
728
+ {link.label}
729
+ &lt;/a&gt;
730
+ ) : (
731
+ &lt;div&gt;{link.label}&lt;/div&gt;
732
+ )}
733
+ {link.items &amp;&amp; link.items.length &gt; 0 &amp;&amp; (
734
+ &lt;ul aria-hidden={!isOpen}&gt;
735
+ {renderDrawerLinksRecursively(link.items, 'child-link')}
736
+ &lt;/ul&gt;
737
+ )}
738
+ &lt;/li&gt;
739
+ );
740
+ })
741
+ );
742
+ };
743
+ &nbsp;
744
+ <span class="cstat-no" title="statement not covered" > return (</span>
745
+ &lt;div className={staticDrawer ? 'static-drawer link-drawer' : 'link-drawer'}&gt;
746
+ &lt;button
747
+ onClick={toggleDrawer}
748
+ {...(!isAlwaysOpen ? { 'aria-pressed': isOpen } : {})}
749
+ tabIndex="0"
750
+ aria-label={label}
751
+ {...(isAlwaysOpen || disabled
752
+ ? { disabled: isAlwaysOpen || disabled }
753
+ : {})}
754
+ className={`${className} ${expandedClass} ${highlightTitle(isHighlighted)} ${hasDarkerTitle(darkerBackground)}
755
+ ${currentPage ? 'currentPage' : ''} ${isLeftBorderHighlightDisabled(leftBorderHighlightDisabled)}
756
+ ${isHiddenWhileCollapsed(leftBorderHighlightDisabled, isExpanded)}`}
757
+ &gt;
758
+ &lt;div className={isExpanded ? 'link-body' : 'link-body collapsed'}&gt;
759
+ {renderLeftIcon(leftIcon)}
760
+ &lt;AnimationGroup display={isExpanded}&gt;
761
+ &lt;span&gt;{label}&lt;/span&gt;
762
+ &lt;/AnimationGroup&gt;
763
+ &lt;/div&gt;
764
+ {isExpanded &amp;&amp; !isAlwaysOpen &amp;&amp; (
765
+ &lt;svg
766
+ className={`${isOpen ? 'right-icon rotated' : 'right-icon'}`}
767
+ focusable="false"
768
+ aria-hidden="true"
769
+ &gt;
770
+ {rightIcon}
771
+ &lt;/svg&gt;
772
+ )}
773
+ &lt;/button&gt;
774
+ &lt;AnimationGroup display={isExpanded}&gt;
775
+ &lt;div
776
+ className={`${currentPage ? 'currentPage' : ''} ${
777
+ isOpen &amp;&amp; !disabled ? 'drawer open' : 'drawer'
778
+ } ${hasDarkerBackground(darkerBackground)} ${hasLargerDrawBottomPadding(largerDrawerBottomPadding)}`}
779
+ &gt;
780
+ &lt;ul aria-hidden={!isOpen}&gt;
781
+ {listOfLinks &amp;&amp;
782
+ renderDrawerLinksRecursively(listOfLinks, `parent-link ${adjustItemSpacing(largerDrawerBottomPadding)}`)}
783
+ &lt;/ul&gt;
784
+ &lt;/div&gt;
785
+ &lt;/AnimationGroup&gt;
786
+ &lt;/div&gt;
787
+ );
788
+ };
789
+ &nbsp;
790
+ NavLinkDrawer.propTypes = {
791
+ isExpanded: PropTypes.bool,
792
+ isAlwaysOpen: PropTypes.bool,
793
+ openByDefault: PropTypes.bool,
794
+ className: PropTypes.string,
795
+ rightIcon: PropTypes.element,
796
+ leftIcon: PropTypes.element,
797
+ label: PropTypes.string,
798
+ linkActiveFunc: PropTypes.func,
799
+ linkCallback: PropTypes.func,
800
+ listOfLinks: PropTypes.array,
801
+ disabled: PropTypes.bool,
802
+ sidebarExpand: PropTypes.func,
803
+ staticDrawer: PropTypes.bool,
804
+ items: PropTypes.object,
805
+ url: PropTypes.string,
806
+ isHighlighted: PropTypes.bool,
807
+ darkerBackground: PropTypes.bool,
808
+ leftBorderHighlightDisabled: PropTypes.bool,
809
+ largerDrawerBottomPadding: PropTypes.bool
810
+ };
811
+ &nbsp;
812
+ export default NavLinkDrawer;
813
+ &nbsp;</pre></td></tr></table></pre>
814
+
815
+ <div class='push'></div><!-- for sticky footer -->
816
+ </div><!-- /wrapper -->
817
+ <div class='footer quiet pad2 space-top1 center small'>
818
+ Code coverage generated by
819
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
820
+ at Tue May 10 2022 11:18:12 GMT-0400 (Eastern Daylight Time)
821
+ </div>
822
+ <script src="../../../../prettify.js"></script>
823
+ <script>
824
+ window.onload = function () {
825
+ prettyPrint();
826
+ };
827
+ </script>
828
+ <script src="../../../../sorter.js"></script>
829
+ <script src="../../../../block-navigation.js"></script>
830
+ </body>
831
+ </html>
832
+