@payloadcms/next 3.0.0-alpha.3 → 3.0.0-alpha.30
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.
- package/dist/bin/index.js +5 -14
- package/dist/bin/install.js +16 -31
- package/dist/config.js +2 -12
- package/dist/elements/LeaveWithoutSaving/index.js +26 -76
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +11 -29
- package/dist/exports/index.d.ts +1 -1
- package/dist/exports/index.d.ts.map +1 -1
- package/dist/exports/index.js +2 -12
- package/dist/graphql/registerSchema.js +0 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -3
- package/dist/layouts/Admin/index.js +9 -32
- package/dist/layouts/Root/index.d.ts +1 -1
- package/dist/layouts/Root/index.d.ts.map +1 -1
- package/dist/layouts/Root/index.js +36 -54
- package/dist/next-fileupload/fileFactory.d.ts +2 -2
- package/dist/next-fileupload/fileFactory.d.ts.map +1 -1
- package/dist/next-fileupload/fileFactory.js +9 -19
- package/dist/next-fileupload/handlers.d.ts +2 -2
- package/dist/next-fileupload/handlers.d.ts.map +1 -1
- package/dist/next-fileupload/handlers.js +25 -89
- package/dist/next-fileupload/index.d.ts +1 -1
- package/dist/next-fileupload/index.js +10 -25
- package/dist/next-fileupload/isEligibleRequest.js +2 -12
- package/dist/next-fileupload/processMultipart.d.ts +1 -1
- package/dist/next-fileupload/processMultipart.d.ts.map +1 -1
- package/dist/next-fileupload/processMultipart.js +33 -46
- package/dist/next-fileupload/processNested.js +4 -14
- package/dist/next-fileupload/uploadTimer.js +2 -12
- package/dist/next-fileupload/utilities.d.ts +1 -1
- package/dist/next-fileupload/utilities.d.ts.map +1 -1
- package/dist/next-fileupload/utilities.js +31 -76
- package/dist/next-stream-file/index.d.ts +4 -0
- package/dist/next-stream-file/index.d.ts.map +1 -1
- package/dist/next-stream-file/index.js +6 -21
- package/dist/routes/graphql/handler.d.ts.map +1 -1
- package/dist/routes/graphql/handler.js +19 -36
- package/dist/routes/graphql/index.d.ts +2 -2
- package/dist/routes/graphql/index.d.ts.map +1 -1
- package/dist/routes/graphql/index.js +3 -21
- package/dist/routes/graphql/playground.js +6 -16
- package/dist/routes/index.d.ts +3 -3
- package/dist/routes/index.d.ts.map +1 -1
- package/dist/routes/index.js +4 -37
- package/dist/routes/rest/RouteError.js +10 -25
- package/dist/routes/rest/[collection]/file/[filename]/route.d.ts.map +1 -1
- package/dist/routes/rest/[collection]/file/[filename]/route.js +33 -39
- package/dist/routes/rest/auth/access.d.ts +1 -1
- package/dist/routes/rest/auth/access.d.ts.map +1 -1
- package/dist/routes/rest/auth/access.js +6 -21
- package/dist/routes/rest/auth/forgotPassword.d.ts +1 -1
- package/dist/routes/rest/auth/forgotPassword.d.ts.map +1 -1
- package/dist/routes/rest/auth/forgotPassword.js +6 -21
- package/dist/routes/rest/auth/init.d.ts +1 -1
- package/dist/routes/rest/auth/init.d.ts.map +1 -1
- package/dist/routes/rest/auth/init.js +4 -14
- package/dist/routes/rest/auth/login.d.ts +1 -1
- package/dist/routes/rest/auth/login.d.ts.map +1 -1
- package/dist/routes/rest/auth/login.js +10 -25
- package/dist/routes/rest/auth/logout.d.ts +1 -1
- package/dist/routes/rest/auth/logout.d.ts.map +1 -1
- package/dist/routes/rest/auth/logout.js +9 -24
- package/dist/routes/rest/auth/me.d.ts +1 -1
- package/dist/routes/rest/auth/me.d.ts.map +1 -1
- package/dist/routes/rest/auth/me.js +8 -23
- package/dist/routes/rest/auth/refresh.d.ts +1 -1
- package/dist/routes/rest/auth/refresh.d.ts.map +1 -1
- package/dist/routes/rest/auth/refresh.js +11 -25
- package/dist/routes/rest/auth/registerFirstUser.d.ts +1 -1
- package/dist/routes/rest/auth/registerFirstUser.d.ts.map +1 -1
- package/dist/routes/rest/auth/registerFirstUser.js +8 -23
- package/dist/routes/rest/auth/resetPassword.d.ts +1 -1
- package/dist/routes/rest/auth/resetPassword.d.ts.map +1 -1
- package/dist/routes/rest/auth/resetPassword.js +8 -23
- package/dist/routes/rest/auth/unlock.d.ts +1 -1
- package/dist/routes/rest/auth/unlock.d.ts.map +1 -1
- package/dist/routes/rest/auth/unlock.js +6 -21
- package/dist/routes/rest/auth/verifyEmail.d.ts +1 -1
- package/dist/routes/rest/auth/verifyEmail.d.ts.map +1 -1
- package/dist/routes/rest/auth/verifyEmail.js +6 -21
- package/dist/routes/rest/buildFormState.js +11 -34
- package/dist/routes/rest/checkEndpoints.d.ts.map +1 -1
- package/dist/routes/rest/checkEndpoints.js +4 -19
- package/dist/routes/rest/collections/create.d.ts +1 -1
- package/dist/routes/rest/collections/create.d.ts.map +1 -1
- package/dist/routes/rest/collections/create.js +8 -23
- package/dist/routes/rest/collections/delete.d.ts +1 -1
- package/dist/routes/rest/collections/delete.d.ts.map +1 -1
- package/dist/routes/rest/collections/delete.js +14 -29
- package/dist/routes/rest/collections/deleteByID.d.ts +1 -1
- package/dist/routes/rest/collections/deleteByID.d.ts.map +1 -1
- package/dist/routes/rest/collections/deleteByID.js +9 -24
- package/dist/routes/rest/collections/docAccess.d.ts +1 -1
- package/dist/routes/rest/collections/docAccess.d.ts.map +1 -1
- package/dist/routes/rest/collections/docAccess.js +6 -21
- package/dist/routes/rest/collections/find.d.ts +1 -1
- package/dist/routes/rest/collections/find.d.ts.map +1 -1
- package/dist/routes/rest/collections/find.js +12 -27
- package/dist/routes/rest/collections/findByID.d.ts +1 -1
- package/dist/routes/rest/collections/findByID.d.ts.map +1 -1
- package/dist/routes/rest/collections/findByID.js +8 -23
- package/dist/routes/rest/collections/findVersionByID.d.ts +1 -1
- package/dist/routes/rest/collections/findVersionByID.d.ts.map +1 -1
- package/dist/routes/rest/collections/findVersionByID.js +8 -23
- package/dist/routes/rest/collections/findVersions.d.ts +1 -1
- package/dist/routes/rest/collections/findVersions.d.ts.map +1 -1
- package/dist/routes/rest/collections/findVersions.js +12 -27
- package/dist/routes/rest/collections/restoreVersion.d.ts +1 -1
- package/dist/routes/rest/collections/restoreVersion.d.ts.map +1 -1
- package/dist/routes/rest/collections/restoreVersion.js +8 -23
- package/dist/routes/rest/collections/update.d.ts +1 -1
- package/dist/routes/rest/collections/update.d.ts.map +1 -1
- package/dist/routes/rest/collections/update.js +14 -29
- package/dist/routes/rest/collections/updateByID.d.ts +1 -1
- package/dist/routes/rest/collections/updateByID.d.ts.map +1 -1
- package/dist/routes/rest/collections/updateByID.js +8 -23
- package/dist/routes/rest/globals/docAccess.d.ts +1 -1
- package/dist/routes/rest/globals/docAccess.d.ts.map +1 -1
- package/dist/routes/rest/globals/docAccess.js +6 -21
- package/dist/routes/rest/globals/findOne.d.ts +1 -1
- package/dist/routes/rest/globals/findOne.d.ts.map +1 -1
- package/dist/routes/rest/globals/findOne.js +8 -23
- package/dist/routes/rest/globals/findVersionByID.d.ts +1 -1
- package/dist/routes/rest/globals/findVersionByID.d.ts.map +1 -1
- package/dist/routes/rest/globals/findVersionByID.js +8 -23
- package/dist/routes/rest/globals/findVersions.d.ts +1 -1
- package/dist/routes/rest/globals/findVersions.d.ts.map +1 -1
- package/dist/routes/rest/globals/findVersions.js +12 -27
- package/dist/routes/rest/globals/restoreVersion.d.ts +1 -1
- package/dist/routes/rest/globals/restoreVersion.d.ts.map +1 -1
- package/dist/routes/rest/globals/restoreVersion.js +8 -23
- package/dist/routes/rest/globals/update.d.ts +1 -1
- package/dist/routes/rest/globals/update.d.ts.map +1 -1
- package/dist/routes/rest/globals/update.js +8 -23
- package/dist/routes/rest/index.d.ts.map +1 -1
- package/dist/routes/rest/index.js +91 -120
- package/dist/routes/rest/types.js +2 -5
- package/dist/utilities/auth.d.ts +3 -3
- package/dist/utilities/auth.d.ts.map +1 -1
- package/dist/utilities/auth.js +7 -21
- package/dist/utilities/createPayloadRequest.d.ts.map +1 -1
- package/dist/utilities/createPayloadRequest.js +26 -31
- package/dist/utilities/getDataAndFile.js +4 -14
- package/dist/utilities/getNextI18n.js +11 -21
- package/dist/utilities/getNextT.js +11 -21
- package/dist/utilities/getPayload.d.ts +4 -0
- package/dist/utilities/getPayload.d.ts.map +1 -0
- package/dist/utilities/getPayload.js +62 -0
- package/dist/utilities/getRequestLanguage.d.ts +1 -1
- package/dist/utilities/getRequestLanguage.d.ts.map +1 -1
- package/dist/utilities/getRequestLanguage.js +4 -14
- package/dist/utilities/getRequestLocales.js +2 -12
- package/dist/utilities/initPage.d.ts +6 -15
- package/dist/utilities/initPage.d.ts.map +1 -1
- package/dist/utilities/initPage.js +45 -45
- package/dist/utilities/meta.js +5 -15
- package/dist/utilities/timestamp.d.ts +2 -0
- package/dist/utilities/timestamp.d.ts.map +1 -0
- package/dist/utilities/timestamp.js +7 -0
- package/dist/{pages → views}/API/RenderJSON/index.d.ts.map +1 -1
- package/dist/views/API/RenderJSON/index.js +91 -0
- package/dist/views/API/index.client.d.ts +4 -0
- package/dist/views/API/index.client.d.ts.map +1 -0
- package/dist/views/API/index.client.js +178 -0
- package/dist/views/API/index.d.ts +4 -0
- package/dist/views/API/index.d.ts.map +1 -0
- package/dist/views/API/index.js +7 -0
- package/dist/{pages/LivePreview → views/API}/meta.d.ts +1 -1
- package/dist/views/API/meta.d.ts.map +1 -0
- package/dist/views/API/meta.js +11 -0
- package/dist/{pages → views}/Account/Settings/index.d.ts.map +1 -1
- package/dist/views/Account/Settings/index.js +30 -0
- package/dist/views/Account/ToggleTheme/index.d.ts.map +1 -0
- package/dist/views/Account/ToggleTheme/index.js +34 -0
- package/dist/views/Account/index.d.ts +5 -0
- package/dist/views/Account/index.d.ts.map +1 -0
- package/dist/views/Account/index.js +78 -0
- package/dist/views/Account/meta.d.ts +3 -0
- package/dist/views/Account/meta.d.ts.map +1 -0
- package/dist/views/Account/meta.js +11 -0
- package/dist/views/CreateFirstUser/index.client.d.ts +7 -0
- package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -0
- package/dist/views/CreateFirstUser/index.client.js +18 -0
- package/dist/views/CreateFirstUser/index.d.ts +6 -0
- package/dist/views/CreateFirstUser/index.d.ts.map +1 -0
- package/dist/views/CreateFirstUser/index.js +51 -0
- package/dist/views/CreateFirstUser/meta.d.ts +3 -0
- package/dist/views/CreateFirstUser/meta.d.ts.map +1 -0
- package/dist/views/CreateFirstUser/meta.js +11 -0
- package/dist/{pages → views}/Dashboard/Default/index.client.d.ts +2 -0
- package/dist/views/Dashboard/Default/index.client.d.ts.map +1 -0
- package/dist/views/Dashboard/Default/index.client.js +99 -0
- package/dist/{pages → views}/Dashboard/Default/index.d.ts +2 -0
- package/dist/views/Dashboard/Default/index.d.ts.map +1 -0
- package/dist/views/Dashboard/Default/index.js +28 -0
- package/dist/views/Dashboard/index.d.ts +5 -0
- package/dist/views/Dashboard/index.d.ts.map +1 -0
- package/dist/views/Dashboard/index.js +46 -0
- package/dist/views/Dashboard/meta.d.ts +3 -0
- package/dist/views/Dashboard/meta.d.ts.map +1 -0
- package/dist/views/Dashboard/meta.js +11 -0
- package/dist/{pages → views}/Document/getCustomViewByKey.d.ts +2 -2
- package/dist/views/Document/getCustomViewByKey.d.ts.map +1 -0
- package/dist/views/Document/getCustomViewByKey.js +5 -0
- package/dist/{pages → views}/Document/getCustomViewByPath.d.ts +2 -2
- package/dist/views/Document/getCustomViewByPath.d.ts.map +1 -0
- package/dist/views/Document/getCustomViewByPath.js +16 -0
- package/dist/views/Document/getMetaBySegment.d.ts +10 -0
- package/dist/views/Document/getMetaBySegment.d.ts.map +1 -0
- package/dist/views/Document/getMetaBySegment.js +77 -0
- package/dist/{pages → views}/Document/getViewsFromConfig.d.ts +3 -3
- package/dist/views/Document/getViewsFromConfig.d.ts.map +1 -0
- package/dist/views/Document/getViewsFromConfig.js +155 -0
- package/dist/views/Document/index.d.ts +6 -0
- package/dist/views/Document/index.d.ts.map +1 -0
- package/dist/views/Document/index.js +158 -0
- package/dist/views/Document/meta.d.ts +3 -0
- package/dist/views/Document/meta.d.ts.map +1 -0
- package/dist/views/Document/meta.js +4 -0
- package/dist/{pages → views}/Edit/Default/Auth/APIKey.d.ts.map +1 -1
- package/dist/views/Edit/Default/Auth/APIKey.js +89 -0
- package/dist/{pages → views}/Edit/Default/Auth/index.d.ts +1 -1
- package/dist/{pages → views}/Edit/Default/Auth/index.d.ts.map +1 -1
- package/dist/views/Edit/Default/Auth/index.js +124 -0
- package/dist/{pages → views}/Edit/Default/Auth/types.d.ts.map +1 -1
- package/dist/views/Edit/Default/Auth/types.js +3 -0
- package/dist/views/Edit/Default/SetDocumentTitle/formatTitle.d.ts +10 -0
- package/dist/views/Edit/Default/SetDocumentTitle/formatTitle.d.ts.map +1 -0
- package/dist/views/Edit/Default/SetDocumentTitle/formatTitle.js +20 -0
- package/dist/{pages → views}/Edit/Default/SetDocumentTitle/index.d.ts +1 -1
- package/dist/{pages → views}/Edit/Default/SetDocumentTitle/index.d.ts.map +1 -1
- package/dist/views/Edit/Default/SetDocumentTitle/index.js +28 -0
- package/dist/{pages → views}/Edit/Default/SetStepNav/index.d.ts +1 -1
- package/dist/{pages → views}/Edit/Default/SetStepNav/index.d.ts.map +1 -1
- package/dist/{pages → views}/Edit/Default/SetStepNav/index.js +12 -22
- package/dist/views/Edit/Default/index.d.ts.map +1 -0
- package/dist/views/Edit/Default/index.js +145 -0
- package/dist/{pages → views}/Edit/Default/types.d.ts.map +1 -1
- package/dist/views/Edit/Default/types.js +3 -0
- package/dist/views/Edit/index.client.d.ts +3 -0
- package/dist/views/Edit/index.client.d.ts.map +1 -0
- package/dist/views/Edit/index.client.js +56 -0
- package/dist/views/Edit/index.d.ts +4 -0
- package/dist/views/Edit/index.d.ts.map +1 -0
- package/dist/views/Edit/index.js +7 -0
- package/dist/{pages/API → views/Edit}/meta.d.ts +1 -1
- package/dist/views/Edit/meta.d.ts.map +1 -0
- package/dist/views/Edit/meta.js +26 -0
- package/dist/views/Edit/sanitizeEditViewProps.d.ts +3 -0
- package/dist/views/Edit/sanitizeEditViewProps.d.ts.map +1 -0
- package/dist/views/Edit/sanitizeEditViewProps.js +11 -0
- package/dist/views/ForgotPassword/index.d.ts +6 -0
- package/dist/views/ForgotPassword/index.d.ts.map +1 -0
- package/dist/views/ForgotPassword/index.js +58 -0
- package/dist/views/ForgotPassword/meta.d.ts +7 -0
- package/dist/views/ForgotPassword/meta.d.ts.map +1 -0
- package/dist/views/ForgotPassword/meta.js +11 -0
- package/dist/{pages → views}/List/Default/Cell/cellTypes.spec.js +21 -30
- package/dist/{pages → views}/List/Default/Cell/fields/Array/index.d.ts.map +1 -1
- package/dist/views/List/Default/Cell/fields/Array/index.js +12 -0
- package/dist/{pages → views}/List/Default/Cell/fields/Blocks/index.d.ts.map +1 -1
- package/dist/views/List/Default/Cell/fields/Blocks/index.js +30 -0
- package/dist/{pages → views}/List/Default/Cell/fields/Checkbox/index.d.ts.map +1 -1
- package/dist/views/List/Default/Cell/fields/Checkbox/index.js +8 -0
- package/dist/{pages → views}/List/Default/Cell/fields/Code/index.d.ts.map +1 -1
- package/dist/views/List/Default/Cell/fields/Code/index.js +14 -0
- package/dist/{pages → views}/List/Default/Cell/fields/Date/index.d.ts.map +1 -1
- package/dist/views/List/Default/Cell/fields/Date/index.js +11 -0
- package/dist/{pages → views}/List/Default/Cell/fields/File/index.d.ts.map +1 -1
- package/dist/{pages → views}/List/Default/Cell/fields/File/index.js +8 -23
- package/dist/{pages → views}/List/Default/Cell/fields/JSON/index.d.ts.map +1 -1
- package/dist/views/List/Default/Cell/fields/JSON/index.js +11 -0
- package/dist/{pages → views}/List/Default/Cell/fields/Relationship/index.d.ts.map +1 -1
- package/dist/views/List/Default/Cell/fields/Relationship/index.js +70 -0
- package/dist/{pages → views}/List/Default/Cell/fields/Select/index.d.ts.map +1 -1
- package/dist/{pages → views}/List/Default/Cell/fields/Select/index.js +10 -25
- package/dist/{pages → views}/List/Default/Cell/fields/Textarea/index.d.ts.map +1 -1
- package/dist/views/List/Default/Cell/fields/Textarea/index.js +8 -0
- package/dist/views/List/Default/Cell/fields/index.d.ts +17 -0
- package/dist/views/List/Default/Cell/fields/index.d.ts.map +1 -0
- package/dist/views/List/Default/Cell/fields/index.js +26 -0
- package/dist/views/List/Default/Cell/index.d.ts.map +1 -0
- package/dist/views/List/Default/Cell/index.js +75 -0
- package/dist/{pages → views}/List/Default/RelationshipProvider/index.d.ts.map +1 -1
- package/dist/views/List/Default/RelationshipProvider/index.js +89 -0
- package/dist/{pages → views}/List/Default/RelationshipProvider/reducer.d.ts +1 -1
- package/dist/{pages → views}/List/Default/RelationshipProvider/reducer.d.ts.map +1 -1
- package/dist/views/List/Default/RelationshipProvider/reducer.js +45 -0
- package/dist/views/List/Default/index.d.ts.map +1 -0
- package/dist/views/List/Default/index.js +130 -0
- package/dist/{pages → views}/List/Default/types.d.ts.map +1 -1
- package/dist/views/List/Default/types.js +3 -0
- package/dist/views/List/index.d.ts +5 -0
- package/dist/views/List/index.d.ts.map +1 -0
- package/dist/views/List/index.js +70 -0
- package/dist/views/List/meta.d.ts +7 -0
- package/dist/views/List/meta.d.ts.map +1 -0
- package/dist/views/List/meta.js +19 -0
- package/dist/{pages → views}/LivePreview/Context/collisionDetection.d.ts.map +1 -1
- package/dist/{pages → views}/LivePreview/Context/collisionDetection.js +6 -14
- package/dist/{pages → views}/LivePreview/Context/context.d.ts +2 -2
- package/dist/views/LivePreview/Context/context.d.ts.map +1 -0
- package/dist/views/LivePreview/Context/context.js +40 -0
- package/dist/{pages → views}/LivePreview/Context/index.d.ts +3 -3
- package/dist/views/LivePreview/Context/index.d.ts.map +1 -0
- package/dist/views/LivePreview/Context/index.js +157 -0
- package/dist/{pages → views}/LivePreview/Context/sizeReducer.d.ts.map +1 -1
- package/dist/{pages → views}/LivePreview/Context/sizeReducer.js +2 -12
- package/dist/{pages → views}/LivePreview/Device/index.d.ts.map +1 -1
- package/dist/views/LivePreview/Device/index.js +51 -0
- package/dist/{pages → views}/LivePreview/DeviceContainer/index.d.ts.map +1 -1
- package/dist/views/LivePreview/DeviceContainer/index.js +29 -0
- package/dist/{pages → views}/LivePreview/IFrame/index.d.ts.map +1 -1
- package/dist/views/LivePreview/IFrame/index.js +23 -0
- package/dist/{pages → views}/LivePreview/Preview/index.d.ts +1 -1
- package/dist/views/LivePreview/Preview/index.d.ts.map +1 -0
- package/dist/views/LivePreview/Preview/index.js +76 -0
- package/dist/{pages → views}/LivePreview/Toolbar/Controls/index.d.ts +1 -1
- package/dist/views/LivePreview/Toolbar/Controls/index.d.ts.map +1 -0
- package/dist/views/LivePreview/Toolbar/Controls/index.js +81 -0
- package/dist/{pages → views}/LivePreview/Toolbar/SizeInput/index.d.ts.map +1 -1
- package/dist/views/LivePreview/Toolbar/SizeInput/index.js +61 -0
- package/dist/{pages → views}/LivePreview/Toolbar/index.d.ts +1 -1
- package/dist/views/LivePreview/Toolbar/index.d.ts.map +1 -0
- package/dist/views/LivePreview/Toolbar/index.js +50 -0
- package/dist/{pages → views}/LivePreview/ToolbarArea/index.d.ts.map +1 -1
- package/dist/views/LivePreview/ToolbarArea/index.js +17 -0
- package/dist/views/LivePreview/index.client.d.ts.map +1 -0
- package/dist/views/LivePreview/index.client.js +142 -0
- package/dist/views/LivePreview/index.d.ts +4 -0
- package/dist/views/LivePreview/index.d.ts.map +1 -0
- package/dist/views/LivePreview/index.js +45 -0
- package/dist/{pages/Version → views/LivePreview}/meta.d.ts +1 -1
- package/dist/views/LivePreview/meta.d.ts.map +1 -0
- package/dist/views/LivePreview/meta.js +26 -0
- package/dist/{pages → views}/LivePreview/usePopupWindow.d.ts.map +1 -1
- package/dist/{pages → views}/LivePreview/usePopupWindow.js +11 -21
- package/dist/{pages → views}/Login/LoginForm/index.d.ts.map +1 -1
- package/dist/views/Login/LoginForm/index.js +58 -0
- package/dist/views/Login/index.d.ts +7 -0
- package/dist/views/Login/index.d.ts.map +1 -0
- package/dist/views/Login/index.js +29 -0
- package/dist/views/Login/index.scss +8 -0
- package/dist/views/Login/meta.d.ts +3 -0
- package/dist/views/Login/meta.d.ts.map +1 -0
- package/dist/views/Login/meta.js +11 -0
- package/dist/views/Logout/LogoutClient.d.ts.map +1 -0
- package/dist/views/Logout/LogoutClient.js +33 -0
- package/dist/views/Logout/index.d.ts +9 -0
- package/dist/views/Logout/index.d.ts.map +1 -0
- package/dist/views/Logout/index.js +26 -0
- package/dist/views/Logout/meta.d.ts +3 -0
- package/dist/views/Logout/meta.d.ts.map +1 -0
- package/dist/views/Logout/meta.js +11 -0
- package/dist/views/NotFound/index.client.d.ts +6 -0
- package/dist/views/NotFound/index.client.d.ts.map +1 -0
- package/dist/views/NotFound/index.client.js +38 -0
- package/dist/views/NotFound/index.d.ts +12 -0
- package/dist/views/NotFound/index.d.ts.map +1 -0
- package/dist/views/NotFound/index.js +20 -0
- package/dist/views/NotFound/meta.d.ts +7 -0
- package/dist/views/NotFound/meta.d.ts.map +1 -0
- package/dist/views/NotFound/meta.js +11 -0
- package/dist/views/ResetPassword/index.d.ts +7 -0
- package/dist/views/ResetPassword/index.d.ts.map +1 -0
- package/dist/views/ResetPassword/index.js +63 -0
- package/dist/views/ResetPassword/meta.d.ts +3 -0
- package/dist/views/ResetPassword/meta.d.ts.map +1 -0
- package/dist/views/ResetPassword/meta.js +11 -0
- package/dist/views/Root/index.d.ts +31 -0
- package/dist/views/Root/index.d.ts.map +1 -0
- package/dist/views/Root/index.js +174 -0
- package/dist/views/Root/meta.d.ts +14 -0
- package/dist/views/Root/meta.d.ts.map +1 -0
- package/dist/views/Root/meta.js +159 -0
- package/dist/views/Unauthorized/UnauthorizedClient.d.ts.map +1 -0
- package/dist/views/Unauthorized/UnauthorizedClient.js +15 -0
- package/dist/views/Unauthorized/index.d.ts +5 -0
- package/dist/views/Unauthorized/index.d.ts.map +1 -0
- package/dist/views/Unauthorized/index.js +11 -0
- package/dist/views/Unauthorized/meta.d.ts +3 -0
- package/dist/views/Unauthorized/meta.d.ts.map +1 -0
- package/dist/views/Unauthorized/meta.js +11 -0
- package/dist/views/Verify/index.d.ts +7 -0
- package/dist/views/Verify/index.d.ts.map +1 -0
- package/dist/views/Verify/index.js +33 -0
- package/dist/views/Verify/meta.d.ts +3 -0
- package/dist/views/Verify/meta.d.ts.map +1 -0
- package/dist/views/Verify/meta.js +11 -0
- package/dist/{pages → views}/Version/Default/SetStepNav.d.ts.map +1 -1
- package/dist/{pages → views}/Version/Default/SetStepNav.js +13 -23
- package/dist/{pages → views}/Version/Default/index.d.ts +1 -1
- package/dist/views/Version/Default/index.d.ts.map +1 -0
- package/dist/views/Version/Default/index.js +100 -0
- package/dist/{pages → views}/Version/Default/types.d.ts +2 -7
- package/dist/views/Version/Default/types.d.ts.map +1 -0
- package/dist/views/Version/Default/types.js +3 -0
- package/dist/{pages → views}/Version/RenderFieldsToDiff/Label/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/Label/index.js +9 -0
- package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts +1 -1
- package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +65 -0
- package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Nested/index.d.ts +1 -1
- package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Nested/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js +29 -0
- package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +75 -0
- package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js +18 -0
- package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Select/index.d.ts +1 -1
- package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +39 -0
- package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts +1 -1
- package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +39 -0
- package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js +18 -0
- package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Text/index.d.ts +1 -1
- package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Text/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +31 -0
- package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/diffMethods.d.ts.map +1 -1
- package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/diffMethods.js +2 -12
- package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts +25 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/index.js +29 -0
- package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/styles.d.ts.map +1 -1
- package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/styles.js +2 -12
- package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/types.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/types.js +3 -0
- package/dist/{pages → views}/Version/RenderFieldsToDiff/index.d.ts +1 -1
- package/dist/{pages → views}/Version/RenderFieldsToDiff/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/index.js +100 -0
- package/dist/{pages → views}/Version/RenderFieldsToDiff/types.d.ts +1 -1
- package/dist/{pages → views}/Version/RenderFieldsToDiff/types.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/types.js +3 -0
- package/dist/{pages → views}/Version/Restore/index.d.ts +1 -1
- package/dist/views/Version/Restore/index.d.ts.map +1 -0
- package/dist/views/Version/Restore/index.js +71 -0
- package/dist/{pages → views}/Version/Restore/types.d.ts.map +1 -1
- package/dist/views/Version/Restore/types.js +3 -0
- package/dist/{pages → views}/Version/SelectComparison/index.d.ts +1 -1
- package/dist/views/Version/SelectComparison/index.d.ts.map +1 -0
- package/dist/views/Version/SelectComparison/index.js +112 -0
- package/dist/{pages → views}/Version/SelectComparison/types.d.ts +1 -1
- package/dist/{pages → views}/Version/SelectComparison/types.d.ts.map +1 -1
- package/dist/views/Version/SelectComparison/types.js +3 -0
- package/dist/{pages → views}/Version/SelectLocales/index.d.ts +1 -1
- package/dist/views/Version/SelectLocales/index.d.ts.map +1 -0
- package/dist/views/Version/SelectLocales/index.js +33 -0
- package/dist/{pages → views}/Version/SelectLocales/types.d.ts.map +1 -1
- package/dist/views/Version/SelectLocales/types.js +3 -0
- package/dist/views/Version/index.d.ts +3 -0
- package/dist/views/Version/index.d.ts.map +1 -0
- package/dist/views/Version/index.js +89 -0
- package/dist/{pages/Edit → views/Version}/meta.d.ts +1 -1
- package/dist/views/Version/meta.d.ts.map +1 -0
- package/dist/views/Version/meta.js +37 -0
- package/dist/{pages → views}/Version/shared.d.ts.map +1 -1
- package/dist/views/Version/shared.js +10 -0
- package/dist/{pages → views}/Versions/buildColumns.d.ts.map +1 -1
- package/dist/views/Versions/buildColumns.js +54 -0
- package/dist/{pages → views}/Versions/cells/AutosaveCell/index.d.ts.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.js +12 -0
- package/dist/{pages → views}/Versions/cells/CreatedAt/index.d.ts.map +1 -1
- package/dist/views/Versions/cells/CreatedAt/index.js +19 -0
- package/dist/{pages → views}/Versions/cells/ID/index.d.ts.map +1 -1
- package/dist/views/Versions/cells/ID/index.js +9 -0
- package/dist/{pages → views}/Versions/index.client.d.ts +0 -3
- package/dist/views/Versions/index.client.d.ts.map +1 -0
- package/dist/views/Versions/index.client.js +93 -0
- package/dist/{pages → views}/Versions/index.d.ts +1 -1
- package/dist/views/Versions/index.d.ts.map +1 -0
- package/dist/views/Versions/index.js +87 -0
- package/dist/views/Versions/meta.d.ts +3 -0
- package/dist/views/Versions/meta.d.ts.map +1 -0
- package/dist/views/Versions/meta.js +33 -0
- package/dist/{pages → views}/Versions/types.d.ts.map +1 -1
- package/dist/views/Versions/types.js +3 -0
- package/dist/withPayload.d.ts +2 -1
- package/dist/withPayload.d.ts.map +1 -1
- package/dist/withPayload.js +3 -6
- package/package.json +27 -13
- package/src/index.ts +5 -1
- package/dist/layouts/Document/index.d.ts +0 -14
- package/dist/layouts/Document/index.d.ts.map +0 -1
- package/dist/layouts/Document/index.js +0 -82
- package/dist/pages/API/RenderJSON/index.js +0 -142
- package/dist/pages/API/index.client.d.ts +0 -5
- package/dist/pages/API/index.client.d.ts.map +0 -1
- package/dist/pages/API/index.client.js +0 -241
- package/dist/pages/API/index.d.ts +0 -4
- package/dist/pages/API/index.d.ts.map +0 -1
- package/dist/pages/API/index.js +0 -27
- package/dist/pages/API/meta.d.ts.map +0 -1
- package/dist/pages/API/meta.js +0 -21
- package/dist/pages/Account/Settings/index.js +0 -45
- package/dist/pages/Account/ToggleTheme/index.d.ts.map +0 -1
- package/dist/pages/Account/ToggleTheme/index.js +0 -87
- package/dist/pages/Account/index.d.ts +0 -13
- package/dist/pages/Account/index.d.ts.map +0 -1
- package/dist/pages/Account/index.js +0 -171
- package/dist/pages/CreateFirstUser/index.client.d.ts +0 -5
- package/dist/pages/CreateFirstUser/index.client.d.ts.map +0 -1
- package/dist/pages/CreateFirstUser/index.client.js +0 -29
- package/dist/pages/CreateFirstUser/index.d.ts +0 -11
- package/dist/pages/CreateFirstUser/index.d.ts.map +0 -1
- package/dist/pages/CreateFirstUser/index.js +0 -91
- package/dist/pages/Dashboard/Default/index.client.d.ts.map +0 -1
- package/dist/pages/Dashboard/Default/index.client.js +0 -154
- package/dist/pages/Dashboard/Default/index.d.ts.map +0 -1
- package/dist/pages/Dashboard/Default/index.js +0 -44
- package/dist/pages/Dashboard/index.d.ts +0 -13
- package/dist/pages/Dashboard/index.d.ts.map +0 -1
- package/dist/pages/Dashboard/index.js +0 -128
- package/dist/pages/Document/getCustomViewByKey.d.ts.map +0 -1
- package/dist/pages/Document/getCustomViewByKey.js +0 -15
- package/dist/pages/Document/getCustomViewByPath.d.ts.map +0 -1
- package/dist/pages/Document/getCustomViewByPath.js +0 -26
- package/dist/pages/Document/getMetaBySegment.d.ts +0 -20
- package/dist/pages/Document/getMetaBySegment.d.ts.map +0 -1
- package/dist/pages/Document/getMetaBySegment.js +0 -124
- package/dist/pages/Document/getViewsFromConfig.d.ts.map +0 -1
- package/dist/pages/Document/getViewsFromConfig.js +0 -224
- package/dist/pages/Document/index.d.ts +0 -23
- package/dist/pages/Document/index.d.ts.map +0 -1
- package/dist/pages/Document/index.js +0 -237
- package/dist/pages/Edit/Default/Auth/APIKey.js +0 -140
- package/dist/pages/Edit/Default/Auth/index.js +0 -180
- package/dist/pages/Edit/Default/Auth/types.js +0 -6
- package/dist/pages/Edit/Default/RenderCustomView.d.ts +0 -2
- package/dist/pages/Edit/Default/RenderCustomView.d.ts.map +0 -1
- package/dist/pages/Edit/Default/RenderCustomView.js +0 -3
- package/dist/pages/Edit/Default/SetDocumentTitle/index.js +0 -50
- package/dist/pages/Edit/Default/index.d.ts.map +0 -1
- package/dist/pages/Edit/Default/index.js +0 -202
- package/dist/pages/Edit/Default/types.js +0 -6
- package/dist/pages/Edit/index.client.d.ts +0 -4
- package/dist/pages/Edit/index.client.d.ts.map +0 -1
- package/dist/pages/Edit/index.client.js +0 -99
- package/dist/pages/Edit/index.d.ts +0 -4
- package/dist/pages/Edit/index.d.ts.map +0 -1
- package/dist/pages/Edit/index.js +0 -27
- package/dist/pages/Edit/meta.d.ts.map +0 -1
- package/dist/pages/Edit/meta.js +0 -36
- package/dist/pages/Edit/sanitizeEditViewProps.d.ts +0 -4
- package/dist/pages/Edit/sanitizeEditViewProps.d.ts.map +0 -1
- package/dist/pages/Edit/sanitizeEditViewProps.js +0 -24
- package/dist/pages/Edit/types.d.js +0 -7
- package/dist/pages/Edit/types.d.ts +0 -37
- package/dist/pages/Edit/types.d.ts.map +0 -1
- package/dist/pages/Edit/types.js +0 -6
- package/dist/pages/ForgotPassword/index.d.ts +0 -10
- package/dist/pages/ForgotPassword/index.d.ts.map +0 -1
- package/dist/pages/ForgotPassword/index.js +0 -101
- package/dist/pages/List/Default/Cell/fields/Array/index.js +0 -27
- package/dist/pages/List/Default/Cell/fields/Blocks/index.js +0 -45
- package/dist/pages/List/Default/Cell/fields/Checkbox/index.js +0 -23
- package/dist/pages/List/Default/Cell/fields/Code/index.js +0 -29
- package/dist/pages/List/Default/Cell/fields/Date/index.js +0 -26
- package/dist/pages/List/Default/Cell/fields/JSON/index.js +0 -26
- package/dist/pages/List/Default/Cell/fields/Relationship/index.js +0 -121
- package/dist/pages/List/Default/Cell/fields/Richtext/index.d.ts +0 -2
- package/dist/pages/List/Default/Cell/fields/Richtext/index.d.ts.map +0 -1
- package/dist/pages/List/Default/Cell/fields/Richtext/index.js +0 -3
- package/dist/pages/List/Default/Cell/fields/Textarea/index.js +0 -23
- package/dist/pages/List/Default/Cell/fields/index.d.ts +0 -17
- package/dist/pages/List/Default/Cell/fields/index.d.ts.map +0 -1
- package/dist/pages/List/Default/Cell/fields/index.js +0 -36
- package/dist/pages/List/Default/Cell/index.d.ts.map +0 -1
- package/dist/pages/List/Default/Cell/index.js +0 -89
- package/dist/pages/List/Default/RelationshipProvider/index.js +0 -153
- package/dist/pages/List/Default/RelationshipProvider/reducer.js +0 -55
- package/dist/pages/List/Default/index.d.ts.map +0 -1
- package/dist/pages/List/Default/index.js +0 -174
- package/dist/pages/List/Default/types.js +0 -6
- package/dist/pages/List/index.d.ts +0 -18
- package/dist/pages/List/index.d.ts.map +0 -1
- package/dist/pages/List/index.js +0 -158
- package/dist/pages/LivePreview/Context/context.d.ts.map +0 -1
- package/dist/pages/LivePreview/Context/context.js +0 -58
- package/dist/pages/LivePreview/Context/index.d.ts.map +0 -1
- package/dist/pages/LivePreview/Context/index.js +0 -208
- package/dist/pages/LivePreview/Device/index.js +0 -102
- package/dist/pages/LivePreview/DeviceContainer/index.js +0 -44
- package/dist/pages/LivePreview/IFrame/index.js +0 -74
- package/dist/pages/LivePreview/Preview/index.d.ts.map +0 -1
- package/dist/pages/LivePreview/Preview/index.js +0 -127
- package/dist/pages/LivePreview/Toolbar/Controls/index.d.ts.map +0 -1
- package/dist/pages/LivePreview/Toolbar/Controls/index.js +0 -96
- package/dist/pages/LivePreview/Toolbar/SizeInput/index.js +0 -112
- package/dist/pages/LivePreview/Toolbar/index.d.ts.map +0 -1
- package/dist/pages/LivePreview/Toolbar/index.js +0 -65
- package/dist/pages/LivePreview/ToolbarArea/index.js +0 -32
- package/dist/pages/LivePreview/index.client.d.ts.map +0 -1
- package/dist/pages/LivePreview/index.client.js +0 -195
- package/dist/pages/LivePreview/index.d.ts +0 -5
- package/dist/pages/LivePreview/index.d.ts.map +0 -1
- package/dist/pages/LivePreview/index.js +0 -59
- package/dist/pages/LivePreview/meta.d.ts.map +0 -1
- package/dist/pages/LivePreview/meta.js +0 -36
- package/dist/pages/Login/LoginForm/index.js +0 -67
- package/dist/pages/Login/index.d.ts +0 -14
- package/dist/pages/Login/index.d.ts.map +0 -1
- package/dist/pages/Login/index.js +0 -108
- package/dist/pages/Login/index.scss +0 -38
- package/dist/pages/Logout/LogoutClient.d.ts.map +0 -1
- package/dist/pages/Logout/LogoutClient.js +0 -88
- package/dist/pages/Logout/index.d.ts +0 -16
- package/dist/pages/Logout/index.d.ts.map +0 -1
- package/dist/pages/Logout/index.js +0 -61
- package/dist/pages/NotFound/index.d.ts +0 -7
- package/dist/pages/NotFound/index.d.ts.map +0 -1
- package/dist/pages/NotFound/index.js +0 -48
- package/dist/pages/ResetPassword/index.d.ts +0 -12
- package/dist/pages/ResetPassword/index.d.ts.map +0 -1
- package/dist/pages/ResetPassword/index.js +0 -99
- package/dist/pages/Root/index.d.ts +0 -5
- package/dist/pages/Root/index.d.ts.map +0 -1
- package/dist/pages/Root/index.js +0 -17
- package/dist/pages/Unauthorized/UnauthorizedClient.d.ts.map +0 -1
- package/dist/pages/Unauthorized/UnauthorizedClient.js +0 -27
- package/dist/pages/Unauthorized/index.d.ts +0 -10
- package/dist/pages/Unauthorized/index.d.ts.map +0 -1
- package/dist/pages/Unauthorized/index.js +0 -51
- package/dist/pages/Verify/index.d.ts +0 -13
- package/dist/pages/Verify/index.d.ts.map +0 -1
- package/dist/pages/Verify/index.js +0 -90
- package/dist/pages/Version/Default/index.d.ts.map +0 -1
- package/dist/pages/Version/Default/index.js +0 -157
- package/dist/pages/Version/Default/types.d.ts.map +0 -1
- package/dist/pages/Version/Default/types.js +0 -6
- package/dist/pages/Version/RenderFieldsToDiff/Label/index.js +0 -24
- package/dist/pages/Version/RenderFieldsToDiff/fields/Iterable/index.js +0 -80
- package/dist/pages/Version/RenderFieldsToDiff/fields/Nested/index.js +0 -44
- package/dist/pages/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts.map +0 -1
- package/dist/pages/Version/RenderFieldsToDiff/fields/Relationship/index.js +0 -89
- package/dist/pages/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js +0 -72
- package/dist/pages/Version/RenderFieldsToDiff/fields/Select/index.js +0 -54
- package/dist/pages/Version/RenderFieldsToDiff/fields/Tabs/index.js +0 -54
- package/dist/pages/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js +0 -72
- package/dist/pages/Version/RenderFieldsToDiff/fields/Text/index.js +0 -46
- package/dist/pages/Version/RenderFieldsToDiff/fields/index.d.ts +0 -25
- package/dist/pages/Version/RenderFieldsToDiff/fields/index.d.ts.map +0 -1
- package/dist/pages/Version/RenderFieldsToDiff/fields/index.js +0 -44
- package/dist/pages/Version/RenderFieldsToDiff/fields/types.js +0 -6
- package/dist/pages/Version/RenderFieldsToDiff/index.js +0 -115
- package/dist/pages/Version/RenderFieldsToDiff/types.js +0 -6
- package/dist/pages/Version/Restore/index.d.ts.map +0 -1
- package/dist/pages/Version/Restore/index.js +0 -121
- package/dist/pages/Version/Restore/types.js +0 -6
- package/dist/pages/Version/SelectComparison/index.d.ts.map +0 -1
- package/dist/pages/Version/SelectComparison/index.js +0 -167
- package/dist/pages/Version/SelectComparison/types.js +0 -6
- package/dist/pages/Version/SelectLocales/index.d.ts.map +0 -1
- package/dist/pages/Version/SelectLocales/index.js +0 -47
- package/dist/pages/Version/SelectLocales/types.js +0 -6
- package/dist/pages/Version/index.d.ts +0 -4
- package/dist/pages/Version/index.d.ts.map +0 -1
- package/dist/pages/Version/index.js +0 -111
- package/dist/pages/Version/meta.d.ts.map +0 -1
- package/dist/pages/Version/meta.js +0 -47
- package/dist/pages/Version/shared.js +0 -28
- package/dist/pages/Versions/buildColumns.js +0 -69
- package/dist/pages/Versions/cells/AutosaveCell/index.js +0 -63
- package/dist/pages/Versions/cells/CreatedAt/index.js +0 -33
- package/dist/pages/Versions/cells/ID/index.js +0 -60
- package/dist/pages/Versions/index.client.d.ts.map +0 -1
- package/dist/pages/Versions/index.client.js +0 -142
- package/dist/pages/Versions/index.d.ts.map +0 -1
- package/dist/pages/Versions/index.js +0 -125
- package/dist/pages/Versions/meta.d.ts +0 -3
- package/dist/pages/Versions/meta.d.ts.map +0 -1
- package/dist/pages/Versions/meta.js +0 -43
- package/dist/pages/Versions/types.js +0 -6
- package/dist/utilities/createClientConfig.d.ts +0 -5
- package/dist/utilities/createClientConfig.d.ts.map +0 -1
- package/dist/utilities/createClientConfig.js +0 -120
- /package/dist/{pages → views}/API/RenderJSON/index.d.ts +0 -0
- /package/dist/{pages → views}/API/RenderJSON/index.scss +0 -0
- /package/dist/{pages → views}/API/index.scss +0 -0
- /package/dist/{pages → views}/Account/Settings/index.d.ts +0 -0
- /package/dist/{pages → views}/Account/Settings/index.scss +0 -0
- /package/dist/{pages → views}/Account/ToggleTheme/index.d.ts +0 -0
- /package/dist/{pages → views}/CreateFirstUser/index.scss +0 -0
- /package/dist/{pages → views}/Dashboard/Default/index.scss +0 -0
- /package/dist/{pages → views}/Edit/Default/Auth/APIKey.d.ts +0 -0
- /package/dist/{pages → views}/Edit/Default/Auth/index.scss +0 -0
- /package/dist/{pages → views}/Edit/Default/Auth/types.d.ts +0 -0
- /package/dist/{pages → views}/Edit/Default/index.d.ts +0 -0
- /package/dist/{pages → views}/Edit/Default/index.scss +0 -0
- /package/dist/{pages → views}/Edit/Default/types.d.ts +0 -0
- /package/dist/{pages → views}/List/Default/Cell/fields/Array/index.d.ts +0 -0
- /package/dist/{pages → views}/List/Default/Cell/fields/Blocks/index.d.ts +0 -0
- /package/dist/{pages → views}/List/Default/Cell/fields/Checkbox/index.d.ts +0 -0
- /package/dist/{pages → views}/List/Default/Cell/fields/Checkbox/index.scss +0 -0
- /package/dist/{pages → views}/List/Default/Cell/fields/Code/index.d.ts +0 -0
- /package/dist/{pages → views}/List/Default/Cell/fields/Code/index.scss +0 -0
- /package/dist/{pages → views}/List/Default/Cell/fields/Date/index.d.ts +0 -0
- /package/dist/{pages → views}/List/Default/Cell/fields/File/index.d.ts +0 -0
- /package/dist/{pages → views}/List/Default/Cell/fields/File/index.scss +0 -0
- /package/dist/{pages → views}/List/Default/Cell/fields/JSON/index.d.ts +0 -0
- /package/dist/{pages → views}/List/Default/Cell/fields/JSON/index.scss +0 -0
- /package/dist/{pages → views}/List/Default/Cell/fields/Relationship/index.d.ts +0 -0
- /package/dist/{pages → views}/List/Default/Cell/fields/Relationship/index.scss +0 -0
- /package/dist/{pages → views}/List/Default/Cell/fields/Select/index.d.ts +0 -0
- /package/dist/{pages → views}/List/Default/Cell/fields/Textarea/index.d.ts +0 -0
- /package/dist/{pages → views}/List/Default/Cell/index.d.ts +0 -0
- /package/dist/{pages → views}/List/Default/RelationshipProvider/index.d.ts +0 -0
- /package/dist/{pages → views}/List/Default/index.d.ts +0 -0
- /package/dist/{pages → views}/List/Default/index.scss +0 -0
- /package/dist/{pages → views}/List/Default/types.d.ts +0 -0
- /package/dist/{pages → views}/LivePreview/Context/collisionDetection.d.ts +0 -0
- /package/dist/{pages → views}/LivePreview/Context/sizeReducer.d.ts +0 -0
- /package/dist/{pages → views}/LivePreview/Device/index.d.ts +0 -0
- /package/dist/{pages → views}/LivePreview/DeviceContainer/index.d.ts +0 -0
- /package/dist/{pages → views}/LivePreview/IFrame/index.d.ts +0 -0
- /package/dist/{pages → views}/LivePreview/IFrame/index.scss +0 -0
- /package/dist/{pages → views}/LivePreview/Preview/index.scss +0 -0
- /package/dist/{pages → views}/LivePreview/Toolbar/Controls/index.scss +0 -0
- /package/dist/{pages → views}/LivePreview/Toolbar/SizeInput/index.d.ts +0 -0
- /package/dist/{pages → views}/LivePreview/Toolbar/SizeInput/index.scss +0 -0
- /package/dist/{pages → views}/LivePreview/Toolbar/index.scss +0 -0
- /package/dist/{pages → views}/LivePreview/ToolbarArea/index.d.ts +0 -0
- /package/dist/{pages → views}/LivePreview/ToolbarArea/index.scss +0 -0
- /package/dist/{pages → views}/LivePreview/index.client.d.ts +0 -0
- /package/dist/{pages → views}/LivePreview/index.scss +0 -0
- /package/dist/{pages → views}/LivePreview/usePopupWindow.d.ts +0 -0
- /package/dist/{pages → views}/Login/LoginForm/index.d.ts +0 -0
- /package/dist/{pages → views}/Login/LoginForm/index.scss +0 -0
- /package/dist/{pages → views}/Logout/LogoutClient.d.ts +0 -0
- /package/dist/{pages → views}/Logout/index.scss +0 -0
- /package/dist/{pages → views}/NotFound/index.scss +0 -0
- /package/dist/{pages → views}/ResetPassword/index.scss +0 -0
- /package/dist/{pages → views}/Unauthorized/UnauthorizedClient.d.ts +0 -0
- /package/dist/{pages → views}/Verify/index.scss +0 -0
- /package/dist/{pages → views}/Version/Default/SetStepNav.d.ts +0 -0
- /package/dist/{pages → views}/Version/Default/index.scss +0 -0
- /package/dist/{pages → views}/Version/RenderFieldsToDiff/Label/index.d.ts +0 -0
- /package/dist/{pages → views}/Version/RenderFieldsToDiff/Label/index.scss +0 -0
- /package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Iterable/index.scss +0 -0
- /package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Nested/index.scss +0 -0
- /package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Relationship/index.scss +0 -0
- /package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.d.ts +0 -0
- /package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Select/index.scss +0 -0
- /package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.d.ts +0 -0
- /package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Text/index.scss +0 -0
- /package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/diffMethods.d.ts +0 -0
- /package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/styles.d.ts +0 -0
- /package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/types.d.ts +0 -0
- /package/dist/{pages → views}/Version/RenderFieldsToDiff/index.scss +0 -0
- /package/dist/{pages → views}/Version/Restore/index.scss +0 -0
- /package/dist/{pages → views}/Version/Restore/types.d.ts +0 -0
- /package/dist/{pages → views}/Version/SelectComparison/index.scss +0 -0
- /package/dist/{pages → views}/Version/SelectLocales/index.scss +0 -0
- /package/dist/{pages → views}/Version/SelectLocales/types.d.ts +0 -0
- /package/dist/{pages → views}/Version/shared.d.ts +0 -0
- /package/dist/{pages → views}/Versions/buildColumns.d.ts +0 -0
- /package/dist/{pages → views}/Versions/cells/AutosaveCell/index.d.ts +0 -0
- /package/dist/{pages → views}/Versions/cells/CreatedAt/index.d.ts +0 -0
- /package/dist/{pages → views}/Versions/cells/ID/index.d.ts +0 -0
- /package/dist/{pages → views}/Versions/index.scss +0 -0
- /package/dist/{pages → views}/Versions/types.d.ts +0 -0
|
@@ -1,119 +1,90 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
const _refresh = require("./auth/refresh");
|
|
36
|
-
const _registerFirstUser = require("./auth/registerFirstUser");
|
|
37
|
-
const _resetPassword = require("./auth/resetPassword");
|
|
38
|
-
const _unlock = require("./auth/unlock");
|
|
39
|
-
const _verifyEmail = require("./auth/verifyEmail");
|
|
40
|
-
const _buildFormState = require("./buildFormState");
|
|
41
|
-
const _checkEndpoints = require("./checkEndpoints");
|
|
42
|
-
const _create = require("./collections/create");
|
|
43
|
-
const _delete = require("./collections/delete");
|
|
44
|
-
const _deleteByID = require("./collections/deleteByID");
|
|
45
|
-
const _docAccess = require("./collections/docAccess");
|
|
46
|
-
const _find = require("./collections/find");
|
|
47
|
-
const _findByID = require("./collections/findByID");
|
|
48
|
-
const _findVersionByID = require("./collections/findVersionByID");
|
|
49
|
-
const _findVersions = require("./collections/findVersions");
|
|
50
|
-
const _restoreVersion = require("./collections/restoreVersion");
|
|
51
|
-
const _update = require("./collections/update");
|
|
52
|
-
const _updateByID = require("./collections/updateByID");
|
|
53
|
-
const _docAccess1 = require("./globals/docAccess");
|
|
54
|
-
const _findOne = require("./globals/findOne");
|
|
55
|
-
const _findVersionByID1 = require("./globals/findVersionByID");
|
|
56
|
-
const _findVersions1 = require("./globals/findVersions");
|
|
57
|
-
const _restoreVersion1 = require("./globals/restoreVersion");
|
|
58
|
-
const _update1 = require("./globals/update");
|
|
59
|
-
function _interop_require_default(obj) {
|
|
60
|
-
return obj && obj.__esModule ? obj : {
|
|
61
|
-
default: obj
|
|
62
|
-
};
|
|
63
|
-
}
|
|
1
|
+
import httpStatus from 'http-status';
|
|
2
|
+
import { match } from 'path-to-regexp';
|
|
3
|
+
import { createPayloadRequest } from '../../utilities/createPayloadRequest.js';
|
|
4
|
+
import { RouteError } from './RouteError.js';
|
|
5
|
+
import { access } from './auth/access.js';
|
|
6
|
+
import { forgotPassword } from './auth/forgotPassword.js';
|
|
7
|
+
import { init } from './auth/init.js';
|
|
8
|
+
import { login } from './auth/login.js';
|
|
9
|
+
import { logout } from './auth/logout.js';
|
|
10
|
+
import { me } from './auth/me.js';
|
|
11
|
+
import { refresh } from './auth/refresh.js';
|
|
12
|
+
import { registerFirstUser } from './auth/registerFirstUser.js';
|
|
13
|
+
import { resetPassword } from './auth/resetPassword.js';
|
|
14
|
+
import { unlock } from './auth/unlock.js';
|
|
15
|
+
import { verifyEmail } from './auth/verifyEmail.js';
|
|
16
|
+
import { buildFormState } from './buildFormState.js';
|
|
17
|
+
import { endpointsAreDisabled } from './checkEndpoints.js';
|
|
18
|
+
import { create } from './collections/create.js';
|
|
19
|
+
import { deleteDoc } from './collections/delete.js';
|
|
20
|
+
import { deleteByID } from './collections/deleteByID.js';
|
|
21
|
+
import { docAccess } from './collections/docAccess.js';
|
|
22
|
+
import { find } from './collections/find.js';
|
|
23
|
+
import { findByID } from './collections/findByID.js';
|
|
24
|
+
import { findVersionByID } from './collections/findVersionByID.js';
|
|
25
|
+
import { findVersions } from './collections/findVersions.js';
|
|
26
|
+
import { restoreVersion } from './collections/restoreVersion.js';
|
|
27
|
+
import { update } from './collections/update.js';
|
|
28
|
+
import { updateByID } from './collections/updateByID.js';
|
|
29
|
+
import { docAccess as docAccessGlobal } from './globals/docAccess.js';
|
|
30
|
+
import { findOne } from './globals/findOne.js';
|
|
31
|
+
import { findVersionByID as findVersionByIdGlobal } from './globals/findVersionByID.js';
|
|
32
|
+
import { findVersions as findVersionsGlobal } from './globals/findVersions.js';
|
|
33
|
+
import { restoreVersion as restoreVersionGlobal } from './globals/restoreVersion.js';
|
|
34
|
+
import { update as updateGlobal } from './globals/update.js';
|
|
64
35
|
const endpoints = {
|
|
65
36
|
collection: {
|
|
66
37
|
DELETE: {
|
|
67
|
-
delete:
|
|
68
|
-
deleteByID
|
|
38
|
+
delete: deleteDoc,
|
|
39
|
+
deleteByID
|
|
69
40
|
},
|
|
70
41
|
GET: {
|
|
71
|
-
'doc-access-by-id':
|
|
72
|
-
'doc-versions-by-id':
|
|
73
|
-
find
|
|
74
|
-
findByID
|
|
75
|
-
init
|
|
76
|
-
me
|
|
77
|
-
versions:
|
|
42
|
+
'doc-access-by-id': docAccess,
|
|
43
|
+
'doc-versions-by-id': findVersionByID,
|
|
44
|
+
find,
|
|
45
|
+
findByID,
|
|
46
|
+
init,
|
|
47
|
+
me,
|
|
48
|
+
versions: findVersions
|
|
78
49
|
},
|
|
79
50
|
PATCH: {
|
|
80
|
-
update
|
|
81
|
-
updateByID
|
|
51
|
+
update,
|
|
52
|
+
updateByID
|
|
82
53
|
},
|
|
83
54
|
POST: {
|
|
84
|
-
access:
|
|
85
|
-
create
|
|
86
|
-
'doc-access-by-id':
|
|
87
|
-
'doc-verify-by-id':
|
|
88
|
-
'doc-versions-by-id':
|
|
89
|
-
'first-register':
|
|
90
|
-
'forgot-password':
|
|
91
|
-
login
|
|
92
|
-
logout
|
|
93
|
-
'refresh-token':
|
|
94
|
-
'reset-password':
|
|
95
|
-
unlock
|
|
55
|
+
access: docAccess,
|
|
56
|
+
create,
|
|
57
|
+
'doc-access-by-id': docAccess,
|
|
58
|
+
'doc-verify-by-id': verifyEmail,
|
|
59
|
+
'doc-versions-by-id': restoreVersion,
|
|
60
|
+
'first-register': registerFirstUser,
|
|
61
|
+
'forgot-password': forgotPassword,
|
|
62
|
+
login,
|
|
63
|
+
logout,
|
|
64
|
+
'refresh-token': refresh,
|
|
65
|
+
'reset-password': resetPassword,
|
|
66
|
+
unlock
|
|
96
67
|
}
|
|
97
68
|
},
|
|
98
69
|
global: {
|
|
99
70
|
GET: {
|
|
100
|
-
'doc-access':
|
|
101
|
-
'doc-versions':
|
|
102
|
-
'doc-versions-by-id':
|
|
103
|
-
findOne
|
|
71
|
+
'doc-access': docAccessGlobal,
|
|
72
|
+
'doc-versions': findVersionsGlobal,
|
|
73
|
+
'doc-versions-by-id': findVersionByIdGlobal,
|
|
74
|
+
findOne
|
|
104
75
|
},
|
|
105
76
|
POST: {
|
|
106
|
-
'doc-access':
|
|
107
|
-
'doc-versions-by-id':
|
|
108
|
-
update:
|
|
77
|
+
'doc-access': docAccessGlobal,
|
|
78
|
+
'doc-versions-by-id': restoreVersionGlobal,
|
|
79
|
+
update: updateGlobal
|
|
109
80
|
}
|
|
110
81
|
},
|
|
111
82
|
root: {
|
|
112
83
|
GET: {
|
|
113
|
-
access
|
|
84
|
+
access
|
|
114
85
|
},
|
|
115
86
|
POST: {
|
|
116
|
-
'form-state':
|
|
87
|
+
'form-state': buildFormState
|
|
117
88
|
}
|
|
118
89
|
}
|
|
119
90
|
};
|
|
@@ -124,7 +95,7 @@ const handleCustomEndpoints = ({ endpoints, entitySlug, payloadRequest })=>{
|
|
|
124
95
|
const pathPrefix = payloadRequest.payload.config.routes.api + (entitySlug ? `/${entitySlug}` : '');
|
|
125
96
|
const customEndpoint = endpoints.find((endpoint)=>{
|
|
126
97
|
if (endpoint.method === payloadRequest.method.toLowerCase()) {
|
|
127
|
-
const pathMatchFn =
|
|
98
|
+
const pathMatchFn = match(`${pathPrefix}${endpoint.path}`, {
|
|
128
99
|
decode: decodeURIComponent
|
|
129
100
|
});
|
|
130
101
|
const tempParams = pathMatchFn(pathname);
|
|
@@ -144,29 +115,29 @@ const handleCustomEndpoints = ({ endpoints, entitySlug, payloadRequest })=>{
|
|
|
144
115
|
const RouteNotFoundResponse = (slug)=>Response.json({
|
|
145
116
|
message: `Route Not Found: "${slug.join('/')}"`
|
|
146
117
|
}, {
|
|
147
|
-
status:
|
|
118
|
+
status: httpStatus.NOT_FOUND
|
|
148
119
|
});
|
|
149
|
-
const GET = (config)=>async (request, { params: { slug } })=>{
|
|
120
|
+
export const GET = (config)=>async (request, { params: { slug } })=>{
|
|
150
121
|
const [slug1, slug2, slug3, slug4] = slug;
|
|
151
122
|
let req;
|
|
152
123
|
let res;
|
|
153
124
|
let collection;
|
|
154
125
|
try {
|
|
155
|
-
req = await
|
|
126
|
+
req = await createPayloadRequest({
|
|
156
127
|
config,
|
|
157
128
|
params: {
|
|
158
129
|
collection: slug1
|
|
159
130
|
},
|
|
160
131
|
request
|
|
161
132
|
});
|
|
162
|
-
const disableEndpoints =
|
|
133
|
+
const disableEndpoints = endpointsAreDisabled({
|
|
163
134
|
endpoints: req.payload.config.endpoints,
|
|
164
135
|
request
|
|
165
136
|
});
|
|
166
137
|
if (disableEndpoints) return disableEndpoints;
|
|
167
138
|
collection = req.payload.collections?.[slug1];
|
|
168
139
|
if (collection) {
|
|
169
|
-
const disableEndpoints =
|
|
140
|
+
const disableEndpoints = endpointsAreDisabled({
|
|
170
141
|
endpoints: collection.config.endpoints,
|
|
171
142
|
request
|
|
172
143
|
});
|
|
@@ -217,7 +188,7 @@ const GET = (config)=>async (request, { params: { slug } })=>{
|
|
|
217
188
|
}
|
|
218
189
|
} else if (slug1 === 'globals') {
|
|
219
190
|
const globalConfig = req.payload.config.globals.find((global)=>global.slug === slug2);
|
|
220
|
-
const disableEndpoints =
|
|
191
|
+
const disableEndpoints = endpointsAreDisabled({
|
|
221
192
|
endpoints: globalConfig.endpoints,
|
|
222
193
|
request
|
|
223
194
|
});
|
|
@@ -271,20 +242,20 @@ const GET = (config)=>async (request, { params: { slug } })=>{
|
|
|
271
242
|
if (customEndpointResponse) return customEndpointResponse;
|
|
272
243
|
return RouteNotFoundResponse(slug);
|
|
273
244
|
} catch (error) {
|
|
274
|
-
return
|
|
245
|
+
return RouteError({
|
|
275
246
|
collection,
|
|
276
247
|
err: error,
|
|
277
248
|
req
|
|
278
249
|
});
|
|
279
250
|
}
|
|
280
251
|
};
|
|
281
|
-
const POST = (config)=>async (request, { params: { slug } })=>{
|
|
252
|
+
export const POST = (config)=>async (request, { params: { slug } })=>{
|
|
282
253
|
const [slug1, slug2, slug3, slug4] = slug;
|
|
283
254
|
let req;
|
|
284
255
|
let res;
|
|
285
256
|
let collection;
|
|
286
257
|
try {
|
|
287
|
-
req = await
|
|
258
|
+
req = await createPayloadRequest({
|
|
288
259
|
config,
|
|
289
260
|
params: {
|
|
290
261
|
collection: slug1
|
|
@@ -292,13 +263,13 @@ const POST = (config)=>async (request, { params: { slug } })=>{
|
|
|
292
263
|
request
|
|
293
264
|
});
|
|
294
265
|
collection = req.payload.collections?.[slug1];
|
|
295
|
-
const disableEndpoints =
|
|
266
|
+
const disableEndpoints = endpointsAreDisabled({
|
|
296
267
|
endpoints: req.payload.config.endpoints,
|
|
297
268
|
request
|
|
298
269
|
});
|
|
299
270
|
if (disableEndpoints) return disableEndpoints;
|
|
300
271
|
if (collection) {
|
|
301
|
-
const disableEndpoints =
|
|
272
|
+
const disableEndpoints = endpointsAreDisabled({
|
|
302
273
|
endpoints: collection.config.endpoints,
|
|
303
274
|
request
|
|
304
275
|
});
|
|
@@ -348,7 +319,7 @@ const POST = (config)=>async (request, { params: { slug } })=>{
|
|
|
348
319
|
}
|
|
349
320
|
} else if (slug1 === 'globals' && slug2) {
|
|
350
321
|
const globalConfig = req.payload.config.globals.find((global)=>global.slug === slug2);
|
|
351
|
-
const disableEndpoints =
|
|
322
|
+
const disableEndpoints = endpointsAreDisabled({
|
|
352
323
|
endpoints: globalConfig.endpoints,
|
|
353
324
|
request
|
|
354
325
|
});
|
|
@@ -405,20 +376,20 @@ const POST = (config)=>async (request, { params: { slug } })=>{
|
|
|
405
376
|
if (customEndpointResponse) return customEndpointResponse;
|
|
406
377
|
return RouteNotFoundResponse(slug);
|
|
407
378
|
} catch (error) {
|
|
408
|
-
return
|
|
379
|
+
return RouteError({
|
|
409
380
|
collection,
|
|
410
381
|
err: error,
|
|
411
382
|
req
|
|
412
383
|
});
|
|
413
384
|
}
|
|
414
385
|
};
|
|
415
|
-
const DELETE = (config)=>async (request, { params: { slug } })=>{
|
|
386
|
+
export const DELETE = (config)=>async (request, { params: { slug } })=>{
|
|
416
387
|
const [slug1, slug2] = slug;
|
|
417
388
|
let req;
|
|
418
389
|
let res;
|
|
419
390
|
let collection;
|
|
420
391
|
try {
|
|
421
|
-
req = await
|
|
392
|
+
req = await createPayloadRequest({
|
|
422
393
|
config,
|
|
423
394
|
params: {
|
|
424
395
|
collection: slug1
|
|
@@ -426,13 +397,13 @@ const DELETE = (config)=>async (request, { params: { slug } })=>{
|
|
|
426
397
|
request
|
|
427
398
|
});
|
|
428
399
|
collection = req.payload.collections?.[slug1];
|
|
429
|
-
const disableEndpoints =
|
|
400
|
+
const disableEndpoints = endpointsAreDisabled({
|
|
430
401
|
endpoints: req.payload.config.endpoints,
|
|
431
402
|
request
|
|
432
403
|
});
|
|
433
404
|
if (disableEndpoints) return disableEndpoints;
|
|
434
405
|
if (collection) {
|
|
435
|
-
const disableEndpoints =
|
|
406
|
+
const disableEndpoints = endpointsAreDisabled({
|
|
436
407
|
endpoints: collection.config.endpoints,
|
|
437
408
|
request
|
|
438
409
|
});
|
|
@@ -470,20 +441,20 @@ const DELETE = (config)=>async (request, { params: { slug } })=>{
|
|
|
470
441
|
if (customEndpointResponse) return customEndpointResponse;
|
|
471
442
|
return RouteNotFoundResponse(slug);
|
|
472
443
|
} catch (error) {
|
|
473
|
-
return
|
|
444
|
+
return RouteError({
|
|
474
445
|
collection,
|
|
475
446
|
err: error,
|
|
476
447
|
req
|
|
477
448
|
});
|
|
478
449
|
}
|
|
479
450
|
};
|
|
480
|
-
const PATCH = (config)=>async (request, { params: { slug } })=>{
|
|
451
|
+
export const PATCH = (config)=>async (request, { params: { slug } })=>{
|
|
481
452
|
const [slug1, slug2] = slug;
|
|
482
453
|
let req;
|
|
483
454
|
let res;
|
|
484
455
|
let collection;
|
|
485
456
|
try {
|
|
486
|
-
req = await
|
|
457
|
+
req = await createPayloadRequest({
|
|
487
458
|
config,
|
|
488
459
|
params: {
|
|
489
460
|
collection: slug1
|
|
@@ -491,13 +462,13 @@ const PATCH = (config)=>async (request, { params: { slug } })=>{
|
|
|
491
462
|
request
|
|
492
463
|
});
|
|
493
464
|
collection = req.payload.collections?.[slug1];
|
|
494
|
-
const disableEndpoints =
|
|
465
|
+
const disableEndpoints = endpointsAreDisabled({
|
|
495
466
|
endpoints: req.payload.config.endpoints,
|
|
496
467
|
request
|
|
497
468
|
});
|
|
498
469
|
if (disableEndpoints) return disableEndpoints;
|
|
499
470
|
if (collection) {
|
|
500
|
-
const disableEndpoints =
|
|
471
|
+
const disableEndpoints = endpointsAreDisabled({
|
|
501
472
|
endpoints: collection.config.endpoints,
|
|
502
473
|
request
|
|
503
474
|
});
|
|
@@ -535,7 +506,7 @@ const PATCH = (config)=>async (request, { params: { slug } })=>{
|
|
|
535
506
|
if (customEndpointResponse) return customEndpointResponse;
|
|
536
507
|
return RouteNotFoundResponse(slug);
|
|
537
508
|
} catch (error) {
|
|
538
|
-
return
|
|
509
|
+
return RouteError({
|
|
539
510
|
collection,
|
|
540
511
|
err: error,
|
|
541
512
|
req
|
|
@@ -543,4 +514,4 @@ const PATCH = (config)=>async (request, { params: { slug } })=>{
|
|
|
543
514
|
}
|
|
544
515
|
};
|
|
545
516
|
|
|
546
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yb3V0ZXMvcmVzdC9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEVuZHBvaW50IH0gZnJvbSAncGF5bG9hZC9jb25maWcnXG5pbXBvcnQgdHlwZSB7IENvbGxlY3Rpb24sIEdsb2JhbENvbmZpZywgUGF5bG9hZFJlcXVlc3QsIFNhbml0aXplZENvbmZpZyB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCBodHRwU3RhdHVzIGZyb20gJ2h0dHAtc3RhdHVzJ1xuaW1wb3J0IHsgbWF0Y2ggfSBmcm9tICdwYXRoLXRvLXJlZ2V4cCdcblxuaW1wb3J0IHR5cGUge1xuICBDb2xsZWN0aW9uUm91dGVIYW5kbGVyLFxuICBDb2xsZWN0aW9uUm91dGVIYW5kbGVyV2l0aElELFxuICBHbG9iYWxSb3V0ZUhhbmRsZXIsXG4gIEdsb2JhbFJvdXRlSGFuZGxlcldpdGhJRCxcbn0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHsgY3JlYXRlUGF5bG9hZFJlcXVlc3QgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvY3JlYXRlUGF5bG9hZFJlcXVlc3QnXG5pbXBvcnQgeyBSb3V0ZUVycm9yIH0gZnJvbSAnLi9Sb3V0ZUVycm9yJ1xuaW1wb3J0IHsgYWNjZXNzIH0gZnJvbSAnLi9hdXRoL2FjY2VzcydcbmltcG9ydCB7IGZvcmdvdFBhc3N3b3JkIH0gZnJvbSAnLi9hdXRoL2ZvcmdvdFBhc3N3b3JkJ1xuaW1wb3J0IHsgaW5pdCB9IGZyb20gJy4vYXV0aC9pbml0J1xuaW1wb3J0IHsgbG9naW4gfSBmcm9tICcuL2F1dGgvbG9naW4nXG5pbXBvcnQgeyBsb2dvdXQgfSBmcm9tICcuL2F1dGgvbG9nb3V0J1xuaW1wb3J0IHsgbWUgfSBmcm9tICcuL2F1dGgvbWUnXG5pbXBvcnQgeyByZWZyZXNoIH0gZnJvbSAnLi9hdXRoL3JlZnJlc2gnXG5pbXBvcnQgeyByZWdpc3RlckZpcnN0VXNlciB9IGZyb20gJy4vYXV0aC9yZWdpc3RlckZpcnN0VXNlcidcbmltcG9ydCB7IHJlc2V0UGFzc3dvcmQgfSBmcm9tICcuL2F1dGgvcmVzZXRQYXNzd29yZCdcbmltcG9ydCB7IHVubG9jayB9IGZyb20gJy4vYXV0aC91bmxvY2snXG5pbXBvcnQgeyB2ZXJpZnlFbWFpbCB9IGZyb20gJy4vYXV0aC92ZXJpZnlFbWFpbCdcbmltcG9ydCB7IGJ1aWxkRm9ybVN0YXRlIH0gZnJvbSAnLi9idWlsZEZvcm1TdGF0ZSdcbmltcG9ydCB7IGVuZHBvaW50c0FyZURpc2FibGVkIH0gZnJvbSAnLi9jaGVja0VuZHBvaW50cydcbmltcG9ydCB7IGNyZWF0ZSB9IGZyb20gJy4vY29sbGVjdGlvbnMvY3JlYXRlJ1xuaW1wb3J0IHsgZGVsZXRlRG9jIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9kZWxldGUnXG5pbXBvcnQgeyBkZWxldGVCeUlEIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9kZWxldGVCeUlEJ1xuaW1wb3J0IHsgZG9jQWNjZXNzIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9kb2NBY2Nlc3MnXG5pbXBvcnQgeyBmaW5kIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9maW5kJ1xuaW1wb3J0IHsgZmluZEJ5SUQgfSBmcm9tICcuL2NvbGxlY3Rpb25zL2ZpbmRCeUlEJ1xuaW1wb3J0IHsgZmluZFZlcnNpb25CeUlEIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9maW5kVmVyc2lvbkJ5SUQnXG5pbXBvcnQgeyBmaW5kVmVyc2lvbnMgfSBmcm9tICcuL2NvbGxlY3Rpb25zL2ZpbmRWZXJzaW9ucydcbmltcG9ydCB7IHJlc3RvcmVWZXJzaW9uIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9yZXN0b3JlVmVyc2lvbidcbmltcG9ydCB7IHVwZGF0ZSB9IGZyb20gJy4vY29sbGVjdGlvbnMvdXBkYXRlJ1xuaW1wb3J0IHsgdXBkYXRlQnlJRCB9IGZyb20gJy4vY29sbGVjdGlvbnMvdXBkYXRlQnlJRCdcbmltcG9ydCB7IGRvY0FjY2VzcyBhcyBkb2NBY2Nlc3NHbG9iYWwgfSBmcm9tICcuL2dsb2JhbHMvZG9jQWNjZXNzJ1xuaW1wb3J0IHsgZmluZE9uZSB9IGZyb20gJy4vZ2xvYmFscy9maW5kT25lJ1xuaW1wb3J0IHsgZmluZFZlcnNpb25CeUlEIGFzIGZpbmRWZXJzaW9uQnlJZEdsb2JhbCB9IGZyb20gJy4vZ2xvYmFscy9maW5kVmVyc2lvbkJ5SUQnXG5pbXBvcnQgeyBmaW5kVmVyc2lvbnMgYXMgZmluZFZlcnNpb25zR2xvYmFsIH0gZnJvbSAnLi9nbG9iYWxzL2ZpbmRWZXJzaW9ucydcbmltcG9ydCB7IHJlc3RvcmVWZXJzaW9uIGFzIHJlc3RvcmVWZXJzaW9uR2xvYmFsIH0gZnJvbSAnLi9nbG9iYWxzL3Jlc3RvcmVWZXJzaW9uJ1xuaW1wb3J0IHsgdXBkYXRlIGFzIHVwZGF0ZUdsb2JhbCB9IGZyb20gJy4vZ2xvYmFscy91cGRhdGUnXG5cbmNvbnN0IGVuZHBvaW50cyA9IHtcbiAgY29sbGVjdGlvbjoge1xuICAgIERFTEVURToge1xuICAgICAgZGVsZXRlOiBkZWxldGVEb2MsXG4gICAgICBkZWxldGVCeUlELFxuICAgIH0sXG4gICAgR0VUOiB7XG4gICAgICAnZG9jLWFjY2Vzcy1ieS1pZCc6IGRvY0FjY2VzcyxcbiAgICAgICdkb2MtdmVyc2lvbnMtYnktaWQnOiBmaW5kVmVyc2lvbkJ5SUQsXG4gICAgICBmaW5kLFxuICAgICAgZmluZEJ5SUQsXG4gICAgICBpbml0LFxuICAgICAgbWUsXG4gICAgICB2ZXJzaW9uczogZmluZFZlcnNpb25zLFxuICAgIH0sXG4gICAgUEFUQ0g6IHtcbiAgICAgIHVwZGF0ZSxcbiAgICAgIHVwZGF0ZUJ5SUQsXG4gICAgfSxcbiAgICBQT1NUOiB7XG4gICAgICBhY2Nlc3M6IGRvY0FjY2VzcyxcbiAgICAgIGNyZWF0ZSxcbiAgICAgICdkb2MtYWNjZXNzLWJ5LWlkJzogZG9jQWNjZXNzLFxuICAgICAgJ2RvYy12ZXJpZnktYnktaWQnOiB2ZXJpZnlFbWFpbCxcbiAgICAgICdkb2MtdmVyc2lvbnMtYnktaWQnOiByZXN0b3JlVmVyc2lvbixcbiAgICAgICdmaXJzdC1yZWdpc3Rlcic6IHJlZ2lzdGVyRmlyc3RVc2VyLFxuICAgICAgJ2ZvcmdvdC1wYXNzd29yZCc6IGZvcmdvdFBhc3N3b3JkLFxuICAgICAgbG9naW4sXG4gICAgICBsb2dvdXQsXG4gICAgICAncmVmcmVzaC10b2tlbic6IHJlZnJlc2gsXG4gICAgICAncmVzZXQtcGFzc3dvcmQnOiByZXNldFBhc3N3b3JkLFxuICAgICAgdW5sb2NrLFxuICAgIH0sXG4gIH0sXG4gIGdsb2JhbDoge1xuICAgIEdFVDoge1xuICAgICAgJ2RvYy1hY2Nlc3MnOiBkb2NBY2Nlc3NHbG9iYWwsXG4gICAgICAnZG9jLXZlcnNpb25zJzogZmluZFZlcnNpb25zR2xvYmFsLFxuICAgICAgJ2RvYy12ZXJzaW9ucy1ieS1pZCc6IGZpbmRWZXJzaW9uQnlJZEdsb2JhbCxcbiAgICAgIGZpbmRPbmUsXG4gICAgfSxcbiAgICBQT1NUOiB7XG4gICAgICAnZG9jLWFjY2Vzcyc6IGRvY0FjY2Vzc0dsb2JhbCxcbiAgICAgICdkb2MtdmVyc2lvbnMtYnktaWQnOiByZXN0b3JlVmVyc2lvbkdsb2JhbCxcbiAgICAgIHVwZGF0ZTogdXBkYXRlR2xvYmFsLFxuICAgIH0sXG4gIH0sXG4gIHJvb3Q6IHtcbiAgICBHRVQ6IHtcbiAgICAgIGFjY2VzcyxcbiAgICB9LFxuICAgIFBPU1Q6IHtcbiAgICAgICdmb3JtLXN0YXRlJzogYnVpbGRGb3JtU3RhdGUsXG4gICAgfSxcbiAgfSxcbn1cblxuY29uc3QgaGFuZGxlQ3VzdG9tRW5kcG9pbnRzID0gKHtcbiAgZW5kcG9pbnRzLFxuICBlbnRpdHlTbHVnLFxuICBwYXlsb2FkUmVxdWVzdCxcbn06IHtcbiAgZW5kcG9pbnRzOiBFbmRwb2ludFtdIHwgR2xvYmFsQ29uZmlnWydlbmRwb2ludHMnXVxuICBlbnRpdHlTbHVnPzogc3RyaW5nXG4gIHBheWxvYWRSZXF1ZXN0OiBQYXlsb2FkUmVxdWVzdFxufSk6IFByb21pc2U8UmVzcG9uc2U+IHwgUmVzcG9uc2UgPT4ge1xuICBpZiAoZW5kcG9pbnRzICYmIGVuZHBvaW50cy5sZW5ndGggPiAwKSB7XG4gICAgbGV0IGhhbmRsZXJQYXJhbXMgPSB7fVxuICAgIGNvbnN0IHsgcGF0aG5hbWUgfSA9IHBheWxvYWRSZXF1ZXN0XG4gICAgY29uc3QgcGF0aFByZWZpeCA9XG4gICAgICBwYXlsb2FkUmVxdWVzdC5wYXlsb2FkLmNvbmZpZy5yb3V0ZXMuYXBpICsgKGVudGl0eVNsdWcgPyBgLyR7ZW50aXR5U2x1Z31gIDogJycpXG5cbiAgICBjb25zdCBjdXN0b21FbmRwb2ludCA9IGVuZHBvaW50cy5maW5kKChlbmRwb2ludCkgPT4ge1xuICAgICAgaWYgKGVuZHBvaW50Lm1ldGhvZCA9PT0gcGF5bG9hZFJlcXVlc3QubWV0aG9kLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgY29uc3QgcGF0aE1hdGNoRm4gPSBtYXRjaChgJHtwYXRoUHJlZml4fSR7ZW5kcG9pbnQucGF0aH1gLCB7XG4gICAgICAgICAgZGVjb2RlOiBkZWNvZGVVUklDb21wb25lbnQsXG4gICAgICAgIH0pXG4gICAgICAgIGNvbnN0IHRlbXBQYXJhbXMgPSBwYXRoTWF0Y2hGbihwYXRobmFtZSlcbiAgICAgICAgaWYgKHRlbXBQYXJhbXMpIHtcbiAgICAgICAgICBoYW5kbGVyUGFyYW1zID0gdGVtcFBhcmFtcy5wYXJhbXNcbiAgICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSlcblxuICAgIGlmIChjdXN0b21FbmRwb2ludCkge1xuICAgICAgcGF5bG9hZFJlcXVlc3Qucm91dGVQYXJhbXMgPSBoYW5kbGVyUGFyYW1zXG4gICAgICByZXR1cm4gY3VzdG9tRW5kcG9pbnQuaGFuZGxlcihwYXlsb2FkUmVxdWVzdClcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbnVsbFxufVxuXG5jb25zdCBSb3V0ZU5vdEZvdW5kUmVzcG9uc2UgPSAoc2x1Zzogc3RyaW5nW10pID0+XG4gIFJlc3BvbnNlLmpzb24oXG4gICAge1xuICAgICAgbWVzc2FnZTogYFJvdXRlIE5vdCBGb3VuZDogXCIke3NsdWcuam9pbignLycpfVwiYCxcbiAgICB9LFxuICAgIHsgc3RhdHVzOiBodHRwU3RhdHVzLk5PVF9GT1VORCB9LFxuICApXG5cbmV4cG9ydCBjb25zdCBHRVQgPVxuICAoY29uZmlnOiBQcm9taXNlPFNhbml0aXplZENvbmZpZz4gfCBTYW5pdGl6ZWRDb25maWcpID0+XG4gIGFzeW5jIChyZXF1ZXN0OiBSZXF1ZXN0LCB7IHBhcmFtczogeyBzbHVnIH0gfTogeyBwYXJhbXM6IHsgc2x1Zzogc3RyaW5nW10gfSB9KSA9PiB7XG4gICAgY29uc3QgW3NsdWcxLCBzbHVnMiwgc2x1ZzMsIHNsdWc0XSA9IHNsdWdcbiAgICBsZXQgcmVxOiBQYXlsb2FkUmVxdWVzdFxuICAgIGxldCByZXM6IFJlc3BvbnNlXG4gICAgbGV0IGNvbGxlY3Rpb246IENvbGxlY3Rpb25cblxuICAgIHRyeSB7XG4gICAgICByZXEgPSBhd2FpdCBjcmVhdGVQYXlsb2FkUmVxdWVzdCh7XG4gICAgICAgIGNvbmZpZyxcbiAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgY29sbGVjdGlvbjogc2x1ZzEsXG4gICAgICAgIH0sXG4gICAgICAgIHJlcXVlc3QsXG4gICAgICB9KVxuXG4gICAgICBjb25zdCBkaXNhYmxlRW5kcG9pbnRzID0gZW5kcG9pbnRzQXJlRGlzYWJsZWQoe1xuICAgICAgICBlbmRwb2ludHM6IHJlcS5wYXlsb2FkLmNvbmZpZy5lbmRwb2ludHMsXG4gICAgICAgIHJlcXVlc3QsXG4gICAgICB9KVxuICAgICAgaWYgKGRpc2FibGVFbmRwb2ludHMpIHJldHVybiBkaXNhYmxlRW5kcG9pbnRzXG5cbiAgICAgIGNvbGxlY3Rpb24gPSByZXEucGF5bG9hZC5jb2xsZWN0aW9ucz8uW3NsdWcxXVxuXG4gICAgICBpZiAoY29sbGVjdGlvbikge1xuICAgICAgICBjb25zdCBkaXNhYmxlRW5kcG9pbnRzID0gZW5kcG9pbnRzQXJlRGlzYWJsZWQoe1xuICAgICAgICAgIGVuZHBvaW50czogY29sbGVjdGlvbi5jb25maWcuZW5kcG9pbnRzLFxuICAgICAgICAgIHJlcXVlc3QsXG4gICAgICAgIH0pXG4gICAgICAgIGlmIChkaXNhYmxlRW5kcG9pbnRzKSByZXR1cm4gZGlzYWJsZUVuZHBvaW50c1xuXG4gICAgICAgIGNvbnN0IGN1c3RvbUVuZHBvaW50UmVzcG9uc2UgPSBhd2FpdCBoYW5kbGVDdXN0b21FbmRwb2ludHMoe1xuICAgICAgICAgIGVuZHBvaW50czogY29sbGVjdGlvbi5jb25maWcuZW5kcG9pbnRzLFxuICAgICAgICAgIGVudGl0eVNsdWc6IHNsdWcxLFxuICAgICAgICAgIHBheWxvYWRSZXF1ZXN0OiByZXEsXG4gICAgICAgIH0pXG4gICAgICAgIGlmIChjdXN0b21FbmRwb2ludFJlc3BvbnNlKSByZXR1cm4gY3VzdG9tRW5kcG9pbnRSZXNwb25zZVxuXG4gICAgICAgIHN3aXRjaCAoc2x1Zy5sZW5ndGgpIHtcbiAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAvLyAvOmNvbGxlY3Rpb25cbiAgICAgICAgICAgIHJlcyA9IGF3YWl0IGVuZHBvaW50cy5jb2xsZWN0aW9uLkdFVC5maW5kKHsgY29sbGVjdGlvbiwgcmVxIH0pXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGNhc2UgMjpcbiAgICAgICAgICAgIGlmIChzbHVnMiBpbiBlbmRwb2ludHMuY29sbGVjdGlvbi5HRVQpIHtcbiAgICAgICAgICAgICAgLy8gLzpjb2xsZWN0aW9uL2luaXRcbiAgICAgICAgICAgICAgLy8gLzpjb2xsZWN0aW9uL21lXG4gICAgICAgICAgICAgIC8vIC86Y29sbGVjdGlvbi92ZXJzaW9uc1xuICAgICAgICAgICAgICByZXMgPSBhd2FpdCAoZW5kcG9pbnRzLmNvbGxlY3Rpb24uR0VUW3NsdWcyXSBhcyBDb2xsZWN0aW9uUm91dGVIYW5kbGVyKSh7XG4gICAgICAgICAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAvLyAvOmNvbGxlY3Rpb24vOmlkXG4gICAgICAgICAgICAgIHJlcyA9IGF3YWl0IGVuZHBvaW50cy5jb2xsZWN0aW9uLkdFVC5maW5kQnlJRCh7IGlkOiBzbHVnMiwgY29sbGVjdGlvbiwgcmVxIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGNhc2UgMzpcbiAgICAgICAgICAgIGlmIChgZG9jLSR7c2x1ZzJ9LWJ5LWlkYCBpbiBlbmRwb2ludHMuY29sbGVjdGlvbi5HRVQpIHtcbiAgICAgICAgICAgICAgLy8gLzpjb2xsZWN0aW9uL2FjY2Vzcy86aWRcbiAgICAgICAgICAgICAgLy8gLzpjb2xsZWN0aW9uL3ZlcnNpb25zLzppZFxuICAgICAgICAgICAgICByZXMgPSBhd2FpdCAoXG4gICAgICAgICAgICAgICAgZW5kcG9pbnRzLmNvbGxlY3Rpb24uR0VUW2Bkb2MtJHtzbHVnMn0tYnktaWRgXSBhcyBDb2xsZWN0aW9uUm91dGVIYW5kbGVyV2l0aElEXG4gICAgICAgICAgICAgICkoeyBpZDogc2x1ZzMsIGNvbGxlY3Rpb24sIHJlcSB9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChzbHVnMSA9PT0gJ2dsb2JhbHMnKSB7XG4gICAgICAgIGNvbnN0IGdsb2JhbENvbmZpZyA9IHJlcS5wYXlsb2FkLmNvbmZpZy5nbG9iYWxzLmZpbmQoKGdsb2JhbCkgPT4gZ2xvYmFsLnNsdWcgPT09IHNsdWcyKVxuXG4gICAgICAgIGNvbnN0IGRpc2FibGVFbmRwb2ludHMgPSBlbmRwb2ludHNBcmVEaXNhYmxlZCh7XG4gICAgICAgICAgZW5kcG9pbnRzOiBnbG9iYWxDb25maWcuZW5kcG9pbnRzLFxuICAgICAgICAgIHJlcXVlc3QsXG4gICAgICAgIH0pXG4gICAgICAgIGlmIChkaXNhYmxlRW5kcG9pbnRzKSByZXR1cm4gZGlzYWJsZUVuZHBvaW50c1xuXG4gICAgICAgIGNvbnN0IGN1c3RvbUVuZHBvaW50UmVzcG9uc2UgPSBhd2FpdCBoYW5kbGVDdXN0b21FbmRwb2ludHMoe1xuICAgICAgICAgIGVuZHBvaW50czogZ2xvYmFsQ29uZmlnLmVuZHBvaW50cyxcbiAgICAgICAgICBlbnRpdHlTbHVnOiBgJHtzbHVnMX0vJHtzbHVnMn1gLFxuICAgICAgICAgIHBheWxvYWRSZXF1ZXN0OiByZXEsXG4gICAgICAgIH0pXG4gICAgICAgIGlmIChjdXN0b21FbmRwb2ludFJlc3BvbnNlKSByZXR1cm4gY3VzdG9tRW5kcG9pbnRSZXNwb25zZVxuXG4gICAgICAgIHN3aXRjaCAoc2x1Zy5sZW5ndGgpIHtcbiAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAvLyAvZ2xvYmFscy86c2x1Z1xuICAgICAgICAgICAgcmVzID0gYXdhaXQgZW5kcG9pbnRzLmdsb2JhbC5HRVQuZmluZE9uZSh7IGdsb2JhbENvbmZpZywgcmVxIH0pXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGNhc2UgMzpcbiAgICAgICAgICAgIGlmIChgZG9jLSR7c2x1ZzN9YCBpbiBlbmRwb2ludHMuZ2xvYmFsLkdFVCkge1xuICAgICAgICAgICAgICAvLyAvZ2xvYmFscy86c2x1Zy9hY2Nlc3NcbiAgICAgICAgICAgICAgLy8gL2dsb2JhbHMvOnNsdWcvdmVyc2lvbnNcbiAgICAgICAgICAgICAgcmVzID0gYXdhaXQgKGVuZHBvaW50cy5nbG9iYWwuR0VUPy5bYGRvYy0ke3NsdWczfWBdIGFzIEdsb2JhbFJvdXRlSGFuZGxlcikoe1xuICAgICAgICAgICAgICAgIGdsb2JhbENvbmZpZyxcbiAgICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGNhc2UgNDpcbiAgICAgICAgICAgIGlmIChgZG9jLSR7c2x1ZzN9LWJ5LWlkYCBpbiBlbmRwb2ludHMuZ2xvYmFsLkdFVCkge1xuICAgICAgICAgICAgICAvLyAvZ2xvYmFscy86c2x1Zy92ZXJzaW9ucy86aWRcbiAgICAgICAgICAgICAgcmVzID0gYXdhaXQgKFxuICAgICAgICAgICAgICAgIGVuZHBvaW50cy5nbG9iYWwuR0VUPy5bYGRvYy0ke3NsdWczfS1ieS1pZGBdIGFzIEdsb2JhbFJvdXRlSGFuZGxlcldpdGhJRFxuICAgICAgICAgICAgICApKHtcbiAgICAgICAgICAgICAgICBpZDogc2x1ZzQsXG4gICAgICAgICAgICAgICAgZ2xvYmFsQ29uZmlnLFxuICAgICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoc2x1Zy5sZW5ndGggPT09IDEgJiYgc2x1ZzEgaW4gZW5kcG9pbnRzLnJvb3QuR0VUKSB7XG4gICAgICAgIHJlcyA9IGF3YWl0IGVuZHBvaW50cy5yb290LkdFVFtzbHVnMV0oeyByZXEgfSlcbiAgICAgIH1cblxuICAgICAgaWYgKHJlcyBpbnN0YW5jZW9mIFJlc3BvbnNlKSByZXR1cm4gcmVzXG5cbiAgICAgIC8vIHJvb3Qgcm91dGVzXG4gICAgICBjb25zdCBjdXN0b21FbmRwb2ludFJlc3BvbnNlID0gYXdhaXQgaGFuZGxlQ3VzdG9tRW5kcG9pbnRzKHtcbiAgICAgICAgZW5kcG9pbnRzOiByZXEucGF5bG9hZC5jb25maWcuZW5kcG9pbnRzLFxuICAgICAgICBwYXlsb2FkUmVxdWVzdDogcmVxLFxuICAgICAgfSlcbiAgICAgIGlmIChjdXN0b21FbmRwb2ludFJlc3BvbnNlKSByZXR1cm4gY3VzdG9tRW5kcG9pbnRSZXNwb25zZVxuXG4gICAgICByZXR1cm4gUm91dGVOb3RGb3VuZFJlc3BvbnNlKHNsdWcpXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJldHVybiBSb3V0ZUVycm9yKHtcbiAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgZXJyOiBlcnJvcixcbiAgICAgICAgcmVxLFxuICAgICAgfSlcbiAgICB9XG4gIH1cblxuZXhwb3J0IGNvbnN0IFBPU1QgPVxuICAoY29uZmlnOiBQcm9taXNlPFNhbml0aXplZENvbmZpZz4gfCBTYW5pdGl6ZWRDb25maWcpID0+XG4gIGFzeW5jIChyZXF1ZXN0OiBSZXF1ZXN0LCB7IHBhcmFtczogeyBzbHVnIH0gfTogeyBwYXJhbXM6IHsgc2x1Zzogc3RyaW5nW10gfSB9KSA9PiB7XG4gICAgY29uc3QgW3NsdWcxLCBzbHVnMiwgc2x1ZzMsIHNsdWc0XSA9IHNsdWdcbiAgICBsZXQgcmVxOiBQYXlsb2FkUmVxdWVzdFxuICAgIGxldCByZXM6IFJlc3BvbnNlXG4gICAgbGV0IGNvbGxlY3Rpb246IENvbGxlY3Rpb25cblxuICAgIHRyeSB7XG4gICAgICByZXEgPSBhd2FpdCBjcmVhdGVQYXlsb2FkUmVxdWVzdCh7XG4gICAgICAgIGNvbmZpZyxcbiAgICAgICAgcGFyYW1zOiB7IGNvbGxlY3Rpb246IHNsdWcxIH0sXG4gICAgICAgIHJlcXVlc3QsXG4gICAgICB9KVxuXG4gICAgICBjb2xsZWN0aW9uID0gcmVxLnBheWxvYWQuY29sbGVjdGlvbnM/LltzbHVnMV1cblxuICAgICAgY29uc3QgZGlzYWJsZUVuZHBvaW50cyA9IGVuZHBvaW50c0FyZURpc2FibGVkKHtcbiAgICAgICAgZW5kcG9pbnRzOiByZXEucGF5bG9hZC5jb25maWcuZW5kcG9pbnRzLFxuICAgICAgICByZXF1ZXN0LFxuICAgICAgfSlcbiAgICAgIGlmIChkaXNhYmxlRW5kcG9pbnRzKSByZXR1cm4gZGlzYWJsZUVuZHBvaW50c1xuXG4gICAgICBpZiAoY29sbGVjdGlvbikge1xuICAgICAgICBjb25zdCBkaXNhYmxlRW5kcG9pbnRzID0gZW5kcG9pbnRzQXJlRGlzYWJsZWQoe1xuICAgICAgICAgIGVuZHBvaW50czogY29sbGVjdGlvbi5jb25maWcuZW5kcG9pbnRzLFxuICAgICAgICAgIHJlcXVlc3QsXG4gICAgICAgIH0pXG4gICAgICAgIGlmIChkaXNhYmxlRW5kcG9pbnRzKSByZXR1cm4gZGlzYWJsZUVuZHBvaW50c1xuXG4gICAgICAgIGNvbnN0IGN1c3RvbUVuZHBvaW50UmVzcG9uc2UgPSBhd2FpdCBoYW5kbGVDdXN0b21FbmRwb2ludHMoe1xuICAgICAgICAgIGVuZHBvaW50czogY29sbGVjdGlvbi5jb25maWcuZW5kcG9pbnRzLFxuICAgICAgICAgIGVudGl0eVNsdWc6IHNsdWcxLFxuICAgICAgICAgIHBheWxvYWRSZXF1ZXN0OiByZXEsXG4gICAgICAgIH0pXG5cbiAgICAgICAgaWYgKGN1c3RvbUVuZHBvaW50UmVzcG9uc2UpIHJldHVybiBjdXN0b21FbmRwb2ludFJlc3BvbnNlXG5cbiAgICAgICAgc3dpdGNoIChzbHVnLmxlbmd0aCkge1xuICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgIC8vIC86Y29sbGVjdGlvblxuICAgICAgICAgICAgcmVzID0gYXdhaXQgZW5kcG9pbnRzLmNvbGxlY3Rpb24uUE9TVC5jcmVhdGUoeyBjb2xsZWN0aW9uLCByZXEgfSlcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgY2FzZSAyOlxuICAgICAgICAgICAgaWYgKHNsdWcyIGluIGVuZHBvaW50cy5jb2xsZWN0aW9uLlBPU1QpIHtcbiAgICAgICAgICAgICAgLy8gLzpjb2xsZWN0aW9uL2xvZ2luXG4gICAgICAgICAgICAgIC8vIC86Y29sbGVjdGlvbi9sb2dvdXRcbiAgICAgICAgICAgICAgLy8gLzpjb2xsZWN0aW9uL3VubG9ja1xuICAgICAgICAgICAgICAvLyAvOmNvbGxlY3Rpb24vYWNjZXNzXG4gICAgICAgICAgICAgIC8vIC86Y29sbGVjdGlvbi9maXJzdC1yZWdpc3RlclxuICAgICAgICAgICAgICAvLyAvOmNvbGxlY3Rpb24vZm9yZ290LXBhc3N3b3JkXG4gICAgICAgICAgICAgIC8vIC86Y29sbGVjdGlvbi9yZXNldC1wYXNzd29yZFxuICAgICAgICAgICAgICAvLyAvOmNvbGxlY3Rpb24vcmVmcmVzaC10b2tlblxuICAgICAgICAgICAgICByZXMgPSBhd2FpdCAoZW5kcG9pbnRzLmNvbGxlY3Rpb24uUE9TVD8uW3NsdWcyXSBhcyBDb2xsZWN0aW9uUm91dGVIYW5kbGVyKSh7XG4gICAgICAgICAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGNhc2UgMzpcbiAgICAgICAgICAgIGlmIChgZG9jLSR7c2x1ZzJ9LWJ5LWlkYCBpbiBlbmRwb2ludHMuY29sbGVjdGlvbi5QT1NUKSB7XG4gICAgICAgICAgICAgIC8vIC86Y29sbGVjdGlvbi9hY2Nlc3MvOmlkXG4gICAgICAgICAgICAgIC8vIC86Y29sbGVjdGlvbi92ZXJzaW9ucy86aWRcbiAgICAgICAgICAgICAgLy8gLzpjb2xsZWN0aW9uL3ZlcmlmeS86dG9rZW4gKFwiZG9jLXZlcmlmeS1ieS1pZFwiIHVzZXMgaWQgYXMgdG9rZW4gaW50ZXJuYWxseSlcbiAgICAgICAgICAgICAgcmVzID0gYXdhaXQgKFxuICAgICAgICAgICAgICAgIGVuZHBvaW50cy5jb2xsZWN0aW9uLlBPU1RbYGRvYy0ke3NsdWcyfS1ieS1pZGBdIGFzIENvbGxlY3Rpb25Sb3V0ZUhhbmRsZXJXaXRoSURcbiAgICAgICAgICAgICAgKSh7IGlkOiBzbHVnMywgY29sbGVjdGlvbiwgcmVxIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHNsdWcxID09PSAnZ2xvYmFscycgJiYgc2x1ZzIpIHtcbiAgICAgICAgY29uc3QgZ2xvYmFsQ29uZmlnID0gcmVxLnBheWxvYWQuY29uZmlnLmdsb2JhbHMuZmluZCgoZ2xvYmFsKSA9PiBnbG9iYWwuc2x1ZyA9PT0gc2x1ZzIpXG4gICAgICAgIGNvbnN0IGRpc2FibGVFbmRwb2ludHMgPSBlbmRwb2ludHNBcmVEaXNhYmxlZCh7XG4gICAgICAgICAgZW5kcG9pbnRzOiBnbG9iYWxDb25maWcuZW5kcG9pbnRzLFxuICAgICAgICAgIHJlcXVlc3QsXG4gICAgICAgIH0pXG4gICAgICAgIGlmIChkaXNhYmxlRW5kcG9pbnRzKSByZXR1cm4gZGlzYWJsZUVuZHBvaW50c1xuXG4gICAgICAgIGNvbnN0IGN1c3RvbUVuZHBvaW50UmVzcG9uc2UgPSBhd2FpdCBoYW5kbGVDdXN0b21FbmRwb2ludHMoe1xuICAgICAgICAgIGVuZHBvaW50czogZ2xvYmFsQ29uZmlnLmVuZHBvaW50cyxcbiAgICAgICAgICBlbnRpdHlTbHVnOiBgJHtzbHVnMX0vJHtzbHVnMn1gLFxuICAgICAgICAgIHBheWxvYWRSZXF1ZXN0OiByZXEsXG4gICAgICAgIH0pXG4gICAgICAgIGlmIChjdXN0b21FbmRwb2ludFJlc3BvbnNlKSByZXR1cm4gY3VzdG9tRW5kcG9pbnRSZXNwb25zZVxuXG4gICAgICAgIHN3aXRjaCAoc2x1Zy5sZW5ndGgpIHtcbiAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAvLyAvZ2xvYmFscy86c2x1Z1xuICAgICAgICAgICAgcmVzID0gYXdhaXQgZW5kcG9pbnRzLmdsb2JhbC5QT1NULnVwZGF0ZSh7IGdsb2JhbENvbmZpZywgcmVxIH0pXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGNhc2UgMzpcbiAgICAgICAgICAgIGlmIChgZG9jLSR7c2x1ZzN9YCBpbiBlbmRwb2ludHMuZ2xvYmFsLlBPU1QpIHtcbiAgICAgICAgICAgICAgLy8gL2dsb2JhbHMvOnNsdWcvYWNjZXNzXG4gICAgICAgICAgICAgIHJlcyA9IGF3YWl0IChlbmRwb2ludHMuZ2xvYmFsLlBPU1Q/LltgZG9jLSR7c2x1ZzN9YF0gYXMgR2xvYmFsUm91dGVIYW5kbGVyKSh7XG4gICAgICAgICAgICAgICAgZ2xvYmFsQ29uZmlnLFxuICAgICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgY2FzZSA0OlxuICAgICAgICAgICAgaWYgKGBkb2MtJHtzbHVnM30tYnktaWRgIGluIGVuZHBvaW50cy5nbG9iYWwuUE9TVCkge1xuICAgICAgICAgICAgICAvLyAvZ2xvYmFscy86c2x1Zy92ZXJzaW9ucy86aWRcbiAgICAgICAgICAgICAgcmVzID0gYXdhaXQgKFxuICAgICAgICAgICAgICAgIGVuZHBvaW50cy5nbG9iYWwuUE9TVD8uW2Bkb2MtJHtzbHVnM30tYnktaWRgXSBhcyBHbG9iYWxSb3V0ZUhhbmRsZXJXaXRoSURcbiAgICAgICAgICAgICAgKSh7XG4gICAgICAgICAgICAgICAgaWQ6IHNsdWc0LFxuICAgICAgICAgICAgICAgIGdsb2JhbENvbmZpZyxcbiAgICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXMgPSBuZXcgUmVzcG9uc2UoJ1JvdXRlIE5vdCBGb3VuZCcsIHsgc3RhdHVzOiA0MDQgfSlcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChzbHVnLmxlbmd0aCA9PT0gMSAmJiBzbHVnMSBpbiBlbmRwb2ludHMucm9vdC5QT1NUKSB7XG4gICAgICAgIHJlcyA9IGF3YWl0IGVuZHBvaW50cy5yb290LlBPU1Rbc2x1ZzFdKHsgcmVxIH0pXG4gICAgICB9XG5cbiAgICAgIGlmIChyZXMgaW5zdGFuY2VvZiBSZXNwb25zZSkgcmV0dXJuIHJlc1xuXG4gICAgICAvLyByb290IHJvdXRlc1xuICAgICAgY29uc3QgY3VzdG9tRW5kcG9pbnRSZXNwb25zZSA9IGF3YWl0IGhhbmRsZUN1c3RvbUVuZHBvaW50cyh7XG4gICAgICAgIGVuZHBvaW50czogcmVxLnBheWxvYWQuY29uZmlnLmVuZHBvaW50cyxcbiAgICAgICAgcGF5bG9hZFJlcXVlc3Q6IHJlcSxcbiAgICAgIH0pXG4gICAgICBpZiAoY3VzdG9tRW5kcG9pbnRSZXNwb25zZSkgcmV0dXJuIGN1c3RvbUVuZHBvaW50UmVzcG9uc2VcblxuICAgICAgcmV0dXJuIFJvdXRlTm90Rm91bmRSZXNwb25zZShzbHVnKVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gUm91dGVFcnJvcih7XG4gICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgIGVycjogZXJyb3IsXG4gICAgICAgIHJlcSxcbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbmV4cG9ydCBjb25zdCBERUxFVEUgPVxuICAoY29uZmlnOiBQcm9taXNlPFNhbml0aXplZENvbmZpZz4gfCBTYW5pdGl6ZWRDb25maWcpID0+XG4gIGFzeW5jIChyZXF1ZXN0OiBSZXF1ZXN0LCB7IHBhcmFtczogeyBzbHVnIH0gfTogeyBwYXJhbXM6IHsgc2x1Zzogc3RyaW5nW10gfSB9KSA9PiB7XG4gICAgY29uc3QgW3NsdWcxLCBzbHVnMl0gPSBzbHVnXG4gICAgbGV0IHJlcTogUGF5bG9hZFJlcXVlc3RcbiAgICBsZXQgcmVzOiBSZXNwb25zZVxuICAgIGxldCBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uXG5cbiAgICB0cnkge1xuICAgICAgcmVxID0gYXdhaXQgY3JlYXRlUGF5bG9hZFJlcXVlc3Qoe1xuICAgICAgICBjb25maWcsXG4gICAgICAgIHBhcmFtczoge1xuICAgICAgICAgIGNvbGxlY3Rpb246IHNsdWcxLFxuICAgICAgICB9LFxuICAgICAgICByZXF1ZXN0LFxuICAgICAgfSlcbiAgICAgIGNvbGxlY3Rpb24gPSByZXEucGF5bG9hZC5jb2xsZWN0aW9ucz8uW3NsdWcxXVxuXG4gICAgICBjb25zdCBkaXNhYmxlRW5kcG9pbnRzID0gZW5kcG9pbnRzQXJlRGlzYWJsZWQoe1xuICAgICAgICBlbmRwb2ludHM6IHJlcS5wYXlsb2FkLmNvbmZpZy5lbmRwb2ludHMsXG4gICAgICAgIHJlcXVlc3QsXG4gICAgICB9KVxuICAgICAgaWYgKGRpc2FibGVFbmRwb2ludHMpIHJldHVybiBkaXNhYmxlRW5kcG9pbnRzXG5cbiAgICAgIGlmIChjb2xsZWN0aW9uKSB7XG4gICAgICAgIGNvbnN0IGRpc2FibGVFbmRwb2ludHMgPSBlbmRwb2ludHNBcmVEaXNhYmxlZCh7XG4gICAgICAgICAgZW5kcG9pbnRzOiBjb2xsZWN0aW9uLmNvbmZpZy5lbmRwb2ludHMsXG4gICAgICAgICAgcmVxdWVzdCxcbiAgICAgICAgfSlcbiAgICAgICAgaWYgKGRpc2FibGVFbmRwb2ludHMpIHJldHVybiBkaXNhYmxlRW5kcG9pbnRzXG5cbiAgICAgICAgY29uc3QgY3VzdG9tRW5kcG9pbnRSZXNwb25zZSA9IGF3YWl0IGhhbmRsZUN1c3RvbUVuZHBvaW50cyh7XG4gICAgICAgICAgZW5kcG9pbnRzOiBjb2xsZWN0aW9uLmNvbmZpZy5lbmRwb2ludHMsXG4gICAgICAgICAgZW50aXR5U2x1Zzogc2x1ZzEsXG4gICAgICAgICAgcGF5bG9hZFJlcXVlc3Q6IHJlcSxcbiAgICAgICAgfSlcbiAgICAgICAgaWYgKGN1c3RvbUVuZHBvaW50UmVzcG9uc2UpIHJldHVybiBjdXN0b21FbmRwb2ludFJlc3BvbnNlXG5cbiAgICAgICAgc3dpdGNoIChzbHVnLmxlbmd0aCkge1xuICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgIC8vIC86Y29sbGVjdGlvblxuICAgICAgICAgICAgcmVzID0gYXdhaXQgZW5kcG9pbnRzLmNvbGxlY3Rpb24uREVMRVRFLmRlbGV0ZSh7IGNvbGxlY3Rpb24sIHJlcSB9KVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAvLyAvOmNvbGxlY3Rpb24vOmlkXG4gICAgICAgICAgICByZXMgPSBhd2FpdCBlbmRwb2ludHMuY29sbGVjdGlvbi5ERUxFVEUuZGVsZXRlQnlJRCh7IGlkOiBzbHVnMiwgY29sbGVjdGlvbiwgcmVxIH0pXG4gICAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChyZXMgaW5zdGFuY2VvZiBSZXNwb25zZSkgcmV0dXJuIHJlc1xuXG4gICAgICAvLyByb290IHJvdXRlc1xuICAgICAgY29uc3QgY3VzdG9tRW5kcG9pbnRSZXNwb25zZSA9IGF3YWl0IGhhbmRsZUN1c3RvbUVuZHBvaW50cyh7XG4gICAgICAgIGVuZHBvaW50czogcmVxLnBheWxvYWQuY29uZmlnLmVuZHBvaW50cyxcbiAgICAgICAgcGF5bG9hZFJlcXVlc3Q6IHJlcSxcbiAgICAgIH0pXG4gICAgICBpZiAoY3VzdG9tRW5kcG9pbnRSZXNwb25zZSkgcmV0dXJuIGN1c3RvbUVuZHBvaW50UmVzcG9uc2VcblxuICAgICAgcmV0dXJuIFJvdXRlTm90Rm91bmRSZXNwb25zZShzbHVnKVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gUm91dGVFcnJvcih7XG4gICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgIGVycjogZXJyb3IsXG4gICAgICAgIHJlcSxcbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbmV4cG9ydCBjb25zdCBQQVRDSCA9XG4gIChjb25maWc6IFByb21pc2U8U2FuaXRpemVkQ29uZmlnPiB8IFNhbml0aXplZENvbmZpZykgPT5cbiAgYXN5bmMgKHJlcXVlc3Q6IFJlcXVlc3QsIHsgcGFyYW1zOiB7IHNsdWcgfSB9OiB7IHBhcmFtczogeyBzbHVnOiBzdHJpbmdbXSB9IH0pID0+IHtcbiAgICBjb25zdCBbc2x1ZzEsIHNsdWcyXSA9IHNsdWdcbiAgICBsZXQgcmVxOiBQYXlsb2FkUmVxdWVzdFxuICAgIGxldCByZXM6IFJlc3BvbnNlXG4gICAgbGV0IGNvbGxlY3Rpb246IENvbGxlY3Rpb25cblxuICAgIHRyeSB7XG4gICAgICByZXEgPSBhd2FpdCBjcmVhdGVQYXlsb2FkUmVxdWVzdCh7XG4gICAgICAgIGNvbmZpZyxcbiAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgY29sbGVjdGlvbjogc2x1ZzEsXG4gICAgICAgIH0sXG4gICAgICAgIHJlcXVlc3QsXG4gICAgICB9KVxuICAgICAgY29sbGVjdGlvbiA9IHJlcS5wYXlsb2FkLmNvbGxlY3Rpb25zPy5bc2x1ZzFdXG5cbiAgICAgIGNvbnN0IGRpc2FibGVFbmRwb2ludHMgPSBlbmRwb2ludHNBcmVEaXNhYmxlZCh7XG4gICAgICAgIGVuZHBvaW50czogcmVxLnBheWxvYWQuY29uZmlnLmVuZHBvaW50cyxcbiAgICAgICAgcmVxdWVzdCxcbiAgICAgIH0pXG4gICAgICBpZiAoZGlzYWJsZUVuZHBvaW50cykgcmV0dXJuIGRpc2FibGVFbmRwb2ludHNcblxuICAgICAgaWYgKGNvbGxlY3Rpb24pIHtcbiAgICAgICAgY29uc3QgZGlzYWJsZUVuZHBvaW50cyA9IGVuZHBvaW50c0FyZURpc2FibGVkKHtcbiAgICAgICAgICBlbmRwb2ludHM6IGNvbGxlY3Rpb24uY29uZmlnLmVuZHBvaW50cyxcbiAgICAgICAgICByZXF1ZXN0LFxuICAgICAgICB9KVxuICAgICAgICBpZiAoZGlzYWJsZUVuZHBvaW50cykgcmV0dXJuIGRpc2FibGVFbmRwb2ludHNcblxuICAgICAgICBjb25zdCBjdXN0b21FbmRwb2ludFJlc3BvbnNlID0gYXdhaXQgaGFuZGxlQ3VzdG9tRW5kcG9pbnRzKHtcbiAgICAgICAgICBlbmRwb2ludHM6IGNvbGxlY3Rpb24uY29uZmlnLmVuZHBvaW50cyxcbiAgICAgICAgICBlbnRpdHlTbHVnOiBzbHVnMSxcbiAgICAgICAgICBwYXlsb2FkUmVxdWVzdDogcmVxLFxuICAgICAgICB9KVxuICAgICAgICBpZiAoY3VzdG9tRW5kcG9pbnRSZXNwb25zZSkgcmV0dXJuIGN1c3RvbUVuZHBvaW50UmVzcG9uc2VcblxuICAgICAgICBzd2l0Y2ggKHNsdWcubGVuZ3RoKSB7XG4gICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgLy8gLzpjb2xsZWN0aW9uXG4gICAgICAgICAgICByZXMgPSBhd2FpdCBlbmRwb2ludHMuY29sbGVjdGlvbi5QQVRDSC51cGRhdGUoeyBjb2xsZWN0aW9uLCByZXEgfSlcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgY2FzZSAyOlxuICAgICAgICAgICAgLy8gLzpjb2xsZWN0aW9uLzppZFxuICAgICAgICAgICAgcmVzID0gYXdhaXQgZW5kcG9pbnRzLmNvbGxlY3Rpb24uUEFUQ0gudXBkYXRlQnlJRCh7IGlkOiBzbHVnMiwgY29sbGVjdGlvbiwgcmVxIH0pXG4gICAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChyZXMgaW5zdGFuY2VvZiBSZXNwb25zZSkgcmV0dXJuIHJlc1xuXG4gICAgICAvLyByb290IHJvdXRlc1xuICAgICAgY29uc3QgY3VzdG9tRW5kcG9pbnRSZXNwb25zZSA9IGF3YWl0IGhhbmRsZUN1c3RvbUVuZHBvaW50cyh7XG4gICAgICAgIGVuZHBvaW50czogcmVxLnBheWxvYWQuY29uZmlnLmVuZHBvaW50cyxcbiAgICAgICAgcGF5bG9hZFJlcXVlc3Q6IHJlcSxcbiAgICAgIH0pXG4gICAgICBpZiAoY3VzdG9tRW5kcG9pbnRSZXNwb25zZSkgcmV0dXJuIGN1c3RvbUVuZHBvaW50UmVzcG9uc2VcblxuICAgICAgcmV0dXJuIFJvdXRlTm90Rm91bmRSZXNwb25zZShzbHVnKVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gUm91dGVFcnJvcih7XG4gICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgIGVycjogZXJyb3IsXG4gICAgICAgIHJlcSxcbiAgICAgIH0pXG4gICAgfVxuICB9XG4iXSwibmFtZXMiOlsiREVMRVRFIiwiR0VUIiwiUEFUQ0giLCJQT1NUIiwiZW5kcG9pbnRzIiwiY29sbGVjdGlvbiIsImRlbGV0ZSIsImRlbGV0ZURvYyIsImRlbGV0ZUJ5SUQiLCJkb2NBY2Nlc3MiLCJmaW5kVmVyc2lvbkJ5SUQiLCJmaW5kIiwiZmluZEJ5SUQiLCJpbml0IiwibWUiLCJ2ZXJzaW9ucyIsImZpbmRWZXJzaW9ucyIsInVwZGF0ZSIsInVwZGF0ZUJ5SUQiLCJhY2Nlc3MiLCJjcmVhdGUiLCJ2ZXJpZnlFbWFpbCIsInJlc3RvcmVWZXJzaW9uIiwicmVnaXN0ZXJGaXJzdFVzZXIiLCJmb3Jnb3RQYXNzd29yZCIsImxvZ2luIiwibG9nb3V0IiwicmVmcmVzaCIsInJlc2V0UGFzc3dvcmQiLCJ1bmxvY2siLCJnbG9iYWwiLCJkb2NBY2Nlc3NHbG9iYWwiLCJmaW5kVmVyc2lvbnNHbG9iYWwiLCJmaW5kVmVyc2lvbkJ5SWRHbG9iYWwiLCJmaW5kT25lIiwicmVzdG9yZVZlcnNpb25HbG9iYWwiLCJ1cGRhdGVHbG9iYWwiLCJyb290IiwiYnVpbGRGb3JtU3RhdGUiLCJoYW5kbGVDdXN0b21FbmRwb2ludHMiLCJlbnRpdHlTbHVnIiwicGF5bG9hZFJlcXVlc3QiLCJsZW5ndGgiLCJoYW5kbGVyUGFyYW1zIiwicGF0aG5hbWUiLCJwYXRoUHJlZml4IiwicGF5bG9hZCIsImNvbmZpZyIsInJvdXRlcyIsImFwaSIsImN1c3RvbUVuZHBvaW50IiwiZW5kcG9pbnQiLCJtZXRob2QiLCJ0b0xvd2VyQ2FzZSIsInBhdGhNYXRjaEZuIiwibWF0Y2giLCJwYXRoIiwiZGVjb2RlIiwiZGVjb2RlVVJJQ29tcG9uZW50IiwidGVtcFBhcmFtcyIsInBhcmFtcyIsInJvdXRlUGFyYW1zIiwiaGFuZGxlciIsIlJvdXRlTm90Rm91bmRSZXNwb25zZSIsInNsdWciLCJSZXNwb25zZSIsImpzb24iLCJtZXNzYWdlIiwiam9pbiIsInN0YXR1cyIsImh0dHBTdGF0dXMiLCJOT1RfRk9VTkQiLCJyZXF1ZXN0Iiwic2x1ZzEiLCJzbHVnMiIsInNsdWczIiwic2x1ZzQiLCJyZXEiLCJyZXMiLCJjcmVhdGVQYXlsb2FkUmVxdWVzdCIsImRpc2FibGVFbmRwb2ludHMiLCJlbmRwb2ludHNBcmVEaXNhYmxlZCIsImNvbGxlY3Rpb25zIiwiY3VzdG9tRW5kcG9pbnRSZXNwb25zZSIsImlkIiwiZ2xvYmFsQ29uZmlnIiwiZ2xvYmFscyIsImVycm9yIiwiUm91dGVFcnJvciIsImVyciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUFvYWFBLE1BQU07ZUFBTkE7O0lBaFJBQyxHQUFHO2VBQUhBOztJQXFWQUMsS0FBSztl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
|
|
517
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yb3V0ZXMvcmVzdC9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEVuZHBvaW50IH0gZnJvbSAncGF5bG9hZC9jb25maWcnXG5pbXBvcnQgdHlwZSB7IENvbGxlY3Rpb24sIEdsb2JhbENvbmZpZywgUGF5bG9hZFJlcXVlc3QsIFNhbml0aXplZENvbmZpZyB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCBodHRwU3RhdHVzIGZyb20gJ2h0dHAtc3RhdHVzJ1xuaW1wb3J0IHsgbWF0Y2ggfSBmcm9tICdwYXRoLXRvLXJlZ2V4cCdcblxuaW1wb3J0IHR5cGUge1xuICBDb2xsZWN0aW9uUm91dGVIYW5kbGVyLFxuICBDb2xsZWN0aW9uUm91dGVIYW5kbGVyV2l0aElELFxuICBHbG9iYWxSb3V0ZUhhbmRsZXIsXG4gIEdsb2JhbFJvdXRlSGFuZGxlcldpdGhJRCxcbn0gZnJvbSAnLi90eXBlcy5kLnRzJ1xuXG5pbXBvcnQgeyBjcmVhdGVQYXlsb2FkUmVxdWVzdCB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9jcmVhdGVQYXlsb2FkUmVxdWVzdC5qcydcbmltcG9ydCB7IFJvdXRlRXJyb3IgfSBmcm9tICcuL1JvdXRlRXJyb3IuanMnXG5pbXBvcnQgeyBhY2Nlc3MgfSBmcm9tICcuL2F1dGgvYWNjZXNzLmpzJ1xuaW1wb3J0IHsgZm9yZ290UGFzc3dvcmQgfSBmcm9tICcuL2F1dGgvZm9yZ290UGFzc3dvcmQuanMnXG5pbXBvcnQgeyBpbml0IH0gZnJvbSAnLi9hdXRoL2luaXQuanMnXG5pbXBvcnQgeyBsb2dpbiB9IGZyb20gJy4vYXV0aC9sb2dpbi5qcydcbmltcG9ydCB7IGxvZ291dCB9IGZyb20gJy4vYXV0aC9sb2dvdXQuanMnXG5pbXBvcnQgeyBtZSB9IGZyb20gJy4vYXV0aC9tZS5qcydcbmltcG9ydCB7IHJlZnJlc2ggfSBmcm9tICcuL2F1dGgvcmVmcmVzaC5qcydcbmltcG9ydCB7IHJlZ2lzdGVyRmlyc3RVc2VyIH0gZnJvbSAnLi9hdXRoL3JlZ2lzdGVyRmlyc3RVc2VyLmpzJ1xuaW1wb3J0IHsgcmVzZXRQYXNzd29yZCB9IGZyb20gJy4vYXV0aC9yZXNldFBhc3N3b3JkLmpzJ1xuaW1wb3J0IHsgdW5sb2NrIH0gZnJvbSAnLi9hdXRoL3VubG9jay5qcydcbmltcG9ydCB7IHZlcmlmeUVtYWlsIH0gZnJvbSAnLi9hdXRoL3ZlcmlmeUVtYWlsLmpzJ1xuaW1wb3J0IHsgYnVpbGRGb3JtU3RhdGUgfSBmcm9tICcuL2J1aWxkRm9ybVN0YXRlLmpzJ1xuaW1wb3J0IHsgZW5kcG9pbnRzQXJlRGlzYWJsZWQgfSBmcm9tICcuL2NoZWNrRW5kcG9pbnRzLmpzJ1xuaW1wb3J0IHsgY3JlYXRlIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9jcmVhdGUuanMnXG5pbXBvcnQgeyBkZWxldGVEb2MgfSBmcm9tICcuL2NvbGxlY3Rpb25zL2RlbGV0ZS5qcydcbmltcG9ydCB7IGRlbGV0ZUJ5SUQgfSBmcm9tICcuL2NvbGxlY3Rpb25zL2RlbGV0ZUJ5SUQuanMnXG5pbXBvcnQgeyBkb2NBY2Nlc3MgfSBmcm9tICcuL2NvbGxlY3Rpb25zL2RvY0FjY2Vzcy5qcydcbmltcG9ydCB7IGZpbmQgfSBmcm9tICcuL2NvbGxlY3Rpb25zL2ZpbmQuanMnXG5pbXBvcnQgeyBmaW5kQnlJRCB9IGZyb20gJy4vY29sbGVjdGlvbnMvZmluZEJ5SUQuanMnXG5pbXBvcnQgeyBmaW5kVmVyc2lvbkJ5SUQgfSBmcm9tICcuL2NvbGxlY3Rpb25zL2ZpbmRWZXJzaW9uQnlJRC5qcydcbmltcG9ydCB7IGZpbmRWZXJzaW9ucyB9IGZyb20gJy4vY29sbGVjdGlvbnMvZmluZFZlcnNpb25zLmpzJ1xuaW1wb3J0IHsgcmVzdG9yZVZlcnNpb24gfSBmcm9tICcuL2NvbGxlY3Rpb25zL3Jlc3RvcmVWZXJzaW9uLmpzJ1xuaW1wb3J0IHsgdXBkYXRlIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy91cGRhdGUuanMnXG5pbXBvcnQgeyB1cGRhdGVCeUlEIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy91cGRhdGVCeUlELmpzJ1xuaW1wb3J0IHsgZG9jQWNjZXNzIGFzIGRvY0FjY2Vzc0dsb2JhbCB9IGZyb20gJy4vZ2xvYmFscy9kb2NBY2Nlc3MuanMnXG5pbXBvcnQgeyBmaW5kT25lIH0gZnJvbSAnLi9nbG9iYWxzL2ZpbmRPbmUuanMnXG5pbXBvcnQgeyBmaW5kVmVyc2lvbkJ5SUQgYXMgZmluZFZlcnNpb25CeUlkR2xvYmFsIH0gZnJvbSAnLi9nbG9iYWxzL2ZpbmRWZXJzaW9uQnlJRC5qcydcbmltcG9ydCB7IGZpbmRWZXJzaW9ucyBhcyBmaW5kVmVyc2lvbnNHbG9iYWwgfSBmcm9tICcuL2dsb2JhbHMvZmluZFZlcnNpb25zLmpzJ1xuaW1wb3J0IHsgcmVzdG9yZVZlcnNpb24gYXMgcmVzdG9yZVZlcnNpb25HbG9iYWwgfSBmcm9tICcuL2dsb2JhbHMvcmVzdG9yZVZlcnNpb24uanMnXG5pbXBvcnQgeyB1cGRhdGUgYXMgdXBkYXRlR2xvYmFsIH0gZnJvbSAnLi9nbG9iYWxzL3VwZGF0ZS5qcydcblxuY29uc3QgZW5kcG9pbnRzID0ge1xuICBjb2xsZWN0aW9uOiB7XG4gICAgREVMRVRFOiB7XG4gICAgICBkZWxldGU6IGRlbGV0ZURvYyxcbiAgICAgIGRlbGV0ZUJ5SUQsXG4gICAgfSxcbiAgICBHRVQ6IHtcbiAgICAgICdkb2MtYWNjZXNzLWJ5LWlkJzogZG9jQWNjZXNzLFxuICAgICAgJ2RvYy12ZXJzaW9ucy1ieS1pZCc6IGZpbmRWZXJzaW9uQnlJRCxcbiAgICAgIGZpbmQsXG4gICAgICBmaW5kQnlJRCxcbiAgICAgIGluaXQsXG4gICAgICBtZSxcbiAgICAgIHZlcnNpb25zOiBmaW5kVmVyc2lvbnMsXG4gICAgfSxcbiAgICBQQVRDSDoge1xuICAgICAgdXBkYXRlLFxuICAgICAgdXBkYXRlQnlJRCxcbiAgICB9LFxuICAgIFBPU1Q6IHtcbiAgICAgIGFjY2VzczogZG9jQWNjZXNzLFxuICAgICAgY3JlYXRlLFxuICAgICAgJ2RvYy1hY2Nlc3MtYnktaWQnOiBkb2NBY2Nlc3MsXG4gICAgICAnZG9jLXZlcmlmeS1ieS1pZCc6IHZlcmlmeUVtYWlsLFxuICAgICAgJ2RvYy12ZXJzaW9ucy1ieS1pZCc6IHJlc3RvcmVWZXJzaW9uLFxuICAgICAgJ2ZpcnN0LXJlZ2lzdGVyJzogcmVnaXN0ZXJGaXJzdFVzZXIsXG4gICAgICAnZm9yZ290LXBhc3N3b3JkJzogZm9yZ290UGFzc3dvcmQsXG4gICAgICBsb2dpbixcbiAgICAgIGxvZ291dCxcbiAgICAgICdyZWZyZXNoLXRva2VuJzogcmVmcmVzaCxcbiAgICAgICdyZXNldC1wYXNzd29yZCc6IHJlc2V0UGFzc3dvcmQsXG4gICAgICB1bmxvY2ssXG4gICAgfSxcbiAgfSxcbiAgZ2xvYmFsOiB7XG4gICAgR0VUOiB7XG4gICAgICAnZG9jLWFjY2Vzcyc6IGRvY0FjY2Vzc0dsb2JhbCxcbiAgICAgICdkb2MtdmVyc2lvbnMnOiBmaW5kVmVyc2lvbnNHbG9iYWwsXG4gICAgICAnZG9jLXZlcnNpb25zLWJ5LWlkJzogZmluZFZlcnNpb25CeUlkR2xvYmFsLFxuICAgICAgZmluZE9uZSxcbiAgICB9LFxuICAgIFBPU1Q6IHtcbiAgICAgICdkb2MtYWNjZXNzJzogZG9jQWNjZXNzR2xvYmFsLFxuICAgICAgJ2RvYy12ZXJzaW9ucy1ieS1pZCc6IHJlc3RvcmVWZXJzaW9uR2xvYmFsLFxuICAgICAgdXBkYXRlOiB1cGRhdGVHbG9iYWwsXG4gICAgfSxcbiAgfSxcbiAgcm9vdDoge1xuICAgIEdFVDoge1xuICAgICAgYWNjZXNzLFxuICAgIH0sXG4gICAgUE9TVDoge1xuICAgICAgJ2Zvcm0tc3RhdGUnOiBidWlsZEZvcm1TdGF0ZSxcbiAgICB9LFxuICB9LFxufVxuXG5jb25zdCBoYW5kbGVDdXN0b21FbmRwb2ludHMgPSAoe1xuICBlbmRwb2ludHMsXG4gIGVudGl0eVNsdWcsXG4gIHBheWxvYWRSZXF1ZXN0LFxufToge1xuICBlbmRwb2ludHM6IEVuZHBvaW50W10gfCBHbG9iYWxDb25maWdbJ2VuZHBvaW50cyddXG4gIGVudGl0eVNsdWc/OiBzdHJpbmdcbiAgcGF5bG9hZFJlcXVlc3Q6IFBheWxvYWRSZXF1ZXN0XG59KTogUHJvbWlzZTxSZXNwb25zZT4gfCBSZXNwb25zZSA9PiB7XG4gIGlmIChlbmRwb2ludHMgJiYgZW5kcG9pbnRzLmxlbmd0aCA+IDApIHtcbiAgICBsZXQgaGFuZGxlclBhcmFtcyA9IHt9XG4gICAgY29uc3QgeyBwYXRobmFtZSB9ID0gcGF5bG9hZFJlcXVlc3RcbiAgICBjb25zdCBwYXRoUHJlZml4ID1cbiAgICAgIHBheWxvYWRSZXF1ZXN0LnBheWxvYWQuY29uZmlnLnJvdXRlcy5hcGkgKyAoZW50aXR5U2x1ZyA/IGAvJHtlbnRpdHlTbHVnfWAgOiAnJylcblxuICAgIGNvbnN0IGN1c3RvbUVuZHBvaW50ID0gZW5kcG9pbnRzLmZpbmQoKGVuZHBvaW50KSA9PiB7XG4gICAgICBpZiAoZW5kcG9pbnQubWV0aG9kID09PSBwYXlsb2FkUmVxdWVzdC5tZXRob2QudG9Mb3dlckNhc2UoKSkge1xuICAgICAgICBjb25zdCBwYXRoTWF0Y2hGbiA9IG1hdGNoKGAke3BhdGhQcmVmaXh9JHtlbmRwb2ludC5wYXRofWAsIHtcbiAgICAgICAgICBkZWNvZGU6IGRlY29kZVVSSUNvbXBvbmVudCxcbiAgICAgICAgfSlcbiAgICAgICAgY29uc3QgdGVtcFBhcmFtcyA9IHBhdGhNYXRjaEZuKHBhdGhuYW1lKVxuICAgICAgICBpZiAodGVtcFBhcmFtcykge1xuICAgICAgICAgIGhhbmRsZXJQYXJhbXMgPSB0ZW1wUGFyYW1zLnBhcmFtc1xuICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KVxuXG4gICAgaWYgKGN1c3RvbUVuZHBvaW50KSB7XG4gICAgICBwYXlsb2FkUmVxdWVzdC5yb3V0ZVBhcmFtcyA9IGhhbmRsZXJQYXJhbXNcbiAgICAgIHJldHVybiBjdXN0b21FbmRwb2ludC5oYW5kbGVyKHBheWxvYWRSZXF1ZXN0KVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsXG59XG5cbmNvbnN0IFJvdXRlTm90Rm91bmRSZXNwb25zZSA9IChzbHVnOiBzdHJpbmdbXSkgPT5cbiAgUmVzcG9uc2UuanNvbihcbiAgICB7XG4gICAgICBtZXNzYWdlOiBgUm91dGUgTm90IEZvdW5kOiBcIiR7c2x1Zy5qb2luKCcvJyl9XCJgLFxuICAgIH0sXG4gICAgeyBzdGF0dXM6IGh0dHBTdGF0dXMuTk9UX0ZPVU5EIH0sXG4gIClcblxuZXhwb3J0IGNvbnN0IEdFVCA9XG4gIChjb25maWc6IFByb21pc2U8U2FuaXRpemVkQ29uZmlnPiB8IFNhbml0aXplZENvbmZpZykgPT5cbiAgYXN5bmMgKHJlcXVlc3Q6IFJlcXVlc3QsIHsgcGFyYW1zOiB7IHNsdWcgfSB9OiB7IHBhcmFtczogeyBzbHVnOiBzdHJpbmdbXSB9IH0pID0+IHtcbiAgICBjb25zdCBbc2x1ZzEsIHNsdWcyLCBzbHVnMywgc2x1ZzRdID0gc2x1Z1xuICAgIGxldCByZXE6IFBheWxvYWRSZXF1ZXN0XG4gICAgbGV0IHJlczogUmVzcG9uc2VcbiAgICBsZXQgY29sbGVjdGlvbjogQ29sbGVjdGlvblxuXG4gICAgdHJ5IHtcbiAgICAgIHJlcSA9IGF3YWl0IGNyZWF0ZVBheWxvYWRSZXF1ZXN0KHtcbiAgICAgICAgY29uZmlnLFxuICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICBjb2xsZWN0aW9uOiBzbHVnMSxcbiAgICAgICAgfSxcbiAgICAgICAgcmVxdWVzdCxcbiAgICAgIH0pXG5cbiAgICAgIGNvbnN0IGRpc2FibGVFbmRwb2ludHMgPSBlbmRwb2ludHNBcmVEaXNhYmxlZCh7XG4gICAgICAgIGVuZHBvaW50czogcmVxLnBheWxvYWQuY29uZmlnLmVuZHBvaW50cyxcbiAgICAgICAgcmVxdWVzdCxcbiAgICAgIH0pXG4gICAgICBpZiAoZGlzYWJsZUVuZHBvaW50cykgcmV0dXJuIGRpc2FibGVFbmRwb2ludHNcblxuICAgICAgY29sbGVjdGlvbiA9IHJlcS5wYXlsb2FkLmNvbGxlY3Rpb25zPy5bc2x1ZzFdXG5cbiAgICAgIGlmIChjb2xsZWN0aW9uKSB7XG4gICAgICAgIGNvbnN0IGRpc2FibGVFbmRwb2ludHMgPSBlbmRwb2ludHNBcmVEaXNhYmxlZCh7XG4gICAgICAgICAgZW5kcG9pbnRzOiBjb2xsZWN0aW9uLmNvbmZpZy5lbmRwb2ludHMsXG4gICAgICAgICAgcmVxdWVzdCxcbiAgICAgICAgfSlcbiAgICAgICAgaWYgKGRpc2FibGVFbmRwb2ludHMpIHJldHVybiBkaXNhYmxlRW5kcG9pbnRzXG5cbiAgICAgICAgY29uc3QgY3VzdG9tRW5kcG9pbnRSZXNwb25zZSA9IGF3YWl0IGhhbmRsZUN1c3RvbUVuZHBvaW50cyh7XG4gICAgICAgICAgZW5kcG9pbnRzOiBjb2xsZWN0aW9uLmNvbmZpZy5lbmRwb2ludHMsXG4gICAgICAgICAgZW50aXR5U2x1Zzogc2x1ZzEsXG4gICAgICAgICAgcGF5bG9hZFJlcXVlc3Q6IHJlcSxcbiAgICAgICAgfSlcbiAgICAgICAgaWYgKGN1c3RvbUVuZHBvaW50UmVzcG9uc2UpIHJldHVybiBjdXN0b21FbmRwb2ludFJlc3BvbnNlXG5cbiAgICAgICAgc3dpdGNoIChzbHVnLmxlbmd0aCkge1xuICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgIC8vIC86Y29sbGVjdGlvblxuICAgICAgICAgICAgcmVzID0gYXdhaXQgZW5kcG9pbnRzLmNvbGxlY3Rpb24uR0VULmZpbmQoeyBjb2xsZWN0aW9uLCByZXEgfSlcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgY2FzZSAyOlxuICAgICAgICAgICAgaWYgKHNsdWcyIGluIGVuZHBvaW50cy5jb2xsZWN0aW9uLkdFVCkge1xuICAgICAgICAgICAgICAvLyAvOmNvbGxlY3Rpb24vaW5pdFxuICAgICAgICAgICAgICAvLyAvOmNvbGxlY3Rpb24vbWVcbiAgICAgICAgICAgICAgLy8gLzpjb2xsZWN0aW9uL3ZlcnNpb25zXG4gICAgICAgICAgICAgIHJlcyA9IGF3YWl0IChlbmRwb2ludHMuY29sbGVjdGlvbi5HRVRbc2x1ZzJdIGFzIENvbGxlY3Rpb25Sb3V0ZUhhbmRsZXIpKHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIC8vIC86Y29sbGVjdGlvbi86aWRcbiAgICAgICAgICAgICAgcmVzID0gYXdhaXQgZW5kcG9pbnRzLmNvbGxlY3Rpb24uR0VULmZpbmRCeUlEKHsgaWQ6IHNsdWcyLCBjb2xsZWN0aW9uLCByZXEgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgY2FzZSAzOlxuICAgICAgICAgICAgaWYgKGBkb2MtJHtzbHVnMn0tYnktaWRgIGluIGVuZHBvaW50cy5jb2xsZWN0aW9uLkdFVCkge1xuICAgICAgICAgICAgICAvLyAvOmNvbGxlY3Rpb24vYWNjZXNzLzppZFxuICAgICAgICAgICAgICAvLyAvOmNvbGxlY3Rpb24vdmVyc2lvbnMvOmlkXG5cbiAgICAgICAgICAgICAgcmVzID0gYXdhaXQgKFxuICAgICAgICAgICAgICAgIGVuZHBvaW50cy5jb2xsZWN0aW9uLkdFVFtgZG9jLSR7c2x1ZzJ9LWJ5LWlkYF0gYXMgQ29sbGVjdGlvblJvdXRlSGFuZGxlcldpdGhJRFxuICAgICAgICAgICAgICApKHsgaWQ6IHNsdWczLCBjb2xsZWN0aW9uLCByZXEgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoc2x1ZzEgPT09ICdnbG9iYWxzJykge1xuICAgICAgICBjb25zdCBnbG9iYWxDb25maWcgPSByZXEucGF5bG9hZC5jb25maWcuZ2xvYmFscy5maW5kKChnbG9iYWwpID0+IGdsb2JhbC5zbHVnID09PSBzbHVnMilcblxuICAgICAgICBjb25zdCBkaXNhYmxlRW5kcG9pbnRzID0gZW5kcG9pbnRzQXJlRGlzYWJsZWQoe1xuICAgICAgICAgIGVuZHBvaW50czogZ2xvYmFsQ29uZmlnLmVuZHBvaW50cyxcbiAgICAgICAgICByZXF1ZXN0LFxuICAgICAgICB9KVxuICAgICAgICBpZiAoZGlzYWJsZUVuZHBvaW50cykgcmV0dXJuIGRpc2FibGVFbmRwb2ludHNcblxuICAgICAgICBjb25zdCBjdXN0b21FbmRwb2ludFJlc3BvbnNlID0gYXdhaXQgaGFuZGxlQ3VzdG9tRW5kcG9pbnRzKHtcbiAgICAgICAgICBlbmRwb2ludHM6IGdsb2JhbENvbmZpZy5lbmRwb2ludHMsXG4gICAgICAgICAgZW50aXR5U2x1ZzogYCR7c2x1ZzF9LyR7c2x1ZzJ9YCxcbiAgICAgICAgICBwYXlsb2FkUmVxdWVzdDogcmVxLFxuICAgICAgICB9KVxuICAgICAgICBpZiAoY3VzdG9tRW5kcG9pbnRSZXNwb25zZSkgcmV0dXJuIGN1c3RvbUVuZHBvaW50UmVzcG9uc2VcblxuICAgICAgICBzd2l0Y2ggKHNsdWcubGVuZ3RoKSB7XG4gICAgICAgICAgY2FzZSAyOlxuICAgICAgICAgICAgLy8gL2dsb2JhbHMvOnNsdWdcbiAgICAgICAgICAgIHJlcyA9IGF3YWl0IGVuZHBvaW50cy5nbG9iYWwuR0VULmZpbmRPbmUoeyBnbG9iYWxDb25maWcsIHJlcSB9KVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgICBpZiAoYGRvYy0ke3NsdWczfWAgaW4gZW5kcG9pbnRzLmdsb2JhbC5HRVQpIHtcbiAgICAgICAgICAgICAgLy8gL2dsb2JhbHMvOnNsdWcvYWNjZXNzXG4gICAgICAgICAgICAgIC8vIC9nbG9iYWxzLzpzbHVnL3ZlcnNpb25zXG4gICAgICAgICAgICAgIHJlcyA9IGF3YWl0IChlbmRwb2ludHMuZ2xvYmFsLkdFVD8uW2Bkb2MtJHtzbHVnM31gXSBhcyBHbG9iYWxSb3V0ZUhhbmRsZXIpKHtcbiAgICAgICAgICAgICAgICBnbG9iYWxDb25maWcsXG4gICAgICAgICAgICAgICAgcmVxLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICBjYXNlIDQ6XG4gICAgICAgICAgICBpZiAoYGRvYy0ke3NsdWczfS1ieS1pZGAgaW4gZW5kcG9pbnRzLmdsb2JhbC5HRVQpIHtcbiAgICAgICAgICAgICAgLy8gL2dsb2JhbHMvOnNsdWcvdmVyc2lvbnMvOmlkXG4gICAgICAgICAgICAgIHJlcyA9IGF3YWl0IChcbiAgICAgICAgICAgICAgICBlbmRwb2ludHMuZ2xvYmFsLkdFVD8uW2Bkb2MtJHtzbHVnM30tYnktaWRgXSBhcyBHbG9iYWxSb3V0ZUhhbmRsZXJXaXRoSURcbiAgICAgICAgICAgICAgKSh7XG4gICAgICAgICAgICAgICAgaWQ6IHNsdWc0LFxuICAgICAgICAgICAgICAgIGdsb2JhbENvbmZpZyxcbiAgICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHNsdWcubGVuZ3RoID09PSAxICYmIHNsdWcxIGluIGVuZHBvaW50cy5yb290LkdFVCkge1xuICAgICAgICByZXMgPSBhd2FpdCBlbmRwb2ludHMucm9vdC5HRVRbc2x1ZzFdKHsgcmVxIH0pXG4gICAgICB9XG5cbiAgICAgIGlmIChyZXMgaW5zdGFuY2VvZiBSZXNwb25zZSkgcmV0dXJuIHJlc1xuXG4gICAgICAvLyByb290IHJvdXRlc1xuICAgICAgY29uc3QgY3VzdG9tRW5kcG9pbnRSZXNwb25zZSA9IGF3YWl0IGhhbmRsZUN1c3RvbUVuZHBvaW50cyh7XG4gICAgICAgIGVuZHBvaW50czogcmVxLnBheWxvYWQuY29uZmlnLmVuZHBvaW50cyxcbiAgICAgICAgcGF5bG9hZFJlcXVlc3Q6IHJlcSxcbiAgICAgIH0pXG4gICAgICBpZiAoY3VzdG9tRW5kcG9pbnRSZXNwb25zZSkgcmV0dXJuIGN1c3RvbUVuZHBvaW50UmVzcG9uc2VcblxuICAgICAgcmV0dXJuIFJvdXRlTm90Rm91bmRSZXNwb25zZShzbHVnKVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gUm91dGVFcnJvcih7XG4gICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgIGVycjogZXJyb3IsXG4gICAgICAgIHJlcSxcbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbmV4cG9ydCBjb25zdCBQT1NUID1cbiAgKGNvbmZpZzogUHJvbWlzZTxTYW5pdGl6ZWRDb25maWc+IHwgU2FuaXRpemVkQ29uZmlnKSA9PlxuICBhc3luYyAocmVxdWVzdDogUmVxdWVzdCwgeyBwYXJhbXM6IHsgc2x1ZyB9IH06IHsgcGFyYW1zOiB7IHNsdWc6IHN0cmluZ1tdIH0gfSkgPT4ge1xuICAgIGNvbnN0IFtzbHVnMSwgc2x1ZzIsIHNsdWczLCBzbHVnNF0gPSBzbHVnXG4gICAgbGV0IHJlcTogUGF5bG9hZFJlcXVlc3RcbiAgICBsZXQgcmVzOiBSZXNwb25zZVxuICAgIGxldCBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uXG5cbiAgICB0cnkge1xuICAgICAgcmVxID0gYXdhaXQgY3JlYXRlUGF5bG9hZFJlcXVlc3Qoe1xuICAgICAgICBjb25maWcsXG4gICAgICAgIHBhcmFtczogeyBjb2xsZWN0aW9uOiBzbHVnMSB9LFxuICAgICAgICByZXF1ZXN0LFxuICAgICAgfSlcblxuICAgICAgY29sbGVjdGlvbiA9IHJlcS5wYXlsb2FkLmNvbGxlY3Rpb25zPy5bc2x1ZzFdXG5cbiAgICAgIGNvbnN0IGRpc2FibGVFbmRwb2ludHMgPSBlbmRwb2ludHNBcmVEaXNhYmxlZCh7XG4gICAgICAgIGVuZHBvaW50czogcmVxLnBheWxvYWQuY29uZmlnLmVuZHBvaW50cyxcbiAgICAgICAgcmVxdWVzdCxcbiAgICAgIH0pXG4gICAgICBpZiAoZGlzYWJsZUVuZHBvaW50cykgcmV0dXJuIGRpc2FibGVFbmRwb2ludHNcblxuICAgICAgaWYgKGNvbGxlY3Rpb24pIHtcbiAgICAgICAgY29uc3QgZGlzYWJsZUVuZHBvaW50cyA9IGVuZHBvaW50c0FyZURpc2FibGVkKHtcbiAgICAgICAgICBlbmRwb2ludHM6IGNvbGxlY3Rpb24uY29uZmlnLmVuZHBvaW50cyxcbiAgICAgICAgICByZXF1ZXN0LFxuICAgICAgICB9KVxuICAgICAgICBpZiAoZGlzYWJsZUVuZHBvaW50cykgcmV0dXJuIGRpc2FibGVFbmRwb2ludHNcblxuICAgICAgICBjb25zdCBjdXN0b21FbmRwb2ludFJlc3BvbnNlID0gYXdhaXQgaGFuZGxlQ3VzdG9tRW5kcG9pbnRzKHtcbiAgICAgICAgICBlbmRwb2ludHM6IGNvbGxlY3Rpb24uY29uZmlnLmVuZHBvaW50cyxcbiAgICAgICAgICBlbnRpdHlTbHVnOiBzbHVnMSxcbiAgICAgICAgICBwYXlsb2FkUmVxdWVzdDogcmVxLFxuICAgICAgICB9KVxuXG4gICAgICAgIGlmIChjdXN0b21FbmRwb2ludFJlc3BvbnNlKSByZXR1cm4gY3VzdG9tRW5kcG9pbnRSZXNwb25zZVxuXG4gICAgICAgIHN3aXRjaCAoc2x1Zy5sZW5ndGgpIHtcbiAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAvLyAvOmNvbGxlY3Rpb25cbiAgICAgICAgICAgIHJlcyA9IGF3YWl0IGVuZHBvaW50cy5jb2xsZWN0aW9uLlBPU1QuY3JlYXRlKHsgY29sbGVjdGlvbiwgcmVxIH0pXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGNhc2UgMjpcbiAgICAgICAgICAgIGlmIChzbHVnMiBpbiBlbmRwb2ludHMuY29sbGVjdGlvbi5QT1NUKSB7XG4gICAgICAgICAgICAgIC8vIC86Y29sbGVjdGlvbi9sb2dpblxuICAgICAgICAgICAgICAvLyAvOmNvbGxlY3Rpb24vbG9nb3V0XG4gICAgICAgICAgICAgIC8vIC86Y29sbGVjdGlvbi91bmxvY2tcbiAgICAgICAgICAgICAgLy8gLzpjb2xsZWN0aW9uL2FjY2Vzc1xuICAgICAgICAgICAgICAvLyAvOmNvbGxlY3Rpb24vZmlyc3QtcmVnaXN0ZXJcbiAgICAgICAgICAgICAgLy8gLzpjb2xsZWN0aW9uL2ZvcmdvdC1wYXNzd29yZFxuICAgICAgICAgICAgICAvLyAvOmNvbGxlY3Rpb24vcmVzZXQtcGFzc3dvcmRcbiAgICAgICAgICAgICAgLy8gLzpjb2xsZWN0aW9uL3JlZnJlc2gtdG9rZW5cblxuICAgICAgICAgICAgICByZXMgPSBhd2FpdCAoZW5kcG9pbnRzLmNvbGxlY3Rpb24uUE9TVD8uW3NsdWcyXSBhcyBDb2xsZWN0aW9uUm91dGVIYW5kbGVyKSh7XG4gICAgICAgICAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGNhc2UgMzpcbiAgICAgICAgICAgIGlmIChgZG9jLSR7c2x1ZzJ9LWJ5LWlkYCBpbiBlbmRwb2ludHMuY29sbGVjdGlvbi5QT1NUKSB7XG4gICAgICAgICAgICAgIC8vIC86Y29sbGVjdGlvbi9hY2Nlc3MvOmlkXG4gICAgICAgICAgICAgIC8vIC86Y29sbGVjdGlvbi92ZXJzaW9ucy86aWRcbiAgICAgICAgICAgICAgLy8gLzpjb2xsZWN0aW9uL3ZlcmlmeS86dG9rZW4gKFwiZG9jLXZlcmlmeS1ieS1pZFwiIHVzZXMgaWQgYXMgdG9rZW4gaW50ZXJuYWxseSlcbiAgICAgICAgICAgICAgcmVzID0gYXdhaXQgKFxuICAgICAgICAgICAgICAgIGVuZHBvaW50cy5jb2xsZWN0aW9uLlBPU1RbYGRvYy0ke3NsdWcyfS1ieS1pZGBdIGFzIENvbGxlY3Rpb25Sb3V0ZUhhbmRsZXJXaXRoSURcbiAgICAgICAgICAgICAgKSh7IGlkOiBzbHVnMywgY29sbGVjdGlvbiwgcmVxIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHNsdWcxID09PSAnZ2xvYmFscycgJiYgc2x1ZzIpIHtcbiAgICAgICAgY29uc3QgZ2xvYmFsQ29uZmlnID0gcmVxLnBheWxvYWQuY29uZmlnLmdsb2JhbHMuZmluZCgoZ2xvYmFsKSA9PiBnbG9iYWwuc2x1ZyA9PT0gc2x1ZzIpXG4gICAgICAgIGNvbnN0IGRpc2FibGVFbmRwb2ludHMgPSBlbmRwb2ludHNBcmVEaXNhYmxlZCh7XG4gICAgICAgICAgZW5kcG9pbnRzOiBnbG9iYWxDb25maWcuZW5kcG9pbnRzLFxuICAgICAgICAgIHJlcXVlc3QsXG4gICAgICAgIH0pXG4gICAgICAgIGlmIChkaXNhYmxlRW5kcG9pbnRzKSByZXR1cm4gZGlzYWJsZUVuZHBvaW50c1xuXG4gICAgICAgIGNvbnN0IGN1c3RvbUVuZHBvaW50UmVzcG9uc2UgPSBhd2FpdCBoYW5kbGVDdXN0b21FbmRwb2ludHMoe1xuICAgICAgICAgIGVuZHBvaW50czogZ2xvYmFsQ29uZmlnLmVuZHBvaW50cyxcbiAgICAgICAgICBlbnRpdHlTbHVnOiBgJHtzbHVnMX0vJHtzbHVnMn1gLFxuICAgICAgICAgIHBheWxvYWRSZXF1ZXN0OiByZXEsXG4gICAgICAgIH0pXG4gICAgICAgIGlmIChjdXN0b21FbmRwb2ludFJlc3BvbnNlKSByZXR1cm4gY3VzdG9tRW5kcG9pbnRSZXNwb25zZVxuXG4gICAgICAgIHN3aXRjaCAoc2x1Zy5sZW5ndGgpIHtcbiAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAvLyAvZ2xvYmFscy86c2x1Z1xuICAgICAgICAgICAgcmVzID0gYXdhaXQgZW5kcG9pbnRzLmdsb2JhbC5QT1NULnVwZGF0ZSh7IGdsb2JhbENvbmZpZywgcmVxIH0pXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGNhc2UgMzpcbiAgICAgICAgICAgIGlmIChgZG9jLSR7c2x1ZzN9YCBpbiBlbmRwb2ludHMuZ2xvYmFsLlBPU1QpIHtcbiAgICAgICAgICAgICAgLy8gL2dsb2JhbHMvOnNsdWcvYWNjZXNzXG4gICAgICAgICAgICAgIHJlcyA9IGF3YWl0IChlbmRwb2ludHMuZ2xvYmFsLlBPU1Q/LltgZG9jLSR7c2x1ZzN9YF0gYXMgR2xvYmFsUm91dGVIYW5kbGVyKSh7XG4gICAgICAgICAgICAgICAgZ2xvYmFsQ29uZmlnLFxuICAgICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgY2FzZSA0OlxuICAgICAgICAgICAgaWYgKGBkb2MtJHtzbHVnM30tYnktaWRgIGluIGVuZHBvaW50cy5nbG9iYWwuUE9TVCkge1xuICAgICAgICAgICAgICAvLyAvZ2xvYmFscy86c2x1Zy92ZXJzaW9ucy86aWRcbiAgICAgICAgICAgICAgcmVzID0gYXdhaXQgKFxuICAgICAgICAgICAgICAgIGVuZHBvaW50cy5nbG9iYWwuUE9TVD8uW2Bkb2MtJHtzbHVnM30tYnktaWRgXSBhcyBHbG9iYWxSb3V0ZUhhbmRsZXJXaXRoSURcbiAgICAgICAgICAgICAgKSh7XG4gICAgICAgICAgICAgICAgaWQ6IHNsdWc0LFxuICAgICAgICAgICAgICAgIGdsb2JhbENvbmZpZyxcbiAgICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXMgPSBuZXcgUmVzcG9uc2UoJ1JvdXRlIE5vdCBGb3VuZCcsIHsgc3RhdHVzOiA0MDQgfSlcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChzbHVnLmxlbmd0aCA9PT0gMSAmJiBzbHVnMSBpbiBlbmRwb2ludHMucm9vdC5QT1NUKSB7XG4gICAgICAgIHJlcyA9IGF3YWl0IGVuZHBvaW50cy5yb290LlBPU1Rbc2x1ZzFdKHsgcmVxIH0pXG4gICAgICB9XG5cbiAgICAgIGlmIChyZXMgaW5zdGFuY2VvZiBSZXNwb25zZSkgcmV0dXJuIHJlc1xuXG4gICAgICAvLyByb290IHJvdXRlc1xuICAgICAgY29uc3QgY3VzdG9tRW5kcG9pbnRSZXNwb25zZSA9IGF3YWl0IGhhbmRsZUN1c3RvbUVuZHBvaW50cyh7XG4gICAgICAgIGVuZHBvaW50czogcmVxLnBheWxvYWQuY29uZmlnLmVuZHBvaW50cyxcbiAgICAgICAgcGF5bG9hZFJlcXVlc3Q6IHJlcSxcbiAgICAgIH0pXG4gICAgICBpZiAoY3VzdG9tRW5kcG9pbnRSZXNwb25zZSkgcmV0dXJuIGN1c3RvbUVuZHBvaW50UmVzcG9uc2VcblxuICAgICAgcmV0dXJuIFJvdXRlTm90Rm91bmRSZXNwb25zZShzbHVnKVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gUm91dGVFcnJvcih7XG4gICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgIGVycjogZXJyb3IsXG4gICAgICAgIHJlcSxcbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbmV4cG9ydCBjb25zdCBERUxFVEUgPVxuICAoY29uZmlnOiBQcm9taXNlPFNhbml0aXplZENvbmZpZz4gfCBTYW5pdGl6ZWRDb25maWcpID0+XG4gIGFzeW5jIChyZXF1ZXN0OiBSZXF1ZXN0LCB7IHBhcmFtczogeyBzbHVnIH0gfTogeyBwYXJhbXM6IHsgc2x1Zzogc3RyaW5nW10gfSB9KSA9PiB7XG4gICAgY29uc3QgW3NsdWcxLCBzbHVnMl0gPSBzbHVnXG4gICAgbGV0IHJlcTogUGF5bG9hZFJlcXVlc3RcbiAgICBsZXQgcmVzOiBSZXNwb25zZVxuICAgIGxldCBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uXG5cbiAgICB0cnkge1xuICAgICAgcmVxID0gYXdhaXQgY3JlYXRlUGF5bG9hZFJlcXVlc3Qoe1xuICAgICAgICBjb25maWcsXG4gICAgICAgIHBhcmFtczoge1xuICAgICAgICAgIGNvbGxlY3Rpb246IHNsdWcxLFxuICAgICAgICB9LFxuICAgICAgICByZXF1ZXN0LFxuICAgICAgfSlcbiAgICAgIGNvbGxlY3Rpb24gPSByZXEucGF5bG9hZC5jb2xsZWN0aW9ucz8uW3NsdWcxXVxuXG4gICAgICBjb25zdCBkaXNhYmxlRW5kcG9pbnRzID0gZW5kcG9pbnRzQXJlRGlzYWJsZWQoe1xuICAgICAgICBlbmRwb2ludHM6IHJlcS5wYXlsb2FkLmNvbmZpZy5lbmRwb2ludHMsXG4gICAgICAgIHJlcXVlc3QsXG4gICAgICB9KVxuICAgICAgaWYgKGRpc2FibGVFbmRwb2ludHMpIHJldHVybiBkaXNhYmxlRW5kcG9pbnRzXG5cbiAgICAgIGlmIChjb2xsZWN0aW9uKSB7XG4gICAgICAgIGNvbnN0IGRpc2FibGVFbmRwb2ludHMgPSBlbmRwb2ludHNBcmVEaXNhYmxlZCh7XG4gICAgICAgICAgZW5kcG9pbnRzOiBjb2xsZWN0aW9uLmNvbmZpZy5lbmRwb2ludHMsXG4gICAgICAgICAgcmVxdWVzdCxcbiAgICAgICAgfSlcbiAgICAgICAgaWYgKGRpc2FibGVFbmRwb2ludHMpIHJldHVybiBkaXNhYmxlRW5kcG9pbnRzXG5cbiAgICAgICAgY29uc3QgY3VzdG9tRW5kcG9pbnRSZXNwb25zZSA9IGF3YWl0IGhhbmRsZUN1c3RvbUVuZHBvaW50cyh7XG4gICAgICAgICAgZW5kcG9pbnRzOiBjb2xsZWN0aW9uLmNvbmZpZy5lbmRwb2ludHMsXG4gICAgICAgICAgZW50aXR5U2x1Zzogc2x1ZzEsXG4gICAgICAgICAgcGF5bG9hZFJlcXVlc3Q6IHJlcSxcbiAgICAgICAgfSlcbiAgICAgICAgaWYgKGN1c3RvbUVuZHBvaW50UmVzcG9uc2UpIHJldHVybiBjdXN0b21FbmRwb2ludFJlc3BvbnNlXG5cbiAgICAgICAgc3dpdGNoIChzbHVnLmxlbmd0aCkge1xuICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgIC8vIC86Y29sbGVjdGlvblxuICAgICAgICAgICAgcmVzID0gYXdhaXQgZW5kcG9pbnRzLmNvbGxlY3Rpb24uREVMRVRFLmRlbGV0ZSh7IGNvbGxlY3Rpb24sIHJlcSB9KVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAvLyAvOmNvbGxlY3Rpb24vOmlkXG4gICAgICAgICAgICByZXMgPSBhd2FpdCBlbmRwb2ludHMuY29sbGVjdGlvbi5ERUxFVEUuZGVsZXRlQnlJRCh7IGlkOiBzbHVnMiwgY29sbGVjdGlvbiwgcmVxIH0pXG4gICAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChyZXMgaW5zdGFuY2VvZiBSZXNwb25zZSkgcmV0dXJuIHJlc1xuXG4gICAgICAvLyByb290IHJvdXRlc1xuICAgICAgY29uc3QgY3VzdG9tRW5kcG9pbnRSZXNwb25zZSA9IGF3YWl0IGhhbmRsZUN1c3RvbUVuZHBvaW50cyh7XG4gICAgICAgIGVuZHBvaW50czogcmVxLnBheWxvYWQuY29uZmlnLmVuZHBvaW50cyxcbiAgICAgICAgcGF5bG9hZFJlcXVlc3Q6IHJlcSxcbiAgICAgIH0pXG4gICAgICBpZiAoY3VzdG9tRW5kcG9pbnRSZXNwb25zZSkgcmV0dXJuIGN1c3RvbUVuZHBvaW50UmVzcG9uc2VcblxuICAgICAgcmV0dXJuIFJvdXRlTm90Rm91bmRSZXNwb25zZShzbHVnKVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gUm91dGVFcnJvcih7XG4gICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgIGVycjogZXJyb3IsXG4gICAgICAgIHJlcSxcbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbmV4cG9ydCBjb25zdCBQQVRDSCA9XG4gIChjb25maWc6IFByb21pc2U8U2FuaXRpemVkQ29uZmlnPiB8IFNhbml0aXplZENvbmZpZykgPT5cbiAgYXN5bmMgKHJlcXVlc3Q6IFJlcXVlc3QsIHsgcGFyYW1zOiB7IHNsdWcgfSB9OiB7IHBhcmFtczogeyBzbHVnOiBzdHJpbmdbXSB9IH0pID0+IHtcbiAgICBjb25zdCBbc2x1ZzEsIHNsdWcyXSA9IHNsdWdcbiAgICBsZXQgcmVxOiBQYXlsb2FkUmVxdWVzdFxuICAgIGxldCByZXM6IFJlc3BvbnNlXG4gICAgbGV0IGNvbGxlY3Rpb246IENvbGxlY3Rpb25cblxuICAgIHRyeSB7XG4gICAgICByZXEgPSBhd2FpdCBjcmVhdGVQYXlsb2FkUmVxdWVzdCh7XG4gICAgICAgIGNvbmZpZyxcbiAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgY29sbGVjdGlvbjogc2x1ZzEsXG4gICAgICAgIH0sXG4gICAgICAgIHJlcXVlc3QsXG4gICAgICB9KVxuICAgICAgY29sbGVjdGlvbiA9IHJlcS5wYXlsb2FkLmNvbGxlY3Rpb25zPy5bc2x1ZzFdXG5cbiAgICAgIGNvbnN0IGRpc2FibGVFbmRwb2ludHMgPSBlbmRwb2ludHNBcmVEaXNhYmxlZCh7XG4gICAgICAgIGVuZHBvaW50czogcmVxLnBheWxvYWQuY29uZmlnLmVuZHBvaW50cyxcbiAgICAgICAgcmVxdWVzdCxcbiAgICAgIH0pXG4gICAgICBpZiAoZGlzYWJsZUVuZHBvaW50cykgcmV0dXJuIGRpc2FibGVFbmRwb2ludHNcblxuICAgICAgaWYgKGNvbGxlY3Rpb24pIHtcbiAgICAgICAgY29uc3QgZGlzYWJsZUVuZHBvaW50cyA9IGVuZHBvaW50c0FyZURpc2FibGVkKHtcbiAgICAgICAgICBlbmRwb2ludHM6IGNvbGxlY3Rpb24uY29uZmlnLmVuZHBvaW50cyxcbiAgICAgICAgICByZXF1ZXN0LFxuICAgICAgICB9KVxuICAgICAgICBpZiAoZGlzYWJsZUVuZHBvaW50cykgcmV0dXJuIGRpc2FibGVFbmRwb2ludHNcblxuICAgICAgICBjb25zdCBjdXN0b21FbmRwb2ludFJlc3BvbnNlID0gYXdhaXQgaGFuZGxlQ3VzdG9tRW5kcG9pbnRzKHtcbiAgICAgICAgICBlbmRwb2ludHM6IGNvbGxlY3Rpb24uY29uZmlnLmVuZHBvaW50cyxcbiAgICAgICAgICBlbnRpdHlTbHVnOiBzbHVnMSxcbiAgICAgICAgICBwYXlsb2FkUmVxdWVzdDogcmVxLFxuICAgICAgICB9KVxuICAgICAgICBpZiAoY3VzdG9tRW5kcG9pbnRSZXNwb25zZSkgcmV0dXJuIGN1c3RvbUVuZHBvaW50UmVzcG9uc2VcblxuICAgICAgICBzd2l0Y2ggKHNsdWcubGVuZ3RoKSB7XG4gICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgLy8gLzpjb2xsZWN0aW9uXG4gICAgICAgICAgICByZXMgPSBhd2FpdCBlbmRwb2ludHMuY29sbGVjdGlvbi5QQVRDSC51cGRhdGUoeyBjb2xsZWN0aW9uLCByZXEgfSlcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgY2FzZSAyOlxuICAgICAgICAgICAgLy8gLzpjb2xsZWN0aW9uLzppZFxuICAgICAgICAgICAgcmVzID0gYXdhaXQgZW5kcG9pbnRzLmNvbGxlY3Rpb24uUEFUQ0gudXBkYXRlQnlJRCh7IGlkOiBzbHVnMiwgY29sbGVjdGlvbiwgcmVxIH0pXG4gICAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChyZXMgaW5zdGFuY2VvZiBSZXNwb25zZSkgcmV0dXJuIHJlc1xuXG4gICAgICAvLyByb290IHJvdXRlc1xuICAgICAgY29uc3QgY3VzdG9tRW5kcG9pbnRSZXNwb25zZSA9IGF3YWl0IGhhbmRsZUN1c3RvbUVuZHBvaW50cyh7XG4gICAgICAgIGVuZHBvaW50czogcmVxLnBheWxvYWQuY29uZmlnLmVuZHBvaW50cyxcbiAgICAgICAgcGF5bG9hZFJlcXVlc3Q6IHJlcSxcbiAgICAgIH0pXG4gICAgICBpZiAoY3VzdG9tRW5kcG9pbnRSZXNwb25zZSkgcmV0dXJuIGN1c3RvbUVuZHBvaW50UmVzcG9uc2VcblxuICAgICAgcmV0dXJuIFJvdXRlTm90Rm91bmRSZXNwb25zZShzbHVnKVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gUm91dGVFcnJvcih7XG4gICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgIGVycjogZXJyb3IsXG4gICAgICAgIHJlcSxcbiAgICAgIH0pXG4gICAgfVxuICB9XG4iXSwibmFtZXMiOlsiaHR0cFN0YXR1cyIsIm1hdGNoIiwiY3JlYXRlUGF5bG9hZFJlcXVlc3QiLCJSb3V0ZUVycm9yIiwiYWNjZXNzIiwiZm9yZ290UGFzc3dvcmQiLCJpbml0IiwibG9naW4iLCJsb2dvdXQiLCJtZSIsInJlZnJlc2giLCJyZWdpc3RlckZpcnN0VXNlciIsInJlc2V0UGFzc3dvcmQiLCJ1bmxvY2siLCJ2ZXJpZnlFbWFpbCIsImJ1aWxkRm9ybVN0YXRlIiwiZW5kcG9pbnRzQXJlRGlzYWJsZWQiLCJjcmVhdGUiLCJkZWxldGVEb2MiLCJkZWxldGVCeUlEIiwiZG9jQWNjZXNzIiwiZmluZCIsImZpbmRCeUlEIiwiZmluZFZlcnNpb25CeUlEIiwiZmluZFZlcnNpb25zIiwicmVzdG9yZVZlcnNpb24iLCJ1cGRhdGUiLCJ1cGRhdGVCeUlEIiwiZG9jQWNjZXNzR2xvYmFsIiwiZmluZE9uZSIsImZpbmRWZXJzaW9uQnlJZEdsb2JhbCIsImZpbmRWZXJzaW9uc0dsb2JhbCIsInJlc3RvcmVWZXJzaW9uR2xvYmFsIiwidXBkYXRlR2xvYmFsIiwiZW5kcG9pbnRzIiwiY29sbGVjdGlvbiIsIkRFTEVURSIsImRlbGV0ZSIsIkdFVCIsInZlcnNpb25zIiwiUEFUQ0giLCJQT1NUIiwiZ2xvYmFsIiwicm9vdCIsImhhbmRsZUN1c3RvbUVuZHBvaW50cyIsImVudGl0eVNsdWciLCJwYXlsb2FkUmVxdWVzdCIsImxlbmd0aCIsImhhbmRsZXJQYXJhbXMiLCJwYXRobmFtZSIsInBhdGhQcmVmaXgiLCJwYXlsb2FkIiwiY29uZmlnIiwicm91dGVzIiwiYXBpIiwiY3VzdG9tRW5kcG9pbnQiLCJlbmRwb2ludCIsIm1ldGhvZCIsInRvTG93ZXJDYXNlIiwicGF0aE1hdGNoRm4iLCJwYXRoIiwiZGVjb2RlIiwiZGVjb2RlVVJJQ29tcG9uZW50IiwidGVtcFBhcmFtcyIsInBhcmFtcyIsInJvdXRlUGFyYW1zIiwiaGFuZGxlciIsIlJvdXRlTm90Rm91bmRSZXNwb25zZSIsInNsdWciLCJSZXNwb25zZSIsImpzb24iLCJtZXNzYWdlIiwiam9pbiIsInN0YXR1cyIsIk5PVF9GT1VORCIsInJlcXVlc3QiLCJzbHVnMSIsInNsdWcyIiwic2x1ZzMiLCJzbHVnNCIsInJlcSIsInJlcyIsImRpc2FibGVFbmRwb2ludHMiLCJjb2xsZWN0aW9ucyIsImN1c3RvbUVuZHBvaW50UmVzcG9uc2UiLCJpZCIsImdsb2JhbENv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
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
1
|
+
export { };
|
|
5
2
|
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yb3V0ZXMvcmVzdC90eXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbGxlY3Rpb24sIFBheWxvYWRSZXF1ZXN0LCBTYW5pdGl6ZWRHbG9iYWxDb25maWcgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5leHBvcnQgdHlwZSBCYXNlUm91dGVIYW5kbGVyID0gKHsgcmVxIH06IHsgcmVxOiBQYXlsb2FkUmVxdWVzdCB9KSA9PiBQcm9taXNlPFJlc3BvbnNlPiB8IFJlc3BvbnNlXG5cbmV4cG9ydCB0eXBlIENvbGxlY3Rpb25Sb3V0ZUhhbmRsZXIgPSAoe1xuICBjb2xsZWN0aW9uLFxuICByZXEsXG59OiB7XG4gIGNvbGxlY3Rpb246IENvbGxlY3Rpb25cbiAgcmVxOiBQYXlsb2FkUmVxdWVzdFxufSkgPT4gUHJvbWlzZTxSZXNwb25zZT4gfCBSZXNwb25zZVxuXG5leHBvcnQgdHlwZSBDb2xsZWN0aW9uUm91dGVIYW5kbGVyV2l0aElEID0gKHtcbiAgaWQsXG4gIGNvbGxlY3Rpb24sXG4gIHJlcSxcbn06IHtcbiAgY29sbGVjdGlvbjogQ29sbGVjdGlvblxuICBpZDogc3RyaW5nXG4gIHJlcTogUGF5bG9hZFJlcXVlc3Rcbn0pID0+IFByb21pc2U8UmVzcG9uc2U+IHwgUmVzcG9uc2VcblxuZXhwb3J0IHR5cGUgR2xvYmFsUm91dGVIYW5kbGVyID0gKHtcbiAgZ2xvYmFsQ29uZmlnLFxuICByZXEsXG59OiB7XG4gIGdsb2JhbENvbmZpZzogU2FuaXRpemVkR2xvYmFsQ29uZmlnXG4gIHJlcTogUGF5bG9hZFJlcXVlc3Rcbn0pID0+IFByb21pc2U8UmVzcG9uc2U+IHwgUmVzcG9uc2VcblxuZXhwb3J0IHR5cGUgR2xvYmFsUm91dGVIYW5kbGVyV2l0aElEID0gKHtcbiAgaWQsXG4gIGdsb2JhbENvbmZpZyxcbiAgcmVxLFxufToge1xuICBnbG9iYWxDb25maWc6IFNhbml0aXplZEdsb2JhbENvbmZpZ1xuICBpZDogc3RyaW5nXG4gIHJlcTogUGF5bG9hZFJlcXVlc3Rcbn0pID0+IFByb21pc2U8UmVzcG9uc2U+IHwgUmVzcG9uc2VcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4QkEsV0FRa0MifQ==
|
package/dist/utilities/auth.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare const auth: ({
|
|
3
|
-
config: Promise<SanitizedConfig> | SanitizedConfig;
|
|
1
|
+
import type { Payload } from 'payload/types';
|
|
2
|
+
export declare const auth: ({ headers, payload }: {
|
|
4
3
|
headers: Request['headers'];
|
|
4
|
+
payload: Payload;
|
|
5
5
|
}) => Promise<{
|
|
6
6
|
cookies: Map<string, string>;
|
|
7
7
|
permissions: import("payload/auth").Permissions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/utilities/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/utilities/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAkB,MAAM,eAAe,CAAA;AAK5D,eAAO,MAAM,IAAI;aACyB,OAAO,CAAC,SAAS,CAAC;;;;;;EA2B3D,CAAA"}
|
package/dist/utilities/auth.js
CHANGED
|
@@ -1,27 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return auth;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _payload = require("payload");
|
|
12
|
-
const _auth = require("payload/auth");
|
|
13
|
-
const _react = require("react");
|
|
14
|
-
const auth = (0, _react.cache)(async ({ config, headers })=>{
|
|
15
|
-
const cookies = (0, _auth.parseCookies)(headers);
|
|
16
|
-
const payload = await (0, _payload.getPayload)({
|
|
17
|
-
config
|
|
18
|
-
});
|
|
19
|
-
const user = await (0, _auth.getAuthenticatedUser)({
|
|
1
|
+
import { getAccessResults, getAuthenticatedUser, parseCookies } from 'payload/auth';
|
|
2
|
+
import { cache } from 'react';
|
|
3
|
+
export const auth = cache(async ({ headers, payload })=>{
|
|
4
|
+
const cookies = parseCookies(headers);
|
|
5
|
+
const user = await getAuthenticatedUser({
|
|
20
6
|
cookies,
|
|
21
7
|
headers,
|
|
22
8
|
payload
|
|
23
9
|
});
|
|
24
|
-
const permissions = await
|
|
10
|
+
const permissions = await getAccessResults({
|
|
25
11
|
req: {
|
|
26
12
|
context: {},
|
|
27
13
|
headers,
|
|
@@ -39,4 +25,4 @@ const auth = (0, _react.cache)(async ({ config, headers })=>{
|
|
|
39
25
|
};
|
|
40
26
|
});
|
|
41
27
|
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYXV0aC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFBheWxvYWQsIFBheWxvYWRSZXF1ZXN0IH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgZ2V0QWNjZXNzUmVzdWx0cywgZ2V0QXV0aGVudGljYXRlZFVzZXIsIHBhcnNlQ29va2llcyB9IGZyb20gJ3BheWxvYWQvYXV0aCdcbmltcG9ydCB7IGNhY2hlIH0gZnJvbSAncmVhY3QnXG5cbmV4cG9ydCBjb25zdCBhdXRoID0gY2FjaGUoXG4gIGFzeW5jICh7IGhlYWRlcnMsIHBheWxvYWQgfTogeyBoZWFkZXJzOiBSZXF1ZXN0WydoZWFkZXJzJ107IHBheWxvYWQ6IFBheWxvYWQgfSkgPT4ge1xuICAgIGNvbnN0IGNvb2tpZXMgPSBwYXJzZUNvb2tpZXMoaGVhZGVycylcblxuICAgIGNvbnN0IHVzZXIgPSBhd2FpdCBnZXRBdXRoZW50aWNhdGVkVXNlcih7XG4gICAgICBjb29raWVzLFxuICAgICAgaGVhZGVycyxcbiAgICAgIHBheWxvYWQsXG4gICAgfSlcblxuICAgIGNvbnN0IHBlcm1pc3Npb25zID0gYXdhaXQgZ2V0QWNjZXNzUmVzdWx0cyh7XG4gICAgICByZXE6IHtcbiAgICAgICAgY29udGV4dDoge30sXG4gICAgICAgIGhlYWRlcnMsXG4gICAgICAgIGkxOG46IHVuZGVmaW5lZCxcbiAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgcGF5bG9hZEFQSTogJ1JFU1QnLFxuICAgICAgICB0OiB1bmRlZmluZWQsXG4gICAgICAgIHVzZXIsXG4gICAgICB9IGFzIFBheWxvYWRSZXF1ZXN0LFxuICAgIH0pXG5cbiAgICByZXR1cm4ge1xuICAgICAgY29va2llcyxcbiAgICAgIHBlcm1pc3Npb25zLFxuICAgICAgdXNlcixcbiAgICB9XG4gIH0sXG4pXG4iXSwibmFtZXMiOlsiZ2V0QWNjZXNzUmVzdWx0cyIsImdldEF1dGhlbnRpY2F0ZWRVc2VyIiwicGFyc2VDb29raWVzIiwiY2FjaGUiLCJhdXRoIiwiaGVhZGVycyIsInBheWxvYWQiLCJjb29raWVzIiwidXNlciIsInBlcm1pc3Npb25zIiwicmVxIiwiY29udGV4dCIsImkxOG4iLCJ1bmRlZmluZWQiLCJwYXlsb2FkQVBJIiwidCJdLCJtYXBwaW5ncyI6IkFBRUEsU0FBU0EsZ0JBQWdCLEVBQUVDLG9CQUFvQixFQUFFQyxZQUFZLFFBQVEsZUFBYztBQUNuRixTQUFTQyxLQUFLLFFBQVEsUUFBTztBQUU3QixPQUFPLE1BQU1DLE9BQU9ELE1BQ2xCLE9BQU8sRUFBRUUsT0FBTyxFQUFFQyxPQUFPLEVBQXFEO0lBQzVFLE1BQU1DLFVBQVVMLGFBQWFHO0lBRTdCLE1BQU1HLE9BQU8sTUFBTVAscUJBQXFCO1FBQ3RDTTtRQUNBRjtRQUNBQztJQUNGO0lBRUEsTUFBTUcsY0FBYyxNQUFNVCxpQkFBaUI7UUFDekNVLEtBQUs7WUFDSEMsU0FBUyxDQUFDO1lBQ1ZOO1lBQ0FPLE1BQU1DO1lBQ05QO1lBQ0FRLFlBQVk7WUFDWkMsR0FBR0Y7WUFDSEw7UUFDRjtJQUNGO0lBRUEsT0FBTztRQUNMRDtRQUNBRTtRQUNBRDtJQUNGO0FBQ0YsR0FDRCJ9
|