@zeedhi/common 3.0.6 → 3.0.7

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 (525) hide show
  1. package/coverage/clover.xml +5676 -0
  2. package/coverage/coverage-final.json +147 -0
  3. package/coverage/lcov-report/base.css +224 -0
  4. package/coverage/lcov-report/block-navigation.js +87 -0
  5. package/coverage/lcov-report/favicon.png +0 -0
  6. package/coverage/lcov-report/index.html +1331 -0
  7. package/coverage/lcov-report/prettify.css +1 -0
  8. package/coverage/lcov-report/prettify.js +2 -0
  9. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  10. package/coverage/lcov-report/sorter.js +210 -0
  11. package/coverage/lcov-report/src/components/index.html +116 -0
  12. package/coverage/lcov-report/src/components/index.ts.html +730 -0
  13. package/coverage/lcov-report/src/components/tek-grid/columns-searcher.ts.html +151 -0
  14. package/coverage/lcov-report/src/components/tek-grid/dynamic-filter-datasource-factory.ts.html +145 -0
  15. package/coverage/lcov-report/src/components/tek-grid/filter-helper.ts.html +145 -0
  16. package/coverage/lcov-report/src/components/tek-grid/grid-filter-button.ts.html +1351 -0
  17. package/coverage/lcov-report/src/components/tek-grid/grouped-data-manager.ts.html +1429 -0
  18. package/coverage/lcov-report/src/components/tek-grid/grouped-data-selector.ts.html +205 -0
  19. package/coverage/lcov-report/src/components/tek-grid/grouped-view-navigator.ts.html +340 -0
  20. package/coverage/lcov-report/src/components/tek-grid/index.html +326 -0
  21. package/coverage/lcov-report/src/components/tek-grid/index.ts.html +139 -0
  22. package/coverage/lcov-report/src/components/tek-grid/interfaces.ts.html +1072 -0
  23. package/coverage/lcov-report/src/components/tek-grid/keymap-grouped.ts.html +148 -0
  24. package/coverage/lcov-report/src/components/tek-grid/layout-options.ts.html +829 -0
  25. package/coverage/lcov-report/src/components/tek-grid/tek-datasource/index.html +161 -0
  26. package/coverage/lcov-report/src/components/tek-grid/tek-datasource/index.ts.html +94 -0
  27. package/coverage/lcov-report/src/components/tek-grid/tek-datasource/interfaces.ts.html +193 -0
  28. package/coverage/lcov-report/src/components/tek-grid/tek-datasource/tek-memory-datasource.ts.html +1027 -0
  29. package/coverage/lcov-report/src/components/tek-grid/tek-datasource/tek-rest-datasource.ts.html +757 -0
  30. package/coverage/lcov-report/src/components/tek-grid/tek-grid-column.ts.html +664 -0
  31. package/coverage/lcov-report/src/components/tek-grid/tek-grid-columns-button/index.html +131 -0
  32. package/coverage/lcov-report/src/components/tek-grid/tek-grid-columns-button/tek-grid-columns-button-controller.ts.html +169 -0
  33. package/coverage/lcov-report/src/components/tek-grid/tek-grid-columns-button/tek-grid-columns-button.ts.html +196 -0
  34. package/coverage/lcov-report/src/components/tek-grid/tek-grid-controller.ts.html +505 -0
  35. package/coverage/lcov-report/src/components/tek-grid/tek-grid-events.ts.html +400 -0
  36. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/export-options/button-option.ts.html +163 -0
  37. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/export-options/index.html +146 -0
  38. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/export-options/index.ts.html +94 -0
  39. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/export-options/multi-option.ts.html +340 -0
  40. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/index.html +131 -0
  41. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/index.ts.html +91 -0
  42. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/tek-grid-toolbar-provider.ts.html +1186 -0
  43. package/coverage/lcov-report/src/components/tek-grid/tek-grid.ts.html +3451 -0
  44. package/coverage/lcov-report/src/components/zd-alert/alert.ts.html +502 -0
  45. package/coverage/lcov-report/src/components/zd-alert/index.html +116 -0
  46. package/coverage/lcov-report/src/components/zd-badge/badge.ts.html +226 -0
  47. package/coverage/lcov-report/src/components/zd-badge/index.html +116 -0
  48. package/coverage/lcov-report/src/components/zd-breadcrumbs/breadcrumbs.ts.html +226 -0
  49. package/coverage/lcov-report/src/components/zd-breadcrumbs/index.html +116 -0
  50. package/coverage/lcov-report/src/components/zd-button/button.ts.html +706 -0
  51. package/coverage/lcov-report/src/components/zd-button/index.html +116 -0
  52. package/coverage/lcov-report/src/components/zd-button-group/button-group.ts.html +412 -0
  53. package/coverage/lcov-report/src/components/zd-button-group/index.html +116 -0
  54. package/coverage/lcov-report/src/components/zd-card/card.ts.html +748 -0
  55. package/coverage/lcov-report/src/components/zd-card/index.html +116 -0
  56. package/coverage/lcov-report/src/components/zd-carousel/carousel.ts.html +949 -0
  57. package/coverage/lcov-report/src/components/zd-carousel/index.html +116 -0
  58. package/coverage/lcov-report/src/components/zd-checkbox/checkbox.ts.html +148 -0
  59. package/coverage/lcov-report/src/components/zd-checkbox/index.html +116 -0
  60. package/coverage/lcov-report/src/components/zd-checkbox-multiple/checkbox-multiple.ts.html +313 -0
  61. package/coverage/lcov-report/src/components/zd-checkbox-multiple/index.html +116 -0
  62. package/coverage/lcov-report/src/components/zd-chip/chip.ts.html +352 -0
  63. package/coverage/lcov-report/src/components/zd-chip/index.html +116 -0
  64. package/coverage/lcov-report/src/components/zd-code-editor/code-editor.ts.html +1045 -0
  65. package/coverage/lcov-report/src/components/zd-code-editor/index.html +116 -0
  66. package/coverage/lcov-report/src/components/zd-code-viewer/code-viewer.ts.html +682 -0
  67. package/coverage/lcov-report/src/components/zd-code-viewer/index.html +116 -0
  68. package/coverage/lcov-report/src/components/zd-col/col.ts.html +250 -0
  69. package/coverage/lcov-report/src/components/zd-col/index.html +116 -0
  70. package/coverage/lcov-report/src/components/zd-collapse-card/collapse-card.ts.html +343 -0
  71. package/coverage/lcov-report/src/components/zd-collapse-card/index.html +116 -0
  72. package/coverage/lcov-report/src/components/zd-component/child-not-found.ts.html +109 -0
  73. package/coverage/lcov-report/src/components/zd-component/component-render.ts.html +160 -0
  74. package/coverage/lcov-report/src/components/zd-component/component.ts.html +1084 -0
  75. package/coverage/lcov-report/src/components/zd-component/index.html +146 -0
  76. package/coverage/lcov-report/src/components/zd-container/container.ts.html +289 -0
  77. package/coverage/lcov-report/src/components/zd-container/index.html +116 -0
  78. package/coverage/lcov-report/src/components/zd-currency/currency.ts.html +259 -0
  79. package/coverage/lcov-report/src/components/zd-currency/index.html +116 -0
  80. package/coverage/lcov-report/src/components/zd-date-input/date-input.ts.html +1441 -0
  81. package/coverage/lcov-report/src/components/zd-date-input/index.html +131 -0
  82. package/coverage/lcov-report/src/components/zd-date-input/utils.ts.html +136 -0
  83. package/coverage/lcov-report/src/components/zd-date-range/date-range.ts.html +1873 -0
  84. package/coverage/lcov-report/src/components/zd-date-range/index.html +131 -0
  85. package/coverage/lcov-report/src/components/zd-date-range/utils.ts.html +178 -0
  86. package/coverage/lcov-report/src/components/zd-dialog/dialog.ts.html +541 -0
  87. package/coverage/lcov-report/src/components/zd-dialog/index.html +116 -0
  88. package/coverage/lcov-report/src/components/zd-divider/divider.ts.html +178 -0
  89. package/coverage/lcov-report/src/components/zd-divider/index.html +116 -0
  90. package/coverage/lcov-report/src/components/zd-dropdown/dropdown.ts.html +460 -0
  91. package/coverage/lcov-report/src/components/zd-dropdown/index.html +116 -0
  92. package/coverage/lcov-report/src/components/zd-field-group/field-group.ts.html +325 -0
  93. package/coverage/lcov-report/src/components/zd-field-group/index.html +116 -0
  94. package/coverage/lcov-report/src/components/zd-footer/footer.ts.html +451 -0
  95. package/coverage/lcov-report/src/components/zd-footer/index.html +116 -0
  96. package/coverage/lcov-report/src/components/zd-form/form.ts.html +1075 -0
  97. package/coverage/lcov-report/src/components/zd-form/index.html +116 -0
  98. package/coverage/lcov-report/src/components/zd-frame/frame.ts.html +763 -0
  99. package/coverage/lcov-report/src/components/zd-frame/index.html +116 -0
  100. package/coverage/lcov-report/src/components/zd-frame-page/frame-page.ts.html +169 -0
  101. package/coverage/lcov-report/src/components/zd-frame-page/index.html +116 -0
  102. package/coverage/lcov-report/src/components/zd-grid/data-navigator.ts.html +304 -0
  103. package/coverage/lcov-report/src/components/zd-grid/data-selector.ts.html +532 -0
  104. package/coverage/lcov-report/src/components/zd-grid/grid-column.ts.html +709 -0
  105. package/coverage/lcov-report/src/components/zd-grid/grid-events.ts.html +244 -0
  106. package/coverage/lcov-report/src/components/zd-grid/grid.ts.html +1042 -0
  107. package/coverage/lcov-report/src/components/zd-grid/index.html +266 -0
  108. package/coverage/lcov-report/src/components/zd-grid/index.ts.html +118 -0
  109. package/coverage/lcov-report/src/components/zd-grid/iterable-table.ts.html +274 -0
  110. package/coverage/lcov-report/src/components/zd-grid/keymap-merger.ts.html +241 -0
  111. package/coverage/lcov-report/src/components/zd-grid/keymap-navigation.ts.html +313 -0
  112. package/coverage/lcov-report/src/components/zd-grid/table-action-builder.ts.html +427 -0
  113. package/coverage/lcov-report/src/components/zd-grid/view-navigator.ts.html +175 -0
  114. package/coverage/lcov-report/src/components/zd-grid-editable/data-editor-with-add.ts.html +826 -0
  115. package/coverage/lcov-report/src/components/zd-grid-editable/data-editor.ts.html +1570 -0
  116. package/coverage/lcov-report/src/components/zd-grid-editable/errors/index.html +146 -0
  117. package/coverage/lcov-report/src/components/zd-grid-editable/errors/index.ts.html +91 -0
  118. package/coverage/lcov-report/src/components/zd-grid-editable/errors/not-editing.ts.html +109 -0
  119. package/coverage/lcov-report/src/components/zd-grid-editable/errors/row-not-found.ts.html +109 -0
  120. package/coverage/lcov-report/src/components/zd-grid-editable/grid-column-editable.ts.html +130 -0
  121. package/coverage/lcov-report/src/components/zd-grid-editable/grid-editable-controller.ts.html +139 -0
  122. package/coverage/lcov-report/src/components/zd-grid-editable/grid-editable-events.ts.html +430 -0
  123. package/coverage/lcov-report/src/components/zd-grid-editable/grid-editable.ts.html +1477 -0
  124. package/coverage/lcov-report/src/components/zd-grid-editable/index.html +221 -0
  125. package/coverage/lcov-report/src/components/zd-grid-editable/index.ts.html +109 -0
  126. package/coverage/lcov-report/src/components/zd-grid-editable/keymap-editing.ts.html +139 -0
  127. package/coverage/lcov-report/src/components/zd-header/header.ts.html +502 -0
  128. package/coverage/lcov-report/src/components/zd-header/index.html +116 -0
  129. package/coverage/lcov-report/src/components/zd-icon/icon.ts.html +325 -0
  130. package/coverage/lcov-report/src/components/zd-icon/index.html +116 -0
  131. package/coverage/lcov-report/src/components/zd-image/image.ts.html +424 -0
  132. package/coverage/lcov-report/src/components/zd-image/index.html +116 -0
  133. package/coverage/lcov-report/src/components/zd-increment/increment.ts.html +436 -0
  134. package/coverage/lcov-report/src/components/zd-increment/index.html +116 -0
  135. package/coverage/lcov-report/src/components/zd-input/index.html +131 -0
  136. package/coverage/lcov-report/src/components/zd-input/input-factory.ts.html +130 -0
  137. package/coverage/lcov-report/src/components/zd-input/input.ts.html +1345 -0
  138. package/coverage/lcov-report/src/components/zd-iterable/column-not-found.ts.html +109 -0
  139. package/coverage/lcov-report/src/components/zd-iterable/column.ts.html +823 -0
  140. package/coverage/lcov-report/src/components/zd-iterable/conditions-manager.ts.html +523 -0
  141. package/coverage/lcov-report/src/components/zd-iterable/index.html +281 -0
  142. package/coverage/lcov-report/src/components/zd-iterable/iterable-columns-button-controller.ts.html +136 -0
  143. package/coverage/lcov-report/src/components/zd-iterable/iterable-columns-button.ts.html +313 -0
  144. package/coverage/lcov-report/src/components/zd-iterable/iterable-controller.ts.html +166 -0
  145. package/coverage/lcov-report/src/components/zd-iterable/iterable-page-component.ts.html +244 -0
  146. package/coverage/lcov-report/src/components/zd-iterable/iterable-page-info.ts.html +106 -0
  147. package/coverage/lcov-report/src/components/zd-iterable/iterable-page-size.ts.html +421 -0
  148. package/coverage/lcov-report/src/components/zd-iterable/iterable-pagination.ts.html +208 -0
  149. package/coverage/lcov-report/src/components/zd-iterable/iterable.ts.html +934 -0
  150. package/coverage/lcov-report/src/components/zd-iterable/search.ts.html +343 -0
  151. package/coverage/lcov-report/src/components/zd-iterable-component-render/index.html +116 -0
  152. package/coverage/lcov-report/src/components/zd-iterable-component-render/iterable-component-render.ts.html +592 -0
  153. package/coverage/lcov-report/src/components/zd-layout/index.html +116 -0
  154. package/coverage/lcov-report/src/components/zd-layout/layout.ts.html +145 -0
  155. package/coverage/lcov-report/src/components/zd-list/index.html +161 -0
  156. package/coverage/lcov-report/src/components/zd-list/item-not-found.ts.html +109 -0
  157. package/coverage/lcov-report/src/components/zd-list/list-group.ts.html +241 -0
  158. package/coverage/lcov-report/src/components/zd-list/list-item.ts.html +298 -0
  159. package/coverage/lcov-report/src/components/zd-list/list.ts.html +460 -0
  160. package/coverage/lcov-report/src/components/zd-loading/index.html +116 -0
  161. package/coverage/lcov-report/src/components/zd-loading/loading.ts.html +217 -0
  162. package/coverage/lcov-report/src/components/zd-login/index.html +131 -0
  163. package/coverage/lcov-report/src/components/zd-login/login-button.ts.html +421 -0
  164. package/coverage/lcov-report/src/components/zd-login/login.ts.html +340 -0
  165. package/coverage/lcov-report/src/components/zd-main/index.html +116 -0
  166. package/coverage/lcov-report/src/components/zd-main/main.ts.html +133 -0
  167. package/coverage/lcov-report/src/components/zd-master-detail/detail-not-found.ts.html +118 -0
  168. package/coverage/lcov-report/src/components/zd-master-detail/index.html +146 -0
  169. package/coverage/lcov-report/src/components/zd-master-detail/master-detail.ts.html +331 -0
  170. package/coverage/lcov-report/src/components/zd-master-detail/master-not-found.ts.html +118 -0
  171. package/coverage/lcov-report/src/components/zd-menu/index.html +176 -0
  172. package/coverage/lcov-report/src/components/zd-menu/menu-button.ts.html +241 -0
  173. package/coverage/lcov-report/src/components/zd-menu/menu-group.ts.html +400 -0
  174. package/coverage/lcov-report/src/components/zd-menu/menu-link.ts.html +337 -0
  175. package/coverage/lcov-report/src/components/zd-menu/menu-separator.ts.html +106 -0
  176. package/coverage/lcov-report/src/components/zd-menu/menu.ts.html +1384 -0
  177. package/coverage/lcov-report/src/components/zd-modal/index.html +131 -0
  178. package/coverage/lcov-report/src/components/zd-modal/modal-close-button.ts.html +220 -0
  179. package/coverage/lcov-report/src/components/zd-modal/modal.ts.html +355 -0
  180. package/coverage/lcov-report/src/components/zd-month/index.html +116 -0
  181. package/coverage/lcov-report/src/components/zd-month/month.ts.html +352 -0
  182. package/coverage/lcov-report/src/components/zd-number-input/index.html +116 -0
  183. package/coverage/lcov-report/src/components/zd-number-input/number-input.ts.html +532 -0
  184. package/coverage/lcov-report/src/components/zd-password/index.html +116 -0
  185. package/coverage/lcov-report/src/components/zd-password/password.ts.html +220 -0
  186. package/coverage/lcov-report/src/components/zd-progress/index.html +116 -0
  187. package/coverage/lcov-report/src/components/zd-progress/progress.ts.html +262 -0
  188. package/coverage/lcov-report/src/components/zd-radio/index.html +116 -0
  189. package/coverage/lcov-report/src/components/zd-radio/radio.ts.html +289 -0
  190. package/coverage/lcov-report/src/components/zd-row/index.html +116 -0
  191. package/coverage/lcov-report/src/components/zd-row/row.ts.html +256 -0
  192. package/coverage/lcov-report/src/components/zd-select/index.html +116 -0
  193. package/coverage/lcov-report/src/components/zd-select/select.ts.html +2089 -0
  194. package/coverage/lcov-report/src/components/zd-select-multiple/index.html +116 -0
  195. package/coverage/lcov-report/src/components/zd-select-multiple/select-multiple.ts.html +1549 -0
  196. package/coverage/lcov-report/src/components/zd-svg-map/index.html +116 -0
  197. package/coverage/lcov-report/src/components/zd-svg-map/svg-map.ts.html +475 -0
  198. package/coverage/lcov-report/src/components/zd-switch/index.html +116 -0
  199. package/coverage/lcov-report/src/components/zd-switch/switch.ts.html +163 -0
  200. package/coverage/lcov-report/src/components/zd-table/index.html +116 -0
  201. package/coverage/lcov-report/src/components/zd-table/table.ts.html +280 -0
  202. package/coverage/lcov-report/src/components/zd-tabs/index.html +146 -0
  203. package/coverage/lcov-report/src/components/zd-tabs/tab-not-found.ts.html +127 -0
  204. package/coverage/lcov-report/src/components/zd-tabs/tab.ts.html +370 -0
  205. package/coverage/lcov-report/src/components/zd-tabs/tabs.ts.html +586 -0
  206. package/coverage/lcov-report/src/components/zd-tag/index.html +116 -0
  207. package/coverage/lcov-report/src/components/zd-tag/tag.ts.html +142 -0
  208. package/coverage/lcov-report/src/components/zd-text/index.html +116 -0
  209. package/coverage/lcov-report/src/components/zd-text/text.ts.html +136 -0
  210. package/coverage/lcov-report/src/components/zd-text-input/index.html +116 -0
  211. package/coverage/lcov-report/src/components/zd-text-input/text-input.ts.html +778 -0
  212. package/coverage/lcov-report/src/components/zd-textarea/index.html +116 -0
  213. package/coverage/lcov-report/src/components/zd-textarea/textarea.ts.html +418 -0
  214. package/coverage/lcov-report/src/components/zd-time/index.html +131 -0
  215. package/coverage/lcov-report/src/components/zd-time/time-format-selector.ts.html +157 -0
  216. package/coverage/lcov-report/src/components/zd-time/time.ts.html +1687 -0
  217. package/coverage/lcov-report/src/components/zd-toggleable/index.html +116 -0
  218. package/coverage/lcov-report/src/components/zd-toggleable/toggleable.ts.html +196 -0
  219. package/coverage/lcov-report/src/components/zd-tooltip/index.html +116 -0
  220. package/coverage/lcov-report/src/components/zd-tooltip/tooltip.ts.html +340 -0
  221. package/coverage/lcov-report/src/components/zd-tree/index.html +116 -0
  222. package/coverage/lcov-report/src/components/zd-tree/tree.ts.html +1849 -0
  223. package/coverage/lcov-report/src/components/zd-tree-grid/index.html +191 -0
  224. package/coverage/lcov-report/src/components/zd-tree-grid/index.ts.html +103 -0
  225. package/coverage/lcov-report/src/components/zd-tree-grid/iterable-tree.ts.html +202 -0
  226. package/coverage/lcov-report/src/components/zd-tree-grid/keymap-tree.ts.html +154 -0
  227. package/coverage/lcov-report/src/components/zd-tree-grid/tree-data-navigator.ts.html +235 -0
  228. package/coverage/lcov-report/src/components/zd-tree-grid/tree-data-selector.ts.html +448 -0
  229. package/coverage/lcov-report/src/components/zd-tree-grid/tree-grid.ts.html +1390 -0
  230. package/coverage/lcov-report/src/error/delete-rows.ts.html +124 -0
  231. package/coverage/lcov-report/src/error/index.html +161 -0
  232. package/coverage/lcov-report/src/error/index.ts.html +94 -0
  233. package/coverage/lcov-report/src/error/non-initialized.ts.html +118 -0
  234. package/coverage/lcov-report/src/error/tek-grid-delete-rows.ts.html +130 -0
  235. package/coverage/lcov-report/src/error/teknisa-common-error.ts.html +109 -0
  236. package/coverage/lcov-report/src/error/zeedhi-error.ts.html +109 -0
  237. package/coverage/lcov-report/src/index.html +116 -0
  238. package/coverage/lcov-report/src/index.ts.html +145 -0
  239. package/coverage/lcov-report/src/services/index.html +116 -0
  240. package/coverage/lcov-report/src/services/index.ts.html +97 -0
  241. package/coverage/lcov-report/src/services/zd-alert/alert-queue.ts.html +205 -0
  242. package/coverage/lcov-report/src/services/zd-alert/alert-replace.ts.html +220 -0
  243. package/coverage/lcov-report/src/services/zd-alert/alert-service.ts.html +316 -0
  244. package/coverage/lcov-report/src/services/zd-alert/alert-stack.ts.html +172 -0
  245. package/coverage/lcov-report/src/services/zd-alert/index.html +176 -0
  246. package/coverage/lcov-report/src/services/zd-alert/index.ts.html +100 -0
  247. package/coverage/lcov-report/src/services/zd-dialog/dialog-service.ts.html +205 -0
  248. package/coverage/lcov-report/src/services/zd-dialog/index.html +116 -0
  249. package/coverage/lcov-report/src/services/zd-loading/index.html +116 -0
  250. package/coverage/lcov-report/src/services/zd-loading/loading-service.ts.html +157 -0
  251. package/coverage/lcov-report/src/services/zd-modal/index.html +116 -0
  252. package/coverage/lcov-report/src/services/zd-modal/modal-service.ts.html +298 -0
  253. package/coverage/lcov-report/src/utils/data-value-out/data-value-out.ts.html +202 -0
  254. package/coverage/lcov-report/src/utils/data-value-out/index.html +131 -0
  255. package/coverage/lcov-report/src/utils/data-value-out/index.ts.html +91 -0
  256. package/coverage/lcov-report/src/utils/datasource-searcher/datasource-searcher.ts.html +241 -0
  257. package/coverage/lcov-report/src/utils/datasource-searcher/index.html +131 -0
  258. package/coverage/lcov-report/src/utils/datasource-searcher/index.ts.html +91 -0
  259. package/coverage/lcov-report/src/utils/date-utils/date-utils.ts.html +166 -0
  260. package/coverage/lcov-report/src/utils/date-utils/index.html +116 -0
  261. package/coverage/lcov-report/src/utils/icons/icons.ts.html +547 -0
  262. package/coverage/lcov-report/src/utils/icons/index.html +116 -0
  263. package/coverage/lcov-report/src/utils/index.html +116 -0
  264. package/coverage/lcov-report/src/utils/index.ts.html +106 -0
  265. package/coverage/lcov-report/src/utils/is-filled-object/index.html +116 -0
  266. package/coverage/lcov-report/src/utils/is-filled-object/is-filled-object.ts.html +100 -0
  267. package/coverage/lcov-report/src/utils/is-nil.ts.html +94 -0
  268. package/coverage/lcov-report/src/utils/omit/index.html +116 -0
  269. package/coverage/lcov-report/src/utils/omit/omit.ts.html +124 -0
  270. package/coverage/lcov-report/src/utils/theme/index.html +116 -0
  271. package/coverage/lcov-report/src/utils/theme/theme.ts.html +679 -0
  272. package/coverage/lcov-report/src/utils/tree-data-structure/index.html +131 -0
  273. package/coverage/lcov-report/src/utils/tree-data-structure/index.ts.html +91 -0
  274. package/coverage/lcov-report/src/utils/tree-data-structure/tree-data-structure.ts.html +1645 -0
  275. package/coverage/lcov-report/src/utils/unique-by/index.html +116 -0
  276. package/coverage/lcov-report/src/utils/unique-by/unique-by.ts.html +130 -0
  277. package/coverage/lcov-report/tests/unit/__helpers__/component-event-helper.ts.html +106 -0
  278. package/coverage/lcov-report/tests/unit/__helpers__/flush-promises-helper.ts.html +94 -0
  279. package/coverage/lcov-report/tests/unit/__helpers__/index.html +146 -0
  280. package/coverage/lcov-report/tests/unit/__helpers__/mock-http-get-helper.ts.html +172 -0
  281. package/coverage/lcov-report/tests/unit/components/zd-component/ComponentMock.ts.html +166 -0
  282. package/coverage/lcov-report/tests/unit/components/zd-component/index.html +116 -0
  283. package/coverage/lcov.info +10070 -0
  284. package/dist/style.css +1 -1
  285. package/dist/zd-common.d.mts +7826 -0
  286. package/dist/zd-common.iife.min.js +11 -0
  287. package/dist/zd-common.mjs +12318 -0
  288. package/package.json +16 -12
  289. package/src/components/zd-date-input/date-input.ts +40 -147
  290. package/src/components/zd-date-input/utils.ts +17 -0
  291. package/src/components/zd-date-range/date-range.ts +86 -210
  292. package/src/components/zd-date-range/utils.ts +31 -0
  293. package/src/components/zd-frame/frame.ts +2 -2
  294. package/src/components/zd-grid-editable/data-editor-with-add.ts +1 -1
  295. package/src/components/zd-grid-editable/data-editor.ts +2 -2
  296. package/src/components/zd-month/month.ts +19 -91
  297. package/src/styles/_display.scss +3 -1
  298. package/src/styles/_elevation.scss +2 -1
  299. package/src/styles/_functions.scss +14 -11
  300. package/src/styles/_utilities.scss +67 -62
  301. package/src/styles/_variables.scss +17 -16
  302. package/src/styles/index.scss +5 -5
  303. package/src/utils/date-utils/date-utils.ts +9 -0
  304. package/src/utils/tree-data-structure/tree-data-structure.ts +1 -1
  305. package/tests/unit/components/zd-date-input/date-input.spec.ts +36 -281
  306. package/tests/unit/components/zd-date-range/date-range.spec.ts +372 -475
  307. package/tests/unit/components/zd-grid/grid-column.spec.ts +1 -1
  308. package/tests/unit/components/zd-month/month.spec.ts +7 -334
  309. package/tests/unit/components/zd-select/select.spec.ts +1 -2
  310. package/tsdown.config.ts +74 -0
  311. package/dist/types/components/index.d.ts +0 -151
  312. package/dist/types/components/zd-alert/alert.d.ts +0 -94
  313. package/dist/types/components/zd-alert/interfaces.d.ts +0 -18
  314. package/dist/types/components/zd-badge/badge.d.ts +0 -28
  315. package/dist/types/components/zd-badge/interfaces.d.ts +0 -10
  316. package/dist/types/components/zd-breadcrumbs/breadcrumbs.d.ts +0 -32
  317. package/dist/types/components/zd-breadcrumbs/interfaces.d.ts +0 -24
  318. package/dist/types/components/zd-button/button.d.ts +0 -89
  319. package/dist/types/components/zd-button/interfaces.d.ts +0 -48
  320. package/dist/types/components/zd-button-group/button-group.d.ts +0 -67
  321. package/dist/types/components/zd-button-group/interfaces.d.ts +0 -25
  322. package/dist/types/components/zd-card/card.d.ts +0 -152
  323. package/dist/types/components/zd-card/interfaces.d.ts +0 -40
  324. package/dist/types/components/zd-carousel/carousel.d.ts +0 -163
  325. package/dist/types/components/zd-carousel/interfaces.d.ts +0 -49
  326. package/dist/types/components/zd-checkbox/checkbox.d.ts +0 -12
  327. package/dist/types/components/zd-checkbox/interfaces.d.ts +0 -5
  328. package/dist/types/components/zd-checkbox-multiple/checkbox-multiple.d.ts +0 -39
  329. package/dist/types/components/zd-checkbox-multiple/interfaces.d.ts +0 -13
  330. package/dist/types/components/zd-chip/chip.d.ts +0 -60
  331. package/dist/types/components/zd-chip/interfaces.d.ts +0 -18
  332. package/dist/types/components/zd-code-viewer/code-viewer.d.ts +0 -86
  333. package/dist/types/components/zd-code-viewer/interfaces.d.ts +0 -13
  334. package/dist/types/components/zd-col/col.d.ts +0 -33
  335. package/dist/types/components/zd-col/interfaces.d.ts +0 -15
  336. package/dist/types/components/zd-collapse-card/collapse-card.d.ts +0 -56
  337. package/dist/types/components/zd-collapse-card/interfaces.d.ts +0 -14
  338. package/dist/types/components/zd-component/child-not-found.d.ts +0 -6
  339. package/dist/types/components/zd-component/component-render.d.ts +0 -16
  340. package/dist/types/components/zd-component/component.d.ts +0 -120
  341. package/dist/types/components/zd-component/interfaces.d.ts +0 -74
  342. package/dist/types/components/zd-container/container.d.ts +0 -45
  343. package/dist/types/components/zd-container/interfaces.d.ts +0 -12
  344. package/dist/types/components/zd-currency/currency.d.ts +0 -12
  345. package/dist/types/components/zd-currency/interfaces.d.ts +0 -6
  346. package/dist/types/components/zd-date-input/date-input.d.ts +0 -152
  347. package/dist/types/components/zd-date-input/interfaces.d.ts +0 -27
  348. package/dist/types/components/zd-date-range/date-range.d.ts +0 -160
  349. package/dist/types/components/zd-date-range/interfaces.d.ts +0 -18
  350. package/dist/types/components/zd-dialog/dialog.d.ts +0 -76
  351. package/dist/types/components/zd-dialog/interfaces.d.ts +0 -13
  352. package/dist/types/components/zd-divider/divider.d.ts +0 -20
  353. package/dist/types/components/zd-divider/interfaces.d.ts +0 -8
  354. package/dist/types/components/zd-dropdown/dropdown.d.ts +0 -81
  355. package/dist/types/components/zd-dropdown/interfaces.d.ts +0 -23
  356. package/dist/types/components/zd-footer/footer.d.ts +0 -80
  357. package/dist/types/components/zd-footer/interfaces.d.ts +0 -26
  358. package/dist/types/components/zd-form/form.d.ts +0 -174
  359. package/dist/types/components/zd-form/interfaces.d.ts +0 -36
  360. package/dist/types/components/zd-frame/frame.d.ts +0 -81
  361. package/dist/types/components/zd-frame/interfaces.d.ts +0 -23
  362. package/dist/types/components/zd-frame-page/frame-page.d.ts +0 -14
  363. package/dist/types/components/zd-frame-page/interfaces.d.ts +0 -4
  364. package/dist/types/components/zd-grid/data-navigator.d.ts +0 -12
  365. package/dist/types/components/zd-grid/data-selector.d.ts +0 -25
  366. package/dist/types/components/zd-grid/grid-column.d.ts +0 -47
  367. package/dist/types/components/zd-grid/grid-events.d.ts +0 -26
  368. package/dist/types/components/zd-grid/grid.d.ts +0 -85
  369. package/dist/types/components/zd-grid/index.d.ts +0 -11
  370. package/dist/types/components/zd-grid/interfaces.d.ts +0 -148
  371. package/dist/types/components/zd-grid/iterable-table.d.ts +0 -28
  372. package/dist/types/components/zd-grid/keymap-merger.d.ts +0 -26
  373. package/dist/types/components/zd-grid/keymap-navigation.d.ts +0 -6
  374. package/dist/types/components/zd-grid/table-action-builder.d.ts +0 -19
  375. package/dist/types/components/zd-grid/view-navigator.d.ts +0 -10
  376. package/dist/types/components/zd-grid-editable/data-editor-with-add.d.ts +0 -35
  377. package/dist/types/components/zd-grid-editable/data-editor.d.ts +0 -64
  378. package/dist/types/components/zd-grid-editable/errors/index.d.ts +0 -2
  379. package/dist/types/components/zd-grid-editable/errors/not-editing.d.ts +0 -6
  380. package/dist/types/components/zd-grid-editable/errors/row-not-found.d.ts +0 -6
  381. package/dist/types/components/zd-grid-editable/grid-column-editable.d.ts +0 -9
  382. package/dist/types/components/zd-grid-editable/grid-editable-controller.d.ts +0 -8
  383. package/dist/types/components/zd-grid-editable/grid-editable-events.d.ts +0 -32
  384. package/dist/types/components/zd-grid-editable/grid-editable.d.ts +0 -124
  385. package/dist/types/components/zd-grid-editable/index.d.ts +0 -8
  386. package/dist/types/components/zd-grid-editable/interfaces.d.ts +0 -66
  387. package/dist/types/components/zd-grid-editable/keymap-editing.d.ts +0 -7
  388. package/dist/types/components/zd-header/header.d.ts +0 -94
  389. package/dist/types/components/zd-header/interfaces.d.ts +0 -29
  390. package/dist/types/components/zd-icon/icon.d.ts +0 -55
  391. package/dist/types/components/zd-icon/interfaces.d.ts +0 -13
  392. package/dist/types/components/zd-image/image.d.ts +0 -73
  393. package/dist/types/components/zd-image/interfaces.d.ts +0 -17
  394. package/dist/types/components/zd-increment/increment.d.ts +0 -56
  395. package/dist/types/components/zd-increment/interfaces.d.ts +0 -9
  396. package/dist/types/components/zd-input/input-factory.d.ts +0 -6
  397. package/dist/types/components/zd-input/input.d.ts +0 -223
  398. package/dist/types/components/zd-input/interfaces.d.ts +0 -38
  399. package/dist/types/components/zd-iterable/column-not-found.d.ts +0 -6
  400. package/dist/types/components/zd-iterable/column.d.ts +0 -78
  401. package/dist/types/components/zd-iterable/conditions-manager.d.ts +0 -49
  402. package/dist/types/components/zd-iterable/interfaces.d.ts +0 -103
  403. package/dist/types/components/zd-iterable/iterable-columns-button-controller.d.ts +0 -9
  404. package/dist/types/components/zd-iterable/iterable-columns-button.d.ts +0 -35
  405. package/dist/types/components/zd-iterable/iterable-controller.d.ts +0 -8
  406. package/dist/types/components/zd-iterable/iterable-page-component.d.ts +0 -27
  407. package/dist/types/components/zd-iterable/iterable-page-info.d.ts +0 -7
  408. package/dist/types/components/zd-iterable/iterable-page-size.d.ts +0 -62
  409. package/dist/types/components/zd-iterable/iterable-pagination.d.ts +0 -28
  410. package/dist/types/components/zd-iterable/iterable.d.ts +0 -86
  411. package/dist/types/components/zd-iterable/search.d.ts +0 -31
  412. package/dist/types/components/zd-iterable-component-render/interfaces.d.ts +0 -34
  413. package/dist/types/components/zd-iterable-component-render/iterable-component-render.d.ts +0 -84
  414. package/dist/types/components/zd-layout/interfaces.d.ts +0 -7
  415. package/dist/types/components/zd-layout/layout.d.ts +0 -9
  416. package/dist/types/components/zd-list/interfaces.d.ts +0 -44
  417. package/dist/types/components/zd-list/item-not-found.d.ts +0 -6
  418. package/dist/types/components/zd-list/list-group.d.ts +0 -30
  419. package/dist/types/components/zd-list/list-item.d.ts +0 -46
  420. package/dist/types/components/zd-list/list.d.ts +0 -81
  421. package/dist/types/components/zd-loading/interfaces.d.ts +0 -7
  422. package/dist/types/components/zd-loading/loading.d.ts +0 -21
  423. package/dist/types/components/zd-login/interfaces.d.ts +0 -25
  424. package/dist/types/components/zd-login/login-button.d.ts +0 -50
  425. package/dist/types/components/zd-login/login.d.ts +0 -54
  426. package/dist/types/components/zd-main/interfaces.d.ts +0 -5
  427. package/dist/types/components/zd-main/main.d.ts +0 -7
  428. package/dist/types/components/zd-master-detail/detail-not-found.d.ts +0 -7
  429. package/dist/types/components/zd-master-detail/interfaces.d.ts +0 -10
  430. package/dist/types/components/zd-master-detail/master-detail.d.ts +0 -18
  431. package/dist/types/components/zd-master-detail/master-not-found.d.ts +0 -7
  432. package/dist/types/components/zd-menu/interfaces.d.ts +0 -68
  433. package/dist/types/components/zd-menu/menu-button.d.ts +0 -29
  434. package/dist/types/components/zd-menu/menu-group.d.ts +0 -61
  435. package/dist/types/components/zd-menu/menu-link.d.ts +0 -50
  436. package/dist/types/components/zd-menu/menu-separator.d.ts +0 -7
  437. package/dist/types/components/zd-menu/menu.d.ts +0 -199
  438. package/dist/types/components/zd-modal/interfaces.d.ts +0 -35
  439. package/dist/types/components/zd-modal/modal-close-button.d.ts +0 -28
  440. package/dist/types/components/zd-modal/modal.d.ts +0 -53
  441. package/dist/types/components/zd-month/interfaces.d.ts +0 -6
  442. package/dist/types/components/zd-month/month.d.ts +0 -33
  443. package/dist/types/components/zd-number-input/interfaces.d.ts +0 -8
  444. package/dist/types/components/zd-number-input/number-input.d.ts +0 -43
  445. package/dist/types/components/zd-password/interfaces.d.ts +0 -6
  446. package/dist/types/components/zd-password/password.d.ts +0 -17
  447. package/dist/types/components/zd-progress/interfaces.d.ts +0 -10
  448. package/dist/types/components/zd-progress/progress.d.ts +0 -41
  449. package/dist/types/components/zd-radio/interfaces.d.ts +0 -11
  450. package/dist/types/components/zd-radio/radio.d.ts +0 -35
  451. package/dist/types/components/zd-row/interfaces.d.ts +0 -13
  452. package/dist/types/components/zd-row/row.d.ts +0 -39
  453. package/dist/types/components/zd-select/interfaces.d.ts +0 -24
  454. package/dist/types/components/zd-select/select.d.ts +0 -238
  455. package/dist/types/components/zd-select-multiple/interfaces.d.ts +0 -18
  456. package/dist/types/components/zd-select-multiple/select-multiple.d.ts +0 -113
  457. package/dist/types/components/zd-svg-map/interfaces.d.ts +0 -26
  458. package/dist/types/components/zd-svg-map/svg-map.d.ts +0 -35
  459. package/dist/types/components/zd-switch/interfaces.d.ts +0 -7
  460. package/dist/types/components/zd-switch/switch.d.ts +0 -16
  461. package/dist/types/components/zd-table/interfaces.d.ts +0 -25
  462. package/dist/types/components/zd-table/table.d.ts +0 -42
  463. package/dist/types/components/zd-tabs/interfaces.d.ts +0 -40
  464. package/dist/types/components/zd-tabs/tab-not-found.d.ts +0 -11
  465. package/dist/types/components/zd-tabs/tab.d.ts +0 -57
  466. package/dist/types/components/zd-tabs/tabs.d.ts +0 -86
  467. package/dist/types/components/zd-tag/interfaces.d.ts +0 -7
  468. package/dist/types/components/zd-tag/tag.d.ts +0 -13
  469. package/dist/types/components/zd-text/interfaces.d.ts +0 -9
  470. package/dist/types/components/zd-text/text.d.ts +0 -8
  471. package/dist/types/components/zd-text-input/interfaces.d.ts +0 -23
  472. package/dist/types/components/zd-text-input/text-input.d.ts +0 -91
  473. package/dist/types/components/zd-textarea/interfaces.d.ts +0 -21
  474. package/dist/types/components/zd-textarea/textarea.d.ts +0 -71
  475. package/dist/types/components/zd-time/interfaces.d.ts +0 -22
  476. package/dist/types/components/zd-time/time-format-selector.d.ts +0 -8
  477. package/dist/types/components/zd-time/time.d.ts +0 -149
  478. package/dist/types/components/zd-toggleable/interfaces.d.ts +0 -6
  479. package/dist/types/components/zd-toggleable/toggleable.d.ts +0 -21
  480. package/dist/types/components/zd-tooltip/interfaces.d.ts +0 -18
  481. package/dist/types/components/zd-tooltip/tooltip.d.ts +0 -57
  482. package/dist/types/components/zd-tree/interfaces.d.ts +0 -107
  483. package/dist/types/components/zd-tree/tree.d.ts +0 -161
  484. package/dist/types/components/zd-tree-grid/index.d.ts +0 -6
  485. package/dist/types/components/zd-tree-grid/interfaces.d.ts +0 -35
  486. package/dist/types/components/zd-tree-grid/iterable-tree.d.ts +0 -10
  487. package/dist/types/components/zd-tree-grid/keymap-tree.d.ts +0 -7
  488. package/dist/types/components/zd-tree-grid/tree-data-navigator.d.ts +0 -10
  489. package/dist/types/components/zd-tree-grid/tree-data-selector.d.ts +0 -18
  490. package/dist/types/components/zd-tree-grid/tree-grid.d.ts +0 -119
  491. package/dist/types/error/delete-rows.d.ts +0 -7
  492. package/dist/types/error/index.d.ts +0 -3
  493. package/dist/types/error/non-initialized.d.ts +0 -7
  494. package/dist/types/error/zeedhi-error.d.ts +0 -6
  495. package/dist/types/index.d.ts +0 -6
  496. package/dist/types/services/index.d.ts +0 -4
  497. package/dist/types/services/zd-alert/alert-queue.d.ts +0 -13
  498. package/dist/types/services/zd-alert/alert-replace.d.ts +0 -18
  499. package/dist/types/services/zd-alert/alert-service.d.ts +0 -45
  500. package/dist/types/services/zd-alert/alert-stack.d.ts +0 -9
  501. package/dist/types/services/zd-alert/index.d.ts +0 -5
  502. package/dist/types/services/zd-alert/interfaces.d.ts +0 -6
  503. package/dist/types/services/zd-dialog/dialog-service.d.ts +0 -24
  504. package/dist/types/services/zd-loading/loading-service.d.ts +0 -17
  505. package/dist/types/services/zd-modal/modal-service.d.ts +0 -39
  506. package/dist/types/utils/data-value-out/data-value-out.d.ts +0 -5
  507. package/dist/types/utils/data-value-out/index.d.ts +0 -2
  508. package/dist/types/utils/data-value-out/interfaces.d.ts +0 -8
  509. package/dist/types/utils/datasource-searcher/datasource-searcher.d.ts +0 -6
  510. package/dist/types/utils/datasource-searcher/index.d.ts +0 -2
  511. package/dist/types/utils/datasource-searcher/interfaces.d.ts +0 -5
  512. package/dist/types/utils/date-utils/date-utils.d.ts +0 -1
  513. package/dist/types/utils/icons/icons.d.ts +0 -24
  514. package/dist/types/utils/index.d.ts +0 -7
  515. package/dist/types/utils/omit/omit.d.ts +0 -11
  516. package/dist/types/utils/theme/theme.d.ts +0 -34
  517. package/dist/types/utils/tree-data-structure/index.d.ts +0 -2
  518. package/dist/types/utils/tree-data-structure/interfaces.d.ts +0 -30
  519. package/dist/types/utils/tree-data-structure/tree-data-structure.d.ts +0 -155
  520. package/dist/types/utils/unique-by/unique-by.d.ts +0 -3
  521. package/dist/zd-common.js +0 -13184
  522. package/dist/zd-common.min.js +0 -13184
  523. package/rollup.config.js +0 -27
  524. package/rollup.scss.config.js +0 -14
  525. package/tsconfig.build.json +0 -7
