@fecp/mobile-designer 1.0.10 → 1.0.11

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 (497) hide show
  1. package/es/mobile-designer.css +19 -19
  2. package/es/mobileDesigner/package.json.mjs +1 -1
  3. package/es/node_modules/@vant/area-data/dist/index.esm.mjs +3924 -0
  4. package/es/node_modules/@vant/touch-emulator/dist/index.mjs +125 -0
  5. package/es/node_modules/@vant/use/dist/index.esm.mjs +304 -0
  6. package/es/node_modules/@vue/shared/dist/shared.esm-bundler.mjs +67 -0
  7. package/es/node_modules/moment/dist/moment.mjs +3997 -0
  8. package/es/node_modules/vant/es/action-bar/ActionBar.mjs +45 -0
  9. package/es/node_modules/vant/es/action-bar/index.mjs +8 -0
  10. package/es/node_modules/vant/es/action-bar-button/ActionBarButton.mjs +74 -0
  11. package/es/node_modules/vant/es/action-bar-button/index.mjs +8 -0
  12. package/es/node_modules/vant/es/action-sheet/ActionSheet.mjs +142 -0
  13. package/es/node_modules/vant/es/action-sheet/index.mjs +8 -0
  14. package/es/node_modules/vant/es/back-top/BackTop.mjs +119 -0
  15. package/es/node_modules/vant/es/back-top/index.mjs +8 -0
  16. package/es/node_modules/vant/es/button/Button.mjs +152 -0
  17. package/es/node_modules/vant/es/button/index.mjs +8 -0
  18. package/es/node_modules/vant/es/calendar/Calendar.mjs +454 -0
  19. package/es/node_modules/vant/es/calendar/CalendarDay.mjs +132 -0
  20. package/es/node_modules/vant/es/calendar/CalendarHeader.mjs +115 -0
  21. package/es/node_modules/vant/es/calendar/CalendarMonth.mjs +217 -0
  22. package/es/node_modules/vant/es/calendar/index.mjs +8 -0
  23. package/es/node_modules/vant/es/calendar/utils.mjs +89 -0
  24. package/es/node_modules/vant/es/cascader/Cascader.mjs +243 -0
  25. package/es/node_modules/vant/es/cascader/index.mjs +8 -0
  26. package/es/node_modules/vant/es/cell/Cell.mjs +133 -0
  27. package/es/node_modules/vant/es/cell/index.mjs +8 -0
  28. package/es/node_modules/vant/es/cell-group/CellGroup.mjs +46 -0
  29. package/es/node_modules/vant/es/cell-group/index.mjs +8 -0
  30. package/es/node_modules/vant/es/checkbox/Checkbox.mjs +91 -0
  31. package/es/node_modules/vant/es/checkbox/Checker.mjs +144 -0
  32. package/es/node_modules/vant/es/checkbox/index.mjs +8 -0
  33. package/es/node_modules/vant/es/checkbox-group/CheckboxGroup.mjs +73 -0
  34. package/es/node_modules/vant/es/checkbox-group/index.mjs +8 -0
  35. package/es/node_modules/vant/es/collapse/Collapse.mjs +96 -0
  36. package/es/node_modules/vant/es/collapse/index.mjs +8 -0
  37. package/es/node_modules/vant/es/collapse-item/CollapseItem.mjs +135 -0
  38. package/es/node_modules/vant/es/collapse-item/index.mjs +8 -0
  39. package/es/node_modules/vant/es/composables/on-popup-reopen.mjs +16 -0
  40. package/es/node_modules/vant/es/composables/use-expose.mjs +11 -0
  41. package/es/node_modules/vant/es/composables/use-global-z-index.mjs +5 -1
  42. package/es/node_modules/vant/es/composables/use-height.mjs +24 -0
  43. package/es/node_modules/vant/es/composables/use-id.mjs +10 -0
  44. package/es/node_modules/vant/es/composables/use-lazy-render.mjs +17 -0
  45. package/es/node_modules/vant/es/composables/use-lock-scroll.mjs +58 -0
  46. package/es/node_modules/vant/es/composables/use-placeholder.mjs +14 -0
  47. package/es/node_modules/vant/es/composables/use-refs.mjs +20 -0
  48. package/es/node_modules/vant/es/composables/use-route.mjs +27 -0
  49. package/es/node_modules/vant/es/composables/use-scope-id.mjs +9 -0
  50. package/es/node_modules/vant/es/composables/use-sync-prop-ref.mjs +18 -0
  51. package/es/node_modules/vant/es/composables/use-tab-status.mjs +7 -0
  52. package/es/node_modules/vant/es/composables/use-touch.mjs +68 -0
  53. package/es/node_modules/vant/es/composables/use-visibility-change.mjs +30 -0
  54. package/es/node_modules/vant/es/date-picker/DatePicker.mjs +131 -0
  55. package/es/node_modules/vant/es/date-picker/index.mjs +8 -0
  56. package/es/node_modules/vant/es/date-picker/utils.mjs +52 -0
  57. package/es/node_modules/vant/es/dialog/Dialog.mjs +226 -0
  58. package/es/node_modules/vant/es/dialog/function-call.mjs +77 -0
  59. package/es/node_modules/vant/es/dialog/index.mjs +7 -0
  60. package/es/node_modules/vant/es/divider/Divider.mjs +34 -0
  61. package/es/node_modules/vant/es/divider/index.mjs +8 -0
  62. package/es/node_modules/vant/es/dropdown-item/DropdownItem.mjs +201 -0
  63. package/es/node_modules/vant/es/dropdown-item/index.mjs +8 -0
  64. package/es/node_modules/vant/es/dropdown-menu/DropdownMenu.mjs +153 -0
  65. package/es/node_modules/vant/es/dropdown-menu/index.mjs +8 -0
  66. package/es/node_modules/vant/es/empty/Empty.mjs +345 -0
  67. package/es/node_modules/vant/es/empty/index.mjs +8 -0
  68. package/es/node_modules/vant/es/field/Field.mjs +555 -0
  69. package/es/node_modules/vant/es/field/index.mjs +8 -0
  70. package/es/node_modules/vant/es/field/utils.mjs +98 -0
  71. package/es/node_modules/vant/es/floating-panel/FloatingPanel.mjs +138 -0
  72. package/es/node_modules/vant/es/floating-panel/index.mjs +8 -0
  73. package/es/node_modules/vant/es/form/Form.mjs +171 -0
  74. package/es/node_modules/vant/es/form/index.mjs +8 -0
  75. package/es/node_modules/vant/es/grid/Grid.mjs +49 -0
  76. package/es/node_modules/vant/es/grid/index.mjs +8 -0
  77. package/es/node_modules/vant/es/grid-item/GridItem.mjs +146 -0
  78. package/es/node_modules/vant/es/grid-item/index.mjs +8 -0
  79. package/es/node_modules/vant/es/highlight/Highlight.mjs +129 -0
  80. package/es/node_modules/vant/es/highlight/index.mjs +8 -0
  81. package/es/node_modules/vant/es/icon/Icon.mjs +1 -1
  82. package/es/node_modules/vant/es/icon/index.mjs +4 -2
  83. package/es/node_modules/vant/es/image/Image.mjs +177 -0
  84. package/es/node_modules/vant/es/image/index.mjs +8 -0
  85. package/es/node_modules/vant/es/image-preview/ImagePreview.mjs +201 -0
  86. package/es/node_modules/vant/es/image-preview/ImagePreviewItem.mjs +342 -0
  87. package/es/node_modules/vant/es/image-preview/function-call.mjs +67 -0
  88. package/es/node_modules/vant/es/image-preview/index.mjs +8 -0
  89. package/es/node_modules/vant/es/index-anchor/IndexAnchor.mjs +88 -0
  90. package/es/node_modules/vant/es/index-anchor/index.mjs +8 -0
  91. package/es/node_modules/vant/es/index-bar/IndexBar.mjs +237 -0
  92. package/es/node_modules/vant/es/index-bar/index.mjs +8 -0
  93. package/es/node_modules/vant/es/lazyload/vue-lazyload/util.mjs +23 -0
  94. package/es/node_modules/vant/es/list/List.mjs +145 -0
  95. package/es/node_modules/vant/es/list/index.mjs +8 -0
  96. package/es/node_modules/vant/es/loading/Loading.mjs +73 -0
  97. package/es/node_modules/vant/es/loading/index.mjs +8 -0
  98. package/es/node_modules/vant/es/nav-bar/NavBar.mjs +108 -0
  99. package/es/node_modules/vant/es/nav-bar/index.mjs +8 -0
  100. package/es/node_modules/vant/es/notice-bar/NoticeBar.mjs +167 -0
  101. package/es/node_modules/vant/es/notice-bar/index.mjs +8 -0
  102. package/es/node_modules/vant/es/notify/Notify.mjs +44 -0
  103. package/es/node_modules/vant/es/notify/function-call.mjs +62 -0
  104. package/es/node_modules/vant/es/overlay/Overlay.mjs +69 -0
  105. package/es/node_modules/vant/es/overlay/index.mjs +8 -0
  106. package/es/node_modules/vant/es/pagination/Pagination.mjs +157 -0
  107. package/es/node_modules/vant/es/pagination/index.mjs +8 -0
  108. package/es/node_modules/vant/es/picker/Picker.mjs +218 -0
  109. package/es/node_modules/vant/es/picker/PickerColumn.mjs +206 -0
  110. package/es/node_modules/vant/es/picker/PickerToolbar.mjs +67 -0
  111. package/es/node_modules/vant/es/picker/index.mjs +8 -0
  112. package/es/node_modules/vant/es/picker/utils.mjs +80 -0
  113. package/es/node_modules/vant/es/picker-group/PickerGroup.mjs +83 -0
  114. package/es/node_modules/vant/es/picker-group/index.mjs +8 -0
  115. package/es/node_modules/vant/es/popup/Popup.mjs +224 -0
  116. package/es/node_modules/vant/es/popup/index.mjs +8 -0
  117. package/es/node_modules/vant/es/popup/shared.mjs +34 -0
  118. package/es/node_modules/vant/es/pull-refresh/PullRefresh.mjs +195 -0
  119. package/es/node_modules/vant/es/pull-refresh/index.mjs +8 -0
  120. package/es/node_modules/vant/es/radio/Radio.mjs +45 -0
  121. package/es/node_modules/vant/es/radio/index.mjs +8 -0
  122. package/es/node_modules/vant/es/radio-group/RadioGroup.mjs +46 -0
  123. package/es/node_modules/vant/es/radio-group/index.mjs +8 -0
  124. package/es/node_modules/vant/es/search/Search.mjs +124 -0
  125. package/es/node_modules/vant/es/search/index.mjs +8 -0
  126. package/es/node_modules/vant/es/sidebar/Sidebar.mjs +45 -0
  127. package/es/node_modules/vant/es/sidebar/index.mjs +8 -0
  128. package/es/node_modules/vant/es/sidebar-item/SidebarItem.mjs +71 -0
  129. package/es/node_modules/vant/es/sidebar-item/index.mjs +8 -0
  130. package/es/node_modules/vant/es/step/Step.mjs +115 -0
  131. package/es/node_modules/vant/es/step/index.mjs +6 -0
  132. package/es/node_modules/vant/es/steps/Steps.mjs +47 -0
  133. package/es/node_modules/vant/es/steps/index.mjs +8 -0
  134. package/es/node_modules/vant/es/sticky/Sticky.mjs +142 -0
  135. package/es/node_modules/vant/es/sticky/index.mjs +8 -0
  136. package/es/node_modules/vant/es/swipe/Swipe.mjs +378 -0
  137. package/es/node_modules/vant/es/swipe/index.mjs +8 -0
  138. package/es/node_modules/vant/es/swipe-cell/SwipeCell.mjs +179 -0
  139. package/es/node_modules/vant/es/swipe-cell/index.mjs +8 -0
  140. package/es/node_modules/vant/es/swipe-item/SwipeItem.mjs +78 -0
  141. package/es/node_modules/vant/es/swipe-item/index.mjs +6 -0
  142. package/es/node_modules/vant/es/tab/Tab.mjs +153 -0
  143. package/es/node_modules/vant/es/tab/TabTitle.mjs +92 -0
  144. package/es/node_modules/vant/es/tab/index.mjs +8 -0
  145. package/es/node_modules/vant/es/tabbar/Tabbar.mjs +88 -0
  146. package/es/node_modules/vant/es/tabbar/index.mjs +8 -0
  147. package/es/node_modules/vant/es/tabbar-item/TabbarItem.mjs +119 -0
  148. package/es/node_modules/vant/es/tabbar-item/index.mjs +8 -0
  149. package/es/node_modules/vant/es/tabs/Tabs.mjs +363 -0
  150. package/es/node_modules/vant/es/tabs/TabsContent.mjs +68 -0
  151. package/es/node_modules/vant/es/tabs/index.mjs +8 -0
  152. package/es/node_modules/vant/es/tabs/utils.mjs +49 -0
  153. package/es/node_modules/vant/es/tag/Tag.mjs +80 -0
  154. package/es/node_modules/vant/es/tag/index.mjs +8 -0
  155. package/es/node_modules/vant/es/text-ellipsis/TextEllipsis.mjs +169 -0
  156. package/es/node_modules/vant/es/text-ellipsis/index.mjs +8 -0
  157. package/es/node_modules/vant/es/time-picker/TimePicker.mjs +137 -0
  158. package/es/node_modules/vant/es/time-picker/index.mjs +8 -0
  159. package/es/node_modules/vant/es/toast/Toast.mjs +129 -0
  160. package/es/node_modules/vant/es/toast/function-call.mjs +124 -0
  161. package/es/node_modules/vant/es/toast/index.mjs +7 -0
  162. package/es/node_modules/vant/es/toast/lock-click.mjs +17 -0
  163. package/es/node_modules/vant/es/tree-select/TreeSelect.mjs +105 -0
  164. package/es/node_modules/vant/es/tree-select/index.mjs +8 -0
  165. package/es/node_modules/vant/es/uploader/Uploader.mjs +275 -0
  166. package/es/node_modules/vant/es/uploader/UploaderPreviewItem.mjs +133 -0
  167. package/es/node_modules/vant/es/uploader/index.mjs +8 -0
  168. package/es/node_modules/vant/es/uploader/utils.mjs +70 -0
  169. package/es/node_modules/vant/es/utils/basic.mjs +28 -1
  170. package/es/node_modules/vant/es/utils/closest.mjs +8 -0
  171. package/es/node_modules/vant/es/utils/constant.mjs +24 -0
  172. package/es/node_modules/vant/es/utils/dom.mjs +84 -0
  173. package/es/node_modules/vant/es/utils/format.mjs +101 -2
  174. package/es/node_modules/vant/es/utils/interceptor.mjs +29 -0
  175. package/es/node_modules/vant/es/utils/mount-component.mjs +39 -0
  176. package/es/node_modules/vant/es/utils/props.mjs +23 -1
  177. package/es/packages/mobile/index.mjs +5 -5
  178. package/es/packages/mobile/src/components/base/button/Button.vue.mjs +6 -6
  179. package/es/packages/mobile/src/components/base/card/Card.vue.mjs +15 -15
  180. package/es/packages/mobile/src/components/base/cell/Cell.vue.mjs +5 -5
  181. package/es/packages/mobile/src/components/base/cellGroup/CellGroup.vue.mjs +2 -2
  182. package/es/packages/mobile/src/components/base/icon/Icon.vue.mjs +4 -4
  183. package/es/packages/mobile/src/components/base/image/Image.vue.mjs +5 -5
  184. package/es/packages/mobile/src/components/base/popup/Popup.vue.mjs +6 -6
  185. package/es/packages/mobile/src/components/custom/appTimeLine/AppTimeLine.vue.mjs +13 -13
  186. package/es/packages/mobile/src/components/custom/approvalBar/ApprovalBar.vue.mjs +22 -22
  187. package/es/packages/mobile/src/components/custom/approvalList/ApprovalCard.vue.mjs +9 -9
  188. package/es/packages/mobile/src/components/custom/approvalList/ApprovalList.vue.mjs +25 -25
  189. package/es/packages/mobile/src/components/custom/document/Document.vue.mjs +17 -17
  190. package/es/packages/mobile/src/components/custom/document/preview/index.vue.mjs +8 -8
  191. package/es/packages/mobile/src/components/custom/timeLineFilter/TimeLineFilter.vue.mjs +8 -8
  192. package/es/packages/mobile/src/components/custom/userSelect/UserSelect.vue.mjs +19 -19
  193. package/es/packages/mobile/src/components/dataDisplay/cardList/CardList.vue.mjs +4 -4
  194. package/es/packages/mobile/src/components/dataDisplay/collapse/Collapse.vue.mjs +2 -2
  195. package/es/packages/mobile/src/components/dataDisplay/collapseItem/CollapseItem.vue.mjs +6 -6
  196. package/es/packages/mobile/src/components/dataDisplay/divider/Divider.vue.mjs +3 -3
  197. package/es/packages/mobile/src/components/dataDisplay/empty/Empty.vue.mjs +3 -3
  198. package/es/packages/mobile/src/components/dataDisplay/highlight/Highlight.vue.mjs +3 -3
  199. package/es/packages/mobile/src/components/dataDisplay/list/List.vue.mjs +4 -4
  200. package/es/packages/mobile/src/components/dataDisplay/menuGrid/MenuGrid.vue.mjs +8 -8
  201. package/es/packages/mobile/src/components/dataDisplay/noticeBar/NoticeBar.vue.mjs +7 -7
  202. package/es/packages/mobile/src/components/dataDisplay/step/Step.vue.mjs +6 -6
  203. package/es/packages/mobile/src/components/dataDisplay/steps/Steps.vue.mjs +7 -7
  204. package/es/packages/mobile/src/components/dataDisplay/swipe/Swipe.vue.mjs +3 -3
  205. package/es/packages/mobile/src/components/dataDisplay/swipeItem/SwipeItem.vue.mjs +3 -3
  206. package/es/packages/mobile/src/components/dataDisplay/table/Table.vue.mjs +15 -15
  207. package/es/packages/mobile/src/components/dataDisplay/textEllipsis/TextEllipsis.vue.mjs +3 -3
  208. package/es/packages/mobile/src/components/dataDisplay/timeLine/TimeLine.vue.mjs +3 -3
  209. package/es/packages/mobile/src/components/feedback/actionSheet/ActionSheet.vue.mjs +8 -8
  210. package/es/packages/mobile/src/components/feedback/dropdownMenu/DropdownMenu.vue.mjs +9 -9
  211. package/es/packages/mobile/src/components/feedback/floatingBubble/FloatingBubble.mjs +9 -9
  212. package/es/packages/mobile/src/components/feedback/floatingPanel/FloatingPanel.vue.mjs +3 -3
  213. package/es/packages/mobile/src/components/feedback/loading/Loading.vue.mjs +3 -3
  214. package/es/packages/mobile/src/components/feedback/pullRefresh/PullRefresh.vue.mjs +4 -4
  215. package/es/packages/mobile/src/components/feedback/quickFilter/QuickFilter.vue.mjs +11 -11
  216. package/es/packages/mobile/src/components/feedback/swipeCell/SwipeCell.vue.mjs +2 -2
  217. package/es/packages/mobile/src/components/form/checkbox/Checkbox.vue.mjs +5 -5
  218. package/es/packages/mobile/src/components/form/checkboxGroup/CheckboxGroup.vue.mjs +6 -6
  219. package/es/packages/mobile/src/components/form/field/Field.vue.mjs +6 -6
  220. package/es/packages/mobile/src/components/form/fieldArea/FieldArea.vue.mjs +14 -14
  221. package/es/packages/mobile/src/components/form/fieldCalendarPicker/FieldCalendarPicker.vue.mjs +17 -17
  222. package/es/packages/mobile/src/components/form/fieldCascaderPicker/fieldCascaderPicker.vue.mjs +13 -13
  223. package/es/packages/mobile/src/components/form/fieldDatePicker/FieldDatePicker.vue.mjs +15 -15
  224. package/es/packages/mobile/src/components/form/fieldDateTimePicker/FieldDateTimePicker.vue.mjs +17 -17
  225. package/es/packages/mobile/src/components/form/fieldIndustry/FieldIndustry.vue.mjs +13 -13
  226. package/es/packages/mobile/src/components/form/fieldPicker/FieldPicker.vue.mjs +14 -14
  227. package/es/packages/mobile/src/components/form/fieldTimePicker/FieldTimePicker.vue.mjs +15 -15
  228. package/es/packages/mobile/src/components/form/form/Form.vue.mjs +3 -3
  229. package/es/packages/mobile/src/components/form/radioGroup/RadioGroup.vue.mjs +7 -7
  230. package/es/packages/mobile/src/components/form/search/Search.vue.mjs +7 -7
  231. package/es/packages/mobile/src/components/form/submitButton/SubmitButton.vue.mjs +6 -6
  232. package/es/packages/mobile/src/components/form/uploader/Uploader.vue.mjs +13 -13
  233. package/es/packages/mobile/src/components/navigation/actionBar/ActionBar.vue.mjs +8 -8
  234. package/es/packages/mobile/src/components/navigation/backTop/BackTop.vue.mjs +5 -5
  235. package/es/packages/mobile/src/components/navigation/grid/Grid.vue.mjs +7 -7
  236. package/es/packages/mobile/src/components/navigation/indexAnchor/IndexAnchor.vue.mjs +4 -4
  237. package/es/packages/mobile/src/components/navigation/indexBar/IndexBar.vue.mjs +3 -3
  238. package/es/packages/mobile/src/components/navigation/navBar/NavBar.vue.mjs +5 -5
  239. package/es/packages/mobile/src/components/navigation/pagination/Pagination.vue.mjs +2 -2
  240. package/es/packages/mobile/src/components/navigation/sidebar/Sidebar.vue.mjs +3 -3
  241. package/es/packages/mobile/src/components/navigation/sidebarItem/SidebarItem.vue.mjs +5 -5
  242. package/es/packages/mobile/src/components/navigation/tabbar/Tabbar.vue.mjs +6 -6
  243. package/es/packages/mobile/src/components/navigation/tabbarItem/TabbarItem.vue.mjs +5 -5
  244. package/es/packages/mobile/src/components/navigation/tabs/Tabs.vue.mjs +8 -8
  245. package/es/packages/mobile/src/components/navigation/treeSelect/TreeSelect.vue.mjs +6 -6
  246. package/es/packages/mobile/src/index.vue.mjs +3 -3
  247. package/es/packages/mobile/src/page.vue.mjs +1 -1
  248. package/es/packages/mobile/src/utils/formatterUtil.mjs +1 -1
  249. package/lib/mobile-designer.css +19 -19
  250. package/lib/mobileDesigner/package.json.js +1 -1
  251. package/lib/node_modules/@vant/area-data/dist/index.esm.js +3924 -0
  252. package/lib/node_modules/@vant/touch-emulator/dist/index.js +126 -0
  253. package/lib/node_modules/@vant/use/dist/index.esm.js +304 -0
  254. package/lib/node_modules/@vue/shared/dist/shared.esm-bundler.js +67 -0
  255. package/lib/node_modules/moment/dist/moment.js +3997 -0
  256. package/lib/node_modules/vant/es/action-bar/ActionBar.js +45 -0
  257. package/lib/node_modules/vant/es/action-bar/index.js +7 -0
  258. package/lib/node_modules/vant/es/action-bar-button/ActionBarButton.js +74 -0
  259. package/lib/node_modules/vant/es/action-bar-button/index.js +7 -0
  260. package/lib/node_modules/vant/es/action-sheet/ActionSheet.js +142 -0
  261. package/lib/node_modules/vant/es/action-sheet/index.js +7 -0
  262. package/lib/node_modules/vant/es/back-top/BackTop.js +119 -0
  263. package/lib/node_modules/vant/es/back-top/index.js +7 -0
  264. package/lib/node_modules/vant/es/button/Button.js +152 -0
  265. package/lib/node_modules/vant/es/button/index.js +7 -0
  266. package/lib/node_modules/vant/es/calendar/Calendar.js +454 -0
  267. package/lib/node_modules/vant/es/calendar/CalendarDay.js +132 -0
  268. package/lib/node_modules/vant/es/calendar/CalendarHeader.js +115 -0
  269. package/lib/node_modules/vant/es/calendar/CalendarMonth.js +217 -0
  270. package/lib/node_modules/vant/es/calendar/index.js +7 -0
  271. package/lib/node_modules/vant/es/calendar/utils.js +89 -0
  272. package/lib/node_modules/vant/es/cascader/Cascader.js +243 -0
  273. package/lib/node_modules/vant/es/cascader/index.js +7 -0
  274. package/lib/node_modules/vant/es/cell/Cell.js +133 -0
  275. package/lib/node_modules/vant/es/cell/index.js +7 -0
  276. package/lib/node_modules/vant/es/cell-group/CellGroup.js +46 -0
  277. package/lib/node_modules/vant/es/cell-group/index.js +7 -0
  278. package/lib/node_modules/vant/es/checkbox/Checkbox.js +91 -0
  279. package/lib/node_modules/vant/es/checkbox/Checker.js +144 -0
  280. package/lib/node_modules/vant/es/checkbox/index.js +7 -0
  281. package/lib/node_modules/vant/es/checkbox-group/CheckboxGroup.js +73 -0
  282. package/lib/node_modules/vant/es/checkbox-group/index.js +7 -0
  283. package/lib/node_modules/vant/es/collapse/Collapse.js +96 -0
  284. package/lib/node_modules/vant/es/collapse/index.js +7 -0
  285. package/lib/node_modules/vant/es/collapse-item/CollapseItem.js +135 -0
  286. package/lib/node_modules/vant/es/collapse-item/index.js +7 -0
  287. package/lib/node_modules/vant/es/composables/on-popup-reopen.js +16 -0
  288. package/lib/node_modules/vant/es/composables/use-expose.js +11 -0
  289. package/lib/node_modules/vant/es/composables/use-global-z-index.js +4 -0
  290. package/lib/node_modules/vant/es/composables/use-height.js +24 -0
  291. package/lib/node_modules/vant/es/composables/use-id.js +10 -0
  292. package/lib/node_modules/vant/es/composables/use-lazy-render.js +17 -0
  293. package/lib/node_modules/vant/es/composables/use-lock-scroll.js +58 -0
  294. package/lib/node_modules/vant/es/composables/use-placeholder.js +14 -0
  295. package/lib/node_modules/vant/es/composables/use-refs.js +20 -0
  296. package/lib/node_modules/vant/es/composables/use-route.js +27 -0
  297. package/lib/node_modules/vant/es/composables/use-scope-id.js +9 -0
  298. package/lib/node_modules/vant/es/composables/use-sync-prop-ref.js +18 -0
  299. package/lib/node_modules/vant/es/composables/use-tab-status.js +7 -0
  300. package/lib/node_modules/vant/es/composables/use-touch.js +68 -0
  301. package/lib/node_modules/vant/es/composables/use-visibility-change.js +30 -0
  302. package/lib/node_modules/vant/es/date-picker/DatePicker.js +131 -0
  303. package/lib/node_modules/vant/es/date-picker/index.js +7 -0
  304. package/lib/node_modules/vant/es/date-picker/utils.js +52 -0
  305. package/lib/node_modules/vant/es/dialog/Dialog.js +226 -0
  306. package/lib/node_modules/vant/es/dialog/function-call.js +77 -0
  307. package/lib/node_modules/vant/es/dialog/index.js +6 -0
  308. package/lib/node_modules/vant/es/divider/Divider.js +34 -0
  309. package/lib/node_modules/vant/es/divider/index.js +7 -0
  310. package/lib/node_modules/vant/es/dropdown-item/DropdownItem.js +201 -0
  311. package/lib/node_modules/vant/es/dropdown-item/index.js +7 -0
  312. package/lib/node_modules/vant/es/dropdown-menu/DropdownMenu.js +153 -0
  313. package/lib/node_modules/vant/es/dropdown-menu/index.js +7 -0
  314. package/lib/node_modules/vant/es/empty/Empty.js +345 -0
  315. package/lib/node_modules/vant/es/empty/index.js +7 -0
  316. package/lib/node_modules/vant/es/field/Field.js +555 -0
  317. package/lib/node_modules/vant/es/field/index.js +7 -0
  318. package/lib/node_modules/vant/es/field/utils.js +98 -0
  319. package/lib/node_modules/vant/es/floating-panel/FloatingPanel.js +138 -0
  320. package/lib/node_modules/vant/es/floating-panel/index.js +7 -0
  321. package/lib/node_modules/vant/es/form/Form.js +171 -0
  322. package/lib/node_modules/vant/es/form/index.js +7 -0
  323. package/lib/node_modules/vant/es/grid/Grid.js +49 -0
  324. package/lib/node_modules/vant/es/grid/index.js +7 -0
  325. package/lib/node_modules/vant/es/grid-item/GridItem.js +146 -0
  326. package/lib/node_modules/vant/es/grid-item/index.js +7 -0
  327. package/lib/node_modules/vant/es/highlight/Highlight.js +129 -0
  328. package/lib/node_modules/vant/es/highlight/index.js +7 -0
  329. package/lib/node_modules/vant/es/icon/Icon.js +1 -1
  330. package/lib/node_modules/vant/es/icon/index.js +3 -1
  331. package/lib/node_modules/vant/es/image/Image.js +177 -0
  332. package/lib/node_modules/vant/es/image/index.js +7 -0
  333. package/lib/node_modules/vant/es/image-preview/ImagePreview.js +201 -0
  334. package/lib/node_modules/vant/es/image-preview/ImagePreviewItem.js +342 -0
  335. package/lib/node_modules/vant/es/image-preview/function-call.js +67 -0
  336. package/lib/node_modules/vant/es/image-preview/index.js +7 -0
  337. package/lib/node_modules/vant/es/index-anchor/IndexAnchor.js +88 -0
  338. package/lib/node_modules/vant/es/index-anchor/index.js +7 -0
  339. package/lib/node_modules/vant/es/index-bar/IndexBar.js +237 -0
  340. package/lib/node_modules/vant/es/index-bar/index.js +7 -0
  341. package/lib/node_modules/vant/es/lazyload/vue-lazyload/util.js +23 -0
  342. package/lib/node_modules/vant/es/list/List.js +145 -0
  343. package/lib/node_modules/vant/es/list/index.js +7 -0
  344. package/lib/node_modules/vant/es/loading/Loading.js +73 -0
  345. package/lib/node_modules/vant/es/loading/index.js +7 -0
  346. package/lib/node_modules/vant/es/nav-bar/NavBar.js +108 -0
  347. package/lib/node_modules/vant/es/nav-bar/index.js +7 -0
  348. package/lib/node_modules/vant/es/notice-bar/NoticeBar.js +167 -0
  349. package/lib/node_modules/vant/es/notice-bar/index.js +7 -0
  350. package/lib/node_modules/vant/es/notify/Notify.js +44 -0
  351. package/lib/node_modules/vant/es/notify/function-call.js +62 -0
  352. package/lib/node_modules/vant/es/overlay/Overlay.js +69 -0
  353. package/lib/node_modules/vant/es/overlay/index.js +7 -0
  354. package/lib/node_modules/vant/es/pagination/Pagination.js +157 -0
  355. package/lib/node_modules/vant/es/pagination/index.js +7 -0
  356. package/lib/node_modules/vant/es/picker/Picker.js +218 -0
  357. package/lib/node_modules/vant/es/picker/PickerColumn.js +206 -0
  358. package/lib/node_modules/vant/es/picker/PickerToolbar.js +67 -0
  359. package/lib/node_modules/vant/es/picker/index.js +7 -0
  360. package/lib/node_modules/vant/es/picker/utils.js +80 -0
  361. package/lib/node_modules/vant/es/picker-group/PickerGroup.js +83 -0
  362. package/lib/node_modules/vant/es/picker-group/index.js +7 -0
  363. package/lib/node_modules/vant/es/popup/Popup.js +224 -0
  364. package/lib/node_modules/vant/es/popup/index.js +7 -0
  365. package/lib/node_modules/vant/es/popup/shared.js +34 -0
  366. package/lib/node_modules/vant/es/pull-refresh/PullRefresh.js +195 -0
  367. package/lib/node_modules/vant/es/pull-refresh/index.js +7 -0
  368. package/lib/node_modules/vant/es/radio/Radio.js +45 -0
  369. package/lib/node_modules/vant/es/radio/index.js +7 -0
  370. package/lib/node_modules/vant/es/radio-group/RadioGroup.js +46 -0
  371. package/lib/node_modules/vant/es/radio-group/index.js +7 -0
  372. package/lib/node_modules/vant/es/search/Search.js +124 -0
  373. package/lib/node_modules/vant/es/search/index.js +7 -0
  374. package/lib/node_modules/vant/es/sidebar/Sidebar.js +45 -0
  375. package/lib/node_modules/vant/es/sidebar/index.js +7 -0
  376. package/lib/node_modules/vant/es/sidebar-item/SidebarItem.js +71 -0
  377. package/lib/node_modules/vant/es/sidebar-item/index.js +7 -0
  378. package/lib/node_modules/vant/es/step/Step.js +115 -0
  379. package/lib/node_modules/vant/es/step/index.js +6 -0
  380. package/lib/node_modules/vant/es/steps/Steps.js +47 -0
  381. package/lib/node_modules/vant/es/steps/index.js +7 -0
  382. package/lib/node_modules/vant/es/sticky/Sticky.js +142 -0
  383. package/lib/node_modules/vant/es/sticky/index.js +7 -0
  384. package/lib/node_modules/vant/es/swipe/Swipe.js +378 -0
  385. package/lib/node_modules/vant/es/swipe/index.js +7 -0
  386. package/lib/node_modules/vant/es/swipe-cell/SwipeCell.js +179 -0
  387. package/lib/node_modules/vant/es/swipe-cell/index.js +7 -0
  388. package/lib/node_modules/vant/es/swipe-item/SwipeItem.js +78 -0
  389. package/lib/node_modules/vant/es/swipe-item/index.js +6 -0
  390. package/lib/node_modules/vant/es/tab/Tab.js +153 -0
  391. package/lib/node_modules/vant/es/tab/TabTitle.js +92 -0
  392. package/lib/node_modules/vant/es/tab/index.js +7 -0
  393. package/lib/node_modules/vant/es/tabbar/Tabbar.js +88 -0
  394. package/lib/node_modules/vant/es/tabbar/index.js +7 -0
  395. package/lib/node_modules/vant/es/tabbar-item/TabbarItem.js +119 -0
  396. package/lib/node_modules/vant/es/tabbar-item/index.js +7 -0
  397. package/lib/node_modules/vant/es/tabs/Tabs.js +363 -0
  398. package/lib/node_modules/vant/es/tabs/TabsContent.js +68 -0
  399. package/lib/node_modules/vant/es/tabs/index.js +7 -0
  400. package/lib/node_modules/vant/es/tabs/utils.js +49 -0
  401. package/lib/node_modules/vant/es/tag/Tag.js +80 -0
  402. package/lib/node_modules/vant/es/tag/index.js +7 -0
  403. package/lib/node_modules/vant/es/text-ellipsis/TextEllipsis.js +169 -0
  404. package/lib/node_modules/vant/es/text-ellipsis/index.js +7 -0
  405. package/lib/node_modules/vant/es/time-picker/TimePicker.js +137 -0
  406. package/lib/node_modules/vant/es/time-picker/index.js +7 -0
  407. package/lib/node_modules/vant/es/toast/Toast.js +129 -0
  408. package/lib/node_modules/vant/es/toast/function-call.js +124 -0
  409. package/lib/node_modules/vant/es/toast/index.js +6 -0
  410. package/lib/node_modules/vant/es/toast/lock-click.js +17 -0
  411. package/lib/node_modules/vant/es/tree-select/TreeSelect.js +105 -0
  412. package/lib/node_modules/vant/es/tree-select/index.js +7 -0
  413. package/lib/node_modules/vant/es/uploader/Uploader.js +275 -0
  414. package/lib/node_modules/vant/es/uploader/UploaderPreviewItem.js +133 -0
  415. package/lib/node_modules/vant/es/uploader/index.js +7 -0
  416. package/lib/node_modules/vant/es/uploader/utils.js +70 -0
  417. package/lib/node_modules/vant/es/utils/basic.js +27 -0
  418. package/lib/node_modules/vant/es/utils/closest.js +8 -0
  419. package/lib/node_modules/vant/es/utils/constant.js +24 -0
  420. package/lib/node_modules/vant/es/utils/dom.js +84 -0
  421. package/lib/node_modules/vant/es/utils/format.js +99 -0
  422. package/lib/node_modules/vant/es/utils/interceptor.js +29 -0
  423. package/lib/node_modules/vant/es/utils/mount-component.js +39 -0
  424. package/lib/node_modules/vant/es/utils/props.js +22 -0
  425. package/lib/packages/mobile/index.js +5 -5
  426. package/lib/packages/mobile/src/components/base/button/Button.vue.js +6 -6
  427. package/lib/packages/mobile/src/components/base/card/Card.vue.js +15 -15
  428. package/lib/packages/mobile/src/components/base/cell/Cell.vue.js +5 -5
  429. package/lib/packages/mobile/src/components/base/cellGroup/CellGroup.vue.js +2 -2
  430. package/lib/packages/mobile/src/components/base/icon/Icon.vue.js +4 -4
  431. package/lib/packages/mobile/src/components/base/image/Image.vue.js +5 -5
  432. package/lib/packages/mobile/src/components/base/popup/Popup.vue.js +6 -6
  433. package/lib/packages/mobile/src/components/custom/appTimeLine/AppTimeLine.vue.js +13 -13
  434. package/lib/packages/mobile/src/components/custom/approvalBar/ApprovalBar.vue.js +22 -22
  435. package/lib/packages/mobile/src/components/custom/approvalList/ApprovalCard.vue.js +9 -9
  436. package/lib/packages/mobile/src/components/custom/approvalList/ApprovalList.vue.js +25 -25
  437. package/lib/packages/mobile/src/components/custom/document/Document.vue.js +17 -17
  438. package/lib/packages/mobile/src/components/custom/document/preview/index.vue.js +8 -8
  439. package/lib/packages/mobile/src/components/custom/timeLineFilter/TimeLineFilter.vue.js +8 -8
  440. package/lib/packages/mobile/src/components/custom/userSelect/UserSelect.vue.js +19 -19
  441. package/lib/packages/mobile/src/components/dataDisplay/cardList/CardList.vue.js +4 -4
  442. package/lib/packages/mobile/src/components/dataDisplay/collapse/Collapse.vue.js +2 -2
  443. package/lib/packages/mobile/src/components/dataDisplay/collapseItem/CollapseItem.vue.js +6 -6
  444. package/lib/packages/mobile/src/components/dataDisplay/divider/Divider.vue.js +3 -3
  445. package/lib/packages/mobile/src/components/dataDisplay/empty/Empty.vue.js +3 -3
  446. package/lib/packages/mobile/src/components/dataDisplay/highlight/Highlight.vue.js +3 -3
  447. package/lib/packages/mobile/src/components/dataDisplay/list/List.vue.js +4 -4
  448. package/lib/packages/mobile/src/components/dataDisplay/menuGrid/MenuGrid.vue.js +8 -8
  449. package/lib/packages/mobile/src/components/dataDisplay/noticeBar/NoticeBar.vue.js +7 -7
  450. package/lib/packages/mobile/src/components/dataDisplay/step/Step.vue.js +6 -6
  451. package/lib/packages/mobile/src/components/dataDisplay/steps/Steps.vue.js +7 -7
  452. package/lib/packages/mobile/src/components/dataDisplay/swipe/Swipe.vue.js +3 -3
  453. package/lib/packages/mobile/src/components/dataDisplay/swipeItem/SwipeItem.vue.js +3 -3
  454. package/lib/packages/mobile/src/components/dataDisplay/table/Table.vue.js +15 -15
  455. package/lib/packages/mobile/src/components/dataDisplay/textEllipsis/TextEllipsis.vue.js +3 -3
  456. package/lib/packages/mobile/src/components/dataDisplay/timeLine/TimeLine.vue.js +3 -3
  457. package/lib/packages/mobile/src/components/feedback/actionSheet/ActionSheet.vue.js +8 -8
  458. package/lib/packages/mobile/src/components/feedback/dropdownMenu/DropdownMenu.vue.js +9 -9
  459. package/lib/packages/mobile/src/components/feedback/floatingBubble/FloatingBubble.js +9 -9
  460. package/lib/packages/mobile/src/components/feedback/floatingPanel/FloatingPanel.vue.js +3 -3
  461. package/lib/packages/mobile/src/components/feedback/loading/Loading.vue.js +3 -3
  462. package/lib/packages/mobile/src/components/feedback/pullRefresh/PullRefresh.vue.js +4 -4
  463. package/lib/packages/mobile/src/components/feedback/quickFilter/QuickFilter.vue.js +11 -11
  464. package/lib/packages/mobile/src/components/feedback/swipeCell/SwipeCell.vue.js +2 -2
  465. package/lib/packages/mobile/src/components/form/checkbox/Checkbox.vue.js +5 -5
  466. package/lib/packages/mobile/src/components/form/checkboxGroup/CheckboxGroup.vue.js +6 -6
  467. package/lib/packages/mobile/src/components/form/field/Field.vue.js +6 -6
  468. package/lib/packages/mobile/src/components/form/fieldArea/FieldArea.vue.js +22 -22
  469. package/lib/packages/mobile/src/components/form/fieldCalendarPicker/FieldCalendarPicker.vue.js +17 -17
  470. package/lib/packages/mobile/src/components/form/fieldCascaderPicker/fieldCascaderPicker.vue.js +13 -13
  471. package/lib/packages/mobile/src/components/form/fieldDatePicker/FieldDatePicker.vue.js +15 -15
  472. package/lib/packages/mobile/src/components/form/fieldDateTimePicker/FieldDateTimePicker.vue.js +17 -17
  473. package/lib/packages/mobile/src/components/form/fieldIndustry/FieldIndustry.vue.js +13 -13
  474. package/lib/packages/mobile/src/components/form/fieldPicker/FieldPicker.vue.js +14 -14
  475. package/lib/packages/mobile/src/components/form/fieldTimePicker/FieldTimePicker.vue.js +15 -15
  476. package/lib/packages/mobile/src/components/form/form/Form.vue.js +3 -3
  477. package/lib/packages/mobile/src/components/form/radioGroup/RadioGroup.vue.js +7 -7
  478. package/lib/packages/mobile/src/components/form/search/Search.vue.js +7 -7
  479. package/lib/packages/mobile/src/components/form/submitButton/SubmitButton.vue.js +6 -6
  480. package/lib/packages/mobile/src/components/form/uploader/Uploader.vue.js +13 -13
  481. package/lib/packages/mobile/src/components/navigation/actionBar/ActionBar.vue.js +8 -8
  482. package/lib/packages/mobile/src/components/navigation/backTop/BackTop.vue.js +5 -5
  483. package/lib/packages/mobile/src/components/navigation/grid/Grid.vue.js +7 -7
  484. package/lib/packages/mobile/src/components/navigation/indexAnchor/IndexAnchor.vue.js +4 -4
  485. package/lib/packages/mobile/src/components/navigation/indexBar/IndexBar.vue.js +3 -3
  486. package/lib/packages/mobile/src/components/navigation/navBar/NavBar.vue.js +5 -5
  487. package/lib/packages/mobile/src/components/navigation/pagination/Pagination.vue.js +2 -2
  488. package/lib/packages/mobile/src/components/navigation/sidebar/Sidebar.vue.js +3 -3
  489. package/lib/packages/mobile/src/components/navigation/sidebarItem/SidebarItem.vue.js +5 -5
  490. package/lib/packages/mobile/src/components/navigation/tabbar/Tabbar.vue.js +6 -6
  491. package/lib/packages/mobile/src/components/navigation/tabbarItem/TabbarItem.vue.js +5 -5
  492. package/lib/packages/mobile/src/components/navigation/tabs/Tabs.vue.js +8 -8
  493. package/lib/packages/mobile/src/components/navigation/treeSelect/TreeSelect.vue.js +6 -6
  494. package/lib/packages/mobile/src/index.vue.js +3 -3
  495. package/lib/packages/mobile/src/page.vue.js +1 -1
  496. package/lib/packages/mobile/src/utils/formatterUtil.js +1 -1
  497. package/package.json +1 -1
