@1money/component-ui 0.0.99 → 0.0.100

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 (218) hide show
  1. package/es/business/Dialog/VerificationDialog/VerificationDialog.js +38 -39
  2. package/es/business/Dialog/variants/LoadingDialog.js +17 -17
  3. package/es/business/Filter/DateRange/DateRange.js +14 -14
  4. package/es/business/Select/Country/CountrySelect.js +71 -40
  5. package/es/business/Select/Country/interface.d.ts +31 -15
  6. package/es/business/Select/Country/style/CountrySelect.css +33 -0
  7. package/es/business/Select/Country/style/css.js +2 -0
  8. package/es/business/Select/Country/style/index.d.ts +1 -0
  9. package/es/business/Select/Country/style/index.js +2 -0
  10. package/es/business/shared/formCore/useSubmitAction.js +19 -19
  11. package/es/components/Icons/Illustrations.js +15 -15
  12. package/es/components/Notification/NotificationStatic.js +27 -32
  13. package/es/components/ProForm/ProForm.js +47 -51
  14. package/es/components/ProForm/Submitter.js +8 -8
  15. package/es/components/ProForm/core/hooks/useForm.js +77 -88
  16. package/es/components/ProForm/core/runRules.js +56 -61
  17. package/es/components/ProForm/hooks/useFieldRequest.js +19 -19
  18. package/es/components/ProForm/layouts/useOverlayForm.js +9 -11
  19. package/es/components/ProTable/ProTable.js +8 -8
  20. package/es/components/ProTable/useFetchData.js +23 -23
  21. package/es/components/Select/SelectOptionContent.js +8 -1
  22. package/es/components/Select/interface.d.ts +9 -0
  23. package/es/components/Select/interface.js +1 -1
  24. package/es/components/Select/style/Select.css +7 -0
  25. package/es/components/Spinner/Spinner.js +11 -11
  26. package/es/components/Table/internal/kernel/Table.js +8 -8
  27. package/es/index.css +1 -1
  28. package/lib/business/Dialog/BaseDialog/BaseDialog.js +2 -3
  29. package/lib/business/Dialog/Descriptions/Descriptions.js +2 -3
  30. package/lib/business/Dialog/DetailsDialog/DetailsDialog.js +2 -3
  31. package/lib/business/Dialog/FormDialog/FormDialog.js +2 -3
  32. package/lib/business/Dialog/VerificationDialog/VerificationDialog.js +39 -41
  33. package/lib/business/Dialog/variants/LoadingDialog.js +18 -19
  34. package/lib/business/FieldList/index.js +2 -3
  35. package/lib/business/Filter/DateRange/DateRange.js +14 -14
  36. package/lib/business/Select/Country/CountrySelect.js +71 -40
  37. package/lib/business/Select/Country/interface.d.ts +31 -15
  38. package/lib/business/Select/Country/style/CountrySelect.css +33 -0
  39. package/lib/business/Select/Country/style/css.js +4 -0
  40. package/lib/business/Select/Country/style/index.d.ts +1 -0
  41. package/lib/business/Select/Country/style/index.js +4 -0
  42. package/lib/business/shared/formCore/useSubmitAction.js +19 -19
  43. package/lib/components/Accordion/Accordion.js +2 -3
  44. package/lib/components/Accordion/index.js +2 -3
  45. package/lib/components/ActionBar/ActionBar.js +2 -3
  46. package/lib/components/Alert/Alert.js +2 -3
  47. package/lib/components/Alert/index.js +2 -3
  48. package/lib/components/Button/Button.js +2 -3
  49. package/lib/components/Button/index.js +2 -3
  50. package/lib/components/Calendar/Calendar.js +2 -3
  51. package/lib/components/Calendar/index.js +2 -3
  52. package/lib/components/Carousel/Carousel.js +2 -3
  53. package/lib/components/Carousel/index.js +2 -3
  54. package/lib/components/Cell/Cell.js +2 -3
  55. package/lib/components/Cell/index.js +2 -3
  56. package/lib/components/Checkbox/BaseCheckbox.js +2 -3
  57. package/lib/components/Checkbox/Checkbox.js +2 -3
  58. package/lib/components/Checkbox/CheckboxGroup.js +2 -3
  59. package/lib/components/Checkbox/index.js +2 -3
  60. package/lib/components/CoachMark/CoachMark.js +2 -3
  61. package/lib/components/CoachMark/index.js +2 -3
  62. package/lib/components/Copy/Clipboard.js +2 -3
  63. package/lib/components/Copy/Copy.js +2 -3
  64. package/lib/components/Copy/index.js +2 -3
  65. package/lib/components/Dialog/index.js +2 -3
  66. package/lib/components/Divider/Divider.js +2 -3
  67. package/lib/components/Drawer/Drawer.js +2 -3
  68. package/lib/components/Empty/Empty.js +2 -3
  69. package/lib/components/Empty/index.js +2 -3
  70. package/lib/components/Flex/Flex.js +2 -3
  71. package/lib/components/FormLayout/FormLayout.js +2 -3
  72. package/lib/components/Grid/Col.js +2 -3
  73. package/lib/components/Grid/Row.js +2 -3
  74. package/lib/components/Icons/Illustrations.js +15 -15
  75. package/lib/components/Icons/Logo.js +2 -3
  76. package/lib/components/Icons/Wrapper.js +2 -3
  77. package/lib/components/Icons/index.js +2 -3
  78. package/lib/components/Input/Amount/Amount.js +2 -3
  79. package/lib/components/Input/Amount/index.js +2 -3
  80. package/lib/components/Input/FieldShell/FieldShell.js +2 -3
  81. package/lib/components/Input/FieldShell/index.js +2 -3
  82. package/lib/components/Input/Input/Input.js +2 -3
  83. package/lib/components/Input/Input/index.js +2 -3
  84. package/lib/components/Input/Mask/Mask.js +2 -3
  85. package/lib/components/Input/Mask/index.js +2 -3
  86. package/lib/components/Input/OTP/index.js +2 -3
  87. package/lib/components/Input/Password/Password.js +2 -3
  88. package/lib/components/Input/Password/index.js +2 -3
  89. package/lib/components/Input/Search/Search.js +2 -3
  90. package/lib/components/Input/Search/index.js +2 -3
  91. package/lib/components/Input/TextArea/TextArea.js +2 -3
  92. package/lib/components/Input/TextArea/index.js +2 -3
  93. package/lib/components/Input/Trade/Trade.js +2 -3
  94. package/lib/components/Input/Trade/index.js +2 -3
  95. package/lib/components/Input/index.js +2 -3
  96. package/lib/components/Link/Link.js +2 -3
  97. package/lib/components/Link/index.js +2 -3
  98. package/lib/components/Navigation/Nav.js +2 -3
  99. package/lib/components/Navigation/Navigation.js +2 -3
  100. package/lib/components/Navigation/NavigationStepper.js +2 -3
  101. package/lib/components/Navigation/index.js +2 -3
  102. package/lib/components/Notification/Notification.js +2 -3
  103. package/lib/components/Notification/NotificationStatic.js +28 -34
  104. package/lib/components/Notification/index.js +2 -3
  105. package/lib/components/Pagination/Pagination.js +2 -3
  106. package/lib/components/Pagination/index.js +2 -3
  107. package/lib/components/PanelLayout/PanelLayout.js +2 -3
  108. package/lib/components/Popconfirm/Popconfirm.js +2 -3
  109. package/lib/components/Popconfirm/index.js +2 -3
  110. package/lib/components/Portal/index.js +2 -3
  111. package/lib/components/ProForm/ProForm.js +48 -53
  112. package/lib/components/ProForm/ProFormDependency.js +2 -3
  113. package/lib/components/ProForm/ProFormItem.js +2 -3
  114. package/lib/components/ProForm/Submitter.js +8 -8
  115. package/lib/components/ProForm/core/devWarning.js +2 -3
  116. package/lib/components/ProForm/core/hooks/useForm.js +78 -90
  117. package/lib/components/ProForm/core/runRules.js +56 -61
  118. package/lib/components/ProForm/core/useFormItem.js +2 -3
  119. package/lib/components/ProForm/fields/ProFormFieldSet.js +2 -3
  120. package/lib/components/ProForm/hooks/useFieldRequest.js +19 -19
  121. package/lib/components/ProForm/layouts/QueryFilter.js +2 -3
  122. package/lib/components/ProForm/layouts/useOverlayForm.js +10 -13
  123. package/lib/components/ProTable/ProTable.js +8 -8
  124. package/lib/components/ProTable/index.js +2 -3
  125. package/lib/components/ProTable/useFetchData.js +23 -23
  126. package/lib/components/Progress/Progress.js +2 -3
  127. package/lib/components/Progress/index.js +2 -3
  128. package/lib/components/Radio/Radio.js +2 -3
  129. package/lib/components/Radio/RadioGroup.js +2 -3
  130. package/lib/components/Radio/index.js +2 -3
  131. package/lib/components/ResizeObserver/Collection.js +2 -3
  132. package/lib/components/ResizeObserver/ResizeObserver.js +2 -3
  133. package/lib/components/ResizeObserver/SingleObserver/index.js +2 -3
  134. package/lib/components/ResizeObserver/useResizeObserver.js +2 -3
  135. package/lib/components/ResizeObserver/utils/reactUtil.js +2 -3
  136. package/lib/components/Segment/Segment.js +2 -3
  137. package/lib/components/Segment/index.js +2 -3
  138. package/lib/components/Select/Select.js +2 -3
  139. package/lib/components/Select/SelectCustom.js +2 -3
  140. package/lib/components/Select/SelectOptionContent.js +8 -1
  141. package/lib/components/Select/interface.d.ts +9 -0
  142. package/lib/components/Select/interface.js +1 -1
  143. package/lib/components/Select/style/Select.css +7 -0
  144. package/lib/components/Skeleton/Skeleton.js +2 -3
  145. package/lib/components/Skeleton/index.js +2 -3
  146. package/lib/components/Slider/Slider.js +2 -3
  147. package/lib/components/Slider/index.js +2 -3
  148. package/lib/components/Space/Space.js +2 -3
  149. package/lib/components/Spinner/Spinner.js +12 -13
  150. package/lib/components/Spinner/index.js +2 -3
  151. package/lib/components/Step/Step.js +2 -3
  152. package/lib/components/Step/index.js +2 -3
  153. package/lib/components/Switch/Switch.js +2 -3
  154. package/lib/components/Switch/index.js +2 -3
  155. package/lib/components/Table/core/useTableSetup.js +2 -3
  156. package/lib/components/Table/internal/index.js +2 -3
  157. package/lib/components/Table/internal/kernel/Body/BodyRow.js +2 -3
  158. package/lib/components/Table/internal/kernel/Body/ExpandedRow.js +2 -3
  159. package/lib/components/Table/internal/kernel/Body/MeasureCell.js +2 -3
  160. package/lib/components/Table/internal/kernel/Body/MeasureRow.js +2 -3
  161. package/lib/components/Table/internal/kernel/Body/index.js +2 -3
  162. package/lib/components/Table/internal/kernel/Cell/index.js +2 -3
  163. package/lib/components/Table/internal/kernel/Cell/useCellRender.js +2 -3
  164. package/lib/components/Table/internal/kernel/ColGroup.js +2 -3
  165. package/lib/components/Table/internal/kernel/FixedHolder/index.js +2 -3
  166. package/lib/components/Table/internal/kernel/Footer/Cell.js +2 -3
  167. package/lib/components/Table/internal/kernel/Footer/Row.js +2 -3
  168. package/lib/components/Table/internal/kernel/Footer/SummaryContext.js +2 -3
  169. package/lib/components/Table/internal/kernel/Footer/index.js +2 -3
  170. package/lib/components/Table/internal/kernel/Header/Header.js +2 -3
  171. package/lib/components/Table/internal/kernel/Header/HeaderRow.js +2 -3
  172. package/lib/components/Table/internal/kernel/Panel/index.js +2 -3
  173. package/lib/components/Table/internal/kernel/Table.js +9 -10
  174. package/lib/components/Table/internal/kernel/VirtualTable/BodyGrid.js +2 -3
  175. package/lib/components/Table/internal/kernel/VirtualTable/BodyLine.js +2 -3
  176. package/lib/components/Table/internal/kernel/VirtualTable/VirtualCell.js +2 -3
  177. package/lib/components/Table/internal/kernel/VirtualTable/index.js +2 -3
  178. package/lib/components/Table/internal/kernel/context/PerfContext.js +2 -3
  179. package/lib/components/Table/internal/kernel/hooks/useColumns/index.js +2 -3
  180. package/lib/components/Table/internal/kernel/hooks/useColumns/useWidthColumns.js +2 -3
  181. package/lib/components/Table/internal/kernel/hooks/useExpand.js +2 -3
  182. package/lib/components/Table/internal/kernel/hooks/useFixedInfo.js +2 -3
  183. package/lib/components/Table/internal/kernel/hooks/useFlattenRecords.js +2 -3
  184. package/lib/components/Table/internal/kernel/hooks/useHover.js +2 -3
  185. package/lib/components/Table/internal/kernel/hooks/useRenderTimes.js +2 -3
  186. package/lib/components/Table/internal/kernel/hooks/useSticky.js +2 -3
  187. package/lib/components/Table/internal/kernel/index.js +2 -3
  188. package/lib/components/Table/internal/kernel/selector-context/Immutable.js +2 -3
  189. package/lib/components/Table/internal/kernel/selector-context/context.js +2 -3
  190. package/lib/components/Table/internal/kernel/stickyScrollBar.js +2 -3
  191. package/lib/components/Table/internal/kernel/utils/expandUtil.js +2 -3
  192. package/lib/components/Table/internal/kernel/utils/useMemo.js +2 -3
  193. package/lib/components/Tabs/Tabs.js +2 -3
  194. package/lib/components/Tabs/index.js +2 -3
  195. package/lib/components/Tag/Tag.js +2 -3
  196. package/lib/components/Tag/index.js +2 -3
  197. package/lib/components/Tooltip/Tooltip.js +2 -3
  198. package/lib/components/Tooltip/index.js +2 -3
  199. package/lib/components/Tour/index.js +2 -3
  200. package/lib/components/Trigger/Trigger.js +2 -3
  201. package/lib/components/Typography/index.js +2 -3
  202. package/lib/components/Typography/utils.js +2 -3
  203. package/lib/components/Upload/Upload.js +2 -3
  204. package/lib/components/Upload/UploadFileBar.js +2 -3
  205. package/lib/components/Upload/index.js +2 -3
  206. package/lib/components/VirtualList/Filler.js +2 -3
  207. package/lib/components/VirtualList/Item.js +2 -3
  208. package/lib/components/VirtualList/ScrollBar.js +2 -3
  209. package/lib/components/VirtualList/VirtualList.js +2 -3
  210. package/lib/components/VirtualList/hooks/useChildren.js +2 -3
  211. package/lib/components/VirtualList/hooks/useDiffItem.js +2 -3
  212. package/lib/components/VirtualList/hooks/useGetSize.js +2 -3
  213. package/lib/components/VirtualList/hooks/useHeights.js +2 -3
  214. package/lib/components/VirtualList/hooks/useScrollDrag.js +2 -3
  215. package/lib/components/VirtualList/hooks/useScrollTo.js +2 -3
  216. package/lib/index.css +1 -1
  217. package/lib/stories/docs/ComponentDocsPage.js +2 -3
  218. package/package.json +23 -17