@@ -0,0 +1,1345 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/components/zd-input/input.ts</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">src/components/zd-input</a> input.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">100% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>105/105</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">100% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>17/17</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>29/29</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">100% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>101/101</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 type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line high'></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>
452
+ <a name='L387'></a><a href='#L387'>387</a>
453
+ <a name='L388'></a><a href='#L388'>388</a>
454
+ <a name='L389'></a><a href='#L389'>389</a>
455
+ <a name='L390'></a><a href='#L390'>390</a>
456
+ <a name='L391'></a><a href='#L391'>391</a>
457
+ <a name='L392'></a><a href='#L392'>392</a>
458
+ <a name='L393'></a><a href='#L393'>393</a>
459
+ <a name='L394'></a><a href='#L394'>394</a>
460
+ <a name='L395'></a><a href='#L395'>395</a>
461
+ <a name='L396'></a><a href='#L396'>396</a>
462
+ <a name='L397'></a><a href='#L397'>397</a>
463
+ <a name='L398'></a><a href='#L398'>398</a>
464
+ <a name='L399'></a><a href='#L399'>399</a>
465
+ <a name='L400'></a><a href='#L400'>400</a>
466
+ <a name='L401'></a><a href='#L401'>401</a>
467
+ <a name='L402'></a><a href='#L402'>402</a>
468
+ <a name='L403'></a><a href='#L403'>403</a>
469
+ <a name='L404'></a><a href='#L404'>404</a>
470
+ <a name='L405'></a><a href='#L405'>405</a>
471
+ <a name='L406'></a><a href='#L406'>406</a>
472
+ <a name='L407'></a><a href='#L407'>407</a>
473
+ <a name='L408'></a><a href='#L408'>408</a>
474
+ <a name='L409'></a><a href='#L409'>409</a>
475
+ <a name='L410'></a><a href='#L410'>410</a>
476
+ <a name='L411'></a><a href='#L411'>411</a>
477
+ <a name='L412'></a><a href='#L412'>412</a>
478
+ <a name='L413'></a><a href='#L413'>413</a>
479
+ <a name='L414'></a><a href='#L414'>414</a>
480
+ <a name='L415'></a><a href='#L415'>415</a>
481
+ <a name='L416'></a><a href='#L416'>416</a>
482
+ <a name='L417'></a><a href='#L417'>417</a>
483
+ <a name='L418'></a><a href='#L418'>418</a>
484
+ <a name='L419'></a><a href='#L419'>419</a>
485
+ <a name='L420'></a><a href='#L420'>420</a>
486
+ <a name='L421'></a><a href='#L421'>421</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">92x</span>
487
+ <span class="cline-any cline-yes">92x</span>
488
+ <span class="cline-any cline-yes">92x</span>
489
+ <span class="cline-any cline-yes">92x</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-neutral">&nbsp;</span>
496
+ <span class="cline-any cline-yes">92x</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-yes">677x</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-yes">677x</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-yes">677x</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-yes">677x</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-yes">677x</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-yes">677x</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-yes">677x</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">677x</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-yes">677x</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-yes">677x</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-yes">677x</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-neutral">&nbsp;</span>
566
+ <span class="cline-any cline-yes">677x</span>
567
+ <span class="cline-any cline-neutral">&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-yes">677x</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-yes">677x</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-yes">677x</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-yes">677x</span>
587
+ <span class="cline-any cline-neutral">&nbsp;</span>
588
+ <span class="cline-any cline-neutral">&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-yes">677x</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">677x</span>
597
+ <span class="cline-any cline-neutral">&nbsp;</span>
598
+ <span class="cline-any cline-neutral">&nbsp;</span>
599
+ <span class="cline-any cline-neutral">&nbsp;</span>
600
+ <span class="cline-any cline-neutral">&nbsp;</span>
601
+ <span class="cline-any cline-yes">677x</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-neutral">&nbsp;</span>
606
+ <span class="cline-any cline-yes">677x</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-yes">677x</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-neutral">&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-yes">677x</span>
627
+ <span class="cline-any cline-neutral">&nbsp;</span>
628
+ <span class="cline-any cline-yes">677x</span>
629
+ <span class="cline-any cline-neutral">&nbsp;</span>
630
+ <span class="cline-any cline-yes">677x</span>
631
+ <span class="cline-any cline-neutral">&nbsp;</span>
632
+ <span class="cline-any cline-yes">677x</span>
633
+ <span class="cline-any cline-neutral">&nbsp;</span>
634
+ <span class="cline-any cline-yes">677x</span>
635
+ <span class="cline-any cline-neutral">&nbsp;</span>
636
+ <span class="cline-any cline-yes">677x</span>
637
+ <span class="cline-any cline-neutral">&nbsp;</span>
638
+ <span class="cline-any cline-yes">677x</span>
639
+ <span class="cline-any cline-neutral">&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-neutral">&nbsp;</span>
646
+ <span class="cline-any cline-neutral">&nbsp;</span>
647
+ <span class="cline-any cline-neutral">&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-neutral">&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-neutral">&nbsp;</span>
669
+ <span class="cline-any cline-neutral">&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-yes">117x</span>
675
+ <span class="cline-any cline-neutral">&nbsp;</span>
676
+ <span class="cline-any cline-yes">117x</span>
677
+ <span class="cline-any cline-yes">3x</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-yes">23x</span>
686
+ <span class="cline-any cline-yes">4x</span>
687
+ <span class="cline-any cline-neutral">&nbsp;</span>
688
+ <span class="cline-any cline-yes">19x</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-neutral">&nbsp;</span>
694
+ <span class="cline-any cline-neutral">&nbsp;</span>
695
+ <span class="cline-any cline-yes">4x</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-neutral">&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-yes">1x</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-yes">2x</span>
711
+ <span class="cline-any cline-yes">1x</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-yes">1x</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-yes">677x</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-yes">16x</span>
732
+ <span class="cline-any cline-yes">16x</span>
733
+ <span class="cline-any cline-yes">16x</span>
734
+ <span class="cline-any cline-yes">16x</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-yes">1x</span>
743
+ <span class="cline-any cline-yes">1x</span>
744
+ <span class="cline-any cline-yes">1x</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-yes">1x</span>
752
+ <span class="cline-any cline-yes">1x</span>
753
+ <span class="cline-any cline-yes">1x</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-yes">13x</span>
761
+ <span class="cline-any cline-yes">13x</span>
762
+ <span class="cline-any cline-yes">9x</span>
763
+ <span class="cline-any cline-yes">9x</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-neutral">&nbsp;</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-yes">496x</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-yes">441x</span>
777
+ <span class="cline-any cline-yes">250x</span>
778
+ <span class="cline-any cline-yes">250x</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-yes">4x</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-yes">2x</span>
791
+ <span class="cline-any cline-yes">2x</span>
792
+ <span class="cline-any cline-yes">2x</span>
793
+ <span class="cline-any cline-yes">2x</span>
794
+ <span class="cline-any cline-yes">1x</span>
795
+ <span class="cline-any cline-yes">1x</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-yes">1x</span>
799
+ <span class="cline-any cline-yes">1x</span>
800
+ <span class="cline-any cline-yes">1x</span>
801
+ <span class="cline-any cline-neutral">&nbsp;</span>
802
+ <span class="cline-any cline-yes">1x</span>
803
+ <span class="cline-any cline-yes">1x</span>
804
+ <span class="cline-any cline-neutral">&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-neutral">&nbsp;</span>
813
+ <span class="cline-any cline-yes">25x</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-yes">4x</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-yes">9x</span>
831
+ <span class="cline-any cline-yes">7x</span>
832
+ <span class="cline-any cline-yes">7x</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-yes">677x</span>
837
+ <span class="cline-any cline-neutral">&nbsp;</span>
838
+ <span class="cline-any cline-neutral">&nbsp;</span>
839
+ <span class="cline-any cline-neutral">&nbsp;</span>
840
+ <span class="cline-any cline-neutral">&nbsp;</span>
841
+ <span class="cline-any cline-neutral">&nbsp;</span>
842
+ <span class="cline-any cline-neutral">&nbsp;</span>
843
+ <span class="cline-any cline-neutral">&nbsp;</span>
844
+ <span class="cline-any cline-yes">52x</span>
845
+ <span class="cline-any cline-neutral">&nbsp;</span>
846
+ <span class="cline-any cline-yes">52x</span>
847
+ <span class="cline-any cline-yes">49x</span>
848
+ <span class="cline-any cline-yes">49x</span>
849
+ <span class="cline-any cline-neutral">&nbsp;</span>
850
+ <span class="cline-any cline-neutral">&nbsp;</span>
851
+ <span class="cline-any cline-neutral">&nbsp;</span>
852
+ <span class="cline-any cline-yes">677x</span>
853
+ <span class="cline-any cline-neutral">&nbsp;</span>
854
+ <span class="cline-any cline-yes">677x</span>
855
+ <span class="cline-any cline-neutral">&nbsp;</span>
856
+ <span class="cline-any cline-yes">1x</span>
857
+ <span class="cline-any cline-neutral">&nbsp;</span>
858
+ <span class="cline-any cline-neutral">&nbsp;</span>
859
+ <span class="cline-any cline-neutral">&nbsp;</span>
860
+ <span class="cline-any cline-neutral">&nbsp;</span>
861
+ <span class="cline-any cline-neutral">&nbsp;</span>
862
+ <span class="cline-any cline-neutral">&nbsp;</span>
863
+ <span class="cline-any cline-neutral">&nbsp;</span>
864
+ <span class="cline-any cline-neutral">&nbsp;</span>
865
+ <span class="cline-any cline-neutral">&nbsp;</span>
866
+ <span class="cline-any cline-neutral">&nbsp;</span>
867
+ <span class="cline-any cline-yes">2x</span>
868
+ <span class="cline-any cline-yes">2x</span>
869
+ <span class="cline-any cline-yes">2x</span>
870
+ <span class="cline-any cline-neutral">&nbsp;</span>
871
+ <span class="cline-any cline-neutral">&nbsp;</span>
872
+ <span class="cline-any cline-neutral">&nbsp;</span>
873
+ <span class="cline-any cline-neutral">&nbsp;</span>
874
+ <span class="cline-any cline-neutral">&nbsp;</span>
875
+ <span class="cline-any cline-neutral">&nbsp;</span>
876
+ <span class="cline-any cline-neutral">&nbsp;</span>
877
+ <span class="cline-any cline-neutral">&nbsp;</span>
878
+ <span class="cline-any cline-neutral">&nbsp;</span>
879
+ <span class="cline-any cline-yes">2x</span>
880
+ <span class="cline-any cline-neutral">&nbsp;</span>
881
+ <span class="cline-any cline-neutral">&nbsp;</span>
882
+ <span class="cline-any cline-neutral">&nbsp;</span>
883
+ <span class="cline-any cline-neutral">&nbsp;</span>
884
+ <span class="cline-any cline-neutral">&nbsp;</span>
885
+ <span class="cline-any cline-neutral">&nbsp;</span>
886
+ <span class="cline-any cline-neutral">&nbsp;</span>
887
+ <span class="cline-any cline-neutral">&nbsp;</span>
888
+ <span class="cline-any cline-yes">2x</span>
889
+ <span class="cline-any cline-neutral">&nbsp;</span>
890
+ <span class="cline-any cline-yes">2x</span>
891
+ <span class="cline-any cline-yes">2x</span>
892
+ <span class="cline-any cline-neutral">&nbsp;</span>
893
+ <span class="cline-any cline-neutral">&nbsp;</span>
894
+ <span class="cline-any cline-neutral">&nbsp;</span>
895
+ <span class="cline-any cline-neutral">&nbsp;</span>
896
+ <span class="cline-any cline-yes">677x</span>
897
+ <span class="cline-any cline-yes">677x</span>
898
+ <span class="cline-any cline-yes">191x</span>
899
+ <span class="cline-any cline-neutral">&nbsp;</span>
900
+ <span class="cline-any cline-yes">677x</span>
901
+ <span class="cline-any cline-neutral">&nbsp;</span>
902
+ <span class="cline-any cline-neutral">&nbsp;</span>
903
+ <span class="cline-any cline-neutral">&nbsp;</span>
904
+ <span class="cline-any cline-yes">208x</span>
905
+ <span class="cline-any cline-yes">92x</span>
906
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { FormatterParserProvider, IDictionary, Mask, Validation } from '@zeedhi/core';
907
+ import debounce from 'lodash.debounce';
908
+ import { ComponentRender } from '../zd-component/component-render';
909
+ import { Form } from '../zd-form/form';
910
+ import { IInput, IInputEvents } from './interfaces';
911
+ import { IFormGrid } from '../zd-form/interfaces';
912
+ &nbsp;
913
+ /**
914
+ * Base class for Input component.
915
+ */
916
+ export class Input extends ComponentRender implements IInput {
917
+ /**
918
+ * Input content alignment.
919
+ */
920
+ public align = 'left';
921
+ &nbsp;
922
+ /**
923
+ * Always show error messages even if showHelper is false.
924
+ */
925
+ public alwaysShowError = false;
926
+ &nbsp;
927
+ /**
928
+ * Input auto complete.
929
+ */
930
+ public autofill = true;
931
+ &nbsp;
932
+ /**
933
+ * Add input clear functionality if the input isn't readonly or disabled.
934
+ */
935
+ public clearable = true;
936
+ &nbsp;
937
+ /**
938
+ * Applies specified color to the control.
939
+ * It can be the name of material or css color in hex.
940
+ */
941
+ public color = 'primary';
942
+ &nbsp;
943
+ /**
944
+ * Defines smaller input.
945
+ */
946
+ public dense = true;
947
+ &nbsp;
948
+ /**
949
+ * Removes the ability to click or target the input.
950
+ */
951
+ public disabled = false;
952
+ &nbsp;
953
+ /**
954
+ * Defines input events.
955
+ */
956
+ public declare events: IInputEvents;
957
+ &nbsp;
958
+ /**
959
+ * Hint text.
960
+ */
961
+ public hint = '';
962
+ &nbsp;
963
+ /**
964
+ * Defines the input label.
965
+ */
966
+ public label = '';
967
+ &nbsp;
968
+ /**
969
+ * Applies a custom character mask to the input.
970
+ */
971
+ public mask?: any = '';
972
+ &nbsp;
973
+ /**
974
+ * Input max character length.
975
+ */
976
+ public maxLength!: number;
977
+ &nbsp;
978
+ /**
979
+ * Forces hint to always be visible.
980
+ */
981
+ public persistentHint = false;
982
+ &nbsp;
983
+ /**
984
+ * Sets the input’s placeholder text.
985
+ */
986
+ public placeholder = '';
987
+ &nbsp;
988
+ /**
989
+ * Puts input in readonly state.
990
+ */
991
+ public readonly = false;
992
+ &nbsp;
993
+ /**
994
+ * Reverses the input orientation.
995
+ */
996
+ public reverse = false;
997
+ &nbsp;
998
+ /**
999
+ * Rules that will validate the input value.
1000
+ */
1001
+ public rules: ((value?: any) =&gt; boolean | string)[] = [];
1002
+ &nbsp;
1003
+ /**
1004
+ * Shows input border.
1005
+ */
1006
+ public showBorder = true;
1007
+ &nbsp;
1008
+ /**
1009
+ * Shows input helper.
1010
+ */
1011
+ public showHelper = true;
1012
+ &nbsp;
1013
+ /**
1014
+ * Shows input label.
1015
+ */
1016
+ public showLabel = true;
1017
+ &nbsp;
1018
+ /**
1019
+ * Show rules details in input.
1020
+ */
1021
+ public autoHintDetails = false;
1022
+ &nbsp;
1023
+ /**
1024
+ * Used to watch a value from store.
1025
+ */
1026
+ public storePath = '';
1027
+ &nbsp;
1028
+ /**
1029
+ * Input validations.
1030
+ */
1031
+ public validations: IDictionary&lt;IDictionary&lt;string | number&gt;&gt; = {};
1032
+ &nbsp;
1033
+ /**
1034
+ * Optional validation method assigned by view layer.
1035
+ */
1036
+ private viewValidate?: (silent?: boolean) =&gt; Promise&lt;string[]&gt;;
1037
+ &nbsp;
1038
+ /**
1039
+ * Reset validation method assigned by view layer.
1040
+ */
1041
+ private viewResetValidation?: () =&gt; void;
1042
+ &nbsp;
1043
+ /**
1044
+ * Parsed field rules.
1045
+ */
1046
+ protected parsedValidations: IDictionary&lt;(value?: any) =&gt; boolean | string&gt; = {};
1047
+ &nbsp;
1048
+ protected formatterFn = FormatterParserProvider.getFormatter('ZdInput');
1049
+ &nbsp;
1050
+ protected parserFn = FormatterParserProvider.getParser('ZdInput');
1051
+ &nbsp;
1052
+ protected internalDisplayValue = '';
1053
+ &nbsp;
1054
+ protected internalValue: any = null;
1055
+ &nbsp;
1056
+ public formParent?: Form = this.getFormParent();
1057
+ &nbsp;
1058
+ public grid: IFormGrid = {};
1059
+ &nbsp;
1060
+ /* istanbul ignore next */
1061
+ /**
1062
+ * Creates a new Input.
1063
+ * @param props Input properties
1064
+ */
1065
+ constructor(props: IInput) {
1066
+ super(props);
1067
+ this.align = this.getInitValue('align', props.align, this.align);
1068
+ this.alwaysShowError = this.getInitValue('alwaysShowError', props.alwaysShowError, this.alwaysShowError);
1069
+ this.autofill = this.getInitValue('autofill', props.autofill, this.autofill);
1070
+ this.clearable = this.getInitValue('clearable', props.clearable, this.clearable);
1071
+ this.color = this.getInitValue('color', props.color, this.color);
1072
+ this.dense = this.getInitValue('dense', props.dense, this.dense);
1073
+ this.disabled = this.getInitValue('disabled', props.disabled, this.disabled);
1074
+ this.hint = this.getInitValue('hint', props.hint, this.hint);
1075
+ this.autoHintDetails = this.getInitValue('autoHintDetails', props.autoHintDetails, this.autoHintDetails);
1076
+ this.label = this.getInitValue('label', props.label, this.label);
1077
+ this.mask = this.getInitValue('mask', props.mask, this.mask);
1078
+ this.maxLength = this.getInitValue('maxLength', props.maxLength, this.maxLength);
1079
+ this.persistentHint = this.getInitValue('persistentHint', props.persistentHint, this.persistentHint);
1080
+ this.placeholder = this.getInitValue('placeholder', props.placeholder, this.placeholder);
1081
+ this.readonly = this.getInitValue('readonly', props.readonly, this.readonly);
1082
+ this.reverse = this.getInitValue('reverse', props.reverse, this.reverse);
1083
+ this.showBorder = this.getInitValue('showBorder', props.showBorder, this.showBorder);
1084
+ this.showHelper = this.getInitValue('showHelper', props.showHelper, this.showHelper);
1085
+ this.showLabel = this.getInitValue('showLabel', props.showLabel, this.showLabel);
1086
+ this.storePath = this.getInitValue('storePath', props.storePath, this.storePath);
1087
+ this.value = this.getInitValue('value', props.value, this.value);
1088
+ this.validations = this.getInitValue('validations', props.validations, this.validations);
1089
+ this.grid = this.getInitValue('grid', props.grid, this.grid);
1090
+ this.parseValidations(props.validations || {});
1091
+ }
1092
+ &nbsp;
1093
+ public onCreated(): void {
1094
+ super.onCreated();
1095
+ &nbsp;
1096
+ if (this.formParent) {
1097
+ this.formParent.registerInput(this);
1098
+ }
1099
+ }
1100
+ &nbsp;
1101
+ /**
1102
+ * Validates input.
1103
+ */
1104
+ public validate() {
1105
+ if (this.viewValidate) {
1106
+ return this.viewValidate();
1107
+ }
1108
+ return Promise.resolve([]);
1109
+ }
1110
+ &nbsp;
1111
+ /**
1112
+ * Sets view validation method.
1113
+ */
1114
+ public setViewValidate(viewValidate: (silent?: boolean) =&gt; Promise&lt;string[]&gt;) {
1115
+ this.viewValidate = viewValidate;
1116
+ }
1117
+ &nbsp;
1118
+ /**
1119
+ * Sets view reset validation method.
1120
+ */
1121
+ public setViewResetValidation(viewResetValidation: () =&gt; void) {
1122
+ this.viewResetValidation = viewResetValidation;
1123
+ }
1124
+ &nbsp;
1125
+ /**
1126
+ * Reset all form validation errors.
1127
+ * @throws Will throw if viewResetValidation is undefined
1128
+ */
1129
+ public resetValidation() {
1130
+ if (this.viewResetValidation) {
1131
+ return this.viewResetValidation();
1132
+ }
1133
+ &nbsp;
1134
+ throw new Error('viewResetValidation method not assigned');
1135
+ }
1136
+ &nbsp;
1137
+ /**
1138
+ * Adds parsed validations based on field validations.
1139
+ * @param validations Field validations
1140
+ */
1141
+ private parseValidations(validations: IDictionary&lt;any&gt;) {
1142
+ Object.keys(validations).forEach((name: string) =&gt; this.addValidation(name, validations[name]));
1143
+ }
1144
+ &nbsp;
1145
+ /**
1146
+ * Adds input validation.
1147
+ * @param name Validation name
1148
+ * @param config Validation config
1149
+ */
1150
+ public addValidation(name: string, config?: IDictionary&lt;any&gt;) {
1151
+ const validation = Validation.get(name)(config);
1152
+ (this.validations as any)[name] = config;
1153
+ this.parsedValidations[name] = validation;
1154
+ this.updateRules();
1155
+ }
1156
+ &nbsp;
1157
+ /**
1158
+ * Removes input validation.
1159
+ * @param name Validation name
1160
+ */
1161
+ public removeValidation(name: string) {
1162
+ delete this.parsedValidations[name];
1163
+ delete this.validations[name];
1164
+ this.updateRules();
1165
+ }
1166
+ &nbsp;
1167
+ /**
1168
+ * Removes all input validation.
1169
+ */
1170
+ public clearValidations() {
1171
+ this.parsedValidations = {};
1172
+ this.validations = {};
1173
+ this.rules = [];
1174
+ }
1175
+ &nbsp;
1176
+ /**
1177
+ * Updates input rules.
1178
+ */
1179
+ protected updateRules() {
1180
+ this.rules = Object.values(this.parsedValidations).map(
1181
+ (validation: (value?: any) =&gt; boolean | string) =&gt; (value?: any) =&gt; {
1182
+ const testValue = value !== undefined ? value : this.value;
1183
+ return validation(testValue);
1184
+ },
1185
+ );
1186
+ }
1187
+ &nbsp;
1188
+ /**
1189
+ * Input value.
1190
+ */
1191
+ get value(): any {
1192
+ return this.internalValue;
1193
+ }
1194
+ &nbsp;
1195
+ set value(value: any) {
1196
+ if (this.internalValue !== value) {
1197
+ this.internalDisplayValue = this.formatter(value);
1198
+ this.internalValue = value;
1199
+ }
1200
+ }
1201
+ &nbsp;
1202
+ /**
1203
+ * Input displayed value.
1204
+ */
1205
+ get displayValue(): any {
1206
+ return this.internalDisplayValue;
1207
+ }
1208
+ &nbsp;
1209
+ set displayValue(value: any) {
1210
+ if (this.internalDisplayValue !== value) {
1211
+ const parsedValue = this.parser(value);
1212
+ this.value = parsedValue;
1213
+ if (!this.mask) {
1214
+ this.internalDisplayValue = value;
1215
+ return;
1216
+ }
1217
+ &nbsp;
1218
+ let { mask } = this;
1219
+ if (typeof mask === 'function') {
1220
+ mask = mask(parsedValue);
1221
+ }
1222
+ this.internalDisplayValue = Mask.convertAll(mask, value);
1223
+ this.internalValue = this.parser(this.internalDisplayValue);
1224
+ }
1225
+ }
1226
+ &nbsp;
1227
+ /**
1228
+ * Retrieves a formatted value.
1229
+ * @param value Any value
1230
+ * @returns A Formatted value
1231
+ */
1232
+ public formatter(value: any) {
1233
+ return this.formatterFn(value);
1234
+ }
1235
+ &nbsp;
1236
+ /**
1237
+ * Retrieves a parsed value.
1238
+ * @param value Any value
1239
+ * @returns A parsed value
1240
+ */
1241
+ public parser(value: any) {
1242
+ return this.parserFn(value);
1243
+ }
1244
+ &nbsp;
1245
+ /**
1246
+ * Checks the input value are valid to all applied rules.
1247
+ * @returns Input is valid
1248
+ */
1249
+ public isValid(value?: any) {
1250
+ return this.rules.every((rule) =&gt; {
1251
+ const testValue = value !== undefined ? value : this.value;
1252
+ return typeof rule(testValue) !== 'string';
1253
+ });
1254
+ }
1255
+ &nbsp;
1256
+ private lastChangeValue: any = undefined;
1257
+ &nbsp;
1258
+ /**
1259
+ * Triggered when the input value changes.
1260
+ * @param event DOM event
1261
+ * @param element Element clicked
1262
+ */
1263
+ public change(event?: Event, element?: any) {
1264
+ if (this.value === '') this.value = null;
1265
+ &nbsp;
1266
+ if (this.value !== this.lastChangeValue) {
1267
+ this.lastChangeValue = this.value;
1268
+ this.callEvent('change', { event, element, component: this });
1269
+ }
1270
+ }
1271
+ &nbsp;
1272
+ protected lastInputValue: any = undefined;
1273
+ &nbsp;
1274
+ protected callInputEvent: ({ event, element, component }: IDictionary) =&gt; void = debounce(
1275
+ ({ event, element, component }: IDictionary) =&gt; {
1276
+ this.callEvent('input', { event, element, component });
1277
+ },
1278
+ 50,
1279
+ );
1280
+ &nbsp;
1281
+ /**
1282
+ * Triggered when the data is inputted.
1283
+ * @param event DOM event
1284
+ * @param element Element focused
1285
+ */
1286
+ public input(event?: Event, element?: any) {
1287
+ if (this.value !== this.lastInputValue) {
1288
+ this.lastInputValue = this.value;
1289
+ this.callInputEvent({ event, element, component: this });
1290
+ }
1291
+ }
1292
+ &nbsp;
1293
+ /**
1294
+ * Triggered when a keyboard key is released.
1295
+ * @param event DOM event
1296
+ * @param element Element that lost the focus
1297
+ */
1298
+ public keyup(event?: Event, element?: any) {
1299
+ this.callEvent('keyup', { event, element, component: this });
1300
+ }
1301
+ &nbsp;
1302
+ /**
1303
+ * Triggered when the user presses a key on the keyboard.
1304
+ * @param event DOM event
1305
+ * @param element Element that lost the focus
1306
+ */
1307
+ public keydown(event?: Event, element?: any) {
1308
+ this.callEvent('keydown', { event, element, component: this });
1309
+ &nbsp;
1310
+ if (!event?.defaultPrevented) {
1311
+ this.callEvent('afterKeydown', { event, element, component: this });
1312
+ }
1313
+ }
1314
+ &nbsp;
1315
+ private getFormParent() {
1316
+ let { parent } = this;
1317
+ while (parent &amp;&amp; !(parent instanceof Form)) {
1318
+ parent = parent.parent;
1319
+ }
1320
+ return parent;
1321
+ }
1322
+ }
1323
+ &nbsp;
1324
+ FormatterParserProvider.registerFormatter('ZdInput', (value: any) =&gt; value);
1325
+ FormatterParserProvider.registerParser('ZdInput', (value: any) =&gt; value);
1326
+ &nbsp;</pre></td></tr></table></pre>
1327
+
1328
+ <div class='push'></div><!-- for sticky footer -->
1329
+ </div><!-- /wrapper -->
1330
+ <div class='footer quiet pad2 space-top1 center small'>
1331
+ Code coverage generated by
1332
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1333
+ at 2025-12-29T16:02:58.168Z
1334
+ </div>
1335
+ <script src="../../../prettify.js"></script>
1336
+ <script>
1337
+ window.onload = function () {
1338
+ prettyPrint();
1339
+ };
1340
+ </script>
1341
+ <script src="../../../sorter.js"></script>
1342
+ <script src="../../../block-navigation.js"></script>
1343
+ </body>
1344
+ </html>
1345
+