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