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

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 (419) hide show
  1. package/dist/@types/assets.d.js +3 -0
  2. package/dist/config.js +13 -0
  3. package/dist/elements/ArrayAction/index.js +120 -0
  4. package/dist/elements/ArrayAction/types.js +6 -0
  5. package/dist/elements/Autosave/index.d.ts.map +1 -1
  6. package/dist/elements/Autosave/index.js +207 -0
  7. package/dist/elements/Autosave/types.js +6 -0
  8. package/dist/elements/Banner/index.js +52 -0
  9. package/dist/elements/Banner/types.js +6 -0
  10. package/dist/elements/Button/index.js +166 -0
  11. package/dist/elements/Button/types.js +6 -0
  12. package/dist/elements/Card/index.js +46 -0
  13. package/dist/elements/Card/types.js +6 -0
  14. package/dist/elements/CodeEditor/CodeEditor.js +53 -0
  15. package/dist/elements/CodeEditor/index.js +68 -0
  16. package/dist/elements/CodeEditor/types.js +6 -0
  17. package/dist/elements/Collapsible/index.js +128 -0
  18. package/dist/elements/Collapsible/provider.js +90 -0
  19. package/dist/elements/Collapsible/types.js +6 -0
  20. package/dist/elements/ColumnSelector/index.js +109 -0
  21. package/dist/elements/ColumnSelector/types.js +6 -0
  22. package/dist/elements/CopyToClipboard/index.js +98 -0
  23. package/dist/elements/CopyToClipboard/types.js +6 -0
  24. package/dist/elements/DatePicker/DatePicker.js +147 -0
  25. package/dist/elements/DatePicker/index.js +63 -0
  26. package/dist/elements/DatePicker/types.js +6 -0
  27. package/dist/elements/DeleteDocument/index.js +178 -0
  28. package/dist/elements/DeleteDocument/types.js +6 -0
  29. package/dist/elements/DeleteMany/index.js +176 -0
  30. package/dist/elements/DeleteMany/types.js +6 -0
  31. package/dist/elements/DocumentControls/index.d.ts +2 -2
  32. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  33. package/dist/elements/DocumentControls/index.js +159 -0
  34. package/dist/elements/DocumentDrawer/DrawerContent.js +219 -0
  35. package/dist/elements/DocumentDrawer/index.js +185 -0
  36. package/dist/elements/DocumentDrawer/types.js +6 -0
  37. package/dist/elements/DocumentFields/index.js +55 -0
  38. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +23 -0
  39. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +42 -0
  40. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +105 -0
  41. package/dist/elements/DocumentHeader/Tabs/getCustomViews.js +48 -0
  42. package/dist/elements/DocumentHeader/Tabs/getViewConfig.js +24 -0
  43. package/dist/elements/DocumentHeader/Tabs/index.js +84 -0
  44. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +27 -0
  45. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +75 -0
  46. package/dist/elements/DocumentHeader/index.js +81 -0
  47. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +82 -0
  48. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js +6 -0
  49. package/dist/elements/DraggableSortable/index.js +96 -0
  50. package/dist/elements/DraggableSortable/types.js +6 -0
  51. package/dist/elements/DraggableSortable/useDraggableSortable/index.js +32 -0
  52. package/dist/elements/DraggableSortable/useDraggableSortable/types.js +6 -0
  53. package/dist/elements/Drawer/index.js +156 -0
  54. package/dist/elements/Drawer/types.js +6 -0
  55. package/dist/elements/Drawer/useDrawerSlug.js +23 -0
  56. package/dist/elements/Dropzone/index.js +117 -0
  57. package/dist/elements/DuplicateDocument/index.js +217 -0
  58. package/dist/elements/DuplicateDocument/types.js +6 -0
  59. package/dist/elements/EditMany/index.js +274 -0
  60. package/dist/elements/EditMany/types.js +6 -0
  61. package/dist/elements/EditUpload/index.js +390 -0
  62. package/dist/elements/ErrorPill/index.js +37 -0
  63. package/dist/elements/ErrorPill/types.js +6 -0
  64. package/dist/elements/FieldSelect/index.js +138 -0
  65. package/dist/elements/FileDetails/FileMeta/index.js +96 -0
  66. package/dist/elements/FileDetails/FileMeta/types.js +6 -0
  67. package/dist/elements/FileDetails/index.js +59 -0
  68. package/dist/elements/FileDetails/types.js +6 -0
  69. package/dist/elements/GenerateConfirmation/index.js +72 -0
  70. package/dist/elements/GenerateConfirmation/types.js +6 -0
  71. package/dist/elements/GetFilterOptions/index.js +57 -0
  72. package/dist/elements/Gutter/index.js +72 -0
  73. package/dist/elements/Hamburger/index.js +54 -0
  74. package/dist/elements/Header/index.d.ts.map +1 -1
  75. package/dist/elements/Header/index.js +140 -0
  76. package/dist/elements/HydrateClientUser/index.js +28 -0
  77. package/dist/elements/IDLabel/index.js +28 -0
  78. package/dist/elements/ListControls/getTextFieldsToBeSearched.js +21 -0
  79. package/dist/elements/ListControls/index.js +149 -0
  80. package/dist/elements/ListControls/types.js +6 -0
  81. package/dist/elements/ListDrawer/DrawerContent.js +315 -0
  82. package/dist/elements/ListDrawer/index.js +198 -0
  83. package/dist/elements/ListDrawer/types.js +6 -0
  84. package/dist/elements/ListSelection/index.js +83 -0
  85. package/dist/elements/Loading/index.js +103 -0
  86. package/dist/elements/LoadingOverlay/index.js +130 -0
  87. package/dist/elements/LoadingOverlay/reducer.js +49 -0
  88. package/dist/elements/LoadingOverlay/types.js +6 -0
  89. package/dist/elements/Localizer/LocalizerLabel/index.js +43 -0
  90. package/dist/elements/Localizer/index.js +121 -0
  91. package/dist/elements/Logout/index.d.ts.map +1 -1
  92. package/dist/elements/Logout/index.js +49 -0
  93. package/dist/elements/Nav/NavHamburger/index.js +34 -0
  94. package/dist/elements/Nav/NavToggler/index.js +53 -0
  95. package/dist/elements/Nav/NavWrapper/index.js +34 -0
  96. package/dist/elements/Nav/context.js +150 -0
  97. package/dist/elements/Nav/index.d.ts.map +1 -1
  98. package/dist/elements/Nav/index.js +106 -0
  99. package/dist/elements/NavGroup/index.js +129 -0
  100. package/dist/elements/Pagination/ClickableArrow/index.js +36 -0
  101. package/dist/elements/Pagination/ClickableArrow/types.js +6 -0
  102. package/dist/elements/Pagination/Page/index.js +33 -0
  103. package/dist/elements/Pagination/Page/types.js +6 -0
  104. package/dist/elements/Pagination/Separator/index.js +22 -0
  105. package/dist/elements/Pagination/index.js +126 -0
  106. package/dist/elements/Pagination/types.js +6 -0
  107. package/dist/elements/PerPage/index.d.ts.map +1 -1
  108. package/dist/elements/PerPage/index.js +115 -0
  109. package/dist/elements/Pill/index.js +93 -0
  110. package/dist/elements/Pill/types.js +6 -0
  111. package/dist/elements/Popup/PopupButtonList/index.d.ts +2 -2
  112. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  113. package/dist/elements/Popup/PopupButtonList/index.js +118 -0
  114. package/dist/elements/Popup/PopupTrigger/index.js +51 -0
  115. package/dist/elements/Popup/PopupTrigger/types.js +6 -0
  116. package/dist/elements/Popup/index.js +193 -0
  117. package/dist/elements/Popup/types.js +6 -0
  118. package/dist/elements/PreviewButton/index.js +129 -0
  119. package/dist/elements/PreviewSizes/index.js +163 -0
  120. package/dist/elements/Publish/index.js +153 -0
  121. package/dist/elements/PublishMany/index.js +169 -0
  122. package/dist/elements/PublishMany/types.js +6 -0
  123. package/dist/elements/ReactSelect/ClearIndicator/index.js +31 -0
  124. package/dist/elements/ReactSelect/Control/index.js +49 -0
  125. package/dist/elements/ReactSelect/MultiValue/index.js +55 -0
  126. package/dist/elements/ReactSelect/MultiValueLabel/index.js +34 -0
  127. package/dist/elements/ReactSelect/MultiValueRemove/index.js +48 -0
  128. package/dist/elements/ReactSelect/SingleValue/index.js +30 -0
  129. package/dist/elements/ReactSelect/ValueContainer/index.js +29 -0
  130. package/dist/elements/ReactSelect/index.js +177 -0
  131. package/dist/elements/ReactSelect/types.js +6 -0
  132. package/dist/elements/RenderCustomComponent/index.js +28 -0
  133. package/dist/elements/RenderCustomComponent/types.js +6 -0
  134. package/dist/elements/RenderTitle/index.js +42 -0
  135. package/dist/elements/RenderTitle/types.js +6 -0
  136. package/dist/elements/Save/index.js +103 -0
  137. package/dist/elements/SaveDraft/index.js +147 -0
  138. package/dist/elements/SearchFilter/index.d.ts.map +1 -1
  139. package/dist/elements/SearchFilter/index.js +139 -0
  140. package/dist/elements/SearchFilter/types.js +6 -0
  141. package/dist/elements/SelectAll/index.js +35 -0
  142. package/dist/elements/SelectRow/index.js +31 -0
  143. package/dist/elements/ShimmerEffect/index.js +96 -0
  144. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  145. package/dist/elements/SortColumn/index.js +139 -0
  146. package/dist/elements/SortColumn/types.js +6 -0
  147. package/dist/elements/SortComplex/index.d.ts.map +1 -1
  148. package/dist/elements/SortComplex/index.js +157 -0
  149. package/dist/elements/SortComplex/types.js +6 -0
  150. package/dist/elements/Status/index.js +202 -0
  151. package/dist/elements/StayLoggedIn/index.d.ts.map +1 -1
  152. package/dist/elements/StayLoggedIn/index.js +57 -0
  153. package/dist/elements/StayLoggedIn/types.js +6 -0
  154. package/dist/elements/StepNav/SetStepNav.js +25 -0
  155. package/dist/elements/StepNav/index.d.ts.map +1 -1
  156. package/dist/elements/StepNav/index.js +127 -0
  157. package/dist/elements/StepNav/types.js +6 -0
  158. package/dist/elements/Table/TableCellProvider/index.js +47 -0
  159. package/dist/elements/Table/index.js +63 -0
  160. package/dist/elements/Table/types.js +6 -0
  161. package/dist/elements/TableColumns/buildColumns.js +77 -0
  162. package/dist/elements/TableColumns/columnReducer.js +47 -0
  163. package/dist/elements/TableColumns/index.js +199 -0
  164. package/dist/elements/Thumbnail/index.js +89 -0
  165. package/dist/elements/Thumbnail/types.js +6 -0
  166. package/dist/elements/ThumbnailCard/index.js +54 -0
  167. package/dist/elements/ThumbnailCard/types.js +6 -0
  168. package/dist/elements/Tooltip/index.js +114 -0
  169. package/dist/elements/Tooltip/types.js +6 -0
  170. package/dist/elements/Translation/index.js +81 -0
  171. package/dist/elements/UnpublishMany/index.js +169 -0
  172. package/dist/elements/UnpublishMany/types.js +6 -0
  173. package/dist/elements/Upload/index.js +250 -0
  174. package/dist/elements/Upload/types.js +6 -0
  175. package/dist/elements/ViewDescription/index.js +38 -0
  176. package/dist/elements/ViewDescription/types.js +21 -0
  177. package/dist/elements/WhereBuilder/Condition/Date/index.js +32 -0
  178. package/dist/elements/WhereBuilder/Condition/Date/types.js +6 -0
  179. package/dist/elements/WhereBuilder/Condition/Number/index.js +33 -0
  180. package/dist/elements/WhereBuilder/Condition/Number/types.js +6 -0
  181. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +337 -0
  182. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js +98 -0
  183. package/dist/elements/WhereBuilder/Condition/Relationship/types.js +6 -0
  184. package/dist/elements/WhereBuilder/Condition/Select/index.js +96 -0
  185. package/dist/elements/WhereBuilder/Condition/Select/types.js +6 -0
  186. package/dist/elements/WhereBuilder/Condition/Text/index.js +33 -0
  187. package/dist/elements/WhereBuilder/Condition/Text/types.js +6 -0
  188. package/dist/elements/WhereBuilder/Condition/index.js +203 -0
  189. package/dist/elements/WhereBuilder/Condition/types.js +6 -0
  190. package/dist/elements/WhereBuilder/field-types.js +185 -0
  191. package/dist/elements/WhereBuilder/index.js +235 -0
  192. package/dist/elements/WhereBuilder/reducer.js +88 -0
  193. package/dist/elements/WhereBuilder/transformWhereQuery.js +57 -0
  194. package/dist/elements/WhereBuilder/types.js +6 -0
  195. package/dist/elements/WhereBuilder/validateWhereQuery.js +46 -0
  196. package/dist/exports/assets.js +27 -0
  197. package/dist/exports/elements.js +226 -0
  198. package/dist/exports/forms.js +158 -0
  199. package/dist/exports/graphics.js +27 -0
  200. package/dist/exports/hooks.js +55 -0
  201. package/dist/exports/icons.js +82 -0
  202. package/dist/exports/index.js +28 -0
  203. package/dist/exports/providers.js +116 -0
  204. package/dist/exports/templates.js +22 -0
  205. package/dist/exports/types.js +6 -0
  206. package/dist/exports/utilities.js +62 -0
  207. package/dist/forms/Error/index.js +43 -0
  208. package/dist/forms/FieldDescription/index.js +38 -0
  209. package/dist/forms/FieldDescription/types.js +6 -0
  210. package/dist/forms/FieldPathProvider/index.js +44 -0
  211. package/dist/forms/FieldPathProvider/types.js +6 -0
  212. package/dist/forms/Form/buildFieldSchemaMap.js +54 -0
  213. package/dist/forms/Form/buildInitialState.js +26 -0
  214. package/dist/forms/Form/context.js +84 -0
  215. package/dist/forms/Form/createNestedFieldPath.js +25 -0
  216. package/dist/forms/Form/errorMessages.js +15 -0
  217. package/dist/forms/Form/fieldReducer.js +286 -0
  218. package/dist/forms/Form/getDataByPath.js +29 -0
  219. package/dist/forms/Form/getSiblingData.js +50 -0
  220. package/dist/forms/Form/index.js +565 -0
  221. package/dist/forms/Form/initContextState.js +45 -0
  222. package/dist/forms/Form/mergeServerFormState.js +45 -0
  223. package/dist/forms/Form/reduceFieldsToValues.js +34 -0
  224. package/dist/forms/Form/rows.js +53 -0
  225. package/dist/forms/Form/types.js +6 -0
  226. package/dist/forms/Label/index.js +36 -0
  227. package/dist/forms/NullifyField/index.js +103 -0
  228. package/dist/forms/RenderFields/RenderField.js +30 -0
  229. package/dist/forms/RenderFields/index.js +66 -0
  230. package/dist/forms/RenderFields/types.js +6 -0
  231. package/dist/forms/RowLabel/index.js +50 -0
  232. package/dist/forms/RowLabel/types.js +21 -0
  233. package/dist/forms/Submit/index.js +75 -0
  234. package/dist/forms/WatchChildErrors/buildPathSegments.js +37 -0
  235. package/dist/forms/WatchChildErrors/getFieldStateFromPaths.js +35 -0
  236. package/dist/forms/WatchChildErrors/getNestedFieldState.js +28 -0
  237. package/dist/forms/WatchChildErrors/index.js +41 -0
  238. package/dist/forms/fields/Array/ArrayRow.js +87 -0
  239. package/dist/forms/fields/Array/index.js +305 -0
  240. package/dist/forms/fields/Array/types.js +6 -0
  241. package/dist/forms/fields/Blocks/BlockRow.js +101 -0
  242. package/dist/forms/fields/Blocks/BlocksDrawer/BlockSearch/index.js +37 -0
  243. package/dist/forms/fields/Blocks/BlocksDrawer/index.js +134 -0
  244. package/dist/forms/fields/Blocks/BlocksDrawer/types.js +6 -0
  245. package/dist/forms/fields/Blocks/RowActions.js +52 -0
  246. package/dist/forms/fields/Blocks/SectionTitle/index.js +54 -0
  247. package/dist/forms/fields/Blocks/SectionTitle/types.js +6 -0
  248. package/dist/forms/fields/Blocks/index.js +317 -0
  249. package/dist/forms/fields/Blocks/types.js +6 -0
  250. package/dist/forms/fields/Checkbox/Input.js +56 -0
  251. package/dist/forms/fields/Checkbox/index.js +134 -0
  252. package/dist/forms/fields/Checkbox/types.js +6 -0
  253. package/dist/forms/fields/Code/index.js +115 -0
  254. package/dist/forms/fields/Code/types.js +6 -0
  255. package/dist/forms/fields/Collapsible/index.js +169 -0
  256. package/dist/forms/fields/Collapsible/types.js +6 -0
  257. package/dist/forms/fields/ConfirmPassword/index.js +112 -0
  258. package/dist/forms/fields/ConfirmPassword/types.js +6 -0
  259. package/dist/forms/fields/DateTime/index.js +115 -0
  260. package/dist/forms/fields/DateTime/types.js +6 -0
  261. package/dist/forms/fields/Email/index.js +121 -0
  262. package/dist/forms/fields/Email/types.js +6 -0
  263. package/dist/forms/fields/Group/index.js +127 -0
  264. package/dist/forms/fields/Group/provider.js +74 -0
  265. package/dist/forms/fields/Group/types.js +6 -0
  266. package/dist/forms/fields/HiddenInput/index.js +88 -0
  267. package/dist/forms/fields/HiddenInput/types.js +6 -0
  268. package/dist/forms/fields/JSON/index.js +137 -0
  269. package/dist/forms/fields/JSON/types.js +6 -0
  270. package/dist/forms/fields/Number/index.js +212 -0
  271. package/dist/forms/fields/Number/types.js +6 -0
  272. package/dist/forms/fields/Password/index.js +116 -0
  273. package/dist/forms/fields/Password/types.js +6 -0
  274. package/dist/forms/fields/Point/index.js +147 -0
  275. package/dist/forms/fields/Point/types.js +6 -0
  276. package/dist/forms/fields/RadioGroup/Radio/index.js +45 -0
  277. package/dist/forms/fields/RadioGroup/index.js +147 -0
  278. package/dist/forms/fields/RadioGroup/types.js +6 -0
  279. package/dist/forms/fields/Relationship/AddNew/index.js +216 -0
  280. package/dist/forms/fields/Relationship/AddNew/types.js +6 -0
  281. package/dist/forms/fields/Relationship/AddNew/useRelatedCollections.js +27 -0
  282. package/dist/forms/fields/Relationship/createRelationMap.js +59 -0
  283. package/dist/forms/fields/Relationship/findOptionsByValue.js +45 -0
  284. package/dist/forms/fields/Relationship/index.js +509 -0
  285. package/dist/forms/fields/Relationship/optionsReducer.js +126 -0
  286. package/dist/forms/fields/Relationship/select-components/MultiValueLabel/index.js +109 -0
  287. package/dist/forms/fields/Relationship/select-components/SingleValue/index.js +108 -0
  288. package/dist/forms/fields/Relationship/types.js +6 -0
  289. package/dist/forms/fields/RichText/index.js +16 -0
  290. package/dist/forms/fields/RichText/types.js +6 -0
  291. package/dist/forms/fields/Row/index.js +42 -0
  292. package/dist/forms/fields/Row/provider.js +74 -0
  293. package/dist/forms/fields/Row/types.js +6 -0
  294. package/dist/forms/fields/Select/index.js +183 -0
  295. package/dist/forms/fields/Select/types.js +6 -0
  296. package/dist/forms/fields/Tabs/Tab/index.js +85 -0
  297. package/dist/forms/fields/Tabs/index.js +167 -0
  298. package/dist/forms/fields/Tabs/provider.js +74 -0
  299. package/dist/forms/fields/Tabs/types.js +6 -0
  300. package/dist/forms/fields/Text/index.js +194 -0
  301. package/dist/forms/fields/Text/types.js +6 -0
  302. package/dist/forms/fields/Textarea/index.js +133 -0
  303. package/dist/forms/fields/Textarea/types.js +6 -0
  304. package/dist/forms/fields/UI/index.js +16 -0
  305. package/dist/forms/fields/Upload/Input.js +3 -0
  306. package/dist/forms/fields/Upload/index.js +210 -0
  307. package/dist/forms/fields/Upload/types.js +6 -0
  308. package/dist/forms/fields/getFilterOptionsQuery.js +39 -0
  309. package/dist/forms/fields/index.js +67 -0
  310. package/dist/forms/fields/shared.js +29 -0
  311. package/dist/forms/useField/index.js +169 -0
  312. package/dist/forms/useField/types.js +6 -0
  313. package/dist/forms/utilities/buildStateFromSchema/addFieldStatePromise.js +335 -0
  314. package/dist/forms/utilities/buildStateFromSchema/buildStateFromSchema.spec.js +76 -0
  315. package/dist/forms/utilities/buildStateFromSchema/index.js +35 -0
  316. package/dist/forms/utilities/buildStateFromSchema/iterateFields.js +48 -0
  317. package/dist/forms/withCondition/WatchCondition.js +66 -0
  318. package/dist/forms/withCondition/index.js +33 -0
  319. package/dist/graphics/Account/Default/index.js +43 -0
  320. package/dist/graphics/Account/Gravatar/index.js +42 -0
  321. package/dist/graphics/Account/index.js +50 -0
  322. package/dist/graphics/DefaultBlockImage/index.js +84 -0
  323. package/dist/graphics/ExternalLink/index.js +34 -0
  324. package/dist/graphics/File/index.js +36 -0
  325. package/dist/graphics/Icon/index.js +64 -0
  326. package/dist/graphics/Logo/index.js +60 -0
  327. package/dist/graphics/Search/index.js +42 -0
  328. package/dist/hooks/useAdminThumbnail.js +17 -0
  329. package/dist/hooks/useDebounce.js +31 -0
  330. package/dist/hooks/useDebouncedCallback.js +29 -0
  331. package/dist/hooks/useDebouncedEffect.js +32 -0
  332. package/dist/hooks/useDelay.js +82 -0
  333. package/dist/hooks/useDelayedRender.js +97 -0
  334. package/dist/hooks/useHotkey.js +129 -0
  335. package/dist/hooks/useIntersect.js +39 -0
  336. package/dist/hooks/usePayloadAPI.js +94 -0
  337. package/dist/hooks/useResize.js +59 -0
  338. package/dist/hooks/useThrottledEffect.js +31 -0
  339. package/dist/hooks/useThumbnail.js +57 -0
  340. package/dist/hooks/useUseAsTitle.js +19 -0
  341. package/dist/icons/Calendar/index.js +48 -0
  342. package/dist/icons/Check/index.js +34 -0
  343. package/dist/icons/Chevron/index.js +36 -0
  344. package/dist/icons/CloseMenu/index.js +39 -0
  345. package/dist/icons/CodeBlock/index.js +32 -0
  346. package/dist/icons/Copy/index.js +33 -0
  347. package/dist/icons/DragHandle/index.js +57 -0
  348. package/dist/icons/Edit/index.js +37 -0
  349. package/dist/icons/Line/index.js +30 -0
  350. package/dist/icons/Link/index.js +33 -0
  351. package/dist/icons/LogOut/index.js +37 -0
  352. package/dist/icons/Menu/index.js +45 -0
  353. package/dist/icons/MinimizeMaximize/index.js +87 -0
  354. package/dist/icons/More/index.js +42 -0
  355. package/dist/icons/Plus/index.js +36 -0
  356. package/dist/icons/Search/index.js +36 -0
  357. package/dist/icons/Swap/index.js +43 -0
  358. package/dist/icons/X/index.js +41 -0
  359. package/dist/index.js +20 -0
  360. package/dist/providers/ActionsProvider/index.js +89 -0
  361. package/dist/providers/Auth/HydrateClientUser/index.js +28 -0
  362. package/dist/providers/Auth/index.js +373 -0
  363. package/dist/providers/Auth/types.js +6 -0
  364. package/dist/providers/ClientFunction/index.js +65 -0
  365. package/dist/providers/ComponentMapProvider/index.js +98 -0
  366. package/dist/providers/Config/index.js +70 -0
  367. package/dist/providers/CustomProvider/index.js +38 -0
  368. package/dist/providers/DocumentEvents/index.js +77 -0
  369. package/dist/providers/DocumentEvents/types.js +6 -0
  370. package/dist/providers/DocumentInfo/SetDocumentInfo/index.js +34 -0
  371. package/dist/providers/DocumentInfo/index.js +353 -0
  372. package/dist/providers/DocumentInfo/types.js +6 -0
  373. package/dist/providers/EditDepth/index.js +71 -0
  374. package/dist/providers/FormQueryParams/index.js +77 -0
  375. package/dist/providers/ListInfo/index.js +78 -0
  376. package/dist/providers/ListInfo/types.js +6 -0
  377. package/dist/providers/Locale/index.js +122 -0
  378. package/dist/providers/OperationProvider/index.js +71 -0
  379. package/dist/providers/Params/index.js +72 -0
  380. package/dist/providers/Portal/index.js +20 -0
  381. package/dist/providers/Preferences/index.js +184 -0
  382. package/dist/providers/Root/index.js +103 -0
  383. package/dist/providers/SearchParams/index.js +119 -0
  384. package/dist/providers/SearchParams/types.js +6 -0
  385. package/dist/providers/SelectionProvider/index.js +218 -0
  386. package/dist/providers/Theme/index.js +123 -0
  387. package/dist/providers/Theme/types.js +6 -0
  388. package/dist/providers/Theme/utilities.js +35 -0
  389. package/dist/providers/Translation/index.js +92 -0
  390. package/dist/templates/Default/NavHamburger/index.js +28 -0
  391. package/dist/templates/Default/Wrapper/index.js +32 -0
  392. package/dist/templates/Default/index.js +88 -0
  393. package/dist/templates/Default/types.js +6 -0
  394. package/dist/templates/Minimal/index.js +34 -0
  395. package/dist/templates/Minimal/types.js +6 -0
  396. package/dist/utilities/api.js +98 -0
  397. package/dist/utilities/arraysHaveSameStrings.js +28 -0
  398. package/dist/utilities/buildComponentMap/index.js +101 -0
  399. package/dist/utilities/buildComponentMap/mapFields.js +318 -0
  400. package/dist/utilities/buildComponentMap/types.js +6 -0
  401. package/dist/utilities/buildFieldSchemaMap/index.js +36 -0
  402. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +94 -0
  403. package/dist/utilities/buildFieldSchemaMap/types.js +6 -0
  404. package/dist/utilities/canUseDOM.js +13 -0
  405. package/dist/utilities/findLocaleFromCode.js +18 -0
  406. package/dist/utilities/formatDate/getSupportedDateLocale.js +21 -0
  407. package/dist/utilities/formatDate/index.js +78 -0
  408. package/dist/utilities/formatDocTitle.js +33 -0
  409. package/dist/utilities/formatFields.js +14 -0
  410. package/dist/utilities/getFormState.js +28 -0
  411. package/dist/utilities/getOffsetTop.js +26 -0
  412. package/dist/utilities/getRequestLanguage.js +17 -0
  413. package/dist/utilities/getSupportedMonacoLocale.js +26 -0
  414. package/dist/utilities/groupNavItems.js +61 -0
  415. package/dist/utilities/scrollToID.js +22 -0
  416. package/dist/utilities/setsAreEqual.js +17 -0
  417. package/dist/utilities/withMergedProps/index.js +27 -0
  418. package/dist/views/Global/RenderCustomView.js +3 -0
  419. package/package.json +5 -5
