@k-int/stripes-kint-components 5.1.3 → 5.2.1

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 (207) hide show
  1. package/CHANGELOG.md +23 -7
  2. package/README.md +3 -1
  3. package/es/lib/constants/comparators.js +6 -1
  4. package/es/lib/utils/filterParsers/deparseKiwtQueryFilters.js +2 -2
  5. package/es/lib/utils/filterParsers/parseKiwtQueryString.js +1 -1
  6. package/package.json +13 -4
  7. package/src/lib/constants/comparators.js +10 -6
  8. package/src/lib/utils/filterParsers/deparseKiwtQueryFilters.js +2 -2
  9. package/src/lib/utils/filterParsers/parseKiwtQueryString.js +0 -1
  10. package/es/artifacts/coverage-jest/lcov-report/block-navigation.js +0 -69
  11. package/es/artifacts/coverage-jest/lcov-report/prettify.js +0 -814
  12. package/es/artifacts/coverage-jest/lcov-report/sorter.js +0 -181
  13. package/junit.xml +0 -293
  14. package/src/artifacts/coverage-jest/lcov-report/ActionList/ActionList.js.html +0 -373
  15. package/src/artifacts/coverage-jest/lcov-report/ActionList/ActionListFieldArray.js.html +0 -1468
  16. package/src/artifacts/coverage-jest/lcov-report/ActionList/index.html +0 -146
  17. package/src/artifacts/coverage-jest/lcov-report/ActionList/index.js.html +0 -88
  18. package/src/artifacts/coverage-jest/lcov-report/ComboButton/ComboButton.js.html +0 -568
  19. package/src/artifacts/coverage-jest/lcov-report/ComboButton/index.html +0 -131
  20. package/src/artifacts/coverage-jest/lcov-report/ComboButton/index.js.html +0 -88
  21. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertiesLookup.js.html +0 -667
  22. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertiesSettings.js.html +0 -1240
  23. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertyForm.js.html +0 -1474
  24. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertyView.js.html +0 -733
  25. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/index.html +0 -176
  26. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/index.js.html +0 -97
  27. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/testResources.js.html +0 -793
  28. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertiesEdit.js.html +0 -208
  29. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertiesEditCtx.js.html +0 -352
  30. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertiesListField.js.html +0 -835
  31. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertyField.js.html +0 -1300
  32. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertyFormCard.js.html +0 -454
  33. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/index.html +0 -206
  34. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/index.js.html +0 -100
  35. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/testResources.js.html +0 -271
  36. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesFilter.js.html +0 -499
  37. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesFilterField.js.html +0 -568
  38. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesFilterFieldArray.js.html +0 -415
  39. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesFilterForm.js.html +0 -340
  40. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesRule.js.html +0 -502
  41. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/index.html +0 -251
  42. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/index.js.html +0 -103
  43. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/testResources.js.html +0 -223
  44. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/useOperators.js.html +0 -271
  45. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/useParseActiveFilterStrings.js.html +0 -199
  46. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/useValueProps.js.html +0 -253
  47. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/CustomPropertiesView.js.html +0 -211
  48. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/CustomPropertiesViewCtx.js.html +0 -445
  49. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/CustomPropertyCard.js.html +0 -619
  50. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/index.html +0 -176
  51. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/index.js.html +0 -94
  52. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/testResources.js.html +0 -571
  53. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/index.html +0 -116
  54. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/index.js.html +0 -175
  55. package/src/artifacts/coverage-jest/lcov-report/CycleButton/CycleButton.js.html +0 -217
  56. package/src/artifacts/coverage-jest/lcov-report/CycleButton/index.html +0 -131
  57. package/src/artifacts/coverage-jest/lcov-report/CycleButton/index.js.html +0 -88
  58. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataCategoryList/EditableRefdataCategoryList.js.html +0 -751
  59. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataCategoryList/index.html +0 -131
  60. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataCategoryList/index.js.html +0 -88
  61. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataList/EditableRefdataList.js.html +0 -853
  62. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataList/index.html +0 -131
  63. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataList/index.js.html +0 -88
  64. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/EditableSettingsList.js.html +0 -280
  65. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/EditableSettingsListFieldArray.js.html +0 -259
  66. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/EditSettingValue.js.html +0 -412
  67. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/RenderSettingValue.js.html +0 -313
  68. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/SettingField.js.html +0 -574
  69. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/index.html +0 -161
  70. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/index.js.html +0 -94
  71. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/index.html +0 -146
  72. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/index.js.html +0 -94
  73. package/src/artifacts/coverage-jest/lcov-report/FormModal/FormModal.js.html +0 -379
  74. package/src/artifacts/coverage-jest/lcov-report/FormModal/index.html +0 -131
  75. package/src/artifacts/coverage-jest/lcov-report/FormModal/index.js.html +0 -88
  76. package/src/artifacts/coverage-jest/lcov-report/FormattedKintMessage/FormattedKintMessage.js.html +0 -247
  77. package/src/artifacts/coverage-jest/lcov-report/FormattedKintMessage/index.html +0 -131
  78. package/src/artifacts/coverage-jest/lcov-report/FormattedKintMessage/index.js.html +0 -88
  79. package/src/artifacts/coverage-jest/lcov-report/IconSelect/IconSelect.js.html +0 -508
  80. package/src/artifacts/coverage-jest/lcov-report/IconSelect/index.html +0 -131
  81. package/src/artifacts/coverage-jest/lcov-report/IconSelect/index.js.html +0 -88
  82. package/src/artifacts/coverage-jest/lcov-report/NoResultsMessage/NoResultsMessage.js.html +0 -361
  83. package/src/artifacts/coverage-jest/lcov-report/NoResultsMessage/index.html +0 -131
  84. package/src/artifacts/coverage-jest/lcov-report/NoResultsMessage/index.js.html +0 -88
  85. package/src/artifacts/coverage-jest/lcov-report/QueryTypedown/QueryTypedown.js.html +0 -205
  86. package/src/artifacts/coverage-jest/lcov-report/QueryTypedown/index.html +0 -131
  87. package/src/artifacts/coverage-jest/lcov-report/QueryTypedown/index.js.html +0 -88
  88. package/src/artifacts/coverage-jest/lcov-report/RefdataButtons/RefdataButtons.js.html +0 -370
  89. package/src/artifacts/coverage-jest/lcov-report/RefdataButtons/index.html +0 -131
  90. package/src/artifacts/coverage-jest/lcov-report/RefdataButtons/index.js.html +0 -88
  91. package/src/artifacts/coverage-jest/lcov-report/ResponsiveButtonGroup/ResponsiveButtonGroup.js.html +0 -580
  92. package/src/artifacts/coverage-jest/lcov-report/ResponsiveButtonGroup/index.html +0 -146
  93. package/src/artifacts/coverage-jest/lcov-report/ResponsiveButtonGroup/index.js.html +0 -88
  94. package/src/artifacts/coverage-jest/lcov-report/ResponsiveButtonGroup/useResponsiveButtonGroupSizing.js.html +0 -301
  95. package/src/artifacts/coverage-jest/lcov-report/RichSelect/RichSelect.js.html +0 -718
  96. package/src/artifacts/coverage-jest/lcov-report/RichSelect/index.html +0 -146
  97. package/src/artifacts/coverage-jest/lcov-report/RichSelect/index.js.html +0 -91
  98. package/src/artifacts/coverage-jest/lcov-report/RichSelect/useSelectedOption.js.html +0 -127
  99. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/SASQLookupComponent.js.html +0 -1069
  100. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/TableBody/TableBody.js.html +0 -400
  101. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/TableBody/index.html +0 -131
  102. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/TableBody/index.js.html +0 -88
  103. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/index.html +0 -131
  104. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/index.js.html +0 -91
  105. package/src/artifacts/coverage-jest/lcov-report/SASQRoute/SASQRoute.js.html +0 -346
  106. package/src/artifacts/coverage-jest/lcov-report/SASQRoute/index.html +0 -131
  107. package/src/artifacts/coverage-jest/lcov-report/SASQRoute/index.js.html +0 -88
  108. package/src/artifacts/coverage-jest/lcov-report/SASQViewComponent/SASQViewComponent.js.html +0 -307
  109. package/src/artifacts/coverage-jest/lcov-report/SASQViewComponent/index.html +0 -131
  110. package/src/artifacts/coverage-jest/lcov-report/SASQViewComponent/index.js.html +0 -88
  111. package/src/artifacts/coverage-jest/lcov-report/SearchField/SearchField.js.html +0 -214
  112. package/src/artifacts/coverage-jest/lcov-report/SearchField/index.html +0 -131
  113. package/src/artifacts/coverage-jest/lcov-report/SearchField/index.js.html +0 -88
  114. package/src/artifacts/coverage-jest/lcov-report/SettingPage/SettingPage.js.html +0 -220
  115. package/src/artifacts/coverage-jest/lcov-report/SettingPage/SettingPagePane.js.html +0 -208
  116. package/src/artifacts/coverage-jest/lcov-report/SettingPage/index.html +0 -146
  117. package/src/artifacts/coverage-jest/lcov-report/SettingPage/index.js.html +0 -91
  118. package/src/artifacts/coverage-jest/lcov-report/SettingsFormContainer/SettingsFormContainer.js.html +0 -409
  119. package/src/artifacts/coverage-jest/lcov-report/SettingsFormContainer/index.html +0 -131
  120. package/src/artifacts/coverage-jest/lcov-report/SettingsFormContainer/index.js.html +0 -88
  121. package/src/artifacts/coverage-jest/lcov-report/Typedown/Typedown.js.html +0 -913
  122. package/src/artifacts/coverage-jest/lcov-report/Typedown/index.html +0 -131
  123. package/src/artifacts/coverage-jest/lcov-report/Typedown/index.js.html +0 -88
  124. package/src/artifacts/coverage-jest/lcov-report/base.css +0 -224
  125. package/src/artifacts/coverage-jest/lcov-report/block-navigation.js +0 -87
  126. package/src/artifacts/coverage-jest/lcov-report/constants/comparators.js.html +0 -124
  127. package/src/artifacts/coverage-jest/lcov-report/constants/customProperties.js.html +0 -121
  128. package/src/artifacts/coverage-jest/lcov-report/constants/endpoints.js.html +0 -91
  129. package/src/artifacts/coverage-jest/lcov-report/constants/eventCodes.js.html +0 -94
  130. package/src/artifacts/coverage-jest/lcov-report/constants/index.html +0 -161
  131. package/src/artifacts/coverage-jest/lcov-report/contexts/SettingsContext.js.html +0 -97
  132. package/src/artifacts/coverage-jest/lcov-report/contexts/index.html +0 -131
  133. package/src/artifacts/coverage-jest/lcov-report/contexts/index.js.html +0 -91
  134. package/src/artifacts/coverage-jest/lcov-report/favicon.png +0 -0
  135. package/src/artifacts/coverage-jest/lcov-report/hooks/index.html +0 -401
  136. package/src/artifacts/coverage-jest/lcov-report/hooks/index.js.html +0 -142
  137. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/index.html +0 -161
  138. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/index.js.html +0 -94
  139. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/useAppSettings.js.html +0 -292
  140. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/useSettingSection.js.html +0 -214
  141. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/useSettings.js.html +0 -463
  142. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/index.html +0 -161
  143. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/index.js.html +0 -94
  144. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/useTypedown.js.html +0 -520
  145. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/useTypedownData.js.html +0 -181
  146. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/useTypedownToggle.js.html +0 -163
  147. package/src/artifacts/coverage-jest/lcov-report/hooks/useActiveElement.js.html +0 -157
  148. package/src/artifacts/coverage-jest/lcov-report/hooks/useAvailableCustomProperties.js.html +0 -205
  149. package/src/artifacts/coverage-jest/lcov-report/hooks/useCustomProperties.js.html +0 -325
  150. package/src/artifacts/coverage-jest/lcov-report/hooks/useHelperApp.js.html +0 -295
  151. package/src/artifacts/coverage-jest/lcov-report/hooks/useIntlKey.js.html +0 -151
  152. package/src/artifacts/coverage-jest/lcov-report/hooks/useIntlKeyStore.js.html +0 -199
  153. package/src/artifacts/coverage-jest/lcov-report/hooks/useInvalidateRefdata.js.html +0 -118
  154. package/src/artifacts/coverage-jest/lcov-report/hooks/useKintIntl.js.html +0 -238
  155. package/src/artifacts/coverage-jest/lcov-report/hooks/useKiwtFieldArray.js.html +0 -274
  156. package/src/artifacts/coverage-jest/lcov-report/hooks/useKiwtSASQuery.js.html +0 -196
  157. package/src/artifacts/coverage-jest/lcov-report/hooks/useLocalStorageState.js.html +0 -136
  158. package/src/artifacts/coverage-jest/lcov-report/hooks/useModConfigEntries.js.html +0 -226
  159. package/src/artifacts/coverage-jest/lcov-report/hooks/useMutateCustomProperties.js.html +0 -283
  160. package/src/artifacts/coverage-jest/lcov-report/hooks/useMutateModConfigEntry.js.html +0 -238
  161. package/src/artifacts/coverage-jest/lcov-report/hooks/useMutateRefdataCategory.js.html +0 -274
  162. package/src/artifacts/coverage-jest/lcov-report/hooks/useMutateRefdataValue.js.html +0 -322
  163. package/src/artifacts/coverage-jest/lcov-report/hooks/useQIndex.js.html +0 -208
  164. package/src/artifacts/coverage-jest/lcov-report/hooks/useRefdata.js.html +0 -265
  165. package/src/artifacts/coverage-jest/lcov-report/hooks/useSASQQueryMeta.js.html +0 -187
  166. package/src/artifacts/coverage-jest/lcov-report/hooks/useTemplates.js.html +0 -166
  167. package/src/artifacts/coverage-jest/lcov-report/index.html +0 -641
  168. package/src/artifacts/coverage-jest/lcov-report/prettify.css +0 -1
  169. package/src/artifacts/coverage-jest/lcov-report/prettify.js +0 -2
  170. package/src/artifacts/coverage-jest/lcov-report/settingsHooks/index.html +0 -161
  171. package/src/artifacts/coverage-jest/lcov-report/settingsHooks/index.js.html +0 -94
  172. package/src/artifacts/coverage-jest/lcov-report/settingsHooks/useAppSettings.js.html +0 -292
  173. package/src/artifacts/coverage-jest/lcov-report/settingsHooks/useSettingSection.js.html +0 -211
  174. package/src/artifacts/coverage-jest/lcov-report/settingsHooks/useSettings.js.html +0 -466
  175. package/src/artifacts/coverage-jest/lcov-report/sort-arrow-sprite.png +0 -0
  176. package/src/artifacts/coverage-jest/lcov-report/sorter.js +0 -196
  177. package/src/artifacts/coverage-jest/lcov-report/utils/buildUrl.js.html +0 -181
  178. package/src/artifacts/coverage-jest/lcov-report/utils/filterParsers/deparseKiwtQueryFilters.js.html +0 -181
  179. package/src/artifacts/coverage-jest/lcov-report/utils/filterParsers/index.html +0 -176
  180. package/src/artifacts/coverage-jest/lcov-report/utils/filterParsers/index.js.html +0 -124
  181. package/src/artifacts/coverage-jest/lcov-report/utils/filterParsers/parseKiwtQueryFilters.js.html +0 -211
  182. package/src/artifacts/coverage-jest/lcov-report/utils/filterParsers/parseKiwtQueryGroups.js.html +0 -367
  183. package/src/artifacts/coverage-jest/lcov-report/utils/filterParsers/parseKiwtQueryString.js.html +0 -184
  184. package/src/artifacts/coverage-jest/lcov-report/utils/generateKiwtQuery.js.html +0 -109
  185. package/src/artifacts/coverage-jest/lcov-report/utils/generateKiwtQueryParams.js.html +0 -637
  186. package/src/artifacts/coverage-jest/lcov-report/utils/groupCustomPropertiesByCtx.js.html +0 -124
  187. package/src/artifacts/coverage-jest/lcov-report/utils/highlightString.js.html +0 -211
  188. package/src/artifacts/coverage-jest/lcov-report/utils/index.html +0 -341
  189. package/src/artifacts/coverage-jest/lcov-report/utils/index.js.html +0 -190
  190. package/src/artifacts/coverage-jest/lcov-report/utils/matchString.js.html +0 -127
  191. package/src/artifacts/coverage-jest/lcov-report/utils/modConfigEntriesQueryKey.js.html +0 -142
  192. package/src/artifacts/coverage-jest/lcov-report/utils/parseErrorResponse.js.html +0 -142
  193. package/src/artifacts/coverage-jest/lcov-report/utils/parseKiwtQueryGroups.js.html +0 -361
  194. package/src/artifacts/coverage-jest/lcov-report/utils/parseModConfigEntry.js.html +0 -130
  195. package/src/artifacts/coverage-jest/lcov-report/utils/refdataOptions.js.html +0 -109
  196. package/src/artifacts/coverage-jest/lcov-report/utils/refdataQueryKey.js.html +0 -112
  197. package/src/artifacts/coverage-jest/lcov-report/utils/renderHelpText.js.html +0 -166
  198. package/src/artifacts/coverage-jest/lcov-report/utils/selectorSafe.js.html +0 -145
  199. package/src/artifacts/coverage-jest/lcov-report/utils/sortByLabel.js.html +0 -130
  200. package/src/artifacts/coverage-jest/lcov-report/utils/toCamelCase.js.html +0 -127
  201. package/src/artifacts/coverage-jest/lcov-report/utils/typedownQueryKey.js.html +0 -112
  202. package/src/artifacts/coverage-jest/lcov-report/utils/validators.js.html +0 -370
  203. package/src/artifacts/coverage-jest/lcov-report/validators/index.html +0 -131
  204. package/src/artifacts/coverage-jest/lcov-report/validators/index.js.html +0 -88
  205. package/src/artifacts/coverage-jest/lcov-report/validators/validators.js.html +0 -370
  206. package/src/artifacts/coverage-jest/lcov.info +0 -5423
  207. package/yarn-error.log +0 -129
