@payloadcms/ui 3.0.0-alpha.2 → 3.0.0-alpha.21

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 (530) hide show
  1. package/dist/@types/assets.d.js +0 -1
  2. package/dist/config.js +2 -12
  3. package/dist/elements/ArrayAction/index.js +25 -81
  4. package/dist/elements/ArrayAction/types.js +2 -5
  5. package/dist/elements/Autosave/index.js +37 -92
  6. package/dist/elements/Autosave/types.js +2 -5
  7. package/dist/elements/Banner/index.js +10 -34
  8. package/dist/elements/Banner/types.js +2 -5
  9. package/dist/elements/Button/index.js +34 -93
  10. package/dist/elements/Button/types.js +2 -5
  11. package/dist/elements/Card/index.js +9 -24
  12. package/dist/elements/Card/types.js +2 -5
  13. package/dist/elements/CodeEditor/CodeEditor.js +10 -25
  14. package/dist/elements/CodeEditor/index.js +8 -59
  15. package/dist/elements/CodeEditor/types.js +2 -5
  16. package/dist/elements/Collapsible/index.js +26 -82
  17. package/dist/elements/Collapsible/provider.js +7 -66
  18. package/dist/elements/Collapsible/types.js +2 -5
  19. package/dist/elements/ColumnSelector/index.js +20 -76
  20. package/dist/elements/ColumnSelector/types.js +2 -5
  21. package/dist/elements/CopyToClipboard/index.js +14 -65
  22. package/dist/elements/CopyToClipboard/types.js +2 -5
  23. package/dist/elements/DatePicker/DatePicker.js +19 -75
  24. package/dist/elements/DatePicker/index.js +8 -59
  25. package/dist/elements/DatePicker/types.js +2 -5
  26. package/dist/elements/DeleteDocument/index.js +36 -86
  27. package/dist/elements/DeleteDocument/types.js +2 -5
  28. package/dist/elements/DeleteMany/index.js +38 -102
  29. package/dist/elements/DeleteMany/types.js +2 -5
  30. package/dist/elements/DocumentControls/index.js +46 -102
  31. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  32. package/dist/elements/DocumentDrawer/DrawerContent.js +62 -114
  33. package/dist/elements/DocumentDrawer/index.js +33 -98
  34. package/dist/elements/DocumentDrawer/types.js +2 -5
  35. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  36. package/dist/elements/DocumentFields/index.js +16 -31
  37. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +4 -14
  38. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts.map +1 -1
  39. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +17 -26
  40. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +9 -68
  41. package/dist/elements/DocumentHeader/Tabs/getCustomViews.js +5 -15
  42. package/dist/elements/DocumentHeader/Tabs/getViewConfig.js +2 -12
  43. package/dist/elements/DocumentHeader/Tabs/index.js +18 -33
  44. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +8 -23
  45. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +5 -23
  46. package/dist/elements/DocumentHeader/index.js +10 -66
  47. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +7 -66
  48. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js +2 -5
  49. package/dist/elements/DraggableSortable/index.js +15 -66
  50. package/dist/elements/DraggableSortable/types.js +2 -5
  51. package/dist/elements/DraggableSortable/useDraggableSortable/index.js +4 -14
  52. package/dist/elements/DraggableSortable/useDraggableSortable/types.js +2 -5
  53. package/dist/elements/Drawer/index.d.ts +1 -1
  54. package/dist/elements/Drawer/index.js +32 -94
  55. package/dist/elements/Drawer/types.js +2 -5
  56. package/dist/elements/Drawer/useDrawerSlug.js +8 -18
  57. package/dist/elements/Dropzone/index.js +20 -35
  58. package/dist/elements/DuplicateDocument/index.js +33 -83
  59. package/dist/elements/DuplicateDocument/types.js +2 -5
  60. package/dist/elements/EditMany/index.d.ts.map +1 -1
  61. package/dist/elements/EditMany/index.js +72 -125
  62. package/dist/elements/EditMany/types.js +2 -5
  63. package/dist/elements/EditUpload/index.js +66 -122
  64. package/dist/elements/ErrorPill/index.js +7 -22
  65. package/dist/elements/ErrorPill/types.js +2 -5
  66. package/dist/elements/FieldSelect/index.js +23 -79
  67. package/dist/elements/FileDetails/FileMeta/index.js +19 -75
  68. package/dist/elements/FileDetails/FileMeta/types.js +2 -5
  69. package/dist/elements/FileDetails/index.js +15 -30
  70. package/dist/elements/FileDetails/types.js +2 -5
  71. package/dist/elements/GenerateConfirmation/index.js +22 -37
  72. package/dist/elements/GenerateConfirmation/types.js +2 -5
  73. package/dist/elements/GetFilterOptions/index.js +18 -33
  74. package/dist/elements/Gutter/index.js +5 -56
  75. package/dist/elements/Hamburger/index.js +18 -33
  76. package/dist/elements/Header/index.js +39 -95
  77. package/dist/elements/HydrateClientUser/index.js +6 -16
  78. package/dist/elements/IDLabel/index.js +5 -20
  79. package/dist/elements/ListControls/getTextFieldsToBeSearched.js +6 -16
  80. package/dist/elements/ListControls/index.js +52 -104
  81. package/dist/elements/ListControls/types.js +2 -5
  82. package/dist/elements/ListDrawer/DrawerContent.js +72 -128
  83. package/dist/elements/ListDrawer/index.js +32 -100
  84. package/dist/elements/ListDrawer/types.js +2 -5
  85. package/dist/elements/ListSelection/index.js +11 -62
  86. package/dist/elements/Loading/index.js +25 -51
  87. package/dist/elements/LoadingOverlay/index.js +17 -79
  88. package/dist/elements/LoadingOverlay/reducer.js +3 -21
  89. package/dist/elements/LoadingOverlay/types.js +2 -5
  90. package/dist/elements/Localizer/LocalizerLabel/index.js +15 -30
  91. package/dist/elements/Localizer/index.d.ts.map +1 -1
  92. package/dist/elements/Localizer/index.js +37 -95
  93. package/dist/elements/Logout/index.js +13 -28
  94. package/dist/elements/Nav/NavHamburger/index.js +8 -23
  95. package/dist/elements/Nav/NavToggler/index.js +13 -28
  96. package/dist/elements/Nav/NavWrapper/index.js +8 -23
  97. package/dist/elements/Nav/context.js +20 -82
  98. package/dist/elements/Nav/index.js +36 -51
  99. package/dist/elements/NavGroup/index.js +21 -77
  100. package/dist/elements/Pagination/ClickableArrow/index.js +7 -22
  101. package/dist/elements/Pagination/ClickableArrow/types.js +2 -5
  102. package/dist/elements/Pagination/Page/index.js +4 -19
  103. package/dist/elements/Pagination/Page/types.js +2 -5
  104. package/dist/elements/Pagination/Separator/index.js +4 -19
  105. package/dist/elements/Pagination/index.js +20 -35
  106. package/dist/elements/Pagination/types.js +2 -5
  107. package/dist/elements/PerPage/index.js +28 -83
  108. package/dist/elements/Pill/index.js +16 -40
  109. package/dist/elements/Pill/types.js +2 -5
  110. package/dist/elements/Popup/PopupButtonList/index.js +10 -75
  111. package/dist/elements/Popup/PopupTrigger/index.js +6 -21
  112. package/dist/elements/Popup/PopupTrigger/types.js +2 -5
  113. package/dist/elements/Popup/index.js +29 -80
  114. package/dist/elements/Popup/types.js +2 -5
  115. package/dist/elements/PreviewButton/index.js +22 -73
  116. package/dist/elements/PreviewSizes/index.js +24 -80
  117. package/dist/elements/Publish/index.js +23 -79
  118. package/dist/elements/PublishMany/index.js +37 -93
  119. package/dist/elements/PublishMany/types.js +2 -5
  120. package/dist/elements/ReactSelect/ClearIndicator/index.js +7 -22
  121. package/dist/elements/ReactSelect/Control/index.js +5 -20
  122. package/dist/elements/ReactSelect/MultiValue/index.js +8 -23
  123. package/dist/elements/ReactSelect/MultiValueLabel/index.js +7 -22
  124. package/dist/elements/ReactSelect/MultiValueRemove/index.js +12 -27
  125. package/dist/elements/ReactSelect/SingleValue/index.js +5 -20
  126. package/dist/elements/ReactSelect/ValueContainer/index.js +7 -22
  127. package/dist/elements/ReactSelect/index.js +45 -60
  128. package/dist/elements/ReactSelect/types.js +2 -5
  129. package/dist/elements/RenderCustomComponent/index.js +5 -20
  130. package/dist/elements/RenderCustomComponent/types.js +2 -5
  131. package/dist/elements/RenderTitle/index.js +9 -24
  132. package/dist/elements/RenderTitle/types.js +2 -5
  133. package/dist/elements/Save/index.js +16 -72
  134. package/dist/elements/SaveDraft/index.js +24 -80
  135. package/dist/elements/SearchFilter/index.js +31 -86
  136. package/dist/elements/SearchFilter/types.js +2 -5
  137. package/dist/elements/SelectAll/index.d.ts.map +1 -1
  138. package/dist/elements/SelectAll/index.js +13 -26
  139. package/dist/elements/SelectRow/index.d.ts.map +1 -1
  140. package/dist/elements/SelectRow/index.js +10 -23
  141. package/dist/elements/ShimmerEffect/index.js +12 -71
  142. package/dist/elements/SortColumn/index.js +27 -90
  143. package/dist/elements/SortColumn/types.js +2 -5
  144. package/dist/elements/SortComplex/index.js +35 -90
  145. package/dist/elements/SortComplex/types.js +2 -5
  146. package/dist/elements/Status/index.js +38 -88
  147. package/dist/elements/StayLoggedIn/index.js +20 -34
  148. package/dist/elements/StayLoggedIn/types.js +2 -5
  149. package/dist/elements/StepNav/SetStepNav.js +6 -16
  150. package/dist/elements/StepNav/index.js +27 -93
  151. package/dist/elements/StepNav/types.js +2 -5
  152. package/dist/elements/Table/TableCellProvider/index.js +9 -32
  153. package/dist/elements/Table/index.js +15 -38
  154. package/dist/elements/Table/types.js +2 -5
  155. package/dist/elements/TableColumns/buildColumns.d.ts.map +1 -1
  156. package/dist/elements/TableColumns/buildColumns.js +7 -16
  157. package/dist/elements/TableColumns/columnReducer.js +2 -12
  158. package/dist/elements/TableColumns/index.js +24 -86
  159. package/dist/elements/Thumbnail/index.js +12 -68
  160. package/dist/elements/Thumbnail/types.js +2 -5
  161. package/dist/elements/ThumbnailCard/index.js +13 -28
  162. package/dist/elements/ThumbnailCard/types.js +2 -5
  163. package/dist/elements/Tooltip/index.js +14 -65
  164. package/dist/elements/Tooltip/types.js +2 -5
  165. package/dist/elements/Translation/index.js +7 -58
  166. package/dist/elements/UnpublishMany/index.js +37 -93
  167. package/dist/elements/UnpublishMany/types.js +2 -5
  168. package/dist/elements/Upload/index.js +57 -127
  169. package/dist/elements/Upload/types.d.ts +1 -2
  170. package/dist/elements/Upload/types.d.ts.map +1 -1
  171. package/dist/elements/Upload/types.js +2 -5
  172. package/dist/elements/ViewDescription/index.js +12 -27
  173. package/dist/elements/ViewDescription/types.js +4 -19
  174. package/dist/elements/WhereBuilder/Condition/Date/index.js +6 -21
  175. package/dist/elements/WhereBuilder/Condition/Date/types.js +2 -5
  176. package/dist/elements/WhereBuilder/Condition/Number/index.js +7 -22
  177. package/dist/elements/WhereBuilder/Condition/Number/types.js +2 -5
  178. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +28 -84
  179. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js +5 -15
  180. package/dist/elements/WhereBuilder/Condition/Relationship/types.js +2 -5
  181. package/dist/elements/WhereBuilder/Condition/Select/index.js +15 -30
  182. package/dist/elements/WhereBuilder/Condition/Select/types.js +2 -5
  183. package/dist/elements/WhereBuilder/Condition/Text/index.js +7 -22
  184. package/dist/elements/WhereBuilder/Condition/Text/types.js +2 -5
  185. package/dist/elements/WhereBuilder/Condition/index.js +37 -93
  186. package/dist/elements/WhereBuilder/Condition/types.js +2 -5
  187. package/dist/elements/WhereBuilder/field-types.js +2 -12
  188. package/dist/elements/WhereBuilder/index.js +43 -98
  189. package/dist/elements/WhereBuilder/reducer.js +2 -12
  190. package/dist/elements/WhereBuilder/transformWhereQuery.js +6 -12
  191. package/dist/elements/WhereBuilder/types.js +2 -5
  192. package/dist/elements/WhereBuilder/validateWhereQuery.js +4 -14
  193. package/dist/exports/assets.js +3 -26
  194. package/dist/exports/elements.d.ts +6 -0
  195. package/dist/exports/elements.d.ts.map +1 -1
  196. package/dist/exports/elements.js +48 -225
  197. package/dist/exports/forms.d.ts +4 -1
  198. package/dist/exports/forms.d.ts.map +1 -1
  199. package/dist/exports/forms.js +38 -157
  200. package/dist/exports/graphics.js +3 -26
  201. package/dist/exports/hooks.js +10 -54
  202. package/dist/exports/icons.js +18 -81
  203. package/dist/exports/index.js +10 -27
  204. package/dist/exports/providers.d.ts +1 -0
  205. package/dist/exports/providers.d.ts.map +1 -1
  206. package/dist/exports/providers.js +24 -115
  207. package/dist/exports/templates.js +3 -21
  208. package/dist/exports/types.d.ts +1 -0
  209. package/dist/exports/types.d.ts.map +1 -1
  210. package/dist/exports/types.js +2 -5
  211. package/dist/exports/utilities.js +11 -61
  212. package/dist/forms/Error/index.js +11 -26
  213. package/dist/forms/FieldDescription/index.js +9 -24
  214. package/dist/forms/FieldDescription/types.js +2 -5
  215. package/dist/forms/FieldPathProvider/index.d.ts.map +1 -1
  216. package/dist/forms/FieldPathProvider/index.js +7 -30
  217. package/dist/forms/Form/buildFieldSchemaMap.js +14 -14
  218. package/dist/forms/Form/buildInitialState.js +2 -12
  219. package/dist/forms/Form/context.js +17 -67
  220. package/dist/forms/Form/createNestedFieldPath.js +5 -15
  221. package/dist/forms/Form/errorMessages.js +2 -12
  222. package/dist/forms/Form/fieldReducer.d.ts +2 -1
  223. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  224. package/dist/forms/Form/fieldReducer.js +25 -38
  225. package/dist/forms/Form/getDataByPath.d.ts +1 -1
  226. package/dist/forms/Form/getDataByPath.d.ts.map +1 -1
  227. package/dist/forms/Form/getDataByPath.js +4 -14
  228. package/dist/forms/Form/getSiblingData.d.ts +1 -2
  229. package/dist/forms/Form/getSiblingData.d.ts.map +1 -1
  230. package/dist/forms/Form/getSiblingData.js +6 -21
  231. package/dist/forms/Form/index.d.ts.map +1 -1
  232. package/dist/forms/Form/index.js +85 -141
  233. package/dist/forms/Form/initContextState.d.ts.map +1 -1
  234. package/dist/forms/Form/initContextState.js +2 -12
  235. package/dist/forms/Form/mergeServerFormState.d.ts +1 -1
  236. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  237. package/dist/forms/Form/mergeServerFormState.js +5 -15
  238. package/dist/forms/Form/reduceFieldsToValues.d.ts +1 -2
  239. package/dist/forms/Form/reduceFieldsToValues.d.ts.map +1 -1
  240. package/dist/forms/Form/reduceFieldsToValues.js +4 -14
  241. package/dist/forms/Form/rows.d.ts +1 -1
  242. package/dist/forms/Form/rows.d.ts.map +1 -1
  243. package/dist/forms/Form/rows.js +3 -21
  244. package/dist/forms/Form/types.d.ts +2 -23
  245. package/dist/forms/Form/types.d.ts.map +1 -1
  246. package/dist/forms/Form/types.js +2 -5
  247. package/dist/forms/Label/index.js +9 -24
  248. package/dist/forms/NullifyField/index.d.ts.map +1 -1
  249. package/dist/forms/NullifyField/index.js +16 -72
  250. package/dist/forms/ReadOnlyProvider/index.d.ts +7 -0
  251. package/dist/forms/ReadOnlyProvider/index.d.ts.map +1 -0
  252. package/dist/forms/ReadOnlyProvider/index.js +15 -0
  253. package/dist/forms/RenderFields/RenderField.d.ts +3 -0
  254. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  255. package/dist/forms/RenderFields/RenderField.js +22 -23
  256. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  257. package/dist/forms/RenderFields/index.js +16 -29
  258. package/dist/forms/RenderFields/types.d.ts +2 -0
  259. package/dist/forms/RenderFields/types.d.ts.map +1 -1
  260. package/dist/forms/RenderFields/types.js +2 -5
  261. package/dist/forms/RowLabel/index.js +13 -28
  262. package/dist/forms/RowLabel/types.d.ts +1 -2
  263. package/dist/forms/RowLabel/types.d.ts.map +1 -1
  264. package/dist/forms/RowLabel/types.js +4 -19
  265. package/dist/forms/Submit/index.js +11 -62
  266. package/dist/forms/WatchChildErrors/buildPathSegments.js +2 -12
  267. package/dist/forms/WatchChildErrors/getFieldStateFromPaths.d.ts +1 -1
  268. package/dist/forms/WatchChildErrors/getFieldStateFromPaths.js +2 -12
  269. package/dist/forms/WatchChildErrors/getNestedFieldState.d.ts +1 -2
  270. package/dist/forms/WatchChildErrors/getNestedFieldState.d.ts.map +1 -1
  271. package/dist/forms/WatchChildErrors/getNestedFieldState.js +5 -14
  272. package/dist/forms/WatchChildErrors/index.js +11 -26
  273. package/dist/forms/fields/Array/ArrayRow.d.ts +1 -2
  274. package/dist/forms/fields/Array/ArrayRow.d.ts.map +1 -1
  275. package/dist/forms/fields/Array/ArrayRow.js +24 -39
  276. package/dist/forms/fields/Array/index.js +59 -115
  277. package/dist/forms/fields/Array/types.js +2 -5
  278. package/dist/forms/fields/Blocks/BlockRow.d.ts +1 -2
  279. package/dist/forms/fields/Blocks/BlockRow.d.ts.map +1 -1
  280. package/dist/forms/fields/Blocks/BlockRow.js +27 -42
  281. package/dist/forms/fields/Blocks/BlocksDrawer/BlockSearch/index.js +10 -25
  282. package/dist/forms/fields/Blocks/BlocksDrawer/index.js +29 -85
  283. package/dist/forms/fields/Blocks/BlocksDrawer/types.js +2 -5
  284. package/dist/forms/fields/Blocks/RowActions.js +12 -27
  285. package/dist/forms/fields/Blocks/SectionTitle/index.js +10 -25
  286. package/dist/forms/fields/Blocks/SectionTitle/types.js +2 -5
  287. package/dist/forms/fields/Blocks/index.js +78 -133
  288. package/dist/forms/fields/Blocks/types.js +2 -5
  289. package/dist/forms/fields/Checkbox/Input.d.ts.map +1 -1
  290. package/dist/forms/fields/Checkbox/Input.js +11 -33
  291. package/dist/forms/fields/Checkbox/index.js +19 -75
  292. package/dist/forms/fields/Checkbox/types.js +2 -5
  293. package/dist/forms/fields/Code/index.js +15 -71
  294. package/dist/forms/fields/Code/types.js +2 -5
  295. package/dist/forms/fields/Collapsible/index.js +31 -87
  296. package/dist/forms/fields/Collapsible/types.js +2 -5
  297. package/dist/forms/fields/ConfirmPassword/index.d.ts.map +1 -1
  298. package/dist/forms/fields/ConfirmPassword/index.js +19 -75
  299. package/dist/forms/fields/ConfirmPassword/types.js +2 -5
  300. package/dist/forms/fields/DateTime/index.js +18 -74
  301. package/dist/forms/fields/DateTime/types.js +2 -5
  302. package/dist/forms/fields/Email/index.js +19 -83
  303. package/dist/forms/fields/Email/types.js +2 -5
  304. package/dist/forms/fields/Group/index.js +32 -88
  305. package/dist/forms/fields/Group/provider.js +7 -69
  306. package/dist/forms/fields/Group/types.js +2 -5
  307. package/dist/forms/fields/HiddenInput/index.js +8 -64
  308. package/dist/forms/fields/HiddenInput/types.js +2 -5
  309. package/dist/forms/fields/JSON/index.js +20 -76
  310. package/dist/forms/fields/JSON/types.js +2 -5
  311. package/dist/forms/fields/Number/index.js +26 -82
  312. package/dist/forms/fields/Number/types.js +2 -5
  313. package/dist/forms/fields/Password/index.js +15 -79
  314. package/dist/forms/fields/Password/types.js +2 -5
  315. package/dist/forms/fields/Point/index.js +24 -80
  316. package/dist/forms/fields/Point/types.js +2 -5
  317. package/dist/forms/fields/RadioGroup/Radio/index.js +13 -28
  318. package/dist/forms/fields/RadioGroup/index.js +23 -79
  319. package/dist/forms/fields/RadioGroup/types.js +2 -5
  320. package/dist/forms/fields/Relationship/AddNew/index.js +43 -99
  321. package/dist/forms/fields/Relationship/AddNew/types.js +2 -5
  322. package/dist/forms/fields/Relationship/AddNew/useRelatedCollections.js +6 -16
  323. package/dist/forms/fields/Relationship/createRelationMap.js +2 -12
  324. package/dist/forms/fields/Relationship/findOptionsByValue.js +2 -12
  325. package/dist/forms/fields/Relationship/index.js +64 -120
  326. package/dist/forms/fields/Relationship/optionsReducer.js +7 -17
  327. package/dist/forms/fields/Relationship/select-components/MultiValueLabel/index.js +21 -72
  328. package/dist/forms/fields/Relationship/select-components/SingleValue/index.js +22 -73
  329. package/dist/forms/fields/Relationship/types.js +2 -5
  330. package/dist/forms/fields/RichText/index.js +2 -12
  331. package/dist/forms/fields/RichText/types.js +2 -5
  332. package/dist/forms/fields/Row/index.js +11 -26
  333. package/dist/forms/fields/Row/provider.js +7 -69
  334. package/dist/forms/fields/Row/types.js +2 -5
  335. package/dist/forms/fields/Select/index.js +24 -88
  336. package/dist/forms/fields/Select/types.js +2 -5
  337. package/dist/forms/fields/Tabs/Tab/index.js +13 -64
  338. package/dist/forms/fields/Tabs/index.d.ts.map +1 -1
  339. package/dist/forms/fields/Tabs/index.js +35 -91
  340. package/dist/forms/fields/Tabs/provider.js +7 -69
  341. package/dist/forms/fields/Tabs/types.js +2 -5
  342. package/dist/forms/fields/Text/Input.d.ts +18 -0
  343. package/dist/forms/fields/Text/Input.d.ts.map +1 -0
  344. package/dist/forms/fields/Text/Input.js +62 -0
  345. package/dist/forms/fields/Text/index.d.ts.map +1 -1
  346. package/dist/forms/fields/Text/index.js +44 -129
  347. package/dist/forms/fields/Text/types.d.ts +2 -2
  348. package/dist/forms/fields/Text/types.d.ts.map +1 -1
  349. package/dist/forms/fields/Text/types.js +2 -5
  350. package/dist/forms/fields/Textarea/Input.d.ts +11 -0
  351. package/dist/forms/fields/Textarea/Input.d.ts.map +1 -0
  352. package/dist/forms/fields/Textarea/Input.js +43 -0
  353. package/dist/forms/fields/Textarea/index.d.ts.map +1 -1
  354. package/dist/forms/fields/Textarea/index.js +39 -104
  355. package/dist/forms/fields/Textarea/types.js +2 -5
  356. package/dist/forms/fields/UI/index.js +2 -12
  357. package/dist/forms/fields/Upload/Input.d.ts +15 -1
  358. package/dist/forms/fields/Upload/Input.d.ts.map +1 -1
  359. package/dist/forms/fields/Upload/Input.js +127 -2
  360. package/dist/forms/fields/Upload/index.d.ts.map +1 -1
  361. package/dist/forms/fields/Upload/index.js +32 -180
  362. package/dist/forms/fields/Upload/types.js +2 -5
  363. package/dist/forms/fields/getFilterOptionsQuery.js +2 -12
  364. package/dist/forms/fields/index.js +50 -65
  365. package/dist/forms/fields/shared.d.ts +3 -3
  366. package/dist/forms/fields/shared.d.ts.map +1 -1
  367. package/dist/forms/fields/shared.js +7 -21
  368. package/dist/forms/useField/index.d.ts.map +1 -1
  369. package/dist/forms/useField/index.js +30 -41
  370. package/dist/forms/useField/types.d.ts +2 -2
  371. package/dist/forms/useField/types.d.ts.map +1 -1
  372. package/dist/forms/useField/types.js +2 -5
  373. package/dist/forms/utilities/buildStateFromSchema/addFieldStatePromise.d.ts +1 -2
  374. package/dist/forms/utilities/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
  375. package/dist/forms/utilities/buildStateFromSchema/addFieldStatePromise.js +21 -33
  376. package/dist/forms/utilities/buildStateFromSchema/buildStateFromSchema.spec.js +5 -14
  377. package/dist/forms/utilities/buildStateFromSchema/index.d.ts +1 -2
  378. package/dist/forms/utilities/buildStateFromSchema/index.d.ts.map +1 -1
  379. package/dist/forms/utilities/buildStateFromSchema/index.js +4 -14
  380. package/dist/forms/utilities/buildStateFromSchema/iterateFields.d.ts +1 -2
  381. package/dist/forms/utilities/buildStateFromSchema/iterateFields.d.ts.map +1 -1
  382. package/dist/forms/utilities/buildStateFromSchema/iterateFields.js +8 -16
  383. package/dist/forms/withCondition/WatchCondition.js +7 -57
  384. package/dist/forms/withCondition/index.js +8 -23
  385. package/dist/graphics/Account/Default/index.js +7 -22
  386. package/dist/graphics/Account/Gravatar/index.js +10 -25
  387. package/dist/graphics/Account/index.js +15 -30
  388. package/dist/graphics/DefaultBlockImage/index.js +11 -62
  389. package/dist/graphics/ExternalLink/index.js +5 -20
  390. package/dist/graphics/File/index.js +7 -22
  391. package/dist/graphics/Icon/index.js +13 -28
  392. package/dist/graphics/Logo/index.js +15 -30
  393. package/dist/graphics/Search/index.js +6 -21
  394. package/dist/hooks/useAdminThumbnail.js +5 -15
  395. package/dist/hooks/useDebounce.js +6 -16
  396. package/dist/hooks/useDebouncedCallback.js +10 -15
  397. package/dist/hooks/useDebouncedEffect.js +6 -16
  398. package/dist/hooks/useDelay.js +7 -58
  399. package/dist/hooks/useDelayedRender.js +11 -62
  400. package/dist/hooks/useHotkey.js +10 -20
  401. package/dist/hooks/useIntersect.js +7 -17
  402. package/dist/hooks/usePayloadAPI.js +17 -32
  403. package/dist/hooks/useResize.js +5 -15
  404. package/dist/hooks/useThrottledEffect.js +5 -15
  405. package/dist/hooks/useThumbnail.js +8 -18
  406. package/dist/hooks/useUseAsTitle.js +6 -16
  407. package/dist/icons/Calendar/index.js +8 -23
  408. package/dist/icons/Check/index.js +6 -21
  409. package/dist/icons/Chevron/index.js +5 -20
  410. package/dist/icons/CloseMenu/index.js +6 -21
  411. package/dist/icons/CodeBlock/index.js +5 -20
  412. package/dist/icons/Copy/index.js +6 -21
  413. package/dist/icons/DragHandle/index.js +10 -25
  414. package/dist/icons/Edit/index.js +7 -22
  415. package/dist/icons/Line/index.js +5 -20
  416. package/dist/icons/Link/index.js +6 -21
  417. package/dist/icons/LogOut/index.js +7 -22
  418. package/dist/icons/Menu/index.js +7 -22
  419. package/dist/icons/MinimizeMaximize/index.js +12 -63
  420. package/dist/icons/More/index.js +7 -22
  421. package/dist/icons/Plus/index.js +6 -21
  422. package/dist/icons/Search/index.js +6 -21
  423. package/dist/icons/Swap/index.js +8 -23
  424. package/dist/icons/X/index.js +6 -21
  425. package/dist/index.js +2 -19
  426. package/dist/providers/ActionsProvider/SetViewActions/index.d.ts +6 -0
  427. package/dist/providers/ActionsProvider/SetViewActions/index.d.ts.map +1 -0
  428. package/dist/providers/ActionsProvider/SetViewActions/index.js +18 -0
  429. package/dist/providers/ActionsProvider/index.d.ts +3 -2
  430. package/dist/providers/ActionsProvider/index.d.ts.map +1 -1
  431. package/dist/providers/ActionsProvider/index.js +13 -72
  432. package/dist/providers/Auth/index.d.ts.map +1 -1
  433. package/dist/providers/Auth/index.js +56 -132
  434. package/dist/providers/Auth/types.js +2 -5
  435. package/dist/providers/ClientFunction/index.js +14 -40
  436. package/dist/providers/ComponentMapProvider/index.d.ts +4 -0
  437. package/dist/providers/ComponentMapProvider/index.d.ts.map +1 -1
  438. package/dist/providers/ComponentMapProvider/index.js +20 -67
  439. package/dist/providers/Config/index.js +6 -65
  440. package/dist/providers/CustomProvider/index.js +9 -24
  441. package/dist/providers/DocumentEvents/index.js +7 -66
  442. package/dist/providers/DocumentEvents/types.d.ts +1 -1
  443. package/dist/providers/DocumentEvents/types.d.ts.map +1 -1
  444. package/dist/providers/DocumentEvents/types.js +2 -5
  445. package/dist/providers/DocumentInfo/SetDocumentInfo/index.js +9 -19
  446. package/dist/providers/DocumentInfo/index.js +42 -100
  447. package/dist/providers/DocumentInfo/types.d.ts +1 -2
  448. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  449. package/dist/providers/DocumentInfo/types.js +2 -5
  450. package/dist/providers/EditDepth/index.js +5 -67
  451. package/dist/providers/FormQueryParams/index.js +7 -69
  452. package/dist/providers/ListInfo/index.js +9 -68
  453. package/dist/providers/ListInfo/types.d.ts +2 -2
  454. package/dist/providers/ListInfo/types.d.ts.map +1 -1
  455. package/dist/providers/ListInfo/types.js +2 -5
  456. package/dist/providers/Locale/index.d.ts.map +1 -1
  457. package/dist/providers/Locale/index.js +56 -97
  458. package/dist/providers/OperationProvider/index.js +5 -67
  459. package/dist/providers/Params/index.js +9 -67
  460. package/dist/providers/Portal/index.js +4 -19
  461. package/dist/providers/Preferences/index.js +25 -89
  462. package/dist/providers/Root/index.d.ts +2 -1
  463. package/dist/providers/Root/index.d.ts.map +1 -1
  464. package/dist/providers/Root/index.js +31 -82
  465. package/dist/providers/SearchParams/index.d.ts.map +1 -1
  466. package/dist/providers/SearchParams/index.js +14 -77
  467. package/dist/providers/SearchParams/types.js +2 -5
  468. package/dist/providers/SelectionProvider/index.js +23 -90
  469. package/dist/providers/Theme/index.d.ts +6 -3
  470. package/dist/providers/Theme/index.d.ts.map +1 -1
  471. package/dist/providers/Theme/index.js +42 -106
  472. package/dist/providers/Theme/types.d.ts +1 -0
  473. package/dist/providers/Theme/types.d.ts.map +1 -1
  474. package/dist/providers/Theme/types.js +2 -5
  475. package/dist/providers/Theme/utilities.js +3 -21
  476. package/dist/providers/Translation/index.d.ts +1 -6
  477. package/dist/providers/Translation/index.d.ts.map +1 -1
  478. package/dist/providers/Translation/index.js +12 -69
  479. package/dist/scss/toastify.scss +0 -1
  480. package/dist/templates/Default/NavHamburger/index.js +7 -22
  481. package/dist/templates/Default/Wrapper/index.js +7 -22
  482. package/dist/templates/Default/index.js +17 -68
  483. package/dist/templates/Default/types.js +2 -5
  484. package/dist/templates/Minimal/index.js +6 -21
  485. package/dist/templates/Minimal/types.js +2 -5
  486. package/dist/utilities/api.js +4 -19
  487. package/dist/utilities/arraysHaveSameStrings.js +2 -12
  488. package/dist/utilities/buildComponentMap/index.d.ts +3 -7
  489. package/dist/utilities/buildComponentMap/index.d.ts.map +1 -1
  490. package/dist/utilities/buildComponentMap/index.js +36 -45
  491. package/dist/utilities/buildComponentMap/mapActions.d.ts +7 -0
  492. package/dist/utilities/buildComponentMap/mapActions.d.ts.map +1 -0
  493. package/dist/utilities/buildComponentMap/mapActions.js +39 -0
  494. package/dist/utilities/buildComponentMap/mapFields.d.ts +2 -5
  495. package/dist/utilities/buildComponentMap/mapFields.d.ts.map +1 -1
  496. package/dist/utilities/buildComponentMap/mapFields.js +48 -114
  497. package/dist/utilities/buildComponentMap/types.d.ts +10 -0
  498. package/dist/utilities/buildComponentMap/types.d.ts.map +1 -1
  499. package/dist/utilities/buildComponentMap/types.js +2 -5
  500. package/dist/utilities/buildFieldSchemaMap/index.js +5 -15
  501. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +9 -19
  502. package/dist/utilities/buildFieldSchemaMap/types.js +2 -5
  503. package/dist/utilities/canUseDOM.js +2 -12
  504. package/dist/utilities/findLocaleFromCode.js +4 -12
  505. package/dist/utilities/formatDate/getSupportedDateLocale.js +2 -12
  506. package/dist/utilities/formatDate/index.js +10 -69
  507. package/dist/utilities/formatDocTitle.d.ts +1 -2
  508. package/dist/utilities/formatDocTitle.d.ts.map +1 -1
  509. package/dist/utilities/formatDocTitle.js +6 -16
  510. package/dist/utilities/formatFields.js +3 -13
  511. package/dist/utilities/getFormState.d.ts +1 -2
  512. package/dist/utilities/getFormState.d.ts.map +1 -1
  513. package/dist/utilities/getFormState.js +2 -12
  514. package/dist/utilities/getOffsetTop.js +2 -12
  515. package/dist/utilities/getRequestLanguage.js +2 -12
  516. package/dist/utilities/getSupportedMonacoLocale.js +2 -12
  517. package/dist/utilities/groupNavItems.js +7 -25
  518. package/dist/utilities/scrollToID.js +2 -12
  519. package/dist/utilities/setsAreEqual.js +2 -12
  520. package/dist/utilities/withMergedProps/index.js +23 -21
  521. package/dist/views/Global/RenderCustomView.d.ts +0 -1
  522. package/dist/views/Global/RenderCustomView.js +0 -1
  523. package/package.json +7 -6
  524. package/dist/forms/FieldPathProvider/index.scss +0 -12
  525. package/dist/forms/FieldPathProvider/types.d.ts +0 -7
  526. package/dist/forms/FieldPathProvider/types.d.ts.map +0 -1
  527. package/dist/forms/FieldPathProvider/types.js +0 -6
  528. package/dist/providers/Auth/HydrateClientUser/index.d.ts +0 -7
  529. package/dist/providers/Auth/HydrateClientUser/index.d.ts.map +0 -1
  530. package/dist/providers/Auth/HydrateClientUser/index.js +0 -28