@@ -0,0 +1,318 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "mapFields", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return mapFields;
9
+ }
10
+ });
11
+ const _types = require("payload/types");
12
+ const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
13
+ const _ = require("../..");
14
+ const _RenderCustomComponent = require("../../elements/RenderCustomComponent");
15
+ const _SortColumn = require("../../elements/SortColumn");
16
+ const _Error = /*#__PURE__*/ _interop_require_default(require("../../forms/Error"));
17
+ const _FieldDescription = /*#__PURE__*/ _interop_require_default(require("../../forms/FieldDescription"));
18
+ const _Label = /*#__PURE__*/ _interop_require_default(require("../../forms/Label"));
19
+ const _fields = require("../../forms/fields");
20
+ function _interop_require_default(obj) {
21
+ return obj && obj.__esModule ? obj : {
22
+ default: obj
23
+ };
24
+ }
25
+ function _getRequireWildcardCache(nodeInterop) {
26
+ if (typeof WeakMap !== "function") return null;
27
+ var cacheBabelInterop = new WeakMap();
28
+ var cacheNodeInterop = new WeakMap();
29
+ return (_getRequireWildcardCache = function(nodeInterop) {
30
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
31
+ })(nodeInterop);
32
+ }
33
+ function _interop_require_wildcard(obj, nodeInterop) {
34
+ if (!nodeInterop && obj && obj.__esModule) {
35
+ return obj;
36
+ }
37
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
38
+ return {
39
+ default: obj
40
+ };
41
+ }
42
+ var cache = _getRequireWildcardCache(nodeInterop);
43
+ if (cache && cache.has(obj)) {
44
+ return cache.get(obj);
45
+ }
46
+ var newObj = {
47
+ __proto__: null
48
+ };
49
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
50
+ for(var key in obj){
51
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
52
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
53
+ if (desc && (desc.get || desc.set)) {
54
+ Object.defineProperty(newObj, key, desc);
55
+ } else {
56
+ newObj[key] = obj[key];
57
+ }
58
+ }
59
+ }
60
+ newObj.default = obj;
61
+ if (cache) {
62
+ cache.set(obj, newObj);
63
+ }
64
+ return newObj;
65
+ }
66
+ const mapFields = (args)=>{
67
+ const { DefaultCell, config, fieldSchema, filter, operation = 'update', parentPath, permissions, readOnly: readOnlyOverride } = args;
68
+ const result = fieldSchema.reduce((acc, field)=>{
69
+ const fieldIsPresentational = (0, _types.fieldIsPresentationalOnly)(field);
70
+ let FieldComponent = field.admin?.components?.Field || _fields.fieldTypes[field.type];
71
+ if (fieldIsPresentational || !field?.hidden && field?.admin?.disabled !== true) {
72
+ if (filter && typeof filter === 'function' && filter(field) || !filter) {
73
+ if (field.admin && 'hidden' in field.admin && field?.admin?.hidden) {
74
+ FieldComponent = _fields.fieldTypes.hidden;
75
+ }
76
+ const isFieldAffectingData = (0, _types.fieldAffectsData)(field);
77
+ const path = `${parentPath ? `${parentPath}.` : ''}${field.path || (isFieldAffectingData && 'name' in field ? field.name : '')}`;
78
+ const fieldPermissions = isFieldAffectingData ? permissions?.[field.name] : permissions;
79
+ // if the user cannot read the field, then filter it out
80
+ if (fieldPermissions?.read?.permission === false) {
81
+ return acc;
82
+ }
83
+ // readOnly from field config
84
+ let readOnly = field.admin && 'readOnly' in field.admin ? field.admin.readOnly : undefined;
85
+ // if parent field is readOnly
86
+ // but this field is `readOnly: false`
87
+ // the field should be editable
88
+ if (readOnlyOverride && readOnly !== false) readOnly = true;
89
+ // unless the user does not pass access control
90
+ if (fieldPermissions?.[operation]?.permission === false) {
91
+ readOnly = true;
92
+ }
93
+ const labelProps = {
94
+ htmlFor: 'TODO',
95
+ // TODO: fix types
96
+ // @ts-expect-error-next-line
97
+ label: 'label' in field ? field.label : null,
98
+ required: 'required' in field ? field.required : undefined
99
+ };
100
+ const descriptionProps = {
101
+ description: field.admin && 'description' in field.admin && typeof field.admin?.description === 'string' ? field.admin.description : undefined
102
+ };
103
+ const nestedFieldMap = 'fields' in field && field.fields && Array.isArray(field.fields) && mapFields({
104
+ DefaultCell,
105
+ config,
106
+ fieldSchema: field.fields,
107
+ filter,
108
+ operation,
109
+ parentPath: path,
110
+ permissions,
111
+ readOnly: readOnlyOverride
112
+ });
113
+ // `tabs` fields require a field map of each of its tab's nested fields
114
+ const tabs = 'tabs' in field && field.tabs && Array.isArray(field.tabs) && field.tabs.map((tab)=>{
115
+ const tabFieldMap = mapFields({
116
+ DefaultCell,
117
+ config,
118
+ fieldSchema: tab.fields,
119
+ filter,
120
+ operation,
121
+ parentPath: path,
122
+ permissions,
123
+ readOnly: readOnlyOverride
124
+ });
125
+ const reducedTab = {
126
+ name: 'name' in tab ? tab.name : undefined,
127
+ label: tab.label,
128
+ subfields: tabFieldMap
129
+ };
130
+ return reducedTab;
131
+ });
132
+ // `blocks` fields require a field map of each of its block's nested fields
133
+ const blocks = 'blocks' in field && field.blocks && Array.isArray(field.blocks) && field.blocks.map((block)=>{
134
+ const blockFieldMap = mapFields({
135
+ DefaultCell,
136
+ config,
137
+ fieldSchema: block.fields,
138
+ filter,
139
+ operation,
140
+ parentPath: `${path}.${block.slug}`,
141
+ permissions,
142
+ readOnly: readOnlyOverride
143
+ });
144
+ const reducedBlock = {
145
+ slug: block.slug,
146
+ imageAltText: block.imageAltText,
147
+ imageURL: block.imageURL,
148
+ labels: block.labels,
149
+ subfields: blockFieldMap
150
+ };
151
+ return reducedBlock;
152
+ });
153
+ // TODO: these types can get cleaned up
154
+ // i.e. not all fields have `maxRows` or `min` or `max`
155
+ // but this is labor intensive and requires consuming components to be updated
156
+ const fieldComponentProps = {
157
+ AfterInput: 'components' in field.admin && 'afterInput' in field.admin.components && Array.isArray(field.admin.components.afterInput) && /*#__PURE__*/ _react.default.createElement(_react.Fragment, null, field.admin.components.afterInput.map((Component, i)=>/*#__PURE__*/ _react.default.createElement(Component, {
158
+ key: i
159
+ }))),
160
+ BeforeInput: field.admin?.components && 'beforeInput' in field.admin?.components && Array.isArray(field.admin.components.beforeInput) && /*#__PURE__*/ _react.default.createElement(_react.Fragment, null, field.admin.components.beforeInput.map((Component, i)=>/*#__PURE__*/ _react.default.createElement(Component, {
161
+ key: i
162
+ }))),
163
+ Description: /*#__PURE__*/ _react.default.createElement(_RenderCustomComponent.RenderCustomComponent, {
164
+ CustomComponent: field.admin && 'description' in field.admin && field.admin.description && typeof field.admin.description === 'function' && field.admin.description,
165
+ DefaultComponent: _FieldDescription.default,
166
+ componentProps: descriptionProps
167
+ }),
168
+ Error: /*#__PURE__*/ _react.default.createElement(_RenderCustomComponent.RenderCustomComponent, {
169
+ CustomComponent: field.admin?.components && 'Error' in field.admin?.components && field.admin?.components?.Error,
170
+ DefaultComponent: _Error.default,
171
+ componentProps: {
172
+ path
173
+ }
174
+ }),
175
+ Label: /*#__PURE__*/ _react.default.createElement(_RenderCustomComponent.RenderCustomComponent, {
176
+ CustomComponent: field.admin?.components && 'Label' in field.admin?.components && field.admin?.components?.Label,
177
+ DefaultComponent: _Label.default,
178
+ componentProps: labelProps
179
+ }),
180
+ className: 'className' in field.admin ? field?.admin?.className : undefined,
181
+ fieldMap: nestedFieldMap,
182
+ style: 'style' in field.admin ? field?.admin?.style : undefined,
183
+ width: 'width' in field.admin ? field?.admin?.width : undefined,
184
+ // TODO: fix types
185
+ // label: 'label' in field ? field.label : undefined,
186
+ blocks,
187
+ hasMany: 'hasMany' in field ? field.hasMany : undefined,
188
+ max: 'max' in field ? field.max : undefined,
189
+ maxRows: 'maxRows' in field ? field.maxRows : undefined,
190
+ min: 'min' in field ? field.min : undefined,
191
+ options: 'options' in field ? field.options : undefined,
192
+ relationTo: 'relationTo' in field ? field.relationTo : undefined,
193
+ richTextComponentMap: undefined,
194
+ step: 'step' in field.admin ? field.admin.step : undefined,
195
+ tabs
196
+ };
197
+ let Field = /*#__PURE__*/ _react.default.createElement(FieldComponent, fieldComponentProps);
198
+ const cellComponentProps = {
199
+ name: 'name' in field ? field.name : undefined,
200
+ blocks: 'blocks' in field && field.blocks.map((b)=>({
201
+ slug: b.slug,
202
+ labels: b.labels
203
+ })),
204
+ dateDisplayFormat: 'date' in field.admin ? field.admin.date.displayFormat : undefined,
205
+ fieldType: field.type,
206
+ isFieldAffectingData,
207
+ label: 'label' in field && field.label && typeof field.label !== 'function' ? field.label : undefined,
208
+ labels: 'labels' in field ? field.labels : undefined,
209
+ options: 'options' in field ? field.options : undefined
210
+ };
211
+ /**
212
+ * Handle RichText Field Components, Cell Components, and component maps
213
+ */ if (field.type === 'richText' && 'editor' in field) {
214
+ let RichTextFieldComponent;
215
+ let RichTextCellComponent;
216
+ const isLazyField = 'LazyFieldComponent' in field.editor;
217
+ const isLazyCell = 'LazyCellComponent' in field.editor;
218
+ if (isLazyField) {
219
+ RichTextFieldComponent = /*#__PURE__*/ _react.default.lazy(()=>{
220
+ return 'LazyFieldComponent' in field.editor ? field.editor.LazyFieldComponent().then((resolvedComponent)=>({
221
+ default: resolvedComponent
222
+ })) : null;
223
+ });
224
+ } else if ('FieldComponent' in field.editor) {
225
+ RichTextFieldComponent = field.editor.FieldComponent;
226
+ }
227
+ if (isLazyCell) {
228
+ RichTextCellComponent = /*#__PURE__*/ _react.default.lazy(()=>{
229
+ return 'LazyCellComponent' in field.editor ? field.editor.LazyCellComponent().then((resolvedComponent)=>({
230
+ default: resolvedComponent
231
+ })) : null;
232
+ });
233
+ } else if ('CellComponent' in field.editor) {
234
+ RichTextCellComponent = field.editor.CellComponent;
235
+ }
236
+ if (typeof field.editor.generateComponentMap === 'function') {
237
+ const result = field.editor.generateComponentMap({
238
+ config,
239
+ schemaPath: path
240
+ });
241
+ // @ts-expect-error-next-line // TODO: the `richTextComponentMap` is not found on the union type
242
+ fieldComponentProps.richTextComponentMap = result;
243
+ cellComponentProps.richTextComponentMap = result;
244
+ }
245
+ if (RichTextFieldComponent) {
246
+ Field = /*#__PURE__*/ _react.default.createElement(RichTextFieldComponent, fieldComponentProps);
247
+ }
248
+ if (RichTextCellComponent) {
249
+ cellComponentProps.CellComponentOverride = /*#__PURE__*/ _react.default.createElement(RichTextCellComponent, null);
250
+ }
251
+ }
252
+ const reducedField = {
253
+ name: 'name' in field ? field.name : '',
254
+ type: field.type,
255
+ Cell: /*#__PURE__*/ _react.default.createElement(_RenderCustomComponent.RenderCustomComponent, {
256
+ CustomComponent: field.admin?.components?.Cell,
257
+ DefaultComponent: DefaultCell,
258
+ componentProps: cellComponentProps
259
+ }),
260
+ Field,
261
+ Heading: /*#__PURE__*/ _react.default.createElement(_SortColumn.SortColumn, {
262
+ disable: 'disableSort' in field && Boolean(field.disableSort) || (0, _types.fieldIsPresentationalOnly)(field) || undefined,
263
+ label: 'label' in field && field.label && typeof field.label !== 'function' ? field.label : 'name' in field ? field.name : undefined,
264
+ name: 'name' in field ? field.name : undefined
265
+ }),
266
+ blocks,
267
+ fieldIsPresentational,
268
+ fieldPermissions,
269
+ hasMany: 'hasMany' in field ? field.hasMany : undefined,
270
+ isFieldAffectingData,
271
+ isSidebar: field.admin?.position === 'sidebar',
272
+ label: 'label' in field && typeof field.label !== 'function' ? field.label : undefined,
273
+ labels: 'labels' in field ? field.labels : undefined,
274
+ localized: 'localized' in field ? field.localized : false,
275
+ options: 'options' in field ? field.options : undefined,
276
+ readOnly,
277
+ relationTo: 'relationTo' in field ? field.relationTo : undefined,
278
+ subfields: nestedFieldMap,
279
+ tabs
280
+ };
281
+ if (FieldComponent) {
282
+ acc.push(reducedField);
283
+ }
284
+ }
285
+ }
286
+ return acc;
287
+ }, []);
288
+ const hasID = result.findIndex(({ name, isFieldAffectingData })=>isFieldAffectingData && name === 'id') > -1;
289
+ if (!hasID) {
290
+ result.push({
291
+ name: 'id',
292
+ type: 'text',
293
+ Cell: typeof DefaultCell === 'function' ? /*#__PURE__*/ _react.default.createElement(DefaultCell, {
294
+ name: "id"
295
+ }) : null,
296
+ Field: /*#__PURE__*/ _react.default.createElement(_.HiddenInput, {
297
+ name: "id"
298
+ }),
299
+ Heading: /*#__PURE__*/ _react.default.createElement(_SortColumn.SortColumn, {
300
+ label: "ID",
301
+ name: "id"
302
+ }),
303
+ fieldIsPresentational: false,
304
+ fieldPermissions: {},
305
+ isFieldAffectingData: true,
306
+ isSidebar: false,
307
+ label: 'ID',
308
+ labels: undefined,
309
+ localized: undefined,
310
+ readOnly: false,
311
+ subfields: [],
312
+ tabs: []
313
+ });
314
+ }
315
+ return result;
316
+ };
317
+
318
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlsaXRpZXMvYnVpbGRDb21wb25lbnRNYXAvbWFwRmllbGRzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEZpZWxkUGVybWlzc2lvbnMgfSBmcm9tICdwYXlsb2FkL2F1dGgnXG5pbXBvcnQgdHlwZSB7IENlbGxQcm9wcywgRmllbGQsIEZpZWxkV2l0aFBhdGgsIExhYmVsUHJvcHMsIFNhbml0aXplZENvbmZpZyB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IGZpZWxkQWZmZWN0c0RhdGEsIGZpZWxkSXNQcmVzZW50YXRpb25hbE9ubHkgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuaW1wb3J0IFJlYWN0LCB7IEZyYWdtZW50IH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCB0eXBlIHsgUHJvcHMgYXMgRmllbGREZXNjcmlwdGlvbiB9IGZyb20gJy4uLy4uL2Zvcm1zL0ZpZWxkRGVzY3JpcHRpb24vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEZvcm1GaWVsZEJhc2UgfSBmcm9tICcuLi8uLi9mb3Jtcy9maWVsZHMvc2hhcmVkJ1xuaW1wb3J0IHR5cGUgeyBGaWVsZE1hcCwgTWFwcGVkRmllbGQsIE1hcHBlZFRhYiwgUmVkdWNlZEJsb2NrIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHsgSGlkZGVuSW5wdXQgfSBmcm9tICcuLi8uLidcbmltcG9ydCB7IFJlbmRlckN1c3RvbUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2VsZW1lbnRzL1JlbmRlckN1c3RvbUNvbXBvbmVudCdcbmltcG9ydCB7IFNvcnRDb2x1bW4gfSBmcm9tICcuLi8uLi9lbGVtZW50cy9Tb3J0Q29sdW1uJ1xuaW1wb3J0IERlZmF1bHRFcnJvciBmcm9tICcuLi8uLi9mb3Jtcy9FcnJvcidcbmltcG9ydCBEZWZhdWx0RGVzY3JpcHRpb24gZnJvbSAnLi4vLi4vZm9ybXMvRmllbGREZXNjcmlwdGlvbidcbmltcG9ydCBEZWZhdWx0TGFiZWwgZnJvbSAnLi4vLi4vZm9ybXMvTGFiZWwnXG5pbXBvcnQgeyBmaWVsZFR5cGVzIH0gZnJvbSAnLi4vLi4vZm9ybXMvZmllbGRzJ1xuXG5leHBvcnQgY29uc3QgbWFwRmllbGRzID0gKGFyZ3M6IHtcbiAgRGVmYXVsdENlbGw/OiBSZWFjdC5GQzxhbnk+XG4gIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnXG4gIGZpZWxkU2NoZW1hOiBGaWVsZFdpdGhQYXRoW11cbiAgZmlsdGVyPzogKGZpZWxkOiBGaWVsZCkgPT4gYm9vbGVhblxuICBvcGVyYXRpb24/OiAnY3JlYXRlJyB8ICd1cGRhdGUnXG4gIHBhcmVudFBhdGg/OiBzdHJpbmdcbiAgcGVybWlzc2lvbnM/OlxuICAgIHwge1xuICAgICAgICBbZmllbGQ6IHN0cmluZ106IEZpZWxkUGVybWlzc2lvbnNcbiAgICAgIH1cbiAgICB8IEZpZWxkUGVybWlzc2lvbnNcbiAgcmVhZE9ubHk/OiBib29sZWFuXG59KTogRmllbGRNYXAgPT4ge1xuICBjb25zdCB7XG4gICAgRGVmYXVsdENlbGwsXG4gICAgY29uZmlnLFxuICAgIGZpZWxkU2NoZW1hLFxuICAgIGZpbHRlcixcbiAgICBvcGVyYXRpb24gPSAndXBkYXRlJyxcbiAgICBwYXJlbnRQYXRoLFxuICAgIHBlcm1pc3Npb25zLFxuICAgIHJlYWRPbmx5OiByZWFkT25seU92ZXJyaWRlLFxuICB9ID0gYXJnc1xuXG4gIGNvbnN0IHJlc3VsdDogRmllbGRNYXAgPSBmaWVsZFNjaGVtYS5yZWR1Y2UoKGFjYywgZmllbGQpOiBGaWVsZE1hcCA9PiB7XG4gICAgY29uc3QgZmllbGRJc1ByZXNlbnRhdGlvbmFsID0gZmllbGRJc1ByZXNlbnRhdGlvbmFsT25seShmaWVsZClcbiAgICBsZXQgRmllbGRDb21wb25lbnQgPSBmaWVsZC5hZG1pbj8uY29tcG9uZW50cz8uRmllbGQgfHwgZmllbGRUeXBlc1tmaWVsZC50eXBlXVxuXG4gICAgaWYgKGZpZWxkSXNQcmVzZW50YXRpb25hbCB8fCAoIWZpZWxkPy5oaWRkZW4gJiYgZmllbGQ/LmFkbWluPy5kaXNhYmxlZCAhPT0gdHJ1ZSkpIHtcbiAgICAgIGlmICgoZmlsdGVyICYmIHR5cGVvZiBmaWx0ZXIgPT09ICdmdW5jdGlvbicgJiYgZmlsdGVyKGZpZWxkKSkgfHwgIWZpbHRlcikge1xuICAgICAgICBpZiAoZmllbGQuYWRtaW4gJiYgJ2hpZGRlbicgaW4gZmllbGQuYWRtaW4gJiYgZmllbGQ/LmFkbWluPy5oaWRkZW4pIHtcbiAgICAgICAgICBGaWVsZENvbXBvbmVudCA9IGZpZWxkVHlwZXMuaGlkZGVuXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpc0ZpZWxkQWZmZWN0aW5nRGF0YSA9IGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpXG5cbiAgICAgICAgY29uc3QgcGF0aCA9IGAke3BhcmVudFBhdGggPyBgJHtwYXJlbnRQYXRofS5gIDogJyd9JHtcbiAgICAgICAgICBmaWVsZC5wYXRoIHx8IChpc0ZpZWxkQWZmZWN0aW5nRGF0YSAmJiAnbmFtZScgaW4gZmllbGQgPyBmaWVsZC5uYW1lIDogJycpXG4gICAgICAgIH1gXG5cbiAgICAgICAgY29uc3QgZmllbGRQZXJtaXNzaW9ucyA9IGlzRmllbGRBZmZlY3RpbmdEYXRhID8gcGVybWlzc2lvbnM/LltmaWVsZC5uYW1lXSA6IHBlcm1pc3Npb25zXG5cbiAgICAgICAgLy8gaWYgdGhlIHVzZXIgY2Fubm90IHJlYWQgdGhlIGZpZWxkLCB0aGVuIGZpbHRlciBpdCBvdXRcbiAgICAgICAgaWYgKGZpZWxkUGVybWlzc2lvbnM/LnJlYWQ/LnBlcm1pc3Npb24gPT09IGZhbHNlKSB7XG4gICAgICAgICAgcmV0dXJuIGFjY1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gcmVhZE9ubHkgZnJvbSBmaWVsZCBjb25maWdcbiAgICAgICAgbGV0IHJlYWRPbmx5ID0gZmllbGQuYWRtaW4gJiYgJ3JlYWRPbmx5JyBpbiBmaWVsZC5hZG1pbiA/IGZpZWxkLmFkbWluLnJlYWRPbmx5IDogdW5kZWZpbmVkXG5cbiAgICAgICAgLy8gaWYgcGFyZW50IGZpZWxkIGlzIHJlYWRPbmx5XG4gICAgICAgIC8vIGJ1dCB0aGlzIGZpZWxkIGlzIGByZWFkT25seTogZmFsc2VgXG4gICAgICAgIC8vIHRoZSBmaWVsZCBzaG91bGQgYmUgZWRpdGFibGVcbiAgICAgICAgaWYgKHJlYWRPbmx5T3ZlcnJpZGUgJiYgcmVhZE9ubHkgIT09IGZhbHNlKSByZWFkT25seSA9IHRydWVcblxuICAgICAgICAvLyB1bmxlc3MgdGhlIHVzZXIgZG9lcyBub3QgcGFzcyBhY2Nlc3MgY29udHJvbFxuICAgICAgICBpZiAoZmllbGRQZXJtaXNzaW9ucz8uW29wZXJhdGlvbl0/LnBlcm1pc3Npb24gPT09IGZhbHNlKSB7XG4gICAgICAgICAgcmVhZE9ubHkgPSB0cnVlXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBsYWJlbFByb3BzOiBMYWJlbFByb3BzID0ge1xuICAgICAgICAgIGh0bWxGb3I6ICdUT0RPJyxcbiAgICAgICAgICAvLyBUT0RPOiBmaXggdHlwZXNcbiAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yLW5leHQtbGluZVxuICAgICAgICAgIGxhYmVsOiAnbGFiZWwnIGluIGZpZWxkID8gZmllbGQubGFiZWwgOiBudWxsLFxuICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnIGluIGZpZWxkID8gZmllbGQucmVxdWlyZWQgOiB1bmRlZmluZWQsXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkZXNjcmlwdGlvblByb3BzOiBGaWVsZERlc2NyaXB0aW9uID0ge1xuICAgICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICAgZmllbGQuYWRtaW4gJiZcbiAgICAgICAgICAgICdkZXNjcmlwdGlvbicgaW4gZmllbGQuYWRtaW4gJiZcbiAgICAgICAgICAgIHR5cGVvZiBmaWVsZC5hZG1pbj8uZGVzY3JpcHRpb24gPT09ICdzdHJpbmcnXG4gICAgICAgICAgICAgID8gZmllbGQuYWRtaW4uZGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBuZXN0ZWRGaWVsZE1hcCA9XG4gICAgICAgICAgJ2ZpZWxkcycgaW4gZmllbGQgJiZcbiAgICAgICAgICBmaWVsZC5maWVsZHMgJiZcbiAgICAgICAgICBBcnJheS5pc0FycmF5KGZpZWxkLmZpZWxkcykgJiZcbiAgICAgICAgICBtYXBGaWVsZHMoe1xuICAgICAgICAgICAgRGVmYXVsdENlbGwsXG4gICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICBmaWVsZFNjaGVtYTogZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgZmlsdGVyLFxuICAgICAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICAgICAgcGFyZW50UGF0aDogcGF0aCxcbiAgICAgICAgICAgIHBlcm1pc3Npb25zLFxuICAgICAgICAgICAgcmVhZE9ubHk6IHJlYWRPbmx5T3ZlcnJpZGUsXG4gICAgICAgICAgfSlcblxuICAgICAgICAvLyBgdGFic2AgZmllbGRzIHJlcXVpcmUgYSBmaWVsZCBtYXAgb2YgZWFjaCBvZiBpdHMgdGFiJ3MgbmVzdGVkIGZpZWxkc1xuICAgICAgICBjb25zdCB0YWJzID1cbiAgICAgICAgICAndGFicycgaW4gZmllbGQgJiZcbiAgICAgICAgICBmaWVsZC50YWJzICYmXG4gICAgICAgICAgQXJyYXkuaXNBcnJheShmaWVsZC50YWJzKSAmJlxuICAgICAgICAgIGZpZWxkLnRhYnMubWFwKCh0YWIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHRhYkZpZWxkTWFwID0gbWFwRmllbGRzKHtcbiAgICAgICAgICAgICAgRGVmYXVsdENlbGwsXG4gICAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICAgICAgZmllbGRTY2hlbWE6IHRhYi5maWVsZHMsXG4gICAgICAgICAgICAgIGZpbHRlcixcbiAgICAgICAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICAgICAgICBwYXJlbnRQYXRoOiBwYXRoLFxuICAgICAgICAgICAgICBwZXJtaXNzaW9ucyxcbiAgICAgICAgICAgICAgcmVhZE9ubHk6IHJlYWRPbmx5T3ZlcnJpZGUsXG4gICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICBjb25zdCByZWR1Y2VkVGFiOiBNYXBwZWRUYWIgPSB7XG4gICAgICAgICAgICAgIG5hbWU6ICduYW1lJyBpbiB0YWIgPyB0YWIubmFtZSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgbGFiZWw6IHRhYi5sYWJlbCxcbiAgICAgICAgICAgICAgc3ViZmllbGRzOiB0YWJGaWVsZE1hcCxcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHJlZHVjZWRUYWJcbiAgICAgICAgICB9KVxuXG4gICAgICAgIC8vIGBibG9ja3NgIGZpZWxkcyByZXF1aXJlIGEgZmllbGQgbWFwIG9mIGVhY2ggb2YgaXRzIGJsb2NrJ3MgbmVzdGVkIGZpZWxkc1xuICAgICAgICBjb25zdCBibG9ja3MgPVxuICAgICAgICAgICdibG9ja3MnIGluIGZpZWxkICYmXG4gICAgICAgICAgZmllbGQuYmxvY2tzICYmXG4gICAgICAgICAgQXJyYXkuaXNBcnJheShmaWVsZC5ibG9ja3MpICYmXG4gICAgICAgICAgZmllbGQuYmxvY2tzLm1hcCgoYmxvY2spID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGJsb2NrRmllbGRNYXAgPSBtYXBGaWVsZHMoe1xuICAgICAgICAgICAgICBEZWZhdWx0Q2VsbCxcbiAgICAgICAgICAgICAgY29uZmlnLFxuICAgICAgICAgICAgICBmaWVsZFNjaGVtYTogYmxvY2suZmllbGRzLFxuICAgICAgICAgICAgICBmaWx0ZXIsXG4gICAgICAgICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgICAgICAgcGFyZW50UGF0aDogYCR7cGF0aH0uJHtibG9jay5zbHVnfWAsXG4gICAgICAgICAgICAgIHBlcm1pc3Npb25zLFxuICAgICAgICAgICAgICByZWFkT25seTogcmVhZE9ubHlPdmVycmlkZSxcbiAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgIGNvbnN0IHJlZHVjZWRCbG9jazogUmVkdWNlZEJsb2NrID0ge1xuICAgICAgICAgICAgICBzbHVnOiBibG9jay5zbHVnLFxuICAgICAgICAgICAgICBpbWFnZUFsdFRleHQ6IGJsb2NrLmltYWdlQWx0VGV4dCxcbiAgICAgICAgICAgICAgaW1hZ2VVUkw6IGJsb2NrLmltYWdlVVJMLFxuICAgICAgICAgICAgICBsYWJlbHM6IGJsb2NrLmxhYmVscyxcbiAgICAgICAgICAgICAgc3ViZmllbGRzOiBibG9ja0ZpZWxkTWFwLFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gcmVkdWNlZEJsb2NrXG4gICAgICAgICAgfSlcblxuICAgICAgICAvLyBUT0RPOiB0aGVzZSB0eXBlcyBjYW4gZ2V0IGNsZWFuZWQgdXBcbiAgICAgICAgLy8gaS5lLiBub3QgYWxsIGZpZWxkcyBoYXZlIGBtYXhSb3dzYCBvciBgbWluYCBvciBgbWF4YFxuICAgICAgICAvLyBidXQgdGhpcyBpcyBsYWJvciBpbnRlbnNpdmUgYW5kIHJlcXVpcmVzIGNvbnN1bWluZyBjb21wb25lbnRzIHRvIGJlIHVwZGF0ZWRcbiAgICAgICAgY29uc3QgZmllbGRDb21wb25lbnRQcm9wczogRm9ybUZpZWxkQmFzZSA9IHtcbiAgICAgICAgICBBZnRlcklucHV0OiAnY29tcG9uZW50cycgaW4gZmllbGQuYWRtaW4gJiZcbiAgICAgICAgICAgICdhZnRlcklucHV0JyBpbiBmaWVsZC5hZG1pbi5jb21wb25lbnRzICYmXG4gICAgICAgICAgICBBcnJheS5pc0FycmF5KGZpZWxkLmFkbWluLmNvbXBvbmVudHMuYWZ0ZXJJbnB1dCkgJiYgKFxuICAgICAgICAgICAgICA8RnJhZ21lbnQ+XG4gICAgICAgICAgICAgICAge2ZpZWxkLmFkbWluLmNvbXBvbmVudHMuYWZ0ZXJJbnB1dC5tYXAoKENvbXBvbmVudCwgaSkgPT4gKFxuICAgICAgICAgICAgICAgICAgPENvbXBvbmVudCBrZXk9e2l9IC8+XG4gICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgIDwvRnJhZ21lbnQ+XG4gICAgICAgICAgICApLFxuICAgICAgICAgIEJlZm9yZUlucHV0OiBmaWVsZC5hZG1pbj8uY29tcG9uZW50cyAmJlxuICAgICAgICAgICAgJ2JlZm9yZUlucHV0JyBpbiBmaWVsZC5hZG1pbj8uY29tcG9uZW50cyAmJlxuICAgICAgICAgICAgQXJyYXkuaXNBcnJheShmaWVsZC5hZG1pbi5jb21wb25lbnRzLmJlZm9yZUlucHV0KSAmJiAoXG4gICAgICAgICAgICAgIDxGcmFnbWVudD5cbiAgICAgICAgICAgICAgICB7ZmllbGQuYWRtaW4uY29tcG9uZW50cy5iZWZvcmVJbnB1dC5tYXAoKENvbXBvbmVudCwgaSkgPT4gKFxuICAgICAgICAgICAgICAgICAgPENvbXBvbmVudCBrZXk9e2l9IC8+XG4gICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgIDwvRnJhZ21lbnQ+XG4gICAgICAgICAgICApLFxuICAgICAgICAgIERlc2NyaXB0aW9uOiAoXG4gICAgICAgICAgICA8UmVuZGVyQ3VzdG9tQ29tcG9uZW50XG4gICAgICAgICAgICAgIEN1c3RvbUNvbXBvbmVudD17XG4gICAgICAgICAgICAgICAgZmllbGQuYWRtaW4gJiZcbiAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nIGluIGZpZWxkLmFkbWluICYmXG4gICAgICAgICAgICAgICAgZmllbGQuYWRtaW4uZGVzY3JpcHRpb24gJiZcbiAgICAgICAgICAgICAgICB0eXBlb2YgZmllbGQuYWRtaW4uZGVzY3JpcHRpb24gPT09ICdmdW5jdGlvbicgJiZcbiAgICAgICAgICAgICAgICAoZmllbGQuYWRtaW4uZGVzY3JpcHRpb24gYXMgUmVhY3QuRkM8YW55PilcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBEZWZhdWx0Q29tcG9uZW50PXtEZWZhdWx0RGVzY3JpcHRpb259XG4gICAgICAgICAgICAgIGNvbXBvbmVudFByb3BzPXtkZXNjcmlwdGlvblByb3BzfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApLFxuICAgICAgICAgIEVycm9yOiAoXG4gICAgICAgICAgICA8UmVuZGVyQ3VzdG9tQ29tcG9uZW50XG4gICAgICAgICAgICAgIEN1c3RvbUNvbXBvbmVudD17XG4gICAgICAgICAgICAgICAgZmllbGQuYWRtaW4/LmNvbXBvbmVudHMgJiZcbiAgICAgICAgICAgICAgICAnRXJyb3InIGluIGZpZWxkLmFkbWluPy5jb21wb25lbnRzICYmXG4gICAgICAgICAgICAgICAgZmllbGQuYWRtaW4/LmNvbXBvbmVudHM/LkVycm9yXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgRGVmYXVsdENvbXBvbmVudD17RGVmYXVsdEVycm9yfVxuICAgICAgICAgICAgICBjb21wb25lbnRQcm9wcz17eyBwYXRoIH19XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICksXG4gICAgICAgICAgTGFiZWw6IChcbiAgICAgICAgICAgIDxSZW5kZXJDdXN0b21Db21wb25lbnRcbiAgICAgICAgICAgICAgQ3VzdG9tQ29tcG9uZW50PXtcbiAgICAgICAgICAgICAgICBmaWVsZC5hZG1pbj8uY29tcG9uZW50cyAmJlxuICAgICAgICAgICAgICAgICdMYWJlbCcgaW4gZmllbGQuYWRtaW4/LmNvbXBvbmVudHMgJiZcbiAgICAgICAgICAgICAgICBmaWVsZC5hZG1pbj8uY29tcG9uZW50cz8uTGFiZWxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBEZWZhdWx0Q29tcG9uZW50PXtEZWZhdWx0TGFiZWx9XG4gICAgICAgICAgICAgIGNvbXBvbmVudFByb3BzPXtsYWJlbFByb3BzfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApLFxuICAgICAgICAgIGNsYXNzTmFtZTogJ2NsYXNzTmFtZScgaW4gZmllbGQuYWRtaW4gPyBmaWVsZD8uYWRtaW4/LmNsYXNzTmFtZSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICBmaWVsZE1hcDogbmVzdGVkRmllbGRNYXAsXG4gICAgICAgICAgc3R5bGU6ICdzdHlsZScgaW4gZmllbGQuYWRtaW4gPyBmaWVsZD8uYWRtaW4/LnN0eWxlIDogdW5kZWZpbmVkLFxuICAgICAgICAgIHdpZHRoOiAnd2lkdGgnIGluIGZpZWxkLmFkbWluID8gZmllbGQ/LmFkbWluPy53aWR0aCA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAvLyBUT0RPOiBmaXggdHlwZXNcbiAgICAgICAgICAvLyBsYWJlbDogJ2xhYmVsJyBpbiBmaWVsZCA/IGZpZWxkLmxhYmVsIDogdW5kZWZpbmVkLFxuICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICBoYXNNYW55OiAnaGFzTWFueScgaW4gZmllbGQgPyBmaWVsZC5oYXNNYW55IDogdW5kZWZpbmVkLFxuICAgICAgICAgIG1heDogJ21heCcgaW4gZmllbGQgPyBmaWVsZC5tYXggOiB1bmRlZmluZWQsXG4gICAgICAgICAgbWF4Um93czogJ21heFJvd3MnIGluIGZpZWxkID8gZmllbGQubWF4Um93cyA6IHVuZGVmaW5lZCxcbiAgICAgICAgICBtaW46ICdtaW4nIGluIGZpZWxkID8gZmllbGQubWluIDogdW5kZWZpbmVkLFxuICAgICAgICAgIG9wdGlvbnM6ICdvcHRpb25zJyBpbiBmaWVsZCA/IGZpZWxkLm9wdGlvbnMgOiB1bmRlZmluZWQsXG4gICAgICAgICAgcmVsYXRpb25UbzogJ3JlbGF0aW9uVG8nIGluIGZpZWxkID8gZmllbGQucmVsYXRpb25UbyA6IHVuZGVmaW5lZCxcbiAgICAgICAgICByaWNoVGV4dENvbXBvbmVudE1hcDogdW5kZWZpbmVkLFxuICAgICAgICAgIHN0ZXA6ICdzdGVwJyBpbiBmaWVsZC5hZG1pbiA/IGZpZWxkLmFkbWluLnN0ZXAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgdGFicyxcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBGaWVsZCA9IDxGaWVsZENvbXBvbmVudCB7Li4uZmllbGRDb21wb25lbnRQcm9wc30gLz5cblxuICAgICAgICBjb25zdCBjZWxsQ29tcG9uZW50UHJvcHM6IENlbGxQcm9wcyA9IHtcbiAgICAgICAgICBuYW1lOiAnbmFtZScgaW4gZmllbGQgPyBmaWVsZC5uYW1lIDogdW5kZWZpbmVkLFxuICAgICAgICAgIGJsb2NrczpcbiAgICAgICAgICAgICdibG9ja3MnIGluIGZpZWxkICYmXG4gICAgICAgICAgICBmaWVsZC5ibG9ja3MubWFwKChiKSA9PiAoe1xuICAgICAgICAgICAgICBzbHVnOiBiLnNsdWcsXG4gICAgICAgICAgICAgIGxhYmVsczogYi5sYWJlbHMsXG4gICAgICAgICAgICB9KSksXG4gICAgICAgICAgZGF0ZURpc3BsYXlGb3JtYXQ6ICdkYXRlJyBpbiBmaWVsZC5hZG1pbiA/IGZpZWxkLmFkbWluLmRhdGUuZGlzcGxheUZvcm1hdCA6IHVuZGVmaW5lZCxcbiAgICAgICAgICBmaWVsZFR5cGU6IGZpZWxkLnR5cGUsXG4gICAgICAgICAgaXNGaWVsZEFmZmVjdGluZ0RhdGEsXG4gICAgICAgICAgbGFiZWw6XG4gICAgICAgICAgICAnbGFiZWwnIGluIGZpZWxkICYmIGZpZWxkLmxhYmVsICYmIHR5cGVvZiBmaWVsZC5sYWJlbCAhPT0gJ2Z1bmN0aW9uJ1xuICAgICAgICAgICAgICA/IGZpZWxkLmxhYmVsXG4gICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgIGxhYmVsczogJ2xhYmVscycgaW4gZmllbGQgPyBmaWVsZC5sYWJlbHMgOiB1bmRlZmluZWQsXG4gICAgICAgICAgb3B0aW9uczogJ29wdGlvbnMnIGluIGZpZWxkID8gZmllbGQub3B0aW9ucyA6IHVuZGVmaW5lZCxcbiAgICAgICAgfVxuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBIYW5kbGUgUmljaFRleHQgRmllbGQgQ29tcG9uZW50cywgQ2VsbCBDb21wb25lbnRzLCBhbmQgY29tcG9uZW50IG1hcHNcbiAgICAgICAgICovXG4gICAgICAgIGlmIChmaWVsZC50eXBlID09PSAncmljaFRleHQnICYmICdlZGl0b3InIGluIGZpZWxkKSB7XG4gICAgICAgICAgbGV0IFJpY2hUZXh0RmllbGRDb21wb25lbnRcbiAgICAgICAgICBsZXQgUmljaFRleHRDZWxsQ29tcG9uZW50XG5cbiAgICAgICAgICBjb25zdCBpc0xhenlGaWVsZCA9ICdMYXp5RmllbGRDb21wb25lbnQnIGluIGZpZWxkLmVkaXRvclxuICAgICAgICAgIGNvbnN0IGlzTGF6eUNlbGwgPSAnTGF6eUNlbGxDb21wb25lbnQnIGluIGZpZWxkLmVkaXRvclxuXG4gICAgICAgICAgaWYgKGlzTGF6eUZpZWxkKSB7XG4gICAgICAgICAgICBSaWNoVGV4dEZpZWxkQ29tcG9uZW50ID0gUmVhY3QubGF6eSgoKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiAnTGF6eUZpZWxkQ29tcG9uZW50JyBpbiBmaWVsZC5lZGl0b3JcbiAgICAgICAgICAgICAgICA/IGZpZWxkLmVkaXRvci5MYXp5RmllbGRDb21wb25lbnQoKS50aGVuKChyZXNvbHZlZENvbXBvbmVudCkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogcmVzb2x2ZWRDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICA6IG51bGxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSBlbHNlIGlmICgnRmllbGRDb21wb25lbnQnIGluIGZpZWxkLmVkaXRvcikge1xuICAgICAgICAgICAgUmljaFRleHRGaWVsZENvbXBvbmVudCA9IGZpZWxkLmVkaXRvci5GaWVsZENvbXBvbmVudFxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChpc0xhenlDZWxsKSB7XG4gICAgICAgICAgICBSaWNoVGV4dENlbGxDb21wb25lbnQgPSBSZWFjdC5sYXp5KCgpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuICdMYXp5Q2VsbENvbXBvbmVudCcgaW4gZmllbGQuZWRpdG9yXG4gICAgICAgICAgICAgICAgPyBmaWVsZC5lZGl0b3IuTGF6eUNlbGxDb21wb25lbnQoKS50aGVuKChyZXNvbHZlZENvbXBvbmVudCkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogcmVzb2x2ZWRDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICA6IG51bGxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSBlbHNlIGlmICgnQ2VsbENvbXBvbmVudCcgaW4gZmllbGQuZWRpdG9yKSB7XG4gICAgICAgICAgICBSaWNoVGV4dENlbGxDb21wb25lbnQgPSBmaWVsZC5lZGl0b3IuQ2VsbENvbXBvbmVudFxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0eXBlb2YgZmllbGQuZWRpdG9yLmdlbmVyYXRlQ29tcG9uZW50TWFwID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBmaWVsZC5lZGl0b3IuZ2VuZXJhdGVDb21wb25lbnRNYXAoeyBjb25maWcsIHNjaGVtYVBhdGg6IHBhdGggfSlcbiAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3ItbmV4dC1saW5lIC8vIFRPRE86IHRoZSBgcmljaFRleHRDb21wb25lbnRNYXBgIGlzIG5vdCBmb3VuZCBvbiB0aGUgdW5pb24gdHlwZVxuICAgICAgICAgICAgZmllbGRDb21wb25lbnRQcm9wcy5yaWNoVGV4dENvbXBvbmVudE1hcCA9IHJlc3VsdFxuICAgICAgICAgICAgY2VsbENvbXBvbmVudFByb3BzLnJpY2hUZXh0Q29tcG9uZW50TWFwID0gcmVzdWx0XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKFJpY2hUZXh0RmllbGRDb21wb25lbnQpIHtcbiAgICAgICAgICAgIEZpZWxkID0gPFJpY2hUZXh0RmllbGRDb21wb25lbnQgey4uLmZpZWxkQ29tcG9uZW50UHJvcHN9IC8+XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKFJpY2hUZXh0Q2VsbENvbXBvbmVudCkge1xuICAgICAgICAgICAgY2VsbENvbXBvbmVudFByb3BzLkNlbGxDb21wb25lbnRPdmVycmlkZSA9IDxSaWNoVGV4dENlbGxDb21wb25lbnQgLz5cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZWR1Y2VkRmllbGQ6IE1hcHBlZEZpZWxkID0ge1xuICAgICAgICAgIG5hbWU6ICduYW1lJyBpbiBmaWVsZCA/IGZpZWxkLm5hbWUgOiAnJyxcbiAgICAgICAgICB0eXBlOiBmaWVsZC50eXBlLFxuICAgICAgICAgIENlbGw6IChcbiAgICAgICAgICAgIDxSZW5kZXJDdXN0b21Db21wb25lbnRcbiAgICAgICAgICAgICAgQ3VzdG9tQ29tcG9uZW50PXtmaWVsZC5hZG1pbj8uY29tcG9uZW50cz8uQ2VsbH1cbiAgICAgICAgICAgICAgRGVmYXVsdENvbXBvbmVudD17RGVmYXVsdENlbGx9XG4gICAgICAgICAgICAgIGNvbXBvbmVudFByb3BzPXtjZWxsQ29tcG9uZW50UHJvcHN9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICksXG4gICAgICAgICAgRmllbGQsXG4gICAgICAgICAgSGVhZGluZzogKFxuICAgICAgICAgICAgPFNvcnRDb2x1bW5cbiAgICAgICAgICAgICAgZGlzYWJsZT17XG4gICAgICAgICAgICAgICAgKCdkaXNhYmxlU29ydCcgaW4gZmllbGQgJiYgQm9vbGVhbihmaWVsZC5kaXNhYmxlU29ydCkpIHx8XG4gICAgICAgICAgICAgICAgZmllbGRJc1ByZXNlbnRhdGlvbmFsT25seShmaWVsZCkgfHxcbiAgICAgICAgICAgICAgICB1bmRlZmluZWRcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBsYWJlbD17XG4gICAgICAgICAgICAgICAgJ2xhYmVsJyBpbiBmaWVsZCAmJiBmaWVsZC5sYWJlbCAmJiB0eXBlb2YgZmllbGQubGFiZWwgIT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgICAgICAgID8gZmllbGQubGFiZWxcbiAgICAgICAgICAgICAgICAgIDogJ25hbWUnIGluIGZpZWxkXG4gICAgICAgICAgICAgICAgICAgID8gZmllbGQubmFtZVxuICAgICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG5hbWU9eyduYW1lJyBpbiBmaWVsZCA/IGZpZWxkLm5hbWUgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICksXG4gICAgICAgICAgYmxvY2tzLFxuICAgICAgICAgIGZpZWxkSXNQcmVzZW50YXRpb25hbCxcbiAgICAgICAgICBmaWVsZFBlcm1pc3Npb25zLFxuICAgICAgICAgIGhhc01hbnk6ICdoYXNNYW55JyBpbiBmaWVsZCA/IGZpZWxkLmhhc01hbnkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgaXNGaWVsZEFmZmVjdGluZ0RhdGEsXG4gICAgICAgICAgaXNTaWRlYmFyOiBmaWVsZC5hZG1pbj8ucG9zaXRpb24gPT09ICdzaWRlYmFyJyxcbiAgICAgICAgICBsYWJlbDogJ2xhYmVsJyBpbiBmaWVsZCAmJiB0eXBlb2YgZmllbGQubGFiZWwgIT09ICdmdW5jdGlvbicgPyBmaWVsZC5sYWJlbCA6IHVuZGVmaW5lZCxcbiAgICAgICAgICBsYWJlbHM6ICdsYWJlbHMnIGluIGZpZWxkID8gZmllbGQubGFiZWxzIDogdW5kZWZpbmVkLFxuICAgICAgICAgIGxvY2FsaXplZDogJ2xvY2FsaXplZCcgaW4gZmllbGQgPyBmaWVsZC5sb2NhbGl6ZWQgOiBmYWxzZSxcbiAgICAgICAgICBvcHRpb25zOiAnb3B0aW9ucycgaW4gZmllbGQgPyBmaWVsZC5vcHRpb25zIDogdW5kZWZpbmVkLFxuICAgICAgICAgIHJlYWRPbmx5LFxuICAgICAgICAgIHJlbGF0aW9uVG86ICdyZWxhdGlvblRvJyBpbiBmaWVsZCA/IGZpZWxkLnJlbGF0aW9uVG8gOiB1bmRlZmluZWQsXG4gICAgICAgICAgc3ViZmllbGRzOiBuZXN0ZWRGaWVsZE1hcCxcbiAgICAgICAgICB0YWJzLFxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKEZpZWxkQ29tcG9uZW50KSB7XG4gICAgICAgICAgYWNjLnB1c2gocmVkdWNlZEZpZWxkKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGFjY1xuICB9LCBbXSlcblxuICBjb25zdCBoYXNJRCA9XG4gICAgcmVzdWx0LmZpbmRJbmRleCgoeyBuYW1lLCBpc0ZpZWxkQWZmZWN0aW5nRGF0YSB9KSA9PiBpc0ZpZWxkQWZmZWN0aW5nRGF0YSAmJiBuYW1lID09PSAnaWQnKSA+IC0xXG5cbiAgaWYgKCFoYXNJRCkge1xuICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgIG5hbWU6ICdpZCcsXG4gICAgICB0eXBlOiAndGV4dCcsXG4gICAgICBDZWxsOiB0eXBlb2YgRGVmYXVsdENlbGwgPT09ICdmdW5jdGlvbicgPyA8RGVmYXVsdENlbGwgbmFtZT1cImlkXCIgLz4gOiBudWxsLFxuICAgICAgRmllbGQ6IDxIaWRkZW5JbnB1dCBuYW1lPVwiaWRcIiAvPixcbiAgICAgIEhlYWRpbmc6IDxTb3J0Q29sdW1uIGxhYmVsPVwiSURcIiBuYW1lPVwiaWRcIiAvPixcbiAgICAgIGZpZWxkSXNQcmVzZW50YXRpb25hbDogZmFsc2UsXG4gICAgICBmaWVsZFBlcm1pc3Npb25zOiB7fSBhcyBGaWVsZFBlcm1pc3Npb25zLCAvLyBUT0RPOiB3aXJlIHRoaXMgdXBcbiAgICAgIGlzRmllbGRBZmZlY3RpbmdEYXRhOiB0cnVlLFxuICAgICAgaXNTaWRlYmFyOiBmYWxzZSxcbiAgICAgIGxhYmVsOiAnSUQnLFxuICAgICAgbGFiZWxzOiB1bmRlZmluZWQsXG4gICAgICBsb2NhbGl6ZWQ6IHVuZGVmaW5lZCxcbiAgICAgIHJlYWRPbmx5OiBmYWxzZSxcbiAgICAgIHN1YmZpZWxkczogW10sXG4gICAgICB0YWJzOiBbXSxcbiAgICB9KVxuICB9XG5cbiAgcmV0dXJuIHJlc3VsdFxufVxuIl0sIm5hbWVzIjpbIm1hcEZpZWxkcyIsImFyZ3MiLCJEZWZhdWx0Q2VsbCIsImNvbmZpZyIsImZpZWxkU2NoZW1hIiwiZmlsdGVyIiwib3BlcmF0aW9uIiwicGFyZW50UGF0aCIsInBlcm1pc3Npb25zIiwicmVhZE9ubHkiLCJyZWFkT25seU92ZXJyaWRlIiwicmVzdWx0IiwicmVkdWNlIiwiYWNjIiwiZmllbGQiLCJmaWVsZElzUHJlc2VudGF0aW9uYWwiLCJmaWVsZElzUHJlc2VudGF0aW9uYWxPbmx5IiwiRmllbGRDb21wb25lbnQiLCJhZG1pbiIsImNvbXBvbmVudHMiLCJGaWVsZCIsImZpZWxkVHlwZXMiLCJ0eXBlIiwiaGlkZGVuIiwiZGlzYWJsZWQiLCJpc0ZpZWxkQWZmZWN0aW5nRGF0YSIsImZpZWxkQWZmZWN0c0RhdGEiLCJwYXRoIiwibmFtZSIsImZpZWxkUGVybWlzc2lvbnMiLCJyZWFkIiwicGVybWlzc2lvbiIsInVuZGVmaW5lZCIsImxhYmVsUHJvcHMiLCJodG1sRm9yIiwibGFiZWwiLCJyZXF1aXJlZCIsImRlc2NyaXB0aW9uUHJvcHMiLCJkZXNjcmlwdGlvbiIsIm5lc3RlZEZpZWxkTWFwIiwiZmllbGRzIiwiQXJyYXkiLCJpc0FycmF5IiwidGFicyIsIm1hcCIsInRhYiIsInRhYkZpZWxkTWFwIiwicmVkdWNlZFRhYiIsInN1YmZpZWxkcyIsImJsb2NrcyIsImJsb2NrIiwiYmxvY2tGaWVsZE1hcCIsInNsdWciLCJyZWR1Y2VkQmxvY2siLCJpbWFnZUFsdFRleHQiLCJpbWFnZVVSTCIsImxhYmVscyIsImZpZWxkQ29tcG9uZW50UHJvcHMiLCJBZnRlcklucHV0IiwiYWZ0ZXJJbnB1dCIsIkZyYWdtZW50IiwiQ29tcG9uZW50IiwiaSIsImtleSIsIkJlZm9yZUlucHV0IiwiYmVmb3JlSW5wdXQiLCJEZXNjcmlwdGlvbiIsIlJlbmRlckN1c3RvbUNvbXBvbmVudCIsIkN1c3RvbUNvbXBvbmVudCIsIkRlZmF1bHRDb21wb25lbnQiLCJEZWZhdWx0RGVzY3JpcHRpb24iLCJjb21wb25lbnRQcm9wcyIsIkVycm9yIiwiRGVmYXVsdEVycm9yIiwiTGFiZWwiLCJEZWZhdWx0TGFiZWwiLCJjbGFzc05hbWUiLCJmaWVsZE1hcCIsInN0eWxlIiwid2lkdGgiLCJoYXNNYW55IiwibWF4IiwibWF4Um93cyIsIm1pbiIsIm9wdGlvbnMiLCJyZWxhdGlvblRvIiwicmljaFRleHRDb21wb25lbnRNYXAiLCJzdGVwIiwiY2VsbENvbXBvbmVudFByb3BzIiwiYiIsImRhdGVEaXNwbGF5Rm9ybWF0IiwiZGF0ZSIsImRpc3BsYXlGb3JtYXQiLCJmaWVsZFR5cGUiLCJSaWNoVGV4dEZpZWxkQ29tcG9uZW50IiwiUmljaFRleHRDZWxsQ29tcG9uZW50IiwiaXNMYXp5RmllbGQiLCJlZGl0b3IiLCJpc0xhenlDZWxsIiwiUmVhY3QiLCJsYXp5IiwiTGF6eUZpZWxkQ29tcG9uZW50IiwidGhlbiIsInJlc29sdmVkQ29tcG9uZW50IiwiZGVmYXVsdCIsIkxhenlDZWxsQ29tcG9uZW50IiwiQ2VsbENvbXBvbmVudCIsImdlbmVyYXRlQ29tcG9uZW50TWFwIiwic2NoZW1hUGF0aCIsIkNlbGxDb21wb25lbnRPdmVycmlkZSIsInJlZHVjZWRGaWVsZCIsIkNlbGwiLCJIZWFkaW5nIiwiU29ydENvbHVtbiIsImRpc2FibGUiLCJCb29sZWFuIiwiZGlzYWJsZVNvcnQiLCJpc1NpZGViYXIiLCJwb3NpdGlvbiIsImxvY2FsaXplZCIsInB1c2giLCJoYXNJRCIsImZpbmRJbmRleCIsIkhpZGRlbklucHV0Il0sIm1hcHBpbmdzIjoiOzs7OytCQWtCYUE7OztlQUFBQTs7O3VCQWYrQzsrREFDNUI7a0JBTUo7dUNBQ1U7NEJBQ1g7OERBQ0Y7eUVBQ007OERBQ047d0JBQ0U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXBCLE1BQU1BLFlBQVksQ0FBQ0M7SUFjeEIsTUFBTSxFQUNKQyxXQUFXLEVBQ1hDLE1BQU0sRUFDTkMsV0FBVyxFQUNYQyxNQUFNLEVBQ05DLFlBQVksUUFBUSxFQUNwQkMsVUFBVSxFQUNWQyxXQUFXLEVBQ1hDLFVBQVVDLGdCQUFnQixFQUMzQixHQUFHVDtJQUVKLE1BQU1VLFNBQW1CUCxZQUFZUSxNQUFNLENBQUMsQ0FBQ0MsS0FBS0M7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
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "buildFieldSchemaMap", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return buildFieldSchemaMap;
9
+ }
10
+ });
11
+ const _traverseFields = require("./traverseFields");
12
+ const buildFieldSchemaMap = (config)=>{
13
+ const result = new Map();
14
+ const validRelationships = config.collections.map((c)=>c.slug) || [];
15
+ config.collections.forEach((collection)=>{
16
+ (0, _traverseFields.traverseFields)({
17
+ config,
18
+ fields: collection.fields,
19
+ schemaMap: result,
20
+ schemaPath: collection.slug,
21
+ validRelationships
22
+ });
23
+ });
24
+ config.globals.forEach((global)=>{
25
+ (0, _traverseFields.traverseFields)({
26
+ config,
27
+ fields: global.fields,
28
+ schemaMap: result,
29
+ schemaPath: global.slug,
30
+ validRelationships
31
+ });
32
+ });
33
+ return result;
34
+ };
35
+
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlsaXRpZXMvYnVpbGRGaWVsZFNjaGVtYU1hcC9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbmZpZyB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB0eXBlIHsgRmllbGRTY2hlbWFNYXAgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyB0cmF2ZXJzZUZpZWxkcyB9IGZyb20gJy4vdHJhdmVyc2VGaWVsZHMnXG5cbmV4cG9ydCBjb25zdCBidWlsZEZpZWxkU2NoZW1hTWFwID0gKGNvbmZpZzogU2FuaXRpemVkQ29uZmlnKTogRmllbGRTY2hlbWFNYXAgPT4ge1xuICBjb25zdCByZXN1bHQ6IEZpZWxkU2NoZW1hTWFwID0gbmV3IE1hcCgpXG5cbiAgY29uc3QgdmFsaWRSZWxhdGlvbnNoaXBzID0gY29uZmlnLmNvbGxlY3Rpb25zLm1hcCgoYykgPT4gYy5zbHVnKSB8fCBbXVxuXG4gIGNvbmZpZy5jb2xsZWN0aW9ucy5mb3JFYWNoKChjb2xsZWN0aW9uKSA9PiB7XG4gICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgY29uZmlnLFxuICAgICAgZmllbGRzOiBjb2xsZWN0aW9uLmZpZWxkcyxcbiAgICAgIHNjaGVtYU1hcDogcmVzdWx0LFxuICAgICAgc2NoZW1hUGF0aDogY29sbGVjdGlvbi5zbHVnLFxuICAgICAgdmFsaWRSZWxhdGlvbnNoaXBzLFxuICAgIH0pXG4gIH0pXG5cbiAgY29uZmlnLmdsb2JhbHMuZm9yRWFjaCgoZ2xvYmFsKSA9PiB7XG4gICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgY29uZmlnLFxuICAgICAgZmllbGRzOiBnbG9iYWwuZmllbGRzLFxuICAgICAgc2NoZW1hTWFwOiByZXN1bHQsXG4gICAgICBzY2hlbWFQYXRoOiBnbG9iYWwuc2x1ZyxcbiAgICAgIHZhbGlkUmVsYXRpb25zaGlwcyxcbiAgICB9KVxuICB9KVxuXG4gIHJldHVybiByZXN1bHRcbn1cbiJdLCJuYW1lcyI6WyJidWlsZEZpZWxkU2NoZW1hTWFwIiwiY29uZmlnIiwicmVzdWx0IiwiTWFwIiwidmFsaWRSZWxhdGlvbnNoaXBzIiwiY29sbGVjdGlvbnMiLCJtYXAiLCJjIiwic2x1ZyIsImZvckVhY2giLCJjb2xsZWN0aW9uIiwidHJhdmVyc2VGaWVsZHMiLCJmaWVsZHMiLCJzY2hlbWFNYXAiLCJzY2hlbWFQYXRoIiwiZ2xvYmFscyIsImdsb2JhbCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFNYUE7OztlQUFBQTs7O2dDQUZrQjtBQUV4QixNQUFNQSxzQkFBc0IsQ0FBQ0M7SUFDbEMsTUFBTUMsU0FBeUIsSUFBSUM7SUFFbkMsTUFBTUMscUJBQXFCSCxPQUFPSSxXQUFXLENBQUNDLEdBQUcsQ0FBQyxDQUFDQyxJQUFNQSxFQUFFQyxJQUFJLEtBQUssRUFBRTtJQUV0RVAsT0FBT0ksV0FBVyxDQUFDSSxPQUFPLENBQUMsQ0FBQ0M7UUFDMUJDLElBQUFBLDhCQUFjLEVBQUM7WUFDYlY7WUFDQVcsUUFBUUYsV0FBV0UsTUFBTTtZQUN6QkMsV0FBV1g7WUFDWFksWUFBWUosV0FBV0YsSUFBSTtZQUMzQko7UUFDRjtJQUNGO0lBRUFILE9BQU9jLE9BQU8sQ0FBQ04sT0FBTyxDQUFDLENBQUNPO1FBQ3RCTCxJQUFBQSw4QkFBYyxFQUFDO1lBQ2JWO1lBQ0FXLFFBQVFJLE9BQU9KLE1BQU07WUFDckJDLFdBQVdYO1lBQ1hZLFlBQVlFLE9BQU9SLElBQUk7WUFDdkJKO1FBQ0Y7SUFDRjtJQUVBLE9BQU9GO0FBQ1QifQ==
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "traverseFields", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return traverseFields;
9
+ }
10
+ });
11
+ const _config = require("payload/config");
12
+ const _types = require("payload/types");
13
+ const traverseFields = ({ config, fields, schemaMap, schemaPath, validRelationships })=>{
14
+ fields.map((field)=>{
15
+ let fieldsToSet;
16
+ switch(field.type){
17
+ case 'group':
18
+ case 'array':
19
+ fieldsToSet = (0, _config.sanitizeFields)({
20
+ config,
21
+ fields: field.fields,
22
+ validRelationships
23
+ });
24
+ schemaMap.set(`${schemaPath}.${field.name}`, fieldsToSet);
25
+ traverseFields({
26
+ config,
27
+ fields: field.fields,
28
+ schemaMap,
29
+ schemaPath: `${schemaPath}.${field.name}`,
30
+ validRelationships
31
+ });
32
+ break;
33
+ case 'collapsible':
34
+ case 'row':
35
+ traverseFields({
36
+ config,
37
+ fields: field.fields,
38
+ schemaMap,
39
+ schemaPath,
40
+ validRelationships
41
+ });
42
+ break;
43
+ case 'blocks':
44
+ field.blocks.map((block)=>{
45
+ const blockSchemaPath = `${schemaPath}.${field.name}.${block.slug}`;
46
+ fieldsToSet = (0, _config.sanitizeFields)({
47
+ config,
48
+ fields: block.fields,
49
+ validRelationships
50
+ });
51
+ schemaMap.set(blockSchemaPath, fieldsToSet);
52
+ traverseFields({
53
+ config,
54
+ fields: block.fields,
55
+ schemaMap,
56
+ schemaPath: blockSchemaPath,
57
+ validRelationships
58
+ });
59
+ });
60
+ break;
61
+ case 'richText':
62
+ if (typeof field.editor.generateSchemaMap === 'function') {
63
+ field.editor.generateSchemaMap({
64
+ config,
65
+ schemaMap,
66
+ schemaPath: `${schemaPath}.${field.name}`
67
+ });
68
+ }
69
+ break;
70
+ case 'tabs':
71
+ field.tabs.map((tab)=>{
72
+ const tabSchemaPath = (0, _types.tabHasName)(tab) ? `${schemaPath}.${tab.name}` : schemaPath;
73
+ if ((0, _types.tabHasName)(tab)) {
74
+ fieldsToSet = (0, _config.sanitizeFields)({
75
+ config,
76
+ fields: tab.fields,
77
+ validRelationships
78
+ });
79
+ schemaMap.set(tabSchemaPath, fieldsToSet);
80
+ }
81
+ traverseFields({
82
+ config,
83
+ fields: tab.fields,
84
+ schemaMap,
85
+ schemaPath: tabSchemaPath,
86
+ validRelationships
87
+ });
88
+ });
89
+ break;
90
+ }
91
+ });
92
+ };
93
+
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlsaXRpZXMvYnVpbGRGaWVsZFNjaGVtYU1hcC90cmF2ZXJzZUZpZWxkcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEZpZWxkLCBTYW5pdGl6ZWRDb25maWcgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBzYW5pdGl6ZUZpZWxkcyB9IGZyb20gJ3BheWxvYWQvY29uZmlnJ1xuaW1wb3J0IHsgdGFiSGFzTmFtZSB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB0eXBlIHsgRmllbGRTY2hlbWFNYXAgfSBmcm9tICcuL3R5cGVzJ1xuXG50eXBlIEFyZ3MgPSB7XG4gIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnXG4gIGZpZWxkczogRmllbGRbXVxuICBzY2hlbWFNYXA6IEZpZWxkU2NoZW1hTWFwXG4gIHNjaGVtYVBhdGg6IHN0cmluZ1xuICB2YWxpZFJlbGF0aW9uc2hpcHM6IHN0cmluZ1tdXG59XG5cbmV4cG9ydCBjb25zdCB0cmF2ZXJzZUZpZWxkcyA9ICh7XG4gIGNvbmZpZyxcbiAgZmllbGRzLFxuICBzY2hlbWFNYXAsXG4gIHNjaGVtYVBhdGgsXG4gIHZhbGlkUmVsYXRpb25zaGlwcyxcbn06IEFyZ3MpID0+IHtcbiAgZmllbGRzLm1hcCgoZmllbGQpID0+IHtcbiAgICBsZXQgZmllbGRzVG9TZXRcbiAgICBzd2l0Y2ggKGZpZWxkLnR5cGUpIHtcbiAgICAgIGNhc2UgJ2dyb3VwJzpcbiAgICAgIGNhc2UgJ2FycmF5JzpcbiAgICAgICAgZmllbGRzVG9TZXQgPSBzYW5pdGl6ZUZpZWxkcyh7XG4gICAgICAgICAgY29uZmlnLFxuICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgIHZhbGlkUmVsYXRpb25zaGlwcyxcbiAgICAgICAgfSlcbiAgICAgICAgc2NoZW1hTWFwLnNldChgJHtzY2hlbWFQYXRofS4ke2ZpZWxkLm5hbWV9YCwgZmllbGRzVG9TZXQpXG5cbiAgICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICBzY2hlbWFNYXAsXG4gICAgICAgICAgc2NoZW1hUGF0aDogYCR7c2NoZW1hUGF0aH0uJHtmaWVsZC5uYW1lfWAsXG4gICAgICAgICAgdmFsaWRSZWxhdGlvbnNoaXBzLFxuICAgICAgICB9KVxuICAgICAgICBicmVha1xuXG4gICAgICBjYXNlICdjb2xsYXBzaWJsZSc6XG4gICAgICBjYXNlICdyb3cnOlxuICAgICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgY29uZmlnLFxuICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgIHNjaGVtYU1hcCxcbiAgICAgICAgICBzY2hlbWFQYXRoLFxuICAgICAgICAgIHZhbGlkUmVsYXRpb25zaGlwcyxcbiAgICAgICAgfSlcbiAgICAgICAgYnJlYWtcblxuICAgICAgY2FzZSAnYmxvY2tzJzpcbiAgICAgICAgZmllbGQuYmxvY2tzLm1hcCgoYmxvY2spID0+IHtcbiAgICAgICAgICBjb25zdCBibG9ja1NjaGVtYVBhdGggPSBgJHtzY2hlbWFQYXRofS4ke2ZpZWxkLm5hbWV9LiR7YmxvY2suc2x1Z31gXG4gICAgICAgICAgZmllbGRzVG9TZXQgPSBzYW5pdGl6ZUZpZWxkcyh7XG4gICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICBmaWVsZHM6IGJsb2NrLmZpZWxkcyxcbiAgICAgICAgICAgIHZhbGlkUmVsYXRpb25zaGlwcyxcbiAgICAgICAgICB9KVxuICAgICAgICAgIHNjaGVtYU1hcC5zZXQoYmxvY2tTY2hlbWFQYXRoLCBmaWVsZHNUb1NldClcblxuICAgICAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICAgIGZpZWxkczogYmxvY2suZmllbGRzLFxuICAgICAgICAgICAgc2NoZW1hTWFwLFxuICAgICAgICAgICAgc2NoZW1hUGF0aDogYmxvY2tTY2hlbWFQYXRoLFxuICAgICAgICAgICAgdmFsaWRSZWxhdGlvbnNoaXBzLFxuICAgICAgICAgIH0pXG4gICAgICAgIH0pXG4gICAgICAgIGJyZWFrXG5cbiAgICAgIGNhc2UgJ3JpY2hUZXh0JzpcbiAgICAgICAgaWYgKHR5cGVvZiBmaWVsZC5lZGl0b3IuZ2VuZXJhdGVTY2hlbWFNYXAgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICBmaWVsZC5lZGl0b3IuZ2VuZXJhdGVTY2hlbWFNYXAoe1xuICAgICAgICAgICAgY29uZmlnLFxuICAgICAgICAgICAgc2NoZW1hTWFwLFxuICAgICAgICAgICAgc2NoZW1hUGF0aDogYCR7c2NoZW1hUGF0aH0uJHtmaWVsZC5uYW1lfWAsXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrXG5cbiAgICAgIGNhc2UgJ3RhYnMnOlxuICAgICAgICBmaWVsZC50YWJzLm1hcCgodGFiKSA9PiB7XG4gICAgICAgICAgY29uc3QgdGFiU2NoZW1hUGF0aCA9IHRhYkhhc05hbWUodGFiKSA/IGAke3NjaGVtYVBhdGh9LiR7dGFiLm5hbWV9YCA6IHNjaGVtYVBhdGhcblxuICAgICAgICAgIGlmICh0YWJIYXNOYW1lKHRhYikpIHtcbiAgICAgICAgICAgIGZpZWxkc1RvU2V0ID0gc2FuaXRpemVGaWVsZHMoe1xuICAgICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICAgIGZpZWxkczogdGFiLmZpZWxkcyxcbiAgICAgICAgICAgICAgdmFsaWRSZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIHNjaGVtYU1hcC5zZXQodGFiU2NoZW1hUGF0aCwgZmllbGRzVG9TZXQpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgICAgY29uZmlnLFxuICAgICAgICAgICAgZmllbGRzOiB0YWIuZmllbGRzLFxuICAgICAgICAgICAgc2NoZW1hTWFwLFxuICAgICAgICAgICAgc2NoZW1hUGF0aDogdGFiU2NoZW1hUGF0aCxcbiAgICAgICAgICAgIHZhbGlkUmVsYXRpb25zaGlwcyxcbiAgICAgICAgICB9KVxuICAgICAgICB9KVxuICAgICAgICBicmVha1xuICAgIH1cbiAgfSlcbn1cbiJdLCJuYW1lcyI6WyJ0cmF2ZXJzZUZpZWxkcyIsImNvbmZpZyIsImZpZWxkcyIsInNjaGVtYU1hcCIsInNjaGVtYVBhdGgiLCJ2YWxpZFJlbGF0aW9uc2hpcHMiLCJtYXAiLCJmaWVsZCIsImZpZWxkc1RvU2V0IiwidHlwZSIsInNhbml0aXplRmllbGRzIiwic2V0IiwibmFtZSIsImJsb2NrcyIsImJsb2NrIiwiYmxvY2tTY2hlbWFQYXRoIiwic2x1ZyIsImVkaXRvciIsImdlbmVyYXRlU2NoZW1hTWFwIiwidGFicyIsInRhYiIsInRhYlNjaGVtYVBhdGgiLCJ0YWJIYXNOYW1lIl0sIm1hcHBpbmdzIjoiOzs7OytCQWVhQTs7O2VBQUFBOzs7d0JBYmtCO3VCQUNKO0FBWXBCLE1BQU1BLGlCQUFpQixDQUFDLEVBQzdCQyxNQUFNLEVBQ05DLE1BQU0sRUFDTkMsU0FBUyxFQUNUQyxVQUFVLEVBQ1ZDLGtCQUFrQixFQUNiO0lBQ0xILE9BQU9JLEdBQUcsQ0FBQyxDQUFDQztRQUNWLElBQUlDO1FBQ0osT0FBUUQsTUFBTUUsSUFBSTtZQUNoQixLQUFLO1lBQ0wsS0FBSztnQkFDSEQsY0FBY0UsSUFBQUEsc0JBQWMsRUFBQztvQkFDM0JUO29CQUNBQyxRQUFRSyxNQUFNTCxNQUFNO29CQUNwQkc7Z0JBQ0Y7Z0JBQ0FGLFVBQVVRLEdBQUcsQ0FBQyxDQUFDLEVBQUVQLFdBQVcsQ0FBQyxFQUFFRyxNQUFNSyxJQUFJLENBQUMsQ0FBQyxFQUFFSjtnQkFFN0NSLGVBQWU7b0JBQ2JDO29CQUNBQyxRQUFRSyxNQUFNTCxNQUFNO29CQUNwQkM7b0JBQ0FDLFlBQVksQ0FBQyxFQUFFQSxXQUFXLENBQUMsRUFBRUcsTUFBTUssSUFBSSxDQUFDLENBQUM7b0JBQ3pDUDtnQkFDRjtnQkFDQTtZQUVGLEtBQUs7WUFDTCxLQUFLO2dCQUNITCxlQUFlO29CQUNiQztvQkFDQUMsUUFBUUssTUFBTUwsTUFBTTtvQkFDcEJDO29CQUNBQztvQkFDQUM7Z0JBQ0Y7Z0JBQ0E7WUFFRixLQUFLO2dCQUNIRSxNQUFNTSxNQUFNLENBQUNQLEdBQUcsQ0FBQyxDQUFDUTtvQkFDaEIsTUFBTUMsa0JBQWtCLENBQUMsRUFBRVgsV0FBVyxDQUFDLEVBQUVHLE1BQU1LLElBQUksQ0FBQyxDQUFDLEVBQUVFLE1BQU1FLElBQUksQ0FBQyxDQUFDO29CQUNuRVIsY0FBY0UsSUFBQUEsc0JBQWMsRUFBQzt3QkFDM0JUO3dCQUNBQyxRQUFRWSxNQUFNWixNQUFNO3dCQUNwQkc7b0JBQ0Y7b0JBQ0FGLFVBQVVRLEdBQUcsQ0FBQ0ksaUJBQWlCUDtvQkFFL0JSLGVBQWU7d0JBQ2JDO3dCQUNBQyxRQUFRWSxNQUFNWixNQUFNO3dCQUNwQkM7d0JBQ0FDLFlBQVlXO3dCQUNaVjtvQkFDRjtnQkFDRjtnQkFDQTtZQUVGLEtBQUs7Z0JBQ0gsSUFBSSxPQUFPRSxNQUFNVSxNQUFNLENBQUNDLGlCQUFpQixLQUFLLFlBQVk7b0JBQ3hEWCxNQUFNVSxNQUFNLENBQUNDLGlCQUFpQixDQUFDO3dCQUM3QmpCO3dCQUNBRTt3QkFDQUMsWUFBWSxDQUFDLEVBQUVBLFdBQVcsQ0FBQyxFQUFFRyxNQUFNSyxJQUFJLENBQUMsQ0FBQztvQkFDM0M7Z0JBQ0Y7Z0JBRUE7WUFFRixLQUFLO2dCQUNITCxNQUFNWSxJQUFJLENBQUNiLEdBQUcsQ0FBQyxDQUFDYztvQkFDZCxNQUFNQyxnQkFBZ0JDLElBQUFBLGlCQUFVLEVBQUNGLE9BQU8sQ0FBQyxFQUFFaEIsV0FBVyxDQUFDLEVBQUVnQixJQUFJUixJQUFJLENBQUMsQ0FBQyxHQUFHUjtvQkFFdEUsSUFBSWtCLElBQUFBLGlCQUFVLEVBQUNGLE1BQU07d0JBQ25CWixjQUFjRSxJQUFBQSxzQkFBYyxFQUFDOzRCQUMzQlQ7NEJBQ0FDLFFBQVFrQixJQUFJbEIsTUFBTTs0QkFDbEJHO3dCQUNGO3dCQUNBRixVQUFVUSxHQUFHLENBQUNVLGVBQWViO29CQUMvQjtvQkFFQVIsZUFBZTt3QkFDYkM7d0JBQ0FDLFFBQVFrQixJQUFJbEIsTUFBTTt3QkFDbEJDO3dCQUNBQyxZQUFZaUI7d0JBQ1poQjtvQkFDRjtnQkFDRjtnQkFDQTtRQUNKO0lBQ0Y7QUFDRiJ9
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -0,0 +1,13 @@
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 _default = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
12
+
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY2FuVXNlRE9NLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0ICEhKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdy5kb2N1bWVudCAmJiB3aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudClcbiJdLCJuYW1lcyI6WyJ3aW5kb3ciLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiXSwibWFwcGluZ3MiOiI7Ozs7K0JBQUE7OztlQUFBOzs7TUFBQSxXQUFlLENBQUMsQ0FBRSxDQUFBLE9BQU9BLFdBQVcsZUFBZUEsT0FBT0MsUUFBUSxJQUFJRCxPQUFPQyxRQUFRLENBQUNDLGFBQWEsQUFBRCJ9
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "findLocaleFromCode", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return findLocaleFromCode;
9
+ }
10
+ });
11
+ const findLocaleFromCode = (localizationConfig, locale)=>{
12
+ if (!localizationConfig?.locales || localizationConfig.locales.length === 0) {
13
+ return null;
14
+ }
15
+ return localizationConfig.locales.find((el)=>el?.code === locale);
16
+ };
17
+
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZmluZExvY2FsZUZyb21Db2RlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTG9jYWxlLCBTYW5pdGl6ZWRMb2NhbGl6YXRpb25Db25maWcgfSBmcm9tICdwYXlsb2FkL2NvbmZpZydcbi8qXG4gcmV0dXJuIHRoZSBMb2NhbGUgZm9yIGdpdmVuIGxvY2FsZSBjb2RlLCBlbHNlIHJldHVybiBudWxsXG4qL1xuZXhwb3J0IGNvbnN0IGZpbmRMb2NhbGVGcm9tQ29kZSA9IChcbiAgbG9jYWxpemF0aW9uQ29uZmlnOiBTYW5pdGl6ZWRMb2NhbGl6YXRpb25Db25maWcsXG4gIGxvY2FsZTogc3RyaW5nLFxuKTogTG9jYWxlIHwgbnVsbCA9PiB7XG4gIGlmICghbG9jYWxpemF0aW9uQ29uZmlnPy5sb2NhbGVzIHx8IGxvY2FsaXphdGlvbkNvbmZpZy5sb2NhbGVzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICByZXR1cm4gbG9jYWxpemF0aW9uQ29uZmlnLmxvY2FsZXMuZmluZCgoZWwpID0+IGVsPy5jb2RlID09PSBsb2NhbGUpXG59XG4iXSwibmFtZXMiOlsiZmluZExvY2FsZUZyb21Db2RlIiwibG9jYWxpemF0aW9uQ29uZmlnIiwibG9jYWxlIiwibG9jYWxlcyIsImxlbmd0aCIsImZpbmQiLCJlbCIsImNvZGUiXSwibWFwcGluZ3MiOiI7Ozs7K0JBSWFBOzs7ZUFBQUE7OztBQUFOLE1BQU1BLHFCQUFxQixDQUNoQ0Msb0JBQ0FDO0lBRUEsSUFBSSxDQUFDRCxvQkFBb0JFLFdBQVdGLG1CQUFtQkUsT0FBTyxDQUFDQyxNQUFNLEtBQUssR0FBRztRQUMzRSxPQUFPO0lBQ1Q7SUFFQSxPQUFPSCxtQkFBbUJFLE9BQU8sQ0FBQ0UsSUFBSSxDQUFDLENBQUNDLEtBQU9BLElBQUlDLFNBQVNMO0FBQzlEIn0=
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "getSupportedDateLocale", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return getSupportedDateLocale;
9
+ }
10
+ });
11
+ const getSupportedDateLocale = (locale = 'enUS')=>{
12
+ const formattedLocales = {
13
+ en: 'enUS',
14
+ my: 'enUS',
15
+ ua: 'uk',
16
+ zh: 'zhCN'
17
+ };
18
+ return formattedLocales[locale] || locale;
19
+ };
20
+
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlsaXRpZXMvZm9ybWF0RGF0ZS9nZXRTdXBwb3J0ZWREYXRlTG9jYWxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBnZXRTdXBwb3J0ZWREYXRlTG9jYWxlID0gKGxvY2FsZSA9ICdlblVTJyk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IGZvcm1hdHRlZExvY2FsZXMgPSB7XG4gICAgZW46ICdlblVTJyxcbiAgICBteTogJ2VuVVMnLCAvLyBCdXJtZXNlIGlzIG5vdCBjdXJyZW50bHkgc3VwcG9ydGVkXG4gICAgdWE6ICd1aycsXG4gICAgemg6ICd6aENOJyxcbiAgfVxuXG4gIHJldHVybiBmb3JtYXR0ZWRMb2NhbGVzW2xvY2FsZV0gfHwgbG9jYWxlXG59XG4iXSwibmFtZXMiOlsiZ2V0U3VwcG9ydGVkRGF0ZUxvY2FsZSIsImxvY2FsZSIsImZvcm1hdHRlZExvY2FsZXMiLCJlbiIsIm15IiwidWEiLCJ6aCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFBYUE7OztlQUFBQTs7O0FBQU4sTUFBTUEseUJBQXlCLENBQUNDLFNBQVMsTUFBTTtJQUNwRCxNQUFNQyxtQkFBbUI7UUFDdkJDLElBQUk7UUFDSkMsSUFBSTtRQUNKQyxJQUFJO1FBQ0pDLElBQUk7SUFDTjtJQUVBLE9BQU9KLGdCQUFnQixDQUFDRCxPQUFPLElBQUlBO0FBQ3JDIn0=