bfg-common 1.2.197 → 1.2.199

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 (762) hide show
  1. package/.eslintrc.js +21 -21
  2. package/.idea/inspectionProfiles/Project_Default.xml +48 -48
  3. package/.idea/modules.xml +7 -7
  4. package/.idea/prettier.xml +5 -5
  5. package/.idea/uikit.iml +11 -11
  6. package/.idea/vcs.xml +5 -5
  7. package/.prettierrc +4 -4
  8. package/PROJECT_STRUCTURE.md +42 -42
  9. package/README.md +42 -42
  10. package/assets/img/icons/icon-hcs.svg +3 -3
  11. package/assets/img/icons/icon-life-m-dark.svg +3 -3
  12. package/assets/img/icons/icon-life-m-light.svg +3 -3
  13. package/assets/img/icons/icon-ro-dark.svg +1 -1
  14. package/assets/img/icons/icon-ro-light.svg +2 -2
  15. package/assets/img/icons/icons-sprite-dark-6.svg +1 -1
  16. package/assets/img/icons/icons-sprite-light-6.svg +1 -1
  17. package/assets/img/icons/info.svg +8 -8
  18. package/assets/img/icons/vc.svg +52 -52
  19. package/assets/img/logo copy.svg +50 -50
  20. package/assets/img/logo.svg +51 -51
  21. package/assets/localization/local_be.json +2152 -2143
  22. package/assets/localization/local_en.json +2155 -2146
  23. package/assets/localization/local_hy.json +2155 -2146
  24. package/assets/localization/local_kk.json +2155 -2146
  25. package/assets/localization/local_ru.json +2155 -2146
  26. package/assets/localization/local_zh.json +2155 -2146
  27. package/assets/scss/clarity/clr-ui.min.css +8 -8
  28. package/assets/scss/common/animations.scss +28 -28
  29. package/assets/scss/common/global.scss +189 -189
  30. package/assets/scss/common/icons/icons-1.scss +224 -224
  31. package/assets/scss/common/icons/icons-3.scss +203 -203
  32. package/assets/scss/common/icons/icons-4.scss +185 -185
  33. package/assets/scss/common/icons/icons-5.scss +59 -59
  34. package/assets/scss/common/icons/icons-6.scss +29 -29
  35. package/assets/scss/common/icons/icons.scss +15 -15
  36. package/assets/scss/common/mixins.scss +39 -39
  37. package/assets/scss/common/normalize.scss +320 -320
  38. package/assets/scss/common/theme.scss +232 -232
  39. package/assets/scss/common/utilities.scss +20 -20
  40. package/assets/scss/common/variables.scss +43 -43
  41. package/assets/scss/main.scss +13 -13
  42. package/components/atoms/DiagramIcon.vue +356 -356
  43. package/components/atoms/TheIcon.vue +1687 -1687
  44. package/components/atoms/TheIcon2.vue +1136 -1136
  45. package/components/atoms/alert/Alert.spec.ts +38 -38
  46. package/components/atoms/alert/Alert.vue +84 -84
  47. package/components/atoms/alert/Notification.spec.ts +34 -34
  48. package/components/atoms/alert/Notification.vue +167 -167
  49. package/components/atoms/alert/models/enums.ts +12 -12
  50. package/components/atoms/alert/models/interfaces.ts +27 -27
  51. package/components/atoms/alert/models/types.ts +7 -7
  52. package/components/atoms/autocomplete/Autocomplete.vue +236 -236
  53. package/components/atoms/collapse/CollapseNav.vue +164 -164
  54. package/components/atoms/collapse/CollapseNavItem.vue +190 -190
  55. package/components/atoms/collapse/models/interfaces.ts +10 -10
  56. package/components/atoms/combobox/Combobox.vue +147 -147
  57. package/components/atoms/datepicker/Datepicker.vue +612 -612
  58. package/components/atoms/datepicker/config/allShortMonths.ts +103 -103
  59. package/components/atoms/datepicker/config/datapicker.ts +43 -43
  60. package/components/atoms/datepicker/models/interfaces.ts +8 -8
  61. package/components/atoms/dropdown/Portlet.spec.ts +26 -26
  62. package/components/atoms/dropdown/Portlet.vue +111 -111
  63. package/components/atoms/dropdown/dropdown/Dropdown.vue +148 -148
  64. package/components/atoms/dropdown/dropdown/models/interfaces.ts +8 -8
  65. package/components/atoms/dropdown/tree/Tree.vue +134 -134
  66. package/components/atoms/dropdown/tree/models/interfaces.ts +9 -9
  67. package/components/atoms/input/Search.vue +16 -16
  68. package/components/atoms/list/SelectList.vue +62 -62
  69. package/components/atoms/list/SimpleList.vue +29 -29
  70. package/components/atoms/list/dragDropList/DragDropList.vue +139 -139
  71. package/components/atoms/list/dragDropList/config/events.ts +4 -4
  72. package/components/atoms/loader/BarLoader.vue +27 -27
  73. package/components/atoms/loader/Loader.vue +26 -26
  74. package/components/atoms/loader/PreLoader.vue +35 -35
  75. package/components/atoms/loader/Preloader.spec.ts +24 -24
  76. package/components/atoms/modal/Modal.spec.ts +55 -55
  77. package/components/atoms/modal/Modal.vue +244 -244
  78. package/components/atoms/modal/bySteps/BySteps.spec.ts +66 -66
  79. package/components/atoms/modal/bySteps/BySteps.vue +247 -247
  80. package/components/atoms/modal/byStepsSecond/ByStepsSecond.vue +175 -175
  81. package/components/atoms/models/interfaces.ts +12 -12
  82. package/components/atoms/nav/NavBar.spec.ts +34 -34
  83. package/components/atoms/nav/NavBar.vue +140 -140
  84. package/components/atoms/nav/VerticalNavBar.vue +89 -89
  85. package/components/atoms/nav/models/interfaces.ts +5 -5
  86. package/components/atoms/notificationBar/NotificationBar.vue +170 -170
  87. package/components/atoms/notificationBar/models/enums.ts +13 -13
  88. package/components/atoms/notificationBar/models/interfaces.ts +6 -6
  89. package/components/atoms/notificationBar/models/types.ts +1 -1
  90. package/components/atoms/perPage/PerPage.vue +52 -52
  91. package/components/atoms/popover/Popover.vue +61 -61
  92. package/components/atoms/popup/SimplePopup.vue +90 -90
  93. package/components/atoms/select/TheSelect.vue +175 -175
  94. package/components/atoms/select/models/interfaces.ts +4 -4
  95. package/components/atoms/stack/StackBlock.vue +178 -178
  96. package/components/atoms/stack/StackContent.vue +63 -63
  97. package/components/atoms/step/VerticalStep.spec.ts +68 -68
  98. package/components/atoms/step/VerticalStep.vue +104 -104
  99. package/components/atoms/step/models/verticalStepItem.ts +7 -7
  100. package/components/atoms/table/compact/Compact.vue +526 -526
  101. package/components/atoms/table/compact/models/interfaces.ts +10 -10
  102. package/components/atoms/table/dataGrid/DataGrid.spec.ts +61 -61
  103. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +206 -206
  104. package/components/atoms/table/dataGrid/DataGridPage.vue +191 -191
  105. package/components/atoms/table/dataGrid/DataGridPagination.vue +89 -89
  106. package/components/atoms/table/dataGrid/config/itemsPerPage.ts +20 -20
  107. package/components/atoms/table/dataGrid/models/interfaces.ts +25 -25
  108. package/components/atoms/table/dataGrid/models/types.ts +5 -5
  109. package/components/atoms/table/dataGrid/utils/constructDataTable.ts +32 -32
  110. package/components/atoms/table/info/Info.vue +60 -60
  111. package/components/atoms/table/info/models/interfaces.ts +9 -9
  112. package/components/atoms/table/simpleEvent/SimpleEvent.vue +98 -98
  113. package/components/atoms/table/simpleEvent/models/interfaces.ts +9 -9
  114. package/components/atoms/table/simpleInfo/SimpleInfo.vue +68 -68
  115. package/components/atoms/table/simpleInfo/models/interfaces.ts +4 -4
  116. package/components/atoms/table/simpleTable/SimpleTable.vue +296 -293
  117. package/components/atoms/table/simpleTable/models/interfaces.ts +10 -10
  118. package/components/atoms/tabs/Tabs.vue +215 -215
  119. package/components/atoms/tabs/VerticalTabs.vue +87 -87
  120. package/components/atoms/tabs/models/interfaces.ts +4 -4
  121. package/components/atoms/tabs/models/types.ts +1 -1
  122. package/components/atoms/tooltip/Models/interfaces.ts +4 -4
  123. package/components/atoms/tooltip/Signpost.vue +225 -225
  124. package/components/atoms/tooltip/Text.vue +37 -37
  125. package/components/atoms/tooltip/Tooltip.vue +57 -57
  126. package/components/atoms/tooltip/TooltipError.vue +113 -113
  127. package/components/atoms/wizard/Wizard.vue +442 -442
  128. package/components/atoms/wizard/models/enums.ts +8 -8
  129. package/components/atoms/wizard/models/interfaces.ts +48 -47
  130. package/components/atoms/wizard/step/Step.vue +112 -112
  131. package/components/atoms/wizard/utils/utils.ts +486 -407
  132. package/components/common/accordion/Accordion.vue +176 -176
  133. package/components/common/accordion/Recursion.vue +216 -216
  134. package/components/common/accordion/models/enums.ts +5 -5
  135. package/components/common/accordion/models/interfaces.ts +15 -15
  136. package/components/common/accordion/models/types.ts +1 -1
  137. package/components/common/accordion/utils/accordion.ts +31 -31
  138. package/components/common/adapterManager/AdapterManager.vue +715 -715
  139. package/components/common/adapterManager/AddAdapterModal.vue +555 -555
  140. package/components/common/adapterManager/config/index.ts +19 -19
  141. package/components/common/adapterManager/ui/NoSelectedAdapter.vue +39 -39
  142. package/components/common/adapterManager/ui/SecondTitle.vue +37 -37
  143. package/components/common/adapterManager/ui/actions/ActionsBar.vue +93 -93
  144. package/components/common/adapterManager/ui/actions/AddAdapterButton.vue +28 -28
  145. package/components/common/adapterManager/ui/actions/MoveDownAdapterButton.vue +33 -33
  146. package/components/common/adapterManager/ui/actions/MoveUpAdapterButton.vue +33 -33
  147. package/components/common/adapterManager/ui/actions/RemoveAdapterButton.vue +34 -34
  148. package/components/common/adapterManager/ui/actions/VerticalSeparator.vue +10 -10
  149. package/components/common/adapterManager/ui/table/Adapters.vue +91 -91
  150. package/components/common/adapterManager/ui/table/Header.vue +89 -89
  151. package/components/common/adapterManager/ui/table/Table.vue +167 -167
  152. package/components/common/browse/Browse.vue +182 -182
  153. package/components/common/browse/blocks/Container.vue +102 -102
  154. package/components/common/browse/blocks/contents/Files.vue +68 -68
  155. package/components/common/browse/blocks/info/Date.vue +21 -21
  156. package/components/common/browse/blocks/info/Size.vue +17 -17
  157. package/components/common/browse/blocks/info/Text.vue +16 -16
  158. package/components/common/browse/blocks/models/types.ts +1 -1
  159. package/components/common/browse/models/interfaces.ts +5 -5
  160. package/components/common/config/states.ts +81 -81
  161. package/components/common/context/Context.spec.ts +20 -20
  162. package/components/common/context/Context.vue +97 -97
  163. package/components/common/context/ContextRecursion.spec.ts +55 -55
  164. package/components/common/context/ContextRecursion.vue +251 -251
  165. package/components/common/context/models/interfaces.ts +26 -26
  166. package/components/common/details/DetailsItem.vue +106 -106
  167. package/components/common/details/DetailsList.vue +23 -23
  168. package/components/common/details/model/interfaces.ts +9 -9
  169. package/components/common/diagramMain/Diagram.vue +192 -192
  170. package/components/common/diagramMain/DiagramMain.vue +954 -990
  171. package/components/common/diagramMain/Header.vue +190 -190
  172. package/components/common/diagramMain/Highlights.vue +124 -124
  173. package/components/common/diagramMain/adapter/Adapter.vue +114 -114
  174. package/components/common/diagramMain/adapter/AdapterItem.vue +246 -246
  175. package/components/common/diagramMain/adapter/AdapterItems.vue +59 -59
  176. package/components/common/diagramMain/adapter/Block.vue +48 -48
  177. package/components/common/diagramMain/adapter/Contents.vue +110 -110
  178. package/components/common/diagramMain/adapter/Lines.vue +58 -58
  179. package/components/common/diagramMain/adapter/SecondBlock.vue +49 -49
  180. package/components/common/diagramMain/config/index.ts +51 -51
  181. package/components/common/diagramMain/config/initial.ts +37 -37
  182. package/components/common/diagramMain/modals/ManagePhysicalAdaptersModal.vue +236 -236
  183. package/components/common/diagramMain/modals/config/adapterModal.ts +111 -111
  184. package/components/common/diagramMain/modals/config/diagramConfig.ts +17 -17
  185. package/components/common/diagramMain/modals/config/index.ts +51 -57
  186. package/components/common/diagramMain/modals/config/initial.ts +181 -181
  187. package/components/common/diagramMain/modals/config/networkModal.ts +343 -343
  188. package/components/common/diagramMain/modals/config/portModal.ts +209 -209
  189. package/components/common/diagramMain/modals/config/switchModal.ts +172 -172
  190. package/components/common/diagramMain/modals/config/vCenterModal.ts +34 -34
  191. package/components/common/diagramMain/modals/config/vmKernelAdapter.ts +90 -90
  192. package/components/common/diagramMain/modals/editSettings/ConfirmTeamingSettingsModal.vue +41 -41
  193. package/components/common/diagramMain/modals/editSettings/EditSettings.vue +491 -491
  194. package/components/common/diagramMain/modals/editSettings/EditSettingsModal.vue +825 -825
  195. package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +211 -211
  196. package/components/common/diagramMain/modals/editSettings/tabs/Security.vue +183 -183
  197. package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +161 -161
  198. package/components/common/diagramMain/modals/editSettings/tabs/TeamingFailover.vue +166 -166
  199. package/components/common/diagramMain/modals/editSettings/tabs/TrafficShaping.vue +393 -393
  200. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +339 -339
  201. package/components/common/diagramMain/modals/migrateVmkernelAdapter/MigrateVmkernelAdapter.vue +531 -0
  202. package/components/common/diagramMain/modals/migrateVmkernelAdapter/config/steps.ts +114 -0
  203. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +161 -0
  204. package/components/common/diagramMain/modals/{steps → migrateVmkernelAdapter/steps}/SelectVmkernelAdapter.vue +158 -220
  205. package/components/common/diagramMain/modals/{steps → migrateVmkernelAdapter/steps}/VmkernelAdapterReadyComplete.vue +49 -53
  206. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +47 -0
  207. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings.ts +146 -0
  208. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter.ts +54 -0
  209. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/validations.ts +19 -0
  210. package/components/common/diagramMain/modals/utils/index.ts +9 -9
  211. package/components/common/diagramMain/modals/viewSettings/Info.vue +123 -123
  212. package/components/common/diagramMain/modals/viewSettings/ViewSettings.vue +171 -171
  213. package/components/common/diagramMain/modals/viewSettings/ViewSettingsModal.vue +93 -93
  214. package/components/common/diagramMain/models/enums.ts +26 -27
  215. package/components/common/diagramMain/models/interfaces.ts +564 -565
  216. package/components/common/diagramMain/models/types.ts +8 -9
  217. package/components/common/diagramMain/network/Block.vue +62 -62
  218. package/components/common/diagramMain/network/Contents.vue +253 -253
  219. package/components/common/diagramMain/network/Lines.vue +71 -71
  220. package/components/common/diagramMain/network/Network.vue +124 -124
  221. package/components/common/diagramMain/network/NoNetwork.vue +53 -53
  222. package/components/common/diagramMain/network/SecondBlock.vue +58 -58
  223. package/components/common/diagramMain/port/Port.vue +320 -320
  224. package/components/common/diagramMain/port/Ports.vue +41 -41
  225. package/components/common/diagramMain/switch/Switch.vue +82 -82
  226. package/components/common/diagramMain/switch/SwitchSelected.vue +35 -35
  227. package/components/common/diagramMain/utils/utils.ts +218 -218
  228. package/components/common/feedback/Buttons.vue +227 -227
  229. package/components/common/feedback/Message.vue +509 -509
  230. package/components/common/feedback/config/drawingPanel.ts +31 -31
  231. package/components/common/feedback/config/feedbackTabs.ts +24 -24
  232. package/components/common/feedback/models/interfaces.ts +19 -19
  233. package/components/common/feedback/models/types.ts +1 -1
  234. package/components/common/graph/Graph.vue +109 -109
  235. package/components/common/graph/utils/renderGraph.ts +389 -389
  236. package/components/common/headline/Headline.vue +32 -32
  237. package/components/common/help/navbar/left/Left.vue +164 -164
  238. package/components/common/help/navbar/left/models/interfaces.ts +6 -6
  239. package/components/common/help/navbar/right/Right.vue +139 -139
  240. package/components/common/help/navbar/right/models/interfaces.ts +4 -4
  241. package/components/common/home/Card.vue +63 -63
  242. package/components/common/home/ResourceBlock.vue +117 -117
  243. package/components/common/home/StatusContent.vue +47 -47
  244. package/components/common/home/alertsTable/AlertsTable.vue +105 -105
  245. package/components/common/home/alertsTable/config/config.ts +61 -61
  246. package/components/common/home/alertsTable/models/enums.ts +11 -11
  247. package/components/common/home/alertsTable/models/interfaces.ts +19 -19
  248. package/components/common/home/alertsTable/models/types.ts +18 -18
  249. package/components/common/home/config/configResourceMeterBlock.ts +25 -25
  250. package/components/common/home/models/interfaces.ts +59 -59
  251. package/components/common/home/models/types.ts +18 -18
  252. package/components/common/home/servicesTable/ServicesTable.vue +79 -79
  253. package/components/common/home/servicesTable/config/config.ts +62 -62
  254. package/components/common/mainNavigationPanel/MainNavigationPanel.vue +359 -359
  255. package/components/common/mainNavigationPanel/models/interfaces.ts +6 -6
  256. package/components/common/mainNavigationPanel/models/types.ts +1 -1
  257. package/components/common/modals/Confirmation.vue +97 -97
  258. package/components/common/modals/Rename.vue +165 -165
  259. package/components/common/modals/config/defaultForm.ts +18 -18
  260. package/components/common/modals/config/renameLabelWidth.ts +3 -3
  261. package/components/common/modals/models/interfaces.ts +5 -5
  262. package/components/common/monitor/advanced/Advanced.vue +243 -236
  263. package/components/common/monitor/advanced/GraphView.vue +180 -180
  264. package/components/common/monitor/advanced/models/interfaces.ts +8 -8
  265. package/components/common/monitor/advanced/models/types.ts +1 -1
  266. package/components/common/monitor/advanced/table/Table.vue +90 -90
  267. package/components/common/monitor/advanced/table/config/performanceDatatable.ts +116 -116
  268. package/components/common/monitor/advanced/table/models/interfaces.ts +12 -12
  269. package/components/common/monitor/advanced/table/models/types.ts +10 -10
  270. package/components/common/monitor/advanced/tools/Tools.vue +436 -428
  271. package/components/common/monitor/advanced/tools/chartOptionsModal/ChartOptionsModal.vue +502 -490
  272. package/components/common/monitor/advanced/tools/chartOptionsModal/Notification.vue +33 -33
  273. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/Actions.vue +150 -150
  274. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/saveOptionsModal/SaveOptionsModal.vue +76 -76
  275. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/utils/optionsActions.ts +25 -25
  276. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/Counters.vue +104 -100
  277. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/Table.vue +136 -136
  278. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/config/tableConfig.ts +71 -71
  279. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/config/utils.ts +689 -689
  280. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/models/interfaces.ts +28 -28
  281. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/models/types.ts +5 -5
  282. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/Timespan.vue +83 -79
  283. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/form/Form.vue +501 -501
  284. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/form/config/dateForm.ts +59 -59
  285. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/Object.vue +197 -176
  286. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/config/objectTable.ts +54 -54
  287. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/models/interfaces.ts +4 -4
  288. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/models/types.ts +1 -1
  289. package/components/common/monitor/advanced/tools/chartOptionsModal/metrics/Metrics.vue +42 -42
  290. package/components/common/monitor/advanced/tools/chartOptionsModal/metrics/config/optionsMetrics.ts +116 -116
  291. package/components/common/monitor/advanced/tools/chartOptionsModal/models/interfaces.ts +19 -19
  292. package/components/common/monitor/advanced/tools/chartOptionsModal/models/types.ts +3 -3
  293. package/components/common/monitor/advanced/tools/config/advancedToolbar.ts +125 -118
  294. package/components/common/monitor/advanced/tools/models/interfaces.ts +4 -4
  295. package/components/common/monitor/advanced/tools/utils/countCores.ts +7 -7
  296. package/components/common/monitor/config/getValidDateByOption.ts +76 -76
  297. package/components/common/monitor/models/interfaces.ts +23 -23
  298. package/components/common/monitor/overview/Overview.vue +470 -470
  299. package/components/common/monitor/overview/filters/Filters.vue +221 -220
  300. package/components/common/monitor/overview/filters/config/filterOptions.ts +81 -80
  301. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModal.vue +241 -241
  302. package/components/common/monitor/overview/filters/customIntervalModal/config/dateChecker.ts +37 -37
  303. package/components/common/monitor/overview/filters/models/interfaces.ts +7 -7
  304. package/components/common/monitor/overview/filters/models/types.ts +3 -3
  305. package/components/common/perPage/PerPage.vue +51 -51
  306. package/components/common/recursionTree/models/interfaces.ts +19 -19
  307. package/components/common/resource/models/interfaces.ts +9 -9
  308. package/components/common/resource/models/types.ts +1 -1
  309. package/components/common/resource/progressBlock/ProgressBlock.vue +105 -105
  310. package/components/common/resource/simple/Simple.vue +58 -58
  311. package/components/common/resource/simple/models/enums.ts +5 -5
  312. package/components/common/resource/utils.ts +33 -33
  313. package/components/common/select/button/ButtonDropdown.vue +100 -100
  314. package/components/common/select/button/models/interfaces.ts +6 -6
  315. package/components/common/select/radio/RadioGroup.vue +108 -108
  316. package/components/common/select/radio/models/interfaces.ts +8 -8
  317. package/components/common/shortcuts/Block.vue +83 -83
  318. package/components/common/shortcuts/Category.vue +40 -40
  319. package/components/common/shortcuts/Shortcuts.vue +44 -44
  320. package/components/common/shortcuts/models/interfaces.ts +10 -10
  321. package/components/common/spiceConsole/Drawer.vue +241 -241
  322. package/components/common/spiceConsole/SpiceConsole.vue +83 -83
  323. package/components/common/spiceConsole/keyboard/Keyboard.vue +402 -402
  324. package/components/common/spiceConsole/keyboard/config/keyboardRows.ts +891 -891
  325. package/components/common/spiceConsole/keyboard/models/interfaces.ts +17 -17
  326. package/components/common/spiceConsole/models/types.ts +1 -1
  327. package/components/common/split/horizontal/Horizontal.vue +306 -306
  328. package/components/common/split/horizontal/models/interfaces.ts +5 -5
  329. package/components/common/split/vertical/Vertical.vue +213 -213
  330. package/components/common/split/vertical/models/interfaces.ts +3 -3
  331. package/components/common/tools/Actions.vue +167 -167
  332. package/components/common/tools/models/interfaces.ts +6 -6
  333. package/components/common/tools/viewSettings/ViewSettings.vue +71 -0
  334. package/components/common/tools/viewSettings/models/interfaces.ts +9 -0
  335. package/components/common/vm/actions/add/Add.vue +687 -687
  336. package/components/common/vm/actions/add/FolderTreeView.vue +83 -83
  337. package/components/common/vm/actions/add/utils.ts +118 -118
  338. package/components/common/vm/actions/clone/models/interfaces.ts +7 -7
  339. package/components/common/vm/actions/common/config/capabilities.ts +339 -339
  340. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +267 -267
  341. package/components/common/vm/actions/common/customizeHardware/config/navItems.ts +19 -19
  342. package/components/common/vm/actions/common/customizeHardware/models/interfaces.ts +7 -7
  343. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +681 -681
  344. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +203 -203
  345. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/models/interfaces.ts +8 -8
  346. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +130 -130
  347. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/config/options.ts +20 -20
  348. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +247 -247
  349. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/config/fileTypes.ts +9 -9
  350. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/config/options.ts +11 -11
  351. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +55 -55
  352. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/models/types.ts +1 -1
  353. package/components/common/vm/actions/common/customizeHardware/virtualHardware/config/binaryOptions.ts +12 -12
  354. package/components/common/vm/actions/common/customizeHardware/virtualHardware/config/dropdownItems.ts +52 -52
  355. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuHotPlug.vue +49 -49
  356. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuModel.vue +220 -220
  357. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Hv.vue +93 -93
  358. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Iommu.vue +54 -54
  359. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/MaxCpu.vue +105 -105
  360. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Pc.vue +54 -54
  361. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Sa.vue +104 -104
  362. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/config/cpuOptions.ts +19 -19
  363. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +155 -155
  364. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/config/options.ts +28 -28
  365. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/tooltip/Tooltip.vue +58 -58
  366. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/MemoryHotPlug.vue +53 -53
  367. package/components/common/vm/actions/common/customizeHardware/virtualHardware/models/interfaces.ts +125 -125
  368. package/components/common/vm/actions/common/customizeHardware/virtualHardware/models/types.ts +4 -4
  369. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/DiskFile.vue +24 -24
  370. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/Location.vue +171 -171
  371. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/MaximumSize.vue +27 -27
  372. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +447 -447
  373. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/cache/Cache.vue +80 -80
  374. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/cache/config/options.ts +7 -7
  375. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/limitIops/LimitIops.vue +151 -151
  376. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/limitIops/config/options.ts +28 -28
  377. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/Mode.vue +87 -87
  378. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/config/options.ts +18 -18
  379. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/provisioning/Provisioning.vue +87 -87
  380. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/provisioning/config/options.ts +15 -15
  381. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/Sharing.vue +85 -85
  382. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/config/options.ts +12 -12
  383. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/Location.vue +141 -141
  384. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +288 -288
  385. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/adapterType/AdapterType.vue +86 -86
  386. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/adapterType/config/options.ts +9 -9
  387. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +140 -140
  388. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/config/options.ts +11 -11
  389. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +157 -157
  390. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/config/options.ts +7 -7
  391. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIo.vue +44 -44
  392. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +49 -49
  393. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/config/options.ts +10 -10
  394. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +27 -27
  395. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +41 -41
  396. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/typeSelection/TypeSelection.vue +56 -56
  397. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbController.vue +77 -77
  398. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/config/options.ts +6 -6
  399. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/InputDevices.vue +21 -21
  400. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +27 -27
  401. package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/config/options.ts +33 -33
  402. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/Graphics.vue +45 -45
  403. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/TotalVideoMemory.vue +120 -120
  404. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCard.vue +177 -177
  405. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/config/options.ts +11 -11
  406. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/model/Model.vue +57 -57
  407. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/model/config/options.ts +10 -10
  408. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +82 -82
  409. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/config/options.ts +14 -14
  410. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +181 -181
  411. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptions.vue +110 -110
  412. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/Menu.vue +45 -45
  413. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/Secure.vue +45 -45
  414. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +50 -50
  415. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/config/config.ts +14 -14
  416. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +83 -83
  417. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/config/config.ts +11 -11
  418. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/models/interfaces.ts +8 -8
  419. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +181 -181
  420. package/components/common/vm/actions/common/customizeHardware/vmoptions/models/interfaces.ts +34 -34
  421. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/FileTransfer.vue +51 -51
  422. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/FolderSharing.vue +50 -50
  423. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/PlaybackCompression.vue +51 -51
  424. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/PowerControl.vue +49 -49
  425. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/imgCompression/ImgCompression.vue +84 -84
  426. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/imgCompression/config/config.ts +14 -14
  427. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/jpegCompression/JpegCompression.vue +84 -84
  428. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/jpegCompression/config/config.ts +12 -12
  429. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/config/config.ts +6 -6
  430. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/mouseMode/MouseMode.vue +52 -52
  431. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/mouseMode/config/config.ts +11 -11
  432. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +136 -136
  433. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/models/interfaces.ts +5 -5
  434. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/utils.ts +12 -12
  435. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/sharePolicy/SharePolicy.vue +52 -52
  436. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/sharePolicy/config/config.ts +11 -11
  437. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/StreamingMode.vue +84 -84
  438. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/config/config.ts +12 -12
  439. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/type/Type.vue +84 -84
  440. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/type/config/config.ts +7 -7
  441. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +56 -56
  442. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/config/config.ts +14 -14
  443. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/zlibCompression/ZlibCompression.vue +84 -84
  444. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/zlibCompression/config/config.ts +12 -12
  445. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/Tools.vue +63 -63
  446. package/components/common/vm/actions/common/models/enums.ts +89 -89
  447. package/components/common/vm/actions/common/models/interfaces.ts +139 -139
  448. package/components/common/vm/actions/common/models/types.ts +65 -65
  449. package/components/common/vm/actions/common/readyToComplete/ReadyToComplete.vue +15 -15
  450. package/components/common/vm/actions/common/select/compatibility/Compatibility.vue +151 -151
  451. package/components/common/vm/actions/common/select/computeResource/ComputeResource.spec.ts +479 -479
  452. package/components/common/vm/actions/common/select/computeResource/ComputeResource.vue +170 -170
  453. package/components/common/vm/actions/common/select/computeResource/TreeView.vue +126 -126
  454. package/components/common/vm/actions/common/select/createType/CreateType.vue +61 -61
  455. package/components/common/vm/actions/common/select/createType/config/items.ts +26 -26
  456. package/components/common/vm/actions/common/select/models/interfaces.ts +32 -32
  457. package/components/common/vm/actions/common/select/models/types.ts +46 -46
  458. package/components/common/vm/actions/common/select/name/Name.vue +215 -215
  459. package/components/common/vm/actions/common/select/os/os.vue +221 -221
  460. package/components/common/vm/actions/common/select/storage/Storage.vue +194 -194
  461. package/components/common/vm/actions/common/select/storage/models/types.ts +15 -15
  462. package/components/common/vm/actions/editSettings/EditSettings.vue +316 -316
  463. package/components/common/vm/actions/editSettings/models/types.ts +23 -23
  464. package/components/common/vm/actions/editSettings/utils.ts +45 -45
  465. package/components/common/vm/actions/models/interfaces.ts +6 -6
  466. package/components/common/vm/actions/models/types.ts +11 -11
  467. package/components/common/vm/actions/utils.ts +244 -244
  468. package/components/common/vm/models/interfaces.ts +9 -9
  469. package/components/common/wizards/datastore/add/Add.vue +383 -383
  470. package/components/common/wizards/datastore/add/config/stepItems.ts +160 -160
  471. package/components/common/wizards/datastore/add/local/Local.vue +67 -67
  472. package/components/common/wizards/datastore/add/local/createName/CreateName.vue +159 -159
  473. package/components/common/wizards/datastore/add/local/createName/config/defaultForm.ts +15 -15
  474. package/components/common/wizards/datastore/add/models/interfaces.ts +35 -35
  475. package/components/common/wizards/datastore/add/models/types.ts +14 -14
  476. package/components/common/wizards/datastore/add/nfs/Nfs.vue +94 -94
  477. package/components/common/wizards/datastore/add/nfs/accessibility/Accessibility.vue +95 -95
  478. package/components/common/wizards/datastore/add/nfs/accessibility/config/tabsPannel.ts +24 -24
  479. package/components/common/wizards/datastore/add/nfs/accessibility/models/interfaces.ts +9 -9
  480. package/components/common/wizards/datastore/add/nfs/accessibility/models/types.ts +5 -5
  481. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/TablesView.vue +141 -141
  482. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/config/compatibleTable.ts +54 -54
  483. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/config/hostsTableItems.ts +75 -75
  484. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/config/incompatibleTable.ts +68 -68
  485. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/config/tableKeys.ts +15 -15
  486. package/components/common/wizards/datastore/add/nfs/configuration/Configuration.vue +377 -377
  487. package/components/common/wizards/datastore/add/nfs/configuration/config/defaultForm.ts +33 -33
  488. package/components/common/wizards/datastore/add/nfs/configuration/models/interfaces.ts +12 -12
  489. package/components/common/wizards/datastore/add/nfs/configuration/serversList/DeletePopover.vue +97 -97
  490. package/components/common/wizards/datastore/add/nfs/configuration/serversList/ServersList.vue +123 -123
  491. package/components/common/wizards/datastore/add/nfs/configuration/serversList/config/serversListConfig.ts +41 -41
  492. package/components/common/wizards/datastore/add/nfs/configuration/serversList/config/tableKeys.ts +3 -3
  493. package/components/common/wizards/datastore/add/nfs/configuration/serversList/models/interfaces.ts +11 -11
  494. package/components/common/wizards/datastore/add/nfs/configuration/serversList/models/types.ts +1 -1
  495. package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/config/radioOptions.ts +24 -24
  496. package/components/common/wizards/datastore/add/nfs/version/Version.vue +42 -42
  497. package/components/common/wizards/datastore/add/nfs/version/config/versionOptions.ts +20 -20
  498. package/components/common/wizards/datastore/add/readyComplete/ReadyComplete.vue +78 -78
  499. package/components/common/wizards/datastore/add/readyComplete/config/propertiesDetails.ts +165 -165
  500. package/components/common/wizards/datastore/add/readyComplete/models/interfaces.ts +4 -4
  501. package/components/common/wizards/datastore/add/sharedStorm/SharedStorm.vue +85 -85
  502. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/DeviceSelection.vue +447 -447
  503. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/config/defaultForm.ts +18 -18
  504. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/config/selectOptions.ts +14 -14
  505. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/HostTable.vue +131 -131
  506. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/config/hostsTable.ts +87 -87
  507. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/config/tableKeys.ts +11 -11
  508. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/models/interfaces.ts +55 -55
  509. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/models/types.ts +14 -14
  510. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/PartitionConfiguration.vue +230 -230
  511. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/config/selectOptions.ts +46 -46
  512. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/graphicTooltip/graphicTooltip.vue +64 -64
  513. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/sizeGraphic/sizeGraphic.vue +225 -225
  514. package/components/common/wizards/datastore/add/sharedStorm/version/Version.vue +39 -39
  515. package/components/common/wizards/datastore/add/sharedStorm/version/config/versionOptions.ts +21 -21
  516. package/components/common/wizards/datastore/add/types/Types.vue +77 -77
  517. package/components/common/wizards/datastore/add/types/config/typeOptions.ts +39 -39
  518. package/components/common/wizards/datastore/add/utils.ts +67 -67
  519. package/components/common/wizards/network/add/Add.vue +874 -0
  520. package/components/common/{addNetworking → wizards/network/add}/config/index.ts +33 -47
  521. package/components/common/{addNetworking → wizards/network/add}/config/initialData.ts +63 -78
  522. package/components/common/{addNetworking → wizards/network/add}/config/portPropertiesStep.ts +31 -31
  523. package/components/common/{addNetworking → wizards/network/add}/config/selectSwitch.ts +19 -19
  524. package/components/common/{addNetworking → wizards/network/add}/config/sendData.ts +102 -102
  525. package/components/common/{addNetworking/config/addNetworkingSteps.ts → wizards/network/add/config/steps.ts} +485 -438
  526. package/components/common/{addNetworking → wizards/network/add}/mappers/mappers.ts +166 -166
  527. package/components/common/{addNetworking → wizards/network/add}/modals/SelectNetwork.vue +149 -149
  528. package/components/common/{addNetworking → wizards/network/add}/modals/SelectStandardSwitch.vue +125 -125
  529. package/components/common/{addNetworking → wizards/network/add}/modals/SelectSwitch.vue +114 -114
  530. package/components/common/wizards/network/add/models/enums.ts +17 -0
  531. package/components/common/{addNetworking → wizards/network/add}/models/interfaces.ts +201 -208
  532. package/components/common/wizards/network/add/models/types.ts +2 -0
  533. package/components/common/wizards/network/add/steps/ConnectionSettings.vue +148 -0
  534. package/components/common/{addNetworking → wizards/network/add}/steps/CreateStandardSwitch.vue +84 -91
  535. package/components/common/wizards/network/add/steps/IpFourSettings.vue +245 -0
  536. package/components/common/{addNetworking → wizards/network/add}/steps/PhysicalAdapter.vue +13 -24
  537. package/components/common/{addNetworking → wizards/network/add}/steps/PortProperties.vue +369 -492
  538. package/components/common/{addNetworking → wizards/network/add}/steps/ReadyComplete.vue +20 -29
  539. package/components/common/{addNetworking → wizards/network/add}/steps/SelectConnectionType.vue +94 -106
  540. package/components/common/{addNetworking → wizards/network/add}/steps/SelectedTargetDevice.vue +451 -557
  541. package/components/common/wizards/network/add/utils/index.ts +4 -0
  542. package/components/common/wizards/network/add/validations/common.ts +58 -0
  543. package/components/common/wizards/network/add/validations/connectionSettings.ts +75 -0
  544. package/components/common/wizards/network/add/validations/createStandardSwitch.ts +58 -0
  545. package/components/common/wizards/network/add/validations/ipFourSettings.ts +188 -0
  546. package/components/common/wizards/network/add/validations/networkValidation.ts +73 -0
  547. package/components/common/wizards/network/add/validations/portProperties.ts +87 -0
  548. package/components/common/wizards/network/add/validations/targetDevice.ts +113 -0
  549. package/components/common/wizards/network/add/validations/validations.ts +43 -0
  550. package/components/common/wizards/vm/common/computeResource/TreeView.vue +61 -61
  551. package/components/common/wizards/vm/common/readyComplete/ReadyComplete.vue +15 -15
  552. package/components/common/wizards/vm/common/tooltip/Tooltip.vue +82 -82
  553. package/components/common/wizards/vm/common/validation/compatibility/Compatibility.vue +62 -62
  554. package/components/common/wizards/vm/common/validation/models/enums.ts +5 -5
  555. package/components/common/wizards/vm/migrate/Migrate.vue +270 -270
  556. package/components/common/wizards/vm/migrate/config/constructDataReady.ts +100 -100
  557. package/components/common/wizards/vm/migrate/contentHeading/ContentHeading.vue +106 -106
  558. package/components/common/wizards/vm/migrate/contentHeading/models/interfaces.ts +7 -7
  559. package/components/common/wizards/vm/migrate/models/enums.ts +6 -6
  560. package/components/common/wizards/vm/migrate/models/interfaces.ts +24 -24
  561. package/components/common/wizards/vm/migrate/models/types.ts +5 -5
  562. package/components/common/wizards/vm/migrate/select/computeResource/ComputeResource.vue +219 -219
  563. package/components/common/wizards/vm/migrate/select/computeResource/config/tabsPannel.ts +28 -28
  564. package/components/common/wizards/vm/migrate/select/computeResource/models/enums.ts +6 -6
  565. package/components/common/wizards/vm/migrate/select/computeResource/models/interfaces.ts +30 -30
  566. package/components/common/wizards/vm/migrate/select/computeResource/models/types.ts +12 -12
  567. package/components/common/wizards/vm/migrate/select/computeResource/tableView/TableView.vue +142 -142
  568. package/components/common/wizards/vm/migrate/select/computeResource/tableView/config/clusterTable.ts +114 -114
  569. package/components/common/wizards/vm/migrate/select/computeResource/tableView/config/hostTable.ts +124 -124
  570. package/components/common/wizards/vm/migrate/select/computeResource/tableView/config/resourcePoolTable.ts +115 -115
  571. package/components/common/wizards/vm/migrate/select/computeResource/tableView/config/tableKeys.ts +65 -65
  572. package/components/common/wizards/vm/migrate/select/computeResource/tableView/config/vappsTable.ts +66 -66
  573. package/components/common/wizards/vm/migrate/select/computeResource/tableView/models/interfaces.ts +29 -29
  574. package/components/common/wizards/vm/migrate/select/computeResource/tableView/models/types.ts +60 -60
  575. package/components/common/wizards/vm/migrate/select/network/Network.vue +51 -51
  576. package/components/common/wizards/vm/migrate/select/network/table/disk/Disk.vue +84 -84
  577. package/components/common/wizards/vm/migrate/select/network/table/disk/config/advancedTable.ts +77 -77
  578. package/components/common/wizards/vm/migrate/select/network/table/disk/config/basicTable.ts +71 -71
  579. package/components/common/wizards/vm/migrate/select/network/table/disk/config/tableKeys.ts +10 -10
  580. package/components/common/wizards/vm/migrate/select/network/table/disk/models/interfaces.ts +1 -1
  581. package/components/common/wizards/vm/migrate/select/network/table/disk/models/types.ts +12 -12
  582. package/components/common/wizards/vm/migrate/select/priority/Priority.vue +39 -39
  583. package/components/common/wizards/vm/migrate/select/priority/config/typeOptions.ts +21 -21
  584. package/components/common/wizards/vm/migrate/select/priority/models/types.ts +1 -1
  585. package/components/common/wizards/vm/migrate/select/storage/Storage.vue +202 -202
  586. package/components/common/wizards/vm/migrate/select/storage/config/tabsPannel.ts +18 -18
  587. package/components/common/wizards/vm/migrate/select/storage/configure/batch/Batch.vue +76 -76
  588. package/components/common/wizards/vm/migrate/select/storage/configure/disk/Disk.vue +86 -86
  589. package/components/common/wizards/vm/migrate/select/storage/diskFormat/DiskFormat.vue +68 -68
  590. package/components/common/wizards/vm/migrate/select/storage/diskFormat/config/formatOptions.ts +26 -26
  591. package/components/common/wizards/vm/migrate/select/storage/models/enums.ts +6 -6
  592. package/components/common/wizards/vm/migrate/select/storage/models/interfaces.ts +14 -14
  593. package/components/common/wizards/vm/migrate/select/storage/models/types.ts +9 -9
  594. package/components/common/wizards/vm/migrate/select/storage/policy/Policy.vue +83 -83
  595. package/components/common/wizards/vm/migrate/select/storage/selectedPerDisk/SelectedPerDisk.vue +87 -87
  596. package/components/common/wizards/vm/migrate/select/storage/table/datastore/Datastore.vue +113 -113
  597. package/components/common/wizards/vm/migrate/select/storage/table/datastore/config/config.ts +154 -154
  598. package/components/common/wizards/vm/migrate/select/storage/table/datastore/models/types.ts +15 -15
  599. package/components/common/wizards/vm/migrate/select/storage/table/disk/Disk.vue +84 -84
  600. package/components/common/wizards/vm/migrate/select/storage/table/disk/config/config.ts +123 -123
  601. package/components/common/wizards/vm/migrate/select/storage/table/disk/config/tableKeys.ts +15 -15
  602. package/components/common/wizards/vm/migrate/select/storage/table/disk/models/interfaces.ts +24 -24
  603. package/components/common/wizards/vm/migrate/select/storage/table/disk/models/types.ts +13 -13
  604. package/components/common/wizards/vm/migrate/select/targetServer/config/tabsPannel.ts +18 -18
  605. package/components/common/wizards/vm/migrate/select/targetServer/models/types.ts +1 -1
  606. package/components/common/wizards/vm/migrate/select/targetServer/new/New.vue +287 -287
  607. package/components/common/wizards/vm/migrate/select/targetServer/new/config/defaultForm.ts +33 -33
  608. package/components/common/wizards/vm/migrate/select/targetServer/saved/Saved.vue +27 -27
  609. package/components/common/wizards/vm/migrate/select/targetServer/targetServer.vue +41 -41
  610. package/components/common/wizards/vm/migrate/select/type/Type.vue +38 -38
  611. package/components/common/wizards/vm/migrate/select/type/config/typeOptions.ts +41 -41
  612. package/components/common/wizards/vm/migrate/select/type/models/interfaces.ts +5 -5
  613. package/components/common/wizards/vm/migrate/utils.ts +80 -80
  614. package/components/content/Hint.vue +24 -24
  615. package/components/layout/theHeader/models/enums.ts +9 -9
  616. package/components/models/interfaces.ts +14 -14
  617. package/composables/deepCopy.ts +21 -21
  618. package/composables/useDiff.ts +15 -15
  619. package/composables/useLocalStorage.ts +45 -45
  620. package/composables/useThrottle.ts +32 -32
  621. package/composables/useUniqueId.ts +5 -5
  622. package/config/regExp.ts +13 -13
  623. package/eslint/index.js +15 -15
  624. package/eslint/no-import-type.js +17 -17
  625. package/eslint/no-invalid-type-prefix.js +32 -32
  626. package/models/composables/useMyFetch/types.ts +1 -1
  627. package/models/enums.ts +21 -21
  628. package/models/plugins/date/interfaces.ts +5 -5
  629. package/models/plugins/date/types.ts +1 -1
  630. package/models/plugins/validation/interfaces.ts +21 -21
  631. package/models/plugins/validation/types.ts +1 -1
  632. package/models/store/host/interfaces.ts +38 -38
  633. package/models/store/network/interfaces.ts +13 -13
  634. package/models/store/vm/interfaces.ts +213 -213
  635. package/models/types.ts +15 -15
  636. package/modules/fixContentBuild/index.ts +92 -92
  637. package/modules/fixSpiceConsoleBuild/index.ts +28 -28
  638. package/modules/replaceEnv/index.ts +40 -40
  639. package/nuxt.config.ts +8 -8
  640. package/package.json +41 -41
  641. package/plugins/binary.ts +122 -122
  642. package/plugins/date.ts +179 -179
  643. package/plugins/recursion.ts +230 -230
  644. package/plugins/spice-console/spice.console.ts +18 -18
  645. package/plugins/text.ts +48 -48
  646. package/plugins/validation.ts +172 -172
  647. package/public/spice-console/application/WorkerProcess.js +3350 -3350
  648. package/public/spice-console/application/WorkerProcess_back.js +3144 -3144
  649. package/public/spice-console/application/WorkerProcess_meta.js +3102 -3102
  650. package/public/spice-console/application/WorkerProcess_reverse.js +3214 -3214
  651. package/public/spice-console/application/agent.js +175 -175
  652. package/public/spice-console/application/application.js +641 -641
  653. package/public/spice-console/application/checkActivity.js +50 -50
  654. package/public/spice-console/application/clientgui.js +842 -842
  655. package/public/spice-console/application/clipboard/clipboarddataparser.js +92 -92
  656. package/public/spice-console/application/clipboard/local/localClipboard.js +110 -110
  657. package/public/spice-console/application/clipboard.js +82 -82
  658. package/public/spice-console/application/imagecache.js +81 -81
  659. package/public/spice-console/application/inputmanager.js +270 -270
  660. package/public/spice-console/application/packetfactory.js +202 -202
  661. package/public/spice-console/application/packetfilter.js +103 -103
  662. package/public/spice-console/application/packetprocess.js +75 -75
  663. package/public/spice-console/application/rasteroperation.js +118 -118
  664. package/public/spice-console/application/spiceconnection.js +197 -197
  665. package/public/spice-console/application/stream.js +67 -67
  666. package/public/spice-console/application/virtualmouse.js +109 -109
  667. package/public/spice-console/keymaps/keyevent.js +36 -36
  668. package/public/spice-console/keymaps/keymap.js +229 -229
  669. package/public/spice-console/keymaps/keymapes.js +375 -375
  670. package/public/spice-console/keymaps/keymapesObj.js +316 -316
  671. package/public/spice-console/keymaps/keymapus.js +317 -317
  672. package/public/spice-console/keymaps/scanCodeObjModifier.js +65 -65
  673. package/public/spice-console/keymaps/scanCodeObjProvider.js +60 -60
  674. package/public/spice-console/lib/AsyncConsumer.js +204 -204
  675. package/public/spice-console/lib/AsyncWorker.js +60 -60
  676. package/public/spice-console/lib/CollisionDetector.js +27 -27
  677. package/public/spice-console/lib/DataLogger.js +197 -197
  678. package/public/spice-console/lib/GenericObjectPool.js +152 -152
  679. package/public/spice-console/lib/GlobalPool.js +114 -114
  680. package/public/spice-console/lib/ImageUncompressor.js +138 -138
  681. package/public/spice-console/lib/IntegrationBenchmark.js +64 -64
  682. package/public/spice-console/lib/PacketWorkerIdentifier.js +107 -107
  683. package/public/spice-console/lib/SyncAsyncHandler.js +46 -46
  684. package/public/spice-console/lib/base64.js +298 -298
  685. package/public/spice-console/lib/biginteger.js +1640 -1640
  686. package/public/spice-console/lib/bowser.js +276 -276
  687. package/public/spice-console/lib/decoder/dixie.js +7930 -7930
  688. package/public/spice-console/lib/decoder/jmuxer.js +2815 -2815
  689. package/public/spice-console/lib/displayRouter.js +83 -83
  690. package/public/spice-console/lib/encrypt.js +191 -191
  691. package/public/spice-console/lib/flipper.js +39 -39
  692. package/public/spice-console/lib/graphic.js +1230 -1230
  693. package/public/spice-console/lib/graphicdebug.js +223 -223
  694. package/public/spice-console/lib/images/bitmap.js +194 -194
  695. package/public/spice-console/lib/images/jsquic_family.js +83 -83
  696. package/public/spice-console/lib/images/jsquic_rgba.js +342 -342
  697. package/public/spice-console/lib/images/jsquic_uncompress.js +529 -529
  698. package/public/spice-console/lib/images/lz.js +717 -717
  699. package/public/spice-console/lib/images/png.js +275 -275
  700. package/public/spice-console/lib/jgestures.min.js +43 -43
  701. package/public/spice-console/lib/jquery-2.0.3.js +8829 -8829
  702. package/public/spice-console/lib/jquery-mousewheel.js +83 -83
  703. package/public/spice-console/lib/jquery-visibility.min.js +1 -1
  704. package/public/spice-console/lib/jsbn.js +578 -578
  705. package/public/spice-console/lib/jsbn2.js +675 -675
  706. package/public/spice-console/lib/lodash.4.0.0.min.js +136 -136
  707. package/public/spice-console/lib/modernizr.js +39 -39
  708. package/public/spice-console/lib/pixastic.js +3244 -3244
  709. package/public/spice-console/lib/prettyprint.js +794 -794
  710. package/public/spice-console/lib/prng4.js +64 -64
  711. package/public/spice-console/lib/queue.js +259 -259
  712. package/public/spice-console/lib/rng.js +87 -87
  713. package/public/spice-console/lib/runqueue.js +103 -103
  714. package/public/spice-console/lib/sha1.js +124 -124
  715. package/public/spice-console/lib/stuckkeyshandler.js +122 -122
  716. package/public/spice-console/lib/timelapsedetector.js +62 -62
  717. package/public/spice-console/lib/utils.js +327 -327
  718. package/public/spice-console/lib/virtualjoystick.js +370 -370
  719. package/public/spice-console/network/busconnection.js +195 -195
  720. package/public/spice-console/network/clusternodechooser.js +49 -49
  721. package/public/spice-console/network/connectioncontrol.js +60 -60
  722. package/public/spice-console/network/packetcontroller.js +62 -62
  723. package/public/spice-console/network/packetextractor.js +73 -73
  724. package/public/spice-console/network/packetlinkfactory.js +64 -64
  725. package/public/spice-console/network/packetreassembler.js +77 -77
  726. package/public/spice-console/network/reassemblerfactory.js +39 -39
  727. package/public/spice-console/network/sizedefiner.js +86 -86
  728. package/public/spice-console/network/socket.js +120 -120
  729. package/public/spice-console/network/socketqueue.js +95 -95
  730. package/public/spice-console/network/websocketwrapper.js +75 -75
  731. package/public/spice-console/process/busprocess.js +309 -309
  732. package/public/spice-console/process/cursorprocess.js +110 -110
  733. package/public/spice-console/process/displaypreprocess.js +152 -152
  734. package/public/spice-console/process/displayprocess.js +210 -210
  735. package/public/spice-console/process/inputprocess.js +203 -203
  736. package/public/spice-console/process/mainprocess.js +78 -78
  737. package/public/spice-console/process/playbackprocess.js +233 -233
  738. package/public/spice-console/run.js +180 -180
  739. package/public/spice-console/spiceobjects/generated/protocol.js +537 -537
  740. package/public/spice-console/spiceobjects/spiceobjects.js +3474 -3474
  741. package/public/spice-console/swcanvas/swcanvas.js +82 -82
  742. package/public/spice-console/tools/generate.php +269 -269
  743. package/public/spice-console/tools/generateKeyboardLayout.php +63 -63
  744. package/public/spice-console/tools/generateSpiceObject.php +81 -81
  745. package/tsconfig.json +4 -4
  746. package/utils/base64.ts +34 -34
  747. package/utils/notification.ts +22 -22
  748. package/components/common/addNetworking/AddNetworking.vue +0 -1123
  749. package/components/common/addNetworking/Wizard.vue +0 -286
  750. package/components/common/addNetworking/config/temporaryData.ts +0 -8
  751. package/components/common/addNetworking/config/validation.ts +0 -23
  752. package/components/common/addNetworking/models/enums.ts +0 -7
  753. package/components/common/addNetworking/models/types.ts +0 -13
  754. package/components/common/addNetworking/steps/ConnectionSettings.vue +0 -269
  755. package/components/common/addNetworking/steps/Header.vue +0 -53
  756. package/components/common/addNetworking/steps/IpFourSettings.vue +0 -361
  757. package/components/common/addNetworking/utils/index.ts +0 -212
  758. package/components/common/diagramMain/modals/MigrateVmkernelAdapter.vue +0 -603
  759. package/components/common/diagramMain/modals/config/migrateVmkernelAdapterSteps.ts +0 -81
  760. package/components/common/diagramMain/modals/config/validation.ts +0 -3
  761. package/components/common/diagramMain/modals/steps/ConnectionSettings.vue +0 -221
  762. package/components/common/diagramMain/modals/steps/Header.vue +0 -60