@@ -1,89 +1,33 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
- const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
12
- const _RenderCustomComponent = require("../../../elements/RenderCustomComponent");
13
- const _useDebounce = /*#__PURE__*/ _interop_require_default(require("../../../hooks/useDebounce"));
14
- const _Button = require("../../Button");
15
- const _ReactSelect = /*#__PURE__*/ _interop_require_default(require("../../ReactSelect"));
16
- const _Date = /*#__PURE__*/ _interop_require_default(require("./Date"));
17
- const _Number = /*#__PURE__*/ _interop_require_default(require("./Number"));
18
- const _Relationship = /*#__PURE__*/ _interop_require_default(require("./Relationship"));
19
- const _Select = require("./Select");
20
- const _Text = /*#__PURE__*/ _interop_require_default(require("./Text"));
21
- require("./index.scss");
22
- function _interop_require_default(obj) {
23
- return obj && obj.__esModule ? obj : {
24
- default: obj
25
- };
26
- }
27
- function _getRequireWildcardCache(nodeInterop) {
28
- if (typeof WeakMap !== "function") return null;
29
- var cacheBabelInterop = new WeakMap();
30
- var cacheNodeInterop = new WeakMap();
31
- return (_getRequireWildcardCache = function(nodeInterop) {
32
- return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
33
- })(nodeInterop);
34
- }
35
- function _interop_require_wildcard(obj, nodeInterop) {
36
- if (!nodeInterop && obj && obj.__esModule) {
37
- return obj;
38
- }
39
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
40
- return {
41
- default: obj
42
- };
43
- }
44
- var cache = _getRequireWildcardCache(nodeInterop);
45
- if (cache && cache.has(obj)) {
46
- return cache.get(obj);
47
- }
48
- var newObj = {
49
- __proto__: null
50
- };
51
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
52
- for(var key in obj){
53
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
54
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
55
- if (desc && (desc.get || desc.set)) {
56
- Object.defineProperty(newObj, key, desc);
57
- } else {
58
- newObj[key] = obj[key];
59
- }
60
- }
61
- }
62
- newObj.default = obj;
63
- if (cache) {
64
- cache.set(obj, newObj);
65
- }
66
- return newObj;
67
- }
1
+ import React, { useEffect, useState } from 'react';
2
+ import { RenderCustomComponent } from '../../../elements/RenderCustomComponent';
3
+ import useDebounce from '../../../hooks/useDebounce';
4
+ import { Button } from '../../Button';
5
+ import ReactSelect from '../../ReactSelect';
6
+ import Date from './Date';
7
+ import Number from './Number';
8
+ import Relationship from './Relationship';
9
+ import { Select } from './Select';
10
+ import Text from './Text';
11
+ import './index.scss';
68
12
  const valueFields = {
69
- Date: _Date.default,
70
- Number: _Number.default,
71
- Relationship: _Relationship.default,
72
- Select: _Select.Select,
73
- Text: _Text.default
13
+ Date,
14
+ Number,
15
+ Relationship,
16
+ Select,
17
+ Text
74
18
  };
75
19
  const baseClass = 'condition';