@@ -0,0 +1,3997 @@
1
+ //! moment.js
2
+ //! version : 2.30.1
3
+ //! authors : Tim Wood, Iskren Chernev, Moment.js contributors
4
+ //! license : MIT
5
+ //! momentjs.com
6
+ var hookCallback;
7
+ function hooks() {
8
+ return hookCallback.apply(null, arguments);
9
+ }
10
+ function setHookCallback(callback) {
11
+ hookCallback = callback;
12
+ }
13
+ function isArray(input) {
14
+ return input instanceof Array || Object.prototype.toString.call(input) === "[object Array]";
15
+ }
16
+ function isObject(input) {
17
+ return input != null && Object.prototype.toString.call(input) === "[object Object]";
18
+ }
19
+ function hasOwnProp(a, b) {
20
+ return Object.prototype.hasOwnProperty.call(a, b);
21
+ }
22
+ function isObjectEmpty(obj) {
23
+ if (Object.getOwnPropertyNames) {
24
+ return Object.getOwnPropertyNames(obj).length === 0;
25
+ } else {
26
+ var k;
27
+ for (k in obj) {
28
+ if (hasOwnProp(obj, k)) {
29
+ return false;
30
+ }
31
+ }
32
+ return true;
33
+ }
34
+ }
35
+ function isUndefined(input) {
36
+ return input === void 0;
37
+ }
38
+ function isNumber(input) {
39
+ return typeof input === "number" || Object.prototype.toString.call(input) === "[object Number]";
40
+ }
41
+ function isDate(input) {
42
+ return input instanceof Date || Object.prototype.toString.call(input) === "[object Date]";
43
+ }
44
+ function map(arr, fn) {
45
+ var res = [], i, arrLen = arr.length;
46
+ for (i = 0; i < arrLen; ++i) {
47
+ res.push(fn(arr[i], i));
48
+ }
49
+ return res;
50
+ }
51
+ function extend(a, b) {
52
+ for (var i in b) {
53
+ if (hasOwnProp(b, i)) {
54
+ a[i] = b[i];
55
+ }
56
+ }
57
+ if (hasOwnProp(b, "toString")) {
58
+ a.toString = b.toString;
59
+ }
60
+ if (hasOwnProp(b, "valueOf")) {
61
+ a.valueOf = b.valueOf;
62
+ }
63
+ return a;
64
+ }
65
+ function createUTC(input, format2, locale2, strict) {
66
+ return createLocalOrUTC(input, format2, locale2, strict, true).utc();
67
+ }
68
+ function defaultParsingFlags() {
69
+ return {
70
+ empty: false,
71
+ unusedTokens: [],
72
+ unusedInput: [],
73
+ overflow: -2,
74
+ charsLeftOver: 0,
75
+ nullInput: false,
76
+ invalidEra: null,
77
+ invalidMonth: null,
78
+ invalidFormat: false,
79
+ userInvalidated: false,
80
+ iso: false,
81
+ parsedDateParts: [],
82
+ era: null,
83
+ meridiem: null,
84
+ rfc2822: false,
85
+ weekdayMismatch: false
86
+ };
87
+ }
88
+ function getParsingFlags(m) {
89
+ if (m._pf == null) {
90
+ m._pf = defaultParsingFlags();
91
+ }
92
+ return m._pf;
93
+ }
94
+ var some;
95
+ if (Array.prototype.some) {
96
+ some = Array.prototype.some;
97
+ } else {
98
+ some = function(fun) {
99
+ var t = Object(this), len = t.length >>> 0, i;
100
+ for (i = 0; i < len; i++) {
101
+ if (i in t && fun.call(this, t[i], i, t)) {
102
+ return true;
103
+ }
104
+ }
105
+ return false;
106
+ };
107
+ }
108
+ function isValid(m) {
109
+ var flags = null, parsedParts = false, isNowValid = m._d && !isNaN(m._d.getTime());
110
+ if (isNowValid) {
111
+ flags = getParsingFlags(m);
112
+ parsedParts = some.call(flags.parsedDateParts, function(i) {
113
+ return i != null;
114
+ });
115
+ isNowValid = flags.overflow < 0 && !flags.empty && !flags.invalidEra && !flags.invalidMonth && !flags.invalidWeekday && !flags.weekdayMismatch && !flags.nullInput && !flags.invalidFormat && !flags.userInvalidated && (!flags.meridiem || flags.meridiem && parsedParts);
116
+ if (m._strict) {
117
+ isNowValid = isNowValid && flags.charsLeftOver === 0 && flags.unusedTokens.length === 0 && flags.bigHour === void 0;
118
+ }
119
+ }
120
+ if (Object.isFrozen == null || !Object.isFrozen(m)) {
121
+ m._isValid = isNowValid;
122
+ } else {
123
+ return isNowValid;
124
+ }
125
+ return m._isValid;
126
+ }
127
+ function createInvalid(flags) {
128
+ var m = createUTC(NaN);
129
+ if (flags != null) {
130
+ extend(getParsingFlags(m), flags);
131
+ } else {
132
+ getParsingFlags(m).userInvalidated = true;
133
+ }
134
+ return m;
135
+ }
136
+ var momentProperties = hooks.momentProperties = [], updateInProgress = false;
137
+ function copyConfig(to2, from2) {
138
+ var i, prop, val, momentPropertiesLen = momentProperties.length;
139
+ if (!isUndefined(from2._isAMomentObject)) {
140
+ to2._isAMomentObject = from2._isAMomentObject;
141
+ }
142
+ if (!isUndefined(from2._i)) {
143
+ to2._i = from2._i;
144
+ }
145
+ if (!isUndefined(from2._f)) {
146
+ to2._f = from2._f;
147
+ }
148
+ if (!isUndefined(from2._l)) {
149
+ to2._l = from2._l;
150
+ }
151
+ if (!isUndefined(from2._strict)) {
152
+ to2._strict = from2._strict;
153
+ }
154
+ if (!isUndefined(from2._tzm)) {
155
+ to2._tzm = from2._tzm;
156
+ }
157
+ if (!isUndefined(from2._isUTC)) {
158
+ to2._isUTC = from2._isUTC;
159
+ }
160
+ if (!isUndefined(from2._offset)) {
161
+ to2._offset = from2._offset;
162
+ }
163
+ if (!isUndefined(from2._pf)) {
164
+ to2._pf = getParsingFlags(from2);
165
+ }
166
+ if (!isUndefined(from2._locale)) {
167
+ to2._locale = from2._locale;
168
+ }
169
+ if (momentPropertiesLen > 0) {
170
+ for (i = 0; i < momentPropertiesLen; i++) {
171
+ prop = momentProperties[i];
172
+ val = from2[prop];
173
+ if (!isUndefined(val)) {
174
+ to2[prop] = val;
175
+ }
176
+ }
177
+ }
178
+ return to2;
179
+ }
180
+ function Moment(config) {
181
+ copyConfig(this, config);
182
+ this._d = new Date(config._d != null ? config._d.getTime() : NaN);
183
+ if (!this.isValid()) {
184
+ this._d = /* @__PURE__ */ new Date(NaN);
185
+ }
186
+ if (updateInProgress === false) {
187
+ updateInProgress = true;
188
+ hooks.updateOffset(this);
189
+ updateInProgress = false;
190
+ }
191
+ }
192
+ function isMoment(obj) {
193
+ return obj instanceof Moment || obj != null && obj._isAMomentObject != null;
194
+ }
195
+ function warn(msg) {
196
+ if (hooks.suppressDeprecationWarnings === false && typeof console !== "undefined" && console.warn) {
197
+ console.warn("Deprecation warning: " + msg);
198
+ }
199
+ }
200
+ function deprecate(msg, fn) {
201
+ var firstTime = true;
202
+ return extend(function() {
203
+ if (hooks.deprecationHandler != null) {
204
+ hooks.deprecationHandler(null, msg);
205
+ }
206
+ if (firstTime) {
207
+ var args = [], arg, i, key, argLen = arguments.length;
208
+ for (i = 0; i < argLen; i++) {
209
+ arg = "";
210
+ if (typeof arguments[i] === "object") {
211
+ arg += "\n[" + i + "] ";
212
+ for (key in arguments[0]) {
213
+ if (hasOwnProp(arguments[0], key)) {
214
+ arg += key + ": " + arguments[0][key] + ", ";
215
+ }
216
+ }
217
+ arg = arg.slice(0, -2);
218
+ } else {
219
+ arg = arguments[i];
220
+ }
221
+ args.push(arg);
222
+ }
223
+ warn(
224
+ msg + "\nArguments: " + Array.prototype.slice.call(args).join("") + "\n" + new Error().stack
225
+ );
226
+ firstTime = false;
227
+ }
228
+ return fn.apply(this, arguments);
229
+ }, fn);
230
+ }
231
+ var deprecations = {};
232
+ function deprecateSimple(name, msg) {
233
+ if (hooks.deprecationHandler != null) {
234
+ hooks.deprecationHandler(name, msg);
235
+ }
236
+ if (!deprecations[name]) {
237
+ warn(msg);
238
+ deprecations[name] = true;
239
+ }
240
+ }
241
+ hooks.suppressDeprecationWarnings = false;
242
+ hooks.deprecationHandler = null;
243
+ function isFunction(input) {
244
+ return typeof Function !== "undefined" && input instanceof Function || Object.prototype.toString.call(input) === "[object Function]";
245
+ }
246
+ function set(config) {
247
+ var prop, i;
248
+ for (i in config) {
249
+ if (hasOwnProp(config, i)) {
250
+ prop = config[i];
251
+ if (isFunction(prop)) {
252
+ this[i] = prop;
253
+ } else {
254
+ this["_" + i] = prop;
255
+ }
256
+ }
257
+ }
258
+ this._config = config;
259
+ this._dayOfMonthOrdinalParseLenient = new RegExp(
260
+ (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + "|" + /\d{1,2}/.source
261
+ );
262
+ }
263
+ function mergeConfigs(parentConfig, childConfig) {
264
+ var res = extend({}, parentConfig), prop;
265
+ for (prop in childConfig) {
266
+ if (hasOwnProp(childConfig, prop)) {
267
+ if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {
268
+ res[prop] = {};
269
+ extend(res[prop], parentConfig[prop]);
270
+ extend(res[prop], childConfig[prop]);
271
+ } else if (childConfig[prop] != null) {
272
+ res[prop] = childConfig[prop];
273
+ } else {
274
+ delete res[prop];
275
+ }
276
+ }
277
+ }
278
+ for (prop in parentConfig) {
279
+ if (hasOwnProp(parentConfig, prop) && !hasOwnProp(childConfig, prop) && isObject(parentConfig[prop])) {
280
+ res[prop] = extend({}, res[prop]);
281
+ }
282
+ }
283
+ return res;
284
+ }
285
+ function Locale(config) {
286
+ if (config != null) {
287
+ this.set(config);
288
+ }
289
+ }
290
+ var keys;
291
+ if (Object.keys) {
292
+ keys = Object.keys;
293
+ } else {
294
+ keys = function(obj) {
295
+ var i, res = [];
296
+ for (i in obj) {
297
+ if (hasOwnProp(obj, i)) {
298
+ res.push(i);
299
+ }
300
+ }
301
+ return res;
302
+ };
303
+ }
304
+ var defaultCalendar = {
305
+ sameDay: "[Today at] LT",
306
+ nextDay: "[Tomorrow at] LT",
307
+ nextWeek: "dddd [at] LT",
308
+ lastDay: "[Yesterday at] LT",
309
+ lastWeek: "[Last] dddd [at] LT",
310
+ sameElse: "L"
311
+ };
312
+ function calendar(key, mom, now2) {
313
+ var output = this._calendar[key] || this._calendar["sameElse"];
314
+ return isFunction(output) ? output.call(mom, now2) : output;
315
+ }
316
+ function zeroFill(number, targetLength, forceSign) {
317
+ var absNumber = "" + Math.abs(number), zerosToFill = targetLength - absNumber.length, sign2 = number >= 0;
318
+ return (sign2 ? forceSign ? "+" : "" : "-") + Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;
319
+ }
320
+ var formattingTokens = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g, localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, formatFunctions = {}, formatTokenFunctions = {};
321
+ function addFormatToken(token2, padded, ordinal2, callback) {
322
+ var func = callback;
323
+ if (typeof callback === "string") {
324
+ func = function() {
325
+ return this[callback]();
326
+ };
327
+ }
328
+ if (token2) {
329
+ formatTokenFunctions[token2] = func;
330
+ }
331
+ if (padded) {
332
+ formatTokenFunctions[padded[0]] = function() {
333
+ return zeroFill(func.apply(this, arguments), padded[1], padded[2]);
334
+ };
335
+ }
336
+ if (ordinal2) {
337
+ formatTokenFunctions[ordinal2] = function() {
338
+ return this.localeData().ordinal(
339
+ func.apply(this, arguments),
340
+ token2
341
+ );
342
+ };
343
+ }
344
+ }
345
+ function removeFormattingTokens(input) {
346
+ if (input.match(/\[[\s\S]/)) {
347
+ return input.replace(/^\[|\]$/g, "");
348
+ }
349
+ return input.replace(/\\/g, "");
350
+ }
351
+ function makeFormatFunction(format2) {
352
+ var array = format2.match(formattingTokens), i, length;
353
+ for (i = 0, length = array.length; i < length; i++) {
354
+ if (formatTokenFunctions[array[i]]) {
355
+ array[i] = formatTokenFunctions[array[i]];
356
+ } else {
357
+ array[i] = removeFormattingTokens(array[i]);
358
+ }
359
+ }
360
+ return function(mom) {
361
+ var output = "", i2;
362
+ for (i2 = 0; i2 < length; i2++) {
363
+ output += isFunction(array[i2]) ? array[i2].call(mom, format2) : array[i2];
364
+ }
365
+ return output;
366
+ };
367
+ }
368
+ function formatMoment(m, format2) {
369
+ if (!m.isValid()) {
370
+ return m.localeData().invalidDate();
371
+ }
372
+ format2 = expandFormat(format2, m.localeData());
373
+ formatFunctions[format2] = formatFunctions[format2] || makeFormatFunction(format2);
374
+ return formatFunctions[format2](m);
375
+ }
376
+ function expandFormat(format2, locale2) {
377
+ var i = 5;
378
+ function replaceLongDateFormatTokens(input) {
379
+ return locale2.longDateFormat(input) || input;
380
+ }
381
+ localFormattingTokens.lastIndex = 0;
382
+ while (i >= 0 && localFormattingTokens.test(format2)) {
383
+ format2 = format2.replace(
384
+ localFormattingTokens,
385
+ replaceLongDateFormatTokens
386
+ );
387
+ localFormattingTokens.lastIndex = 0;
388
+ i -= 1;
389
+ }
390
+ return format2;
391
+ }
392
+ var defaultLongDateFormat = {
393
+ LTS: "h:mm:ss A",
394
+ LT: "h:mm A",
395
+ L: "MM/DD/YYYY",
396
+ LL: "MMMM D, YYYY",
397
+ LLL: "MMMM D, YYYY h:mm A",
398
+ LLLL: "dddd, MMMM D, YYYY h:mm A"
399
+ };
400
+ function longDateFormat(key) {
401
+ var format2 = this._longDateFormat[key], formatUpper = this._longDateFormat[key.toUpperCase()];
402
+ if (format2 || !formatUpper) {
403
+ return format2;
404
+ }
405
+ this._longDateFormat[key] = formatUpper.match(formattingTokens).map(function(tok) {
406
+ if (tok === "MMMM" || tok === "MM" || tok === "DD" || tok === "dddd") {
407
+ return tok.slice(1);
408
+ }
409
+ return tok;
410
+ }).join("");
411
+ return this._longDateFormat[key];
412
+ }
413
+ var defaultInvalidDate = "Invalid date";
414
+ function invalidDate() {
415
+ return this._invalidDate;
416
+ }
417
+ var defaultOrdinal = "%d", defaultDayOfMonthOrdinalParse = /\d{1,2}/;
418
+ function ordinal(number) {
419
+ return this._ordinal.replace("%d", number);
420
+ }
421
+ var defaultRelativeTime = {
422
+ future: "in %s",
423
+ past: "%s ago",
424
+ s: "a few seconds",
425
+ ss: "%d seconds",
426
+ m: "a minute",
427
+ mm: "%d minutes",
428
+ h: "an hour",
429
+ hh: "%d hours",
430
+ d: "a day",
431
+ dd: "%d days",
432
+ w: "a week",
433
+ ww: "%d weeks",
434
+ M: "a month",
435
+ MM: "%d months",
436
+ y: "a year",
437
+ yy: "%d years"
438
+ };
439
+ function relativeTime(number, withoutSuffix, string, isFuture) {
440
+ var output = this._relativeTime[string];
441
+ return isFunction(output) ? output(number, withoutSuffix, string, isFuture) : output.replace(/%d/i, number);
442
+ }
443
+ function pastFuture(diff2, output) {
444
+ var format2 = this._relativeTime[diff2 > 0 ? "future" : "past"];
445
+ return isFunction(format2) ? format2(output) : format2.replace(/%s/i, output);
446
+ }
447
+ var aliases = {
448
+ D: "date",
449
+ dates: "date",
450
+ date: "date",
451
+ d: "day",
452
+ days: "day",
453
+ day: "day",
454
+ e: "weekday",
455
+ weekdays: "weekday",
456
+ weekday: "weekday",
457
+ E: "isoWeekday",
458
+ isoweekdays: "isoWeekday",
459
+ isoweekday: "isoWeekday",
460
+ DDD: "dayOfYear",
461
+ dayofyears: "dayOfYear",
462
+ dayofyear: "dayOfYear",
463
+ h: "hour",
464
+ hours: "hour",
465
+ hour: "hour",
466
+ ms: "millisecond",
467
+ milliseconds: "millisecond",
468
+ millisecond: "millisecond",
469
+ m: "minute",
470
+ minutes: "minute",
471
+ minute: "minute",
472
+ M: "month",
473
+ months: "month",
474
+ month: "month",
475
+ Q: "quarter",
476
+ quarters: "quarter",
477
+ quarter: "quarter",
478
+ s: "second",
479
+ seconds: "second",
480
+ second: "second",
481
+ gg: "weekYear",
482
+ weekyears: "weekYear",
483
+ weekyear: "weekYear",
484
+ GG: "isoWeekYear",
485
+ isoweekyears: "isoWeekYear",
486
+ isoweekyear: "isoWeekYear",
487
+ w: "week",
488
+ weeks: "week",
489
+ week: "week",
490
+ W: "isoWeek",
491
+ isoweeks: "isoWeek",
492
+ isoweek: "isoWeek",
493
+ y: "year",
494
+ years: "year",
495
+ year: "year"
496
+ };
497
+ function normalizeUnits(units) {
498
+ return typeof units === "string" ? aliases[units] || aliases[units.toLowerCase()] : void 0;
499
+ }
500
+ function normalizeObjectUnits(inputObject) {
501
+ var normalizedInput = {}, normalizedProp, prop;
502
+ for (prop in inputObject) {
503
+ if (hasOwnProp(inputObject, prop)) {
504
+ normalizedProp = normalizeUnits(prop);
505
+ if (normalizedProp) {
506
+ normalizedInput[normalizedProp] = inputObject[prop];
507
+ }
508
+ }
509
+ }
510
+ return normalizedInput;
511
+ }
512
+ var priorities = {
513
+ date: 9,
514
+ day: 11,
515
+ weekday: 11,
516
+ isoWeekday: 11,
517
+ dayOfYear: 4,
518
+ hour: 13,
519
+ millisecond: 16,
520
+ minute: 14,
521
+ month: 8,
522
+ quarter: 7,
523
+ second: 15,
524
+ weekYear: 1,
525
+ isoWeekYear: 1,
526
+ week: 5,
527
+ isoWeek: 5,
528
+ year: 1
529
+ };
530
+ function getPrioritizedUnits(unitsObj) {
531
+ var units = [], u;
532
+ for (u in unitsObj) {
533
+ if (hasOwnProp(unitsObj, u)) {
534
+ units.push({ unit: u, priority: priorities[u] });
535
+ }
536
+ }
537
+ units.sort(function(a, b) {
538
+ return a.priority - b.priority;
539
+ });
540
+ return units;
541
+ }
542
+ var match1 = /\d/, match2 = /\d\d/, match3 = /\d{3}/, match4 = /\d{4}/, match6 = /[+-]?\d{6}/, match1to2 = /\d\d?/, match3to4 = /\d\d\d\d?/, match5to6 = /\d\d\d\d\d\d?/, match1to3 = /\d{1,3}/, match1to4 = /\d{1,4}/, match1to6 = /[+-]?\d{1,6}/, matchUnsigned = /\d+/, matchSigned = /[+-]?\d+/, matchOffset = /Z|[+-]\d\d:?\d\d/gi, matchShortOffset = /Z|[+-]\d\d(?::?\d\d)?/gi, matchTimestamp = /[+-]?\d+(\.\d{1,3})?/, matchWord = /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i, match1to2NoLeadingZero = /^[1-9]\d?/, match1to2HasZero = /^([1-9]\d|\d)/, regexes;
543
+ regexes = {};
544
+ function addRegexToken(token2, regex, strictRegex) {
545
+ regexes[token2] = isFunction(regex) ? regex : function(isStrict, localeData2) {
546
+ return isStrict && strictRegex ? strictRegex : regex;
547
+ };
548
+ }
549
+ function getParseRegexForToken(token2, config) {
550
+ if (!hasOwnProp(regexes, token2)) {
551
+ return new RegExp(unescapeFormat(token2));
552
+ }
553
+ return regexes[token2](config._strict, config._locale);
554
+ }
555
+ function unescapeFormat(s) {
556
+ return regexEscape(
557
+ s.replace("\\", "").replace(
558
+ /\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,
559
+ function(matched, p1, p2, p3, p4) {
560
+ return p1 || p2 || p3 || p4;
561
+ }
562
+ )
563
+ );
564
+ }
565
+ function regexEscape(s) {
566
+ return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&");
567
+ }
568
+ function absFloor(number) {
569
+ if (number < 0) {
570
+ return Math.ceil(number) || 0;
571
+ } else {
572
+ return Math.floor(number);
573
+ }
574
+ }
575
+ function toInt(argumentForCoercion) {
576
+ var coercedNumber = +argumentForCoercion, value = 0;
577
+ if (coercedNumber !== 0 && isFinite(coercedNumber)) {
578
+ value = absFloor(coercedNumber);
579
+ }
580
+ return value;
581
+ }
582
+ var tokens = {};
583
+ function addParseToken(token2, callback) {
584
+ var i, func = callback, tokenLen;
585
+ if (typeof token2 === "string") {
586
+ token2 = [token2];
587
+ }
588
+ if (isNumber(callback)) {
589
+ func = function(input, array) {
590
+ array[callback] = toInt(input);
591
+ };
592
+ }
593
+ tokenLen = token2.length;
594
+ for (i = 0; i < tokenLen; i++) {
595
+ tokens[token2[i]] = func;
596
+ }
597
+ }
598
+ function addWeekParseToken(token2, callback) {
599
+ addParseToken(token2, function(input, array, config, token3) {
600
+ config._w = config._w || {};
601
+ callback(input, config._w, config, token3);
602
+ });
603
+ }
604
+ function addTimeToArrayFromToken(token2, input, config) {
605
+ if (input != null && hasOwnProp(tokens, token2)) {
606
+ tokens[token2](input, config._a, config, token2);
607
+ }
608
+ }
609
+ function isLeapYear(year) {
610
+ return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;
611
+ }
612
+ var YEAR = 0, MONTH = 1, DATE = 2, HOUR = 3, MINUTE = 4, SECOND = 5, MILLISECOND = 6, WEEK = 7, WEEKDAY = 8;
613
+ addFormatToken("Y", 0, 0, function() {
614
+ var y = this.year();
615
+ return y <= 9999 ? zeroFill(y, 4) : "+" + y;
616
+ });
617
+ addFormatToken(0, ["YY", 2], 0, function() {
618
+ return this.year() % 100;
619
+ });
620
+ addFormatToken(0, ["YYYY", 4], 0, "year");
621
+ addFormatToken(0, ["YYYYY", 5], 0, "year");
622
+ addFormatToken(0, ["YYYYYY", 6, true], 0, "year");
623
+ addRegexToken("Y", matchSigned);
624
+ addRegexToken("YY", match1to2, match2);
625
+ addRegexToken("YYYY", match1to4, match4);
626
+ addRegexToken("YYYYY", match1to6, match6);
627
+ addRegexToken("YYYYYY", match1to6, match6);
628
+ addParseToken(["YYYYY", "YYYYYY"], YEAR);
629
+ addParseToken("YYYY", function(input, array) {
630
+ array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);
631
+ });
632
+ addParseToken("YY", function(input, array) {
633
+ array[YEAR] = hooks.parseTwoDigitYear(input);
634
+ });
635
+ addParseToken("Y", function(input, array) {
636
+ array[YEAR] = parseInt(input, 10);
637
+ });
638
+ function daysInYear(year) {
639
+ return isLeapYear(year) ? 366 : 365;
640
+ }
641
+ hooks.parseTwoDigitYear = function(input) {
642
+ return toInt(input) + (toInt(input) > 68 ? 1900 : 2e3);
643
+ };
644
+ var getSetYear = makeGetSet("FullYear", true);
645
+ function getIsLeapYear() {
646
+ return isLeapYear(this.year());
647
+ }
648
+ function makeGetSet(unit, keepTime) {
649
+ return function(value) {
650
+ if (value != null) {
651
+ set$1(this, unit, value);
652
+ hooks.updateOffset(this, keepTime);
653
+ return this;
654
+ } else {
655
+ return get(this, unit);
656
+ }
657
+ };
658
+ }
659
+ function get(mom, unit) {
660
+ if (!mom.isValid()) {
661
+ return NaN;
662
+ }
663
+ var d = mom._d, isUTC = mom._isUTC;
664
+ switch (unit) {
665
+ case "Milliseconds":
666
+ return isUTC ? d.getUTCMilliseconds() : d.getMilliseconds();
667
+ case "Seconds":
668
+ return isUTC ? d.getUTCSeconds() : d.getSeconds();
669
+ case "Minutes":
670
+ return isUTC ? d.getUTCMinutes() : d.getMinutes();
671
+ case "Hours":
672
+ return isUTC ? d.getUTCHours() : d.getHours();
673
+ case "Date":
674
+ return isUTC ? d.getUTCDate() : d.getDate();
675
+ case "Day":
676
+ return isUTC ? d.getUTCDay() : d.getDay();
677
+ case "Month":
678
+ return isUTC ? d.getUTCMonth() : d.getMonth();
679
+ case "FullYear":
680
+ return isUTC ? d.getUTCFullYear() : d.getFullYear();
681
+ default:
682
+ return NaN;
683
+ }
684
+ }
685
+ function set$1(mom, unit, value) {
686
+ var d, isUTC, year, month, date;
687
+ if (!mom.isValid() || isNaN(value)) {
688
+ return;
689
+ }
690
+ d = mom._d;
691
+ isUTC = mom._isUTC;
692
+ switch (unit) {
693
+ case "Milliseconds":
694
+ return void (isUTC ? d.setUTCMilliseconds(value) : d.setMilliseconds(value));
695
+ case "Seconds":
696
+ return void (isUTC ? d.setUTCSeconds(value) : d.setSeconds(value));
697
+ case "Minutes":
698
+ return void (isUTC ? d.setUTCMinutes(value) : d.setMinutes(value));
699
+ case "Hours":
700
+ return void (isUTC ? d.setUTCHours(value) : d.setHours(value));
701
+ case "Date":
702
+ return void (isUTC ? d.setUTCDate(value) : d.setDate(value));
703
+ // case 'Day': // Not real
704
+ // return void (isUTC ? d.setUTCDay(value) : d.setDay(value));
705
+ // case 'Month': // Not used because we need to pass two variables
706
+ // return void (isUTC ? d.setUTCMonth(value) : d.setMonth(value));
707
+ case "FullYear":
708
+ break;
709
+ // See below ...
710
+ default:
711
+ return;
712
+ }
713
+ year = value;
714
+ month = mom.month();
715
+ date = mom.date();
716
+ date = date === 29 && month === 1 && !isLeapYear(year) ? 28 : date;
717
+ void (isUTC ? d.setUTCFullYear(year, month, date) : d.setFullYear(year, month, date));
718
+ }
719
+ function stringGet(units) {
720
+ units = normalizeUnits(units);
721
+ if (isFunction(this[units])) {
722
+ return this[units]();
723
+ }
724
+ return this;
725
+ }
726
+ function stringSet(units, value) {
727
+ if (typeof units === "object") {
728
+ units = normalizeObjectUnits(units);
729
+ var prioritized = getPrioritizedUnits(units), i, prioritizedLen = prioritized.length;
730
+ for (i = 0; i < prioritizedLen; i++) {
731
+ this[prioritized[i].unit](units[prioritized[i].unit]);
732
+ }
733
+ } else {
734
+ units = normalizeUnits(units);
735
+ if (isFunction(this[units])) {
736
+ return this[units](value);
737
+ }
738
+ }
739
+ return this;
740
+ }
741
+ function mod(n, x) {
742
+ return (n % x + x) % x;
743
+ }
744
+ var indexOf;
745
+ if (Array.prototype.indexOf) {
746
+ indexOf = Array.prototype.indexOf;
747
+ } else {
748
+ indexOf = function(o) {
749
+ var i;
750
+ for (i = 0; i < this.length; ++i) {
751
+ if (this[i] === o) {
752
+ return i;
753
+ }
754
+ }
755
+ return -1;
756
+ };
757
+ }
758
+ function daysInMonth(year, month) {
759
+ if (isNaN(year) || isNaN(month)) {
760
+ return NaN;
761
+ }
762
+ var modMonth = mod(month, 12);
763
+ year += (month - modMonth) / 12;
764
+ return modMonth === 1 ? isLeapYear(year) ? 29 : 28 : 31 - modMonth % 7 % 2;
765
+ }
766
+ addFormatToken("M", ["MM", 2], "Mo", function() {
767
+ return this.month() + 1;
768
+ });
769
+ addFormatToken("MMM", 0, 0, function(format2) {
770
+ return this.localeData().monthsShort(this, format2);
771
+ });
772
+ addFormatToken("MMMM", 0, 0, function(format2) {
773
+ return this.localeData().months(this, format2);
774
+ });
775
+ addRegexToken("M", match1to2, match1to2NoLeadingZero);
776
+ addRegexToken("MM", match1to2, match2);
777
+ addRegexToken("MMM", function(isStrict, locale2) {
778
+ return locale2.monthsShortRegex(isStrict);
779
+ });
780
+ addRegexToken("MMMM", function(isStrict, locale2) {
781
+ return locale2.monthsRegex(isStrict);
782
+ });
783
+ addParseToken(["M", "MM"], function(input, array) {
784
+ array[MONTH] = toInt(input) - 1;
785
+ });
786
+ addParseToken(["MMM", "MMMM"], function(input, array, config, token2) {
787
+ var month = config._locale.monthsParse(input, token2, config._strict);
788
+ if (month != null) {
789
+ array[MONTH] = month;
790
+ } else {
791
+ getParsingFlags(config).invalidMonth = input;
792
+ }
793
+ });
794
+ var defaultLocaleMonths = "January_February_March_April_May_June_July_August_September_October_November_December".split(
795
+ "_"
796
+ ), defaultLocaleMonthsShort = "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"), MONTHS_IN_FORMAT = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/, defaultMonthsShortRegex = matchWord, defaultMonthsRegex = matchWord;
797
+ function localeMonths(m, format2) {
798
+ if (!m) {
799
+ return isArray(this._months) ? this._months : this._months["standalone"];
800
+ }
801
+ return isArray(this._months) ? this._months[m.month()] : this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format2) ? "format" : "standalone"][m.month()];
802
+ }
803
+ function localeMonthsShort(m, format2) {
804
+ if (!m) {
805
+ return isArray(this._monthsShort) ? this._monthsShort : this._monthsShort["standalone"];
806
+ }
807
+ return isArray(this._monthsShort) ? this._monthsShort[m.month()] : this._monthsShort[MONTHS_IN_FORMAT.test(format2) ? "format" : "standalone"][m.month()];
808
+ }
809
+ function handleStrictParse(monthName, format2, strict) {
810
+ var i, ii, mom, llc = monthName.toLocaleLowerCase();
811
+ if (!this._monthsParse) {
812
+ this._monthsParse = [];
813
+ this._longMonthsParse = [];
814
+ this._shortMonthsParse = [];
815
+ for (i = 0; i < 12; ++i) {
816
+ mom = createUTC([2e3, i]);
817
+ this._shortMonthsParse[i] = this.monthsShort(
818
+ mom,
819
+ ""
820
+ ).toLocaleLowerCase();
821
+ this._longMonthsParse[i] = this.months(mom, "").toLocaleLowerCase();
822
+ }
823
+ }
824
+ if (strict) {
825
+ if (format2 === "MMM") {
826
+ ii = indexOf.call(this._shortMonthsParse, llc);
827
+ return ii !== -1 ? ii : null;
828
+ } else {
829
+ ii = indexOf.call(this._longMonthsParse, llc);
830
+ return ii !== -1 ? ii : null;
831
+ }
832
+ } else {
833
+ if (format2 === "MMM") {
834
+ ii = indexOf.call(this._shortMonthsParse, llc);
835
+ if (ii !== -1) {
836
+ return ii;
837
+ }
838
+ ii = indexOf.call(this._longMonthsParse, llc);
839
+ return ii !== -1 ? ii : null;
840
+ } else {
841
+ ii = indexOf.call(this._longMonthsParse, llc);
842
+ if (ii !== -1) {
843
+ return ii;
844
+ }
845
+ ii = indexOf.call(this._shortMonthsParse, llc);
846
+ return ii !== -1 ? ii : null;
847
+ }
848
+ }
849
+ }
850
+ function localeMonthsParse(monthName, format2, strict) {
851
+ var i, mom, regex;
852
+ if (this._monthsParseExact) {
853
+ return handleStrictParse.call(this, monthName, format2, strict);
854
+ }
855
+ if (!this._monthsParse) {
856
+ this._monthsParse = [];
857
+ this._longMonthsParse = [];
858
+ this._shortMonthsParse = [];
859
+ }
860
+ for (i = 0; i < 12; i++) {
861
+ mom = createUTC([2e3, i]);
862
+ if (strict && !this._longMonthsParse[i]) {
863
+ this._longMonthsParse[i] = new RegExp(
864
+ "^" + this.months(mom, "").replace(".", "") + "$",
865
+ "i"
866
+ );
867
+ this._shortMonthsParse[i] = new RegExp(
868
+ "^" + this.monthsShort(mom, "").replace(".", "") + "$",
869
+ "i"
870
+ );
871
+ }
872
+ if (!strict && !this._monthsParse[i]) {
873
+ regex = "^" + this.months(mom, "") + "|^" + this.monthsShort(mom, "");
874
+ this._monthsParse[i] = new RegExp(regex.replace(".", ""), "i");
875
+ }
876
+ if (strict && format2 === "MMMM" && this._longMonthsParse[i].test(monthName)) {
877
+ return i;
878
+ } else if (strict && format2 === "MMM" && this._shortMonthsParse[i].test(monthName)) {
879
+ return i;
880
+ } else if (!strict && this._monthsParse[i].test(monthName)) {
881
+ return i;
882
+ }
883
+ }
884
+ }
885
+ function setMonth(mom, value) {
886
+ if (!mom.isValid()) {
887
+ return mom;
888
+ }
889
+ if (typeof value === "string") {
890
+ if (/^\d+$/.test(value)) {
891
+ value = toInt(value);
892
+ } else {
893
+ value = mom.localeData().monthsParse(value);
894
+ if (!isNumber(value)) {
895
+ return mom;
896
+ }
897
+ }
898
+ }
899
+ var month = value, date = mom.date();
900
+ date = date < 29 ? date : Math.min(date, daysInMonth(mom.year(), month));
901
+ void (mom._isUTC ? mom._d.setUTCMonth(month, date) : mom._d.setMonth(month, date));
902
+ return mom;
903
+ }
904
+ function getSetMonth(value) {
905
+ if (value != null) {
906
+ setMonth(this, value);
907
+ hooks.updateOffset(this, true);
908
+ return this;
909
+ } else {
910
+ return get(this, "Month");
911
+ }
912
+ }
913
+ function getDaysInMonth() {
914
+ return daysInMonth(this.year(), this.month());
915
+ }
916
+ function monthsShortRegex(isStrict) {
917
+ if (this._monthsParseExact) {
918
+ if (!hasOwnProp(this, "_monthsRegex")) {
919
+ computeMonthsParse.call(this);
920
+ }
921
+ if (isStrict) {
922
+ return this._monthsShortStrictRegex;
923
+ } else {
924
+ return this._monthsShortRegex;
925
+ }
926
+ } else {
927
+ if (!hasOwnProp(this, "_monthsShortRegex")) {
928
+ this._monthsShortRegex = defaultMonthsShortRegex;
929
+ }
930
+ return this._monthsShortStrictRegex && isStrict ? this._monthsShortStrictRegex : this._monthsShortRegex;
931
+ }
932
+ }
933
+ function monthsRegex(isStrict) {
934
+ if (this._monthsParseExact) {
935
+ if (!hasOwnProp(this, "_monthsRegex")) {
936
+ computeMonthsParse.call(this);
937
+ }
938
+ if (isStrict) {
939
+ return this._monthsStrictRegex;
940
+ } else {
941
+ return this._monthsRegex;
942
+ }
943
+ } else {
944
+ if (!hasOwnProp(this, "_monthsRegex")) {
945
+ this._monthsRegex = defaultMonthsRegex;
946
+ }
947
+ return this._monthsStrictRegex && isStrict ? this._monthsStrictRegex : this._monthsRegex;
948
+ }
949
+ }
950
+ function computeMonthsParse() {
951
+ function cmpLenRev(a, b) {
952
+ return b.length - a.length;
953
+ }
954
+ var shortPieces = [], longPieces = [], mixedPieces = [], i, mom, shortP, longP;
955
+ for (i = 0; i < 12; i++) {
956
+ mom = createUTC([2e3, i]);
957
+ shortP = regexEscape(this.monthsShort(mom, ""));
958
+ longP = regexEscape(this.months(mom, ""));
959
+ shortPieces.push(shortP);
960
+ longPieces.push(longP);
961
+ mixedPieces.push(longP);
962
+ mixedPieces.push(shortP);
963
+ }
964
+ shortPieces.sort(cmpLenRev);
965
+ longPieces.sort(cmpLenRev);
966
+ mixedPieces.sort(cmpLenRev);
967
+ this._monthsRegex = new RegExp("^(" + mixedPieces.join("|") + ")", "i");
968
+ this._monthsShortRegex = this._monthsRegex;
969
+ this._monthsStrictRegex = new RegExp(
970
+ "^(" + longPieces.join("|") + ")",
971
+ "i"
972
+ );
973
+ this._monthsShortStrictRegex = new RegExp(
974
+ "^(" + shortPieces.join("|") + ")",
975
+ "i"
976
+ );
977
+ }
978
+ function createDate(y, m, d, h, M, s, ms) {
979
+ var date;
980
+ if (y < 100 && y >= 0) {
981
+ date = new Date(y + 400, m, d, h, M, s, ms);
982
+ if (isFinite(date.getFullYear())) {
983
+ date.setFullYear(y);
984
+ }
985
+ } else {
986
+ date = new Date(y, m, d, h, M, s, ms);
987
+ }
988
+ return date;
989
+ }
990
+ function createUTCDate(y) {
991
+ var date, args;
992
+ if (y < 100 && y >= 0) {
993
+ args = Array.prototype.slice.call(arguments);
994
+ args[0] = y + 400;
995
+ date = new Date(Date.UTC.apply(null, args));
996
+ if (isFinite(date.getUTCFullYear())) {
997
+ date.setUTCFullYear(y);
998
+ }
999
+ } else {
1000
+ date = new Date(Date.UTC.apply(null, arguments));
1001
+ }
1002
+ return date;
1003
+ }
1004
+ function firstWeekOffset(year, dow, doy) {
1005
+ var fwd = 7 + dow - doy, fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;
1006
+ return -fwdlw + fwd - 1;
1007
+ }
1008
+ function dayOfYearFromWeeks(year, week, weekday, dow, doy) {
1009
+ var localWeekday = (7 + weekday - dow) % 7, weekOffset = firstWeekOffset(year, dow, doy), dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset, resYear, resDayOfYear;
1010
+ if (dayOfYear <= 0) {
1011
+ resYear = year - 1;
1012
+ resDayOfYear = daysInYear(resYear) + dayOfYear;
1013
+ } else if (dayOfYear > daysInYear(year)) {
1014
+ resYear = year + 1;
1015
+ resDayOfYear = dayOfYear - daysInYear(year);
1016
+ } else {
1017
+ resYear = year;
1018
+ resDayOfYear = dayOfYear;
1019
+ }
1020
+ return {
1021
+ year: resYear,
1022
+ dayOfYear: resDayOfYear
1023
+ };
1024
+ }
1025
+ function weekOfYear(mom, dow, doy) {
1026
+ var weekOffset = firstWeekOffset(mom.year(), dow, doy), week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1, resWeek, resYear;
1027
+ if (week < 1) {
1028
+ resYear = mom.year() - 1;
1029
+ resWeek = week + weeksInYear(resYear, dow, doy);
1030
+ } else if (week > weeksInYear(mom.year(), dow, doy)) {
1031
+ resWeek = week - weeksInYear(mom.year(), dow, doy);
1032
+ resYear = mom.year() + 1;
1033
+ } else {
1034
+ resYear = mom.year();
1035
+ resWeek = week;
1036
+ }
1037
+ return {
1038
+ week: resWeek,
1039
+ year: resYear
1040
+ };
1041
+ }
1042
+ function weeksInYear(year, dow, doy) {
1043
+ var weekOffset = firstWeekOffset(year, dow, doy), weekOffsetNext = firstWeekOffset(year + 1, dow, doy);
1044
+ return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;
1045
+ }
1046
+ addFormatToken("w", ["ww", 2], "wo", "week");
1047
+ addFormatToken("W", ["WW", 2], "Wo", "isoWeek");
1048
+ addRegexToken("w", match1to2, match1to2NoLeadingZero);
1049
+ addRegexToken("ww", match1to2, match2);
1050
+ addRegexToken("W", match1to2, match1to2NoLeadingZero);
1051
+ addRegexToken("WW", match1to2, match2);
1052
+ addWeekParseToken(
1053
+ ["w", "ww", "W", "WW"],
1054
+ function(input, week, config, token2) {
1055
+ week[token2.substr(0, 1)] = toInt(input);
1056
+ }
1057
+ );
1058
+ function localeWeek(mom) {
1059
+ return weekOfYear(mom, this._week.dow, this._week.doy).week;
1060
+ }
1061
+ var defaultLocaleWeek = {
1062
+ dow: 0,
1063
+ // Sunday is the first day of the week.
1064
+ doy: 6
1065
+ // The week that contains Jan 6th is the first week of the year.
1066
+ };
1067
+ function localeFirstDayOfWeek() {
1068
+ return this._week.dow;
1069
+ }
1070
+ function localeFirstDayOfYear() {
1071
+ return this._week.doy;
1072
+ }
1073
+ function getSetWeek(input) {
1074
+ var week = this.localeData().week(this);
1075
+ return input == null ? week : this.add((input - week) * 7, "d");
1076
+ }
1077
+ function getSetISOWeek(input) {
1078
+ var week = weekOfYear(this, 1, 4).week;
1079
+ return input == null ? week : this.add((input - week) * 7, "d");
1080
+ }
1081
+ addFormatToken("d", 0, "do", "day");
1082
+ addFormatToken("dd", 0, 0, function(format2) {
1083
+ return this.localeData().weekdaysMin(this, format2);
1084
+ });
1085
+ addFormatToken("ddd", 0, 0, function(format2) {
1086
+ return this.localeData().weekdaysShort(this, format2);
1087
+ });
1088
+ addFormatToken("dddd", 0, 0, function(format2) {
1089
+ return this.localeData().weekdays(this, format2);
1090
+ });
1091
+ addFormatToken("e", 0, 0, "weekday");
1092
+ addFormatToken("E", 0, 0, "isoWeekday");
1093
+ addRegexToken("d", match1to2);
1094
+ addRegexToken("e", match1to2);
1095
+ addRegexToken("E", match1to2);
1096
+ addRegexToken("dd", function(isStrict, locale2) {
1097
+ return locale2.weekdaysMinRegex(isStrict);
1098
+ });
1099
+ addRegexToken("ddd", function(isStrict, locale2) {
1100
+ return locale2.weekdaysShortRegex(isStrict);
1101
+ });
1102
+ addRegexToken("dddd", function(isStrict, locale2) {
1103
+ return locale2.weekdaysRegex(isStrict);
1104
+ });
1105
+ addWeekParseToken(["dd", "ddd", "dddd"], function(input, week, config, token2) {
1106
+ var weekday = config._locale.weekdaysParse(input, token2, config._strict);
1107
+ if (weekday != null) {
1108
+ week.d = weekday;
1109
+ } else {
1110
+ getParsingFlags(config).invalidWeekday = input;
1111
+ }
1112
+ });
1113
+ addWeekParseToken(["d", "e", "E"], function(input, week, config, token2) {
1114
+ week[token2] = toInt(input);
1115
+ });
1116
+ function parseWeekday(input, locale2) {
1117
+ if (typeof input !== "string") {
1118
+ return input;
1119
+ }
1120
+ if (!isNaN(input)) {
1121
+ return parseInt(input, 10);
1122
+ }
1123
+ input = locale2.weekdaysParse(input);
1124
+ if (typeof input === "number") {
1125
+ return input;
1126
+ }
1127
+ return null;
1128
+ }
1129
+ function parseIsoWeekday(input, locale2) {
1130
+ if (typeof input === "string") {
1131
+ return locale2.weekdaysParse(input) % 7 || 7;
1132
+ }
1133
+ return isNaN(input) ? null : input;
1134
+ }
1135
+ function shiftWeekdays(ws, n) {
1136
+ return ws.slice(n, 7).concat(ws.slice(0, n));
1137
+ }
1138
+ var defaultLocaleWeekdays = "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), defaultLocaleWeekdaysShort = "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"), defaultLocaleWeekdaysMin = "Su_Mo_Tu_We_Th_Fr_Sa".split("_"), defaultWeekdaysRegex = matchWord, defaultWeekdaysShortRegex = matchWord, defaultWeekdaysMinRegex = matchWord;
1139
+ function localeWeekdays(m, format2) {
1140
+ var weekdays = isArray(this._weekdays) ? this._weekdays : this._weekdays[m && m !== true && this._weekdays.isFormat.test(format2) ? "format" : "standalone"];
1141
+ return m === true ? shiftWeekdays(weekdays, this._week.dow) : m ? weekdays[m.day()] : weekdays;
1142
+ }
1143
+ function localeWeekdaysShort(m) {
1144
+ return m === true ? shiftWeekdays(this._weekdaysShort, this._week.dow) : m ? this._weekdaysShort[m.day()] : this._weekdaysShort;
1145
+ }
1146
+ function localeWeekdaysMin(m) {
1147
+ return m === true ? shiftWeekdays(this._weekdaysMin, this._week.dow) : m ? this._weekdaysMin[m.day()] : this._weekdaysMin;
1148
+ }
1149
+ function handleStrictParse$1(weekdayName, format2, strict) {
1150
+ var i, ii, mom, llc = weekdayName.toLocaleLowerCase();
1151
+ if (!this._weekdaysParse) {
1152
+ this._weekdaysParse = [];
1153
+ this._shortWeekdaysParse = [];
1154
+ this._minWeekdaysParse = [];
1155
+ for (i = 0; i < 7; ++i) {
1156
+ mom = createUTC([2e3, 1]).day(i);
1157
+ this._minWeekdaysParse[i] = this.weekdaysMin(
1158
+ mom,
1159
+ ""
1160
+ ).toLocaleLowerCase();
1161
+ this._shortWeekdaysParse[i] = this.weekdaysShort(
1162
+ mom,
1163
+ ""
1164
+ ).toLocaleLowerCase();
1165
+ this._weekdaysParse[i] = this.weekdays(mom, "").toLocaleLowerCase();
1166
+ }
1167
+ }
1168
+ if (strict) {
1169
+ if (format2 === "dddd") {
1170
+ ii = indexOf.call(this._weekdaysParse, llc);
1171
+ return ii !== -1 ? ii : null;
1172
+ } else if (format2 === "ddd") {
1173
+ ii = indexOf.call(this._shortWeekdaysParse, llc);
1174
+ return ii !== -1 ? ii : null;
1175
+ } else {
1176
+ ii = indexOf.call(this._minWeekdaysParse, llc);
1177
+ return ii !== -1 ? ii : null;
1178
+ }
1179
+ } else {
1180
+ if (format2 === "dddd") {
1181
+ ii = indexOf.call(this._weekdaysParse, llc);
1182
+ if (ii !== -1) {
1183
+ return ii;
1184
+ }
1185
+ ii = indexOf.call(this._shortWeekdaysParse, llc);
1186
+ if (ii !== -1) {
1187
+ return ii;
1188
+ }
1189
+ ii = indexOf.call(this._minWeekdaysParse, llc);
1190
+ return ii !== -1 ? ii : null;
1191
+ } else if (format2 === "ddd") {
1192
+ ii = indexOf.call(this._shortWeekdaysParse, llc);
1193
+ if (ii !== -1) {
1194
+ return ii;
1195
+ }
1196
+ ii = indexOf.call(this._weekdaysParse, llc);
1197
+ if (ii !== -1) {
1198
+ return ii;
1199
+ }
1200
+ ii = indexOf.call(this._minWeekdaysParse, llc);
1201
+ return ii !== -1 ? ii : null;
1202
+ } else {
1203
+ ii = indexOf.call(this._minWeekdaysParse, llc);
1204
+ if (ii !== -1) {
1205
+ return ii;
1206
+ }
1207
+ ii = indexOf.call(this._weekdaysParse, llc);
1208
+ if (ii !== -1) {
1209
+ return ii;
1210
+ }
1211
+ ii = indexOf.call(this._shortWeekdaysParse, llc);
1212
+ return ii !== -1 ? ii : null;
1213
+ }
1214
+ }
1215
+ }
1216
+ function localeWeekdaysParse(weekdayName, format2, strict) {
1217
+ var i, mom, regex;
1218
+ if (this._weekdaysParseExact) {
1219
+ return handleStrictParse$1.call(this, weekdayName, format2, strict);
1220
+ }
1221
+ if (!this._weekdaysParse) {
1222
+ this._weekdaysParse = [];
1223
+ this._minWeekdaysParse = [];
1224
+ this._shortWeekdaysParse = [];
1225
+ this._fullWeekdaysParse = [];
1226
+ }
1227
+ for (i = 0; i < 7; i++) {
1228
+ mom = createUTC([2e3, 1]).day(i);
1229
+ if (strict && !this._fullWeekdaysParse[i]) {
1230
+ this._fullWeekdaysParse[i] = new RegExp(
1231
+ "^" + this.weekdays(mom, "").replace(".", "\\.?") + "$",
1232
+ "i"
1233
+ );
1234
+ this._shortWeekdaysParse[i] = new RegExp(
1235
+ "^" + this.weekdaysShort(mom, "").replace(".", "\\.?") + "$",
1236
+ "i"
1237
+ );
1238
+ this._minWeekdaysParse[i] = new RegExp(
1239
+ "^" + this.weekdaysMin(mom, "").replace(".", "\\.?") + "$",
1240
+ "i"
1241
+ );
1242
+ }
1243
+ if (!this._weekdaysParse[i]) {
1244
+ regex = "^" + this.weekdays(mom, "") + "|^" + this.weekdaysShort(mom, "") + "|^" + this.weekdaysMin(mom, "");
1245
+ this._weekdaysParse[i] = new RegExp(regex.replace(".", ""), "i");
1246
+ }
1247
+ if (strict && format2 === "dddd" && this._fullWeekdaysParse[i].test(weekdayName)) {
1248
+ return i;
1249
+ } else if (strict && format2 === "ddd" && this._shortWeekdaysParse[i].test(weekdayName)) {
1250
+ return i;
1251
+ } else if (strict && format2 === "dd" && this._minWeekdaysParse[i].test(weekdayName)) {
1252
+ return i;
1253
+ } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {
1254
+ return i;
1255
+ }
1256
+ }
1257
+ }
1258
+ function getSetDayOfWeek(input) {
1259
+ if (!this.isValid()) {
1260
+ return input != null ? this : NaN;
1261
+ }
1262
+ var day = get(this, "Day");
1263
+ if (input != null) {
1264
+ input = parseWeekday(input, this.localeData());
1265
+ return this.add(input - day, "d");
1266
+ } else {
1267
+ return day;
1268
+ }
1269
+ }
1270
+ function getSetLocaleDayOfWeek(input) {
1271
+ if (!this.isValid()) {
1272
+ return input != null ? this : NaN;
1273
+ }
1274
+ var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;
1275
+ return input == null ? weekday : this.add(input - weekday, "d");
1276
+ }
1277
+ function getSetISODayOfWeek(input) {
1278
+ if (!this.isValid()) {
1279
+ return input != null ? this : NaN;
1280
+ }
1281
+ if (input != null) {
1282
+ var weekday = parseIsoWeekday(input, this.localeData());
1283
+ return this.day(this.day() % 7 ? weekday : weekday - 7);
1284
+ } else {
1285
+ return this.day() || 7;
1286
+ }
1287
+ }
1288
+ function weekdaysRegex(isStrict) {
1289
+ if (this._weekdaysParseExact) {
1290
+ if (!hasOwnProp(this, "_weekdaysRegex")) {
1291
+ computeWeekdaysParse.call(this);
1292
+ }
1293
+ if (isStrict) {
1294
+ return this._weekdaysStrictRegex;
1295
+ } else {
1296
+ return this._weekdaysRegex;
1297
+ }
1298
+ } else {
1299
+ if (!hasOwnProp(this, "_weekdaysRegex")) {
1300
+ this._weekdaysRegex = defaultWeekdaysRegex;
1301
+ }
1302
+ return this._weekdaysStrictRegex && isStrict ? this._weekdaysStrictRegex : this._weekdaysRegex;
1303
+ }
1304
+ }
1305
+ function weekdaysShortRegex(isStrict) {
1306
+ if (this._weekdaysParseExact) {
1307
+ if (!hasOwnProp(this, "_weekdaysRegex")) {
1308
+ computeWeekdaysParse.call(this);
1309
+ }
1310
+ if (isStrict) {
1311
+ return this._weekdaysShortStrictRegex;
1312
+ } else {
1313
+ return this._weekdaysShortRegex;
1314
+ }
1315
+ } else {
1316
+ if (!hasOwnProp(this, "_weekdaysShortRegex")) {
1317
+ this._weekdaysShortRegex = defaultWeekdaysShortRegex;
1318
+ }
1319
+ return this._weekdaysShortStrictRegex && isStrict ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex;
1320
+ }
1321
+ }
1322
+ function weekdaysMinRegex(isStrict) {
1323
+ if (this._weekdaysParseExact) {
1324
+ if (!hasOwnProp(this, "_weekdaysRegex")) {
1325
+ computeWeekdaysParse.call(this);
1326
+ }
1327
+ if (isStrict) {
1328
+ return this._weekdaysMinStrictRegex;
1329
+ } else {
1330
+ return this._weekdaysMinRegex;
1331
+ }
1332
+ } else {
1333
+ if (!hasOwnProp(this, "_weekdaysMinRegex")) {
1334
+ this._weekdaysMinRegex = defaultWeekdaysMinRegex;
1335
+ }
1336
+ return this._weekdaysMinStrictRegex && isStrict ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex;
1337
+ }
1338
+ }
1339
+ function computeWeekdaysParse() {
1340
+ function cmpLenRev(a, b) {
1341
+ return b.length - a.length;
1342
+ }
1343
+ var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [], i, mom, minp, shortp, longp;
1344
+ for (i = 0; i < 7; i++) {
1345
+ mom = createUTC([2e3, 1]).day(i);
1346
+ minp = regexEscape(this.weekdaysMin(mom, ""));
1347
+ shortp = regexEscape(this.weekdaysShort(mom, ""));
1348
+ longp = regexEscape(this.weekdays(mom, ""));
1349
+ minPieces.push(minp);
1350
+ shortPieces.push(shortp);
1351
+ longPieces.push(longp);
1352
+ mixedPieces.push(minp);
1353
+ mixedPieces.push(shortp);
1354
+ mixedPieces.push(longp);
1355
+ }
1356
+ minPieces.sort(cmpLenRev);
1357
+ shortPieces.sort(cmpLenRev);
1358
+ longPieces.sort(cmpLenRev);
1359
+ mixedPieces.sort(cmpLenRev);
1360
+ this._weekdaysRegex = new RegExp("^(" + mixedPieces.join("|") + ")", "i");
1361
+ this._weekdaysShortRegex = this._weekdaysRegex;
1362
+ this._weekdaysMinRegex = this._weekdaysRegex;
1363
+ this._weekdaysStrictRegex = new RegExp(
1364
+ "^(" + longPieces.join("|") + ")",
1365
+ "i"
1366
+ );
1367
+ this._weekdaysShortStrictRegex = new RegExp(
1368
+ "^(" + shortPieces.join("|") + ")",
1369
+ "i"
1370
+ );
1371
+ this._weekdaysMinStrictRegex = new RegExp(
1372
+ "^(" + minPieces.join("|") + ")",
1373
+ "i"
1374
+ );
1375
+ }
1376
+ function hFormat() {
1377
+ return this.hours() % 12 || 12;
1378
+ }
1379
+ function kFormat() {
1380
+ return this.hours() || 24;
1381
+ }
1382
+ addFormatToken("H", ["HH", 2], 0, "hour");
1383
+ addFormatToken("h", ["hh", 2], 0, hFormat);
1384
+ addFormatToken("k", ["kk", 2], 0, kFormat);
1385
+ addFormatToken("hmm", 0, 0, function() {
1386
+ return "" + hFormat.apply(this) + zeroFill(this.minutes(), 2);
1387
+ });
1388
+ addFormatToken("hmmss", 0, 0, function() {
1389
+ return "" + hFormat.apply(this) + zeroFill(this.minutes(), 2) + zeroFill(this.seconds(), 2);
1390
+ });
1391
+ addFormatToken("Hmm", 0, 0, function() {
1392
+ return "" + this.hours() + zeroFill(this.minutes(), 2);
1393
+ });
1394
+ addFormatToken("Hmmss", 0, 0, function() {
1395
+ return "" + this.hours() + zeroFill(this.minutes(), 2) + zeroFill(this.seconds(), 2);
1396
+ });
1397
+ function meridiem(token2, lowercase) {
1398
+ addFormatToken(token2, 0, 0, function() {
1399
+ return this.localeData().meridiem(
1400
+ this.hours(),
1401
+ this.minutes(),
1402
+ lowercase
1403
+ );
1404
+ });
1405
+ }
1406
+ meridiem("a", true);
1407
+ meridiem("A", false);
1408
+ function matchMeridiem(isStrict, locale2) {
1409
+ return locale2._meridiemParse;
1410
+ }
1411
+ addRegexToken("a", matchMeridiem);
1412
+ addRegexToken("A", matchMeridiem);
1413
+ addRegexToken("H", match1to2, match1to2HasZero);
1414
+ addRegexToken("h", match1to2, match1to2NoLeadingZero);
1415
+ addRegexToken("k", match1to2, match1to2NoLeadingZero);
1416
+ addRegexToken("HH", match1to2, match2);
1417
+ addRegexToken("hh", match1to2, match2);
1418
+ addRegexToken("kk", match1to2, match2);
1419
+ addRegexToken("hmm", match3to4);
1420
+ addRegexToken("hmmss", match5to6);
1421
+ addRegexToken("Hmm", match3to4);
1422
+ addRegexToken("Hmmss", match5to6);
1423
+ addParseToken(["H", "HH"], HOUR);
1424
+ addParseToken(["k", "kk"], function(input, array, config) {
1425
+ var kInput = toInt(input);
1426
+ array[HOUR] = kInput === 24 ? 0 : kInput;
1427
+ });
1428
+ addParseToken(["a", "A"], function(input, array, config) {
1429
+ config._isPm = config._locale.isPM(input);
1430
+ config._meridiem = input;
1431
+ });
1432
+ addParseToken(["h", "hh"], function(input, array, config) {
1433
+ array[HOUR] = toInt(input);
1434
+ getParsingFlags(config).bigHour = true;
1435
+ });
1436
+ addParseToken("hmm", function(input, array, config) {
1437
+ var pos = input.length - 2;
1438
+ array[HOUR] = toInt(input.substr(0, pos));
1439
+ array[MINUTE] = toInt(input.substr(pos));
1440
+ getParsingFlags(config).bigHour = true;
1441
+ });
1442
+ addParseToken("hmmss", function(input, array, config) {
1443
+ var pos1 = input.length - 4, pos2 = input.length - 2;
1444
+ array[HOUR] = toInt(input.substr(0, pos1));
1445
+ array[MINUTE] = toInt(input.substr(pos1, 2));
1446
+ array[SECOND] = toInt(input.substr(pos2));
1447
+ getParsingFlags(config).bigHour = true;
1448
+ });
1449
+ addParseToken("Hmm", function(input, array, config) {
1450
+ var pos = input.length - 2;
1451
+ array[HOUR] = toInt(input.substr(0, pos));
1452
+ array[MINUTE] = toInt(input.substr(pos));
1453
+ });
1454
+ addParseToken("Hmmss", function(input, array, config) {
1455
+ var pos1 = input.length - 4, pos2 = input.length - 2;
1456
+ array[HOUR] = toInt(input.substr(0, pos1));
1457
+ array[MINUTE] = toInt(input.substr(pos1, 2));
1458
+ array[SECOND] = toInt(input.substr(pos2));
1459
+ });
1460
+ function localeIsPM(input) {
1461
+ return (input + "").toLowerCase().charAt(0) === "p";
1462
+ }
1463
+ var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i, getSetHour = makeGetSet("Hours", true);
1464
+ function localeMeridiem(hours2, minutes2, isLower) {
1465
+ if (hours2 > 11) {
1466
+ return isLower ? "pm" : "PM";
1467
+ } else {
1468
+ return isLower ? "am" : "AM";
1469
+ }
1470
+ }
1471
+ var baseConfig = {
1472
+ calendar: defaultCalendar,
1473
+ longDateFormat: defaultLongDateFormat,
1474
+ invalidDate: defaultInvalidDate,
1475
+ ordinal: defaultOrdinal,
1476
+ dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,
1477
+ relativeTime: defaultRelativeTime,
1478
+ months: defaultLocaleMonths,
1479
+ monthsShort: defaultLocaleMonthsShort,
1480
+ week: defaultLocaleWeek,
1481
+ weekdays: defaultLocaleWeekdays,
1482
+ weekdaysMin: defaultLocaleWeekdaysMin,
1483
+ weekdaysShort: defaultLocaleWeekdaysShort,
1484
+ meridiemParse: defaultLocaleMeridiemParse
1485
+ };
1486
+ var locales = {}, localeFamilies = {}, globalLocale;
1487
+ function commonPrefix(arr1, arr2) {
1488
+ var i, minl = Math.min(arr1.length, arr2.length);
1489
+ for (i = 0; i < minl; i += 1) {
1490
+ if (arr1[i] !== arr2[i]) {
1491
+ return i;
1492
+ }
1493
+ }
1494
+ return minl;
1495
+ }
1496
+ function normalizeLocale(key) {
1497
+ return key ? key.toLowerCase().replace("_", "-") : key;
1498
+ }
1499
+ function chooseLocale(names) {
1500
+ var i = 0, j, next, locale2, split;
1501
+ while (i < names.length) {
1502
+ split = normalizeLocale(names[i]).split("-");
1503
+ j = split.length;
1504
+ next = normalizeLocale(names[i + 1]);
1505
+ next = next ? next.split("-") : null;
1506
+ while (j > 0) {
1507
+ locale2 = loadLocale(split.slice(0, j).join("-"));
1508
+ if (locale2) {
1509
+ return locale2;
1510
+ }
1511
+ if (next && next.length >= j && commonPrefix(split, next) >= j - 1) {
1512
+ break;
1513
+ }
1514
+ j--;
1515
+ }
1516
+ i++;
1517
+ }
1518
+ return globalLocale;
1519
+ }
1520
+ function isLocaleNameSane(name) {
1521
+ return !!(name && name.match("^[^/\\\\]*$"));
1522
+ }
1523
+ function loadLocale(name) {
1524
+ var oldLocale = null, aliasedRequire;
1525
+ if (locales[name] === void 0 && typeof module !== "undefined" && module && module.exports && isLocaleNameSane(name)) {
1526
+ try {
1527
+ oldLocale = globalLocale._abbr;
1528
+ aliasedRequire = require;
1529
+ aliasedRequire("./locale/" + name);
1530
+ getSetGlobalLocale(oldLocale);
1531
+ } catch (e) {
1532
+ locales[name] = null;
1533
+ }
1534
+ }
1535
+ return locales[name];
1536
+ }
1537
+ function getSetGlobalLocale(key, values) {
1538
+ var data;
1539
+ if (key) {
1540
+ if (isUndefined(values)) {
1541
+ data = getLocale(key);
1542
+ } else {
1543
+ data = defineLocale(key, values);
1544
+ }
1545
+ if (data) {
1546
+ globalLocale = data;
1547
+ } else {
1548
+ if (typeof console !== "undefined" && console.warn) {
1549
+ console.warn(
1550
+ "Locale " + key + " not found. Did you forget to load it?"
1551
+ );
1552
+ }
1553
+ }
1554
+ }
1555
+ return globalLocale._abbr;
1556
+ }
1557
+ function defineLocale(name, config) {
1558
+ if (config !== null) {
1559
+ var locale2, parentConfig = baseConfig;
1560
+ config.abbr = name;
1561
+ if (locales[name] != null) {
1562
+ deprecateSimple(
1563
+ "defineLocaleOverride",
1564
+ "use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."
1565
+ );
1566
+ parentConfig = locales[name]._config;
1567
+ } else if (config.parentLocale != null) {
1568
+ if (locales[config.parentLocale] != null) {
1569
+ parentConfig = locales[config.parentLocale]._config;
1570
+ } else {
1571
+ locale2 = loadLocale(config.parentLocale);
1572
+ if (locale2 != null) {
1573
+ parentConfig = locale2._config;
1574
+ } else {
1575
+ if (!localeFamilies[config.parentLocale]) {
1576
+ localeFamilies[config.parentLocale] = [];
1577
+ }
1578
+ localeFamilies[config.parentLocale].push({
1579
+ name,
1580
+ config
1581
+ });
1582
+ return null;
1583
+ }
1584
+ }
1585
+ }
1586
+ locales[name] = new Locale(mergeConfigs(parentConfig, config));
1587
+ if (localeFamilies[name]) {
1588
+ localeFamilies[name].forEach(function(x) {
1589
+ defineLocale(x.name, x.config);
1590
+ });
1591
+ }
1592
+ getSetGlobalLocale(name);
1593
+ return locales[name];
1594
+ } else {
1595
+ delete locales[name];
1596
+ return null;
1597
+ }
1598
+ }
1599
+ function updateLocale(name, config) {
1600
+ if (config != null) {
1601
+ var locale2, tmpLocale, parentConfig = baseConfig;
1602
+ if (locales[name] != null && locales[name].parentLocale != null) {
1603
+ locales[name].set(mergeConfigs(locales[name]._config, config));
1604
+ } else {
1605
+ tmpLocale = loadLocale(name);
1606
+ if (tmpLocale != null) {
1607
+ parentConfig = tmpLocale._config;
1608
+ }
1609
+ config = mergeConfigs(parentConfig, config);
1610
+ if (tmpLocale == null) {
1611
+ config.abbr = name;
1612
+ }
1613
+ locale2 = new Locale(config);
1614
+ locale2.parentLocale = locales[name];
1615
+ locales[name] = locale2;
1616
+ }
1617
+ getSetGlobalLocale(name);
1618
+ } else {
1619
+ if (locales[name] != null) {
1620
+ if (locales[name].parentLocale != null) {
1621
+ locales[name] = locales[name].parentLocale;
1622
+ if (name === getSetGlobalLocale()) {
1623
+ getSetGlobalLocale(name);
1624
+ }
1625
+ } else if (locales[name] != null) {
1626
+ delete locales[name];
1627
+ }
1628
+ }
1629
+ }
1630
+ return locales[name];
1631
+ }
1632
+ function getLocale(key) {
1633
+ var locale2;
1634
+ if (key && key._locale && key._locale._abbr) {
1635
+ key = key._locale._abbr;
1636
+ }
1637
+ if (!key) {
1638
+ return globalLocale;
1639
+ }
1640
+ if (!isArray(key)) {
1641
+ locale2 = loadLocale(key);
1642
+ if (locale2) {
1643
+ return locale2;
1644
+ }
1645
+ key = [key];
1646
+ }
1647
+ return chooseLocale(key);
1648
+ }
1649
+ function listLocales() {
1650
+ return keys(locales);
1651
+ }
1652
+ function checkOverflow(m) {
1653
+ var overflow, a = m._a;
1654
+ if (a && getParsingFlags(m).overflow === -2) {
1655
+ overflow = a[MONTH] < 0 || a[MONTH] > 11 ? MONTH : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE : a[HOUR] < 0 || a[HOUR] > 24 || a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0) ? HOUR : a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE : a[SECOND] < 0 || a[SECOND] > 59 ? SECOND : a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND : -1;
1656
+ if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {
1657
+ overflow = DATE;
1658
+ }
1659
+ if (getParsingFlags(m)._overflowWeeks && overflow === -1) {
1660
+ overflow = WEEK;
1661
+ }
1662
+ if (getParsingFlags(m)._overflowWeekday && overflow === -1) {
1663
+ overflow = WEEKDAY;
1664
+ }
1665
+ getParsingFlags(m).overflow = overflow;
1666
+ }
1667
+ return m;
1668
+ }
1669
+ var extendedIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/, basicIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/, tzRegex = /Z|[+-]\d\d(?::?\d\d)?/, isoDates = [
1670
+ ["YYYYYY-MM-DD", /[+-]\d{6}-\d\d-\d\d/],
1671
+ ["YYYY-MM-DD", /\d{4}-\d\d-\d\d/],
1672
+ ["GGGG-[W]WW-E", /\d{4}-W\d\d-\d/],
1673
+ ["GGGG-[W]WW", /\d{4}-W\d\d/, false],
1674
+ ["YYYY-DDD", /\d{4}-\d{3}/],
1675
+ ["YYYY-MM", /\d{4}-\d\d/, false],
1676
+ ["YYYYYYMMDD", /[+-]\d{10}/],
1677
+ ["YYYYMMDD", /\d{8}/],
1678
+ ["GGGG[W]WWE", /\d{4}W\d{3}/],
1679
+ ["GGGG[W]WW", /\d{4}W\d{2}/, false],
1680
+ ["YYYYDDD", /\d{7}/],
1681
+ ["YYYYMM", /\d{6}/, false],
1682
+ ["YYYY", /\d{4}/, false]
1683
+ ], isoTimes = [
1684
+ ["HH:mm:ss.SSSS", /\d\d:\d\d:\d\d\.\d+/],
1685
+ ["HH:mm:ss,SSSS", /\d\d:\d\d:\d\d,\d+/],
1686
+ ["HH:mm:ss", /\d\d:\d\d:\d\d/],
1687
+ ["HH:mm", /\d\d:\d\d/],
1688
+ ["HHmmss.SSSS", /\d\d\d\d\d\d\.\d+/],
1689
+ ["HHmmss,SSSS", /\d\d\d\d\d\d,\d+/],
1690
+ ["HHmmss", /\d\d\d\d\d\d/],
1691
+ ["HHmm", /\d\d\d\d/],
1692
+ ["HH", /\d\d/]
1693
+ ], aspNetJsonRegex = /^\/?Date\((-?\d+)/i, rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/, obsOffsets = {
1694
+ UT: 0,
1695
+ GMT: 0,
1696
+ EDT: -4 * 60,
1697
+ EST: -5 * 60,
1698
+ CDT: -5 * 60,
1699
+ CST: -6 * 60,
1700
+ MDT: -6 * 60,
1701
+ MST: -7 * 60,
1702
+ PDT: -7 * 60,
1703
+ PST: -8 * 60
1704
+ };
1705
+ function configFromISO(config) {
1706
+ var i, l, string = config._i, match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string), allowTime, dateFormat, timeFormat, tzFormat, isoDatesLen = isoDates.length, isoTimesLen = isoTimes.length;
1707
+ if (match) {
1708
+ getParsingFlags(config).iso = true;
1709
+ for (i = 0, l = isoDatesLen; i < l; i++) {
1710
+ if (isoDates[i][1].exec(match[1])) {
1711
+ dateFormat = isoDates[i][0];
1712
+ allowTime = isoDates[i][2] !== false;
1713
+ break;
1714
+ }
1715
+ }
1716
+ if (dateFormat == null) {
1717
+ config._isValid = false;
1718
+ return;
1719
+ }
1720
+ if (match[3]) {
1721
+ for (i = 0, l = isoTimesLen; i < l; i++) {
1722
+ if (isoTimes[i][1].exec(match[3])) {
1723
+ timeFormat = (match[2] || " ") + isoTimes[i][0];
1724
+ break;
1725
+ }
1726
+ }
1727
+ if (timeFormat == null) {
1728
+ config._isValid = false;
1729
+ return;
1730
+ }
1731
+ }
1732
+ if (!allowTime && timeFormat != null) {
1733
+ config._isValid = false;
1734
+ return;
1735
+ }
1736
+ if (match[4]) {
1737
+ if (tzRegex.exec(match[4])) {
1738
+ tzFormat = "Z";
1739
+ } else {
1740
+ config._isValid = false;
1741
+ return;
1742
+ }
1743
+ }
1744
+ config._f = dateFormat + (timeFormat || "") + (tzFormat || "");
1745
+ configFromStringAndFormat(config);
1746
+ } else {
1747
+ config._isValid = false;
1748
+ }
1749
+ }
1750
+ function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {
1751
+ var result = [
1752
+ untruncateYear(yearStr),
1753
+ defaultLocaleMonthsShort.indexOf(monthStr),
1754
+ parseInt(dayStr, 10),
1755
+ parseInt(hourStr, 10),
1756
+ parseInt(minuteStr, 10)
1757
+ ];
1758
+ if (secondStr) {
1759
+ result.push(parseInt(secondStr, 10));
1760
+ }
1761
+ return result;
1762
+ }
1763
+ function untruncateYear(yearStr) {
1764
+ var year = parseInt(yearStr, 10);
1765
+ if (year <= 49) {
1766
+ return 2e3 + year;
1767
+ } else if (year <= 999) {
1768
+ return 1900 + year;
1769
+ }
1770
+ return year;
1771
+ }
1772
+ function preprocessRFC2822(s) {
1773
+ return s.replace(/\([^()]*\)|[\n\t]/g, " ").replace(/(\s\s+)/g, " ").replace(/^\s\s*/, "").replace(/\s\s*$/, "");
1774
+ }
1775
+ function checkWeekday(weekdayStr, parsedInput, config) {
1776
+ if (weekdayStr) {
1777
+ var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr), weekdayActual = new Date(
1778
+ parsedInput[0],
1779
+ parsedInput[1],
1780
+ parsedInput[2]
1781
+ ).getDay();
1782
+ if (weekdayProvided !== weekdayActual) {
1783
+ getParsingFlags(config).weekdayMismatch = true;
1784
+ config._isValid = false;
1785
+ return false;
1786
+ }
1787
+ }
1788
+ return true;
1789
+ }
1790
+ function calculateOffset(obsOffset, militaryOffset, numOffset) {
1791
+ if (obsOffset) {
1792
+ return obsOffsets[obsOffset];
1793
+ } else if (militaryOffset) {
1794
+ return 0;
1795
+ } else {
1796
+ var hm = parseInt(numOffset, 10), m = hm % 100, h = (hm - m) / 100;
1797
+ return h * 60 + m;
1798
+ }
1799
+ }
1800
+ function configFromRFC2822(config) {
1801
+ var match = rfc2822.exec(preprocessRFC2822(config._i)), parsedArray;
1802
+ if (match) {
1803
+ parsedArray = extractFromRFC2822Strings(
1804
+ match[4],
1805
+ match[3],
1806
+ match[2],
1807
+ match[5],
1808
+ match[6],
1809
+ match[7]
1810
+ );
1811
+ if (!checkWeekday(match[1], parsedArray, config)) {
1812
+ return;
1813
+ }
1814
+ config._a = parsedArray;
1815
+ config._tzm = calculateOffset(match[8], match[9], match[10]);
1816
+ config._d = createUTCDate.apply(null, config._a);
1817
+ config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);
1818
+ getParsingFlags(config).rfc2822 = true;
1819
+ } else {
1820
+ config._isValid = false;
1821
+ }
1822
+ }
1823
+ function configFromString(config) {
1824
+ var matched = aspNetJsonRegex.exec(config._i);
1825
+ if (matched !== null) {
1826
+ config._d = /* @__PURE__ */ new Date(+matched[1]);
1827
+ return;
1828
+ }
1829
+ configFromISO(config);
1830
+ if (config._isValid === false) {
1831
+ delete config._isValid;
1832
+ } else {
1833
+ return;
1834
+ }
1835
+ configFromRFC2822(config);
1836
+ if (config._isValid === false) {
1837
+ delete config._isValid;
1838
+ } else {
1839
+ return;
1840
+ }
1841
+ if (config._strict) {
1842
+ config._isValid = false;
1843
+ } else {
1844
+ hooks.createFromInputFallback(config);
1845
+ }
1846
+ }
1847
+ hooks.createFromInputFallback = deprecate(
1848
+ "value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",
1849
+ function(config) {
1850
+ config._d = /* @__PURE__ */ new Date(config._i + (config._useUTC ? " UTC" : ""));
1851
+ }
1852
+ );
1853
+ function defaults(a, b, c) {
1854
+ if (a != null) {
1855
+ return a;
1856
+ }
1857
+ if (b != null) {
1858
+ return b;
1859
+ }
1860
+ return c;
1861
+ }
1862
+ function currentDateArray(config) {
1863
+ var nowValue = new Date(hooks.now());
1864
+ if (config._useUTC) {
1865
+ return [
1866
+ nowValue.getUTCFullYear(),
1867
+ nowValue.getUTCMonth(),
1868
+ nowValue.getUTCDate()
1869
+ ];
1870
+ }
1871
+ return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];
1872
+ }
1873
+ function configFromArray(config) {
1874
+ var i, date, input = [], currentDate, expectedWeekday, yearToUse;
1875
+ if (config._d) {
1876
+ return;
1877
+ }
1878
+ currentDate = currentDateArray(config);
1879
+ if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {
1880
+ dayOfYearFromWeekInfo(config);
1881
+ }
1882
+ if (config._dayOfYear != null) {
1883
+ yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);
1884
+ if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {
1885
+ getParsingFlags(config)._overflowDayOfYear = true;
1886
+ }
1887
+ date = createUTCDate(yearToUse, 0, config._dayOfYear);
1888
+ config._a[MONTH] = date.getUTCMonth();
1889
+ config._a[DATE] = date.getUTCDate();
1890
+ }
1891
+ for (i = 0; i < 3 && config._a[i] == null; ++i) {
1892
+ config._a[i] = input[i] = currentDate[i];
1893
+ }
1894
+ for (; i < 7; i++) {
1895
+ config._a[i] = input[i] = config._a[i] == null ? i === 2 ? 1 : 0 : config._a[i];
1896
+ }
1897
+ if (config._a[HOUR] === 24 && config._a[MINUTE] === 0 && config._a[SECOND] === 0 && config._a[MILLISECOND] === 0) {
1898
+ config._nextDay = true;
1899
+ config._a[HOUR] = 0;
1900
+ }
1901
+ config._d = (config._useUTC ? createUTCDate : createDate).apply(
1902
+ null,
1903
+ input
1904
+ );
1905
+ expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay();
1906
+ if (config._tzm != null) {
1907
+ config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);
1908
+ }
1909
+ if (config._nextDay) {
1910
+ config._a[HOUR] = 24;
1911
+ }
1912
+ if (config._w && typeof config._w.d !== "undefined" && config._w.d !== expectedWeekday) {
1913
+ getParsingFlags(config).weekdayMismatch = true;
1914
+ }
1915
+ }
1916
+ function dayOfYearFromWeekInfo(config) {
1917
+ var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;
1918
+ w = config._w;
1919
+ if (w.GG != null || w.W != null || w.E != null) {
1920
+ dow = 1;
1921
+ doy = 4;
1922
+ weekYear = defaults(
1923
+ w.GG,
1924
+ config._a[YEAR],
1925
+ weekOfYear(createLocal(), 1, 4).year
1926
+ );
1927
+ week = defaults(w.W, 1);
1928
+ weekday = defaults(w.E, 1);
1929
+ if (weekday < 1 || weekday > 7) {
1930
+ weekdayOverflow = true;
1931
+ }
1932
+ } else {
1933
+ dow = config._locale._week.dow;
1934
+ doy = config._locale._week.doy;
1935
+ curWeek = weekOfYear(createLocal(), dow, doy);
1936
+ weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);
1937
+ week = defaults(w.w, curWeek.week);
1938
+ if (w.d != null) {
1939
+ weekday = w.d;
1940
+ if (weekday < 0 || weekday > 6) {
1941
+ weekdayOverflow = true;
1942
+ }
1943
+ } else if (w.e != null) {
1944
+ weekday = w.e + dow;
1945
+ if (w.e < 0 || w.e > 6) {
1946
+ weekdayOverflow = true;
1947
+ }
1948
+ } else {
1949
+ weekday = dow;
1950
+ }
1951
+ }
1952
+ if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {
1953
+ getParsingFlags(config)._overflowWeeks = true;
1954
+ } else if (weekdayOverflow != null) {
1955
+ getParsingFlags(config)._overflowWeekday = true;
1956
+ } else {
1957
+ temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);
1958
+ config._a[YEAR] = temp.year;
1959
+ config._dayOfYear = temp.dayOfYear;
1960
+ }
1961
+ }
1962
+ hooks.ISO_8601 = function() {
1963
+ };
1964
+ hooks.RFC_2822 = function() {
1965
+ };
1966
+ function configFromStringAndFormat(config) {
1967
+ if (config._f === hooks.ISO_8601) {
1968
+ configFromISO(config);
1969
+ return;
1970
+ }
1971
+ if (config._f === hooks.RFC_2822) {
1972
+ configFromRFC2822(config);
1973
+ return;
1974
+ }
1975
+ config._a = [];
1976
+ getParsingFlags(config).empty = true;
1977
+ var string = "" + config._i, i, parsedInput, tokens2, token2, skipped, stringLength = string.length, totalParsedInputLength = 0, era, tokenLen;
1978
+ tokens2 = expandFormat(config._f, config._locale).match(formattingTokens) || [];
1979
+ tokenLen = tokens2.length;
1980
+ for (i = 0; i < tokenLen; i++) {
1981
+ token2 = tokens2[i];
1982
+ parsedInput = (string.match(getParseRegexForToken(token2, config)) || [])[0];
1983
+ if (parsedInput) {
1984
+ skipped = string.substr(0, string.indexOf(parsedInput));
1985
+ if (skipped.length > 0) {
1986
+ getParsingFlags(config).unusedInput.push(skipped);
1987
+ }
1988
+ string = string.slice(
1989
+ string.indexOf(parsedInput) + parsedInput.length
1990
+ );
1991
+ totalParsedInputLength += parsedInput.length;
1992
+ }
1993
+ if (formatTokenFunctions[token2]) {
1994
+ if (parsedInput) {
1995
+ getParsingFlags(config).empty = false;
1996
+ } else {
1997
+ getParsingFlags(config).unusedTokens.push(token2);
1998
+ }
1999
+ addTimeToArrayFromToken(token2, parsedInput, config);
2000
+ } else if (config._strict && !parsedInput) {
2001
+ getParsingFlags(config).unusedTokens.push(token2);
2002
+ }
2003
+ }
2004
+ getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;
2005
+ if (string.length > 0) {
2006
+ getParsingFlags(config).unusedInput.push(string);
2007
+ }
2008
+ if (config._a[HOUR] <= 12 && getParsingFlags(config).bigHour === true && config._a[HOUR] > 0) {
2009
+ getParsingFlags(config).bigHour = void 0;
2010
+ }
2011
+ getParsingFlags(config).parsedDateParts = config._a.slice(0);
2012
+ getParsingFlags(config).meridiem = config._meridiem;
2013
+ config._a[HOUR] = meridiemFixWrap(
2014
+ config._locale,
2015
+ config._a[HOUR],
2016
+ config._meridiem
2017
+ );
2018
+ era = getParsingFlags(config).era;
2019
+ if (era !== null) {
2020
+ config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);
2021
+ }
2022
+ configFromArray(config);
2023
+ checkOverflow(config);
2024
+ }
2025
+ function meridiemFixWrap(locale2, hour, meridiem2) {
2026
+ var isPm;
2027
+ if (meridiem2 == null) {
2028
+ return hour;
2029
+ }
2030
+ if (locale2.meridiemHour != null) {
2031
+ return locale2.meridiemHour(hour, meridiem2);
2032
+ } else if (locale2.isPM != null) {
2033
+ isPm = locale2.isPM(meridiem2);
2034
+ if (isPm && hour < 12) {
2035
+ hour += 12;
2036
+ }
2037
+ if (!isPm && hour === 12) {
2038
+ hour = 0;
2039
+ }
2040
+ return hour;
2041
+ } else {
2042
+ return hour;
2043
+ }
2044
+ }
2045
+ function configFromStringAndArray(config) {
2046
+ var tempConfig, bestMoment, scoreToBeat, i, currentScore, validFormatFound, bestFormatIsValid = false, configfLen = config._f.length;
2047
+ if (configfLen === 0) {
2048
+ getParsingFlags(config).invalidFormat = true;
2049
+ config._d = /* @__PURE__ */ new Date(NaN);
2050
+ return;
2051
+ }
2052
+ for (i = 0; i < configfLen; i++) {
2053
+ currentScore = 0;
2054
+ validFormatFound = false;
2055
+ tempConfig = copyConfig({}, config);
2056
+ if (config._useUTC != null) {
2057
+ tempConfig._useUTC = config._useUTC;
2058
+ }
2059
+ tempConfig._f = config._f[i];
2060
+ configFromStringAndFormat(tempConfig);
2061
+ if (isValid(tempConfig)) {
2062
+ validFormatFound = true;
2063
+ }
2064
+ currentScore += getParsingFlags(tempConfig).charsLeftOver;
2065
+ currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;
2066
+ getParsingFlags(tempConfig).score = currentScore;
2067
+ if (!bestFormatIsValid) {
2068
+ if (scoreToBeat == null || currentScore < scoreToBeat || validFormatFound) {
2069
+ scoreToBeat = currentScore;
2070
+ bestMoment = tempConfig;
2071
+ if (validFormatFound) {
2072
+ bestFormatIsValid = true;
2073
+ }
2074
+ }
2075
+ } else {
2076
+ if (currentScore < scoreToBeat) {
2077
+ scoreToBeat = currentScore;
2078
+ bestMoment = tempConfig;
2079
+ }
2080
+ }
2081
+ }
2082
+ extend(config, bestMoment || tempConfig);
2083
+ }
2084
+ function configFromObject(config) {
2085
+ if (config._d) {
2086
+ return;
2087
+ }
2088
+ var i = normalizeObjectUnits(config._i), dayOrDate = i.day === void 0 ? i.date : i.day;
2089
+ config._a = map(
2090
+ [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],
2091
+ function(obj) {
2092
+ return obj && parseInt(obj, 10);
2093
+ }
2094
+ );
2095
+ configFromArray(config);
2096
+ }
2097
+ function createFromConfig(config) {
2098
+ var res = new Moment(checkOverflow(prepareConfig(config)));
2099
+ if (res._nextDay) {
2100
+ res.add(1, "d");
2101
+ res._nextDay = void 0;
2102
+ }
2103
+ return res;
2104
+ }
2105
+ function prepareConfig(config) {
2106
+ var input = config._i, format2 = config._f;
2107
+ config._locale = config._locale || getLocale(config._l);
2108
+ if (input === null || format2 === void 0 && input === "") {
2109
+ return createInvalid({ nullInput: true });
2110
+ }
2111
+ if (typeof input === "string") {
2112
+ config._i = input = config._locale.preparse(input);
2113
+ }
2114
+ if (isMoment(input)) {
2115
+ return new Moment(checkOverflow(input));
2116
+ } else if (isDate(input)) {
2117
+ config._d = input;
2118
+ } else if (isArray(format2)) {
2119
+ configFromStringAndArray(config);
2120
+ } else if (format2) {
2121
+ configFromStringAndFormat(config);
2122
+ } else {
2123
+ configFromInput(config);
2124
+ }
2125
+ if (!isValid(config)) {
2126
+ config._d = null;
2127
+ }
2128
+ return config;
2129
+ }
2130
+ function configFromInput(config) {
2131
+ var input = config._i;
2132
+ if (isUndefined(input)) {
2133
+ config._d = new Date(hooks.now());
2134
+ } else if (isDate(input)) {
2135
+ config._d = new Date(input.valueOf());
2136
+ } else if (typeof input === "string") {
2137
+ configFromString(config);
2138
+ } else if (isArray(input)) {
2139
+ config._a = map(input.slice(0), function(obj) {
2140
+ return parseInt(obj, 10);
2141
+ });
2142
+ configFromArray(config);
2143
+ } else if (isObject(input)) {
2144
+ configFromObject(config);
2145
+ } else if (isNumber(input)) {
2146
+ config._d = new Date(input);
2147
+ } else {
2148
+ hooks.createFromInputFallback(config);
2149
+ }
2150
+ }
2151
+ function createLocalOrUTC(input, format2, locale2, strict, isUTC) {
2152
+ var c = {};
2153
+ if (format2 === true || format2 === false) {
2154
+ strict = format2;
2155
+ format2 = void 0;
2156
+ }
2157
+ if (locale2 === true || locale2 === false) {
2158
+ strict = locale2;
2159
+ locale2 = void 0;
2160
+ }
2161
+ if (isObject(input) && isObjectEmpty(input) || isArray(input) && input.length === 0) {
2162
+ input = void 0;
2163
+ }
2164
+ c._isAMomentObject = true;
2165
+ c._useUTC = c._isUTC = isUTC;
2166
+ c._l = locale2;
2167
+ c._i = input;
2168
+ c._f = format2;
2169
+ c._strict = strict;
2170
+ return createFromConfig(c);
2171
+ }
2172
+ function createLocal(input, format2, locale2, strict) {
2173
+ return createLocalOrUTC(input, format2, locale2, strict, false);
2174
+ }
2175
+ var prototypeMin = deprecate(
2176
+ "moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",
2177
+ function() {
2178
+ var other = createLocal.apply(null, arguments);
2179
+ if (this.isValid() && other.isValid()) {
2180
+ return other < this ? this : other;
2181
+ } else {
2182
+ return createInvalid();
2183
+ }
2184
+ }
2185
+ ), prototypeMax = deprecate(
2186
+ "moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",
2187
+ function() {
2188
+ var other = createLocal.apply(null, arguments);
2189
+ if (this.isValid() && other.isValid()) {
2190
+ return other > this ? this : other;
2191
+ } else {
2192
+ return createInvalid();
2193
+ }
2194
+ }
2195
+ );
2196
+ function pickBy(fn, moments) {
2197
+ var res, i;
2198
+ if (moments.length === 1 && isArray(moments[0])) {
2199
+ moments = moments[0];
2200
+ }
2201
+ if (!moments.length) {
2202
+ return createLocal();
2203
+ }
2204
+ res = moments[0];
2205
+ for (i = 1; i < moments.length; ++i) {
2206
+ if (!moments[i].isValid() || moments[i][fn](res)) {
2207
+ res = moments[i];
2208
+ }
2209
+ }
2210
+ return res;
2211
+ }
2212
+ function min() {
2213
+ var args = [].slice.call(arguments, 0);
2214
+ return pickBy("isBefore", args);
2215
+ }
2216
+ function max() {
2217
+ var args = [].slice.call(arguments, 0);
2218
+ return pickBy("isAfter", args);
2219
+ }
2220
+ var now = function() {
2221
+ return Date.now ? Date.now() : +/* @__PURE__ */ new Date();
2222
+ };
2223
+ var ordering = [
2224
+ "year",
2225
+ "quarter",
2226
+ "month",
2227
+ "week",
2228
+ "day",
2229
+ "hour",
2230
+ "minute",
2231
+ "second",
2232
+ "millisecond"
2233
+ ];
2234
+ function isDurationValid(m) {
2235
+ var key, unitHasDecimal = false, i, orderLen = ordering.length;
2236
+ for (key in m) {
2237
+ if (hasOwnProp(m, key) && !(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) {
2238
+ return false;
2239
+ }
2240
+ }
2241
+ for (i = 0; i < orderLen; ++i) {
2242
+ if (m[ordering[i]]) {
2243
+ if (unitHasDecimal) {
2244
+ return false;
2245
+ }
2246
+ if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {
2247
+ unitHasDecimal = true;
2248
+ }
2249
+ }
2250
+ }
2251
+ return true;
2252
+ }
2253
+ function isValid$1() {
2254
+ return this._isValid;
2255
+ }
2256
+ function createInvalid$1() {
2257
+ return createDuration(NaN);
2258
+ }
2259
+ function Duration(duration) {
2260
+ var normalizedInput = normalizeObjectUnits(duration), years2 = normalizedInput.year || 0, quarters = normalizedInput.quarter || 0, months2 = normalizedInput.month || 0, weeks2 = normalizedInput.week || normalizedInput.isoWeek || 0, days2 = normalizedInput.day || 0, hours2 = normalizedInput.hour || 0, minutes2 = normalizedInput.minute || 0, seconds2 = normalizedInput.second || 0, milliseconds2 = normalizedInput.millisecond || 0;
2261
+ this._isValid = isDurationValid(normalizedInput);
2262
+ this._milliseconds = +milliseconds2 + seconds2 * 1e3 + // 1000
2263
+ minutes2 * 6e4 + // 1000 * 60
2264
+ hours2 * 1e3 * 60 * 60;
2265
+ this._days = +days2 + weeks2 * 7;
2266
+ this._months = +months2 + quarters * 3 + years2 * 12;
2267
+ this._data = {};
2268
+ this._locale = getLocale();
2269
+ this._bubble();
2270
+ }
2271
+ function isDuration(obj) {
2272
+ return obj instanceof Duration;
2273
+ }
2274
+ function absRound(number) {
2275
+ if (number < 0) {
2276
+ return Math.round(-1 * number) * -1;
2277
+ } else {
2278
+ return Math.round(number);
2279
+ }
2280
+ }
2281
+ function compareArrays(array1, array2, dontConvert) {
2282
+ var len = Math.min(array1.length, array2.length), lengthDiff = Math.abs(array1.length - array2.length), diffs = 0, i;
2283
+ for (i = 0; i < len; i++) {
2284
+ if (toInt(array1[i]) !== toInt(array2[i])) {
2285
+ diffs++;
2286
+ }
2287
+ }
2288
+ return diffs + lengthDiff;
2289
+ }
2290
+ function offset(token2, separator) {
2291
+ addFormatToken(token2, 0, 0, function() {
2292
+ var offset2 = this.utcOffset(), sign2 = "+";
2293
+ if (offset2 < 0) {
2294
+ offset2 = -offset2;
2295
+ sign2 = "-";
2296
+ }
2297
+ return sign2 + zeroFill(~~(offset2 / 60), 2) + separator + zeroFill(~~offset2 % 60, 2);
2298
+ });
2299
+ }
2300
+ offset("Z", ":");
2301
+ offset("ZZ", "");
2302
+ addRegexToken("Z", matchShortOffset);
2303
+ addRegexToken("ZZ", matchShortOffset);
2304
+ addParseToken(["Z", "ZZ"], function(input, array, config) {
2305
+ config._useUTC = true;
2306
+ config._tzm = offsetFromString(matchShortOffset, input);
2307
+ });
2308
+ var chunkOffset = /([\+\-]|\d\d)/gi;
2309
+ function offsetFromString(matcher, string) {
2310
+ var matches = (string || "").match(matcher), chunk, parts, minutes2;
2311
+ if (matches === null) {
2312
+ return null;
2313
+ }
2314
+ chunk = matches[matches.length - 1] || [];
2315
+ parts = (chunk + "").match(chunkOffset) || ["-", 0, 0];
2316
+ minutes2 = +(parts[1] * 60) + toInt(parts[2]);
2317
+ return minutes2 === 0 ? 0 : parts[0] === "+" ? minutes2 : -minutes2;
2318
+ }
2319
+ function cloneWithOffset(input, model) {
2320
+ var res, diff2;
2321
+ if (model._isUTC) {
2322
+ res = model.clone();
2323
+ diff2 = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();
2324
+ res._d.setTime(res._d.valueOf() + diff2);
2325
+ hooks.updateOffset(res, false);
2326
+ return res;
2327
+ } else {
2328
+ return createLocal(input).local();
2329
+ }
2330
+ }
2331
+ function getDateOffset(m) {
2332
+ return -Math.round(m._d.getTimezoneOffset());
2333
+ }
2334
+ hooks.updateOffset = function() {
2335
+ };
2336
+ function getSetOffset(input, keepLocalTime, keepMinutes) {
2337
+ var offset2 = this._offset || 0, localAdjust;
2338
+ if (!this.isValid()) {
2339
+ return input != null ? this : NaN;
2340
+ }
2341
+ if (input != null) {
2342
+ if (typeof input === "string") {
2343
+ input = offsetFromString(matchShortOffset, input);
2344
+ if (input === null) {
2345
+ return this;
2346
+ }
2347
+ } else if (Math.abs(input) < 16 && !keepMinutes) {
2348
+ input = input * 60;
2349
+ }
2350
+ if (!this._isUTC && keepLocalTime) {
2351
+ localAdjust = getDateOffset(this);
2352
+ }
2353
+ this._offset = input;
2354
+ this._isUTC = true;
2355
+ if (localAdjust != null) {
2356
+ this.add(localAdjust, "m");
2357
+ }
2358
+ if (offset2 !== input) {
2359
+ if (!keepLocalTime || this._changeInProgress) {
2360
+ addSubtract(
2361
+ this,
2362
+ createDuration(input - offset2, "m"),
2363
+ 1,
2364
+ false
2365
+ );
2366
+ } else if (!this._changeInProgress) {
2367
+ this._changeInProgress = true;
2368
+ hooks.updateOffset(this, true);
2369
+ this._changeInProgress = null;
2370
+ }
2371
+ }
2372
+ return this;
2373
+ } else {
2374
+ return this._isUTC ? offset2 : getDateOffset(this);
2375
+ }
2376
+ }
2377
+ function getSetZone(input, keepLocalTime) {
2378
+ if (input != null) {
2379
+ if (typeof input !== "string") {
2380
+ input = -input;
2381
+ }
2382
+ this.utcOffset(input, keepLocalTime);
2383
+ return this;
2384
+ } else {
2385
+ return -this.utcOffset();
2386
+ }
2387
+ }
2388
+ function setOffsetToUTC(keepLocalTime) {
2389
+ return this.utcOffset(0, keepLocalTime);
2390
+ }
2391
+ function setOffsetToLocal(keepLocalTime) {
2392
+ if (this._isUTC) {
2393
+ this.utcOffset(0, keepLocalTime);
2394
+ this._isUTC = false;
2395
+ if (keepLocalTime) {
2396
+ this.subtract(getDateOffset(this), "m");
2397
+ }
2398
+ }
2399
+ return this;
2400
+ }
2401
+ function setOffsetToParsedOffset() {
2402
+ if (this._tzm != null) {
2403
+ this.utcOffset(this._tzm, false, true);
2404
+ } else if (typeof this._i === "string") {
2405
+ var tZone = offsetFromString(matchOffset, this._i);
2406
+ if (tZone != null) {
2407
+ this.utcOffset(tZone);
2408
+ } else {
2409
+ this.utcOffset(0, true);
2410
+ }
2411
+ }
2412
+ return this;
2413
+ }
2414
+ function hasAlignedHourOffset(input) {
2415
+ if (!this.isValid()) {
2416
+ return false;
2417
+ }
2418
+ input = input ? createLocal(input).utcOffset() : 0;
2419
+ return (this.utcOffset() - input) % 60 === 0;
2420
+ }
2421
+ function isDaylightSavingTime() {
2422
+ return this.utcOffset() > this.clone().month(0).utcOffset() || this.utcOffset() > this.clone().month(5).utcOffset();
2423
+ }
2424
+ function isDaylightSavingTimeShifted() {
2425
+ if (!isUndefined(this._isDSTShifted)) {
2426
+ return this._isDSTShifted;
2427
+ }
2428
+ var c = {}, other;
2429
+ copyConfig(c, this);
2430
+ c = prepareConfig(c);
2431
+ if (c._a) {
2432
+ other = c._isUTC ? createUTC(c._a) : createLocal(c._a);
2433
+ this._isDSTShifted = this.isValid() && compareArrays(c._a, other.toArray()) > 0;
2434
+ } else {
2435
+ this._isDSTShifted = false;
2436
+ }
2437
+ return this._isDSTShifted;
2438
+ }
2439
+ function isLocal() {
2440
+ return this.isValid() ? !this._isUTC : false;
2441
+ }
2442
+ function isUtcOffset() {
2443
+ return this.isValid() ? this._isUTC : false;
2444
+ }
2445
+ function isUtc() {
2446
+ return this.isValid() ? this._isUTC && this._offset === 0 : false;
2447
+ }
2448
+ var aspNetRegex = /^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/, isoRegex = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;
2449
+ function createDuration(input, key) {
2450
+ var duration = input, match = null, sign2, ret, diffRes;
2451
+ if (isDuration(input)) {
2452
+ duration = {
2453
+ ms: input._milliseconds,
2454
+ d: input._days,
2455
+ M: input._months
2456
+ };
2457
+ } else if (isNumber(input) || !isNaN(+input)) {
2458
+ duration = {};
2459
+ if (key) {
2460
+ duration[key] = +input;
2461
+ } else {
2462
+ duration.milliseconds = +input;
2463
+ }
2464
+ } else if (match = aspNetRegex.exec(input)) {
2465
+ sign2 = match[1] === "-" ? -1 : 1;
2466
+ duration = {
2467
+ y: 0,
2468
+ d: toInt(match[DATE]) * sign2,
2469
+ h: toInt(match[HOUR]) * sign2,
2470
+ m: toInt(match[MINUTE]) * sign2,
2471
+ s: toInt(match[SECOND]) * sign2,
2472
+ ms: toInt(absRound(match[MILLISECOND] * 1e3)) * sign2
2473
+ // the millisecond decimal point is included in the match
2474
+ };
2475
+ } else if (match = isoRegex.exec(input)) {
2476
+ sign2 = match[1] === "-" ? -1 : 1;
2477
+ duration = {
2478
+ y: parseIso(match[2], sign2),
2479
+ M: parseIso(match[3], sign2),
2480
+ w: parseIso(match[4], sign2),
2481
+ d: parseIso(match[5], sign2),
2482
+ h: parseIso(match[6], sign2),
2483
+ m: parseIso(match[7], sign2),
2484
+ s: parseIso(match[8], sign2)
2485
+ };
2486
+ } else if (duration == null) {
2487
+ duration = {};
2488
+ } else if (typeof duration === "object" && ("from" in duration || "to" in duration)) {
2489
+ diffRes = momentsDifference(
2490
+ createLocal(duration.from),
2491
+ createLocal(duration.to)
2492
+ );
2493
+ duration = {};
2494
+ duration.ms = diffRes.milliseconds;
2495
+ duration.M = diffRes.months;
2496
+ }
2497
+ ret = new Duration(duration);
2498
+ if (isDuration(input) && hasOwnProp(input, "_locale")) {
2499
+ ret._locale = input._locale;
2500
+ }
2501
+ if (isDuration(input) && hasOwnProp(input, "_isValid")) {
2502
+ ret._isValid = input._isValid;
2503
+ }
2504
+ return ret;
2505
+ }
2506
+ createDuration.fn = Duration.prototype;
2507
+ createDuration.invalid = createInvalid$1;
2508
+ function parseIso(inp, sign2) {
2509
+ var res = inp && parseFloat(inp.replace(",", "."));
2510
+ return (isNaN(res) ? 0 : res) * sign2;
2511
+ }
2512
+ function positiveMomentsDifference(base, other) {
2513
+ var res = {};
2514
+ res.months = other.month() - base.month() + (other.year() - base.year()) * 12;
2515
+ if (base.clone().add(res.months, "M").isAfter(other)) {
2516
+ --res.months;
2517
+ }
2518
+ res.milliseconds = +other - +base.clone().add(res.months, "M");
2519
+ return res;
2520
+ }
2521
+ function momentsDifference(base, other) {
2522
+ var res;
2523
+ if (!(base.isValid() && other.isValid())) {
2524
+ return { milliseconds: 0, months: 0 };
2525
+ }
2526
+ other = cloneWithOffset(other, base);
2527
+ if (base.isBefore(other)) {
2528
+ res = positiveMomentsDifference(base, other);
2529
+ } else {
2530
+ res = positiveMomentsDifference(other, base);
2531
+ res.milliseconds = -res.milliseconds;
2532
+ res.months = -res.months;
2533
+ }
2534
+ return res;
2535
+ }
2536
+ function createAdder(direction, name) {
2537
+ return function(val, period) {
2538
+ var dur, tmp;
2539
+ if (period !== null && !isNaN(+period)) {
2540
+ deprecateSimple(
2541
+ name,
2542
+ "moment()." + name + "(period, number) is deprecated. Please use moment()." + name + "(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."
2543
+ );
2544
+ tmp = val;
2545
+ val = period;
2546
+ period = tmp;
2547
+ }
2548
+ dur = createDuration(val, period);
2549
+ addSubtract(this, dur, direction);
2550
+ return this;
2551
+ };
2552
+ }
2553
+ function addSubtract(mom, duration, isAdding, updateOffset) {
2554
+ var milliseconds2 = duration._milliseconds, days2 = absRound(duration._days), months2 = absRound(duration._months);
2555
+ if (!mom.isValid()) {
2556
+ return;
2557
+ }
2558
+ updateOffset = updateOffset == null ? true : updateOffset;
2559
+ if (months2) {
2560
+ setMonth(mom, get(mom, "Month") + months2 * isAdding);
2561
+ }
2562
+ if (days2) {
2563
+ set$1(mom, "Date", get(mom, "Date") + days2 * isAdding);
2564
+ }
2565
+ if (milliseconds2) {
2566
+ mom._d.setTime(mom._d.valueOf() + milliseconds2 * isAdding);
2567
+ }
2568
+ if (updateOffset) {
2569
+ hooks.updateOffset(mom, days2 || months2);
2570
+ }
2571
+ }
2572
+ var add = createAdder(1, "add"), subtract = createAdder(-1, "subtract");
2573
+ function isString(input) {
2574
+ return typeof input === "string" || input instanceof String;
2575
+ }
2576
+ function isMomentInput(input) {
2577
+ return isMoment(input) || isDate(input) || isString(input) || isNumber(input) || isNumberOrStringArray(input) || isMomentInputObject(input) || input === null || input === void 0;
2578
+ }
2579
+ function isMomentInputObject(input) {
2580
+ var objectTest = isObject(input) && !isObjectEmpty(input), propertyTest = false, properties = [
2581
+ "years",
2582
+ "year",
2583
+ "y",
2584
+ "months",
2585
+ "month",
2586
+ "M",
2587
+ "days",
2588
+ "day",
2589
+ "d",
2590
+ "dates",
2591
+ "date",
2592
+ "D",
2593
+ "hours",
2594
+ "hour",
2595
+ "h",
2596
+ "minutes",
2597
+ "minute",
2598
+ "m",
2599
+ "seconds",
2600
+ "second",
2601
+ "s",
2602
+ "milliseconds",
2603
+ "millisecond",
2604
+ "ms"
2605
+ ], i, property, propertyLen = properties.length;
2606
+ for (i = 0; i < propertyLen; i += 1) {
2607
+ property = properties[i];
2608
+ propertyTest = propertyTest || hasOwnProp(input, property);
2609
+ }
2610
+ return objectTest && propertyTest;
2611
+ }
2612
+ function isNumberOrStringArray(input) {
2613
+ var arrayTest = isArray(input), dataTypeTest = false;
2614
+ if (arrayTest) {
2615
+ dataTypeTest = input.filter(function(item) {
2616
+ return !isNumber(item) && isString(input);
2617
+ }).length === 0;
2618
+ }
2619
+ return arrayTest && dataTypeTest;
2620
+ }
2621
+ function isCalendarSpec(input) {
2622
+ var objectTest = isObject(input) && !isObjectEmpty(input), propertyTest = false, properties = [
2623
+ "sameDay",
2624
+ "nextDay",
2625
+ "lastDay",
2626
+ "nextWeek",
2627
+ "lastWeek",
2628
+ "sameElse"
2629
+ ], i, property;
2630
+ for (i = 0; i < properties.length; i += 1) {
2631
+ property = properties[i];
2632
+ propertyTest = propertyTest || hasOwnProp(input, property);
2633
+ }
2634
+ return objectTest && propertyTest;
2635
+ }
2636
+ function getCalendarFormat(myMoment, now2) {
2637
+ var diff2 = myMoment.diff(now2, "days", true);
2638
+ return diff2 < -6 ? "sameElse" : diff2 < -1 ? "lastWeek" : diff2 < 0 ? "lastDay" : diff2 < 1 ? "sameDay" : diff2 < 2 ? "nextDay" : diff2 < 7 ? "nextWeek" : "sameElse";
2639
+ }
2640
+ function calendar$1(time, formats) {
2641
+ if (arguments.length === 1) {
2642
+ if (!arguments[0]) {
2643
+ time = void 0;
2644
+ formats = void 0;
2645
+ } else if (isMomentInput(arguments[0])) {
2646
+ time = arguments[0];
2647
+ formats = void 0;
2648
+ } else if (isCalendarSpec(arguments[0])) {
2649
+ formats = arguments[0];
2650
+ time = void 0;
2651
+ }
2652
+ }
2653
+ var now2 = time || createLocal(), sod = cloneWithOffset(now2, this).startOf("day"), format2 = hooks.calendarFormat(this, sod) || "sameElse", output = formats && (isFunction(formats[format2]) ? formats[format2].call(this, now2) : formats[format2]);
2654
+ return this.format(
2655
+ output || this.localeData().calendar(format2, this, createLocal(now2))
2656
+ );
2657
+ }
2658
+ function clone() {
2659
+ return new Moment(this);
2660
+ }
2661
+ function isAfter(input, units) {
2662
+ var localInput = isMoment(input) ? input : createLocal(input);
2663
+ if (!(this.isValid() && localInput.isValid())) {
2664
+ return false;
2665
+ }
2666
+ units = normalizeUnits(units) || "millisecond";
2667
+ if (units === "millisecond") {
2668
+ return this.valueOf() > localInput.valueOf();
2669
+ } else {
2670
+ return localInput.valueOf() < this.clone().startOf(units).valueOf();
2671
+ }
2672
+ }
2673
+ function isBefore(input, units) {
2674
+ var localInput = isMoment(input) ? input : createLocal(input);
2675
+ if (!(this.isValid() && localInput.isValid())) {
2676
+ return false;
2677
+ }
2678
+ units = normalizeUnits(units) || "millisecond";
2679
+ if (units === "millisecond") {
2680
+ return this.valueOf() < localInput.valueOf();
2681
+ } else {
2682
+ return this.clone().endOf(units).valueOf() < localInput.valueOf();
2683
+ }
2684
+ }
2685
+ function isBetween(from2, to2, units, inclusivity) {
2686
+ var localFrom = isMoment(from2) ? from2 : createLocal(from2), localTo = isMoment(to2) ? to2 : createLocal(to2);
2687
+ if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {
2688
+ return false;
2689
+ }
2690
+ inclusivity = inclusivity || "()";
2691
+ return (inclusivity[0] === "(" ? this.isAfter(localFrom, units) : !this.isBefore(localFrom, units)) && (inclusivity[1] === ")" ? this.isBefore(localTo, units) : !this.isAfter(localTo, units));
2692
+ }
2693
+ function isSame(input, units) {
2694
+ var localInput = isMoment(input) ? input : createLocal(input), inputMs;
2695
+ if (!(this.isValid() && localInput.isValid())) {
2696
+ return false;
2697
+ }
2698
+ units = normalizeUnits(units) || "millisecond";
2699
+ if (units === "millisecond") {
2700
+ return this.valueOf() === localInput.valueOf();
2701
+ } else {
2702
+ inputMs = localInput.valueOf();
2703
+ return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();
2704
+ }
2705
+ }
2706
+ function isSameOrAfter(input, units) {
2707
+ return this.isSame(input, units) || this.isAfter(input, units);
2708
+ }
2709
+ function isSameOrBefore(input, units) {
2710
+ return this.isSame(input, units) || this.isBefore(input, units);
2711
+ }
2712
+ function diff(input, units, asFloat) {
2713
+ var that, zoneDelta, output;
2714
+ if (!this.isValid()) {
2715
+ return NaN;
2716
+ }
2717
+ that = cloneWithOffset(input, this);
2718
+ if (!that.isValid()) {
2719
+ return NaN;
2720
+ }
2721
+ zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;
2722
+ units = normalizeUnits(units);
2723
+ switch (units) {
2724
+ case "year":
2725
+ output = monthDiff(this, that) / 12;
2726
+ break;
2727
+ case "month":
2728
+ output = monthDiff(this, that);
2729
+ break;
2730
+ case "quarter":
2731
+ output = monthDiff(this, that) / 3;
2732
+ break;
2733
+ case "second":
2734
+ output = (this - that) / 1e3;
2735
+ break;
2736
+ // 1000
2737
+ case "minute":
2738
+ output = (this - that) / 6e4;
2739
+ break;
2740
+ // 1000 * 60
2741
+ case "hour":
2742
+ output = (this - that) / 36e5;
2743
+ break;
2744
+ // 1000 * 60 * 60
2745
+ case "day":
2746
+ output = (this - that - zoneDelta) / 864e5;
2747
+ break;
2748
+ // 1000 * 60 * 60 * 24, negate dst
2749
+ case "week":
2750
+ output = (this - that - zoneDelta) / 6048e5;
2751
+ break;
2752
+ // 1000 * 60 * 60 * 24 * 7, negate dst
2753
+ default:
2754
+ output = this - that;
2755
+ }
2756
+ return asFloat ? output : absFloor(output);
2757
+ }
2758
+ function monthDiff(a, b) {
2759
+ if (a.date() < b.date()) {
2760
+ return -monthDiff(b, a);
2761
+ }
2762
+ var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()), anchor = a.clone().add(wholeMonthDiff, "months"), anchor2, adjust;
2763
+ if (b - anchor < 0) {
2764
+ anchor2 = a.clone().add(wholeMonthDiff - 1, "months");
2765
+ adjust = (b - anchor) / (anchor - anchor2);
2766
+ } else {
2767
+ anchor2 = a.clone().add(wholeMonthDiff + 1, "months");
2768
+ adjust = (b - anchor) / (anchor2 - anchor);
2769
+ }
2770
+ return -(wholeMonthDiff + adjust) || 0;
2771
+ }
2772
+ hooks.defaultFormat = "YYYY-MM-DDTHH:mm:ssZ";
2773
+ hooks.defaultFormatUtc = "YYYY-MM-DDTHH:mm:ss[Z]";
2774
+ function toString() {
2775
+ return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ");
2776
+ }
2777
+ function toISOString(keepOffset) {
2778
+ if (!this.isValid()) {
2779
+ return null;
2780
+ }
2781
+ var utc = keepOffset !== true, m = utc ? this.clone().utc() : this;
2782
+ if (m.year() < 0 || m.year() > 9999) {
2783
+ return formatMoment(
2784
+ m,
2785
+ utc ? "YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]" : "YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"
2786
+ );
2787
+ }
2788
+ if (isFunction(Date.prototype.toISOString)) {
2789
+ if (utc) {
2790
+ return this.toDate().toISOString();
2791
+ } else {
2792
+ return new Date(this.valueOf() + this.utcOffset() * 60 * 1e3).toISOString().replace("Z", formatMoment(m, "Z"));
2793
+ }
2794
+ }
2795
+ return formatMoment(
2796
+ m,
2797
+ utc ? "YYYY-MM-DD[T]HH:mm:ss.SSS[Z]" : "YYYY-MM-DD[T]HH:mm:ss.SSSZ"
2798
+ );
2799
+ }
2800
+ function inspect() {
2801
+ if (!this.isValid()) {
2802
+ return "moment.invalid(/* " + this._i + " */)";
2803
+ }
2804
+ var func = "moment", zone = "", prefix, year, datetime, suffix;
2805
+ if (!this.isLocal()) {
2806
+ func = this.utcOffset() === 0 ? "moment.utc" : "moment.parseZone";
2807
+ zone = "Z";
2808
+ }
2809
+ prefix = "[" + func + '("]';
2810
+ year = 0 <= this.year() && this.year() <= 9999 ? "YYYY" : "YYYYYY";
2811
+ datetime = "-MM-DD[T]HH:mm:ss.SSS";
2812
+ suffix = zone + '[")]';
2813
+ return this.format(prefix + year + datetime + suffix);
2814
+ }
2815
+ function format(inputString) {
2816
+ if (!inputString) {
2817
+ inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;
2818
+ }
2819
+ var output = formatMoment(this, inputString);
2820
+ return this.localeData().postformat(output);
2821
+ }
2822
+ function from(time, withoutSuffix) {
2823
+ if (this.isValid() && (isMoment(time) && time.isValid() || createLocal(time).isValid())) {
2824
+ return createDuration({ to: this, from: time }).locale(this.locale()).humanize(!withoutSuffix);
2825
+ } else {
2826
+ return this.localeData().invalidDate();
2827
+ }
2828
+ }
2829
+ function fromNow(withoutSuffix) {
2830
+ return this.from(createLocal(), withoutSuffix);
2831
+ }
2832
+ function to(time, withoutSuffix) {
2833
+ if (this.isValid() && (isMoment(time) && time.isValid() || createLocal(time).isValid())) {
2834
+ return createDuration({ from: this, to: time }).locale(this.locale()).humanize(!withoutSuffix);
2835
+ } else {
2836
+ return this.localeData().invalidDate();
2837
+ }
2838
+ }
2839
+ function toNow(withoutSuffix) {
2840
+ return this.to(createLocal(), withoutSuffix);
2841
+ }
2842
+ function locale(key) {
2843
+ var newLocaleData;
2844
+ if (key === void 0) {
2845
+ return this._locale._abbr;
2846
+ } else {
2847
+ newLocaleData = getLocale(key);
2848
+ if (newLocaleData != null) {
2849
+ this._locale = newLocaleData;
2850
+ }
2851
+ return this;
2852
+ }
2853
+ }
2854
+ var lang = deprecate(
2855
+ "moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",
2856
+ function(key) {
2857
+ if (key === void 0) {
2858
+ return this.localeData();
2859
+ } else {
2860
+ return this.locale(key);
2861
+ }
2862
+ }
2863
+ );
2864
+ function localeData() {
2865
+ return this._locale;
2866
+ }
2867
+ var MS_PER_SECOND = 1e3, MS_PER_MINUTE = 60 * MS_PER_SECOND, MS_PER_HOUR = 60 * MS_PER_MINUTE, MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;
2868
+ function mod$1(dividend, divisor) {
2869
+ return (dividend % divisor + divisor) % divisor;
2870
+ }
2871
+ function localStartOfDate(y, m, d) {
2872
+ if (y < 100 && y >= 0) {
2873
+ return new Date(y + 400, m, d) - MS_PER_400_YEARS;
2874
+ } else {
2875
+ return new Date(y, m, d).valueOf();
2876
+ }
2877
+ }
2878
+ function utcStartOfDate(y, m, d) {
2879
+ if (y < 100 && y >= 0) {
2880
+ return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;
2881
+ } else {
2882
+ return Date.UTC(y, m, d);
2883
+ }
2884
+ }
2885
+ function startOf(units) {
2886
+ var time, startOfDate;
2887
+ units = normalizeUnits(units);
2888
+ if (units === void 0 || units === "millisecond" || !this.isValid()) {
2889
+ return this;
2890
+ }
2891
+ startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;
2892
+ switch (units) {
2893
+ case "year":
2894
+ time = startOfDate(this.year(), 0, 1);
2895
+ break;
2896
+ case "quarter":
2897
+ time = startOfDate(
2898
+ this.year(),
2899
+ this.month() - this.month() % 3,
2900
+ 1
2901
+ );
2902
+ break;
2903
+ case "month":
2904
+ time = startOfDate(this.year(), this.month(), 1);
2905
+ break;
2906
+ case "week":
2907
+ time = startOfDate(
2908
+ this.year(),
2909
+ this.month(),
2910
+ this.date() - this.weekday()
2911
+ );
2912
+ break;
2913
+ case "isoWeek":
2914
+ time = startOfDate(
2915
+ this.year(),
2916
+ this.month(),
2917
+ this.date() - (this.isoWeekday() - 1)
2918
+ );
2919
+ break;
2920
+ case "day":
2921
+ case "date":
2922
+ time = startOfDate(this.year(), this.month(), this.date());
2923
+ break;
2924
+ case "hour":
2925
+ time = this._d.valueOf();
2926
+ time -= mod$1(
2927
+ time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),
2928
+ MS_PER_HOUR
2929
+ );
2930
+ break;
2931
+ case "minute":
2932
+ time = this._d.valueOf();
2933
+ time -= mod$1(time, MS_PER_MINUTE);
2934
+ break;
2935
+ case "second":
2936
+ time = this._d.valueOf();
2937
+ time -= mod$1(time, MS_PER_SECOND);
2938
+ break;
2939
+ }
2940
+ this._d.setTime(time);
2941
+ hooks.updateOffset(this, true);
2942
+ return this;
2943
+ }
2944
+ function endOf(units) {
2945
+ var time, startOfDate;
2946
+ units = normalizeUnits(units);
2947
+ if (units === void 0 || units === "millisecond" || !this.isValid()) {
2948
+ return this;
2949
+ }
2950
+ startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;
2951
+ switch (units) {
2952
+ case "year":
2953
+ time = startOfDate(this.year() + 1, 0, 1) - 1;
2954
+ break;
2955
+ case "quarter":
2956
+ time = startOfDate(
2957
+ this.year(),
2958
+ this.month() - this.month() % 3 + 3,
2959
+ 1
2960
+ ) - 1;
2961
+ break;
2962
+ case "month":
2963
+ time = startOfDate(this.year(), this.month() + 1, 1) - 1;
2964
+ break;
2965
+ case "week":
2966
+ time = startOfDate(
2967
+ this.year(),
2968
+ this.month(),
2969
+ this.date() - this.weekday() + 7
2970
+ ) - 1;
2971
+ break;
2972
+ case "isoWeek":
2973
+ time = startOfDate(
2974
+ this.year(),
2975
+ this.month(),
2976
+ this.date() - (this.isoWeekday() - 1) + 7
2977
+ ) - 1;
2978
+ break;
2979
+ case "day":
2980
+ case "date":
2981
+ time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;
2982
+ break;
2983
+ case "hour":
2984
+ time = this._d.valueOf();
2985
+ time += MS_PER_HOUR - mod$1(
2986
+ time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),
2987
+ MS_PER_HOUR
2988
+ ) - 1;
2989
+ break;
2990
+ case "minute":
2991
+ time = this._d.valueOf();
2992
+ time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;
2993
+ break;
2994
+ case "second":
2995
+ time = this._d.valueOf();
2996
+ time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;
2997
+ break;
2998
+ }
2999
+ this._d.setTime(time);
3000
+ hooks.updateOffset(this, true);
3001
+ return this;
3002
+ }
3003
+ function valueOf() {
3004
+ return this._d.valueOf() - (this._offset || 0) * 6e4;
3005
+ }
3006
+ function unix() {
3007
+ return Math.floor(this.valueOf() / 1e3);
3008
+ }
3009
+ function toDate() {
3010
+ return new Date(this.valueOf());
3011
+ }
3012
+ function toArray() {
3013
+ var m = this;
3014
+ return [
3015
+ m.year(),
3016
+ m.month(),
3017
+ m.date(),
3018
+ m.hour(),
3019
+ m.minute(),
3020
+ m.second(),
3021
+ m.millisecond()
3022
+ ];
3023
+ }
3024
+ function toObject() {
3025
+ var m = this;
3026
+ return {
3027
+ years: m.year(),
3028
+ months: m.month(),
3029
+ date: m.date(),
3030
+ hours: m.hours(),
3031
+ minutes: m.minutes(),
3032
+ seconds: m.seconds(),
3033
+ milliseconds: m.milliseconds()
3034
+ };
3035
+ }
3036
+ function toJSON() {
3037
+ return this.isValid() ? this.toISOString() : null;
3038
+ }
3039
+ function isValid$2() {
3040
+ return isValid(this);
3041
+ }
3042
+ function parsingFlags() {
3043
+ return extend({}, getParsingFlags(this));
3044
+ }
3045
+ function invalidAt() {
3046
+ return getParsingFlags(this).overflow;
3047
+ }
3048
+ function creationData() {
3049
+ return {
3050
+ input: this._i,
3051
+ format: this._f,
3052
+ locale: this._locale,
3053
+ isUTC: this._isUTC,
3054
+ strict: this._strict
3055
+ };
3056
+ }
3057
+ addFormatToken("N", 0, 0, "eraAbbr");
3058
+ addFormatToken("NN", 0, 0, "eraAbbr");
3059
+ addFormatToken("NNN", 0, 0, "eraAbbr");
3060
+ addFormatToken("NNNN", 0, 0, "eraName");
3061
+ addFormatToken("NNNNN", 0, 0, "eraNarrow");
3062
+ addFormatToken("y", ["y", 1], "yo", "eraYear");
3063
+ addFormatToken("y", ["yy", 2], 0, "eraYear");
3064
+ addFormatToken("y", ["yyy", 3], 0, "eraYear");
3065
+ addFormatToken("y", ["yyyy", 4], 0, "eraYear");
3066
+ addRegexToken("N", matchEraAbbr);
3067
+ addRegexToken("NN", matchEraAbbr);
3068
+ addRegexToken("NNN", matchEraAbbr);
3069
+ addRegexToken("NNNN", matchEraName);
3070
+ addRegexToken("NNNNN", matchEraNarrow);
3071
+ addParseToken(
3072
+ ["N", "NN", "NNN", "NNNN", "NNNNN"],
3073
+ function(input, array, config, token2) {
3074
+ var era = config._locale.erasParse(input, token2, config._strict);
3075
+ if (era) {
3076
+ getParsingFlags(config).era = era;
3077
+ } else {
3078
+ getParsingFlags(config).invalidEra = input;
3079
+ }
3080
+ }
3081
+ );
3082
+ addRegexToken("y", matchUnsigned);
3083
+ addRegexToken("yy", matchUnsigned);
3084
+ addRegexToken("yyy", matchUnsigned);
3085
+ addRegexToken("yyyy", matchUnsigned);
3086
+ addRegexToken("yo", matchEraYearOrdinal);
3087
+ addParseToken(["y", "yy", "yyy", "yyyy"], YEAR);
3088
+ addParseToken(["yo"], function(input, array, config, token2) {
3089
+ var match;
3090
+ if (config._locale._eraYearOrdinalRegex) {
3091
+ match = input.match(config._locale._eraYearOrdinalRegex);
3092
+ }
3093
+ if (config._locale.eraYearOrdinalParse) {
3094
+ array[YEAR] = config._locale.eraYearOrdinalParse(input, match);
3095
+ } else {
3096
+ array[YEAR] = parseInt(input, 10);
3097
+ }
3098
+ });
3099
+ function localeEras(m, format2) {
3100
+ var i, l, date, eras = this._eras || getLocale("en")._eras;
3101
+ for (i = 0, l = eras.length; i < l; ++i) {
3102
+ switch (typeof eras[i].since) {
3103
+ case "string":
3104
+ date = hooks(eras[i].since).startOf("day");
3105
+ eras[i].since = date.valueOf();
3106
+ break;
3107
+ }
3108
+ switch (typeof eras[i].until) {
3109
+ case "undefined":
3110
+ eras[i].until = Infinity;
3111
+ break;
3112
+ case "string":
3113
+ date = hooks(eras[i].until).startOf("day").valueOf();
3114
+ eras[i].until = date.valueOf();
3115
+ break;
3116
+ }
3117
+ }
3118
+ return eras;
3119
+ }
3120
+ function localeErasParse(eraName, format2, strict) {
3121
+ var i, l, eras = this.eras(), name, abbr, narrow;
3122
+ eraName = eraName.toUpperCase();
3123
+ for (i = 0, l = eras.length; i < l; ++i) {
3124
+ name = eras[i].name.toUpperCase();
3125
+ abbr = eras[i].abbr.toUpperCase();
3126
+ narrow = eras[i].narrow.toUpperCase();
3127
+ if (strict) {
3128
+ switch (format2) {
3129
+ case "N":
3130
+ case "NN":
3131
+ case "NNN":
3132
+ if (abbr === eraName) {
3133
+ return eras[i];
3134
+ }
3135
+ break;
3136
+ case "NNNN":
3137
+ if (name === eraName) {
3138
+ return eras[i];
3139
+ }
3140
+ break;
3141
+ case "NNNNN":
3142
+ if (narrow === eraName) {
3143
+ return eras[i];
3144
+ }
3145
+ break;
3146
+ }
3147
+ } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {
3148
+ return eras[i];
3149
+ }
3150
+ }
3151
+ }
3152
+ function localeErasConvertYear(era, year) {
3153
+ var dir = era.since <= era.until ? 1 : -1;
3154
+ if (year === void 0) {
3155
+ return hooks(era.since).year();
3156
+ } else {
3157
+ return hooks(era.since).year() + (year - era.offset) * dir;
3158
+ }
3159
+ }
3160
+ function getEraName() {
3161
+ var i, l, val, eras = this.localeData().eras();
3162
+ for (i = 0, l = eras.length; i < l; ++i) {
3163
+ val = this.clone().startOf("day").valueOf();
3164
+ if (eras[i].since <= val && val <= eras[i].until) {
3165
+ return eras[i].name;
3166
+ }
3167
+ if (eras[i].until <= val && val <= eras[i].since) {
3168
+ return eras[i].name;
3169
+ }
3170
+ }
3171
+ return "";
3172
+ }
3173
+ function getEraNarrow() {
3174
+ var i, l, val, eras = this.localeData().eras();
3175
+ for (i = 0, l = eras.length; i < l; ++i) {
3176
+ val = this.clone().startOf("day").valueOf();
3177
+ if (eras[i].since <= val && val <= eras[i].until) {
3178
+ return eras[i].narrow;
3179
+ }
3180
+ if (eras[i].until <= val && val <= eras[i].since) {
3181
+ return eras[i].narrow;
3182
+ }
3183
+ }
3184
+ return "";
3185
+ }
3186
+ function getEraAbbr() {
3187
+ var i, l, val, eras = this.localeData().eras();
3188
+ for (i = 0, l = eras.length; i < l; ++i) {
3189
+ val = this.clone().startOf("day").valueOf();
3190
+ if (eras[i].since <= val && val <= eras[i].until) {
3191
+ return eras[i].abbr;
3192
+ }
3193
+ if (eras[i].until <= val && val <= eras[i].since) {
3194
+ return eras[i].abbr;
3195
+ }
3196
+ }
3197
+ return "";
3198
+ }
3199
+ function getEraYear() {
3200
+ var i, l, dir, val, eras = this.localeData().eras();
3201
+ for (i = 0, l = eras.length; i < l; ++i) {
3202
+ dir = eras[i].since <= eras[i].until ? 1 : -1;
3203
+ val = this.clone().startOf("day").valueOf();
3204
+ if (eras[i].since <= val && val <= eras[i].until || eras[i].until <= val && val <= eras[i].since) {
3205
+ return (this.year() - hooks(eras[i].since).year()) * dir + eras[i].offset;
3206
+ }
3207
+ }
3208
+ return this.year();
3209
+ }
3210
+ function erasNameRegex(isStrict) {
3211
+ if (!hasOwnProp(this, "_erasNameRegex")) {
3212
+ computeErasParse.call(this);
3213
+ }
3214
+ return isStrict ? this._erasNameRegex : this._erasRegex;
3215
+ }
3216
+ function erasAbbrRegex(isStrict) {
3217
+ if (!hasOwnProp(this, "_erasAbbrRegex")) {
3218
+ computeErasParse.call(this);
3219
+ }
3220
+ return isStrict ? this._erasAbbrRegex : this._erasRegex;
3221
+ }
3222
+ function erasNarrowRegex(isStrict) {
3223
+ if (!hasOwnProp(this, "_erasNarrowRegex")) {
3224
+ computeErasParse.call(this);
3225
+ }
3226
+ return isStrict ? this._erasNarrowRegex : this._erasRegex;
3227
+ }
3228
+ function matchEraAbbr(isStrict, locale2) {
3229
+ return locale2.erasAbbrRegex(isStrict);
3230
+ }
3231
+ function matchEraName(isStrict, locale2) {
3232
+ return locale2.erasNameRegex(isStrict);
3233
+ }
3234
+ function matchEraNarrow(isStrict, locale2) {
3235
+ return locale2.erasNarrowRegex(isStrict);
3236
+ }
3237
+ function matchEraYearOrdinal(isStrict, locale2) {
3238
+ return locale2._eraYearOrdinalRegex || matchUnsigned;
3239
+ }
3240
+ function computeErasParse() {
3241
+ var abbrPieces = [], namePieces = [], narrowPieces = [], mixedPieces = [], i, l, erasName, erasAbbr, erasNarrow, eras = this.eras();
3242
+ for (i = 0, l = eras.length; i < l; ++i) {
3243
+ erasName = regexEscape(eras[i].name);
3244
+ erasAbbr = regexEscape(eras[i].abbr);
3245
+ erasNarrow = regexEscape(eras[i].narrow);
3246
+ namePieces.push(erasName);
3247
+ abbrPieces.push(erasAbbr);
3248
+ narrowPieces.push(erasNarrow);
3249
+ mixedPieces.push(erasName);
3250
+ mixedPieces.push(erasAbbr);
3251
+ mixedPieces.push(erasNarrow);
3252
+ }
3253
+ this._erasRegex = new RegExp("^(" + mixedPieces.join("|") + ")", "i");
3254
+ this._erasNameRegex = new RegExp("^(" + namePieces.join("|") + ")", "i");
3255
+ this._erasAbbrRegex = new RegExp("^(" + abbrPieces.join("|") + ")", "i");
3256
+ this._erasNarrowRegex = new RegExp(
3257
+ "^(" + narrowPieces.join("|") + ")",
3258
+ "i"
3259
+ );
3260
+ }
3261
+ addFormatToken(0, ["gg", 2], 0, function() {
3262
+ return this.weekYear() % 100;
3263
+ });
3264
+ addFormatToken(0, ["GG", 2], 0, function() {
3265
+ return this.isoWeekYear() % 100;
3266
+ });
3267
+ function addWeekYearFormatToken(token2, getter) {
3268
+ addFormatToken(0, [token2, token2.length], 0, getter);
3269
+ }
3270
+ addWeekYearFormatToken("gggg", "weekYear");
3271
+ addWeekYearFormatToken("ggggg", "weekYear");
3272
+ addWeekYearFormatToken("GGGG", "isoWeekYear");
3273
+ addWeekYearFormatToken("GGGGG", "isoWeekYear");
3274
+ addRegexToken("G", matchSigned);
3275
+ addRegexToken("g", matchSigned);
3276
+ addRegexToken("GG", match1to2, match2);
3277
+ addRegexToken("gg", match1to2, match2);
3278
+ addRegexToken("GGGG", match1to4, match4);
3279
+ addRegexToken("gggg", match1to4, match4);
3280
+ addRegexToken("GGGGG", match1to6, match6);
3281
+ addRegexToken("ggggg", match1to6, match6);
3282
+ addWeekParseToken(
3283
+ ["gggg", "ggggg", "GGGG", "GGGGG"],
3284
+ function(input, week, config, token2) {
3285
+ week[token2.substr(0, 2)] = toInt(input);
3286
+ }
3287
+ );
3288
+ addWeekParseToken(["gg", "GG"], function(input, week, config, token2) {
3289
+ week[token2] = hooks.parseTwoDigitYear(input);
3290
+ });
3291
+ function getSetWeekYear(input) {
3292
+ return getSetWeekYearHelper.call(
3293
+ this,
3294
+ input,
3295
+ this.week(),
3296
+ this.weekday() + this.localeData()._week.dow,
3297
+ this.localeData()._week.dow,
3298
+ this.localeData()._week.doy
3299
+ );
3300
+ }
3301
+ function getSetISOWeekYear(input) {
3302
+ return getSetWeekYearHelper.call(
3303
+ this,
3304
+ input,
3305
+ this.isoWeek(),
3306
+ this.isoWeekday(),
3307
+ 1,
3308
+ 4
3309
+ );
3310
+ }
3311
+ function getISOWeeksInYear() {
3312
+ return weeksInYear(this.year(), 1, 4);
3313
+ }
3314
+ function getISOWeeksInISOWeekYear() {
3315
+ return weeksInYear(this.isoWeekYear(), 1, 4);
3316
+ }
3317
+ function getWeeksInYear() {
3318
+ var weekInfo = this.localeData()._week;
3319
+ return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);
3320
+ }
3321
+ function getWeeksInWeekYear() {
3322
+ var weekInfo = this.localeData()._week;
3323
+ return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);
3324
+ }
3325
+ function getSetWeekYearHelper(input, week, weekday, dow, doy) {
3326
+ var weeksTarget;
3327
+ if (input == null) {
3328
+ return weekOfYear(this, dow, doy).year;
3329
+ } else {
3330
+ weeksTarget = weeksInYear(input, dow, doy);
3331
+ if (week > weeksTarget) {
3332
+ week = weeksTarget;
3333
+ }
3334
+ return setWeekAll.call(this, input, week, weekday, dow, doy);
3335
+ }
3336
+ }
3337
+ function setWeekAll(weekYear, week, weekday, dow, doy) {
3338
+ var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy), date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);
3339
+ this.year(date.getUTCFullYear());
3340
+ this.month(date.getUTCMonth());
3341
+ this.date(date.getUTCDate());
3342
+ return this;
3343
+ }
3344
+ addFormatToken("Q", 0, "Qo", "quarter");
3345
+ addRegexToken("Q", match1);
3346
+ addParseToken("Q", function(input, array) {
3347
+ array[MONTH] = (toInt(input) - 1) * 3;
3348
+ });
3349
+ function getSetQuarter(input) {
3350
+ return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);
3351
+ }
3352
+ addFormatToken("D", ["DD", 2], "Do", "date");
3353
+ addRegexToken("D", match1to2, match1to2NoLeadingZero);
3354
+ addRegexToken("DD", match1to2, match2);
3355
+ addRegexToken("Do", function(isStrict, locale2) {
3356
+ return isStrict ? locale2._dayOfMonthOrdinalParse || locale2._ordinalParse : locale2._dayOfMonthOrdinalParseLenient;
3357
+ });
3358
+ addParseToken(["D", "DD"], DATE);
3359
+ addParseToken("Do", function(input, array) {
3360
+ array[DATE] = toInt(input.match(match1to2)[0]);
3361
+ });
3362
+ var getSetDayOfMonth = makeGetSet("Date", true);
3363
+ addFormatToken("DDD", ["DDDD", 3], "DDDo", "dayOfYear");
3364
+ addRegexToken("DDD", match1to3);
3365
+ addRegexToken("DDDD", match3);
3366
+ addParseToken(["DDD", "DDDD"], function(input, array, config) {
3367
+ config._dayOfYear = toInt(input);
3368
+ });
3369
+ function getSetDayOfYear(input) {
3370
+ var dayOfYear = Math.round(
3371
+ (this.clone().startOf("day") - this.clone().startOf("year")) / 864e5
3372
+ ) + 1;
3373
+ return input == null ? dayOfYear : this.add(input - dayOfYear, "d");
3374
+ }
3375
+ addFormatToken("m", ["mm", 2], 0, "minute");
3376
+ addRegexToken("m", match1to2, match1to2HasZero);
3377
+ addRegexToken("mm", match1to2, match2);
3378
+ addParseToken(["m", "mm"], MINUTE);
3379
+ var getSetMinute = makeGetSet("Minutes", false);
3380
+ addFormatToken("s", ["ss", 2], 0, "second");
3381
+ addRegexToken("s", match1to2, match1to2HasZero);
3382
+ addRegexToken("ss", match1to2, match2);
3383
+ addParseToken(["s", "ss"], SECOND);
3384
+ var getSetSecond = makeGetSet("Seconds", false);
3385
+ addFormatToken("S", 0, 0, function() {
3386
+ return ~~(this.millisecond() / 100);
3387
+ });
3388
+ addFormatToken(0, ["SS", 2], 0, function() {
3389
+ return ~~(this.millisecond() / 10);
3390
+ });
3391
+ addFormatToken(0, ["SSS", 3], 0, "millisecond");
3392
+ addFormatToken(0, ["SSSS", 4], 0, function() {
3393
+ return this.millisecond() * 10;
3394
+ });
3395
+ addFormatToken(0, ["SSSSS", 5], 0, function() {
3396
+ return this.millisecond() * 100;
3397
+ });
3398
+ addFormatToken(0, ["SSSSSS", 6], 0, function() {
3399
+ return this.millisecond() * 1e3;
3400
+ });
3401
+ addFormatToken(0, ["SSSSSSS", 7], 0, function() {
3402
+ return this.millisecond() * 1e4;
3403
+ });
3404
+ addFormatToken(0, ["SSSSSSSS", 8], 0, function() {
3405
+ return this.millisecond() * 1e5;
3406
+ });
3407
+ addFormatToken(0, ["SSSSSSSSS", 9], 0, function() {
3408
+ return this.millisecond() * 1e6;
3409
+ });
3410
+ addRegexToken("S", match1to3, match1);
3411
+ addRegexToken("SS", match1to3, match2);
3412
+ addRegexToken("SSS", match1to3, match3);
3413
+ var token, getSetMillisecond;
3414
+ for (token = "SSSS"; token.length <= 9; token += "S") {
3415
+ addRegexToken(token, matchUnsigned);
3416
+ }
3417
+ function parseMs(input, array) {
3418
+ array[MILLISECOND] = toInt(("0." + input) * 1e3);
3419
+ }
3420
+ for (token = "S"; token.length <= 9; token += "S") {
3421
+ addParseToken(token, parseMs);
3422
+ }
3423
+ getSetMillisecond = makeGetSet("Milliseconds", false);
3424
+ addFormatToken("z", 0, 0, "zoneAbbr");
3425
+ addFormatToken("zz", 0, 0, "zoneName");
3426
+ function getZoneAbbr() {
3427
+ return this._isUTC ? "UTC" : "";
3428
+ }
3429
+ function getZoneName() {
3430
+ return this._isUTC ? "Coordinated Universal Time" : "";
3431
+ }
3432
+ var proto = Moment.prototype;
3433
+ proto.add = add;
3434
+ proto.calendar = calendar$1;
3435
+ proto.clone = clone;
3436
+ proto.diff = diff;
3437
+ proto.endOf = endOf;
3438
+ proto.format = format;
3439
+ proto.from = from;
3440
+ proto.fromNow = fromNow;
3441
+ proto.to = to;
3442
+ proto.toNow = toNow;
3443
+ proto.get = stringGet;
3444
+ proto.invalidAt = invalidAt;
3445
+ proto.isAfter = isAfter;
3446
+ proto.isBefore = isBefore;
3447
+ proto.isBetween = isBetween;
3448
+ proto.isSame = isSame;
3449
+ proto.isSameOrAfter = isSameOrAfter;
3450
+ proto.isSameOrBefore = isSameOrBefore;
3451
+ proto.isValid = isValid$2;
3452
+ proto.lang = lang;
3453
+ proto.locale = locale;
3454
+ proto.localeData = localeData;
3455
+ proto.max = prototypeMax;
3456
+ proto.min = prototypeMin;
3457
+ proto.parsingFlags = parsingFlags;
3458
+ proto.set = stringSet;
3459
+ proto.startOf = startOf;
3460
+ proto.subtract = subtract;
3461
+ proto.toArray = toArray;
3462
+ proto.toObject = toObject;
3463
+ proto.toDate = toDate;
3464
+ proto.toISOString = toISOString;
3465
+ proto.inspect = inspect;
3466
+ if (typeof Symbol !== "undefined" && Symbol.for != null) {
3467
+ proto[Symbol.for("nodejs.util.inspect.custom")] = function() {
3468
+ return "Moment<" + this.format() + ">";
3469
+ };
3470
+ }
3471
+ proto.toJSON = toJSON;
3472
+ proto.toString = toString;
3473
+ proto.unix = unix;
3474
+ proto.valueOf = valueOf;
3475
+ proto.creationData = creationData;
3476
+ proto.eraName = getEraName;
3477
+ proto.eraNarrow = getEraNarrow;
3478
+ proto.eraAbbr = getEraAbbr;
3479
+ proto.eraYear = getEraYear;
3480
+ proto.year = getSetYear;
3481
+ proto.isLeapYear = getIsLeapYear;
3482
+ proto.weekYear = getSetWeekYear;
3483
+ proto.isoWeekYear = getSetISOWeekYear;
3484
+ proto.quarter = proto.quarters = getSetQuarter;
3485
+ proto.month = getSetMonth;
3486
+ proto.daysInMonth = getDaysInMonth;
3487
+ proto.week = proto.weeks = getSetWeek;
3488
+ proto.isoWeek = proto.isoWeeks = getSetISOWeek;
3489
+ proto.weeksInYear = getWeeksInYear;
3490
+ proto.weeksInWeekYear = getWeeksInWeekYear;
3491
+ proto.isoWeeksInYear = getISOWeeksInYear;
3492
+ proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;
3493
+ proto.date = getSetDayOfMonth;
3494
+ proto.day = proto.days = getSetDayOfWeek;
3495
+ proto.weekday = getSetLocaleDayOfWeek;
3496
+ proto.isoWeekday = getSetISODayOfWeek;
3497
+ proto.dayOfYear = getSetDayOfYear;
3498
+ proto.hour = proto.hours = getSetHour;
3499
+ proto.minute = proto.minutes = getSetMinute;
3500
+ proto.second = proto.seconds = getSetSecond;
3501
+ proto.millisecond = proto.milliseconds = getSetMillisecond;
3502
+ proto.utcOffset = getSetOffset;
3503
+ proto.utc = setOffsetToUTC;
3504
+ proto.local = setOffsetToLocal;
3505
+ proto.parseZone = setOffsetToParsedOffset;
3506
+ proto.hasAlignedHourOffset = hasAlignedHourOffset;
3507
+ proto.isDST = isDaylightSavingTime;
3508
+ proto.isLocal = isLocal;
3509
+ proto.isUtcOffset = isUtcOffset;
3510
+ proto.isUtc = isUtc;
3511
+ proto.isUTC = isUtc;
3512
+ proto.zoneAbbr = getZoneAbbr;
3513
+ proto.zoneName = getZoneName;
3514
+ proto.dates = deprecate(
3515
+ "dates accessor is deprecated. Use date instead.",
3516
+ getSetDayOfMonth
3517
+ );
3518
+ proto.months = deprecate(
3519
+ "months accessor is deprecated. Use month instead",
3520
+ getSetMonth
3521
+ );
3522
+ proto.years = deprecate(
3523
+ "years accessor is deprecated. Use year instead",
3524
+ getSetYear
3525
+ );
3526
+ proto.zone = deprecate(
3527
+ "moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",
3528
+ getSetZone
3529
+ );
3530
+ proto.isDSTShifted = deprecate(
3531
+ "isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",
3532
+ isDaylightSavingTimeShifted
3533
+ );
3534
+ function createUnix(input) {
3535
+ return createLocal(input * 1e3);
3536
+ }
3537
+ function createInZone() {
3538
+ return createLocal.apply(null, arguments).parseZone();
3539
+ }
3540
+ function preParsePostFormat(string) {
3541
+ return string;
3542
+ }
3543
+ var proto$1 = Locale.prototype;
3544
+ proto$1.calendar = calendar;
3545
+ proto$1.longDateFormat = longDateFormat;
3546
+ proto$1.invalidDate = invalidDate;
3547
+ proto$1.ordinal = ordinal;
3548
+ proto$1.preparse = preParsePostFormat;
3549
+ proto$1.postformat = preParsePostFormat;
3550
+ proto$1.relativeTime = relativeTime;
3551
+ proto$1.pastFuture = pastFuture;
3552
+ proto$1.set = set;
3553
+ proto$1.eras = localeEras;
3554
+ proto$1.erasParse = localeErasParse;
3555
+ proto$1.erasConvertYear = localeErasConvertYear;
3556
+ proto$1.erasAbbrRegex = erasAbbrRegex;
3557
+ proto$1.erasNameRegex = erasNameRegex;
3558
+ proto$1.erasNarrowRegex = erasNarrowRegex;
3559
+ proto$1.months = localeMonths;
3560
+ proto$1.monthsShort = localeMonthsShort;
3561
+ proto$1.monthsParse = localeMonthsParse;
3562
+ proto$1.monthsRegex = monthsRegex;
3563
+ proto$1.monthsShortRegex = monthsShortRegex;
3564
+ proto$1.week = localeWeek;
3565
+ proto$1.firstDayOfYear = localeFirstDayOfYear;
3566
+ proto$1.firstDayOfWeek = localeFirstDayOfWeek;
3567
+ proto$1.weekdays = localeWeekdays;
3568
+ proto$1.weekdaysMin = localeWeekdaysMin;
3569
+ proto$1.weekdaysShort = localeWeekdaysShort;
3570
+ proto$1.weekdaysParse = localeWeekdaysParse;
3571
+ proto$1.weekdaysRegex = weekdaysRegex;
3572
+ proto$1.weekdaysShortRegex = weekdaysShortRegex;
3573
+ proto$1.weekdaysMinRegex = weekdaysMinRegex;
3574
+ proto$1.isPM = localeIsPM;
3575
+ proto$1.meridiem = localeMeridiem;
3576
+ function get$1(format2, index, field, setter) {
3577
+ var locale2 = getLocale(), utc = createUTC().set(setter, index);
3578
+ return locale2[field](utc, format2);
3579
+ }
3580
+ function listMonthsImpl(format2, index, field) {
3581
+ if (isNumber(format2)) {
3582
+ index = format2;
3583
+ format2 = void 0;
3584
+ }
3585
+ format2 = format2 || "";
3586
+ if (index != null) {
3587
+ return get$1(format2, index, field, "month");
3588
+ }
3589
+ var i, out = [];
3590
+ for (i = 0; i < 12; i++) {
3591
+ out[i] = get$1(format2, i, field, "month");
3592
+ }
3593
+ return out;
3594
+ }
3595
+ function listWeekdaysImpl(localeSorted, format2, index, field) {
3596
+ if (typeof localeSorted === "boolean") {
3597
+ if (isNumber(format2)) {
3598
+ index = format2;
3599
+ format2 = void 0;
3600
+ }
3601
+ format2 = format2 || "";
3602
+ } else {
3603
+ format2 = localeSorted;
3604
+ index = format2;
3605
+ localeSorted = false;
3606
+ if (isNumber(format2)) {
3607
+ index = format2;
3608
+ format2 = void 0;
3609
+ }
3610
+ format2 = format2 || "";
3611
+ }
3612
+ var locale2 = getLocale(), shift = localeSorted ? locale2._week.dow : 0, i, out = [];
3613
+ if (index != null) {
3614
+ return get$1(format2, (index + shift) % 7, field, "day");
3615
+ }
3616
+ for (i = 0; i < 7; i++) {
3617
+ out[i] = get$1(format2, (i + shift) % 7, field, "day");
3618
+ }
3619
+ return out;
3620
+ }
3621
+ function listMonths(format2, index) {
3622
+ return listMonthsImpl(format2, index, "months");
3623
+ }
3624
+ function listMonthsShort(format2, index) {
3625
+ return listMonthsImpl(format2, index, "monthsShort");
3626
+ }
3627
+ function listWeekdays(localeSorted, format2, index) {
3628
+ return listWeekdaysImpl(localeSorted, format2, index, "weekdays");
3629
+ }
3630
+ function listWeekdaysShort(localeSorted, format2, index) {
3631
+ return listWeekdaysImpl(localeSorted, format2, index, "weekdaysShort");
3632
+ }
3633
+ function listWeekdaysMin(localeSorted, format2, index) {
3634
+ return listWeekdaysImpl(localeSorted, format2, index, "weekdaysMin");
3635
+ }
3636
+ getSetGlobalLocale("en", {
3637
+ eras: [
3638
+ {
3639
+ since: "0001-01-01",
3640
+ until: Infinity,
3641
+ offset: 1,
3642
+ name: "Anno Domini",
3643
+ narrow: "AD",
3644
+ abbr: "AD"
3645
+ },
3646
+ {
3647
+ since: "0000-12-31",
3648
+ until: -Infinity,
3649
+ offset: 1,
3650
+ name: "Before Christ",
3651
+ narrow: "BC",
3652
+ abbr: "BC"
3653
+ }
3654
+ ],
3655
+ dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
3656
+ ordinal: function(number) {
3657
+ var b = number % 10, output = toInt(number % 100 / 10) === 1 ? "th" : b === 1 ? "st" : b === 2 ? "nd" : b === 3 ? "rd" : "th";
3658
+ return number + output;
3659
+ }
3660
+ });
3661
+ hooks.lang = deprecate(
3662
+ "moment.lang is deprecated. Use moment.locale instead.",
3663
+ getSetGlobalLocale
3664
+ );
3665
+ hooks.langData = deprecate(
3666
+ "moment.langData is deprecated. Use moment.localeData instead.",
3667
+ getLocale
3668
+ );
3669
+ var mathAbs = Math.abs;
3670
+ function abs() {
3671
+ var data = this._data;
3672
+ this._milliseconds = mathAbs(this._milliseconds);
3673
+ this._days = mathAbs(this._days);
3674
+ this._months = mathAbs(this._months);
3675
+ data.milliseconds = mathAbs(data.milliseconds);
3676
+ data.seconds = mathAbs(data.seconds);
3677
+ data.minutes = mathAbs(data.minutes);
3678
+ data.hours = mathAbs(data.hours);
3679
+ data.months = mathAbs(data.months);
3680
+ data.years = mathAbs(data.years);
3681
+ return this;
3682
+ }
3683
+ function addSubtract$1(duration, input, value, direction) {
3684
+ var other = createDuration(input, value);
3685
+ duration._milliseconds += direction * other._milliseconds;
3686
+ duration._days += direction * other._days;
3687
+ duration._months += direction * other._months;
3688
+ return duration._bubble();
3689
+ }
3690
+ function add$1(input, value) {
3691
+ return addSubtract$1(this, input, value, 1);
3692
+ }
3693
+ function subtract$1(input, value) {
3694
+ return addSubtract$1(this, input, value, -1);
3695
+ }
3696
+ function absCeil(number) {
3697
+ if (number < 0) {
3698
+ return Math.floor(number);
3699
+ } else {
3700
+ return Math.ceil(number);
3701
+ }
3702
+ }
3703
+ function bubble() {
3704
+ var milliseconds2 = this._milliseconds, days2 = this._days, months2 = this._months, data = this._data, seconds2, minutes2, hours2, years2, monthsFromDays;
3705
+ if (!(milliseconds2 >= 0 && days2 >= 0 && months2 >= 0 || milliseconds2 <= 0 && days2 <= 0 && months2 <= 0)) {
3706
+ milliseconds2 += absCeil(monthsToDays(months2) + days2) * 864e5;
3707
+ days2 = 0;
3708
+ months2 = 0;
3709
+ }
3710
+ data.milliseconds = milliseconds2 % 1e3;
3711
+ seconds2 = absFloor(milliseconds2 / 1e3);
3712
+ data.seconds = seconds2 % 60;
3713
+ minutes2 = absFloor(seconds2 / 60);
3714
+ data.minutes = minutes2 % 60;
3715
+ hours2 = absFloor(minutes2 / 60);
3716
+ data.hours = hours2 % 24;
3717
+ days2 += absFloor(hours2 / 24);
3718
+ monthsFromDays = absFloor(daysToMonths(days2));
3719
+ months2 += monthsFromDays;
3720
+ days2 -= absCeil(monthsToDays(monthsFromDays));
3721
+ years2 = absFloor(months2 / 12);
3722
+ months2 %= 12;
3723
+ data.days = days2;
3724
+ data.months = months2;
3725
+ data.years = years2;
3726
+ return this;
3727
+ }
3728
+ function daysToMonths(days2) {
3729
+ return days2 * 4800 / 146097;
3730
+ }
3731
+ function monthsToDays(months2) {
3732
+ return months2 * 146097 / 4800;
3733
+ }
3734
+ function as(units) {
3735
+ if (!this.isValid()) {
3736
+ return NaN;
3737
+ }
3738
+ var days2, months2, milliseconds2 = this._milliseconds;
3739
+ units = normalizeUnits(units);
3740
+ if (units === "month" || units === "quarter" || units === "year") {
3741
+ days2 = this._days + milliseconds2 / 864e5;
3742
+ months2 = this._months + daysToMonths(days2);
3743
+ switch (units) {
3744
+ case "month":
3745
+ return months2;
3746
+ case "quarter":
3747
+ return months2 / 3;
3748
+ case "year":
3749
+ return months2 / 12;
3750
+ }
3751
+ } else {
3752
+ days2 = this._days + Math.round(monthsToDays(this._months));
3753
+ switch (units) {
3754
+ case "week":
3755
+ return days2 / 7 + milliseconds2 / 6048e5;
3756
+ case "day":
3757
+ return days2 + milliseconds2 / 864e5;
3758
+ case "hour":
3759
+ return days2 * 24 + milliseconds2 / 36e5;
3760
+ case "minute":
3761
+ return days2 * 1440 + milliseconds2 / 6e4;
3762
+ case "second":
3763
+ return days2 * 86400 + milliseconds2 / 1e3;
3764
+ // Math.floor prevents floating point math errors here
3765
+ case "millisecond":
3766
+ return Math.floor(days2 * 864e5) + milliseconds2;
3767
+ default:
3768
+ throw new Error("Unknown unit " + units);
3769
+ }
3770
+ }
3771
+ }
3772
+ function makeAs(alias) {
3773
+ return function() {
3774
+ return this.as(alias);
3775
+ };
3776
+ }
3777
+ var asMilliseconds = makeAs("ms"), asSeconds = makeAs("s"), asMinutes = makeAs("m"), asHours = makeAs("h"), asDays = makeAs("d"), asWeeks = makeAs("w"), asMonths = makeAs("M"), asQuarters = makeAs("Q"), asYears = makeAs("y"), valueOf$1 = asMilliseconds;
3778
+ function clone$1() {
3779
+ return createDuration(this);
3780
+ }
3781
+ function get$2(units) {
3782
+ units = normalizeUnits(units);
3783
+ return this.isValid() ? this[units + "s"]() : NaN;
3784
+ }
3785
+ function makeGetter(name) {
3786
+ return function() {
3787
+ return this.isValid() ? this._data[name] : NaN;
3788
+ };
3789
+ }
3790
+ var milliseconds = makeGetter("milliseconds"), seconds = makeGetter("seconds"), minutes = makeGetter("minutes"), hours = makeGetter("hours"), days = makeGetter("days"), months = makeGetter("months"), years = makeGetter("years");
3791
+ function weeks() {
3792
+ return absFloor(this.days() / 7);
3793
+ }
3794
+ var round = Math.round, thresholds = {
3795
+ ss: 44,
3796
+ // a few seconds to seconds
3797
+ s: 45,
3798
+ // seconds to minute
3799
+ m: 45,
3800
+ // minutes to hour
3801
+ h: 22,
3802
+ // hours to day
3803
+ d: 26,
3804
+ // days to month/week
3805
+ w: null,
3806
+ // weeks to month
3807
+ M: 11
3808
+ // months to year
3809
+ };
3810
+ function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale2) {
3811
+ return locale2.relativeTime(number || 1, !!withoutSuffix, string, isFuture);
3812
+ }
3813
+ function relativeTime$1(posNegDuration, withoutSuffix, thresholds2, locale2) {
3814
+ var duration = createDuration(posNegDuration).abs(), seconds2 = round(duration.as("s")), minutes2 = round(duration.as("m")), hours2 = round(duration.as("h")), days2 = round(duration.as("d")), months2 = round(duration.as("M")), weeks2 = round(duration.as("w")), years2 = round(duration.as("y")), a = seconds2 <= thresholds2.ss && ["s", seconds2] || seconds2 < thresholds2.s && ["ss", seconds2] || minutes2 <= 1 && ["m"] || minutes2 < thresholds2.m && ["mm", minutes2] || hours2 <= 1 && ["h"] || hours2 < thresholds2.h && ["hh", hours2] || days2 <= 1 && ["d"] || days2 < thresholds2.d && ["dd", days2];
3815
+ if (thresholds2.w != null) {
3816
+ a = a || weeks2 <= 1 && ["w"] || weeks2 < thresholds2.w && ["ww", weeks2];
3817
+ }
3818
+ a = a || months2 <= 1 && ["M"] || months2 < thresholds2.M && ["MM", months2] || years2 <= 1 && ["y"] || ["yy", years2];
3819
+ a[2] = withoutSuffix;
3820
+ a[3] = +posNegDuration > 0;
3821
+ a[4] = locale2;
3822
+ return substituteTimeAgo.apply(null, a);
3823
+ }
3824
+ function getSetRelativeTimeRounding(roundingFunction) {
3825
+ if (roundingFunction === void 0) {
3826
+ return round;
3827
+ }
3828
+ if (typeof roundingFunction === "function") {
3829
+ round = roundingFunction;
3830
+ return true;
3831
+ }
3832
+ return false;
3833
+ }
3834
+ function getSetRelativeTimeThreshold(threshold, limit) {
3835
+ if (thresholds[threshold] === void 0) {
3836
+ return false;
3837
+ }
3838
+ if (limit === void 0) {
3839
+ return thresholds[threshold];
3840
+ }
3841
+ thresholds[threshold] = limit;
3842
+ if (threshold === "s") {
3843
+ thresholds.ss = limit - 1;
3844
+ }
3845
+ return true;
3846
+ }
3847
+ function humanize(argWithSuffix, argThresholds) {
3848
+ if (!this.isValid()) {
3849
+ return this.localeData().invalidDate();
3850
+ }
3851
+ var withSuffix = false, th = thresholds, locale2, output;
3852
+ if (typeof argWithSuffix === "object") {
3853
+ argThresholds = argWithSuffix;
3854
+ argWithSuffix = false;
3855
+ }
3856
+ if (typeof argWithSuffix === "boolean") {
3857
+ withSuffix = argWithSuffix;
3858
+ }
3859
+ if (typeof argThresholds === "object") {
3860
+ th = Object.assign({}, thresholds, argThresholds);
3861
+ if (argThresholds.s != null && argThresholds.ss == null) {
3862
+ th.ss = argThresholds.s - 1;
3863
+ }
3864
+ }
3865
+ locale2 = this.localeData();
3866
+ output = relativeTime$1(this, !withSuffix, th, locale2);
3867
+ if (withSuffix) {
3868
+ output = locale2.pastFuture(+this, output);
3869
+ }
3870
+ return locale2.postformat(output);
3871
+ }
3872
+ var abs$1 = Math.abs;
3873
+ function sign(x) {
3874
+ return (x > 0) - (x < 0) || +x;
3875
+ }
3876
+ function toISOString$1() {
3877
+ if (!this.isValid()) {
3878
+ return this.localeData().invalidDate();
3879
+ }
3880
+ var seconds2 = abs$1(this._milliseconds) / 1e3, days2 = abs$1(this._days), months2 = abs$1(this._months), minutes2, hours2, years2, s, total = this.asSeconds(), totalSign, ymSign, daysSign, hmsSign;
3881
+ if (!total) {
3882
+ return "P0D";
3883
+ }
3884
+ minutes2 = absFloor(seconds2 / 60);
3885
+ hours2 = absFloor(minutes2 / 60);
3886
+ seconds2 %= 60;
3887
+ minutes2 %= 60;
3888
+ years2 = absFloor(months2 / 12);
3889
+ months2 %= 12;
3890
+ s = seconds2 ? seconds2.toFixed(3).replace(/\.?0+$/, "") : "";
3891
+ totalSign = total < 0 ? "-" : "";
3892
+ ymSign = sign(this._months) !== sign(total) ? "-" : "";
3893
+ daysSign = sign(this._days) !== sign(total) ? "-" : "";
3894
+ hmsSign = sign(this._milliseconds) !== sign(total) ? "-" : "";
3895
+ return totalSign + "P" + (years2 ? ymSign + years2 + "Y" : "") + (months2 ? ymSign + months2 + "M" : "") + (days2 ? daysSign + days2 + "D" : "") + (hours2 || minutes2 || seconds2 ? "T" : "") + (hours2 ? hmsSign + hours2 + "H" : "") + (minutes2 ? hmsSign + minutes2 + "M" : "") + (seconds2 ? hmsSign + s + "S" : "");
3896
+ }
3897
+ var proto$2 = Duration.prototype;
3898
+ proto$2.isValid = isValid$1;
3899
+ proto$2.abs = abs;
3900
+ proto$2.add = add$1;
3901
+ proto$2.subtract = subtract$1;
3902
+ proto$2.as = as;
3903
+ proto$2.asMilliseconds = asMilliseconds;
3904
+ proto$2.asSeconds = asSeconds;
3905
+ proto$2.asMinutes = asMinutes;
3906
+ proto$2.asHours = asHours;
3907
+ proto$2.asDays = asDays;
3908
+ proto$2.asWeeks = asWeeks;
3909
+ proto$2.asMonths = asMonths;
3910
+ proto$2.asQuarters = asQuarters;
3911
+ proto$2.asYears = asYears;
3912
+ proto$2.valueOf = valueOf$1;
3913
+ proto$2._bubble = bubble;
3914
+ proto$2.clone = clone$1;
3915
+ proto$2.get = get$2;
3916
+ proto$2.milliseconds = milliseconds;
3917
+ proto$2.seconds = seconds;
3918
+ proto$2.minutes = minutes;
3919
+ proto$2.hours = hours;
3920
+ proto$2.days = days;
3921
+ proto$2.weeks = weeks;
3922
+ proto$2.months = months;
3923
+ proto$2.years = years;
3924
+ proto$2.humanize = humanize;
3925
+ proto$2.toISOString = toISOString$1;
3926
+ proto$2.toString = toISOString$1;
3927
+ proto$2.toJSON = toISOString$1;
3928
+ proto$2.locale = locale;
3929
+ proto$2.localeData = localeData;
3930
+ proto$2.toIsoString = deprecate(
3931
+ "toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",
3932
+ toISOString$1
3933
+ );
3934
+ proto$2.lang = lang;
3935
+ addFormatToken("X", 0, 0, "unix");
3936
+ addFormatToken("x", 0, 0, "valueOf");
3937
+ addRegexToken("x", matchSigned);
3938
+ addRegexToken("X", matchTimestamp);
3939
+ addParseToken("X", function(input, array, config) {
3940
+ config._d = new Date(parseFloat(input) * 1e3);
3941
+ });
3942
+ addParseToken("x", function(input, array, config) {
3943
+ config._d = new Date(toInt(input));
3944
+ });
3945
+ //! moment.js
3946
+ hooks.version = "2.30.1";
3947
+ setHookCallback(createLocal);
3948
+ hooks.fn = proto;
3949
+ hooks.min = min;
3950
+ hooks.max = max;
3951
+ hooks.now = now;
3952
+ hooks.utc = createUTC;
3953
+ hooks.unix = createUnix;
3954
+ hooks.months = listMonths;
3955
+ hooks.isDate = isDate;
3956
+ hooks.locale = getSetGlobalLocale;
3957
+ hooks.invalid = createInvalid;
3958
+ hooks.duration = createDuration;
3959
+ hooks.isMoment = isMoment;
3960
+ hooks.weekdays = listWeekdays;
3961
+ hooks.parseZone = createInZone;
3962
+ hooks.localeData = getLocale;
3963
+ hooks.isDuration = isDuration;
3964
+ hooks.monthsShort = listMonthsShort;
3965
+ hooks.weekdaysMin = listWeekdaysMin;
3966
+ hooks.defineLocale = defineLocale;
3967
+ hooks.updateLocale = updateLocale;
3968
+ hooks.locales = listLocales;
3969
+ hooks.weekdaysShort = listWeekdaysShort;
3970
+ hooks.normalizeUnits = normalizeUnits;
3971
+ hooks.relativeTimeRounding = getSetRelativeTimeRounding;
3972
+ hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;
3973
+ hooks.calendarFormat = getCalendarFormat;
3974
+ hooks.prototype = proto;
3975
+ hooks.HTML5_FMT = {
3976
+ DATETIME_LOCAL: "YYYY-MM-DDTHH:mm",
3977
+ // <input type="datetime-local" />
3978
+ DATETIME_LOCAL_SECONDS: "YYYY-MM-DDTHH:mm:ss",
3979
+ // <input type="datetime-local" step="1" />
3980
+ DATETIME_LOCAL_MS: "YYYY-MM-DDTHH:mm:ss.SSS",
3981
+ // <input type="datetime-local" step="0.001" />
3982
+ DATE: "YYYY-MM-DD",
3983
+ // <input type="date" />
3984
+ TIME: "HH:mm",
3985
+ // <input type="time" />
3986
+ TIME_SECONDS: "HH:mm:ss",
3987
+ // <input type="time" step="1" />
3988
+ TIME_MS: "HH:mm:ss.SSS",
3989
+ // <input type="time" step="0.001" />
3990
+ WEEK: "GGGG-[W]WW",
3991
+ // <input type="week" />
3992
+ MONTH: "YYYY-MM"
3993
+ // <input type="month" />
3994
+ };
3995
+ export {
3996
+ hooks as default
3997
+ };