@100mslive/roomkit-react 0.3.39 → 0.3.40-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.css +2 -2
- package/dist/index.cjs.css.map +1 -1
- package/dist/index.cjs.js +2250 -1625
- package/dist/index.cjs.js.map +4 -4
- package/dist/index.css +2 -2
- package/dist/index.css.map +1 -1
- package/dist/index.js +2261 -1636
- package/dist/index.js.map +4 -4
- package/dist/meta.cjs.json +26 -26
- package/dist/meta.esbuild.json +26 -26
- package/package.json +7 -7
package/dist/index.cjs.js
CHANGED
|
@@ -35,8 +35,8 @@ var __objRest = (source, exclude) => {
|
|
|
35
35
|
}
|
|
36
36
|
return target;
|
|
37
37
|
};
|
|
38
|
-
var __esm = (
|
|
39
|
-
return
|
|
38
|
+
var __esm = (fn2, res) => function __init() {
|
|
39
|
+
return fn2 && (res = (0, fn2[__getOwnPropNames(fn2)[0]])(fn2 = 0)), res;
|
|
40
40
|
};
|
|
41
41
|
var __commonJS = (cb, mod) => function __require() {
|
|
42
42
|
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
@@ -100,7 +100,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
100
100
|
reject(e);
|
|
101
101
|
}
|
|
102
102
|
};
|
|
103
|
-
var step = (
|
|
103
|
+
var step = (x2) => x2.done ? resolve(x2.value) : Promise.resolve(x2.value).then(fulfilled, rejected);
|
|
104
104
|
step((generator = generator.apply(__this, __arguments)).next());
|
|
105
105
|
});
|
|
106
106
|
};
|
|
@@ -109,7 +109,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
109
109
|
var define_process_env_default;
|
|
110
110
|
var init_define_process_env = __esm({
|
|
111
111
|
"<define:process.env>"() {
|
|
112
|
-
define_process_env_default = { GITHUB_STATE: "/home/runner/work/_temp/_runner_file_commands/save_state_d1b8aae5-fafa-4266-96da-0e43c423c6ab", npm_package_devDependencies_ts_node: "^10.4.0", npm_package_devDependencies__types_node: "^16.11.17", npm_package_exports___index_css: "./dist/index.css", npm_package_exports___require: "./dist/index.cjs.js", DOTNET_NOLOGO: "1", npm_package_dependencies_screenfull: "^5.1.0", npm_package_dependencies_react_draggable: "^4.4.5", npm_package_dependencies__radix_ui_react_switch: "1.0.0", npm_package_dependencies__100mslive_hms_whiteboard: "0.0.29", USER: "runner", npm_package_devDependencies_jest: "^29.7.0", npm_config_version_commit_hooks: "true", npm_config_user_agent: "yarn/1.22.22 npm/? node/v18.20.8 linux x64", npm_config_always_auth: "", NX_WORKSPACE_ROOT: "/home/runner/work/web-sdks/web-sdks", npm_package_scripts_babel: "npx storybook@latest babelrc", CI: "true", npm_package_devDependencies__size_limit_file: "^5.0.3", npm_config_bin_links: "true", npm_config_wrap_output: "", npm_package_dependencies__radix_ui_react_tabs: "1.0.0", npm_package_dependencies__100mslive_react_sdk: "0.10.39", RUNNER_ENVIRONMENT: "github-hosted", GITHUB_ENV: "/home/runner/work/_temp/_runner_file_commands/set_env_d1b8aae5-fafa-4266-96da-0e43c423c6ab", PIPX_HOME: "/opt/pipx", npm_node_execpath: "/opt/hostedtoolcache/node/18.20.8/x64/bin/node", npm_config_init_version: "1.0.0", npm_package_dependencies__emoji_mart_react: "^1.0.1", npm_package_dependencies__emoji_mart_data: "^1.0.6", npm_package_dependencies__100mslive_hms_virtual_background: "1.13.39", JAVA_HOME_8_X64: "/usr/lib/jvm/temurin-8-jdk-amd64", NODE_AUTH_TOKEN: "XXXXX-XXXXX-XXXXX-XXXXX", SHLVL: "1", npm_package_dependencies__radix_ui_react_tooltip: "1.0.6", npm_package_dependencies__radix_ui_react_popover: "1.0.6", npm_package_dependencies__100mslive_types_prebuilt: "0.12.12", npm_package_peerDependencies_react: ">=17.0.2 <19.0.0", npm_package_devDependencies__storybook_addon_links: "^7.0.27", npm_package_files_0: "dist", HOME: "/home/runner", npm_package_devDependencies__typescript_eslint_parser: "^5.4.0", npm_package_dependencies__radix_ui_react_dialog: "1.0.4", npm_package_devDependencies__types_react_window: "^1.8.5", npm_package_files_1: "src", npm_package_repository_directory: "packages/roomkit-react", RUNNER_TEMP: "/home/runner/work/_temp", GITHUB_EVENT_PATH: "/home/runner/work/_temp/_github_workflow/event.json", npm_package_scripts_controller: "cd packages/hls-controller && yarn start", npm_package_dependencies__stitches_react: "1.3.1-1", JAVA_HOME_11_X64: "/usr/lib/jvm/temurin-11-jdk-amd64", PIPX_BIN_DIR: "/opt/pipx_bin", GITHUB_REPOSITORY_OWNER: "100mslive", npm_package_engines_node: ">=16", npm_package_devDependencies_typedoc_plugin_markdown: "^3.14.0", npm_config_init_license: "MIT", GRADLE_HOME: "/usr/share/gradle-9.0.0", ANDROID_NDK_LATEST_HOME: "/usr/local/lib/android/sdk/ndk/28.2.13676358", JAVA_HOME_21_X64: "/usr/lib/jvm/temurin-21-jdk-amd64", GITHUB_RETENTION_DAYS: "90", YARN_WRAP_OUTPUT: "false", npm_config_version_tag_prefix: "v", GITHUB_REPOSITORY_OWNER_ID: "73883131", POWERSHELL_DISTRIBUTION_CHANNEL: "GitHub-Actions-ubuntu24", AZURE_EXTENSION_DIR: "/opt/az/azcliextensions", GITHUB_HEAD_REF: "", npm_package_scripts_lint_fix: "yarn lint --fix", npm_config_userconfig: "/home/runner/work/_temp/.npmrc", npm_package_devDependencies__storybook_addon_a11y: "^7.0.27", SYSTEMD_EXEC_PID: "1875", npm_package_scripts_postinstall: "husky install", npm_package_devDependencies_husky: "^6.0.0", npm_package_dependencies_recordrtc: "^5.6.2", npm_package_dependencies_eventemitter2: "^6.4.9", npm_package_dependencies__radix_ui_react_label: "1.0.0", npm_package_dependencies__radix_ui_react_dropdown_menu: "2.0.5", npm_package_keywords_0: "100mslive", GITHUB_GRAPHQL_URL: "https://api.github.com/graphql", npm_package_description: "100ms Room Kit provides simple & easy to use UI components to build Live Streaming & Video Conferencing experiences in your apps.", npm_package_devDependencies_typescript: "~4.7.4", npm_package_devDependencies_typedoc: "^0.24.8", npm_package_devDependencies_babel_loader: "^8.2.5", npm_package_keywords_1: "react", NVM_DIR: "/home/runner/.nvm", npm_package_readmeFilename: "README.md", npm_package_devDependencies_react: "^18.1.0", npm_package_devDependencies__babel_preset_env: "^7.22.5", npm_package_keywords_2: "prebuilt", DOTNET_SKIP_FIRST_TIME_EXPERIENCE: "1", JAVA_HOME_17_X64: "/usr/lib/jvm/temurin-17-jdk-amd64", ImageVersion: "20250915.37.1", npm_package_devDependencies_prettier: "^2.4.1", npm_package_devDependencies_babel_jest: "^29.7.0", npm_package_scripts_dev: "node ../../scripts/dev", npm_package_keywords_3: "roomkit", LOGNAME: "runner", RUNNER_OS: "Linux", GITHUB_API_URL: "https://api.github.com", GOROOT_1_22_X64: "/opt/hostedtoolcache/go/1.22.12/x64", SWIFT_PATH: "/usr/share/swift/usr/bin", FORCE_COLOR: "true", npm_package_dependencies__radix_ui_react_toast: "1.0.0", npm_package_dependencies__radix_ui_react_radio_group: "1.0.0", npm_package_dependencies__100mslive_hms_noise_cancellation: "0.0.1", npm_package_devDependencies__babel_preset_typescript: "^7.22.5", npm_package_exports___default: "./dist/index.js", CHROMEWEBDRIVER: "/usr/local/share/chromedriver-linux64", GOROOT_1_23_X64: "/opt/hostedtoolcache/go/1.23.12/x64", JOURNAL_STREAM: "9:11660", GITHUB_WORKFLOW: "Publish Packages", _: "/usr/local/bin/yarn", npm_package_devDependencies_ts_jest: "^29.1.1", npm_package_devDependencies_lerna: "^5.6.2", npm_package_devDependencies__types_jest: "^27.0.3", npm_package_devDependencies__commitlint_config_conventional: "^19.6.0", npm_package_private: "true", npm_package_dependencies__radix_ui_react_accordion: "1.0.0", npm_package_devDependencies__babel_preset_react: "^7.22.5", npm_package_module: "dist/index.js", MEMORY_PRESSURE_WATCH: "/sys/fs/cgroup/system.slice/hosted-compute-agent.service/memory.pressure", GOROOT_1_24_X64: "/opt/hostedtoolcache/go/1.24.7/x64", npm_package_scripts_lint: "eslint -c .eslintrc --no-error-on-unmatched-pattern src --ext .js --ext .jsx --ext .ts --ext .tsx", npm_package_devDependencies__typescript_eslint_eslint_plugin: "^5.4.0", npm_config_registry: "https://registry.yarnpkg.com", npm_package_dependencies_react_window: "^1.8.7", npm_package_dependencies__100mslive_hls_player: "0.3.39", npm_package_devDependencies__types_lodash_merge: "^4.6.6", npm_package_devDependencies__storybook_cli: "^7.0.27", ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE: "/opt/actionarchivecache", GITHUB_RUN_ID: "17789362075", npm_package_workspaces_0: "packages/*", npm_package_scripts_store: "cd packages/hms-video-store && yarn start", npm_package_devDependencies__babel_core: "^7.18.2", npm_package_dependencies_ts_pattern: "4.3.0", npm_package_devDependencies__storybook_addon_interactions: "^7.0.27", npm_package_devDependencies__storybook_addon_actions: "^7.0.27", GITHUB_REF_TYPE: "branch", BOOTSTRAP_HASKELL_NONINTERACTIVE: "1", GITHUB_WORKFLOW_SHA: "42f8cd96ebaaca99872c8dae510b747e6ccd02fb", GITHUB_BASE_REF: "", ImageOS: "ubuntu24", npm_package_workspaces_1: "examples/*", npm_package_scripts_start: 'concurrently "yarn dev" "yarn types"', npm_config_ignore_scripts: "", NX_TASK_HASH: "bdb33d54fdac620981f021cb63bb43b5371b9101b281f828c42dc7f45b7a6a01", npm_package_exports___import: "./dist/index.js", GITHUB_WORKFLOW_REF: "100mslive/web-sdks/.github/workflows/publish.yml@refs/heads/main", GITHUB_ACTION_REPOSITORY: "", ENABLE_RUNNER_TRACING: "true", npm_package_scripts_prebuilt: "cd packages/roomkit-react && yarn start", npm_package_devDependencies_postcss_loader: "^6.2.1", npm_package_devDependencies_esbuild_loader: "^4.0.2", PATH: "/tmp/yarn--1758092231516-0.5535623433330032:/home/runner/work/web-sdks/web-sdks/packages/roomkit-react/node_modules/.bin:/home/runner/.config/yarn/link/node_modules/.bin:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/opt/hostedtoolcache/node/18.20.8/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.8/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.8/x64/bin/node_modules/npm/bin/node-gyp-bin:/tmp/yarn--1758092231323-0.14164655836774864:/home/runner/work/web-sdks/web-sdks/packages/roomkit-react/node_modules/.bin:/home/runner/.config/yarn/link/node_modules/.bin:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/opt/hostedtoolcache/node/18.20.8/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.8/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.8/x64/bin/node_modules/npm/bin/node-gyp-bin:/tmp/yarn--1758092205292-0.31607679605871053:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/home/runner/.config/yarn/link/node_modules/.bin:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/opt/hostedtoolcache/node/18.20.8/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.8/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.8/x64/bin/node_modules/npm/bin/node-gyp-bin:/tmp/yarn--1758092205120-0.24175984671023176:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/home/runner/.config/yarn/link/node_modules/.bin:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/opt/hostedtoolcache/node/18.20.8/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.8/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.8/x64/bin/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.8/x64/bin:/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin", NODE: "/opt/hostedtoolcache/node/18.20.8/x64/bin/node", ANT_HOME: "/usr/share/ant", DOTNET_MULTILEVEL_LOOKUP: "0", RUNNER_TRACKING_ID: "github_ee799690-24c7-4e9a-9ded-2277c3280fde", INVOCATION_ID: "ebf4189ba53f4bdaa4eacbe918fac09d", NPM_CONFIG_USERCONFIG: "/home/runner/work/_temp/.npmrc", RUNNER_TOOL_CACHE: "/opt/hostedtoolcache", npm_package_scripts_size: "size-limit", npm_package_devDependencies_size_limit: "^5.0.3", npm_package_name: "@100mslive/roomkit-react", npm_package_devDependencies__storybook_react_webpack5: "^7.0.27", npm_package_repository_type: "git", GITHUB_ACTION: "__run_3", GITHUB_RUN_NUMBER: "764", GITHUB_TRIGGERING_ACTOR: "raviteja83", RUNNER_ARCH: "X64", XDG_RUNTIME_DIR: "/run/user/1001", AGENT_TOOLSDIRECTORY: "/opt/hostedtoolcache", npm_package_lint_staged____js_ts_jsx_tsx_: "eslint", npm_package_devDependencies_babel_plugin_istanbul: "^6.1.1", LERNA_PACKAGE_NAME: "@100mslive/roomkit-react", npm_package_dependencies__radix_ui_react_select: "1.0.0", npm_package_size_limit_0_limit: "20 KB", npm_package_devDependencies__commitlint_cli: "^19.6.0", LANG: "C.UTF-8", VCPKG_INSTALLATION_ROOT: "/usr/local/share/vcpkg", npm_package_size_limit_1_limit: "20 KB", npm_package_devDependencies_eslint_plugin_simple_import_sort: "^8.0.0", npm_package_devDependencies_eslint: "^8.9.0", npm_package_dependencies_react_intersection_observer: "^9.4.3", npm_package_dependencies_react_dom: "^18.2.0", npm_package_devDependencies__types_mdx: "2.0.2", CONDA: "/usr/share/miniconda", RUNNER_NAME: "GitHub Actions 1000045595", XDG_CONFIG_HOME: "/home/runner/.config", GITHUB_REF_NAME: "main", GITHUB_REPOSITORY: "100mslive/web-sdks", npm_lifecycle_script: "rm -rf dist && node ../../scripts/build-webapp", npm_package_size_limit_2_limit: "400 KB", npm_package_resolutions_loader_utils: "^2.0.4", npm_package_devDependencies_dotenv: "^14.2.0", npm_package_dependencies__radix_ui_react_slider: "1.0.0", npm_package_scripts_types_build: "tsc -p tsconfig.json", npm_package_main: "dist/index.cjs.js", ANDROID_NDK_ROOT: "/usr/local/lib/android/sdk/ndk/27.3.13750724", GITHUB_ACTION_REF: "", DEBIAN_FRONTEND: "noninteractive", npm_package_size_limit_3_limit: "20 KB", npm_package_size_limit_0_path: "packages/hms-video-store/dist/index.cjs.js", npm_package_scripts_lerna_publish: "lerna publish from-package --dist-tag $PUBLISH_FLAG --yes --no-verify-access", npm_package_scripts_test: "yarn build --no-private && lerna run test", npm_package_devDependencies_concurrently: "^6.4.0", npm_config_version_git_message: "v%s", npm_package_dependencies__radix_ui_react_checkbox: "1.0.0", npm_package_dependencies__100mslive_react_icons: "0.10.39", npm_package_scripts_types: "tsc -w", SHELL: "/bin/bash", GITHUB_REPOSITORY_ID: "429826515", GITHUB_ACTIONS: "true", npm_lifecycle_event: "build:only", npm_package_version: "0.3.39", npm_package_size_limit_4_limit: "20 KB", npm_package_size_limit_1_path: "packages/hms-video-store/dist/index.js", npm_package_resolutions_axios: "^1.7.4", npm_package_scripts_build_only: "rm -rf dist && node ../../scripts/build-webapp", npm_package_devDependencies_jest_environment_jsdom: "^29.7.0", npm_package_devDependencies__types_react: "^18.1.0", npm_package_sideEffects: "false", npm_package_repository_url: "https://github.com/100mslive/web-sdks.git", npm_package_source: "src/index.ts", GITHUB_REF_PROTECTED: "true", npm_config_argv: '{"remain":[],"cooked":["run","test"],"original":["test"]}', npm_package_size_limit_5_limit: "20 KB", npm_package_size_limit_2_path: "packages/roomkit-react/dist/index.cjs.js", npm_package_scripts_build: "yarn build:only && yarn types:build", npm_package_devDependencies_tslib: "^2.2.0", npm_package_devDependencies_nx: "^14.5.1", npm_package_devDependencies_lint_staged: "^12.0.3", NX_CLI_SET: "true", npm_package_dependencies_uuid: "^8.3.2", npm_package_dependencies_react_virtualized_auto_sizer: "^1.0.7", npm_package_dependencies_lodash_merge: "^4.6.2", npm_package_dependencies_emoji_mart: "^5.2.2", GITHUB_WORKSPACE: "/home/runner/work/web-sdks/web-sdks", ACCEPT_EULA: "Y", GITHUB_JOB: "publish_packages", npm_package_size_limit_6_limit: "150 KB", npm_package_size_limit_3_path: "packages/roomkit-react/dist/index.js", GITHUB_SHA: "42f8cd96ebaaca99872c8dae510b747e6ccd02fb", GITHUB_RUN_ATTEMPT: "1", npm_package_size_limit_7_limit: "100 KB", npm_package_size_limit_4_path: "packages/hms-virtual-background/dist/index.cjs.js", npm_package_resolutions_form_data: "^4.0.4", npm_config_version_git_tag: "true", npm_config_version_git_sign: "", npm_package_dependencies_qrcode_react: "^3.1.0", GITHUB_REF: "refs/heads/main", GITHUB_ACTOR: "raviteja83", ANDROID_SDK_ROOT: "/usr/local/lib/android/sdk", npm_package_license: "MIT", npm_package_size_limit_5_path: "packages/hms-virtual-background/dist/index.js", npm_config_strict_ssl: "true", npm_package_size_limit_6_path: "packages/react-icons/dist/index.cjs.js", npm_package_scripts_format: "prettier -w src/**", npm_package_devDependencies_eslint_plugin_prettier: "^4.0.0", npm_package_devDependencies_eslint_config_react_app: "^7.0.0", NX_TASK_TARGET_PROJECT: "@100mslive/roomkit-react", GITHUB_PATH: "/home/runner/work/_temp/_runner_file_commands/add_path_d1b8aae5-fafa-4266-96da-0e43c423c6ab", JAVA_HOME: "/usr/lib/jvm/temurin-17-jdk-amd64", PWD: "/home/runner/work/web-sdks/web-sdks/packages/roomkit-react", GITHUB_ACTOR_ID: "6763261", RUNNER_WORKSPACE: "/home/runner/work/web-sdks", npm_execpath: "/usr/local/lib/node_modules/yarn/bin/yarn.js", npm_package_size_limit_7_path: "packages/react-icons/dist/index.js", npm_package_scripts_ybys: "yarn && yarn build --no-private && yarn storybook", npm_package_dependencies__radix_ui_react_progress: "1.0.0", HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS: "3650", GITHUB_EVENT_NAME: "workflow_dispatch", HOMEBREW_NO_AUTO_UPDATE: "1", ANDROID_HOME: "/usr/local/lib/android/sdk", GITHUB_SERVER_URL: "https://github.com", GECKOWEBDRIVER: "/usr/local/share/gecko_driver", GHCUP_INSTALL_BASE_PREFIX: "/usr/local", GITHUB_OUTPUT: "/home/runner/work/_temp/_runner_file_commands/set_output_d1b8aae5-fafa-4266-96da-0e43c423c6ab", npm_package_scripts_prestart: "rm -rf dist && yarn types:build", npm_package_author_name: "100ms", EDGEWEBDRIVER: "/usr/local/share/edge_driver", npm_package_scripts_build_storybook: "sb build", npm_package_devDependencies_postcss: "^8.4.5", npm_package_devDependencies_esbuild: "^0.18.13", npm_config_save_prefix: "^", npm_config_ignore_optional: "", npm_package_dependencies_worker_timers: "^7.0.40", npm_package_typings: "dist/index.d.ts", ANDROID_NDK: "/usr/local/lib/android/sdk/ndk/27.3.13750724", SGX_AESM_ADDR: "1", CHROME_BIN: "/usr/bin/google-chrome", npm_package_scripts_storybook: "sb dev -p 6006", npm_package_devDependencies_esbuild_plugin_postcss2: "0.1.1", npm_package_dependencies_react_swipeable: "^7.0.1", npm_package_devDependencies_babel_plugin_react_require: "3.1.3", npm_package_devDependencies__storybook_testing_library: "^0.2.0", npm_package_devDependencies__storybook_addon_essentials: "^7.0.27", SELENIUM_JAR_PATH: "/usr/share/java/selenium-server.jar", MEMORY_PRESSURE_WRITE: "c29tZSAyMDAwMDAgMjAwMDAwMAA=", npm_package_scripts_reactsdk: "cd packages/react-sdk && yarn start", npm_package_dependencies_react_use: "^17.4.0", npm_package_dependencies__radix_ui_react_collapsible: "1.0.0", npm_package_devDependencies_storybook_dark_mode: "^3.0.0", npm_package_devDependencies_knip: "^5.11.0", npm_package_devDependencies__storybook_react: "^7.0.27", INIT_CWD: "/home/runner/work/web-sdks/web-sdks", ANDROID_NDK_HOME: "/usr/local/lib/android/sdk/ndk/27.3.13750724", GITHUB_STEP_SUMMARY: "/home/runner/work/_temp/_runner_file_commands/step_summary_d1b8aae5-fafa-4266-96da-0e43c423c6ab" };
|
|
112
|
+
define_process_env_default = { GITHUB_STATE: "/home/runner/work/_temp/_runner_file_commands/save_state_db56eb4b-af73-4c2c-a8a5-5f693071c2af", npm_package_devDependencies_ts_node: "^10.4.0", npm_package_devDependencies__types_node: "^16.11.17", npm_package_exports___index_css: "./dist/index.css", npm_package_exports___require: "./dist/index.cjs.js", DOTNET_NOLOGO: "1", npm_package_dependencies_screenfull: "^5.1.0", npm_package_dependencies_react_draggable: "^4.4.5", npm_package_dependencies__radix_ui_react_switch: "1.0.0", npm_package_dependencies__100mslive_hms_whiteboard: "0.0.30-alpha.0", USER: "runner", npm_package_resolutions__octokit_request: "^8.4.1", npm_package_devDependencies_jest: "^29.7.0", npm_config_version_commit_hooks: "true", npm_config_user_agent: "yarn/1.22.22 npm/? node/v20.19.5 linux x64", npm_config_always_auth: "", NX_WORKSPACE_ROOT: "/home/runner/work/web-sdks/web-sdks", npm_package_scripts_babel: "npx storybook@latest babelrc", CI: "true", npm_package_devDependencies__size_limit_file: "^5.0.3", npm_config_bin_links: "true", npm_config_wrap_output: "", npm_package_dependencies__radix_ui_react_tabs: "1.0.0", npm_package_dependencies__100mslive_react_sdk: "0.10.40-alpha.0", RUNNER_ENVIRONMENT: "github-hosted", GITHUB_ENV: "/home/runner/work/_temp/_runner_file_commands/set_env_db56eb4b-af73-4c2c-a8a5-5f693071c2af", PIPX_HOME: "/opt/pipx", npm_node_execpath: "/opt/hostedtoolcache/node/20.19.5/x64/bin/node", npm_config_init_version: "1.0.0", npm_package_dependencies__emoji_mart_react: "^1.0.1", npm_package_dependencies__emoji_mart_data: "^1.0.6", npm_package_dependencies__100mslive_hms_virtual_background: "1.13.40-alpha.0", JAVA_HOME_8_X64: "/usr/lib/jvm/temurin-8-jdk-amd64", NODE_AUTH_TOKEN: "XXXXX-XXXXX-XXXXX-XXXXX", SHLVL: "1", npm_package_dependencies__radix_ui_react_tooltip: "1.0.6", npm_package_dependencies__radix_ui_react_popover: "1.0.6", npm_package_dependencies__100mslive_types_prebuilt: "0.12.12", npm_package_peerDependencies_react: ">=17.0.2 <19.0.0", npm_package_devDependencies__storybook_addon_links: "^7.0.27", npm_package_files_0: "dist", HOME: "/home/runner", npm_package_devDependencies__typescript_eslint_parser: "^5.4.0", npm_package_dependencies__radix_ui_react_dialog: "1.0.4", npm_package_devDependencies__types_react_window: "^1.8.5", npm_package_files_1: "src", npm_package_repository_directory: "packages/roomkit-react", RUNNER_TEMP: "/home/runner/work/_temp", GITHUB_EVENT_PATH: "/home/runner/work/_temp/_github_workflow/event.json", npm_package_scripts_controller: "cd packages/hls-controller && yarn start", npm_package_dependencies__stitches_react: "1.3.1-1", JAVA_HOME_11_X64: "/usr/lib/jvm/temurin-11-jdk-amd64", PIPX_BIN_DIR: "/opt/pipx_bin", GITHUB_REPOSITORY_OWNER: "100mslive", npm_package_engines_node: ">=16", npm_package_devDependencies_typedoc_plugin_markdown: "^3.14.0", npm_config_init_license: "MIT", GRADLE_HOME: "/usr/share/gradle-9.2.0", ANDROID_NDK_LATEST_HOME: "/usr/local/lib/android/sdk/ndk/29.0.14206865", JAVA_HOME_21_X64: "/usr/lib/jvm/temurin-21-jdk-amd64", GITHUB_RETENTION_DAYS: "90", YARN_WRAP_OUTPUT: "false", npm_config_version_tag_prefix: "v", GITHUB_REPOSITORY_OWNER_ID: "73883131", POWERSHELL_DISTRIBUTION_CHANNEL: "GitHub-Actions-ubuntu24", AZURE_EXTENSION_DIR: "/opt/az/azcliextensions", GITHUB_HEAD_REF: "", npm_package_scripts_lint_fix: "yarn lint --fix", npm_config_userconfig: "/home/runner/work/_temp/.npmrc", npm_package_devDependencies__storybook_addon_a11y: "^7.0.27", SYSTEMD_EXEC_PID: "1894", npm_package_scripts_postinstall: "husky install", npm_package_devDependencies_husky: "^6.0.0", npm_package_dependencies_recordrtc: "^5.6.2", npm_package_dependencies_eventemitter2: "^6.4.9", npm_package_dependencies__radix_ui_react_label: "1.0.0", npm_package_dependencies__radix_ui_react_dropdown_menu: "2.0.5", npm_package_keywords_0: "100mslive", GITHUB_GRAPHQL_URL: "https://api.github.com/graphql", npm_package_description: "100ms Room Kit provides simple & easy to use UI components to build Live Streaming & Video Conferencing experiences in your apps.", npm_package_devDependencies_typescript: "~4.7.4", npm_package_devDependencies_typedoc: "^0.24.8", npm_package_devDependencies_babel_loader: "^8.2.5", npm_package_keywords_1: "react", JAVA_HOME_25_X64: "/usr/lib/jvm/temurin-25-jdk-amd64", NVM_DIR: "/home/runner/.nvm", npm_package_readmeFilename: "README.md", npm_package_devDependencies_react: "^18.1.0", npm_package_devDependencies__babel_preset_env: "^7.22.5", npm_package_keywords_2: "prebuilt", DOTNET_SKIP_FIRST_TIME_EXPERIENCE: "1", JAVA_HOME_17_X64: "/usr/lib/jvm/temurin-17-jdk-amd64", ImageVersion: "20251112.124.1", npm_package_devDependencies_prettier: "^2.4.1", npm_package_devDependencies_babel_jest: "^29.7.0", npm_package_scripts_dev: "node ../../scripts/dev", npm_package_keywords_3: "roomkit", LOGNAME: "runner", RUNNER_OS: "Linux", GITHUB_API_URL: "https://api.github.com", GOROOT_1_22_X64: "/opt/hostedtoolcache/go/1.22.12/x64", SWIFT_PATH: "/usr/share/swift/usr/bin", FORCE_COLOR: "true", npm_package_dependencies__radix_ui_react_toast: "1.0.0", npm_package_dependencies__radix_ui_react_radio_group: "1.0.0", npm_package_dependencies__100mslive_hms_noise_cancellation: "0.0.1", npm_package_devDependencies__babel_preset_typescript: "^7.22.5", npm_package_exports___default: "./dist/index.js", CHROMEWEBDRIVER: "/usr/local/share/chromedriver-linux64", GOROOT_1_23_X64: "/opt/hostedtoolcache/go/1.23.12/x64", JOURNAL_STREAM: "9:14415", GITHUB_WORKFLOW: "Publish Packages", _: "/usr/local/bin/yarn", npm_package_devDependencies_ts_jest: "^29.1.1", npm_package_devDependencies_lerna: "^5.6.2", npm_package_devDependencies__types_jest: "^27.0.3", npm_package_devDependencies__commitlint_config_conventional: "^19.6.0", npm_package_private: "true", npm_package_dependencies__radix_ui_react_accordion: "1.0.0", npm_package_devDependencies__babel_preset_react: "^7.22.5", npm_package_module: "dist/index.js", MEMORY_PRESSURE_WATCH: "/sys/fs/cgroup/system.slice/hosted-compute-agent.service/memory.pressure", GOROOT_1_24_X64: "/opt/hostedtoolcache/go/1.24.10/x64", npm_package_scripts_lint: "eslint -c .eslintrc --no-error-on-unmatched-pattern src --ext .js --ext .jsx --ext .ts --ext .tsx", npm_package_devDependencies__typescript_eslint_eslint_plugin: "^5.4.0", npm_config_registry: "https://registry.yarnpkg.com", npm_package_dependencies_react_window: "^1.8.7", npm_package_dependencies__100mslive_hls_player: "0.3.40-alpha.0", npm_package_devDependencies__types_lodash_merge: "^4.6.6", npm_package_devDependencies__storybook_cli: "^7.0.27", ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE: "/opt/actionarchivecache", GOROOT_1_25_X64: "/opt/hostedtoolcache/go/1.25.4/x64", GITHUB_RUN_ID: "19351282958", npm_package_workspaces_0: "packages/*", npm_package_scripts_store: "cd packages/hms-video-store && yarn start", npm_package_devDependencies__babel_core: "^7.18.2", npm_package_dependencies_ts_pattern: "4.3.0", npm_package_devDependencies__storybook_addon_interactions: "^7.0.27", npm_package_devDependencies__storybook_addon_actions: "^7.0.27", GITHUB_REF_TYPE: "branch", BOOTSTRAP_HASKELL_NONINTERACTIVE: "1", GITHUB_WORKFLOW_SHA: "13400154c64cb0e7289e8455733131ca0761532c", GITHUB_BASE_REF: "", ImageOS: "ubuntu24", npm_package_workspaces_1: "examples/*", npm_package_scripts_start: 'concurrently "yarn dev" "yarn types"', npm_config_ignore_scripts: "", NX_TASK_HASH: "629e2980e146bf9a42cec315d45f534e859c4f22b896d22257e8d6f76b895be7", npm_package_exports___import: "./dist/index.js", GITHUB_WORKFLOW_REF: "100mslive/web-sdks/.github/workflows/publish.yml@refs/heads/fix/device-change-event", GITHUB_ACTION_REPOSITORY: "", ENABLE_RUNNER_TRACING: "true", npm_package_resolutions_on_headers: "^1.1.0", npm_package_resolutions_semver: "^7.5.2", npm_package_scripts_prebuilt: "cd packages/roomkit-react && yarn start", npm_package_devDependencies_postcss_loader: "^6.2.1", npm_package_devDependencies_esbuild_loader: "^4.0.2", PATH: "/tmp/yarn--1763083779118-0.09929644895887058:/home/runner/work/web-sdks/web-sdks/packages/roomkit-react/node_modules/.bin:/home/runner/.config/yarn/link/node_modules/.bin:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/opt/hostedtoolcache/node/20.19.5/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/20.19.5/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/20.19.5/x64/bin/node_modules/npm/bin/node-gyp-bin:/tmp/yarn--1763083778946-0.7513423489060367:/home/runner/work/web-sdks/web-sdks/packages/roomkit-react/node_modules/.bin:/home/runner/.config/yarn/link/node_modules/.bin:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/opt/hostedtoolcache/node/20.19.5/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/20.19.5/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/20.19.5/x64/bin/node_modules/npm/bin/node-gyp-bin:/tmp/yarn--1763083753853-0.7907117933944905:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/home/runner/.config/yarn/link/node_modules/.bin:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/opt/hostedtoolcache/node/20.19.5/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/20.19.5/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/20.19.5/x64/bin/node_modules/npm/bin/node-gyp-bin:/tmp/yarn--1763083753692-0.4558616258804573:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/home/runner/.config/yarn/link/node_modules/.bin:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/opt/hostedtoolcache/node/20.19.5/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/20.19.5/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/20.19.5/x64/bin/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/20.19.5/x64/bin:/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin", NODE: "/opt/hostedtoolcache/node/20.19.5/x64/bin/node", ANT_HOME: "/usr/share/ant", DOTNET_MULTILEVEL_LOOKUP: "0", RUNNER_TRACKING_ID: "github_c6c5511b-78a8-4ff9-aa80-d99177e5aa2a", INVOCATION_ID: "6ac3f0fe55d444a89119e917de8c93e2", NPM_CONFIG_USERCONFIG: "/home/runner/work/_temp/.npmrc", RUNNER_TOOL_CACHE: "/opt/hostedtoolcache", npm_package_scripts_size: "size-limit", npm_package_devDependencies_size_limit: "^5.0.3", npm_package_name: "@100mslive/roomkit-react", npm_package_devDependencies__storybook_react_webpack5: "^7.0.27", npm_package_repository_type: "git", GITHUB_ACTION: "__run_3", GITHUB_RUN_NUMBER: "767", GITHUB_TRIGGERING_ACTOR: "raviteja83", RUNNER_ARCH: "X64", XDG_RUNTIME_DIR: "/run/user/1001", AGENT_TOOLSDIRECTORY: "/opt/hostedtoolcache", npm_package_lint_staged____js_ts_jsx_tsx_: "eslint", npm_package_devDependencies_babel_plugin_istanbul: "^6.1.1", LERNA_PACKAGE_NAME: "@100mslive/roomkit-react", npm_package_dependencies__radix_ui_react_select: "1.0.0", npm_package_size_limit_0_limit: "20 KB", npm_package_devDependencies__commitlint_cli: "^19.6.0", LANG: "C.UTF-8", VCPKG_INSTALLATION_ROOT: "/usr/local/share/vcpkg", npm_package_size_limit_1_limit: "20 KB", npm_package_devDependencies_eslint_plugin_simple_import_sort: "^8.0.0", npm_package_devDependencies_eslint: "^8.9.0", npm_package_dependencies_react_intersection_observer: "^9.4.3", npm_package_dependencies_react_dom: "^18.2.0", npm_package_devDependencies__types_mdx: "2.0.2", CONDA: "/usr/share/miniconda", RUNNER_NAME: "GitHub Actions 1000073733", XDG_CONFIG_HOME: "/home/runner/.config", GITHUB_REF_NAME: "fix/device-change-event", GITHUB_REPOSITORY: "100mslive/web-sdks", npm_lifecycle_script: "rm -rf dist && node ../../scripts/build-webapp", npm_package_size_limit_2_limit: "400 KB", npm_package_resolutions_loader_utils: "^2.0.4", npm_package_devDependencies_dotenv: "^14.2.0", npm_package_dependencies__radix_ui_react_slider: "1.0.0", npm_package_scripts_types_build: "tsc -p tsconfig.json", npm_package_main: "dist/index.cjs.js", ANDROID_NDK_ROOT: "/usr/local/lib/android/sdk/ndk/27.3.13750724", GITHUB_ACTION_REF: "", DEBIAN_FRONTEND: "noninteractive", npm_package_size_limit_3_limit: "20 KB", npm_package_size_limit_0_path: "packages/hms-video-store/dist/index.cjs.js", npm_package_scripts_lerna_publish: "lerna publish from-package --dist-tag $PUBLISH_FLAG --yes --no-verify-access", npm_package_scripts_test: "yarn build --no-private && lerna run test", npm_package_devDependencies_concurrently: "^6.4.0", npm_config_version_git_message: "v%s", npm_package_dependencies__radix_ui_react_checkbox: "1.0.0", npm_package_dependencies__100mslive_react_icons: "0.10.40-alpha.0", npm_package_scripts_types: "tsc -w", SHELL: "/bin/bash", GITHUB_REPOSITORY_ID: "429826515", GITHUB_ACTIONS: "true", npm_lifecycle_event: "build:only", npm_package_version: "0.3.40-alpha.0", npm_package_size_limit_4_limit: "20 KB", npm_package_size_limit_1_path: "packages/hms-video-store/dist/index.js", npm_package_resolutions__octokit_request_error: "^5.1.1", npm_package_resolutions_axios: "^1.7.4", npm_package_scripts_build_only: "rm -rf dist && node ../../scripts/build-webapp", npm_package_devDependencies_jest_environment_jsdom: "^29.7.0", npm_package_devDependencies__types_react: "^18.1.0", npm_package_sideEffects: "false", npm_package_repository_url: "https://github.com/100mslive/web-sdks.git", npm_package_source: "src/index.ts", GITHUB_REF_PROTECTED: "false", npm_config_argv: '{"remain":[],"cooked":["run","test"],"original":["test"]}', npm_package_size_limit_5_limit: "20 KB", npm_package_size_limit_2_path: "packages/roomkit-react/dist/index.cjs.js", npm_package_scripts_build: "yarn build:only && yarn types:build", npm_package_devDependencies_tslib: "^2.2.0", npm_package_devDependencies_nx: "^14.5.1", npm_package_devDependencies_lint_staged: "^12.0.3", NX_CLI_SET: "true", npm_package_dependencies_uuid: "^8.3.2", npm_package_dependencies_react_virtualized_auto_sizer: "^1.0.7", npm_package_dependencies_lodash_merge: "^4.6.2", npm_package_dependencies_emoji_mart: "^5.2.2", GITHUB_WORKSPACE: "/home/runner/work/web-sdks/web-sdks", ACCEPT_EULA: "Y", GITHUB_JOB: "publish_packages", npm_package_size_limit_6_limit: "150 KB", npm_package_size_limit_3_path: "packages/roomkit-react/dist/index.js", GITHUB_SHA: "13400154c64cb0e7289e8455733131ca0761532c", GITHUB_RUN_ATTEMPT: "1", npm_package_size_limit_7_limit: "100 KB", npm_package_size_limit_4_path: "packages/hms-virtual-background/dist/index.cjs.js", npm_package_resolutions_form_data: "^4.0.4", npm_config_version_git_tag: "true", npm_config_version_git_sign: "", npm_package_dependencies_qrcode_react: "^3.1.0", GITHUB_REF: "refs/heads/fix/device-change-event", GITHUB_ACTOR: "raviteja83", ANDROID_SDK_ROOT: "/usr/local/lib/android/sdk", npm_package_license: "MIT", npm_package_size_limit_5_path: "packages/hms-virtual-background/dist/index.js", npm_config_strict_ssl: "true", npm_package_size_limit_6_path: "packages/react-icons/dist/index.cjs.js", npm_package_scripts_format: "prettier -w src/**", npm_package_devDependencies_eslint_plugin_prettier: "^4.0.0", npm_package_devDependencies_eslint_config_react_app: "^7.0.0", NX_TASK_TARGET_PROJECT: "@100mslive/roomkit-react", GITHUB_PATH: "/home/runner/work/_temp/_runner_file_commands/add_path_db56eb4b-af73-4c2c-a8a5-5f693071c2af", JAVA_HOME: "/usr/lib/jvm/temurin-17-jdk-amd64", PWD: "/home/runner/work/web-sdks/web-sdks/packages/roomkit-react", GITHUB_ACTOR_ID: "6763261", RUNNER_WORKSPACE: "/home/runner/work/web-sdks", npm_execpath: "/usr/local/lib/node_modules/yarn/bin/yarn.js", npm_package_size_limit_7_path: "packages/react-icons/dist/index.js", npm_package_scripts_ybys: "yarn && yarn build --no-private && yarn storybook", npm_package_dependencies__radix_ui_react_progress: "1.0.0", HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS: "3650", GITHUB_EVENT_NAME: "workflow_dispatch", HOMEBREW_NO_AUTO_UPDATE: "1", ANDROID_HOME: "/usr/local/lib/android/sdk", GITHUB_SERVER_URL: "https://github.com", GECKOWEBDRIVER: "/usr/local/share/gecko_driver", GHCUP_INSTALL_BASE_PREFIX: "/usr/local", GITHUB_OUTPUT: "/home/runner/work/_temp/_runner_file_commands/set_output_db56eb4b-af73-4c2c-a8a5-5f693071c2af", npm_package_scripts_prestart: "rm -rf dist && yarn types:build", npm_package_author_name: "100ms", EDGEWEBDRIVER: "/usr/local/share/edge_driver", npm_package_scripts_build_storybook: "sb build", npm_package_devDependencies_postcss: "^8.4.5", npm_package_devDependencies_esbuild: "^0.18.13", npm_config_save_prefix: "^", npm_config_ignore_optional: "", npm_package_dependencies_worker_timers: "^7.0.40", npm_package_typings: "dist/index.d.ts", ANDROID_NDK: "/usr/local/lib/android/sdk/ndk/27.3.13750724", SGX_AESM_ADDR: "1", CHROME_BIN: "/usr/bin/google-chrome", npm_package_scripts_storybook: "sb dev -p 6006", npm_package_devDependencies_esbuild_plugin_postcss2: "0.1.1", npm_package_dependencies_react_swipeable: "^7.0.1", npm_package_devDependencies_babel_plugin_react_require: "3.1.3", npm_package_devDependencies__storybook_testing_library: "^0.2.0", npm_package_devDependencies__storybook_addon_essentials: "^7.0.27", SELENIUM_JAR_PATH: "/usr/share/java/selenium-server.jar", MEMORY_PRESSURE_WRITE: "c29tZSAyMDAwMDAgMjAwMDAwMAA=", npm_package_scripts_reactsdk: "cd packages/react-sdk && yarn start", npm_package_dependencies_react_use: "^17.4.0", npm_package_dependencies__radix_ui_react_collapsible: "1.0.0", npm_package_devDependencies_storybook_dark_mode: "^3.0.0", npm_package_devDependencies_knip: "^5.11.0", npm_package_devDependencies__storybook_react: "^7.0.27", INIT_CWD: "/home/runner/work/web-sdks/web-sdks", ANDROID_NDK_HOME: "/usr/local/lib/android/sdk/ndk/27.3.13750724", GITHUB_STEP_SUMMARY: "/home/runner/work/_temp/_runner_file_commands/step_summary_db56eb4b-af73-4c2c-a8a5-5f693071c2af" };
|
|
113
113
|
}
|
|
114
114
|
});
|
|
115
115
|
|
|
@@ -119,7 +119,7 @@ var require_lodash = __commonJS({
|
|
|
119
119
|
init_define_process_env();
|
|
120
120
|
(function() {
|
|
121
121
|
var undefined2;
|
|
122
|
-
var
|
|
122
|
+
var VERSION2 = "4.17.21";
|
|
123
123
|
var LARGE_ARRAY_SIZE = 200;
|
|
124
124
|
var CORE_ERROR_TEXT = "Unsupported core-js use. Try https://npms.io/search?q=ponyfill.", FUNC_ERROR_TEXT = "Expected a function", INVALID_TEMPL_VAR_ERROR_TEXT = "Invalid `variable` option passed into `_.template`";
|
|
125
125
|
var HASH_UNDEFINED = "__lodash_hash_undefined__";
|
|
@@ -2288,8 +2288,8 @@ var require_lodash = __commonJS({
|
|
|
2288
2288
|
function createBind(func, bitmask, thisArg) {
|
|
2289
2289
|
var isBind = bitmask & WRAP_BIND_FLAG, Ctor = createCtor(func);
|
|
2290
2290
|
function wrapper() {
|
|
2291
|
-
var
|
|
2292
|
-
return
|
|
2291
|
+
var fn2 = this && this !== root && this instanceof wrapper ? Ctor : func;
|
|
2292
|
+
return fn2.apply(isBind ? thisArg : this, arguments);
|
|
2293
2293
|
}
|
|
2294
2294
|
return wrapper;
|
|
2295
2295
|
}
|
|
@@ -2355,8 +2355,8 @@ var require_lodash = __commonJS({
|
|
|
2355
2355
|
arity - length
|
|
2356
2356
|
);
|
|
2357
2357
|
}
|
|
2358
|
-
var
|
|
2359
|
-
return apply(
|
|
2358
|
+
var fn2 = this && this !== root && this instanceof wrapper ? Ctor : func;
|
|
2359
|
+
return apply(fn2, this, args);
|
|
2360
2360
|
}
|
|
2361
2361
|
return wrapper;
|
|
2362
2362
|
}
|
|
@@ -2444,7 +2444,7 @@ var require_lodash = __commonJS({
|
|
|
2444
2444
|
arity - length
|
|
2445
2445
|
);
|
|
2446
2446
|
}
|
|
2447
|
-
var thisBinding = isBind ? thisArg : this,
|
|
2447
|
+
var thisBinding = isBind ? thisArg : this, fn2 = isBindKey ? thisBinding[func] : func;
|
|
2448
2448
|
length = args.length;
|
|
2449
2449
|
if (argPos) {
|
|
2450
2450
|
args = reorder(args, argPos);
|
|
@@ -2455,9 +2455,9 @@ var require_lodash = __commonJS({
|
|
|
2455
2455
|
args.length = ary2;
|
|
2456
2456
|
}
|
|
2457
2457
|
if (this && this !== root && this instanceof wrapper) {
|
|
2458
|
-
|
|
2458
|
+
fn2 = Ctor || createCtor(fn2);
|
|
2459
2459
|
}
|
|
2460
|
-
return
|
|
2460
|
+
return fn2.apply(thisBinding, args);
|
|
2461
2461
|
}
|
|
2462
2462
|
return wrapper;
|
|
2463
2463
|
}
|
|
@@ -2514,14 +2514,14 @@ var require_lodash = __commonJS({
|
|
|
2514
2514
|
function createPartial(func, bitmask, thisArg, partials) {
|
|
2515
2515
|
var isBind = bitmask & WRAP_BIND_FLAG, Ctor = createCtor(func);
|
|
2516
2516
|
function wrapper() {
|
|
2517
|
-
var argsIndex = -1, argsLength = arguments.length, leftIndex = -1, leftLength = partials.length, args = Array2(leftLength + argsLength),
|
|
2517
|
+
var argsIndex = -1, argsLength = arguments.length, leftIndex = -1, leftLength = partials.length, args = Array2(leftLength + argsLength), fn2 = this && this !== root && this instanceof wrapper ? Ctor : func;
|
|
2518
2518
|
while (++leftIndex < leftLength) {
|
|
2519
2519
|
args[leftIndex] = partials[leftIndex];
|
|
2520
2520
|
}
|
|
2521
2521
|
while (argsLength--) {
|
|
2522
2522
|
args[leftIndex++] = arguments[++argsIndex];
|
|
2523
2523
|
}
|
|
2524
|
-
return apply(
|
|
2524
|
+
return apply(fn2, isBind ? thisArg : this, args);
|
|
2525
2525
|
}
|
|
2526
2526
|
return wrapper;
|
|
2527
2527
|
}
|
|
@@ -3774,7 +3774,7 @@ var require_lodash = __commonJS({
|
|
|
3774
3774
|
if (fromIndex < 0) {
|
|
3775
3775
|
fromIndex = nativeMax(length + fromIndex, 0);
|
|
3776
3776
|
}
|
|
3777
|
-
return
|
|
3777
|
+
return isString2(collection) ? fromIndex <= length && collection.indexOf(value, fromIndex) > -1 : !!length && baseIndexOf(collection, value, fromIndex) > -1;
|
|
3778
3778
|
}
|
|
3779
3779
|
var invokeMap = baseRest(function(collection, path, args) {
|
|
3780
3780
|
var index = -1, isFunc = typeof path == "function", result2 = isArrayLike(collection) ? Array2(collection.length) : [];
|
|
@@ -3842,7 +3842,7 @@ var require_lodash = __commonJS({
|
|
|
3842
3842
|
return 0;
|
|
3843
3843
|
}
|
|
3844
3844
|
if (isArrayLike(collection)) {
|
|
3845
|
-
return
|
|
3845
|
+
return isString2(collection) ? stringSize(collection) : collection.length;
|
|
3846
3846
|
}
|
|
3847
3847
|
var tag = getTag(collection);
|
|
3848
3848
|
if (tag == mapTag || tag == setTag) {
|
|
@@ -4151,7 +4151,7 @@ var require_lodash = __commonJS({
|
|
|
4151
4151
|
function eq(value, other) {
|
|
4152
4152
|
return value === other || value !== value && other !== other;
|
|
4153
4153
|
}
|
|
4154
|
-
var
|
|
4154
|
+
var gt = createRelationalOperation(baseGt);
|
|
4155
4155
|
var gte = createRelationalOperation(function(value, other) {
|
|
4156
4156
|
return value >= other;
|
|
4157
4157
|
});
|
|
@@ -4277,7 +4277,7 @@ var require_lodash = __commonJS({
|
|
|
4277
4277
|
return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER;
|
|
4278
4278
|
}
|
|
4279
4279
|
var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;
|
|
4280
|
-
function
|
|
4280
|
+
function isString2(value) {
|
|
4281
4281
|
return typeof value == "string" || !isArray2(value) && isObjectLike(value) && baseGetTag(value) == stringTag;
|
|
4282
4282
|
}
|
|
4283
4283
|
function isSymbol(value) {
|
|
@@ -4302,7 +4302,7 @@ var require_lodash = __commonJS({
|
|
|
4302
4302
|
return [];
|
|
4303
4303
|
}
|
|
4304
4304
|
if (isArrayLike(value)) {
|
|
4305
|
-
return
|
|
4305
|
+
return isString2(value) ? stringToArray(value) : copyArray(value);
|
|
4306
4306
|
}
|
|
4307
4307
|
if (symIterator && value[symIterator]) {
|
|
4308
4308
|
return iteratorToArray(value[symIterator]());
|
|
@@ -4435,7 +4435,7 @@ var require_lodash = __commonJS({
|
|
|
4435
4435
|
var result2 = object == null ? undefined2 : baseGet(object, path);
|
|
4436
4436
|
return result2 === undefined2 ? defaultValue : result2;
|
|
4437
4437
|
}
|
|
4438
|
-
function
|
|
4438
|
+
function has2(object, path) {
|
|
4439
4439
|
return object != null && hasPath(object, path, baseHas);
|
|
4440
4440
|
}
|
|
4441
4441
|
function hasIn(object, path) {
|
|
@@ -4808,7 +4808,7 @@ var require_lodash = __commonJS({
|
|
|
4808
4808
|
function toUpper(value) {
|
|
4809
4809
|
return toString(value).toUpperCase();
|
|
4810
4810
|
}
|
|
4811
|
-
function
|
|
4811
|
+
function trim2(string, chars, guard) {
|
|
4812
4812
|
string = toString(string);
|
|
4813
4813
|
if (string && (guard || chars === undefined2)) {
|
|
4814
4814
|
return baseTrim(string);
|
|
@@ -5290,9 +5290,9 @@ var require_lodash = __commonJS({
|
|
|
5290
5290
|
lodash.forOwn = forOwn;
|
|
5291
5291
|
lodash.forOwnRight = forOwnRight;
|
|
5292
5292
|
lodash.get = get;
|
|
5293
|
-
lodash.gt =
|
|
5293
|
+
lodash.gt = gt;
|
|
5294
5294
|
lodash.gte = gte;
|
|
5295
|
-
lodash.has =
|
|
5295
|
+
lodash.has = has2;
|
|
5296
5296
|
lodash.hasIn = hasIn;
|
|
5297
5297
|
lodash.head = head;
|
|
5298
5298
|
lodash.identity = identity;
|
|
@@ -5331,7 +5331,7 @@ var require_lodash = __commonJS({
|
|
|
5331
5331
|
lodash.isRegExp = isRegExp;
|
|
5332
5332
|
lodash.isSafeInteger = isSafeInteger;
|
|
5333
5333
|
lodash.isSet = isSet;
|
|
5334
|
-
lodash.isString =
|
|
5334
|
+
lodash.isString = isString2;
|
|
5335
5335
|
lodash.isSymbol = isSymbol;
|
|
5336
5336
|
lodash.isTypedArray = isTypedArray;
|
|
5337
5337
|
lodash.isUndefined = isUndefined;
|
|
@@ -5398,7 +5398,7 @@ var require_lodash = __commonJS({
|
|
|
5398
5398
|
lodash.toSafeInteger = toSafeInteger;
|
|
5399
5399
|
lodash.toString = toString;
|
|
5400
5400
|
lodash.toUpper = toUpper;
|
|
5401
|
-
lodash.trim =
|
|
5401
|
+
lodash.trim = trim2;
|
|
5402
5402
|
lodash.trimEnd = trimEnd;
|
|
5403
5403
|
lodash.trimStart = trimStart;
|
|
5404
5404
|
lodash.truncate = truncate;
|
|
@@ -5418,7 +5418,7 @@ var require_lodash = __commonJS({
|
|
|
5418
5418
|
});
|
|
5419
5419
|
return source;
|
|
5420
5420
|
}(), { "chain": false });
|
|
5421
|
-
lodash.VERSION =
|
|
5421
|
+
lodash.VERSION = VERSION2;
|
|
5422
5422
|
arrayEach(["bind", "bindKey", "curry", "curryRight", "partial", "partialRight"], function(methodName) {
|
|
5423
5423
|
lodash[methodName].placeholder = lodash;
|
|
5424
5424
|
});
|
|
@@ -5594,1260 +5594,6 @@ var require_lodash = __commonJS({
|
|
|
5594
5594
|
}
|
|
5595
5595
|
});
|
|
5596
5596
|
|
|
5597
|
-
// ../../node_modules/ua-parser-js/src/ua-parser.js
|
|
5598
|
-
var require_ua_parser = __commonJS({
|
|
5599
|
-
"../../node_modules/ua-parser-js/src/ua-parser.js"(exports, module2) {
|
|
5600
|
-
init_define_process_env();
|
|
5601
|
-
(function(window2, undefined2) {
|
|
5602
|
-
"use strict";
|
|
5603
|
-
var LIBVERSION = "1.0.35", EMPTY = "", UNKNOWN = "?", FUNC_TYPE = "function", UNDEF_TYPE = "undefined", OBJ_TYPE = "object", STR_TYPE = "string", MAJOR = "major", MODEL = "model", NAME = "name", TYPE = "type", VENDOR = "vendor", VERSION = "version", ARCHITECTURE = "architecture", CONSOLE = "console", MOBILE = "mobile", TABLET = "tablet", SMARTTV = "smarttv", WEARABLE = "wearable", EMBEDDED = "embedded", UA_MAX_LENGTH = 350;
|
|
5604
|
-
var AMAZON = "Amazon", APPLE = "Apple", ASUS = "ASUS", BLACKBERRY = "BlackBerry", BROWSER = "Browser", CHROME = "Chrome", EDGE = "Edge", FIREFOX = "Firefox", GOOGLE = "Google", HUAWEI = "Huawei", LG = "LG", MICROSOFT = "Microsoft", MOTOROLA = "Motorola", OPERA = "Opera", SAMSUNG = "Samsung", SHARP = "Sharp", SONY = "Sony", VIERA = "Viera", XIAOMI = "Xiaomi", ZEBRA = "Zebra", FACEBOOK = "Facebook", CHROMIUM_OS = "Chromium OS", MAC_OS = "Mac OS";
|
|
5605
|
-
var extend = function(regexes2, extensions) {
|
|
5606
|
-
var mergedRegexes = {};
|
|
5607
|
-
for (var i in regexes2) {
|
|
5608
|
-
if (extensions[i] && extensions[i].length % 2 === 0) {
|
|
5609
|
-
mergedRegexes[i] = extensions[i].concat(regexes2[i]);
|
|
5610
|
-
} else {
|
|
5611
|
-
mergedRegexes[i] = regexes2[i];
|
|
5612
|
-
}
|
|
5613
|
-
}
|
|
5614
|
-
return mergedRegexes;
|
|
5615
|
-
}, enumerize = function(arr) {
|
|
5616
|
-
var enums = {};
|
|
5617
|
-
for (var i = 0; i < arr.length; i++) {
|
|
5618
|
-
enums[arr[i].toUpperCase()] = arr[i];
|
|
5619
|
-
}
|
|
5620
|
-
return enums;
|
|
5621
|
-
}, has = function(str1, str2) {
|
|
5622
|
-
return typeof str1 === STR_TYPE ? lowerize(str2).indexOf(lowerize(str1)) !== -1 : false;
|
|
5623
|
-
}, lowerize = function(str) {
|
|
5624
|
-
return str.toLowerCase();
|
|
5625
|
-
}, majorize = function(version) {
|
|
5626
|
-
return typeof version === STR_TYPE ? version.replace(/[^\d\.]/g, EMPTY).split(".")[0] : undefined2;
|
|
5627
|
-
}, trim = function(str, len) {
|
|
5628
|
-
if (typeof str === STR_TYPE) {
|
|
5629
|
-
str = str.replace(/^\s\s*/, EMPTY);
|
|
5630
|
-
return typeof len === UNDEF_TYPE ? str : str.substring(0, UA_MAX_LENGTH);
|
|
5631
|
-
}
|
|
5632
|
-
};
|
|
5633
|
-
var rgxMapper = function(ua, arrays) {
|
|
5634
|
-
var i = 0, j2, k2, p, q, matches, match18;
|
|
5635
|
-
while (i < arrays.length && !matches) {
|
|
5636
|
-
var regex = arrays[i], props = arrays[i + 1];
|
|
5637
|
-
j2 = k2 = 0;
|
|
5638
|
-
while (j2 < regex.length && !matches) {
|
|
5639
|
-
if (!regex[j2]) {
|
|
5640
|
-
break;
|
|
5641
|
-
}
|
|
5642
|
-
matches = regex[j2++].exec(ua);
|
|
5643
|
-
if (!!matches) {
|
|
5644
|
-
for (p = 0; p < props.length; p++) {
|
|
5645
|
-
match18 = matches[++k2];
|
|
5646
|
-
q = props[p];
|
|
5647
|
-
if (typeof q === OBJ_TYPE && q.length > 0) {
|
|
5648
|
-
if (q.length === 2) {
|
|
5649
|
-
if (typeof q[1] == FUNC_TYPE) {
|
|
5650
|
-
this[q[0]] = q[1].call(this, match18);
|
|
5651
|
-
} else {
|
|
5652
|
-
this[q[0]] = q[1];
|
|
5653
|
-
}
|
|
5654
|
-
} else if (q.length === 3) {
|
|
5655
|
-
if (typeof q[1] === FUNC_TYPE && !(q[1].exec && q[1].test)) {
|
|
5656
|
-
this[q[0]] = match18 ? q[1].call(this, match18, q[2]) : undefined2;
|
|
5657
|
-
} else {
|
|
5658
|
-
this[q[0]] = match18 ? match18.replace(q[1], q[2]) : undefined2;
|
|
5659
|
-
}
|
|
5660
|
-
} else if (q.length === 4) {
|
|
5661
|
-
this[q[0]] = match18 ? q[3].call(this, match18.replace(q[1], q[2])) : undefined2;
|
|
5662
|
-
}
|
|
5663
|
-
} else {
|
|
5664
|
-
this[q] = match18 ? match18 : undefined2;
|
|
5665
|
-
}
|
|
5666
|
-
}
|
|
5667
|
-
}
|
|
5668
|
-
}
|
|
5669
|
-
i += 2;
|
|
5670
|
-
}
|
|
5671
|
-
}, strMapper = function(str, map) {
|
|
5672
|
-
for (var i in map) {
|
|
5673
|
-
if (typeof map[i] === OBJ_TYPE && map[i].length > 0) {
|
|
5674
|
-
for (var j2 = 0; j2 < map[i].length; j2++) {
|
|
5675
|
-
if (has(map[i][j2], str)) {
|
|
5676
|
-
return i === UNKNOWN ? undefined2 : i;
|
|
5677
|
-
}
|
|
5678
|
-
}
|
|
5679
|
-
} else if (has(map[i], str)) {
|
|
5680
|
-
return i === UNKNOWN ? undefined2 : i;
|
|
5681
|
-
}
|
|
5682
|
-
}
|
|
5683
|
-
return str;
|
|
5684
|
-
};
|
|
5685
|
-
var oldSafariMap = {
|
|
5686
|
-
"1.0": "/8",
|
|
5687
|
-
"1.2": "/1",
|
|
5688
|
-
"1.3": "/3",
|
|
5689
|
-
"2.0": "/412",
|
|
5690
|
-
"2.0.2": "/416",
|
|
5691
|
-
"2.0.3": "/417",
|
|
5692
|
-
"2.0.4": "/419",
|
|
5693
|
-
"?": "/"
|
|
5694
|
-
}, windowsVersionMap = {
|
|
5695
|
-
"ME": "4.90",
|
|
5696
|
-
"NT 3.11": "NT3.51",
|
|
5697
|
-
"NT 4.0": "NT4.0",
|
|
5698
|
-
"2000": "NT 5.0",
|
|
5699
|
-
"XP": ["NT 5.1", "NT 5.2"],
|
|
5700
|
-
"Vista": "NT 6.0",
|
|
5701
|
-
"7": "NT 6.1",
|
|
5702
|
-
"8": "NT 6.2",
|
|
5703
|
-
"8.1": "NT 6.3",
|
|
5704
|
-
"10": ["NT 6.4", "NT 10.0"],
|
|
5705
|
-
"RT": "ARM"
|
|
5706
|
-
};
|
|
5707
|
-
var regexes = {
|
|
5708
|
-
browser: [
|
|
5709
|
-
[
|
|
5710
|
-
/\b(?:crmo|crios)\/([\w\.]+)/i
|
|
5711
|
-
// Chrome for Android/iOS
|
|
5712
|
-
],
|
|
5713
|
-
[VERSION, [NAME, "Chrome"]],
|
|
5714
|
-
[
|
|
5715
|
-
/edg(?:e|ios|a)?\/([\w\.]+)/i
|
|
5716
|
-
// Microsoft Edge
|
|
5717
|
-
],
|
|
5718
|
-
[VERSION, [NAME, "Edge"]],
|
|
5719
|
-
[
|
|
5720
|
-
// Presto based
|
|
5721
|
-
/(opera mini)\/([-\w\.]+)/i,
|
|
5722
|
-
// Opera Mini
|
|
5723
|
-
/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,
|
|
5724
|
-
// Opera Mobi/Tablet
|
|
5725
|
-
/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i
|
|
5726
|
-
// Opera
|
|
5727
|
-
],
|
|
5728
|
-
[NAME, VERSION],
|
|
5729
|
-
[
|
|
5730
|
-
/opios[\/ ]+([\w\.]+)/i
|
|
5731
|
-
// Opera mini on iphone >= 8.0
|
|
5732
|
-
],
|
|
5733
|
-
[VERSION, [NAME, OPERA + " Mini"]],
|
|
5734
|
-
[
|
|
5735
|
-
/\bopr\/([\w\.]+)/i
|
|
5736
|
-
// Opera Webkit
|
|
5737
|
-
],
|
|
5738
|
-
[VERSION, [NAME, OPERA]],
|
|
5739
|
-
[
|
|
5740
|
-
// Mixed
|
|
5741
|
-
/(kindle)\/([\w\.]+)/i,
|
|
5742
|
-
// Kindle
|
|
5743
|
-
/(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i,
|
|
5744
|
-
// Lunascape/Maxthon/Netfront/Jasmine/Blazer
|
|
5745
|
-
// Trident based
|
|
5746
|
-
/(avant |iemobile|slim)(?:browser)?[\/ ]?([\w\.]*)/i,
|
|
5747
|
-
// Avant/IEMobile/SlimBrowser
|
|
5748
|
-
/(ba?idubrowser)[\/ ]?([\w\.]+)/i,
|
|
5749
|
-
// Baidu Browser
|
|
5750
|
-
/(?:ms|\()(ie) ([\w\.]+)/i,
|
|
5751
|
-
// Internet Explorer
|
|
5752
|
-
// Webkit/KHTML based // Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon
|
|
5753
|
-
/(flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\/([-\w\.]+)/i,
|
|
5754
|
-
// Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ, aka ShouQ
|
|
5755
|
-
/(heytap|ovi)browser\/([\d\.]+)/i,
|
|
5756
|
-
// Heytap/Ovi
|
|
5757
|
-
/(weibo)__([\d\.]+)/i
|
|
5758
|
-
// Weibo
|
|
5759
|
-
],
|
|
5760
|
-
[NAME, VERSION],
|
|
5761
|
-
[
|
|
5762
|
-
/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i
|
|
5763
|
-
// UCBrowser
|
|
5764
|
-
],
|
|
5765
|
-
[VERSION, [NAME, "UC" + BROWSER]],
|
|
5766
|
-
[
|
|
5767
|
-
/microm.+\bqbcore\/([\w\.]+)/i,
|
|
5768
|
-
// WeChat Desktop for Windows Built-in Browser
|
|
5769
|
-
/\bqbcore\/([\w\.]+).+microm/i
|
|
5770
|
-
],
|
|
5771
|
-
[VERSION, [NAME, "WeChat(Win) Desktop"]],
|
|
5772
|
-
[
|
|
5773
|
-
/micromessenger\/([\w\.]+)/i
|
|
5774
|
-
// WeChat
|
|
5775
|
-
],
|
|
5776
|
-
[VERSION, [NAME, "WeChat"]],
|
|
5777
|
-
[
|
|
5778
|
-
/konqueror\/([\w\.]+)/i
|
|
5779
|
-
// Konqueror
|
|
5780
|
-
],
|
|
5781
|
-
[VERSION, [NAME, "Konqueror"]],
|
|
5782
|
-
[
|
|
5783
|
-
/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i
|
|
5784
|
-
// IE11
|
|
5785
|
-
],
|
|
5786
|
-
[VERSION, [NAME, "IE"]],
|
|
5787
|
-
[
|
|
5788
|
-
/ya(?:search)?browser\/([\w\.]+)/i
|
|
5789
|
-
// Yandex
|
|
5790
|
-
],
|
|
5791
|
-
[VERSION, [NAME, "Yandex"]],
|
|
5792
|
-
[
|
|
5793
|
-
/(avast|avg)\/([\w\.]+)/i
|
|
5794
|
-
// Avast/AVG Secure Browser
|
|
5795
|
-
],
|
|
5796
|
-
[[NAME, /(.+)/, "$1 Secure " + BROWSER], VERSION],
|
|
5797
|
-
[
|
|
5798
|
-
/\bfocus\/([\w\.]+)/i
|
|
5799
|
-
// Firefox Focus
|
|
5800
|
-
],
|
|
5801
|
-
[VERSION, [NAME, FIREFOX + " Focus"]],
|
|
5802
|
-
[
|
|
5803
|
-
/\bopt\/([\w\.]+)/i
|
|
5804
|
-
// Opera Touch
|
|
5805
|
-
],
|
|
5806
|
-
[VERSION, [NAME, OPERA + " Touch"]],
|
|
5807
|
-
[
|
|
5808
|
-
/coc_coc\w+\/([\w\.]+)/i
|
|
5809
|
-
// Coc Coc Browser
|
|
5810
|
-
],
|
|
5811
|
-
[VERSION, [NAME, "Coc Coc"]],
|
|
5812
|
-
[
|
|
5813
|
-
/dolfin\/([\w\.]+)/i
|
|
5814
|
-
// Dolphin
|
|
5815
|
-
],
|
|
5816
|
-
[VERSION, [NAME, "Dolphin"]],
|
|
5817
|
-
[
|
|
5818
|
-
/coast\/([\w\.]+)/i
|
|
5819
|
-
// Opera Coast
|
|
5820
|
-
],
|
|
5821
|
-
[VERSION, [NAME, OPERA + " Coast"]],
|
|
5822
|
-
[
|
|
5823
|
-
/miuibrowser\/([\w\.]+)/i
|
|
5824
|
-
// MIUI Browser
|
|
5825
|
-
],
|
|
5826
|
-
[VERSION, [NAME, "MIUI " + BROWSER]],
|
|
5827
|
-
[
|
|
5828
|
-
/fxios\/([-\w\.]+)/i
|
|
5829
|
-
// Firefox for iOS
|
|
5830
|
-
],
|
|
5831
|
-
[VERSION, [NAME, FIREFOX]],
|
|
5832
|
-
[
|
|
5833
|
-
/\bqihu|(qi?ho?o?|360)browser/i
|
|
5834
|
-
// 360
|
|
5835
|
-
],
|
|
5836
|
-
[[NAME, "360 " + BROWSER]],
|
|
5837
|
-
[
|
|
5838
|
-
/(oculus|samsung|sailfish|huawei)browser\/([\w\.]+)/i
|
|
5839
|
-
],
|
|
5840
|
-
[[NAME, /(.+)/, "$1 " + BROWSER], VERSION],
|
|
5841
|
-
[
|
|
5842
|
-
// Oculus/Samsung/Sailfish/Huawei Browser
|
|
5843
|
-
/(comodo_dragon)\/([\w\.]+)/i
|
|
5844
|
-
// Comodo Dragon
|
|
5845
|
-
],
|
|
5846
|
-
[[NAME, /_/g, " "], VERSION],
|
|
5847
|
-
[
|
|
5848
|
-
/(electron)\/([\w\.]+) safari/i,
|
|
5849
|
-
// Electron-based App
|
|
5850
|
-
/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,
|
|
5851
|
-
// Tesla
|
|
5852
|
-
/m?(qqbrowser|baiduboxapp|2345Explorer)[\/ ]?([\w\.]+)/i
|
|
5853
|
-
// QQBrowser/Baidu App/2345 Browser
|
|
5854
|
-
],
|
|
5855
|
-
[NAME, VERSION],
|
|
5856
|
-
[
|
|
5857
|
-
/(metasr)[\/ ]?([\w\.]+)/i,
|
|
5858
|
-
// SouGouBrowser
|
|
5859
|
-
/(lbbrowser)/i,
|
|
5860
|
-
// LieBao Browser
|
|
5861
|
-
/\[(linkedin)app\]/i
|
|
5862
|
-
// LinkedIn App for iOS & Android
|
|
5863
|
-
],
|
|
5864
|
-
[NAME],
|
|
5865
|
-
[
|
|
5866
|
-
// WebView
|
|
5867
|
-
/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i
|
|
5868
|
-
// Facebook App for iOS & Android
|
|
5869
|
-
],
|
|
5870
|
-
[[NAME, FACEBOOK], VERSION],
|
|
5871
|
-
[
|
|
5872
|
-
/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,
|
|
5873
|
-
// Kakao App
|
|
5874
|
-
/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,
|
|
5875
|
-
// Naver InApp
|
|
5876
|
-
/safari (line)\/([\w\.]+)/i,
|
|
5877
|
-
// Line App for iOS
|
|
5878
|
-
/\b(line)\/([\w\.]+)\/iab/i,
|
|
5879
|
-
// Line App for Android
|
|
5880
|
-
/(chromium|instagram)[\/ ]([-\w\.]+)/i
|
|
5881
|
-
// Chromium/Instagram
|
|
5882
|
-
],
|
|
5883
|
-
[NAME, VERSION],
|
|
5884
|
-
[
|
|
5885
|
-
/\bgsa\/([\w\.]+) .*safari\//i
|
|
5886
|
-
// Google Search Appliance on iOS
|
|
5887
|
-
],
|
|
5888
|
-
[VERSION, [NAME, "GSA"]],
|
|
5889
|
-
[
|
|
5890
|
-
/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i
|
|
5891
|
-
// TikTok
|
|
5892
|
-
],
|
|
5893
|
-
[VERSION, [NAME, "TikTok"]],
|
|
5894
|
-
[
|
|
5895
|
-
/headlesschrome(?:\/([\w\.]+)| )/i
|
|
5896
|
-
// Chrome Headless
|
|
5897
|
-
],
|
|
5898
|
-
[VERSION, [NAME, CHROME + " Headless"]],
|
|
5899
|
-
[
|
|
5900
|
-
/ wv\).+(chrome)\/([\w\.]+)/i
|
|
5901
|
-
// Chrome WebView
|
|
5902
|
-
],
|
|
5903
|
-
[[NAME, CHROME + " WebView"], VERSION],
|
|
5904
|
-
[
|
|
5905
|
-
/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i
|
|
5906
|
-
// Android Browser
|
|
5907
|
-
],
|
|
5908
|
-
[VERSION, [NAME, "Android " + BROWSER]],
|
|
5909
|
-
[
|
|
5910
|
-
/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i
|
|
5911
|
-
// Chrome/OmniWeb/Arora/Tizen/Nokia
|
|
5912
|
-
],
|
|
5913
|
-
[NAME, VERSION],
|
|
5914
|
-
[
|
|
5915
|
-
/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i
|
|
5916
|
-
// Mobile Safari
|
|
5917
|
-
],
|
|
5918
|
-
[VERSION, [NAME, "Mobile Safari"]],
|
|
5919
|
-
[
|
|
5920
|
-
/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i
|
|
5921
|
-
// Safari & Safari Mobile
|
|
5922
|
-
],
|
|
5923
|
-
[VERSION, NAME],
|
|
5924
|
-
[
|
|
5925
|
-
/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i
|
|
5926
|
-
// Safari < 3.0
|
|
5927
|
-
],
|
|
5928
|
-
[NAME, [VERSION, strMapper, oldSafariMap]],
|
|
5929
|
-
[
|
|
5930
|
-
/(webkit|khtml)\/([\w\.]+)/i
|
|
5931
|
-
],
|
|
5932
|
-
[NAME, VERSION],
|
|
5933
|
-
[
|
|
5934
|
-
// Gecko based
|
|
5935
|
-
/(navigator|netscape\d?)\/([-\w\.]+)/i
|
|
5936
|
-
// Netscape
|
|
5937
|
-
],
|
|
5938
|
-
[[NAME, "Netscape"], VERSION],
|
|
5939
|
-
[
|
|
5940
|
-
/mobile vr; rv:([\w\.]+)\).+firefox/i
|
|
5941
|
-
// Firefox Reality
|
|
5942
|
-
],
|
|
5943
|
-
[VERSION, [NAME, FIREFOX + " Reality"]],
|
|
5944
|
-
[
|
|
5945
|
-
/ekiohf.+(flow)\/([\w\.]+)/i,
|
|
5946
|
-
// Flow
|
|
5947
|
-
/(swiftfox)/i,
|
|
5948
|
-
// Swiftfox
|
|
5949
|
-
/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i,
|
|
5950
|
-
// IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror/Klar
|
|
5951
|
-
/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,
|
|
5952
|
-
// Firefox/SeaMonkey/K-Meleon/IceCat/IceApe/Firebird/Phoenix
|
|
5953
|
-
/(firefox)\/([\w\.]+)/i,
|
|
5954
|
-
// Other Firefox-based
|
|
5955
|
-
/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,
|
|
5956
|
-
// Mozilla
|
|
5957
|
-
// Other
|
|
5958
|
-
/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,
|
|
5959
|
-
// Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Sleipnir/Obigo/Mosaic/Go/ICE/UP.Browser
|
|
5960
|
-
/(links) \(([\w\.]+)/i,
|
|
5961
|
-
// Links
|
|
5962
|
-
/panasonic;(viera)/i
|
|
5963
|
-
// Panasonic Viera
|
|
5964
|
-
],
|
|
5965
|
-
[NAME, VERSION],
|
|
5966
|
-
[
|
|
5967
|
-
/(cobalt)\/([\w\.]+)/i
|
|
5968
|
-
// Cobalt
|
|
5969
|
-
],
|
|
5970
|
-
[NAME, [VERSION, /master.|lts./, ""]]
|
|
5971
|
-
],
|
|
5972
|
-
cpu: [
|
|
5973
|
-
[
|
|
5974
|
-
/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i
|
|
5975
|
-
// AMD64 (x64)
|
|
5976
|
-
],
|
|
5977
|
-
[[ARCHITECTURE, "amd64"]],
|
|
5978
|
-
[
|
|
5979
|
-
/(ia32(?=;))/i
|
|
5980
|
-
// IA32 (quicktime)
|
|
5981
|
-
],
|
|
5982
|
-
[[ARCHITECTURE, lowerize]],
|
|
5983
|
-
[
|
|
5984
|
-
/((?:i[346]|x)86)[;\)]/i
|
|
5985
|
-
// IA32 (x86)
|
|
5986
|
-
],
|
|
5987
|
-
[[ARCHITECTURE, "ia32"]],
|
|
5988
|
-
[
|
|
5989
|
-
/\b(aarch64|arm(v?8e?l?|_?64))\b/i
|
|
5990
|
-
// ARM64
|
|
5991
|
-
],
|
|
5992
|
-
[[ARCHITECTURE, "arm64"]],
|
|
5993
|
-
[
|
|
5994
|
-
/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i
|
|
5995
|
-
// ARMHF
|
|
5996
|
-
],
|
|
5997
|
-
[[ARCHITECTURE, "armhf"]],
|
|
5998
|
-
[
|
|
5999
|
-
// PocketPC mistakenly identified as PowerPC
|
|
6000
|
-
/windows (ce|mobile); ppc;/i
|
|
6001
|
-
],
|
|
6002
|
-
[[ARCHITECTURE, "arm"]],
|
|
6003
|
-
[
|
|
6004
|
-
/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i
|
|
6005
|
-
// PowerPC
|
|
6006
|
-
],
|
|
6007
|
-
[[ARCHITECTURE, /ower/, EMPTY, lowerize]],
|
|
6008
|
-
[
|
|
6009
|
-
/(sun4\w)[;\)]/i
|
|
6010
|
-
// SPARC
|
|
6011
|
-
],
|
|
6012
|
-
[[ARCHITECTURE, "sparc"]],
|
|
6013
|
-
[
|
|
6014
|
-
/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i
|
|
6015
|
-
// IA64, 68K, ARM/64, AVR/32, IRIX/64, MIPS/64, SPARC/64, PA-RISC
|
|
6016
|
-
],
|
|
6017
|
-
[[ARCHITECTURE, lowerize]]
|
|
6018
|
-
],
|
|
6019
|
-
device: [
|
|
6020
|
-
[
|
|
6021
|
-
//////////////////////////
|
|
6022
|
-
// MOBILES & TABLETS
|
|
6023
|
-
/////////////////////////
|
|
6024
|
-
// Samsung
|
|
6025
|
-
/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i
|
|
6026
|
-
],
|
|
6027
|
-
[MODEL, [VENDOR, SAMSUNG], [TYPE, TABLET]],
|
|
6028
|
-
[
|
|
6029
|
-
/\b((?:s[cgp]h|gt|sm)-\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,
|
|
6030
|
-
/samsung[- ]([-\w]+)/i,
|
|
6031
|
-
/sec-(sgh\w+)/i
|
|
6032
|
-
],
|
|
6033
|
-
[MODEL, [VENDOR, SAMSUNG], [TYPE, MOBILE]],
|
|
6034
|
-
[
|
|
6035
|
-
// Apple
|
|
6036
|
-
/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i
|
|
6037
|
-
// iPod/iPhone
|
|
6038
|
-
],
|
|
6039
|
-
[MODEL, [VENDOR, APPLE], [TYPE, MOBILE]],
|
|
6040
|
-
[
|
|
6041
|
-
/\((ipad);[-\w\),; ]+apple/i,
|
|
6042
|
-
// iPad
|
|
6043
|
-
/applecoremedia\/[\w\.]+ \((ipad)/i,
|
|
6044
|
-
/\b(ipad)\d\d?,\d\d?[;\]].+ios/i
|
|
6045
|
-
],
|
|
6046
|
-
[MODEL, [VENDOR, APPLE], [TYPE, TABLET]],
|
|
6047
|
-
[
|
|
6048
|
-
/(macintosh);/i
|
|
6049
|
-
],
|
|
6050
|
-
[MODEL, [VENDOR, APPLE]],
|
|
6051
|
-
[
|
|
6052
|
-
// Sharp
|
|
6053
|
-
/\b(sh-?[altvz]?\d\d[a-ekm]?)/i
|
|
6054
|
-
],
|
|
6055
|
-
[MODEL, [VENDOR, SHARP], [TYPE, MOBILE]],
|
|
6056
|
-
[
|
|
6057
|
-
// Huawei
|
|
6058
|
-
/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i
|
|
6059
|
-
],
|
|
6060
|
-
[MODEL, [VENDOR, HUAWEI], [TYPE, TABLET]],
|
|
6061
|
-
[
|
|
6062
|
-
/(?:huawei|honor)([-\w ]+)[;\)]/i,
|
|
6063
|
-
/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i
|
|
6064
|
-
],
|
|
6065
|
-
[MODEL, [VENDOR, HUAWEI], [TYPE, MOBILE]],
|
|
6066
|
-
[
|
|
6067
|
-
// Xiaomi
|
|
6068
|
-
/\b(poco[\w ]+)(?: bui|\))/i,
|
|
6069
|
-
// Xiaomi POCO
|
|
6070
|
-
/\b; (\w+) build\/hm\1/i,
|
|
6071
|
-
// Xiaomi Hongmi 'numeric' models
|
|
6072
|
-
/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,
|
|
6073
|
-
// Xiaomi Hongmi
|
|
6074
|
-
/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,
|
|
6075
|
-
// Xiaomi Redmi
|
|
6076
|
-
/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i
|
|
6077
|
-
// Xiaomi Mi
|
|
6078
|
-
],
|
|
6079
|
-
[[MODEL, /_/g, " "], [VENDOR, XIAOMI], [TYPE, MOBILE]],
|
|
6080
|
-
[
|
|
6081
|
-
/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i
|
|
6082
|
-
// Mi Pad tablets
|
|
6083
|
-
],
|
|
6084
|
-
[[MODEL, /_/g, " "], [VENDOR, XIAOMI], [TYPE, TABLET]],
|
|
6085
|
-
[
|
|
6086
|
-
// OPPO
|
|
6087
|
-
/; (\w+) bui.+ oppo/i,
|
|
6088
|
-
/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i
|
|
6089
|
-
],
|
|
6090
|
-
[MODEL, [VENDOR, "OPPO"], [TYPE, MOBILE]],
|
|
6091
|
-
[
|
|
6092
|
-
// Vivo
|
|
6093
|
-
/vivo (\w+)(?: bui|\))/i,
|
|
6094
|
-
/\b(v[12]\d{3}\w?[at])(?: bui|;)/i
|
|
6095
|
-
],
|
|
6096
|
-
[MODEL, [VENDOR, "Vivo"], [TYPE, MOBILE]],
|
|
6097
|
-
[
|
|
6098
|
-
// Realme
|
|
6099
|
-
/\b(rmx[12]\d{3})(?: bui|;|\))/i
|
|
6100
|
-
],
|
|
6101
|
-
[MODEL, [VENDOR, "Realme"], [TYPE, MOBILE]],
|
|
6102
|
-
[
|
|
6103
|
-
// Motorola
|
|
6104
|
-
/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,
|
|
6105
|
-
/\bmot(?:orola)?[- ](\w*)/i,
|
|
6106
|
-
/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i
|
|
6107
|
-
],
|
|
6108
|
-
[MODEL, [VENDOR, MOTOROLA], [TYPE, MOBILE]],
|
|
6109
|
-
[
|
|
6110
|
-
/\b(mz60\d|xoom[2 ]{0,2}) build\//i
|
|
6111
|
-
],
|
|
6112
|
-
[MODEL, [VENDOR, MOTOROLA], [TYPE, TABLET]],
|
|
6113
|
-
[
|
|
6114
|
-
// LG
|
|
6115
|
-
/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i
|
|
6116
|
-
],
|
|
6117
|
-
[MODEL, [VENDOR, LG], [TYPE, TABLET]],
|
|
6118
|
-
[
|
|
6119
|
-
/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,
|
|
6120
|
-
/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,
|
|
6121
|
-
/\blg-?([\d\w]+) bui/i
|
|
6122
|
-
],
|
|
6123
|
-
[MODEL, [VENDOR, LG], [TYPE, MOBILE]],
|
|
6124
|
-
[
|
|
6125
|
-
// Lenovo
|
|
6126
|
-
/(ideatab[-\w ]+)/i,
|
|
6127
|
-
/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i
|
|
6128
|
-
],
|
|
6129
|
-
[MODEL, [VENDOR, "Lenovo"], [TYPE, TABLET]],
|
|
6130
|
-
[
|
|
6131
|
-
// Nokia
|
|
6132
|
-
/(?:maemo|nokia).*(n900|lumia \d+)/i,
|
|
6133
|
-
/nokia[-_ ]?([-\w\.]*)/i
|
|
6134
|
-
],
|
|
6135
|
-
[[MODEL, /_/g, " "], [VENDOR, "Nokia"], [TYPE, MOBILE]],
|
|
6136
|
-
[
|
|
6137
|
-
// Google
|
|
6138
|
-
/(pixel c)\b/i
|
|
6139
|
-
// Google Pixel C
|
|
6140
|
-
],
|
|
6141
|
-
[MODEL, [VENDOR, GOOGLE], [TYPE, TABLET]],
|
|
6142
|
-
[
|
|
6143
|
-
/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i
|
|
6144
|
-
// Google Pixel
|
|
6145
|
-
],
|
|
6146
|
-
[MODEL, [VENDOR, GOOGLE], [TYPE, MOBILE]],
|
|
6147
|
-
[
|
|
6148
|
-
// Sony
|
|
6149
|
-
/droid.+ (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i
|
|
6150
|
-
],
|
|
6151
|
-
[MODEL, [VENDOR, SONY], [TYPE, MOBILE]],
|
|
6152
|
-
[
|
|
6153
|
-
/sony tablet [ps]/i,
|
|
6154
|
-
/\b(?:sony)?sgp\w+(?: bui|\))/i
|
|
6155
|
-
],
|
|
6156
|
-
[[MODEL, "Xperia Tablet"], [VENDOR, SONY], [TYPE, TABLET]],
|
|
6157
|
-
[
|
|
6158
|
-
// OnePlus
|
|
6159
|
-
/ (kb2005|in20[12]5|be20[12][59])\b/i,
|
|
6160
|
-
/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i
|
|
6161
|
-
],
|
|
6162
|
-
[MODEL, [VENDOR, "OnePlus"], [TYPE, MOBILE]],
|
|
6163
|
-
[
|
|
6164
|
-
// Amazon
|
|
6165
|
-
/(alexa)webm/i,
|
|
6166
|
-
/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i,
|
|
6167
|
-
// Kindle Fire without Silk / Echo Show
|
|
6168
|
-
/(kf[a-z]+)( bui|\)).+silk\//i
|
|
6169
|
-
// Kindle Fire HD
|
|
6170
|
-
],
|
|
6171
|
-
[MODEL, [VENDOR, AMAZON], [TYPE, TABLET]],
|
|
6172
|
-
[
|
|
6173
|
-
/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i
|
|
6174
|
-
// Fire Phone
|
|
6175
|
-
],
|
|
6176
|
-
[[MODEL, /(.+)/g, "Fire Phone $1"], [VENDOR, AMAZON], [TYPE, MOBILE]],
|
|
6177
|
-
[
|
|
6178
|
-
// BlackBerry
|
|
6179
|
-
/(playbook);[-\w\),; ]+(rim)/i
|
|
6180
|
-
// BlackBerry PlayBook
|
|
6181
|
-
],
|
|
6182
|
-
[MODEL, VENDOR, [TYPE, TABLET]],
|
|
6183
|
-
[
|
|
6184
|
-
/\b((?:bb[a-f]|st[hv])100-\d)/i,
|
|
6185
|
-
/\(bb10; (\w+)/i
|
|
6186
|
-
// BlackBerry 10
|
|
6187
|
-
],
|
|
6188
|
-
[MODEL, [VENDOR, BLACKBERRY], [TYPE, MOBILE]],
|
|
6189
|
-
[
|
|
6190
|
-
// Asus
|
|
6191
|
-
/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i
|
|
6192
|
-
],
|
|
6193
|
-
[MODEL, [VENDOR, ASUS], [TYPE, TABLET]],
|
|
6194
|
-
[
|
|
6195
|
-
/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i
|
|
6196
|
-
],
|
|
6197
|
-
[MODEL, [VENDOR, ASUS], [TYPE, MOBILE]],
|
|
6198
|
-
[
|
|
6199
|
-
// HTC
|
|
6200
|
-
/(nexus 9)/i
|
|
6201
|
-
// HTC Nexus 9
|
|
6202
|
-
],
|
|
6203
|
-
[MODEL, [VENDOR, "HTC"], [TYPE, TABLET]],
|
|
6204
|
-
[
|
|
6205
|
-
/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,
|
|
6206
|
-
// HTC
|
|
6207
|
-
// ZTE
|
|
6208
|
-
/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,
|
|
6209
|
-
/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i
|
|
6210
|
-
// Alcatel/GeeksPhone/Nexian/Panasonic/Sony
|
|
6211
|
-
],
|
|
6212
|
-
[VENDOR, [MODEL, /_/g, " "], [TYPE, MOBILE]],
|
|
6213
|
-
[
|
|
6214
|
-
// Acer
|
|
6215
|
-
/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i
|
|
6216
|
-
],
|
|
6217
|
-
[MODEL, [VENDOR, "Acer"], [TYPE, TABLET]],
|
|
6218
|
-
[
|
|
6219
|
-
// Meizu
|
|
6220
|
-
/droid.+; (m[1-5] note) bui/i,
|
|
6221
|
-
/\bmz-([-\w]{2,})/i
|
|
6222
|
-
],
|
|
6223
|
-
[MODEL, [VENDOR, "Meizu"], [TYPE, MOBILE]],
|
|
6224
|
-
[
|
|
6225
|
-
// MIXED
|
|
6226
|
-
/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\w]*)/i,
|
|
6227
|
-
// BlackBerry/BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron
|
|
6228
|
-
/(hp) ([\w ]+\w)/i,
|
|
6229
|
-
// HP iPAQ
|
|
6230
|
-
/(asus)-?(\w+)/i,
|
|
6231
|
-
// Asus
|
|
6232
|
-
/(microsoft); (lumia[\w ]+)/i,
|
|
6233
|
-
// Microsoft Lumia
|
|
6234
|
-
/(lenovo)[-_ ]?([-\w]+)/i,
|
|
6235
|
-
// Lenovo
|
|
6236
|
-
/(jolla)/i,
|
|
6237
|
-
// Jolla
|
|
6238
|
-
/(oppo) ?([\w ]+) bui/i
|
|
6239
|
-
// OPPO
|
|
6240
|
-
],
|
|
6241
|
-
[VENDOR, MODEL, [TYPE, MOBILE]],
|
|
6242
|
-
[
|
|
6243
|
-
/(kobo)\s(ereader|touch)/i,
|
|
6244
|
-
// Kobo
|
|
6245
|
-
/(archos) (gamepad2?)/i,
|
|
6246
|
-
// Archos
|
|
6247
|
-
/(hp).+(touchpad(?!.+tablet)|tablet)/i,
|
|
6248
|
-
// HP TouchPad
|
|
6249
|
-
/(kindle)\/([\w\.]+)/i,
|
|
6250
|
-
// Kindle
|
|
6251
|
-
/(nook)[\w ]+build\/(\w+)/i,
|
|
6252
|
-
// Nook
|
|
6253
|
-
/(dell) (strea[kpr\d ]*[\dko])/i,
|
|
6254
|
-
// Dell Streak
|
|
6255
|
-
/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,
|
|
6256
|
-
// Le Pan Tablets
|
|
6257
|
-
/(trinity)[- ]*(t\d{3}) bui/i,
|
|
6258
|
-
// Trinity Tablets
|
|
6259
|
-
/(gigaset)[- ]+(q\w{1,9}) bui/i,
|
|
6260
|
-
// Gigaset Tablets
|
|
6261
|
-
/(vodafone) ([\w ]+)(?:\)| bui)/i
|
|
6262
|
-
// Vodafone
|
|
6263
|
-
],
|
|
6264
|
-
[VENDOR, MODEL, [TYPE, TABLET]],
|
|
6265
|
-
[
|
|
6266
|
-
/(surface duo)/i
|
|
6267
|
-
// Surface Duo
|
|
6268
|
-
],
|
|
6269
|
-
[MODEL, [VENDOR, MICROSOFT], [TYPE, TABLET]],
|
|
6270
|
-
[
|
|
6271
|
-
/droid [\d\.]+; (fp\du?)(?: b|\))/i
|
|
6272
|
-
// Fairphone
|
|
6273
|
-
],
|
|
6274
|
-
[MODEL, [VENDOR, "Fairphone"], [TYPE, MOBILE]],
|
|
6275
|
-
[
|
|
6276
|
-
/(u304aa)/i
|
|
6277
|
-
// AT&T
|
|
6278
|
-
],
|
|
6279
|
-
[MODEL, [VENDOR, "AT&T"], [TYPE, MOBILE]],
|
|
6280
|
-
[
|
|
6281
|
-
/\bsie-(\w*)/i
|
|
6282
|
-
// Siemens
|
|
6283
|
-
],
|
|
6284
|
-
[MODEL, [VENDOR, "Siemens"], [TYPE, MOBILE]],
|
|
6285
|
-
[
|
|
6286
|
-
/\b(rct\w+) b/i
|
|
6287
|
-
// RCA Tablets
|
|
6288
|
-
],
|
|
6289
|
-
[MODEL, [VENDOR, "RCA"], [TYPE, TABLET]],
|
|
6290
|
-
[
|
|
6291
|
-
/\b(venue[\d ]{2,7}) b/i
|
|
6292
|
-
// Dell Venue Tablets
|
|
6293
|
-
],
|
|
6294
|
-
[MODEL, [VENDOR, "Dell"], [TYPE, TABLET]],
|
|
6295
|
-
[
|
|
6296
|
-
/\b(q(?:mv|ta)\w+) b/i
|
|
6297
|
-
// Verizon Tablet
|
|
6298
|
-
],
|
|
6299
|
-
[MODEL, [VENDOR, "Verizon"], [TYPE, TABLET]],
|
|
6300
|
-
[
|
|
6301
|
-
/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i
|
|
6302
|
-
// Barnes & Noble Tablet
|
|
6303
|
-
],
|
|
6304
|
-
[MODEL, [VENDOR, "Barnes & Noble"], [TYPE, TABLET]],
|
|
6305
|
-
[
|
|
6306
|
-
/\b(tm\d{3}\w+) b/i
|
|
6307
|
-
],
|
|
6308
|
-
[MODEL, [VENDOR, "NuVision"], [TYPE, TABLET]],
|
|
6309
|
-
[
|
|
6310
|
-
/\b(k88) b/i
|
|
6311
|
-
// ZTE K Series Tablet
|
|
6312
|
-
],
|
|
6313
|
-
[MODEL, [VENDOR, "ZTE"], [TYPE, TABLET]],
|
|
6314
|
-
[
|
|
6315
|
-
/\b(nx\d{3}j) b/i
|
|
6316
|
-
// ZTE Nubia
|
|
6317
|
-
],
|
|
6318
|
-
[MODEL, [VENDOR, "ZTE"], [TYPE, MOBILE]],
|
|
6319
|
-
[
|
|
6320
|
-
/\b(gen\d{3}) b.+49h/i
|
|
6321
|
-
// Swiss GEN Mobile
|
|
6322
|
-
],
|
|
6323
|
-
[MODEL, [VENDOR, "Swiss"], [TYPE, MOBILE]],
|
|
6324
|
-
[
|
|
6325
|
-
/\b(zur\d{3}) b/i
|
|
6326
|
-
// Swiss ZUR Tablet
|
|
6327
|
-
],
|
|
6328
|
-
[MODEL, [VENDOR, "Swiss"], [TYPE, TABLET]],
|
|
6329
|
-
[
|
|
6330
|
-
/\b((zeki)?tb.*\b) b/i
|
|
6331
|
-
// Zeki Tablets
|
|
6332
|
-
],
|
|
6333
|
-
[MODEL, [VENDOR, "Zeki"], [TYPE, TABLET]],
|
|
6334
|
-
[
|
|
6335
|
-
/\b([yr]\d{2}) b/i,
|
|
6336
|
-
/\b(dragon[- ]+touch |dt)(\w{5}) b/i
|
|
6337
|
-
// Dragon Touch Tablet
|
|
6338
|
-
],
|
|
6339
|
-
[[VENDOR, "Dragon Touch"], MODEL, [TYPE, TABLET]],
|
|
6340
|
-
[
|
|
6341
|
-
/\b(ns-?\w{0,9}) b/i
|
|
6342
|
-
// Insignia Tablets
|
|
6343
|
-
],
|
|
6344
|
-
[MODEL, [VENDOR, "Insignia"], [TYPE, TABLET]],
|
|
6345
|
-
[
|
|
6346
|
-
/\b((nxa|next)-?\w{0,9}) b/i
|
|
6347
|
-
// NextBook Tablets
|
|
6348
|
-
],
|
|
6349
|
-
[MODEL, [VENDOR, "NextBook"], [TYPE, TABLET]],
|
|
6350
|
-
[
|
|
6351
|
-
/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i
|
|
6352
|
-
// Voice Xtreme Phones
|
|
6353
|
-
],
|
|
6354
|
-
[[VENDOR, "Voice"], MODEL, [TYPE, MOBILE]],
|
|
6355
|
-
[
|
|
6356
|
-
/\b(lvtel\-)?(v1[12]) b/i
|
|
6357
|
-
// LvTel Phones
|
|
6358
|
-
],
|
|
6359
|
-
[[VENDOR, "LvTel"], MODEL, [TYPE, MOBILE]],
|
|
6360
|
-
[
|
|
6361
|
-
/\b(ph-1) /i
|
|
6362
|
-
// Essential PH-1
|
|
6363
|
-
],
|
|
6364
|
-
[MODEL, [VENDOR, "Essential"], [TYPE, MOBILE]],
|
|
6365
|
-
[
|
|
6366
|
-
/\b(v(100md|700na|7011|917g).*\b) b/i
|
|
6367
|
-
// Envizen Tablets
|
|
6368
|
-
],
|
|
6369
|
-
[MODEL, [VENDOR, "Envizen"], [TYPE, TABLET]],
|
|
6370
|
-
[
|
|
6371
|
-
/\b(trio[-\w\. ]+) b/i
|
|
6372
|
-
// MachSpeed Tablets
|
|
6373
|
-
],
|
|
6374
|
-
[MODEL, [VENDOR, "MachSpeed"], [TYPE, TABLET]],
|
|
6375
|
-
[
|
|
6376
|
-
/\btu_(1491) b/i
|
|
6377
|
-
// Rotor Tablets
|
|
6378
|
-
],
|
|
6379
|
-
[MODEL, [VENDOR, "Rotor"], [TYPE, TABLET]],
|
|
6380
|
-
[
|
|
6381
|
-
/(shield[\w ]+) b/i
|
|
6382
|
-
// Nvidia Shield Tablets
|
|
6383
|
-
],
|
|
6384
|
-
[MODEL, [VENDOR, "Nvidia"], [TYPE, TABLET]],
|
|
6385
|
-
[
|
|
6386
|
-
/(sprint) (\w+)/i
|
|
6387
|
-
// Sprint Phones
|
|
6388
|
-
],
|
|
6389
|
-
[VENDOR, MODEL, [TYPE, MOBILE]],
|
|
6390
|
-
[
|
|
6391
|
-
/(kin\.[onetw]{3})/i
|
|
6392
|
-
// Microsoft Kin
|
|
6393
|
-
],
|
|
6394
|
-
[[MODEL, /\./g, " "], [VENDOR, MICROSOFT], [TYPE, MOBILE]],
|
|
6395
|
-
[
|
|
6396
|
-
/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i
|
|
6397
|
-
// Zebra
|
|
6398
|
-
],
|
|
6399
|
-
[MODEL, [VENDOR, ZEBRA], [TYPE, TABLET]],
|
|
6400
|
-
[
|
|
6401
|
-
/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i
|
|
6402
|
-
],
|
|
6403
|
-
[MODEL, [VENDOR, ZEBRA], [TYPE, MOBILE]],
|
|
6404
|
-
[
|
|
6405
|
-
///////////////////
|
|
6406
|
-
// SMARTTVS
|
|
6407
|
-
///////////////////
|
|
6408
|
-
/smart-tv.+(samsung)/i
|
|
6409
|
-
// Samsung
|
|
6410
|
-
],
|
|
6411
|
-
[VENDOR, [TYPE, SMARTTV]],
|
|
6412
|
-
[
|
|
6413
|
-
/hbbtv.+maple;(\d+)/i
|
|
6414
|
-
],
|
|
6415
|
-
[[MODEL, /^/, "SmartTV"], [VENDOR, SAMSUNG], [TYPE, SMARTTV]],
|
|
6416
|
-
[
|
|
6417
|
-
/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i
|
|
6418
|
-
// LG SmartTV
|
|
6419
|
-
],
|
|
6420
|
-
[[VENDOR, LG], [TYPE, SMARTTV]],
|
|
6421
|
-
[
|
|
6422
|
-
/(apple) ?tv/i
|
|
6423
|
-
// Apple TV
|
|
6424
|
-
],
|
|
6425
|
-
[VENDOR, [MODEL, APPLE + " TV"], [TYPE, SMARTTV]],
|
|
6426
|
-
[
|
|
6427
|
-
/crkey/i
|
|
6428
|
-
// Google Chromecast
|
|
6429
|
-
],
|
|
6430
|
-
[[MODEL, CHROME + "cast"], [VENDOR, GOOGLE], [TYPE, SMARTTV]],
|
|
6431
|
-
[
|
|
6432
|
-
/droid.+aft(\w)( bui|\))/i
|
|
6433
|
-
// Fire TV
|
|
6434
|
-
],
|
|
6435
|
-
[MODEL, [VENDOR, AMAZON], [TYPE, SMARTTV]],
|
|
6436
|
-
[
|
|
6437
|
-
/\(dtv[\);].+(aquos)/i,
|
|
6438
|
-
/(aquos-tv[\w ]+)\)/i
|
|
6439
|
-
// Sharp
|
|
6440
|
-
],
|
|
6441
|
-
[MODEL, [VENDOR, SHARP], [TYPE, SMARTTV]],
|
|
6442
|
-
[
|
|
6443
|
-
/(bravia[\w ]+)( bui|\))/i
|
|
6444
|
-
// Sony
|
|
6445
|
-
],
|
|
6446
|
-
[MODEL, [VENDOR, SONY], [TYPE, SMARTTV]],
|
|
6447
|
-
[
|
|
6448
|
-
/(mitv-\w{5}) bui/i
|
|
6449
|
-
// Xiaomi
|
|
6450
|
-
],
|
|
6451
|
-
[MODEL, [VENDOR, XIAOMI], [TYPE, SMARTTV]],
|
|
6452
|
-
[
|
|
6453
|
-
/Hbbtv.*(technisat) (.*);/i
|
|
6454
|
-
// TechniSAT
|
|
6455
|
-
],
|
|
6456
|
-
[VENDOR, MODEL, [TYPE, SMARTTV]],
|
|
6457
|
-
[
|
|
6458
|
-
/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,
|
|
6459
|
-
// Roku
|
|
6460
|
-
/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i
|
|
6461
|
-
// HbbTV devices
|
|
6462
|
-
],
|
|
6463
|
-
[[VENDOR, trim], [MODEL, trim], [TYPE, SMARTTV]],
|
|
6464
|
-
[
|
|
6465
|
-
/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i
|
|
6466
|
-
// SmartTV from Unidentified Vendors
|
|
6467
|
-
],
|
|
6468
|
-
[[TYPE, SMARTTV]],
|
|
6469
|
-
[
|
|
6470
|
-
///////////////////
|
|
6471
|
-
// CONSOLES
|
|
6472
|
-
///////////////////
|
|
6473
|
-
/(ouya)/i,
|
|
6474
|
-
// Ouya
|
|
6475
|
-
/(nintendo) ([wids3utch]+)/i
|
|
6476
|
-
// Nintendo
|
|
6477
|
-
],
|
|
6478
|
-
[VENDOR, MODEL, [TYPE, CONSOLE]],
|
|
6479
|
-
[
|
|
6480
|
-
/droid.+; (shield) bui/i
|
|
6481
|
-
// Nvidia
|
|
6482
|
-
],
|
|
6483
|
-
[MODEL, [VENDOR, "Nvidia"], [TYPE, CONSOLE]],
|
|
6484
|
-
[
|
|
6485
|
-
/(playstation [345portablevi]+)/i
|
|
6486
|
-
// Playstation
|
|
6487
|
-
],
|
|
6488
|
-
[MODEL, [VENDOR, SONY], [TYPE, CONSOLE]],
|
|
6489
|
-
[
|
|
6490
|
-
/\b(xbox(?: one)?(?!; xbox))[\); ]/i
|
|
6491
|
-
// Microsoft Xbox
|
|
6492
|
-
],
|
|
6493
|
-
[MODEL, [VENDOR, MICROSOFT], [TYPE, CONSOLE]],
|
|
6494
|
-
[
|
|
6495
|
-
///////////////////
|
|
6496
|
-
// WEARABLES
|
|
6497
|
-
///////////////////
|
|
6498
|
-
/((pebble))app/i
|
|
6499
|
-
// Pebble
|
|
6500
|
-
],
|
|
6501
|
-
[VENDOR, MODEL, [TYPE, WEARABLE]],
|
|
6502
|
-
[
|
|
6503
|
-
/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i
|
|
6504
|
-
// Apple Watch
|
|
6505
|
-
],
|
|
6506
|
-
[MODEL, [VENDOR, APPLE], [TYPE, WEARABLE]],
|
|
6507
|
-
[
|
|
6508
|
-
/droid.+; (glass) \d/i
|
|
6509
|
-
// Google Glass
|
|
6510
|
-
],
|
|
6511
|
-
[MODEL, [VENDOR, GOOGLE], [TYPE, WEARABLE]],
|
|
6512
|
-
[
|
|
6513
|
-
/droid.+; (wt63?0{2,3})\)/i
|
|
6514
|
-
],
|
|
6515
|
-
[MODEL, [VENDOR, ZEBRA], [TYPE, WEARABLE]],
|
|
6516
|
-
[
|
|
6517
|
-
/(quest( 2| pro)?)/i
|
|
6518
|
-
// Oculus Quest
|
|
6519
|
-
],
|
|
6520
|
-
[MODEL, [VENDOR, FACEBOOK], [TYPE, WEARABLE]],
|
|
6521
|
-
[
|
|
6522
|
-
///////////////////
|
|
6523
|
-
// EMBEDDED
|
|
6524
|
-
///////////////////
|
|
6525
|
-
/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i
|
|
6526
|
-
// Tesla
|
|
6527
|
-
],
|
|
6528
|
-
[VENDOR, [TYPE, EMBEDDED]],
|
|
6529
|
-
[
|
|
6530
|
-
/(aeobc)\b/i
|
|
6531
|
-
// Echo Dot
|
|
6532
|
-
],
|
|
6533
|
-
[MODEL, [VENDOR, AMAZON], [TYPE, EMBEDDED]],
|
|
6534
|
-
[
|
|
6535
|
-
////////////////////
|
|
6536
|
-
// MIXED (GENERIC)
|
|
6537
|
-
///////////////////
|
|
6538
|
-
/droid .+?; ([^;]+?)(?: bui|\) applew).+? mobile safari/i
|
|
6539
|
-
// Android Phones from Unidentified Vendors
|
|
6540
|
-
],
|
|
6541
|
-
[MODEL, [TYPE, MOBILE]],
|
|
6542
|
-
[
|
|
6543
|
-
/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i
|
|
6544
|
-
// Android Tablets from Unidentified Vendors
|
|
6545
|
-
],
|
|
6546
|
-
[MODEL, [TYPE, TABLET]],
|
|
6547
|
-
[
|
|
6548
|
-
/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i
|
|
6549
|
-
// Unidentifiable Tablet
|
|
6550
|
-
],
|
|
6551
|
-
[[TYPE, TABLET]],
|
|
6552
|
-
[
|
|
6553
|
-
/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i
|
|
6554
|
-
// Unidentifiable Mobile
|
|
6555
|
-
],
|
|
6556
|
-
[[TYPE, MOBILE]],
|
|
6557
|
-
[
|
|
6558
|
-
/(android[-\w\. ]{0,9});.+buil/i
|
|
6559
|
-
// Generic Android Device
|
|
6560
|
-
],
|
|
6561
|
-
[MODEL, [VENDOR, "Generic"]]
|
|
6562
|
-
],
|
|
6563
|
-
engine: [
|
|
6564
|
-
[
|
|
6565
|
-
/windows.+ edge\/([\w\.]+)/i
|
|
6566
|
-
// EdgeHTML
|
|
6567
|
-
],
|
|
6568
|
-
[VERSION, [NAME, EDGE + "HTML"]],
|
|
6569
|
-
[
|
|
6570
|
-
/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i
|
|
6571
|
-
// Blink
|
|
6572
|
-
],
|
|
6573
|
-
[VERSION, [NAME, "Blink"]],
|
|
6574
|
-
[
|
|
6575
|
-
/(presto)\/([\w\.]+)/i,
|
|
6576
|
-
// Presto
|
|
6577
|
-
/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,
|
|
6578
|
-
// WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m/Goanna
|
|
6579
|
-
/ekioh(flow)\/([\w\.]+)/i,
|
|
6580
|
-
// Flow
|
|
6581
|
-
/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,
|
|
6582
|
-
// KHTML/Tasman/Links
|
|
6583
|
-
/(icab)[\/ ]([23]\.[\d\.]+)/i,
|
|
6584
|
-
// iCab
|
|
6585
|
-
/\b(libweb)/i
|
|
6586
|
-
],
|
|
6587
|
-
[NAME, VERSION],
|
|
6588
|
-
[
|
|
6589
|
-
/rv\:([\w\.]{1,9})\b.+(gecko)/i
|
|
6590
|
-
// Gecko
|
|
6591
|
-
],
|
|
6592
|
-
[VERSION, NAME]
|
|
6593
|
-
],
|
|
6594
|
-
os: [
|
|
6595
|
-
[
|
|
6596
|
-
// Windows
|
|
6597
|
-
/microsoft (windows) (vista|xp)/i
|
|
6598
|
-
// Windows (iTunes)
|
|
6599
|
-
],
|
|
6600
|
-
[NAME, VERSION],
|
|
6601
|
-
[
|
|
6602
|
-
/(windows) nt 6\.2; (arm)/i,
|
|
6603
|
-
// Windows RT
|
|
6604
|
-
/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i,
|
|
6605
|
-
// Windows Phone
|
|
6606
|
-
/(windows)[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i
|
|
6607
|
-
],
|
|
6608
|
-
[NAME, [VERSION, strMapper, windowsVersionMap]],
|
|
6609
|
-
[
|
|
6610
|
-
/(win(?=3|9|n)|win 9x )([nt\d\.]+)/i
|
|
6611
|
-
],
|
|
6612
|
-
[[NAME, "Windows"], [VERSION, strMapper, windowsVersionMap]],
|
|
6613
|
-
[
|
|
6614
|
-
// iOS/macOS
|
|
6615
|
-
/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,
|
|
6616
|
-
// iOS
|
|
6617
|
-
/ios;fbsv\/([\d\.]+)/i,
|
|
6618
|
-
/cfnetwork\/.+darwin/i
|
|
6619
|
-
],
|
|
6620
|
-
[[VERSION, /_/g, "."], [NAME, "iOS"]],
|
|
6621
|
-
[
|
|
6622
|
-
/(mac os x) ?([\w\. ]*)/i,
|
|
6623
|
-
/(macintosh|mac_powerpc\b)(?!.+haiku)/i
|
|
6624
|
-
// Mac OS
|
|
6625
|
-
],
|
|
6626
|
-
[[NAME, MAC_OS], [VERSION, /_/g, "."]],
|
|
6627
|
-
[
|
|
6628
|
-
// Mobile OSes
|
|
6629
|
-
/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i
|
|
6630
|
-
// Android-x86/HarmonyOS
|
|
6631
|
-
],
|
|
6632
|
-
[VERSION, NAME],
|
|
6633
|
-
[
|
|
6634
|
-
// Android/WebOS/QNX/Bada/RIM/Maemo/MeeGo/Sailfish OS
|
|
6635
|
-
/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,
|
|
6636
|
-
/(blackberry)\w*\/([\w\.]*)/i,
|
|
6637
|
-
// Blackberry
|
|
6638
|
-
/(tizen|kaios)[\/ ]([\w\.]+)/i,
|
|
6639
|
-
// Tizen/KaiOS
|
|
6640
|
-
/\((series40);/i
|
|
6641
|
-
// Series 40
|
|
6642
|
-
],
|
|
6643
|
-
[NAME, VERSION],
|
|
6644
|
-
[
|
|
6645
|
-
/\(bb(10);/i
|
|
6646
|
-
// BlackBerry 10
|
|
6647
|
-
],
|
|
6648
|
-
[VERSION, [NAME, BLACKBERRY]],
|
|
6649
|
-
[
|
|
6650
|
-
/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i
|
|
6651
|
-
// Symbian
|
|
6652
|
-
],
|
|
6653
|
-
[VERSION, [NAME, "Symbian"]],
|
|
6654
|
-
[
|
|
6655
|
-
/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i
|
|
6656
|
-
// Firefox OS
|
|
6657
|
-
],
|
|
6658
|
-
[VERSION, [NAME, FIREFOX + " OS"]],
|
|
6659
|
-
[
|
|
6660
|
-
/web0s;.+rt(tv)/i,
|
|
6661
|
-
/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i
|
|
6662
|
-
// WebOS
|
|
6663
|
-
],
|
|
6664
|
-
[VERSION, [NAME, "webOS"]],
|
|
6665
|
-
[
|
|
6666
|
-
/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i
|
|
6667
|
-
// watchOS
|
|
6668
|
-
],
|
|
6669
|
-
[VERSION, [NAME, "watchOS"]],
|
|
6670
|
-
[
|
|
6671
|
-
// Google Chromecast
|
|
6672
|
-
/crkey\/([\d\.]+)/i
|
|
6673
|
-
// Google Chromecast
|
|
6674
|
-
],
|
|
6675
|
-
[VERSION, [NAME, CHROME + "cast"]],
|
|
6676
|
-
[
|
|
6677
|
-
/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i
|
|
6678
|
-
// Chromium OS
|
|
6679
|
-
],
|
|
6680
|
-
[[NAME, CHROMIUM_OS], VERSION],
|
|
6681
|
-
[
|
|
6682
|
-
// Smart TVs
|
|
6683
|
-
/panasonic;(viera)/i,
|
|
6684
|
-
// Panasonic Viera
|
|
6685
|
-
/(netrange)mmh/i,
|
|
6686
|
-
// Netrange
|
|
6687
|
-
/(nettv)\/(\d+\.[\w\.]+)/i,
|
|
6688
|
-
// NetTV
|
|
6689
|
-
// Console
|
|
6690
|
-
/(nintendo|playstation) ([wids345portablevuch]+)/i,
|
|
6691
|
-
// Nintendo/Playstation
|
|
6692
|
-
/(xbox); +xbox ([^\);]+)/i,
|
|
6693
|
-
// Microsoft Xbox (360, One, X, S, Series X, Series S)
|
|
6694
|
-
// Other
|
|
6695
|
-
/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,
|
|
6696
|
-
// Joli/Palm
|
|
6697
|
-
/(mint)[\/\(\) ]?(\w*)/i,
|
|
6698
|
-
// Mint
|
|
6699
|
-
/(mageia|vectorlinux)[; ]/i,
|
|
6700
|
-
// Mageia/VectorLinux
|
|
6701
|
-
/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,
|
|
6702
|
-
// Ubuntu/Debian/SUSE/Gentoo/Arch/Slackware/Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk/Linpus/Raspbian/Plan9/Minix/RISCOS/Contiki/Deepin/Manjaro/elementary/Sabayon/Linspire
|
|
6703
|
-
/(hurd|linux) ?([\w\.]*)/i,
|
|
6704
|
-
// Hurd/Linux
|
|
6705
|
-
/(gnu) ?([\w\.]*)/i,
|
|
6706
|
-
// GNU
|
|
6707
|
-
/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,
|
|
6708
|
-
// FreeBSD/NetBSD/OpenBSD/PC-BSD/GhostBSD/DragonFly
|
|
6709
|
-
/(haiku) (\w+)/i
|
|
6710
|
-
// Haiku
|
|
6711
|
-
],
|
|
6712
|
-
[NAME, VERSION],
|
|
6713
|
-
[
|
|
6714
|
-
/(sunos) ?([\w\.\d]*)/i
|
|
6715
|
-
// Solaris
|
|
6716
|
-
],
|
|
6717
|
-
[[NAME, "Solaris"], VERSION],
|
|
6718
|
-
[
|
|
6719
|
-
/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,
|
|
6720
|
-
// Solaris
|
|
6721
|
-
/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,
|
|
6722
|
-
// AIX
|
|
6723
|
-
/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,
|
|
6724
|
-
// BeOS/OS2/AmigaOS/MorphOS/OpenVMS/Fuchsia/HP-UX/SerenityOS
|
|
6725
|
-
/(unix) ?([\w\.]*)/i
|
|
6726
|
-
// UNIX
|
|
6727
|
-
],
|
|
6728
|
-
[NAME, VERSION]
|
|
6729
|
-
]
|
|
6730
|
-
};
|
|
6731
|
-
var UAParser = function(ua, extensions) {
|
|
6732
|
-
if (typeof ua === OBJ_TYPE) {
|
|
6733
|
-
extensions = ua;
|
|
6734
|
-
ua = undefined2;
|
|
6735
|
-
}
|
|
6736
|
-
if (!(this instanceof UAParser)) {
|
|
6737
|
-
return new UAParser(ua, extensions).getResult();
|
|
6738
|
-
}
|
|
6739
|
-
var _navigator = typeof window2 !== UNDEF_TYPE && window2.navigator ? window2.navigator : undefined2;
|
|
6740
|
-
var _ua = ua || (_navigator && _navigator.userAgent ? _navigator.userAgent : EMPTY);
|
|
6741
|
-
var _uach = _navigator && _navigator.userAgentData ? _navigator.userAgentData : undefined2;
|
|
6742
|
-
var _rgxmap = extensions ? extend(regexes, extensions) : regexes;
|
|
6743
|
-
var _isSelfNav = _navigator && _navigator.userAgent == _ua;
|
|
6744
|
-
this.getBrowser = function() {
|
|
6745
|
-
var _browser = {};
|
|
6746
|
-
_browser[NAME] = undefined2;
|
|
6747
|
-
_browser[VERSION] = undefined2;
|
|
6748
|
-
rgxMapper.call(_browser, _ua, _rgxmap.browser);
|
|
6749
|
-
_browser[MAJOR] = majorize(_browser[VERSION]);
|
|
6750
|
-
if (_isSelfNav && _navigator && _navigator.brave && typeof _navigator.brave.isBrave == FUNC_TYPE) {
|
|
6751
|
-
_browser[NAME] = "Brave";
|
|
6752
|
-
}
|
|
6753
|
-
return _browser;
|
|
6754
|
-
};
|
|
6755
|
-
this.getCPU = function() {
|
|
6756
|
-
var _cpu = {};
|
|
6757
|
-
_cpu[ARCHITECTURE] = undefined2;
|
|
6758
|
-
rgxMapper.call(_cpu, _ua, _rgxmap.cpu);
|
|
6759
|
-
return _cpu;
|
|
6760
|
-
};
|
|
6761
|
-
this.getDevice = function() {
|
|
6762
|
-
var _device = {};
|
|
6763
|
-
_device[VENDOR] = undefined2;
|
|
6764
|
-
_device[MODEL] = undefined2;
|
|
6765
|
-
_device[TYPE] = undefined2;
|
|
6766
|
-
rgxMapper.call(_device, _ua, _rgxmap.device);
|
|
6767
|
-
if (_isSelfNav && !_device[TYPE] && _uach && _uach.mobile) {
|
|
6768
|
-
_device[TYPE] = MOBILE;
|
|
6769
|
-
}
|
|
6770
|
-
if (_isSelfNav && _device[MODEL] == "Macintosh" && _navigator && typeof _navigator.standalone !== UNDEF_TYPE && _navigator.maxTouchPoints && _navigator.maxTouchPoints > 2) {
|
|
6771
|
-
_device[MODEL] = "iPad";
|
|
6772
|
-
_device[TYPE] = TABLET;
|
|
6773
|
-
}
|
|
6774
|
-
return _device;
|
|
6775
|
-
};
|
|
6776
|
-
this.getEngine = function() {
|
|
6777
|
-
var _engine = {};
|
|
6778
|
-
_engine[NAME] = undefined2;
|
|
6779
|
-
_engine[VERSION] = undefined2;
|
|
6780
|
-
rgxMapper.call(_engine, _ua, _rgxmap.engine);
|
|
6781
|
-
return _engine;
|
|
6782
|
-
};
|
|
6783
|
-
this.getOS = function() {
|
|
6784
|
-
var _os = {};
|
|
6785
|
-
_os[NAME] = undefined2;
|
|
6786
|
-
_os[VERSION] = undefined2;
|
|
6787
|
-
rgxMapper.call(_os, _ua, _rgxmap.os);
|
|
6788
|
-
if (_isSelfNav && !_os[NAME] && _uach && _uach.platform != "Unknown") {
|
|
6789
|
-
_os[NAME] = _uach.platform.replace(/chrome os/i, CHROMIUM_OS).replace(/macos/i, MAC_OS);
|
|
6790
|
-
}
|
|
6791
|
-
return _os;
|
|
6792
|
-
};
|
|
6793
|
-
this.getResult = function() {
|
|
6794
|
-
return {
|
|
6795
|
-
ua: this.getUA(),
|
|
6796
|
-
browser: this.getBrowser(),
|
|
6797
|
-
engine: this.getEngine(),
|
|
6798
|
-
os: this.getOS(),
|
|
6799
|
-
device: this.getDevice(),
|
|
6800
|
-
cpu: this.getCPU()
|
|
6801
|
-
};
|
|
6802
|
-
};
|
|
6803
|
-
this.getUA = function() {
|
|
6804
|
-
return _ua;
|
|
6805
|
-
};
|
|
6806
|
-
this.setUA = function(ua2) {
|
|
6807
|
-
_ua = typeof ua2 === STR_TYPE && ua2.length > UA_MAX_LENGTH ? trim(ua2, UA_MAX_LENGTH) : ua2;
|
|
6808
|
-
return this;
|
|
6809
|
-
};
|
|
6810
|
-
this.setUA(_ua);
|
|
6811
|
-
return this;
|
|
6812
|
-
};
|
|
6813
|
-
UAParser.VERSION = LIBVERSION;
|
|
6814
|
-
UAParser.BROWSER = enumerize([NAME, VERSION, MAJOR]);
|
|
6815
|
-
UAParser.CPU = enumerize([ARCHITECTURE]);
|
|
6816
|
-
UAParser.DEVICE = enumerize([MODEL, VENDOR, TYPE, CONSOLE, MOBILE, SMARTTV, TABLET, WEARABLE, EMBEDDED]);
|
|
6817
|
-
UAParser.ENGINE = UAParser.OS = enumerize([NAME, VERSION]);
|
|
6818
|
-
if (typeof exports !== UNDEF_TYPE) {
|
|
6819
|
-
if (typeof module2 !== UNDEF_TYPE && module2.exports) {
|
|
6820
|
-
exports = module2.exports = UAParser;
|
|
6821
|
-
}
|
|
6822
|
-
exports.UAParser = UAParser;
|
|
6823
|
-
} else {
|
|
6824
|
-
if (typeof define === FUNC_TYPE && define.amd) {
|
|
6825
|
-
define(function() {
|
|
6826
|
-
return UAParser;
|
|
6827
|
-
});
|
|
6828
|
-
} else if (typeof window2 !== UNDEF_TYPE) {
|
|
6829
|
-
window2.UAParser = UAParser;
|
|
6830
|
-
}
|
|
6831
|
-
}
|
|
6832
|
-
var $ = typeof window2 !== UNDEF_TYPE && (window2.jQuery || window2.Zepto);
|
|
6833
|
-
if ($ && !$.ua) {
|
|
6834
|
-
var parser = new UAParser();
|
|
6835
|
-
$.ua = parser.getResult();
|
|
6836
|
-
$.ua.get = function() {
|
|
6837
|
-
return parser.getUA();
|
|
6838
|
-
};
|
|
6839
|
-
$.ua.set = function(ua) {
|
|
6840
|
-
parser.setUA(ua);
|
|
6841
|
-
var result = parser.getResult();
|
|
6842
|
-
for (var prop in result) {
|
|
6843
|
-
$.ua[prop] = result[prop];
|
|
6844
|
-
}
|
|
6845
|
-
};
|
|
6846
|
-
}
|
|
6847
|
-
})(typeof window === "object" ? window : exports);
|
|
6848
|
-
}
|
|
6849
|
-
});
|
|
6850
|
-
|
|
6851
5597
|
// ../../node_modules/lodash.isequal/index.js
|
|
6852
5598
|
var require_lodash2 = __commonJS({
|
|
6853
5599
|
"../../node_modules/lodash.isequal/index.js"(exports, module2) {
|
|
@@ -8750,13 +7496,13 @@ var require_writer = __commonJS({
|
|
|
8750
7496
|
var i = 1;
|
|
8751
7497
|
var args = arguments;
|
|
8752
7498
|
var len = args.length;
|
|
8753
|
-
return formatStr.replace(formatRegExp, function(
|
|
7499
|
+
return formatStr.replace(formatRegExp, function(x2) {
|
|
8754
7500
|
if (i >= len) {
|
|
8755
|
-
return
|
|
7501
|
+
return x2;
|
|
8756
7502
|
}
|
|
8757
7503
|
var arg = args[i];
|
|
8758
7504
|
i += 1;
|
|
8759
|
-
switch (
|
|
7505
|
+
switch (x2) {
|
|
8760
7506
|
case "%%":
|
|
8761
7507
|
return "%";
|
|
8762
7508
|
case "%s":
|
|
@@ -8886,7 +7632,7 @@ var require_react_is_production_min = __commonJS({
|
|
|
8886
7632
|
var t = b2 ? Symbol.for("react.lazy") : 60116;
|
|
8887
7633
|
var v = b2 ? Symbol.for("react.block") : 60121;
|
|
8888
7634
|
var w = b2 ? Symbol.for("react.fundamental") : 60117;
|
|
8889
|
-
var
|
|
7635
|
+
var x2 = b2 ? Symbol.for("react.responder") : 60118;
|
|
8890
7636
|
var y2 = b2 ? Symbol.for("react.scope") : 60119;
|
|
8891
7637
|
function z2(a2) {
|
|
8892
7638
|
if ("object" === typeof a2 && null !== a2) {
|
|
@@ -8972,7 +7718,7 @@ var require_react_is_production_min = __commonJS({
|
|
|
8972
7718
|
return z2(a2) === p;
|
|
8973
7719
|
};
|
|
8974
7720
|
exports.isValidElementType = function(a2) {
|
|
8975
|
-
return "string" === typeof a2 || "function" === typeof a2 || a2 === e || a2 === m2 || a2 === g || a2 === f || a2 === p || a2 === q || "object" === typeof a2 && null !== a2 && (a2.$$typeof === t || a2.$$typeof === r || a2.$$typeof === h || a2.$$typeof === k2 || a2.$$typeof === n || a2.$$typeof === w || a2.$$typeof ===
|
|
7721
|
+
return "string" === typeof a2 || "function" === typeof a2 || a2 === e || a2 === m2 || a2 === g || a2 === f || a2 === p || a2 === q || "object" === typeof a2 && null !== a2 && (a2.$$typeof === t || a2.$$typeof === r || a2.$$typeof === h || a2.$$typeof === k2 || a2.$$typeof === n || a2.$$typeof === w || a2.$$typeof === x2 || a2.$$typeof === y2 || a2.$$typeof === v);
|
|
8976
7722
|
};
|
|
8977
7723
|
exports.typeOf = z2;
|
|
8978
7724
|
}
|
|
@@ -9246,7 +7992,7 @@ var require_checkPropTypes = __commonJS({
|
|
|
9246
7992
|
if (define_process_env_default.NODE_ENV !== "production") {
|
|
9247
7993
|
ReactPropTypesSecret = require_ReactPropTypesSecret();
|
|
9248
7994
|
loggedTypeFailures = {};
|
|
9249
|
-
|
|
7995
|
+
has2 = require_has();
|
|
9250
7996
|
printWarning = function(text) {
|
|
9251
7997
|
var message = "Warning: " + text;
|
|
9252
7998
|
if (typeof console !== "undefined") {
|
|
@@ -9254,17 +8000,17 @@ var require_checkPropTypes = __commonJS({
|
|
|
9254
8000
|
}
|
|
9255
8001
|
try {
|
|
9256
8002
|
throw new Error(message);
|
|
9257
|
-
} catch (
|
|
8003
|
+
} catch (x2) {
|
|
9258
8004
|
}
|
|
9259
8005
|
};
|
|
9260
8006
|
}
|
|
9261
8007
|
var ReactPropTypesSecret;
|
|
9262
8008
|
var loggedTypeFailures;
|
|
9263
|
-
var
|
|
8009
|
+
var has2;
|
|
9264
8010
|
function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
|
|
9265
8011
|
if (define_process_env_default.NODE_ENV !== "production") {
|
|
9266
8012
|
for (var typeSpecName in typeSpecs) {
|
|
9267
|
-
if (
|
|
8013
|
+
if (has2(typeSpecs, typeSpecName)) {
|
|
9268
8014
|
var error;
|
|
9269
8015
|
try {
|
|
9270
8016
|
if (typeof typeSpecs[typeSpecName] !== "function") {
|
|
@@ -9311,7 +8057,7 @@ var require_factoryWithTypeCheckers = __commonJS({
|
|
|
9311
8057
|
var ReactIs = require_react_is();
|
|
9312
8058
|
var assign = require_object_assign();
|
|
9313
8059
|
var ReactPropTypesSecret = require_ReactPropTypesSecret();
|
|
9314
|
-
var
|
|
8060
|
+
var has2 = require_has();
|
|
9315
8061
|
var checkPropTypes = require_checkPropTypes();
|
|
9316
8062
|
var printWarning = function() {
|
|
9317
8063
|
};
|
|
@@ -9323,7 +8069,7 @@ var require_factoryWithTypeCheckers = __commonJS({
|
|
|
9323
8069
|
}
|
|
9324
8070
|
try {
|
|
9325
8071
|
throw new Error(message);
|
|
9326
|
-
} catch (
|
|
8072
|
+
} catch (x2) {
|
|
9327
8073
|
}
|
|
9328
8074
|
};
|
|
9329
8075
|
}
|
|
@@ -9361,11 +8107,11 @@ var require_factoryWithTypeCheckers = __commonJS({
|
|
|
9361
8107
|
shape: createShapeTypeChecker,
|
|
9362
8108
|
exact: createStrictShapeTypeChecker
|
|
9363
8109
|
};
|
|
9364
|
-
function
|
|
9365
|
-
if (
|
|
9366
|
-
return
|
|
8110
|
+
function is2(x2, y2) {
|
|
8111
|
+
if (x2 === y2) {
|
|
8112
|
+
return x2 !== 0 || 1 / x2 === 1 / y2;
|
|
9367
8113
|
} else {
|
|
9368
|
-
return
|
|
8114
|
+
return x2 !== x2 && y2 !== y2;
|
|
9369
8115
|
}
|
|
9370
8116
|
}
|
|
9371
8117
|
function PropTypeError(message, data3) {
|
|
@@ -9504,7 +8250,7 @@ var require_factoryWithTypeCheckers = __commonJS({
|
|
|
9504
8250
|
function validate(props, propName, componentName, location, propFullName) {
|
|
9505
8251
|
var propValue = props[propName];
|
|
9506
8252
|
for (var i = 0; i < expectedValues.length; i++) {
|
|
9507
|
-
if (
|
|
8253
|
+
if (is2(propValue, expectedValues[i])) {
|
|
9508
8254
|
return null;
|
|
9509
8255
|
}
|
|
9510
8256
|
}
|
|
@@ -9530,7 +8276,7 @@ var require_factoryWithTypeCheckers = __commonJS({
|
|
|
9530
8276
|
return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type " + ("`" + propType + "` supplied to `" + componentName + "`, expected an object."));
|
|
9531
8277
|
}
|
|
9532
8278
|
for (var key in propValue) {
|
|
9533
|
-
if (
|
|
8279
|
+
if (has2(propValue, key)) {
|
|
9534
8280
|
var error = typeChecker(propValue, key, componentName, location, propFullName + "." + key, ReactPropTypesSecret);
|
|
9535
8281
|
if (error instanceof Error) {
|
|
9536
8282
|
return error;
|
|
@@ -9563,7 +8309,7 @@ var require_factoryWithTypeCheckers = __commonJS({
|
|
|
9563
8309
|
if (checkerResult == null) {
|
|
9564
8310
|
return null;
|
|
9565
8311
|
}
|
|
9566
|
-
if (checkerResult.data &&
|
|
8312
|
+
if (checkerResult.data && has2(checkerResult.data, "expectedType")) {
|
|
9567
8313
|
expectedTypes.push(checkerResult.data.expectedType);
|
|
9568
8314
|
}
|
|
9569
8315
|
}
|
|
@@ -9617,7 +8363,7 @@ var require_factoryWithTypeCheckers = __commonJS({
|
|
|
9617
8363
|
var allKeys = assign({}, props[propName], shapeTypes);
|
|
9618
8364
|
for (var key in allKeys) {
|
|
9619
8365
|
var checker = shapeTypes[key];
|
|
9620
|
-
if (
|
|
8366
|
+
if (has2(shapeTypes, key) && typeof checker !== "function") {
|
|
9621
8367
|
return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
|
|
9622
8368
|
}
|
|
9623
8369
|
if (!checker) {
|
|
@@ -19208,8 +17954,1855 @@ function createSelectorCreator(memoize) {
|
|
|
19208
17954
|
}
|
|
19209
17955
|
var createSelector = createSelectorCreator(defaultMemoize);
|
|
19210
17956
|
|
|
17957
|
+
// ../../node_modules/ua-parser-js/src/main/ua-parser.mjs
|
|
17958
|
+
init_define_process_env();
|
|
17959
|
+
var LIBVERSION = "2.0.6";
|
|
17960
|
+
var UA_MAX_LENGTH = 500;
|
|
17961
|
+
var USER_AGENT = "user-agent";
|
|
17962
|
+
var EMPTY = "";
|
|
17963
|
+
var UNKNOWN = "?";
|
|
17964
|
+
var TYPEOF = {
|
|
17965
|
+
FUNCTION: "function",
|
|
17966
|
+
OBJECT: "object",
|
|
17967
|
+
STRING: "string",
|
|
17968
|
+
UNDEFINED: "undefined"
|
|
17969
|
+
};
|
|
17970
|
+
var BROWSER = "browser";
|
|
17971
|
+
var CPU = "cpu";
|
|
17972
|
+
var DEVICE = "device";
|
|
17973
|
+
var ENGINE = "engine";
|
|
17974
|
+
var OS = "os";
|
|
17975
|
+
var RESULT = "result";
|
|
17976
|
+
var NAME = "name";
|
|
17977
|
+
var TYPE = "type";
|
|
17978
|
+
var VENDOR = "vendor";
|
|
17979
|
+
var VERSION = "version";
|
|
17980
|
+
var ARCHITECTURE = "architecture";
|
|
17981
|
+
var MAJOR = "major";
|
|
17982
|
+
var MODEL = "model";
|
|
17983
|
+
var CONSOLE = "console";
|
|
17984
|
+
var MOBILE = "mobile";
|
|
17985
|
+
var TABLET = "tablet";
|
|
17986
|
+
var SMARTTV = "smarttv";
|
|
17987
|
+
var WEARABLE = "wearable";
|
|
17988
|
+
var XR = "xr";
|
|
17989
|
+
var EMBEDDED = "embedded";
|
|
17990
|
+
var INAPP = "inapp";
|
|
17991
|
+
var BRANDS = "brands";
|
|
17992
|
+
var FORMFACTORS = "formFactors";
|
|
17993
|
+
var FULLVERLIST = "fullVersionList";
|
|
17994
|
+
var PLATFORM = "platform";
|
|
17995
|
+
var PLATFORMVER = "platformVersion";
|
|
17996
|
+
var BITNESS = "bitness";
|
|
17997
|
+
var CH = "sec-ch-ua";
|
|
17998
|
+
var CH_FULL_VER_LIST = CH + "-full-version-list";
|
|
17999
|
+
var CH_ARCH = CH + "-arch";
|
|
18000
|
+
var CH_BITNESS = CH + "-" + BITNESS;
|
|
18001
|
+
var CH_FORM_FACTORS = CH + "-form-factors";
|
|
18002
|
+
var CH_MOBILE = CH + "-" + MOBILE;
|
|
18003
|
+
var CH_MODEL = CH + "-" + MODEL;
|
|
18004
|
+
var CH_PLATFORM = CH + "-" + PLATFORM;
|
|
18005
|
+
var CH_PLATFORM_VER = CH_PLATFORM + "-version";
|
|
18006
|
+
var CH_ALL_VALUES = [BRANDS, FULLVERLIST, MOBILE, MODEL, PLATFORM, PLATFORMVER, ARCHITECTURE, FORMFACTORS, BITNESS];
|
|
18007
|
+
var AMAZON = "Amazon";
|
|
18008
|
+
var APPLE = "Apple";
|
|
18009
|
+
var ASUS = "ASUS";
|
|
18010
|
+
var BLACKBERRY = "BlackBerry";
|
|
18011
|
+
var GOOGLE = "Google";
|
|
18012
|
+
var HUAWEI = "Huawei";
|
|
18013
|
+
var LENOVO = "Lenovo";
|
|
18014
|
+
var HONOR = "Honor";
|
|
18015
|
+
var LG = "LG";
|
|
18016
|
+
var MICROSOFT = "Microsoft";
|
|
18017
|
+
var MOTOROLA = "Motorola";
|
|
18018
|
+
var NVIDIA = "Nvidia";
|
|
18019
|
+
var ONEPLUS = "OnePlus";
|
|
18020
|
+
var OPPO = "OPPO";
|
|
18021
|
+
var SAMSUNG = "Samsung";
|
|
18022
|
+
var SHARP = "Sharp";
|
|
18023
|
+
var SONY = "Sony";
|
|
18024
|
+
var XIAOMI = "Xiaomi";
|
|
18025
|
+
var ZEBRA = "Zebra";
|
|
18026
|
+
var CHROME = "Chrome";
|
|
18027
|
+
var CHROMIUM = "Chromium";
|
|
18028
|
+
var CHROMECAST = "Chromecast";
|
|
18029
|
+
var EDGE = "Edge";
|
|
18030
|
+
var FIREFOX = "Firefox";
|
|
18031
|
+
var OPERA = "Opera";
|
|
18032
|
+
var FACEBOOK = "Facebook";
|
|
18033
|
+
var SOGOU = "Sogou";
|
|
18034
|
+
var PREFIX_MOBILE = "Mobile ";
|
|
18035
|
+
var SUFFIX_BROWSER = " Browser";
|
|
18036
|
+
var WINDOWS = "Windows";
|
|
18037
|
+
var isWindow = typeof window !== TYPEOF.UNDEFINED;
|
|
18038
|
+
var NAVIGATOR = isWindow && window.navigator ? window.navigator : void 0;
|
|
18039
|
+
var NAVIGATOR_UADATA = NAVIGATOR && NAVIGATOR.userAgentData ? NAVIGATOR.userAgentData : void 0;
|
|
18040
|
+
var extend = function(defaultRgx, extensions) {
|
|
18041
|
+
var mergedRgx = {};
|
|
18042
|
+
var extraRgx = extensions;
|
|
18043
|
+
if (!isExtensions(extensions)) {
|
|
18044
|
+
extraRgx = {};
|
|
18045
|
+
for (var i in extensions) {
|
|
18046
|
+
for (var j2 in extensions[i]) {
|
|
18047
|
+
extraRgx[j2] = extensions[i][j2].concat(extraRgx[j2] ? extraRgx[j2] : []);
|
|
18048
|
+
}
|
|
18049
|
+
}
|
|
18050
|
+
}
|
|
18051
|
+
for (var k2 in defaultRgx) {
|
|
18052
|
+
mergedRgx[k2] = extraRgx[k2] && extraRgx[k2].length % 2 === 0 ? extraRgx[k2].concat(defaultRgx[k2]) : defaultRgx[k2];
|
|
18053
|
+
}
|
|
18054
|
+
return mergedRgx;
|
|
18055
|
+
};
|
|
18056
|
+
var enumerize = function(arr) {
|
|
18057
|
+
var enums = {};
|
|
18058
|
+
for (var i = 0; i < arr.length; i++) {
|
|
18059
|
+
enums[arr[i].toUpperCase()] = arr[i];
|
|
18060
|
+
}
|
|
18061
|
+
return enums;
|
|
18062
|
+
};
|
|
18063
|
+
var has = function(str1, str2) {
|
|
18064
|
+
if (typeof str1 === TYPEOF.OBJECT && str1.length > 0) {
|
|
18065
|
+
for (var i in str1) {
|
|
18066
|
+
if (lowerize(str2) == lowerize(str1[i]))
|
|
18067
|
+
return true;
|
|
18068
|
+
}
|
|
18069
|
+
return false;
|
|
18070
|
+
}
|
|
18071
|
+
return isString(str1) ? lowerize(str2) == lowerize(str1) : false;
|
|
18072
|
+
};
|
|
18073
|
+
var isExtensions = function(obj, deep) {
|
|
18074
|
+
for (var prop in obj) {
|
|
18075
|
+
return /^(browser|cpu|device|engine|os)$/.test(prop) || (deep ? isExtensions(obj[prop]) : false);
|
|
18076
|
+
}
|
|
18077
|
+
};
|
|
18078
|
+
var isString = function(val) {
|
|
18079
|
+
return typeof val === TYPEOF.STRING;
|
|
18080
|
+
};
|
|
18081
|
+
var itemListToArray = function(header) {
|
|
18082
|
+
if (!header)
|
|
18083
|
+
return void 0;
|
|
18084
|
+
var arr = [];
|
|
18085
|
+
var tokens = strip(/\\?\"/g, header).split(",");
|
|
18086
|
+
for (var i = 0; i < tokens.length; i++) {
|
|
18087
|
+
if (tokens[i].indexOf(";") > -1) {
|
|
18088
|
+
var token = trim(tokens[i]).split(";v=");
|
|
18089
|
+
arr[i] = { brand: token[0], version: token[1] };
|
|
18090
|
+
} else {
|
|
18091
|
+
arr[i] = trim(tokens[i]);
|
|
18092
|
+
}
|
|
18093
|
+
}
|
|
18094
|
+
return arr;
|
|
18095
|
+
};
|
|
18096
|
+
var lowerize = function(str) {
|
|
18097
|
+
return isString(str) ? str.toLowerCase() : str;
|
|
18098
|
+
};
|
|
18099
|
+
var majorize = function(version) {
|
|
18100
|
+
return isString(version) ? strip(/[^\d\.]/g, version).split(".")[0] : void 0;
|
|
18101
|
+
};
|
|
18102
|
+
var setProps = function(arr) {
|
|
18103
|
+
for (var i in arr) {
|
|
18104
|
+
if (!arr.hasOwnProperty(i))
|
|
18105
|
+
continue;
|
|
18106
|
+
var propName = arr[i];
|
|
18107
|
+
if (typeof propName == TYPEOF.OBJECT && propName.length == 2) {
|
|
18108
|
+
this[propName[0]] = propName[1];
|
|
18109
|
+
} else {
|
|
18110
|
+
this[propName] = void 0;
|
|
18111
|
+
}
|
|
18112
|
+
}
|
|
18113
|
+
return this;
|
|
18114
|
+
};
|
|
18115
|
+
var strip = function(pattern, str) {
|
|
18116
|
+
return isString(str) ? str.replace(pattern, EMPTY) : str;
|
|
18117
|
+
};
|
|
18118
|
+
var stripQuotes = function(str) {
|
|
18119
|
+
return strip(/\\?\"/g, str);
|
|
18120
|
+
};
|
|
18121
|
+
var trim = function(str, len) {
|
|
18122
|
+
str = strip(/^\s\s*/, String(str));
|
|
18123
|
+
return typeof len === TYPEOF.UNDEFINED ? str : str.substring(0, len);
|
|
18124
|
+
};
|
|
18125
|
+
var rgxMapper = function(ua, arrays) {
|
|
18126
|
+
if (!ua || !arrays)
|
|
18127
|
+
return;
|
|
18128
|
+
var i = 0, j2, k2, p, q, matches, match18;
|
|
18129
|
+
while (i < arrays.length && !matches) {
|
|
18130
|
+
var regex = arrays[i], props = arrays[i + 1];
|
|
18131
|
+
j2 = k2 = 0;
|
|
18132
|
+
while (j2 < regex.length && !matches) {
|
|
18133
|
+
if (!regex[j2]) {
|
|
18134
|
+
break;
|
|
18135
|
+
}
|
|
18136
|
+
matches = regex[j2++].exec(ua);
|
|
18137
|
+
if (!!matches) {
|
|
18138
|
+
for (p = 0; p < props.length; p++) {
|
|
18139
|
+
match18 = matches[++k2];
|
|
18140
|
+
q = props[p];
|
|
18141
|
+
if (typeof q === TYPEOF.OBJECT && q.length > 0) {
|
|
18142
|
+
if (q.length === 2) {
|
|
18143
|
+
if (typeof q[1] == TYPEOF.FUNCTION) {
|
|
18144
|
+
this[q[0]] = q[1].call(this, match18);
|
|
18145
|
+
} else {
|
|
18146
|
+
this[q[0]] = q[1];
|
|
18147
|
+
}
|
|
18148
|
+
} else if (q.length >= 3) {
|
|
18149
|
+
if (typeof q[1] === TYPEOF.FUNCTION && !(q[1].exec && q[1].test)) {
|
|
18150
|
+
if (q.length > 3) {
|
|
18151
|
+
this[q[0]] = match18 ? q[1].apply(this, q.slice(2)) : void 0;
|
|
18152
|
+
} else {
|
|
18153
|
+
this[q[0]] = match18 ? q[1].call(this, match18, q[2]) : void 0;
|
|
18154
|
+
}
|
|
18155
|
+
} else {
|
|
18156
|
+
if (q.length == 3) {
|
|
18157
|
+
this[q[0]] = match18 ? match18.replace(q[1], q[2]) : void 0;
|
|
18158
|
+
} else if (q.length == 4) {
|
|
18159
|
+
this[q[0]] = match18 ? q[3].call(this, match18.replace(q[1], q[2])) : void 0;
|
|
18160
|
+
} else if (q.length > 4) {
|
|
18161
|
+
this[q[0]] = match18 ? q[3].apply(this, [match18.replace(q[1], q[2])].concat(q.slice(4))) : void 0;
|
|
18162
|
+
}
|
|
18163
|
+
}
|
|
18164
|
+
}
|
|
18165
|
+
} else {
|
|
18166
|
+
this[q] = match18 ? match18 : void 0;
|
|
18167
|
+
}
|
|
18168
|
+
}
|
|
18169
|
+
}
|
|
18170
|
+
}
|
|
18171
|
+
i += 2;
|
|
18172
|
+
}
|
|
18173
|
+
};
|
|
18174
|
+
var strMapper = function(str, map) {
|
|
18175
|
+
for (var i in map) {
|
|
18176
|
+
if (typeof map[i] === TYPEOF.OBJECT && map[i].length > 0) {
|
|
18177
|
+
for (var j2 = 0; j2 < map[i].length; j2++) {
|
|
18178
|
+
if (has(map[i][j2], str)) {
|
|
18179
|
+
return i === UNKNOWN ? void 0 : i;
|
|
18180
|
+
}
|
|
18181
|
+
}
|
|
18182
|
+
} else if (has(map[i], str)) {
|
|
18183
|
+
return i === UNKNOWN ? void 0 : i;
|
|
18184
|
+
}
|
|
18185
|
+
}
|
|
18186
|
+
return map.hasOwnProperty("*") ? map["*"] : str;
|
|
18187
|
+
};
|
|
18188
|
+
var windowsVersionMap = {
|
|
18189
|
+
"ME": "4.90",
|
|
18190
|
+
"NT 3.51": "3.51",
|
|
18191
|
+
"NT 4.0": "4.0",
|
|
18192
|
+
"2000": ["5.0", "5.01"],
|
|
18193
|
+
"XP": ["5.1", "5.2"],
|
|
18194
|
+
"Vista": "6.0",
|
|
18195
|
+
"7": "6.1",
|
|
18196
|
+
"8": "6.2",
|
|
18197
|
+
"8.1": "6.3",
|
|
18198
|
+
"10": ["6.4", "10.0"],
|
|
18199
|
+
"NT": ""
|
|
18200
|
+
};
|
|
18201
|
+
var formFactorsMap = {
|
|
18202
|
+
"embedded": "Automotive",
|
|
18203
|
+
"mobile": "Mobile",
|
|
18204
|
+
"tablet": ["Tablet", "EInk"],
|
|
18205
|
+
"smarttv": "TV",
|
|
18206
|
+
"wearable": "Watch",
|
|
18207
|
+
"xr": ["VR", "XR"],
|
|
18208
|
+
"?": ["Desktop", "Unknown"],
|
|
18209
|
+
"*": void 0
|
|
18210
|
+
};
|
|
18211
|
+
var browserHintsMap = {
|
|
18212
|
+
"Chrome": "Google Chrome",
|
|
18213
|
+
"Edge": "Microsoft Edge",
|
|
18214
|
+
"Edge WebView2": "Microsoft Edge WebView2",
|
|
18215
|
+
"Chrome WebView": "Android WebView",
|
|
18216
|
+
"Chrome Headless": "HeadlessChrome",
|
|
18217
|
+
"Huawei Browser": "HuaweiBrowser",
|
|
18218
|
+
"MIUI Browser": "Miui Browser",
|
|
18219
|
+
"Opera Mobi": "OperaMobile",
|
|
18220
|
+
"Yandex": "YaBrowser"
|
|
18221
|
+
};
|
|
18222
|
+
var defaultRegexes = {
|
|
18223
|
+
browser: [
|
|
18224
|
+
[
|
|
18225
|
+
// Most common regardless engine
|
|
18226
|
+
/\b(?:crmo|crios)\/([\w\.]+)/i
|
|
18227
|
+
// Chrome for Android/iOS
|
|
18228
|
+
],
|
|
18229
|
+
[VERSION, [NAME, PREFIX_MOBILE + "Chrome"]],
|
|
18230
|
+
[
|
|
18231
|
+
/webview.+edge\/([\w\.]+)/i
|
|
18232
|
+
// Microsoft Edge
|
|
18233
|
+
],
|
|
18234
|
+
[VERSION, [NAME, EDGE + " WebView"]],
|
|
18235
|
+
[
|
|
18236
|
+
/edg(?:e|ios|a)?\/([\w\.]+)/i
|
|
18237
|
+
],
|
|
18238
|
+
[VERSION, [NAME, "Edge"]],
|
|
18239
|
+
[
|
|
18240
|
+
// Presto based
|
|
18241
|
+
/(opera mini)\/([-\w\.]+)/i,
|
|
18242
|
+
// Opera Mini
|
|
18243
|
+
/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,
|
|
18244
|
+
// Opera Mobi/Tablet
|
|
18245
|
+
/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i
|
|
18246
|
+
// Opera
|
|
18247
|
+
],
|
|
18248
|
+
[NAME, VERSION],
|
|
18249
|
+
[
|
|
18250
|
+
/opios[\/ ]+([\w\.]+)/i
|
|
18251
|
+
// Opera mini on iphone >= 8.0
|
|
18252
|
+
],
|
|
18253
|
+
[VERSION, [NAME, OPERA + " Mini"]],
|
|
18254
|
+
[
|
|
18255
|
+
/\bop(?:rg)?x\/([\w\.]+)/i
|
|
18256
|
+
// Opera GX
|
|
18257
|
+
],
|
|
18258
|
+
[VERSION, [NAME, OPERA + " GX"]],
|
|
18259
|
+
[
|
|
18260
|
+
/\bopr\/([\w\.]+)/i
|
|
18261
|
+
// Opera Webkit
|
|
18262
|
+
],
|
|
18263
|
+
[VERSION, [NAME, OPERA]],
|
|
18264
|
+
[
|
|
18265
|
+
// Mixed
|
|
18266
|
+
/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i
|
|
18267
|
+
// Baidu
|
|
18268
|
+
],
|
|
18269
|
+
[VERSION, [NAME, "Baidu"]],
|
|
18270
|
+
[
|
|
18271
|
+
/\b(?:mxbrowser|mxios|myie2)\/?([-\w\.]*)\b/i
|
|
18272
|
+
// Maxthon
|
|
18273
|
+
],
|
|
18274
|
+
[VERSION, [NAME, "Maxthon"]],
|
|
18275
|
+
[
|
|
18276
|
+
/(kindle)\/([\w\.]+)/i,
|
|
18277
|
+
// Kindle
|
|
18278
|
+
/(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,
|
|
18279
|
+
// Lunascape/Maxthon/Netfront/Jasmine/Blazer/Sleipnir
|
|
18280
|
+
// Trident based
|
|
18281
|
+
/(avant|iemobile|slim(?:browser|boat|jet))[\/ ]?([\d\.]*)/i,
|
|
18282
|
+
// Avant/IEMobile/SlimBrowser/SlimBoat/Slimjet
|
|
18283
|
+
/(?:ms|\()(ie) ([\w\.]+)/i,
|
|
18284
|
+
// Internet Explorer
|
|
18285
|
+
// Blink/Webkit/KHTML based // Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon/LG Browser/Otter/qutebrowser/Dooble/Palemoon
|
|
18286
|
+
/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio|(?=comodo_)?dragon|otter|dooble|(?:lg |qute)browser|palemoon)\/([-\w\.]+)/i,
|
|
18287
|
+
// Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ//Vivaldi/DuckDuckGo/Klar/Helio/Dragon
|
|
18288
|
+
/(heytap|ovi|115|surf|qwant)browser\/([\d\.]+)/i,
|
|
18289
|
+
// HeyTap/Ovi/115/Surf
|
|
18290
|
+
/(qwant)(?:ios|mobile)\/([\d\.]+)/i,
|
|
18291
|
+
// Qwant
|
|
18292
|
+
/(ecosia|weibo)(?:__| \w+@)([\d\.]+)/i
|
|
18293
|
+
// Ecosia/Weibo
|
|
18294
|
+
],
|
|
18295
|
+
[NAME, VERSION],
|
|
18296
|
+
[
|
|
18297
|
+
/quark(?:pc)?\/([-\w\.]+)/i
|
|
18298
|
+
// Quark
|
|
18299
|
+
],
|
|
18300
|
+
[VERSION, [NAME, "Quark"]],
|
|
18301
|
+
[
|
|
18302
|
+
/\bddg\/([\w\.]+)/i
|
|
18303
|
+
// DuckDuckGo
|
|
18304
|
+
],
|
|
18305
|
+
[VERSION, [NAME, "DuckDuckGo"]],
|
|
18306
|
+
[
|
|
18307
|
+
/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i
|
|
18308
|
+
// UCBrowser
|
|
18309
|
+
],
|
|
18310
|
+
[VERSION, [NAME, "UCBrowser"]],
|
|
18311
|
+
[
|
|
18312
|
+
/microm.+\bqbcore\/([\w\.]+)/i,
|
|
18313
|
+
// WeChat Desktop for Windows Built-in Browser
|
|
18314
|
+
/\bqbcore\/([\w\.]+).+microm/i,
|
|
18315
|
+
/micromessenger\/([\w\.]+)/i
|
|
18316
|
+
// WeChat
|
|
18317
|
+
],
|
|
18318
|
+
[VERSION, [NAME, "WeChat"]],
|
|
18319
|
+
[
|
|
18320
|
+
/konqueror\/([\w\.]+)/i
|
|
18321
|
+
// Konqueror
|
|
18322
|
+
],
|
|
18323
|
+
[VERSION, [NAME, "Konqueror"]],
|
|
18324
|
+
[
|
|
18325
|
+
/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i
|
|
18326
|
+
// IE11
|
|
18327
|
+
],
|
|
18328
|
+
[VERSION, [NAME, "IE"]],
|
|
18329
|
+
[
|
|
18330
|
+
/ya(?:search)?browser\/([\w\.]+)/i
|
|
18331
|
+
// Yandex
|
|
18332
|
+
],
|
|
18333
|
+
[VERSION, [NAME, "Yandex"]],
|
|
18334
|
+
[
|
|
18335
|
+
/slbrowser\/([\w\.]+)/i
|
|
18336
|
+
// Smart Lenovo Browser
|
|
18337
|
+
],
|
|
18338
|
+
[VERSION, [NAME, "Smart " + LENOVO + SUFFIX_BROWSER]],
|
|
18339
|
+
[
|
|
18340
|
+
/(avast|avg)\/([\w\.]+)/i
|
|
18341
|
+
// Avast/AVG Secure Browser
|
|
18342
|
+
],
|
|
18343
|
+
[[NAME, /(.+)/, "$1 Secure" + SUFFIX_BROWSER], VERSION],
|
|
18344
|
+
[
|
|
18345
|
+
/\bfocus\/([\w\.]+)/i
|
|
18346
|
+
// Firefox Focus
|
|
18347
|
+
],
|
|
18348
|
+
[VERSION, [NAME, FIREFOX + " Focus"]],
|
|
18349
|
+
[
|
|
18350
|
+
/\bopt\/([\w\.]+)/i
|
|
18351
|
+
// Opera Touch
|
|
18352
|
+
],
|
|
18353
|
+
[VERSION, [NAME, OPERA + " Touch"]],
|
|
18354
|
+
[
|
|
18355
|
+
/coc_coc\w+\/([\w\.]+)/i
|
|
18356
|
+
// Coc Coc Browser
|
|
18357
|
+
],
|
|
18358
|
+
[VERSION, [NAME, "Coc Coc"]],
|
|
18359
|
+
[
|
|
18360
|
+
/dolfin\/([\w\.]+)/i
|
|
18361
|
+
// Dolphin
|
|
18362
|
+
],
|
|
18363
|
+
[VERSION, [NAME, "Dolphin"]],
|
|
18364
|
+
[
|
|
18365
|
+
/coast\/([\w\.]+)/i
|
|
18366
|
+
// Opera Coast
|
|
18367
|
+
],
|
|
18368
|
+
[VERSION, [NAME, OPERA + " Coast"]],
|
|
18369
|
+
[
|
|
18370
|
+
/miuibrowser\/([\w\.]+)/i
|
|
18371
|
+
// MIUI Browser
|
|
18372
|
+
],
|
|
18373
|
+
[VERSION, [NAME, "MIUI" + SUFFIX_BROWSER]],
|
|
18374
|
+
[
|
|
18375
|
+
/fxios\/([\w\.-]+)/i
|
|
18376
|
+
// Firefox for iOS
|
|
18377
|
+
],
|
|
18378
|
+
[VERSION, [NAME, PREFIX_MOBILE + FIREFOX]],
|
|
18379
|
+
[
|
|
18380
|
+
/\bqihoobrowser\/?([\w\.]*)/i
|
|
18381
|
+
// 360
|
|
18382
|
+
],
|
|
18383
|
+
[VERSION, [NAME, "360"]],
|
|
18384
|
+
[
|
|
18385
|
+
/\b(qq)\/([\w\.]+)/i
|
|
18386
|
+
// QQ
|
|
18387
|
+
],
|
|
18388
|
+
[[NAME, /(.+)/, "$1Browser"], VERSION],
|
|
18389
|
+
[
|
|
18390
|
+
/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i
|
|
18391
|
+
],
|
|
18392
|
+
[[NAME, /(.+)/, "$1" + SUFFIX_BROWSER], VERSION],
|
|
18393
|
+
[
|
|
18394
|
+
// Oculus/Sailfish/HuaweiBrowser/VivoBrowser/PicoBrowser
|
|
18395
|
+
/samsungbrowser\/([\w\.]+)/i
|
|
18396
|
+
// Samsung Internet
|
|
18397
|
+
],
|
|
18398
|
+
[VERSION, [NAME, SAMSUNG + " Internet"]],
|
|
18399
|
+
[
|
|
18400
|
+
/metasr[\/ ]?([\d\.]+)/i
|
|
18401
|
+
// Sogou Explorer
|
|
18402
|
+
],
|
|
18403
|
+
[VERSION, [NAME, SOGOU + " Explorer"]],
|
|
18404
|
+
[
|
|
18405
|
+
/(sogou)mo\w+\/([\d\.]+)/i
|
|
18406
|
+
// Sogou Mobile
|
|
18407
|
+
],
|
|
18408
|
+
[[NAME, SOGOU + " Mobile"], VERSION],
|
|
18409
|
+
[
|
|
18410
|
+
/(electron)\/([\w\.]+) safari/i,
|
|
18411
|
+
// Electron-based App
|
|
18412
|
+
/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,
|
|
18413
|
+
// Tesla
|
|
18414
|
+
/m?(qqbrowser|2345(?=browser|chrome|explorer))\w*[\/ ]?v?([\w\.]+)/i
|
|
18415
|
+
// QQ/2345
|
|
18416
|
+
],
|
|
18417
|
+
[NAME, VERSION],
|
|
18418
|
+
[
|
|
18419
|
+
/(lbbrowser|rekonq)/i
|
|
18420
|
+
// LieBao Browser/Rekonq
|
|
18421
|
+
],
|
|
18422
|
+
[NAME],
|
|
18423
|
+
[
|
|
18424
|
+
/ome\/([\w\.]+) \w* ?(iron) saf/i,
|
|
18425
|
+
// Iron
|
|
18426
|
+
/ome\/([\w\.]+).+qihu (360)[es]e/i
|
|
18427
|
+
// 360
|
|
18428
|
+
],
|
|
18429
|
+
[VERSION, NAME],
|
|
18430
|
+
[
|
|
18431
|
+
// WebView
|
|
18432
|
+
/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i
|
|
18433
|
+
// Facebook App for iOS & Android
|
|
18434
|
+
],
|
|
18435
|
+
[[NAME, FACEBOOK], VERSION, [TYPE, INAPP]],
|
|
18436
|
+
[
|
|
18437
|
+
/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,
|
|
18438
|
+
// Kakao App
|
|
18439
|
+
/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,
|
|
18440
|
+
// Naver InApp
|
|
18441
|
+
/(daum)apps[\/ ]([\w\.]+)/i,
|
|
18442
|
+
// Daum App
|
|
18443
|
+
/safari (line)\/([\w\.]+)/i,
|
|
18444
|
+
// Line App for iOS
|
|
18445
|
+
/\b(line)\/([\w\.]+)\/iab/i,
|
|
18446
|
+
// Line App for Android
|
|
18447
|
+
/(alipay)client\/([\w\.]+)/i,
|
|
18448
|
+
// Alipay
|
|
18449
|
+
/(twitter)(?:and| f.+e\/([\w\.]+))/i,
|
|
18450
|
+
// Twitter
|
|
18451
|
+
/(bing)(?:web|sapphire)\/([\w\.]+)/i,
|
|
18452
|
+
// Bing
|
|
18453
|
+
/(instagram|snapchat|klarna)[\/ ]([-\w\.]+)/i
|
|
18454
|
+
// Instagram/Snapchat/Klarna
|
|
18455
|
+
],
|
|
18456
|
+
[NAME, VERSION, [TYPE, INAPP]],
|
|
18457
|
+
[
|
|
18458
|
+
/\bgsa\/([\w\.]+) .*safari\//i
|
|
18459
|
+
// Google Search Appliance on iOS
|
|
18460
|
+
],
|
|
18461
|
+
[VERSION, [NAME, "GSA"], [TYPE, INAPP]],
|
|
18462
|
+
[
|
|
18463
|
+
/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i
|
|
18464
|
+
// TikTok
|
|
18465
|
+
],
|
|
18466
|
+
[VERSION, [NAME, "TikTok"], [TYPE, INAPP]],
|
|
18467
|
+
[
|
|
18468
|
+
/\[(linkedin)app\]/i
|
|
18469
|
+
// LinkedIn App for iOS & Android
|
|
18470
|
+
],
|
|
18471
|
+
[NAME, [TYPE, INAPP]],
|
|
18472
|
+
[
|
|
18473
|
+
/(zalo(?:app)?)[\/\sa-z]*([\w\.-]+)/i
|
|
18474
|
+
// Zalo
|
|
18475
|
+
],
|
|
18476
|
+
[[NAME, /(.+)/, "Zalo"], VERSION, [TYPE, INAPP]],
|
|
18477
|
+
[
|
|
18478
|
+
/(chromium)[\/ ]([-\w\.]+)/i
|
|
18479
|
+
// Chromium
|
|
18480
|
+
],
|
|
18481
|
+
[NAME, VERSION],
|
|
18482
|
+
[
|
|
18483
|
+
/headlesschrome(?:\/([\w\.]+)| )/i
|
|
18484
|
+
// Chrome Headless
|
|
18485
|
+
],
|
|
18486
|
+
[VERSION, [NAME, CHROME + " Headless"]],
|
|
18487
|
+
[
|
|
18488
|
+
/wv\).+chrome\/([\w\.]+).+edgw\//i
|
|
18489
|
+
// Edge WebView2
|
|
18490
|
+
],
|
|
18491
|
+
[VERSION, [NAME, EDGE + " WebView2"]],
|
|
18492
|
+
[
|
|
18493
|
+
/ wv\).+(chrome)\/([\w\.]+)/i
|
|
18494
|
+
// Chrome WebView
|
|
18495
|
+
],
|
|
18496
|
+
[[NAME, CHROME + " WebView"], VERSION],
|
|
18497
|
+
[
|
|
18498
|
+
/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i
|
|
18499
|
+
// Android Browser
|
|
18500
|
+
],
|
|
18501
|
+
[VERSION, [NAME, "Android" + SUFFIX_BROWSER]],
|
|
18502
|
+
[
|
|
18503
|
+
/chrome\/([\w\.]+) mobile/i
|
|
18504
|
+
// Chrome Mobile
|
|
18505
|
+
],
|
|
18506
|
+
[VERSION, [NAME, PREFIX_MOBILE + "Chrome"]],
|
|
18507
|
+
[
|
|
18508
|
+
/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i
|
|
18509
|
+
// Chrome/OmniWeb/Arora/Tizen/Nokia
|
|
18510
|
+
],
|
|
18511
|
+
[NAME, VERSION],
|
|
18512
|
+
[
|
|
18513
|
+
/version\/([\w\.\,]+) .*mobile(?:\/\w+ | ?)safari/i
|
|
18514
|
+
// Safari Mobile
|
|
18515
|
+
],
|
|
18516
|
+
[VERSION, [NAME, PREFIX_MOBILE + "Safari"]],
|
|
18517
|
+
[
|
|
18518
|
+
/iphone .*mobile(?:\/\w+ | ?)safari/i
|
|
18519
|
+
],
|
|
18520
|
+
[[NAME, PREFIX_MOBILE + "Safari"]],
|
|
18521
|
+
[
|
|
18522
|
+
/version\/([\w\.\,]+) .*(safari)/i
|
|
18523
|
+
// Safari
|
|
18524
|
+
],
|
|
18525
|
+
[VERSION, NAME],
|
|
18526
|
+
[
|
|
18527
|
+
/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i
|
|
18528
|
+
// Safari < 3.0
|
|
18529
|
+
],
|
|
18530
|
+
[NAME, [VERSION, "1"]],
|
|
18531
|
+
[
|
|
18532
|
+
/(webkit|khtml)\/([\w\.]+)/i
|
|
18533
|
+
],
|
|
18534
|
+
[NAME, VERSION],
|
|
18535
|
+
[
|
|
18536
|
+
// Gecko based
|
|
18537
|
+
/(?:mobile|tablet);.*(firefox)\/([\w\.-]+)/i
|
|
18538
|
+
// Firefox Mobile
|
|
18539
|
+
],
|
|
18540
|
+
[[NAME, PREFIX_MOBILE + FIREFOX], VERSION],
|
|
18541
|
+
[
|
|
18542
|
+
/(navigator|netscape\d?)\/([-\w\.]+)/i
|
|
18543
|
+
// Netscape
|
|
18544
|
+
],
|
|
18545
|
+
[[NAME, "Netscape"], VERSION],
|
|
18546
|
+
[
|
|
18547
|
+
/(wolvic|librewolf)\/([\w\.]+)/i
|
|
18548
|
+
// Wolvic/LibreWolf
|
|
18549
|
+
],
|
|
18550
|
+
[NAME, VERSION],
|
|
18551
|
+
[
|
|
18552
|
+
/mobile vr; rv:([\w\.]+)\).+firefox/i
|
|
18553
|
+
// Firefox Reality
|
|
18554
|
+
],
|
|
18555
|
+
[VERSION, [NAME, FIREFOX + " Reality"]],
|
|
18556
|
+
[
|
|
18557
|
+
/ekiohf.+(flow)\/([\w\.]+)/i,
|
|
18558
|
+
// Flow
|
|
18559
|
+
/(swiftfox)/i,
|
|
18560
|
+
// Swiftfox
|
|
18561
|
+
/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i,
|
|
18562
|
+
// IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror
|
|
18563
|
+
/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|basilisk|waterfox)\/([-\w\.]+)$/i,
|
|
18564
|
+
// Firefox/SeaMonkey/K-Meleon/IceCat/IceApe/Firebird/Phoenix
|
|
18565
|
+
/(firefox)\/([\w\.]+)/i,
|
|
18566
|
+
// Other Firefox-based
|
|
18567
|
+
/(mozilla)\/([\w\.]+(?= .+rv\:.+gecko\/\d+)|[0-4][\w\.]+(?!.+compatible))/i,
|
|
18568
|
+
// Mozilla
|
|
18569
|
+
// Other
|
|
18570
|
+
/(amaya|dillo|doris|icab|ladybird|lynx|mosaic|netsurf|obigo|polaris|w3m|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,
|
|
18571
|
+
// Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Obigo/Mosaic/Go/ICE/UP.Browser/Ladybird
|
|
18572
|
+
/\b(links) \(([\w\.]+)/i
|
|
18573
|
+
// Links
|
|
18574
|
+
],
|
|
18575
|
+
[NAME, [VERSION, /_/g, "."]],
|
|
18576
|
+
[
|
|
18577
|
+
/(cobalt)\/([\w\.]+)/i
|
|
18578
|
+
// Cobalt
|
|
18579
|
+
],
|
|
18580
|
+
[NAME, [VERSION, /[^\d\.]+./, EMPTY]]
|
|
18581
|
+
],
|
|
18582
|
+
cpu: [
|
|
18583
|
+
[
|
|
18584
|
+
/\b((amd|x|x86[-_]?|wow|win)64)\b/i
|
|
18585
|
+
// AMD64 (x64)
|
|
18586
|
+
],
|
|
18587
|
+
[[ARCHITECTURE, "amd64"]],
|
|
18588
|
+
[
|
|
18589
|
+
/(ia32(?=;))/i,
|
|
18590
|
+
// IA32 (quicktime)
|
|
18591
|
+
/\b((i[346]|x)86)(pc)?\b/i
|
|
18592
|
+
// IA32 (x86)
|
|
18593
|
+
],
|
|
18594
|
+
[[ARCHITECTURE, "ia32"]],
|
|
18595
|
+
[
|
|
18596
|
+
/\b(aarch64|arm(v?[89]e?l?|_?64))\b/i
|
|
18597
|
+
// ARM64
|
|
18598
|
+
],
|
|
18599
|
+
[[ARCHITECTURE, "arm64"]],
|
|
18600
|
+
[
|
|
18601
|
+
/\b(arm(v[67])?ht?n?[fl]p?)\b/i
|
|
18602
|
+
// ARMHF
|
|
18603
|
+
],
|
|
18604
|
+
[[ARCHITECTURE, "armhf"]],
|
|
18605
|
+
[
|
|
18606
|
+
// PocketPC mistakenly identified as PowerPC
|
|
18607
|
+
/( (ce|mobile); ppc;|\/[\w\.]+arm\b)/i
|
|
18608
|
+
],
|
|
18609
|
+
[[ARCHITECTURE, "arm"]],
|
|
18610
|
+
[
|
|
18611
|
+
/ sun4\w[;\)]/i
|
|
18612
|
+
// SPARC
|
|
18613
|
+
],
|
|
18614
|
+
[[ARCHITECTURE, "sparc"]],
|
|
18615
|
+
[
|
|
18616
|
+
// IA64, 68K, ARM/64, AVR/32, IRIX/64, MIPS/64, SPARC/64, PA-RISC
|
|
18617
|
+
/\b(avr32|ia64(?=;)|68k(?=\))|\barm(?=v([1-7]|[5-7]1)l?|;|eabi)|(irix|mips|sparc)(64)?\b|pa-risc)/i,
|
|
18618
|
+
/((ppc|powerpc)(64)?)( mac|;|\))/i,
|
|
18619
|
+
// PowerPC
|
|
18620
|
+
/(?:osf1|[freopnt]{3,4}bsd) (alpha)/i
|
|
18621
|
+
// Alpha
|
|
18622
|
+
],
|
|
18623
|
+
[[ARCHITECTURE, /ower/, EMPTY, lowerize]],
|
|
18624
|
+
[
|
|
18625
|
+
/mc680.0/i
|
|
18626
|
+
],
|
|
18627
|
+
[[ARCHITECTURE, "68k"]],
|
|
18628
|
+
[
|
|
18629
|
+
/winnt.+\[axp/i
|
|
18630
|
+
],
|
|
18631
|
+
[[ARCHITECTURE, "alpha"]]
|
|
18632
|
+
],
|
|
18633
|
+
device: [
|
|
18634
|
+
[
|
|
18635
|
+
//////////////////////////
|
|
18636
|
+
// MOBILES & TABLETS
|
|
18637
|
+
/////////////////////////
|
|
18638
|
+
// Samsung
|
|
18639
|
+
/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i
|
|
18640
|
+
],
|
|
18641
|
+
[MODEL, [VENDOR, SAMSUNG], [TYPE, TABLET]],
|
|
18642
|
+
[
|
|
18643
|
+
/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,
|
|
18644
|
+
/samsung[- ]((?!sm-[lr]|browser)[-\w]+)/i,
|
|
18645
|
+
/sec-(sgh\w+)/i
|
|
18646
|
+
],
|
|
18647
|
+
[MODEL, [VENDOR, SAMSUNG], [TYPE, MOBILE]],
|
|
18648
|
+
[
|
|
18649
|
+
// Apple
|
|
18650
|
+
/(?:\/|\()(ip(?:hone|od)[\w, ]*)[\/\);]/i
|
|
18651
|
+
// iPod/iPhone
|
|
18652
|
+
],
|
|
18653
|
+
[MODEL, [VENDOR, APPLE], [TYPE, MOBILE]],
|
|
18654
|
+
[
|
|
18655
|
+
/\b(?:ios|apple\w+)\/.+[\(\/](ipad)/i,
|
|
18656
|
+
// iPad
|
|
18657
|
+
/\b(ipad)[\d,]*[;\] ].+(mac |i(pad)?)os/i
|
|
18658
|
+
],
|
|
18659
|
+
[MODEL, [VENDOR, APPLE], [TYPE, TABLET]],
|
|
18660
|
+
[
|
|
18661
|
+
/(macintosh);/i
|
|
18662
|
+
],
|
|
18663
|
+
[MODEL, [VENDOR, APPLE]],
|
|
18664
|
+
[
|
|
18665
|
+
// Sharp
|
|
18666
|
+
/\b(sh-?[altvz]?\d\d[a-ekm]?)/i
|
|
18667
|
+
],
|
|
18668
|
+
[MODEL, [VENDOR, SHARP], [TYPE, MOBILE]],
|
|
18669
|
+
[
|
|
18670
|
+
// Honor
|
|
18671
|
+
/\b((?:brt|eln|hey2?|gdi|jdn)-a?[lnw]09|(?:ag[rm]3?|jdn2|kob2)-a?[lw]0[09]hn)(?: bui|\)|;)/i
|
|
18672
|
+
],
|
|
18673
|
+
[MODEL, [VENDOR, HONOR], [TYPE, TABLET]],
|
|
18674
|
+
[
|
|
18675
|
+
/honor([-\w ]+)[;\)]/i
|
|
18676
|
+
],
|
|
18677
|
+
[MODEL, [VENDOR, HONOR], [TYPE, MOBILE]],
|
|
18678
|
+
[
|
|
18679
|
+
// Huawei
|
|
18680
|
+
/\b((?:ag[rs][2356]?k?|bah[234]?|bg[2o]|bt[kv]|cmr|cpn|db[ry]2?|jdn2|got|kob2?k?|mon|pce|scm|sht?|[tw]gr|vrd)-[ad]?[lw][0125][09]b?|605hw|bg2-u03|(?:gem|fdr|m2|ple|t1)-[7a]0[1-4][lu]|t1-a2[13][lw]|mediapad[\w\. ]*(?= bui|\)))\b(?!.+d\/s)/i
|
|
18681
|
+
],
|
|
18682
|
+
[MODEL, [VENDOR, HUAWEI], [TYPE, TABLET]],
|
|
18683
|
+
[
|
|
18684
|
+
/(?:huawei) ?([-\w ]+)[;\)]/i,
|
|
18685
|
+
/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][\dc][adnt]?)\b(?!.+d\/s)/i
|
|
18686
|
+
],
|
|
18687
|
+
[MODEL, [VENDOR, HUAWEI], [TYPE, MOBILE]],
|
|
18688
|
+
[
|
|
18689
|
+
// Xiaomi
|
|
18690
|
+
/oid[^\)]+; (2[\dbc]{4}(182|283|rp\w{2})[cgl]|m2105k81a?c)(?: bui|\))/i,
|
|
18691
|
+
/\b(?:xiao)?((?:red)?mi[-_ ]?pad[\w- ]*)(?: bui|\))/i
|
|
18692
|
+
// Mi Pad tablets
|
|
18693
|
+
],
|
|
18694
|
+
[[MODEL, /_/g, " "], [VENDOR, XIAOMI], [TYPE, TABLET]],
|
|
18695
|
+
[
|
|
18696
|
+
/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i,
|
|
18697
|
+
// Xiaomi POCO
|
|
18698
|
+
/\b; (\w+) build\/hm\1/i,
|
|
18699
|
+
// Xiaomi Hongmi 'numeric' models
|
|
18700
|
+
/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,
|
|
18701
|
+
// Xiaomi Hongmi
|
|
18702
|
+
/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,
|
|
18703
|
+
// Xiaomi Redmi
|
|
18704
|
+
/oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,
|
|
18705
|
+
// Xiaomi Redmi 'numeric' models
|
|
18706
|
+
/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note|max|cc)?[_ ]?(?:\d{0,2}\w?)[_ ]?(?:plus|se|lite|pro)?( 5g|lte)?)(?: bui|\))/i,
|
|
18707
|
+
// Xiaomi Mi
|
|
18708
|
+
/ ([\w ]+) miui\/v?\d/i
|
|
18709
|
+
],
|
|
18710
|
+
[[MODEL, /_/g, " "], [VENDOR, XIAOMI], [TYPE, MOBILE]],
|
|
18711
|
+
[
|
|
18712
|
+
// OnePlus
|
|
18713
|
+
/droid.+; (cph2[3-6]\d[13579]|((gm|hd)19|(ac|be|in|kb)20|(d[en]|eb|le|mt)21|ne22)[0-2]\d|p[g-k]\w[1m]10)\b/i,
|
|
18714
|
+
/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i
|
|
18715
|
+
],
|
|
18716
|
+
[MODEL, [VENDOR, ONEPLUS], [TYPE, MOBILE]],
|
|
18717
|
+
[
|
|
18718
|
+
// OPPO
|
|
18719
|
+
/; (\w+) bui.+ oppo/i,
|
|
18720
|
+
/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i
|
|
18721
|
+
],
|
|
18722
|
+
[MODEL, [VENDOR, OPPO], [TYPE, MOBILE]],
|
|
18723
|
+
[
|
|
18724
|
+
/\b(opd2(\d{3}a?))(?: bui|\))/i
|
|
18725
|
+
],
|
|
18726
|
+
[MODEL, [VENDOR, strMapper, { "OnePlus": ["203", "304", "403", "404", "413", "415"], "*": OPPO }], [TYPE, TABLET]],
|
|
18727
|
+
[
|
|
18728
|
+
// BLU
|
|
18729
|
+
/(vivo (5r?|6|8l?|go|one|s|x[il]?[2-4]?)[\w\+ ]*)(?: bui|\))/i
|
|
18730
|
+
// Vivo series
|
|
18731
|
+
],
|
|
18732
|
+
[MODEL, [VENDOR, "BLU"], [TYPE, MOBILE]],
|
|
18733
|
+
[
|
|
18734
|
+
// Vivo
|
|
18735
|
+
/; vivo (\w+)(?: bui|\))/i,
|
|
18736
|
+
/\b(v[12]\d{3}\w?[at])(?: bui|;)/i
|
|
18737
|
+
],
|
|
18738
|
+
[MODEL, [VENDOR, "Vivo"], [TYPE, MOBILE]],
|
|
18739
|
+
[
|
|
18740
|
+
// Realme
|
|
18741
|
+
/\b(rmx[1-3]\d{3})(?: bui|;|\))/i
|
|
18742
|
+
],
|
|
18743
|
+
[MODEL, [VENDOR, "Realme"], [TYPE, MOBILE]],
|
|
18744
|
+
[
|
|
18745
|
+
// Lenovo
|
|
18746
|
+
/(ideatab[-\w ]+|602lv|d-42a|a101lv|a2109a|a3500-hv|s[56]000|pb-6505[my]|tb-?x?\d{3,4}(?:f[cu]|xu|[av])|yt\d?-[jx]?\d+[lfmx])( bui|;|\)|\/)/i,
|
|
18747
|
+
/lenovo ?(b[68]0[08]0-?[hf]?|tab(?:[\w- ]+?)|tb[\w-]{6,7})( bui|;|\)|\/)/i
|
|
18748
|
+
],
|
|
18749
|
+
[MODEL, [VENDOR, LENOVO], [TYPE, TABLET]],
|
|
18750
|
+
[
|
|
18751
|
+
/lenovo[-_ ]?([-\w ]+?)(?: bui|\)|\/)/i
|
|
18752
|
+
],
|
|
18753
|
+
[MODEL, [VENDOR, LENOVO], [TYPE, MOBILE]],
|
|
18754
|
+
[
|
|
18755
|
+
// Motorola
|
|
18756
|
+
/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,
|
|
18757
|
+
/\bmot(?:orola)?[- ]([\w\s]+)(\)| bui)/i,
|
|
18758
|
+
/((?:moto(?! 360)[-\w\(\) ]+|xt\d{3,4}[cgkosw\+]?[-\d]*|nexus 6)(?= bui|\)))/i
|
|
18759
|
+
],
|
|
18760
|
+
[MODEL, [VENDOR, MOTOROLA], [TYPE, MOBILE]],
|
|
18761
|
+
[
|
|
18762
|
+
/\b(mz60\d|xoom[2 ]{0,2}) build\//i
|
|
18763
|
+
],
|
|
18764
|
+
[MODEL, [VENDOR, MOTOROLA], [TYPE, TABLET]],
|
|
18765
|
+
[
|
|
18766
|
+
// LG
|
|
18767
|
+
/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i
|
|
18768
|
+
],
|
|
18769
|
+
[MODEL, [VENDOR, LG], [TYPE, TABLET]],
|
|
18770
|
+
[
|
|
18771
|
+
/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,
|
|
18772
|
+
/\blg[-e;\/ ]+(?!.*(?:browser|netcast|android tv|watch|webos))(\w+)/i,
|
|
18773
|
+
/\blg-?([\d\w]+) bui/i
|
|
18774
|
+
],
|
|
18775
|
+
[MODEL, [VENDOR, LG], [TYPE, MOBILE]],
|
|
18776
|
+
[
|
|
18777
|
+
// Nokia
|
|
18778
|
+
/(nokia) (t[12][01])/i
|
|
18779
|
+
],
|
|
18780
|
+
[VENDOR, MODEL, [TYPE, TABLET]],
|
|
18781
|
+
[
|
|
18782
|
+
/(?:maemo|nokia).*(n900|lumia \d+|rm-\d+)/i,
|
|
18783
|
+
/nokia[-_ ]?(([-\w\. ]*?))( bui|\)|;|\/)/i
|
|
18784
|
+
],
|
|
18785
|
+
[[MODEL, /_/g, " "], [TYPE, MOBILE], [VENDOR, "Nokia"]],
|
|
18786
|
+
[
|
|
18787
|
+
// Google
|
|
18788
|
+
/(pixel (c|tablet))\b/i
|
|
18789
|
+
// Google Pixel C/Tablet
|
|
18790
|
+
],
|
|
18791
|
+
[MODEL, [VENDOR, GOOGLE], [TYPE, TABLET]],
|
|
18792
|
+
[
|
|
18793
|
+
// Google Pixel
|
|
18794
|
+
/droid.+;(?: google)? (g(01[13]a|020[aem]|025[jn]|1b60|1f8f|2ybb|4s1m|576d|5nz6|8hhn|8vou|a02099|c15s|d1yq|e2ae|ec77|gh2x|kv4x|p4bc|pj41|r83y|tt9q|ur25|wvk6)|pixel[\d ]*a?( pro)?( xl)?( fold)?( \(5g\))?)( bui|\))/i
|
|
18795
|
+
],
|
|
18796
|
+
[MODEL, [VENDOR, GOOGLE], [TYPE, MOBILE]],
|
|
18797
|
+
[
|
|
18798
|
+
/(google) (pixelbook( go)?)/i
|
|
18799
|
+
],
|
|
18800
|
+
[VENDOR, MODEL],
|
|
18801
|
+
[
|
|
18802
|
+
// Sony
|
|
18803
|
+
/droid.+; (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-\w\w\d\d)(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i
|
|
18804
|
+
],
|
|
18805
|
+
[MODEL, [VENDOR, SONY], [TYPE, MOBILE]],
|
|
18806
|
+
[
|
|
18807
|
+
/sony tablet [ps]/i,
|
|
18808
|
+
/\b(?:sony)?sgp\w+(?: bui|\))/i
|
|
18809
|
+
],
|
|
18810
|
+
[[MODEL, "Xperia Tablet"], [VENDOR, SONY], [TYPE, TABLET]],
|
|
18811
|
+
[
|
|
18812
|
+
// Amazon
|
|
18813
|
+
/(alexa)webm/i,
|
|
18814
|
+
/(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,
|
|
18815
|
+
// Kindle Fire without Silk / Echo Show
|
|
18816
|
+
/(kf[a-z]+)( bui|\)).+silk\//i
|
|
18817
|
+
// Kindle Fire HD
|
|
18818
|
+
],
|
|
18819
|
+
[MODEL, [VENDOR, AMAZON], [TYPE, TABLET]],
|
|
18820
|
+
[
|
|
18821
|
+
/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i
|
|
18822
|
+
// Fire Phone
|
|
18823
|
+
],
|
|
18824
|
+
[[MODEL, /(.+)/g, "Fire Phone $1"], [VENDOR, AMAZON], [TYPE, MOBILE]],
|
|
18825
|
+
[
|
|
18826
|
+
// BlackBerry
|
|
18827
|
+
/(playbook);[-\w\),; ]+(rim)/i
|
|
18828
|
+
// BlackBerry PlayBook
|
|
18829
|
+
],
|
|
18830
|
+
[MODEL, VENDOR, [TYPE, TABLET]],
|
|
18831
|
+
[
|
|
18832
|
+
/\b((?:bb[a-f]|st[hv])100-\d)/i,
|
|
18833
|
+
/(?:blackberry|\(bb10;) (\w+)/i
|
|
18834
|
+
],
|
|
18835
|
+
[MODEL, [VENDOR, BLACKBERRY], [TYPE, MOBILE]],
|
|
18836
|
+
[
|
|
18837
|
+
// Asus
|
|
18838
|
+
/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i
|
|
18839
|
+
],
|
|
18840
|
+
[MODEL, [VENDOR, ASUS], [TYPE, TABLET]],
|
|
18841
|
+
[
|
|
18842
|
+
/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i
|
|
18843
|
+
],
|
|
18844
|
+
[MODEL, [VENDOR, ASUS], [TYPE, MOBILE]],
|
|
18845
|
+
[
|
|
18846
|
+
// HTC
|
|
18847
|
+
/(nexus 9)/i
|
|
18848
|
+
// HTC Nexus 9
|
|
18849
|
+
],
|
|
18850
|
+
[MODEL, [VENDOR, "HTC"], [TYPE, TABLET]],
|
|
18851
|
+
[
|
|
18852
|
+
/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,
|
|
18853
|
+
// HTC
|
|
18854
|
+
// ZTE
|
|
18855
|
+
/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,
|
|
18856
|
+
/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i
|
|
18857
|
+
// Alcatel/GeeksPhone/Nexian/Panasonic/Sony
|
|
18858
|
+
],
|
|
18859
|
+
[VENDOR, [MODEL, /_/g, " "], [TYPE, MOBILE]],
|
|
18860
|
+
[
|
|
18861
|
+
// TCL
|
|
18862
|
+
/tcl (xess p17aa)/i,
|
|
18863
|
+
/droid [\w\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])(_\w(\w|\w\w))?(\)| bui)/i
|
|
18864
|
+
],
|
|
18865
|
+
[MODEL, [VENDOR, "TCL"], [TYPE, TABLET]],
|
|
18866
|
+
[
|
|
18867
|
+
/droid [\w\.]+; (418(?:7d|8v)|5087z|5102l|61(?:02[dh]|25[adfh]|27[ai]|56[dh]|59k|65[ah])|a509dl|t(?:43(?:0w|1[adepqu])|50(?:6d|7[adju])|6(?:09dl|10k|12b|71[efho]|76[hjk])|7(?:66[ahju]|67[hw]|7[045][bh]|71[hk]|73o|76[ho]|79w|81[hks]?|82h|90[bhsy]|99b)|810[hs]))(_\w(\w|\w\w))?(\)| bui)/i
|
|
18868
|
+
],
|
|
18869
|
+
[MODEL, [VENDOR, "TCL"], [TYPE, MOBILE]],
|
|
18870
|
+
[
|
|
18871
|
+
// itel
|
|
18872
|
+
/(itel) ((\w+))/i
|
|
18873
|
+
],
|
|
18874
|
+
[[VENDOR, lowerize], MODEL, [TYPE, strMapper, { "tablet": ["p10001l", "w7001"], "*": "mobile" }]],
|
|
18875
|
+
[
|
|
18876
|
+
// Acer
|
|
18877
|
+
/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i
|
|
18878
|
+
],
|
|
18879
|
+
[MODEL, [VENDOR, "Acer"], [TYPE, TABLET]],
|
|
18880
|
+
[
|
|
18881
|
+
// Meizu
|
|
18882
|
+
/droid.+; (m[1-5] note) bui/i,
|
|
18883
|
+
/\bmz-([-\w]{2,})/i
|
|
18884
|
+
],
|
|
18885
|
+
[MODEL, [VENDOR, "Meizu"], [TYPE, MOBILE]],
|
|
18886
|
+
[
|
|
18887
|
+
// Ulefone
|
|
18888
|
+
/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i
|
|
18889
|
+
],
|
|
18890
|
+
[MODEL, [VENDOR, "Ulefone"], [TYPE, MOBILE]],
|
|
18891
|
+
[
|
|
18892
|
+
// Energizer
|
|
18893
|
+
/; (energy ?\w+)(?: bui|\))/i,
|
|
18894
|
+
/; energizer ([\w ]+)(?: bui|\))/i
|
|
18895
|
+
],
|
|
18896
|
+
[MODEL, [VENDOR, "Energizer"], [TYPE, MOBILE]],
|
|
18897
|
+
[
|
|
18898
|
+
// Cat
|
|
18899
|
+
/; cat (b35);/i,
|
|
18900
|
+
/; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\))/i
|
|
18901
|
+
],
|
|
18902
|
+
[MODEL, [VENDOR, "Cat"], [TYPE, MOBILE]],
|
|
18903
|
+
[
|
|
18904
|
+
// Smartfren
|
|
18905
|
+
/((?:new )?andromax[\w- ]+)(?: bui|\))/i
|
|
18906
|
+
],
|
|
18907
|
+
[MODEL, [VENDOR, "Smartfren"], [TYPE, MOBILE]],
|
|
18908
|
+
[
|
|
18909
|
+
// Nothing
|
|
18910
|
+
/droid.+; (a(in)?(0(15|59|6[35])|142)p?)/i
|
|
18911
|
+
],
|
|
18912
|
+
[MODEL, [VENDOR, "Nothing"], [TYPE, MOBILE]],
|
|
18913
|
+
[
|
|
18914
|
+
// Archos
|
|
18915
|
+
/; (x67 5g|tikeasy \w+|ac[1789]\d\w+)( b|\))/i,
|
|
18916
|
+
/archos ?(5|gamepad2?|([\w ]*[t1789]|hello) ?\d+[\w ]*)( b|\))/i
|
|
18917
|
+
],
|
|
18918
|
+
[MODEL, [VENDOR, "Archos"], [TYPE, TABLET]],
|
|
18919
|
+
[
|
|
18920
|
+
/archos ([\w ]+)( b|\))/i,
|
|
18921
|
+
/; (ac[3-6]\d\w{2,8})( b|\))/i
|
|
18922
|
+
],
|
|
18923
|
+
[MODEL, [VENDOR, "Archos"], [TYPE, MOBILE]],
|
|
18924
|
+
[
|
|
18925
|
+
// HMD
|
|
18926
|
+
/; (n159v)/i
|
|
18927
|
+
],
|
|
18928
|
+
[MODEL, [VENDOR, "HMD"], [TYPE, MOBILE]],
|
|
18929
|
+
[
|
|
18930
|
+
// MIXED
|
|
18931
|
+
/(imo) (tab \w+)/i,
|
|
18932
|
+
// IMO
|
|
18933
|
+
/(infinix|tecno) (x1101b?|p904|dp(7c|8d|10a)( pro)?|p70[1-3]a?|p904|t1101)/i
|
|
18934
|
+
// Infinix XPad / Tecno
|
|
18935
|
+
],
|
|
18936
|
+
[VENDOR, MODEL, [TYPE, TABLET]],
|
|
18937
|
+
[
|
|
18938
|
+
/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus(?! zenw)|dell|jolla|meizu|motorola|polytron|tecno|micromax|advan)[-_ ]?([-\w]*)/i,
|
|
18939
|
+
// BlackBerry/BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron/Tecno/Micromax/Advan
|
|
18940
|
+
// BLU/HMD/IMO/Infinix/Lava/OnePlus/TCL/Wiko
|
|
18941
|
+
/; (blu|hmd|imo|infinix|lava|oneplus|tcl|wiko)[_ ]([\w\+ ]+?)(?: bui|\)|; r)/i,
|
|
18942
|
+
/(hp) ([\w ]+\w)/i,
|
|
18943
|
+
// HP iPAQ
|
|
18944
|
+
/(microsoft); (lumia[\w ]+)/i,
|
|
18945
|
+
// Microsoft Lumia
|
|
18946
|
+
/(oppo) ?([\w ]+) bui/i,
|
|
18947
|
+
// OPPO
|
|
18948
|
+
/(hisense) ([ehv][\w ]+)\)/i,
|
|
18949
|
+
// Hisense
|
|
18950
|
+
/droid[^;]+; (philips)[_ ]([sv-x][\d]{3,4}[xz]?)/i
|
|
18951
|
+
// Philips
|
|
18952
|
+
],
|
|
18953
|
+
[VENDOR, MODEL, [TYPE, MOBILE]],
|
|
18954
|
+
[
|
|
18955
|
+
/(kobo)\s(ereader|touch)/i,
|
|
18956
|
+
// Kobo
|
|
18957
|
+
/(hp).+(touchpad(?!.+tablet)|tablet)/i,
|
|
18958
|
+
// HP TouchPad
|
|
18959
|
+
/(kindle)\/([\w\.]+)/i
|
|
18960
|
+
// Kindle
|
|
18961
|
+
],
|
|
18962
|
+
[VENDOR, MODEL, [TYPE, TABLET]],
|
|
18963
|
+
[
|
|
18964
|
+
/(surface duo)/i
|
|
18965
|
+
// Surface Duo
|
|
18966
|
+
],
|
|
18967
|
+
[MODEL, [VENDOR, MICROSOFT], [TYPE, TABLET]],
|
|
18968
|
+
[
|
|
18969
|
+
/droid [\d\.]+; (fp\du?)(?: b|\))/i
|
|
18970
|
+
// Fairphone
|
|
18971
|
+
],
|
|
18972
|
+
[MODEL, [VENDOR, "Fairphone"], [TYPE, MOBILE]],
|
|
18973
|
+
[
|
|
18974
|
+
/((?:tegranote|shield t(?!.+d tv))[\w- ]*?)(?: b|\))/i
|
|
18975
|
+
// Nvidia Tablets
|
|
18976
|
+
],
|
|
18977
|
+
[MODEL, [VENDOR, NVIDIA], [TYPE, TABLET]],
|
|
18978
|
+
[
|
|
18979
|
+
/(sprint) (\w+)/i
|
|
18980
|
+
// Sprint Phones
|
|
18981
|
+
],
|
|
18982
|
+
[VENDOR, MODEL, [TYPE, MOBILE]],
|
|
18983
|
+
[
|
|
18984
|
+
/(kin\.[onetw]{3})/i
|
|
18985
|
+
// Microsoft Kin
|
|
18986
|
+
],
|
|
18987
|
+
[[MODEL, /\./g, " "], [VENDOR, MICROSOFT], [TYPE, MOBILE]],
|
|
18988
|
+
[
|
|
18989
|
+
/droid.+; ([c6]+|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i
|
|
18990
|
+
// Zebra
|
|
18991
|
+
],
|
|
18992
|
+
[MODEL, [VENDOR, ZEBRA], [TYPE, TABLET]],
|
|
18993
|
+
[
|
|
18994
|
+
/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i
|
|
18995
|
+
],
|
|
18996
|
+
[MODEL, [VENDOR, ZEBRA], [TYPE, MOBILE]],
|
|
18997
|
+
[
|
|
18998
|
+
///////////////////
|
|
18999
|
+
// SMARTTVS
|
|
19000
|
+
///////////////////
|
|
19001
|
+
/(philips)[\w ]+tv/i,
|
|
19002
|
+
// Philips
|
|
19003
|
+
/smart-tv.+(samsung)/i
|
|
19004
|
+
// Samsung
|
|
19005
|
+
],
|
|
19006
|
+
[VENDOR, [TYPE, SMARTTV]],
|
|
19007
|
+
[
|
|
19008
|
+
/hbbtv.+maple;(\d+)/i
|
|
19009
|
+
],
|
|
19010
|
+
[[MODEL, /^/, "SmartTV"], [VENDOR, SAMSUNG], [TYPE, SMARTTV]],
|
|
19011
|
+
[
|
|
19012
|
+
/(vizio)(?: |.+model\/)(\w+-\w+)/i,
|
|
19013
|
+
// Vizio
|
|
19014
|
+
/tcast.+(lg)e?. ([-\w]+)/i
|
|
19015
|
+
// LG SmartTV
|
|
19016
|
+
],
|
|
19017
|
+
[VENDOR, MODEL, [TYPE, SMARTTV]],
|
|
19018
|
+
[
|
|
19019
|
+
/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i
|
|
19020
|
+
],
|
|
19021
|
+
[[VENDOR, LG], [TYPE, SMARTTV]],
|
|
19022
|
+
[
|
|
19023
|
+
/(apple) ?tv/i
|
|
19024
|
+
// Apple TV
|
|
19025
|
+
],
|
|
19026
|
+
[VENDOR, [MODEL, APPLE + " TV"], [TYPE, SMARTTV]],
|
|
19027
|
+
[
|
|
19028
|
+
/crkey.*devicetype\/chromecast/i
|
|
19029
|
+
// Google Chromecast Third Generation
|
|
19030
|
+
],
|
|
19031
|
+
[[MODEL, CHROMECAST + " Third Generation"], [VENDOR, GOOGLE], [TYPE, SMARTTV]],
|
|
19032
|
+
[
|
|
19033
|
+
/crkey.*devicetype\/([^/]*)/i
|
|
19034
|
+
// Google Chromecast with specific device type
|
|
19035
|
+
],
|
|
19036
|
+
[[MODEL, /^/, "Chromecast "], [VENDOR, GOOGLE], [TYPE, SMARTTV]],
|
|
19037
|
+
[
|
|
19038
|
+
/fuchsia.*crkey/i
|
|
19039
|
+
// Google Chromecast Nest Hub
|
|
19040
|
+
],
|
|
19041
|
+
[[MODEL, CHROMECAST + " Nest Hub"], [VENDOR, GOOGLE], [TYPE, SMARTTV]],
|
|
19042
|
+
[
|
|
19043
|
+
/crkey/i
|
|
19044
|
+
// Google Chromecast, Linux-based or unknown
|
|
19045
|
+
],
|
|
19046
|
+
[[MODEL, CHROMECAST], [VENDOR, GOOGLE], [TYPE, SMARTTV]],
|
|
19047
|
+
[
|
|
19048
|
+
/(portaltv)/i
|
|
19049
|
+
// Facebook Portal TV
|
|
19050
|
+
],
|
|
19051
|
+
[MODEL, [VENDOR, FACEBOOK], [TYPE, SMARTTV]],
|
|
19052
|
+
[
|
|
19053
|
+
/droid.+aft(\w+)( bui|\))/i
|
|
19054
|
+
// Fire TV
|
|
19055
|
+
],
|
|
19056
|
+
[MODEL, [VENDOR, AMAZON], [TYPE, SMARTTV]],
|
|
19057
|
+
[
|
|
19058
|
+
/(shield \w+ tv)/i
|
|
19059
|
+
// Nvidia Shield TV
|
|
19060
|
+
],
|
|
19061
|
+
[MODEL, [VENDOR, NVIDIA], [TYPE, SMARTTV]],
|
|
19062
|
+
[
|
|
19063
|
+
/\(dtv[\);].+(aquos)/i,
|
|
19064
|
+
/(aquos-tv[\w ]+)\)/i
|
|
19065
|
+
// Sharp
|
|
19066
|
+
],
|
|
19067
|
+
[MODEL, [VENDOR, SHARP], [TYPE, SMARTTV]],
|
|
19068
|
+
[
|
|
19069
|
+
/(bravia[\w ]+)( bui|\))/i
|
|
19070
|
+
// Sony
|
|
19071
|
+
],
|
|
19072
|
+
[MODEL, [VENDOR, SONY], [TYPE, SMARTTV]],
|
|
19073
|
+
[
|
|
19074
|
+
/(mi(tv|box)-?\w+) bui/i
|
|
19075
|
+
// Xiaomi
|
|
19076
|
+
],
|
|
19077
|
+
[MODEL, [VENDOR, XIAOMI], [TYPE, SMARTTV]],
|
|
19078
|
+
[
|
|
19079
|
+
/Hbbtv.*(technisat) (.*);/i
|
|
19080
|
+
// TechniSAT
|
|
19081
|
+
],
|
|
19082
|
+
[VENDOR, MODEL, [TYPE, SMARTTV]],
|
|
19083
|
+
[
|
|
19084
|
+
/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,
|
|
19085
|
+
// Roku
|
|
19086
|
+
/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i
|
|
19087
|
+
// HbbTV devices
|
|
19088
|
+
],
|
|
19089
|
+
[[VENDOR, /.+\/(\w+)/, "$1", strMapper, { "LG": "lge" }], [MODEL, trim], [TYPE, SMARTTV]],
|
|
19090
|
+
[
|
|
19091
|
+
///////////////////
|
|
19092
|
+
// CONSOLES
|
|
19093
|
+
///////////////////
|
|
19094
|
+
/(playstation \w+)/i
|
|
19095
|
+
// Playstation
|
|
19096
|
+
],
|
|
19097
|
+
[MODEL, [VENDOR, SONY], [TYPE, CONSOLE]],
|
|
19098
|
+
[
|
|
19099
|
+
/\b(xbox(?: one)?(?!; xbox))[\); ]/i
|
|
19100
|
+
// Microsoft Xbox
|
|
19101
|
+
],
|
|
19102
|
+
[MODEL, [VENDOR, MICROSOFT], [TYPE, CONSOLE]],
|
|
19103
|
+
[
|
|
19104
|
+
/(ouya)/i,
|
|
19105
|
+
// Ouya
|
|
19106
|
+
/(nintendo) (\w+)/i,
|
|
19107
|
+
// Nintendo
|
|
19108
|
+
/(retroid) (pocket ([^\)]+))/i
|
|
19109
|
+
// Retroid Pocket
|
|
19110
|
+
],
|
|
19111
|
+
[VENDOR, MODEL, [TYPE, CONSOLE]],
|
|
19112
|
+
[
|
|
19113
|
+
/droid.+; (shield)( bui|\))/i
|
|
19114
|
+
// Nvidia Portable
|
|
19115
|
+
],
|
|
19116
|
+
[MODEL, [VENDOR, NVIDIA], [TYPE, CONSOLE]],
|
|
19117
|
+
[
|
|
19118
|
+
///////////////////
|
|
19119
|
+
// WEARABLES
|
|
19120
|
+
///////////////////
|
|
19121
|
+
/\b(sm-[lr]\d\d[0156][fnuw]?s?|gear live)\b/i
|
|
19122
|
+
// Samsung Galaxy Watch
|
|
19123
|
+
],
|
|
19124
|
+
[MODEL, [VENDOR, SAMSUNG], [TYPE, WEARABLE]],
|
|
19125
|
+
[
|
|
19126
|
+
/((pebble))app/i,
|
|
19127
|
+
// Pebble
|
|
19128
|
+
/(asus|google|lg|oppo) ((pixel |zen)?watch[\w ]*)( bui|\))/i
|
|
19129
|
+
// Asus ZenWatch / LG Watch / Pixel Watch
|
|
19130
|
+
],
|
|
19131
|
+
[VENDOR, MODEL, [TYPE, WEARABLE]],
|
|
19132
|
+
[
|
|
19133
|
+
/(ow(?:19|20)?we?[1-3]{1,3})/i
|
|
19134
|
+
// Oppo Watch
|
|
19135
|
+
],
|
|
19136
|
+
[MODEL, [VENDOR, OPPO], [TYPE, WEARABLE]],
|
|
19137
|
+
[
|
|
19138
|
+
/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i
|
|
19139
|
+
// Apple Watch
|
|
19140
|
+
],
|
|
19141
|
+
[MODEL, [VENDOR, APPLE], [TYPE, WEARABLE]],
|
|
19142
|
+
[
|
|
19143
|
+
/(opwwe\d{3})/i
|
|
19144
|
+
// OnePlus Watch
|
|
19145
|
+
],
|
|
19146
|
+
[MODEL, [VENDOR, ONEPLUS], [TYPE, WEARABLE]],
|
|
19147
|
+
[
|
|
19148
|
+
/(moto 360)/i
|
|
19149
|
+
// Motorola 360
|
|
19150
|
+
],
|
|
19151
|
+
[MODEL, [VENDOR, MOTOROLA], [TYPE, WEARABLE]],
|
|
19152
|
+
[
|
|
19153
|
+
/(smartwatch 3)/i
|
|
19154
|
+
// Sony SmartWatch
|
|
19155
|
+
],
|
|
19156
|
+
[MODEL, [VENDOR, SONY], [TYPE, WEARABLE]],
|
|
19157
|
+
[
|
|
19158
|
+
/(g watch r)/i
|
|
19159
|
+
// LG G Watch R
|
|
19160
|
+
],
|
|
19161
|
+
[MODEL, [VENDOR, LG], [TYPE, WEARABLE]],
|
|
19162
|
+
[
|
|
19163
|
+
/droid.+; (wt63?0{2,3})\)/i
|
|
19164
|
+
],
|
|
19165
|
+
[MODEL, [VENDOR, ZEBRA], [TYPE, WEARABLE]],
|
|
19166
|
+
[
|
|
19167
|
+
///////////////////
|
|
19168
|
+
// XR
|
|
19169
|
+
///////////////////
|
|
19170
|
+
/droid.+; (glass) \d/i
|
|
19171
|
+
// Google Glass
|
|
19172
|
+
],
|
|
19173
|
+
[MODEL, [VENDOR, GOOGLE], [TYPE, XR]],
|
|
19174
|
+
[
|
|
19175
|
+
/(pico) ([\w ]+) os\d/i
|
|
19176
|
+
// Pico
|
|
19177
|
+
],
|
|
19178
|
+
[VENDOR, MODEL, [TYPE, XR]],
|
|
19179
|
+
[
|
|
19180
|
+
/(quest( \d| pro)?s?).+vr/i
|
|
19181
|
+
// Meta Quest
|
|
19182
|
+
],
|
|
19183
|
+
[MODEL, [VENDOR, FACEBOOK], [TYPE, XR]],
|
|
19184
|
+
[
|
|
19185
|
+
/mobile vr; rv.+firefox/i
|
|
19186
|
+
// Unidentifiable VR device using Firefox Reality / Wolvic
|
|
19187
|
+
],
|
|
19188
|
+
[[TYPE, XR]],
|
|
19189
|
+
[
|
|
19190
|
+
///////////////////
|
|
19191
|
+
// EMBEDDED
|
|
19192
|
+
///////////////////
|
|
19193
|
+
/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i
|
|
19194
|
+
// Tesla
|
|
19195
|
+
],
|
|
19196
|
+
[VENDOR, [TYPE, EMBEDDED]],
|
|
19197
|
+
[
|
|
19198
|
+
/(aeobc)\b/i
|
|
19199
|
+
// Echo Dot
|
|
19200
|
+
],
|
|
19201
|
+
[MODEL, [VENDOR, AMAZON], [TYPE, EMBEDDED]],
|
|
19202
|
+
[
|
|
19203
|
+
/(homepod).+mac os/i
|
|
19204
|
+
// Apple HomePod
|
|
19205
|
+
],
|
|
19206
|
+
[MODEL, [VENDOR, APPLE], [TYPE, EMBEDDED]],
|
|
19207
|
+
[
|
|
19208
|
+
/windows iot/i
|
|
19209
|
+
// Unidentifiable embedded device using Windows IoT
|
|
19210
|
+
],
|
|
19211
|
+
[[TYPE, EMBEDDED]],
|
|
19212
|
+
[
|
|
19213
|
+
////////////////////
|
|
19214
|
+
// MIXED (GENERIC)
|
|
19215
|
+
///////////////////
|
|
19216
|
+
/droid.+; ([\w- ]+) (4k|android|smart|google)[- ]?tv/i
|
|
19217
|
+
// Unidentifiable SmartTV
|
|
19218
|
+
],
|
|
19219
|
+
[MODEL, [TYPE, SMARTTV]],
|
|
19220
|
+
[
|
|
19221
|
+
/\b((4k|android|smart|opera)[- ]?tv|tv; rv:|large screen[\w ]+safari)\b/i
|
|
19222
|
+
],
|
|
19223
|
+
[[TYPE, SMARTTV]],
|
|
19224
|
+
[
|
|
19225
|
+
/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew|; hmsc).+?(mobile|vr|\d) safari/i
|
|
19226
|
+
],
|
|
19227
|
+
[MODEL, [TYPE, strMapper, { "mobile": "Mobile", "xr": "VR", "*": TABLET }]],
|
|
19228
|
+
[
|
|
19229
|
+
/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i
|
|
19230
|
+
// Unidentifiable Tablet
|
|
19231
|
+
],
|
|
19232
|
+
[[TYPE, TABLET]],
|
|
19233
|
+
[
|
|
19234
|
+
/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i
|
|
19235
|
+
// Unidentifiable Mobile
|
|
19236
|
+
],
|
|
19237
|
+
[[TYPE, MOBILE]],
|
|
19238
|
+
[
|
|
19239
|
+
/droid .+?; ([\w\. -]+)( bui|\))/i
|
|
19240
|
+
// Generic Android Device
|
|
19241
|
+
],
|
|
19242
|
+
[MODEL, [VENDOR, "Generic"]]
|
|
19243
|
+
],
|
|
19244
|
+
engine: [
|
|
19245
|
+
[
|
|
19246
|
+
/windows.+ edge\/([\w\.]+)/i
|
|
19247
|
+
// EdgeHTML
|
|
19248
|
+
],
|
|
19249
|
+
[VERSION, [NAME, EDGE + "HTML"]],
|
|
19250
|
+
[
|
|
19251
|
+
/(arkweb)\/([\w\.]+)/i
|
|
19252
|
+
// ArkWeb
|
|
19253
|
+
],
|
|
19254
|
+
[NAME, VERSION],
|
|
19255
|
+
[
|
|
19256
|
+
/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i
|
|
19257
|
+
// Blink
|
|
19258
|
+
],
|
|
19259
|
+
[VERSION, [NAME, "Blink"]],
|
|
19260
|
+
[
|
|
19261
|
+
/(presto)\/([\w\.]+)/i,
|
|
19262
|
+
// Presto
|
|
19263
|
+
/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna|servo)\/([\w\.]+)/i,
|
|
19264
|
+
// WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m/Goanna/Servo
|
|
19265
|
+
/ekioh(flow)\/([\w\.]+)/i,
|
|
19266
|
+
// Flow
|
|
19267
|
+
/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,
|
|
19268
|
+
// KHTML/Tasman/Links
|
|
19269
|
+
/(icab)[\/ ]([23]\.[\d\.]+)/i,
|
|
19270
|
+
// iCab
|
|
19271
|
+
/\b(libweb)/i
|
|
19272
|
+
// LibWeb
|
|
19273
|
+
],
|
|
19274
|
+
[NAME, VERSION],
|
|
19275
|
+
[
|
|
19276
|
+
/ladybird\//i
|
|
19277
|
+
],
|
|
19278
|
+
[[NAME, "LibWeb"]],
|
|
19279
|
+
[
|
|
19280
|
+
/rv\:([\w\.]{1,9})\b.+(gecko)/i
|
|
19281
|
+
// Gecko
|
|
19282
|
+
],
|
|
19283
|
+
[VERSION, NAME]
|
|
19284
|
+
],
|
|
19285
|
+
os: [
|
|
19286
|
+
[
|
|
19287
|
+
// Windows
|
|
19288
|
+
/(windows nt) (6\.[23]); arm/i
|
|
19289
|
+
// Windows RT
|
|
19290
|
+
],
|
|
19291
|
+
[[NAME, /N/, "R"], [VERSION, strMapper, windowsVersionMap]],
|
|
19292
|
+
[
|
|
19293
|
+
/(windows (?:phone|mobile|iot))(?: os)?[\/ ]?([\d\.]*( se)?)/i,
|
|
19294
|
+
// Windows IoT/Mobile/Phone
|
|
19295
|
+
// Windows NT/3.1/95/98/ME/2000/XP/Vista/7/8/8.1/10/11
|
|
19296
|
+
/(windows)[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i
|
|
19297
|
+
],
|
|
19298
|
+
[NAME, VERSION],
|
|
19299
|
+
[
|
|
19300
|
+
/windows nt ?([\d\.\)]*)(?!.+xbox)/i,
|
|
19301
|
+
/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d\.;]*)/i
|
|
19302
|
+
],
|
|
19303
|
+
[[VERSION, /(;|\))/g, "", strMapper, windowsVersionMap], [NAME, WINDOWS]],
|
|
19304
|
+
[
|
|
19305
|
+
/(windows ce)\/?([\d\.]*)/i
|
|
19306
|
+
// Windows CE
|
|
19307
|
+
],
|
|
19308
|
+
[NAME, VERSION],
|
|
19309
|
+
[
|
|
19310
|
+
// iOS/macOS
|
|
19311
|
+
/[adehimnop]{4,7}\b(?:.*os ([\w]+) like mac|; opera)/i,
|
|
19312
|
+
// iOS
|
|
19313
|
+
/(?:ios;fbsv|ios(?=.+ip(?:ad|hone))|ip(?:ad|hone)(?: |.+i(?:pad)?)os)[\/ ]([\w\.]+)/i,
|
|
19314
|
+
/cfnetwork\/.+darwin/i
|
|
19315
|
+
],
|
|
19316
|
+
[[VERSION, /_/g, "."], [NAME, "iOS"]],
|
|
19317
|
+
[
|
|
19318
|
+
/(mac os x) ?([\w\. ]*)/i,
|
|
19319
|
+
/(macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i
|
|
19320
|
+
// Mac OS
|
|
19321
|
+
],
|
|
19322
|
+
[[NAME, "macOS"], [VERSION, /_/g, "."]],
|
|
19323
|
+
[
|
|
19324
|
+
// Google Chromecast
|
|
19325
|
+
/android ([\d\.]+).*crkey/i
|
|
19326
|
+
// Google Chromecast, Android-based
|
|
19327
|
+
],
|
|
19328
|
+
[VERSION, [NAME, CHROMECAST + " Android"]],
|
|
19329
|
+
[
|
|
19330
|
+
/fuchsia.*crkey\/([\d\.]+)/i
|
|
19331
|
+
// Google Chromecast, Fuchsia-based
|
|
19332
|
+
],
|
|
19333
|
+
[VERSION, [NAME, CHROMECAST + " Fuchsia"]],
|
|
19334
|
+
[
|
|
19335
|
+
/crkey\/([\d\.]+).*devicetype\/smartspeaker/i
|
|
19336
|
+
// Google Chromecast, Linux-based Smart Speaker
|
|
19337
|
+
],
|
|
19338
|
+
[VERSION, [NAME, CHROMECAST + " SmartSpeaker"]],
|
|
19339
|
+
[
|
|
19340
|
+
/linux.*crkey\/([\d\.]+)/i
|
|
19341
|
+
// Google Chromecast, Legacy Linux-based
|
|
19342
|
+
],
|
|
19343
|
+
[VERSION, [NAME, CHROMECAST + " Linux"]],
|
|
19344
|
+
[
|
|
19345
|
+
/crkey\/([\d\.]+)/i
|
|
19346
|
+
// Google Chromecast, unknown
|
|
19347
|
+
],
|
|
19348
|
+
[VERSION, [NAME, CHROMECAST]],
|
|
19349
|
+
[
|
|
19350
|
+
// Mobile OSes
|
|
19351
|
+
/droid ([\w\.]+)\b.+(android[- ]x86)/i
|
|
19352
|
+
// Android-x86
|
|
19353
|
+
],
|
|
19354
|
+
[VERSION, NAME],
|
|
19355
|
+
[
|
|
19356
|
+
/(ubuntu) ([\w\.]+) like android/i
|
|
19357
|
+
// Ubuntu Touch
|
|
19358
|
+
],
|
|
19359
|
+
[[NAME, /(.+)/, "$1 Touch"], VERSION],
|
|
19360
|
+
[
|
|
19361
|
+
/(harmonyos)[\/ ]?([\d\.]*)/i,
|
|
19362
|
+
// HarmonyOS
|
|
19363
|
+
// Android/Blackberry/WebOS/QNX/Bada/RIM/KaiOS/Maemo/MeeGo/S40/Sailfish OS/OpenHarmony/Tizen
|
|
19364
|
+
/(android|bada|blackberry|kaios|maemo|meego|openharmony|qnx|rim tablet os|sailfish|series40|symbian|tizen)\w*[-\/\.; ]?([\d\.]*)/i
|
|
19365
|
+
],
|
|
19366
|
+
[NAME, VERSION],
|
|
19367
|
+
[
|
|
19368
|
+
/\(bb(10);/i
|
|
19369
|
+
// BlackBerry 10
|
|
19370
|
+
],
|
|
19371
|
+
[VERSION, [NAME, BLACKBERRY]],
|
|
19372
|
+
[
|
|
19373
|
+
/(?:symbian ?os|symbos|s60(?=;)|series ?60)[-\/ ]?([\w\.]*)/i
|
|
19374
|
+
// Symbian
|
|
19375
|
+
],
|
|
19376
|
+
[VERSION, [NAME, "Symbian"]],
|
|
19377
|
+
[
|
|
19378
|
+
/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i
|
|
19379
|
+
// Firefox OS
|
|
19380
|
+
],
|
|
19381
|
+
[VERSION, [NAME, FIREFOX + " OS"]],
|
|
19382
|
+
[
|
|
19383
|
+
/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i,
|
|
19384
|
+
// WebOS
|
|
19385
|
+
/webos(?:[ \/]?|\.tv-20(?=2[2-9]))(\d[\d\.]*)/i
|
|
19386
|
+
],
|
|
19387
|
+
[VERSION, [NAME, "webOS"]],
|
|
19388
|
+
[
|
|
19389
|
+
/web0s;.+?(?:chr[o0]me|safari)\/(\d+)/i
|
|
19390
|
+
// https://webostv.developer.lge.com/develop/specifications/web-api-and-web-engine
|
|
19391
|
+
],
|
|
19392
|
+
[[VERSION, strMapper, { "25": "120", "24": "108", "23": "94", "22": "87", "6": "79", "5": "68", "4": "53", "3": "38", "2": "538", "1": "537", "*": "TV" }], [NAME, "webOS"]],
|
|
19393
|
+
[
|
|
19394
|
+
/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i
|
|
19395
|
+
// watchOS
|
|
19396
|
+
],
|
|
19397
|
+
[VERSION, [NAME, "watchOS"]],
|
|
19398
|
+
[
|
|
19399
|
+
// Google ChromeOS
|
|
19400
|
+
/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i
|
|
19401
|
+
// Chromium OS
|
|
19402
|
+
],
|
|
19403
|
+
[[NAME, "Chrome OS"], VERSION],
|
|
19404
|
+
[
|
|
19405
|
+
// Smart TVs
|
|
19406
|
+
/panasonic;(viera)/i,
|
|
19407
|
+
// Panasonic Viera
|
|
19408
|
+
/(netrange)mmh/i,
|
|
19409
|
+
// Netrange
|
|
19410
|
+
/(nettv)\/(\d+\.[\w\.]+)/i,
|
|
19411
|
+
// NetTV
|
|
19412
|
+
// Console
|
|
19413
|
+
/(nintendo|playstation) (\w+)/i,
|
|
19414
|
+
// Nintendo/Playstation
|
|
19415
|
+
/(xbox); +xbox ([^\);]+)/i,
|
|
19416
|
+
// Microsoft Xbox (360, One, X, S, Series X, Series S)
|
|
19417
|
+
/(pico) .+os([\w\.]+)/i,
|
|
19418
|
+
// Pico
|
|
19419
|
+
// Other
|
|
19420
|
+
/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,
|
|
19421
|
+
// Joli/Palm
|
|
19422
|
+
/linux.+(mint)[\/\(\) ]?([\w\.]*)/i,
|
|
19423
|
+
// Mint
|
|
19424
|
+
/(mageia|vectorlinux|fuchsia|arcaos|arch(?= ?linux))[;l ]([\d\.]*)/i,
|
|
19425
|
+
// Mageia/VectorLinux/Fuchsia/ArcaOS/Arch
|
|
19426
|
+
/([kxln]?ubuntu|debian|suse|opensuse|gentoo|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire|knoppix)(?: gnu[\/ ]linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,
|
|
19427
|
+
// Ubuntu/Debian/SUSE/Gentoo/Slackware/Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk/Linpus/Raspbian/Plan9/Minix/RISCOS/Contiki/Deepin/Manjaro/elementary/Sabayon/Linspire/Knoppix
|
|
19428
|
+
/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,
|
|
19429
|
+
// Solaris
|
|
19430
|
+
/\b(aix)[; ]([1-9\.]{0,4})/i,
|
|
19431
|
+
// AIX
|
|
19432
|
+
/(hurd|linux|morphos)(?: (?:arm|x86|ppc)\w*| ?)([\w\.]*)/i,
|
|
19433
|
+
// Hurd/Linux/MorphOS
|
|
19434
|
+
/(gnu) ?([\w\.]*)/i,
|
|
19435
|
+
// GNU
|
|
19436
|
+
/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,
|
|
19437
|
+
// FreeBSD/NetBSD/OpenBSD/PC-BSD/GhostBSD/DragonFly
|
|
19438
|
+
/(haiku) ?(r\d)?/i
|
|
19439
|
+
// Haiku
|
|
19440
|
+
],
|
|
19441
|
+
[NAME, VERSION],
|
|
19442
|
+
[
|
|
19443
|
+
/(sunos) ?([\d\.]*)/i
|
|
19444
|
+
// Solaris
|
|
19445
|
+
],
|
|
19446
|
+
[[NAME, "Solaris"], VERSION],
|
|
19447
|
+
[
|
|
19448
|
+
/\b(beos|os\/2|amigaos|openvms|hp-ux|serenityos)/i,
|
|
19449
|
+
// BeOS/OS2/AmigaOS/OpenVMS/HP-UX/SerenityOS
|
|
19450
|
+
/(unix) ?([\w\.]*)/i
|
|
19451
|
+
// UNIX
|
|
19452
|
+
],
|
|
19453
|
+
[NAME, VERSION]
|
|
19454
|
+
]
|
|
19455
|
+
};
|
|
19456
|
+
var defaultProps = function() {
|
|
19457
|
+
var props = { init: {}, isIgnore: {}, isIgnoreRgx: {}, toString: {} };
|
|
19458
|
+
setProps.call(props.init, [
|
|
19459
|
+
[BROWSER, [NAME, VERSION, MAJOR, TYPE]],
|
|
19460
|
+
[CPU, [ARCHITECTURE]],
|
|
19461
|
+
[DEVICE, [TYPE, MODEL, VENDOR]],
|
|
19462
|
+
[ENGINE, [NAME, VERSION]],
|
|
19463
|
+
[OS, [NAME, VERSION]]
|
|
19464
|
+
]);
|
|
19465
|
+
setProps.call(props.isIgnore, [
|
|
19466
|
+
[BROWSER, [VERSION, MAJOR]],
|
|
19467
|
+
[ENGINE, [VERSION]],
|
|
19468
|
+
[OS, [VERSION]]
|
|
19469
|
+
]);
|
|
19470
|
+
setProps.call(props.isIgnoreRgx, [
|
|
19471
|
+
[BROWSER, / ?browser$/i],
|
|
19472
|
+
[OS, / ?os$/i]
|
|
19473
|
+
]);
|
|
19474
|
+
setProps.call(props.toString, [
|
|
19475
|
+
[BROWSER, [NAME, VERSION]],
|
|
19476
|
+
[CPU, [ARCHITECTURE]],
|
|
19477
|
+
[DEVICE, [VENDOR, MODEL]],
|
|
19478
|
+
[ENGINE, [NAME, VERSION]],
|
|
19479
|
+
[OS, [NAME, VERSION]]
|
|
19480
|
+
]);
|
|
19481
|
+
return props;
|
|
19482
|
+
}();
|
|
19483
|
+
var createIData = function(item, itemType) {
|
|
19484
|
+
var init_props = defaultProps.init[itemType], is_ignoreProps = defaultProps.isIgnore[itemType] || 0, is_ignoreRgx = defaultProps.isIgnoreRgx[itemType] || 0, toString_props = defaultProps.toString[itemType] || 0;
|
|
19485
|
+
function IData() {
|
|
19486
|
+
setProps.call(this, init_props);
|
|
19487
|
+
}
|
|
19488
|
+
IData.prototype.getItem = function() {
|
|
19489
|
+
return item;
|
|
19490
|
+
};
|
|
19491
|
+
IData.prototype.withClientHints = function() {
|
|
19492
|
+
if (!NAVIGATOR_UADATA) {
|
|
19493
|
+
return item.parseCH().get();
|
|
19494
|
+
}
|
|
19495
|
+
return NAVIGATOR_UADATA.getHighEntropyValues(CH_ALL_VALUES).then(function(res) {
|
|
19496
|
+
return item.setCH(new UACHData(res, false)).parseCH().get();
|
|
19497
|
+
});
|
|
19498
|
+
};
|
|
19499
|
+
IData.prototype.withFeatureCheck = function() {
|
|
19500
|
+
return item.detectFeature().get();
|
|
19501
|
+
};
|
|
19502
|
+
if (itemType != RESULT) {
|
|
19503
|
+
IData.prototype.is = function(strToCheck) {
|
|
19504
|
+
var is2 = false;
|
|
19505
|
+
for (var i in this) {
|
|
19506
|
+
if (this.hasOwnProperty(i) && !has(is_ignoreProps, i) && lowerize(is_ignoreRgx ? strip(is_ignoreRgx, this[i]) : this[i]) == lowerize(is_ignoreRgx ? strip(is_ignoreRgx, strToCheck) : strToCheck)) {
|
|
19507
|
+
is2 = true;
|
|
19508
|
+
if (strToCheck != TYPEOF.UNDEFINED)
|
|
19509
|
+
break;
|
|
19510
|
+
} else if (strToCheck == TYPEOF.UNDEFINED && is2) {
|
|
19511
|
+
is2 = !is2;
|
|
19512
|
+
break;
|
|
19513
|
+
}
|
|
19514
|
+
}
|
|
19515
|
+
return is2;
|
|
19516
|
+
};
|
|
19517
|
+
IData.prototype.toString = function() {
|
|
19518
|
+
var str = EMPTY;
|
|
19519
|
+
for (var i in toString_props) {
|
|
19520
|
+
if (typeof this[toString_props[i]] !== TYPEOF.UNDEFINED) {
|
|
19521
|
+
str += (str ? " " : EMPTY) + this[toString_props[i]];
|
|
19522
|
+
}
|
|
19523
|
+
}
|
|
19524
|
+
return str || TYPEOF.UNDEFINED;
|
|
19525
|
+
};
|
|
19526
|
+
}
|
|
19527
|
+
if (!NAVIGATOR_UADATA) {
|
|
19528
|
+
IData.prototype.then = function(cb) {
|
|
19529
|
+
var that = this;
|
|
19530
|
+
var IDataResolve = function() {
|
|
19531
|
+
for (var prop in that) {
|
|
19532
|
+
if (that.hasOwnProperty(prop)) {
|
|
19533
|
+
this[prop] = that[prop];
|
|
19534
|
+
}
|
|
19535
|
+
}
|
|
19536
|
+
};
|
|
19537
|
+
IDataResolve.prototype = {
|
|
19538
|
+
is: IData.prototype.is,
|
|
19539
|
+
toString: IData.prototype.toString
|
|
19540
|
+
};
|
|
19541
|
+
var resolveData = new IDataResolve();
|
|
19542
|
+
cb(resolveData);
|
|
19543
|
+
return resolveData;
|
|
19544
|
+
};
|
|
19545
|
+
}
|
|
19546
|
+
return new IData();
|
|
19547
|
+
};
|
|
19548
|
+
function UACHData(uach, isHttpUACH) {
|
|
19549
|
+
uach = uach || {};
|
|
19550
|
+
setProps.call(this, CH_ALL_VALUES);
|
|
19551
|
+
if (isHttpUACH) {
|
|
19552
|
+
setProps.call(this, [
|
|
19553
|
+
[BRANDS, itemListToArray(uach[CH])],
|
|
19554
|
+
[FULLVERLIST, itemListToArray(uach[CH_FULL_VER_LIST])],
|
|
19555
|
+
[MOBILE, /\?1/.test(uach[CH_MOBILE])],
|
|
19556
|
+
[MODEL, stripQuotes(uach[CH_MODEL])],
|
|
19557
|
+
[PLATFORM, stripQuotes(uach[CH_PLATFORM])],
|
|
19558
|
+
[PLATFORMVER, stripQuotes(uach[CH_PLATFORM_VER])],
|
|
19559
|
+
[ARCHITECTURE, stripQuotes(uach[CH_ARCH])],
|
|
19560
|
+
[FORMFACTORS, itemListToArray(uach[CH_FORM_FACTORS])],
|
|
19561
|
+
[BITNESS, stripQuotes(uach[CH_BITNESS])]
|
|
19562
|
+
]);
|
|
19563
|
+
} else {
|
|
19564
|
+
for (var prop in uach) {
|
|
19565
|
+
if (this.hasOwnProperty(prop) && typeof uach[prop] !== TYPEOF.UNDEFINED)
|
|
19566
|
+
this[prop] = uach[prop];
|
|
19567
|
+
}
|
|
19568
|
+
}
|
|
19569
|
+
}
|
|
19570
|
+
function UAItem(itemType, ua, rgxMap, uaCH) {
|
|
19571
|
+
this.get = function(prop) {
|
|
19572
|
+
if (!prop)
|
|
19573
|
+
return this.data;
|
|
19574
|
+
return this.data.hasOwnProperty(prop) ? this.data[prop] : void 0;
|
|
19575
|
+
};
|
|
19576
|
+
this.set = function(prop, val) {
|
|
19577
|
+
this.data[prop] = val;
|
|
19578
|
+
return this;
|
|
19579
|
+
};
|
|
19580
|
+
this.setCH = function(ch) {
|
|
19581
|
+
this.uaCH = ch;
|
|
19582
|
+
return this;
|
|
19583
|
+
};
|
|
19584
|
+
this.detectFeature = function() {
|
|
19585
|
+
if (NAVIGATOR && NAVIGATOR.userAgent == this.ua) {
|
|
19586
|
+
switch (this.itemType) {
|
|
19587
|
+
case BROWSER:
|
|
19588
|
+
if (NAVIGATOR.brave && typeof NAVIGATOR.brave.isBrave == TYPEOF.FUNCTION) {
|
|
19589
|
+
this.set(NAME, "Brave");
|
|
19590
|
+
}
|
|
19591
|
+
break;
|
|
19592
|
+
case DEVICE:
|
|
19593
|
+
if (!this.get(TYPE) && NAVIGATOR_UADATA && NAVIGATOR_UADATA[MOBILE]) {
|
|
19594
|
+
this.set(TYPE, MOBILE);
|
|
19595
|
+
}
|
|
19596
|
+
if (this.get(MODEL) == "Macintosh" && NAVIGATOR && typeof NAVIGATOR.standalone !== TYPEOF.UNDEFINED && NAVIGATOR.maxTouchPoints && NAVIGATOR.maxTouchPoints > 2) {
|
|
19597
|
+
this.set(MODEL, "iPad").set(TYPE, TABLET);
|
|
19598
|
+
}
|
|
19599
|
+
break;
|
|
19600
|
+
case OS:
|
|
19601
|
+
if (!this.get(NAME) && NAVIGATOR_UADATA && NAVIGATOR_UADATA[PLATFORM]) {
|
|
19602
|
+
this.set(NAME, NAVIGATOR_UADATA[PLATFORM]);
|
|
19603
|
+
}
|
|
19604
|
+
break;
|
|
19605
|
+
case RESULT:
|
|
19606
|
+
var data3 = this.data;
|
|
19607
|
+
var detect = function(itemType2) {
|
|
19608
|
+
return data3[itemType2].getItem().detectFeature().get();
|
|
19609
|
+
};
|
|
19610
|
+
this.set(BROWSER, detect(BROWSER)).set(CPU, detect(CPU)).set(DEVICE, detect(DEVICE)).set(ENGINE, detect(ENGINE)).set(OS, detect(OS));
|
|
19611
|
+
}
|
|
19612
|
+
}
|
|
19613
|
+
return this;
|
|
19614
|
+
};
|
|
19615
|
+
this.parseUA = function() {
|
|
19616
|
+
if (this.itemType != RESULT) {
|
|
19617
|
+
rgxMapper.call(this.data, this.ua, this.rgxMap);
|
|
19618
|
+
}
|
|
19619
|
+
switch (this.itemType) {
|
|
19620
|
+
case BROWSER:
|
|
19621
|
+
this.set(MAJOR, majorize(this.get(VERSION)));
|
|
19622
|
+
break;
|
|
19623
|
+
case OS:
|
|
19624
|
+
if (this.get(NAME) == "iOS" && this.get(VERSION) == "18.6") {
|
|
19625
|
+
var realVersion = /\) Version\/([\d\.]+)/.exec(this.ua);
|
|
19626
|
+
if (realVersion && parseInt(realVersion[1].substring(0, 2), 10) >= 26) {
|
|
19627
|
+
this.set(VERSION, realVersion[1]);
|
|
19628
|
+
}
|
|
19629
|
+
}
|
|
19630
|
+
break;
|
|
19631
|
+
}
|
|
19632
|
+
return this;
|
|
19633
|
+
};
|
|
19634
|
+
this.parseCH = function() {
|
|
19635
|
+
var uaCH2 = this.uaCH, rgxMap2 = this.rgxMap;
|
|
19636
|
+
switch (this.itemType) {
|
|
19637
|
+
case BROWSER:
|
|
19638
|
+
case ENGINE:
|
|
19639
|
+
var brands = uaCH2[FULLVERLIST] || uaCH2[BRANDS], prevName;
|
|
19640
|
+
if (brands) {
|
|
19641
|
+
for (var i = 0; i < brands.length; i++) {
|
|
19642
|
+
var brandName = brands[i].brand || brands[i], brandVersion = brands[i].version;
|
|
19643
|
+
if (this.itemType == BROWSER && !/not.a.brand/i.test(brandName) && (!prevName || /Chrom/.test(prevName) && brandName != CHROMIUM || prevName == EDGE && /WebView2/.test(brandName))) {
|
|
19644
|
+
brandName = strMapper(brandName, browserHintsMap);
|
|
19645
|
+
prevName = this.get(NAME);
|
|
19646
|
+
if (!(prevName && !/Chrom/.test(prevName) && /Chrom/.test(brandName))) {
|
|
19647
|
+
this.set(NAME, brandName).set(VERSION, brandVersion).set(MAJOR, majorize(brandVersion));
|
|
19648
|
+
}
|
|
19649
|
+
prevName = brandName;
|
|
19650
|
+
}
|
|
19651
|
+
if (this.itemType == ENGINE && brandName == CHROMIUM) {
|
|
19652
|
+
this.set(VERSION, brandVersion);
|
|
19653
|
+
}
|
|
19654
|
+
}
|
|
19655
|
+
}
|
|
19656
|
+
break;
|
|
19657
|
+
case CPU:
|
|
19658
|
+
var archName = uaCH2[ARCHITECTURE];
|
|
19659
|
+
if (archName) {
|
|
19660
|
+
if (archName && uaCH2[BITNESS] == "64")
|
|
19661
|
+
archName += "64";
|
|
19662
|
+
rgxMapper.call(this.data, archName + ";", rgxMap2);
|
|
19663
|
+
}
|
|
19664
|
+
break;
|
|
19665
|
+
case DEVICE:
|
|
19666
|
+
if (uaCH2[MOBILE]) {
|
|
19667
|
+
this.set(TYPE, MOBILE);
|
|
19668
|
+
}
|
|
19669
|
+
if (uaCH2[MODEL]) {
|
|
19670
|
+
this.set(MODEL, uaCH2[MODEL]);
|
|
19671
|
+
if (!this.get(TYPE) || !this.get(VENDOR)) {
|
|
19672
|
+
var reParse = {};
|
|
19673
|
+
rgxMapper.call(reParse, "droid 9; " + uaCH2[MODEL] + ")", rgxMap2);
|
|
19674
|
+
if (!this.get(TYPE) && !!reParse.type) {
|
|
19675
|
+
this.set(TYPE, reParse.type);
|
|
19676
|
+
}
|
|
19677
|
+
if (!this.get(VENDOR) && !!reParse.vendor) {
|
|
19678
|
+
this.set(VENDOR, reParse.vendor);
|
|
19679
|
+
}
|
|
19680
|
+
}
|
|
19681
|
+
}
|
|
19682
|
+
if (uaCH2[FORMFACTORS]) {
|
|
19683
|
+
var ff;
|
|
19684
|
+
if (typeof uaCH2[FORMFACTORS] !== "string") {
|
|
19685
|
+
var idx = 0;
|
|
19686
|
+
while (!ff && idx < uaCH2[FORMFACTORS].length) {
|
|
19687
|
+
ff = strMapper(uaCH2[FORMFACTORS][idx++], formFactorsMap);
|
|
19688
|
+
}
|
|
19689
|
+
} else {
|
|
19690
|
+
ff = strMapper(uaCH2[FORMFACTORS], formFactorsMap);
|
|
19691
|
+
}
|
|
19692
|
+
this.set(TYPE, ff);
|
|
19693
|
+
}
|
|
19694
|
+
break;
|
|
19695
|
+
case OS:
|
|
19696
|
+
var osName = uaCH2[PLATFORM];
|
|
19697
|
+
if (osName) {
|
|
19698
|
+
var osVersion = uaCH2[PLATFORMVER];
|
|
19699
|
+
if (osName == WINDOWS)
|
|
19700
|
+
osVersion = parseInt(majorize(osVersion), 10) >= 13 ? "11" : "10";
|
|
19701
|
+
this.set(NAME, osName).set(VERSION, osVersion);
|
|
19702
|
+
}
|
|
19703
|
+
if (this.get(NAME) == WINDOWS && uaCH2[MODEL] == "Xbox") {
|
|
19704
|
+
this.set(NAME, "Xbox").set(VERSION, void 0);
|
|
19705
|
+
}
|
|
19706
|
+
break;
|
|
19707
|
+
case RESULT:
|
|
19708
|
+
var data3 = this.data;
|
|
19709
|
+
var parse2 = function(itemType2) {
|
|
19710
|
+
return data3[itemType2].getItem().setCH(uaCH2).parseCH().get();
|
|
19711
|
+
};
|
|
19712
|
+
this.set(BROWSER, parse2(BROWSER)).set(CPU, parse2(CPU)).set(DEVICE, parse2(DEVICE)).set(ENGINE, parse2(ENGINE)).set(OS, parse2(OS));
|
|
19713
|
+
}
|
|
19714
|
+
return this;
|
|
19715
|
+
};
|
|
19716
|
+
setProps.call(this, [
|
|
19717
|
+
["itemType", itemType],
|
|
19718
|
+
["ua", ua],
|
|
19719
|
+
["uaCH", uaCH],
|
|
19720
|
+
["rgxMap", rgxMap],
|
|
19721
|
+
["data", createIData(this, itemType)]
|
|
19722
|
+
]);
|
|
19723
|
+
return this;
|
|
19724
|
+
}
|
|
19725
|
+
function UAParser(ua, extensions, headers) {
|
|
19726
|
+
if (typeof ua === TYPEOF.OBJECT) {
|
|
19727
|
+
if (isExtensions(ua, true)) {
|
|
19728
|
+
if (typeof extensions === TYPEOF.OBJECT) {
|
|
19729
|
+
headers = extensions;
|
|
19730
|
+
}
|
|
19731
|
+
extensions = ua;
|
|
19732
|
+
} else {
|
|
19733
|
+
headers = ua;
|
|
19734
|
+
extensions = void 0;
|
|
19735
|
+
}
|
|
19736
|
+
ua = void 0;
|
|
19737
|
+
} else if (typeof ua === TYPEOF.STRING && !isExtensions(extensions, true)) {
|
|
19738
|
+
headers = extensions;
|
|
19739
|
+
extensions = void 0;
|
|
19740
|
+
}
|
|
19741
|
+
if (headers) {
|
|
19742
|
+
if (typeof headers.append === TYPEOF.FUNCTION) {
|
|
19743
|
+
var kv = {};
|
|
19744
|
+
headers.forEach(function(v, k2) {
|
|
19745
|
+
kv[String(k2).toLowerCase()] = v;
|
|
19746
|
+
});
|
|
19747
|
+
headers = kv;
|
|
19748
|
+
} else {
|
|
19749
|
+
var normalized = {};
|
|
19750
|
+
for (var header in headers) {
|
|
19751
|
+
if (headers.hasOwnProperty(header)) {
|
|
19752
|
+
normalized[String(header).toLowerCase()] = headers[header];
|
|
19753
|
+
}
|
|
19754
|
+
}
|
|
19755
|
+
headers = normalized;
|
|
19756
|
+
}
|
|
19757
|
+
}
|
|
19758
|
+
if (!(this instanceof UAParser)) {
|
|
19759
|
+
return new UAParser(ua, extensions, headers).getResult();
|
|
19760
|
+
}
|
|
19761
|
+
var userAgent = typeof ua === TYPEOF.STRING ? ua : (
|
|
19762
|
+
// Passed user-agent string
|
|
19763
|
+
headers && headers[USER_AGENT] ? headers[USER_AGENT] : (
|
|
19764
|
+
// User-Agent from passed headers
|
|
19765
|
+
NAVIGATOR && NAVIGATOR.userAgent ? NAVIGATOR.userAgent : (
|
|
19766
|
+
// navigator.userAgent
|
|
19767
|
+
EMPTY
|
|
19768
|
+
)
|
|
19769
|
+
)
|
|
19770
|
+
), httpUACH = new UACHData(headers, true), regexMap = extensions ? extend(defaultRegexes, extensions) : defaultRegexes, createItemFunc = function(itemType) {
|
|
19771
|
+
if (itemType == RESULT) {
|
|
19772
|
+
return function() {
|
|
19773
|
+
return new UAItem(itemType, userAgent, regexMap, httpUACH).set("ua", userAgent).set(BROWSER, this.getBrowser()).set(CPU, this.getCPU()).set(DEVICE, this.getDevice()).set(ENGINE, this.getEngine()).set(OS, this.getOS()).get();
|
|
19774
|
+
};
|
|
19775
|
+
} else {
|
|
19776
|
+
return function() {
|
|
19777
|
+
return new UAItem(itemType, userAgent, regexMap[itemType], httpUACH).parseUA().get();
|
|
19778
|
+
};
|
|
19779
|
+
}
|
|
19780
|
+
};
|
|
19781
|
+
setProps.call(this, [
|
|
19782
|
+
["getBrowser", createItemFunc(BROWSER)],
|
|
19783
|
+
["getCPU", createItemFunc(CPU)],
|
|
19784
|
+
["getDevice", createItemFunc(DEVICE)],
|
|
19785
|
+
["getEngine", createItemFunc(ENGINE)],
|
|
19786
|
+
["getOS", createItemFunc(OS)],
|
|
19787
|
+
["getResult", createItemFunc(RESULT)],
|
|
19788
|
+
["getUA", function() {
|
|
19789
|
+
return userAgent;
|
|
19790
|
+
}],
|
|
19791
|
+
["setUA", function(ua2) {
|
|
19792
|
+
if (isString(ua2))
|
|
19793
|
+
userAgent = trim(ua2, UA_MAX_LENGTH);
|
|
19794
|
+
return this;
|
|
19795
|
+
}]
|
|
19796
|
+
]).setUA(userAgent);
|
|
19797
|
+
return this;
|
|
19798
|
+
}
|
|
19799
|
+
UAParser.VERSION = LIBVERSION;
|
|
19800
|
+
UAParser.BROWSER = enumerize([NAME, VERSION, MAJOR, TYPE]);
|
|
19801
|
+
UAParser.CPU = enumerize([ARCHITECTURE]);
|
|
19802
|
+
UAParser.DEVICE = enumerize([MODEL, VENDOR, TYPE, CONSOLE, MOBILE, SMARTTV, TABLET, WEARABLE, EMBEDDED]);
|
|
19803
|
+
UAParser.ENGINE = UAParser.OS = enumerize([NAME, VERSION]);
|
|
19804
|
+
|
|
19211
19805
|
// ../hms-video-store/dist/index.js
|
|
19212
|
-
var import_ua_parser_js = __toESM(require_ua_parser());
|
|
19213
19806
|
var import_uuid3 = require("uuid");
|
|
19214
19807
|
var import_uuid4 = require("uuid");
|
|
19215
19808
|
var import_lodash3 = __toESM(require_lodash2());
|
|
@@ -19451,7 +20044,7 @@ function shimGetUserMedia(window2, browserDetails) {
|
|
|
19451
20044
|
if (typeof c2 !== "object" || c2.mandatory || c2.optional) {
|
|
19452
20045
|
return c2;
|
|
19453
20046
|
}
|
|
19454
|
-
const
|
|
20047
|
+
const cc2 = {};
|
|
19455
20048
|
Object.keys(c2).forEach((key) => {
|
|
19456
20049
|
if (key === "require" || key === "advanced" || key === "mediaSource") {
|
|
19457
20050
|
return;
|
|
@@ -19467,35 +20060,35 @@ function shimGetUserMedia(window2, browserDetails) {
|
|
|
19467
20060
|
return name === "deviceId" ? "sourceId" : name;
|
|
19468
20061
|
};
|
|
19469
20062
|
if (r.ideal !== void 0) {
|
|
19470
|
-
|
|
19471
|
-
let
|
|
20063
|
+
cc2.optional = cc2.optional || [];
|
|
20064
|
+
let oc2 = {};
|
|
19472
20065
|
if (typeof r.ideal === "number") {
|
|
19473
|
-
|
|
19474
|
-
|
|
19475
|
-
|
|
19476
|
-
|
|
19477
|
-
|
|
20066
|
+
oc2[oldname_("min", key)] = r.ideal;
|
|
20067
|
+
cc2.optional.push(oc2);
|
|
20068
|
+
oc2 = {};
|
|
20069
|
+
oc2[oldname_("max", key)] = r.ideal;
|
|
20070
|
+
cc2.optional.push(oc2);
|
|
19478
20071
|
} else {
|
|
19479
|
-
|
|
19480
|
-
|
|
20072
|
+
oc2[oldname_("", key)] = r.ideal;
|
|
20073
|
+
cc2.optional.push(oc2);
|
|
19481
20074
|
}
|
|
19482
20075
|
}
|
|
19483
20076
|
if (r.exact !== void 0 && typeof r.exact !== "number") {
|
|
19484
|
-
|
|
19485
|
-
|
|
20077
|
+
cc2.mandatory = cc2.mandatory || {};
|
|
20078
|
+
cc2.mandatory[oldname_("", key)] = r.exact;
|
|
19486
20079
|
} else {
|
|
19487
20080
|
["min", "max"].forEach((mix) => {
|
|
19488
20081
|
if (r[mix] !== void 0) {
|
|
19489
|
-
|
|
19490
|
-
|
|
20082
|
+
cc2.mandatory = cc2.mandatory || {};
|
|
20083
|
+
cc2.mandatory[oldname_(mix, key)] = r[mix];
|
|
19491
20084
|
}
|
|
19492
20085
|
});
|
|
19493
20086
|
}
|
|
19494
20087
|
});
|
|
19495
20088
|
if (c2.advanced) {
|
|
19496
|
-
|
|
20089
|
+
cc2.optional = (cc2.optional || []).concat(c2.advanced);
|
|
19497
20090
|
}
|
|
19498
|
-
return
|
|
20091
|
+
return cc2;
|
|
19499
20092
|
};
|
|
19500
20093
|
const shimConstraints_ = function(constraints, func) {
|
|
19501
20094
|
if (browserDetails.version >= 61) {
|
|
@@ -21038,15 +21631,15 @@ function shimSendThrowTypeError(window2) {
|
|
|
21038
21631
|
if (!(window2.RTCPeerConnection && "createDataChannel" in window2.RTCPeerConnection.prototype)) {
|
|
21039
21632
|
return;
|
|
21040
21633
|
}
|
|
21041
|
-
function wrapDcSend(
|
|
21042
|
-
const origDataChannelSend =
|
|
21043
|
-
|
|
21634
|
+
function wrapDcSend(dc2, pc) {
|
|
21635
|
+
const origDataChannelSend = dc2.send;
|
|
21636
|
+
dc2.send = function send() {
|
|
21044
21637
|
const data3 = arguments[0];
|
|
21045
21638
|
const length = data3.length || data3.size || data3.byteLength;
|
|
21046
|
-
if (
|
|
21639
|
+
if (dc2.readyState === "open" && pc.sctp && length > pc.sctp.maxMessageSize) {
|
|
21047
21640
|
throw new TypeError("Message too large (can send a maximum of " + pc.sctp.maxMessageSize + " bytes)");
|
|
21048
21641
|
}
|
|
21049
|
-
return origDataChannelSend.apply(
|
|
21642
|
+
return origDataChannelSend.apply(dc2, arguments);
|
|
21050
21643
|
};
|
|
21051
21644
|
}
|
|
21052
21645
|
const origCreateDataChannel = window2.RTCPeerConnection.prototype.createDataChannel;
|
|
@@ -21316,36 +21909,36 @@ var import_eventemitter2 = require("eventemitter2");
|
|
|
21316
21909
|
var import_eventemitter22 = require("eventemitter2");
|
|
21317
21910
|
var import_uuid8 = require("uuid");
|
|
21318
21911
|
var import_eventemitter23 = require("eventemitter2");
|
|
21319
|
-
var
|
|
21912
|
+
var Zt = __toESM(require_lib());
|
|
21320
21913
|
var import_eventemitter24 = __toESM(require("eventemitter2"));
|
|
21321
21914
|
var import_uuid9 = require("uuid");
|
|
21322
21915
|
var import_uuid10 = require("uuid");
|
|
21323
|
-
var
|
|
21324
|
-
var
|
|
21325
|
-
var
|
|
21326
|
-
var
|
|
21327
|
-
var
|
|
21328
|
-
var
|
|
21329
|
-
var
|
|
21916
|
+
var go = Object.defineProperty;
|
|
21917
|
+
var To = Object.defineProperties;
|
|
21918
|
+
var fo = Object.getOwnPropertyDescriptors;
|
|
21919
|
+
var ni = Object.getOwnPropertySymbols;
|
|
21920
|
+
var vs = Object.prototype.hasOwnProperty;
|
|
21921
|
+
var Ms = Object.prototype.propertyIsEnumerable;
|
|
21922
|
+
var fs = (a2, e, t) => e in a2 ? go(a2, e, { enumerable: true, configurable: true, writable: true, value: t }) : a2[e] = t;
|
|
21330
21923
|
var m = (a2, e) => {
|
|
21331
21924
|
for (var t in e || (e = {}))
|
|
21332
|
-
|
|
21333
|
-
if (
|
|
21334
|
-
for (var t of
|
|
21335
|
-
|
|
21925
|
+
vs.call(e, t) && fs(a2, t, e[t]);
|
|
21926
|
+
if (ni)
|
|
21927
|
+
for (var t of ni(e))
|
|
21928
|
+
Ms.call(e, t) && fs(a2, t, e[t]);
|
|
21336
21929
|
return a2;
|
|
21337
21930
|
};
|
|
21338
|
-
var M = (a2, e) =>
|
|
21339
|
-
var
|
|
21931
|
+
var M = (a2, e) => To(a2, fo(e));
|
|
21932
|
+
var Er = (a2, e) => {
|
|
21340
21933
|
var t = {};
|
|
21341
21934
|
for (var i in a2)
|
|
21342
|
-
|
|
21343
|
-
if (a2 != null &&
|
|
21344
|
-
for (var i of
|
|
21345
|
-
e.indexOf(i) < 0 &&
|
|
21935
|
+
vs.call(a2, i) && e.indexOf(i) < 0 && (t[i] = a2[i]);
|
|
21936
|
+
if (a2 != null && ni)
|
|
21937
|
+
for (var i of ni(a2))
|
|
21938
|
+
e.indexOf(i) < 0 && Ms.call(a2, i) && (t[i] = a2[i]);
|
|
21346
21939
|
return t;
|
|
21347
21940
|
};
|
|
21348
|
-
var
|
|
21941
|
+
var yo = (a2, e) => () => (e || a2((e = { exports: {} }).exports, e), e.exports);
|
|
21349
21942
|
var c = (a2, e, t) => new Promise((i, r) => {
|
|
21350
21943
|
var s = (d) => {
|
|
21351
21944
|
try {
|
|
@@ -21362,51 +21955,51 @@ var c = (a2, e, t) => new Promise((i, r) => {
|
|
|
21362
21955
|
}, n = (d) => d.done ? i(d.value) : Promise.resolve(d.value).then(s, o);
|
|
21363
21956
|
n((t = t.apply(a2, e)).next());
|
|
21364
21957
|
});
|
|
21365
|
-
var
|
|
21366
|
-
|
|
21958
|
+
var Cr = yo((id, Co) => {
|
|
21959
|
+
Co.exports = { version: "0.12.40-alpha.0", license: "MIT", repository: { type: "git", url: "https://github.com/100mslive/web-sdks.git", directory: "packages/hms-video-store" }, main: "dist/index.cjs.js", module: "dist/index.js", typings: "dist/index.d.ts", files: ["dist", "src"], engines: { node: ">=12" }, exports: { ".": { require: "./dist/index.cjs.js", import: "./dist/index.js", default: "./dist/index.js" } }, sideEffects: false, scripts: { prestart: "rm -rf dist && yarn types:build", start: 'concurrently "yarn dev" "yarn types"', dev: "node ../../scripts/dev", "build:only": "node ../../scripts/build", build: "yarn build:only && yarn types:build", types: "tsc -w", "types:build": "tsc -p tsconfig.json", format: "prettier --write src/**/*.ts", test: "jest --maxWorkers=1", "test:watch": "jest --watch", "test:coverage": "jest --coverage", lint: "eslint -c ../../.eslintrc .", "lint:fix": "yarn lint --fix", prepare: "yarn build", size: "size-limit", analyze: "size-limit --why", docs: "rm -rf ./docs && typedoc && rm -f ./docs/README.md && mkdir ./docs/home &&mv ./docs/modules.md ./docs/home/content.md && node ../../scripts/docs-store && npx prettier --write './docs/**/*'" }, name: "@100mslive/hms-video-store", author: "100ms", dependencies: { eventemitter2: "^6.4.9", immer: "^9.0.6", "lodash.isequal": "^4.5.0", reselect: "4.0.0", "sdp-transform": "^2.14.1", "ua-parser-js": "^2.0.6", uuid: "^8.3.2", "webrtc-adapter": "^8.0.0", zustand: "3.5.7" }, devDependencies: { "@types/dom-screen-wake-lock": "^1.0.1", "@types/lodash.isequal": "^4.5.8", "@types/sdp-transform": "^2.4.4", "@types/ua-parser-js": "^0.7.39", "@types/uuid": "^8.3.0", "jest-canvas-mock": "^2.3.1", "jsdom-worker": "^0.3.0", tslib: "^2.2.0" }, description: "@100mslive Core SDK which abstracts the complexities of webRTC while providing a reactive store for data management with a unidirectional data flow", keywords: ["video", "webrtc", "conferencing", "100ms"] };
|
|
21367
21960
|
});
|
|
21368
|
-
var
|
|
21369
|
-
var
|
|
21370
|
-
var
|
|
21371
|
-
var
|
|
21372
|
-
var
|
|
21373
|
-
function
|
|
21961
|
+
var Pr = ((n) => (n.Disconnected = "Disconnected", n.Preview = "Preview", n.Connecting = "Connecting", n.Connected = "Connected", n.Reconnecting = "Reconnecting", n.Disconnecting = "Disconnecting", n.Failed = "Failed", n))(Pr || {});
|
|
21962
|
+
var ko = ((e) => (e.CHAT = "chat", e))(ko || {});
|
|
21963
|
+
var ys = ((t) => (t.INFO = "info", t.ERROR = "error", t))(ys || {});
|
|
21964
|
+
var br = ((w) => (w.PEER_JOINED = "PEER_JOINED", w.PEER_LEFT = "PEER_LEFT", w.PEER_LIST = "PEER_LIST", w.NEW_MESSAGE = "NEW_MESSAGE", w.ERROR = "ERROR", w.RECONNECTING = "RECONNECTING", w.RECONNECTED = "RECONNECTED", w.TRACK_ADDED = "TRACK_ADDED", w.TRACK_REMOVED = "TRACK_REMOVED", w.TRACK_MUTED = "TRACK_MUTED", w.TRACK_UNMUTED = "TRACK_UNMUTED", w.TRACK_DEGRADED = "TRACK_DEGRADED", w.TRACK_RESTORED = "TRACK_RESTORED", w.TRACK_DESCRIPTION_CHANGED = "TRACK_DESCRIPTION_CHANGED", w.ROLE_UPDATED = "ROLE_UPDATED", w.CHANGE_TRACK_STATE_REQUEST = "CHANGE_TRACK_STATE_REQUEST", w.CHANGE_MULTI_TRACK_STATE_REQUEST = "CHANGE_MULTI_TRACK_STATE_REQUEST", w.ROOM_ENDED = "ROOM_ENDED", w.REMOVED_FROM_ROOM = "REMOVED_FROM_ROOM", w.DEVICE_CHANGE_UPDATE = "DEVICE_CHANGE_UPDATE", w.PLAYLIST_TRACK_ENDED = "PLAYLIST_TRACK_ENDED", w.NAME_UPDATED = "NAME_UPDATED", w.METADATA_UPDATED = "METADATA_UPDATED", w.POLL_CREATED = "POLL_CREATED", w.POLL_STARTED = "POLL_STARTED", w.POLL_STOPPED = "POLL_STOPPED", w.POLL_VOTES_UPDATED = "POLL_VOTES_UPDATED", w.POLLS_LIST = "POLLS_LIST", w.HAND_RAISE_CHANGED = "HAND_RAISE_CHANGED", w.TRANSCRIPTION_STATE_UPDATED = "TRANSCRIPTION_STATE_UPDATED", w))(br || {});
|
|
21965
|
+
var ks = ((t) => (t.audio = "audio", t.video = "video", t))(ks || {});
|
|
21966
|
+
function Ge(a2, e) {
|
|
21374
21967
|
let t, i;
|
|
21375
21968
|
if (e)
|
|
21376
21969
|
for (let r of e.auxiliaryTracks) {
|
|
21377
21970
|
let s = a2[r];
|
|
21378
|
-
|
|
21971
|
+
Eo(s) && (i = Tt(s) ? s : i, t = ft(s) ? s : t);
|
|
21379
21972
|
}
|
|
21380
21973
|
return { video: t, audio: i };
|
|
21381
21974
|
}
|
|
21382
|
-
function
|
|
21975
|
+
function Tt(a2) {
|
|
21383
21976
|
return a2 && a2.type === "audio";
|
|
21384
21977
|
}
|
|
21385
|
-
function
|
|
21978
|
+
function ft(a2) {
|
|
21386
21979
|
return a2 && a2.type === "video";
|
|
21387
21980
|
}
|
|
21388
|
-
function
|
|
21981
|
+
function Eo(a2) {
|
|
21389
21982
|
return a2 && a2.source === "screen";
|
|
21390
21983
|
}
|
|
21391
|
-
function
|
|
21984
|
+
function li(a2) {
|
|
21392
21985
|
return a2 && a2.source === "audioplaylist";
|
|
21393
21986
|
}
|
|
21394
|
-
function
|
|
21987
|
+
function vt(a2) {
|
|
21395
21988
|
return a2 && a2.source === "videoplaylist";
|
|
21396
21989
|
}
|
|
21397
|
-
function
|
|
21990
|
+
function Es(a2) {
|
|
21398
21991
|
return a2 ? !!(a2 != null && a2.degraded) : false;
|
|
21399
21992
|
}
|
|
21400
|
-
function
|
|
21993
|
+
function Ye(a2, e) {
|
|
21401
21994
|
return e && a2.tracks[e] ? a2.tracks[e].enabled : false;
|
|
21402
21995
|
}
|
|
21403
|
-
function
|
|
21996
|
+
function Mt(a2) {
|
|
21404
21997
|
var r;
|
|
21405
21998
|
let e = false, t = false, i = false;
|
|
21406
21999
|
return (r = a2 == null ? void 0 : a2.publishParams) != null && r.allowed && (e = a2.publishParams.allowed.includes("video"), t = a2.publishParams.allowed.includes("audio"), i = a2.publishParams.allowed.includes("screen")), { video: e, audio: t, screen: i };
|
|
21407
22000
|
}
|
|
21408
|
-
var
|
|
21409
|
-
var
|
|
22001
|
+
var bs = ((d) => (d[d.VERBOSE = 0] = "VERBOSE", d[d.DEBUG = 1] = "DEBUG", d[d.INFO = 2] = "INFO", d[d.WARN = 3] = "WARN", d[d.TIME = 4] = "TIME", d[d.TIMEEND = 5] = "TIMEEND", d[d.ERROR = 6] = "ERROR", d[d.NONE = 7] = "NONE", d))(bs || {});
|
|
22002
|
+
var Po = typeof window != "undefined" && typeof window.expect != "undefined";
|
|
21410
22003
|
var l = class {
|
|
21411
22004
|
static v(e, ...t) {
|
|
21412
22005
|
this.log(0, e, ...t);
|
|
@@ -21472,28 +22065,46 @@ var l = class {
|
|
|
21472
22065
|
}
|
|
21473
22066
|
}
|
|
21474
22067
|
};
|
|
21475
|
-
l.level =
|
|
21476
|
-
var
|
|
21477
|
-
var
|
|
21478
|
-
var
|
|
21479
|
-
var
|
|
21480
|
-
|
|
21481
|
-
|
|
21482
|
-
|
|
21483
|
-
|
|
21484
|
-
|
|
22068
|
+
l.level = Po ? 7 : 0;
|
|
22069
|
+
var Ar = new UAParser();
|
|
22070
|
+
var yt = null;
|
|
22071
|
+
var Ir = null;
|
|
22072
|
+
var x = typeof window != "undefined";
|
|
22073
|
+
if (x)
|
|
22074
|
+
try {
|
|
22075
|
+
let a2 = Ar.getResult(), e = a2.withClientHints();
|
|
22076
|
+
e && typeof e.then == "function" ? (Ir = e, Ir.then((t) => {
|
|
22077
|
+
yt = t;
|
|
22078
|
+
}).catch(() => {
|
|
22079
|
+
yt = a2;
|
|
22080
|
+
})) : (l.d("UAParser", "Client Hints not supported, using standard UA parsing"), yt = e);
|
|
22081
|
+
} catch (a2) {
|
|
22082
|
+
yt = Ar.getResult();
|
|
22083
|
+
}
|
|
22084
|
+
var De = () => yt || Ar.getResult();
|
|
22085
|
+
var he = { getBrowser: () => De().browser, getOS: () => De().os, getDevice: () => De().device, getCPU: () => De().cpu, getEngine: () => De().engine, getUA: () => De().ua, getResult: De, withClientHints: () => Ir || Promise.resolve(De()) };
|
|
21485
22086
|
var As;
|
|
22087
|
+
var We = typeof window == "undefined" && !((As = he.getBrowser().name) != null && As.toLowerCase().includes("electron"));
|
|
22088
|
+
var Ao = () => !We;
|
|
22089
|
+
var bc = Ao();
|
|
21486
22090
|
var Is;
|
|
21487
|
-
var
|
|
21488
|
-
var
|
|
21489
|
-
|
|
21490
|
-
|
|
22091
|
+
var Rs;
|
|
22092
|
+
var Ns = (Rs = (Is = he.getBrowser()) == null ? void 0 : Is.name) == null ? void 0 : Rs.toLowerCase().includes("safari");
|
|
22093
|
+
var Hs;
|
|
22094
|
+
var Cs;
|
|
22095
|
+
var Os = ((Cs = (Hs = he.getBrowser()) == null ? void 0 : Hs.name) == null ? void 0 : Cs.toLowerCase()) === "firefox";
|
|
22096
|
+
var Ls;
|
|
22097
|
+
var Ds;
|
|
22098
|
+
var xs = ((Ds = (Ls = he.getEngine()) == null ? void 0 : Ls.name) == null ? void 0 : Ds.toLowerCase()) === "blink";
|
|
22099
|
+
var Us = ((i) => (i.CUSTOM = "CUSTOM", i.LOCAL = "LOCAL", i.HMS = "HMS", i))(Us || {});
|
|
22100
|
+
function Io() {
|
|
22101
|
+
if (x && window) {
|
|
21491
22102
|
let a2 = window.location.hostname;
|
|
21492
22103
|
return a2 === "localhost" || a2 === "127.0.0.1" ? "LOCAL" : a2.includes("app.100ms.live") ? "HMS" : "CUSTOM";
|
|
21493
22104
|
}
|
|
21494
22105
|
return "CUSTOM";
|
|
21495
22106
|
}
|
|
21496
|
-
var
|
|
22107
|
+
var Ze = Io();
|
|
21497
22108
|
var k = { WebSocketConnectionErrors: { FAILED_TO_CONNECT: 1e3, WEBSOCKET_CONNECTION_LOST: 1003, ABNORMAL_CLOSE: 1006 }, APIErrors: { SERVER_ERRORS: 2e3, INIT_CONFIG_NOT_AVAILABLE: 2002, ENDPOINT_UNREACHABLE: 2003, INVALID_TOKEN_FORMAT: 2004 }, TracksErrors: { GENERIC_TRACK: 3e3, CANT_ACCESS_CAPTURE_DEVICE: 3001, DEVICE_NOT_AVAILABLE: 3002, DEVICE_IN_USE: 3003, DEVICE_LOST_MIDWAY: 3004, NOTHING_TO_RETURN: 3005, INVALID_VIDEO_SETTINGS: 3006, CODEC_CHANGE_NOT_PERMITTED: 3007, AUTOPLAY_ERROR: 3008, OVER_CONSTRAINED: 3009, NO_AUDIO_DETECTED: 3010, SYSTEM_DENIED_PERMISSION: 3011, CURRENT_TAB_NOT_SHARED: 3012, AUDIO_PLAYBACK_ERROR: 3013, SELECTED_DEVICE_MISSING: 3014, NO_DATA: 3015 }, WebrtcErrors: { CREATE_OFFER_FAILED: 4001, CREATE_ANSWER_FAILED: 4002, SET_LOCAL_DESCRIPTION_FAILED: 4003, SET_REMOTE_DESCRIPTION_FAILED: 4004, ICE_FAILURE: 4005, ICE_DISCONNECTED: 4006, STATS_FAILED: 4007 }, WebsocketMethodErrors: { SERVER_ERRORS: 5e3, ALREADY_JOINED: 5001, CANNOT_JOIN_PREVIEW_IN_PROGRESS: 5002 }, GenericErrors: { NOT_CONNECTED: 6e3, SIGNALLING: 6001, UNKNOWN: 6002, NOT_READY: 6003, JSON_PARSING_FAILED: 6004, TRACK_METADATA_MISSING: 6005, RTC_TRACK_MISSING: 6006, PEER_METADATA_MISSING: 6007, INVALID_ROLE: 6008, PREVIEW_IN_PROGRESS: 6009, MISSING_MEDIADEVICES: 6010, MISSING_RTCPEERCONNECTION: 6011, LOCAL_STORAGE_ACCESS_DENIED: 6012, VALIDATION_FAILED: 6013 }, PlaylistErrors: { NO_ENTRY_TO_PLAY: 8001, NO_ENTRY_IS_PLAYING: 8002 } };
|
|
21498
22109
|
var E = class a extends Error {
|
|
21499
22110
|
constructor(t, i, r, s, o, n = false) {
|
|
@@ -21550,8 +22161,8 @@ var W = class extends E {
|
|
|
21550
22161
|
}`;
|
|
21551
22162
|
}
|
|
21552
22163
|
};
|
|
21553
|
-
var
|
|
21554
|
-
var
|
|
22164
|
+
var Bs = ((r) => (r.AUDIO = "audio", r.VIDEO = "video", r.AUDIO_VIDEO = "audio, video", r.SCREEN = "screen", r))(Bs || {});
|
|
22165
|
+
var Ro = ["join", "offer", "answer", "trickle", "on-error", "JOIN"];
|
|
21555
22166
|
var S = { WebSocketConnectionErrors: { FailedToConnect(a2, e = "") {
|
|
21556
22167
|
return new E(k.WebSocketConnectionErrors.FAILED_TO_CONNECT, "WebsocketFailedToConnect", a2, `[WS]: ${e}`, `[WS]: ${e}`);
|
|
21557
22168
|
}, WebSocketConnectionLost(a2, e = "") {
|
|
@@ -21613,7 +22224,7 @@ var S = { WebSocketConnectionErrors: { FailedToConnect(a2, e = "") {
|
|
|
21613
22224
|
}, StatsFailed(a2, e = "") {
|
|
21614
22225
|
return new E(k.WebrtcErrors.STATS_FAILED, "StatsFailed", a2, `Failed to WebRTC get stats - ${e}`, e);
|
|
21615
22226
|
} }, WebsocketMethodErrors: { ServerErrors(a2, e, t) {
|
|
21616
|
-
return new E(a2, "ServerErrors", e, t, t,
|
|
22227
|
+
return new E(a2, "ServerErrors", e, t, t, Ro.includes(e));
|
|
21617
22228
|
}, AlreadyJoined(a2, e = "") {
|
|
21618
22229
|
return new E(k.WebsocketMethodErrors.ALREADY_JOINED, "AlreadyJoined", a2, "[JOIN]: You have already joined this room.", e);
|
|
21619
22230
|
}, CannotJoinPreviewInProgress(a2, e = "") {
|
|
@@ -21661,7 +22272,7 @@ var S = { WebSocketConnectionErrors: { FailedToConnect(a2, e = "") {
|
|
|
21661
22272
|
}, NoEntryPlaying(a2, e) {
|
|
21662
22273
|
return new E(k.PlaylistErrors.NO_ENTRY_IS_PLAYING, "NoEntryIsPlaying", a2, "No entry is playing at this time", e);
|
|
21663
22274
|
} } };
|
|
21664
|
-
var
|
|
22275
|
+
var Hr = class {
|
|
21665
22276
|
constructor() {
|
|
21666
22277
|
this.valuesMap = /* @__PURE__ */ new Map();
|
|
21667
22278
|
}
|
|
@@ -21686,9 +22297,9 @@ var Ar = class {
|
|
|
21686
22297
|
return this.valuesMap.size;
|
|
21687
22298
|
}
|
|
21688
22299
|
};
|
|
21689
|
-
var
|
|
22300
|
+
var Vs = () => {
|
|
21690
22301
|
try {
|
|
21691
|
-
|
|
22302
|
+
x && !localStorage && (window.localStorage = new Hr());
|
|
21692
22303
|
} catch (a2) {
|
|
21693
22304
|
l.e("Error initialising localStorage", S.GenericErrors.LocalStorageAccessDenied());
|
|
21694
22305
|
}
|
|
@@ -21700,7 +22311,7 @@ var ve = class {
|
|
|
21700
22311
|
}
|
|
21701
22312
|
getStorage() {
|
|
21702
22313
|
try {
|
|
21703
|
-
return
|
|
22314
|
+
return x && !this.storage && (Vs(), this.storage = window.localStorage), this.storage;
|
|
21704
22315
|
} catch (e) {
|
|
21705
22316
|
return l.e("Error initialising localStorage", S.GenericErrors.LocalStorageAccessDenied()), null;
|
|
21706
22317
|
}
|
|
@@ -21720,32 +22331,32 @@ var ve = class {
|
|
|
21720
22331
|
(e = this.getStorage()) == null || e.removeItem(this.key);
|
|
21721
22332
|
}
|
|
21722
22333
|
};
|
|
21723
|
-
var
|
|
22334
|
+
var ui = () => {
|
|
21724
22335
|
let a2, e = new ve("hms-analytics-deviceId"), t = e.get();
|
|
21725
22336
|
return t ? a2 = t : (a2 = (0, import_uuid4.v4)(), e.set(a2)), a2;
|
|
21726
22337
|
};
|
|
21727
|
-
function
|
|
22338
|
+
function me(a2) {
|
|
21728
22339
|
return a2 != null;
|
|
21729
22340
|
}
|
|
21730
|
-
var
|
|
21731
|
-
function
|
|
21732
|
-
let t = "web", i =
|
|
21733
|
-
if (
|
|
21734
|
-
return
|
|
21735
|
-
let r =
|
|
21736
|
-
return s.type && (p = `${
|
|
22341
|
+
var Ws = Cr().version;
|
|
22342
|
+
function bt(a2 = "prod", e) {
|
|
22343
|
+
let t = "web", i = Ze !== "LOCAL" && a2 === "prod" ? "prod" : "debug";
|
|
22344
|
+
if (We)
|
|
22345
|
+
return $s({ os: "web_nodejs", os_version: process.version, sdk: t, sdk_version: Ws, env: i, domain: Ze, is_prebuilt: !!(e != null && e.isPrebuilt), framework: "node", framework_version: process.version, framework_sdk_version: e == null ? void 0 : e.sdkVersion });
|
|
22346
|
+
let r = he.getOS(), s = he.getDevice(), o = he.getBrowser(), n = Lr(`web_${r.name}`), d = r.version || "", u = Lr(`${o.name}_${o.version}`), p = u;
|
|
22347
|
+
return s.type && (p = `${Lr(`${s.vendor}_${s.type}`)}/${u}`), $s({ os: n, os_version: d, sdk: t, sdk_version: Ws, device_model: p, env: i, domain: Ze, is_prebuilt: !!(e != null && e.isPrebuilt), framework: e == null ? void 0 : e.type, framework_version: e == null ? void 0 : e.version, framework_sdk_version: e == null ? void 0 : e.sdkVersion });
|
|
21737
22348
|
}
|
|
21738
|
-
function
|
|
22349
|
+
function Lr(a2) {
|
|
21739
22350
|
return a2.replace(/ /g, "_");
|
|
21740
22351
|
}
|
|
21741
|
-
var
|
|
22352
|
+
var $s = (a2, e = ",") => Object.keys(a2).filter((t) => me(a2[t])).map((t) => `${t}:${a2[t]}`).join(e);
|
|
21742
22353
|
var C = class {
|
|
21743
22354
|
constructor({ name: e, level: t, properties: i, includesPII: r, timestamp: s }) {
|
|
21744
|
-
this.metadata = { peer: {}, userAgent:
|
|
21745
|
-
this.name = e, this.level = t, this.includesPII = r || false, this.properties = i || {}, this.timestamp = s || (/* @__PURE__ */ new Date()).getTime(), this.event_id = (0, import_uuid3.v4)(), this.device_id =
|
|
22355
|
+
this.metadata = { peer: {}, userAgent: bt() };
|
|
22356
|
+
this.name = e, this.level = t, this.includesPII = r || false, this.properties = i || {}, this.timestamp = s || (/* @__PURE__ */ new Date()).getTime(), this.event_id = (0, import_uuid3.v4)(), this.device_id = ui();
|
|
21746
22357
|
}
|
|
21747
22358
|
toSignalParams() {
|
|
21748
|
-
return { name: this.name, info: M(m({}, this.properties), { timestamp: this.timestamp, domain:
|
|
22359
|
+
return { name: this.name, info: M(m({}, this.properties), { timestamp: this.timestamp, domain: Ze }), timestamp: (/* @__PURE__ */ new Date()).getTime() };
|
|
21749
22360
|
}
|
|
21750
22361
|
};
|
|
21751
22362
|
var y = class {
|
|
@@ -21758,12 +22369,12 @@ var y = class {
|
|
|
21758
22369
|
return new C({ name: i, level: r, properties: s });
|
|
21759
22370
|
}
|
|
21760
22371
|
static preview(i) {
|
|
21761
|
-
var r = i, { error: e } = r, t =
|
|
22372
|
+
var r = i, { error: e } = r, t = Er(r, ["error"]);
|
|
21762
22373
|
let s = this.eventNameFor("preview", e === void 0), o = e ? 2 : 1, n = this.getPropertiesWithError(t, e);
|
|
21763
22374
|
return new C({ name: s, level: o, properties: n });
|
|
21764
22375
|
}
|
|
21765
22376
|
static join(i) {
|
|
21766
|
-
var r = i, { error: e } = r, t =
|
|
22377
|
+
var r = i, { error: e } = r, t = Er(r, ["error"]);
|
|
21767
22378
|
let s = this.eventNameFor("join", e === void 0), o = e ? 2 : 1, n = this.getPropertiesWithError(M(m({}, t), { is_preview_called: !!t.is_preview_called }), e);
|
|
21768
22379
|
return new C({ name: s, level: o, properties: n });
|
|
21769
22380
|
}
|
|
@@ -21854,14 +22465,24 @@ var y = class {
|
|
|
21854
22465
|
}
|
|
21855
22466
|
};
|
|
21856
22467
|
y.KEY_REQUESTED_AT = "requested_at", y.KEY_RESPONDED_AT = "responded_at";
|
|
21857
|
-
var
|
|
22468
|
+
var Dr = class {
|
|
21858
22469
|
constructor() {
|
|
21859
22470
|
this.storage = new ve("hms-device-selection");
|
|
21860
22471
|
this.remember = false;
|
|
21861
22472
|
this.TAG = "[HMSDeviceStorage]";
|
|
21862
22473
|
}
|
|
21863
22474
|
setDevices(e) {
|
|
21864
|
-
|
|
22475
|
+
var r;
|
|
22476
|
+
if (this.devices = e, !this.remember)
|
|
22477
|
+
return;
|
|
22478
|
+
let t = this.storage.get();
|
|
22479
|
+
if (!t)
|
|
22480
|
+
return;
|
|
22481
|
+
let i = ["audioInput", "videoInput", "audioOutput"];
|
|
22482
|
+
for (let s of i) {
|
|
22483
|
+
let o = t[s];
|
|
22484
|
+
o && ((r = e[s]) != null && r.some((d) => this.isSame(o, d)) || (l.w(this.TAG, `Removing ${s} device from storage as it's no longer available: ${o.deviceId}`), this.removeSelection(s)));
|
|
22485
|
+
}
|
|
21865
22486
|
}
|
|
21866
22487
|
rememberDevices(e) {
|
|
21867
22488
|
this.remember = e;
|
|
@@ -21877,6 +22498,10 @@ var Hr = class {
|
|
|
21877
22498
|
let s = this.storage.get() || {};
|
|
21878
22499
|
s[e] = r, this.storage.set(s);
|
|
21879
22500
|
}
|
|
22501
|
+
removeSelection(e) {
|
|
22502
|
+
let t = this.storage.get() || {};
|
|
22503
|
+
t[e] && (delete t[e], this.storage.set(t));
|
|
22504
|
+
}
|
|
21880
22505
|
getSelection() {
|
|
21881
22506
|
if (this.remember)
|
|
21882
22507
|
return this.storage.get();
|
|
@@ -21888,19 +22513,19 @@ var Hr = class {
|
|
|
21888
22513
|
return e.deviceId === t.deviceId && (e.groupId === t.groupId || !e.groupId);
|
|
21889
22514
|
}
|
|
21890
22515
|
};
|
|
21891
|
-
var X = new
|
|
21892
|
-
var
|
|
21893
|
-
var
|
|
21894
|
-
var
|
|
21895
|
-
var
|
|
21896
|
-
var
|
|
21897
|
-
var
|
|
21898
|
-
var
|
|
21899
|
-
var
|
|
21900
|
-
var
|
|
21901
|
-
var
|
|
21902
|
-
var
|
|
21903
|
-
function
|
|
22516
|
+
var X = new Dr();
|
|
22517
|
+
var wr = ((t) => (t.TRANSFORM = "TRANSFORM", t.ANALYZE = "ANALYZE", t))(wr || {});
|
|
22518
|
+
var _r = ((t) => (t.PLATFORM_NOT_SUPPORTED = "PLATFORM_NOT_SUPPORTED", t.DEVICE_NOT_SUPPORTED = "DEVICE_NOT_SUPPORTED", t))(_r || {});
|
|
22519
|
+
var Nr = ((t) => (t.SIP = "sip", t.REGULAR = "regular", t))(Nr || {});
|
|
22520
|
+
var qs = ((n) => (n.NONE = "none", n.INITIALISED = "initialised", n.STARTED = "started", n.PAUSED = "paused", n.RESUMED = "resumed", n.STOPPED = "stopped", n.FAILED = "failed", n))(qs || {});
|
|
22521
|
+
var js = ((t) => (t.DVR = "dvr", t.NO_DVR = "no-dvr", t))(js || {});
|
|
22522
|
+
var Js = ((i) => (i.REGULAR = "regular", i.SCREEN = "screen", i.COMPOSITE = "composite", i))(Js || {});
|
|
22523
|
+
var Qs = ((r) => (r.INITIALISED = "initialised", r.STARTED = "started", r.STOPPED = "stopped", r.FAILED = "failed", r))(Qs || {});
|
|
22524
|
+
var zs = ((e) => (e.CAPTION = "caption", e))(zs || {});
|
|
22525
|
+
var Or = ((t) => (t.VOICE = "voice", t.MUSIC = "music", t))(Or || {});
|
|
22526
|
+
var Ys = ((i) => (i.videoInput = "videoInput", i.audioInput = "audioInput", i.audioOutput = "audioOutput", i))(Ys || {});
|
|
22527
|
+
var xr = ((r) => (r.SPEAKERPHONE = "SPEAKERPHONE", r.WIRED = "WIRED", r.BLUETOOTH = "BLUETOOTH", r.EARPIECE = "EARPIECE", r))(xr || {});
|
|
22528
|
+
function Ti(a2, e = 300) {
|
|
21904
22529
|
let t;
|
|
21905
22530
|
return function(...i) {
|
|
21906
22531
|
clearTimeout(t), t = void 0;
|
|
@@ -21910,7 +22535,7 @@ function gi(a2, e = 300) {
|
|
|
21910
22535
|
}, e);
|
|
21911
22536
|
};
|
|
21912
22537
|
}
|
|
21913
|
-
var
|
|
22538
|
+
var Wr = class {
|
|
21914
22539
|
constructor() {
|
|
21915
22540
|
this.TAG = "[HMSIntersectionObserverWrapper]";
|
|
21916
22541
|
this.listeners = /* @__PURE__ */ new WeakMap();
|
|
@@ -21933,12 +22558,12 @@ var Vr = class {
|
|
|
21933
22558
|
this.createObserver();
|
|
21934
22559
|
}
|
|
21935
22560
|
isSupported() {
|
|
21936
|
-
let e =
|
|
22561
|
+
let e = x && typeof window.IntersectionObserver != "undefined";
|
|
21937
22562
|
return e || l.w(this.TAG, "IntersectionObserver is not supported, fallback will be used instead"), e;
|
|
21938
22563
|
}
|
|
21939
22564
|
};
|
|
21940
|
-
var
|
|
21941
|
-
var
|
|
22565
|
+
var ra = new Wr();
|
|
22566
|
+
var $r = class {
|
|
21942
22567
|
constructor() {
|
|
21943
22568
|
this.TAG = "[HMSResizeObserverWrapper]";
|
|
21944
22569
|
this.listeners = /* @__PURE__ */ new WeakMap();
|
|
@@ -21951,7 +22576,7 @@ var Fr = class {
|
|
|
21951
22576
|
(t = this.resizeObserver) == null || t.unobserve(e), this.listeners.delete(e);
|
|
21952
22577
|
};
|
|
21953
22578
|
this.createObserver = () => {
|
|
21954
|
-
this.isSupported() && !this.resizeObserver && (this.resizeObserver = new ResizeObserver(
|
|
22579
|
+
this.isSupported() && !this.resizeObserver && (this.resizeObserver = new ResizeObserver(Ti(this.handleResize, 300)));
|
|
21955
22580
|
};
|
|
21956
22581
|
this.handleResize = (e) => {
|
|
21957
22582
|
var t;
|
|
@@ -21961,47 +22586,47 @@ var Fr = class {
|
|
|
21961
22586
|
this.createObserver();
|
|
21962
22587
|
}
|
|
21963
22588
|
isSupported() {
|
|
21964
|
-
let e =
|
|
22589
|
+
let e = x && typeof window.ResizeObserver != "undefined";
|
|
21965
22590
|
return e || l.w(this.TAG, "Resize Observer is not supported"), e;
|
|
21966
22591
|
}
|
|
21967
22592
|
};
|
|
21968
|
-
var
|
|
21969
|
-
var
|
|
21970
|
-
var
|
|
21971
|
-
var
|
|
21972
|
-
var
|
|
21973
|
-
var
|
|
21974
|
-
var
|
|
22593
|
+
var sa = new $r();
|
|
22594
|
+
var Kr = ((t) => (t.TRANSFORM = "TRANSFORM", t.ANALYZE = "ANALYZE", t))(Kr || {});
|
|
22595
|
+
var qr = ((t) => (t["2D"] = "2d", t.WEBGL = "webgl", t.WEBGL2 = "webgl2", t))(qr || {});
|
|
22596
|
+
var na = "https://event.100ms.live/v2/client/report";
|
|
22597
|
+
var ca = "https://event-nonprod.100ms.live/v2/client/report";
|
|
22598
|
+
var Ct = Math.pow(2, 31) - 1;
|
|
22599
|
+
var nt = class {
|
|
21975
22600
|
};
|
|
21976
|
-
|
|
22601
|
+
nt.makePeerId = () => (0, import_uuid7.v4)();
|
|
21977
22602
|
var F = (a2) => a2.room;
|
|
21978
|
-
var
|
|
21979
|
-
var
|
|
21980
|
-
var
|
|
22603
|
+
var Qo = (a2) => a2.errors;
|
|
22604
|
+
var Rm = createSelector(Qo, (a2) => a2.length === 0 ? null : a2.at(-1));
|
|
22605
|
+
var Hm = createSelector(F, (a2) => a2.id);
|
|
21981
22606
|
var z = (a2) => a2.peers;
|
|
21982
|
-
var
|
|
21983
|
-
var
|
|
22607
|
+
var Ii = (a2) => a2.messages.byID;
|
|
22608
|
+
var Ta = (a2) => a2.messages.allIDs;
|
|
21984
22609
|
var N = (a2) => a2.tracks;
|
|
21985
|
-
var
|
|
21986
|
-
var
|
|
21987
|
-
var
|
|
21988
|
-
var
|
|
21989
|
-
var
|
|
21990
|
-
var Ee = createSelector([F, z,
|
|
21991
|
-
var
|
|
22610
|
+
var Zr = (a2) => a2.appData;
|
|
22611
|
+
var zo = (a2) => a2.speakers;
|
|
22612
|
+
var Ve = createSelector([F], (a2) => a2 && a2.isConnected);
|
|
22613
|
+
var Dm = createSelector([Ve, F], (a2, e) => a2 ? e.peerCount !== void 0 ? e.peerCount || 1 : e.peers.length : Math.max(e.peerCount !== void 0 ? e.peerCount : e.peers.length - 1, 0));
|
|
22614
|
+
var Yo = (a2) => a2.hideLocalPeer;
|
|
22615
|
+
var Ee = createSelector([F, z, Yo], (a2, e, t) => t ? a2.peers.filter((i) => a2.localPeer !== i).map((i) => e[i]) : a2.peers.map((i) => e[i]));
|
|
22616
|
+
var Xo = createSelector(N, (a2) => Object.values(a2));
|
|
21992
22617
|
var re = createSelector(F, z, (a2, e) => e[a2.localPeer]);
|
|
21993
22618
|
var Ie = createSelector(F, (a2) => a2.localPeer);
|
|
21994
|
-
var
|
|
21995
|
-
var
|
|
22619
|
+
var wm = createSelector(re, (a2) => a2 == null ? void 0 : a2.name);
|
|
22620
|
+
var _m = createSelector(re, (a2) => a2 == null ? void 0 : a2.roleName);
|
|
21996
22621
|
var le = createSelector(re, (a2) => a2 == null ? void 0 : a2.audioTrack);
|
|
21997
22622
|
var Z = createSelector(re, (a2) => a2 == null ? void 0 : a2.videoTrack);
|
|
21998
|
-
var
|
|
21999
|
-
var
|
|
22623
|
+
var Zo = createSelector(re, (a2) => a2 == null ? void 0 : a2.auxiliaryTracks);
|
|
22624
|
+
var va = createSelector([le, Z, Zo], (a2, e, t) => {
|
|
22000
22625
|
let i = t ? [...t] : [];
|
|
22001
22626
|
return a2 && i.unshift(a2), e && i.unshift(e), i;
|
|
22002
22627
|
});
|
|
22003
|
-
var
|
|
22004
|
-
var
|
|
22628
|
+
var Nm = createSelector(Ee, (a2) => a2.filter((e) => !e.isLocal));
|
|
22629
|
+
var Om = createSelector(z, zo, (a2, e) => {
|
|
22005
22630
|
let t = Object.entries(e).sort((i, r) => {
|
|
22006
22631
|
var n, d;
|
|
22007
22632
|
let s = ((n = i[1]) == null ? void 0 : n.audioLevel) || 0;
|
|
@@ -22014,112 +22639,112 @@ var Rm = createSelector(z, Wo, (a2, e) => {
|
|
|
22014
22639
|
}
|
|
22015
22640
|
return null;
|
|
22016
22641
|
});
|
|
22017
|
-
var
|
|
22018
|
-
let { video: t, audio: i } =
|
|
22642
|
+
var ts = createSelector(re, N, (a2, e) => {
|
|
22643
|
+
let { video: t, audio: i } = Ge(e, a2);
|
|
22019
22644
|
return !!(t || i);
|
|
22020
22645
|
});
|
|
22021
|
-
var
|
|
22646
|
+
var en = createSelector(z, N, (a2, e) => {
|
|
22022
22647
|
let t;
|
|
22023
22648
|
for (let i in a2) {
|
|
22024
|
-
let r = a2[i], { video: s, audio: o } =
|
|
22649
|
+
let r = a2[i], { video: s, audio: o } = Ge(e, r);
|
|
22025
22650
|
if (s)
|
|
22026
22651
|
return r;
|
|
22027
22652
|
o && !t && (t = r);
|
|
22028
22653
|
}
|
|
22029
22654
|
return t;
|
|
22030
22655
|
});
|
|
22031
|
-
var
|
|
22032
|
-
var
|
|
22656
|
+
var Um = createSelector(en, (a2) => !!a2);
|
|
22657
|
+
var Bm = createSelector(z, N, (a2, e) => {
|
|
22033
22658
|
for (let t in a2) {
|
|
22034
|
-
let i = a2[t], { audio: r, video: s } =
|
|
22659
|
+
let i = a2[t], { audio: r, video: s } = Ge(e, i);
|
|
22035
22660
|
if (!s && r)
|
|
22036
22661
|
return i;
|
|
22037
22662
|
}
|
|
22038
22663
|
});
|
|
22039
|
-
var
|
|
22664
|
+
var Vm = createSelector(z, N, (a2, e) => {
|
|
22040
22665
|
let t = [], i = [];
|
|
22041
22666
|
for (let r in a2) {
|
|
22042
|
-
let s = a2[r], { video: o, audio: n } =
|
|
22667
|
+
let s = a2[r], { video: o, audio: n } = Ge(e, s);
|
|
22043
22668
|
o ? t.push(s) : n && i.push(s);
|
|
22044
22669
|
}
|
|
22045
22670
|
return t.concat(i);
|
|
22046
22671
|
});
|
|
22047
|
-
var
|
|
22672
|
+
var Fm = createSelector(z, N, (a2, e) => {
|
|
22048
22673
|
for (let t in e) {
|
|
22049
22674
|
let i = e[t];
|
|
22050
|
-
if (
|
|
22675
|
+
if (vt(i) && ft(i) && i.peerId)
|
|
22051
22676
|
return a2[i.peerId];
|
|
22052
22677
|
}
|
|
22053
22678
|
});
|
|
22054
|
-
var
|
|
22679
|
+
var Gm = createSelector(z, N, (a2, e) => {
|
|
22055
22680
|
for (let t in e) {
|
|
22056
22681
|
let i = e[t];
|
|
22057
|
-
if (
|
|
22682
|
+
if (li(i) && i.peerId)
|
|
22058
22683
|
return a2[i.peerId];
|
|
22059
22684
|
}
|
|
22060
22685
|
});
|
|
22061
|
-
var
|
|
22062
|
-
var
|
|
22063
|
-
var
|
|
22064
|
-
var
|
|
22686
|
+
var Wm = createSelector(Xo, (a2) => a2.filter(Es));
|
|
22687
|
+
var $m = createSelector(Ta, (a2) => a2.length);
|
|
22688
|
+
var Km = createSelector(Ii, (a2) => Object.values(a2).filter((e) => !e.read).length);
|
|
22689
|
+
var _t = createSelector(Ta, Ii, (a2, e) => {
|
|
22065
22690
|
let t = [];
|
|
22066
22691
|
return a2.forEach((i) => {
|
|
22067
22692
|
t.push(e[i]);
|
|
22068
22693
|
}), t;
|
|
22069
22694
|
});
|
|
22070
|
-
var
|
|
22695
|
+
var tn = createSelector(_t, (a2) => a2.filter((e) => {
|
|
22071
22696
|
var t;
|
|
22072
22697
|
return !e.recipientPeer && !(e.recipientRoles && ((t = e.recipientRoles) == null ? void 0 : t.length) > 0);
|
|
22073
22698
|
}));
|
|
22074
|
-
var
|
|
22699
|
+
var qm = createSelector(tn, (a2) => a2.filter((e) => !e.read).length);
|
|
22075
22700
|
var se = createSelector([F], (a2) => a2 && a2.roomState);
|
|
22076
|
-
var
|
|
22077
|
-
var
|
|
22078
|
-
var
|
|
22701
|
+
var ya = createSelector(se, (a2) => a2 === "Preview");
|
|
22702
|
+
var jm = createSelector(F, (a2) => a2.roomState !== "Disconnected");
|
|
22703
|
+
var Jm = createSelector(F, (a2) => !a2.transcriptions || a2.transcriptions.length <= 0 ? false : a2.transcriptions.some((e) => e.mode === "caption" && e.state === "started"));
|
|
22079
22704
|
var Pe = (a2) => a2.roles;
|
|
22080
|
-
var
|
|
22081
|
-
var
|
|
22082
|
-
var
|
|
22705
|
+
var Qm = createSelector([Pe], (a2) => Object.keys(a2));
|
|
22706
|
+
var dt = createSelector([re, Pe], (a2, e) => a2 != null && a2.roleName ? e[a2.roleName] : null);
|
|
22707
|
+
var rn = (a2) => {
|
|
22083
22708
|
var e;
|
|
22084
22709
|
return (e = a2.preview) == null ? void 0 : e.asRole;
|
|
22085
22710
|
};
|
|
22086
|
-
var
|
|
22087
|
-
var
|
|
22711
|
+
var ka = createSelector([rn, Pe], (a2, e) => a2 ? e[a2] : null);
|
|
22712
|
+
var zm = createSelector([dt], (a2) => {
|
|
22088
22713
|
var e;
|
|
22089
22714
|
return (e = a2 == null ? void 0 : a2.subscribeParams) != null && e.subscribeToRoles ? a2.subscribeParams.subscribeToRoles.length > 0 : false;
|
|
22090
22715
|
});
|
|
22091
|
-
var
|
|
22092
|
-
var
|
|
22093
|
-
var
|
|
22094
|
-
var
|
|
22095
|
-
var
|
|
22096
|
-
var
|
|
22097
|
-
var
|
|
22098
|
-
var
|
|
22099
|
-
var
|
|
22100
|
-
var
|
|
22101
|
-
var
|
|
22102
|
-
var
|
|
22103
|
-
var
|
|
22104
|
-
var
|
|
22105
|
-
var
|
|
22106
|
-
var
|
|
22107
|
-
var
|
|
22108
|
-
var
|
|
22109
|
-
var
|
|
22110
|
-
var
|
|
22111
|
-
var
|
|
22112
|
-
var
|
|
22113
|
-
var
|
|
22716
|
+
var Ea = createSelector(dt, (a2) => a2 == null ? void 0 : a2.permissions);
|
|
22717
|
+
var Ym = createSelector(F, (a2) => a2.recording);
|
|
22718
|
+
var Xm = createSelector(F, (a2) => a2.rtmp);
|
|
22719
|
+
var Zm = createSelector(F, (a2) => a2.hls);
|
|
22720
|
+
var eS = createSelector(F, (a2) => a2.transcriptions);
|
|
22721
|
+
var tS = createSelector(F, (a2) => a2.sessionId);
|
|
22722
|
+
var iS = createSelector(F, (a2) => a2.startedAt);
|
|
22723
|
+
var rS = createSelector(F, (a2) => !!a2.isLargeRoom);
|
|
22724
|
+
var sS = createSelector(F, (a2) => !!a2.isEffectsEnabled);
|
|
22725
|
+
var aS = createSelector(F, (a2) => !!a2.isVBEnabled);
|
|
22726
|
+
var oS = createSelector(F, (a2) => a2.effectsKey);
|
|
22727
|
+
var Pa = (a2) => a2.polls;
|
|
22728
|
+
var lS = createSelector(Ee, (a2) => a2.filter((e) => e.isHandRaised));
|
|
22729
|
+
var sn = (a2) => a2.whiteboards;
|
|
22730
|
+
var uS = createSelector(sn, (a2) => Object.values(a2)[0]);
|
|
22731
|
+
var Aa = (a2 = "audio") => (e) => e.playlist[a2].list;
|
|
22732
|
+
var is = (a2 = "audio") => (e) => e.playlist[a2].selection;
|
|
22733
|
+
var Ia = (a2 = "audio") => (e) => e.playlist[a2].progress;
|
|
22734
|
+
var Ra = (a2 = "audio") => (e) => e.playlist[a2].currentTime;
|
|
22735
|
+
var Ha = (a2 = "audio") => (e) => e.playlist[a2].playbackRate;
|
|
22736
|
+
var Ca = (a2 = "audio") => (e) => e.playlist[a2].volume;
|
|
22737
|
+
var La = (a2 = "audio") => createSelector(Aa(a2), (e) => Object.values(e));
|
|
22738
|
+
var Da = (a2 = "audio") => createSelector(Aa(a2), is(a2), (e, t) => {
|
|
22114
22739
|
if (t.id)
|
|
22115
22740
|
return e[t.id];
|
|
22116
22741
|
});
|
|
22117
|
-
var
|
|
22118
|
-
var
|
|
22742
|
+
var wa = { selection: is("audio"), progress: Ia("audio"), currentTime: Ra("audio"), playbackRate: Ha("audio"), volume: Ca("audio"), list: La("audio"), selectedItem: Da("audio") };
|
|
22743
|
+
var _a7 = { selection: is("video"), progress: Ia("video"), currentTime: Ra("video"), playbackRate: Ha("video"), volume: Ca("video"), list: La("video"), selectedItem: Da("video") };
|
|
22119
22744
|
function H(a2) {
|
|
22120
22745
|
return (e) => (t) => a2(t, e);
|
|
22121
22746
|
}
|
|
22122
|
-
var
|
|
22747
|
+
var Nt = "HMS-Store:";
|
|
22123
22748
|
var b = class {
|
|
22124
22749
|
static v(e, ...t) {
|
|
22125
22750
|
this.log(0, e, ...t);
|
|
@@ -22149,23 +22774,23 @@ var b = class {
|
|
|
22149
22774
|
if (!(this.level.valueOf() > e.valueOf()))
|
|
22150
22775
|
switch (e) {
|
|
22151
22776
|
case 0: {
|
|
22152
|
-
console.log(
|
|
22777
|
+
console.log(Nt, ...t);
|
|
22153
22778
|
break;
|
|
22154
22779
|
}
|
|
22155
22780
|
case 1: {
|
|
22156
|
-
console.debug(
|
|
22781
|
+
console.debug(Nt, ...t);
|
|
22157
22782
|
break;
|
|
22158
22783
|
}
|
|
22159
22784
|
case 2: {
|
|
22160
|
-
console.info(
|
|
22785
|
+
console.info(Nt, ...t);
|
|
22161
22786
|
break;
|
|
22162
22787
|
}
|
|
22163
22788
|
case 3: {
|
|
22164
|
-
console.warn(
|
|
22789
|
+
console.warn(Nt, ...t);
|
|
22165
22790
|
break;
|
|
22166
22791
|
}
|
|
22167
22792
|
case 6: {
|
|
22168
|
-
console.error(
|
|
22793
|
+
console.error(Nt, ...t);
|
|
22169
22794
|
break;
|
|
22170
22795
|
}
|
|
22171
22796
|
case 4: {
|
|
@@ -22186,133 +22811,133 @@ var b = class {
|
|
|
22186
22811
|
}
|
|
22187
22812
|
};
|
|
22188
22813
|
b.level = 0;
|
|
22189
|
-
var
|
|
22190
|
-
var
|
|
22191
|
-
var
|
|
22192
|
-
var
|
|
22193
|
-
var
|
|
22194
|
-
var Y = createSelector([z,
|
|
22195
|
-
var
|
|
22196
|
-
var
|
|
22814
|
+
var rs = (a2, e) => e;
|
|
22815
|
+
var Ot = (a2, e) => e;
|
|
22816
|
+
var Na = (a2, e) => e;
|
|
22817
|
+
var an = (a2, e) => e;
|
|
22818
|
+
var on = (a2, e) => e;
|
|
22819
|
+
var Y = createSelector([z, rs], (a2, e) => e ? a2[e] : null);
|
|
22820
|
+
var ss = createSelector([N, Ot], (a2, e) => e ? a2[e] : null);
|
|
22821
|
+
var nn = createSelector([N, Ot], (a2, e) => {
|
|
22197
22822
|
if (!e)
|
|
22198
22823
|
return null;
|
|
22199
22824
|
let t = a2[e];
|
|
22200
22825
|
return (t == null ? void 0 : t.type) === "video" ? t : null;
|
|
22201
22826
|
});
|
|
22202
|
-
var
|
|
22827
|
+
var cn = createSelector([N, Ot], (a2, e) => {
|
|
22203
22828
|
if (!e)
|
|
22204
22829
|
return null;
|
|
22205
22830
|
let t = a2[e];
|
|
22206
22831
|
return (t == null ? void 0 : t.type) === "audio" ? t : null;
|
|
22207
22832
|
});
|
|
22208
|
-
var
|
|
22833
|
+
var dn = createSelector([N, Ot], (a2, e) => {
|
|
22209
22834
|
if (!e)
|
|
22210
22835
|
return null;
|
|
22211
22836
|
let t = a2[e];
|
|
22212
22837
|
return (t == null ? void 0 : t.type) === "audio" && (t == null ? void 0 : t.source) === "screen" ? t : null;
|
|
22213
22838
|
});
|
|
22214
|
-
var
|
|
22839
|
+
var ln = createSelector([N, Ot], (a2, e) => {
|
|
22215
22840
|
if (!e)
|
|
22216
22841
|
return null;
|
|
22217
22842
|
let t = a2[e];
|
|
22218
22843
|
return (t == null ? void 0 : t.type) === "video" && (t == null ? void 0 : t.source) === "screen" ? t : null;
|
|
22219
22844
|
});
|
|
22220
|
-
var
|
|
22845
|
+
var un = createSelector([Pa, on], (a2, e) => e ? a2[e] : null);
|
|
22221
22846
|
var ee = H(Y);
|
|
22222
|
-
var
|
|
22847
|
+
var kS = H(createSelector([Zr, an], (a2, e) => {
|
|
22223
22848
|
if (a2)
|
|
22224
22849
|
return e ? a2[e] : a2;
|
|
22225
22850
|
}));
|
|
22226
|
-
function
|
|
22851
|
+
function ES(a2) {
|
|
22227
22852
|
return (e) => {
|
|
22228
22853
|
if (e.sessionStore)
|
|
22229
22854
|
return a2 ? e.sessionStore[a2] : e.sessionStore;
|
|
22230
22855
|
};
|
|
22231
22856
|
}
|
|
22232
|
-
var
|
|
22233
|
-
var
|
|
22234
|
-
var
|
|
22235
|
-
var
|
|
22236
|
-
var
|
|
22237
|
-
var
|
|
22238
|
-
var
|
|
22239
|
-
var
|
|
22857
|
+
var bS = H(createSelector(Y, (a2) => a2 == null ? void 0 : a2.name));
|
|
22858
|
+
var AS = H(createSelector(Y, (a2) => a2 == null ? void 0 : a2.type));
|
|
22859
|
+
var Ri = H(ss);
|
|
22860
|
+
var Oa = H(nn);
|
|
22861
|
+
var IS = H(cn);
|
|
22862
|
+
var RS = H(dn);
|
|
22863
|
+
var HS = H(ln);
|
|
22864
|
+
var pn = H((a2, e) => {
|
|
22240
22865
|
let t = Y(a2, e);
|
|
22241
22866
|
if (t && t.videoTrack && t.videoTrack !== "")
|
|
22242
22867
|
return a2.tracks[t.videoTrack];
|
|
22243
22868
|
});
|
|
22244
|
-
var
|
|
22869
|
+
var hn = H((a2, e) => {
|
|
22245
22870
|
let t = Y(a2, e);
|
|
22246
22871
|
if (t && t.audioTrack && t.audioTrack !== "")
|
|
22247
22872
|
return a2.tracks[t.audioTrack];
|
|
22248
22873
|
});
|
|
22249
|
-
var
|
|
22874
|
+
var LS = H((a2, e) => {
|
|
22250
22875
|
let t = Y(a2, e);
|
|
22251
22876
|
return (t == null ? void 0 : t.auxiliaryTracks.map((i) => a2.tracks[i])) || [];
|
|
22252
22877
|
});
|
|
22253
|
-
var
|
|
22254
|
-
var
|
|
22255
|
-
var
|
|
22256
|
-
let t =
|
|
22257
|
-
return
|
|
22258
|
-
};
|
|
22259
|
-
var
|
|
22260
|
-
var
|
|
22878
|
+
var xa = (a2, e) => e ? a2.speakers[e] : null;
|
|
22879
|
+
var DS = H(createSelector(xa, (a2) => (a2 == null ? void 0 : a2.audioLevel) || 0));
|
|
22880
|
+
var mn = (a2, e) => {
|
|
22881
|
+
let t = hn(e)(a2);
|
|
22882
|
+
return xa(a2, t == null ? void 0 : t.id);
|
|
22883
|
+
};
|
|
22884
|
+
var wS = H(createSelector(mn, (a2) => (a2 == null ? void 0 : a2.audioLevel) || 0));
|
|
22885
|
+
var _S = H((a2, e) => {
|
|
22261
22886
|
if (e)
|
|
22262
22887
|
return a2.connectionQualities[e];
|
|
22263
22888
|
});
|
|
22264
|
-
var
|
|
22889
|
+
var NS = H((a2, e) => {
|
|
22265
22890
|
let t = Y(a2, e);
|
|
22266
22891
|
if (t) {
|
|
22267
|
-
let i = t == null ? void 0 : t.auxiliaryTracks.find((r) =>
|
|
22892
|
+
let i = t == null ? void 0 : t.auxiliaryTracks.find((r) => Tt(a2.tracks[r]));
|
|
22268
22893
|
return i ? a2.tracks[i] : void 0;
|
|
22269
22894
|
}
|
|
22270
22895
|
});
|
|
22271
|
-
var
|
|
22896
|
+
var OS2 = H(createSelector(N, Y, (a2, e) => {
|
|
22272
22897
|
let t = e == null ? void 0 : e.auxiliaryTracks.find((i) => {
|
|
22273
22898
|
let r = a2[i];
|
|
22274
|
-
return
|
|
22899
|
+
return vt(r) && ft(r);
|
|
22275
22900
|
});
|
|
22276
22901
|
return t ? a2[t] : void 0;
|
|
22277
22902
|
}));
|
|
22278
|
-
var
|
|
22903
|
+
var xS = H(createSelector(N, Y, (a2, e) => {
|
|
22279
22904
|
let t = e == null ? void 0 : e.auxiliaryTracks.find((i) => {
|
|
22280
22905
|
let r = a2[i];
|
|
22281
|
-
return
|
|
22906
|
+
return vt(r) && Tt(r);
|
|
22282
22907
|
});
|
|
22283
22908
|
return t ? a2[t] : void 0;
|
|
22284
22909
|
}));
|
|
22285
|
-
var
|
|
22910
|
+
var US = H(createSelector(N, Y, (a2, e) => {
|
|
22286
22911
|
let t = e == null ? void 0 : e.auxiliaryTracks.find((i) => {
|
|
22287
22912
|
let r = a2[i];
|
|
22288
|
-
return
|
|
22913
|
+
return li(r) && Tt(r);
|
|
22289
22914
|
});
|
|
22290
22915
|
return t ? a2[t] : void 0;
|
|
22291
22916
|
}));
|
|
22292
|
-
var
|
|
22293
|
-
var
|
|
22294
|
-
var
|
|
22917
|
+
var Ua = H(createSelector(N, Y, (a2, e) => Ge(a2, e)));
|
|
22918
|
+
var Ba = (a2) => createSelector(Ua(a2), (e) => e.audio);
|
|
22919
|
+
var VS = H((a2, e) => {
|
|
22295
22920
|
let t = Y(a2, e);
|
|
22296
|
-
return
|
|
22921
|
+
return Ye(a2, t == null ? void 0 : t.audioTrack);
|
|
22297
22922
|
});
|
|
22298
|
-
var
|
|
22923
|
+
var FS = H((a2, e) => {
|
|
22299
22924
|
let t = Y(a2, e);
|
|
22300
|
-
return
|
|
22925
|
+
return Ye(a2, t == null ? void 0 : t.videoTrack);
|
|
22301
22926
|
});
|
|
22302
|
-
var
|
|
22927
|
+
var Va = H((a2, e) => {
|
|
22303
22928
|
if (e && a2.tracks[e])
|
|
22304
22929
|
return a2.tracks[e].volume === 0;
|
|
22305
22930
|
});
|
|
22306
|
-
var
|
|
22931
|
+
var GS = H((a2, e) => {
|
|
22307
22932
|
let t = Y(a2, e);
|
|
22308
|
-
return
|
|
22933
|
+
return Va(t == null ? void 0 : t.audioTrack)(a2);
|
|
22309
22934
|
});
|
|
22310
|
-
var
|
|
22311
|
-
let t =
|
|
22312
|
-
return
|
|
22935
|
+
var WS = H((a2, e) => {
|
|
22936
|
+
let t = Ba(e)(a2);
|
|
22937
|
+
return Va(t == null ? void 0 : t.id)(a2);
|
|
22313
22938
|
});
|
|
22314
|
-
var
|
|
22315
|
-
let t =
|
|
22939
|
+
var Fa = H((a2, e) => {
|
|
22940
|
+
let t = ss(a2, e);
|
|
22316
22941
|
if (t) {
|
|
22317
22942
|
if (t.type !== "audio") {
|
|
22318
22943
|
b.w("Please pass audio track here");
|
|
@@ -22321,16 +22946,16 @@ var _a7 = H((a2, e) => {
|
|
|
22321
22946
|
return t.volume;
|
|
22322
22947
|
}
|
|
22323
22948
|
});
|
|
22324
|
-
var
|
|
22949
|
+
var $S = H((a2, e) => {
|
|
22325
22950
|
let t = Y(a2, e);
|
|
22326
|
-
return
|
|
22951
|
+
return Fa(t == null ? void 0 : t.audioTrack)(a2);
|
|
22327
22952
|
});
|
|
22328
|
-
var
|
|
22329
|
-
let t =
|
|
22330
|
-
return
|
|
22953
|
+
var KS = H((a2, e) => {
|
|
22954
|
+
let t = Ba(e)(a2);
|
|
22955
|
+
return Fa(t == null ? void 0 : t.id)(a2);
|
|
22331
22956
|
});
|
|
22332
|
-
var
|
|
22333
|
-
let t =
|
|
22957
|
+
var qS = H((a2, e) => {
|
|
22958
|
+
let t = ss(a2, e);
|
|
22334
22959
|
if (t) {
|
|
22335
22960
|
if (t.type !== "video") {
|
|
22336
22961
|
b.w("Please pass video track here");
|
|
@@ -22339,50 +22964,50 @@ var US = H((a2, e) => {
|
|
|
22339
22964
|
return t.layer;
|
|
22340
22965
|
}
|
|
22341
22966
|
});
|
|
22342
|
-
var
|
|
22967
|
+
var Ga = createSelector([_t, Ie, rs], (a2, e, t) => {
|
|
22343
22968
|
if (t)
|
|
22344
22969
|
return a2.filter((i) => {
|
|
22345
22970
|
var r;
|
|
22346
22971
|
return !i.recipientPeer && !((r = i.recipientRoles) != null && r.length) || i.sender && ![e, t].includes(i.sender) ? false : [e, t].includes(i.recipientPeer);
|
|
22347
22972
|
});
|
|
22348
22973
|
});
|
|
22349
|
-
var
|
|
22974
|
+
var Wa = createSelector([_t, Na], (a2, e) => {
|
|
22350
22975
|
if (e)
|
|
22351
22976
|
return a2.filter((t) => {
|
|
22352
22977
|
var i, r;
|
|
22353
22978
|
return (i = t.recipientRoles) != null && i.length ? (r = t.recipientRoles) == null ? void 0 : r.includes(e) : false;
|
|
22354
22979
|
});
|
|
22355
22980
|
});
|
|
22356
|
-
var
|
|
22981
|
+
var Sn = createSelector(_t, (a2) => a2.filter((e) => {
|
|
22357
22982
|
var t;
|
|
22358
22983
|
return !e.recipientPeer && !((t = e.recipientRoles) != null && t.length);
|
|
22359
22984
|
}));
|
|
22360
|
-
var
|
|
22361
|
-
var
|
|
22362
|
-
var
|
|
22363
|
-
var
|
|
22364
|
-
var
|
|
22365
|
-
var
|
|
22366
|
-
var
|
|
22367
|
-
var
|
|
22368
|
-
var
|
|
22985
|
+
var gn = createSelector([Wa, Na], (a2) => a2 ? a2.filter((e) => !e.read).length : 0);
|
|
22986
|
+
var Tn = createSelector([Ga, rs], (a2) => a2 ? a2.filter((e) => !e.read).length : 0);
|
|
22987
|
+
var jS = createSelector(Sn, (a2) => a2.filter((e) => !e.read).length);
|
|
22988
|
+
var JS = H(Ga);
|
|
22989
|
+
var QS = H(Wa);
|
|
22990
|
+
var zS = H(gn);
|
|
22991
|
+
var YS = H(Tn);
|
|
22992
|
+
var $a = H(un);
|
|
22993
|
+
var dg = createSelector([z, N], (a2, e) => Object.values(a2).map((i) => {
|
|
22369
22994
|
var r;
|
|
22370
22995
|
return { peer: i, isAudioEnabled: i.audioTrack ? (r = e[i.audioTrack]) == null ? void 0 : r.enabled : false };
|
|
22371
22996
|
}));
|
|
22372
|
-
var
|
|
22373
|
-
var
|
|
22374
|
-
var
|
|
22375
|
-
var
|
|
22376
|
-
var
|
|
22997
|
+
var fn = (a2) => a2.roleChangeRequests[0] || null;
|
|
22998
|
+
var lg = createSelector([fn, z, Pe], (a2, e, t) => a2 ? { requestedBy: a2.requestedBy ? e[a2.requestedBy] : void 0, role: t[a2.roleName], token: a2.token } : null);
|
|
22999
|
+
var ug = createSelector([dt], (a2) => Mt(a2));
|
|
23000
|
+
var pg = createSelector([ka], (a2) => Mt(a2));
|
|
23001
|
+
var Mn = createSelector([Z, N], (a2, e) => {
|
|
22377
23002
|
let t = null;
|
|
22378
23003
|
return a2 && (t = e[a2]), (t == null ? void 0 : t.plugins) || [];
|
|
22379
23004
|
});
|
|
22380
|
-
var
|
|
23005
|
+
var yn = createSelector([le, N], (a2, e) => {
|
|
22381
23006
|
let t = null;
|
|
22382
23007
|
return a2 && (t = e[a2]), (t == null ? void 0 : t.plugins) || [];
|
|
22383
23008
|
});
|
|
22384
|
-
var
|
|
22385
|
-
var
|
|
23009
|
+
var Pn = ((n) => (n[n.STARTING = 0] = "STARTING", n[n.INIT_FETCHED = 1] = "INIT_FETCHED", n[n.SIGNAL_CONNECTED = 2] = "SIGNAL_CONNECTED", n[n.ICE_ESTABLISHED = 3] = "ICE_ESTABLISHED", n[n.MEDIA_CAPTURED = 4] = "MEDIA_CAPTURED", n[n.MEDIA_PUBLISHED = 5] = "MEDIA_PUBLISHED", n[n.COMPLETED = 6] = "COMPLETED", n))(Pn || {});
|
|
23010
|
+
var ds = class {
|
|
22386
23011
|
constructor() {
|
|
22387
23012
|
this.TAG = "[HTTPAnalyticsTransport]";
|
|
22388
23013
|
this.failedEvents = new ve("client-events");
|
|
@@ -22401,7 +23026,7 @@ var os = class {
|
|
|
22401
23026
|
this.addEventToStorage(e);
|
|
22402
23027
|
return;
|
|
22403
23028
|
}
|
|
22404
|
-
let t = { event: e.name, payload: e.properties, event_id: String(e.timestamp), peer: e.metadata.peer, timestamp: e.timestamp, device_id: e.device_id, cluster: { websocket_url: this.websocketURL } }, i = this.env === "prod" ?
|
|
23029
|
+
let t = { event: e.name, payload: e.properties, event_id: String(e.timestamp), peer: e.metadata.peer, timestamp: e.timestamp, device_id: e.device_id, cluster: { websocket_url: this.websocketURL } }, i = this.env === "prod" ? na : ca;
|
|
22405
23030
|
fetch(i, { method: "POST", headers: { "Content-Type": "application/json", Authorization: `Bearer ${e.metadata.token}`, user_agent_v2: e.metadata.userAgent }, body: JSON.stringify(t) }).then((r) => {
|
|
22406
23031
|
if (r.status === 401) {
|
|
22407
23032
|
this.removeFromStorage(e);
|
|
@@ -22427,8 +23052,8 @@ var os = class {
|
|
|
22427
23052
|
i > -1 && (t.splice(i, 1), this.failedEvents.set(t));
|
|
22428
23053
|
}
|
|
22429
23054
|
};
|
|
22430
|
-
var He = new
|
|
22431
|
-
var
|
|
23055
|
+
var He = new ds();
|
|
23056
|
+
var qt = class {
|
|
22432
23057
|
static handleError(e) {
|
|
22433
23058
|
if (e.status === 404)
|
|
22434
23059
|
throw S.APIErrors.EndpointUnreachable("FEEDBACK", e.statusText);
|
|
@@ -22454,67 +23079,67 @@ var $t = class {
|
|
|
22454
23079
|
});
|
|
22455
23080
|
}
|
|
22456
23081
|
};
|
|
22457
|
-
|
|
22458
|
-
var
|
|
23082
|
+
qt.TAG = "[FeedbackService]";
|
|
23083
|
+
var ls = ((f) => (f.FLAG_SERVER_SUB_DEGRADATION = "subscribeDegradation", f.FLAG_SERVER_SIMULCAST = "simulcast", f.FLAG_NON_WEBRTC_DISABLE_OFFER = "nonWebRTCDisableOffer", f.FLAG_PUBLISH_STATS = "publishStats", f.FLAG_SUBSCRIBE_STATS = "subscribeStats", f.FLAG_ON_DEMAND_TRACKS = "onDemandTracks", f.FLAG_DISABLE_VIDEO_TRACK_AUTO_UNSUBSCRIBE = "disableVideoTrackAutoUnsubscribe", f.FLAG_WHITEBOARD_ENABLED = "whiteboardEnabled", f.FLAG_EFFECTS_SDK_ENABLED = "effectsSDKEnabled", f.FLAG_VB_ENABLED = "vb", f.FLAG_HIPAA_ENABLED = "hipaa", f.FLAG_NOISE_CANCELLATION = "noiseCancellation", f.FLAG_SCALE_SCREENSHARE_BASED_ON_PIXELS = "scaleScreenshareBasedOnPixels", f.FLAG_DISABLE_NONE_LAYER_REQUEST = "disableNoneLayerRequest", f))(ls || {});
|
|
22459
23084
|
var j = ((s) => (s[s.ConnectFailed = 0] = "ConnectFailed", s[s.SignalDisconnect = 1] = "SignalDisconnect", s[s.JoinWSMessageFailed = 2] = "JoinWSMessageFailed", s[s.PublishIceConnectionFailed = 3] = "PublishIceConnectionFailed", s[s.SubscribeIceConnectionFailed = 4] = "SubscribeIceConnectionFailed", s))(j || {});
|
|
22460
|
-
var
|
|
22461
|
-
var
|
|
22462
|
-
var
|
|
22463
|
-
var
|
|
22464
|
-
var
|
|
22465
|
-
var
|
|
22466
|
-
var
|
|
22467
|
-
var
|
|
22468
|
-
var
|
|
22469
|
-
var
|
|
22470
|
-
var Le = createSelector([
|
|
22471
|
-
var
|
|
23085
|
+
var ur = ((n) => (n.Disconnected = "Disconnected", n.Connecting = "Connecting", n.Joined = "Joined", n.Preview = "Preview", n.Failed = "Failed", n.Reconnecting = "Reconnecting", n.Leaving = "Leaving", n))(ur || {});
|
|
23086
|
+
var mt = ((t) => (t[t.Publish = 0] = "Publish", t[t.Subscribe = 1] = "Subscribe", t))(mt || {});
|
|
23087
|
+
var Kn = (a2) => a2.localPeer.id;
|
|
23088
|
+
var qn = (a2) => a2.localPeer.audioTrack;
|
|
23089
|
+
var jn = (a2) => a2.localPeer.videoTrack;
|
|
23090
|
+
var Jn = (a2, e) => e;
|
|
23091
|
+
var mo = (a2, e) => e;
|
|
23092
|
+
var Qn = (a2) => a2.remoteTrackStats;
|
|
23093
|
+
var So = (a2) => a2.peerStats;
|
|
23094
|
+
var ms = (a2) => a2.localTrackStats;
|
|
23095
|
+
var Le = createSelector([So, Kn], (a2, e) => a2[e]);
|
|
23096
|
+
var zn = createSelector(Le, (a2) => {
|
|
22472
23097
|
var e;
|
|
22473
23098
|
return (e = a2 == null ? void 0 : a2.subscribe) == null ? void 0 : e.packetsLost;
|
|
22474
23099
|
});
|
|
22475
|
-
var
|
|
23100
|
+
var Yn = createSelector(Le, (a2) => {
|
|
22476
23101
|
var e;
|
|
22477
23102
|
return (e = a2 == null ? void 0 : a2.subscribe) == null ? void 0 : e.jitter;
|
|
22478
23103
|
});
|
|
22479
|
-
var
|
|
23104
|
+
var Xn = createSelector(Le, (a2) => {
|
|
22480
23105
|
var e;
|
|
22481
23106
|
return (e = a2 == null ? void 0 : a2.publish) == null ? void 0 : e.bitrate;
|
|
22482
23107
|
});
|
|
22483
|
-
var
|
|
23108
|
+
var Zn = createSelector(Le, (a2) => {
|
|
22484
23109
|
var e;
|
|
22485
23110
|
return (e = a2 == null ? void 0 : a2.subscribe) == null ? void 0 : e.bitrate;
|
|
22486
23111
|
});
|
|
22487
|
-
var
|
|
23112
|
+
var ec = createSelector(Le, (a2) => {
|
|
22488
23113
|
var e;
|
|
22489
23114
|
return (e = a2 == null ? void 0 : a2.publish) == null ? void 0 : e.availableOutgoingBitrate;
|
|
22490
23115
|
});
|
|
22491
|
-
var
|
|
23116
|
+
var tc = createSelector(Le, (a2) => {
|
|
22492
23117
|
var e;
|
|
22493
23118
|
return (e = a2 == null ? void 0 : a2.subscribe) == null ? void 0 : e.availableIncomingBitrate;
|
|
22494
23119
|
});
|
|
22495
|
-
var
|
|
23120
|
+
var ic = createSelector(Le, (a2) => {
|
|
22496
23121
|
var e;
|
|
22497
23122
|
return (e = a2 == null ? void 0 : a2.publish) == null ? void 0 : e.bytesSent;
|
|
22498
23123
|
});
|
|
22499
|
-
var
|
|
23124
|
+
var rc = createSelector(Le, (a2) => {
|
|
22500
23125
|
var e;
|
|
22501
23126
|
return (e = a2 == null ? void 0 : a2.subscribe) == null ? void 0 : e.bytesReceived;
|
|
22502
23127
|
});
|
|
22503
|
-
var
|
|
22504
|
-
var
|
|
22505
|
-
var
|
|
22506
|
-
var
|
|
22507
|
-
var
|
|
22508
|
-
var
|
|
23128
|
+
var sc = createSelector([So, Jn], (a2, e) => e ? a2[e] : void 0);
|
|
23129
|
+
var ac = createSelector([Qn, mo], (a2, e) => e ? a2[e] : void 0);
|
|
23130
|
+
var Ss = createSelector([ms, mo], (a2, e) => e ? a2[e] : void 0);
|
|
23131
|
+
var oc = H(sc);
|
|
23132
|
+
var nc = H(ac);
|
|
23133
|
+
var cc = createSelector([ms, qn], (a2, e) => {
|
|
22509
23134
|
var t;
|
|
22510
23135
|
return e ? (t = a2[e]) == null ? void 0 : t[0] : void 0;
|
|
22511
23136
|
});
|
|
22512
|
-
var
|
|
22513
|
-
var
|
|
23137
|
+
var dc = H(createSelector(Ss, (a2) => a2 == null ? void 0 : a2[0]));
|
|
23138
|
+
var lc = createSelector([ms, jn], (a2, e) => {
|
|
22514
23139
|
var t;
|
|
22515
23140
|
return e ? (t = a2[e]) == null ? void 0 : t[0] : void 0;
|
|
22516
23141
|
});
|
|
22517
|
-
var
|
|
23142
|
+
var uc = H(createSelector(Ss, (a2) => a2));
|
|
22518
23143
|
|
|
22519
23144
|
// src/Prebuilt/components/Header/StreamActions.tsx
|
|
22520
23145
|
var import_react_sdk41 = require("@100mslive/react-sdk");
|
|
@@ -22623,7 +23248,7 @@ var RecordingStatus = () => {
|
|
|
22623
23248
|
};
|
|
22624
23249
|
var RecordingPauseStatus = () => {
|
|
22625
23250
|
const recording = (0, import_react_sdk41.useHMSStore)(import_react_sdk41.selectRecordingState);
|
|
22626
|
-
if (recording.hls && recording.hls.state ===
|
|
23251
|
+
if (recording.hls && recording.hls.state === qs.PAUSED) {
|
|
22627
23252
|
return /* @__PURE__ */ import_react88.default.createElement(
|
|
22628
23253
|
Tooltip,
|
|
22629
23254
|
{
|
|
@@ -27384,7 +28009,7 @@ var Chat = () => {
|
|
|
27384
28009
|
const listRef = (0, import_react153.useRef)(null);
|
|
27385
28010
|
const hmsActions = (0, import_react_sdk74.useHMSActions)();
|
|
27386
28011
|
const vanillaStore = (0, import_react_sdk74.useHMSVanillaStore)();
|
|
27387
|
-
const { enabled: isChatEnabled = true } = (0, import_react_sdk74.useHMSStore)(
|
|
28012
|
+
const { enabled: isChatEnabled = true } = (0, import_react_sdk74.useHMSStore)(ES("chatState" /* CHAT_STATE */)) || {};
|
|
27388
28013
|
const isMobile = (0, import_react_use26.useMedia)(config.media.md);
|
|
27389
28014
|
const isMobileHLSStream = useMobileHLSStream();
|
|
27390
28015
|
const isLandscapeStream = useLandscapeHLSStream();
|
|
@@ -27474,7 +28099,7 @@ var NewMessageIndicator = ({
|
|
|
27474
28099
|
scrollToBottom,
|
|
27475
28100
|
listRef
|
|
27476
28101
|
}) => {
|
|
27477
|
-
const unreadCount = (0, import_react_sdk74.useHMSStore)(
|
|
28102
|
+
const unreadCount = (0, import_react_sdk74.useHMSStore)(Km);
|
|
27478
28103
|
if (!unreadCount || !listRef.current) {
|
|
27479
28104
|
return null;
|
|
27480
28105
|
}
|
|
@@ -28431,7 +29056,7 @@ var VBPicker = ({ backgroundMedia = [] }) => {
|
|
|
28431
29056
|
const toggleVB = useSidepaneToggle(SIDE_PANE_OPTIONS.VB);
|
|
28432
29057
|
const hmsActions = (0, import_react_sdk82.useHMSActions)();
|
|
28433
29058
|
const localPeer = (0, import_react_sdk82.useHMSStore)(import_react_sdk82.selectLocalPeer);
|
|
28434
|
-
const role = (0, import_react_sdk82.useHMSStore)(
|
|
29059
|
+
const role = (0, import_react_sdk82.useHMSStore)(dt);
|
|
28435
29060
|
const isVideoOn = (0, import_react_sdk82.useHMSStore)(import_react_sdk82.selectIsLocalVideoEnabled);
|
|
28436
29061
|
const mirrorLocalVideo = useUISettings(UI_SETTINGS.mirrorLocalVideo);
|
|
28437
29062
|
const trackSelector = (0, import_react_sdk82.selectVideoTrackByID)(localPeer == null ? void 0 : localPeer.videoTrack);
|
|
@@ -28440,12 +29065,12 @@ var VBPicker = ({ backgroundMedia = [] }) => {
|
|
|
28440
29065
|
const roomState = (0, import_react_sdk82.useHMSStore)(import_react_sdk82.selectRoomState);
|
|
28441
29066
|
const isLargeRoom = (0, import_react_sdk82.useHMSStore)(import_react_sdk82.selectIsLargeRoom);
|
|
28442
29067
|
const isEffectsSupported = VBHandler.isEffectsSupported();
|
|
28443
|
-
const isEffectsEnabled = (0, import_react_sdk82.useHMSStore)(
|
|
28444
|
-
const effectsKey = (0, import_react_sdk82.useHMSStore)(
|
|
29068
|
+
const isEffectsEnabled = (0, import_react_sdk82.useHMSStore)(sS);
|
|
29069
|
+
const effectsKey = (0, import_react_sdk82.useHMSStore)(oS);
|
|
28445
29070
|
const isMobile = (0, import_react_use32.useMedia)(config.media.md);
|
|
28446
29071
|
const [loadingEffects, setLoadingEffects] = useSetAppDataByKey(APP_DATA.loadingEffects);
|
|
28447
29072
|
const isPluginAdded = (0, import_react_sdk82.useHMSStore)((0, import_react_sdk82.selectIsLocalVideoPluginPresent)(((_a8 = VBHandler) == null ? void 0 : _a8.getName()) || ""));
|
|
28448
|
-
const background = (0, import_react_sdk82.useHMSStore)(
|
|
29073
|
+
const background = (0, import_react_sdk82.useHMSStore)(kS(APP_DATA.background));
|
|
28449
29074
|
const mediaList = backgroundMedia.map((media) => media.url || "");
|
|
28450
29075
|
const pluginLoadingRef = (0, import_react163.useRef)(false);
|
|
28451
29076
|
const isBlurSupported = (_b7 = VBHandler) == null ? void 0 : _b7.isBlurSupported();
|
|
@@ -34188,8 +34813,8 @@ var import_react230 = require("react");
|
|
|
34188
34813
|
var import_react_sdk118 = require("@100mslive/react-sdk");
|
|
34189
34814
|
var MessageNotifications = () => {
|
|
34190
34815
|
var _a8, _b7;
|
|
34191
|
-
const notification = (0, import_react_sdk118.useHMSNotifications)(
|
|
34192
|
-
const amIScreenSharing = (0, import_react_sdk118.useHMSStore)(
|
|
34816
|
+
const notification = (0, import_react_sdk118.useHMSNotifications)(br.NEW_MESSAGE);
|
|
34817
|
+
const amIScreenSharing = (0, import_react_sdk118.useHMSStore)(ts);
|
|
34193
34818
|
const logoURL = (_b7 = (_a8 = useRoomLayout()) == null ? void 0 : _a8.logo) == null ? void 0 : _b7.url;
|
|
34194
34819
|
const { pipWindow } = usePIPWindow();
|
|
34195
34820
|
const { showNotification } = (0, import_react_sdk118.useAwayNotifications)();
|