76
20
  const Condition = (props)=>{
77
21
  const { andIndex, dispatch, fields, orIndex, value } = props;
78
22
  const fieldName = Object.keys(value)[0];
79
- const [activeField, setActiveField] = (0, _react.useState)(()=>fields.find((field)=>fieldName === field.value));
23
+ const [activeField, setActiveField] = useState(()=>fields.find((field)=>fieldName === field.value));
80
24
  const operatorAndValue = value?.[fieldName] ? Object.entries(value[fieldName])[0] : undefined;
81
25
  const queryValue = operatorAndValue?.[1];
82
26
  const operatorValue = operatorAndValue?.[0];
83
- const [internalValue, setInternalValue] = (0, _react.useState)(queryValue);
84
- const [internalOperatorField, setInternalOperatorField] = (0, _react.useState)(operatorValue);
85
- const debouncedValue = (0, _useDebounce.default)(internalValue, 300);
86
- (0, _react.useEffect)(()=>{
27
+ const [internalValue, setInternalValue] = useState(queryValue);
28
+ const [internalOperatorField, setInternalOperatorField] = useState(operatorValue);
29
+ const debouncedValue = useDebounce(internalValue, 300);
30
+ useEffect(()=>{
87
31
  const newActiveField = fields.find(({ value: name })=>name === fieldName);
88
32
  if (newActiveField && newActiveField !== activeField) {
89
33
  setActiveField(newActiveField);
@@ -95,7 +39,7 @@ const Condition = (props)=>{
95
39
  fields,
96
40
  activeField
97
41
  ]);
98
- (0, _react.useEffect)(()=>{
42
+ useEffect(()=>{
99
43
  dispatch({
100
44
  andIndex,
101
45
  orIndex,
@@ -111,7 +55,7 @@ const Condition = (props)=>{
111
55
  const booleanSelect = [
112
56
  'exists'
113
57
  ].includes(operatorValue) || activeField.props.type === 'checkbox';
114
- const ValueComponent = booleanSelect ? _Select.Select : valueFields[activeField?.component] || valueFields.Text;
58
+ const ValueComponent = booleanSelect ? Select : valueFields[activeField?.component] || valueFields.Text;
115
59
  let valueOptions;
116
60
  if (booleanSelect) {
117
61
  valueOptions = [
@@ -121,15 +65,15 @@ const Condition = (props)=>{
121
65
  } else if (activeField?.props && 'options' in activeField.props) {
122
66
  valueOptions = activeField.props.options;
123
67
  }
124
- return /*#__PURE__*/ _react.default.createElement("div", {
68
+ return /*#__PURE__*/ React.createElement("div", {
125
69
  className: baseClass
126
- }, /*#__PURE__*/ _react.default.createElement("div", {
70
+ }, /*#__PURE__*/ React.createElement("div", {
127
71
  className: `${baseClass}__wrap`
128
- }, /*#__PURE__*/ _react.default.createElement("div", {
72
+ }, /*#__PURE__*/ React.createElement("div", {
129
73
  className: `${baseClass}__inputs`
130
- }, /*#__PURE__*/ _react.default.createElement("div", {
74
+ }, /*#__PURE__*/ React.createElement("div", {
131
75
  className: `${baseClass}__field`
132
- }, /*#__PURE__*/ _react.default.createElement(_ReactSelect.default, {
76
+ }, /*#__PURE__*/ React.createElement(ReactSelect, {
133
77
  isClearable: false,
134
78
  onChange: (field)=>{
135
79
  dispatch({
@@ -141,9 +85,9 @@ const Condition = (props)=>{
141
85
  },
142
86
  options: fields,
143
87
  value: fields.find((field)=>fieldName === field.value)
144
- })), /*#__PURE__*/ _react.default.createElement("div", {
88
+ })), /*#__PURE__*/ React.createElement("div", {
145
89
  className: `${baseClass}__operator`
146
- }, /*#__PURE__*/ _react.default.createElement(_ReactSelect.default, {
90
+ }, /*#__PURE__*/ React.createElement(ReactSelect, {
147
91
  disabled: !fieldName,
148
92
  isClearable: false,
149
93
  onChange: (operator)=>{
@@ -157,9 +101,9 @@ const Condition = (props)=>{
157
101
  },
158
102
  options: activeField.operators,
159
103
  value: activeField.operators.find((operator)=>internalOperatorField === operator.value) || null
160
- })), /*#__PURE__*/ _react.default.createElement("div", {
104
+ })), /*#__PURE__*/ React.createElement("div", {
161
105
  className: `${baseClass}__value`
162
- }, /*#__PURE__*/ _react.default.createElement(_RenderCustomComponent.RenderCustomComponent, {
106
+ }, /*#__PURE__*/ React.createElement(RenderCustomComponent, {
163
107
  CustomComponent: activeField?.props?.admin?.components?.Filter,
164
108
  DefaultComponent: ValueComponent,
165
109
  componentProps: {
@@ -170,9 +114,9 @@ const Condition = (props)=>{
170
114
  options: valueOptions,
171
115
  value: internalValue
172
116
  }
173
- }))), /*#__PURE__*/ _react.default.createElement("div", {
117
+ }))), /*#__PURE__*/ React.createElement("div", {
174
118
  className: `${baseClass}__actions`
175
- }, /*#__PURE__*/ _react.default.createElement(_Button.Button, {
119
+ }, /*#__PURE__*/ React.createElement(Button, {
176
120
  buttonStyle: "icon-label",
177
121
  className: `${baseClass}__actions-remove`,
178
122
  icon: "x",
@@ -183,7 +127,7 @@ const Condition = (props)=>{
183
127
  type: 'remove'
184
128
  }),
185
129
  round: true
186
- }), /*#__PURE__*/ _react.default.createElement(_Button.Button, {
130
+ }), /*#__PURE__*/ React.createElement(Button, {
187
131
  buttonStyle: "icon-label",
188
132
  className: `${baseClass}__actions-add`,
189
133
  icon: "plus",
@@ -198,6 +142,6 @@ const Condition = (props)=>{
198
142
  round: true
199
143
  }))));
200
144
  };
201
- const _default = Condition;
145
+ export default Condition;
202
146
 
203
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9XaGVyZUJ1aWxkZXIvQ29uZGl0aW9uL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgdHlwZSB7IEZpZWxkQ29uZGl0aW9uIH0gZnJvbSAnLi4vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFByb3BzIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHsgUmVuZGVyQ3VzdG9tQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vZWxlbWVudHMvUmVuZGVyQ3VzdG9tQ29tcG9uZW50J1xuaW1wb3J0IHVzZURlYm91bmNlIGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZURlYm91bmNlJ1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnLi4vLi4vQnV0dG9uJ1xuaW1wb3J0IFJlYWN0U2VsZWN0IGZyb20gJy4uLy4uL1JlYWN0U2VsZWN0J1xuaW1wb3J0IERhdGUgZnJvbSAnLi9EYXRlJ1xuaW1wb3J0IE51bWJlciBmcm9tICcuL051bWJlcidcbmltcG9ydCBSZWxhdGlvbnNoaXAgZnJvbSAnLi9SZWxhdGlvbnNoaXAnXG5pbXBvcnQgeyBTZWxlY3QgfSBmcm9tICcuL1NlbGVjdCdcbmltcG9ydCBUZXh0IGZyb20gJy4vVGV4dCdcbmltcG9ydCAnLi9pbmRleC5zY3NzJ1xuXG5jb25zdCB2YWx1ZUZpZWxkcyA9IHtcbiAgRGF0ZSxcbiAgTnVtYmVyLFxuICBSZWxhdGlvbnNoaXAsXG4gIFNlbGVjdCxcbiAgVGV4dCxcbn1cblxuY29uc3QgYmFzZUNsYXNzID0gJ2NvbmRpdGlvbidcblxuY29uc3QgQ29uZGl0aW9uOiBSZWFjdC5GQzxQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBhbmRJbmRleCwgZGlzcGF0Y2gsIGZpZWxkcywgb3JJbmRleCwgdmFsdWUgfSA9IHByb3BzXG4gIGNvbnN0IGZpZWxkTmFtZSA9IE9iamVjdC5rZXlzKHZhbHVlKVswXVxuICBjb25zdCBbYWN0aXZlRmllbGQsIHNldEFjdGl2ZUZpZWxkXSA9IHVzZVN0YXRlPEZpZWxkQ29uZGl0aW9uPigoKSA9PlxuICAgIGZpZWxkcy5maW5kKChmaWVsZCkgPT4gZmllbGROYW1lID09PSBmaWVsZC52YWx1ZSksXG4gIClcblxuICBjb25zdCBvcGVyYXRvckFuZFZhbHVlID0gdmFsdWU/LltmaWVsZE5hbWVdID8gT2JqZWN0LmVudHJpZXModmFsdWVbZmllbGROYW1lXSlbMF0gOiB1bmRlZmluZWRcbiAgY29uc3QgcXVlcnlWYWx1ZSA9IG9wZXJhdG9yQW5kVmFsdWU/LlsxXVxuICBjb25zdCBvcGVyYXRvclZhbHVlID0gb3BlcmF0b3JBbmRWYWx1ZT8uWzBdXG5cbiAgY29uc3QgW2ludGVybmFsVmFsdWUsIHNldEludGVybmFsVmFsdWVdID0gdXNlU3RhdGUocXVlcnlWYWx1ZSlcbiAgY29uc3QgW2ludGVybmFsT3BlcmF0b3JGaWVsZCwgc2V0SW50ZXJuYWxPcGVyYXRvckZpZWxkXSA9IHVzZVN0YXRlKG9wZXJhdG9yVmFsdWUpXG5cbiAgY29uc3QgZGVib3VuY2VkVmFsdWUgPSB1c2VEZWJvdW5jZShpbnRlcm5hbFZhbHVlLCAzMDApXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBuZXdBY3RpdmVGaWVsZCA9IGZpZWxkcy5maW5kKCh7IHZhbHVlOiBuYW1lIH0pID0+IG5hbWUgPT09IGZpZWxkTmFtZSlcblxuICAgIGlmIChuZXdBY3RpdmVGaWVsZCAmJiBuZXdBY3RpdmVGaWVsZCAhPT0gYWN0aXZlRmllbGQpIHtcbiAgICAgIHNldEFjdGl2ZUZpZWxkKG5ld0FjdGl2ZUZpZWxkKVxuICAgICAgc2V0SW50ZXJuYWxPcGVyYXRvckZpZWxkKG51bGwpXG4gICAgICBzZXRJbnRlcm5hbFZhbHVlKCcnKVxuICAgIH1cbiAgfSwgW2ZpZWxkTmFtZSwgZmllbGRzLCBhY3RpdmVGaWVsZF0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBkaXNwYXRjaCh7XG4gICAgICBhbmRJbmRleCxcbiAgICAgIG9ySW5kZXgsXG4gICAgICB0eXBlOiAndXBkYXRlJyxcbiAgICAgIHZhbHVlOiBkZWJvdW5jZWRWYWx1ZSB8fCAnJyxcbiAgICB9KVxuICB9LCBbZGVib3VuY2VkVmFsdWUsIGRpc3BhdGNoLCBvckluZGV4LCBhbmRJbmRleF0pXG5cbiAgY29uc3QgYm9vbGVhblNlbGVjdCA9IFsnZXhpc3RzJ10uaW5jbHVkZXMob3BlcmF0b3JWYWx1ZSkgfHwgYWN0aXZlRmllbGQucHJvcHMudHlwZSA9PT0gJ2NoZWNrYm94J1xuICBjb25zdCBWYWx1ZUNvbXBvbmVudCA9IGJvb2xlYW5TZWxlY3RcbiAgICA/IFNlbGVjdFxuICAgIDogdmFsdWVGaWVsZHNbYWN0aXZlRmllbGQ/LmNvbXBvbmVudF0gfHwgdmFsdWVGaWVsZHMuVGV4dFxuXG4gIGxldCB2YWx1ZU9wdGlvbnNcbiAgaWYgKGJvb2xlYW5TZWxlY3QpIHtcbiAgICB2YWx1ZU9wdGlvbnMgPSBbJ3RydWUnLCAnZmFsc2UnXVxuICB9IGVsc2UgaWYgKGFjdGl2ZUZpZWxkPy5wcm9wcyAmJiAnb3B0aW9ucycgaW4gYWN0aXZlRmllbGQucHJvcHMpIHtcbiAgICB2YWx1ZU9wdGlvbnMgPSBhY3RpdmVGaWVsZC5wcm9wcy5vcHRpb25zXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtiYXNlQ2xhc3N9PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3dyYXBgfT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2lucHV0c2B9PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19maWVsZGB9PlxuICAgICAgICAgICAgPFJlYWN0U2VsZWN0XG4gICAgICAgICAgICAgIGlzQ2xlYXJhYmxlPXtmYWxzZX1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9eyhmaWVsZCkgPT4ge1xuICAgICAgICAgICAgICAgIGRpc3BhdGNoKHtcbiAgICAgICAgICAgICAgICAgIGFuZEluZGV4OiBhbmRJbmRleCxcbiAgICAgICAgICAgICAgICAgIGZpZWxkOiBmaWVsZD8udmFsdWUsXG4gICAgICAgICAgICAgICAgICBvckluZGV4OiBvckluZGV4LFxuICAgICAgICAgICAgICAgICAgdHlwZTogJ3VwZGF0ZScsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgb3B0aW9ucz17ZmllbGRzfVxuICAgICAgICAgICAgICB2YWx1ZT17ZmllbGRzLmZpbmQoKGZpZWxkKSA9PiBmaWVsZE5hbWUgPT09IGZpZWxkLnZhbHVlKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX29wZXJhdG9yYH0+XG4gICAgICAgICAgICA8UmVhY3RTZWxlY3RcbiAgICAgICAgICAgICAgZGlzYWJsZWQ9eyFmaWVsZE5hbWV9XG4gICAgICAgICAgICAgIGlzQ2xlYXJhYmxlPXtmYWxzZX1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9eyhvcGVyYXRvcikgPT4ge1xuICAgICAgICAgICAgICAgIGRpc3BhdGNoKHtcbiAgICAgICAgICAgICAgICAgIGFuZEluZGV4LFxuICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6IG9wZXJhdG9yLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgb3JJbmRleCxcbiAgICAgICAgICAgICAgICAgIHR5cGU6ICd1cGRhdGUnLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgc2V0SW50ZXJuYWxPcGVyYXRvckZpZWxkKG9wZXJhdG9yLnZhbHVlKVxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBvcHRpb25zPXthY3RpdmVGaWVsZC5vcGVyYXRvcnN9XG4gICAgICAgICAgICAgIHZhbHVlPXtcbiAgICAgICAgICAgICAgICBhY3RpdmVGaWVsZC5vcGVyYXRvcnMuZmluZChcbiAgICAgICAgICAgICAgICAgIChvcGVyYXRvcikgPT4gaW50ZXJuYWxPcGVyYXRvckZpZWxkID09PSBvcGVyYXRvci52YWx1ZSxcbiAgICAgICAgICAgICAgICApIHx8IG51bGxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fdmFsdWVgfT5cbiAgICAgICAgICAgIDxSZW5kZXJDdXN0b21Db21wb25lbnRcbiAgICAgICAgICAgICAgQ3VzdG9tQ29tcG9uZW50PXthY3RpdmVGaWVsZD8ucHJvcHM/LmFkbWluPy5jb21wb25lbnRzPy5GaWx0ZXJ9XG4gICAgICAgICAgICAgIERlZmF1bHRDb21wb25lbnQ9e1ZhbHVlQ29tcG9uZW50fVxuICAgICAgICAgICAgICBjb21wb25lbnRQcm9wcz17e1xuICAgICAgICAgICAgICAgIC4uLmFjdGl2ZUZpZWxkPy5wcm9wcyxcbiAgICAgICAgICAgICAgICBkaXNhYmxlZDogIW9wZXJhdG9yVmFsdWUsXG4gICAgICAgICAgICAgICAgb25DaGFuZ2U6IHNldEludGVybmFsVmFsdWUsXG4gICAgICAgICAgICAgICAgb3BlcmF0b3I6IG9wZXJhdG9yVmFsdWUsXG4gICAgICAgICAgICAgICAgb3B0aW9uczogdmFsdWVPcHRpb25zLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBpbnRlcm5hbFZhbHVlLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19hY3Rpb25zYH0+XG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgYnV0dG9uU3R5bGU9XCJpY29uLWxhYmVsXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fYWN0aW9ucy1yZW1vdmVgfVxuICAgICAgICAgICAgaWNvbj1cInhcIlxuICAgICAgICAgICAgaWNvblN0eWxlPVwid2l0aC1ib3JkZXJcIlxuICAgICAgICAgICAgb25DbGljaz17KCkgPT5cbiAgICAgICAgICAgICAgZGlzcGF0Y2goe1xuICAgICAgICAgICAgICAgIGFuZEluZGV4LFxuICAgICAgICAgICAgICAgIG9ySW5kZXgsXG4gICAgICAgICAgICAgICAgdHlwZTogJ3JlbW92ZScsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByb3VuZFxuICAgICAgICAgIC8+XG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgYnV0dG9uU3R5bGU9XCJpY29uLWxhYmVsXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fYWN0aW9ucy1hZGRgfVxuICAgICAgICAgICAgaWNvbj1cInBsdXNcIlxuICAgICAgICAgICAgaWNvblN0eWxlPVwid2l0aC1ib3JkZXJcIlxuICAgICAgICAgICAgb25DbGljaz17KCkgPT5cbiAgICAgICAgICAgICAgZGlzcGF0Y2goe1xuICAgICAgICAgICAgICAgIGFuZEluZGV4OiBhbmRJbmRleCArIDEsXG4gICAgICAgICAgICAgICAgZmllbGQ6IGZpZWxkc1swXS52YWx1ZSxcbiAgICAgICAgICAgICAgICBvckluZGV4LFxuICAgICAgICAgICAgICAgIHJlbGF0aW9uOiAnYW5kJyxcbiAgICAgICAgICAgICAgICB0eXBlOiAnYWRkJyxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJvdW5kXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5leHBvcnQgZGVmYXVsdCBDb25kaXRpb25cbiJdLCJuYW1lcyI6WyJ2YWx1ZUZpZWxkcyIsIkRhdGUiLCJOdW1iZXIiLCJSZWxhdGlvbnNoaXAiLCJTZWxlY3QiLCJUZXh0IiwiYmFzZUNsYXNzIiwiQ29uZGl0aW9uIiwicHJvcHMiLCJhbmRJbmRleCIsImRpc3BhdGNoIiwiZmllbGRzIiwib3JJbmRleCIsInZhbHVlIiwiZmllbGROYW1lIiwiT2JqZWN0Iiwia2V5cyIsImFjdGl2ZUZpZWxkIiwic2V0QWN0aXZlRmllbGQiLCJ1c2VTdGF0ZSIsImZpbmQiLCJmaWVsZCIsIm9wZXJhdG9yQW5kVmFsdWUiLCJlbnRyaWVzIiwidW5kZWZpbmVkIiwicXVlcnlWYWx1ZSIsIm9wZXJhdG9yVmFsdWUiLCJpbnRlcm5hbFZhbHVlIiwic2V0SW50ZXJuYWxWYWx1ZSIsImludGVybmFsT3BlcmF0b3JGaWVsZCIsInNldEludGVybmFsT3BlcmF0b3JGaWVsZCIsImRlYm91bmNlZFZhbHVlIiwidXNlRGVib3VuY2UiLCJ1c2VFZmZlY3QiLCJuZXdBY3RpdmVGaWVsZCIsIm5hbWUiLCJ0eXBlIiwiYm9vbGVhblNlbGVjdCIsImluY2x1ZGVzIiwiVmFsdWVDb21wb25lbnQiLCJjb21wb25lbnQiLCJ2YWx1ZU9wdGlvbnMiLCJvcHRpb25zIiwiZGl2IiwiY2xhc3NOYW1lIiwiUmVhY3RTZWxlY3QiLCJpc0NsZWFyYWJsZSIsIm9uQ2hhbmdlIiwiZGlzYWJsZWQiLCJvcGVyYXRvciIsIm9wZXJhdG9ycyIsIlJlbmRlckN1c3RvbUNvbXBvbmVudCIsIkN1c3RvbUNvbXBvbmVudCIsImFkbWluIiwiY29tcG9uZW50cyIsIkZpbHRlciIsIkRlZmF1bHRDb21wb25lbnQiLCJjb21wb25lbnRQcm9wcyIsIkJ1dHRvbiIsImJ1dHRvblN0eWxlIiwiaWNvbiIsImljb25TdHlsZSIsIm9uQ2xpY2siLCJyb3VuZCIsInJlbGF0aW9uIl0sIm1hcHBpbmdzIjoiOzs7OytCQXFLQTs7O2VBQUE7OzsrREFySzJDO3VDQUtMO29FQUNkO3dCQUNEO29FQUNDOzZEQUNQOytEQUNFO3FFQUNNO3dCQUNGOzZEQUNOO1FBQ1Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRVAsTUFBTUEsY0FBYztJ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
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9XaGVyZUJ1aWxkZXIvQ29uZGl0aW9uL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgdHlwZSB7IEZpZWxkQ29uZGl0aW9uIH0gZnJvbSAnLi4vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFByb3BzIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHsgUmVuZGVyQ3VzdG9tQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vZWxlbWVudHMvUmVuZGVyQ3VzdG9tQ29tcG9uZW50J1xuaW1wb3J0IHVzZURlYm91bmNlIGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZURlYm91bmNlJ1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnLi4vLi4vQnV0dG9uJ1xuaW1wb3J0IFJlYWN0U2VsZWN0IGZyb20gJy4uLy4uL1JlYWN0U2VsZWN0J1xuaW1wb3J0IERhdGUgZnJvbSAnLi9EYXRlJ1xuaW1wb3J0IE51bWJlciBmcm9tICcuL051bWJlcidcbmltcG9ydCBSZWxhdGlvbnNoaXAgZnJvbSAnLi9SZWxhdGlvbnNoaXAnXG5pbXBvcnQgeyBTZWxlY3QgfSBmcm9tICcuL1NlbGVjdCdcbmltcG9ydCBUZXh0IGZyb20gJy4vVGV4dCdcbmltcG9ydCAnLi9pbmRleC5zY3NzJ1xuXG5jb25zdCB2YWx1ZUZpZWxkcyA9IHtcbiAgRGF0ZSxcbiAgTnVtYmVyLFxuICBSZWxhdGlvbnNoaXAsXG4gIFNlbGVjdCxcbiAgVGV4dCxcbn1cblxuY29uc3QgYmFzZUNsYXNzID0gJ2NvbmRpdGlvbidcblxuY29uc3QgQ29uZGl0aW9uOiBSZWFjdC5GQzxQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBhbmRJbmRleCwgZGlzcGF0Y2gsIGZpZWxkcywgb3JJbmRleCwgdmFsdWUgfSA9IHByb3BzXG4gIGNvbnN0IGZpZWxkTmFtZSA9IE9iamVjdC5rZXlzKHZhbHVlKVswXVxuICBjb25zdCBbYWN0aXZlRmllbGQsIHNldEFjdGl2ZUZpZWxkXSA9IHVzZVN0YXRlPEZpZWxkQ29uZGl0aW9uPigoKSA9PlxuICAgIGZpZWxkcy5maW5kKChmaWVsZCkgPT4gZmllbGROYW1lID09PSBmaWVsZC52YWx1ZSksXG4gIClcblxuICBjb25zdCBvcGVyYXRvckFuZFZhbHVlID0gdmFsdWU/LltmaWVsZE5hbWVdID8gT2JqZWN0LmVudHJpZXModmFsdWVbZmllbGROYW1lXSlbMF0gOiB1bmRlZmluZWRcbiAgY29uc3QgcXVlcnlWYWx1ZSA9IG9wZXJhdG9yQW5kVmFsdWU/LlsxXVxuICBjb25zdCBvcGVyYXRvclZhbHVlID0gb3BlcmF0b3JBbmRWYWx1ZT8uWzBdXG5cbiAgY29uc3QgW2ludGVybmFsVmFsdWUsIHNldEludGVybmFsVmFsdWVdID0gdXNlU3RhdGUocXVlcnlWYWx1ZSlcbiAgY29uc3QgW2ludGVybmFsT3BlcmF0b3JGaWVsZCwgc2V0SW50ZXJuYWxPcGVyYXRvckZpZWxkXSA9IHVzZVN0YXRlKG9wZXJhdG9yVmFsdWUpXG5cbiAgY29uc3QgZGVib3VuY2VkVmFsdWUgPSB1c2VEZWJvdW5jZShpbnRlcm5hbFZhbHVlLCAzMDApXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBuZXdBY3RpdmVGaWVsZCA9IGZpZWxkcy5maW5kKCh7IHZhbHVlOiBuYW1lIH0pID0+IG5hbWUgPT09IGZpZWxkTmFtZSlcblxuICAgIGlmIChuZXdBY3RpdmVGaWVsZCAmJiBuZXdBY3RpdmVGaWVsZCAhPT0gYWN0aXZlRmllbGQpIHtcbiAgICAgIHNldEFjdGl2ZUZpZWxkKG5ld0FjdGl2ZUZpZWxkKVxuICAgICAgc2V0SW50ZXJuYWxPcGVyYXRvckZpZWxkKG51bGwpXG4gICAgICBzZXRJbnRlcm5hbFZhbHVlKCcnKVxuICAgIH1cbiAgfSwgW2ZpZWxkTmFtZSwgZmllbGRzLCBhY3RpdmVGaWVsZF0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBkaXNwYXRjaCh7XG4gICAgICBhbmRJbmRleCxcbiAgICAgIG9ySW5kZXgsXG4gICAgICB0eXBlOiAndXBkYXRlJyxcbiAgICAgIHZhbHVlOiBkZWJvdW5jZWRWYWx1ZSB8fCAnJyxcbiAgICB9KVxuICB9LCBbZGVib3VuY2VkVmFsdWUsIGRpc3BhdGNoLCBvckluZGV4LCBhbmRJbmRleF0pXG5cbiAgY29uc3QgYm9vbGVhblNlbGVjdCA9IFsnZXhpc3RzJ10uaW5jbHVkZXMob3BlcmF0b3JWYWx1ZSkgfHwgYWN0aXZlRmllbGQucHJvcHMudHlwZSA9PT0gJ2NoZWNrYm94J1xuICBjb25zdCBWYWx1ZUNvbXBvbmVudCA9IGJvb2xlYW5TZWxlY3RcbiAgICA/IFNlbGVjdFxuICAgIDogdmFsdWVGaWVsZHNbYWN0aXZlRmllbGQ/LmNvbXBvbmVudF0gfHwgdmFsdWVGaWVsZHMuVGV4dFxuXG4gIGxldCB2YWx1ZU9wdGlvbnNcbiAgaWYgKGJvb2xlYW5TZWxlY3QpIHtcbiAgICB2YWx1ZU9wdGlvbnMgPSBbJ3RydWUnLCAnZmFsc2UnXVxuICB9IGVsc2UgaWYgKGFjdGl2ZUZpZWxkPy5wcm9wcyAmJiAnb3B0aW9ucycgaW4gYWN0aXZlRmllbGQucHJvcHMpIHtcbiAgICB2YWx1ZU9wdGlvbnMgPSBhY3RpdmVGaWVsZC5wcm9wcy5vcHRpb25zXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtiYXNlQ2xhc3N9PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3dyYXBgfT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2lucHV0c2B9PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19maWVsZGB9PlxuICAgICAgICAgICAgPFJlYWN0U2VsZWN0XG4gICAgICAgICAgICAgIGlzQ2xlYXJhYmxlPXtmYWxzZX1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9eyhmaWVsZCkgPT4ge1xuICAgICAgICAgICAgICAgIGRpc3BhdGNoKHtcbiAgICAgICAgICAgICAgICAgIGFuZEluZGV4OiBhbmRJbmRleCxcbiAgICAgICAgICAgICAgICAgIGZpZWxkOiBmaWVsZD8udmFsdWUsXG4gICAgICAgICAgICAgICAgICBvckluZGV4OiBvckluZGV4LFxuICAgICAgICAgICAgICAgICAgdHlwZTogJ3VwZGF0ZScsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgb3B0aW9ucz17ZmllbGRzfVxuICAgICAgICAgICAgICB2YWx1ZT17ZmllbGRzLmZpbmQoKGZpZWxkKSA9PiBmaWVsZE5hbWUgPT09IGZpZWxkLnZhbHVlKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX29wZXJhdG9yYH0+XG4gICAgICAgICAgICA8UmVhY3RTZWxlY3RcbiAgICAgICAgICAgICAgZGlzYWJsZWQ9eyFmaWVsZE5hbWV9XG4gICAgICAgICAgICAgIGlzQ2xlYXJhYmxlPXtmYWxzZX1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9eyhvcGVyYXRvcikgPT4ge1xuICAgICAgICAgICAgICAgIGRpc3BhdGNoKHtcbiAgICAgICAgICAgICAgICAgIGFuZEluZGV4LFxuICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6IG9wZXJhdG9yLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgb3JJbmRleCxcbiAgICAgICAgICAgICAgICAgIHR5cGU6ICd1cGRhdGUnLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgc2V0SW50ZXJuYWxPcGVyYXRvckZpZWxkKG9wZXJhdG9yLnZhbHVlKVxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBvcHRpb25zPXthY3RpdmVGaWVsZC5vcGVyYXRvcnN9XG4gICAgICAgICAgICAgIHZhbHVlPXtcbiAgICAgICAgICAgICAgICBhY3RpdmVGaWVsZC5vcGVyYXRvcnMuZmluZChcbiAgICAgICAgICAgICAgICAgIChvcGVyYXRvcikgPT4gaW50ZXJuYWxPcGVyYXRvckZpZWxkID09PSBvcGVyYXRvci52YWx1ZSxcbiAgICAgICAgICAgICAgICApIHx8IG51bGxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fdmFsdWVgfT5cbiAgICAgICAgICAgIDxSZW5kZXJDdXN0b21Db21wb25lbnRcbiAgICAgICAgICAgICAgQ3VzdG9tQ29tcG9uZW50PXthY3RpdmVGaWVsZD8ucHJvcHM/LmFkbWluPy5jb21wb25lbnRzPy5GaWx0ZXJ9XG4gICAgICAgICAgICAgIERlZmF1bHRDb21wb25lbnQ9e1ZhbHVlQ29tcG9uZW50fVxuICAgICAgICAgICAgICBjb21wb25lbnRQcm9wcz17e1xuICAgICAgICAgICAgICAgIC4uLmFjdGl2ZUZpZWxkPy5wcm9wcyxcbiAgICAgICAgICAgICAgICBkaXNhYmxlZDogIW9wZXJhdG9yVmFsdWUsXG4gICAgICAgICAgICAgICAgb25DaGFuZ2U6IHNldEludGVybmFsVmFsdWUsXG4gICAgICAgICAgICAgICAgb3BlcmF0b3I6IG9wZXJhdG9yVmFsdWUsXG4gICAgICAgICAgICAgICAgb3B0aW9uczogdmFsdWVPcHRpb25zLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBpbnRlcm5hbFZhbHVlLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19hY3Rpb25zYH0+XG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgYnV0dG9uU3R5bGU9XCJpY29uLWxhYmVsXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fYWN0aW9ucy1yZW1vdmVgfVxuICAgICAgICAgICAgaWNvbj1cInhcIlxuICAgICAgICAgICAgaWNvblN0eWxlPVwid2l0aC1ib3JkZXJcIlxuICAgICAgICAgICAgb25DbGljaz17KCkgPT5cbiAgICAgICAgICAgICAgZGlzcGF0Y2goe1xuICAgICAgICAgICAgICAgIGFuZEluZGV4LFxuICAgICAgICAgICAgICAgIG9ySW5kZXgsXG4gICAgICAgICAgICAgICAgdHlwZTogJ3JlbW92ZScsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByb3VuZFxuICAgICAgICAgIC8+XG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgYnV0dG9uU3R5bGU9XCJpY29uLWxhYmVsXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fYWN0aW9ucy1hZGRgfVxuICAgICAgICAgICAgaWNvbj1cInBsdXNcIlxuICAgICAgICAgICAgaWNvblN0eWxlPVwid2l0aC1ib3JkZXJcIlxuICAgICAgICAgICAgb25DbGljaz17KCkgPT5cbiAgICAgICAgICAgICAgZGlzcGF0Y2goe1xuICAgICAgICAgICAgICAgIGFuZEluZGV4OiBhbmRJbmRleCArIDEsXG4gICAgICAgICAgICAgICAgZmllbGQ6IGZpZWxkc1swXS52YWx1ZSxcbiAgICAgICAgICAgICAgICBvckluZGV4LFxuICAgICAgICAgICAgICAgIHJlbGF0aW9uOiAnYW5kJyxcbiAgICAgICAgICAgICAgICB0eXBlOiAnYWRkJyxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJvdW5kXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5leHBvcnQgZGVmYXVsdCBDb25kaXRpb25cbiJdLCJuYW1lcyI6WyJSZWFjdCIsInVzZUVmZmVjdCIsInVzZVN0YXRlIiwiUmVuZGVyQ3VzdG9tQ29tcG9uZW50IiwidXNlRGVib3VuY2UiLCJCdXR0b24iLCJSZWFjdFNlbGVjdCIsIkRhdGUiLCJOdW1iZXIiLCJSZWxhdGlvbnNoaXAiLCJTZWxlY3QiLCJUZXh0IiwidmFsdWVGaWVsZHMiLCJiYXNlQ2xhc3MiLCJDb25kaXRpb24iLCJwcm9wcyIsImFuZEluZGV4IiwiZGlzcGF0Y2giLCJmaWVsZHMiLCJvckluZGV4IiwidmFsdWUiLCJmaWVsZE5hbWUiLCJPYmplY3QiLCJrZXlzIiwiYWN0aXZlRmllbGQiLCJzZXRBY3RpdmVGaWVsZCIsImZpbmQiLCJmaWVsZCIsIm9wZXJhdG9yQW5kVmFsdWUiLCJlbnRyaWVzIiwidW5kZWZpbmVkIiwicXVlcnlWYWx1ZSIsIm9wZXJhdG9yVmFsdWUiLCJpbnRlcm5hbFZhbHVlIiwic2V0SW50ZXJuYWxWYWx1ZSIsImludGVybmFsT3BlcmF0b3JGaWVsZCIsInNldEludGVybmFsT3BlcmF0b3JGaWVsZCIsImRlYm91bmNlZFZhbHVlIiwibmV3QWN0aXZlRmllbGQiLCJuYW1lIiwidHlwZSIsImJvb2xlYW5TZWxlY3QiLCJpbmNsdWRlcyIsIlZhbHVlQ29tcG9uZW50IiwiY29tcG9uZW50IiwidmFsdWVPcHRpb25zIiwib3B0aW9ucyIsImRpdiIsImNsYXNzTmFtZSIsImlzQ2xlYXJhYmxlIiwib25DaGFuZ2UiLCJkaXNhYmxlZCIsIm9wZXJhdG9yIiwib3BlcmF0b3JzIiwiQ3VzdG9tQ29tcG9uZW50IiwiYWRtaW4iLCJjb21wb25lbnRzIiwiRmlsdGVyIiwiRGVmYXVsdENvbXBvbmVudCIsImNvbXBvbmVudFByb3BzIiwiYnV0dG9uU3R5bGUiLCJpY29uIiwiaWNvblN0eWxlIiwib25DbGljayIsInJvdW5kIiwicmVsYXRpb24iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLFNBQVNDLFNBQVMsRUFBRUMsUUFBUSxRQUFRLFFBQU87QUFLbEQsU0FBU0MscUJBQXFCLFFBQVEsMENBQXlDO0FBQy9FLE9BQU9DLGlCQUFpQiw2QkFBNEI7QUFDcEQsU0FBU0MsTUFBTSxRQUFRLGVBQWM7QUFDckMsT0FBT0MsaUJB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
@@ -1,6 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
1
+ export { };
5
2
 
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9XaGVyZUJ1aWxkZXIvQ29uZGl0aW9uL3R5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgV2hlcmUgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgdHlwZSB7IEFjdGlvbiwgRmllbGRDb25kaXRpb24gfSBmcm9tICcuLi90eXBlcydcblxuZXhwb3J0IHR5cGUgUHJvcHMgPSB7XG4gIGFuZEluZGV4OiBudW1iZXJcbiAgZGlzcGF0Y2g6IChhY3Rpb246IEFjdGlvbikgPT4gdm9pZFxuICBmaWVsZHM6IEZpZWxkQ29uZGl0aW9uW11cbiAgb3JJbmRleDogbnVtYmVyXG4gIHZhbHVlOiBXaGVyZVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLFdBTUMifQ==
@@ -1,13 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
1
  const boolean = [
12
2
  {
13
3
  label: 'equals',
@@ -180,6 +170,6 @@ const fieldTypeConditions = {
180
170
  ]
181
171
  }
182
172
  };
183
- const _default = fieldTypeConditions;
173
+ export default fieldTypeConditions;
184
174
 
185
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9XaGVyZUJ1aWxkZXIvZmllbGQtdHlwZXMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGJvb2xlYW4gPSBbXG4gIHtcbiAgICBsYWJlbDogJ2VxdWFscycsXG4gICAgdmFsdWU6ICdlcXVhbHMnLFxuICB9LFxuICB7XG4gICAgbGFiZWw6ICdpc05vdEVxdWFsVG8nLFxuICAgIHZhbHVlOiAnbm90X2VxdWFscycsXG4gIH0sXG5dXG5cbmNvbnN0IGJhc2UgPSBbXG4gIC4uLmJvb2xlYW4sXG4gIHtcbiAgICBsYWJlbDogJ2lzSW4nLFxuICAgIHZhbHVlOiAnaW4nLFxuICB9LFxuICB7XG4gICAgbGFiZWw6ICdpc05vdEluJyxcbiAgICB2YWx1ZTogJ25vdF9pbicsXG4gIH0sXG4gIHtcbiAgICBsYWJlbDogJ2V4aXN0cycsXG4gICAgdmFsdWU6ICdleGlzdHMnLFxuICB9LFxuXVxuXG5jb25zdCBudW1lcmljID0gW1xuICAuLi5iYXNlLFxuICB7XG4gICAgbGFiZWw6ICdpc0dyZWF0ZXJUaGFuJyxcbiAgICB2YWx1ZTogJ2dyZWF0ZXJfdGhhbicsXG4gIH0sXG4gIHtcbiAgICBsYWJlbDogJ2lzTGVzc1RoYW4nLFxuICAgIHZhbHVlOiAnbGVzc190aGFuJyxcbiAgfSxcbiAge1xuICAgIGxhYmVsOiAnaXNMZXNzVGhhbk9yRXF1YWxUbycsXG4gICAgdmFsdWU6ICdsZXNzX3RoYW5fZXF1YWwnLFxuICB9LFxuICB7XG4gICAgbGFiZWw6ICdpc0dyZWF0ZXJUaGFuT3JFcXVhbFRvJyxcbiAgICB2YWx1ZTogJ2dyZWF0ZXJfdGhhbl9lcXVhbCcsXG4gIH0sXG5dXG5cbmNvbnN0IGdlbyA9IFtcbiAgLi4uYm9vbGVhbixcbiAge1xuICAgIGxhYmVsOiAnZXhpc3RzJyxcbiAgICB2YWx1ZTogJ2V4aXN0cycsXG4gIH0sXG4gIHtcbiAgICBsYWJlbDogJ25lYXInLFxuICAgIHZhbHVlOiAnbmVhcicsXG4gIH0sXG5dXG5cbmNvbnN0IHdpdGhpbiA9IHtcbiAgbGFiZWw6ICd3aXRoaW4nLFxuICB2YWx1ZTogJ3dpdGhpbicsXG59XG5cbmNvbnN0IGludGVyc2VjdHMgPSB7XG4gIGxhYmVsOiAnaW50ZXJzZWN0cycsXG4gIHZhbHVlOiAnaW50ZXJzZWN0cycsXG59XG5cbmNvbnN0IGxpa2UgPSB7XG4gIGxhYmVsOiAnaXNMaWtlJyxcbiAgdmFsdWU6ICdsaWtlJyxcbn1cblxuY29uc3QgY29udGFpbnMgPSB7XG4gIGxhYmVsOiAnY29udGFpbnMnLFxuICB2YWx1ZTogJ2NvbnRhaW5zJyxcbn1cblxuY29uc3QgZmllbGRUeXBlQ29uZGl0aW9ucyA9IHtcbiAgY2hlY2tib3g6IHtcbiAgICBjb21wb25lbnQ6ICdUZXh0JyxcbiAgICBvcGVyYXRvcnM6IGJvb2xlYW4sXG4gIH0sXG4gIGNvZGU6IHtcbiAgICBjb21wb25lbnQ6ICdUZXh0JyxcbiAgICBvcGVyYXRvcnM6IFsuLi5iYXNlLCBsaWtlLCBjb250YWluc10sXG4gIH0sXG4gIGRhdGU6IHtcbiAgICBjb21wb25lbnQ6ICdEYXRlJyxcbiAgICBvcGVyYXRvcnM6IFsuLi5iYXNlLCAuLi5udW1lcmljXSxcbiAgfSxcbiAgZW1haWw6IHtcbiAgICBjb21wb25lbnQ6ICdUZXh0JyxcbiAgICBvcGVyYXRvcnM6IFsuLi5iYXNlLCBjb250YWluc10sXG4gIH0sXG4gIGpzb246IHtcbiAgICBjb21wb25lbnQ6ICdUZXh0JyxcbiAgICBvcGVyYXRvcnM6IFsuLi5iYXNlLCBsaWtlLCBjb250YWlucywgd2l0aGluLCBpbnRlcnNlY3RzXSxcbiAgfSxcbiAgbnVtYmVyOiB7XG4gICAgY29tcG9uZW50OiAnTnVtYmVyJyxcbiAgICBvcGVyYXRvcnM6IFsuLi5iYXNlLCAuLi5udW1lcmljXSxcbiAgfSxcbiAgcG9pbnQ6IHtcbiAgICBjb21wb25lbnQ6ICdQb2ludCcsXG4gICAgb3BlcmF0b3JzOiBbLi4uZ2VvLCB3aXRoaW4sIGludGVyc2VjdHNdLFxuICB9LFxuICByYWRpbzoge1xuICAgIGNvbXBvbmVudDogJ1NlbGVjdCcsXG4gICAgb3BlcmF0b3JzOiBbLi4uYmFzZV0sXG4gIH0sXG4gIHJlbGF0aW9uc2hpcDoge1xuICAgIGNvbXBvbmVudDogJ1JlbGF0aW9uc2hpcCcsXG4gICAgb3BlcmF0b3JzOiBbLi4uYmFzZV0sXG4gIH0sXG4gIHJpY2hUZXh0OiB7XG4gICAgY29tcG9uZW50OiAnVGV4dCcsXG4gICAgb3BlcmF0b3JzOiBbLi4uYmFzZSwgbGlrZSwgY29udGFpbnNdLFxuICB9LFxuICBzZWxlY3Q6IHtcbiAgICBjb21wb25lbnQ6ICdTZWxlY3QnLFxuICAgIG9wZXJhdG9yczogWy4uLmJhc2VdLFxuICB9LFxuICB0ZXh0OiB7XG4gICAgY29tcG9uZW50OiAnVGV4dCcsXG4gICAgb3BlcmF0b3JzOiBbLi4uYmFzZSwgbGlrZSwgY29udGFpbnNdLFxuICB9LFxuICB0ZXh0YXJlYToge1xuICAgIGNvbXBvbmVudDogJ1RleHQnLFxuICAgIG9wZXJhdG9yczogWy4uLmJhc2UsIGxpa2UsIGNvbnRhaW5zXSxcbiAgfSxcbiAgdXBsb2FkOiB7XG4gICAgY29tcG9uZW50OiAnVGV4dCcsXG4gICAgb3BlcmF0b3JzOiBbLi4uYmFzZV0sXG4gIH0sXG59XG5cbmV4cG9ydCBkZWZhdWx0IGZpZWxkVHlwZUNvbmRpdGlvbnNcbiJdLCJuYW1lcyI6WyJib29sZWFuIiwibGFiZWwiLCJ2YWx1ZSIsImJhc2UiLCJudW1lcmljIiwiZ2VvIiwid2l0aGluIiwiaW50ZXJzZWN0cyIsImxpa2UiLCJjb250YWlucyIsImZpZWxkVHlwZUNvbmRpdGlvbnMiLCJjaGVja2JveCIsImNvbXBvbmVudCIsIm9wZXJhdG9ycyIsImNvZGUiLCJkYXRlIiwiZW1haWwiLCJqc29uIiwibnVtYmVyIiwicG9pbnQiLCJyYWRpbyIsInJlbGF0aW9uc2hpcCIsInJpY2hUZXh0Iiwic2VsZWN0IiwidGV4dCIsInRleHRhcmVhIiwidXBsb2FkIl0sIm1hcHBpbmdzIjoiOzs7OytCQTBJQTs7O2VBQUE7OztBQTFJQSxNQUFNQSxVQUFVO0lBQ2Q7UUFDRUMsT0FBTztRQUNQQyxPQUFPO0lBQ1Q7SUFDQTtRQUNFRCxPQUFPO1FBQ1BDLE9BQU87SUFDVDtDQUNEO0FBRUQsTUFBTUMsT0FBTztPQUNSSDtJQUNIO1FBQ0VDLE9BQU87UUFDUEMsT0FBTztJQUNUO0lBQ0E7UUFDRUQsT0FBTztRQUNQQyxPQUFPO0lBQ1Q7SUFDQTtRQUNFRCxPQUFPO1FBQ1BDLE9BQU87SUFDVDtDQUNEO0FBRUQsTUFBTUUsVUFBVTtPQUNYRDtJQUNIO1FBQ0VGLE9BQU87UUFDUEMsT0FBTztJQUNUO0lBQ0E7UUFDRUQsT0FBTztRQUNQQyxPQUFPO0lBQ1Q7SUFDQTtRQUNFRCxPQUFPO1FBQ1BDLE9BQU87SUFDVDtJQUNBO1FBQ0VELE9BQU87UUFDUEMsT0FBTztJQUNUO0NBQ0Q7QUFFRCxNQUFNRyxNQUFNO09BQ1BMO0lBQ0g7UUFDRUMsT0FBTztRQUNQQyxPQUFPO0lBQ1Q7SUFDQTtRQUNFRCxPQUFPO1FBQ1BDLE9BQU87SUFDVDtDQUNEO0FBRUQsTUFBTUksU0FBUztJQUNiTCxPQUFPO0lBQ1BDLE9BQU87QUFDVDtBQUVBLE1BQU1LLGFBQWE7SUFDakJOLE9BQU87SUFDUEMsT0FBTztBQUNUO0FBRUEsTUFBTU0sT0FBTztJQUNYUCxPQUFPO0lBQ1BDLE9BQU87QUFDVDtBQUVBLE1BQU1PLFdBQVc7SUFDZlIsT0FBTztJQUNQQyxPQUFPO0FBQ1Q7QUFFQSxNQUFNUSxzQkFBc0I7SUFDMUJDLFVBQVU7UUFDUkMsV0FBVztRQUNYQyxXQUFXYjtJQUNiO0lBQ0FjLE1BQU07UUFDSkYsV0FBVztRQUNYQyxXQUFXO2VBQUlWO1lBQU1LO1lBQU1DO1NBQVM7SUFDdEM7SUFDQU0sTUFBTTtRQUNKSCxXQUFXO1FBQ1hDLFdBQVc7ZUFBSVY7ZUFBU0M7U0FBUTtJQUNsQztJQUNBWSxPQUFPO1FBQ0xKLFdBQVc7UUFDWEMsV0FBVztlQUFJVjtZQUFNTTtTQUFTO0lBQ2hDO0lBQ0FRLE1BQU07UUFDSkwsV0FBVztRQUNYQyxXQUFXO2VBQUlWO1lBQU1LO1lBQU1DO1lBQVVIO1lBQVFDO1NBQVc7SUFDMUQ7SUFDQVcsUUFBUTtRQUNOTixXQUFXO1FBQ1hDLFdBQVc7ZUFBSVY7ZUFBU0M7U0FBUTtJQUNsQztJQUNBZSxPQUFPO1FBQ0xQLFdBQVc7UUFDWEMsV0FBVztlQUFJUjtZQUFLQztZQUFRQztTQUFXO0lBQ3pDO0lBQ0FhLE9BQU87UUFDTFIsV0FBVztRQUNYQyxXQUFXO2VBQUlWO1NBQUs7SUFDdEI7SUFDQWtCLGNBQWM7UUFDWlQsV0FBVztRQUNYQyxXQUFXO2VBQUlWO1NBQUs7SUFDdEI7SUFDQW1CLFVBQVU7UUFDUlYsV0FBVztRQUNYQyxXQUFXO2VBQUlWO1lBQU1LO1lBQU1DO1NBQVM7SUFDdEM7SUFDQWMsUUFBUTtRQUNOWCxXQUFXO1FBQ1hDLFdBQVc7ZUFBSVY7U0FBSztJQUN0QjtJQUNBcUIsTUFBTTtRQUNKWixXQUFXO1FBQ1hDLFdBQVc7ZUFBSVY7WUFBTUs7WUFBTUM7U0FBUztJQUN0QztJQUNBZ0IsVUFBVTtRQUNSYixXQUFXO1FBQ1hDLFdBQVc7ZUFBSVY7WUFBTUs7WUFBTUM7U0FBUztJQUN0QztJQUNBaUIsUUFBUTtRQUNOZCxXQUFXO1FBQ1hDLFdBQVc7ZUFBSVY7U0FBSztJQUN0QjtBQUNGO01BRUEsV0FBZU8ifQ==
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9XaGVyZUJ1aWxkZXIvZmllbGQtdHlwZXMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGJvb2xlYW4gPSBbXG4gIHtcbiAgICBsYWJlbDogJ2VxdWFscycsXG4gICAgdmFsdWU6ICdlcXVhbHMnLFxuICB9LFxuICB7XG4gICAgbGFiZWw6ICdpc05vdEVxdWFsVG8nLFxuICAgIHZhbHVlOiAnbm90X2VxdWFscycsXG4gIH0sXG5dXG5cbmNvbnN0IGJhc2UgPSBbXG4gIC4uLmJvb2xlYW4sXG4gIHtcbiAgICBsYWJlbDogJ2lzSW4nLFxuICAgIHZhbHVlOiAnaW4nLFxuICB9LFxuICB7XG4gICAgbGFiZWw6ICdpc05vdEluJyxcbiAgICB2YWx1ZTogJ25vdF9pbicsXG4gIH0sXG4gIHtcbiAgICBsYWJlbDogJ2V4aXN0cycsXG4gICAgdmFsdWU6ICdleGlzdHMnLFxuICB9LFxuXVxuXG5jb25zdCBudW1lcmljID0gW1xuICAuLi5iYXNlLFxuICB7XG4gICAgbGFiZWw6ICdpc0dyZWF0ZXJUaGFuJyxcbiAgICB2YWx1ZTogJ2dyZWF0ZXJfdGhhbicsXG4gIH0sXG4gIHtcbiAgICBsYWJlbDogJ2lzTGVzc1RoYW4nLFxuICAgIHZhbHVlOiAnbGVzc190aGFuJyxcbiAgfSxcbiAge1xuICAgIGxhYmVsOiAnaXNMZXNzVGhhbk9yRXF1YWxUbycsXG4gICAgdmFsdWU6ICdsZXNzX3RoYW5fZXF1YWwnLFxuICB9LFxuICB7XG4gICAgbGFiZWw6ICdpc0dyZWF0ZXJUaGFuT3JFcXVhbFRvJyxcbiAgICB2YWx1ZTogJ2dyZWF0ZXJfdGhhbl9lcXVhbCcsXG4gIH0sXG5dXG5cbmNvbnN0IGdlbyA9IFtcbiAgLi4uYm9vbGVhbixcbiAge1xuICAgIGxhYmVsOiAnZXhpc3RzJyxcbiAgICB2YWx1ZTogJ2V4aXN0cycsXG4gIH0sXG4gIHtcbiAgICBsYWJlbDogJ25lYXInLFxuICAgIHZhbHVlOiAnbmVhcicsXG4gIH0sXG5dXG5cbmNvbnN0IHdpdGhpbiA9IHtcbiAgbGFiZWw6ICd3aXRoaW4nLFxuICB2YWx1ZTogJ3dpdGhpbicsXG59XG5cbmNvbnN0IGludGVyc2VjdHMgPSB7XG4gIGxhYmVsOiAnaW50ZXJzZWN0cycsXG4gIHZhbHVlOiAnaW50ZXJzZWN0cycsXG59XG5cbmNvbnN0IGxpa2UgPSB7XG4gIGxhYmVsOiAnaXNMaWtlJyxcbiAgdmFsdWU6ICdsaWtlJyxcbn1cblxuY29uc3QgY29udGFpbnMgPSB7XG4gIGxhYmVsOiAnY29udGFpbnMnLFxuICB2YWx1ZTogJ2NvbnRhaW5zJyxcbn1cblxuY29uc3QgZmllbGRUeXBlQ29uZGl0aW9ucyA9IHtcbiAgY2hlY2tib3g6IHtcbiAgICBjb21wb25lbnQ6ICdUZXh0JyxcbiAgICBvcGVyYXRvcnM6IGJvb2xlYW4sXG4gIH0sXG4gIGNvZGU6IHtcbiAgICBjb21wb25lbnQ6ICdUZXh0JyxcbiAgICBvcGVyYXRvcnM6IFsuLi5iYXNlLCBsaWtlLCBjb250YWluc10sXG4gIH0sXG4gIGRhdGU6IHtcbiAgICBjb21wb25lbnQ6ICdEYXRlJyxcbiAgICBvcGVyYXRvcnM6IFsuLi5iYXNlLCAuLi5udW1lcmljXSxcbiAgfSxcbiAgZW1haWw6IHtcbiAgICBjb21wb25lbnQ6ICdUZXh0JyxcbiAgICBvcGVyYXRvcnM6IFsuLi5iYXNlLCBjb250YWluc10sXG4gIH0sXG4gIGpzb246IHtcbiAgICBjb21wb25lbnQ6ICdUZXh0JyxcbiAgICBvcGVyYXRvcnM6IFsuLi5iYXNlLCBsaWtlLCBjb250YWlucywgd2l0aGluLCBpbnRlcnNlY3RzXSxcbiAgfSxcbiAgbnVtYmVyOiB7XG4gICAgY29tcG9uZW50OiAnTnVtYmVyJyxcbiAgICBvcGVyYXRvcnM6IFsuLi5iYXNlLCAuLi5udW1lcmljXSxcbiAgfSxcbiAgcG9pbnQ6IHtcbiAgICBjb21wb25lbnQ6ICdQb2ludCcsXG4gICAgb3BlcmF0b3JzOiBbLi4uZ2VvLCB3aXRoaW4sIGludGVyc2VjdHNdLFxuICB9LFxuICByYWRpbzoge1xuICAgIGNvbXBvbmVudDogJ1NlbGVjdCcsXG4gICAgb3BlcmF0b3JzOiBbLi4uYmFzZV0sXG4gIH0sXG4gIHJlbGF0aW9uc2hpcDoge1xuICAgIGNvbXBvbmVudDogJ1JlbGF0aW9uc2hpcCcsXG4gICAgb3BlcmF0b3JzOiBbLi4uYmFzZV0sXG4gIH0sXG4gIHJpY2hUZXh0OiB7XG4gICAgY29tcG9uZW50OiAnVGV4dCcsXG4gICAgb3BlcmF0b3JzOiBbLi4uYmFzZSwgbGlrZSwgY29udGFpbnNdLFxuICB9LFxuICBzZWxlY3Q6IHtcbiAgICBjb21wb25lbnQ6ICdTZWxlY3QnLFxuICAgIG9wZXJhdG9yczogWy4uLmJhc2VdLFxuICB9LFxuICB0ZXh0OiB7XG4gICAgY29tcG9uZW50OiAnVGV4dCcsXG4gICAgb3BlcmF0b3JzOiBbLi4uYmFzZSwgbGlrZSwgY29udGFpbnNdLFxuICB9LFxuICB0ZXh0YXJlYToge1xuICAgIGNvbXBvbmVudDogJ1RleHQnLFxuICAgIG9wZXJhdG9yczogWy4uLmJhc2UsIGxpa2UsIGNvbnRhaW5zXSxcbiAgfSxcbiAgdXBsb2FkOiB7XG4gICAgY29tcG9uZW50OiAnVGV4dCcsXG4gICAgb3BlcmF0b3JzOiBbLi4uYmFzZV0sXG4gIH0sXG59XG5cbmV4cG9ydCBkZWZhdWx0IGZpZWxkVHlwZUNvbmRpdGlvbnNcbiJdLCJuYW1lcyI6WyJib29sZWFuIiwibGFiZWwiLCJ2YWx1ZSIsImJhc2UiLCJudW1lcmljIiwiZ2VvIiwid2l0aGluIiwiaW50ZXJzZWN0cyIsImxpa2UiLCJjb250YWlucyIsImZpZWxkVHlwZUNvbmRpdGlvbnMiLCJjaGVja2JveCIsImNvbXBvbmVudCIsIm9wZXJhdG9ycyIsImNvZGUiLCJkYXRlIiwiZW1haWwiLCJqc29uIiwibnVtYmVyIiwicG9pbnQiLCJyYWRpbyIsInJlbGF0aW9uc2hpcCIsInJpY2hUZXh0Iiwic2VsZWN0IiwidGV4dCIsInRleHRhcmVhIiwidXBsb2FkIl0sIm1hcHBpbmdzIjoiQUFBQSxNQUFNQSxVQUFVO0lBQ2Q7UUFDRUMsT0FBTztRQUNQQyxPQUFPO0lBQ1Q7SUFDQTtRQUNFRCxPQUFPO1FBQ1BDLE9BQU87SUFDVDtDQUNEO0FBRUQsTUFBTUMsT0FBTztPQUNSSDtJQUNIO1FBQ0VDLE9BQU87UUFDUEMsT0FBTztJQUNUO0lBQ0E7UUFDRUQsT0FBTztRQUNQQyxPQUFPO0lBQ1Q7SUFDQTtRQUNFRCxPQUFPO1FBQ1BDLE9BQU87SUFDVDtDQUNEO0FBRUQsTUFBTUUsVUFBVTtPQUNYRDtJQUNIO1FBQ0VGLE9BQU87UUFDUEMsT0FBTztJQUNUO0lBQ0E7UUFDRUQsT0FBTztRQUNQQyxPQUFPO0lBQ1Q7SUFDQTtRQUNFRCxPQUFPO1FBQ1BDLE9BQU87SUFDVDtJQUNBO1FBQ0VELE9BQU87UUFDUEMsT0FBTztJQUNUO0NBQ0Q7QUFFRCxNQUFNRyxNQUFNO09BQ1BMO0lBQ0g7UUFDRUMsT0FBTztRQUNQQyxPQUFPO0lBQ1Q7SUFDQTtRQUNFRCxPQUFPO1FBQ1BDLE9BQU87SUFDVDtDQUNEO0FBRUQsTUFBTUksU0FBUztJQUNiTCxPQUFPO0lBQ1BDLE9BQU87QUFDVDtBQUVBLE1BQU1LLGFBQWE7SUFDakJOLE9BQU87SUFDUEMsT0FBTztBQUNUO0FBRUEsTUFBTU0sT0FBTztJQUNYUCxPQUFPO0lBQ1BDLE9BQU87QUFDVDtBQUVBLE1BQU1PLFdBQVc7SUFDZlIsT0FBTztJQUNQQyxPQUFPO0FBQ1Q7QUFFQSxNQUFNUSxzQkFBc0I7SUFDMUJDLFVBQVU7UUFDUkMsV0FBVztRQUNYQyxXQUFXYjtJQUNiO0lBQ0FjLE1BQU07UUFDSkYsV0FBVztRQUNYQyxXQUFXO2VBQUlWO1lBQU1LO1lBQU1DO1NBQVM7SUFDdEM7SUFDQU0sTUFBTTtRQUNKSCxXQUFXO1FBQ1hDLFdBQVc7ZUFBSVY7ZUFBU0M7U0FBUTtJQUNsQztJQUNBWSxPQUFPO1FBQ0xKLFdBQVc7UUFDWEMsV0FBVztlQUFJVjtZQUFNTTtTQUFTO0lBQ2hDO0lBQ0FRLE1BQU07UUFDSkwsV0FBVztRQUNYQyxXQUFXO2VBQUlWO1lBQU1LO1lBQU1DO1lBQVVIO1lBQVFDO1NBQVc7SUFDMUQ7SUFDQVcsUUFBUTtRQUNOTixXQUFXO1FBQ1hDLFdBQVc7ZUFBSVY7ZUFBU0M7U0FBUTtJQUNsQztJQUNBZSxPQUFPO1FBQ0xQLFdBQVc7UUFDWEMsV0FBVztlQUFJUjtZQUFLQztZQUFRQztTQUFXO0lBQ3pDO0lBQ0FhLE9BQU87UUFDTFIsV0FBVztRQUNYQyxXQUFXO2VBQUlWO1NBQUs7SUFDdEI7SUFDQWtCLGNBQWM7UUFDWlQsV0FBVztRQUNYQyxXQUFXO2VBQUlWO1NBQUs7SUFDdEI7SUFDQW1CLFVBQVU7UUFDUlYsV0FBVztRQUNYQyxXQUFXO2VBQUlWO1lBQU1LO1lBQU1DO1NBQVM7SUFDdEM7SUFDQWMsUUFBUTtRQUNOWCxXQUFXO1FBQ1hDLFdBQVc7ZUFBSVY7U0FBSztJQUN0QjtJQUNBcUIsTUFBTTtRQUNKWixXQUFXO1FBQ1hDLFdBQVc7ZUFBSVY7WUFBTUs7WUFBTUM7U0FBUztJQUN0QztJQUNBZ0IsVUFBVTtRQUNSYixXQUFXO1FBQ1hDLFdBQVc7ZUFBSVY7WUFBTUs7WUFBTUM7U0FBUztJQUN0QztJQUNBaUIsUUFBUTtRQUNOZCxXQUFXO1FBQ1hDLFdBQVc7ZUFBSVY7U0FBSztJQUN0QjtBQUNGO0FBRUEsZUFBZU8sb0JBQW1CIn0=
@@ -1,78 +1,23 @@
1
1
  // import queryString from 'qs'
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "default", {
7
- enumerable: true,
8
- get: function() {
9
- return _default;
10
- }
11
- });
12
- const _translations = require("@payloadcms/translations");
13
- const _utilities = require("payload/utilities");
14
- const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
15
- const _Config = require("../../providers/Config");
16
- const _SearchParams = require("../../providers/SearchParams");
17
- const _Translation = require("../../providers/Translation");
18
- const _Button = require("../Button");
19
- const _Condition = /*#__PURE__*/ _interop_require_default(require("./Condition"));
20
- const _fieldtypes = /*#__PURE__*/ _interop_require_default(require("./field-types"));
21
- require("./index.scss");
22
- const _reducer = /*#__PURE__*/ _interop_require_default(require("./reducer"));
23
- const _transformWhereQuery = require("./transformWhereQuery");
24
- const _validateWhereQuery = /*#__PURE__*/ _interop_require_default(require("./validateWhereQuery"));
25
- function _interop_require_default(obj) {
26
- return obj && obj.__esModule ? obj : {
27
- default: obj
28
- };
29
- }
30
- function _getRequireWildcardCache(nodeInterop) {
31
- if (typeof WeakMap !== "function") return null;
32
- var cacheBabelInterop = new WeakMap();
33
- var cacheNodeInterop = new WeakMap();
34
- return (_getRequireWildcardCache = function(nodeInterop) {
35
- return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
36
- })(nodeInterop);
37
- }
38
- function _interop_require_wildcard(obj, nodeInterop) {
39
- if (!nodeInterop && obj && obj.__esModule) {
40
- return obj;
41
- }
42
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
43
- return {
44
- default: obj
45
- };
46
- }
47
- var cache = _getRequireWildcardCache(nodeInterop);
48
- if (cache && cache.has(obj)) {
49
- return cache.get(obj);
50
- }
51
- var newObj = {
52
- __proto__: null
53
- };
54
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
55
- for(var key in obj){
56
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
57
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
58
- if (desc && (desc.get || desc.set)) {
59
- Object.defineProperty(newObj, key, desc);
60
- } else {
61
- newObj[key] = obj[key];
62
- }
63
- }
64
- }
65
- newObj.default = obj;
66
- if (cache) {
67
- cache.set(obj, newObj);
68
- }
69
- return newObj;
70
- }
2
+ import { getTranslation } from '@payloadcms/translations';
3
+ import { flattenTopLevelFields } from 'payload/utilities';
4
+ import React, { useReducer, useState } from 'react';
5
+ import { useConfig } from '../../providers/Config';
6
+ // import useThrottledEffect from '../../hooks/useThrottledEffect'
7
+ import { useSearchParams } from '../../providers/SearchParams';
8
+ import { useTranslation } from '../../providers/Translation';
9
+ import { Button } from '../Button';
10
+ import Condition from './Condition';
11
+ import fieldTypes from './field-types';
12
+ import './index.scss';
13
+ import reducer from './reducer';
14
+ import { transformWhereQuery } from './transformWhereQuery';
15
+ import validateWhereQuery from './validateWhereQuery';
71
16
  const baseClass = 'where-builder';
72
- const reduceFields = (fields, i18n)=>(0, _utilities.flattenTopLevelFields)(fields).reduce((reduced, field)=>{
73
- if (typeof _fieldtypes.default[field.type] === 'object') {
17
+ const reduceFields = (fields, i18n)=>flattenTopLevelFields(fields).reduce((reduced, field)=>{
18
+ if (typeof fieldTypes[field.type] === 'object') {
74
19
  const operatorKeys = new Set();
75
- const operators = _fieldtypes.default[field.type].operators.reduce((acc, operator)=>{
20
+ const operators = fieldTypes[field.type].operators.reduce((acc, operator)=>{
76
21
  if (!operatorKeys.has(operator.value)) {
77
22
  operatorKeys.add(operator.value);
78
23
  return [
@@ -86,9 +31,9 @@ const reduceFields = (fields, i18n)=>(0, _utilities.flattenTopLevelFields)(field
86
31
  return acc;
87
32
  }, []);
88
33
  const formattedField = {
89
- label: (0, _translations.getTranslation)(field.label || field.name, i18n),
34
+ label: getTranslation(field.label || field.name, i18n),
90
35
  value: field.name,
91
- ..._fieldtypes.default[field.type],
36
+ ...fieldTypes[field.type],
92
37
  operators,
93
38
  props: {
94
39
  ...field
@@ -106,22 +51,22 @@ const reduceFields = (fields, i18n)=>(0, _utilities.flattenTopLevelFields)(field
106
51
  * It is part of the {@link ListControls} component which is used to render the controls (search, filter, where).
107
52
  */ const WhereBuilder = (props)=>{
108
53
  const { collectionPluralLabel, collectionSlug, handleChange, modifySearchQuery = true } = props;
109
- const { i18n, t } = (0, _Translation.useTranslation)();
110
- const config = (0, _Config.useConfig)();
54
+ const { i18n, t } = useTranslation();
55
+ const config = useConfig();
111
56
  const collection = config.collections.find((c)=>c.slug === collectionSlug);
112
- const [reducedFields] = (0, _react.useState)(()=>reduceFields(collection.fields, i18n));
113
- const { searchParams } = (0, _SearchParams.useSearchParams)();
57
+ const [reducedFields] = useState(()=>reduceFields(collection.fields, i18n));
58
+ const { searchParams } = useSearchParams();
114
59
  // This handles initializing the where conditions from the search query (URL). That way, if you pass in
115
60
  // query params to the URL, the where conditions will be initialized from those and displayed in the UI.
116
61
  // Example: /admin/collections/posts?where[or][0][and][0][text][equals]=example%20post
117
- const [conditions, dispatchConditions] = (0, _react.useReducer)(_reducer.default, searchParams.where, (whereFromSearch)=>{
62
+ const [conditions, dispatchConditions] = useReducer(reducer, searchParams.where, (whereFromSearch)=>{
118
63
  if (modifySearchQuery && whereFromSearch) {
119
- if ((0, _validateWhereQuery.default)(whereFromSearch)) {
64
+ if (validateWhereQuery(whereFromSearch)) {
120
65
  return whereFromSearch.or;
121
66
  }
122
67
  // Transform the where query to be in the right format. This will transform something simple like [text][equals]=example%20post to the right format
123
- const transformedWhere = (0, _transformWhereQuery.transformWhereQuery)(whereFromSearch);
124
- if ((0, _validateWhereQuery.default)(transformedWhere)) {
68
+ const transformedWhere = transformWhereQuery(whereFromSearch);
69
+ if (validateWhereQuery(transformedWhere)) {
125
70
  return transformedWhere.or;
126
71
  }
127
72
  console.warn('Invalid where query in URL. Ignoring.');
@@ -175,32 +120,32 @@ const reduceFields = (fields, i18n)=>(0, _utilities.flattenTopLevelFields)(field
175
120
  // 500,
176
121
  // [conditions, modifySearchQuery, handleChange],
177
122
  // )
178
- return /*#__PURE__*/ _react.default.createElement("div", {
123
+ return /*#__PURE__*/ React.createElement("div", {
179
124
  className: baseClass
180
- }, conditions.length > 0 && /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement("div", {
125
+ }, conditions.length > 0 && /*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement("div", {
181
126
  className: `${baseClass}__label`
182
127
  }, t('general:filterWhere', {
183
- label: (0, _translations.getTranslation)(collectionPluralLabel, i18n)
184
- })), /*#__PURE__*/ _react.default.createElement("ul", {
128
+ label: getTranslation(collectionPluralLabel, i18n)
129
+ })), /*#__PURE__*/ React.createElement("ul", {
185
130
  className: `${baseClass}__or-filters`
186
- }, conditions.map((or, orIndex)=>/*#__PURE__*/ _react.default.createElement("li", {
131
+ }, conditions.map((or, orIndex)=>/*#__PURE__*/ React.createElement("li", {
187
132
  key: orIndex
188
- }, orIndex !== 0 && /*#__PURE__*/ _react.default.createElement("div", {
133
+ }, orIndex !== 0 && /*#__PURE__*/ React.createElement("div", {
189
134
  className: `${baseClass}__label`
190
- }, t('general:or')), /*#__PURE__*/ _react.default.createElement("ul", {
135
+ }, t('general:or')), /*#__PURE__*/ React.createElement("ul", {
191
136
  className: `${baseClass}__and-filters`
192
- }, Array.isArray(or?.and) && or.and.map((_, andIndex)=>/*#__PURE__*/ _react.default.createElement("li", {
137
+ }, Array.isArray(or?.and) && or.and.map((_, andIndex)=>/*#__PURE__*/ React.createElement("li", {
193
138
  key: andIndex
194
- }, andIndex !== 0 && /*#__PURE__*/ _react.default.createElement("div", {
139
+ }, andIndex !== 0 && /*#__PURE__*/ React.createElement("div", {
195
140
  className: `${baseClass}__label`
196
- }, t('general:and')), /*#__PURE__*/ _react.default.createElement(_Condition.default, {
141
+ }, t('general:and')), /*#__PURE__*/ React.createElement(Condition, {
197
142
  andIndex: andIndex,
198
143
  dispatch: dispatchConditions,
199
144
  fields: reducedFields,
200
145
  key: andIndex,
201
146
  orIndex: orIndex,
202
147
  value: conditions[orIndex].and[andIndex]
203
- }))))))), /*#__PURE__*/ _react.default.createElement(_Button.Button, {
148
+ }))))))), /*#__PURE__*/ React.createElement(Button, {
204
149
  buttonStyle: "icon-label",
205
150
  className: `${baseClass}__add-or`,
206
151
  icon: "plus",
@@ -212,11 +157,11 @@ const reduceFields = (fields, i18n)=>(0, _utilities.flattenTopLevelFields)(field
212
157
  field: reducedFields[0].value
213
158
  });
214
159
  }
215
- }, t('general:or'))), conditions.length === 0 && /*#__PURE__*/ _react.default.createElement("div", {
160
+ }, t('general:or'))), conditions.length === 0 && /*#__PURE__*/ React.createElement("div", {
216
161
  className: `${baseClass}__no-filters`
217
- }, /*#__PURE__*/ _react.default.createElement("div", {
162
+ }, /*#__PURE__*/ React.createElement("div", {
218
163
  className: `${baseClass}__label`
219
- }, t('general:noFiltersSet')), /*#__PURE__*/ _react.default.createElement(_Button.Button, {
164
+ }, t('general:noFiltersSet')), /*#__PURE__*/ React.createElement(Button, {
220
165
  buttonStyle: "icon-label",
221
166
  className: `${baseClass}__add-first-filter`,
222
167
  icon: "plus",
@@ -230,6 +175,6 @@ const reduceFields = (fields, i18n)=>(0, _utilities.flattenTopLevelFields)(field
230
175
  }
231
176
  }, t('general:addFilter'))));
232
177
  };
233
- const _default = WhereBuilder;
178
+ export default WhereBuilder;
234
179
 
235
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9XaGVyZUJ1aWxkZXIvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIGltcG9ydCBxdWVyeVN0cmluZyBmcm9tICdxcydcbmltcG9ydCB7IGdldFRyYW5zbGF0aW9uIH0gZnJvbSAnQHBheWxvYWRjbXMvdHJhbnNsYXRpb25zJ1xuaW1wb3J0IHsgZmxhdHRlblRvcExldmVsRmllbGRzIH0gZnJvbSAncGF5bG9hZC91dGlsaXRpZXMnXG5pbXBvcnQgUmVhY3QsIHsgdXNlUmVkdWNlciwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcblxuLy8gaW1wb3J0IHR5cGUgeyBXaGVyZSB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFByb3BzIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHsgdXNlQ29uZmlnIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL0NvbmZpZydcbi8vIGltcG9ydCB1c2VUaHJvdHRsZWRFZmZlY3QgZnJvbSAnLi4vLi4vaG9va3MvdXNlVGhyb3R0bGVkRWZmZWN0J1xuaW1wb3J0IHsgdXNlU2VhcmNoUGFyYW1zIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL1NlYXJjaFBhcmFtcydcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL1RyYW5zbGF0aW9uJ1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnLi4vQnV0dG9uJ1xuaW1wb3J0IENvbmRpdGlvbiBmcm9tICcuL0NvbmRpdGlvbidcbmltcG9ydCBmaWVsZFR5cGVzIGZyb20gJy4vZmllbGQtdHlwZXMnXG5pbXBvcnQgJy4vaW5kZXguc2NzcydcbmltcG9ydCByZWR1Y2VyIGZyb20gJy4vcmVkdWNlcidcbmltcG9ydCB7IHRyYW5zZm9ybVdoZXJlUXVlcnkgfSBmcm9tICcuL3RyYW5zZm9ybVdoZXJlUXVlcnknXG5pbXBvcnQgdmFsaWRhdGVXaGVyZVF1ZXJ5IGZyb20gJy4vdmFsaWRhdGVXaGVyZVF1ZXJ5J1xuXG5jb25zdCBiYXNlQ2xhc3MgPSAnd2hlcmUtYnVpbGRlcidcblxuY29uc3QgcmVkdWNlRmllbGRzID0gKGZpZWxkcywgaTE4bikgPT5cbiAgZmxhdHRlblRvcExldmVsRmllbGRzKGZpZWxkcykucmVkdWNlKChyZWR1Y2VkLCBmaWVsZCkgPT4ge1xuICAgIGlmICh0eXBlb2YgZmllbGRUeXBlc1tmaWVsZC50eXBlXSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIGNvbnN0IG9wZXJhdG9yS2V5cyA9IG5ldyBTZXQoKVxuICAgICAgY29uc3Qgb3BlcmF0b3JzID0gZmllbGRUeXBlc1tmaWVsZC50eXBlXS5vcGVyYXRvcnMucmVkdWNlKChhY2MsIG9wZXJhdG9yKSA9PiB7XG4gICAgICAgIGlmICghb3BlcmF0b3JLZXlzLmhhcyhvcGVyYXRvci52YWx1ZSkpIHtcbiAgICAgICAgICBvcGVyYXRvcktleXMuYWRkKG9wZXJhdG9yLnZhbHVlKVxuICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAuLi5hY2MsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIC4uLm9wZXJhdG9yLFxuICAgICAgICAgICAgICBsYWJlbDogaTE4bi50KGBvcGVyYXRvcnM6JHtvcGVyYXRvci5sYWJlbH1gKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhY2NcbiAgICAgIH0sIFtdKVxuXG4gICAgICBjb25zdCBmb3JtYXR0ZWRGaWVsZCA9IHtcbiAgICAgICAgbGFiZWw6IGdldFRyYW5zbGF0aW9uKGZpZWxkLmxhYmVsIHx8IGZpZWxkLm5hbWUsIGkxOG4pLFxuICAgICAgICB2YWx1ZTogZmllbGQubmFtZSxcbiAgICAgICAgLi4uZmllbGRUeXBlc1tmaWVsZC50eXBlXSxcbiAgICAgICAgb3BlcmF0b3JzLFxuICAgICAgICBwcm9wczoge1xuICAgICAgICAgIC4uLmZpZWxkLFxuICAgICAgICB9LFxuICAgICAgfVxuXG4gICAgICByZXR1cm4gWy4uLnJlZHVjZWQsIGZvcm1hdHRlZEZpZWxkXVxuICAgIH1cblxuICAgIHJldHVybiByZWR1Y2VkXG4gIH0sIFtdKVxuXG4vKipcbiAqIFRoZSBXaGVyZUJ1aWxkZXIgY29tcG9uZW50IGlzIHVzZWQgdG8gcmVuZGVyIHRoZSBmaWx0ZXIgY29udHJvbHMgZm9yIGEgY29sbGVjdGlvbidzIGxpc3Qgdmlldy5cbiAqIEl0IGlzIHBhcnQgb2YgdGhlIHtAbGluayBMaXN0Q29udHJvbHN9IGNvbXBvbmVudCB3aGljaCBpcyB1c2VkIHRvIHJlbmRlciB0aGUgY29udHJvbHMgKHNlYXJjaCwgZmlsdGVyLCB3aGVyZSkuXG4gKi9cbmNvbnN0IFdoZXJlQnVpbGRlcjogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgY29sbGVjdGlvblBsdXJhbExhYmVsLCBjb2xsZWN0aW9uU2x1ZywgaGFuZGxlQ2hhbmdlLCBtb2RpZnlTZWFyY2hRdWVyeSA9IHRydWUgfSA9IHByb3BzXG4gIGNvbnN0IHsgaTE4biwgdCB9ID0gdXNlVHJhbnNsYXRpb24oKVxuXG4gIGNvbnN0IGNvbmZpZyA9IHVzZUNvbmZpZygpXG4gIGNvbnN0IGNvbGxlY3Rpb24gPSBjb25maWcuY29sbGVjdGlvbnMuZmluZCgoYykgPT4gYy5zbHVnID09PSBjb2xsZWN0aW9uU2x1ZylcbiAgY29uc3QgW3JlZHVjZWRGaWVsZHNdID0gdXNlU3RhdGUoKCkgPT4gcmVkdWNlRmllbGRzKGNvbGxlY3Rpb24uZmllbGRzLCBpMThuKSlcblxuICBjb25zdCB7IHNlYXJjaFBhcmFtcyB9ID0gdXNlU2VhcmNoUGFyYW1zKClcblxuICAvLyBUaGlzIGhhbmRsZXMgaW5pdGlhbGl6aW5nIHRoZSB3aGVyZSBjb25kaXRpb25zIGZyb20gdGhlIHNlYXJjaCBxdWVyeSAoVVJMKS4gVGhhdCB3YXksIGlmIHlvdSBwYXNzIGluXG4gIC8vIHF1ZXJ5IHBhcmFtcyB0byB0aGUgVVJMLCB0aGUgd2hlcmUgY29uZGl0aW9ucyB3aWxsIGJlIGluaXRpYWxpemVkIGZyb20gdGhvc2UgYW5kIGRpc3BsYXllZCBpbiB0aGUgVUkuXG4gIC8vIEV4YW1wbGU6IC9hZG1pbi9jb2xsZWN0aW9ucy9wb3N0cz93aGVyZVtvcl1bMF1bYW5kXVswXVt0ZXh0XVtlcXVhbHNdPWV4YW1wbGUlMjBwb3N0XG4gIGNvbnN0IFtjb25kaXRpb25zLCBkaXNwYXRjaENvbmRpdGlvbnNdID0gdXNlUmVkdWNlcihcbiAgICByZWR1Y2VyLFxuICAgIHNlYXJjaFBhcmFtcy53aGVyZSxcbiAgICAod2hlcmVGcm9tU2VhcmNoKSA9PiB7XG4gICAgICBpZiAobW9kaWZ5U2VhcmNoUXVlcnkgJiYgd2hlcmVGcm9tU2VhcmNoKSB7XG4gICAgICAgIGlmICh2YWxpZGF0ZVdoZXJlUXVlcnkod2hlcmVGcm9tU2VhcmNoKSkge1xuICAgICAgICAgIHJldHVybiB3aGVyZUZyb21TZWFyY2gub3JcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRyYW5zZm9ybSB0aGUgd2hlcmUgcXVlcnkgdG8gYmUgaW4gdGhlIHJpZ2h0IGZvcm1hdC4gVGhpcyB3aWxsIHRyYW5zZm9ybSBzb21ldGhpbmcgc2ltcGxlIGxpa2UgW3RleHRdW2VxdWFsc109ZXhhbXBsZSUyMHBvc3QgdG8gdGhlIHJpZ2h0IGZvcm1hdFxuICAgICAgICBjb25zdCB0cmFuc2Zvcm1lZFdoZXJlID0gdHJhbnNmb3JtV2hlcmVRdWVyeSh3aGVyZUZyb21TZWFyY2gpXG5cbiAgICAgICAgaWYgKHZhbGlkYXRlV2hlcmVRdWVyeSh0cmFuc2Zvcm1lZFdoZXJlKSkge1xuICAgICAgICAgIHJldHVybiB0cmFuc2Zvcm1lZFdoZXJlLm9yXG4gICAgICAgIH1cblxuICAgICAgICBjb25zb2xlLndhcm4oJ0ludmFsaWQgd2hlcmUgcXVlcnkgaW4gVVJMLiBJZ25vcmluZy4nKVxuICAgICAgfVxuICAgICAgcmV0dXJuIFtdXG4gICAgfSxcbiAgKVxuXG4gIC8vIFRoaXMgaGFuZGxlcyB1cGRhdGluZyB0aGUgc2VhcmNoIHF1ZXJ5IChVUkwpIHdoZW4gdGhlIHdoZXJlIGNvbmRpdGlvbnMgY2hhbmdlXG4gIC8vIHVzZVRocm90dGxlZEVmZmVjdChcbiAgLy8gICAoKSA9PiB7XG4gIC8vICAgICBjb25zdCBjdXJyZW50UGFyYW1zID0gcXVlcnlTdHJpbmcucGFyc2UoaGlzdG9yeS5sb2NhdGlvbi5zZWFyY2gsIHtcbiAgLy8gICAgICAgZGVwdGg6IDEwLFxuICAvLyAgICAgICBpZ25vcmVRdWVyeVByZWZpeDogdHJ1ZSxcbiAgLy8gICAgIH0pIGFzIHsgd2hlcmU6IFdoZXJlIH1cblxuICAvLyAgICAgY29uc3QgcGFyYW1zVG9LZWVwID1cbiAgLy8gICAgICAgdHlwZW9mIGN1cnJlbnRQYXJhbXM/LndoZXJlID09PSAnb2JqZWN0JyAmJiAnb3InIGluIGN1cnJlbnRQYXJhbXMud2hlcmVcbiAgLy8gICAgICAgICA/IGN1cnJlbnRQYXJhbXMud2hlcmUub3IucmVkdWNlKChrZXB0UGFyYW1zLCBwYXJhbSkgPT4ge1xuICAvLyAgICAgICAgICAgICBjb25zdCBuZXdQYXJhbSA9IHsgLi4ucGFyYW0gfVxuICAvLyAgICAgICAgICAgICBpZiAocGFyYW0uYW5kKSB7XG4gIC8vICAgICAgICAgICAgICAgZGVsZXRlIG5ld1BhcmFtLmFuZFxuICAvLyAgICAgICAgICAgICB9XG4gIC8vICAgICAgICAgICAgIHJldHVybiBbLi4ua2VwdFBhcmFtcywgbmV3UGFyYW1dXG4gIC8vICAgICAgICAgICB9LCBbXSlcbiAgLy8gICAgICAgICA6IFtdXG5cbiAgLy8gICAgIGNvbnN0IGhhc05ld1doZXJlQ29uZGl0aW9ucyA9IGNvbmRpdGlvbnMubGVuZ3RoID4gMFxuXG4gIC8vICAgICBjb25zdCBuZXdXaGVyZVF1ZXJ5ID0ge1xuICAvLyAgICAgICAuLi4odHlwZW9mIGN1cnJlbnRQYXJhbXM/LndoZXJlID09PSAnb2JqZWN0JyAmJlxuICAvLyAgICAgICAodmFsaWRhdGVXaGVyZVF1ZXJ5KGN1cnJlbnRQYXJhbXM/LndoZXJlKSB8fCAhaGFzTmV3V2hlcmVDb25kaXRpb25zKVxuICAvLyAgICAgICAgID8gY3VycmVudFBhcmFtcy53aGVyZVxuICAvLyAgICAgICAgIDoge30pLFxuICAvLyAgICAgICBvcjogWy4uLmNvbmRpdGlvbnMsIC4uLnBhcmFtc1RvS2VlcF0sXG4gIC8vICAgICB9XG5cbiAgLy8gICAgIGlmIChoYW5kbGVDaGFuZ2UpIGhhbmRsZUNoYW5nZShuZXdXaGVyZVF1ZXJ5IGFzIFdoZXJlKVxuXG4gIC8vICAgICBjb25zdCBoYXNFeGlzdGluZ0NvbmRpdGlvbnMgPVxuICAvLyAgICAgICB0eXBlb2YgY3VycmVudFBhcmFtcz8ud2hlcmUgPT09ICdvYmplY3QnICYmICdvcicgaW4gY3VycmVudFBhcmFtcy53aGVyZVxuXG4gIC8vICAgICBpZiAoXG4gIC8vICAgICAgIG1vZGlmeVNlYXJjaFF1ZXJ5ICYmXG4gIC8vICAgICAgICgoaGFzRXhpc3RpbmdDb25kaXRpb25zICYmICFoYXNOZXdXaGVyZUNvbmRpdGlvbnMpIHx8IGhhc05ld1doZXJlQ29uZGl0aW9ucylcbiAgLy8gICAgICkge1xuICAvLyAgICAgICBoaXN0b3J5LnJlcGxhY2Uoe1xuICAvLyAgICAgICAgIHNlYXJjaDogcXVlcnlTdHJpbmcuc3RyaW5naWZ5KFxuICAvLyAgICAgICAgICAge1xuICAvLyAgICAgICAgICAgICAuLi5jdXJyZW50UGFyYW1zLFxuICAvLyAgICAgICAgICAgICBwYWdlOiAxLFxuICAvLyAgICAgICAgICAgICB3aGVyZTogbmV3V2hlcmVRdWVyeSxcbiAgLy8gICAgICAgICAgIH0sXG4gIC8vICAgICAgICAgICB7IGFkZFF1ZXJ5UHJlZml4OiB0cnVlIH0sXG4gIC8vICAgICAgICAgKSxcbiAgLy8gICAgICAgfSlcbiAgLy8gICAgIH1cbiAgLy8gICB9LFxuICAvLyAgIDUwMCxcbiAgLy8gICBbY29uZGl0aW9ucywgbW9kaWZ5U2VhcmNoUXVlcnksIGhhbmRsZUNoYW5nZV0sXG4gIC8vIClcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtiYXNlQ2xhc3N9PlxuICAgICAge2NvbmRpdGlvbnMubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fbGFiZWxgfT5cbiAgICAgICAgICAgIHt0KCdnZW5lcmFsOmZpbHRlcldoZXJlJywgeyBsYWJlbDogZ2V0VHJhbnNsYXRpb24oY29sbGVjdGlvblBsdXJhbExhYmVsLCBpMThuKSB9KX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8dWwgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19vci1maWx0ZXJzYH0+XG4gICAgICAgICAgICB7Y29uZGl0aW9ucy5tYXAoKG9yLCBvckluZGV4KSA9PiAoXG4gICAgICAgICAgICAgIDxsaSBrZXk9e29ySW5kZXh9PlxuICAgICAgICAgICAgICAgIHtvckluZGV4ICE9PSAwICYmIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19sYWJlbGB9Pnt0KCdnZW5lcmFsOm9yJyl9PC9kaXY+fVxuICAgICAgICAgICAgICAgIDx1bCBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2FuZC1maWx0ZXJzYH0+XG4gICAgICAgICAgICAgICAgICB7QXJyYXkuaXNBcnJheShvcj8uYW5kKSAmJlxuICAgICAgICAgICAgICAgICAgICBvci5hbmQubWFwKChfLCBhbmRJbmRleCkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgIDxsaSBrZXk9e2FuZEluZGV4fT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHthbmRJbmRleCAhPT0gMCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19sYWJlbGB9Pnt0KCdnZW5lcmFsOmFuZCcpfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDxDb25kaXRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kSW5kZXg9e2FuZEluZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwYXRjaD17ZGlzcGF0Y2hDb25kaXRpb25zfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZHM9e3JlZHVjZWRGaWVsZHN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17YW5kSW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9ySW5kZXg9e29ySW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXtjb25kaXRpb25zW29ySW5kZXhdLmFuZFthbmRJbmRleF19XG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L3VsPlxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGJ1dHRvblN0eWxlPVwiaWNvbi1sYWJlbFwiXG4gICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2FkZC1vcmB9XG4gICAgICAgICAgICBpY29uPVwicGx1c1wiXG4gICAgICAgICAgICBpY29uUG9zaXRpb249XCJsZWZ0XCJcbiAgICAgICAgICAgIGljb25TdHlsZT1cIndpdGgtYm9yZGVyXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHJlZHVjZWRGaWVsZHMubGVuZ3RoID4gMClcbiAgICAgICAgICAgICAgICBkaXNwYXRjaENvbmRpdGlvbnMoeyB0eXBlOiAnYWRkJywgZmllbGQ6IHJlZHVjZWRGaWVsZHNbMF0udmFsdWUgfSlcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAge3QoJ2dlbmVyYWw6b3InKX1cbiAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICl9XG4gICAgICB7Y29uZGl0aW9ucy5sZW5ndGggPT09IDAgJiYgKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fbm8tZmlsdGVyc2B9PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19sYWJlbGB9Pnt0KCdnZW5lcmFsOm5vRmlsdGVyc1NldCcpfTwvZGl2PlxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGJ1dHRvblN0eWxlPVwiaWNvbi1sYWJlbFwiXG4gICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2FkZC1maXJzdC1maWx0ZXJgfVxuICAgICAgICAgICAgaWNvbj1cInBsdXNcIlxuICAgICAgICAgICAgaWNvblBvc2l0aW9uPVwibGVmdFwiXG4gICAgICAgICAgICBpY29uU3R5bGU9XCJ3aXRoLWJvcmRlclwiXG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgIGlmIChyZWR1Y2VkRmllbGRzLmxlbmd0aCA+IDApXG4gICAgICAgICAgICAgICAgZGlzcGF0Y2hDb25kaXRpb25zKHsgdHlwZTogJ2FkZCcsIGZpZWxkOiByZWR1Y2VkRmllbGRzWzBdLnZhbHVlIH0pXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt0KCdnZW5lcmFsOmFkZEZpbHRlcicpfVxuICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG4gICAgPC9kaXY+XG4gIClcbn1cblxuZXhwb3J0IGRlZmF1bHQgV2hlcmVCdWlsZGVyXG4iXSwibmFtZXMiOlsiYmFzZUNsYXNzIiwicmVkdWNlRmllbGRzIiwiZmllbGRzIiwiaTE4biIsImZsYXR0ZW5Ub3BMZXZlbEZpZWxkcyIsInJlZHVjZSIsInJlZHVjZWQiLCJmaWVsZCIsImZpZWxkVHlwZXMiLCJ0eXBlIiwib3BlcmF0b3JLZXlzIiwiU2V0Iiwib3BlcmF0b3JzIiwiYWNjIiwib3BlcmF0b3IiLCJoYXMiLCJ2YWx1ZSIsImFkZCIsImxhYmVsIiwidCIsImZvcm1hdHRlZEZpZWxkIiwiZ2V0VHJhbnNsYXRpb24iLCJuYW1lIiwicHJvcHMiLCJXaGVyZUJ1aWxkZXIiLCJjb2xsZWN0aW9uUGx1cmFsTGFiZWwiLCJjb2xsZWN0aW9uU2x1ZyIsImhhbmRsZUNoYW5nZSIsIm1vZGlmeVNlYXJjaFF1ZXJ5IiwidXNlVHJhbnNsYXRpb24iLCJjb25maWciLCJ1c2VDb25maWciLCJjb2xsZWN0aW9uIiwiY29sbGVjdGlvbnMiLCJmaW5kIiwiYyIsInNsdWciLCJyZWR1Y2VkRmllbGRzIiwidXNlU3RhdGUiLCJzZWFyY2hQYXJhbXMiLCJ1c2VTZWFyY2hQYXJhbXMiLCJjb25kaXRpb25zIiwiZGlzcGF0Y2hDb25kaXRpb25zIiwidXNlUmVkdWNlciIsInJlZHVjZXIiLCJ3aGVyZSIsIndoZXJlRnJvbVNlYXJjaCIsInZhbGlkYXRlV2hlcmVRdWVyeSIsIm9yIiwidHJhbnNmb3JtZWRXaGVyZSIsInRyYW5zZm9ybVdoZXJlUXVlcnkiLCJjb25zb2xlIiwid2FybiIsImRpdiIsImNsYXNzTmFtZSIsImxlbmd0aCIsIlJlYWN0IiwiRnJhZ21lbnQiLCJ1bCIsIm1hcCIsIm9ySW5kZXgiLCJsaSIsImtleSIsIkFycmF5IiwiaXNBcnJheSIsImFuZCIsIl8iLCJhbmRJbmRleCIsIkNvbmRpdGlvbiIsImRpc3BhdGNoIiwiQnV0dG9uIiwiYnV0dG9uU3R5bGUiLCJpY29uIiwiaWNvblBvc2l0aW9uIiwiaWNvblN0eWxlIiwib25DbGljayJdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCOzs7OzsrQkEwTi9COzs7ZUFBQTs7OzhCQXpOK0I7MkJBQ087K0RBQ007d0JBS2xCOzhCQUVNOzZCQUNEO3dCQUNSO2tFQUNEO21FQUNDO1FBQ2hCO2dFQUNhO3FDQUNnQjsyRUFDTDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFL0IsTUFB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
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9XaGVyZUJ1aWxkZXIvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIGltcG9ydCBxdWVyeVN0cmluZyBmcm9tICdxcydcbmltcG9ydCB7IGdldFRyYW5zbGF0aW9uIH0gZnJvbSAnQHBheWxvYWRjbXMvdHJhbnNsYXRpb25zJ1xuaW1wb3J0IHsgZmxhdHRlblRvcExldmVsRmllbGRzIH0gZnJvbSAncGF5bG9hZC91dGlsaXRpZXMnXG5pbXBvcnQgUmVhY3QsIHsgdXNlUmVkdWNlciwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcblxuLy8gaW1wb3J0IHR5cGUgeyBXaGVyZSB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFByb3BzIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHsgdXNlQ29uZmlnIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL0NvbmZpZydcbi8vIGltcG9ydCB1c2VUaHJvdHRsZWRFZmZlY3QgZnJvbSAnLi4vLi4vaG9va3MvdXNlVGhyb3R0bGVkRWZmZWN0J1xuaW1wb3J0IHsgdXNlU2VhcmNoUGFyYW1zIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL1NlYXJjaFBhcmFtcydcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL1RyYW5zbGF0aW9uJ1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnLi4vQnV0dG9uJ1xuaW1wb3J0IENvbmRpdGlvbiBmcm9tICcuL0NvbmRpdGlvbidcbmltcG9ydCBmaWVsZFR5cGVzIGZyb20gJy4vZmllbGQtdHlwZXMnXG5pbXBvcnQgJy4vaW5kZXguc2NzcydcbmltcG9ydCByZWR1Y2VyIGZyb20gJy4vcmVkdWNlcidcbmltcG9ydCB7IHRyYW5zZm9ybVdoZXJlUXVlcnkgfSBmcm9tICcuL3RyYW5zZm9ybVdoZXJlUXVlcnknXG5pbXBvcnQgdmFsaWRhdGVXaGVyZVF1ZXJ5IGZyb20gJy4vdmFsaWRhdGVXaGVyZVF1ZXJ5J1xuXG5jb25zdCBiYXNlQ2xhc3MgPSAnd2hlcmUtYnVpbGRlcidcblxuY29uc3QgcmVkdWNlRmllbGRzID0gKGZpZWxkcywgaTE4bikgPT5cbiAgZmxhdHRlblRvcExldmVsRmllbGRzKGZpZWxkcykucmVkdWNlKChyZWR1Y2VkLCBmaWVsZCkgPT4ge1xuICAgIGlmICh0eXBlb2YgZmllbGRUeXBlc1tmaWVsZC50eXBlXSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIGNvbnN0IG9wZXJhdG9yS2V5cyA9IG5ldyBTZXQoKVxuICAgICAgY29uc3Qgb3BlcmF0b3JzID0gZmllbGRUeXBlc1tmaWVsZC50eXBlXS5vcGVyYXRvcnMucmVkdWNlKChhY2MsIG9wZXJhdG9yKSA9PiB7XG4gICAgICAgIGlmICghb3BlcmF0b3JLZXlzLmhhcyhvcGVyYXRvci52YWx1ZSkpIHtcbiAgICAgICAgICBvcGVyYXRvcktleXMuYWRkKG9wZXJhdG9yLnZhbHVlKVxuICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAuLi5hY2MsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIC4uLm9wZXJhdG9yLFxuICAgICAgICAgICAgICBsYWJlbDogaTE4bi50KGBvcGVyYXRvcnM6JHtvcGVyYXRvci5sYWJlbH1gKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhY2NcbiAgICAgIH0sIFtdKVxuXG4gICAgICBjb25zdCBmb3JtYXR0ZWRGaWVsZCA9IHtcbiAgICAgICAgbGFiZWw6IGdldFRyYW5zbGF0aW9uKGZpZWxkLmxhYmVsIHx8IGZpZWxkLm5hbWUsIGkxOG4pLFxuICAgICAgICB2YWx1ZTogZmllbGQubmFtZSxcbiAgICAgICAgLi4uZmllbGRUeXBlc1tmaWVsZC50eXBlXSxcbiAgICAgICAgb3BlcmF0b3JzLFxuICAgICAgICBwcm9wczoge1xuICAgICAgICAgIC4uLmZpZWxkLFxuICAgICAgICB9LFxuICAgICAgfVxuXG4gICAgICByZXR1cm4gWy4uLnJlZHVjZWQsIGZvcm1hdHRlZEZpZWxkXVxuICAgIH1cblxuICAgIHJldHVybiByZWR1Y2VkXG4gIH0sIFtdKVxuXG4vKipcbiAqIFRoZSBXaGVyZUJ1aWxkZXIgY29tcG9uZW50IGlzIHVzZWQgdG8gcmVuZGVyIHRoZSBmaWx0ZXIgY29udHJvbHMgZm9yIGEgY29sbGVjdGlvbidzIGxpc3Qgdmlldy5cbiAqIEl0IGlzIHBhcnQgb2YgdGhlIHtAbGluayBMaXN0Q29udHJvbHN9IGNvbXBvbmVudCB3aGljaCBpcyB1c2VkIHRvIHJlbmRlciB0aGUgY29udHJvbHMgKHNlYXJjaCwgZmlsdGVyLCB3aGVyZSkuXG4gKi9cbmNvbnN0IFdoZXJlQnVpbGRlcjogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgY29sbGVjdGlvblBsdXJhbExhYmVsLCBjb2xsZWN0aW9uU2x1ZywgaGFuZGxlQ2hhbmdlLCBtb2RpZnlTZWFyY2hRdWVyeSA9IHRydWUgfSA9IHByb3BzXG4gIGNvbnN0IHsgaTE4biwgdCB9ID0gdXNlVHJhbnNsYXRpb24oKVxuXG4gIGNvbnN0IGNvbmZpZyA9IHVzZUNvbmZpZygpXG4gIGNvbnN0IGNvbGxlY3Rpb24gPSBjb25maWcuY29sbGVjdGlvbnMuZmluZCgoYykgPT4gYy5zbHVnID09PSBjb2xsZWN0aW9uU2x1ZylcbiAgY29uc3QgW3JlZHVjZWRGaWVsZHNdID0gdXNlU3RhdGUoKCkgPT4gcmVkdWNlRmllbGRzKGNvbGxlY3Rpb24uZmllbGRzLCBpMThuKSlcblxuICBjb25zdCB7IHNlYXJjaFBhcmFtcyB9ID0gdXNlU2VhcmNoUGFyYW1zKClcblxuICAvLyBUaGlzIGhhbmRsZXMgaW5pdGlhbGl6aW5nIHRoZSB3aGVyZSBjb25kaXRpb25zIGZyb20gdGhlIHNlYXJjaCBxdWVyeSAoVVJMKS4gVGhhdCB3YXksIGlmIHlvdSBwYXNzIGluXG4gIC8vIHF1ZXJ5IHBhcmFtcyB0byB0aGUgVVJMLCB0aGUgd2hlcmUgY29uZGl0aW9ucyB3aWxsIGJlIGluaXRpYWxpemVkIGZyb20gdGhvc2UgYW5kIGRpc3BsYXllZCBpbiB0aGUgVUkuXG4gIC8vIEV4YW1wbGU6IC9hZG1pbi9jb2xsZWN0aW9ucy9wb3N0cz93aGVyZVtvcl1bMF1bYW5kXVswXVt0ZXh0XVtlcXVhbHNdPWV4YW1wbGUlMjBwb3N0XG4gIGNvbnN0IFtjb25kaXRpb25zLCBkaXNwYXRjaENvbmRpdGlvbnNdID0gdXNlUmVkdWNlcihcbiAgICByZWR1Y2VyLFxuICAgIHNlYXJjaFBhcmFtcy53aGVyZSxcbiAgICAod2hlcmVGcm9tU2VhcmNoKSA9PiB7XG4gICAgICBpZiAobW9kaWZ5U2VhcmNoUXVlcnkgJiYgd2hlcmVGcm9tU2VhcmNoKSB7XG4gICAgICAgIGlmICh2YWxpZGF0ZVdoZXJlUXVlcnkod2hlcmVGcm9tU2VhcmNoKSkge1xuICAgICAgICAgIHJldHVybiB3aGVyZUZyb21TZWFyY2gub3JcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRyYW5zZm9ybSB0aGUgd2hlcmUgcXVlcnkgdG8gYmUgaW4gdGhlIHJpZ2h0IGZvcm1hdC4gVGhpcyB3aWxsIHRyYW5zZm9ybSBzb21ldGhpbmcgc2ltcGxlIGxpa2UgW3RleHRdW2VxdWFsc109ZXhhbXBsZSUyMHBvc3QgdG8gdGhlIHJpZ2h0IGZvcm1hdFxuICAgICAgICBjb25zdCB0cmFuc2Zvcm1lZFdoZXJlID0gdHJhbnNmb3JtV2hlcmVRdWVyeSh3aGVyZUZyb21TZWFyY2gpXG5cbiAgICAgICAgaWYgKHZhbGlkYXRlV2hlcmVRdWVyeSh0cmFuc2Zvcm1lZFdoZXJlKSkge1xuICAgICAgICAgIHJldHVybiB0cmFuc2Zvcm1lZFdoZXJlLm9yXG4gICAgICAgIH1cblxuICAgICAgICBjb25zb2xlLndhcm4oJ0ludmFsaWQgd2hlcmUgcXVlcnkgaW4gVVJMLiBJZ25vcmluZy4nKVxuICAgICAgfVxuICAgICAgcmV0dXJuIFtdXG4gICAgfSxcbiAgKVxuXG4gIC8vIFRoaXMgaGFuZGxlcyB1cGRhdGluZyB0aGUgc2VhcmNoIHF1ZXJ5IChVUkwpIHdoZW4gdGhlIHdoZXJlIGNvbmRpdGlvbnMgY2hhbmdlXG4gIC8vIHVzZVRocm90dGxlZEVmZmVjdChcbiAgLy8gICAoKSA9PiB7XG4gIC8vICAgICBjb25zdCBjdXJyZW50UGFyYW1zID0gcXVlcnlTdHJpbmcucGFyc2UoaGlzdG9yeS5sb2NhdGlvbi5zZWFyY2gsIHtcbiAgLy8gICAgICAgZGVwdGg6IDEwLFxuICAvLyAgICAgICBpZ25vcmVRdWVyeVByZWZpeDogdHJ1ZSxcbiAgLy8gICAgIH0pIGFzIHsgd2hlcmU6IFdoZXJlIH1cblxuICAvLyAgICAgY29uc3QgcGFyYW1zVG9LZWVwID1cbiAgLy8gICAgICAgdHlwZW9mIGN1cnJlbnRQYXJhbXM/LndoZXJlID09PSAnb2JqZWN0JyAmJiAnb3InIGluIGN1cnJlbnRQYXJhbXMud2hlcmVcbiAgLy8gICAgICAgICA/IGN1cnJlbnRQYXJhbXMud2hlcmUub3IucmVkdWNlKChrZXB0UGFyYW1zLCBwYXJhbSkgPT4ge1xuICAvLyAgICAgICAgICAgICBjb25zdCBuZXdQYXJhbSA9IHsgLi4ucGFyYW0gfVxuICAvLyAgICAgICAgICAgICBpZiAocGFyYW0uYW5kKSB7XG4gIC8vICAgICAgICAgICAgICAgZGVsZXRlIG5ld1BhcmFtLmFuZFxuICAvLyAgICAgICAgICAgICB9XG4gIC8vICAgICAgICAgICAgIHJldHVybiBbLi4ua2VwdFBhcmFtcywgbmV3UGFyYW1dXG4gIC8vICAgICAgICAgICB9LCBbXSlcbiAgLy8gICAgICAgICA6IFtdXG5cbiAgLy8gICAgIGNvbnN0IGhhc05ld1doZXJlQ29uZGl0aW9ucyA9IGNvbmRpdGlvbnMubGVuZ3RoID4gMFxuXG4gIC8vICAgICBjb25zdCBuZXdXaGVyZVF1ZXJ5ID0ge1xuICAvLyAgICAgICAuLi4odHlwZW9mIGN1cnJlbnRQYXJhbXM/LndoZXJlID09PSAnb2JqZWN0JyAmJlxuICAvLyAgICAgICAodmFsaWRhdGVXaGVyZVF1ZXJ5KGN1cnJlbnRQYXJhbXM/LndoZXJlKSB8fCAhaGFzTmV3V2hlcmVDb25kaXRpb25zKVxuICAvLyAgICAgICAgID8gY3VycmVudFBhcmFtcy53aGVyZVxuICAvLyAgICAgICAgIDoge30pLFxuICAvLyAgICAgICBvcjogWy4uLmNvbmRpdGlvbnMsIC4uLnBhcmFtc1RvS2VlcF0sXG4gIC8vICAgICB9XG5cbiAgLy8gICAgIGlmIChoYW5kbGVDaGFuZ2UpIGhhbmRsZUNoYW5nZShuZXdXaGVyZVF1ZXJ5IGFzIFdoZXJlKVxuXG4gIC8vICAgICBjb25zdCBoYXNFeGlzdGluZ0NvbmRpdGlvbnMgPVxuICAvLyAgICAgICB0eXBlb2YgY3VycmVudFBhcmFtcz8ud2hlcmUgPT09ICdvYmplY3QnICYmICdvcicgaW4gY3VycmVudFBhcmFtcy53aGVyZVxuXG4gIC8vICAgICBpZiAoXG4gIC8vICAgICAgIG1vZGlmeVNlYXJjaFF1ZXJ5ICYmXG4gIC8vICAgICAgICgoaGFzRXhpc3RpbmdDb25kaXRpb25zICYmICFoYXNOZXdXaGVyZUNvbmRpdGlvbnMpIHx8IGhhc05ld1doZXJlQ29uZGl0aW9ucylcbiAgLy8gICAgICkge1xuICAvLyAgICAgICBoaXN0b3J5LnJlcGxhY2Uoe1xuICAvLyAgICAgICAgIHNlYXJjaDogcXVlcnlTdHJpbmcuc3RyaW5naWZ5KFxuICAvLyAgICAgICAgICAge1xuICAvLyAgICAgICAgICAgICAuLi5jdXJyZW50UGFyYW1zLFxuICAvLyAgICAgICAgICAgICBwYWdlOiAxLFxuICAvLyAgICAgICAgICAgICB3aGVyZTogbmV3V2hlcmVRdWVyeSxcbiAgLy8gICAgICAgICAgIH0sXG4gIC8vICAgICAgICAgICB7IGFkZFF1ZXJ5UHJlZml4OiB0cnVlIH0sXG4gIC8vICAgICAgICAgKSxcbiAgLy8gICAgICAgfSlcbiAgLy8gICAgIH1cbiAgLy8gICB9LFxuICAvLyAgIDUwMCxcbiAgLy8gICBbY29uZGl0aW9ucywgbW9kaWZ5U2VhcmNoUXVlcnksIGhhbmRsZUNoYW5nZV0sXG4gIC8vIClcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtiYXNlQ2xhc3N9PlxuICAgICAge2NvbmRpdGlvbnMubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fbGFiZWxgfT5cbiAgICAgICAgICAgIHt0KCdnZW5lcmFsOmZpbHRlcldoZXJlJywgeyBsYWJlbDogZ2V0VHJhbnNsYXRpb24oY29sbGVjdGlvblBsdXJhbExhYmVsLCBpMThuKSB9KX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8dWwgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19vci1maWx0ZXJzYH0+XG4gICAgICAgICAgICB7Y29uZGl0aW9ucy5tYXAoKG9yLCBvckluZGV4KSA9PiAoXG4gICAgICAgICAgICAgIDxsaSBrZXk9e29ySW5kZXh9PlxuICAgICAgICAgICAgICAgIHtvckluZGV4ICE9PSAwICYmIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19sYWJlbGB9Pnt0KCdnZW5lcmFsOm9yJyl9PC9kaXY+fVxuICAgICAgICAgICAgICAgIDx1bCBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2FuZC1maWx0ZXJzYH0+XG4gICAgICAgICAgICAgICAgICB7QXJyYXkuaXNBcnJheShvcj8uYW5kKSAmJlxuICAgICAgICAgICAgICAgICAgICBvci5hbmQubWFwKChfLCBhbmRJbmRleCkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgIDxsaSBrZXk9e2FuZEluZGV4fT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHthbmRJbmRleCAhPT0gMCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19sYWJlbGB9Pnt0KCdnZW5lcmFsOmFuZCcpfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDxDb25kaXRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kSW5kZXg9e2FuZEluZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwYXRjaD17ZGlzcGF0Y2hDb25kaXRpb25zfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZHM9e3JlZHVjZWRGaWVsZHN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17YW5kSW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9ySW5kZXg9e29ySW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXtjb25kaXRpb25zW29ySW5kZXhdLmFuZFthbmRJbmRleF19XG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L3VsPlxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGJ1dHRvblN0eWxlPVwiaWNvbi1sYWJlbFwiXG4gICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2FkZC1vcmB9XG4gICAgICAgICAgICBpY29uPVwicGx1c1wiXG4gICAgICAgICAgICBpY29uUG9zaXRpb249XCJsZWZ0XCJcbiAgICAgICAgICAgIGljb25TdHlsZT1cIndpdGgtYm9yZGVyXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHJlZHVjZWRGaWVsZHMubGVuZ3RoID4gMClcbiAgICAgICAgICAgICAgICBkaXNwYXRjaENvbmRpdGlvbnMoeyB0eXBlOiAnYWRkJywgZmllbGQ6IHJlZHVjZWRGaWVsZHNbMF0udmFsdWUgfSlcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAge3QoJ2dlbmVyYWw6b3InKX1cbiAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICl9XG4gICAgICB7Y29uZGl0aW9ucy5sZW5ndGggPT09IDAgJiYgKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fbm8tZmlsdGVyc2B9PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19sYWJlbGB9Pnt0KCdnZW5lcmFsOm5vRmlsdGVyc1NldCcpfTwvZGl2PlxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGJ1dHRvblN0eWxlPVwiaWNvbi1sYWJlbFwiXG4gICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2FkZC1maXJzdC1maWx0ZXJgfVxuICAgICAgICAgICAgaWNvbj1cInBsdXNcIlxuICAgICAgICAgICAgaWNvblBvc2l0aW9uPVwibGVmdFwiXG4gICAgICAgICAgICBpY29uU3R5bGU9XCJ3aXRoLWJvcmRlclwiXG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgIGlmIChyZWR1Y2VkRmllbGRzLmxlbmd0aCA+IDApXG4gICAgICAgICAgICAgICAgZGlzcGF0Y2hDb25kaXRpb25zKHsgdHlwZTogJ2FkZCcsIGZpZWxkOiByZWR1Y2VkRmllbGRzWzBdLnZhbHVlIH0pXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt0KCdnZW5lcmFsOmFkZEZpbHRlcicpfVxuICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG4gICAgPC9kaXY+XG4gIClcbn1cblxuZXhwb3J0IGRlZmF1bHQgV2hlcmVCdWlsZGVyXG4iXSwibmFtZXMiOlsiZ2V0VHJhbnNsYXRpb24iLCJmbGF0dGVuVG9wTGV2ZWxGaWVsZHMiLCJSZWFjdCIsInVzZVJlZHVjZXIiLCJ1c2VTdGF0ZSIsInVzZUNvbmZpZyIsInVzZVNlYXJjaFBhcmFtcyIsInVzZVRyYW5zbGF0aW9uIiwiQnV0dG9uIiwiQ29uZGl0aW9uIiwiZmllbGRUeXBlcyIsInJlZHVjZXIiLCJ0cmFuc2Zvcm1XaGVyZVF1ZXJ5IiwidmFsaWRhdGVXaGVyZVF1ZXJ5IiwiYmFzZUNsYXNzIiwicmVkdWNlRmllbGRzIiwiZmllbGRzIiwiaTE4biIsInJlZHVjZSIsInJlZHVjZWQiLCJmaWVsZCIsInR5cGUiLCJvcGVyYXRvcktleXMiLCJTZXQiLCJvcGVyYXRvcnMiLCJhY2MiLCJvcGVyYXRvciIsImhhcyIsInZhbHVlIiwiYWRkIiwibGFiZWwiLCJ0IiwiZm9ybWF0dGVkRmllbGQiLCJuYW1lIiwicHJvcHMiLCJXaGVyZUJ1aWxkZXIiLCJjb2xsZWN0aW9uUGx1cmFsTGFiZWwiLCJjb2xsZWN0aW9uU2x1ZyIsImhhbmRsZUNoYW5nZSIsIm1vZGlmeVNlYXJjaFF1ZXJ5IiwiY29uZmlnIiwiY29sbGVjdGlvbiIsImNvbGxlY3Rpb25zIiwiZmluZCIsImMiLCJzbHVnIiwicmVkdWNlZEZpZWxkcyIsInNlYXJjaFBhcmFtcyIsImNvbmRpdGlvbnMiLCJkaXNwYXRjaENvbmRpdGlvbnMiLCJ3aGVyZSIsIndoZXJlRnJvbVNlYXJjaCIsIm9yIiwidHJhbnNmb3JtZWRXaGVyZSIsImNvbnNvbGUiLCJ3YXJuIiwiZGl2IiwiY2xhc3NOYW1lIiwibGVuZ3RoIiwiRnJhZ21lbnQiLCJ1bCIsIm1hcCIsIm9ySW5kZXgiLCJsaSIsImtleSIsIkFycmF5IiwiaXNBcnJheSIsImFuZCIsIl8iLCJhbmRJbmRleCIsImRpc3BhdGNoIiwiYnV0dG9uU3R5bGUiLCJpY29uIiwiaWNvblBvc2l0aW9uIiwiaWNvblN0eWxlIiwib25DbGljayJdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLFNBQVNBLGNBQWMsUUFBUSwyQkFBMEI7QUFDekQsU0FBU0MscUJBQXFCLFFBQVEsb0JBQW1CO0FBQ3pELE9BQU9DLFNBQVNDLFVBQVUsRUFBRUMsUUFBUSxRQUFRLFFBQU87QUFLbkQsU0FBU0MsU0FBUyxRQUFRLHlCQUF3QjtBQUNsRCxrRUFBa0U7QUFDbEUsU0FBU0Ms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