@@ -159,21 +159,21 @@ var DateRangeFilterBase = function DateRangeFilterBase(_a) {
159
159
  selectedRange = _useState8[0],
160
160
  setSelectedRange = _useState8[1];
161
161
  var _useState9 = (0, _react.useState)(EMPTY_RANGE),
162
- _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
163
- appliedRange = _useState10[0],
164
- setAppliedRange = _useState10[1];
165
- var _useState11 = (0, _react.useState)(initialText),
162
+ _useState0 = (0, _slicedToArray2["default"])(_useState9, 2),
163
+ appliedRange = _useState0[0],
164
+ setAppliedRange = _useState0[1];
165
+ var _useState1 = (0, _react.useState)(initialText),
166
+ _useState10 = (0, _slicedToArray2["default"])(_useState1, 2),
167
+ selectedText = _useState10[0],
168
+ setSelectedText = _useState10[1];
169
+ var _useState11 = (0, _react.useState)(false),
166
170
  _useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
167
- selectedText = _useState12[0],
168
- setSelectedText = _useState12[1];
169
- var _useState13 = (0, _react.useState)(false),
171
+ showCustomRange = _useState12[0],
172
+ setShowCustomRange = _useState12[1];
173
+ var _useState13 = (0, _react.useState)(undefined),
170
174
  _useState14 = (0, _slicedToArray2["default"])(_useState13, 2),
171
- showCustomRange = _useState14[0],
172
- setShowCustomRange = _useState14[1];
173
- var _useState15 = (0, _react.useState)(undefined),
174
- _useState16 = (0, _slicedToArray2["default"])(_useState15, 2),
175
- monthView = _useState16[0],
176
- setMonthView = _useState16[1];
175
+ monthView = _useState14[0],
176
+ setMonthView = _useState14[1];
177
177
  (0, _react.useImperativeHandle)(ref, function () {
178
178
  return {
179
179
  clear: function clear() {
@@ -404,4 +404,4 @@ var DateRangeFilterBase = function DateRangeFilterBase(_a) {
404
404
  }));
405
405
  };
406
406
  var DateRangeFilter = exports.DateRangeFilter = /*#__PURE__*/(0, _react.memo)(DateRangeFilterBase);
407
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0ZpbHRlci9EYXRlUmFuZ2UvRGF0ZVJhbmdlLmpzIiwiYnVzaW5lc3MvRmlsdGVyL3NyYy9idXNpbmVzcy9GaWx0ZXIvRGF0ZVJhbmdlL0RhdGVSYW5nZS50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX0J1dHRvbiIsIl9DYWxlbmRhciIsIl9GbGV4IiwiX0ljb25zIiwiX1JhZGlvIiwiX1NlbGVjdCIsIl9UeXBvZ3JhcGh5IiwiX2NsYXNzbmFtZXMiLCJfaW50ZXJmYWNlIiwiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJXUkFQX0NMUyIsIkNBTEVOREFSX1BBTkVMX0NMUyIsIlNFTEVDVF9QQU5FTF9DTFMiLCJQQU5FTF9XSURUSF9QUkVTRVQiLCJQQU5FTF9XSURUSF9DVVNUT00iLCJDQUxFTkRBUl9NT05USFMiLCJDSEVWUk9OX1NJWkUiLCJCQUNLX0lDT05fU0laRSIsIlJFU0VUX0xBQkVMIiwiQVBQTFlfTEFCRUwiLCJDVVNUT01fUkFOR0VfVElUTEUiLCJSQU5HRV9TRVBBUkFUT1IiLCJGVUxMX1dJRFRIX1NUWUxFIiwiZmxleCIsIl9EQVRFX1JBTkdFX09QVElPTlMiLCJfc2xpY2VkVG9BcnJheTIiLCJEQVRFX1JBTkdFX09QVElPTlMiLCJPUFRJT05fQUxMIiwiT1BUSU9OX0xBU1RfMzBfREFZUyIsIk9QVElPTl9ZRUFSX1RPX0RBVEUiLCJPUFRJT05fTEFTVF8xMl9NT05USFMiLCJPUFRJT05fQ1VTVE9NIiwiTEFTVF8zMF9EQVlTX0NPVU5UIiwiTEFTVF8xMl9NT05USFNfQ09VTlQiLCJZRUFSX1NUQVJUX01PTlRIIiwiRklSU1RfREFZX09GX01PTlRIIiwiREFZX1NUQVJUX1RJTUUiLCJEQVlfRU5EX1RJTUUiLCJEQVRFX0ZPUk1BVF9MT0NBTEUiLCJEQVRFX0ZPUk1BVF9PUFRJT05TIiwibW9udGgiLCJkYXkiLCJ5ZWFyIiwiZGF0ZUZvcm1hdHRlciIsIkludGwiLCJEYXRlVGltZUZvcm1hdCIsIkVNUFRZX1JBTkdFIiwic3RhcnREYXRlIiwiZW5kRGF0ZSIsInN0YXJ0T2ZEYXkiLCJkYXRlIiwicmVzdWx0IiwiRGF0ZSIsInNldEhvdXJzIiwiYXBwbHkiLCJlbmRPZkRheSIsImZvcm1hdERhdGUiLCJmb3JtYXQiLCJmb3JtYXRSYW5nZSIsInN0YXJ0IiwiZW5kIiwiY29uY2F0IiwiZ2V0RGF0ZUZyb21PcHRpb24iLCJvcHRpb24iLCJyYW5nZSIsInRvZGF5Iiwic2V0RGF0ZSIsImdldERhdGUiLCJnZXRGdWxsWWVhciIsInNldE1vbnRoIiwiZ2V0TW9udGgiLCJBTExfVFJBTlNBQ1RJT05TX1ZBTFVFIiwiRGF0ZVJhbmdlRmlsdGVyQmFzZSIsIl9hIiwicmVmIiwiY2xhc3NOYW1lIiwibGFiZWwiLCJfYSRwbGFjZWhvbGRlciIsInBsYWNlaG9sZGVyIiwiX2EkYWxsVHJhbnNhY3Rpb25zTGFiIiwiYWxsVHJhbnNhY3Rpb25zTGFiZWwiLCJfYSRkZWZhdWx0U2VsZWN0QWxsIiwiZGVmYXVsdFNlbGVjdEFsbCIsIm9uQXBwbHkiLCJvblJlc2V0IiwicmVzdCIsImluaXRpYWxPcHRpb24iLCJpbml0aWFsVGV4dCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIm9wZW4iLCJzZXRPcGVuIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJzZWxlY3RlZE9wdGlvbiIsInNldFNlbGVjdGVkT3B0aW9uIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJsYXN0U2VsZWN0ZWRPcHRpb24iLCJzZXRMYXN0U2VsZWN0ZWRPcHRpb24iLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsInNlbGVjdGVkUmFuZ2UiLCJzZXRTZWxlY3RlZFJhbmdlIiwiX3VzZVN0YXRlOSIsIl91c2VTdGF0ZTEwIiwiYXBwbGllZFJhbmdlIiwic2V0QXBwbGllZFJhbmdlIiwiX3VzZVN0YXRlMTEiLCJfdXNlU3RhdGUxMiIsInNlbGVjdGVkVGV4dCIsInNldFNlbGVjdGVkVGV4dCIsIl91c2VTdGF0ZTEzIiwiX3VzZVN0YXRlMTQiLCJzaG93Q3VzdG9tUmFuZ2UiLCJzZXRTaG93Q3VzdG9tUmFuZ2UiLCJfdXNlU3RhdGUxNSIsInVuZGVmaW5lZCIsIl91c2VTdGF0ZTE2IiwibW9udGhWaWV3Iiwic2V0TW9udGhWaWV3IiwidXNlSW1wZXJhdGl2ZUhhbmRsZSIsImNsZWFyIiwicmVzZXQiLCJnZXREaXNwbGF5TGFiZWwiLCJ1c2VDYWxsYmFjayIsImhhbmRsZUl0ZW1DbGljayIsImhhbmRsZURhdGVTZWxlY3QiLCJldmVudCIsInZhbHVlIiwiQXJyYXkiLCJpc0FycmF5IiwiX3ZhbHVlIiwiYXBwbHlQcmVzZXQiLCJhcHBseUN1c3RvbSIsInJlc2V0U2VsZWN0aW9uIiwiaGFuZGxlT3BlbkNoYW5nZSIsIm5leHRPcGVuIiwiY2FsZW5kYXJWYWx1ZSIsInJlbmRlclByZXNldExpc3QiLCJfanN4cyIsIl9GcmFnbWVudCIsImNoaWxkcmVuIiwiX2pzeCIsIm1hcCIsImpvaW5DbHMiLCJvbkNsaWNrIiwiVHlwb2dyYXBoeUJvZHkiLCJzaXplIiwic3Ryb25nIiwiSWNvbnMiLCJuYW1lIiwiUmFkaW8iLCJjaGVja2VkIiwiRmxleCIsImdhcCIsIkJ1dHRvbiIsImNvbG9yIiwic3R5bGUiLCJkaXNhYmxlZCIsInJlbmRlckN1c3RvbVJhbmdlIiwiYWxpZ24iLCJ3cmFwcGVyQ2xzIiwiVHlwb2dyYXBoeUxhYmVsIiwiQ2FsZW5kYXIiLCJwYW5lbENsYXNzTmFtZSIsInNlbGVjdGlvbk1vZGUiLCJyZWFkT25seUlucHV0IiwiaGlkZU9uUmFuZ2VTZWxlY3Rpb24iLCJudW1iZXJPZk1vbnRocyIsInZpZXdEYXRlIiwib25WaWV3RGF0ZUNoYW5nZSIsIm9uQ2hhbmdlIiwiU2VsZWN0IiwiQ3VzdG9tIiwiYXNzaWduIiwiYW5pbWF0aW9uIiwicGFuZWxXaWR0aCIsIm9uT3BlbkNoYW5nZSIsInNlbGVjdGVkVGVtcGxhdGUiLCJfcmVmIiwiZm9udFNpemUiLCJEYXRlUmFuZ2VGaWx0ZXIiLCJleHBvcnRzIiwibWVtbyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFXQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUNYQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxPQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxTQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxLQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxNQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxNQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxPQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxXQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxXQUFBLEdBQUFULE9BQUE7QUFDQSxJQUFBVSxVQUFBLEdBQUFWLE9BQUE7QURUQSxJQUFJVyxNQUFNLEdBQUksVUFBUSxTQUFLQSxNQUFNLElBQUssVUFBVUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUU7RUFDbEQsSUFBSUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNWLEtBQUssSUFBSUMsQ0FBQyxJQUFJSCxDQUFDLEVBQUUsSUFBSUksTUFBTSxDQUFDQyxTQUFTLENBQUNDLGNBQWMsQ0FBQ0MsSUFBSSxDQUFDUCxDQUFDLEVBQUVHLENBQUMsQ0FBQyxJQUFJRixDQUFDLENBQUNPLE9BQU8sQ0FBQ0wsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUMvRUQsQ0FBQyxDQUFDQyxDQUFDLENBQUMsR0FBR0gsQ0FBQyxDQUFDRyxDQUFDLENBQUM7RUFDZixJQUFJSCxDQUFDLElBQUksSUFBSSxJQUFJLE9BQU9JLE1BQU0sQ0FBQ0sscUJBQXFCLEtBQUssVUFBVSxFQUMvRCxLQUFLLElBQUlDLENBQUMsR0FBRyxDQUFDLEVBQUVQLENBQUMsR0FBR0MsTUFBTSxDQUFDSyxxQkFBcUIsQ0FBQ1QsQ0FBQyxDQUFDLEVB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RSxJQUFBdUUsbUJBQU8sRUFBQ3hJLFFBQVEsRUFBRWlFLFNBQVMsQ0FBQztJQUN2QzJGLGNBQWMsRUFBRTFKLGdCQUFnQjtJQUNoQ3NLLFVBQVUsRUFBRS9ELGVBQWUsR0FBR3JHLGtCQUFrQixHQUFHRCxrQkFBa0I7SUFDckU4RSxJQUFJLEVBQUVBLElBQUk7SUFDVndGLFlBQVksRUFBRTFDLGdCQUFnQjtJQUM5QjJDLGdCQUFnQixFQUNkckUsWUFBWSxHQUNSLFVBQUFzRSxJQUFBO01BQUEsSUFBR0MsUUFBUSxHQUFBRCxJQUFBLENBQVJDLFFBQVE7TUFBQSxPQUNULElBQUF0QyxlQUFBLEVBQUNJLDBCQUFjLEVBQUE7UUFBQ0MsSUFBSSxFQUFFaUMsUUFBUTtRQUFFM0csU0FBUyxLQUFBZCxNQUFBLENBQUtuRCxRQUFRLFlBQVM7UUFBQXFJLFFBQUEsRUFDN0QsSUFBQUMsZUFBQSxFQUFBLE1BQUEsRUFBQTtVQUFNckUsU0FBUyxLQUFBZCxNQUFBLENBQUtuRCxRQUFRLGtCQUFlO1VBQUFxSSxRQUFBLEVBQUdoQztRQUFZLENBQUE7TUFBUSxDQUFBLENBQ25EO0lBQUEsQ0FDbEIsR0FDRCxJQUFJO0lBQUFnQyxRQUFBLEVBR1QsU0FIU0EsUUFBQUEsQ0FBQTtNQUFBLE9BR0Y1QixlQUFlLEdBQUc4QyxpQkFBaUIsQ0FBQSxDQUFFLEdBQUdyQixnQkFBZ0IsQ0FBQSxDQUFFO0lBQUE7RUFBQyxDQUFBLENBQUEsQ0FDckQ7QUFFcEIsQ0FBQztBQUVNLElBQU0yQyxlQUFlLEdBQUFDLE9BQUEsQ0FBQUQsZUFBQSxnQkFBRyxJQUFBRSxXQUFJLEVBQUNqSCxtQkFBbUIsQ0FBQyIsImZpbGUiOiJidXNpbmVzcy9GaWx0ZXIvRGF0ZVJhbmdlL0RhdGVSYW5nZS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzLCBGcmFnbWVudCBhcyBfRnJhZ21lbnQgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IG1lbW8sIHVzZUNhbGxiYWNrLCB1c2VJbXBlcmF0aXZlSGFuZGxlLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvQnV0dG9uJztcbmltcG9ydCB7IENhbGVuZGFyIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9DYWxlbmRhcic7XG5pbXBvcnQgeyBGbGV4IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9GbGV4JztcbmltcG9ydCB7IEljb25zIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9JY29ucyc7XG5pbXBvcnQgeyBSYWRpbyB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvUmFkaW8nO1xuaW1wb3J0IHsgU2VsZWN0IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9TZWxlY3QnO1xuaW1wb3J0IHsgVHlwb2dyYXBoeUJvZHksIFR5cG9ncmFwaHlMYWJlbCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvVHlwb2dyYXBoeSc7XG5pbXBvcnQgeyBqb2luQ2xzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyBBTExfVFJBTlNBQ1RJT05TX1ZBTFVFLCBEQVRFX1JBTkdFX09QVElPTlMsIH0gZnJvbSAnLi9pbnRlcmZhY2UnO1xuY29uc3QgV1JBUF9DTFMgPSAnb20tZGF0ZS1yYW5nZS1maWx0ZXInO1xuLy8gVGhlIGNhbGVuZGFyIG92ZXJsYXkgaXMgcG9ydGFsZWQgdG8gPGJvZHk+LCBvdXRzaWRlIFdSQVBfQ0xTIOKAlCB0aGlzIGlzIGFcbi8vIHN0YW5kYWxvbmUgdG9wLWxldmVsIGhvb2sgc28gaXRzIFNDU1MgY2FuIGxpZnQgaXQgYWJvdmUgdGhlIGhvc3Rcbi8vIFNlbGVjdC5DdXN0b20gcGFuZWwgKHotaW5kZXggMTUwMCkuXG5jb25zdCBDQUxFTkRBUl9QQU5FTF9DTFMgPSAnb20tZGF0ZS1yYW5nZS1maWx0ZXItY2FsZW5kYXItcGFuZWwnO1xuLy8gVGhlIFNlbGVjdC5DdXN0b20gcGFuZWwgaXMgcG9ydGFsZWQgdG8gPGJvZHk+IHRvbyDigJQgdG9wLWxldmVsIGhvb2sgZm9yXG4vLyBzY29waW5nIHBhbmVsLWJvZHkgb3ZlcnJpZGVzIHdpdGhvdXQgbGVha2luZyBpbnRvIG90aGVyIFNlbGVjdCBwYW5lbHMuXG5jb25zdCBTRUxFQ1RfUEFORUxfQ0xTID0gJ29tLWRhdGUtcmFuZ2UtZmlsdGVyLXBhbmVsJztcbmNvbnN0IFBBTkVMX1dJRFRIX1BSRVNFVCA9IDI0MDtcbmNvbnN0IFBBTkVMX1dJRFRIX0NVU1RPTSA9IDMyMDtcbmNvbnN0IENBTEVOREFSX01PTlRIUyA9IDI7XG5jb25zdCBDSEVWUk9OX1NJWkUgPSAxNjtcbmNvbnN0IEJBQ0tfSUNPTl9TSVpFID0gMjQ7XG5jb25zdCBSRVNFVF9MQUJFTCA9ICdSZXNldCc7XG5jb25zdCBBUFBMWV9MQUJFTCA9ICdBcHBseSc7XG5jb25zdCBDVVNUT01fUkFOR0VfVElUTEUgPSAnQ3VzdG9tIGRhdGUgcmFuZ2UnO1xuY29uc3QgUkFOR0VfU0VQQVJBVE9SID0gJyAtICc7XG5jb25zdCBGVUxMX1dJRFRIX1NUWUxFID0geyBmbGV4OiAxIH07XG5jb25zdCBbT1BUSU9OX0FMTCwgT1BUSU9OX0xBU1RfMzBfREFZUywgT1BUSU9OX1lFQVJfVE9fREFURSwgT1BUSU9OX0xBU1RfMTJfTU9OVEhTLCBPUFRJT05fQ1VTVE9NLF0gPSBEQVRFX1JBTkdFX09QVElPTlM7XG5jb25zdCBMQVNUXzMwX0RBWVNfQ09VTlQgPSAzMDtcbmNvbnN0IExBU1RfMTJfTU9OVEhTX0NPVU5UID0gMTI7XG5jb25zdCBZRUFSX1NUQVJUX01PTlRIID0gMDsgLy8gSmFudWFyeSAoemVyby1iYXNlZCBtb250aCBpbmRleClcbmNvbnN0IEZJUlNUX0RBWV9PRl9NT05USCA9IDE7XG4vLyBEYXktYm91bmRhcnkgdGltZXMgc28gYW4gYXBwbGllZCByYW5nZSBjb3ZlcnMgd2hvbGUgZGF5cyBpbmNsdXNpdmVseTpcbi8vIHRoZSBzdGFydCBkYXkgZnJvbSAwMDowMDowMC4wMDAgYW5kIHRoZSBlbmQgZGF5IHRocm91Z2ggMjM6NTk6NTkuOTk5LlxuY29uc3QgREFZX1NUQVJUX1RJTUUgPSBbMCwgMCwgMCwgMF07IC8vIFtob3VycywgbWludXRlcywgc2Vjb25kcywgbXNdXG5jb25zdCBEQVlfRU5EX1RJTUUgPSBbMjMsIDU5LCA1OSwgOTk5XTsgLy8gW2hvdXJzLCBtaW51dGVzLCBzZWNvbmRzLCBtc11cbmNvbnN0IERBVEVfRk9STUFUX0xPQ0FMRSA9ICdlbi1VUyc7XG5jb25zdCBEQVRFX0ZPUk1BVF9PUFRJT05TID0ge1xuICAgIG1vbnRoOiAnMi1kaWdpdCcsXG4gICAgZGF5OiAnMi1kaWdpdCcsXG4gICAgeWVhcjogJ251bWVyaWMnLFxufTtcbmNvbnN0IGRhdGVGb3JtYXR0ZXIgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChEQVRFX0ZPUk1BVF9MT0NBTEUsIERBVEVfRk9STUFUX09QVElPTlMpO1xuY29uc3QgRU1QVFlfUkFOR0UgPSB7IHN0YXJ0RGF0ZTogbnVsbCwgZW5kRGF0ZTogbnVsbCB9O1xuY29uc3Qgc3RhcnRPZkRheSA9IChkYXRlKSA9PiB7XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IERhdGUoZGF0ZSk7XG4gICAgcmVzdWx0LnNldEhvdXJzKC4uLkRBWV9TVEFSVF9USU1FKTtcbiAgICByZXR1cm4gcmVzdWx0O1xufTtcbmNvbnN0IGVuZE9mRGF5ID0gKGRhdGUpID0+IHtcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgRGF0ZShkYXRlKTtcbiAgICByZXN1bHQuc2V0SG91cnMoLi4uREFZX0VORF9USU1FKTtcbiAgICByZXR1cm4gcmVzdWx0O1xufTtcbmNvbnN0IGZvcm1hdERhdGUgPSAoZGF0ZSkgPT4gZGF0ZUZvcm1hdHRlci5mb3JtYXQoZGF0ZSk7XG5jb25zdCBmb3JtYXRSYW5nZSA9IChzdGFydCwgZW5kKSA9PiBgJHtmb3JtYXREYXRlKHN0YXJ0KX0ke1JBTkdFX1NFUEFSQVRPUn0ke2Zvcm1hdERhdGUoZW5kKX1gO1xuY29uc3QgZ2V0RGF0ZUZyb21PcHRpb24gPSAob3B0aW9uLCByYW5nZSkgPT4ge1xuICAgIGNvbnN0IHRvZGF5ID0gbmV3IERhdGUoKTtcbiAgICBzd2l0Y2ggKG9wdGlvbikge1xuICAgICAgICBjYXNlIE9QVElPTl9MQVNUXzMwX0RBWVM6IHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgICAgICAgICBzdGFydERhdGUuc2V0RGF0ZSh0b2RheS5nZXREYXRlKCkgLSBMQVNUXzMwX0RBWVNfQ09VTlQpO1xuICAgICAgICAgICAgcmV0dXJuIHsgc3RhcnREYXRlOiBzdGFydE9mRGF5KHN0YXJ0RGF0ZSksIGVuZERhdGU6IGVuZE9mRGF5KHRvZGF5KSB9O1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgT1BUSU9OX1lFQVJfVE9fREFURToge1xuICAgICAgICAgICAgY29uc3Qgc3RhcnREYXRlID0gbmV3IERhdGUodG9kYXkuZ2V0RnVsbFllYXIoKSwgWUVBUl9TVEFSVF9NT05USCwgRklSU1RfREFZX09GX01PTlRIKTtcbiAgICAgICAgICAgIHJldHVybiB7IHN0YXJ0RGF0ZTogc3RhcnRPZkRheShzdGFydERhdGUpLCBlbmREYXRlOiBlbmRPZkRheSh0b2RheSkgfTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIE9QVElPTl9MQVNUXzEyX01PTlRIUzoge1xuICAgICAgICAgICAgY29uc3Qgc3RhcnREYXRlID0gbmV3IERhdGUoKTtcbiAgICAgICAgICAgIHN0YXJ0RGF0ZS5zZXRNb250aCh0b2RheS5nZXRNb250aCgpIC0gTEFTVF8xMl9NT05USFNfQ09VTlQpO1xuICAgICAgICAgICAgcmV0dXJuIHsgc3RhcnREYXRlOiBzdGFydE9mRGF5KHN0YXJ0RGF0ZSksIGVuZERhdGU6IGVuZE9mRGF5KHRvZGF5KSB9O1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgT1BUSU9OX0NVU1RPTTpcbiAgICAgICAgICAgIGlmIChyYW5nZS5zdGFydERhdGUgJiYgcmFuZ2UuZW5kRGF0ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7IHN0YXJ0RGF0ZTogc3RhcnRPZkRheShyYW5nZS5zdGFydERhdGUpLCBlbmREYXRlOiBlbmRPZkRheShyYW5nZS5lbmREYXRlKSB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIEFMTF9UUkFOU0FDVElPTlNfVkFMVUU7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gQUxMX1RSQU5TQUNUSU9OU19WQUxVRTtcbiAgICB9XG59O1xuY29uc3QgRGF0ZVJhbmdlRmlsdGVyQmFzZSA9IChfYSkgPT4ge1xuICAgIHZhciB7IHJlZiwgY2xhc3NOYW1lLCBsYWJlbCwgcGxhY2Vob2xkZXIgPSAnRGF0ZScsIGFsbFRyYW5zYWN0aW9uc0xhYmVsID0gJ0FsbCB0cmFuc2FjdGlvbnMnLCBkZWZhdWx0U2VsZWN0QWxsID0gZmFsc2UsIG9uQXBwbHksIG9uUmVzZXQgfSA9IF9hLCByZXN0ID0gX19yZXN0KF9hLCBbXCJyZWZcIiwgXCJjbGFzc05hbWVcIiwgXCJsYWJlbFwiLCBcInBsYWNlaG9sZGVyXCIsIFwiYWxsVHJhbnNhY3Rpb25zTGFiZWxcIiwgXCJkZWZhdWx0U2VsZWN0QWxsXCIsIFwib25BcHBseVwiLCBcIm9uUmVzZXRcIl0pO1xuICAgIGNvbnN0IGluaXRpYWxPcHRpb24gPSBkZWZhdWx0U2VsZWN0QWxsID8gT1BUSU9OX0FMTCA6IG51bGw7XG4gICAgY29uc3QgaW5pdGlhbFRleHQgPSBkZWZhdWx0U2VsZWN0QWxsID8gYWxsVHJhbnNhY3Rpb25zTGFiZWwgOiAnJztcbiAgICBjb25zdCBbb3Blbiwgc2V0T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW3NlbGVjdGVkT3B0aW9uLCBzZXRTZWxlY3RlZE9wdGlvbl0gPSB1c2VTdGF0ZShpbml0aWFsT3B0aW9uKTtcbiAgICBjb25zdCBbbGFzdFNlbGVjdGVkT3B0aW9uLCBzZXRMYXN0U2VsZWN0ZWRPcHRpb25dID0gdXNlU3RhdGUoaW5pdGlhbE9wdGlvbik7XG4gICAgY29uc3QgW3NlbGVjdGVkUmFuZ2UsIHNldFNlbGVjdGVkUmFuZ2VdID0gdXNlU3RhdGUoRU1QVFlfUkFOR0UpO1xuICAgIGNvbnN0IFthcHBsaWVkUmFuZ2UsIHNldEFwcGxpZWRSYW5nZV0gPSB1c2VTdGF0ZShFTVBUWV9SQU5HRSk7XG4gICAgY29uc3QgW3NlbGVjdGVkVGV4dCwgc2V0U2VsZWN0ZWRUZXh0XSA9IHVzZVN0YXRlKGluaXRpYWxUZXh0KTtcbiAgICBjb25zdCBbc2hvd0N1c3RvbVJhbmdlLCBzZXRTaG93Q3VzdG9tUmFuZ2VdID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFttb250aFZpZXcsIHNldE1vbnRoVmlld10gPSB1c2VTdGF0ZSh1bmRlZmluZWQpO1xuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUocmVmLCAoKSA9PiAoe1xuICAgICAgICBjbGVhcjogKCkgPT4ge1xuICAgICAgICAgICAgc2V0U2VsZWN0ZWRPcHRpb24obnVsbCk7XG4gICAgICAgICAgICBzZXRMYXN0U2VsZWN0ZWRPcHRpb24obnVsbCk7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZFJhbmdlKEVNUFRZX1JBTkdFKTtcbiAgICAgICAgICAgIHNldEFwcGxpZWRSYW5nZShFTVBUWV9SQU5HRSk7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZFRleHQoJycpO1xuICAgICAgICAgICAgc2V0U2hvd0N1c3RvbVJhbmdlKGZhbHNlKTtcbiAgICAgICAgICAgIHNldE1vbnRoVmlldyh1bmRlZmluZWQpO1xuICAgICAgICB9LFxuICAgICAgICByZXNldDogKCkgPT4ge1xuICAgICAgICAgICAgc2V0U2VsZWN0ZWRPcHRpb24oaW5pdGlhbE9wdGlvbik7XG4gICAgICAgICAgICBzZXRMYXN0U2VsZWN0ZWRPcHRpb24oaW5pdGlhbE9wdGlvbik7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZFJhbmdlKEVNUFRZX1JBTkdFKTtcbiAgICAgICAgICAgIHNldEFwcGxpZWRSYW5nZShFTVBUWV9SQU5HRSk7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZFRleHQoaW5pdGlhbFRleHQpO1xuICAgICAgICAgICAgc2V0U2hvd0N1c3RvbVJhbmdlKGZhbHNlKTtcbiAgICAgICAgICAgIHNldE1vbnRoVmlldyh1bmRlZmluZWQpO1xuICAgICAgICAgICAgb25SZXNldCA9PT0gbnVsbCB8fCBvblJlc2V0ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvblJlc2V0KCk7XG4gICAgICAgIH0sXG4gICAgfSksIFtpbml0aWFsT3B0aW9uLCBpbml0aWFsVGV4dCwgb25SZXNldF0pO1xuICAgIGNvbnN0IGdldERpc3BsYXlMYWJlbCA9IHVzZUNhbGxiYWNrKChvcHRpb24pID0+IChvcHRpb24gPT09IE9QVElPTl9BTEwgPyBhbGxUcmFuc2FjdGlvbnNMYWJlbCA6IG9wdGlvbiksIFthbGxUcmFuc2FjdGlvbnNMYWJlbF0pO1xuICAgIGNvbnN0IGhhbmRsZUl0ZW1DbGljayA9IHVzZUNhbGxiYWNrKChvcHRpb24pID0+IHtcbiAgICAgICAgaWYgKG9wdGlvbiA9PT0gT1BUSU9OX0NVU1RPTSkge1xuICAgICAgICAgICAgc2V0U2hvd0N1c3RvbVJhbmdlKHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgc2V0U2hvd0N1c3RvbVJhbmdlKGZhbHNlKTtcbiAgICAgICAgICAgIHNldFNlbGVjdGVkT3B0aW9uKG9wdGlvbik7XG4gICAgICAgIH1cbiAgICB9LCBbXSk7XG4gICAgY29uc3QgaGFuZGxlRGF0ZVNlbGVjdCA9IHVzZUNhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGV2ZW50LnZhbHVlO1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjb25zdCBbc3RhcnQsIGVuZF0gPSB2YWx1ZTtcbiAgICAgICAgaWYgKHN0YXJ0ICYmIGVuZCkge1xuICAgICAgICAgICAgc2V0TW9udGhWaWV3KHN0YXJ0KTtcbiAgICAgICAgICAgIHNldFNlbGVjdGVkUmFuZ2UoeyBzdGFydERhdGU6IHN0YXJ0LCBlbmREYXRlOiBlbmQgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoc3RhcnQpIHtcbiAgICAgICAgICAgIHNldFNlbGVjdGVkUmFuZ2UoeyBzdGFydERhdGU6IHN0YXJ0LCBlbmREYXRlOiBudWxsIH0pO1xuICAgICAgICB9XG4gICAgfSwgW10pO1xuICAgIGNvbnN0IGFwcGx5UHJlc2V0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgICBpZiAoIXNlbGVjdGVkT3B0aW9uKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBvbkFwcGx5KGdldERhdGVGcm9tT3B0aW9uKHNlbGVjdGVkT3B0aW9uLCBzZWxlY3RlZFJhbmdlKSk7XG4gICAgICAgIHNldFNlbGVjdGVkVGV4dChnZXREaXNwbGF5TGFiZWwoc2VsZWN0ZWRPcHRpb24pKTtcbiAgICAgICAgc2V0TGFzdFNlbGVjdGVkT3B0aW9uKHNlbGVjdGVkT3B0aW9uKTtcbiAgICAgICAgc2V0U2hvd0N1c3RvbVJhbmdlKGZhbHNlKTtcbiAgICAgICAgc2V0U2VsZWN0ZWRSYW5nZShFTVBUWV9SQU5HRSk7XG4gICAgICAgIHNldEFwcGxpZWRSYW5nZShFTVBUWV9SQU5HRSk7XG4gICAgICAgIHNldE1vbnRoVmlldyh1bmRlZmluZWQpO1xuICAgICAgICBzZXRPcGVuKGZhbHNlKTtcbiAgICB9LCBbc2VsZWN0ZWRPcHRpb24sIHNlbGVjdGVkUmFuZ2UsIG9uQXBwbHksIGdldERpc3BsYXlMYWJlbF0pO1xuICAgIGNvbnN0IGFwcGx5Q3VzdG9tID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgICBjb25zdCB7IHN0YXJ0RGF0ZSwgZW5kRGF0ZSB9ID0gc2VsZWN0ZWRSYW5nZTtcbiAgICAgICAgaWYgKCFzdGFydERhdGUgfHwgIWVuZERhdGUpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIG9uQXBwbHkoeyBzdGFydERhdGU6IHN0YXJ0T2ZEYXkoc3RhcnREYXRlKSwgZW5kRGF0ZTogZW5kT2ZEYXkoZW5kRGF0ZSkgfSk7XG4gICAgICAgIHNldFNlbGVjdGVkVGV4dChmb3JtYXRSYW5nZShzdGFydERhdGUsIGVuZERhdGUpKTtcbiAgICAgICAgc2V0TGFzdFNlbGVjdGVkT3B0aW9uKE9QVElPTl9DVVNUT00pO1xuICAgICAgICBzZXRTZWxlY3RlZE9wdGlvbihudWxsKTtcbiAgICAgICAgc2V0QXBwbGllZFJhbmdlKHsgc3RhcnREYXRlLCBlbmREYXRlIH0pO1xuICAgICAgICBzZXRTaG93Q3VzdG9tUmFuZ2UodHJ1ZSk7XG4gICAgICAgIHNldE9wZW4oZmFsc2UpO1xuICAgIH0sIFtzZWxlY3RlZFJhbmdlLCBvbkFwcGx5XSk7XG4gICAgY29uc3QgcmVzZXRTZWxlY3Rpb24gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIHNldFNlbGVjdGVkT3B0aW9uKGluaXRpYWxPcHRpb24pO1xuICAgICAgICBzZXRMYXN0U2VsZWN0ZWRPcHRpb24oaW5pdGlhbE9wdGlvbik7XG4gICAgICAgIHNldFNlbGVjdGVkVGV4dChpbml0aWFsVGV4dCk7XG4gICAgICAgIHNldFNlbGVjdGVkUmFuZ2UoRU1QVFlfUkFOR0UpO1xuICAgICAgICBzZXRBcHBsaWVkUmFuZ2UoRU1QVFlfUkFOR0UpO1xuICAgICAgICBzZXRNb250aFZpZXcodW5kZWZpbmVkKTtcbiAgICAgICAgb25SZXNldCA9PT0gbnVsbCB8fCBvblJlc2V0ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvblJlc2V0KCk7XG4gICAgfSwgW2luaXRpYWxPcHRpb24sIGluaXRpYWxUZXh0LCBvblJlc2V0XSk7XG4gICAgY29uc3QgaGFuZGxlT3BlbkNoYW5nZSA9IHVzZUNhbGxiYWNrKChuZXh0T3BlbikgPT4ge1xuICAgICAgICBzZXRPcGVuKG5leHRPcGVuKTtcbiAgICAgICAgaWYgKG5leHRPcGVuKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAvLyBPbiBjbG9zZSB3aXRob3V0IEFwcGx5LCBzbmFwIHRoZSBwYW5lbCBiYWNrIHRvIHRoZSBsYXN0IGNvbW1pdHRlZCBzdGF0ZVxuICAgICAgICAvLyBzbyBhbiBhYmFuZG9uZWQgZWRpdCBkb2Vzbid0IGxpbmdlci5cbiAgICAgICAgaWYgKGxhc3RTZWxlY3RlZE9wdGlvbiA9PT0gT1BUSU9OX0NVU1RPTSkge1xuICAgICAgICAgICAgc2V0U2hvd0N1c3RvbVJhbmdlKHRydWUpO1xuICAgICAgICAgICAgc2V0U2VsZWN0ZWRSYW5nZShhcHBsaWVkUmFuZ2UpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgc2V0U2hvd0N1c3RvbVJhbmdlKGZhbHNlKTtcbiAgICAgICAgICAgIHNldFNlbGVjdGVkT3B0aW9uKGxhc3RTZWxlY3RlZE9wdGlvbik7XG4gICAgICAgIH1cbiAgICB9LCBbbGFzdFNlbGVjdGVkT3B0aW9uLCBhcHBsaWVkUmFuZ2VdKTtcbiAgICBjb25zdCBjYWxlbmRhclZhbHVlID0gc2VsZWN0ZWRSYW5nZS5zdGFydERhdGVcbiAgICAgICAgPyBzZWxlY3RlZFJhbmdlLmVuZERhdGVcbiAgICAgICAgICAgID8gW3NlbGVjdGVkUmFuZ2Uuc3RhcnREYXRlLCBzZWxlY3RlZFJhbmdlLmVuZERhdGVdXG4gICAgICAgICAgICA6IFtzZWxlY3RlZFJhbmdlLnN0YXJ0RGF0ZV1cbiAgICAgICAgOiBudWxsO1xuICAgIGNvbnN0IHJlbmRlclByZXNldExpc3QgPSAoKSA9PiAoX2pzeHMoX0ZyYWdtZW50LCB7IGNoaWxkcmVuOiBbX2pzeChcInVsXCIsIHsgY2xhc3NOYW1lOiBgJHtXUkFQX0NMU31fX2xpc3RgLCBjaGlsZHJlbjogREFURV9SQU5HRV9PUFRJT05TLm1hcCgob3B0aW9uKSA9PiAoX2pzeHMoXCJsaVwiLCB7IGNsYXNzTmFtZTogam9pbkNscyhgJHtXUkFQX0NMU31fX2l0ZW1gLCBvcHRpb24gPT09IE9QVElPTl9DVVNUT00gJiYgYCR7V1JBUF9DTFN9X19pdGVtLS1jdXN0b21gLCBzZWxlY3RlZE9wdGlvbiA9PT0gb3B0aW9uICYmIGAke1dSQVBfQ0xTfV9faXRlbS0tc2VsZWN0ZWRgKSwgb25DbGljazogKCkgPT4gaGFuZGxlSXRlbUNsaWNrKG9wdGlvbiksIGNoaWxkcmVuOiBbX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiAnc20nLCBzdHJvbmc6IHRydWUsIGNoaWxkcmVuOiBnZXREaXNwbGF5TGFiZWwob3B0aW9uKSB9KSwgb3B0aW9uID09PSBPUFRJT05fQ1VTVE9NID8gKF9qc3goSWNvbnMsIHsgbmFtZTogJ2NoZXZyb25SaWdodCcsIHNpemU6IENIRVZST05fU0laRSB9KSkgOiAoX2pzeChSYWRpbywgeyBzaXplOiAnc21hbGwnLCBjaGVja2VkOiBzZWxlY3RlZE9wdGlvbiA9PT0gb3B0aW9uIH0pKV0gfSwgb3B0aW9uKSkpIH0pLCBfanN4cyhGbGV4LCB7IGdhcDogOCwgY2xhc3NOYW1lOiBgJHtXUkFQX0NMU31fX2Zvb3RlcmAsIGNoaWxkcmVuOiBbX2pzeChCdXR0b24sIHsgY29sb3I6ICdncmV5Jywgc2l6ZTogJ3NtYWxsJywgc3R5bGU6IEZVTExfV0lEVEhfU1RZTEUsIG9uQ2xpY2s6IHJlc2V0U2VsZWN0aW9uLCBjaGlsZHJlbjogUkVTRVRfTEFCRUwgfSksIF9qc3goQnV0dG9uLCB7IGNvbG9yOiAncHJpbWFyeScsIHNpemU6ICdzbWFsbCcsIHN0eWxlOiBGVUxMX1dJRFRIX1NUWUxFLCBkaXNhYmxlZDogIXNlbGVjdGVkT3B0aW9uLCBvbkNsaWNrOiBhcHBseVByZXNldCwgY2hpbGRyZW46IEFQUExZX0xBQkVMIH0pXSB9KV0gfSkpO1xuICAgIGNvbnN0IHJlbmRlckN1c3RvbVJhbmdlID0gKCkgPT4gKF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBgJHtXUkFQX0NMU31fX2N1c3RvbWAsIGNoaWxkcmVuOiBbX2pzeHMoRmxleCwgeyBhbGlnbjogJ2NlbnRlcicsIGdhcDogOCwgY2xhc3NOYW1lOiBgJHtXUkFQX0NMU31fX2N1c3RvbS1oZWFkZXJgLCBjaGlsZHJlbjogW19qc3goSWNvbnMsIHsgbmFtZTogJ2Fycm93TGVmdCcsIHNpemU6IEJBQ0tfSUNPTl9TSVpFLCB3cmFwcGVyQ2xzOiBgJHtXUkFQX0NMU31fX2JhY2staWNvbmAsIG9uQ2xpY2s6ICgpID0+IHNldFNob3dDdXN0b21SYW5nZShmYWxzZSkgfSksIF9qc3goVHlwb2dyYXBoeUxhYmVsLCB7IHNpemU6ICdsZycsIGNoaWxkcmVuOiBDVVNUT01fUkFOR0VfVElUTEUgfSldIH0pLCBfanN4KENhbGVuZGFyLCB7IHdyYXBwZXJDbHM6IGAke1dSQVBfQ0xTfV9fY2FsZW5kYXJgLCBwYW5lbENsYXNzTmFtZTogQ0FMRU5EQVJfUEFORUxfQ0xTLCBzaXplOiAnc21hbGwnLCBzZWxlY3Rpb25Nb2RlOiAncmFuZ2UnLCBwbGFjZWhvbGRlcjogJ01NL0REL1lZWVkgLSBNTS9ERC9ZWVlZJywgcmVhZE9ubHlJbnB1dDogdHJ1ZSwgaGlkZU9uUmFuZ2VTZWxlY3Rpb246IHRydWUsIG51bWJlck9mTW9udGhzOiBDQUxFTkRBUl9NT05USFMsIHZhbHVlOiBjYWxlbmRhclZhbHVlLCB2aWV3RGF0ZTogbW9udGhWaWV3LCBvblZpZXdEYXRlQ2hhbmdlOiAoZXZlbnQpID0+IHNldE1vbnRoVmlldyhldmVudC52YWx1ZSksIG9uQ2hhbmdlOiBoYW5kbGVEYXRlU2VsZWN0IH0pLCBfanN4cyhGbGV4LCB7IGdhcDogOCwgY2xhc3NOYW1lOiBqb2luQ2xzKGAke1dSQVBfQ0xTfV9fZm9vdGVyYCwgYCR7V1JBUF9DTFN9X19mb290ZXItLWJvcmRlcmVkYCksIGNoaWxkcmVuOiBbX2pzeChCdXR0b24sIHsgY29sb3I6ICdncmV5Jywgc2l6ZTogJ3NtYWxsJywgc3R5bGU6IEZVTExfV0lEVEhfU1RZTEUsIG9uQ2xpY2s6IHJlc2V0U2VsZWN0aW9uLCBjaGlsZHJlbjogUkVTRVRfTEFCRUwgfSksIF9qc3goQnV0dG9uLCB7IGNvbG9yOiAncHJpbWFyeScsIHNpemU6ICdzbWFsbCcsIHN0eWxlOiBGVUxMX1dJRFRIX1NUWUxFLCBkaXNhYmxlZDogIXNlbGVjdGVkUmFuZ2Uuc3RhcnREYXRlIHx8ICFzZWxlY3RlZFJhbmdlLmVuZERhdGUsIG9uQ2xpY2s6IGFwcGx5Q3VzdG9tLCBjaGlsZHJlbjogQVBQTFlfTEFCRUwgfSldIH0pXSB9KSk7XG4gICAgcmV0dXJuIChfanN4KFNlbGVjdC5DdXN0b20sIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgXG4gICAgICAgIC8vIEZpeGVkIDMycHggXCJFeHRyYSBTbWFsbFwiIHRyaWdnZXIgdmlhIHRoZSBuYXRpdmUgU2VsZWN0IGBleHRyYS1zbWFsbGBcbiAgICAgICAgLy8gc2l6ZTsgbG9ja2VkIGhlcmUgcmF0aGVyIHRoYW4gZXhwb3NlZCBhcyBhIHByb3AuXG4gICAgICAgIHNpemU6ICdleHRyYS1zbWFsbCcsIGFuaW1hdGlvbjogZmFsc2UsIGxhYmVsOiBsYWJlbCwgcGxhY2Vob2xkZXI6IHBsYWNlaG9sZGVyLCBjbGFzc05hbWU6IGpvaW5DbHMoV1JBUF9DTFMsIGNsYXNzTmFtZSksIHBhbmVsQ2xhc3NOYW1lOiBTRUxFQ1RfUEFORUxfQ0xTLCBwYW5lbFdpZHRoOiBzaG93Q3VzdG9tUmFuZ2UgPyBQQU5FTF9XSURUSF9DVVNUT00gOiBQQU5FTF9XSURUSF9QUkVTRVQsIG9wZW46IG9wZW4sIG9uT3BlbkNoYW5nZTogaGFuZGxlT3BlbkNoYW5nZSwgc2VsZWN0ZWRUZW1wbGF0ZTogc2VsZWN0ZWRUZXh0XG4gICAgICAgICAgICA/ICh7IGZvbnRTaXplIH0pID0+IChfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6IGZvbnRTaXplLCBjbGFzc05hbWU6IGAke1dSQVBfQ0xTfV9fdmFsdWVgLCBjaGlsZHJlbjogX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGAke1dSQVBfQ0xTfV9fdmFsdWUtbGFiZWxgLCBjaGlsZHJlbjogc2VsZWN0ZWRUZXh0IH0pIH0pKVxuICAgICAgICAgICAgOiBudWxsLCBjaGlsZHJlbjogKCkgPT4gKHNob3dDdXN0b21SYW5nZSA/IHJlbmRlckN1c3RvbVJhbmdlKCkgOiByZW5kZXJQcmVzZXRMaXN0KCkpIH0pKSk7XG59O1xuZXhwb3J0IGNvbnN0IERhdGVSYW5nZUZpbHRlciA9IG1lbW8oRGF0ZVJhbmdlRmlsdGVyQmFzZSk7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
407
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0ZpbHRlci9EYXRlUmFuZ2UvRGF0ZVJhbmdlLmpzIiwiYnVzaW5lc3MvRmlsdGVyL3NyYy9idXNpbmVzcy9GaWx0ZXIvRGF0ZVJhbmdlL0RhdGVSYW5nZS50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX0J1dHRvbiIsIl9DYWxlbmRhciIsIl9GbGV4IiwiX0ljb25zIiwiX1JhZGlvIiwiX1NlbGVjdCIsIl9UeXBvZ3JhcGh5IiwiX2NsYXNzbmFtZXMiLCJfaW50ZXJmYWNlIiwiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJXUkFQX0NMUyIsIkNBTEVOREFSX1BBTkVMX0NMUyIsIlNFTEVDVF9QQU5FTF9DTFMiLCJQQU5FTF9XSURUSF9QUkVTRVQiLCJQQU5FTF9XSURUSF9DVVNUT00iLCJDQUxFTkRBUl9NT05USFMiLCJDSEVWUk9OX1NJWkUiLCJCQUNLX0lDT05fU0laRSIsIlJFU0VUX0xBQkVMIiwiQVBQTFlfTEFCRUwiLCJDVVNUT01fUkFOR0VfVElUTEUiLCJSQU5HRV9TRVBBUkFUT1IiLCJGVUxMX1dJRFRIX1NUWUxFIiwiZmxleCIsIl9EQVRFX1JBTkdFX09QVElPTlMiLCJfc2xpY2VkVG9BcnJheTIiLCJEQVRFX1JBTkdFX09QVElPTlMiLCJPUFRJT05fQUxMIiwiT1BUSU9OX0xBU1RfMzBfREFZUyIsIk9QVElPTl9ZRUFSX1RPX0RBVEUiLCJPUFRJT05fTEFTVF8xMl9NT05USFMiLCJPUFRJT05fQ1VTVE9NIiwiTEFTVF8zMF9EQVlTX0NPVU5UIiwiTEFTVF8xMl9NT05USFNfQ09VTlQiLCJZRUFSX1NUQVJUX01PTlRIIiwiRklSU1RfREFZX09GX01PTlRIIiwiREFZX1NUQVJUX1RJTUUiLCJEQVlfRU5EX1RJTUUiLCJEQVRFX0ZPUk1BVF9MT0NBTEUiLCJEQVRFX0ZPUk1BVF9PUFRJT05TIiwibW9udGgiLCJkYXkiLCJ5ZWFyIiwiZGF0ZUZvcm1hdHRlciIsIkludGwiLCJEYXRlVGltZUZvcm1hdCIsIkVNUFRZX1JBTkdFIiwic3RhcnREYXRlIiwiZW5kRGF0ZSIsInN0YXJ0T2ZEYXkiLCJkYXRlIiwicmVzdWx0IiwiRGF0ZSIsInNldEhvdXJzIiwiYXBwbHkiLCJlbmRPZkRheSIsImZvcm1hdERhdGUiLCJmb3JtYXQiLCJmb3JtYXRSYW5nZSIsInN0YXJ0IiwiZW5kIiwiY29uY2F0IiwiZ2V0RGF0ZUZyb21PcHRpb24iLCJvcHRpb24iLCJyYW5nZSIsInRvZGF5Iiwic2V0RGF0ZSIsImdldERhdGUiLCJnZXRGdWxsWWVhciIsInNldE1vbnRoIiwiZ2V0TW9udGgiLCJBTExfVFJBTlNBQ1RJT05TX1ZBTFVFIiwiRGF0ZVJhbmdlRmlsdGVyQmFzZSIsIl9hIiwicmVmIiwiY2xhc3NOYW1lIiwibGFiZWwiLCJfYSRwbGFjZWhvbGRlciIsInBsYWNlaG9sZGVyIiwiX2EkYWxsVHJhbnNhY3Rpb25zTGFiIiwiYWxsVHJhbnNhY3Rpb25zTGFiZWwiLCJfYSRkZWZhdWx0U2VsZWN0QWxsIiwiZGVmYXVsdFNlbGVjdEFsbCIsIm9uQXBwbHkiLCJvblJlc2V0IiwicmVzdCIsImluaXRpYWxPcHRpb24iLCJpbml0aWFsVGV4dCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIm9wZW4iLCJzZXRPcGVuIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJzZWxlY3RlZE9wdGlvbiIsInNldFNlbGVjdGVkT3B0aW9uIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJsYXN0U2VsZWN0ZWRPcHRpb24iLCJzZXRMYXN0U2VsZWN0ZWRPcHRpb24iLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsInNlbGVjdGVkUmFuZ2UiLCJzZXRTZWxlY3RlZFJhbmdlIiwiX3VzZVN0YXRlOSIsIl91c2VTdGF0ZTAiLCJhcHBsaWVkUmFuZ2UiLCJzZXRBcHBsaWVkUmFuZ2UiLCJfdXNlU3RhdGUxIiwiX3VzZVN0YXRlMTAiLCJzZWxlY3RlZFRleHQiLCJzZXRTZWxlY3RlZFRleHQiLCJfdXNlU3RhdGUxMSIsIl91c2VTdGF0ZTEyIiwic2hvd0N1c3RvbVJhbmdlIiwic2V0U2hvd0N1c3RvbVJhbmdlIiwiX3VzZVN0YXRlMTMiLCJ1bmRlZmluZWQiLCJfdXNlU3RhdGUxNCIsIm1vbnRoVmlldyIsInNldE1vbnRoVmlldyIsInVzZUltcGVyYXRpdmVIYW5kbGUiLCJjbGVhciIsInJlc2V0IiwiZ2V0RGlzcGxheUxhYmVsIiwidXNlQ2FsbGJhY2siLCJoYW5kbGVJdGVtQ2xpY2siLCJoYW5kbGVEYXRlU2VsZWN0IiwiZXZlbnQiLCJ2YWx1ZSIsIkFycmF5IiwiaXNBcnJheSIsIl92YWx1ZSIsImFwcGx5UHJlc2V0IiwiYXBwbHlDdXN0b20iLCJyZXNldFNlbGVjdGlvbiIsImhhbmRsZU9wZW5DaGFuZ2UiLCJuZXh0T3BlbiIsImNhbGVuZGFyVmFsdWUiLCJyZW5kZXJQcmVzZXRMaXN0IiwiX2pzeHMiLCJfRnJhZ21lbnQiLCJjaGlsZHJlbiIsIl9qc3giLCJtYXAiLCJqb2luQ2xzIiwib25DbGljayIsIlR5cG9ncmFwaHlCb2R5Iiwic2l6ZSIsInN0cm9uZyIsIkljb25zIiwibmFtZSIsIlJhZGlvIiwiY2hlY2tlZCIsIkZsZXgiLCJnYXAiLCJCdXR0b24iLCJjb2xvciIsInN0eWxlIiwiZGlzYWJsZWQiLCJyZW5kZXJDdXN0b21SYW5nZSIsImFsaWduIiwid3JhcHBlckNscyIsIlR5cG9ncmFwaHlMYWJlbCIsIkNhbGVuZGFyIiwicGFuZWxDbGFzc05hbWUiLCJzZWxlY3Rpb25Nb2RlIiwicmVhZE9ubHlJbnB1dCIsImhpZGVPblJhbmdlU2VsZWN0aW9uIiwibnVtYmVyT2ZNb250aHMiLCJ2aWV3RGF0ZSIsIm9uVmlld0RhdGVDaGFuZ2UiLCJvbkNoYW5nZSIsIlNlbGVjdCIsIkN1c3RvbSIsImFzc2lnbiIsImFuaW1hdGlvbiIsInBhbmVsV2lkdGgiLCJvbk9wZW5DaGFuZ2UiLCJzZWxlY3RlZFRlbXBsYXRlIiwiX3JlZiIsImZvbnRTaXplIiwiRGF0ZVJhbmdlRmlsdGVyIiwiZXhwb3J0cyIsIm1lbW8iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBV0EsSUFBQUEsV0FBQSxHQUFBQyxPQUFBO0FDWEEsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsT0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsU0FBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksS0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssTUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sTUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sT0FBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsV0FBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMsV0FBQSxHQUFBVCxPQUFBO0FBQ0EsSUFBQVUsVUFBQSxHQUFBVixPQUFBO0FEVEEsSUFBSVcsTUFBTSxHQUFJLFVBQVEsU0FBS0EsTUFBTSxJQUFLLFVBQVVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFO0VBQ2xELElBQUlDLENBQUMsR0FBRyxDQUFDLENBQUM7RUFDVixLQUFLLElBQUlDLENBQUMsSUFBSUgsQ0FBQyxFQUFFLElBQUlJLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ1AsQ0FBQyxFQUFFRyxDQUFDLENBQUMsSUFBSUYsQ0FBQyxDQUFDTyxPQUFPLENBQUNMLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFDL0VELENBQUMsQ0FBQ0MsQ0FBQyxDQUFDLEdBQUdILENBQUMsQ0FBQ0csQ0FBQyxDQUFDO0VBQ2YsSUFBSUgsQ0FBQyxJQUFJLElBQUksSUFBSSxPQUFPSSxNQUFNLENBQUNLLHFCQUFxQixLQUFLLFVBQVUsRUFDL0QsS0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxFQUFFUCxDQUFDLEdBQUdDLE1BQU0sQ0FBQ0sscUJBQXFCLENBQUNULENBQUMsQ0FBQyxFQUFF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SUFBQXVFLG1CQUFPLEVBQUN4SSxRQUFRLEVBQUVpRSxTQUFTLENBQUM7SUFDdkMyRixjQUFjLEVBQUUxSixnQkFBZ0I7SUFDaENzSyxVQUFVLEVBQUUvRCxlQUFlLEdBQUdyRyxrQkFBa0IsR0FBR0Qsa0JBQWtCO0lBQ3JFOEUsSUFBSSxFQUFFQSxJQUFJO0lBQ1Z3RixZQUFZLEVBQUUxQyxnQkFBZ0I7SUFDOUIyQyxnQkFBZ0IsRUFDZHJFLFlBQVksR0FDUixVQUFBc0UsSUFBQTtNQUFBLElBQUdDLFFBQVEsR0FBQUQsSUFBQSxDQUFSQyxRQUFRO01BQUEsT0FDVCxJQUFBdEMsZUFBQSxFQUFDSSwwQkFBYyxFQUFBO1FBQUNDLElBQUksRUFBRWlDLFFBQVE7UUFBRTNHLFNBQVMsS0FBQWQsTUFBQSxDQUFLbkQsUUFBUSxZQUFTO1FBQUFxSSxRQUFBLEVBQzdELElBQUFDLGVBQUEsRUFBQSxNQUFBLEVBQUE7VUFBTXJFLFNBQVMsS0FBQWQsTUFBQSxDQUFLbkQsUUFBUSxrQkFBZTtVQUFBcUksUUFBQSxFQUFHaEM7UUFBWSxDQUFBO01BQVEsQ0FBQSxDQUNuRDtJQUFBLENBQ2xCLEdBQ0QsSUFBSTtJQUFBZ0MsUUFBQSxFQUdULFNBSFNBLFFBQUFBLENBQUE7TUFBQSxPQUdGNUIsZUFBZSxHQUFHOEMsaUJBQWlCLENBQUEsQ0FBRSxHQUFHckIsZ0JBQWdCLENBQUEsQ0FBRTtJQUFBO0VBQUMsQ0FBQSxDQUFBLENBQ3JEO0FBRXBCLENBQUM7QUFFTSxJQUFNMkMsZUFBZSxHQUFBQyxPQUFBLENBQUFELGVBQUEsZ0JBQUcsSUFBQUUsV0FBSSxFQUFDakgsbUJBQW1CLENBQUMiLCJmaWxlIjoiYnVzaW5lc3MvRmlsdGVyL0RhdGVSYW5nZS9EYXRlUmFuZ2UuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cywgRnJhZ21lbnQgYXMgX0ZyYWdtZW50IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vLCB1c2VDYWxsYmFjaywgdXNlSW1wZXJhdGl2ZUhhbmRsZSwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL0J1dHRvbic7XG5pbXBvcnQgeyBDYWxlbmRhciB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvQ2FsZW5kYXInO1xuaW1wb3J0IHsgRmxleCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvRmxleCc7XG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvSWNvbnMnO1xuaW1wb3J0IHsgUmFkaW8gfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL1JhZGlvJztcbmltcG9ydCB7IFNlbGVjdCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvU2VsZWN0JztcbmltcG9ydCB7IFR5cG9ncmFwaHlCb2R5LCBUeXBvZ3JhcGh5TGFiZWwgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL1R5cG9ncmFwaHknO1xuaW1wb3J0IHsgam9pbkNscyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgQUxMX1RSQU5TQUNUSU9OU19WQUxVRSwgREFURV9SQU5HRV9PUFRJT05TLCB9IGZyb20gJy4vaW50ZXJmYWNlJztcbmNvbnN0IFdSQVBfQ0xTID0gJ29tLWRhdGUtcmFuZ2UtZmlsdGVyJztcbi8vIFRoZSBjYWxlbmRhciBvdmVybGF5IGlzIHBvcnRhbGVkIHRvIDxib2R5Piwgb3V0c2lkZSBXUkFQX0NMUyDigJQgdGhpcyBpcyBhXG4vLyBzdGFuZGFsb25lIHRvcC1sZXZlbCBob29rIHNvIGl0cyBTQ1NTIGNhbiBsaWZ0IGl0IGFib3ZlIHRoZSBob3N0XG4vLyBTZWxlY3QuQ3VzdG9tIHBhbmVsICh6LWluZGV4IDE1MDApLlxuY29uc3QgQ0FMRU5EQVJfUEFORUxfQ0xTID0gJ29tLWRhdGUtcmFuZ2UtZmlsdGVyLWNhbGVuZGFyLXBhbmVsJztcbi8vIFRoZSBTZWxlY3QuQ3VzdG9tIHBhbmVsIGlzIHBvcnRhbGVkIHRvIDxib2R5PiB0b28g4oCUIHRvcC1sZXZlbCBob29rIGZvclxuLy8gc2NvcGluZyBwYW5lbC1ib2R5IG92ZXJyaWRlcyB3aXRob3V0IGxlYWtpbmcgaW50byBvdGhlciBTZWxlY3QgcGFuZWxzLlxuY29uc3QgU0VMRUNUX1BBTkVMX0NMUyA9ICdvbS1kYXRlLXJhbmdlLWZpbHRlci1wYW5lbCc7XG5jb25zdCBQQU5FTF9XSURUSF9QUkVTRVQgPSAyNDA7XG5jb25zdCBQQU5FTF9XSURUSF9DVVNUT00gPSAzMjA7XG5jb25zdCBDQUxFTkRBUl9NT05USFMgPSAyO1xuY29uc3QgQ0hFVlJPTl9TSVpFID0gMTY7XG5jb25zdCBCQUNLX0lDT05fU0laRSA9IDI0O1xuY29uc3QgUkVTRVRfTEFCRUwgPSAnUmVzZXQnO1xuY29uc3QgQVBQTFlfTEFCRUwgPSAnQXBwbHknO1xuY29uc3QgQ1VTVE9NX1JBTkdFX1RJVExFID0gJ0N1c3RvbSBkYXRlIHJhbmdlJztcbmNvbnN0IFJBTkdFX1NFUEFSQVRPUiA9ICcgLSAnO1xuY29uc3QgRlVMTF9XSURUSF9TVFlMRSA9IHsgZmxleDogMSB9O1xuY29uc3QgW09QVElPTl9BTEwsIE9QVElPTl9MQVNUXzMwX0RBWVMsIE9QVElPTl9ZRUFSX1RPX0RBVEUsIE9QVElPTl9MQVNUXzEyX01PTlRIUywgT1BUSU9OX0NVU1RPTSxdID0gREFURV9SQU5HRV9PUFRJT05TO1xuY29uc3QgTEFTVF8zMF9EQVlTX0NPVU5UID0gMzA7XG5jb25zdCBMQVNUXzEyX01PTlRIU19DT1VOVCA9IDEyO1xuY29uc3QgWUVBUl9TVEFSVF9NT05USCA9IDA7IC8vIEphbnVhcnkgKHplcm8tYmFzZWQgbW9udGggaW5kZXgpXG5jb25zdCBGSVJTVF9EQVlfT0ZfTU9OVEggPSAxO1xuLy8gRGF5LWJvdW5kYXJ5IHRpbWVzIHNvIGFuIGFwcGxpZWQgcmFuZ2UgY292ZXJzIHdob2xlIGRheXMgaW5jbHVzaXZlbHk6XG4vLyB0aGUgc3RhcnQgZGF5IGZyb20gMDA6MDA6MDAuMDAwIGFuZCB0aGUgZW5kIGRheSB0aHJvdWdoIDIzOjU5OjU5Ljk5OS5cbmNvbnN0IERBWV9TVEFSVF9USU1FID0gWzAsIDAsIDAsIDBdOyAvLyBbaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMsIG1zXVxuY29uc3QgREFZX0VORF9USU1FID0gWzIzLCA1OSwgNTksIDk5OV07IC8vIFtob3VycywgbWludXRlcywgc2Vjb25kcywgbXNdXG5jb25zdCBEQVRFX0ZPUk1BVF9MT0NBTEUgPSAnZW4tVVMnO1xuY29uc3QgREFURV9GT1JNQVRfT1BUSU9OUyA9IHtcbiAgICBtb250aDogJzItZGlnaXQnLFxuICAgIGRheTogJzItZGlnaXQnLFxuICAgIHllYXI6ICdudW1lcmljJyxcbn07XG5jb25zdCBkYXRlRm9ybWF0dGVyID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoREFURV9GT1JNQVRfTE9DQUxFLCBEQVRFX0ZPUk1BVF9PUFRJT05TKTtcbmNvbnN0IEVNUFRZX1JBTkdFID0geyBzdGFydERhdGU6IG51bGwsIGVuZERhdGU6IG51bGwgfTtcbmNvbnN0IHN0YXJ0T2ZEYXkgPSAoZGF0ZSkgPT4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBEYXRlKGRhdGUpO1xuICAgIHJlc3VsdC5zZXRIb3VycyguLi5EQVlfU1RBUlRfVElNRSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbn07XG5jb25zdCBlbmRPZkRheSA9IChkYXRlKSA9PiB7XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IERhdGUoZGF0ZSk7XG4gICAgcmVzdWx0LnNldEhvdXJzKC4uLkRBWV9FTkRfVElNRSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbn07XG5jb25zdCBmb3JtYXREYXRlID0gKGRhdGUpID0+IGRhdGVGb3JtYXR0ZXIuZm9ybWF0KGRhdGUpO1xuY29uc3QgZm9ybWF0UmFuZ2UgPSAoc3RhcnQsIGVuZCkgPT4gYCR7Zm9ybWF0RGF0ZShzdGFydCl9JHtSQU5HRV9TRVBBUkFUT1J9JHtmb3JtYXREYXRlKGVuZCl9YDtcbmNvbnN0IGdldERhdGVGcm9tT3B0aW9uID0gKG9wdGlvbiwgcmFuZ2UpID0+IHtcbiAgICBjb25zdCB0b2RheSA9IG5ldyBEYXRlKCk7XG4gICAgc3dpdGNoIChvcHRpb24pIHtcbiAgICAgICAgY2FzZSBPUFRJT05fTEFTVF8zMF9EQVlTOiB7XG4gICAgICAgICAgICBjb25zdCBzdGFydERhdGUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICAgICAgc3RhcnREYXRlLnNldERhdGUodG9kYXkuZ2V0RGF0ZSgpIC0gTEFTVF8zMF9EQVlTX0NPVU5UKTtcbiAgICAgICAgICAgIHJldHVybiB7IHN0YXJ0RGF0ZTogc3RhcnRPZkRheShzdGFydERhdGUpLCBlbmREYXRlOiBlbmRPZkRheSh0b2RheSkgfTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIE9QVElPTl9ZRUFSX1RPX0RBVEU6IHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IG5ldyBEYXRlKHRvZGF5LmdldEZ1bGxZZWFyKCksIFlFQVJfU1RBUlRfTU9OVEgsIEZJUlNUX0RBWV9PRl9NT05USCk7XG4gICAgICAgICAgICByZXR1cm4geyBzdGFydERhdGU6IHN0YXJ0T2ZEYXkoc3RhcnREYXRlKSwgZW5kRGF0ZTogZW5kT2ZEYXkodG9kYXkpIH07XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBPUFRJT05fTEFTVF8xMl9NT05USFM6IHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgICAgICAgICBzdGFydERhdGUuc2V0TW9udGgodG9kYXkuZ2V0TW9udGgoKSAtIExBU1RfMTJfTU9OVEhTX0NPVU5UKTtcbiAgICAgICAgICAgIHJldHVybiB7IHN0YXJ0RGF0ZTogc3RhcnRPZkRheShzdGFydERhdGUpLCBlbmREYXRlOiBlbmRPZkRheSh0b2RheSkgfTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIE9QVElPTl9DVVNUT006XG4gICAgICAgICAgICBpZiAocmFuZ2Uuc3RhcnREYXRlICYmIHJhbmdlLmVuZERhdGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4geyBzdGFydERhdGU6IHN0YXJ0T2ZEYXkocmFuZ2Uuc3RhcnREYXRlKSwgZW5kRGF0ZTogZW5kT2ZEYXkocmFuZ2UuZW5kRGF0ZSkgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBBTExfVFJBTlNBQ1RJT05TX1ZBTFVFO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIEFMTF9UUkFOU0FDVElPTlNfVkFMVUU7XG4gICAgfVxufTtcbmNvbnN0IERhdGVSYW5nZUZpbHRlckJhc2UgPSAoX2EpID0+IHtcbiAgICB2YXIgeyByZWYsIGNsYXNzTmFtZSwgbGFiZWwsIHBsYWNlaG9sZGVyID0gJ0RhdGUnLCBhbGxUcmFuc2FjdGlvbnNMYWJlbCA9ICdBbGwgdHJhbnNhY3Rpb25zJywgZGVmYXVsdFNlbGVjdEFsbCA9IGZhbHNlLCBvbkFwcGx5LCBvblJlc2V0IH0gPSBfYSwgcmVzdCA9IF9fcmVzdChfYSwgW1wicmVmXCIsIFwiY2xhc3NOYW1lXCIsIFwibGFiZWxcIiwgXCJwbGFjZWhvbGRlclwiLCBcImFsbFRyYW5zYWN0aW9uc0xhYmVsXCIsIFwiZGVmYXVsdFNlbGVjdEFsbFwiLCBcIm9uQXBwbHlcIiwgXCJvblJlc2V0XCJdKTtcbiAgICBjb25zdCBpbml0aWFsT3B0aW9uID0gZGVmYXVsdFNlbGVjdEFsbCA/IE9QVElPTl9BTEwgOiBudWxsO1xuICAgIGNvbnN0IGluaXRpYWxUZXh0ID0gZGVmYXVsdFNlbGVjdEFsbCA/IGFsbFRyYW5zYWN0aW9uc0xhYmVsIDogJyc7XG4gICAgY29uc3QgW29wZW4sIHNldE9wZW5dID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFtzZWxlY3RlZE9wdGlvbiwgc2V0U2VsZWN0ZWRPcHRpb25dID0gdXNlU3RhdGUoaW5pdGlhbE9wdGlvbik7XG4gICAgY29uc3QgW2xhc3RTZWxlY3RlZE9wdGlvbiwgc2V0TGFzdFNlbGVjdGVkT3B0aW9uXSA9IHVzZVN0YXRlKGluaXRpYWxPcHRpb24pO1xuICAgIGNvbnN0IFtzZWxlY3RlZFJhbmdlLCBzZXRTZWxlY3RlZFJhbmdlXSA9IHVzZVN0YXRlKEVNUFRZX1JBTkdFKTtcbiAgICBjb25zdCBbYXBwbGllZFJhbmdlLCBzZXRBcHBsaWVkUmFuZ2VdID0gdXNlU3RhdGUoRU1QVFlfUkFOR0UpO1xuICAgIGNvbnN0IFtzZWxlY3RlZFRleHQsIHNldFNlbGVjdGVkVGV4dF0gPSB1c2VTdGF0ZShpbml0aWFsVGV4dCk7XG4gICAgY29uc3QgW3Nob3dDdXN0b21SYW5nZSwgc2V0U2hvd0N1c3RvbVJhbmdlXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBbbW9udGhWaWV3LCBzZXRNb250aFZpZXddID0gdXNlU3RhdGUodW5kZWZpbmVkKTtcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlKHJlZiwgKCkgPT4gKHtcbiAgICAgICAgY2xlYXI6ICgpID0+IHtcbiAgICAgICAgICAgIHNldFNlbGVjdGVkT3B0aW9uKG51bGwpO1xuICAgICAgICAgICAgc2V0TGFzdFNlbGVjdGVkT3B0aW9uKG51bGwpO1xuICAgICAgICAgICAgc2V0U2VsZWN0ZWRSYW5nZShFTVBUWV9SQU5HRSk7XG4gICAgICAgICAgICBzZXRBcHBsaWVkUmFuZ2UoRU1QVFlfUkFOR0UpO1xuICAgICAgICAgICAgc2V0U2VsZWN0ZWRUZXh0KCcnKTtcbiAgICAgICAgICAgIHNldFNob3dDdXN0b21SYW5nZShmYWxzZSk7XG4gICAgICAgICAgICBzZXRNb250aFZpZXcodW5kZWZpbmVkKTtcbiAgICAgICAgfSxcbiAgICAgICAgcmVzZXQ6ICgpID0+IHtcbiAgICAgICAgICAgIHNldFNlbGVjdGVkT3B0aW9uKGluaXRpYWxPcHRpb24pO1xuICAgICAgICAgICAgc2V0TGFzdFNlbGVjdGVkT3B0aW9uKGluaXRpYWxPcHRpb24pO1xuICAgICAgICAgICAgc2V0U2VsZWN0ZWRSYW5nZShFTVBUWV9SQU5HRSk7XG4gICAgICAgICAgICBzZXRBcHBsaWVkUmFuZ2UoRU1QVFlfUkFOR0UpO1xuICAgICAgICAgICAgc2V0U2VsZWN0ZWRUZXh0KGluaXRpYWxUZXh0KTtcbiAgICAgICAgICAgIHNldFNob3dDdXN0b21SYW5nZShmYWxzZSk7XG4gICAgICAgICAgICBzZXRNb250aFZpZXcodW5kZWZpbmVkKTtcbiAgICAgICAgICAgIG9uUmVzZXQgPT09IG51bGwgfHwgb25SZXNldCA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25SZXNldCgpO1xuICAgICAgICB9LFxuICAgIH0pLCBbaW5pdGlhbE9wdGlvbiwgaW5pdGlhbFRleHQsIG9uUmVzZXRdKTtcbiAgICBjb25zdCBnZXREaXNwbGF5TGFiZWwgPSB1c2VDYWxsYmFjaygob3B0aW9uKSA9PiAob3B0aW9uID09PSBPUFRJT05fQUxMID8gYWxsVHJhbnNhY3Rpb25zTGFiZWwgOiBvcHRpb24pLCBbYWxsVHJhbnNhY3Rpb25zTGFiZWxdKTtcbiAgICBjb25zdCBoYW5kbGVJdGVtQ2xpY2sgPSB1c2VDYWxsYmFjaygob3B0aW9uKSA9PiB7XG4gICAgICAgIGlmIChvcHRpb24gPT09IE9QVElPTl9DVVNUT00pIHtcbiAgICAgICAgICAgIHNldFNob3dDdXN0b21SYW5nZSh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHNldFNob3dDdXN0b21SYW5nZShmYWxzZSk7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZE9wdGlvbihvcHRpb24pO1xuICAgICAgICB9XG4gICAgfSwgW10pO1xuICAgIGNvbnN0IGhhbmRsZURhdGVTZWxlY3QgPSB1c2VDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBldmVudC52YWx1ZTtcbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlKSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY29uc3QgW3N0YXJ0LCBlbmRdID0gdmFsdWU7XG4gICAgICAgIGlmIChzdGFydCAmJiBlbmQpIHtcbiAgICAgICAgICAgIHNldE1vbnRoVmlldyhzdGFydCk7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZFJhbmdlKHsgc3RhcnREYXRlOiBzdGFydCwgZW5kRGF0ZTogZW5kIH0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHN0YXJ0KSB7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZFJhbmdlKHsgc3RhcnREYXRlOiBzdGFydCwgZW5kRGF0ZTogbnVsbCB9KTtcbiAgICAgICAgfVxuICAgIH0sIFtdKTtcbiAgICBjb25zdCBhcHBseVByZXNldCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgaWYgKCFzZWxlY3RlZE9wdGlvbilcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgb25BcHBseShnZXREYXRlRnJvbU9wdGlvbihzZWxlY3RlZE9wdGlvbiwgc2VsZWN0ZWRSYW5nZSkpO1xuICAgICAgICBzZXRTZWxlY3RlZFRleHQoZ2V0RGlzcGxheUxhYmVsKHNlbGVjdGVkT3B0aW9uKSk7XG4gICAgICAgIHNldExhc3RTZWxlY3RlZE9wdGlvbihzZWxlY3RlZE9wdGlvbik7XG4gICAgICAgIHNldFNob3dDdXN0b21SYW5nZShmYWxzZSk7XG4gICAgICAgIHNldFNlbGVjdGVkUmFuZ2UoRU1QVFlfUkFOR0UpO1xuICAgICAgICBzZXRBcHBsaWVkUmFuZ2UoRU1QVFlfUkFOR0UpO1xuICAgICAgICBzZXRNb250aFZpZXcodW5kZWZpbmVkKTtcbiAgICAgICAgc2V0T3BlbihmYWxzZSk7XG4gICAgfSwgW3NlbGVjdGVkT3B0aW9uLCBzZWxlY3RlZFJhbmdlLCBvbkFwcGx5LCBnZXREaXNwbGF5TGFiZWxdKTtcbiAgICBjb25zdCBhcHBseUN1c3RvbSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgY29uc3QgeyBzdGFydERhdGUsIGVuZERhdGUgfSA9IHNlbGVjdGVkUmFuZ2U7XG4gICAgICAgIGlmICghc3RhcnREYXRlIHx8ICFlbmREYXRlKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBvbkFwcGx5KHsgc3RhcnREYXRlOiBzdGFydE9mRGF5KHN0YXJ0RGF0ZSksIGVuZERhdGU6IGVuZE9mRGF5KGVuZERhdGUpIH0pO1xuICAgICAgICBzZXRTZWxlY3RlZFRleHQoZm9ybWF0UmFuZ2Uoc3RhcnREYXRlLCBlbmREYXRlKSk7XG4gICAgICAgIHNldExhc3RTZWxlY3RlZE9wdGlvbihPUFRJT05fQ1VTVE9NKTtcbiAgICAgICAgc2V0U2VsZWN0ZWRPcHRpb24obnVsbCk7XG4gICAgICAgIHNldEFwcGxpZWRSYW5nZSh7IHN0YXJ0RGF0ZSwgZW5kRGF0ZSB9KTtcbiAgICAgICAgc2V0U2hvd0N1c3RvbVJhbmdlKHRydWUpO1xuICAgICAgICBzZXRPcGVuKGZhbHNlKTtcbiAgICB9LCBbc2VsZWN0ZWRSYW5nZSwgb25BcHBseV0pO1xuICAgIGNvbnN0IHJlc2V0U2VsZWN0aW9uID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgICBzZXRTZWxlY3RlZE9wdGlvbihpbml0aWFsT3B0aW9uKTtcbiAgICAgICAgc2V0TGFzdFNlbGVjdGVkT3B0aW9uKGluaXRpYWxPcHRpb24pO1xuICAgICAgICBzZXRTZWxlY3RlZFRleHQoaW5pdGlhbFRleHQpO1xuICAgICAgICBzZXRTZWxlY3RlZFJhbmdlKEVNUFRZX1JBTkdFKTtcbiAgICAgICAgc2V0QXBwbGllZFJhbmdlKEVNUFRZX1JBTkdFKTtcbiAgICAgICAgc2V0TW9udGhWaWV3KHVuZGVmaW5lZCk7XG4gICAgICAgIG9uUmVzZXQgPT09IG51bGwgfHwgb25SZXNldCA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25SZXNldCgpO1xuICAgIH0sIFtpbml0aWFsT3B0aW9uLCBpbml0aWFsVGV4dCwgb25SZXNldF0pO1xuICAgIGNvbnN0IGhhbmRsZU9wZW5DaGFuZ2UgPSB1c2VDYWxsYmFjaygobmV4dE9wZW4pID0+IHtcbiAgICAgICAgc2V0T3BlbihuZXh0T3Blbik7XG4gICAgICAgIGlmIChuZXh0T3BlbilcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgLy8gT24gY2xvc2Ugd2l0aG91dCBBcHBseSwgc25hcCB0aGUgcGFuZWwgYmFjayB0byB0aGUgbGFzdCBjb21taXR0ZWQgc3RhdGVcbiAgICAgICAgLy8gc28gYW4gYWJhbmRvbmVkIGVkaXQgZG9lc24ndCBsaW5nZXIuXG4gICAgICAgIGlmIChsYXN0U2VsZWN0ZWRPcHRpb24gPT09IE9QVElPTl9DVVNUT00pIHtcbiAgICAgICAgICAgIHNldFNob3dDdXN0b21SYW5nZSh0cnVlKTtcbiAgICAgICAgICAgIHNldFNlbGVjdGVkUmFuZ2UoYXBwbGllZFJhbmdlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHNldFNob3dDdXN0b21SYW5nZShmYWxzZSk7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZE9wdGlvbihsYXN0U2VsZWN0ZWRPcHRpb24pO1xuICAgICAgICB9XG4gICAgfSwgW2xhc3RTZWxlY3RlZE9wdGlvbiwgYXBwbGllZFJhbmdlXSk7XG4gICAgY29uc3QgY2FsZW5kYXJWYWx1ZSA9IHNlbGVjdGVkUmFuZ2Uuc3RhcnREYXRlXG4gICAgICAgID8gc2VsZWN0ZWRSYW5nZS5lbmREYXRlXG4gICAgICAgICAgICA/IFtzZWxlY3RlZFJhbmdlLnN0YXJ0RGF0ZSwgc2VsZWN0ZWRSYW5nZS5lbmREYXRlXVxuICAgICAgICAgICAgOiBbc2VsZWN0ZWRSYW5nZS5zdGFydERhdGVdXG4gICAgICAgIDogbnVsbDtcbiAgICBjb25zdCByZW5kZXJQcmVzZXRMaXN0ID0gKCkgPT4gKF9qc3hzKF9GcmFnbWVudCwgeyBjaGlsZHJlbjogW19qc3goXCJ1bFwiLCB7IGNsYXNzTmFtZTogYCR7V1JBUF9DTFN9X19saXN0YCwgY2hpbGRyZW46IERBVEVfUkFOR0VfT1BUSU9OUy5tYXAoKG9wdGlvbikgPT4gKF9qc3hzKFwibGlcIiwgeyBjbGFzc05hbWU6IGpvaW5DbHMoYCR7V1JBUF9DTFN9X19pdGVtYCwgb3B0aW9uID09PSBPUFRJT05fQ1VTVE9NICYmIGAke1dSQVBfQ0xTfV9faXRlbS0tY3VzdG9tYCwgc2VsZWN0ZWRPcHRpb24gPT09IG9wdGlvbiAmJiBgJHtXUkFQX0NMU31fX2l0ZW0tLXNlbGVjdGVkYCksIG9uQ2xpY2s6ICgpID0+IGhhbmRsZUl0ZW1DbGljayhvcHRpb24pLCBjaGlsZHJlbjogW19qc3goVHlwb2dyYXBoeUJvZHksIHsgc2l6ZTogJ3NtJywgc3Ryb25nOiB0cnVlLCBjaGlsZHJlbjogZ2V0RGlzcGxheUxhYmVsKG9wdGlvbikgfSksIG9wdGlvbiA9PT0gT1BUSU9OX0NVU1RPTSA/IChfanN4KEljb25zLCB7IG5hbWU6ICdjaGV2cm9uUmlnaHQnLCBzaXplOiBDSEVWUk9OX1NJWkUgfSkpIDogKF9qc3goUmFkaW8sIHsgc2l6ZTogJ3NtYWxsJywgY2hlY2tlZDogc2VsZWN0ZWRPcHRpb24gPT09IG9wdGlvbiB9KSldIH0sIG9wdGlvbikpKSB9KSwgX2pzeHMoRmxleCwgeyBnYXA6IDgsIGNsYXNzTmFtZTogYCR7V1JBUF9DTFN9X19mb290ZXJgLCBjaGlsZHJlbjogW19qc3goQnV0dG9uLCB7IGNvbG9yOiAnZ3JleScsIHNpemU6ICdzbWFsbCcsIHN0eWxlOiBGVUxMX1dJRFRIX1NUWUxFLCBvbkNsaWNrOiByZXNldFNlbGVjdGlvbiwgY2hpbGRyZW46IFJFU0VUX0xBQkVMIH0pLCBfanN4KEJ1dHRvbiwgeyBjb2xvcjogJ3ByaW1hcnknLCBzaXplOiAnc21hbGwnLCBzdHlsZTogRlVMTF9XSURUSF9TVFlMRSwgZGlzYWJsZWQ6ICFzZWxlY3RlZE9wdGlvbiwgb25DbGljazogYXBwbHlQcmVzZXQsIGNoaWxkcmVuOiBBUFBMWV9MQUJFTCB9KV0gfSldIH0pKTtcbiAgICBjb25zdCByZW5kZXJDdXN0b21SYW5nZSA9ICgpID0+IChfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogYCR7V1JBUF9DTFN9X19jdXN0b21gLCBjaGlsZHJlbjogW19qc3hzKEZsZXgsIHsgYWxpZ246ICdjZW50ZXInLCBnYXA6IDgsIGNsYXNzTmFtZTogYCR7V1JBUF9DTFN9X19jdXN0b20taGVhZGVyYCwgY2hpbGRyZW46IFtfanN4KEljb25zLCB7IG5hbWU6ICdhcnJvd0xlZnQnLCBzaXplOiBCQUNLX0lDT05fU0laRSwgd3JhcHBlckNsczogYCR7V1JBUF9DTFN9X19iYWNrLWljb25gLCBvbkNsaWNrOiAoKSA9PiBzZXRTaG93Q3VzdG9tUmFuZ2UoZmFsc2UpIH0pLCBfanN4KFR5cG9ncmFwaHlMYWJlbCwgeyBzaXplOiAnbGcnLCBjaGlsZHJlbjogQ1VTVE9NX1JBTkdFX1RJVExFIH0pXSB9KSwgX2pzeChDYWxlbmRhciwgeyB3cmFwcGVyQ2xzOiBgJHtXUkFQX0NMU31fX2NhbGVuZGFyYCwgcGFuZWxDbGFzc05hbWU6IENBTEVOREFSX1BBTkVMX0NMUywgc2l6ZTogJ3NtYWxsJywgc2VsZWN0aW9uTW9kZTogJ3JhbmdlJywgcGxhY2Vob2xkZXI6ICdNTS9ERC9ZWVlZIC0gTU0vREQvWVlZWScsIHJlYWRPbmx5SW5wdXQ6IHRydWUsIGhpZGVPblJhbmdlU2VsZWN0aW9uOiB0cnVlLCBudW1iZXJPZk1vbnRoczogQ0FMRU5EQVJfTU9OVEhTLCB2YWx1ZTogY2FsZW5kYXJWYWx1ZSwgdmlld0RhdGU6IG1vbnRoVmlldywgb25WaWV3RGF0ZUNoYW5nZTogKGV2ZW50KSA9PiBzZXRNb250aFZpZXcoZXZlbnQudmFsdWUpLCBvbkNoYW5nZTogaGFuZGxlRGF0ZVNlbGVjdCB9KSwgX2pzeHMoRmxleCwgeyBnYXA6IDgsIGNsYXNzTmFtZTogam9pbkNscyhgJHtXUkFQX0NMU31fX2Zvb3RlcmAsIGAke1dSQVBfQ0xTfV9fZm9vdGVyLS1ib3JkZXJlZGApLCBjaGlsZHJlbjogW19qc3goQnV0dG9uLCB7IGNvbG9yOiAnZ3JleScsIHNpemU6ICdzbWFsbCcsIHN0eWxlOiBGVUxMX1dJRFRIX1NUWUxFLCBvbkNsaWNrOiByZXNldFNlbGVjdGlvbiwgY2hpbGRyZW46IFJFU0VUX0xBQkVMIH0pLCBfanN4KEJ1dHRvbiwgeyBjb2xvcjogJ3ByaW1hcnknLCBzaXplOiAnc21hbGwnLCBzdHlsZTogRlVMTF9XSURUSF9TVFlMRSwgZGlzYWJsZWQ6ICFzZWxlY3RlZFJhbmdlLnN0YXJ0RGF0ZSB8fCAhc2VsZWN0ZWRSYW5nZS5lbmREYXRlLCBvbkNsaWNrOiBhcHBseUN1c3RvbSwgY2hpbGRyZW46IEFQUExZX0xBQkVMIH0pXSB9KV0gfSkpO1xuICAgIHJldHVybiAoX2pzeChTZWxlY3QuQ3VzdG9tLCBPYmplY3QuYXNzaWduKHt9LCByZXN0LCB7IFxuICAgICAgICAvLyBGaXhlZCAzMnB4IFwiRXh0cmEgU21hbGxcIiB0cmlnZ2VyIHZpYSB0aGUgbmF0aXZlIFNlbGVjdCBgZXh0cmEtc21hbGxgXG4gICAgICAgIC8vIHNpemU7IGxvY2tlZCBoZXJlIHJhdGhlciB0aGFuIGV4cG9zZWQgYXMgYSBwcm9wLlxuICAgICAgICBzaXplOiAnZXh0cmEtc21hbGwnLCBhbmltYXRpb246IGZhbHNlLCBsYWJlbDogbGFiZWwsIHBsYWNlaG9sZGVyOiBwbGFjZWhvbGRlciwgY2xhc3NOYW1lOiBqb2luQ2xzKFdSQVBfQ0xTLCBjbGFzc05hbWUpLCBwYW5lbENsYXNzTmFtZTogU0VMRUNUX1BBTkVMX0NMUywgcGFuZWxXaWR0aDogc2hvd0N1c3RvbVJhbmdlID8gUEFORUxfV0lEVEhfQ1VTVE9NIDogUEFORUxfV0lEVEhfUFJFU0VULCBvcGVuOiBvcGVuLCBvbk9wZW5DaGFuZ2U6IGhhbmRsZU9wZW5DaGFuZ2UsIHNlbGVjdGVkVGVtcGxhdGU6IHNlbGVjdGVkVGV4dFxuICAgICAgICAgICAgPyAoeyBmb250U2l6ZSB9KSA9PiAoX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiBmb250U2l6ZSwgY2xhc3NOYW1lOiBgJHtXUkFQX0NMU31fX3ZhbHVlYCwgY2hpbGRyZW46IF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBgJHtXUkFQX0NMU31fX3ZhbHVlLWxhYmVsYCwgY2hpbGRyZW46IHNlbGVjdGVkVGV4dCB9KSB9KSlcbiAgICAgICAgICAgIDogbnVsbCwgY2hpbGRyZW46ICgpID0+IChzaG93Q3VzdG9tUmFuZ2UgPyByZW5kZXJDdXN0b21SYW5nZSgpIDogcmVuZGVyUHJlc2V0TGlzdCgpKSB9KSkpO1xufTtcbmV4cG9ydCBjb25zdCBEYXRlUmFuZ2VGaWx0ZXIgPSBtZW1vKERhdGVSYW5nZUZpbHRlckJhc2UpOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -11,6 +11,7 @@ var _react = require("react");
11
11
  var _Flex = require("../../../components/Flex");
12
12
  var _Select = require("../../../components/Select");
13
13
  var _Typography = require("../../../components/Typography");
14
+ var _classnames = require("../../../utils/classnames");
14
15
  var __rest = void 0 && (void 0).__rest || function (s, e) {
15
16
  var t = {};
16
17
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
@@ -19,8 +20,50 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
19
20
  }
20
21
  return t;
21
22
  };
23
+ var WRAP_CLS = 'om-country-select';
24
+ var FLAG_CLS = "".concat(WRAP_CLS, "-flag");
25
+ var FLAG_DISABLED_CLS = "".concat(FLAG_CLS, "-disabled");
26
+ var US_CODE = 'US';
27
+ var DEFAULT_UNAVAILABLE_LABEL = 'Not available';
28
+ var toItems = function toItems(options) {
29
+ return Array.isArray(options) ? options : Object.entries(options !== null && options !== void 0 ? options : {}).map(function (_ref) {
30
+ var _ref2 = (0, _slicedToArray2["default"])(_ref, 2),
31
+ code = _ref2[0],
32
+ name = _ref2[1];
33
+ return {
34
+ code: code,
35
+ name: name
36
+ };
37
+ });
38
+ };
39
+ var byUsThenName = function byUsThenName(a, b) {
40
+ return a.code === US_CODE ? -1 : b.code === US_CODE ? 1 : a.name.localeCompare(b.name);
41
+ };
42
+ var toOption = function toOption(country) {
43
+ var _a;
44
+ // Fail closed: only an absent status or an explicit AVAILABLE stays
45
+ // selectable, so a status this version does not know stays unselectable.
46
+ var disabled = country.status !== undefined && country.status !== 'AVAILABLE';
47
+ return Object.assign({
48
+ value: country.code,
49
+ label: country.name,
50
+ searchText: "".concat(country.name, " ").concat(country.code),
51
+ disabled: disabled
52
+ }, disabled ? {
53
+ badge: {
54
+ label: (_a = country.unavailableLabel) !== null && _a !== void 0 ? _a : DEFAULT_UNAVAILABLE_LABEL
55
+ }
56
+ } : {});
57
+ };
58
+ var renderFlag = function renderFlag(code, disabled) {
59
+ return (0, _jsxRuntime.jsx)("span", {
60
+ className: (0, _classnames.joinCls)(FLAG_CLS, "fi fis fi-".concat(String(code).toLowerCase()), disabled && FLAG_DISABLED_CLS),
61
+ "aria-hidden": true
62
+ });
63
+ };
22
64
  var CountrySelectBase = function CountrySelectBase(_a) {
23
65
  var options = _a.options,
66
+ className = _a.className,
24
67
  _a$label = _a.label,
25
68
  label = _a$label === void 0 ? 'Country' : _a$label,
26
69
  _a$placeholder = _a.placeholder,
@@ -31,62 +74,50 @@ var CountrySelectBase = function CountrySelectBase(_a) {
31
74
  filterInputAutoFocus = _a$filterInputAutoFoc === void 0 ? true : _a$filterInputAutoFoc,
32
75
  _a$strong = _a.strong,
33
76
  strong = _a$strong === void 0 ? true : _a$strong,
34
- rest = __rest(_a, ["options", "label", "placeholder", "searchable", "filterInputAutoFocus", "strong"]);
77
+ rest = __rest(_a, ["options", "className", "label", "placeholder", "searchable", "filterInputAutoFocus", "strong"]);
35
78
  var countries = (0, _react.useMemo)(function () {
36
- return Object.entries(options !== null && options !== void 0 ? options : {}).sort(function (_ref, _ref2) {
37
- var _ref3 = (0, _slicedToArray2["default"])(_ref, 2),
38
- a = _ref3[0],
39
- an = _ref3[1];
40
- var _ref4 = (0, _slicedToArray2["default"])(_ref2, 2),
41
- b = _ref4[0],
42
- bn = _ref4[1];
43
- return a === 'US' ? -1 : b === 'US' ? 1 : an.localeCompare(bn);
44
- }).map(function (_ref5) {
45
- var _ref6 = (0, _slicedToArray2["default"])(_ref5, 2),
46
- code = _ref6[0],
47
- name = _ref6[1];
48
- return {
49
- value: code,
50
- label: name,
51
- searchText: "".concat(name, " ").concat(code)
52
- };
53
- });
79
+ return toItems(options).slice().sort(byUsThenName).map(toOption);
54
80
  }, [options]);
55
81
  return (0, _jsxRuntime.jsx)(_Select.Select, Object.assign({}, rest, {
56
82
  label: label,
57
83
  placeholder: placeholder,
58
84
  searchable: searchable,
59
85
  filterInputAutoFocus: filterInputAutoFocus,
86
+ className: (0, _classnames.joinCls)(WRAP_CLS, className),
60
87
  options: countries,
61
- renderValue: function renderValue(option, _ref7) {
62
- var fontSize = _ref7.fontSize;
88
+ renderValue: function renderValue(option, _ref3) {
89
+ var fontSize = _ref3.fontSize;
63
90
  return !option || Array.isArray(option) ? placeholder : (0, _jsxRuntime.jsxs)(_Flex.Flex, {
64
91
  align: 'center',
65
92
  gap: 8,
66
- children: [(0, _jsxRuntime.jsx)("span", {
67
- className: "fi fi-".concat(String(option.value).toLowerCase()),
68
- "aria-hidden": true
69
- }), (0, _jsxRuntime.jsx)(_Typography.TypographyBody, {
93
+ children: [renderFlag(option.value, false), (0, _jsxRuntime.jsx)(_Typography.TypographyBody, {
70
94
  size: fontSize,
71
95
  strong: strong,
72
96
  children: option.label
73
97
  })]
74
98
  });
75
99
  },
76
- renderOptionContent: function renderOptionContent(option, _ref8) {
77
- var fontSize = _ref8.fontSize;
78
- return (0, _jsxRuntime.jsxs)(_Flex.Flex, {
79
- align: 'center',
80
- gap: 8,
81
- children: [(0, _jsxRuntime.jsx)("span", {
82
- className: "fi fi-".concat(String(option.value).toLowerCase()),
83
- "aria-hidden": true
84
- }), (0, _jsxRuntime.jsx)(_Typography.TypographyBody, {
85
- size: fontSize,
86
- strong: strong,
87
- children: option.label
88
- })]
89
- });
100
+ renderOptionContent: function renderOptionContent(option, _ref4) {
101
+ var fontSize = _ref4.fontSize,
102
+ disabled = _ref4.disabled;
103
+ return (
104
+ // `flex: 1` (not width 100%) so `Select` can lay the availability tag
105
+ // and the selected check out after this content.
106
+ (0, _jsxRuntime.jsxs)(_Flex.Flex, {
107
+ align: 'center',
108
+ gap: 8,
109
+ style: {
110
+ flex: '1 1 auto',
111
+ minWidth: 0
112
+ },
113
+ children: [renderFlag(option.value, disabled), (0, _jsxRuntime.jsx)(_Typography.TypographyBody, {
114
+ size: fontSize,
115
+ strong: strong,
116
+ disabled: disabled,
117
+ children: option.label
118
+ })]
119
+ })
120
+ );
90
121
  }
91
122
  }));
92
123
  };
@@ -95,4 +126,4 @@ var CountrySelect = exports.CountrySelect = /*#__PURE__*/(0, _react.memo)(Countr
95
126
  // memo() wipes the inferred name, so without this the Item silently skips
96
127
  // value/onChange injection unless the call site happens to pass a placeholder.
97
128
  CountrySelect.displayName = 'CountrySelect';
98
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL1NlbGVjdC9Db3VudHJ5L0NvdW50cnlTZWxlY3QuanMiLCJidXNpbmVzcy9TZWxlY3Qvc3JjL2J1c2luZXNzL1NlbGVjdC9Db3VudHJ5L0NvdW50cnlTZWxlY3QudHN4Il0sIm5hbWVzIjpbIl9qc3hSdW50aW1lIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9GbGV4IiwiX1NlbGVjdCIsIl9UeXBvZ3JhcGh5IiwiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJDb3VudHJ5U2VsZWN0QmFzZSIsIl9hIiwib3B0aW9ucyIsIl9hJGxhYmVsIiwibGFiZWwiLCJfYSRwbGFjZWhvbGRlciIsInBsYWNlaG9sZGVyIiwiX2Ekc2VhcmNoYWJsZSIsInNlYXJjaGFibGUiLCJfYSRmaWx0ZXJJbnB1dEF1dG9Gb2MiLCJmaWx0ZXJJbnB1dEF1dG9Gb2N1cyIsIl9hJHN0cm9uZyIsInN0cm9uZyIsInJlc3QiLCJjb3VudHJpZXMiLCJ1c2VNZW1vIiwiZW50cmllcyIsInNvcnQiLCJfcmVmIiwiX3JlZjIiLCJfcmVmMyIsIl9zbGljZWRUb0FycmF5MiIsImEiLCJhbiIsIl9yZWY0IiwiYiIsImJuIiwibG9jYWxlQ29tcGFyZSIsIm1hcCIsIl9yZWY1IiwiX3JlZjYiLCJjb2RlIiwibmFtZSIsInZhbHVlIiwic2VhcmNoVGV4dCIsImNvbmNhdCIsIl9qc3giLCJTZWxlY3QiLCJhc3NpZ24iLCJyZW5kZXJWYWx1ZSIsIm9wdGlvbiIsIl9yZWY3IiwiZm9udFNpemUiLCJBcnJheSIsImlzQXJyYXkiLCJfanN4cyIsIkZsZXgiLCJhbGlnbiIsImdhcCIsImNoaWxkcmVuIiwiY2xhc3NOYW1lIiwiU3RyaW5nIiwidG9Mb3dlckNhc2UiLCJUeXBvZ3JhcGh5Qm9keSIsInNpemUiLCJyZW5kZXJPcHRpb25Db250ZW50IiwiX3JlZjgiLCJDb3VudHJ5U2VsZWN0IiwiZXhwb3J0cyIsIm1lbW8iLCJkaXNwbGF5TmFtZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFXQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUNYQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxLQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxPQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxXQUFBLEdBQUFKLE9BQUE7QURIQSxJQUFJSyxNQUFNLEdBQUksVUFBUSxTQUFLQSxNQUFNLElBQUssVUFBVUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUU7RUFDbEQsSUFBSUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNWLEtBQUssSUFBSUMsQ0FBQyxJQUFJSCxDQUFDLEVBQUUsSUFBSUksTUFBTSxDQUFDQyxTQUFTLENBQUNDLGNBQWMsQ0FBQ0MsSUFBSSxDQUFDUCxDQUFDLEVBQUVHLENBQUMsQ0FBQyxJQUFJRixDQUFDLENBQUNPLE9BQU8sQ0FBQ0wsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUMvRUQsQ0FBQyxDQUFDQyxDQUFDLENBQUMsR0FBR0gsQ0FBQyxDQUFDRyxDQUFDLENBQUM7RUFDZixJQUFJSCxDQUFDLElBQUksSUFBSSxJQUFJLE9BQU9JLE1BQU0sQ0FBQ0sscUJBQXFCLEtBQUssVUFBVSxFQUMvRCxLQUFLLElBQUlDLENBQUMsR0FBRyxDQUFDLEVBQUVQLENBQUMsR0FBR0MsTUFBTSxDQUFDSyxxQkFBcUIsQ0FBQ1QsQ0FBQyxDQUFDLEVBQUVVLENBQUMsR0FBR1AsQ0FBQyxDQUFDUSxNQUFNLEVBQUVELENBQUMsRUFBRSxFQUFFO0lBQ3BFLElBQUlULENBQUMsQ0FBQ08sT0FBTyxDQUFDTCxDQUFDLENBQUNPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJTixNQUFNLENBQUNDLFNBQVMsQ0FBQ08sb0JBQW9CLENBQUNMLElBQUksQ0FBQ1AsQ0FBQyxFQUFFRyxDQUFDLENBQUNPLENB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SyxDQUFBLENBQ0U7TUFBQSxDQUFBLENBQ1o7SUFBQTtFQUNSLENBQUEsQ0FBQSxDQUNEO0FBRU4sQ0FBQztBQUVNLElBQU1xRCxhQUFhLEdBQUFDLE9BQUEsQ0FBQUQsYUFBQSxnQkFBRyxJQUFBRSxXQUFJLEVBQUMzRCxpQkFBaUIsQ0FBQztBQUNwRDtBQUNBO0FBQ0E7QUFDQXlELGFBQWEsQ0FBQ0csV0FBVyxHQUFHLGVBQWUiLCJmaWxlIjoiYnVzaW5lc3MvU2VsZWN0L0NvdW50cnkvQ291bnRyeVNlbGVjdC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vLCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgRmxleCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvRmxleCc7XG5pbXBvcnQgeyBTZWxlY3QgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL1NlbGVjdCc7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5Qm9keSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvVHlwb2dyYXBoeSc7XG5jb25zdCBDb3VudHJ5U2VsZWN0QmFzZSA9IChfYSkgPT4ge1xuICAgIHZhciB7IG9wdGlvbnMsIGxhYmVsID0gJ0NvdW50cnknLCBwbGFjZWhvbGRlciA9ICdTZWxlY3QgY291bnRyeScsIHNlYXJjaGFibGUgPSB0cnVlLCBmaWx0ZXJJbnB1dEF1dG9Gb2N1cyA9IHRydWUsIHN0cm9uZyA9IHRydWUgfSA9IF9hLCByZXN0ID0gX19yZXN0KF9hLCBbXCJvcHRpb25zXCIsIFwibGFiZWxcIiwgXCJwbGFjZWhvbGRlclwiLCBcInNlYXJjaGFibGVcIiwgXCJmaWx0ZXJJbnB1dEF1dG9Gb2N1c1wiLCBcInN0cm9uZ1wiXSk7XG4gICAgY29uc3QgY291bnRyaWVzID0gdXNlTWVtbygoKSA9PiBPYmplY3QuZW50cmllcyhvcHRpb25zICE9PSBudWxsICYmIG9wdGlvbnMgIT09IHZvaWQgMCA/IG9wdGlvbnMgOiB7fSlcbiAgICAgICAgLnNvcnQoKFthLCBhbl0sIFtiLCBibl0pID0+IChhID09PSAnVVMnID8gLTEgOiBiID09PSAnVVMnID8gMSA6IGFuLmxvY2FsZUNvbXBhcmUoYm4pKSlcbiAgICAgICAgLm1hcCgoW2NvZGUsIG5hbWVdKSA9PiAoeyB2YWx1ZTogY29kZSwgbGFiZWw6IG5hbWUsIHNlYXJjaFRleHQ6IGAke25hbWV9ICR7Y29kZX1gIH0pKSwgW29wdGlvbnNdKTtcbiAgICByZXR1cm4gKF9qc3goU2VsZWN0LCBPYmplY3QuYXNzaWduKHt9LCByZXN0LCB7IGxhYmVsOiBsYWJlbCwgcGxhY2Vob2xkZXI6IHBsYWNlaG9sZGVyLCBzZWFyY2hhYmxlOiBzZWFyY2hhYmxlLCBmaWx0ZXJJbnB1dEF1dG9Gb2N1czogZmlsdGVySW5wdXRBdXRvRm9jdXMsIG9wdGlvbnM6IGNvdW50cmllcywgcmVuZGVyVmFsdWU6IChvcHRpb24sIHsgZm9udFNpemUgfSkgPT4gIW9wdGlvbiB8fCBBcnJheS5pc0FycmF5KG9wdGlvbikgPyAocGxhY2Vob2xkZXIpIDogKF9qc3hzKEZsZXgsIHsgYWxpZ246ICdjZW50ZXInLCBnYXA6IDgsIGNoaWxkcmVuOiBbX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGBmaSBmaS0ke1N0cmluZyhvcHRpb24udmFsdWUpLnRvTG93ZXJDYXNlKCl9YCwgXCJhcmlhLWhpZGRlblwiOiB0cnVlIH0pLCBfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6IGZvbnRTaXplLCBzdHJvbmc6IHN0cm9uZywgY2hpbGRyZW46IG9wdGlvbi5sYWJlbCB9KV0gfSkpLCByZW5kZXJPcHRpb25Db250ZW50OiAob3B0aW9uLCB7IGZvbnRTaXplIH0pID0+IChfanN4cyhGbGV4LCB7IGFsaWduOiAnY2VudGVyJywgZ2FwOiA4LCBjaGlsZHJlbjogW19qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBgZmkgZmktJHtTdHJpbmcob3B0aW9uLnZhbHVlKS50b0xvd2VyQ2FzZSgpfWAsIFwiYXJpYS1oaWRkZW5cIjogdHJ1ZSB9KSwgX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiBmb250U2l6ZSwgc3Ryb25nOiBzdHJvbmcsIGNoaWxkcmVuOiBvcHRpb24ubGFiZWwgfSldIH0pKSB9KSkpO1xufTtcbmV4cG9ydCBjb25zdCBDb3VudHJ5U2VsZWN0ID0gbWVtbyhDb3VudHJ5U2VsZWN0QmFzZSk7XG4vLyBQcm9Gb3JtLkl0ZW0gcmVjb2duaXplcyBmb3JtIGNvbnRyb2xzIGJ5IGRpc3BsYXlOYW1lIChGT1JNX0NPTVBPTkVOVF9OQU1FUyk7XG4vLyBtZW1vKCkgd2lwZXMgdGhlIGluZmVycmVkIG5hbWUsIHNvIHdpdGhvdXQgdGhpcyB0aGUgSXRlbSBzaWxlbnRseSBza2lwc1xuLy8gdmFsdWUvb25DaGFuZ2UgaW5qZWN0aW9uIHVubGVzcyB0aGUgY2FsbCBzaXRlIGhhcHBlbnMgdG8gcGFzcyBhIHBsYWNlaG9sZGVyLlxuQ291bnRyeVNlbGVjdC5kaXNwbGF5TmFtZSA9ICdDb3VudHJ5U2VsZWN0JzsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
129
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL1NlbGVjdC9Db3VudHJ5L0NvdW50cnlTZWxlY3QuanMiLCJidXNpbmVzcy9TZWxlY3Qvc3JjL2J1c2luZXNzL1NlbGVjdC9Db3VudHJ5L0NvdW50cnlTZWxlY3QudHN4Il0sIm5hbWVzIjpbIl9qc3hSdW50aW1lIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9GbGV4IiwiX1NlbGVjdCIsIl9UeXBvZ3JhcGh5IiwiX2NsYXNzbmFtZXMiLCJfX3Jlc3QiLCJzIiwiZSIsInQiLCJwIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImkiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsIldSQVBfQ0xTIiwiRkxBR19DTFMiLCJjb25jYXQiLCJGTEFHX0RJU0FCTEVEX0NMUyIsIlVTX0NPREUiLCJERUZBVUxUX1VOQVZBSUxBQkxFX0xBQkVMIiwidG9JdGVtcyIsIm9wdGlvbnMiLCJBcnJheSIsImlzQXJyYXkiLCJlbnRyaWVzIiwibWFwIiwiX3JlZiIsIl9yZWYyIiwiX3NsaWNlZFRvQXJyYXkyIiwiY29kZSIsIm5hbWUiLCJieVVzVGhlbk5hbWUiLCJhIiwiYiIsImxvY2FsZUNvbXBhcmUiLCJ0b09wdGlvbiIsImNvdW50cnkiLCJfYSIsImRpc2FibGVkIiwic3RhdHVzIiwidW5kZWZpbmVkIiwiYXNzaWduIiwidmFsdWUiLCJsYWJlbCIsInNlYXJjaFRleHQiLCJiYWRnZSIsInVuYXZhaWxhYmxlTGFiZWwiLCJyZW5kZXJGbGFnIiwiX2pzeCIsImNsYXNzTmFtZSIsImpvaW5DbHMiLCJTdHJpbmciLCJ0b0xvd2VyQ2FzZSIsIkNvdW50cnlTZWxlY3RCYXNlIiwiX2EkbGFiZWwiLCJfYSRwbGFjZWhvbGRlciIsInBsYWNlaG9sZGVyIiwiX2Ekc2VhcmNoYWJsZSIsInNlYXJjaGFibGUiLCJfYSRmaWx0ZXJJbnB1dEF1dG9Gb2MiLCJmaWx0ZXJJbnB1dEF1dG9Gb2N1cyIsIl9hJHN0cm9uZyIsInN0cm9uZyIsInJlc3QiLCJjb3VudHJpZXMiLCJ1c2VNZW1vIiwic2xpY2UiLCJzb3J0IiwiU2VsZWN0IiwicmVuZGVyVmFsdWUiLCJvcHRpb24iLCJfcmVmMyIsImZvbnRTaXplIiwiX2pzeHMiLCJGbGV4IiwiYWxpZ24iLCJnYXAiLCJjaGlsZHJlbiIsIlR5cG9ncmFwaHlCb2R5Iiwic2l6ZSIsInJlbmRlck9wdGlvbkNvbnRlbnQiLCJfcmVmNCIsInN0eWxlIiwiZmxleCIsIm1pbldpZHRoIiwiQ291bnRyeVNlbGVjdCIsImV4cG9ydHMiLCJtZW1vIiwiZGlzcGxheU5hbWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBV0EsSUFBQUEsV0FBQSxHQUFBQyxPQUFBO0FDWEEsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsS0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsT0FBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksV0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssV0FBQSxHQUFBTCxPQUFBO0FESkEsSUFBSU0sTUFBTSxHQUFJLFVBQVEsU0FBS0EsTUFBTSxJQUFLLFVBQVVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFO0VBQ2xELElBQUlDLENBQUMsR0FBRyxDQUFDLENBQUM7RUFDVixLQUFLLElBQUlDLENBQUMsSUFBSUgsQ0FBQyxFQUFFLElBQUlJLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ1AsQ0FBQyxFQUFFRyxDQUFDLENBQUMsSUFBSUYsQ0FBQyxDQUFDTyxPQUFPLENBQUNMLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFDL0VELENBQUMsQ0FBQ0MsQ0FBQyxDQUFDLEdBQUdILENBQUMsQ0FBQ0csQ0FBQyxDQUFDO0VBQ2YsSUFBSUgsQ0FBQyxJQUFJLElBQUksSUFBSSxPQUFPSSxNQUFNLENBQUNLLHFCQUFxQixLQUFLLFVBQVUsRUFDL0QsS0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxFQUFFUCxDQUFD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QUFBO01BQUEsSUFBSVQsUUFBUSxHQUFBUyxLQUFBLENBQVJULFFBQVE7UUFBRWxDLFFBQVEsR0FBQTJDLEtBQUEsQ0FBUjNDLFFBQVE7TUFBQTtRQUNoRDtRQUNBO1FBQ0EsSUFBQW1DLGdCQUFBLEVBQUNDLFVBQUksRUFBQTtVQUFDQyxLQUFLLEVBQUMsUUFBUTtVQUFDQyxHQUFHLEVBQUUsQ0FBQztVQUFFTSxLQUFLLEVBQUU7WUFBRUMsSUFBSSxFQUFFLFVBQVU7WUFBRUMsUUFBUSxFQUFFO1VBQUMsQ0FBRTtVQUFBUCxRQUFBLEVBQUEsQ0FDbEU5QixVQUFVLENBQUN1QixNQUFNLENBQUM1QixLQUFLLEVBQUVKLFFBQVEsQ0FBQyxFQUNuQyxJQUFBVSxlQUFBLEVBQUM4QiwwQkFBYyxFQUFBO1lBQUNDLElBQUksRUFBRVAsUUFBUTtZQUFFVixNQUFNLEVBQUVBLE1BQU07WUFBRXhCLFFBQVEsRUFBRUEsUUFBUTtZQUFBdUMsUUFBQSxFQUMvRFAsTUFBTSxDQUFDM0I7VUFBSyxDQUFBLENBQ0U7UUFBQSxDQUFBO01BQ1o7SUFBQTtFQUNSLENBQUEsQ0FBQSxDQUNEO0FBRU4sQ0FBQztBQUVNLElBQU0wQyxhQUFhLEdBQUFDLE9BQUEsQ0FBQUQsYUFBQSxnQkFBRyxJQUFBRSxXQUFJLEVBQUNsQyxpQkFBaUIsQ0FBQztBQUNwRDtBQUNBO0FBQ0E7QUFDQWdDLGFBQWEsQ0FBQ0csV0FBVyxHQUFHLGVBQWUiLCJmaWxlIjoiYnVzaW5lc3MvU2VsZWN0L0NvdW50cnkvQ291bnRyeVNlbGVjdC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vLCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgRmxleCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvRmxleCc7XG5pbXBvcnQgeyBTZWxlY3QgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL1NlbGVjdCc7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5Qm9keSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvVHlwb2dyYXBoeSc7XG5pbXBvcnQgeyBqb2luQ2xzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5jb25zdCBXUkFQX0NMUyA9ICdvbS1jb3VudHJ5LXNlbGVjdCc7XG5jb25zdCBGTEFHX0NMUyA9IGAke1dSQVBfQ0xTfS1mbGFnYDtcbmNvbnN0IEZMQUdfRElTQUJMRURfQ0xTID0gYCR7RkxBR19DTFN9LWRpc2FibGVkYDtcbmNvbnN0IFVTX0NPREUgPSAnVVMnO1xuY29uc3QgREVGQVVMVF9VTkFWQUlMQUJMRV9MQUJFTCA9ICdOb3QgYXZhaWxhYmxlJztcbmNvbnN0IHRvSXRlbXMgPSAob3B0aW9ucykgPT4gQXJyYXkuaXNBcnJheShvcHRpb25zKVxuICAgID8gb3B0aW9uc1xuICAgIDogT2JqZWN0LmVudHJpZXMob3B0aW9ucyAhPT0gbnVsbCAmJiBvcHRpb25zICE9PSB2b2lkIDAgPyBvcHRpb25zIDoge30pLm1hcCgoW2NvZGUsIG5hbWVdKSA9PiAoeyBjb2RlLCBuYW1lIH0pKTtcbmNvbnN0IGJ5VXNUaGVuTmFtZSA9IChhLCBiKSA9PiBhLmNvZGUgPT09IFVTX0NPREUgPyAtMSA6IGIuY29kZSA9PT0gVVNfQ09ERSA/IDEgOiBhLm5hbWUubG9jYWxlQ29tcGFyZShiLm5hbWUpO1xuY29uc3QgdG9PcHRpb24gPSAoY291bnRyeSkgPT4ge1xuICAgIHZhciBfYTtcbiAgICAvLyBGYWlsIGNsb3NlZDogb25seSBhbiBhYnNlbnQgc3RhdHVzIG9yIGFuIGV4cGxpY2l0IEFWQUlMQUJMRSBzdGF5c1xuICAgIC8vIHNlbGVjdGFibGUsIHNvIGEgc3RhdHVzIHRoaXMgdmVyc2lvbiBkb2VzIG5vdCBrbm93IHN0YXlzIHVuc2VsZWN0YWJsZS5cbiAgICBjb25zdCBkaXNhYmxlZCA9IGNvdW50cnkuc3RhdHVzICE9PSB1bmRlZmluZWQgJiYgY291bnRyeS5zdGF0dXMgIT09ICdBVkFJTEFCTEUnO1xuICAgIHJldHVybiBPYmplY3QuYXNzaWduKHsgdmFsdWU6IGNvdW50cnkuY29kZSwgbGFiZWw6IGNvdW50cnkubmFtZSwgc2VhcmNoVGV4dDogYCR7Y291bnRyeS5uYW1lfSAke2NvdW50cnkuY29kZX1gLCBkaXNhYmxlZCB9LCAoZGlzYWJsZWRcbiAgICAgICAgPyB7IGJhZGdlOiB7IGxhYmVsOiAoX2EgPSBjb3VudHJ5LnVuYXZhaWxhYmxlTGFiZWwpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IERFRkFVTFRfVU5BVkFJTEFCTEVfTEFCRUwgfSB9XG4gICAgICAgIDoge30pKTtcbn07XG5jb25zdCByZW5kZXJGbGFnID0gKGNvZGUsIGRpc2FibGVkKSA9PiAoX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGpvaW5DbHMoRkxBR19DTFMsIGBmaSBmaXMgZmktJHtTdHJpbmcoY29kZSkudG9Mb3dlckNhc2UoKX1gLCBkaXNhYmxlZCAmJiBGTEFHX0RJU0FCTEVEX0NMUyksIFwiYXJpYS1oaWRkZW5cIjogdHJ1ZSB9KSk7XG5jb25zdCBDb3VudHJ5U2VsZWN0QmFzZSA9IChfYSkgPT4ge1xuICAgIHZhciB7IG9wdGlvbnMsIGNsYXNzTmFtZSwgbGFiZWwgPSAnQ291bnRyeScsIHBsYWNlaG9sZGVyID0gJ1NlbGVjdCBjb3VudHJ5Jywgc2VhcmNoYWJsZSA9IHRydWUsIGZpbHRlcklucHV0QXV0b0ZvY3VzID0gdHJ1ZSwgc3Ryb25nID0gdHJ1ZSB9ID0gX2EsIHJlc3QgPSBfX3Jlc3QoX2EsIFtcIm9wdGlvbnNcIiwgXCJjbGFzc05hbWVcIiwgXCJsYWJlbFwiLCBcInBsYWNlaG9sZGVyXCIsIFwic2VhcmNoYWJsZVwiLCBcImZpbHRlcklucHV0QXV0b0ZvY3VzXCIsIFwic3Ryb25nXCJdKTtcbiAgICBjb25zdCBjb3VudHJpZXMgPSB1c2VNZW1vKCgpID0+IHRvSXRlbXMob3B0aW9ucykuc2xpY2UoKS5zb3J0KGJ5VXNUaGVuTmFtZSkubWFwKHRvT3B0aW9uKSwgW29wdGlvbnNdKTtcbiAgICByZXR1cm4gKF9qc3goU2VsZWN0LCBPYmplY3QuYXNzaWduKHt9LCByZXN0LCB7IGxhYmVsOiBsYWJlbCwgcGxhY2Vob2xkZXI6IHBsYWNlaG9sZGVyLCBzZWFyY2hhYmxlOiBzZWFyY2hhYmxlLCBmaWx0ZXJJbnB1dEF1dG9Gb2N1czogZmlsdGVySW5wdXRBdXRvRm9jdXMsIGNsYXNzTmFtZTogam9pbkNscyhXUkFQX0NMUywgY2xhc3NOYW1lKSwgb3B0aW9uczogY291bnRyaWVzLCByZW5kZXJWYWx1ZTogKG9wdGlvbiwgeyBmb250U2l6ZSB9KSA9PiAhb3B0aW9uIHx8IEFycmF5LmlzQXJyYXkob3B0aW9uKSA/IChwbGFjZWhvbGRlcikgOiAoX2pzeHMoRmxleCwgeyBhbGlnbjogJ2NlbnRlcicsIGdhcDogOCwgY2hpbGRyZW46IFtyZW5kZXJGbGFnKG9wdGlvbi52YWx1ZSwgZmFsc2UpLCBfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6IGZvbnRTaXplLCBzdHJvbmc6IHN0cm9uZywgY2hpbGRyZW46IG9wdGlvbi5sYWJlbCB9KV0gfSkpLCByZW5kZXJPcHRpb25Db250ZW50OiAob3B0aW9uLCB7IGZvbnRTaXplLCBkaXNhYmxlZCB9KSA9PiAoXG4gICAgICAgIC8vIGBmbGV4OiAxYCAobm90IHdpZHRoIDEwMCUpIHNvIGBTZWxlY3RgIGNhbiBsYXkgdGhlIGF2YWlsYWJpbGl0eSB0YWdcbiAgICAgICAgLy8gYW5kIHRoZSBzZWxlY3RlZCBjaGVjayBvdXQgYWZ0ZXIgdGhpcyBjb250ZW50LlxuICAgICAgICBfanN4cyhGbGV4LCB7IGFsaWduOiAnY2VudGVyJywgZ2FwOiA4LCBzdHlsZTogeyBmbGV4OiAnMSAxIGF1dG8nLCBtaW5XaWR0aDogMCB9LCBjaGlsZHJlbjogW3JlbmRlckZsYWcob3B0aW9uLnZhbHVlLCBkaXNhYmxlZCksIF9qc3goVHlwb2dyYXBoeUJvZHksIHsgc2l6ZTogZm9udFNpemUsIHN0cm9uZzogc3Ryb25nLCBkaXNhYmxlZDogZGlzYWJsZWQsIGNoaWxkcmVuOiBvcHRpb24ubGFiZWwgfSldIH0pKSB9KSkpO1xufTtcbmV4cG9ydCBjb25zdCBDb3VudHJ5U2VsZWN0ID0gbWVtbyhDb3VudHJ5U2VsZWN0QmFzZSk7XG4vLyBQcm9Gb3JtLkl0ZW0gcmVjb2duaXplcyBmb3JtIGNvbnRyb2xzIGJ5IGRpc3BsYXlOYW1lIChGT1JNX0NPTVBPTkVOVF9OQU1FUyk7XG4vLyBtZW1vKCkgd2lwZXMgdGhlIGluZmVycmVkIG5hbWUsIHNvIHdpdGhvdXQgdGhpcyB0aGUgSXRlbSBzaWxlbnRseSBza2lwc1xuLy8gdmFsdWUvb25DaGFuZ2UgaW5qZWN0aW9uIHVubGVzcyB0aGUgY2FsbCBzaXRlIGhhcHBlbnMgdG8gcGFzcyBhIHBsYWNlaG9sZGVyLlxuQ291bnRyeVNlbGVjdC5kaXNwbGF5TmFtZSA9ICdDb3VudHJ5U2VsZWN0JzsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -1,26 +1,42 @@
1
1
  import type { SelectProps } from "../../../components/Select";
2
+ /**
3
+ * Whether a country can be selected. Consumers must treat any value they do not
4
+ * recognise as not selectable, so a future variant cannot slip through as valid.
5
+ */
6
+ export type CountryAvailability = 'AVAILABLE' | 'NOT_AVAILABLE';
7
+ export interface CountryItem {
8
+ /** ISO-3166-1 alpha-2, e.g. `US`. */
9
+ code: string;
10
+ name: string;
11
+ /** Omitted means selectable. Anything other than `AVAILABLE` disables the option. */
12
+ status?: CountryAvailability;
13
+ /**
14
+ * Tag text shown on a disabled option.
15
+ * @default 'Not available'
16
+ */
17
+ unavailableLabel?: string;
18
+ }
2
19
  export interface CountrySelectProps extends Omit<SelectProps, 'options' | 'renderValue' | 'renderOption' | 'renderOptionContent'> {
3
20
  /**
4
- * Map of ISO-3166-1 alpha-2 country code (e.g. `US`, `GB`) to display name
5
- * the shape returned by typical country/i18n APIs. The component sorts
6
- * entries with `US` pinned to the top and the rest alphabetically, and
7
- * renders each option with its flag via the `flag-icons` CSS class
8
- * `fi fi-<lowercase-code>`. Consumers must import
21
+ * Either a plain `code name` map, or `CountryItem[]` when options carry an
22
+ * availability status. Both forms sort with `US` pinned to the top and the
23
+ * rest alphabetically, and render each option with its flag via the
24
+ * `flag-icons` classes `fi fis fi-<lowercase-code>`. Consumers must import
9
25
  * `flag-icons/css/flag-icons.css` at their app entry.
10
26
  *
11
27
  * @example
12
- * ```ts
13
- * const countries: Record<string, string> = {
14
- * US: 'United States',
15
- * GB: 'United Kingdom',
16
- * JP: 'Japan',
17
- * AD: 'Andorra',
18
- * // ...
19
- * };
20
- * <CountrySelect options={countries} />
28
+ * ```tsx
29
+ * <CountrySelect options={{ US: 'United States', GB: 'United Kingdom' }} />
30
+ *
31
+ * <CountrySelect
32
+ * options={[
33
+ * { code: 'US', name: 'United States', status: 'AVAILABLE' },
34
+ * { code: 'RU', name: 'Russia', status: 'NOT_AVAILABLE' },
35
+ * ]}
36
+ * />
21
37
  * ```
22
38
  */
23
- options: Record<string, string>;
39
+ options: Record<string, string> | CountryItem[];
24
40
  /**
25
41
  * Bold the country name in both the trigger and the dropdown options.
26
42
  * @default true
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Retrieves the spacing value for a given token key.
3
+ *
4
+ * @param {string} $key - The spacing token key (e.g., '100', '200').
5
+ * @return {length|null} The computed spacing value or null if the key is invalid.
6
+ * @example
7
+ * .element {
8
+ * padding: om-spacing-token('200'); // Returns 8px if $om-sys-spacing-unit is 4px
9
+ * }
10
+ */
11
+ /**
12
+ * Computes the spacing value based on a token key or a direct length value.
13
+ *
14
+ * @param {string|length} $value - The spacing token key (e.g., '100') or a direct length value (e.g., '16px').
15
+ * @return {length} The computed spacing value.
16
+ * @example
17
+ * .element {
18
+ * margin: om-spacing-value('300'); // Returns 12px if $om-sys-spacing-unit is 4px
19
+ * padding: om-spacing-value(16px); // Returns 16px
20
+ * gap: om-spacing-value(2); // Returns 8px if $om-sys-spacing-unit is 4px
21
+ * }
22
+ */
23
+ .om-country-select-flag.fi.fis {
24
+ flex: 0 0 auto;
25
+ width: 24px;
26
+ height: 24px;
27
+ background-size: cover;
28
+ border-radius: var(--om-radius-full, 9999px);
29
+ }
30
+
31
+ .om-country-select-flag-disabled {
32
+ opacity: 0.4;
33
+ }
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ require("./CountrySelect.css");
4
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL1NlbGVjdC9Db3VudHJ5L3NyYy9idXNpbmVzcy9TZWxlY3QvQ291bnRyeS9zdHlsZS9pbmRleC50cyJdLCJuYW1lcyI6WyJyZXF1aXJlIl0sIm1hcHBpbmdzIjoiOztBQUFBQSxPQUFBIiwiZmlsZSI6ImJ1c2luZXNzL1NlbGVjdC9Db3VudHJ5L3N0eWxlL2Nzcy5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -0,0 +1 @@
1
+ import './CountrySelect.css';
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ require("./CountrySelect.css");
4
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL1NlbGVjdC9Db3VudHJ5L3NyYy9idXNpbmVzcy9TZWxlY3QvQ291bnRyeS9zdHlsZS9pbmRleC50cyJdLCJuYW1lcyI6WyJyZXF1aXJlIl0sIm1hcHBpbmdzIjoiOztBQUFBQSxPQUFBIiwiZmlsZSI6ImJ1c2luZXNzL1NlbGVjdC9Db3VudHJ5L3N0eWxlL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9