@@ -1,578 +1,578 @@
1
- /*
2
- Copyright (c) 2016 eyeOS
3
-
4
- This file is part of Open365.
5
-
6
- Open365 is free software: you can redistribute it and/or modify
7
- it under the terms of the GNU Affero General Public License as
8
- published by the Free Software Foundation, either version 3 of the
9
- License, or (at your option) any later version.
10
-
11
- This program is distributed in the hope that it will be useful,
12
- but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
- GNU Affero General Public License for more details.
15
-
16
- You should have received a copy of the GNU Affero General Public License
17
- along with this program. If not, see <http://www.gnu.org/licenses/>.
18
- */
19
-
20
- // Copyright (c) 2005 Tom Wu
21
- // All Rights Reserved.
22
- // See "LICENSE" for details.
23
-
24
- // Basic JavaScript BN library - subset useful for RSA encryption.
25
-
26
- // Bits per digit
27
- var dbits;
28
-
29
- // JavaScript engine analysis
30
- var canary = 0xdeadbeefcafe;
31
- var j_lm = ((canary&0xffffff)==0xefcafe);
32
-
33
- // (public) Constructor
34
- function encryptionBigInteger(a,b,c) {
35
- if(a != null)
36
- if("number" == typeof a) this.fromNumber(a,b,c);
37
- else if(b == null && "string" != typeof a) this.fromString(a,256);
38
- else this.fromString(a,b);
39
- }
40
-
41
- // return new, unset encryptionBigInteger
42
- function nbi() { return new encryptionBigInteger(null); }
43
-
44
- // am: Compute w_j += (x*this_i), propagate carries,
45
- // c is initial carry, returns final carry.
46
- // c < 3*dvalue, x < 2*dvalue, this_i < dvalue
47
- // We need to select the fastest one that works in this environment.
48
-
49
- // am1: use a single mult and divide to get the high bits,
50
- // max digit bits should be 26 because
51
- // max internal value = 2*dvalue^2-2*dvalue (< 2^53)
52
- function am1(i,x,w,j,c,n) {
53
- while(--n >= 0) {
54
- var v = x*this[i++]+w[j]+c;
55
- c = Math.floor(v/0x4000000);
56
- w[j++] = v&0x3ffffff;
57
- }
58
- return c;
59
- }
60
- // am2 avoids a big mult-and-extract completely.
61
- // Max digit bits should be <= 30 because we do bitwise ops
62
- // on values up to 2*hdvalue^2-hdvalue-1 (< 2^31)
63
- function am2(i,x,w,j,c,n) {
64
- var xl = x&0x7fff, xh = x>>15;
65
- while(--n >= 0) {
66
- var l = this[i]&0x7fff;
67
- var h = this[i++]>>15;
68
- var m = xh*l+h*xl;
69
- l = xl*l+((m&0x7fff)<<15)+w[j]+(c&0x3fffffff);
70
- c = (l>>>30)+(m>>>15)+xh*h+(c>>>30);
71
- w[j++] = l&0x3fffffff;
72
- }
73
- return c;
74
- }
75
- // Alternately, set max digit bits to 28 since some
76
- // browsers slow down when dealing with 32-bit numbers.
77
- function am3(i,x,w,j,c,n) {
78
- var xl = x&0x3fff, xh = x>>14;
79
- while(--n >= 0) {
80
- var l = this[i]&0x3fff;
81
- var h = this[i++]>>14;
82
- var m = xh*l+h*xl;
83
- l = xl*l+((m&0x3fff)<<14)+w[j]+c;
84
- c = (l>>28)+(m>>14)+xh*h;
85
- w[j++] = l&0xfffffff;
86
- }
87
- return c;
88
- }
89
- if(j_lm && (navigator.appName == "Microsoft Internet Explorer")) {
90
- encryptionBigInteger.prototype.am = am2;
91
- dbits = 30;
92
- }
93
- else if(j_lm && (navigator.appName != "Netscape")) {
94
- encryptionBigInteger.prototype.am = am1;
95
- dbits = 26;
96
- }
97
- else { // Mozilla/Netscape seems to prefer am3
98
- encryptionBigInteger.prototype.am = am3;
99
- dbits = 28;
100
- }
101
-
102
- encryptionBigInteger.prototype.DB = dbits;
103
- encryptionBigInteger.prototype.DM = ((1<<dbits)-1);
104
- encryptionBigInteger.prototype.DV = (1<<dbits);
105
-
106
- var BI_FP = 52;
107
- encryptionBigInteger.prototype.FV = Math.pow(2,BI_FP);
108
- encryptionBigInteger.prototype.F1 = BI_FP-dbits;
109
- encryptionBigInteger.prototype.F2 = 2*dbits-BI_FP;
110
-
111
- // Digit conversions
112
- var BI_RM = "0123456789abcdefghijklmnopqrstuvwxyz";
113
- var BI_RC = new Array();
114
- var rr,vv;
115
- rr = "0".charCodeAt(0);
116
- for(vv = 0; vv <= 9; ++vv) BI_RC[rr++] = vv;
117
- rr = "a".charCodeAt(0);
118
- for(vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv;
119
- rr = "A".charCodeAt(0);
120
- for(vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv;
121
-
122
- function int2char(n) { return BI_RM.charAt(n); }
123
- function intAt(s,i) {
124
- var c = BI_RC[s.charCodeAt(i)];
125
- return (c==null)?-1:c;
126
- }
127
-
128
- // (protected) copy this to r
129
- function bnpCopyTo(r) {
130
- for(var i = this.t-1; i >= 0; --i) r[i] = this[i];
131
- r.t = this.t;
132
- r.s = this.s;
133
- }
134
-
135
- // (protected) set from integer value x, -DV <= x < DV
136
- function bnpFromInt(x) {
137
- this.t = 1;
138
- this.s = (x<0)?-1:0;
139
- if(x > 0) this[0] = x;
140
- else if(x < -1) this[0] = x+DV;
141
- else this.t = 0;
142
- }
143
-
144
- // return bigint initialized to value
145
- function nbv(i) { var r = nbi(); r.fromInt(i); return r; }
146
-
147
- // (protected) set from string and radix
148
- function bnpFromString(s,b) {
149
- var k;
150
- if(b == 16) k = 4;
151
- else if(b == 8) k = 3;
152
- else if(b == 256) k = 8; // byte array
153
- else if(b == 2) k = 1;
154
- else if(b == 32) k = 5;
155
- else if(b == 4) k = 2;
156
- else { this.fromRadix(s,b); return; }
157
- this.t = 0;
158
- this.s = 0;
159
- var i = s.length, mi = false, sh = 0;
160
- while(--i >= 0) {
161
- var x = (k==8)?s[i]&0xff:intAt(s,i);
162
- if(x < 0) {
163
- if(s.charAt(i) == "-") mi = true;
164
- continue;
165
- }
166
- mi = false;
167
- if(sh == 0)
168
- this[this.t++] = x;
169
- else if(sh+k > this.DB) {
170
- this[this.t-1] |= (x&((1<<(this.DB-sh))-1))<<sh;
171
- this[this.t++] = (x>>(this.DB-sh));
172
- }
173
- else
174
- this[this.t-1] |= x<<sh;
175
- sh += k;
176
- if(sh >= this.DB) sh -= this.DB;
177
- }
178
- if(k == 8 && (s[0]&0x80) != 0) {
179
- this.s = -1;
180
- if(sh > 0) this[this.t-1] |= ((1<<(this.DB-sh))-1)<<sh;
181
- }
182
- this.clamp();
183
- if(mi) encryptionBigInteger.ZERO.subTo(this,this);
184
- }
185
-
186
- // (protected) clamp off excess high words
187
- function bnpClamp() {
188
- var c = this.s&this.DM;
189
- while(this.t > 0 && this[this.t-1] == c) --this.t;
190
- }
191
-
192
- // (public) return string representation in given radix
193
- function bnToString(b) {
194
- if(this.s < 0) return "-"+this.negate().toString(b);
195
- var k;
196
- if(b == 16) k = 4;
197
- else if(b == 8) k = 3;
198
- else if(b == 2) k = 1;
199
- else if(b == 32) k = 5;
200
- else if(b == 4) k = 2;
201
- else return this.toRadix(b);
202
- var km = (1<<k)-1, d, m = false, r = "", i = this.t;
203
- var p = this.DB-(i*this.DB)%k;
204
- if(i-- > 0) {
205
- if(p < this.DB && (d = this[i]>>p) > 0) { m = true; r = int2char(d); }
206
- while(i >= 0) {
207
- if(p < k) {
208
- d = (this[i]&((1<<p)-1))<<(k-p);
209
- d |= this[--i]>>(p+=this.DB-k);
210
- }
211
- else {
212
- d = (this[i]>>(p-=k))&km;
213
- if(p <= 0) { p += this.DB; --i; }
214
- }
215
- if(d > 0) m = true;
216
- if(m) r += int2char(d);
217
- }
218
- }
219
- return m?r:"0";
220
- }
221
-
222
- // (public) -this
223
- function bnNegate() { var r = nbi(); encryptionBigInteger.ZERO.subTo(this,r); return r; }
224
-
225
- // (public) |this|
226
- function bnAbs() { return (this.s<0)?this.negate():this; }
227
-
228
- // (public) return + if this > a, - if this < a, 0 if equal
229
- function bnCompareTo(a) {
230
- var r = this.s-a.s;
231
- if(r != 0) return r;
232
- var i = this.t;
233
- r = i-a.t;
234
- if(r != 0) return (this.s<0)?-r:r;
235
- while(--i >= 0) if((r=this[i]-a[i]) != 0) return r;
236
- return 0;
237
- }
238
-
239
- // returns bit length of the integer x
240
- function nbits(x) {
241
- var r = 1, t;
242
- if((t=x>>>16) != 0) { x = t; r += 16; }
243
- if((t=x>>8) != 0) { x = t; r += 8; }
244
- if((t=x>>4) != 0) { x = t; r += 4; }
245
- if((t=x>>2) != 0) { x = t; r += 2; }
246
- if((t=x>>1) != 0) { x = t; r += 1; }
247
- return r;
248
- }
249
-
250
- // (public) return the number of bits in "this"
251
- function bnBitLength() {
252
- if(this.t <= 0) return 0;
253
- return this.DB*(this.t-1)+nbits(this[this.t-1]^(this.s&this.DM));
254
- }
255
-
256
- // (protected) r = this << n*DB
257
- function bnpDLShiftTo(n,r) {
258
- var i;
259
- for(i = this.t-1; i >= 0; --i) r[i+n] = this[i];
260
- for(i = n-1; i >= 0; --i) r[i] = 0;
261
- r.t = this.t+n;
262
- r.s = this.s;
263
- }
264
-
265
- // (protected) r = this >> n*DB
266
- function bnpDRShiftTo(n,r) {
267
- for(var i = n; i < this.t; ++i) r[i-n] = this[i];
268
- r.t = Math.max(this.t-n,0);
269
- r.s = this.s;
270
- }
271
-
272
- // (protected) r = this << n
273
- function bnpLShiftTo(n,r) {
274
- var bs = n%this.DB;
275
- var cbs = this.DB-bs;
276
- var bm = (1<<cbs)-1;
277
- var ds = Math.floor(n/this.DB), c = (this.s<<bs)&this.DM, i;
278
- for(i = this.t-1; i >= 0; --i) {
279
- r[i+ds+1] = (this[i]>>cbs)|c;
280
- c = (this[i]&bm)<<bs;
281
- }
282
- for(i = ds-1; i >= 0; --i) r[i] = 0;
283
- r[ds] = c;
284
- r.t = this.t+ds+1;
285
- r.s = this.s;
286
- r.clamp();
287
- }
288
-
289
- // (protected) r = this >> n
290
- function bnpRShiftTo(n,r) {
291
- r.s = this.s;
292
- var ds = Math.floor(n/this.DB);
293
- if(ds >= this.t) { r.t = 0; return; }
294
- var bs = n%this.DB;
295
- var cbs = this.DB-bs;
296
- var bm = (1<<bs)-1;
297
- r[0] = this[ds]>>bs;
298
- for(var i = ds+1; i < this.t; ++i) {
299
- r[i-ds-1] |= (this[i]&bm)<<cbs;
300
- r[i-ds] = this[i]>>bs;
301
- }
302
- if(bs > 0) r[this.t-ds-1] |= (this.s&bm)<<cbs;
303
- r.t = this.t-ds;
304
- r.clamp();
305
- }
306
-
307
- // (protected) r = this - a
308
- function bnpSubTo(a,r) {
309
- var i = 0, c = 0, m = Math.min(a.t,this.t);
310
- while(i < m) {
311
- c += this[i]-a[i];
312
- r[i++] = c&this.DM;
313
- c >>= this.DB;
314
- }
315
- if(a.t < this.t) {
316
- c -= a.s;
317
- while(i < this.t) {
318
- c += this[i];
319
- r[i++] = c&this.DM;
320
- c >>= this.DB;
321
- }
322
- c += this.s;
323
- }
324
- else {
325
- c += this.s;
326
- while(i < a.t) {
327
- c -= a[i];
328
- r[i++] = c&this.DM;
329
- c >>= this.DB;
330
- }
331
- c -= a.s;
332
- }
333
- r.s = (c<0)?-1:0;
334
- if(c < -1) r[i++] = this.DV+c;
335
- else if(c > 0) r[i++] = c;
336
- r.t = i;
337
- r.clamp();
338
- }
339
-
340
- // (protected) r = this * a, r != this,a (HAC 14.12)
341
- // "this" should be the larger one if appropriate.
342
- function bnpMultiplyTo(a,r) {
343
- var x = this.abs(), y = a.abs();
344
- var i = x.t;
345
- r.t = i+y.t;
346
- while(--i >= 0) r[i] = 0;
347
- for(i = 0; i < y.t; ++i) r[i+x.t] = x.am(0,y[i],r,i,0,x.t);
348
- r.s = 0;
349
- r.clamp();
350
- if(this.s != a.s) encryptionBigInteger.ZERO.subTo(r,r);
351
- }
352
-
353
- // (protected) r = this^2, r != this (HAC 14.16)
354
- function bnpSquareTo(r) {
355
- var x = this.abs();
356
- var i = r.t = 2*x.t;
357
- while(--i >= 0) r[i] = 0;
358
- for(i = 0; i < x.t-1; ++i) {
359
- var c = x.am(i,x[i],r,2*i,0,1);
360
- if((r[i+x.t]+=x.am(i+1,2*x[i],r,2*i+1,c,x.t-i-1)) >= x.DV) {
361
- r[i+x.t] -= x.DV;
362
- r[i+x.t+1] = 1;
363
- }
364
- }
365
- if(r.t > 0) r[r.t-1] += x.am(i,x[i],r,2*i,0,1);
366
- r.s = 0;
367
- r.clamp();
368
- }
369
-
370
- // (protected) divide this by m, quotient and remainder to q, r (HAC 14.20)
371
- // r != q, this != m. q or r may be null.
372
- function bnpDivRemTo(m,q,r) {
373
- var pm = m.abs();
374
- if(pm.t <= 0) return;
375
- var pt = this.abs();
376
- if(pt.t < pm.t) {
377
- if(q != null) q.fromInt(0);
378
- if(r != null) this.copyTo(r);
379
- return;
380
- }
381
- if(r == null) r = nbi();
382
- var y = nbi(), ts = this.s, ms = m.s;
383
- var nsh = this.DB-nbits(pm[pm.t-1]); // normalize modulus
384
- if(nsh > 0) { pm.lShiftTo(nsh,y); pt.lShiftTo(nsh,r); }
385
- else { pm.copyTo(y); pt.copyTo(r); }
386
- var ys = y.t;
387
- var y0 = y[ys-1];
388
- if(y0 == 0) return;
389
- var yt = y0*(1<<this.F1)+((ys>1)?y[ys-2]>>this.F2:0);
390
- var d1 = this.FV/yt, d2 = (1<<this.F1)/yt, e = 1<<this.F2;
391
- var i = r.t, j = i-ys, t = (q==null)?nbi():q;
392
- y.dlShiftTo(j,t);
393
- if(r.compareTo(t) >= 0) {
394
- r[r.t++] = 1;
395
- r.subTo(t,r);
396
- }
397
- encryptionBigInteger.ONE.dlShiftTo(ys,t);
398
- t.subTo(y,y); // "negative" y so we can replace sub with am later
399
- while(y.t < ys) y[y.t++] = 0;
400
- while(--j >= 0) {
401
- // Estimate quotient digit
402
- var qd = (r[--i]==y0)?this.DM:Math.floor(r[i]*d1+(r[i-1]+e)*d2);
403
- if((r[i]+=y.am(0,qd,r,j,0,ys)) < qd) { // Try it out
404
- y.dlShiftTo(j,t);
405
- r.subTo(t,r);
406
- while(r[i] < --qd) r.subTo(t,r);
407
- }
408
- }
409
- if(q != null) {
410
- r.drShiftTo(ys,q);
411
- if(ts != ms) encryptionBigInteger.ZERO.subTo(q,q);
412
- }
413
- r.t = ys;
414
- r.clamp();
415
- if(nsh > 0) r.rShiftTo(nsh,r); // Denormalize remainder
416
- if(ts < 0) encryptionBigInteger.ZERO.subTo(r,r);
417
- }
418
-
419
- // (public) this mod a
420
- function bnMod(a) {
421
- var r = nbi();
422
- this.abs().divRemTo(a,null,r);
423
- if(this.s < 0 && r.compareTo(encryptionBigInteger.ZERO) > 0) a.subTo(r,r);
424
- return r;
425
- }
426
-
427
- // Modular reduction using "classic" algorithm
428
- function Classic(m) { this.m = m; }
429
- function cConvert(x) {
430
- if(x.s < 0 || x.compareTo(this.m) >= 0) return x.mod(this.m);
431
- else return x;
432
- }
433
- function cRevert(x) { return x; }
434
- function cReduce(x) { x.divRemTo(this.m,null,x); }
435
- function cMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); }
436
- function cSqrTo(x,r) { x.squareTo(r); this.reduce(r); }
437
-
438
- Classic.prototype.convert = cConvert;
439
- Classic.prototype.revert = cRevert;
440
- Classic.prototype.reduce = cReduce;
441
- Classic.prototype.mulTo = cMulTo;
442
- Classic.prototype.sqrTo = cSqrTo;
443
-
444
- // (protected) return "-1/this % 2^DB"; useful for Mont. reduction
445
- // justification:
446
- // xy == 1 (mod m)
447
- // xy = 1+km
448
- // xy(2-xy) = (1+km)(1-km)
449
- // x[y(2-xy)] = 1-k^2m^2
450
- // x[y(2-xy)] == 1 (mod m^2)
451
- // if y is 1/x mod m, then y(2-xy) is 1/x mod m^2
452
- // should reduce x and y(2-xy) by m^2 at each step to keep size bounded.
453
- // JS multiply "overflows" differently from C/C++, so care is needed here.
454
- function bnpInvDigit() {
455
- if(this.t < 1) return 0;
456
- var x = this[0];
457
- if((x&1) == 0) return 0;
458
- var y = x&3; // y == 1/x mod 2^2
459
- y = (y*(2-(x&0xf)*y))&0xf; // y == 1/x mod 2^4
460
- y = (y*(2-(x&0xff)*y))&0xff; // y == 1/x mod 2^8
461
- y = (y*(2-(((x&0xffff)*y)&0xffff)))&0xffff; // y == 1/x mod 2^16
462
- // last step - calculate inverse mod DV directly;
463
- // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints
464
- y = (y*(2-x*y%this.DV))%this.DV; // y == 1/x mod 2^dbits
465
- // we really want the negative inverse, and -DV < y < DV
466
- return (y>0)?this.DV-y:-y;
467
- }
468
-
469
- // Montgomery reduction
470
- function Montgomery(m) {
471
- this.m = m;
472
- this.mp = m.invDigit();
473
- this.mpl = this.mp&0x7fff;
474
- this.mph = this.mp>>15;
475
- this.um = (1<<(m.DB-15))-1;
476
- this.mt2 = 2*m.t;
477
- }
478
-
479
- // xR mod m
480
- function montConvert(x) {
481
- var r = nbi();
482
- x.abs().dlShiftTo(this.m.t,r);
483
- r.divRemTo(this.m,null,r);
484
- if(x.s < 0 && r.compareTo(encryptionBigInteger.ZERO) > 0) this.m.subTo(r,r);
485
- return r;
486
- }
487
-
488
- // x/R mod m
489
- function montRevert(x) {
490
- var r = nbi();
491
- x.copyTo(r);
492
- this.reduce(r);
493
- return r;
494
- }
495
-
496
- // x = x/R mod m (HAC 14.32)
497
- function montReduce(x) {
498
- while(x.t <= this.mt2) // pad x so am has enough room later
499
- x[x.t++] = 0;
500
- for(var i = 0; i < this.m.t; ++i) {
501
- // faster way of calculating u0 = x[i]*mp mod DV
502
- var j = x[i]&0x7fff;
503
- var u0 = (j*this.mpl+(((j*this.mph+(x[i]>>15)*this.mpl)&this.um)<<15))&x.DM;
504
- // use am to combine the multiply-shift-add into one call
505
- j = i+this.m.t;
506
- x[j] += this.m.am(0,u0,x,i,0,this.m.t);
507
- // propagate carry
508
- while(x[j] >= x.DV) { x[j] -= x.DV; x[++j]++; }
509
- }
510
- x.clamp();
511
- x.drShiftTo(this.m.t,x);
512
- if(x.compareTo(this.m) >= 0) x.subTo(this.m,x);
513
- }
514
-
515
- // r = "x^2/R mod m"; x != r
516
- function montSqrTo(x,r) { x.squareTo(r); this.reduce(r); }
517
-
518
- // r = "xy/R mod m"; x,y != r
519
- function montMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); }
520
-
521
- Montgomery.prototype.convert = montConvert;
522
- Montgomery.prototype.revert = montRevert;
523
- Montgomery.prototype.reduce = montReduce;
524
- Montgomery.prototype.mulTo = montMulTo;
525
- Montgomery.prototype.sqrTo = montSqrTo;
526
-
527
- // (protected) true iff this is even
528
- function bnpIsEven() { return ((this.t>0)?(this[0]&1):this.s) == 0; }
529
-
530
- // (protected) this^e, e < 2^32, doing sqr and mul with "r" (HAC 14.79)
531
- function bnpExp(e,z) {
532
- if(e > 0xffffffff || e < 1) return encryptionBigInteger.ONE;
533
- var r = nbi(), r2 = nbi(), g = z.convert(this), i = nbits(e)-1;
534
- g.copyTo(r);
535
- while(--i >= 0) {
536
- z.sqrTo(r,r2);
537
- if((e&(1<<i)) > 0) z.mulTo(r2,g,r);
538
- else { var t = r; r = r2; r2 = t; }
539
- }
540
- return z.revert(r);
541
- }
542
-
543
- // (public) this^e % m, 0 <= e < 2^32
544
- function bnModPowInt(e,m) {
545
- var z;
546
- if(e < 256 || m.isEven()) z = new Classic(m); else z = new Montgomery(m);
547
- return this.exp(e,z);
548
- }
549
-
550
- // protected
551
- encryptionBigInteger.prototype.copyTo = bnpCopyTo;
552
- encryptionBigInteger.prototype.fromInt = bnpFromInt;
553
- encryptionBigInteger.prototype.fromString = bnpFromString;
554
- encryptionBigInteger.prototype.clamp = bnpClamp;
555
- encryptionBigInteger.prototype.dlShiftTo = bnpDLShiftTo;
556
- encryptionBigInteger.prototype.drShiftTo = bnpDRShiftTo;
557
- encryptionBigInteger.prototype.lShiftTo = bnpLShiftTo;
558
- encryptionBigInteger.prototype.rShiftTo = bnpRShiftTo;
559
- encryptionBigInteger.prototype.subTo = bnpSubTo;
560
- encryptionBigInteger.prototype.multiplyTo = bnpMultiplyTo;
561
- encryptionBigInteger.prototype.squareTo = bnpSquareTo;
562
- encryptionBigInteger.prototype.divRemTo = bnpDivRemTo;
563
- encryptionBigInteger.prototype.invDigit = bnpInvDigit;
564
- encryptionBigInteger.prototype.isEven = bnpIsEven;
565
- encryptionBigInteger.prototype.exp = bnpExp;
566
-
567
- // public
568
- encryptionBigInteger.prototype.toString = bnToString;
569
- encryptionBigInteger.prototype.negate = bnNegate;
570
- encryptionBigInteger.prototype.abs = bnAbs;
571
- encryptionBigInteger.prototype.compareTo = bnCompareTo;
572
- encryptionBigInteger.prototype.bitLength = bnBitLength;
573
- encryptionBigInteger.prototype.mod = bnMod;
574
- encryptionBigInteger.prototype.modPowInt = bnModPowInt;
575
-
576
- // "constants"
577
- encryptionBigInteger.ZERO = nbv(0);
578
- encryptionBigInteger.ONE = nbv(1);
1
+ /*
2
+ Copyright (c) 2016 eyeOS
3
+
4
+ This file is part of Open365.
5
+
6
+ Open365 is free software: you can redistribute it and/or modify
7
+ it under the terms of the GNU Affero General Public License as
8
+ published by the Free Software Foundation, either version 3 of the
9
+ License, or (at your option) any later version.
10
+
11
+ This program is distributed in the hope that it will be useful,
12
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ GNU Affero General Public License for more details.
15
+
16
+ You should have received a copy of the GNU Affero General Public License
17
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
18
+ */
19
+
20
+ // Copyright (c) 2005 Tom Wu
21
+ // All Rights Reserved.
22
+ // See "LICENSE" for details.
23
+
24
+ // Basic JavaScript BN library - subset useful for RSA encryption.
25
+
26
+ // Bits per digit
27
+ var dbits;
28
+
29
+ // JavaScript engine analysis
30
+ var canary = 0xdeadbeefcafe;
31
+ var j_lm = ((canary&0xffffff)==0xefcafe);
32
+
33
+ // (public) Constructor
34
+ function encryptionBigInteger(a,b,c) {
35
+ if(a != null)
36
+ if("number" == typeof a) this.fromNumber(a,b,c);
37
+ else if(b == null && "string" != typeof a) this.fromString(a,256);
38
+ else this.fromString(a,b);
39
+ }
40
+
41
+ // return new, unset encryptionBigInteger
42
+ function nbi() { return new encryptionBigInteger(null); }
43
+
44
+ // am: Compute w_j += (x*this_i), propagate carries,
45
+ // c is initial carry, returns final carry.
46
+ // c < 3*dvalue, x < 2*dvalue, this_i < dvalue
47
+ // We need to select the fastest one that works in this environment.
48
+
49
+ // am1: use a single mult and divide to get the high bits,
50
+ // max digit bits should be 26 because
51
+ // max internal value = 2*dvalue^2-2*dvalue (< 2^53)
52
+ function am1(i,x,w,j,c,n) {
53
+ while(--n >= 0) {
54
+ var v = x*this[i++]+w[j]+c;
55
+ c = Math.floor(v/0x4000000);
56
+ w[j++] = v&0x3ffffff;
57
+ }
58
+ return c;
59
+ }
60
+ // am2 avoids a big mult-and-extract completely.
61
+ // Max digit bits should be <= 30 because we do bitwise ops
62
+ // on values up to 2*hdvalue^2-hdvalue-1 (< 2^31)
63
+ function am2(i,x,w,j,c,n) {
64
+ var xl = x&0x7fff, xh = x>>15;
65
+ while(--n >= 0) {
66
+ var l = this[i]&0x7fff;
67
+ var h = this[i++]>>15;
68
+ var m = xh*l+h*xl;
69
+ l = xl*l+((m&0x7fff)<<15)+w[j]+(c&0x3fffffff);
70
+ c = (l>>>30)+(m>>>15)+xh*h+(c>>>30);
71
+ w[j++] = l&0x3fffffff;
72
+ }
73
+ return c;
74
+ }
75
+ // Alternately, set max digit bits to 28 since some
76
+ // browsers slow down when dealing with 32-bit numbers.
77
+ function am3(i,x,w,j,c,n) {
78
+ var xl = x&0x3fff, xh = x>>14;
79
+ while(--n >= 0) {
80
+ var l = this[i]&0x3fff;
81
+ var h = this[i++]>>14;
82
+ var m = xh*l+h*xl;
83
+ l = xl*l+((m&0x3fff)<<14)+w[j]+c;
84
+ c = (l>>28)+(m>>14)+xh*h;
85
+ w[j++] = l&0xfffffff;
86
+ }
87
+ return c;
88
+ }
89
+ if(j_lm && (navigator.appName == "Microsoft Internet Explorer")) {
90
+ encryptionBigInteger.prototype.am = am2;
91
+ dbits = 30;
92
+ }
93
+ else if(j_lm && (navigator.appName != "Netscape")) {
94
+ encryptionBigInteger.prototype.am = am1;
95
+ dbits = 26;
96
+ }
97
+ else { // Mozilla/Netscape seems to prefer am3
98
+ encryptionBigInteger.prototype.am = am3;
99
+ dbits = 28;
100
+ }
101
+
102
+ encryptionBigInteger.prototype.DB = dbits;
103
+ encryptionBigInteger.prototype.DM = ((1<<dbits)-1);
104
+ encryptionBigInteger.prototype.DV = (1<<dbits);
105
+
106
+ var BI_FP = 52;
107
+ encryptionBigInteger.prototype.FV = Math.pow(2,BI_FP);
108
+ encryptionBigInteger.prototype.F1 = BI_FP-dbits;
109
+ encryptionBigInteger.prototype.F2 = 2*dbits-BI_FP;
110
+
111
+ // Digit conversions
112
+ var BI_RM = "0123456789abcdefghijklmnopqrstuvwxyz";
113
+ var BI_RC = new Array();
114
+ var rr,vv;
115
+ rr = "0".charCodeAt(0);
116
+ for(vv = 0; vv <= 9; ++vv) BI_RC[rr++] = vv;
117
+ rr = "a".charCodeAt(0);
118
+ for(vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv;
119
+ rr = "A".charCodeAt(0);
120
+ for(vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv;
121
+
122
+ function int2char(n) { return BI_RM.charAt(n); }
123
+ function intAt(s,i) {
124
+ var c = BI_RC[s.charCodeAt(i)];
125
+ return (c==null)?-1:c;
126
+ }
127
+
128
+ // (protected) copy this to r
129
+ function bnpCopyTo(r) {
130
+ for(var i = this.t-1; i >= 0; --i) r[i] = this[i];
131
+ r.t = this.t;
132
+ r.s = this.s;
133
+ }
134
+
135
+ // (protected) set from integer value x, -DV <= x < DV
136
+ function bnpFromInt(x) {
137
+ this.t = 1;
138
+ this.s = (x<0)?-1:0;
139
+ if(x > 0) this[0] = x;
140
+ else if(x < -1) this[0] = x+DV;
141
+ else this.t = 0;
142
+ }
143
+
144
+ // return bigint initialized to value
145
+ function nbv(i) { var r = nbi(); r.fromInt(i); return r; }
146
+
147
+ // (protected) set from string and radix
148
+ function bnpFromString(s,b) {
149
+ var k;
150
+ if(b == 16) k = 4;
151
+ else if(b == 8) k = 3;
152
+ else if(b == 256) k = 8; // byte array
153
+ else if(b == 2) k = 1;
154
+ else if(b == 32) k = 5;
155
+ else if(b == 4) k = 2;
156
+ else { this.fromRadix(s,b); return; }
157
+ this.t = 0;
158
+ this.s = 0;
159
+ var i = s.length, mi = false, sh = 0;
160
+ while(--i >= 0) {
161
+ var x = (k==8)?s[i]&0xff:intAt(s,i);
162
+ if(x < 0) {
163
+ if(s.charAt(i) == "-") mi = true;
164
+ continue;
165
+ }
166
+ mi = false;
167
+ if(sh == 0)
168
+ this[this.t++] = x;
169
+ else if(sh+k > this.DB) {
170
+ this[this.t-1] |= (x&((1<<(this.DB-sh))-1))<<sh;
171
+ this[this.t++] = (x>>(this.DB-sh));
172
+ }
173
+ else
174
+ this[this.t-1] |= x<<sh;
175
+ sh += k;
176
+ if(sh >= this.DB) sh -= this.DB;
177
+ }
178
+ if(k == 8 && (s[0]&0x80) != 0) {
179
+ this.s = -1;
180
+ if(sh > 0) this[this.t-1] |= ((1<<(this.DB-sh))-1)<<sh;
181
+ }
182
+ this.clamp();
183
+ if(mi) encryptionBigInteger.ZERO.subTo(this,this);
184
+ }
185
+
186
+ // (protected) clamp off excess high words
187
+ function bnpClamp() {
188
+ var c = this.s&this.DM;
189
+ while(this.t > 0 && this[this.t-1] == c) --this.t;
190
+ }
191
+
192
+ // (public) return string representation in given radix
193
+ function bnToString(b) {
194
+ if(this.s < 0) return "-"+this.negate().toString(b);
195
+ var k;
196
+ if(b == 16) k = 4;
197
+ else if(b == 8) k = 3;
198
+ else if(b == 2) k = 1;
199
+ else if(b == 32) k = 5;
200
+ else if(b == 4) k = 2;
201
+ else return this.toRadix(b);
202
+ var km = (1<<k)-1, d, m = false, r = "", i = this.t;
203
+ var p = this.DB-(i*this.DB)%k;
204
+ if(i-- > 0) {
205
+ if(p < this.DB && (d = this[i]>>p) > 0) { m = true; r = int2char(d); }
206
+ while(i >= 0) {
207
+ if(p < k) {
208
+ d = (this[i]&((1<<p)-1))<<(k-p);
209
+ d |= this[--i]>>(p+=this.DB-k);
210
+ }
211
+ else {
212
+ d = (this[i]>>(p-=k))&km;
213
+ if(p <= 0) { p += this.DB; --i; }
214
+ }
215
+ if(d > 0) m = true;
216
+ if(m) r += int2char(d);
217
+ }
218
+ }
219
+ return m?r:"0";
220
+ }
221
+
222
+ // (public) -this
223
+ function bnNegate() { var r = nbi(); encryptionBigInteger.ZERO.subTo(this,r); return r; }
224
+
225
+ // (public) |this|
226
+ function bnAbs() { return (this.s<0)?this.negate():this; }
227
+
228
+ // (public) return + if this > a, - if this < a, 0 if equal
229
+ function bnCompareTo(a) {
230
+ var r = this.s-a.s;
231
+ if(r != 0) return r;
232
+ var i = this.t;
233
+ r = i-a.t;
234
+ if(r != 0) return (this.s<0)?-r:r;
235
+ while(--i >= 0) if((r=this[i]-a[i]) != 0) return r;
236
+ return 0;
237
+ }
238
+
239
+ // returns bit length of the integer x
240
+ function nbits(x) {
241
+ var r = 1, t;
242
+ if((t=x>>>16) != 0) { x = t; r += 16; }
243
+ if((t=x>>8) != 0) { x = t; r += 8; }
244
+ if((t=x>>4) != 0) { x = t; r += 4; }
245
+ if((t=x>>2) != 0) { x = t; r += 2; }
246
+ if((t=x>>1) != 0) { x = t; r += 1; }
247
+ return r;
248
+ }
249
+
250
+ // (public) return the number of bits in "this"
251
+ function bnBitLength() {
252
+ if(this.t <= 0) return 0;
253
+ return this.DB*(this.t-1)+nbits(this[this.t-1]^(this.s&this.DM));
254
+ }
255
+
256
+ // (protected) r = this << n*DB
257
+ function bnpDLShiftTo(n,r) {
258
+ var i;
259
+ for(i = this.t-1; i >= 0; --i) r[i+n] = this[i];
260
+ for(i = n-1; i >= 0; --i) r[i] = 0;
261
+ r.t = this.t+n;
262
+ r.s = this.s;
263
+ }
264
+
265
+ // (protected) r = this >> n*DB
266
+ function bnpDRShiftTo(n,r) {
267
+ for(var i = n; i < this.t; ++i) r[i-n] = this[i];
268
+ r.t = Math.max(this.t-n,0);
269
+ r.s = this.s;
270
+ }
271
+
272
+ // (protected) r = this << n
273
+ function bnpLShiftTo(n,r) {
274
+ var bs = n%this.DB;
275
+ var cbs = this.DB-bs;
276
+ var bm = (1<<cbs)-1;
277
+ var ds = Math.floor(n/this.DB), c = (this.s<<bs)&this.DM, i;
278
+ for(i = this.t-1; i >= 0; --i) {
279
+ r[i+ds+1] = (this[i]>>cbs)|c;
280
+ c = (this[i]&bm)<<bs;
281
+ }
282
+ for(i = ds-1; i >= 0; --i) r[i] = 0;
283
+ r[ds] = c;
284
+ r.t = this.t+ds+1;
285
+ r.s = this.s;
286
+ r.clamp();
287
+ }
288
+
289
+ // (protected) r = this >> n
290
+ function bnpRShiftTo(n,r) {
291
+ r.s = this.s;
292
+ var ds = Math.floor(n/this.DB);
293
+ if(ds >= this.t) { r.t = 0; return; }
294
+ var bs = n%this.DB;
295
+ var cbs = this.DB-bs;
296
+ var bm = (1<<bs)-1;
297
+ r[0] = this[ds]>>bs;
298
+ for(var i = ds+1; i < this.t; ++i) {
299
+ r[i-ds-1] |= (this[i]&bm)<<cbs;
300
+ r[i-ds] = this[i]>>bs;
301
+ }
302
+ if(bs > 0) r[this.t-ds-1] |= (this.s&bm)<<cbs;
303
+ r.t = this.t-ds;
304
+ r.clamp();
305
+ }
306
+
307
+ // (protected) r = this - a
308
+ function bnpSubTo(a,r) {
309
+ var i = 0, c = 0, m = Math.min(a.t,this.t);
310
+ while(i < m) {
311
+ c += this[i]-a[i];
312
+ r[i++] = c&this.DM;
313
+ c >>= this.DB;
314
+ }
315
+ if(a.t < this.t) {
316
+ c -= a.s;
317
+ while(i < this.t) {
318
+ c += this[i];
319
+ r[i++] = c&this.DM;
320
+ c >>= this.DB;
321
+ }
322
+ c += this.s;
323
+ }
324
+ else {
325
+ c += this.s;
326
+ while(i < a.t) {
327
+ c -= a[i];
328
+ r[i++] = c&this.DM;
329
+ c >>= this.DB;
330
+ }
331
+ c -= a.s;
332
+ }
333
+ r.s = (c<0)?-1:0;
334
+ if(c < -1) r[i++] = this.DV+c;
335
+ else if(c > 0) r[i++] = c;
336
+ r.t = i;
337
+ r.clamp();
338
+ }
339
+
340
+ // (protected) r = this * a, r != this,a (HAC 14.12)
341
+ // "this" should be the larger one if appropriate.
342
+ function bnpMultiplyTo(a,r) {
343
+ var x = this.abs(), y = a.abs();
344
+ var i = x.t;
345
+ r.t = i+y.t;
346
+ while(--i >= 0) r[i] = 0;
347
+ for(i = 0; i < y.t; ++i) r[i+x.t] = x.am(0,y[i],r,i,0,x.t);
348
+ r.s = 0;
349
+ r.clamp();
350
+ if(this.s != a.s) encryptionBigInteger.ZERO.subTo(r,r);
351
+ }
352
+
353
+ // (protected) r = this^2, r != this (HAC 14.16)
354
+ function bnpSquareTo(r) {
355
+ var x = this.abs();
356
+ var i = r.t = 2*x.t;
357
+ while(--i >= 0) r[i] = 0;
358
+ for(i = 0; i < x.t-1; ++i) {
359
+ var c = x.am(i,x[i],r,2*i,0,1);
360
+ if((r[i+x.t]+=x.am(i+1,2*x[i],r,2*i+1,c,x.t-i-1)) >= x.DV) {
361
+ r[i+x.t] -= x.DV;
362
+ r[i+x.t+1] = 1;
363
+ }
364
+ }
365
+ if(r.t > 0) r[r.t-1] += x.am(i,x[i],r,2*i,0,1);
366
+ r.s = 0;
367
+ r.clamp();
368
+ }
369
+
370
+ // (protected) divide this by m, quotient and remainder to q, r (HAC 14.20)
371
+ // r != q, this != m. q or r may be null.
372
+ function bnpDivRemTo(m,q,r) {
373
+ var pm = m.abs();
374
+ if(pm.t <= 0) return;
375
+ var pt = this.abs();
376
+ if(pt.t < pm.t) {
377
+ if(q != null) q.fromInt(0);
378
+ if(r != null) this.copyTo(r);
379
+ return;
380
+ }
381
+ if(r == null) r = nbi();
382
+ var y = nbi(), ts = this.s, ms = m.s;
383
+ var nsh = this.DB-nbits(pm[pm.t-1]); // normalize modulus
384
+ if(nsh > 0) { pm.lShiftTo(nsh,y); pt.lShiftTo(nsh,r); }
385
+ else { pm.copyTo(y); pt.copyTo(r); }
386
+ var ys = y.t;
387
+ var y0 = y[ys-1];
388
+ if(y0 == 0) return;
389
+ var yt = y0*(1<<this.F1)+((ys>1)?y[ys-2]>>this.F2:0);
390
+ var d1 = this.FV/yt, d2 = (1<<this.F1)/yt, e = 1<<this.F2;
391
+ var i = r.t, j = i-ys, t = (q==null)?nbi():q;
392
+ y.dlShiftTo(j,t);
393
+ if(r.compareTo(t) >= 0) {
394
+ r[r.t++] = 1;
395
+ r.subTo(t,r);
396
+ }
397
+ encryptionBigInteger.ONE.dlShiftTo(ys,t);
398
+ t.subTo(y,y); // "negative" y so we can replace sub with am later
399
+ while(y.t < ys) y[y.t++] = 0;
400
+ while(--j >= 0) {
401
+ // Estimate quotient digit
402
+ var qd = (r[--i]==y0)?this.DM:Math.floor(r[i]*d1+(r[i-1]+e)*d2);
403
+ if((r[i]+=y.am(0,qd,r,j,0,ys)) < qd) { // Try it out
404
+ y.dlShiftTo(j,t);
405
+ r.subTo(t,r);
406
+ while(r[i] < --qd) r.subTo(t,r);
407
+ }
408
+ }
409
+ if(q != null) {
410
+ r.drShiftTo(ys,q);
411
+ if(ts != ms) encryptionBigInteger.ZERO.subTo(q,q);
412
+ }
413
+ r.t = ys;
414
+ r.clamp();
415
+ if(nsh > 0) r.rShiftTo(nsh,r); // Denormalize remainder
416
+ if(ts < 0) encryptionBigInteger.ZERO.subTo(r,r);
417
+ }
418
+
419
+ // (public) this mod a
420
+ function bnMod(a) {
421
+ var r = nbi();
422
+ this.abs().divRemTo(a,null,r);
423
+ if(this.s < 0 && r.compareTo(encryptionBigInteger.ZERO) > 0) a.subTo(r,r);
424
+ return r;
425
+ }
426
+
427
+ // Modular reduction using "classic" algorithm
428
+ function Classic(m) { this.m = m; }
429
+ function cConvert(x) {
430
+ if(x.s < 0 || x.compareTo(this.m) >= 0) return x.mod(this.m);
431
+ else return x;
432
+ }
433
+ function cRevert(x) { return x; }
434
+ function cReduce(x) { x.divRemTo(this.m,null,x); }
435
+ function cMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); }
436
+ function cSqrTo(x,r) { x.squareTo(r); this.reduce(r); }
437
+
438
+ Classic.prototype.convert = cConvert;
439
+ Classic.prototype.revert = cRevert;
440
+ Classic.prototype.reduce = cReduce;
441
+ Classic.prototype.mulTo = cMulTo;
442
+ Classic.prototype.sqrTo = cSqrTo;
443
+
444
+ // (protected) return "-1/this % 2^DB"; useful for Mont. reduction
445
+ // justification:
446
+ // xy == 1 (mod m)
447
+ // xy = 1+km
448
+ // xy(2-xy) = (1+km)(1-km)
449
+ // x[y(2-xy)] = 1-k^2m^2
450
+ // x[y(2-xy)] == 1 (mod m^2)
451
+ // if y is 1/x mod m, then y(2-xy) is 1/x mod m^2
452
+ // should reduce x and y(2-xy) by m^2 at each step to keep size bounded.
453
+ // JS multiply "overflows" differently from C/C++, so care is needed here.
454
+ function bnpInvDigit() {
455
+ if(this.t < 1) return 0;
456
+ var x = this[0];
457
+ if((x&1) == 0) return 0;
458
+ var y = x&3; // y == 1/x mod 2^2
459
+ y = (y*(2-(x&0xf)*y))&0xf; // y == 1/x mod 2^4
460
+ y = (y*(2-(x&0xff)*y))&0xff; // y == 1/x mod 2^8
461
+ y = (y*(2-(((x&0xffff)*y)&0xffff)))&0xffff; // y == 1/x mod 2^16
462
+ // last step - calculate inverse mod DV directly;
463
+ // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints
464
+ y = (y*(2-x*y%this.DV))%this.DV; // y == 1/x mod 2^dbits
465
+ // we really want the negative inverse, and -DV < y < DV
466
+ return (y>0)?this.DV-y:-y;
467
+ }
468
+
469
+ // Montgomery reduction
470
+ function Montgomery(m) {
471
+ this.m = m;
472
+ this.mp = m.invDigit();
473
+ this.mpl = this.mp&0x7fff;
474
+ this.mph = this.mp>>15;
475
+ this.um = (1<<(m.DB-15))-1;
476
+ this.mt2 = 2*m.t;
477
+ }
478
+
479
+ // xR mod m
480
+ function montConvert(x) {
481
+ var r = nbi();
482
+ x.abs().dlShiftTo(this.m.t,r);
483
+ r.divRemTo(this.m,null,r);
484
+ if(x.s < 0 && r.compareTo(encryptionBigInteger.ZERO) > 0) this.m.subTo(r,r);
485
+ return r;
486
+ }
487
+
488
+ // x/R mod m
489
+ function montRevert(x) {
490
+ var r = nbi();
491
+ x.copyTo(r);
492
+ this.reduce(r);
493
+ return r;
494
+ }
495
+
496
+ // x = x/R mod m (HAC 14.32)
497
+ function montReduce(x) {
498
+ while(x.t <= this.mt2) // pad x so am has enough room later
499
+ x[x.t++] = 0;
500
+ for(var i = 0; i < this.m.t; ++i) {
501
+ // faster way of calculating u0 = x[i]*mp mod DV
502
+ var j = x[i]&0x7fff;
503
+ var u0 = (j*this.mpl+(((j*this.mph+(x[i]>>15)*this.mpl)&this.um)<<15))&x.DM;
504
+ // use am to combine the multiply-shift-add into one call
505
+ j = i+this.m.t;
506
+ x[j] += this.m.am(0,u0,x,i,0,this.m.t);
507
+ // propagate carry
508
+ while(x[j] >= x.DV) { x[j] -= x.DV; x[++j]++; }
509
+ }
510
+ x.clamp();
511
+ x.drShiftTo(this.m.t,x);
512
+ if(x.compareTo(this.m) >= 0) x.subTo(this.m,x);
513
+ }
514
+
515
+ // r = "x^2/R mod m"; x != r
516
+ function montSqrTo(x,r) { x.squareTo(r); this.reduce(r); }
517
+
518
+ // r = "xy/R mod m"; x,y != r
519
+ function montMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); }
520
+
521
+ Montgomery.prototype.convert = montConvert;
522
+ Montgomery.prototype.revert = montRevert;
523
+ Montgomery.prototype.reduce = montReduce;
524
+ Montgomery.prototype.mulTo = montMulTo;
525
+ Montgomery.prototype.sqrTo = montSqrTo;
526
+
527
+ // (protected) true iff this is even
528
+ function bnpIsEven() { return ((this.t>0)?(this[0]&1):this.s) == 0; }
529
+
530
+ // (protected) this^e, e < 2^32, doing sqr and mul with "r" (HAC 14.79)
531
+ function bnpExp(e,z) {
532
+ if(e > 0xffffffff || e < 1) return encryptionBigInteger.ONE;
533
+ var r = nbi(), r2 = nbi(), g = z.convert(this), i = nbits(e)-1;
534
+ g.copyTo(r);
535
+ while(--i >= 0) {
536
+ z.sqrTo(r,r2);
537
+ if((e&(1<<i)) > 0) z.mulTo(r2,g,r);
538
+ else { var t = r; r = r2; r2 = t; }
539
+ }
540
+ return z.revert(r);
541
+ }
542
+
543
+ // (public) this^e % m, 0 <= e < 2^32
544
+ function bnModPowInt(e,m) {
545
+ var z;
546
+ if(e < 256 || m.isEven()) z = new Classic(m); else z = new Montgomery(m);
547
+ return this.exp(e,z);
548
+ }
549
+
550
+ // protected
551
+ encryptionBigInteger.prototype.copyTo = bnpCopyTo;
552
+ encryptionBigInteger.prototype.fromInt = bnpFromInt;
553
+ encryptionBigInteger.prototype.fromString = bnpFromString;
554
+ encryptionBigInteger.prototype.clamp = bnpClamp;
555
+ encryptionBigInteger.prototype.dlShiftTo = bnpDLShiftTo;
556
+ encryptionBigInteger.prototype.drShiftTo = bnpDRShiftTo;
557
+ encryptionBigInteger.prototype.lShiftTo = bnpLShiftTo;
558
+ encryptionBigInteger.prototype.rShiftTo = bnpRShiftTo;
559
+ encryptionBigInteger.prototype.subTo = bnpSubTo;
560
+ encryptionBigInteger.prototype.multiplyTo = bnpMultiplyTo;
561
+ encryptionBigInteger.prototype.squareTo = bnpSquareTo;
562
+ encryptionBigInteger.prototype.divRemTo = bnpDivRemTo;
563
+ encryptionBigInteger.prototype.invDigit = bnpInvDigit;
564
+ encryptionBigInteger.prototype.isEven = bnpIsEven;
565
+ encryptionBigInteger.prototype.exp = bnpExp;
566
+
567
+ // public
568
+ encryptionBigInteger.prototype.toString = bnToString;
569
+ encryptionBigInteger.prototype.negate = bnNegate;
570
+ encryptionBigInteger.prototype.abs = bnAbs;
571
+ encryptionBigInteger.prototype.compareTo = bnCompareTo;
572
+ encryptionBigInteger.prototype.bitLength = bnBitLength;
573
+ encryptionBigInteger.prototype.mod = bnMod;
574
+ encryptionBigInteger.prototype.modPowInt = bnModPowInt;
575
+
576
+ // "constants"
577
+ encryptionBigInteger.ZERO = nbv(0);
578
+ encryptionBigInteger.ONE = nbv(1);