2015-06-09 16:40:42 +00:00
|
|
|
{
|
|
|
|
"name": "matrix-react-sdk",
|
2022-11-22 11:39:30 +00:00
|
|
|
"version": "3.61.0",
|
2015-06-09 16:40:42 +00:00
|
|
|
"description": "SDK for matrix.org using React",
|
|
|
|
"author": "matrix.org",
|
2015-06-09 17:52:26 +00:00
|
|
|
"repository": {
|
|
|
|
"type": "git",
|
|
|
|
"url": "https://github.com/matrix-org/matrix-react-sdk"
|
|
|
|
},
|
2015-07-03 14:56:04 +00:00
|
|
|
"license": "Apache-2.0",
|
2016-11-01 15:15:31 +00:00
|
|
|
"files": [
|
2019-12-20 01:01:43 +00:00
|
|
|
"lib",
|
|
|
|
"res",
|
|
|
|
"src",
|
|
|
|
"scripts",
|
|
|
|
"git-revision.txt",
|
2020-01-07 22:13:42 +00:00
|
|
|
"docs",
|
2019-12-20 01:01:43 +00:00
|
|
|
"header",
|
2016-11-01 15:15:31 +00:00
|
|
|
"CHANGELOG.md",
|
|
|
|
"CONTRIBUTING.rst",
|
|
|
|
"LICENSE",
|
|
|
|
"README.md",
|
2022-07-15 13:53:23 +00:00
|
|
|
"package.json",
|
|
|
|
".stylelintrc.js"
|
2016-11-01 15:15:31 +00:00
|
|
|
],
|
2022-11-22 11:39:52 +00:00
|
|
|
"main": "./src/index.ts",
|
2021-09-27 12:44:43 +00:00
|
|
|
"matrix_src_main": "./src/index.ts",
|
|
|
|
"matrix_lib_main": "./lib/index.ts",
|
2020-12-18 14:49:28 +00:00
|
|
|
"matrix_lib_typings": "./lib/index.d.ts",
|
2022-01-11 18:25:28 +00:00
|
|
|
"matrix_i18n_extra_translation_funcs": [
|
|
|
|
"newTranslatableError"
|
|
|
|
],
|
2015-06-09 16:40:42 +00:00
|
|
|
"scripts": {
|
2020-12-17 13:09:35 +00:00
|
|
|
"prepublishOnly": "yarn build",
|
2017-10-19 09:51:54 +00:00
|
|
|
"i18n": "matrix-gen-i18n",
|
2017-10-19 11:11:21 +00:00
|
|
|
"prunei18n": "matrix-prune-i18n",
|
2021-04-27 14:09:26 +00:00
|
|
|
"diff-i18n": "cp src/i18n/strings/en_EN.json src/i18n/strings/en_EN_orig.json && matrix-gen-i18n && matrix-compare-i18n-files src/i18n/strings/en_EN_orig.json src/i18n/strings/en_EN.json",
|
2022-02-09 09:33:21 +00:00
|
|
|
"make-component": "node scripts/make-react-component.js",
|
2019-12-12 21:37:14 +00:00
|
|
|
"rethemendex": "res/css/rethemendex.sh",
|
2015-09-09 15:57:55 +00:00
|
|
|
"clean": "rimraf lib",
|
2019-12-12 21:37:14 +00:00
|
|
|
"build": "yarn clean && git rev-parse HEAD > git-revision.txt && yarn build:compile && yarn build:types",
|
2022-03-28 21:24:02 +00:00
|
|
|
"build:compile": "babel -d lib --verbose --extensions \".ts,.js,.tsx\" src",
|
2020-03-12 00:24:01 +00:00
|
|
|
"build:types": "tsc --emitDeclarationOnly --jsx react",
|
2019-12-12 21:37:14 +00:00
|
|
|
"start": "echo THIS IS FOR LEGACY PURPOSES ONLY. && yarn start:all",
|
2022-03-28 21:24:02 +00:00
|
|
|
"start:all": "echo THIS IS FOR LEGACY PURPOSES ONLY. && yarn start:build",
|
2019-12-12 21:37:14 +00:00
|
|
|
"start:build": "babel src -w -s -d lib --verbose --extensions \".ts,.js\"",
|
2020-06-23 16:01:40 +00:00
|
|
|
"lint": "yarn lint:types && yarn lint:js && yarn lint:style",
|
2022-04-14 09:41:58 +00:00
|
|
|
"lint:js": "eslint --max-warnings 0 src test cypress",
|
|
|
|
"lint:js-fix": "eslint --fix src test cypress",
|
2022-06-30 16:23:45 +00:00
|
|
|
"lint:types": "tsc --noEmit --jsx react && tsc --noEmit --jsx react -p cypress",
|
2022-07-15 13:53:23 +00:00
|
|
|
"lint:style": "stylelint \"res/css/**/*.pcss\"",
|
2019-12-17 12:23:51 +00:00
|
|
|
"test": "jest",
|
2022-04-14 09:41:58 +00:00
|
|
|
"test:cypress": "cypress run",
|
|
|
|
"test:cypress:open": "cypress open",
|
2021-04-28 13:17:57 +00:00
|
|
|
"coverage": "yarn test --coverage"
|
2015-06-09 16:40:42 +00:00
|
|
|
},
|
|
|
|
"dependencies": {
|
2021-01-20 11:11:22 +00:00
|
|
|
"@babel/runtime": "^7.12.5",
|
2022-11-04 09:10:37 +00:00
|
|
|
"@matrix-org/analytics-events": "^0.3.0",
|
2022-11-14 10:45:31 +00:00
|
|
|
"@matrix-org/matrix-wysiwyg": "^0.6.0",
|
2022-07-05 18:26:44 +00:00
|
|
|
"@matrix-org/react-sdk-module-api": "^0.0.3",
|
2021-08-11 15:11:10 +00:00
|
|
|
"@sentry/browser": "^6.11.0",
|
|
|
|
"@sentry/tracing": "^6.11.0",
|
2022-11-17 11:01:31 +00:00
|
|
|
"@testing-library/react-hooks": "^8.0.1",
|
2021-12-06 09:45:12 +00:00
|
|
|
"@types/geojson": "^7946.0.8",
|
2022-10-06 08:06:29 +00:00
|
|
|
"@types/ua-parser-js": "^0.7.36",
|
2021-01-20 11:11:22 +00:00
|
|
|
"await-lock": "^2.1.0",
|
2020-08-11 04:06:30 +00:00
|
|
|
"blurhash": "^1.1.3",
|
2021-05-10 15:09:12 +00:00
|
|
|
"cheerio": "^1.0.0-rc.9",
|
2020-07-23 21:27:10 +00:00
|
|
|
"classnames": "^2.2.6",
|
2021-01-20 11:11:22 +00:00
|
|
|
"commonmark": "^0.29.3",
|
2020-07-23 21:27:10 +00:00
|
|
|
"counterpart": "^0.18.6",
|
2021-01-20 11:11:22 +00:00
|
|
|
"diff-dom": "^4.2.2",
|
2020-07-23 21:27:10 +00:00
|
|
|
"diff-match-patch": "^1.0.5",
|
2022-12-01 08:56:15 +00:00
|
|
|
"emojibase": "6.1.0",
|
|
|
|
"emojibase-data": "7.0.1",
|
|
|
|
"emojibase-regex": "6.0.1",
|
2019-11-08 23:07:11 +00:00
|
|
|
"escape-html": "^1.0.3",
|
2021-01-20 13:04:41 +00:00
|
|
|
"file-saver": "^2.0.5",
|
2022-12-01 23:55:24 +00:00
|
|
|
"filesize": "10.0.5",
|
2022-12-01 23:36:25 +00:00
|
|
|
"flux": "4.0.3",
|
2021-01-20 11:11:22 +00:00
|
|
|
"focus-visible": "^5.2.0",
|
2020-07-23 21:27:10 +00:00
|
|
|
"gfm.css": "^1.1.2",
|
2019-10-31 19:20:08 +00:00
|
|
|
"glob-to-regexp": "^0.4.1",
|
2021-10-18 18:32:20 +00:00
|
|
|
"highlight.js": "^11.3.1",
|
2021-01-20 11:11:22 +00:00
|
|
|
"html-entities": "^1.4.0",
|
2021-01-20 13:04:41 +00:00
|
|
|
"is-ip": "^3.1.0",
|
2021-07-26 16:45:05 +00:00
|
|
|
"jszip": "^3.7.0",
|
2020-09-19 14:30:00 +00:00
|
|
|
"katex": "^0.12.0",
|
2022-05-03 22:35:08 +00:00
|
|
|
"linkify-element": "4.0.0-beta.4",
|
|
|
|
"linkify-string": "4.0.0-beta.4",
|
|
|
|
"linkifyjs": "4.0.0-beta.4",
|
2021-01-20 11:11:22 +00:00
|
|
|
"lodash": "^4.17.20",
|
2021-12-06 09:45:12 +00:00
|
|
|
"maplibre-gl": "^1.15.2",
|
2022-04-05 17:29:27 +00:00
|
|
|
"matrix-encrypt-attachment": "^1.0.3",
|
2022-11-08 17:30:45 +00:00
|
|
|
"matrix-events-sdk": "0.0.1",
|
2022-11-22 11:40:05 +00:00
|
|
|
"matrix-js-sdk": "github:matrix-org/matrix-js-sdk#develop",
|
2022-09-14 14:18:51 +00:00
|
|
|
"matrix-widget-api": "^1.1.1",
|
2020-07-23 21:27:10 +00:00
|
|
|
"minimist": "^1.2.5",
|
2021-03-12 05:05:47 +00:00
|
|
|
"opus-recorder": "^8.0.3",
|
2021-01-20 13:04:41 +00:00
|
|
|
"pako": "^2.0.3",
|
|
|
|
"parse5": "^6.0.1",
|
2019-01-14 17:10:20 +00:00
|
|
|
"png-chunks-extract": "^1.0.0",
|
2021-08-03 10:32:51 +00:00
|
|
|
"posthog-js": "1.12.2",
|
2020-07-23 21:27:10 +00:00
|
|
|
"prop-types": "^15.7.2",
|
2021-12-15 16:23:18 +00:00
|
|
|
"qrcode": "1.4.4",
|
2021-01-20 11:11:22 +00:00
|
|
|
"re-resizable": "^6.9.0",
|
2021-09-15 15:14:58 +00:00
|
|
|
"react": "17.0.2",
|
2021-06-03 07:32:36 +00:00
|
|
|
"react-beautiful-dnd": "^13.1.0",
|
2021-07-07 19:00:31 +00:00
|
|
|
"react-blurhash": "^0.1.3",
|
2021-09-15 15:14:58 +00:00
|
|
|
"react-dom": "17.0.2",
|
2022-02-21 17:09:01 +00:00
|
|
|
"react-focus-lock": "^2.5.1",
|
2020-06-09 21:06:54 +00:00
|
|
|
"react-transition-group": "^4.4.1",
|
2020-09-04 07:04:18 +00:00
|
|
|
"rfc4648": "^1.4.0",
|
2022-10-18 01:54:10 +00:00
|
|
|
"sanitize-filename": "^1.6.3",
|
2021-05-10 13:57:35 +00:00
|
|
|
"sanitize-html": "^2.3.2",
|
2020-01-16 06:22:31 +00:00
|
|
|
"tar-js": "^0.3.0",
|
2022-10-06 08:06:29 +00:00
|
|
|
"ua-parser-js": "^1.0.2",
|
2017-07-06 08:28:48 +00:00
|
|
|
"url": "^0.11.0",
|
2020-07-23 21:27:10 +00:00
|
|
|
"what-input": "^5.2.10",
|
2018-11-23 15:50:23 +00:00
|
|
|
"zxcvbn": "^4.4.2"
|
2015-06-09 16:40:42 +00:00
|
|
|
},
|
|
|
|
"devDependencies": {
|
2021-01-20 11:11:22 +00:00
|
|
|
"@babel/cli": "^7.12.10",
|
|
|
|
"@babel/core": "^7.12.10",
|
2021-04-01 12:17:09 +00:00
|
|
|
"@babel/eslint-parser": "^7.12.10",
|
|
|
|
"@babel/eslint-plugin": "^7.12.10",
|
2021-01-20 11:11:22 +00:00
|
|
|
"@babel/parser": "^7.12.11",
|
|
|
|
"@babel/plugin-proposal-class-properties": "^7.12.1",
|
|
|
|
"@babel/plugin-proposal-export-default-from": "^7.12.1",
|
|
|
|
"@babel/plugin-proposal-numeric-separator": "^7.12.7",
|
|
|
|
"@babel/plugin-proposal-object-rest-spread": "^7.12.1",
|
|
|
|
"@babel/plugin-transform-runtime": "^7.12.10",
|
|
|
|
"@babel/preset-env": "^7.12.11",
|
|
|
|
"@babel/preset-react": "^7.12.10",
|
|
|
|
"@babel/preset-typescript": "^7.12.7",
|
|
|
|
"@babel/register": "^7.12.10",
|
|
|
|
"@babel/traverse": "^7.12.12",
|
2022-11-03 16:55:28 +00:00
|
|
|
"@casualbot/jest-sonar-reporter": "^2.2.5",
|
2021-12-13 14:59:13 +00:00
|
|
|
"@matrix-org/olm": "https://gitlab.matrix.org/api/v4/projects/27/packages/npm/@matrix-org/olm/-/@matrix-org/olm-3.2.8.tgz",
|
2022-11-04 10:48:08 +00:00
|
|
|
"@peculiar/webcrypto": "^1.4.1",
|
2022-10-13 18:11:30 +00:00
|
|
|
"@percy/cli": "^1.11.0",
|
|
|
|
"@percy/cypress": "^3.1.2",
|
2021-08-04 08:34:12 +00:00
|
|
|
"@sentry/types": "^6.10.0",
|
2022-04-14 09:41:58 +00:00
|
|
|
"@sinonjs/fake-timers": "^9.1.2",
|
2022-09-25 14:57:25 +00:00
|
|
|
"@testing-library/jest-dom": "^5.16.5",
|
2022-09-23 07:17:03 +00:00
|
|
|
"@testing-library/react": "^12.1.5",
|
2022-09-26 13:29:38 +00:00
|
|
|
"@testing-library/user-event": "^14.4.3",
|
2021-01-20 11:11:22 +00:00
|
|
|
"@types/classnames": "^2.2.11",
|
2021-07-07 19:08:52 +00:00
|
|
|
"@types/commonmark": "^0.27.4",
|
2020-07-02 22:15:08 +00:00
|
|
|
"@types/counterpart": "^0.18.1",
|
2022-12-01 07:45:03 +00:00
|
|
|
"@types/css-font-loading-module": "^0.0.7",
|
2021-06-23 07:44:48 +00:00
|
|
|
"@types/diff-match-patch": "^1.0.32",
|
2021-10-13 10:09:43 +00:00
|
|
|
"@types/enzyme": "^3.10.9",
|
2022-03-21 17:02:22 +00:00
|
|
|
"@types/escape-html": "^1.0.1",
|
2021-07-26 16:45:05 +00:00
|
|
|
"@types/file-saver": "^2.0.3",
|
2020-05-14 03:07:29 +00:00
|
|
|
"@types/flux": "^3.1.9",
|
2022-04-14 09:41:58 +00:00
|
|
|
"@types/fs-extra": "^9.0.13",
|
2022-11-04 10:48:08 +00:00
|
|
|
"@types/jest": "^29.2.1",
|
2022-08-09 11:55:49 +00:00
|
|
|
"@types/katex": "^0.14.0",
|
2021-01-20 11:11:22 +00:00
|
|
|
"@types/lodash": "^4.14.168",
|
2020-04-19 11:06:56 +00:00
|
|
|
"@types/modernizr": "^3.5.3",
|
2022-11-30 11:32:56 +00:00
|
|
|
"@types/node": "^16",
|
2022-12-01 09:35:09 +00:00
|
|
|
"@types/pako": "^2.0.0",
|
2021-05-07 09:11:56 +00:00
|
|
|
"@types/parse5": "^6.0.0",
|
2021-01-20 11:11:22 +00:00
|
|
|
"@types/qrcode": "^1.3.5",
|
2022-11-30 09:28:38 +00:00
|
|
|
"@types/react": "17.0.49",
|
2021-06-03 07:32:36 +00:00
|
|
|
"@types/react-beautiful-dnd": "^13.0.0",
|
2022-11-30 09:28:38 +00:00
|
|
|
"@types/react-dom": "17.0.17",
|
2022-04-08 17:32:35 +00:00
|
|
|
"@types/react-test-renderer": "^17.0.1",
|
2020-06-09 21:06:54 +00:00
|
|
|
"@types/react-transition-group": "^4.4.0",
|
2021-05-10 16:43:10 +00:00
|
|
|
"@types/sanitize-html": "^2.3.1",
|
2020-05-14 19:19:15 +00:00
|
|
|
"@types/zxcvbn": "^4.4.0",
|
2022-09-02 09:24:56 +00:00
|
|
|
"@typescript-eslint/eslint-plugin": "^5.35.1",
|
2021-12-13 23:39:45 +00:00
|
|
|
"@typescript-eslint/parser": "^5.6.0",
|
2021-06-15 15:16:42 +00:00
|
|
|
"@wojtekmaj/enzyme-adapter-react-17": "^0.6.1",
|
2022-09-20 13:09:14 +00:00
|
|
|
"allchange": "^1.1.0",
|
2022-11-30 15:18:10 +00:00
|
|
|
"axe-core": "4.4.3",
|
2022-12-01 09:36:39 +00:00
|
|
|
"babel-jest": "^29.0.0",
|
2022-12-01 16:19:04 +00:00
|
|
|
"blob-polyfill": "^7.0.0",
|
2021-01-20 11:11:22 +00:00
|
|
|
"chokidar": "^3.5.1",
|
2022-12-01 20:54:00 +00:00
|
|
|
"cypress": "^11.0.0",
|
2022-08-01 07:31:14 +00:00
|
|
|
"cypress-axe": "^1.0.0",
|
2022-07-18 12:16:44 +00:00
|
|
|
"cypress-real-events": "^1.7.1",
|
2020-07-23 21:27:10 +00:00
|
|
|
"enzyme": "^3.11.0",
|
2021-10-13 10:09:43 +00:00
|
|
|
"enzyme-to-json": "^3.6.2",
|
2022-02-24 14:54:06 +00:00
|
|
|
"eslint": "8.9.0",
|
2021-04-01 12:17:09 +00:00
|
|
|
"eslint-config-google": "^0.14.0",
|
2022-08-02 13:10:43 +00:00
|
|
|
"eslint-plugin-deprecate": "^0.7.0",
|
2022-01-10 12:57:20 +00:00
|
|
|
"eslint-plugin-import": "^2.25.4",
|
2022-01-03 17:51:58 +00:00
|
|
|
"eslint-plugin-jsx-a11y": "^6.5.1",
|
2022-11-02 14:54:28 +00:00
|
|
|
"eslint-plugin-matrix-org": "^0.7.0",
|
2022-02-24 14:54:06 +00:00
|
|
|
"eslint-plugin-react": "^7.28.0",
|
|
|
|
"eslint-plugin-react-hooks": "^4.3.0",
|
2022-12-01 20:33:22 +00:00
|
|
|
"eslint-plugin-unicorn": "^45.0.0",
|
2022-10-12 17:59:07 +00:00
|
|
|
"fetch-mock-jest": "^1.5.1",
|
2022-12-01 07:45:19 +00:00
|
|
|
"fs-extra": "^11.0.0",
|
2022-12-01 08:54:29 +00:00
|
|
|
"glob": "^8.0.0",
|
2022-11-04 10:48:08 +00:00
|
|
|
"jest": "^29.2.2",
|
2020-10-06 23:08:40 +00:00
|
|
|
"jest-canvas-mock": "^2.3.0",
|
2022-11-04 10:48:08 +00:00
|
|
|
"jest-environment-jsdom": "^29.2.2",
|
|
|
|
"jest-mock": "^29.2.2",
|
2021-07-27 06:41:08 +00:00
|
|
|
"jest-raw-loader": "^1.0.1",
|
2022-10-12 17:59:07 +00:00
|
|
|
"matrix-mock-request": "^2.5.0",
|
2022-06-28 13:15:51 +00:00
|
|
|
"matrix-web-i18n": "^1.3.0",
|
2022-11-10 09:27:20 +00:00
|
|
|
"node-fetch": "2",
|
2022-07-15 13:53:23 +00:00
|
|
|
"postcss-scss": "^4.0.4",
|
2021-07-27 06:07:47 +00:00
|
|
|
"raw-loader": "^4.0.2",
|
2021-06-09 10:40:20 +00:00
|
|
|
"react-test-renderer": "^17.0.2",
|
2021-01-20 13:04:41 +00:00
|
|
|
"rimraf": "^3.0.2",
|
2021-08-04 08:34:12 +00:00
|
|
|
"rrweb-snapshot": "1.1.7",
|
2022-07-15 13:53:23 +00:00
|
|
|
"stylelint": "^14.9.1",
|
|
|
|
"stylelint-config-standard": "^26.0.0",
|
|
|
|
"stylelint-scss": "^4.2.0",
|
2022-11-30 11:32:56 +00:00
|
|
|
"typescript": "4.9.3",
|
2020-08-29 11:09:07 +00:00
|
|
|
"walk": "^2.3.14"
|
2019-12-17 11:24:37 +00:00
|
|
|
},
|
|
|
|
"jest": {
|
2021-10-18 18:32:20 +00:00
|
|
|
"snapshotSerializers": [
|
|
|
|
"enzyme-to-json/serializer"
|
|
|
|
],
|
2022-02-02 12:02:17 +00:00
|
|
|
"testEnvironment": "jsdom",
|
2020-01-09 23:17:27 +00:00
|
|
|
"testMatch": [
|
2021-06-23 12:59:36 +00:00
|
|
|
"<rootDir>/test/**/*-test.[jt]s?(x)"
|
2020-01-09 23:17:27 +00:00
|
|
|
],
|
2021-11-08 17:54:45 +00:00
|
|
|
"globalSetup": "<rootDir>/test/globalSetup.js",
|
2020-06-02 12:53:13 +00:00
|
|
|
"setupFiles": [
|
|
|
|
"jest-canvas-mock"
|
|
|
|
],
|
2020-01-18 01:39:14 +00:00
|
|
|
"setupFilesAfterEnv": [
|
|
|
|
"<rootDir>/test/setupTests.js"
|
|
|
|
],
|
2019-12-17 11:24:37 +00:00
|
|
|
"moduleNameMapper": {
|
2022-03-02 12:05:50 +00:00
|
|
|
"\\.(gif|png|ttf|woff2)$": "<rootDir>/__mocks__/imageMock.js",
|
|
|
|
"\\.svg$": "<rootDir>/__mocks__/svg.js",
|
2021-05-07 04:08:00 +00:00
|
|
|
"\\$webapp/i18n/languages.json": "<rootDir>/__mocks__/languages.json",
|
|
|
|
"decoderWorker\\.min\\.js": "<rootDir>/__mocks__/empty.js",
|
|
|
|
"decoderWorker\\.min\\.wasm": "<rootDir>/__mocks__/empty.js",
|
2021-07-14 17:50:01 +00:00
|
|
|
"waveWorker\\.min\\.js": "<rootDir>/__mocks__/empty.js",
|
2021-07-27 06:41:08 +00:00
|
|
|
"workers/(.+)\\.worker\\.ts": "<rootDir>/__mocks__/workerMock.js",
|
2021-08-09 07:06:06 +00:00
|
|
|
"^!!raw-loader!.*": "jest-raw-loader",
|
2021-08-04 21:23:35 +00:00
|
|
|
"RecorderWorklet": "<rootDir>/__mocks__/empty.js"
|
2020-01-10 00:22:21 +00:00
|
|
|
},
|
|
|
|
"transformIgnorePatterns": [
|
|
|
|
"/node_modules/(?!matrix-js-sdk).+$"
|
2021-04-28 13:17:57 +00:00
|
|
|
],
|
|
|
|
"collectCoverageFrom": [
|
|
|
|
"<rootDir>/src/**/*.{js,ts,tsx}"
|
|
|
|
],
|
|
|
|
"coverageReporters": [
|
2022-05-02 20:34:31 +00:00
|
|
|
"text-summary",
|
|
|
|
"lcov"
|
|
|
|
],
|
2022-11-03 16:55:28 +00:00
|
|
|
"testResultsProcessor": "@casualbot/jest-sonar-reporter"
|
2022-05-02 20:34:31 +00:00
|
|
|
},
|
2022-11-03 16:55:28 +00:00
|
|
|
"@casualbot/jest-sonar-reporter": {
|
|
|
|
"outputDirectory": "coverage",
|
|
|
|
"outputName": "jest-sonar-report.xml",
|
|
|
|
"relativePaths": true
|
2022-11-22 11:39:52 +00:00
|
|
|
}
|
2015-06-09 16:40:42 +00:00
|
|
|
}
|