From e207c76516956a3878580d5e48b273f49df6ac33 Mon Sep 17 00:00:00 2001 From: "[yxf]" <[1524240689@qq.com]> Date: Fri, 27 Mar 2026 21:33:53 +0800 Subject: [PATCH] Initial commit: cool-admin-midway project --- .cursor/rules/authority.mdc | 242 +++++ .cursor/rules/cache.mdc | 174 ++++ .cursor/rules/controller.mdc | 584 +++++++++++ .cursor/rules/db.mdc | 460 +++++++++ .cursor/rules/event.mdc | 102 ++ .cursor/rules/exception.mdc | 22 + .cursor/rules/module.mdc | 202 ++++ .cursor/rules/service.mdc | 320 ++++++ .cursor/rules/socket.mdc | 127 +++ .cursor/rules/task.mdc | 382 +++++++ .cursor/rules/tenant.mdc | 178 ++++ .cursorrules | 51 + .editorconfig | 11 + .eslintrc.json | 30 + .gitattributes | 4 + .gitignore | 21 + .prettierrc.js | 3 + .vscode/config.code-snippets | 28 + .vscode/controller.code-snippets | 19 + .vscode/entity.code-snippets | 20 + .vscode/event.code-snippets | 21 + .vscode/middleware.code-snippets | 29 + .vscode/queue.code-snippets | 21 + .vscode/service.code-snippets | 33 + Dockerfile | 33 + LICENSE | 33 + README.md | 196 ++++ bootstrap.js | 10 + docker-compose.yml | 40 + jest.config.js | 6 + package.json | 93 ++ public/Thumbs.db | Bin 0 -> 7680 bytes public/css/welcome.css | 92 ++ public/favicon.ico | Bin 0 -> 5837 bytes public/index.html | 30 + public/js/welcome.js | 14 + public/swagger/LICENSE | 202 ++++ public/swagger/NOTICE | 2 + public/swagger/README.md | 22 + public/swagger/absolute-path.js | 14 + public/swagger/favicon-16x16.png | Bin 0 -> 665 bytes public/swagger/favicon-32x32.png | Bin 0 -> 628 bytes public/swagger/index.css | 16 + public/swagger/index.html | 19 + public/swagger/index.js | 17 + public/swagger/oauth2-redirect.html | 79 ++ public/swagger/package.json | 18 + public/swagger/swagger-initializer.js | 20 + public/swagger/swagger-ui-bundle.js | 3 + public/swagger/swagger-ui-bundle.js.map | 1 + public/swagger/swagger-ui-es-bundle-core.js | 3 + .../swagger/swagger-ui-es-bundle-core.js.map | 1 + public/swagger/swagger-ui-es-bundle.js | 3 + public/swagger/swagger-ui-es-bundle.js.map | 1 + .../swagger/swagger-ui-standalone-preset.js | 3 + .../swagger-ui-standalone-preset.js.map | 1 + public/swagger/swagger-ui.css | 3 + public/swagger/swagger-ui.css.map | 1 + public/swagger/swagger-ui.js | 2 + public/swagger/swagger-ui.js.map | 1 + src/comm/path.ts | 66 ++ src/comm/port.ts | 51 + src/comm/utils.ts | 271 +++++ src/config/config.default.ts | 110 ++ src/config/config.local.ts | 43 + src/config/config.prod.ts | 44 + src/configuration.ts | 73 ++ src/entities.ts | 2 + src/interface.ts | 6 + src/modules/base/config.ts | 40 + src/modules/base/controller/admin/coding.ts | 29 + src/modules/base/controller/admin/comm.ts | 99 ++ src/modules/base/controller/admin/open.ts | 98 ++ .../base/controller/admin/sys/department.ts | 32 + src/modules/base/controller/admin/sys/log.ts | 64 ++ src/modules/base/controller/admin/sys/menu.ts | 46 + .../base/controller/admin/sys/param.ts | 34 + src/modules/base/controller/admin/sys/role.ts | 38 + src/modules/base/controller/admin/sys/user.ts | 35 + src/modules/base/controller/app/README.md | 1 + src/modules/base/controller/app/comm.ts | 72 ++ src/modules/base/db.json | 102 ++ src/modules/base/db/tenant.ts | 213 ++++ src/modules/base/dto/login.ts | 21 + src/modules/base/entity/base.ts | 65 ++ src/modules/base/entity/sys/conf.ts | 15 + src/modules/base/entity/sys/department.ts | 23 + src/modules/base/entity/sys/log.ts | 28 + src/modules/base/entity/sys/menu.ts | 47 + src/modules/base/entity/sys/param.ts | 27 + src/modules/base/entity/sys/role.ts | 31 + .../base/entity/sys/role_department.ts | 14 + src/modules/base/entity/sys/role_menu.ts | 14 + src/modules/base/entity/sys/user.ts | 58 ++ src/modules/base/entity/sys/user_role.ts | 14 + src/modules/base/event/app.ts | 45 + src/modules/base/event/menu.ts | 50 + src/modules/base/job/log.ts | 25 + src/modules/base/menu.json | 943 ++++++++++++++++++ src/modules/base/middleware/authority.ts | 153 +++ src/modules/base/middleware/log.ts | 26 + src/modules/base/middleware/translate.ts | 119 +++ src/modules/base/service/coding.ts | 79 ++ src/modules/base/service/sys/conf.ts | 39 + src/modules/base/service/sys/data.ts | 10 + src/modules/base/service/sys/department.ts | 126 +++ src/modules/base/service/sys/log.ts | 62 ++ src/modules/base/service/sys/login.ts | 243 +++++ src/modules/base/service/sys/menu.ts | 463 +++++++++ src/modules/base/service/sys/param.ts | 110 ++ src/modules/base/service/sys/perms.ts | 91 ++ src/modules/base/service/sys/role.ts | 136 +++ src/modules/base/service/sys/user.ts | 237 +++++ src/modules/base/service/translate.ts | 588 +++++++++++ src/modules/cs/config.ts | 14 + src/modules/cs/controller/admin/chat.ts | 26 + src/modules/cs/controller/admin/msg.ts | 67 ++ src/modules/cs/controller/admin/session.ts | 33 + src/modules/cs/controller/app/chat.ts | 30 + src/modules/cs/controller/app/login.ts | 22 + src/modules/cs/controller/app/msg.ts | 62 ++ src/modules/cs/controller/app/session.ts | 26 + src/modules/cs/entity/chat.ts | 33 + src/modules/cs/entity/conn.ts | 18 + src/modules/cs/entity/msg.ts | 39 + src/modules/cs/entity/session.ts | 28 + src/modules/cs/menu.json | 27 + src/modules/cs/service/auth.ts | 26 + src/modules/cs/service/chat.ts | 42 + src/modules/cs/service/conn.ts | 57 ++ src/modules/cs/service/msg.ts | 140 +++ src/modules/cs/service/session.ts | 38 + src/modules/cs/socket/io.ts | 46 + src/modules/cs/socket/middleware/token.ts | 34 + src/modules/demo/config.ts | 19 + src/modules/demo/controller/admin/goods.ts | 27 + src/modules/demo/controller/admin/tenant.ts | 23 + src/modules/demo/controller/open/cache.ts | 37 + src/modules/demo/controller/open/event.ts | 27 + src/modules/demo/controller/open/goods.ts | 35 + src/modules/demo/controller/open/i18n.ts | 20 + src/modules/demo/controller/open/plugin.ts | 29 + src/modules/demo/controller/open/queue.ts | 49 + src/modules/demo/controller/open/rpc.ts | 29 + src/modules/demo/controller/open/sse.ts | 49 + src/modules/demo/controller/open/tenant.ts | 13 + .../demo/controller/open/transaction.ts | 14 + src/modules/demo/entity/goods.ts | 43 + src/modules/demo/event/comm.ts | 27 + src/modules/demo/queue/comm.ts | 20 + src/modules/demo/queue/getter.ts | 7 + src/modules/demo/queue/single.ts | 20 + src/modules/demo/service/cache.ts | 18 + src/modules/demo/service/goods.ts | 43 + src/modules/demo/service/i18n.ts | 29 + src/modules/demo/service/rpc.ts | 70 ++ src/modules/demo/service/tenant.ts | 50 + src/modules/demo/service/transaction.ts | 23 + src/modules/dict/config.ts | 19 + src/modules/dict/controller/admin/info.ts | 41 + src/modules/dict/controller/admin/type.ts | 18 + src/modules/dict/controller/app/info.ts | 32 + src/modules/dict/db.json | 88 ++ src/modules/dict/entity/info.ts | 26 + src/modules/dict/entity/type.ts | 14 + src/modules/dict/service/info.ts | 146 +++ src/modules/dict/service/type.ts | 25 + src/modules/plugin/config.ts | 27 + src/modules/plugin/controller/admin/info.ts | 56 ++ src/modules/plugin/entity/info.ts | 64 ++ src/modules/plugin/event/app.ts | 44 + src/modules/plugin/event/init.ts | 36 + src/modules/plugin/hooks/base.ts | 26 + src/modules/plugin/hooks/upload/index.ts | 204 ++++ src/modules/plugin/hooks/upload/interface.ts | 56 ++ src/modules/plugin/interface.ts | 25 + src/modules/plugin/service/center.ts | 224 +++++ src/modules/plugin/service/info.ts | 474 +++++++++ src/modules/plugin/service/types.ts | 256 +++++ src/modules/recycle/config.ts | 19 + src/modules/recycle/controller/admin/data.ts | 35 + src/modules/recycle/entity/data.ts | 41 + src/modules/recycle/event/data.ts | 21 + src/modules/recycle/schedule/data.ts | 32 + src/modules/recycle/service/data.ts | 84 ++ src/modules/space/config.ts | 24 + src/modules/space/controller/admin/info.ts | 18 + src/modules/space/controller/admin/type.ts | 15 + src/modules/space/controller/说明.md | 1 + src/modules/space/entity/info.ts | 33 + src/modules/space/entity/type.ts | 14 + src/modules/space/service/info.ts | 30 + src/modules/space/service/type.ts | 28 + src/modules/staff/config.ts | 39 + src/modules/staff/controller/admin/info.ts | 16 + src/modules/staff/controller/admin/login.ts | 35 + src/modules/staff/dto/login.ts | 14 + src/modules/staff/entity/info.ts | 63 ++ src/modules/staff/middleware/app.ts | 66 ++ src/modules/staff/service/kefu.ts | 220 ++++ src/modules/swagger/builder.ts | 316 ++++++ src/modules/swagger/config.ts | 50 + src/modules/swagger/controller/index.ts | 35 + src/modules/swagger/event/app.ts | 28 + src/modules/task/config.ts | 23 + src/modules/task/controller/admin/info.ts | 59 ++ src/modules/task/db.json | 40 + src/modules/task/entity/info.ts | 62 ++ src/modules/task/entity/log.ts | 18 + src/modules/task/event/comm.ts | 26 + src/modules/task/middleware/task.ts | 38 + src/modules/task/queue/task.ts | 30 + src/modules/task/service/bull.ts | 341 +++++++ src/modules/task/service/demo.ts | 19 + src/modules/task/service/info.ts | 153 +++ src/modules/task/service/local.ts | 351 +++++++ src/modules/user/config.ts | 34 + src/modules/user/controller/admin/address.ts | 13 + src/modules/user/controller/admin/info.ts | 15 + src/modules/user/controller/app/address.ts | 39 + src/modules/user/controller/app/comm.ts | 25 + src/modules/user/controller/app/info.ts | 65 ++ src/modules/user/controller/app/login.ts | 106 ++ src/modules/user/entity/address.ts | 34 + src/modules/user/entity/info.ts | 37 + src/modules/user/entity/wx.ts | 40 + src/modules/user/middleware/app.ts | 66 ++ src/modules/user/service/address.ts | 63 ++ src/modules/user/service/info.ts | 124 +++ src/modules/user/service/login.ts | 309 ++++++ src/modules/user/service/sms.ts | 79 ++ src/modules/user/service/wx.ts | 281 ++++++ test/README.md | 12 + tsconfig.json | 34 + typings/plugin.d.ts | 8 + typings/upload.d.ts | 56 ++ 236 files changed, 16841 insertions(+) create mode 100644 .cursor/rules/authority.mdc create mode 100644 .cursor/rules/cache.mdc create mode 100644 .cursor/rules/controller.mdc create mode 100644 .cursor/rules/db.mdc create mode 100644 .cursor/rules/event.mdc create mode 100644 .cursor/rules/exception.mdc create mode 100644 .cursor/rules/module.mdc create mode 100644 .cursor/rules/service.mdc create mode 100644 .cursor/rules/socket.mdc create mode 100644 .cursor/rules/task.mdc create mode 100644 .cursor/rules/tenant.mdc create mode 100644 .cursorrules create mode 100644 .editorconfig create mode 100644 .eslintrc.json create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 .prettierrc.js create mode 100644 .vscode/config.code-snippets create mode 100644 .vscode/controller.code-snippets create mode 100644 .vscode/entity.code-snippets create mode 100644 .vscode/event.code-snippets create mode 100644 .vscode/middleware.code-snippets create mode 100644 .vscode/queue.code-snippets create mode 100644 .vscode/service.code-snippets create mode 100644 Dockerfile create mode 100644 LICENSE create mode 100644 README.md create mode 100644 bootstrap.js create mode 100644 docker-compose.yml create mode 100644 jest.config.js create mode 100644 package.json create mode 100644 public/Thumbs.db create mode 100644 public/css/welcome.css create mode 100644 public/favicon.ico create mode 100644 public/index.html create mode 100644 public/js/welcome.js create mode 100644 public/swagger/LICENSE create mode 100644 public/swagger/NOTICE create mode 100644 public/swagger/README.md create mode 100644 public/swagger/absolute-path.js create mode 100644 public/swagger/favicon-16x16.png create mode 100644 public/swagger/favicon-32x32.png create mode 100644 public/swagger/index.css create mode 100644 public/swagger/index.html create mode 100644 public/swagger/index.js create mode 100644 public/swagger/oauth2-redirect.html create mode 100644 public/swagger/package.json create mode 100644 public/swagger/swagger-initializer.js create mode 100644 public/swagger/swagger-ui-bundle.js create mode 100644 public/swagger/swagger-ui-bundle.js.map create mode 100644 public/swagger/swagger-ui-es-bundle-core.js create mode 100644 public/swagger/swagger-ui-es-bundle-core.js.map create mode 100644 public/swagger/swagger-ui-es-bundle.js create mode 100644 public/swagger/swagger-ui-es-bundle.js.map create mode 100644 public/swagger/swagger-ui-standalone-preset.js create mode 100644 public/swagger/swagger-ui-standalone-preset.js.map create mode 100644 public/swagger/swagger-ui.css create mode 100644 public/swagger/swagger-ui.css.map create mode 100644 public/swagger/swagger-ui.js create mode 100644 public/swagger/swagger-ui.js.map create mode 100644 src/comm/path.ts create mode 100644 src/comm/port.ts create mode 100644 src/comm/utils.ts create mode 100644 src/config/config.default.ts create mode 100644 src/config/config.local.ts create mode 100644 src/config/config.prod.ts create mode 100644 src/configuration.ts create mode 100644 src/entities.ts create mode 100644 src/interface.ts create mode 100644 src/modules/base/config.ts create mode 100644 src/modules/base/controller/admin/coding.ts create mode 100644 src/modules/base/controller/admin/comm.ts create mode 100644 src/modules/base/controller/admin/open.ts create mode 100644 src/modules/base/controller/admin/sys/department.ts create mode 100644 src/modules/base/controller/admin/sys/log.ts create mode 100644 src/modules/base/controller/admin/sys/menu.ts create mode 100644 src/modules/base/controller/admin/sys/param.ts create mode 100644 src/modules/base/controller/admin/sys/role.ts create mode 100644 src/modules/base/controller/admin/sys/user.ts create mode 100644 src/modules/base/controller/app/README.md create mode 100644 src/modules/base/controller/app/comm.ts create mode 100644 src/modules/base/db.json create mode 100644 src/modules/base/db/tenant.ts create mode 100644 src/modules/base/dto/login.ts create mode 100644 src/modules/base/entity/base.ts create mode 100644 src/modules/base/entity/sys/conf.ts create mode 100644 src/modules/base/entity/sys/department.ts create mode 100644 src/modules/base/entity/sys/log.ts create mode 100644 src/modules/base/entity/sys/menu.ts create mode 100644 src/modules/base/entity/sys/param.ts create mode 100644 src/modules/base/entity/sys/role.ts create mode 100644 src/modules/base/entity/sys/role_department.ts create mode 100644 src/modules/base/entity/sys/role_menu.ts create mode 100644 src/modules/base/entity/sys/user.ts create mode 100644 src/modules/base/entity/sys/user_role.ts create mode 100644 src/modules/base/event/app.ts create mode 100644 src/modules/base/event/menu.ts create mode 100644 src/modules/base/job/log.ts create mode 100644 src/modules/base/menu.json create mode 100644 src/modules/base/middleware/authority.ts create mode 100644 src/modules/base/middleware/log.ts create mode 100644 src/modules/base/middleware/translate.ts create mode 100644 src/modules/base/service/coding.ts create mode 100644 src/modules/base/service/sys/conf.ts create mode 100644 src/modules/base/service/sys/data.ts create mode 100644 src/modules/base/service/sys/department.ts create mode 100644 src/modules/base/service/sys/log.ts create mode 100644 src/modules/base/service/sys/login.ts create mode 100644 src/modules/base/service/sys/menu.ts create mode 100644 src/modules/base/service/sys/param.ts create mode 100644 src/modules/base/service/sys/perms.ts create mode 100644 src/modules/base/service/sys/role.ts create mode 100644 src/modules/base/service/sys/user.ts create mode 100644 src/modules/base/service/translate.ts create mode 100644 src/modules/cs/config.ts create mode 100644 src/modules/cs/controller/admin/chat.ts create mode 100644 src/modules/cs/controller/admin/msg.ts create mode 100644 src/modules/cs/controller/admin/session.ts create mode 100644 src/modules/cs/controller/app/chat.ts create mode 100644 src/modules/cs/controller/app/login.ts create mode 100644 src/modules/cs/controller/app/msg.ts create mode 100644 src/modules/cs/controller/app/session.ts create mode 100644 src/modules/cs/entity/chat.ts create mode 100644 src/modules/cs/entity/conn.ts create mode 100644 src/modules/cs/entity/msg.ts create mode 100644 src/modules/cs/entity/session.ts create mode 100644 src/modules/cs/menu.json create mode 100644 src/modules/cs/service/auth.ts create mode 100644 src/modules/cs/service/chat.ts create mode 100644 src/modules/cs/service/conn.ts create mode 100644 src/modules/cs/service/msg.ts create mode 100644 src/modules/cs/service/session.ts create mode 100644 src/modules/cs/socket/io.ts create mode 100644 src/modules/cs/socket/middleware/token.ts create mode 100644 src/modules/demo/config.ts create mode 100644 src/modules/demo/controller/admin/goods.ts create mode 100644 src/modules/demo/controller/admin/tenant.ts create mode 100644 src/modules/demo/controller/open/cache.ts create mode 100644 src/modules/demo/controller/open/event.ts create mode 100644 src/modules/demo/controller/open/goods.ts create mode 100644 src/modules/demo/controller/open/i18n.ts create mode 100644 src/modules/demo/controller/open/plugin.ts create mode 100644 src/modules/demo/controller/open/queue.ts create mode 100644 src/modules/demo/controller/open/rpc.ts create mode 100644 src/modules/demo/controller/open/sse.ts create mode 100644 src/modules/demo/controller/open/tenant.ts create mode 100644 src/modules/demo/controller/open/transaction.ts create mode 100644 src/modules/demo/entity/goods.ts create mode 100644 src/modules/demo/event/comm.ts create mode 100644 src/modules/demo/queue/comm.ts create mode 100644 src/modules/demo/queue/getter.ts create mode 100644 src/modules/demo/queue/single.ts create mode 100644 src/modules/demo/service/cache.ts create mode 100644 src/modules/demo/service/goods.ts create mode 100644 src/modules/demo/service/i18n.ts create mode 100644 src/modules/demo/service/rpc.ts create mode 100644 src/modules/demo/service/tenant.ts create mode 100644 src/modules/demo/service/transaction.ts create mode 100644 src/modules/dict/config.ts create mode 100644 src/modules/dict/controller/admin/info.ts create mode 100644 src/modules/dict/controller/admin/type.ts create mode 100644 src/modules/dict/controller/app/info.ts create mode 100644 src/modules/dict/db.json create mode 100644 src/modules/dict/entity/info.ts create mode 100644 src/modules/dict/entity/type.ts create mode 100644 src/modules/dict/service/info.ts create mode 100644 src/modules/dict/service/type.ts create mode 100644 src/modules/plugin/config.ts create mode 100644 src/modules/plugin/controller/admin/info.ts create mode 100644 src/modules/plugin/entity/info.ts create mode 100644 src/modules/plugin/event/app.ts create mode 100644 src/modules/plugin/event/init.ts create mode 100644 src/modules/plugin/hooks/base.ts create mode 100644 src/modules/plugin/hooks/upload/index.ts create mode 100644 src/modules/plugin/hooks/upload/interface.ts create mode 100644 src/modules/plugin/interface.ts create mode 100644 src/modules/plugin/service/center.ts create mode 100644 src/modules/plugin/service/info.ts create mode 100644 src/modules/plugin/service/types.ts create mode 100644 src/modules/recycle/config.ts create mode 100644 src/modules/recycle/controller/admin/data.ts create mode 100644 src/modules/recycle/entity/data.ts create mode 100644 src/modules/recycle/event/data.ts create mode 100644 src/modules/recycle/schedule/data.ts create mode 100644 src/modules/recycle/service/data.ts create mode 100644 src/modules/space/config.ts create mode 100644 src/modules/space/controller/admin/info.ts create mode 100644 src/modules/space/controller/admin/type.ts create mode 100644 src/modules/space/controller/说明.md create mode 100644 src/modules/space/entity/info.ts create mode 100644 src/modules/space/entity/type.ts create mode 100644 src/modules/space/service/info.ts create mode 100644 src/modules/space/service/type.ts create mode 100644 src/modules/staff/config.ts create mode 100644 src/modules/staff/controller/admin/info.ts create mode 100644 src/modules/staff/controller/admin/login.ts create mode 100644 src/modules/staff/dto/login.ts create mode 100644 src/modules/staff/entity/info.ts create mode 100644 src/modules/staff/middleware/app.ts create mode 100644 src/modules/staff/service/kefu.ts create mode 100644 src/modules/swagger/builder.ts create mode 100644 src/modules/swagger/config.ts create mode 100644 src/modules/swagger/controller/index.ts create mode 100644 src/modules/swagger/event/app.ts create mode 100644 src/modules/task/config.ts create mode 100644 src/modules/task/controller/admin/info.ts create mode 100644 src/modules/task/db.json create mode 100644 src/modules/task/entity/info.ts create mode 100644 src/modules/task/entity/log.ts create mode 100644 src/modules/task/event/comm.ts create mode 100644 src/modules/task/middleware/task.ts create mode 100644 src/modules/task/queue/task.ts create mode 100644 src/modules/task/service/bull.ts create mode 100644 src/modules/task/service/demo.ts create mode 100644 src/modules/task/service/info.ts create mode 100644 src/modules/task/service/local.ts create mode 100644 src/modules/user/config.ts create mode 100644 src/modules/user/controller/admin/address.ts create mode 100644 src/modules/user/controller/admin/info.ts create mode 100644 src/modules/user/controller/app/address.ts create mode 100644 src/modules/user/controller/app/comm.ts create mode 100644 src/modules/user/controller/app/info.ts create mode 100644 src/modules/user/controller/app/login.ts create mode 100644 src/modules/user/entity/address.ts create mode 100644 src/modules/user/entity/info.ts create mode 100644 src/modules/user/entity/wx.ts create mode 100644 src/modules/user/middleware/app.ts create mode 100644 src/modules/user/service/address.ts create mode 100644 src/modules/user/service/info.ts create mode 100644 src/modules/user/service/login.ts create mode 100644 src/modules/user/service/sms.ts create mode 100644 src/modules/user/service/wx.ts create mode 100644 test/README.md create mode 100644 tsconfig.json create mode 100644 typings/plugin.d.ts create mode 100644 typings/upload.d.ts diff --git a/.cursor/rules/authority.mdc b/.cursor/rules/authority.mdc new file mode 100644 index 0000000..11782fd --- /dev/null +++ b/.cursor/rules/authority.mdc @@ -0,0 +1,242 @@ +--- +description: 权限管理(Authority) +globs: +--- +# 权限管理(Authority) + +cool-admin 采用是是一种无状态的权限校验方式。[jwt](mdc:https:/jwt.io/introduction), 通俗地讲他就是把用户的一些信息经过处理生成一段加密的字符串,后端解密到信息进行校验。而且这个信息是带有时效的。 + +cool-admin 默认约定每个模块下的 `controller/admin`为后台编写接口,`controller/app`编写对外如 app、小程序的接口。 + +- 框架会对路由前缀 `/admin/**` 开头的接口进行权限校验,校验逻辑写在`base`模块下的`middleware/authority.ts`中间件 +- 框架会对路由前缀 `/app/**` 开头的接口进行权限校验,校验逻辑写在`user`模块下的`middleware/app.ts`中间件 + +::: tip +也就是说模块`controller/admin`与`controller/app`是需要进行 token 校验的,如果你不想 token 校验有两种方式: + +- 使用路由标签的形式,忽略 token 校验,详细查看[路由标签](mdc:src/guide/core/controller.html#路由标签); + +- 新建其他的文件夹比如:`controller/open`; + +这样就不会提示登录失效~ +::: + +## 登录 + +查询校验用户信息,然后将用户信息用 jwt 的方式加密保存返回给客户端。 + +`src/app/modules/base/service/sys/login.ts` + +```ts +/** + * 登录 + * @param login + */ + async login(login: LoginDTO) { + const { username, captchaId, verifyCode, password } = login; + // 校验验证码 + const checkV = await this.captchaCheck(captchaId, verifyCode); + if (checkV) { + const user = await this.baseSysUserEntity.findOne({ username }); + // 校验用户 + if (user) { + // 校验用户状态及密码 + if (user.status === 0 || user.password !== md5(password)) { + throw new CoolCommException('账户或密码不正确~'); + } + } else { + throw new CoolCommException('账户或密码不正确~'); + } + // 校验角色 + const roleIds = await this.baseSysRoleService.getByUser(user.id); + if (_.isEmpty(roleIds)) { + throw new CoolCommException('该用户未设置任何角色,无法登录~'); + } + + // 生成token + const { expire, refreshExpire } = this.coolConfig.jwt.token; + const result = { + expire, + token: await this.generateToken(user, roleIds, expire), + refreshExpire, + refreshToken: await this.generateToken( + user, + roleIds, + refreshExpire, + true + ), + }; + + // 将用户相关信息保存到缓存 + const perms = await this.baseSysMenuService.getPerms(roleIds); + const departments = await this.baseSysDepartmentService.getByRoleIds( + roleIds, + user.username === 'admin' + ); + await this.coolCache.set( + `admin:department:${user.id}`, + JSON.stringify(departments) + ); + await this.coolCache.set(`admin:perms:${user.id}`, JSON.stringify(perms)); + await this.coolCache.set(`admin:token:${user.id}`, result.token); + await this.coolCache.set(`admin:token:refresh:${user.id}`, result.token); + + return result; + } else { + throw new CoolCommException('验证码不正确'); + } + } +``` + +## 权限配置 + +admin 用户拥有所有的权限,无需配置,但是对于其他只拥有部分权限的用户,我们得选择他们的权限,在这之前我们得先录入我们的系统有哪些权限是可以配置的 + +可以登录后台管理系统,`系统管理/权限管理/菜单列表` + +![authority](mdc:admin/node/authority.png) + +## 选择权限 + +新建一个角色,就可以为这个角色配置对应的权限,用户管理可以选择对应的角色,那么该用户就有对应的权限,一个用户可以选择多个角色 + +![authority](mdc:admin/node/authority-role.png) + +## 全局校验 + +通过一个全局的中间件,我们在全局统一处理,这样就无需在每个 controller 处理,显得有点多余。 + +`src/app/modules/base/middleware/authority.ts` + +```ts +import { App, Config, Middleware } from "@midwayjs/core"; +import * as _ from "lodash"; +import { RESCODE } from "@cool-midway/core"; +import * as jwt from "jsonwebtoken"; +import { NextFunction, Context } from "@midwayjs/koa"; +import { IMiddleware, IMidwayApplication } from "@midwayjs/core"; + +/** + * 权限校验 + */ +@Middleware() +export class BaseAuthorityMiddleware + implements IMiddleware +{ + @Config("koa.globalPrefix") + prefix; + + @Config("module.base") + jwtConfig; + + coolCache; + + @App() + app: IMidwayApplication; + + resolve() { + return async (ctx: Context, next: NextFunction) => { + let statusCode = 200; + let { url } = ctx; + url = url.replace(this.prefix, ""); + const token = ctx.get("Authorization"); + const adminUrl = "/admin/"; + // 路由地址为 admin前缀的 需要权限校验 + if (_.startsWith(url, adminUrl)) { + try { + ctx.admin = jwt.verify(token, this.jwtConfig.jwt.secret); + } catch (err) {} + // 不需要登录 无需权限校验 + if (new RegExp(`^${adminUrl}?.*/open/`).test(url)) { + await next(); + return; + } + if (ctx.admin) { + // 超管拥有所有权限 + if (ctx.admin.username == "admin" && !ctx.admin.isRefresh) { + await next(); + return; + } + // 要登录每个人都有权限的接口 + if (new RegExp(`^${adminUrl}?.*/comm/`).test(url)) { + await next(); + return; + } + // 如果传的token是refreshToken则校验失败 + if (ctx.admin.isRefresh) { + ctx.status = 401; + ctx.body = { + code: RESCODE.COMMFAIL, + message: "登录失效~", + }; + return; + } + // 需要动态获得缓存 + this.coolCache = await ctx.requestContext.getAsync("cool:cache"); + // 判断密码版本是否正确 + const passwordV = await this.coolCache.get( + `admin:passwordVersion:${ctx.admin.userId}` + ); + if (passwordV != ctx.admin.passwordVersion) { + ctx.status = 401; + ctx.body = { + code: RESCODE.COMMFAIL, + message: "登录失效~", + }; + return; + } + const rToken = await this.coolCache.get( + `admin:token:${ctx.admin.userId}` + ); + if (!rToken) { + ctx.status = 401; + ctx.body = { + code: RESCODE.COMMFAIL, + message: "登录失效或无权限访问~", + }; + return; + } + if (rToken !== token && this.jwtConfig.sso) { + statusCode = 401; + } else { + let perms = await this.coolCache.get( + `admin:perms:${ctx.admin.userId}` + ); + if (!_.isEmpty(perms)) { + perms = JSON.parse(perms).map((e) => { + return e.replace(/:/g, "/"); + }); + if (!perms.includes(url.split("?")[0].replace("/admin/", ""))) { + statusCode = 403; + } + } else { + statusCode = 403; + } + } + } else { + statusCode = 401; + } + if (statusCode > 200) { + ctx.status = statusCode; + ctx.body = { + code: RESCODE.COMMFAIL, + message: "登录失效或无权限访问~", + }; + return; + } + } + await next(); + }; + } +} +``` + +## 令牌续期 + +jwt 加密完的字符串是有时效的,系统默认时效时间为 2 个小时。这期间就需要续期令牌才可以继续操作。 + +框架登录设置了一个 refreshToken,默认过期时间为 30 天。可以使用这个去换取新的 token,这时候又可以延长 2 个小时。 + +## 其他权限 + +你可以单独编写一个中间间来控制其他权限,如 app、小程序及其他对外接口,但是可以参考后台管理系统权限过滤、token 生成校验的实现方式 diff --git a/.cursor/rules/cache.mdc b/.cursor/rules/cache.mdc new file mode 100644 index 0000000..9922293 --- /dev/null +++ b/.cursor/rules/cache.mdc @@ -0,0 +1,174 @@ +--- +description: 缓存(Cache) +globs: +--- +# 缓存 + +为了方便开发者进行缓存操作的组件,它有利于改善项目的性能。它为我们提供了一个数据中心以便进行高效的数据访问。 + +::: + +## 使用 + +```ts +import { InjectClient, Provide } from '@midwayjs/core'; +import { CachingFactory, MidwayCache } from '@midwayjs/cache-manager'; + +@Provide() +export class UserService { + + @InjectClient(CachingFactory, 'default') + cache: MidwayCache; + + async invoke(name: string, value: string) { + // 设置缓存 + await this.cache.set(name, value); + // 获取缓存 + const data = await this.cache.get(name); + // ... + } +} +``` + +## 换成 Redis (v7.1 版本) + +安装依赖,具体可以查看@midwayjs cache + +```bash +pnpm i cache-manager-ioredis-yet --save +``` + +`src/config/config.default.ts` + +```ts +import { CoolFileConfig, MODETYPE } from "@cool-midway/file"; +import { MidwayConfig } from "@midwayjs/core"; +// redis缓存 +import { redisStore } from "cache-manager-ioredis-yet"; + +export default { + // Redis缓存 + cacheManager: { + clients: { + default: { + store: redisStore, + options: { + port: 6379, + host: "127.0.0.1", + password: "", + ttl: 0, + db: 0, + }, + }, + }, + }, +} as unknown as MidwayConfig; +``` + +## 换成 Redis (以往版本) + +```bash +pnpm i cache-manager-ioredis --save +``` + +`src/config/config.default.ts` + +```ts +import { CoolFileConfig, MODETYPE } from "@cool-midway/file"; +import { MidwayConfig } from "@midwayjs/core"; +// redis缓存 +import * as redisStore from "cache-manager-ioredis"; + +export default { + // Redis缓存 + cache: { + store: redisStore, + options: { + port: 6379, + host: "127.0.0.1", + password: "", + db: 0, + keyPrefix: "cool:", + ttl: null, + }, + }, +} as unknown as MidwayConfig; +``` + +## 使用 + +`src/modules/demo/controller/open/cache.ts` + +```ts +import { DemoCacheService } from "../../service/cache"; +import { Inject, Post, Provide, Get, InjectClient } from "@midwayjs/core"; +import { CoolController, BaseController } from "@cool-midway/core"; +import { CachingFactory, MidwayCache } from "@midwayjs/cache-manager"; + +/** + * 缓存 + */ +@Provide() +@CoolController() +export class AppDemoCacheController extends BaseController { + @InjectClient(CachingFactory, "default") + midwayCache: MidwayCache; + + @Inject() + demoCacheService: DemoCacheService; + + /** + * 设置缓存 + * @returns + */ + @Post("/set") + async set() { + await this.midwayCache.set("a", 1); + // 缓存10秒 + await this.midwayCache.set("a", 1, 10 * 1000); + return this.ok(await this.midwayCache.get("a")); + } + + /** + * 获得缓存 + * @returns + */ + @Get("/get") + async get() { + return this.ok(await this.demoCacheService.get()); + } +} +``` + +## 方法缓存 + +有些业务场景,我们并不希望每次请求接口都需要操作数据库,如:今日推荐、上个月排行榜等,数据存储在 redis + +框架提供了 `@CoolCache` 方法装饰器,方法设置缓存,让代码更优雅 + +`src/modules/demo/service/cache.ts` + +```ts +import { Provide } from "@midwayjs/core"; +import { CoolCache } from "@cool-midway/core"; + +/** + * 缓存 + */ +@Provide() +export class DemoCacheService { + // 数据缓存5秒 + @CoolCache(5000) + async get() { + console.log("执行方法"); + return { + a: 1, + b: 2, + }; + } +} +``` + +::: warning +service 主要是处理业务逻辑,`@CoolCache`应该要在 service 中使用,不要在 controller 等其他位置使用 +::: diff --git a/.cursor/rules/controller.mdc b/.cursor/rules/controller.mdc new file mode 100644 index 0000000..302c125 --- /dev/null +++ b/.cursor/rules/controller.mdc @@ -0,0 +1,584 @@ +--- +description: 控制器(Controller) +globs: +--- +# 控制器(Controller) + +为了实现`快速CRUD`与`自动路由`功能,框架基于[midwayjs controller](mdc:https:/www.midwayjs.org/docs/controller),进行改造加强 + +完全继承[midwayjs controller](mdc:https:/www.midwayjs.org/docs/controller)的所有功能 + +`快速CRUD`与`自动路由`,大大提高编码效率与编码量 + +## 路由前缀 + +虽然可以手动设置,但是我们并不推荐,cool-admin 在全局权限校验包含一定的规则, + +如果你没有很了解框架原理手动设置可能产生部分功能失效的问题 + +### 手动 + +`/api/other` + +无通用 CRUD 设置方法 + +```ts +import { CoolController, BaseController } from "@cool-midway/core"; + +/** + * 商品 + */ +@CoolController("/api") +export class AppDemoGoodsController extends BaseController { + /** + * 其他接口 + */ + @Get("/other") + async other() { + return this.ok("hello, cool-admin!!!"); + } +} +``` + +含通用 CRUD 配置方法 + +```ts +import { Get } from "@midwayjs/core"; +import { CoolController, BaseController } from "@cool-midway/core"; +import { DemoGoodsEntity } from "../../entity/goods"; + +/** + * 商品 + */ +@CoolController({ + prefix: "/api", + api: ["add", "delete", "update", "info", "list", "page"], + entity: DemoGoodsEntity, +}) +export class AppDemoGoodsController extends BaseController { + /** + * 其他接口 + */ + @Get("/other") + async other() { + return this.ok("hello, cool-admin!!!"); + } +} +``` + +### 自动 + +大多数情况下你无需指定自己的路由前缀,路由前缀将根据规则自动生成。 + +::: warning 警告 +自动路由只影响模块中的 controller,其他位置建议不要使用 +::: + +`src/modules/demo/controller/app/goods.ts` + +路由前缀是根据文件目录文件名按照[规则](mdc:src/guide/core/controller.html#规则)生成的,上述示例生成的路由为 + +`http://127.0.0.1:8001/app/demo/goods/xxx` + +`xxx`代表具体的方法,如: `add`、`page`、`other` + +```ts +import { Get } from "@midwayjs/core"; +import { CoolController, BaseController } from "@cool-midway/core"; +import { DemoGoodsEntity } from "../../entity/goods"; + +/** + * 商品 + */ +@CoolController({ + api: ["add", "delete", "update", "info", "list", "page"], + entity: DemoGoodsEntity, +}) +export class AppDemoGoodsController extends BaseController { + /** + * 其他接口 + */ + @Get("/other") + async other() { + return this.ok("hello, cool-admin!!!"); + } +} +``` + +### 规则 + +/controller 文件夹下的文件夹名或者文件名/模块文件夹名/方法名 + +#### 举例 + +```ts + // 模块目录 + ├── modules + │ └── demo(模块名) + │ │ └── controller(api接口) + │ │ │ └── app(参数校验) + │ │ │ │ └── goods.ts(商品的controller) + │ │ │ └── pay.ts(支付的controller) + │ │ └── config.ts(必须,模块的配置) + │ │ └── init.sql(可选,初始化该模块的sql) + +``` + +生成的路由前缀为: +`/pay/demo/xxx(具体的方法)`与`/app/demo/goods/xxx(具体的方法)` + +## CRUD + +### 参数配置(CurdOption) + +通用增删改查配置参数 + +| 参数 | 类型 | 说明 | 备注 | +| ------------------ | -------- | ------------------------------------------------------------- | ---- | +| prefix | String | 手动设置路由前缀 | | +| api | Array | 快速 API 接口可选`add` `delete` `update` `info` `list` `page` | | +| serviceApis | Array | 将 service 方法注册为 api,通过 post 请求,直接调用 service 方法 | | +| pageQueryOp | QueryOp | 分页查询设置 | | +| listQueryOp | QueryOp | 列表查询设置 | | +| insertParam | Function | 请求插入参数,如新增的时候需要插入当前登录用户的 ID | | +| infoIgnoreProperty | Array | `info`接口忽略返回的参数,如用户信息不想返回密码 | | + +### 查询配置(QueryOp) + +分页查询与列表查询配置参数 + +| 参数 | 类型 | 说明 | 备注 | +| ----------------- | -------- | ----------------------------------------------------------------------------------- | ---- | +| keyWordLikeFields | Array | 支持模糊查询的字段,如一个表中的`name`字段需要模糊查询 | | +| where | Function | 其他查询条件 | | +| select | Array | 选择查询字段 | | +| fieldEq | Array | 筛选字段,字符串数组或者对象数组{ column: string, requestParam: string },如 type=1 | | +| fieldLike | Array | 模糊查询字段,字符串数组或者对象数组{ column: string, requestParam: string },如 title | | +| addOrderBy | Object | 排序 | | +| join | JoinOp[] | 关联表查询 | | + +### 关联表(JoinOp) + +关联表查询配置参数 + +| 参数 | 类型 | 说明 | +| --------- | ------ | ------------------------------------------------------------------ | +| entity | Class | 实体类,注意不能写表名 | +| alias | String | 别名,如果有关联表默认主表的别名为`a`, 其他表一般按 b、c、d...设置 | +| condition | String | 关联条件 | +| type | String | 内关联: 'innerJoin', 左关联:'leftJoin' | + +### 完整示例 + +```ts +import { Get } from "@midwayjs/core"; +import { CoolController, BaseController } from "@cool-midway/core"; +import { BaseSysUserEntity } from "../../../base/entity/sys/user"; +import { DemoAppGoodsEntity } from "../../entity/goods"; + +/** + * 商品 + */ +@CoolController({ + // 添加通用CRUD接口 + api: ["add", "delete", "update", "info", "list", "page"], + // 8.x新增,将service方法注册为api,通过post请求,直接调用service方法 + serviceApis: [ + 'use', + { + method: 'test1', + summary: '不使用多租户', // 接口描述 + }, + 'test2', // 也可以不设置summary + ] + // 设置表实体 + entity: DemoAppGoodsEntity, + // 向表插入当前登录用户ID + insertParam: (ctx) => { + return { + // 获得当前登录的后台用户ID,需要请求头传Authorization参数 + userId: ctx.admin.userId, + }; + }, + // 操作crud之前做的事情 @cool-midway/core@3.2.14 新增 + before: (ctx) => { + // 将前端的数据转JSON格式存数据库 + const { data } = ctx.request.body; + ctx.request.body.data = JSON.stringify(data); + }, + // info接口忽略价格字段 + infoIgnoreProperty: ["price"], + // 分页查询配置 + pageQueryOp: { + // 让title字段支持模糊查询 + keyWordLikeFields: ["title"], + // 让type字段支持筛选,请求筛选字段与表字段一致是情况 + fieldEq: ["type"], + // 多表关联,请求筛选字段与表字段不一致的情况 + fieldEq: [{ column: "a.id", requestParam: "id" }], + // 让title字段支持模糊查询,请求参数为title + fieldLike: ['a.title'], + // 让title字段支持模糊查询,请求筛选字段与表字段不一致的情况 + fieldLike: [{ column: "a.title", requestParam: "title" }], + // 指定返回字段,注意多表查询这个是必要的,否则会出现重复字段的问题 + select: ["a.*", "b.name", "a.name AS userName"], + // 4.x置为过时 改用 join 关联表用户表 + leftJoin: [ + { + entity: BaseSysUserEntity, + alias: "b", + condition: "a.userId = b.id", + }, + ], + // 4.x新增 + join: [ + { + entity: BaseSysUserEntity, + alias: "b", + condition: "a.userId = b.id", + type: "innerJoin", + }, + ], + // 4.x 新增 追加其他条件 + extend: async (find: SelectQueryBuilder) => { + find.groupBy("a.id"); + }, + // 增加其他条件 + where: async (ctx) => { + // 获取body参数 + const { a } = ctx.request.body; + return [ + // 价格大于90 + ["a.price > :price", { price: 90.0 }], + // 满足条件才会执行 + ["a.price > :price", { price: 90.0 }, "条件"], + // 多个条件一起 + [ + "(a.price = :price or a.userId = :userId)", + { price: 90.0, userId: ctx.admin.userId }, + ], + ]; + }, + // 添加排序 + addOrderBy: { + price: "desc", + }, + }, +}) +export class DemoAppGoodsController extends BaseController { + /** + * 其他接口 + */ + @Get("/other") + async other() { + return this.ok("hello, cool-admin!!!"); + } +} +``` + +::: warning +如果是多表查询,必须设置 select 参数,否则会出现重复字段的错误,因为每个表都继承了 BaseEntity,至少都有 id、createTime、updateTime 三个相同的字段。 +::: + +通过这一波操作之后,我们的商品接口的功能已经很强大了,除了通用的 CRUD,我们的接口还支持多种方式的数据筛选 + +### 获得 ctx 对象 + +```ts +@CoolController( + { + api: ['add', 'delete', 'update', 'info', 'list', 'page'], + entity: DemoAppGoodsEntity, + // 获得ctx对象 + listQueryOp: ctx => { + return new Promise(res => { + res({ + fieldEq: [], + }); + }); + }, + // 获得ctx对象 + pageQueryOp: ctx => { + return new Promise(res => { + res({ + fieldEq: [], + }); + }); + }, + }, + { + middleware: [], + } +) +``` + +### 接口调用 + +`add` `delete` `update` `info` 等接口可以用法[参照快速开始](mdc:src/guide/quick.html#接口调用) + +这里详细说明下`page` `list`两个接口的调用方式,这两个接口调用方式差不多,一个是分页一个是非分页。 +以`page`接口为例 + +#### 分页 + +POST `/admin/demo/goods/page` 分页数据 + +**请求** +Url: http://127.0.0.1:8001/admin/demo/goods/page + +Method: POST + +#### Body + +```json +{ + "keyWord": "商品标题", // 模糊搜索,搜索的字段对应keyWordLikeFields + "type": 1, // 全等于筛选,对应fieldEq + "page": 2, // 第几页 + "size": 1, // 每页返回个数 + "sort": "desc", // 排序方向 + "order": "id" // 排序字段 +} +``` + +**返回** + +```json +{ + "code": 1000, + "message": "success", + "data": { + "list": [ + { + "id": 4, + "createTime": "2021-03-12 16:23:46", + "updateTime": "2021-03-12 16:23:46", + "title": "这是一个商品2", + "pic": "https://show.cool-admin.com/uploads/20210311/2e393000-8226-11eb-abcf-fd7ae6caeb70.png", + "price": "99.00", + "userId": 1, + "type": 1, + "name": "超级管理员" + } + ], + "pagination": { + "page": 2, + "size": 1, + "total": 4 + } + } +} +``` + +### 服务注册成 Api + +很多情况下,我们在`Controller`层并不想过多地操作,而是想直接调用`Service`层的方法,这个时候我们可以将`Service`层的方法注册成`Api`,那么你的某个`Service`方法就变成了`Api`。 + +#### 示例: + +在 Controller 中 + +```ts +import { CoolController, BaseController } from "@cool-midway/core"; +import { DemoGoodsEntity } from "../../entity/goods"; +import { DemoTenantService } from "../../service/tenant"; + +/** + * 示例 + */ +@CoolController({ + serviceApis: [ + "use", + { + method: "test1", + summary: "不使用多租户", // 接口描述 + }, + "test2", // 也可以不设置summary + ], + entity: DemoGoodsEntity, + service: DemoXxxService, +}) +export class AdminDemoTenantController extends BaseController {} +``` + +在 Service 中 + +```ts +/** + * 示例服务 + */ +@Provide() +export class DemoXxxService extends BaseService { + /** + * 示例方法1 + */ + async test1(params) { + console.log(params); + return "test1"; + } + + /** + * 示例方法2 + */ + async test2() { + return "test2"; + } +} +``` + +::: warning 注意 +`serviceApis` 注册为`Api`的请求方法是`POST`,所以`Service`层的方法参数需要通过`body`传递 +::: + +### 重写 CRUD 实现 + +在实际开发过程中,除了这些通用的接口可以满足大部分的需求,但是也有一些特殊的需求无法满足用户要求,这个时候也可以重写`add` `delete` `update` `info` `list` `page` 的实现 + +#### 编写 service + +在模块新建 service 文件夹(名称非强制性),再新建一个`service`实现,继承框架的`BaseService` + +```ts +import { Inject, Provide } from "@midwayjs/core"; +import { BaseService } from "@cool-midway/core"; +import { InjectEntityModel } from "@midwayjs/orm"; +import { Repository } from "typeorm"; +import { BaseSysMenuEntity } from "../../entity/sys/menu"; +import * as _ from "lodash"; +import { BaseSysPermsService } from "./perms"; + +/** + * 菜单 + */ +@Provide() +export class BaseSysMenuService extends BaseService { + @Inject() + ctx; + + @InjectEntityModel(BaseSysMenuEntity) + baseSysMenuEntity: Repository; + + @Inject() + baseSysPermsService: BaseSysPermsService; + + /** + * 重写list实现 + */ + async list() { + const menus = await this.getMenus( + this.ctx.admin.roleIds, + this.ctx.admin.username === "admin" + ); + if (!_.isEmpty(menus)) { + menus.forEach((e) => { + const parentMenu = menus.filter((m) => { + e.parentId = parseInt(e.parentId); + if (e.parentId == m.id) { + return m.name; + } + }); + if (!_.isEmpty(parentMenu)) { + e.parentName = parentMenu[0].name; + } + }); + } + return menus; + } +} +``` + +#### 设置服务实现 + +`CoolController`设置自己的服务实现 + +```ts +import { Inject } from "@midwayjs/core"; +import { CoolController, BaseController } from "@cool-midway/core"; +import { BaseSysMenuEntity } from "../../../entity/sys/menu"; +import { BaseSysMenuService } from "../../../service/sys/menu"; + +/** + * 菜单 + */ +@CoolController({ + api: ["add", "delete", "update", "info", "list", "page"], + entity: BaseSysMenuEntity, + service: BaseSysMenuService, +}) +export class BaseSysMenuController extends BaseController { + @Inject() + baseSysMenuService: BaseSysMenuService; +} +``` + +## 路由标签 + +我们经常有这样的需求:给某个请求地址打上标记,如忽略 token,忽略签名等。 + +```ts +import { Get, Inject } from "@midwayjs/core"; +import { + CoolController, + BaseController, + CoolUrlTag, + TagTypes, + CoolUrlTagData, +} from "@cool-midway/core"; + +/** + * 测试给URL打标签 + */ +@CoolController({ + api: [], + entity: "", + pageQueryOp: () => {}, +}) +// add 接口忽略token +@CoolUrlTag({ + key: TagTypes.IGNORE_TOKEN, + value: ["add"], +}) +export class DemoAppTagController extends BaseController { + @Inject() + tag: CoolUrlTagData; + + /** + * 获得标签数据, 如可以标记忽略token的url,然后在中间件判断 + * @returns + */ + // 这是6.x支持的,可以直接标记这个接口忽略token,更加灵活优雅,但是记得配合@CoolUrlTag()一起使用,也就是Controller上要有这个注解,@CoolTag才会生效 + @CoolTag(TagTypes.IGNORE_TOKEN) + @Get("/data") + async data() { + return this.ok(this.tag.byKey(TagTypes.IGNORE_TOKEN)); + } +} +``` + +#### 中间件 + +```ts +import { CoolUrlTagData, TagTypes } from "@cool-midway/core"; +import { IMiddleware } from "@midwayjs/core"; +import { Inject, Middleware } from "@midwayjs/core"; +import { NextFunction, Context } from "@midwayjs/koa"; + +@Middleware() +export class DemoMiddleware implements IMiddleware { + @Inject() + tag: CoolUrlTagData; + + resolve() { + return async (ctx: Context, next: NextFunction) => { + const urls = this.tag.byKey(TagTypes.IGNORE_TOKEN); + console.log("忽略token的URL数组", urls); + // 这里可以拿到下一个中间件或者控制器的返回值 + const result = await next(); + // 控制器之后执行的逻辑 + // 返回给上一个中间件的结果 + return result; + }; + } +} +``` + diff --git a/.cursor/rules/db.mdc b/.cursor/rules/db.mdc new file mode 100644 index 0000000..d9aaab4 --- /dev/null +++ b/.cursor/rules/db.mdc @@ -0,0 +1,460 @@ +--- +description: 数据库(db) +globs: +--- +# 数据库(db) + +数据库使用的是`typeorm`库 + +中文文档:](httpsom) + +官方文档:[https://typeorm.io](mdc:https:/据库文档:[https:/www.midwayjs.org/docs/extensions/orm](https:/www.midwayjs.org/docs/extensions/orm) + +## 数据库配置 + +支持`Mysql`、`PostgreSQL`、`Sqlite`三种数据库 + +#### Mysql + +`src/config/config.local.ts` + +```ts +import { CoolConfig } from "@cool-midway/core"; +import { MidwayConfig } from "@midwayjs/core"; + +export default { + typeorm: { + dataSource: { + default: { + type: "mysql", + host: "127.0.0.1", + port: 3306, + username: "root", + password: "123456", + database: "cool", + // 自动建表 注意:线上部署的时候不要使用,有可能导致数据丢失 + synchronize: true, + // 打印日志 + logging: false, + // 字符集 + charset: "utf8mb4", + // 是否开启缓存 + cache: true, + // 实体路径 + entities: ["**/modules/*/entity"], + }, + }, + }, +} as MidwayConfig; +``` + +#### PostgreSQL + +需要先安装驱动 + +```shell +npm install pg --save +``` + +`src/config/config.local.ts` + +```ts +import { CoolConfig } from "@cool-midway/core"; +import { MidwayConfig } from "@midwayjs/core"; + +export default { + typeorm: { + dataSource: { + default: { + type: "postgres", + host: "127.0.0.1", + port: 5432, + username: "postgres", + password: "123456", + database: "cool", + // 自动建表 注意:线上部署的时候不要使用,有可能导致数据丢失 + synchronize: true, + // 打印日志 + logging: false, + // 字符集 + charset: "utf8mb4", + // 是否开启缓存 + cache: true, + // 实体路径 + entities: ["**/modules/*/entity"], + }, + }, + }, +} as MidwayConfig; +``` + +#### Sqlite + +需要先安装驱动 + +```shell +npm install sqlite3 --save +``` + +`src/config/config.local.ts` + +```ts +import { CoolConfig } from "@cool-midway/core"; +import { MidwayConfig } from "@midwayjs/core"; +import * as path from "path"; + +export default { + typeorm: { + dataSource: { + default: { + type: "sqlite", + // 数据库文件地址 + database: path.join(__dirname, "../../cool.sqlite"), + // 自动建表 注意:线上部署的时候不要使用,有可能导致数据丢失 + synchronize: true, + // 打印日志 + logging: false, + // 实体路径 + entities: ["**/modules/*/entity"], + }, + }, + }, +} as MidwayConfig; +``` + +## 事务示例 + +`cool-admin`封装了自己事务,让代码更简洁 + +#### 示例 + +```ts +import { Inject, Provide } from "@midwayjs/core"; +import { BaseService, CoolTransaction } from "@cool-midway/core"; +import { InjectEntityModel } from "@midwayjs/orm"; +import { Repository, QueryRunner } from "typeorm"; +import { DemoAppGoodsEntity } from "../entity/goods"; + +/** + * 商品 + */ +@Provide() +export class DemoGoodsService extends BaseService { + @InjectEntityModel(DemoAppGoodsEntity) + demoAppGoodsEntity: Repository; + + /** + * 事务 + * @param params + * @param queryRunner 无需调用者传参, 自动注入,最后一个参数 + */ + @CoolTransaction({ isolation: "SERIALIZABLE" }) + async testTransaction(params: any, queryRunner?: QueryRunner) { + await queryRunner.manager.insert(DemoAppGoodsEntity, { + title: "这是个商品", + pic: "商品图", + price: 99.0, + type: 1, + }); + } +} +``` + +::: tip +`CoolTransaction`中已经做了异常捕获,所以方法内部无需捕获异常,必须使用`queryRunner`做数据库操作, +而且不能是异步的,否则事务无效, +`queryRunner`会注入到被注解的方法最后一个参数中, 无需调用者传参 +::: + +## 字段 + +BaseEntity 是实体基类,所有实体类都需要继承它。 + +- v8.x 之前位于`@cool-midway/core`包中 +- v8.x 之后位于`src/modules/base/entity/base.ts` + +```typescript +import { Index, PrimaryGeneratedColumn, Column } from "typeorm"; +import * as moment from "moment"; +import { CoolBaseEntity } from "@cool-midway/core"; + +const transformer = { + to(value) { + return value + ? moment(value).format("YYYY-MM-DD HH:mm:ss") + : moment().format("YYYY-MM-DD HH:mm:ss"); + }, + from(value) { + return value; + }, +}; + +/** + * 实体基类 + */ +export abstract class BaseEntity extends CoolBaseEntity { + // 默认自增 + @PrimaryGeneratedColumn("increment", { + comment: "ID", + }) + id: number; + + @Index() + @Column({ + comment: "创建时间", + type: "varchar", + transformer, + }) + createTime: Date; + + @Index() + @Column({ + comment: "更新时间", + type: "varchar", + transformer, + }) + updateTime: Date; + + @Index() + @Column({ comment: "租户ID", nullable: true }) + tenantId: number; +} +``` + +```typescript +// v8.x 之前 +import { BaseEntity } from "@cool-midway/core"; +// v8.x 之后 +import { BaseEntity } from "../../base/entity/base"; +import { Column, Entity, Index } from "typeorm"; + +/** + * demo模块-用户信息 + */ +// 表名必须包含模块固定格式:模块_, +@Entity("demo_user_info") +// DemoUserInfoEntity是模块+表名+Entity +export class DemoUserInfoEntity extends BaseEntity { + @Index() + @Column({ comment: "手机号", length: 11 }) + phone: string; + + @Index({ unique: true }) + @Column({ comment: "身份证", length: 50 }) + idCard: string; + + // 生日只需要精确到哪一天,所以type:'date',如果需要精确到时分秒,应为'datetime' + @Column({ comment: "生日", type: "date" }) + birthday: Date; + + @Column({ comment: "状态 0-禁用 1-启用", default: 1 }) + status: number; + + @Column({ + comment: "分类 0-普通 1-会员 2-超级会员", + default: 0, + type: "tinyint", + }) + type: number; + + // 由于labels的类型是一个数组,所以Column中的type类型必须得是'json' + @Column({ comment: "标签", nullable: true, type: "json" }) + labels: string[]; + + @Column({ + comment: "余额", + type: "decimal", + precision: 5, + scale: 2, + }) + balance: number; + + @Column({ comment: "备注", nullable: true }) + remark: string; + + @Column({ comment: "简介", type: "text", nullable: true }) + summary: string; +} +``` + +## 虚拟字段 + +虚拟字段是指数据库中没有实际存储的字段,而是通过其他字段计算得到的字段,这种字段在查询时可以直接使用,但是不能进行更新操作 + +```ts +import { BaseEntity } from "@cool-midway/core"; +import { Column, Entity, Index } from "typeorm"; + +/** + * 数据实体 + */ +@Entity("xxx_xxx") +export class XxxEntity extends BaseEntity { + @Index() + @Column({ + type: "varchar", + length: 7, + asExpression: "DATE_FORMAT(createTime, '%Y-%m')", + generatedType: "VIRTUAL", + comment: "月份", + }) + month: string; + + @Index() + @Column({ + type: "varchar", + length: 4, + asExpression: "DATE_FORMAT(createTime, '%Y')", + generatedType: "VIRTUAL", + comment: "年份", + }) + year: string; + + @Index() + @Column({ + type: "varchar", + length: 10, + asExpression: "DATE_FORMAT(createTime, '%Y-%m-%d')", + generatedType: "VIRTUAL", + comment: "日期", + }) + date: string; + + @Column({ comment: "退款", type: "json", nullable: true }) + refund: { + // 退款单号 + orderNum: string; + // 金额 + amount: number; + // 实际退款金额 + realAmount: number; + // 状态 0-申请中 1-已退款 2-拒绝 + status: number; + // 申请时间 + applyTime: Date; + // 退款时间 + time: Date; + // 退款原因 + reason: string; + // 拒绝原因 + refuseReason: string; + }; + + // 将退款状态提取出来,方便查询 + @Index() + @Column({ + asExpression: "JSON_EXTRACT(refund, '$.status')", + generatedType: "VIRTUAL", + comment: "退款状态", + nullable: true, + }) + refundStatus: number; +} +``` + +## 不使用外键 + +typeorm 有很多 OneToMany, ManyToOne, ManyToMany 等关联关系,这种都会生成外键,但是在实际生产开发中,不推荐使用外键: + +- 性能影响:外键会在插入、更新或删除操作时增加额外的开销。数据库需要检查外键约束是否满足,这可能会降低数据库的性能,特别是在大规模数据操作时更为明显。 + +- 复杂性增加:随着系统的发展,数据库结构可能会变得越来越复杂。外键约束增加了数据库结构的复杂性,使得数据库的维护和理解变得更加困难。 + +- 可扩展性问题:在分布式数据库系统中,数据可能分布在不同的服务器上。外键约束会影响数据的分片和分布,限制了数据库的可扩展性。 + +- 迁移和备份困难:带有外键约束的数据库迁移或备份可能会变得更加复杂。迁移时需要保证数据的完整性和约束的一致性,这可能会增加迁移的难度和时间。 + +- 业务逻辑耦合:过多依赖数据库的外键约束可能会导致业务逻辑过度耦合于数据库层。这可能会限制应用程序的灵活性和后期的业务逻辑调整。 + +- 并发操作问题:在高并发的场景下,外键约束可能会导致锁的竞争,增加死锁的风险,影响系统的稳定性和响应速度。 + +尽管外键提供了数据完整性保障,但在某些场景下,特别是在高性能和高可扩展性要求的系统中,可能会选择在应用层实现相应的完整性检查和约束逻辑,以避免上述问题。这需要在设计系统时根据实际需求和环境来权衡利弊,做出合适的决策。 + +## 多表关联查询 + +cool-admin 有三种方式的联表查询: + +1、controller 上配置 + +特别注意要配置 select, 不然会报重复字段错误 + +```ts +@CoolController({ + // 添加通用CRUD接口 + api: ['add', 'delete', 'update', 'info', 'list', 'page'], + // 设置表实体 + entity: DemoAppGoodsEntity, + // 分页查询配置 + pageQueryOp: { + // 指定返回字段,注意多表查询这个是必要的,否则会出现重复字段的问题 + select: ['a.*', 'b.name', 'a.name AS userName'], + // 联表查询 + join: [ + { + entity: BaseSysUserEntity, + alias: 'b', + condition: 'a.userId = b.id' + }, + ] +}) +``` + +2、service 中 + +通过`this.nativeQuery`或者`this.sqlRenderPage`两种方法执行自定义 sql + +- nativeQuery:执行原生 sql,返回数组 +- sqlRenderPage:执行原生 sql,返回分页对象 + +模板 sql 示例,方便动态传入参数,千万不要直接拼接 sql,有 sql 注入风险,以下方法 cool-admin 内部已经做了防注入处理 + +- setSql:第一个参数是条件,第二个参数是 sql,第三个参数是参数数组 + +```ts +this.nativeQuery( + `SELECT + a.*, + b.nickName + FROM + demo_goods a + LEFT JOIN user_info b ON a.userId = b.id + ${this.setSql(true, 'and b.userId = ?', [userId])}` +``` + +3、通过 typeorm 原生的写法 + +示例 + +```ts +const find = this.demoGoodsEntity + .createQueryBuilder("a") + .select(["a.*", "b.nickName as userName"]) + .leftJoin(UserInfoEntity, "b", "a.id = b.id") + .getRawMany(); +``` + +## 配置字典和可选项(8.x 新增) + +为了让前端可能自动识别某个字段的可选项或者属于哪个字典,我们可以在@Column 注解上配置`options`和`dict`属性, + +旧的写法 + +```ts +// 无法指定字典 + +// 可选项只能按照一定规则编写,否则前端无法识别 +@Column({ comment: '状态 0-禁用 1-启用', default: 1 }) +status: number; +``` + +新的写法 + +```ts +// 指定字典为goodsType,这样前端生成的时候就会默认指定这个字典 +@Column({ comment: '分类', dict: 'goodsType' }) +type: number; + +// 状态的可选项有禁用和启用,默认是启用,值是数组的下标,0-禁用,1-启用 +@Column({ comment: '状态', dict: ['禁用', '启用'], default: 1 }) +status: number; +``` diff --git a/.cursor/rules/event.mdc b/.cursor/rules/event.mdc new file mode 100644 index 0000000..5d03a04 --- /dev/null +++ b/.cursor/rules/event.mdc @@ -0,0 +1,102 @@ +--- +description: 事件(Event) +globs: +--- +# 事件(Event) + +事件是开发过程中经常使用到的功能,我们经常利用它来做一些解耦的操作。如:更新了用户信息,其他需要更新相关信息的操作自行监听更新等 + +## 新建监听 + +```ts +import { Provide, Scope, ScopeEnum } from "@midwayjs/core"; +import { CoolEvent, Event } from "@cool-midway/core"; + +/** + * 接收事件 + */ +@CoolEvent() +export class DemoEvent { + /** + * 根据事件名接收事件 + * @param msg + * @param a + */ + @Event("updateUser") + async updateUser(msg, a) { + console.log("ImEvent", "updateUser", msg, a); + } +} +``` + +## 发送事件 + +```ts +import { Get, Inject, Provide } from "@midwayjs/core"; +import { + CoolController, + BaseController, + CoolEventManager, +} from "@cool-midway/core"; + +/** + * 事件 + */ +@CoolController() +export class DemoEventController extends BaseController { + @Inject() + coolEventManager: CoolEventManager; + + /** + * 发送事件 + */ + @Get("/send") + public async send() { + this.coolEventManager.emit("updateUser", { a: 1 }, 12); + } +} +``` + +## 多进程通信 + +当你的项目利用如`pm2`等工具部署为 cluster 模式的时候,你的项目会有多个进程,这时候你的事件监听和发送只会在当前进程内有效,如果你需要触发到所有或者随机一个进程,需要使用多进程通信,这里我们提供了一个简单的方式来实现多进程通信。 + +需要根据你的业务需求来使用该功能!!! + +```ts +import { Get, Inject, Provide } from "@midwayjs/core"; +import { + CoolController, + BaseController, + CoolEventManager, +} from "@cool-midway/core"; + +/** + * 事件 + */ +@Provide() +@CoolController() +export class DemoEventController extends BaseController { + @Inject() + coolEventManager: CoolEventManager; + + @Post("/global", { summary: "全局事件,多进程都有效" }) + async global() { + await this.coolEventManager.globalEmit("demo", false, { a: 2 }, 1); + return this.ok(); + } +} +``` + +**globalEmit** + +```ts +/** + * 发送全局事件 + * @param event 事件 + * @param random 是否随机一个 + * @param args 参数 + * @returns + */ +globalEmit(event: string, random?: boolean, ...args: any[]) +``` diff --git a/.cursor/rules/exception.mdc b/.cursor/rules/exception.mdc new file mode 100644 index 0000000..93b27a4 --- /dev/null +++ b/.cursor/rules/exception.mdc @@ -0,0 +1,22 @@ +--- +description: 异常处理(Exception) +globs: +--- +# 异常处理 + +框架自带有: `CoolCommException` + +## 通用异常 + +CoolCommException + +返回码: 1001 + +返回消息:comm fail + +用法: + +```ts +// 可以自定义返回消息 +throw new CoolCommException('用户不存在~'); +``` \ No newline at end of file diff --git a/.cursor/rules/module.mdc b/.cursor/rules/module.mdc new file mode 100644 index 0000000..371f776 --- /dev/null +++ b/.cursor/rules/module.mdc @@ -0,0 +1,202 @@ +--- +description: 模块开发(module) +globs: +--- +# 模块开发(module) + +对于一个应用开发,我们应该更加有规划,`cool-admin`提供了模块开发的概念。 + +建议模块目录`src/modules/模块名` + +```ts + ├── modules + │ └── base(基础的权限管理系统) + │ │ └── controller(api接口, 用法参考 [controller.mdc](mdc:.cursor/rules/controller.mdc) ,必要时需要创建关联查询, 配置pageQueryOp) + │ │ │ └── admin(后台管理接口) + │ │ │ └── app(应用接口,如小程序APP等) + │ │ └── dto(可选,参数校验) + │ │ └── entity(实体类, 用法参考 [db.mdc](mdc:.cursor/rules/db.mdc) ) + │ │ └── middleware(可选,中间件, 参考 [middleware.code-snippets](mdc:.vscode/middleware.code-snippets) [authority.ts](mdc:src/modules/base/middleware/authority.ts) ) + │ │ └── schedule(可选,定时任务 参考 [task.mdc](mdc:.cursor/rules/task.mdc) ) + │ │ └── service(服务,写业务逻辑,参考 [service.mdc](mdc:.cursor/rules/service.mdc) ) + │ │ └── config.ts(必须,模块的配置) + │ │ └── db.json(可选,初始化该模块的数据,参考 [db.json](mdc:src/modules/base/db.json) ) + │ │ └── menu.json(可选(7.x新增,配合模块市场使用),初始化该模块的菜单,参考 [menu.json](mdc:src/modules/base/menu.json) ) + +``` + +创建模块一般需要创建`controller`、`entity`、`service`, +如果entity文件夹没有子文件夹,那么引用BaseEntity是 + + - 引用BaseEntity固定为 + + ```ts +import { BaseEntity } from '../../modules/base/entity/base'; + ``` + + 错误示例 + + ```ts +import { BaseEntity } from '../../../modules/base/entity/base'; + ``` + + 多了一个层级 + +## 模块配置 + +#### config.ts + +```ts +import { ModuleConfig } from '@cool-midway/core'; + +/** + * 模块配置 + */ +export default () => { + return { + // 必须,模块名称 + name: '聊天模块', + // 必须,模块描述 + description: '基于socket.io提供即时通讯聊天功能', + // 可选,中间件,只对本模块有效 + middlewares: [], + // 可选,全局中间件 + globalMiddlewares: [], + // 可选,模块加载顺序,默认为0,值越大越优先加载 + order: 1; + // 其他配置,jwt配置 + jwt: 'IUFHOFNIWI', + } as ModuleConfig; +}; + +``` + +::: warning +config.ts 的配置文件是必须的,有几个必填项描述着模块的功能,当然除此之外,你还可以设置模块的一些特有配置 +::: + +#### 引入配置 + +```ts + + @Config('module.模块名,模块文件夹名称,如demo') + config; + +``` + +## 数据导入 + +在模块中预设要导入的数据,位于`模块/db.json` + +1、向`dict_type`表导入数据 + +```json +{ + "dict_type": [ + { + "name": "升级类型", + "key": "upgradeType" + } + ] +} +``` + +2、导入有层级的数据,比如`dict_info`表需要先插入`dict_type`拿到`id`,再插入`dict_info` + +```json +{ + "dict_type": [ + { + "name": "升级类型", + "key": "upgradeType", + "@childDatas": { + "dict_info": [ + { + "typeId": "@id", + "name": "安卓", + "orderNum": 1, + "remark": null, + "parentId": null, + "value": "0" + }, + { + "typeId": "@id", + "name": "IOS", + "orderNum": 1, + "remark": null, + "parentId": null, + "value": "1" + } + ] + } + } + ] +} +``` + +`@childDatas`是一个特殊的字段,表示该字段下的数据需要先插入父级表,再插入子级表,`@id`表示父级表的`id`,`@id`是一个特殊的字段,表示插入父级表后,会返回`id`,然后插入子级表 + +## 菜单导入 + +在模块中预设要导入的菜单,位于`模块/menu.json`,菜单数据可以通过后台管理系统的菜单管理导出,不需要手动编写 + +详细参考 [menu.json](mdc:src/modules/base/menu.json) + +```json +[ + { + "name": "应用管理", + "router": null, + "perms": null, + "type": 0, + "icon": "icon-app", + "orderNum": 2, + "viewPath": null, + "keepAlive": true, + "isShow": true, + "childMenus": [ + { + "name": "套餐管理", + "router": "/app/goods", + "perms": null, + "type": 1, + "icon": "icon-goods", + "orderNum": 0, + "viewPath": "modules/app/views/goods.vue", + "keepAlive": true, + "isShow": true + } + ] + } +] +``` + +#### 关闭自动导入 + +通过该配置开启自动初始化模块数据库脚本 + +```ts +cool: { + // 是否自动导入数据库 + initDB: false, + } as CoolConfig, +``` + +::: warning +我们不建议在生产环境使用该功能,生产环境是数据库请通过本地导入与同步数据库结构 +::: + +#### 重新初始化 + +首次启动会初始化模块数据库,初始化完成会在项目根目录生成`.lock`文件,下次启动就不会重复导入,如果需要重新导入,删除该文件夹即可 + +```ts + ├── lock + │ ├── db + │ └── base.db.lock(base模块) + │ └── task.db.lock(task模块) + │ ├── menu + │ └── base.menu.lock(base模块) + │ └── task.menu.lock(task模块) + │──package.json +``` diff --git a/.cursor/rules/service.mdc b/.cursor/rules/service.mdc new file mode 100644 index 0000000..d6bfacf --- /dev/null +++ b/.cursor/rules/service.mdc @@ -0,0 +1,320 @@ +--- +description: 服务(Service) +globs: +--- +# 服务(Service) + +我们一般将业务逻辑写在`Service`层,`Controller`层只做参数校验、数据转换等操作,`Service`层做具体的业务逻辑处理。 + +`cool-admin`对基本的`Service`进行封装; + +## 重写 CRUD + +`Controller`的六个快速方法,`add`、`update`、`delete`、`info`、`list`、`page`,是通过调用一个通用的`BaseService`的方法实现,所以我们可以重写`Service`的方法来实现自己的业务逻辑。 + +**示例** + +重写 add 方法 + +```ts +import { DemoGoodsEntity } from "./../entity/goods"; +import { Provide } from "@midwayjs/core"; +import { BaseService } from "@cool-midway/core"; +import { InjectEntityModel } from "@midwayjs/typeorm"; +import { Repository } from "typeorm"; + +/** + * 商品示例 + */ +@Provide() +export class DemoGoodsService extends BaseService { + @InjectEntityModel(DemoGoodsEntity) + demoGoodsEntity: Repository; + + /** + * 新增 + * @param param + * @returns + */ + async add(param: any) { + // 调用原本的add,如果不需要可以不用这样写,完全按照自己的新增逻辑写 + const result = await super.add(param); + // 你自己的业务逻辑 + return result; + } +} +``` + +记得在`Controller`上配置对应的`Service`才会使其生效 + +```ts +import { DemoGoodsService } from "../../service/goods"; +import { DemoGoodsEntity } from "../../entity/goods"; +import { Body, Inject, Post, Provide } from "@midwayjs/core"; +import { CoolController, BaseController } from "@cool-midway/core"; +import { InjectEntityModel } from "@midwayjs/typeorm"; +import { Repository } from "typeorm"; + +/** + * 测试 + */ +@Provide() +@CoolController({ + api: ["add", "delete", "update", "info", "list", "page"], + entity: DemoGoodsEntity, + service: DemoGoodsService +}) +export class AppDemoGoodsController extends BaseController {} +``` + +## 普通查询(TypeOrm) + +普通查询基于[TypeOrm](mdc:https:/typeorm.io),点击查看官方详细文档 + +**示例** + +```ts +import { DemoGoodsEntity } from "./../entity/goods"; +import { Provide } from "@midwayjs/core"; +import { BaseService } from "@cool-midway/core"; +import { InjectEntityModel } from "@midwayjs/typeorm"; +import { In, Repository } from "typeorm"; + +/** + * 商品示例 + */ +@Provide() +export class DemoGoodsService extends BaseService { + @InjectEntityModel(DemoGoodsEntity) + demoGoodsEntity: Repository; + + async typeorm() { + // 新增单个,传入的参数字段在数据库中一定要存在 + await this.demoGoodsEntity.insert({ title: "xxx" }); + // 新增单个,传入的参数字段在数据库中可以不存在 + await this.demoGoodsEntity.save({ title: "xxx" }); + // 新增多个 + await this.demoGoodsEntity.save([{ title: "xxx" }]); + // 查找单个 + await this.demoGoodsEntity.findOneBy({ id: 1 }); + // 查找多个 + await this.demoGoodsEntity.findBy({ id: In([1, 2]) }); + // 删除单个 + await this.demoGoodsEntity.delete(1); + // 删除多个 + await this.demoGoodsEntity.delete([1]); + // 根据ID更新 + await this.demoGoodsEntity.update(1, { title: "xxx" }); + // 根据条件更新 + await this.demoGoodsEntity.update({ price: 20 }, { title: "xxx" }); + // 多条件操作 + await this.demoGoodsEntity + .createQueryBuilder() + .where("id = :id", { id: 1 }) + .andWhere("price = :price", { price: 20 }) + .getOne(); + } +} +``` + +## 高级查询(SQL) + +**1、普通 SQL 查询** + +```ts +import { DemoGoodsEntity } from "./../entity/goods"; +import { Provide } from "@midwayjs/core"; +import { BaseService } from "@cool-midway/core"; +import { InjectEntityModel } from "@midwayjs/typeorm"; +import { Repository } from "typeorm"; + +/** + * 商品示例 + */ +@Provide() +export class DemoGoodsService extends BaseService { + @InjectEntityModel(DemoGoodsEntity) + demoGoodsEntity: Repository; + + /** + * 执行sql + */ + async sql(query) { + return this.nativeQuery("select * from demo_goods a where a.id = ?", [query.id]); + } +} +``` + +**2、分页 SQL 查询** + +```ts +import { DemoGoodsEntity } from "./../entity/goods"; +import { Provide } from "@midwayjs/core"; +import { BaseService } from "@cool-midway/core"; +import { InjectEntityModel } from "@midwayjs/typeorm"; +import { Repository } from "typeorm"; + +/** + * 商品示例 + */ +@Provide() +export class DemoGoodsService extends BaseService { + @InjectEntityModel(DemoGoodsEntity) + demoGoodsEntity: Repository; + + /** + * 执行分页sql + */ + async sqlPage(query) { + return this.sqlRenderPage("select * from demo_goods ORDER BY id ASC", query, false); + } +} +``` + +**3、非 SQL 的分页查询** + +```ts +import { DemoGoodsEntity } from "./../entity/goods"; +import { Provide } from "@midwayjs/core"; +import { BaseService } from "@cool-midway/core"; +import { InjectEntityModel } from "@midwayjs/typeorm"; +import { In, Repository } from "typeorm"; + +/** + * 商品示例 + */ +@Provide() +export class DemoGoodsService extends BaseService { + @InjectEntityModel(DemoGoodsEntity) + demoGoodsEntity: Repository; + + /** + * 执行entity分页 + */ + async entityPage(query) { + const find = this.demoGoodsEntity.createQueryBuilder(); + find.where("id = :id", { id: 1 }); + return this.entityRenderPage(find, query); + } +} +``` + +**4、SQL 动态条件** + +分页查询和普通的 SQL 查询都支持动态条件,通过`this.setSql(条件,sql语句,参数)`来配置 + +```ts +import { DemoGoodsEntity } from "./../entity/goods"; +import { Provide } from "@midwayjs/core"; +import { BaseService } from "@cool-midway/core"; +import { InjectEntityModel } from "@midwayjs/typeorm"; +import { Repository } from "typeorm"; + +/** + * 商品示例 + */ +@Provide() +export class DemoGoodsService extends BaseService { + @InjectEntityModel(DemoGoodsEntity) + demoGoodsEntity: Repository; + + /** + * 执行sql + */ + async sql(query) { + return this.nativeQuery(` + select * from demo_goods a + WHERE 1=1 + ${this.setSql(query.id, "and a.id = ?", [query.id])} + ORDER BY id ASC + `); + } +} +``` + +## 修改之前(modifyBefore) + +有时候我们需要在数据进行修改动作之前,对它进行一些处理,比如:修改密码时,需要对密码进行加密,这时候我们可以使用`modifyBefore`方法来实现 + +```ts +import { DemoGoodsEntity } from "./../entity/goods"; +import { Provide } from "@midwayjs/core"; +import { BaseService } from "@cool-midway/core"; +import { InjectEntityModel } from "@midwayjs/typeorm"; +import { Repository } from "typeorm"; +import * as md5 from "md5"; + +/** + * 商品示例 + */ +@Provide() +export class DemoGoodsService extends BaseService { + @InjectEntityModel(DemoGoodsEntity) + demoGoodsEntity: Repository; + + /** + * 修改之前 + * @param data + * @param type + */ + async modifyBefore(data: any, type: "delete" | "update" | "add") { + if (type == "update") { + data.password = md5(data.password); + } + } +} +``` + +## 修改之后(modifyAfter) + +有时候我们需要在数据进行修改动作之后,对它进行一些处理,比如:修改完数据之后将它放入队列或者 ElasticSearch + +```ts +import { DemoGoodsEntity } from "./../entity/goods"; +import { Provide } from "@midwayjs/core"; +import { BaseService } from "@cool-midway/core"; +import { InjectEntityModel } from "@midwayjs/typeorm"; +import { Repository } from "typeorm"; +import * as md5 from "md5"; + +/** + * 商品示例 + */ +@Provide() +export class DemoGoodsService extends BaseService { + @InjectEntityModel(DemoGoodsEntity) + demoGoodsEntity: Repository; + + /** + * 修改之后 + * @param data + * @param type + */ + async modifyAfter(data: any, type: "delete" | "update" | "add") { + // 你想做的其他事情 + } +} +``` + +## 设置实体 + +`Service`与`Service`之间相互调用`BaseService`里的方法,有可能出现“未设置操作实体”的问题可以通过以下方式设置实体 + +::: warning 建议 +但是一般不建议这样做,因为这样会导致`Service`与`Service`耦合,不利于代码的维护,如果要操作对应的表直接在当前的`Service`注入对应的表操作即可 +::: + +```ts +@Provide() +export class XxxService extends BaseService { + @InjectEntityModel(XxxEntity) + xxxEntity: Repository; + + @Init() + async init() { + await super.init(); + // 设置实体 + this.setEntity(this.xxxEntity); + } +} +``` diff --git a/.cursor/rules/socket.mdc b/.cursor/rules/socket.mdc new file mode 100644 index 0000000..0e35fc7 --- /dev/null +++ b/.cursor/rules/socket.mdc @@ -0,0 +1,127 @@ +--- +description: 即时通讯(Socket) +globs: +--- +# 即时通讯(Socket) + +`cool-admin`即时通讯功能基于[Socket.io(v4)](https://socket.io/docs/v4)开发,[midwayjs 官方 Socket.io 文档](http://midwayjs.org/docs/extensions/socketio) + +## 配置 + +`configuration.ts` + +```ts +import * as socketio from "@midwayjs/socketio"; + +@Configuration({ + imports: [ + // socketio http://www.midwayjs.org/docs/extensions/socketio + socketio, + ], + importConfigs: [join(__dirname, "./config")], +}) +export class ContainerLifeCycle { + @App() + app: koa.Application; + + async onReady() {} +} +``` + +## 配置`config/config.default.ts` + +需要配置 redis 适配器,让进程之间能够进行通讯 + +```ts +import { CoolConfig, MODETYPE } from "@cool-midway/core"; +import { MidwayConfig } from "@midwayjs/core"; +import * as fsStore from "@cool-midway/cache-manager-fs-hash"; +import { createAdapter } from "@socket.io/redis-adapter"; +// @ts-ignore +import Redis from "ioredis"; + +const redis = { + host: "127.0.0.1", + port: 6379, + password: "", + db: 0, +}; + +const pubClient = new Redis(redis); +const subClient = pubClient.duplicate(); + +export default { + // ... + // socketio + socketIO: { + upgrades: ["websocket"], // 可升级的协议 + adapter: createAdapter(pubClient, subClient), + }, +} as MidwayConfig; +``` + +## 服务端 + +```ts +import { + WSController, + OnWSConnection, + Inject, + OnWSMessage, +} from "@midwayjs/core"; +import { Context } from "@midwayjs/socketio"; +/** + * 测试 + */ +@WSController("/") +export class HelloController { + @Inject() + ctx: Context; + + // 客户端连接 + @OnWSConnection() + async onConnectionMethod() { + console.log("on client connect", this.ctx.id); + console.log("参数", this.ctx.handshake.query); + this.ctx.emit("data", "连接成功"); + } + + // 消息事件 + @OnWSMessage("myEvent") + async gotMessage(data) { + console.log("on data got", this.ctx.id, data); + } +} +``` + +## 客户端 + +```ts +const io = require("socket.io-client"); + +const socket = io("http://127.0.0.1:8001", { + auth: { + token: "xxx", + }, +}); + +socket.on("data", (msg) => { + console.log("服务端消息", msg); +}); +``` + +## 注意事项 + +如果部署为多线程的,为了让进程之间能够进行通讯,需要配置 redis 适配器,[配置方式](http://midwayjs.org/docs/extensions/socketio#%E9%85%8D%E7%BD%AE-redis-%E9%80%82%E9%85%8D%E5%99%A8) + +```ts +// src/config/config.default +import { createRedisAdapter } from "@midwayjs/socketio"; + +export default { + // ... + socketIO: { + adapter: createRedisAdapter({ host: "127.0.0.1", port: 6379 }), + }, +}; +``` diff --git a/.cursor/rules/task.mdc b/.cursor/rules/task.mdc new file mode 100644 index 0000000..b2a17ac --- /dev/null +++ b/.cursor/rules/task.mdc @@ -0,0 +1,382 @@ +--- +description: 任务与队列(Task) +globs: +--- +# 任务与队列(Task) + +## 内置任务(代码中配置) + +内置定时任务能力来自于[midwayjs](https://www.midwayjs.org/docs/extensions/cron) + +### 引入组件 + +```ts +import { Configuration } from "@midwayjs/core"; +import * as cron from "@midwayjs/cron"; // 导入模块 +import { join } from "path"; + +@Configuration({ + imports: [cron], + importConfigs: [join(__dirname, "config")], +}) +export class AutoConfiguration {} +``` + +### 使用 + +```ts +import { Job, IJob } from "@midwayjs/cron"; +import { FORMAT } from "@midwayjs/core"; + +@Job({ + cronTime: FORMAT.CRONTAB.EVERY_PER_30_MINUTE, + start: true, +}) +export class DataSyncCheckerJob implements IJob { + async onTick() { + // ... + } +} +``` + +```ts +@Job("syncJob", { + cronTime: "*/2 * * * * *", // 每隔 2s 执行 +}) +export class DataSyncCheckerJob implements IJob { + async onTick() { + // ... + } +} +``` + +### 规则 cron + +```ts +* * * * * * +┬ ┬ ┬ ┬ ┬ ┬ +│ │ │ │ │ | +│ │ │ │ │ └ day of week (0 - 7) (0 or 7 is Sun) +│ │ │ │ └───── month (1 - 12) +│ │ │ └────────── day of month (1 - 31) +│ │ └─────────────── hour (0 - 23) +│ └──────────────────── minute (0 - 59) +└───────────────────────── second (0 - 59, optional) + +``` + +::: warning 警告 + +注意:该方式在多实例部署的情况下无法做到任务之前的协同,任务存在重复执行的可能 + +::: + +## 本地任务(管理后台配置,v8.0 新增) + +可以到登录后台`/系统管理/任务管理/任务列表`,配置任务。默认是不需要任何依赖的, 旧版需要依赖`redis`才能使用该功能。 + +### 配置任务 + +配置完任务可以调用你配置的 service 方法,如:taskDemoService.test() + +### 规则 cron + +规则 cron + +```ts +* * * * * * +┬ ┬ ┬ ┬ ┬ ┬ +│ │ │ │ │ | +│ │ │ │ │ └ day of week (0 - 7) (0 or 7 is Sun) +│ │ │ │ └───── month (1 - 12) +│ │ │ └────────── day of month (1 - 31) +│ │ └─────────────── hour (0 - 23) +│ └──────────────────── minute (0 - 59) +└───────────────────────── second (0 - 59, optional) + +``` + +规则示例: + +- 每 5 秒执行一次: `*/5 * * * * *` +- 每 5 分钟执行一次: `*/5 * * * *` +- 每小时执行一次: `0 * * * *` +- 每天执行一次: `0 0 * * *` +- 每天 1 点执行: `0 1 * * *` +- 每周执行一次: `0 0 * * 0` +- 每月执行一次: `0 0 1 * *` + +![](/admin/node/task.png) + +## 分布式任务(管理后台配置) + +当需要分布式部署时,需要开启分布式任务,通过 redis 作为协同整个集群的任务,防止任务重复执行等异常情况。 + +#### 引入插件 + +`src/configuration.ts` + +```ts +import { Configuration, App } from "@midwayjs/core"; +import { join } from "path"; +import * as task from "@cool-midway/task"; + +@Configuration({ + imports: [task], + importConfigs: [join(__dirname, "./config")], +}) +export class ContainerLifeCycle { + @App() + app: koa.Application; + + async onReady() {} +} +``` + +#### 配置 + +[redis>=5.x](https://redis.io/),推荐[redis>=7.x](https://redis.io/) + +`src/config/config.default.ts` + +::: warning 注意 +很多人忽略了这个配置,导致项目包 redis 连接错误!!! +::: + +```ts +import { CoolFileConfig, MODETYPE } from "@cool-midway/file"; +import { MidwayConfig } from "@midwayjs/core"; +import * as fsStore from "cache-manager-fs-hash"; + +export default { + // 修改成你自己独有的key + keys: "cool-admin for node", + koa: { + port: 8001, + }, + // cool配置 + cool: { + redis: { + host: "127.0.0.1", + port: 6379, + password: "", + db: 0, + }, + }, +} as unknown as MidwayConfig; +``` + +redis cluster 方式 + +```ts +[ + { + host: "192.168.0.103", + port: 7000, + }, + { + host: "192.168.0.103", + port: 7001, + }, + { + host: "192.168.0.103", + port: 7002, + }, + { + host: "192.168.0.103", + port: 7003, + }, + { + host: "192.168.0.103", + port: 7004, + }, + { + host: "192.168.0.103", + port: 7005, + }, +]; +``` + +### 创建执行任务的 service + +```ts +import { Provide } from "@midwayjs/core"; +import { BaseService } from "@cool-midway/core"; +/** + * 任务执行的demo示例 + */ +@Provide() +export class DemoTaskService extends BaseService { + /** + * 测试任务执行 + * @param params 接收的参数 数组 [] 可不传 + */ + async test(params?: []) { + // 需要登录后台任务管理配置任务 + console.log("任务执行了", params); + } +} +``` + +### 配置定时任务 + +登录后台 任务管理/任务列表 + +![](/admin/node/task.png) + +::: warning +截图中的 demoTaskService 为上一步执行任务的 service 的实例 ID,midwayjs 默认为类名首字母小写!!! + +任务调度基于 redis,所有的任务都需要通过代码去维护任务的创建,启动,暂停。 所以直接改变数据库的任务状态是无效的,redis 中的信息还未清空, 任务将继续执行。 +::: + +## 队列 + +之前的分布式任务调度,其实是利用了[bullmq](https://docs.bullmq.io/)的重复队列机制。 + +在项目开发过程中特别是较大型、数据量较大、业务较复杂的场景下往往需要用到队列。 如:抢购、批量发送消息、分布式事务、订单 2 小时后失效等。 + +得益于[bullmq](https://docs.bullmq.io/),cool 的队列也支持`延迟`、`重复`、`优先级`等高级特性。 + +### 创建队列 + +一般放在名称为 queue 文件夹下 + +#### 普通队列 + +普通队列数据由消费者自动消费,必须重写 data 方法用于被动消费数据。 + +`src/modules/demo/queue/comm.ts` + +```ts +import { BaseCoolQueue, CoolQueue } from "@cool-midway/task"; +import { IMidwayApplication } from "@midwayjs/core"; +import { App } from "@midwayjs/core"; + +/** + * 普通队列 + */ +@CoolQueue() +export class DemoCommQueue extends BaseCoolQueue { + @App() + app: IMidwayApplication; + + async data(job: any, done: any): Promise { + // 这边可以执行定时任务具体的业务或队列的业务 + console.log("数据", job.data); + // 抛出错误 可以让队列重试,默认重试5次 + //throw new Error('错误'); + done(); + } +} +``` + +#### 主动队列 + +主动队列数据由消费者主动消费 + +`src/modules/demo/queue/getter.ts` + +```ts +import { BaseCoolQueue, CoolQueue } from "@cool-midway/task"; + +/** + * 主动消费队列 + */ +@CoolQueue({ type: "getter" }) +export class DemoGetterQueue extends BaseCoolQueue {} +``` + +主动消费数据 + +```ts + // 主动消费队列 + @Inject() + demoGetterQueue: DemoGetterQueue; + + const job = await this.demoGetterQueue.getters.getJobs(['wait'], 0, 0, true); + // 获得完将数据从队列移除 + await job[0].remove(); +``` + +### 发送数据 + +```ts +import { Get, Inject, Post, Provide } from "@midwayjs/core"; +import { CoolController, BaseController } from "@cool-midway/core"; +import { DemoCommQueue } from "../../queue/comm"; +import { DemoGetterQueue } from "../../queue/getter"; + +/** + * 队列 + */ +@Provide() +@CoolController() +export class DemoQueueController extends BaseController { + // 普通队列 + @Inject() + demoCommQueue: DemoCommQueue; + + // 主动消费队列 + @Inject() + demoGetterQueue: DemoGetterQueue; + + /** + * 发送数据到队列 + */ + @Post("/add", { summary: "发送队列数据" }) + async queue() { + this.demoCommQueue.add({ a: 2 }); + return this.ok(); + } + + /** + * 获得队列中的数据,只有当队列类型为getter时有效 + */ + @Get("/getter") + async getter() { + const job = await this.demoCommQueue.getters.getJobs(["wait"], 0, 0, true); + // 获得完将数据从队列移除 + await job[0].remove(); + return this.ok(job[0].data); + } +} +``` + +队列配置 + +```ts +interface JobOpts { + priority: number; // Optional priority value. ranges from 1 (highest priority) to MAX_INT (lowest priority). Note that + // using priorities has a slight impact on performance, so do not use it if not required. + + delay: number; // An amount of milliseconds to wait until this job can be processed. Note that for accurate delays, both + // server and clients should have their clocks synchronized. [optional]. + + attempts: number; // The total number of attempts to try the job until it completes. + + repeat: RepeatOpts; // Repeat job according to a cron specification. + + backoff: number | BackoffOpts; // Backoff setting for automatic retries if the job fails, default strategy: `fixed` + + lifo: boolean; // if true, adds the job to the right of the queue instead of the left (default false) + timeout: number; // The number of milliseconds after which the job should be fail with a timeout error [optional] + + jobId: number | string; // Override the job ID - by default, the job ID is a unique + // integer, but you can use this setting to override it. + // If you use this option, it is up to you to ensure the + // jobId is unique. If you attempt to add a job with an id that + // already exists, it will not be added. + + removeOnComplete: boolean | number; // If true, removes the job when it successfully + // completes. A number specified the amount of jobs to keep. Default behavior is to keep the job in the completed set. + + removeOnFail: boolean | number; // If true, removes the job when it fails after all attempts. A number specified the amount of jobs to keep + // Default behavior is to keep the job in the failed set. + stackTraceLimit: number; // Limits the amount of stack trace lines that will be recorded in the stacktrace. +} +``` + +::: tip +this.demoQueue.queue 获得的就是 bull 实例,更多 bull 的高级用户可以查看[bull 文档](https://github.com/OptimalBits/bull/blob/develop/REFERENCE.md) +::: diff --git a/.cursor/rules/tenant.mdc b/.cursor/rules/tenant.mdc new file mode 100644 index 0000000..15e595a --- /dev/null +++ b/.cursor/rules/tenant.mdc @@ -0,0 +1,178 @@ +--- +description: 多租户(Tenant) +globs: +--- +# 多租户(v8.0新增) + +多租户(Multi-tenancy)是一种软件架构模式,允许单个应用实例服务多个租户(客户组织)。每个租户的数据是相互隔离的,但共享同一个应用程序代码和基础设施。 + + +## 主要特点 + +- **数据隔离**: 确保不同租户之间的数据严格分离,互不可见 +- **资源共享**: 多个租户共享同一套应用程序代码和基础设施 +- **独立配置**: 每个租户可以有自己的个性化配置和定制化需求 +- **成本优化**: 通过资源共享降低运营和维护成本 + +## 实现 + +### 1、数据隔离 + +多租户的数据隔离有许多种方案,但最为常见的是以列进行隔离的方式。Cool Admin 通过在`BaseEntity`中加入指定的列(租户ID `tenantId`)对数据进行隔离。 + +::: tip 小贴士 + +v8.0之后,`BaseEntity`已经从`cool-midway/core`中移动至`src/modules/base/entity/base.ts`,方便开发者扩展定制 + +::: + + +`src/modules/base/entity/base.ts` +```ts +import { + Index, + UpdateDateColumn, + CreateDateColumn, + PrimaryGeneratedColumn, + Column, +} from 'typeorm'; +import { CoolBaseEntity } from '@cool-midway/core'; + +/** + * 实体基类 + */ +export abstract class BaseEntity extends CoolBaseEntity { + // 默认自增 + @PrimaryGeneratedColumn('increment', { + comment: 'ID', + }) + id: number; + + @Index() + @CreateDateColumn({ comment: '创建时间' }) + createTime: Date; + + @Index() + @UpdateDateColumn({ comment: '更新时间' }) + updateTime: Date; + + @Index() + @Column({ comment: '租户ID', nullable: true }) + tenantId: number; +} + +``` + +### 2、条件注入 + +Cool 改造了 `typeorm`的 `Subscriber`,新增了以下四种监听: + +```ts +/** + * 当进行select的QueryBuilder构建之后触发 + */ +afterSelectQueryBuilder?(queryBuilder: SelectQueryBuilder): void; + +/** + * 当进行insert的QueryBuilder构建之后触发 + */ +afterInsertQueryBuilder?(queryBuilder: InsertQueryBuilder): void; + +/** + * 当进行update的QueryBuilder构建之后触发 + */ +afterUpdateQueryBuilder?(queryBuilder: UpdateQueryBuilder): void; + +/** + * 当进行delete的QueryBuilder构建之后触发 + */ +afterDeleteQueryBuilder?(queryBuilder: DeleteQueryBuilder): void; +``` + +在`src/modules/base/db/tenant.ts`中,通过`tenantId`进行条件注入,从而实现数据隔离。 + +## 使用 + +### 1、开启多租户 + +框架默认关闭多租户,需要手动开启,在`src/config/config.default.ts`中开启多租户 + +```ts +cool: { + // 是否开启多租户 + tenant: { + // 是否开启多租户 + enable: true, + // 需要过滤多租户的url, 支持通配符,如/admin/**/* 表示admin模块下的所有接口都进行多租户过滤 + urls: [], + }, + } +``` +tenant +### 2、代码中使用 + +只要开启了多租户,并配置了`urls`,那么框架会自动注入`tenantId`,开发者原本的代码不需要做任何修改,框架会自动进行数据隔离。 + +#### Controller + +@CoolController的`add`、`delete`、`update`、`info`、`list`、`page`方法都支持过滤多租户。 + + +#### Service + +`Service`中使用多租户,以下是一个完整的示例,包含有效和无效的情况,开发者需要结合实际业务进行选择。 + +```ts +import { Inject, Provide } from '@midwayjs/core'; +import { BaseService } from '@cool-midway/core'; +import { InjectEntityModel } from '@midwayjs/typeorm'; +import { Repository } from 'typeorm'; +import { DemoGoodsEntity } from '../entity/goods'; +import { UserInfoEntity } from '../../user/entity/info'; +import { noTenant } from '../../base/db/tenant'; + +/** + * 商品服务 + */ +@Provide() +export class DemoTenantService extends BaseService { + @InjectEntityModel(DemoGoodsEntity) + demoGoodsEntity: Repository; + + @Inject() + ctx; + + /** + * 使用多租户 + */ + async use() { + await this.demoGoodsEntity.createQueryBuilder().getMany(); + await this.demoGoodsEntity.find(); + } + + /** + * 不使用多租户(局部不使用) + */ + async noUse() { + // 过滤多租户 + await this.demoGoodsEntity.createQueryBuilder().getMany(); + // 被noTenant包裹,不会过滤多租户 + await noTenant(this.ctx, async () => { + return await this.demoGoodsEntity.createQueryBuilder().getMany(); + }); + // 过滤多租户 + await this.demoGoodsEntity.find(); + } + + /** + * 无效多租户 + */ + async invalid() { + // 自定义sql,不进行多租户过滤 + await this.nativeQuery('select * from demo_goods'); + // 自定义分页sql,进行多租户过滤 + await this.sqlRenderPage('select * from demo_goods', {}); + } +} + +``` \ No newline at end of file diff --git a/.cursorrules b/.cursorrules new file mode 100644 index 0000000..4ecc8cd --- /dev/null +++ b/.cursorrules @@ -0,0 +1,51 @@ +# 项目背景 +- 数据库:MySQL、Sqlite、Postgres、Typeorm(0.3.20版本, 不使用外键方式,如@ManyToOne、@OneToMany等) +- 语言:TypeScript、JavaScript、CommonJS +- 框架:Koa.js、midway.js、cool-admin-midway +- 项目版本:8.x + +# 目录 +项目目录: + ├── .vscode(代码片段,根据关键字可以快速地生成代码) + ├── public(静态资源文件,如js、css或者上传的文件) + ├── src + │ └── comm(通用库) + │ └── modules(项目模块) + │ └── config + │ │ └── config.default.ts(默认配置,不区分环境,都生效) + │ │ └── config.local.ts(本地开发配置,对应npm run dev) + │ │ └── config.prod.ts(生产环境配置,对应npm run start) + │ └── configuration.ts(midway的配置文件) + │ └── welcome.ts(环境的controller) + │ └── interface.ts(类型声明) + ├── package.json(依赖管理,项目信息) + ├── bootstrap.js(生产环境启动入口文件,可借助pm2等工具多进程启动) + └── ... + + 模块目录 + ├── modules + │ └── base(基础的权限管理系统) + │ │ └── controller(api接口) + │ │ └── dto(参数校验) + │ │ └── entity(实体类) + │ │ └── middleware(中间件) + │ │ └── schedule(定时任务) + │ │ └── service(服务,写业务逻辑) + │ │ └── config.ts(必须,模块的配置) + │ │ └── db.json(可选,初始化该模块的数据) + │ │ └── menu.json(可选,初始化该模块的菜单) + + # 其它 +- 始终使用中文回复,包括代码注释等 +- `@midwayjs/decorator`,已弃用,使用`@midwayjs/core` +- 不要使用自定义sql来操作数据库,而是使用typeorm的api,统计相关的可以考虑使用原生sql +- Controller中不允许重写`add`、`delete`、`update`、`info`、`list`、`page`方法 +- Controller不需要加@Provide()注解 +- page接口关联表查询一般写在Controller的pageQueryOp中,尽量不要使用自定义sql +- Entity字段使用驼峰命名,如:studentNo +- Entity不允许使用@ManyToOne、@OneToMany等外键关系 +- Entity的BaseEntity引用固定为:`import { BaseEntity } from '../../base/entity/base';`,禁止修改层级 +- 创建api接口时,不要多层级如:`/student/detail`,改为`/studentDetail`,用驼峰法; +- 本项目是版本8.x,所有代码都需要按照新的写法进行编写,如Entity字典的配置 +- 文件的命名不要使用驼峰法,而是使用下划线法,如:student_info.entity.ts,另外禁止太啰嗦,比如:student模块下的学生信息,不要写成:student_info, 而是写成info.ts,班级信息:class.ts,不要写成student_class.ts +- 创建模块代码需要读取.cursor/rules的module.mdc、controller.mdc、service.mdc、db.mdc,其它的rules根据需要进行参考 \ No newline at end of file diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..4c7f8a8 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,11 @@ +# 🎨 editorconfig.org + +root = true + +[*] +charset = utf-8 +end_of_line = lf +indent_style = space +indent_size = 2 +trim_trailing_whitespace = true +insert_final_newline = true \ No newline at end of file diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..d5d382e --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,30 @@ +{ + "extends": "./node_modules/mwts/", + "ignorePatterns": [ + "node_modules", + "dist", + "test", + "jest.config.js", + "typings", + "public/**/**", + "view/**/**", + "packages" + ], + "env": { + "jest": true + }, + "rules": { + "@typescript-eslint/explicit-module-boundary-types": "off", + "@typescript-eslint/no-unused-vars": "off", + "@typescript-eslint/ban-ts-comment": "off", + "node/no-extraneous-import": "off", + "no-empty": "off", + "node/no-extraneous-require": "off", + "node/no-unpublished-import": "off", + "eqeqeq": "off", + "node/no-unsupported-features/node-builtins": "off", + "@typescript-eslint/ban-types": "off", + "no-control-regex": "off", + "prefer-const": "off" + } +} \ No newline at end of file diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..0b909d8 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,4 @@ +*.js text eol=lf +*.json text eol=lf +*.ts text eol=lf +*.code-snippets text eol=lf \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3022174 --- /dev/null +++ b/.gitignore @@ -0,0 +1,21 @@ +logs/ +cache/ +npm-debug.log +yarn-error.log +node_modules/ +package-lock.json +yarn.lock +coverage/ +dist/ +.idea/ +run/ +build/ +.DS_Store +launch.json +*.sw* +*.un~ +.tsbuildinfo +.tsbuildinfo.* +data/* +pnpm-lock.yaml +public/uploads/* diff --git a/.prettierrc.js b/.prettierrc.js new file mode 100644 index 0000000..b964930 --- /dev/null +++ b/.prettierrc.js @@ -0,0 +1,3 @@ +module.exports = { + ...require('mwts/.prettierrc.json') +} diff --git a/.vscode/config.code-snippets b/.vscode/config.code-snippets new file mode 100644 index 0000000..2abbf4f --- /dev/null +++ b/.vscode/config.code-snippets @@ -0,0 +1,28 @@ +{ + "config": { + "prefix": "config", + "body": [ + "import { ModuleConfig } from '@cool-midway/core';", + "", + "/**", + " * 模块配置", + " */", + "export default () => {", + " return {", + " // 模块名称", + " name: 'xxx',", + " // 模块描述", + " description: 'xxx',", + " // 中间件,只对本模块有效", + " middlewares: [],", + " // 中间件,全局有效", + " globalMiddlewares: [],", + " // 模块加载顺序,默认为0,值越大越优先加载", + " order: 0,", + " } as ModuleConfig;", + "};", + "" + ], + "description": "cool-admin config代码片段" + } +} diff --git a/.vscode/controller.code-snippets b/.vscode/controller.code-snippets new file mode 100644 index 0000000..5bd7095 --- /dev/null +++ b/.vscode/controller.code-snippets @@ -0,0 +1,19 @@ +{ + "controller": { + "prefix": "controller", + "body": [ + "import { CoolController, BaseController } from '@cool-midway/core';", + "", + "/**", + " * 描述", + " */", + "@CoolController({", + " api: ['add', 'delete', 'update', 'info', 'list', 'page'],", + " entity: 实体,", + "})", + "export class XxxController extends BaseController {}", + "" + ], + "description": "cool-admin controller代码片段" + } +} diff --git a/.vscode/entity.code-snippets b/.vscode/entity.code-snippets new file mode 100644 index 0000000..0a362e1 --- /dev/null +++ b/.vscode/entity.code-snippets @@ -0,0 +1,20 @@ +{ + "entity": { + "prefix": "entity", + "body": [ + "import { BaseEntity } from '../../base/entity/base';", + "import { Column, Entity } from 'typeorm';", + "", + "/**", + " * 描述", + " */", + "@Entity('xxx_xxx_xxx')", + "export class XxxEntity extends BaseEntity {", + " @Column({ comment: '描述' })", + " xxx: string;", + "}", + "" + ], + "description": "cool-admin entity代码片段" + } +} diff --git a/.vscode/event.code-snippets b/.vscode/event.code-snippets new file mode 100644 index 0000000..dae6473 --- /dev/null +++ b/.vscode/event.code-snippets @@ -0,0 +1,21 @@ +{ + "event": { + "prefix": "event", + "body": [ + "import { CoolEvent, Event } from '@cool-midway/core';", + "", + "/**", + " * 接收事件", + " */", + "@CoolEvent()", + "export class xxxEvent {", + " @Event('updateUser')", + " async updateUser(msg, a) {", + " console.log('ImEvent', 'updateUser', msg, a);", + " }", + "}", + "" + ], + "description": "cool-admin event代码片段" + } +} diff --git a/.vscode/middleware.code-snippets b/.vscode/middleware.code-snippets new file mode 100644 index 0000000..76230f8 --- /dev/null +++ b/.vscode/middleware.code-snippets @@ -0,0 +1,29 @@ +{ + "middleware": { + "prefix": "middleware", + "body": [ + "import { Middleware } from '@midwayjs/core';", + "import { NextFunction, Context } from '@midwayjs/koa';", + "import { IMiddleware } from '@midwayjs/core';", + "", + "/**", + " * 描述", + " */", + "@Middleware()", + "export class XxxMiddleware implements IMiddleware {", + " resolve() {", + " return async (ctx: Context, next: NextFunction) => {", + " // 控制器前执行的逻辑", + " const startTime = Date.now();", + " // 执行下一个 Web 中间件,最后执行到控制器", + " await next();", + " // 控制器之后执行的逻辑", + " console.log(Date.now() - startTime);", + " };", + " }", + "}", + "" + ], + "description": "cool-admin middleware代码片段" + } +} diff --git a/.vscode/queue.code-snippets b/.vscode/queue.code-snippets new file mode 100644 index 0000000..3518633 --- /dev/null +++ b/.vscode/queue.code-snippets @@ -0,0 +1,21 @@ +{ + "queue": { + "prefix": "queue", + "body": [ + "import { BaseCoolQueue, CoolQueue } from '@cool-midway/task';", + "", + "/**", + " * 队列", + " */", + "@CoolQueue()", + "export abstract class xxxQueue extends BaseCoolQueue {", + " async data(job: any, done: any) {", + " console.log('收到的数据', job.data);", + " done();", + " }", + "}", + "" + ], + "description": "cool-admin service代码片段" + } +} diff --git a/.vscode/service.code-snippets b/.vscode/service.code-snippets new file mode 100644 index 0000000..6ebf77a --- /dev/null +++ b/.vscode/service.code-snippets @@ -0,0 +1,33 @@ +{ + "service": { + "prefix": "service", + "body": [ + "import { Init, Provide } from '@midwayjs/core';", + "import { BaseService } from '@cool-midway/core';", + "import { InjectEntityModel } from '@midwayjs/typeorm';", + "import { Repository } from 'typeorm';", + "", + "/**", + " * 描述", + " */", + "@Provide()", + "export class XxxService extends BaseService {", + " @InjectEntityModel(实体)", + " xxxEntity: Repository<实体>;", + "" + " @Init()" + " async init() {", + " await super.init();", + " this.setEntity(this.xxxEntity);", + " }", + "", + " /**", + " * 描述", + " */", + " async xxx() {}", + "}", + "" + ], + "description": "cool-admin service代码片段" + } +} \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..b68ce7a --- /dev/null +++ b/Dockerfile @@ -0,0 +1,33 @@ + +FROM node:lts-alpine + +WORKDIR /app + +# 配置alpine国内镜像加速 +RUN sed -i "s@http://dl-cdn.alpinelinux.org/@https://repo.huaweicloud.com/@g" /etc/apk/repositories + +# 安装tzdata,默认的alpine基础镜像不包含时区组件,安装后可通过TZ环境变量配置时区 +RUN apk add --no-cache tzdata + +# 设置时区为中国东八区,这里的配置可以被docker-compose.yml或docker run时指定的时区覆盖 +ENV TZ="Asia/Shanghai" + +# 如果各公司有自己的私有源,可以替换registry地址,如使用官方源注释下一行 +RUN npm config set registry https://registry.npmmirror.com + +# 复制package.json +COPY package.json ./package.json +# 安装依赖 +RUN npm install +# 构建项目 +COPY . . +RUN npm run build +# 删除开发期依赖 +RUN rm -rf node_modules && rm package-lock.json +# 安装生产环境依赖 +RUN npm install + +# 如果端口更换,这边可以更新一下 +EXPOSE 8001 + +CMD ["npm", "run", "start"] \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..b6722d4 --- /dev/null +++ b/LICENSE @@ -0,0 +1,33 @@ +MIT License + +Copyright (c) [2025] [厦门闪酷科技开发有限公司] + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +--- + +MIT 许可证 + +版权所有 (c) [2025] [厦门闪酷科技开发有限公司] + +特此免费授予获得本软件及相关文档文件(“软件”)副本的任何人无限制地处理本软件的权限,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件的副本,并允许软件提供给其的人员这样做,但须符合以下条件: + +上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。 + +本软件按“原样”提供,不提供任何明示或暗示的担保,包括但不限于对适销性、特定用途适用性和非侵权的担保。在任何情况下,作者或版权持有人均不对因软件或软件使用或其他交易而产生的任何索赔、损害或其他责任负责,无论是在合同诉讼、侵权诉讼或其他诉讼中。 \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..8bf3bb7 --- /dev/null +++ b/README.md @@ -0,0 +1,196 @@ +

+ Midway Logo +

+ +

cool-admin(nodejs版)一个很酷的后台权限管理系统,开源免费,Ai编码、流程编排、模块化、插件化、极速开发CRUD,方便快速构建迭代后台管理系统,支持原生、docker、普通服务器等多种方式部署 +到 官网 进一步了解。 +

+ GitHub license + GitHub tag + GitHub tag +

+ +## 特性 + +Ai 时代,很多老旧的框架已经无法满足现代化的开发需求,Cool-Admin 开发了一系列的功能,让开发变得更简单、更快速、更高效。 + +- **Ai 编码**:通过微调大模型学习框架特有写法,实现简单功能从 Api 接口到前端页面的一键生成[详情](https://node.cool-admin.com/src/guide/ai.html) +- **流程编排**:通过拖拽编排方式,即可实现类似像智能客服这样的功能[详情](https://node.cool-admin.com/src/guide/flow.html) +- **多租户**:支持多租户,采用全局动态注入查询条件[详情](https://node.cool-admin.com/src/guide/core/tenant.html) +- **多语言**:基于大模型自动翻译,无需更改原有代码[详情](https://node.cool-admin.com/src/guide/core/i18n.html) +- **原生打包**:打包成 exe 等安装包,打包完可以直接运行在 windows、mac、linux 等操作系统上[详情](https://node.cool-admin.com/src/guide/core/pkg.html) +- **模块化**:代码是模块化的,清晰明了,方便维护 +- **插件化**:插件化的设计,可以通过安装插件的方式扩展如:支付、短信、邮件等功能 +- ...... + +![](https://cool-show.oss-cn-shanghai.aliyuncs.com/admin/flow.png) + +## 技术栈 + +- 后端:**`node.js` `typescript`** +- 前端:**`vue.js` `element-plus` `jsx` `pinia` `vue-router`** +- 数据库:**`mysql` `postgresql` `sqlite`** + +如果你是前端,后端的这些技术选型对你是特别友好的,前端开发者可以较快速地上手。 +如果你是后端,Typescript 的语法又跟 java、php 等特别类似,一切看起来也是那么得熟悉。 + +如果你想使用 java 版本后端,请移步[cool-admin-java](https://cool-js.com/admin/java/introduce.html) + +#### 官网 + +[https://cool-js.com](https://cool-js.com) + +## 视频教程 + +[官方 B 站视频教程](https://www.bilibili.com/video/BV1j1421R7aB) + + + +## 演示 + +[AI 极速编码](https://node.cool-admin.com/src/guide/ai.html) + +[https://show.cool-admin.com](https://show.cool-admin.com) + +- 账户:admin +- 密码:123456 + +Admin Home + +#### 项目前端 + +[https://github.com/cool-team-official/cool-admin-vue](https://github.com/cool-team-official/cool-admin-vue) + +或 + +[https://gitee.com/cool-team-official/cool-admin-vue](https://gitee.com/cool-team-official/cool-admin-vue) + +或 + +[https://gitcode.com/cool_team/cool-admin-vue](https://gitcode.com/cool_team/cool-admin-vue) + +## 微信群 + +Admin Wechat + +## 运行 + +#### 修改数据库配置,配置文件位于`src/config/config.local.ts` + +以 Mysql 为例,其他数据库请参考[数据库配置文档](https://cool-js.com/admin/node/quick.html#%E6%95%B0%E6%8D%AE%E5%BA%93%E9%85%8D%E7%BD%AE) + +Mysql(`>=5.7版本`),建议 8.0,node 版本(`>=18.x`),首次启动会自动初始化并导入数据 + +```ts +// mysql,驱动已经内置,无需安装 +typeorm: { + dataSource: { + default: { + type: 'mysql', + host: '127.0.0.1', + port: 3306, + username: 'root', + password: '123456', + database: 'cool', + // 自动建表 注意:线上部署的时候不要使用,有可能导致数据丢失 + synchronize: true, + // 打印日志 + logging: false, + // 字符集 + charset: 'utf8mb4', + // 是否开启缓存 + cache: true, + // 实体路径 + entities: ['**/modules/*/entity'], + }, + }, + }, +``` + +#### 安装依赖并运行 + +```bash +$ npm i +$ npm run dev +``` + +启动完成访问:[http://localhost:8001/](http://localhost:8001) + +注: `npm i`如果安装失败可以尝试使用切换您的镜像源,推荐使用[pnpm](https://pnpm.io/)安装 + +## CURD(快速增删改查) + +大部分的后台管理系统,或者 API 服务都是对数据进行管理,所以可以看到大量的 CRUD 场景(增删改查),cool-admin 对此进行了大量地封装,让这块的编码量变得极其地少。 + +#### 新建一个数据表 + +`src/modules/demo/entity/goods.ts`,项目启动数据库会自动创建该表,无需手动创建 + +```ts +import { BaseEntity } from '../../base/entity/base'; +import { Column, Entity, Index } from 'typeorm'; + +/** + * 商品 + */ +@Entity('demo_app_goods') +export class DemoAppGoodsEntity extends BaseEntity { + @Column({ comment: '标题' }) + title: string; + + @Column({ comment: '图片' }) + pic: string; + + @Column({ comment: '价格', type: 'decimal', precision: 5, scale: 2 }) + price: number; +} +``` + +#### 编写 api 接口 + +`src/modules/demo/controller/app/goods.ts`,快速编写 6 个 api 接口 + +```ts +import { CoolController, BaseController } from '@cool-midway/core'; +import { DemoAppGoodsEntity } from '../../entity/goods'; + +/** + * 商品 + */ +@CoolController({ + api: ['add', 'delete', 'update', 'info', 'list', 'page'], + entity: DemoAppGoodsEntity, +}) +export class DemoAppGoodsController extends BaseController { + /** + * 其他接口 + */ + @Get('/other') + async other() { + return this.ok('hello, cool-admin!!!'); + } +} +``` + +这样我们就完成了 6 个接口的编写,对应的接口如下: + +- `POST /app/demo/goods/add` 新增 +- `POST /app/demo/goods/delete` 删除 +- `POST /app/demo/goods/update` 更新 +- `GET /app/demo/goods/info` 单个信息 +- `POST /app/demo/goods/list` 列表信息 +- `POST /app/demo/goods/page` 分页查询(包含模糊查询、字段全匹配等) + +### 部署 + +[部署教程](https://node.cool-admin.com/src/guide/deploy.html) + +### 内置指令 + +- 使用 `npm run lint` 来做代码风格检查。 + +[midway]: https://midwayjs.org + +### 低价服务器 + +[阿里云、腾讯云、华为云低价云服务器,不限新老](https://cool-js.com/service/cloud) diff --git a/bootstrap.js b/bootstrap.js new file mode 100644 index 0000000..8601e1f --- /dev/null +++ b/bootstrap.js @@ -0,0 +1,10 @@ +const { Bootstrap } = require('@midwayjs/bootstrap'); + +// 显式以组件方式引入用户代码 +Bootstrap.configure({ + // 这里引用的是编译后的入口,本地开发不走这个文件 + // eslint-disable-next-line node/no-unpublished-require + imports: require('./dist/index'), + // 禁用依赖注入的目录扫描 + moduleDetector: false, +}).run(); diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..a296994 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,40 @@ +# 本地数据库环境 +# 数据存放在当前目录下的 data里 +# 推荐使用安装了docker扩展的vscode打开目录 在本文件上右键可以快速启动,停止 +# 如不需要相关容器开机自启动,可注释掉 restart: always +# 如遇端口冲突 可调整ports下 :前面的端口号 +version: "3.1" + +services: + coolDB: + image: mysql + command: + --default-authentication-plugin=mysql_native_password + --sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION + --group_concat_max_len=102400 + restart: always + volumes: + - ./data/mysql/:/var/lib/mysql/ + environment: + TZ: Asia/Shanghai # 指定时区 + MYSQL_ROOT_PASSWORD: "123456" # 配置root用户密码 + MYSQL_DATABASE: "cool" # 业务库名 + MYSQL_USER: "root" # 业务库用户名 + MYSQL_PASSWORD: "123456" # 业务库密码 + networks: + - cool + ports: + - 3306:3306 + + coolRedis: + image: redis + #command: --requirepass "12345678" # redis库密码,不需要密码注释本行 + restart: always + environment: + TZ: Asia/Shanghai # 指定时区 + volumes: + - ./data/redis/:/data/ + networks: + - cool + ports: + - 6379:6379 diff --git a/jest.config.js b/jest.config.js new file mode 100644 index 0000000..c5bd388 --- /dev/null +++ b/jest.config.js @@ -0,0 +1,6 @@ +module.exports = { + preset: 'ts-jest', + testEnvironment: 'node', + testPathIgnorePatterns: ['/test/fixtures'], + coveragePathIgnorePatterns: ['/test/'], +}; \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000..ea33013 --- /dev/null +++ b/package.json @@ -0,0 +1,93 @@ +{ + "name": "cool-admin", + "version": "8.0.0", + "description": "一个很酷的Ai快速开发框架", + "private": true, + "dependencies": { + "@cool-midway/core": "^8.0.7", + "@cool-midway/rpc": "^8.0.1", + "@cool-midway/task": "^8.0.2", + "@midwayjs/bootstrap": "^3.20.3", + "@midwayjs/cache-manager": "^3.20.3", + "@midwayjs/core": "^3.20.3", + "@midwayjs/cron": "^3.20.3", + "@midwayjs/cross-domain": "^3.20.3", + "@midwayjs/decorator": "^3.20.22", + "@midwayjs/info": "^3.20.3", + "@midwayjs/koa": "^3.20.3", + "@midwayjs/logger": "^3.4.2", + "@midwayjs/socketio": "^3.20.22", + "@midwayjs/static-file": "^3.20.3", + "@midwayjs/typeorm": "^3.20.3", + "@midwayjs/upload": "^3.20.3", + "@midwayjs/validate": "^3.20.3", + "@socket.io/redis-adapter": "^8.3.0", + "adm-zip": "^0.5.16", + "axios": "^1.8.4", + "cron": "^4.1.3", + "download": "^8.0.0", + "jsonwebtoken": "^9.0.2", + "lodash": "^4.17.21", + "md5": "^2.3.0", + "moment": "^2.30.1", + "mysql2": "^3.14.0", + "svg-captcha": "^1.4.0", + "tslib": "^2.8.1", + "typeorm": "npm:@cool-midway/typeorm@0.3.20", + "uuid": "^11.1.0", + "ws": "^8.18.1" + }, + "devDependencies": { + "@midwayjs/bundle-helper": "^1.3.0", + "@midwayjs/mock": "^3.20.3", + "@types/jest": "^29.5.14", + "@types/node": "22", + "@yao-pkg/pkg": "^6.3.2", + "cross-env": "^7.0.3", + "jest": "^29.7.0", + "mwts": "^1.3.0", + "mwtsc": "^1.15.1", + "rimraf": "^6.0.1", + "ts-jest": "^29.3.0", + "typescript": "~5.8.2" + }, + "engines": { + "node": ">=18.0.0" + }, + "scripts": { + "start": "NODE_ENV=production node ./bootstrap.js", + "dev": "rimraf src/index.ts && cool check && cross-env NODE_ENV=local mwtsc --cleanOutDir --watch --run @midwayjs/mock/app.js --keepalive", + "test": "cross-env NODE_ENV=unittest jest", + "cov": "jest --coverage", + "lint": "mwts check", + "lint:fix": "mwts fix", + "ci": "npm run cov", + "build": "cool entity && bundle && mwtsc --cleanOutDir", + "build:obfuscate": "cool entity && bundle && mwtsc --cleanOutDir && cool obfuscate", + "pkg": "rimraf build && mkdir build && npm run build && pkg . -d > build/pkg.log", + "pm2:start": "pm2 start ./bootstrap.js -i 1 --name cool-admin", + "pm2:stop": "pm2 stop cool-admin & pm2 delete cool-admin" + }, + "bin": "./bootstrap.js", + "pkg": { + "scripts": [ + "dist/**/*", + "node_modules/axios/dist/node/*" + ], + "assets": [ + "public/**/*", + "typings/**/*", + "src/locales/**/*" + ], + "targets": [ + "node20-win-x64" + ], + "outputPath": "build" + }, + "repository": { + "type": "git", + "url": "https://cool-js.com" + }, + "author": "COOL", + "license": "MIT" +} diff --git a/public/Thumbs.db b/public/Thumbs.db new file mode 100644 index 0000000000000000000000000000000000000000..7c901509b7cfa444002898abe0f179490c233409 GIT binary patch literal 7680 zcmeHL2~<l|$O_3^+w6eGW)gWPs7n0oj=H>>3w4Ntj-Z|}aICHnTGr8aQ zfB!c#e5YX59X&C;9+;J2KnFNs1FZTyr@?Eo8p{v>EZ_xsj}rtzJp=$=z9@ep1`P09 z$@r0#ES4~kWXzecTEl7st1YZ{u-d~q2-co=sU9zme`W?2fEf6<1^f+!fQ|4R2NGa} zpT9T*%if&t^@eA3pYLE*;+m+U_4SL1U<&XD2v`T!fItulrh?V*I1xTu16IMm0NB0; zwmz$P0}EPT{-5<;-{%Z?1B)YS*hj$5Z;~z=e`1%mssq4x*FFBX* z7Tq$~n!4IRJDAHh6!Jf{icDLmt(3kyOz0P;;wi!J(oFxZ)N(LZGCam`7Htm7YD3jU z1Q?^b#MQ#DI_BTmnSK6*h|^rFt%V@wAY*YA(zf#KOag4=cF&AKKF~zyE};*V5J6t@ zzJ>a!__(fF?Xn%5wxB2im^v+wEDgmb5Mb10F#-4l=$Mt&dD*8qV7cKA(y1Xp^D9AT zRoGs=Px}YogbP!=f8%p3;4LX+`(;9%v z|Jl>Jzkh2=h@AVFMF2@O0YVRH1H)QtG4XvzMT#u}uC(V9z&K{|R$-T0oj7<}6#=Ng zpHm^T%LvfY2D^#~Fh_9zLG2}^9yu~f?pokqDJ{L#m^xeNw}79^cd-Zx7iRL^Hk7a$ z(iR=rpb9xJVn-f>(f4J<=Q@p5`d4l;_1Y_N_ma<%rWdZT*6_UN74mcH1~AC<$AY`K z&-Ljz)N0cnpL>WZ8lPLd8&#JR;C24Phl*4mk$Y5+3OvkIkQqDs7gRui)FA9}7y+aN z==KcN(fLV&)|uj`!>m$EKCKr$NkG&4YGA*+(*Ju16^Yt>VH8A4!B^+rTqd>g&009OOU=JQ1z!B881^1@X>W0#3nCqmw>K@V`eOc5oVln|X5#TaR zl7sGVnH*s+JMuXEex1)JHqKu1xyBfu;CZhkV;lm70=aRq7#}XoHVP#&ZP6K0D5hS% zj3v2FzNAn*p}e+{JPlxwmSDTV*uS?BKo>)RoY9hfC|}a$d&h$S#TC$L zs-CpgNX&@pLWUAxBq~6g7Y1K@33nraqdsSo*dhTF-mzjQhK|FIS-C1 zGK|Y8y`g&R$spMeT#d{ymYH>g04((VlsHew0fZR+Xk$EMISjrL_5>Jw3KR@Jg&PK+ zq6P+^0#0>=Nd!}hqEA{WB`NhC*g(@`cC2>y{|YL)wtH+SR<4D|*65aXC_lbT3jAR&aL`;1U76KAL(yT)cak$$hm_B_^rkaEEj# zbn$S=1RwR6MJ=rl4HpRjsk;%GuvDgrz#E3aDaTNNS*A0eDO&s4QL?xDJ-}|b6jMA$zAy}!ZvdR zev*f)=Hs5$p=PazVqG-VmQS4ho~z+jjB{*digzDgPt8JFtr8PyQ-)#bc_^uo zYe+0#60=L(f?&0Hreno*0tjVgvOp8iqR#A~-woKn1{%4mY=&sq5-8;u!_ZF6U^DqY zaVc9{o;F^lF2?sHV%yF1qF3$arpZW`;6xojZ77pa)U=CtcOyn3ik<{3vGv--#s*$C z0b;n_^Cl$Ul%D%YfZrzoX_|gPU({ls!-=!kG#77fyrTUdSme*Wc5AIIF9=x+tw7c> zxB4PiTCLBH83LIR;UB1~e?)9|2CXDp(T;`HWwQRQjY|oj$u=rNJ<+5Hj&6FIKJ*6k z-bOe{9+#YvMwB6^B;28e5?umJhN$Sr6Y|cb?dikCU5X3m3jalC=DE#FepMm%tl?E; zN99IAr#zXSzOT$kd zS8h;3-*_i??cBo3Lg=9b9gZ2%S`^!GjjMx;gq%-GSq7=>-kJDa_z!5u&O4=T*js)L zXL=e3^=p*9sz6QZh|VMcC67Q(jRFr{m(`;NwGew*8#@d;avW7D@XWbLGGBs>Mo*&+ zX!jdo;{tGR0@&*B%@q2P>7P7CA@+c?0CWy$0A6y+Bw~5qRQ^*hxmb({7g9a~*Bq2Z zup=oO3CMM#tmgR#89DnRTq8Lx78~HgvN8-|n0Y~R(&QEKc~v;H(x!Zgz-)d={gz5~ zm?HeAB!tzR!9%yfdnzRiLd;J4PGiH)o+l{+zGV3r+|fAOBm|aIo=MG+(M>H$ngPs! zzsoe*TpaKrE`_ZtqP`c|mqjA~qoHc2Ilu>R}o$96si<9#Dfr&(yGo!(L99XBa$ z#G1{i!9}evt20rDe9fs9XNv>(E&gg%)hK`eE+!+rBF=S9UF!6RE9=>{6UDr*lZW&1 zsrq5sz$qaW^*4iK7TrL0AVNRxy1%D*KV@g1QvcX+P02voK4j zq3H2^6)rFQcs_T6CfT*trRwkwGU%D5y zNewaXN&jo7rXVKVEn5~F3ZZ54k&lu7hR`GvF!hU^YqeDb2q{Y0lG1Md=N?#Lm%Swps@>uFT948wGCd&h*S(4xB|>I>vPHG(HQfAZX6S-;7cT5wR=&cfOx#Sa9w-?V!^jauQb!)*$^g#*w_YTt2>;9DS{WbK zqHUH!DigA@q}5cn=0t<@M5*RU?72$ihrxb;}>nSpuFYKrE7!- z!qDef%bHs0E1s|(t4?zp7<;nG30N)G$DP>W-ED2yasfPQg!8wUCG3bCN)QnUxDE#6 z@YEAqAq&)GaH(p8|LxZk1YEGxw2XiV6_r6h@fM^Hc`{v>Dgl*F+f@}HEnqrOaKr<) zQKg6Xf`#WBQWkiSvOY-@%e$Y|M)BvbWZXiU5- zUGuu7Vkdr*7JC*wH)D9gedGyX$ zW$@U7l`TlnH=pp?8%!!Y9IRoyV0+(4l*!uQzZG&^4Dro-!Dg8Ve0UbC8pbUAras4x zxYGz!w%ck=(+CL#TzX|fI-QM7tfAwxOfA@Jny9FX2s96J`8`PMy?PjL~`mj z_%S~F#qRVSUT_*F0?S(m`<4u_jvh5rU8kG@N3U`%(da^=%bSR6Qb<`h%#x6xx`xak zyMbbZVHQGT=Y$Eu&+O{S$`A`*E|>e8v#gv~G}2T$lWkoLI58?Z|R&QMb0v$EtH zqJ%I^_b;C1J}rRp?M-mqKLSq;9eK-RG2%L6EMl;~mbw^9y}i}dMbnvm2~>92{;1r8 z9YH==CA)lx_+8!u`fKSMDG%*q0N9az=9@YWgW3L?$|43YyBz$Fbri6jA9M7)0##i_ znEyI?yB%!eGp!GlXr6Te7sI-{;&g86A!X0T2upTkS`W^g%UFw&+jfnq&rd>d5+q*q zHQge`Hond#yH;>qkq!ALNidViOhi%%y7u~%&xN7g+|~8%RLVzq!p9f{nmgt&My{f* z>$U3zTLWg6?Y&k$d`^Vc`LT}@WXC1O^W5`K*E2xQ*f~U!hc9d~=NTtgvl<`*Dn9UQ z!jkV;VAH=OaM8uX>m6L70oX||mAS`@9g#@EaVidOMJa7J7k_T5f#Oqk5?qZzFC7w_ zh!b6&vcoj38|yUMFZgW0>(vTma`u?kTNM^1XgUt;Ca#k6)BBsR!0K0C(~Rp&V#yba zIHOfH(4_7tYyUmh+-vraF|xP2&qnP6A_jXw!pvi;FG89RJCeR{F~5kjo&4km*$J4K ze@gllNHL34(< zBDVc;Z{&rW`et;NEmVoVX_93lxaD=a`>N{v zmgH+7>7AMFR3xFbGvUyagNT6F7q|4|RjD5gA71ByV)yUuL(lXP0Uw95pN(D>F}NY8 zK>Qx2Hg(*}(Cq*bsQ9hEN9N4!dmIVK32_h4c*XV~5;~L&iWCEQyyvPKBGEr8-Xbyk z%3MB9ug=DK{UKDg} zdt@F;Zj^p1yox5Y(7R`)(cUn!%6r5|#9$b0O>cVDbDV{092%F^d(T4z&LK(O1*65J z*hk+Dlk70ujk4Npv@7ubEB4MjN}E9Y7PV_BeYqhm6;JMeISK6z{RTC|On%Mx#k$i9 z?JFARbh_YwJ2{q}r_;A}KfcVT>0X=nh15xvIt;H+;lYkv5)5>GF8ih9O1%lK zJDkFb9)|1cM>gY*)c}z}F|;e;mZXJlT>Ez1stD6Hn%9+dTxq2VToD)Fid#^}j zc+VUT<;|UwDCwRU=)*9r!%gZPA$~1clJ9U?ZA!fXkY($8Qs)It>z!xh!qM|{65bfL zN7R{yC(VGT60v?50~Ha&&|e`>5uB2%(e{5d+`o}O&(N+>AdA-bY&p)SnALHj(PL~nw;wL{jP$|H4pMhFJ3@YSxdJt9 zS;$?3YQ^H$v?s0I5`Rk4&mVGKIq_o&BfV45`TkBAazp~d zzE-&a&k{Oats^$^f?iR;ZX4=nIBkxEtRJ830he^bO%i5Fu@nRAu}a+nlJDn;PEBQy zj_Jb@OPcM707WV5Lhh*HEs&s|!f}Rbo_(po!XgS;*6%i-fM{&555-Lq+LwUyq!ALrn~Ko?JPD!4E0 z5aNL+Cg>7WS+Eqr70IHffaUfg(@PZ!J)&DZ=`#i~^{dD#+gpXYEsXD|>&cDZwHo!2 z>z#g`p9c?>UHYdD5{J)|;b{R+Xbn4qnYyn;m}@C^bcM!c&X<};w1%mrl92|-@{ zhbYr}dEL%_J}ZT+#mh1;`iQ_IqkA;)V7sy3Cj)S$qPp=T-2Zwa?HjQb>-Tv-7$}Wp z0G3<%OnJrvvsP{S?|08&!4+w_MnD=7em}Yt zGO4H7B7$5<3u|#FYu-m0i!%Ac-yGnB_C8*XWd*x&pG)d#`s*>N9|_?wUCE8FI6~{_ zoK2qX$aB(y)sc++2k@B+(%u(6X?(6P^E7m3R~9?r3Zr@m5zZm$zz@>4gk6e>2y-?H zow^oS2C=O#eHr(UK4R*k7g@W1?wBz1JR+_o#Y}SOFOcG&(FD)J94=Q6hnd#1_D+|v zNFZgYbaZwg0O<;Naj<(&@Fn{1@?C+N46{3JH}!K4c=@IxsXX#K$V1EU4fB+A7AbZM zenLL0P$Sppaqs#if0yhtD%4X5-Uv)`f5S83xwn6*f&No-vU|6v(EeU~TH$18Eq(Cp zcyh#KySX<^w}iwbuMn|;$+Ydz)21-p{ckGdFSGc+=tR%;7S++V+lO3}k3EA@QfA{c z+ZR$?yS-ewQ+xwoSmZogy1b@YZrw}xz#ea5)S9gH=FLr}Nm<;98S$SKKHNZ>c;kw+ zC^JXaQj{j-i@SWOtJ86mbQphC?#cZ_ExFZB=Hr>j;+*Ibco{WW7_~~qo!mqd_&tpy zl(dy^EO`mo(N$#zN7rkBuA9daI?h18iYZ=Vv*ja5f7y%Pcg#s3oLjjYqe z{q7-wlE1s==TRk#pL};P%t^z(1*q<7Q{xI}{?7r_;J4kx1$5+k8)9w7^2^F4Sr#CjvAPcDzfHXj22pGO89xBR3b6<2>gW$D4`X)5{6j& zu1CQZl9^xNT4z})4BA=2WConK4Qs86|9l8NcJZngHlih|*9AZdqh`dr(JiVLFLvcJ z9?p6sy{I>3MQ(Q{!#A#RhQ>&-&tjCJl7l!}h{#B6-RAG2W1n-W9Qj7BF^a!;-kz#Jf0l!GHKK5{!Y9n*LqZ-y&Q4QcK{RjBFrV){J>4v; ztmOor3VCVcNKB0V?${t3Z;{w)&ZiV*CM!jGU$e0SSMFr6BwZXM4 z4CQ_e4=bd?H`-PjjO?Qi-C>;&v*);p{Key^)c#GdvspC>t`MK$VsU4{NDL;St-Hhf zM5*1YwE67-k`t;Te~K&Pe`HRK^+~f|NZ&E#%klz}WLT+um$gs(g@`B9KtYML>(XFh z7;^U!Ln#QB*lOndNf33P2T9Tjy6Q1q)Qj=Pa0jZE8;ew^+Ab~#cQ7&DZLd^>U7cck zP|`4b<3i;Ts5(N~2=%uHi2+wC<{bBjIM6?9ZzU~`3txd*d^>6iKxn5wdmPumhqI*G{7?m+r0`bh@mJWKMY zruZ3HP;7VoOy3*07}_;fI>JL9s>60nbxdslZ2jEj3hHu?Ipm`QS_#AUGTDF=)34#7 zLz2Qi=l_t74+@?$#by07zM?7d6xc~1h-(X@N_+o+J)DbmkYH&drb4nh;92jDPiJ5V z(l<-FGmjn?km6QcFa|QxCW_B*%@Tl*wl_BfYNMaive$6UfLr_VELdEhGtgFOUYz|I z*|3FShnNn)XJEm)`-2^rp)+rxioy*smD4gReFVe2#Sg3GG5&v~x$yGf6%2cOvlqd6 z>vH5duW^wwb)p9xvaw0BChYzeaC~43h%SY`afV0|g_hsZP)C-2BEA%Ou$*Gz1UW@@ zb&;k^cqtCtTQ|p1Kj|v&VDbZU3!G4dW6Fz^&`}d6-p9 z;psl+u^GW^&!11YdJC*P`!=nCrdQ+Qr(j$k{=1>iEj#}J^Q??f_pEb$w4_d8eqMme zqqiHUks5Kkpz)Cl=*a>vCGE6)x8yL#yy!MrJN6>#B2dM3{wx43T<}@+)gGCnK3wx1 zaq+gwK2}7}lfLnT!7%Q>RE+MN#((gWHibOlVxKC*!7r^2?onQnU`icNcq{f|cYqk5 zUKl~~UPzN_2S+z^H#OlI@bhMysP4@j%*j(4(Z|stoD{O#@{pvmgo%G_-m85dJ#1K;kn6;AU_MIa=Xj6-*(^?cTA%RntF>aXB_yb#F|f95>*h$3^@9CeZ$4_#ofnlOVA@uLziswQuBK z){|!ffev6+HKaB|H12`ES-d=X^%fKR5b}& zy~gpK;X9}Ts|J26QJe0$-!A^&*q|xS?cb`@Cf_9$$a?NoSmIl=zxsI`Xt*BndWlU# zxwvt&!w!%idZO`C96N$?`=1$ul4do9Zp)Yc2}I^O^ln5ws&DsM3lRC#RSDpp$6e%qdHgN+S~O{{Yd%gj@gs literal 0 HcmV?d00001 diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..10b2ba8 --- /dev/null +++ b/public/index.html @@ -0,0 +1,30 @@ + + + + + + + + COOL-ADMIN 一个很酷的后台权限管理系统 + + + + + + +
HELLO COOL-ADMIN AI快速开发框架
+ + + + + + + + diff --git a/public/js/welcome.js b/public/js/welcome.js new file mode 100644 index 0000000..05054e8 --- /dev/null +++ b/public/js/welcome.js @@ -0,0 +1,14 @@ +const duration = 0.8; +const delay = 0.3; +// eslint-disable-next-line no-undef +const revealText = document.querySelector('.reveal'); +const letters = revealText.textContent.split(''); +revealText.textContent = ''; +const middle = letters.filter(e => e !== ' ').length / 2; +letters.forEach((letter, i) => { + // eslint-disable-next-line no-undef + const span = document.createElement('span'); + span.textContent = letter; + span.style.animationDelay = `${delay + Math.abs(i - middle) * 0.1}s`; + revealText.append(span); +}); diff --git a/public/swagger/LICENSE b/public/swagger/LICENSE new file mode 100644 index 0000000..d645695 --- /dev/null +++ b/public/swagger/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/public/swagger/NOTICE b/public/swagger/NOTICE new file mode 100644 index 0000000..ab788a2 --- /dev/null +++ b/public/swagger/NOTICE @@ -0,0 +1,2 @@ +swagger-ui +Copyright 2020-2021 SmartBear Software Inc. diff --git a/public/swagger/README.md b/public/swagger/README.md new file mode 100644 index 0000000..6628422 --- /dev/null +++ b/public/swagger/README.md @@ -0,0 +1,22 @@ +# Swagger UI Dist +[![NPM version](https://badge.fury.io/js/swagger-ui-dist.svg)](http://badge.fury.io/js/swagger-ui-dist) + +# API + +This module, `swagger-ui-dist`, exposes Swagger-UI's entire dist folder as a dependency-free npm module. +Use `swagger-ui` instead, if you'd like to have npm install dependencies for you. + +`SwaggerUIBundle` and `SwaggerUIStandalonePreset` can be imported: +```javascript + import { SwaggerUIBundle, SwaggerUIStandalonePreset } from "swagger-ui-dist" +``` + +To get an absolute path to this directory for static file serving, use the exported `getAbsoluteFSPath` method: + +```javascript +const swaggerUiAssetPath = require("swagger-ui-dist").getAbsoluteFSPath() + +// then instantiate server that serves files from the swaggerUiAssetPath +``` + +For anything else, check the [Swagger-UI](https://github.com/swagger-api/swagger-ui) repository. diff --git a/public/swagger/absolute-path.js b/public/swagger/absolute-path.js new file mode 100644 index 0000000..af42bc8 --- /dev/null +++ b/public/swagger/absolute-path.js @@ -0,0 +1,14 @@ +/* + * getAbsoluteFSPath + * @return {string} When run in NodeJS env, returns the absolute path to the current directory + * When run outside of NodeJS, will return an error message + */ +const getAbsoluteFSPath = function () { + // detect whether we are running in a browser or nodejs + if (typeof module !== "undefined" && module.exports) { + return require("path").resolve(__dirname) + } + throw new Error('getAbsoluteFSPath can only be called within a Nodejs environment'); +} + +module.exports = getAbsoluteFSPath diff --git a/public/swagger/favicon-16x16.png b/public/swagger/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..8b194e617af1c135e6b37939591d24ac3a5efa18 GIT binary patch literal 665 zcmV;K0%rY*P)}JKSduyL>)s!A4EhTMMEM%Q;aL6%l#xiZiF>S;#Y{N2Zz%pvTGHJduXuC6Lx-)0EGfRy*N{Tv4i8@4oJ41gw zKzThrcRe|7J~(YYIBq{SYCkn-KQm=N8$CrEK1CcqMI1dv9z#VRL_{D)L|`QmF8}}l zJ9JV`Q}p!p_4f7m_U`WQ@apR4;o;!mnU<7}iG_qr zF(e)x9~BG-3IzcG2M4an0002kNkl41`ZiN1i62V%{PM@Ry|IS_+Yc7{bb`MM~xm(7p4|kMHP&!VGuDW4kFixat zXw43VmgwEvB$hXt_u=vZ>+v4i7E}n~eG6;n4Z=zF1n?T*yg<;W6kOfxpC6nao>VR% z?fpr=asSJ&`L*wu^rLJ5Peq*PB0;alL#XazZCBxJLd&giTfw@!hW167F^`7kobi;( ze<<>qNlP|xy7S1zl@lZNIBR7#o9ybJsptO#%}P0hz~sBp00000NkvXXu0mjfUsDF? literal 0 HcmV?d00001 diff --git a/public/swagger/favicon-32x32.png b/public/swagger/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..249737fe44558e679f0b67134e274461d988fa98 GIT binary patch literal 628 zcmV-)0*n2LP)Ma*GM0}OV<074bNCP7P7GVd{iMr*I6y~TMLss@FjvgL~HxU z%Vvj33AwpD(Z4*$Mfx=HaU16axM zt2xG_rloN<$iy9j9I5 + + + + + Swagger UI + + + + + + + +
+ + + + + diff --git a/public/swagger/index.js b/public/swagger/index.js new file mode 100644 index 0000000..c229ec4 --- /dev/null +++ b/public/swagger/index.js @@ -0,0 +1,17 @@ +try { + module.exports.SwaggerUIBundle = require("./swagger-ui-bundle.js") + module.exports.SwaggerUIStandalonePreset = require("./swagger-ui-standalone-preset.js") +} catch(e) { + // swallow the error if there's a problem loading the assets. + // allows this module to support providing the assets for browserish contexts, + // without exploding in a Node context. + // + // see https://github.com/swagger-api/swagger-ui/issues/3291#issuecomment-311195388 + // for more information. +} + +// `absolutePath` and `getAbsoluteFSPath` are both here because at one point, +// we documented having one and actually implemented the other. +// They were both retained so we don't break anyone's code. +module.exports.absolutePath = require("./absolute-path.js") +module.exports.getAbsoluteFSPath = require("./absolute-path.js") diff --git a/public/swagger/oauth2-redirect.html b/public/swagger/oauth2-redirect.html new file mode 100644 index 0000000..5640917 --- /dev/null +++ b/public/swagger/oauth2-redirect.html @@ -0,0 +1,79 @@ + + + + Swagger UI: OAuth2 Redirect + + + + + diff --git a/public/swagger/package.json b/public/swagger/package.json new file mode 100644 index 0000000..2d0a88d --- /dev/null +++ b/public/swagger/package.json @@ -0,0 +1,18 @@ +{ + "name": "swagger-ui-dist", + "version": "5.10.0", + "main": "index.js", + "repository": "git@github.com:swagger-api/swagger-ui.git", + "contributors": [ + "(in alphabetical order)", + "Anna Bodnia ", + "Buu Nguyen ", + "Josh Ponelat ", + "Kyle Shockey ", + "Robert Barnwell ", + "Sahar Jafari " + ], + "license": "Apache-2.0", + "dependencies": {}, + "devDependencies": {} +} diff --git a/public/swagger/swagger-initializer.js b/public/swagger/swagger-initializer.js new file mode 100644 index 0000000..d9e154d --- /dev/null +++ b/public/swagger/swagger-initializer.js @@ -0,0 +1,20 @@ +window.onload = function() { + // + + // the following lines will be replaced by docker/configurator, when it runs in a docker-container + window.ui = SwaggerUIBundle({ + url: "/swagger/json", + dom_id: '#swagger-ui', + deepLinking: true, + presets: [ + SwaggerUIBundle.presets.apis, + SwaggerUIStandalonePreset + ], + plugins: [ + SwaggerUIBundle.plugins.DownloadUrl + ], + layout: "StandaloneLayout" + }); + + // +}; diff --git a/public/swagger/swagger-ui-bundle.js b/public/swagger/swagger-ui-bundle.js new file mode 100644 index 0000000..960b397 --- /dev/null +++ b/public/swagger/swagger-ui-bundle.js @@ -0,0 +1,3 @@ +/*! For license information please see swagger-ui-bundle.js.LICENSE.txt */ +!function webpackUniversalModuleDefinition(i,s){"object"==typeof exports&&"object"==typeof module?module.exports=s():"function"==typeof define&&define.amd?define([],s):"object"==typeof exports?exports.SwaggerUIBundle=s():i.SwaggerUIBundle=s()}(this,(()=>(()=>{var i={17967:(i,s)=>{"use strict";s.Nm=s.Rq=void 0;var u=/^([^\w]*)(javascript|data|vbscript)/im,m=/&#(\w+)(^\w|;)?/g,v=/&(newline|tab);/gi,_=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,j=/^.+(:|:)/gim,M=[".","/"];s.Rq="about:blank",s.Nm=function sanitizeUrl(i){if(!i)return s.Rq;var $=function decodeHtmlCharacters(i){return i.replace(_,"").replace(m,(function(i,s){return String.fromCharCode(s)}))}(i).replace(v,"").replace(_,"").trim();if(!$)return s.Rq;if(function isRelativeUrlWithoutProtocol(i){return M.indexOf(i[0])>-1}($))return $;var W=$.match(j);if(!W)return $;var X=W[0];return u.test(X)?s.Rq:$}},79742:(i,s)=>{"use strict";s.byteLength=function byteLength(i){var s=getLens(i),u=s[0],m=s[1];return 3*(u+m)/4-m},s.toByteArray=function toByteArray(i){var s,u,_=getLens(i),j=_[0],M=_[1],$=new v(function _byteLength(i,s,u){return 3*(s+u)/4-u}(0,j,M)),W=0,X=M>0?j-4:j;for(u=0;u>16&255,$[W++]=s>>8&255,$[W++]=255&s;2===M&&(s=m[i.charCodeAt(u)]<<2|m[i.charCodeAt(u+1)]>>4,$[W++]=255&s);1===M&&(s=m[i.charCodeAt(u)]<<10|m[i.charCodeAt(u+1)]<<4|m[i.charCodeAt(u+2)]>>2,$[W++]=s>>8&255,$[W++]=255&s);return $},s.fromByteArray=function fromByteArray(i){for(var s,m=i.length,v=m%3,_=[],j=16383,M=0,$=m-v;M<$;M+=j)_.push(encodeChunk(i,M,M+j>$?$:M+j));1===v?(s=i[m-1],_.push(u[s>>2]+u[s<<4&63]+"==")):2===v&&(s=(i[m-2]<<8)+i[m-1],_.push(u[s>>10]+u[s>>4&63]+u[s<<2&63]+"="));return _.join("")};for(var u=[],m=[],v="undefined"!=typeof Uint8Array?Uint8Array:Array,_="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",j=0;j<64;++j)u[j]=_[j],m[_.charCodeAt(j)]=j;function getLens(i){var s=i.length;if(s%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var u=i.indexOf("=");return-1===u&&(u=s),[u,u===s?0:4-u%4]}function encodeChunk(i,s,m){for(var v,_,j=[],M=s;M>18&63]+u[_>>12&63]+u[_>>6&63]+u[63&_]);return j.join("")}m["-".charCodeAt(0)]=62,m["_".charCodeAt(0)]=63},48764:(i,s,u)=>{"use strict";const m=u(79742),v=u(80645),_="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;s.Buffer=Buffer,s.SlowBuffer=function SlowBuffer(i){+i!=i&&(i=0);return Buffer.alloc(+i)},s.INSPECT_MAX_BYTES=50;const j=2147483647;function createBuffer(i){if(i>j)throw new RangeError('The value "'+i+'" is invalid for option "size"');const s=new Uint8Array(i);return Object.setPrototypeOf(s,Buffer.prototype),s}function Buffer(i,s,u){if("number"==typeof i){if("string"==typeof s)throw new TypeError('The "string" argument must be of type string. Received type number');return allocUnsafe(i)}return from(i,s,u)}function from(i,s,u){if("string"==typeof i)return function fromString(i,s){"string"==typeof s&&""!==s||(s="utf8");if(!Buffer.isEncoding(s))throw new TypeError("Unknown encoding: "+s);const u=0|byteLength(i,s);let m=createBuffer(u);const v=m.write(i,s);v!==u&&(m=m.slice(0,v));return m}(i,s);if(ArrayBuffer.isView(i))return function fromArrayView(i){if(isInstance(i,Uint8Array)){const s=new Uint8Array(i);return fromArrayBuffer(s.buffer,s.byteOffset,s.byteLength)}return fromArrayLike(i)}(i);if(null==i)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof i);if(isInstance(i,ArrayBuffer)||i&&isInstance(i.buffer,ArrayBuffer))return fromArrayBuffer(i,s,u);if("undefined"!=typeof SharedArrayBuffer&&(isInstance(i,SharedArrayBuffer)||i&&isInstance(i.buffer,SharedArrayBuffer)))return fromArrayBuffer(i,s,u);if("number"==typeof i)throw new TypeError('The "value" argument must not be of type number. Received type number');const m=i.valueOf&&i.valueOf();if(null!=m&&m!==i)return Buffer.from(m,s,u);const v=function fromObject(i){if(Buffer.isBuffer(i)){const s=0|checked(i.length),u=createBuffer(s);return 0===u.length||i.copy(u,0,0,s),u}if(void 0!==i.length)return"number"!=typeof i.length||numberIsNaN(i.length)?createBuffer(0):fromArrayLike(i);if("Buffer"===i.type&&Array.isArray(i.data))return fromArrayLike(i.data)}(i);if(v)return v;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof i[Symbol.toPrimitive])return Buffer.from(i[Symbol.toPrimitive]("string"),s,u);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof i)}function assertSize(i){if("number"!=typeof i)throw new TypeError('"size" argument must be of type number');if(i<0)throw new RangeError('The value "'+i+'" is invalid for option "size"')}function allocUnsafe(i){return assertSize(i),createBuffer(i<0?0:0|checked(i))}function fromArrayLike(i){const s=i.length<0?0:0|checked(i.length),u=createBuffer(s);for(let m=0;m=j)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+j.toString(16)+" bytes");return 0|i}function byteLength(i,s){if(Buffer.isBuffer(i))return i.length;if(ArrayBuffer.isView(i)||isInstance(i,ArrayBuffer))return i.byteLength;if("string"!=typeof i)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof i);const u=i.length,m=arguments.length>2&&!0===arguments[2];if(!m&&0===u)return 0;let v=!1;for(;;)switch(s){case"ascii":case"latin1":case"binary":return u;case"utf8":case"utf-8":return utf8ToBytes(i).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*u;case"hex":return u>>>1;case"base64":return base64ToBytes(i).length;default:if(v)return m?-1:utf8ToBytes(i).length;s=(""+s).toLowerCase(),v=!0}}function slowToString(i,s,u){let m=!1;if((void 0===s||s<0)&&(s=0),s>this.length)return"";if((void 0===u||u>this.length)&&(u=this.length),u<=0)return"";if((u>>>=0)<=(s>>>=0))return"";for(i||(i="utf8");;)switch(i){case"hex":return hexSlice(this,s,u);case"utf8":case"utf-8":return utf8Slice(this,s,u);case"ascii":return asciiSlice(this,s,u);case"latin1":case"binary":return latin1Slice(this,s,u);case"base64":return base64Slice(this,s,u);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return utf16leSlice(this,s,u);default:if(m)throw new TypeError("Unknown encoding: "+i);i=(i+"").toLowerCase(),m=!0}}function swap(i,s,u){const m=i[s];i[s]=i[u],i[u]=m}function bidirectionalIndexOf(i,s,u,m,v){if(0===i.length)return-1;if("string"==typeof u?(m=u,u=0):u>2147483647?u=2147483647:u<-2147483648&&(u=-2147483648),numberIsNaN(u=+u)&&(u=v?0:i.length-1),u<0&&(u=i.length+u),u>=i.length){if(v)return-1;u=i.length-1}else if(u<0){if(!v)return-1;u=0}if("string"==typeof s&&(s=Buffer.from(s,m)),Buffer.isBuffer(s))return 0===s.length?-1:arrayIndexOf(i,s,u,m,v);if("number"==typeof s)return s&=255,"function"==typeof Uint8Array.prototype.indexOf?v?Uint8Array.prototype.indexOf.call(i,s,u):Uint8Array.prototype.lastIndexOf.call(i,s,u):arrayIndexOf(i,[s],u,m,v);throw new TypeError("val must be string, number or Buffer")}function arrayIndexOf(i,s,u,m,v){let _,j=1,M=i.length,$=s.length;if(void 0!==m&&("ucs2"===(m=String(m).toLowerCase())||"ucs-2"===m||"utf16le"===m||"utf-16le"===m)){if(i.length<2||s.length<2)return-1;j=2,M/=2,$/=2,u/=2}function read(i,s){return 1===j?i[s]:i.readUInt16BE(s*j)}if(v){let m=-1;for(_=u;_M&&(u=M-$),_=u;_>=0;_--){let u=!0;for(let m=0;m<$;m++)if(read(i,_+m)!==read(s,m)){u=!1;break}if(u)return _}return-1}function hexWrite(i,s,u,m){u=Number(u)||0;const v=i.length-u;m?(m=Number(m))>v&&(m=v):m=v;const _=s.length;let j;for(m>_/2&&(m=_/2),j=0;j>8,v=u%256,_.push(v),_.push(m);return _}(s,i.length-u),i,u,m)}function base64Slice(i,s,u){return 0===s&&u===i.length?m.fromByteArray(i):m.fromByteArray(i.slice(s,u))}function utf8Slice(i,s,u){u=Math.min(i.length,u);const m=[];let v=s;for(;v239?4:s>223?3:s>191?2:1;if(v+j<=u){let u,m,M,$;switch(j){case 1:s<128&&(_=s);break;case 2:u=i[v+1],128==(192&u)&&($=(31&s)<<6|63&u,$>127&&(_=$));break;case 3:u=i[v+1],m=i[v+2],128==(192&u)&&128==(192&m)&&($=(15&s)<<12|(63&u)<<6|63&m,$>2047&&($<55296||$>57343)&&(_=$));break;case 4:u=i[v+1],m=i[v+2],M=i[v+3],128==(192&u)&&128==(192&m)&&128==(192&M)&&($=(15&s)<<18|(63&u)<<12|(63&m)<<6|63&M,$>65535&&$<1114112&&(_=$))}}null===_?(_=65533,j=1):_>65535&&(_-=65536,m.push(_>>>10&1023|55296),_=56320|1023&_),m.push(_),v+=j}return function decodeCodePointsArray(i){const s=i.length;if(s<=M)return String.fromCharCode.apply(String,i);let u="",m=0;for(;mm.length?(Buffer.isBuffer(s)||(s=Buffer.from(s)),s.copy(m,v)):Uint8Array.prototype.set.call(m,s,v);else{if(!Buffer.isBuffer(s))throw new TypeError('"list" argument must be an Array of Buffers');s.copy(m,v)}v+=s.length}return m},Buffer.byteLength=byteLength,Buffer.prototype._isBuffer=!0,Buffer.prototype.swap16=function swap16(){const i=this.length;if(i%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let s=0;su&&(i+=" ... "),""},_&&(Buffer.prototype[_]=Buffer.prototype.inspect),Buffer.prototype.compare=function compare(i,s,u,m,v){if(isInstance(i,Uint8Array)&&(i=Buffer.from(i,i.offset,i.byteLength)),!Buffer.isBuffer(i))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof i);if(void 0===s&&(s=0),void 0===u&&(u=i?i.length:0),void 0===m&&(m=0),void 0===v&&(v=this.length),s<0||u>i.length||m<0||v>this.length)throw new RangeError("out of range index");if(m>=v&&s>=u)return 0;if(m>=v)return-1;if(s>=u)return 1;if(this===i)return 0;let _=(v>>>=0)-(m>>>=0),j=(u>>>=0)-(s>>>=0);const M=Math.min(_,j),$=this.slice(m,v),W=i.slice(s,u);for(let i=0;i>>=0,isFinite(u)?(u>>>=0,void 0===m&&(m="utf8")):(m=u,u=void 0)}const v=this.length-s;if((void 0===u||u>v)&&(u=v),i.length>0&&(u<0||s<0)||s>this.length)throw new RangeError("Attempt to write outside buffer bounds");m||(m="utf8");let _=!1;for(;;)switch(m){case"hex":return hexWrite(this,i,s,u);case"utf8":case"utf-8":return utf8Write(this,i,s,u);case"ascii":case"latin1":case"binary":return asciiWrite(this,i,s,u);case"base64":return base64Write(this,i,s,u);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ucs2Write(this,i,s,u);default:if(_)throw new TypeError("Unknown encoding: "+m);m=(""+m).toLowerCase(),_=!0}},Buffer.prototype.toJSON=function toJSON(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const M=4096;function asciiSlice(i,s,u){let m="";u=Math.min(i.length,u);for(let v=s;vm)&&(u=m);let v="";for(let m=s;mu)throw new RangeError("Trying to access beyond buffer length")}function checkInt(i,s,u,m,v,_){if(!Buffer.isBuffer(i))throw new TypeError('"buffer" argument must be a Buffer instance');if(s>v||s<_)throw new RangeError('"value" argument is out of bounds');if(u+m>i.length)throw new RangeError("Index out of range")}function wrtBigUInt64LE(i,s,u,m,v){checkIntBI(s,m,v,i,u,7);let _=Number(s&BigInt(4294967295));i[u++]=_,_>>=8,i[u++]=_,_>>=8,i[u++]=_,_>>=8,i[u++]=_;let j=Number(s>>BigInt(32)&BigInt(4294967295));return i[u++]=j,j>>=8,i[u++]=j,j>>=8,i[u++]=j,j>>=8,i[u++]=j,u}function wrtBigUInt64BE(i,s,u,m,v){checkIntBI(s,m,v,i,u,7);let _=Number(s&BigInt(4294967295));i[u+7]=_,_>>=8,i[u+6]=_,_>>=8,i[u+5]=_,_>>=8,i[u+4]=_;let j=Number(s>>BigInt(32)&BigInt(4294967295));return i[u+3]=j,j>>=8,i[u+2]=j,j>>=8,i[u+1]=j,j>>=8,i[u]=j,u+8}function checkIEEE754(i,s,u,m,v,_){if(u+m>i.length)throw new RangeError("Index out of range");if(u<0)throw new RangeError("Index out of range")}function writeFloat(i,s,u,m,_){return s=+s,u>>>=0,_||checkIEEE754(i,0,u,4),v.write(i,s,u,m,23,4),u+4}function writeDouble(i,s,u,m,_){return s=+s,u>>>=0,_||checkIEEE754(i,0,u,8),v.write(i,s,u,m,52,8),u+8}Buffer.prototype.slice=function slice(i,s){const u=this.length;(i=~~i)<0?(i+=u)<0&&(i=0):i>u&&(i=u),(s=void 0===s?u:~~s)<0?(s+=u)<0&&(s=0):s>u&&(s=u),s>>=0,s>>>=0,u||checkOffset(i,s,this.length);let m=this[i],v=1,_=0;for(;++_>>=0,s>>>=0,u||checkOffset(i,s,this.length);let m=this[i+--s],v=1;for(;s>0&&(v*=256);)m+=this[i+--s]*v;return m},Buffer.prototype.readUint8=Buffer.prototype.readUInt8=function readUInt8(i,s){return i>>>=0,s||checkOffset(i,1,this.length),this[i]},Buffer.prototype.readUint16LE=Buffer.prototype.readUInt16LE=function readUInt16LE(i,s){return i>>>=0,s||checkOffset(i,2,this.length),this[i]|this[i+1]<<8},Buffer.prototype.readUint16BE=Buffer.prototype.readUInt16BE=function readUInt16BE(i,s){return i>>>=0,s||checkOffset(i,2,this.length),this[i]<<8|this[i+1]},Buffer.prototype.readUint32LE=Buffer.prototype.readUInt32LE=function readUInt32LE(i,s){return i>>>=0,s||checkOffset(i,4,this.length),(this[i]|this[i+1]<<8|this[i+2]<<16)+16777216*this[i+3]},Buffer.prototype.readUint32BE=Buffer.prototype.readUInt32BE=function readUInt32BE(i,s){return i>>>=0,s||checkOffset(i,4,this.length),16777216*this[i]+(this[i+1]<<16|this[i+2]<<8|this[i+3])},Buffer.prototype.readBigUInt64LE=defineBigIntMethod((function readBigUInt64LE(i){validateNumber(i>>>=0,"offset");const s=this[i],u=this[i+7];void 0!==s&&void 0!==u||boundsError(i,this.length-8);const m=s+256*this[++i]+65536*this[++i]+this[++i]*2**24,v=this[++i]+256*this[++i]+65536*this[++i]+u*2**24;return BigInt(m)+(BigInt(v)<>>=0,"offset");const s=this[i],u=this[i+7];void 0!==s&&void 0!==u||boundsError(i,this.length-8);const m=s*2**24+65536*this[++i]+256*this[++i]+this[++i],v=this[++i]*2**24+65536*this[++i]+256*this[++i]+u;return(BigInt(m)<>>=0,s>>>=0,u||checkOffset(i,s,this.length);let m=this[i],v=1,_=0;for(;++_=v&&(m-=Math.pow(2,8*s)),m},Buffer.prototype.readIntBE=function readIntBE(i,s,u){i>>>=0,s>>>=0,u||checkOffset(i,s,this.length);let m=s,v=1,_=this[i+--m];for(;m>0&&(v*=256);)_+=this[i+--m]*v;return v*=128,_>=v&&(_-=Math.pow(2,8*s)),_},Buffer.prototype.readInt8=function readInt8(i,s){return i>>>=0,s||checkOffset(i,1,this.length),128&this[i]?-1*(255-this[i]+1):this[i]},Buffer.prototype.readInt16LE=function readInt16LE(i,s){i>>>=0,s||checkOffset(i,2,this.length);const u=this[i]|this[i+1]<<8;return 32768&u?4294901760|u:u},Buffer.prototype.readInt16BE=function readInt16BE(i,s){i>>>=0,s||checkOffset(i,2,this.length);const u=this[i+1]|this[i]<<8;return 32768&u?4294901760|u:u},Buffer.prototype.readInt32LE=function readInt32LE(i,s){return i>>>=0,s||checkOffset(i,4,this.length),this[i]|this[i+1]<<8|this[i+2]<<16|this[i+3]<<24},Buffer.prototype.readInt32BE=function readInt32BE(i,s){return i>>>=0,s||checkOffset(i,4,this.length),this[i]<<24|this[i+1]<<16|this[i+2]<<8|this[i+3]},Buffer.prototype.readBigInt64LE=defineBigIntMethod((function readBigInt64LE(i){validateNumber(i>>>=0,"offset");const s=this[i],u=this[i+7];void 0!==s&&void 0!==u||boundsError(i,this.length-8);const m=this[i+4]+256*this[i+5]+65536*this[i+6]+(u<<24);return(BigInt(m)<>>=0,"offset");const s=this[i],u=this[i+7];void 0!==s&&void 0!==u||boundsError(i,this.length-8);const m=(s<<24)+65536*this[++i]+256*this[++i]+this[++i];return(BigInt(m)<>>=0,s||checkOffset(i,4,this.length),v.read(this,i,!0,23,4)},Buffer.prototype.readFloatBE=function readFloatBE(i,s){return i>>>=0,s||checkOffset(i,4,this.length),v.read(this,i,!1,23,4)},Buffer.prototype.readDoubleLE=function readDoubleLE(i,s){return i>>>=0,s||checkOffset(i,8,this.length),v.read(this,i,!0,52,8)},Buffer.prototype.readDoubleBE=function readDoubleBE(i,s){return i>>>=0,s||checkOffset(i,8,this.length),v.read(this,i,!1,52,8)},Buffer.prototype.writeUintLE=Buffer.prototype.writeUIntLE=function writeUIntLE(i,s,u,m){if(i=+i,s>>>=0,u>>>=0,!m){checkInt(this,i,s,u,Math.pow(2,8*u)-1,0)}let v=1,_=0;for(this[s]=255&i;++_>>=0,u>>>=0,!m){checkInt(this,i,s,u,Math.pow(2,8*u)-1,0)}let v=u-1,_=1;for(this[s+v]=255&i;--v>=0&&(_*=256);)this[s+v]=i/_&255;return s+u},Buffer.prototype.writeUint8=Buffer.prototype.writeUInt8=function writeUInt8(i,s,u){return i=+i,s>>>=0,u||checkInt(this,i,s,1,255,0),this[s]=255&i,s+1},Buffer.prototype.writeUint16LE=Buffer.prototype.writeUInt16LE=function writeUInt16LE(i,s,u){return i=+i,s>>>=0,u||checkInt(this,i,s,2,65535,0),this[s]=255&i,this[s+1]=i>>>8,s+2},Buffer.prototype.writeUint16BE=Buffer.prototype.writeUInt16BE=function writeUInt16BE(i,s,u){return i=+i,s>>>=0,u||checkInt(this,i,s,2,65535,0),this[s]=i>>>8,this[s+1]=255&i,s+2},Buffer.prototype.writeUint32LE=Buffer.prototype.writeUInt32LE=function writeUInt32LE(i,s,u){return i=+i,s>>>=0,u||checkInt(this,i,s,4,4294967295,0),this[s+3]=i>>>24,this[s+2]=i>>>16,this[s+1]=i>>>8,this[s]=255&i,s+4},Buffer.prototype.writeUint32BE=Buffer.prototype.writeUInt32BE=function writeUInt32BE(i,s,u){return i=+i,s>>>=0,u||checkInt(this,i,s,4,4294967295,0),this[s]=i>>>24,this[s+1]=i>>>16,this[s+2]=i>>>8,this[s+3]=255&i,s+4},Buffer.prototype.writeBigUInt64LE=defineBigIntMethod((function writeBigUInt64LE(i,s=0){return wrtBigUInt64LE(this,i,s,BigInt(0),BigInt("0xffffffffffffffff"))})),Buffer.prototype.writeBigUInt64BE=defineBigIntMethod((function writeBigUInt64BE(i,s=0){return wrtBigUInt64BE(this,i,s,BigInt(0),BigInt("0xffffffffffffffff"))})),Buffer.prototype.writeIntLE=function writeIntLE(i,s,u,m){if(i=+i,s>>>=0,!m){const m=Math.pow(2,8*u-1);checkInt(this,i,s,u,m-1,-m)}let v=0,_=1,j=0;for(this[s]=255&i;++v>0)-j&255;return s+u},Buffer.prototype.writeIntBE=function writeIntBE(i,s,u,m){if(i=+i,s>>>=0,!m){const m=Math.pow(2,8*u-1);checkInt(this,i,s,u,m-1,-m)}let v=u-1,_=1,j=0;for(this[s+v]=255&i;--v>=0&&(_*=256);)i<0&&0===j&&0!==this[s+v+1]&&(j=1),this[s+v]=(i/_>>0)-j&255;return s+u},Buffer.prototype.writeInt8=function writeInt8(i,s,u){return i=+i,s>>>=0,u||checkInt(this,i,s,1,127,-128),i<0&&(i=255+i+1),this[s]=255&i,s+1},Buffer.prototype.writeInt16LE=function writeInt16LE(i,s,u){return i=+i,s>>>=0,u||checkInt(this,i,s,2,32767,-32768),this[s]=255&i,this[s+1]=i>>>8,s+2},Buffer.prototype.writeInt16BE=function writeInt16BE(i,s,u){return i=+i,s>>>=0,u||checkInt(this,i,s,2,32767,-32768),this[s]=i>>>8,this[s+1]=255&i,s+2},Buffer.prototype.writeInt32LE=function writeInt32LE(i,s,u){return i=+i,s>>>=0,u||checkInt(this,i,s,4,2147483647,-2147483648),this[s]=255&i,this[s+1]=i>>>8,this[s+2]=i>>>16,this[s+3]=i>>>24,s+4},Buffer.prototype.writeInt32BE=function writeInt32BE(i,s,u){return i=+i,s>>>=0,u||checkInt(this,i,s,4,2147483647,-2147483648),i<0&&(i=4294967295+i+1),this[s]=i>>>24,this[s+1]=i>>>16,this[s+2]=i>>>8,this[s+3]=255&i,s+4},Buffer.prototype.writeBigInt64LE=defineBigIntMethod((function writeBigInt64LE(i,s=0){return wrtBigUInt64LE(this,i,s,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),Buffer.prototype.writeBigInt64BE=defineBigIntMethod((function writeBigInt64BE(i,s=0){return wrtBigUInt64BE(this,i,s,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),Buffer.prototype.writeFloatLE=function writeFloatLE(i,s,u){return writeFloat(this,i,s,!0,u)},Buffer.prototype.writeFloatBE=function writeFloatBE(i,s,u){return writeFloat(this,i,s,!1,u)},Buffer.prototype.writeDoubleLE=function writeDoubleLE(i,s,u){return writeDouble(this,i,s,!0,u)},Buffer.prototype.writeDoubleBE=function writeDoubleBE(i,s,u){return writeDouble(this,i,s,!1,u)},Buffer.prototype.copy=function copy(i,s,u,m){if(!Buffer.isBuffer(i))throw new TypeError("argument should be a Buffer");if(u||(u=0),m||0===m||(m=this.length),s>=i.length&&(s=i.length),s||(s=0),m>0&&m=this.length)throw new RangeError("Index out of range");if(m<0)throw new RangeError("sourceEnd out of bounds");m>this.length&&(m=this.length),i.length-s>>=0,u=void 0===u?this.length:u>>>0,i||(i=0),"number"==typeof i)for(v=s;v=m+4;u-=3)s=`_${i.slice(u-3,u)}${s}`;return`${i.slice(0,u)}${s}`}function checkIntBI(i,s,u,m,v,_){if(i>u||i3?0===s||s===BigInt(0)?`>= 0${m} and < 2${m} ** ${8*(_+1)}${m}`:`>= -(2${m} ** ${8*(_+1)-1}${m}) and < 2 ** ${8*(_+1)-1}${m}`:`>= ${s}${m} and <= ${u}${m}`,new $.ERR_OUT_OF_RANGE("value",v,i)}!function checkBounds(i,s,u){validateNumber(s,"offset"),void 0!==i[s]&&void 0!==i[s+u]||boundsError(s,i.length-(u+1))}(m,v,_)}function validateNumber(i,s){if("number"!=typeof i)throw new $.ERR_INVALID_ARG_TYPE(s,"number",i)}function boundsError(i,s,u){if(Math.floor(i)!==i)throw validateNumber(i,u),new $.ERR_OUT_OF_RANGE(u||"offset","an integer",i);if(s<0)throw new $.ERR_BUFFER_OUT_OF_BOUNDS;throw new $.ERR_OUT_OF_RANGE(u||"offset",`>= ${u?1:0} and <= ${s}`,i)}E("ERR_BUFFER_OUT_OF_BOUNDS",(function(i){return i?`${i} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),E("ERR_INVALID_ARG_TYPE",(function(i,s){return`The "${i}" argument must be of type number. Received type ${typeof s}`}),TypeError),E("ERR_OUT_OF_RANGE",(function(i,s,u){let m=`The value of "${i}" is out of range.`,v=u;return Number.isInteger(u)&&Math.abs(u)>2**32?v=addNumericalSeparator(String(u)):"bigint"==typeof u&&(v=String(u),(u>BigInt(2)**BigInt(32)||u<-(BigInt(2)**BigInt(32)))&&(v=addNumericalSeparator(v)),v+="n"),m+=` It must be ${s}. Received ${v}`,m}),RangeError);const W=/[^+/0-9A-Za-z-_]/g;function utf8ToBytes(i,s){let u;s=s||1/0;const m=i.length;let v=null;const _=[];for(let j=0;j55295&&u<57344){if(!v){if(u>56319){(s-=3)>-1&&_.push(239,191,189);continue}if(j+1===m){(s-=3)>-1&&_.push(239,191,189);continue}v=u;continue}if(u<56320){(s-=3)>-1&&_.push(239,191,189),v=u;continue}u=65536+(v-55296<<10|u-56320)}else v&&(s-=3)>-1&&_.push(239,191,189);if(v=null,u<128){if((s-=1)<0)break;_.push(u)}else if(u<2048){if((s-=2)<0)break;_.push(u>>6|192,63&u|128)}else if(u<65536){if((s-=3)<0)break;_.push(u>>12|224,u>>6&63|128,63&u|128)}else{if(!(u<1114112))throw new Error("Invalid code point");if((s-=4)<0)break;_.push(u>>18|240,u>>12&63|128,u>>6&63|128,63&u|128)}}return _}function base64ToBytes(i){return m.toByteArray(function base64clean(i){if((i=(i=i.split("=")[0]).trim().replace(W,"")).length<2)return"";for(;i.length%4!=0;)i+="=";return i}(i))}function blitBuffer(i,s,u,m){let v;for(v=0;v=s.length||v>=i.length);++v)s[v+u]=i[v];return v}function isInstance(i,s){return i instanceof s||null!=i&&null!=i.constructor&&null!=i.constructor.name&&i.constructor.name===s.name}function numberIsNaN(i){return i!=i}const X=function(){const i="0123456789abcdef",s=new Array(256);for(let u=0;u<16;++u){const m=16*u;for(let v=0;v<16;++v)s[m+v]=i[u]+i[v]}return s}();function defineBigIntMethod(i){return"undefined"==typeof BigInt?BufferBigIntNotDefined:i}function BufferBigIntNotDefined(){throw new Error("BigInt not supported")}},21924:(i,s,u)=>{"use strict";var m=u(40210),v=u(55559),_=v(m("String.prototype.indexOf"));i.exports=function callBoundIntrinsic(i,s){var u=m(i,!!s);return"function"==typeof u&&_(i,".prototype.")>-1?v(u):u}},55559:(i,s,u)=>{"use strict";var m=u(58612),v=u(40210),_=v("%Function.prototype.apply%"),j=v("%Function.prototype.call%"),M=v("%Reflect.apply%",!0)||m.call(j,_),$=v("%Object.getOwnPropertyDescriptor%",!0),W=v("%Object.defineProperty%",!0),X=v("%Math.max%");if(W)try{W({},"a",{value:1})}catch(i){W=null}i.exports=function callBind(i){var s=M(m,j,arguments);$&&W&&($(s,"length").configurable&&W(s,"length",{value:1+X(0,i.length-(arguments.length-1))}));return s};var Y=function applyBind(){return M(m,_,arguments)};W?W(i.exports,"apply",{value:Y}):i.exports.apply=Y},94184:(i,s)=>{var u;!function(){"use strict";var m={}.hasOwnProperty;function classNames(){for(var i=[],s=0;s{"use strict";s.parse=function parse(i,s){if("string"!=typeof i)throw new TypeError("argument str must be a string");var u={},m=(s||{}).decode||decode,v=0;for(;v{"use strict";var m=u(11742),v={"text/plain":"Text","text/html":"Url",default:"Text"};i.exports=function copy(i,s){var u,_,j,M,$,W,X=!1;s||(s={}),u=s.debug||!1;try{if(j=m(),M=document.createRange(),$=document.getSelection(),(W=document.createElement("span")).textContent=i,W.ariaHidden="true",W.style.all="unset",W.style.position="fixed",W.style.top=0,W.style.clip="rect(0, 0, 0, 0)",W.style.whiteSpace="pre",W.style.webkitUserSelect="text",W.style.MozUserSelect="text",W.style.msUserSelect="text",W.style.userSelect="text",W.addEventListener("copy",(function(m){if(m.stopPropagation(),s.format)if(m.preventDefault(),void 0===m.clipboardData){u&&console.warn("unable to use e.clipboardData"),u&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var _=v[s.format]||v.default;window.clipboardData.setData(_,i)}else m.clipboardData.clearData(),m.clipboardData.setData(s.format,i);s.onCopy&&(m.preventDefault(),s.onCopy(m.clipboardData))})),document.body.appendChild(W),M.selectNodeContents(W),$.addRange(M),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");X=!0}catch(m){u&&console.error("unable to copy using execCommand: ",m),u&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(s.format||"text",i),s.onCopy&&s.onCopy(window.clipboardData),X=!0}catch(m){u&&console.error("unable to copy using clipboardData: ",m),u&&console.error("falling back to prompt"),_=function format(i){var s=(/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl")+"+C";return i.replace(/#{\s*key\s*}/g,s)}("message"in s?s.message:"Copy to clipboard: #{key}, Enter"),window.prompt(_,i)}}finally{$&&("function"==typeof $.removeRange?$.removeRange(M):$.removeAllRanges()),W&&document.body.removeChild(W),j()}return X}},44101:(i,s,u)=>{var m=u(18957);i.exports=m},90093:(i,s,u)=>{var m=u(28196);i.exports=m},65362:(i,s,u)=>{var m=u(63383);i.exports=m},50415:(i,s,u)=>{u(61181),u(47627),u(24415),u(66274),u(77971);var m=u(54058);i.exports=m.AggregateError},27700:(i,s,u)=>{u(73381);var m=u(35703);i.exports=m("Function").bind},16246:(i,s,u)=>{var m=u(7046),v=u(27700),_=Function.prototype;i.exports=function(i){var s=i.bind;return i===_||m(_,i)&&s===_.bind?v:s}},45999:(i,s,u)=>{u(49221);var m=u(54058);i.exports=m.Object.assign},16121:(i,s,u)=>{i.exports=u(38644)},14122:(i,s,u)=>{i.exports=u(89097)},60269:(i,s,u)=>{i.exports=u(76936)},38644:(i,s,u)=>{u(89731);var m=u(44101);i.exports=m},89097:(i,s,u)=>{var m=u(90093);i.exports=m},76936:(i,s,u)=>{var m=u(65362);i.exports=m},24883:(i,s,u)=>{var m=u(57475),v=u(69826),_=TypeError;i.exports=function(i){if(m(i))return i;throw _(v(i)+" is not a function")}},11851:(i,s,u)=>{var m=u(57475),v=String,_=TypeError;i.exports=function(i){if("object"==typeof i||m(i))return i;throw _("Can't set "+v(i)+" as a prototype")}},18479:i=>{i.exports=function(){}},96059:(i,s,u)=>{var m=u(10941),v=String,_=TypeError;i.exports=function(i){if(m(i))return i;throw _(v(i)+" is not an object")}},31692:(i,s,u)=>{var m=u(74529),v=u(59413),_=u(10623),createMethod=function(i){return function(s,u,j){var M,$=m(s),W=_($),X=v(j,W);if(i&&u!=u){for(;W>X;)if((M=$[X++])!=M)return!0}else for(;W>X;X++)if((i||X in $)&&$[X]===u)return i||X||0;return!i&&-1}};i.exports={includes:createMethod(!0),indexOf:createMethod(!1)}},93765:(i,s,u)=>{var m=u(95329);i.exports=m([].slice)},82532:(i,s,u)=>{var m=u(95329),v=m({}.toString),_=m("".slice);i.exports=function(i){return _(v(i),8,-1)}},9697:(i,s,u)=>{var m=u(22885),v=u(57475),_=u(82532),j=u(99813)("toStringTag"),M=Object,$="Arguments"==_(function(){return arguments}());i.exports=m?_:function(i){var s,u,m;return void 0===i?"Undefined":null===i?"Null":"string"==typeof(u=function(i,s){try{return i[s]}catch(i){}}(s=M(i),j))?u:$?_(s):"Object"==(m=_(s))&&v(s.callee)?"Arguments":m}},23489:(i,s,u)=>{var m=u(90953),v=u(31136),_=u(49677),j=u(65988);i.exports=function(i,s,u){for(var M=v(s),$=j.f,W=_.f,X=0;X{var m=u(95981);i.exports=!m((function(){function F(){}return F.prototype.constructor=null,Object.getPrototypeOf(new F)!==F.prototype}))},23538:i=>{i.exports=function(i,s){return{value:i,done:s}}},32029:(i,s,u)=>{var m=u(55746),v=u(65988),_=u(31887);i.exports=m?function(i,s,u){return v.f(i,s,_(1,u))}:function(i,s,u){return i[s]=u,i}},31887:i=>{i.exports=function(i,s){return{enumerable:!(1&i),configurable:!(2&i),writable:!(4&i),value:s}}},95929:(i,s,u)=>{var m=u(32029);i.exports=function(i,s,u,v){return v&&v.enumerable?i[s]=u:m(i,s,u),i}},75609:(i,s,u)=>{var m=u(21899),v=Object.defineProperty;i.exports=function(i,s){try{v(m,i,{value:s,configurable:!0,writable:!0})}catch(u){m[i]=s}return s}},55746:(i,s,u)=>{var m=u(95981);i.exports=!m((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},76616:i=>{var s="object"==typeof document&&document.all,u=void 0===s&&void 0!==s;i.exports={all:s,IS_HTMLDDA:u}},61333:(i,s,u)=>{var m=u(21899),v=u(10941),_=m.document,j=v(_)&&v(_.createElement);i.exports=function(i){return j?_.createElement(i):{}}},63281:i=>{i.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},2861:i=>{i.exports="undefined"!=typeof navigator&&String(navigator.userAgent)||""},53385:(i,s,u)=>{var m,v,_=u(21899),j=u(2861),M=_.process,$=_.Deno,W=M&&M.versions||$&&$.version,X=W&&W.v8;X&&(v=(m=X.split("."))[0]>0&&m[0]<4?1:+(m[0]+m[1])),!v&&j&&(!(m=j.match(/Edge\/(\d+)/))||m[1]>=74)&&(m=j.match(/Chrome\/(\d+)/))&&(v=+m[1]),i.exports=v},35703:(i,s,u)=>{var m=u(54058);i.exports=function(i){return m[i+"Prototype"]}},56759:i=>{i.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},53995:(i,s,u)=>{var m=u(95329),v=Error,_=m("".replace),j=String(v("zxcasd").stack),M=/\n\s*at [^:]*:[^\n]*/,$=M.test(j);i.exports=function(i,s){if($&&"string"==typeof i&&!v.prepareStackTrace)for(;s--;)i=_(i,M,"");return i}},79585:(i,s,u)=>{var m=u(32029),v=u(53995),_=u(18780),j=Error.captureStackTrace;i.exports=function(i,s,u,M){_&&(j?j(i,s):m(i,"stack",v(u,M)))}},18780:(i,s,u)=>{var m=u(95981),v=u(31887);i.exports=!m((function(){var i=Error("a");return!("stack"in i)||(Object.defineProperty(i,"stack",v(1,7)),7!==i.stack)}))},76887:(i,s,u)=>{"use strict";var m=u(21899),v=u(79730),_=u(97484),j=u(57475),M=u(49677).f,$=u(37252),W=u(54058),X=u(86843),Y=u(32029),Z=u(90953),wrapConstructor=function(i){var Wrapper=function(s,u,m){if(this instanceof Wrapper){switch(arguments.length){case 0:return new i;case 1:return new i(s);case 2:return new i(s,u)}return new i(s,u,m)}return v(i,this,arguments)};return Wrapper.prototype=i.prototype,Wrapper};i.exports=function(i,s){var u,v,ee,ie,ae,le,ce,pe,de,fe=i.target,ye=i.global,be=i.stat,_e=i.proto,we=ye?m:be?m[fe]:(m[fe]||{}).prototype,Se=ye?W:W[fe]||Y(W,fe,{})[fe],xe=Se.prototype;for(ie in s)v=!(u=$(ye?ie:fe+(be?".":"#")+ie,i.forced))&&we&&Z(we,ie),le=Se[ie],v&&(ce=i.dontCallGetSet?(de=M(we,ie))&&de.value:we[ie]),ae=v&&ce?ce:s[ie],v&&typeof le==typeof ae||(pe=i.bind&&v?X(ae,m):i.wrap&&v?wrapConstructor(ae):_e&&j(ae)?_(ae):ae,(i.sham||ae&&ae.sham||le&&le.sham)&&Y(pe,"sham",!0),Y(Se,ie,pe),_e&&(Z(W,ee=fe+"Prototype")||Y(W,ee,{}),Y(W[ee],ie,ae),i.real&&xe&&(u||!xe[ie])&&Y(xe,ie,ae)))}},95981:i=>{i.exports=function(i){try{return!!i()}catch(i){return!0}}},79730:(i,s,u)=>{var m=u(18285),v=Function.prototype,_=v.apply,j=v.call;i.exports="object"==typeof Reflect&&Reflect.apply||(m?j.bind(_):function(){return j.apply(_,arguments)})},86843:(i,s,u)=>{var m=u(97484),v=u(24883),_=u(18285),j=m(m.bind);i.exports=function(i,s){return v(i),void 0===s?i:_?j(i,s):function(){return i.apply(s,arguments)}}},18285:(i,s,u)=>{var m=u(95981);i.exports=!m((function(){var i=function(){}.bind();return"function"!=typeof i||i.hasOwnProperty("prototype")}))},98308:(i,s,u)=>{"use strict";var m=u(95329),v=u(24883),_=u(10941),j=u(90953),M=u(93765),$=u(18285),W=Function,X=m([].concat),Y=m([].join),Z={};i.exports=$?W.bind:function bind(i){var s=v(this),u=s.prototype,m=M(arguments,1),$=function bound(){var u=X(m,M(arguments));return this instanceof $?function(i,s,u){if(!j(Z,s)){for(var m=[],v=0;v{var m=u(18285),v=Function.prototype.call;i.exports=m?v.bind(v):function(){return v.apply(v,arguments)}},79417:(i,s,u)=>{var m=u(55746),v=u(90953),_=Function.prototype,j=m&&Object.getOwnPropertyDescriptor,M=v(_,"name"),$=M&&"something"===function something(){}.name,W=M&&(!m||m&&j(_,"name").configurable);i.exports={EXISTS:M,PROPER:$,CONFIGURABLE:W}},45526:(i,s,u)=>{var m=u(95329),v=u(24883);i.exports=function(i,s,u){try{return m(v(Object.getOwnPropertyDescriptor(i,s)[u]))}catch(i){}}},97484:(i,s,u)=>{var m=u(82532),v=u(95329);i.exports=function(i){if("Function"===m(i))return v(i)}},95329:(i,s,u)=>{var m=u(18285),v=Function.prototype,_=v.call,j=m&&v.bind.bind(_,_);i.exports=m?j:function(i){return function(){return _.apply(i,arguments)}}},626:(i,s,u)=>{var m=u(54058),v=u(21899),_=u(57475),aFunction=function(i){return _(i)?i:void 0};i.exports=function(i,s){return arguments.length<2?aFunction(m[i])||aFunction(v[i]):m[i]&&m[i][s]||v[i]&&v[i][s]}},22902:(i,s,u)=>{var m=u(9697),v=u(14229),_=u(82119),j=u(12077),M=u(99813)("iterator");i.exports=function(i){if(!_(i))return v(i,M)||v(i,"@@iterator")||j[m(i)]}},53476:(i,s,u)=>{var m=u(78834),v=u(24883),_=u(96059),j=u(69826),M=u(22902),$=TypeError;i.exports=function(i,s){var u=arguments.length<2?M(i):s;if(v(u))return _(m(u,i));throw $(j(i)+" is not iterable")}},14229:(i,s,u)=>{var m=u(24883),v=u(82119);i.exports=function(i,s){var u=i[s];return v(u)?void 0:m(u)}},21899:function(i,s,u){var check=function(i){return i&&i.Math==Math&&i};i.exports=check("object"==typeof globalThis&&globalThis)||check("object"==typeof window&&window)||check("object"==typeof self&&self)||check("object"==typeof u.g&&u.g)||function(){return this}()||this||Function("return this")()},90953:(i,s,u)=>{var m=u(95329),v=u(89678),_=m({}.hasOwnProperty);i.exports=Object.hasOwn||function hasOwn(i,s){return _(v(i),s)}},27748:i=>{i.exports={}},15463:(i,s,u)=>{var m=u(626);i.exports=m("document","documentElement")},2840:(i,s,u)=>{var m=u(55746),v=u(95981),_=u(61333);i.exports=!m&&!v((function(){return 7!=Object.defineProperty(_("div"),"a",{get:function(){return 7}}).a}))},37026:(i,s,u)=>{var m=u(95329),v=u(95981),_=u(82532),j=Object,M=m("".split);i.exports=v((function(){return!j("z").propertyIsEnumerable(0)}))?function(i){return"String"==_(i)?M(i,""):j(i)}:j},70926:(i,s,u)=>{var m=u(57475),v=u(10941),_=u(88929);i.exports=function(i,s,u){var j,M;return _&&m(j=s.constructor)&&j!==u&&v(M=j.prototype)&&M!==u.prototype&&_(i,M),i}},53794:(i,s,u)=>{var m=u(10941),v=u(32029);i.exports=function(i,s){m(s)&&"cause"in s&&v(i,"cause",s.cause)}},45402:(i,s,u)=>{var m,v,_,j=u(47093),M=u(21899),$=u(10941),W=u(32029),X=u(90953),Y=u(63030),Z=u(44262),ee=u(27748),ie="Object already initialized",ae=M.TypeError,le=M.WeakMap;if(j||Y.state){var ce=Y.state||(Y.state=new le);ce.get=ce.get,ce.has=ce.has,ce.set=ce.set,m=function(i,s){if(ce.has(i))throw ae(ie);return s.facade=i,ce.set(i,s),s},v=function(i){return ce.get(i)||{}},_=function(i){return ce.has(i)}}else{var pe=Z("state");ee[pe]=!0,m=function(i,s){if(X(i,pe))throw ae(ie);return s.facade=i,W(i,pe,s),s},v=function(i){return X(i,pe)?i[pe]:{}},_=function(i){return X(i,pe)}}i.exports={set:m,get:v,has:_,enforce:function(i){return _(i)?v(i):m(i,{})},getterFor:function(i){return function(s){var u;if(!$(s)||(u=v(s)).type!==i)throw ae("Incompatible receiver, "+i+" required");return u}}}},6782:(i,s,u)=>{var m=u(99813),v=u(12077),_=m("iterator"),j=Array.prototype;i.exports=function(i){return void 0!==i&&(v.Array===i||j[_]===i)}},57475:(i,s,u)=>{var m=u(76616),v=m.all;i.exports=m.IS_HTMLDDA?function(i){return"function"==typeof i||i===v}:function(i){return"function"==typeof i}},37252:(i,s,u)=>{var m=u(95981),v=u(57475),_=/#|\.prototype\./,isForced=function(i,s){var u=M[j(i)];return u==W||u!=$&&(v(s)?m(s):!!s)},j=isForced.normalize=function(i){return String(i).replace(_,".").toLowerCase()},M=isForced.data={},$=isForced.NATIVE="N",W=isForced.POLYFILL="P";i.exports=isForced},82119:i=>{i.exports=function(i){return null==i}},10941:(i,s,u)=>{var m=u(57475),v=u(76616),_=v.all;i.exports=v.IS_HTMLDDA?function(i){return"object"==typeof i?null!==i:m(i)||i===_}:function(i){return"object"==typeof i?null!==i:m(i)}},82529:i=>{i.exports=!0},56664:(i,s,u)=>{var m=u(626),v=u(57475),_=u(7046),j=u(32302),M=Object;i.exports=j?function(i){return"symbol"==typeof i}:function(i){var s=m("Symbol");return v(s)&&_(s.prototype,M(i))}},93091:(i,s,u)=>{var m=u(86843),v=u(78834),_=u(96059),j=u(69826),M=u(6782),$=u(10623),W=u(7046),X=u(53476),Y=u(22902),Z=u(7609),ee=TypeError,Result=function(i,s){this.stopped=i,this.result=s},ie=Result.prototype;i.exports=function(i,s,u){var ae,le,ce,pe,de,fe,ye,be=u&&u.that,_e=!(!u||!u.AS_ENTRIES),we=!(!u||!u.IS_RECORD),Se=!(!u||!u.IS_ITERATOR),xe=!(!u||!u.INTERRUPTED),Ie=m(s,be),stop=function(i){return ae&&Z(ae,"normal",i),new Result(!0,i)},callFn=function(i){return _e?(_(i),xe?Ie(i[0],i[1],stop):Ie(i[0],i[1])):xe?Ie(i,stop):Ie(i)};if(we)ae=i.iterator;else if(Se)ae=i;else{if(!(le=Y(i)))throw ee(j(i)+" is not iterable");if(M(le)){for(ce=0,pe=$(i);pe>ce;ce++)if((de=callFn(i[ce]))&&W(ie,de))return de;return new Result(!1)}ae=X(i,le)}for(fe=we?i.next:ae.next;!(ye=v(fe,ae)).done;){try{de=callFn(ye.value)}catch(i){Z(ae,"throw",i)}if("object"==typeof de&&de&&W(ie,de))return de}return new Result(!1)}},7609:(i,s,u)=>{var m=u(78834),v=u(96059),_=u(14229);i.exports=function(i,s,u){var j,M;v(i);try{if(!(j=_(i,"return"))){if("throw"===s)throw u;return u}j=m(j,i)}catch(i){M=!0,j=i}if("throw"===s)throw u;if(M)throw j;return v(j),u}},53847:(i,s,u)=>{"use strict";var m=u(35143).IteratorPrototype,v=u(29290),_=u(31887),j=u(90904),M=u(12077),returnThis=function(){return this};i.exports=function(i,s,u,$){var W=s+" Iterator";return i.prototype=v(m,{next:_(+!$,u)}),j(i,W,!1,!0),M[W]=returnThis,i}},75105:(i,s,u)=>{"use strict";var m=u(76887),v=u(78834),_=u(82529),j=u(79417),M=u(57475),$=u(53847),W=u(249),X=u(88929),Y=u(90904),Z=u(32029),ee=u(95929),ie=u(99813),ae=u(12077),le=u(35143),ce=j.PROPER,pe=j.CONFIGURABLE,de=le.IteratorPrototype,fe=le.BUGGY_SAFARI_ITERATORS,ye=ie("iterator"),be="keys",_e="values",we="entries",returnThis=function(){return this};i.exports=function(i,s,u,j,ie,le,Se){$(u,s,j);var xe,Ie,Pe,getIterationMethod=function(i){if(i===ie&&Ve)return Ve;if(!fe&&i in qe)return qe[i];switch(i){case be:return function keys(){return new u(this,i)};case _e:return function values(){return new u(this,i)};case we:return function entries(){return new u(this,i)}}return function(){return new u(this)}},Te=s+" Iterator",Re=!1,qe=i.prototype,ze=qe[ye]||qe["@@iterator"]||ie&&qe[ie],Ve=!fe&&ze||getIterationMethod(ie),We="Array"==s&&qe.entries||ze;if(We&&(xe=W(We.call(new i)))!==Object.prototype&&xe.next&&(_||W(xe)===de||(X?X(xe,de):M(xe[ye])||ee(xe,ye,returnThis)),Y(xe,Te,!0,!0),_&&(ae[Te]=returnThis)),ce&&ie==_e&&ze&&ze.name!==_e&&(!_&&pe?Z(qe,"name",_e):(Re=!0,Ve=function values(){return v(ze,this)})),ie)if(Ie={values:getIterationMethod(_e),keys:le?Ve:getIterationMethod(be),entries:getIterationMethod(we)},Se)for(Pe in Ie)(fe||Re||!(Pe in qe))&&ee(qe,Pe,Ie[Pe]);else m({target:s,proto:!0,forced:fe||Re},Ie);return _&&!Se||qe[ye]===Ve||ee(qe,ye,Ve,{name:ie}),ae[s]=Ve,Ie}},35143:(i,s,u)=>{"use strict";var m,v,_,j=u(95981),M=u(57475),$=u(10941),W=u(29290),X=u(249),Y=u(95929),Z=u(99813),ee=u(82529),ie=Z("iterator"),ae=!1;[].keys&&("next"in(_=[].keys())?(v=X(X(_)))!==Object.prototype&&(m=v):ae=!0),!$(m)||j((function(){var i={};return m[ie].call(i)!==i}))?m={}:ee&&(m=W(m)),M(m[ie])||Y(m,ie,(function(){return this})),i.exports={IteratorPrototype:m,BUGGY_SAFARI_ITERATORS:ae}},12077:i=>{i.exports={}},10623:(i,s,u)=>{var m=u(43057);i.exports=function(i){return m(i.length)}},35331:i=>{var s=Math.ceil,u=Math.floor;i.exports=Math.trunc||function trunc(i){var m=+i;return(m>0?u:s)(m)}},14649:(i,s,u)=>{var m=u(85803);i.exports=function(i,s){return void 0===i?arguments.length<2?"":s:m(i)}},24420:(i,s,u)=>{"use strict";var m=u(55746),v=u(95329),_=u(78834),j=u(95981),M=u(14771),$=u(87857),W=u(36760),X=u(89678),Y=u(37026),Z=Object.assign,ee=Object.defineProperty,ie=v([].concat);i.exports=!Z||j((function(){if(m&&1!==Z({b:1},Z(ee({},"a",{enumerable:!0,get:function(){ee(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var i={},s={},u=Symbol(),v="abcdefghijklmnopqrst";return i[u]=7,v.split("").forEach((function(i){s[i]=i})),7!=Z({},i)[u]||M(Z({},s)).join("")!=v}))?function assign(i,s){for(var u=X(i),v=arguments.length,j=1,Z=$.f,ee=W.f;v>j;)for(var ae,le=Y(arguments[j++]),ce=Z?ie(M(le),Z(le)):M(le),pe=ce.length,de=0;pe>de;)ae=ce[de++],m&&!_(ee,le,ae)||(u[ae]=le[ae]);return u}:Z},29290:(i,s,u)=>{var m,v=u(96059),_=u(59938),j=u(56759),M=u(27748),$=u(15463),W=u(61333),X=u(44262),Y="prototype",Z="script",ee=X("IE_PROTO"),EmptyConstructor=function(){},scriptTag=function(i){return"<"+Z+">"+i+""},NullProtoObjectViaActiveX=function(i){i.write(scriptTag("")),i.close();var s=i.parentWindow.Object;return i=null,s},NullProtoObject=function(){try{m=new ActiveXObject("htmlfile")}catch(i){}var i,s,u;NullProtoObject="undefined"!=typeof document?document.domain&&m?NullProtoObjectViaActiveX(m):(s=W("iframe"),u="java"+Z+":",s.style.display="none",$.appendChild(s),s.src=String(u),(i=s.contentWindow.document).open(),i.write(scriptTag("document.F=Object")),i.close(),i.F):NullProtoObjectViaActiveX(m);for(var v=j.length;v--;)delete NullProtoObject[Y][j[v]];return NullProtoObject()};M[ee]=!0,i.exports=Object.create||function create(i,s){var u;return null!==i?(EmptyConstructor[Y]=v(i),u=new EmptyConstructor,EmptyConstructor[Y]=null,u[ee]=i):u=NullProtoObject(),void 0===s?u:_.f(u,s)}},59938:(i,s,u)=>{var m=u(55746),v=u(83937),_=u(65988),j=u(96059),M=u(74529),$=u(14771);s.f=m&&!v?Object.defineProperties:function defineProperties(i,s){j(i);for(var u,m=M(s),v=$(s),W=v.length,X=0;W>X;)_.f(i,u=v[X++],m[u]);return i}},65988:(i,s,u)=>{var m=u(55746),v=u(2840),_=u(83937),j=u(96059),M=u(83894),$=TypeError,W=Object.defineProperty,X=Object.getOwnPropertyDescriptor,Y="enumerable",Z="configurable",ee="writable";s.f=m?_?function defineProperty(i,s,u){if(j(i),s=M(s),j(u),"function"==typeof i&&"prototype"===s&&"value"in u&&ee in u&&!u[ee]){var m=X(i,s);m&&m[ee]&&(i[s]=u.value,u={configurable:Z in u?u[Z]:m[Z],enumerable:Y in u?u[Y]:m[Y],writable:!1})}return W(i,s,u)}:W:function defineProperty(i,s,u){if(j(i),s=M(s),j(u),v)try{return W(i,s,u)}catch(i){}if("get"in u||"set"in u)throw $("Accessors not supported");return"value"in u&&(i[s]=u.value),i}},49677:(i,s,u)=>{var m=u(55746),v=u(78834),_=u(36760),j=u(31887),M=u(74529),$=u(83894),W=u(90953),X=u(2840),Y=Object.getOwnPropertyDescriptor;s.f=m?Y:function getOwnPropertyDescriptor(i,s){if(i=M(i),s=$(s),X)try{return Y(i,s)}catch(i){}if(W(i,s))return j(!v(_.f,i,s),i[s])}},10946:(i,s,u)=>{var m=u(55629),v=u(56759).concat("length","prototype");s.f=Object.getOwnPropertyNames||function getOwnPropertyNames(i){return m(i,v)}},87857:(i,s)=>{s.f=Object.getOwnPropertySymbols},249:(i,s,u)=>{var m=u(90953),v=u(57475),_=u(89678),j=u(44262),M=u(91310),$=j("IE_PROTO"),W=Object,X=W.prototype;i.exports=M?W.getPrototypeOf:function(i){var s=_(i);if(m(s,$))return s[$];var u=s.constructor;return v(u)&&s instanceof u?u.prototype:s instanceof W?X:null}},7046:(i,s,u)=>{var m=u(95329);i.exports=m({}.isPrototypeOf)},55629:(i,s,u)=>{var m=u(95329),v=u(90953),_=u(74529),j=u(31692).indexOf,M=u(27748),$=m([].push);i.exports=function(i,s){var u,m=_(i),W=0,X=[];for(u in m)!v(M,u)&&v(m,u)&&$(X,u);for(;s.length>W;)v(m,u=s[W++])&&(~j(X,u)||$(X,u));return X}},14771:(i,s,u)=>{var m=u(55629),v=u(56759);i.exports=Object.keys||function keys(i){return m(i,v)}},36760:(i,s)=>{"use strict";var u={}.propertyIsEnumerable,m=Object.getOwnPropertyDescriptor,v=m&&!u.call({1:2},1);s.f=v?function propertyIsEnumerable(i){var s=m(this,i);return!!s&&s.enumerable}:u},88929:(i,s,u)=>{var m=u(45526),v=u(96059),_=u(11851);i.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var i,s=!1,u={};try{(i=m(Object.prototype,"__proto__","set"))(u,[]),s=u instanceof Array}catch(i){}return function setPrototypeOf(u,m){return v(u),_(m),s?i(u,m):u.__proto__=m,u}}():void 0)},95623:(i,s,u)=>{"use strict";var m=u(22885),v=u(9697);i.exports=m?{}.toString:function toString(){return"[object "+v(this)+"]"}},39811:(i,s,u)=>{var m=u(78834),v=u(57475),_=u(10941),j=TypeError;i.exports=function(i,s){var u,M;if("string"===s&&v(u=i.toString)&&!_(M=m(u,i)))return M;if(v(u=i.valueOf)&&!_(M=m(u,i)))return M;if("string"!==s&&v(u=i.toString)&&!_(M=m(u,i)))return M;throw j("Can't convert object to primitive value")}},31136:(i,s,u)=>{var m=u(626),v=u(95329),_=u(10946),j=u(87857),M=u(96059),$=v([].concat);i.exports=m("Reflect","ownKeys")||function ownKeys(i){var s=_.f(M(i)),u=j.f;return u?$(s,u(i)):s}},54058:i=>{i.exports={}},9056:(i,s,u)=>{var m=u(65988).f;i.exports=function(i,s,u){u in i||m(i,u,{configurable:!0,get:function(){return s[u]},set:function(i){s[u]=i}})}},48219:(i,s,u)=>{var m=u(82119),v=TypeError;i.exports=function(i){if(m(i))throw v("Can't call method on "+i);return i}},90904:(i,s,u)=>{var m=u(22885),v=u(65988).f,_=u(32029),j=u(90953),M=u(95623),$=u(99813)("toStringTag");i.exports=function(i,s,u,W){if(i){var X=u?i:i.prototype;j(X,$)||v(X,$,{configurable:!0,value:s}),W&&!m&&_(X,"toString",M)}}},44262:(i,s,u)=>{var m=u(68726),v=u(99418),_=m("keys");i.exports=function(i){return _[i]||(_[i]=v(i))}},63030:(i,s,u)=>{var m=u(21899),v=u(75609),_="__core-js_shared__",j=m[_]||v(_,{});i.exports=j},68726:(i,s,u)=>{var m=u(82529),v=u(63030);(i.exports=function(i,s){return v[i]||(v[i]=void 0!==s?s:{})})("versions",[]).push({version:"3.31.1",mode:m?"pure":"global",copyright:"© 2014-2023 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.31.1/LICENSE",source:"https://github.com/zloirock/core-js"})},64620:(i,s,u)=>{var m=u(95329),v=u(62435),_=u(85803),j=u(48219),M=m("".charAt),$=m("".charCodeAt),W=m("".slice),createMethod=function(i){return function(s,u){var m,X,Y=_(j(s)),Z=v(u),ee=Y.length;return Z<0||Z>=ee?i?"":void 0:(m=$(Y,Z))<55296||m>56319||Z+1===ee||(X=$(Y,Z+1))<56320||X>57343?i?M(Y,Z):m:i?W(Y,Z,Z+2):X-56320+(m-55296<<10)+65536}};i.exports={codeAt:createMethod(!1),charAt:createMethod(!0)}},63405:(i,s,u)=>{var m=u(53385),v=u(95981),_=u(21899).String;i.exports=!!Object.getOwnPropertySymbols&&!v((function(){var i=Symbol();return!_(i)||!(Object(i)instanceof Symbol)||!Symbol.sham&&m&&m<41}))},59413:(i,s,u)=>{var m=u(62435),v=Math.max,_=Math.min;i.exports=function(i,s){var u=m(i);return u<0?v(u+s,0):_(u,s)}},74529:(i,s,u)=>{var m=u(37026),v=u(48219);i.exports=function(i){return m(v(i))}},62435:(i,s,u)=>{var m=u(35331);i.exports=function(i){var s=+i;return s!=s||0===s?0:m(s)}},43057:(i,s,u)=>{var m=u(62435),v=Math.min;i.exports=function(i){return i>0?v(m(i),9007199254740991):0}},89678:(i,s,u)=>{var m=u(48219),v=Object;i.exports=function(i){return v(m(i))}},46935:(i,s,u)=>{var m=u(78834),v=u(10941),_=u(56664),j=u(14229),M=u(39811),$=u(99813),W=TypeError,X=$("toPrimitive");i.exports=function(i,s){if(!v(i)||_(i))return i;var u,$=j(i,X);if($){if(void 0===s&&(s="default"),u=m($,i,s),!v(u)||_(u))return u;throw W("Can't convert object to primitive value")}return void 0===s&&(s="number"),M(i,s)}},83894:(i,s,u)=>{var m=u(46935),v=u(56664);i.exports=function(i){var s=m(i,"string");return v(s)?s:s+""}},22885:(i,s,u)=>{var m={};m[u(99813)("toStringTag")]="z",i.exports="[object z]"===String(m)},85803:(i,s,u)=>{var m=u(9697),v=String;i.exports=function(i){if("Symbol"===m(i))throw TypeError("Cannot convert a Symbol value to a string");return v(i)}},69826:i=>{var s=String;i.exports=function(i){try{return s(i)}catch(i){return"Object"}}},99418:(i,s,u)=>{var m=u(95329),v=0,_=Math.random(),j=m(1..toString);i.exports=function(i){return"Symbol("+(void 0===i?"":i)+")_"+j(++v+_,36)}},32302:(i,s,u)=>{var m=u(63405);i.exports=m&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},83937:(i,s,u)=>{var m=u(55746),v=u(95981);i.exports=m&&v((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},47093:(i,s,u)=>{var m=u(21899),v=u(57475),_=m.WeakMap;i.exports=v(_)&&/native code/.test(String(_))},99813:(i,s,u)=>{var m=u(21899),v=u(68726),_=u(90953),j=u(99418),M=u(63405),$=u(32302),W=m.Symbol,X=v("wks"),Y=$?W.for||W:W&&W.withoutSetter||j;i.exports=function(i){return _(X,i)||(X[i]=M&&_(W,i)?W[i]:Y("Symbol."+i)),X[i]}},62864:(i,s,u)=>{"use strict";var m=u(626),v=u(90953),_=u(32029),j=u(7046),M=u(88929),$=u(23489),W=u(9056),X=u(70926),Y=u(14649),Z=u(53794),ee=u(79585),ie=u(55746),ae=u(82529);i.exports=function(i,s,u,le){var ce="stackTraceLimit",pe=le?2:1,de=i.split("."),fe=de[de.length-1],ye=m.apply(null,de);if(ye){var be=ye.prototype;if(!ae&&v(be,"cause")&&delete be.cause,!u)return ye;var _e=m("Error"),we=s((function(i,s){var u=Y(le?s:i,void 0),m=le?new ye(i):new ye;return void 0!==u&&_(m,"message",u),ee(m,we,m.stack,2),this&&j(be,this)&&X(m,this,we),arguments.length>pe&&Z(m,arguments[pe]),m}));if(we.prototype=be,"Error"!==fe?M?M(we,_e):$(we,_e,{name:!0}):ie&&ce in ye&&(W(we,ye,ce),W(we,ye,"prepareStackTrace")),$(we,ye),!ae)try{be.name!==fe&&_(be,"name",fe),be.constructor=we}catch(i){}return we}}},24415:(i,s,u)=>{var m=u(76887),v=u(626),_=u(79730),j=u(95981),M=u(62864),$="AggregateError",W=v($),X=!j((function(){return 1!==W([1]).errors[0]}))&&j((function(){return 7!==W([1],$,{cause:7}).cause}));m({global:!0,constructor:!0,arity:2,forced:X},{AggregateError:M($,(function(i){return function AggregateError(s,u){return _(i,this,arguments)}}),X,!0)})},49812:(i,s,u)=>{"use strict";var m=u(76887),v=u(7046),_=u(249),j=u(88929),M=u(23489),$=u(29290),W=u(32029),X=u(31887),Y=u(53794),Z=u(79585),ee=u(93091),ie=u(14649),ae=u(99813)("toStringTag"),le=Error,ce=[].push,pe=function AggregateError(i,s){var u,m=v(de,this);j?u=j(le(),m?_(this):de):(u=m?this:$(de),W(u,ae,"Error")),void 0!==s&&W(u,"message",ie(s)),Z(u,pe,u.stack,1),arguments.length>2&&Y(u,arguments[2]);var M=[];return ee(i,ce,{that:M}),W(u,"errors",M),u};j?j(pe,le):M(pe,le,{name:!0});var de=pe.prototype=$(le.prototype,{constructor:X(1,pe),message:X(1,""),name:X(1,"AggregateError")});m({global:!0,constructor:!0,arity:2},{AggregateError:pe})},47627:(i,s,u)=>{u(49812)},66274:(i,s,u)=>{"use strict";var m=u(74529),v=u(18479),_=u(12077),j=u(45402),M=u(65988).f,$=u(75105),W=u(23538),X=u(82529),Y=u(55746),Z="Array Iterator",ee=j.set,ie=j.getterFor(Z);i.exports=$(Array,"Array",(function(i,s){ee(this,{type:Z,target:m(i),index:0,kind:s})}),(function(){var i=ie(this),s=i.target,u=i.kind,m=i.index++;return!s||m>=s.length?(i.target=void 0,W(void 0,!0)):W("keys"==u?m:"values"==u?s[m]:[m,s[m]],!1)}),"values");var ae=_.Arguments=_.Array;if(v("keys"),v("values"),v("entries"),!X&&Y&&"values"!==ae.name)try{M(ae,"name",{value:"values"})}catch(i){}},61181:(i,s,u)=>{var m=u(76887),v=u(21899),_=u(79730),j=u(62864),M="WebAssembly",$=v[M],W=7!==Error("e",{cause:7}).cause,exportGlobalErrorCauseWrapper=function(i,s){var u={};u[i]=j(i,s,W),m({global:!0,constructor:!0,arity:1,forced:W},u)},exportWebAssemblyErrorCauseWrapper=function(i,s){if($&&$[i]){var u={};u[i]=j(M+"."+i,s,W),m({target:M,stat:!0,constructor:!0,arity:1,forced:W},u)}};exportGlobalErrorCauseWrapper("Error",(function(i){return function Error(s){return _(i,this,arguments)}})),exportGlobalErrorCauseWrapper("EvalError",(function(i){return function EvalError(s){return _(i,this,arguments)}})),exportGlobalErrorCauseWrapper("RangeError",(function(i){return function RangeError(s){return _(i,this,arguments)}})),exportGlobalErrorCauseWrapper("ReferenceError",(function(i){return function ReferenceError(s){return _(i,this,arguments)}})),exportGlobalErrorCauseWrapper("SyntaxError",(function(i){return function SyntaxError(s){return _(i,this,arguments)}})),exportGlobalErrorCauseWrapper("TypeError",(function(i){return function TypeError(s){return _(i,this,arguments)}})),exportGlobalErrorCauseWrapper("URIError",(function(i){return function URIError(s){return _(i,this,arguments)}})),exportWebAssemblyErrorCauseWrapper("CompileError",(function(i){return function CompileError(s){return _(i,this,arguments)}})),exportWebAssemblyErrorCauseWrapper("LinkError",(function(i){return function LinkError(s){return _(i,this,arguments)}})),exportWebAssemblyErrorCauseWrapper("RuntimeError",(function(i){return function RuntimeError(s){return _(i,this,arguments)}}))},73381:(i,s,u)=>{var m=u(76887),v=u(98308);m({target:"Function",proto:!0,forced:Function.bind!==v},{bind:v})},49221:(i,s,u)=>{var m=u(76887),v=u(24420);m({target:"Object",stat:!0,arity:2,forced:Object.assign!==v},{assign:v})},77971:(i,s,u)=>{"use strict";var m=u(64620).charAt,v=u(85803),_=u(45402),j=u(75105),M=u(23538),$="String Iterator",W=_.set,X=_.getterFor($);j(String,"String",(function(i){W(this,{type:$,string:v(i),index:0})}),(function next(){var i,s=X(this),u=s.string,v=s.index;return v>=u.length?M(void 0,!0):(i=m(u,v),s.index+=i.length,M(i,!1))}))},89731:(i,s,u)=>{u(47627)},7634:(i,s,u)=>{u(66274);var m=u(63281),v=u(21899),_=u(9697),j=u(32029),M=u(12077),$=u(99813)("toStringTag");for(var W in m){var X=v[W],Y=X&&X.prototype;Y&&_(Y)!==$&&j(Y,$,W),M[W]=M.Array}},18957:(i,s,u)=>{u(89731);var m=u(50415);u(7634),i.exports=m},28196:(i,s,u)=>{var m=u(16246);i.exports=m},63383:(i,s,u)=>{var m=u(45999);i.exports=m},8269:function(i,s,u){var m;m=void 0!==u.g?u.g:this,i.exports=function(i){if(i.CSS&&i.CSS.escape)return i.CSS.escape;var cssEscape=function(i){if(0==arguments.length)throw new TypeError("`CSS.escape` requires an argument.");for(var s,u=String(i),m=u.length,v=-1,_="",j=u.charCodeAt(0);++v=1&&s<=31||127==s||0==v&&s>=48&&s<=57||1==v&&s>=48&&s<=57&&45==j?"\\"+s.toString(16)+" ":0==v&&1==m&&45==s||!(s>=128||45==s||95==s||s>=48&&s<=57||s>=65&&s<=90||s>=97&&s<=122)?"\\"+u.charAt(v):u.charAt(v):_+="�";return _};return i.CSS||(i.CSS={}),i.CSS.escape=cssEscape,cssEscape}(m)},27698:(i,s,u)=>{"use strict";var m=u(48764).Buffer;function isSpecificValue(i){return i instanceof m||i instanceof Date||i instanceof RegExp}function cloneSpecificValue(i){if(i instanceof m){var s=m.alloc?m.alloc(i.length):new m(i.length);return i.copy(s),s}if(i instanceof Date)return new Date(i.getTime());if(i instanceof RegExp)return new RegExp(i);throw new Error("Unexpected situation")}function deepCloneArray(i){var s=[];return i.forEach((function(i,u){"object"==typeof i&&null!==i?Array.isArray(i)?s[u]=deepCloneArray(i):isSpecificValue(i)?s[u]=cloneSpecificValue(i):s[u]=v({},i):s[u]=i})),s}function safeGetProperty(i,s){return"__proto__"===s?void 0:i[s]}var v=i.exports=function(){if(arguments.length<1||"object"!=typeof arguments[0])return!1;if(arguments.length<2)return arguments[0];var i,s,u=arguments[0];return Array.prototype.slice.call(arguments,1).forEach((function(m){"object"!=typeof m||null===m||Array.isArray(m)||Object.keys(m).forEach((function(_){return s=safeGetProperty(u,_),(i=safeGetProperty(m,_))===u?void 0:"object"!=typeof i||null===i?void(u[_]=i):Array.isArray(i)?void(u[_]=deepCloneArray(i)):isSpecificValue(i)?void(u[_]=cloneSpecificValue(i)):"object"!=typeof s||null===s||Array.isArray(s)?void(u[_]=v({},i)):void(u[_]=v(s,i))}))})),u}},9996:i=>{"use strict";var s=function isMergeableObject(i){return function isNonNullObject(i){return!!i&&"object"==typeof i}(i)&&!function isSpecial(i){var s=Object.prototype.toString.call(i);return"[object RegExp]"===s||"[object Date]"===s||function isReactElement(i){return i.$$typeof===u}(i)}(i)};var u="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function cloneUnlessOtherwiseSpecified(i,s){return!1!==s.clone&&s.isMergeableObject(i)?deepmerge(function emptyTarget(i){return Array.isArray(i)?[]:{}}(i),i,s):i}function defaultArrayMerge(i,s,u){return i.concat(s).map((function(i){return cloneUnlessOtherwiseSpecified(i,u)}))}function getKeys(i){return Object.keys(i).concat(function getEnumerableOwnPropertySymbols(i){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(i).filter((function(s){return Object.propertyIsEnumerable.call(i,s)})):[]}(i))}function propertyIsOnObject(i,s){try{return s in i}catch(i){return!1}}function mergeObject(i,s,u){var m={};return u.isMergeableObject(i)&&getKeys(i).forEach((function(s){m[s]=cloneUnlessOtherwiseSpecified(i[s],u)})),getKeys(s).forEach((function(v){(function propertyIsUnsafe(i,s){return propertyIsOnObject(i,s)&&!(Object.hasOwnProperty.call(i,s)&&Object.propertyIsEnumerable.call(i,s))})(i,v)||(propertyIsOnObject(i,v)&&u.isMergeableObject(s[v])?m[v]=function getMergeFunction(i,s){if(!s.customMerge)return deepmerge;var u=s.customMerge(i);return"function"==typeof u?u:deepmerge}(v,u)(i[v],s[v],u):m[v]=cloneUnlessOtherwiseSpecified(s[v],u))})),m}function deepmerge(i,u,m){(m=m||{}).arrayMerge=m.arrayMerge||defaultArrayMerge,m.isMergeableObject=m.isMergeableObject||s,m.cloneUnlessOtherwiseSpecified=cloneUnlessOtherwiseSpecified;var v=Array.isArray(u);return v===Array.isArray(i)?v?m.arrayMerge(i,u,m):mergeObject(i,u,m):cloneUnlessOtherwiseSpecified(u,m)}deepmerge.all=function deepmergeAll(i,s){if(!Array.isArray(i))throw new Error("first argument should be an array");return i.reduce((function(i,u){return deepmerge(i,u,s)}),{})};var m=deepmerge;i.exports=m},27856:function(i){i.exports=function(){"use strict";const{entries:i,setPrototypeOf:s,isFrozen:u,getPrototypeOf:m,getOwnPropertyDescriptor:v}=Object;let{freeze:_,seal:j,create:M}=Object,{apply:$,construct:W}="undefined"!=typeof Reflect&&Reflect;_||(_=function freeze(i){return i}),j||(j=function seal(i){return i}),$||($=function apply(i,s,u){return i.apply(s,u)}),W||(W=function construct(i,s){return new i(...s)});const X=unapply(Array.prototype.forEach),Y=unapply(Array.prototype.pop),Z=unapply(Array.prototype.push),ee=unapply(String.prototype.toLowerCase),ie=unapply(String.prototype.toString),ae=unapply(String.prototype.match),le=unapply(String.prototype.replace),ce=unapply(String.prototype.indexOf),pe=unapply(String.prototype.trim),de=unapply(RegExp.prototype.test),fe=unconstruct(TypeError);function unapply(i){return function(s){for(var u=arguments.length,m=new Array(u>1?u-1:0),v=1;v2&&void 0!==arguments[2]?arguments[2]:ee;s&&s(i,null);let _=m.length;for(;_--;){let s=m[_];if("string"==typeof s){const i=v(s);i!==s&&(u(m)||(m[_]=i),s=i)}i[s]=!0}return i}function clone(s){const u=M(null);for(const[m,_]of i(s))void 0!==v(s,m)&&(u[m]=_);return u}function lookupGetter(i,s){for(;null!==i;){const u=v(i,s);if(u){if(u.get)return unapply(u.get);if("function"==typeof u.value)return unapply(u.value)}i=m(i)}function fallbackValue(i){return console.warn("fallback value for",i),null}return fallbackValue}const ye=_(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),be=_(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),_e=_(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),we=_(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),Se=_(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),xe=_(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Ie=_(["#text"]),Pe=_(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","xmlns","slot"]),Te=_(["accent-height","accumulate","additive","alignment-baseline","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),Re=_(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),qe=_(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),ze=j(/\{\{[\w\W]*|[\w\W]*\}\}/gm),Ve=j(/<%[\w\W]*|[\w\W]*%>/gm),We=j(/\${[\w\W]*}/gm),He=j(/^data-[\-\w.\u00B7-\uFFFF]/),Xe=j(/^aria-[\-\w]+$/),Ye=j(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Qe=j(/^(?:\w+script|data):/i),et=j(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),tt=j(/^html$/i);var rt=Object.freeze({__proto__:null,MUSTACHE_EXPR:ze,ERB_EXPR:Ve,TMPLIT_EXPR:We,DATA_ATTR:He,ARIA_ATTR:Xe,IS_ALLOWED_URI:Ye,IS_SCRIPT_OR_DATA:Qe,ATTR_WHITESPACE:et,DOCTYPE_NAME:tt});const nt=function getGlobal(){return"undefined"==typeof window?null:window},ot=function _createTrustedTypesPolicy(i,s){if("object"!=typeof i||"function"!=typeof i.createPolicy)return null;let u=null;const m="data-tt-policy-suffix";s&&s.hasAttribute(m)&&(u=s.getAttribute(m));const v="dompurify"+(u?"#"+u:"");try{return i.createPolicy(v,{createHTML:i=>i,createScriptURL:i=>i})}catch(i){return console.warn("TrustedTypes policy "+v+" could not be created."),null}};function createDOMPurify(){let s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:nt();const DOMPurify=i=>createDOMPurify(i);if(DOMPurify.version="3.0.6",DOMPurify.removed=[],!s||!s.document||9!==s.document.nodeType)return DOMPurify.isSupported=!1,DOMPurify;let{document:u}=s;const m=u,v=m.currentScript,{DocumentFragment:j,HTMLTemplateElement:$,Node:W,Element:ze,NodeFilter:Ve,NamedNodeMap:We=s.NamedNodeMap||s.MozNamedAttrMap,HTMLFormElement:He,DOMParser:Xe,trustedTypes:Qe}=s,et=ze.prototype,it=lookupGetter(et,"cloneNode"),at=lookupGetter(et,"nextSibling"),st=lookupGetter(et,"childNodes"),lt=lookupGetter(et,"parentNode");if("function"==typeof $){const i=u.createElement("template");i.content&&i.content.ownerDocument&&(u=i.content.ownerDocument)}let ct,ut="";const{implementation:pt,createNodeIterator:ht,createDocumentFragment:dt,getElementsByTagName:mt}=u,{importNode:gt}=m;let yt={};DOMPurify.isSupported="function"==typeof i&&"function"==typeof lt&&pt&&void 0!==pt.createHTMLDocument;const{MUSTACHE_EXPR:vt,ERB_EXPR:bt,TMPLIT_EXPR:_t,DATA_ATTR:wt,ARIA_ATTR:Et,IS_SCRIPT_OR_DATA:St,ATTR_WHITESPACE:xt}=rt;let{IS_ALLOWED_URI:kt}=rt,Ot=null;const At=addToSet({},[...ye,...be,..._e,...Se,...Ie]);let Ct=null;const jt=addToSet({},[...Pe,...Te,...Re,...qe]);let It=Object.seal(M(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Pt=null,Nt=null,Tt=!0,Mt=!0,Rt=!1,Dt=!0,Bt=!1,Lt=!1,Ft=!1,qt=!1,$t=!1,Ut=!1,zt=!1,Vt=!0,Wt=!1;const Kt="user-content-";let Ht=!0,Jt=!1,Gt={},Xt=null;const Yt=addToSet({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let Qt=null;const Zt=addToSet({},["audio","video","img","source","image","track"]);let er=null;const tr=addToSet({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),rr="http://www.w3.org/1998/Math/MathML",nr="http://www.w3.org/2000/svg",ir="http://www.w3.org/1999/xhtml";let ar=ir,sr=!1,lr=null;const cr=addToSet({},[rr,nr,ir],ie);let ur=null;const pr=["application/xhtml+xml","text/html"],dr="text/html";let fr=null,mr=null;const gr=u.createElement("form"),yr=function isRegexOrFunction(i){return i instanceof RegExp||i instanceof Function},vr=function _parseConfig(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!mr||mr!==i){if(i&&"object"==typeof i||(i={}),i=clone(i),ur=ur=-1===pr.indexOf(i.PARSER_MEDIA_TYPE)?dr:i.PARSER_MEDIA_TYPE,fr="application/xhtml+xml"===ur?ie:ee,Ot="ALLOWED_TAGS"in i?addToSet({},i.ALLOWED_TAGS,fr):At,Ct="ALLOWED_ATTR"in i?addToSet({},i.ALLOWED_ATTR,fr):jt,lr="ALLOWED_NAMESPACES"in i?addToSet({},i.ALLOWED_NAMESPACES,ie):cr,er="ADD_URI_SAFE_ATTR"in i?addToSet(clone(tr),i.ADD_URI_SAFE_ATTR,fr):tr,Qt="ADD_DATA_URI_TAGS"in i?addToSet(clone(Zt),i.ADD_DATA_URI_TAGS,fr):Zt,Xt="FORBID_CONTENTS"in i?addToSet({},i.FORBID_CONTENTS,fr):Yt,Pt="FORBID_TAGS"in i?addToSet({},i.FORBID_TAGS,fr):{},Nt="FORBID_ATTR"in i?addToSet({},i.FORBID_ATTR,fr):{},Gt="USE_PROFILES"in i&&i.USE_PROFILES,Tt=!1!==i.ALLOW_ARIA_ATTR,Mt=!1!==i.ALLOW_DATA_ATTR,Rt=i.ALLOW_UNKNOWN_PROTOCOLS||!1,Dt=!1!==i.ALLOW_SELF_CLOSE_IN_ATTR,Bt=i.SAFE_FOR_TEMPLATES||!1,Lt=i.WHOLE_DOCUMENT||!1,$t=i.RETURN_DOM||!1,Ut=i.RETURN_DOM_FRAGMENT||!1,zt=i.RETURN_TRUSTED_TYPE||!1,qt=i.FORCE_BODY||!1,Vt=!1!==i.SANITIZE_DOM,Wt=i.SANITIZE_NAMED_PROPS||!1,Ht=!1!==i.KEEP_CONTENT,Jt=i.IN_PLACE||!1,kt=i.ALLOWED_URI_REGEXP||Ye,ar=i.NAMESPACE||ir,It=i.CUSTOM_ELEMENT_HANDLING||{},i.CUSTOM_ELEMENT_HANDLING&&yr(i.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(It.tagNameCheck=i.CUSTOM_ELEMENT_HANDLING.tagNameCheck),i.CUSTOM_ELEMENT_HANDLING&&yr(i.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(It.attributeNameCheck=i.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),i.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof i.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(It.allowCustomizedBuiltInElements=i.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Bt&&(Mt=!1),Ut&&($t=!0),Gt&&(Ot=addToSet({},[...Ie]),Ct=[],!0===Gt.html&&(addToSet(Ot,ye),addToSet(Ct,Pe)),!0===Gt.svg&&(addToSet(Ot,be),addToSet(Ct,Te),addToSet(Ct,qe)),!0===Gt.svgFilters&&(addToSet(Ot,_e),addToSet(Ct,Te),addToSet(Ct,qe)),!0===Gt.mathMl&&(addToSet(Ot,Se),addToSet(Ct,Re),addToSet(Ct,qe))),i.ADD_TAGS&&(Ot===At&&(Ot=clone(Ot)),addToSet(Ot,i.ADD_TAGS,fr)),i.ADD_ATTR&&(Ct===jt&&(Ct=clone(Ct)),addToSet(Ct,i.ADD_ATTR,fr)),i.ADD_URI_SAFE_ATTR&&addToSet(er,i.ADD_URI_SAFE_ATTR,fr),i.FORBID_CONTENTS&&(Xt===Yt&&(Xt=clone(Xt)),addToSet(Xt,i.FORBID_CONTENTS,fr)),Ht&&(Ot["#text"]=!0),Lt&&addToSet(Ot,["html","head","body"]),Ot.table&&(addToSet(Ot,["tbody"]),delete Pt.tbody),i.TRUSTED_TYPES_POLICY){if("function"!=typeof i.TRUSTED_TYPES_POLICY.createHTML)throw fe('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof i.TRUSTED_TYPES_POLICY.createScriptURL)throw fe('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');ct=i.TRUSTED_TYPES_POLICY,ut=ct.createHTML("")}else void 0===ct&&(ct=ot(Qe,v)),null!==ct&&"string"==typeof ut&&(ut=ct.createHTML(""));_&&_(i),mr=i}},br=addToSet({},["mi","mo","mn","ms","mtext"]),_r=addToSet({},["foreignobject","desc","title","annotation-xml"]),wr=addToSet({},["title","style","font","a","script"]),Er=addToSet({},be);addToSet(Er,_e),addToSet(Er,we);const Sr=addToSet({},Se);addToSet(Sr,xe);const xr=function _checkValidNamespace(i){let s=lt(i);s&&s.tagName||(s={namespaceURI:ar,tagName:"template"});const u=ee(i.tagName),m=ee(s.tagName);return!!lr[i.namespaceURI]&&(i.namespaceURI===nr?s.namespaceURI===ir?"svg"===u:s.namespaceURI===rr?"svg"===u&&("annotation-xml"===m||br[m]):Boolean(Er[u]):i.namespaceURI===rr?s.namespaceURI===ir?"math"===u:s.namespaceURI===nr?"math"===u&&_r[m]:Boolean(Sr[u]):i.namespaceURI===ir?!(s.namespaceURI===nr&&!_r[m])&&!(s.namespaceURI===rr&&!br[m])&&!Sr[u]&&(wr[u]||!Er[u]):!("application/xhtml+xml"!==ur||!lr[i.namespaceURI]))},kr=function _forceRemove(i){Z(DOMPurify.removed,{element:i});try{i.parentNode.removeChild(i)}catch(s){i.remove()}},Or=function _removeAttribute(i,s){try{Z(DOMPurify.removed,{attribute:s.getAttributeNode(i),from:s})}catch(i){Z(DOMPurify.removed,{attribute:null,from:s})}if(s.removeAttribute(i),"is"===i&&!Ct[i])if($t||Ut)try{kr(s)}catch(i){}else try{s.setAttribute(i,"")}catch(i){}},Ar=function _initDocument(i){let s=null,m=null;if(qt)i=""+i;else{const s=ae(i,/^[\r\n\t ]+/);m=s&&s[0]}"application/xhtml+xml"===ur&&ar===ir&&(i=''+i+"");const v=ct?ct.createHTML(i):i;if(ar===ir)try{s=(new Xe).parseFromString(v,ur)}catch(i){}if(!s||!s.documentElement){s=pt.createDocument(ar,"template",null);try{s.documentElement.innerHTML=sr?ut:v}catch(i){}}const _=s.body||s.documentElement;return i&&m&&_.insertBefore(u.createTextNode(m),_.childNodes[0]||null),ar===ir?mt.call(s,Lt?"html":"body")[0]:Lt?s.documentElement:_},Cr=function _createNodeIterator(i){return ht.call(i.ownerDocument||i,i,Ve.SHOW_ELEMENT|Ve.SHOW_COMMENT|Ve.SHOW_TEXT,null)},jr=function _isClobbered(i){return i instanceof He&&("string"!=typeof i.nodeName||"string"!=typeof i.textContent||"function"!=typeof i.removeChild||!(i.attributes instanceof We)||"function"!=typeof i.removeAttribute||"function"!=typeof i.setAttribute||"string"!=typeof i.namespaceURI||"function"!=typeof i.insertBefore||"function"!=typeof i.hasChildNodes)},Ir=function _isNode(i){return"function"==typeof W&&i instanceof W},Pr=function _executeHook(i,s,u){yt[i]&&X(yt[i],(i=>{i.call(DOMPurify,s,u,mr)}))},Nr=function _sanitizeElements(i){let s=null;if(Pr("beforeSanitizeElements",i,null),jr(i))return kr(i),!0;const u=fr(i.nodeName);if(Pr("uponSanitizeElement",i,{tagName:u,allowedTags:Ot}),i.hasChildNodes()&&!Ir(i.firstElementChild)&&de(/<[/\w]/g,i.innerHTML)&&de(/<[/\w]/g,i.textContent))return kr(i),!0;if(!Ot[u]||Pt[u]){if(!Pt[u]&&Mr(u)){if(It.tagNameCheck instanceof RegExp&&de(It.tagNameCheck,u))return!1;if(It.tagNameCheck instanceof Function&&It.tagNameCheck(u))return!1}if(Ht&&!Xt[u]){const s=lt(i)||i.parentNode,u=st(i)||i.childNodes;if(u&&s)for(let m=u.length-1;m>=0;--m)s.insertBefore(it(u[m],!0),at(i))}return kr(i),!0}return i instanceof ze&&!xr(i)?(kr(i),!0):"noscript"!==u&&"noembed"!==u&&"noframes"!==u||!de(/<\/no(script|embed|frames)/i,i.innerHTML)?(Bt&&3===i.nodeType&&(s=i.textContent,X([vt,bt,_t],(i=>{s=le(s,i," ")})),i.textContent!==s&&(Z(DOMPurify.removed,{element:i.cloneNode()}),i.textContent=s)),Pr("afterSanitizeElements",i,null),!1):(kr(i),!0)},Tr=function _isValidAttribute(i,s,m){if(Vt&&("id"===s||"name"===s)&&(m in u||m in gr))return!1;if(Mt&&!Nt[s]&&de(wt,s));else if(Tt&&de(Et,s));else if(!Ct[s]||Nt[s]){if(!(Mr(i)&&(It.tagNameCheck instanceof RegExp&&de(It.tagNameCheck,i)||It.tagNameCheck instanceof Function&&It.tagNameCheck(i))&&(It.attributeNameCheck instanceof RegExp&&de(It.attributeNameCheck,s)||It.attributeNameCheck instanceof Function&&It.attributeNameCheck(s))||"is"===s&&It.allowCustomizedBuiltInElements&&(It.tagNameCheck instanceof RegExp&&de(It.tagNameCheck,m)||It.tagNameCheck instanceof Function&&It.tagNameCheck(m))))return!1}else if(er[s]);else if(de(kt,le(m,xt,"")));else if("src"!==s&&"xlink:href"!==s&&"href"!==s||"script"===i||0!==ce(m,"data:")||!Qt[i])if(Rt&&!de(St,le(m,xt,"")));else if(m)return!1;return!0},Mr=function _isBasicCustomElement(i){return i.indexOf("-")>0},Rr=function _sanitizeAttributes(i){Pr("beforeSanitizeAttributes",i,null);const{attributes:s}=i;if(!s)return;const u={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Ct};let m=s.length;for(;m--;){const v=s[m],{name:_,namespaceURI:j,value:M}=v,$=fr(_);let W="value"===_?M:pe(M);if(u.attrName=$,u.attrValue=W,u.keepAttr=!0,u.forceKeepAttr=void 0,Pr("uponSanitizeAttribute",i,u),W=u.attrValue,u.forceKeepAttr)continue;if(Or(_,i),!u.keepAttr)continue;if(!Dt&&de(/\/>/i,W)){Or(_,i);continue}Bt&&X([vt,bt,_t],(i=>{W=le(W,i," ")}));const Z=fr(i.nodeName);if(Tr(Z,$,W)){if(!Wt||"id"!==$&&"name"!==$||(Or(_,i),W=Kt+W),ct&&"object"==typeof Qe&&"function"==typeof Qe.getAttributeType)if(j);else switch(Qe.getAttributeType(Z,$)){case"TrustedHTML":W=ct.createHTML(W);break;case"TrustedScriptURL":W=ct.createScriptURL(W)}try{j?i.setAttributeNS(j,_,W):i.setAttribute(_,W),Y(DOMPurify.removed)}catch(i){}}}Pr("afterSanitizeAttributes",i,null)},Dr=function _sanitizeShadowDOM(i){let s=null;const u=Cr(i);for(Pr("beforeSanitizeShadowDOM",i,null);s=u.nextNode();)Pr("uponSanitizeShadowNode",s,null),Nr(s)||(s.content instanceof j&&_sanitizeShadowDOM(s.content),Rr(s));Pr("afterSanitizeShadowDOM",i,null)};return DOMPurify.sanitize=function(i){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},u=null,v=null,_=null,M=null;if(sr=!i,sr&&(i="\x3c!--\x3e"),"string"!=typeof i&&!Ir(i)){if("function"!=typeof i.toString)throw fe("toString is not a function");if("string"!=typeof(i=i.toString()))throw fe("dirty is not a string, aborting")}if(!DOMPurify.isSupported)return i;if(Ft||vr(s),DOMPurify.removed=[],"string"==typeof i&&(Jt=!1),Jt){if(i.nodeName){const s=fr(i.nodeName);if(!Ot[s]||Pt[s])throw fe("root node is forbidden and cannot be sanitized in-place")}}else if(i instanceof W)u=Ar("\x3c!----\x3e"),v=u.ownerDocument.importNode(i,!0),1===v.nodeType&&"BODY"===v.nodeName||"HTML"===v.nodeName?u=v:u.appendChild(v);else{if(!$t&&!Bt&&!Lt&&-1===i.indexOf("<"))return ct&&zt?ct.createHTML(i):i;if(u=Ar(i),!u)return $t?null:zt?ut:""}u&&qt&&kr(u.firstChild);const $=Cr(Jt?i:u);for(;_=$.nextNode();)Nr(_)||(_.content instanceof j&&Dr(_.content),Rr(_));if(Jt)return i;if($t){if(Ut)for(M=dt.call(u.ownerDocument);u.firstChild;)M.appendChild(u.firstChild);else M=u;return(Ct.shadowroot||Ct.shadowrootmode)&&(M=gt.call(m,M,!0)),M}let Y=Lt?u.outerHTML:u.innerHTML;return Lt&&Ot["!doctype"]&&u.ownerDocument&&u.ownerDocument.doctype&&u.ownerDocument.doctype.name&&de(tt,u.ownerDocument.doctype.name)&&(Y="\n"+Y),Bt&&X([vt,bt,_t],(i=>{Y=le(Y,i," ")})),ct&&zt?ct.createHTML(Y):Y},DOMPurify.setConfig=function(){vr(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),Ft=!0},DOMPurify.clearConfig=function(){mr=null,Ft=!1},DOMPurify.isValidAttribute=function(i,s,u){mr||vr({});const m=fr(i),v=fr(s);return Tr(m,v,u)},DOMPurify.addHook=function(i,s){"function"==typeof s&&(yt[i]=yt[i]||[],Z(yt[i],s))},DOMPurify.removeHook=function(i){if(yt[i])return Y(yt[i])},DOMPurify.removeHooks=function(i){yt[i]&&(yt[i]=[])},DOMPurify.removeAllHooks=function(){yt={}},DOMPurify}return createDOMPurify()}()},69450:i=>{"use strict";class SubRange{constructor(i,s){this.low=i,this.high=s,this.length=1+s-i}overlaps(i){return!(this.highi.high)}touches(i){return!(this.high+1i.high)}add(i){return new SubRange(Math.min(this.low,i.low),Math.max(this.high,i.high))}subtract(i){return i.low<=this.low&&i.high>=this.high?[]:i.low>this.low&&i.highi+s.length),0)}add(i,s){var _add=i=>{for(var s=0;s{for(var s=0;s{for(var s=0;s{for(var u=s.low;u<=s.high;)i.push(u),u++;return i}),[])}subranges(){return this.ranges.map((i=>({low:i.low,high:i.high,length:1+i.high-i.low})))}}i.exports=DRange},17187:i=>{"use strict";var s,u="object"==typeof Reflect?Reflect:null,m=u&&"function"==typeof u.apply?u.apply:function ReflectApply(i,s,u){return Function.prototype.apply.call(i,s,u)};s=u&&"function"==typeof u.ownKeys?u.ownKeys:Object.getOwnPropertySymbols?function ReflectOwnKeys(i){return Object.getOwnPropertyNames(i).concat(Object.getOwnPropertySymbols(i))}:function ReflectOwnKeys(i){return Object.getOwnPropertyNames(i)};var v=Number.isNaN||function NumberIsNaN(i){return i!=i};function EventEmitter(){EventEmitter.init.call(this)}i.exports=EventEmitter,i.exports.once=function once(i,s){return new Promise((function(u,m){function errorListener(u){i.removeListener(s,resolver),m(u)}function resolver(){"function"==typeof i.removeListener&&i.removeListener("error",errorListener),u([].slice.call(arguments))}eventTargetAgnosticAddListener(i,s,resolver,{once:!0}),"error"!==s&&function addErrorHandlerIfEventEmitter(i,s,u){"function"==typeof i.on&&eventTargetAgnosticAddListener(i,"error",s,u)}(i,errorListener,{once:!0})}))},EventEmitter.EventEmitter=EventEmitter,EventEmitter.prototype._events=void 0,EventEmitter.prototype._eventsCount=0,EventEmitter.prototype._maxListeners=void 0;var _=10;function checkListener(i){if("function"!=typeof i)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof i)}function _getMaxListeners(i){return void 0===i._maxListeners?EventEmitter.defaultMaxListeners:i._maxListeners}function _addListener(i,s,u,m){var v,_,j;if(checkListener(u),void 0===(_=i._events)?(_=i._events=Object.create(null),i._eventsCount=0):(void 0!==_.newListener&&(i.emit("newListener",s,u.listener?u.listener:u),_=i._events),j=_[s]),void 0===j)j=_[s]=u,++i._eventsCount;else if("function"==typeof j?j=_[s]=m?[u,j]:[j,u]:m?j.unshift(u):j.push(u),(v=_getMaxListeners(i))>0&&j.length>v&&!j.warned){j.warned=!0;var M=new Error("Possible EventEmitter memory leak detected. "+j.length+" "+String(s)+" listeners added. Use emitter.setMaxListeners() to increase limit");M.name="MaxListenersExceededWarning",M.emitter=i,M.type=s,M.count=j.length,function ProcessEmitWarning(i){console&&console.warn&&console.warn(i)}(M)}return i}function onceWrapper(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function _onceWrap(i,s,u){var m={fired:!1,wrapFn:void 0,target:i,type:s,listener:u},v=onceWrapper.bind(m);return v.listener=u,m.wrapFn=v,v}function _listeners(i,s,u){var m=i._events;if(void 0===m)return[];var v=m[s];return void 0===v?[]:"function"==typeof v?u?[v.listener||v]:[v]:u?function unwrapListeners(i){for(var s=new Array(i.length),u=0;u0&&(j=s[0]),j instanceof Error)throw j;var M=new Error("Unhandled error."+(j?" ("+j.message+")":""));throw M.context=j,M}var $=_[i];if(void 0===$)return!1;if("function"==typeof $)m($,this,s);else{var W=$.length,X=arrayClone($,W);for(u=0;u=0;_--)if(u[_]===s||u[_].listener===s){j=u[_].listener,v=_;break}if(v<0)return this;0===v?u.shift():function spliceOne(i,s){for(;s+1=0;m--)this.removeListener(i,s[m]);return this},EventEmitter.prototype.listeners=function listeners(i){return _listeners(this,i,!0)},EventEmitter.prototype.rawListeners=function rawListeners(i){return _listeners(this,i,!1)},EventEmitter.listenerCount=function(i,s){return"function"==typeof i.listenerCount?i.listenerCount(s):listenerCount.call(i,s)},EventEmitter.prototype.listenerCount=listenerCount,EventEmitter.prototype.eventNames=function eventNames(){return this._eventsCount>0?s(this._events):[]}},21102:(i,s,u)=>{"use strict";var m=u(46291),v=create(Error);function create(i){return FormattedError.displayName=i.displayName||i.name,FormattedError;function FormattedError(s){return s&&(s=m.apply(null,arguments)),new i(s)}}i.exports=v,v.eval=create(EvalError),v.range=create(RangeError),v.reference=create(ReferenceError),v.syntax=create(SyntaxError),v.type=create(TypeError),v.uri=create(URIError),v.create=create},46291:i=>{!function(){var s;function format(i){for(var s,u,m,v,_=1,j=[].slice.call(arguments),M=0,$=i.length,W="",X=!1,Y=!1,nextArg=function(){return j[_++]},slurpNumber=function(){for(var u="";/\d/.test(i[M]);)u+=i[M++],s=i[M];return u.length>0?parseInt(u):null};M<$;++M)if(s=i[M],X)switch(X=!1,"."==s?(Y=!1,s=i[++M]):"0"==s&&"."==i[M+1]?(Y=!0,s=i[M+=2]):Y=!0,v=slurpNumber(),s){case"b":W+=parseInt(nextArg(),10).toString(2);break;case"c":W+="string"==typeof(u=nextArg())||u instanceof String?u:String.fromCharCode(parseInt(u,10));break;case"d":W+=parseInt(nextArg(),10);break;case"f":m=String(parseFloat(nextArg()).toFixed(v||6)),W+=Y?m:m.replace(/^0/,"");break;case"j":W+=JSON.stringify(nextArg());break;case"o":W+="0"+parseInt(nextArg(),10).toString(8);break;case"s":W+=nextArg();break;case"x":W+="0x"+parseInt(nextArg(),10).toString(16);break;case"X":W+="0x"+parseInt(nextArg(),10).toString(16).toUpperCase();break;default:W+=s}else"%"===s?X=!0:W+=s;return W}(s=i.exports=format).format=format,s.vsprintf=function vsprintf(i,s){return format.apply(null,[i].concat(s))},"undefined"!=typeof console&&"function"==typeof console.log&&(s.printf=function printf(){console.log(format.apply(null,arguments))})}()},17648:i=>{"use strict";var s=Object.prototype.toString,u=Math.max,m=function concatty(i,s){for(var u=[],m=0;m{"use strict";var m=u(17648);i.exports=Function.prototype.bind||m},40210:(i,s,u)=>{"use strict";var m,v=SyntaxError,_=Function,j=TypeError,getEvalledConstructor=function(i){try{return _('"use strict"; return ('+i+").constructor;")()}catch(i){}},M=Object.getOwnPropertyDescriptor;if(M)try{M({},"")}catch(i){M=null}var throwTypeError=function(){throw new j},$=M?function(){try{return throwTypeError}catch(i){try{return M(arguments,"callee").get}catch(i){return throwTypeError}}}():throwTypeError,W=u(41405)(),X=u(28185)(),Y=Object.getPrototypeOf||(X?function(i){return i.__proto__}:null),Z={},ee="undefined"!=typeof Uint8Array&&Y?Y(Uint8Array):m,ie={"%AggregateError%":"undefined"==typeof AggregateError?m:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?m:ArrayBuffer,"%ArrayIteratorPrototype%":W&&Y?Y([][Symbol.iterator]()):m,"%AsyncFromSyncIteratorPrototype%":m,"%AsyncFunction%":Z,"%AsyncGenerator%":Z,"%AsyncGeneratorFunction%":Z,"%AsyncIteratorPrototype%":Z,"%Atomics%":"undefined"==typeof Atomics?m:Atomics,"%BigInt%":"undefined"==typeof BigInt?m:BigInt,"%BigInt64Array%":"undefined"==typeof BigInt64Array?m:BigInt64Array,"%BigUint64Array%":"undefined"==typeof BigUint64Array?m:BigUint64Array,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?m:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":"undefined"==typeof Float32Array?m:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?m:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?m:FinalizationRegistry,"%Function%":_,"%GeneratorFunction%":Z,"%Int8Array%":"undefined"==typeof Int8Array?m:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?m:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?m:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":W&&Y?Y(Y([][Symbol.iterator]())):m,"%JSON%":"object"==typeof JSON?JSON:m,"%Map%":"undefined"==typeof Map?m:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&W&&Y?Y((new Map)[Symbol.iterator]()):m,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?m:Promise,"%Proxy%":"undefined"==typeof Proxy?m:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":"undefined"==typeof Reflect?m:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?m:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&W&&Y?Y((new Set)[Symbol.iterator]()):m,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?m:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":W&&Y?Y(""[Symbol.iterator]()):m,"%Symbol%":W?Symbol:m,"%SyntaxError%":v,"%ThrowTypeError%":$,"%TypedArray%":ee,"%TypeError%":j,"%Uint8Array%":"undefined"==typeof Uint8Array?m:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?m:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?m:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?m:Uint32Array,"%URIError%":URIError,"%WeakMap%":"undefined"==typeof WeakMap?m:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?m:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?m:WeakSet};if(Y)try{null.error}catch(i){var ae=Y(Y(i));ie["%Error.prototype%"]=ae}var le=function doEval(i){var s;if("%AsyncFunction%"===i)s=getEvalledConstructor("async function () {}");else if("%GeneratorFunction%"===i)s=getEvalledConstructor("function* () {}");else if("%AsyncGeneratorFunction%"===i)s=getEvalledConstructor("async function* () {}");else if("%AsyncGenerator%"===i){var u=doEval("%AsyncGeneratorFunction%");u&&(s=u.prototype)}else if("%AsyncIteratorPrototype%"===i){var m=doEval("%AsyncGenerator%");m&&Y&&(s=Y(m.prototype))}return ie[i]=s,s},ce={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},pe=u(58612),de=u(17642),fe=pe.call(Function.call,Array.prototype.concat),ye=pe.call(Function.apply,Array.prototype.splice),be=pe.call(Function.call,String.prototype.replace),_e=pe.call(Function.call,String.prototype.slice),we=pe.call(Function.call,RegExp.prototype.exec),Se=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,xe=/\\(\\)?/g,Ie=function getBaseIntrinsic(i,s){var u,m=i;if(de(ce,m)&&(m="%"+(u=ce[m])[0]+"%"),de(ie,m)){var _=ie[m];if(_===Z&&(_=le(m)),void 0===_&&!s)throw new j("intrinsic "+i+" exists, but is not available. Please file an issue!");return{alias:u,name:m,value:_}}throw new v("intrinsic "+i+" does not exist!")};i.exports=function GetIntrinsic(i,s){if("string"!=typeof i||0===i.length)throw new j("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof s)throw new j('"allowMissing" argument must be a boolean');if(null===we(/^%?[^%]*%?$/,i))throw new v("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var u=function stringToPath(i){var s=_e(i,0,1),u=_e(i,-1);if("%"===s&&"%"!==u)throw new v("invalid intrinsic syntax, expected closing `%`");if("%"===u&&"%"!==s)throw new v("invalid intrinsic syntax, expected opening `%`");var m=[];return be(i,Se,(function(i,s,u,v){m[m.length]=u?be(v,xe,"$1"):s||i})),m}(i),m=u.length>0?u[0]:"",_=Ie("%"+m+"%",s),$=_.name,W=_.value,X=!1,Y=_.alias;Y&&(m=Y[0],ye(u,fe([0,1],Y)));for(var Z=1,ee=!0;Z=u.length){var pe=M(W,ae);W=(ee=!!pe)&&"get"in pe&&!("originalValue"in pe.get)?pe.get:W[ae]}else ee=de(W,ae),W=W[ae];ee&&!X&&(ie[$]=W)}}return W}},28185:i=>{"use strict";var s={foo:{}},u=Object;i.exports=function hasProto(){return{__proto__:s}.foo===s.foo&&!({__proto__:null}instanceof u)}},41405:(i,s,u)=>{"use strict";var m="undefined"!=typeof Symbol&&Symbol,v=u(55419);i.exports=function hasNativeSymbols(){return"function"==typeof m&&("function"==typeof Symbol&&("symbol"==typeof m("foo")&&("symbol"==typeof Symbol("bar")&&v())))}},55419:i=>{"use strict";i.exports=function hasSymbols(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var i={},s=Symbol("test"),u=Object(s);if("string"==typeof s)return!1;if("[object Symbol]"!==Object.prototype.toString.call(s))return!1;if("[object Symbol]"!==Object.prototype.toString.call(u))return!1;for(s in i[s]=42,i)return!1;if("function"==typeof Object.keys&&0!==Object.keys(i).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(i).length)return!1;var m=Object.getOwnPropertySymbols(i);if(1!==m.length||m[0]!==s)return!1;if(!Object.prototype.propertyIsEnumerable.call(i,s))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var v=Object.getOwnPropertyDescriptor(i,s);if(42!==v.value||!0!==v.enumerable)return!1}return!0}},17642:(i,s,u)=>{"use strict";var m=u(58612);i.exports=m.call(Function.call,Object.prototype.hasOwnProperty)},47802:i=>{function deepFreeze(i){return i instanceof Map?i.clear=i.delete=i.set=function(){throw new Error("map is read-only")}:i instanceof Set&&(i.add=i.clear=i.delete=function(){throw new Error("set is read-only")}),Object.freeze(i),Object.getOwnPropertyNames(i).forEach((function(s){var u=i[s];"object"!=typeof u||Object.isFrozen(u)||deepFreeze(u)})),i}var s=deepFreeze,u=deepFreeze;s.default=u;class Response{constructor(i){void 0===i.data&&(i.data={}),this.data=i.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function escapeHTML(i){return i.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function inherit(i,...s){const u=Object.create(null);for(const s in i)u[s]=i[s];return s.forEach((function(i){for(const s in i)u[s]=i[s]})),u}const emitsWrappingTags=i=>!!i.kind;class HTMLRenderer{constructor(i,s){this.buffer="",this.classPrefix=s.classPrefix,i.walk(this)}addText(i){this.buffer+=escapeHTML(i)}openNode(i){if(!emitsWrappingTags(i))return;let s=i.kind;i.sublanguage||(s=`${this.classPrefix}${s}`),this.span(s)}closeNode(i){emitsWrappingTags(i)&&(this.buffer+="")}value(){return this.buffer}span(i){this.buffer+=``}}class TokenTree{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(i){this.top.children.push(i)}openNode(i){const s={kind:i,children:[]};this.add(s),this.stack.push(s)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(i){return this.constructor._walk(i,this.rootNode)}static _walk(i,s){return"string"==typeof s?i.addText(s):s.children&&(i.openNode(s),s.children.forEach((s=>this._walk(i,s))),i.closeNode(s)),i}static _collapse(i){"string"!=typeof i&&i.children&&(i.children.every((i=>"string"==typeof i))?i.children=[i.children.join("")]:i.children.forEach((i=>{TokenTree._collapse(i)})))}}class TokenTreeEmitter extends TokenTree{constructor(i){super(),this.options=i}addKeyword(i,s){""!==i&&(this.openNode(s),this.addText(i),this.closeNode())}addText(i){""!==i&&this.add(i)}addSublanguage(i,s){const u=i.root;u.kind=s,u.sublanguage=!0,this.add(u)}toHTML(){return new HTMLRenderer(this,this.options).value()}finalize(){return!0}}function source(i){return i?"string"==typeof i?i:i.source:null}const m=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;const v="[a-zA-Z]\\w*",_="[a-zA-Z_]\\w*",j="\\b\\d+(\\.\\d+)?",M="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",$="\\b(0b[01]+)",W={begin:"\\\\[\\s\\S]",relevance:0},X={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[W]},Y={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[W]},Z={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},COMMENT=function(i,s,u={}){const m=inherit({className:"comment",begin:i,end:s,contains:[]},u);return m.contains.push(Z),m.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",relevance:0}),m},ee=COMMENT("//","$"),ie=COMMENT("/\\*","\\*/"),ae=COMMENT("#","$"),le={className:"number",begin:j,relevance:0},ce={className:"number",begin:M,relevance:0},pe={className:"number",begin:$,relevance:0},de={className:"number",begin:j+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},fe={begin:/(?=\/[^/\n]*\/)/,contains:[{className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[W,{begin:/\[/,end:/\]/,relevance:0,contains:[W]}]}]},ye={className:"title",begin:v,relevance:0},be={className:"title",begin:_,relevance:0},_e={begin:"\\.\\s*"+_,relevance:0};var we=Object.freeze({__proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:v,UNDERSCORE_IDENT_RE:_,NUMBER_RE:j,C_NUMBER_RE:M,BINARY_NUMBER_RE:$,RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(i={})=>{const s=/^#![ ]*\//;return i.binary&&(i.begin=function concat(...i){return i.map((i=>source(i))).join("")}(s,/.*\b/,i.binary,/\b.*/)),inherit({className:"meta",begin:s,end:/$/,relevance:0,"on:begin":(i,s)=>{0!==i.index&&s.ignoreMatch()}},i)},BACKSLASH_ESCAPE:W,APOS_STRING_MODE:X,QUOTE_STRING_MODE:Y,PHRASAL_WORDS_MODE:Z,COMMENT,C_LINE_COMMENT_MODE:ee,C_BLOCK_COMMENT_MODE:ie,HASH_COMMENT_MODE:ae,NUMBER_MODE:le,C_NUMBER_MODE:ce,BINARY_NUMBER_MODE:pe,CSS_NUMBER_MODE:de,REGEXP_MODE:fe,TITLE_MODE:ye,UNDERSCORE_TITLE_MODE:be,METHOD_GUARD:_e,END_SAME_AS_BEGIN:function(i){return Object.assign(i,{"on:begin":(i,s)=>{s.data._beginMatch=i[1]},"on:end":(i,s)=>{s.data._beginMatch!==i[1]&&s.ignoreMatch()}})}});function skipIfhasPrecedingDot(i,s){"."===i.input[i.index-1]&&s.ignoreMatch()}function beginKeywords(i,s){s&&i.beginKeywords&&(i.begin="\\b("+i.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",i.__beforeBegin=skipIfhasPrecedingDot,i.keywords=i.keywords||i.beginKeywords,delete i.beginKeywords,void 0===i.relevance&&(i.relevance=0))}function compileIllegal(i,s){Array.isArray(i.illegal)&&(i.illegal=function either(...i){return"("+i.map((i=>source(i))).join("|")+")"}(...i.illegal))}function compileMatch(i,s){if(i.match){if(i.begin||i.end)throw new Error("begin & end are not supported with match");i.begin=i.match,delete i.match}}function compileRelevance(i,s){void 0===i.relevance&&(i.relevance=1)}const Se=["of","and","for","in","not","or","if","then","parent","list","value"],xe="keyword";function compileKeywords(i,s,u=xe){const m={};return"string"==typeof i?compileList(u,i.split(" ")):Array.isArray(i)?compileList(u,i):Object.keys(i).forEach((function(u){Object.assign(m,compileKeywords(i[u],s,u))})),m;function compileList(i,u){s&&(u=u.map((i=>i.toLowerCase()))),u.forEach((function(s){const u=s.split("|");m[u[0]]=[i,scoreForKeyword(u[0],u[1])]}))}}function scoreForKeyword(i,s){return s?Number(s):function commonKeyword(i){return Se.includes(i.toLowerCase())}(i)?0:1}function compileLanguage(i,{plugins:s}){function langRe(s,u){return new RegExp(source(s),"m"+(i.case_insensitive?"i":"")+(u?"g":""))}class MultiRegex{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(i,s){s.position=this.position++,this.matchIndexes[this.matchAt]=s,this.regexes.push([s,i]),this.matchAt+=function countMatchGroups(i){return new RegExp(i.toString()+"|").exec("").length-1}(i)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const i=this.regexes.map((i=>i[1]));this.matcherRe=langRe(function join(i,s="|"){let u=0;return i.map((i=>{u+=1;const s=u;let v=source(i),_="";for(;v.length>0;){const i=m.exec(v);if(!i){_+=v;break}_+=v.substring(0,i.index),v=v.substring(i.index+i[0].length),"\\"===i[0][0]&&i[1]?_+="\\"+String(Number(i[1])+s):(_+=i[0],"("===i[0]&&u++)}return _})).map((i=>`(${i})`)).join(s)}(i),!0),this.lastIndex=0}exec(i){this.matcherRe.lastIndex=this.lastIndex;const s=this.matcherRe.exec(i);if(!s)return null;const u=s.findIndex(((i,s)=>s>0&&void 0!==i)),m=this.matchIndexes[u];return s.splice(0,u),Object.assign(s,m)}}class ResumableMultiRegex{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(i){if(this.multiRegexes[i])return this.multiRegexes[i];const s=new MultiRegex;return this.rules.slice(i).forEach((([i,u])=>s.addRule(i,u))),s.compile(),this.multiRegexes[i]=s,s}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(i,s){this.rules.push([i,s]),"begin"===s.type&&this.count++}exec(i){const s=this.getMatcher(this.regexIndex);s.lastIndex=this.lastIndex;let u=s.exec(i);if(this.resumingScanAtSamePosition())if(u&&u.index===this.lastIndex);else{const s=this.getMatcher(0);s.lastIndex=this.lastIndex+1,u=s.exec(i)}return u&&(this.regexIndex+=u.position+1,this.regexIndex===this.count&&this.considerAll()),u}}if(i.compilerExtensions||(i.compilerExtensions=[]),i.contains&&i.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return i.classNameAliases=inherit(i.classNameAliases||{}),function compileMode(s,u){const m=s;if(s.isCompiled)return m;[compileMatch].forEach((i=>i(s,u))),i.compilerExtensions.forEach((i=>i(s,u))),s.__beforeBegin=null,[beginKeywords,compileIllegal,compileRelevance].forEach((i=>i(s,u))),s.isCompiled=!0;let v=null;if("object"==typeof s.keywords&&(v=s.keywords.$pattern,delete s.keywords.$pattern),s.keywords&&(s.keywords=compileKeywords(s.keywords,i.case_insensitive)),s.lexemes&&v)throw new Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ");return v=v||s.lexemes||/\w+/,m.keywordPatternRe=langRe(v,!0),u&&(s.begin||(s.begin=/\B|\b/),m.beginRe=langRe(s.begin),s.endSameAsBegin&&(s.end=s.begin),s.end||s.endsWithParent||(s.end=/\B|\b/),s.end&&(m.endRe=langRe(s.end)),m.terminatorEnd=source(s.end)||"",s.endsWithParent&&u.terminatorEnd&&(m.terminatorEnd+=(s.end?"|":"")+u.terminatorEnd)),s.illegal&&(m.illegalRe=langRe(s.illegal)),s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map((function(i){return function expandOrCloneMode(i){i.variants&&!i.cachedVariants&&(i.cachedVariants=i.variants.map((function(s){return inherit(i,{variants:null},s)})));if(i.cachedVariants)return i.cachedVariants;if(dependencyOnParent(i))return inherit(i,{starts:i.starts?inherit(i.starts):null});if(Object.isFrozen(i))return inherit(i);return i}("self"===i?s:i)}))),s.contains.forEach((function(i){compileMode(i,m)})),s.starts&&compileMode(s.starts,u),m.matcher=function buildModeRegex(i){const s=new ResumableMultiRegex;return i.contains.forEach((i=>s.addRule(i.begin,{rule:i,type:"begin"}))),i.terminatorEnd&&s.addRule(i.terminatorEnd,{type:"end"}),i.illegal&&s.addRule(i.illegal,{type:"illegal"}),s}(m),m}(i)}function dependencyOnParent(i){return!!i&&(i.endsWithParent||dependencyOnParent(i.starts))}function BuildVuePlugin(i){const s={props:["language","code","autodetect"],data:function(){return{detectedLanguage:"",unknownLanguage:!1}},computed:{className(){return this.unknownLanguage?"":"hljs "+this.detectedLanguage},highlighted(){if(!this.autoDetect&&!i.getLanguage(this.language))return console.warn(`The language "${this.language}" you specified could not be found.`),this.unknownLanguage=!0,escapeHTML(this.code);let s={};return this.autoDetect?(s=i.highlightAuto(this.code),this.detectedLanguage=s.language):(s=i.highlight(this.language,this.code,this.ignoreIllegals),this.detectedLanguage=this.language),s.value},autoDetect(){return!this.language||function hasValueOrEmptyAttribute(i){return Boolean(i||""===i)}(this.autodetect)},ignoreIllegals:()=>!0},render(i){return i("pre",{},[i("code",{class:this.className,domProps:{innerHTML:this.highlighted}})])}};return{Component:s,VuePlugin:{install(i){i.component("highlightjs",s)}}}}const Ie={"after:highlightElement":({el:i,result:s,text:u})=>{const m=nodeStream(i);if(!m.length)return;const v=document.createElement("div");v.innerHTML=s.value,s.value=function mergeStreams(i,s,u){let m=0,v="";const _=[];function selectStream(){return i.length&&s.length?i[0].offset!==s[0].offset?i[0].offset"}function close(i){v+=""}function render(i){("start"===i.event?open:close)(i.node)}for(;i.length||s.length;){let s=selectStream();if(v+=escapeHTML(u.substring(m,s[0].offset)),m=s[0].offset,s===i){_.reverse().forEach(close);do{render(s.splice(0,1)[0]),s=selectStream()}while(s===i&&s.length&&s[0].offset===m);_.reverse().forEach(open)}else"start"===s[0].event?_.push(s[0].node):_.pop(),render(s.splice(0,1)[0])}return v+escapeHTML(u.substr(m))}(m,nodeStream(v),u)}};function tag(i){return i.nodeName.toLowerCase()}function nodeStream(i){const s=[];return function _nodeStream(i,u){for(let m=i.firstChild;m;m=m.nextSibling)3===m.nodeType?u+=m.nodeValue.length:1===m.nodeType&&(s.push({event:"start",offset:u,node:m}),u=_nodeStream(m,u),tag(m).match(/br|hr|img|input/)||s.push({event:"stop",offset:u,node:m}));return u}(i,0),s}const Pe={},error=i=>{console.error(i)},warn=(i,...s)=>{console.log(`WARN: ${i}`,...s)},deprecated=(i,s)=>{Pe[`${i}/${s}`]||(console.log(`Deprecated as of ${i}. ${s}`),Pe[`${i}/${s}`]=!0)},Te=escapeHTML,Re=inherit,qe=Symbol("nomatch");var ze=function(i){const u=Object.create(null),m=Object.create(null),v=[];let _=!0;const j=/(^(<[^>]+>|\t|)+|\n)/gm,M="Could not find the language '{}', did you forget to load/include a language module?",$={disableAutodetect:!0,name:"Plain text",contains:[]};let W={noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:null,__emitter:TokenTreeEmitter};function shouldNotHighlight(i){return W.noHighlightRe.test(i)}function highlight(i,s,u,m){let v="",_="";"object"==typeof s?(v=i,u=s.ignoreIllegals,_=s.language,m=void 0):(deprecated("10.7.0","highlight(lang, code, ...args) has been deprecated."),deprecated("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),_=i,v=s);const j={code:v,language:_};fire("before:highlight",j);const M=j.result?j.result:_highlight(j.language,j.code,u,m);return M.code=j.code,fire("after:highlight",M),M}function _highlight(i,s,m,j){function keywordData(i,s){const u=X.case_insensitive?s[0].toLowerCase():s[0];return Object.prototype.hasOwnProperty.call(i.keywords,u)&&i.keywords[u]}function processBuffer(){null!=ee.subLanguage?function processSubLanguage(){if(""===le)return;let i=null;if("string"==typeof ee.subLanguage){if(!u[ee.subLanguage])return void ae.addText(le);i=_highlight(ee.subLanguage,le,!0,ie[ee.subLanguage]),ie[ee.subLanguage]=i.top}else i=highlightAuto(le,ee.subLanguage.length?ee.subLanguage:null);ee.relevance>0&&(ce+=i.relevance),ae.addSublanguage(i.emitter,i.language)}():function processKeywords(){if(!ee.keywords)return void ae.addText(le);let i=0;ee.keywordPatternRe.lastIndex=0;let s=ee.keywordPatternRe.exec(le),u="";for(;s;){u+=le.substring(i,s.index);const m=keywordData(ee,s);if(m){const[i,v]=m;if(ae.addText(u),u="",ce+=v,i.startsWith("_"))u+=s[0];else{const u=X.classNameAliases[i]||i;ae.addKeyword(s[0],u)}}else u+=s[0];i=ee.keywordPatternRe.lastIndex,s=ee.keywordPatternRe.exec(le)}u+=le.substr(i),ae.addText(u)}(),le=""}function startNewMode(i){return i.className&&ae.openNode(X.classNameAliases[i.className]||i.className),ee=Object.create(i,{parent:{value:ee}}),ee}function endOfMode(i,s,u){let m=function startsWith(i,s){const u=i&&i.exec(s);return u&&0===u.index}(i.endRe,u);if(m){if(i["on:end"]){const u=new Response(i);i["on:end"](s,u),u.isMatchIgnored&&(m=!1)}if(m){for(;i.endsParent&&i.parent;)i=i.parent;return i}}if(i.endsWithParent)return endOfMode(i.parent,s,u)}function doIgnore(i){return 0===ee.matcher.regexIndex?(le+=i[0],1):(fe=!0,0)}function doBeginMatch(i){const s=i[0],u=i.rule,m=new Response(u),v=[u.__beforeBegin,u["on:begin"]];for(const u of v)if(u&&(u(i,m),m.isMatchIgnored))return doIgnore(s);return u&&u.endSameAsBegin&&(u.endRe=function escape(i){return new RegExp(i.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")}(s)),u.skip?le+=s:(u.excludeBegin&&(le+=s),processBuffer(),u.returnBegin||u.excludeBegin||(le=s)),startNewMode(u),u.returnBegin?0:s.length}function doEndMatch(i){const u=i[0],m=s.substr(i.index),v=endOfMode(ee,i,m);if(!v)return qe;const _=ee;_.skip?le+=u:(_.returnEnd||_.excludeEnd||(le+=u),processBuffer(),_.excludeEnd&&(le=u));do{ee.className&&ae.closeNode(),ee.skip||ee.subLanguage||(ce+=ee.relevance),ee=ee.parent}while(ee!==v.parent);return v.starts&&(v.endSameAsBegin&&(v.starts.endRe=v.endRe),startNewMode(v.starts)),_.returnEnd?0:u.length}let $={};function processLexeme(u,v){const j=v&&v[0];if(le+=u,null==j)return processBuffer(),0;if("begin"===$.type&&"end"===v.type&&$.index===v.index&&""===j){if(le+=s.slice(v.index,v.index+1),!_){const s=new Error("0 width match regex");throw s.languageName=i,s.badRule=$.rule,s}return 1}if($=v,"begin"===v.type)return doBeginMatch(v);if("illegal"===v.type&&!m){const i=new Error('Illegal lexeme "'+j+'" for mode "'+(ee.className||"")+'"');throw i.mode=ee,i}if("end"===v.type){const i=doEndMatch(v);if(i!==qe)return i}if("illegal"===v.type&&""===j)return 1;if(de>1e5&&de>3*v.index){throw new Error("potential infinite loop, way more iterations than matches")}return le+=j,j.length}const X=getLanguage(i);if(!X)throw error(M.replace("{}",i)),new Error('Unknown language: "'+i+'"');const Y=compileLanguage(X,{plugins:v});let Z="",ee=j||Y;const ie={},ae=new W.__emitter(W);!function processContinuations(){const i=[];for(let s=ee;s!==X;s=s.parent)s.className&&i.unshift(s.className);i.forEach((i=>ae.openNode(i)))}();let le="",ce=0,pe=0,de=0,fe=!1;try{for(ee.matcher.considerAll();;){de++,fe?fe=!1:ee.matcher.considerAll(),ee.matcher.lastIndex=pe;const i=ee.matcher.exec(s);if(!i)break;const u=processLexeme(s.substring(pe,i.index),i);pe=i.index+u}return processLexeme(s.substr(pe)),ae.closeAllNodes(),ae.finalize(),Z=ae.toHTML(),{relevance:Math.floor(ce),value:Z,language:i,illegal:!1,emitter:ae,top:ee}}catch(u){if(u.message&&u.message.includes("Illegal"))return{illegal:!0,illegalBy:{msg:u.message,context:s.slice(pe-100,pe+100),mode:u.mode},sofar:Z,relevance:0,value:Te(s),emitter:ae};if(_)return{illegal:!1,relevance:0,value:Te(s),emitter:ae,language:i,top:ee,errorRaised:u};throw u}}function highlightAuto(i,s){s=s||W.languages||Object.keys(u);const m=function justTextHighlightResult(i){const s={relevance:0,emitter:new W.__emitter(W),value:Te(i),illegal:!1,top:$};return s.emitter.addText(i),s}(i),v=s.filter(getLanguage).filter(autoDetection).map((s=>_highlight(s,i,!1)));v.unshift(m);const _=v.sort(((i,s)=>{if(i.relevance!==s.relevance)return s.relevance-i.relevance;if(i.language&&s.language){if(getLanguage(i.language).supersetOf===s.language)return 1;if(getLanguage(s.language).supersetOf===i.language)return-1}return 0})),[j,M]=_,X=j;return X.second_best=M,X}const X={"before:highlightElement":({el:i})=>{W.useBR&&(i.innerHTML=i.innerHTML.replace(/\n/g,"").replace(//g,"\n"))},"after:highlightElement":({result:i})=>{W.useBR&&(i.value=i.value.replace(/\n/g,"
"))}},Y=/^(<[^>]+>|\t)+/gm,Z={"after:highlightElement":({result:i})=>{W.tabReplace&&(i.value=i.value.replace(Y,(i=>i.replace(/\t/g,W.tabReplace))))}};function highlightElement(i){let s=null;const u=function blockLanguage(i){let s=i.className+" ";s+=i.parentNode?i.parentNode.className:"";const u=W.languageDetectRe.exec(s);if(u){const s=getLanguage(u[1]);return s||(warn(M.replace("{}",u[1])),warn("Falling back to no-highlight mode for this block.",i)),s?u[1]:"no-highlight"}return s.split(/\s+/).find((i=>shouldNotHighlight(i)||getLanguage(i)))}(i);if(shouldNotHighlight(u))return;fire("before:highlightElement",{el:i,language:u}),s=i;const v=s.textContent,_=u?highlight(v,{language:u,ignoreIllegals:!0}):highlightAuto(v);fire("after:highlightElement",{el:i,result:_,text:v}),i.innerHTML=_.value,function updateClassName(i,s,u){const v=s?m[s]:u;i.classList.add("hljs"),v&&i.classList.add(v)}(i,u,_.language),i.result={language:_.language,re:_.relevance,relavance:_.relevance},_.second_best&&(i.second_best={language:_.second_best.language,re:_.second_best.relevance,relavance:_.second_best.relevance})}const initHighlighting=()=>{if(initHighlighting.called)return;initHighlighting.called=!0,deprecated("10.6.0","initHighlighting() is deprecated. Use highlightAll() instead.");document.querySelectorAll("pre code").forEach(highlightElement)};let ee=!1;function highlightAll(){if("loading"===document.readyState)return void(ee=!0);document.querySelectorAll("pre code").forEach(highlightElement)}function getLanguage(i){return i=(i||"").toLowerCase(),u[i]||u[m[i]]}function registerAliases(i,{languageName:s}){"string"==typeof i&&(i=[i]),i.forEach((i=>{m[i.toLowerCase()]=s}))}function autoDetection(i){const s=getLanguage(i);return s&&!s.disableAutodetect}function fire(i,s){const u=i;v.forEach((function(i){i[u]&&i[u](s)}))}"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(function boot(){ee&&highlightAll()}),!1),Object.assign(i,{highlight,highlightAuto,highlightAll,fixMarkup:function deprecateFixMarkup(i){return deprecated("10.2.0","fixMarkup will be removed entirely in v11.0"),deprecated("10.2.0","Please see https://github.com/highlightjs/highlight.js/issues/2534"),function fixMarkup(i){return W.tabReplace||W.useBR?i.replace(j,(i=>"\n"===i?W.useBR?"
":i:W.tabReplace?i.replace(/\t/g,W.tabReplace):i)):i}(i)},highlightElement,highlightBlock:function deprecateHighlightBlock(i){return deprecated("10.7.0","highlightBlock will be removed entirely in v12.0"),deprecated("10.7.0","Please use highlightElement now."),highlightElement(i)},configure:function configure(i){i.useBR&&(deprecated("10.3.0","'useBR' will be removed entirely in v11.0"),deprecated("10.3.0","Please see https://github.com/highlightjs/highlight.js/issues/2559")),W=Re(W,i)},initHighlighting,initHighlightingOnLoad:function initHighlightingOnLoad(){deprecated("10.6.0","initHighlightingOnLoad() is deprecated. Use highlightAll() instead."),ee=!0},registerLanguage:function registerLanguage(s,m){let v=null;try{v=m(i)}catch(i){if(error("Language definition for '{}' could not be registered.".replace("{}",s)),!_)throw i;error(i),v=$}v.name||(v.name=s),u[s]=v,v.rawDefinition=m.bind(null,i),v.aliases&®isterAliases(v.aliases,{languageName:s})},unregisterLanguage:function unregisterLanguage(i){delete u[i];for(const s of Object.keys(m))m[s]===i&&delete m[s]},listLanguages:function listLanguages(){return Object.keys(u)},getLanguage,registerAliases,requireLanguage:function requireLanguage(i){deprecated("10.4.0","requireLanguage will be removed entirely in v11."),deprecated("10.4.0","Please see https://github.com/highlightjs/highlight.js/pull/2844");const s=getLanguage(i);if(s)return s;throw new Error("The '{}' language is required, but not loaded.".replace("{}",i))},autoDetection,inherit:Re,addPlugin:function addPlugin(i){!function upgradePluginAPI(i){i["before:highlightBlock"]&&!i["before:highlightElement"]&&(i["before:highlightElement"]=s=>{i["before:highlightBlock"](Object.assign({block:s.el},s))}),i["after:highlightBlock"]&&!i["after:highlightElement"]&&(i["after:highlightElement"]=s=>{i["after:highlightBlock"](Object.assign({block:s.el},s))})}(i),v.push(i)},vuePlugin:BuildVuePlugin(i).VuePlugin}),i.debugMode=function(){_=!1},i.safeMode=function(){_=!0},i.versionString="10.7.3";for(const i in we)"object"==typeof we[i]&&s(we[i]);return Object.assign(i,we),i.addPlugin(X),i.addPlugin(Ie),i.addPlugin(Z),i}({});i.exports=ze},61519:i=>{function concat(...i){return i.map((i=>function source(i){return i?"string"==typeof i?i:i.source:null}(i))).join("")}i.exports=function bash(i){const s={},u={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[s]}]};Object.assign(s,{className:"variable",variants:[{begin:concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},u]});const m={className:"subst",begin:/\$\(/,end:/\)/,contains:[i.BACKSLASH_ESCAPE]},v={begin:/<<-?\s*(?=\w+)/,starts:{contains:[i.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},_={className:"string",begin:/"/,end:/"/,contains:[i.BACKSLASH_ESCAPE,s,m]};m.contains.push(_);const j={begin:/\$\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},i.NUMBER_MODE,s]},M=i.SHEBANG({binary:`(${["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"].join("|")})`,relevance:10}),$={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[i.inherit(i.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z._-]+\b/,keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp"},contains:[M,i.SHEBANG(),$,j,i.HASH_COMMENT_MODE,v,_,{className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},s]}}},30786:i=>{function concat(...i){return i.map((i=>function source(i){return i?"string"==typeof i?i:i.source:null}(i))).join("")}i.exports=function http(i){const s="HTTP/(2|1\\.[01])",u={className:"attribute",begin:concat("^",/[A-Za-z][A-Za-z0-9-]*/,"(?=\\:\\s)"),starts:{contains:[{className:"punctuation",begin:/: /,relevance:0,starts:{end:"$",relevance:0}}]}},m=[u,{begin:"\\n\\n",starts:{subLanguage:[],endsWithParent:!0}}];return{name:"HTTP",aliases:["https"],illegal:/\S/,contains:[{begin:"^(?="+s+" \\d{3})",end:/$/,contains:[{className:"meta",begin:s},{className:"number",begin:"\\b\\d{3}\\b"}],starts:{end:/\b\B/,illegal:/\S/,contains:m}},{begin:"(?=^[A-Z]+ (.*?) "+s+"$)",end:/$/,contains:[{className:"string",begin:" ",end:" ",excludeBegin:!0,excludeEnd:!0},{className:"meta",begin:s},{className:"keyword",begin:"[A-Z]+"}],starts:{end:/\b\B/,illegal:/\S/,contains:m}},i.inherit(u,{relevance:0})]}}},96344:i=>{const s="[A-Za-z$_][0-9A-Za-z$_]*",u=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],m=["true","false","null","undefined","NaN","Infinity"],v=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer","BigInt64Array","BigUint64Array","BigInt"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);function lookahead(i){return concat("(?=",i,")")}function concat(...i){return i.map((i=>function source(i){return i?"string"==typeof i?i:i.source:null}(i))).join("")}i.exports=function javascript(i){const _=s,j="<>",M="",$={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(i,s)=>{const u=i[0].length+i.index,m=i.input[u];"<"!==m?">"===m&&(((i,{after:s})=>{const u="",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:i.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:W,contains:ye}]}]},{begin:/,/,relevance:0},{className:"",begin:/\s/,end:/\s*/,skip:!0},{variants:[{begin:j,end:M},{begin:$.begin,"on:begin":$.isTrulyOpeningTag,end:$.end}],subLanguage:"xml",contains:[{begin:$.begin,end:$.end,skip:!0,contains:["self"]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/[{;]/,excludeEnd:!0,keywords:W,contains:["self",i.inherit(i.TITLE_MODE,{begin:_}),be],illegal:/%/},{beginKeywords:"while if switch catch for"},{className:"function",begin:i.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,contains:[be,i.inherit(i.TITLE_MODE,{begin:_})]},{variants:[{begin:"\\."+_},{begin:"\\$"+_}],relevance:0},{className:"class",beginKeywords:"class",end:/[{;=]/,excludeEnd:!0,illegal:/[:"[\]]/,contains:[{beginKeywords:"extends"},i.UNDERSCORE_TITLE_MODE]},{begin:/\b(?=constructor)/,end:/[{;]/,excludeEnd:!0,contains:[i.inherit(i.TITLE_MODE,{begin:_}),"self",be]},{begin:"(get|set)\\s+(?="+_+"\\()",end:/\{/,keywords:"get set",contains:[i.inherit(i.TITLE_MODE,{begin:_}),{begin:/\(\)/},be]},{begin:/\$[(.]/}]}}},82026:i=>{i.exports=function json(i){const s={literal:"true false null"},u=[i.C_LINE_COMMENT_MODE,i.C_BLOCK_COMMENT_MODE],m=[i.QUOTE_STRING_MODE,i.C_NUMBER_MODE],v={end:",",endsWithParent:!0,excludeEnd:!0,contains:m,keywords:s},_={begin:/\{/,end:/\}/,contains:[{className:"attr",begin:/"/,end:/"/,contains:[i.BACKSLASH_ESCAPE],illegal:"\\n"},i.inherit(v,{begin:/:/})].concat(u),illegal:"\\S"},j={begin:"\\[",end:"\\]",contains:[i.inherit(v)],illegal:"\\S"};return m.push(_,j),u.forEach((function(i){m.push(i)})),{name:"JSON",contains:m,keywords:s,illegal:"\\S"}}},66336:i=>{i.exports=function powershell(i){const s={$pattern:/-?[A-z\.\-]+\b/,keyword:"if else foreach return do while until elseif begin for trap data dynamicparam end break throw param continue finally in switch exit filter try process catch hidden static parameter",built_in:"ac asnp cat cd CFS chdir clc clear clhy cli clp cls clv cnsn compare copy cp cpi cpp curl cvpa dbp del diff dir dnsn ebp echo|0 epal epcsv epsn erase etsn exsn fc fhx fl ft fw gal gbp gc gcb gci gcm gcs gdr gerr ghy gi gin gjb gl gm gmo gp gps gpv group gsn gsnp gsv gtz gu gv gwmi h history icm iex ihy ii ipal ipcsv ipmo ipsn irm ise iwmi iwr kill lp ls man md measure mi mount move mp mv nal ndr ni nmo npssc nsn nv ogv oh popd ps pushd pwd r rbp rcjb rcsn rd rdr ren ri rjb rm rmdir rmo rni rnp rp rsn rsnp rujb rv rvpa rwmi sajb sal saps sasv sbp sc scb select set shcm si sl sleep sls sort sp spjb spps spsv start stz sujb sv swmi tee trcm type wget where wjb write"},u={begin:"`[\\s\\S]",relevance:0},m={className:"variable",variants:[{begin:/\$\B/},{className:"keyword",begin:/\$this/},{begin:/\$[\w\d][\w\d_:]*/}]},v={className:"string",variants:[{begin:/"/,end:/"/},{begin:/@"/,end:/^"@/}],contains:[u,m,{className:"variable",begin:/\$[A-z]/,end:/[^A-z]/}]},_={className:"string",variants:[{begin:/'/,end:/'/},{begin:/@'/,end:/^'@/}]},j=i.inherit(i.COMMENT(null,null),{variants:[{begin:/#/,end:/$/},{begin:/<#/,end:/#>/}],contains:[{className:"doctag",variants:[{begin:/\.(synopsis|description|example|inputs|outputs|notes|link|component|role|functionality)/},{begin:/\.(parameter|forwardhelptargetname|forwardhelpcategory|remotehelprunspace|externalhelp)\s+\S+/}]}]}),M={className:"built_in",variants:[{begin:"(".concat("Add|Clear|Close|Copy|Enter|Exit|Find|Format|Get|Hide|Join|Lock|Move|New|Open|Optimize|Pop|Push|Redo|Remove|Rename|Reset|Resize|Search|Select|Set|Show|Skip|Split|Step|Switch|Undo|Unlock|Watch|Backup|Checkpoint|Compare|Compress|Convert|ConvertFrom|ConvertTo|Dismount|Edit|Expand|Export|Group|Import|Initialize|Limit|Merge|Mount|Out|Publish|Restore|Save|Sync|Unpublish|Update|Approve|Assert|Build|Complete|Confirm|Deny|Deploy|Disable|Enable|Install|Invoke|Register|Request|Restart|Resume|Start|Stop|Submit|Suspend|Uninstall|Unregister|Wait|Debug|Measure|Ping|Repair|Resolve|Test|Trace|Connect|Disconnect|Read|Receive|Send|Write|Block|Grant|Protect|Revoke|Unblock|Unprotect|Use|ForEach|Sort|Tee|Where",")+(-)[\\w\\d]+")}]},$={className:"class",beginKeywords:"class enum",end:/\s*[{]/,excludeEnd:!0,relevance:0,contains:[i.TITLE_MODE]},W={className:"function",begin:/function\s+/,end:/\s*\{|$/,excludeEnd:!0,returnBegin:!0,relevance:0,contains:[{begin:"function",relevance:0,className:"keyword"},{className:"title",begin:/\w[\w\d]*((-)[\w\d]+)*/,relevance:0},{begin:/\(/,end:/\)/,className:"params",relevance:0,contains:[m]}]},X={begin:/using\s/,end:/$/,returnBegin:!0,contains:[v,_,{className:"keyword",begin:/(using|assembly|command|module|namespace|type)/}]},Y={variants:[{className:"operator",begin:"(".concat("-and|-as|-band|-bnot|-bor|-bxor|-casesensitive|-ccontains|-ceq|-cge|-cgt|-cle|-clike|-clt|-cmatch|-cne|-cnotcontains|-cnotlike|-cnotmatch|-contains|-creplace|-csplit|-eq|-exact|-f|-file|-ge|-gt|-icontains|-ieq|-ige|-igt|-ile|-ilike|-ilt|-imatch|-in|-ine|-inotcontains|-inotlike|-inotmatch|-ireplace|-is|-isnot|-isplit|-join|-le|-like|-lt|-match|-ne|-not|-notcontains|-notin|-notlike|-notmatch|-or|-regex|-replace|-shl|-shr|-split|-wildcard|-xor",")\\b")},{className:"literal",begin:/(-)[\w\d]+/,relevance:0}]},Z={className:"function",begin:/\[.*\]\s*[\w]+[ ]??\(/,end:/$/,returnBegin:!0,relevance:0,contains:[{className:"keyword",begin:"(".concat(s.keyword.toString().replace(/\s/g,"|"),")\\b"),endsParent:!0,relevance:0},i.inherit(i.TITLE_MODE,{endsParent:!0})]},ee=[Z,j,u,i.NUMBER_MODE,v,_,M,m,{className:"literal",begin:/\$(null|true|false)\b/},{className:"selector-tag",begin:/@\B/,relevance:0}],ie={begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[].concat("self",ee,{begin:"("+["string","char","byte","int","long","bool","decimal","single","double","DateTime","xml","array","hashtable","void"].join("|")+")",className:"built_in",relevance:0},{className:"type",begin:/[\.\w\d]+/,relevance:0})};return Z.contains.unshift(ie),{name:"PowerShell",aliases:["ps","ps1"],case_insensitive:!0,keywords:s,contains:ee.concat($,W,X,Y,ie)}}},42157:i=>{function source(i){return i?"string"==typeof i?i:i.source:null}function lookahead(i){return concat("(?=",i,")")}function concat(...i){return i.map((i=>source(i))).join("")}function either(...i){return"("+i.map((i=>source(i))).join("|")+")"}i.exports=function xml(i){const s=concat(/[A-Z_]/,function optional(i){return concat("(",i,")?")}(/[A-Z0-9_.-]*:/),/[A-Z0-9_.-]*/),u={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},m={begin:/\s/,contains:[{className:"meta-keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},v=i.inherit(m,{begin:/\(/,end:/\)/}),_=i.inherit(i.APOS_STRING_MODE,{className:"meta-string"}),j=i.inherit(i.QUOTE_STRING_MODE,{className:"meta-string"}),M={endsWithParent:!0,illegal:/`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,contains:[{className:"meta",begin://,relevance:10,contains:[m,j,_,v,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[m,v,j,_]}]}]},i.COMMENT(//,{relevance:10}),{begin://,relevance:10},u,{className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag",begin:/)/,end:/>/,keywords:{name:"style"},contains:[M],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/)/,end:/>/,keywords:{name:"script"},contains:[M],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:s,relevance:0,starts:M}]},{className:"tag",begin:concat(/<\//,lookahead(concat(s,/>/))),contains:[{className:"name",begin:s,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}},54587:i=>{i.exports=function yaml(i){var s="true false yes no null",u="[\\w#;/?:@&=+$,.~*'()[\\]]+",m={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[i.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},v=i.inherit(m,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),_={className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},j={end:",",endsWithParent:!0,excludeEnd:!0,keywords:s,relevance:0},M={begin:/\{/,end:/\}/,contains:[j],illegal:"\\n",relevance:0},$={begin:"\\[",end:"\\]",contains:[j],illegal:"\\n",relevance:0},W=[{className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+u},{className:"type",begin:"!<"+u+">"},{className:"type",begin:"!"+u},{className:"type",begin:"!!"+u},{className:"meta",begin:"&"+i.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+i.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},i.HASH_COMMENT_MODE,{beginKeywords:s,keywords:{literal:s}},_,{className:"number",begin:i.C_NUMBER_RE+"\\b",relevance:0},M,$,m],X=[...W];return X.pop(),X.push(v),j.contains=X,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:W}}},8679:(i,s,u)=>{"use strict";var m=u(59864),v={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},_={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},j={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},M={};function getStatics(i){return m.isMemo(i)?j:M[i.$$typeof]||v}M[m.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},M[m.Memo]=j;var $=Object.defineProperty,W=Object.getOwnPropertyNames,X=Object.getOwnPropertySymbols,Y=Object.getOwnPropertyDescriptor,Z=Object.getPrototypeOf,ee=Object.prototype;i.exports=function hoistNonReactStatics(i,s,u){if("string"!=typeof s){if(ee){var m=Z(s);m&&m!==ee&&hoistNonReactStatics(i,m,u)}var v=W(s);X&&(v=v.concat(X(s)));for(var j=getStatics(i),M=getStatics(s),ie=0;ie{s.read=function(i,s,u,m,v){var _,j,M=8*v-m-1,$=(1<>1,X=-7,Y=u?v-1:0,Z=u?-1:1,ee=i[s+Y];for(Y+=Z,_=ee&(1<<-X)-1,ee>>=-X,X+=M;X>0;_=256*_+i[s+Y],Y+=Z,X-=8);for(j=_&(1<<-X)-1,_>>=-X,X+=m;X>0;j=256*j+i[s+Y],Y+=Z,X-=8);if(0===_)_=1-W;else{if(_===$)return j?NaN:1/0*(ee?-1:1);j+=Math.pow(2,m),_-=W}return(ee?-1:1)*j*Math.pow(2,_-m)},s.write=function(i,s,u,m,v,_){var j,M,$,W=8*_-v-1,X=(1<>1,Z=23===v?Math.pow(2,-24)-Math.pow(2,-77):0,ee=m?0:_-1,ie=m?1:-1,ae=s<0||0===s&&1/s<0?1:0;for(s=Math.abs(s),isNaN(s)||s===1/0?(M=isNaN(s)?1:0,j=X):(j=Math.floor(Math.log(s)/Math.LN2),s*($=Math.pow(2,-j))<1&&(j--,$*=2),(s+=j+Y>=1?Z/$:Z*Math.pow(2,1-Y))*$>=2&&(j++,$/=2),j+Y>=X?(M=0,j=X):j+Y>=1?(M=(s*$-1)*Math.pow(2,v),j+=Y):(M=s*Math.pow(2,Y-1)*Math.pow(2,v),j=0));v>=8;i[u+ee]=255&M,ee+=ie,M/=256,v-=8);for(j=j<0;i[u+ee]=255&j,ee+=ie,j/=256,W-=8);i[u+ee-ie]|=128*ae}},43393:function(i){i.exports=function(){"use strict";var i=Array.prototype.slice;function createClass(i,s){s&&(i.prototype=Object.create(s.prototype)),i.prototype.constructor=i}function Iterable(i){return isIterable(i)?i:Seq(i)}function KeyedIterable(i){return isKeyed(i)?i:KeyedSeq(i)}function IndexedIterable(i){return isIndexed(i)?i:IndexedSeq(i)}function SetIterable(i){return isIterable(i)&&!isAssociative(i)?i:SetSeq(i)}function isIterable(i){return!(!i||!i[s])}function isKeyed(i){return!(!i||!i[u])}function isIndexed(i){return!(!i||!i[m])}function isAssociative(i){return isKeyed(i)||isIndexed(i)}function isOrdered(i){return!(!i||!i[v])}createClass(KeyedIterable,Iterable),createClass(IndexedIterable,Iterable),createClass(SetIterable,Iterable),Iterable.isIterable=isIterable,Iterable.isKeyed=isKeyed,Iterable.isIndexed=isIndexed,Iterable.isAssociative=isAssociative,Iterable.isOrdered=isOrdered,Iterable.Keyed=KeyedIterable,Iterable.Indexed=IndexedIterable,Iterable.Set=SetIterable;var s="@@__IMMUTABLE_ITERABLE__@@",u="@@__IMMUTABLE_KEYED__@@",m="@@__IMMUTABLE_INDEXED__@@",v="@@__IMMUTABLE_ORDERED__@@",_="delete",j=5,M=1<>>0;if(""+u!==s||4294967295===u)return NaN;s=u}return s<0?ensureSize(i)+s:s}function returnTrue(){return!0}function wholeSlice(i,s,u){return(0===i||void 0!==u&&i<=-u)&&(void 0===s||void 0!==u&&s>=u)}function resolveBegin(i,s){return resolveIndex(i,s,0)}function resolveEnd(i,s){return resolveIndex(i,s,s)}function resolveIndex(i,s,u){return void 0===i?u:i<0?Math.max(0,s+i):void 0===s?i:Math.min(s,i)}var Z=0,ee=1,ie=2,ae="function"==typeof Symbol&&Symbol.iterator,le="@@iterator",ce=ae||le;function Iterator(i){this.next=i}function iteratorValue(i,s,u,m){var v=0===i?s:1===i?u:[s,u];return m?m.value=v:m={value:v,done:!1},m}function iteratorDone(){return{value:void 0,done:!0}}function hasIterator(i){return!!getIteratorFn(i)}function isIterator(i){return i&&"function"==typeof i.next}function getIterator(i){var s=getIteratorFn(i);return s&&s.call(i)}function getIteratorFn(i){var s=i&&(ae&&i[ae]||i[le]);if("function"==typeof s)return s}function isArrayLike(i){return i&&"number"==typeof i.length}function Seq(i){return null==i?emptySequence():isIterable(i)?i.toSeq():seqFromValue(i)}function KeyedSeq(i){return null==i?emptySequence().toKeyedSeq():isIterable(i)?isKeyed(i)?i.toSeq():i.fromEntrySeq():keyedSeqFromValue(i)}function IndexedSeq(i){return null==i?emptySequence():isIterable(i)?isKeyed(i)?i.entrySeq():i.toIndexedSeq():indexedSeqFromValue(i)}function SetSeq(i){return(null==i?emptySequence():isIterable(i)?isKeyed(i)?i.entrySeq():i:indexedSeqFromValue(i)).toSetSeq()}Iterator.prototype.toString=function(){return"[Iterator]"},Iterator.KEYS=Z,Iterator.VALUES=ee,Iterator.ENTRIES=ie,Iterator.prototype.inspect=Iterator.prototype.toSource=function(){return this.toString()},Iterator.prototype[ce]=function(){return this},createClass(Seq,Iterable),Seq.of=function(){return Seq(arguments)},Seq.prototype.toSeq=function(){return this},Seq.prototype.toString=function(){return this.__toString("Seq {","}")},Seq.prototype.cacheResult=function(){return!this._cache&&this.__iterateUncached&&(this._cache=this.entrySeq().toArray(),this.size=this._cache.length),this},Seq.prototype.__iterate=function(i,s){return seqIterate(this,i,s,!0)},Seq.prototype.__iterator=function(i,s){return seqIterator(this,i,s,!0)},createClass(KeyedSeq,Seq),KeyedSeq.prototype.toKeyedSeq=function(){return this},createClass(IndexedSeq,Seq),IndexedSeq.of=function(){return IndexedSeq(arguments)},IndexedSeq.prototype.toIndexedSeq=function(){return this},IndexedSeq.prototype.toString=function(){return this.__toString("Seq [","]")},IndexedSeq.prototype.__iterate=function(i,s){return seqIterate(this,i,s,!1)},IndexedSeq.prototype.__iterator=function(i,s){return seqIterator(this,i,s,!1)},createClass(SetSeq,Seq),SetSeq.of=function(){return SetSeq(arguments)},SetSeq.prototype.toSetSeq=function(){return this},Seq.isSeq=isSeq,Seq.Keyed=KeyedSeq,Seq.Set=SetSeq,Seq.Indexed=IndexedSeq;var pe,de,fe,ye="@@__IMMUTABLE_SEQ__@@";function ArraySeq(i){this._array=i,this.size=i.length}function ObjectSeq(i){var s=Object.keys(i);this._object=i,this._keys=s,this.size=s.length}function IterableSeq(i){this._iterable=i,this.size=i.length||i.size}function IteratorSeq(i){this._iterator=i,this._iteratorCache=[]}function isSeq(i){return!(!i||!i[ye])}function emptySequence(){return pe||(pe=new ArraySeq([]))}function keyedSeqFromValue(i){var s=Array.isArray(i)?new ArraySeq(i).fromEntrySeq():isIterator(i)?new IteratorSeq(i).fromEntrySeq():hasIterator(i)?new IterableSeq(i).fromEntrySeq():"object"==typeof i?new ObjectSeq(i):void 0;if(!s)throw new TypeError("Expected Array or iterable object of [k, v] entries, or keyed object: "+i);return s}function indexedSeqFromValue(i){var s=maybeIndexedSeqFromValue(i);if(!s)throw new TypeError("Expected Array or iterable object of values: "+i);return s}function seqFromValue(i){var s=maybeIndexedSeqFromValue(i)||"object"==typeof i&&new ObjectSeq(i);if(!s)throw new TypeError("Expected Array or iterable object of values, or keyed object: "+i);return s}function maybeIndexedSeqFromValue(i){return isArrayLike(i)?new ArraySeq(i):isIterator(i)?new IteratorSeq(i):hasIterator(i)?new IterableSeq(i):void 0}function seqIterate(i,s,u,m){var v=i._cache;if(v){for(var _=v.length-1,j=0;j<=_;j++){var M=v[u?_-j:j];if(!1===s(M[1],m?M[0]:j,i))return j+1}return j}return i.__iterateUncached(s,u)}function seqIterator(i,s,u,m){var v=i._cache;if(v){var _=v.length-1,j=0;return new Iterator((function(){var i=v[u?_-j:j];return j++>_?iteratorDone():iteratorValue(s,m?i[0]:j-1,i[1])}))}return i.__iteratorUncached(s,u)}function fromJS(i,s){return s?fromJSWith(s,i,"",{"":i}):fromJSDefault(i)}function fromJSWith(i,s,u,m){return Array.isArray(s)?i.call(m,u,IndexedSeq(s).map((function(u,m){return fromJSWith(i,u,m,s)}))):isPlainObj(s)?i.call(m,u,KeyedSeq(s).map((function(u,m){return fromJSWith(i,u,m,s)}))):s}function fromJSDefault(i){return Array.isArray(i)?IndexedSeq(i).map(fromJSDefault).toList():isPlainObj(i)?KeyedSeq(i).map(fromJSDefault).toMap():i}function isPlainObj(i){return i&&(i.constructor===Object||void 0===i.constructor)}function is(i,s){if(i===s||i!=i&&s!=s)return!0;if(!i||!s)return!1;if("function"==typeof i.valueOf&&"function"==typeof s.valueOf){if((i=i.valueOf())===(s=s.valueOf())||i!=i&&s!=s)return!0;if(!i||!s)return!1}return!("function"!=typeof i.equals||"function"!=typeof s.equals||!i.equals(s))}function deepEqual(i,s){if(i===s)return!0;if(!isIterable(s)||void 0!==i.size&&void 0!==s.size&&i.size!==s.size||void 0!==i.__hash&&void 0!==s.__hash&&i.__hash!==s.__hash||isKeyed(i)!==isKeyed(s)||isIndexed(i)!==isIndexed(s)||isOrdered(i)!==isOrdered(s))return!1;if(0===i.size&&0===s.size)return!0;var u=!isAssociative(i);if(isOrdered(i)){var m=i.entries();return s.every((function(i,s){var v=m.next().value;return v&&is(v[1],i)&&(u||is(v[0],s))}))&&m.next().done}var v=!1;if(void 0===i.size)if(void 0===s.size)"function"==typeof i.cacheResult&&i.cacheResult();else{v=!0;var _=i;i=s,s=_}var j=!0,M=s.__iterate((function(s,m){if(u?!i.has(s):v?!is(s,i.get(m,W)):!is(i.get(m,W),s))return j=!1,!1}));return j&&i.size===M}function Repeat(i,s){if(!(this instanceof Repeat))return new Repeat(i,s);if(this._value=i,this.size=void 0===s?1/0:Math.max(0,s),0===this.size){if(de)return de;de=this}}function invariant(i,s){if(!i)throw new Error(s)}function Range(i,s,u){if(!(this instanceof Range))return new Range(i,s,u);if(invariant(0!==u,"Cannot step a Range by 0"),i=i||0,void 0===s&&(s=1/0),u=void 0===u?1:Math.abs(u),sm?iteratorDone():iteratorValue(i,v,u[s?m-v++:v++])}))},createClass(ObjectSeq,KeyedSeq),ObjectSeq.prototype.get=function(i,s){return void 0===s||this.has(i)?this._object[i]:s},ObjectSeq.prototype.has=function(i){return this._object.hasOwnProperty(i)},ObjectSeq.prototype.__iterate=function(i,s){for(var u=this._object,m=this._keys,v=m.length-1,_=0;_<=v;_++){var j=m[s?v-_:_];if(!1===i(u[j],j,this))return _+1}return _},ObjectSeq.prototype.__iterator=function(i,s){var u=this._object,m=this._keys,v=m.length-1,_=0;return new Iterator((function(){var j=m[s?v-_:_];return _++>v?iteratorDone():iteratorValue(i,j,u[j])}))},ObjectSeq.prototype[v]=!0,createClass(IterableSeq,IndexedSeq),IterableSeq.prototype.__iterateUncached=function(i,s){if(s)return this.cacheResult().__iterate(i,s);var u=getIterator(this._iterable),m=0;if(isIterator(u))for(var v;!(v=u.next()).done&&!1!==i(v.value,m++,this););return m},IterableSeq.prototype.__iteratorUncached=function(i,s){if(s)return this.cacheResult().__iterator(i,s);var u=getIterator(this._iterable);if(!isIterator(u))return new Iterator(iteratorDone);var m=0;return new Iterator((function(){var s=u.next();return s.done?s:iteratorValue(i,m++,s.value)}))},createClass(IteratorSeq,IndexedSeq),IteratorSeq.prototype.__iterateUncached=function(i,s){if(s)return this.cacheResult().__iterate(i,s);for(var u,m=this._iterator,v=this._iteratorCache,_=0;_=m.length){var s=u.next();if(s.done)return s;m[v]=s.value}return iteratorValue(i,v,m[v++])}))},createClass(Repeat,IndexedSeq),Repeat.prototype.toString=function(){return 0===this.size?"Repeat []":"Repeat [ "+this._value+" "+this.size+" times ]"},Repeat.prototype.get=function(i,s){return this.has(i)?this._value:s},Repeat.prototype.includes=function(i){return is(this._value,i)},Repeat.prototype.slice=function(i,s){var u=this.size;return wholeSlice(i,s,u)?this:new Repeat(this._value,resolveEnd(s,u)-resolveBegin(i,u))},Repeat.prototype.reverse=function(){return this},Repeat.prototype.indexOf=function(i){return is(this._value,i)?0:-1},Repeat.prototype.lastIndexOf=function(i){return is(this._value,i)?this.size:-1},Repeat.prototype.__iterate=function(i,s){for(var u=0;u=0&&s=0&&uu?iteratorDone():iteratorValue(i,_++,j)}))},Range.prototype.equals=function(i){return i instanceof Range?this._start===i._start&&this._end===i._end&&this._step===i._step:deepEqual(this,i)},createClass(Collection,Iterable),createClass(KeyedCollection,Collection),createClass(IndexedCollection,Collection),createClass(SetCollection,Collection),Collection.Keyed=KeyedCollection,Collection.Indexed=IndexedCollection,Collection.Set=SetCollection;var be="function"==typeof Math.imul&&-2===Math.imul(4294967295,2)?Math.imul:function imul(i,s){var u=65535&(i|=0),m=65535&(s|=0);return u*m+((i>>>16)*m+u*(s>>>16)<<16>>>0)|0};function smi(i){return i>>>1&1073741824|3221225471&i}function hash(i){if(!1===i||null==i)return 0;if("function"==typeof i.valueOf&&(!1===(i=i.valueOf())||null==i))return 0;if(!0===i)return 1;var s=typeof i;if("number"===s){if(i!=i||i===1/0)return 0;var u=0|i;for(u!==i&&(u^=4294967295*i);i>4294967295;)u^=i/=4294967295;return smi(u)}if("string"===s)return i.length>Te?cachedHashString(i):hashString(i);if("function"==typeof i.hashCode)return i.hashCode();if("object"===s)return hashJSObj(i);if("function"==typeof i.toString)return hashString(i.toString());throw new Error("Value type "+s+" cannot be hashed.")}function cachedHashString(i){var s=ze[i];return void 0===s&&(s=hashString(i),qe===Re&&(qe=0,ze={}),qe++,ze[i]=s),s}function hashString(i){for(var s=0,u=0;u0)switch(i.nodeType){case 1:return i.uniqueID;case 9:return i.documentElement&&i.documentElement.uniqueID}}var Se,xe="function"==typeof WeakMap;xe&&(Se=new WeakMap);var Ie=0,Pe="__immutablehash__";"function"==typeof Symbol&&(Pe=Symbol(Pe));var Te=16,Re=255,qe=0,ze={};function assertNotInfinite(i){invariant(i!==1/0,"Cannot perform this action with an infinite size.")}function Map(i){return null==i?emptyMap():isMap(i)&&!isOrdered(i)?i:emptyMap().withMutations((function(s){var u=KeyedIterable(i);assertNotInfinite(u.size),u.forEach((function(i,u){return s.set(u,i)}))}))}function isMap(i){return!(!i||!i[We])}createClass(Map,KeyedCollection),Map.of=function(){var s=i.call(arguments,0);return emptyMap().withMutations((function(i){for(var u=0;u=s.length)throw new Error("Missing value for key: "+s[u]);i.set(s[u],s[u+1])}}))},Map.prototype.toString=function(){return this.__toString("Map {","}")},Map.prototype.get=function(i,s){return this._root?this._root.get(0,void 0,i,s):s},Map.prototype.set=function(i,s){return updateMap(this,i,s)},Map.prototype.setIn=function(i,s){return this.updateIn(i,W,(function(){return s}))},Map.prototype.remove=function(i){return updateMap(this,i,W)},Map.prototype.deleteIn=function(i){return this.updateIn(i,(function(){return W}))},Map.prototype.update=function(i,s,u){return 1===arguments.length?i(this):this.updateIn([i],s,u)},Map.prototype.updateIn=function(i,s,u){u||(u=s,s=void 0);var m=updateInDeepMap(this,forceIterator(i),s,u);return m===W?void 0:m},Map.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._root=null,this.__hash=void 0,this.__altered=!0,this):emptyMap()},Map.prototype.merge=function(){return mergeIntoMapWith(this,void 0,arguments)},Map.prototype.mergeWith=function(s){return mergeIntoMapWith(this,s,i.call(arguments,1))},Map.prototype.mergeIn=function(s){var u=i.call(arguments,1);return this.updateIn(s,emptyMap(),(function(i){return"function"==typeof i.merge?i.merge.apply(i,u):u[u.length-1]}))},Map.prototype.mergeDeep=function(){return mergeIntoMapWith(this,deepMerger,arguments)},Map.prototype.mergeDeepWith=function(s){var u=i.call(arguments,1);return mergeIntoMapWith(this,deepMergerWith(s),u)},Map.prototype.mergeDeepIn=function(s){var u=i.call(arguments,1);return this.updateIn(s,emptyMap(),(function(i){return"function"==typeof i.mergeDeep?i.mergeDeep.apply(i,u):u[u.length-1]}))},Map.prototype.sort=function(i){return OrderedMap(sortFactory(this,i))},Map.prototype.sortBy=function(i,s){return OrderedMap(sortFactory(this,s,i))},Map.prototype.withMutations=function(i){var s=this.asMutable();return i(s),s.wasAltered()?s.__ensureOwner(this.__ownerID):this},Map.prototype.asMutable=function(){return this.__ownerID?this:this.__ensureOwner(new OwnerID)},Map.prototype.asImmutable=function(){return this.__ensureOwner()},Map.prototype.wasAltered=function(){return this.__altered},Map.prototype.__iterator=function(i,s){return new MapIterator(this,i,s)},Map.prototype.__iterate=function(i,s){var u=this,m=0;return this._root&&this._root.iterate((function(s){return m++,i(s[1],s[0],u)}),s),m},Map.prototype.__ensureOwner=function(i){return i===this.__ownerID?this:i?makeMap(this.size,this._root,i,this.__hash):(this.__ownerID=i,this.__altered=!1,this)},Map.isMap=isMap;var Ve,We="@@__IMMUTABLE_MAP__@@",He=Map.prototype;function ArrayMapNode(i,s){this.ownerID=i,this.entries=s}function BitmapIndexedNode(i,s,u){this.ownerID=i,this.bitmap=s,this.nodes=u}function HashArrayMapNode(i,s,u){this.ownerID=i,this.count=s,this.nodes=u}function HashCollisionNode(i,s,u){this.ownerID=i,this.keyHash=s,this.entries=u}function ValueNode(i,s,u){this.ownerID=i,this.keyHash=s,this.entry=u}function MapIterator(i,s,u){this._type=s,this._reverse=u,this._stack=i._root&&mapIteratorFrame(i._root)}function mapIteratorValue(i,s){return iteratorValue(i,s[0],s[1])}function mapIteratorFrame(i,s){return{node:i,index:0,__prev:s}}function makeMap(i,s,u,m){var v=Object.create(He);return v.size=i,v._root=s,v.__ownerID=u,v.__hash=m,v.__altered=!1,v}function emptyMap(){return Ve||(Ve=makeMap(0))}function updateMap(i,s,u){var m,v;if(i._root){var _=MakeRef(X),j=MakeRef(Y);if(m=updateNode(i._root,i.__ownerID,0,void 0,s,u,_,j),!j.value)return i;v=i.size+(_.value?u===W?-1:1:0)}else{if(u===W)return i;v=1,m=new ArrayMapNode(i.__ownerID,[[s,u]])}return i.__ownerID?(i.size=v,i._root=m,i.__hash=void 0,i.__altered=!0,i):m?makeMap(v,m):emptyMap()}function updateNode(i,s,u,m,v,_,j,M){return i?i.update(s,u,m,v,_,j,M):_===W?i:(SetRef(M),SetRef(j),new ValueNode(s,m,[v,_]))}function isLeafNode(i){return i.constructor===ValueNode||i.constructor===HashCollisionNode}function mergeIntoNode(i,s,u,m,v){if(i.keyHash===m)return new HashCollisionNode(s,m,[i.entry,v]);var _,M=(0===u?i.keyHash:i.keyHash>>>u)&$,W=(0===u?m:m>>>u)&$;return new BitmapIndexedNode(s,1<>>=1)j[$]=1&u?s[_++]:void 0;return j[m]=v,new HashArrayMapNode(i,_+1,j)}function mergeIntoMapWith(i,s,u){for(var m=[],v=0;v>1&1431655765))+(i>>2&858993459))+(i>>4)&252645135,i+=i>>8,127&(i+=i>>16)}function setIn(i,s,u,m){var v=m?i:arrCopy(i);return v[s]=u,v}function spliceIn(i,s,u,m){var v=i.length+1;if(m&&s+1===v)return i[s]=u,i;for(var _=new Array(v),j=0,M=0;M=Xe)return createNodes(i,$,m,v);var ee=i&&i===this.ownerID,ie=ee?$:arrCopy($);return Z?M?X===Y-1?ie.pop():ie[X]=ie.pop():ie[X]=[m,v]:ie.push([m,v]),ee?(this.entries=ie,this):new ArrayMapNode(i,ie)}},BitmapIndexedNode.prototype.get=function(i,s,u,m){void 0===s&&(s=hash(u));var v=1<<((0===i?s:s>>>i)&$),_=this.bitmap;return 0==(_&v)?m:this.nodes[popCount(_&v-1)].get(i+j,s,u,m)},BitmapIndexedNode.prototype.update=function(i,s,u,m,v,_,M){void 0===u&&(u=hash(m));var X=(0===s?u:u>>>s)&$,Y=1<=Ye)return expandNodes(i,ae,Z,X,ce);if(ee&&!ce&&2===ae.length&&isLeafNode(ae[1^ie]))return ae[1^ie];if(ee&&ce&&1===ae.length&&isLeafNode(ce))return ce;var pe=i&&i===this.ownerID,de=ee?ce?Z:Z^Y:Z|Y,fe=ee?ce?setIn(ae,ie,ce,pe):spliceOut(ae,ie,pe):spliceIn(ae,ie,ce,pe);return pe?(this.bitmap=de,this.nodes=fe,this):new BitmapIndexedNode(i,de,fe)},HashArrayMapNode.prototype.get=function(i,s,u,m){void 0===s&&(s=hash(u));var v=(0===i?s:s>>>i)&$,_=this.nodes[v];return _?_.get(i+j,s,u,m):m},HashArrayMapNode.prototype.update=function(i,s,u,m,v,_,M){void 0===u&&(u=hash(m));var X=(0===s?u:u>>>s)&$,Y=v===W,Z=this.nodes,ee=Z[X];if(Y&&!ee)return this;var ie=updateNode(ee,i,s+j,u,m,v,_,M);if(ie===ee)return this;var ae=this.count;if(ee){if(!ie&&--ae0&&m=0&&i>>s&$;if(m>=this.array.length)return new VNode([],i);var v,_=0===m;if(s>0){var M=this.array[m];if((v=M&&M.removeBefore(i,s-j,u))===M&&_)return this}if(_&&!v)return this;var W=editableVNode(this,i);if(!_)for(var X=0;X>>s&$;if(v>=this.array.length)return this;if(s>0){var _=this.array[v];if((m=_&&_.removeAfter(i,s-j,u))===_&&v===this.array.length-1)return this}var M=editableVNode(this,i);return M.array.splice(v+1),m&&(M.array[v]=m),M};var rt,nt,ot={};function iterateList(i,s){var u=i._origin,m=i._capacity,v=getTailOffset(m),_=i._tail;return iterateNodeOrLeaf(i._root,i._level,0);function iterateNodeOrLeaf(i,s,u){return 0===s?iterateLeaf(i,u):iterateNode(i,s,u)}function iterateLeaf(i,j){var $=j===v?_&&_.array:i&&i.array,W=j>u?0:u-j,X=m-j;return X>M&&(X=M),function(){if(W===X)return ot;var i=s?--X:W++;return $&&$[i]}}function iterateNode(i,v,_){var $,W=i&&i.array,X=_>u?0:u-_>>v,Y=1+(m-_>>v);return Y>M&&(Y=M),function(){for(;;){if($){var i=$();if(i!==ot)return i;$=null}if(X===Y)return ot;var u=s?--Y:X++;$=iterateNodeOrLeaf(W&&W[u],v-j,_+(u<=i.size||s<0)return i.withMutations((function(i){s<0?setListBounds(i,s).set(0,u):setListBounds(i,0,s+1).set(s,u)}));s+=i._origin;var m=i._tail,v=i._root,_=MakeRef(Y);return s>=getTailOffset(i._capacity)?m=updateVNode(m,i.__ownerID,0,s,u,_):v=updateVNode(v,i.__ownerID,i._level,s,u,_),_.value?i.__ownerID?(i._root=v,i._tail=m,i.__hash=void 0,i.__altered=!0,i):makeList(i._origin,i._capacity,i._level,v,m):i}function updateVNode(i,s,u,m,v,_){var M,W=m>>>u&$,X=i&&W0){var Y=i&&i.array[W],Z=updateVNode(Y,s,u-j,m,v,_);return Z===Y?i:((M=editableVNode(i,s)).array[W]=Z,M)}return X&&i.array[W]===v?i:(SetRef(_),M=editableVNode(i,s),void 0===v&&W===M.array.length-1?M.array.pop():M.array[W]=v,M)}function editableVNode(i,s){return s&&i&&s===i.ownerID?i:new VNode(i?i.array.slice():[],s)}function listNodeFor(i,s){if(s>=getTailOffset(i._capacity))return i._tail;if(s<1<0;)u=u.array[s>>>m&$],m-=j;return u}}function setListBounds(i,s,u){void 0!==s&&(s|=0),void 0!==u&&(u|=0);var m=i.__ownerID||new OwnerID,v=i._origin,_=i._capacity,M=v+s,W=void 0===u?_:u<0?_+u:v+u;if(M===v&&W===_)return i;if(M>=W)return i.clear();for(var X=i._level,Y=i._root,Z=0;M+Z<0;)Y=new VNode(Y&&Y.array.length?[void 0,Y]:[],m),Z+=1<<(X+=j);Z&&(M+=Z,v+=Z,W+=Z,_+=Z);for(var ee=getTailOffset(_),ie=getTailOffset(W);ie>=1<ee?new VNode([],m):ae;if(ae&&ie>ee&&M<_&&ae.array.length){for(var ce=Y=editableVNode(Y,m),pe=X;pe>j;pe-=j){var de=ee>>>pe&$;ce=ce.array[de]=editableVNode(ce.array[de],m)}ce.array[ee>>>j&$]=ae}if(W<_&&(le=le&&le.removeAfter(m,0,W)),M>=ie)M-=ie,W-=ie,X=j,Y=null,le=le&&le.removeBefore(m,0,M);else if(M>v||ie>>X&$;if(fe!==ie>>>X&$)break;fe&&(Z+=(1<v&&(Y=Y.removeBefore(m,X,M-Z)),Y&&iev&&(v=M.size),isIterable(j)||(M=M.map((function(i){return fromJS(i)}))),m.push(M)}return v>i.size&&(i=i.setSize(v)),mergeIntoCollectionWith(i,s,m)}function getTailOffset(i){return i>>j<=M&&j.size>=2*_.size?(m=(v=j.filter((function(i,s){return void 0!==i&&$!==s}))).toKeyedSeq().map((function(i){return i[0]})).flip().toMap(),i.__ownerID&&(m.__ownerID=v.__ownerID=i.__ownerID)):(m=_.remove(s),v=$===j.size-1?j.pop():j.set($,void 0))}else if(X){if(u===j.get($)[1])return i;m=_,v=j.set($,[s,u])}else m=_.set(s,j.size),v=j.set(j.size,[s,u]);return i.__ownerID?(i.size=m.size,i._map=m,i._list=v,i.__hash=void 0,i):makeOrderedMap(m,v)}function ToKeyedSequence(i,s){this._iter=i,this._useKeys=s,this.size=i.size}function ToIndexedSequence(i){this._iter=i,this.size=i.size}function ToSetSequence(i){this._iter=i,this.size=i.size}function FromEntriesSequence(i){this._iter=i,this.size=i.size}function flipFactory(i){var s=makeSequence(i);return s._iter=i,s.size=i.size,s.flip=function(){return i},s.reverse=function(){var s=i.reverse.apply(this);return s.flip=function(){return i.reverse()},s},s.has=function(s){return i.includes(s)},s.includes=function(s){return i.has(s)},s.cacheResult=cacheResultThrough,s.__iterateUncached=function(s,u){var m=this;return i.__iterate((function(i,u){return!1!==s(u,i,m)}),u)},s.__iteratorUncached=function(s,u){if(s===ie){var m=i.__iterator(s,u);return new Iterator((function(){var i=m.next();if(!i.done){var s=i.value[0];i.value[0]=i.value[1],i.value[1]=s}return i}))}return i.__iterator(s===ee?Z:ee,u)},s}function mapFactory(i,s,u){var m=makeSequence(i);return m.size=i.size,m.has=function(s){return i.has(s)},m.get=function(m,v){var _=i.get(m,W);return _===W?v:s.call(u,_,m,i)},m.__iterateUncached=function(m,v){var _=this;return i.__iterate((function(i,v,j){return!1!==m(s.call(u,i,v,j),v,_)}),v)},m.__iteratorUncached=function(m,v){var _=i.__iterator(ie,v);return new Iterator((function(){var v=_.next();if(v.done)return v;var j=v.value,M=j[0];return iteratorValue(m,M,s.call(u,j[1],M,i),v)}))},m}function reverseFactory(i,s){var u=makeSequence(i);return u._iter=i,u.size=i.size,u.reverse=function(){return i},i.flip&&(u.flip=function(){var s=flipFactory(i);return s.reverse=function(){return i.flip()},s}),u.get=function(u,m){return i.get(s?u:-1-u,m)},u.has=function(u){return i.has(s?u:-1-u)},u.includes=function(s){return i.includes(s)},u.cacheResult=cacheResultThrough,u.__iterate=function(s,u){var m=this;return i.__iterate((function(i,u){return s(i,u,m)}),!u)},u.__iterator=function(s,u){return i.__iterator(s,!u)},u}function filterFactory(i,s,u,m){var v=makeSequence(i);return m&&(v.has=function(m){var v=i.get(m,W);return v!==W&&!!s.call(u,v,m,i)},v.get=function(m,v){var _=i.get(m,W);return _!==W&&s.call(u,_,m,i)?_:v}),v.__iterateUncached=function(v,_){var j=this,M=0;return i.__iterate((function(i,_,$){if(s.call(u,i,_,$))return M++,v(i,m?_:M-1,j)}),_),M},v.__iteratorUncached=function(v,_){var j=i.__iterator(ie,_),M=0;return new Iterator((function(){for(;;){var _=j.next();if(_.done)return _;var $=_.value,W=$[0],X=$[1];if(s.call(u,X,W,i))return iteratorValue(v,m?W:M++,X,_)}}))},v}function countByFactory(i,s,u){var m=Map().asMutable();return i.__iterate((function(v,_){m.update(s.call(u,v,_,i),0,(function(i){return i+1}))})),m.asImmutable()}function groupByFactory(i,s,u){var m=isKeyed(i),v=(isOrdered(i)?OrderedMap():Map()).asMutable();i.__iterate((function(_,j){v.update(s.call(u,_,j,i),(function(i){return(i=i||[]).push(m?[j,_]:_),i}))}));var _=iterableClass(i);return v.map((function(s){return reify(i,_(s))}))}function sliceFactory(i,s,u,m){var v=i.size;if(void 0!==s&&(s|=0),void 0!==u&&(u===1/0?u=v:u|=0),wholeSlice(s,u,v))return i;var _=resolveBegin(s,v),j=resolveEnd(u,v);if(_!=_||j!=j)return sliceFactory(i.toSeq().cacheResult(),s,u,m);var M,$=j-_;$==$&&(M=$<0?0:$);var W=makeSequence(i);return W.size=0===M?M:i.size&&M||void 0,!m&&isSeq(i)&&M>=0&&(W.get=function(s,u){return(s=wrapIndex(this,s))>=0&&sM)return iteratorDone();var i=v.next();return m||s===ee?i:iteratorValue(s,$-1,s===Z?void 0:i.value[1],i)}))},W}function takeWhileFactory(i,s,u){var m=makeSequence(i);return m.__iterateUncached=function(m,v){var _=this;if(v)return this.cacheResult().__iterate(m,v);var j=0;return i.__iterate((function(i,v,M){return s.call(u,i,v,M)&&++j&&m(i,v,_)})),j},m.__iteratorUncached=function(m,v){var _=this;if(v)return this.cacheResult().__iterator(m,v);var j=i.__iterator(ie,v),M=!0;return new Iterator((function(){if(!M)return iteratorDone();var i=j.next();if(i.done)return i;var v=i.value,$=v[0],W=v[1];return s.call(u,W,$,_)?m===ie?i:iteratorValue(m,$,W,i):(M=!1,iteratorDone())}))},m}function skipWhileFactory(i,s,u,m){var v=makeSequence(i);return v.__iterateUncached=function(v,_){var j=this;if(_)return this.cacheResult().__iterate(v,_);var M=!0,$=0;return i.__iterate((function(i,_,W){if(!M||!(M=s.call(u,i,_,W)))return $++,v(i,m?_:$-1,j)})),$},v.__iteratorUncached=function(v,_){var j=this;if(_)return this.cacheResult().__iterator(v,_);var M=i.__iterator(ie,_),$=!0,W=0;return new Iterator((function(){var i,_,X;do{if((i=M.next()).done)return m||v===ee?i:iteratorValue(v,W++,v===Z?void 0:i.value[1],i);var Y=i.value;_=Y[0],X=Y[1],$&&($=s.call(u,X,_,j))}while($);return v===ie?i:iteratorValue(v,_,X,i)}))},v}function concatFactory(i,s){var u=isKeyed(i),m=[i].concat(s).map((function(i){return isIterable(i)?u&&(i=KeyedIterable(i)):i=u?keyedSeqFromValue(i):indexedSeqFromValue(Array.isArray(i)?i:[i]),i})).filter((function(i){return 0!==i.size}));if(0===m.length)return i;if(1===m.length){var v=m[0];if(v===i||u&&isKeyed(v)||isIndexed(i)&&isIndexed(v))return v}var _=new ArraySeq(m);return u?_=_.toKeyedSeq():isIndexed(i)||(_=_.toSetSeq()),(_=_.flatten(!0)).size=m.reduce((function(i,s){if(void 0!==i){var u=s.size;if(void 0!==u)return i+u}}),0),_}function flattenFactory(i,s,u){var m=makeSequence(i);return m.__iterateUncached=function(m,v){var _=0,j=!1;function flatDeep(i,M){var $=this;i.__iterate((function(i,v){return(!s||M0}function zipWithFactory(i,s,u){var m=makeSequence(i);return m.size=new ArraySeq(u).map((function(i){return i.size})).min(),m.__iterate=function(i,s){for(var u,m=this.__iterator(ee,s),v=0;!(u=m.next()).done&&!1!==i(u.value,v++,this););return v},m.__iteratorUncached=function(i,m){var v=u.map((function(i){return i=Iterable(i),getIterator(m?i.reverse():i)})),_=0,j=!1;return new Iterator((function(){var u;return j||(u=v.map((function(i){return i.next()})),j=u.some((function(i){return i.done}))),j?iteratorDone():iteratorValue(i,_++,s.apply(null,u.map((function(i){return i.value}))))}))},m}function reify(i,s){return isSeq(i)?s:i.constructor(s)}function validateEntry(i){if(i!==Object(i))throw new TypeError("Expected [K, V] tuple: "+i)}function resolveSize(i){return assertNotInfinite(i.size),ensureSize(i)}function iterableClass(i){return isKeyed(i)?KeyedIterable:isIndexed(i)?IndexedIterable:SetIterable}function makeSequence(i){return Object.create((isKeyed(i)?KeyedSeq:isIndexed(i)?IndexedSeq:SetSeq).prototype)}function cacheResultThrough(){return this._iter.cacheResult?(this._iter.cacheResult(),this.size=this._iter.size,this):Seq.prototype.cacheResult.call(this)}function defaultComparator(i,s){return i>s?1:i=0;u--)s={value:arguments[u],next:s};return this.__ownerID?(this.size=i,this._head=s,this.__hash=void 0,this.__altered=!0,this):makeStack(i,s)},Stack.prototype.pushAll=function(i){if(0===(i=IndexedIterable(i)).size)return this;assertNotInfinite(i.size);var s=this.size,u=this._head;return i.reverse().forEach((function(i){s++,u={value:i,next:u}})),this.__ownerID?(this.size=s,this._head=u,this.__hash=void 0,this.__altered=!0,this):makeStack(s,u)},Stack.prototype.pop=function(){return this.slice(1)},Stack.prototype.unshift=function(){return this.push.apply(this,arguments)},Stack.prototype.unshiftAll=function(i){return this.pushAll(i)},Stack.prototype.shift=function(){return this.pop.apply(this,arguments)},Stack.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._head=void 0,this.__hash=void 0,this.__altered=!0,this):emptyStack()},Stack.prototype.slice=function(i,s){if(wholeSlice(i,s,this.size))return this;var u=resolveBegin(i,this.size);if(resolveEnd(s,this.size)!==this.size)return IndexedCollection.prototype.slice.call(this,i,s);for(var m=this.size-u,v=this._head;u--;)v=v.next;return this.__ownerID?(this.size=m,this._head=v,this.__hash=void 0,this.__altered=!0,this):makeStack(m,v)},Stack.prototype.__ensureOwner=function(i){return i===this.__ownerID?this:i?makeStack(this.size,this._head,i,this.__hash):(this.__ownerID=i,this.__altered=!1,this)},Stack.prototype.__iterate=function(i,s){if(s)return this.reverse().__iterate(i);for(var u=0,m=this._head;m&&!1!==i(m.value,u++,this);)m=m.next;return u},Stack.prototype.__iterator=function(i,s){if(s)return this.reverse().__iterator(i);var u=0,m=this._head;return new Iterator((function(){if(m){var s=m.value;return m=m.next,iteratorValue(i,u++,s)}return iteratorDone()}))},Stack.isStack=isStack;var pt,ht="@@__IMMUTABLE_STACK__@@",dt=Stack.prototype;function makeStack(i,s,u,m){var v=Object.create(dt);return v.size=i,v._head=s,v.__ownerID=u,v.__hash=m,v.__altered=!1,v}function emptyStack(){return pt||(pt=makeStack(0))}function mixin(i,s){var keyCopier=function(u){i.prototype[u]=s[u]};return Object.keys(s).forEach(keyCopier),Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(s).forEach(keyCopier),i}dt[ht]=!0,dt.withMutations=He.withMutations,dt.asMutable=He.asMutable,dt.asImmutable=He.asImmutable,dt.wasAltered=He.wasAltered,Iterable.Iterator=Iterator,mixin(Iterable,{toArray:function(){assertNotInfinite(this.size);var i=new Array(this.size||0);return this.valueSeq().__iterate((function(s,u){i[u]=s})),i},toIndexedSeq:function(){return new ToIndexedSequence(this)},toJS:function(){return this.toSeq().map((function(i){return i&&"function"==typeof i.toJS?i.toJS():i})).__toJS()},toJSON:function(){return this.toSeq().map((function(i){return i&&"function"==typeof i.toJSON?i.toJSON():i})).__toJS()},toKeyedSeq:function(){return new ToKeyedSequence(this,!0)},toMap:function(){return Map(this.toKeyedSeq())},toObject:function(){assertNotInfinite(this.size);var i={};return this.__iterate((function(s,u){i[u]=s})),i},toOrderedMap:function(){return OrderedMap(this.toKeyedSeq())},toOrderedSet:function(){return OrderedSet(isKeyed(this)?this.valueSeq():this)},toSet:function(){return Set(isKeyed(this)?this.valueSeq():this)},toSetSeq:function(){return new ToSetSequence(this)},toSeq:function(){return isIndexed(this)?this.toIndexedSeq():isKeyed(this)?this.toKeyedSeq():this.toSetSeq()},toStack:function(){return Stack(isKeyed(this)?this.valueSeq():this)},toList:function(){return List(isKeyed(this)?this.valueSeq():this)},toString:function(){return"[Iterable]"},__toString:function(i,s){return 0===this.size?i+s:i+" "+this.toSeq().map(this.__toStringMapper).join(", ")+" "+s},concat:function(){return reify(this,concatFactory(this,i.call(arguments,0)))},includes:function(i){return this.some((function(s){return is(s,i)}))},entries:function(){return this.__iterator(ie)},every:function(i,s){assertNotInfinite(this.size);var u=!0;return this.__iterate((function(m,v,_){if(!i.call(s,m,v,_))return u=!1,!1})),u},filter:function(i,s){return reify(this,filterFactory(this,i,s,!0))},find:function(i,s,u){var m=this.findEntry(i,s);return m?m[1]:u},forEach:function(i,s){return assertNotInfinite(this.size),this.__iterate(s?i.bind(s):i)},join:function(i){assertNotInfinite(this.size),i=void 0!==i?""+i:",";var s="",u=!0;return this.__iterate((function(m){u?u=!1:s+=i,s+=null!=m?m.toString():""})),s},keys:function(){return this.__iterator(Z)},map:function(i,s){return reify(this,mapFactory(this,i,s))},reduce:function(i,s,u){var m,v;return assertNotInfinite(this.size),arguments.length<2?v=!0:m=s,this.__iterate((function(s,_,j){v?(v=!1,m=s):m=i.call(u,m,s,_,j)})),m},reduceRight:function(i,s,u){var m=this.toKeyedSeq().reverse();return m.reduce.apply(m,arguments)},reverse:function(){return reify(this,reverseFactory(this,!0))},slice:function(i,s){return reify(this,sliceFactory(this,i,s,!0))},some:function(i,s){return!this.every(not(i),s)},sort:function(i){return reify(this,sortFactory(this,i))},values:function(){return this.__iterator(ee)},butLast:function(){return this.slice(0,-1)},isEmpty:function(){return void 0!==this.size?0===this.size:!this.some((function(){return!0}))},count:function(i,s){return ensureSize(i?this.toSeq().filter(i,s):this)},countBy:function(i,s){return countByFactory(this,i,s)},equals:function(i){return deepEqual(this,i)},entrySeq:function(){var i=this;if(i._cache)return new ArraySeq(i._cache);var s=i.toSeq().map(entryMapper).toIndexedSeq();return s.fromEntrySeq=function(){return i.toSeq()},s},filterNot:function(i,s){return this.filter(not(i),s)},findEntry:function(i,s,u){var m=u;return this.__iterate((function(u,v,_){if(i.call(s,u,v,_))return m=[v,u],!1})),m},findKey:function(i,s){var u=this.findEntry(i,s);return u&&u[0]},findLast:function(i,s,u){return this.toKeyedSeq().reverse().find(i,s,u)},findLastEntry:function(i,s,u){return this.toKeyedSeq().reverse().findEntry(i,s,u)},findLastKey:function(i,s){return this.toKeyedSeq().reverse().findKey(i,s)},first:function(){return this.find(returnTrue)},flatMap:function(i,s){return reify(this,flatMapFactory(this,i,s))},flatten:function(i){return reify(this,flattenFactory(this,i,!0))},fromEntrySeq:function(){return new FromEntriesSequence(this)},get:function(i,s){return this.find((function(s,u){return is(u,i)}),void 0,s)},getIn:function(i,s){for(var u,m=this,v=forceIterator(i);!(u=v.next()).done;){var _=u.value;if((m=m&&m.get?m.get(_,W):W)===W)return s}return m},groupBy:function(i,s){return groupByFactory(this,i,s)},has:function(i){return this.get(i,W)!==W},hasIn:function(i){return this.getIn(i,W)!==W},isSubset:function(i){return i="function"==typeof i.includes?i:Iterable(i),this.every((function(s){return i.includes(s)}))},isSuperset:function(i){return(i="function"==typeof i.isSubset?i:Iterable(i)).isSubset(this)},keyOf:function(i){return this.findKey((function(s){return is(s,i)}))},keySeq:function(){return this.toSeq().map(keyMapper).toIndexedSeq()},last:function(){return this.toSeq().reverse().first()},lastKeyOf:function(i){return this.toKeyedSeq().reverse().keyOf(i)},max:function(i){return maxFactory(this,i)},maxBy:function(i,s){return maxFactory(this,s,i)},min:function(i){return maxFactory(this,i?neg(i):defaultNegComparator)},minBy:function(i,s){return maxFactory(this,s?neg(s):defaultNegComparator,i)},rest:function(){return this.slice(1)},skip:function(i){return this.slice(Math.max(0,i))},skipLast:function(i){return reify(this,this.toSeq().reverse().skip(i).reverse())},skipWhile:function(i,s){return reify(this,skipWhileFactory(this,i,s,!0))},skipUntil:function(i,s){return this.skipWhile(not(i),s)},sortBy:function(i,s){return reify(this,sortFactory(this,s,i))},take:function(i){return this.slice(0,Math.max(0,i))},takeLast:function(i){return reify(this,this.toSeq().reverse().take(i).reverse())},takeWhile:function(i,s){return reify(this,takeWhileFactory(this,i,s))},takeUntil:function(i,s){return this.takeWhile(not(i),s)},valueSeq:function(){return this.toIndexedSeq()},hashCode:function(){return this.__hash||(this.__hash=hashIterable(this))}});var mt=Iterable.prototype;mt[s]=!0,mt[ce]=mt.values,mt.__toJS=mt.toArray,mt.__toStringMapper=quoteString,mt.inspect=mt.toSource=function(){return this.toString()},mt.chain=mt.flatMap,mt.contains=mt.includes,mixin(KeyedIterable,{flip:function(){return reify(this,flipFactory(this))},mapEntries:function(i,s){var u=this,m=0;return reify(this,this.toSeq().map((function(v,_){return i.call(s,[_,v],m++,u)})).fromEntrySeq())},mapKeys:function(i,s){var u=this;return reify(this,this.toSeq().flip().map((function(m,v){return i.call(s,m,v,u)})).flip())}});var gt=KeyedIterable.prototype;function keyMapper(i,s){return s}function entryMapper(i,s){return[s,i]}function not(i){return function(){return!i.apply(this,arguments)}}function neg(i){return function(){return-i.apply(this,arguments)}}function quoteString(i){return"string"==typeof i?JSON.stringify(i):String(i)}function defaultZipper(){return arrCopy(arguments)}function defaultNegComparator(i,s){return is?-1:0}function hashIterable(i){if(i.size===1/0)return 0;var s=isOrdered(i),u=isKeyed(i),m=s?1:0;return murmurHashOfSize(i.__iterate(u?s?function(i,s){m=31*m+hashMerge(hash(i),hash(s))|0}:function(i,s){m=m+hashMerge(hash(i),hash(s))|0}:s?function(i){m=31*m+hash(i)|0}:function(i){m=m+hash(i)|0}),m)}function murmurHashOfSize(i,s){return s=be(s,3432918353),s=be(s<<15|s>>>-15,461845907),s=be(s<<13|s>>>-13,5),s=be((s=(s+3864292196|0)^i)^s>>>16,2246822507),s=smi((s=be(s^s>>>13,3266489909))^s>>>16)}function hashMerge(i,s){return i^s+2654435769+(i<<6)+(i>>2)|0}return gt[u]=!0,gt[ce]=mt.entries,gt.__toJS=mt.toObject,gt.__toStringMapper=function(i,s){return JSON.stringify(s)+": "+quoteString(i)},mixin(IndexedIterable,{toKeyedSeq:function(){return new ToKeyedSequence(this,!1)},filter:function(i,s){return reify(this,filterFactory(this,i,s,!1))},findIndex:function(i,s){var u=this.findEntry(i,s);return u?u[0]:-1},indexOf:function(i){var s=this.keyOf(i);return void 0===s?-1:s},lastIndexOf:function(i){var s=this.lastKeyOf(i);return void 0===s?-1:s},reverse:function(){return reify(this,reverseFactory(this,!1))},slice:function(i,s){return reify(this,sliceFactory(this,i,s,!1))},splice:function(i,s){var u=arguments.length;if(s=Math.max(0|s,0),0===u||2===u&&!s)return this;i=resolveBegin(i,i<0?this.count():this.size);var m=this.slice(0,i);return reify(this,1===u?m:m.concat(arrCopy(arguments,2),this.slice(i+s)))},findLastIndex:function(i,s){var u=this.findLastEntry(i,s);return u?u[0]:-1},first:function(){return this.get(0)},flatten:function(i){return reify(this,flattenFactory(this,i,!1))},get:function(i,s){return(i=wrapIndex(this,i))<0||this.size===1/0||void 0!==this.size&&i>this.size?s:this.find((function(s,u){return u===i}),void 0,s)},has:function(i){return(i=wrapIndex(this,i))>=0&&(void 0!==this.size?this.size===1/0||i{"function"==typeof Object.create?i.exports=function inherits(i,s){s&&(i.super_=s,i.prototype=Object.create(s.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}))}:i.exports=function inherits(i,s){if(s){i.super_=s;var TempCtor=function(){};TempCtor.prototype=s.prototype,i.prototype=new TempCtor,i.prototype.constructor=i}}},35823:i=>{i.exports=function(i,s,u,m){var v=new Blob(void 0!==m?[m,i]:[i],{type:u||"application/octet-stream"});if(void 0!==window.navigator.msSaveBlob)window.navigator.msSaveBlob(v,s);else{var _=window.URL&&window.URL.createObjectURL?window.URL.createObjectURL(v):window.webkitURL.createObjectURL(v),j=document.createElement("a");j.style.display="none",j.href=_,j.setAttribute("download",s),void 0===j.download&&j.setAttribute("target","_blank"),document.body.appendChild(j),j.click(),setTimeout((function(){document.body.removeChild(j),window.URL.revokeObjectURL(_)}),200)}}},91296:(i,s,u)=>{var m=NaN,v="[object Symbol]",_=/^\s+|\s+$/g,j=/^[-+]0x[0-9a-f]+$/i,M=/^0b[01]+$/i,$=/^0o[0-7]+$/i,W=parseInt,X="object"==typeof u.g&&u.g&&u.g.Object===Object&&u.g,Y="object"==typeof self&&self&&self.Object===Object&&self,Z=X||Y||Function("return this")(),ee=Object.prototype.toString,ie=Math.max,ae=Math.min,now=function(){return Z.Date.now()};function isObject(i){var s=typeof i;return!!i&&("object"==s||"function"==s)}function toNumber(i){if("number"==typeof i)return i;if(function isSymbol(i){return"symbol"==typeof i||function isObjectLike(i){return!!i&&"object"==typeof i}(i)&&ee.call(i)==v}(i))return m;if(isObject(i)){var s="function"==typeof i.valueOf?i.valueOf():i;i=isObject(s)?s+"":s}if("string"!=typeof i)return 0===i?i:+i;i=i.replace(_,"");var u=M.test(i);return u||$.test(i)?W(i.slice(2),u?2:8):j.test(i)?m:+i}i.exports=function debounce(i,s,u){var m,v,_,j,M,$,W=0,X=!1,Y=!1,Z=!0;if("function"!=typeof i)throw new TypeError("Expected a function");function invokeFunc(s){var u=m,_=v;return m=v=void 0,W=s,j=i.apply(_,u)}function shouldInvoke(i){var u=i-$;return void 0===$||u>=s||u<0||Y&&i-W>=_}function timerExpired(){var i=now();if(shouldInvoke(i))return trailingEdge(i);M=setTimeout(timerExpired,function remainingWait(i){var u=s-(i-$);return Y?ae(u,_-(i-W)):u}(i))}function trailingEdge(i){return M=void 0,Z&&m?invokeFunc(i):(m=v=void 0,j)}function debounced(){var i=now(),u=shouldInvoke(i);if(m=arguments,v=this,$=i,u){if(void 0===M)return function leadingEdge(i){return W=i,M=setTimeout(timerExpired,s),X?invokeFunc(i):j}($);if(Y)return M=setTimeout(timerExpired,s),invokeFunc($)}return void 0===M&&(M=setTimeout(timerExpired,s)),j}return s=toNumber(s)||0,isObject(u)&&(X=!!u.leading,_=(Y="maxWait"in u)?ie(toNumber(u.maxWait)||0,s):_,Z="trailing"in u?!!u.trailing:Z),debounced.cancel=function cancel(){void 0!==M&&clearTimeout(M),W=0,m=$=v=M=void 0},debounced.flush=function flush(){return void 0===M?j:trailingEdge(now())},debounced}},18552:(i,s,u)=>{var m=u(10852)(u(55639),"DataView");i.exports=m},1989:(i,s,u)=>{var m=u(51789),v=u(80401),_=u(57667),j=u(21327),M=u(81866);function Hash(i){var s=-1,u=null==i?0:i.length;for(this.clear();++s{var m=u(3118),v=u(9435);function LazyWrapper(i){this.__wrapped__=i,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=4294967295,this.__views__=[]}LazyWrapper.prototype=m(v.prototype),LazyWrapper.prototype.constructor=LazyWrapper,i.exports=LazyWrapper},38407:(i,s,u)=>{var m=u(27040),v=u(14125),_=u(82117),j=u(67518),M=u(54705);function ListCache(i){var s=-1,u=null==i?0:i.length;for(this.clear();++s{var m=u(3118),v=u(9435);function LodashWrapper(i,s){this.__wrapped__=i,this.__actions__=[],this.__chain__=!!s,this.__index__=0,this.__values__=void 0}LodashWrapper.prototype=m(v.prototype),LodashWrapper.prototype.constructor=LodashWrapper,i.exports=LodashWrapper},57071:(i,s,u)=>{var m=u(10852)(u(55639),"Map");i.exports=m},83369:(i,s,u)=>{var m=u(24785),v=u(11285),_=u(96e3),j=u(49916),M=u(95265);function MapCache(i){var s=-1,u=null==i?0:i.length;for(this.clear();++s{var m=u(10852)(u(55639),"Promise");i.exports=m},58525:(i,s,u)=>{var m=u(10852)(u(55639),"Set");i.exports=m},88668:(i,s,u)=>{var m=u(83369),v=u(90619),_=u(72385);function SetCache(i){var s=-1,u=null==i?0:i.length;for(this.__data__=new m;++s{var m=u(38407),v=u(37465),_=u(63779),j=u(67599),M=u(44758),$=u(34309);function Stack(i){var s=this.__data__=new m(i);this.size=s.size}Stack.prototype.clear=v,Stack.prototype.delete=_,Stack.prototype.get=j,Stack.prototype.has=M,Stack.prototype.set=$,i.exports=Stack},62705:(i,s,u)=>{var m=u(55639).Symbol;i.exports=m},11149:(i,s,u)=>{var m=u(55639).Uint8Array;i.exports=m},70577:(i,s,u)=>{var m=u(10852)(u(55639),"WeakMap");i.exports=m},96874:i=>{i.exports=function apply(i,s,u){switch(u.length){case 0:return i.call(s);case 1:return i.call(s,u[0]);case 2:return i.call(s,u[0],u[1]);case 3:return i.call(s,u[0],u[1],u[2])}return i.apply(s,u)}},77412:i=>{i.exports=function arrayEach(i,s){for(var u=-1,m=null==i?0:i.length;++u{i.exports=function arrayFilter(i,s){for(var u=-1,m=null==i?0:i.length,v=0,_=[];++u{var m=u(42118);i.exports=function arrayIncludes(i,s){return!!(null==i?0:i.length)&&m(i,s,0)>-1}},14636:(i,s,u)=>{var m=u(22545),v=u(35694),_=u(1469),j=u(44144),M=u(65776),$=u(36719),W=Object.prototype.hasOwnProperty;i.exports=function arrayLikeKeys(i,s){var u=_(i),X=!u&&v(i),Y=!u&&!X&&j(i),Z=!u&&!X&&!Y&&$(i),ee=u||X||Y||Z,ie=ee?m(i.length,String):[],ae=ie.length;for(var le in i)!s&&!W.call(i,le)||ee&&("length"==le||Y&&("offset"==le||"parent"==le)||Z&&("buffer"==le||"byteLength"==le||"byteOffset"==le)||M(le,ae))||ie.push(le);return ie}},29932:i=>{i.exports=function arrayMap(i,s){for(var u=-1,m=null==i?0:i.length,v=Array(m);++u{i.exports=function arrayPush(i,s){for(var u=-1,m=s.length,v=i.length;++u{i.exports=function arrayReduce(i,s,u,m){var v=-1,_=null==i?0:i.length;for(m&&_&&(u=i[++v]);++v<_;)u=s(u,i[v],v,i);return u}},82908:i=>{i.exports=function arraySome(i,s){for(var u=-1,m=null==i?0:i.length;++u{i.exports=function asciiToArray(i){return i.split("")}},49029:i=>{var s=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;i.exports=function asciiWords(i){return i.match(s)||[]}},86556:(i,s,u)=>{var m=u(89465),v=u(77813);i.exports=function assignMergeValue(i,s,u){(void 0!==u&&!v(i[s],u)||void 0===u&&!(s in i))&&m(i,s,u)}},34865:(i,s,u)=>{var m=u(89465),v=u(77813),_=Object.prototype.hasOwnProperty;i.exports=function assignValue(i,s,u){var j=i[s];_.call(i,s)&&v(j,u)&&(void 0!==u||s in i)||m(i,s,u)}},18470:(i,s,u)=>{var m=u(77813);i.exports=function assocIndexOf(i,s){for(var u=i.length;u--;)if(m(i[u][0],s))return u;return-1}},44037:(i,s,u)=>{var m=u(98363),v=u(3674);i.exports=function baseAssign(i,s){return i&&m(s,v(s),i)}},63886:(i,s,u)=>{var m=u(98363),v=u(81704);i.exports=function baseAssignIn(i,s){return i&&m(s,v(s),i)}},89465:(i,s,u)=>{var m=u(38777);i.exports=function baseAssignValue(i,s,u){"__proto__"==s&&m?m(i,s,{configurable:!0,enumerable:!0,value:u,writable:!0}):i[s]=u}},85990:(i,s,u)=>{var m=u(46384),v=u(77412),_=u(34865),j=u(44037),M=u(63886),$=u(64626),W=u(278),X=u(18805),Y=u(1911),Z=u(58234),ee=u(46904),ie=u(64160),ae=u(43824),le=u(29148),ce=u(38517),pe=u(1469),de=u(44144),fe=u(56688),ye=u(13218),be=u(72928),_e=u(3674),we=u(81704),Se="[object Arguments]",xe="[object Function]",Ie="[object Object]",Pe={};Pe[Se]=Pe["[object Array]"]=Pe["[object ArrayBuffer]"]=Pe["[object DataView]"]=Pe["[object Boolean]"]=Pe["[object Date]"]=Pe["[object Float32Array]"]=Pe["[object Float64Array]"]=Pe["[object Int8Array]"]=Pe["[object Int16Array]"]=Pe["[object Int32Array]"]=Pe["[object Map]"]=Pe["[object Number]"]=Pe[Ie]=Pe["[object RegExp]"]=Pe["[object Set]"]=Pe["[object String]"]=Pe["[object Symbol]"]=Pe["[object Uint8Array]"]=Pe["[object Uint8ClampedArray]"]=Pe["[object Uint16Array]"]=Pe["[object Uint32Array]"]=!0,Pe["[object Error]"]=Pe[xe]=Pe["[object WeakMap]"]=!1,i.exports=function baseClone(i,s,u,Te,Re,qe){var ze,Ve=1&s,We=2&s,He=4&s;if(u&&(ze=Re?u(i,Te,Re,qe):u(i)),void 0!==ze)return ze;if(!ye(i))return i;var Xe=pe(i);if(Xe){if(ze=ae(i),!Ve)return W(i,ze)}else{var Ye=ie(i),Qe=Ye==xe||"[object GeneratorFunction]"==Ye;if(de(i))return $(i,Ve);if(Ye==Ie||Ye==Se||Qe&&!Re){if(ze=We||Qe?{}:ce(i),!Ve)return We?Y(i,M(ze,i)):X(i,j(ze,i))}else{if(!Pe[Ye])return Re?i:{};ze=le(i,Ye,Ve)}}qe||(qe=new m);var et=qe.get(i);if(et)return et;qe.set(i,ze),be(i)?i.forEach((function(m){ze.add(baseClone(m,s,u,m,i,qe))})):fe(i)&&i.forEach((function(m,v){ze.set(v,baseClone(m,s,u,v,i,qe))}));var tt=Xe?void 0:(He?We?ee:Z:We?we:_e)(i);return v(tt||i,(function(m,v){tt&&(m=i[v=m]),_(ze,v,baseClone(m,s,u,v,i,qe))})),ze}},3118:(i,s,u)=>{var m=u(13218),v=Object.create,_=function(){function object(){}return function(i){if(!m(i))return{};if(v)return v(i);object.prototype=i;var s=new object;return object.prototype=void 0,s}}();i.exports=_},89881:(i,s,u)=>{var m=u(47816),v=u(99291)(m);i.exports=v},41848:i=>{i.exports=function baseFindIndex(i,s,u,m){for(var v=i.length,_=u+(m?1:-1);m?_--:++_{var m=u(62488),v=u(37285);i.exports=function baseFlatten(i,s,u,_,j){var M=-1,$=i.length;for(u||(u=v),j||(j=[]);++M<$;){var W=i[M];s>0&&u(W)?s>1?baseFlatten(W,s-1,u,_,j):m(j,W):_||(j[j.length]=W)}return j}},28483:(i,s,u)=>{var m=u(25063)();i.exports=m},47816:(i,s,u)=>{var m=u(28483),v=u(3674);i.exports=function baseForOwn(i,s){return i&&m(i,s,v)}},97786:(i,s,u)=>{var m=u(71811),v=u(40327);i.exports=function baseGet(i,s){for(var u=0,_=(s=m(s,i)).length;null!=i&&u<_;)i=i[v(s[u++])];return u&&u==_?i:void 0}},68866:(i,s,u)=>{var m=u(62488),v=u(1469);i.exports=function baseGetAllKeys(i,s,u){var _=s(i);return v(i)?_:m(_,u(i))}},44239:(i,s,u)=>{var m=u(62705),v=u(89607),_=u(2333),j=m?m.toStringTag:void 0;i.exports=function baseGetTag(i){return null==i?void 0===i?"[object Undefined]":"[object Null]":j&&j in Object(i)?v(i):_(i)}},13:i=>{i.exports=function baseHasIn(i,s){return null!=i&&s in Object(i)}},42118:(i,s,u)=>{var m=u(41848),v=u(62722),_=u(42351);i.exports=function baseIndexOf(i,s,u){return s==s?_(i,s,u):m(i,v,u)}},9454:(i,s,u)=>{var m=u(44239),v=u(37005);i.exports=function baseIsArguments(i){return v(i)&&"[object Arguments]"==m(i)}},90939:(i,s,u)=>{var m=u(2492),v=u(37005);i.exports=function baseIsEqual(i,s,u,_,j){return i===s||(null==i||null==s||!v(i)&&!v(s)?i!=i&&s!=s:m(i,s,u,_,baseIsEqual,j))}},2492:(i,s,u)=>{var m=u(46384),v=u(67114),_=u(18351),j=u(16096),M=u(64160),$=u(1469),W=u(44144),X=u(36719),Y="[object Arguments]",Z="[object Array]",ee="[object Object]",ie=Object.prototype.hasOwnProperty;i.exports=function baseIsEqualDeep(i,s,u,ae,le,ce){var pe=$(i),de=$(s),fe=pe?Z:M(i),ye=de?Z:M(s),be=(fe=fe==Y?ee:fe)==ee,_e=(ye=ye==Y?ee:ye)==ee,we=fe==ye;if(we&&W(i)){if(!W(s))return!1;pe=!0,be=!1}if(we&&!be)return ce||(ce=new m),pe||X(i)?v(i,s,u,ae,le,ce):_(i,s,fe,u,ae,le,ce);if(!(1&u)){var Se=be&&ie.call(i,"__wrapped__"),xe=_e&&ie.call(s,"__wrapped__");if(Se||xe){var Ie=Se?i.value():i,Pe=xe?s.value():s;return ce||(ce=new m),le(Ie,Pe,u,ae,ce)}}return!!we&&(ce||(ce=new m),j(i,s,u,ae,le,ce))}},25588:(i,s,u)=>{var m=u(64160),v=u(37005);i.exports=function baseIsMap(i){return v(i)&&"[object Map]"==m(i)}},2958:(i,s,u)=>{var m=u(46384),v=u(90939);i.exports=function baseIsMatch(i,s,u,_){var j=u.length,M=j,$=!_;if(null==i)return!M;for(i=Object(i);j--;){var W=u[j];if($&&W[2]?W[1]!==i[W[0]]:!(W[0]in i))return!1}for(;++j{i.exports=function baseIsNaN(i){return i!=i}},28458:(i,s,u)=>{var m=u(23560),v=u(15346),_=u(13218),j=u(80346),M=/^\[object .+?Constructor\]$/,$=Function.prototype,W=Object.prototype,X=$.toString,Y=W.hasOwnProperty,Z=RegExp("^"+X.call(Y).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");i.exports=function baseIsNative(i){return!(!_(i)||v(i))&&(m(i)?Z:M).test(j(i))}},29221:(i,s,u)=>{var m=u(64160),v=u(37005);i.exports=function baseIsSet(i){return v(i)&&"[object Set]"==m(i)}},38749:(i,s,u)=>{var m=u(44239),v=u(41780),_=u(37005),j={};j["[object Float32Array]"]=j["[object Float64Array]"]=j["[object Int8Array]"]=j["[object Int16Array]"]=j["[object Int32Array]"]=j["[object Uint8Array]"]=j["[object Uint8ClampedArray]"]=j["[object Uint16Array]"]=j["[object Uint32Array]"]=!0,j["[object Arguments]"]=j["[object Array]"]=j["[object ArrayBuffer]"]=j["[object Boolean]"]=j["[object DataView]"]=j["[object Date]"]=j["[object Error]"]=j["[object Function]"]=j["[object Map]"]=j["[object Number]"]=j["[object Object]"]=j["[object RegExp]"]=j["[object Set]"]=j["[object String]"]=j["[object WeakMap]"]=!1,i.exports=function baseIsTypedArray(i){return _(i)&&v(i.length)&&!!j[m(i)]}},67206:(i,s,u)=>{var m=u(91573),v=u(16432),_=u(6557),j=u(1469),M=u(39601);i.exports=function baseIteratee(i){return"function"==typeof i?i:null==i?_:"object"==typeof i?j(i)?v(i[0],i[1]):m(i):M(i)}},280:(i,s,u)=>{var m=u(25726),v=u(86916),_=Object.prototype.hasOwnProperty;i.exports=function baseKeys(i){if(!m(i))return v(i);var s=[];for(var u in Object(i))_.call(i,u)&&"constructor"!=u&&s.push(u);return s}},10313:(i,s,u)=>{var m=u(13218),v=u(25726),_=u(33498),j=Object.prototype.hasOwnProperty;i.exports=function baseKeysIn(i){if(!m(i))return _(i);var s=v(i),u=[];for(var M in i)("constructor"!=M||!s&&j.call(i,M))&&u.push(M);return u}},9435:i=>{i.exports=function baseLodash(){}},91573:(i,s,u)=>{var m=u(2958),v=u(1499),_=u(42634);i.exports=function baseMatches(i){var s=v(i);return 1==s.length&&s[0][2]?_(s[0][0],s[0][1]):function(u){return u===i||m(u,i,s)}}},16432:(i,s,u)=>{var m=u(90939),v=u(27361),_=u(79095),j=u(15403),M=u(89162),$=u(42634),W=u(40327);i.exports=function baseMatchesProperty(i,s){return j(i)&&M(s)?$(W(i),s):function(u){var j=v(u,i);return void 0===j&&j===s?_(u,i):m(s,j,3)}}},42980:(i,s,u)=>{var m=u(46384),v=u(86556),_=u(28483),j=u(59783),M=u(13218),$=u(81704),W=u(36390);i.exports=function baseMerge(i,s,u,X,Y){i!==s&&_(s,(function(_,$){if(Y||(Y=new m),M(_))j(i,s,$,u,baseMerge,X,Y);else{var Z=X?X(W(i,$),_,$+"",i,s,Y):void 0;void 0===Z&&(Z=_),v(i,$,Z)}}),$)}},59783:(i,s,u)=>{var m=u(86556),v=u(64626),_=u(77133),j=u(278),M=u(38517),$=u(35694),W=u(1469),X=u(29246),Y=u(44144),Z=u(23560),ee=u(13218),ie=u(68630),ae=u(36719),le=u(36390),ce=u(59881);i.exports=function baseMergeDeep(i,s,u,pe,de,fe,ye){var be=le(i,u),_e=le(s,u),we=ye.get(_e);if(we)m(i,u,we);else{var Se=fe?fe(be,_e,u+"",i,s,ye):void 0,xe=void 0===Se;if(xe){var Ie=W(_e),Pe=!Ie&&Y(_e),Te=!Ie&&!Pe&&ae(_e);Se=_e,Ie||Pe||Te?W(be)?Se=be:X(be)?Se=j(be):Pe?(xe=!1,Se=v(_e,!0)):Te?(xe=!1,Se=_(_e,!0)):Se=[]:ie(_e)||$(_e)?(Se=be,$(be)?Se=ce(be):ee(be)&&!Z(be)||(Se=M(_e))):xe=!1}xe&&(ye.set(_e,Se),de(Se,_e,pe,fe,ye),ye.delete(_e)),m(i,u,Se)}}},40371:i=>{i.exports=function baseProperty(i){return function(s){return null==s?void 0:s[i]}}},79152:(i,s,u)=>{var m=u(97786);i.exports=function basePropertyDeep(i){return function(s){return m(s,i)}}},18674:i=>{i.exports=function basePropertyOf(i){return function(s){return null==i?void 0:i[s]}}},10107:i=>{i.exports=function baseReduce(i,s,u,m,v){return v(i,(function(i,v,_){u=m?(m=!1,i):s(u,i,v,_)})),u}},5976:(i,s,u)=>{var m=u(6557),v=u(45357),_=u(30061);i.exports=function baseRest(i,s){return _(v(i,s,m),i+"")}},10611:(i,s,u)=>{var m=u(34865),v=u(71811),_=u(65776),j=u(13218),M=u(40327);i.exports=function baseSet(i,s,u,$){if(!j(i))return i;for(var W=-1,X=(s=v(s,i)).length,Y=X-1,Z=i;null!=Z&&++W{var m=u(6557),v=u(89250),_=v?function(i,s){return v.set(i,s),i}:m;i.exports=_},56560:(i,s,u)=>{var m=u(75703),v=u(38777),_=u(6557),j=v?function(i,s){return v(i,"toString",{configurable:!0,enumerable:!1,value:m(s),writable:!0})}:_;i.exports=j},14259:i=>{i.exports=function baseSlice(i,s,u){var m=-1,v=i.length;s<0&&(s=-s>v?0:v+s),(u=u>v?v:u)<0&&(u+=v),v=s>u?0:u-s>>>0,s>>>=0;for(var _=Array(v);++m{var m=u(89881);i.exports=function baseSome(i,s){var u;return m(i,(function(i,m,v){return!(u=s(i,m,v))})),!!u}},22545:i=>{i.exports=function baseTimes(i,s){for(var u=-1,m=Array(i);++u{var m=u(62705),v=u(29932),_=u(1469),j=u(33448),M=m?m.prototype:void 0,$=M?M.toString:void 0;i.exports=function baseToString(i){if("string"==typeof i)return i;if(_(i))return v(i,baseToString)+"";if(j(i))return $?$.call(i):"";var s=i+"";return"0"==s&&1/i==-Infinity?"-0":s}},27561:(i,s,u)=>{var m=u(67990),v=/^\s+/;i.exports=function baseTrim(i){return i?i.slice(0,m(i)+1).replace(v,""):i}},7518:i=>{i.exports=function baseUnary(i){return function(s){return i(s)}}},57406:(i,s,u)=>{var m=u(71811),v=u(10928),_=u(40292),j=u(40327);i.exports=function baseUnset(i,s){return s=m(s,i),null==(i=_(i,s))||delete i[j(v(s))]}},1757:i=>{i.exports=function baseZipObject(i,s,u){for(var m=-1,v=i.length,_=s.length,j={};++m{i.exports=function cacheHas(i,s){return i.has(s)}},71811:(i,s,u)=>{var m=u(1469),v=u(15403),_=u(55514),j=u(79833);i.exports=function castPath(i,s){return m(i)?i:v(i,s)?[i]:_(j(i))}},40180:(i,s,u)=>{var m=u(14259);i.exports=function castSlice(i,s,u){var v=i.length;return u=void 0===u?v:u,!s&&u>=v?i:m(i,s,u)}},74318:(i,s,u)=>{var m=u(11149);i.exports=function cloneArrayBuffer(i){var s=new i.constructor(i.byteLength);return new m(s).set(new m(i)),s}},64626:(i,s,u)=>{i=u.nmd(i);var m=u(55639),v=s&&!s.nodeType&&s,_=v&&i&&!i.nodeType&&i,j=_&&_.exports===v?m.Buffer:void 0,M=j?j.allocUnsafe:void 0;i.exports=function cloneBuffer(i,s){if(s)return i.slice();var u=i.length,m=M?M(u):new i.constructor(u);return i.copy(m),m}},57157:(i,s,u)=>{var m=u(74318);i.exports=function cloneDataView(i,s){var u=s?m(i.buffer):i.buffer;return new i.constructor(u,i.byteOffset,i.byteLength)}},93147:i=>{var s=/\w*$/;i.exports=function cloneRegExp(i){var u=new i.constructor(i.source,s.exec(i));return u.lastIndex=i.lastIndex,u}},40419:(i,s,u)=>{var m=u(62705),v=m?m.prototype:void 0,_=v?v.valueOf:void 0;i.exports=function cloneSymbol(i){return _?Object(_.call(i)):{}}},77133:(i,s,u)=>{var m=u(74318);i.exports=function cloneTypedArray(i,s){var u=s?m(i.buffer):i.buffer;return new i.constructor(u,i.byteOffset,i.length)}},52157:i=>{var s=Math.max;i.exports=function composeArgs(i,u,m,v){for(var _=-1,j=i.length,M=m.length,$=-1,W=u.length,X=s(j-M,0),Y=Array(W+X),Z=!v;++${var s=Math.max;i.exports=function composeArgsRight(i,u,m,v){for(var _=-1,j=i.length,M=-1,$=m.length,W=-1,X=u.length,Y=s(j-$,0),Z=Array(Y+X),ee=!v;++_{i.exports=function copyArray(i,s){var u=-1,m=i.length;for(s||(s=Array(m));++u{var m=u(34865),v=u(89465);i.exports=function copyObject(i,s,u,_){var j=!u;u||(u={});for(var M=-1,$=s.length;++M<$;){var W=s[M],X=_?_(u[W],i[W],W,u,i):void 0;void 0===X&&(X=i[W]),j?v(u,W,X):m(u,W,X)}return u}},18805:(i,s,u)=>{var m=u(98363),v=u(99551);i.exports=function copySymbols(i,s){return m(i,v(i),s)}},1911:(i,s,u)=>{var m=u(98363),v=u(51442);i.exports=function copySymbolsIn(i,s){return m(i,v(i),s)}},14429:(i,s,u)=>{var m=u(55639)["__core-js_shared__"];i.exports=m},97991:i=>{i.exports=function countHolders(i,s){for(var u=i.length,m=0;u--;)i[u]===s&&++m;return m}},21463:(i,s,u)=>{var m=u(5976),v=u(16612);i.exports=function createAssigner(i){return m((function(s,u){var m=-1,_=u.length,j=_>1?u[_-1]:void 0,M=_>2?u[2]:void 0;for(j=i.length>3&&"function"==typeof j?(_--,j):void 0,M&&v(u[0],u[1],M)&&(j=_<3?void 0:j,_=1),s=Object(s);++m<_;){var $=u[m];$&&i(s,$,m,j)}return s}))}},99291:(i,s,u)=>{var m=u(98612);i.exports=function createBaseEach(i,s){return function(u,v){if(null==u)return u;if(!m(u))return i(u,v);for(var _=u.length,j=s?_:-1,M=Object(u);(s?j--:++j<_)&&!1!==v(M[j],j,M););return u}}},25063:i=>{i.exports=function createBaseFor(i){return function(s,u,m){for(var v=-1,_=Object(s),j=m(s),M=j.length;M--;){var $=j[i?M:++v];if(!1===u(_[$],$,_))break}return s}}},22402:(i,s,u)=>{var m=u(71774),v=u(55639);i.exports=function createBind(i,s,u){var _=1&s,j=m(i);return function wrapper(){return(this&&this!==v&&this instanceof wrapper?j:i).apply(_?u:this,arguments)}}},98805:(i,s,u)=>{var m=u(40180),v=u(62689),_=u(83140),j=u(79833);i.exports=function createCaseFirst(i){return function(s){s=j(s);var u=v(s)?_(s):void 0,M=u?u[0]:s.charAt(0),$=u?m(u,1).join(""):s.slice(1);return M[i]()+$}}},35393:(i,s,u)=>{var m=u(62663),v=u(53816),_=u(58748),j=RegExp("['’]","g");i.exports=function createCompounder(i){return function(s){return m(_(v(s).replace(j,"")),i,"")}}},71774:(i,s,u)=>{var m=u(3118),v=u(13218);i.exports=function createCtor(i){return function(){var s=arguments;switch(s.length){case 0:return new i;case 1:return new i(s[0]);case 2:return new i(s[0],s[1]);case 3:return new i(s[0],s[1],s[2]);case 4:return new i(s[0],s[1],s[2],s[3]);case 5:return new i(s[0],s[1],s[2],s[3],s[4]);case 6:return new i(s[0],s[1],s[2],s[3],s[4],s[5]);case 7:return new i(s[0],s[1],s[2],s[3],s[4],s[5],s[6])}var u=m(i.prototype),_=i.apply(u,s);return v(_)?_:u}}},46347:(i,s,u)=>{var m=u(96874),v=u(71774),_=u(86935),j=u(94487),M=u(20893),$=u(46460),W=u(55639);i.exports=function createCurry(i,s,u){var X=v(i);return function wrapper(){for(var v=arguments.length,Y=Array(v),Z=v,ee=M(wrapper);Z--;)Y[Z]=arguments[Z];var ie=v<3&&Y[0]!==ee&&Y[v-1]!==ee?[]:$(Y,ee);return(v-=ie.length){var m=u(67206),v=u(98612),_=u(3674);i.exports=function createFind(i){return function(s,u,j){var M=Object(s);if(!v(s)){var $=m(u,3);s=_(s),u=function(i){return $(M[i],i,M)}}var W=i(s,u,j);return W>-1?M[$?s[W]:W]:void 0}}},86935:(i,s,u)=>{var m=u(52157),v=u(14054),_=u(97991),j=u(71774),M=u(94487),$=u(20893),W=u(90451),X=u(46460),Y=u(55639);i.exports=function createHybrid(i,s,u,Z,ee,ie,ae,le,ce,pe){var de=128&s,fe=1&s,ye=2&s,be=24&s,_e=512&s,we=ye?void 0:j(i);return function wrapper(){for(var Se=arguments.length,xe=Array(Se),Ie=Se;Ie--;)xe[Ie]=arguments[Ie];if(be)var Pe=$(wrapper),Te=_(xe,Pe);if(Z&&(xe=m(xe,Z,ee,be)),ie&&(xe=v(xe,ie,ae,be)),Se-=Te,be&&Se1&&xe.reverse(),de&&ce{var m=u(96874),v=u(71774),_=u(55639);i.exports=function createPartial(i,s,u,j){var M=1&s,$=v(i);return function wrapper(){for(var s=-1,v=arguments.length,W=-1,X=j.length,Y=Array(X+v),Z=this&&this!==_&&this instanceof wrapper?$:i;++W{var m=u(86528),v=u(258),_=u(69255);i.exports=function createRecurry(i,s,u,j,M,$,W,X,Y,Z){var ee=8&s;s|=ee?32:64,4&(s&=~(ee?64:32))||(s&=-4);var ie=[i,s,M,ee?$:void 0,ee?W:void 0,ee?void 0:$,ee?void 0:W,X,Y,Z],ae=u.apply(void 0,ie);return m(i)&&v(ae,ie),ae.placeholder=j,_(ae,i,s)}},97727:(i,s,u)=>{var m=u(28045),v=u(22402),_=u(46347),j=u(86935),M=u(84375),$=u(66833),W=u(63833),X=u(258),Y=u(69255),Z=u(40554),ee=Math.max;i.exports=function createWrap(i,s,u,ie,ae,le,ce,pe){var de=2&s;if(!de&&"function"!=typeof i)throw new TypeError("Expected a function");var fe=ie?ie.length:0;if(fe||(s&=-97,ie=ae=void 0),ce=void 0===ce?ce:ee(Z(ce),0),pe=void 0===pe?pe:Z(pe),fe-=ae?ae.length:0,64&s){var ye=ie,be=ae;ie=ae=void 0}var _e=de?void 0:$(i),we=[i,s,u,ie,ae,ye,be,le,ce,pe];if(_e&&W(we,_e),i=we[0],s=we[1],u=we[2],ie=we[3],ae=we[4],!(pe=we[9]=void 0===we[9]?de?0:i.length:ee(we[9]-fe,0))&&24&s&&(s&=-25),s&&1!=s)Se=8==s||16==s?_(i,s,pe):32!=s&&33!=s||ae.length?j.apply(void 0,we):M(i,s,u,ie);else var Se=v(i,s,u);return Y((_e?m:X)(Se,we),i,s)}},60696:(i,s,u)=>{var m=u(68630);i.exports=function customOmitClone(i){return m(i)?void 0:i}},69389:(i,s,u)=>{var m=u(18674)({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"});i.exports=m},38777:(i,s,u)=>{var m=u(10852),v=function(){try{var i=m(Object,"defineProperty");return i({},"",{}),i}catch(i){}}();i.exports=v},67114:(i,s,u)=>{var m=u(88668),v=u(82908),_=u(74757);i.exports=function equalArrays(i,s,u,j,M,$){var W=1&u,X=i.length,Y=s.length;if(X!=Y&&!(W&&Y>X))return!1;var Z=$.get(i),ee=$.get(s);if(Z&&ee)return Z==s&&ee==i;var ie=-1,ae=!0,le=2&u?new m:void 0;for($.set(i,s),$.set(s,i);++ie{var m=u(62705),v=u(11149),_=u(77813),j=u(67114),M=u(68776),$=u(21814),W=m?m.prototype:void 0,X=W?W.valueOf:void 0;i.exports=function equalByTag(i,s,u,m,W,Y,Z){switch(u){case"[object DataView]":if(i.byteLength!=s.byteLength||i.byteOffset!=s.byteOffset)return!1;i=i.buffer,s=s.buffer;case"[object ArrayBuffer]":return!(i.byteLength!=s.byteLength||!Y(new v(i),new v(s)));case"[object Boolean]":case"[object Date]":case"[object Number]":return _(+i,+s);case"[object Error]":return i.name==s.name&&i.message==s.message;case"[object RegExp]":case"[object String]":return i==s+"";case"[object Map]":var ee=M;case"[object Set]":var ie=1&m;if(ee||(ee=$),i.size!=s.size&&!ie)return!1;var ae=Z.get(i);if(ae)return ae==s;m|=2,Z.set(i,s);var le=j(ee(i),ee(s),m,W,Y,Z);return Z.delete(i),le;case"[object Symbol]":if(X)return X.call(i)==X.call(s)}return!1}},16096:(i,s,u)=>{var m=u(58234),v=Object.prototype.hasOwnProperty;i.exports=function equalObjects(i,s,u,_,j,M){var $=1&u,W=m(i),X=W.length;if(X!=m(s).length&&!$)return!1;for(var Y=X;Y--;){var Z=W[Y];if(!($?Z in s:v.call(s,Z)))return!1}var ee=M.get(i),ie=M.get(s);if(ee&&ie)return ee==s&&ie==i;var ae=!0;M.set(i,s),M.set(s,i);for(var le=$;++Y{var m=u(85564),v=u(45357),_=u(30061);i.exports=function flatRest(i){return _(v(i,void 0,m),i+"")}},31957:(i,s,u)=>{var m="object"==typeof u.g&&u.g&&u.g.Object===Object&&u.g;i.exports=m},58234:(i,s,u)=>{var m=u(68866),v=u(99551),_=u(3674);i.exports=function getAllKeys(i){return m(i,_,v)}},46904:(i,s,u)=>{var m=u(68866),v=u(51442),_=u(81704);i.exports=function getAllKeysIn(i){return m(i,_,v)}},66833:(i,s,u)=>{var m=u(89250),v=u(50308),_=m?function(i){return m.get(i)}:v;i.exports=_},97658:(i,s,u)=>{var m=u(52060),v=Object.prototype.hasOwnProperty;i.exports=function getFuncName(i){for(var s=i.name+"",u=m[s],_=v.call(m,s)?u.length:0;_--;){var j=u[_],M=j.func;if(null==M||M==i)return j.name}return s}},20893:i=>{i.exports=function getHolder(i){return i.placeholder}},45050:(i,s,u)=>{var m=u(37019);i.exports=function getMapData(i,s){var u=i.__data__;return m(s)?u["string"==typeof s?"string":"hash"]:u.map}},1499:(i,s,u)=>{var m=u(89162),v=u(3674);i.exports=function getMatchData(i){for(var s=v(i),u=s.length;u--;){var _=s[u],j=i[_];s[u]=[_,j,m(j)]}return s}},10852:(i,s,u)=>{var m=u(28458),v=u(47801);i.exports=function getNative(i,s){var u=v(i,s);return m(u)?u:void 0}},85924:(i,s,u)=>{var m=u(5569)(Object.getPrototypeOf,Object);i.exports=m},89607:(i,s,u)=>{var m=u(62705),v=Object.prototype,_=v.hasOwnProperty,j=v.toString,M=m?m.toStringTag:void 0;i.exports=function getRawTag(i){var s=_.call(i,M),u=i[M];try{i[M]=void 0;var m=!0}catch(i){}var v=j.call(i);return m&&(s?i[M]=u:delete i[M]),v}},99551:(i,s,u)=>{var m=u(34963),v=u(70479),_=Object.prototype.propertyIsEnumerable,j=Object.getOwnPropertySymbols,M=j?function(i){return null==i?[]:(i=Object(i),m(j(i),(function(s){return _.call(i,s)})))}:v;i.exports=M},51442:(i,s,u)=>{var m=u(62488),v=u(85924),_=u(99551),j=u(70479),M=Object.getOwnPropertySymbols?function(i){for(var s=[];i;)m(s,_(i)),i=v(i);return s}:j;i.exports=M},64160:(i,s,u)=>{var m=u(18552),v=u(57071),_=u(53818),j=u(58525),M=u(70577),$=u(44239),W=u(80346),X="[object Map]",Y="[object Promise]",Z="[object Set]",ee="[object WeakMap]",ie="[object DataView]",ae=W(m),le=W(v),ce=W(_),pe=W(j),de=W(M),fe=$;(m&&fe(new m(new ArrayBuffer(1)))!=ie||v&&fe(new v)!=X||_&&fe(_.resolve())!=Y||j&&fe(new j)!=Z||M&&fe(new M)!=ee)&&(fe=function(i){var s=$(i),u="[object Object]"==s?i.constructor:void 0,m=u?W(u):"";if(m)switch(m){case ae:return ie;case le:return X;case ce:return Y;case pe:return Z;case de:return ee}return s}),i.exports=fe},47801:i=>{i.exports=function getValue(i,s){return null==i?void 0:i[s]}},58775:i=>{var s=/\{\n\/\* \[wrapped with (.+)\] \*/,u=/,? & /;i.exports=function getWrapDetails(i){var m=i.match(s);return m?m[1].split(u):[]}},222:(i,s,u)=>{var m=u(71811),v=u(35694),_=u(1469),j=u(65776),M=u(41780),$=u(40327);i.exports=function hasPath(i,s,u){for(var W=-1,X=(s=m(s,i)).length,Y=!1;++W{var s=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");i.exports=function hasUnicode(i){return s.test(i)}},93157:i=>{var s=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;i.exports=function hasUnicodeWord(i){return s.test(i)}},51789:(i,s,u)=>{var m=u(94536);i.exports=function hashClear(){this.__data__=m?m(null):{},this.size=0}},80401:i=>{i.exports=function hashDelete(i){var s=this.has(i)&&delete this.__data__[i];return this.size-=s?1:0,s}},57667:(i,s,u)=>{var m=u(94536),v=Object.prototype.hasOwnProperty;i.exports=function hashGet(i){var s=this.__data__;if(m){var u=s[i];return"__lodash_hash_undefined__"===u?void 0:u}return v.call(s,i)?s[i]:void 0}},21327:(i,s,u)=>{var m=u(94536),v=Object.prototype.hasOwnProperty;i.exports=function hashHas(i){var s=this.__data__;return m?void 0!==s[i]:v.call(s,i)}},81866:(i,s,u)=>{var m=u(94536);i.exports=function hashSet(i,s){var u=this.__data__;return this.size+=this.has(i)?0:1,u[i]=m&&void 0===s?"__lodash_hash_undefined__":s,this}},43824:i=>{var s=Object.prototype.hasOwnProperty;i.exports=function initCloneArray(i){var u=i.length,m=new i.constructor(u);return u&&"string"==typeof i[0]&&s.call(i,"index")&&(m.index=i.index,m.input=i.input),m}},29148:(i,s,u)=>{var m=u(74318),v=u(57157),_=u(93147),j=u(40419),M=u(77133);i.exports=function initCloneByTag(i,s,u){var $=i.constructor;switch(s){case"[object ArrayBuffer]":return m(i);case"[object Boolean]":case"[object Date]":return new $(+i);case"[object DataView]":return v(i,u);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return M(i,u);case"[object Map]":case"[object Set]":return new $;case"[object Number]":case"[object String]":return new $(i);case"[object RegExp]":return _(i);case"[object Symbol]":return j(i)}}},38517:(i,s,u)=>{var m=u(3118),v=u(85924),_=u(25726);i.exports=function initCloneObject(i){return"function"!=typeof i.constructor||_(i)?{}:m(v(i))}},83112:i=>{var s=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/;i.exports=function insertWrapDetails(i,u){var m=u.length;if(!m)return i;var v=m-1;return u[v]=(m>1?"& ":"")+u[v],u=u.join(m>2?", ":" "),i.replace(s,"{\n/* [wrapped with "+u+"] */\n")}},37285:(i,s,u)=>{var m=u(62705),v=u(35694),_=u(1469),j=m?m.isConcatSpreadable:void 0;i.exports=function isFlattenable(i){return _(i)||v(i)||!!(j&&i&&i[j])}},65776:i=>{var s=/^(?:0|[1-9]\d*)$/;i.exports=function isIndex(i,u){var m=typeof i;return!!(u=null==u?9007199254740991:u)&&("number"==m||"symbol"!=m&&s.test(i))&&i>-1&&i%1==0&&i{var m=u(77813),v=u(98612),_=u(65776),j=u(13218);i.exports=function isIterateeCall(i,s,u){if(!j(u))return!1;var M=typeof s;return!!("number"==M?v(u)&&_(s,u.length):"string"==M&&s in u)&&m(u[s],i)}},15403:(i,s,u)=>{var m=u(1469),v=u(33448),_=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,j=/^\w*$/;i.exports=function isKey(i,s){if(m(i))return!1;var u=typeof i;return!("number"!=u&&"symbol"!=u&&"boolean"!=u&&null!=i&&!v(i))||(j.test(i)||!_.test(i)||null!=s&&i in Object(s))}},37019:i=>{i.exports=function isKeyable(i){var s=typeof i;return"string"==s||"number"==s||"symbol"==s||"boolean"==s?"__proto__"!==i:null===i}},86528:(i,s,u)=>{var m=u(96425),v=u(66833),_=u(97658),j=u(8111);i.exports=function isLaziable(i){var s=_(i),u=j[s];if("function"!=typeof u||!(s in m.prototype))return!1;if(i===u)return!0;var M=v(u);return!!M&&i===M[0]}},15346:(i,s,u)=>{var m,v=u(14429),_=(m=/[^.]+$/.exec(v&&v.keys&&v.keys.IE_PROTO||""))?"Symbol(src)_1."+m:"";i.exports=function isMasked(i){return!!_&&_ in i}},25726:i=>{var s=Object.prototype;i.exports=function isPrototype(i){var u=i&&i.constructor;return i===("function"==typeof u&&u.prototype||s)}},89162:(i,s,u)=>{var m=u(13218);i.exports=function isStrictComparable(i){return i==i&&!m(i)}},27040:i=>{i.exports=function listCacheClear(){this.__data__=[],this.size=0}},14125:(i,s,u)=>{var m=u(18470),v=Array.prototype.splice;i.exports=function listCacheDelete(i){var s=this.__data__,u=m(s,i);return!(u<0)&&(u==s.length-1?s.pop():v.call(s,u,1),--this.size,!0)}},82117:(i,s,u)=>{var m=u(18470);i.exports=function listCacheGet(i){var s=this.__data__,u=m(s,i);return u<0?void 0:s[u][1]}},67518:(i,s,u)=>{var m=u(18470);i.exports=function listCacheHas(i){return m(this.__data__,i)>-1}},54705:(i,s,u)=>{var m=u(18470);i.exports=function listCacheSet(i,s){var u=this.__data__,v=m(u,i);return v<0?(++this.size,u.push([i,s])):u[v][1]=s,this}},24785:(i,s,u)=>{var m=u(1989),v=u(38407),_=u(57071);i.exports=function mapCacheClear(){this.size=0,this.__data__={hash:new m,map:new(_||v),string:new m}}},11285:(i,s,u)=>{var m=u(45050);i.exports=function mapCacheDelete(i){var s=m(this,i).delete(i);return this.size-=s?1:0,s}},96e3:(i,s,u)=>{var m=u(45050);i.exports=function mapCacheGet(i){return m(this,i).get(i)}},49916:(i,s,u)=>{var m=u(45050);i.exports=function mapCacheHas(i){return m(this,i).has(i)}},95265:(i,s,u)=>{var m=u(45050);i.exports=function mapCacheSet(i,s){var u=m(this,i),v=u.size;return u.set(i,s),this.size+=u.size==v?0:1,this}},68776:i=>{i.exports=function mapToArray(i){var s=-1,u=Array(i.size);return i.forEach((function(i,m){u[++s]=[m,i]})),u}},42634:i=>{i.exports=function matchesStrictComparable(i,s){return function(u){return null!=u&&(u[i]===s&&(void 0!==s||i in Object(u)))}}},24523:(i,s,u)=>{var m=u(88306);i.exports=function memoizeCapped(i){var s=m(i,(function(i){return 500===u.size&&u.clear(),i})),u=s.cache;return s}},63833:(i,s,u)=>{var m=u(52157),v=u(14054),_=u(46460),j="__lodash_placeholder__",M=128,$=Math.min;i.exports=function mergeData(i,s){var u=i[1],W=s[1],X=u|W,Y=X<131,Z=W==M&&8==u||W==M&&256==u&&i[7].length<=s[8]||384==W&&s[7].length<=s[8]&&8==u;if(!Y&&!Z)return i;1&W&&(i[2]=s[2],X|=1&u?0:4);var ee=s[3];if(ee){var ie=i[3];i[3]=ie?m(ie,ee,s[4]):ee,i[4]=ie?_(i[3],j):s[4]}return(ee=s[5])&&(ie=i[5],i[5]=ie?v(ie,ee,s[6]):ee,i[6]=ie?_(i[5],j):s[6]),(ee=s[7])&&(i[7]=ee),W&M&&(i[8]=null==i[8]?s[8]:$(i[8],s[8])),null==i[9]&&(i[9]=s[9]),i[0]=s[0],i[1]=X,i}},89250:(i,s,u)=>{var m=u(70577),v=m&&new m;i.exports=v},94536:(i,s,u)=>{var m=u(10852)(Object,"create");i.exports=m},86916:(i,s,u)=>{var m=u(5569)(Object.keys,Object);i.exports=m},33498:i=>{i.exports=function nativeKeysIn(i){var s=[];if(null!=i)for(var u in Object(i))s.push(u);return s}},31167:(i,s,u)=>{i=u.nmd(i);var m=u(31957),v=s&&!s.nodeType&&s,_=v&&i&&!i.nodeType&&i,j=_&&_.exports===v&&m.process,M=function(){try{var i=_&&_.require&&_.require("util").types;return i||j&&j.binding&&j.binding("util")}catch(i){}}();i.exports=M},2333:i=>{var s=Object.prototype.toString;i.exports=function objectToString(i){return s.call(i)}},5569:i=>{i.exports=function overArg(i,s){return function(u){return i(s(u))}}},45357:(i,s,u)=>{var m=u(96874),v=Math.max;i.exports=function overRest(i,s,u){return s=v(void 0===s?i.length-1:s,0),function(){for(var _=arguments,j=-1,M=v(_.length-s,0),$=Array(M);++j{var m=u(97786),v=u(14259);i.exports=function parent(i,s){return s.length<2?i:m(i,v(s,0,-1))}},52060:i=>{i.exports={}},90451:(i,s,u)=>{var m=u(278),v=u(65776),_=Math.min;i.exports=function reorder(i,s){for(var u=i.length,j=_(s.length,u),M=m(i);j--;){var $=s[j];i[j]=v($,u)?M[$]:void 0}return i}},46460:i=>{var s="__lodash_placeholder__";i.exports=function replaceHolders(i,u){for(var m=-1,v=i.length,_=0,j=[];++m{var m=u(31957),v="object"==typeof self&&self&&self.Object===Object&&self,_=m||v||Function("return this")();i.exports=_},36390:i=>{i.exports=function safeGet(i,s){if(("constructor"!==s||"function"!=typeof i[s])&&"__proto__"!=s)return i[s]}},90619:i=>{i.exports=function setCacheAdd(i){return this.__data__.set(i,"__lodash_hash_undefined__"),this}},72385:i=>{i.exports=function setCacheHas(i){return this.__data__.has(i)}},258:(i,s,u)=>{var m=u(28045),v=u(21275)(m);i.exports=v},21814:i=>{i.exports=function setToArray(i){var s=-1,u=Array(i.size);return i.forEach((function(i){u[++s]=i})),u}},30061:(i,s,u)=>{var m=u(56560),v=u(21275)(m);i.exports=v},69255:(i,s,u)=>{var m=u(58775),v=u(83112),_=u(30061),j=u(87241);i.exports=function setWrapToString(i,s,u){var M=s+"";return _(i,v(M,j(m(M),u)))}},21275:i=>{var s=Date.now;i.exports=function shortOut(i){var u=0,m=0;return function(){var v=s(),_=16-(v-m);if(m=v,_>0){if(++u>=800)return arguments[0]}else u=0;return i.apply(void 0,arguments)}}},37465:(i,s,u)=>{var m=u(38407);i.exports=function stackClear(){this.__data__=new m,this.size=0}},63779:i=>{i.exports=function stackDelete(i){var s=this.__data__,u=s.delete(i);return this.size=s.size,u}},67599:i=>{i.exports=function stackGet(i){return this.__data__.get(i)}},44758:i=>{i.exports=function stackHas(i){return this.__data__.has(i)}},34309:(i,s,u)=>{var m=u(38407),v=u(57071),_=u(83369);i.exports=function stackSet(i,s){var u=this.__data__;if(u instanceof m){var j=u.__data__;if(!v||j.length<199)return j.push([i,s]),this.size=++u.size,this;u=this.__data__=new _(j)}return u.set(i,s),this.size=u.size,this}},42351:i=>{i.exports=function strictIndexOf(i,s,u){for(var m=u-1,v=i.length;++m{var m=u(44286),v=u(62689),_=u(676);i.exports=function stringToArray(i){return v(i)?_(i):m(i)}},55514:(i,s,u)=>{var m=u(24523),v=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,_=/\\(\\)?/g,j=m((function(i){var s=[];return 46===i.charCodeAt(0)&&s.push(""),i.replace(v,(function(i,u,m,v){s.push(m?v.replace(_,"$1"):u||i)})),s}));i.exports=j},40327:(i,s,u)=>{var m=u(33448);i.exports=function toKey(i){if("string"==typeof i||m(i))return i;var s=i+"";return"0"==s&&1/i==-Infinity?"-0":s}},80346:i=>{var s=Function.prototype.toString;i.exports=function toSource(i){if(null!=i){try{return s.call(i)}catch(i){}try{return i+""}catch(i){}}return""}},67990:i=>{var s=/\s/;i.exports=function trimmedEndIndex(i){for(var u=i.length;u--&&s.test(i.charAt(u)););return u}},676:i=>{var s="\\ud800-\\udfff",u="["+s+"]",m="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",v="\\ud83c[\\udffb-\\udfff]",_="[^"+s+"]",j="(?:\\ud83c[\\udde6-\\uddff]){2}",M="[\\ud800-\\udbff][\\udc00-\\udfff]",$="(?:"+m+"|"+v+")"+"?",W="[\\ufe0e\\ufe0f]?",X=W+$+("(?:\\u200d(?:"+[_,j,M].join("|")+")"+W+$+")*"),Y="(?:"+[_+m+"?",m,j,M,u].join("|")+")",Z=RegExp(v+"(?="+v+")|"+Y+X,"g");i.exports=function unicodeToArray(i){return i.match(Z)||[]}},2757:i=>{var s="\\ud800-\\udfff",u="\\u2700-\\u27bf",m="a-z\\xdf-\\xf6\\xf8-\\xff",v="A-Z\\xc0-\\xd6\\xd8-\\xde",_="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",j="["+_+"]",M="\\d+",$="["+u+"]",W="["+m+"]",X="[^"+s+_+M+u+m+v+"]",Y="(?:\\ud83c[\\udde6-\\uddff]){2}",Z="[\\ud800-\\udbff][\\udc00-\\udfff]",ee="["+v+"]",ie="(?:"+W+"|"+X+")",ae="(?:"+ee+"|"+X+")",le="(?:['’](?:d|ll|m|re|s|t|ve))?",ce="(?:['’](?:D|LL|M|RE|S|T|VE))?",pe="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?",de="[\\ufe0e\\ufe0f]?",fe=de+pe+("(?:\\u200d(?:"+["[^"+s+"]",Y,Z].join("|")+")"+de+pe+")*"),ye="(?:"+[$,Y,Z].join("|")+")"+fe,be=RegExp([ee+"?"+W+"+"+le+"(?="+[j,ee,"$"].join("|")+")",ae+"+"+ce+"(?="+[j,ee+ie,"$"].join("|")+")",ee+"?"+ie+"+"+le,ee+"+"+ce,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",M,ye].join("|"),"g");i.exports=function unicodeWords(i){return i.match(be)||[]}},87241:(i,s,u)=>{var m=u(77412),v=u(47443),_=[["ary",128],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",32],["partialRight",64],["rearg",256]];i.exports=function updateWrapDetails(i,s){return m(_,(function(u){var m="_."+u[0];s&u[1]&&!v(i,m)&&i.push(m)})),i.sort()}},21913:(i,s,u)=>{var m=u(96425),v=u(7548),_=u(278);i.exports=function wrapperClone(i){if(i instanceof m)return i.clone();var s=new v(i.__wrapped__,i.__chain__);return s.__actions__=_(i.__actions__),s.__index__=i.__index__,s.__values__=i.__values__,s}},39514:(i,s,u)=>{var m=u(97727);i.exports=function ary(i,s,u){return s=u?void 0:s,s=i&&null==s?i.length:s,m(i,128,void 0,void 0,void 0,void 0,s)}},68929:(i,s,u)=>{var m=u(48403),v=u(35393)((function(i,s,u){return s=s.toLowerCase(),i+(u?m(s):s)}));i.exports=v},48403:(i,s,u)=>{var m=u(79833),v=u(11700);i.exports=function capitalize(i){return v(m(i).toLowerCase())}},66678:(i,s,u)=>{var m=u(85990);i.exports=function clone(i){return m(i,4)}},75703:i=>{i.exports=function constant(i){return function(){return i}}},40087:(i,s,u)=>{var m=u(97727);function curry(i,s,u){var v=m(i,8,void 0,void 0,void 0,void 0,void 0,s=u?void 0:s);return v.placeholder=curry.placeholder,v}curry.placeholder={},i.exports=curry},23279:(i,s,u)=>{var m=u(13218),v=u(7771),_=u(14841),j=Math.max,M=Math.min;i.exports=function debounce(i,s,u){var $,W,X,Y,Z,ee,ie=0,ae=!1,le=!1,ce=!0;if("function"!=typeof i)throw new TypeError("Expected a function");function invokeFunc(s){var u=$,m=W;return $=W=void 0,ie=s,Y=i.apply(m,u)}function shouldInvoke(i){var u=i-ee;return void 0===ee||u>=s||u<0||le&&i-ie>=X}function timerExpired(){var i=v();if(shouldInvoke(i))return trailingEdge(i);Z=setTimeout(timerExpired,function remainingWait(i){var u=s-(i-ee);return le?M(u,X-(i-ie)):u}(i))}function trailingEdge(i){return Z=void 0,ce&&$?invokeFunc(i):($=W=void 0,Y)}function debounced(){var i=v(),u=shouldInvoke(i);if($=arguments,W=this,ee=i,u){if(void 0===Z)return function leadingEdge(i){return ie=i,Z=setTimeout(timerExpired,s),ae?invokeFunc(i):Y}(ee);if(le)return clearTimeout(Z),Z=setTimeout(timerExpired,s),invokeFunc(ee)}return void 0===Z&&(Z=setTimeout(timerExpired,s)),Y}return s=_(s)||0,m(u)&&(ae=!!u.leading,X=(le="maxWait"in u)?j(_(u.maxWait)||0,s):X,ce="trailing"in u?!!u.trailing:ce),debounced.cancel=function cancel(){void 0!==Z&&clearTimeout(Z),ie=0,$=ee=W=Z=void 0},debounced.flush=function flush(){return void 0===Z?Y:trailingEdge(v())},debounced}},53816:(i,s,u)=>{var m=u(69389),v=u(79833),_=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,j=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]","g");i.exports=function deburr(i){return(i=v(i))&&i.replace(_,m).replace(j,"")}},77813:i=>{i.exports=function eq(i,s){return i===s||i!=i&&s!=s}},13311:(i,s,u)=>{var m=u(67740)(u(30998));i.exports=m},30998:(i,s,u)=>{var m=u(41848),v=u(67206),_=u(40554),j=Math.max;i.exports=function findIndex(i,s,u){var M=null==i?0:i.length;if(!M)return-1;var $=null==u?0:_(u);return $<0&&($=j(M+$,0)),m(i,v(s,3),$)}},85564:(i,s,u)=>{var m=u(21078);i.exports=function flatten(i){return(null==i?0:i.length)?m(i,1):[]}},84599:(i,s,u)=>{var m=u(68836),v=u(69306),_=Array.prototype.push;function baseAry(i,s){return 2==s?function(s,u){return i(s,u)}:function(s){return i(s)}}function cloneArray(i){for(var s=i?i.length:0,u=Array(s);s--;)u[s]=i[s];return u}function wrapImmutable(i,s){return function(){var u=arguments.length;if(u){for(var m=Array(u);u--;)m[u]=arguments[u];var v=m[0]=s.apply(void 0,m);return i.apply(void 0,m),v}}}i.exports=function baseConvert(i,s,u,j){var M="function"==typeof s,$=s===Object(s);if($&&(j=u,u=s,s=void 0),null==u)throw new TypeError;j||(j={});var W={cap:!("cap"in j)||j.cap,curry:!("curry"in j)||j.curry,fixed:!("fixed"in j)||j.fixed,immutable:!("immutable"in j)||j.immutable,rearg:!("rearg"in j)||j.rearg},X=M?u:v,Y="curry"in j&&j.curry,Z="fixed"in j&&j.fixed,ee="rearg"in j&&j.rearg,ie=M?u.runInContext():void 0,ae=M?u:{ary:i.ary,assign:i.assign,clone:i.clone,curry:i.curry,forEach:i.forEach,isArray:i.isArray,isError:i.isError,isFunction:i.isFunction,isWeakMap:i.isWeakMap,iteratee:i.iteratee,keys:i.keys,rearg:i.rearg,toInteger:i.toInteger,toPath:i.toPath},le=ae.ary,ce=ae.assign,pe=ae.clone,de=ae.curry,fe=ae.forEach,ye=ae.isArray,be=ae.isError,_e=ae.isFunction,we=ae.isWeakMap,Se=ae.keys,xe=ae.rearg,Ie=ae.toInteger,Pe=ae.toPath,Te=Se(m.aryMethod),Re={castArray:function(i){return function(){var s=arguments[0];return ye(s)?i(cloneArray(s)):i.apply(void 0,arguments)}},iteratee:function(i){return function(){var s=arguments[1],u=i(arguments[0],s),m=u.length;return W.cap&&"number"==typeof s?(s=s>2?s-2:1,m&&m<=s?u:baseAry(u,s)):u}},mixin:function(i){return function(s){var u=this;if(!_e(u))return i(u,Object(s));var m=[];return fe(Se(s),(function(i){_e(s[i])&&m.push([i,u.prototype[i]])})),i(u,Object(s)),fe(m,(function(i){var s=i[1];_e(s)?u.prototype[i[0]]=s:delete u.prototype[i[0]]})),u}},nthArg:function(i){return function(s){var u=s<0?1:Ie(s)+1;return de(i(s),u)}},rearg:function(i){return function(s,u){var m=u?u.length:0;return de(i(s,u),m)}},runInContext:function(s){return function(u){return baseConvert(i,s(u),j)}}};function castCap(i,s){if(W.cap){var u=m.iterateeRearg[i];if(u)return function iterateeRearg(i,s){return overArg(i,(function(i){var u=s.length;return function baseArity(i,s){return 2==s?function(s,u){return i.apply(void 0,arguments)}:function(s){return i.apply(void 0,arguments)}}(xe(baseAry(i,u),s),u)}))}(s,u);var v=!M&&m.iterateeAry[i];if(v)return function iterateeAry(i,s){return overArg(i,(function(i){return"function"==typeof i?baseAry(i,s):i}))}(s,v)}return s}function castFixed(i,s,u){if(W.fixed&&(Z||!m.skipFixed[i])){var v=m.methodSpread[i],j=v&&v.start;return void 0===j?le(s,u):function flatSpread(i,s){return function(){for(var u=arguments.length,m=u-1,v=Array(u);u--;)v[u]=arguments[u];var j=v[s],M=v.slice(0,s);return j&&_.apply(M,j),s!=m&&_.apply(M,v.slice(s+1)),i.apply(this,M)}}(s,j)}return s}function castRearg(i,s,u){return W.rearg&&u>1&&(ee||!m.skipRearg[i])?xe(s,m.methodRearg[i]||m.aryRearg[u]):s}function cloneByPath(i,s){for(var u=-1,m=(s=Pe(s)).length,v=m-1,_=pe(Object(i)),j=_;null!=j&&++u1?de(s,u):s}(0,v=castCap(_,v),i),!1}})),!v})),v||(v=j),v==s&&(v=Y?de(v,1):function(){return s.apply(this,arguments)}),v.convert=createConverter(_,s),v.placeholder=s.placeholder=u,v}if(!$)return wrap(s,u,X);var qe=u,ze=[];return fe(Te,(function(i){fe(m.aryMethod[i],(function(i){var s=qe[m.remap[i]||i];s&&ze.push([i,wrap(i,s,qe)])}))})),fe(Se(qe),(function(i){var s=qe[i];if("function"==typeof s){for(var u=ze.length;u--;)if(ze[u][0]==i)return;s.convert=createConverter(i,s),ze.push([i,s])}})),fe(ze,(function(i){qe[i[0]]=i[1]})),qe.convert=function convertLib(i){return qe.runInContext.convert(i)(void 0)},qe.placeholder=qe,fe(Se(qe),(function(i){fe(m.realToAlias[i]||[],(function(s){qe[s]=qe[i]}))})),qe}},68836:(i,s)=>{s.aliasToReal={each:"forEach",eachRight:"forEachRight",entries:"toPairs",entriesIn:"toPairsIn",extend:"assignIn",extendAll:"assignInAll",extendAllWith:"assignInAllWith",extendWith:"assignInWith",first:"head",conforms:"conformsTo",matches:"isMatch",property:"get",__:"placeholder",F:"stubFalse",T:"stubTrue",all:"every",allPass:"overEvery",always:"constant",any:"some",anyPass:"overSome",apply:"spread",assoc:"set",assocPath:"set",complement:"negate",compose:"flowRight",contains:"includes",dissoc:"unset",dissocPath:"unset",dropLast:"dropRight",dropLastWhile:"dropRightWhile",equals:"isEqual",identical:"eq",indexBy:"keyBy",init:"initial",invertObj:"invert",juxt:"over",omitAll:"omit",nAry:"ary",path:"get",pathEq:"matchesProperty",pathOr:"getOr",paths:"at",pickAll:"pick",pipe:"flow",pluck:"map",prop:"get",propEq:"matchesProperty",propOr:"getOr",props:"at",symmetricDifference:"xor",symmetricDifferenceBy:"xorBy",symmetricDifferenceWith:"xorWith",takeLast:"takeRight",takeLastWhile:"takeRightWhile",unapply:"rest",unnest:"flatten",useWith:"overArgs",where:"conformsTo",whereEq:"isMatch",zipObj:"zipObject"},s.aryMethod={1:["assignAll","assignInAll","attempt","castArray","ceil","create","curry","curryRight","defaultsAll","defaultsDeepAll","floor","flow","flowRight","fromPairs","invert","iteratee","memoize","method","mergeAll","methodOf","mixin","nthArg","over","overEvery","overSome","rest","reverse","round","runInContext","spread","template","trim","trimEnd","trimStart","uniqueId","words","zipAll"],2:["add","after","ary","assign","assignAllWith","assignIn","assignInAllWith","at","before","bind","bindAll","bindKey","chunk","cloneDeepWith","cloneWith","concat","conformsTo","countBy","curryN","curryRightN","debounce","defaults","defaultsDeep","defaultTo","delay","difference","divide","drop","dropRight","dropRightWhile","dropWhile","endsWith","eq","every","filter","find","findIndex","findKey","findLast","findLastIndex","findLastKey","flatMap","flatMapDeep","flattenDepth","forEach","forEachRight","forIn","forInRight","forOwn","forOwnRight","get","groupBy","gt","gte","has","hasIn","includes","indexOf","intersection","invertBy","invoke","invokeMap","isEqual","isMatch","join","keyBy","lastIndexOf","lt","lte","map","mapKeys","mapValues","matchesProperty","maxBy","meanBy","merge","mergeAllWith","minBy","multiply","nth","omit","omitBy","overArgs","pad","padEnd","padStart","parseInt","partial","partialRight","partition","pick","pickBy","propertyOf","pull","pullAll","pullAt","random","range","rangeRight","rearg","reject","remove","repeat","restFrom","result","sampleSize","some","sortBy","sortedIndex","sortedIndexOf","sortedLastIndex","sortedLastIndexOf","sortedUniqBy","split","spreadFrom","startsWith","subtract","sumBy","take","takeRight","takeRightWhile","takeWhile","tap","throttle","thru","times","trimChars","trimCharsEnd","trimCharsStart","truncate","union","uniqBy","uniqWith","unset","unzipWith","without","wrap","xor","zip","zipObject","zipObjectDeep"],3:["assignInWith","assignWith","clamp","differenceBy","differenceWith","findFrom","findIndexFrom","findLastFrom","findLastIndexFrom","getOr","includesFrom","indexOfFrom","inRange","intersectionBy","intersectionWith","invokeArgs","invokeArgsMap","isEqualWith","isMatchWith","flatMapDepth","lastIndexOfFrom","mergeWith","orderBy","padChars","padCharsEnd","padCharsStart","pullAllBy","pullAllWith","rangeStep","rangeStepRight","reduce","reduceRight","replace","set","slice","sortedIndexBy","sortedLastIndexBy","transform","unionBy","unionWith","update","xorBy","xorWith","zipWith"],4:["fill","setWith","updateWith"]},s.aryRearg={2:[1,0],3:[2,0,1],4:[3,2,0,1]},s.iterateeAry={dropRightWhile:1,dropWhile:1,every:1,filter:1,find:1,findFrom:1,findIndex:1,findIndexFrom:1,findKey:1,findLast:1,findLastFrom:1,findLastIndex:1,findLastIndexFrom:1,findLastKey:1,flatMap:1,flatMapDeep:1,flatMapDepth:1,forEach:1,forEachRight:1,forIn:1,forInRight:1,forOwn:1,forOwnRight:1,map:1,mapKeys:1,mapValues:1,partition:1,reduce:2,reduceRight:2,reject:1,remove:1,some:1,takeRightWhile:1,takeWhile:1,times:1,transform:2},s.iterateeRearg={mapKeys:[1],reduceRight:[1,0]},s.methodRearg={assignInAllWith:[1,0],assignInWith:[1,2,0],assignAllWith:[1,0],assignWith:[1,2,0],differenceBy:[1,2,0],differenceWith:[1,2,0],getOr:[2,1,0],intersectionBy:[1,2,0],intersectionWith:[1,2,0],isEqualWith:[1,2,0],isMatchWith:[2,1,0],mergeAllWith:[1,0],mergeWith:[1,2,0],padChars:[2,1,0],padCharsEnd:[2,1,0],padCharsStart:[2,1,0],pullAllBy:[2,1,0],pullAllWith:[2,1,0],rangeStep:[1,2,0],rangeStepRight:[1,2,0],setWith:[3,1,2,0],sortedIndexBy:[2,1,0],sortedLastIndexBy:[2,1,0],unionBy:[1,2,0],unionWith:[1,2,0],updateWith:[3,1,2,0],xorBy:[1,2,0],xorWith:[1,2,0],zipWith:[1,2,0]},s.methodSpread={assignAll:{start:0},assignAllWith:{start:0},assignInAll:{start:0},assignInAllWith:{start:0},defaultsAll:{start:0},defaultsDeepAll:{start:0},invokeArgs:{start:2},invokeArgsMap:{start:2},mergeAll:{start:0},mergeAllWith:{start:0},partial:{start:1},partialRight:{start:1},without:{start:1},zipAll:{start:0}},s.mutate={array:{fill:!0,pull:!0,pullAll:!0,pullAllBy:!0,pullAllWith:!0,pullAt:!0,remove:!0,reverse:!0},object:{assign:!0,assignAll:!0,assignAllWith:!0,assignIn:!0,assignInAll:!0,assignInAllWith:!0,assignInWith:!0,assignWith:!0,defaults:!0,defaultsAll:!0,defaultsDeep:!0,defaultsDeepAll:!0,merge:!0,mergeAll:!0,mergeAllWith:!0,mergeWith:!0},set:{set:!0,setWith:!0,unset:!0,update:!0,updateWith:!0}},s.realToAlias=function(){var i=Object.prototype.hasOwnProperty,u=s.aliasToReal,m={};for(var v in u){var _=u[v];i.call(m,_)?m[_].push(v):m[_]=[v]}return m}(),s.remap={assignAll:"assign",assignAllWith:"assignWith",assignInAll:"assignIn",assignInAllWith:"assignInWith",curryN:"curry",curryRightN:"curryRight",defaultsAll:"defaults",defaultsDeepAll:"defaultsDeep",findFrom:"find",findIndexFrom:"findIndex",findLastFrom:"findLast",findLastIndexFrom:"findLastIndex",getOr:"get",includesFrom:"includes",indexOfFrom:"indexOf",invokeArgs:"invoke",invokeArgsMap:"invokeMap",lastIndexOfFrom:"lastIndexOf",mergeAll:"merge",mergeAllWith:"mergeWith",padChars:"pad",padCharsEnd:"padEnd",padCharsStart:"padStart",propertyOf:"get",rangeStep:"range",rangeStepRight:"rangeRight",restFrom:"rest",spreadFrom:"spread",trimChars:"trim",trimCharsEnd:"trimEnd",trimCharsStart:"trimStart",zipAll:"zip"},s.skipFixed={castArray:!0,flow:!0,flowRight:!0,iteratee:!0,mixin:!0,rearg:!0,runInContext:!0},s.skipRearg={add:!0,assign:!0,assignIn:!0,bind:!0,bindKey:!0,concat:!0,difference:!0,divide:!0,eq:!0,gt:!0,gte:!0,isEqual:!0,lt:!0,lte:!0,matchesProperty:!0,merge:!0,multiply:!0,overArgs:!0,partial:!0,partialRight:!0,propertyOf:!0,random:!0,range:!0,rangeRight:!0,subtract:!0,zip:!0,zipObject:!0,zipObjectDeep:!0}},4269:(i,s,u)=>{i.exports={ary:u(39514),assign:u(44037),clone:u(66678),curry:u(40087),forEach:u(77412),isArray:u(1469),isError:u(64647),isFunction:u(23560),isWeakMap:u(81018),iteratee:u(72594),keys:u(280),rearg:u(4963),toInteger:u(40554),toPath:u(30084)}},72700:(i,s,u)=>{i.exports=u(28252)},92822:(i,s,u)=>{var m=u(84599),v=u(4269);i.exports=function convert(i,s,u){return m(v,i,s,u)}},69306:i=>{i.exports={}},28252:(i,s,u)=>{var m=u(92822)("set",u(36968));m.placeholder=u(69306),i.exports=m},27361:(i,s,u)=>{var m=u(97786);i.exports=function get(i,s,u){var v=null==i?void 0:m(i,s);return void 0===v?u:v}},79095:(i,s,u)=>{var m=u(13),v=u(222);i.exports=function hasIn(i,s){return null!=i&&v(i,s,m)}},6557:i=>{i.exports=function identity(i){return i}},35694:(i,s,u)=>{var m=u(9454),v=u(37005),_=Object.prototype,j=_.hasOwnProperty,M=_.propertyIsEnumerable,$=m(function(){return arguments}())?m:function(i){return v(i)&&j.call(i,"callee")&&!M.call(i,"callee")};i.exports=$},1469:i=>{var s=Array.isArray;i.exports=s},98612:(i,s,u)=>{var m=u(23560),v=u(41780);i.exports=function isArrayLike(i){return null!=i&&v(i.length)&&!m(i)}},29246:(i,s,u)=>{var m=u(98612),v=u(37005);i.exports=function isArrayLikeObject(i){return v(i)&&m(i)}},51584:(i,s,u)=>{var m=u(44239),v=u(37005);i.exports=function isBoolean(i){return!0===i||!1===i||v(i)&&"[object Boolean]"==m(i)}},44144:(i,s,u)=>{i=u.nmd(i);var m=u(55639),v=u(95062),_=s&&!s.nodeType&&s,j=_&&i&&!i.nodeType&&i,M=j&&j.exports===_?m.Buffer:void 0,$=(M?M.isBuffer:void 0)||v;i.exports=$},41609:(i,s,u)=>{var m=u(280),v=u(64160),_=u(35694),j=u(1469),M=u(98612),$=u(44144),W=u(25726),X=u(36719),Y=Object.prototype.hasOwnProperty;i.exports=function isEmpty(i){if(null==i)return!0;if(M(i)&&(j(i)||"string"==typeof i||"function"==typeof i.splice||$(i)||X(i)||_(i)))return!i.length;var s=v(i);if("[object Map]"==s||"[object Set]"==s)return!i.size;if(W(i))return!m(i).length;for(var u in i)if(Y.call(i,u))return!1;return!0}},18446:(i,s,u)=>{var m=u(90939);i.exports=function isEqual(i,s){return m(i,s)}},64647:(i,s,u)=>{var m=u(44239),v=u(37005),_=u(68630);i.exports=function isError(i){if(!v(i))return!1;var s=m(i);return"[object Error]"==s||"[object DOMException]"==s||"string"==typeof i.message&&"string"==typeof i.name&&!_(i)}},23560:(i,s,u)=>{var m=u(44239),v=u(13218);i.exports=function isFunction(i){if(!v(i))return!1;var s=m(i);return"[object Function]"==s||"[object GeneratorFunction]"==s||"[object AsyncFunction]"==s||"[object Proxy]"==s}},41780:i=>{i.exports=function isLength(i){return"number"==typeof i&&i>-1&&i%1==0&&i<=9007199254740991}},56688:(i,s,u)=>{var m=u(25588),v=u(7518),_=u(31167),j=_&&_.isMap,M=j?v(j):m;i.exports=M},45220:i=>{i.exports=function isNull(i){return null===i}},81763:(i,s,u)=>{var m=u(44239),v=u(37005);i.exports=function isNumber(i){return"number"==typeof i||v(i)&&"[object Number]"==m(i)}},13218:i=>{i.exports=function isObject(i){var s=typeof i;return null!=i&&("object"==s||"function"==s)}},37005:i=>{i.exports=function isObjectLike(i){return null!=i&&"object"==typeof i}},68630:(i,s,u)=>{var m=u(44239),v=u(85924),_=u(37005),j=Function.prototype,M=Object.prototype,$=j.toString,W=M.hasOwnProperty,X=$.call(Object);i.exports=function isPlainObject(i){if(!_(i)||"[object Object]"!=m(i))return!1;var s=v(i);if(null===s)return!0;var u=W.call(s,"constructor")&&s.constructor;return"function"==typeof u&&u instanceof u&&$.call(u)==X}},72928:(i,s,u)=>{var m=u(29221),v=u(7518),_=u(31167),j=_&&_.isSet,M=j?v(j):m;i.exports=M},47037:(i,s,u)=>{var m=u(44239),v=u(1469),_=u(37005);i.exports=function isString(i){return"string"==typeof i||!v(i)&&_(i)&&"[object String]"==m(i)}},33448:(i,s,u)=>{var m=u(44239),v=u(37005);i.exports=function isSymbol(i){return"symbol"==typeof i||v(i)&&"[object Symbol]"==m(i)}},36719:(i,s,u)=>{var m=u(38749),v=u(7518),_=u(31167),j=_&&_.isTypedArray,M=j?v(j):m;i.exports=M},81018:(i,s,u)=>{var m=u(64160),v=u(37005);i.exports=function isWeakMap(i){return v(i)&&"[object WeakMap]"==m(i)}},72594:(i,s,u)=>{var m=u(85990),v=u(67206);i.exports=function iteratee(i){return v("function"==typeof i?i:m(i,1))}},3674:(i,s,u)=>{var m=u(14636),v=u(280),_=u(98612);i.exports=function keys(i){return _(i)?m(i):v(i)}},81704:(i,s,u)=>{var m=u(14636),v=u(10313),_=u(98612);i.exports=function keysIn(i){return _(i)?m(i,!0):v(i)}},10928:i=>{i.exports=function last(i){var s=null==i?0:i.length;return s?i[s-1]:void 0}},88306:(i,s,u)=>{var m=u(83369);function memoize(i,s){if("function"!=typeof i||null!=s&&"function"!=typeof s)throw new TypeError("Expected a function");var memoized=function(){var u=arguments,m=s?s.apply(this,u):u[0],v=memoized.cache;if(v.has(m))return v.get(m);var _=i.apply(this,u);return memoized.cache=v.set(m,_)||v,_};return memoized.cache=new(memoize.Cache||m),memoized}memoize.Cache=m,i.exports=memoize},82492:(i,s,u)=>{var m=u(42980),v=u(21463)((function(i,s,u){m(i,s,u)}));i.exports=v},94885:i=>{i.exports=function negate(i){if("function"!=typeof i)throw new TypeError("Expected a function");return function(){var s=arguments;switch(s.length){case 0:return!i.call(this);case 1:return!i.call(this,s[0]);case 2:return!i.call(this,s[0],s[1]);case 3:return!i.call(this,s[0],s[1],s[2])}return!i.apply(this,s)}}},50308:i=>{i.exports=function noop(){}},7771:(i,s,u)=>{var m=u(55639);i.exports=function(){return m.Date.now()}},57557:(i,s,u)=>{var m=u(29932),v=u(85990),_=u(57406),j=u(71811),M=u(98363),$=u(60696),W=u(99021),X=u(46904),Y=W((function(i,s){var u={};if(null==i)return u;var W=!1;s=m(s,(function(s){return s=j(s,i),W||(W=s.length>1),s})),M(i,X(i),u),W&&(u=v(u,7,$));for(var Y=s.length;Y--;)_(u,s[Y]);return u}));i.exports=Y},39601:(i,s,u)=>{var m=u(40371),v=u(79152),_=u(15403),j=u(40327);i.exports=function property(i){return _(i)?m(j(i)):v(i)}},4963:(i,s,u)=>{var m=u(97727),v=u(99021),_=v((function(i,s){return m(i,256,void 0,void 0,void 0,s)}));i.exports=_},54061:(i,s,u)=>{var m=u(62663),v=u(89881),_=u(67206),j=u(10107),M=u(1469);i.exports=function reduce(i,s,u){var $=M(i)?m:j,W=arguments.length<3;return $(i,_(s,4),u,W,v)}},36968:(i,s,u)=>{var m=u(10611);i.exports=function set(i,s,u){return null==i?i:m(i,s,u)}},59704:(i,s,u)=>{var m=u(82908),v=u(67206),_=u(5076),j=u(1469),M=u(16612);i.exports=function some(i,s,u){var $=j(i)?m:_;return u&&M(i,s,u)&&(s=void 0),$(i,v(s,3))}},70479:i=>{i.exports=function stubArray(){return[]}},95062:i=>{i.exports=function stubFalse(){return!1}},18601:(i,s,u)=>{var m=u(14841),v=1/0;i.exports=function toFinite(i){return i?(i=m(i))===v||i===-1/0?17976931348623157e292*(i<0?-1:1):i==i?i:0:0===i?i:0}},40554:(i,s,u)=>{var m=u(18601);i.exports=function toInteger(i){var s=m(i),u=s%1;return s==s?u?s-u:s:0}},7334:(i,s,u)=>{var m=u(79833);i.exports=function toLower(i){return m(i).toLowerCase()}},14841:(i,s,u)=>{var m=u(27561),v=u(13218),_=u(33448),j=/^[-+]0x[0-9a-f]+$/i,M=/^0b[01]+$/i,$=/^0o[0-7]+$/i,W=parseInt;i.exports=function toNumber(i){if("number"==typeof i)return i;if(_(i))return NaN;if(v(i)){var s="function"==typeof i.valueOf?i.valueOf():i;i=v(s)?s+"":s}if("string"!=typeof i)return 0===i?i:+i;i=m(i);var u=M.test(i);return u||$.test(i)?W(i.slice(2),u?2:8):j.test(i)?NaN:+i}},30084:(i,s,u)=>{var m=u(29932),v=u(278),_=u(1469),j=u(33448),M=u(55514),$=u(40327),W=u(79833);i.exports=function toPath(i){return _(i)?m(i,$):j(i)?[i]:v(M(W(i)))}},59881:(i,s,u)=>{var m=u(98363),v=u(81704);i.exports=function toPlainObject(i){return m(i,v(i))}},79833:(i,s,u)=>{var m=u(80531);i.exports=function toString(i){return null==i?"":m(i)}},11700:(i,s,u)=>{var m=u(98805)("toUpperCase");i.exports=m},58748:(i,s,u)=>{var m=u(49029),v=u(93157),_=u(79833),j=u(2757);i.exports=function words(i,s,u){return i=_(i),void 0===(s=u?void 0:s)?v(i)?j(i):m(i):i.match(s)||[]}},8111:(i,s,u)=>{var m=u(96425),v=u(7548),_=u(9435),j=u(1469),M=u(37005),$=u(21913),W=Object.prototype.hasOwnProperty;function lodash(i){if(M(i)&&!j(i)&&!(i instanceof m)){if(i instanceof v)return i;if(W.call(i,"__wrapped__"))return $(i)}return new v(i)}lodash.prototype=_.prototype,lodash.prototype.constructor=lodash,i.exports=lodash},7287:(i,s,u)=>{var m=u(34865),v=u(1757);i.exports=function zipObject(i,s){return v(i||[],s||[],m)}},96470:(i,s,u)=>{"use strict";var m=u(47802),v=u(21102);s.highlight=highlight,s.highlightAuto=function highlightAuto(i,s){var u,j,M,$,W=s||{},X=W.subset||m.listLanguages(),Y=W.prefix,Z=X.length,ee=-1;null==Y&&(Y=_);if("string"!=typeof i)throw v("Expected `string` for value, got `%s`",i);j={relevance:0,language:null,value:[]},u={relevance:0,language:null,value:[]};for(;++eej.relevance&&(j=M),M.relevance>u.relevance&&(j=u,u=M));j.language&&(u.secondBest=j);return u},s.registerLanguage=function registerLanguage(i,s){m.registerLanguage(i,s)},s.listLanguages=function listLanguages(){return m.listLanguages()},s.registerAlias=function registerAlias(i,s){var u,v=i;s&&((v={})[i]=s);for(u in v)m.registerAliases(v[u],{languageName:u})},Emitter.prototype.addText=function text(i){var s,u,m=this.stack;if(""===i)return;s=m[m.length-1],(u=s.children[s.children.length-1])&&"text"===u.type?u.value+=i:s.children.push({type:"text",value:i})},Emitter.prototype.addKeyword=function addKeyword(i,s){this.openNode(s),this.addText(i),this.closeNode()},Emitter.prototype.addSublanguage=function addSublanguage(i,s){var u=this.stack,m=u[u.length-1],v=i.rootNode.children,_=s?{type:"element",tagName:"span",properties:{className:[s]},children:v}:v;m.children=m.children.concat(_)},Emitter.prototype.openNode=function open(i){var s=this.stack,u=this.options.classPrefix+i,m=s[s.length-1],v={type:"element",tagName:"span",properties:{className:[u]},children:[]};m.children.push(v),s.push(v)},Emitter.prototype.closeNode=function close(){this.stack.pop()},Emitter.prototype.closeAllNodes=noop,Emitter.prototype.finalize=noop,Emitter.prototype.toHTML=function toHtmlNoop(){return""};var _="hljs-";function highlight(i,s,u){var j,M=m.configure({}),$=(u||{}).prefix;if("string"!=typeof i)throw v("Expected `string` for name, got `%s`",i);if(!m.getLanguage(i))throw v("Unknown language: `%s` is not registered",i);if("string"!=typeof s)throw v("Expected `string` for value, got `%s`",s);if(null==$&&($=_),m.configure({__emitter:Emitter,classPrefix:$}),j=m.highlight(s,{language:i,ignoreIllegals:!0}),m.configure(M||{}),j.errorRaised)throw j.errorRaised;return{relevance:j.relevance,language:j.language,value:j.emitter.rootNode.children}}function Emitter(i){this.options=i,this.rootNode={children:[]},this.stack=[this.rootNode]}function noop(){}},42566:(i,s,u)=>{const m=u(94885);function coerceElementMatchingCallback(i){return"string"==typeof i?s=>s.element===i:i.constructor&&i.extend?s=>s instanceof i:i}class ArraySlice{constructor(i){this.elements=i||[]}toValue(){return this.elements.map((i=>i.toValue()))}map(i,s){return this.elements.map(i,s)}flatMap(i,s){return this.map(i,s).reduce(((i,s)=>i.concat(s)),[])}compactMap(i,s){const u=[];return this.forEach((m=>{const v=i.bind(s)(m);v&&u.push(v)})),u}filter(i,s){return i=coerceElementMatchingCallback(i),new ArraySlice(this.elements.filter(i,s))}reject(i,s){return i=coerceElementMatchingCallback(i),new ArraySlice(this.elements.filter(m(i),s))}find(i,s){return i=coerceElementMatchingCallback(i),this.elements.find(i,s)}forEach(i,s){this.elements.forEach(i,s)}reduce(i,s){return this.elements.reduce(i,s)}includes(i){return this.elements.some((s=>s.equals(i)))}shift(){return this.elements.shift()}unshift(i){this.elements.unshift(this.refract(i))}push(i){return this.elements.push(this.refract(i)),this}add(i){this.push(i)}get(i){return this.elements[i]}getValue(i){const s=this.elements[i];if(s)return s.toValue()}get length(){return this.elements.length}get isEmpty(){return 0===this.elements.length}get first(){return this.elements[0]}}"undefined"!=typeof Symbol&&(ArraySlice.prototype[Symbol.iterator]=function symbol(){return this.elements[Symbol.iterator]()}),i.exports=ArraySlice},17645:i=>{class KeyValuePair{constructor(i,s){this.key=i,this.value=s}clone(){const i=new KeyValuePair;return this.key&&(i.key=this.key.clone()),this.value&&(i.value=this.value.clone()),i}}i.exports=KeyValuePair},78520:(i,s,u)=>{const m=u(45220),v=u(47037),_=u(81763),j=u(51584),M=u(13218),$=u(28219),W=u(99829);class Namespace{constructor(i){this.elementMap={},this.elementDetection=[],this.Element=W.Element,this.KeyValuePair=W.KeyValuePair,i&&i.noDefault||this.useDefault(),this._attributeElementKeys=[],this._attributeElementArrayKeys=[]}use(i){return i.namespace&&i.namespace({base:this}),i.load&&i.load({base:this}),this}useDefault(){return this.register("null",W.NullElement).register("string",W.StringElement).register("number",W.NumberElement).register("boolean",W.BooleanElement).register("array",W.ArrayElement).register("object",W.ObjectElement).register("member",W.MemberElement).register("ref",W.RefElement).register("link",W.LinkElement),this.detect(m,W.NullElement,!1).detect(v,W.StringElement,!1).detect(_,W.NumberElement,!1).detect(j,W.BooleanElement,!1).detect(Array.isArray,W.ArrayElement,!1).detect(M,W.ObjectElement,!1),this}register(i,s){return this._elements=void 0,this.elementMap[i]=s,this}unregister(i){return this._elements=void 0,delete this.elementMap[i],this}detect(i,s,u){return void 0===u||u?this.elementDetection.unshift([i,s]):this.elementDetection.push([i,s]),this}toElement(i){if(i instanceof this.Element)return i;let s;for(let u=0;u{const s=i[0].toUpperCase()+i.substr(1);this._elements[s]=this.elementMap[i]}))),this._elements}get serialiser(){return new $(this)}}$.prototype.Namespace=Namespace,i.exports=Namespace},87526:(i,s,u)=>{const m=u(94885),v=u(42566);class ObjectSlice extends v{map(i,s){return this.elements.map((u=>i.bind(s)(u.value,u.key,u)))}filter(i,s){return new ObjectSlice(this.elements.filter((u=>i.bind(s)(u.value,u.key,u))))}reject(i,s){return this.filter(m(i.bind(s)))}forEach(i,s){return this.elements.forEach(((u,m)=>{i.bind(s)(u.value,u.key,u,m)}))}keys(){return this.map(((i,s)=>s.toValue()))}values(){return this.map((i=>i.toValue()))}}i.exports=ObjectSlice},99829:(i,s,u)=>{const m=u(3079),v=u(96295),_=u(16036),j=u(91090),M=u(18866),$=u(35804),W=u(5946),X=u(76735),Y=u(59964),Z=u(38588),ee=u(42566),ie=u(87526),ae=u(17645);function refract(i){if(i instanceof m)return i;if("string"==typeof i)return new _(i);if("number"==typeof i)return new j(i);if("boolean"==typeof i)return new M(i);if(null===i)return new v;if(Array.isArray(i))return new $(i.map(refract));if("object"==typeof i){return new X(i)}return i}m.prototype.ObjectElement=X,m.prototype.RefElement=Z,m.prototype.MemberElement=W,m.prototype.refract=refract,ee.prototype.refract=refract,i.exports={Element:m,NullElement:v,StringElement:_,NumberElement:j,BooleanElement:M,ArrayElement:$,MemberElement:W,ObjectElement:X,LinkElement:Y,RefElement:Z,refract,ArraySlice:ee,ObjectSlice:ie,KeyValuePair:ae}},59964:(i,s,u)=>{const m=u(3079);i.exports=class LinkElement extends m{constructor(i,s,u){super(i||[],s,u),this.element="link"}get relation(){return this.attributes.get("relation")}set relation(i){this.attributes.set("relation",i)}get href(){return this.attributes.get("href")}set href(i){this.attributes.set("href",i)}}},38588:(i,s,u)=>{const m=u(3079);i.exports=class RefElement extends m{constructor(i,s,u){super(i||[],s,u),this.element="ref",this.path||(this.path="element")}get path(){return this.attributes.get("path")}set path(i){this.attributes.set("path",i)}}},43500:(i,s,u)=>{const m=u(78520),v=u(99829);s.lS=m,s.KeyValuePair=u(17645),s.O4=v.ArraySlice,s.rm=v.ObjectSlice,s.W_=v.Element,s.RP=v.StringElement,s.VL=v.NumberElement,s.hh=v.BooleanElement,s.zr=v.NullElement,s.ON=v.ArrayElement,s.Sb=v.ObjectElement,s.c6=v.MemberElement,s.tK=v.RefElement,s.EA=v.LinkElement,s.Qc=v.refract,u(28219),u(3414)},35804:(i,s,u)=>{const m=u(94885),v=u(3079),_=u(42566);class ArrayElement extends v{constructor(i,s,u){super(i||[],s,u),this.element="array"}primitive(){return"array"}get(i){return this.content[i]}getValue(i){const s=this.get(i);if(s)return s.toValue()}getIndex(i){return this.content[i]}set(i,s){return this.content[i]=this.refract(s),this}remove(i){const s=this.content.splice(i,1);return s.length?s[0]:null}map(i,s){return this.content.map(i,s)}flatMap(i,s){return this.map(i,s).reduce(((i,s)=>i.concat(s)),[])}compactMap(i,s){const u=[];return this.forEach((m=>{const v=i.bind(s)(m);v&&u.push(v)})),u}filter(i,s){return new _(this.content.filter(i,s))}reject(i,s){return this.filter(m(i),s)}reduce(i,s){let u,m;void 0!==s?(u=0,m=this.refract(s)):(u=1,m="object"===this.primitive()?this.first.value:this.first);for(let s=u;s{i.bind(s)(u,this.refract(m))}))}shift(){return this.content.shift()}unshift(i){this.content.unshift(this.refract(i))}push(i){return this.content.push(this.refract(i)),this}add(i){this.push(i)}findElements(i,s){const u=s||{},m=!!u.recursive,v=void 0===u.results?[]:u.results;return this.forEach(((s,u,_)=>{m&&void 0!==s.findElements&&s.findElements(i,{results:v,recursive:m}),i(s,u,_)&&v.push(s)})),v}find(i){return new _(this.findElements(i,{recursive:!0}))}findByElement(i){return this.find((s=>s.element===i))}findByClass(i){return this.find((s=>s.classes.includes(i)))}getById(i){return this.find((s=>s.id.toValue()===i)).first}includes(i){return this.content.some((s=>s.equals(i)))}contains(i){return this.includes(i)}empty(){return new this.constructor([])}"fantasy-land/empty"(){return this.empty()}concat(i){return new this.constructor(this.content.concat(i.content))}"fantasy-land/concat"(i){return this.concat(i)}"fantasy-land/map"(i){return new this.constructor(this.map(i))}"fantasy-land/chain"(i){return this.map((s=>i(s)),this).reduce(((i,s)=>i.concat(s)),this.empty())}"fantasy-land/filter"(i){return new this.constructor(this.content.filter(i))}"fantasy-land/reduce"(i,s){return this.content.reduce(i,s)}get length(){return this.content.length}get isEmpty(){return 0===this.content.length}get first(){return this.getIndex(0)}get second(){return this.getIndex(1)}get last(){return this.getIndex(this.length-1)}}ArrayElement.empty=function empty(){return new this},ArrayElement["fantasy-land/empty"]=ArrayElement.empty,"undefined"!=typeof Symbol&&(ArrayElement.prototype[Symbol.iterator]=function symbol(){return this.content[Symbol.iterator]()}),i.exports=ArrayElement},18866:(i,s,u)=>{const m=u(3079);i.exports=class BooleanElement extends m{constructor(i,s,u){super(i,s,u),this.element="boolean"}primitive(){return"boolean"}}},3079:(i,s,u)=>{const m=u(18446),v=u(17645),_=u(42566);class Element{constructor(i,s,u){s&&(this.meta=s),u&&(this.attributes=u),this.content=i}freeze(){Object.isFrozen(this)||(this._meta&&(this.meta.parent=this,this.meta.freeze()),this._attributes&&(this.attributes.parent=this,this.attributes.freeze()),this.children.forEach((i=>{i.parent=this,i.freeze()}),this),this.content&&Array.isArray(this.content)&&Object.freeze(this.content),Object.freeze(this))}primitive(){}clone(){const i=new this.constructor;return i.element=this.element,this.meta.length&&(i._meta=this.meta.clone()),this.attributes.length&&(i._attributes=this.attributes.clone()),this.content?this.content.clone?i.content=this.content.clone():Array.isArray(this.content)?i.content=this.content.map((i=>i.clone())):i.content=this.content:i.content=this.content,i}toValue(){return this.content instanceof Element?this.content.toValue():this.content instanceof v?{key:this.content.key.toValue(),value:this.content.value?this.content.value.toValue():void 0}:this.content&&this.content.map?this.content.map((i=>i.toValue()),this):this.content}toRef(i){if(""===this.id.toValue())throw Error("Cannot create reference to an element that does not contain an ID");const s=new this.RefElement(this.id.toValue());return i&&(s.path=i),s}findRecursive(...i){if(arguments.length>1&&!this.isFrozen)throw new Error("Cannot find recursive with multiple element names without first freezing the element. Call `element.freeze()`");const s=i.pop();let u=new _;const append=(i,s)=>(i.push(s),i),checkElement=(i,u)=>{u.element===s&&i.push(u);const m=u.findRecursive(s);return m&&m.reduce(append,i),u.content instanceof v&&(u.content.key&&checkElement(i,u.content.key),u.content.value&&checkElement(i,u.content.value)),i};return this.content&&(this.content.element&&checkElement(u,this.content),Array.isArray(this.content)&&this.content.reduce(checkElement,u)),i.isEmpty||(u=u.filter((s=>{let u=s.parents.map((i=>i.element));for(const s in i){const m=i[s],v=u.indexOf(m);if(-1===v)return!1;u=u.splice(0,v)}return!0}))),u}set(i){return this.content=i,this}equals(i){return m(this.toValue(),i)}getMetaProperty(i,s){if(!this.meta.hasKey(i)){if(this.isFrozen){const i=this.refract(s);return i.freeze(),i}this.meta.set(i,s)}return this.meta.get(i)}setMetaProperty(i,s){this.meta.set(i,s)}get element(){return this._storedElement||"element"}set element(i){this._storedElement=i}get content(){return this._content}set content(i){if(i instanceof Element)this._content=i;else if(i instanceof _)this.content=i.elements;else if("string"==typeof i||"number"==typeof i||"boolean"==typeof i||"null"===i||null==i)this._content=i;else if(i instanceof v)this._content=i;else if(Array.isArray(i))this._content=i.map(this.refract);else{if("object"!=typeof i)throw new Error("Cannot set content to given value");this._content=Object.keys(i).map((s=>new this.MemberElement(s,i[s])))}}get meta(){if(!this._meta){if(this.isFrozen){const i=new this.ObjectElement;return i.freeze(),i}this._meta=new this.ObjectElement}return this._meta}set meta(i){i instanceof this.ObjectElement?this._meta=i:this.meta.set(i||{})}get attributes(){if(!this._attributes){if(this.isFrozen){const i=new this.ObjectElement;return i.freeze(),i}this._attributes=new this.ObjectElement}return this._attributes}set attributes(i){i instanceof this.ObjectElement?this._attributes=i:this.attributes.set(i||{})}get id(){return this.getMetaProperty("id","")}set id(i){this.setMetaProperty("id",i)}get classes(){return this.getMetaProperty("classes",[])}set classes(i){this.setMetaProperty("classes",i)}get title(){return this.getMetaProperty("title","")}set title(i){this.setMetaProperty("title",i)}get description(){return this.getMetaProperty("description","")}set description(i){this.setMetaProperty("description",i)}get links(){return this.getMetaProperty("links",[])}set links(i){this.setMetaProperty("links",i)}get isFrozen(){return Object.isFrozen(this)}get parents(){let{parent:i}=this;const s=new _;for(;i;)s.push(i),i=i.parent;return s}get children(){if(Array.isArray(this.content))return new _(this.content);if(this.content instanceof v){const i=new _([this.content.key]);return this.content.value&&i.push(this.content.value),i}return this.content instanceof Element?new _([this.content]):new _}get recursiveChildren(){const i=new _;return this.children.forEach((s=>{i.push(s),s.recursiveChildren.forEach((s=>{i.push(s)}))})),i}}i.exports=Element},5946:(i,s,u)=>{const m=u(17645),v=u(3079);i.exports=class MemberElement extends v{constructor(i,s,u,v){super(new m,u,v),this.element="member",this.key=i,this.value=s}get key(){return this.content.key}set key(i){this.content.key=this.refract(i)}get value(){return this.content.value}set value(i){this.content.value=this.refract(i)}}},96295:(i,s,u)=>{const m=u(3079);i.exports=class NullElement extends m{constructor(i,s,u){super(i||null,s,u),this.element="null"}primitive(){return"null"}set(){return new Error("Cannot set the value of null")}}},91090:(i,s,u)=>{const m=u(3079);i.exports=class NumberElement extends m{constructor(i,s,u){super(i,s,u),this.element="number"}primitive(){return"number"}}},76735:(i,s,u)=>{const m=u(94885),v=u(13218),_=u(35804),j=u(5946),M=u(87526);i.exports=class ObjectElement extends _{constructor(i,s,u){super(i||[],s,u),this.element="object"}primitive(){return"object"}toValue(){return this.content.reduce(((i,s)=>(i[s.key.toValue()]=s.value?s.value.toValue():void 0,i)),{})}get(i){const s=this.getMember(i);if(s)return s.value}getMember(i){if(void 0!==i)return this.content.find((s=>s.key.toValue()===i))}remove(i){let s=null;return this.content=this.content.filter((u=>u.key.toValue()!==i||(s=u,!1))),s}getKey(i){const s=this.getMember(i);if(s)return s.key}set(i,s){if(v(i))return Object.keys(i).forEach((s=>{this.set(s,i[s])})),this;const u=i,m=this.getMember(u);return m?m.value=s:this.content.push(new j(u,s)),this}keys(){return this.content.map((i=>i.key.toValue()))}values(){return this.content.map((i=>i.value.toValue()))}hasKey(i){return this.content.some((s=>s.key.equals(i)))}items(){return this.content.map((i=>[i.key.toValue(),i.value.toValue()]))}map(i,s){return this.content.map((u=>i.bind(s)(u.value,u.key,u)))}compactMap(i,s){const u=[];return this.forEach(((m,v,_)=>{const j=i.bind(s)(m,v,_);j&&u.push(j)})),u}filter(i,s){return new M(this.content).filter(i,s)}reject(i,s){return this.filter(m(i),s)}forEach(i,s){return this.content.forEach((u=>i.bind(s)(u.value,u.key,u)))}}},16036:(i,s,u)=>{const m=u(3079);i.exports=class StringElement extends m{constructor(i,s,u){super(i,s,u),this.element="string"}primitive(){return"string"}get length(){return this.content.length}}},3414:(i,s,u)=>{const m=u(28219);i.exports=class JSON06Serialiser extends m{serialise(i){if(!(i instanceof this.namespace.elements.Element))throw new TypeError(`Given element \`${i}\` is not an Element instance`);let s;i._attributes&&i.attributes.get("variable")&&(s=i.attributes.get("variable"));const u={element:i.element};i._meta&&i._meta.length>0&&(u.meta=this.serialiseObject(i.meta));const m="enum"===i.element||-1!==i.attributes.keys().indexOf("enumerations");if(m){const s=this.enumSerialiseAttributes(i);s&&(u.attributes=s)}else if(i._attributes&&i._attributes.length>0){let{attributes:m}=i;m.get("metadata")&&(m=m.clone(),m.set("meta",m.get("metadata")),m.remove("metadata")),"member"===i.element&&s&&(m=m.clone(),m.remove("variable")),m.length>0&&(u.attributes=this.serialiseObject(m))}if(m)u.content=this.enumSerialiseContent(i,u);else if(this[`${i.element}SerialiseContent`])u.content=this[`${i.element}SerialiseContent`](i,u);else if(void 0!==i.content){let m;s&&i.content.key?(m=i.content.clone(),m.key.attributes.set("variable",s),m=this.serialiseContent(m)):m=this.serialiseContent(i.content),this.shouldSerialiseContent(i,m)&&(u.content=m)}else this.shouldSerialiseContent(i,i.content)&&i instanceof this.namespace.elements.Array&&(u.content=[]);return u}shouldSerialiseContent(i,s){return"parseResult"===i.element||"httpRequest"===i.element||"httpResponse"===i.element||"category"===i.element||"link"===i.element||void 0!==s&&(!Array.isArray(s)||0!==s.length)}refSerialiseContent(i,s){return delete s.attributes,{href:i.toValue(),path:i.path.toValue()}}sourceMapSerialiseContent(i){return i.toValue()}dataStructureSerialiseContent(i){return[this.serialiseContent(i.content)]}enumSerialiseAttributes(i){const s=i.attributes.clone(),u=s.remove("enumerations")||new this.namespace.elements.Array([]),m=s.get("default");let v=s.get("samples")||new this.namespace.elements.Array([]);if(m&&m.content&&(m.content.attributes&&m.content.attributes.remove("typeAttributes"),s.set("default",new this.namespace.elements.Array([m.content]))),v.forEach((i=>{i.content&&i.content.element&&i.content.attributes.remove("typeAttributes")})),i.content&&0!==u.length&&v.unshift(i.content),v=v.map((i=>i instanceof this.namespace.elements.Array?[i]:new this.namespace.elements.Array([i.content]))),v.length&&s.set("samples",v),s.length>0)return this.serialiseObject(s)}enumSerialiseContent(i){if(i._attributes){const s=i.attributes.get("enumerations");if(s&&s.length>0)return s.content.map((i=>{const s=i.clone();return s.attributes.remove("typeAttributes"),this.serialise(s)}))}if(i.content){const s=i.content.clone();return s.attributes.remove("typeAttributes"),[this.serialise(s)]}return[]}deserialise(i){if("string"==typeof i)return new this.namespace.elements.String(i);if("number"==typeof i)return new this.namespace.elements.Number(i);if("boolean"==typeof i)return new this.namespace.elements.Boolean(i);if(null===i)return new this.namespace.elements.Null;if(Array.isArray(i))return new this.namespace.elements.Array(i.map(this.deserialise,this));const s=this.namespace.getElementClass(i.element),u=new s;u.element!==i.element&&(u.element=i.element),i.meta&&this.deserialiseObject(i.meta,u.meta),i.attributes&&this.deserialiseObject(i.attributes,u.attributes);const m=this.deserialiseContent(i.content);if(void 0===m&&null!==u.content||(u.content=m),"enum"===u.element){u.content&&u.attributes.set("enumerations",u.content);let i=u.attributes.get("samples");if(u.attributes.remove("samples"),i){const m=i;i=new this.namespace.elements.Array,m.forEach((m=>{m.forEach((m=>{const v=new s(m);v.element=u.element,i.push(v)}))}));const v=i.shift();u.content=v?v.content:void 0,u.attributes.set("samples",i)}else u.content=void 0;let m=u.attributes.get("default");if(m&&m.length>0){m=m.get(0);const i=new s(m);i.element=u.element,u.attributes.set("default",i)}}else if("dataStructure"===u.element&&Array.isArray(u.content))[u.content]=u.content;else if("category"===u.element){const i=u.attributes.get("meta");i&&(u.attributes.set("metadata",i),u.attributes.remove("meta"))}else"member"===u.element&&u.key&&u.key._attributes&&u.key._attributes.getValue("variable")&&(u.attributes.set("variable",u.key.attributes.get("variable")),u.key.attributes.remove("variable"));return u}serialiseContent(i){if(i instanceof this.namespace.elements.Element)return this.serialise(i);if(i instanceof this.namespace.KeyValuePair){const s={key:this.serialise(i.key)};return i.value&&(s.value=this.serialise(i.value)),s}return i&&i.map?i.map(this.serialise,this):i}deserialiseContent(i){if(i){if(i.element)return this.deserialise(i);if(i.key){const s=new this.namespace.KeyValuePair(this.deserialise(i.key));return i.value&&(s.value=this.deserialise(i.value)),s}if(i.map)return i.map(this.deserialise,this)}return i}shouldRefract(i){return!!(i._attributes&&i.attributes.keys().length||i._meta&&i.meta.keys().length)||"enum"!==i.element&&(i.element!==i.primitive()||"member"===i.element)}convertKeyToRefract(i,s){return this.shouldRefract(s)?this.serialise(s):"enum"===s.element?this.serialiseEnum(s):"array"===s.element?s.map((s=>this.shouldRefract(s)||"default"===i?this.serialise(s):"array"===s.element||"object"===s.element||"enum"===s.element?s.children.map((i=>this.serialise(i))):s.toValue())):"object"===s.element?(s.content||[]).map(this.serialise,this):s.toValue()}serialiseEnum(i){return i.children.map((i=>this.serialise(i)))}serialiseObject(i){const s={};return i.forEach(((i,u)=>{if(i){const m=u.toValue();s[m]=this.convertKeyToRefract(m,i)}})),s}deserialiseObject(i,s){Object.keys(i).forEach((u=>{s.set(u,this.deserialise(i[u]))}))}}},28219:i=>{i.exports=class JSONSerialiser{constructor(i){this.namespace=i||new this.Namespace}serialise(i){if(!(i instanceof this.namespace.elements.Element))throw new TypeError(`Given element \`${i}\` is not an Element instance`);const s={element:i.element};i._meta&&i._meta.length>0&&(s.meta=this.serialiseObject(i.meta)),i._attributes&&i._attributes.length>0&&(s.attributes=this.serialiseObject(i.attributes));const u=this.serialiseContent(i.content);return void 0!==u&&(s.content=u),s}deserialise(i){if(!i.element)throw new Error("Given value is not an object containing an element name");const s=new(this.namespace.getElementClass(i.element));s.element!==i.element&&(s.element=i.element),i.meta&&this.deserialiseObject(i.meta,s.meta),i.attributes&&this.deserialiseObject(i.attributes,s.attributes);const u=this.deserialiseContent(i.content);return void 0===u&&null!==s.content||(s.content=u),s}serialiseContent(i){if(i instanceof this.namespace.elements.Element)return this.serialise(i);if(i instanceof this.namespace.KeyValuePair){const s={key:this.serialise(i.key)};return i.value&&(s.value=this.serialise(i.value)),s}if(i&&i.map){if(0===i.length)return;return i.map(this.serialise,this)}return i}deserialiseContent(i){if(i){if(i.element)return this.deserialise(i);if(i.key){const s=new this.namespace.KeyValuePair(this.deserialise(i.key));return i.value&&(s.value=this.deserialise(i.value)),s}if(i.map)return i.map(this.deserialise,this)}return i}serialiseObject(i){const s={};if(i.forEach(((i,u)=>{i&&(s[u.toValue()]=this.serialise(i))})),0!==Object.keys(s).length)return s}deserialiseObject(i,s){Object.keys(i).forEach((u=>{s.set(u,this.deserialise(i[u]))}))}}},27418:i=>{"use strict";var s=Object.getOwnPropertySymbols,u=Object.prototype.hasOwnProperty,m=Object.prototype.propertyIsEnumerable;i.exports=function shouldUseNative(){try{if(!Object.assign)return!1;var i=new String("abc");if(i[5]="de","5"===Object.getOwnPropertyNames(i)[0])return!1;for(var s={},u=0;u<10;u++)s["_"+String.fromCharCode(u)]=u;if("0123456789"!==Object.getOwnPropertyNames(s).map((function(i){return s[i]})).join(""))return!1;var m={};return"abcdefghijklmnopqrst".split("").forEach((function(i){m[i]=i})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},m)).join("")}catch(i){return!1}}()?Object.assign:function(i,v){for(var _,j,M=function toObject(i){if(null==i)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(i)}(i),$=1;${var m="function"==typeof Map&&Map.prototype,v=Object.getOwnPropertyDescriptor&&m?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,_=m&&v&&"function"==typeof v.get?v.get:null,j=m&&Map.prototype.forEach,M="function"==typeof Set&&Set.prototype,$=Object.getOwnPropertyDescriptor&&M?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,W=M&&$&&"function"==typeof $.get?$.get:null,X=M&&Set.prototype.forEach,Y="function"==typeof WeakMap&&WeakMap.prototype?WeakMap.prototype.has:null,Z="function"==typeof WeakSet&&WeakSet.prototype?WeakSet.prototype.has:null,ee="function"==typeof WeakRef&&WeakRef.prototype?WeakRef.prototype.deref:null,ie=Boolean.prototype.valueOf,ae=Object.prototype.toString,le=Function.prototype.toString,ce=String.prototype.match,pe=String.prototype.slice,de=String.prototype.replace,fe=String.prototype.toUpperCase,ye=String.prototype.toLowerCase,be=RegExp.prototype.test,_e=Array.prototype.concat,we=Array.prototype.join,Se=Array.prototype.slice,xe=Math.floor,Ie="function"==typeof BigInt?BigInt.prototype.valueOf:null,Pe=Object.getOwnPropertySymbols,Te="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol.prototype.toString:null,Re="function"==typeof Symbol&&"object"==typeof Symbol.iterator,qe="function"==typeof Symbol&&Symbol.toStringTag&&(typeof Symbol.toStringTag===Re||"symbol")?Symbol.toStringTag:null,ze=Object.prototype.propertyIsEnumerable,Ve=("function"==typeof Reflect?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(i){return i.__proto__}:null);function addNumericSeparator(i,s){if(i===1/0||i===-1/0||i!=i||i&&i>-1e3&&i<1e3||be.call(/e/,s))return s;var u=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if("number"==typeof i){var m=i<0?-xe(-i):xe(i);if(m!==i){var v=String(m),_=pe.call(s,v.length+1);return de.call(v,u,"$&_")+"."+de.call(de.call(_,/([0-9]{3})/g,"$&_"),/_$/,"")}}return de.call(s,u,"$&_")}var We=u(24654),He=We.custom,Xe=isSymbol(He)?He:null;function wrapQuotes(i,s,u){var m="double"===(u.quoteStyle||s)?'"':"'";return m+i+m}function quote(i){return de.call(String(i),/"/g,""")}function isArray(i){return!("[object Array]"!==toStr(i)||qe&&"object"==typeof i&&qe in i)}function isRegExp(i){return!("[object RegExp]"!==toStr(i)||qe&&"object"==typeof i&&qe in i)}function isSymbol(i){if(Re)return i&&"object"==typeof i&&i instanceof Symbol;if("symbol"==typeof i)return!0;if(!i||"object"!=typeof i||!Te)return!1;try{return Te.call(i),!0}catch(i){}return!1}i.exports=function inspect_(i,s,u,m){var v=s||{};if(has(v,"quoteStyle")&&"single"!==v.quoteStyle&&"double"!==v.quoteStyle)throw new TypeError('option "quoteStyle" must be "single" or "double"');if(has(v,"maxStringLength")&&("number"==typeof v.maxStringLength?v.maxStringLength<0&&v.maxStringLength!==1/0:null!==v.maxStringLength))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var M=!has(v,"customInspect")||v.customInspect;if("boolean"!=typeof M&&"symbol"!==M)throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(has(v,"indent")&&null!==v.indent&&"\t"!==v.indent&&!(parseInt(v.indent,10)===v.indent&&v.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(has(v,"numericSeparator")&&"boolean"!=typeof v.numericSeparator)throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var $=v.numericSeparator;if(void 0===i)return"undefined";if(null===i)return"null";if("boolean"==typeof i)return i?"true":"false";if("string"==typeof i)return inspectString(i,v);if("number"==typeof i){if(0===i)return 1/0/i>0?"0":"-0";var ae=String(i);return $?addNumericSeparator(i,ae):ae}if("bigint"==typeof i){var fe=String(i)+"n";return $?addNumericSeparator(i,fe):fe}var be=void 0===v.depth?5:v.depth;if(void 0===u&&(u=0),u>=be&&be>0&&"object"==typeof i)return isArray(i)?"[Array]":"[Object]";var xe=function getIndent(i,s){var u;if("\t"===i.indent)u="\t";else{if(!("number"==typeof i.indent&&i.indent>0))return null;u=we.call(Array(i.indent+1)," ")}return{base:u,prev:we.call(Array(s+1),u)}}(v,u);if(void 0===m)m=[];else if(indexOf(m,i)>=0)return"[Circular]";function inspect(i,s,_){if(s&&(m=Se.call(m)).push(s),_){var j={depth:v.depth};return has(v,"quoteStyle")&&(j.quoteStyle=v.quoteStyle),inspect_(i,j,u+1,m)}return inspect_(i,v,u+1,m)}if("function"==typeof i&&!isRegExp(i)){var Pe=function nameOf(i){if(i.name)return i.name;var s=ce.call(le.call(i),/^function\s*([\w$]+)/);if(s)return s[1];return null}(i),He=arrObjKeys(i,inspect);return"[Function"+(Pe?": "+Pe:" (anonymous)")+"]"+(He.length>0?" { "+we.call(He,", ")+" }":"")}if(isSymbol(i)){var Ye=Re?de.call(String(i),/^(Symbol\(.*\))_[^)]*$/,"$1"):Te.call(i);return"object"!=typeof i||Re?Ye:markBoxed(Ye)}if(function isElement(i){if(!i||"object"!=typeof i)return!1;if("undefined"!=typeof HTMLElement&&i instanceof HTMLElement)return!0;return"string"==typeof i.nodeName&&"function"==typeof i.getAttribute}(i)){for(var Qe="<"+ye.call(String(i.nodeName)),et=i.attributes||[],tt=0;tt"}if(isArray(i)){if(0===i.length)return"[]";var rt=arrObjKeys(i,inspect);return xe&&!function singleLineValues(i){for(var s=0;s=0)return!1;return!0}(rt)?"["+indentedJoin(rt,xe)+"]":"[ "+we.call(rt,", ")+" ]"}if(function isError(i){return!("[object Error]"!==toStr(i)||qe&&"object"==typeof i&&qe in i)}(i)){var nt=arrObjKeys(i,inspect);return"cause"in Error.prototype||!("cause"in i)||ze.call(i,"cause")?0===nt.length?"["+String(i)+"]":"{ ["+String(i)+"] "+we.call(nt,", ")+" }":"{ ["+String(i)+"] "+we.call(_e.call("[cause]: "+inspect(i.cause),nt),", ")+" }"}if("object"==typeof i&&M){if(Xe&&"function"==typeof i[Xe]&&We)return We(i,{depth:be-u});if("symbol"!==M&&"function"==typeof i.inspect)return i.inspect()}if(function isMap(i){if(!_||!i||"object"!=typeof i)return!1;try{_.call(i);try{W.call(i)}catch(i){return!0}return i instanceof Map}catch(i){}return!1}(i)){var ot=[];return j&&j.call(i,(function(s,u){ot.push(inspect(u,i,!0)+" => "+inspect(s,i))})),collectionOf("Map",_.call(i),ot,xe)}if(function isSet(i){if(!W||!i||"object"!=typeof i)return!1;try{W.call(i);try{_.call(i)}catch(i){return!0}return i instanceof Set}catch(i){}return!1}(i)){var it=[];return X&&X.call(i,(function(s){it.push(inspect(s,i))})),collectionOf("Set",W.call(i),it,xe)}if(function isWeakMap(i){if(!Y||!i||"object"!=typeof i)return!1;try{Y.call(i,Y);try{Z.call(i,Z)}catch(i){return!0}return i instanceof WeakMap}catch(i){}return!1}(i))return weakCollectionOf("WeakMap");if(function isWeakSet(i){if(!Z||!i||"object"!=typeof i)return!1;try{Z.call(i,Z);try{Y.call(i,Y)}catch(i){return!0}return i instanceof WeakSet}catch(i){}return!1}(i))return weakCollectionOf("WeakSet");if(function isWeakRef(i){if(!ee||!i||"object"!=typeof i)return!1;try{return ee.call(i),!0}catch(i){}return!1}(i))return weakCollectionOf("WeakRef");if(function isNumber(i){return!("[object Number]"!==toStr(i)||qe&&"object"==typeof i&&qe in i)}(i))return markBoxed(inspect(Number(i)));if(function isBigInt(i){if(!i||"object"!=typeof i||!Ie)return!1;try{return Ie.call(i),!0}catch(i){}return!1}(i))return markBoxed(inspect(Ie.call(i)));if(function isBoolean(i){return!("[object Boolean]"!==toStr(i)||qe&&"object"==typeof i&&qe in i)}(i))return markBoxed(ie.call(i));if(function isString(i){return!("[object String]"!==toStr(i)||qe&&"object"==typeof i&&qe in i)}(i))return markBoxed(inspect(String(i)));if(!function isDate(i){return!("[object Date]"!==toStr(i)||qe&&"object"==typeof i&&qe in i)}(i)&&!isRegExp(i)){var at=arrObjKeys(i,inspect),st=Ve?Ve(i)===Object.prototype:i instanceof Object||i.constructor===Object,lt=i instanceof Object?"":"null prototype",ct=!st&&qe&&Object(i)===i&&qe in i?pe.call(toStr(i),8,-1):lt?"Object":"",ut=(st||"function"!=typeof i.constructor?"":i.constructor.name?i.constructor.name+" ":"")+(ct||lt?"["+we.call(_e.call([],ct||[],lt||[]),": ")+"] ":"");return 0===at.length?ut+"{}":xe?ut+"{"+indentedJoin(at,xe)+"}":ut+"{ "+we.call(at,", ")+" }"}return String(i)};var Ye=Object.prototype.hasOwnProperty||function(i){return i in this};function has(i,s){return Ye.call(i,s)}function toStr(i){return ae.call(i)}function indexOf(i,s){if(i.indexOf)return i.indexOf(s);for(var u=0,m=i.length;us.maxStringLength){var u=i.length-s.maxStringLength,m="... "+u+" more character"+(u>1?"s":"");return inspectString(pe.call(i,0,s.maxStringLength),s)+m}return wrapQuotes(de.call(de.call(i,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,lowbyte),"single",s)}function lowbyte(i){var s=i.charCodeAt(0),u={8:"b",9:"t",10:"n",12:"f",13:"r"}[s];return u?"\\"+u:"\\x"+(s<16?"0":"")+fe.call(s.toString(16))}function markBoxed(i){return"Object("+i+")"}function weakCollectionOf(i){return i+" { ? }"}function collectionOf(i,s,u,m){return i+" ("+s+") {"+(m?indentedJoin(u,m):we.call(u,", "))+"}"}function indentedJoin(i,s){if(0===i.length)return"";var u="\n"+s.prev+s.base;return u+we.call(i,","+u)+"\n"+s.prev}function arrObjKeys(i,s){var u=isArray(i),m=[];if(u){m.length=i.length;for(var v=0;v{var s,u,m=i.exports={};function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}function runTimeout(i){if(s===setTimeout)return setTimeout(i,0);if((s===defaultSetTimout||!s)&&setTimeout)return s=setTimeout,setTimeout(i,0);try{return s(i,0)}catch(u){try{return s.call(null,i,0)}catch(u){return s.call(this,i,0)}}}!function(){try{s="function"==typeof setTimeout?setTimeout:defaultSetTimout}catch(i){s=defaultSetTimout}try{u="function"==typeof clearTimeout?clearTimeout:defaultClearTimeout}catch(i){u=defaultClearTimeout}}();var v,_=[],j=!1,M=-1;function cleanUpNextTick(){j&&v&&(j=!1,v.length?_=v.concat(_):M=-1,_.length&&drainQueue())}function drainQueue(){if(!j){var i=runTimeout(cleanUpNextTick);j=!0;for(var s=_.length;s;){for(v=_,_=[];++M1)for(var u=1;u{"use strict";var m=u(50414);function emptyFunction(){}function emptyFunctionWithReset(){}emptyFunctionWithReset.resetWarningCache=emptyFunction,i.exports=function(){function shim(i,s,u,v,_,j){if(j!==m){var M=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw M.name="Invariant Violation",M}}function getShim(){return shim}shim.isRequired=shim;var i={array:shim,bigint:shim,bool:shim,func:shim,number:shim,object:shim,string:shim,symbol:shim,any:shim,arrayOf:getShim,element:shim,elementType:shim,instanceOf:getShim,node:shim,objectOf:getShim,oneOf:getShim,oneOfType:getShim,shape:getShim,exact:getShim,checkPropTypes:emptyFunctionWithReset,resetWarningCache:emptyFunction};return i.PropTypes=i,i}},45697:(i,s,u)=>{i.exports=u(92703)()},50414:i=>{"use strict";i.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},55798:i=>{"use strict";var s=String.prototype.replace,u=/%20/g,m="RFC1738",v="RFC3986";i.exports={default:v,formatters:{RFC1738:function(i){return s.call(i,u,"+")},RFC3986:function(i){return String(i)}},RFC1738:m,RFC3986:v}},80129:(i,s,u)=>{"use strict";var m=u(58261),v=u(55235),_=u(55798);i.exports={formats:_,parse:v,stringify:m}},55235:(i,s,u)=>{"use strict";var m=u(12769),v=Object.prototype.hasOwnProperty,_=Array.isArray,j={allowDots:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decoder:m.decode,delimiter:"&",depth:5,ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},interpretNumericEntities=function(i){return i.replace(/&#(\d+);/g,(function(i,s){return String.fromCharCode(parseInt(s,10))}))},parseArrayValue=function(i,s){return i&&"string"==typeof i&&s.comma&&i.indexOf(",")>-1?i.split(","):i},M=function parseQueryStringKeys(i,s,u,m){if(i){var _=u.allowDots?i.replace(/\.([^.[]+)/g,"[$1]"):i,j=/(\[[^[\]]*])/g,M=u.depth>0&&/(\[[^[\]]*])/.exec(_),$=M?_.slice(0,M.index):_,W=[];if($){if(!u.plainObjects&&v.call(Object.prototype,$)&&!u.allowPrototypes)return;W.push($)}for(var X=0;u.depth>0&&null!==(M=j.exec(_))&&X=0;--_){var j,M=i[_];if("[]"===M&&u.parseArrays)j=[].concat(v);else{j=u.plainObjects?Object.create(null):{};var $="["===M.charAt(0)&&"]"===M.charAt(M.length-1)?M.slice(1,-1):M,W=parseInt($,10);u.parseArrays||""!==$?!isNaN(W)&&M!==$&&String(W)===$&&W>=0&&u.parseArrays&&W<=u.arrayLimit?(j=[])[W]=v:"__proto__"!==$&&(j[$]=v):j={0:v}}v=j}return v}(W,s,u,m)}};i.exports=function(i,s){var u=function normalizeParseOptions(i){if(!i)return j;if(null!==i.decoder&&void 0!==i.decoder&&"function"!=typeof i.decoder)throw new TypeError("Decoder has to be a function.");if(void 0!==i.charset&&"utf-8"!==i.charset&&"iso-8859-1"!==i.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var s=void 0===i.charset?j.charset:i.charset;return{allowDots:void 0===i.allowDots?j.allowDots:!!i.allowDots,allowPrototypes:"boolean"==typeof i.allowPrototypes?i.allowPrototypes:j.allowPrototypes,allowSparse:"boolean"==typeof i.allowSparse?i.allowSparse:j.allowSparse,arrayLimit:"number"==typeof i.arrayLimit?i.arrayLimit:j.arrayLimit,charset:s,charsetSentinel:"boolean"==typeof i.charsetSentinel?i.charsetSentinel:j.charsetSentinel,comma:"boolean"==typeof i.comma?i.comma:j.comma,decoder:"function"==typeof i.decoder?i.decoder:j.decoder,delimiter:"string"==typeof i.delimiter||m.isRegExp(i.delimiter)?i.delimiter:j.delimiter,depth:"number"==typeof i.depth||!1===i.depth?+i.depth:j.depth,ignoreQueryPrefix:!0===i.ignoreQueryPrefix,interpretNumericEntities:"boolean"==typeof i.interpretNumericEntities?i.interpretNumericEntities:j.interpretNumericEntities,parameterLimit:"number"==typeof i.parameterLimit?i.parameterLimit:j.parameterLimit,parseArrays:!1!==i.parseArrays,plainObjects:"boolean"==typeof i.plainObjects?i.plainObjects:j.plainObjects,strictNullHandling:"boolean"==typeof i.strictNullHandling?i.strictNullHandling:j.strictNullHandling}}(s);if(""===i||null==i)return u.plainObjects?Object.create(null):{};for(var $="string"==typeof i?function parseQueryStringValues(i,s){var u,M={},$=s.ignoreQueryPrefix?i.replace(/^\?/,""):i,W=s.parameterLimit===1/0?void 0:s.parameterLimit,X=$.split(s.delimiter,W),Y=-1,Z=s.charset;if(s.charsetSentinel)for(u=0;u-1&&(ie=_(ie)?[ie]:ie),v.call(M,ee)?M[ee]=m.combine(M[ee],ie):M[ee]=ie}return M}(i,u):i,W=u.plainObjects?Object.create(null):{},X=Object.keys($),Y=0;Y{"use strict";var m=u(37478),v=u(12769),_=u(55798),j=Object.prototype.hasOwnProperty,M={brackets:function brackets(i){return i+"[]"},comma:"comma",indices:function indices(i,s){return i+"["+s+"]"},repeat:function repeat(i){return i}},$=Array.isArray,W=String.prototype.split,X=Array.prototype.push,pushToArray=function(i,s){X.apply(i,$(s)?s:[s])},Y=Date.prototype.toISOString,Z=_.default,ee={addQueryPrefix:!1,allowDots:!1,charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encoder:v.encode,encodeValuesOnly:!1,format:Z,formatter:_.formatters[Z],indices:!1,serializeDate:function serializeDate(i){return Y.call(i)},skipNulls:!1,strictNullHandling:!1},ie={},ae=function stringify(i,s,u,_,j,M,X,Y,Z,ae,le,ce,pe,de,fe,ye){for(var be=i,_e=ye,we=0,Se=!1;void 0!==(_e=_e.get(ie))&&!Se;){var xe=_e.get(i);if(we+=1,void 0!==xe){if(xe===we)throw new RangeError("Cyclic object value");Se=!0}void 0===_e.get(ie)&&(we=0)}if("function"==typeof Y?be=Y(s,be):be instanceof Date?be=le(be):"comma"===u&&$(be)&&(be=v.maybeMap(be,(function(i){return i instanceof Date?le(i):i}))),null===be){if(j)return X&&!de?X(s,ee.encoder,fe,"key",ce):s;be=""}if(function isNonNullishPrimitive(i){return"string"==typeof i||"number"==typeof i||"boolean"==typeof i||"symbol"==typeof i||"bigint"==typeof i}(be)||v.isBuffer(be)){if(X){var Ie=de?s:X(s,ee.encoder,fe,"key",ce);if("comma"===u&&de){for(var Pe=W.call(String(be),","),Te="",Re=0;Re0?be.join(",")||null:void 0}];else if($(Y))qe=Y;else{var Ve=Object.keys(be);qe=Z?Ve.sort(Z):Ve}for(var We=_&&$(be)&&1===be.length?s+"[]":s,He=0;He0?fe+de:""}},12769:(i,s,u)=>{"use strict";var m=u(55798),v=Object.prototype.hasOwnProperty,_=Array.isArray,j=function(){for(var i=[],s=0;s<256;++s)i.push("%"+((s<16?"0":"")+s.toString(16)).toUpperCase());return i}(),M=function arrayToObject(i,s){for(var u=s&&s.plainObjects?Object.create(null):{},m=0;m1;){var s=i.pop(),u=s.obj[s.prop];if(_(u)){for(var m=[],v=0;v=48&&X<=57||X>=65&&X<=90||X>=97&&X<=122||_===m.RFC1738&&(40===X||41===X)?$+=M.charAt(W):X<128?$+=j[X]:X<2048?$+=j[192|X>>6]+j[128|63&X]:X<55296||X>=57344?$+=j[224|X>>12]+j[128|X>>6&63]+j[128|63&X]:(W+=1,X=65536+((1023&X)<<10|1023&M.charCodeAt(W)),$+=j[240|X>>18]+j[128|X>>12&63]+j[128|X>>6&63]+j[128|63&X])}return $},isBuffer:function isBuffer(i){return!(!i||"object"!=typeof i)&&!!(i.constructor&&i.constructor.isBuffer&&i.constructor.isBuffer(i))},isRegExp:function isRegExp(i){return"[object RegExp]"===Object.prototype.toString.call(i)},maybeMap:function maybeMap(i,s){if(_(i)){for(var u=[],m=0;m{"use strict";var u=Object.prototype.hasOwnProperty;function decode(i){try{return decodeURIComponent(i.replace(/\+/g," "))}catch(i){return null}}function encode(i){try{return encodeURIComponent(i)}catch(i){return null}}s.stringify=function querystringify(i,s){s=s||"";var m,v,_=[];for(v in"string"!=typeof s&&(s="?"),i)if(u.call(i,v)){if((m=i[v])||null!=m&&!isNaN(m)||(m=""),v=encode(v),m=encode(m),null===v||null===m)continue;_.push(v+"="+m)}return _.length?s+_.join("&"):""},s.parse=function querystring(i){for(var s,u=/([^=?#&]+)=?([^&]*)/g,m={};s=u.exec(i);){var v=decode(s[1]),_=decode(s[2]);null===v||null===_||v in m||(m[v]=_)}return m}},14419:(i,s,u)=>{const m=u(60697),v=u(69450),_=m.types;i.exports=class RandExp{constructor(i,s){if(this._setDefaults(i),i instanceof RegExp)this.ignoreCase=i.ignoreCase,this.multiline=i.multiline,i=i.source;else{if("string"!=typeof i)throw new Error("Expected a regexp or string");this.ignoreCase=s&&-1!==s.indexOf("i"),this.multiline=s&&-1!==s.indexOf("m")}this.tokens=m(i)}_setDefaults(i){this.max=null!=i.max?i.max:null!=RandExp.prototype.max?RandExp.prototype.max:100,this.defaultRange=i.defaultRange?i.defaultRange:this.defaultRange.clone(),i.randInt&&(this.randInt=i.randInt)}gen(){return this._gen(this.tokens,[])}_gen(i,s){var u,m,v,j,M;switch(i.type){case _.ROOT:case _.GROUP:if(i.followedBy||i.notFollowedBy)return"";for(i.remember&&void 0===i.groupNumber&&(i.groupNumber=s.push(null)-1),m="",j=0,M=(u=i.options?this._randSelect(i.options):i.stack).length;j{"use strict";var m=u(34155),v=65536,_=4294967295;var j=u(89509).Buffer,M=u.g.crypto||u.g.msCrypto;M&&M.getRandomValues?i.exports=function randomBytes(i,s){if(i>_)throw new RangeError("requested too many random bytes");var u=j.allocUnsafe(i);if(i>0)if(i>v)for(var $=0;${"use strict";function _typeof(i){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(i){return typeof i}:function(i){return i&&"function"==typeof Symbol&&i.constructor===Symbol&&i!==Symbol.prototype?"symbol":typeof i},_typeof(i)}Object.defineProperty(s,"__esModule",{value:!0}),s.CopyToClipboard=void 0;var m=_interopRequireDefault(u(67294)),v=_interopRequireDefault(u(20640)),_=["text","onCopy","options","children"];function _interopRequireDefault(i){return i&&i.__esModule?i:{default:i}}function ownKeys(i,s){var u=Object.keys(i);if(Object.getOwnPropertySymbols){var m=Object.getOwnPropertySymbols(i);s&&(m=m.filter((function(s){return Object.getOwnPropertyDescriptor(i,s).enumerable}))),u.push.apply(u,m)}return u}function _objectSpread(i){for(var s=1;s=0||(v[u]=i[u]);return v}(i,s);if(Object.getOwnPropertySymbols){var _=Object.getOwnPropertySymbols(i);for(m=0;m<_.length;m++)u=_[m],s.indexOf(u)>=0||Object.prototype.propertyIsEnumerable.call(i,u)&&(v[u]=i[u])}return v}function _defineProperties(i,s){for(var u=0;u{"use strict";var m=u(74300).CopyToClipboard;m.CopyToClipboard=m,i.exports=m},53441:(i,s,u)=>{"use strict";function _typeof(i){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(i){return typeof i}:function(i){return i&&"function"==typeof Symbol&&i.constructor===Symbol&&i!==Symbol.prototype?"symbol":typeof i},_typeof(i)}Object.defineProperty(s,"__esModule",{value:!0}),s.DebounceInput=void 0;var m=_interopRequireDefault(u(67294)),v=_interopRequireDefault(u(91296)),_=["element","onChange","value","minLength","debounceTimeout","forceNotifyByEnter","forceNotifyOnBlur","onKeyDown","onBlur","inputRef"];function _interopRequireDefault(i){return i&&i.__esModule?i:{default:i}}function _objectWithoutProperties(i,s){if(null==i)return{};var u,m,v=function _objectWithoutPropertiesLoose(i,s){if(null==i)return{};var u,m,v={},_=Object.keys(i);for(m=0;m<_.length;m++)u=_[m],s.indexOf(u)>=0||(v[u]=i[u]);return v}(i,s);if(Object.getOwnPropertySymbols){var _=Object.getOwnPropertySymbols(i);for(m=0;m<_.length;m++)u=_[m],s.indexOf(u)>=0||Object.prototype.propertyIsEnumerable.call(i,u)&&(v[u]=i[u])}return v}function ownKeys(i,s){var u=Object.keys(i);if(Object.getOwnPropertySymbols){var m=Object.getOwnPropertySymbols(i);s&&(m=m.filter((function(s){return Object.getOwnPropertyDescriptor(i,s).enumerable}))),u.push.apply(u,m)}return u}function _objectSpread(i){for(var s=1;s=m?u.notify(i):s.length>v.length&&u.notify(_objectSpread(_objectSpread({},i),{},{target:_objectSpread(_objectSpread({},i.target),{},{value:""})}))}))})),_defineProperty(_assertThisInitialized(u),"onKeyDown",(function(i){"Enter"===i.key&&u.forceNotify(i);var s=u.props.onKeyDown;s&&(i.persist(),s(i))})),_defineProperty(_assertThisInitialized(u),"onBlur",(function(i){u.forceNotify(i);var s=u.props.onBlur;s&&(i.persist(),s(i))})),_defineProperty(_assertThisInitialized(u),"createNotifier",(function(i){if(i<0)u.notify=function(){return null};else if(0===i)u.notify=u.doNotify;else{var s=(0,v.default)((function(i){u.isDebouncing=!1,u.doNotify(i)}),i);u.notify=function(i){u.isDebouncing=!0,s(i)},u.flush=function(){return s.flush()},u.cancel=function(){u.isDebouncing=!1,s.cancel()}}})),_defineProperty(_assertThisInitialized(u),"doNotify",(function(){u.props.onChange.apply(void 0,arguments)})),_defineProperty(_assertThisInitialized(u),"forceNotify",(function(i){var s=u.props.debounceTimeout;if(u.isDebouncing||!(s>0)){u.cancel&&u.cancel();var m=u.state.value,v=u.props.minLength;m.length>=v?u.doNotify(i):u.doNotify(_objectSpread(_objectSpread({},i),{},{target:_objectSpread(_objectSpread({},i.target),{},{value:m})}))}})),u.isDebouncing=!1,u.state={value:void 0===i.value||null===i.value?"":i.value};var m=u.props.debounceTimeout;return u.createNotifier(m),u}return function _createClass(i,s,u){return s&&_defineProperties(i.prototype,s),u&&_defineProperties(i,u),Object.defineProperty(i,"prototype",{writable:!1}),i}(DebounceInput,[{key:"componentDidUpdate",value:function componentDidUpdate(i){if(!this.isDebouncing){var s=this.props,u=s.value,m=s.debounceTimeout,v=i.debounceTimeout,_=i.value,j=this.state.value;void 0!==u&&_!==u&&j!==u&&this.setState({value:u}),m!==v&&this.createNotifier(m)}}},{key:"componentWillUnmount",value:function componentWillUnmount(){this.flush&&this.flush()}},{key:"render",value:function render(){var i,s,u=this.props,v=u.element,j=(u.onChange,u.value,u.minLength,u.debounceTimeout,u.forceNotifyByEnter),M=u.forceNotifyOnBlur,$=u.onKeyDown,W=u.onBlur,X=u.inputRef,Y=_objectWithoutProperties(u,_),Z=this.state.value;i=j?{onKeyDown:this.onKeyDown}:$?{onKeyDown:$}:{},s=M?{onBlur:this.onBlur}:W?{onBlur:W}:{};var ee=X?{ref:X}:{};return m.default.createElement(v,_objectSpread(_objectSpread(_objectSpread(_objectSpread({},Y),{},{onChange:this.onChange,value:Z},i),s),ee))}}]),DebounceInput}(m.default.PureComponent);s.DebounceInput=j,_defineProperty(j,"defaultProps",{element:"input",type:"text",onKeyDown:void 0,onBlur:void 0,value:void 0,minLength:0,debounceTimeout:100,forceNotifyByEnter:!0,forceNotifyOnBlur:!0,inputRef:void 0})},775:(i,s,u)=>{"use strict";var m=u(53441).DebounceInput;m.DebounceInput=m,i.exports=m},64448:(i,s,u)=>{"use strict";var m=u(67294),v=u(27418),_=u(63840);function y(i){for(var s="https://reactjs.org/docs/error-decoder.html?invariant="+i,u=1;u
\n \n)\n\nCopy.propTypes = {\n className: PropTypes.string,\n width: PropTypes.string,\n height: PropTypes.string,\n}\n\nCopy.defaultProps = {\n className: null,\n width: 15,\n height: 16,\n}\n\nexport default Copy\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\n\nconst Lock = ({ className, width, height, ...rest }) => (\n \n \n \n)\n\nLock.propTypes = {\n className: PropTypes.string,\n width: PropTypes.string,\n height: PropTypes.string,\n}\n\nLock.defaultProps = {\n className: null,\n width: 20,\n height: 20,\n}\n\nexport default Lock\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\n\nconst Unlock = ({ className, width, height, ...rest }) => (\n \n \n \n)\n\nUnlock.propTypes = {\n className: PropTypes.string,\n width: PropTypes.string,\n height: PropTypes.string,\n}\n\nUnlock.defaultProps = {\n className: null,\n width: 20,\n height: 20,\n}\n\nexport default Unlock\n","/**\n * @prettier\n */\nimport ArrowUpIcon from \"./components/arrow-up\"\nimport ArrowDownIcon from \"./components/arrow-down\"\nimport ArrowIcon from \"./components/arrow\"\nimport CloseIcon from \"./components/close\"\nimport CopyIcon from \"./components/copy\"\nimport LockIcon from \"./components/lock\"\nimport UnlockIcon from \"./components/unlock\"\n\nconst IconsPlugin = () => ({\n components: {\n ArrowUpIcon,\n ArrowDownIcon,\n ArrowIcon,\n CloseIcon,\n CopyIcon,\n LockIcon,\n UnlockIcon,\n }\n})\n\nexport default IconsPlugin","import { normalizeArray } from \"core/utils\"\n\nexport const UPDATE_LAYOUT = \"layout_update_layout\"\nexport const UPDATE_FILTER = \"layout_update_filter\"\nexport const UPDATE_MODE = \"layout_update_mode\"\nexport const SHOW = \"layout_show\"\n\n// export const ONLY_SHOW = \"layout_only_show\"\n\nexport function updateLayout(layout) {\n return {\n type: UPDATE_LAYOUT,\n payload: layout\n }\n}\n\nexport function updateFilter(filter) {\n return {\n type: UPDATE_FILTER,\n payload: filter\n }\n}\n\nexport function show(thing, shown=true) {\n thing = normalizeArray(thing)\n return {\n type: SHOW,\n payload: {thing, shown}\n }\n}\n\n// Simple string key-store, used for\nexport function changeMode(thing, mode=\"\") {\n thing = normalizeArray(thing)\n return {\n type: UPDATE_MODE,\n payload: {thing, mode}\n }\n}\n","import { fromJS } from \"immutable\"\nimport {\n UPDATE_LAYOUT,\n UPDATE_FILTER,\n UPDATE_MODE,\n SHOW\n} from \"./actions\"\n\nexport default {\n\n [UPDATE_LAYOUT]: (state, action) => state.set(\"layout\", action.payload),\n\n [UPDATE_FILTER]: (state, action) => state.set(\"filter\", action.payload),\n\n [SHOW]: (state, action) => {\n const isShown = action.payload.shown\n // This is one way to serialize an array, another (preferred) is to convert to json-pointer\n // TODO: use json-pointer serilization instead of fromJS(...), for performance\n const thingToShow = fromJS(action.payload.thing)\n // This is a map of paths to bools\n // eg: [one, two] => true\n // eg: [one] => false\n return state.update(\"shown\", fromJS({}), a => a.set(thingToShow, isShown))\n },\n\n [UPDATE_MODE]: (state, action) => {\n let thing = action.payload.thing\n let mode = action.payload.mode\n return state.setIn([\"modes\"].concat(thing), (mode || \"\") + \"\")\n }\n\n}\n","import { createSelector } from \"reselect\"\nimport { normalizeArray } from \"core/utils\"\nimport { fromJS } from \"immutable\"\n\nconst state = state => state\n\nexport const current = state => state.get(\"layout\")\n\nexport const currentFilter = state => state.get(\"filter\")\n\nexport const isShown = (state, thing, def) => {\n thing = normalizeArray(thing)\n return state.get(\"shown\", fromJS({})).get(fromJS(thing), def)\n}\n\nexport const whatMode = (state, thing, def=\"\") => {\n thing = normalizeArray(thing)\n return state.getIn([\"modes\", ...thing], def)\n}\n\nexport const showSummary = createSelector(\n state,\n state => !isShown(state, \"editor\")\n)\n","\nexport const taggedOperations = (oriSelector, system) => (state, ...args) => {\n let taggedOps = oriSelector(state, ...args)\n\n const { fn, layoutSelectors, getConfigs } = system.getSystem()\n const configs = getConfigs()\n const { maxDisplayedTags } = configs\n\n // Filter, if requested\n let filter = layoutSelectors.currentFilter()\n if (filter) {\n if (filter !== true && filter !== \"true\" && filter !== \"false\") {\n taggedOps = fn.opsFilter(taggedOps, filter)\n }\n }\n // Limit to [max] items, if specified\n if (maxDisplayedTags && !isNaN(maxDisplayedTags) && maxDisplayedTags >= 0) {\n taggedOps = taggedOps.slice(0, maxDisplayedTags)\n }\n\n return taggedOps\n}\n","import reducers from \"./reducers\"\nimport * as actions from \"./actions\"\nimport * as selectors from \"./selectors\"\nimport * as wrapSelectors from \"./spec-extensions/wrap-selector\"\n\nexport default function() {\n return {\n statePlugins: {\n layout: {\n reducers,\n actions,\n selectors\n },\n spec: {\n wrapSelectors\n }\n }\n }\n}\n","export default function ({configs}) {\n\n const levels = {\n \"debug\": 0,\n \"info\": 1,\n \"log\": 2,\n \"warn\": 3,\n \"error\": 4\n }\n\n const getLevel = (level) => levels[level] || -1\n\n let { logLevel } = configs\n let logLevelInt = getLevel(logLevel)\n\n function log(level, ...args) {\n if(getLevel(level) >= logLevelInt)\n // eslint-disable-next-line no-console\n console[level](...args)\n }\n\n log.warn = log.bind(null, \"warn\")\n log.error = log.bind(null, \"error\")\n log.info = log.bind(null, \"info\")\n log.debug = log.bind(null, \"debug\")\n\n return { rootInjects: { log } }\n}\n","let engaged = false\n\nexport default function() {\n\n return {\n statePlugins: {\n spec: {\n wrapActions: {\n updateSpec: (ori) => (...args) => {\n engaged = true\n return ori(...args)\n },\n updateJsonSpec: (ori, system) => (...args) => {\n const cb = system.getConfigs().onComplete\n if(engaged && typeof cb === \"function\") {\n // call `onComplete` on next tick, which allows React to\n // reconcile the DOM before we notify the user\n setTimeout(cb, 0)\n engaged = false\n }\n\n return ori(...args)\n }\n }\n }\n }\n }\n}\n","import { Map } from \"immutable\"\nimport win from \"../../window\"\n\n\n/**\n * if duplicate key name existed from FormData entries,\n * we mutated the key name by appending a hashIdx\n * @param {String} k - possibly mutated key name\n * @return {String} - src key name\n */\nconst extractKey = (k) => {\n const hashIdx = \"_**[]\"\n if (k.indexOf(hashIdx) < 0) {\n return k\n }\n return k.split(hashIdx)[0].trim()\n}\n\nconst escapeShell = (str) => {\n if (str === \"-d \") {\n return str\n }\n // eslint-disable-next-line no-useless-escape\n if (!/^[_\\/-]/g.test(str))\n return (\"'\" + str\n .replace(/'/g, \"'\\\\''\") + \"'\")\n else\n return str\n}\n\nconst escapeCMD = (str) => {\n str = str\n .replace(/\\^/g, \"^^\")\n .replace(/\\\\\"/g, \"\\\\\\\\\\\"\")\n .replace(/\"/g, \"\\\"\\\"\")\n .replace(/\\n/g, \"^\\n\")\n if (str === \"-d \") {\n return str\n .replace(/-d /g, \"-d ^\\n\")\n }\n // eslint-disable-next-line no-useless-escape\n if (!/^[_\\/-]/g.test(str))\n return \"\\\"\" + str + \"\\\"\"\n else\n return str\n}\n\nconst escapePowershell = (str) => {\n if (str === \"-d \") {\n return str\n }\n if (/\\n/.test(str)) {\n return \"@\\\"\\n\" + str.replace(/\"/g, \"\\\\\\\"\").replace(/`/g, \"``\").replace(/\\$/, \"`$\") + \"\\n\\\"@\"\n }\n // eslint-disable-next-line no-useless-escape\n if (!/^[_\\/-]/g.test(str))\n return \"'\" + str\n .replace(/\"/g, \"\\\"\\\"\")\n .replace(/'/g, \"''\") + \"'\"\n else\n return str\n}\n\nfunction getStringBodyOfMap(request) {\n let curlifyToJoin = []\n for (let [k, v] of request.get(\"body\").entrySeq()) {\n let extractedKey = extractKey(k)\n if (v instanceof win.File) {\n curlifyToJoin.push(` \"${extractedKey}\": {\\n \"name\": \"${v.name}\"${v.type ? `,\\n \"type\": \"${v.type}\"` : \"\"}\\n }`)\n } else {\n curlifyToJoin.push(` \"${extractedKey}\": ${JSON.stringify(v, null, 2).replace(/(\\r\\n|\\r|\\n)/g, \"\\n \")}`)\n }\n }\n return `{\\n${curlifyToJoin.join(\",\\n\")}\\n}`\n}\n\nconst curlify = (request, escape, newLine, ext = \"\") => {\n let isMultipartFormDataRequest = false\n let curlified = \"\"\n const addWords = (...args) => curlified += \" \" + args.map(escape).join(\" \")\n const addWordsWithoutLeadingSpace = (...args) => curlified += args.map(escape).join(\" \")\n const addNewLine = () => curlified += ` ${newLine}`\n const addIndent = (level = 1) => curlified += \" \".repeat(level)\n let headers = request.get(\"headers\")\n curlified += \"curl\" + ext\n\n if (request.has(\"curlOptions\")) {\n addWords(...request.get(\"curlOptions\"))\n }\n\n addWords(\"-X\", request.get(\"method\"))\n\n addNewLine()\n addIndent()\n addWordsWithoutLeadingSpace(`${request.get(\"url\")}`)\n\n if (headers && headers.size) {\n for (let p of request.get(\"headers\").entries()) {\n addNewLine()\n addIndent()\n let [h, v] = p\n addWordsWithoutLeadingSpace(\"-H\", `${h}: ${v}`)\n isMultipartFormDataRequest = isMultipartFormDataRequest || /^content-type$/i.test(h) && /^multipart\\/form-data$/i.test(v)\n }\n }\n\n const body = request.get(\"body\")\n if (body) {\n if (isMultipartFormDataRequest && [\"POST\", \"PUT\", \"PATCH\"].includes(request.get(\"method\"))) {\n for (let [k, v] of body.entrySeq()) {\n let extractedKey = extractKey(k)\n addNewLine()\n addIndent()\n addWordsWithoutLeadingSpace(\"-F\")\n\n /**\n * SwaggerClient produces specialized sub-class of File class, that only\n * accepts string data and retain this data in `data`\n * public property throughout the lifecycle of its instances.\n *\n * This sub-class is exclusively used only when Encoding Object\n * is defined within the Media Type Object (OpenAPI 3.x.y).\n */\n if (v instanceof win.File && typeof v.valueOf() === \"string\") {\n addWords(`${extractedKey}=${v.data}${v.type ? `;type=${v.type}` : \"\"}`)\n } else if (v instanceof win.File) {\n addWords(`${extractedKey}=@${v.name}${v.type ? `;type=${v.type}` : \"\"}`)\n } else {\n addWords(`${extractedKey}=${v}`)\n }\n }\n } else if(body instanceof win.File) {\n addNewLine()\n addIndent()\n addWordsWithoutLeadingSpace(`--data-binary '@${body.name}'`)\n } else {\n addNewLine()\n addIndent()\n addWordsWithoutLeadingSpace(\"-d \")\n let reqBody = body\n if (!Map.isMap(reqBody)) {\n if (typeof reqBody !== \"string\") {\n reqBody = JSON.stringify(reqBody)\n }\n addWordsWithoutLeadingSpace(reqBody)\n } else {\n addWordsWithoutLeadingSpace(getStringBodyOfMap(request))\n }\n }\n } else if (!body && request.get(\"method\") === \"POST\") {\n addNewLine()\n addIndent()\n addWordsWithoutLeadingSpace(\"-d ''\")\n }\n\n return curlified\n}\n\n// eslint-disable-next-line camelcase\nexport const requestSnippetGenerator_curl_powershell = (request) => {\n return curlify(request, escapePowershell, \"`\\n\", \".exe\")\n}\n\n// eslint-disable-next-line camelcase\nexport const requestSnippetGenerator_curl_bash = (request) => {\n return curlify(request, escapeShell, \"\\\\\\n\")\n}\n\n// eslint-disable-next-line camelcase\nexport const requestSnippetGenerator_curl_cmd = (request) => {\n return curlify(request, escapeCMD, \"^\\n\")\n}\n","import { createSelector } from \"reselect\"\nimport { Map } from \"immutable\"\n\nconst state = state => state || Map()\n\nexport const getGenerators = createSelector(\n state,\n state => {\n const languageKeys = state\n .get(\"languages\")\n const generators = state\n .get(\"generators\", Map())\n if(!languageKeys || languageKeys.isEmpty()) {\n return generators\n }\n return generators\n .filter((v, key) => languageKeys.includes(key))\n }\n)\n\nexport const getSnippetGenerators = (state) => ({ fn }) => {\n const getGenFn = (key) => fn[`requestSnippetGenerator_${key}`]\n return getGenerators(state)\n .map((gen, key) => {\n const genFn = getGenFn(key)\n if(typeof genFn !== \"function\") {\n return null\n }\n\n return gen.set(\"fn\", genFn)\n })\n .filter(v => v)\n}\n\nexport const getActiveLanguage = createSelector(\n state,\n state => state\n .get(\"activeLanguage\")\n)\n\nexport const getDefaultExpanded = createSelector(\n state,\n state => state\n .get(\"defaultExpanded\")\n)\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"CopyToClipboard\"]: () => __WEBPACK_EXTERNAL_MODULE_react_copy_to_clipboard_5b11dd57__.CopyToClipboard });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_light_746e1958__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_languages_hljs_javascript_e22911f7__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_languages_hljs_json_b876afc5__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_languages_hljs_xml_a81c807b__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_languages_hljs_bash_1621c621__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_languages_hljs_yaml_02838f34__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_languages_hljs_http_4e924b23__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_languages_hljs_powershell_d51eb4f6__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_styles_hljs_agate_99a46aa2__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_styles_hljs_arta_570691fc__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_styles_hljs_monokai_2529bafb__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_styles_hljs_nord_5bfa1099__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_styles_hljs_obsidian_a278dd52__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_styles_hljs_tomorrow_night_63765df9__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_styles_hljs_idea_023aba2e__[\"default\"] });","import SyntaxHighlighter from \"react-syntax-highlighter/dist/esm/light\"\nimport js from \"react-syntax-highlighter/dist/esm/languages/hljs/javascript\"\nimport json from \"react-syntax-highlighter/dist/esm/languages/hljs/json\"\nimport xml from \"react-syntax-highlighter/dist/esm/languages/hljs/xml\"\nimport bash from \"react-syntax-highlighter/dist/esm/languages/hljs/bash\"\nimport yaml from \"react-syntax-highlighter/dist/esm/languages/hljs/yaml\"\nimport http from \"react-syntax-highlighter/dist/esm/languages/hljs/http\"\nimport powershell from \"react-syntax-highlighter/dist/esm/languages/hljs/powershell\"\nimport javascript from \"react-syntax-highlighter/dist/esm/languages/hljs/javascript\"\n\nimport agate from \"react-syntax-highlighter/dist/esm/styles/hljs/agate\"\nimport arta from \"react-syntax-highlighter/dist/esm/styles/hljs/arta\"\nimport monokai from \"react-syntax-highlighter/dist/esm/styles/hljs/monokai\"\nimport nord from \"react-syntax-highlighter/dist/esm/styles/hljs/nord\"\nimport obsidian from \"react-syntax-highlighter/dist/esm/styles/hljs/obsidian\"\nimport tomorrowNight from \"react-syntax-highlighter/dist/esm/styles/hljs/tomorrow-night\"\nimport idea from \"react-syntax-highlighter/dist/esm/styles/hljs/idea\"\n\nSyntaxHighlighter.registerLanguage(\"json\", json)\nSyntaxHighlighter.registerLanguage(\"js\", js)\nSyntaxHighlighter.registerLanguage(\"xml\", xml)\nSyntaxHighlighter.registerLanguage(\"yaml\", yaml)\nSyntaxHighlighter.registerLanguage(\"http\", http)\nSyntaxHighlighter.registerLanguage(\"bash\", bash)\nSyntaxHighlighter.registerLanguage(\"powershell\", powershell)\nSyntaxHighlighter.registerLanguage(\"javascript\", javascript)\n\nconst styles = {agate, arta, monokai, nord, obsidian, \"tomorrow-night\": tomorrowNight, idea}\nexport const availableStyles = Object.keys(styles)\n\nexport const getStyle = name => {\n if (!availableStyles.includes(name)) {\n console.warn(`Request style '${name}' is not available, returning default instead`)\n return agate\n }\n return styles[name]\n}\n\nexport {SyntaxHighlighter, styles}\n","import React, { useRef, useEffect, useState } from \"react\"\nimport PropTypes from \"prop-types\"\nimport get from \"lodash/get\"\nimport isFunction from \"lodash/isFunction\"\nimport { CopyToClipboard } from \"react-copy-to-clipboard\"\nimport { SyntaxHighlighter, getStyle } from \"core/syntax-highlighting\"\n\nconst style = {\n cursor: \"pointer\",\n lineHeight: 1,\n display: \"inline-flex\",\n backgroundColor: \"rgb(250, 250, 250)\",\n paddingBottom: \"0\",\n paddingTop: \"0\",\n border: \"1px solid rgb(51, 51, 51)\",\n borderRadius: \"4px 4px 0 0\",\n boxShadow: \"none\",\n borderBottom: \"none\"\n}\n\nconst activeStyle = {\n cursor: \"pointer\",\n lineHeight: 1,\n display: \"inline-flex\",\n backgroundColor: \"rgb(51, 51, 51)\",\n boxShadow: \"none\",\n border: \"1px solid rgb(51, 51, 51)\",\n paddingBottom: \"0\",\n paddingTop: \"0\",\n borderRadius: \"4px 4px 0 0\",\n marginTop: \"-5px\",\n marginRight: \"-5px\",\n marginLeft: \"-5px\",\n zIndex: \"9999\",\n borderBottom: \"none\"\n}\n\nconst RequestSnippets = ({ request, requestSnippetsSelectors, getConfigs, getComponent }) => {\n const config = isFunction(getConfigs) ? getConfigs() : null\n const canSyntaxHighlight = get(config, \"syntaxHighlight\") !== false && get(config, \"syntaxHighlight.activated\", true)\n const rootRef = useRef(null)\n\n const ArrowIcon = getComponent(\"ArrowUpIcon\")\n const ArrowDownIcon = getComponent(\"ArrowDownIcon\")\n\n const [activeLanguage, setActiveLanguage] = useState(requestSnippetsSelectors.getSnippetGenerators()?.keySeq().first())\n const [isExpanded, setIsExpanded] = useState(requestSnippetsSelectors?.getDefaultExpanded())\n useEffect(() => {\n const doIt = () => {\n\n }\n doIt()\n }, [])\n useEffect(() => {\n const childNodes = Array\n .from(rootRef.current.childNodes)\n .filter(node => !!node.nodeType && node.classList?.contains(\"curl-command\"))\n // eslint-disable-next-line no-use-before-define\n childNodes.forEach(node => node.addEventListener(\"mousewheel\", handlePreventYScrollingBeyondElement, { passive: false }))\n\n return () => {\n // eslint-disable-next-line no-use-before-define\n childNodes.forEach(node => node.removeEventListener(\"mousewheel\", handlePreventYScrollingBeyondElement))\n }\n }, [request])\n\n const snippetGenerators = requestSnippetsSelectors.getSnippetGenerators()\n const activeGenerator = snippetGenerators.get(activeLanguage)\n const snippet = activeGenerator.get(\"fn\")(request)\n\n const handleGenChange = (key) => {\n const needsChange = activeLanguage !== key\n if (needsChange) {\n setActiveLanguage(key)\n }\n }\n\n const handleSetIsExpanded = () => {\n setIsExpanded(!isExpanded)\n }\n\n const handleGetBtnStyle = (key) => {\n if (key === activeLanguage) {\n return activeStyle\n }\n return style\n }\n\n const handlePreventYScrollingBeyondElement = (e) => {\n const { target, deltaY } = e\n const { scrollHeight: contentHeight, offsetHeight: visibleHeight, scrollTop } = target\n const scrollOffset = visibleHeight + scrollTop\n const isElementScrollable = contentHeight > visibleHeight\n const isScrollingPastTop = scrollTop === 0 && deltaY < 0\n const isScrollingPastBottom = scrollOffset >= contentHeight && deltaY > 0\n\n if (isElementScrollable && (isScrollingPastTop || isScrollingPastBottom)) {\n e.preventDefault()\n }\n }\n\n const SnippetComponent = canSyntaxHighlight\n ? \n {snippet}\n \n :\n \n\n return (\n
\n
\n handleSetIsExpanded()}\n style={{ cursor: \"pointer\" }}\n >Snippets\n handleSetIsExpanded()}\n style={{ border: \"none\", background: \"none\" }}\n title={isExpanded ? \"Collapse operation\" : \"Expand operation\"}\n >\n {isExpanded ? : }\n \n
\n {\n isExpanded &&
\n
\n {\n snippetGenerators.entrySeq().map(([key, gen]) => {\n return (
handleGenChange(key)}>\n

{gen.get(\"title\")}

\n
)\n })\n }\n
\n
\n \n
\n
\n {SnippetComponent}\n
\n
\n }\n
\n ) \n}\n\nRequestSnippets.propTypes = {\n request: PropTypes.object.isRequired,\n requestSnippetsSelectors: PropTypes.object.isRequired,\n getConfigs: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n requestSnippetsActions: PropTypes.object,\n}\n\nexport default RequestSnippets\n","import * as fn from \"./fn\"\nimport * as selectors from \"./selectors\"\nimport RequestSnippets from \"./request-snippets\"\nexport default () => {\n return {\n components: {\n RequestSnippets\n },\n fn,\n statePlugins: {\n requestSnippets: {\n selectors\n }\n }\n }\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_randexp__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_isEmpty_e109fd6b__[\"default\"] });","import memoize from \"lodash/memoize\"\n\n/**\n * This function is extension on top of lodash.memoize.\n * It uses all the arguments of the `fn` as the cache key instead of just the first one.\n * If resolver is provided, it determines the cache key for\n * storing the result based on the arguments provided to the memoized function.\n */\n\nconst shallowArrayEquals = (a) => (b) => {\n return Array.isArray(a) && Array.isArray(b)\n && a.length === b.length\n && a.every((val, index) => val === b[index])\n}\n\nconst list = (...args) => args\n\nclass Cache extends Map {\n delete(key) {\n const keys = Array.from(this.keys())\n const foundKey = keys.find(shallowArrayEquals(key))\n return super.delete(foundKey)\n }\n\n get(key) {\n const keys = Array.from(this.keys())\n const foundKey = keys.find(shallowArrayEquals(key))\n return super.get(foundKey)\n }\n\n has(key) {\n const keys = Array.from(this.keys())\n return keys.findIndex(shallowArrayEquals(key)) !== -1\n }\n}\n\nconst memoizeN = (fn, resolver = list) => {\n const { Cache: OriginalCache } = memoize\n memoize.Cache = Cache\n\n const memoized = memoize(fn, resolver)\n\n memoize.Cache = OriginalCache\n\n return memoized\n}\n\nexport default memoizeN\n","import XML from \"xml\"\nimport RandExp from \"randexp\"\nimport isEmpty from \"lodash/isEmpty\"\nimport { objectify, isFunc, normalizeArray, deeplyStripKey } from \"core/utils\"\nimport memoizeN from \"core/utils/memoizeN\"\n\nconst generateStringFromRegex = (pattern) => {\n try {\n const randexp = new RandExp(pattern)\n return randexp.gen()\n } catch (e) {\n // Invalid regex should not cause a crash (regex syntax varies across languages)\n return \"string\"\n }\n}\n\nconst primitives = {\n \"string\": (schema) => schema.pattern ? generateStringFromRegex(schema.pattern) : \"string\",\n \"string_email\": () => \"user@example.com\",\n \"string_date-time\": () => new Date().toISOString(),\n \"string_date\": () => new Date().toISOString().substring(0, 10),\n \"string_uuid\": () => \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"string_hostname\": () => \"example.com\",\n \"string_ipv4\": () => \"198.51.100.42\",\n \"string_ipv6\": () => \"2001:0db8:5b96:0000:0000:426f:8e17:642a\",\n \"number\": () => 0,\n \"number_float\": () => 0.0,\n \"integer\": () => 0,\n \"boolean\": (schema) => typeof schema.default === \"boolean\" ? schema.default : true\n}\n\nconst primitive = (schema) => {\n schema = objectify(schema)\n let { type, format } = schema\n\n let fn = primitives[`${type}_${format}`] || primitives[type]\n\n if(isFunc(fn))\n return fn(schema)\n\n return \"Unknown Type: \" + schema.type\n}\n\n// do a couple of quick sanity tests to ensure the value\n// looks like a $$ref that swagger-client generates.\nconst sanitizeRef = (value) => deeplyStripKey(value, \"$$ref\", (val) =>\n typeof val === \"string\" && val.indexOf(\"#\") > -1)\n\nconst objectContracts = [\"maxProperties\", \"minProperties\"]\nconst arrayContracts = [\"minItems\", \"maxItems\"]\nconst numberContracts = [\n \"minimum\",\n \"maximum\",\n \"exclusiveMinimum\",\n \"exclusiveMaximum\"\n]\nconst stringContracts = [\"minLength\", \"maxLength\"]\n\nconst liftSampleHelper = (oldSchema, target, config = {}) => {\n const setIfNotDefinedInTarget = (key) => {\n if(target[key] === undefined && oldSchema[key] !== undefined) {\n target[key] = oldSchema[key]\n }\n }\n\n [\n \"example\",\n \"default\",\n \"enum\",\n \"xml\",\n \"type\",\n ...objectContracts,\n ...arrayContracts,\n ...numberContracts,\n ...stringContracts,\n ].forEach(key => setIfNotDefinedInTarget(key))\n\n if(oldSchema.required !== undefined && Array.isArray(oldSchema.required)) {\n if(target.required === undefined || !target.required.length) {\n target.required = []\n }\n oldSchema.required.forEach(key => {\n if(target.required.includes(key)) {\n return\n }\n target.required.push(key)\n })\n }\n if(oldSchema.properties) {\n if(!target.properties) {\n target.properties = {}\n }\n let props = objectify(oldSchema.properties)\n for (let propName in props) {\n if (!Object.prototype.hasOwnProperty.call(props, propName)) {\n continue\n }\n if ( props[propName] && props[propName].deprecated ) {\n continue\n }\n if ( props[propName] && props[propName].readOnly && !config.includeReadOnly ) {\n continue\n }\n if ( props[propName] && props[propName].writeOnly && !config.includeWriteOnly ) {\n continue\n }\n if(!target.properties[propName]) {\n target.properties[propName] = props[propName]\n if(!oldSchema.required && Array.isArray(oldSchema.required) && oldSchema.required.indexOf(propName) !== -1) {\n if(!target.required) {\n target.required = [propName]\n } else {\n target.required.push(propName)\n }\n }\n }\n }\n }\n if(oldSchema.items) {\n if(!target.items) {\n target.items = {}\n }\n target.items = liftSampleHelper(oldSchema.items, target.items, config)\n }\n\n return target\n}\n\nexport const sampleFromSchemaGeneric = (schema, config={}, exampleOverride = undefined, respectXML = false) => {\n if(schema && isFunc(schema.toJS))\n schema = schema.toJS()\n let usePlainValue = exampleOverride !== undefined || schema && schema.example !== undefined || schema && schema.default !== undefined\n // first check if there is the need of combining this schema with others required by allOf\n const hasOneOf = !usePlainValue && schema && schema.oneOf && schema.oneOf.length > 0\n const hasAnyOf = !usePlainValue && schema && schema.anyOf && schema.anyOf.length > 0\n if(!usePlainValue && (hasOneOf || hasAnyOf)) {\n const schemaToAdd = objectify(hasOneOf\n ? schema.oneOf[0]\n : schema.anyOf[0]\n )\n liftSampleHelper(schemaToAdd, schema, config)\n if(!schema.xml && schemaToAdd.xml) {\n schema.xml = schemaToAdd.xml\n }\n if(schema.example !== undefined && schemaToAdd.example !== undefined) {\n usePlainValue = true\n } else if(schemaToAdd.properties) {\n if(!schema.properties) {\n schema.properties = {}\n }\n let props = objectify(schemaToAdd.properties)\n for (let propName in props) {\n if (!Object.prototype.hasOwnProperty.call(props, propName)) {\n continue\n }\n if ( props[propName] && props[propName].deprecated ) {\n continue\n }\n if ( props[propName] && props[propName].readOnly && !config.includeReadOnly ) {\n continue\n }\n if ( props[propName] && props[propName].writeOnly && !config.includeWriteOnly ) {\n continue\n }\n if(!schema.properties[propName]) {\n schema.properties[propName] = props[propName]\n if(!schemaToAdd.required && Array.isArray(schemaToAdd.required) && schemaToAdd.required.indexOf(propName) !== -1) {\n if(!schema.required) {\n schema.required = [propName]\n } else {\n schema.required.push(propName)\n }\n }\n }\n }\n }\n }\n const _attr = {}\n let { xml, type, example, properties, additionalProperties, items } = schema || {}\n let { includeReadOnly, includeWriteOnly } = config\n xml = xml || {}\n let { name, prefix, namespace } = xml\n let displayName\n let res = {}\n\n // set xml naming and attributes\n if(respectXML) {\n name = name || \"notagname\"\n // add prefix to name if exists\n displayName = (prefix ? prefix + \":\" : \"\") + name\n if ( namespace ) {\n //add prefix to namespace if exists\n let namespacePrefix = prefix ? ( \"xmlns:\" + prefix ) : \"xmlns\"\n _attr[namespacePrefix] = namespace\n }\n }\n\n // init xml default response sample obj\n if(respectXML) {\n res[displayName] = []\n }\n\n const schemaHasAny = (keys) => keys.some(key => Object.prototype.hasOwnProperty.call(schema, key))\n // try recover missing type\n if(schema && !type) {\n if(properties || additionalProperties || schemaHasAny(objectContracts)) {\n type = \"object\"\n } else if(items || schemaHasAny(arrayContracts)) {\n type = \"array\"\n } else if(schemaHasAny(numberContracts)) {\n type = \"number\"\n schema.type = \"number\"\n } else if(!usePlainValue && !schema.enum){\n // implicit cover schemaHasAny(stringContracts) or A schema without a type matches any data type is:\n // components:\n // schemas:\n // AnyValue:\n // anyOf:\n // - type: string\n // - type: number\n // - type: integer\n // - type: boolean\n // - type: array\n // items: {}\n // - type: object\n //\n // which would resolve to type: string\n type = \"string\"\n schema.type = \"string\"\n }\n }\n\n const handleMinMaxItems = (sampleArray) => {\n if (schema?.maxItems !== null && schema?.maxItems !== undefined) {\n sampleArray = sampleArray.slice(0, schema?.maxItems)\n }\n if (schema?.minItems !== null && schema?.minItems !== undefined) {\n let i = 0\n while (sampleArray.length < schema?.minItems) {\n sampleArray.push(sampleArray[i++ % sampleArray.length])\n }\n }\n return sampleArray\n }\n\n // add to result helper init for xml or json\n const props = objectify(properties)\n let addPropertyToResult\n let propertyAddedCounter = 0\n\n const hasExceededMaxProperties = () => schema\n && schema.maxProperties !== null && schema.maxProperties !== undefined\n && propertyAddedCounter >= schema.maxProperties\n\n const requiredPropertiesToAdd = () => {\n if(!schema || !schema.required) {\n return 0\n }\n let addedCount = 0\n if(respectXML) {\n schema.required.forEach(key => addedCount +=\n res[key] === undefined\n ? 0\n : 1\n )\n } else {\n schema.required.forEach(key => addedCount +=\n res[displayName]?.find(x => x[key] !== undefined) === undefined\n ? 0\n : 1\n )\n }\n return schema.required.length - addedCount\n }\n\n const isOptionalProperty = (propName) => {\n if(!schema || !schema.required || !schema.required.length) {\n return true\n }\n return !schema.required.includes(propName)\n }\n\n const canAddProperty = (propName) => {\n if(!schema || schema.maxProperties === null || schema.maxProperties === undefined) {\n return true\n }\n if(hasExceededMaxProperties()) {\n return false\n }\n if(!isOptionalProperty(propName)) {\n return true\n }\n return (schema.maxProperties - propertyAddedCounter - requiredPropertiesToAdd()) > 0\n }\n\n if(respectXML) {\n addPropertyToResult = (propName, overrideE = undefined) => {\n if(schema && props[propName]) {\n // case it is an xml attribute\n props[propName].xml = props[propName].xml || {}\n\n if (props[propName].xml.attribute) {\n const enumAttrVal = Array.isArray(props[propName].enum)\n ? props[propName].enum[0]\n : undefined\n const attrExample = props[propName].example\n const attrDefault = props[propName].default\n\n if(attrExample !== undefined) {\n _attr[props[propName].xml.name || propName] = attrExample\n } else if(attrDefault !== undefined) {\n _attr[props[propName].xml.name || propName] = attrDefault\n } else if(enumAttrVal !== undefined) {\n _attr[props[propName].xml.name || propName] = enumAttrVal\n } else {\n _attr[props[propName].xml.name || propName] = primitive(props[propName])\n }\n\n return\n }\n props[propName].xml.name = props[propName].xml.name || propName\n } else if(!props[propName] && additionalProperties !== false) {\n // case only additionalProperty that is not defined in schema\n props[propName] = {\n xml: {\n name: propName\n }\n }\n }\n\n let t = sampleFromSchemaGeneric(schema && props[propName] || undefined, config, overrideE, respectXML)\n if(!canAddProperty(propName)) {\n return\n }\n\n propertyAddedCounter++\n if (Array.isArray(t)) {\n res[displayName] = res[displayName].concat(t)\n } else {\n res[displayName].push(t)\n }\n }\n } else {\n addPropertyToResult = (propName, overrideE) => {\n if(!canAddProperty(propName)) {\n return\n }\n if(Object.prototype.hasOwnProperty.call(schema, \"discriminator\") &&\n schema.discriminator &&\n Object.prototype.hasOwnProperty.call(schema.discriminator, \"mapping\") &&\n schema.discriminator.mapping &&\n Object.prototype.hasOwnProperty.call(schema, \"$$ref\") &&\n schema.$$ref &&\n schema.discriminator.propertyName === propName) {\n for (let pair in schema.discriminator.mapping){\n if (schema.$$ref.search(schema.discriminator.mapping[pair]) !== -1) {\n res[propName] = pair\n break\n }\n }\n } else {\n res[propName] = sampleFromSchemaGeneric(props[propName], config, overrideE, respectXML)\n }\n propertyAddedCounter++\n }\n }\n\n // check for plain value and if found use it to generate sample from it\n if(usePlainValue) {\n let sample\n if(exampleOverride !== undefined) {\n sample = sanitizeRef(exampleOverride)\n } else if(example !== undefined) {\n sample = sanitizeRef(example)\n } else {\n sample = sanitizeRef(schema.default)\n }\n\n // if json just return\n if(!respectXML) {\n // spacial case yaml parser can not know about\n if(typeof sample === \"number\" && type === \"string\") {\n return `${sample}`\n }\n // return if sample does not need any parsing\n if(typeof sample !== \"string\" || type === \"string\") {\n return sample\n }\n // check if sample is parsable or just a plain string\n try {\n return JSON.parse(sample)\n } catch(e) {\n // sample is just plain string return it\n return sample\n }\n }\n\n // recover missing type\n if(!schema) {\n type = Array.isArray(sample) ? \"array\" : typeof sample\n }\n\n // generate xml sample recursively for array case\n if(type === \"array\") {\n if (!Array.isArray(sample)) {\n if(typeof sample === \"string\") {\n return sample\n }\n sample = [sample]\n }\n const itemSchema = schema\n ? schema.items\n : undefined\n if(itemSchema) {\n itemSchema.xml = itemSchema.xml || xml || {}\n itemSchema.xml.name = itemSchema.xml.name || xml.name\n }\n let itemSamples = sample\n .map(s => sampleFromSchemaGeneric(itemSchema, config, s, respectXML))\n itemSamples = handleMinMaxItems(itemSamples)\n if(xml.wrapped) {\n res[displayName] = itemSamples\n if (!isEmpty(_attr)) {\n res[displayName].push({_attr: _attr})\n }\n }\n else {\n res = itemSamples\n }\n return res\n }\n\n // generate xml sample recursively for object case\n if(type === \"object\") {\n // case literal example\n if(typeof sample === \"string\") {\n return sample\n }\n for (let propName in sample) {\n if (!Object.prototype.hasOwnProperty.call(sample, propName)) {\n continue\n }\n if (schema && props[propName] && props[propName].readOnly && !includeReadOnly) {\n continue\n }\n if (schema && props[propName] && props[propName].writeOnly && !includeWriteOnly) {\n continue\n }\n if (schema && props[propName] && props[propName].xml && props[propName].xml.attribute) {\n _attr[props[propName].xml.name || propName] = sample[propName]\n continue\n }\n addPropertyToResult(propName, sample[propName])\n }\n if (!isEmpty(_attr)) {\n res[displayName].push({_attr: _attr})\n }\n\n return res\n }\n\n res[displayName] = !isEmpty(_attr) ? [{_attr: _attr}, sample] : sample\n return res\n }\n\n // use schema to generate sample\n\n if(type === \"object\") {\n for (let propName in props) {\n if (!Object.prototype.hasOwnProperty.call(props, propName)) {\n continue\n }\n if ( props[propName] && props[propName].deprecated ) {\n continue\n }\n if ( props[propName] && props[propName].readOnly && !includeReadOnly ) {\n continue\n }\n if ( props[propName] && props[propName].writeOnly && !includeWriteOnly ) {\n continue\n }\n addPropertyToResult(propName)\n }\n if (respectXML && _attr) {\n res[displayName].push({_attr: _attr})\n }\n\n if(hasExceededMaxProperties()) {\n return res\n }\n\n if ( additionalProperties === true ) {\n if(respectXML) {\n res[displayName].push({additionalProp: \"Anything can be here\"})\n } else {\n res.additionalProp1 = {}\n }\n propertyAddedCounter++\n } else if ( additionalProperties ) {\n const additionalProps = objectify(additionalProperties)\n const additionalPropSample = sampleFromSchemaGeneric(additionalProps, config, undefined, respectXML)\n\n if(respectXML && additionalProps.xml && additionalProps.xml.name && additionalProps.xml.name !== \"notagname\")\n {\n res[displayName].push(additionalPropSample)\n } else {\n const toGenerateCount = schema.minProperties !== null && schema.minProperties !== undefined && propertyAddedCounter < schema.minProperties\n ? schema.minProperties - propertyAddedCounter\n : 3\n for (let i = 1; i <= toGenerateCount; i++) {\n if(hasExceededMaxProperties()) {\n return res\n }\n if(respectXML) {\n const temp = {}\n temp[\"additionalProp\" + i] = additionalPropSample[\"notagname\"]\n res[displayName].push(temp)\n } else {\n res[\"additionalProp\" + i] = additionalPropSample\n }\n propertyAddedCounter++\n }\n }\n }\n return res\n }\n\n if(type === \"array\") {\n if (!items) {\n return\n }\n\n let sampleArray\n if(respectXML) {\n items.xml = items.xml || schema?.xml || {}\n items.xml.name = items.xml.name || xml.name\n }\n\n if(Array.isArray(items.anyOf)) {\n sampleArray = items.anyOf.map(i => sampleFromSchemaGeneric(liftSampleHelper(items, i, config), config, undefined, respectXML))\n } else if(Array.isArray(items.oneOf)) {\n sampleArray = items.oneOf.map(i => sampleFromSchemaGeneric(liftSampleHelper(items, i, config), config, undefined, respectXML))\n } else if(!respectXML || respectXML && xml.wrapped) {\n sampleArray = [sampleFromSchemaGeneric(items, config, undefined, respectXML)]\n } else {\n return sampleFromSchemaGeneric(items, config, undefined, respectXML)\n }\n sampleArray = handleMinMaxItems(sampleArray)\n if(respectXML && xml.wrapped) {\n res[displayName] = sampleArray\n if (!isEmpty(_attr)) {\n res[displayName].push({_attr: _attr})\n }\n return res\n }\n return sampleArray\n }\n\n let value\n if (schema && Array.isArray(schema.enum)) {\n //display enum first value\n value = normalizeArray(schema.enum)[0]\n } else if(schema) {\n // display schema default\n value = primitive(schema)\n if(typeof value === \"number\") {\n let min = schema.minimum\n if(min !== undefined && min !== null) {\n if(schema.exclusiveMinimum) {\n min++\n }\n value = min\n }\n let max = schema.maximum\n if(max !== undefined && max !== null) {\n if(schema.exclusiveMaximum) {\n max--\n }\n value = max\n }\n }\n if(typeof value === \"string\") {\n if (schema.maxLength !== null && schema.maxLength !== undefined) {\n value = value.slice(0, schema.maxLength)\n }\n if (schema.minLength !== null && schema.minLength !== undefined) {\n let i = 0\n while (value.length < schema.minLength) {\n value += value[i++ % value.length]\n }\n }\n }\n } else {\n return\n }\n if (type === \"file\") {\n return\n }\n\n if(respectXML) {\n res[displayName] = !isEmpty(_attr) ? [{_attr: _attr}, value] : value\n return res\n }\n\n return value\n}\n\nexport const inferSchema = (thing) => {\n if(thing.schema)\n thing = thing.schema\n\n if(thing.properties) {\n thing.type = \"object\"\n }\n\n return thing // Hopefully this will have something schema like in it... `type` for example\n}\n\nexport const createXMLExample = (schema, config, o) => {\n const json = sampleFromSchemaGeneric(schema, config, o, true)\n if (!json) { return }\n if(typeof json === \"string\") {\n return json\n }\n return XML(json, { declaration: true, indent: \"\\t\" })\n}\n\nexport const sampleFromSchema = (schema, config, o) =>\n sampleFromSchemaGeneric(schema, config, o, false)\n\nconst resolver = (arg1, arg2, arg3) => [arg1, JSON.stringify(arg2), JSON.stringify(arg3)]\n\nexport const memoizedCreateXMLExample = memoizeN(createXMLExample, resolver)\n\nexport const memoizedSampleFromSchema = memoizeN(sampleFromSchema, resolver)\n","/**\n * @prettier\n */\nimport some from \"lodash/some\"\n\nconst shouldStringifyTypesConfig = [\n {\n when: /json/,\n shouldStringifyTypes: [\"string\"],\n },\n]\nconst defaultStringifyTypes = [\"object\"]\nconst makeGetJsonSampleSchema =\n (getSystem) => (schema, config, contentType, exampleOverride) => {\n const { fn } = getSystem()\n const res = fn.memoizedSampleFromSchema(schema, config, exampleOverride)\n const resType = typeof res\n\n const typesToStringify = shouldStringifyTypesConfig.reduce(\n (types, nextConfig) =>\n nextConfig.when.test(contentType)\n ? [...types, ...nextConfig.shouldStringifyTypes]\n : types,\n defaultStringifyTypes\n )\n\n return some(typesToStringify, (x) => x === resType)\n ? JSON.stringify(res, null, 2)\n : res\n }\n\nexport default makeGetJsonSampleSchema\n","/**\n * @prettier\n */\nimport YAML, { JSON_SCHEMA } from \"js-yaml\"\n\nconst makeGetYamlSampleSchema =\n (getSystem) => (schema, config, contentType, exampleOverride) => {\n const { fn } = getSystem()\n const jsonExample = fn.getJsonSampleSchema(\n schema,\n config,\n contentType,\n exampleOverride\n )\n let yamlString\n try {\n yamlString = YAML.dump(\n YAML.load(jsonExample),\n {\n lineWidth: -1, // don't generate line folds\n },\n { schema: JSON_SCHEMA }\n )\n if (yamlString[yamlString.length - 1] === \"\\n\") {\n yamlString = yamlString.slice(0, yamlString.length - 1)\n }\n } catch (e) {\n console.error(e)\n return \"error: could not generate yaml example\"\n }\n return yamlString.replace(/\\t/g, \" \")\n }\n\nexport default makeGetYamlSampleSchema\n","/**\n * @prettier\n */\nconst makeGetXmlSampleSchema =\n (getSystem) => (schema, config, exampleOverride) => {\n const { fn } = getSystem()\n\n if (schema && !schema.xml) {\n schema.xml = {}\n }\n if (schema && !schema.xml.name) {\n if (\n !schema.$$ref &&\n (schema.type ||\n schema.items ||\n schema.properties ||\n schema.additionalProperties)\n ) {\n // eslint-disable-next-line quotes\n return '\\n'\n }\n if (schema.$$ref) {\n let match = schema.$$ref.match(/\\S*\\/(\\S+)$/)\n schema.xml.name = match[1]\n }\n }\n\n return fn.memoizedCreateXMLExample(schema, config, exampleOverride)\n }\n\nexport default makeGetXmlSampleSchema\n","/**\n * @prettier\n */\nconst makeGetSampleSchema =\n (getSystem) =>\n (schema, contentType = \"\", config = {}, exampleOverride = undefined) => {\n const { fn } = getSystem()\n\n if (typeof schema?.toJS === \"function\") {\n schema = schema.toJS()\n }\n if (typeof exampleOverride?.toJS === \"function\") {\n exampleOverride = exampleOverride.toJS()\n }\n\n if (/xml/.test(contentType)) {\n return fn.getXmlSampleSchema(schema, config, exampleOverride)\n }\n if (/(yaml|yml)/.test(contentType)) {\n return fn.getYamlSampleSchema(\n schema,\n config,\n contentType,\n exampleOverride\n )\n }\n return fn.getJsonSampleSchema(schema, config, contentType, exampleOverride)\n }\n\nexport default makeGetSampleSchema\n","/**\n * @prettier\n */\nimport {\n sampleFromSchema,\n inferSchema,\n sampleFromSchemaGeneric,\n createXMLExample,\n memoizedCreateXMLExample,\n memoizedSampleFromSchema,\n} from \"./fn/index\"\nimport makeGetJsonSampleSchema from \"./fn/get-json-sample-schema\"\nimport makeGetYamlSampleSchema from \"./fn/get-yaml-sample-schema\"\nimport makeGetXmlSampleSchema from \"./fn/get-xml-sample-schema\"\nimport makeGetSampleSchema from \"./fn/get-sample-schema\"\n\nconst JSONSchema5SamplesPlugin = ({ getSystem }) => {\n const getJsonSampleSchema = makeGetJsonSampleSchema(getSystem)\n const getYamlSampleSchema = makeGetYamlSampleSchema(getSystem)\n const getXmlSampleSchema = makeGetXmlSampleSchema(getSystem)\n const getSampleSchema = makeGetSampleSchema(getSystem)\n\n return {\n fn: {\n jsonSchema5: {\n inferSchema,\n sampleFromSchema,\n sampleFromSchemaGeneric,\n createXMLExample,\n memoizedSampleFromSchema,\n memoizedCreateXMLExample,\n getJsonSampleSchema,\n getYamlSampleSchema,\n getXmlSampleSchema,\n getSampleSchema,\n },\n inferSchema,\n sampleFromSchema,\n sampleFromSchemaGeneric,\n createXMLExample,\n memoizedSampleFromSchema,\n memoizedCreateXMLExample,\n getJsonSampleSchema,\n getYamlSampleSchema,\n getXmlSampleSchema,\n getSampleSchema,\n },\n }\n}\n\nexport default JSONSchema5SamplesPlugin\n","import { createSelector } from \"reselect\"\nimport { sorters, paramToIdentifier } from \"core/utils\"\nimport { fromJS, Set, Map, OrderedMap, List } from \"immutable\"\n\nconst DEFAULT_TAG = \"default\"\n\nconst OPERATION_METHODS = [\n \"get\", \"put\", \"post\", \"delete\", \"options\", \"head\", \"patch\", \"trace\"\n]\n\nconst state = state => {\n return state || Map()\n}\n\nexport const lastError = createSelector(\n state,\n spec => spec.get(\"lastError\")\n)\n\nexport const url = createSelector(\n state,\n spec => spec.get(\"url\")\n)\n\nexport const specStr = createSelector(\n state,\n spec => spec.get(\"spec\") || \"\"\n)\n\nexport const specSource = createSelector(\n state,\n spec => spec.get(\"specSource\") || \"not-editor\"\n)\n\nexport const specJson = createSelector(\n state,\n spec => spec.get(\"json\", Map())\n)\n\nexport const specJS = createSelector(\n specJson,\n (spec) => spec.toJS()\n)\n\nexport const specResolved = createSelector(\n state,\n spec => spec.get(\"resolved\", Map())\n)\n\nexport const specResolvedSubtree = (state, path) => {\n return state.getIn([\"resolvedSubtrees\", ...path], undefined)\n}\n\nconst mergerFn = (oldVal, newVal) => {\n if(Map.isMap(oldVal) && Map.isMap(newVal)) {\n if(newVal.get(\"$$ref\")) {\n // resolver artifacts indicated that this key was directly resolved\n // so we should drop the old value entirely\n return newVal\n }\n\n return OrderedMap().mergeWith(\n mergerFn,\n oldVal,\n newVal\n )\n }\n\n return newVal\n}\n\nexport const specJsonWithResolvedSubtrees = createSelector(\n state,\n spec => OrderedMap().mergeWith(\n mergerFn,\n spec.get(\"json\"),\n spec.get(\"resolvedSubtrees\")\n )\n)\n\n// Default Spec ( as an object )\nexport const spec = state => {\n let res = specJson(state)\n return res\n}\n\nexport const isOAS3 = createSelector(\n // isOAS3 is stubbed out here to work around an issue with injecting more selectors\n // in the OAS3 plugin, and to ensure that the function is always available.\n // It's not perfect, but our hybrid (core+plugin code) implementation for OAS3\n // needs this. //KS\n spec,\n\t() => false\n)\n\nexport const info = createSelector(\n spec,\n\tspec => returnSelfOrNewMap(spec && spec.get(\"info\"))\n)\n\nexport const externalDocs = createSelector(\n spec,\n\tspec => returnSelfOrNewMap(spec && spec.get(\"externalDocs\"))\n)\n\nexport const version = createSelector(\n\tinfo,\n\tinfo => info && info.get(\"version\")\n)\n\nexport const semver = createSelector(\n\tversion,\n\tversion => /v?([0-9]*)\\.([0-9]*)\\.([0-9]*)/i.exec(version).slice(1)\n)\n\nexport const paths = createSelector(\n\tspecJsonWithResolvedSubtrees,\n\tspec => spec.get(\"paths\")\n)\n\nexport const validOperationMethods = createSelector(() => [\"get\", \"put\", \"post\", \"delete\", \"options\", \"head\", \"patch\"])\n\nexport const operations = createSelector(\n paths,\n paths => {\n if(!paths || paths.size < 1)\n return List()\n\n let list = List()\n\n if(!paths || !paths.forEach) {\n return List()\n }\n\n paths.forEach((path, pathName) => {\n if(!path || !path.forEach) {\n return {}\n }\n path.forEach((operation, method) => {\n if(OPERATION_METHODS.indexOf(method) < 0) {\n return\n }\n list = list.push(fromJS({\n path: pathName,\n method,\n operation,\n id: `${method}-${pathName}`\n }))\n })\n })\n\n return list\n }\n)\n\nexport const consumes = createSelector(\n spec,\n spec => Set(spec.get(\"consumes\"))\n)\n\nexport const produces = createSelector(\n spec,\n spec => Set(spec.get(\"produces\"))\n)\n\nexport const security = createSelector(\n spec,\n spec => spec.get(\"security\", List())\n)\n\nexport const securityDefinitions = createSelector(\n spec,\n spec => spec.get(\"securityDefinitions\")\n)\n\n\nexport const findDefinition = ( state, name ) => {\n const resolvedRes = state.getIn([\"resolvedSubtrees\", \"definitions\", name], null)\n const unresolvedRes = state.getIn([\"json\", \"definitions\", name], null)\n return resolvedRes || unresolvedRes || null\n}\n\nexport const definitions = createSelector(\n spec,\n spec => {\n const res = spec.get(\"definitions\")\n return Map.isMap(res) ? res : Map()\n }\n)\n\nexport const basePath = createSelector(\n spec,\n spec => spec.get(\"basePath\")\n)\n\nexport const host = createSelector(\n spec,\n spec => spec.get(\"host\")\n)\n\nexport const schemes = createSelector(\n spec,\n spec => spec.get(\"schemes\", Map())\n)\n\nexport const operationsWithRootInherited = createSelector(\n operations,\n consumes,\n produces,\n (operations, consumes, produces) => {\n return operations.map( ops => ops.update(\"operation\", op => {\n if(op) {\n if(!Map.isMap(op)) { return }\n return op.withMutations( op => {\n if ( !op.get(\"consumes\") ) {\n op.update(\"consumes\", a => Set(a).merge(consumes))\n }\n if ( !op.get(\"produces\") ) {\n op.update(\"produces\", a => Set(a).merge(produces))\n }\n return op\n })\n } else {\n // return something with Immutable methods\n return Map()\n }\n\n }))\n }\n)\n\nexport const tags = createSelector(\n spec,\n json => {\n const tags = json.get(\"tags\", List())\n return List.isList(tags) ? tags.filter(tag => Map.isMap(tag)) : List()\n }\n)\n\nexport const tagDetails = (state, tag) => {\n let currentTags = tags(state) || List()\n return currentTags.filter(Map.isMap).find(t => t.get(\"name\") === tag, Map())\n}\n\nexport const operationsWithTags = createSelector(\n operationsWithRootInherited,\n tags,\n (operations, tags) => {\n return operations.reduce( (taggedMap, op) => {\n let tags = Set(op.getIn([\"operation\",\"tags\"]))\n if(tags.count() < 1)\n return taggedMap.update(DEFAULT_TAG, List(), ar => ar.push(op))\n return tags.reduce( (res, tag) => res.update(tag, List(), (ar) => ar.push(op)), taggedMap )\n }, tags.reduce( (taggedMap, tag) => {\n return taggedMap.set(tag.get(\"name\"), List())\n } , OrderedMap()))\n }\n)\n\nexport const taggedOperations = (state) => ({ getConfigs }) => {\n let { tagsSorter, operationsSorter } = getConfigs()\n return operationsWithTags(state)\n .sortBy(\n (val, key) => key, // get the name of the tag to be passed to the sorter\n (tagA, tagB) => {\n let sortFn = (typeof tagsSorter === \"function\" ? tagsSorter : sorters.tagsSorter[ tagsSorter ])\n return (!sortFn ? null : sortFn(tagA, tagB))\n }\n )\n .map((ops, tag) => {\n let sortFn = (typeof operationsSorter === \"function\" ? operationsSorter : sorters.operationsSorter[ operationsSorter ])\n let operations = (!sortFn ? ops : ops.sort(sortFn))\n\n return Map({ tagDetails: tagDetails(state, tag), operations: operations })\n })\n}\n\nexport const responses = createSelector(\n state,\n state => state.get( \"responses\", Map() )\n)\n\nexport const requests = createSelector(\n state,\n state => state.get( \"requests\", Map() )\n)\n\nexport const mutatedRequests = createSelector(\n state,\n state => state.get( \"mutatedRequests\", Map() )\n)\n\nexport const responseFor = (state, path, method) => {\n return responses(state).getIn([path, method], null)\n}\n\nexport const requestFor = (state, path, method) => {\n return requests(state).getIn([path, method], null)\n}\n\nexport const mutatedRequestFor = (state, path, method) => {\n return mutatedRequests(state).getIn([path, method], null)\n}\n\nexport const allowTryItOutFor = () => {\n // This is just a hook for now.\n return true\n}\n\nexport const parameterWithMetaByIdentity = (state, pathMethod, param) => {\n const opParams = specJsonWithResolvedSubtrees(state).getIn([\"paths\", ...pathMethod, \"parameters\"], OrderedMap())\n const metaParams = state.getIn([\"meta\", \"paths\", ...pathMethod, \"parameters\"], OrderedMap())\n\n const mergedParams = opParams.map((currentParam) => {\n const inNameKeyedMeta = metaParams.get(`${param.get(\"in\")}.${param.get(\"name\")}`)\n const hashKeyedMeta = metaParams.get(`${param.get(\"in\")}.${param.get(\"name\")}.hash-${param.hashCode()}`)\n return OrderedMap().merge(\n currentParam,\n inNameKeyedMeta,\n hashKeyedMeta\n )\n })\n return mergedParams.find(curr => curr.get(\"in\") === param.get(\"in\") && curr.get(\"name\") === param.get(\"name\"), OrderedMap())\n}\n\nexport const parameterInclusionSettingFor = (state, pathMethod, paramName, paramIn) => {\n const paramKey = `${paramIn}.${paramName}`\n return state.getIn([\"meta\", \"paths\", ...pathMethod, \"parameter_inclusions\", paramKey], false)\n}\n\n\nexport const parameterWithMeta = (state, pathMethod, paramName, paramIn) => {\n const opParams = specJsonWithResolvedSubtrees(state).getIn([\"paths\", ...pathMethod, \"parameters\"], OrderedMap())\n const currentParam = opParams.find(param => param.get(\"in\") === paramIn && param.get(\"name\") === paramName, OrderedMap())\n return parameterWithMetaByIdentity(state, pathMethod, currentParam)\n}\n\nexport const operationWithMeta = (state, path, method) => {\n const op = specJsonWithResolvedSubtrees(state).getIn([\"paths\", path, method], OrderedMap())\n const meta = state.getIn([\"meta\", \"paths\", path, method], OrderedMap())\n\n const mergedParams = op.get(\"parameters\", List()).map((param) => {\n return parameterWithMetaByIdentity(state, [path, method], param)\n })\n\n return OrderedMap()\n .merge(op, meta)\n .set(\"parameters\", mergedParams)\n}\n\n// Get the parameter value by parameter name\nexport function getParameter(state, pathMethod, name, inType) {\n pathMethod = pathMethod || []\n let params = state.getIn([\"meta\", \"paths\", ...pathMethod, \"parameters\"], fromJS([]))\n return params.find( (p) => {\n return Map.isMap(p) && p.get(\"name\") === name && p.get(\"in\") === inType\n }) || Map() // Always return a map\n}\n\nexport const hasHost = createSelector(\n spec,\n spec => {\n const host = spec.get(\"host\")\n return typeof host === \"string\" && host.length > 0 && host[0] !== \"/\"\n }\n)\n\n// Get the parameter values, that the user filled out\nexport function parameterValues(state, pathMethod, isXml) {\n pathMethod = pathMethod || []\n let paramValues = operationWithMeta(state, ...pathMethod).get(\"parameters\", List())\n return paramValues.reduce( (hash, p) => {\n let value = isXml && p.get(\"in\") === \"body\" ? p.get(\"value_xml\") : p.get(\"value\")\n return hash.set(paramToIdentifier(p, { allowHashes: false }), value)\n }, fromJS({}))\n}\n\n// True if any parameter includes `in: ?`\nexport function parametersIncludeIn(parameters, inValue=\"\") {\n if(List.isList(parameters)) {\n return parameters.some( p => Map.isMap(p) && p.get(\"in\") === inValue )\n }\n}\n\n// True if any parameter includes `type: ?`\nexport function parametersIncludeType(parameters, typeValue=\"\") {\n if(List.isList(parameters)) {\n return parameters.some( p => Map.isMap(p) && p.get(\"type\") === typeValue )\n }\n}\n\n// Get the consumes/produces value that the user selected\nexport function contentTypeValues(state, pathMethod) {\n pathMethod = pathMethod || []\n let op = specJsonWithResolvedSubtrees(state).getIn([\"paths\", ...pathMethod], fromJS({}))\n let meta = state.getIn([\"meta\", \"paths\", ...pathMethod], fromJS({}))\n let producesValue = currentProducesFor(state, pathMethod)\n\n const parameters = op.get(\"parameters\") || new List()\n\n const requestContentType = (\n meta.get(\"consumes_value\") ? meta.get(\"consumes_value\")\n : parametersIncludeType(parameters, \"file\") ? \"multipart/form-data\"\n : parametersIncludeType(parameters, \"formData\") ? \"application/x-www-form-urlencoded\"\n : undefined\n )\n\n return fromJS({\n requestContentType,\n responseContentType: producesValue\n })\n}\n\n// Get the currently selected produces value for an operation\nexport function currentProducesFor(state, pathMethod) {\n pathMethod = pathMethod || []\n\n const operation = specJsonWithResolvedSubtrees(state).getIn([ \"paths\", ...pathMethod], null)\n\n if(operation === null) {\n // return nothing if the operation does not exist\n return\n }\n\n const currentProducesValue = state.getIn([\"meta\", \"paths\", ...pathMethod, \"produces_value\"], null)\n const firstProducesArrayItem = operation.getIn([\"produces\", 0], null)\n\n return currentProducesValue || firstProducesArrayItem || \"application/json\"\n\n}\n\n// Get the produces options for an operation\nexport function producesOptionsFor(state, pathMethod) {\n pathMethod = pathMethod || []\n\n const spec = specJsonWithResolvedSubtrees(state)\n const operation = spec.getIn([ \"paths\", ...pathMethod], null)\n\n if(operation === null) {\n // return nothing if the operation does not exist\n return\n }\n\n const [path] = pathMethod\n\n const operationProduces = operation.get(\"produces\", null)\n const pathItemProduces = spec.getIn([\"paths\", path, \"produces\"], null)\n const globalProduces = spec.getIn([\"produces\"], null)\n\n return operationProduces || pathItemProduces || globalProduces\n}\n\n// Get the consumes options for an operation\nexport function consumesOptionsFor(state, pathMethod) {\n pathMethod = pathMethod || []\n\n const spec = specJsonWithResolvedSubtrees(state)\n const operation = spec.getIn([\"paths\", ...pathMethod], null)\n\n if (operation === null) {\n // return nothing if the operation does not exist\n return\n }\n\n const [path] = pathMethod\n\n const operationConsumes = operation.get(\"consumes\", null)\n const pathItemConsumes = spec.getIn([\"paths\", path, \"consumes\"], null)\n const globalConsumes = spec.getIn([\"consumes\"], null)\n\n return operationConsumes || pathItemConsumes || globalConsumes\n}\n\nexport const operationScheme = ( state, path, method ) => {\n let url = state.get(\"url\")\n let matchResult = url.match(/^([a-z][a-z0-9+\\-.]*):/)\n let urlScheme = Array.isArray(matchResult) ? matchResult[1] : null\n\n return state.getIn([\"scheme\", path, method]) || state.getIn([\"scheme\", \"_defaultScheme\"]) || urlScheme || \"\"\n}\n\nexport const canExecuteScheme = ( state, path, method ) => {\n return [\"http\", \"https\"].indexOf(operationScheme(state, path, method)) > -1\n}\n\nexport const validationErrors = (state, pathMethod) => {\n pathMethod = pathMethod || []\n let paramValues = state.getIn([\"meta\", \"paths\", ...pathMethod, \"parameters\"], fromJS([]))\n const result = []\n\n paramValues.forEach( (p) => {\n let errors = p.get(\"errors\")\n if ( errors && errors.count() ) {\n errors.forEach( e => result.push(e))\n }\n })\n\n return result\n}\n\nexport const validateBeforeExecute = (state, pathMethod) => {\n return validationErrors(state, pathMethod).length === 0\n}\n\nexport const getOAS3RequiredRequestBodyContentType = (state, pathMethod) => {\n let requiredObj = {\n requestBody: false,\n requestContentType: {}\n }\n let requestBody = state.getIn([\"resolvedSubtrees\", \"paths\", ...pathMethod, \"requestBody\"], fromJS([]))\n if (requestBody.size < 1) {\n return requiredObj\n }\n if (requestBody.getIn([\"required\"])) {\n requiredObj.requestBody = requestBody.getIn([\"required\"])\n }\n requestBody.getIn([\"content\"]).entrySeq().forEach((contentType) => { // e.g application/json\n const key = contentType[0]\n if (contentType[1].getIn([\"schema\", \"required\"])) {\n const val = contentType[1].getIn([\"schema\", \"required\"]).toJS()\n requiredObj.requestContentType[key] = val\n }\n })\n return requiredObj\n}\n\nexport const isMediaTypeSchemaPropertiesEqual = ( state, pathMethod, currentMediaType, targetMediaType) => {\n if((currentMediaType || targetMediaType) && currentMediaType === targetMediaType ) {\n return true\n }\n let requestBodyContent = state.getIn([\"resolvedSubtrees\", \"paths\", ...pathMethod, \"requestBody\", \"content\"], fromJS([]))\n if (requestBodyContent.size < 2 || !currentMediaType || !targetMediaType) {\n // nothing to compare\n return false\n }\n let currentMediaTypeSchemaProperties = requestBodyContent.getIn([currentMediaType, \"schema\", \"properties\"], fromJS([]))\n let targetMediaTypeSchemaProperties = requestBodyContent.getIn([targetMediaType, \"schema\", \"properties\"], fromJS([]))\n return !!currentMediaTypeSchemaProperties.equals(targetMediaTypeSchemaProperties)\n}\n\nfunction returnSelfOrNewMap(obj) {\n // returns obj if obj is an Immutable map, else returns a new Map\n return Map.isMap(obj) ? obj : new Map()\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_isString_e6fa8a5b__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_debounce_3540babe__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_set_b4b15ee5__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_fp_assocPath_f9d64e33__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_constant_f5c0879f__[\"default\"] });","import YAML, { JSON_SCHEMA } from \"js-yaml\"\nimport { Map as ImmutableMap } from \"immutable\"\nimport parseUrl from \"url-parse\"\nimport { serializeError } from \"serialize-error\"\nimport isString from \"lodash/isString\"\nimport debounce from \"lodash/debounce\"\nimport set from \"lodash/set\"\nimport assocPath from \"lodash/fp/assocPath\"\nimport constant from \"lodash/constant\"\n\nimport { paramToValue, isEmptyValue } from \"core/utils\"\n\n// Actions conform to FSA (flux-standard-actions)\n// {type: string,payload: Any|Error, meta: obj, error: bool}\n\nexport const UPDATE_SPEC = \"spec_update_spec\"\nexport const UPDATE_URL = \"spec_update_url\"\nexport const UPDATE_JSON = \"spec_update_json\"\nexport const UPDATE_PARAM = \"spec_update_param\"\nexport const UPDATE_EMPTY_PARAM_INCLUSION = \"spec_update_empty_param_inclusion\"\nexport const VALIDATE_PARAMS = \"spec_validate_param\"\nexport const SET_RESPONSE = \"spec_set_response\"\nexport const SET_REQUEST = \"spec_set_request\"\nexport const SET_MUTATED_REQUEST = \"spec_set_mutated_request\"\nexport const LOG_REQUEST = \"spec_log_request\"\nexport const CLEAR_RESPONSE = \"spec_clear_response\"\nexport const CLEAR_REQUEST = \"spec_clear_request\"\nexport const CLEAR_VALIDATE_PARAMS = \"spec_clear_validate_param\"\nexport const UPDATE_OPERATION_META_VALUE = \"spec_update_operation_meta_value\"\nexport const UPDATE_RESOLVED = \"spec_update_resolved\"\nexport const UPDATE_RESOLVED_SUBTREE = \"spec_update_resolved_subtree\"\nexport const SET_SCHEME = \"set_scheme\"\n\nconst toStr = (str) => isString(str) ? str : \"\"\n\nexport function updateSpec(spec) {\n const cleanSpec = (toStr(spec)).replace(/\\t/g, \" \")\n if(typeof spec === \"string\") {\n return {\n type: UPDATE_SPEC,\n payload: cleanSpec\n }\n }\n}\n\nexport function updateResolved(spec) {\n return {\n type: UPDATE_RESOLVED,\n payload: spec\n }\n}\n\nexport function updateUrl(url) {\n return {type: UPDATE_URL, payload: url}\n}\n\nexport function updateJsonSpec(json) {\n return {type: UPDATE_JSON, payload: json}\n}\n\nexport const parseToJson = (str) => ({specActions, specSelectors, errActions}) => {\n let { specStr } = specSelectors\n\n let json = null\n try {\n str = str || specStr()\n errActions.clear({ source: \"parser\" })\n json = YAML.load(str, { schema: JSON_SCHEMA })\n } catch(e) {\n // TODO: push error to state\n console.error(e)\n return errActions.newSpecErr({\n source: \"parser\",\n level: \"error\",\n message: e.reason,\n line: e.mark && e.mark.line ? e.mark.line + 1 : undefined\n })\n }\n if(json && typeof json === \"object\") {\n return specActions.updateJsonSpec(json)\n }\n return {}\n}\n\nlet hasWarnedAboutResolveSpecDeprecation = false\n\nexport const resolveSpec = (json, url) => ({specActions, specSelectors, errActions, fn: { fetch, resolve, AST = {} }, getConfigs}) => {\n if(!hasWarnedAboutResolveSpecDeprecation) {\n console.warn(`specActions.resolveSpec is deprecated since v3.10.0 and will be removed in v4.0.0; use requestResolvedSubtree instead!`)\n hasWarnedAboutResolveSpecDeprecation = true\n }\n\n const {\n modelPropertyMacro,\n parameterMacro,\n requestInterceptor,\n responseInterceptor\n } = getConfigs()\n\n if(typeof(json) === \"undefined\") {\n json = specSelectors.specJson()\n }\n if(typeof(url) === \"undefined\") {\n url = specSelectors.url()\n }\n\n let getLineNumberForPath = AST.getLineNumberForPath ? AST.getLineNumberForPath : () => undefined\n\n let specStr = specSelectors.specStr()\n\n return resolve({\n fetch,\n spec: json,\n baseDoc: String(new URL(url, document.baseURI)),\n modelPropertyMacro,\n parameterMacro,\n requestInterceptor,\n responseInterceptor\n }).then( ({spec, errors}) => {\n errActions.clear({\n type: \"thrown\"\n })\n if(Array.isArray(errors) && errors.length > 0) {\n let preparedErrors = errors\n .map(err => {\n console.error(err)\n err.line = err.fullPath ? getLineNumberForPath(specStr, err.fullPath) : null\n err.path = err.fullPath ? err.fullPath.join(\".\") : null\n err.level = \"error\"\n err.type = \"thrown\"\n err.source = \"resolver\"\n Object.defineProperty(err, \"message\", { enumerable: true, value: err.message })\n return err\n })\n errActions.newThrownErrBatch(preparedErrors)\n }\n\n return specActions.updateResolved(spec)\n })\n}\n\nlet requestBatch = []\n\nconst debResolveSubtrees = debounce(() => {\n const systemPartitionedBatches = requestBatch.reduce((acc, { path, system }) => {\n if (!acc.has(system)) acc.set(system, [])\n acc.get(system).push(path)\n return acc\n }, new Map())\n\n requestBatch = [] // clear stack\n\n systemPartitionedBatches.forEach(async (systemRequestBatch, system) => {\n if(!system) {\n console.error(\"debResolveSubtrees: don't have a system to operate on, aborting.\")\n return\n }\n if(!system.fn.resolveSubtree) {\n console.error(\"Error: Swagger-Client did not provide a `resolveSubtree` method, doing nothing.\")\n return\n }\n const {\n errActions,\n errSelectors,\n fn: {\n resolveSubtree,\n fetch,\n AST = {}\n },\n specSelectors,\n specActions,\n } = system\n const getLineNumberForPath = AST.getLineNumberForPath ?? constant(undefined)\n const specStr = specSelectors.specStr()\n const {\n modelPropertyMacro,\n parameterMacro,\n requestInterceptor,\n responseInterceptor\n } = system.getConfigs()\n\n try {\n const batchResult = await systemRequestBatch.reduce(async (prev, path) => {\n let { resultMap, specWithCurrentSubtrees } = await prev\n const { errors, spec } = await resolveSubtree(specWithCurrentSubtrees, path, {\n baseDoc: String(new URL(specSelectors.url(), document.baseURI)),\n modelPropertyMacro,\n parameterMacro,\n requestInterceptor,\n responseInterceptor\n })\n\n if(errSelectors.allErrors().size) {\n errActions.clearBy(err => {\n // keep if...\n return err.get(\"type\") !== \"thrown\" // it's not a thrown error\n || err.get(\"source\") !== \"resolver\" // it's not a resolver error\n || !err.get(\"fullPath\").every((key, i) => key === path[i] || path[i] === undefined) // it's not within the path we're resolving\n })\n }\n\n if(Array.isArray(errors) && errors.length > 0) {\n let preparedErrors = errors\n .map(err => {\n err.line = err.fullPath ? getLineNumberForPath(specStr, err.fullPath) : null\n err.path = err.fullPath ? err.fullPath.join(\".\") : null\n err.level = \"error\"\n err.type = \"thrown\"\n err.source = \"resolver\"\n Object.defineProperty(err, \"message\", { enumerable: true, value: err.message })\n return err\n })\n errActions.newThrownErrBatch(preparedErrors)\n }\n\n if (spec && specSelectors.isOAS3() && path[0] === \"components\" && path[1] === \"securitySchemes\") {\n // Resolve OIDC URLs if present\n await Promise.all(Object.values(spec)\n .filter((scheme) => scheme.type === \"openIdConnect\")\n .map(async (oidcScheme) => {\n const req = {\n url: oidcScheme.openIdConnectUrl,\n requestInterceptor: requestInterceptor,\n responseInterceptor: responseInterceptor\n }\n try {\n const res = await fetch(req)\n if (res instanceof Error || res.status >= 400) {\n console.error(res.statusText + \" \" + req.url)\n } else {\n oidcScheme.openIdConnectData = JSON.parse(res.text)\n }\n } catch (e) {\n console.error(e)\n }\n }))\n }\n set(resultMap, path, spec)\n specWithCurrentSubtrees = assocPath(path, spec, specWithCurrentSubtrees)\n\n return {\n resultMap,\n specWithCurrentSubtrees\n }\n }, Promise.resolve({\n resultMap: (specSelectors.specResolvedSubtree([]) || ImmutableMap()).toJS(),\n specWithCurrentSubtrees: specSelectors.specJS()\n }))\n\n specActions.updateResolvedSubtree([], batchResult.resultMap)\n } catch(e) {\n console.error(e)\n }\n })\n}, 35)\n\nexport const requestResolvedSubtree = path => system => {\n const isPathAlreadyBatched = requestBatch.find(({ path: batchedPath, system: batchedSystem }) => {\n return batchedSystem === system && batchedPath.toString() === path.toString()\n })\n\n if(isPathAlreadyBatched) {\n return\n }\n\n requestBatch.push({ path, system })\n\n debResolveSubtrees()\n}\n\nexport function changeParam( path, paramName, paramIn, value, isXml ){\n return {\n type: UPDATE_PARAM,\n payload:{ path, value, paramName, paramIn, isXml }\n }\n}\n\nexport function changeParamByIdentity( pathMethod, param, value, isXml ){\n return {\n type: UPDATE_PARAM,\n payload:{ path: pathMethod, param, value, isXml }\n }\n}\n\nexport const updateResolvedSubtree = (path, value) => {\n return {\n type: UPDATE_RESOLVED_SUBTREE,\n payload: { path, value }\n }\n}\n\nexport const invalidateResolvedSubtreeCache = () => {\n return {\n type: UPDATE_RESOLVED_SUBTREE,\n payload: {\n path: [],\n value: ImmutableMap()\n }\n }\n}\n\nexport const validateParams = ( payload, isOAS3 ) =>{\n return {\n type: VALIDATE_PARAMS,\n payload:{\n pathMethod: payload,\n isOAS3\n }\n }\n}\n\nexport const updateEmptyParamInclusion = ( pathMethod, paramName, paramIn, includeEmptyValue ) =>{\n return {\n type: UPDATE_EMPTY_PARAM_INCLUSION,\n payload:{\n pathMethod,\n paramName,\n paramIn,\n includeEmptyValue\n }\n }\n}\n\nexport function clearValidateParams( payload ){\n return {\n type: CLEAR_VALIDATE_PARAMS,\n payload:{ pathMethod: payload }\n }\n}\n\nexport function changeConsumesValue(path, value) {\n return {\n type: UPDATE_OPERATION_META_VALUE,\n payload:{ path, value, key: \"consumes_value\" }\n }\n}\n\nexport function changeProducesValue(path, value) {\n return {\n type: UPDATE_OPERATION_META_VALUE,\n payload:{ path, value, key: \"produces_value\" }\n }\n}\n\nexport const setResponse = ( path, method, res ) => {\n return {\n payload: { path, method, res },\n type: SET_RESPONSE\n }\n}\n\nexport const setRequest = ( path, method, req ) => {\n return {\n payload: { path, method, req },\n type: SET_REQUEST\n }\n}\n\nexport const setMutatedRequest = ( path, method, req ) => {\n return {\n payload: { path, method, req },\n type: SET_MUTATED_REQUEST\n }\n}\n\n// This is for debugging, remove this comment if you depend on this action\nexport const logRequest = (req) => {\n return {\n payload: req,\n type: LOG_REQUEST\n }\n}\n\n// Actually fire the request via fn.execute\n// (For debugging) and ease of testing\nexport const executeRequest = (req) =>\n ({fn, specActions, specSelectors, getConfigs, oas3Selectors}) => {\n let { pathName, method, operation } = req\n let { requestInterceptor, responseInterceptor } = getConfigs()\n\n\n let op = operation.toJS()\n\n // ensure that explicitly-included params are in the request\n\n if (operation && operation.get(\"parameters\")) {\n operation.get(\"parameters\")\n .filter(param => param && param.get(\"allowEmptyValue\") === true)\n .forEach(param => {\n if (specSelectors.parameterInclusionSettingFor([pathName, method], param.get(\"name\"), param.get(\"in\"))) {\n req.parameters = req.parameters || {}\n const paramValue = paramToValue(param, req.parameters)\n\n // if the value is falsy or an empty Immutable iterable...\n if(!paramValue || (paramValue && paramValue.size === 0)) {\n // set it to empty string, so Swagger Client will treat it as\n // present but empty.\n req.parameters[param.get(\"name\")] = \"\"\n }\n }\n })\n }\n\n // if url is relative, parseUrl makes it absolute by inferring from `window.location`\n req.contextUrl = parseUrl(specSelectors.url()).toString()\n\n if(op && op.operationId) {\n req.operationId = op.operationId\n } else if(op && pathName && method) {\n req.operationId = fn.opId(op, pathName, method)\n }\n\n if(specSelectors.isOAS3()) {\n const namespace = `${pathName}:${method}`\n\n req.server = oas3Selectors.selectedServer(namespace) || oas3Selectors.selectedServer()\n\n const namespaceVariables = oas3Selectors.serverVariables({\n server: req.server,\n namespace\n }).toJS()\n const globalVariables = oas3Selectors.serverVariables({ server: req.server }).toJS()\n\n req.serverVariables = Object.keys(namespaceVariables).length ? namespaceVariables : globalVariables\n\n req.requestContentType = oas3Selectors.requestContentType(pathName, method)\n req.responseContentType = oas3Selectors.responseContentType(pathName, method) || \"*/*\"\n const requestBody = oas3Selectors.requestBodyValue(pathName, method)\n const requestBodyInclusionSetting = oas3Selectors.requestBodyInclusionSetting(pathName, method)\n\n if(requestBody && requestBody.toJS) {\n req.requestBody = requestBody\n .map(\n (val) => {\n if (ImmutableMap.isMap(val)) {\n return val.get(\"value\")\n }\n return val\n }\n )\n .filter(\n (value, key) => (Array.isArray(value)\n ? value.length !== 0\n : !isEmptyValue(value)\n ) || requestBodyInclusionSetting.get(key)\n )\n .toJS()\n } else {\n req.requestBody = requestBody\n }\n }\n\n let parsedRequest = Object.assign({}, req)\n parsedRequest = fn.buildRequest(parsedRequest)\n\n specActions.setRequest(req.pathName, req.method, parsedRequest)\n\n let requestInterceptorWrapper = async (r) => {\n let mutatedRequest = await requestInterceptor.apply(this, [r])\n let parsedMutatedRequest = Object.assign({}, mutatedRequest)\n specActions.setMutatedRequest(req.pathName, req.method, parsedMutatedRequest)\n return mutatedRequest\n }\n\n req.requestInterceptor = requestInterceptorWrapper\n req.responseInterceptor = responseInterceptor\n\n // track duration of request\n const startTime = Date.now()\n\n\n return fn.execute(req)\n .then( res => {\n res.duration = Date.now() - startTime\n specActions.setResponse(req.pathName, req.method, res)\n } )\n .catch(\n err => {\n // console.error(err)\n if(err.message === \"Failed to fetch\") {\n err.name = \"\"\n err.message = \"**Failed to fetch.** \\n**Possible Reasons:** \\n - CORS \\n - Network Failure \\n - URL scheme must be \\\"http\\\" or \\\"https\\\" for CORS request.\"\n }\n specActions.setResponse(req.pathName, req.method, {\n error: true, err: serializeError(err)\n })\n }\n )\n }\n\n\n// I'm using extras as a way to inject properties into the final, `execute` method - It's not great. Anyone have a better idea? @ponelat\nexport const execute = ( { path, method, ...extras }={} ) => (system) => {\n let { fn:{fetch}, specSelectors, specActions } = system\n let spec = specSelectors.specJsonWithResolvedSubtrees().toJS()\n let scheme = specSelectors.operationScheme(path, method)\n let { requestContentType, responseContentType } = specSelectors.contentTypeValues([path, method]).toJS()\n let isXml = /xml/i.test(requestContentType)\n let parameters = specSelectors.parameterValues([path, method], isXml).toJS()\n\n return specActions.executeRequest({\n ...extras,\n fetch,\n spec,\n pathName: path,\n method, parameters,\n requestContentType,\n scheme,\n responseContentType\n })\n}\n\nexport function clearResponse (path, method) {\n return {\n type: CLEAR_RESPONSE,\n payload:{ path, method }\n }\n}\n\nexport function clearRequest (path, method) {\n return {\n type: CLEAR_REQUEST,\n payload:{ path, method }\n }\n}\n\nexport function setScheme (scheme, path, method) {\n return {\n type: SET_SCHEME,\n payload: { scheme, path, method }\n }\n}\n","import { fromJS, List } from \"immutable\"\nimport { fromJSOrdered, validateParam, paramToValue, paramToIdentifier } from \"core/utils\"\nimport win from \"core/window\"\n\n// selector-in-reducer is suboptimal, but `operationWithMeta` is more of a helper\nimport {\n specJsonWithResolvedSubtrees,\n parameterValues,\n parameterInclusionSettingFor,\n} from \"./selectors\"\n\nimport {\n UPDATE_SPEC,\n UPDATE_URL,\n UPDATE_JSON,\n UPDATE_PARAM,\n UPDATE_EMPTY_PARAM_INCLUSION,\n VALIDATE_PARAMS,\n SET_RESPONSE,\n SET_REQUEST,\n SET_MUTATED_REQUEST,\n UPDATE_RESOLVED,\n UPDATE_RESOLVED_SUBTREE,\n UPDATE_OPERATION_META_VALUE,\n CLEAR_RESPONSE,\n CLEAR_REQUEST,\n CLEAR_VALIDATE_PARAMS,\n SET_SCHEME\n} from \"./actions\"\n\nexport default {\n\n [UPDATE_SPEC]: (state, action) => {\n return (typeof action.payload === \"string\")\n ? state.set(\"spec\", action.payload)\n : state\n },\n\n [UPDATE_URL]: (state, action) => {\n return state.set(\"url\", action.payload+\"\")\n },\n\n [UPDATE_JSON]: (state, action) => {\n return state.set(\"json\", fromJSOrdered(action.payload))\n },\n\n [UPDATE_RESOLVED]: (state, action) => {\n return state.setIn([\"resolved\"], fromJSOrdered(action.payload))\n },\n\n [UPDATE_RESOLVED_SUBTREE]: (state, action) => {\n const { value, path } = action.payload\n return state.setIn([\"resolvedSubtrees\", ...path], fromJSOrdered(value))\n },\n\n [UPDATE_PARAM]: ( state, {payload} ) => {\n let { path: pathMethod, paramName, paramIn, param, value, isXml } = payload\n\n let paramKey = param ? paramToIdentifier(param) : `${paramIn}.${paramName}`\n\n const valueKey = isXml ? \"value_xml\" : \"value\"\n\n return state.setIn(\n [\"meta\", \"paths\", ...pathMethod, \"parameters\", paramKey, valueKey],\n value\n )\n },\n\n [UPDATE_EMPTY_PARAM_INCLUSION]: ( state, {payload} ) => {\n let { pathMethod, paramName, paramIn, includeEmptyValue } = payload\n\n if(!paramName || !paramIn) {\n console.warn(\"Warning: UPDATE_EMPTY_PARAM_INCLUSION could not generate a paramKey.\")\n return state\n }\n\n const paramKey = `${paramIn}.${paramName}`\n\n return state.setIn(\n [\"meta\", \"paths\", ...pathMethod, \"parameter_inclusions\", paramKey],\n includeEmptyValue\n )\n },\n\n [VALIDATE_PARAMS]: ( state, { payload: { pathMethod, isOAS3 } } ) => {\n const op = specJsonWithResolvedSubtrees(state).getIn([\"paths\", ...pathMethod])\n const paramValues = parameterValues(state, pathMethod).toJS()\n\n return state.updateIn([\"meta\", \"paths\", ...pathMethod, \"parameters\"], fromJS({}), paramMeta => {\n return op.get(\"parameters\", List()).reduce((res, param) => {\n const value = paramToValue(param, paramValues)\n const isEmptyValueIncluded = parameterInclusionSettingFor(state, pathMethod, param.get(\"name\"), param.get(\"in\"))\n const errors = validateParam(param, value, {\n bypassRequiredCheck: isEmptyValueIncluded,\n isOAS3,\n })\n return res.setIn([paramToIdentifier(param), \"errors\"], fromJS(errors))\n }, paramMeta)\n })\n },\n [CLEAR_VALIDATE_PARAMS]: ( state, { payload: { pathMethod } } ) => {\n return state.updateIn( [ \"meta\", \"paths\", ...pathMethod, \"parameters\" ], fromJS([]), parameters => {\n return parameters.map(param => param.set(\"errors\", fromJS([])))\n })\n },\n\n [SET_RESPONSE]: (state, { payload: { res, path, method } } ) =>{\n let result\n if ( res.error ) {\n result = Object.assign({\n error: true,\n name: res.err.name,\n message: res.err.message,\n statusCode: res.err.statusCode\n }, res.err.response)\n } else {\n result = res\n }\n\n // Ensure headers\n result.headers = result.headers || {}\n\n let newState = state.setIn( [ \"responses\", path, method ], fromJSOrdered(result) )\n\n // ImmutableJS messes up Blob. Needs to reset its value.\n if (win.Blob && res.data instanceof win.Blob) {\n newState = newState.setIn( [ \"responses\", path, method, \"text\" ], res.data)\n }\n return newState\n },\n\n [SET_REQUEST]: (state, { payload: { req, path, method } } ) =>{\n return state.setIn( [ \"requests\", path, method ], fromJSOrdered(req))\n },\n\n [SET_MUTATED_REQUEST]: (state, { payload: { req, path, method } } ) =>{\n return state.setIn( [ \"mutatedRequests\", path, method ], fromJSOrdered(req))\n },\n\n [UPDATE_OPERATION_META_VALUE]: (state, { payload: { path, value, key } }) => {\n // path is a pathMethod tuple... can't change the name now.\n let operationPath = [\"paths\", ...path]\n let metaPath = [\"meta\", \"paths\", ...path]\n\n if(\n !state.getIn([\"json\", ...operationPath])\n && !state.getIn([\"resolved\", ...operationPath])\n && !state.getIn([\"resolvedSubtrees\", ...operationPath])\n ) {\n // do nothing if the operation does not exist\n return state\n }\n\n return state.setIn([...metaPath, key], fromJS(value))\n },\n\n [CLEAR_RESPONSE]: (state, { payload: { path, method } } ) =>{\n return state.deleteIn( [ \"responses\", path, method ])\n },\n\n [CLEAR_REQUEST]: (state, { payload: { path, method } } ) =>{\n return state.deleteIn( [ \"requests\", path, method ])\n },\n\n [SET_SCHEME]: (state, { payload: { scheme, path, method } } ) =>{\n if ( path && method ) {\n return state.setIn( [ \"scheme\", path, method ], scheme)\n }\n\n if (!path && !method) {\n return state.setIn( [ \"scheme\", \"_defaultScheme\" ], scheme)\n }\n\n }\n\n}\n","import get from \"lodash/get\"\n\nexport const updateSpec = (ori, {specActions}) => (...args) => {\n ori(...args)\n specActions.parseToJson(...args)\n}\n\nexport const updateJsonSpec = (ori, {specActions}) => (...args) => {\n ori(...args)\n\n specActions.invalidateResolvedSubtreeCache()\n\n // Trigger resolution of any path-level $refs.\n const [json] = args\n const pathItems = get(json, [\"paths\"]) || {}\n const pathItemKeys = Object.keys(pathItems)\n\n pathItemKeys.forEach(k => {\n const val = get(pathItems, [k])\n\n if(val.$ref) {\n specActions.requestResolvedSubtree([\"paths\", k])\n }\n })\n\n // Trigger resolution of any securitySchemes-level $refs.\n specActions.requestResolvedSubtree([\"components\", \"securitySchemes\"])\n}\n\n// Log the request ( just for debugging, shouldn't affect prod )\nexport const executeRequest = (ori, { specActions }) => (req) => {\n specActions.logRequest(req)\n return ori(req)\n}\n\nexport const validateParams = (ori, { specSelectors }) => (req) => {\n return ori(req, specSelectors.isOAS3())\n}\n","/**\n * @prettier\n */\nimport reducers from \"./reducers\"\nimport * as actions from \"./actions\"\nimport * as selectors from \"./selectors\"\nimport * as wrapActions from \"./wrap-actions\"\n\nconst SpecPlugin = () => ({\n statePlugins: {\n spec: {\n wrapActions: { ...wrapActions },\n reducers: { ...reducers },\n actions: { ...actions },\n selectors: { ...selectors },\n },\n },\n})\n\nexport default SpecPlugin\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_swagger_client_es_resolver_strategies_generic_08dd5200__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_swagger_client_es_resolver_strategies_openapi_2_ff6e79cf__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_swagger_client_es_resolver_strategies_openapi_3_0_2fa0ff7c__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_swagger_client_es_resolver_strategies_openapi_3_1_apidom_5e628d39__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"makeResolve\"]: () => __WEBPACK_EXTERNAL_MODULE_swagger_client_es_resolver_f879c638__.makeResolve });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"buildRequest\"]: () => __WEBPACK_EXTERNAL_MODULE_swagger_client_es_execute_d486d3d6__.buildRequest, [\"execute\"]: () => __WEBPACK_EXTERNAL_MODULE_swagger_client_es_execute_d486d3d6__.execute });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_swagger_client_es_http_69655560__[\"default\"], [\"makeHttp\"]: () => __WEBPACK_EXTERNAL_MODULE_swagger_client_es_http_69655560__.makeHttp, [\"serializeRes\"]: () => __WEBPACK_EXTERNAL_MODULE_swagger_client_es_http_69655560__.serializeRes });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"makeResolveSubtree\"]: () => __WEBPACK_EXTERNAL_MODULE_swagger_client_es_subtree_resolver_741cb9d9__.makeResolveSubtree });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"opId\"]: () => __WEBPACK_EXTERNAL_MODULE_swagger_client_es_helpers_4d7bea47__.opId });","export const loaded = (ori, system) => (...args) => {\n ori(...args)\n const value = system.getConfigs().withCredentials\n \n if(value !== undefined) {\n system.fn.fetch.withCredentials = typeof value === \"string\" ? (value === \"true\") : !!value\n }\n}\n","import genericResolveStrategy from \"swagger-client/es/resolver/strategies/generic\"\nimport openApi2ResolveStrategy from \"swagger-client/es/resolver/strategies/openapi-2\"\nimport openApi30ResolveStrategy from \"swagger-client/es/resolver/strategies/openapi-3-0\"\nimport openApi31ApiDOMResolveStrategy from \"swagger-client/es/resolver/strategies/openapi-3-1-apidom\"\nimport { makeResolve } from \"swagger-client/es/resolver\"\nimport { execute, buildRequest } from \"swagger-client/es/execute\"\nimport Http, { makeHttp, serializeRes } from \"swagger-client/es/http\"\nimport { makeResolveSubtree } from \"swagger-client/es/subtree-resolver\"\nimport { opId } from \"swagger-client/es/helpers\"\nimport { loaded } from \"./configs-wrap-actions\"\n\nexport default function({ configs, getConfigs }) {\n return {\n fn: {\n fetch: makeHttp(Http, configs.preFetch, configs.postFetch),\n buildRequest,\n execute,\n resolve: makeResolve({\n strategies: [\n openApi31ApiDOMResolveStrategy,\n openApi30ResolveStrategy,\n openApi2ResolveStrategy,\n genericResolveStrategy,\n ],\n }),\n resolveSubtree: async (obj, path, options = {}) => {\n const freshConfigs = getConfigs()\n const defaultOptions = {\n modelPropertyMacro: freshConfigs.modelPropertyMacro,\n parameterMacro: freshConfigs.parameterMacro,\n requestInterceptor: freshConfigs.requestInterceptor,\n responseInterceptor: freshConfigs.responseInterceptor,\n strategies: [\n openApi31ApiDOMResolveStrategy,\n openApi30ResolveStrategy,\n openApi2ResolveStrategy,\n genericResolveStrategy,\n ],\n }\n\n return makeResolveSubtree(defaultOptions)(obj, path, options)\n },\n serializeRes,\n opId\n },\n statePlugins: {\n configs: {\n wrapActions: {\n loaded,\n }\n }\n },\n }\n}\n","import { shallowEqualKeys } from \"core/utils\"\n\nexport default function() {\n return {\n fn: { shallowEqualKeys }\n }\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_dom_7dac9eee__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"Provider\"]: () => __WEBPACK_EXTERNAL_MODULE_react_redux_87be03b0__.Provider, [\"connect\"]: () => __WEBPACK_EXTERNAL_MODULE_react_redux_87be03b0__.connect });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_identity_75ffe4a7__[\"default\"] });","import React, { Component } from \"react\"\nimport ReactDOM from \"react-dom\"\nimport { compose } from \"redux\"\nimport { connect, Provider } from \"react-redux\"\nimport omit from \"lodash/omit\"\nimport identity from \"lodash/identity\"\n\nconst withSystem = (getSystem) => (WrappedComponent) => {\n const { fn } = getSystem()\n\n class WithSystem extends Component {\n render() {\n return \n }\n }\n WithSystem.displayName = `WithSystem(${fn.getDisplayName(WrappedComponent)})`\n return WithSystem\n}\n\nconst withRoot = (getSystem, reduxStore) => (WrappedComponent) => {\n const { fn } = getSystem()\n\n class WithRoot extends Component {\n render() {\n return (\n \n \n \n )\n }\n }\n WithRoot.displayName = `WithRoot(${fn.getDisplayName(WrappedComponent)})`\n return WithRoot\n}\n\nconst withConnect = (getSystem, WrappedComponent, reduxStore) => {\n const mapStateToProps = (state, ownProps) => {\n const props = {...ownProps, ...getSystem()}\n const customMapStateToProps = WrappedComponent.prototype?.mapStateToProps || (state => ({state}))\n return customMapStateToProps(state, props)\n }\n\n return compose(\n reduxStore ? withRoot(getSystem, reduxStore) : identity,\n connect(mapStateToProps),\n withSystem(getSystem),\n )(WrappedComponent)\n}\n\nconst handleProps = (getSystem, mapping, props, oldProps) => {\n for (const prop in mapping) {\n const fn = mapping[prop]\n\n if (typeof fn === \"function\") {\n fn(props[prop], oldProps[prop], getSystem())\n }\n }\n}\n\nexport const withMappedContainer = (getSystem, getStore, memGetComponent) => (componentName, mapping) => {\n const { fn } = getSystem()\n const WrappedComponent = memGetComponent(componentName, \"root\")\n\n class WithMappedContainer extends Component {\n constructor(props, context) {\n super(props, context)\n handleProps(getSystem, mapping, props, {})\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n handleProps(getSystem, mapping, nextProps, this.props)\n }\n\n render() {\n const cleanProps = omit(this.props, mapping ? Object.keys(mapping) : [])\n return \n }\n }\n WithMappedContainer.displayName = `WithMappedContainer(${fn.getDisplayName(WrappedComponent)})`\n return WithMappedContainer\n}\n\nexport const render = (getSystem, getStore, getComponent, getComponents) => (domNode) => {\n const App = getComponent(getSystem, getStore, getComponents)(\"App\", \"root\")\n ReactDOM.render(, domNode)\n}\n\nexport const getComponent = (getSystem, getStore, getComponents) => (componentName, container, config = {}) => {\n\n if (typeof componentName !== \"string\")\n throw new TypeError(\"Need a string, to fetch a component. Was given a \" + typeof componentName)\n\n // getComponent has a config object as a third, optional parameter\n // using the config object requires the presence of the second parameter, container\n // e.g. getComponent(\"JsonSchema_string_whatever\", false, { failSilently: true })\n const component = getComponents(componentName)\n\n if (!component) {\n if (!config.failSilently) {\n getSystem().log.warn(\"Could not find component:\", componentName)\n }\n return null\n }\n\n if(!container) {\n return component\n }\n\n if(container === \"root\") {\n return withConnect(getSystem, component, getStore())\n }\n\n // container == truthy\n return withConnect(getSystem, component)\n}\n","export const getDisplayName = (WrappedComponent) => WrappedComponent.displayName || WrappedComponent.name || \"Component\"\n","import { memoize } from \"core/utils\"\n\nimport memoizeN from \"core/utils/memoizeN\"\nimport { getComponent, render, withMappedContainer } from \"./root-injects\"\nimport { getDisplayName } from \"./fn\"\n\nconst memoizeForGetComponent = (fn) => {\n const resolver = (...args) => JSON.stringify(args)\n return memoize(fn, resolver)\n}\n\nconst memoizeForWithMappedContainer = (fn) => {\n const resolver = (...args) => args\n return memoizeN(fn, resolver)\n}\n\nconst viewPlugin = ({getComponents, getStore, getSystem}) => {\n // getComponent should be passed into makeMappedContainer, _already_ memoized... otherwise we have a big performance hit ( think, really big )\n const memGetComponent = memoizeForGetComponent(getComponent(getSystem, getStore, getComponents))\n const memMakeMappedContainer = memoizeForWithMappedContainer(withMappedContainer(getSystem, getStore, memGetComponent))\n\n return {\n rootInjects: {\n getComponent: memGetComponent,\n makeMappedContainer: memMakeMappedContainer,\n render: render(getSystem, getStore, getComponent, getComponents),\n },\n fn: {\n getDisplayName,\n },\n }\n}\n\nexport default viewPlugin\n","/**\n * @prettier\n */\nimport { createSelector } from \"reselect\"\nimport { Map } from \"immutable\"\nimport win from \"core/window\"\n\nexport default function downloadUrlPlugin(toolbox) {\n let { fn } = toolbox\n\n const actions = {\n download:\n (url) =>\n ({ errActions, specSelectors, specActions, getConfigs }) => {\n let { fetch } = fn\n const config = getConfigs()\n url = url || specSelectors.url()\n specActions.updateLoadingStatus(\"loading\")\n errActions.clear({ source: \"fetch\" })\n fetch({\n url,\n loadSpec: true,\n requestInterceptor: config.requestInterceptor || ((a) => a),\n responseInterceptor: config.responseInterceptor || ((a) => a),\n credentials: \"same-origin\",\n headers: {\n Accept: \"application/json,*/*\",\n },\n }).then(next, next)\n\n function next(res) {\n if (res instanceof Error || res.status >= 400) {\n specActions.updateLoadingStatus(\"failed\")\n errActions.newThrownErr(\n Object.assign(\n new Error((res.message || res.statusText) + \" \" + url),\n { source: \"fetch\" }\n )\n )\n // Check if the failure was possibly due to CORS or mixed content\n if (!res.status && res instanceof Error) checkPossibleFailReasons()\n return\n }\n specActions.updateLoadingStatus(\"success\")\n specActions.updateSpec(res.text)\n if (specSelectors.url() !== url) {\n specActions.updateUrl(url)\n }\n }\n\n function checkPossibleFailReasons() {\n try {\n let specUrl\n\n if (\"URL\" in win) {\n specUrl = new URL(url)\n } else {\n // legacy browser, use to parse the URL\n specUrl = document.createElement(\"a\")\n specUrl.href = url\n }\n\n if (\n specUrl.protocol !== \"https:\" &&\n win.location.protocol === \"https:\"\n ) {\n const error = Object.assign(\n new Error(\n `Possible mixed-content issue? The page was loaded over https:// but a ${specUrl.protocol}// URL was specified. Check that you are not attempting to load mixed content.`\n ),\n { source: \"fetch\" }\n )\n errActions.newThrownErr(error)\n return\n }\n if (specUrl.origin !== win.location.origin) {\n const error = Object.assign(\n new Error(\n `Possible cross-origin (CORS) issue? The URL origin (${specUrl.origin}) does not match the page (${win.location.origin}). Check the server returns the correct 'Access-Control-Allow-*' headers.`\n ),\n { source: \"fetch\" }\n )\n errActions.newThrownErr(error)\n }\n } catch (e) {\n return\n }\n }\n },\n\n updateLoadingStatus: (status) => {\n let enums = [null, \"loading\", \"failed\", \"success\", \"failedConfig\"]\n if (enums.indexOf(status) === -1) {\n console.error(`Error: ${status} is not one of ${JSON.stringify(enums)}`)\n }\n\n return {\n type: \"spec_update_loading_status\",\n payload: status,\n }\n },\n }\n\n let reducers = {\n spec_update_loading_status: (state, action) => {\n return typeof action.payload === \"string\"\n ? state.set(\"loadingStatus\", action.payload)\n : state\n },\n }\n\n let selectors = {\n loadingStatus: createSelector(\n (state) => {\n return state || Map()\n },\n (spec) => spec.get(\"loadingStatus\") || null\n ),\n }\n\n return {\n statePlugins: {\n spec: { actions, reducers, selectors },\n },\n }\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_zipObject_c74f1c14__[\"default\"] });","import React, { Component } from \"react\"\n\nexport const componentDidCatch = console.error\n\nconst isClassComponent = component => component.prototype && component.prototype.isReactComponent\n\nexport const withErrorBoundary = (getSystem) => (WrappedComponent) => {\n const { getComponent, fn } = getSystem()\n const ErrorBoundary = getComponent(\"ErrorBoundary\")\n const targetName = fn.getDisplayName(WrappedComponent)\n\n class WithErrorBoundary extends Component {\n render() {\n return (\n \n \n \n )\n }\n }\n WithErrorBoundary.displayName = `WithErrorBoundary(${targetName})`\n if (isClassComponent(WrappedComponent)) {\n /**\n * We need to handle case of class components defining a `mapStateToProps` public method.\n * Components with `mapStateToProps` public method cannot be wrapped.\n */\n WithErrorBoundary.prototype.mapStateToProps = WrappedComponent.prototype.mapStateToProps\n }\n\n return WithErrorBoundary\n}\n\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nconst Fallback = ({ name }) => (\n
\n 😱 Could not render { name === \"t\" ? \"this component\" : name }, see the console.\n
\n)\nFallback.propTypes = {\n name: PropTypes.string.isRequired,\n}\n\nexport default Fallback\n","import PropTypes from \"prop-types\"\nimport React, { Component } from \"react\"\n\nimport { componentDidCatch } from \"../fn\"\nimport Fallback from \"./fallback\"\n\nexport class ErrorBoundary extends Component {\n static getDerivedStateFromError(error) {\n return { hasError: true, error }\n }\n\n constructor(...args) {\n super(...args)\n this.state = { hasError: false, error: null }\n }\n\n componentDidCatch(error, errorInfo) {\n this.props.fn.componentDidCatch(error, errorInfo)\n }\n\n render() {\n const { getComponent, targetName, children } = this.props\n\n if (this.state.hasError) {\n const FallbackComponent = getComponent(\"Fallback\")\n return \n }\n\n return children\n }\n}\nErrorBoundary.propTypes = {\n targetName: PropTypes.string,\n getComponent: PropTypes.func,\n fn: PropTypes.object,\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ])\n}\nErrorBoundary.defaultProps = {\n targetName: \"this component\",\n getComponent: () => Fallback,\n fn: {\n componentDidCatch,\n },\n children: null,\n}\n\nexport default ErrorBoundary\n","import zipObject from \"lodash/zipObject\"\n\nimport ErrorBoundary from \"./components/error-boundary\"\nimport Fallback from \"./components/fallback\"\nimport { componentDidCatch, withErrorBoundary } from \"./fn\"\n\nconst safeRenderPlugin = ({componentList = [], fullOverride = false} = {}) => ({ getSystem }) => {\n const defaultComponentList = [\n \"App\",\n \"BaseLayout\",\n \"VersionPragmaFilter\",\n \"InfoContainer\",\n \"ServersContainer\",\n \"SchemesContainer\",\n \"AuthorizeBtnContainer\",\n \"FilterContainer\",\n \"Operations\",\n \"OperationContainer\",\n \"parameters\",\n \"responses\",\n \"OperationServers\",\n \"Models\",\n \"ModelWrapper\",\n ]\n const mergedComponentList = fullOverride ? componentList : [...defaultComponentList, ...componentList]\n const wrapFactory = (Original, { fn }) => fn.withErrorBoundary(Original)\n const wrapComponents = zipObject(mergedComponentList, Array(mergedComponentList.length).fill(wrapFactory))\n\n return {\n fn: {\n componentDidCatch,\n withErrorBoundary: withErrorBoundary(getSystem),\n },\n components: {\n ErrorBoundary,\n Fallback,\n },\n wrapComponents,\n }\n}\n\nexport default safeRenderPlugin\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class App extends React.Component {\n\n getLayout() {\n let { getComponent, layoutSelectors } = this.props\n const layoutName = layoutSelectors.current()\n const Component = getComponent(layoutName, true)\n return Component ? Component : ()=>

No layout defined for "{layoutName}"

\n }\n\n render() {\n const Layout = this.getLayout()\n\n return (\n \n )\n }\n}\n\nApp.propTypes = {\n getComponent: PropTypes.func.isRequired,\n layoutSelectors: PropTypes.object.isRequired,\n}\n\nApp.defaultProps = {\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class AuthorizationPopup extends React.Component {\n close =() => {\n let { authActions } = this.props\n\n authActions.showDefinitions(false)\n }\n\n render() {\n let { authSelectors, authActions, getComponent, errSelectors, specSelectors, fn: { AST = {} } } = this.props\n let definitions = authSelectors.shownDefinitions()\n const Auths = getComponent(\"auths\")\n const CloseIcon = getComponent(\"CloseIcon\")\n\n return (\n
\n
\n
\n
\n
\n
\n

Available authorizations

\n \n
\n
\n\n {\n definitions.valueSeq().map(( definition, key ) => {\n return \n })\n }\n
\n
\n
\n
\n
\n )\n }\n\n static propTypes = {\n fn: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n authSelectors: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n errSelectors: PropTypes.object.isRequired,\n authActions: PropTypes.object.isRequired,\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class AuthorizeBtn extends React.Component {\n static propTypes = {\n onClick: PropTypes.func,\n isAuthorized: PropTypes.bool,\n showPopup: PropTypes.bool,\n getComponent: PropTypes.func.isRequired\n }\n\n render() {\n let { isAuthorized, showPopup, onClick, getComponent } = this.props\n\n //must be moved out of button component\n const AuthorizationPopup = getComponent(\"authorizationPopup\", true)\n const LockAuthIcon = getComponent(\"LockAuthIcon\", true)\n const UnlockAuthIcon = getComponent(\"UnlockAuthIcon\", true)\n\n return (\n
\n \n { showPopup && }\n
\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class AuthorizeBtnContainer extends React.Component {\n\n static propTypes = {\n specActions: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n authActions: PropTypes.object.isRequired,\n authSelectors: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired\n }\n\n render () {\n const { authActions, authSelectors, specSelectors, getComponent} = this.props\n \n const securityDefinitions = specSelectors.securityDefinitions()\n const authorizableDefinitions = authSelectors.definitionsToAuthorize()\n\n const AuthorizeBtn = getComponent(\"authorizeBtn\")\n\n return securityDefinitions ? (\n authActions.showDefinitions(authorizableDefinitions)}\n isAuthorized={!!authSelectors.authorized().size}\n showPopup={!!authSelectors.shownDefinitions()}\n getComponent={getComponent}\n />\n ) : null\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class AuthorizeOperationBtn extends React.Component {\n static propTypes = {\n isAuthorized: PropTypes.bool.isRequired,\n onClick: PropTypes.func,\n getComponent: PropTypes.func.isRequired\n }\n\n onClick =(e) => {\n e.stopPropagation()\n let { onClick } = this.props\n\n if(onClick) {\n onClick()\n }\n }\n\n render() {\n let { isAuthorized, getComponent } = this.props\n\n const LockAuthOperationIcon = getComponent(\"LockAuthOperationIcon\", true)\n const UnlockAuthOperationIcon = getComponent(\"UnlockAuthOperationIcon\", true)\n\n return (\n \n\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nexport default class Auths extends React.Component {\n static propTypes = {\n definitions: ImPropTypes.iterable.isRequired,\n getComponent: PropTypes.func.isRequired,\n authSelectors: PropTypes.object.isRequired,\n authActions: PropTypes.object.isRequired,\n errSelectors: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired\n }\n\n constructor(props, context) {\n super(props, context)\n\n this.state = {}\n }\n\n onAuthChange =(auth) => {\n let { name } = auth\n\n this.setState({ [name]: auth })\n }\n\n submitAuth =(e) => {\n e.preventDefault()\n\n let { authActions } = this.props\n authActions.authorizeWithPersistOption(this.state)\n }\n\n logoutClick =(e) => {\n e.preventDefault()\n\n let { authActions, definitions } = this.props\n let auths = definitions.map( (val, key) => {\n return key\n }).toArray()\n\n this.setState(auths.reduce((prev, auth) => {\n prev[auth] = \"\"\n return prev\n }, {}))\n\n authActions.logoutWithPersistOption(auths)\n }\n\n close =(e) => {\n e.preventDefault()\n let { authActions } = this.props\n\n authActions.showDefinitions(false)\n }\n\n render() {\n let { definitions, getComponent, authSelectors, errSelectors } = this.props\n const AuthItem = getComponent(\"AuthItem\")\n const Oauth2 = getComponent(\"oauth2\", true)\n const Button = getComponent(\"Button\")\n\n let authorized = authSelectors.authorized()\n\n let authorizedAuth = definitions.filter( (definition, key) => {\n return !!authorized.get(key)\n })\n\n let nonOauthDefinitions = definitions.filter( schema => schema.get(\"type\") !== \"oauth2\")\n let oauthDefinitions = definitions.filter( schema => schema.get(\"type\") === \"oauth2\")\n\n return (\n
\n {\n !!nonOauthDefinitions.size &&
\n {\n nonOauthDefinitions.map( (schema, name) => {\n return \n }).toArray()\n }\n
\n {\n nonOauthDefinitions.size === authorizedAuth.size ? \n : \n }\n \n
\n \n }\n\n {\n oauthDefinitions && oauthDefinitions.size ?
\n
\n

Scopes are used to grant an application different levels of access to data on behalf of the end user. Each API may declare one or more scopes.

\n

API requires the following scopes. Select which ones you want to grant to Swagger UI.

\n
\n {\n definitions.filter( schema => schema.get(\"type\") === \"oauth2\")\n .map( (schema, name) =>{\n return (
\n \n
)\n }\n ).toArray()\n }\n
: null\n }\n\n
\n )\n }\n\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nexport default class Auths extends React.Component {\n static propTypes = {\n authorized: ImPropTypes.orderedMap.isRequired,\n schema: ImPropTypes.orderedMap.isRequired,\n name: PropTypes.string.isRequired,\n getComponent: PropTypes.func.isRequired,\n onAuthChange: PropTypes.func.isRequired,\n errSelectors: PropTypes.object.isRequired,\n }\n\n render() {\n let {\n schema,\n name,\n getComponent,\n onAuthChange,\n authorized,\n errSelectors\n } = this.props\n const ApiKeyAuth = getComponent(\"apiKeyAuth\")\n const BasicAuth = getComponent(\"basicAuth\")\n\n let authEl\n\n const type = schema.get(\"type\")\n\n switch(type) {\n case \"apiKey\": authEl = \n break\n case \"basic\": authEl = \n break\n default: authEl =
Unknown security definition type { type }
\n }\n\n return (
\n { authEl }\n
)\n }\n\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class AuthError extends React.Component {\n\n static propTypes = {\n error: PropTypes.object.isRequired\n }\n\n render() {\n let { error } = this.props\n\n let level = error.get(\"level\")\n let message = error.get(\"message\")\n let source = error.get(\"source\")\n\n return (\n
\n { source } { level }\n { message }\n
\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class ApiKeyAuth extends React.Component {\n static propTypes = {\n authorized: PropTypes.object,\n getComponent: PropTypes.func.isRequired,\n errSelectors: PropTypes.object.isRequired,\n schema: PropTypes.object.isRequired,\n name: PropTypes.string.isRequired,\n onChange: PropTypes.func\n }\n\n constructor(props, context) {\n super(props, context)\n let { name, schema } = this.props\n let value = this.getValue()\n\n this.state = {\n name: name,\n schema: schema,\n value: value\n }\n }\n\n getValue () {\n let { name, authorized } = this.props\n\n return authorized && authorized.getIn([name, \"value\"])\n }\n\n onChange =(e) => {\n let { onChange } = this.props\n let value = e.target.value\n let newState = Object.assign({}, this.state, { value: value })\n\n this.setState(newState)\n onChange(newState)\n }\n\n render() {\n let { schema, getComponent, errSelectors, name } = this.props\n const Input = getComponent(\"Input\")\n const Row = getComponent(\"Row\")\n const Col = getComponent(\"Col\")\n const AuthError = getComponent(\"authError\")\n const Markdown = getComponent(\"Markdown\", true)\n const JumpToPath = getComponent(\"JumpToPath\", true)\n let value = this.getValue()\n let errors = errSelectors.allErrors().filter( err => err.get(\"authId\") === name)\n\n return (\n
\n

\n { name || schema.get(\"name\") } (apiKey)\n \n

\n { value &&
Authorized
}\n \n \n \n \n

Name: { schema.get(\"name\") }

\n
\n \n

In: { schema.get(\"in\") }

\n
\n \n \n {\n value ? ****** \n : \n }\n \n {\n errors.valueSeq().map( (error, key) => {\n return \n } )\n }\n
\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nexport default class BasicAuth extends React.Component {\n static propTypes = {\n authorized: ImPropTypes.map,\n schema: ImPropTypes.map,\n getComponent: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n name: PropTypes.string.isRequired,\n errSelectors: PropTypes.object.isRequired,\n }\n\n constructor(props, context) {\n super(props, context)\n let { schema, name } = this.props\n\n let value = this.getValue()\n let username = value.username\n\n this.state = {\n name: name,\n schema: schema,\n value: !username ? {} : {\n username: username\n }\n }\n }\n\n getValue () {\n let { authorized, name } = this.props\n\n return authorized && authorized.getIn([name, \"value\"]) || {}\n }\n\n onChange =(e) => {\n let { onChange } = this.props\n let { value, name } = e.target\n\n let newValue = this.state.value\n newValue[name] = value\n\n this.setState({ value: newValue })\n\n onChange(this.state)\n }\n\n render() {\n let { schema, getComponent, name, errSelectors } = this.props\n const Input = getComponent(\"Input\")\n const Row = getComponent(\"Row\")\n const Col = getComponent(\"Col\")\n const AuthError = getComponent(\"authError\")\n const JumpToPath = getComponent(\"JumpToPath\", true)\n const Markdown = getComponent(\"Markdown\", true)\n let username = this.getValue().username\n let errors = errSelectors.allErrors().filter( err => err.get(\"authId\") === name)\n\n return (\n
\n

Basic authorization

\n { username &&
Authorized
}\n \n \n \n \n \n {\n username ? { username } \n : \n }\n \n \n \n {\n username ? ****** \n : \n }\n \n {\n errors.valueSeq().map( (error, key) => {\n return \n } )\n }\n
\n )\n }\n\n}\n","/**\n * @prettier\n */\n\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport { stringify } from \"core/utils\"\n\nexport default function Example(props) {\n const { example, showValue, getComponent, getConfigs } = props\n\n const Markdown = getComponent(\"Markdown\", true)\n const HighlightCode = getComponent(\"highlightCode\")\n\n if(!example) return null\n\n return (\n
\n {example.get(\"description\") ? (\n
\n
Example Description
\n

\n \n

\n
\n ) : null}\n {showValue && example.has(\"value\") ? (\n
\n
Example Value
\n \n
\n ) : null}\n
\n )\n}\n\nExample.propTypes = {\n example: ImPropTypes.map.isRequired,\n showValue: PropTypes.bool,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.getConfigs,\n}\n","/**\n * @prettier\n */\n\nimport React from \"react\"\nimport Im from \"immutable\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nexport default class ExamplesSelect extends React.PureComponent {\n static propTypes = {\n examples: ImPropTypes.map.isRequired,\n onSelect: PropTypes.func,\n currentExampleKey: PropTypes.string,\n isModifiedValueAvailable: PropTypes.bool,\n isValueModified: PropTypes.bool,\n showLabels: PropTypes.bool,\n }\n\n static defaultProps = {\n examples: Im.Map({}),\n onSelect: (...args) =>\n console.log( // eslint-disable-line no-console\n // FIXME: remove before merging to master...\n `DEBUG: ExamplesSelect was not given an onSelect callback`,\n ...args\n ),\n currentExampleKey: null,\n showLabels: true,\n }\n\n _onSelect = (key, { isSyntheticChange = false } = {}) => {\n if (typeof this.props.onSelect === \"function\") {\n this.props.onSelect(key, {\n isSyntheticChange,\n })\n }\n }\n\n _onDomSelect = e => {\n if (typeof this.props.onSelect === \"function\") {\n const element = e.target.selectedOptions[0]\n const key = element.getAttribute(\"value\")\n\n this._onSelect(key, {\n isSyntheticChange: false,\n })\n }\n }\n\n getCurrentExample = () => {\n const { examples, currentExampleKey } = this.props\n\n const currentExamplePerProps = examples.get(currentExampleKey)\n\n const firstExamplesKey = examples.keySeq().first()\n const firstExample = examples.get(firstExamplesKey)\n\n return currentExamplePerProps || firstExample || Map({})\n }\n\n componentDidMount() {\n // this is the not-so-great part of ExamplesSelect... here we're\n // artificially kicking off an onSelect event in order to set a default\n // value in state. the consumer has the option to avoid this by checking\n // `isSyntheticEvent`, but we should really be doing this in a selector.\n // TODO: clean this up\n // FIXME: should this only trigger if `currentExamplesKey` is nullish?\n const { onSelect, examples } = this.props\n\n if (typeof onSelect === \"function\") {\n const firstExample = examples.first()\n const firstExampleKey = examples.keyOf(firstExample)\n\n this._onSelect(firstExampleKey, {\n isSyntheticChange: true,\n })\n }\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n const { currentExampleKey, examples } = nextProps\n if (examples !== this.props.examples && !examples.has(currentExampleKey)) {\n // examples have changed from under us, and the currentExampleKey is no longer\n // valid.\n const firstExample = examples.first()\n const firstExampleKey = examples.keyOf(firstExample)\n\n this._onSelect(firstExampleKey, {\n isSyntheticChange: true,\n })\n }\n }\n\n render() {\n const {\n examples,\n currentExampleKey,\n isValueModified,\n isModifiedValueAvailable,\n showLabels,\n } = this.props\n\n return (\n
\n {\n showLabels ? (\n Examples: \n ) : null\n }\n \n {isModifiedValueAvailable ? (\n \n ) : null}\n {examples\n .map((example, exampleName) => {\n return (\n \n {example.get(\"summary\") || exampleName}\n \n )\n })\n .valueSeq()}\n \n
\n )\n }\n}\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport { Map, List } from \"immutable\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nimport { stringify } from \"core/utils\"\n\n// This stateful component lets us avoid writing competing values (user\n// modifications vs example values) into global state, and the mess that comes\n// with that: tracking which of the two values are currently used for\n// Try-It-Out, which example a modified value came from, etc...\n//\n// The solution here is to retain the last user-modified value in\n// ExamplesSelectValueRetainer's component state, so that our global state can stay\n// clean, always simply being the source of truth for what value should be both\n// displayed to the user and used as a value during request execution.\n//\n// This approach/tradeoff was chosen in order to encapsulate the particular\n// logic of Examples within the Examples component tree, and to avoid\n// regressions within our current implementation elsewhere (non-Examples\n// definitions, OpenAPI 2.0, etc). A future refactor to global state might make\n// this component unnecessary.\n//\n// TL;DR: this is not our usual approach, but the choice was made consciously.\n\n// Note that `currentNamespace` isn't currently used anywhere!\n\nconst stringifyUnlessList = input =>\n List.isList(input) ? input : stringify(input)\n\nexport default class ExamplesSelectValueRetainer extends React.PureComponent {\n static propTypes = {\n examples: ImPropTypes.map,\n onSelect: PropTypes.func,\n updateValue: PropTypes.func, // mechanism to update upstream value\n userHasEditedBody: PropTypes.bool,\n getComponent: PropTypes.func.isRequired,\n currentUserInputValue: PropTypes.any,\n currentKey: PropTypes.string,\n currentNamespace: PropTypes.string,\n setRetainRequestBodyValueFlag: PropTypes.func.isRequired,\n // (also proxies props for Examples)\n }\n\n static defaultProps = {\n userHasEditedBody: false,\n examples: Map({}),\n currentNamespace: \"__DEFAULT__NAMESPACE__\",\n setRetainRequestBodyValueFlag: () => {\n // NOOP\n },\n onSelect: (...args) =>\n console.log( // eslint-disable-line no-console\n \"ExamplesSelectValueRetainer: no `onSelect` function was provided\",\n ...args\n ),\n updateValue: (...args) =>\n console.log( // eslint-disable-line no-console\n \"ExamplesSelectValueRetainer: no `updateValue` function was provided\",\n ...args\n ),\n }\n\n constructor(props) {\n super(props)\n\n const valueFromExample = this._getCurrentExampleValue()\n\n this.state = {\n // user edited: last value that came from the world around us, and didn't\n // match the current example's value\n // internal: last value that came from user selecting an Example\n [props.currentNamespace]: Map({\n lastUserEditedValue: this.props.currentUserInputValue,\n lastDownstreamValue: valueFromExample,\n isModifiedValueSelected:\n // valueFromExample !== undefined &&\n this.props.userHasEditedBody ||\n this.props.currentUserInputValue !== valueFromExample,\n }),\n }\n }\n\n componentWillUnmount() {\n this.props.setRetainRequestBodyValueFlag(false)\n }\n\n _getStateForCurrentNamespace = () => {\n const { currentNamespace } = this.props\n\n return (this.state[currentNamespace] || Map()).toObject()\n }\n\n _setStateForCurrentNamespace = obj => {\n const { currentNamespace } = this.props\n\n return this._setStateForNamespace(currentNamespace, obj)\n }\n\n _setStateForNamespace = (namespace, obj) => {\n const oldStateForNamespace = this.state[namespace] || Map()\n const newStateForNamespace = oldStateForNamespace.mergeDeep(obj)\n return this.setState({\n [namespace]: newStateForNamespace,\n })\n }\n\n _isCurrentUserInputSameAsExampleValue = () => {\n const { currentUserInputValue } = this.props\n\n const valueFromExample = this._getCurrentExampleValue()\n\n return valueFromExample === currentUserInputValue\n }\n\n _getValueForExample = (exampleKey, props) => {\n // props are accepted so that this can be used in UNSAFE_componentWillReceiveProps,\n // which has access to `nextProps`\n const { examples } = props || this.props\n return stringifyUnlessList(\n (examples || Map({})).getIn([exampleKey, \"value\"])\n )\n }\n\n _getCurrentExampleValue = props => {\n // props are accepted so that this can be used in UNSAFE_componentWillReceiveProps,\n // which has access to `nextProps`\n const { currentKey } = props || this.props\n return this._getValueForExample(currentKey, props || this.props)\n }\n\n _onExamplesSelect = (key, { isSyntheticChange } = {}, ...otherArgs) => {\n const {\n onSelect,\n updateValue,\n currentUserInputValue,\n userHasEditedBody,\n } = this.props\n const { lastUserEditedValue } = this._getStateForCurrentNamespace()\n\n const valueFromExample = this._getValueForExample(key)\n\n if (key === \"__MODIFIED__VALUE__\") {\n updateValue(stringifyUnlessList(lastUserEditedValue))\n return this._setStateForCurrentNamespace({\n isModifiedValueSelected: true,\n })\n }\n\n if (typeof onSelect === \"function\") {\n onSelect(key, { isSyntheticChange }, ...otherArgs)\n }\n\n this._setStateForCurrentNamespace({\n lastDownstreamValue: valueFromExample,\n isModifiedValueSelected:\n (isSyntheticChange && userHasEditedBody) ||\n (!!currentUserInputValue && currentUserInputValue !== valueFromExample),\n })\n\n // we never want to send up value updates from synthetic changes\n if (isSyntheticChange) return\n\n if (typeof updateValue === \"function\") {\n updateValue(stringifyUnlessList(valueFromExample))\n }\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n // update `lastUserEditedValue` as new currentUserInput values come in\n\n const {\n currentUserInputValue: newValue,\n examples,\n onSelect,\n userHasEditedBody,\n } = nextProps\n\n const {\n lastUserEditedValue,\n lastDownstreamValue,\n } = this._getStateForCurrentNamespace()\n\n const valueFromCurrentExample = this._getValueForExample(\n nextProps.currentKey,\n nextProps\n )\n\n const examplesMatchingNewValue = examples.filter(\n (example) =>\n example.get(\"value\") === newValue ||\n // sometimes data is stored as a string (e.g. in Request Bodies), so\n // let's check against a stringified version of our example too\n stringify(example.get(\"value\")) === newValue\n )\n\n if (examplesMatchingNewValue.size) {\n let key\n if(examplesMatchingNewValue.has(nextProps.currentKey))\n {\n key = nextProps.currentKey\n } else {\n key = examplesMatchingNewValue.keySeq().first()\n }\n onSelect(key, {\n isSyntheticChange: true,\n })\n } else if (\n newValue !== this.props.currentUserInputValue && // value has changed\n newValue !== lastUserEditedValue && // value isn't already tracked\n newValue !== lastDownstreamValue // value isn't what we've seen on the other side\n ) {\n this.props.setRetainRequestBodyValueFlag(true)\n this._setStateForNamespace(nextProps.currentNamespace, {\n lastUserEditedValue: nextProps.currentUserInputValue,\n isModifiedValueSelected:\n userHasEditedBody || newValue !== valueFromCurrentExample,\n })\n }\n }\n\n render() {\n const {\n currentUserInputValue,\n examples,\n currentKey,\n getComponent,\n userHasEditedBody,\n } = this.props\n const {\n lastDownstreamValue,\n lastUserEditedValue,\n isModifiedValueSelected,\n } = this._getStateForCurrentNamespace()\n\n const ExamplesSelect = getComponent(\"ExamplesSelect\")\n\n return (\n \n )\n }\n}\n","import parseUrl from \"url-parse\"\nimport Im from \"immutable\"\nimport { btoa, sanitizeUrl, generateCodeVerifier, createCodeChallenge } from \"core/utils\"\n\nexport default function authorize ( { auth, authActions, errActions, configs, authConfigs={}, currentServer } ) {\n let { schema, scopes, name, clientId } = auth\n let flow = schema.get(\"flow\")\n let query = []\n\n switch (flow) {\n case \"password\":\n authActions.authorizePassword(auth)\n return\n\n case \"application\":\n authActions.authorizeApplication(auth)\n return\n\n case \"accessCode\":\n query.push(\"response_type=code\")\n break\n\n case \"implicit\":\n query.push(\"response_type=token\")\n break\n\n case \"clientCredentials\":\n case \"client_credentials\":\n // OAS3\n authActions.authorizeApplication(auth)\n return\n\n case \"authorizationCode\":\n case \"authorization_code\":\n // OAS3\n query.push(\"response_type=code\")\n break\n }\n\n if (typeof clientId === \"string\") {\n query.push(\"client_id=\" + encodeURIComponent(clientId))\n }\n\n let redirectUrl = configs.oauth2RedirectUrl\n\n // todo move to parser\n if (typeof redirectUrl === \"undefined\") {\n errActions.newAuthErr( {\n authId: name,\n source: \"validation\",\n level: \"error\",\n message: \"oauth2RedirectUrl configuration is not passed. Oauth2 authorization cannot be performed.\"\n })\n return\n }\n query.push(\"redirect_uri=\" + encodeURIComponent(redirectUrl))\n\n let scopesArray = []\n if (Array.isArray(scopes)) {\n scopesArray = scopes\n } else if (Im.List.isList(scopes)) {\n scopesArray = scopes.toArray()\n }\n\n if (scopesArray.length > 0) {\n let scopeSeparator = authConfigs.scopeSeparator || \" \"\n\n query.push(\"scope=\" + encodeURIComponent(scopesArray.join(scopeSeparator)))\n }\n\n let state = btoa(new Date())\n\n query.push(\"state=\" + encodeURIComponent(state))\n\n if (typeof authConfigs.realm !== \"undefined\") {\n query.push(\"realm=\" + encodeURIComponent(authConfigs.realm))\n }\n\n if ((flow === \"authorizationCode\" || flow === \"authorization_code\" || flow === \"accessCode\") && authConfigs.usePkceWithAuthorizationCodeGrant) {\n const codeVerifier = generateCodeVerifier()\n const codeChallenge = createCodeChallenge(codeVerifier)\n\n query.push(\"code_challenge=\" + codeChallenge)\n query.push(\"code_challenge_method=S256\")\n\n // storing the Code Verifier so it can be sent to the token endpoint\n // when exchanging the Authorization Code for an Access Token\n auth.codeVerifier = codeVerifier\n }\n\n let { additionalQueryStringParams } = authConfigs\n\n for (let key in additionalQueryStringParams) {\n if (typeof additionalQueryStringParams[key] !== \"undefined\") {\n query.push([key, additionalQueryStringParams[key]].map(encodeURIComponent).join(\"=\"))\n }\n }\n\n const authorizationUrl = schema.get(\"authorizationUrl\")\n let sanitizedAuthorizationUrl\n if (currentServer) {\n // OpenAPI 3\n sanitizedAuthorizationUrl = parseUrl(\n sanitizeUrl(authorizationUrl),\n currentServer,\n true\n ).toString()\n } else {\n sanitizedAuthorizationUrl = sanitizeUrl(authorizationUrl)\n }\n let url = [sanitizedAuthorizationUrl, query.join(\"&\")].join(authorizationUrl.indexOf(\"?\") === -1 ? \"?\" : \"&\")\n\n // pass action authorizeOauth2 and authentication data through window\n // to authorize with oauth2\n\n let callback\n if (flow === \"implicit\") {\n callback = authActions.preAuthorizeImplicit\n } else if (authConfigs.useBasicAuthenticationWithAccessCodeGrant) {\n callback = authActions.authorizeAccessCodeWithBasicAuthentication\n } else {\n callback = authActions.authorizeAccessCodeWithFormParams\n }\n\n authActions.authPopup(url, {\n auth: auth,\n state: state,\n redirectUrl: redirectUrl,\n callback: callback,\n errCb: errActions.newAuthErr\n })\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport oauth2Authorize from \"core/oauth2-authorize\"\n\nexport default class Oauth2 extends React.Component {\n static propTypes = {\n name: PropTypes.string,\n authorized: PropTypes.object,\n getComponent: PropTypes.func.isRequired,\n schema: PropTypes.object.isRequired,\n authSelectors: PropTypes.object.isRequired,\n authActions: PropTypes.object.isRequired,\n errSelectors: PropTypes.object.isRequired,\n oas3Selectors: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n errActions: PropTypes.object.isRequired,\n getConfigs: PropTypes.any\n }\n\n constructor(props, context) {\n super(props, context)\n let { name, schema, authorized, authSelectors } = this.props\n let auth = authorized && authorized.get(name)\n let authConfigs = authSelectors.getConfigs() || {}\n let username = auth && auth.get(\"username\") || \"\"\n let clientId = auth && auth.get(\"clientId\") || authConfigs.clientId || \"\"\n let clientSecret = auth && auth.get(\"clientSecret\") || authConfigs.clientSecret || \"\"\n let passwordType = auth && auth.get(\"passwordType\") || \"basic\"\n let scopes = auth && auth.get(\"scopes\") || authConfigs.scopes || []\n if (typeof scopes === \"string\") {\n scopes = scopes.split(authConfigs.scopeSeparator || \" \")\n }\n\n this.state = {\n appName: authConfigs.appName,\n name: name,\n schema: schema,\n scopes: scopes,\n clientId: clientId,\n clientSecret: clientSecret,\n username: username,\n password: \"\",\n passwordType: passwordType\n }\n }\n\n close = (e) => {\n e.preventDefault()\n let { authActions } = this.props\n\n authActions.showDefinitions(false)\n }\n\n authorize =() => {\n let { authActions, errActions, getConfigs, authSelectors, oas3Selectors } = this.props\n let configs = getConfigs()\n let authConfigs = authSelectors.getConfigs()\n\n errActions.clear({authId: name,type: \"auth\", source: \"auth\"})\n oauth2Authorize({\n auth: this.state,\n currentServer: oas3Selectors.serverEffectiveValue(oas3Selectors.selectedServer()),\n authActions,\n errActions,\n configs,\n authConfigs\n })\n }\n\n onScopeChange =(e) => {\n let { target } = e\n let { checked } = target\n let scope = target.dataset.value\n\n if ( checked && this.state.scopes.indexOf(scope) === -1 ) {\n let newScopes = this.state.scopes.concat([scope])\n this.setState({ scopes: newScopes })\n } else if ( !checked && this.state.scopes.indexOf(scope) > -1) {\n this.setState({ scopes: this.state.scopes.filter((val) => val !== scope) })\n }\n }\n\n onInputChange =(e) => {\n let { target : { dataset : { name }, value } } = e\n let state = {\n [name]: value\n }\n\n this.setState(state)\n }\n\n selectScopes =(e) => {\n if (e.target.dataset.all) {\n this.setState({\n scopes: Array.from((this.props.schema.get(\"allowedScopes\") || this.props.schema.get(\"scopes\")).keys())\n })\n } else {\n this.setState({ scopes: [] })\n }\n }\n\n logout =(e) => {\n e.preventDefault()\n let { authActions, errActions, name } = this.props\n\n errActions.clear({authId: name, type: \"auth\", source: \"auth\"})\n authActions.logoutWithPersistOption([ name ])\n }\n\n render() {\n let {\n schema, getComponent, authSelectors, errSelectors, name, specSelectors\n } = this.props\n const Input = getComponent(\"Input\")\n const Row = getComponent(\"Row\")\n const Col = getComponent(\"Col\")\n const Button = getComponent(\"Button\")\n const AuthError = getComponent(\"authError\")\n const JumpToPath = getComponent(\"JumpToPath\", true)\n const Markdown = getComponent(\"Markdown\", true)\n const InitializedInput = getComponent(\"InitializedInput\")\n\n const { isOAS3 } = specSelectors\n\n let oidcUrl = isOAS3() ? schema.get(\"openIdConnectUrl\") : null\n\n // Auth type consts\n const AUTH_FLOW_IMPLICIT = \"implicit\"\n const AUTH_FLOW_PASSWORD = \"password\"\n const AUTH_FLOW_ACCESS_CODE = isOAS3() ? (oidcUrl ? \"authorization_code\" : \"authorizationCode\") : \"accessCode\"\n const AUTH_FLOW_APPLICATION = isOAS3() ? (oidcUrl ? \"client_credentials\" : \"clientCredentials\") : \"application\"\n\n let authConfigs = authSelectors.getConfigs() || {}\n let isPkceCodeGrant = !!authConfigs.usePkceWithAuthorizationCodeGrant\n\n let flow = schema.get(\"flow\")\n let flowToDisplay = flow === AUTH_FLOW_ACCESS_CODE && isPkceCodeGrant ? flow + \" with PKCE\" : flow\n let scopes = schema.get(\"allowedScopes\") || schema.get(\"scopes\")\n let authorizedAuth = authSelectors.authorized().get(name)\n let isAuthorized = !!authorizedAuth\n let errors = errSelectors.allErrors().filter( err => err.get(\"authId\") === name)\n let isValid = !errors.filter( err => err.get(\"source\") === \"validation\").size\n let description = schema.get(\"description\")\n\n return (\n
\n

{name} (OAuth2, { flowToDisplay })

\n { !this.state.appName ? null :
Application: { this.state.appName }
}\n { description && }\n\n { isAuthorized &&
Authorized
}\n\n { oidcUrl &&

OpenID Connect URL: { oidcUrl }

}\n { ( flow === AUTH_FLOW_IMPLICIT || flow === AUTH_FLOW_ACCESS_CODE ) &&

Authorization URL: { schema.get(\"authorizationUrl\") }

}\n { ( flow === AUTH_FLOW_PASSWORD || flow === AUTH_FLOW_ACCESS_CODE || flow === AUTH_FLOW_APPLICATION ) &&

Token URL: { schema.get(\"tokenUrl\") }

}\n

Flow: { flowToDisplay }

\n\n {\n flow !== AUTH_FLOW_PASSWORD ? null\n : \n \n \n {\n isAuthorized ? { this.state.username } \n : \n \n \n }\n \n {\n\n }\n \n \n {\n isAuthorized ? ****** \n : \n \n \n }\n \n \n \n {\n isAuthorized ? { this.state.passwordType } \n : \n \n \n }\n \n \n }\n {\n ( flow === AUTH_FLOW_APPLICATION || flow === AUTH_FLOW_IMPLICIT || flow === AUTH_FLOW_ACCESS_CODE || flow === AUTH_FLOW_PASSWORD ) &&\n ( !isAuthorized || isAuthorized && this.state.clientId) && \n \n {\n isAuthorized ? ****** \n : \n \n \n }\n \n }\n\n {\n ( (flow === AUTH_FLOW_APPLICATION || flow === AUTH_FLOW_ACCESS_CODE || flow === AUTH_FLOW_PASSWORD) && \n \n {\n isAuthorized ? ****** \n : \n \n \n }\n\n \n )}\n\n {\n !isAuthorized && scopes && scopes.size ?
\n

\n Scopes:\n select all\n select none\n

\n { scopes.map((description, name) => {\n return (\n \n
\n \n \n
\n
\n )\n }).toArray()\n }\n
: null\n }\n\n {\n errors.valueSeq().map( (error, key) => {\n return \n } )\n }\n
\n { isValid &&\n ( isAuthorized ? \n : \n )\n }\n \n
\n\n
\n )\n }\n}\n","import React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class Clear extends Component {\n\n onClick =() => {\n let { specActions, path, method } = this.props\n specActions.clearResponse( path, method )\n specActions.clearRequest( path, method )\n }\n\n render(){\n return (\n \n )\n }\n\n static propTypes = {\n specActions: PropTypes.object.isRequired,\n path: PropTypes.string.isRequired,\n method: PropTypes.string.isRequired,\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nconst Headers = ( { headers } )=>{\n return (\n
\n
Response headers
\n
{headers}
\n
)\n}\nHeaders.propTypes = {\n headers: PropTypes.array.isRequired\n}\n\nconst Duration = ( { duration } ) => {\n return (\n
\n
Request duration
\n
{duration} ms
\n
\n )\n}\nDuration.propTypes = {\n duration: PropTypes.number.isRequired\n}\n\n\nexport default class LiveResponse extends React.Component {\n static propTypes = {\n response: ImPropTypes.map,\n path: PropTypes.string.isRequired,\n method: PropTypes.string.isRequired,\n displayRequestDuration: PropTypes.bool.isRequired,\n specSelectors: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired\n }\n\n shouldComponentUpdate(nextProps) {\n // BUG: props.response is always coming back as a new Immutable instance\n // same issue as responses.jsx (tryItOutResponse)\n return this.props.response !== nextProps.response\n || this.props.path !== nextProps.path\n || this.props.method !== nextProps.method\n || this.props.displayRequestDuration !== nextProps.displayRequestDuration\n }\n\n render() {\n const { response, getComponent, getConfigs, displayRequestDuration, specSelectors, path, method } = this.props\n const { showMutatedRequest, requestSnippetsEnabled } = getConfigs()\n\n const curlRequest = showMutatedRequest ? specSelectors.mutatedRequestFor(path, method) : specSelectors.requestFor(path, method)\n const status = response.get(\"status\")\n const url = curlRequest.get(\"url\")\n const headers = response.get(\"headers\").toJS()\n const notDocumented = response.get(\"notDocumented\")\n const isError = response.get(\"error\")\n const body = response.get(\"text\")\n const duration = response.get(\"duration\")\n const headersKeys = Object.keys(headers)\n const contentType = headers[\"content-type\"] || headers[\"Content-Type\"]\n\n const ResponseBody = getComponent(\"responseBody\")\n const returnObject = headersKeys.map(key => {\n var joinedHeaders = Array.isArray(headers[key]) ? headers[key].join() : headers[key]\n return {key}: {joinedHeaders} \n })\n const hasHeaders = returnObject.length !== 0\n const Markdown = getComponent(\"Markdown\", true)\n const RequestSnippets = getComponent(\"RequestSnippets\", true)\n const Curl = getComponent(\"curl\")\n\n return (\n
\n { curlRequest && (requestSnippetsEnabled === true || requestSnippetsEnabled === \"true\"\n ? \n : ) }\n { url &&
\n
\n

Request URL

\n
{url}
\n
\n
\n }\n

Server response

\n \n \n \n \n \n \n \n \n \n \n \n \n \n
CodeDetails
\n { status }\n {\n notDocumented ?
\n Undocumented \n
\n : null\n }\n
\n {\n isError ? \n : null\n }\n {\n body ? \n : null\n }\n {\n hasHeaders ? : null\n }\n {\n displayRequestDuration && duration ? : null\n }\n
\n
\n )\n }\n}\n","import React from \"react\"\nimport URL from \"url-parse\"\n\nimport PropTypes from \"prop-types\"\nimport { sanitizeUrl, requiresValidationURL } from \"core/utils\"\nimport win from \"core/window\"\n\nexport default class OnlineValidatorBadge extends React.Component {\n static propTypes = {\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired\n }\n\n constructor(props, context) {\n super(props, context)\n let { getConfigs } = props\n let { validatorUrl } = getConfigs()\n this.state = {\n url: this.getDefinitionUrl(),\n validatorUrl: validatorUrl === undefined ? \"https://validator.swagger.io/validator\" : validatorUrl\n }\n }\n\n getDefinitionUrl = () => {\n // TODO: test this behavior by stubbing `window.location` in an Enzyme/JSDom env\n let { specSelectors } = this.props\n\n const urlObject = new URL(specSelectors.url(), win.location)\n return urlObject.toString()\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n let { getConfigs } = nextProps\n let { validatorUrl } = getConfigs()\n\n this.setState({\n url: this.getDefinitionUrl(),\n validatorUrl: validatorUrl === undefined ? \"https://validator.swagger.io/validator\" : validatorUrl\n })\n }\n\n render() {\n let { getConfigs } = this.props\n let { spec } = getConfigs()\n\n let sanitizedValidatorUrl = sanitizeUrl(this.state.validatorUrl)\n\n if ( typeof spec === \"object\" && Object.keys(spec).length) return null\n\n if (!this.state.url || !requiresValidationURL(this.state.validatorUrl)\n || !requiresValidationURL(this.state.url)) {\n return null\n }\n\n return (\n \n \n \n )\n }\n}\n\n\nclass ValidatorImage extends React.Component {\n static propTypes = {\n src: PropTypes.string,\n alt: PropTypes.string\n }\n\n constructor(props) {\n super(props)\n this.state = {\n loaded: false,\n error: false\n }\n }\n\n componentDidMount() {\n const img = new Image()\n img.onload = () => {\n this.setState({\n loaded: true\n })\n }\n img.onerror = () => {\n this.setState({\n error: true\n })\n }\n img.src = this.props.src\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (nextProps.src !== this.props.src) {\n const img = new Image()\n img.onload = () => {\n this.setState({\n loaded: true\n })\n }\n img.onerror = () => {\n this.setState({\n error: true\n })\n }\n img.src = nextProps.src\n }\n }\n\n render() {\n if (this.state.error) {\n return {\"Error\"}\n } else if (!this.state.loaded) {\n return null\n }\n return {this.props.alt}\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport Im from \"immutable\"\n\nexport default class Operations extends React.Component {\n\n static propTypes = {\n specSelectors: PropTypes.object.isRequired,\n specActions: PropTypes.object.isRequired,\n oas3Actions: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n oas3Selectors: PropTypes.func.isRequired,\n layoutSelectors: PropTypes.object.isRequired,\n layoutActions: PropTypes.object.isRequired,\n authActions: PropTypes.object.isRequired,\n authSelectors: PropTypes.object.isRequired,\n getConfigs: PropTypes.func.isRequired,\n fn: PropTypes.func.isRequired\n }\n\n render() {\n let {\n specSelectors,\n } = this.props\n\n const taggedOps = specSelectors.taggedOperations()\n\n if(taggedOps.size === 0) {\n return

No operations defined in spec!

\n }\n\n return (\n
\n { taggedOps.map(this.renderOperationTag).toArray() }\n { taggedOps.size < 1 ?

No operations defined in spec!

: null }\n
\n )\n }\n\n renderOperationTag = (tagObj, tag) => {\n const {\n specSelectors,\n getComponent,\n oas3Selectors,\n layoutSelectors,\n layoutActions,\n getConfigs,\n } = this.props\n const validOperationMethods = specSelectors.validOperationMethods()\n const OperationContainer = getComponent(\"OperationContainer\", true)\n const OperationTag = getComponent(\"OperationTag\")\n const operations = tagObj.get(\"operations\")\n return (\n \n
\n {\n operations.map(op => {\n const path = op.get(\"path\")\n const method = op.get(\"method\")\n const specPath = Im.List([\"paths\", path, method])\n\n if (validOperationMethods.indexOf(method) === -1) {\n return null\n }\n\n return (\n \n )\n }).toArray()\n }\n
\n \n )\n }\n\n}\n\nOperations.propTypes = {\n layoutActions: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n specActions: PropTypes.object.isRequired,\n layoutSelectors: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n fn: PropTypes.object.isRequired\n}\n","export function isAbsoluteUrl(url) {\n return url.match(/^(?:[a-z]+:)?\\/\\//i) // Matches http://, HTTP://, https://, ftp://, //example.com,\n}\n\nexport function addProtocol(url) {\n if (!url.match(/^\\/\\//i)) return url // Checks if protocol is missing e.g. //example.com\n\n return `${window.location.protocol}${url}`\n}\n\nexport function buildBaseUrl(selectedServer, specUrl) {\n if (!selectedServer) return specUrl\n if (isAbsoluteUrl(selectedServer)) return addProtocol(selectedServer)\n\n return new URL(selectedServer, specUrl).href\n}\n\nexport function buildUrl(url, specUrl, { selectedServer=\"\" } = {}) {\n if (!url) return undefined\n if (isAbsoluteUrl(url)) return url\n\n const baseUrl = buildBaseUrl(selectedServer, specUrl)\n if (!isAbsoluteUrl(baseUrl)) {\n return new URL(url, window.location.href).href\n }\n return new URL(url, baseUrl).href\n}\n\n/**\n * Safe version of buildUrl function. `selectedServer` can contain server variables\n * which can fail the URL resolution.\n */\nexport function safeBuildUrl(url, specUrl, { selectedServer=\"\" } = {}) {\n try {\n return buildUrl(url, specUrl, { selectedServer })\n } catch {\n return undefined\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport Im from \"immutable\"\nimport { createDeepLinkPath, escapeDeepLinkPath, sanitizeUrl } from \"core/utils\"\nimport { safeBuildUrl } from \"core/utils/url\"\nimport { isFunc } from \"core/utils\"\n\nexport default class OperationTag extends React.Component {\n\n static defaultProps = {\n tagObj: Im.fromJS({}),\n tag: \"\",\n }\n\n static propTypes = {\n tagObj: ImPropTypes.map.isRequired,\n tag: PropTypes.string.isRequired,\n\n oas3Selectors: PropTypes.func.isRequired,\n layoutSelectors: PropTypes.object.isRequired,\n layoutActions: PropTypes.object.isRequired,\n\n getConfigs: PropTypes.func.isRequired,\n getComponent: PropTypes.func.isRequired,\n\n specUrl: PropTypes.string.isRequired,\n\n children: PropTypes.element,\n }\n\n render() {\n const {\n tagObj,\n tag,\n children,\n oas3Selectors,\n layoutSelectors,\n layoutActions,\n getConfigs,\n getComponent,\n specUrl,\n } = this.props\n\n let {\n docExpansion,\n deepLinking,\n } = getConfigs()\n\n const isDeepLinkingEnabled = deepLinking && deepLinking !== \"false\"\n\n const Collapse = getComponent(\"Collapse\")\n const Markdown = getComponent(\"Markdown\", true)\n const DeepLink = getComponent(\"DeepLink\")\n const Link = getComponent(\"Link\")\n const ArrowUpIcon = getComponent(\"ArrowUpIcon\")\n const ArrowDownIcon = getComponent(\"ArrowDownIcon\")\n\n let tagDescription = tagObj.getIn([\"tagDetails\", \"description\"], null)\n let tagExternalDocsDescription = tagObj.getIn([\"tagDetails\", \"externalDocs\", \"description\"])\n let rawTagExternalDocsUrl = tagObj.getIn([\"tagDetails\", \"externalDocs\", \"url\"])\n let tagExternalDocsUrl\n if (isFunc(oas3Selectors) && isFunc(oas3Selectors.selectedServer)) {\n tagExternalDocsUrl = safeBuildUrl(rawTagExternalDocsUrl, specUrl, { selectedServer: oas3Selectors.selectedServer() })\n } else {\n tagExternalDocsUrl = rawTagExternalDocsUrl\n }\n\n let isShownKey = [\"operations-tag\", tag]\n let showTag = layoutSelectors.isShown(isShownKey, docExpansion === \"full\" || docExpansion === \"list\")\n\n return (\n
\n\n layoutActions.show(isShownKey, !showTag)}\n className={!tagDescription ? \"opblock-tag no-desc\" : \"opblock-tag\"}\n id={isShownKey.map(v => escapeDeepLinkPath(v)).join(\"-\")}\n data-tag={tag}\n data-is-open={showTag}\n >\n \n {!tagDescription ? :\n \n \n \n }\n\n {!tagExternalDocsUrl ? null :\n
\n \n e.stopPropagation()}\n target=\"_blank\"\n >{tagExternalDocsDescription || tagExternalDocsUrl}\n \n
\n }\n\n\n layoutActions.show(isShownKey, !showTag)}>\n\n {showTag ? : }\n \n \n\n \n {children}\n \n
\n )\n }\n}\n","var _circle;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nconst SvgRollingLoad = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 200,\n height: 200,\n className: \"rolling-load_svg__lds-rolling\",\n preserveAspectRatio: \"xMidYMid\",\n style: {\n backgroundImage: \"none\",\n backgroundPosition: \"initial initial\",\n backgroundRepeat: \"initial initial\"\n },\n viewBox: \"0 0 100 100\"\n}, props), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 50,\n cy: 50,\n r: 35,\n fill: \"none\",\n stroke: \"#555\",\n strokeDasharray: \"164.93361431346415 56.97787143782138\",\n strokeWidth: 10\n}, /*#__PURE__*/React.createElement(\"animateTransform\", {\n attributeName: \"transform\",\n begin: \"0s\",\n calcMode: \"linear\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n type: \"rotate\",\n values: \"0 50 50;360 50 50\"\n}))));\nexport default SvgRollingLoad;","import React, { PureComponent } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { getList } from \"core/utils\"\nimport { getExtensions, sanitizeUrl, escapeDeepLinkPath } from \"core/utils\"\nimport { safeBuildUrl } from \"core/utils/url\"\nimport { Iterable, List } from \"immutable\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nimport RollingLoadSVG from \"core/assets/rolling-load.svg\"\n\nexport default class Operation extends PureComponent {\n static propTypes = {\n specPath: ImPropTypes.list.isRequired,\n operation: PropTypes.instanceOf(Iterable).isRequired,\n summary: PropTypes.string,\n response: PropTypes.instanceOf(Iterable),\n request: PropTypes.instanceOf(Iterable),\n\n toggleShown: PropTypes.func.isRequired,\n onTryoutClick: PropTypes.func.isRequired,\n onResetClick: PropTypes.func.isRequired,\n onCancelClick: PropTypes.func.isRequired,\n onExecute: PropTypes.func.isRequired,\n\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n authActions: PropTypes.object,\n authSelectors: PropTypes.object,\n specActions: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n oas3Actions: PropTypes.object.isRequired,\n oas3Selectors: PropTypes.object.isRequired,\n layoutActions: PropTypes.object.isRequired,\n layoutSelectors: PropTypes.object.isRequired,\n fn: PropTypes.object.isRequired\n }\n\n static defaultProps = {\n operation: null,\n response: null,\n request: null,\n specPath: List(),\n summary: \"\"\n }\n\n render() {\n let {\n specPath,\n response,\n request,\n toggleShown,\n onTryoutClick,\n onResetClick,\n onCancelClick,\n onExecute,\n fn,\n getComponent,\n getConfigs,\n specActions,\n specSelectors,\n authActions,\n authSelectors,\n oas3Actions,\n oas3Selectors\n } = this.props\n let operationProps = this.props.operation\n\n let {\n deprecated,\n isShown,\n path,\n method,\n op,\n tag,\n operationId,\n allowTryItOut,\n displayRequestDuration,\n tryItOutEnabled,\n executeInProgress\n } = operationProps.toJS()\n\n let {\n description,\n externalDocs,\n schemes\n } = op\n\n const externalDocsUrl = externalDocs ? safeBuildUrl(externalDocs.url, specSelectors.url(), { selectedServer: oas3Selectors.selectedServer() }) : \"\"\n let operation = operationProps.getIn([\"op\"])\n let responses = operation.get(\"responses\")\n let parameters = getList(operation, [\"parameters\"])\n let operationScheme = specSelectors.operationScheme(path, method)\n let isShownKey = [\"operations\", tag, operationId]\n let extensions = getExtensions(operation)\n\n const Responses = getComponent(\"responses\")\n const Parameters = getComponent( \"parameters\" )\n const Execute = getComponent( \"execute\" )\n const Clear = getComponent( \"clear\" )\n const Collapse = getComponent( \"Collapse\" )\n const Markdown = getComponent(\"Markdown\", true)\n const Schemes = getComponent( \"schemes\" )\n const OperationServers = getComponent( \"OperationServers\" )\n const OperationExt = getComponent( \"OperationExt\" )\n const OperationSummary = getComponent( \"OperationSummary\" )\n const Link = getComponent( \"Link\" )\n\n const { showExtensions } = getConfigs()\n\n // Merge in Live Response\n if(responses && response && response.size > 0) {\n let notDocumented = !responses.get(String(response.get(\"status\"))) && !responses.get(\"default\")\n response = response.set(\"notDocumented\", notDocumented)\n }\n\n let onChangeKey = [ path, method ] // Used to add values to _this_ operation ( indexed by path and method )\n\n const validationErrors = specSelectors.validationErrors([path, method])\n\n return (\n
\n \n \n
\n { (operation && operation.size) || operation === null ? null :\n \n }\n { deprecated &&

Warning: Deprecated

}\n { description &&\n
\n
\n \n
\n
\n }\n {\n externalDocsUrl ?\n
\n

Find more details

\n
\n {externalDocs.description &&\n \n \n \n }\n {externalDocsUrl}\n
\n
: null\n }\n\n { !operation || !operation.size ? null :\n \n }\n\n { !tryItOutEnabled ? null :\n \n }\n\n {!tryItOutEnabled || !allowTryItOut ? null : schemes && schemes.size ?
\n \n
: null\n }\n\n { !tryItOutEnabled || !allowTryItOut || validationErrors.length <= 0 ? null :
\n Please correct the following validation errors and try again.\n
    \n { validationErrors.map((error, index) =>
  • { error }
  • ) }\n
\n
\n }\n\n
\n { !tryItOutEnabled || !allowTryItOut ? null :\n\n \n }\n\n { (!tryItOutEnabled || !response || !allowTryItOut) ? null :\n \n }\n
\n\n {executeInProgress ?
: null}\n\n { !responses ? null :\n \n }\n\n { !showExtensions || !extensions.size ? null :\n \n }\n
\n
\n
\n )\n }\n\n}\n","import React, { PureComponent } from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport { opId } from \"swagger-client/es/helpers\"\nimport { Iterable, fromJS, Map } from \"immutable\"\n\nexport default class OperationContainer extends PureComponent {\n constructor(props, context) {\n super(props, context)\n\n const { tryItOutEnabled } = props.getConfigs()\n\n this.state = {\n tryItOutEnabled: tryItOutEnabled === true || tryItOutEnabled === \"true\",\n executeInProgress: false\n }\n }\n\n static propTypes = {\n op: PropTypes.instanceOf(Iterable).isRequired,\n tag: PropTypes.string.isRequired,\n path: PropTypes.string.isRequired,\n method: PropTypes.string.isRequired,\n operationId: PropTypes.string.isRequired,\n showSummary: PropTypes.bool.isRequired,\n isShown: PropTypes.bool.isRequired,\n jumpToKey: PropTypes.string.isRequired,\n allowTryItOut: PropTypes.bool,\n displayOperationId: PropTypes.bool,\n isAuthorized: PropTypes.bool,\n displayRequestDuration: PropTypes.bool,\n response: PropTypes.instanceOf(Iterable),\n request: PropTypes.instanceOf(Iterable),\n security: PropTypes.instanceOf(Iterable),\n isDeepLinkingEnabled: PropTypes.bool.isRequired,\n specPath: ImPropTypes.list.isRequired,\n getComponent: PropTypes.func.isRequired,\n authActions: PropTypes.object,\n oas3Actions: PropTypes.object,\n oas3Selectors: PropTypes.object,\n authSelectors: PropTypes.object,\n specActions: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n layoutActions: PropTypes.object.isRequired,\n layoutSelectors: PropTypes.object.isRequired,\n fn: PropTypes.object.isRequired,\n getConfigs: PropTypes.func.isRequired\n }\n\n static defaultProps = {\n showSummary: true,\n response: null,\n allowTryItOut: true,\n displayOperationId: false,\n displayRequestDuration: false\n }\n\n mapStateToProps(nextState, props) {\n const { op, layoutSelectors, getConfigs } = props\n const { docExpansion, deepLinking, displayOperationId, displayRequestDuration, supportedSubmitMethods } = getConfigs()\n const showSummary = layoutSelectors.showSummary()\n const operationId = op.getIn([\"operation\", \"__originalOperationId\"]) || op.getIn([\"operation\", \"operationId\"]) || opId(op.get(\"operation\"), props.path, props.method) || op.get(\"id\")\n const isShownKey = [\"operations\", props.tag, operationId]\n const isDeepLinkingEnabled = deepLinking && deepLinking !== \"false\"\n const allowTryItOut = supportedSubmitMethods.indexOf(props.method) >= 0 && (typeof props.allowTryItOut === \"undefined\" ?\n props.specSelectors.allowTryItOutFor(props.path, props.method) : props.allowTryItOut)\n const security = op.getIn([\"operation\", \"security\"]) || props.specSelectors.security()\n\n return {\n operationId,\n isDeepLinkingEnabled,\n showSummary,\n displayOperationId,\n displayRequestDuration,\n allowTryItOut,\n security,\n isAuthorized: props.authSelectors.isAuthorized(security),\n isShown: layoutSelectors.isShown(isShownKey, docExpansion === \"full\" ),\n jumpToKey: `paths.${props.path}.${props.method}`,\n response: props.specSelectors.responseFor(props.path, props.method),\n request: props.specSelectors.requestFor(props.path, props.method)\n }\n }\n\n componentDidMount() {\n const { isShown } = this.props\n const resolvedSubtree = this.getResolvedSubtree()\n\n if(isShown && resolvedSubtree === undefined) {\n this.requestResolvedSubtree()\n }\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n const { response, isShown } = nextProps\n const resolvedSubtree = this.getResolvedSubtree()\n\n if(response !== this.props.response) {\n this.setState({ executeInProgress: false })\n }\n\n if(isShown && resolvedSubtree === undefined) {\n this.requestResolvedSubtree()\n }\n }\n\n toggleShown =() => {\n let { layoutActions, tag, operationId, isShown } = this.props\n const resolvedSubtree = this.getResolvedSubtree()\n if(!isShown && resolvedSubtree === undefined) {\n // transitioning from collapsed to expanded\n this.requestResolvedSubtree()\n }\n layoutActions.show([\"operations\", tag, operationId], !isShown)\n }\n\n onCancelClick=() => {\n this.setState({tryItOutEnabled: !this.state.tryItOutEnabled})\n }\n\n onTryoutClick =() => {\n this.setState({tryItOutEnabled: !this.state.tryItOutEnabled})\n }\n\n onResetClick = (pathMethod) => {\n const defaultRequestBodyValue = this.props.oas3Selectors.selectDefaultRequestBodyValue(...pathMethod)\n this.props.oas3Actions.setRequestBodyValue({ value: defaultRequestBodyValue, pathMethod })\n }\n\n onExecute = () => {\n this.setState({ executeInProgress: true })\n }\n\n getResolvedSubtree = () => {\n const {\n specSelectors,\n path,\n method,\n specPath\n } = this.props\n\n if(specPath) {\n return specSelectors.specResolvedSubtree(specPath.toJS())\n }\n\n return specSelectors.specResolvedSubtree([\"paths\", path, method])\n }\n\n requestResolvedSubtree = () => {\n const {\n specActions,\n path,\n method,\n specPath\n } = this.props\n\n\n if(specPath) {\n return specActions.requestResolvedSubtree(specPath.toJS())\n }\n\n return specActions.requestResolvedSubtree([\"paths\", path, method])\n }\n\n render() {\n let {\n op: unresolvedOp,\n tag,\n path,\n method,\n security,\n isAuthorized,\n operationId,\n showSummary,\n isShown,\n jumpToKey,\n allowTryItOut,\n response,\n request,\n displayOperationId,\n displayRequestDuration,\n isDeepLinkingEnabled,\n specPath,\n specSelectors,\n specActions,\n getComponent,\n getConfigs,\n layoutSelectors,\n layoutActions,\n authActions,\n authSelectors,\n oas3Actions,\n oas3Selectors,\n fn\n } = this.props\n\n const Operation = getComponent( \"operation\" )\n\n const resolvedSubtree = this.getResolvedSubtree() || Map()\n\n const operationProps = fromJS({\n op: resolvedSubtree,\n tag,\n path,\n summary: unresolvedOp.getIn([\"operation\", \"summary\"]) || \"\",\n deprecated: resolvedSubtree.get(\"deprecated\") || unresolvedOp.getIn([\"operation\", \"deprecated\"]) || false,\n method,\n security,\n isAuthorized,\n operationId,\n originalOperationId: resolvedSubtree.getIn([\"operation\", \"__originalOperationId\"]),\n showSummary,\n isShown,\n jumpToKey,\n allowTryItOut,\n request,\n displayOperationId,\n displayRequestDuration,\n isDeepLinkingEnabled,\n executeInProgress: this.state.executeInProgress,\n tryItOutEnabled: this.state.tryItOutEnabled\n })\n\n return (\n \n )\n }\n\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_toString_da931f05__[\"default\"] });","import React, { PureComponent } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { Iterable, List } from \"immutable\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport toString from \"lodash/toString\"\n\n\nexport default class OperationSummary extends PureComponent {\n\n static propTypes = {\n specPath: ImPropTypes.list.isRequired,\n operationProps: PropTypes.instanceOf(Iterable).isRequired,\n isShown: PropTypes.bool.isRequired,\n toggleShown: PropTypes.func.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n authActions: PropTypes.object,\n authSelectors: PropTypes.object,\n }\n\n static defaultProps = {\n operationProps: null,\n specPath: List(),\n summary: \"\"\n }\n\n render() {\n\n let {\n isShown,\n toggleShown,\n getComponent,\n authActions,\n authSelectors,\n operationProps,\n specPath,\n } = this.props\n\n let {\n summary,\n isAuthorized,\n method,\n op,\n showSummary,\n path,\n operationId,\n originalOperationId,\n displayOperationId,\n } = operationProps.toJS()\n\n let {\n summary: resolvedSummary,\n } = op\n\n let security = operationProps.get(\"security\")\n\n const AuthorizeOperationBtn = getComponent(\"authorizeOperationBtn\", true)\n const OperationSummaryMethod = getComponent(\"OperationSummaryMethod\")\n const OperationSummaryPath = getComponent(\"OperationSummaryPath\")\n const JumpToPath = getComponent(\"JumpToPath\", true)\n const CopyToClipboardBtn = getComponent(\"CopyToClipboardBtn\", true)\n const ArrowUpIcon = getComponent(\"ArrowUpIcon\")\n const ArrowDownIcon = getComponent(\"ArrowDownIcon\")\n\n const hasSecurity = security && !!security.count()\n const securityIsOptional = hasSecurity && security.size === 1 && security.first().isEmpty()\n const allowAnonymous = !hasSecurity || securityIsOptional\n return (\n
\n \n \n
\n \n\n {!showSummary ? null :\n
\n {toString(resolvedSummary || summary)}\n
\n }\n
\n\n {displayOperationId && (originalOperationId || operationId) ? {originalOperationId || operationId} : null}\n \n \n {\n allowAnonymous ? null :\n {\n const applicableDefinitions = authSelectors.definitionsForRequirements(security)\n authActions.showDefinitions(applicableDefinitions)\n }}\n />\n }\n {/* TODO: use wrapComponents here, swagger-ui doesn't care about jumpToPath */}\n \n {isShown ? : }\n \n
\n )\n }\n}\n","import React, { PureComponent } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { Iterable } from \"immutable\"\n\nexport default class OperationSummaryMethod extends PureComponent {\n\n static propTypes = {\n operationProps: PropTypes.instanceOf(Iterable).isRequired,\n method: PropTypes.string.isRequired,\n }\n\n static defaultProps = {\n operationProps: null,\n }\n render() {\n\n let {\n method,\n } = this.props\n\n return (\n {method.toUpperCase()}\n )\n }\n}\n","import React, { PureComponent } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { Iterable } from \"immutable\"\nimport { createDeepLinkPath } from \"core/utils\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nexport default class OperationSummaryPath extends PureComponent{\n\n static propTypes = {\n specPath: ImPropTypes.list.isRequired,\n operationProps: PropTypes.instanceOf(Iterable).isRequired,\n getComponent: PropTypes.func.isRequired,\n }\n\n render(){\n let {\n getComponent,\n operationProps,\n } = this.props\n\n\n let {\n deprecated,\n isShown,\n path,\n tag,\n operationId,\n isDeepLinkingEnabled,\n } = operationProps.toJS()\n\n /**\n * Add word-break elements between each segment, before the slash\n * to allow browsers an opportunity to break long paths into sensible segments.\n */\n const pathParts = path.split(/(?=\\/)/g)\n for (let i = 1; i < pathParts.length; i += 2) {\n pathParts.splice(i, 0, )\n }\n\n const DeepLink = getComponent( \"DeepLink\" )\n\n return(\n \n \n \n\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport const OperationExt = ({ extensions, getComponent }) => {\n let OperationExtRow = getComponent(\"OperationExtRow\")\n return (\n
\n
\n

Extensions

\n
\n
\n\n \n \n \n \n \n \n \n \n {\n extensions.entrySeq().map(([k, v]) => )\n }\n \n
FieldValue
\n
\n
\n )\n}\nOperationExt.propTypes = {\n extensions: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired\n}\n\nexport default OperationExt\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport const OperationExtRow = ({ xKey, xVal }) => {\n const xNormalizedValue = !xVal ? null : xVal.toJS ? xVal.toJS() : xVal\n\n return (\n { xKey }\n { JSON.stringify(xNormalizedValue) }\n )\n}\nOperationExtRow.propTypes = {\n xKey: PropTypes.string,\n xVal: PropTypes.any\n}\n\nexport default OperationExtRow\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_classnames__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_js_file_download_bd23dbb6__[\"default\"] });","import React, { useRef, useEffect } from \"react\"\nimport PropTypes from \"prop-types\"\nimport cx from \"classnames\"\nimport {SyntaxHighlighter, getStyle} from \"core/syntax-highlighting\"\nimport get from \"lodash/get\"\nimport isFunction from \"lodash/isFunction\"\nimport saveAs from \"js-file-download\"\nimport { CopyToClipboard } from \"react-copy-to-clipboard\"\n\nconst HighlightCode = ({value, fileName, className, downloadable, getConfigs, canCopy, language}) => {\n const config = isFunction(getConfigs) ? getConfigs() : null\n const canSyntaxHighlight = get(config, \"syntaxHighlight\") !== false && get(config, \"syntaxHighlight.activated\", true)\n const rootRef = useRef(null)\n\n useEffect(() => {\n const childNodes = Array\n .from(rootRef.current.childNodes)\n .filter(node => !!node.nodeType && node.classList.contains(\"microlight\"))\n\n // eslint-disable-next-line no-use-before-define\n childNodes.forEach(node => node.addEventListener(\"mousewheel\", handlePreventYScrollingBeyondElement, { passive: false }))\n\n return () => {\n // eslint-disable-next-line no-use-before-define\n childNodes.forEach(node => node.removeEventListener(\"mousewheel\", handlePreventYScrollingBeyondElement))\n }\n }, [value, className, language])\n\n const handleDownload = () => {\n saveAs(value, fileName)\n }\n\n const handlePreventYScrollingBeyondElement = (e) => {\n const { target, deltaY } = e\n const { scrollHeight: contentHeight, offsetHeight: visibleHeight, scrollTop } = target\n const scrollOffset = visibleHeight + scrollTop\n const isElementScrollable = contentHeight > visibleHeight\n const isScrollingPastTop = scrollTop === 0 && deltaY < 0\n const isScrollingPastBottom = scrollOffset >= contentHeight && deltaY > 0\n\n if (isElementScrollable && (isScrollingPastTop || isScrollingPastBottom)) {\n e.preventDefault()\n }\n }\n\n return (\n
\n {canCopy && (\n
\n
\n )}\n\n {!downloadable ? null :\n \n }\n\n {canSyntaxHighlight\n ? \n {value}\n \n :
{value}
\n }\n\n
\n )\n}\n\nHighlightCode.propTypes = {\n value: PropTypes.string.isRequired,\n getConfigs: PropTypes.func.isRequired,\n className: PropTypes.string,\n downloadable: PropTypes.bool,\n fileName: PropTypes.string,\n language: PropTypes.string,\n canCopy: PropTypes.bool\n}\n\nHighlightCode.defaultProps = {\n fileName: \"response.txt\"\n}\n\nexport default HighlightCode\n","import React from \"react\"\nimport { fromJS, Iterable } from \"immutable\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport { defaultStatusCode, getAcceptControllingResponse } from \"core/utils\"\nimport createHtmlReadyId from \"core/utils/create-html-ready-id\"\n\nexport default class Responses extends React.Component {\n static propTypes = {\n tryItOutResponse: PropTypes.instanceOf(Iterable),\n responses: PropTypes.instanceOf(Iterable).isRequired,\n produces: PropTypes.instanceOf(Iterable),\n producesValue: PropTypes.any,\n displayRequestDuration: PropTypes.bool.isRequired,\n path: PropTypes.string.isRequired,\n method: PropTypes.string.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n specActions: PropTypes.object.isRequired,\n oas3Actions: PropTypes.object.isRequired,\n oas3Selectors: PropTypes.object.isRequired,\n specPath: ImPropTypes.list.isRequired,\n fn: PropTypes.object.isRequired\n }\n\n static defaultProps = {\n tryItOutResponse: null,\n produces: fromJS([\"application/json\"]),\n displayRequestDuration: false\n }\n\n // These performance-enhancing checks were disabled as part of Multiple Examples\n // because they were causing data-consistency issues\n //\n // shouldComponentUpdate(nextProps) {\n // // BUG: props.tryItOutResponse is always coming back as a new Immutable instance\n // let render = this.props.tryItOutResponse !== nextProps.tryItOutResponse\n // || this.props.responses !== nextProps.responses\n // || this.props.produces !== nextProps.produces\n // || this.props.producesValue !== nextProps.producesValue\n // || this.props.displayRequestDuration !== nextProps.displayRequestDuration\n // || this.props.path !== nextProps.path\n // || this.props.method !== nextProps.method\n // return render\n // }\n\n\tonChangeProducesWrapper = ( val ) => this.props.specActions.changeProducesValue([this.props.path, this.props.method], val)\n\n onResponseContentTypeChange = ({ controlsAcceptHeader, value }) => {\n const { oas3Actions, path, method } = this.props\n if(controlsAcceptHeader) {\n oas3Actions.setResponseContentType({\n value,\n path,\n method\n })\n }\n }\n\n render() {\n let {\n responses,\n tryItOutResponse,\n getComponent,\n getConfigs,\n specSelectors,\n fn,\n producesValue,\n displayRequestDuration,\n specPath,\n path,\n method,\n oas3Selectors,\n oas3Actions,\n } = this.props\n let defaultCode = defaultStatusCode( responses )\n\n const ContentType = getComponent( \"contentType\" )\n const LiveResponse = getComponent( \"liveResponse\" )\n const Response = getComponent( \"response\" )\n\n let produces = this.props.produces && this.props.produces.size ? this.props.produces : Responses.defaultProps.produces\n\n const isSpecOAS3 = specSelectors.isOAS3()\n\n const acceptControllingResponse = isSpecOAS3 ?\n getAcceptControllingResponse(responses) : null\n\n const regionId = createHtmlReadyId(`${method}${path}_responses`)\n const controlId = `${regionId}_select`\n\n return (\n
\n
\n

Responses

\n { specSelectors.isOAS3() ? null : }\n
\n
\n {\n !tryItOutResponse ? null\n :
\n \n

Responses

\n
\n\n }\n\n \n \n \n \n \n { specSelectors.isOAS3() ? : null }\n \n \n \n {\n responses.entrySeq().map( ([code, response]) => {\n\n let className = tryItOutResponse && tryItOutResponse.get(\"status\") == code ? \"response_current\" : \"\"\n return (\n \n )\n }).toArray()\n }\n \n
CodeDescriptionLinks
\n
\n
\n )\n }\n}\n","/**\n * Replace invalid characters from a string to create an html-ready ID\n *\n * @param {string} id A string that may contain invalid characters for the HTML ID attribute\n * @param {string} [replacement=_] The string to replace invalid characters with; \"_\" by default\n * @return {string} Information about the parameter schema\n */\nexport default function createHtmlReadyId(id, replacement = \"_\") {\n return id.replace(/[^\\w-]/g, replacement)\n}\n","export function canJsonParse(str) {\n try {\n let testValueForJson = JSON.parse(str)\n return testValueForJson ? true : false\n } catch (e) {\n // exception: string is not valid json\n return null\n }\n}\n\nexport function getKnownSyntaxHighlighterLanguage(val) {\n // to start, only check for json. can expand as needed in future\n const isValidJson = canJsonParse(val)\n return isValidJson ? \"json\" : null\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport cx from \"classnames\"\nimport { fromJS, Seq, Iterable, List, Map } from \"immutable\"\nimport { getExtensions, fromJSOrdered, stringify } from \"core/utils\"\nimport { getKnownSyntaxHighlighterLanguage } from \"core/utils/jsonParse\"\n\n\nconst getExampleComponent = ( sampleResponse, HighlightCode, getConfigs ) => {\n if (\n sampleResponse !== undefined &&\n sampleResponse !== null\n ) {\n let language = null\n let testValueForJson = getKnownSyntaxHighlighterLanguage(sampleResponse)\n if (testValueForJson) {\n language = \"json\"\n }\n return
\n \n
\n }\n return null\n}\n\nexport default class Response extends React.Component {\n constructor(props, context) {\n super(props, context)\n\n this.state = {\n responseContentType: \"\",\n }\n }\n\n static propTypes = {\n path: PropTypes.string.isRequired,\n method: PropTypes.string.isRequired,\n code: PropTypes.string.isRequired,\n response: PropTypes.instanceOf(Iterable),\n className: PropTypes.string,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n oas3Actions: PropTypes.object.isRequired,\n specPath: ImPropTypes.list.isRequired,\n fn: PropTypes.object.isRequired,\n contentType: PropTypes.string,\n activeExamplesKey: PropTypes.string,\n controlsAcceptHeader: PropTypes.bool,\n onContentTypeChange: PropTypes.func\n }\n\n static defaultProps = {\n response: fromJS({}),\n onContentTypeChange: () => {}\n }\n\n _onContentTypeChange = (value) => {\n const { onContentTypeChange, controlsAcceptHeader } = this.props\n this.setState({ responseContentType: value })\n onContentTypeChange({\n value: value,\n controlsAcceptHeader\n })\n }\n\n getTargetExamplesKey = () => {\n const { response, contentType, activeExamplesKey } = this.props\n\n const activeContentType = this.state.responseContentType || contentType\n const activeMediaType = response.getIn([\"content\", activeContentType], Map({}))\n const examplesForMediaType = activeMediaType.get(\"examples\", null)\n\n const firstExamplesKey = examplesForMediaType.keySeq().first()\n return activeExamplesKey || firstExamplesKey\n }\n\n render() {\n let {\n path,\n method,\n code,\n response,\n className,\n specPath,\n fn,\n getComponent,\n getConfigs,\n specSelectors,\n contentType,\n controlsAcceptHeader,\n oas3Actions,\n } = this.props\n\n let { inferSchema, getSampleSchema } = fn\n let isOAS3 = specSelectors.isOAS3()\n const { showExtensions } = getConfigs()\n\n let extensions = showExtensions ? getExtensions(response) : null\n let headers = response.get(\"headers\")\n let links = response.get(\"links\")\n const ResponseExtension = getComponent(\"ResponseExtension\")\n const Headers = getComponent(\"headers\")\n const HighlightCode = getComponent(\"highlightCode\")\n const ModelExample = getComponent(\"modelExample\")\n const Markdown = getComponent(\"Markdown\", true)\n const OperationLink = getComponent(\"operationLink\")\n const ContentType = getComponent(\"contentType\")\n const ExamplesSelect = getComponent(\"ExamplesSelect\")\n const Example = getComponent(\"Example\")\n\n\n var schema, specPathWithPossibleSchema\n\n const activeContentType = this.state.responseContentType || contentType\n const activeMediaType = response.getIn([\"content\", activeContentType], Map({}))\n const examplesForMediaType = activeMediaType.get(\"examples\", null)\n\n // Goal: find a schema value for `schema`\n if(isOAS3) {\n const oas3SchemaForContentType = activeMediaType.get(\"schema\")\n\n schema = oas3SchemaForContentType ? inferSchema(oas3SchemaForContentType.toJS()) : null\n specPathWithPossibleSchema = oas3SchemaForContentType ? List([\"content\", this.state.responseContentType, \"schema\"]) : specPath\n } else {\n schema = response.get(\"schema\")\n specPathWithPossibleSchema = response.has(\"schema\") ? specPath.push(\"schema\") : specPath\n }\n\n let mediaTypeExample\n let shouldOverrideSchemaExample = false\n let sampleSchema\n let sampleGenConfig = {\n includeReadOnly: true\n }\n\n // Goal: find an example value for `sampleResponse`\n if(isOAS3) {\n sampleSchema = activeMediaType.get(\"schema\")?.toJS()\n if(examplesForMediaType) {\n const targetExamplesKey = this.getTargetExamplesKey()\n const targetExample = examplesForMediaType\n .get(targetExamplesKey, Map({}))\n const getMediaTypeExample = (targetExample) =>\n targetExample.get(\"value\")\n mediaTypeExample = getMediaTypeExample(targetExample)\n if(mediaTypeExample === undefined) {\n mediaTypeExample = getMediaTypeExample(examplesForMediaType.values().next().value)\n }\n shouldOverrideSchemaExample = true\n } else if(activeMediaType.get(\"example\") !== undefined) {\n // use the example key's value\n mediaTypeExample = activeMediaType.get(\"example\")\n shouldOverrideSchemaExample = true\n }\n } else {\n sampleSchema = schema\n sampleGenConfig = {...sampleGenConfig, includeWriteOnly: true}\n const oldOASMediaTypeExample = response.getIn([\"examples\", activeContentType])\n if(oldOASMediaTypeExample) {\n mediaTypeExample = oldOASMediaTypeExample\n shouldOverrideSchemaExample = true\n }\n }\n\n const sampleResponse = getSampleSchema(\n sampleSchema,\n activeContentType,\n sampleGenConfig,\n shouldOverrideSchemaExample ? mediaTypeExample : undefined\n )\n\n let example = getExampleComponent( sampleResponse, HighlightCode, getConfigs )\n\n return (\n \n \n { code }\n \n \n\n
\n \n
\n\n { !showExtensions || !extensions.size ? null : extensions.entrySeq().map(([key, v]) => )}\n\n {isOAS3 && response.get(\"content\") ? (\n
\n \n \n Media type\n \n \n {controlsAcceptHeader ? (\n \n Controls Accept header.\n \n ) : null}\n \n {examplesForMediaType ? (\n
\n \n Examples\n \n \n oas3Actions.setActiveExamplesMember({\n name: key,\n pathMethod: [path, method],\n contextType: \"responses\",\n contextName: code\n })\n }\n showLabels={false}\n />\n
\n ) : null}\n
\n ) : null}\n\n { example || schema ? (\n \n ) : null }\n\n { isOAS3 && examplesForMediaType ? (\n \n ) : null}\n\n { headers ? (\n \n ) : null}\n\n \n {isOAS3 ? \n { links ?\n links.toSeq().entrySeq().map(([key, link]) => {\n return \n })\n : No links}\n : null}\n \n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport const ResponseExtension = ({ xKey, xVal }) => {\n return
{ xKey }: { String(xVal) }
\n}\nResponseExtension.propTypes = {\n xKey: PropTypes.string,\n xVal: PropTypes.any\n}\n\nexport default ResponseExtension\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_xml_but_prettier_2ed4d5cb__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_toLower_c29ee2b0__[\"default\"] });","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport formatXml from \"xml-but-prettier\"\nimport toLower from \"lodash/toLower\"\nimport { extractFileNameFromContentDispositionHeader } from \"core/utils\"\nimport { getKnownSyntaxHighlighterLanguage } from \"core/utils/jsonParse\"\nimport win from \"core/window\"\n\nexport default class ResponseBody extends React.PureComponent {\n state = {\n parsedContent: null\n }\n\n static propTypes = {\n content: PropTypes.any.isRequired,\n contentType: PropTypes.string,\n getConfigs: PropTypes.func.isRequired,\n getComponent: PropTypes.func.isRequired,\n headers: PropTypes.object,\n url: PropTypes.string\n }\n\n updateParsedContent = (prevContent) => {\n const { content } = this.props\n\n if(prevContent === content) {\n return\n }\n\n if(content && content instanceof Blob) {\n var reader = new FileReader()\n reader.onload = () => {\n this.setState({\n parsedContent: reader.result\n })\n }\n reader.readAsText(content)\n } else {\n this.setState({\n parsedContent: content.toString()\n })\n }\n }\n\n componentDidMount() {\n this.updateParsedContent(null)\n }\n\n componentDidUpdate(prevProps) {\n this.updateParsedContent(prevProps.content)\n }\n\n render() {\n let { content, contentType, url, headers={}, getConfigs, getComponent } = this.props\n const { parsedContent } = this.state\n const HighlightCode = getComponent(\"highlightCode\")\n const downloadName = \"response_\" + new Date().getTime()\n let body, bodyEl\n url = url || \"\"\n\n if (\n (/^application\\/octet-stream/i.test(contentType) ||\n (headers[\"Content-Disposition\"] && /attachment/i.test(headers[\"Content-Disposition\"])) ||\n (headers[\"content-disposition\"] && /attachment/i.test(headers[\"content-disposition\"])) ||\n (headers[\"Content-Description\"] && /File Transfer/i.test(headers[\"Content-Description\"])) ||\n (headers[\"content-description\"] && /File Transfer/i.test(headers[\"content-description\"]))) &&\n (content.size > 0 || content.length > 0)\n ) {\n // Download\n\n if (\"Blob\" in window) {\n let type = contentType || \"text/html\"\n let blob = (content instanceof Blob) ? content : new Blob([content], {type: type})\n let href = window.URL.createObjectURL(blob)\n let fileName = url.substr(url.lastIndexOf(\"/\") + 1)\n let download = [type, fileName, href].join(\":\")\n\n // Use filename from response header,\n // First check if filename is quoted (e.g. contains space), if no, fallback to not quoted check\n let disposition = headers[\"content-disposition\"] || headers[\"Content-Disposition\"]\n if (typeof disposition !== \"undefined\") {\n let responseFilename = extractFileNameFromContentDispositionHeader(disposition)\n if (responseFilename !== null) {\n download = responseFilename\n }\n }\n\n if(win.navigator && win.navigator.msSaveOrOpenBlob) {\n bodyEl = \n } else {\n bodyEl = \n }\n } else {\n bodyEl =
Download headers detected but your browser does not support downloading binary via XHR (Blob).
\n }\n\n // Anything else (CORS)\n } else if (/json/i.test(contentType)) {\n // JSON\n let language = null\n let testValueForJson = getKnownSyntaxHighlighterLanguage(content)\n if (testValueForJson) {\n language = \"json\"\n }\n try {\n body = JSON.stringify(JSON.parse(content), null, \" \")\n } catch (error) {\n body = \"can't parse JSON. Raw result:\\n\\n\" + content\n }\n\n bodyEl = \n\n // XML\n } else if (/xml/i.test(contentType)) {\n body = formatXml(content, {\n textNodesOnSameLine: true,\n indentor: \" \"\n })\n bodyEl = \n\n // HTML or Plain Text\n } else if (toLower(contentType) === \"text/html\" || /text\\/plain/.test(contentType)) {\n bodyEl = \n\n // CSV\n } else if (toLower(contentType) === \"text/csv\" || /text\\/csv/.test(contentType)) {\n bodyEl = \n\n // Image\n } else if (/^image\\//i.test(contentType)) {\n if(contentType.includes(\"svg\")) {\n bodyEl =
{ content }
\n } else {\n bodyEl = \n }\n\n // Audio\n } else if (/^audio\\//i.test(contentType)) {\n bodyEl =
\n } else if (typeof content === \"string\") {\n bodyEl = \n } else if ( content.size > 0 ) {\n // We don't know the contentType, but there was some content returned\n if(parsedContent) {\n // We were able to squeeze something out of content\n // in `updateParsedContent`, so let's display it\n bodyEl =
\n

\n Unrecognized response type; displaying content as text.\n

\n \n
\n\n } else {\n // Give up\n bodyEl =

\n Unrecognized response type; unable to display.\n

\n }\n } else {\n // We don't know the contentType and there was no content returned\n bodyEl = null\n }\n\n return ( !bodyEl ? null :
\n
Response body
\n { bodyEl }\n
\n )\n }\n}\n","import React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { Map, List } from \"immutable\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nexport default class Parameters extends Component {\n\n constructor(props) {\n super(props)\n this.state = {\n callbackVisible: false,\n parametersVisible: true,\n }\n }\n\n static propTypes = {\n parameters: ImPropTypes.list.isRequired,\n operation: PropTypes.object.isRequired,\n specActions: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n oas3Actions: PropTypes.object.isRequired,\n oas3Selectors: PropTypes.object.isRequired,\n fn: PropTypes.object.isRequired,\n tryItOutEnabled: PropTypes.bool,\n allowTryItOut: PropTypes.bool,\n onTryoutClick: PropTypes.func,\n onResetClick: PropTypes.func,\n onCancelClick: PropTypes.func,\n onChangeKey: PropTypes.array,\n pathMethod: PropTypes.array.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specPath: ImPropTypes.list.isRequired,\n }\n\n\n static defaultProps = {\n onTryoutClick: Function.prototype,\n onCancelClick: Function.prototype,\n tryItOutEnabled: false,\n allowTryItOut: true,\n onChangeKey: [],\n specPath: [],\n }\n\n onChange = (param, value, isXml) => {\n let {\n specActions: { changeParamByIdentity },\n onChangeKey,\n } = this.props\n\n changeParamByIdentity(onChangeKey, param, value, isXml)\n }\n\n onChangeConsumesWrapper = (val) => {\n let {\n specActions: { changeConsumesValue },\n onChangeKey,\n } = this.props\n\n changeConsumesValue(onChangeKey, val)\n }\n\n toggleTab = (tab) => {\n if (tab === \"parameters\") {\n return this.setState({\n parametersVisible: true,\n callbackVisible: false,\n })\n } else if (tab === \"callbacks\") {\n return this.setState({\n callbackVisible: true,\n parametersVisible: false,\n })\n }\n }\n \n onChangeMediaType = ({ value, pathMethod }) => {\n let { specActions, oas3Selectors, oas3Actions } = this.props\n const userHasEditedBody = oas3Selectors.hasUserEditedBody(...pathMethod)\n const shouldRetainRequestBodyValue = oas3Selectors.shouldRetainRequestBodyValue(...pathMethod)\n oas3Actions.setRequestContentType({ value, pathMethod })\n oas3Actions.initRequestBodyValidateError({ pathMethod })\n if (!userHasEditedBody) {\n if(!shouldRetainRequestBodyValue) {\n oas3Actions.setRequestBodyValue({ value: undefined, pathMethod })\n }\n specActions.clearResponse(...pathMethod)\n specActions.clearRequest(...pathMethod)\n specActions.clearValidateParams(pathMethod)\n }\n }\n\n render() {\n\n let {\n onTryoutClick,\n onResetClick,\n parameters,\n allowTryItOut,\n tryItOutEnabled,\n specPath,\n fn,\n getComponent,\n getConfigs,\n specSelectors,\n specActions,\n pathMethod,\n oas3Actions,\n oas3Selectors,\n operation,\n } = this.props\n\n const ParameterRow = getComponent(\"parameterRow\")\n const TryItOutButton = getComponent(\"TryItOutButton\")\n const ContentType = getComponent(\"contentType\")\n const Callbacks = getComponent(\"Callbacks\", true)\n const RequestBody = getComponent(\"RequestBody\", true)\n\n const isExecute = tryItOutEnabled && allowTryItOut\n const isOAS3 = specSelectors.isOAS3()\n\n\n const requestBody = operation.get(\"requestBody\")\n\n const groupedParametersArr = Object.values(parameters\n .reduce((acc, x) => {\n const key = x.get(\"in\")\n acc[key] ??= []\n acc[key].push(x)\n return acc\n }, {}))\n .reduce((acc, x) => acc.concat(x), [])\n\n const retainRequestBodyValueFlagForOperation = (f) => oas3Actions.setRetainRequestBodyValueFlag({ value: f, pathMethod })\n return (\n
\n
\n {isOAS3 ? (\n
\n
this.toggleTab(\"parameters\")}\n className={`tab-item ${this.state.parametersVisible && \"active\"}`}>\n

Parameters

\n
\n {operation.get(\"callbacks\") ?\n (\n
this.toggleTab(\"callbacks\")}\n className={`tab-item ${this.state.callbackVisible && \"active\"}`}>\n

Callbacks

\n
\n ) : null\n }\n
\n ) : (\n
\n

Parameters

\n
\n )}\n {allowTryItOut ? (\n onResetClick(pathMethod)}/>\n ) : null}\n
\n {this.state.parametersVisible ?
\n {!groupedParametersArr.length ?

No parameters

:\n
\n \n \n \n \n \n \n \n \n {\n groupedParametersArr.map((parameter, i) => (\n \n ))\n }\n \n
NameDescription
\n
\n }\n
: null}\n\n {this.state.callbackVisible ?
\n \n
: null}\n {\n isOAS3 && requestBody && this.state.parametersVisible &&\n
\n
\n

Request\n body

\n \n
\n
\n {\n this.props.oas3Actions.setActiveExamplesMember({\n name: key,\n pathMethod: this.props.pathMethod,\n contextType: \"requestBody\",\n contextName: \"requestBody\", // RBs are currently not stored per-mediaType\n })\n }\n }\n onChange={(value, path) => {\n if (path) {\n const lastValue = oas3Selectors.requestBodyValue(...pathMethod)\n const usableValue = Map.isMap(lastValue) ? lastValue : Map()\n return oas3Actions.setRequestBodyValue({\n pathMethod,\n value: usableValue.setIn(path, value),\n })\n }\n oas3Actions.setRequestBodyValue({ value, pathMethod })\n }}\n onChangeIncludeEmpty={(name, value) => {\n oas3Actions.setRequestBodyInclusion({\n pathMethod,\n value,\n name,\n })\n }}\n contentType={oas3Selectors.requestContentType(...pathMethod)} />\n
\n
\n }\n
\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport const ParameterExt = ({ xKey, xVal }) => {\n return
{ xKey }: { String(xVal) }
\n}\nParameterExt.propTypes = {\n xKey: PropTypes.string,\n xVal: PropTypes.any\n}\n\nexport default ParameterExt\n","import React, { Component } from \"react\"\nimport cx from \"classnames\"\nimport PropTypes from \"prop-types\"\n\n\nconst noop = () => { }\n\nconst ParameterIncludeEmptyPropTypes = {\n isIncluded: PropTypes.bool.isRequired,\n isDisabled: PropTypes.bool.isRequired,\n isIncludedOptions: PropTypes.object,\n onChange: PropTypes.func.isRequired,\n}\n\nconst ParameterIncludeEmptyDefaultProps = {\n onChange: noop,\n isIncludedOptions: {},\n}\nexport default class ParameterIncludeEmpty extends Component {\n static propTypes = ParameterIncludeEmptyPropTypes\n static defaultProps = ParameterIncludeEmptyDefaultProps\n\n componentDidMount() {\n const { isIncludedOptions, onChange } = this.props\n const { shouldDispatchInit, defaultValue } = isIncludedOptions\n if (shouldDispatchInit) {\n onChange(defaultValue)\n }\n }\n\n onCheckboxChange = e => {\n const { onChange } = this.props\n onChange(e.target.checked)\n }\n\n render() {\n let { isIncluded, isDisabled } = this.props\n\n return (\n
\n \n
\n )\n }\n}\n","import React, { Component } from \"react\"\nimport { Map, List } from \"immutable\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport win from \"core/window\"\nimport { getExtensions, getCommonExtensions, numberToString, stringify, isEmptyValue } from \"core/utils\"\nimport getParameterSchema from \"core/utils/get-parameter-schema.js\"\n\nexport default class ParameterRow extends Component {\n static propTypes = {\n onChange: PropTypes.func.isRequired,\n param: PropTypes.object.isRequired,\n rawParam: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n fn: PropTypes.object.isRequired,\n isExecute: PropTypes.bool,\n onChangeConsumes: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n specActions: PropTypes.object.isRequired,\n pathMethod: PropTypes.array.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specPath: ImPropTypes.list.isRequired,\n oas3Actions: PropTypes.object.isRequired,\n oas3Selectors: PropTypes.object.isRequired,\n }\n\n constructor(props, context) {\n super(props, context)\n\n this.setDefaultValue()\n }\n\n UNSAFE_componentWillReceiveProps(props) {\n let { specSelectors, pathMethod, rawParam } = props\n let isOAS3 = specSelectors.isOAS3()\n\n let parameterWithMeta = specSelectors.parameterWithMetaByIdentity(pathMethod, rawParam) || new Map()\n // fallback, if the meta lookup fails\n parameterWithMeta = parameterWithMeta.isEmpty() ? rawParam : parameterWithMeta\n\n let enumValue\n\n if(isOAS3) {\n let { schema } = getParameterSchema(parameterWithMeta, { isOAS3 })\n enumValue = schema ? schema.get(\"enum\") : undefined\n } else {\n enumValue = parameterWithMeta ? parameterWithMeta.get(\"enum\") : undefined\n }\n let paramValue = parameterWithMeta ? parameterWithMeta.get(\"value\") : undefined\n\n let value\n\n if ( paramValue !== undefined ) {\n value = paramValue\n } else if ( rawParam.get(\"required\") && enumValue && enumValue.size ) {\n value = enumValue.first()\n }\n\n if ( value !== undefined && value !== paramValue ) {\n this.onChangeWrapper(numberToString(value))\n }\n // todo: could check if schema here; if not, do not call. impact?\n this.setDefaultValue()\n }\n\n onChangeWrapper = (value, isXml = false) => {\n let { onChange, rawParam } = this.props\n let valueForUpstream\n\n // Coerce empty strings and empty Immutable objects to null\n if(value === \"\" || (value && value.size === 0)) {\n valueForUpstream = null\n } else {\n valueForUpstream = value\n }\n\n return onChange(rawParam, valueForUpstream, isXml)\n }\n\n _onExampleSelect = (key, /* { isSyntheticChange } = {} */) => {\n this.props.oas3Actions.setActiveExamplesMember({\n name: key,\n pathMethod: this.props.pathMethod,\n contextType: \"parameters\",\n contextName: this.getParamKey()\n })\n }\n\n onChangeIncludeEmpty = (newValue) => {\n let { specActions, param, pathMethod } = this.props\n const paramName = param.get(\"name\")\n const paramIn = param.get(\"in\")\n return specActions.updateEmptyParamInclusion(pathMethod, paramName, paramIn, newValue)\n }\n\n setDefaultValue = () => {\n let { specSelectors, pathMethod, rawParam, oas3Selectors, fn } = this.props\n\n const paramWithMeta = specSelectors.parameterWithMetaByIdentity(pathMethod, rawParam) || Map()\n const { schema } = getParameterSchema(paramWithMeta, { isOAS3: specSelectors.isOAS3() })\n const parameterMediaType = paramWithMeta\n .get(\"content\", Map())\n .keySeq()\n .first()\n\n // getSampleSchema could return null\n const generatedSampleValue = schema ? fn.getSampleSchema(schema.toJS(), parameterMediaType, {\n\n includeWriteOnly: true\n }) : null\n\n if (!paramWithMeta || paramWithMeta.get(\"value\") !== undefined) {\n return\n }\n\n if( paramWithMeta.get(\"in\") !== \"body\" ) {\n let initialValue\n\n //// Find an initial value\n\n if (specSelectors.isSwagger2()) {\n initialValue =\n paramWithMeta.get(\"x-example\") !== undefined\n ? paramWithMeta.get(\"x-example\")\n : paramWithMeta.getIn([\"schema\", \"example\"]) !== undefined\n ? paramWithMeta.getIn([\"schema\", \"example\"])\n : (schema && schema.getIn([\"default\"]))\n } else if (specSelectors.isOAS3()) {\n const currentExampleKey = oas3Selectors.activeExamplesMember(...pathMethod, \"parameters\", this.getParamKey())\n initialValue =\n paramWithMeta.getIn([\"examples\", currentExampleKey, \"value\"]) !== undefined\n ? paramWithMeta.getIn([\"examples\", currentExampleKey, \"value\"])\n : paramWithMeta.getIn([\"content\", parameterMediaType, \"example\"]) !== undefined\n ? paramWithMeta.getIn([\"content\", parameterMediaType, \"example\"])\n : paramWithMeta.get(\"example\") !== undefined\n ? paramWithMeta.get(\"example\")\n : (schema && schema.get(\"example\")) !== undefined\n ? (schema && schema.get(\"example\"))\n : (schema && schema.get(\"default\")) !== undefined\n ? (schema && schema.get(\"default\"))\n : paramWithMeta.get(\"default\") // ensures support for `parameterMacro`\n }\n\n //// Process the initial value\n\n if(initialValue !== undefined && !List.isList(initialValue)) {\n // Stringify if it isn't a List\n initialValue = stringify(initialValue)\n }\n\n //// Dispatch the initial value\n\n if(initialValue !== undefined) {\n this.onChangeWrapper(initialValue)\n } else if(\n schema && schema.get(\"type\") === \"object\"\n && generatedSampleValue\n && !paramWithMeta.get(\"examples\")\n ) {\n // Object parameters get special treatment.. if the user doesn't set any\n // default or example values, we'll provide initial values generated from\n // the schema.\n // However, if `examples` exist for the parameter, we won't do anything,\n // so that the appropriate `examples` logic can take over.\n this.onChangeWrapper(\n List.isList(generatedSampleValue) ? (\n generatedSampleValue\n ) : (\n stringify(generatedSampleValue)\n )\n )\n }\n }\n }\n\n getParamKey() {\n const { param } = this.props\n\n if(!param) return null\n\n return `${param.get(\"name\")}-${param.get(\"in\")}`\n }\n\n render() {\n let {param, rawParam, getComponent, getConfigs, isExecute, fn, onChangeConsumes, specSelectors, pathMethod, specPath, oas3Selectors} = this.props\n\n let isOAS3 = specSelectors.isOAS3()\n\n const { showExtensions, showCommonExtensions } = getConfigs()\n\n if(!param) {\n param = rawParam\n }\n\n if(!rawParam) return null\n\n // const onChangeWrapper = (value) => onChange(param, value)\n const JsonSchemaForm = getComponent(\"JsonSchemaForm\")\n const ParamBody = getComponent(\"ParamBody\")\n let inType = param.get(\"in\")\n let bodyParam = inType !== \"body\" ? null\n : \n\n const ModelExample = getComponent(\"modelExample\")\n const Markdown = getComponent(\"Markdown\", true)\n const ParameterExt = getComponent(\"ParameterExt\")\n const ParameterIncludeEmpty = getComponent(\"ParameterIncludeEmpty\")\n const ExamplesSelectValueRetainer = getComponent(\"ExamplesSelectValueRetainer\")\n const Example = getComponent(\"Example\")\n\n let { schema } = getParameterSchema(param, { isOAS3 })\n let paramWithMeta = specSelectors.parameterWithMetaByIdentity(pathMethod, rawParam) || Map()\n\n let format = schema ? schema.get(\"format\") : null\n let type = schema ? schema.get(\"type\") : null\n let itemType = schema ? schema.getIn([\"items\", \"type\"]) : null\n let isFormData = inType === \"formData\"\n let isFormDataSupported = \"FormData\" in win\n let required = param.get(\"required\")\n\n let value = paramWithMeta ? paramWithMeta.get(\"value\") : \"\"\n let commonExt = showCommonExtensions ? getCommonExtensions(schema) : null\n let extensions = showExtensions ? getExtensions(param) : null\n\n let paramItems // undefined\n let paramEnum // undefined\n let paramDefaultValue // undefined\n let paramExample // undefined\n let isDisplayParamEnum = false\n\n if ( param !== undefined && schema ) {\n paramItems = schema.get(\"items\")\n }\n\n if (paramItems !== undefined) {\n paramEnum = paramItems.get(\"enum\")\n paramDefaultValue = paramItems.get(\"default\")\n } else if (schema) {\n paramEnum = schema.get(\"enum\")\n }\n\n if ( paramEnum && paramEnum.size && paramEnum.size > 0) {\n isDisplayParamEnum = true\n }\n\n // Default and Example Value for readonly doc\n if ( param !== undefined ) {\n if (schema) {\n paramDefaultValue = schema.get(\"default\")\n }\n if (paramDefaultValue === undefined) {\n paramDefaultValue = param.get(\"default\")\n }\n paramExample = param.get(\"example\")\n if (paramExample === undefined) {\n paramExample = param.get(\"x-example\")\n }\n }\n\n return (\n \n \n
\n { param.get(\"name\") }\n { !required ? null :  * }\n
\n
\n { type }\n { itemType && `[${itemType}]` }\n { format && (${format})}\n
\n
\n { isOAS3 && param.get(\"deprecated\") ? \"deprecated\": null }\n
\n
({ param.get(\"in\") })
\n { !showCommonExtensions || !commonExt.size ? null : commonExt.entrySeq().map(([key, v]) => )}\n { !showExtensions || !extensions.size ? null : extensions.entrySeq().map(([key, v]) => )}\n \n\n \n { param.get(\"description\") ? : null }\n\n { (bodyParam || !isExecute) && isDisplayParamEnum ?\n Available values : \" + paramEnum.map(function(item) {\n return item\n }).toArray().join(\", \")}/>\n : null\n }\n\n { (bodyParam || !isExecute) && paramDefaultValue !== undefined ?\n Default value : \" + paramDefaultValue}/>\n : null\n }\n\n { (bodyParam || !isExecute) && paramExample !== undefined ?\n Example : \" + paramExample}/>\n : null\n }\n\n {(isFormData && !isFormDataSupported) &&
Error: your browser does not support FormData
}\n\n {\n isOAS3 && param.get(\"examples\") ? (\n
\n \n
\n ) : null\n }\n\n { bodyParam ? null\n : \n }\n\n\n {\n bodyParam && schema ? \n : null\n }\n\n {\n !bodyParam && isExecute && param.get(\"allowEmptyValue\") ?\n \n : null\n }\n\n {\n isOAS3 && param.get(\"examples\") ? (\n \n ) : null\n }\n\n \n\n \n )\n\n }\n\n}\n","import React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class Execute extends Component {\n\n static propTypes = {\n specSelectors: PropTypes.object.isRequired,\n specActions: PropTypes.object.isRequired,\n operation: PropTypes.object.isRequired,\n path: PropTypes.string.isRequired,\n method: PropTypes.string.isRequired,\n oas3Selectors: PropTypes.object.isRequired,\n oas3Actions: PropTypes.object.isRequired,\n onExecute: PropTypes.func,\n disabled: PropTypes.bool\n }\n\n handleValidateParameters = () => {\n let { specSelectors, specActions, path, method } = this.props\n specActions.validateParams([path, method])\n return specSelectors.validateBeforeExecute([path, method])\n }\n\n handleValidateRequestBody = () => {\n let { path, method, specSelectors, oas3Selectors, oas3Actions } = this.props\n let validationErrors = {\n missingBodyValue: false,\n missingRequiredKeys: []\n }\n // context: reset errors, then (re)validate\n oas3Actions.clearRequestBodyValidateError({ path, method })\n let oas3RequiredRequestBodyContentType = specSelectors.getOAS3RequiredRequestBodyContentType([path, method])\n let oas3RequestBodyValue = oas3Selectors.requestBodyValue(path, method)\n let oas3ValidateBeforeExecuteSuccess = oas3Selectors.validateBeforeExecute([path, method])\n let oas3RequestContentType = oas3Selectors.requestContentType(path, method)\n\n if (!oas3ValidateBeforeExecuteSuccess) {\n validationErrors.missingBodyValue = true\n oas3Actions.setRequestBodyValidateError({ path, method, validationErrors })\n return false\n }\n if (!oas3RequiredRequestBodyContentType) {\n return true\n }\n let missingRequiredKeys = oas3Selectors.validateShallowRequired({\n oas3RequiredRequestBodyContentType,\n oas3RequestContentType,\n oas3RequestBodyValue\n })\n if (!missingRequiredKeys || missingRequiredKeys.length < 1) {\n return true\n }\n missingRequiredKeys.forEach((missingKey) => {\n validationErrors.missingRequiredKeys.push(missingKey)\n })\n oas3Actions.setRequestBodyValidateError({ path, method, validationErrors })\n return false\n }\n\n handleValidationResultPass = () => {\n let { specActions, operation, path, method } = this.props\n if (this.props.onExecute) {\n // loading spinner\n this.props.onExecute()\n }\n specActions.execute({ operation, path, method })\n }\n\n handleValidationResultFail = () => {\n let { specActions, path, method } = this.props\n // deferred by 40ms, to give element class change time to settle.\n specActions.clearValidateParams([path, method])\n setTimeout(() => {\n specActions.validateParams([path, method])\n }, 40)\n }\n\n handleValidationResult = (isPass) => {\n if (isPass) {\n this.handleValidationResultPass()\n } else {\n this.handleValidationResultFail()\n }\n }\n\n onClick = () => {\n let paramsResult = this.handleValidateParameters()\n let requestBodyResult = this.handleValidateRequestBody()\n let isPass = paramsResult && requestBodyResult\n this.handleValidationResult(isPass)\n }\n\n onChangeProducesWrapper = ( val ) => this.props.specActions.changeProducesValue([this.props.path, this.props.method], val)\n\n render(){\n const { disabled } = this.props\n return (\n \n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport Im from \"immutable\"\n\nconst propClass = \"header-example\"\n\nexport default class Headers extends React.Component {\n static propTypes = {\n headers: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired\n }\n\n render() {\n let { headers, getComponent } = this.props\n\n const Property = getComponent(\"Property\")\n const Markdown = getComponent(\"Markdown\", true)\n\n if ( !headers || !headers.size )\n return null\n\n return (\n
\n

Headers:

\n \n \n \n \n \n \n \n \n \n {\n headers.entrySeq().map( ([ key, header ]) => {\n if(!Im.Map.isMap(header)) {\n return null\n }\n\n const description = header.get(\"description\")\n const type = header.getIn([\"schema\"]) ? header.getIn([\"schema\", \"type\"]) : header.getIn([\"type\"])\n const schemaExample = header.getIn([\"schema\", \"example\"])\n\n return (\n \n \n \n )\n }).toArray()\n }\n \n
NameDescriptionType
{ key }{\n !description ? null : \n }{ type } { schemaExample ? : null }
\n
\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport { List } from \"immutable\"\n\nexport default class Errors extends React.Component {\n\n static propTypes = {\n editorActions: PropTypes.object,\n errSelectors: PropTypes.object.isRequired,\n layoutSelectors: PropTypes.object.isRequired,\n layoutActions: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n }\n\n render() {\n let { editorActions, errSelectors, layoutSelectors, layoutActions, getComponent } = this.props\n\n const Collapse = getComponent(\"Collapse\")\n\n if(editorActions && editorActions.jumpToLine) {\n var jumpToLine = editorActions.jumpToLine\n }\n\n let errors = errSelectors.allErrors()\n\n // all thrown errors, plus error-level everything else\n let allErrorsToDisplay = errors.filter(err => err.get(\"type\") === \"thrown\" ? true :err.get(\"level\") === \"error\")\n\n if(!allErrorsToDisplay || allErrorsToDisplay.count() < 1) {\n return null\n }\n\n let isVisible = layoutSelectors.isShown([\"errorPane\"], true)\n let toggleVisibility = () => layoutActions.show([\"errorPane\"], !isVisible)\n\n let sortedJSErrors = allErrorsToDisplay.sortBy(err => err.get(\"line\"))\n\n return (\n
\n        
\n

Errors

\n \n
\n \n
\n { sortedJSErrors.map((err, i) => {\n let type = err.get(\"type\")\n if(type === \"thrown\" || type === \"auth\") {\n return \n }\n if(type === \"spec\") {\n return \n }\n }) }\n
\n
\n
\n )\n }\n}\n\nconst ThrownErrorItem = ( { error, jumpToLine } ) => {\n if(!error) {\n return null\n }\n let errorLine = error.get(\"line\")\n\n return (\n
\n { !error ? null :\n
\n

{ (error.get(\"source\") && error.get(\"level\")) ?\n toTitleCase(error.get(\"source\")) + \" \" + error.get(\"level\") : \"\" }\n { error.get(\"path\") ? at {error.get(\"path\")}: null }

\n \n { error.get(\"message\") }\n \n
\n { errorLine && jumpToLine ? Jump to line { errorLine } : null }\n
\n
\n }\n
\n )\n }\n\nconst SpecErrorItem = ( { error, jumpToLine } ) => {\n let locationMessage = null\n\n if(error.get(\"path\")) {\n if(List.isList(error.get(\"path\"))) {\n locationMessage = at { error.get(\"path\").join(\".\") }\n } else {\n locationMessage = at { error.get(\"path\") }\n }\n } else if(error.get(\"line\") && !jumpToLine) {\n locationMessage = on line { error.get(\"line\") }\n }\n\n return (\n
\n { !error ? null :\n
\n

{ toTitleCase(error.get(\"source\")) + \" \" + error.get(\"level\") } { locationMessage }

\n { error.get(\"message\") }\n
\n { jumpToLine ? (\n Jump to line { error.get(\"line\") }\n ) : null }\n
\n
\n }\n
\n )\n }\n\nfunction toTitleCase(str) {\n return (str || \"\")\n .split(\" \")\n .map(substr => substr[0].toUpperCase() + substr.slice(1))\n .join(\" \")\n}\n\nThrownErrorItem.propTypes = {\n error: PropTypes.object.isRequired,\n jumpToLine: PropTypes.func\n}\n\nThrownErrorItem.defaultProps = {\n jumpToLine: null\n}\n\nSpecErrorItem.propTypes = {\n error: PropTypes.object.isRequired,\n jumpToLine: PropTypes.func\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport { fromJS } from \"immutable\"\n\nconst noop = ()=>{}\n\nexport default class ContentType extends React.Component {\n\n static propTypes = {\n ariaControls: PropTypes.string,\n contentTypes: PropTypes.oneOfType([ImPropTypes.list, ImPropTypes.set, ImPropTypes.seq]),\n controlId: PropTypes.string,\n value: PropTypes.string,\n onChange: PropTypes.func,\n className: PropTypes.string,\n ariaLabel: PropTypes.string\n }\n\n static defaultProps = {\n onChange: noop,\n value: null,\n contentTypes: fromJS([\"application/json\"]),\n }\n\n componentDidMount() {\n // Needed to populate the form, initially\n if(this.props.contentTypes) {\n this.props.onChange(this.props.contentTypes.first())\n }\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if(!nextProps.contentTypes || !nextProps.contentTypes.size) {\n return\n }\n\n if(!nextProps.contentTypes.includes(nextProps.value)) {\n nextProps.onChange(nextProps.contentTypes.first())\n }\n }\n\n onChangeWrapper = e => this.props.onChange(e.target.value)\n\n render() {\n let { ariaControls, ariaLabel, className, contentTypes, controlId, value } = this.props\n\n if ( !contentTypes || !contentTypes.size )\n return null\n\n return (\n
\n \n
\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nfunction xclass(...args) {\n return args.filter(a => !!a).join(\" \").trim()\n}\n\nexport class Container extends React.Component {\n render() {\n let { fullscreen, full, ...rest } = this.props\n // Normal element\n\n if(fullscreen)\n return
\n\n let containerClass = \"swagger-container\" + (full ? \"-full\" : \"\")\n return (\n
\n )\n }\n}\n\nContainer.propTypes = {\n fullscreen: PropTypes.bool,\n full: PropTypes.bool,\n className: PropTypes.string\n}\n\nconst DEVICES = {\n \"mobile\": \"\",\n \"tablet\": \"-tablet\",\n \"desktop\": \"-desktop\",\n \"large\": \"-hd\"\n}\n\nexport class Col extends React.Component {\n\n render() {\n const {\n hide,\n keepContents,\n /* we don't want these in the `rest` object that passes to the final component,\n since React now complains. So we extract them */\n /* eslint-disable no-unused-vars */\n mobile,\n tablet,\n desktop,\n large,\n /* eslint-enable no-unused-vars */\n ...rest\n } = this.props\n\n if(hide && !keepContents)\n return \n\n let classesAr = []\n\n for (let device in DEVICES) {\n if (!Object.prototype.hasOwnProperty.call(DEVICES, device)) {\n continue\n }\n let deviceClass = DEVICES[device]\n if(device in this.props) {\n let val = this.props[device]\n\n if(val < 1) {\n classesAr.push(\"none\" + deviceClass)\n continue\n }\n\n classesAr.push(\"block\" + deviceClass)\n classesAr.push(\"col-\" + val + deviceClass)\n }\n }\n\n if (hide) {\n classesAr.push(\"hidden\")\n }\n\n let classes = xclass(rest.className, ...classesAr)\n\n return (\n
\n )\n }\n\n}\n\nCol.propTypes = {\n hide: PropTypes.bool,\n keepContents: PropTypes.bool,\n mobile: PropTypes.number,\n tablet: PropTypes.number,\n desktop: PropTypes.number,\n large: PropTypes.number,\n className: PropTypes.string\n}\n\nexport class Row extends React.Component {\n\n render() {\n return
\n }\n\n}\n\nRow.propTypes = {\n className: PropTypes.string\n}\n\nexport class Button extends React.Component {\n\n static propTypes = {\n className: PropTypes.string\n }\n\n static defaultProps = {\n className: \"\"\n }\n\n render() {\n return
\n
\n {curlBlock}\n
\n \n )\n }\n\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class Schemes extends React.Component {\n\n static propTypes = {\n specActions: PropTypes.object.isRequired,\n schemes: PropTypes.object.isRequired,\n currentScheme: PropTypes.string.isRequired,\n path: PropTypes.string,\n method: PropTypes.string,\n }\n\n UNSAFE_componentWillMount() {\n let { schemes } = this.props\n\n //fire 'change' event to set default 'value' of select\n this.setScheme(schemes.first())\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if ( !this.props.currentScheme || !nextProps.schemes.includes(this.props.currentScheme) ) {\n // if we don't have a selected currentScheme or if our selected scheme is no longer an option,\n // then fire 'change' event and select the first scheme in the list of options\n this.setScheme(nextProps.schemes.first())\n }\n }\n\n onChange =( e ) => {\n this.setScheme( e.target.value )\n }\n\n setScheme = ( value ) => {\n let { path, method, specActions } = this.props\n\n specActions.setScheme( value, path, method )\n }\n\n render() {\n let { schemes, currentScheme } = this.props\n\n return (\n \n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class SchemesContainer extends React.Component {\n\n static propTypes = {\n specActions: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired\n }\n\n render () {\n const {specActions, specSelectors, getComponent} = this.props\n\n const currentScheme = specSelectors.operationScheme()\n const schemes = specSelectors.schemes()\n\n const Schemes = getComponent(\"schemes\")\n\n const schemesArePresent = schemes && schemes.size\n\n return schemesArePresent ? (\n \n ) : null\n }\n}\n","import React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport Im from \"immutable\"\n\nexport default class ModelCollapse extends Component {\n static propTypes = {\n collapsedContent: PropTypes.any,\n expanded: PropTypes.bool,\n children: PropTypes.any,\n title: PropTypes.element,\n modelName: PropTypes.string,\n classes: PropTypes.string,\n onToggle: PropTypes.func,\n hideSelfOnExpand: PropTypes.bool,\n layoutActions: PropTypes.object,\n layoutSelectors: PropTypes.object.isRequired,\n specPath: ImPropTypes.list.isRequired,\n }\n\n static defaultProps = {\n collapsedContent: \"{...}\",\n expanded: false,\n title: null,\n onToggle: () => {},\n hideSelfOnExpand: false,\n specPath: Im.List([]),\n }\n\n constructor(props, context) {\n super(props, context)\n\n let { expanded, collapsedContent } = this.props\n\n this.state = {\n expanded : expanded,\n collapsedContent: collapsedContent || ModelCollapse.defaultProps.collapsedContent\n }\n }\n\n componentDidMount() {\n const { hideSelfOnExpand, expanded, modelName } = this.props\n if(hideSelfOnExpand && expanded) {\n // We just mounted pre-expanded, and we won't be going back..\n // So let's give our parent an `onToggle` call..\n // Since otherwise it will never be called.\n this.props.onToggle(modelName, expanded)\n }\n }\n\n UNSAFE_componentWillReceiveProps(nextProps){\n if(this.props.expanded !== nextProps.expanded){\n this.setState({expanded: nextProps.expanded})\n }\n }\n\n toggleCollapsed=()=>{\n if(this.props.onToggle){\n this.props.onToggle(this.props.modelName,!this.state.expanded)\n }\n\n this.setState({\n expanded: !this.state.expanded\n })\n }\n\n onLoad = (ref) => {\n if (ref && this.props.layoutSelectors) {\n const scrollToKey = this.props.layoutSelectors.getScrollToKey()\n\n if( Im.is(scrollToKey, this.props.specPath) ) this.toggleCollapsed()\n this.props.layoutActions.readyToScroll(this.props.specPath, ref.parentElement)\n }\n }\n\n render () {\n const { title, classes } = this.props\n\n if(this.state.expanded ) {\n if(this.props.hideSelfOnExpand) {\n return \n {this.props.children}\n \n }\n }\n\n return (\n \n \n\n { this.state.expanded && this.props.children }\n \n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport cx from \"classnames\"\nimport randomBytes from \"randombytes\"\n\nexport default class ModelExample extends React.Component {\n static propTypes = {\n getComponent: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n schema: PropTypes.object.isRequired,\n example: PropTypes.any.isRequired,\n isExecute: PropTypes.bool,\n getConfigs: PropTypes.func.isRequired,\n specPath: ImPropTypes.list.isRequired,\n includeReadOnly: PropTypes.bool,\n includeWriteOnly: PropTypes.bool,\n }\n\n constructor(props, context) {\n super(props, context)\n let { getConfigs, isExecute } = this.props\n let { defaultModelRendering } = getConfigs()\n\n let activeTab = defaultModelRendering\n\n if (defaultModelRendering !== \"example\" && defaultModelRendering !== \"model\") {\n activeTab = \"example\"\n }\n\n if(isExecute) {\n activeTab = \"example\"\n }\n\n this.state = {\n activeTab,\n }\n }\n\n activeTab = ( e ) => {\n let { target : { dataset : { name } } } = e\n\n this.setState({\n activeTab: name\n })\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (\n nextProps.isExecute &&\n !this.props.isExecute &&\n this.props.example\n ) {\n this.setState({ activeTab: \"example\" })\n }\n }\n\n render() {\n let { getComponent, specSelectors, schema, example, isExecute, getConfigs, specPath, includeReadOnly, includeWriteOnly } = this.props\n let { defaultModelExpandDepth } = getConfigs()\n const ModelWrapper = getComponent(\"ModelWrapper\")\n const HighlightCode = getComponent(\"highlightCode\")\n const exampleTabId = randomBytes(5).toString(\"base64\")\n const examplePanelId = randomBytes(5).toString(\"base64\")\n const modelTabId = randomBytes(5).toString(\"base64\")\n const modelPanelId = randomBytes(5).toString(\"base64\")\n\n let isOAS3 = specSelectors.isOAS3()\n\n return (\n
\n
    \n
  • \n \n {isExecute ? \"Edit Value\" : \"Example Value\"}\n \n
  • \n { schema && (\n
  • \n \n {isOAS3 ? \"Schema\" : \"Model\" }\n \n
  • \n )}\n
\n {this.state.activeTab === \"example\" && (\n \n {example ? example : (\n \n )}\n
\n )}\n\n {this.state.activeTab === \"model\" && (\n \n \n \n )}\n \n )\n }\n\n}\n","import React, { Component, } from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nexport default class ModelWrapper extends Component {\n\n static propTypes = {\n schema: PropTypes.object.isRequired,\n name: PropTypes.string,\n displayName: PropTypes.string,\n fullPath: PropTypes.array.isRequired,\n specPath: ImPropTypes.list.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n expandDepth: PropTypes.number,\n layoutActions: PropTypes.object,\n layoutSelectors: PropTypes.object.isRequired,\n includeReadOnly: PropTypes.bool,\n includeWriteOnly: PropTypes.bool,\n }\n\n onToggle = (name,isShown) => {\n // If this prop is present, we'll have deepLinking for it\n if(this.props.layoutActions) {\n this.props.layoutActions.show(this.props.fullPath, isShown)\n }\n }\n\n render(){\n let { getComponent, getConfigs } = this.props\n const Model = getComponent(\"Model\")\n\n let expanded\n if(this.props.layoutSelectors) {\n // If this is prop is present, we'll have deepLinking for it\n expanded = this.props.layoutSelectors.isShown(this.props.fullPath)\n }\n\n return
\n \n
\n }\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_immutable_pure_component_cbcfaebd__[\"default\"] });","import React from \"react\"\nimport ImmutablePureComponent from \"react-immutable-pure-component\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport PropTypes from \"prop-types\"\n\nimport RollingLoadSVG from \"core/assets/rolling-load.svg\"\n\nconst decodeRefName = uri => {\n const unescaped = uri.replace(/~1/g, \"/\").replace(/~0/g, \"~\")\n\n try {\n return decodeURIComponent(unescaped)\n } catch {\n return unescaped\n }\n}\n\nexport default class Model extends ImmutablePureComponent {\n static propTypes = {\n schema: ImPropTypes.map.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n name: PropTypes.string,\n displayName: PropTypes.string,\n isRef: PropTypes.bool,\n required: PropTypes.bool,\n expandDepth: PropTypes.number,\n depth: PropTypes.number,\n specPath: ImPropTypes.list.isRequired,\n includeReadOnly: PropTypes.bool,\n includeWriteOnly: PropTypes.bool,\n }\n\n getModelName =( ref )=> {\n if ( ref.indexOf(\"#/definitions/\") !== -1 ) {\n return decodeRefName(ref.replace(/^.*#\\/definitions\\//, \"\"))\n }\n if ( ref.indexOf(\"#/components/schemas/\") !== -1 ) {\n return decodeRefName(ref.replace(/^.*#\\/components\\/schemas\\//, \"\"))\n }\n }\n\n getRefSchema =( model )=> {\n let { specSelectors } = this.props\n\n return specSelectors.findDefinition(model)\n }\n\n render () {\n let { getComponent, getConfigs, specSelectors, schema, required, name, isRef, specPath, displayName,\n includeReadOnly, includeWriteOnly} = this.props\n const ObjectModel = getComponent(\"ObjectModel\")\n const ArrayModel = getComponent(\"ArrayModel\")\n const PrimitiveModel = getComponent(\"PrimitiveModel\")\n let type = \"object\"\n let $$ref = schema && schema.get(\"$$ref\")\n\n // If we weren't passed a `name` but have a ref, grab the name from the ref\n if ( !name && $$ref ) {\n name = this.getModelName( $$ref )\n }\n // If we weren't passed a `schema` but have a ref, grab the schema from the ref\n if ( !schema && $$ref ) {\n schema = this.getRefSchema( name )\n }\n\n if(!schema) {\n return \n { displayName || name }\n \n \n }\n\n const deprecated = specSelectors.isOAS3() && schema.get(\"deprecated\")\n isRef = isRef !== undefined ? isRef : !!$$ref\n type = schema && schema.get(\"type\") || type\n\n switch(type) {\n case \"object\":\n return \n case \"array\":\n return \n case \"string\":\n case \"number\":\n case \"integer\":\n case \"boolean\":\n default:\n return \n }\n }\n}\n","import React, { Component } from \"react\"\nimport Im, { Map } from \"immutable\"\nimport PropTypes from \"prop-types\"\n\nexport default class Models extends Component {\n static propTypes = {\n getComponent: PropTypes.func,\n specSelectors: PropTypes.object,\n specActions: PropTypes.object.isRequired,\n layoutSelectors: PropTypes.object,\n layoutActions: PropTypes.object,\n getConfigs: PropTypes.func.isRequired\n }\n\n getSchemaBasePath = () => {\n const isOAS3 = this.props.specSelectors.isOAS3()\n return isOAS3 ? [\"components\", \"schemas\"] : [\"definitions\"]\n }\n\n getCollapsedContent = () => {\n return \" \"\n }\n\n handleToggle = (name, isExpanded) => {\n const { layoutActions } = this.props\n layoutActions.show([...this.getSchemaBasePath(), name], isExpanded)\n if(isExpanded) {\n this.props.specActions.requestResolvedSubtree([...this.getSchemaBasePath(), name])\n }\n }\n\n onLoadModels = (ref) => {\n if (ref) {\n this.props.layoutActions.readyToScroll(this.getSchemaBasePath(), ref)\n }\n }\n\n onLoadModel = (ref) => {\n if (ref) {\n const name = ref.getAttribute(\"data-name\")\n this.props.layoutActions.readyToScroll([...this.getSchemaBasePath(), name], ref)\n }\n }\n\n render(){\n let { specSelectors, getComponent, layoutSelectors, layoutActions, getConfigs } = this.props\n let definitions = specSelectors.definitions()\n let { docExpansion, defaultModelsExpandDepth } = getConfigs()\n if (!definitions.size || defaultModelsExpandDepth < 0) return null\n\n const specPathBase = this.getSchemaBasePath()\n let showModels = layoutSelectors.isShown(specPathBase, defaultModelsExpandDepth > 0 && docExpansion !== \"none\")\n const isOAS3 = specSelectors.isOAS3()\n\n const ModelWrapper = getComponent(\"ModelWrapper\")\n const Collapse = getComponent(\"Collapse\")\n const ModelCollapse = getComponent(\"ModelCollapse\")\n const JumpToPath = getComponent(\"JumpToPath\", true)\n const ArrowUpIcon = getComponent(\"ArrowUpIcon\")\n const ArrowDownIcon = getComponent(\"ArrowDownIcon\")\n\n return
\n

\n layoutActions.show(specPathBase, !showModels)}\n >\n {isOAS3 ? \"Schemas\" : \"Models\"}\n {showModels ? : }\n \n

\n \n {\n definitions.entrySeq().map(([name])=>{\n\n const fullPath = [...specPathBase, name]\n const specPath = Im.List(fullPath)\n\n const schemaValue = specSelectors.specResolvedSubtree(fullPath)\n const rawSchemaValue = specSelectors.specJson().getIn(fullPath)\n\n const schema = Map.isMap(schemaValue) ? schemaValue : Im.Map()\n const rawSchema = Map.isMap(rawSchemaValue) ? rawSchemaValue : Im.Map()\n\n const displayName = schema.get(\"title\") || rawSchema.get(\"title\") || name\n const isShown = layoutSelectors.isShown(fullPath, false)\n\n if( isShown && (schema.size === 0 && rawSchema.size > 0) ) {\n // Firing an action in a container render is not great,\n // but it works for now.\n this.props.specActions.requestResolvedSubtree(fullPath)\n }\n\n const content = \n\n const title = \n \n {displayName}\n \n \n\n return
\n \n 0 && isShown }\n >{content}\n
\n }).toArray()\n }\n
\n
\n }\n}\n","import React from \"react\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nconst EnumModel = ({ value, getComponent }) => {\n let ModelCollapse = getComponent(\"ModelCollapse\")\n let collapsedContent = Array [ { value.count() } ]\n return \n Enum:
\n \n [ { value.join(\", \") } ]\n \n
\n}\nEnumModel.propTypes = {\n value: ImPropTypes.iterable,\n getComponent: ImPropTypes.func\n}\n\nexport default EnumModel","import React, { Component, } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { List } from \"immutable\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport { sanitizeUrl } from \"core/utils\"\n\nconst braceOpen = \"{\"\nconst braceClose = \"}\"\nconst propClass = \"property\"\n\nexport default class ObjectModel extends Component {\n static propTypes = {\n schema: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n expanded: PropTypes.bool,\n onToggle: PropTypes.func,\n specSelectors: PropTypes.object.isRequired,\n name: PropTypes.string,\n displayName: PropTypes.string,\n isRef: PropTypes.bool,\n expandDepth: PropTypes.number,\n depth: PropTypes.number,\n specPath: ImPropTypes.list.isRequired,\n includeReadOnly: PropTypes.bool,\n includeWriteOnly: PropTypes.bool,\n }\n\n render(){\n let { schema, name, displayName, isRef, getComponent, getConfigs, depth, onToggle, expanded, specPath, ...otherProps } = this.props\n let { specSelectors,expandDepth, includeReadOnly, includeWriteOnly} = otherProps\n const { isOAS3 } = specSelectors\n\n if(!schema) {\n return null\n }\n\n const { showExtensions } = getConfigs()\n\n let description = schema.get(\"description\")\n let properties = schema.get(\"properties\")\n let additionalProperties = schema.get(\"additionalProperties\")\n let title = schema.get(\"title\") || displayName || name\n let requiredProperties = schema.get(\"required\")\n let infoProperties = schema\n .filter( ( v, key) => [\"maxProperties\", \"minProperties\", \"nullable\", \"example\"].indexOf(key) !== -1 )\n let deprecated = schema.get(\"deprecated\")\n let externalDocsUrl = schema.getIn([\"externalDocs\", \"url\"])\n let externalDocsDescription = schema.getIn([\"externalDocs\", \"description\"])\n\n const JumpToPath = getComponent(\"JumpToPath\", true)\n const Markdown = getComponent(\"Markdown\", true)\n const Model = getComponent(\"Model\")\n const ModelCollapse = getComponent(\"ModelCollapse\")\n const Property = getComponent(\"Property\")\n const Link = getComponent(\"Link\")\n\n const JumpToPathSection = () => {\n return \n }\n const collapsedContent = (\n { braceOpen }...{ braceClose }\n {\n isRef ? : \"\"\n }\n )\n\n const anyOf = specSelectors.isOAS3() ? schema.get(\"anyOf\") : null\n const oneOf = specSelectors.isOAS3() ? schema.get(\"oneOf\") : null\n const not = specSelectors.isOAS3() ? schema.get(\"not\") : null\n\n const titleEl = title && \n { isRef && schema.get(\"$$ref\") && { schema.get(\"$$ref\") } }\n { title }\n \n\n return \n \n\n { braceOpen }\n {\n !isRef ? null : \n }\n \n {\n \n {\n !description ? null : \n \n \n \n }\n {\n externalDocsUrl &&\n \n \n \n \n }\n {\n !deprecated ? null :\n \n \n \n \n }\n {\n !(properties && properties.size) ? null : properties.entrySeq().filter(\n ([, value]) => {\n return (!value.get(\"readOnly\") || includeReadOnly) &&\n (!value.get(\"writeOnly\") || includeWriteOnly)\n }\n ).map(\n ([key, value]) => {\n let isDeprecated = isOAS3() && value.get(\"deprecated\")\n let isRequired = List.isList(requiredProperties) && requiredProperties.contains(key)\n\n let classNames = [\"property-row\"]\n\n if (isDeprecated) {\n classNames.push(\"deprecated\")\n }\n\n if (isRequired) {\n classNames.push(\"required\")\n }\n\n return (\n \n \n )\n }).toArray()\n }\n {\n // empty row before extensions...\n !showExtensions ? null : \n }\n {\n !showExtensions ? null :\n schema.entrySeq().map(\n ([key, value]) => {\n if(key.slice(0,2) !== \"x-\") {\n return\n }\n\n const normalizedValue = !value ? null : value.toJS ? value.toJS() : value\n\n return (\n \n \n )\n }).toArray()\n }\n {\n !additionalProperties || !additionalProperties.size ? null\n : \n \n \n \n }\n {\n !anyOf ? null\n : \n \n \n \n }\n {\n !oneOf ? null\n : \n \n \n \n }\n {\n !not ? null\n : \n \n \n \n }\n
description:\n \n
\n externalDocs:\n \n {externalDocsDescription || externalDocsUrl}\n
\n deprecated:\n \n true\n
\n { key }{ isRequired && * }\n \n \n
 
\n { key }\n \n { JSON.stringify(normalizedValue) }\n
{ \"< * >:\" }\n \n
{ \"anyOf ->\" }\n {anyOf.map((schema, k) => {\n return
\n })}\n
{ \"oneOf ->\" }\n {oneOf.map((schema, k) => {\n return
\n })}\n
{ \"not ->\" }\n
\n \n
\n
\n }\n
\n { braceClose }\n \n {\n infoProperties.size ? infoProperties.entrySeq().map( ( [ key, v ] ) => ) : null\n }\n
\n }\n}\n","import React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport { sanitizeUrl } from \"core/utils\"\n\nconst propClass = \"property\"\n\nexport default class ArrayModel extends Component {\n static propTypes = {\n schema: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n name: PropTypes.string,\n displayName: PropTypes.string,\n required: PropTypes.bool,\n expandDepth: PropTypes.number,\n specPath: ImPropTypes.list.isRequired,\n depth: PropTypes.number,\n includeReadOnly: PropTypes.bool,\n includeWriteOnly: PropTypes.bool,\n }\n\n render(){\n let { getComponent, getConfigs, schema, depth, expandDepth, name, displayName, specPath } = this.props\n let description = schema.get(\"description\")\n let items = schema.get(\"items\")\n let title = schema.get(\"title\") || displayName || name\n let properties = schema.filter( ( v, key) => [\"type\", \"items\", \"description\", \"$$ref\", \"externalDocs\"].indexOf(key) === -1 )\n let externalDocsUrl = schema.getIn([\"externalDocs\", \"url\"])\n let externalDocsDescription = schema.getIn([\"externalDocs\", \"description\"])\n\n\n const Markdown = getComponent(\"Markdown\", true)\n const ModelCollapse = getComponent(\"ModelCollapse\")\n const Model = getComponent(\"Model\")\n const Property = getComponent(\"Property\")\n const Link = getComponent(\"Link\")\n\n const titleEl = title &&\n \n { title }\n \n\n /*\n Note: we set `name={null}` in below because we don't want\n the name of the current Model passed (and displayed) as the name of the array element Model\n */\n\n return \n \n [\n {\n properties.size ? properties.entrySeq().map( ( [ key, v ] ) => ) : null\n }\n {\n !description ? (properties.size ?
: null) :\n \n }\n { externalDocsUrl &&\n
\n {externalDocsDescription || externalDocsUrl}\n
\n }\n \n \n \n ]\n
\n
\n }\n}\n","import React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { getExtensions, sanitizeUrl } from \"core/utils\"\n\nconst propClass = \"property primitive\"\n\nexport default class Primitive extends Component {\n static propTypes = {\n schema: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n name: PropTypes.string,\n displayName: PropTypes.string,\n depth: PropTypes.number,\n expandDepth: PropTypes.number\n }\n\n render() {\n let { schema, getComponent, getConfigs, name, displayName, depth, expandDepth } = this.props\n\n const { showExtensions } = getConfigs()\n\n if (!schema || !schema.get) {\n // don't render if schema isn't correctly formed\n return
\n }\n\n let type = schema.get(\"type\")\n let format = schema.get(\"format\")\n let xml = schema.get(\"xml\")\n let enumArray = schema.get(\"enum\")\n let title = schema.get(\"title\") || displayName || name\n let description = schema.get(\"description\")\n let extensions = getExtensions(schema)\n let properties = schema\n .filter((_, key) => [\"enum\", \"type\", \"format\", \"description\", \"$$ref\", \"externalDocs\"].indexOf(key) === -1)\n .filterNot((_, key) => extensions.has(key))\n let externalDocsUrl = schema.getIn([\"externalDocs\", \"url\"])\n let externalDocsDescription = schema.getIn([\"externalDocs\", \"description\"])\n\n const Markdown = getComponent(\"Markdown\", true)\n const EnumModel = getComponent(\"EnumModel\")\n const Property = getComponent(\"Property\")\n const ModelCollapse = getComponent(\"ModelCollapse\")\n const Link = getComponent(\"Link\")\n\n const titleEl = title &&\n \n {title}\n \n\n return \n \n \n {name && depth > 1 && {title}}\n {type}\n {format && (${format})}\n {\n properties.size ? properties.entrySeq().map(([key, v]) => ) : null\n }\n {\n showExtensions && extensions.size ? extensions.entrySeq().map(([key, v]) => ) : null\n }\n {\n !description ? null :\n \n }\n {\n externalDocsUrl &&\n
\n {externalDocsDescription || externalDocsUrl}\n
\n }\n {\n xml && xml.size ? (
xml:\n {\n xml.entrySeq().map(([key, v]) =>
   {key}: {String(v)}
).toArray()\n }\n
) : null\n }\n {\n enumArray && \n }\n
\n
\n
\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport const Property = ({ propKey, propVal, propClass }) => {\n return (\n \n
{ propKey }: { String(propVal) }
\n )\n}\nProperty.propTypes = {\n propKey: PropTypes.string,\n propVal: PropTypes.any,\n propClass: PropTypes.string\n}\n\nexport default Property\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class TryItOutButton extends React.Component {\n\n static propTypes = {\n onTryoutClick: PropTypes.func,\n onResetClick: PropTypes.func,\n onCancelClick: PropTypes.func,\n enabled: PropTypes.bool, // Try it out is enabled, ie: the user has access to the form\n hasUserEditedBody: PropTypes.bool, // Try it out is enabled, ie: the user has access to the form\n isOAS3: PropTypes.bool, // Try it out is enabled, ie: the user has access to the form\n }\n\n static defaultProps = {\n onTryoutClick: Function.prototype,\n onCancelClick: Function.prototype,\n onResetClick: Function.prototype,\n enabled: false,\n hasUserEditedBody: false,\n isOAS3: false,\n }\n\n render() {\n const { onTryoutClick, onCancelClick, onResetClick, enabled, hasUserEditedBody, isOAS3 } = this.props\n\n const showReset = isOAS3 && hasUserEditedBody\n return (\n
\n {\n enabled ? \n : \n\n }\n {\n showReset && \n }\n
\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class VersionPragmaFilter extends React.PureComponent {\n static propTypes = {\n isSwagger2: PropTypes.bool.isRequired,\n isOAS3: PropTypes.bool.isRequired,\n bypass: PropTypes.bool,\n alsoShow: PropTypes.element,\n children: PropTypes.any,\n }\n\n static defaultProps = {\n alsoShow: null,\n children: null,\n bypass: false,\n }\n\n render() {\n const { bypass, isSwagger2, isOAS3, alsoShow } = this.props\n\n if(bypass) {\n return
{ this.props.children }
\n }\n\n if(isSwagger2 && isOAS3) {\n return
\n {alsoShow}\n
\n
\n

Unable to render this definition

\n

swagger and openapi fields cannot be present in the same Swagger or OpenAPI definition. Please remove one of the fields.

\n

Supported version fields are swagger: {\"\\\"2.0\\\"\"} and those that match openapi: 3.0.n (for example, openapi: 3.0.0).

\n
\n
\n
\n }\n\n if(!isSwagger2 && !isOAS3) {\n return
\n {alsoShow}\n
\n
\n

Unable to render this definition

\n

The provided definition does not specify a valid version field.

\n

Please indicate a valid Swagger or OpenAPI version field. Supported version fields are swagger: {\"\\\"2.0\\\"\"} and those that match openapi: 3.0.n (for example, openapi: 3.0.0).

\n
\n
\n
\n }\n\n return
{ this.props.children }
\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nconst VersionStamp = ({ version }) => {\n return
 { version } 
\n}\n\nVersionStamp.propTypes = {\n version: PropTypes.string.isRequired\n}\n\nexport default VersionStamp\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\n\nconst OpenAPIVersion = ({ oasVersion }) => (\n \n
OAS {oasVersion}
\n
\n)\n\nOpenAPIVersion.propTypes = {\n oasVersion: PropTypes.string.isRequired\n}\n\nexport default OpenAPIVersion\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport const DeepLink = ({ enabled, path, text }) => {\n return (\n e.preventDefault() : null}\n href={enabled ? `#/${path}` : null}>\n {text}\n \n )\n}\nDeepLink.propTypes = {\n enabled: PropTypes.bool,\n isShown: PropTypes.bool,\n path: PropTypes.string,\n text: PropTypes.node\n}\n\nexport default DeepLink\n","import React from \"react\"\nconst SvgAssets = () =>\n
\n \n \n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n \n \n\n \n \n
\n\nexport default SvgAssets\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"Remarkable\"]: () => __WEBPACK_EXTERNAL_MODULE_remarkable__.Remarkable });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"linkify\"]: () => __WEBPACK_EXTERNAL_MODULE_remarkable_linkify_34829ba6__.linkify });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_dompurify__[\"default\"] });","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport { Remarkable } from \"remarkable\"\nimport { linkify } from \"remarkable/linkify\"\nimport DomPurify from \"dompurify\"\nimport cx from \"classnames\"\n\nif (DomPurify.addHook) {\n DomPurify.addHook(\"beforeSanitizeElements\", function (current, ) {\n // Attach safe `rel` values to all elements that contain an `href`,\n // i.e. all anchors that are links.\n // We _could_ just look for elements that have a non-self target,\n // but applying it more broadly shouldn't hurt anything, and is safer.\n if (current.href) {\n current.setAttribute(\"rel\", \"noopener noreferrer\")\n }\n return current\n })\n}\n\nfunction Markdown({ source, className = \"\", getConfigs }) {\n if (typeof source !== \"string\") {\n return null\n }\n\n const md = new Remarkable({\n html: true,\n typographer: true,\n breaks: true,\n linkTarget: \"_blank\"\n }).use(linkify)\n\n md.core.ruler.disable([\"replacements\", \"smartquotes\"])\n\n const { useUnsafeMarkdown } = getConfigs()\n const html = md.render(source)\n const sanitized = sanitizer(html, { useUnsafeMarkdown })\n\n if (!source || !html || !sanitized) {\n return null\n }\n\n return (\n
\n )\n}\n\nMarkdown.propTypes = {\n source: PropTypes.string.isRequired,\n className: PropTypes.string,\n getConfigs: PropTypes.func,\n}\n\nMarkdown.defaultProps = {\n getConfigs: () => ({ useUnsafeMarkdown: false }),\n}\n\nexport default Markdown\n\nexport function sanitizer(str, { useUnsafeMarkdown = false } = {}) {\n const ALLOW_DATA_ATTR = useUnsafeMarkdown\n const FORBID_ATTR = useUnsafeMarkdown ? [] : [\"style\", \"class\"]\n\n if (useUnsafeMarkdown && !sanitizer.hasWarnedAboutDeprecation) {\n console.warn(`useUnsafeMarkdown display configuration parameter is deprecated since >3.26.0 and will be removed in v4.0.0.`)\n sanitizer.hasWarnedAboutDeprecation = true\n }\n\n return DomPurify.sanitize(str, {\n ADD_ATTR: [\"target\"],\n FORBID_TAGS: [\"style\", \"form\"],\n ALLOW_DATA_ATTR,\n FORBID_ATTR,\n })\n}\nsanitizer.hasWarnedAboutDeprecation = false\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class BaseLayout extends React.Component {\n static propTypes = {\n errSelectors: PropTypes.object.isRequired,\n errActions: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n oas3Selectors: PropTypes.object.isRequired,\n oas3Actions: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n }\n\n render() {\n const { errSelectors, specSelectors, getComponent } = this.props\n\n const SvgAssets = getComponent(\"SvgAssets\")\n const InfoContainer = getComponent(\"InfoContainer\", true)\n const VersionPragmaFilter = getComponent(\"VersionPragmaFilter\")\n const Operations = getComponent(\"operations\", true)\n const Models = getComponent(\"Models\", true)\n const Webhooks = getComponent(\"Webhooks\", true)\n const Row = getComponent(\"Row\")\n const Col = getComponent(\"Col\")\n const Errors = getComponent(\"errors\", true)\n\n const ServersContainer = getComponent(\"ServersContainer\", true)\n const SchemesContainer = getComponent(\"SchemesContainer\", true)\n const AuthorizeBtnContainer = getComponent(\"AuthorizeBtnContainer\", true)\n const FilterContainer = getComponent(\"FilterContainer\", true)\n const isSwagger2 = specSelectors.isSwagger2()\n const isOAS3 = specSelectors.isOAS3()\n const isOAS31 = specSelectors.isOAS31()\n\n const isSpecEmpty = !specSelectors.specStr()\n\n const loadingStatus = specSelectors.loadingStatus()\n\n let loadingMessage = null\n\n if (loadingStatus === \"loading\") {\n loadingMessage = (\n
\n
\n
\n
\n
\n )\n }\n\n if (loadingStatus === \"failed\") {\n loadingMessage = (\n
\n
\n

Failed to load API definition.

\n \n
\n
\n )\n }\n\n if (loadingStatus === \"failedConfig\") {\n const lastErr = errSelectors.lastError()\n const lastErrMsg = lastErr ? lastErr.get(\"message\") : \"\"\n loadingMessage = (\n
\n
\n

Failed to load remote configuration.

\n

{lastErrMsg}

\n
\n
\n )\n }\n\n if (!loadingMessage && isSpecEmpty) {\n loadingMessage =

No API definition provided.

\n }\n\n if (loadingMessage) {\n return (\n
\n
{loadingMessage}
\n
\n )\n }\n\n const servers = specSelectors.servers()\n const schemes = specSelectors.schemes()\n\n const hasServers = servers && servers.size\n const hasSchemes = schemes && schemes.size\n const hasSecurityDefinitions = !!specSelectors.securityDefinitions()\n\n return (\n
\n \n }\n >\n \n \n \n \n \n \n\n {hasServers || hasSchemes || hasSecurityDefinitions ? (\n
\n \n {hasServers ? : null}\n {hasSchemes ? : null}\n {hasSecurityDefinitions ? : null}\n \n
\n ) : null}\n\n \n\n \n \n \n \n \n\n {isOAS31 && (\n \n \n \n \n \n )}\n\n \n \n \n \n \n \n
\n )\n }\n}\n","/**\n * @prettier\n */\nimport App from \"core/components/app\"\nimport AuthorizationPopup from \"core/components/auth/authorization-popup\"\nimport AuthorizeBtn from \"core/components/auth/authorize-btn\"\nimport AuthorizeBtnContainer from \"core/containers/authorize-btn\"\nimport AuthorizeOperationBtn from \"core/components/auth/authorize-operation-btn\"\nimport Auths from \"core/components/auth/auths\"\nimport AuthItem from \"core/components/auth/auth-item\"\nimport AuthError from \"core/components/auth/error\"\nimport ApiKeyAuth from \"core/components/auth/api-key-auth\"\nimport BasicAuth from \"core/components/auth/basic-auth\"\nimport Example from \"core/components/example\"\nimport ExamplesSelect from \"core/components/examples-select\"\nimport ExamplesSelectValueRetainer from \"core/components/examples-select-value-retainer\"\nimport Oauth2 from \"core/components/auth/oauth2\"\nimport Clear from \"core/components/clear\"\nimport LiveResponse from \"core/components/live-response\"\nimport OnlineValidatorBadge from \"core/components/online-validator-badge\"\nimport Operations from \"core/components/operations\"\nimport OperationTag from \"core/components/operation-tag\"\nimport Operation from \"core/components/operation\"\nimport OperationContainer from \"core/containers/OperationContainer\"\nimport OperationSummary from \"core/components/operation-summary\"\nimport OperationSummaryMethod from \"core/components/operation-summary-method\"\nimport OperationSummaryPath from \"core/components/operation-summary-path\"\nimport OperationExt from \"core/components/operation-extensions\"\nimport OperationExtRow from \"core/components/operation-extension-row\"\nimport HighlightCode from \"core/components/highlight-code\"\nimport Responses from \"core/components/responses\"\nimport Response from \"core/components/response\"\nimport ResponseExtension from \"core/components/response-extension\"\nimport ResponseBody from \"core/components/response-body\"\nimport { Parameters } from \"core/components/parameters\"\nimport ParameterExt from \"core/components/parameter-extension\"\nimport ParameterIncludeEmpty from \"core/components/parameter-include-empty\"\nimport ParameterRow from \"core/components/parameter-row\"\nimport Execute from \"core/components/execute\"\nimport Headers from \"core/components/headers\"\nimport Errors from \"core/components/errors\"\nimport ContentType from \"core/components/content-type\"\nimport Overview from \"core/components/overview\"\nimport InitializedInput from \"core/components/initialized-input\"\nimport Info, { InfoUrl, InfoBasePath } from \"core/components/info\"\nimport InfoContainer from \"core/containers/info\"\nimport Contact from \"core/components/contact\"\nimport License from \"core/components/license\"\nimport JumpToPath from \"core/components/jump-to-path\"\nimport CopyToClipboardBtn from \"core/components/copy-to-clipboard-btn\"\nimport Footer from \"core/components/footer\"\nimport FilterContainer from \"core/containers/filter\"\nimport ParamBody from \"core/components/param-body\"\nimport Curl from \"core/components/curl\"\nimport Schemes from \"core/components/schemes\"\nimport SchemesContainer from \"core/containers/schemes\"\nimport ModelCollapse from \"core/components/model-collapse\"\nimport ModelExample from \"core/components/model-example\"\nimport ModelWrapper from \"core/components/model-wrapper\"\nimport Model from \"core/components/model\"\nimport Models from \"core/components/models\"\nimport EnumModel from \"core/components/enum-model\"\nimport ObjectModel from \"core/components/object-model\"\nimport ArrayModel from \"core/components/array-model\"\nimport PrimitiveModel from \"core/components/primitive-model\"\nimport Property from \"core/components/property\"\nimport TryItOutButton from \"core/components/try-it-out-button\"\nimport VersionPragmaFilter from \"core/components/version-pragma-filter\"\nimport VersionStamp from \"core/components/version-stamp\"\nimport OpenAPIVersion from \"core/components/openapi-version\"\nimport DeepLink from \"core/components/deep-link\"\nimport SvgAssets from \"core/components/svg-assets\"\nimport Markdown from \"core/components/providers/markdown\"\nimport BaseLayout from \"core/components/layouts/base\"\n\nconst CoreComponentsPlugin = () => ({\n components: {\n App,\n authorizationPopup: AuthorizationPopup,\n authorizeBtn: AuthorizeBtn,\n AuthorizeBtnContainer,\n authorizeOperationBtn: AuthorizeOperationBtn,\n auths: Auths,\n AuthItem: AuthItem,\n authError: AuthError,\n oauth2: Oauth2,\n apiKeyAuth: ApiKeyAuth,\n basicAuth: BasicAuth,\n clear: Clear,\n liveResponse: LiveResponse,\n InitializedInput,\n info: Info,\n InfoContainer,\n InfoUrl,\n InfoBasePath,\n Contact,\n License,\n JumpToPath,\n CopyToClipboardBtn,\n onlineValidatorBadge: OnlineValidatorBadge,\n operations: Operations,\n operation: Operation,\n OperationSummary,\n OperationSummaryMethod,\n OperationSummaryPath,\n highlightCode: HighlightCode,\n responses: Responses,\n response: Response,\n ResponseExtension: ResponseExtension,\n responseBody: ResponseBody,\n parameters: Parameters,\n parameterRow: ParameterRow,\n execute: Execute,\n headers: Headers,\n errors: Errors,\n contentType: ContentType,\n overview: Overview,\n footer: Footer,\n FilterContainer,\n ParamBody: ParamBody,\n curl: Curl,\n schemes: Schemes,\n SchemesContainer,\n modelExample: ModelExample,\n ModelWrapper,\n ModelCollapse,\n Model,\n Models,\n EnumModel,\n ObjectModel,\n ArrayModel,\n PrimitiveModel,\n Property,\n TryItOutButton,\n Markdown,\n BaseLayout,\n VersionPragmaFilter,\n VersionStamp,\n OperationExt,\n OperationExtRow,\n ParameterExt,\n ParameterIncludeEmpty,\n OperationTag,\n OperationContainer,\n OpenAPIVersion,\n DeepLink,\n SvgAssets,\n Example,\n ExamplesSelect,\n ExamplesSelectValueRetainer,\n },\n})\n\nexport default CoreComponentsPlugin\n","/**\n * @prettier\n */\nimport * as LayoutUtils from \"core/components/layout-utils\"\n\nconst FormComponentsPlugin = () => ({\n components: { ...LayoutUtils },\n})\n\nexport default FormComponentsPlugin\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_debounce_input_7ed3e068__[\"default\"] });","import React, { PureComponent, Component } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { List, fromJS } from \"immutable\"\nimport cx from \"classnames\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport DebounceInput from \"react-debounce-input\"\nimport { stringify } from \"core/utils\"\n\nconst noop = ()=> {}\nconst JsonSchemaPropShape = {\n getComponent: PropTypes.func.isRequired,\n value: PropTypes.any,\n onChange: PropTypes.func,\n keyName: PropTypes.any,\n fn: PropTypes.object.isRequired,\n schema: PropTypes.object,\n errors: ImPropTypes.list,\n required: PropTypes.bool,\n dispatchInitialValue: PropTypes.bool,\n description: PropTypes.any,\n disabled: PropTypes.bool,\n}\n\nconst JsonSchemaDefaultProps = {\n value: \"\",\n onChange: noop,\n schema: {},\n keyName: \"\",\n required: false,\n errors: List()\n}\n\nexport class JsonSchemaForm extends Component {\n\n static propTypes = JsonSchemaPropShape\n static defaultProps = JsonSchemaDefaultProps\n\n componentDidMount() {\n const { dispatchInitialValue, value, onChange } = this.props\n if(dispatchInitialValue) {\n onChange(value)\n } else if(dispatchInitialValue === false) {\n onChange(\"\")\n }\n }\n\n render() {\n let { schema, errors, value, onChange, getComponent, fn, disabled } = this.props\n const format = schema && schema.get ? schema.get(\"format\") : null\n const type = schema && schema.get ? schema.get(\"type\") : null\n\n let getComponentSilently = (name) => getComponent(name, false, { failSilently: true })\n let Comp = type ? format ?\n getComponentSilently(`JsonSchema_${type}_${format}`) :\n getComponentSilently(`JsonSchema_${type}`) :\n getComponent(\"JsonSchema_string\")\n if (!Comp) {\n Comp = getComponent(\"JsonSchema_string\")\n }\n return \n }\n}\n\nexport class JsonSchema_string extends Component {\n static propTypes = JsonSchemaPropShape\n static defaultProps = JsonSchemaDefaultProps\n onChange = (e) => {\n const value = this.props.schema && this.props.schema.get(\"type\") === \"file\" ? e.target.files[0] : e.target.value\n this.props.onChange(value, this.props.keyName)\n }\n onEnumChange = (val) => this.props.onChange(val)\n render() {\n let { getComponent, value, schema, errors, required, description, disabled } = this.props\n const enumValue = schema && schema.get ? schema.get(\"enum\") : null\n const format = schema && schema.get ? schema.get(\"format\") : null\n const type = schema && schema.get ? schema.get(\"type\") : null\n const schemaIn = schema && schema.get ? schema.get(\"in\") : null\n if (!value) {\n value = \"\" // value should not be null; this fixes a Debounce error\n }\n errors = errors.toJS ? errors.toJS() : []\n\n if ( enumValue ) {\n const Select = getComponent(\"Select\")\n return (\n )\n }\n else {\n return (\n \n )\n }\n }\n}\n\nexport class JsonSchema_array extends PureComponent {\n\n static propTypes = JsonSchemaPropShape\n static defaultProps = JsonSchemaDefaultProps\n\n constructor(props, context) {\n super(props, context)\n this.state = { value: valueOrEmptyList(props.value), schema: props.schema}\n }\n\n UNSAFE_componentWillReceiveProps(props) {\n const value = valueOrEmptyList(props.value)\n if(value !== this.state.value)\n this.setState({ value })\n\n if(props.schema !== this.state.schema)\n this.setState({ schema: props.schema })\n }\n\n onChange = () => {\n this.props.onChange(this.state.value)\n }\n\n onItemChange = (itemVal, i) => {\n this.setState(({ value }) => ({\n value: value.set(i, itemVal)\n }), this.onChange)\n }\n\n removeItem = (i) => {\n this.setState(({ value }) => ({\n value: value.delete(i)\n }), this.onChange)\n }\n\n addItem = () => {\n const { fn } = this.props\n let newValue = valueOrEmptyList(this.state.value)\n this.setState(() => ({\n value: newValue.push(fn.getSampleSchema(this.state.schema.get(\"items\"), false, {\n includeWriteOnly: true\n }))\n }), this.onChange)\n }\n\n onEnumChange = (value) => {\n this.setState(() => ({\n value: value\n }), this.onChange)\n }\n\n render() {\n let { getComponent, required, schema, errors, fn, disabled } = this.props\n\n errors = errors.toJS ? errors.toJS() : Array.isArray(errors) ? errors : []\n const arrayErrors = errors.filter(e => typeof e === \"string\")\n const needsRemoveError = errors.filter(e => e.needRemove !== undefined)\n .map(e => e.error)\n const value = this.state.value // expect Im List\n const shouldRenderValue =\n value && value.count && value.count() > 0 ? true : false\n const schemaItemsEnum = schema.getIn([\"items\", \"enum\"])\n const schemaItemsType = schema.getIn([\"items\", \"type\"])\n const schemaItemsFormat = schema.getIn([\"items\", \"format\"])\n const schemaItemsSchema = schema.get(\"items\")\n let ArrayItemsComponent\n let isArrayItemText = false\n let isArrayItemFile = (schemaItemsType === \"file\" || (schemaItemsType === \"string\" && schemaItemsFormat === \"binary\")) ? true : false\n if (schemaItemsType && schemaItemsFormat) {\n ArrayItemsComponent = getComponent(`JsonSchema_${schemaItemsType}_${schemaItemsFormat}`)\n } else if (schemaItemsType === \"boolean\" || schemaItemsType === \"array\" || schemaItemsType === \"object\") {\n ArrayItemsComponent = getComponent(`JsonSchema_${schemaItemsType}`)\n }\n // if ArrayItemsComponent not assigned or does not exist,\n // use default schemaItemsType === \"string\" & JsonSchemaArrayItemText component\n if (!ArrayItemsComponent && !isArrayItemFile) {\n isArrayItemText = true\n }\n\n if ( schemaItemsEnum ) {\n const Select = getComponent(\"Select\")\n return ()\n }\n}\n\nexport class JsonSchema_boolean extends Component {\n static propTypes = JsonSchemaPropShape\n static defaultProps = JsonSchemaDefaultProps\n\n onEnumChange = (val) => this.props.onChange(val)\n render() {\n let { getComponent, value, errors, schema, required, disabled } = this.props\n errors = errors.toJS ? errors.toJS() : []\n let enumValue = schema && schema.get ? schema.get(\"enum\") : null\n let allowEmptyValue = !enumValue || !required\n let booleanValue = !enumValue && [\"true\", \"false\"]\n const Select = getComponent(\"Select\")\n\n return (\n }\n\n if (\n isObjectContent &&\n (\n contentType === \"application/x-www-form-urlencoded\" ||\n contentType.indexOf(\"multipart/\") === 0\n ) &&\n schemaForMediaType.get(\"properties\", OrderedMap()).size > 0\n ) {\n const JsonSchemaForm = getComponent(\"JsonSchemaForm\")\n const ParameterExt = getComponent(\"ParameterExt\")\n const bodyProperties = schemaForMediaType.get(\"properties\", OrderedMap())\n requestBodyValue = Map.isMap(requestBodyValue) ? requestBodyValue : OrderedMap()\n\n return
\n { requestBodyDescription &&\n \n }\n \n \n {\n Map.isMap(bodyProperties) && bodyProperties.entrySeq().map(([key, prop]) => {\n if (prop.get(\"readOnly\")) return\n\n let commonExt = showCommonExtensions ? getCommonExtensions(prop) : null\n const required = schemaForMediaType.get(\"required\", List()).includes(key)\n const type = prop.get(\"type\")\n const format = prop.get(\"format\")\n const description = prop.get(\"description\")\n const currentValue = requestBodyValue.getIn([key, \"value\"])\n const currentErrors = requestBodyValue.getIn([key, \"errors\"]) || requestBodyErrors\n const included = requestBodyInclusionSetting.get(key) || false\n\n const useInitialValFromSchemaSamples = prop.has(\"default\")\n || prop.has(\"example\")\n || prop.hasIn([\"items\", \"example\"])\n || prop.hasIn([\"items\", \"default\"])\n const useInitialValFromEnum = prop.has(\"enum\") && (prop.get(\"enum\").size === 1 || required)\n const useInitialValue = useInitialValFromSchemaSamples || useInitialValFromEnum\n\n let initialValue = \"\"\n if (type === \"array\" && !useInitialValue) {\n initialValue = []\n }\n if (type === \"object\" || useInitialValue) {\n // TODO: what about example or examples from requestBody could be passed as exampleOverride\n initialValue = fn.getSampleSchema(prop, false, {\n includeWriteOnly: true\n })\n }\n\n if (typeof initialValue !== \"string\" && type === \"object\") {\n initialValue = stringify(initialValue)\n }\n if (typeof initialValue === \"string\" && type === \"array\") {\n initialValue = JSON.parse(initialValue)\n }\n\n const isFile = type === \"string\" && (format === \"binary\" || format === \"base64\")\n\n return \n \n \n \n })\n }\n \n
\n
\n { key }\n { !required ? null :  * }\n
\n
\n { type }\n { format && (${format})}\n {!showCommonExtensions || !commonExt.size ? null : commonExt.entrySeq().map(([key, v]) => )}\n
\n
\n { prop.get(\"deprecated\") ? \"deprecated\": null }\n
\n
\n \n {isExecute ?
\n {\n onChange(value, [key])\n }}\n />\n {required ? null : (\n onChangeIncludeEmpty(key, value)}\n isIncluded={included}\n isIncludedOptions={setIsIncludedOptions(key)}\n isDisabled={Array.isArray(currentValue) ? currentValue.length !== 0 : !isEmptyValue(currentValue)}\n />\n )}\n
: null }\n
\n
\n }\n\n const sampleRequestBody = getDefaultRequestBodyValue(\n requestBody,\n contentType,\n activeExamplesKey,\n fn,\n )\n let language = null\n let testValueForJson = getKnownSyntaxHighlighterLanguage(sampleRequestBody)\n if (testValueForJson) {\n language = \"json\"\n }\n\n return
\n { requestBodyDescription &&\n \n }\n {\n sampleForMediaType ? (\n \n ) : null\n }\n {\n isExecute ? (\n
\n \n
\n ) : (\n \n }\n includeWriteOnly={true}\n />\n )\n }\n {\n sampleForMediaType ? (\n \n ) : null\n }\n
\n}\n\nRequestBody.propTypes = {\n userHasEditedBody: PropTypes.bool.isRequired,\n requestBody: ImPropTypes.orderedMap.isRequired,\n requestBodyValue: ImPropTypes.orderedMap.isRequired,\n requestBodyInclusionSetting: ImPropTypes.map.isRequired,\n requestBodyErrors: ImPropTypes.list.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n fn: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n contentType: PropTypes.string,\n isExecute: PropTypes.bool.isRequired,\n onChange: PropTypes.func.isRequired,\n onChangeIncludeEmpty: PropTypes.func.isRequired,\n specPath: PropTypes.array.isRequired,\n activeExamplesKey: PropTypes.string,\n updateActiveExamplesKey: PropTypes.func,\n setRetainRequestBodyValueFlag: PropTypes.func,\n oas3Actions: PropTypes.object.isRequired\n}\n\nexport default RequestBody\n","import React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nclass OperationLink extends Component {\n render() {\n const { link, name, getComponent } = this.props\n\n const Markdown = getComponent(\"Markdown\", true)\n\n let targetOp = link.get(\"operationId\") || link.get(\"operationRef\")\n let parameters = link.get(\"parameters\") && link.get(\"parameters\").toJS()\n let description = link.get(\"description\")\n\n return
\n
\n {name}\n { description ? : null }\n
\n
\n        Operation `{targetOp}`

\n Parameters {padString(0, JSON.stringify(parameters, null, 2)) || \"{}\"}
\n
\n
\n }\n\n}\n\nfunction padString(n, string) {\n if(typeof string !== \"string\") { return \"\" }\n return string\n .split(\"\\n\")\n .map((line, i) => i > 0 ? Array(n + 1).join(\" \") + line : line)\n .join(\"\\n\")\n}\n\nOperationLink.propTypes = {\n getComponent: PropTypes.func.isRequired,\n link: ImPropTypes.orderedMap.isRequired,\n name: PropTypes.String\n}\n\nexport default OperationLink\n","import React from \"react\"\nimport { OrderedMap } from \"immutable\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nexport default class Servers extends React.Component {\n\n static propTypes = {\n servers: ImPropTypes.list.isRequired,\n currentServer: PropTypes.string.isRequired,\n setSelectedServer: PropTypes.func.isRequired,\n setServerVariableValue: PropTypes.func.isRequired,\n getServerVariable: PropTypes.func.isRequired,\n getEffectiveServerValue: PropTypes.func.isRequired\n }\n\n componentDidMount() {\n let { servers, currentServer } = this.props\n\n if(currentServer) {\n return\n }\n\n // fire 'change' event to set default 'value' of select\n this.setServer(servers.first()?.get(\"url\"))\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n let {\n servers,\n setServerVariableValue,\n getServerVariable\n } = nextProps\n if (this.props.currentServer !== nextProps.currentServer || this.props.servers !== nextProps.servers) {\n // Server has changed, we may need to set default values\n let currentServerDefinition = servers\n .find(v => v.get(\"url\") === nextProps.currentServer)\n let prevServerDefinition = this.props.servers\n .find(v => v.get(\"url\") === this.props.currentServer) || OrderedMap()\n \n if(!currentServerDefinition) {\n return this.setServer(servers.first().get(\"url\"))\n }\n \n let prevServerVariableDefs = prevServerDefinition.get(\"variables\") || OrderedMap()\n let prevServerVariableDefaultKey = prevServerVariableDefs.find(v => v.get(\"default\")) || OrderedMap()\n let prevServerVariableDefaultValue = prevServerVariableDefaultKey.get(\"default\")\n \n let currentServerVariableDefs = currentServerDefinition.get(\"variables\") || OrderedMap()\n let currentServerVariableDefaultKey = currentServerVariableDefs.find(v => v.get(\"default\")) || OrderedMap()\n let currentServerVariableDefaultValue = currentServerVariableDefaultKey.get(\"default\")\n \n currentServerVariableDefs.map((val, key) => {\n let currentValue = getServerVariable(nextProps.currentServer, key)\n \n // note: it is possible for both key/val to be the same across definitions,\n // but we will try to detect a change in default values between definitions\n // only set the default value if the user hasn't set one yet\n // or if the definition appears to have changed\n if (!currentValue || prevServerVariableDefaultValue !== currentServerVariableDefaultValue) {\n setServerVariableValue({\n server: nextProps.currentServer,\n key,\n val: val.get(\"default\") || \"\"\n })\n }\n })\n }\n }\n\n onServerChange =( e ) => {\n this.setServer( e.target.value )\n\n // set default variable values\n }\n\n onServerVariableValueChange = ( e ) => {\n let {\n setServerVariableValue,\n currentServer\n } = this.props\n\n let variableName = e.target.getAttribute(\"data-variable\")\n let newVariableValue = e.target.value\n\n if(typeof setServerVariableValue === \"function\") {\n setServerVariableValue({\n server: currentServer,\n key: variableName,\n val: newVariableValue\n })\n }\n }\n\n setServer = ( value ) => {\n let { setSelectedServer } = this.props\n\n setSelectedServer(value)\n }\n\n render() {\n let { servers,\n currentServer,\n getServerVariable,\n getEffectiveServerValue\n } = this.props\n\n\n let currentServerDefinition = servers.find(s => s.get(\"url\") === currentServer) || OrderedMap()\n\n let currentServerVariableDefs = currentServerDefinition.get(\"variables\") || OrderedMap()\n\n let shouldShowVariableUI = currentServerVariableDefs.size !== 0\n\n return (\n
\n \n { shouldShowVariableUI ?\n
\n\n
\n Computed URL:\n \n {getEffectiveServerValue(currentServer)}\n \n
\n

Server variables

\n \n \n {\n currentServerVariableDefs.entrySeq().map(([name, val]) => {\n return \n \n \n \n })\n }\n \n
{name}\n { val.get(\"enum\") ?\n :\n \n }\n
\n
: null\n }\n
\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class ServersContainer extends React.Component {\n\n static propTypes = {\n specSelectors: PropTypes.object.isRequired,\n oas3Selectors: PropTypes.object.isRequired,\n oas3Actions: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n }\n\n render () {\n const {specSelectors, oas3Selectors, oas3Actions, getComponent} = this.props\n\n const servers = specSelectors.servers()\n\n const Servers = getComponent(\"Servers\")\n\n return servers && servers.size ? (\n
\n Servers\n \n
) : null\n }\n}","import React, { PureComponent } from \"react\"\nimport PropTypes from \"prop-types\"\nimport cx from \"classnames\"\nimport { stringify } from \"core/utils\"\n\nconst NOOP = Function.prototype\n\nexport default class RequestBodyEditor extends PureComponent {\n\n static propTypes = {\n onChange: PropTypes.func,\n getComponent: PropTypes.func.isRequired,\n value: PropTypes.string,\n defaultValue: PropTypes.string,\n errors: PropTypes.array,\n }\n\n static defaultProps = {\n onChange: NOOP,\n userHasEditedBody: false,\n }\n\n constructor(props, context) {\n super(props, context)\n\n this.state = {\n value: stringify(props.value) || props.defaultValue\n }\n\n // this is the glue that makes sure our initial value gets set as the\n // current request body value\n // TODO: achieve this in a selector instead\n props.onChange(props.value)\n }\n\n applyDefaultValue = (nextProps) => {\n const { onChange, defaultValue } = (nextProps ? nextProps : this.props)\n\n this.setState({\n value: defaultValue\n })\n\n return onChange(defaultValue)\n }\n\n onChange = (value) => {\n this.props.onChange(stringify(value))\n }\n\n onDomChange = e => {\n const inputValue = e.target.value\n\n this.setState({\n value: inputValue,\n }, () => this.onChange(inputValue))\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if(\n this.props.value !== nextProps.value &&\n nextProps.value !== this.state.value\n ) {\n\n this.setState({\n value: stringify(nextProps.value)\n })\n }\n\n\n\n if(!nextProps.value && nextProps.defaultValue && !!this.state.value) {\n // if new value is falsy, we have a default, AND the falsy value didn't\n // come from us originally\n this.applyDefaultValue(nextProps)\n }\n }\n\n render() {\n let {\n getComponent,\n errors,\n } = this.props\n\n let {\n value\n } = this.state\n\n let isInvalid = errors.size > 0 ? true : false\n const TextArea = getComponent(\"TextArea\")\n\n return (\n
\n \n
\n )\n\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class HttpAuth extends React.Component {\n static propTypes = {\n authorized: PropTypes.object,\n getComponent: PropTypes.func.isRequired,\n errSelectors: PropTypes.object.isRequired,\n schema: PropTypes.object.isRequired,\n name: PropTypes.string.isRequired,\n onChange: PropTypes.func\n }\n\n constructor(props, context) {\n super(props, context)\n let { name, schema } = this.props\n let value = this.getValue()\n\n this.state = {\n name: name,\n schema: schema,\n value: value\n }\n }\n\n getValue () {\n let { name, authorized } = this.props\n\n return authorized && authorized.getIn([name, \"value\"])\n }\n\n onChange =(e) => {\n let { onChange } = this.props\n let { value, name } = e.target\n\n let newValue = Object.assign({}, this.state.value)\n\n if(name) {\n newValue[name] = value\n } else {\n newValue = value\n }\n\n this.setState({ value: newValue }, () => onChange(this.state))\n\n }\n\n render() {\n let { schema, getComponent, errSelectors, name } = this.props\n const Input = getComponent(\"Input\")\n const Row = getComponent(\"Row\")\n const Col = getComponent(\"Col\")\n const AuthError = getComponent(\"authError\")\n const Markdown = getComponent(\"Markdown\", true)\n const JumpToPath = getComponent(\"JumpToPath\", true)\n\n const scheme = (schema.get(\"scheme\") || \"\").toLowerCase()\n let value = this.getValue()\n let errors = errSelectors.allErrors().filter( err => err.get(\"authId\") === name)\n\n if(scheme === \"basic\") {\n let username = value ? value.get(\"username\") : null\n return
\n

\n { name || schema.get(\"name\") } \n (http, Basic)\n \n

\n { username &&
Authorized
}\n \n \n \n \n \n {\n username ? { username } \n : \n }\n \n \n \n {\n username ? ****** \n : \n }\n \n {\n errors.valueSeq().map( (error, key) => {\n return \n } )\n }\n
\n }\n\n if(scheme === \"bearer\") {\n return (\n
\n

\n { name || schema.get(\"name\") } \n (http, Bearer)\n \n

\n { value &&
Authorized
}\n \n \n \n \n \n {\n value ? ****** \n : \n }\n \n {\n errors.valueSeq().map( (error, key) => {\n return \n } )\n }\n
\n )\n }\n return
\n {name} HTTP authentication: unsupported scheme {`'${scheme}'`}\n
\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nexport default class OperationServers extends React.Component {\n static propTypes = {\n // for self\n path: PropTypes.string.isRequired,\n method: PropTypes.string.isRequired,\n operationServers: ImPropTypes.list,\n pathServers: ImPropTypes.list,\n setSelectedServer: PropTypes.func.isRequired,\n setServerVariableValue: PropTypes.func.isRequired,\n getSelectedServer: PropTypes.func.isRequired,\n getServerVariable: PropTypes.func.isRequired,\n getEffectiveServerValue: PropTypes.func.isRequired,\n\n // utils\n getComponent: PropTypes.func.isRequired\n }\n\n setSelectedServer = (server) => {\n const { path, method } = this.props\n // FIXME: we should be keeping up with this in props/state upstream of us\n // instead of cheating™ with `forceUpdate`\n this.forceUpdate()\n return this.props.setSelectedServer(server, `${path}:${method}`)\n }\n\n setServerVariableValue = (obj) => {\n const { path, method } = this.props\n // FIXME: we should be keeping up with this in props/state upstream of us\n // instead of cheating™ with `forceUpdate`\n this.forceUpdate()\n return this.props.setServerVariableValue({\n ...obj,\n namespace: `${path}:${method}`\n })\n }\n\n getSelectedServer = () => {\n const { path, method } = this.props\n return this.props.getSelectedServer(`${path}:${method}`)\n }\n\n getServerVariable = (server, key) => {\n const { path, method } = this.props\n return this.props.getServerVariable({\n namespace: `${path}:${method}`,\n server\n }, key)\n }\n\n getEffectiveServerValue = (server) => {\n const { path, method } = this.props\n return this.props.getEffectiveServerValue({\n server,\n namespace: `${path}:${method}`\n })\n }\n\n render() {\n const {\n // for self\n operationServers,\n pathServers,\n\n // util\n getComponent\n } = this.props\n\n if(!operationServers && !pathServers) {\n return null\n }\n\n const Servers = getComponent(\"Servers\")\n\n const serversToDisplay = operationServers || pathServers\n const displaying = operationServers ? \"operation\" : \"path\"\n\n return
\n
\n
\n

Servers

\n
\n
\n
\n

\n These {displaying}-level options override the global server options.\n

\n \n
\n
\n }\n}\n","import Callbacks from \"./callbacks\"\nimport RequestBody from \"./request-body\"\nimport OperationLink from \"./operation-link\"\nimport Servers from \"./servers\"\nimport ServersContainer from \"./servers-container\"\nimport RequestBodyEditor from \"./request-body-editor\"\nimport HttpAuth from \"./auth/http-auth\"\nimport OperationServers from \"./operation-servers\"\n\nexport default {\n Callbacks,\n HttpAuth,\n RequestBody,\n Servers,\n ServersContainer,\n RequestBodyEditor,\n OperationServers,\n operationLink: OperationLink,\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport cx from \"classnames\"\nimport { Remarkable } from \"remarkable\"\nimport { OAS3ComponentWrapFactory } from \"../helpers\"\nimport { sanitizer } from \"core/components/providers/markdown\"\n\nconst parser = new Remarkable(\"commonmark\")\nparser.block.ruler.enable([\"table\"])\nparser.set({ linkTarget: \"_blank\" })\n\nexport const Markdown = ({ source, className = \"\", getConfigs }) => {\n if(typeof source !== \"string\") {\n return null\n }\n\n if ( source ) {\n const { useUnsafeMarkdown } = getConfigs()\n const html = parser.render(source)\n const sanitized = sanitizer(html, { useUnsafeMarkdown })\n\n let trimmed\n\n if(typeof sanitized === \"string\") {\n trimmed = sanitized.trim()\n }\n\n return (\n \n )\n }\n return null\n}\nMarkdown.propTypes = {\n source: PropTypes.string,\n className: PropTypes.string,\n getConfigs: PropTypes.func,\n}\n\nMarkdown.defaultProps = {\n getConfigs: () => ({ useUnsafeMarkdown: false }),\n}\n\nexport default OAS3ComponentWrapFactory(Markdown)\n","import React from \"react\"\nimport { OAS3ComponentWrapFactory } from \"../../helpers\"\n\nexport default OAS3ComponentWrapFactory(({ Ori, ...props }) => {\n const {\n schema, getComponent, errSelectors, authorized, onAuthChange, name\n } = props\n\n const HttpAuth = getComponent(\"HttpAuth\")\n const type = schema.get(\"type\")\n\n\n if(type === \"http\") {\n return \n } else {\n return \n }\n})\n","import { OAS3ComponentWrapFactory } from \"../helpers\"\nimport OnlineValidatorBadge from \"core/components/online-validator-badge\"\n\n// OAS3 spec is now supported by the online validator.\nexport default OAS3ComponentWrapFactory(OnlineValidatorBadge)\n","import React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { OAS3ComponentWrapFactory } from \"../helpers\"\nimport Model from \"core/components/model\"\n\nclass ModelComponent extends Component {\n static propTypes = {\n schema: PropTypes.object.isRequired,\n name: PropTypes.string,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n expandDepth: PropTypes.number,\n includeReadOnly: PropTypes.bool,\n includeWriteOnly: PropTypes.bool,\n }\n\n render(){\n let { getConfigs, schema } = this.props\n let classes = [\"model-box\"]\n let isDeprecated = schema.get(\"deprecated\") === true\n let message = null\n\n if(isDeprecated) {\n classes.push(\"deprecated\")\n message = Deprecated:\n }\n\n return
\n {message}\n \n
\n }\n}\n\nexport default OAS3ComponentWrapFactory(ModelComponent)\n","import React from \"react\"\nimport { OAS3ComponentWrapFactory } from \"../helpers\"\n\nexport default OAS3ComponentWrapFactory(({ Ori, ...props }) => {\n const {\n schema,\n getComponent,\n errors,\n onChange\n } = props\n\n const format = schema && schema.get ? schema.get(\"format\") : null\n const type = schema && schema.get ? schema.get(\"type\") : null\n const Input = getComponent(\"Input\")\n\n if(type && type === \"string\" && (format && (format === \"binary\" || format === \"base64\"))) {\n return {\n onChange(e.target.files[0])\n }}\n disabled={Ori.isDisabled}/>\n } else {\n return \n }\n})\n","import Markdown from \"./markdown\"\nimport AuthItem from \"./auth/auth-item\"\nimport OnlineValidatorBadge from \"./online-validator-badge\"\nimport Model from \"./model\"\nimport JsonSchema_string from \"./json-schema-string\"\nimport OpenAPIVersion from \"./openapi-version\"\n\nexport default {\n Markdown,\n AuthItem,\n OpenAPIVersion,\n JsonSchema_string,\n model: Model,\n onlineValidatorBadge: OnlineValidatorBadge,\n}\n","import React from \"react\"\nimport { OAS30ComponentWrapFactory } from \"../helpers\"\n\nexport default OAS30ComponentWrapFactory((props) => {\n const { Ori } = props\n return \n})\n","// Actions conform to FSA (flux-standard-actions)\n// {type: string,payload: Any|Error, meta: obj, error: bool}\n\nexport const UPDATE_SELECTED_SERVER = \"oas3_set_servers\"\nexport const UPDATE_REQUEST_BODY_VALUE = \"oas3_set_request_body_value\"\nexport const UPDATE_REQUEST_BODY_VALUE_RETAIN_FLAG = \"oas3_set_request_body_retain_flag\"\nexport const UPDATE_REQUEST_BODY_INCLUSION = \"oas3_set_request_body_inclusion\"\nexport const UPDATE_ACTIVE_EXAMPLES_MEMBER = \"oas3_set_active_examples_member\"\nexport const UPDATE_REQUEST_CONTENT_TYPE = \"oas3_set_request_content_type\"\nexport const UPDATE_RESPONSE_CONTENT_TYPE = \"oas3_set_response_content_type\"\nexport const UPDATE_SERVER_VARIABLE_VALUE = \"oas3_set_server_variable_value\"\nexport const SET_REQUEST_BODY_VALIDATE_ERROR = \"oas3_set_request_body_validate_error\"\nexport const CLEAR_REQUEST_BODY_VALIDATE_ERROR = \"oas3_clear_request_body_validate_error\"\nexport const CLEAR_REQUEST_BODY_VALUE = \"oas3_clear_request_body_value\"\n\nexport function setSelectedServer (selectedServerUrl, namespace) {\n return {\n type: UPDATE_SELECTED_SERVER,\n payload: {selectedServerUrl, namespace}\n }\n}\n\nexport function setRequestBodyValue ({ value, pathMethod }) {\n return {\n type: UPDATE_REQUEST_BODY_VALUE,\n payload: { value, pathMethod }\n }\n}\n\nexport const setRetainRequestBodyValueFlag = ({ value, pathMethod }) => {\n return {\n type: UPDATE_REQUEST_BODY_VALUE_RETAIN_FLAG,\n payload: { value, pathMethod }\n }\n}\n\n\nexport function setRequestBodyInclusion ({ value, pathMethod, name }) {\n return {\n type: UPDATE_REQUEST_BODY_INCLUSION,\n payload: { value, pathMethod, name }\n }\n}\n\nexport function setActiveExamplesMember ({ name, pathMethod, contextType, contextName }) {\n return {\n type: UPDATE_ACTIVE_EXAMPLES_MEMBER,\n payload: { name, pathMethod, contextType, contextName }\n }\n}\n\nexport function setRequestContentType ({ value, pathMethod }) {\n return {\n type: UPDATE_REQUEST_CONTENT_TYPE,\n payload: { value, pathMethod }\n }\n}\n\nexport function setResponseContentType ({ value, path, method }) {\n return {\n type: UPDATE_RESPONSE_CONTENT_TYPE,\n payload: { value, path, method }\n }\n}\n\nexport function setServerVariableValue ({ server, namespace, key, val }) {\n return {\n type: UPDATE_SERVER_VARIABLE_VALUE,\n payload: { server, namespace, key, val }\n }\n}\n\nexport const setRequestBodyValidateError = ({ path, method, validationErrors }) => {\n return {\n type: SET_REQUEST_BODY_VALIDATE_ERROR,\n payload: { path, method, validationErrors }\n }\n}\n\nexport const clearRequestBodyValidateError = ({ path, method }) => {\n return {\n type: CLEAR_REQUEST_BODY_VALIDATE_ERROR,\n payload: { path, method }\n }\n}\n\nexport const initRequestBodyValidateError = ({ pathMethod } ) => {\n return {\n type: CLEAR_REQUEST_BODY_VALIDATE_ERROR,\n payload: { path: pathMethod[0], method: pathMethod[1] }\n }\n}\n\nexport const clearRequestBodyValue = ({ pathMethod }) => {\n return {\n type: CLEAR_REQUEST_BODY_VALUE,\n payload: { pathMethod }\n }\n}\n","/**\n * @prettier\n */\nimport { OrderedMap, Map, List } from \"immutable\"\nimport { createSelector } from \"reselect\"\n\nimport { getDefaultRequestBodyValue } from \"./components/request-body\"\nimport { stringify } from \"core/utils\"\n\n// Helpers\n\nconst onlyOAS3 =\n (selector) =>\n (state, ...args) =>\n (system) => {\n if (system.getSystem().specSelectors.isOAS3()) {\n const selectedValue = selector(state, ...args)\n return typeof selectedValue === \"function\"\n ? selectedValue(system)\n : selectedValue\n } else {\n return null\n }\n }\n\nfunction validateRequestBodyIsRequired(selector) {\n return (...args) =>\n (system) => {\n const specJson = system.getSystem().specSelectors.specJson()\n const argsList = [...args]\n // expect argsList[0] = state\n let pathMethod = argsList[1] || []\n let isOas3RequestBodyRequired = specJson.getIn([\n \"paths\",\n ...pathMethod,\n \"requestBody\",\n \"required\",\n ])\n\n if (isOas3RequestBodyRequired) {\n return selector(...args)\n } else {\n // validation pass b/c not required\n return true\n }\n }\n}\n\nconst validateRequestBodyValueExists = (state, pathMethod) => {\n pathMethod = pathMethod || []\n let oas3RequestBodyValue = state.getIn([\n \"requestData\",\n ...pathMethod,\n \"bodyValue\",\n ])\n // context: bodyValue can be a String, or a Map\n if (!oas3RequestBodyValue) {\n return false\n }\n // validation pass if String is not empty, or if Map exists\n return true\n}\n\nexport const selectedServer = onlyOAS3((state, namespace) => {\n const path = namespace ? [namespace, \"selectedServer\"] : [\"selectedServer\"]\n return state.getIn(path) || \"\"\n})\n\nexport const requestBodyValue = onlyOAS3((state, path, method) => {\n return state.getIn([\"requestData\", path, method, \"bodyValue\"]) || null\n})\n\nexport const shouldRetainRequestBodyValue = onlyOAS3((state, path, method) => {\n return state.getIn([\"requestData\", path, method, \"retainBodyValue\"]) || false\n})\n\nexport const selectDefaultRequestBodyValue =\n (state, path, method) => (system) => {\n const { oas3Selectors, specSelectors, fn } = system.getSystem()\n\n if (specSelectors.isOAS3()) {\n const currentMediaType = oas3Selectors.requestContentType(path, method)\n if (currentMediaType) {\n return getDefaultRequestBodyValue(\n specSelectors.specResolvedSubtree([\n \"paths\",\n path,\n method,\n \"requestBody\",\n ]),\n currentMediaType,\n oas3Selectors.activeExamplesMember(\n path,\n method,\n \"requestBody\",\n \"requestBody\"\n ),\n fn\n )\n }\n }\n return null\n }\n\nexport const hasUserEditedBody = onlyOAS3((state, path, method) => (system) => {\n const { oas3Selectors, specSelectors, fn } = system\n\n let userHasEditedBody = false\n const currentMediaType = oas3Selectors.requestContentType(path, method)\n let userEditedRequestBody = oas3Selectors.requestBodyValue(path, method)\n const requestBody = specSelectors.specResolvedSubtree([\n \"paths\",\n path,\n method,\n \"requestBody\",\n ])\n\n /**\n * The only request body that can currently be edited is for Path Items that are direct values of OpenAPI.paths.\n * Path Item contained within the Callback Object or OpenAPI.webhooks (OpenAPI 3.1.0) have `Try it out`\n * disabled and thus body cannot be edited.\n */\n if (!requestBody) {\n return false\n }\n\n if (Map.isMap(userEditedRequestBody)) {\n // context is not application/json media-type\n userEditedRequestBody = stringify(\n userEditedRequestBody\n .mapEntries((kv) =>\n Map.isMap(kv[1]) ? [kv[0], kv[1].get(\"value\")] : kv\n )\n .toJS()\n )\n }\n if (List.isList(userEditedRequestBody)) {\n userEditedRequestBody = stringify(userEditedRequestBody)\n }\n\n if (currentMediaType) {\n const currentMediaTypeDefaultBodyValue = getDefaultRequestBodyValue(\n requestBody,\n currentMediaType,\n oas3Selectors.activeExamplesMember(\n path,\n method,\n \"requestBody\",\n \"requestBody\"\n ),\n fn\n )\n userHasEditedBody =\n !!userEditedRequestBody &&\n userEditedRequestBody !== currentMediaTypeDefaultBodyValue\n }\n return userHasEditedBody\n})\n\nexport const requestBodyInclusionSetting = onlyOAS3((state, path, method) => {\n return state.getIn([\"requestData\", path, method, \"bodyInclusion\"]) || Map()\n})\n\nexport const requestBodyErrors = onlyOAS3((state, path, method) => {\n return state.getIn([\"requestData\", path, method, \"errors\"]) || null\n})\n\nexport const activeExamplesMember = onlyOAS3(\n (state, path, method, type, name) => {\n return (\n state.getIn([\"examples\", path, method, type, name, \"activeExample\"]) ||\n null\n )\n }\n)\n\nexport const requestContentType = onlyOAS3((state, path, method) => {\n return (\n state.getIn([\"requestData\", path, method, \"requestContentType\"]) || null\n )\n})\n\nexport const responseContentType = onlyOAS3((state, path, method) => {\n return (\n state.getIn([\"requestData\", path, method, \"responseContentType\"]) || null\n )\n})\n\nexport const serverVariableValue = onlyOAS3((state, locationData, key) => {\n let path\n\n // locationData may take one of two forms, for backwards compatibility\n // Object: ({server, namespace?}) or String:(server)\n if (typeof locationData !== \"string\") {\n const { server, namespace } = locationData\n if (namespace) {\n path = [namespace, \"serverVariableValues\", server, key]\n } else {\n path = [\"serverVariableValues\", server, key]\n }\n } else {\n const server = locationData\n path = [\"serverVariableValues\", server, key]\n }\n\n return state.getIn(path) || null\n})\n\nexport const serverVariables = onlyOAS3((state, locationData) => {\n let path\n\n // locationData may take one of two forms, for backwards compatibility\n // Object: ({server, namespace?}) or String:(server)\n if (typeof locationData !== \"string\") {\n const { server, namespace } = locationData\n if (namespace) {\n path = [namespace, \"serverVariableValues\", server]\n } else {\n path = [\"serverVariableValues\", server]\n }\n } else {\n const server = locationData\n path = [\"serverVariableValues\", server]\n }\n\n return state.getIn(path) || OrderedMap()\n})\n\nexport const serverEffectiveValue = onlyOAS3((state, locationData) => {\n var varValues, serverValue\n\n // locationData may take one of two forms, for backwards compatibility\n // Object: ({server, namespace?}) or String:(server)\n if (typeof locationData !== \"string\") {\n const { server, namespace } = locationData\n serverValue = server\n if (namespace) {\n varValues = state.getIn([namespace, \"serverVariableValues\", serverValue])\n } else {\n varValues = state.getIn([\"serverVariableValues\", serverValue])\n }\n } else {\n serverValue = locationData\n varValues = state.getIn([\"serverVariableValues\", serverValue])\n }\n\n varValues = varValues || OrderedMap()\n let str = serverValue\n\n varValues.map((val, key) => {\n str = str.replace(new RegExp(`{${key}}`, \"g\"), val)\n })\n\n return str\n})\n\nexport const validateBeforeExecute = validateRequestBodyIsRequired(\n (state, pathMethod) => validateRequestBodyValueExists(state, pathMethod)\n)\n\nexport const validateShallowRequired = (\n state,\n {\n oas3RequiredRequestBodyContentType,\n oas3RequestContentType,\n oas3RequestBodyValue,\n }\n) => {\n let missingRequiredKeys = []\n // context: json => String; urlencoded, form-data => Map\n if (!Map.isMap(oas3RequestBodyValue)) {\n return missingRequiredKeys\n }\n let requiredKeys = []\n // Cycle through list of possible contentTypes for matching contentType and defined requiredKeys\n Object.keys(oas3RequiredRequestBodyContentType.requestContentType).forEach(\n (contentType) => {\n if (contentType === oas3RequestContentType) {\n let contentTypeVal =\n oas3RequiredRequestBodyContentType.requestContentType[contentType]\n contentTypeVal.forEach((requiredKey) => {\n if (requiredKeys.indexOf(requiredKey) < 0) {\n requiredKeys.push(requiredKey)\n }\n })\n }\n }\n )\n requiredKeys.forEach((key) => {\n let requiredKeyValue = oas3RequestBodyValue.getIn([key, \"value\"])\n if (!requiredKeyValue) {\n missingRequiredKeys.push(key)\n }\n })\n return missingRequiredKeys\n}\n\nexport const validOperationMethods = createSelector(() => [\n \"get\",\n \"put\",\n \"post\",\n \"delete\",\n \"options\",\n \"head\",\n \"patch\",\n \"trace\",\n])\n","import { fromJS, Map } from \"immutable\"\n\nimport {\n UPDATE_SELECTED_SERVER,\n UPDATE_REQUEST_BODY_VALUE,\n UPDATE_REQUEST_BODY_INCLUSION,\n UPDATE_ACTIVE_EXAMPLES_MEMBER,\n UPDATE_REQUEST_CONTENT_TYPE,\n UPDATE_SERVER_VARIABLE_VALUE,\n UPDATE_RESPONSE_CONTENT_TYPE,\n SET_REQUEST_BODY_VALIDATE_ERROR,\n CLEAR_REQUEST_BODY_VALIDATE_ERROR,\n CLEAR_REQUEST_BODY_VALUE, UPDATE_REQUEST_BODY_VALUE_RETAIN_FLAG,\n} from \"./actions\"\n\nexport default {\n [UPDATE_SELECTED_SERVER]: (state, { payload: { selectedServerUrl, namespace } } ) =>{\n const path = namespace ? [ namespace, \"selectedServer\"] : [ \"selectedServer\"]\n return state.setIn( path, selectedServerUrl)\n },\n [UPDATE_REQUEST_BODY_VALUE]: (state, { payload: { value, pathMethod } } ) =>{\n let [path, method] = pathMethod\n if (!Map.isMap(value)) {\n // context: application/json is always a String (instead of Map)\n return state.setIn( [ \"requestData\", path, method, \"bodyValue\" ], value)\n }\n let currentVal = state.getIn([\"requestData\", path, method, \"bodyValue\"]) || Map()\n if (!Map.isMap(currentVal)) {\n // context: user switch from application/json to application/x-www-form-urlencoded\n currentVal = Map()\n }\n let newVal\n const [...valueKeys] = value.keys()\n valueKeys.forEach((valueKey) => {\n let valueKeyVal = value.getIn([valueKey])\n if (!currentVal.has(valueKey)) {\n newVal = currentVal.setIn([valueKey, \"value\"], valueKeyVal)\n } else if (!Map.isMap(valueKeyVal)) {\n // context: user input will be received as String\n newVal = currentVal.setIn([valueKey, \"value\"], valueKeyVal)\n }\n })\n return state.setIn([\"requestData\", path, method, \"bodyValue\"], newVal)\n },\n [UPDATE_REQUEST_BODY_VALUE_RETAIN_FLAG]: (state, { payload: { value, pathMethod } } ) =>{\n let [path, method] = pathMethod\n return state.setIn([\"requestData\", path, method, \"retainBodyValue\"], value)\n },\n [UPDATE_REQUEST_BODY_INCLUSION]: (state, { payload: { value, pathMethod, name } } ) =>{\n let [path, method] = pathMethod\n return state.setIn( [ \"requestData\", path, method, \"bodyInclusion\", name ], value)\n },\n [UPDATE_ACTIVE_EXAMPLES_MEMBER]: (state, { payload: { name, pathMethod, contextType, contextName } } ) =>{\n let [path, method] = pathMethod\n return state.setIn( [ \"examples\", path, method, contextType, contextName, \"activeExample\" ], name)\n },\n [UPDATE_REQUEST_CONTENT_TYPE]: (state, { payload: { value, pathMethod } } ) =>{\n let [path, method] = pathMethod\n return state.setIn( [ \"requestData\", path, method, \"requestContentType\" ], value)\n },\n [UPDATE_RESPONSE_CONTENT_TYPE]: (state, { payload: { value, path, method } } ) =>{\n return state.setIn( [ \"requestData\", path, method, \"responseContentType\" ], value)\n },\n [UPDATE_SERVER_VARIABLE_VALUE]: (state, { payload: { server, namespace, key, val } } ) =>{\n const path = namespace ? [ namespace, \"serverVariableValues\", server, key ] : [ \"serverVariableValues\", server, key ]\n return state.setIn(path, val)\n },\n [SET_REQUEST_BODY_VALIDATE_ERROR]: (state, { payload: { path, method, validationErrors } } ) => {\n let errors = []\n errors.push(\"Required field is not provided\")\n if (validationErrors.missingBodyValue) {\n // context: is application/json or application/xml, where typeof (missing) bodyValue = String\n return state.setIn([\"requestData\", path, method, \"errors\"], fromJS(errors))\n }\n if (validationErrors.missingRequiredKeys && validationErrors.missingRequiredKeys.length > 0) {\n // context: is application/x-www-form-urlencoded, with list of missing keys\n const { missingRequiredKeys } = validationErrors\n return state.updateIn([\"requestData\", path, method, \"bodyValue\"], fromJS({}), missingKeyValues => {\n return missingRequiredKeys.reduce((bodyValue, currentMissingKey) => {\n return bodyValue.setIn([currentMissingKey, \"errors\"], fromJS(errors))\n }, missingKeyValues)\n })\n }\n console.warn(\"unexpected result: SET_REQUEST_BODY_VALIDATE_ERROR\")\n return state\n },\n [CLEAR_REQUEST_BODY_VALIDATE_ERROR]: (state, { payload: { path, method } }) => {\n const requestBodyValue = state.getIn([\"requestData\", path, method, \"bodyValue\"])\n if (!Map.isMap(requestBodyValue)) {\n return state.setIn([\"requestData\", path, method, \"errors\"], fromJS([]))\n }\n const [...valueKeys] = requestBodyValue.keys()\n if (!valueKeys) {\n return state\n }\n return state.updateIn([\"requestData\", path, method, \"bodyValue\"], fromJS({}), bodyValues => {\n return valueKeys.reduce((bodyValue, curr) => {\n return bodyValue.setIn([curr, \"errors\"], fromJS([]))\n }, bodyValues)\n })\n },\n [CLEAR_REQUEST_BODY_VALUE]: (state, { payload: { pathMethod }}) => {\n let [path, method] = pathMethod\n const requestBodyValue = state.getIn([\"requestData\", path, method, \"bodyValue\"])\n if (!requestBodyValue) {\n return state\n }\n if (!Map.isMap(requestBodyValue)) {\n return state.setIn([\"requestData\", path, method, \"bodyValue\"], \"\")\n }\n return state.setIn([\"requestData\", path, method, \"bodyValue\"], Map())\n }\n}\n","/**\n * @prettier\n */\nimport * as specWrapSelectors from \"./spec-extensions/wrap-selectors\"\nimport * as authWrapSelectors from \"./auth-extensions/wrap-selectors\"\nimport * as specSelectors from \"./spec-extensions/selectors\"\nimport components from \"./components\"\nimport wrapComponents from \"./wrap-components\"\nimport * as actions from \"./actions\"\nimport * as selectors from \"./selectors\"\nimport reducers from \"./reducers\"\n\nexport default function () {\n return {\n components,\n wrapComponents,\n statePlugins: {\n spec: {\n wrapSelectors: specWrapSelectors,\n selectors: specSelectors,\n },\n auth: {\n wrapSelectors: authWrapSelectors,\n },\n oas3: {\n actions: { ...actions },\n reducers,\n selectors: { ...selectors },\n },\n },\n }\n}\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\n\nconst Webhooks = ({ specSelectors, getComponent }) => {\n const operationDTOs = specSelectors.selectWebhooksOperations()\n const pathItemNames = Object.keys(operationDTOs)\n\n const OperationContainer = getComponent(\"OperationContainer\", true)\n\n if (pathItemNames.length === 0) return null\n\n return (\n
\n

Webhooks

\n\n {pathItemNames.map((pathItemName) => (\n
\n {operationDTOs[pathItemName].map((operationDTO) => (\n \n ))}\n
\n ))}\n
\n )\n}\n\nWebhooks.propTypes = {\n specSelectors: PropTypes.shape({\n selectWebhooksOperations: PropTypes.func.isRequired,\n }).isRequired,\n getComponent: PropTypes.func.isRequired,\n}\n\nexport default Webhooks\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport { sanitizeUrl } from \"core/utils\"\n\nconst License = ({ getComponent, specSelectors }) => {\n const name = specSelectors.selectLicenseNameField()\n const url = specSelectors.selectLicenseUrl()\n\n const Link = getComponent(\"Link\")\n\n return (\n
\n {url ? (\n
\n \n {name}\n \n
\n ) : (\n {name}\n )}\n
\n )\n}\n\nLicense.propTypes = {\n getComponent: PropTypes.func.isRequired,\n specSelectors: PropTypes.shape({\n selectLicenseNameField: PropTypes.func.isRequired,\n selectLicenseUrl: PropTypes.func.isRequired,\n }).isRequired,\n}\n\nexport default License\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport { sanitizeUrl } from \"core/utils\"\n\nconst Contact = ({ getComponent, specSelectors }) => {\n const name = specSelectors.selectContactNameField()\n const url = specSelectors.selectContactUrl()\n const email = specSelectors.selectContactEmailField()\n\n const Link = getComponent(\"Link\")\n\n return (\n
\n {url && (\n
\n \n {name} - Website\n \n
\n )}\n {email && (\n \n {url ? `Send email to ${name}` : `Contact ${name}`}\n \n )}\n
\n )\n}\n\nContact.propTypes = {\n getComponent: PropTypes.func.isRequired,\n specSelectors: PropTypes.shape({\n selectContactNameField: PropTypes.func.isRequired,\n selectContactUrl: PropTypes.func.isRequired,\n selectContactEmailField: PropTypes.func.isRequired,\n }).isRequired,\n}\n\nexport default Contact\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport { sanitizeUrl } from \"core/utils\"\n\nconst Info = ({ getComponent, specSelectors }) => {\n const version = specSelectors.version()\n const url = specSelectors.url()\n const basePath = specSelectors.basePath()\n const host = specSelectors.host()\n const summary = specSelectors.selectInfoSummaryField()\n const description = specSelectors.selectInfoDescriptionField()\n const title = specSelectors.selectInfoTitleField()\n const termsOfServiceUrl = specSelectors.selectInfoTermsOfServiceUrl()\n const externalDocsUrl = specSelectors.selectExternalDocsUrl()\n const externalDocsDesc = specSelectors.selectExternalDocsDescriptionField()\n const contact = specSelectors.contact()\n const license = specSelectors.license()\n\n const Markdown = getComponent(\"Markdown\", true)\n const Link = getComponent(\"Link\")\n const VersionStamp = getComponent(\"VersionStamp\")\n const OpenAPIVersion = getComponent(\"OpenAPIVersion\")\n const InfoUrl = getComponent(\"InfoUrl\")\n const InfoBasePath = getComponent(\"InfoBasePath\")\n const License = getComponent(\"License\", true)\n const Contact = getComponent(\"Contact\", true)\n const JsonSchemaDialect = getComponent(\"JsonSchemaDialect\", true)\n\n return (\n
\n
\n

\n {title}\n \n {version && }\n \n \n

\n\n {(host || basePath) && }\n {url && }\n
\n\n {summary &&

{summary}

}\n\n
\n \n
\n\n {termsOfServiceUrl && (\n
\n \n Terms of service\n \n
\n )}\n\n {contact.size > 0 && }\n\n {license.size > 0 && }\n\n {externalDocsUrl && (\n \n {externalDocsDesc || externalDocsUrl}\n \n )}\n\n \n
\n )\n}\n\nInfo.propTypes = {\n getComponent: PropTypes.func.isRequired,\n specSelectors: PropTypes.shape({\n version: PropTypes.func.isRequired,\n url: PropTypes.func.isRequired,\n basePath: PropTypes.func.isRequired,\n host: PropTypes.func.isRequired,\n selectInfoSummaryField: PropTypes.func.isRequired,\n selectInfoDescriptionField: PropTypes.func.isRequired,\n selectInfoTitleField: PropTypes.func.isRequired,\n selectInfoTermsOfServiceUrl: PropTypes.func.isRequired,\n selectExternalDocsUrl: PropTypes.func.isRequired,\n selectExternalDocsDescriptionField: PropTypes.func.isRequired,\n contact: PropTypes.func.isRequired,\n license: PropTypes.func.isRequired,\n }).isRequired,\n}\n\nexport default Info\n","/**\n * @prettier\n */\n\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport { sanitizeUrl } from \"core/utils\"\n\nconst JsonSchemaDialect = ({ getComponent, specSelectors }) => {\n const jsonSchemaDialect = specSelectors.selectJsonSchemaDialectField()\n const jsonSchemaDialectDefault = specSelectors.selectJsonSchemaDialectDefault() // prettier-ignore\n\n const Link = getComponent(\"Link\")\n\n return (\n <>\n {jsonSchemaDialect && jsonSchemaDialect === jsonSchemaDialectDefault && (\n

\n JSON Schema dialect:{\" \"}\n \n {jsonSchemaDialect}\n \n

\n )}\n\n {jsonSchemaDialect && jsonSchemaDialect !== jsonSchemaDialectDefault && (\n
\n
\n
\n
\n

Warning

\n

\n OpenAPI.jsonSchemaDialect field contains a\n value different from the default value of{\" \"}\n \n {jsonSchemaDialectDefault}\n \n . Values different from the default one are currently not\n supported. Please either omit the field or provide it with the\n default value.\n

\n
\n
\n
\n
\n )}\n \n )\n}\n\nJsonSchemaDialect.propTypes = {\n getComponent: PropTypes.func.isRequired,\n specSelectors: PropTypes.shape({\n selectJsonSchemaDialectField: PropTypes.func.isRequired,\n selectJsonSchemaDialectDefault: PropTypes.func.isRequired,\n }).isRequired,\n}\n\nexport default JsonSchemaDialect\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nconst VersionPragmaFilter = ({\n bypass,\n isSwagger2,\n isOAS3,\n isOAS31,\n alsoShow,\n children,\n}) => {\n if (bypass) {\n return
{children}
\n }\n\n if (isSwagger2 && (isOAS3 || isOAS31)) {\n return (\n
\n {alsoShow}\n
\n
\n

Unable to render this definition

\n

\n swagger and openapi fields cannot be\n present in the same Swagger or OpenAPI definition. Please remove\n one of the fields.\n

\n

\n Supported version fields are swagger: "2.0" and\n those that match openapi: 3.x.y (for example,{\" \"}\n openapi: 3.1.0).\n

\n
\n
\n
\n )\n }\n\n if (!isSwagger2 && !isOAS3 && !isOAS31) {\n return (\n
\n {alsoShow}\n
\n
\n

Unable to render this definition

\n

\n The provided definition does not specify a valid version field.\n

\n

\n Please indicate a valid Swagger or OpenAPI version field.\n Supported version fields are swagger: "2.0" and\n those that match openapi: 3.x.y (for example,{\" \"}\n openapi: 3.1.0).\n

\n
\n
\n
\n )\n }\n\n return
{children}
\n}\n\nVersionPragmaFilter.propTypes = {\n isSwagger2: PropTypes.bool.isRequired,\n isOAS3: PropTypes.bool.isRequired,\n isOAS31: PropTypes.bool.isRequired,\n bypass: PropTypes.bool,\n alsoShow: PropTypes.element,\n children: PropTypes.any,\n}\n\nexport default VersionPragmaFilter\n","/**\n * @prettier\n */\nimport React, { forwardRef, useCallback } from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nconst decodeRefName = (uri) => {\n const unescaped = uri.replace(/~1/g, \"/\").replace(/~0/g, \"~\")\n try {\n return decodeURIComponent(unescaped)\n } catch {\n return unescaped\n }\n}\nconst getModelName = (uri) => {\n if (typeof uri === \"string\" && uri.includes(\"#/components/schemas/\")) {\n return decodeRefName(uri.replace(/^.*#\\/components\\/schemas\\//, \"\"))\n }\n return null\n}\n\nconst Model = forwardRef(({ schema, getComponent, onToggle }, ref) => {\n const JSONSchema202012 = getComponent(\"JSONSchema202012\")\n const name = getModelName(schema.get(\"$$ref\"))\n\n const handleExpand = useCallback(\n (e, expanded) => {\n onToggle(name, expanded)\n },\n [name, onToggle]\n )\n\n return (\n \n )\n})\n\nModel.propTypes = {\n schema: ImPropTypes.map.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n specPath: ImPropTypes.list.isRequired,\n name: PropTypes.string,\n displayName: PropTypes.string,\n isRef: PropTypes.bool,\n required: PropTypes.bool,\n expandDepth: PropTypes.number,\n depth: PropTypes.number,\n includeReadOnly: PropTypes.bool,\n includeWriteOnly: PropTypes.bool,\n onToggle: PropTypes.func,\n}\n\nModel.defaultProps = {\n name: \"\",\n displayName: \"\",\n isRef: false,\n required: false,\n expandDepth: 0,\n depth: 1,\n includeReadOnly: false,\n includeWriteOnly: false,\n onToggle: () => {},\n}\n\nexport default Model\n","/**\n * @prettier\n */\nimport React, { useCallback, useEffect } from \"react\"\nimport PropTypes from \"prop-types\"\nimport classNames from \"classnames\"\n\nconst Models = ({\n specActions,\n specSelectors,\n layoutSelectors,\n layoutActions,\n getComponent,\n getConfigs,\n}) => {\n const schemas = specSelectors.selectSchemas()\n const hasSchemas = Object.keys(schemas).length > 0\n const schemasPath = [\"components\", \"schemas\"]\n const { docExpansion, defaultModelsExpandDepth } = getConfigs()\n const isOpenDefault = defaultModelsExpandDepth > 0 && docExpansion !== \"none\"\n const isOpen = layoutSelectors.isShown(schemasPath, isOpenDefault)\n const Collapse = getComponent(\"Collapse\")\n const JSONSchema202012 = getComponent(\"JSONSchema202012\")\n const ArrowUpIcon = getComponent(\"ArrowUpIcon\")\n const ArrowDownIcon = getComponent(\"ArrowDownIcon\")\n\n /**\n * Effects.\n */\n useEffect(() => {\n const isOpenAndExpanded = isOpen && defaultModelsExpandDepth > 1\n const isResolved = specSelectors.specResolvedSubtree(schemasPath) != null\n if (isOpenAndExpanded && !isResolved) {\n specActions.requestResolvedSubtree(schemasPath)\n }\n }, [isOpen, defaultModelsExpandDepth])\n\n /**\n * Event handlers.\n */\n\n const handleModelsExpand = useCallback(() => {\n layoutActions.show(schemasPath, !isOpen)\n }, [isOpen])\n const handleModelsRef = useCallback((node) => {\n if (node !== null) {\n layoutActions.readyToScroll(schemasPath, node)\n }\n }, [])\n const handleJSONSchema202012Ref = (schemaName) => (node) => {\n if (node !== null) {\n layoutActions.readyToScroll([...schemasPath, schemaName], node)\n }\n }\n const handleJSONSchema202012Expand = (schemaName) => (e, expanded) => {\n if (expanded) {\n const schemaPath = [...schemasPath, schemaName]\n const isResolved = specSelectors.specResolvedSubtree(schemaPath) != null\n if (!isResolved) {\n specActions.requestResolvedSubtree([...schemasPath, schemaName])\n }\n }\n }\n\n /**\n * Rendering.\n */\n\n if (!hasSchemas || defaultModelsExpandDepth < 0) {\n return null\n }\n\n return (\n \n

\n \n Schemas\n {isOpen ? : }\n \n

\n \n {Object.entries(schemas).map(([schemaName, schema]) => (\n \n ))}\n \n
\n )\n}\n\nModels.propTypes = {\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specSelectors: PropTypes.shape({\n selectSchemas: PropTypes.func.isRequired,\n specResolvedSubtree: PropTypes.func.isRequired,\n }).isRequired,\n specActions: PropTypes.shape({\n requestResolvedSubtree: PropTypes.func.isRequired,\n }).isRequired,\n layoutSelectors: PropTypes.shape({\n isShown: PropTypes.func.isRequired,\n }).isRequired,\n layoutActions: PropTypes.shape({\n show: PropTypes.func.isRequired,\n readyToScroll: PropTypes.func.isRequired,\n }).isRequired,\n}\n\nexport default Models\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\n\nconst MutualTLSAuth = ({ schema, getComponent }) => {\n const JumpToPath = getComponent(\"JumpToPath\", true)\n return (\n
\n

\n {schema.get(\"name\")} (mutualTLS){\" \"}\n \n

\n

\n Mutual TLS is required by this API/Operation. Certificates are managed\n via your Operating System and/or your browser.\n

\n

{schema.get(\"description\")}

\n
\n )\n}\n\nMutualTLSAuth.propTypes = {\n schema: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n}\n\nexport default MutualTLSAuth\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nclass Auths extends React.Component {\n static propTypes = {\n definitions: ImPropTypes.iterable.isRequired,\n getComponent: PropTypes.func.isRequired,\n authSelectors: PropTypes.object.isRequired,\n authActions: PropTypes.object.isRequired,\n errSelectors: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n }\n\n constructor(props, context) {\n super(props, context)\n\n this.state = {}\n }\n\n onAuthChange = (auth) => {\n let { name } = auth\n\n this.setState({ [name]: auth })\n }\n\n submitAuth = (e) => {\n e.preventDefault()\n\n let { authActions } = this.props\n authActions.authorizeWithPersistOption(this.state)\n }\n\n logoutClick = (e) => {\n e.preventDefault()\n\n let { authActions, definitions } = this.props\n let auths = definitions\n .map((val, key) => {\n return key\n })\n .toArray()\n\n this.setState(\n auths.reduce((prev, auth) => {\n prev[auth] = \"\"\n return prev\n }, {})\n )\n\n authActions.logoutWithPersistOption(auths)\n }\n\n close = (e) => {\n e.preventDefault()\n let { authActions } = this.props\n\n authActions.showDefinitions(false)\n }\n\n render() {\n let { definitions, getComponent, authSelectors, errSelectors } = this.props\n const AuthItem = getComponent(\"AuthItem\")\n const Oauth2 = getComponent(\"oauth2\", true)\n const Button = getComponent(\"Button\")\n\n const authorized = authSelectors.authorized()\n const authorizedAuth = definitions.filter((definition, key) => {\n return !!authorized.get(key)\n })\n const nonOauthDefinitions = definitions.filter(\n (schema) =>\n schema.get(\"type\") !== \"oauth2\" && schema.get(\"type\") !== \"mutualTLS\"\n )\n const oauthDefinitions = definitions.filter(\n (schema) => schema.get(\"type\") === \"oauth2\"\n )\n const mutualTLSDefinitions = definitions.filter(\n (schema) => schema.get(\"type\") === \"mutualTLS\"\n )\n return (\n
\n {nonOauthDefinitions.size > 0 && (\n
\n {nonOauthDefinitions\n .map((schema, name) => {\n return (\n \n )\n })\n .toArray()}\n
\n {nonOauthDefinitions.size === authorizedAuth.size ? (\n \n Logout\n \n ) : (\n \n )}\n \n Close\n \n
\n \n )}\n\n {oauthDefinitions.size > 0 ? (\n
\n
\n

\n Scopes are used to grant an application different levels of\n access to data on behalf of the end user. Each API may declare\n one or more scopes.\n

\n

\n API requires the following scopes. Select which ones you want to\n grant to Swagger UI.\n

\n
\n {definitions\n .filter((schema) => schema.get(\"type\") === \"oauth2\")\n .map((schema, name) => {\n return (\n
\n \n
\n )\n })\n .toArray()}\n
\n ) : null}\n {mutualTLSDefinitions.size > 0 && (\n
\n {mutualTLSDefinitions\n .map((schema, name) => {\n return (\n \n )\n })\n .toArray()}\n
\n )}\n
\n )\n }\n}\n\nexport default Auths\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nexport const isOAS31 = (jsSpec) => {\n const oasVersion = jsSpec.get(\"openapi\")\n\n return (\n typeof oasVersion === \"string\" && /^3\\.1\\.(?:[1-9]\\d*|0)$/.test(oasVersion)\n )\n}\n\n/**\n * Creates selector that returns value of the passed\n * selector when spec is OpenAPI 3.1.0., null otherwise.\n *\n * @param selector\n * @returns {function(*, ...[*]): function(*): (*|null)}\n */\nexport const createOnlyOAS31Selector =\n (selector) =>\n (state, ...args) =>\n (system) => {\n if (system.getSystem().specSelectors.isOAS31()) {\n const selectedValue = selector(state, ...args)\n return typeof selectedValue === \"function\"\n ? selectedValue(system)\n : selectedValue\n } else {\n return null\n }\n }\n\n/**\n * Creates selector wrapper that returns value of the passed\n * selector when spec is OpenAPI 3.1.0., calls original selector otherwise.\n *\n *\n * @param selector\n * @returns {function(*, *): function(*, ...[*]): (*)}\n */\nexport const createOnlyOAS31SelectorWrapper =\n (selector) =>\n (oriSelector, system) =>\n (state, ...args) => {\n if (system.getSystem().specSelectors.isOAS31()) {\n const selectedValue = selector(state, ...args)\n return typeof selectedValue === \"function\"\n ? selectedValue(oriSelector, system)\n : selectedValue\n } else {\n return oriSelector(...args)\n }\n }\n\n/**\n * Creates selector that provides system as the\n * second argument. This allows to create memoized\n * composed selectors from different plugins.\n *\n * @param selector\n * @returns {function(*, ...[*]): function(*): *}\n */\nexport const createSystemSelector =\n (selector) =>\n (state, ...args) =>\n (system) => {\n const selectedValue = selector(state, system, ...args)\n return typeof selectedValue === \"function\"\n ? selectedValue(system)\n : selectedValue\n }\n\n/* eslint-disable react/jsx-filename-extension */\n/**\n * Creates component wrapper that only wraps the component\n * when spec is OpenAPI 3.1.0. Otherwise, returns original\n * component with passed props.\n *\n * @param Component\n * @returns {function(*, *): function(*): *}\n */\nexport const createOnlyOAS31ComponentWrapper =\n (Component) => (Original, system) => (props) => {\n if (system.specSelectors.isOAS31()) {\n return (\n \n )\n }\n\n return \n }\n/* eslint-enable react/jsx-filename-extension */\n\n/**\n * Runs the fn replacement implementation when spec is OpenAPI 3.1.\n * Runs the fn original implementation otherwise.\n *\n * @param fn\n * @param system\n * @returns {{[p: string]: function(...[*]): *}}\n */\nexport const wrapOAS31Fn = (fn, system) => {\n const { fn: systemFn, specSelectors } = system\n\n return Object.fromEntries(\n Object.entries(fn).map(([name, newImpl]) => {\n const oriImpl = systemFn[name]\n const impl = (...args) =>\n specSelectors.isOAS31()\n ? newImpl(...args)\n : typeof oriImpl === \"function\"\n ? oriImpl(...args)\n : undefined\n\n return [name, impl]\n })\n )\n}\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { createOnlyOAS31ComponentWrapper } from \"../fn\"\n\nconst LicenseWrapper = createOnlyOAS31ComponentWrapper(({ getSystem }) => {\n const system = getSystem()\n const OAS31License = system.getComponent(\"OAS31License\", true)\n\n return \n})\n\nexport default LicenseWrapper\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { createOnlyOAS31ComponentWrapper } from \"../fn\"\n\nconst ContactWrapper = createOnlyOAS31ComponentWrapper(({ getSystem }) => {\n const system = getSystem()\n const OAS31Contact = system.getComponent(\"OAS31Contact\", true)\n\n return \n})\n\nexport default ContactWrapper\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { createOnlyOAS31ComponentWrapper } from \"../fn\"\n\nconst InfoWrapper = createOnlyOAS31ComponentWrapper(({ getSystem }) => {\n const system = getSystem()\n const OAS31Info = system.getComponent(\"OAS31Info\", true)\n\n return \n})\n\nexport default InfoWrapper\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { createOnlyOAS31ComponentWrapper } from \"../fn\"\n\nconst ModelWrapper = createOnlyOAS31ComponentWrapper(\n ({ getSystem, ...props }) => {\n const system = getSystem()\n const { getComponent, fn, getConfigs } = system\n const configs = getConfigs()\n\n const Model = getComponent(\"OAS31Model\")\n const JSONSchema = getComponent(\"JSONSchema202012\")\n const Keyword$schema = getComponent(\"JSONSchema202012Keyword$schema\")\n const Keyword$vocabulary = getComponent(\n \"JSONSchema202012Keyword$vocabulary\"\n )\n const Keyword$id = getComponent(\"JSONSchema202012Keyword$id\")\n const Keyword$anchor = getComponent(\"JSONSchema202012Keyword$anchor\")\n const Keyword$dynamicAnchor = getComponent(\n \"JSONSchema202012Keyword$dynamicAnchor\"\n )\n const Keyword$ref = getComponent(\"JSONSchema202012Keyword$ref\")\n const Keyword$dynamicRef = getComponent(\n \"JSONSchema202012Keyword$dynamicRef\"\n )\n const Keyword$defs = getComponent(\"JSONSchema202012Keyword$defs\")\n const Keyword$comment = getComponent(\"JSONSchema202012Keyword$comment\")\n const KeywordAllOf = getComponent(\"JSONSchema202012KeywordAllOf\")\n const KeywordAnyOf = getComponent(\"JSONSchema202012KeywordAnyOf\")\n const KeywordOneOf = getComponent(\"JSONSchema202012KeywordOneOf\")\n const KeywordNot = getComponent(\"JSONSchema202012KeywordNot\")\n const KeywordIf = getComponent(\"JSONSchema202012KeywordIf\")\n const KeywordThen = getComponent(\"JSONSchema202012KeywordThen\")\n const KeywordElse = getComponent(\"JSONSchema202012KeywordElse\")\n const KeywordDependentSchemas = getComponent(\n \"JSONSchema202012KeywordDependentSchemas\"\n )\n const KeywordPrefixItems = getComponent(\n \"JSONSchema202012KeywordPrefixItems\"\n )\n const KeywordItems = getComponent(\"JSONSchema202012KeywordItems\")\n const KeywordContains = getComponent(\"JSONSchema202012KeywordContains\")\n const KeywordProperties = getComponent(\"JSONSchema202012KeywordProperties\")\n const KeywordPatternProperties = getComponent(\n \"JSONSchema202012KeywordPatternProperties\"\n )\n const KeywordAdditionalProperties = getComponent(\n \"JSONSchema202012KeywordAdditionalProperties\"\n )\n const KeywordPropertyNames = getComponent(\n \"JSONSchema202012KeywordPropertyNames\"\n )\n const KeywordUnevaluatedItems = getComponent(\n \"JSONSchema202012KeywordUnevaluatedItems\"\n )\n const KeywordUnevaluatedProperties = getComponent(\n \"JSONSchema202012KeywordUnevaluatedProperties\"\n )\n const KeywordType = getComponent(\"JSONSchema202012KeywordType\")\n const KeywordEnum = getComponent(\"JSONSchema202012KeywordEnum\")\n const KeywordConst = getComponent(\"JSONSchema202012KeywordConst\")\n const KeywordConstraint = getComponent(\"JSONSchema202012KeywordConstraint\")\n const KeywordDependentRequired = getComponent(\n \"JSONSchema202012KeywordDependentRequired\"\n )\n const KeywordContentSchema = getComponent(\n \"JSONSchema202012KeywordContentSchema\"\n )\n const KeywordTitle = getComponent(\"JSONSchema202012KeywordTitle\")\n const KeywordDescription = getComponent(\n \"JSONSchema202012KeywordDescription\"\n )\n const KeywordDefault = getComponent(\"JSONSchema202012KeywordDefault\")\n const KeywordDeprecated = getComponent(\"JSONSchema202012KeywordDeprecated\")\n const KeywordReadOnly = getComponent(\"JSONSchema202012KeywordReadOnly\")\n const KeywordWriteOnly = getComponent(\"JSONSchema202012KeywordWriteOnly\")\n const Accordion = getComponent(\"JSONSchema202012Accordion\")\n const ExpandDeepButton = getComponent(\"JSONSchema202012ExpandDeepButton\")\n const ChevronRightIcon = getComponent(\"JSONSchema202012ChevronRightIcon\")\n const withSchemaContext = getComponent(\"withJSONSchema202012Context\")\n\n const ModelWithJSONSchemaContext = withSchemaContext(Model, {\n config: {\n default$schema: \"https://spec.openapis.org/oas/3.1/dialect/base\",\n defaultExpandedLevels: configs.defaultModelExpandDepth,\n includeReadOnly: Boolean(props.includeReadOnly),\n includeWriteOnly: Boolean(props.includeWriteOnly),\n },\n components: {\n JSONSchema,\n Keyword$schema,\n Keyword$vocabulary,\n Keyword$id,\n Keyword$anchor,\n Keyword$dynamicAnchor,\n Keyword$ref,\n Keyword$dynamicRef,\n Keyword$defs,\n Keyword$comment,\n KeywordAllOf,\n KeywordAnyOf,\n KeywordOneOf,\n KeywordNot,\n KeywordIf,\n KeywordThen,\n KeywordElse,\n KeywordDependentSchemas,\n KeywordPrefixItems,\n KeywordItems,\n KeywordContains,\n KeywordProperties,\n KeywordPatternProperties,\n KeywordAdditionalProperties,\n KeywordPropertyNames,\n KeywordUnevaluatedItems,\n KeywordUnevaluatedProperties,\n KeywordType,\n KeywordEnum,\n KeywordConst,\n KeywordConstraint,\n KeywordDependentRequired,\n KeywordContentSchema,\n KeywordTitle,\n KeywordDescription,\n KeywordDefault,\n KeywordDeprecated,\n KeywordReadOnly,\n KeywordWriteOnly,\n Accordion,\n ExpandDeepButton,\n ChevronRightIcon,\n },\n fn: {\n upperFirst: fn.upperFirst,\n isExpandable: fn.jsonSchema202012.isExpandable,\n getProperties: fn.jsonSchema202012.getProperties,\n },\n })\n\n return \n }\n)\n\nexport default ModelWrapper\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { createOnlyOAS31ComponentWrapper } from \"../fn\"\n\nconst ModelsWrapper = createOnlyOAS31ComponentWrapper(({ getSystem }) => {\n const { getComponent, fn, getConfigs } = getSystem()\n const configs = getConfigs()\n\n if (ModelsWrapper.ModelsWithJSONSchemaContext) {\n return \n }\n\n const Models = getComponent(\"OAS31Models\", true)\n const JSONSchema = getComponent(\"JSONSchema202012\")\n const Keyword$schema = getComponent(\"JSONSchema202012Keyword$schema\")\n const Keyword$vocabulary = getComponent(\"JSONSchema202012Keyword$vocabulary\")\n const Keyword$id = getComponent(\"JSONSchema202012Keyword$id\")\n const Keyword$anchor = getComponent(\"JSONSchema202012Keyword$anchor\")\n const Keyword$dynamicAnchor = getComponent(\n \"JSONSchema202012Keyword$dynamicAnchor\"\n )\n const Keyword$ref = getComponent(\"JSONSchema202012Keyword$ref\")\n const Keyword$dynamicRef = getComponent(\"JSONSchema202012Keyword$dynamicRef\")\n const Keyword$defs = getComponent(\"JSONSchema202012Keyword$defs\")\n const Keyword$comment = getComponent(\"JSONSchema202012Keyword$comment\")\n const KeywordAllOf = getComponent(\"JSONSchema202012KeywordAllOf\")\n const KeywordAnyOf = getComponent(\"JSONSchema202012KeywordAnyOf\")\n const KeywordOneOf = getComponent(\"JSONSchema202012KeywordOneOf\")\n const KeywordNot = getComponent(\"JSONSchema202012KeywordNot\")\n const KeywordIf = getComponent(\"JSONSchema202012KeywordIf\")\n const KeywordThen = getComponent(\"JSONSchema202012KeywordThen\")\n const KeywordElse = getComponent(\"JSONSchema202012KeywordElse\")\n const KeywordDependentSchemas = getComponent(\n \"JSONSchema202012KeywordDependentSchemas\"\n )\n const KeywordPrefixItems = getComponent(\"JSONSchema202012KeywordPrefixItems\")\n const KeywordItems = getComponent(\"JSONSchema202012KeywordItems\")\n const KeywordContains = getComponent(\"JSONSchema202012KeywordContains\")\n const KeywordProperties = getComponent(\"JSONSchema202012KeywordProperties\")\n const KeywordPatternProperties = getComponent(\n \"JSONSchema202012KeywordPatternProperties\"\n )\n const KeywordAdditionalProperties = getComponent(\n \"JSONSchema202012KeywordAdditionalProperties\"\n )\n const KeywordPropertyNames = getComponent(\n \"JSONSchema202012KeywordPropertyNames\"\n )\n const KeywordUnevaluatedItems = getComponent(\n \"JSONSchema202012KeywordUnevaluatedItems\"\n )\n const KeywordUnevaluatedProperties = getComponent(\n \"JSONSchema202012KeywordUnevaluatedProperties\"\n )\n const KeywordType = getComponent(\"JSONSchema202012KeywordType\")\n const KeywordEnum = getComponent(\"JSONSchema202012KeywordEnum\")\n const KeywordConst = getComponent(\"JSONSchema202012KeywordConst\")\n const KeywordConstraint = getComponent(\"JSONSchema202012KeywordConstraint\")\n const KeywordDependentRequired = getComponent(\n \"JSONSchema202012KeywordDependentRequired\"\n )\n const KeywordContentSchema = getComponent(\n \"JSONSchema202012KeywordContentSchema\"\n )\n const KeywordTitle = getComponent(\"JSONSchema202012KeywordTitle\")\n const KeywordDescription = getComponent(\"JSONSchema202012KeywordDescription\")\n const KeywordDefault = getComponent(\"JSONSchema202012KeywordDefault\")\n const KeywordDeprecated = getComponent(\"JSONSchema202012KeywordDeprecated\")\n const KeywordReadOnly = getComponent(\"JSONSchema202012KeywordReadOnly\")\n const KeywordWriteOnly = getComponent(\"JSONSchema202012KeywordWriteOnly\")\n const Accordion = getComponent(\"JSONSchema202012Accordion\")\n const ExpandDeepButton = getComponent(\"JSONSchema202012ExpandDeepButton\")\n const ChevronRightIcon = getComponent(\"JSONSchema202012ChevronRightIcon\")\n const withSchemaContext = getComponent(\"withJSONSchema202012Context\")\n\n // we cache the HOC as recreating it with every re-render is quite expensive\n ModelsWrapper.ModelsWithJSONSchemaContext = withSchemaContext(Models, {\n config: {\n default$schema: \"https://spec.openapis.org/oas/3.1/dialect/base\",\n defaultExpandedLevels: configs.defaultModelsExpandDepth - 1,\n includeReadOnly: true,\n includeWriteOnly: true,\n },\n components: {\n JSONSchema,\n Keyword$schema,\n Keyword$vocabulary,\n Keyword$id,\n Keyword$anchor,\n Keyword$dynamicAnchor,\n Keyword$ref,\n Keyword$dynamicRef,\n Keyword$defs,\n Keyword$comment,\n KeywordAllOf,\n KeywordAnyOf,\n KeywordOneOf,\n KeywordNot,\n KeywordIf,\n KeywordThen,\n KeywordElse,\n KeywordDependentSchemas,\n KeywordPrefixItems,\n KeywordItems,\n KeywordContains,\n KeywordProperties,\n KeywordPatternProperties,\n KeywordAdditionalProperties,\n KeywordPropertyNames,\n KeywordUnevaluatedItems,\n KeywordUnevaluatedProperties,\n KeywordType,\n KeywordEnum,\n KeywordConst,\n KeywordConstraint,\n KeywordDependentRequired,\n KeywordContentSchema,\n KeywordTitle,\n KeywordDescription,\n KeywordDefault,\n KeywordDeprecated,\n KeywordReadOnly,\n KeywordWriteOnly,\n Accordion,\n ExpandDeepButton,\n ChevronRightIcon,\n },\n fn: {\n upperFirst: fn.upperFirst,\n isExpandable: fn.jsonSchema202012.isExpandable,\n getProperties: fn.jsonSchema202012.getProperties,\n },\n })\n\n return \n})\n\nModelsWrapper.ModelsWithJSONSchemaContext = null\n\nexport default ModelsWrapper\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nconst VersionPragmaFilterWrapper = (Original, system) => (props) => {\n const isOAS31 = system.specSelectors.isOAS31()\n\n const OAS31VersionPragmaFilter = system.getComponent(\n \"OAS31VersionPragmaFilter\"\n )\n\n return \n}\n\nexport default VersionPragmaFilterWrapper\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { createOnlyOAS31ComponentWrapper } from \"../../fn\"\n\nconst AuthItem = createOnlyOAS31ComponentWrapper(\n ({ originalComponent: Ori, ...props }) => {\n const { getComponent, schema } = props\n const MutualTLSAuth = getComponent(\"MutualTLSAuth\", true)\n const type = schema.get(\"type\")\n\n if (type === \"mutualTLS\") {\n return \n }\n\n return \n }\n)\n\nexport default AuthItem\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { createOnlyOAS31ComponentWrapper } from \"../fn\"\n\nconst AuthsWrapper = createOnlyOAS31ComponentWrapper(\n ({ getSystem, ...props }) => {\n const system = getSystem()\n const OAS31Auths = system.getComponent(\"OAS31Auths\", true)\n\n return \n }\n)\n\nexport default AuthsWrapper\n","/**\n * @prettier\n */\nimport { List, Map } from \"immutable\"\nimport { createSelector } from \"reselect\"\n\nimport { safeBuildUrl } from \"core/utils/url\"\nimport { isOAS31 as isOAS31Fn } from \"../fn\"\n\nconst map = Map()\n\nexport const isOAS31 = createSelector(\n (state, system) => system.specSelectors.specJson(),\n isOAS31Fn\n)\n\nexport const webhooks = () => (system) => {\n return system.specSelectors.specJson().get(\"webhooks\", map)\n}\n\n/**\n * `specResolvedSubtree` selector is needed as input selector,\n * so that we regenerate the selected result whenever the lazy\n * resolution happens.\n */\nexport const selectWebhooksOperations = createSelector(\n (state, system) => system.specSelectors.webhooks(),\n (state, system) => system.specSelectors.validOperationMethods(),\n (state, system) => system.specSelectors.specResolvedSubtree([\"webhooks\"]),\n (webhooks, validOperationMethods) => {\n if (!Map.isMap(webhooks)) return {}\n\n return webhooks\n .reduce((allOperations, pathItem, pathItemName) => {\n if (!Map.isMap(pathItem)) return allOperations\n\n const pathItemOperations = pathItem\n .entrySeq()\n .filter(([key]) => validOperationMethods.includes(key))\n .map(([method, operation]) => ({\n operation: Map({ operation }),\n method,\n path: pathItemName,\n specPath: List([\"webhooks\", pathItemName, method]),\n }))\n\n return allOperations.concat(pathItemOperations)\n }, List())\n .groupBy((operationDTO) => operationDTO.path)\n .map((operations) => operations.toArray())\n .toObject()\n }\n)\n\nexport const license = () => (system) => {\n return system.specSelectors.info().get(\"license\", map)\n}\n\nexport const selectLicenseNameField = () => (system) => {\n return system.specSelectors.license().get(\"name\", \"License\")\n}\n\nexport const selectLicenseUrlField = () => (system) => {\n return system.specSelectors.license().get(\"url\")\n}\n\nexport const selectLicenseUrl = createSelector(\n (state, system) => system.specSelectors.url(),\n (state, system) => system.oas3Selectors.selectedServer(),\n (state, system) => system.specSelectors.selectLicenseUrlField(),\n (specUrl, selectedServer, url) => {\n if (url) {\n return safeBuildUrl(url, specUrl, { selectedServer })\n }\n\n return undefined\n }\n)\n\nexport const selectLicenseIdentifierField = () => (system) => {\n return system.specSelectors.license().get(\"identifier\")\n}\n\nexport const contact = () => (system) => {\n return system.specSelectors.info().get(\"contact\", map)\n}\n\nexport const selectContactNameField = () => (system) => {\n return system.specSelectors.contact().get(\"name\", \"the developer\")\n}\n\nexport const selectContactEmailField = () => (system) => {\n return system.specSelectors.contact().get(\"email\")\n}\n\nexport const selectContactUrlField = () => (system) => {\n return system.specSelectors.contact().get(\"url\")\n}\n\nexport const selectContactUrl = createSelector(\n (state, system) => system.specSelectors.url(),\n (state, system) => system.oas3Selectors.selectedServer(),\n (state, system) => system.specSelectors.selectContactUrlField(),\n (specUrl, selectedServer, url) => {\n if (url) {\n return safeBuildUrl(url, specUrl, { selectedServer })\n }\n\n return undefined\n }\n)\n\nexport const selectInfoTitleField = () => (system) => {\n return system.specSelectors.info().get(\"title\")\n}\n\nexport const selectInfoSummaryField = () => (system) => {\n return system.specSelectors.info().get(\"summary\")\n}\n\nexport const selectInfoDescriptionField = () => (system) => {\n return system.specSelectors.info().get(\"description\")\n}\n\nexport const selectInfoTermsOfServiceField = () => (system) => {\n return system.specSelectors.info().get(\"termsOfService\")\n}\n\nexport const selectInfoTermsOfServiceUrl = createSelector(\n (state, system) => system.specSelectors.url(),\n (state, system) => system.oas3Selectors.selectedServer(),\n (state, system) => system.specSelectors.selectInfoTermsOfServiceField(),\n (specUrl, selectedServer, termsOfService) => {\n if (termsOfService) {\n return safeBuildUrl(termsOfService, specUrl, { selectedServer })\n }\n\n return undefined\n }\n)\n\nexport const selectExternalDocsDescriptionField = () => (system) => {\n return system.specSelectors.externalDocs().get(\"description\")\n}\n\nexport const selectExternalDocsUrlField = () => (system) => {\n return system.specSelectors.externalDocs().get(\"url\")\n}\n\nexport const selectExternalDocsUrl = createSelector(\n (state, system) => system.specSelectors.url(),\n (state, system) => system.oas3Selectors.selectedServer(),\n (state, system) => system.specSelectors.selectExternalDocsUrlField(),\n (specUrl, selectedServer, url) => {\n if (url) {\n return safeBuildUrl(url, specUrl, { selectedServer })\n }\n\n return undefined\n }\n)\n\nexport const selectJsonSchemaDialectField = () => (system) => {\n return system.specSelectors.specJson().get(\"jsonSchemaDialect\")\n}\n\nexport const selectJsonSchemaDialectDefault = () =>\n \"https://spec.openapis.org/oas/3.1/dialect/base\"\n\nexport const selectSchemas = createSelector(\n (state, system) => system.specSelectors.definitions(),\n (state, system) =>\n system.specSelectors.specResolvedSubtree([\"components\", \"schemas\"]),\n\n (rawSchemas, resolvedSchemas) => {\n if (!Map.isMap(rawSchemas)) return {}\n if (!Map.isMap(resolvedSchemas)) return rawSchemas.toJS()\n\n return Object.entries(rawSchemas.toJS()).reduce(\n (acc, [schemaName, rawSchema]) => {\n const resolvedSchema = resolvedSchemas.get(schemaName)\n acc[schemaName] = resolvedSchema?.toJS() || rawSchema\n return acc\n },\n {}\n )\n }\n)\n","/**\n * @prettier\n */\n\nimport { createOnlyOAS31SelectorWrapper } from \"../fn\"\n\nexport const isOAS3 =\n (oriSelector, system) =>\n (state, ...args) => {\n const isOAS31 = system.specSelectors.isOAS31()\n return isOAS31 || oriSelector(...args)\n }\n\nexport const selectLicenseUrl = createOnlyOAS31SelectorWrapper(\n () => (oriSelector, system) => {\n return system.oas31Selectors.selectLicenseUrl()\n }\n)\n","/**\n * @prettier\n */\nimport { Map } from \"immutable\"\nimport { createOnlyOAS31SelectorWrapper } from \"../fn\"\n\nexport const definitionsToAuthorize = createOnlyOAS31SelectorWrapper(\n () => (oriSelector, system) => {\n const definitions = system.specSelectors.securityDefinitions()\n let list = oriSelector()\n\n if (!definitions) return list\n\n definitions.entrySeq().forEach(([defName, definition]) => {\n const type = definition.get(\"type\")\n\n if (type === \"mutualTLS\") {\n list = list.push(\n new Map({\n [defName]: definition,\n })\n )\n }\n })\n\n return list\n }\n)\n","/**\n * @prettier\n */\nimport { createSelector } from \"reselect\"\n\nimport { safeBuildUrl } from \"core/utils/url\"\n\nexport const selectLicenseUrl = createSelector(\n (state, system) => system.specSelectors.url(),\n (state, system) => system.oas3Selectors.selectedServer(),\n (state, system) => system.specSelectors.selectLicenseUrlField(),\n (state, system) => system.specSelectors.selectLicenseIdentifierField(),\n (specUrl, selectedServer, url, identifier) => {\n if (url) {\n return safeBuildUrl(url, specUrl, { selectedServer })\n }\n\n if (identifier) {\n return `https://spdx.org/licenses/${identifier}.html`\n }\n\n return undefined\n }\n)\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\n\nconst Example = ({ schema, getSystem }) => {\n const { fn } = getSystem()\n const { hasKeyword, stringify } = fn.jsonSchema202012.useFn()\n\n if (!hasKeyword(schema, \"example\")) return null\n\n return (\n
\n \n Example\n \n \n {stringify(schema.example)}\n \n
\n )\n}\n\nExample.propTypes = {\n schema: PropTypes.oneOfType([PropTypes.object, PropTypes.bool]).isRequired,\n getSystem: PropTypes.func.isRequired,\n}\n\nexport default Example\n","/**\n * @prettier\n */\nimport React, { useCallback, useState } from \"react\"\nimport PropTypes from \"prop-types\"\nimport classNames from \"classnames\"\n\nconst Xml = ({ schema, getSystem }) => {\n const xml = schema?.xml || {}\n const { fn, getComponent } = getSystem()\n const { useIsExpandedDeeply, useComponent } = fn.jsonSchema202012\n const isExpandedDeeply = useIsExpandedDeeply()\n const isExpandable = !!(xml.name || xml.namespace || xml.prefix)\n const [expanded, setExpanded] = useState(isExpandedDeeply)\n const [expandedDeeply, setExpandedDeeply] = useState(false)\n const Accordion = useComponent(\"Accordion\")\n const ExpandDeepButton = useComponent(\"ExpandDeepButton\")\n const JSONSchemaDeepExpansionContext = getComponent(\n \"JSONSchema202012DeepExpansionContext\"\n )()\n\n /**\n * Event handlers.\n */\n const handleExpansion = useCallback(() => {\n setExpanded((prev) => !prev)\n }, [])\n const handleExpansionDeep = useCallback((e, expandedDeepNew) => {\n setExpanded(expandedDeepNew)\n setExpandedDeeply(expandedDeepNew)\n }, [])\n\n /**\n * Rendering.\n */\n if (Object.keys(xml).length === 0) {\n return null\n }\n\n return (\n \n
\n {isExpandable ? (\n <>\n \n \n XML\n \n \n \n \n ) : (\n \n XML\n \n )}\n {xml.attribute === true && (\n \n attribute\n \n )}\n {xml.wrapped === true && (\n \n wrapped\n \n )}\n \n object\n \n \n {expanded && (\n <>\n {xml.name && (\n
  • \n
    \n \n name\n \n \n {xml.name}\n \n
    \n
  • \n )}\n\n {xml.namespace && (\n
  • \n
    \n \n namespace\n \n \n {xml.namespace}\n \n
    \n
  • \n )}\n\n {xml.prefix && (\n
  • \n
    \n \n prefix\n \n \n {xml.prefix}\n \n
    \n
  • \n )}\n \n )}\n \n
    \n
    \n )\n}\n\nXml.propTypes = {\n schema: PropTypes.oneOfType([PropTypes.object, PropTypes.bool]).isRequired,\n getSystem: PropTypes.func.isRequired,\n}\n\nexport default Xml\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\n\nconst DiscriminatorMapping = ({ discriminator }) => {\n const mapping = discriminator?.mapping || {}\n\n if (Object.keys(mapping).length === 0) {\n return null\n }\n\n return Object.entries(mapping).map(([key, value]) => (\n
    \n \n {key}\n \n \n {value}\n \n
    \n ))\n}\n\nDiscriminatorMapping.propTypes = {\n discriminator: PropTypes.shape({\n mapping: PropTypes.any,\n }),\n}\n\nDiscriminatorMapping.defaultProps = {\n mapping: undefined,\n}\n\nexport default DiscriminatorMapping\n","/**\n * @prettier\n */\nimport React, { useCallback, useState } from \"react\"\nimport PropTypes from \"prop-types\"\nimport classNames from \"classnames\"\n\nimport DiscriminatorMapping from \"./DiscriminatorMapping\"\n\nconst Discriminator = ({ schema, getSystem }) => {\n const discriminator = schema?.discriminator || {}\n const { fn, getComponent } = getSystem()\n const { useIsExpandedDeeply, useComponent } = fn.jsonSchema202012\n const isExpandedDeeply = useIsExpandedDeeply()\n const isExpandable = !!discriminator.mapping\n const [expanded, setExpanded] = useState(isExpandedDeeply)\n const [expandedDeeply, setExpandedDeeply] = useState(false)\n const Accordion = useComponent(\"Accordion\")\n const ExpandDeepButton = useComponent(\"ExpandDeepButton\")\n const JSONSchemaDeepExpansionContext = getComponent(\n \"JSONSchema202012DeepExpansionContext\"\n )()\n\n /**\n * Event handlers.\n */\n const handleExpansion = useCallback(() => {\n setExpanded((prev) => !prev)\n }, [])\n const handleExpansionDeep = useCallback((e, expandedDeepNew) => {\n setExpanded(expandedDeepNew)\n setExpandedDeeply(expandedDeepNew)\n }, [])\n\n /**\n * Rendering.\n */\n if (Object.keys(discriminator).length === 0) {\n return null\n }\n\n return (\n \n
    \n {isExpandable ? (\n <>\n \n \n Discriminator\n \n \n \n \n ) : (\n \n Discriminator\n \n )}\n\n {discriminator.propertyName && (\n \n {discriminator.propertyName}\n \n )}\n \n object\n \n \n {expanded && (\n
  • \n \n
  • \n )}\n \n
    \n
    \n )\n}\n\nDiscriminator.propTypes = {\n schema: PropTypes.oneOfType([PropTypes.object, PropTypes.bool]).isRequired,\n getSystem: PropTypes.func.isRequired,\n}\n\nexport default Discriminator\n","/**\n * @prettier\n */\nimport React, { useCallback, useState } from \"react\"\nimport PropTypes from \"prop-types\"\nimport classNames from \"classnames\"\n\nimport { sanitizeUrl } from \"core/utils\"\n\nconst ExternalDocs = ({ schema, getSystem }) => {\n const externalDocs = schema?.externalDocs || {}\n const { fn, getComponent } = getSystem()\n const { useIsExpandedDeeply, useComponent } = fn.jsonSchema202012\n const isExpandedDeeply = useIsExpandedDeeply()\n const isExpandable = !!(externalDocs.description || externalDocs.url)\n const [expanded, setExpanded] = useState(isExpandedDeeply)\n const [expandedDeeply, setExpandedDeeply] = useState(false)\n const Accordion = useComponent(\"Accordion\")\n const ExpandDeepButton = useComponent(\"ExpandDeepButton\")\n const KeywordDescription = getComponent(\"JSONSchema202012KeywordDescription\")\n const Link = getComponent(\"Link\")\n const JSONSchemaDeepExpansionContext = getComponent(\n \"JSONSchema202012DeepExpansionContext\"\n )()\n\n /**\n * Event handlers.\n */\n const handleExpansion = useCallback(() => {\n setExpanded((prev) => !prev)\n }, [])\n const handleExpansionDeep = useCallback((e, expandedDeepNew) => {\n setExpanded(expandedDeepNew)\n setExpandedDeeply(expandedDeepNew)\n }, [])\n\n /**\n * Rendering.\n */\n if (Object.keys(externalDocs).length === 0) {\n return null\n }\n\n return (\n \n
    \n {isExpandable ? (\n <>\n \n \n External documentation\n \n \n \n \n ) : (\n \n External documentation\n \n )}\n \n object\n \n \n {expanded && (\n <>\n {externalDocs.description && (\n
  • \n \n
  • \n )}\n\n {externalDocs.url && (\n
  • \n
    \n \n url\n \n \n \n {externalDocs.url}\n \n \n
    \n
  • \n )}\n \n )}\n \n
    \n
    \n )\n}\n\nExternalDocs.propTypes = {\n schema: PropTypes.oneOfType([PropTypes.object, PropTypes.bool]).isRequired,\n getSystem: PropTypes.func.isRequired,\n}\n\nexport default ExternalDocs\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\n\nconst Description = ({ schema, getSystem }) => {\n if (!schema?.description) return null\n\n const { getComponent } = getSystem()\n const MarkDown = getComponent(\"Markdown\")\n\n return (\n
    \n
    \n \n
    \n
    \n )\n}\n\nDescription.propTypes = {\n schema: PropTypes.oneOfType([PropTypes.object, PropTypes.bool]).isRequired,\n getSystem: PropTypes.func.isRequired,\n}\n\nexport default Description\n","/**\n * @prettier\n */\nimport DescriptionKeyword from \"../../components/keywords/Description\"\nimport { createOnlyOAS31ComponentWrapper } from \"../../../fn\"\n\nconst DescriptionWrapper = createOnlyOAS31ComponentWrapper(DescriptionKeyword)\n\nexport default DescriptionWrapper\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport { createOnlyOAS31ComponentWrapper } from \"../../../fn\"\n\nconst DefaultWrapper = createOnlyOAS31ComponentWrapper(\n ({ schema, getSystem, originalComponent: KeywordDefault }) => {\n const { getComponent } = getSystem()\n const KeywordDiscriminator = getComponent(\n \"JSONSchema202012KeywordDiscriminator\"\n )\n const KeywordXml = getComponent(\"JSONSchema202012KeywordXml\")\n const KeywordExample = getComponent(\"JSONSchema202012KeywordExample\")\n const KeywordExternalDocs = getComponent(\n \"JSONSchema202012KeywordExternalDocs\"\n )\n\n return (\n <>\n \n \n \n \n \n \n )\n }\n)\n\nexport default DefaultWrapper\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\nimport classNames from \"classnames\"\n\nconst Properties = ({ schema, getSystem }) => {\n const { fn } = getSystem()\n const { useComponent } = fn.jsonSchema202012\n const { getDependentRequired, getProperties } = fn.jsonSchema202012.useFn()\n const config = fn.jsonSchema202012.useConfig()\n const required = Array.isArray(schema?.required) ? schema.required : []\n const JSONSchema = useComponent(\"JSONSchema\")\n const properties = getProperties(schema, config)\n\n /**\n * Rendering.\n */\n if (Object.keys(properties).length === 0) {\n return null\n }\n\n return (\n
    \n
      \n {Object.entries(properties).map(([propertyName, propertySchema]) => {\n const isRequired = required.includes(propertyName)\n const dependentRequired = getDependentRequired(propertyName, schema)\n\n return (\n \n \n \n )\n })}\n
    \n
    \n )\n}\n\nProperties.propTypes = {\n schema: PropTypes.oneOfType([PropTypes.object, PropTypes.bool]).isRequired,\n getSystem: PropTypes.func.isRequired,\n}\n\nexport default Properties\n","/**\n * @prettier\n */\nimport PropertiesKeyword from \"../../components/keywords/Properties\"\nimport { createOnlyOAS31ComponentWrapper } from \"../../../fn\"\n\nconst PropertiesWrapper = createOnlyOAS31ComponentWrapper(PropertiesKeyword)\n\nexport default PropertiesWrapper\n","/**\n * @prettier\n */\nexport const makeIsExpandable = (original, getSystem) => {\n const { fn } = getSystem()\n\n if (typeof original !== \"function\") {\n return null\n }\n\n const { hasKeyword } = fn.jsonSchema202012\n\n return (schema) =>\n original(schema) ||\n hasKeyword(schema, \"example\") ||\n schema?.xml ||\n schema?.discriminator ||\n schema?.externalDocs\n}\n\nexport const getProperties = (\n schema,\n { includeReadOnly, includeWriteOnly }\n) => {\n // shortcut\n if (!schema?.properties) return {}\n\n const properties = Object.entries(schema.properties)\n const filteredProperties = properties.filter(([, value]) => {\n const isReadOnly = value?.readOnly === true\n const isWriteOnly = value?.writeOnly === true\n\n return (\n (!isReadOnly || includeReadOnly) && (!isWriteOnly || includeWriteOnly)\n )\n })\n\n return Object.fromEntries(filteredProperties)\n}\n","/**\n * @prettier\n */\nimport {\n makeIsExpandable,\n getProperties,\n} from \"./json-schema-2020-12-extensions/fn\"\nimport { wrapOAS31Fn } from \"./fn\"\n\nfunction afterLoad({ fn, getSystem }) {\n // overrides for fn.jsonSchema202012\n if (fn.jsonSchema202012) {\n const isExpandable = makeIsExpandable(\n fn.jsonSchema202012.isExpandable,\n getSystem\n )\n\n Object.assign(this.fn.jsonSchema202012, { isExpandable, getProperties })\n }\n\n // wraps schema generators from samples plugin and make them specific to OpenAPI 3.1 version\n if (typeof fn.sampleFromSchema === \"function\" && fn.jsonSchema202012) {\n const wrappedFns = wrapOAS31Fn(\n {\n sampleFromSchema: fn.jsonSchema202012.sampleFromSchema,\n sampleFromSchemaGeneric: fn.jsonSchema202012.sampleFromSchemaGeneric,\n createXMLExample: fn.jsonSchema202012.createXMLExample,\n memoizedSampleFromSchema: fn.jsonSchema202012.memoizedSampleFromSchema,\n memoizedCreateXMLExample: fn.jsonSchema202012.memoizedCreateXMLExample,\n },\n getSystem()\n )\n\n Object.assign(this.fn, wrappedFns)\n }\n}\n\nexport default afterLoad\n","/**\n * @prettier\n */\nimport Webhooks from \"./components/webhooks\"\nimport License from \"./components/license\"\nimport Contact from \"./components/contact\"\nimport Info from \"./components/info\"\nimport JsonSchemaDialect from \"./components/json-schema-dialect\"\nimport VersionPragmaFilter from \"./components/version-pragma-filter\"\nimport Model from \"./components/model/model\"\nimport Models from \"./components/models/models\"\nimport MutualTLSAuth from \"./components/auth/mutual-tls-auth\"\nimport Auths from \"./components/auth/auths\"\nimport LicenseWrapper from \"./wrap-components/license\"\nimport ContactWrapper from \"./wrap-components/contact\"\nimport InfoWrapper from \"./wrap-components/info\"\nimport ModelWrapper from \"./wrap-components/model\"\nimport ModelsWrapper from \"./wrap-components/models\"\nimport VersionPragmaFilterWrapper from \"./wrap-components/version-pragma-filter\"\nimport AuthItemWrapper from \"./wrap-components/auth/auth-item\"\nimport AuthsWrapper from \"./wrap-components/auths\"\nimport {\n isOAS31 as isOAS31Fn,\n createOnlyOAS31Selector as createOnlyOAS31SelectorFn,\n createSystemSelector as createSystemSelectorFn,\n} from \"./fn\"\nimport {\n license as selectLicense,\n contact as selectContact,\n webhooks as selectWebhooks,\n selectLicenseNameField,\n selectLicenseUrlField,\n selectLicenseIdentifierField,\n selectContactNameField,\n selectContactEmailField,\n selectContactUrlField,\n selectContactUrl,\n isOAS31 as selectIsOAS31,\n selectLicenseUrl,\n selectInfoTitleField,\n selectInfoSummaryField,\n selectInfoDescriptionField,\n selectInfoTermsOfServiceField,\n selectInfoTermsOfServiceUrl,\n selectExternalDocsDescriptionField,\n selectExternalDocsUrlField,\n selectExternalDocsUrl,\n selectWebhooksOperations,\n selectJsonSchemaDialectField,\n selectJsonSchemaDialectDefault,\n selectSchemas,\n} from \"./spec-extensions/selectors\"\nimport {\n isOAS3 as isOAS3SelectorWrapper,\n selectLicenseUrl as selectLicenseUrlWrapper,\n} from \"./spec-extensions/wrap-selectors\"\nimport { definitionsToAuthorize as definitionsToAuthorizeWrapper } from \"./auth-extensions/wrap-selectors\"\nimport { selectLicenseUrl as selectOAS31LicenseUrl } from \"./selectors\"\nimport JSONSchema202012KeywordExample from \"./json-schema-2020-12-extensions/components/keywords/Example\"\nimport JSONSchema202012KeywordXml from \"./json-schema-2020-12-extensions/components/keywords/Xml\"\nimport JSONSchema202012KeywordDiscriminator from \"./json-schema-2020-12-extensions/components/keywords/Discriminator/Discriminator\"\nimport JSONSchema202012KeywordExternalDocs from \"./json-schema-2020-12-extensions/components/keywords/ExternalDocs\"\nimport JSONSchema202012KeywordDescriptionWrapper from \"./json-schema-2020-12-extensions/wrap-components/keywords/Description\"\nimport JSONSchema202012KeywordDefaultWrapper from \"./json-schema-2020-12-extensions/wrap-components/keywords/Default\"\nimport JSONSchema202012KeywordPropertiesWrapper from \"./json-schema-2020-12-extensions/wrap-components/keywords/Properties\"\nimport afterLoad from \"./after-load\"\n\nconst OAS31Plugin = ({ fn }) => {\n const createSystemSelector = fn.createSystemSelector || createSystemSelectorFn\n const createOnlyOAS31Selector = fn.createOnlyOAS31Selector || createOnlyOAS31SelectorFn // prettier-ignore\n\n return {\n afterLoad,\n fn: {\n isOAS31: isOAS31Fn,\n createSystemSelector: createSystemSelectorFn,\n createOnlyOAS31Selector: createOnlyOAS31SelectorFn,\n },\n components: {\n Webhooks,\n JsonSchemaDialect,\n MutualTLSAuth,\n OAS31Info: Info,\n OAS31License: License,\n OAS31Contact: Contact,\n OAS31VersionPragmaFilter: VersionPragmaFilter,\n OAS31Model: Model,\n OAS31Models: Models,\n OAS31Auths: Auths,\n JSONSchema202012KeywordExample,\n JSONSchema202012KeywordXml,\n JSONSchema202012KeywordDiscriminator,\n JSONSchema202012KeywordExternalDocs,\n },\n wrapComponents: {\n InfoContainer: InfoWrapper,\n License: LicenseWrapper,\n Contact: ContactWrapper,\n VersionPragmaFilter: VersionPragmaFilterWrapper,\n Model: ModelWrapper,\n Models: ModelsWrapper,\n AuthItem: AuthItemWrapper,\n auths: AuthsWrapper,\n JSONSchema202012KeywordDescription:\n JSONSchema202012KeywordDescriptionWrapper,\n JSONSchema202012KeywordDefault: JSONSchema202012KeywordDefaultWrapper,\n JSONSchema202012KeywordProperties:\n JSONSchema202012KeywordPropertiesWrapper,\n },\n statePlugins: {\n auth: {\n wrapSelectors: {\n definitionsToAuthorize: definitionsToAuthorizeWrapper,\n },\n },\n spec: {\n selectors: {\n isOAS31: createSystemSelector(selectIsOAS31),\n\n license: selectLicense,\n selectLicenseNameField,\n selectLicenseUrlField,\n selectLicenseIdentifierField: createOnlyOAS31Selector(selectLicenseIdentifierField), // prettier-ignore\n selectLicenseUrl: createSystemSelector(selectLicenseUrl),\n\n contact: selectContact,\n selectContactNameField,\n selectContactEmailField,\n selectContactUrlField,\n selectContactUrl: createSystemSelector(selectContactUrl),\n\n selectInfoTitleField,\n selectInfoSummaryField: createOnlyOAS31Selector(selectInfoSummaryField), // prettier-ignore\n selectInfoDescriptionField,\n selectInfoTermsOfServiceField,\n selectInfoTermsOfServiceUrl: createSystemSelector(selectInfoTermsOfServiceUrl), // prettier-ignore\n\n selectExternalDocsDescriptionField,\n selectExternalDocsUrlField,\n selectExternalDocsUrl: createSystemSelector(selectExternalDocsUrl),\n\n webhooks: createOnlyOAS31Selector(selectWebhooks),\n selectWebhooksOperations: createOnlyOAS31Selector(createSystemSelector(selectWebhooksOperations)), // prettier-ignore\n\n selectJsonSchemaDialectField,\n selectJsonSchemaDialectDefault,\n\n selectSchemas: createSystemSelector(selectSchemas),\n },\n wrapSelectors: {\n isOAS3: isOAS3SelectorWrapper,\n selectLicenseUrl: selectLicenseUrlWrapper,\n },\n },\n oas31: {\n selectors: {\n selectLicenseUrl: createOnlyOAS31Selector(createSystemSelector(selectOAS31LicenseUrl)), // prettier-ignore\n },\n },\n },\n }\n}\n\nexport default OAS31Plugin\n","/**\n * @prettier\n */\nimport PropTypes from \"prop-types\"\n\nexport const objectSchema = PropTypes.object\n\nexport const booleanSchema = PropTypes.bool\n\nexport const schema = PropTypes.oneOfType([objectSchema, booleanSchema])\n","/**\n * @prettier\n */\nimport { createContext } from \"react\"\n\nexport const JSONSchemaContext = createContext(null)\nJSONSchemaContext.displayName = \"JSONSchemaContext\"\n\nexport const JSONSchemaLevelContext = createContext(0)\nJSONSchemaLevelContext.displayName = \"JSONSchemaLevelContext\"\n\nexport const JSONSchemaDeepExpansionContext = createContext(false)\nJSONSchemaDeepExpansionContext.displayName = \"JSONSchemaDeepExpansionContext\"\n\nexport const JSONSchemaCyclesContext = createContext(new Set())\n","/**\n * @prettier\n */\nimport { useContext } from \"react\"\n\nimport {\n JSONSchemaContext,\n JSONSchemaLevelContext,\n JSONSchemaDeepExpansionContext,\n JSONSchemaCyclesContext,\n} from \"./context\"\n\nexport const useConfig = () => {\n const { config } = useContext(JSONSchemaContext)\n return config\n}\n\nexport const useComponent = (componentName) => {\n const { components } = useContext(JSONSchemaContext)\n return components[componentName] || null\n}\n\nexport const useFn = (fnName = undefined) => {\n const { fn } = useContext(JSONSchemaContext)\n\n return typeof fnName !== \"undefined\" ? fn[fnName] : fn\n}\n\nexport const useLevel = () => {\n const level = useContext(JSONSchemaLevelContext)\n\n return [level, level + 1]\n}\n\nexport const useIsEmbedded = () => {\n const [level] = useLevel()\n\n return level > 0\n}\n\nexport const useIsExpanded = () => {\n const [level] = useLevel()\n const { defaultExpandedLevels } = useConfig()\n\n return defaultExpandedLevels - level > 0\n}\n\nexport const useIsExpandedDeeply = () => {\n return useContext(JSONSchemaDeepExpansionContext)\n}\n\nexport const useRenderedSchemas = (schema = undefined) => {\n if (typeof schema === \"undefined\") {\n return useContext(JSONSchemaCyclesContext)\n }\n\n const renderedSchemas = useContext(JSONSchemaCyclesContext)\n return new Set([...renderedSchemas, schema])\n}\nexport const useIsCircular = (schema) => {\n const renderedSchemas = useRenderedSchemas()\n return renderedSchemas.has(schema)\n}\n","/**\n * @prettier\n */\nimport React, { forwardRef, useState, useCallback, useEffect } from \"react\"\nimport PropTypes from \"prop-types\"\nimport classNames from \"classnames\"\n\nimport * as propTypes from \"../../prop-types\"\nimport {\n useComponent,\n useLevel,\n useFn,\n useIsEmbedded,\n useIsExpanded,\n useIsExpandedDeeply,\n useIsCircular,\n useRenderedSchemas,\n} from \"../../hooks\"\nimport {\n JSONSchemaLevelContext,\n JSONSchemaDeepExpansionContext,\n JSONSchemaCyclesContext,\n} from \"../../context\"\n\nconst JSONSchema = forwardRef(\n ({ schema, name, dependentRequired, onExpand }, ref) => {\n const fn = useFn()\n const isExpanded = useIsExpanded()\n const isExpandedDeeply = useIsExpandedDeeply()\n const [expanded, setExpanded] = useState(isExpanded || isExpandedDeeply)\n const [expandedDeeply, setExpandedDeeply] = useState(isExpandedDeeply)\n const [level, nextLevel] = useLevel()\n const isEmbedded = useIsEmbedded()\n const isExpandable = fn.isExpandable(schema) || dependentRequired.length > 0\n const isCircular = useIsCircular(schema)\n const renderedSchemas = useRenderedSchemas(schema)\n const constraints = fn.stringifyConstraints(schema)\n const Accordion = useComponent(\"Accordion\")\n const Keyword$schema = useComponent(\"Keyword$schema\")\n const Keyword$vocabulary = useComponent(\"Keyword$vocabulary\")\n const Keyword$id = useComponent(\"Keyword$id\")\n const Keyword$anchor = useComponent(\"Keyword$anchor\")\n const Keyword$dynamicAnchor = useComponent(\"Keyword$dynamicAnchor\")\n const Keyword$ref = useComponent(\"Keyword$ref\")\n const Keyword$dynamicRef = useComponent(\"Keyword$dynamicRef\")\n const Keyword$defs = useComponent(\"Keyword$defs\")\n const Keyword$comment = useComponent(\"Keyword$comment\")\n const KeywordAllOf = useComponent(\"KeywordAllOf\")\n const KeywordAnyOf = useComponent(\"KeywordAnyOf\")\n const KeywordOneOf = useComponent(\"KeywordOneOf\")\n const KeywordNot = useComponent(\"KeywordNot\")\n const KeywordIf = useComponent(\"KeywordIf\")\n const KeywordThen = useComponent(\"KeywordThen\")\n const KeywordElse = useComponent(\"KeywordElse\")\n const KeywordDependentSchemas = useComponent(\"KeywordDependentSchemas\")\n const KeywordPrefixItems = useComponent(\"KeywordPrefixItems\")\n const KeywordItems = useComponent(\"KeywordItems\")\n const KeywordContains = useComponent(\"KeywordContains\")\n const KeywordProperties = useComponent(\"KeywordProperties\")\n const KeywordPatternProperties = useComponent(\"KeywordPatternProperties\")\n const KeywordAdditionalProperties = useComponent(\n \"KeywordAdditionalProperties\"\n )\n const KeywordPropertyNames = useComponent(\"KeywordPropertyNames\")\n const KeywordUnevaluatedItems = useComponent(\"KeywordUnevaluatedItems\")\n const KeywordUnevaluatedProperties = useComponent(\n \"KeywordUnevaluatedProperties\"\n )\n const KeywordType = useComponent(\"KeywordType\")\n const KeywordEnum = useComponent(\"KeywordEnum\")\n const KeywordConst = useComponent(\"KeywordConst\")\n const KeywordConstraint = useComponent(\"KeywordConstraint\")\n const KeywordDependentRequired = useComponent(\"KeywordDependentRequired\")\n const KeywordContentSchema = useComponent(\"KeywordContentSchema\")\n const KeywordTitle = useComponent(\"KeywordTitle\")\n const KeywordDescription = useComponent(\"KeywordDescription\")\n const KeywordDefault = useComponent(\"KeywordDefault\")\n const KeywordDeprecated = useComponent(\"KeywordDeprecated\")\n const KeywordReadOnly = useComponent(\"KeywordReadOnly\")\n const KeywordWriteOnly = useComponent(\"KeywordWriteOnly\")\n const ExpandDeepButton = useComponent(\"ExpandDeepButton\")\n\n /**\n * Effects handlers.\n */\n useEffect(() => {\n setExpandedDeeply(isExpandedDeeply)\n }, [isExpandedDeeply])\n\n useEffect(() => {\n setExpandedDeeply(expandedDeeply)\n }, [expandedDeeply])\n\n /**\n * Event handlers.\n */\n const handleExpansion = useCallback(\n (e, expandedNew) => {\n setExpanded(expandedNew)\n !expandedNew && setExpandedDeeply(false)\n onExpand(e, expandedNew, false)\n },\n [onExpand]\n )\n const handleExpansionDeep = useCallback(\n (e, expandedDeepNew) => {\n setExpanded(expandedDeepNew)\n setExpandedDeeply(expandedDeepNew)\n onExpand(e, expandedDeepNew, true)\n },\n [onExpand]\n )\n\n return (\n \n \n \n \n
    \n {isExpandable && !isCircular ? (\n <>\n \n \n \n \n \n ) : (\n \n )}\n \n \n \n \n {constraints.length > 0 &&\n constraints.map((constraint) => (\n \n ))}\n
    \n \n {expanded && (\n <>\n \n {!isCircular && isExpandable && (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )}\n \n \n \n \n \n \n \n \n \n \n {!isCircular && isExpandable && (\n \n )}\n \n \n \n )}\n \n \n
    \n
    \n
    \n )\n }\n)\n\nJSONSchema.propTypes = {\n name: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n schema: propTypes.schema.isRequired,\n dependentRequired: PropTypes.arrayOf(PropTypes.string),\n onExpand: PropTypes.func,\n}\n\nJSONSchema.defaultProps = {\n name: \"\",\n dependentRequired: [],\n onExpand: () => {},\n}\n\nexport default JSONSchema\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\n\nconst $schema = ({ schema }) => {\n if (!schema?.$schema) return null\n\n return (\n
    \n \n $schema\n \n \n {schema.$schema}\n \n
    \n )\n}\n\n$schema.propTypes = {\n schema: schema.isRequired,\n}\n\nexport default $schema\n","/**\n * @prettier\n */\nimport React, { useCallback, useState } from \"react\"\nimport classNames from \"classnames\"\n\nimport { schema } from \"../../../prop-types\"\nimport { useComponent, useIsExpandedDeeply } from \"../../../hooks\"\n\nconst $vocabulary = ({ schema }) => {\n const isExpandedDeeply = useIsExpandedDeeply()\n const [expanded, setExpanded] = useState(isExpandedDeeply)\n const Accordion = useComponent(\"Accordion\")\n\n const handleExpansion = useCallback(() => {\n setExpanded((prev) => !prev)\n }, [])\n\n /**\n * Rendering.\n */\n if (!schema?.$vocabulary) return null\n if (typeof schema.$vocabulary !== \"object\") return null\n\n return (\n
    \n \n \n $vocabulary\n \n \n \n object\n \n
      \n {expanded &&\n Object.entries(schema.$vocabulary).map(([uri, enabled]) => (\n \n \n {uri}\n \n \n ))}\n
    \n
    \n )\n}\n\n$vocabulary.propTypes = {\n schema: schema.isRequired,\n}\n\nexport default $vocabulary\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\n\nconst $id = ({ schema }) => {\n if (!schema?.$id) return null\n\n return (\n
    \n \n $id\n \n \n {schema.$id}\n \n
    \n )\n}\n\n$id.propTypes = {\n schema: schema.isRequired,\n}\n\nexport default $id\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\n\nconst $anchor = ({ schema }) => {\n if (!schema?.$anchor) return null\n\n return (\n
    \n \n $anchor\n \n \n {schema.$anchor}\n \n
    \n )\n}\n\n$anchor.propTypes = {\n schema: schema.isRequired,\n}\n\nexport default $anchor\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\n\nconst $dynamicAnchor = ({ schema }) => {\n if (!schema?.$dynamicAnchor) return null\n\n return (\n
    \n \n $dynamicAnchor\n \n \n {schema.$dynamicAnchor}\n \n
    \n )\n}\n\n$dynamicAnchor.propTypes = {\n schema: schema.isRequired,\n}\n\nexport default $dynamicAnchor\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\n\nconst $ref = ({ schema }) => {\n if (!schema?.$ref) return null\n\n return (\n
    \n \n $ref\n \n \n {schema.$ref}\n \n
    \n )\n}\n\n$ref.propTypes = {\n schema: schema.isRequired,\n}\n\nexport default $ref\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\n\nconst $dynamicRef = ({ schema }) => {\n if (!schema?.$dynamicRef) return null\n\n return (\n
    \n \n $dynamicRef\n \n \n {schema.$dynamicRef}\n \n
    \n )\n}\n\n$dynamicRef.propTypes = {\n schema: schema.isRequired,\n}\n\nexport default $dynamicRef\n","/**\n * @prettier\n */\nimport React, { useCallback, useState } from \"react\"\nimport classNames from \"classnames\"\n\nimport { schema } from \"../../prop-types\"\nimport { useComponent, useIsExpandedDeeply } from \"../../hooks\"\nimport { JSONSchemaDeepExpansionContext } from \"../../context\"\n\nconst $defs = ({ schema }) => {\n const $defs = schema?.$defs || {}\n const isExpandedDeeply = useIsExpandedDeeply()\n const [expanded, setExpanded] = useState(isExpandedDeeply)\n const [expandedDeeply, setExpandedDeeply] = useState(false)\n const Accordion = useComponent(\"Accordion\")\n const ExpandDeepButton = useComponent(\"ExpandDeepButton\")\n const JSONSchema = useComponent(\"JSONSchema\")\n\n /**\n * Event handlers.\n */\n const handleExpansion = useCallback(() => {\n setExpanded((prev) => !prev)\n }, [])\n const handleExpansionDeep = useCallback((e, expandedDeepNew) => {\n setExpanded(expandedDeepNew)\n setExpandedDeeply(expandedDeepNew)\n }, [])\n\n /**\n * Rendering.\n */\n if (Object.keys($defs).length === 0) {\n return null\n }\n\n return (\n \n
    \n \n \n $defs\n \n \n \n \n object\n \n \n {expanded && (\n <>\n {Object.entries($defs).map(([schemaName, schema]) => (\n
  • \n \n
  • \n ))}\n \n )}\n \n
    \n
    \n )\n}\n\n$defs.propTypes = {\n schema: schema.isRequired,\n}\n\nexport default $defs\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\n\nconst $comment = ({ schema }) => {\n if (!schema?.$comment) return null\n\n return (\n
    \n \n $comment\n \n \n {schema.$comment}\n \n
    \n )\n}\n\n$comment.propTypes = {\n schema: schema.isRequired,\n}\n\nexport default $comment\n","/**\n * @prettier\n */\nimport React, { useCallback, useState } from \"react\"\nimport classNames from \"classnames\"\n\nimport { schema } from \"../../prop-types\"\nimport { useFn, useComponent, useIsExpandedDeeply } from \"../../hooks\"\nimport { JSONSchemaDeepExpansionContext } from \"../../context\"\n\nconst AllOf = ({ schema }) => {\n const allOf = schema?.allOf || []\n const fn = useFn()\n const isExpandedDeeply = useIsExpandedDeeply()\n const [expanded, setExpanded] = useState(isExpandedDeeply)\n const [expandedDeeply, setExpandedDeeply] = useState(false)\n const Accordion = useComponent(\"Accordion\")\n const ExpandDeepButton = useComponent(\"ExpandDeepButton\")\n const JSONSchema = useComponent(\"JSONSchema\")\n const KeywordType = useComponent(\"KeywordType\")\n\n /**\n * Event handlers.\n */\n const handleExpansion = useCallback(() => {\n setExpanded((prev) => !prev)\n }, [])\n const handleExpansionDeep = useCallback((e, expandedDeepNew) => {\n setExpanded(expandedDeepNew)\n setExpandedDeeply(expandedDeepNew)\n }, [])\n\n /**\n * Rendering.\n */\n if (!Array.isArray(allOf) || allOf.length === 0) {\n return null\n }\n\n return (\n \n
    \n \n \n All of\n \n \n \n \n \n {expanded && (\n <>\n {allOf.map((schema, index) => (\n
  • \n \n
  • \n ))}\n \n )}\n \n
    \n
    \n )\n}\n\nAllOf.propTypes = {\n schema: schema.isRequired,\n}\n\nexport default AllOf\n","/**\n * @prettier\n */\nimport React, { useCallback, useState } from \"react\"\nimport classNames from \"classnames\"\n\nimport { schema } from \"../../prop-types\"\nimport { useFn, useComponent, useIsExpandedDeeply } from \"../../hooks\"\nimport { JSONSchemaDeepExpansionContext } from \"../../context\"\n\nconst AnyOf = ({ schema }) => {\n const anyOf = schema?.anyOf || []\n const fn = useFn()\n const isExpandedDeeply = useIsExpandedDeeply()\n const [expanded, setExpanded] = useState(isExpandedDeeply)\n const [expandedDeeply, setExpandedDeeply] = useState(false)\n const Accordion = useComponent(\"Accordion\")\n const ExpandDeepButton = useComponent(\"ExpandDeepButton\")\n const JSONSchema = useComponent(\"JSONSchema\")\n const KeywordType = useComponent(\"KeywordType\")\n\n /**\n * Event handlers.\n */\n const handleExpansion = useCallback(() => {\n setExpanded((prev) => !prev)\n }, [])\n const handleExpansionDeep = useCallback((e, expandedDeepNew) => {\n setExpanded(expandedDeepNew)\n setExpandedDeeply(expandedDeepNew)\n }, [])\n\n /**\n * Rendering.\n */\n if (!Array.isArray(anyOf) || anyOf.length === 0) {\n return null\n }\n\n return (\n \n
    \n \n \n Any of\n \n \n \n \n \n {expanded && (\n <>\n {anyOf.map((schema, index) => (\n
  • \n \n
  • \n ))}\n \n )}\n \n
    \n
    \n )\n}\n\nAnyOf.propTypes = {\n schema: schema.isRequired,\n}\n\nexport default AnyOf\n","/**\n * @prettier\n */\nimport React, { useCallback, useState } from \"react\"\nimport classNames from \"classnames\"\n\nimport { schema } from \"../../prop-types\"\nimport { useFn, useComponent, useIsExpandedDeeply } from \"../../hooks\"\nimport { JSONSchemaDeepExpansionContext } from \"../../context\"\n\nconst OneOf = ({ schema }) => {\n const oneOf = schema?.oneOf || []\n const fn = useFn()\n const isExpandedDeeply = useIsExpandedDeeply()\n const [expanded, setExpanded] = useState(isExpandedDeeply)\n const [expandedDeeply, setExpandedDeeply] = useState(false)\n const Accordion = useComponent(\"Accordion\")\n const ExpandDeepButton = useComponent(\"ExpandDeepButton\")\n const JSONSchema = useComponent(\"JSONSchema\")\n const KeywordType = useComponent(\"KeywordType\")\n\n /**\n * Event handlers.\n */\n const handleExpansion = useCallback(() => {\n setExpanded((prev) => !prev)\n }, [])\n const handleExpansionDeep = useCallback((e, expandedDeepNew) => {\n setExpanded(expandedDeepNew)\n setExpandedDeeply(expandedDeepNew)\n }, [])\n\n /**\n * Rendering.\n */\n if (!Array.isArray(oneOf) || oneOf.length === 0) {\n return null\n }\n\n return (\n \n
    \n \n \n One of\n \n \n \n \n \n {expanded && (\n <>\n {oneOf.map((schema, index) => (\n
  • \n \n
  • \n ))}\n \n )}\n \n
    \n
    \n )\n}\n\nOneOf.propTypes = {\n schema: schema.isRequired,\n}\n\nexport default OneOf\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\nimport { useFn, useComponent } from \"../../hooks\"\n\nconst Not = ({ schema }) => {\n const fn = useFn()\n const JSONSchema = useComponent(\"JSONSchema\")\n\n /**\n * Rendering.\n */\n if (!fn.hasKeyword(schema, \"not\")) return null\n\n const name = (\n \n Not\n \n )\n\n return (\n
    \n \n
    \n )\n}\n\nNot.propTypes = {\n schema: schema.isRequired,\n}\n\nexport default Not\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\nimport { useFn, useComponent } from \"../../hooks\"\n\nconst If = ({ schema }) => {\n const fn = useFn()\n const JSONSchema = useComponent(\"JSONSchema\")\n\n /**\n * Rendering.\n */\n if (!fn.hasKeyword(schema, \"if\")) return null\n\n const name = (\n \n If\n \n )\n\n return (\n
    \n \n
    \n )\n}\n\nIf.propTypes = {\n schema: schema.isRequired,\n}\n\nexport default If\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\nimport { useFn, useComponent } from \"../../hooks\"\n\nconst Then = ({ schema }) => {\n const fn = useFn()\n const JSONSchema = useComponent(\"JSONSchema\")\n\n /**\n * Rendering.\n */\n if (!fn.hasKeyword(schema, \"then\")) return null\n\n const name = (\n \n Then\n \n )\n\n return (\n
    \n \n
    \n )\n}\n\nThen.propTypes = {\n schema: schema.isRequired,\n}\n\nexport default Then\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\nimport { useFn, useComponent } from \"../../hooks\"\n\nconst Else = ({ schema }) => {\n const fn = useFn()\n const JSONSchema = useComponent(\"JSONSchema\")\n\n /**\n * Rendering.\n */\n if (!fn.hasKeyword(schema, \"else\")) return null\n\n const name = (\n \n Else\n \n )\n\n return (\n
    \n \n
    \n )\n}\n\nElse.propTypes = {\n schema: schema.isRequired,\n}\n\nexport default Else\n","/**\n * @prettier\n */\nimport React, { useCallback, useState } from \"react\"\nimport classNames from \"classnames\"\n\nimport { schema } from \"../../prop-types\"\nimport { useComponent, useIsExpandedDeeply } from \"../../hooks\"\nimport { JSONSchemaDeepExpansionContext } from \"../../context\"\n\nconst DependentSchemas = ({ schema }) => {\n const dependentSchemas = schema?.dependentSchemas || []\n const isExpandedDeeply = useIsExpandedDeeply()\n const [expanded, setExpanded] = useState(isExpandedDeeply)\n const [expandedDeeply, setExpandedDeeply] = useState(false)\n const Accordion = useComponent(\"Accordion\")\n const ExpandDeepButton = useComponent(\"ExpandDeepButton\")\n const JSONSchema = useComponent(\"JSONSchema\")\n\n /**\n * Event handlers.\n */\n const handleExpansion = useCallback(() => {\n setExpanded((prev) => !prev)\n }, [])\n const handleExpansionDeep = useCallback((e, expandedDeepNew) => {\n setExpanded(expandedDeepNew)\n setExpandedDeeply(expandedDeepNew)\n }, [])\n\n /**\n * Rendering.\n */\n if (typeof dependentSchemas !== \"object\") return null\n if (Object.keys(dependentSchemas).length === 0) return null\n\n return (\n \n
    \n \n \n Dependent schemas\n \n \n \n \n object\n \n \n {expanded && (\n <>\n {Object.entries(dependentSchemas).map(([schemaName, schema]) => (\n
  • \n \n
  • \n ))}\n \n )}\n \n
    \n
    \n )\n}\n\nDependentSchemas.propTypes = {\n schema: schema.isRequired,\n}\n\nexport default DependentSchemas\n","/**\n * @prettier\n */\nimport React, { useCallback, useState } from \"react\"\nimport classNames from \"classnames\"\n\nimport { schema } from \"../../prop-types\"\nimport { useFn, useComponent, useIsExpandedDeeply } from \"../../hooks\"\nimport { JSONSchemaDeepExpansionContext } from \"../../context\"\n\nconst PrefixItems = ({ schema }) => {\n const prefixItems = schema?.prefixItems || []\n const fn = useFn()\n const isExpandedDeeply = useIsExpandedDeeply()\n const [expanded, setExpanded] = useState(isExpandedDeeply)\n const [expandedDeeply, setExpandedDeeply] = useState(false)\n const Accordion = useComponent(\"Accordion\")\n const ExpandDeepButton = useComponent(\"ExpandDeepButton\")\n const JSONSchema = useComponent(\"JSONSchema\")\n const KeywordType = useComponent(\"KeywordType\")\n\n /**\n * Event handlers.\n */\n const handleExpansion = useCallback(() => {\n setExpanded((prev) => !prev)\n }, [])\n const handleExpansionDeep = useCallback((e, expandedDeepNew) => {\n setExpanded(expandedDeepNew)\n setExpandedDeeply(expandedDeepNew)\n }, [])\n\n /**\n * Rendering.\n */\n if (!Array.isArray(prefixItems) || prefixItems.length === 0) {\n return null\n }\n\n return (\n \n
    \n \n \n Prefix items\n \n \n \n \n \n {expanded && (\n <>\n {prefixItems.map((schema, index) => (\n
  • \n \n
  • \n ))}\n \n )}\n \n
    \n
    \n )\n}\n\nPrefixItems.propTypes = {\n schema: schema.isRequired,\n}\n\nexport default PrefixItems\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\nimport { useFn, useComponent } from \"../../hooks\"\n\nconst Items = ({ schema }) => {\n const fn = useFn()\n const JSONSchema = useComponent(\"JSONSchema\")\n\n /**\n * Rendering.\n */\n if (!fn.hasKeyword(schema, \"items\")) return null\n\n const name = (\n \n Items\n \n )\n\n return (\n
    \n \n
    \n )\n}\n\nItems.propTypes = {\n schema: schema.isRequired,\n}\n\nexport default Items\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\nimport { useFn, useComponent } from \"../../hooks\"\n\nconst Contains = ({ schema }) => {\n const fn = useFn()\n const JSONSchema = useComponent(\"JSONSchema\")\n\n /**\n * Rendering.\n */\n if (!fn.hasKeyword(schema, \"contains\")) return null\n\n const name = (\n \n Contains\n \n )\n\n return (\n
    \n \n
    \n )\n}\n\nContains.propTypes = {\n schema: schema.isRequired,\n}\n\nexport default Contains\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport classNames from \"classnames\"\n\nimport { schema } from \"../../../prop-types\"\nimport { useFn, useComponent } from \"../../../hooks\"\n\nconst Properties = ({ schema }) => {\n const fn = useFn()\n const properties = schema?.properties || {}\n const required = Array.isArray(schema?.required) ? schema.required : []\n const JSONSchema = useComponent(\"JSONSchema\")\n\n /**\n * Rendering.\n */\n if (Object.keys(properties).length === 0) {\n return null\n }\n\n return (\n
    \n
      \n {Object.entries(properties).map(([propertyName, propertySchema]) => {\n const isRequired = required.includes(propertyName)\n const dependentRequired = fn.getDependentRequired(\n propertyName,\n schema\n )\n\n return (\n \n \n \n )\n })}\n
    \n
    \n )\n}\n\nProperties.propTypes = {\n schema: schema.isRequired,\n}\n\nexport default Properties\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../../prop-types\"\nimport { useComponent } from \"../../../hooks\"\n\nconst PatternProperties = ({ schema }) => {\n const patternProperties = schema?.patternProperties || {}\n const JSONSchema = useComponent(\"JSONSchema\")\n\n /**\n * Rendering.\n */\n if (Object.keys(patternProperties).length === 0) {\n return null\n }\n\n return (\n
    \n
      \n {Object.entries(patternProperties).map(([propertyName, schema]) => (\n
    • \n \n
    • \n ))}\n
    \n
    \n )\n}\n\nPatternProperties.propTypes = {\n schema: schema.isRequired,\n}\n\nexport default PatternProperties\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\nimport { useFn, useComponent } from \"../../hooks\"\n\nconst AdditionalProperties = ({ schema }) => {\n const fn = useFn()\n const { additionalProperties } = schema\n const JSONSchema = useComponent(\"JSONSchema\")\n\n if (!fn.hasKeyword(schema, \"additionalProperties\")) return null\n\n /**\n * Rendering.\n */\n const name = (\n \n Additional properties\n \n )\n\n return (\n
    \n {additionalProperties === true ? (\n <>\n {name}\n \n allowed\n \n \n ) : additionalProperties === false ? (\n <>\n {name}\n \n forbidden\n \n \n ) : (\n \n )}\n
    \n )\n}\n\nAdditionalProperties.propTypes = {\n schema: schema.isRequired,\n}\n\nexport default AdditionalProperties\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\nimport { useFn, useComponent } from \"../../hooks\"\n\nconst PropertyNames = ({ schema }) => {\n const fn = useFn()\n const { propertyNames } = schema\n const JSONSchema = useComponent(\"JSONSchema\")\n const name = (\n \n Property names\n \n )\n\n /**\n * Rendering.\n */\n if (!fn.hasKeyword(schema, \"propertyNames\")) return null\n\n return (\n
    \n \n
    \n )\n}\n\nPropertyNames.propTypes = {\n schema: schema.isRequired,\n}\n\nexport default PropertyNames\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\nimport { useFn, useComponent } from \"../../hooks\"\n\nconst UnevaluatedItems = ({ schema }) => {\n const fn = useFn()\n const { unevaluatedItems } = schema\n const JSONSchema = useComponent(\"JSONSchema\")\n\n /**\n * Rendering.\n */\n if (!fn.hasKeyword(schema, \"unevaluatedItems\")) return null\n\n const name = (\n \n Unevaluated items\n \n )\n\n return (\n
    \n \n
    \n )\n}\n\nUnevaluatedItems.propTypes = {\n schema: schema.isRequired,\n}\n\nexport default UnevaluatedItems\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\nimport { useFn, useComponent } from \"../../hooks\"\n\nconst UnevaluatedProperties = ({ schema }) => {\n const fn = useFn()\n const { unevaluatedProperties } = schema\n const JSONSchema = useComponent(\"JSONSchema\")\n\n /**\n * Rendering.\n */\n if (!fn.hasKeyword(schema, \"unevaluatedProperties\")) return null\n\n const name = (\n \n Unevaluated properties\n \n )\n\n return (\n
    \n \n
    \n )\n}\n\nUnevaluatedProperties.propTypes = {\n schema: schema.isRequired,\n}\n\nexport default UnevaluatedProperties\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport { schema } from \"../../prop-types\"\nimport { useFn } from \"../../hooks\"\n\nconst Type = ({ schema, isCircular }) => {\n const fn = useFn()\n const type = fn.getType(schema)\n const circularSuffix = isCircular ? \" [circular]\" : \"\"\n\n return (\n \n {`${type}${circularSuffix}`}\n \n )\n}\n\nType.propTypes = {\n schema: schema.isRequired,\n isCircular: PropTypes.bool,\n}\n\nType.defaultProps = {\n isCircular: false,\n}\n\nexport default Type\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../../prop-types\"\nimport { useFn } from \"../../../hooks\"\n\nconst Enum = ({ schema }) => {\n const fn = useFn()\n\n if (!Array.isArray(schema?.enum)) return null\n\n return (\n
    \n \n Allowed values\n \n
      \n {schema.enum.map((element) => {\n const strigifiedElement = fn.stringify(element)\n\n return (\n
    • \n \n {strigifiedElement}\n \n
    • \n )\n })}\n
    \n
    \n )\n}\n\nEnum.propTypes = {\n schema: schema.isRequired,\n}\n\nexport default Enum\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\nimport { useFn } from \"../../hooks\"\n\nconst Const = ({ schema }) => {\n const fn = useFn()\n\n if (!fn.hasKeyword(schema, \"const\")) return null\n\n return (\n
    \n \n Const\n \n \n {fn.stringify(schema.const)}\n \n
    \n )\n}\n\nConst.propTypes = {\n schema: schema.isRequired,\n}\n\nexport default Const\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\n\n/**\n * This component represents various constraint keywords\n * from JSON Schema 2020-12 validation vocabulary.\n */\nconst Constraint = ({ constraint }) => (\n \n {constraint.value}\n
    \n)\n\nConstraint.propTypes = {\n constraint: PropTypes.shape({\n scope: PropTypes.oneOf([\"number\", \"string\", \"array\", \"object\"]).isRequired,\n value: PropTypes.string.isRequired,\n }).isRequired,\n}\n\nexport default React.memo(Constraint)\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport * as propTypes from \"../../../prop-types\"\n\nconst DependentRequired = ({ dependentRequired }) => {\n if (dependentRequired.length === 0) return null\n\n return (\n
    \n \n Required when defined\n \n
      \n {dependentRequired.map((propertyName) => (\n
    • \n \n {propertyName}\n \n
    • \n ))}\n
    \n
    \n )\n}\n\nDependentRequired.propTypes = {\n schema: propTypes.schema.isRequired,\n dependentRequired: PropTypes.arrayOf(PropTypes.string).isRequired,\n}\n\nexport default DependentRequired\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\nimport { useFn, useComponent } from \"../../hooks\"\n\nconst ContentSchema = ({ schema }) => {\n const fn = useFn()\n const JSONSchema = useComponent(\"JSONSchema\")\n\n /**\n * Rendering.\n */\n if (!fn.hasKeyword(schema, \"contentSchema\")) return null\n\n const name = (\n \n Content schema\n \n )\n\n return (\n
    \n \n
    \n )\n}\n\nContentSchema.propTypes = {\n schema: schema.isRequired,\n}\n\nexport default ContentSchema\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport { schema } from \"../../../prop-types\"\nimport { useFn } from \"../../../hooks\"\n\nconst Title = ({ title, schema }) => {\n const fn = useFn()\n const renderedTitle = title || fn.getTitle(schema)\n\n if (!renderedTitle) return null\n\n return (\n
    \n {title || fn.getTitle(schema)}\n
    \n )\n}\n\nTitle.propTypes = {\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n schema: schema.isRequired,\n}\n\nTitle.defaultProps = {\n title: \"\",\n}\n\nexport default Title\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../../prop-types\"\n\nconst Description = ({ schema }) => {\n if (!schema?.description) return null\n\n return (\n
    \n
    \n {schema.description}\n
    \n
    \n )\n}\n\nDescription.propTypes = {\n schema: schema.isRequired,\n}\n\nexport default Description\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\nimport { useFn } from \"../../hooks\"\n\nconst Default = ({ schema }) => {\n const fn = useFn()\n\n if (!fn.hasKeyword(schema, \"default\")) return null\n\n return (\n
    \n \n Default\n \n \n {fn.stringify(schema.default)}\n \n
    \n )\n}\n\nDefault.propTypes = {\n schema: schema.isRequired,\n}\n\nexport default Default\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\n\nconst Deprecated = ({ schema }) => {\n if (schema?.deprecated !== true) return null\n\n return (\n \n deprecated\n \n )\n}\n\nDeprecated.propTypes = {\n schema: schema.isRequired,\n}\n\nexport default Deprecated\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\n\nconst ReadOnly = ({ schema }) => {\n if (schema?.readOnly !== true) return null\n\n return (\n \n read-only\n \n )\n}\n\nReadOnly.propTypes = {\n schema: schema.isRequired,\n}\n\nexport default ReadOnly\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport { schema } from \"../../prop-types\"\n\nconst WriteOnly = ({ schema }) => {\n if (schema?.writeOnly !== true) return null\n\n return (\n \n write-only\n \n )\n}\n\nWriteOnly.propTypes = {\n schema: schema.isRequired,\n}\n\nexport default WriteOnly\n","/**\n * @prettier\n */\nimport React, { useCallback } from \"react\"\nimport PropTypes from \"prop-types\"\nimport classNames from \"classnames\"\n\nimport { useComponent } from \"../../hooks\"\n\nconst Accordion = ({ expanded, children, onChange }) => {\n const ChevronRightIcon = useComponent(\"ChevronRightIcon\")\n\n const handleExpansion = useCallback(\n (event) => {\n onChange(event, !expanded)\n },\n [expanded, onChange]\n )\n\n return (\n \n
    {children}
    \n \n \n \n \n )\n}\n\nAccordion.propTypes = {\n expanded: PropTypes.bool,\n children: PropTypes.node.isRequired,\n onChange: PropTypes.func.isRequired,\n}\n\nAccordion.defaultProps = {\n expanded: false,\n}\n\nexport default Accordion\n","/**\n * @prettier\n */\nimport React, { useCallback } from \"react\"\nimport PropTypes from \"prop-types\"\n\nconst ExpandDeepButton = ({ expanded, onClick }) => {\n const handleExpansion = useCallback(\n (event) => {\n onClick(event, !expanded)\n },\n [expanded, onClick]\n )\n\n return (\n \n {expanded ? \"Collapse all\" : \"Expand all\"}\n \n )\n}\n\nExpandDeepButton.propTypes = {\n expanded: PropTypes.bool.isRequired,\n onClick: PropTypes.func.isRequired,\n}\n\nexport default ExpandDeepButton\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nconst ChevronRight = () => (\n \n \n \n)\n\nexport default ChevronRight\n","/**\n * @prettier\n */\nimport { useFn } from \"./hooks\"\n\nexport const upperFirst = (value) => {\n if (typeof value === \"string\") {\n return `${value.charAt(0).toUpperCase()}${value.slice(1)}`\n }\n return value\n}\n\nexport const getTitle = (schema) => {\n const fn = useFn()\n\n if (schema?.title) return fn.upperFirst(schema.title)\n if (schema?.$anchor) return fn.upperFirst(schema.$anchor)\n if (schema?.$id) return schema.$id\n\n return \"\"\n}\n\nexport const getType = (schema, processedSchemas = new WeakSet()) => {\n const fn = useFn()\n\n if (schema == null) {\n return \"any\"\n }\n\n if (fn.isBooleanJSONSchema(schema)) {\n return schema ? \"any\" : \"never\"\n }\n\n if (typeof schema !== \"object\") {\n return \"any\"\n }\n\n if (processedSchemas.has(schema)) {\n return \"any\" // detect a cycle\n }\n processedSchemas.add(schema)\n\n const { type, prefixItems, items } = schema\n\n const getArrayType = () => {\n if (Array.isArray(prefixItems)) {\n const prefixItemsTypes = prefixItems.map((itemSchema) =>\n getType(itemSchema, processedSchemas)\n )\n const itemsType = items ? getType(items, processedSchemas) : \"any\"\n return `array<[${prefixItemsTypes.join(\", \")}], ${itemsType}>`\n } else if (items) {\n const itemsType = getType(items, processedSchemas)\n return `array<${itemsType}>`\n } else {\n return \"array\"\n }\n }\n\n const inferType = () => {\n if (\n Object.hasOwn(schema, \"prefixItems\") ||\n Object.hasOwn(schema, \"items\") ||\n Object.hasOwn(schema, \"contains\")\n ) {\n return getArrayType()\n } else if (\n Object.hasOwn(schema, \"properties\") ||\n Object.hasOwn(schema, \"additionalProperties\") ||\n Object.hasOwn(schema, \"patternProperties\")\n ) {\n return \"object\"\n } else if ([\"int32\", \"int64\"].includes(schema.format)) {\n // OpenAPI 3.1.0 integer custom formats\n return \"integer\"\n } else if ([\"float\", \"double\"].includes(schema.format)) {\n // OpenAPI 3.1.0 number custom formats\n return \"number\"\n } else if (\n Object.hasOwn(schema, \"minimum\") ||\n Object.hasOwn(schema, \"maximum\") ||\n Object.hasOwn(schema, \"exclusiveMinimum\") ||\n Object.hasOwn(schema, \"exclusiveMaximum\") ||\n Object.hasOwn(schema, \"multipleOf\")\n ) {\n return \"number | integer\"\n } else if (\n Object.hasOwn(schema, \"pattern\") ||\n Object.hasOwn(schema, \"format\") ||\n Object.hasOwn(schema, \"minLength\") ||\n Object.hasOwn(schema, \"maxLength\")\n ) {\n return \"string\"\n } else if (typeof schema.const !== \"undefined\") {\n if (schema.const === null) {\n return \"null\"\n } else if (typeof schema.const === \"boolean\") {\n return \"boolean\"\n } else if (typeof schema.const === \"number\") {\n return Number.isInteger(schema.const) ? \"integer\" : \"number\"\n } else if (typeof schema.const === \"string\") {\n return \"string\"\n } else if (Array.isArray(schema.const)) {\n return \"array\"\n } else if (typeof schema.const === \"object\") {\n return \"object\"\n }\n }\n return null\n }\n\n if (schema.not && getType(schema.not) === \"any\") {\n return \"never\"\n }\n\n const typeString = Array.isArray(type)\n ? type.map((t) => (t === \"array\" ? getArrayType() : t)).join(\" | \")\n : type === \"array\"\n ? getArrayType()\n : [\n \"null\",\n \"boolean\",\n \"object\",\n \"array\",\n \"number\",\n \"integer\",\n \"string\",\n ].includes(type)\n ? type\n : inferType()\n\n const handleCombiningKeywords = (keyword, separator) => {\n if (Array.isArray(schema[keyword])) {\n const combinedTypes = schema[keyword].map((subSchema) =>\n getType(subSchema, processedSchemas)\n )\n return `(${combinedTypes.join(separator)})`\n }\n return null\n }\n\n const oneOfString = handleCombiningKeywords(\"oneOf\", \" | \")\n const anyOfString = handleCombiningKeywords(\"anyOf\", \" | \")\n const allOfString = handleCombiningKeywords(\"allOf\", \" & \")\n\n const combinedStrings = [typeString, oneOfString, anyOfString, allOfString]\n .filter(Boolean)\n .join(\" | \")\n\n processedSchemas.delete(schema)\n\n return combinedStrings || \"any\"\n}\n\nexport const isBooleanJSONSchema = (schema) => typeof schema === \"boolean\"\n\nexport const hasKeyword = (schema, keyword) =>\n schema !== null &&\n typeof schema === \"object\" &&\n Object.hasOwn(schema, keyword)\n\nexport const isExpandable = (schema) => {\n const fn = useFn()\n\n return (\n schema?.$schema ||\n schema?.$vocabulary ||\n schema?.$id ||\n schema?.$anchor ||\n schema?.$dynamicAnchor ||\n schema?.$ref ||\n schema?.$dynamicRef ||\n schema?.$defs ||\n schema?.$comment ||\n schema?.allOf ||\n schema?.anyOf ||\n schema?.oneOf ||\n fn.hasKeyword(schema, \"not\") ||\n fn.hasKeyword(schema, \"if\") ||\n fn.hasKeyword(schema, \"then\") ||\n fn.hasKeyword(schema, \"else\") ||\n schema?.dependentSchemas ||\n schema?.prefixItems ||\n fn.hasKeyword(schema, \"items\") ||\n fn.hasKeyword(schema, \"contains\") ||\n schema?.properties ||\n schema?.patternProperties ||\n fn.hasKeyword(schema, \"additionalProperties\") ||\n fn.hasKeyword(schema, \"propertyNames\") ||\n fn.hasKeyword(schema, \"unevaluatedItems\") ||\n fn.hasKeyword(schema, \"unevaluatedProperties\") ||\n schema?.description ||\n schema?.enum ||\n fn.hasKeyword(schema, \"const\") ||\n fn.hasKeyword(schema, \"contentSchema\") ||\n fn.hasKeyword(schema, \"default\")\n )\n}\n\nexport const stringify = (value) => {\n if (\n value === null ||\n [\"number\", \"bigint\", \"boolean\"].includes(typeof value)\n ) {\n return String(value)\n }\n\n if (Array.isArray(value)) {\n return `[${value.map(stringify).join(\", \")}]`\n }\n\n return JSON.stringify(value)\n}\n\nconst stringifyConstraintMultipleOf = (schema) => {\n if (typeof schema?.multipleOf !== \"number\") return null\n if (schema.multipleOf <= 0) return null\n if (schema.multipleOf === 1) return null\n\n const { multipleOf } = schema\n\n if (Number.isInteger(multipleOf)) {\n return `multiple of ${multipleOf}`\n }\n\n const decimalPlaces = multipleOf.toString().split(\".\")[1].length\n const factor = 10 ** decimalPlaces\n const numerator = multipleOf * factor\n const denominator = factor\n return `multiple of ${numerator}/${denominator}`\n}\n\nconst stringifyConstraintNumberRange = (schema) => {\n const minimum = schema?.minimum\n const maximum = schema?.maximum\n const exclusiveMinimum = schema?.exclusiveMinimum\n const exclusiveMaximum = schema?.exclusiveMaximum\n const hasMinimum = typeof minimum === \"number\"\n const hasMaximum = typeof maximum === \"number\"\n const hasExclusiveMinimum = typeof exclusiveMinimum === \"number\"\n const hasExclusiveMaximum = typeof exclusiveMaximum === \"number\"\n const isMinExclusive = hasExclusiveMinimum && (!hasMinimum || minimum < exclusiveMinimum) // prettier-ignore\n const isMaxExclusive = hasExclusiveMaximum && (!hasMaximum || maximum > exclusiveMaximum) // prettier-ignore\n\n if (\n (hasMinimum || hasExclusiveMinimum) &&\n (hasMaximum || hasExclusiveMaximum)\n ) {\n const minSymbol = isMinExclusive ? \"(\" : \"[\"\n const maxSymbol = isMaxExclusive ? \")\" : \"]\"\n const minValue = isMinExclusive ? exclusiveMinimum : minimum\n const maxValue = isMaxExclusive ? exclusiveMaximum : maximum\n return `${minSymbol}${minValue}, ${maxValue}${maxSymbol}`\n }\n if (hasMinimum || hasExclusiveMinimum) {\n const minSymbol = isMinExclusive ? \">\" : \"≥\"\n const minValue = isMinExclusive ? exclusiveMinimum : minimum\n return `${minSymbol} ${minValue}`\n }\n if (hasMaximum || hasExclusiveMaximum) {\n const maxSymbol = isMaxExclusive ? \"<\" : \"≤\"\n const maxValue = isMaxExclusive ? exclusiveMaximum : maximum\n return `${maxSymbol} ${maxValue}`\n }\n\n return null\n}\n\nconst stringifyConstraintRange = (label, min, max) => {\n const hasMin = typeof min === \"number\"\n const hasMax = typeof max === \"number\"\n\n if (hasMin && hasMax) {\n if (min === max) {\n return `${min} ${label}`\n } else {\n return `[${min}, ${max}] ${label}`\n }\n }\n if (hasMin) {\n return `>= ${min} ${label}`\n }\n if (hasMax) {\n return `<= ${max} ${label}`\n }\n\n return null\n}\n\nexport const stringifyConstraints = (schema) => {\n const constraints = []\n\n // validation Keywords for Numeric Instances (number and integer)\n const multipleOf = stringifyConstraintMultipleOf(schema)\n if (multipleOf !== null) {\n constraints.push({ scope: \"number\", value: multipleOf })\n }\n const numberRange = stringifyConstraintNumberRange(schema)\n if (numberRange !== null) {\n constraints.push({ scope: \"number\", value: numberRange })\n }\n\n // vocabularies for Semantic Content With \"format\"\n if (schema?.format) {\n constraints.push({ scope: \"string\", value: schema.format })\n }\n\n // validation Keywords for Strings\n const stringRange = stringifyConstraintRange(\n \"characters\",\n schema?.minLength,\n schema?.maxLength\n )\n if (stringRange !== null) {\n constraints.push({ scope: \"string\", value: stringRange })\n }\n if (schema?.pattern) {\n constraints.push({ scope: \"string\", value: `matches ${schema?.pattern}` })\n }\n\n // vocabulary for the Contents of String-Encoded Data\n if (schema?.contentMediaType) {\n constraints.push({\n scope: \"string\",\n value: `media type: ${schema.contentMediaType}`,\n })\n }\n if (schema?.contentEncoding) {\n constraints.push({\n scope: \"string\",\n value: `encoding: ${schema.contentEncoding}`,\n })\n }\n\n // validation Keywords for Arrays\n const arrayRange = stringifyConstraintRange(\n schema?.hasUniqueItems ? \"unique items\" : \"items\",\n schema?.minItems,\n schema?.maxItems\n )\n if (arrayRange !== null) {\n constraints.push({ scope: \"array\", value: arrayRange })\n }\n const containsRange = stringifyConstraintRange(\n \"contained items\",\n schema?.minContains,\n schema?.maxContains\n )\n if (containsRange !== null) {\n constraints.push({ scope: \"array\", value: containsRange })\n }\n\n // validation Keywords for Objects\n const objectRange = stringifyConstraintRange(\n \"properties\",\n schema?.minProperties,\n schema?.maxProperties\n )\n if (objectRange !== null) {\n constraints.push({ scope: \"object\", value: objectRange })\n }\n\n return constraints\n}\n\nexport const getDependentRequired = (propertyName, schema) => {\n if (!schema?.dependentRequired) return []\n\n return Array.from(\n Object.entries(schema.dependentRequired).reduce((acc, [prop, list]) => {\n if (!Array.isArray(list)) return acc\n if (!list.includes(propertyName)) return acc\n\n acc.add(prop)\n\n return acc\n }, new Set())\n )\n}\n","/**\n * @prettier\n */\nimport React from \"react\"\n\nimport JSONSchema from \"./components/JSONSchema/JSONSchema\"\nimport Keyword$schema from \"./components/keywords/$schema\"\nimport Keyword$vocabulary from \"./components/keywords/$vocabulary/$vocabulary\"\nimport Keyword$id from \"./components/keywords/$id\"\nimport Keyword$anchor from \"./components/keywords/$anchor\"\nimport Keyword$dynamicAnchor from \"./components/keywords/$dynamicAnchor\"\nimport Keyword$ref from \"./components/keywords/$ref\"\nimport Keyword$dynamicRef from \"./components/keywords/$dynamicRef\"\nimport Keyword$defs from \"./components/keywords/$defs\"\nimport Keyword$comment from \"./components/keywords/$comment\"\nimport KeywordAllOf from \"./components/keywords/AllOf\"\nimport KeywordAnyOf from \"./components/keywords/AnyOf\"\nimport KeywordOneOf from \"./components/keywords/OneOf\"\nimport KeywordNot from \"./components/keywords/Not\"\nimport KeywordIf from \"./components/keywords/If\"\nimport KeywordThen from \"./components/keywords/Then\"\nimport KeywordElse from \"./components/keywords/Else\"\nimport KeywordDependentSchemas from \"./components/keywords/DependentSchemas\"\nimport KeywordPrefixItems from \"./components/keywords/PrefixItems\"\nimport KeywordItems from \"./components/keywords/Items\"\nimport KeywordContains from \"./components/keywords/Contains\"\nimport KeywordProperties from \"./components/keywords/Properties/Properties\"\nimport KeywordPatternProperties from \"./components/keywords/PatternProperties/PatternProperties\"\nimport KeywordAdditionalProperties from \"./components/keywords/AdditionalProperties\"\nimport KeywordPropertyNames from \"./components/keywords/PropertyNames\"\nimport KeywordUnevaluatedItems from \"./components/keywords/UnevaluatedItems\"\nimport KeywordUnevaluatedProperties from \"./components/keywords/UnevaluatedProperties\"\nimport KeywordType from \"./components/keywords/Type\"\nimport KeywordEnum from \"./components/keywords/Enum/Enum\"\nimport KeywordConst from \"./components/keywords/Const\"\nimport KeywordConstraint from \"./components/keywords/Constraint/Constraint\"\nimport KeywordDependentRequired from \"./components/keywords/DependentRequired/DependentRequired\"\nimport KeywordContentSchema from \"./components/keywords/ContentSchema\"\nimport KeywordTitle from \"./components/keywords/Title/Title\"\nimport KeywordDescription from \"./components/keywords/Description/Description\"\nimport KeywordDefault from \"./components/keywords/Default\"\nimport KeywordDeprecated from \"./components/keywords/Deprecated\"\nimport KeywordReadOnly from \"./components/keywords/ReadOnly\"\nimport KeywordWriteOnly from \"./components/keywords/WriteOnly\"\nimport Accordion from \"./components/Accordion/Accordion\"\nimport ExpandDeepButton from \"./components/ExpandDeepButton/ExpandDeepButton\"\nimport ChevronRightIcon from \"./components/icons/ChevronRight\"\nimport { JSONSchemaContext } from \"./context\"\nimport {\n getTitle,\n isBooleanJSONSchema,\n upperFirst,\n getType,\n hasKeyword,\n isExpandable,\n stringify,\n stringifyConstraints,\n getDependentRequired,\n} from \"./fn\"\n\nexport const withJSONSchemaContext = (Component, overrides = {}) => {\n const value = {\n components: {\n JSONSchema,\n Keyword$schema,\n Keyword$vocabulary,\n Keyword$id,\n Keyword$anchor,\n Keyword$dynamicAnchor,\n Keyword$ref,\n Keyword$dynamicRef,\n Keyword$defs,\n Keyword$comment,\n KeywordAllOf,\n KeywordAnyOf,\n KeywordOneOf,\n KeywordNot,\n KeywordIf,\n KeywordThen,\n KeywordElse,\n KeywordDependentSchemas,\n KeywordPrefixItems,\n KeywordItems,\n KeywordContains,\n KeywordProperties,\n KeywordPatternProperties,\n KeywordAdditionalProperties,\n KeywordPropertyNames,\n KeywordUnevaluatedItems,\n KeywordUnevaluatedProperties,\n KeywordType,\n KeywordEnum,\n KeywordConst,\n KeywordConstraint,\n KeywordDependentRequired,\n KeywordContentSchema,\n KeywordTitle,\n KeywordDescription,\n KeywordDefault,\n KeywordDeprecated,\n KeywordReadOnly,\n KeywordWriteOnly,\n Accordion,\n ExpandDeepButton,\n ChevronRightIcon,\n ...overrides.components,\n },\n config: {\n default$schema: \"https://json-schema.org/draft/2020-12/schema\",\n /**\n * Defines an upper exclusive boundary of the level range for automatic expansion.\n *\n * 0 -> do nothing\n * 1 -> [0]...(1)\n * 2 -> [0]...(2)\n * 3 -> [0]...(3)\n */\n defaultExpandedLevels: 0, // 2 = 0...2\n ...overrides.config,\n },\n fn: {\n upperFirst,\n getTitle,\n getType,\n isBooleanJSONSchema,\n hasKeyword,\n isExpandable,\n stringify,\n stringifyConstraints,\n getDependentRequired,\n ...overrides.fn,\n },\n }\n\n const HOC = (props) => (\n \n \n \n )\n HOC.contexts = {\n JSONSchemaContext,\n }\n HOC.displayName = Component.displayName\n\n return HOC\n}\n","/**\n * @prettier\n */\nimport JSONSchema from \"./components/JSONSchema/JSONSchema\"\nimport Keyword$schema from \"./components/keywords/$schema\"\nimport Keyword$vocabulary from \"./components/keywords/$vocabulary/$vocabulary\"\nimport Keyword$id from \"./components/keywords/$id\"\nimport Keyword$anchor from \"./components/keywords/$anchor\"\nimport Keyword$dynamicAnchor from \"./components/keywords/$dynamicAnchor\"\nimport Keyword$ref from \"./components/keywords/$ref\"\nimport Keyword$dynamicRef from \"./components/keywords/$dynamicRef\"\nimport Keyword$defs from \"./components/keywords/$defs\"\nimport Keyword$comment from \"./components/keywords/$comment\"\nimport KeywordAllOf from \"./components/keywords/AllOf\"\nimport KeywordAnyOf from \"./components/keywords/AnyOf\"\nimport KeywordOneOf from \"./components/keywords/OneOf\"\nimport KeywordNot from \"./components/keywords/Not\"\nimport KeywordIf from \"./components/keywords/If\"\nimport KeywordThen from \"./components/keywords/Then\"\nimport KeywordElse from \"./components/keywords/Else\"\nimport KeywordDependentSchemas from \"./components/keywords/DependentSchemas\"\nimport KeywordPrefixItems from \"./components/keywords/PrefixItems\"\nimport KeywordItems from \"./components/keywords/Items\"\nimport KeywordContains from \"./components/keywords/Contains\"\nimport KeywordProperties from \"./components/keywords/Properties/Properties\"\nimport KeywordPatternProperties from \"./components/keywords/PatternProperties/PatternProperties\"\nimport KeywordAdditionalProperties from \"./components/keywords/AdditionalProperties\"\nimport KeywordPropertyNames from \"./components/keywords/PropertyNames\"\nimport KeywordUnevaluatedItems from \"./components/keywords/UnevaluatedItems\"\nimport KeywordUnevaluatedProperties from \"./components/keywords/UnevaluatedProperties\"\nimport KeywordType from \"./components/keywords/Type\"\nimport KeywordEnum from \"./components/keywords/Enum/Enum\"\nimport KeywordConst from \"./components/keywords/Const\"\nimport KeywordConstraint from \"./components/keywords/Constraint/Constraint\"\nimport KeywordDependentRequired from \"./components/keywords/DependentRequired/DependentRequired\"\nimport KeywordContentSchema from \"./components/keywords/ContentSchema\"\nimport KeywordTitle from \"./components/keywords/Title/Title\"\nimport KeywordDescription from \"./components/keywords/Description/Description\"\nimport KeywordDefault from \"./components/keywords/Default\"\nimport KeywordDeprecated from \"./components/keywords/Deprecated\"\nimport KeywordReadOnly from \"./components/keywords/ReadOnly\"\nimport KeywordWriteOnly from \"./components/keywords/WriteOnly\"\nimport Accordion from \"./components/Accordion/Accordion\"\nimport ExpandDeepButton from \"./components/ExpandDeepButton/ExpandDeepButton\"\nimport ChevronRightIcon from \"./components/icons/ChevronRight\"\nimport { upperFirst, hasKeyword, isExpandable } from \"./fn\"\nimport { JSONSchemaDeepExpansionContext } from \"./context\"\nimport { useFn, useConfig, useComponent, useIsExpandedDeeply } from \"./hooks\"\nimport { withJSONSchemaContext } from \"./hoc\"\n\nconst JSONSchema202012Plugin = () => ({\n components: {\n JSONSchema202012: JSONSchema,\n JSONSchema202012Keyword$schema: Keyword$schema,\n JSONSchema202012Keyword$vocabulary: Keyword$vocabulary,\n JSONSchema202012Keyword$id: Keyword$id,\n JSONSchema202012Keyword$anchor: Keyword$anchor,\n JSONSchema202012Keyword$dynamicAnchor: Keyword$dynamicAnchor,\n JSONSchema202012Keyword$ref: Keyword$ref,\n JSONSchema202012Keyword$dynamicRef: Keyword$dynamicRef,\n JSONSchema202012Keyword$defs: Keyword$defs,\n JSONSchema202012Keyword$comment: Keyword$comment,\n JSONSchema202012KeywordAllOf: KeywordAllOf,\n JSONSchema202012KeywordAnyOf: KeywordAnyOf,\n JSONSchema202012KeywordOneOf: KeywordOneOf,\n JSONSchema202012KeywordNot: KeywordNot,\n JSONSchema202012KeywordIf: KeywordIf,\n JSONSchema202012KeywordThen: KeywordThen,\n JSONSchema202012KeywordElse: KeywordElse,\n JSONSchema202012KeywordDependentSchemas: KeywordDependentSchemas,\n JSONSchema202012KeywordPrefixItems: KeywordPrefixItems,\n JSONSchema202012KeywordItems: KeywordItems,\n JSONSchema202012KeywordContains: KeywordContains,\n JSONSchema202012KeywordProperties: KeywordProperties,\n JSONSchema202012KeywordPatternProperties: KeywordPatternProperties,\n JSONSchema202012KeywordAdditionalProperties: KeywordAdditionalProperties,\n JSONSchema202012KeywordPropertyNames: KeywordPropertyNames,\n JSONSchema202012KeywordUnevaluatedItems: KeywordUnevaluatedItems,\n JSONSchema202012KeywordUnevaluatedProperties: KeywordUnevaluatedProperties,\n JSONSchema202012KeywordType: KeywordType,\n JSONSchema202012KeywordEnum: KeywordEnum,\n JSONSchema202012KeywordConst: KeywordConst,\n JSONSchema202012KeywordConstraint: KeywordConstraint,\n JSONSchema202012KeywordDependentRequired: KeywordDependentRequired,\n JSONSchema202012KeywordContentSchema: KeywordContentSchema,\n JSONSchema202012KeywordTitle: KeywordTitle,\n JSONSchema202012KeywordDescription: KeywordDescription,\n JSONSchema202012KeywordDefault: KeywordDefault,\n JSONSchema202012KeywordDeprecated: KeywordDeprecated,\n JSONSchema202012KeywordReadOnly: KeywordReadOnly,\n JSONSchema202012KeywordWriteOnly: KeywordWriteOnly,\n JSONSchema202012Accordion: Accordion,\n JSONSchema202012ExpandDeepButton: ExpandDeepButton,\n JSONSchema202012ChevronRightIcon: ChevronRightIcon,\n withJSONSchema202012Context: withJSONSchemaContext,\n JSONSchema202012DeepExpansionContext: () => JSONSchemaDeepExpansionContext,\n },\n fn: {\n upperFirst,\n jsonSchema202012: {\n isExpandable,\n hasKeyword,\n useFn,\n useConfig,\n useComponent,\n useIsExpandedDeeply,\n },\n },\n})\n\nexport default JSONSchema202012Plugin\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_isPlainObject_116f2243__[\"default\"] });","/**\n * @prettier\n */\n\nexport const applyArrayConstraints = (array, constraints = {}) => {\n const { minItems, maxItems, uniqueItems } = constraints\n const { contains, minContains, maxContains } = constraints\n let constrainedArray = [...array]\n\n if (contains != null && typeof contains === \"object\") {\n if (Number.isInteger(minContains) && minContains > 1) {\n const containsItem = constrainedArray.at(0)\n for (let i = 1; i < minContains; i += 1) {\n constrainedArray.unshift(containsItem)\n }\n }\n if (Number.isInteger(maxContains) && maxContains > 0) {\n /**\n * This is noop. `minContains` already generate minimum required\n * number of items that satisfies `contains`. `maxContains` would\n * have no effect.\n */\n }\n }\n\n if (Number.isInteger(maxItems) && maxItems > 0) {\n constrainedArray = array.slice(0, maxItems)\n }\n if (Number.isInteger(minItems) && minItems > 0) {\n for (let i = 0; constrainedArray.length < minItems; i += 1) {\n constrainedArray.push(constrainedArray[i % constrainedArray.length])\n }\n }\n\n if (uniqueItems === true) {\n /**\n * If uniqueItems is true, it implies that every item in the array must be unique.\n * This overrides any minItems constraint that cannot be satisfied with unique items.\n * So if minItems is greater than the number of unique items,\n * it should be reduced to the number of unique items.\n */\n constrainedArray = Array.from(new Set(constrainedArray))\n }\n\n return constrainedArray\n}\n\nconst arrayType = (schema, { sample }) => {\n return applyArrayConstraints(sample, schema)\n}\n\nexport default arrayType\n","/**\n * @prettier\n */\n\nconst objectType = () => {\n throw new Error(\"Not implemented\")\n}\n\nexport default objectType\n","/**\n * @prettier\n */\nimport randomBytes from \"randombytes\"\nimport RandExp from \"randexp\"\n\n/**\n * Some of the functions returns constants. This is due to the nature\n * of SwaggerUI expectations - provide as stable data as possible.\n *\n * In future, we may decide to randomize these function and provide\n * true random values.\n */\n\nexport const bytes = (length) => randomBytes(length)\n\nexport const randexp = (pattern) => {\n try {\n const randexpInstance = new RandExp(pattern)\n return randexpInstance.gen()\n } catch {\n // invalid regex should not cause a crash (regex syntax varies across languages)\n return \"string\"\n }\n}\n\nexport const pick = (list) => {\n return list.at(0)\n}\n\nexport const string = () => \"string\"\n\nexport const number = () => 0\n\nexport const integer = () => 0\n","/**\n * @prettier\n */\nimport isPlainObject from \"lodash/isPlainObject\"\n\nexport const isBooleanJSONSchema = (schema) => {\n return typeof schema === \"boolean\"\n}\n\nexport const isJSONSchemaObject = (schema) => {\n return isPlainObject(schema)\n}\n\nexport const isJSONSchema = (schema) => {\n return isBooleanJSONSchema(schema) || isJSONSchemaObject(schema)\n}\n","/**\n * @prettier\n */\nconst emailGenerator = () => \"user@example.com\"\n\nexport default emailGenerator\n","/**\n * @prettier\n */\nconst idnEmailGenerator = () => \"실례@example.com\"\n\nexport default idnEmailGenerator\n","/**\n * @prettier\n */\nconst hostnameGenerator = () => \"example.com\"\n\nexport default hostnameGenerator\n","/**\n * @prettier\n */\nconst idnHostnameGenerator = () => \"실례.com\"\n\nexport default idnHostnameGenerator\n","/**\n * @prettier\n */\nconst ipv4Generator = () => \"198.51.100.42\"\n\nexport default ipv4Generator\n","/**\n * @prettier\n */\nconst ipv6Generator = () => \"2001:0db8:5b96:0000:0000:426f:8e17:642a\"\n\nexport default ipv6Generator\n","/**\n * @prettier\n */\nconst uriGenerator = () => \"https://example.com/\"\n\nexport default uriGenerator\n","/**\n * @prettier\n */\nconst uriReferenceGenerator = () => \"path/index.html\"\n\nexport default uriReferenceGenerator\n","/**\n * @prettier\n */\nconst iriGenerator = () => \"https://실례.com/\"\n\nexport default iriGenerator\n","/**\n * @prettier\n */\nconst iriReferenceGenerator = () => \"path/실례.html\"\n\nexport default iriReferenceGenerator\n","/**\n * @prettier\n */\nconst uuidGenerator = () => \"3fa85f64-5717-4562-b3fc-2c963f66afa6\"\n\nexport default uuidGenerator\n","/**\n * @prettier\n */\nconst uriTemplateGenerator = () =>\n \"https://example.com/dictionary/{term:1}/{term}\"\n\nexport default uriTemplateGenerator\n","/**\n * @prettier\n */\nconst jsonPointerGenerator = () => \"/a/b/c\"\n\nexport default jsonPointerGenerator\n","/**\n * @prettier\n */\nconst relativeJsonPointerGenerator = () => \"1/0\"\n\nexport default relativeJsonPointerGenerator\n","/**\n * @prettier\n */\nconst dateTimeGenerator = () => new Date().toISOString()\n\nexport default dateTimeGenerator\n","/**\n * @prettier\n */\nconst dateGenerator = () => new Date().toISOString().substring(0, 10)\n\nexport default dateGenerator\n","/**\n * @prettier\n */\nconst timeGenerator = () => new Date().toISOString().substring(11)\n\nexport default timeGenerator\n","/**\n * @prettier\n */\nconst durationGenerator = () => \"P3D\" // expresses a duration of 3 days\n\nexport default durationGenerator\n","/**\n * @prettier\n */\nconst passwordGenerator = () => \"********\"\n\nexport default passwordGenerator\n","/**\n * @prettier\n */\nconst regexGenerator = () => \"^[a-z]+$\"\n\nexport default regexGenerator\n","/**\n * @prettier\n */\nclass Registry {\n data = {}\n\n register(name, value) {\n this.data[name] = value\n }\n\n unregister(name) {\n if (typeof name === \"undefined\") {\n this.data = {}\n } else {\n delete this.data[name]\n }\n }\n\n get(name) {\n return this.data[name]\n }\n}\n\nexport default Registry\n","/**\n * @prettier\n */\n\nimport Registry from \"../class/Registry\"\n\nconst registry = new Registry()\n\nconst formatAPI = (format, generator) => {\n if (typeof generator === \"function\") {\n return registry.register(format, generator)\n } else if (generator === null) {\n return registry.unregister(format)\n }\n\n return registry.get(format)\n}\n\nexport default formatAPI\n","/**\n * @prettier\n */\nconst encode7bit = (content) => Buffer.from(content).toString(\"ascii\")\n\nexport default encode7bit\n","/**\n * @prettier\n */\nconst encode8bit = (content) => Buffer.from(content).toString(\"utf8\")\n\nexport default encode8bit\n","/**\n * @prettier\n */\nconst encodeBinary = (content) => Buffer.from(content).toString(\"binary\")\n\nexport default encodeBinary\n","/**\n * @prettier\n */\nconst encodeQuotedPrintable = (content) => {\n let quotedPrintable = \"\"\n\n for (let i = 0; i < content.length; i++) {\n const charCode = content.charCodeAt(i)\n\n if (charCode === 61) {\n // ASCII content of \"=\"\n quotedPrintable += \"=3D\"\n } else if (\n (charCode >= 33 && charCode <= 60) ||\n (charCode >= 62 && charCode <= 126) ||\n charCode === 9 ||\n charCode === 32\n ) {\n quotedPrintable += content.charAt(i)\n } else if (charCode === 13 || charCode === 10) {\n quotedPrintable += \"\\r\\n\"\n } else if (charCode > 126) {\n // convert non-ASCII characters to UTF-8 and encode each byte\n const utf8 = unescape(encodeURIComponent(content.charAt(i)))\n for (let j = 0; j < utf8.length; j++) {\n quotedPrintable +=\n \"=\" + (\"0\" + utf8.charCodeAt(j).toString(16)).slice(-2).toUpperCase()\n }\n } else {\n quotedPrintable +=\n \"=\" + (\"0\" + charCode.toString(16)).slice(-2).toUpperCase()\n }\n }\n\n return quotedPrintable\n}\n\nexport default encodeQuotedPrintable\n","/**\n * @prettier\n */\nconst encodeBase16 = (content) => Buffer.from(content).toString(\"hex\")\n\nexport default encodeBase16\n","/**\n * @prettier\n */\nconst encodeBase32 = (content) => {\n const utf8Value = Buffer.from(content).toString(\"utf8\")\n const base32Alphabet = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567\"\n let paddingCount = 0\n let base32Str = \"\"\n let buffer = 0\n let bufferLength = 0\n\n for (let i = 0; i < utf8Value.length; i++) {\n buffer = (buffer << 8) | utf8Value.charCodeAt(i)\n bufferLength += 8\n\n while (bufferLength >= 5) {\n base32Str += base32Alphabet.charAt((buffer >>> (bufferLength - 5)) & 31)\n bufferLength -= 5\n }\n }\n\n if (bufferLength > 0) {\n base32Str += base32Alphabet.charAt((buffer << (5 - bufferLength)) & 31)\n paddingCount = (8 - ((utf8Value.length * 8) % 5)) % 5\n }\n\n for (let i = 0; i < paddingCount; i++) {\n base32Str += \"=\"\n }\n\n return base32Str\n}\n\nexport default encodeBase32\n","/**\n * @prettier\n */\nconst encodeBase64 = (content) => Buffer.from(content).toString(\"base64\")\n\nexport default encodeBase64\n","/**\n * @prettier\n */\nconst encodeBase64Url = (content) => Buffer.from(content).toString(\"base64url\")\n\nexport default encodeBase64Url\n","/**\n * @prettier\n */\n\nimport EncoderRegistry from \"../class/EncoderRegistry\"\n\nconst registry = new EncoderRegistry()\n\nconst encoderAPI = (encodingName, encoder) => {\n if (typeof encoder === \"function\") {\n return registry.register(encodingName, encoder)\n } else if (encoder === null) {\n return registry.unregister(encodingName)\n }\n\n return registry.get(encodingName)\n}\nencoderAPI.getDefaults = () => registry.defaults\n\nexport default encoderAPI\n","/**\n * @prettier\n */\nimport Registry from \"./Registry\"\nimport encode7bit from \"../encoders/7bit\"\nimport encode8bit from \"../encoders/8bit\"\nimport encodeBinary from \"../encoders/binary\"\nimport encodeQuotedPrintable from \"../encoders/quoted-printable\"\nimport encodeBase16 from \"../encoders/base16\"\nimport encodeBase32 from \"../encoders/base32\"\nimport encodeBase64 from \"../encoders/base64\"\nimport encodeBase64Url from \"../encoders/base64url\"\n\nclass EncoderRegistry extends Registry {\n #defaults = {\n \"7bit\": encode7bit,\n \"8bit\": encode8bit,\n binary: encodeBinary,\n \"quoted-printable\": encodeQuotedPrintable,\n base16: encodeBase16,\n base32: encodeBase32,\n base64: encodeBase64,\n base64url: encodeBase64Url,\n }\n\n data = { ...this.#defaults }\n\n get defaults() {\n return { ...this.#defaults }\n }\n}\n\nexport default EncoderRegistry\n","/**\n * @prettier\n */\n\n// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types\nconst textMediaTypesGenerators = {\n \"text/plain\": () => \"string\",\n \"text/css\": () => \".selector { border: 1px solid red }\",\n \"text/csv\": () => \"value1,value2,value3\",\n \"text/html\": () => \"

    content

    \",\n \"text/calendar\": () => \"BEGIN:VCALENDAR\",\n \"text/javascript\": () => \"console.dir('Hello world!');\",\n \"text/xml\": () => 'John Doe',\n \"text/*\": () => \"string\",\n}\n\nexport default textMediaTypesGenerators\n","/**\n * @prettier\n */\nimport { bytes } from \"../../core/random\"\n\nconst imageMediaTypesGenerators = {\n \"image/*\": () => bytes(25).toString(\"binary\"),\n}\n\nexport default imageMediaTypesGenerators\n","/**\n * @prettier\n */\nimport { bytes } from \"../../core/random\"\n\nconst audioMediaTypesGenerators = {\n \"audio/*\": () => bytes(25).toString(\"binary\"),\n}\n\nexport default audioMediaTypesGenerators\n","/**\n * @prettier\n */\nimport { bytes } from \"../../core/random\"\n\nconst videoMediaTypesGenerators = {\n \"video/*\": () => bytes(25).toString(\"binary\"),\n}\n\nexport default videoMediaTypesGenerators\n","/**\n * @prettier\n */\nimport { bytes } from \"../../core/random\"\n\n// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types\nconst applicationMediaTypesGenerators = {\n \"application/json\": () => '{\"key\":\"value\"}',\n \"application/ld+json\": () => '{\"name\": \"John Doe\"}',\n \"application/x-httpd-php\": () => \"Hello World!

    '; ?>\",\n \"application/rtf\": () => String.raw`{\\rtf1\\adeflang1025\\ansi\\ansicpg1252\\uc1`,\n \"application/x-sh\": () => 'echo \"Hello World!\"',\n \"application/xhtml+xml\": () => \"

    content

    \",\n \"application/*\": () => bytes(25).toString(\"binary\"),\n}\n\nexport default applicationMediaTypesGenerators\n","/**\n * @prettier\n */\n\nimport MediaTypeRegistry from \"../class/MediaTypeRegistry\"\n\nconst registry = new MediaTypeRegistry()\n\nconst mediaTypeAPI = (mediaType, generator) => {\n if (typeof generator === \"function\") {\n return registry.register(mediaType, generator)\n } else if (generator === null) {\n return registry.unregister(mediaType)\n }\n\n const mediaTypeNoParams = mediaType.split(\";\").at(0)\n const topLevelMediaType = `${mediaTypeNoParams.split(\"/\").at(0)}/*`\n\n return (\n registry.get(mediaType) ||\n registry.get(mediaTypeNoParams) ||\n registry.get(topLevelMediaType)\n )\n}\nmediaTypeAPI.getDefaults = () => registry.defaults\n\nexport default mediaTypeAPI\n","/**\n * @prettier\n */\nimport Registry from \"./Registry\"\nimport textMediaTypesGenerators from \"../generators/media-types/text\"\nimport imageMediaTypesGenerators from \"../generators/media-types/image\"\nimport audioMediaTypesGenerators from \"../generators/media-types/audio\"\nimport videoMediaTypesGenerators from \"../generators/media-types/video\"\nimport applicationMediaTypesGenerators from \"../generators/media-types/application\"\n\nclass MediaTypeRegistry extends Registry {\n #defaults = {\n ...textMediaTypesGenerators,\n ...imageMediaTypesGenerators,\n ...audioMediaTypesGenerators,\n ...videoMediaTypesGenerators,\n ...applicationMediaTypesGenerators,\n }\n\n data = { ...this.#defaults }\n\n get defaults() {\n return { ...this.#defaults }\n }\n}\n\nexport default MediaTypeRegistry\n","/**\n * @prettier\n */\nimport identity from \"lodash/identity\"\n\nimport { string as randomString, randexp } from \"../core/random\"\nimport { isJSONSchema } from \"../core/predicates\"\nimport emailGenerator from \"../generators/email\"\nimport idnEmailGenerator from \"../generators/idn-email\"\nimport hostnameGenerator from \"../generators/hostname\"\nimport idnHostnameGenerator from \"../generators/idn-hostname\"\nimport ipv4Generator from \"../generators/ipv4\"\nimport ipv6Generator from \"../generators/ipv6\"\nimport uriGenerator from \"../generators/uri\"\nimport uriReferenceGenerator from \"../generators/uri-reference\"\nimport iriGenerator from \"../generators/iri\"\nimport iriReferenceGenerator from \"../generators/iri-reference\"\nimport uuidGenerator from \"../generators/uuid\"\nimport uriTemplateGenerator from \"../generators/uri-template\"\nimport jsonPointerGenerator from \"../generators/json-pointer\"\nimport relativeJsonPointerGenerator from \"../generators/relative-json-pointer\"\nimport dateTimeGenerator from \"../generators/date-time\"\nimport dateGenerator from \"../generators/date\"\nimport timeGenerator from \"../generators/time\"\nimport durationGenerator from \"../generators/duration\"\nimport passwordGenerator from \"../generators/password\"\nimport regexGenerator from \"../generators/regex\"\nimport formatAPI from \"../api/formatAPI\"\nimport encoderAPI from \"../api/encoderAPI\"\nimport mediaTypeAPI from \"../api/mediaTypeAPI\"\n\nconst generateFormat = (schema) => {\n const { format } = schema\n\n const formatGenerator = formatAPI(format)\n if (typeof formatGenerator === \"function\") {\n return formatGenerator(schema)\n }\n\n switch (format) {\n case \"email\": {\n return emailGenerator()\n }\n case \"idn-email\": {\n return idnEmailGenerator()\n }\n case \"hostname\": {\n return hostnameGenerator()\n }\n case \"idn-hostname\": {\n return idnHostnameGenerator()\n }\n case \"ipv4\": {\n return ipv4Generator()\n }\n case \"ipv6\": {\n return ipv6Generator()\n }\n case \"uri\": {\n return uriGenerator()\n }\n case \"uri-reference\": {\n return uriReferenceGenerator()\n }\n case \"iri\": {\n return iriGenerator()\n }\n case \"iri-reference\": {\n return iriReferenceGenerator()\n }\n case \"uuid\": {\n return uuidGenerator()\n }\n case \"uri-template\": {\n return uriTemplateGenerator()\n }\n case \"json-pointer\": {\n return jsonPointerGenerator()\n }\n case \"relative-json-pointer\": {\n return relativeJsonPointerGenerator()\n }\n case \"date-time\": {\n return dateTimeGenerator()\n }\n case \"date\": {\n return dateGenerator()\n }\n case \"time\": {\n return timeGenerator()\n }\n case \"duration\": {\n return durationGenerator()\n }\n case \"password\": {\n return passwordGenerator()\n }\n case \"regex\": {\n return regexGenerator()\n }\n }\n\n return randomString()\n}\n\nconst applyStringConstraints = (string, constraints = {}) => {\n const { maxLength, minLength } = constraints\n let constrainedString = string\n\n if (Number.isInteger(maxLength) && maxLength > 0) {\n constrainedString = constrainedString.slice(0, maxLength)\n }\n if (Number.isInteger(minLength) && minLength > 0) {\n let i = 0\n while (constrainedString.length < minLength) {\n constrainedString += constrainedString[i++ % constrainedString.length]\n }\n }\n\n return constrainedString\n}\nconst stringType = (schema, { sample } = {}) => {\n const { contentEncoding, contentMediaType, contentSchema } = schema\n const { pattern, format } = schema\n const encode = encoderAPI(contentEncoding) || identity\n let generatedString\n\n if (typeof pattern === \"string\") {\n generatedString = randexp(pattern)\n } else if (typeof format === \"string\") {\n generatedString = generateFormat(schema)\n } else if (\n isJSONSchema(contentSchema) &&\n typeof contentMediaType === \"string\" &&\n typeof sample !== \"undefined\"\n ) {\n if (Array.isArray(sample) || typeof sample === \"object\") {\n generatedString = JSON.stringify(sample)\n } else {\n generatedString = String(sample)\n }\n } else if (typeof contentMediaType === \"string\") {\n const mediaTypeGenerator = mediaTypeAPI(contentMediaType)\n if (typeof mediaTypeGenerator === \"function\") {\n generatedString = mediaTypeGenerator(schema)\n }\n } else {\n generatedString = randomString()\n }\n\n return encode(applyStringConstraints(generatedString, schema))\n}\n\nexport default stringType\n","/**\n * @prettier\n */\nconst floatGenerator = () => 0.1\n\nexport default floatGenerator\n","/**\n * @prettier\n */\nconst doubleGenerator = () => 0.1\n\nexport default doubleGenerator\n","/**\n * @prettier\n */\nimport { number as randomNumber } from \"../core/random\"\nimport formatAPI from \"../api/formatAPI\"\nimport floatGenerator from \"../generators/float\"\nimport doubleGenerator from \"../generators/double\"\n\nconst generateFormat = (schema) => {\n const { format } = schema\n\n const formatGenerator = formatAPI(format)\n if (typeof formatGenerator === \"function\") {\n return formatGenerator(schema)\n }\n\n switch (format) {\n case \"float\": {\n return floatGenerator()\n }\n case \"double\": {\n return doubleGenerator()\n }\n }\n\n return randomNumber()\n}\n\nconst applyNumberConstraints = (number, constraints = {}) => {\n const { minimum, maximum, exclusiveMinimum, exclusiveMaximum } = constraints\n const { multipleOf } = constraints\n const epsilon = Number.isInteger(number) ? 1 : Number.EPSILON\n let minValue = typeof minimum === \"number\" ? minimum : null\n let maxValue = typeof maximum === \"number\" ? maximum : null\n let constrainedNumber = number\n\n if (typeof exclusiveMinimum === \"number\") {\n minValue =\n minValue !== null\n ? Math.max(minValue, exclusiveMinimum + epsilon)\n : exclusiveMinimum + epsilon\n }\n if (typeof exclusiveMaximum === \"number\") {\n maxValue =\n maxValue !== null\n ? Math.min(maxValue, exclusiveMaximum - epsilon)\n : exclusiveMaximum - epsilon\n }\n constrainedNumber =\n (minValue > maxValue && number) || minValue || maxValue || constrainedNumber\n\n if (typeof multipleOf === \"number\" && multipleOf > 0) {\n const remainder = constrainedNumber % multipleOf\n constrainedNumber =\n remainder === 0\n ? constrainedNumber\n : constrainedNumber + multipleOf - remainder\n }\n\n return constrainedNumber\n}\n\nconst numberType = (schema) => {\n const { format } = schema\n let generatedNumber\n\n if (typeof format === \"string\") {\n generatedNumber = generateFormat(schema)\n } else {\n generatedNumber = randomNumber()\n }\n\n return applyNumberConstraints(generatedNumber, schema)\n}\n\nexport default numberType\n","/**\n * @prettier\n */\nconst int32Generator = () => (2 ** 30) >>> 0\n\nexport default int32Generator\n","/**\n * @prettier\n */\nconst int64Generator = () => 2 ** 53 - 1\n\nexport default int64Generator\n","/**\n * @prettier\n */\nimport { integer as randomInteger } from \"../core/random\"\nimport formatAPI from \"../api/formatAPI\"\nimport int32Generator from \"../generators/int32\"\nimport int64Generator from \"../generators/int64\"\n\nconst generateFormat = (schema) => {\n const { format } = schema\n\n const formatGenerator = formatAPI(format)\n if (typeof formatGenerator === \"function\") {\n return formatGenerator(schema)\n }\n\n switch (format) {\n case \"int32\": {\n return int32Generator()\n }\n case \"int64\": {\n return int64Generator()\n }\n }\n\n return randomInteger()\n}\nconst integerType = (schema) => {\n const { format } = schema\n\n if (typeof format === \"string\") {\n return generateFormat(schema)\n }\n\n return randomInteger()\n}\n\nexport default integerType\n","/**\n * @prettier\n */\n\nconst booleanType = (schema) => {\n return typeof schema.default === \"boolean\" ? schema.default : true\n}\n\nexport default booleanType\n","/**\n * @prettier\n */\nimport arrayType from \"./array\"\nimport objectType from \"./object\"\nimport stringType from \"./string\"\nimport numberType from \"./number\"\nimport integerType from \"./integer\"\nimport booleanType from \"./boolean\"\nimport nullType from \"./null\"\n\nconst typeMap = {\n array: arrayType,\n object: objectType,\n string: stringType,\n number: numberType,\n integer: integerType,\n boolean: booleanType,\n null: nullType,\n}\n\nexport default new Proxy(typeMap, {\n get(target, prop) {\n if (typeof prop === \"string\" && Object.hasOwn(target, prop)) {\n return target[prop]\n }\n\n return () => `Unknown Type: ${prop}`\n },\n})\n","/**\n * @prettier\n */\n\nconst nullType = () => {\n return null\n}\n\nexport default nullType\n","/**\n * @prettier\n */\nexport const SCALAR_TYPES = [\"number\", \"integer\", \"string\", \"boolean\", \"null\"]\n\nexport const ALL_TYPES = [\"array\", \"object\", ...SCALAR_TYPES]\n","/**\n * @prettier\n */\nimport { isJSONSchemaObject } from \"./predicates\"\n\n/**\n * Precedence of keywords that provides author defined values (top of the list = higher priority)\n *\n * ### examples\n * Array containing example values for the item defined by the schema.\n * Not guaranteed to be valid or invalid against the schema\n *\n * ### default\n * Default value for an item defined by the schema.\n * Is expected to be a valid instance of the schema.\n *\n * ### example\n * Deprecated. Part of OpenAPI 3.1.0 Schema Object dialect.\n * Represents single example. Equivalent of `examples` keywords\n * with single item.\n */\n\nexport const hasExample = (schema) => {\n if (!isJSONSchemaObject(schema)) return false\n\n const { examples, example, default: defaultVal } = schema\n\n if (Array.isArray(examples) && examples.length >= 1) {\n return true\n }\n\n if (typeof defaultVal !== \"undefined\") {\n return true\n }\n\n return typeof example !== \"undefined\"\n}\n\nexport const extractExample = (schema) => {\n if (!isJSONSchemaObject(schema)) return null\n\n const { examples, example, default: defaultVal } = schema\n\n if (Array.isArray(examples) && examples.length >= 1) {\n return examples.at(0)\n }\n\n if (typeof defaultVal !== \"undefined\") {\n return defaultVal\n }\n\n if (typeof example !== \"undefined\") {\n return example\n }\n\n return undefined\n}\n","/**\n * @prettier\n */\nimport { ALL_TYPES } from \"./constants\"\nimport { isJSONSchemaObject } from \"./predicates\"\nimport { pick as randomPick } from \"./random\"\nimport { hasExample, extractExample } from \"./example\"\n\nconst inferringKeywords = {\n array: [\n \"items\",\n \"prefixItems\",\n \"contains\",\n \"maxContains\",\n \"minContains\",\n \"maxItems\",\n \"minItems\",\n \"uniqueItems\",\n \"unevaluatedItems\",\n ],\n object: [\n \"properties\",\n \"additionalProperties\",\n \"patternProperties\",\n \"propertyNames\",\n \"minProperties\",\n \"maxProperties\",\n \"required\",\n \"dependentSchemas\",\n \"dependentRequired\",\n \"unevaluatedProperties\",\n ],\n string: [\n \"pattern\",\n \"format\",\n \"minLength\",\n \"maxLength\",\n \"contentEncoding\",\n \"contentMediaType\",\n \"contentSchema\",\n ],\n integer: [\n \"minimum\",\n \"maximum\",\n \"exclusiveMinimum\",\n \"exclusiveMaximum\",\n \"multipleOf\",\n ],\n}\ninferringKeywords.number = inferringKeywords.integer\n\nconst fallbackType = \"string\"\n\nconst inferTypeFromValue = (value) => {\n if (typeof value === \"undefined\") return null\n if (value === null) return \"null\"\n if (Array.isArray(value)) return \"array\"\n if (Number.isInteger(value)) return \"integer\"\n\n return typeof value\n}\n\nexport const foldType = (type) => {\n if (Array.isArray(type) && type.length >= 1) {\n if (type.includes(\"array\")) {\n return \"array\"\n } else if (type.includes(\"object\")) {\n return \"object\"\n } else {\n const pickedType = randomPick(type)\n if (ALL_TYPES.includes(pickedType)) {\n return pickedType\n }\n }\n }\n\n if (ALL_TYPES.includes(type)) {\n return type\n }\n\n return null\n}\n\nexport const inferType = (schema, processedSchemas = new WeakSet()) => {\n if (!isJSONSchemaObject(schema)) return fallbackType\n if (processedSchemas.has(schema)) return fallbackType\n\n processedSchemas.add(schema)\n\n let { type, const: constant } = schema\n type = foldType(type)\n\n // inferring type from inferring keywords\n if (typeof type !== \"string\") {\n const inferringTypes = Object.keys(inferringKeywords)\n\n interrupt: for (let i = 0; i < inferringTypes.length; i += 1) {\n const inferringType = inferringTypes[i]\n const inferringTypeKeywords = inferringKeywords[inferringType]\n\n for (let j = 0; j < inferringTypeKeywords.length; j += 1) {\n const inferringKeyword = inferringTypeKeywords[j]\n if (Object.hasOwn(schema, inferringKeyword)) {\n type = inferringType\n break interrupt\n }\n }\n }\n }\n\n // inferring type from const keyword\n if (typeof type !== \"string\" && typeof constant !== \"undefined\") {\n const constType = inferTypeFromValue(constant)\n type = typeof constType === \"string\" ? constType : type\n }\n\n // inferring type from combining schemas\n if (typeof type !== \"string\") {\n const combineTypes = (keyword) => {\n if (Array.isArray(schema[keyword])) {\n const combinedTypes = schema[keyword].map((subSchema) =>\n inferType(subSchema, processedSchemas)\n )\n return foldType(combinedTypes)\n }\n return null\n }\n\n const allOf = combineTypes(\"allOf\")\n const anyOf = combineTypes(\"anyOf\")\n const oneOf = combineTypes(\"oneOf\")\n const not = schema.not ? inferType(schema.not, processedSchemas) : null\n\n if (allOf || anyOf || oneOf || not) {\n type = foldType([allOf, anyOf, oneOf, not].filter(Boolean))\n }\n }\n\n // inferring type from example\n if (typeof type !== \"string\" && hasExample(schema)) {\n const example = extractExample(schema)\n const exampleType = inferTypeFromValue(example)\n type = typeof exampleType === \"string\" ? exampleType : type\n }\n\n processedSchemas.delete(schema)\n\n return type || fallbackType\n}\n\nexport const getType = (schema) => {\n return inferType(schema)\n}\n","/**\n * @prettier\n */\nimport { isBooleanJSONSchema, isJSONSchemaObject } from \"./predicates\"\n\nexport const fromJSONBooleanSchema = (schema) => {\n if (schema === false) {\n return { not: {} }\n }\n\n return {}\n}\n\nexport const typeCast = (schema) => {\n if (isBooleanJSONSchema(schema)) {\n return fromJSONBooleanSchema(schema)\n }\n if (!isJSONSchemaObject(schema)) {\n return {}\n }\n\n return schema\n}\n","/**\n * @prettier\n */\nimport { normalizeArray as ensureArray } from \"core/utils\"\nimport { isBooleanJSONSchema, isJSONSchema } from \"./predicates\"\n\nconst merge = (target, source, config = {}) => {\n if (isBooleanJSONSchema(target) && target === true) return true\n if (isBooleanJSONSchema(target) && target === false) return false\n if (isBooleanJSONSchema(source) && source === true) return true\n if (isBooleanJSONSchema(source) && source === false) return false\n\n if (!isJSONSchema(target)) return source\n if (!isJSONSchema(source)) return target\n\n /**\n * Merging properties from the source object into the target object\n * only if they do not already exist in the target object.\n */\n const merged = { ...source, ...target }\n\n // merging the type keyword\n if (source.type && target.type) {\n if (Array.isArray(source.type) && typeof source.type === \"string\") {\n const mergedType = ensureArray(source.type).concat(target.type)\n merged.type = Array.from(new Set(mergedType))\n }\n }\n\n // merging required keyword\n if (Array.isArray(source.required) && Array.isArray(target.required)) {\n merged.required = [...new Set([...target.required, ...source.required])]\n }\n\n // merging properties keyword\n if (source.properties && target.properties) {\n const allPropertyNames = new Set([\n ...Object.keys(source.properties),\n ...Object.keys(target.properties),\n ])\n\n merged.properties = {}\n for (const name of allPropertyNames) {\n const sourceProperty = source.properties[name] || {}\n const targetProperty = target.properties[name] || {}\n\n if (\n (sourceProperty.readOnly && !config.includeReadOnly) ||\n (sourceProperty.writeOnly && !config.includeWriteOnly)\n ) {\n merged.required = (merged.required || []).filter((p) => p !== name)\n } else {\n merged.properties[name] = merge(targetProperty, sourceProperty, config)\n }\n }\n }\n\n // merging items keyword\n if (isJSONSchema(source.items) && isJSONSchema(target.items)) {\n merged.items = merge(target.items, source.items, config)\n }\n\n // merging contains keyword\n if (isJSONSchema(source.contains) && isJSONSchema(target.contains)) {\n merged.contains = merge(target.contains, source.contains, config)\n }\n\n // merging contentSchema keyword\n if (\n isJSONSchema(source.contentSchema) &&\n isJSONSchema(target.contentSchema)\n ) {\n merged.contentSchema = merge(\n target.contentSchema,\n source.contentSchema,\n config\n )\n }\n\n return merged\n}\n\nexport default merge\n","/**\n * @prettier\n */\nimport XML from \"xml\"\nimport isEmpty from \"lodash/isEmpty\"\nimport isPlainObject from \"lodash/isPlainObject\"\n\nimport { objectify, normalizeArray } from \"core/utils\"\nimport memoizeN from \"core/utils/memoizeN\"\nimport typeMap from \"./types/index\"\nimport { getType } from \"./core/type\"\nimport { typeCast } from \"./core/utils\"\nimport { hasExample, extractExample } from \"./core/example\"\nimport { pick as randomPick } from \"./core/random\"\nimport merge from \"./core/merge\"\nimport { isBooleanJSONSchema, isJSONSchemaObject } from \"./core/predicates\"\n\nexport const sampleFromSchemaGeneric = (\n schema,\n config = {},\n exampleOverride = undefined,\n respectXML = false\n) => {\n if (typeof schema?.toJS === \"function\") schema = schema.toJS()\n schema = typeCast(schema)\n\n let usePlainValue = exampleOverride !== undefined || hasExample(schema)\n // first check if there is the need of combining this schema with others required by allOf\n const hasOneOf =\n !usePlainValue && Array.isArray(schema.oneOf) && schema.oneOf.length > 0\n const hasAnyOf =\n !usePlainValue && Array.isArray(schema.anyOf) && schema.anyOf.length > 0\n if (!usePlainValue && (hasOneOf || hasAnyOf)) {\n const schemaToAdd = typeCast(\n hasOneOf ? randomPick(schema.oneOf) : randomPick(schema.anyOf)\n )\n schema = merge(schema, schemaToAdd, config)\n if (!schema.xml && schemaToAdd.xml) {\n schema.xml = schemaToAdd.xml\n }\n if (hasExample(schema) && hasExample(schemaToAdd)) {\n usePlainValue = true\n }\n }\n const _attr = {}\n let { xml, properties, additionalProperties, items, contains } = schema || {}\n let type = getType(schema)\n let { includeReadOnly, includeWriteOnly } = config\n xml = xml || {}\n let { name, prefix, namespace } = xml\n let displayName\n let res = {}\n\n if (!Object.hasOwn(schema, \"type\")) {\n schema.type = type\n }\n\n // set xml naming and attributes\n if (respectXML) {\n name = name || \"notagname\"\n // add prefix to name if exists\n displayName = (prefix ? `${prefix}:` : \"\") + name\n if (namespace) {\n //add prefix to namespace if exists\n let namespacePrefix = prefix ? `xmlns:${prefix}` : \"xmlns\"\n _attr[namespacePrefix] = namespace\n }\n }\n\n // init xml default response sample obj\n if (respectXML) {\n res[displayName] = []\n }\n\n // add to result helper init for xml or json\n const props = objectify(properties)\n let addPropertyToResult\n let propertyAddedCounter = 0\n\n const hasExceededMaxProperties = () =>\n Number.isInteger(schema.maxProperties) &&\n schema.maxProperties > 0 &&\n propertyAddedCounter >= schema.maxProperties\n\n const requiredPropertiesToAdd = () => {\n if (!Array.isArray(schema.required) || schema.required.length === 0) {\n return 0\n }\n let addedCount = 0\n if (respectXML) {\n schema.required.forEach(\n (key) => (addedCount += res[key] === undefined ? 0 : 1)\n )\n } else {\n schema.required.forEach((key) => {\n addedCount +=\n res[displayName]?.find((x) => x[key] !== undefined) === undefined\n ? 0\n : 1\n })\n }\n return schema.required.length - addedCount\n }\n\n const isOptionalProperty = (propName) => {\n if (!Array.isArray(schema.required)) return true\n if (schema.required.length === 0) return true\n\n return !schema.required.includes(propName)\n }\n\n const canAddProperty = (propName) => {\n if (!(Number.isInteger(schema.maxProperties) && schema.maxProperties > 0)) {\n return true\n }\n if (hasExceededMaxProperties()) {\n return false\n }\n if (!isOptionalProperty(propName)) {\n return true\n }\n return (\n schema.maxProperties - propertyAddedCounter - requiredPropertiesToAdd() >\n 0\n )\n }\n\n if (respectXML) {\n addPropertyToResult = (propName, overrideE = undefined) => {\n if (schema && props[propName]) {\n // case it is a xml attribute\n props[propName].xml = props[propName].xml || {}\n\n if (props[propName].xml.attribute) {\n const enumAttrVal = Array.isArray(props[propName].enum)\n ? randomPick(props[propName].enum)\n : undefined\n if (hasExample(props[propName])) {\n _attr[props[propName].xml.name || propName] = extractExample(\n props[propName]\n )\n } else if (enumAttrVal !== undefined) {\n _attr[props[propName].xml.name || propName] = enumAttrVal\n } else {\n const propSchema = typeCast(props[propName])\n const propSchemaType = getType(propSchema)\n const attrName = props[propName].xml.name || propName\n _attr[attrName] = typeMap[propSchemaType](propSchema)\n }\n\n return\n }\n props[propName].xml.name = props[propName].xml.name || propName\n } else if (!props[propName] && additionalProperties !== false) {\n // case only additionalProperty that is not defined in schema\n props[propName] = {\n xml: {\n name: propName,\n },\n }\n }\n\n let t = sampleFromSchemaGeneric(\n props[propName],\n config,\n overrideE,\n respectXML\n )\n if (!canAddProperty(propName)) {\n return\n }\n\n propertyAddedCounter++\n if (Array.isArray(t)) {\n res[displayName] = res[displayName].concat(t)\n } else {\n res[displayName].push(t)\n }\n }\n } else {\n addPropertyToResult = (propName, overrideE) => {\n if (!canAddProperty(propName)) {\n return\n }\n if (\n isPlainObject(schema.discriminator?.mapping) &&\n schema.discriminator.propertyName === propName &&\n typeof schema.$$ref === \"string\"\n ) {\n for (const pair in schema.discriminator.mapping) {\n if (schema.$$ref.search(schema.discriminator.mapping[pair]) !== -1) {\n res[propName] = pair\n break\n }\n }\n } else {\n res[propName] = sampleFromSchemaGeneric(\n props[propName],\n config,\n overrideE,\n respectXML\n )\n }\n propertyAddedCounter++\n }\n }\n\n // check for plain value and if found use it to generate sample from it\n if (usePlainValue) {\n let sample\n if (exampleOverride !== undefined) {\n sample = exampleOverride\n } else {\n sample = extractExample(schema)\n }\n\n // if json just return\n if (!respectXML) {\n // spacial case yaml parser can not know about\n if (typeof sample === \"number\" && type === \"string\") {\n return `${sample}`\n }\n // return if sample does not need any parsing\n if (typeof sample !== \"string\" || type === \"string\") {\n return sample\n }\n // check if sample is parsable or just a plain string\n try {\n return JSON.parse(sample)\n } catch {\n // sample is just plain string return it\n return sample\n }\n }\n\n // generate xml sample recursively for array case\n if (type === \"array\") {\n if (!Array.isArray(sample)) {\n if (typeof sample === \"string\") {\n return sample\n }\n sample = [sample]\n }\n\n let itemSamples = []\n\n if (isJSONSchemaObject(items)) {\n items.xml = items.xml || xml || {}\n items.xml.name = items.xml.name || xml.name\n itemSamples = sample.map((s) =>\n sampleFromSchemaGeneric(items, config, s, respectXML)\n )\n }\n\n if (isJSONSchemaObject(contains)) {\n contains.xml = contains.xml || xml || {}\n contains.xml.name = contains.xml.name || xml.name\n itemSamples = [\n sampleFromSchemaGeneric(contains, config, undefined, respectXML),\n ...itemSamples,\n ]\n }\n\n itemSamples = typeMap.array(schema, { sample: itemSamples })\n if (xml.wrapped) {\n res[displayName] = itemSamples\n if (!isEmpty(_attr)) {\n res[displayName].push({ _attr: _attr })\n }\n } else {\n res = itemSamples\n }\n return res\n }\n\n // generate xml sample recursively for object case\n if (type === \"object\") {\n // case literal example\n if (typeof sample === \"string\") {\n return sample\n }\n for (const propName in sample) {\n if (!Object.hasOwn(sample, propName)) {\n continue\n }\n if (props[propName]?.readOnly && !includeReadOnly) {\n continue\n }\n if (props[propName]?.writeOnly && !includeWriteOnly) {\n continue\n }\n if (props[propName]?.xml?.attribute) {\n _attr[props[propName].xml.name || propName] = sample[propName]\n continue\n }\n addPropertyToResult(propName, sample[propName])\n }\n if (!isEmpty(_attr)) {\n res[displayName].push({ _attr: _attr })\n }\n\n return res\n }\n\n res[displayName] = !isEmpty(_attr) ? [{ _attr: _attr }, sample] : sample\n return res\n }\n\n // use schema to generate sample\n if (type === \"array\") {\n let sampleArray = []\n\n if (isJSONSchemaObject(contains)) {\n if (respectXML) {\n contains.xml = contains.xml || schema.xml || {}\n contains.xml.name = contains.xml.name || xml.name\n }\n\n if (Array.isArray(contains.anyOf)) {\n sampleArray.push(\n ...contains.anyOf.map((anyOfSchema) =>\n sampleFromSchemaGeneric(\n merge(anyOfSchema, contains, config),\n config,\n undefined,\n respectXML\n )\n )\n )\n } else if (Array.isArray(contains.oneOf)) {\n sampleArray.push(\n ...contains.oneOf.map((oneOfSchema) =>\n sampleFromSchemaGeneric(\n merge(oneOfSchema, contains, config),\n config,\n undefined,\n respectXML\n )\n )\n )\n } else if (!respectXML || (respectXML && xml.wrapped)) {\n sampleArray.push(\n sampleFromSchemaGeneric(contains, config, undefined, respectXML)\n )\n } else {\n return sampleFromSchemaGeneric(contains, config, undefined, respectXML)\n }\n }\n\n if (isJSONSchemaObject(items)) {\n if (respectXML) {\n items.xml = items.xml || schema.xml || {}\n items.xml.name = items.xml.name || xml.name\n }\n\n if (Array.isArray(items.anyOf)) {\n sampleArray.push(\n ...items.anyOf.map((i) =>\n sampleFromSchemaGeneric(\n merge(i, items, config),\n config,\n undefined,\n respectXML\n )\n )\n )\n } else if (Array.isArray(items.oneOf)) {\n sampleArray.push(\n ...items.oneOf.map((i) =>\n sampleFromSchemaGeneric(\n merge(i, items, config),\n config,\n undefined,\n respectXML\n )\n )\n )\n } else if (!respectXML || (respectXML && xml.wrapped)) {\n sampleArray.push(\n sampleFromSchemaGeneric(items, config, undefined, respectXML)\n )\n } else {\n return sampleFromSchemaGeneric(items, config, undefined, respectXML)\n }\n }\n\n sampleArray = typeMap.array(schema, { sample: sampleArray })\n if (respectXML && xml.wrapped) {\n res[displayName] = sampleArray\n if (!isEmpty(_attr)) {\n res[displayName].push({ _attr: _attr })\n }\n return res\n }\n\n return sampleArray\n }\n\n if (type === \"object\") {\n for (let propName in props) {\n if (!Object.hasOwn(props, propName)) {\n continue\n }\n if (props[propName]?.deprecated) {\n continue\n }\n if (props[propName]?.readOnly && !includeReadOnly) {\n continue\n }\n if (props[propName]?.writeOnly && !includeWriteOnly) {\n continue\n }\n addPropertyToResult(propName)\n }\n if (respectXML && _attr) {\n res[displayName].push({ _attr: _attr })\n }\n\n if (hasExceededMaxProperties()) {\n return res\n }\n\n if (isBooleanJSONSchema(additionalProperties) && additionalProperties) {\n if (respectXML) {\n res[displayName].push({ additionalProp: \"Anything can be here\" })\n } else {\n res.additionalProp1 = {}\n }\n propertyAddedCounter++\n } else if (isJSONSchemaObject(additionalProperties)) {\n const additionalProps = additionalProperties\n const additionalPropSample = sampleFromSchemaGeneric(\n additionalProps,\n config,\n undefined,\n respectXML\n )\n\n if (\n respectXML &&\n typeof additionalProps?.xml?.name === \"string\" &&\n additionalProps?.xml?.name !== \"notagname\"\n ) {\n res[displayName].push(additionalPropSample)\n } else {\n const toGenerateCount =\n Number.isInteger(schema.minProperties) &&\n schema.minProperties > 0 &&\n propertyAddedCounter < schema.minProperties\n ? schema.minProperties - propertyAddedCounter\n : 3\n for (let i = 1; i <= toGenerateCount; i++) {\n if (hasExceededMaxProperties()) {\n return res\n }\n if (respectXML) {\n const temp = {}\n temp[\"additionalProp\" + i] = additionalPropSample[\"notagname\"]\n res[displayName].push(temp)\n } else {\n res[\"additionalProp\" + i] = additionalPropSample\n }\n propertyAddedCounter++\n }\n }\n }\n return res\n }\n\n let value\n if (typeof schema.const !== \"undefined\") {\n // display const value\n value = schema.const\n } else if (schema && Array.isArray(schema.enum)) {\n //display enum first value\n value = randomPick(normalizeArray(schema.enum))\n } else {\n // display schema default\n const contentSample = isJSONSchemaObject(schema.contentSchema)\n ? sampleFromSchemaGeneric(\n schema.contentSchema,\n config,\n undefined,\n respectXML\n )\n : undefined\n value = typeMap[type](schema, { sample: contentSample })\n }\n\n if (respectXML) {\n res[displayName] = !isEmpty(_attr) ? [{ _attr: _attr }, value] : value\n return res\n }\n\n return value\n}\n\nexport const createXMLExample = (schema, config, o) => {\n const json = sampleFromSchemaGeneric(schema, config, o, true)\n if (!json) {\n return\n }\n if (typeof json === \"string\") {\n return json\n }\n return XML(json, { declaration: true, indent: \"\\t\" })\n}\n\nexport const sampleFromSchema = (schema, config, o) => {\n return sampleFromSchemaGeneric(schema, config, o, false)\n}\n\nconst resolver = (arg1, arg2, arg3) => [\n arg1,\n JSON.stringify(arg2),\n JSON.stringify(arg3),\n]\n\nexport const memoizedCreateXMLExample = memoizeN(createXMLExample, resolver)\n\nexport const memoizedSampleFromSchema = memoizeN(sampleFromSchema, resolver)\n","/**\n * @prettier\n */\nimport some from \"lodash/some\"\n\nconst shouldStringifyTypesConfig = [\n {\n when: /json/,\n shouldStringifyTypes: [\"string\"],\n },\n]\nconst defaultStringifyTypes = [\"object\"]\nconst makeGetJsonSampleSchema =\n (getSystem) => (schema, config, contentType, exampleOverride) => {\n const { fn } = getSystem()\n const res = fn.jsonSchema202012.memoizedSampleFromSchema(\n schema,\n config,\n exampleOverride\n )\n const resType = typeof res\n\n const typesToStringify = shouldStringifyTypesConfig.reduce(\n (types, nextConfig) =>\n nextConfig.when.test(contentType)\n ? [...types, ...nextConfig.shouldStringifyTypes]\n : types,\n defaultStringifyTypes\n )\n\n return some(typesToStringify, (x) => x === resType)\n ? JSON.stringify(res, null, 2)\n : res\n }\n\nexport default makeGetJsonSampleSchema\n","/**\n * @prettier\n */\nimport YAML, { JSON_SCHEMA } from \"js-yaml\"\n\nconst makeGetYamlSampleSchema =\n (getSystem) => (schema, config, contentType, exampleOverride) => {\n const { fn } = getSystem()\n const jsonExample = fn.jsonSchema202012.getJsonSampleSchema(\n schema,\n config,\n contentType,\n exampleOverride\n )\n let yamlString\n try {\n yamlString = YAML.dump(\n YAML.load(jsonExample),\n {\n lineWidth: -1, // don't generate line folds\n },\n { schema: JSON_SCHEMA }\n )\n if (yamlString[yamlString.length - 1] === \"\\n\") {\n yamlString = yamlString.slice(0, yamlString.length - 1)\n }\n } catch (e) {\n console.error(e)\n return \"error: could not generate yaml example\"\n }\n return yamlString.replace(/\\t/g, \" \")\n }\n\nexport default makeGetYamlSampleSchema\n","/**\n * @prettier\n */\nconst makeGetXmlSampleSchema =\n (getSystem) => (schema, config, exampleOverride) => {\n const { fn } = getSystem()\n\n if (schema && !schema.xml) {\n schema.xml = {}\n }\n if (schema && !schema.xml.name) {\n if (\n !schema.$$ref &&\n (schema.type ||\n schema.items ||\n schema.properties ||\n schema.additionalProperties)\n ) {\n // eslint-disable-next-line quotes\n return '\\n'\n }\n if (schema.$$ref) {\n let match = schema.$$ref.match(/\\S*\\/(\\S+)$/)\n schema.xml.name = match[1]\n }\n }\n\n return fn.jsonSchema202012.memoizedCreateXMLExample(\n schema,\n config,\n exampleOverride\n )\n }\n\nexport default makeGetXmlSampleSchema\n","/**\n * @prettier\n */\nconst makeGetSampleSchema =\n (getSystem) =>\n (schema, contentType = \"\", config = {}, exampleOverride = undefined) => {\n const { fn } = getSystem()\n\n if (typeof schema?.toJS === \"function\") {\n schema = schema.toJS()\n }\n if (typeof exampleOverride?.toJS === \"function\") {\n exampleOverride = exampleOverride.toJS()\n }\n\n if (/xml/.test(contentType)) {\n return fn.jsonSchema202012.getXmlSampleSchema(\n schema,\n config,\n exampleOverride\n )\n }\n if (/(yaml|yml)/.test(contentType)) {\n return fn.jsonSchema202012.getYamlSampleSchema(\n schema,\n config,\n contentType,\n exampleOverride\n )\n }\n return fn.jsonSchema202012.getJsonSampleSchema(\n schema,\n config,\n contentType,\n exampleOverride\n )\n }\n\nexport default makeGetSampleSchema\n","/**\n * @prettier\n */\nimport {\n sampleFromSchema,\n sampleFromSchemaGeneric,\n createXMLExample,\n memoizedSampleFromSchema,\n memoizedCreateXMLExample,\n encoderAPI,\n mediaTypeAPI,\n formatAPI,\n} from \"./fn/index\"\nimport makeGetJsonSampleSchema from \"./fn/get-json-sample-schema\"\nimport makeGetYamlSampleSchema from \"./fn/get-yaml-sample-schema\"\nimport makeGetXmlSampleSchema from \"./fn/get-xml-sample-schema\"\nimport makeGetSampleSchema from \"./fn/get-sample-schema\"\n\nconst JSONSchema202012SamplesPlugin = ({ getSystem }) => {\n const getJsonSampleSchema = makeGetJsonSampleSchema(getSystem)\n const getYamlSampleSchema = makeGetYamlSampleSchema(getSystem)\n const getXmlSampleSchema = makeGetXmlSampleSchema(getSystem)\n const getSampleSchema = makeGetSampleSchema(getSystem)\n\n return {\n fn: {\n jsonSchema202012: {\n sampleFromSchema,\n sampleFromSchemaGeneric,\n sampleEncoderAPI: encoderAPI,\n sampleFormatAPI: formatAPI,\n sampleMediaTypeAPI: mediaTypeAPI,\n createXMLExample,\n memoizedSampleFromSchema,\n memoizedCreateXMLExample,\n getJsonSampleSchema,\n getYamlSampleSchema,\n getXmlSampleSchema,\n getSampleSchema,\n },\n },\n }\n}\n\nexport default JSONSchema202012SamplesPlugin\n","/**\n * @prettier\n */\nimport BasePreset from \"core/presets/base\"\nimport OpenAPI30Plugin from \"core/plugins/oas3\"\nimport OpenAPI31Plugin from \"core/plugins/oas31\"\nimport JSONSchema202012Plugin from \"core/plugins/json-schema-2020-12\"\nimport JSONSchema202012SamplesPlugin from \"core/plugins/json-schema-2020-12-samples\"\n\nexport default function PresetApis() {\n return [\n BasePreset,\n OpenAPI30Plugin,\n JSONSchema202012Plugin,\n JSONSchema202012SamplesPlugin,\n OpenAPI31Plugin,\n ]\n}\n","import deepExtend from \"deep-extend\"\n\nimport System from \"./system\"\n// presets\nimport BasePreset from \"./presets/base\"\nimport ApisPreset from \"./presets/apis\"\n// plugins\nimport AuthPlugin from \"./plugins/auth/\"\nimport ConfigsPlugin from \"./plugins/configs\"\nimport DeepLinkingPlugin from \"./plugins/deep-linking\"\nimport ErrPlugin from \"./plugins/err\"\nimport FilterPlugin from \"./plugins/filter\"\nimport IconsPlugin from \"./plugins/icons\"\nimport JSONSchema202012Plugin from \"./plugins/json-schema-2020-12\"\nimport JSONSchema202012SamplesPlugin from \"./plugins/json-schema-2020-12-samples\"\nimport LayoutPlugin from \"./plugins/layout\"\nimport LogsPlugin from \"./plugins/logs\"\nimport OpenAPI30Plugin from \"./plugins/oas3\"\nimport OpenAPI31Plugin from \"./plugins/oas3\"\nimport OnCompletePlugin from \"./plugins/on-complete\"\nimport RequestSnippetsPlugin from \"./plugins/request-snippets\"\nimport JSONSchema5SamplesPlugin from \"./plugins/json-schema-5-samples\"\nimport SpecPlugin from \"./plugins/spec\"\nimport SwaggerClientPlugin from \"./plugins/swagger-client\"\nimport UtilPlugin from \"./plugins/util\"\nimport ViewPlugin from \"./plugins/view\"\nimport DownloadUrlPlugin from \"./plugins/download-url\"\nimport SafeRenderPlugin from \"./plugins/safe-render\"\n\nimport { parseSearch } from \"./utils\"\nimport win from \"./window\"\n\n// eslint-disable-next-line no-undef\nconst { GIT_DIRTY, GIT_COMMIT, PACKAGE_VERSION, BUILD_TIME } = buildInfo\n\nexport default function SwaggerUI(opts) {\n\n win.versions = win.versions || {}\n win.versions.swaggerUi = {\n version: PACKAGE_VERSION,\n gitRevision: GIT_COMMIT,\n gitDirty: GIT_DIRTY,\n buildTimestamp: BUILD_TIME,\n }\n\n const defaults = {\n // Some general settings, that we floated to the top\n dom_id: null, // eslint-disable-line camelcase\n domNode: null,\n spec: {},\n url: \"\",\n urls: null,\n layout: \"BaseLayout\",\n docExpansion: \"list\",\n maxDisplayedTags: null,\n filter: null,\n validatorUrl: \"https://validator.swagger.io/validator\",\n oauth2RedirectUrl: `${window.location.protocol}//${window.location.host}${window.location.pathname.substring(0, window.location.pathname.lastIndexOf(\"/\"))}/oauth2-redirect.html`,\n persistAuthorization: false,\n configs: {},\n custom: {},\n displayOperationId: false,\n displayRequestDuration: false,\n deepLinking: false,\n tryItOutEnabled: false,\n requestInterceptor: (a => a),\n responseInterceptor: (a => a),\n showMutatedRequest: true,\n defaultModelRendering: \"example\",\n defaultModelExpandDepth: 1,\n defaultModelsExpandDepth: 1,\n showExtensions: false,\n showCommonExtensions: false,\n withCredentials: undefined,\n requestSnippetsEnabled: false,\n requestSnippets: {\n generators: {\n \"curl_bash\": {\n title: \"cURL (bash)\",\n syntax: \"bash\"\n },\n \"curl_powershell\": {\n title: \"cURL (PowerShell)\",\n syntax: \"powershell\"\n },\n \"curl_cmd\": {\n title: \"cURL (CMD)\",\n syntax: \"bash\"\n },\n },\n defaultExpanded: true,\n languages: null, // e.g. only show curl bash = [\"curl_bash\"]\n },\n supportedSubmitMethods: [\n \"get\",\n \"put\",\n \"post\",\n \"delete\",\n \"options\",\n \"head\",\n \"patch\",\n \"trace\"\n ],\n queryConfigEnabled: false,\n\n // Initial set of plugins ( TODO rename this, or refactor - we don't need presets _and_ plugins. Its just there for performance.\n // Instead, we can compile the first plugin ( it can be a collection of plugins ), then batch the rest.\n presets: [\n ApisPreset\n ],\n\n // Plugins; ( loaded after presets )\n plugins: [\n ],\n\n pluginsOptions: {\n // Behavior during plugin registration. Can be :\n // - legacy (default) : the current behavior for backward compatibility – last plugin takes precedence over the others\n // - chain : chain wrapComponents when targeting the same core component\n pluginLoadType: \"legacy\"\n },\n\n // Initial state\n initialState: { },\n\n // Inline Plugin\n fn: { },\n components: { },\n\n syntaxHighlight: {\n activated: true,\n theme: \"agate\"\n }\n }\n\n let queryConfig = opts.queryConfigEnabled ? parseSearch() : {}\n\n const domNode = opts.domNode\n delete opts.domNode\n\n const constructorConfig = deepExtend({}, defaults, opts, queryConfig)\n\n const storeConfigs = {\n system: {\n configs: constructorConfig.configs\n },\n plugins: constructorConfig.presets,\n pluginsOptions: constructorConfig.pluginsOptions,\n state: deepExtend({\n layout: {\n layout: constructorConfig.layout,\n filter: constructorConfig.filter\n },\n spec: {\n spec: \"\",\n // support Relative References\n url: constructorConfig.url,\n },\n requestSnippets: constructorConfig.requestSnippets\n }, constructorConfig.initialState)\n }\n\n if(constructorConfig.initialState) {\n // if the user sets a key as `undefined`, that signals to us that we\n // should delete the key entirely.\n // known usage: Swagger-Editor validate plugin tests\n for (var key in constructorConfig.initialState) {\n if(\n Object.prototype.hasOwnProperty.call(constructorConfig.initialState, key)\n && constructorConfig.initialState[key] === undefined\n ) {\n delete storeConfigs.state[key]\n }\n }\n }\n\n let inlinePlugin = ()=> {\n return {\n fn: constructorConfig.fn,\n components: constructorConfig.components,\n state: constructorConfig.state,\n }\n }\n\n var store = new System(storeConfigs)\n store.register([constructorConfig.plugins, inlinePlugin])\n\n var system = store.getSystem()\n\n const downloadSpec = (fetchedConfig) => {\n let localConfig = system.specSelectors.getLocalConfig ? system.specSelectors.getLocalConfig() : {}\n let mergedConfig = deepExtend({}, localConfig, constructorConfig, fetchedConfig || {}, queryConfig)\n\n // deep extend mangles domNode, we need to set it manually\n if(domNode) {\n mergedConfig.domNode = domNode\n }\n\n store.setConfigs(mergedConfig)\n system.configsActions.loaded()\n\n if (fetchedConfig !== null) {\n if (!queryConfig.url && typeof mergedConfig.spec === \"object\" && Object.keys(mergedConfig.spec).length) {\n system.specActions.updateUrl(\"\")\n system.specActions.updateLoadingStatus(\"success\")\n system.specActions.updateSpec(JSON.stringify(mergedConfig.spec))\n } else if (system.specActions.download && mergedConfig.url && !mergedConfig.urls) {\n system.specActions.updateUrl(mergedConfig.url)\n system.specActions.download(mergedConfig.url)\n }\n }\n\n if(mergedConfig.domNode) {\n system.render(mergedConfig.domNode, \"App\")\n } else if(mergedConfig.dom_id) {\n let domNode = document.querySelector(mergedConfig.dom_id)\n system.render(domNode, \"App\")\n } else if(mergedConfig.dom_id === null || mergedConfig.domNode === null) {\n // do nothing\n // this is useful for testing that does not need to do any rendering\n } else {\n console.error(\"Skipped rendering: no `dom_id` or `domNode` was specified\")\n }\n\n return system\n }\n\n const configUrl = queryConfig.config || constructorConfig.configUrl\n\n if (configUrl && system.specActions && system.specActions.getConfigByUrl) {\n system.specActions.getConfigByUrl({\n url: configUrl,\n loadRemoteConfig: true,\n requestInterceptor: constructorConfig.requestInterceptor,\n responseInterceptor: constructorConfig.responseInterceptor,\n }, downloadSpec)\n } else {\n return downloadSpec()\n }\n\n return system\n}\n\nSwaggerUI.System = System\n\nSwaggerUI.presets = {\n base: BasePreset,\n apis: ApisPreset,\n}\n\nSwaggerUI.plugins = {\n Auth: AuthPlugin,\n Configs: ConfigsPlugin,\n DeepLining: DeepLinkingPlugin,\n Err: ErrPlugin,\n Filter: FilterPlugin,\n Icons: IconsPlugin,\n JSONSchema5Samples: JSONSchema5SamplesPlugin,\n JSONSchema202012: JSONSchema202012Plugin,\n JSONSchema202012Samples: JSONSchema202012SamplesPlugin,\n Layout: LayoutPlugin,\n Logs: LogsPlugin,\n OpenAPI30: OpenAPI30Plugin,\n OpenAPI31: OpenAPI31Plugin,\n OnComplete: OnCompletePlugin,\n RequestSnippets: RequestSnippetsPlugin,\n Spec: SpecPlugin,\n SwaggerClient: SwaggerClientPlugin,\n Util: UtilPlugin,\n View: ViewPlugin,\n DownloadUrl: DownloadUrlPlugin,\n SafeRender: SafeRenderPlugin,\n}\n","import SwaggerUI from \"./core\"\n\nexport default SwaggerUI\n"],"names":["base64","ieee754","customInspectSymbol","Symbol","exports","Buffer","SlowBuffer","length","alloc","INSPECT_MAX_BYTES","K_MAX_LENGTH","createBuffer","RangeError","buf","Uint8Array","Object","setPrototypeOf","prototype","arg","encodingOrOffset","TypeError","allocUnsafe","from","value","fromString","string","encoding","isEncoding","byteLength","actual","write","slice","ArrayBuffer","isView","fromArrayView","arrayView","isInstance","copy","fromArrayBuffer","buffer","byteOffset","fromArrayLike","SharedArrayBuffer","valueOf","b","fromObject","obj","isBuffer","len","checked","undefined","numberIsNaN","type","Array","isArray","data","toPrimitive","assertSize","size","array","i","toString","mustMatch","arguments","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","slowToString","start","end","this","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","n","m","bidirectionalIndexOf","val","dir","arrayIndexOf","indexOf","call","lastIndexOf","arr","indexSize","arrLength","valLength","String","read","readUInt16BE","foundIndex","found","j","hexWrite","offset","Number","remaining","strLen","parsed","parseInt","substr","utf8Write","blitBuffer","asciiWrite","asciiToBytes","str","byteArray","push","charCodeAt","base64Write","ucs2Write","utf16leToBytes","units","c","hi","lo","fromByteArray","Math","min","res","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","decodeCodePointsArray","codePoints","MAX_ARGUMENTS_LENGTH","fromCharCode","apply","kMaxLength","TYPED_ARRAY_SUPPORT","typedArraySupport","proto","foo","e","console","error","defineProperty","enumerable","get","poolSize","fill","allocUnsafeSlow","_isBuffer","compare","a","x","y","concat","list","pos","set","swap16","swap32","swap64","toLocaleString","equals","inspect","max","replace","trim","target","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","Error","toJSON","_arr","ret","out","hexSliceLookupTable","bytes","checkOffset","ext","checkInt","wrtBigUInt64LE","checkIntBI","BigInt","wrtBigUInt64BE","checkIEEE754","writeFloat","littleEndian","noAssert","writeDouble","newBuf","subarray","readUintLE","readUIntLE","mul","readUintBE","readUIntBE","readUint8","readUInt8","readUint16LE","readUInt16LE","readUint16BE","readUint32LE","readUInt32LE","readUint32BE","readUInt32BE","readBigUInt64LE","defineBigIntMethod","validateNumber","first","last","boundsError","readBigUInt64BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readBigInt64LE","readBigInt64BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUintLE","writeUIntLE","writeUintBE","writeUIntBE","writeUint8","writeUInt8","writeUint16LE","writeUInt16LE","writeUint16BE","writeUInt16BE","writeUint32LE","writeUInt32LE","writeUint32BE","writeUInt32BE","writeBigUInt64LE","writeBigUInt64BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeBigInt64LE","writeBigInt64BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","copyWithin","code","errors","E","sym","getMessage","Base","NodeError","constructor","super","writable","configurable","name","stack","message","addNumericalSeparator","range","ERR_OUT_OF_RANGE","checkBounds","ERR_INVALID_ARG_TYPE","floor","ERR_BUFFER_OUT_OF_BOUNDS","input","msg","received","isInteger","abs","INVALID_BASE64_RE","Infinity","leadSurrogate","toByteArray","base64clean","split","src","dst","alphabet","table","i16","fn","BufferBigIntNotDefined","isSpecificValue","Date","RegExp","cloneSpecificValue","getTime","deepCloneArray","clone","forEach","item","index","deepExtend","safeGetProperty","object","property","module","keys","key","ReflectOwnKeys","R","Reflect","ReflectApply","receiver","args","Function","ownKeys","getOwnPropertySymbols","getOwnPropertyNames","NumberIsNaN","isNaN","EventEmitter","init","once","emitter","Promise","resolve","reject","errorListener","err","removeListener","resolver","eventTargetAgnosticAddListener","addErrorHandlerIfEventEmitter","handler","flags","on","_events","_eventsCount","_maxListeners","defaultMaxListeners","checkListener","listener","_getMaxListeners","that","_addListener","prepend","events","existing","create","newListener","emit","unshift","warned","w","count","ProcessEmitWarning","warning","warn","onceWrapper","fired","wrapFn","_onceWrap","state","wrapped","bind","_listeners","unwrap","evlistener","unwrapListeners","arrayClone","listenerCount","addEventListener","wrapListener","removeEventListener","getPrototypeOf","setMaxListeners","getMaxListeners","doError","er","context","listeners","addListener","prependListener","prependOnceListener","position","originalListener","shift","spliceOne","pop","off","removeAllListeners","rawListeners","eventNames","inherits","ctor","superCtor","super_","TempCtor","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","run","runClearTimeout","marker","Item","noop","nextTick","title","browser","env","argv","version","versions","binding","cwd","chdir","umask","MAX_BYTES","MAX_UINT32","crypto","g","msCrypto","getRandomValues","randomBytes","cb","generated","oldBrowser","codes","createErrorType","_Base","arg1","arg2","arg3","_inheritsLoose","subClass","superClass","__proto__","oneOf","expected","thing","map","join","determiner","startsWith","search","endsWith","this_len","substring","objectKeys","Duplex","Readable","Writable","v","method","options","allowHalfOpen","readable","onend","_writableState","ended","onEndNT","self","highWaterMark","getBuffer","_readableState","destroyed","PassThrough","Transform","_transform","chunk","ReadableState","EElistenerCount","Stream","OurUint8Array","window","debug","debugUtil","debuglog","StringDecoder","createReadableStreamAsyncIterator","BufferList","destroyImpl","getHighWaterMark","_require$codes","ERR_STREAM_PUSH_AFTER_EOF","ERR_METHOD_NOT_IMPLEMENTED","ERR_STREAM_UNSHIFT_AFTER_END_EVENT","errorOrDestroy","kProxyEvents","stream","isDuplex","objectMode","readableObjectMode","pipes","pipesCount","flowing","endEmitted","reading","sync","needReadable","emittedReadable","readableListening","resumeScheduled","paused","emitClose","autoDestroy","defaultEncoding","awaitDrain","readingMore","decoder","_read","destroy","_destroy","readableAddChunk","addToFront","skipChunkCheck","onEofChunk","emitReadable","emitReadable_","chunkInvalid","_isUint8Array","_uint8ArrayToBuffer","addChunk","maybeReadMore","_undestroy","undestroy","isPaused","setEncoding","enc","p","head","content","next","clear","MAX_HWM","howMuchToRead","computeNewHighWaterMark","flow","maybeReadMore_","updateReadableListening","resume","nReadingNextTick","resume_","fromList","consume","endReadable","endReadableNT","wState","finished","xs","l","nOrig","doRead","pipe","dest","pipeOpts","endFn","stdout","stderr","unpipe","onunpipe","unpipeInfo","hasUnpiped","cleanup","onclose","onfinish","ondrain","onerror","ondata","cleanedUp","needDrain","pipeOnDrain","pipeOnDrainFunctionResult","pause","event","dests","splice","ev","wrap","_this","methodWrap","methodWrapReturnFunction","asyncIterator","_fromList","iterable","opts","ERR_MULTIPLE_CALLBACK","ERR_TRANSFORM_ALREADY_TRANSFORMING","ERR_TRANSFORM_WITH_LENGTH_0","afterTransform","ts","_transformState","transforming","writecb","writechunk","rs","needTransform","writeencoding","transform","flush","_flush","prefinish","done","_write","err2","CorkedRequest","entry","finish","onCorkedFinish","corkReq","callback","pendingcb","corkedRequestsFree","WritableState","internalUtil","deprecate","realHasInstance","ERR_STREAM_CANNOT_PIPE","ERR_STREAM_DESTROYED","ERR_STREAM_NULL_VALUES","ERR_STREAM_WRITE_AFTER_END","ERR_UNKNOWN_ENCODING","nop","writableObjectMode","finalCalled","ending","noDecode","decodeStrings","writing","corked","bufferProcessing","onwrite","onwriteStateUpdate","writelen","onwriteError","finishMaybe","errorEmitted","needFinish","bufferedRequest","clearBuffer","afterWrite","lastBufferedRequest","prefinished","bufferedRequestCount","writev","_writev","final","_final","doWrite","onwriteDrain","holder","allBuffers","isBuf","callFinal","need","rState","current","writableStateBufferGetter","_","hasInstance","writeAfterEnd","validChunk","writeOrBuffer","newChunk","decodeChunk","cork","uncork","setDefaultEncoding","endWritable","_Object$setPrototypeO","_defineProperty","_toPropertyKey","_toPrimitive","hint","prim","kLastResolve","kLastReject","kError","kEnded","kLastPromise","kHandlePromise","kStream","createIterResult","readAndResolve","iter","onReadable","AsyncIteratorPrototype","ReadableStreamAsyncIteratorPrototype","promise","lastPromise","wrapForNext","then","_return","_this2","_Object$create","iterator","enumerableOnly","symbols","filter","getOwnPropertyDescriptor","_objectSpread","source","getOwnPropertyDescriptors","defineProperties","_defineProperties","props","descriptor","custom","_classCallCheck","instance","Constructor","tail","_createClass","protoProps","staticProps","s","hasStrings","_getString","_getBuffer","nb","depth","customInspect","emitErrorAndCloseNT","emitErrorNT","emitCloseNT","readableDestroyed","writableDestroyed","ERR_STREAM_PREMATURE_CLOSE","eos","called","_len","_key","onlegacyfinish","writableEnded","readableEnded","onrequest","req","isRequest","setHeader","abort","ERR_MISSING_ARGS","to","pipeline","streams","popCallback","destroys","destroyer","closed","reduce","ERR_INVALID_OPT_VALUE","duplexKey","hwm","highWaterMarkFrom","copyProps","SafeBuffer","Hash","blockSize","finalSize","_block","_finalSize","_blockSize","update","block","accum","assigned","remainder","_update","digest","rem","bits","lowBits","highBits","hash","_hash","SHA","algorithm","Algorithm","sha","sha1","sha224","sha256","sha384","sha512","K","W","Sha","_w","rotl30","num","ft","d","_a","_b","_c","_d","_e","M","t","H","Sha1","rotl5","Sha256","Sha224","_f","_g","_h","ch","z","maj","sigma0","sigma1","gamma0","f","h","T1","T2","SHA512","Sha384","_ah","_bh","_ch","_dh","_eh","_fh","_gh","_hh","_al","_bl","_cl","_dl","_el","_fl","_gl","_hl","writeInt64BE","Sha512","Ch","xl","Gamma0","Gamma0l","Gamma1","Gamma1l","getCarry","ah","bh","dh","eh","fh","gh","hh","al","bl","cl","dl","el","fl","gl","hl","xh","gamma0l","gamma1","gamma1l","Wi7h","Wi7l","Wi16h","Wi16l","Wil","Wih","majh","majl","sigma0h","sigma0l","sigma1h","sigma1l","Kih","Kil","chh","chl","t1l","t1h","t2l","t2h","EE","_isStdio","didOnEnd","normalizeEncoding","nenc","_normalizeEncoding","retried","text","utf16Text","utf16End","fillLast","utf8FillLast","base64Text","base64End","simpleWrite","simpleEnd","lastNeed","lastTotal","lastChar","utf8CheckByte","byte","r","utf8CheckExtraBytes","utf8End","utf8Text","total","utf8CheckIncomplete","config","localStorage","deprecated","trace","XML_CHARACTER_MAP","escapeForXML","indent","indent_count","indent_spaces","create_indent","character","values","_elem","icount","indents","interrupt","isStringContent","attributes","get_attributes","attribute","_attr","_cdata","format","append","elem","proceed","xml","output","interrupted","instant","delay","func","add","declaration","addXmlDeclaration","attr","standalone","element","Element","__WEBPACK_EXTERNAL_MODULE_base64_js_f145eb6e__","__WEBPACK_EXTERNAL_MODULE_ieee754__","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","__esModule","definition","o","globalThis","prop","hasOwnProperty","toStringTag","__WEBPACK_EXTERNAL_MODULE_react__","Component","PureComponent","createContext","createElement","forwardRef","useCallback","useContext","useEffect","useRef","useState","__WEBPACK_EXTERNAL_MODULE_redux__","applyMiddleware","bindActionCreators","compose","createStore","__WEBPACK_EXTERNAL_MODULE_immutable__","List","Map","OrderedMap","Seq","Set","fromJS","__WEBPACK_EXTERNAL_MODULE_redux_immutable_446c9f82__","combineReducers","__WEBPACK_EXTERNAL_MODULE_serialize_error_5f2df3e5__","serializeError","__WEBPACK_EXTERNAL_MODULE_lodash_merge_cf99375a__","NEW_THROWN_ERR","NEW_THROWN_ERR_BATCH","NEW_SPEC_ERR","NEW_SPEC_ERR_BATCH","NEW_AUTH_ERR","CLEAR","CLEAR_BY","newThrownErr","payload","newThrownErrBatch","newSpecErr","newSpecErrBatch","errArray","newAuthErr","clearBy","makeWindow","win","location","history","open","close","File","FormData","__WEBPACK_EXTERNAL_MODULE__braintree_sanitize_url_2340607f__","sanitizeUrl","__WEBPACK_EXTERNAL_MODULE_lodash_memoize_2b5bc477__","__WEBPACK_EXTERNAL_MODULE_lodash_find_e8ecc2cb__","__WEBPACK_EXTERNAL_MODULE_lodash_some_5cd47809__","__WEBPACK_EXTERNAL_MODULE_lodash_eq_b41b823a__","__WEBPACK_EXTERNAL_MODULE_lodash_isFunction_f90b20d6__","__WEBPACK_EXTERNAL_MODULE_css_escape_2d301448__","swagger2SchemaKeys","Im","of","getParameterSchema","parameter","isOAS3","isMap","schema","parameterContentMediaType","k","keySeq","getIn","DEFAULT_RESPONSE_KEY","isImmutable","maybe","isIterable","objectify","isObject","toJS","fromJSOrdered","js","toList","isFunction","entries","objWithHashedKeys","createObjWithHashedKeys","fdObj","newObj","hashIdx","trackKeys","pair","containsMultiple","normalizeArray","isFn","isFunc","memoize","_memoize","objMap","objReduce","assign","systemThunkMiddleware","getSystem","_ref","dispatch","getState","action","validateValueBySchema","requiredByParam","bypassRequiredCheck","nullable","requiredBySchema","maximum","minimum","maxLength","minLength","uniqueItems","maxItems","minItems","pattern","schemaRequiresValue","hasValue","stringCheck","arrayCheck","arrayListCheck","isList","passedAnyCheck","some","objectVal","JSON","parse","has","propKey","errs","validatePattern","rxPattern","test","validateMinItems","validateMaxItems","needRemove","errorPerItem","validateUniqueItems","toSet","errorsPerIndex","toArray","validateMaxLength","validateMinLength","validateMaximum","validateMinimum","validateDateTime","validateGuid","validateString","validateBoolean","validateInteger","validateFile","btoa","sorters","operationsSorter","alpha","localeCompare","tagsSorter","buildFormData","formArr","encodeURIComponent","shallowEqualKeys","find","eq","url","braintreeSanitizeUrl","requiresValidationURL","uri","createDeepLinkPath","escapeDeepLinkPath","cssEscape","getExtensions","defObj","getCommonExtensions","deeplyStripKey","keyToStrip","predicate","stringify","paramToIdentifier","param","returnAll","allowHashes","paramName","paramIn","generatedIdentifiers","hashCode","paramToValue","paramValues","id","b64toB64UrlEncoded","isEmptyValue","isEmpty","idFn","Store","plugins","pluginsOptions","system","configs","components","rootInjects","statePlugins","boundSystem","toolbox","_getSystem","store","configureStore","rootReducer","initialState","createStoreWithMiddleware","middlwares","composeEnhancers","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","buildSystem","register","getStore","rebuild","pluginSystem","combinePlugins","systemExtend","callAfterLoad","buildReducer","getRootInjects","getWrappedAndBoundActions","getWrappedAndBoundSelectors","getStateThunks","getFn","getConfigs","rebuildReducer","getComponents","_getConfigs","React","setConfigs","replaceReducer","states","allReducers","reducerSystem","reducers","makeReducer","reducerObj","redFn","wrapWithTryCatch","getType","upName","toUpperCase","namespace","getSelectors","getActions","actions","actionName","getBoundActions","actionGroupName","wrappers","wrapActions","acc","newAction","getBoundSelectors","selectors","selectorGroupName","stateName","wrapSelectors","selector","selectorName","wrappedSelector","getStates","component","ori","wrapper","_len2","_key2","creator","actionCreator","getMapStateToProps","getMapDispatchToProps","extras","pluginOptions","merge","pluginLoadType","plugin","hasLoaded","calledSomething","afterLoad","wrapComponents","wrapperFn","namespaceObj","logErrors","_len3","_key3","__WEBPACK_EXTERNAL_MODULE_url_parse_6456105f__","SHOW_AUTH_POPUP","AUTHORIZE","LOGOUT","PRE_AUTHORIZE_OAUTH2","AUTHORIZE_OAUTH2","VALIDATE","CONFIGURE_AUTH","RESTORE_AUTHORIZATION","showDefinitions","authorize","authorizeWithPersistOption","authActions","persistAuthorizationIfNeeded","logout","logoutWithPersistOption","_ref2","preAuthorizeImplicit","_ref3","errActions","auth","token","isValid","swaggerUIRedirectOauth2","authId","level","authorizeOauth2WithPersistOption","authorizeOauth2","_ref4","authorizePassword","_ref5","username","password","passwordType","clientId","clientSecret","form","grant_type","scope","scopes","headers","setClientIdAndSecret","client_id","client_secret","Authorization","authorizeRequest","body","query","authorizeApplication","_ref6","authorizeAccessCodeWithFormParams","_ref7","redirectUrl","_ref8","codeVerifier","redirect_uri","code_verifier","authorizeAccessCodeWithBasicAuthentication","_ref9","_ref10","_ref11","parsedUrl","oas3Selectors","specSelectors","authSelectors","additionalQueryStringParams","finalServerUrl","serverEffectiveValue","selectedServer","parseUrl","fetchUrl","_headers","fetch","requestInterceptor","responseInterceptor","response","parseError","ok","statusText","catch","errData","jsonResponse","error_description","jsonError","configureAuth","restoreAuthorization","_ref12","persistAuthorization","authorized","setItem","authPopup","securities","entrySeq","security","setIn","header","parsedAuth","result","withMutations","delete","__WEBPACK_EXTERNAL_MODULE_reselect__","createSelector","shownDefinitions","definitionsToAuthorize","definitions","securityDefinitions","getDefinitionsByNames","valueSeq","names","allowedScopes","contains","definitionsForRequirements","allDefinitions","sec","securityScopes","definitionScopes","isAuthorized","execute","oriAction","path","operation","specSecurity","loaded","getItem","isApiKeyAuth","isInCookie","document","cookie","authorizedName","cookieName","__WEBPACK_EXTERNAL_MODULE_prop_types_adfe8e31__","__WEBPACK_EXTERNAL_MODULE_lodash_omit_d930e0f3__","LockAuthIcon","mapStateToProps","ownProps","omit","render","getComponent","LockIcon","UnlockAuthIcon","UnlockIcon","initOAuth","preauthorizeApiKey","preauthorizeBasic","LockAuthOperationIcon","UnlockAuthOperationIcon","wrappedAuthorizeAction","wrappedLogoutAction","spec","specJson","definitionBase","__WEBPACK_EXTERNAL_MODULE_js_yaml_78384032__","JSON_SCHEMA","parseYamlConfig","yaml","YAML","UPDATE_CONFIGS","TOGGLE_CONFIGS","configName","configValue","toggle","downloadConfig","getConfigByUrl","specActions","status","updateLoadingStatus","updateUrl","oriVal","getLocalConfig","configsPlugin","setHash","pushState","__WEBPACK_EXTERNAL_MODULE_zenscroll__","SCROLL_TO","CLEAR_SCROLL_TO","getScrollParent","includeHidden","LAST_RESORT","documentElement","style","getComputedStyle","excludeStaticParent","overflowRegex","parent","parentElement","overflow","overflowY","overflowX","layout","scrollToElement","ref","container","zenscroll","scrollTo","clearScrollTo","readyToScroll","isShownKey","scrollToKey","layoutSelectors","getScrollToKey","layoutActions","parseDeepLinkHash","rawHash","deepLinking","hashArray","isShownKeyFromUrlHashArray","tagId","maybeOperationId","tagIsShownKey","show","urlHashArray","tag","operationId","urlHashArrayFromIsShownKey","tokenArray","shown","assetName","__WEBPACK_EXTERNAL_MODULE_react_immutable_proptypes_89c7d083__","Wrapper","Ori","OperationWrapper","onLoad","toObject","OperationTagWrapper","decodeURIComponent","OperationTag","__WEBPACK_EXTERNAL_MODULE_lodash_reduce_11e69996__","seekStr","types","makeNewMessage","__WEBPACK_EXTERNAL_MODULE_lodash_get_9427f899__","jsSpec","errorTransformers","NotOfType","ParameterOneOf","transformErrors","inputs","transformedErrors","transformer","DEFAULT_ERROR_STRUCTURE","line","allErrors","lastError","all","sortBy","newErrors","every","errValue","filterValue","taggedOps","phrase","tagObj","opsFilter","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_helpers_extends_d20d3ceb__","ArrowUp","className","width","height","rest","_extends","xmlns","viewBox","focusable","defaultProps","ArrowDown","Arrow","Close","Copy","fillRule","Lock","Unlock","IconsPlugin","ArrowUpIcon","ArrowDownIcon","ArrowIcon","CloseIcon","CopyIcon","UPDATE_LAYOUT","UPDATE_FILTER","UPDATE_MODE","SHOW","updateLayout","updateFilter","changeMode","mode","isShown","thingToShow","currentFilter","def","whatMode","showSummary","taggedOperations","oriSelector","maxDisplayedTags","levels","getLevel","logLevel","logLevelInt","log","info","engaged","updateSpec","updateJsonSpec","onComplete","extractKey","escapeShell","escapeCMD","escapePowershell","curlify","request","escape","newLine","isMultipartFormDataRequest","curlified","addWords","addWordsWithoutLeadingSpace","addNewLine","addIndent","repeat","extractedKey","reqBody","getStringBodyOfMap","curlifyToJoin","requestSnippetGenerator_curl_powershell","requestSnippetGenerator_curl_bash","requestSnippetGenerator_curl_cmd","getGenerators","languageKeys","generators","getSnippetGenerators","gen","genFn","getGenFn","getActiveLanguage","getDefaultExpanded","__WEBPACK_EXTERNAL_MODULE_react_copy_to_clipboard_5b11dd57__","CopyToClipboard","__WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_light_746e1958__","__WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_languages_hljs_javascript_e22911f7__","__WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_languages_hljs_json_b876afc5__","__WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_languages_hljs_xml_a81c807b__","__WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_languages_hljs_bash_1621c621__","__WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_languages_hljs_yaml_02838f34__","__WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_languages_hljs_http_4e924b23__","__WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_languages_hljs_powershell_d51eb4f6__","__WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_styles_hljs_agate_99a46aa2__","__WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_styles_hljs_arta_570691fc__","__WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_styles_hljs_monokai_2529bafb__","__WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_styles_hljs_nord_5bfa1099__","__WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_styles_hljs_obsidian_a278dd52__","__WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_styles_hljs_tomorrow_night_63765df9__","__WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_styles_hljs_idea_023aba2e__","SyntaxHighlighter","json","http","bash","powershell","javascript","styles","agate","arta","monokai","nord","obsidian","tomorrowNight","idea","availableStyles","getStyle","cursor","lineHeight","display","backgroundColor","paddingBottom","paddingTop","border","borderRadius","boxShadow","borderBottom","activeStyle","marginTop","marginRight","marginLeft","zIndex","requestSnippetsSelectors","canSyntaxHighlight","rootRef","activeLanguage","setActiveLanguage","isExpanded","setIsExpanded","childNodes","node","nodeType","classList","handlePreventYScrollingBeyondElement","passive","snippetGenerators","activeGenerator","snippet","handleSetIsExpanded","handleGetBtnStyle","deltaY","scrollHeight","contentHeight","offsetHeight","visibleHeight","scrollTop","preventDefault","SnippetComponent","language","readOnly","justifyContent","alignItems","marginBottom","onClick","background","paddingLeft","paddingRight","handleGenChange","color","RequestSnippets","requestSnippets","__WEBPACK_EXTERNAL_MODULE_randexp__","__WEBPACK_EXTERNAL_MODULE_lodash_isEmpty_e109fd6b__","shallowArrayEquals","Cache","foundKey","findIndex","OriginalCache","memoized","primitives","generateStringFromRegex","RandExp","string_email","string_date-time","toISOString","string_date","string_uuid","string_hostname","string_ipv4","string_ipv6","number","number_float","integer","default","primitive","sanitizeRef","objectContracts","arrayContracts","numberContracts","stringContracts","liftSampleHelper","oldSchema","setIfNotDefinedInTarget","required","properties","propName","includeReadOnly","writeOnly","includeWriteOnly","items","sampleFromSchemaGeneric","exampleOverride","respectXML","usePlainValue","example","hasOneOf","hasAnyOf","anyOf","schemaToAdd","additionalProperties","displayName","prefix","schemaHasAny","enum","handleMinMaxItems","sampleArray","addPropertyToResult","propertyAddedCounter","hasExceededMaxProperties","maxProperties","canAddProperty","isOptionalProperty","requiredPropertiesToAdd","addedCount","overrideE","enumAttrVal","attrExample","attrDefault","discriminator","mapping","$$ref","propertyName","sample","itemSchema","itemSamples","additionalProp","additionalProp1","additionalProps","additionalPropSample","toGenerateCount","minProperties","temp","exclusiveMinimum","exclusiveMaximum","inferSchema","createXMLExample","XML","sampleFromSchema","memoizedCreateXMLExample","memoizeN","memoizedSampleFromSchema","shouldStringifyTypesConfig","when","shouldStringifyTypes","defaultStringifyTypes","contentType","resType","typesToStringify","nextConfig","jsonExample","getJsonSampleSchema","yamlString","lineWidth","match","getXmlSampleSchema","getYamlSampleSchema","makeGetJsonSampleSchema","makeGetYamlSampleSchema","makeGetXmlSampleSchema","getSampleSchema","makeGetSampleSchema","jsonSchema5","OPERATION_METHODS","specStr","specSource","specJS","specResolved","specResolvedSubtree","mergerFn","oldVal","newVal","mergeWith","specJsonWithResolvedSubtrees","returnSelfOrNewMap","externalDocs","semver","exec","paths","validOperationMethods","operations","pathName","consumes","produces","findDefinition","resolvedRes","unresolvedRes","basePath","host","schemes","operationsWithRootInherited","ops","op","tags","tagDetails","operationsWithTags","taggedMap","ar","tagA","tagB","sortFn","sort","responses","requests","mutatedRequests","responseFor","requestFor","mutatedRequestFor","allowTryItOutFor","parameterWithMetaByIdentity","pathMethod","opParams","metaParams","currentParam","inNameKeyedMeta","hashKeyedMeta","curr","parameterInclusionSettingFor","paramKey","parameterWithMeta","operationWithMeta","meta","mergedParams","getParameter","inType","hasHost","parameterValues","isXml","parametersIncludeIn","parameters","inValue","parametersIncludeType","typeValue","contentTypeValues","producesValue","currentProducesFor","requestContentType","responseContentType","currentProducesValue","firstProducesArrayItem","producesOptionsFor","operationProduces","pathItemProduces","globalProduces","consumesOptionsFor","operationConsumes","pathItemConsumes","globalConsumes","operationScheme","matchResult","urlScheme","canExecuteScheme","validationErrors","validateBeforeExecute","getOAS3RequiredRequestBodyContentType","requiredObj","requestBody","isMediaTypeSchemaPropertiesEqual","currentMediaType","targetMediaType","requestBodyContent","currentMediaTypeSchemaProperties","targetMediaTypeSchemaProperties","__WEBPACK_EXTERNAL_MODULE_lodash_isString_e6fa8a5b__","__WEBPACK_EXTERNAL_MODULE_lodash_debounce_3540babe__","__WEBPACK_EXTERNAL_MODULE_lodash_set_b4b15ee5__","__WEBPACK_EXTERNAL_MODULE_lodash_fp_assocPath_f9d64e33__","__WEBPACK_EXTERNAL_MODULE_lodash_constant_f5c0879f__","UPDATE_SPEC","UPDATE_URL","UPDATE_JSON","UPDATE_PARAM","UPDATE_EMPTY_PARAM_INCLUSION","VALIDATE_PARAMS","SET_RESPONSE","SET_REQUEST","SET_MUTATED_REQUEST","LOG_REQUEST","CLEAR_RESPONSE","CLEAR_REQUEST","CLEAR_VALIDATE_PARAMS","UPDATE_OPERATION_META_VALUE","UPDATE_RESOLVED","UPDATE_RESOLVED_SUBTREE","SET_SCHEME","toStr","isString","cleanSpec","updateResolved","parseToJson","reason","mark","hasWarnedAboutResolveSpecDeprecation","resolveSpec","AST","modelPropertyMacro","parameterMacro","getLineNumberForPath","baseDoc","URL","baseURI","preparedErrors","fullPath","requestBatch","debResolveSubtrees","debounce","systemPartitionedBatches","async","systemRequestBatch","resolveSubtree","errSelectors","constant","batchResult","prev","resultMap","specWithCurrentSubtrees","scheme","oidcScheme","openIdConnectUrl","openIdConnectData","assocPath","ImmutableMap","updateResolvedSubtree","requestResolvedSubtree","batchedPath","batchedSystem","changeParam","changeParamByIdentity","invalidateResolvedSubtreeCache","validateParams","updateEmptyParamInclusion","includeEmptyValue","clearValidateParams","changeConsumesValue","changeProducesValue","setResponse","setRequest","setMutatedRequest","logRequest","executeRequest","paramValue","contextUrl","opId","server","namespaceVariables","serverVariables","globalVariables","requestBodyValue","requestBodyInclusionSetting","parsedRequest","buildRequest","mutatedRequest","parsedMutatedRequest","startTime","now","duration","clearResponse","clearRequest","setScheme","valueKey","updateIn","paramMeta","isEmptyValueIncluded","paramRequired","paramDetails","validateParam","statusCode","newState","Blob","operationPath","metaPath","deleteIn","pathItems","$ref","SpecPlugin","__WEBPACK_EXTERNAL_MODULE_swagger_client_es_resolver_strategies_generic_08dd5200__","__WEBPACK_EXTERNAL_MODULE_swagger_client_es_resolver_strategies_openapi_2_ff6e79cf__","__WEBPACK_EXTERNAL_MODULE_swagger_client_es_resolver_strategies_openapi_3_0_2fa0ff7c__","__WEBPACK_EXTERNAL_MODULE_swagger_client_es_resolver_strategies_openapi_3_1_apidom_5e628d39__","__WEBPACK_EXTERNAL_MODULE_swagger_client_es_resolver_f879c638__","makeResolve","__WEBPACK_EXTERNAL_MODULE_swagger_client_es_execute_d486d3d6__","__WEBPACK_EXTERNAL_MODULE_swagger_client_es_http_69655560__","makeHttp","serializeRes","__WEBPACK_EXTERNAL_MODULE_swagger_client_es_subtree_resolver_741cb9d9__","makeResolveSubtree","__WEBPACK_EXTERNAL_MODULE_swagger_client_es_helpers_4d7bea47__","withCredentials","Http","preFetch","postFetch","strategies","openApi31ApiDOMResolveStrategy","openApi30ResolveStrategy","openApi2ResolveStrategy","genericResolveStrategy","freshConfigs","defaultOptions","__WEBPACK_EXTERNAL_MODULE_react_dom_7dac9eee__","__WEBPACK_EXTERNAL_MODULE_react_redux_87be03b0__","Provider","connect","__WEBPACK_EXTERNAL_MODULE_lodash_identity_75ffe4a7__","withSystem","WrappedComponent","WithSystem","getDisplayName","withRoot","reduxStore","WithRoot","withConnect","identity","customMapStateToProps","handleProps","oldProps","withMappedContainer","memGetComponent","componentName","WithMappedContainer","UNSAFE_componentWillReceiveProps","nextProps","cleanProps","domNode","App","ReactDOM","failSilently","memoizeForGetComponent","memMakeMappedContainer","memoizeForWithMappedContainer","makeMappedContainer","downloadUrlPlugin","download","checkPossibleFailReasons","specUrl","href","protocol","origin","loadSpec","credentials","Accept","enums","loadingStatus","spec_update_loading_status","__WEBPACK_EXTERNAL_MODULE_lodash_zipObject_c74f1c14__","componentDidCatch","withErrorBoundary","ErrorBoundary","targetName","WithErrorBoundary","isClassComponent","isReactComponent","getDerivedStateFromError","hasError","errorInfo","children","FallbackComponent","Fallback","componentList","fullOverride","mergedComponentList","zipObject","wrapFactory","Original","getLayout","layoutName","Layout","AuthorizationPopup","Auths","AuthorizeBtn","showPopup","AuthorizeBtnContainer","authorizableDefinitions","AuthorizeOperationBtn","stopPropagation","onAuthChange","setState","submitAuth","logoutClick","auths","AuthItem","Oauth2","Button","authorizedAuth","nonOauthDefinitions","oauthDefinitions","onSubmit","ApiKeyAuth","BasicAuth","authEl","onChange","AuthError","getValue","Input","Row","Col","Markdown","JumpToPath","autoFocus","newValue","autoComplete","Example","showValue","HighlightCode","ExamplesSelect","static","examples","onSelect","currentExampleKey","showLabels","_onSelect","isSyntheticChange","_onDomSelect","selectedOptions","getAttribute","getCurrentExample","currentExamplePerProps","firstExamplesKey","firstExample","componentDidMount","firstExampleKey","keyOf","isValueModified","isModifiedValueAvailable","exampleName","stringifyUnlessList","ExamplesSelectValueRetainer","userHasEditedBody","currentNamespace","setRetainRequestBodyValueFlag","updateValue","valueFromExample","_getCurrentExampleValue","lastUserEditedValue","currentUserInputValue","lastDownstreamValue","isModifiedValueSelected","componentWillUnmount","_getStateForCurrentNamespace","_setStateForCurrentNamespace","_setStateForNamespace","newStateForNamespace","mergeDeep","_isCurrentUserInputSameAsExampleValue","_getValueForExample","exampleKey","currentKey","_onExamplesSelect","otherArgs","valueFromCurrentExample","examplesMatchingNewValue","authConfigs","currentServer","oauth2RedirectUrl","scopesArray","scopeSeparator","realm","usePkceWithAuthorizationCodeGrant","generateCodeVerifier","codeChallenge","createCodeChallenge","shaJs","authorizationUrl","sanitizedAuthorizationUrl","useBasicAuthenticationWithAccessCodeGrant","errCb","appName","oauth2Authorize","onScopeChange","dataset","newScopes","onInputChange","selectScopes","InitializedInput","oidcUrl","AUTH_FLOW_IMPLICIT","AUTH_FLOW_PASSWORD","AUTH_FLOW_ACCESS_CODE","AUTH_FLOW_APPLICATION","isPkceCodeGrant","flowToDisplay","description","htmlFor","tablet","desktop","initialValue","disabled","Clear","Headers","Duration","LiveResponse","shouldComponentUpdate","displayRequestDuration","showMutatedRequest","requestSnippetsEnabled","curlRequest","notDocumented","isError","headersKeys","ResponseBody","returnObject","joinedHeaders","hasHeaders","Curl","OnlineValidatorBadge","validatorUrl","getDefinitionUrl","sanitizedValidatorUrl","rel","ValidatorImage","alt","img","Image","onload","Operations","renderOperationTag","OperationContainer","specPath","isAbsoluteUrl","buildBaseUrl","addProtocol","safeBuildUrl","buildUrl","baseUrl","docExpansion","isDeepLinkingEnabled","Collapse","DeepLink","Link","tagExternalDocsUrl","tagDescription","tagExternalDocsDescription","rawTagExternalDocsUrl","showTag","enabled","isOpened","_circle","preserveAspectRatio","backgroundImage","backgroundPosition","backgroundRepeat","cx","cy","stroke","strokeDasharray","strokeWidth","attributeName","begin","calcMode","dur","keyTimes","repeatCount","Operation","summary","toggleShown","onTryoutClick","onResetClick","onCancelClick","onExecute","oas3Actions","operationProps","allowTryItOut","tryItOutEnabled","executeInProgress","externalDocsUrl","getList","extensions","Responses","Parameters","Execute","Schemes","OperationServers","OperationExt","OperationSummary","showExtensions","onChangeKey","RollingLoadSVG","operationServers","pathServers","getSelectedServer","setSelectedServer","setServerVariableValue","getServerVariable","serverVariableValue","getEffectiveServerValue","currentScheme","tryItOutResponse","displayOperationId","nextState","supportedSubmitMethods","jumpToKey","resolvedSubtree","getResolvedSubtree","defaultRequestBodyValue","selectDefaultRequestBodyValue","setRequestBodyValue","unresolvedOp","originalOperationId","__WEBPACK_EXTERNAL_MODULE_lodash_toString_da931f05__","resolvedSummary","OperationSummaryMethod","OperationSummaryPath","CopyToClipboardBtn","hasSecurity","securityIsOptional","allowAnonymous","textToCopy","applicableDefinitions","tabIndex","pathParts","OperationExtRow","xKey","xVal","xNormalizedValue","__WEBPACK_EXTERNAL_MODULE_classnames__","__WEBPACK_EXTERNAL_MODULE_js_file_download_bd23dbb6__","fileName","downloadable","canCopy","handleDownload","saveAs","onChangeProducesWrapper","onResponseContentTypeChange","controlsAcceptHeader","setResponseContentType","defaultCode","defaultStatusCode","ContentType","Response","acceptControllingResponse","getAcceptControllingResponse","isOrderedMap","suitable2xxResponse","defaultResponse","suitableDefaultResponse","regionId","createHtmlReadyId","replacement","controlId","ariaControls","ariaLabel","contentTypes","role","isDefault","onContentTypeChange","activeExamplesKey","activeExamplesMember","getKnownSyntaxHighlighterLanguage","canJsonParse","_onContentTypeChange","getTargetExamplesKey","activeContentType","links","ResponseExtension","ModelExample","OperationLink","specPathWithPossibleSchema","activeMediaType","examplesForMediaType","oas3SchemaForContentType","mediaTypeExample","sampleSchema","shouldOverrideSchemaExample","sampleGenConfig","targetExamplesKey","getMediaTypeExample","targetExample","oldOASMediaTypeExample","getExampleComponent","sampleResponse","setActiveExamplesMember","contextType","contextName","omitValue","toSeq","link","__WEBPACK_EXTERNAL_MODULE_xml_but_prettier_2ed4d5cb__","__WEBPACK_EXTERNAL_MODULE_lodash_toLower_c29ee2b0__","parsedContent","updateParsedContent","prevContent","reader","FileReader","readAsText","componentDidUpdate","prevProps","downloadName","bodyEl","blob","createObjectURL","disposition","responseFilename","extractFileNameFromContentDispositionHeader","regex","navigator","msSaveOrOpenBlob","formatXml","textNodesOnSameLine","indentor","toLower","controls","callbackVisible","parametersVisible","onChangeConsumesWrapper","toggleTab","tab","onChangeMediaType","hasUserEditedBody","shouldRetainRequestBodyValue","setRequestContentType","initRequestBodyValidateError","ParameterRow","TryItOutButton","Callbacks","RequestBody","isExecute","groupedParametersArr","rawParam","onChangeConsumes","callbacks","requestBodyErrors","updateActiveExamplesKey","lastValue","usableValue","onChangeIncludeEmpty","setRequestBodyInclusion","ParameterIncludeEmptyDefaultProps","isIncludedOptions","ParameterIncludeEmpty","shouldDispatchInit","defaultValue","onCheckboxChange","isIncluded","isDisabled","setDefaultValue","enumValue","onChangeWrapper","numberToString","valueForUpstream","_onExampleSelect","getParamKey","paramWithMeta","parameterMediaType","generatedSampleValue","isSwagger2","showCommonExtensions","JsonSchemaForm","ParamBody","bodyParam","consumesValue","ParameterExt","paramItems","paramEnum","paramDefaultValue","paramExample","itemType","isFormData","isFormDataSupported","commonExt","isDisplayParamEnum","defaultToFirstExample","handleValidateParameters","handleValidateRequestBody","missingBodyValue","missingRequiredKeys","clearRequestBodyValidateError","oas3RequiredRequestBodyContentType","oas3RequestBodyValue","oas3ValidateBeforeExecuteSuccess","oas3RequestContentType","setRequestBodyValidateError","validateShallowRequired","missingKey","handleValidationResultPass","handleValidationResultFail","handleValidationResult","isPass","paramsResult","requestBodyResult","Property","schemaExample","propVal","propClass","Errors","editorActions","jumpToLine","allErrorsToDisplay","isVisible","sortedJSErrors","toggleVisibility","animated","ThrownErrorItem","SpecErrorItem","errorLine","toTitleCase","locationMessage","xclass","Container","fullscreen","full","containerClass","DEVICES","hide","keepContents","mobile","large","classesAr","device","deviceClass","classes","TextArea","Select","multiple","allowEmptyValue","option","selected","allowedValues","NoMargin","renderNotAnimated","Overview","setTagShown","_setTagShown","showTagId","showOp","toggleShow","showOpIdPrefix","showOpId","_onClick","inputRef","otherProps","InfoBasePath","InfoUrl","Info","termsOfServiceUrl","contactData","licenseData","externalDocsDescription","VersionStamp","OpenAPIVersion","License","Contact","oasVersion","license","InfoContainer","email","Footer","FilterContainer","onFilterChange","isLoading","isFailed","classNames","placeholder","NOOP","isEditBox","updateValues","isJson","_onChange","handleOnChange","inputValue","toggleIsEditBox","defaultProp","curl","curlBlock","UNSAFE_componentWillMount","SchemesContainer","ModelCollapse","collapsedContent","expanded","onToggle","hideSelfOnExpand","modelName","toggleCollapsed","defaultModelRendering","activeTab","defaultModelExpandDepth","ModelWrapper","exampleTabId","examplePanelId","modelTabId","modelPanelId","active","inactive","expandDepth","Model","__WEBPACK_EXTERNAL_MODULE_react_immutable_pure_component_cbcfaebd__","decodeRefName","unescaped","ImmutablePureComponent","ImPropTypes","isRequired","PropTypes","isRef","getModelName","getRefSchema","model","ObjectModel","ArrayModel","PrimitiveModel","Models","getSchemaBasePath","getCollapsedContent","handleToggle","onLoadModels","onLoadModel","defaultModelsExpandDepth","specPathBase","showModels","schemaValue","rawSchemaValue","rawSchema","requiredProperties","infoProperties","JumpToPathSection","not","titleEl","isDeprecated","normalizedValue","Primitive","enumArray","filterNot","EnumModel","showReset","VersionPragmaFilter","alsoShow","bypass","SvgAssets","xmlnsXlink","__WEBPACK_EXTERNAL_MODULE_remarkable__","Remarkable","__WEBPACK_EXTERNAL_MODULE_remarkable_linkify_34829ba6__","linkify","__WEBPACK_EXTERNAL_MODULE_dompurify__","md","html","typographer","breaks","linkTarget","use","core","ruler","disable","useUnsafeMarkdown","sanitized","sanitizer","dangerouslySetInnerHTML","__html","DomPurify","setAttribute","ALLOW_DATA_ATTR","FORBID_ATTR","hasWarnedAboutDeprecation","ADD_ATTR","FORBID_TAGS","BaseLayout","Webhooks","ServersContainer","isOAS31","isSpecEmpty","loadingMessage","lastErr","lastErrMsg","servers","hasServers","hasSchemes","hasSecurityDefinitions","CoreComponentsPlugin","authorizationPopup","authorizeBtn","authorizeOperationBtn","authError","oauth2","apiKeyAuth","basicAuth","liveResponse","onlineValidatorBadge","highlightCode","responseBody","parameterRow","overview","footer","modelExample","FormComponentsPlugin","LayoutUtils","__WEBPACK_EXTERNAL_MODULE_react_debounce_input_7ed3e068__","JsonSchemaDefaultProps","keyName","dispatchInitialValue","getComponentSilently","Comp","JsonSchema_string","files","onEnumChange","schemaIn","DebounceInput","debounceTimeout","JsonSchema_array","valueOrEmptyList","onItemChange","itemVal","removeItem","addItem","arrayErrors","needsRemoveError","shouldRenderValue","schemaItemsEnum","schemaItemsType","schemaItemsFormat","schemaItemsSchema","ArrayItemsComponent","isArrayItemText","isArrayItemFile","itemErrors","JsonSchemaArrayItemFile","JsonSchemaArrayItemText","onFileChange","JsonSchema_boolean","booleanValue","stringifyObjectErrors","stringError","currentError","part","JsonSchema_object","invalid","JSONSchemaComponentsPlugin","JSONSchemaComponents","BasePreset","ConfigsPlugin","UtilPlugin","LogsPlugin","ViewPlugin","ErrPlugin","LayoutPlugin","JSONSchema5SamplesPlugin","SwaggerClientPlugin","AuthPlugin","DownloadUrlPlugin","DeepLinkingPlugin","FilterPlugin","OnCompletePlugin","RequestSnippetsPlugin","SafeRenderPlugin","onlyOAS3","OAS3NullSelector","schemas","hasIn","resolvedSchemes","defName","flowKey","flowVal","translatedDef","tokenUrl","oidcData","grant","translatedScopes","cur","OAS3ComponentWrapFactory","swaggerVersion","isSwagger2Helper","isOAS30","isOAS30Helper","selectedValue","callbacksOperations","allOperations","callbackName","callbackOperations","callbackOps","pathItem","expression","pathItemOperations","groupBy","operationDTO","operationDTOs","callbackNames","getDefaultRequestBodyValue","mediaType","mediaTypeValue","hasExamplesKey","exampleSchema","handleFile","setIsIncludedOptions","RequestBodyEditor","requestBodyDescription","schemaForMediaType","rawExamplesOfMediaType","sampleForMediaType","isObjectContent","isBinaryFormat","isBase64Format","bodyProperties","currentValue","currentErrors","included","useInitialValFromSchemaSamples","useInitialValFromEnum","useInitialValue","isFile","sampleRequestBody","targetOp","padString","Servers","setServer","currentServerDefinition","prevServerDefinition","prevServerVariableDefaultValue","currentServerVariableDefs","currentServerVariableDefaultValue","onServerChange","onServerVariableValueChange","variableName","newVariableValue","shouldShowVariableUI","applyDefaultValue","onDomChange","isInvalid","HttpAuth","forceUpdate","serversToDisplay","displaying","operationLink","parser","enable","trimmed","ModelComponent","OAS30ComponentWrapFactory","UPDATE_SELECTED_SERVER","UPDATE_REQUEST_BODY_VALUE","UPDATE_REQUEST_BODY_VALUE_RETAIN_FLAG","UPDATE_REQUEST_BODY_INCLUSION","UPDATE_ACTIVE_EXAMPLES_MEMBER","UPDATE_REQUEST_CONTENT_TYPE","UPDATE_RESPONSE_CONTENT_TYPE","UPDATE_SERVER_VARIABLE_VALUE","SET_REQUEST_BODY_VALIDATE_ERROR","CLEAR_REQUEST_BODY_VALIDATE_ERROR","CLEAR_REQUEST_BODY_VALUE","selectedServerUrl","clearRequestBodyValue","userEditedRequestBody","mapEntries","kv","currentMediaTypeDefaultBodyValue","locationData","varValues","serverValue","validateRequestBodyIsRequired","validateRequestBodyValueExists","requiredKeys","requiredKey","currentVal","valueKeys","valueKeyVal","missingKeyValues","bodyValue","currentMissingKey","bodyValues","specWrapSelectors","authWrapSelectors","oas3","selectWebhooksOperations","pathItemNames","pathItemName","selectLicenseNameField","selectLicenseUrl","selectContactNameField","selectContactUrl","selectContactEmailField","selectInfoSummaryField","selectInfoDescriptionField","selectInfoTitleField","selectInfoTermsOfServiceUrl","selectExternalDocsUrl","externalDocsDesc","selectExternalDocsDescriptionField","contact","JsonSchemaDialect","jsonSchemaDialect","selectJsonSchemaDialectField","jsonSchemaDialectDefault","selectJsonSchemaDialectDefault","JSONSchema202012","handleExpand","onExpand","selectSchemas","hasSchemas","schemasPath","isOpenDefault","isOpen","isOpenAndExpanded","isResolved","handleModelsExpand","handleModelsRef","handleJSONSchema202012Ref","schemaName","handleJSONSchema202012Expand","schemaPath","mutualTLSDefinitions","createOnlyOAS31Selector","createOnlyOAS31SelectorWrapper","createSystemSelector","createOnlyOAS31ComponentWrapper","originalComponent","OAS31License","OAS31Contact","OAS31Info","JSONSchema","Keyword$schema","Keyword$vocabulary","Keyword$id","Keyword$anchor","Keyword$dynamicAnchor","Keyword$ref","Keyword$dynamicRef","Keyword$defs","Keyword$comment","KeywordAllOf","KeywordAnyOf","KeywordOneOf","KeywordNot","KeywordIf","KeywordThen","KeywordElse","KeywordDependentSchemas","KeywordPrefixItems","KeywordItems","KeywordContains","KeywordProperties","KeywordPatternProperties","KeywordAdditionalProperties","KeywordPropertyNames","KeywordUnevaluatedItems","KeywordUnevaluatedProperties","KeywordType","KeywordEnum","KeywordConst","KeywordConstraint","KeywordDependentRequired","KeywordContentSchema","KeywordTitle","KeywordDescription","KeywordDefault","KeywordDeprecated","KeywordReadOnly","KeywordWriteOnly","Accordion","ExpandDeepButton","ChevronRightIcon","ModelWithJSONSchemaContext","withSchemaContext","default$schema","defaultExpandedLevels","Boolean","upperFirst","isExpandable","jsonSchema202012","getProperties","ModelsWrapper","ModelsWithJSONSchemaContext","VersionPragmaFilterWrapper","OAS31VersionPragmaFilter","MutualTLSAuth","OAS31Auths","isOAS31Fn","webhooks","selectLicenseUrlField","selectLicenseIdentifierField","selectContactUrlField","selectInfoTermsOfServiceField","termsOfService","selectExternalDocsUrlField","rawSchemas","resolvedSchemas","resolvedSchema","oas31Selectors","identifier","hasKeyword","useFn","useIsExpandedDeeply","useComponent","isExpandedDeeply","setExpanded","expandedDeeply","setExpandedDeeply","JSONSchemaDeepExpansionContext","handleExpansion","handleExpansionDeep","expandedDeepNew","DiscriminatorMapping","MarkDown","DescriptionKeyword","DefaultWrapper","KeywordDiscriminator","KeywordXml","KeywordExample","KeywordExternalDocs","getDependentRequired","useConfig","propertySchema","dependentRequired","PropertiesKeyword","filteredProperties","fromEntries","makeIsExpandable","original","wrappedFns","wrapOAS31Fn","systemFn","newImpl","oriImpl","createSystemSelectorFn","createOnlyOAS31SelectorFn","OAS31Model","OAS31Models","JSONSchema202012KeywordExample","JSONSchema202012KeywordXml","JSONSchema202012KeywordDiscriminator","JSONSchema202012KeywordExternalDocs","InfoWrapper","LicenseWrapper","ContactWrapper","AuthItemWrapper","AuthsWrapper","JSONSchema202012KeywordDescription","JSONSchema202012KeywordDescriptionWrapper","JSONSchema202012KeywordDefault","JSONSchema202012KeywordDefaultWrapper","JSONSchema202012KeywordProperties","JSONSchema202012KeywordPropertiesWrapper","definitionsToAuthorizeWrapper","selectIsOAS31","selectLicense","selectContact","selectWebhooks","isOAS3SelectorWrapper","selectLicenseUrlWrapper","oas31","selectOAS31LicenseUrl","objectSchema","booleanSchema","JSONSchemaContext","JSONSchemaLevelContext","JSONSchemaCyclesContext","fnName","useLevel","useRenderedSchemas","renderedSchemas","useIsExpanded","nextLevel","isEmbedded","useIsEmbedded","isCircular","useIsCircular","constraints","stringifyConstraints","expandedNew","constraint","$schema","$vocabulary","$id","$anchor","$dynamicAnchor","$dynamicRef","$defs","$comment","allOf","getTitle","if","else","dependentSchemas","prefixItems","patternProperties","propertyNames","unevaluatedItems","unevaluatedProperties","Type","circularSuffix","strigifiedElement","const","Constraint","contentSchema","Title","ChevronRight","charAt","processedSchemas","WeakSet","isBooleanJSONSchema","getArrayType","prefixItemsTypes","itemsType","handleCombiningKeywords","keyword","separator","subSchema","combinedStrings","inferType","hasOwn","stringifyConstraintRange","label","hasMin","hasMax","multipleOf","stringifyConstraintMultipleOf","factor","numberRange","stringifyConstraintNumberRange","hasMinimum","hasMaximum","hasExclusiveMinimum","hasExclusiveMaximum","isMinExclusive","isMaxExclusive","stringRange","contentMediaType","contentEncoding","arrayRange","hasUniqueItems","containsRange","minContains","maxContains","objectRange","withJSONSchemaContext","overrides","HOC","contexts","JSONSchema202012Plugin","JSONSchema202012Keyword$schema","JSONSchema202012Keyword$vocabulary","JSONSchema202012Keyword$id","JSONSchema202012Keyword$anchor","JSONSchema202012Keyword$dynamicAnchor","JSONSchema202012Keyword$ref","JSONSchema202012Keyword$dynamicRef","JSONSchema202012Keyword$defs","JSONSchema202012Keyword$comment","JSONSchema202012KeywordAllOf","JSONSchema202012KeywordAnyOf","JSONSchema202012KeywordOneOf","JSONSchema202012KeywordNot","JSONSchema202012KeywordIf","JSONSchema202012KeywordThen","JSONSchema202012KeywordElse","JSONSchema202012KeywordDependentSchemas","JSONSchema202012KeywordPrefixItems","JSONSchema202012KeywordItems","JSONSchema202012KeywordContains","JSONSchema202012KeywordPatternProperties","JSONSchema202012KeywordAdditionalProperties","JSONSchema202012KeywordPropertyNames","JSONSchema202012KeywordUnevaluatedItems","JSONSchema202012KeywordUnevaluatedProperties","JSONSchema202012KeywordType","JSONSchema202012KeywordEnum","JSONSchema202012KeywordConst","JSONSchema202012KeywordConstraint","JSONSchema202012KeywordDependentRequired","JSONSchema202012KeywordContentSchema","JSONSchema202012KeywordTitle","JSONSchema202012KeywordDeprecated","JSONSchema202012KeywordReadOnly","JSONSchema202012KeywordWriteOnly","JSONSchema202012Accordion","JSONSchema202012ExpandDeepButton","JSONSchema202012ChevronRightIcon","withJSONSchema202012Context","JSONSchema202012DeepExpansionContext","__WEBPACK_EXTERNAL_MODULE_lodash_isPlainObject_116f2243__","arrayType","constrainedArray","containsItem","at","applyArrayConstraints","objectType","pick","isJSONSchemaObject","isPlainObject","isJSONSchema","emailGenerator","idnEmailGenerator","hostnameGenerator","idnHostnameGenerator","ipv4Generator","ipv6Generator","uriGenerator","uriReferenceGenerator","iriGenerator","iriReferenceGenerator","uuidGenerator","uriTemplateGenerator","jsonPointerGenerator","relativeJsonPointerGenerator","dateTimeGenerator","dateGenerator","timeGenerator","durationGenerator","passwordGenerator","regexGenerator","Registry","unregister","registry","formatAPI","generator","quotedPrintable","charCode","utf8","unescape","utf8Value","base32Alphabet","paddingCount","base32Str","bufferLength","EncoderRegistry","encode7bit","encode8bit","binary","encodeQuotedPrintable","base16","base32","base64url","defaults","encoderAPI","encodingName","encoder","getDefaults","text/plain","text/css","text/csv","text/html","text/calendar","text/javascript","text/xml","text/*","image/*","audio/*","video/*","application/json","application/ld+json","application/x-httpd-php","application/rtf","raw","application/x-sh","application/xhtml+xml","application/*","MediaTypeRegistry","textMediaTypesGenerators","imageMediaTypesGenerators","audioMediaTypesGenerators","videoMediaTypesGenerators","applicationMediaTypesGenerators","mediaTypeAPI","mediaTypeNoParams","topLevelMediaType","encode","generatedString","randexp","generateFormat","formatGenerator","mediaTypeGenerator","constrainedString","applyStringConstraints","floatGenerator","doubleGenerator","generatedNumber","epsilon","EPSILON","minValue","maxValue","constrainedNumber","applyNumberConstraints","int32Generator","int64Generator","Proxy","stringType","numberType","integerType","boolean","booleanType","null","nullType","ALL_TYPES","hasExample","defaultVal","extractExample","inferringKeywords","fallbackType","inferTypeFromValue","foldType","pickedType","randomPick","inferringTypes","inferringType","inferringTypeKeywords","inferringKeyword","constType","combineTypes","combinedTypes","exampleType","typeCast","fromJSONBooleanSchema","merged","mergedType","ensureArray","allPropertyNames","sourceProperty","targetProperty","propSchema","propSchemaType","attrName","typeMap","anyOfSchema","oneOfSchema","contentSample","sampleEncoderAPI","sampleFormatAPI","sampleMediaTypeAPI","PresetApis","OpenAPI30Plugin","JSONSchema202012SamplesPlugin","OpenAPI31Plugin","GIT_DIRTY","GIT_COMMIT","PACKAGE_VERSION","BUILD_TIME","buildInfo","SwaggerUI","swaggerUi","gitRevision","gitDirty","buildTimestamp","dom_id","urls","pathname","syntax","defaultExpanded","languages","queryConfigEnabled","presets","ApisPreset","syntaxHighlight","activated","theme","queryConfig","parseSearch","params","constructorConfig","storeConfigs","System","inlinePlugin","downloadSpec","fetchedConfig","localConfig","mergedConfig","configsActions","querySelector","configUrl","loadRemoteConfig","base","apis","Auth","Configs","DeepLining","Err","Filter","Icons","JSONSchema5Samples","JSONSchema202012Samples","Logs","OpenAPI30","OpenAPI31","OnComplete","Spec","SwaggerClient","Util","View","DownloadUrl","SafeRender"],"sourceRoot":""} \ No newline at end of file diff --git a/public/swagger/swagger-ui-es-bundle.js b/public/swagger/swagger-ui-es-bundle.js new file mode 100644 index 0000000..0570fbc --- /dev/null +++ b/public/swagger/swagger-ui-es-bundle.js @@ -0,0 +1,3 @@ +/*! For license information please see swagger-ui-es-bundle.js.LICENSE.txt */ +(()=>{var i={17967:(i,s)=>{"use strict";s.Nm=s.Rq=void 0;var u=/^([^\w]*)(javascript|data|vbscript)/im,m=/&#(\w+)(^\w|;)?/g,v=/&(newline|tab);/gi,_=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,j=/^.+(:|:)/gim,M=[".","/"];s.Rq="about:blank",s.Nm=function sanitizeUrl(i){if(!i)return s.Rq;var $=function decodeHtmlCharacters(i){return i.replace(_,"").replace(m,(function(i,s){return String.fromCharCode(s)}))}(i).replace(v,"").replace(_,"").trim();if(!$)return s.Rq;if(function isRelativeUrlWithoutProtocol(i){return M.indexOf(i[0])>-1}($))return $;var W=$.match(j);if(!W)return $;var X=W[0];return u.test(X)?s.Rq:$}},79742:(i,s)=>{"use strict";s.byteLength=function byteLength(i){var s=getLens(i),u=s[0],m=s[1];return 3*(u+m)/4-m},s.toByteArray=function toByteArray(i){var s,u,_=getLens(i),j=_[0],M=_[1],$=new v(function _byteLength(i,s,u){return 3*(s+u)/4-u}(0,j,M)),W=0,X=M>0?j-4:j;for(u=0;u>16&255,$[W++]=s>>8&255,$[W++]=255&s;2===M&&(s=m[i.charCodeAt(u)]<<2|m[i.charCodeAt(u+1)]>>4,$[W++]=255&s);1===M&&(s=m[i.charCodeAt(u)]<<10|m[i.charCodeAt(u+1)]<<4|m[i.charCodeAt(u+2)]>>2,$[W++]=s>>8&255,$[W++]=255&s);return $},s.fromByteArray=function fromByteArray(i){for(var s,m=i.length,v=m%3,_=[],j=16383,M=0,$=m-v;M<$;M+=j)_.push(encodeChunk(i,M,M+j>$?$:M+j));1===v?(s=i[m-1],_.push(u[s>>2]+u[s<<4&63]+"==")):2===v&&(s=(i[m-2]<<8)+i[m-1],_.push(u[s>>10]+u[s>>4&63]+u[s<<2&63]+"="));return _.join("")};for(var u=[],m=[],v="undefined"!=typeof Uint8Array?Uint8Array:Array,_="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",j=0;j<64;++j)u[j]=_[j],m[_.charCodeAt(j)]=j;function getLens(i){var s=i.length;if(s%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var u=i.indexOf("=");return-1===u&&(u=s),[u,u===s?0:4-u%4]}function encodeChunk(i,s,m){for(var v,_,j=[],M=s;M>18&63]+u[_>>12&63]+u[_>>6&63]+u[63&_]);return j.join("")}m["-".charCodeAt(0)]=62,m["_".charCodeAt(0)]=63},48764:(i,s,u)=>{"use strict";const m=u(79742),v=u(80645),_="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;s.Buffer=Buffer,s.SlowBuffer=function SlowBuffer(i){+i!=i&&(i=0);return Buffer.alloc(+i)},s.INSPECT_MAX_BYTES=50;const j=2147483647;function createBuffer(i){if(i>j)throw new RangeError('The value "'+i+'" is invalid for option "size"');const s=new Uint8Array(i);return Object.setPrototypeOf(s,Buffer.prototype),s}function Buffer(i,s,u){if("number"==typeof i){if("string"==typeof s)throw new TypeError('The "string" argument must be of type string. Received type number');return allocUnsafe(i)}return from(i,s,u)}function from(i,s,u){if("string"==typeof i)return function fromString(i,s){"string"==typeof s&&""!==s||(s="utf8");if(!Buffer.isEncoding(s))throw new TypeError("Unknown encoding: "+s);const u=0|byteLength(i,s);let m=createBuffer(u);const v=m.write(i,s);v!==u&&(m=m.slice(0,v));return m}(i,s);if(ArrayBuffer.isView(i))return function fromArrayView(i){if(isInstance(i,Uint8Array)){const s=new Uint8Array(i);return fromArrayBuffer(s.buffer,s.byteOffset,s.byteLength)}return fromArrayLike(i)}(i);if(null==i)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof i);if(isInstance(i,ArrayBuffer)||i&&isInstance(i.buffer,ArrayBuffer))return fromArrayBuffer(i,s,u);if("undefined"!=typeof SharedArrayBuffer&&(isInstance(i,SharedArrayBuffer)||i&&isInstance(i.buffer,SharedArrayBuffer)))return fromArrayBuffer(i,s,u);if("number"==typeof i)throw new TypeError('The "value" argument must not be of type number. Received type number');const m=i.valueOf&&i.valueOf();if(null!=m&&m!==i)return Buffer.from(m,s,u);const v=function fromObject(i){if(Buffer.isBuffer(i)){const s=0|checked(i.length),u=createBuffer(s);return 0===u.length||i.copy(u,0,0,s),u}if(void 0!==i.length)return"number"!=typeof i.length||numberIsNaN(i.length)?createBuffer(0):fromArrayLike(i);if("Buffer"===i.type&&Array.isArray(i.data))return fromArrayLike(i.data)}(i);if(v)return v;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof i[Symbol.toPrimitive])return Buffer.from(i[Symbol.toPrimitive]("string"),s,u);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof i)}function assertSize(i){if("number"!=typeof i)throw new TypeError('"size" argument must be of type number');if(i<0)throw new RangeError('The value "'+i+'" is invalid for option "size"')}function allocUnsafe(i){return assertSize(i),createBuffer(i<0?0:0|checked(i))}function fromArrayLike(i){const s=i.length<0?0:0|checked(i.length),u=createBuffer(s);for(let m=0;m=j)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+j.toString(16)+" bytes");return 0|i}function byteLength(i,s){if(Buffer.isBuffer(i))return i.length;if(ArrayBuffer.isView(i)||isInstance(i,ArrayBuffer))return i.byteLength;if("string"!=typeof i)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof i);const u=i.length,m=arguments.length>2&&!0===arguments[2];if(!m&&0===u)return 0;let v=!1;for(;;)switch(s){case"ascii":case"latin1":case"binary":return u;case"utf8":case"utf-8":return utf8ToBytes(i).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*u;case"hex":return u>>>1;case"base64":return base64ToBytes(i).length;default:if(v)return m?-1:utf8ToBytes(i).length;s=(""+s).toLowerCase(),v=!0}}function slowToString(i,s,u){let m=!1;if((void 0===s||s<0)&&(s=0),s>this.length)return"";if((void 0===u||u>this.length)&&(u=this.length),u<=0)return"";if((u>>>=0)<=(s>>>=0))return"";for(i||(i="utf8");;)switch(i){case"hex":return hexSlice(this,s,u);case"utf8":case"utf-8":return utf8Slice(this,s,u);case"ascii":return asciiSlice(this,s,u);case"latin1":case"binary":return latin1Slice(this,s,u);case"base64":return base64Slice(this,s,u);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return utf16leSlice(this,s,u);default:if(m)throw new TypeError("Unknown encoding: "+i);i=(i+"").toLowerCase(),m=!0}}function swap(i,s,u){const m=i[s];i[s]=i[u],i[u]=m}function bidirectionalIndexOf(i,s,u,m,v){if(0===i.length)return-1;if("string"==typeof u?(m=u,u=0):u>2147483647?u=2147483647:u<-2147483648&&(u=-2147483648),numberIsNaN(u=+u)&&(u=v?0:i.length-1),u<0&&(u=i.length+u),u>=i.length){if(v)return-1;u=i.length-1}else if(u<0){if(!v)return-1;u=0}if("string"==typeof s&&(s=Buffer.from(s,m)),Buffer.isBuffer(s))return 0===s.length?-1:arrayIndexOf(i,s,u,m,v);if("number"==typeof s)return s&=255,"function"==typeof Uint8Array.prototype.indexOf?v?Uint8Array.prototype.indexOf.call(i,s,u):Uint8Array.prototype.lastIndexOf.call(i,s,u):arrayIndexOf(i,[s],u,m,v);throw new TypeError("val must be string, number or Buffer")}function arrayIndexOf(i,s,u,m,v){let _,j=1,M=i.length,$=s.length;if(void 0!==m&&("ucs2"===(m=String(m).toLowerCase())||"ucs-2"===m||"utf16le"===m||"utf-16le"===m)){if(i.length<2||s.length<2)return-1;j=2,M/=2,$/=2,u/=2}function read(i,s){return 1===j?i[s]:i.readUInt16BE(s*j)}if(v){let m=-1;for(_=u;_M&&(u=M-$),_=u;_>=0;_--){let u=!0;for(let m=0;m<$;m++)if(read(i,_+m)!==read(s,m)){u=!1;break}if(u)return _}return-1}function hexWrite(i,s,u,m){u=Number(u)||0;const v=i.length-u;m?(m=Number(m))>v&&(m=v):m=v;const _=s.length;let j;for(m>_/2&&(m=_/2),j=0;j>8,v=u%256,_.push(v),_.push(m);return _}(s,i.length-u),i,u,m)}function base64Slice(i,s,u){return 0===s&&u===i.length?m.fromByteArray(i):m.fromByteArray(i.slice(s,u))}function utf8Slice(i,s,u){u=Math.min(i.length,u);const m=[];let v=s;for(;v239?4:s>223?3:s>191?2:1;if(v+j<=u){let u,m,M,$;switch(j){case 1:s<128&&(_=s);break;case 2:u=i[v+1],128==(192&u)&&($=(31&s)<<6|63&u,$>127&&(_=$));break;case 3:u=i[v+1],m=i[v+2],128==(192&u)&&128==(192&m)&&($=(15&s)<<12|(63&u)<<6|63&m,$>2047&&($<55296||$>57343)&&(_=$));break;case 4:u=i[v+1],m=i[v+2],M=i[v+3],128==(192&u)&&128==(192&m)&&128==(192&M)&&($=(15&s)<<18|(63&u)<<12|(63&m)<<6|63&M,$>65535&&$<1114112&&(_=$))}}null===_?(_=65533,j=1):_>65535&&(_-=65536,m.push(_>>>10&1023|55296),_=56320|1023&_),m.push(_),v+=j}return function decodeCodePointsArray(i){const s=i.length;if(s<=M)return String.fromCharCode.apply(String,i);let u="",m=0;for(;mm.length?(Buffer.isBuffer(s)||(s=Buffer.from(s)),s.copy(m,v)):Uint8Array.prototype.set.call(m,s,v);else{if(!Buffer.isBuffer(s))throw new TypeError('"list" argument must be an Array of Buffers');s.copy(m,v)}v+=s.length}return m},Buffer.byteLength=byteLength,Buffer.prototype._isBuffer=!0,Buffer.prototype.swap16=function swap16(){const i=this.length;if(i%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let s=0;su&&(i+=" ... "),""},_&&(Buffer.prototype[_]=Buffer.prototype.inspect),Buffer.prototype.compare=function compare(i,s,u,m,v){if(isInstance(i,Uint8Array)&&(i=Buffer.from(i,i.offset,i.byteLength)),!Buffer.isBuffer(i))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof i);if(void 0===s&&(s=0),void 0===u&&(u=i?i.length:0),void 0===m&&(m=0),void 0===v&&(v=this.length),s<0||u>i.length||m<0||v>this.length)throw new RangeError("out of range index");if(m>=v&&s>=u)return 0;if(m>=v)return-1;if(s>=u)return 1;if(this===i)return 0;let _=(v>>>=0)-(m>>>=0),j=(u>>>=0)-(s>>>=0);const M=Math.min(_,j),$=this.slice(m,v),W=i.slice(s,u);for(let i=0;i>>=0,isFinite(u)?(u>>>=0,void 0===m&&(m="utf8")):(m=u,u=void 0)}const v=this.length-s;if((void 0===u||u>v)&&(u=v),i.length>0&&(u<0||s<0)||s>this.length)throw new RangeError("Attempt to write outside buffer bounds");m||(m="utf8");let _=!1;for(;;)switch(m){case"hex":return hexWrite(this,i,s,u);case"utf8":case"utf-8":return utf8Write(this,i,s,u);case"ascii":case"latin1":case"binary":return asciiWrite(this,i,s,u);case"base64":return base64Write(this,i,s,u);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ucs2Write(this,i,s,u);default:if(_)throw new TypeError("Unknown encoding: "+m);m=(""+m).toLowerCase(),_=!0}},Buffer.prototype.toJSON=function toJSON(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const M=4096;function asciiSlice(i,s,u){let m="";u=Math.min(i.length,u);for(let v=s;vm)&&(u=m);let v="";for(let m=s;mu)throw new RangeError("Trying to access beyond buffer length")}function checkInt(i,s,u,m,v,_){if(!Buffer.isBuffer(i))throw new TypeError('"buffer" argument must be a Buffer instance');if(s>v||s<_)throw new RangeError('"value" argument is out of bounds');if(u+m>i.length)throw new RangeError("Index out of range")}function wrtBigUInt64LE(i,s,u,m,v){checkIntBI(s,m,v,i,u,7);let _=Number(s&BigInt(4294967295));i[u++]=_,_>>=8,i[u++]=_,_>>=8,i[u++]=_,_>>=8,i[u++]=_;let j=Number(s>>BigInt(32)&BigInt(4294967295));return i[u++]=j,j>>=8,i[u++]=j,j>>=8,i[u++]=j,j>>=8,i[u++]=j,u}function wrtBigUInt64BE(i,s,u,m,v){checkIntBI(s,m,v,i,u,7);let _=Number(s&BigInt(4294967295));i[u+7]=_,_>>=8,i[u+6]=_,_>>=8,i[u+5]=_,_>>=8,i[u+4]=_;let j=Number(s>>BigInt(32)&BigInt(4294967295));return i[u+3]=j,j>>=8,i[u+2]=j,j>>=8,i[u+1]=j,j>>=8,i[u]=j,u+8}function checkIEEE754(i,s,u,m,v,_){if(u+m>i.length)throw new RangeError("Index out of range");if(u<0)throw new RangeError("Index out of range")}function writeFloat(i,s,u,m,_){return s=+s,u>>>=0,_||checkIEEE754(i,0,u,4),v.write(i,s,u,m,23,4),u+4}function writeDouble(i,s,u,m,_){return s=+s,u>>>=0,_||checkIEEE754(i,0,u,8),v.write(i,s,u,m,52,8),u+8}Buffer.prototype.slice=function slice(i,s){const u=this.length;(i=~~i)<0?(i+=u)<0&&(i=0):i>u&&(i=u),(s=void 0===s?u:~~s)<0?(s+=u)<0&&(s=0):s>u&&(s=u),s>>=0,s>>>=0,u||checkOffset(i,s,this.length);let m=this[i],v=1,_=0;for(;++_>>=0,s>>>=0,u||checkOffset(i,s,this.length);let m=this[i+--s],v=1;for(;s>0&&(v*=256);)m+=this[i+--s]*v;return m},Buffer.prototype.readUint8=Buffer.prototype.readUInt8=function readUInt8(i,s){return i>>>=0,s||checkOffset(i,1,this.length),this[i]},Buffer.prototype.readUint16LE=Buffer.prototype.readUInt16LE=function readUInt16LE(i,s){return i>>>=0,s||checkOffset(i,2,this.length),this[i]|this[i+1]<<8},Buffer.prototype.readUint16BE=Buffer.prototype.readUInt16BE=function readUInt16BE(i,s){return i>>>=0,s||checkOffset(i,2,this.length),this[i]<<8|this[i+1]},Buffer.prototype.readUint32LE=Buffer.prototype.readUInt32LE=function readUInt32LE(i,s){return i>>>=0,s||checkOffset(i,4,this.length),(this[i]|this[i+1]<<8|this[i+2]<<16)+16777216*this[i+3]},Buffer.prototype.readUint32BE=Buffer.prototype.readUInt32BE=function readUInt32BE(i,s){return i>>>=0,s||checkOffset(i,4,this.length),16777216*this[i]+(this[i+1]<<16|this[i+2]<<8|this[i+3])},Buffer.prototype.readBigUInt64LE=defineBigIntMethod((function readBigUInt64LE(i){validateNumber(i>>>=0,"offset");const s=this[i],u=this[i+7];void 0!==s&&void 0!==u||boundsError(i,this.length-8);const m=s+256*this[++i]+65536*this[++i]+this[++i]*2**24,v=this[++i]+256*this[++i]+65536*this[++i]+u*2**24;return BigInt(m)+(BigInt(v)<>>=0,"offset");const s=this[i],u=this[i+7];void 0!==s&&void 0!==u||boundsError(i,this.length-8);const m=s*2**24+65536*this[++i]+256*this[++i]+this[++i],v=this[++i]*2**24+65536*this[++i]+256*this[++i]+u;return(BigInt(m)<>>=0,s>>>=0,u||checkOffset(i,s,this.length);let m=this[i],v=1,_=0;for(;++_=v&&(m-=Math.pow(2,8*s)),m},Buffer.prototype.readIntBE=function readIntBE(i,s,u){i>>>=0,s>>>=0,u||checkOffset(i,s,this.length);let m=s,v=1,_=this[i+--m];for(;m>0&&(v*=256);)_+=this[i+--m]*v;return v*=128,_>=v&&(_-=Math.pow(2,8*s)),_},Buffer.prototype.readInt8=function readInt8(i,s){return i>>>=0,s||checkOffset(i,1,this.length),128&this[i]?-1*(255-this[i]+1):this[i]},Buffer.prototype.readInt16LE=function readInt16LE(i,s){i>>>=0,s||checkOffset(i,2,this.length);const u=this[i]|this[i+1]<<8;return 32768&u?4294901760|u:u},Buffer.prototype.readInt16BE=function readInt16BE(i,s){i>>>=0,s||checkOffset(i,2,this.length);const u=this[i+1]|this[i]<<8;return 32768&u?4294901760|u:u},Buffer.prototype.readInt32LE=function readInt32LE(i,s){return i>>>=0,s||checkOffset(i,4,this.length),this[i]|this[i+1]<<8|this[i+2]<<16|this[i+3]<<24},Buffer.prototype.readInt32BE=function readInt32BE(i,s){return i>>>=0,s||checkOffset(i,4,this.length),this[i]<<24|this[i+1]<<16|this[i+2]<<8|this[i+3]},Buffer.prototype.readBigInt64LE=defineBigIntMethod((function readBigInt64LE(i){validateNumber(i>>>=0,"offset");const s=this[i],u=this[i+7];void 0!==s&&void 0!==u||boundsError(i,this.length-8);const m=this[i+4]+256*this[i+5]+65536*this[i+6]+(u<<24);return(BigInt(m)<>>=0,"offset");const s=this[i],u=this[i+7];void 0!==s&&void 0!==u||boundsError(i,this.length-8);const m=(s<<24)+65536*this[++i]+256*this[++i]+this[++i];return(BigInt(m)<>>=0,s||checkOffset(i,4,this.length),v.read(this,i,!0,23,4)},Buffer.prototype.readFloatBE=function readFloatBE(i,s){return i>>>=0,s||checkOffset(i,4,this.length),v.read(this,i,!1,23,4)},Buffer.prototype.readDoubleLE=function readDoubleLE(i,s){return i>>>=0,s||checkOffset(i,8,this.length),v.read(this,i,!0,52,8)},Buffer.prototype.readDoubleBE=function readDoubleBE(i,s){return i>>>=0,s||checkOffset(i,8,this.length),v.read(this,i,!1,52,8)},Buffer.prototype.writeUintLE=Buffer.prototype.writeUIntLE=function writeUIntLE(i,s,u,m){if(i=+i,s>>>=0,u>>>=0,!m){checkInt(this,i,s,u,Math.pow(2,8*u)-1,0)}let v=1,_=0;for(this[s]=255&i;++_>>=0,u>>>=0,!m){checkInt(this,i,s,u,Math.pow(2,8*u)-1,0)}let v=u-1,_=1;for(this[s+v]=255&i;--v>=0&&(_*=256);)this[s+v]=i/_&255;return s+u},Buffer.prototype.writeUint8=Buffer.prototype.writeUInt8=function writeUInt8(i,s,u){return i=+i,s>>>=0,u||checkInt(this,i,s,1,255,0),this[s]=255&i,s+1},Buffer.prototype.writeUint16LE=Buffer.prototype.writeUInt16LE=function writeUInt16LE(i,s,u){return i=+i,s>>>=0,u||checkInt(this,i,s,2,65535,0),this[s]=255&i,this[s+1]=i>>>8,s+2},Buffer.prototype.writeUint16BE=Buffer.prototype.writeUInt16BE=function writeUInt16BE(i,s,u){return i=+i,s>>>=0,u||checkInt(this,i,s,2,65535,0),this[s]=i>>>8,this[s+1]=255&i,s+2},Buffer.prototype.writeUint32LE=Buffer.prototype.writeUInt32LE=function writeUInt32LE(i,s,u){return i=+i,s>>>=0,u||checkInt(this,i,s,4,4294967295,0),this[s+3]=i>>>24,this[s+2]=i>>>16,this[s+1]=i>>>8,this[s]=255&i,s+4},Buffer.prototype.writeUint32BE=Buffer.prototype.writeUInt32BE=function writeUInt32BE(i,s,u){return i=+i,s>>>=0,u||checkInt(this,i,s,4,4294967295,0),this[s]=i>>>24,this[s+1]=i>>>16,this[s+2]=i>>>8,this[s+3]=255&i,s+4},Buffer.prototype.writeBigUInt64LE=defineBigIntMethod((function writeBigUInt64LE(i,s=0){return wrtBigUInt64LE(this,i,s,BigInt(0),BigInt("0xffffffffffffffff"))})),Buffer.prototype.writeBigUInt64BE=defineBigIntMethod((function writeBigUInt64BE(i,s=0){return wrtBigUInt64BE(this,i,s,BigInt(0),BigInt("0xffffffffffffffff"))})),Buffer.prototype.writeIntLE=function writeIntLE(i,s,u,m){if(i=+i,s>>>=0,!m){const m=Math.pow(2,8*u-1);checkInt(this,i,s,u,m-1,-m)}let v=0,_=1,j=0;for(this[s]=255&i;++v>0)-j&255;return s+u},Buffer.prototype.writeIntBE=function writeIntBE(i,s,u,m){if(i=+i,s>>>=0,!m){const m=Math.pow(2,8*u-1);checkInt(this,i,s,u,m-1,-m)}let v=u-1,_=1,j=0;for(this[s+v]=255&i;--v>=0&&(_*=256);)i<0&&0===j&&0!==this[s+v+1]&&(j=1),this[s+v]=(i/_>>0)-j&255;return s+u},Buffer.prototype.writeInt8=function writeInt8(i,s,u){return i=+i,s>>>=0,u||checkInt(this,i,s,1,127,-128),i<0&&(i=255+i+1),this[s]=255&i,s+1},Buffer.prototype.writeInt16LE=function writeInt16LE(i,s,u){return i=+i,s>>>=0,u||checkInt(this,i,s,2,32767,-32768),this[s]=255&i,this[s+1]=i>>>8,s+2},Buffer.prototype.writeInt16BE=function writeInt16BE(i,s,u){return i=+i,s>>>=0,u||checkInt(this,i,s,2,32767,-32768),this[s]=i>>>8,this[s+1]=255&i,s+2},Buffer.prototype.writeInt32LE=function writeInt32LE(i,s,u){return i=+i,s>>>=0,u||checkInt(this,i,s,4,2147483647,-2147483648),this[s]=255&i,this[s+1]=i>>>8,this[s+2]=i>>>16,this[s+3]=i>>>24,s+4},Buffer.prototype.writeInt32BE=function writeInt32BE(i,s,u){return i=+i,s>>>=0,u||checkInt(this,i,s,4,2147483647,-2147483648),i<0&&(i=4294967295+i+1),this[s]=i>>>24,this[s+1]=i>>>16,this[s+2]=i>>>8,this[s+3]=255&i,s+4},Buffer.prototype.writeBigInt64LE=defineBigIntMethod((function writeBigInt64LE(i,s=0){return wrtBigUInt64LE(this,i,s,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),Buffer.prototype.writeBigInt64BE=defineBigIntMethod((function writeBigInt64BE(i,s=0){return wrtBigUInt64BE(this,i,s,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),Buffer.prototype.writeFloatLE=function writeFloatLE(i,s,u){return writeFloat(this,i,s,!0,u)},Buffer.prototype.writeFloatBE=function writeFloatBE(i,s,u){return writeFloat(this,i,s,!1,u)},Buffer.prototype.writeDoubleLE=function writeDoubleLE(i,s,u){return writeDouble(this,i,s,!0,u)},Buffer.prototype.writeDoubleBE=function writeDoubleBE(i,s,u){return writeDouble(this,i,s,!1,u)},Buffer.prototype.copy=function copy(i,s,u,m){if(!Buffer.isBuffer(i))throw new TypeError("argument should be a Buffer");if(u||(u=0),m||0===m||(m=this.length),s>=i.length&&(s=i.length),s||(s=0),m>0&&m=this.length)throw new RangeError("Index out of range");if(m<0)throw new RangeError("sourceEnd out of bounds");m>this.length&&(m=this.length),i.length-s>>=0,u=void 0===u?this.length:u>>>0,i||(i=0),"number"==typeof i)for(v=s;v=m+4;u-=3)s=`_${i.slice(u-3,u)}${s}`;return`${i.slice(0,u)}${s}`}function checkIntBI(i,s,u,m,v,_){if(i>u||i3?0===s||s===BigInt(0)?`>= 0${m} and < 2${m} ** ${8*(_+1)}${m}`:`>= -(2${m} ** ${8*(_+1)-1}${m}) and < 2 ** ${8*(_+1)-1}${m}`:`>= ${s}${m} and <= ${u}${m}`,new $.ERR_OUT_OF_RANGE("value",v,i)}!function checkBounds(i,s,u){validateNumber(s,"offset"),void 0!==i[s]&&void 0!==i[s+u]||boundsError(s,i.length-(u+1))}(m,v,_)}function validateNumber(i,s){if("number"!=typeof i)throw new $.ERR_INVALID_ARG_TYPE(s,"number",i)}function boundsError(i,s,u){if(Math.floor(i)!==i)throw validateNumber(i,u),new $.ERR_OUT_OF_RANGE(u||"offset","an integer",i);if(s<0)throw new $.ERR_BUFFER_OUT_OF_BOUNDS;throw new $.ERR_OUT_OF_RANGE(u||"offset",`>= ${u?1:0} and <= ${s}`,i)}E("ERR_BUFFER_OUT_OF_BOUNDS",(function(i){return i?`${i} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),E("ERR_INVALID_ARG_TYPE",(function(i,s){return`The "${i}" argument must be of type number. Received type ${typeof s}`}),TypeError),E("ERR_OUT_OF_RANGE",(function(i,s,u){let m=`The value of "${i}" is out of range.`,v=u;return Number.isInteger(u)&&Math.abs(u)>2**32?v=addNumericalSeparator(String(u)):"bigint"==typeof u&&(v=String(u),(u>BigInt(2)**BigInt(32)||u<-(BigInt(2)**BigInt(32)))&&(v=addNumericalSeparator(v)),v+="n"),m+=` It must be ${s}. Received ${v}`,m}),RangeError);const W=/[^+/0-9A-Za-z-_]/g;function utf8ToBytes(i,s){let u;s=s||1/0;const m=i.length;let v=null;const _=[];for(let j=0;j55295&&u<57344){if(!v){if(u>56319){(s-=3)>-1&&_.push(239,191,189);continue}if(j+1===m){(s-=3)>-1&&_.push(239,191,189);continue}v=u;continue}if(u<56320){(s-=3)>-1&&_.push(239,191,189),v=u;continue}u=65536+(v-55296<<10|u-56320)}else v&&(s-=3)>-1&&_.push(239,191,189);if(v=null,u<128){if((s-=1)<0)break;_.push(u)}else if(u<2048){if((s-=2)<0)break;_.push(u>>6|192,63&u|128)}else if(u<65536){if((s-=3)<0)break;_.push(u>>12|224,u>>6&63|128,63&u|128)}else{if(!(u<1114112))throw new Error("Invalid code point");if((s-=4)<0)break;_.push(u>>18|240,u>>12&63|128,u>>6&63|128,63&u|128)}}return _}function base64ToBytes(i){return m.toByteArray(function base64clean(i){if((i=(i=i.split("=")[0]).trim().replace(W,"")).length<2)return"";for(;i.length%4!=0;)i+="=";return i}(i))}function blitBuffer(i,s,u,m){let v;for(v=0;v=s.length||v>=i.length);++v)s[v+u]=i[v];return v}function isInstance(i,s){return i instanceof s||null!=i&&null!=i.constructor&&null!=i.constructor.name&&i.constructor.name===s.name}function numberIsNaN(i){return i!=i}const X=function(){const i="0123456789abcdef",s=new Array(256);for(let u=0;u<16;++u){const m=16*u;for(let v=0;v<16;++v)s[m+v]=i[u]+i[v]}return s}();function defineBigIntMethod(i){return"undefined"==typeof BigInt?BufferBigIntNotDefined:i}function BufferBigIntNotDefined(){throw new Error("BigInt not supported")}},21924:(i,s,u)=>{"use strict";var m=u(40210),v=u(55559),_=v(m("String.prototype.indexOf"));i.exports=function callBoundIntrinsic(i,s){var u=m(i,!!s);return"function"==typeof u&&_(i,".prototype.")>-1?v(u):u}},55559:(i,s,u)=>{"use strict";var m=u(58612),v=u(40210),_=v("%Function.prototype.apply%"),j=v("%Function.prototype.call%"),M=v("%Reflect.apply%",!0)||m.call(j,_),$=v("%Object.getOwnPropertyDescriptor%",!0),W=v("%Object.defineProperty%",!0),X=v("%Math.max%");if(W)try{W({},"a",{value:1})}catch(i){W=null}i.exports=function callBind(i){var s=M(m,j,arguments);$&&W&&($(s,"length").configurable&&W(s,"length",{value:1+X(0,i.length-(arguments.length-1))}));return s};var Y=function applyBind(){return M(m,_,arguments)};W?W(i.exports,"apply",{value:Y}):i.exports.apply=Y},94184:(i,s)=>{var u;!function(){"use strict";var m={}.hasOwnProperty;function classNames(){for(var i=[],s=0;s{"use strict";s.parse=function parse(i,s){if("string"!=typeof i)throw new TypeError("argument str must be a string");var u={},m=(s||{}).decode||decode,v=0;for(;v{"use strict";var m=u(11742),v={"text/plain":"Text","text/html":"Url",default:"Text"};i.exports=function copy(i,s){var u,_,j,M,$,W,X=!1;s||(s={}),u=s.debug||!1;try{if(j=m(),M=document.createRange(),$=document.getSelection(),(W=document.createElement("span")).textContent=i,W.ariaHidden="true",W.style.all="unset",W.style.position="fixed",W.style.top=0,W.style.clip="rect(0, 0, 0, 0)",W.style.whiteSpace="pre",W.style.webkitUserSelect="text",W.style.MozUserSelect="text",W.style.msUserSelect="text",W.style.userSelect="text",W.addEventListener("copy",(function(m){if(m.stopPropagation(),s.format)if(m.preventDefault(),void 0===m.clipboardData){u&&console.warn("unable to use e.clipboardData"),u&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var _=v[s.format]||v.default;window.clipboardData.setData(_,i)}else m.clipboardData.clearData(),m.clipboardData.setData(s.format,i);s.onCopy&&(m.preventDefault(),s.onCopy(m.clipboardData))})),document.body.appendChild(W),M.selectNodeContents(W),$.addRange(M),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");X=!0}catch(m){u&&console.error("unable to copy using execCommand: ",m),u&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(s.format||"text",i),s.onCopy&&s.onCopy(window.clipboardData),X=!0}catch(m){u&&console.error("unable to copy using clipboardData: ",m),u&&console.error("falling back to prompt"),_=function format(i){var s=(/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl")+"+C";return i.replace(/#{\s*key\s*}/g,s)}("message"in s?s.message:"Copy to clipboard: #{key}, Enter"),window.prompt(_,i)}}finally{$&&("function"==typeof $.removeRange?$.removeRange(M):$.removeAllRanges()),W&&document.body.removeChild(W),j()}return X}},44101:(i,s,u)=>{var m=u(18957);i.exports=m},90093:(i,s,u)=>{var m=u(28196);i.exports=m},65362:(i,s,u)=>{var m=u(63383);i.exports=m},50415:(i,s,u)=>{u(61181),u(47627),u(24415),u(66274),u(77971);var m=u(54058);i.exports=m.AggregateError},27700:(i,s,u)=>{u(73381);var m=u(35703);i.exports=m("Function").bind},16246:(i,s,u)=>{var m=u(7046),v=u(27700),_=Function.prototype;i.exports=function(i){var s=i.bind;return i===_||m(_,i)&&s===_.bind?v:s}},45999:(i,s,u)=>{u(49221);var m=u(54058);i.exports=m.Object.assign},16121:(i,s,u)=>{i.exports=u(38644)},14122:(i,s,u)=>{i.exports=u(89097)},60269:(i,s,u)=>{i.exports=u(76936)},38644:(i,s,u)=>{u(89731);var m=u(44101);i.exports=m},89097:(i,s,u)=>{var m=u(90093);i.exports=m},76936:(i,s,u)=>{var m=u(65362);i.exports=m},24883:(i,s,u)=>{var m=u(57475),v=u(69826),_=TypeError;i.exports=function(i){if(m(i))return i;throw _(v(i)+" is not a function")}},11851:(i,s,u)=>{var m=u(57475),v=String,_=TypeError;i.exports=function(i){if("object"==typeof i||m(i))return i;throw _("Can't set "+v(i)+" as a prototype")}},18479:i=>{i.exports=function(){}},96059:(i,s,u)=>{var m=u(10941),v=String,_=TypeError;i.exports=function(i){if(m(i))return i;throw _(v(i)+" is not an object")}},31692:(i,s,u)=>{var m=u(74529),v=u(59413),_=u(10623),createMethod=function(i){return function(s,u,j){var M,$=m(s),W=_($),X=v(j,W);if(i&&u!=u){for(;W>X;)if((M=$[X++])!=M)return!0}else for(;W>X;X++)if((i||X in $)&&$[X]===u)return i||X||0;return!i&&-1}};i.exports={includes:createMethod(!0),indexOf:createMethod(!1)}},93765:(i,s,u)=>{var m=u(95329);i.exports=m([].slice)},82532:(i,s,u)=>{var m=u(95329),v=m({}.toString),_=m("".slice);i.exports=function(i){return _(v(i),8,-1)}},9697:(i,s,u)=>{var m=u(22885),v=u(57475),_=u(82532),j=u(99813)("toStringTag"),M=Object,$="Arguments"==_(function(){return arguments}());i.exports=m?_:function(i){var s,u,m;return void 0===i?"Undefined":null===i?"Null":"string"==typeof(u=function(i,s){try{return i[s]}catch(i){}}(s=M(i),j))?u:$?_(s):"Object"==(m=_(s))&&v(s.callee)?"Arguments":m}},23489:(i,s,u)=>{var m=u(90953),v=u(31136),_=u(49677),j=u(65988);i.exports=function(i,s,u){for(var M=v(s),$=j.f,W=_.f,X=0;X{var m=u(95981);i.exports=!m((function(){function F(){}return F.prototype.constructor=null,Object.getPrototypeOf(new F)!==F.prototype}))},23538:i=>{i.exports=function(i,s){return{value:i,done:s}}},32029:(i,s,u)=>{var m=u(55746),v=u(65988),_=u(31887);i.exports=m?function(i,s,u){return v.f(i,s,_(1,u))}:function(i,s,u){return i[s]=u,i}},31887:i=>{i.exports=function(i,s){return{enumerable:!(1&i),configurable:!(2&i),writable:!(4&i),value:s}}},95929:(i,s,u)=>{var m=u(32029);i.exports=function(i,s,u,v){return v&&v.enumerable?i[s]=u:m(i,s,u),i}},75609:(i,s,u)=>{var m=u(21899),v=Object.defineProperty;i.exports=function(i,s){try{v(m,i,{value:s,configurable:!0,writable:!0})}catch(u){m[i]=s}return s}},55746:(i,s,u)=>{var m=u(95981);i.exports=!m((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},76616:i=>{var s="object"==typeof document&&document.all,u=void 0===s&&void 0!==s;i.exports={all:s,IS_HTMLDDA:u}},61333:(i,s,u)=>{var m=u(21899),v=u(10941),_=m.document,j=v(_)&&v(_.createElement);i.exports=function(i){return j?_.createElement(i):{}}},63281:i=>{i.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},2861:i=>{i.exports="undefined"!=typeof navigator&&String(navigator.userAgent)||""},53385:(i,s,u)=>{var m,v,_=u(21899),j=u(2861),M=_.process,$=_.Deno,W=M&&M.versions||$&&$.version,X=W&&W.v8;X&&(v=(m=X.split("."))[0]>0&&m[0]<4?1:+(m[0]+m[1])),!v&&j&&(!(m=j.match(/Edge\/(\d+)/))||m[1]>=74)&&(m=j.match(/Chrome\/(\d+)/))&&(v=+m[1]),i.exports=v},35703:(i,s,u)=>{var m=u(54058);i.exports=function(i){return m[i+"Prototype"]}},56759:i=>{i.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},53995:(i,s,u)=>{var m=u(95329),v=Error,_=m("".replace),j=String(v("zxcasd").stack),M=/\n\s*at [^:]*:[^\n]*/,$=M.test(j);i.exports=function(i,s){if($&&"string"==typeof i&&!v.prepareStackTrace)for(;s--;)i=_(i,M,"");return i}},79585:(i,s,u)=>{var m=u(32029),v=u(53995),_=u(18780),j=Error.captureStackTrace;i.exports=function(i,s,u,M){_&&(j?j(i,s):m(i,"stack",v(u,M)))}},18780:(i,s,u)=>{var m=u(95981),v=u(31887);i.exports=!m((function(){var i=Error("a");return!("stack"in i)||(Object.defineProperty(i,"stack",v(1,7)),7!==i.stack)}))},76887:(i,s,u)=>{"use strict";var m=u(21899),v=u(79730),_=u(97484),j=u(57475),M=u(49677).f,$=u(37252),W=u(54058),X=u(86843),Y=u(32029),Z=u(90953),wrapConstructor=function(i){var Wrapper=function(s,u,m){if(this instanceof Wrapper){switch(arguments.length){case 0:return new i;case 1:return new i(s);case 2:return new i(s,u)}return new i(s,u,m)}return v(i,this,arguments)};return Wrapper.prototype=i.prototype,Wrapper};i.exports=function(i,s){var u,v,ee,ie,ae,le,ce,pe,de,fe=i.target,ye=i.global,be=i.stat,_e=i.proto,we=ye?m:be?m[fe]:(m[fe]||{}).prototype,Se=ye?W:W[fe]||Y(W,fe,{})[fe],xe=Se.prototype;for(ie in s)v=!(u=$(ye?ie:fe+(be?".":"#")+ie,i.forced))&&we&&Z(we,ie),le=Se[ie],v&&(ce=i.dontCallGetSet?(de=M(we,ie))&&de.value:we[ie]),ae=v&&ce?ce:s[ie],v&&typeof le==typeof ae||(pe=i.bind&&v?X(ae,m):i.wrap&&v?wrapConstructor(ae):_e&&j(ae)?_(ae):ae,(i.sham||ae&&ae.sham||le&&le.sham)&&Y(pe,"sham",!0),Y(Se,ie,pe),_e&&(Z(W,ee=fe+"Prototype")||Y(W,ee,{}),Y(W[ee],ie,ae),i.real&&xe&&(u||!xe[ie])&&Y(xe,ie,ae)))}},95981:i=>{i.exports=function(i){try{return!!i()}catch(i){return!0}}},79730:(i,s,u)=>{var m=u(18285),v=Function.prototype,_=v.apply,j=v.call;i.exports="object"==typeof Reflect&&Reflect.apply||(m?j.bind(_):function(){return j.apply(_,arguments)})},86843:(i,s,u)=>{var m=u(97484),v=u(24883),_=u(18285),j=m(m.bind);i.exports=function(i,s){return v(i),void 0===s?i:_?j(i,s):function(){return i.apply(s,arguments)}}},18285:(i,s,u)=>{var m=u(95981);i.exports=!m((function(){var i=function(){}.bind();return"function"!=typeof i||i.hasOwnProperty("prototype")}))},98308:(i,s,u)=>{"use strict";var m=u(95329),v=u(24883),_=u(10941),j=u(90953),M=u(93765),$=u(18285),W=Function,X=m([].concat),Y=m([].join),Z={};i.exports=$?W.bind:function bind(i){var s=v(this),u=s.prototype,m=M(arguments,1),$=function bound(){var u=X(m,M(arguments));return this instanceof $?function(i,s,u){if(!j(Z,s)){for(var m=[],v=0;v{var m=u(18285),v=Function.prototype.call;i.exports=m?v.bind(v):function(){return v.apply(v,arguments)}},79417:(i,s,u)=>{var m=u(55746),v=u(90953),_=Function.prototype,j=m&&Object.getOwnPropertyDescriptor,M=v(_,"name"),$=M&&"something"===function something(){}.name,W=M&&(!m||m&&j(_,"name").configurable);i.exports={EXISTS:M,PROPER:$,CONFIGURABLE:W}},45526:(i,s,u)=>{var m=u(95329),v=u(24883);i.exports=function(i,s,u){try{return m(v(Object.getOwnPropertyDescriptor(i,s)[u]))}catch(i){}}},97484:(i,s,u)=>{var m=u(82532),v=u(95329);i.exports=function(i){if("Function"===m(i))return v(i)}},95329:(i,s,u)=>{var m=u(18285),v=Function.prototype,_=v.call,j=m&&v.bind.bind(_,_);i.exports=m?j:function(i){return function(){return _.apply(i,arguments)}}},626:(i,s,u)=>{var m=u(54058),v=u(21899),_=u(57475),aFunction=function(i){return _(i)?i:void 0};i.exports=function(i,s){return arguments.length<2?aFunction(m[i])||aFunction(v[i]):m[i]&&m[i][s]||v[i]&&v[i][s]}},22902:(i,s,u)=>{var m=u(9697),v=u(14229),_=u(82119),j=u(12077),M=u(99813)("iterator");i.exports=function(i){if(!_(i))return v(i,M)||v(i,"@@iterator")||j[m(i)]}},53476:(i,s,u)=>{var m=u(78834),v=u(24883),_=u(96059),j=u(69826),M=u(22902),$=TypeError;i.exports=function(i,s){var u=arguments.length<2?M(i):s;if(v(u))return _(m(u,i));throw $(j(i)+" is not iterable")}},14229:(i,s,u)=>{var m=u(24883),v=u(82119);i.exports=function(i,s){var u=i[s];return v(u)?void 0:m(u)}},21899:function(i,s,u){var check=function(i){return i&&i.Math==Math&&i};i.exports=check("object"==typeof globalThis&&globalThis)||check("object"==typeof window&&window)||check("object"==typeof self&&self)||check("object"==typeof u.g&&u.g)||function(){return this}()||this||Function("return this")()},90953:(i,s,u)=>{var m=u(95329),v=u(89678),_=m({}.hasOwnProperty);i.exports=Object.hasOwn||function hasOwn(i,s){return _(v(i),s)}},27748:i=>{i.exports={}},15463:(i,s,u)=>{var m=u(626);i.exports=m("document","documentElement")},2840:(i,s,u)=>{var m=u(55746),v=u(95981),_=u(61333);i.exports=!m&&!v((function(){return 7!=Object.defineProperty(_("div"),"a",{get:function(){return 7}}).a}))},37026:(i,s,u)=>{var m=u(95329),v=u(95981),_=u(82532),j=Object,M=m("".split);i.exports=v((function(){return!j("z").propertyIsEnumerable(0)}))?function(i){return"String"==_(i)?M(i,""):j(i)}:j},70926:(i,s,u)=>{var m=u(57475),v=u(10941),_=u(88929);i.exports=function(i,s,u){var j,M;return _&&m(j=s.constructor)&&j!==u&&v(M=j.prototype)&&M!==u.prototype&&_(i,M),i}},53794:(i,s,u)=>{var m=u(10941),v=u(32029);i.exports=function(i,s){m(s)&&"cause"in s&&v(i,"cause",s.cause)}},45402:(i,s,u)=>{var m,v,_,j=u(47093),M=u(21899),$=u(10941),W=u(32029),X=u(90953),Y=u(63030),Z=u(44262),ee=u(27748),ie="Object already initialized",ae=M.TypeError,le=M.WeakMap;if(j||Y.state){var ce=Y.state||(Y.state=new le);ce.get=ce.get,ce.has=ce.has,ce.set=ce.set,m=function(i,s){if(ce.has(i))throw ae(ie);return s.facade=i,ce.set(i,s),s},v=function(i){return ce.get(i)||{}},_=function(i){return ce.has(i)}}else{var pe=Z("state");ee[pe]=!0,m=function(i,s){if(X(i,pe))throw ae(ie);return s.facade=i,W(i,pe,s),s},v=function(i){return X(i,pe)?i[pe]:{}},_=function(i){return X(i,pe)}}i.exports={set:m,get:v,has:_,enforce:function(i){return _(i)?v(i):m(i,{})},getterFor:function(i){return function(s){var u;if(!$(s)||(u=v(s)).type!==i)throw ae("Incompatible receiver, "+i+" required");return u}}}},6782:(i,s,u)=>{var m=u(99813),v=u(12077),_=m("iterator"),j=Array.prototype;i.exports=function(i){return void 0!==i&&(v.Array===i||j[_]===i)}},57475:(i,s,u)=>{var m=u(76616),v=m.all;i.exports=m.IS_HTMLDDA?function(i){return"function"==typeof i||i===v}:function(i){return"function"==typeof i}},37252:(i,s,u)=>{var m=u(95981),v=u(57475),_=/#|\.prototype\./,isForced=function(i,s){var u=M[j(i)];return u==W||u!=$&&(v(s)?m(s):!!s)},j=isForced.normalize=function(i){return String(i).replace(_,".").toLowerCase()},M=isForced.data={},$=isForced.NATIVE="N",W=isForced.POLYFILL="P";i.exports=isForced},82119:i=>{i.exports=function(i){return null==i}},10941:(i,s,u)=>{var m=u(57475),v=u(76616),_=v.all;i.exports=v.IS_HTMLDDA?function(i){return"object"==typeof i?null!==i:m(i)||i===_}:function(i){return"object"==typeof i?null!==i:m(i)}},82529:i=>{i.exports=!0},56664:(i,s,u)=>{var m=u(626),v=u(57475),_=u(7046),j=u(32302),M=Object;i.exports=j?function(i){return"symbol"==typeof i}:function(i){var s=m("Symbol");return v(s)&&_(s.prototype,M(i))}},93091:(i,s,u)=>{var m=u(86843),v=u(78834),_=u(96059),j=u(69826),M=u(6782),$=u(10623),W=u(7046),X=u(53476),Y=u(22902),Z=u(7609),ee=TypeError,Result=function(i,s){this.stopped=i,this.result=s},ie=Result.prototype;i.exports=function(i,s,u){var ae,le,ce,pe,de,fe,ye,be=u&&u.that,_e=!(!u||!u.AS_ENTRIES),we=!(!u||!u.IS_RECORD),Se=!(!u||!u.IS_ITERATOR),xe=!(!u||!u.INTERRUPTED),Pe=m(s,be),stop=function(i){return ae&&Z(ae,"normal",i),new Result(!0,i)},callFn=function(i){return _e?(_(i),xe?Pe(i[0],i[1],stop):Pe(i[0],i[1])):xe?Pe(i,stop):Pe(i)};if(we)ae=i.iterator;else if(Se)ae=i;else{if(!(le=Y(i)))throw ee(j(i)+" is not iterable");if(M(le)){for(ce=0,pe=$(i);pe>ce;ce++)if((de=callFn(i[ce]))&&W(ie,de))return de;return new Result(!1)}ae=X(i,le)}for(fe=we?i.next:ae.next;!(ye=v(fe,ae)).done;){try{de=callFn(ye.value)}catch(i){Z(ae,"throw",i)}if("object"==typeof de&&de&&W(ie,de))return de}return new Result(!1)}},7609:(i,s,u)=>{var m=u(78834),v=u(96059),_=u(14229);i.exports=function(i,s,u){var j,M;v(i);try{if(!(j=_(i,"return"))){if("throw"===s)throw u;return u}j=m(j,i)}catch(i){M=!0,j=i}if("throw"===s)throw u;if(M)throw j;return v(j),u}},53847:(i,s,u)=>{"use strict";var m=u(35143).IteratorPrototype,v=u(29290),_=u(31887),j=u(90904),M=u(12077),returnThis=function(){return this};i.exports=function(i,s,u,$){var W=s+" Iterator";return i.prototype=v(m,{next:_(+!$,u)}),j(i,W,!1,!0),M[W]=returnThis,i}},75105:(i,s,u)=>{"use strict";var m=u(76887),v=u(78834),_=u(82529),j=u(79417),M=u(57475),$=u(53847),W=u(249),X=u(88929),Y=u(90904),Z=u(32029),ee=u(95929),ie=u(99813),ae=u(12077),le=u(35143),ce=j.PROPER,pe=j.CONFIGURABLE,de=le.IteratorPrototype,fe=le.BUGGY_SAFARI_ITERATORS,ye=ie("iterator"),be="keys",_e="values",we="entries",returnThis=function(){return this};i.exports=function(i,s,u,j,ie,le,Se){$(u,s,j);var xe,Pe,Ie,getIterationMethod=function(i){if(i===ie&&Ve)return Ve;if(!fe&&i in qe)return qe[i];switch(i){case be:return function keys(){return new u(this,i)};case _e:return function values(){return new u(this,i)};case we:return function entries(){return new u(this,i)}}return function(){return new u(this)}},Te=s+" Iterator",Re=!1,qe=i.prototype,ze=qe[ye]||qe["@@iterator"]||ie&&qe[ie],Ve=!fe&&ze||getIterationMethod(ie),We="Array"==s&&qe.entries||ze;if(We&&(xe=W(We.call(new i)))!==Object.prototype&&xe.next&&(_||W(xe)===de||(X?X(xe,de):M(xe[ye])||ee(xe,ye,returnThis)),Y(xe,Te,!0,!0),_&&(ae[Te]=returnThis)),ce&&ie==_e&&ze&&ze.name!==_e&&(!_&&pe?Z(qe,"name",_e):(Re=!0,Ve=function values(){return v(ze,this)})),ie)if(Pe={values:getIterationMethod(_e),keys:le?Ve:getIterationMethod(be),entries:getIterationMethod(we)},Se)for(Ie in Pe)(fe||Re||!(Ie in qe))&&ee(qe,Ie,Pe[Ie]);else m({target:s,proto:!0,forced:fe||Re},Pe);return _&&!Se||qe[ye]===Ve||ee(qe,ye,Ve,{name:ie}),ae[s]=Ve,Pe}},35143:(i,s,u)=>{"use strict";var m,v,_,j=u(95981),M=u(57475),$=u(10941),W=u(29290),X=u(249),Y=u(95929),Z=u(99813),ee=u(82529),ie=Z("iterator"),ae=!1;[].keys&&("next"in(_=[].keys())?(v=X(X(_)))!==Object.prototype&&(m=v):ae=!0),!$(m)||j((function(){var i={};return m[ie].call(i)!==i}))?m={}:ee&&(m=W(m)),M(m[ie])||Y(m,ie,(function(){return this})),i.exports={IteratorPrototype:m,BUGGY_SAFARI_ITERATORS:ae}},12077:i=>{i.exports={}},10623:(i,s,u)=>{var m=u(43057);i.exports=function(i){return m(i.length)}},35331:i=>{var s=Math.ceil,u=Math.floor;i.exports=Math.trunc||function trunc(i){var m=+i;return(m>0?u:s)(m)}},14649:(i,s,u)=>{var m=u(85803);i.exports=function(i,s){return void 0===i?arguments.length<2?"":s:m(i)}},24420:(i,s,u)=>{"use strict";var m=u(55746),v=u(95329),_=u(78834),j=u(95981),M=u(14771),$=u(87857),W=u(36760),X=u(89678),Y=u(37026),Z=Object.assign,ee=Object.defineProperty,ie=v([].concat);i.exports=!Z||j((function(){if(m&&1!==Z({b:1},Z(ee({},"a",{enumerable:!0,get:function(){ee(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var i={},s={},u=Symbol(),v="abcdefghijklmnopqrst";return i[u]=7,v.split("").forEach((function(i){s[i]=i})),7!=Z({},i)[u]||M(Z({},s)).join("")!=v}))?function assign(i,s){for(var u=X(i),v=arguments.length,j=1,Z=$.f,ee=W.f;v>j;)for(var ae,le=Y(arguments[j++]),ce=Z?ie(M(le),Z(le)):M(le),pe=ce.length,de=0;pe>de;)ae=ce[de++],m&&!_(ee,le,ae)||(u[ae]=le[ae]);return u}:Z},29290:(i,s,u)=>{var m,v=u(96059),_=u(59938),j=u(56759),M=u(27748),$=u(15463),W=u(61333),X=u(44262),Y="prototype",Z="script",ee=X("IE_PROTO"),EmptyConstructor=function(){},scriptTag=function(i){return"<"+Z+">"+i+""},NullProtoObjectViaActiveX=function(i){i.write(scriptTag("")),i.close();var s=i.parentWindow.Object;return i=null,s},NullProtoObject=function(){try{m=new ActiveXObject("htmlfile")}catch(i){}var i,s,u;NullProtoObject="undefined"!=typeof document?document.domain&&m?NullProtoObjectViaActiveX(m):(s=W("iframe"),u="java"+Z+":",s.style.display="none",$.appendChild(s),s.src=String(u),(i=s.contentWindow.document).open(),i.write(scriptTag("document.F=Object")),i.close(),i.F):NullProtoObjectViaActiveX(m);for(var v=j.length;v--;)delete NullProtoObject[Y][j[v]];return NullProtoObject()};M[ee]=!0,i.exports=Object.create||function create(i,s){var u;return null!==i?(EmptyConstructor[Y]=v(i),u=new EmptyConstructor,EmptyConstructor[Y]=null,u[ee]=i):u=NullProtoObject(),void 0===s?u:_.f(u,s)}},59938:(i,s,u)=>{var m=u(55746),v=u(83937),_=u(65988),j=u(96059),M=u(74529),$=u(14771);s.f=m&&!v?Object.defineProperties:function defineProperties(i,s){j(i);for(var u,m=M(s),v=$(s),W=v.length,X=0;W>X;)_.f(i,u=v[X++],m[u]);return i}},65988:(i,s,u)=>{var m=u(55746),v=u(2840),_=u(83937),j=u(96059),M=u(83894),$=TypeError,W=Object.defineProperty,X=Object.getOwnPropertyDescriptor,Y="enumerable",Z="configurable",ee="writable";s.f=m?_?function defineProperty(i,s,u){if(j(i),s=M(s),j(u),"function"==typeof i&&"prototype"===s&&"value"in u&&ee in u&&!u[ee]){var m=X(i,s);m&&m[ee]&&(i[s]=u.value,u={configurable:Z in u?u[Z]:m[Z],enumerable:Y in u?u[Y]:m[Y],writable:!1})}return W(i,s,u)}:W:function defineProperty(i,s,u){if(j(i),s=M(s),j(u),v)try{return W(i,s,u)}catch(i){}if("get"in u||"set"in u)throw $("Accessors not supported");return"value"in u&&(i[s]=u.value),i}},49677:(i,s,u)=>{var m=u(55746),v=u(78834),_=u(36760),j=u(31887),M=u(74529),$=u(83894),W=u(90953),X=u(2840),Y=Object.getOwnPropertyDescriptor;s.f=m?Y:function getOwnPropertyDescriptor(i,s){if(i=M(i),s=$(s),X)try{return Y(i,s)}catch(i){}if(W(i,s))return j(!v(_.f,i,s),i[s])}},10946:(i,s,u)=>{var m=u(55629),v=u(56759).concat("length","prototype");s.f=Object.getOwnPropertyNames||function getOwnPropertyNames(i){return m(i,v)}},87857:(i,s)=>{s.f=Object.getOwnPropertySymbols},249:(i,s,u)=>{var m=u(90953),v=u(57475),_=u(89678),j=u(44262),M=u(91310),$=j("IE_PROTO"),W=Object,X=W.prototype;i.exports=M?W.getPrototypeOf:function(i){var s=_(i);if(m(s,$))return s[$];var u=s.constructor;return v(u)&&s instanceof u?u.prototype:s instanceof W?X:null}},7046:(i,s,u)=>{var m=u(95329);i.exports=m({}.isPrototypeOf)},55629:(i,s,u)=>{var m=u(95329),v=u(90953),_=u(74529),j=u(31692).indexOf,M=u(27748),$=m([].push);i.exports=function(i,s){var u,m=_(i),W=0,X=[];for(u in m)!v(M,u)&&v(m,u)&&$(X,u);for(;s.length>W;)v(m,u=s[W++])&&(~j(X,u)||$(X,u));return X}},14771:(i,s,u)=>{var m=u(55629),v=u(56759);i.exports=Object.keys||function keys(i){return m(i,v)}},36760:(i,s)=>{"use strict";var u={}.propertyIsEnumerable,m=Object.getOwnPropertyDescriptor,v=m&&!u.call({1:2},1);s.f=v?function propertyIsEnumerable(i){var s=m(this,i);return!!s&&s.enumerable}:u},88929:(i,s,u)=>{var m=u(45526),v=u(96059),_=u(11851);i.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var i,s=!1,u={};try{(i=m(Object.prototype,"__proto__","set"))(u,[]),s=u instanceof Array}catch(i){}return function setPrototypeOf(u,m){return v(u),_(m),s?i(u,m):u.__proto__=m,u}}():void 0)},95623:(i,s,u)=>{"use strict";var m=u(22885),v=u(9697);i.exports=m?{}.toString:function toString(){return"[object "+v(this)+"]"}},39811:(i,s,u)=>{var m=u(78834),v=u(57475),_=u(10941),j=TypeError;i.exports=function(i,s){var u,M;if("string"===s&&v(u=i.toString)&&!_(M=m(u,i)))return M;if(v(u=i.valueOf)&&!_(M=m(u,i)))return M;if("string"!==s&&v(u=i.toString)&&!_(M=m(u,i)))return M;throw j("Can't convert object to primitive value")}},31136:(i,s,u)=>{var m=u(626),v=u(95329),_=u(10946),j=u(87857),M=u(96059),$=v([].concat);i.exports=m("Reflect","ownKeys")||function ownKeys(i){var s=_.f(M(i)),u=j.f;return u?$(s,u(i)):s}},54058:i=>{i.exports={}},9056:(i,s,u)=>{var m=u(65988).f;i.exports=function(i,s,u){u in i||m(i,u,{configurable:!0,get:function(){return s[u]},set:function(i){s[u]=i}})}},48219:(i,s,u)=>{var m=u(82119),v=TypeError;i.exports=function(i){if(m(i))throw v("Can't call method on "+i);return i}},90904:(i,s,u)=>{var m=u(22885),v=u(65988).f,_=u(32029),j=u(90953),M=u(95623),$=u(99813)("toStringTag");i.exports=function(i,s,u,W){if(i){var X=u?i:i.prototype;j(X,$)||v(X,$,{configurable:!0,value:s}),W&&!m&&_(X,"toString",M)}}},44262:(i,s,u)=>{var m=u(68726),v=u(99418),_=m("keys");i.exports=function(i){return _[i]||(_[i]=v(i))}},63030:(i,s,u)=>{var m=u(21899),v=u(75609),_="__core-js_shared__",j=m[_]||v(_,{});i.exports=j},68726:(i,s,u)=>{var m=u(82529),v=u(63030);(i.exports=function(i,s){return v[i]||(v[i]=void 0!==s?s:{})})("versions",[]).push({version:"3.31.1",mode:m?"pure":"global",copyright:"© 2014-2023 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.31.1/LICENSE",source:"https://github.com/zloirock/core-js"})},64620:(i,s,u)=>{var m=u(95329),v=u(62435),_=u(85803),j=u(48219),M=m("".charAt),$=m("".charCodeAt),W=m("".slice),createMethod=function(i){return function(s,u){var m,X,Y=_(j(s)),Z=v(u),ee=Y.length;return Z<0||Z>=ee?i?"":void 0:(m=$(Y,Z))<55296||m>56319||Z+1===ee||(X=$(Y,Z+1))<56320||X>57343?i?M(Y,Z):m:i?W(Y,Z,Z+2):X-56320+(m-55296<<10)+65536}};i.exports={codeAt:createMethod(!1),charAt:createMethod(!0)}},63405:(i,s,u)=>{var m=u(53385),v=u(95981),_=u(21899).String;i.exports=!!Object.getOwnPropertySymbols&&!v((function(){var i=Symbol();return!_(i)||!(Object(i)instanceof Symbol)||!Symbol.sham&&m&&m<41}))},59413:(i,s,u)=>{var m=u(62435),v=Math.max,_=Math.min;i.exports=function(i,s){var u=m(i);return u<0?v(u+s,0):_(u,s)}},74529:(i,s,u)=>{var m=u(37026),v=u(48219);i.exports=function(i){return m(v(i))}},62435:(i,s,u)=>{var m=u(35331);i.exports=function(i){var s=+i;return s!=s||0===s?0:m(s)}},43057:(i,s,u)=>{var m=u(62435),v=Math.min;i.exports=function(i){return i>0?v(m(i),9007199254740991):0}},89678:(i,s,u)=>{var m=u(48219),v=Object;i.exports=function(i){return v(m(i))}},46935:(i,s,u)=>{var m=u(78834),v=u(10941),_=u(56664),j=u(14229),M=u(39811),$=u(99813),W=TypeError,X=$("toPrimitive");i.exports=function(i,s){if(!v(i)||_(i))return i;var u,$=j(i,X);if($){if(void 0===s&&(s="default"),u=m($,i,s),!v(u)||_(u))return u;throw W("Can't convert object to primitive value")}return void 0===s&&(s="number"),M(i,s)}},83894:(i,s,u)=>{var m=u(46935),v=u(56664);i.exports=function(i){var s=m(i,"string");return v(s)?s:s+""}},22885:(i,s,u)=>{var m={};m[u(99813)("toStringTag")]="z",i.exports="[object z]"===String(m)},85803:(i,s,u)=>{var m=u(9697),v=String;i.exports=function(i){if("Symbol"===m(i))throw TypeError("Cannot convert a Symbol value to a string");return v(i)}},69826:i=>{var s=String;i.exports=function(i){try{return s(i)}catch(i){return"Object"}}},99418:(i,s,u)=>{var m=u(95329),v=0,_=Math.random(),j=m(1..toString);i.exports=function(i){return"Symbol("+(void 0===i?"":i)+")_"+j(++v+_,36)}},32302:(i,s,u)=>{var m=u(63405);i.exports=m&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},83937:(i,s,u)=>{var m=u(55746),v=u(95981);i.exports=m&&v((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},47093:(i,s,u)=>{var m=u(21899),v=u(57475),_=m.WeakMap;i.exports=v(_)&&/native code/.test(String(_))},99813:(i,s,u)=>{var m=u(21899),v=u(68726),_=u(90953),j=u(99418),M=u(63405),$=u(32302),W=m.Symbol,X=v("wks"),Y=$?W.for||W:W&&W.withoutSetter||j;i.exports=function(i){return _(X,i)||(X[i]=M&&_(W,i)?W[i]:Y("Symbol."+i)),X[i]}},62864:(i,s,u)=>{"use strict";var m=u(626),v=u(90953),_=u(32029),j=u(7046),M=u(88929),$=u(23489),W=u(9056),X=u(70926),Y=u(14649),Z=u(53794),ee=u(79585),ie=u(55746),ae=u(82529);i.exports=function(i,s,u,le){var ce="stackTraceLimit",pe=le?2:1,de=i.split("."),fe=de[de.length-1],ye=m.apply(null,de);if(ye){var be=ye.prototype;if(!ae&&v(be,"cause")&&delete be.cause,!u)return ye;var _e=m("Error"),we=s((function(i,s){var u=Y(le?s:i,void 0),m=le?new ye(i):new ye;return void 0!==u&&_(m,"message",u),ee(m,we,m.stack,2),this&&j(be,this)&&X(m,this,we),arguments.length>pe&&Z(m,arguments[pe]),m}));if(we.prototype=be,"Error"!==fe?M?M(we,_e):$(we,_e,{name:!0}):ie&&ce in ye&&(W(we,ye,ce),W(we,ye,"prepareStackTrace")),$(we,ye),!ae)try{be.name!==fe&&_(be,"name",fe),be.constructor=we}catch(i){}return we}}},24415:(i,s,u)=>{var m=u(76887),v=u(626),_=u(79730),j=u(95981),M=u(62864),$="AggregateError",W=v($),X=!j((function(){return 1!==W([1]).errors[0]}))&&j((function(){return 7!==W([1],$,{cause:7}).cause}));m({global:!0,constructor:!0,arity:2,forced:X},{AggregateError:M($,(function(i){return function AggregateError(s,u){return _(i,this,arguments)}}),X,!0)})},49812:(i,s,u)=>{"use strict";var m=u(76887),v=u(7046),_=u(249),j=u(88929),M=u(23489),$=u(29290),W=u(32029),X=u(31887),Y=u(53794),Z=u(79585),ee=u(93091),ie=u(14649),ae=u(99813)("toStringTag"),le=Error,ce=[].push,pe=function AggregateError(i,s){var u,m=v(de,this);j?u=j(le(),m?_(this):de):(u=m?this:$(de),W(u,ae,"Error")),void 0!==s&&W(u,"message",ie(s)),Z(u,pe,u.stack,1),arguments.length>2&&Y(u,arguments[2]);var M=[];return ee(i,ce,{that:M}),W(u,"errors",M),u};j?j(pe,le):M(pe,le,{name:!0});var de=pe.prototype=$(le.prototype,{constructor:X(1,pe),message:X(1,""),name:X(1,"AggregateError")});m({global:!0,constructor:!0,arity:2},{AggregateError:pe})},47627:(i,s,u)=>{u(49812)},66274:(i,s,u)=>{"use strict";var m=u(74529),v=u(18479),_=u(12077),j=u(45402),M=u(65988).f,$=u(75105),W=u(23538),X=u(82529),Y=u(55746),Z="Array Iterator",ee=j.set,ie=j.getterFor(Z);i.exports=$(Array,"Array",(function(i,s){ee(this,{type:Z,target:m(i),index:0,kind:s})}),(function(){var i=ie(this),s=i.target,u=i.kind,m=i.index++;return!s||m>=s.length?(i.target=void 0,W(void 0,!0)):W("keys"==u?m:"values"==u?s[m]:[m,s[m]],!1)}),"values");var ae=_.Arguments=_.Array;if(v("keys"),v("values"),v("entries"),!X&&Y&&"values"!==ae.name)try{M(ae,"name",{value:"values"})}catch(i){}},61181:(i,s,u)=>{var m=u(76887),v=u(21899),_=u(79730),j=u(62864),M="WebAssembly",$=v[M],W=7!==Error("e",{cause:7}).cause,exportGlobalErrorCauseWrapper=function(i,s){var u={};u[i]=j(i,s,W),m({global:!0,constructor:!0,arity:1,forced:W},u)},exportWebAssemblyErrorCauseWrapper=function(i,s){if($&&$[i]){var u={};u[i]=j(M+"."+i,s,W),m({target:M,stat:!0,constructor:!0,arity:1,forced:W},u)}};exportGlobalErrorCauseWrapper("Error",(function(i){return function Error(s){return _(i,this,arguments)}})),exportGlobalErrorCauseWrapper("EvalError",(function(i){return function EvalError(s){return _(i,this,arguments)}})),exportGlobalErrorCauseWrapper("RangeError",(function(i){return function RangeError(s){return _(i,this,arguments)}})),exportGlobalErrorCauseWrapper("ReferenceError",(function(i){return function ReferenceError(s){return _(i,this,arguments)}})),exportGlobalErrorCauseWrapper("SyntaxError",(function(i){return function SyntaxError(s){return _(i,this,arguments)}})),exportGlobalErrorCauseWrapper("TypeError",(function(i){return function TypeError(s){return _(i,this,arguments)}})),exportGlobalErrorCauseWrapper("URIError",(function(i){return function URIError(s){return _(i,this,arguments)}})),exportWebAssemblyErrorCauseWrapper("CompileError",(function(i){return function CompileError(s){return _(i,this,arguments)}})),exportWebAssemblyErrorCauseWrapper("LinkError",(function(i){return function LinkError(s){return _(i,this,arguments)}})),exportWebAssemblyErrorCauseWrapper("RuntimeError",(function(i){return function RuntimeError(s){return _(i,this,arguments)}}))},73381:(i,s,u)=>{var m=u(76887),v=u(98308);m({target:"Function",proto:!0,forced:Function.bind!==v},{bind:v})},49221:(i,s,u)=>{var m=u(76887),v=u(24420);m({target:"Object",stat:!0,arity:2,forced:Object.assign!==v},{assign:v})},77971:(i,s,u)=>{"use strict";var m=u(64620).charAt,v=u(85803),_=u(45402),j=u(75105),M=u(23538),$="String Iterator",W=_.set,X=_.getterFor($);j(String,"String",(function(i){W(this,{type:$,string:v(i),index:0})}),(function next(){var i,s=X(this),u=s.string,v=s.index;return v>=u.length?M(void 0,!0):(i=m(u,v),s.index+=i.length,M(i,!1))}))},89731:(i,s,u)=>{u(47627)},7634:(i,s,u)=>{u(66274);var m=u(63281),v=u(21899),_=u(9697),j=u(32029),M=u(12077),$=u(99813)("toStringTag");for(var W in m){var X=v[W],Y=X&&X.prototype;Y&&_(Y)!==$&&j(Y,$,W),M[W]=M.Array}},18957:(i,s,u)=>{u(89731);var m=u(50415);u(7634),i.exports=m},28196:(i,s,u)=>{var m=u(16246);i.exports=m},63383:(i,s,u)=>{var m=u(45999);i.exports=m},8269:function(i,s,u){var m;m=void 0!==u.g?u.g:this,i.exports=function(i){if(i.CSS&&i.CSS.escape)return i.CSS.escape;var cssEscape=function(i){if(0==arguments.length)throw new TypeError("`CSS.escape` requires an argument.");for(var s,u=String(i),m=u.length,v=-1,_="",j=u.charCodeAt(0);++v=1&&s<=31||127==s||0==v&&s>=48&&s<=57||1==v&&s>=48&&s<=57&&45==j?"\\"+s.toString(16)+" ":0==v&&1==m&&45==s||!(s>=128||45==s||95==s||s>=48&&s<=57||s>=65&&s<=90||s>=97&&s<=122)?"\\"+u.charAt(v):u.charAt(v):_+="�";return _};return i.CSS||(i.CSS={}),i.CSS.escape=cssEscape,cssEscape}(m)},27698:(i,s,u)=>{"use strict";var m=u(48764).Buffer;function isSpecificValue(i){return i instanceof m||i instanceof Date||i instanceof RegExp}function cloneSpecificValue(i){if(i instanceof m){var s=m.alloc?m.alloc(i.length):new m(i.length);return i.copy(s),s}if(i instanceof Date)return new Date(i.getTime());if(i instanceof RegExp)return new RegExp(i);throw new Error("Unexpected situation")}function deepCloneArray(i){var s=[];return i.forEach((function(i,u){"object"==typeof i&&null!==i?Array.isArray(i)?s[u]=deepCloneArray(i):isSpecificValue(i)?s[u]=cloneSpecificValue(i):s[u]=v({},i):s[u]=i})),s}function safeGetProperty(i,s){return"__proto__"===s?void 0:i[s]}var v=i.exports=function(){if(arguments.length<1||"object"!=typeof arguments[0])return!1;if(arguments.length<2)return arguments[0];var i,s,u=arguments[0];return Array.prototype.slice.call(arguments,1).forEach((function(m){"object"!=typeof m||null===m||Array.isArray(m)||Object.keys(m).forEach((function(_){return s=safeGetProperty(u,_),(i=safeGetProperty(m,_))===u?void 0:"object"!=typeof i||null===i?void(u[_]=i):Array.isArray(i)?void(u[_]=deepCloneArray(i)):isSpecificValue(i)?void(u[_]=cloneSpecificValue(i)):"object"!=typeof s||null===s||Array.isArray(s)?void(u[_]=v({},i)):void(u[_]=v(s,i))}))})),u}},9996:i=>{"use strict";var s=function isMergeableObject(i){return function isNonNullObject(i){return!!i&&"object"==typeof i}(i)&&!function isSpecial(i){var s=Object.prototype.toString.call(i);return"[object RegExp]"===s||"[object Date]"===s||function isReactElement(i){return i.$$typeof===u}(i)}(i)};var u="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function cloneUnlessOtherwiseSpecified(i,s){return!1!==s.clone&&s.isMergeableObject(i)?deepmerge(function emptyTarget(i){return Array.isArray(i)?[]:{}}(i),i,s):i}function defaultArrayMerge(i,s,u){return i.concat(s).map((function(i){return cloneUnlessOtherwiseSpecified(i,u)}))}function getKeys(i){return Object.keys(i).concat(function getEnumerableOwnPropertySymbols(i){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(i).filter((function(s){return Object.propertyIsEnumerable.call(i,s)})):[]}(i))}function propertyIsOnObject(i,s){try{return s in i}catch(i){return!1}}function mergeObject(i,s,u){var m={};return u.isMergeableObject(i)&&getKeys(i).forEach((function(s){m[s]=cloneUnlessOtherwiseSpecified(i[s],u)})),getKeys(s).forEach((function(v){(function propertyIsUnsafe(i,s){return propertyIsOnObject(i,s)&&!(Object.hasOwnProperty.call(i,s)&&Object.propertyIsEnumerable.call(i,s))})(i,v)||(propertyIsOnObject(i,v)&&u.isMergeableObject(s[v])?m[v]=function getMergeFunction(i,s){if(!s.customMerge)return deepmerge;var u=s.customMerge(i);return"function"==typeof u?u:deepmerge}(v,u)(i[v],s[v],u):m[v]=cloneUnlessOtherwiseSpecified(s[v],u))})),m}function deepmerge(i,u,m){(m=m||{}).arrayMerge=m.arrayMerge||defaultArrayMerge,m.isMergeableObject=m.isMergeableObject||s,m.cloneUnlessOtherwiseSpecified=cloneUnlessOtherwiseSpecified;var v=Array.isArray(u);return v===Array.isArray(i)?v?m.arrayMerge(i,u,m):mergeObject(i,u,m):cloneUnlessOtherwiseSpecified(u,m)}deepmerge.all=function deepmergeAll(i,s){if(!Array.isArray(i))throw new Error("first argument should be an array");return i.reduce((function(i,u){return deepmerge(i,u,s)}),{})};var m=deepmerge;i.exports=m},27856:function(i){i.exports=function(){"use strict";const{entries:i,setPrototypeOf:s,isFrozen:u,getPrototypeOf:m,getOwnPropertyDescriptor:v}=Object;let{freeze:_,seal:j,create:M}=Object,{apply:$,construct:W}="undefined"!=typeof Reflect&&Reflect;_||(_=function freeze(i){return i}),j||(j=function seal(i){return i}),$||($=function apply(i,s,u){return i.apply(s,u)}),W||(W=function construct(i,s){return new i(...s)});const X=unapply(Array.prototype.forEach),Y=unapply(Array.prototype.pop),Z=unapply(Array.prototype.push),ee=unapply(String.prototype.toLowerCase),ie=unapply(String.prototype.toString),ae=unapply(String.prototype.match),le=unapply(String.prototype.replace),ce=unapply(String.prototype.indexOf),pe=unapply(String.prototype.trim),de=unapply(RegExp.prototype.test),fe=unconstruct(TypeError);function unapply(i){return function(s){for(var u=arguments.length,m=new Array(u>1?u-1:0),v=1;v2&&void 0!==arguments[2]?arguments[2]:ee;s&&s(i,null);let _=m.length;for(;_--;){let s=m[_];if("string"==typeof s){const i=v(s);i!==s&&(u(m)||(m[_]=i),s=i)}i[s]=!0}return i}function clone(s){const u=M(null);for(const[m,_]of i(s))void 0!==v(s,m)&&(u[m]=_);return u}function lookupGetter(i,s){for(;null!==i;){const u=v(i,s);if(u){if(u.get)return unapply(u.get);if("function"==typeof u.value)return unapply(u.value)}i=m(i)}function fallbackValue(i){return console.warn("fallback value for",i),null}return fallbackValue}const ye=_(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),be=_(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),_e=_(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),we=_(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),Se=_(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),xe=_(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Pe=_(["#text"]),Ie=_(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","xmlns","slot"]),Te=_(["accent-height","accumulate","additive","alignment-baseline","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),Re=_(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),qe=_(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),ze=j(/\{\{[\w\W]*|[\w\W]*\}\}/gm),Ve=j(/<%[\w\W]*|[\w\W]*%>/gm),We=j(/\${[\w\W]*}/gm),He=j(/^data-[\-\w.\u00B7-\uFFFF]/),Xe=j(/^aria-[\-\w]+$/),Ye=j(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Qe=j(/^(?:\w+script|data):/i),et=j(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),tt=j(/^html$/i);var rt=Object.freeze({__proto__:null,MUSTACHE_EXPR:ze,ERB_EXPR:Ve,TMPLIT_EXPR:We,DATA_ATTR:He,ARIA_ATTR:Xe,IS_ALLOWED_URI:Ye,IS_SCRIPT_OR_DATA:Qe,ATTR_WHITESPACE:et,DOCTYPE_NAME:tt});const nt=function getGlobal(){return"undefined"==typeof window?null:window},ot=function _createTrustedTypesPolicy(i,s){if("object"!=typeof i||"function"!=typeof i.createPolicy)return null;let u=null;const m="data-tt-policy-suffix";s&&s.hasAttribute(m)&&(u=s.getAttribute(m));const v="dompurify"+(u?"#"+u:"");try{return i.createPolicy(v,{createHTML:i=>i,createScriptURL:i=>i})}catch(i){return console.warn("TrustedTypes policy "+v+" could not be created."),null}};function createDOMPurify(){let s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:nt();const DOMPurify=i=>createDOMPurify(i);if(DOMPurify.version="3.0.6",DOMPurify.removed=[],!s||!s.document||9!==s.document.nodeType)return DOMPurify.isSupported=!1,DOMPurify;let{document:u}=s;const m=u,v=m.currentScript,{DocumentFragment:j,HTMLTemplateElement:$,Node:W,Element:ze,NodeFilter:Ve,NamedNodeMap:We=s.NamedNodeMap||s.MozNamedAttrMap,HTMLFormElement:He,DOMParser:Xe,trustedTypes:Qe}=s,et=ze.prototype,it=lookupGetter(et,"cloneNode"),at=lookupGetter(et,"nextSibling"),st=lookupGetter(et,"childNodes"),lt=lookupGetter(et,"parentNode");if("function"==typeof $){const i=u.createElement("template");i.content&&i.content.ownerDocument&&(u=i.content.ownerDocument)}let ct,ut="";const{implementation:pt,createNodeIterator:ht,createDocumentFragment:dt,getElementsByTagName:mt}=u,{importNode:gt}=m;let yt={};DOMPurify.isSupported="function"==typeof i&&"function"==typeof lt&&pt&&void 0!==pt.createHTMLDocument;const{MUSTACHE_EXPR:vt,ERB_EXPR:bt,TMPLIT_EXPR:_t,DATA_ATTR:wt,ARIA_ATTR:Et,IS_SCRIPT_OR_DATA:St,ATTR_WHITESPACE:xt}=rt;let{IS_ALLOWED_URI:kt}=rt,Ot=null;const At=addToSet({},[...ye,...be,..._e,...Se,...Pe]);let Ct=null;const jt=addToSet({},[...Ie,...Te,...Re,...qe]);let Pt=Object.seal(M(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),It=null,Nt=null,Tt=!0,Mt=!0,Rt=!1,Dt=!0,Bt=!1,Lt=!1,Ft=!1,qt=!1,$t=!1,Ut=!1,zt=!1,Vt=!0,Wt=!1;const Kt="user-content-";let Ht=!0,Jt=!1,Gt={},Xt=null;const Yt=addToSet({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let Qt=null;const Zt=addToSet({},["audio","video","img","source","image","track"]);let er=null;const tr=addToSet({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),rr="http://www.w3.org/1998/Math/MathML",nr="http://www.w3.org/2000/svg",ir="http://www.w3.org/1999/xhtml";let ar=ir,sr=!1,lr=null;const cr=addToSet({},[rr,nr,ir],ie);let ur=null;const pr=["application/xhtml+xml","text/html"],dr="text/html";let fr=null,mr=null;const gr=u.createElement("form"),yr=function isRegexOrFunction(i){return i instanceof RegExp||i instanceof Function},vr=function _parseConfig(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!mr||mr!==i){if(i&&"object"==typeof i||(i={}),i=clone(i),ur=ur=-1===pr.indexOf(i.PARSER_MEDIA_TYPE)?dr:i.PARSER_MEDIA_TYPE,fr="application/xhtml+xml"===ur?ie:ee,Ot="ALLOWED_TAGS"in i?addToSet({},i.ALLOWED_TAGS,fr):At,Ct="ALLOWED_ATTR"in i?addToSet({},i.ALLOWED_ATTR,fr):jt,lr="ALLOWED_NAMESPACES"in i?addToSet({},i.ALLOWED_NAMESPACES,ie):cr,er="ADD_URI_SAFE_ATTR"in i?addToSet(clone(tr),i.ADD_URI_SAFE_ATTR,fr):tr,Qt="ADD_DATA_URI_TAGS"in i?addToSet(clone(Zt),i.ADD_DATA_URI_TAGS,fr):Zt,Xt="FORBID_CONTENTS"in i?addToSet({},i.FORBID_CONTENTS,fr):Yt,It="FORBID_TAGS"in i?addToSet({},i.FORBID_TAGS,fr):{},Nt="FORBID_ATTR"in i?addToSet({},i.FORBID_ATTR,fr):{},Gt="USE_PROFILES"in i&&i.USE_PROFILES,Tt=!1!==i.ALLOW_ARIA_ATTR,Mt=!1!==i.ALLOW_DATA_ATTR,Rt=i.ALLOW_UNKNOWN_PROTOCOLS||!1,Dt=!1!==i.ALLOW_SELF_CLOSE_IN_ATTR,Bt=i.SAFE_FOR_TEMPLATES||!1,Lt=i.WHOLE_DOCUMENT||!1,$t=i.RETURN_DOM||!1,Ut=i.RETURN_DOM_FRAGMENT||!1,zt=i.RETURN_TRUSTED_TYPE||!1,qt=i.FORCE_BODY||!1,Vt=!1!==i.SANITIZE_DOM,Wt=i.SANITIZE_NAMED_PROPS||!1,Ht=!1!==i.KEEP_CONTENT,Jt=i.IN_PLACE||!1,kt=i.ALLOWED_URI_REGEXP||Ye,ar=i.NAMESPACE||ir,Pt=i.CUSTOM_ELEMENT_HANDLING||{},i.CUSTOM_ELEMENT_HANDLING&&yr(i.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(Pt.tagNameCheck=i.CUSTOM_ELEMENT_HANDLING.tagNameCheck),i.CUSTOM_ELEMENT_HANDLING&&yr(i.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(Pt.attributeNameCheck=i.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),i.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof i.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(Pt.allowCustomizedBuiltInElements=i.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Bt&&(Mt=!1),Ut&&($t=!0),Gt&&(Ot=addToSet({},[...Pe]),Ct=[],!0===Gt.html&&(addToSet(Ot,ye),addToSet(Ct,Ie)),!0===Gt.svg&&(addToSet(Ot,be),addToSet(Ct,Te),addToSet(Ct,qe)),!0===Gt.svgFilters&&(addToSet(Ot,_e),addToSet(Ct,Te),addToSet(Ct,qe)),!0===Gt.mathMl&&(addToSet(Ot,Se),addToSet(Ct,Re),addToSet(Ct,qe))),i.ADD_TAGS&&(Ot===At&&(Ot=clone(Ot)),addToSet(Ot,i.ADD_TAGS,fr)),i.ADD_ATTR&&(Ct===jt&&(Ct=clone(Ct)),addToSet(Ct,i.ADD_ATTR,fr)),i.ADD_URI_SAFE_ATTR&&addToSet(er,i.ADD_URI_SAFE_ATTR,fr),i.FORBID_CONTENTS&&(Xt===Yt&&(Xt=clone(Xt)),addToSet(Xt,i.FORBID_CONTENTS,fr)),Ht&&(Ot["#text"]=!0),Lt&&addToSet(Ot,["html","head","body"]),Ot.table&&(addToSet(Ot,["tbody"]),delete It.tbody),i.TRUSTED_TYPES_POLICY){if("function"!=typeof i.TRUSTED_TYPES_POLICY.createHTML)throw fe('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof i.TRUSTED_TYPES_POLICY.createScriptURL)throw fe('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');ct=i.TRUSTED_TYPES_POLICY,ut=ct.createHTML("")}else void 0===ct&&(ct=ot(Qe,v)),null!==ct&&"string"==typeof ut&&(ut=ct.createHTML(""));_&&_(i),mr=i}},br=addToSet({},["mi","mo","mn","ms","mtext"]),_r=addToSet({},["foreignobject","desc","title","annotation-xml"]),wr=addToSet({},["title","style","font","a","script"]),Er=addToSet({},be);addToSet(Er,_e),addToSet(Er,we);const Sr=addToSet({},Se);addToSet(Sr,xe);const xr=function _checkValidNamespace(i){let s=lt(i);s&&s.tagName||(s={namespaceURI:ar,tagName:"template"});const u=ee(i.tagName),m=ee(s.tagName);return!!lr[i.namespaceURI]&&(i.namespaceURI===nr?s.namespaceURI===ir?"svg"===u:s.namespaceURI===rr?"svg"===u&&("annotation-xml"===m||br[m]):Boolean(Er[u]):i.namespaceURI===rr?s.namespaceURI===ir?"math"===u:s.namespaceURI===nr?"math"===u&&_r[m]:Boolean(Sr[u]):i.namespaceURI===ir?!(s.namespaceURI===nr&&!_r[m])&&!(s.namespaceURI===rr&&!br[m])&&!Sr[u]&&(wr[u]||!Er[u]):!("application/xhtml+xml"!==ur||!lr[i.namespaceURI]))},kr=function _forceRemove(i){Z(DOMPurify.removed,{element:i});try{i.parentNode.removeChild(i)}catch(s){i.remove()}},Or=function _removeAttribute(i,s){try{Z(DOMPurify.removed,{attribute:s.getAttributeNode(i),from:s})}catch(i){Z(DOMPurify.removed,{attribute:null,from:s})}if(s.removeAttribute(i),"is"===i&&!Ct[i])if($t||Ut)try{kr(s)}catch(i){}else try{s.setAttribute(i,"")}catch(i){}},Ar=function _initDocument(i){let s=null,m=null;if(qt)i=""+i;else{const s=ae(i,/^[\r\n\t ]+/);m=s&&s[0]}"application/xhtml+xml"===ur&&ar===ir&&(i=''+i+"");const v=ct?ct.createHTML(i):i;if(ar===ir)try{s=(new Xe).parseFromString(v,ur)}catch(i){}if(!s||!s.documentElement){s=pt.createDocument(ar,"template",null);try{s.documentElement.innerHTML=sr?ut:v}catch(i){}}const _=s.body||s.documentElement;return i&&m&&_.insertBefore(u.createTextNode(m),_.childNodes[0]||null),ar===ir?mt.call(s,Lt?"html":"body")[0]:Lt?s.documentElement:_},Cr=function _createNodeIterator(i){return ht.call(i.ownerDocument||i,i,Ve.SHOW_ELEMENT|Ve.SHOW_COMMENT|Ve.SHOW_TEXT,null)},jr=function _isClobbered(i){return i instanceof He&&("string"!=typeof i.nodeName||"string"!=typeof i.textContent||"function"!=typeof i.removeChild||!(i.attributes instanceof We)||"function"!=typeof i.removeAttribute||"function"!=typeof i.setAttribute||"string"!=typeof i.namespaceURI||"function"!=typeof i.insertBefore||"function"!=typeof i.hasChildNodes)},Pr=function _isNode(i){return"function"==typeof W&&i instanceof W},Ir=function _executeHook(i,s,u){yt[i]&&X(yt[i],(i=>{i.call(DOMPurify,s,u,mr)}))},Nr=function _sanitizeElements(i){let s=null;if(Ir("beforeSanitizeElements",i,null),jr(i))return kr(i),!0;const u=fr(i.nodeName);if(Ir("uponSanitizeElement",i,{tagName:u,allowedTags:Ot}),i.hasChildNodes()&&!Pr(i.firstElementChild)&&de(/<[/\w]/g,i.innerHTML)&&de(/<[/\w]/g,i.textContent))return kr(i),!0;if(!Ot[u]||It[u]){if(!It[u]&&Mr(u)){if(Pt.tagNameCheck instanceof RegExp&&de(Pt.tagNameCheck,u))return!1;if(Pt.tagNameCheck instanceof Function&&Pt.tagNameCheck(u))return!1}if(Ht&&!Xt[u]){const s=lt(i)||i.parentNode,u=st(i)||i.childNodes;if(u&&s)for(let m=u.length-1;m>=0;--m)s.insertBefore(it(u[m],!0),at(i))}return kr(i),!0}return i instanceof ze&&!xr(i)?(kr(i),!0):"noscript"!==u&&"noembed"!==u&&"noframes"!==u||!de(/<\/no(script|embed|frames)/i,i.innerHTML)?(Bt&&3===i.nodeType&&(s=i.textContent,X([vt,bt,_t],(i=>{s=le(s,i," ")})),i.textContent!==s&&(Z(DOMPurify.removed,{element:i.cloneNode()}),i.textContent=s)),Ir("afterSanitizeElements",i,null),!1):(kr(i),!0)},Tr=function _isValidAttribute(i,s,m){if(Vt&&("id"===s||"name"===s)&&(m in u||m in gr))return!1;if(Mt&&!Nt[s]&&de(wt,s));else if(Tt&&de(Et,s));else if(!Ct[s]||Nt[s]){if(!(Mr(i)&&(Pt.tagNameCheck instanceof RegExp&&de(Pt.tagNameCheck,i)||Pt.tagNameCheck instanceof Function&&Pt.tagNameCheck(i))&&(Pt.attributeNameCheck instanceof RegExp&&de(Pt.attributeNameCheck,s)||Pt.attributeNameCheck instanceof Function&&Pt.attributeNameCheck(s))||"is"===s&&Pt.allowCustomizedBuiltInElements&&(Pt.tagNameCheck instanceof RegExp&&de(Pt.tagNameCheck,m)||Pt.tagNameCheck instanceof Function&&Pt.tagNameCheck(m))))return!1}else if(er[s]);else if(de(kt,le(m,xt,"")));else if("src"!==s&&"xlink:href"!==s&&"href"!==s||"script"===i||0!==ce(m,"data:")||!Qt[i])if(Rt&&!de(St,le(m,xt,"")));else if(m)return!1;return!0},Mr=function _isBasicCustomElement(i){return i.indexOf("-")>0},Rr=function _sanitizeAttributes(i){Ir("beforeSanitizeAttributes",i,null);const{attributes:s}=i;if(!s)return;const u={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Ct};let m=s.length;for(;m--;){const v=s[m],{name:_,namespaceURI:j,value:M}=v,$=fr(_);let W="value"===_?M:pe(M);if(u.attrName=$,u.attrValue=W,u.keepAttr=!0,u.forceKeepAttr=void 0,Ir("uponSanitizeAttribute",i,u),W=u.attrValue,u.forceKeepAttr)continue;if(Or(_,i),!u.keepAttr)continue;if(!Dt&&de(/\/>/i,W)){Or(_,i);continue}Bt&&X([vt,bt,_t],(i=>{W=le(W,i," ")}));const Z=fr(i.nodeName);if(Tr(Z,$,W)){if(!Wt||"id"!==$&&"name"!==$||(Or(_,i),W=Kt+W),ct&&"object"==typeof Qe&&"function"==typeof Qe.getAttributeType)if(j);else switch(Qe.getAttributeType(Z,$)){case"TrustedHTML":W=ct.createHTML(W);break;case"TrustedScriptURL":W=ct.createScriptURL(W)}try{j?i.setAttributeNS(j,_,W):i.setAttribute(_,W),Y(DOMPurify.removed)}catch(i){}}}Ir("afterSanitizeAttributes",i,null)},Dr=function _sanitizeShadowDOM(i){let s=null;const u=Cr(i);for(Ir("beforeSanitizeShadowDOM",i,null);s=u.nextNode();)Ir("uponSanitizeShadowNode",s,null),Nr(s)||(s.content instanceof j&&_sanitizeShadowDOM(s.content),Rr(s));Ir("afterSanitizeShadowDOM",i,null)};return DOMPurify.sanitize=function(i){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},u=null,v=null,_=null,M=null;if(sr=!i,sr&&(i="\x3c!--\x3e"),"string"!=typeof i&&!Pr(i)){if("function"!=typeof i.toString)throw fe("toString is not a function");if("string"!=typeof(i=i.toString()))throw fe("dirty is not a string, aborting")}if(!DOMPurify.isSupported)return i;if(Ft||vr(s),DOMPurify.removed=[],"string"==typeof i&&(Jt=!1),Jt){if(i.nodeName){const s=fr(i.nodeName);if(!Ot[s]||It[s])throw fe("root node is forbidden and cannot be sanitized in-place")}}else if(i instanceof W)u=Ar("\x3c!----\x3e"),v=u.ownerDocument.importNode(i,!0),1===v.nodeType&&"BODY"===v.nodeName||"HTML"===v.nodeName?u=v:u.appendChild(v);else{if(!$t&&!Bt&&!Lt&&-1===i.indexOf("<"))return ct&&zt?ct.createHTML(i):i;if(u=Ar(i),!u)return $t?null:zt?ut:""}u&&qt&&kr(u.firstChild);const $=Cr(Jt?i:u);for(;_=$.nextNode();)Nr(_)||(_.content instanceof j&&Dr(_.content),Rr(_));if(Jt)return i;if($t){if(Ut)for(M=dt.call(u.ownerDocument);u.firstChild;)M.appendChild(u.firstChild);else M=u;return(Ct.shadowroot||Ct.shadowrootmode)&&(M=gt.call(m,M,!0)),M}let Y=Lt?u.outerHTML:u.innerHTML;return Lt&&Ot["!doctype"]&&u.ownerDocument&&u.ownerDocument.doctype&&u.ownerDocument.doctype.name&&de(tt,u.ownerDocument.doctype.name)&&(Y="\n"+Y),Bt&&X([vt,bt,_t],(i=>{Y=le(Y,i," ")})),ct&&zt?ct.createHTML(Y):Y},DOMPurify.setConfig=function(){vr(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),Ft=!0},DOMPurify.clearConfig=function(){mr=null,Ft=!1},DOMPurify.isValidAttribute=function(i,s,u){mr||vr({});const m=fr(i),v=fr(s);return Tr(m,v,u)},DOMPurify.addHook=function(i,s){"function"==typeof s&&(yt[i]=yt[i]||[],Z(yt[i],s))},DOMPurify.removeHook=function(i){if(yt[i])return Y(yt[i])},DOMPurify.removeHooks=function(i){yt[i]&&(yt[i]=[])},DOMPurify.removeAllHooks=function(){yt={}},DOMPurify}return createDOMPurify()}()},69450:i=>{"use strict";class SubRange{constructor(i,s){this.low=i,this.high=s,this.length=1+s-i}overlaps(i){return!(this.highi.high)}touches(i){return!(this.high+1i.high)}add(i){return new SubRange(Math.min(this.low,i.low),Math.max(this.high,i.high))}subtract(i){return i.low<=this.low&&i.high>=this.high?[]:i.low>this.low&&i.highi+s.length),0)}add(i,s){var _add=i=>{for(var s=0;s{for(var s=0;s{for(var s=0;s{for(var u=s.low;u<=s.high;)i.push(u),u++;return i}),[])}subranges(){return this.ranges.map((i=>({low:i.low,high:i.high,length:1+i.high-i.low})))}}i.exports=DRange},17187:i=>{"use strict";var s,u="object"==typeof Reflect?Reflect:null,m=u&&"function"==typeof u.apply?u.apply:function ReflectApply(i,s,u){return Function.prototype.apply.call(i,s,u)};s=u&&"function"==typeof u.ownKeys?u.ownKeys:Object.getOwnPropertySymbols?function ReflectOwnKeys(i){return Object.getOwnPropertyNames(i).concat(Object.getOwnPropertySymbols(i))}:function ReflectOwnKeys(i){return Object.getOwnPropertyNames(i)};var v=Number.isNaN||function NumberIsNaN(i){return i!=i};function EventEmitter(){EventEmitter.init.call(this)}i.exports=EventEmitter,i.exports.once=function once(i,s){return new Promise((function(u,m){function errorListener(u){i.removeListener(s,resolver),m(u)}function resolver(){"function"==typeof i.removeListener&&i.removeListener("error",errorListener),u([].slice.call(arguments))}eventTargetAgnosticAddListener(i,s,resolver,{once:!0}),"error"!==s&&function addErrorHandlerIfEventEmitter(i,s,u){"function"==typeof i.on&&eventTargetAgnosticAddListener(i,"error",s,u)}(i,errorListener,{once:!0})}))},EventEmitter.EventEmitter=EventEmitter,EventEmitter.prototype._events=void 0,EventEmitter.prototype._eventsCount=0,EventEmitter.prototype._maxListeners=void 0;var _=10;function checkListener(i){if("function"!=typeof i)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof i)}function _getMaxListeners(i){return void 0===i._maxListeners?EventEmitter.defaultMaxListeners:i._maxListeners}function _addListener(i,s,u,m){var v,_,j;if(checkListener(u),void 0===(_=i._events)?(_=i._events=Object.create(null),i._eventsCount=0):(void 0!==_.newListener&&(i.emit("newListener",s,u.listener?u.listener:u),_=i._events),j=_[s]),void 0===j)j=_[s]=u,++i._eventsCount;else if("function"==typeof j?j=_[s]=m?[u,j]:[j,u]:m?j.unshift(u):j.push(u),(v=_getMaxListeners(i))>0&&j.length>v&&!j.warned){j.warned=!0;var M=new Error("Possible EventEmitter memory leak detected. "+j.length+" "+String(s)+" listeners added. Use emitter.setMaxListeners() to increase limit");M.name="MaxListenersExceededWarning",M.emitter=i,M.type=s,M.count=j.length,function ProcessEmitWarning(i){console&&console.warn&&console.warn(i)}(M)}return i}function onceWrapper(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function _onceWrap(i,s,u){var m={fired:!1,wrapFn:void 0,target:i,type:s,listener:u},v=onceWrapper.bind(m);return v.listener=u,m.wrapFn=v,v}function _listeners(i,s,u){var m=i._events;if(void 0===m)return[];var v=m[s];return void 0===v?[]:"function"==typeof v?u?[v.listener||v]:[v]:u?function unwrapListeners(i){for(var s=new Array(i.length),u=0;u0&&(j=s[0]),j instanceof Error)throw j;var M=new Error("Unhandled error."+(j?" ("+j.message+")":""));throw M.context=j,M}var $=_[i];if(void 0===$)return!1;if("function"==typeof $)m($,this,s);else{var W=$.length,X=arrayClone($,W);for(u=0;u=0;_--)if(u[_]===s||u[_].listener===s){j=u[_].listener,v=_;break}if(v<0)return this;0===v?u.shift():function spliceOne(i,s){for(;s+1=0;m--)this.removeListener(i,s[m]);return this},EventEmitter.prototype.listeners=function listeners(i){return _listeners(this,i,!0)},EventEmitter.prototype.rawListeners=function rawListeners(i){return _listeners(this,i,!1)},EventEmitter.listenerCount=function(i,s){return"function"==typeof i.listenerCount?i.listenerCount(s):listenerCount.call(i,s)},EventEmitter.prototype.listenerCount=listenerCount,EventEmitter.prototype.eventNames=function eventNames(){return this._eventsCount>0?s(this._events):[]}},21102:(i,s,u)=>{"use strict";var m=u(46291),v=create(Error);function create(i){return FormattedError.displayName=i.displayName||i.name,FormattedError;function FormattedError(s){return s&&(s=m.apply(null,arguments)),new i(s)}}i.exports=v,v.eval=create(EvalError),v.range=create(RangeError),v.reference=create(ReferenceError),v.syntax=create(SyntaxError),v.type=create(TypeError),v.uri=create(URIError),v.create=create},46291:i=>{!function(){var s;function format(i){for(var s,u,m,v,_=1,j=[].slice.call(arguments),M=0,$=i.length,W="",X=!1,Y=!1,nextArg=function(){return j[_++]},slurpNumber=function(){for(var u="";/\d/.test(i[M]);)u+=i[M++],s=i[M];return u.length>0?parseInt(u):null};M<$;++M)if(s=i[M],X)switch(X=!1,"."==s?(Y=!1,s=i[++M]):"0"==s&&"."==i[M+1]?(Y=!0,s=i[M+=2]):Y=!0,v=slurpNumber(),s){case"b":W+=parseInt(nextArg(),10).toString(2);break;case"c":W+="string"==typeof(u=nextArg())||u instanceof String?u:String.fromCharCode(parseInt(u,10));break;case"d":W+=parseInt(nextArg(),10);break;case"f":m=String(parseFloat(nextArg()).toFixed(v||6)),W+=Y?m:m.replace(/^0/,"");break;case"j":W+=JSON.stringify(nextArg());break;case"o":W+="0"+parseInt(nextArg(),10).toString(8);break;case"s":W+=nextArg();break;case"x":W+="0x"+parseInt(nextArg(),10).toString(16);break;case"X":W+="0x"+parseInt(nextArg(),10).toString(16).toUpperCase();break;default:W+=s}else"%"===s?X=!0:W+=s;return W}(s=i.exports=format).format=format,s.vsprintf=function vsprintf(i,s){return format.apply(null,[i].concat(s))},"undefined"!=typeof console&&"function"==typeof console.log&&(s.printf=function printf(){console.log(format.apply(null,arguments))})}()},17648:i=>{"use strict";var s=Object.prototype.toString,u=Math.max,m=function concatty(i,s){for(var u=[],m=0;m{"use strict";var m=u(17648);i.exports=Function.prototype.bind||m},40210:(i,s,u)=>{"use strict";var m,v=SyntaxError,_=Function,j=TypeError,getEvalledConstructor=function(i){try{return _('"use strict"; return ('+i+").constructor;")()}catch(i){}},M=Object.getOwnPropertyDescriptor;if(M)try{M({},"")}catch(i){M=null}var throwTypeError=function(){throw new j},$=M?function(){try{return throwTypeError}catch(i){try{return M(arguments,"callee").get}catch(i){return throwTypeError}}}():throwTypeError,W=u(41405)(),X=u(28185)(),Y=Object.getPrototypeOf||(X?function(i){return i.__proto__}:null),Z={},ee="undefined"!=typeof Uint8Array&&Y?Y(Uint8Array):m,ie={"%AggregateError%":"undefined"==typeof AggregateError?m:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?m:ArrayBuffer,"%ArrayIteratorPrototype%":W&&Y?Y([][Symbol.iterator]()):m,"%AsyncFromSyncIteratorPrototype%":m,"%AsyncFunction%":Z,"%AsyncGenerator%":Z,"%AsyncGeneratorFunction%":Z,"%AsyncIteratorPrototype%":Z,"%Atomics%":"undefined"==typeof Atomics?m:Atomics,"%BigInt%":"undefined"==typeof BigInt?m:BigInt,"%BigInt64Array%":"undefined"==typeof BigInt64Array?m:BigInt64Array,"%BigUint64Array%":"undefined"==typeof BigUint64Array?m:BigUint64Array,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?m:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":"undefined"==typeof Float32Array?m:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?m:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?m:FinalizationRegistry,"%Function%":_,"%GeneratorFunction%":Z,"%Int8Array%":"undefined"==typeof Int8Array?m:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?m:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?m:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":W&&Y?Y(Y([][Symbol.iterator]())):m,"%JSON%":"object"==typeof JSON?JSON:m,"%Map%":"undefined"==typeof Map?m:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&W&&Y?Y((new Map)[Symbol.iterator]()):m,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?m:Promise,"%Proxy%":"undefined"==typeof Proxy?m:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":"undefined"==typeof Reflect?m:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?m:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&W&&Y?Y((new Set)[Symbol.iterator]()):m,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?m:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":W&&Y?Y(""[Symbol.iterator]()):m,"%Symbol%":W?Symbol:m,"%SyntaxError%":v,"%ThrowTypeError%":$,"%TypedArray%":ee,"%TypeError%":j,"%Uint8Array%":"undefined"==typeof Uint8Array?m:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?m:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?m:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?m:Uint32Array,"%URIError%":URIError,"%WeakMap%":"undefined"==typeof WeakMap?m:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?m:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?m:WeakSet};if(Y)try{null.error}catch(i){var ae=Y(Y(i));ie["%Error.prototype%"]=ae}var le=function doEval(i){var s;if("%AsyncFunction%"===i)s=getEvalledConstructor("async function () {}");else if("%GeneratorFunction%"===i)s=getEvalledConstructor("function* () {}");else if("%AsyncGeneratorFunction%"===i)s=getEvalledConstructor("async function* () {}");else if("%AsyncGenerator%"===i){var u=doEval("%AsyncGeneratorFunction%");u&&(s=u.prototype)}else if("%AsyncIteratorPrototype%"===i){var m=doEval("%AsyncGenerator%");m&&Y&&(s=Y(m.prototype))}return ie[i]=s,s},ce={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},pe=u(58612),de=u(17642),fe=pe.call(Function.call,Array.prototype.concat),ye=pe.call(Function.apply,Array.prototype.splice),be=pe.call(Function.call,String.prototype.replace),_e=pe.call(Function.call,String.prototype.slice),we=pe.call(Function.call,RegExp.prototype.exec),Se=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,xe=/\\(\\)?/g,Pe=function getBaseIntrinsic(i,s){var u,m=i;if(de(ce,m)&&(m="%"+(u=ce[m])[0]+"%"),de(ie,m)){var _=ie[m];if(_===Z&&(_=le(m)),void 0===_&&!s)throw new j("intrinsic "+i+" exists, but is not available. Please file an issue!");return{alias:u,name:m,value:_}}throw new v("intrinsic "+i+" does not exist!")};i.exports=function GetIntrinsic(i,s){if("string"!=typeof i||0===i.length)throw new j("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof s)throw new j('"allowMissing" argument must be a boolean');if(null===we(/^%?[^%]*%?$/,i))throw new v("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var u=function stringToPath(i){var s=_e(i,0,1),u=_e(i,-1);if("%"===s&&"%"!==u)throw new v("invalid intrinsic syntax, expected closing `%`");if("%"===u&&"%"!==s)throw new v("invalid intrinsic syntax, expected opening `%`");var m=[];return be(i,Se,(function(i,s,u,v){m[m.length]=u?be(v,xe,"$1"):s||i})),m}(i),m=u.length>0?u[0]:"",_=Pe("%"+m+"%",s),$=_.name,W=_.value,X=!1,Y=_.alias;Y&&(m=Y[0],ye(u,fe([0,1],Y)));for(var Z=1,ee=!0;Z=u.length){var pe=M(W,ae);W=(ee=!!pe)&&"get"in pe&&!("originalValue"in pe.get)?pe.get:W[ae]}else ee=de(W,ae),W=W[ae];ee&&!X&&(ie[$]=W)}}return W}},28185:i=>{"use strict";var s={foo:{}},u=Object;i.exports=function hasProto(){return{__proto__:s}.foo===s.foo&&!({__proto__:null}instanceof u)}},41405:(i,s,u)=>{"use strict";var m="undefined"!=typeof Symbol&&Symbol,v=u(55419);i.exports=function hasNativeSymbols(){return"function"==typeof m&&("function"==typeof Symbol&&("symbol"==typeof m("foo")&&("symbol"==typeof Symbol("bar")&&v())))}},55419:i=>{"use strict";i.exports=function hasSymbols(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var i={},s=Symbol("test"),u=Object(s);if("string"==typeof s)return!1;if("[object Symbol]"!==Object.prototype.toString.call(s))return!1;if("[object Symbol]"!==Object.prototype.toString.call(u))return!1;for(s in i[s]=42,i)return!1;if("function"==typeof Object.keys&&0!==Object.keys(i).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(i).length)return!1;var m=Object.getOwnPropertySymbols(i);if(1!==m.length||m[0]!==s)return!1;if(!Object.prototype.propertyIsEnumerable.call(i,s))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var v=Object.getOwnPropertyDescriptor(i,s);if(42!==v.value||!0!==v.enumerable)return!1}return!0}},17642:(i,s,u)=>{"use strict";var m=u(58612);i.exports=m.call(Function.call,Object.prototype.hasOwnProperty)},47802:i=>{function deepFreeze(i){return i instanceof Map?i.clear=i.delete=i.set=function(){throw new Error("map is read-only")}:i instanceof Set&&(i.add=i.clear=i.delete=function(){throw new Error("set is read-only")}),Object.freeze(i),Object.getOwnPropertyNames(i).forEach((function(s){var u=i[s];"object"!=typeof u||Object.isFrozen(u)||deepFreeze(u)})),i}var s=deepFreeze,u=deepFreeze;s.default=u;class Response{constructor(i){void 0===i.data&&(i.data={}),this.data=i.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function escapeHTML(i){return i.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function inherit(i,...s){const u=Object.create(null);for(const s in i)u[s]=i[s];return s.forEach((function(i){for(const s in i)u[s]=i[s]})),u}const emitsWrappingTags=i=>!!i.kind;class HTMLRenderer{constructor(i,s){this.buffer="",this.classPrefix=s.classPrefix,i.walk(this)}addText(i){this.buffer+=escapeHTML(i)}openNode(i){if(!emitsWrappingTags(i))return;let s=i.kind;i.sublanguage||(s=`${this.classPrefix}${s}`),this.span(s)}closeNode(i){emitsWrappingTags(i)&&(this.buffer+="")}value(){return this.buffer}span(i){this.buffer+=``}}class TokenTree{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(i){this.top.children.push(i)}openNode(i){const s={kind:i,children:[]};this.add(s),this.stack.push(s)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(i){return this.constructor._walk(i,this.rootNode)}static _walk(i,s){return"string"==typeof s?i.addText(s):s.children&&(i.openNode(s),s.children.forEach((s=>this._walk(i,s))),i.closeNode(s)),i}static _collapse(i){"string"!=typeof i&&i.children&&(i.children.every((i=>"string"==typeof i))?i.children=[i.children.join("")]:i.children.forEach((i=>{TokenTree._collapse(i)})))}}class TokenTreeEmitter extends TokenTree{constructor(i){super(),this.options=i}addKeyword(i,s){""!==i&&(this.openNode(s),this.addText(i),this.closeNode())}addText(i){""!==i&&this.add(i)}addSublanguage(i,s){const u=i.root;u.kind=s,u.sublanguage=!0,this.add(u)}toHTML(){return new HTMLRenderer(this,this.options).value()}finalize(){return!0}}function source(i){return i?"string"==typeof i?i:i.source:null}const m=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;const v="[a-zA-Z]\\w*",_="[a-zA-Z_]\\w*",j="\\b\\d+(\\.\\d+)?",M="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",$="\\b(0b[01]+)",W={begin:"\\\\[\\s\\S]",relevance:0},X={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[W]},Y={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[W]},Z={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},COMMENT=function(i,s,u={}){const m=inherit({className:"comment",begin:i,end:s,contains:[]},u);return m.contains.push(Z),m.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",relevance:0}),m},ee=COMMENT("//","$"),ie=COMMENT("/\\*","\\*/"),ae=COMMENT("#","$"),le={className:"number",begin:j,relevance:0},ce={className:"number",begin:M,relevance:0},pe={className:"number",begin:$,relevance:0},de={className:"number",begin:j+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},fe={begin:/(?=\/[^/\n]*\/)/,contains:[{className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[W,{begin:/\[/,end:/\]/,relevance:0,contains:[W]}]}]},ye={className:"title",begin:v,relevance:0},be={className:"title",begin:_,relevance:0},_e={begin:"\\.\\s*"+_,relevance:0};var we=Object.freeze({__proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:v,UNDERSCORE_IDENT_RE:_,NUMBER_RE:j,C_NUMBER_RE:M,BINARY_NUMBER_RE:$,RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(i={})=>{const s=/^#![ ]*\//;return i.binary&&(i.begin=function concat(...i){return i.map((i=>source(i))).join("")}(s,/.*\b/,i.binary,/\b.*/)),inherit({className:"meta",begin:s,end:/$/,relevance:0,"on:begin":(i,s)=>{0!==i.index&&s.ignoreMatch()}},i)},BACKSLASH_ESCAPE:W,APOS_STRING_MODE:X,QUOTE_STRING_MODE:Y,PHRASAL_WORDS_MODE:Z,COMMENT,C_LINE_COMMENT_MODE:ee,C_BLOCK_COMMENT_MODE:ie,HASH_COMMENT_MODE:ae,NUMBER_MODE:le,C_NUMBER_MODE:ce,BINARY_NUMBER_MODE:pe,CSS_NUMBER_MODE:de,REGEXP_MODE:fe,TITLE_MODE:ye,UNDERSCORE_TITLE_MODE:be,METHOD_GUARD:_e,END_SAME_AS_BEGIN:function(i){return Object.assign(i,{"on:begin":(i,s)=>{s.data._beginMatch=i[1]},"on:end":(i,s)=>{s.data._beginMatch!==i[1]&&s.ignoreMatch()}})}});function skipIfhasPrecedingDot(i,s){"."===i.input[i.index-1]&&s.ignoreMatch()}function beginKeywords(i,s){s&&i.beginKeywords&&(i.begin="\\b("+i.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",i.__beforeBegin=skipIfhasPrecedingDot,i.keywords=i.keywords||i.beginKeywords,delete i.beginKeywords,void 0===i.relevance&&(i.relevance=0))}function compileIllegal(i,s){Array.isArray(i.illegal)&&(i.illegal=function either(...i){return"("+i.map((i=>source(i))).join("|")+")"}(...i.illegal))}function compileMatch(i,s){if(i.match){if(i.begin||i.end)throw new Error("begin & end are not supported with match");i.begin=i.match,delete i.match}}function compileRelevance(i,s){void 0===i.relevance&&(i.relevance=1)}const Se=["of","and","for","in","not","or","if","then","parent","list","value"],xe="keyword";function compileKeywords(i,s,u=xe){const m={};return"string"==typeof i?compileList(u,i.split(" ")):Array.isArray(i)?compileList(u,i):Object.keys(i).forEach((function(u){Object.assign(m,compileKeywords(i[u],s,u))})),m;function compileList(i,u){s&&(u=u.map((i=>i.toLowerCase()))),u.forEach((function(s){const u=s.split("|");m[u[0]]=[i,scoreForKeyword(u[0],u[1])]}))}}function scoreForKeyword(i,s){return s?Number(s):function commonKeyword(i){return Se.includes(i.toLowerCase())}(i)?0:1}function compileLanguage(i,{plugins:s}){function langRe(s,u){return new RegExp(source(s),"m"+(i.case_insensitive?"i":"")+(u?"g":""))}class MultiRegex{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(i,s){s.position=this.position++,this.matchIndexes[this.matchAt]=s,this.regexes.push([s,i]),this.matchAt+=function countMatchGroups(i){return new RegExp(i.toString()+"|").exec("").length-1}(i)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const i=this.regexes.map((i=>i[1]));this.matcherRe=langRe(function join(i,s="|"){let u=0;return i.map((i=>{u+=1;const s=u;let v=source(i),_="";for(;v.length>0;){const i=m.exec(v);if(!i){_+=v;break}_+=v.substring(0,i.index),v=v.substring(i.index+i[0].length),"\\"===i[0][0]&&i[1]?_+="\\"+String(Number(i[1])+s):(_+=i[0],"("===i[0]&&u++)}return _})).map((i=>`(${i})`)).join(s)}(i),!0),this.lastIndex=0}exec(i){this.matcherRe.lastIndex=this.lastIndex;const s=this.matcherRe.exec(i);if(!s)return null;const u=s.findIndex(((i,s)=>s>0&&void 0!==i)),m=this.matchIndexes[u];return s.splice(0,u),Object.assign(s,m)}}class ResumableMultiRegex{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(i){if(this.multiRegexes[i])return this.multiRegexes[i];const s=new MultiRegex;return this.rules.slice(i).forEach((([i,u])=>s.addRule(i,u))),s.compile(),this.multiRegexes[i]=s,s}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(i,s){this.rules.push([i,s]),"begin"===s.type&&this.count++}exec(i){const s=this.getMatcher(this.regexIndex);s.lastIndex=this.lastIndex;let u=s.exec(i);if(this.resumingScanAtSamePosition())if(u&&u.index===this.lastIndex);else{const s=this.getMatcher(0);s.lastIndex=this.lastIndex+1,u=s.exec(i)}return u&&(this.regexIndex+=u.position+1,this.regexIndex===this.count&&this.considerAll()),u}}if(i.compilerExtensions||(i.compilerExtensions=[]),i.contains&&i.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return i.classNameAliases=inherit(i.classNameAliases||{}),function compileMode(s,u){const m=s;if(s.isCompiled)return m;[compileMatch].forEach((i=>i(s,u))),i.compilerExtensions.forEach((i=>i(s,u))),s.__beforeBegin=null,[beginKeywords,compileIllegal,compileRelevance].forEach((i=>i(s,u))),s.isCompiled=!0;let v=null;if("object"==typeof s.keywords&&(v=s.keywords.$pattern,delete s.keywords.$pattern),s.keywords&&(s.keywords=compileKeywords(s.keywords,i.case_insensitive)),s.lexemes&&v)throw new Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ");return v=v||s.lexemes||/\w+/,m.keywordPatternRe=langRe(v,!0),u&&(s.begin||(s.begin=/\B|\b/),m.beginRe=langRe(s.begin),s.endSameAsBegin&&(s.end=s.begin),s.end||s.endsWithParent||(s.end=/\B|\b/),s.end&&(m.endRe=langRe(s.end)),m.terminatorEnd=source(s.end)||"",s.endsWithParent&&u.terminatorEnd&&(m.terminatorEnd+=(s.end?"|":"")+u.terminatorEnd)),s.illegal&&(m.illegalRe=langRe(s.illegal)),s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map((function(i){return function expandOrCloneMode(i){i.variants&&!i.cachedVariants&&(i.cachedVariants=i.variants.map((function(s){return inherit(i,{variants:null},s)})));if(i.cachedVariants)return i.cachedVariants;if(dependencyOnParent(i))return inherit(i,{starts:i.starts?inherit(i.starts):null});if(Object.isFrozen(i))return inherit(i);return i}("self"===i?s:i)}))),s.contains.forEach((function(i){compileMode(i,m)})),s.starts&&compileMode(s.starts,u),m.matcher=function buildModeRegex(i){const s=new ResumableMultiRegex;return i.contains.forEach((i=>s.addRule(i.begin,{rule:i,type:"begin"}))),i.terminatorEnd&&s.addRule(i.terminatorEnd,{type:"end"}),i.illegal&&s.addRule(i.illegal,{type:"illegal"}),s}(m),m}(i)}function dependencyOnParent(i){return!!i&&(i.endsWithParent||dependencyOnParent(i.starts))}function BuildVuePlugin(i){const s={props:["language","code","autodetect"],data:function(){return{detectedLanguage:"",unknownLanguage:!1}},computed:{className(){return this.unknownLanguage?"":"hljs "+this.detectedLanguage},highlighted(){if(!this.autoDetect&&!i.getLanguage(this.language))return console.warn(`The language "${this.language}" you specified could not be found.`),this.unknownLanguage=!0,escapeHTML(this.code);let s={};return this.autoDetect?(s=i.highlightAuto(this.code),this.detectedLanguage=s.language):(s=i.highlight(this.language,this.code,this.ignoreIllegals),this.detectedLanguage=this.language),s.value},autoDetect(){return!this.language||function hasValueOrEmptyAttribute(i){return Boolean(i||""===i)}(this.autodetect)},ignoreIllegals:()=>!0},render(i){return i("pre",{},[i("code",{class:this.className,domProps:{innerHTML:this.highlighted}})])}};return{Component:s,VuePlugin:{install(i){i.component("highlightjs",s)}}}}const Pe={"after:highlightElement":({el:i,result:s,text:u})=>{const m=nodeStream(i);if(!m.length)return;const v=document.createElement("div");v.innerHTML=s.value,s.value=function mergeStreams(i,s,u){let m=0,v="";const _=[];function selectStream(){return i.length&&s.length?i[0].offset!==s[0].offset?i[0].offset"}function close(i){v+=""}function render(i){("start"===i.event?open:close)(i.node)}for(;i.length||s.length;){let s=selectStream();if(v+=escapeHTML(u.substring(m,s[0].offset)),m=s[0].offset,s===i){_.reverse().forEach(close);do{render(s.splice(0,1)[0]),s=selectStream()}while(s===i&&s.length&&s[0].offset===m);_.reverse().forEach(open)}else"start"===s[0].event?_.push(s[0].node):_.pop(),render(s.splice(0,1)[0])}return v+escapeHTML(u.substr(m))}(m,nodeStream(v),u)}};function tag(i){return i.nodeName.toLowerCase()}function nodeStream(i){const s=[];return function _nodeStream(i,u){for(let m=i.firstChild;m;m=m.nextSibling)3===m.nodeType?u+=m.nodeValue.length:1===m.nodeType&&(s.push({event:"start",offset:u,node:m}),u=_nodeStream(m,u),tag(m).match(/br|hr|img|input/)||s.push({event:"stop",offset:u,node:m}));return u}(i,0),s}const Ie={},error=i=>{console.error(i)},warn=(i,...s)=>{console.log(`WARN: ${i}`,...s)},deprecated=(i,s)=>{Ie[`${i}/${s}`]||(console.log(`Deprecated as of ${i}. ${s}`),Ie[`${i}/${s}`]=!0)},Te=escapeHTML,Re=inherit,qe=Symbol("nomatch");var ze=function(i){const u=Object.create(null),m=Object.create(null),v=[];let _=!0;const j=/(^(<[^>]+>|\t|)+|\n)/gm,M="Could not find the language '{}', did you forget to load/include a language module?",$={disableAutodetect:!0,name:"Plain text",contains:[]};let W={noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:null,__emitter:TokenTreeEmitter};function shouldNotHighlight(i){return W.noHighlightRe.test(i)}function highlight(i,s,u,m){let v="",_="";"object"==typeof s?(v=i,u=s.ignoreIllegals,_=s.language,m=void 0):(deprecated("10.7.0","highlight(lang, code, ...args) has been deprecated."),deprecated("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),_=i,v=s);const j={code:v,language:_};fire("before:highlight",j);const M=j.result?j.result:_highlight(j.language,j.code,u,m);return M.code=j.code,fire("after:highlight",M),M}function _highlight(i,s,m,j){function keywordData(i,s){const u=X.case_insensitive?s[0].toLowerCase():s[0];return Object.prototype.hasOwnProperty.call(i.keywords,u)&&i.keywords[u]}function processBuffer(){null!=ee.subLanguage?function processSubLanguage(){if(""===le)return;let i=null;if("string"==typeof ee.subLanguage){if(!u[ee.subLanguage])return void ae.addText(le);i=_highlight(ee.subLanguage,le,!0,ie[ee.subLanguage]),ie[ee.subLanguage]=i.top}else i=highlightAuto(le,ee.subLanguage.length?ee.subLanguage:null);ee.relevance>0&&(ce+=i.relevance),ae.addSublanguage(i.emitter,i.language)}():function processKeywords(){if(!ee.keywords)return void ae.addText(le);let i=0;ee.keywordPatternRe.lastIndex=0;let s=ee.keywordPatternRe.exec(le),u="";for(;s;){u+=le.substring(i,s.index);const m=keywordData(ee,s);if(m){const[i,v]=m;if(ae.addText(u),u="",ce+=v,i.startsWith("_"))u+=s[0];else{const u=X.classNameAliases[i]||i;ae.addKeyword(s[0],u)}}else u+=s[0];i=ee.keywordPatternRe.lastIndex,s=ee.keywordPatternRe.exec(le)}u+=le.substr(i),ae.addText(u)}(),le=""}function startNewMode(i){return i.className&&ae.openNode(X.classNameAliases[i.className]||i.className),ee=Object.create(i,{parent:{value:ee}}),ee}function endOfMode(i,s,u){let m=function startsWith(i,s){const u=i&&i.exec(s);return u&&0===u.index}(i.endRe,u);if(m){if(i["on:end"]){const u=new Response(i);i["on:end"](s,u),u.isMatchIgnored&&(m=!1)}if(m){for(;i.endsParent&&i.parent;)i=i.parent;return i}}if(i.endsWithParent)return endOfMode(i.parent,s,u)}function doIgnore(i){return 0===ee.matcher.regexIndex?(le+=i[0],1):(fe=!0,0)}function doBeginMatch(i){const s=i[0],u=i.rule,m=new Response(u),v=[u.__beforeBegin,u["on:begin"]];for(const u of v)if(u&&(u(i,m),m.isMatchIgnored))return doIgnore(s);return u&&u.endSameAsBegin&&(u.endRe=function escape(i){return new RegExp(i.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")}(s)),u.skip?le+=s:(u.excludeBegin&&(le+=s),processBuffer(),u.returnBegin||u.excludeBegin||(le=s)),startNewMode(u),u.returnBegin?0:s.length}function doEndMatch(i){const u=i[0],m=s.substr(i.index),v=endOfMode(ee,i,m);if(!v)return qe;const _=ee;_.skip?le+=u:(_.returnEnd||_.excludeEnd||(le+=u),processBuffer(),_.excludeEnd&&(le=u));do{ee.className&&ae.closeNode(),ee.skip||ee.subLanguage||(ce+=ee.relevance),ee=ee.parent}while(ee!==v.parent);return v.starts&&(v.endSameAsBegin&&(v.starts.endRe=v.endRe),startNewMode(v.starts)),_.returnEnd?0:u.length}let $={};function processLexeme(u,v){const j=v&&v[0];if(le+=u,null==j)return processBuffer(),0;if("begin"===$.type&&"end"===v.type&&$.index===v.index&&""===j){if(le+=s.slice(v.index,v.index+1),!_){const s=new Error("0 width match regex");throw s.languageName=i,s.badRule=$.rule,s}return 1}if($=v,"begin"===v.type)return doBeginMatch(v);if("illegal"===v.type&&!m){const i=new Error('Illegal lexeme "'+j+'" for mode "'+(ee.className||"")+'"');throw i.mode=ee,i}if("end"===v.type){const i=doEndMatch(v);if(i!==qe)return i}if("illegal"===v.type&&""===j)return 1;if(de>1e5&&de>3*v.index){throw new Error("potential infinite loop, way more iterations than matches")}return le+=j,j.length}const X=getLanguage(i);if(!X)throw error(M.replace("{}",i)),new Error('Unknown language: "'+i+'"');const Y=compileLanguage(X,{plugins:v});let Z="",ee=j||Y;const ie={},ae=new W.__emitter(W);!function processContinuations(){const i=[];for(let s=ee;s!==X;s=s.parent)s.className&&i.unshift(s.className);i.forEach((i=>ae.openNode(i)))}();let le="",ce=0,pe=0,de=0,fe=!1;try{for(ee.matcher.considerAll();;){de++,fe?fe=!1:ee.matcher.considerAll(),ee.matcher.lastIndex=pe;const i=ee.matcher.exec(s);if(!i)break;const u=processLexeme(s.substring(pe,i.index),i);pe=i.index+u}return processLexeme(s.substr(pe)),ae.closeAllNodes(),ae.finalize(),Z=ae.toHTML(),{relevance:Math.floor(ce),value:Z,language:i,illegal:!1,emitter:ae,top:ee}}catch(u){if(u.message&&u.message.includes("Illegal"))return{illegal:!0,illegalBy:{msg:u.message,context:s.slice(pe-100,pe+100),mode:u.mode},sofar:Z,relevance:0,value:Te(s),emitter:ae};if(_)return{illegal:!1,relevance:0,value:Te(s),emitter:ae,language:i,top:ee,errorRaised:u};throw u}}function highlightAuto(i,s){s=s||W.languages||Object.keys(u);const m=function justTextHighlightResult(i){const s={relevance:0,emitter:new W.__emitter(W),value:Te(i),illegal:!1,top:$};return s.emitter.addText(i),s}(i),v=s.filter(getLanguage).filter(autoDetection).map((s=>_highlight(s,i,!1)));v.unshift(m);const _=v.sort(((i,s)=>{if(i.relevance!==s.relevance)return s.relevance-i.relevance;if(i.language&&s.language){if(getLanguage(i.language).supersetOf===s.language)return 1;if(getLanguage(s.language).supersetOf===i.language)return-1}return 0})),[j,M]=_,X=j;return X.second_best=M,X}const X={"before:highlightElement":({el:i})=>{W.useBR&&(i.innerHTML=i.innerHTML.replace(/\n/g,"").replace(//g,"\n"))},"after:highlightElement":({result:i})=>{W.useBR&&(i.value=i.value.replace(/\n/g,"
    "))}},Y=/^(<[^>]+>|\t)+/gm,Z={"after:highlightElement":({result:i})=>{W.tabReplace&&(i.value=i.value.replace(Y,(i=>i.replace(/\t/g,W.tabReplace))))}};function highlightElement(i){let s=null;const u=function blockLanguage(i){let s=i.className+" ";s+=i.parentNode?i.parentNode.className:"";const u=W.languageDetectRe.exec(s);if(u){const s=getLanguage(u[1]);return s||(warn(M.replace("{}",u[1])),warn("Falling back to no-highlight mode for this block.",i)),s?u[1]:"no-highlight"}return s.split(/\s+/).find((i=>shouldNotHighlight(i)||getLanguage(i)))}(i);if(shouldNotHighlight(u))return;fire("before:highlightElement",{el:i,language:u}),s=i;const v=s.textContent,_=u?highlight(v,{language:u,ignoreIllegals:!0}):highlightAuto(v);fire("after:highlightElement",{el:i,result:_,text:v}),i.innerHTML=_.value,function updateClassName(i,s,u){const v=s?m[s]:u;i.classList.add("hljs"),v&&i.classList.add(v)}(i,u,_.language),i.result={language:_.language,re:_.relevance,relavance:_.relevance},_.second_best&&(i.second_best={language:_.second_best.language,re:_.second_best.relevance,relavance:_.second_best.relevance})}const initHighlighting=()=>{if(initHighlighting.called)return;initHighlighting.called=!0,deprecated("10.6.0","initHighlighting() is deprecated. Use highlightAll() instead.");document.querySelectorAll("pre code").forEach(highlightElement)};let ee=!1;function highlightAll(){if("loading"===document.readyState)return void(ee=!0);document.querySelectorAll("pre code").forEach(highlightElement)}function getLanguage(i){return i=(i||"").toLowerCase(),u[i]||u[m[i]]}function registerAliases(i,{languageName:s}){"string"==typeof i&&(i=[i]),i.forEach((i=>{m[i.toLowerCase()]=s}))}function autoDetection(i){const s=getLanguage(i);return s&&!s.disableAutodetect}function fire(i,s){const u=i;v.forEach((function(i){i[u]&&i[u](s)}))}"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(function boot(){ee&&highlightAll()}),!1),Object.assign(i,{highlight,highlightAuto,highlightAll,fixMarkup:function deprecateFixMarkup(i){return deprecated("10.2.0","fixMarkup will be removed entirely in v11.0"),deprecated("10.2.0","Please see https://github.com/highlightjs/highlight.js/issues/2534"),function fixMarkup(i){return W.tabReplace||W.useBR?i.replace(j,(i=>"\n"===i?W.useBR?"
    ":i:W.tabReplace?i.replace(/\t/g,W.tabReplace):i)):i}(i)},highlightElement,highlightBlock:function deprecateHighlightBlock(i){return deprecated("10.7.0","highlightBlock will be removed entirely in v12.0"),deprecated("10.7.0","Please use highlightElement now."),highlightElement(i)},configure:function configure(i){i.useBR&&(deprecated("10.3.0","'useBR' will be removed entirely in v11.0"),deprecated("10.3.0","Please see https://github.com/highlightjs/highlight.js/issues/2559")),W=Re(W,i)},initHighlighting,initHighlightingOnLoad:function initHighlightingOnLoad(){deprecated("10.6.0","initHighlightingOnLoad() is deprecated. Use highlightAll() instead."),ee=!0},registerLanguage:function registerLanguage(s,m){let v=null;try{v=m(i)}catch(i){if(error("Language definition for '{}' could not be registered.".replace("{}",s)),!_)throw i;error(i),v=$}v.name||(v.name=s),u[s]=v,v.rawDefinition=m.bind(null,i),v.aliases&®isterAliases(v.aliases,{languageName:s})},unregisterLanguage:function unregisterLanguage(i){delete u[i];for(const s of Object.keys(m))m[s]===i&&delete m[s]},listLanguages:function listLanguages(){return Object.keys(u)},getLanguage,registerAliases,requireLanguage:function requireLanguage(i){deprecated("10.4.0","requireLanguage will be removed entirely in v11."),deprecated("10.4.0","Please see https://github.com/highlightjs/highlight.js/pull/2844");const s=getLanguage(i);if(s)return s;throw new Error("The '{}' language is required, but not loaded.".replace("{}",i))},autoDetection,inherit:Re,addPlugin:function addPlugin(i){!function upgradePluginAPI(i){i["before:highlightBlock"]&&!i["before:highlightElement"]&&(i["before:highlightElement"]=s=>{i["before:highlightBlock"](Object.assign({block:s.el},s))}),i["after:highlightBlock"]&&!i["after:highlightElement"]&&(i["after:highlightElement"]=s=>{i["after:highlightBlock"](Object.assign({block:s.el},s))})}(i),v.push(i)},vuePlugin:BuildVuePlugin(i).VuePlugin}),i.debugMode=function(){_=!1},i.safeMode=function(){_=!0},i.versionString="10.7.3";for(const i in we)"object"==typeof we[i]&&s(we[i]);return Object.assign(i,we),i.addPlugin(X),i.addPlugin(Pe),i.addPlugin(Z),i}({});i.exports=ze},61519:i=>{function concat(...i){return i.map((i=>function source(i){return i?"string"==typeof i?i:i.source:null}(i))).join("")}i.exports=function bash(i){const s={},u={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[s]}]};Object.assign(s,{className:"variable",variants:[{begin:concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},u]});const m={className:"subst",begin:/\$\(/,end:/\)/,contains:[i.BACKSLASH_ESCAPE]},v={begin:/<<-?\s*(?=\w+)/,starts:{contains:[i.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},_={className:"string",begin:/"/,end:/"/,contains:[i.BACKSLASH_ESCAPE,s,m]};m.contains.push(_);const j={begin:/\$\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},i.NUMBER_MODE,s]},M=i.SHEBANG({binary:`(${["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"].join("|")})`,relevance:10}),$={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[i.inherit(i.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z._-]+\b/,keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp"},contains:[M,i.SHEBANG(),$,j,i.HASH_COMMENT_MODE,v,_,{className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},s]}}},30786:i=>{function concat(...i){return i.map((i=>function source(i){return i?"string"==typeof i?i:i.source:null}(i))).join("")}i.exports=function http(i){const s="HTTP/(2|1\\.[01])",u={className:"attribute",begin:concat("^",/[A-Za-z][A-Za-z0-9-]*/,"(?=\\:\\s)"),starts:{contains:[{className:"punctuation",begin:/: /,relevance:0,starts:{end:"$",relevance:0}}]}},m=[u,{begin:"\\n\\n",starts:{subLanguage:[],endsWithParent:!0}}];return{name:"HTTP",aliases:["https"],illegal:/\S/,contains:[{begin:"^(?="+s+" \\d{3})",end:/$/,contains:[{className:"meta",begin:s},{className:"number",begin:"\\b\\d{3}\\b"}],starts:{end:/\b\B/,illegal:/\S/,contains:m}},{begin:"(?=^[A-Z]+ (.*?) "+s+"$)",end:/$/,contains:[{className:"string",begin:" ",end:" ",excludeBegin:!0,excludeEnd:!0},{className:"meta",begin:s},{className:"keyword",begin:"[A-Z]+"}],starts:{end:/\b\B/,illegal:/\S/,contains:m}},i.inherit(u,{relevance:0})]}}},96344:i=>{const s="[A-Za-z$_][0-9A-Za-z$_]*",u=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],m=["true","false","null","undefined","NaN","Infinity"],v=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer","BigInt64Array","BigUint64Array","BigInt"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);function lookahead(i){return concat("(?=",i,")")}function concat(...i){return i.map((i=>function source(i){return i?"string"==typeof i?i:i.source:null}(i))).join("")}i.exports=function javascript(i){const _=s,j="<>",M="",$={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(i,s)=>{const u=i[0].length+i.index,m=i.input[u];"<"!==m?">"===m&&(((i,{after:s})=>{const u="",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:i.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:W,contains:ye}]}]},{begin:/,/,relevance:0},{className:"",begin:/\s/,end:/\s*/,skip:!0},{variants:[{begin:j,end:M},{begin:$.begin,"on:begin":$.isTrulyOpeningTag,end:$.end}],subLanguage:"xml",contains:[{begin:$.begin,end:$.end,skip:!0,contains:["self"]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/[{;]/,excludeEnd:!0,keywords:W,contains:["self",i.inherit(i.TITLE_MODE,{begin:_}),be],illegal:/%/},{beginKeywords:"while if switch catch for"},{className:"function",begin:i.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,contains:[be,i.inherit(i.TITLE_MODE,{begin:_})]},{variants:[{begin:"\\."+_},{begin:"\\$"+_}],relevance:0},{className:"class",beginKeywords:"class",end:/[{;=]/,excludeEnd:!0,illegal:/[:"[\]]/,contains:[{beginKeywords:"extends"},i.UNDERSCORE_TITLE_MODE]},{begin:/\b(?=constructor)/,end:/[{;]/,excludeEnd:!0,contains:[i.inherit(i.TITLE_MODE,{begin:_}),"self",be]},{begin:"(get|set)\\s+(?="+_+"\\()",end:/\{/,keywords:"get set",contains:[i.inherit(i.TITLE_MODE,{begin:_}),{begin:/\(\)/},be]},{begin:/\$[(.]/}]}}},82026:i=>{i.exports=function json(i){const s={literal:"true false null"},u=[i.C_LINE_COMMENT_MODE,i.C_BLOCK_COMMENT_MODE],m=[i.QUOTE_STRING_MODE,i.C_NUMBER_MODE],v={end:",",endsWithParent:!0,excludeEnd:!0,contains:m,keywords:s},_={begin:/\{/,end:/\}/,contains:[{className:"attr",begin:/"/,end:/"/,contains:[i.BACKSLASH_ESCAPE],illegal:"\\n"},i.inherit(v,{begin:/:/})].concat(u),illegal:"\\S"},j={begin:"\\[",end:"\\]",contains:[i.inherit(v)],illegal:"\\S"};return m.push(_,j),u.forEach((function(i){m.push(i)})),{name:"JSON",contains:m,keywords:s,illegal:"\\S"}}},66336:i=>{i.exports=function powershell(i){const s={$pattern:/-?[A-z\.\-]+\b/,keyword:"if else foreach return do while until elseif begin for trap data dynamicparam end break throw param continue finally in switch exit filter try process catch hidden static parameter",built_in:"ac asnp cat cd CFS chdir clc clear clhy cli clp cls clv cnsn compare copy cp cpi cpp curl cvpa dbp del diff dir dnsn ebp echo|0 epal epcsv epsn erase etsn exsn fc fhx fl ft fw gal gbp gc gcb gci gcm gcs gdr gerr ghy gi gin gjb gl gm gmo gp gps gpv group gsn gsnp gsv gtz gu gv gwmi h history icm iex ihy ii ipal ipcsv ipmo ipsn irm ise iwmi iwr kill lp ls man md measure mi mount move mp mv nal ndr ni nmo npssc nsn nv ogv oh popd ps pushd pwd r rbp rcjb rcsn rd rdr ren ri rjb rm rmdir rmo rni rnp rp rsn rsnp rujb rv rvpa rwmi sajb sal saps sasv sbp sc scb select set shcm si sl sleep sls sort sp spjb spps spsv start stz sujb sv swmi tee trcm type wget where wjb write"},u={begin:"`[\\s\\S]",relevance:0},m={className:"variable",variants:[{begin:/\$\B/},{className:"keyword",begin:/\$this/},{begin:/\$[\w\d][\w\d_:]*/}]},v={className:"string",variants:[{begin:/"/,end:/"/},{begin:/@"/,end:/^"@/}],contains:[u,m,{className:"variable",begin:/\$[A-z]/,end:/[^A-z]/}]},_={className:"string",variants:[{begin:/'/,end:/'/},{begin:/@'/,end:/^'@/}]},j=i.inherit(i.COMMENT(null,null),{variants:[{begin:/#/,end:/$/},{begin:/<#/,end:/#>/}],contains:[{className:"doctag",variants:[{begin:/\.(synopsis|description|example|inputs|outputs|notes|link|component|role|functionality)/},{begin:/\.(parameter|forwardhelptargetname|forwardhelpcategory|remotehelprunspace|externalhelp)\s+\S+/}]}]}),M={className:"built_in",variants:[{begin:"(".concat("Add|Clear|Close|Copy|Enter|Exit|Find|Format|Get|Hide|Join|Lock|Move|New|Open|Optimize|Pop|Push|Redo|Remove|Rename|Reset|Resize|Search|Select|Set|Show|Skip|Split|Step|Switch|Undo|Unlock|Watch|Backup|Checkpoint|Compare|Compress|Convert|ConvertFrom|ConvertTo|Dismount|Edit|Expand|Export|Group|Import|Initialize|Limit|Merge|Mount|Out|Publish|Restore|Save|Sync|Unpublish|Update|Approve|Assert|Build|Complete|Confirm|Deny|Deploy|Disable|Enable|Install|Invoke|Register|Request|Restart|Resume|Start|Stop|Submit|Suspend|Uninstall|Unregister|Wait|Debug|Measure|Ping|Repair|Resolve|Test|Trace|Connect|Disconnect|Read|Receive|Send|Write|Block|Grant|Protect|Revoke|Unblock|Unprotect|Use|ForEach|Sort|Tee|Where",")+(-)[\\w\\d]+")}]},$={className:"class",beginKeywords:"class enum",end:/\s*[{]/,excludeEnd:!0,relevance:0,contains:[i.TITLE_MODE]},W={className:"function",begin:/function\s+/,end:/\s*\{|$/,excludeEnd:!0,returnBegin:!0,relevance:0,contains:[{begin:"function",relevance:0,className:"keyword"},{className:"title",begin:/\w[\w\d]*((-)[\w\d]+)*/,relevance:0},{begin:/\(/,end:/\)/,className:"params",relevance:0,contains:[m]}]},X={begin:/using\s/,end:/$/,returnBegin:!0,contains:[v,_,{className:"keyword",begin:/(using|assembly|command|module|namespace|type)/}]},Y={variants:[{className:"operator",begin:"(".concat("-and|-as|-band|-bnot|-bor|-bxor|-casesensitive|-ccontains|-ceq|-cge|-cgt|-cle|-clike|-clt|-cmatch|-cne|-cnotcontains|-cnotlike|-cnotmatch|-contains|-creplace|-csplit|-eq|-exact|-f|-file|-ge|-gt|-icontains|-ieq|-ige|-igt|-ile|-ilike|-ilt|-imatch|-in|-ine|-inotcontains|-inotlike|-inotmatch|-ireplace|-is|-isnot|-isplit|-join|-le|-like|-lt|-match|-ne|-not|-notcontains|-notin|-notlike|-notmatch|-or|-regex|-replace|-shl|-shr|-split|-wildcard|-xor",")\\b")},{className:"literal",begin:/(-)[\w\d]+/,relevance:0}]},Z={className:"function",begin:/\[.*\]\s*[\w]+[ ]??\(/,end:/$/,returnBegin:!0,relevance:0,contains:[{className:"keyword",begin:"(".concat(s.keyword.toString().replace(/\s/g,"|"),")\\b"),endsParent:!0,relevance:0},i.inherit(i.TITLE_MODE,{endsParent:!0})]},ee=[Z,j,u,i.NUMBER_MODE,v,_,M,m,{className:"literal",begin:/\$(null|true|false)\b/},{className:"selector-tag",begin:/@\B/,relevance:0}],ie={begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[].concat("self",ee,{begin:"("+["string","char","byte","int","long","bool","decimal","single","double","DateTime","xml","array","hashtable","void"].join("|")+")",className:"built_in",relevance:0},{className:"type",begin:/[\.\w\d]+/,relevance:0})};return Z.contains.unshift(ie),{name:"PowerShell",aliases:["ps","ps1"],case_insensitive:!0,keywords:s,contains:ee.concat($,W,X,Y,ie)}}},42157:i=>{function source(i){return i?"string"==typeof i?i:i.source:null}function lookahead(i){return concat("(?=",i,")")}function concat(...i){return i.map((i=>source(i))).join("")}function either(...i){return"("+i.map((i=>source(i))).join("|")+")"}i.exports=function xml(i){const s=concat(/[A-Z_]/,function optional(i){return concat("(",i,")?")}(/[A-Z0-9_.-]*:/),/[A-Z0-9_.-]*/),u={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},m={begin:/\s/,contains:[{className:"meta-keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},v=i.inherit(m,{begin:/\(/,end:/\)/}),_=i.inherit(i.APOS_STRING_MODE,{className:"meta-string"}),j=i.inherit(i.QUOTE_STRING_MODE,{className:"meta-string"}),M={endsWithParent:!0,illegal:/`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,contains:[{className:"meta",begin://,relevance:10,contains:[m,j,_,v,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[m,v,j,_]}]}]},i.COMMENT(//,{relevance:10}),{begin://,relevance:10},u,{className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag",begin:/)/,end:/>/,keywords:{name:"style"},contains:[M],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/)/,end:/>/,keywords:{name:"script"},contains:[M],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:s,relevance:0,starts:M}]},{className:"tag",begin:concat(/<\//,lookahead(concat(s,/>/))),contains:[{className:"name",begin:s,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}},54587:i=>{i.exports=function yaml(i){var s="true false yes no null",u="[\\w#;/?:@&=+$,.~*'()[\\]]+",m={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[i.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},v=i.inherit(m,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),_={className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},j={end:",",endsWithParent:!0,excludeEnd:!0,keywords:s,relevance:0},M={begin:/\{/,end:/\}/,contains:[j],illegal:"\\n",relevance:0},$={begin:"\\[",end:"\\]",contains:[j],illegal:"\\n",relevance:0},W=[{className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+u},{className:"type",begin:"!<"+u+">"},{className:"type",begin:"!"+u},{className:"type",begin:"!!"+u},{className:"meta",begin:"&"+i.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+i.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},i.HASH_COMMENT_MODE,{beginKeywords:s,keywords:{literal:s}},_,{className:"number",begin:i.C_NUMBER_RE+"\\b",relevance:0},M,$,m],X=[...W];return X.pop(),X.push(v),j.contains=X,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:W}}},8679:(i,s,u)=>{"use strict";var m=u(59864),v={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},_={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},j={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},M={};function getStatics(i){return m.isMemo(i)?j:M[i.$$typeof]||v}M[m.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},M[m.Memo]=j;var $=Object.defineProperty,W=Object.getOwnPropertyNames,X=Object.getOwnPropertySymbols,Y=Object.getOwnPropertyDescriptor,Z=Object.getPrototypeOf,ee=Object.prototype;i.exports=function hoistNonReactStatics(i,s,u){if("string"!=typeof s){if(ee){var m=Z(s);m&&m!==ee&&hoistNonReactStatics(i,m,u)}var v=W(s);X&&(v=v.concat(X(s)));for(var j=getStatics(i),M=getStatics(s),ie=0;ie{s.read=function(i,s,u,m,v){var _,j,M=8*v-m-1,$=(1<>1,X=-7,Y=u?v-1:0,Z=u?-1:1,ee=i[s+Y];for(Y+=Z,_=ee&(1<<-X)-1,ee>>=-X,X+=M;X>0;_=256*_+i[s+Y],Y+=Z,X-=8);for(j=_&(1<<-X)-1,_>>=-X,X+=m;X>0;j=256*j+i[s+Y],Y+=Z,X-=8);if(0===_)_=1-W;else{if(_===$)return j?NaN:1/0*(ee?-1:1);j+=Math.pow(2,m),_-=W}return(ee?-1:1)*j*Math.pow(2,_-m)},s.write=function(i,s,u,m,v,_){var j,M,$,W=8*_-v-1,X=(1<>1,Z=23===v?Math.pow(2,-24)-Math.pow(2,-77):0,ee=m?0:_-1,ie=m?1:-1,ae=s<0||0===s&&1/s<0?1:0;for(s=Math.abs(s),isNaN(s)||s===1/0?(M=isNaN(s)?1:0,j=X):(j=Math.floor(Math.log(s)/Math.LN2),s*($=Math.pow(2,-j))<1&&(j--,$*=2),(s+=j+Y>=1?Z/$:Z*Math.pow(2,1-Y))*$>=2&&(j++,$/=2),j+Y>=X?(M=0,j=X):j+Y>=1?(M=(s*$-1)*Math.pow(2,v),j+=Y):(M=s*Math.pow(2,Y-1)*Math.pow(2,v),j=0));v>=8;i[u+ee]=255&M,ee+=ie,M/=256,v-=8);for(j=j<0;i[u+ee]=255&j,ee+=ie,j/=256,W-=8);i[u+ee-ie]|=128*ae}},43393:function(i){i.exports=function(){"use strict";var i=Array.prototype.slice;function createClass(i,s){s&&(i.prototype=Object.create(s.prototype)),i.prototype.constructor=i}function Iterable(i){return isIterable(i)?i:Seq(i)}function KeyedIterable(i){return isKeyed(i)?i:KeyedSeq(i)}function IndexedIterable(i){return isIndexed(i)?i:IndexedSeq(i)}function SetIterable(i){return isIterable(i)&&!isAssociative(i)?i:SetSeq(i)}function isIterable(i){return!(!i||!i[s])}function isKeyed(i){return!(!i||!i[u])}function isIndexed(i){return!(!i||!i[m])}function isAssociative(i){return isKeyed(i)||isIndexed(i)}function isOrdered(i){return!(!i||!i[v])}createClass(KeyedIterable,Iterable),createClass(IndexedIterable,Iterable),createClass(SetIterable,Iterable),Iterable.isIterable=isIterable,Iterable.isKeyed=isKeyed,Iterable.isIndexed=isIndexed,Iterable.isAssociative=isAssociative,Iterable.isOrdered=isOrdered,Iterable.Keyed=KeyedIterable,Iterable.Indexed=IndexedIterable,Iterable.Set=SetIterable;var s="@@__IMMUTABLE_ITERABLE__@@",u="@@__IMMUTABLE_KEYED__@@",m="@@__IMMUTABLE_INDEXED__@@",v="@@__IMMUTABLE_ORDERED__@@",_="delete",j=5,M=1<>>0;if(""+u!==s||4294967295===u)return NaN;s=u}return s<0?ensureSize(i)+s:s}function returnTrue(){return!0}function wholeSlice(i,s,u){return(0===i||void 0!==u&&i<=-u)&&(void 0===s||void 0!==u&&s>=u)}function resolveBegin(i,s){return resolveIndex(i,s,0)}function resolveEnd(i,s){return resolveIndex(i,s,s)}function resolveIndex(i,s,u){return void 0===i?u:i<0?Math.max(0,s+i):void 0===s?i:Math.min(s,i)}var Z=0,ee=1,ie=2,ae="function"==typeof Symbol&&Symbol.iterator,le="@@iterator",ce=ae||le;function Iterator(i){this.next=i}function iteratorValue(i,s,u,m){var v=0===i?s:1===i?u:[s,u];return m?m.value=v:m={value:v,done:!1},m}function iteratorDone(){return{value:void 0,done:!0}}function hasIterator(i){return!!getIteratorFn(i)}function isIterator(i){return i&&"function"==typeof i.next}function getIterator(i){var s=getIteratorFn(i);return s&&s.call(i)}function getIteratorFn(i){var s=i&&(ae&&i[ae]||i[le]);if("function"==typeof s)return s}function isArrayLike(i){return i&&"number"==typeof i.length}function Seq(i){return null==i?emptySequence():isIterable(i)?i.toSeq():seqFromValue(i)}function KeyedSeq(i){return null==i?emptySequence().toKeyedSeq():isIterable(i)?isKeyed(i)?i.toSeq():i.fromEntrySeq():keyedSeqFromValue(i)}function IndexedSeq(i){return null==i?emptySequence():isIterable(i)?isKeyed(i)?i.entrySeq():i.toIndexedSeq():indexedSeqFromValue(i)}function SetSeq(i){return(null==i?emptySequence():isIterable(i)?isKeyed(i)?i.entrySeq():i:indexedSeqFromValue(i)).toSetSeq()}Iterator.prototype.toString=function(){return"[Iterator]"},Iterator.KEYS=Z,Iterator.VALUES=ee,Iterator.ENTRIES=ie,Iterator.prototype.inspect=Iterator.prototype.toSource=function(){return this.toString()},Iterator.prototype[ce]=function(){return this},createClass(Seq,Iterable),Seq.of=function(){return Seq(arguments)},Seq.prototype.toSeq=function(){return this},Seq.prototype.toString=function(){return this.__toString("Seq {","}")},Seq.prototype.cacheResult=function(){return!this._cache&&this.__iterateUncached&&(this._cache=this.entrySeq().toArray(),this.size=this._cache.length),this},Seq.prototype.__iterate=function(i,s){return seqIterate(this,i,s,!0)},Seq.prototype.__iterator=function(i,s){return seqIterator(this,i,s,!0)},createClass(KeyedSeq,Seq),KeyedSeq.prototype.toKeyedSeq=function(){return this},createClass(IndexedSeq,Seq),IndexedSeq.of=function(){return IndexedSeq(arguments)},IndexedSeq.prototype.toIndexedSeq=function(){return this},IndexedSeq.prototype.toString=function(){return this.__toString("Seq [","]")},IndexedSeq.prototype.__iterate=function(i,s){return seqIterate(this,i,s,!1)},IndexedSeq.prototype.__iterator=function(i,s){return seqIterator(this,i,s,!1)},createClass(SetSeq,Seq),SetSeq.of=function(){return SetSeq(arguments)},SetSeq.prototype.toSetSeq=function(){return this},Seq.isSeq=isSeq,Seq.Keyed=KeyedSeq,Seq.Set=SetSeq,Seq.Indexed=IndexedSeq;var pe,de,fe,ye="@@__IMMUTABLE_SEQ__@@";function ArraySeq(i){this._array=i,this.size=i.length}function ObjectSeq(i){var s=Object.keys(i);this._object=i,this._keys=s,this.size=s.length}function IterableSeq(i){this._iterable=i,this.size=i.length||i.size}function IteratorSeq(i){this._iterator=i,this._iteratorCache=[]}function isSeq(i){return!(!i||!i[ye])}function emptySequence(){return pe||(pe=new ArraySeq([]))}function keyedSeqFromValue(i){var s=Array.isArray(i)?new ArraySeq(i).fromEntrySeq():isIterator(i)?new IteratorSeq(i).fromEntrySeq():hasIterator(i)?new IterableSeq(i).fromEntrySeq():"object"==typeof i?new ObjectSeq(i):void 0;if(!s)throw new TypeError("Expected Array or iterable object of [k, v] entries, or keyed object: "+i);return s}function indexedSeqFromValue(i){var s=maybeIndexedSeqFromValue(i);if(!s)throw new TypeError("Expected Array or iterable object of values: "+i);return s}function seqFromValue(i){var s=maybeIndexedSeqFromValue(i)||"object"==typeof i&&new ObjectSeq(i);if(!s)throw new TypeError("Expected Array or iterable object of values, or keyed object: "+i);return s}function maybeIndexedSeqFromValue(i){return isArrayLike(i)?new ArraySeq(i):isIterator(i)?new IteratorSeq(i):hasIterator(i)?new IterableSeq(i):void 0}function seqIterate(i,s,u,m){var v=i._cache;if(v){for(var _=v.length-1,j=0;j<=_;j++){var M=v[u?_-j:j];if(!1===s(M[1],m?M[0]:j,i))return j+1}return j}return i.__iterateUncached(s,u)}function seqIterator(i,s,u,m){var v=i._cache;if(v){var _=v.length-1,j=0;return new Iterator((function(){var i=v[u?_-j:j];return j++>_?iteratorDone():iteratorValue(s,m?i[0]:j-1,i[1])}))}return i.__iteratorUncached(s,u)}function fromJS(i,s){return s?fromJSWith(s,i,"",{"":i}):fromJSDefault(i)}function fromJSWith(i,s,u,m){return Array.isArray(s)?i.call(m,u,IndexedSeq(s).map((function(u,m){return fromJSWith(i,u,m,s)}))):isPlainObj(s)?i.call(m,u,KeyedSeq(s).map((function(u,m){return fromJSWith(i,u,m,s)}))):s}function fromJSDefault(i){return Array.isArray(i)?IndexedSeq(i).map(fromJSDefault).toList():isPlainObj(i)?KeyedSeq(i).map(fromJSDefault).toMap():i}function isPlainObj(i){return i&&(i.constructor===Object||void 0===i.constructor)}function is(i,s){if(i===s||i!=i&&s!=s)return!0;if(!i||!s)return!1;if("function"==typeof i.valueOf&&"function"==typeof s.valueOf){if((i=i.valueOf())===(s=s.valueOf())||i!=i&&s!=s)return!0;if(!i||!s)return!1}return!("function"!=typeof i.equals||"function"!=typeof s.equals||!i.equals(s))}function deepEqual(i,s){if(i===s)return!0;if(!isIterable(s)||void 0!==i.size&&void 0!==s.size&&i.size!==s.size||void 0!==i.__hash&&void 0!==s.__hash&&i.__hash!==s.__hash||isKeyed(i)!==isKeyed(s)||isIndexed(i)!==isIndexed(s)||isOrdered(i)!==isOrdered(s))return!1;if(0===i.size&&0===s.size)return!0;var u=!isAssociative(i);if(isOrdered(i)){var m=i.entries();return s.every((function(i,s){var v=m.next().value;return v&&is(v[1],i)&&(u||is(v[0],s))}))&&m.next().done}var v=!1;if(void 0===i.size)if(void 0===s.size)"function"==typeof i.cacheResult&&i.cacheResult();else{v=!0;var _=i;i=s,s=_}var j=!0,M=s.__iterate((function(s,m){if(u?!i.has(s):v?!is(s,i.get(m,W)):!is(i.get(m,W),s))return j=!1,!1}));return j&&i.size===M}function Repeat(i,s){if(!(this instanceof Repeat))return new Repeat(i,s);if(this._value=i,this.size=void 0===s?1/0:Math.max(0,s),0===this.size){if(de)return de;de=this}}function invariant(i,s){if(!i)throw new Error(s)}function Range(i,s,u){if(!(this instanceof Range))return new Range(i,s,u);if(invariant(0!==u,"Cannot step a Range by 0"),i=i||0,void 0===s&&(s=1/0),u=void 0===u?1:Math.abs(u),sm?iteratorDone():iteratorValue(i,v,u[s?m-v++:v++])}))},createClass(ObjectSeq,KeyedSeq),ObjectSeq.prototype.get=function(i,s){return void 0===s||this.has(i)?this._object[i]:s},ObjectSeq.prototype.has=function(i){return this._object.hasOwnProperty(i)},ObjectSeq.prototype.__iterate=function(i,s){for(var u=this._object,m=this._keys,v=m.length-1,_=0;_<=v;_++){var j=m[s?v-_:_];if(!1===i(u[j],j,this))return _+1}return _},ObjectSeq.prototype.__iterator=function(i,s){var u=this._object,m=this._keys,v=m.length-1,_=0;return new Iterator((function(){var j=m[s?v-_:_];return _++>v?iteratorDone():iteratorValue(i,j,u[j])}))},ObjectSeq.prototype[v]=!0,createClass(IterableSeq,IndexedSeq),IterableSeq.prototype.__iterateUncached=function(i,s){if(s)return this.cacheResult().__iterate(i,s);var u=getIterator(this._iterable),m=0;if(isIterator(u))for(var v;!(v=u.next()).done&&!1!==i(v.value,m++,this););return m},IterableSeq.prototype.__iteratorUncached=function(i,s){if(s)return this.cacheResult().__iterator(i,s);var u=getIterator(this._iterable);if(!isIterator(u))return new Iterator(iteratorDone);var m=0;return new Iterator((function(){var s=u.next();return s.done?s:iteratorValue(i,m++,s.value)}))},createClass(IteratorSeq,IndexedSeq),IteratorSeq.prototype.__iterateUncached=function(i,s){if(s)return this.cacheResult().__iterate(i,s);for(var u,m=this._iterator,v=this._iteratorCache,_=0;_=m.length){var s=u.next();if(s.done)return s;m[v]=s.value}return iteratorValue(i,v,m[v++])}))},createClass(Repeat,IndexedSeq),Repeat.prototype.toString=function(){return 0===this.size?"Repeat []":"Repeat [ "+this._value+" "+this.size+" times ]"},Repeat.prototype.get=function(i,s){return this.has(i)?this._value:s},Repeat.prototype.includes=function(i){return is(this._value,i)},Repeat.prototype.slice=function(i,s){var u=this.size;return wholeSlice(i,s,u)?this:new Repeat(this._value,resolveEnd(s,u)-resolveBegin(i,u))},Repeat.prototype.reverse=function(){return this},Repeat.prototype.indexOf=function(i){return is(this._value,i)?0:-1},Repeat.prototype.lastIndexOf=function(i){return is(this._value,i)?this.size:-1},Repeat.prototype.__iterate=function(i,s){for(var u=0;u=0&&s=0&&uu?iteratorDone():iteratorValue(i,_++,j)}))},Range.prototype.equals=function(i){return i instanceof Range?this._start===i._start&&this._end===i._end&&this._step===i._step:deepEqual(this,i)},createClass(Collection,Iterable),createClass(KeyedCollection,Collection),createClass(IndexedCollection,Collection),createClass(SetCollection,Collection),Collection.Keyed=KeyedCollection,Collection.Indexed=IndexedCollection,Collection.Set=SetCollection;var be="function"==typeof Math.imul&&-2===Math.imul(4294967295,2)?Math.imul:function imul(i,s){var u=65535&(i|=0),m=65535&(s|=0);return u*m+((i>>>16)*m+u*(s>>>16)<<16>>>0)|0};function smi(i){return i>>>1&1073741824|3221225471&i}function hash(i){if(!1===i||null==i)return 0;if("function"==typeof i.valueOf&&(!1===(i=i.valueOf())||null==i))return 0;if(!0===i)return 1;var s=typeof i;if("number"===s){if(i!=i||i===1/0)return 0;var u=0|i;for(u!==i&&(u^=4294967295*i);i>4294967295;)u^=i/=4294967295;return smi(u)}if("string"===s)return i.length>Te?cachedHashString(i):hashString(i);if("function"==typeof i.hashCode)return i.hashCode();if("object"===s)return hashJSObj(i);if("function"==typeof i.toString)return hashString(i.toString());throw new Error("Value type "+s+" cannot be hashed.")}function cachedHashString(i){var s=ze[i];return void 0===s&&(s=hashString(i),qe===Re&&(qe=0,ze={}),qe++,ze[i]=s),s}function hashString(i){for(var s=0,u=0;u0)switch(i.nodeType){case 1:return i.uniqueID;case 9:return i.documentElement&&i.documentElement.uniqueID}}var Se,xe="function"==typeof WeakMap;xe&&(Se=new WeakMap);var Pe=0,Ie="__immutablehash__";"function"==typeof Symbol&&(Ie=Symbol(Ie));var Te=16,Re=255,qe=0,ze={};function assertNotInfinite(i){invariant(i!==1/0,"Cannot perform this action with an infinite size.")}function Map(i){return null==i?emptyMap():isMap(i)&&!isOrdered(i)?i:emptyMap().withMutations((function(s){var u=KeyedIterable(i);assertNotInfinite(u.size),u.forEach((function(i,u){return s.set(u,i)}))}))}function isMap(i){return!(!i||!i[We])}createClass(Map,KeyedCollection),Map.of=function(){var s=i.call(arguments,0);return emptyMap().withMutations((function(i){for(var u=0;u=s.length)throw new Error("Missing value for key: "+s[u]);i.set(s[u],s[u+1])}}))},Map.prototype.toString=function(){return this.__toString("Map {","}")},Map.prototype.get=function(i,s){return this._root?this._root.get(0,void 0,i,s):s},Map.prototype.set=function(i,s){return updateMap(this,i,s)},Map.prototype.setIn=function(i,s){return this.updateIn(i,W,(function(){return s}))},Map.prototype.remove=function(i){return updateMap(this,i,W)},Map.prototype.deleteIn=function(i){return this.updateIn(i,(function(){return W}))},Map.prototype.update=function(i,s,u){return 1===arguments.length?i(this):this.updateIn([i],s,u)},Map.prototype.updateIn=function(i,s,u){u||(u=s,s=void 0);var m=updateInDeepMap(this,forceIterator(i),s,u);return m===W?void 0:m},Map.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._root=null,this.__hash=void 0,this.__altered=!0,this):emptyMap()},Map.prototype.merge=function(){return mergeIntoMapWith(this,void 0,arguments)},Map.prototype.mergeWith=function(s){return mergeIntoMapWith(this,s,i.call(arguments,1))},Map.prototype.mergeIn=function(s){var u=i.call(arguments,1);return this.updateIn(s,emptyMap(),(function(i){return"function"==typeof i.merge?i.merge.apply(i,u):u[u.length-1]}))},Map.prototype.mergeDeep=function(){return mergeIntoMapWith(this,deepMerger,arguments)},Map.prototype.mergeDeepWith=function(s){var u=i.call(arguments,1);return mergeIntoMapWith(this,deepMergerWith(s),u)},Map.prototype.mergeDeepIn=function(s){var u=i.call(arguments,1);return this.updateIn(s,emptyMap(),(function(i){return"function"==typeof i.mergeDeep?i.mergeDeep.apply(i,u):u[u.length-1]}))},Map.prototype.sort=function(i){return OrderedMap(sortFactory(this,i))},Map.prototype.sortBy=function(i,s){return OrderedMap(sortFactory(this,s,i))},Map.prototype.withMutations=function(i){var s=this.asMutable();return i(s),s.wasAltered()?s.__ensureOwner(this.__ownerID):this},Map.prototype.asMutable=function(){return this.__ownerID?this:this.__ensureOwner(new OwnerID)},Map.prototype.asImmutable=function(){return this.__ensureOwner()},Map.prototype.wasAltered=function(){return this.__altered},Map.prototype.__iterator=function(i,s){return new MapIterator(this,i,s)},Map.prototype.__iterate=function(i,s){var u=this,m=0;return this._root&&this._root.iterate((function(s){return m++,i(s[1],s[0],u)}),s),m},Map.prototype.__ensureOwner=function(i){return i===this.__ownerID?this:i?makeMap(this.size,this._root,i,this.__hash):(this.__ownerID=i,this.__altered=!1,this)},Map.isMap=isMap;var Ve,We="@@__IMMUTABLE_MAP__@@",He=Map.prototype;function ArrayMapNode(i,s){this.ownerID=i,this.entries=s}function BitmapIndexedNode(i,s,u){this.ownerID=i,this.bitmap=s,this.nodes=u}function HashArrayMapNode(i,s,u){this.ownerID=i,this.count=s,this.nodes=u}function HashCollisionNode(i,s,u){this.ownerID=i,this.keyHash=s,this.entries=u}function ValueNode(i,s,u){this.ownerID=i,this.keyHash=s,this.entry=u}function MapIterator(i,s,u){this._type=s,this._reverse=u,this._stack=i._root&&mapIteratorFrame(i._root)}function mapIteratorValue(i,s){return iteratorValue(i,s[0],s[1])}function mapIteratorFrame(i,s){return{node:i,index:0,__prev:s}}function makeMap(i,s,u,m){var v=Object.create(He);return v.size=i,v._root=s,v.__ownerID=u,v.__hash=m,v.__altered=!1,v}function emptyMap(){return Ve||(Ve=makeMap(0))}function updateMap(i,s,u){var m,v;if(i._root){var _=MakeRef(X),j=MakeRef(Y);if(m=updateNode(i._root,i.__ownerID,0,void 0,s,u,_,j),!j.value)return i;v=i.size+(_.value?u===W?-1:1:0)}else{if(u===W)return i;v=1,m=new ArrayMapNode(i.__ownerID,[[s,u]])}return i.__ownerID?(i.size=v,i._root=m,i.__hash=void 0,i.__altered=!0,i):m?makeMap(v,m):emptyMap()}function updateNode(i,s,u,m,v,_,j,M){return i?i.update(s,u,m,v,_,j,M):_===W?i:(SetRef(M),SetRef(j),new ValueNode(s,m,[v,_]))}function isLeafNode(i){return i.constructor===ValueNode||i.constructor===HashCollisionNode}function mergeIntoNode(i,s,u,m,v){if(i.keyHash===m)return new HashCollisionNode(s,m,[i.entry,v]);var _,M=(0===u?i.keyHash:i.keyHash>>>u)&$,W=(0===u?m:m>>>u)&$;return new BitmapIndexedNode(s,1<>>=1)j[$]=1&u?s[_++]:void 0;return j[m]=v,new HashArrayMapNode(i,_+1,j)}function mergeIntoMapWith(i,s,u){for(var m=[],v=0;v>1&1431655765))+(i>>2&858993459))+(i>>4)&252645135,i+=i>>8,127&(i+=i>>16)}function setIn(i,s,u,m){var v=m?i:arrCopy(i);return v[s]=u,v}function spliceIn(i,s,u,m){var v=i.length+1;if(m&&s+1===v)return i[s]=u,i;for(var _=new Array(v),j=0,M=0;M=Xe)return createNodes(i,$,m,v);var ee=i&&i===this.ownerID,ie=ee?$:arrCopy($);return Z?M?X===Y-1?ie.pop():ie[X]=ie.pop():ie[X]=[m,v]:ie.push([m,v]),ee?(this.entries=ie,this):new ArrayMapNode(i,ie)}},BitmapIndexedNode.prototype.get=function(i,s,u,m){void 0===s&&(s=hash(u));var v=1<<((0===i?s:s>>>i)&$),_=this.bitmap;return 0==(_&v)?m:this.nodes[popCount(_&v-1)].get(i+j,s,u,m)},BitmapIndexedNode.prototype.update=function(i,s,u,m,v,_,M){void 0===u&&(u=hash(m));var X=(0===s?u:u>>>s)&$,Y=1<=Ye)return expandNodes(i,ae,Z,X,ce);if(ee&&!ce&&2===ae.length&&isLeafNode(ae[1^ie]))return ae[1^ie];if(ee&&ce&&1===ae.length&&isLeafNode(ce))return ce;var pe=i&&i===this.ownerID,de=ee?ce?Z:Z^Y:Z|Y,fe=ee?ce?setIn(ae,ie,ce,pe):spliceOut(ae,ie,pe):spliceIn(ae,ie,ce,pe);return pe?(this.bitmap=de,this.nodes=fe,this):new BitmapIndexedNode(i,de,fe)},HashArrayMapNode.prototype.get=function(i,s,u,m){void 0===s&&(s=hash(u));var v=(0===i?s:s>>>i)&$,_=this.nodes[v];return _?_.get(i+j,s,u,m):m},HashArrayMapNode.prototype.update=function(i,s,u,m,v,_,M){void 0===u&&(u=hash(m));var X=(0===s?u:u>>>s)&$,Y=v===W,Z=this.nodes,ee=Z[X];if(Y&&!ee)return this;var ie=updateNode(ee,i,s+j,u,m,v,_,M);if(ie===ee)return this;var ae=this.count;if(ee){if(!ie&&--ae0&&m=0&&i>>s&$;if(m>=this.array.length)return new VNode([],i);var v,_=0===m;if(s>0){var M=this.array[m];if((v=M&&M.removeBefore(i,s-j,u))===M&&_)return this}if(_&&!v)return this;var W=editableVNode(this,i);if(!_)for(var X=0;X>>s&$;if(v>=this.array.length)return this;if(s>0){var _=this.array[v];if((m=_&&_.removeAfter(i,s-j,u))===_&&v===this.array.length-1)return this}var M=editableVNode(this,i);return M.array.splice(v+1),m&&(M.array[v]=m),M};var rt,nt,ot={};function iterateList(i,s){var u=i._origin,m=i._capacity,v=getTailOffset(m),_=i._tail;return iterateNodeOrLeaf(i._root,i._level,0);function iterateNodeOrLeaf(i,s,u){return 0===s?iterateLeaf(i,u):iterateNode(i,s,u)}function iterateLeaf(i,j){var $=j===v?_&&_.array:i&&i.array,W=j>u?0:u-j,X=m-j;return X>M&&(X=M),function(){if(W===X)return ot;var i=s?--X:W++;return $&&$[i]}}function iterateNode(i,v,_){var $,W=i&&i.array,X=_>u?0:u-_>>v,Y=1+(m-_>>v);return Y>M&&(Y=M),function(){for(;;){if($){var i=$();if(i!==ot)return i;$=null}if(X===Y)return ot;var u=s?--Y:X++;$=iterateNodeOrLeaf(W&&W[u],v-j,_+(u<=i.size||s<0)return i.withMutations((function(i){s<0?setListBounds(i,s).set(0,u):setListBounds(i,0,s+1).set(s,u)}));s+=i._origin;var m=i._tail,v=i._root,_=MakeRef(Y);return s>=getTailOffset(i._capacity)?m=updateVNode(m,i.__ownerID,0,s,u,_):v=updateVNode(v,i.__ownerID,i._level,s,u,_),_.value?i.__ownerID?(i._root=v,i._tail=m,i.__hash=void 0,i.__altered=!0,i):makeList(i._origin,i._capacity,i._level,v,m):i}function updateVNode(i,s,u,m,v,_){var M,W=m>>>u&$,X=i&&W0){var Y=i&&i.array[W],Z=updateVNode(Y,s,u-j,m,v,_);return Z===Y?i:((M=editableVNode(i,s)).array[W]=Z,M)}return X&&i.array[W]===v?i:(SetRef(_),M=editableVNode(i,s),void 0===v&&W===M.array.length-1?M.array.pop():M.array[W]=v,M)}function editableVNode(i,s){return s&&i&&s===i.ownerID?i:new VNode(i?i.array.slice():[],s)}function listNodeFor(i,s){if(s>=getTailOffset(i._capacity))return i._tail;if(s<1<0;)u=u.array[s>>>m&$],m-=j;return u}}function setListBounds(i,s,u){void 0!==s&&(s|=0),void 0!==u&&(u|=0);var m=i.__ownerID||new OwnerID,v=i._origin,_=i._capacity,M=v+s,W=void 0===u?_:u<0?_+u:v+u;if(M===v&&W===_)return i;if(M>=W)return i.clear();for(var X=i._level,Y=i._root,Z=0;M+Z<0;)Y=new VNode(Y&&Y.array.length?[void 0,Y]:[],m),Z+=1<<(X+=j);Z&&(M+=Z,v+=Z,W+=Z,_+=Z);for(var ee=getTailOffset(_),ie=getTailOffset(W);ie>=1<ee?new VNode([],m):ae;if(ae&&ie>ee&&M<_&&ae.array.length){for(var ce=Y=editableVNode(Y,m),pe=X;pe>j;pe-=j){var de=ee>>>pe&$;ce=ce.array[de]=editableVNode(ce.array[de],m)}ce.array[ee>>>j&$]=ae}if(W<_&&(le=le&&le.removeAfter(m,0,W)),M>=ie)M-=ie,W-=ie,X=j,Y=null,le=le&&le.removeBefore(m,0,M);else if(M>v||ie>>X&$;if(fe!==ie>>>X&$)break;fe&&(Z+=(1<v&&(Y=Y.removeBefore(m,X,M-Z)),Y&&iev&&(v=M.size),isIterable(j)||(M=M.map((function(i){return fromJS(i)}))),m.push(M)}return v>i.size&&(i=i.setSize(v)),mergeIntoCollectionWith(i,s,m)}function getTailOffset(i){return i>>j<=M&&j.size>=2*_.size?(m=(v=j.filter((function(i,s){return void 0!==i&&$!==s}))).toKeyedSeq().map((function(i){return i[0]})).flip().toMap(),i.__ownerID&&(m.__ownerID=v.__ownerID=i.__ownerID)):(m=_.remove(s),v=$===j.size-1?j.pop():j.set($,void 0))}else if(X){if(u===j.get($)[1])return i;m=_,v=j.set($,[s,u])}else m=_.set(s,j.size),v=j.set(j.size,[s,u]);return i.__ownerID?(i.size=m.size,i._map=m,i._list=v,i.__hash=void 0,i):makeOrderedMap(m,v)}function ToKeyedSequence(i,s){this._iter=i,this._useKeys=s,this.size=i.size}function ToIndexedSequence(i){this._iter=i,this.size=i.size}function ToSetSequence(i){this._iter=i,this.size=i.size}function FromEntriesSequence(i){this._iter=i,this.size=i.size}function flipFactory(i){var s=makeSequence(i);return s._iter=i,s.size=i.size,s.flip=function(){return i},s.reverse=function(){var s=i.reverse.apply(this);return s.flip=function(){return i.reverse()},s},s.has=function(s){return i.includes(s)},s.includes=function(s){return i.has(s)},s.cacheResult=cacheResultThrough,s.__iterateUncached=function(s,u){var m=this;return i.__iterate((function(i,u){return!1!==s(u,i,m)}),u)},s.__iteratorUncached=function(s,u){if(s===ie){var m=i.__iterator(s,u);return new Iterator((function(){var i=m.next();if(!i.done){var s=i.value[0];i.value[0]=i.value[1],i.value[1]=s}return i}))}return i.__iterator(s===ee?Z:ee,u)},s}function mapFactory(i,s,u){var m=makeSequence(i);return m.size=i.size,m.has=function(s){return i.has(s)},m.get=function(m,v){var _=i.get(m,W);return _===W?v:s.call(u,_,m,i)},m.__iterateUncached=function(m,v){var _=this;return i.__iterate((function(i,v,j){return!1!==m(s.call(u,i,v,j),v,_)}),v)},m.__iteratorUncached=function(m,v){var _=i.__iterator(ie,v);return new Iterator((function(){var v=_.next();if(v.done)return v;var j=v.value,M=j[0];return iteratorValue(m,M,s.call(u,j[1],M,i),v)}))},m}function reverseFactory(i,s){var u=makeSequence(i);return u._iter=i,u.size=i.size,u.reverse=function(){return i},i.flip&&(u.flip=function(){var s=flipFactory(i);return s.reverse=function(){return i.flip()},s}),u.get=function(u,m){return i.get(s?u:-1-u,m)},u.has=function(u){return i.has(s?u:-1-u)},u.includes=function(s){return i.includes(s)},u.cacheResult=cacheResultThrough,u.__iterate=function(s,u){var m=this;return i.__iterate((function(i,u){return s(i,u,m)}),!u)},u.__iterator=function(s,u){return i.__iterator(s,!u)},u}function filterFactory(i,s,u,m){var v=makeSequence(i);return m&&(v.has=function(m){var v=i.get(m,W);return v!==W&&!!s.call(u,v,m,i)},v.get=function(m,v){var _=i.get(m,W);return _!==W&&s.call(u,_,m,i)?_:v}),v.__iterateUncached=function(v,_){var j=this,M=0;return i.__iterate((function(i,_,$){if(s.call(u,i,_,$))return M++,v(i,m?_:M-1,j)}),_),M},v.__iteratorUncached=function(v,_){var j=i.__iterator(ie,_),M=0;return new Iterator((function(){for(;;){var _=j.next();if(_.done)return _;var $=_.value,W=$[0],X=$[1];if(s.call(u,X,W,i))return iteratorValue(v,m?W:M++,X,_)}}))},v}function countByFactory(i,s,u){var m=Map().asMutable();return i.__iterate((function(v,_){m.update(s.call(u,v,_,i),0,(function(i){return i+1}))})),m.asImmutable()}function groupByFactory(i,s,u){var m=isKeyed(i),v=(isOrdered(i)?OrderedMap():Map()).asMutable();i.__iterate((function(_,j){v.update(s.call(u,_,j,i),(function(i){return(i=i||[]).push(m?[j,_]:_),i}))}));var _=iterableClass(i);return v.map((function(s){return reify(i,_(s))}))}function sliceFactory(i,s,u,m){var v=i.size;if(void 0!==s&&(s|=0),void 0!==u&&(u===1/0?u=v:u|=0),wholeSlice(s,u,v))return i;var _=resolveBegin(s,v),j=resolveEnd(u,v);if(_!=_||j!=j)return sliceFactory(i.toSeq().cacheResult(),s,u,m);var M,$=j-_;$==$&&(M=$<0?0:$);var W=makeSequence(i);return W.size=0===M?M:i.size&&M||void 0,!m&&isSeq(i)&&M>=0&&(W.get=function(s,u){return(s=wrapIndex(this,s))>=0&&sM)return iteratorDone();var i=v.next();return m||s===ee?i:iteratorValue(s,$-1,s===Z?void 0:i.value[1],i)}))},W}function takeWhileFactory(i,s,u){var m=makeSequence(i);return m.__iterateUncached=function(m,v){var _=this;if(v)return this.cacheResult().__iterate(m,v);var j=0;return i.__iterate((function(i,v,M){return s.call(u,i,v,M)&&++j&&m(i,v,_)})),j},m.__iteratorUncached=function(m,v){var _=this;if(v)return this.cacheResult().__iterator(m,v);var j=i.__iterator(ie,v),M=!0;return new Iterator((function(){if(!M)return iteratorDone();var i=j.next();if(i.done)return i;var v=i.value,$=v[0],W=v[1];return s.call(u,W,$,_)?m===ie?i:iteratorValue(m,$,W,i):(M=!1,iteratorDone())}))},m}function skipWhileFactory(i,s,u,m){var v=makeSequence(i);return v.__iterateUncached=function(v,_){var j=this;if(_)return this.cacheResult().__iterate(v,_);var M=!0,$=0;return i.__iterate((function(i,_,W){if(!M||!(M=s.call(u,i,_,W)))return $++,v(i,m?_:$-1,j)})),$},v.__iteratorUncached=function(v,_){var j=this;if(_)return this.cacheResult().__iterator(v,_);var M=i.__iterator(ie,_),$=!0,W=0;return new Iterator((function(){var i,_,X;do{if((i=M.next()).done)return m||v===ee?i:iteratorValue(v,W++,v===Z?void 0:i.value[1],i);var Y=i.value;_=Y[0],X=Y[1],$&&($=s.call(u,X,_,j))}while($);return v===ie?i:iteratorValue(v,_,X,i)}))},v}function concatFactory(i,s){var u=isKeyed(i),m=[i].concat(s).map((function(i){return isIterable(i)?u&&(i=KeyedIterable(i)):i=u?keyedSeqFromValue(i):indexedSeqFromValue(Array.isArray(i)?i:[i]),i})).filter((function(i){return 0!==i.size}));if(0===m.length)return i;if(1===m.length){var v=m[0];if(v===i||u&&isKeyed(v)||isIndexed(i)&&isIndexed(v))return v}var _=new ArraySeq(m);return u?_=_.toKeyedSeq():isIndexed(i)||(_=_.toSetSeq()),(_=_.flatten(!0)).size=m.reduce((function(i,s){if(void 0!==i){var u=s.size;if(void 0!==u)return i+u}}),0),_}function flattenFactory(i,s,u){var m=makeSequence(i);return m.__iterateUncached=function(m,v){var _=0,j=!1;function flatDeep(i,M){var $=this;i.__iterate((function(i,v){return(!s||M0}function zipWithFactory(i,s,u){var m=makeSequence(i);return m.size=new ArraySeq(u).map((function(i){return i.size})).min(),m.__iterate=function(i,s){for(var u,m=this.__iterator(ee,s),v=0;!(u=m.next()).done&&!1!==i(u.value,v++,this););return v},m.__iteratorUncached=function(i,m){var v=u.map((function(i){return i=Iterable(i),getIterator(m?i.reverse():i)})),_=0,j=!1;return new Iterator((function(){var u;return j||(u=v.map((function(i){return i.next()})),j=u.some((function(i){return i.done}))),j?iteratorDone():iteratorValue(i,_++,s.apply(null,u.map((function(i){return i.value}))))}))},m}function reify(i,s){return isSeq(i)?s:i.constructor(s)}function validateEntry(i){if(i!==Object(i))throw new TypeError("Expected [K, V] tuple: "+i)}function resolveSize(i){return assertNotInfinite(i.size),ensureSize(i)}function iterableClass(i){return isKeyed(i)?KeyedIterable:isIndexed(i)?IndexedIterable:SetIterable}function makeSequence(i){return Object.create((isKeyed(i)?KeyedSeq:isIndexed(i)?IndexedSeq:SetSeq).prototype)}function cacheResultThrough(){return this._iter.cacheResult?(this._iter.cacheResult(),this.size=this._iter.size,this):Seq.prototype.cacheResult.call(this)}function defaultComparator(i,s){return i>s?1:i=0;u--)s={value:arguments[u],next:s};return this.__ownerID?(this.size=i,this._head=s,this.__hash=void 0,this.__altered=!0,this):makeStack(i,s)},Stack.prototype.pushAll=function(i){if(0===(i=IndexedIterable(i)).size)return this;assertNotInfinite(i.size);var s=this.size,u=this._head;return i.reverse().forEach((function(i){s++,u={value:i,next:u}})),this.__ownerID?(this.size=s,this._head=u,this.__hash=void 0,this.__altered=!0,this):makeStack(s,u)},Stack.prototype.pop=function(){return this.slice(1)},Stack.prototype.unshift=function(){return this.push.apply(this,arguments)},Stack.prototype.unshiftAll=function(i){return this.pushAll(i)},Stack.prototype.shift=function(){return this.pop.apply(this,arguments)},Stack.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._head=void 0,this.__hash=void 0,this.__altered=!0,this):emptyStack()},Stack.prototype.slice=function(i,s){if(wholeSlice(i,s,this.size))return this;var u=resolveBegin(i,this.size);if(resolveEnd(s,this.size)!==this.size)return IndexedCollection.prototype.slice.call(this,i,s);for(var m=this.size-u,v=this._head;u--;)v=v.next;return this.__ownerID?(this.size=m,this._head=v,this.__hash=void 0,this.__altered=!0,this):makeStack(m,v)},Stack.prototype.__ensureOwner=function(i){return i===this.__ownerID?this:i?makeStack(this.size,this._head,i,this.__hash):(this.__ownerID=i,this.__altered=!1,this)},Stack.prototype.__iterate=function(i,s){if(s)return this.reverse().__iterate(i);for(var u=0,m=this._head;m&&!1!==i(m.value,u++,this);)m=m.next;return u},Stack.prototype.__iterator=function(i,s){if(s)return this.reverse().__iterator(i);var u=0,m=this._head;return new Iterator((function(){if(m){var s=m.value;return m=m.next,iteratorValue(i,u++,s)}return iteratorDone()}))},Stack.isStack=isStack;var pt,ht="@@__IMMUTABLE_STACK__@@",dt=Stack.prototype;function makeStack(i,s,u,m){var v=Object.create(dt);return v.size=i,v._head=s,v.__ownerID=u,v.__hash=m,v.__altered=!1,v}function emptyStack(){return pt||(pt=makeStack(0))}function mixin(i,s){var keyCopier=function(u){i.prototype[u]=s[u]};return Object.keys(s).forEach(keyCopier),Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(s).forEach(keyCopier),i}dt[ht]=!0,dt.withMutations=He.withMutations,dt.asMutable=He.asMutable,dt.asImmutable=He.asImmutable,dt.wasAltered=He.wasAltered,Iterable.Iterator=Iterator,mixin(Iterable,{toArray:function(){assertNotInfinite(this.size);var i=new Array(this.size||0);return this.valueSeq().__iterate((function(s,u){i[u]=s})),i},toIndexedSeq:function(){return new ToIndexedSequence(this)},toJS:function(){return this.toSeq().map((function(i){return i&&"function"==typeof i.toJS?i.toJS():i})).__toJS()},toJSON:function(){return this.toSeq().map((function(i){return i&&"function"==typeof i.toJSON?i.toJSON():i})).__toJS()},toKeyedSeq:function(){return new ToKeyedSequence(this,!0)},toMap:function(){return Map(this.toKeyedSeq())},toObject:function(){assertNotInfinite(this.size);var i={};return this.__iterate((function(s,u){i[u]=s})),i},toOrderedMap:function(){return OrderedMap(this.toKeyedSeq())},toOrderedSet:function(){return OrderedSet(isKeyed(this)?this.valueSeq():this)},toSet:function(){return Set(isKeyed(this)?this.valueSeq():this)},toSetSeq:function(){return new ToSetSequence(this)},toSeq:function(){return isIndexed(this)?this.toIndexedSeq():isKeyed(this)?this.toKeyedSeq():this.toSetSeq()},toStack:function(){return Stack(isKeyed(this)?this.valueSeq():this)},toList:function(){return List(isKeyed(this)?this.valueSeq():this)},toString:function(){return"[Iterable]"},__toString:function(i,s){return 0===this.size?i+s:i+" "+this.toSeq().map(this.__toStringMapper).join(", ")+" "+s},concat:function(){return reify(this,concatFactory(this,i.call(arguments,0)))},includes:function(i){return this.some((function(s){return is(s,i)}))},entries:function(){return this.__iterator(ie)},every:function(i,s){assertNotInfinite(this.size);var u=!0;return this.__iterate((function(m,v,_){if(!i.call(s,m,v,_))return u=!1,!1})),u},filter:function(i,s){return reify(this,filterFactory(this,i,s,!0))},find:function(i,s,u){var m=this.findEntry(i,s);return m?m[1]:u},forEach:function(i,s){return assertNotInfinite(this.size),this.__iterate(s?i.bind(s):i)},join:function(i){assertNotInfinite(this.size),i=void 0!==i?""+i:",";var s="",u=!0;return this.__iterate((function(m){u?u=!1:s+=i,s+=null!=m?m.toString():""})),s},keys:function(){return this.__iterator(Z)},map:function(i,s){return reify(this,mapFactory(this,i,s))},reduce:function(i,s,u){var m,v;return assertNotInfinite(this.size),arguments.length<2?v=!0:m=s,this.__iterate((function(s,_,j){v?(v=!1,m=s):m=i.call(u,m,s,_,j)})),m},reduceRight:function(i,s,u){var m=this.toKeyedSeq().reverse();return m.reduce.apply(m,arguments)},reverse:function(){return reify(this,reverseFactory(this,!0))},slice:function(i,s){return reify(this,sliceFactory(this,i,s,!0))},some:function(i,s){return!this.every(not(i),s)},sort:function(i){return reify(this,sortFactory(this,i))},values:function(){return this.__iterator(ee)},butLast:function(){return this.slice(0,-1)},isEmpty:function(){return void 0!==this.size?0===this.size:!this.some((function(){return!0}))},count:function(i,s){return ensureSize(i?this.toSeq().filter(i,s):this)},countBy:function(i,s){return countByFactory(this,i,s)},equals:function(i){return deepEqual(this,i)},entrySeq:function(){var i=this;if(i._cache)return new ArraySeq(i._cache);var s=i.toSeq().map(entryMapper).toIndexedSeq();return s.fromEntrySeq=function(){return i.toSeq()},s},filterNot:function(i,s){return this.filter(not(i),s)},findEntry:function(i,s,u){var m=u;return this.__iterate((function(u,v,_){if(i.call(s,u,v,_))return m=[v,u],!1})),m},findKey:function(i,s){var u=this.findEntry(i,s);return u&&u[0]},findLast:function(i,s,u){return this.toKeyedSeq().reverse().find(i,s,u)},findLastEntry:function(i,s,u){return this.toKeyedSeq().reverse().findEntry(i,s,u)},findLastKey:function(i,s){return this.toKeyedSeq().reverse().findKey(i,s)},first:function(){return this.find(returnTrue)},flatMap:function(i,s){return reify(this,flatMapFactory(this,i,s))},flatten:function(i){return reify(this,flattenFactory(this,i,!0))},fromEntrySeq:function(){return new FromEntriesSequence(this)},get:function(i,s){return this.find((function(s,u){return is(u,i)}),void 0,s)},getIn:function(i,s){for(var u,m=this,v=forceIterator(i);!(u=v.next()).done;){var _=u.value;if((m=m&&m.get?m.get(_,W):W)===W)return s}return m},groupBy:function(i,s){return groupByFactory(this,i,s)},has:function(i){return this.get(i,W)!==W},hasIn:function(i){return this.getIn(i,W)!==W},isSubset:function(i){return i="function"==typeof i.includes?i:Iterable(i),this.every((function(s){return i.includes(s)}))},isSuperset:function(i){return(i="function"==typeof i.isSubset?i:Iterable(i)).isSubset(this)},keyOf:function(i){return this.findKey((function(s){return is(s,i)}))},keySeq:function(){return this.toSeq().map(keyMapper).toIndexedSeq()},last:function(){return this.toSeq().reverse().first()},lastKeyOf:function(i){return this.toKeyedSeq().reverse().keyOf(i)},max:function(i){return maxFactory(this,i)},maxBy:function(i,s){return maxFactory(this,s,i)},min:function(i){return maxFactory(this,i?neg(i):defaultNegComparator)},minBy:function(i,s){return maxFactory(this,s?neg(s):defaultNegComparator,i)},rest:function(){return this.slice(1)},skip:function(i){return this.slice(Math.max(0,i))},skipLast:function(i){return reify(this,this.toSeq().reverse().skip(i).reverse())},skipWhile:function(i,s){return reify(this,skipWhileFactory(this,i,s,!0))},skipUntil:function(i,s){return this.skipWhile(not(i),s)},sortBy:function(i,s){return reify(this,sortFactory(this,s,i))},take:function(i){return this.slice(0,Math.max(0,i))},takeLast:function(i){return reify(this,this.toSeq().reverse().take(i).reverse())},takeWhile:function(i,s){return reify(this,takeWhileFactory(this,i,s))},takeUntil:function(i,s){return this.takeWhile(not(i),s)},valueSeq:function(){return this.toIndexedSeq()},hashCode:function(){return this.__hash||(this.__hash=hashIterable(this))}});var mt=Iterable.prototype;mt[s]=!0,mt[ce]=mt.values,mt.__toJS=mt.toArray,mt.__toStringMapper=quoteString,mt.inspect=mt.toSource=function(){return this.toString()},mt.chain=mt.flatMap,mt.contains=mt.includes,mixin(KeyedIterable,{flip:function(){return reify(this,flipFactory(this))},mapEntries:function(i,s){var u=this,m=0;return reify(this,this.toSeq().map((function(v,_){return i.call(s,[_,v],m++,u)})).fromEntrySeq())},mapKeys:function(i,s){var u=this;return reify(this,this.toSeq().flip().map((function(m,v){return i.call(s,m,v,u)})).flip())}});var gt=KeyedIterable.prototype;function keyMapper(i,s){return s}function entryMapper(i,s){return[s,i]}function not(i){return function(){return!i.apply(this,arguments)}}function neg(i){return function(){return-i.apply(this,arguments)}}function quoteString(i){return"string"==typeof i?JSON.stringify(i):String(i)}function defaultZipper(){return arrCopy(arguments)}function defaultNegComparator(i,s){return is?-1:0}function hashIterable(i){if(i.size===1/0)return 0;var s=isOrdered(i),u=isKeyed(i),m=s?1:0;return murmurHashOfSize(i.__iterate(u?s?function(i,s){m=31*m+hashMerge(hash(i),hash(s))|0}:function(i,s){m=m+hashMerge(hash(i),hash(s))|0}:s?function(i){m=31*m+hash(i)|0}:function(i){m=m+hash(i)|0}),m)}function murmurHashOfSize(i,s){return s=be(s,3432918353),s=be(s<<15|s>>>-15,461845907),s=be(s<<13|s>>>-13,5),s=be((s=(s+3864292196|0)^i)^s>>>16,2246822507),s=smi((s=be(s^s>>>13,3266489909))^s>>>16)}function hashMerge(i,s){return i^s+2654435769+(i<<6)+(i>>2)|0}return gt[u]=!0,gt[ce]=mt.entries,gt.__toJS=mt.toObject,gt.__toStringMapper=function(i,s){return JSON.stringify(s)+": "+quoteString(i)},mixin(IndexedIterable,{toKeyedSeq:function(){return new ToKeyedSequence(this,!1)},filter:function(i,s){return reify(this,filterFactory(this,i,s,!1))},findIndex:function(i,s){var u=this.findEntry(i,s);return u?u[0]:-1},indexOf:function(i){var s=this.keyOf(i);return void 0===s?-1:s},lastIndexOf:function(i){var s=this.lastKeyOf(i);return void 0===s?-1:s},reverse:function(){return reify(this,reverseFactory(this,!1))},slice:function(i,s){return reify(this,sliceFactory(this,i,s,!1))},splice:function(i,s){var u=arguments.length;if(s=Math.max(0|s,0),0===u||2===u&&!s)return this;i=resolveBegin(i,i<0?this.count():this.size);var m=this.slice(0,i);return reify(this,1===u?m:m.concat(arrCopy(arguments,2),this.slice(i+s)))},findLastIndex:function(i,s){var u=this.findLastEntry(i,s);return u?u[0]:-1},first:function(){return this.get(0)},flatten:function(i){return reify(this,flattenFactory(this,i,!1))},get:function(i,s){return(i=wrapIndex(this,i))<0||this.size===1/0||void 0!==this.size&&i>this.size?s:this.find((function(s,u){return u===i}),void 0,s)},has:function(i){return(i=wrapIndex(this,i))>=0&&(void 0!==this.size?this.size===1/0||i{"function"==typeof Object.create?i.exports=function inherits(i,s){s&&(i.super_=s,i.prototype=Object.create(s.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}))}:i.exports=function inherits(i,s){if(s){i.super_=s;var TempCtor=function(){};TempCtor.prototype=s.prototype,i.prototype=new TempCtor,i.prototype.constructor=i}}},35823:i=>{i.exports=function(i,s,u,m){var v=new Blob(void 0!==m?[m,i]:[i],{type:u||"application/octet-stream"});if(void 0!==window.navigator.msSaveBlob)window.navigator.msSaveBlob(v,s);else{var _=window.URL&&window.URL.createObjectURL?window.URL.createObjectURL(v):window.webkitURL.createObjectURL(v),j=document.createElement("a");j.style.display="none",j.href=_,j.setAttribute("download",s),void 0===j.download&&j.setAttribute("target","_blank"),document.body.appendChild(j),j.click(),setTimeout((function(){document.body.removeChild(j),window.URL.revokeObjectURL(_)}),200)}}},91296:(i,s,u)=>{var m=NaN,v="[object Symbol]",_=/^\s+|\s+$/g,j=/^[-+]0x[0-9a-f]+$/i,M=/^0b[01]+$/i,$=/^0o[0-7]+$/i,W=parseInt,X="object"==typeof u.g&&u.g&&u.g.Object===Object&&u.g,Y="object"==typeof self&&self&&self.Object===Object&&self,Z=X||Y||Function("return this")(),ee=Object.prototype.toString,ie=Math.max,ae=Math.min,now=function(){return Z.Date.now()};function isObject(i){var s=typeof i;return!!i&&("object"==s||"function"==s)}function toNumber(i){if("number"==typeof i)return i;if(function isSymbol(i){return"symbol"==typeof i||function isObjectLike(i){return!!i&&"object"==typeof i}(i)&&ee.call(i)==v}(i))return m;if(isObject(i)){var s="function"==typeof i.valueOf?i.valueOf():i;i=isObject(s)?s+"":s}if("string"!=typeof i)return 0===i?i:+i;i=i.replace(_,"");var u=M.test(i);return u||$.test(i)?W(i.slice(2),u?2:8):j.test(i)?m:+i}i.exports=function debounce(i,s,u){var m,v,_,j,M,$,W=0,X=!1,Y=!1,Z=!0;if("function"!=typeof i)throw new TypeError("Expected a function");function invokeFunc(s){var u=m,_=v;return m=v=void 0,W=s,j=i.apply(_,u)}function shouldInvoke(i){var u=i-$;return void 0===$||u>=s||u<0||Y&&i-W>=_}function timerExpired(){var i=now();if(shouldInvoke(i))return trailingEdge(i);M=setTimeout(timerExpired,function remainingWait(i){var u=s-(i-$);return Y?ae(u,_-(i-W)):u}(i))}function trailingEdge(i){return M=void 0,Z&&m?invokeFunc(i):(m=v=void 0,j)}function debounced(){var i=now(),u=shouldInvoke(i);if(m=arguments,v=this,$=i,u){if(void 0===M)return function leadingEdge(i){return W=i,M=setTimeout(timerExpired,s),X?invokeFunc(i):j}($);if(Y)return M=setTimeout(timerExpired,s),invokeFunc($)}return void 0===M&&(M=setTimeout(timerExpired,s)),j}return s=toNumber(s)||0,isObject(u)&&(X=!!u.leading,_=(Y="maxWait"in u)?ie(toNumber(u.maxWait)||0,s):_,Z="trailing"in u?!!u.trailing:Z),debounced.cancel=function cancel(){void 0!==M&&clearTimeout(M),W=0,m=$=v=M=void 0},debounced.flush=function flush(){return void 0===M?j:trailingEdge(now())},debounced}},18552:(i,s,u)=>{var m=u(10852)(u(55639),"DataView");i.exports=m},1989:(i,s,u)=>{var m=u(51789),v=u(80401),_=u(57667),j=u(21327),M=u(81866);function Hash(i){var s=-1,u=null==i?0:i.length;for(this.clear();++s{var m=u(3118),v=u(9435);function LazyWrapper(i){this.__wrapped__=i,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=4294967295,this.__views__=[]}LazyWrapper.prototype=m(v.prototype),LazyWrapper.prototype.constructor=LazyWrapper,i.exports=LazyWrapper},38407:(i,s,u)=>{var m=u(27040),v=u(14125),_=u(82117),j=u(67518),M=u(54705);function ListCache(i){var s=-1,u=null==i?0:i.length;for(this.clear();++s{var m=u(3118),v=u(9435);function LodashWrapper(i,s){this.__wrapped__=i,this.__actions__=[],this.__chain__=!!s,this.__index__=0,this.__values__=void 0}LodashWrapper.prototype=m(v.prototype),LodashWrapper.prototype.constructor=LodashWrapper,i.exports=LodashWrapper},57071:(i,s,u)=>{var m=u(10852)(u(55639),"Map");i.exports=m},83369:(i,s,u)=>{var m=u(24785),v=u(11285),_=u(96e3),j=u(49916),M=u(95265);function MapCache(i){var s=-1,u=null==i?0:i.length;for(this.clear();++s{var m=u(10852)(u(55639),"Promise");i.exports=m},58525:(i,s,u)=>{var m=u(10852)(u(55639),"Set");i.exports=m},88668:(i,s,u)=>{var m=u(83369),v=u(90619),_=u(72385);function SetCache(i){var s=-1,u=null==i?0:i.length;for(this.__data__=new m;++s{var m=u(38407),v=u(37465),_=u(63779),j=u(67599),M=u(44758),$=u(34309);function Stack(i){var s=this.__data__=new m(i);this.size=s.size}Stack.prototype.clear=v,Stack.prototype.delete=_,Stack.prototype.get=j,Stack.prototype.has=M,Stack.prototype.set=$,i.exports=Stack},62705:(i,s,u)=>{var m=u(55639).Symbol;i.exports=m},11149:(i,s,u)=>{var m=u(55639).Uint8Array;i.exports=m},70577:(i,s,u)=>{var m=u(10852)(u(55639),"WeakMap");i.exports=m},96874:i=>{i.exports=function apply(i,s,u){switch(u.length){case 0:return i.call(s);case 1:return i.call(s,u[0]);case 2:return i.call(s,u[0],u[1]);case 3:return i.call(s,u[0],u[1],u[2])}return i.apply(s,u)}},77412:i=>{i.exports=function arrayEach(i,s){for(var u=-1,m=null==i?0:i.length;++u{i.exports=function arrayFilter(i,s){for(var u=-1,m=null==i?0:i.length,v=0,_=[];++u{var m=u(42118);i.exports=function arrayIncludes(i,s){return!!(null==i?0:i.length)&&m(i,s,0)>-1}},14636:(i,s,u)=>{var m=u(22545),v=u(35694),_=u(1469),j=u(44144),M=u(65776),$=u(36719),W=Object.prototype.hasOwnProperty;i.exports=function arrayLikeKeys(i,s){var u=_(i),X=!u&&v(i),Y=!u&&!X&&j(i),Z=!u&&!X&&!Y&&$(i),ee=u||X||Y||Z,ie=ee?m(i.length,String):[],ae=ie.length;for(var le in i)!s&&!W.call(i,le)||ee&&("length"==le||Y&&("offset"==le||"parent"==le)||Z&&("buffer"==le||"byteLength"==le||"byteOffset"==le)||M(le,ae))||ie.push(le);return ie}},29932:i=>{i.exports=function arrayMap(i,s){for(var u=-1,m=null==i?0:i.length,v=Array(m);++u{i.exports=function arrayPush(i,s){for(var u=-1,m=s.length,v=i.length;++u{i.exports=function arrayReduce(i,s,u,m){var v=-1,_=null==i?0:i.length;for(m&&_&&(u=i[++v]);++v<_;)u=s(u,i[v],v,i);return u}},82908:i=>{i.exports=function arraySome(i,s){for(var u=-1,m=null==i?0:i.length;++u{i.exports=function asciiToArray(i){return i.split("")}},49029:i=>{var s=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;i.exports=function asciiWords(i){return i.match(s)||[]}},86556:(i,s,u)=>{var m=u(89465),v=u(77813);i.exports=function assignMergeValue(i,s,u){(void 0!==u&&!v(i[s],u)||void 0===u&&!(s in i))&&m(i,s,u)}},34865:(i,s,u)=>{var m=u(89465),v=u(77813),_=Object.prototype.hasOwnProperty;i.exports=function assignValue(i,s,u){var j=i[s];_.call(i,s)&&v(j,u)&&(void 0!==u||s in i)||m(i,s,u)}},18470:(i,s,u)=>{var m=u(77813);i.exports=function assocIndexOf(i,s){for(var u=i.length;u--;)if(m(i[u][0],s))return u;return-1}},44037:(i,s,u)=>{var m=u(98363),v=u(3674);i.exports=function baseAssign(i,s){return i&&m(s,v(s),i)}},63886:(i,s,u)=>{var m=u(98363),v=u(81704);i.exports=function baseAssignIn(i,s){return i&&m(s,v(s),i)}},89465:(i,s,u)=>{var m=u(38777);i.exports=function baseAssignValue(i,s,u){"__proto__"==s&&m?m(i,s,{configurable:!0,enumerable:!0,value:u,writable:!0}):i[s]=u}},85990:(i,s,u)=>{var m=u(46384),v=u(77412),_=u(34865),j=u(44037),M=u(63886),$=u(64626),W=u(278),X=u(18805),Y=u(1911),Z=u(58234),ee=u(46904),ie=u(64160),ae=u(43824),le=u(29148),ce=u(38517),pe=u(1469),de=u(44144),fe=u(56688),ye=u(13218),be=u(72928),_e=u(3674),we=u(81704),Se="[object Arguments]",xe="[object Function]",Pe="[object Object]",Ie={};Ie[Se]=Ie["[object Array]"]=Ie["[object ArrayBuffer]"]=Ie["[object DataView]"]=Ie["[object Boolean]"]=Ie["[object Date]"]=Ie["[object Float32Array]"]=Ie["[object Float64Array]"]=Ie["[object Int8Array]"]=Ie["[object Int16Array]"]=Ie["[object Int32Array]"]=Ie["[object Map]"]=Ie["[object Number]"]=Ie[Pe]=Ie["[object RegExp]"]=Ie["[object Set]"]=Ie["[object String]"]=Ie["[object Symbol]"]=Ie["[object Uint8Array]"]=Ie["[object Uint8ClampedArray]"]=Ie["[object Uint16Array]"]=Ie["[object Uint32Array]"]=!0,Ie["[object Error]"]=Ie[xe]=Ie["[object WeakMap]"]=!1,i.exports=function baseClone(i,s,u,Te,Re,qe){var ze,Ve=1&s,We=2&s,He=4&s;if(u&&(ze=Re?u(i,Te,Re,qe):u(i)),void 0!==ze)return ze;if(!ye(i))return i;var Xe=pe(i);if(Xe){if(ze=ae(i),!Ve)return W(i,ze)}else{var Ye=ie(i),Qe=Ye==xe||"[object GeneratorFunction]"==Ye;if(de(i))return $(i,Ve);if(Ye==Pe||Ye==Se||Qe&&!Re){if(ze=We||Qe?{}:ce(i),!Ve)return We?Y(i,M(ze,i)):X(i,j(ze,i))}else{if(!Ie[Ye])return Re?i:{};ze=le(i,Ye,Ve)}}qe||(qe=new m);var et=qe.get(i);if(et)return et;qe.set(i,ze),be(i)?i.forEach((function(m){ze.add(baseClone(m,s,u,m,i,qe))})):fe(i)&&i.forEach((function(m,v){ze.set(v,baseClone(m,s,u,v,i,qe))}));var tt=Xe?void 0:(He?We?ee:Z:We?we:_e)(i);return v(tt||i,(function(m,v){tt&&(m=i[v=m]),_(ze,v,baseClone(m,s,u,v,i,qe))})),ze}},3118:(i,s,u)=>{var m=u(13218),v=Object.create,_=function(){function object(){}return function(i){if(!m(i))return{};if(v)return v(i);object.prototype=i;var s=new object;return object.prototype=void 0,s}}();i.exports=_},89881:(i,s,u)=>{var m=u(47816),v=u(99291)(m);i.exports=v},41848:i=>{i.exports=function baseFindIndex(i,s,u,m){for(var v=i.length,_=u+(m?1:-1);m?_--:++_{var m=u(62488),v=u(37285);i.exports=function baseFlatten(i,s,u,_,j){var M=-1,$=i.length;for(u||(u=v),j||(j=[]);++M<$;){var W=i[M];s>0&&u(W)?s>1?baseFlatten(W,s-1,u,_,j):m(j,W):_||(j[j.length]=W)}return j}},28483:(i,s,u)=>{var m=u(25063)();i.exports=m},47816:(i,s,u)=>{var m=u(28483),v=u(3674);i.exports=function baseForOwn(i,s){return i&&m(i,s,v)}},97786:(i,s,u)=>{var m=u(71811),v=u(40327);i.exports=function baseGet(i,s){for(var u=0,_=(s=m(s,i)).length;null!=i&&u<_;)i=i[v(s[u++])];return u&&u==_?i:void 0}},68866:(i,s,u)=>{var m=u(62488),v=u(1469);i.exports=function baseGetAllKeys(i,s,u){var _=s(i);return v(i)?_:m(_,u(i))}},44239:(i,s,u)=>{var m=u(62705),v=u(89607),_=u(2333),j=m?m.toStringTag:void 0;i.exports=function baseGetTag(i){return null==i?void 0===i?"[object Undefined]":"[object Null]":j&&j in Object(i)?v(i):_(i)}},13:i=>{i.exports=function baseHasIn(i,s){return null!=i&&s in Object(i)}},42118:(i,s,u)=>{var m=u(41848),v=u(62722),_=u(42351);i.exports=function baseIndexOf(i,s,u){return s==s?_(i,s,u):m(i,v,u)}},9454:(i,s,u)=>{var m=u(44239),v=u(37005);i.exports=function baseIsArguments(i){return v(i)&&"[object Arguments]"==m(i)}},90939:(i,s,u)=>{var m=u(2492),v=u(37005);i.exports=function baseIsEqual(i,s,u,_,j){return i===s||(null==i||null==s||!v(i)&&!v(s)?i!=i&&s!=s:m(i,s,u,_,baseIsEqual,j))}},2492:(i,s,u)=>{var m=u(46384),v=u(67114),_=u(18351),j=u(16096),M=u(64160),$=u(1469),W=u(44144),X=u(36719),Y="[object Arguments]",Z="[object Array]",ee="[object Object]",ie=Object.prototype.hasOwnProperty;i.exports=function baseIsEqualDeep(i,s,u,ae,le,ce){var pe=$(i),de=$(s),fe=pe?Z:M(i),ye=de?Z:M(s),be=(fe=fe==Y?ee:fe)==ee,_e=(ye=ye==Y?ee:ye)==ee,we=fe==ye;if(we&&W(i)){if(!W(s))return!1;pe=!0,be=!1}if(we&&!be)return ce||(ce=new m),pe||X(i)?v(i,s,u,ae,le,ce):_(i,s,fe,u,ae,le,ce);if(!(1&u)){var Se=be&&ie.call(i,"__wrapped__"),xe=_e&&ie.call(s,"__wrapped__");if(Se||xe){var Pe=Se?i.value():i,Ie=xe?s.value():s;return ce||(ce=new m),le(Pe,Ie,u,ae,ce)}}return!!we&&(ce||(ce=new m),j(i,s,u,ae,le,ce))}},25588:(i,s,u)=>{var m=u(64160),v=u(37005);i.exports=function baseIsMap(i){return v(i)&&"[object Map]"==m(i)}},2958:(i,s,u)=>{var m=u(46384),v=u(90939);i.exports=function baseIsMatch(i,s,u,_){var j=u.length,M=j,$=!_;if(null==i)return!M;for(i=Object(i);j--;){var W=u[j];if($&&W[2]?W[1]!==i[W[0]]:!(W[0]in i))return!1}for(;++j{i.exports=function baseIsNaN(i){return i!=i}},28458:(i,s,u)=>{var m=u(23560),v=u(15346),_=u(13218),j=u(80346),M=/^\[object .+?Constructor\]$/,$=Function.prototype,W=Object.prototype,X=$.toString,Y=W.hasOwnProperty,Z=RegExp("^"+X.call(Y).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");i.exports=function baseIsNative(i){return!(!_(i)||v(i))&&(m(i)?Z:M).test(j(i))}},29221:(i,s,u)=>{var m=u(64160),v=u(37005);i.exports=function baseIsSet(i){return v(i)&&"[object Set]"==m(i)}},38749:(i,s,u)=>{var m=u(44239),v=u(41780),_=u(37005),j={};j["[object Float32Array]"]=j["[object Float64Array]"]=j["[object Int8Array]"]=j["[object Int16Array]"]=j["[object Int32Array]"]=j["[object Uint8Array]"]=j["[object Uint8ClampedArray]"]=j["[object Uint16Array]"]=j["[object Uint32Array]"]=!0,j["[object Arguments]"]=j["[object Array]"]=j["[object ArrayBuffer]"]=j["[object Boolean]"]=j["[object DataView]"]=j["[object Date]"]=j["[object Error]"]=j["[object Function]"]=j["[object Map]"]=j["[object Number]"]=j["[object Object]"]=j["[object RegExp]"]=j["[object Set]"]=j["[object String]"]=j["[object WeakMap]"]=!1,i.exports=function baseIsTypedArray(i){return _(i)&&v(i.length)&&!!j[m(i)]}},67206:(i,s,u)=>{var m=u(91573),v=u(16432),_=u(6557),j=u(1469),M=u(39601);i.exports=function baseIteratee(i){return"function"==typeof i?i:null==i?_:"object"==typeof i?j(i)?v(i[0],i[1]):m(i):M(i)}},280:(i,s,u)=>{var m=u(25726),v=u(86916),_=Object.prototype.hasOwnProperty;i.exports=function baseKeys(i){if(!m(i))return v(i);var s=[];for(var u in Object(i))_.call(i,u)&&"constructor"!=u&&s.push(u);return s}},10313:(i,s,u)=>{var m=u(13218),v=u(25726),_=u(33498),j=Object.prototype.hasOwnProperty;i.exports=function baseKeysIn(i){if(!m(i))return _(i);var s=v(i),u=[];for(var M in i)("constructor"!=M||!s&&j.call(i,M))&&u.push(M);return u}},9435:i=>{i.exports=function baseLodash(){}},91573:(i,s,u)=>{var m=u(2958),v=u(1499),_=u(42634);i.exports=function baseMatches(i){var s=v(i);return 1==s.length&&s[0][2]?_(s[0][0],s[0][1]):function(u){return u===i||m(u,i,s)}}},16432:(i,s,u)=>{var m=u(90939),v=u(27361),_=u(79095),j=u(15403),M=u(89162),$=u(42634),W=u(40327);i.exports=function baseMatchesProperty(i,s){return j(i)&&M(s)?$(W(i),s):function(u){var j=v(u,i);return void 0===j&&j===s?_(u,i):m(s,j,3)}}},42980:(i,s,u)=>{var m=u(46384),v=u(86556),_=u(28483),j=u(59783),M=u(13218),$=u(81704),W=u(36390);i.exports=function baseMerge(i,s,u,X,Y){i!==s&&_(s,(function(_,$){if(Y||(Y=new m),M(_))j(i,s,$,u,baseMerge,X,Y);else{var Z=X?X(W(i,$),_,$+"",i,s,Y):void 0;void 0===Z&&(Z=_),v(i,$,Z)}}),$)}},59783:(i,s,u)=>{var m=u(86556),v=u(64626),_=u(77133),j=u(278),M=u(38517),$=u(35694),W=u(1469),X=u(29246),Y=u(44144),Z=u(23560),ee=u(13218),ie=u(68630),ae=u(36719),le=u(36390),ce=u(59881);i.exports=function baseMergeDeep(i,s,u,pe,de,fe,ye){var be=le(i,u),_e=le(s,u),we=ye.get(_e);if(we)m(i,u,we);else{var Se=fe?fe(be,_e,u+"",i,s,ye):void 0,xe=void 0===Se;if(xe){var Pe=W(_e),Ie=!Pe&&Y(_e),Te=!Pe&&!Ie&&ae(_e);Se=_e,Pe||Ie||Te?W(be)?Se=be:X(be)?Se=j(be):Ie?(xe=!1,Se=v(_e,!0)):Te?(xe=!1,Se=_(_e,!0)):Se=[]:ie(_e)||$(_e)?(Se=be,$(be)?Se=ce(be):ee(be)&&!Z(be)||(Se=M(_e))):xe=!1}xe&&(ye.set(_e,Se),de(Se,_e,pe,fe,ye),ye.delete(_e)),m(i,u,Se)}}},40371:i=>{i.exports=function baseProperty(i){return function(s){return null==s?void 0:s[i]}}},79152:(i,s,u)=>{var m=u(97786);i.exports=function basePropertyDeep(i){return function(s){return m(s,i)}}},18674:i=>{i.exports=function basePropertyOf(i){return function(s){return null==i?void 0:i[s]}}},10107:i=>{i.exports=function baseReduce(i,s,u,m,v){return v(i,(function(i,v,_){u=m?(m=!1,i):s(u,i,v,_)})),u}},5976:(i,s,u)=>{var m=u(6557),v=u(45357),_=u(30061);i.exports=function baseRest(i,s){return _(v(i,s,m),i+"")}},10611:(i,s,u)=>{var m=u(34865),v=u(71811),_=u(65776),j=u(13218),M=u(40327);i.exports=function baseSet(i,s,u,$){if(!j(i))return i;for(var W=-1,X=(s=v(s,i)).length,Y=X-1,Z=i;null!=Z&&++W{var m=u(6557),v=u(89250),_=v?function(i,s){return v.set(i,s),i}:m;i.exports=_},56560:(i,s,u)=>{var m=u(75703),v=u(38777),_=u(6557),j=v?function(i,s){return v(i,"toString",{configurable:!0,enumerable:!1,value:m(s),writable:!0})}:_;i.exports=j},14259:i=>{i.exports=function baseSlice(i,s,u){var m=-1,v=i.length;s<0&&(s=-s>v?0:v+s),(u=u>v?v:u)<0&&(u+=v),v=s>u?0:u-s>>>0,s>>>=0;for(var _=Array(v);++m{var m=u(89881);i.exports=function baseSome(i,s){var u;return m(i,(function(i,m,v){return!(u=s(i,m,v))})),!!u}},22545:i=>{i.exports=function baseTimes(i,s){for(var u=-1,m=Array(i);++u{var m=u(62705),v=u(29932),_=u(1469),j=u(33448),M=m?m.prototype:void 0,$=M?M.toString:void 0;i.exports=function baseToString(i){if("string"==typeof i)return i;if(_(i))return v(i,baseToString)+"";if(j(i))return $?$.call(i):"";var s=i+"";return"0"==s&&1/i==-Infinity?"-0":s}},27561:(i,s,u)=>{var m=u(67990),v=/^\s+/;i.exports=function baseTrim(i){return i?i.slice(0,m(i)+1).replace(v,""):i}},7518:i=>{i.exports=function baseUnary(i){return function(s){return i(s)}}},57406:(i,s,u)=>{var m=u(71811),v=u(10928),_=u(40292),j=u(40327);i.exports=function baseUnset(i,s){return s=m(s,i),null==(i=_(i,s))||delete i[j(v(s))]}},1757:i=>{i.exports=function baseZipObject(i,s,u){for(var m=-1,v=i.length,_=s.length,j={};++m{i.exports=function cacheHas(i,s){return i.has(s)}},71811:(i,s,u)=>{var m=u(1469),v=u(15403),_=u(55514),j=u(79833);i.exports=function castPath(i,s){return m(i)?i:v(i,s)?[i]:_(j(i))}},40180:(i,s,u)=>{var m=u(14259);i.exports=function castSlice(i,s,u){var v=i.length;return u=void 0===u?v:u,!s&&u>=v?i:m(i,s,u)}},74318:(i,s,u)=>{var m=u(11149);i.exports=function cloneArrayBuffer(i){var s=new i.constructor(i.byteLength);return new m(s).set(new m(i)),s}},64626:(i,s,u)=>{i=u.nmd(i);var m=u(55639),v=s&&!s.nodeType&&s,_=v&&i&&!i.nodeType&&i,j=_&&_.exports===v?m.Buffer:void 0,M=j?j.allocUnsafe:void 0;i.exports=function cloneBuffer(i,s){if(s)return i.slice();var u=i.length,m=M?M(u):new i.constructor(u);return i.copy(m),m}},57157:(i,s,u)=>{var m=u(74318);i.exports=function cloneDataView(i,s){var u=s?m(i.buffer):i.buffer;return new i.constructor(u,i.byteOffset,i.byteLength)}},93147:i=>{var s=/\w*$/;i.exports=function cloneRegExp(i){var u=new i.constructor(i.source,s.exec(i));return u.lastIndex=i.lastIndex,u}},40419:(i,s,u)=>{var m=u(62705),v=m?m.prototype:void 0,_=v?v.valueOf:void 0;i.exports=function cloneSymbol(i){return _?Object(_.call(i)):{}}},77133:(i,s,u)=>{var m=u(74318);i.exports=function cloneTypedArray(i,s){var u=s?m(i.buffer):i.buffer;return new i.constructor(u,i.byteOffset,i.length)}},52157:i=>{var s=Math.max;i.exports=function composeArgs(i,u,m,v){for(var _=-1,j=i.length,M=m.length,$=-1,W=u.length,X=s(j-M,0),Y=Array(W+X),Z=!v;++${var s=Math.max;i.exports=function composeArgsRight(i,u,m,v){for(var _=-1,j=i.length,M=-1,$=m.length,W=-1,X=u.length,Y=s(j-$,0),Z=Array(Y+X),ee=!v;++_{i.exports=function copyArray(i,s){var u=-1,m=i.length;for(s||(s=Array(m));++u{var m=u(34865),v=u(89465);i.exports=function copyObject(i,s,u,_){var j=!u;u||(u={});for(var M=-1,$=s.length;++M<$;){var W=s[M],X=_?_(u[W],i[W],W,u,i):void 0;void 0===X&&(X=i[W]),j?v(u,W,X):m(u,W,X)}return u}},18805:(i,s,u)=>{var m=u(98363),v=u(99551);i.exports=function copySymbols(i,s){return m(i,v(i),s)}},1911:(i,s,u)=>{var m=u(98363),v=u(51442);i.exports=function copySymbolsIn(i,s){return m(i,v(i),s)}},14429:(i,s,u)=>{var m=u(55639)["__core-js_shared__"];i.exports=m},97991:i=>{i.exports=function countHolders(i,s){for(var u=i.length,m=0;u--;)i[u]===s&&++m;return m}},21463:(i,s,u)=>{var m=u(5976),v=u(16612);i.exports=function createAssigner(i){return m((function(s,u){var m=-1,_=u.length,j=_>1?u[_-1]:void 0,M=_>2?u[2]:void 0;for(j=i.length>3&&"function"==typeof j?(_--,j):void 0,M&&v(u[0],u[1],M)&&(j=_<3?void 0:j,_=1),s=Object(s);++m<_;){var $=u[m];$&&i(s,$,m,j)}return s}))}},99291:(i,s,u)=>{var m=u(98612);i.exports=function createBaseEach(i,s){return function(u,v){if(null==u)return u;if(!m(u))return i(u,v);for(var _=u.length,j=s?_:-1,M=Object(u);(s?j--:++j<_)&&!1!==v(M[j],j,M););return u}}},25063:i=>{i.exports=function createBaseFor(i){return function(s,u,m){for(var v=-1,_=Object(s),j=m(s),M=j.length;M--;){var $=j[i?M:++v];if(!1===u(_[$],$,_))break}return s}}},22402:(i,s,u)=>{var m=u(71774),v=u(55639);i.exports=function createBind(i,s,u){var _=1&s,j=m(i);return function wrapper(){return(this&&this!==v&&this instanceof wrapper?j:i).apply(_?u:this,arguments)}}},98805:(i,s,u)=>{var m=u(40180),v=u(62689),_=u(83140),j=u(79833);i.exports=function createCaseFirst(i){return function(s){s=j(s);var u=v(s)?_(s):void 0,M=u?u[0]:s.charAt(0),$=u?m(u,1).join(""):s.slice(1);return M[i]()+$}}},35393:(i,s,u)=>{var m=u(62663),v=u(53816),_=u(58748),j=RegExp("['’]","g");i.exports=function createCompounder(i){return function(s){return m(_(v(s).replace(j,"")),i,"")}}},71774:(i,s,u)=>{var m=u(3118),v=u(13218);i.exports=function createCtor(i){return function(){var s=arguments;switch(s.length){case 0:return new i;case 1:return new i(s[0]);case 2:return new i(s[0],s[1]);case 3:return new i(s[0],s[1],s[2]);case 4:return new i(s[0],s[1],s[2],s[3]);case 5:return new i(s[0],s[1],s[2],s[3],s[4]);case 6:return new i(s[0],s[1],s[2],s[3],s[4],s[5]);case 7:return new i(s[0],s[1],s[2],s[3],s[4],s[5],s[6])}var u=m(i.prototype),_=i.apply(u,s);return v(_)?_:u}}},46347:(i,s,u)=>{var m=u(96874),v=u(71774),_=u(86935),j=u(94487),M=u(20893),$=u(46460),W=u(55639);i.exports=function createCurry(i,s,u){var X=v(i);return function wrapper(){for(var v=arguments.length,Y=Array(v),Z=v,ee=M(wrapper);Z--;)Y[Z]=arguments[Z];var ie=v<3&&Y[0]!==ee&&Y[v-1]!==ee?[]:$(Y,ee);return(v-=ie.length){var m=u(67206),v=u(98612),_=u(3674);i.exports=function createFind(i){return function(s,u,j){var M=Object(s);if(!v(s)){var $=m(u,3);s=_(s),u=function(i){return $(M[i],i,M)}}var W=i(s,u,j);return W>-1?M[$?s[W]:W]:void 0}}},86935:(i,s,u)=>{var m=u(52157),v=u(14054),_=u(97991),j=u(71774),M=u(94487),$=u(20893),W=u(90451),X=u(46460),Y=u(55639);i.exports=function createHybrid(i,s,u,Z,ee,ie,ae,le,ce,pe){var de=128&s,fe=1&s,ye=2&s,be=24&s,_e=512&s,we=ye?void 0:j(i);return function wrapper(){for(var Se=arguments.length,xe=Array(Se),Pe=Se;Pe--;)xe[Pe]=arguments[Pe];if(be)var Ie=$(wrapper),Te=_(xe,Ie);if(Z&&(xe=m(xe,Z,ee,be)),ie&&(xe=v(xe,ie,ae,be)),Se-=Te,be&&Se1&&xe.reverse(),de&&ce{var m=u(96874),v=u(71774),_=u(55639);i.exports=function createPartial(i,s,u,j){var M=1&s,$=v(i);return function wrapper(){for(var s=-1,v=arguments.length,W=-1,X=j.length,Y=Array(X+v),Z=this&&this!==_&&this instanceof wrapper?$:i;++W{var m=u(86528),v=u(258),_=u(69255);i.exports=function createRecurry(i,s,u,j,M,$,W,X,Y,Z){var ee=8&s;s|=ee?32:64,4&(s&=~(ee?64:32))||(s&=-4);var ie=[i,s,M,ee?$:void 0,ee?W:void 0,ee?void 0:$,ee?void 0:W,X,Y,Z],ae=u.apply(void 0,ie);return m(i)&&v(ae,ie),ae.placeholder=j,_(ae,i,s)}},97727:(i,s,u)=>{var m=u(28045),v=u(22402),_=u(46347),j=u(86935),M=u(84375),$=u(66833),W=u(63833),X=u(258),Y=u(69255),Z=u(40554),ee=Math.max;i.exports=function createWrap(i,s,u,ie,ae,le,ce,pe){var de=2&s;if(!de&&"function"!=typeof i)throw new TypeError("Expected a function");var fe=ie?ie.length:0;if(fe||(s&=-97,ie=ae=void 0),ce=void 0===ce?ce:ee(Z(ce),0),pe=void 0===pe?pe:Z(pe),fe-=ae?ae.length:0,64&s){var ye=ie,be=ae;ie=ae=void 0}var _e=de?void 0:$(i),we=[i,s,u,ie,ae,ye,be,le,ce,pe];if(_e&&W(we,_e),i=we[0],s=we[1],u=we[2],ie=we[3],ae=we[4],!(pe=we[9]=void 0===we[9]?de?0:i.length:ee(we[9]-fe,0))&&24&s&&(s&=-25),s&&1!=s)Se=8==s||16==s?_(i,s,pe):32!=s&&33!=s||ae.length?j.apply(void 0,we):M(i,s,u,ie);else var Se=v(i,s,u);return Y((_e?m:X)(Se,we),i,s)}},60696:(i,s,u)=>{var m=u(68630);i.exports=function customOmitClone(i){return m(i)?void 0:i}},69389:(i,s,u)=>{var m=u(18674)({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"});i.exports=m},38777:(i,s,u)=>{var m=u(10852),v=function(){try{var i=m(Object,"defineProperty");return i({},"",{}),i}catch(i){}}();i.exports=v},67114:(i,s,u)=>{var m=u(88668),v=u(82908),_=u(74757);i.exports=function equalArrays(i,s,u,j,M,$){var W=1&u,X=i.length,Y=s.length;if(X!=Y&&!(W&&Y>X))return!1;var Z=$.get(i),ee=$.get(s);if(Z&&ee)return Z==s&&ee==i;var ie=-1,ae=!0,le=2&u?new m:void 0;for($.set(i,s),$.set(s,i);++ie{var m=u(62705),v=u(11149),_=u(77813),j=u(67114),M=u(68776),$=u(21814),W=m?m.prototype:void 0,X=W?W.valueOf:void 0;i.exports=function equalByTag(i,s,u,m,W,Y,Z){switch(u){case"[object DataView]":if(i.byteLength!=s.byteLength||i.byteOffset!=s.byteOffset)return!1;i=i.buffer,s=s.buffer;case"[object ArrayBuffer]":return!(i.byteLength!=s.byteLength||!Y(new v(i),new v(s)));case"[object Boolean]":case"[object Date]":case"[object Number]":return _(+i,+s);case"[object Error]":return i.name==s.name&&i.message==s.message;case"[object RegExp]":case"[object String]":return i==s+"";case"[object Map]":var ee=M;case"[object Set]":var ie=1&m;if(ee||(ee=$),i.size!=s.size&&!ie)return!1;var ae=Z.get(i);if(ae)return ae==s;m|=2,Z.set(i,s);var le=j(ee(i),ee(s),m,W,Y,Z);return Z.delete(i),le;case"[object Symbol]":if(X)return X.call(i)==X.call(s)}return!1}},16096:(i,s,u)=>{var m=u(58234),v=Object.prototype.hasOwnProperty;i.exports=function equalObjects(i,s,u,_,j,M){var $=1&u,W=m(i),X=W.length;if(X!=m(s).length&&!$)return!1;for(var Y=X;Y--;){var Z=W[Y];if(!($?Z in s:v.call(s,Z)))return!1}var ee=M.get(i),ie=M.get(s);if(ee&&ie)return ee==s&&ie==i;var ae=!0;M.set(i,s),M.set(s,i);for(var le=$;++Y{var m=u(85564),v=u(45357),_=u(30061);i.exports=function flatRest(i){return _(v(i,void 0,m),i+"")}},31957:(i,s,u)=>{var m="object"==typeof u.g&&u.g&&u.g.Object===Object&&u.g;i.exports=m},58234:(i,s,u)=>{var m=u(68866),v=u(99551),_=u(3674);i.exports=function getAllKeys(i){return m(i,_,v)}},46904:(i,s,u)=>{var m=u(68866),v=u(51442),_=u(81704);i.exports=function getAllKeysIn(i){return m(i,_,v)}},66833:(i,s,u)=>{var m=u(89250),v=u(50308),_=m?function(i){return m.get(i)}:v;i.exports=_},97658:(i,s,u)=>{var m=u(52060),v=Object.prototype.hasOwnProperty;i.exports=function getFuncName(i){for(var s=i.name+"",u=m[s],_=v.call(m,s)?u.length:0;_--;){var j=u[_],M=j.func;if(null==M||M==i)return j.name}return s}},20893:i=>{i.exports=function getHolder(i){return i.placeholder}},45050:(i,s,u)=>{var m=u(37019);i.exports=function getMapData(i,s){var u=i.__data__;return m(s)?u["string"==typeof s?"string":"hash"]:u.map}},1499:(i,s,u)=>{var m=u(89162),v=u(3674);i.exports=function getMatchData(i){for(var s=v(i),u=s.length;u--;){var _=s[u],j=i[_];s[u]=[_,j,m(j)]}return s}},10852:(i,s,u)=>{var m=u(28458),v=u(47801);i.exports=function getNative(i,s){var u=v(i,s);return m(u)?u:void 0}},85924:(i,s,u)=>{var m=u(5569)(Object.getPrototypeOf,Object);i.exports=m},89607:(i,s,u)=>{var m=u(62705),v=Object.prototype,_=v.hasOwnProperty,j=v.toString,M=m?m.toStringTag:void 0;i.exports=function getRawTag(i){var s=_.call(i,M),u=i[M];try{i[M]=void 0;var m=!0}catch(i){}var v=j.call(i);return m&&(s?i[M]=u:delete i[M]),v}},99551:(i,s,u)=>{var m=u(34963),v=u(70479),_=Object.prototype.propertyIsEnumerable,j=Object.getOwnPropertySymbols,M=j?function(i){return null==i?[]:(i=Object(i),m(j(i),(function(s){return _.call(i,s)})))}:v;i.exports=M},51442:(i,s,u)=>{var m=u(62488),v=u(85924),_=u(99551),j=u(70479),M=Object.getOwnPropertySymbols?function(i){for(var s=[];i;)m(s,_(i)),i=v(i);return s}:j;i.exports=M},64160:(i,s,u)=>{var m=u(18552),v=u(57071),_=u(53818),j=u(58525),M=u(70577),$=u(44239),W=u(80346),X="[object Map]",Y="[object Promise]",Z="[object Set]",ee="[object WeakMap]",ie="[object DataView]",ae=W(m),le=W(v),ce=W(_),pe=W(j),de=W(M),fe=$;(m&&fe(new m(new ArrayBuffer(1)))!=ie||v&&fe(new v)!=X||_&&fe(_.resolve())!=Y||j&&fe(new j)!=Z||M&&fe(new M)!=ee)&&(fe=function(i){var s=$(i),u="[object Object]"==s?i.constructor:void 0,m=u?W(u):"";if(m)switch(m){case ae:return ie;case le:return X;case ce:return Y;case pe:return Z;case de:return ee}return s}),i.exports=fe},47801:i=>{i.exports=function getValue(i,s){return null==i?void 0:i[s]}},58775:i=>{var s=/\{\n\/\* \[wrapped with (.+)\] \*/,u=/,? & /;i.exports=function getWrapDetails(i){var m=i.match(s);return m?m[1].split(u):[]}},222:(i,s,u)=>{var m=u(71811),v=u(35694),_=u(1469),j=u(65776),M=u(41780),$=u(40327);i.exports=function hasPath(i,s,u){for(var W=-1,X=(s=m(s,i)).length,Y=!1;++W{var s=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");i.exports=function hasUnicode(i){return s.test(i)}},93157:i=>{var s=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;i.exports=function hasUnicodeWord(i){return s.test(i)}},51789:(i,s,u)=>{var m=u(94536);i.exports=function hashClear(){this.__data__=m?m(null):{},this.size=0}},80401:i=>{i.exports=function hashDelete(i){var s=this.has(i)&&delete this.__data__[i];return this.size-=s?1:0,s}},57667:(i,s,u)=>{var m=u(94536),v=Object.prototype.hasOwnProperty;i.exports=function hashGet(i){var s=this.__data__;if(m){var u=s[i];return"__lodash_hash_undefined__"===u?void 0:u}return v.call(s,i)?s[i]:void 0}},21327:(i,s,u)=>{var m=u(94536),v=Object.prototype.hasOwnProperty;i.exports=function hashHas(i){var s=this.__data__;return m?void 0!==s[i]:v.call(s,i)}},81866:(i,s,u)=>{var m=u(94536);i.exports=function hashSet(i,s){var u=this.__data__;return this.size+=this.has(i)?0:1,u[i]=m&&void 0===s?"__lodash_hash_undefined__":s,this}},43824:i=>{var s=Object.prototype.hasOwnProperty;i.exports=function initCloneArray(i){var u=i.length,m=new i.constructor(u);return u&&"string"==typeof i[0]&&s.call(i,"index")&&(m.index=i.index,m.input=i.input),m}},29148:(i,s,u)=>{var m=u(74318),v=u(57157),_=u(93147),j=u(40419),M=u(77133);i.exports=function initCloneByTag(i,s,u){var $=i.constructor;switch(s){case"[object ArrayBuffer]":return m(i);case"[object Boolean]":case"[object Date]":return new $(+i);case"[object DataView]":return v(i,u);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return M(i,u);case"[object Map]":case"[object Set]":return new $;case"[object Number]":case"[object String]":return new $(i);case"[object RegExp]":return _(i);case"[object Symbol]":return j(i)}}},38517:(i,s,u)=>{var m=u(3118),v=u(85924),_=u(25726);i.exports=function initCloneObject(i){return"function"!=typeof i.constructor||_(i)?{}:m(v(i))}},83112:i=>{var s=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/;i.exports=function insertWrapDetails(i,u){var m=u.length;if(!m)return i;var v=m-1;return u[v]=(m>1?"& ":"")+u[v],u=u.join(m>2?", ":" "),i.replace(s,"{\n/* [wrapped with "+u+"] */\n")}},37285:(i,s,u)=>{var m=u(62705),v=u(35694),_=u(1469),j=m?m.isConcatSpreadable:void 0;i.exports=function isFlattenable(i){return _(i)||v(i)||!!(j&&i&&i[j])}},65776:i=>{var s=/^(?:0|[1-9]\d*)$/;i.exports=function isIndex(i,u){var m=typeof i;return!!(u=null==u?9007199254740991:u)&&("number"==m||"symbol"!=m&&s.test(i))&&i>-1&&i%1==0&&i{var m=u(77813),v=u(98612),_=u(65776),j=u(13218);i.exports=function isIterateeCall(i,s,u){if(!j(u))return!1;var M=typeof s;return!!("number"==M?v(u)&&_(s,u.length):"string"==M&&s in u)&&m(u[s],i)}},15403:(i,s,u)=>{var m=u(1469),v=u(33448),_=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,j=/^\w*$/;i.exports=function isKey(i,s){if(m(i))return!1;var u=typeof i;return!("number"!=u&&"symbol"!=u&&"boolean"!=u&&null!=i&&!v(i))||(j.test(i)||!_.test(i)||null!=s&&i in Object(s))}},37019:i=>{i.exports=function isKeyable(i){var s=typeof i;return"string"==s||"number"==s||"symbol"==s||"boolean"==s?"__proto__"!==i:null===i}},86528:(i,s,u)=>{var m=u(96425),v=u(66833),_=u(97658),j=u(8111);i.exports=function isLaziable(i){var s=_(i),u=j[s];if("function"!=typeof u||!(s in m.prototype))return!1;if(i===u)return!0;var M=v(u);return!!M&&i===M[0]}},15346:(i,s,u)=>{var m,v=u(14429),_=(m=/[^.]+$/.exec(v&&v.keys&&v.keys.IE_PROTO||""))?"Symbol(src)_1."+m:"";i.exports=function isMasked(i){return!!_&&_ in i}},25726:i=>{var s=Object.prototype;i.exports=function isPrototype(i){var u=i&&i.constructor;return i===("function"==typeof u&&u.prototype||s)}},89162:(i,s,u)=>{var m=u(13218);i.exports=function isStrictComparable(i){return i==i&&!m(i)}},27040:i=>{i.exports=function listCacheClear(){this.__data__=[],this.size=0}},14125:(i,s,u)=>{var m=u(18470),v=Array.prototype.splice;i.exports=function listCacheDelete(i){var s=this.__data__,u=m(s,i);return!(u<0)&&(u==s.length-1?s.pop():v.call(s,u,1),--this.size,!0)}},82117:(i,s,u)=>{var m=u(18470);i.exports=function listCacheGet(i){var s=this.__data__,u=m(s,i);return u<0?void 0:s[u][1]}},67518:(i,s,u)=>{var m=u(18470);i.exports=function listCacheHas(i){return m(this.__data__,i)>-1}},54705:(i,s,u)=>{var m=u(18470);i.exports=function listCacheSet(i,s){var u=this.__data__,v=m(u,i);return v<0?(++this.size,u.push([i,s])):u[v][1]=s,this}},24785:(i,s,u)=>{var m=u(1989),v=u(38407),_=u(57071);i.exports=function mapCacheClear(){this.size=0,this.__data__={hash:new m,map:new(_||v),string:new m}}},11285:(i,s,u)=>{var m=u(45050);i.exports=function mapCacheDelete(i){var s=m(this,i).delete(i);return this.size-=s?1:0,s}},96e3:(i,s,u)=>{var m=u(45050);i.exports=function mapCacheGet(i){return m(this,i).get(i)}},49916:(i,s,u)=>{var m=u(45050);i.exports=function mapCacheHas(i){return m(this,i).has(i)}},95265:(i,s,u)=>{var m=u(45050);i.exports=function mapCacheSet(i,s){var u=m(this,i),v=u.size;return u.set(i,s),this.size+=u.size==v?0:1,this}},68776:i=>{i.exports=function mapToArray(i){var s=-1,u=Array(i.size);return i.forEach((function(i,m){u[++s]=[m,i]})),u}},42634:i=>{i.exports=function matchesStrictComparable(i,s){return function(u){return null!=u&&(u[i]===s&&(void 0!==s||i in Object(u)))}}},24523:(i,s,u)=>{var m=u(88306);i.exports=function memoizeCapped(i){var s=m(i,(function(i){return 500===u.size&&u.clear(),i})),u=s.cache;return s}},63833:(i,s,u)=>{var m=u(52157),v=u(14054),_=u(46460),j="__lodash_placeholder__",M=128,$=Math.min;i.exports=function mergeData(i,s){var u=i[1],W=s[1],X=u|W,Y=X<131,Z=W==M&&8==u||W==M&&256==u&&i[7].length<=s[8]||384==W&&s[7].length<=s[8]&&8==u;if(!Y&&!Z)return i;1&W&&(i[2]=s[2],X|=1&u?0:4);var ee=s[3];if(ee){var ie=i[3];i[3]=ie?m(ie,ee,s[4]):ee,i[4]=ie?_(i[3],j):s[4]}return(ee=s[5])&&(ie=i[5],i[5]=ie?v(ie,ee,s[6]):ee,i[6]=ie?_(i[5],j):s[6]),(ee=s[7])&&(i[7]=ee),W&M&&(i[8]=null==i[8]?s[8]:$(i[8],s[8])),null==i[9]&&(i[9]=s[9]),i[0]=s[0],i[1]=X,i}},89250:(i,s,u)=>{var m=u(70577),v=m&&new m;i.exports=v},94536:(i,s,u)=>{var m=u(10852)(Object,"create");i.exports=m},86916:(i,s,u)=>{var m=u(5569)(Object.keys,Object);i.exports=m},33498:i=>{i.exports=function nativeKeysIn(i){var s=[];if(null!=i)for(var u in Object(i))s.push(u);return s}},31167:(i,s,u)=>{i=u.nmd(i);var m=u(31957),v=s&&!s.nodeType&&s,_=v&&i&&!i.nodeType&&i,j=_&&_.exports===v&&m.process,M=function(){try{var i=_&&_.require&&_.require("util").types;return i||j&&j.binding&&j.binding("util")}catch(i){}}();i.exports=M},2333:i=>{var s=Object.prototype.toString;i.exports=function objectToString(i){return s.call(i)}},5569:i=>{i.exports=function overArg(i,s){return function(u){return i(s(u))}}},45357:(i,s,u)=>{var m=u(96874),v=Math.max;i.exports=function overRest(i,s,u){return s=v(void 0===s?i.length-1:s,0),function(){for(var _=arguments,j=-1,M=v(_.length-s,0),$=Array(M);++j{var m=u(97786),v=u(14259);i.exports=function parent(i,s){return s.length<2?i:m(i,v(s,0,-1))}},52060:i=>{i.exports={}},90451:(i,s,u)=>{var m=u(278),v=u(65776),_=Math.min;i.exports=function reorder(i,s){for(var u=i.length,j=_(s.length,u),M=m(i);j--;){var $=s[j];i[j]=v($,u)?M[$]:void 0}return i}},46460:i=>{var s="__lodash_placeholder__";i.exports=function replaceHolders(i,u){for(var m=-1,v=i.length,_=0,j=[];++m{var m=u(31957),v="object"==typeof self&&self&&self.Object===Object&&self,_=m||v||Function("return this")();i.exports=_},36390:i=>{i.exports=function safeGet(i,s){if(("constructor"!==s||"function"!=typeof i[s])&&"__proto__"!=s)return i[s]}},90619:i=>{i.exports=function setCacheAdd(i){return this.__data__.set(i,"__lodash_hash_undefined__"),this}},72385:i=>{i.exports=function setCacheHas(i){return this.__data__.has(i)}},258:(i,s,u)=>{var m=u(28045),v=u(21275)(m);i.exports=v},21814:i=>{i.exports=function setToArray(i){var s=-1,u=Array(i.size);return i.forEach((function(i){u[++s]=i})),u}},30061:(i,s,u)=>{var m=u(56560),v=u(21275)(m);i.exports=v},69255:(i,s,u)=>{var m=u(58775),v=u(83112),_=u(30061),j=u(87241);i.exports=function setWrapToString(i,s,u){var M=s+"";return _(i,v(M,j(m(M),u)))}},21275:i=>{var s=Date.now;i.exports=function shortOut(i){var u=0,m=0;return function(){var v=s(),_=16-(v-m);if(m=v,_>0){if(++u>=800)return arguments[0]}else u=0;return i.apply(void 0,arguments)}}},37465:(i,s,u)=>{var m=u(38407);i.exports=function stackClear(){this.__data__=new m,this.size=0}},63779:i=>{i.exports=function stackDelete(i){var s=this.__data__,u=s.delete(i);return this.size=s.size,u}},67599:i=>{i.exports=function stackGet(i){return this.__data__.get(i)}},44758:i=>{i.exports=function stackHas(i){return this.__data__.has(i)}},34309:(i,s,u)=>{var m=u(38407),v=u(57071),_=u(83369);i.exports=function stackSet(i,s){var u=this.__data__;if(u instanceof m){var j=u.__data__;if(!v||j.length<199)return j.push([i,s]),this.size=++u.size,this;u=this.__data__=new _(j)}return u.set(i,s),this.size=u.size,this}},42351:i=>{i.exports=function strictIndexOf(i,s,u){for(var m=u-1,v=i.length;++m{var m=u(44286),v=u(62689),_=u(676);i.exports=function stringToArray(i){return v(i)?_(i):m(i)}},55514:(i,s,u)=>{var m=u(24523),v=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,_=/\\(\\)?/g,j=m((function(i){var s=[];return 46===i.charCodeAt(0)&&s.push(""),i.replace(v,(function(i,u,m,v){s.push(m?v.replace(_,"$1"):u||i)})),s}));i.exports=j},40327:(i,s,u)=>{var m=u(33448);i.exports=function toKey(i){if("string"==typeof i||m(i))return i;var s=i+"";return"0"==s&&1/i==-Infinity?"-0":s}},80346:i=>{var s=Function.prototype.toString;i.exports=function toSource(i){if(null!=i){try{return s.call(i)}catch(i){}try{return i+""}catch(i){}}return""}},67990:i=>{var s=/\s/;i.exports=function trimmedEndIndex(i){for(var u=i.length;u--&&s.test(i.charAt(u)););return u}},676:i=>{var s="\\ud800-\\udfff",u="["+s+"]",m="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",v="\\ud83c[\\udffb-\\udfff]",_="[^"+s+"]",j="(?:\\ud83c[\\udde6-\\uddff]){2}",M="[\\ud800-\\udbff][\\udc00-\\udfff]",$="(?:"+m+"|"+v+")"+"?",W="[\\ufe0e\\ufe0f]?",X=W+$+("(?:\\u200d(?:"+[_,j,M].join("|")+")"+W+$+")*"),Y="(?:"+[_+m+"?",m,j,M,u].join("|")+")",Z=RegExp(v+"(?="+v+")|"+Y+X,"g");i.exports=function unicodeToArray(i){return i.match(Z)||[]}},2757:i=>{var s="\\ud800-\\udfff",u="\\u2700-\\u27bf",m="a-z\\xdf-\\xf6\\xf8-\\xff",v="A-Z\\xc0-\\xd6\\xd8-\\xde",_="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",j="["+_+"]",M="\\d+",$="["+u+"]",W="["+m+"]",X="[^"+s+_+M+u+m+v+"]",Y="(?:\\ud83c[\\udde6-\\uddff]){2}",Z="[\\ud800-\\udbff][\\udc00-\\udfff]",ee="["+v+"]",ie="(?:"+W+"|"+X+")",ae="(?:"+ee+"|"+X+")",le="(?:['’](?:d|ll|m|re|s|t|ve))?",ce="(?:['’](?:D|LL|M|RE|S|T|VE))?",pe="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?",de="[\\ufe0e\\ufe0f]?",fe=de+pe+("(?:\\u200d(?:"+["[^"+s+"]",Y,Z].join("|")+")"+de+pe+")*"),ye="(?:"+[$,Y,Z].join("|")+")"+fe,be=RegExp([ee+"?"+W+"+"+le+"(?="+[j,ee,"$"].join("|")+")",ae+"+"+ce+"(?="+[j,ee+ie,"$"].join("|")+")",ee+"?"+ie+"+"+le,ee+"+"+ce,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",M,ye].join("|"),"g");i.exports=function unicodeWords(i){return i.match(be)||[]}},87241:(i,s,u)=>{var m=u(77412),v=u(47443),_=[["ary",128],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",32],["partialRight",64],["rearg",256]];i.exports=function updateWrapDetails(i,s){return m(_,(function(u){var m="_."+u[0];s&u[1]&&!v(i,m)&&i.push(m)})),i.sort()}},21913:(i,s,u)=>{var m=u(96425),v=u(7548),_=u(278);i.exports=function wrapperClone(i){if(i instanceof m)return i.clone();var s=new v(i.__wrapped__,i.__chain__);return s.__actions__=_(i.__actions__),s.__index__=i.__index__,s.__values__=i.__values__,s}},39514:(i,s,u)=>{var m=u(97727);i.exports=function ary(i,s,u){return s=u?void 0:s,s=i&&null==s?i.length:s,m(i,128,void 0,void 0,void 0,void 0,s)}},68929:(i,s,u)=>{var m=u(48403),v=u(35393)((function(i,s,u){return s=s.toLowerCase(),i+(u?m(s):s)}));i.exports=v},48403:(i,s,u)=>{var m=u(79833),v=u(11700);i.exports=function capitalize(i){return v(m(i).toLowerCase())}},66678:(i,s,u)=>{var m=u(85990);i.exports=function clone(i){return m(i,4)}},75703:i=>{i.exports=function constant(i){return function(){return i}}},40087:(i,s,u)=>{var m=u(97727);function curry(i,s,u){var v=m(i,8,void 0,void 0,void 0,void 0,void 0,s=u?void 0:s);return v.placeholder=curry.placeholder,v}curry.placeholder={},i.exports=curry},23279:(i,s,u)=>{var m=u(13218),v=u(7771),_=u(14841),j=Math.max,M=Math.min;i.exports=function debounce(i,s,u){var $,W,X,Y,Z,ee,ie=0,ae=!1,le=!1,ce=!0;if("function"!=typeof i)throw new TypeError("Expected a function");function invokeFunc(s){var u=$,m=W;return $=W=void 0,ie=s,Y=i.apply(m,u)}function shouldInvoke(i){var u=i-ee;return void 0===ee||u>=s||u<0||le&&i-ie>=X}function timerExpired(){var i=v();if(shouldInvoke(i))return trailingEdge(i);Z=setTimeout(timerExpired,function remainingWait(i){var u=s-(i-ee);return le?M(u,X-(i-ie)):u}(i))}function trailingEdge(i){return Z=void 0,ce&&$?invokeFunc(i):($=W=void 0,Y)}function debounced(){var i=v(),u=shouldInvoke(i);if($=arguments,W=this,ee=i,u){if(void 0===Z)return function leadingEdge(i){return ie=i,Z=setTimeout(timerExpired,s),ae?invokeFunc(i):Y}(ee);if(le)return clearTimeout(Z),Z=setTimeout(timerExpired,s),invokeFunc(ee)}return void 0===Z&&(Z=setTimeout(timerExpired,s)),Y}return s=_(s)||0,m(u)&&(ae=!!u.leading,X=(le="maxWait"in u)?j(_(u.maxWait)||0,s):X,ce="trailing"in u?!!u.trailing:ce),debounced.cancel=function cancel(){void 0!==Z&&clearTimeout(Z),ie=0,$=ee=W=Z=void 0},debounced.flush=function flush(){return void 0===Z?Y:trailingEdge(v())},debounced}},53816:(i,s,u)=>{var m=u(69389),v=u(79833),_=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,j=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]","g");i.exports=function deburr(i){return(i=v(i))&&i.replace(_,m).replace(j,"")}},77813:i=>{i.exports=function eq(i,s){return i===s||i!=i&&s!=s}},13311:(i,s,u)=>{var m=u(67740)(u(30998));i.exports=m},30998:(i,s,u)=>{var m=u(41848),v=u(67206),_=u(40554),j=Math.max;i.exports=function findIndex(i,s,u){var M=null==i?0:i.length;if(!M)return-1;var $=null==u?0:_(u);return $<0&&($=j(M+$,0)),m(i,v(s,3),$)}},85564:(i,s,u)=>{var m=u(21078);i.exports=function flatten(i){return(null==i?0:i.length)?m(i,1):[]}},84599:(i,s,u)=>{var m=u(68836),v=u(69306),_=Array.prototype.push;function baseAry(i,s){return 2==s?function(s,u){return i(s,u)}:function(s){return i(s)}}function cloneArray(i){for(var s=i?i.length:0,u=Array(s);s--;)u[s]=i[s];return u}function wrapImmutable(i,s){return function(){var u=arguments.length;if(u){for(var m=Array(u);u--;)m[u]=arguments[u];var v=m[0]=s.apply(void 0,m);return i.apply(void 0,m),v}}}i.exports=function baseConvert(i,s,u,j){var M="function"==typeof s,$=s===Object(s);if($&&(j=u,u=s,s=void 0),null==u)throw new TypeError;j||(j={});var W={cap:!("cap"in j)||j.cap,curry:!("curry"in j)||j.curry,fixed:!("fixed"in j)||j.fixed,immutable:!("immutable"in j)||j.immutable,rearg:!("rearg"in j)||j.rearg},X=M?u:v,Y="curry"in j&&j.curry,Z="fixed"in j&&j.fixed,ee="rearg"in j&&j.rearg,ie=M?u.runInContext():void 0,ae=M?u:{ary:i.ary,assign:i.assign,clone:i.clone,curry:i.curry,forEach:i.forEach,isArray:i.isArray,isError:i.isError,isFunction:i.isFunction,isWeakMap:i.isWeakMap,iteratee:i.iteratee,keys:i.keys,rearg:i.rearg,toInteger:i.toInteger,toPath:i.toPath},le=ae.ary,ce=ae.assign,pe=ae.clone,de=ae.curry,fe=ae.forEach,ye=ae.isArray,be=ae.isError,_e=ae.isFunction,we=ae.isWeakMap,Se=ae.keys,xe=ae.rearg,Pe=ae.toInteger,Ie=ae.toPath,Te=Se(m.aryMethod),Re={castArray:function(i){return function(){var s=arguments[0];return ye(s)?i(cloneArray(s)):i.apply(void 0,arguments)}},iteratee:function(i){return function(){var s=arguments[1],u=i(arguments[0],s),m=u.length;return W.cap&&"number"==typeof s?(s=s>2?s-2:1,m&&m<=s?u:baseAry(u,s)):u}},mixin:function(i){return function(s){var u=this;if(!_e(u))return i(u,Object(s));var m=[];return fe(Se(s),(function(i){_e(s[i])&&m.push([i,u.prototype[i]])})),i(u,Object(s)),fe(m,(function(i){var s=i[1];_e(s)?u.prototype[i[0]]=s:delete u.prototype[i[0]]})),u}},nthArg:function(i){return function(s){var u=s<0?1:Pe(s)+1;return de(i(s),u)}},rearg:function(i){return function(s,u){var m=u?u.length:0;return de(i(s,u),m)}},runInContext:function(s){return function(u){return baseConvert(i,s(u),j)}}};function castCap(i,s){if(W.cap){var u=m.iterateeRearg[i];if(u)return function iterateeRearg(i,s){return overArg(i,(function(i){var u=s.length;return function baseArity(i,s){return 2==s?function(s,u){return i.apply(void 0,arguments)}:function(s){return i.apply(void 0,arguments)}}(xe(baseAry(i,u),s),u)}))}(s,u);var v=!M&&m.iterateeAry[i];if(v)return function iterateeAry(i,s){return overArg(i,(function(i){return"function"==typeof i?baseAry(i,s):i}))}(s,v)}return s}function castFixed(i,s,u){if(W.fixed&&(Z||!m.skipFixed[i])){var v=m.methodSpread[i],j=v&&v.start;return void 0===j?le(s,u):function flatSpread(i,s){return function(){for(var u=arguments.length,m=u-1,v=Array(u);u--;)v[u]=arguments[u];var j=v[s],M=v.slice(0,s);return j&&_.apply(M,j),s!=m&&_.apply(M,v.slice(s+1)),i.apply(this,M)}}(s,j)}return s}function castRearg(i,s,u){return W.rearg&&u>1&&(ee||!m.skipRearg[i])?xe(s,m.methodRearg[i]||m.aryRearg[u]):s}function cloneByPath(i,s){for(var u=-1,m=(s=Ie(s)).length,v=m-1,_=pe(Object(i)),j=_;null!=j&&++u1?de(s,u):s}(0,v=castCap(_,v),i),!1}})),!v})),v||(v=j),v==s&&(v=Y?de(v,1):function(){return s.apply(this,arguments)}),v.convert=createConverter(_,s),v.placeholder=s.placeholder=u,v}if(!$)return wrap(s,u,X);var qe=u,ze=[];return fe(Te,(function(i){fe(m.aryMethod[i],(function(i){var s=qe[m.remap[i]||i];s&&ze.push([i,wrap(i,s,qe)])}))})),fe(Se(qe),(function(i){var s=qe[i];if("function"==typeof s){for(var u=ze.length;u--;)if(ze[u][0]==i)return;s.convert=createConverter(i,s),ze.push([i,s])}})),fe(ze,(function(i){qe[i[0]]=i[1]})),qe.convert=function convertLib(i){return qe.runInContext.convert(i)(void 0)},qe.placeholder=qe,fe(Se(qe),(function(i){fe(m.realToAlias[i]||[],(function(s){qe[s]=qe[i]}))})),qe}},68836:(i,s)=>{s.aliasToReal={each:"forEach",eachRight:"forEachRight",entries:"toPairs",entriesIn:"toPairsIn",extend:"assignIn",extendAll:"assignInAll",extendAllWith:"assignInAllWith",extendWith:"assignInWith",first:"head",conforms:"conformsTo",matches:"isMatch",property:"get",__:"placeholder",F:"stubFalse",T:"stubTrue",all:"every",allPass:"overEvery",always:"constant",any:"some",anyPass:"overSome",apply:"spread",assoc:"set",assocPath:"set",complement:"negate",compose:"flowRight",contains:"includes",dissoc:"unset",dissocPath:"unset",dropLast:"dropRight",dropLastWhile:"dropRightWhile",equals:"isEqual",identical:"eq",indexBy:"keyBy",init:"initial",invertObj:"invert",juxt:"over",omitAll:"omit",nAry:"ary",path:"get",pathEq:"matchesProperty",pathOr:"getOr",paths:"at",pickAll:"pick",pipe:"flow",pluck:"map",prop:"get",propEq:"matchesProperty",propOr:"getOr",props:"at",symmetricDifference:"xor",symmetricDifferenceBy:"xorBy",symmetricDifferenceWith:"xorWith",takeLast:"takeRight",takeLastWhile:"takeRightWhile",unapply:"rest",unnest:"flatten",useWith:"overArgs",where:"conformsTo",whereEq:"isMatch",zipObj:"zipObject"},s.aryMethod={1:["assignAll","assignInAll","attempt","castArray","ceil","create","curry","curryRight","defaultsAll","defaultsDeepAll","floor","flow","flowRight","fromPairs","invert","iteratee","memoize","method","mergeAll","methodOf","mixin","nthArg","over","overEvery","overSome","rest","reverse","round","runInContext","spread","template","trim","trimEnd","trimStart","uniqueId","words","zipAll"],2:["add","after","ary","assign","assignAllWith","assignIn","assignInAllWith","at","before","bind","bindAll","bindKey","chunk","cloneDeepWith","cloneWith","concat","conformsTo","countBy","curryN","curryRightN","debounce","defaults","defaultsDeep","defaultTo","delay","difference","divide","drop","dropRight","dropRightWhile","dropWhile","endsWith","eq","every","filter","find","findIndex","findKey","findLast","findLastIndex","findLastKey","flatMap","flatMapDeep","flattenDepth","forEach","forEachRight","forIn","forInRight","forOwn","forOwnRight","get","groupBy","gt","gte","has","hasIn","includes","indexOf","intersection","invertBy","invoke","invokeMap","isEqual","isMatch","join","keyBy","lastIndexOf","lt","lte","map","mapKeys","mapValues","matchesProperty","maxBy","meanBy","merge","mergeAllWith","minBy","multiply","nth","omit","omitBy","overArgs","pad","padEnd","padStart","parseInt","partial","partialRight","partition","pick","pickBy","propertyOf","pull","pullAll","pullAt","random","range","rangeRight","rearg","reject","remove","repeat","restFrom","result","sampleSize","some","sortBy","sortedIndex","sortedIndexOf","sortedLastIndex","sortedLastIndexOf","sortedUniqBy","split","spreadFrom","startsWith","subtract","sumBy","take","takeRight","takeRightWhile","takeWhile","tap","throttle","thru","times","trimChars","trimCharsEnd","trimCharsStart","truncate","union","uniqBy","uniqWith","unset","unzipWith","without","wrap","xor","zip","zipObject","zipObjectDeep"],3:["assignInWith","assignWith","clamp","differenceBy","differenceWith","findFrom","findIndexFrom","findLastFrom","findLastIndexFrom","getOr","includesFrom","indexOfFrom","inRange","intersectionBy","intersectionWith","invokeArgs","invokeArgsMap","isEqualWith","isMatchWith","flatMapDepth","lastIndexOfFrom","mergeWith","orderBy","padChars","padCharsEnd","padCharsStart","pullAllBy","pullAllWith","rangeStep","rangeStepRight","reduce","reduceRight","replace","set","slice","sortedIndexBy","sortedLastIndexBy","transform","unionBy","unionWith","update","xorBy","xorWith","zipWith"],4:["fill","setWith","updateWith"]},s.aryRearg={2:[1,0],3:[2,0,1],4:[3,2,0,1]},s.iterateeAry={dropRightWhile:1,dropWhile:1,every:1,filter:1,find:1,findFrom:1,findIndex:1,findIndexFrom:1,findKey:1,findLast:1,findLastFrom:1,findLastIndex:1,findLastIndexFrom:1,findLastKey:1,flatMap:1,flatMapDeep:1,flatMapDepth:1,forEach:1,forEachRight:1,forIn:1,forInRight:1,forOwn:1,forOwnRight:1,map:1,mapKeys:1,mapValues:1,partition:1,reduce:2,reduceRight:2,reject:1,remove:1,some:1,takeRightWhile:1,takeWhile:1,times:1,transform:2},s.iterateeRearg={mapKeys:[1],reduceRight:[1,0]},s.methodRearg={assignInAllWith:[1,0],assignInWith:[1,2,0],assignAllWith:[1,0],assignWith:[1,2,0],differenceBy:[1,2,0],differenceWith:[1,2,0],getOr:[2,1,0],intersectionBy:[1,2,0],intersectionWith:[1,2,0],isEqualWith:[1,2,0],isMatchWith:[2,1,0],mergeAllWith:[1,0],mergeWith:[1,2,0],padChars:[2,1,0],padCharsEnd:[2,1,0],padCharsStart:[2,1,0],pullAllBy:[2,1,0],pullAllWith:[2,1,0],rangeStep:[1,2,0],rangeStepRight:[1,2,0],setWith:[3,1,2,0],sortedIndexBy:[2,1,0],sortedLastIndexBy:[2,1,0],unionBy:[1,2,0],unionWith:[1,2,0],updateWith:[3,1,2,0],xorBy:[1,2,0],xorWith:[1,2,0],zipWith:[1,2,0]},s.methodSpread={assignAll:{start:0},assignAllWith:{start:0},assignInAll:{start:0},assignInAllWith:{start:0},defaultsAll:{start:0},defaultsDeepAll:{start:0},invokeArgs:{start:2},invokeArgsMap:{start:2},mergeAll:{start:0},mergeAllWith:{start:0},partial:{start:1},partialRight:{start:1},without:{start:1},zipAll:{start:0}},s.mutate={array:{fill:!0,pull:!0,pullAll:!0,pullAllBy:!0,pullAllWith:!0,pullAt:!0,remove:!0,reverse:!0},object:{assign:!0,assignAll:!0,assignAllWith:!0,assignIn:!0,assignInAll:!0,assignInAllWith:!0,assignInWith:!0,assignWith:!0,defaults:!0,defaultsAll:!0,defaultsDeep:!0,defaultsDeepAll:!0,merge:!0,mergeAll:!0,mergeAllWith:!0,mergeWith:!0},set:{set:!0,setWith:!0,unset:!0,update:!0,updateWith:!0}},s.realToAlias=function(){var i=Object.prototype.hasOwnProperty,u=s.aliasToReal,m={};for(var v in u){var _=u[v];i.call(m,_)?m[_].push(v):m[_]=[v]}return m}(),s.remap={assignAll:"assign",assignAllWith:"assignWith",assignInAll:"assignIn",assignInAllWith:"assignInWith",curryN:"curry",curryRightN:"curryRight",defaultsAll:"defaults",defaultsDeepAll:"defaultsDeep",findFrom:"find",findIndexFrom:"findIndex",findLastFrom:"findLast",findLastIndexFrom:"findLastIndex",getOr:"get",includesFrom:"includes",indexOfFrom:"indexOf",invokeArgs:"invoke",invokeArgsMap:"invokeMap",lastIndexOfFrom:"lastIndexOf",mergeAll:"merge",mergeAllWith:"mergeWith",padChars:"pad",padCharsEnd:"padEnd",padCharsStart:"padStart",propertyOf:"get",rangeStep:"range",rangeStepRight:"rangeRight",restFrom:"rest",spreadFrom:"spread",trimChars:"trim",trimCharsEnd:"trimEnd",trimCharsStart:"trimStart",zipAll:"zip"},s.skipFixed={castArray:!0,flow:!0,flowRight:!0,iteratee:!0,mixin:!0,rearg:!0,runInContext:!0},s.skipRearg={add:!0,assign:!0,assignIn:!0,bind:!0,bindKey:!0,concat:!0,difference:!0,divide:!0,eq:!0,gt:!0,gte:!0,isEqual:!0,lt:!0,lte:!0,matchesProperty:!0,merge:!0,multiply:!0,overArgs:!0,partial:!0,partialRight:!0,propertyOf:!0,random:!0,range:!0,rangeRight:!0,subtract:!0,zip:!0,zipObject:!0,zipObjectDeep:!0}},4269:(i,s,u)=>{i.exports={ary:u(39514),assign:u(44037),clone:u(66678),curry:u(40087),forEach:u(77412),isArray:u(1469),isError:u(64647),isFunction:u(23560),isWeakMap:u(81018),iteratee:u(72594),keys:u(280),rearg:u(4963),toInteger:u(40554),toPath:u(30084)}},72700:(i,s,u)=>{i.exports=u(28252)},92822:(i,s,u)=>{var m=u(84599),v=u(4269);i.exports=function convert(i,s,u){return m(v,i,s,u)}},69306:i=>{i.exports={}},28252:(i,s,u)=>{var m=u(92822)("set",u(36968));m.placeholder=u(69306),i.exports=m},27361:(i,s,u)=>{var m=u(97786);i.exports=function get(i,s,u){var v=null==i?void 0:m(i,s);return void 0===v?u:v}},79095:(i,s,u)=>{var m=u(13),v=u(222);i.exports=function hasIn(i,s){return null!=i&&v(i,s,m)}},6557:i=>{i.exports=function identity(i){return i}},35694:(i,s,u)=>{var m=u(9454),v=u(37005),_=Object.prototype,j=_.hasOwnProperty,M=_.propertyIsEnumerable,$=m(function(){return arguments}())?m:function(i){return v(i)&&j.call(i,"callee")&&!M.call(i,"callee")};i.exports=$},1469:i=>{var s=Array.isArray;i.exports=s},98612:(i,s,u)=>{var m=u(23560),v=u(41780);i.exports=function isArrayLike(i){return null!=i&&v(i.length)&&!m(i)}},29246:(i,s,u)=>{var m=u(98612),v=u(37005);i.exports=function isArrayLikeObject(i){return v(i)&&m(i)}},51584:(i,s,u)=>{var m=u(44239),v=u(37005);i.exports=function isBoolean(i){return!0===i||!1===i||v(i)&&"[object Boolean]"==m(i)}},44144:(i,s,u)=>{i=u.nmd(i);var m=u(55639),v=u(95062),_=s&&!s.nodeType&&s,j=_&&i&&!i.nodeType&&i,M=j&&j.exports===_?m.Buffer:void 0,$=(M?M.isBuffer:void 0)||v;i.exports=$},41609:(i,s,u)=>{var m=u(280),v=u(64160),_=u(35694),j=u(1469),M=u(98612),$=u(44144),W=u(25726),X=u(36719),Y=Object.prototype.hasOwnProperty;i.exports=function isEmpty(i){if(null==i)return!0;if(M(i)&&(j(i)||"string"==typeof i||"function"==typeof i.splice||$(i)||X(i)||_(i)))return!i.length;var s=v(i);if("[object Map]"==s||"[object Set]"==s)return!i.size;if(W(i))return!m(i).length;for(var u in i)if(Y.call(i,u))return!1;return!0}},18446:(i,s,u)=>{var m=u(90939);i.exports=function isEqual(i,s){return m(i,s)}},64647:(i,s,u)=>{var m=u(44239),v=u(37005),_=u(68630);i.exports=function isError(i){if(!v(i))return!1;var s=m(i);return"[object Error]"==s||"[object DOMException]"==s||"string"==typeof i.message&&"string"==typeof i.name&&!_(i)}},23560:(i,s,u)=>{var m=u(44239),v=u(13218);i.exports=function isFunction(i){if(!v(i))return!1;var s=m(i);return"[object Function]"==s||"[object GeneratorFunction]"==s||"[object AsyncFunction]"==s||"[object Proxy]"==s}},41780:i=>{i.exports=function isLength(i){return"number"==typeof i&&i>-1&&i%1==0&&i<=9007199254740991}},56688:(i,s,u)=>{var m=u(25588),v=u(7518),_=u(31167),j=_&&_.isMap,M=j?v(j):m;i.exports=M},45220:i=>{i.exports=function isNull(i){return null===i}},81763:(i,s,u)=>{var m=u(44239),v=u(37005);i.exports=function isNumber(i){return"number"==typeof i||v(i)&&"[object Number]"==m(i)}},13218:i=>{i.exports=function isObject(i){var s=typeof i;return null!=i&&("object"==s||"function"==s)}},37005:i=>{i.exports=function isObjectLike(i){return null!=i&&"object"==typeof i}},68630:(i,s,u)=>{var m=u(44239),v=u(85924),_=u(37005),j=Function.prototype,M=Object.prototype,$=j.toString,W=M.hasOwnProperty,X=$.call(Object);i.exports=function isPlainObject(i){if(!_(i)||"[object Object]"!=m(i))return!1;var s=v(i);if(null===s)return!0;var u=W.call(s,"constructor")&&s.constructor;return"function"==typeof u&&u instanceof u&&$.call(u)==X}},72928:(i,s,u)=>{var m=u(29221),v=u(7518),_=u(31167),j=_&&_.isSet,M=j?v(j):m;i.exports=M},47037:(i,s,u)=>{var m=u(44239),v=u(1469),_=u(37005);i.exports=function isString(i){return"string"==typeof i||!v(i)&&_(i)&&"[object String]"==m(i)}},33448:(i,s,u)=>{var m=u(44239),v=u(37005);i.exports=function isSymbol(i){return"symbol"==typeof i||v(i)&&"[object Symbol]"==m(i)}},36719:(i,s,u)=>{var m=u(38749),v=u(7518),_=u(31167),j=_&&_.isTypedArray,M=j?v(j):m;i.exports=M},81018:(i,s,u)=>{var m=u(64160),v=u(37005);i.exports=function isWeakMap(i){return v(i)&&"[object WeakMap]"==m(i)}},72594:(i,s,u)=>{var m=u(85990),v=u(67206);i.exports=function iteratee(i){return v("function"==typeof i?i:m(i,1))}},3674:(i,s,u)=>{var m=u(14636),v=u(280),_=u(98612);i.exports=function keys(i){return _(i)?m(i):v(i)}},81704:(i,s,u)=>{var m=u(14636),v=u(10313),_=u(98612);i.exports=function keysIn(i){return _(i)?m(i,!0):v(i)}},10928:i=>{i.exports=function last(i){var s=null==i?0:i.length;return s?i[s-1]:void 0}},88306:(i,s,u)=>{var m=u(83369);function memoize(i,s){if("function"!=typeof i||null!=s&&"function"!=typeof s)throw new TypeError("Expected a function");var memoized=function(){var u=arguments,m=s?s.apply(this,u):u[0],v=memoized.cache;if(v.has(m))return v.get(m);var _=i.apply(this,u);return memoized.cache=v.set(m,_)||v,_};return memoized.cache=new(memoize.Cache||m),memoized}memoize.Cache=m,i.exports=memoize},82492:(i,s,u)=>{var m=u(42980),v=u(21463)((function(i,s,u){m(i,s,u)}));i.exports=v},94885:i=>{i.exports=function negate(i){if("function"!=typeof i)throw new TypeError("Expected a function");return function(){var s=arguments;switch(s.length){case 0:return!i.call(this);case 1:return!i.call(this,s[0]);case 2:return!i.call(this,s[0],s[1]);case 3:return!i.call(this,s[0],s[1],s[2])}return!i.apply(this,s)}}},50308:i=>{i.exports=function noop(){}},7771:(i,s,u)=>{var m=u(55639);i.exports=function(){return m.Date.now()}},57557:(i,s,u)=>{var m=u(29932),v=u(85990),_=u(57406),j=u(71811),M=u(98363),$=u(60696),W=u(99021),X=u(46904),Y=W((function(i,s){var u={};if(null==i)return u;var W=!1;s=m(s,(function(s){return s=j(s,i),W||(W=s.length>1),s})),M(i,X(i),u),W&&(u=v(u,7,$));for(var Y=s.length;Y--;)_(u,s[Y]);return u}));i.exports=Y},39601:(i,s,u)=>{var m=u(40371),v=u(79152),_=u(15403),j=u(40327);i.exports=function property(i){return _(i)?m(j(i)):v(i)}},4963:(i,s,u)=>{var m=u(97727),v=u(99021),_=v((function(i,s){return m(i,256,void 0,void 0,void 0,s)}));i.exports=_},54061:(i,s,u)=>{var m=u(62663),v=u(89881),_=u(67206),j=u(10107),M=u(1469);i.exports=function reduce(i,s,u){var $=M(i)?m:j,W=arguments.length<3;return $(i,_(s,4),u,W,v)}},36968:(i,s,u)=>{var m=u(10611);i.exports=function set(i,s,u){return null==i?i:m(i,s,u)}},59704:(i,s,u)=>{var m=u(82908),v=u(67206),_=u(5076),j=u(1469),M=u(16612);i.exports=function some(i,s,u){var $=j(i)?m:_;return u&&M(i,s,u)&&(s=void 0),$(i,v(s,3))}},70479:i=>{i.exports=function stubArray(){return[]}},95062:i=>{i.exports=function stubFalse(){return!1}},18601:(i,s,u)=>{var m=u(14841),v=1/0;i.exports=function toFinite(i){return i?(i=m(i))===v||i===-1/0?17976931348623157e292*(i<0?-1:1):i==i?i:0:0===i?i:0}},40554:(i,s,u)=>{var m=u(18601);i.exports=function toInteger(i){var s=m(i),u=s%1;return s==s?u?s-u:s:0}},7334:(i,s,u)=>{var m=u(79833);i.exports=function toLower(i){return m(i).toLowerCase()}},14841:(i,s,u)=>{var m=u(27561),v=u(13218),_=u(33448),j=/^[-+]0x[0-9a-f]+$/i,M=/^0b[01]+$/i,$=/^0o[0-7]+$/i,W=parseInt;i.exports=function toNumber(i){if("number"==typeof i)return i;if(_(i))return NaN;if(v(i)){var s="function"==typeof i.valueOf?i.valueOf():i;i=v(s)?s+"":s}if("string"!=typeof i)return 0===i?i:+i;i=m(i);var u=M.test(i);return u||$.test(i)?W(i.slice(2),u?2:8):j.test(i)?NaN:+i}},30084:(i,s,u)=>{var m=u(29932),v=u(278),_=u(1469),j=u(33448),M=u(55514),$=u(40327),W=u(79833);i.exports=function toPath(i){return _(i)?m(i,$):j(i)?[i]:v(M(W(i)))}},59881:(i,s,u)=>{var m=u(98363),v=u(81704);i.exports=function toPlainObject(i){return m(i,v(i))}},79833:(i,s,u)=>{var m=u(80531);i.exports=function toString(i){return null==i?"":m(i)}},11700:(i,s,u)=>{var m=u(98805)("toUpperCase");i.exports=m},58748:(i,s,u)=>{var m=u(49029),v=u(93157),_=u(79833),j=u(2757);i.exports=function words(i,s,u){return i=_(i),void 0===(s=u?void 0:s)?v(i)?j(i):m(i):i.match(s)||[]}},8111:(i,s,u)=>{var m=u(96425),v=u(7548),_=u(9435),j=u(1469),M=u(37005),$=u(21913),W=Object.prototype.hasOwnProperty;function lodash(i){if(M(i)&&!j(i)&&!(i instanceof m)){if(i instanceof v)return i;if(W.call(i,"__wrapped__"))return $(i)}return new v(i)}lodash.prototype=_.prototype,lodash.prototype.constructor=lodash,i.exports=lodash},7287:(i,s,u)=>{var m=u(34865),v=u(1757);i.exports=function zipObject(i,s){return v(i||[],s||[],m)}},96470:(i,s,u)=>{"use strict";var m=u(47802),v=u(21102);s.highlight=highlight,s.highlightAuto=function highlightAuto(i,s){var u,j,M,$,W=s||{},X=W.subset||m.listLanguages(),Y=W.prefix,Z=X.length,ee=-1;null==Y&&(Y=_);if("string"!=typeof i)throw v("Expected `string` for value, got `%s`",i);j={relevance:0,language:null,value:[]},u={relevance:0,language:null,value:[]};for(;++eej.relevance&&(j=M),M.relevance>u.relevance&&(j=u,u=M));j.language&&(u.secondBest=j);return u},s.registerLanguage=function registerLanguage(i,s){m.registerLanguage(i,s)},s.listLanguages=function listLanguages(){return m.listLanguages()},s.registerAlias=function registerAlias(i,s){var u,v=i;s&&((v={})[i]=s);for(u in v)m.registerAliases(v[u],{languageName:u})},Emitter.prototype.addText=function text(i){var s,u,m=this.stack;if(""===i)return;s=m[m.length-1],(u=s.children[s.children.length-1])&&"text"===u.type?u.value+=i:s.children.push({type:"text",value:i})},Emitter.prototype.addKeyword=function addKeyword(i,s){this.openNode(s),this.addText(i),this.closeNode()},Emitter.prototype.addSublanguage=function addSublanguage(i,s){var u=this.stack,m=u[u.length-1],v=i.rootNode.children,_=s?{type:"element",tagName:"span",properties:{className:[s]},children:v}:v;m.children=m.children.concat(_)},Emitter.prototype.openNode=function open(i){var s=this.stack,u=this.options.classPrefix+i,m=s[s.length-1],v={type:"element",tagName:"span",properties:{className:[u]},children:[]};m.children.push(v),s.push(v)},Emitter.prototype.closeNode=function close(){this.stack.pop()},Emitter.prototype.closeAllNodes=noop,Emitter.prototype.finalize=noop,Emitter.prototype.toHTML=function toHtmlNoop(){return""};var _="hljs-";function highlight(i,s,u){var j,M=m.configure({}),$=(u||{}).prefix;if("string"!=typeof i)throw v("Expected `string` for name, got `%s`",i);if(!m.getLanguage(i))throw v("Unknown language: `%s` is not registered",i);if("string"!=typeof s)throw v("Expected `string` for value, got `%s`",s);if(null==$&&($=_),m.configure({__emitter:Emitter,classPrefix:$}),j=m.highlight(s,{language:i,ignoreIllegals:!0}),m.configure(M||{}),j.errorRaised)throw j.errorRaised;return{relevance:j.relevance,language:j.language,value:j.emitter.rootNode.children}}function Emitter(i){this.options=i,this.rootNode={children:[]},this.stack=[this.rootNode]}function noop(){}},42566:(i,s,u)=>{const m=u(94885);function coerceElementMatchingCallback(i){return"string"==typeof i?s=>s.element===i:i.constructor&&i.extend?s=>s instanceof i:i}class ArraySlice{constructor(i){this.elements=i||[]}toValue(){return this.elements.map((i=>i.toValue()))}map(i,s){return this.elements.map(i,s)}flatMap(i,s){return this.map(i,s).reduce(((i,s)=>i.concat(s)),[])}compactMap(i,s){const u=[];return this.forEach((m=>{const v=i.bind(s)(m);v&&u.push(v)})),u}filter(i,s){return i=coerceElementMatchingCallback(i),new ArraySlice(this.elements.filter(i,s))}reject(i,s){return i=coerceElementMatchingCallback(i),new ArraySlice(this.elements.filter(m(i),s))}find(i,s){return i=coerceElementMatchingCallback(i),this.elements.find(i,s)}forEach(i,s){this.elements.forEach(i,s)}reduce(i,s){return this.elements.reduce(i,s)}includes(i){return this.elements.some((s=>s.equals(i)))}shift(){return this.elements.shift()}unshift(i){this.elements.unshift(this.refract(i))}push(i){return this.elements.push(this.refract(i)),this}add(i){this.push(i)}get(i){return this.elements[i]}getValue(i){const s=this.elements[i];if(s)return s.toValue()}get length(){return this.elements.length}get isEmpty(){return 0===this.elements.length}get first(){return this.elements[0]}}"undefined"!=typeof Symbol&&(ArraySlice.prototype[Symbol.iterator]=function symbol(){return this.elements[Symbol.iterator]()}),i.exports=ArraySlice},17645:i=>{class KeyValuePair{constructor(i,s){this.key=i,this.value=s}clone(){const i=new KeyValuePair;return this.key&&(i.key=this.key.clone()),this.value&&(i.value=this.value.clone()),i}}i.exports=KeyValuePair},78520:(i,s,u)=>{const m=u(45220),v=u(47037),_=u(81763),j=u(51584),M=u(13218),$=u(28219),W=u(99829);class Namespace{constructor(i){this.elementMap={},this.elementDetection=[],this.Element=W.Element,this.KeyValuePair=W.KeyValuePair,i&&i.noDefault||this.useDefault(),this._attributeElementKeys=[],this._attributeElementArrayKeys=[]}use(i){return i.namespace&&i.namespace({base:this}),i.load&&i.load({base:this}),this}useDefault(){return this.register("null",W.NullElement).register("string",W.StringElement).register("number",W.NumberElement).register("boolean",W.BooleanElement).register("array",W.ArrayElement).register("object",W.ObjectElement).register("member",W.MemberElement).register("ref",W.RefElement).register("link",W.LinkElement),this.detect(m,W.NullElement,!1).detect(v,W.StringElement,!1).detect(_,W.NumberElement,!1).detect(j,W.BooleanElement,!1).detect(Array.isArray,W.ArrayElement,!1).detect(M,W.ObjectElement,!1),this}register(i,s){return this._elements=void 0,this.elementMap[i]=s,this}unregister(i){return this._elements=void 0,delete this.elementMap[i],this}detect(i,s,u){return void 0===u||u?this.elementDetection.unshift([i,s]):this.elementDetection.push([i,s]),this}toElement(i){if(i instanceof this.Element)return i;let s;for(let u=0;u{const s=i[0].toUpperCase()+i.substr(1);this._elements[s]=this.elementMap[i]}))),this._elements}get serialiser(){return new $(this)}}$.prototype.Namespace=Namespace,i.exports=Namespace},87526:(i,s,u)=>{const m=u(94885),v=u(42566);class ObjectSlice extends v{map(i,s){return this.elements.map((u=>i.bind(s)(u.value,u.key,u)))}filter(i,s){return new ObjectSlice(this.elements.filter((u=>i.bind(s)(u.value,u.key,u))))}reject(i,s){return this.filter(m(i.bind(s)))}forEach(i,s){return this.elements.forEach(((u,m)=>{i.bind(s)(u.value,u.key,u,m)}))}keys(){return this.map(((i,s)=>s.toValue()))}values(){return this.map((i=>i.toValue()))}}i.exports=ObjectSlice},99829:(i,s,u)=>{const m=u(3079),v=u(96295),_=u(16036),j=u(91090),M=u(18866),$=u(35804),W=u(5946),X=u(76735),Y=u(59964),Z=u(38588),ee=u(42566),ie=u(87526),ae=u(17645);function refract(i){if(i instanceof m)return i;if("string"==typeof i)return new _(i);if("number"==typeof i)return new j(i);if("boolean"==typeof i)return new M(i);if(null===i)return new v;if(Array.isArray(i))return new $(i.map(refract));if("object"==typeof i){return new X(i)}return i}m.prototype.ObjectElement=X,m.prototype.RefElement=Z,m.prototype.MemberElement=W,m.prototype.refract=refract,ee.prototype.refract=refract,i.exports={Element:m,NullElement:v,StringElement:_,NumberElement:j,BooleanElement:M,ArrayElement:$,MemberElement:W,ObjectElement:X,LinkElement:Y,RefElement:Z,refract,ArraySlice:ee,ObjectSlice:ie,KeyValuePair:ae}},59964:(i,s,u)=>{const m=u(3079);i.exports=class LinkElement extends m{constructor(i,s,u){super(i||[],s,u),this.element="link"}get relation(){return this.attributes.get("relation")}set relation(i){this.attributes.set("relation",i)}get href(){return this.attributes.get("href")}set href(i){this.attributes.set("href",i)}}},38588:(i,s,u)=>{const m=u(3079);i.exports=class RefElement extends m{constructor(i,s,u){super(i||[],s,u),this.element="ref",this.path||(this.path="element")}get path(){return this.attributes.get("path")}set path(i){this.attributes.set("path",i)}}},43500:(i,s,u)=>{const m=u(78520),v=u(99829);s.lS=m,s.KeyValuePair=u(17645),s.O4=v.ArraySlice,s.rm=v.ObjectSlice,s.W_=v.Element,s.RP=v.StringElement,s.VL=v.NumberElement,s.hh=v.BooleanElement,s.zr=v.NullElement,s.ON=v.ArrayElement,s.Sb=v.ObjectElement,s.c6=v.MemberElement,s.tK=v.RefElement,s.EA=v.LinkElement,s.Qc=v.refract,u(28219),u(3414)},35804:(i,s,u)=>{const m=u(94885),v=u(3079),_=u(42566);class ArrayElement extends v{constructor(i,s,u){super(i||[],s,u),this.element="array"}primitive(){return"array"}get(i){return this.content[i]}getValue(i){const s=this.get(i);if(s)return s.toValue()}getIndex(i){return this.content[i]}set(i,s){return this.content[i]=this.refract(s),this}remove(i){const s=this.content.splice(i,1);return s.length?s[0]:null}map(i,s){return this.content.map(i,s)}flatMap(i,s){return this.map(i,s).reduce(((i,s)=>i.concat(s)),[])}compactMap(i,s){const u=[];return this.forEach((m=>{const v=i.bind(s)(m);v&&u.push(v)})),u}filter(i,s){return new _(this.content.filter(i,s))}reject(i,s){return this.filter(m(i),s)}reduce(i,s){let u,m;void 0!==s?(u=0,m=this.refract(s)):(u=1,m="object"===this.primitive()?this.first.value:this.first);for(let s=u;s{i.bind(s)(u,this.refract(m))}))}shift(){return this.content.shift()}unshift(i){this.content.unshift(this.refract(i))}push(i){return this.content.push(this.refract(i)),this}add(i){this.push(i)}findElements(i,s){const u=s||{},m=!!u.recursive,v=void 0===u.results?[]:u.results;return this.forEach(((s,u,_)=>{m&&void 0!==s.findElements&&s.findElements(i,{results:v,recursive:m}),i(s,u,_)&&v.push(s)})),v}find(i){return new _(this.findElements(i,{recursive:!0}))}findByElement(i){return this.find((s=>s.element===i))}findByClass(i){return this.find((s=>s.classes.includes(i)))}getById(i){return this.find((s=>s.id.toValue()===i)).first}includes(i){return this.content.some((s=>s.equals(i)))}contains(i){return this.includes(i)}empty(){return new this.constructor([])}"fantasy-land/empty"(){return this.empty()}concat(i){return new this.constructor(this.content.concat(i.content))}"fantasy-land/concat"(i){return this.concat(i)}"fantasy-land/map"(i){return new this.constructor(this.map(i))}"fantasy-land/chain"(i){return this.map((s=>i(s)),this).reduce(((i,s)=>i.concat(s)),this.empty())}"fantasy-land/filter"(i){return new this.constructor(this.content.filter(i))}"fantasy-land/reduce"(i,s){return this.content.reduce(i,s)}get length(){return this.content.length}get isEmpty(){return 0===this.content.length}get first(){return this.getIndex(0)}get second(){return this.getIndex(1)}get last(){return this.getIndex(this.length-1)}}ArrayElement.empty=function empty(){return new this},ArrayElement["fantasy-land/empty"]=ArrayElement.empty,"undefined"!=typeof Symbol&&(ArrayElement.prototype[Symbol.iterator]=function symbol(){return this.content[Symbol.iterator]()}),i.exports=ArrayElement},18866:(i,s,u)=>{const m=u(3079);i.exports=class BooleanElement extends m{constructor(i,s,u){super(i,s,u),this.element="boolean"}primitive(){return"boolean"}}},3079:(i,s,u)=>{const m=u(18446),v=u(17645),_=u(42566);class Element{constructor(i,s,u){s&&(this.meta=s),u&&(this.attributes=u),this.content=i}freeze(){Object.isFrozen(this)||(this._meta&&(this.meta.parent=this,this.meta.freeze()),this._attributes&&(this.attributes.parent=this,this.attributes.freeze()),this.children.forEach((i=>{i.parent=this,i.freeze()}),this),this.content&&Array.isArray(this.content)&&Object.freeze(this.content),Object.freeze(this))}primitive(){}clone(){const i=new this.constructor;return i.element=this.element,this.meta.length&&(i._meta=this.meta.clone()),this.attributes.length&&(i._attributes=this.attributes.clone()),this.content?this.content.clone?i.content=this.content.clone():Array.isArray(this.content)?i.content=this.content.map((i=>i.clone())):i.content=this.content:i.content=this.content,i}toValue(){return this.content instanceof Element?this.content.toValue():this.content instanceof v?{key:this.content.key.toValue(),value:this.content.value?this.content.value.toValue():void 0}:this.content&&this.content.map?this.content.map((i=>i.toValue()),this):this.content}toRef(i){if(""===this.id.toValue())throw Error("Cannot create reference to an element that does not contain an ID");const s=new this.RefElement(this.id.toValue());return i&&(s.path=i),s}findRecursive(...i){if(arguments.length>1&&!this.isFrozen)throw new Error("Cannot find recursive with multiple element names without first freezing the element. Call `element.freeze()`");const s=i.pop();let u=new _;const append=(i,s)=>(i.push(s),i),checkElement=(i,u)=>{u.element===s&&i.push(u);const m=u.findRecursive(s);return m&&m.reduce(append,i),u.content instanceof v&&(u.content.key&&checkElement(i,u.content.key),u.content.value&&checkElement(i,u.content.value)),i};return this.content&&(this.content.element&&checkElement(u,this.content),Array.isArray(this.content)&&this.content.reduce(checkElement,u)),i.isEmpty||(u=u.filter((s=>{let u=s.parents.map((i=>i.element));for(const s in i){const m=i[s],v=u.indexOf(m);if(-1===v)return!1;u=u.splice(0,v)}return!0}))),u}set(i){return this.content=i,this}equals(i){return m(this.toValue(),i)}getMetaProperty(i,s){if(!this.meta.hasKey(i)){if(this.isFrozen){const i=this.refract(s);return i.freeze(),i}this.meta.set(i,s)}return this.meta.get(i)}setMetaProperty(i,s){this.meta.set(i,s)}get element(){return this._storedElement||"element"}set element(i){this._storedElement=i}get content(){return this._content}set content(i){if(i instanceof Element)this._content=i;else if(i instanceof _)this.content=i.elements;else if("string"==typeof i||"number"==typeof i||"boolean"==typeof i||"null"===i||null==i)this._content=i;else if(i instanceof v)this._content=i;else if(Array.isArray(i))this._content=i.map(this.refract);else{if("object"!=typeof i)throw new Error("Cannot set content to given value");this._content=Object.keys(i).map((s=>new this.MemberElement(s,i[s])))}}get meta(){if(!this._meta){if(this.isFrozen){const i=new this.ObjectElement;return i.freeze(),i}this._meta=new this.ObjectElement}return this._meta}set meta(i){i instanceof this.ObjectElement?this._meta=i:this.meta.set(i||{})}get attributes(){if(!this._attributes){if(this.isFrozen){const i=new this.ObjectElement;return i.freeze(),i}this._attributes=new this.ObjectElement}return this._attributes}set attributes(i){i instanceof this.ObjectElement?this._attributes=i:this.attributes.set(i||{})}get id(){return this.getMetaProperty("id","")}set id(i){this.setMetaProperty("id",i)}get classes(){return this.getMetaProperty("classes",[])}set classes(i){this.setMetaProperty("classes",i)}get title(){return this.getMetaProperty("title","")}set title(i){this.setMetaProperty("title",i)}get description(){return this.getMetaProperty("description","")}set description(i){this.setMetaProperty("description",i)}get links(){return this.getMetaProperty("links",[])}set links(i){this.setMetaProperty("links",i)}get isFrozen(){return Object.isFrozen(this)}get parents(){let{parent:i}=this;const s=new _;for(;i;)s.push(i),i=i.parent;return s}get children(){if(Array.isArray(this.content))return new _(this.content);if(this.content instanceof v){const i=new _([this.content.key]);return this.content.value&&i.push(this.content.value),i}return this.content instanceof Element?new _([this.content]):new _}get recursiveChildren(){const i=new _;return this.children.forEach((s=>{i.push(s),s.recursiveChildren.forEach((s=>{i.push(s)}))})),i}}i.exports=Element},5946:(i,s,u)=>{const m=u(17645),v=u(3079);i.exports=class MemberElement extends v{constructor(i,s,u,v){super(new m,u,v),this.element="member",this.key=i,this.value=s}get key(){return this.content.key}set key(i){this.content.key=this.refract(i)}get value(){return this.content.value}set value(i){this.content.value=this.refract(i)}}},96295:(i,s,u)=>{const m=u(3079);i.exports=class NullElement extends m{constructor(i,s,u){super(i||null,s,u),this.element="null"}primitive(){return"null"}set(){return new Error("Cannot set the value of null")}}},91090:(i,s,u)=>{const m=u(3079);i.exports=class NumberElement extends m{constructor(i,s,u){super(i,s,u),this.element="number"}primitive(){return"number"}}},76735:(i,s,u)=>{const m=u(94885),v=u(13218),_=u(35804),j=u(5946),M=u(87526);i.exports=class ObjectElement extends _{constructor(i,s,u){super(i||[],s,u),this.element="object"}primitive(){return"object"}toValue(){return this.content.reduce(((i,s)=>(i[s.key.toValue()]=s.value?s.value.toValue():void 0,i)),{})}get(i){const s=this.getMember(i);if(s)return s.value}getMember(i){if(void 0!==i)return this.content.find((s=>s.key.toValue()===i))}remove(i){let s=null;return this.content=this.content.filter((u=>u.key.toValue()!==i||(s=u,!1))),s}getKey(i){const s=this.getMember(i);if(s)return s.key}set(i,s){if(v(i))return Object.keys(i).forEach((s=>{this.set(s,i[s])})),this;const u=i,m=this.getMember(u);return m?m.value=s:this.content.push(new j(u,s)),this}keys(){return this.content.map((i=>i.key.toValue()))}values(){return this.content.map((i=>i.value.toValue()))}hasKey(i){return this.content.some((s=>s.key.equals(i)))}items(){return this.content.map((i=>[i.key.toValue(),i.value.toValue()]))}map(i,s){return this.content.map((u=>i.bind(s)(u.value,u.key,u)))}compactMap(i,s){const u=[];return this.forEach(((m,v,_)=>{const j=i.bind(s)(m,v,_);j&&u.push(j)})),u}filter(i,s){return new M(this.content).filter(i,s)}reject(i,s){return this.filter(m(i),s)}forEach(i,s){return this.content.forEach((u=>i.bind(s)(u.value,u.key,u)))}}},16036:(i,s,u)=>{const m=u(3079);i.exports=class StringElement extends m{constructor(i,s,u){super(i,s,u),this.element="string"}primitive(){return"string"}get length(){return this.content.length}}},3414:(i,s,u)=>{const m=u(28219);i.exports=class JSON06Serialiser extends m{serialise(i){if(!(i instanceof this.namespace.elements.Element))throw new TypeError(`Given element \`${i}\` is not an Element instance`);let s;i._attributes&&i.attributes.get("variable")&&(s=i.attributes.get("variable"));const u={element:i.element};i._meta&&i._meta.length>0&&(u.meta=this.serialiseObject(i.meta));const m="enum"===i.element||-1!==i.attributes.keys().indexOf("enumerations");if(m){const s=this.enumSerialiseAttributes(i);s&&(u.attributes=s)}else if(i._attributes&&i._attributes.length>0){let{attributes:m}=i;m.get("metadata")&&(m=m.clone(),m.set("meta",m.get("metadata")),m.remove("metadata")),"member"===i.element&&s&&(m=m.clone(),m.remove("variable")),m.length>0&&(u.attributes=this.serialiseObject(m))}if(m)u.content=this.enumSerialiseContent(i,u);else if(this[`${i.element}SerialiseContent`])u.content=this[`${i.element}SerialiseContent`](i,u);else if(void 0!==i.content){let m;s&&i.content.key?(m=i.content.clone(),m.key.attributes.set("variable",s),m=this.serialiseContent(m)):m=this.serialiseContent(i.content),this.shouldSerialiseContent(i,m)&&(u.content=m)}else this.shouldSerialiseContent(i,i.content)&&i instanceof this.namespace.elements.Array&&(u.content=[]);return u}shouldSerialiseContent(i,s){return"parseResult"===i.element||"httpRequest"===i.element||"httpResponse"===i.element||"category"===i.element||"link"===i.element||void 0!==s&&(!Array.isArray(s)||0!==s.length)}refSerialiseContent(i,s){return delete s.attributes,{href:i.toValue(),path:i.path.toValue()}}sourceMapSerialiseContent(i){return i.toValue()}dataStructureSerialiseContent(i){return[this.serialiseContent(i.content)]}enumSerialiseAttributes(i){const s=i.attributes.clone(),u=s.remove("enumerations")||new this.namespace.elements.Array([]),m=s.get("default");let v=s.get("samples")||new this.namespace.elements.Array([]);if(m&&m.content&&(m.content.attributes&&m.content.attributes.remove("typeAttributes"),s.set("default",new this.namespace.elements.Array([m.content]))),v.forEach((i=>{i.content&&i.content.element&&i.content.attributes.remove("typeAttributes")})),i.content&&0!==u.length&&v.unshift(i.content),v=v.map((i=>i instanceof this.namespace.elements.Array?[i]:new this.namespace.elements.Array([i.content]))),v.length&&s.set("samples",v),s.length>0)return this.serialiseObject(s)}enumSerialiseContent(i){if(i._attributes){const s=i.attributes.get("enumerations");if(s&&s.length>0)return s.content.map((i=>{const s=i.clone();return s.attributes.remove("typeAttributes"),this.serialise(s)}))}if(i.content){const s=i.content.clone();return s.attributes.remove("typeAttributes"),[this.serialise(s)]}return[]}deserialise(i){if("string"==typeof i)return new this.namespace.elements.String(i);if("number"==typeof i)return new this.namespace.elements.Number(i);if("boolean"==typeof i)return new this.namespace.elements.Boolean(i);if(null===i)return new this.namespace.elements.Null;if(Array.isArray(i))return new this.namespace.elements.Array(i.map(this.deserialise,this));const s=this.namespace.getElementClass(i.element),u=new s;u.element!==i.element&&(u.element=i.element),i.meta&&this.deserialiseObject(i.meta,u.meta),i.attributes&&this.deserialiseObject(i.attributes,u.attributes);const m=this.deserialiseContent(i.content);if(void 0===m&&null!==u.content||(u.content=m),"enum"===u.element){u.content&&u.attributes.set("enumerations",u.content);let i=u.attributes.get("samples");if(u.attributes.remove("samples"),i){const m=i;i=new this.namespace.elements.Array,m.forEach((m=>{m.forEach((m=>{const v=new s(m);v.element=u.element,i.push(v)}))}));const v=i.shift();u.content=v?v.content:void 0,u.attributes.set("samples",i)}else u.content=void 0;let m=u.attributes.get("default");if(m&&m.length>0){m=m.get(0);const i=new s(m);i.element=u.element,u.attributes.set("default",i)}}else if("dataStructure"===u.element&&Array.isArray(u.content))[u.content]=u.content;else if("category"===u.element){const i=u.attributes.get("meta");i&&(u.attributes.set("metadata",i),u.attributes.remove("meta"))}else"member"===u.element&&u.key&&u.key._attributes&&u.key._attributes.getValue("variable")&&(u.attributes.set("variable",u.key.attributes.get("variable")),u.key.attributes.remove("variable"));return u}serialiseContent(i){if(i instanceof this.namespace.elements.Element)return this.serialise(i);if(i instanceof this.namespace.KeyValuePair){const s={key:this.serialise(i.key)};return i.value&&(s.value=this.serialise(i.value)),s}return i&&i.map?i.map(this.serialise,this):i}deserialiseContent(i){if(i){if(i.element)return this.deserialise(i);if(i.key){const s=new this.namespace.KeyValuePair(this.deserialise(i.key));return i.value&&(s.value=this.deserialise(i.value)),s}if(i.map)return i.map(this.deserialise,this)}return i}shouldRefract(i){return!!(i._attributes&&i.attributes.keys().length||i._meta&&i.meta.keys().length)||"enum"!==i.element&&(i.element!==i.primitive()||"member"===i.element)}convertKeyToRefract(i,s){return this.shouldRefract(s)?this.serialise(s):"enum"===s.element?this.serialiseEnum(s):"array"===s.element?s.map((s=>this.shouldRefract(s)||"default"===i?this.serialise(s):"array"===s.element||"object"===s.element||"enum"===s.element?s.children.map((i=>this.serialise(i))):s.toValue())):"object"===s.element?(s.content||[]).map(this.serialise,this):s.toValue()}serialiseEnum(i){return i.children.map((i=>this.serialise(i)))}serialiseObject(i){const s={};return i.forEach(((i,u)=>{if(i){const m=u.toValue();s[m]=this.convertKeyToRefract(m,i)}})),s}deserialiseObject(i,s){Object.keys(i).forEach((u=>{s.set(u,this.deserialise(i[u]))}))}}},28219:i=>{i.exports=class JSONSerialiser{constructor(i){this.namespace=i||new this.Namespace}serialise(i){if(!(i instanceof this.namespace.elements.Element))throw new TypeError(`Given element \`${i}\` is not an Element instance`);const s={element:i.element};i._meta&&i._meta.length>0&&(s.meta=this.serialiseObject(i.meta)),i._attributes&&i._attributes.length>0&&(s.attributes=this.serialiseObject(i.attributes));const u=this.serialiseContent(i.content);return void 0!==u&&(s.content=u),s}deserialise(i){if(!i.element)throw new Error("Given value is not an object containing an element name");const s=new(this.namespace.getElementClass(i.element));s.element!==i.element&&(s.element=i.element),i.meta&&this.deserialiseObject(i.meta,s.meta),i.attributes&&this.deserialiseObject(i.attributes,s.attributes);const u=this.deserialiseContent(i.content);return void 0===u&&null!==s.content||(s.content=u),s}serialiseContent(i){if(i instanceof this.namespace.elements.Element)return this.serialise(i);if(i instanceof this.namespace.KeyValuePair){const s={key:this.serialise(i.key)};return i.value&&(s.value=this.serialise(i.value)),s}if(i&&i.map){if(0===i.length)return;return i.map(this.serialise,this)}return i}deserialiseContent(i){if(i){if(i.element)return this.deserialise(i);if(i.key){const s=new this.namespace.KeyValuePair(this.deserialise(i.key));return i.value&&(s.value=this.deserialise(i.value)),s}if(i.map)return i.map(this.deserialise,this)}return i}serialiseObject(i){const s={};if(i.forEach(((i,u)=>{i&&(s[u.toValue()]=this.serialise(i))})),0!==Object.keys(s).length)return s}deserialiseObject(i,s){Object.keys(i).forEach((u=>{s.set(u,this.deserialise(i[u]))}))}}},27418:i=>{"use strict";var s=Object.getOwnPropertySymbols,u=Object.prototype.hasOwnProperty,m=Object.prototype.propertyIsEnumerable;i.exports=function shouldUseNative(){try{if(!Object.assign)return!1;var i=new String("abc");if(i[5]="de","5"===Object.getOwnPropertyNames(i)[0])return!1;for(var s={},u=0;u<10;u++)s["_"+String.fromCharCode(u)]=u;if("0123456789"!==Object.getOwnPropertyNames(s).map((function(i){return s[i]})).join(""))return!1;var m={};return"abcdefghijklmnopqrst".split("").forEach((function(i){m[i]=i})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},m)).join("")}catch(i){return!1}}()?Object.assign:function(i,v){for(var _,j,M=function toObject(i){if(null==i)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(i)}(i),$=1;${var m="function"==typeof Map&&Map.prototype,v=Object.getOwnPropertyDescriptor&&m?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,_=m&&v&&"function"==typeof v.get?v.get:null,j=m&&Map.prototype.forEach,M="function"==typeof Set&&Set.prototype,$=Object.getOwnPropertyDescriptor&&M?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,W=M&&$&&"function"==typeof $.get?$.get:null,X=M&&Set.prototype.forEach,Y="function"==typeof WeakMap&&WeakMap.prototype?WeakMap.prototype.has:null,Z="function"==typeof WeakSet&&WeakSet.prototype?WeakSet.prototype.has:null,ee="function"==typeof WeakRef&&WeakRef.prototype?WeakRef.prototype.deref:null,ie=Boolean.prototype.valueOf,ae=Object.prototype.toString,le=Function.prototype.toString,ce=String.prototype.match,pe=String.prototype.slice,de=String.prototype.replace,fe=String.prototype.toUpperCase,ye=String.prototype.toLowerCase,be=RegExp.prototype.test,_e=Array.prototype.concat,we=Array.prototype.join,Se=Array.prototype.slice,xe=Math.floor,Pe="function"==typeof BigInt?BigInt.prototype.valueOf:null,Ie=Object.getOwnPropertySymbols,Te="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol.prototype.toString:null,Re="function"==typeof Symbol&&"object"==typeof Symbol.iterator,qe="function"==typeof Symbol&&Symbol.toStringTag&&(typeof Symbol.toStringTag===Re||"symbol")?Symbol.toStringTag:null,ze=Object.prototype.propertyIsEnumerable,Ve=("function"==typeof Reflect?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(i){return i.__proto__}:null);function addNumericSeparator(i,s){if(i===1/0||i===-1/0||i!=i||i&&i>-1e3&&i<1e3||be.call(/e/,s))return s;var u=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if("number"==typeof i){var m=i<0?-xe(-i):xe(i);if(m!==i){var v=String(m),_=pe.call(s,v.length+1);return de.call(v,u,"$&_")+"."+de.call(de.call(_,/([0-9]{3})/g,"$&_"),/_$/,"")}}return de.call(s,u,"$&_")}var We=u(24654),He=We.custom,Xe=isSymbol(He)?He:null;function wrapQuotes(i,s,u){var m="double"===(u.quoteStyle||s)?'"':"'";return m+i+m}function quote(i){return de.call(String(i),/"/g,""")}function isArray(i){return!("[object Array]"!==toStr(i)||qe&&"object"==typeof i&&qe in i)}function isRegExp(i){return!("[object RegExp]"!==toStr(i)||qe&&"object"==typeof i&&qe in i)}function isSymbol(i){if(Re)return i&&"object"==typeof i&&i instanceof Symbol;if("symbol"==typeof i)return!0;if(!i||"object"!=typeof i||!Te)return!1;try{return Te.call(i),!0}catch(i){}return!1}i.exports=function inspect_(i,s,u,m){var v=s||{};if(has(v,"quoteStyle")&&"single"!==v.quoteStyle&&"double"!==v.quoteStyle)throw new TypeError('option "quoteStyle" must be "single" or "double"');if(has(v,"maxStringLength")&&("number"==typeof v.maxStringLength?v.maxStringLength<0&&v.maxStringLength!==1/0:null!==v.maxStringLength))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var M=!has(v,"customInspect")||v.customInspect;if("boolean"!=typeof M&&"symbol"!==M)throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(has(v,"indent")&&null!==v.indent&&"\t"!==v.indent&&!(parseInt(v.indent,10)===v.indent&&v.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(has(v,"numericSeparator")&&"boolean"!=typeof v.numericSeparator)throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var $=v.numericSeparator;if(void 0===i)return"undefined";if(null===i)return"null";if("boolean"==typeof i)return i?"true":"false";if("string"==typeof i)return inspectString(i,v);if("number"==typeof i){if(0===i)return 1/0/i>0?"0":"-0";var ae=String(i);return $?addNumericSeparator(i,ae):ae}if("bigint"==typeof i){var fe=String(i)+"n";return $?addNumericSeparator(i,fe):fe}var be=void 0===v.depth?5:v.depth;if(void 0===u&&(u=0),u>=be&&be>0&&"object"==typeof i)return isArray(i)?"[Array]":"[Object]";var xe=function getIndent(i,s){var u;if("\t"===i.indent)u="\t";else{if(!("number"==typeof i.indent&&i.indent>0))return null;u=we.call(Array(i.indent+1)," ")}return{base:u,prev:we.call(Array(s+1),u)}}(v,u);if(void 0===m)m=[];else if(indexOf(m,i)>=0)return"[Circular]";function inspect(i,s,_){if(s&&(m=Se.call(m)).push(s),_){var j={depth:v.depth};return has(v,"quoteStyle")&&(j.quoteStyle=v.quoteStyle),inspect_(i,j,u+1,m)}return inspect_(i,v,u+1,m)}if("function"==typeof i&&!isRegExp(i)){var Ie=function nameOf(i){if(i.name)return i.name;var s=ce.call(le.call(i),/^function\s*([\w$]+)/);if(s)return s[1];return null}(i),He=arrObjKeys(i,inspect);return"[Function"+(Ie?": "+Ie:" (anonymous)")+"]"+(He.length>0?" { "+we.call(He,", ")+" }":"")}if(isSymbol(i)){var Ye=Re?de.call(String(i),/^(Symbol\(.*\))_[^)]*$/,"$1"):Te.call(i);return"object"!=typeof i||Re?Ye:markBoxed(Ye)}if(function isElement(i){if(!i||"object"!=typeof i)return!1;if("undefined"!=typeof HTMLElement&&i instanceof HTMLElement)return!0;return"string"==typeof i.nodeName&&"function"==typeof i.getAttribute}(i)){for(var Qe="<"+ye.call(String(i.nodeName)),et=i.attributes||[],tt=0;tt"}if(isArray(i)){if(0===i.length)return"[]";var rt=arrObjKeys(i,inspect);return xe&&!function singleLineValues(i){for(var s=0;s=0)return!1;return!0}(rt)?"["+indentedJoin(rt,xe)+"]":"[ "+we.call(rt,", ")+" ]"}if(function isError(i){return!("[object Error]"!==toStr(i)||qe&&"object"==typeof i&&qe in i)}(i)){var nt=arrObjKeys(i,inspect);return"cause"in Error.prototype||!("cause"in i)||ze.call(i,"cause")?0===nt.length?"["+String(i)+"]":"{ ["+String(i)+"] "+we.call(nt,", ")+" }":"{ ["+String(i)+"] "+we.call(_e.call("[cause]: "+inspect(i.cause),nt),", ")+" }"}if("object"==typeof i&&M){if(Xe&&"function"==typeof i[Xe]&&We)return We(i,{depth:be-u});if("symbol"!==M&&"function"==typeof i.inspect)return i.inspect()}if(function isMap(i){if(!_||!i||"object"!=typeof i)return!1;try{_.call(i);try{W.call(i)}catch(i){return!0}return i instanceof Map}catch(i){}return!1}(i)){var ot=[];return j&&j.call(i,(function(s,u){ot.push(inspect(u,i,!0)+" => "+inspect(s,i))})),collectionOf("Map",_.call(i),ot,xe)}if(function isSet(i){if(!W||!i||"object"!=typeof i)return!1;try{W.call(i);try{_.call(i)}catch(i){return!0}return i instanceof Set}catch(i){}return!1}(i)){var it=[];return X&&X.call(i,(function(s){it.push(inspect(s,i))})),collectionOf("Set",W.call(i),it,xe)}if(function isWeakMap(i){if(!Y||!i||"object"!=typeof i)return!1;try{Y.call(i,Y);try{Z.call(i,Z)}catch(i){return!0}return i instanceof WeakMap}catch(i){}return!1}(i))return weakCollectionOf("WeakMap");if(function isWeakSet(i){if(!Z||!i||"object"!=typeof i)return!1;try{Z.call(i,Z);try{Y.call(i,Y)}catch(i){return!0}return i instanceof WeakSet}catch(i){}return!1}(i))return weakCollectionOf("WeakSet");if(function isWeakRef(i){if(!ee||!i||"object"!=typeof i)return!1;try{return ee.call(i),!0}catch(i){}return!1}(i))return weakCollectionOf("WeakRef");if(function isNumber(i){return!("[object Number]"!==toStr(i)||qe&&"object"==typeof i&&qe in i)}(i))return markBoxed(inspect(Number(i)));if(function isBigInt(i){if(!i||"object"!=typeof i||!Pe)return!1;try{return Pe.call(i),!0}catch(i){}return!1}(i))return markBoxed(inspect(Pe.call(i)));if(function isBoolean(i){return!("[object Boolean]"!==toStr(i)||qe&&"object"==typeof i&&qe in i)}(i))return markBoxed(ie.call(i));if(function isString(i){return!("[object String]"!==toStr(i)||qe&&"object"==typeof i&&qe in i)}(i))return markBoxed(inspect(String(i)));if(!function isDate(i){return!("[object Date]"!==toStr(i)||qe&&"object"==typeof i&&qe in i)}(i)&&!isRegExp(i)){var at=arrObjKeys(i,inspect),st=Ve?Ve(i)===Object.prototype:i instanceof Object||i.constructor===Object,lt=i instanceof Object?"":"null prototype",ct=!st&&qe&&Object(i)===i&&qe in i?pe.call(toStr(i),8,-1):lt?"Object":"",ut=(st||"function"!=typeof i.constructor?"":i.constructor.name?i.constructor.name+" ":"")+(ct||lt?"["+we.call(_e.call([],ct||[],lt||[]),": ")+"] ":"");return 0===at.length?ut+"{}":xe?ut+"{"+indentedJoin(at,xe)+"}":ut+"{ "+we.call(at,", ")+" }"}return String(i)};var Ye=Object.prototype.hasOwnProperty||function(i){return i in this};function has(i,s){return Ye.call(i,s)}function toStr(i){return ae.call(i)}function indexOf(i,s){if(i.indexOf)return i.indexOf(s);for(var u=0,m=i.length;us.maxStringLength){var u=i.length-s.maxStringLength,m="... "+u+" more character"+(u>1?"s":"");return inspectString(pe.call(i,0,s.maxStringLength),s)+m}return wrapQuotes(de.call(de.call(i,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,lowbyte),"single",s)}function lowbyte(i){var s=i.charCodeAt(0),u={8:"b",9:"t",10:"n",12:"f",13:"r"}[s];return u?"\\"+u:"\\x"+(s<16?"0":"")+fe.call(s.toString(16))}function markBoxed(i){return"Object("+i+")"}function weakCollectionOf(i){return i+" { ? }"}function collectionOf(i,s,u,m){return i+" ("+s+") {"+(m?indentedJoin(u,m):we.call(u,", "))+"}"}function indentedJoin(i,s){if(0===i.length)return"";var u="\n"+s.prev+s.base;return u+we.call(i,","+u)+"\n"+s.prev}function arrObjKeys(i,s){var u=isArray(i),m=[];if(u){m.length=i.length;for(var v=0;v{var s,u,m=i.exports={};function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}function runTimeout(i){if(s===setTimeout)return setTimeout(i,0);if((s===defaultSetTimout||!s)&&setTimeout)return s=setTimeout,setTimeout(i,0);try{return s(i,0)}catch(u){try{return s.call(null,i,0)}catch(u){return s.call(this,i,0)}}}!function(){try{s="function"==typeof setTimeout?setTimeout:defaultSetTimout}catch(i){s=defaultSetTimout}try{u="function"==typeof clearTimeout?clearTimeout:defaultClearTimeout}catch(i){u=defaultClearTimeout}}();var v,_=[],j=!1,M=-1;function cleanUpNextTick(){j&&v&&(j=!1,v.length?_=v.concat(_):M=-1,_.length&&drainQueue())}function drainQueue(){if(!j){var i=runTimeout(cleanUpNextTick);j=!0;for(var s=_.length;s;){for(v=_,_=[];++M1)for(var u=1;u{"use strict";var m=u(50414);function emptyFunction(){}function emptyFunctionWithReset(){}emptyFunctionWithReset.resetWarningCache=emptyFunction,i.exports=function(){function shim(i,s,u,v,_,j){if(j!==m){var M=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw M.name="Invariant Violation",M}}function getShim(){return shim}shim.isRequired=shim;var i={array:shim,bigint:shim,bool:shim,func:shim,number:shim,object:shim,string:shim,symbol:shim,any:shim,arrayOf:getShim,element:shim,elementType:shim,instanceOf:getShim,node:shim,objectOf:getShim,oneOf:getShim,oneOfType:getShim,shape:getShim,exact:getShim,checkPropTypes:emptyFunctionWithReset,resetWarningCache:emptyFunction};return i.PropTypes=i,i}},45697:(i,s,u)=>{i.exports=u(92703)()},50414:i=>{"use strict";i.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},55798:i=>{"use strict";var s=String.prototype.replace,u=/%20/g,m="RFC1738",v="RFC3986";i.exports={default:v,formatters:{RFC1738:function(i){return s.call(i,u,"+")},RFC3986:function(i){return String(i)}},RFC1738:m,RFC3986:v}},80129:(i,s,u)=>{"use strict";var m=u(58261),v=u(55235),_=u(55798);i.exports={formats:_,parse:v,stringify:m}},55235:(i,s,u)=>{"use strict";var m=u(12769),v=Object.prototype.hasOwnProperty,_=Array.isArray,j={allowDots:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decoder:m.decode,delimiter:"&",depth:5,ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},interpretNumericEntities=function(i){return i.replace(/&#(\d+);/g,(function(i,s){return String.fromCharCode(parseInt(s,10))}))},parseArrayValue=function(i,s){return i&&"string"==typeof i&&s.comma&&i.indexOf(",")>-1?i.split(","):i},M=function parseQueryStringKeys(i,s,u,m){if(i){var _=u.allowDots?i.replace(/\.([^.[]+)/g,"[$1]"):i,j=/(\[[^[\]]*])/g,M=u.depth>0&&/(\[[^[\]]*])/.exec(_),$=M?_.slice(0,M.index):_,W=[];if($){if(!u.plainObjects&&v.call(Object.prototype,$)&&!u.allowPrototypes)return;W.push($)}for(var X=0;u.depth>0&&null!==(M=j.exec(_))&&X=0;--_){var j,M=i[_];if("[]"===M&&u.parseArrays)j=[].concat(v);else{j=u.plainObjects?Object.create(null):{};var $="["===M.charAt(0)&&"]"===M.charAt(M.length-1)?M.slice(1,-1):M,W=parseInt($,10);u.parseArrays||""!==$?!isNaN(W)&&M!==$&&String(W)===$&&W>=0&&u.parseArrays&&W<=u.arrayLimit?(j=[])[W]=v:"__proto__"!==$&&(j[$]=v):j={0:v}}v=j}return v}(W,s,u,m)}};i.exports=function(i,s){var u=function normalizeParseOptions(i){if(!i)return j;if(null!==i.decoder&&void 0!==i.decoder&&"function"!=typeof i.decoder)throw new TypeError("Decoder has to be a function.");if(void 0!==i.charset&&"utf-8"!==i.charset&&"iso-8859-1"!==i.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var s=void 0===i.charset?j.charset:i.charset;return{allowDots:void 0===i.allowDots?j.allowDots:!!i.allowDots,allowPrototypes:"boolean"==typeof i.allowPrototypes?i.allowPrototypes:j.allowPrototypes,allowSparse:"boolean"==typeof i.allowSparse?i.allowSparse:j.allowSparse,arrayLimit:"number"==typeof i.arrayLimit?i.arrayLimit:j.arrayLimit,charset:s,charsetSentinel:"boolean"==typeof i.charsetSentinel?i.charsetSentinel:j.charsetSentinel,comma:"boolean"==typeof i.comma?i.comma:j.comma,decoder:"function"==typeof i.decoder?i.decoder:j.decoder,delimiter:"string"==typeof i.delimiter||m.isRegExp(i.delimiter)?i.delimiter:j.delimiter,depth:"number"==typeof i.depth||!1===i.depth?+i.depth:j.depth,ignoreQueryPrefix:!0===i.ignoreQueryPrefix,interpretNumericEntities:"boolean"==typeof i.interpretNumericEntities?i.interpretNumericEntities:j.interpretNumericEntities,parameterLimit:"number"==typeof i.parameterLimit?i.parameterLimit:j.parameterLimit,parseArrays:!1!==i.parseArrays,plainObjects:"boolean"==typeof i.plainObjects?i.plainObjects:j.plainObjects,strictNullHandling:"boolean"==typeof i.strictNullHandling?i.strictNullHandling:j.strictNullHandling}}(s);if(""===i||null==i)return u.plainObjects?Object.create(null):{};for(var $="string"==typeof i?function parseQueryStringValues(i,s){var u,M={},$=s.ignoreQueryPrefix?i.replace(/^\?/,""):i,W=s.parameterLimit===1/0?void 0:s.parameterLimit,X=$.split(s.delimiter,W),Y=-1,Z=s.charset;if(s.charsetSentinel)for(u=0;u-1&&(ie=_(ie)?[ie]:ie),v.call(M,ee)?M[ee]=m.combine(M[ee],ie):M[ee]=ie}return M}(i,u):i,W=u.plainObjects?Object.create(null):{},X=Object.keys($),Y=0;Y{"use strict";var m=u(37478),v=u(12769),_=u(55798),j=Object.prototype.hasOwnProperty,M={brackets:function brackets(i){return i+"[]"},comma:"comma",indices:function indices(i,s){return i+"["+s+"]"},repeat:function repeat(i){return i}},$=Array.isArray,W=String.prototype.split,X=Array.prototype.push,pushToArray=function(i,s){X.apply(i,$(s)?s:[s])},Y=Date.prototype.toISOString,Z=_.default,ee={addQueryPrefix:!1,allowDots:!1,charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encoder:v.encode,encodeValuesOnly:!1,format:Z,formatter:_.formatters[Z],indices:!1,serializeDate:function serializeDate(i){return Y.call(i)},skipNulls:!1,strictNullHandling:!1},ie={},ae=function stringify(i,s,u,_,j,M,X,Y,Z,ae,le,ce,pe,de,fe,ye){for(var be=i,_e=ye,we=0,Se=!1;void 0!==(_e=_e.get(ie))&&!Se;){var xe=_e.get(i);if(we+=1,void 0!==xe){if(xe===we)throw new RangeError("Cyclic object value");Se=!0}void 0===_e.get(ie)&&(we=0)}if("function"==typeof Y?be=Y(s,be):be instanceof Date?be=le(be):"comma"===u&&$(be)&&(be=v.maybeMap(be,(function(i){return i instanceof Date?le(i):i}))),null===be){if(j)return X&&!de?X(s,ee.encoder,fe,"key",ce):s;be=""}if(function isNonNullishPrimitive(i){return"string"==typeof i||"number"==typeof i||"boolean"==typeof i||"symbol"==typeof i||"bigint"==typeof i}(be)||v.isBuffer(be)){if(X){var Pe=de?s:X(s,ee.encoder,fe,"key",ce);if("comma"===u&&de){for(var Ie=W.call(String(be),","),Te="",Re=0;Re0?be.join(",")||null:void 0}];else if($(Y))qe=Y;else{var Ve=Object.keys(be);qe=Z?Ve.sort(Z):Ve}for(var We=_&&$(be)&&1===be.length?s+"[]":s,He=0;He0?fe+de:""}},12769:(i,s,u)=>{"use strict";var m=u(55798),v=Object.prototype.hasOwnProperty,_=Array.isArray,j=function(){for(var i=[],s=0;s<256;++s)i.push("%"+((s<16?"0":"")+s.toString(16)).toUpperCase());return i}(),M=function arrayToObject(i,s){for(var u=s&&s.plainObjects?Object.create(null):{},m=0;m1;){var s=i.pop(),u=s.obj[s.prop];if(_(u)){for(var m=[],v=0;v=48&&X<=57||X>=65&&X<=90||X>=97&&X<=122||_===m.RFC1738&&(40===X||41===X)?$+=M.charAt(W):X<128?$+=j[X]:X<2048?$+=j[192|X>>6]+j[128|63&X]:X<55296||X>=57344?$+=j[224|X>>12]+j[128|X>>6&63]+j[128|63&X]:(W+=1,X=65536+((1023&X)<<10|1023&M.charCodeAt(W)),$+=j[240|X>>18]+j[128|X>>12&63]+j[128|X>>6&63]+j[128|63&X])}return $},isBuffer:function isBuffer(i){return!(!i||"object"!=typeof i)&&!!(i.constructor&&i.constructor.isBuffer&&i.constructor.isBuffer(i))},isRegExp:function isRegExp(i){return"[object RegExp]"===Object.prototype.toString.call(i)},maybeMap:function maybeMap(i,s){if(_(i)){for(var u=[],m=0;m{"use strict";var u=Object.prototype.hasOwnProperty;function decode(i){try{return decodeURIComponent(i.replace(/\+/g," "))}catch(i){return null}}function encode(i){try{return encodeURIComponent(i)}catch(i){return null}}s.stringify=function querystringify(i,s){s=s||"";var m,v,_=[];for(v in"string"!=typeof s&&(s="?"),i)if(u.call(i,v)){if((m=i[v])||null!=m&&!isNaN(m)||(m=""),v=encode(v),m=encode(m),null===v||null===m)continue;_.push(v+"="+m)}return _.length?s+_.join("&"):""},s.parse=function querystring(i){for(var s,u=/([^=?#&]+)=?([^&]*)/g,m={};s=u.exec(i);){var v=decode(s[1]),_=decode(s[2]);null===v||null===_||v in m||(m[v]=_)}return m}},14419:(i,s,u)=>{const m=u(60697),v=u(69450),_=m.types;i.exports=class RandExp{constructor(i,s){if(this._setDefaults(i),i instanceof RegExp)this.ignoreCase=i.ignoreCase,this.multiline=i.multiline,i=i.source;else{if("string"!=typeof i)throw new Error("Expected a regexp or string");this.ignoreCase=s&&-1!==s.indexOf("i"),this.multiline=s&&-1!==s.indexOf("m")}this.tokens=m(i)}_setDefaults(i){this.max=null!=i.max?i.max:null!=RandExp.prototype.max?RandExp.prototype.max:100,this.defaultRange=i.defaultRange?i.defaultRange:this.defaultRange.clone(),i.randInt&&(this.randInt=i.randInt)}gen(){return this._gen(this.tokens,[])}_gen(i,s){var u,m,v,j,M;switch(i.type){case _.ROOT:case _.GROUP:if(i.followedBy||i.notFollowedBy)return"";for(i.remember&&void 0===i.groupNumber&&(i.groupNumber=s.push(null)-1),m="",j=0,M=(u=i.options?this._randSelect(i.options):i.stack).length;j{"use strict";var m=u(34155),v=65536,_=4294967295;var j=u(89509).Buffer,M=u.g.crypto||u.g.msCrypto;M&&M.getRandomValues?i.exports=function randomBytes(i,s){if(i>_)throw new RangeError("requested too many random bytes");var u=j.allocUnsafe(i);if(i>0)if(i>v)for(var $=0;${"use strict";function _typeof(i){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(i){return typeof i}:function(i){return i&&"function"==typeof Symbol&&i.constructor===Symbol&&i!==Symbol.prototype?"symbol":typeof i},_typeof(i)}Object.defineProperty(s,"__esModule",{value:!0}),s.CopyToClipboard=void 0;var m=_interopRequireDefault(u(67294)),v=_interopRequireDefault(u(20640)),_=["text","onCopy","options","children"];function _interopRequireDefault(i){return i&&i.__esModule?i:{default:i}}function ownKeys(i,s){var u=Object.keys(i);if(Object.getOwnPropertySymbols){var m=Object.getOwnPropertySymbols(i);s&&(m=m.filter((function(s){return Object.getOwnPropertyDescriptor(i,s).enumerable}))),u.push.apply(u,m)}return u}function _objectSpread(i){for(var s=1;s=0||(v[u]=i[u]);return v}(i,s);if(Object.getOwnPropertySymbols){var _=Object.getOwnPropertySymbols(i);for(m=0;m<_.length;m++)u=_[m],s.indexOf(u)>=0||Object.prototype.propertyIsEnumerable.call(i,u)&&(v[u]=i[u])}return v}function _defineProperties(i,s){for(var u=0;u{"use strict";var m=u(74300).CopyToClipboard;m.CopyToClipboard=m,i.exports=m},53441:(i,s,u)=>{"use strict";function _typeof(i){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(i){return typeof i}:function(i){return i&&"function"==typeof Symbol&&i.constructor===Symbol&&i!==Symbol.prototype?"symbol":typeof i},_typeof(i)}Object.defineProperty(s,"__esModule",{value:!0}),s.DebounceInput=void 0;var m=_interopRequireDefault(u(67294)),v=_interopRequireDefault(u(91296)),_=["element","onChange","value","minLength","debounceTimeout","forceNotifyByEnter","forceNotifyOnBlur","onKeyDown","onBlur","inputRef"];function _interopRequireDefault(i){return i&&i.__esModule?i:{default:i}}function _objectWithoutProperties(i,s){if(null==i)return{};var u,m,v=function _objectWithoutPropertiesLoose(i,s){if(null==i)return{};var u,m,v={},_=Object.keys(i);for(m=0;m<_.length;m++)u=_[m],s.indexOf(u)>=0||(v[u]=i[u]);return v}(i,s);if(Object.getOwnPropertySymbols){var _=Object.getOwnPropertySymbols(i);for(m=0;m<_.length;m++)u=_[m],s.indexOf(u)>=0||Object.prototype.propertyIsEnumerable.call(i,u)&&(v[u]=i[u])}return v}function ownKeys(i,s){var u=Object.keys(i);if(Object.getOwnPropertySymbols){var m=Object.getOwnPropertySymbols(i);s&&(m=m.filter((function(s){return Object.getOwnPropertyDescriptor(i,s).enumerable}))),u.push.apply(u,m)}return u}function _objectSpread(i){for(var s=1;s=m?u.notify(i):s.length>v.length&&u.notify(_objectSpread(_objectSpread({},i),{},{target:_objectSpread(_objectSpread({},i.target),{},{value:""})}))}))})),_defineProperty(_assertThisInitialized(u),"onKeyDown",(function(i){"Enter"===i.key&&u.forceNotify(i);var s=u.props.onKeyDown;s&&(i.persist(),s(i))})),_defineProperty(_assertThisInitialized(u),"onBlur",(function(i){u.forceNotify(i);var s=u.props.onBlur;s&&(i.persist(),s(i))})),_defineProperty(_assertThisInitialized(u),"createNotifier",(function(i){if(i<0)u.notify=function(){return null};else if(0===i)u.notify=u.doNotify;else{var s=(0,v.default)((function(i){u.isDebouncing=!1,u.doNotify(i)}),i);u.notify=function(i){u.isDebouncing=!0,s(i)},u.flush=function(){return s.flush()},u.cancel=function(){u.isDebouncing=!1,s.cancel()}}})),_defineProperty(_assertThisInitialized(u),"doNotify",(function(){u.props.onChange.apply(void 0,arguments)})),_defineProperty(_assertThisInitialized(u),"forceNotify",(function(i){var s=u.props.debounceTimeout;if(u.isDebouncing||!(s>0)){u.cancel&&u.cancel();var m=u.state.value,v=u.props.minLength;m.length>=v?u.doNotify(i):u.doNotify(_objectSpread(_objectSpread({},i),{},{target:_objectSpread(_objectSpread({},i.target),{},{value:m})}))}})),u.isDebouncing=!1,u.state={value:void 0===i.value||null===i.value?"":i.value};var m=u.props.debounceTimeout;return u.createNotifier(m),u}return function _createClass(i,s,u){return s&&_defineProperties(i.prototype,s),u&&_defineProperties(i,u),Object.defineProperty(i,"prototype",{writable:!1}),i}(DebounceInput,[{key:"componentDidUpdate",value:function componentDidUpdate(i){if(!this.isDebouncing){var s=this.props,u=s.value,m=s.debounceTimeout,v=i.debounceTimeout,_=i.value,j=this.state.value;void 0!==u&&_!==u&&j!==u&&this.setState({value:u}),m!==v&&this.createNotifier(m)}}},{key:"componentWillUnmount",value:function componentWillUnmount(){this.flush&&this.flush()}},{key:"render",value:function render(){var i,s,u=this.props,v=u.element,j=(u.onChange,u.value,u.minLength,u.debounceTimeout,u.forceNotifyByEnter),M=u.forceNotifyOnBlur,$=u.onKeyDown,W=u.onBlur,X=u.inputRef,Y=_objectWithoutProperties(u,_),Z=this.state.value;i=j?{onKeyDown:this.onKeyDown}:$?{onKeyDown:$}:{},s=M?{onBlur:this.onBlur}:W?{onBlur:W}:{};var ee=X?{ref:X}:{};return m.default.createElement(v,_objectSpread(_objectSpread(_objectSpread(_objectSpread({},Y),{},{onChange:this.onChange,value:Z},i),s),ee))}}]),DebounceInput}(m.default.PureComponent);s.DebounceInput=j,_defineProperty(j,"defaultProps",{element:"input",type:"text",onKeyDown:void 0,onBlur:void 0,value:void 0,minLength:0,debounceTimeout:100,forceNotifyByEnter:!0,forceNotifyOnBlur:!0,inputRef:void 0})},775:(i,s,u)=>{"use strict";var m=u(53441).DebounceInput;m.DebounceInput=m,i.exports=m},64448:(i,s,u)=>{"use strict";var m=u(67294),v=u(27418),_=u(63840);function y(i){for(var s="https://reactjs.org/docs/error-decoder.html?invariant="+i,u=1;u