@@ -1,1240 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for CustomProperties/Config/CustomPropertiesSettings.js</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">CustomProperties/Config</a> CustomPropertiesSettings.js</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">33.89% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>20/59</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">36.17% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>17/47</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">11.76% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>2/17</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">33.89% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>20/59</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>
316
- <a name='L251'></a><a href='#L251'>251</a>
317
- <a name='L252'></a><a href='#L252'>252</a>
318
- <a name='L253'></a><a href='#L253'>253</a>
319
- <a name='L254'></a><a href='#L254'>254</a>
320
- <a name='L255'></a><a href='#L255'>255</a>
321
- <a name='L256'></a><a href='#L256'>256</a>
322
- <a name='L257'></a><a href='#L257'>257</a>
323
- <a name='L258'></a><a href='#L258'>258</a>
324
- <a name='L259'></a><a href='#L259'>259</a>
325
- <a name='L260'></a><a href='#L260'>260</a>
326
- <a name='L261'></a><a href='#L261'>261</a>
327
- <a name='L262'></a><a href='#L262'>262</a>
328
- <a name='L263'></a><a href='#L263'>263</a>
329
- <a name='L264'></a><a href='#L264'>264</a>
330
- <a name='L265'></a><a href='#L265'>265</a>
331
- <a name='L266'></a><a href='#L266'>266</a>
332
- <a name='L267'></a><a href='#L267'>267</a>
333
- <a name='L268'></a><a href='#L268'>268</a>
334
- <a name='L269'></a><a href='#L269'>269</a>
335
- <a name='L270'></a><a href='#L270'>270</a>
336
- <a name='L271'></a><a href='#L271'>271</a>
337
- <a name='L272'></a><a href='#L272'>272</a>
338
- <a name='L273'></a><a href='#L273'>273</a>
339
- <a name='L274'></a><a href='#L274'>274</a>
340
- <a name='L275'></a><a href='#L275'>275</a>
341
- <a name='L276'></a><a href='#L276'>276</a>
342
- <a name='L277'></a><a href='#L277'>277</a>
343
- <a name='L278'></a><a href='#L278'>278</a>
344
- <a name='L279'></a><a href='#L279'>279</a>
345
- <a name='L280'></a><a href='#L280'>280</a>
346
- <a name='L281'></a><a href='#L281'>281</a>
347
- <a name='L282'></a><a href='#L282'>282</a>
348
- <a name='L283'></a><a href='#L283'>283</a>
349
- <a name='L284'></a><a href='#L284'>284</a>
350
- <a name='L285'></a><a href='#L285'>285</a>
351
- <a name='L286'></a><a href='#L286'>286</a>
352
- <a name='L287'></a><a href='#L287'>287</a>
353
- <a name='L288'></a><a href='#L288'>288</a>
354
- <a name='L289'></a><a href='#L289'>289</a>
355
- <a name='L290'></a><a href='#L290'>290</a>
356
- <a name='L291'></a><a href='#L291'>291</a>
357
- <a name='L292'></a><a href='#L292'>292</a>
358
- <a name='L293'></a><a href='#L293'>293</a>
359
- <a name='L294'></a><a href='#L294'>294</a>
360
- <a name='L295'></a><a href='#L295'>295</a>
361
- <a name='L296'></a><a href='#L296'>296</a>
362
- <a name='L297'></a><a href='#L297'>297</a>
363
- <a name='L298'></a><a href='#L298'>298</a>
364
- <a name='L299'></a><a href='#L299'>299</a>
365
- <a name='L300'></a><a href='#L300'>300</a>
366
- <a name='L301'></a><a href='#L301'>301</a>
367
- <a name='L302'></a><a href='#L302'>302</a>
368
- <a name='L303'></a><a href='#L303'>303</a>
369
- <a name='L304'></a><a href='#L304'>304</a>
370
- <a name='L305'></a><a href='#L305'>305</a>
371
- <a name='L306'></a><a href='#L306'>306</a>
372
- <a name='L307'></a><a href='#L307'>307</a>
373
- <a name='L308'></a><a href='#L308'>308</a>
374
- <a name='L309'></a><a href='#L309'>309</a>
375
- <a name='L310'></a><a href='#L310'>310</a>
376
- <a name='L311'></a><a href='#L311'>311</a>
377
- <a name='L312'></a><a href='#L312'>312</a>
378
- <a name='L313'></a><a href='#L313'>313</a>
379
- <a name='L314'></a><a href='#L314'>314</a>
380
- <a name='L315'></a><a href='#L315'>315</a>
381
- <a name='L316'></a><a href='#L316'>316</a>
382
- <a name='L317'></a><a href='#L317'>317</a>
383
- <a name='L318'></a><a href='#L318'>318</a>
384
- <a name='L319'></a><a href='#L319'>319</a>
385
- <a name='L320'></a><a href='#L320'>320</a>
386
- <a name='L321'></a><a href='#L321'>321</a>
387
- <a name='L322'></a><a href='#L322'>322</a>
388
- <a name='L323'></a><a href='#L323'>323</a>
389
- <a name='L324'></a><a href='#L324'>324</a>
390
- <a name='L325'></a><a href='#L325'>325</a>
391
- <a name='L326'></a><a href='#L326'>326</a>
392
- <a name='L327'></a><a href='#L327'>327</a>
393
- <a name='L328'></a><a href='#L328'>328</a>
394
- <a name='L329'></a><a href='#L329'>329</a>
395
- <a name='L330'></a><a href='#L330'>330</a>
396
- <a name='L331'></a><a href='#L331'>331</a>
397
- <a name='L332'></a><a href='#L332'>332</a>
398
- <a name='L333'></a><a href='#L333'>333</a>
399
- <a name='L334'></a><a href='#L334'>334</a>
400
- <a name='L335'></a><a href='#L335'>335</a>
401
- <a name='L336'></a><a href='#L336'>336</a>
402
- <a name='L337'></a><a href='#L337'>337</a>
403
- <a name='L338'></a><a href='#L338'>338</a>
404
- <a name='L339'></a><a href='#L339'>339</a>
405
- <a name='L340'></a><a href='#L340'>340</a>
406
- <a name='L341'></a><a href='#L341'>341</a>
407
- <a name='L342'></a><a href='#L342'>342</a>
408
- <a name='L343'></a><a href='#L343'>343</a>
409
- <a name='L344'></a><a href='#L344'>344</a>
410
- <a name='L345'></a><a href='#L345'>345</a>
411
- <a name='L346'></a><a href='#L346'>346</a>
412
- <a name='L347'></a><a href='#L347'>347</a>
413
- <a name='L348'></a><a href='#L348'>348</a>
414
- <a name='L349'></a><a href='#L349'>349</a>
415
- <a name='L350'></a><a href='#L350'>350</a>
416
- <a name='L351'></a><a href='#L351'>351</a>
417
- <a name='L352'></a><a href='#L352'>352</a>
418
- <a name='L353'></a><a href='#L353'>353</a>
419
- <a name='L354'></a><a href='#L354'>354</a>
420
- <a name='L355'></a><a href='#L355'>355</a>
421
- <a name='L356'></a><a href='#L356'>356</a>
422
- <a name='L357'></a><a href='#L357'>357</a>
423
- <a name='L358'></a><a href='#L358'>358</a>
424
- <a name='L359'></a><a href='#L359'>359</a>
425
- <a name='L360'></a><a href='#L360'>360</a>
426
- <a name='L361'></a><a href='#L361'>361</a>
427
- <a name='L362'></a><a href='#L362'>362</a>
428
- <a name='L363'></a><a href='#L363'>363</a>
429
- <a name='L364'></a><a href='#L364'>364</a>
430
- <a name='L365'></a><a href='#L365'>365</a>
431
- <a name='L366'></a><a href='#L366'>366</a>
432
- <a name='L367'></a><a href='#L367'>367</a>
433
- <a name='L368'></a><a href='#L368'>368</a>
434
- <a name='L369'></a><a href='#L369'>369</a>
435
- <a name='L370'></a><a href='#L370'>370</a>
436
- <a name='L371'></a><a href='#L371'>371</a>
437
- <a name='L372'></a><a href='#L372'>372</a>
438
- <a name='L373'></a><a href='#L373'>373</a>
439
- <a name='L374'></a><a href='#L374'>374</a>
440
- <a name='L375'></a><a href='#L375'>375</a>
441
- <a name='L376'></a><a href='#L376'>376</a>
442
- <a name='L377'></a><a href='#L377'>377</a>
443
- <a name='L378'></a><a href='#L378'>378</a>
444
- <a name='L379'></a><a href='#L379'>379</a>
445
- <a name='L380'></a><a href='#L380'>380</a>
446
- <a name='L381'></a><a href='#L381'>381</a>
447
- <a name='L382'></a><a href='#L382'>382</a>
448
- <a name='L383'></a><a href='#L383'>383</a>
449
- <a name='L384'></a><a href='#L384'>384</a>
450
- <a name='L385'></a><a href='#L385'>385</a>
451
- <a name='L386'></a><a href='#L386'>386</a></td><td class="line-coverage quiet"><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>
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-neutral">&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-yes">20x</span>
469
- <span class="cline-any cline-yes">20x</span>
470
- <span class="cline-any cline-yes">20x</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-yes">20x</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-yes">5x</span>
494
- <span class="cline-any cline-neutral">&nbsp;</span>
495
- <span class="cline-any cline-yes">5x</span>
496
- <span class="cline-any cline-yes">5x</span>
497
- <span class="cline-any cline-neutral">&nbsp;</span>
498
- <span class="cline-any cline-yes">5x</span>
499
- <span class="cline-any cline-yes">5x</span>
500
- <span class="cline-any cline-neutral">&nbsp;</span>
501
- <span class="cline-any cline-yes">5x</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-yes">5x</span>
506
- <span class="cline-any cline-neutral">&nbsp;</span>
507
- <span class="cline-any cline-yes">5x</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-yes">5x</span>
511
- <span class="cline-any cline-yes">5x</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-no">&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-yes">5x</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-no">&nbsp;</span>
538
- <span class="cline-any cline-no">&nbsp;</span>
539
- <span class="cline-any cline-no">&nbsp;</span>
540
- <span class="cline-any cline-no">&nbsp;</span>
541
- <span class="cline-any cline-no">&nbsp;</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-no">&nbsp;</span>
546
- <span class="cline-any cline-no">&nbsp;</span>
547
- <span class="cline-any cline-no">&nbsp;</span>
548
- <span class="cline-any cline-no">&nbsp;</span>
549
- <span class="cline-any cline-no">&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-no">&nbsp;</span>
554
- <span class="cline-any cline-no">&nbsp;</span>
555
- <span class="cline-any cline-no">&nbsp;</span>
556
- <span class="cline-any cline-no">&nbsp;</span>
557
- <span class="cline-any cline-no">&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>
565
- <span class="cline-any cline-no">&nbsp;</span>
566
- <span class="cline-any cline-neutral">&nbsp;</span>
567
- <span class="cline-any cline-no">&nbsp;</span>
568
- <span class="cline-any cline-neutral">&nbsp;</span>
569
- <span class="cline-any cline-neutral">&nbsp;</span>
570
- <span class="cline-any cline-neutral">&nbsp;</span>
571
- <span class="cline-any cline-neutral">&nbsp;</span>
572
- <span class="cline-any cline-neutral">&nbsp;</span>
573
- <span class="cline-any cline-neutral">&nbsp;</span>
574
- <span class="cline-any cline-neutral">&nbsp;</span>
575
- <span class="cline-any cline-neutral">&nbsp;</span>
576
- <span class="cline-any cline-neutral">&nbsp;</span>
577
- <span class="cline-any cline-neutral">&nbsp;</span>
578
- <span class="cline-any cline-neutral">&nbsp;</span>
579
- <span class="cline-any cline-neutral">&nbsp;</span>
580
- <span class="cline-any cline-neutral">&nbsp;</span>
581
- <span class="cline-any cline-neutral">&nbsp;</span>
582
- <span class="cline-any cline-neutral">&nbsp;</span>
583
- <span class="cline-any cline-neutral">&nbsp;</span>
584
- <span class="cline-any cline-neutral">&nbsp;</span>
585
- <span class="cline-any cline-neutral">&nbsp;</span>
586
- <span class="cline-any cline-neutral">&nbsp;</span>
587
- <span class="cline-any cline-yes">5x</span>
588
- <span class="cline-any cline-no">&nbsp;</span>
589
- <span class="cline-any cline-neutral">&nbsp;</span>
590
- <span class="cline-any cline-neutral">&nbsp;</span>
591
- <span class="cline-any cline-neutral">&nbsp;</span>
592
- <span class="cline-any cline-neutral">&nbsp;</span>
593
- <span class="cline-any cline-neutral">&nbsp;</span>
594
- <span class="cline-any cline-neutral">&nbsp;</span>
595
- <span class="cline-any cline-neutral">&nbsp;</span>
596
- <span class="cline-any cline-yes">5x</span>
597
- <span class="cline-any cline-no">&nbsp;</span>
598
- <span class="cline-any cline-no">&nbsp;</span>
599
- <span class="cline-any cline-no">&nbsp;</span>
600
- <span class="cline-any cline-neutral">&nbsp;</span>
601
- <span class="cline-any cline-neutral">&nbsp;</span>
602
- <span class="cline-any cline-neutral">&nbsp;</span>
603
- <span class="cline-any cline-neutral">&nbsp;</span>
604
- <span class="cline-any cline-neutral">&nbsp;</span>
605
- <span class="cline-any cline-yes">5x</span>
606
- <span class="cline-any cline-neutral">&nbsp;</span>
607
- <span class="cline-any cline-neutral">&nbsp;</span>
608
- <span class="cline-any cline-neutral">&nbsp;</span>
609
- <span class="cline-any cline-neutral">&nbsp;</span>
610
- <span class="cline-any cline-neutral">&nbsp;</span>
611
- <span class="cline-any cline-neutral">&nbsp;</span>
612
- <span class="cline-any cline-neutral">&nbsp;</span>
613
- <span class="cline-any cline-neutral">&nbsp;</span>
614
- <span class="cline-any cline-no">&nbsp;</span>
615
- <span class="cline-any cline-neutral">&nbsp;</span>
616
- <span class="cline-any cline-neutral">&nbsp;</span>
617
- <span class="cline-any cline-neutral">&nbsp;</span>
618
- <span class="cline-any cline-neutral">&nbsp;</span>
619
- <span class="cline-any cline-neutral">&nbsp;</span>
620
- <span class="cline-any cline-neutral">&nbsp;</span>
621
- <span class="cline-any cline-neutral">&nbsp;</span>
622
- <span class="cline-any cline-neutral">&nbsp;</span>
623
- <span class="cline-any cline-neutral">&nbsp;</span>
624
- <span class="cline-any cline-neutral">&nbsp;</span>
625
- <span class="cline-any cline-neutral">&nbsp;</span>
626
- <span class="cline-any cline-neutral">&nbsp;</span>
627
- <span class="cline-any cline-neutral">&nbsp;</span>
628
- <span class="cline-any cline-neutral">&nbsp;</span>
629
- <span class="cline-any cline-neutral">&nbsp;</span>
630
- <span class="cline-any cline-neutral">&nbsp;</span>
631
- <span class="cline-any cline-neutral">&nbsp;</span>
632
- <span class="cline-any cline-neutral">&nbsp;</span>
633
- <span class="cline-any cline-neutral">&nbsp;</span>
634
- <span class="cline-any cline-neutral">&nbsp;</span>
635
- <span class="cline-any cline-neutral">&nbsp;</span>
636
- <span class="cline-any cline-neutral">&nbsp;</span>
637
- <span class="cline-any cline-neutral">&nbsp;</span>
638
- <span class="cline-any cline-neutral">&nbsp;</span>
639
- <span class="cline-any cline-no">&nbsp;</span>
640
- <span class="cline-any cline-neutral">&nbsp;</span>
641
- <span class="cline-any cline-neutral">&nbsp;</span>
642
- <span class="cline-any cline-neutral">&nbsp;</span>
643
- <span class="cline-any cline-neutral">&nbsp;</span>
644
- <span class="cline-any cline-neutral">&nbsp;</span>
645
- <span class="cline-any cline-no">&nbsp;</span>
646
- <span class="cline-any cline-no">&nbsp;</span>
647
- <span class="cline-any cline-no">&nbsp;</span>
648
- <span class="cline-any cline-neutral">&nbsp;</span>
649
- <span class="cline-any cline-neutral">&nbsp;</span>
650
- <span class="cline-any cline-neutral">&nbsp;</span>
651
- <span class="cline-any cline-neutral">&nbsp;</span>
652
- <span class="cline-any cline-no">&nbsp;</span>
653
- <span class="cline-any cline-neutral">&nbsp;</span>
654
- <span class="cline-any cline-neutral">&nbsp;</span>
655
- <span class="cline-any cline-neutral">&nbsp;</span>
656
- <span class="cline-any cline-neutral">&nbsp;</span>
657
- <span class="cline-any cline-neutral">&nbsp;</span>
658
- <span class="cline-any cline-neutral">&nbsp;</span>
659
- <span class="cline-any cline-neutral">&nbsp;</span>
660
- <span class="cline-any cline-neutral">&nbsp;</span>
661
- <span class="cline-any cline-neutral">&nbsp;</span>
662
- <span class="cline-any cline-neutral">&nbsp;</span>
663
- <span class="cline-any cline-neutral">&nbsp;</span>
664
- <span class="cline-any cline-neutral">&nbsp;</span>
665
- <span class="cline-any cline-neutral">&nbsp;</span>
666
- <span class="cline-any cline-neutral">&nbsp;</span>
667
- <span class="cline-any cline-neutral">&nbsp;</span>
668
- <span class="cline-any cline-no">&nbsp;</span>
669
- <span class="cline-any cline-no">&nbsp;</span>
670
- <span class="cline-any cline-neutral">&nbsp;</span>
671
- <span class="cline-any cline-neutral">&nbsp;</span>
672
- <span class="cline-any cline-neutral">&nbsp;</span>
673
- <span class="cline-any cline-neutral">&nbsp;</span>
674
- <span class="cline-any cline-neutral">&nbsp;</span>
675
- <span class="cline-any cline-no">&nbsp;</span>
676
- <span class="cline-any cline-no">&nbsp;</span>
677
- <span class="cline-any cline-neutral">&nbsp;</span>
678
- <span class="cline-any cline-neutral">&nbsp;</span>
679
- <span class="cline-any cline-neutral">&nbsp;</span>
680
- <span class="cline-any cline-neutral">&nbsp;</span>
681
- <span class="cline-any cline-neutral">&nbsp;</span>
682
- <span class="cline-any cline-neutral">&nbsp;</span>
683
- <span class="cline-any cline-neutral">&nbsp;</span>
684
- <span class="cline-any cline-neutral">&nbsp;</span>
685
- <span class="cline-any cline-neutral">&nbsp;</span>
686
- <span class="cline-any cline-neutral">&nbsp;</span>
687
- <span class="cline-any cline-neutral">&nbsp;</span>
688
- <span class="cline-any cline-neutral">&nbsp;</span>
689
- <span class="cline-any cline-neutral">&nbsp;</span>
690
- <span class="cline-any cline-neutral">&nbsp;</span>
691
- <span class="cline-any cline-neutral">&nbsp;</span>
692
- <span class="cline-any cline-neutral">&nbsp;</span>
693
- <span class="cline-any cline-no">&nbsp;</span>
694
- <span class="cline-any cline-neutral">&nbsp;</span>
695
- <span class="cline-any cline-neutral">&nbsp;</span>
696
- <span class="cline-any cline-neutral">&nbsp;</span>
697
- <span class="cline-any cline-neutral">&nbsp;</span>
698
- <span class="cline-any cline-no">&nbsp;</span>
699
- <span class="cline-any cline-neutral">&nbsp;</span>
700
- <span class="cline-any cline-neutral">&nbsp;</span>
701
- <span class="cline-any cline-neutral">&nbsp;</span>
702
- <span class="cline-any cline-neutral">&nbsp;</span>
703
- <span class="cline-any cline-neutral">&nbsp;</span>
704
- <span class="cline-any cline-neutral">&nbsp;</span>
705
- <span class="cline-any cline-neutral">&nbsp;</span>
706
- <span class="cline-any cline-neutral">&nbsp;</span>
707
- <span class="cline-any cline-neutral">&nbsp;</span>
708
- <span class="cline-any cline-neutral">&nbsp;</span>
709
- <span class="cline-any cline-neutral">&nbsp;</span>
710
- <span class="cline-any cline-neutral">&nbsp;</span>
711
- <span class="cline-any cline-neutral">&nbsp;</span>
712
- <span class="cline-any cline-neutral">&nbsp;</span>
713
- <span class="cline-any cline-neutral">&nbsp;</span>
714
- <span class="cline-any cline-neutral">&nbsp;</span>
715
- <span class="cline-any cline-neutral">&nbsp;</span>
716
- <span class="cline-any cline-neutral">&nbsp;</span>
717
- <span class="cline-any cline-neutral">&nbsp;</span>
718
- <span class="cline-any cline-neutral">&nbsp;</span>
719
- <span class="cline-any cline-neutral">&nbsp;</span>
720
- <span class="cline-any cline-neutral">&nbsp;</span>
721
- <span class="cline-any cline-neutral">&nbsp;</span>
722
- <span class="cline-any cline-neutral">&nbsp;</span>
723
- <span class="cline-any cline-neutral">&nbsp;</span>
724
- <span class="cline-any cline-neutral">&nbsp;</span>
725
- <span class="cline-any cline-neutral">&nbsp;</span>
726
- <span class="cline-any cline-neutral">&nbsp;</span>
727
- <span class="cline-any cline-neutral">&nbsp;</span>
728
- <span class="cline-any cline-neutral">&nbsp;</span>
729
- <span class="cline-any cline-neutral">&nbsp;</span>
730
- <span class="cline-any cline-neutral">&nbsp;</span>
731
- <span class="cline-any cline-neutral">&nbsp;</span>
732
- <span class="cline-any cline-neutral">&nbsp;</span>
733
- <span class="cline-any cline-neutral">&nbsp;</span>
734
- <span class="cline-any cline-neutral">&nbsp;</span>
735
- <span class="cline-any cline-neutral">&nbsp;</span>
736
- <span class="cline-any cline-neutral">&nbsp;</span>
737
- <span class="cline-any cline-neutral">&nbsp;</span>
738
- <span class="cline-any cline-neutral">&nbsp;</span>
739
- <span class="cline-any cline-neutral">&nbsp;</span>
740
- <span class="cline-any cline-neutral">&nbsp;</span>
741
- <span class="cline-any cline-neutral">&nbsp;</span>
742
- <span class="cline-any cline-neutral">&nbsp;</span>
743
- <span class="cline-any cline-neutral">&nbsp;</span>
744
- <span class="cline-any cline-neutral">&nbsp;</span>
745
- <span class="cline-any cline-neutral">&nbsp;</span>
746
- <span class="cline-any cline-neutral">&nbsp;</span>
747
- <span class="cline-any cline-neutral">&nbsp;</span>
748
- <span class="cline-any cline-neutral">&nbsp;</span>
749
- <span class="cline-any cline-neutral">&nbsp;</span>
750
- <span class="cline-any cline-neutral">&nbsp;</span>
751
- <span class="cline-any cline-neutral">&nbsp;</span>
752
- <span class="cline-any cline-neutral">&nbsp;</span>
753
- <span class="cline-any cline-no">&nbsp;</span>
754
- <span class="cline-any cline-neutral">&nbsp;</span>
755
- <span class="cline-any cline-neutral">&nbsp;</span>
756
- <span class="cline-any cline-neutral">&nbsp;</span>
757
- <span class="cline-any cline-neutral">&nbsp;</span>
758
- <span class="cline-any cline-neutral">&nbsp;</span>
759
- <span class="cline-any cline-neutral">&nbsp;</span>
760
- <span class="cline-any cline-neutral">&nbsp;</span>
761
- <span class="cline-any cline-neutral">&nbsp;</span>
762
- <span class="cline-any cline-neutral">&nbsp;</span>
763
- <span class="cline-any cline-neutral">&nbsp;</span>
764
- <span class="cline-any cline-neutral">&nbsp;</span>
765
- <span class="cline-any cline-neutral">&nbsp;</span>
766
- <span class="cline-any cline-neutral">&nbsp;</span>
767
- <span class="cline-any cline-yes">100x</span>
768
- <span class="cline-any cline-neutral">&nbsp;</span>
769
- <span class="cline-any cline-neutral">&nbsp;</span>
770
- <span class="cline-any cline-neutral">&nbsp;</span>
771
- <span class="cline-any cline-neutral">&nbsp;</span>
772
- <span class="cline-any cline-neutral">&nbsp;</span>
773
- <span class="cline-any cline-neutral">&nbsp;</span>
774
- <span class="cline-any cline-neutral">&nbsp;</span>
775
- <span class="cline-any cline-neutral">&nbsp;</span>
776
- <span class="cline-any cline-neutral">&nbsp;</span>
777
- <span class="cline-any cline-neutral">&nbsp;</span>
778
- <span class="cline-any cline-neutral">&nbsp;</span>
779
- <span class="cline-any cline-neutral">&nbsp;</span>
780
- <span class="cline-any cline-neutral">&nbsp;</span>
781
- <span class="cline-any cline-neutral">&nbsp;</span>
782
- <span class="cline-any cline-neutral">&nbsp;</span>
783
- <span class="cline-any cline-neutral">&nbsp;</span>
784
- <span class="cline-any cline-neutral">&nbsp;</span>
785
- <span class="cline-any cline-neutral">&nbsp;</span>
786
- <span class="cline-any cline-neutral">&nbsp;</span>
787
- <span class="cline-any cline-neutral">&nbsp;</span>
788
- <span class="cline-any cline-neutral">&nbsp;</span>
789
- <span class="cline-any cline-neutral">&nbsp;</span>
790
- <span class="cline-any cline-neutral">&nbsp;</span>
791
- <span class="cline-any cline-neutral">&nbsp;</span>
792
- <span class="cline-any cline-neutral">&nbsp;</span>
793
- <span class="cline-any cline-neutral">&nbsp;</span>
794
- <span class="cline-any cline-neutral">&nbsp;</span>
795
- <span class="cline-any cline-neutral">&nbsp;</span>
796
- <span class="cline-any cline-neutral">&nbsp;</span>
797
- <span class="cline-any cline-neutral">&nbsp;</span>
798
- <span class="cline-any cline-neutral">&nbsp;</span>
799
- <span class="cline-any cline-neutral">&nbsp;</span>
800
- <span class="cline-any cline-no">&nbsp;</span>
801
- <span class="cline-any cline-neutral">&nbsp;</span>
802
- <span class="cline-any cline-no">&nbsp;</span>
803
- <span class="cline-any cline-no">&nbsp;</span>
804
- <span class="cline-any cline-no">&nbsp;</span>
805
- <span class="cline-any cline-neutral">&nbsp;</span>
806
- <span class="cline-any cline-neutral">&nbsp;</span>
807
- <span class="cline-any cline-neutral">&nbsp;</span>
808
- <span class="cline-any cline-neutral">&nbsp;</span>
809
- <span class="cline-any cline-neutral">&nbsp;</span>
810
- <span class="cline-any cline-neutral">&nbsp;</span>
811
- <span class="cline-any cline-neutral">&nbsp;</span>
812
- <span class="cline-any cline-yes">20x</span>
813
- <span class="cline-any cline-neutral">&nbsp;</span>
814
- <span class="cline-any cline-neutral">&nbsp;</span>
815
- <span class="cline-any cline-neutral">&nbsp;</span>
816
- <span class="cline-any cline-neutral">&nbsp;</span>
817
- <span class="cline-any cline-neutral">&nbsp;</span>
818
- <span class="cline-any cline-neutral">&nbsp;</span>
819
- <span class="cline-any cline-neutral">&nbsp;</span>
820
- <span class="cline-any cline-neutral">&nbsp;</span>
821
- <span class="cline-any cline-neutral">&nbsp;</span>
822
- <span class="cline-any cline-neutral">&nbsp;</span>
823
- <span class="cline-any cline-neutral">&nbsp;</span>
824
- <span class="cline-any cline-neutral">&nbsp;</span>
825
- <span class="cline-any cline-neutral">&nbsp;</span>
826
- <span class="cline-any cline-neutral">&nbsp;</span>
827
- <span class="cline-any cline-neutral">&nbsp;</span>
828
- <span class="cline-any cline-neutral">&nbsp;</span>
829
- <span class="cline-any cline-neutral">&nbsp;</span>
830
- <span class="cline-any cline-neutral">&nbsp;</span>
831
- <span class="cline-any cline-neutral">&nbsp;</span>
832
- <span class="cline-any cline-neutral">&nbsp;</span>
833
- <span class="cline-any cline-neutral">&nbsp;</span>
834
- <span class="cline-any cline-neutral">&nbsp;</span>
835
- <span class="cline-any cline-neutral">&nbsp;</span>
836
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { useState, useContext } from 'react';
837
- import PropTypes from 'prop-types';
838
- &nbsp;
839
- import compose from 'compose-function';
840
- &nbsp;
841
- import { useQueryClient } from 'react-query';
842
- &nbsp;
843
- import { Button, ConfirmationModal, Icon, Pane } from '@folio/stripes/components';
844
- import { CalloutContext } from '@folio/stripes/core';
845
- import FormModal from '../../FormModal/FormModal';
846
- &nbsp;
847
- import CustomPropertiesLookup from './CustomPropertiesLookup';
848
- import CustomPropertyView from './CustomPropertyView';
849
- import CustomPropertiesForm from './CustomPropertyForm';
850
- import { useKintIntl, useMutateCustomProperties, useRefdata } from '../../hooks';
851
- import { parseErrorResponse } from '../../utils';
852
- &nbsp;
853
- const EDITING = 'edit';
854
- const CREATING = 'create';
855
- const VIEWING = 'view';
856
- &nbsp;
857
- // A default option for setting up panes manually
858
- const CustomPropertiesSettings = ({
859
- afterQueryCalls,
860
- catchQueryCalls,
861
- contextFilterOptions,
862
- customPropertiesEndpoint,
863
- displayConditions = {
864
- create: true,
865
- delete: true,
866
- edit: true
867
- },
868
- helpPopovers,
869
- intlKey: passedIntlKey,
870
- intlNS: passedIntlNS,
871
- labelOverrides = {},
872
- refdataEndpoint,
873
- }) =&gt; {
874
- const {
875
- create: createCondition = <span class="branch-0 cbranch-no" title="branch not covered" >true,</span>
876
- delete: deleteCondition = <span class="branch-0 cbranch-no" title="branch not covered" >true,</span>
877
- edit: editCondition = <span class="branch-0 cbranch-no" title="branch not covered" >true</span>
878
- } = displayConditions;
879
- &nbsp;
880
- const callout = useContext(CalloutContext);
881
- const queryClient = useQueryClient();
882
- &nbsp;
883
- const [customProperty, setCustomProperty] = useState();
884
- const [deleteModal, setDeleteModal] = useState(false);
885
- &nbsp;
886
- const refdata = useRefdata({
887
- endpoint: refdataEndpoint,
888
- });
889
- &nbsp;
890
- const [mode, setMode] = useState(VIEWING);
891
- &nbsp;
892
- const kintIntl = useKintIntl(passedIntlKey, passedIntlNS);
893
- &nbsp;
894
- // Default props that need hooks are hard
895
- let renderContextFilterOptions = contextFilterOptions;
896
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!contextFilterOptions) {
897
- /*
898
- Default is {value: '', label: 'All'}, empty string will map to ALL contexts
899
- If null context is needed, use
900
- {value: 'isNull', label: ...}
901
- */
902
- <span class="cstat-no" title="statement not covered" > renderContextFilterOptions = [</span>
903
- {
904
- value: '', // empty string is all custoprop contexts
905
- label: kintIntl.formatKintMessage(
906
- {
907
- id: 'customProperties.config.all',
908
- overrideValue: labelOverrides?.all,
909
- },
910
- )
911
- }
912
- ];
913
- }
914
- &nbsp;
915
- const {
916
- post: createCustprop,
917
- put: editCustProp,
918
- delete: deleteCustProp
919
- } = useMutateCustomProperties({
920
- afterQueryCalls: {
921
- put: <span class="fstat-no" title="function not covered" >re</span>s =&gt; {
922
- <span class="cstat-no" title="statement not covered" > setMode(VIEWING);</span>
923
- <span class="cstat-no" title="statement not covered" > queryClient.invalidateQueries(['stripes-kint-components', 'useCustomProperties', 'custprops']);</span>
924
- <span class="cstat-no" title="statement not covered" > setCustomProperty(res);</span>
925
- <span class="cstat-no" title="statement not covered" > if (afterQueryCalls?.put) {</span>
926
- <span class="cstat-no" title="statement not covered" > afterQueryCalls.put(res);</span>
927
- }
928
- },
929
- post: <span class="fstat-no" title="function not covered" >re</span>s =&gt; {
930
- <span class="cstat-no" title="statement not covered" > setMode(VIEWING);</span>
931
- <span class="cstat-no" title="statement not covered" > queryClient.invalidateQueries(['stripes-kint-components', 'useCustomProperties', 'custprops']);</span>
932
- <span class="cstat-no" title="statement not covered" > setCustomProperty(res);</span>
933
- <span class="cstat-no" title="statement not covered" > if (afterQueryCalls?.post) {</span>
934
- <span class="cstat-no" title="statement not covered" > afterQueryCalls.post(res);</span>
935
- }
936
- },
937
- delete: <span class="fstat-no" title="function not covered" >re</span>s =&gt; {
938
- <span class="cstat-no" title="statement not covered" > setMode(VIEWING);</span>
939
- <span class="cstat-no" title="statement not covered" > queryClient.invalidateQueries(['stripes-kint-components', 'useCustomProperties', 'custprops']);</span>
940
- <span class="cstat-no" title="statement not covered" > setCustomProperty();</span>
941
- <span class="cstat-no" title="statement not covered" > if (afterQueryCalls?.delete) {</span>
942
- <span class="cstat-no" title="statement not covered" > afterQueryCalls.delete(res);</span>
943
- }
944
- }
945
- },
946
- catchQueryCalls: {
947
- // Default delete behaviour is to fire a callout, either with kint-components default message
948
- // or one provided in labelOverrides, which is passed the error message and customProperty in question
949
- delete: <span class="fstat-no" title="function not covered" >as</span>ync (err) =&gt; {
950
- const errorResp = <span class="cstat-no" title="statement not covered" >await parseErrorResponse(err.response);</span>
951
- &nbsp;
952
- <span class="cstat-no" title="statement not covered" > callout.sendCallout({</span>
953
- message: kintIntl.formatKintMessage(
954
- {
955
- id: 'customProperties.config.delete.errorMessage',
956
- overrideValue: labelOverrides?.deleteError
957
- },
958
- {
959
- error: errorResp?.message,
960
- label: customProperty?.label
961
- }
962
- ),
963
- type: 'error',
964
- });
965
- },
966
- ...catchQueryCalls // Override defaults here
967
- },
968
- endpoint: customPropertiesEndpoint,
969
- id: customProperty?.id
970
- });
971
- &nbsp;
972
- const handeContextSubmit = <span class="fstat-no" title="function not covered" >(s</span>ubmitData) =&gt; {
973
- <span class="cstat-no" title="statement not covered" > return {</span>
974
- ...submitData,
975
- ctx: submitData?.ctx?.[0]?.value ?? ''
976
- };
977
- };
978
- &nbsp;
979
- // When POSTing a custom property, the backend expects a shorthand "Integer" or "LocalDate"
980
- // When PUTing a custom property, the backend needs the full class name
981
- const handleType = <span class="fstat-no" title="function not covered" >(s</span>ubmitData) =&gt; {
982
- const typeRegex = <span class="cstat-no" title="statement not covered" >/(com\.k_int\.web\.toolkit\.custprops\.types\.CustomProperty)(.*)/g;</span>
983
- const typeMatch = <span class="cstat-no" title="statement not covered" >typeRegex.exec(submitData?.type) ?? [];</span>
984
- <span class="cstat-no" title="statement not covered" > return {</span>
985
- ...submitData,
986
- type: typeMatch[2]
987
- };
988
- };
989
- &nbsp;
990
- return (
991
- &lt;&gt;
992
- &lt;Pane
993
- defaultWidth="fill"
994
- id="settings-customProperties.lookupPane"
995
- lastMenu={createCondition &amp;&amp;
996
- &lt;Button
997
- buttonStyle="primary"
998
- marginBottom0
999
- onClick={<span class="fstat-no" title="function not covered" >()</span> =&gt; <span class="cstat-no" title="statement not covered" >setMode(CREATING)}</span> // TODO do we need to clear form here too?
1000
- &gt;
1001
- {
1002
- kintIntl.formatKintMessage(
1003
- {
1004
- id: 'new',
1005
- overrideValue: labelOverrides?.new,
1006
- }
1007
- )
1008
- }
1009
- &lt;/Button&gt;
1010
- }
1011
- paneTitle={
1012
- kintIntl.formatKintMessage({
1013
- id: 'customProperties',
1014
- overrideValue: labelOverrides.paneTitle
1015
- })
1016
- }
1017
- &gt;
1018
- &lt;CustomPropertiesLookup
1019
- contextFilterOptions={renderContextFilterOptions}
1020
- customPropertiesEndpoint={customPropertiesEndpoint}
1021
- intlKey={passedIntlKey}
1022
- intlNS={passedIntlNS}
1023
- labelOverrides={labelOverrides}
1024
- onSelectCustomProperty={<span class="fstat-no" title="function not covered" >(_</span>e, cp) =&gt; <span class="cstat-no" title="statement not covered" >setCustomProperty(cp)}</span>
1025
- /&gt;
1026
- &lt;/Pane&gt;
1027
- {customProperty &amp;&amp;
1028
- <span class="branch-1 cbranch-no" title="branch not covered" > &lt;Pane</span>
1029
- actionMenu={<span class="fstat-no" title="function not covered" >({</span> onToggle }) =&gt; {
1030
- const actionsArray = <span class="cstat-no" title="statement not covered" >[];</span>
1031
- <span class="cstat-no" title="statement not covered" > if (editCondition) {</span>
1032
- <span class="cstat-no" title="statement not covered" > actionsArray.push(</span>
1033
- &lt;Button
1034
- key={`${customProperty.name}-action-edit`}
1035
- buttonStyle="dropdownItem"
1036
- marginBottom0
1037
- onClick={<span class="fstat-no" title="function not covered" >()</span> =&gt; <span class="cstat-no" title="statement not covered" >setMode(EDITING)}</span>
1038
- &gt;
1039
- &lt;Icon icon="edit"&gt;
1040
- {
1041
- kintIntl.formatKintMessage(
1042
- {
1043
- id: 'edit',
1044
- overrideValue: labelOverrides?.edit,
1045
- }
1046
- )
1047
- }
1048
- &lt;/Icon&gt;
1049
- &lt;/Button&gt;
1050
- );
1051
- }
1052
- &nbsp;
1053
- <span class="cstat-no" title="statement not covered" > if (deleteCondition) {</span>
1054
- <span class="cstat-no" title="statement not covered" > actionsArray.push(</span>
1055
- &lt;Button
1056
- key={`${customProperty.name}-action-delete`}
1057
- buttonStyle="dropdownItem"
1058
- marginBottom0
1059
- onClick={<span class="fstat-no" title="function not covered" >()</span> =&gt; {
1060
- <span class="cstat-no" title="statement not covered" > setDeleteModal(true);</span>
1061
- <span class="cstat-no" title="statement not covered" > onToggle();</span>
1062
- }}
1063
- &gt;
1064
- &lt;Icon icon="trash"&gt;
1065
- {
1066
- kintIntl.formatKintMessage(
1067
- {
1068
- id: 'delete',
1069
- overrideValue: labelOverrides?.delete,
1070
- }
1071
- )
1072
- }
1073
- &lt;/Icon&gt;
1074
- &lt;/Button&gt;
1075
- );
1076
- }
1077
- &nbsp;
1078
- <span class="cstat-no" title="statement not covered" > return (actionsArray?.length ? actionsArray : null);</span>
1079
- }}
1080
- defaultWidth="fill"
1081
- dismissible
1082
- id="settings-customProperties-viewPane"
1083
- onClose={<span class="fstat-no" title="function not covered" >()</span> =&gt; <span class="cstat-no" title="statement not covered" >setCustomProperty()}</span>
1084
- paneTitle={
1085
- kintIntl.formatKintMessage(
1086
- {
1087
- id: 'customProperties.config.viewPaneTitle',
1088
- overrideValue: labelOverrides?.viewPaneTitle,
1089
- fallbackMessage: customProperty?.label ?? customProperty?.name,
1090
- },
1091
- {
1092
- name: customProperty?.label ?? customProperty?.name,
1093
- }
1094
- )
1095
- }
1096
- &gt;
1097
- &lt;CustomPropertyView
1098
- customProperty={customProperty}
1099
- helpPopovers={helpPopovers}
1100
- intlKey={passedIntlKey}
1101
- intlNS={passedIntlNS}
1102
- labelOverrides={labelOverrides}
1103
- /&gt;
1104
- &lt;/Pane&gt;
1105
- }
1106
- &lt;FormModal
1107
- initialValues={mode === CREATING ?
1108
- <span class="branch-0 cbranch-no" title="branch not covered" > {</span>
1109
- weight: 0,
1110
- primary: true,
1111
- retired: false,
1112
- defaultInternal: true
1113
- } :
1114
- {
1115
- ...customProperty,
1116
- ctx: customProperty?.ctx ? <span class="branch-0 cbranch-no" title="branch not covered" >[{ value: customProperty.ctx, label: customProperty.ctx }] </span>: null,
1117
- category: customProperty?.category ? <span class="branch-0 cbranch-no" title="branch not covered" >customProperty?.category?.id </span>: null
1118
- }
1119
- }
1120
- modalProps={{
1121
- dismissible: true,
1122
- label: mode === CREATING ?
1123
- <span class="branch-0 cbranch-no" title="branch not covered" > kintIntl.formatKintMessage(</span>
1124
- {
1125
- id: 'customProperties.config.newModal',
1126
- overrideValue: labelOverrides?.newModalTitle
1127
- }
1128
- ) :
1129
- kintIntl.formatKintMessage(
1130
- {
1131
- id: 'customProperties.config.editModal',
1132
- overrideValue: labelOverrides?.editModalTitle
1133
- },
1134
- {
1135
- name: customProperty?.label ?? customProperty?.name,
1136
- }
1137
- ),
1138
- onClose: <span class="fstat-no" title="function not covered" >()</span> =&gt; <span class="cstat-no" title="statement not covered" >setMode(VIEWING),</span>
1139
- open: (mode === CREATING || mode === EDITING)
1140
- }}
1141
- onSubmit={mode === CREATING ?
1142
- <span class="branch-0 cbranch-no" title="branch not covered" > compose(createCustprop, handeContextSubmit, handleType) </span>:
1143
- compose(editCustProp, handeContextSubmit)
1144
- }
1145
- &gt;
1146
- &lt;CustomPropertiesForm
1147
- contextFilterOptions={renderContextFilterOptions}
1148
- helpPopovers={helpPopovers}
1149
- intlKey={passedIntlKey}
1150
- intlNS={passedIntlNS}
1151
- labelOverrides={labelOverrides}
1152
- refdata={refdata.map(rdc =&gt; ({ label: rdc.desc, value: rdc.id }))}
1153
- /&gt;
1154
- &lt;/FormModal&gt;
1155
- &lt;ConfirmationModal
1156
- buttonStyle="danger"
1157
- confirmLabel={
1158
- kintIntl.formatKintMessage(
1159
- {
1160
- id: 'delete',
1161
- overrideValue: labelOverrides?.delete,
1162
- }
1163
- )
1164
- }
1165
- heading={
1166
- kintIntl.formatKintMessage(
1167
- {
1168
- id: 'customProperties.config.delete.confirmHeading',
1169
- overrideValue: labelOverrides?.confirmHeading
1170
- }
1171
- )
1172
- }
1173
- id="delete-custprop-confirmation"
1174
- message={
1175
- kintIntl.formatKintMessage(
1176
- {
1177
- id: 'customProperties.config.delete.confirmMessage',
1178
- overrideValue: labelOverrides?.confirmMessage
1179
- },
1180
- {
1181
- name: customProperty?.label ?? customProperty?.name,
1182
- }
1183
- )
1184
- }
1185
- onCancel={<span class="fstat-no" title="function not covered" >()</span> =&gt; <span class="cstat-no" title="statement not covered" >setDeleteModal(false)}</span>
1186
- onConfirm={<span class="fstat-no" title="function not covered" >()</span> =&gt; {
1187
- <span class="cstat-no" title="statement not covered" > deleteCustProp(customProperty?.id);</span>
1188
- <span class="cstat-no" title="statement not covered" > setCustomProperty();</span>
1189
- <span class="cstat-no" title="statement not covered" > setDeleteModal(false);</span>
1190
- }}
1191
- open={deleteModal}
1192
- /&gt;
1193
- &lt;/&gt;
1194
- );
1195
- };
1196
- &nbsp;
1197
- CustomPropertiesSettings.propTypes = {
1198
- afterQueryCalls: PropTypes.object,
1199
- catchQueryCalls: PropTypes.object,
1200
- contextFilterOptions: PropTypes.arrayOf(PropTypes.shape({
1201
- value: PropTypes.string,
1202
- label: PropTypes.oneOfType([
1203
- PropTypes.element,
1204
- PropTypes.string
1205
- ])
1206
- })),
1207
- customPropertiesEndpoint: PropTypes.string,
1208
- displayConditions: PropTypes.shape({
1209
- create: PropTypes.bool,
1210
- delete: PropTypes.bool,
1211
- view: PropTypes.bool,
1212
- }),
1213
- helpPopovers: PropTypes.object,
1214
- intlKey: PropTypes.string,
1215
- intlNS: PropTypes.string,
1216
- labelOverrides: PropTypes.object,
1217
- refdataEndpoint: PropTypes.string,
1218
- };
1219
- &nbsp;
1220
- export default CustomPropertiesSettings;
1221
- &nbsp;</pre></td></tr></table></pre>
1222
-
1223
- <div class='push'></div><!-- for sticky footer -->
1224
- </div><!-- /wrapper -->
1225
- <div class='footer quiet pad2 space-top1 center small'>
1226
- Code coverage generated by
1227
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1228
- at 2023-10-18T12:55:05.261Z
1229
- </div>
1230
- <script src="../../prettify.js"></script>
1231
- <script>
1232
- window.onload = function () {
1233
- prettyPrint();
1234
- };
1235
- </script>
1236
- <script src="../../sorter.js"></script>
1237
- <script src="../../block-navigation.js"></script>
1238
- </body>
1239
- </html>
1240
-