mediawiki/extensions/PageForms: main (log #2208727)

sourcepatches

This run took 76 seconds.

From 8a33837c6c57e8a1cdd2f20614ffc1b433416294 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Sat, 15 Nov 2025 09:23:08 +0000
Subject: [PATCH] build: Updating eslint-config-wikimedia to 0.32.1

Change-Id: I921ef83ef3f01fe95f9990dd86a17d81c30bba4f
---
 package-lock.json | 2042 +++++++++++++++++++--------------------------
 package.json      |    2 +-
 2 files changed, 865 insertions(+), 1179 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 6b6a608..4ce6f12 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -6,7 +6,7 @@
 		"": {
 			"name": "PageForms",
 			"devDependencies": {
-				"eslint-config-wikimedia": "0.31.0",
+				"eslint-config-wikimedia": "0.32.1",
 				"grunt": "1.6.1",
 				"grunt-banana-checker": "0.13.0",
 				"grunt-eslint": "24.3.0"
@@ -22,93 +22,42 @@
 			}
 		},
 		"node_modules/@babel/code-frame": {
-			"version": "7.25.7",
-			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.25.7.tgz",
-			"integrity": "sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==",
+			"version": "7.27.1",
+			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz",
+			"integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==",
 			"dev": true,
 			"dependencies": {
-				"@babel/highlight": "^7.25.7",
-				"picocolors": "^1.0.0"
+				"@babel/helper-validator-identifier": "^7.27.1",
+				"js-tokens": "^4.0.0",
+				"picocolors": "^1.1.1"
 			},
 			"engines": {
 				"node": ">=6.9.0"
 			}
 		},
 		"node_modules/@babel/helper-validator-identifier": {
-			"version": "7.25.7",
-			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz",
-			"integrity": "sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==",
+			"version": "7.28.5",
+			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz",
+			"integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==",
 			"dev": true,
 			"engines": {
 				"node": ">=6.9.0"
 			}
 		},
-		"node_modules/@babel/highlight": {
-			"version": "7.25.7",
-			"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.7.tgz",
-			"integrity": "sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==",
-			"dev": true,
-			"dependencies": {
-				"@babel/helper-validator-identifier": "^7.25.7",
-				"chalk": "^2.4.2",
-				"js-tokens": "^4.0.0",
-				"picocolors": "^1.0.0"
-			},
-			"engines": {
-				"node": ">=6.9.0"
-			}
-		},
-		"node_modules/@babel/highlight/node_modules/chalk": {
-			"version": "2.4.2",
-			"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
-			"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
-			"dev": true,
-			"dependencies": {
-				"ansi-styles": "^3.2.1",
-				"escape-string-regexp": "^1.0.5",
-				"supports-color": "^5.3.0"
-			},
-			"engines": {
-				"node": ">=4"
-			}
-		},
-		"node_modules/@babel/highlight/node_modules/escape-string-regexp": {
-			"version": "1.0.5",
-			"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
-			"integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
-			"dev": true,
-			"engines": {
-				"node": ">=0.8.0"
-			}
-		},
 		"node_modules/@es-joy/jsdoccomment": {
-			"version": "0.43.1",
-			"resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.43.1.tgz",
-			"integrity": "sha512-I238eDtOolvCuvtxrnqtlBaw0BwdQuYqK7eA6XIonicMdOOOb75mqdIzkGDUbS04+1Di007rgm9snFRNeVrOog==",
+			"version": "0.75.0",
+			"resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.75.0.tgz",
+			"integrity": "sha512-Bj+oF8reFb4b+6LUmG6ETpDsBU/28y/bAAzioyIR4VK/V6UodYBNGbtxRyGxk0aJJQqpZZ6jz82vVZWCX6Mwmg==",
 			"dev": true,
 			"dependencies": {
-				"@types/eslint": "^8.56.5",
-				"@types/estree": "^1.0.5",
-				"@typescript-eslint/types": "^7.2.0",
+				"@types/estree": "^1.0.8",
+				"@typescript-eslint/types": "^8.46.0",
 				"comment-parser": "1.4.1",
-				"esquery": "^1.5.0",
-				"jsdoc-type-pratt-parser": "~4.0.0"
+				"esquery": "^1.6.0",
+				"jsdoc-type-pratt-parser": "~6.9.1"
 			},
 			"engines": {
-				"node": ">=16"
-			}
-		},
-		"node_modules/@es-joy/jsdoccomment/node_modules/@typescript-eslint/types": {
-			"version": "7.18.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.18.0.tgz",
-			"integrity": "sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==",
-			"dev": true,
-			"engines": {
-				"node": "^18.18.0 || >=20.0.0"
-			},
-			"funding": {
-				"type": "opencollective",
-				"url": "https://opencollective.com/typescript-eslint"
+				"node": ">=20.11.0"
 			}
 		},
 		"node_modules/@eslint-community/eslint-utils": {
@@ -130,9 +79,9 @@
 			}
 		},
 		"node_modules/@eslint-community/regexpp": {
-			"version": "4.11.1",
-			"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz",
-			"integrity": "sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==",
+			"version": "4.12.2",
+			"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz",
+			"integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==",
 			"dev": true,
 			"engines": {
 				"node": "^12.0.0 || ^14.0.0 || >=16.0.0"
@@ -168,9 +117,9 @@
 			"dev": true
 		},
 		"node_modules/@eslint/eslintrc/node_modules/js-yaml": {
-			"version": "4.1.0",
-			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
-			"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+			"version": "4.1.1",
+			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+			"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
 			"dev": true,
 			"dependencies": {
 				"argparse": "^2.0.1"
@@ -234,9 +183,9 @@
 			"dev": true
 		},
 		"node_modules/@mdn/browser-compat-data": {
-			"version": "5.5.23",
-			"resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-5.5.23.tgz",
-			"integrity": "sha512-nIy38qL3nfNcGOz5J2BJQpBXa7vM9QO1+wbyvqqS89lgNTWE8Q10whLsmE0sTVBooXiEaRc4fVME5IXjCYiHAw==",
+			"version": "5.7.6",
+			"resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-5.7.6.tgz",
+			"integrity": "sha512-7xdrMX0Wk7grrTZQwAoy1GkvPMFoizStUoL+VmtUkAxegbCCec+3FKwOM6yc/uGU5+BEczQHXAlWiqvM8JeENg==",
 			"dev": true
 		},
 		"node_modules/@nodelib/fs.scandir": {
@@ -293,150 +242,6 @@
 				"eslint": ">=8.40.0"
 			}
 		},
-		"node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/project-service": {
-			"version": "8.38.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.38.0.tgz",
-			"integrity": "sha512-dbK7Jvqcb8c9QfH01YB6pORpqX1mn5gDZc9n63Ak/+jD67oWXn3Gs0M6vddAN+eDXBCS5EmNWzbSxsn9SzFWWg==",
-			"dev": true,
-			"dependencies": {
-				"@typescript-eslint/tsconfig-utils": "^8.38.0",
-				"@typescript-eslint/types": "^8.38.0",
-				"debug": "^4.3.4"
-			},
-			"engines": {
-				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
-			},
-			"funding": {
-				"type": "opencollective",
-				"url": "https://opencollective.com/typescript-eslint"
-			},
-			"peerDependencies": {
-				"typescript": ">=4.8.4 <5.9.0"
-			}
-		},
-		"node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/scope-manager": {
-			"version": "8.38.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.38.0.tgz",
-			"integrity": "sha512-WJw3AVlFFcdT9Ri1xs/lg8LwDqgekWXWhH3iAF+1ZM+QPd7oxQ6jvtW/JPwzAScxitILUIFs0/AnQ/UWHzbATQ==",
-			"dev": true,
-			"dependencies": {
-				"@typescript-eslint/types": "8.38.0",
-				"@typescript-eslint/visitor-keys": "8.38.0"
-			},
-			"engines": {
-				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
-			},
-			"funding": {
-				"type": "opencollective",
-				"url": "https://opencollective.com/typescript-eslint"
-			}
-		},
-		"node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/tsconfig-utils": {
-			"version": "8.38.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.38.0.tgz",
-			"integrity": "sha512-Lum9RtSE3EroKk/bYns+sPOodqb2Fv50XOl/gMviMKNvanETUuUcC9ObRbzrJ4VSd2JalPqgSAavwrPiPvnAiQ==",
-			"dev": true,
-			"engines": {
-				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
-			},
-			"funding": {
-				"type": "opencollective",
-				"url": "https://opencollective.com/typescript-eslint"
-			},
-			"peerDependencies": {
-				"typescript": ">=4.8.4 <5.9.0"
-			}
-		},
-		"node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/types": {
-			"version": "8.38.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.38.0.tgz",
-			"integrity": "sha512-wzkUfX3plUqij4YwWaJyqhiPE5UCRVlFpKn1oCRn2O1bJ592XxWJj8ROQ3JD5MYXLORW84063z3tZTb/cs4Tyw==",
-			"dev": true,
-			"engines": {
-				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
-			},
-			"funding": {
-				"type": "opencollective",
-				"url": "https://opencollective.com/typescript-eslint"
-			}
-		},
-		"node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/typescript-estree": {
-			"version": "8.38.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.38.0.tgz",
-			"integrity": "sha512-fooELKcAKzxux6fA6pxOflpNS0jc+nOQEEOipXFNjSlBS6fqrJOVY/whSn70SScHrcJ2LDsxWrneFoWYSVfqhQ==",
-			"dev": true,
-			"dependencies": {
-				"@typescript-eslint/project-service": "8.38.0",
-				"@typescript-eslint/tsconfig-utils": "8.38.0",
-				"@typescript-eslint/types": "8.38.0",
-				"@typescript-eslint/visitor-keys": "8.38.0",
-				"debug": "^4.3.4",
-				"fast-glob": "^3.3.2",
-				"is-glob": "^4.0.3",
-				"minimatch": "^9.0.4",
-				"semver": "^7.6.0",
-				"ts-api-utils": "^2.1.0"
-			},
-			"engines": {
-				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
-			},
-			"funding": {
-				"type": "opencollective",
-				"url": "https://opencollective.com/typescript-eslint"
-			},
-			"peerDependencies": {
-				"typescript": ">=4.8.4 <5.9.0"
-			}
-		},
-		"node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/utils": {
-			"version": "8.38.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.38.0.tgz",
-			"integrity": "sha512-hHcMA86Hgt+ijJlrD8fX0j1j8w4C92zue/8LOPAFioIno+W0+L7KqE8QZKCcPGc/92Vs9x36w/4MPTJhqXdyvg==",
-			"dev": true,
-			"dependencies": {
-				"@eslint-community/eslint-utils": "^4.7.0",
-				"@typescript-eslint/scope-manager": "8.38.0",
-				"@typescript-eslint/types": "8.38.0",
-				"@typescript-eslint/typescript-estree": "8.38.0"
-			},
-			"engines": {
-				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
-			},
-			"funding": {
-				"type": "opencollective",
-				"url": "https://opencollective.com/typescript-eslint"
-			},
-			"peerDependencies": {
-				"eslint": "^8.57.0 || ^9.0.0",
-				"typescript": ">=4.8.4 <5.9.0"
-			}
-		},
-		"node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": {
-			"version": "8.38.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.38.0.tgz",
-			"integrity": "sha512-pWrTcoFNWuwHlA9CvlfSsGWs14JxfN1TH25zM5L7o0pRLhsoZkDnTsXfQRJBEWJoV5DL0jf+Z+sxiud+K0mq1g==",
-			"dev": true,
-			"dependencies": {
-				"@typescript-eslint/types": "8.38.0",
-				"eslint-visitor-keys": "^4.2.1"
-			},
-			"engines": {
-				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
-			},
-			"funding": {
-				"type": "opencollective",
-				"url": "https://opencollective.com/typescript-eslint"
-			}
-		},
-		"node_modules/@stylistic/eslint-plugin/node_modules/brace-expansion": {
-			"version": "2.0.2",
-			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
-			"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
-			"dev": true,
-			"dependencies": {
-				"balanced-match": "^1.0.0"
-			}
-		},
 		"node_modules/@stylistic/eslint-plugin/node_modules/eslint-visitor-keys": {
 			"version": "4.2.1",
 			"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
@@ -466,21 +271,6 @@
 				"url": "https://opencollective.com/eslint"
 			}
 		},
-		"node_modules/@stylistic/eslint-plugin/node_modules/minimatch": {
-			"version": "9.0.5",
-			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
-			"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
-			"dev": true,
-			"dependencies": {
-				"brace-expansion": "^2.0.1"
-			},
-			"engines": {
-				"node": ">=16 || 14 >=14.17"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/isaacs"
-			}
-		},
 		"node_modules/@stylistic/eslint-plugin/node_modules/picomatch": {
 			"version": "4.0.3",
 			"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
@@ -493,26 +283,10 @@
 				"url": "https://github.com/sponsors/jonschlinkert"
 			}
 		},
-		"node_modules/@types/eslint": {
-			"version": "8.56.12",
-			"resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.12.tgz",
-			"integrity": "sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g==",
-			"dev": true,
-			"dependencies": {
-				"@types/estree": "*",
-				"@types/json-schema": "*"
-			}
-		},
 		"node_modules/@types/estree": {
-			"version": "1.0.6",
-			"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz",
-			"integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==",
-			"dev": true
-		},
-		"node_modules/@types/json-schema": {
-			"version": "7.0.15",
-			"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
-			"integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
+			"version": "1.0.8",
+			"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
+			"integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
 			"dev": true
 		},
 		"node_modules/@types/normalize-package-data": {
@@ -522,16 +296,16 @@
 			"dev": true
 		},
 		"node_modules/@typescript-eslint/eslint-plugin": {
-			"version": "8.35.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.35.1.tgz",
-			"integrity": "sha512-9XNTlo7P7RJxbVeICaIIIEipqxLKguyh+3UbXuT2XQuFp6d8VOeDEGuz5IiX0dgZo8CiI6aOFLg4e8cF71SFVg==",
+			"version": "8.46.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.46.0.tgz",
+			"integrity": "sha512-hA8gxBq4ukonVXPy0OKhiaUh/68D0E88GSmtC1iAEnGaieuDi38LhS7jdCHRLi6ErJBNDGCzvh5EnzdPwUc0DA==",
 			"dev": true,
 			"dependencies": {
 				"@eslint-community/regexpp": "^4.10.0",
-				"@typescript-eslint/scope-manager": "8.35.1",
-				"@typescript-eslint/type-utils": "8.35.1",
-				"@typescript-eslint/utils": "8.35.1",
-				"@typescript-eslint/visitor-keys": "8.35.1",
+				"@typescript-eslint/scope-manager": "8.46.0",
+				"@typescript-eslint/type-utils": "8.46.0",
+				"@typescript-eslint/utils": "8.46.0",
+				"@typescript-eslint/visitor-keys": "8.46.0",
 				"graphemer": "^1.4.0",
 				"ignore": "^7.0.0",
 				"natural-compare": "^1.4.0",
@@ -545,9 +319,9 @@
 				"url": "https://opencollective.com/typescript-eslint"
 			},
 			"peerDependencies": {
-				"@typescript-eslint/parser": "^8.35.1",
+				"@typescript-eslint/parser": "^8.46.0",
 				"eslint": "^8.57.0 || ^9.0.0",
-				"typescript": ">=4.8.4 <5.9.0"
+				"typescript": ">=4.8.4 <6.0.0"
 			}
 		},
 		"node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": {
@@ -560,15 +334,15 @@
 			}
 		},
 		"node_modules/@typescript-eslint/parser": {
-			"version": "8.35.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.35.1.tgz",
-			"integrity": "sha512-3MyiDfrfLeK06bi/g9DqJxP5pV74LNv4rFTyvGDmT3x2p1yp1lOd+qYZfiRPIOf/oON+WRZR5wxxuF85qOar+w==",
+			"version": "8.46.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.46.0.tgz",
+			"integrity": "sha512-n1H6IcDhmmUEG7TNVSspGmiHHutt7iVKtZwRppD7e04wha5MrkV1h3pti9xQLcCMt6YWsncpoT0HMjkH1FNwWQ==",
 			"dev": true,
 			"dependencies": {
-				"@typescript-eslint/scope-manager": "8.35.1",
-				"@typescript-eslint/types": "8.35.1",
-				"@typescript-eslint/typescript-estree": "8.35.1",
-				"@typescript-eslint/visitor-keys": "8.35.1",
+				"@typescript-eslint/scope-manager": "8.46.0",
+				"@typescript-eslint/types": "8.46.0",
+				"@typescript-eslint/typescript-estree": "8.46.0",
+				"@typescript-eslint/visitor-keys": "8.46.0",
 				"debug": "^4.3.4"
 			},
 			"engines": {
@@ -580,17 +354,17 @@
 			},
 			"peerDependencies": {
 				"eslint": "^8.57.0 || ^9.0.0",
-				"typescript": ">=4.8.4 <5.9.0"
+				"typescript": ">=4.8.4 <6.0.0"
 			}
 		},
 		"node_modules/@typescript-eslint/project-service": {
-			"version": "8.35.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.35.1.tgz",
-			"integrity": "sha512-VYxn/5LOpVxADAuP3NrnxxHYfzVtQzLKeldIhDhzC8UHaiQvYlXvKuVho1qLduFbJjjy5U5bkGwa3rUGUb1Q6Q==",
+			"version": "8.46.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.46.0.tgz",
+			"integrity": "sha512-OEhec0mH+U5Je2NZOeK1AbVCdm0ChyapAyTeXVIYTPXDJ3F07+cu87PPXcGoYqZ7M9YJVvFnfpGg1UmCIqM+QQ==",
 			"dev": true,
 			"dependencies": {
-				"@typescript-eslint/tsconfig-utils": "^8.35.1",
-				"@typescript-eslint/types": "^8.35.1",
+				"@typescript-eslint/tsconfig-utils": "^8.46.0",
+				"@typescript-eslint/types": "^8.46.0",
 				"debug": "^4.3.4"
 			},
 			"engines": {
@@ -601,17 +375,17 @@
 				"url": "https://opencollective.com/typescript-eslint"
 			},
 			"peerDependencies": {
-				"typescript": ">=4.8.4 <5.9.0"
+				"typescript": ">=4.8.4 <6.0.0"
 			}
 		},
 		"node_modules/@typescript-eslint/scope-manager": {
-			"version": "8.35.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.35.1.tgz",
-			"integrity": "sha512-s/Bpd4i7ht2934nG+UoSPlYXd08KYz3bmjLEb7Ye1UVob0d1ENiT3lY8bsCmik4RqfSbPw9xJJHbugpPpP5JUg==",
+			"version": "8.46.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.46.0.tgz",
+			"integrity": "sha512-lWETPa9XGcBes4jqAMYD9fW0j4n6hrPtTJwWDmtqgFO/4HF4jmdH/Q6wggTw5qIT5TXjKzbt7GsZUBnWoO3dqw==",
 			"dev": true,
 			"dependencies": {
-				"@typescript-eslint/types": "8.35.1",
-				"@typescript-eslint/visitor-keys": "8.35.1"
+				"@typescript-eslint/types": "8.46.0",
+				"@typescript-eslint/visitor-keys": "8.46.0"
 			},
 			"engines": {
 				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -622,9 +396,9 @@
 			}
 		},
 		"node_modules/@typescript-eslint/tsconfig-utils": {
-			"version": "8.35.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.35.1.tgz",
-			"integrity": "sha512-K5/U9VmT9dTHoNowWZpz+/TObS3xqC5h0xAIjXPw+MNcKV9qg6eSatEnmeAwkjHijhACH0/N7bkhKvbt1+DXWQ==",
+			"version": "8.46.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.46.0.tgz",
+			"integrity": "sha512-WrYXKGAHY836/N7zoK/kzi6p8tXFhasHh8ocFL9VZSAkvH956gfeRfcnhs3xzRy8qQ/dq3q44v1jvQieMFg2cw==",
 			"dev": true,
 			"engines": {
 				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -634,17 +408,18 @@
 				"url": "https://opencollective.com/typescript-eslint"
 			},
 			"peerDependencies": {
-				"typescript": ">=4.8.4 <5.9.0"
+				"typescript": ">=4.8.4 <6.0.0"
 			}
 		},
 		"node_modules/@typescript-eslint/type-utils": {
-			"version": "8.35.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.35.1.tgz",
-			"integrity": "sha512-HOrUBlfVRz5W2LIKpXzZoy6VTZzMu2n8q9C2V/cFngIC5U1nStJgv0tMV4sZPzdf4wQm9/ToWUFPMN9Vq9VJQQ==",
+			"version": "8.46.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.46.0.tgz",
+			"integrity": "sha512-hy+lvYV1lZpVs2jRaEYvgCblZxUoJiPyCemwbQZ+NGulWkQRy0HRPYAoef/CNSzaLt+MLvMptZsHXHlkEilaeg==",
 			"dev": true,
 			"dependencies": {
-				"@typescript-eslint/typescript-estree": "8.35.1",
-				"@typescript-eslint/utils": "8.35.1",
+				"@typescript-eslint/types": "8.46.0",
+				"@typescript-eslint/typescript-estree": "8.46.0",
+				"@typescript-eslint/utils": "8.46.0",
 				"debug": "^4.3.4",
 				"ts-api-utils": "^2.1.0"
 			},
@@ -657,13 +432,13 @@
 			},
 			"peerDependencies": {
 				"eslint": "^8.57.0 || ^9.0.0",
-				"typescript": ">=4.8.4 <5.9.0"
+				"typescript": ">=4.8.4 <6.0.0"
 			}
 		},
 		"node_modules/@typescript-eslint/types": {
-			"version": "8.35.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.35.1.tgz",
-			"integrity": "sha512-q/O04vVnKHfrrhNAscndAn1tuQhIkwqnaW+eu5waD5IPts2eX1dgJxgqcPx5BX109/qAz7IG6VrEPTOYKCNfRQ==",
+			"version": "8.46.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.46.0.tgz",
+			"integrity": "sha512-bHGGJyVjSE4dJJIO5yyEWt/cHyNwga/zXGJbJJ8TiO01aVREK6gCTu3L+5wrkb1FbDkQ+TKjMNe9R/QQQP9+rA==",
 			"dev": true,
 			"engines": {
 				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -674,15 +449,15 @@
 			}
 		},
 		"node_modules/@typescript-eslint/typescript-estree": {
-			"version": "8.35.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.35.1.tgz",
-			"integrity": "sha512-Vvpuvj4tBxIka7cPs6Y1uvM7gJgdF5Uu9F+mBJBPY4MhvjrjWGK4H0lVgLJd/8PWZ23FTqsaJaLEkBCFUk8Y9g==",
+			"version": "8.46.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.46.0.tgz",
+			"integrity": "sha512-ekDCUfVpAKWJbRfm8T1YRrCot1KFxZn21oV76v5Fj4tr7ELyk84OS+ouvYdcDAwZL89WpEkEj2DKQ+qg//+ucg==",
 			"dev": true,
 			"dependencies": {
-				"@typescript-eslint/project-service": "8.35.1",
-				"@typescript-eslint/tsconfig-utils": "8.35.1",
-				"@typescript-eslint/types": "8.35.1",
-				"@typescript-eslint/visitor-keys": "8.35.1",
+				"@typescript-eslint/project-service": "8.46.0",
+				"@typescript-eslint/tsconfig-utils": "8.46.0",
+				"@typescript-eslint/types": "8.46.0",
+				"@typescript-eslint/visitor-keys": "8.46.0",
 				"debug": "^4.3.4",
 				"fast-glob": "^3.3.2",
 				"is-glob": "^4.0.3",
@@ -698,7 +473,7 @@
 				"url": "https://opencollective.com/typescript-eslint"
 			},
 			"peerDependencies": {
-				"typescript": ">=4.8.4 <5.9.0"
+				"typescript": ">=4.8.4 <6.0.0"
 			}
 		},
 		"node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": {
@@ -726,15 +501,15 @@
 			}
 		},
 		"node_modules/@typescript-eslint/utils": {
-			"version": "8.35.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.35.1.tgz",
-			"integrity": "sha512-lhnwatFmOFcazAsUm3ZnZFpXSxiwoa1Lj50HphnDe1Et01NF4+hrdXONSUHIcbVu2eFb1bAf+5yjXkGVkXBKAQ==",
+			"version": "8.46.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.46.0.tgz",
+			"integrity": "sha512-nD6yGWPj1xiOm4Gk0k6hLSZz2XkNXhuYmyIrOWcHoPuAhjT9i5bAG+xbWPgFeNR8HPHHtpNKdYUXJl/D3x7f5g==",
 			"dev": true,
 			"dependencies": {
 				"@eslint-community/eslint-utils": "^4.7.0",
-				"@typescript-eslint/scope-manager": "8.35.1",
-				"@typescript-eslint/types": "8.35.1",
-				"@typescript-eslint/typescript-estree": "8.35.1"
+				"@typescript-eslint/scope-manager": "8.46.0",
+				"@typescript-eslint/types": "8.46.0",
+				"@typescript-eslint/typescript-estree": "8.46.0"
 			},
 			"engines": {
 				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -745,16 +520,16 @@
 			},
 			"peerDependencies": {
 				"eslint": "^8.57.0 || ^9.0.0",
-				"typescript": ">=4.8.4 <5.9.0"
+				"typescript": ">=4.8.4 <6.0.0"
 			}
 		},
 		"node_modules/@typescript-eslint/visitor-keys": {
-			"version": "8.35.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.35.1.tgz",
-			"integrity": "sha512-VRwixir4zBWCSTP/ljEo091lbpypz57PoeAQ9imjG+vbeof9LplljsL1mos4ccG6H9IjfrVGM359RozUnuFhpw==",
+			"version": "8.46.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.46.0.tgz",
+			"integrity": "sha512-FrvMpAK+hTbFy7vH5j1+tMYHMSKLE6RzluFJlkFNKD0p9YsUT75JlBSmr5so3QRzvMwU5/bIEdeNrxm8du8l3Q==",
 			"dev": true,
 			"dependencies": {
-				"@typescript-eslint/types": "8.35.1",
+				"@typescript-eslint/types": "8.46.0",
 				"eslint-visitor-keys": "^4.2.1"
 			},
 			"engines": {
@@ -835,18 +610,6 @@
 				"node": ">=8"
 			}
 		},
-		"node_modules/ansi-styles": {
-			"version": "3.2.1",
-			"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
-			"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
-			"dev": true,
-			"dependencies": {
-				"color-convert": "^1.9.0"
-			},
-			"engines": {
-				"node": ">=4"
-			}
-		},
 		"node_modules/are-docs-informative": {
 			"version": "0.0.2",
 			"resolved": "https://registry.npmjs.org/are-docs-informative/-/are-docs-informative-0.0.2.tgz",
@@ -890,12 +653,12 @@
 			}
 		},
 		"node_modules/ast-metadata-inferer": {
-			"version": "0.8.0",
-			"resolved": "https://registry.npmjs.org/ast-metadata-inferer/-/ast-metadata-inferer-0.8.0.tgz",
-			"integrity": "sha512-jOMKcHht9LxYIEQu+RVd22vtgrPaVCtDRQ/16IGmurdzxvYbDd5ynxjnyrzLnieG96eTcAyaoj/wN/4/1FyyeA==",
+			"version": "0.8.1",
+			"resolved": "https://registry.npmjs.org/ast-metadata-inferer/-/ast-metadata-inferer-0.8.1.tgz",
+			"integrity": "sha512-ht3Dm6Zr7SXv6t1Ra6gFo0+kLDglHGrEbYihTkcycrbHw7WCcuhBzPlJYHEsIpycaUwzsJHje+vUcxXUX4ztTA==",
 			"dev": true,
 			"dependencies": {
-				"@mdn/browser-compat-data": "^5.2.34"
+				"@mdn/browser-compat-data": "^5.6.19"
 			}
 		},
 		"node_modules/async": {
@@ -910,6 +673,15 @@
 			"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
 			"dev": true
 		},
+		"node_modules/baseline-browser-mapping": {
+			"version": "2.8.28",
+			"resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.28.tgz",
+			"integrity": "sha512-gYjt7OIqdM0PcttNYP2aVrr2G0bMALkBaoehD4BuRGjAOtipg0b6wHg1yNL+s5zSnLZZrGHOw4IrND8CD+3oIQ==",
+			"dev": true,
+			"bin": {
+				"baseline-browser-mapping": "dist/cli.js"
+			}
+		},
 		"node_modules/boolbase": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
@@ -939,9 +711,9 @@
 			}
 		},
 		"node_modules/browserslist": {
-			"version": "4.24.0",
-			"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.0.tgz",
-			"integrity": "sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==",
+			"version": "4.28.0",
+			"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.0.tgz",
+			"integrity": "sha512-tbydkR/CxfMwelN0vwdP/pLkDwyAASZ+VfWm4EOwlB6SWhx1sYnWLqo8N5j0rAzPfzfRaxt0mM/4wPU/Su84RQ==",
 			"dev": true,
 			"funding": [
 				{
@@ -958,10 +730,11 @@
 				}
 			],
 			"dependencies": {
-				"caniuse-lite": "^1.0.30001663",
-				"electron-to-chromium": "^1.5.28",
-				"node-releases": "^2.0.18",
-				"update-browserslist-db": "^1.1.0"
+				"baseline-browser-mapping": "^2.8.25",
+				"caniuse-lite": "^1.0.30001754",
+				"electron-to-chromium": "^1.5.249",
+				"node-releases": "^2.0.27",
+				"update-browserslist-db": "^1.1.4"
 			},
 			"bin": {
 				"browserslist": "cli.js"
@@ -998,9 +771,9 @@
 			}
 		},
 		"node_modules/caniuse-lite": {
-			"version": "1.0.30001727",
-			"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001727.tgz",
-			"integrity": "sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q==",
+			"version": "1.0.30001754",
+			"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001754.tgz",
+			"integrity": "sha512-x6OeBXueoAceOmotzx3PO4Zpt4rzpeIFsSr6AAePTZxSkXiYDUmpypEl7e2+8NCd9bD7bXjqyef8CJYPC1jfxg==",
 			"dev": true,
 			"funding": [
 				{
@@ -1015,8 +788,7 @@
 					"type": "github",
 					"url": "https://github.com/sponsors/ai"
 				}
-			],
-			"license": "CC-BY-4.0"
+			]
 		},
 		"node_modules/chalk": {
 			"version": "4.1.2",
@@ -1086,9 +858,9 @@
 			}
 		},
 		"node_modules/ci-info": {
-			"version": "4.0.0",
-			"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.0.0.tgz",
-			"integrity": "sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==",
+			"version": "4.3.1",
+			"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.1.tgz",
+			"integrity": "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==",
 			"dev": true,
 			"funding": [
 				{
@@ -1121,21 +893,6 @@
 				"node": ">=0.8.0"
 			}
 		},
-		"node_modules/color-convert": {
-			"version": "1.9.3",
-			"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
-			"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
-			"dev": true,
-			"dependencies": {
-				"color-name": "1.1.3"
-			}
-		},
-		"node_modules/color-name": {
-			"version": "1.1.3",
-			"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
-			"integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
-			"dev": true
-		},
 		"node_modules/colors": {
 			"version": "1.1.2",
 			"resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
@@ -1161,12 +918,12 @@
 			"dev": true
 		},
 		"node_modules/core-js-compat": {
-			"version": "3.38.1",
-			"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz",
-			"integrity": "sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==",
+			"version": "3.46.0",
+			"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.46.0.tgz",
+			"integrity": "sha512-p9hObIIEENxSV8xIu+V68JjSeARg6UVMG5mR+JEUguG3sI6MsiS1njz2jHmyJDvA+8jX/sytkBHup6kxhM9law==",
 			"dev": true,
 			"dependencies": {
-				"browserslist": "^4.23.3"
+				"browserslist": "^4.26.3"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -1209,12 +966,12 @@
 			}
 		},
 		"node_modules/debug": {
-			"version": "4.3.4",
-			"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
-			"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+			"version": "4.4.3",
+			"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+			"integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
 			"dev": true,
 			"dependencies": {
-				"ms": "2.1.2"
+				"ms": "^2.1.3"
 			},
 			"engines": {
 				"node": ">=6.0"
@@ -1240,6 +997,15 @@
 				"node": ">=0.10.0"
 			}
 		},
+		"node_modules/diff-sequences": {
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz",
+			"integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==",
+			"dev": true,
+			"engines": {
+				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+			}
+		},
 		"node_modules/doctrine": {
 			"version": "3.0.0",
 			"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
@@ -1253,15 +1019,15 @@
 			}
 		},
 		"node_modules/electron-to-chromium": {
-			"version": "1.5.32",
-			"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.32.tgz",
-			"integrity": "sha512-M+7ph0VGBQqqpTT2YrabjNKSQ2fEl9PVx6AK3N558gDH9NO8O6XN9SXXFWRo9u9PbEg/bWq+tjXQr+eXmxubCw==",
+			"version": "1.5.253",
+			"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.253.tgz",
+			"integrity": "sha512-O0tpQ/35rrgdiGQ0/OFWhy1itmd9A6TY9uQzlqj3hKSu/aYpe7UIn5d7CU2N9myH6biZiWF3VMZVuup8pw5U9w==",
 			"dev": true
 		},
 		"node_modules/enhanced-resolve": {
-			"version": "5.17.1",
-			"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz",
-			"integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==",
+			"version": "5.18.3",
+			"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz",
+			"integrity": "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==",
 			"dev": true,
 			"dependencies": {
 				"graceful-fs": "^4.2.4",
@@ -1272,9 +1038,9 @@
 			}
 		},
 		"node_modules/error-ex": {
-			"version": "1.3.2",
-			"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
-			"integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+			"version": "1.3.4",
+			"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz",
+			"integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==",
 			"dev": true,
 			"dependencies": {
 				"is-arrayish": "^0.2.1"
@@ -1357,9 +1123,9 @@
 			}
 		},
 		"node_modules/eslint-compat-utils": {
-			"version": "0.5.1",
-			"resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.5.1.tgz",
-			"integrity": "sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==",
+			"version": "0.6.5",
+			"resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.6.5.tgz",
+			"integrity": "sha512-vAUHYzue4YAa2hNACjB8HvUQj5yehAZgiClyFVVom9cP8z5NSFq3PwB/TtJslN2zAMgRX6FCFCjYBbQh71g5RQ==",
 			"dev": true,
 			"dependencies": {
 				"semver": "^7.5.4"
@@ -1372,61 +1138,74 @@
 			}
 		},
 		"node_modules/eslint-config-wikimedia": {
-			"version": "0.31.0",
-			"resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.31.0.tgz",
-			"integrity": "sha512-Z/t/zGPdxs/ehxb0EM6THNWAzueT7GtuqzjUvmBpkxcTKzZPJEXWnnpswdj/hgv8Ce8PIeDp0zwQxR4e3c9CIw==",
+			"version": "0.32.1",
+			"resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.32.1.tgz",
+			"integrity": "sha512-gPvhyVFNlpKFOcJfoVTNlzg3A0b6qjhAbjjBIJ9xp5m+om0oqix5gkqIIEav5BaGxdDxYNmrY4ge3DAPP3u/lg==",
 			"dev": true,
 			"dependencies": {
 				"@stylistic/eslint-plugin": "^3.1.0",
-				"@typescript-eslint/eslint-plugin": "8.35.1",
-				"@typescript-eslint/parser": "8.35.1",
+				"@typescript-eslint/eslint-plugin": "8.46.0",
+				"@typescript-eslint/parser": "8.46.0",
 				"browserslist-config-wikimedia": "^0.7.0",
 				"eslint": "^8.57.0",
-				"eslint-plugin-compat": "^4.2.0",
-				"eslint-plugin-es-x": "^7.6.0",
-				"eslint-plugin-jest": "^28.5.0",
-				"eslint-plugin-jsdoc": "48.2.5",
+				"eslint-plugin-compat": "^6.0.2",
+				"eslint-plugin-es-x": "^8.7.0",
+				"eslint-plugin-jest": "^29.0.1",
+				"eslint-plugin-jsdoc": "61.0.0",
 				"eslint-plugin-json-es": "^1.6.0",
-				"eslint-plugin-mediawiki": "^0.7.0",
-				"eslint-plugin-mocha": "^10.4.3",
-				"eslint-plugin-n": "^17.7.0",
+				"eslint-plugin-mediawiki": "^0.8.1",
+				"eslint-plugin-mocha": "^10.5.0",
+				"eslint-plugin-n": "^17.23.1",
 				"eslint-plugin-no-jquery": "^3.1.1",
-				"eslint-plugin-qunit": "^8.1.1",
-				"eslint-plugin-security": "^1.7.1",
-				"eslint-plugin-unicorn": "^53.0.0",
-				"eslint-plugin-vue": "^9.26.0",
-				"eslint-plugin-wdio": "^8.24.12",
-				"eslint-plugin-yml": "^1.14.0"
+				"eslint-plugin-qunit": "^8.2.5",
+				"eslint-plugin-security": "^3.0.1",
+				"eslint-plugin-unicorn": "^56.0.1",
+				"eslint-plugin-vue": "^9.33.0",
+				"eslint-plugin-wdio": "^9.16.2",
+				"eslint-plugin-yml": "^1.19.0"
 			},
 			"engines": {
-				"node": ">=18 <25"
+				"node": ">=20 <25"
 			}
 		},
 		"node_modules/eslint-plugin-compat": {
-			"version": "4.2.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-compat/-/eslint-plugin-compat-4.2.0.tgz",
-			"integrity": "sha512-RDKSYD0maWy5r7zb5cWQS+uSPc26mgOzdORJ8hxILmWM7S/Ncwky7BcAtXVY5iRbKjBdHsWU8Yg7hfoZjtkv7w==",
+			"version": "6.0.2",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-compat/-/eslint-plugin-compat-6.0.2.tgz",
+			"integrity": "sha512-1ME+YfJjmOz1blH0nPZpHgjMGK4kjgEeoYqGCqoBPQ/mGu/dJzdoP0f1C8H2jcWZjzhZjAMccbM/VdXhPORIfA==",
 			"dev": true,
 			"dependencies": {
-				"@mdn/browser-compat-data": "^5.3.13",
-				"ast-metadata-inferer": "^0.8.0",
-				"browserslist": "^4.21.10",
-				"caniuse-lite": "^1.0.30001524",
+				"@mdn/browser-compat-data": "^5.5.35",
+				"ast-metadata-inferer": "^0.8.1",
+				"browserslist": "^4.24.2",
+				"caniuse-lite": "^1.0.30001687",
 				"find-up": "^5.0.0",
+				"globals": "^15.7.0",
 				"lodash.memoize": "^4.1.2",
-				"semver": "^7.5.4"
+				"semver": "^7.6.2"
 			},
 			"engines": {
-				"node": ">=14.x"
+				"node": ">=18.x"
 			},
 			"peerDependencies": {
-				"eslint": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0"
+				"eslint": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0"
+			}
+		},
+		"node_modules/eslint-plugin-compat/node_modules/globals": {
+			"version": "15.15.0",
+			"resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz",
+			"integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==",
+			"dev": true,
+			"engines": {
+				"node": ">=18"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
 		"node_modules/eslint-plugin-es-x": {
-			"version": "7.8.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.8.0.tgz",
-			"integrity": "sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==",
+			"version": "8.7.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-8.7.0.tgz",
+			"integrity": "sha512-Du5Sb067sjqzmglaPhsfcEQgE1EYfL8sko+4jOMcAB/XKGoCxntSrOmTYuVzswA1rzM9+MZwH6+GOp0G3/wVCg==",
 			"dev": true,
 			"funding": [
 				"https://github.com/sponsors/ota-meshi",
@@ -1434,8 +1213,8 @@
 			],
 			"dependencies": {
 				"@eslint-community/eslint-utils": "^4.1.2",
-				"@eslint-community/regexpp": "^4.11.0",
-				"eslint-compat-utils": "^0.5.1"
+				"@eslint-community/regexpp": "^4.12.1",
+				"eslint-compat-utils": "^0.6.3"
 			},
 			"engines": {
 				"node": "^14.18.0 || >=16.0.0"
@@ -1445,19 +1224,19 @@
 			}
 		},
 		"node_modules/eslint-plugin-jest": {
-			"version": "28.8.3",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.8.3.tgz",
-			"integrity": "sha512-HIQ3t9hASLKm2IhIOqnu+ifw7uLZkIlR7RYNv7fMcEi/p0CIiJmfriStQS2LDkgtY4nyLbIZAD+JL347Yc2ETQ==",
+			"version": "29.1.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-29.1.0.tgz",
+			"integrity": "sha512-LabxXbASXVjguqL+kBHTPMf3gUeSqwH4fsrEyHTY/MCs42I/p9+ctg09SJpYiD8eGaIsP6GwYr5xW6xWS9XgZg==",
 			"dev": true,
 			"dependencies": {
-				"@typescript-eslint/utils": "^6.0.0 || ^7.0.0 || ^8.0.0"
+				"@typescript-eslint/utils": "^8.0.0"
 			},
 			"engines": {
-				"node": "^16.10.0 || ^18.12.0 || >=20.0.0"
+				"node": "^20.12.0 || ^22.0.0 || >=24.0.0"
 			},
 			"peerDependencies": {
-				"@typescript-eslint/eslint-plugin": "^6.0.0 || ^7.0.0 || ^8.0.0",
-				"eslint": "^7.0.0 || ^8.0.0 || ^9.0.0",
+				"@typescript-eslint/eslint-plugin": "^8.0.0",
+				"eslint": "^8.57.0 || ^9.0.0",
 				"jest": "*"
 			},
 			"peerDependenciesMeta": {
@@ -1470,28 +1249,60 @@
 			}
 		},
 		"node_modules/eslint-plugin-jsdoc": {
-			"version": "48.2.5",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-48.2.5.tgz",
-			"integrity": "sha512-ZeTfKV474W1N9niWfawpwsXGu+ZoMXu4417eBROX31d7ZuOk8zyG66SO77DpJ2+A9Wa2scw/jRqBPnnQo7VbcQ==",
+			"version": "61.0.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-61.0.0.tgz",
+			"integrity": "sha512-YxvOY3A9H8usnOfOEH82y71yHR7zVNWZJpQbjkC+rWqrADQtM+Gza3+db/j9euNNWCNKnN+/gBrowg16n9lwgg==",
 			"dev": true,
 			"dependencies": {
-				"@es-joy/jsdoccomment": "~0.43.0",
+				"@es-joy/jsdoccomment": "~0.75.0",
 				"are-docs-informative": "^0.0.2",
 				"comment-parser": "1.4.1",
-				"debug": "^4.3.4",
+				"debug": "^4.4.3",
 				"escape-string-regexp": "^4.0.0",
-				"esquery": "^1.5.0",
-				"is-builtin-module": "^3.2.1",
-				"semver": "^7.6.1",
+				"espree": "^10.4.0",
+				"esquery": "^1.6.0",
+				"html-entities": "^2.6.0",
+				"object-deep-merge": "^1.0.5",
+				"parse-imports-exports": "^0.2.4",
+				"semver": "^7.7.3",
 				"spdx-expression-parse": "^4.0.0"
 			},
 			"engines": {
-				"node": ">=18"
+				"node": ">=20.11.0"
 			},
 			"peerDependencies": {
 				"eslint": "^7.0.0 || ^8.0.0 || ^9.0.0"
 			}
 		},
+		"node_modules/eslint-plugin-jsdoc/node_modules/eslint-visitor-keys": {
+			"version": "4.2.1",
+			"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
+			"integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
+			"dev": true,
+			"engines": {
+				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+			},
+			"funding": {
+				"url": "https://opencollective.com/eslint"
+			}
+		},
+		"node_modules/eslint-plugin-jsdoc/node_modules/espree": {
+			"version": "10.4.0",
+			"resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz",
+			"integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==",
+			"dev": true,
+			"dependencies": {
+				"acorn": "^8.15.0",
+				"acorn-jsx": "^5.3.2",
+				"eslint-visitor-keys": "^4.2.1"
+			},
+			"engines": {
+				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+			},
+			"funding": {
+				"url": "https://opencollective.com/eslint"
+			}
+		},
 		"node_modules/eslint-plugin-json-es": {
 			"version": "1.6.0",
 			"resolved": "https://registry.npmjs.org/eslint-plugin-json-es/-/eslint-plugin-json-es-1.6.0.tgz",
@@ -1506,12 +1317,11 @@
 			}
 		},
 		"node_modules/eslint-plugin-mediawiki": {
-			"version": "0.7.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.7.0.tgz",
-			"integrity": "sha512-1Y2nsFDPp96xOZCB5ivZAgqYe9i6w2u64VoCIaAzPyZnd/2h8VQR3CtD+u4Yk/KrpbKq9AAJjrs5LS8VAz6KOA==",
+			"version": "0.8.1",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.8.1.tgz",
+			"integrity": "sha512-zjTg3hh375lkztKhOYEmPeYiIhKooAu92BkZf2F/fr+5Htvb2i8MNB3gImhM98aTBbkyHTjXoyTHNUrjSjPhmw==",
 			"dev": true,
 			"dependencies": {
-				"eslint-plugin-vue": "^9.23.0",
 				"upath": "^2.0.1"
 			},
 			"peerDependencies": {
@@ -1519,9 +1329,9 @@
 			}
 		},
 		"node_modules/eslint-plugin-mocha": {
-			"version": "10.4.3",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-10.4.3.tgz",
-			"integrity": "sha512-emc4TVjq5Ht0/upR+psftuz6IBG5q279p+1dSRDeHf+NS9aaerBi3lXKo1SEzwC29hFIW21gO89CEWSvRsi8IQ==",
+			"version": "10.5.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-10.5.0.tgz",
+			"integrity": "sha512-F2ALmQVPT1GoP27O1JTZGrV9Pqg8k79OeIuvw63UxMtQKREZtmkK1NFgkZQ2TW7L2JSSFKHFPTtHu5z8R9QNRw==",
 			"dev": true,
 			"dependencies": {
 				"eslint-utils": "^3.0.0",
@@ -1536,19 +1346,20 @@
 			}
 		},
 		"node_modules/eslint-plugin-n": {
-			"version": "17.10.3",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.10.3.tgz",
-			"integrity": "sha512-ySZBfKe49nQZWR1yFaA0v/GsH6Fgp8ah6XV0WDz6CN8WO0ek4McMzb7A2xnf4DCYV43frjCygvb9f/wx7UUxRw==",
-			"dev": true,
-			"dependencies": {
-				"@eslint-community/eslint-utils": "^4.4.0",
-				"enhanced-resolve": "^5.17.0",
-				"eslint-plugin-es-x": "^7.5.0",
-				"get-tsconfig": "^4.7.0",
-				"globals": "^15.8.0",
-				"ignore": "^5.2.4",
-				"minimatch": "^9.0.5",
-				"semver": "^7.5.3"
+			"version": "17.23.1",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.23.1.tgz",
+			"integrity": "sha512-68PealUpYoHOBh332JLLD9Sj7OQUDkFpmcfqt8R9sySfFSeuGJjMTJQvCRRB96zO3A/PELRLkPrzsHmzEFQQ5A==",
+			"dev": true,
+			"dependencies": {
+				"@eslint-community/eslint-utils": "^4.5.0",
+				"enhanced-resolve": "^5.17.1",
+				"eslint-plugin-es-x": "^7.8.0",
+				"get-tsconfig": "^4.8.1",
+				"globals": "^15.11.0",
+				"globrex": "^0.1.2",
+				"ignore": "^5.3.2",
+				"semver": "^7.6.3",
+				"ts-declaration-location": "^1.0.6"
 			},
 			"engines": {
 				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -1560,40 +1371,52 @@
 				"eslint": ">=8.23.0"
 			}
 		},
-		"node_modules/eslint-plugin-n/node_modules/brace-expansion": {
-			"version": "2.0.2",
-			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
-			"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
+		"node_modules/eslint-plugin-n/node_modules/eslint-compat-utils": {
+			"version": "0.5.1",
+			"resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.5.1.tgz",
+			"integrity": "sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==",
 			"dev": true,
 			"dependencies": {
-				"balanced-match": "^1.0.0"
+				"semver": "^7.5.4"
+			},
+			"engines": {
+				"node": ">=12"
+			},
+			"peerDependencies": {
+				"eslint": ">=6.0.0"
 			}
 		},
-		"node_modules/eslint-plugin-n/node_modules/globals": {
-			"version": "15.10.0",
-			"resolved": "https://registry.npmjs.org/globals/-/globals-15.10.0.tgz",
-			"integrity": "sha512-tqFIbz83w4Y5TCbtgjZjApohbuh7K9BxGYFm7ifwDR240tvdb7P9x+/9VvUKlmkPoiknoJtanI8UOrqxS3a7lQ==",
+		"node_modules/eslint-plugin-n/node_modules/eslint-plugin-es-x": {
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.8.0.tgz",
+			"integrity": "sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==",
 			"dev": true,
+			"funding": [
+				"https://github.com/sponsors/ota-meshi",
+				"https://opencollective.com/eslint"
+			],
+			"dependencies": {
+				"@eslint-community/eslint-utils": "^4.1.2",
+				"@eslint-community/regexpp": "^4.11.0",
+				"eslint-compat-utils": "^0.5.1"
+			},
 			"engines": {
-				"node": ">=18"
+				"node": "^14.18.0 || >=16.0.0"
 			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
+			"peerDependencies": {
+				"eslint": ">=8"
 			}
 		},
-		"node_modules/eslint-plugin-n/node_modules/minimatch": {
-			"version": "9.0.5",
-			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
-			"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+		"node_modules/eslint-plugin-n/node_modules/globals": {
+			"version": "15.15.0",
+			"resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz",
+			"integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==",
 			"dev": true,
-			"dependencies": {
-				"brace-expansion": "^2.0.1"
-			},
 			"engines": {
-				"node": ">=16 || 14 >=14.17"
+				"node": ">=18"
 			},
 			"funding": {
-				"url": "https://github.com/sponsors/isaacs"
+				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
 		"node_modules/eslint-plugin-no-jquery": {
@@ -1606,9 +1429,9 @@
 			}
 		},
 		"node_modules/eslint-plugin-qunit": {
-			"version": "8.1.1",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-qunit/-/eslint-plugin-qunit-8.1.1.tgz",
-			"integrity": "sha512-j3xhiAf2Wvr8Dfwl5T6tlJ+F55vqYE9ZdAHUOTzq1lGerYrXzOS46RvK4SSWug2D8sl3ZYr2lA4/hgVXgLloxw==",
+			"version": "8.2.5",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-qunit/-/eslint-plugin-qunit-8.2.5.tgz",
+			"integrity": "sha512-qr7RJCYImKQjB+39q4q46i1l7p1V3joHzBE5CAYfxn5tfVFjrnjn/tw7q/kDyweU9kAIcLul0Dx/KWVUCb3BgA==",
 			"dev": true,
 			"dependencies": {
 				"eslint-utils": "^3.0.0",
@@ -1619,27 +1442,33 @@
 			}
 		},
 		"node_modules/eslint-plugin-security": {
-			"version": "1.7.1",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-security/-/eslint-plugin-security-1.7.1.tgz",
-			"integrity": "sha512-sMStceig8AFglhhT2LqlU5r+/fn9OwsA72O5bBuQVTssPCdQAOQzL+oMn/ZcpeUY6KcNfLJArgcrsSULNjYYdQ==",
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-security/-/eslint-plugin-security-3.0.1.tgz",
+			"integrity": "sha512-XjVGBhtDZJfyuhIxnQ/WMm385RbX3DBu7H1J7HNNhmB2tnGxMeqVSnYv79oAj992ayvIBZghsymwkYFS6cGH4Q==",
 			"dev": true,
 			"dependencies": {
 				"safe-regex": "^2.1.1"
+			},
+			"engines": {
+				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+			},
+			"funding": {
+				"url": "https://opencollective.com/eslint"
 			}
 		},
 		"node_modules/eslint-plugin-unicorn": {
-			"version": "53.0.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-53.0.0.tgz",
-			"integrity": "sha512-kuTcNo9IwwUCfyHGwQFOK/HjJAYzbODHN3wP0PgqbW+jbXqpNWxNVpVhj2tO9SixBwuAdmal8rVcWKBxwFnGuw==",
+			"version": "56.0.1",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-56.0.1.tgz",
+			"integrity": "sha512-FwVV0Uwf8XPfVnKSGpMg7NtlZh0G0gBarCaFcMUOoqPxXryxdYxTRRv4kH6B9TFCVIrjRXG+emcxIk2ayZilog==",
 			"dev": true,
 			"dependencies": {
-				"@babel/helper-validator-identifier": "^7.24.5",
+				"@babel/helper-validator-identifier": "^7.24.7",
 				"@eslint-community/eslint-utils": "^4.4.0",
-				"@eslint/eslintrc": "^3.0.2",
 				"ci-info": "^4.0.0",
 				"clean-regexp": "^1.0.0",
-				"core-js-compat": "^3.37.0",
-				"esquery": "^1.5.0",
+				"core-js-compat": "^3.38.1",
+				"esquery": "^1.6.0",
+				"globals": "^15.9.0",
 				"indent-string": "^4.0.0",
 				"is-builtin-module": "^3.2.1",
 				"jsesc": "^3.0.2",
@@ -1647,7 +1476,7 @@
 				"read-pkg-up": "^7.0.1",
 				"regexp-tree": "^0.1.27",
 				"regjsparser": "^0.10.0",
-				"semver": "^7.6.1",
+				"semver": "^7.6.3",
 				"strip-indent": "^3.0.0"
 			},
 			"engines": {
@@ -1660,68 +1489,10 @@
 				"eslint": ">=8.56.0"
 			}
 		},
-		"node_modules/eslint-plugin-unicorn/node_modules/@eslint/eslintrc": {
-			"version": "3.1.0",
-			"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz",
-			"integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==",
-			"dev": true,
-			"dependencies": {
-				"ajv": "^6.12.4",
-				"debug": "^4.3.2",
-				"espree": "^10.0.1",
-				"globals": "^14.0.0",
-				"ignore": "^5.2.0",
-				"import-fresh": "^3.2.1",
-				"js-yaml": "^4.1.0",
-				"minimatch": "^3.1.2",
-				"strip-json-comments": "^3.1.1"
-			},
-			"engines": {
-				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
-			},
-			"funding": {
-				"url": "https://opencollective.com/eslint"
-			}
-		},
-		"node_modules/eslint-plugin-unicorn/node_modules/argparse": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
-			"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
-			"dev": true
-		},
-		"node_modules/eslint-plugin-unicorn/node_modules/eslint-visitor-keys": {
-			"version": "4.1.0",
-			"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.1.0.tgz",
-			"integrity": "sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==",
-			"dev": true,
-			"engines": {
-				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
-			},
-			"funding": {
-				"url": "https://opencollective.com/eslint"
-			}
-		},
-		"node_modules/eslint-plugin-unicorn/node_modules/espree": {
-			"version": "10.2.0",
-			"resolved": "https://registry.npmjs.org/espree/-/espree-10.2.0.tgz",
-			"integrity": "sha512-upbkBJbckcCNBDBDXEbuhjbP68n+scUd3k/U2EkyM9nw+I/jPiL4cLF/Al06CF96wRltFda16sxDFrxsI1v0/g==",
-			"dev": true,
-			"dependencies": {
-				"acorn": "^8.12.0",
-				"acorn-jsx": "^5.3.2",
-				"eslint-visitor-keys": "^4.1.0"
-			},
-			"engines": {
-				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
-			},
-			"funding": {
-				"url": "https://opencollective.com/eslint"
-			}
-		},
 		"node_modules/eslint-plugin-unicorn/node_modules/globals": {
-			"version": "14.0.0",
-			"resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
-			"integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
+			"version": "15.15.0",
+			"resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz",
+			"integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==",
 			"dev": true,
 			"engines": {
 				"node": ">=18"
@@ -1730,34 +1501,10 @@
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
-		"node_modules/eslint-plugin-unicorn/node_modules/js-yaml": {
-			"version": "4.1.0",
-			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
-			"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
-			"dev": true,
-			"dependencies": {
-				"argparse": "^2.0.1"
-			},
-			"bin": {
-				"js-yaml": "bin/js-yaml.js"
-			}
-		},
-		"node_modules/eslint-plugin-unicorn/node_modules/minimatch": {
-			"version": "3.1.2",
-			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-			"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
-			"dev": true,
-			"dependencies": {
-				"brace-expansion": "^1.1.7"
-			},
-			"engines": {
-				"node": "*"
-			}
-		},
 		"node_modules/eslint-plugin-vue": {
-			"version": "9.28.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.28.0.tgz",
-			"integrity": "sha512-ShrihdjIhOTxs+MfWun6oJWuk+g/LAhN+CiuOl/jjkG3l0F2AuK5NMTaWqyvBgkFtpYmyks6P4603mLmhNJW8g==",
+			"version": "9.33.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.33.0.tgz",
+			"integrity": "sha512-174lJKuNsuDIlLpjeXc5E2Tss8P44uIimAfGD0b90k0NoirJqpG7stLuU9Vp/9ioTOrQdWVREc4mRd1BD+CvGw==",
 			"dev": true,
 			"dependencies": {
 				"@eslint-community/eslint-utils": "^4.4.0",
@@ -1777,23 +1524,24 @@
 			}
 		},
 		"node_modules/eslint-plugin-wdio": {
-			"version": "8.24.12",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-wdio/-/eslint-plugin-wdio-8.24.12.tgz",
-			"integrity": "sha512-OmzGteXFOQnJDdkTNnTfksaVa18WlFCyeLjZXHvDpkbomLWAg9wc296Pr0wnTCagqNj8qfEHpy+N2XVew5VCMA==",
+			"version": "9.16.2",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-wdio/-/eslint-plugin-wdio-9.16.2.tgz",
+			"integrity": "sha512-qkqsPgxN70OnUPWMjmzJbSbvm2+Q087JIGss53/OFI4Y46xKlV5VLhLiYealaAibAiXmnfWKd0tERjZAzVL87A==",
 			"dev": true,
 			"engines": {
-				"node": "^16.13 || >=18"
+				"node": ">=18.20.0"
 			}
 		},
 		"node_modules/eslint-plugin-yml": {
-			"version": "1.14.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-yml/-/eslint-plugin-yml-1.14.0.tgz",
-			"integrity": "sha512-ESUpgYPOcAYQO9czugcX5OqRvn/ydDVwGCPXY4YjPqc09rHaUVUA6IE6HLQys4rXk/S+qx3EwTd1wHCwam/OWQ==",
+			"version": "1.19.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-yml/-/eslint-plugin-yml-1.19.0.tgz",
+			"integrity": "sha512-S+4GbcCWksFKAvFJtf0vpdiCkZZvDJCV4Zsi9ahmYkYOYcf+LRqqzvzkb/ST7vTYV6sFwXOvawzYyL/jFT2nQA==",
 			"dev": true,
 			"dependencies": {
 				"debug": "^4.3.2",
-				"eslint-compat-utils": "^0.5.0",
-				"lodash": "^4.17.21",
+				"diff-sequences": "^27.5.1",
+				"escape-string-regexp": "4.0.0",
+				"eslint-compat-utils": "^0.6.0",
 				"natural-compare": "^1.4.0",
 				"yaml-eslint-parser": "^1.2.1"
 			},
@@ -1869,9 +1617,9 @@
 			"dev": true
 		},
 		"node_modules/eslint/node_modules/js-yaml": {
-			"version": "4.1.0",
-			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
-			"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+			"version": "4.1.1",
+			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+			"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
 			"dev": true,
 			"dependencies": {
 				"argparse": "^2.0.1"
@@ -1923,9 +1671,9 @@
 			}
 		},
 		"node_modules/esquery": {
-			"version": "1.5.0",
-			"resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
-			"integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
+			"version": "1.6.0",
+			"resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz",
+			"integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==",
 			"dev": true,
 			"dependencies": {
 				"estraverse": "^5.1.0"
@@ -2188,9 +1936,9 @@
 			}
 		},
 		"node_modules/get-tsconfig": {
-			"version": "4.8.1",
-			"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.8.1.tgz",
-			"integrity": "sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==",
+			"version": "4.13.0",
+			"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.0.tgz",
+			"integrity": "sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==",
 			"dev": true,
 			"dependencies": {
 				"resolve-pkg-maps": "^1.0.0"
@@ -2294,6 +2042,12 @@
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
+		"node_modules/globrex": {
+			"version": "0.1.2",
+			"resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz",
+			"integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==",
+			"dev": true
+		},
 		"node_modules/graceful-fs": {
 			"version": "4.2.11",
 			"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
@@ -2454,15 +2208,6 @@
 				"node": ">=10"
 			}
 		},
-		"node_modules/has-flag": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
-			"integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
-			"dev": true,
-			"engines": {
-				"node": ">=4"
-			}
-		},
 		"node_modules/hasown": {
 			"version": "2.0.2",
 			"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
@@ -2502,6 +2247,22 @@
 			"integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
 			"dev": true
 		},
+		"node_modules/html-entities": {
+			"version": "2.6.0",
+			"resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.6.0.tgz",
+			"integrity": "sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==",
+			"dev": true,
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/mdevils"
+				},
+				{
+					"type": "patreon",
+					"url": "https://patreon.com/mdevils"
+				}
+			]
+		},
 		"node_modules/iconv-lite": {
 			"version": "0.6.3",
 			"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
@@ -2515,9 +2276,9 @@
 			}
 		},
 		"node_modules/ignore": {
-			"version": "5.3.1",
-			"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
-			"integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==",
+			"version": "5.3.2",
+			"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
+			"integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
 			"dev": true,
 			"engines": {
 				"node": ">= 4"
@@ -2737,9 +2498,9 @@
 			"dev": true
 		},
 		"node_modules/js-yaml": {
-			"version": "3.14.1",
-			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
-			"integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
+			"version": "3.14.2",
+			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz",
+			"integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==",
 			"dev": true,
 			"dependencies": {
 				"argparse": "^1.0.7",
@@ -2750,18 +2511,18 @@
 			}
 		},
 		"node_modules/jsdoc-type-pratt-parser": {
-			"version": "4.0.0",
-			"resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.0.0.tgz",
-			"integrity": "sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==",
+			"version": "6.9.1",
+			"resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-6.9.1.tgz",
+			"integrity": "sha512-HbYNAorY51GnpKvgDf4YINSY+V1segv0qEeijvTSI6OWMCmqah0W6mVwBFeWskJ81uTJJVnDQlwhpJMREvGsXg==",
 			"dev": true,
 			"engines": {
-				"node": ">=12.0.0"
+				"node": ">=20.0.0"
 			}
 		},
 		"node_modules/jsesc": {
-			"version": "3.0.2",
-			"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz",
-			"integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==",
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
+			"integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
 			"dev": true,
 			"bin": {
 				"jsesc": "bin/jsesc"
@@ -2948,9 +2709,9 @@
 			}
 		},
 		"node_modules/ms": {
-			"version": "2.1.2",
-			"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-			"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+			"version": "2.1.3",
+			"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+			"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
 			"dev": true
 		},
 		"node_modules/natural-compare": {
@@ -2960,9 +2721,9 @@
 			"dev": true
 		},
 		"node_modules/node-releases": {
-			"version": "2.0.18",
-			"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz",
-			"integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==",
+			"version": "2.0.27",
+			"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz",
+			"integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==",
 			"dev": true
 		},
 		"node_modules/nopt": {
@@ -3010,6 +2771,27 @@
 				"url": "https://github.com/fb55/nth-check?sponsor=1"
 			}
 		},
+		"node_modules/object-deep-merge": {
+			"version": "1.0.5",
+			"resolved": "https://registry.npmjs.org/object-deep-merge/-/object-deep-merge-1.0.5.tgz",
+			"integrity": "sha512-3DioFgOzetbxbeUq8pB2NunXo8V0n4EvqsWM/cJoI6IA9zghd7cl/2pBOuWRf4dlvA+fcg5ugFMZaN2/RuoaGg==",
+			"dev": true,
+			"dependencies": {
+				"type-fest": "4.2.0"
+			}
+		},
+		"node_modules/object-deep-merge/node_modules/type-fest": {
+			"version": "4.2.0",
+			"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.2.0.tgz",
+			"integrity": "sha512-5zknd7Dss75pMSED270A1RQS3KloqRJA9XbXLe0eCxyw7xXFb3rd+9B0UQ/0E+LQT6lnrLviEolYORlRWamn4w==",
+			"dev": true,
+			"engines": {
+				"node": ">=16"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
 		"node_modules/object.defaults": {
 			"version": "1.1.0",
 			"resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz",
@@ -3169,6 +2951,15 @@
 				"node": ">=0.8"
 			}
 		},
+		"node_modules/parse-imports-exports": {
+			"version": "0.2.4",
+			"resolved": "https://registry.npmjs.org/parse-imports-exports/-/parse-imports-exports-0.2.4.tgz",
+			"integrity": "sha512-4s6vd6dx1AotCx/RCI2m7t7GCh5bDRUtGNvRfHSP2wbBQdMi67pPe7mtzmgwcaQ8VKK/6IB7Glfyu3qdZJPybQ==",
+			"dev": true,
+			"dependencies": {
+				"parse-statements": "1.0.11"
+			}
+		},
 		"node_modules/parse-json": {
 			"version": "5.2.0",
 			"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
@@ -3196,6 +2987,12 @@
 				"node": ">=0.10.0"
 			}
 		},
+		"node_modules/parse-statements": {
+			"version": "1.0.11",
+			"resolved": "https://registry.npmjs.org/parse-statements/-/parse-statements-1.0.11.tgz",
+			"integrity": "sha512-HlsyYdMBnbPQ9Jr/VgJ1YF4scnldvJpJxCVx6KgqPL4dxppsWrJHCIIxQXMJrqGnsRkNPATbeMJ8Yxu7JMsYcA==",
+			"dev": true
+		},
 		"node_modules/path-exists": {
 			"version": "4.0.0",
 			"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
@@ -3251,9 +3048,9 @@
 			}
 		},
 		"node_modules/picocolors": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz",
-			"integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==",
+			"version": "1.1.1",
+			"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
+			"integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
 			"dev": true
 		},
 		"node_modules/picomatch": {
@@ -3596,9 +3393,9 @@
 			"dev": true
 		},
 		"node_modules/semver": {
-			"version": "7.6.3",
-			"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
-			"integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+			"version": "7.7.3",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+			"integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
 			"dev": true,
 			"bin": {
 				"semver": "bin/semver.js"
@@ -3665,9 +3462,9 @@
 			}
 		},
 		"node_modules/spdx-license-ids": {
-			"version": "3.0.20",
-			"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz",
-			"integrity": "sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==",
+			"version": "3.0.22",
+			"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz",
+			"integrity": "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==",
 			"dev": true
 		},
 		"node_modules/sprintf-js": {
@@ -3712,18 +3509,6 @@
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
-		"node_modules/supports-color": {
-			"version": "5.5.0",
-			"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
-			"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
-			"dev": true,
-			"dependencies": {
-				"has-flag": "^3.0.0"
-			},
-			"engines": {
-				"node": ">=4"
-			}
-		},
 		"node_modules/supports-preserve-symlinks-flag": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
@@ -3737,12 +3522,16 @@
 			}
 		},
 		"node_modules/tapable": {
-			"version": "2.2.1",
-			"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
-			"integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+			"version": "2.3.0",
+			"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz",
+			"integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==",
 			"dev": true,
 			"engines": {
 				"node": ">=6"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/webpack"
 			}
 		},
 		"node_modules/text-table": {
@@ -3769,10 +3558,44 @@
 			"integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==",
 			"dev": true,
 			"engines": {
-				"node": ">=18.12"
+				"node": ">=18.12"
+			},
+			"peerDependencies": {
+				"typescript": ">=4.8.4"
+			}
+		},
+		"node_modules/ts-declaration-location": {
+			"version": "1.0.7",
+			"resolved": "https://registry.npmjs.org/ts-declaration-location/-/ts-declaration-location-1.0.7.tgz",
+			"integrity": "sha512-EDyGAwH1gO0Ausm9gV6T2nUvBgXT5kGoCMJPllOaooZ+4VvJiKBdZE7wK18N1deEowhcUptS+5GXZK8U/fvpwA==",
+			"dev": true,
+			"funding": [
+				{
+					"type": "ko-fi",
+					"url": "https://ko-fi.com/rebeccastevens"
+				},
+				{
+					"type": "tidelift",
+					"url": "https://tidelift.com/funding/github/npm/ts-declaration-location"
+				}
+			],
+			"dependencies": {
+				"picomatch": "^4.0.2"
+			},
+			"peerDependencies": {
+				"typescript": ">=4.0.0"
+			}
+		},
+		"node_modules/ts-declaration-location/node_modules/picomatch": {
+			"version": "4.0.3",
+			"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+			"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+			"dev": true,
+			"engines": {
+				"node": ">=12"
 			},
-			"peerDependencies": {
-				"typescript": ">=4.8.4"
+			"funding": {
+				"url": "https://github.com/sponsors/jonschlinkert"
 			}
 		},
 		"node_modules/type-check": {
@@ -3846,9 +3669,9 @@
 			}
 		},
 		"node_modules/update-browserslist-db": {
-			"version": "1.1.1",
-			"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz",
-			"integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==",
+			"version": "1.1.4",
+			"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.4.tgz",
+			"integrity": "sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==",
 			"dev": true,
 			"funding": [
 				{
@@ -3866,7 +3689,7 @@
 			],
 			"dependencies": {
 				"escalade": "^3.2.0",
-				"picocolors": "^1.1.0"
+				"picocolors": "^1.1.1"
 			},
 			"bin": {
 				"update-browserslist-db": "cli.js"
@@ -3977,25 +3800,24 @@
 			}
 		},
 		"node_modules/yaml": {
-			"version": "2.4.1",
-			"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz",
-			"integrity": "sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==",
+			"version": "2.8.1",
+			"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz",
+			"integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==",
 			"dev": true,
 			"bin": {
 				"yaml": "bin.mjs"
 			},
 			"engines": {
-				"node": ">= 14"
+				"node": ">= 14.6"
 			}
 		},
 		"node_modules/yaml-eslint-parser": {
-			"version": "1.2.2",
-			"resolved": "https://registry.npmjs.org/yaml-eslint-parser/-/yaml-eslint-parser-1.2.2.tgz",
-			"integrity": "sha512-pEwzfsKbTrB8G3xc/sN7aw1v6A6c/pKxLAkjclnAyo5g5qOh6eL9WGu0o3cSDQZKrTNk4KL4lQSwZW+nBkANEg==",
+			"version": "1.3.0",
+			"resolved": "https://registry.npmjs.org/yaml-eslint-parser/-/yaml-eslint-parser-1.3.0.tgz",
+			"integrity": "sha512-E/+VitOorXSLiAqtTd7Yqax0/pAS3xaYMP+AUUJGOK1OZG3rhcj9fcJOM5HJ2VrP1FrStVCWr1muTfQCdj4tAA==",
 			"dev": true,
 			"dependencies": {
 				"eslint-visitor-keys": "^3.0.0",
-				"lodash": "^4.17.21",
 				"yaml": "^2.0.0"
 			},
 			"engines": {
@@ -4026,72 +3848,33 @@
 			"dev": true
 		},
 		"@babel/code-frame": {
-			"version": "7.25.7",
-			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.25.7.tgz",
-			"integrity": "sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==",
+			"version": "7.27.1",
+			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz",
+			"integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==",
 			"dev": true,
 			"requires": {
-				"@babel/highlight": "^7.25.7",
-				"picocolors": "^1.0.0"
+				"@babel/helper-validator-identifier": "^7.27.1",
+				"js-tokens": "^4.0.0",
+				"picocolors": "^1.1.1"
 			}
 		},
 		"@babel/helper-validator-identifier": {
-			"version": "7.25.7",
-			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz",
-			"integrity": "sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==",
+			"version": "7.28.5",
+			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz",
+			"integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==",
 			"dev": true
 		},
-		"@babel/highlight": {
-			"version": "7.25.7",
-			"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.7.tgz",
-			"integrity": "sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==",
-			"dev": true,
-			"requires": {
-				"@babel/helper-validator-identifier": "^7.25.7",
-				"chalk": "^2.4.2",
-				"js-tokens": "^4.0.0",
-				"picocolors": "^1.0.0"
-			},
-			"dependencies": {
-				"chalk": {
-					"version": "2.4.2",
-					"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
-					"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
-					"dev": true,
-					"requires": {
-						"ansi-styles": "^3.2.1",
-						"escape-string-regexp": "^1.0.5",
-						"supports-color": "^5.3.0"
-					}
-				},
-				"escape-string-regexp": {
-					"version": "1.0.5",
-					"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
-					"integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
-					"dev": true
-				}
-			}
-		},
 		"@es-joy/jsdoccomment": {
-			"version": "0.43.1",
-			"resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.43.1.tgz",
-			"integrity": "sha512-I238eDtOolvCuvtxrnqtlBaw0BwdQuYqK7eA6XIonicMdOOOb75mqdIzkGDUbS04+1Di007rgm9snFRNeVrOog==",
+			"version": "0.75.0",
+			"resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.75.0.tgz",
+			"integrity": "sha512-Bj+oF8reFb4b+6LUmG6ETpDsBU/28y/bAAzioyIR4VK/V6UodYBNGbtxRyGxk0aJJQqpZZ6jz82vVZWCX6Mwmg==",
 			"dev": true,
 			"requires": {
-				"@types/eslint": "^8.56.5",
-				"@types/estree": "^1.0.5",
-				"@typescript-eslint/types": "^7.2.0",
+				"@types/estree": "^1.0.8",
+				"@typescript-eslint/types": "^8.46.0",
 				"comment-parser": "1.4.1",
-				"esquery": "^1.5.0",
-				"jsdoc-type-pratt-parser": "~4.0.0"
-			},
-			"dependencies": {
-				"@typescript-eslint/types": {
-					"version": "7.18.0",
-					"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.18.0.tgz",
-					"integrity": "sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==",
-					"dev": true
-				}
+				"esquery": "^1.6.0",
+				"jsdoc-type-pratt-parser": "~6.9.1"
 			}
 		},
 		"@eslint-community/eslint-utils": {
@@ -4104,9 +3887,9 @@
 			}
 		},
 		"@eslint-community/regexpp": {
-			"version": "4.11.1",
-			"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz",
-			"integrity": "sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==",
+			"version": "4.12.2",
+			"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz",
+			"integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==",
 			"dev": true
 		},
 		"@eslint/eslintrc": {
@@ -4133,9 +3916,9 @@
 					"dev": true
 				},
 				"js-yaml": {
-					"version": "4.1.0",
-					"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
-					"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+					"version": "4.1.1",
+					"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+					"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
 					"dev": true,
 					"requires": {
 						"argparse": "^2.0.1"
@@ -4182,9 +3965,9 @@
 			"dev": true
 		},
 		"@mdn/browser-compat-data": {
-			"version": "5.5.23",
-			"resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-5.5.23.tgz",
-			"integrity": "sha512-nIy38qL3nfNcGOz5J2BJQpBXa7vM9QO1+wbyvqqS89lgNTWE8Q10whLsmE0sTVBooXiEaRc4fVME5IXjCYiHAw==",
+			"version": "5.7.6",
+			"resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-5.7.6.tgz",
+			"integrity": "sha512-7xdrMX0Wk7grrTZQwAoy1GkvPMFoizStUoL+VmtUkAxegbCCec+3FKwOM6yc/uGU5+BEczQHXAlWiqvM8JeENg==",
 			"dev": true
 		},
 		"@nodelib/fs.scandir": {
@@ -4226,89 +4009,6 @@
 				"picomatch": "^4.0.2"
 			},
 			"dependencies": {
-				"@typescript-eslint/project-service": {
-					"version": "8.38.0",
-					"resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.38.0.tgz",
-					"integrity": "sha512-dbK7Jvqcb8c9QfH01YB6pORpqX1mn5gDZc9n63Ak/+jD67oWXn3Gs0M6vddAN+eDXBCS5EmNWzbSxsn9SzFWWg==",
-					"dev": true,
-					"requires": {
-						"@typescript-eslint/tsconfig-utils": "^8.38.0",
-						"@typescript-eslint/types": "^8.38.0",
-						"debug": "^4.3.4"
-					}
-				},
-				"@typescript-eslint/scope-manager": {
-					"version": "8.38.0",
-					"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.38.0.tgz",
-					"integrity": "sha512-WJw3AVlFFcdT9Ri1xs/lg8LwDqgekWXWhH3iAF+1ZM+QPd7oxQ6jvtW/JPwzAScxitILUIFs0/AnQ/UWHzbATQ==",
-					"dev": true,
-					"requires": {
-						"@typescript-eslint/types": "8.38.0",
-						"@typescript-eslint/visitor-keys": "8.38.0"
-					}
-				},
-				"@typescript-eslint/tsconfig-utils": {
-					"version": "8.38.0",
-					"resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.38.0.tgz",
-					"integrity": "sha512-Lum9RtSE3EroKk/bYns+sPOodqb2Fv50XOl/gMviMKNvanETUuUcC9ObRbzrJ4VSd2JalPqgSAavwrPiPvnAiQ==",
-					"dev": true,
-					"requires": {}
-				},
-				"@typescript-eslint/types": {
-					"version": "8.38.0",
-					"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.38.0.tgz",
-					"integrity": "sha512-wzkUfX3plUqij4YwWaJyqhiPE5UCRVlFpKn1oCRn2O1bJ592XxWJj8ROQ3JD5MYXLORW84063z3tZTb/cs4Tyw==",
-					"dev": true
-				},
-				"@typescript-eslint/typescript-estree": {
-					"version": "8.38.0",
-					"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.38.0.tgz",
-					"integrity": "sha512-fooELKcAKzxux6fA6pxOflpNS0jc+nOQEEOipXFNjSlBS6fqrJOVY/whSn70SScHrcJ2LDsxWrneFoWYSVfqhQ==",
-					"dev": true,
-					"requires": {
-						"@typescript-eslint/project-service": "8.38.0",
-						"@typescript-eslint/tsconfig-utils": "8.38.0",
-						"@typescript-eslint/types": "8.38.0",
-						"@typescript-eslint/visitor-keys": "8.38.0",
-						"debug": "^4.3.4",
-						"fast-glob": "^3.3.2",
-						"is-glob": "^4.0.3",
-						"minimatch": "^9.0.4",
-						"semver": "^7.6.0",
-						"ts-api-utils": "^2.1.0"
-					}
-				},
-				"@typescript-eslint/utils": {
-					"version": "8.38.0",
-					"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.38.0.tgz",
-					"integrity": "sha512-hHcMA86Hgt+ijJlrD8fX0j1j8w4C92zue/8LOPAFioIno+W0+L7KqE8QZKCcPGc/92Vs9x36w/4MPTJhqXdyvg==",
-					"dev": true,
-					"requires": {
-						"@eslint-community/eslint-utils": "^4.7.0",
-						"@typescript-eslint/scope-manager": "8.38.0",
-						"@typescript-eslint/types": "8.38.0",
-						"@typescript-eslint/typescript-estree": "8.38.0"
-					}
-				},
-				"@typescript-eslint/visitor-keys": {
-					"version": "8.38.0",
-					"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.38.0.tgz",
-					"integrity": "sha512-pWrTcoFNWuwHlA9CvlfSsGWs14JxfN1TH25zM5L7o0pRLhsoZkDnTsXfQRJBEWJoV5DL0jf+Z+sxiud+K0mq1g==",
-					"dev": true,
-					"requires": {
-						"@typescript-eslint/types": "8.38.0",
-						"eslint-visitor-keys": "^4.2.1"
-					}
-				},
-				"brace-expansion": {
-					"version": "2.0.2",
-					"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
-					"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
-					"dev": true,
-					"requires": {
-						"balanced-match": "^1.0.0"
-					}
-				},
 				"eslint-visitor-keys": {
 					"version": "4.2.1",
 					"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
@@ -4326,15 +4026,6 @@
 						"eslint-visitor-keys": "^4.2.1"
 					}
 				},
-				"minimatch": {
-					"version": "9.0.5",
-					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
-					"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
-					"dev": true,
-					"requires": {
-						"brace-expansion": "^2.0.1"
-					}
-				},
 				"picomatch": {
 					"version": "4.0.3",
 					"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
@@ -4343,26 +4034,10 @@
 				}
 			}
 		},
-		"@types/eslint": {
-			"version": "8.56.12",
-			"resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.12.tgz",
-			"integrity": "sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g==",
-			"dev": true,
-			"requires": {
-				"@types/estree": "*",
-				"@types/json-schema": "*"
-			}
-		},
 		"@types/estree": {
-			"version": "1.0.6",
-			"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz",
-			"integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==",
-			"dev": true
-		},
-		"@types/json-schema": {
-			"version": "7.0.15",
-			"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
-			"integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
+			"version": "1.0.8",
+			"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
+			"integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
 			"dev": true
 		},
 		"@types/normalize-package-data": {
@@ -4372,16 +4047,16 @@
 			"dev": true
 		},
 		"@typescript-eslint/eslint-plugin": {
-			"version": "8.35.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.35.1.tgz",
-			"integrity": "sha512-9XNTlo7P7RJxbVeICaIIIEipqxLKguyh+3UbXuT2XQuFp6d8VOeDEGuz5IiX0dgZo8CiI6aOFLg4e8cF71SFVg==",
+			"version": "8.46.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.46.0.tgz",
+			"integrity": "sha512-hA8gxBq4ukonVXPy0OKhiaUh/68D0E88GSmtC1iAEnGaieuDi38LhS7jdCHRLi6ErJBNDGCzvh5EnzdPwUc0DA==",
 			"dev": true,
 			"requires": {
 				"@eslint-community/regexpp": "^4.10.0",
-				"@typescript-eslint/scope-manager": "8.35.1",
-				"@typescript-eslint/type-utils": "8.35.1",
-				"@typescript-eslint/utils": "8.35.1",
-				"@typescript-eslint/visitor-keys": "8.35.1",
+				"@typescript-eslint/scope-manager": "8.46.0",
+				"@typescript-eslint/type-utils": "8.46.0",
+				"@typescript-eslint/utils": "8.46.0",
+				"@typescript-eslint/visitor-keys": "8.46.0",
 				"graphemer": "^1.4.0",
 				"ignore": "^7.0.0",
 				"natural-compare": "^1.4.0",
@@ -4397,74 +4072,75 @@
 			}
 		},
 		"@typescript-eslint/parser": {
-			"version": "8.35.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.35.1.tgz",
-			"integrity": "sha512-3MyiDfrfLeK06bi/g9DqJxP5pV74LNv4rFTyvGDmT3x2p1yp1lOd+qYZfiRPIOf/oON+WRZR5wxxuF85qOar+w==",
+			"version": "8.46.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.46.0.tgz",
+			"integrity": "sha512-n1H6IcDhmmUEG7TNVSspGmiHHutt7iVKtZwRppD7e04wha5MrkV1h3pti9xQLcCMt6YWsncpoT0HMjkH1FNwWQ==",
 			"dev": true,
 			"requires": {
-				"@typescript-eslint/scope-manager": "8.35.1",
-				"@typescript-eslint/types": "8.35.1",
-				"@typescript-eslint/typescript-estree": "8.35.1",
-				"@typescript-eslint/visitor-keys": "8.35.1",
+				"@typescript-eslint/scope-manager": "8.46.0",
+				"@typescript-eslint/types": "8.46.0",
+				"@typescript-eslint/typescript-estree": "8.46.0",
+				"@typescript-eslint/visitor-keys": "8.46.0",
 				"debug": "^4.3.4"
 			}
 		},
 		"@typescript-eslint/project-service": {
-			"version": "8.35.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.35.1.tgz",
-			"integrity": "sha512-VYxn/5LOpVxADAuP3NrnxxHYfzVtQzLKeldIhDhzC8UHaiQvYlXvKuVho1qLduFbJjjy5U5bkGwa3rUGUb1Q6Q==",
+			"version": "8.46.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.46.0.tgz",
+			"integrity": "sha512-OEhec0mH+U5Je2NZOeK1AbVCdm0ChyapAyTeXVIYTPXDJ3F07+cu87PPXcGoYqZ7M9YJVvFnfpGg1UmCIqM+QQ==",
 			"dev": true,
 			"requires": {
-				"@typescript-eslint/tsconfig-utils": "^8.35.1",
-				"@typescript-eslint/types": "^8.35.1",
+				"@typescript-eslint/tsconfig-utils": "^8.46.0",
+				"@typescript-eslint/types": "^8.46.0",
 				"debug": "^4.3.4"
 			}
 		},
 		"@typescript-eslint/scope-manager": {
-			"version": "8.35.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.35.1.tgz",
-			"integrity": "sha512-s/Bpd4i7ht2934nG+UoSPlYXd08KYz3bmjLEb7Ye1UVob0d1ENiT3lY8bsCmik4RqfSbPw9xJJHbugpPpP5JUg==",
+			"version": "8.46.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.46.0.tgz",
+			"integrity": "sha512-lWETPa9XGcBes4jqAMYD9fW0j4n6hrPtTJwWDmtqgFO/4HF4jmdH/Q6wggTw5qIT5TXjKzbt7GsZUBnWoO3dqw==",
 			"dev": true,
 			"requires": {
-				"@typescript-eslint/types": "8.35.1",
-				"@typescript-eslint/visitor-keys": "8.35.1"
+				"@typescript-eslint/types": "8.46.0",
+				"@typescript-eslint/visitor-keys": "8.46.0"
 			}
 		},
 		"@typescript-eslint/tsconfig-utils": {
-			"version": "8.35.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.35.1.tgz",
-			"integrity": "sha512-K5/U9VmT9dTHoNowWZpz+/TObS3xqC5h0xAIjXPw+MNcKV9qg6eSatEnmeAwkjHijhACH0/N7bkhKvbt1+DXWQ==",
+			"version": "8.46.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.46.0.tgz",
+			"integrity": "sha512-WrYXKGAHY836/N7zoK/kzi6p8tXFhasHh8ocFL9VZSAkvH956gfeRfcnhs3xzRy8qQ/dq3q44v1jvQieMFg2cw==",
 			"dev": true,
 			"requires": {}
 		},
 		"@typescript-eslint/type-utils": {
-			"version": "8.35.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.35.1.tgz",
-			"integrity": "sha512-HOrUBlfVRz5W2LIKpXzZoy6VTZzMu2n8q9C2V/cFngIC5U1nStJgv0tMV4sZPzdf4wQm9/ToWUFPMN9Vq9VJQQ==",
+			"version": "8.46.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.46.0.tgz",
+			"integrity": "sha512-hy+lvYV1lZpVs2jRaEYvgCblZxUoJiPyCemwbQZ+NGulWkQRy0HRPYAoef/CNSzaLt+MLvMptZsHXHlkEilaeg==",
 			"dev": true,
 			"requires": {
-				"@typescript-eslint/typescript-estree": "8.35.1",
-				"@typescript-eslint/utils": "8.35.1",
+				"@typescript-eslint/types": "8.46.0",
+				"@typescript-eslint/typescript-estree": "8.46.0",
+				"@typescript-eslint/utils": "8.46.0",
 				"debug": "^4.3.4",
 				"ts-api-utils": "^2.1.0"
 			}
 		},
 		"@typescript-eslint/types": {
-			"version": "8.35.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.35.1.tgz",
-			"integrity": "sha512-q/O04vVnKHfrrhNAscndAn1tuQhIkwqnaW+eu5waD5IPts2eX1dgJxgqcPx5BX109/qAz7IG6VrEPTOYKCNfRQ==",
+			"version": "8.46.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.46.0.tgz",
+			"integrity": "sha512-bHGGJyVjSE4dJJIO5yyEWt/cHyNwga/zXGJbJJ8TiO01aVREK6gCTu3L+5wrkb1FbDkQ+TKjMNe9R/QQQP9+rA==",
 			"dev": true
 		},
 		"@typescript-eslint/typescript-estree": {
-			"version": "8.35.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.35.1.tgz",
-			"integrity": "sha512-Vvpuvj4tBxIka7cPs6Y1uvM7gJgdF5Uu9F+mBJBPY4MhvjrjWGK4H0lVgLJd/8PWZ23FTqsaJaLEkBCFUk8Y9g==",
+			"version": "8.46.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.46.0.tgz",
+			"integrity": "sha512-ekDCUfVpAKWJbRfm8T1YRrCot1KFxZn21oV76v5Fj4tr7ELyk84OS+ouvYdcDAwZL89WpEkEj2DKQ+qg//+ucg==",
 			"dev": true,
 			"requires": {
-				"@typescript-eslint/project-service": "8.35.1",
-				"@typescript-eslint/tsconfig-utils": "8.35.1",
-				"@typescript-eslint/types": "8.35.1",
-				"@typescript-eslint/visitor-keys": "8.35.1",
+				"@typescript-eslint/project-service": "8.46.0",
+				"@typescript-eslint/tsconfig-utils": "8.46.0",
+				"@typescript-eslint/types": "8.46.0",
+				"@typescript-eslint/visitor-keys": "8.46.0",
 				"debug": "^4.3.4",
 				"fast-glob": "^3.3.2",
 				"is-glob": "^4.0.3",
@@ -4494,24 +4170,24 @@
 			}
 		},
 		"@typescript-eslint/utils": {
-			"version": "8.35.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.35.1.tgz",
-			"integrity": "sha512-lhnwatFmOFcazAsUm3ZnZFpXSxiwoa1Lj50HphnDe1Et01NF4+hrdXONSUHIcbVu2eFb1bAf+5yjXkGVkXBKAQ==",
+			"version": "8.46.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.46.0.tgz",
+			"integrity": "sha512-nD6yGWPj1xiOm4Gk0k6hLSZz2XkNXhuYmyIrOWcHoPuAhjT9i5bAG+xbWPgFeNR8HPHHtpNKdYUXJl/D3x7f5g==",
 			"dev": true,
 			"requires": {
 				"@eslint-community/eslint-utils": "^4.7.0",
-				"@typescript-eslint/scope-manager": "8.35.1",
-				"@typescript-eslint/types": "8.35.1",
-				"@typescript-eslint/typescript-estree": "8.35.1"
+				"@typescript-eslint/scope-manager": "8.46.0",
+				"@typescript-eslint/types": "8.46.0",
+				"@typescript-eslint/typescript-estree": "8.46.0"
 			}
 		},
 		"@typescript-eslint/visitor-keys": {
-			"version": "8.35.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.35.1.tgz",
-			"integrity": "sha512-VRwixir4zBWCSTP/ljEo091lbpypz57PoeAQ9imjG+vbeof9LplljsL1mos4ccG6H9IjfrVGM359RozUnuFhpw==",
+			"version": "8.46.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.46.0.tgz",
+			"integrity": "sha512-FrvMpAK+hTbFy7vH5j1+tMYHMSKLE6RzluFJlkFNKD0p9YsUT75JlBSmr5so3QRzvMwU5/bIEdeNrxm8du8l3Q==",
 			"dev": true,
 			"requires": {
-				"@typescript-eslint/types": "8.35.1",
+				"@typescript-eslint/types": "8.46.0",
 				"eslint-visitor-keys": "^4.2.1"
 			},
 			"dependencies": {
@@ -4566,15 +4242,6 @@
 			"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
 			"dev": true
 		},
-		"ansi-styles": {
-			"version": "3.2.1",
-			"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
-			"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
-			"dev": true,
-			"requires": {
-				"color-convert": "^1.9.0"
-			}
-		},
 		"are-docs-informative": {
 			"version": "0.0.2",
 			"resolved": "https://registry.npmjs.org/are-docs-informative/-/are-docs-informative-0.0.2.tgz",
@@ -4611,12 +4278,12 @@
 			"dev": true
 		},
 		"ast-metadata-inferer": {
-			"version": "0.8.0",
-			"resolved": "https://registry.npmjs.org/ast-metadata-inferer/-/ast-metadata-inferer-0.8.0.tgz",
-			"integrity": "sha512-jOMKcHht9LxYIEQu+RVd22vtgrPaVCtDRQ/16IGmurdzxvYbDd5ynxjnyrzLnieG96eTcAyaoj/wN/4/1FyyeA==",
+			"version": "0.8.1",
+			"resolved": "https://registry.npmjs.org/ast-metadata-inferer/-/ast-metadata-inferer-0.8.1.tgz",
+			"integrity": "sha512-ht3Dm6Zr7SXv6t1Ra6gFo0+kLDglHGrEbYihTkcycrbHw7WCcuhBzPlJYHEsIpycaUwzsJHje+vUcxXUX4ztTA==",
 			"dev": true,
 			"requires": {
-				"@mdn/browser-compat-data": "^5.2.34"
+				"@mdn/browser-compat-data": "^5.6.19"
 			}
 		},
 		"async": {
@@ -4631,6 +4298,12 @@
 			"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
 			"dev": true
 		},
+		"baseline-browser-mapping": {
+			"version": "2.8.28",
+			"resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.28.tgz",
+			"integrity": "sha512-gYjt7OIqdM0PcttNYP2aVrr2G0bMALkBaoehD4BuRGjAOtipg0b6wHg1yNL+s5zSnLZZrGHOw4IrND8CD+3oIQ==",
+			"dev": true
+		},
 		"boolbase": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
@@ -4657,15 +4330,16 @@
 			}
 		},
 		"browserslist": {
-			"version": "4.24.0",
-			"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.0.tgz",
-			"integrity": "sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==",
+			"version": "4.28.0",
+			"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.0.tgz",
+			"integrity": "sha512-tbydkR/CxfMwelN0vwdP/pLkDwyAASZ+VfWm4EOwlB6SWhx1sYnWLqo8N5j0rAzPfzfRaxt0mM/4wPU/Su84RQ==",
 			"dev": true,
 			"requires": {
-				"caniuse-lite": "^1.0.30001663",
-				"electron-to-chromium": "^1.5.28",
-				"node-releases": "^2.0.18",
-				"update-browserslist-db": "^1.1.0"
+				"baseline-browser-mapping": "^2.8.25",
+				"caniuse-lite": "^1.0.30001754",
+				"electron-to-chromium": "^1.5.249",
+				"node-releases": "^2.0.27",
+				"update-browserslist-db": "^1.1.4"
 			}
 		},
 		"browserslist-config-wikimedia": {
@@ -4687,9 +4361,9 @@
 			"dev": true
 		},
 		"caniuse-lite": {
-			"version": "1.0.30001727",
-			"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001727.tgz",
-			"integrity": "sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q==",
+			"version": "1.0.30001754",
+			"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001754.tgz",
+			"integrity": "sha512-x6OeBXueoAceOmotzx3PO4Zpt4rzpeIFsSr6AAePTZxSkXiYDUmpypEl7e2+8NCd9bD7bXjqyef8CJYPC1jfxg==",
 			"dev": true
 		},
 		"chalk": {
@@ -4744,9 +4418,9 @@
 			}
 		},
 		"ci-info": {
-			"version": "4.0.0",
-			"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.0.0.tgz",
-			"integrity": "sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==",
+			"version": "4.3.1",
+			"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.1.tgz",
+			"integrity": "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==",
 			"dev": true
 		},
 		"clean-regexp": {
@@ -4766,21 +4440,6 @@
 				}
 			}
 		},
-		"color-convert": {
-			"version": "1.9.3",
-			"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
-			"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
-			"dev": true,
-			"requires": {
-				"color-name": "1.1.3"
-			}
-		},
-		"color-name": {
-			"version": "1.1.3",
-			"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
-			"integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
-			"dev": true
-		},
 		"colors": {
 			"version": "1.1.2",
 			"resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
@@ -4800,12 +4459,12 @@
 			"dev": true
 		},
 		"core-js-compat": {
-			"version": "3.38.1",
-			"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz",
-			"integrity": "sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==",
+			"version": "3.46.0",
+			"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.46.0.tgz",
+			"integrity": "sha512-p9hObIIEENxSV8xIu+V68JjSeARg6UVMG5mR+JEUguG3sI6MsiS1njz2jHmyJDvA+8jX/sytkBHup6kxhM9law==",
 			"dev": true,
 			"requires": {
-				"browserslist": "^4.23.3"
+				"browserslist": "^4.26.3"
 			}
 		},
 		"cross-spawn": {
@@ -4832,12 +4491,12 @@
 			"dev": true
 		},
 		"debug": {
-			"version": "4.3.4",
-			"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
-			"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+			"version": "4.4.3",
+			"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+			"integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
 			"dev": true,
 			"requires": {
-				"ms": "2.1.2"
+				"ms": "^2.1.3"
 			}
 		},
 		"deep-is": {
@@ -4852,6 +4511,12 @@
 			"integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=",
 			"dev": true
 		},
+		"diff-sequences": {
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz",
+			"integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==",
+			"dev": true
+		},
 		"doctrine": {
 			"version": "3.0.0",
 			"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
@@ -4862,15 +4527,15 @@
 			}
 		},
 		"electron-to-chromium": {
-			"version": "1.5.32",
-			"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.32.tgz",
-			"integrity": "sha512-M+7ph0VGBQqqpTT2YrabjNKSQ2fEl9PVx6AK3N558gDH9NO8O6XN9SXXFWRo9u9PbEg/bWq+tjXQr+eXmxubCw==",
+			"version": "1.5.253",
+			"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.253.tgz",
+			"integrity": "sha512-O0tpQ/35rrgdiGQ0/OFWhy1itmd9A6TY9uQzlqj3hKSu/aYpe7UIn5d7CU2N9myH6biZiWF3VMZVuup8pw5U9w==",
 			"dev": true
 		},
 		"enhanced-resolve": {
-			"version": "5.17.1",
-			"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz",
-			"integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==",
+			"version": "5.18.3",
+			"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz",
+			"integrity": "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==",
 			"dev": true,
 			"requires": {
 				"graceful-fs": "^4.2.4",
@@ -4878,9 +4543,9 @@
 			}
 		},
 		"error-ex": {
-			"version": "1.3.2",
-			"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
-			"integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+			"version": "1.3.4",
+			"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz",
+			"integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==",
 			"dev": true,
 			"requires": {
 				"is-arrayish": "^0.2.1"
@@ -4951,9 +4616,9 @@
 					"dev": true
 				},
 				"js-yaml": {
-					"version": "4.1.0",
-					"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
-					"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+					"version": "4.1.1",
+					"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+					"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
 					"dev": true,
 					"requires": {
 						"argparse": "^2.0.1"
@@ -4971,92 +4636,123 @@
 			}
 		},
 		"eslint-compat-utils": {
-			"version": "0.5.1",
-			"resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.5.1.tgz",
-			"integrity": "sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==",
+			"version": "0.6.5",
+			"resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.6.5.tgz",
+			"integrity": "sha512-vAUHYzue4YAa2hNACjB8HvUQj5yehAZgiClyFVVom9cP8z5NSFq3PwB/TtJslN2zAMgRX6FCFCjYBbQh71g5RQ==",
 			"dev": true,
 			"requires": {
 				"semver": "^7.5.4"
 			}
 		},
 		"eslint-config-wikimedia": {
-			"version": "0.31.0",
-			"resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.31.0.tgz",
-			"integrity": "sha512-Z/t/zGPdxs/ehxb0EM6THNWAzueT7GtuqzjUvmBpkxcTKzZPJEXWnnpswdj/hgv8Ce8PIeDp0zwQxR4e3c9CIw==",
+			"version": "0.32.1",
+			"resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.32.1.tgz",
+			"integrity": "sha512-gPvhyVFNlpKFOcJfoVTNlzg3A0b6qjhAbjjBIJ9xp5m+om0oqix5gkqIIEav5BaGxdDxYNmrY4ge3DAPP3u/lg==",
 			"dev": true,
 			"requires": {
 				"@stylistic/eslint-plugin": "^3.1.0",
-				"@typescript-eslint/eslint-plugin": "8.35.1",
-				"@typescript-eslint/parser": "8.35.1",
+				"@typescript-eslint/eslint-plugin": "8.46.0",
+				"@typescript-eslint/parser": "8.46.0",
 				"browserslist-config-wikimedia": "^0.7.0",
 				"eslint": "^8.57.0",
-				"eslint-plugin-compat": "^4.2.0",
-				"eslint-plugin-es-x": "^7.6.0",
-				"eslint-plugin-jest": "^28.5.0",
-				"eslint-plugin-jsdoc": "48.2.5",
+				"eslint-plugin-compat": "^6.0.2",
+				"eslint-plugin-es-x": "^8.7.0",
+				"eslint-plugin-jest": "^29.0.1",
+				"eslint-plugin-jsdoc": "61.0.0",
 				"eslint-plugin-json-es": "^1.6.0",
-				"eslint-plugin-mediawiki": "^0.7.0",
-				"eslint-plugin-mocha": "^10.4.3",
-				"eslint-plugin-n": "^17.7.0",
+				"eslint-plugin-mediawiki": "^0.8.1",
+				"eslint-plugin-mocha": "^10.5.0",
+				"eslint-plugin-n": "^17.23.1",
 				"eslint-plugin-no-jquery": "^3.1.1",
-				"eslint-plugin-qunit": "^8.1.1",
-				"eslint-plugin-security": "^1.7.1",
-				"eslint-plugin-unicorn": "^53.0.0",
-				"eslint-plugin-vue": "^9.26.0",
-				"eslint-plugin-wdio": "^8.24.12",
-				"eslint-plugin-yml": "^1.14.0"
+				"eslint-plugin-qunit": "^8.2.5",
+				"eslint-plugin-security": "^3.0.1",
+				"eslint-plugin-unicorn": "^56.0.1",
+				"eslint-plugin-vue": "^9.33.0",
+				"eslint-plugin-wdio": "^9.16.2",
+				"eslint-plugin-yml": "^1.19.0"
 			}
 		},
 		"eslint-plugin-compat": {
-			"version": "4.2.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-compat/-/eslint-plugin-compat-4.2.0.tgz",
-			"integrity": "sha512-RDKSYD0maWy5r7zb5cWQS+uSPc26mgOzdORJ8hxILmWM7S/Ncwky7BcAtXVY5iRbKjBdHsWU8Yg7hfoZjtkv7w==",
+			"version": "6.0.2",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-compat/-/eslint-plugin-compat-6.0.2.tgz",
+			"integrity": "sha512-1ME+YfJjmOz1blH0nPZpHgjMGK4kjgEeoYqGCqoBPQ/mGu/dJzdoP0f1C8H2jcWZjzhZjAMccbM/VdXhPORIfA==",
 			"dev": true,
 			"requires": {
-				"@mdn/browser-compat-data": "^5.3.13",
-				"ast-metadata-inferer": "^0.8.0",
-				"browserslist": "^4.21.10",
-				"caniuse-lite": "^1.0.30001524",
+				"@mdn/browser-compat-data": "^5.5.35",
+				"ast-metadata-inferer": "^0.8.1",
+				"browserslist": "^4.24.2",
+				"caniuse-lite": "^1.0.30001687",
 				"find-up": "^5.0.0",
+				"globals": "^15.7.0",
 				"lodash.memoize": "^4.1.2",
-				"semver": "^7.5.4"
+				"semver": "^7.6.2"
+			},
+			"dependencies": {
+				"globals": {
+					"version": "15.15.0",
+					"resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz",
+					"integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==",
+					"dev": true
+				}
 			}
 		},
 		"eslint-plugin-es-x": {
-			"version": "7.8.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.8.0.tgz",
-			"integrity": "sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==",
+			"version": "8.7.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-8.7.0.tgz",
+			"integrity": "sha512-Du5Sb067sjqzmglaPhsfcEQgE1EYfL8sko+4jOMcAB/XKGoCxntSrOmTYuVzswA1rzM9+MZwH6+GOp0G3/wVCg==",
 			"dev": true,
 			"requires": {
 				"@eslint-community/eslint-utils": "^4.1.2",
-				"@eslint-community/regexpp": "^4.11.0",
-				"eslint-compat-utils": "^0.5.1"
+				"@eslint-community/regexpp": "^4.12.1",
+				"eslint-compat-utils": "^0.6.3"
 			}
 		},
 		"eslint-plugin-jest": {
-			"version": "28.8.3",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.8.3.tgz",
-			"integrity": "sha512-HIQ3t9hASLKm2IhIOqnu+ifw7uLZkIlR7RYNv7fMcEi/p0CIiJmfriStQS2LDkgtY4nyLbIZAD+JL347Yc2ETQ==",
+			"version": "29.1.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-29.1.0.tgz",
+			"integrity": "sha512-LabxXbASXVjguqL+kBHTPMf3gUeSqwH4fsrEyHTY/MCs42I/p9+ctg09SJpYiD8eGaIsP6GwYr5xW6xWS9XgZg==",
 			"dev": true,
 			"requires": {
-				"@typescript-eslint/utils": "^6.0.0 || ^7.0.0 || ^8.0.0"
+				"@typescript-eslint/utils": "^8.0.0"
 			}
 		},
 		"eslint-plugin-jsdoc": {
-			"version": "48.2.5",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-48.2.5.tgz",
-			"integrity": "sha512-ZeTfKV474W1N9niWfawpwsXGu+ZoMXu4417eBROX31d7ZuOk8zyG66SO77DpJ2+A9Wa2scw/jRqBPnnQo7VbcQ==",
+			"version": "61.0.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-61.0.0.tgz",
+			"integrity": "sha512-YxvOY3A9H8usnOfOEH82y71yHR7zVNWZJpQbjkC+rWqrADQtM+Gza3+db/j9euNNWCNKnN+/gBrowg16n9lwgg==",
 			"dev": true,
 			"requires": {
-				"@es-joy/jsdoccomment": "~0.43.0",
+				"@es-joy/jsdoccomment": "~0.75.0",
 				"are-docs-informative": "^0.0.2",
 				"comment-parser": "1.4.1",
-				"debug": "^4.3.4",
+				"debug": "^4.4.3",
 				"escape-string-regexp": "^4.0.0",
-				"esquery": "^1.5.0",
-				"is-builtin-module": "^3.2.1",
-				"semver": "^7.6.1",
+				"espree": "^10.4.0",
+				"esquery": "^1.6.0",
+				"html-entities": "^2.6.0",
+				"object-deep-merge": "^1.0.5",
+				"parse-imports-exports": "^0.2.4",
+				"semver": "^7.7.3",
 				"spdx-expression-parse": "^4.0.0"
+			},
+			"dependencies": {
+				"eslint-visitor-keys": {
+					"version": "4.2.1",
+					"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
+					"integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
+					"dev": true
+				},
+				"espree": {
+					"version": "10.4.0",
+					"resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz",
+					"integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==",
+					"dev": true,
+					"requires": {
+						"acorn": "^8.15.0",
+						"acorn-jsx": "^5.3.2",
+						"eslint-visitor-keys": "^4.2.1"
+					}
+				}
 			}
 		},
 		"eslint-plugin-json-es": {
@@ -5070,19 +4766,18 @@
 			}
 		},
 		"eslint-plugin-mediawiki": {
-			"version": "0.7.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.7.0.tgz",
-			"integrity": "sha512-1Y2nsFDPp96xOZCB5ivZAgqYe9i6w2u64VoCIaAzPyZnd/2h8VQR3CtD+u4Yk/KrpbKq9AAJjrs5LS8VAz6KOA==",
+			"version": "0.8.1",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.8.1.tgz",
+			"integrity": "sha512-zjTg3hh375lkztKhOYEmPeYiIhKooAu92BkZf2F/fr+5Htvb2i8MNB3gImhM98aTBbkyHTjXoyTHNUrjSjPhmw==",
 			"dev": true,
 			"requires": {
-				"eslint-plugin-vue": "^9.23.0",
 				"upath": "^2.0.1"
 			}
 		},
 		"eslint-plugin-mocha": {
-			"version": "10.4.3",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-10.4.3.tgz",
-			"integrity": "sha512-emc4TVjq5Ht0/upR+psftuz6IBG5q279p+1dSRDeHf+NS9aaerBi3lXKo1SEzwC29hFIW21gO89CEWSvRsi8IQ==",
+			"version": "10.5.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-10.5.0.tgz",
+			"integrity": "sha512-F2ALmQVPT1GoP27O1JTZGrV9Pqg8k79OeIuvw63UxMtQKREZtmkK1NFgkZQ2TW7L2JSSFKHFPTtHu5z8R9QNRw==",
 			"dev": true,
 			"requires": {
 				"eslint-utils": "^3.0.0",
@@ -5091,44 +4786,47 @@
 			}
 		},
 		"eslint-plugin-n": {
-			"version": "17.10.3",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.10.3.tgz",
-			"integrity": "sha512-ySZBfKe49nQZWR1yFaA0v/GsH6Fgp8ah6XV0WDz6CN8WO0ek4McMzb7A2xnf4DCYV43frjCygvb9f/wx7UUxRw==",
-			"dev": true,
-			"requires": {
-				"@eslint-community/eslint-utils": "^4.4.0",
-				"enhanced-resolve": "^5.17.0",
-				"eslint-plugin-es-x": "^7.5.0",
-				"get-tsconfig": "^4.7.0",
-				"globals": "^15.8.0",
-				"ignore": "^5.2.4",
-				"minimatch": "^9.0.5",
-				"semver": "^7.5.3"
+			"version": "17.23.1",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.23.1.tgz",
+			"integrity": "sha512-68PealUpYoHOBh332JLLD9Sj7OQUDkFpmcfqt8R9sySfFSeuGJjMTJQvCRRB96zO3A/PELRLkPrzsHmzEFQQ5A==",
+			"dev": true,
+			"requires": {
+				"@eslint-community/eslint-utils": "^4.5.0",
+				"enhanced-resolve": "^5.17.1",
+				"eslint-plugin-es-x": "^7.8.0",
+				"get-tsconfig": "^4.8.1",
+				"globals": "^15.11.0",
+				"globrex": "^0.1.2",
+				"ignore": "^5.3.2",
+				"semver": "^7.6.3",
+				"ts-declaration-location": "^1.0.6"
 			},
 			"dependencies": {
-				"brace-expansion": {
-					"version": "2.0.2",
-					"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
-					"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
+				"eslint-compat-utils": {
+					"version": "0.5.1",
+					"resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.5.1.tgz",
+					"integrity": "sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==",
 					"dev": true,
 					"requires": {
-						"balanced-match": "^1.0.0"
+						"semver": "^7.5.4"
 					}
 				},
-				"globals": {
-					"version": "15.10.0",
-					"resolved": "https://registry.npmjs.org/globals/-/globals-15.10.0.tgz",
-					"integrity": "sha512-tqFIbz83w4Y5TCbtgjZjApohbuh7K9BxGYFm7ifwDR240tvdb7P9x+/9VvUKlmkPoiknoJtanI8UOrqxS3a7lQ==",
-					"dev": true
-				},
-				"minimatch": {
-					"version": "9.0.5",
-					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
-					"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+				"eslint-plugin-es-x": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.8.0.tgz",
+					"integrity": "sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==",
 					"dev": true,
 					"requires": {
-						"brace-expansion": "^2.0.1"
+						"@eslint-community/eslint-utils": "^4.1.2",
+						"@eslint-community/regexpp": "^4.11.0",
+						"eslint-compat-utils": "^0.5.1"
 					}
+				},
+				"globals": {
+					"version": "15.15.0",
+					"resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz",
+					"integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==",
+					"dev": true
 				}
 			}
 		},
@@ -5140,9 +4838,9 @@
 			"requires": {}
 		},
 		"eslint-plugin-qunit": {
-			"version": "8.1.1",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-qunit/-/eslint-plugin-qunit-8.1.1.tgz",
-			"integrity": "sha512-j3xhiAf2Wvr8Dfwl5T6tlJ+F55vqYE9ZdAHUOTzq1lGerYrXzOS46RvK4SSWug2D8sl3ZYr2lA4/hgVXgLloxw==",
+			"version": "8.2.5",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-qunit/-/eslint-plugin-qunit-8.2.5.tgz",
+			"integrity": "sha512-qr7RJCYImKQjB+39q4q46i1l7p1V3joHzBE5CAYfxn5tfVFjrnjn/tw7q/kDyweU9kAIcLul0Dx/KWVUCb3BgA==",
 			"dev": true,
 			"requires": {
 				"eslint-utils": "^3.0.0",
@@ -5150,27 +4848,27 @@
 			}
 		},
 		"eslint-plugin-security": {
-			"version": "1.7.1",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-security/-/eslint-plugin-security-1.7.1.tgz",
-			"integrity": "sha512-sMStceig8AFglhhT2LqlU5r+/fn9OwsA72O5bBuQVTssPCdQAOQzL+oMn/ZcpeUY6KcNfLJArgcrsSULNjYYdQ==",
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-security/-/eslint-plugin-security-3.0.1.tgz",
+			"integrity": "sha512-XjVGBhtDZJfyuhIxnQ/WMm385RbX3DBu7H1J7HNNhmB2tnGxMeqVSnYv79oAj992ayvIBZghsymwkYFS6cGH4Q==",
 			"dev": true,
 			"requires": {
 				"safe-regex": "^2.1.1"
 			}
 		},
 		"eslint-plugin-unicorn": {
-			"version": "53.0.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-53.0.0.tgz",
-			"integrity": "sha512-kuTcNo9IwwUCfyHGwQFOK/HjJAYzbODHN3wP0PgqbW+jbXqpNWxNVpVhj2tO9SixBwuAdmal8rVcWKBxwFnGuw==",
+			"version": "56.0.1",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-56.0.1.tgz",
+			"integrity": "sha512-FwVV0Uwf8XPfVnKSGpMg7NtlZh0G0gBarCaFcMUOoqPxXryxdYxTRRv4kH6B9TFCVIrjRXG+emcxIk2ayZilog==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-validator-identifier": "^7.24.5",
+				"@babel/helper-validator-identifier": "^7.24.7",
 				"@eslint-community/eslint-utils": "^4.4.0",
-				"@eslint/eslintrc": "^3.0.2",
 				"ci-info": "^4.0.0",
 				"clean-regexp": "^1.0.0",
-				"core-js-compat": "^3.37.0",
-				"esquery": "^1.5.0",
+				"core-js-compat": "^3.38.1",
+				"esquery": "^1.6.0",
+				"globals": "^15.9.0",
 				"indent-string": "^4.0.0",
 				"is-builtin-module": "^3.2.1",
 				"jsesc": "^3.0.2",
@@ -5178,80 +4876,22 @@
 				"read-pkg-up": "^7.0.1",
 				"regexp-tree": "^0.1.27",
 				"regjsparser": "^0.10.0",
-				"semver": "^7.6.1",
+				"semver": "^7.6.3",
 				"strip-indent": "^3.0.0"
 			},
 			"dependencies": {
-				"@eslint/eslintrc": {
-					"version": "3.1.0",
-					"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz",
-					"integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==",
-					"dev": true,
-					"requires": {
-						"ajv": "^6.12.4",
-						"debug": "^4.3.2",
-						"espree": "^10.0.1",
-						"globals": "^14.0.0",
-						"ignore": "^5.2.0",
-						"import-fresh": "^3.2.1",
-						"js-yaml": "^4.1.0",
-						"minimatch": "^3.1.2",
-						"strip-json-comments": "^3.1.1"
-					}
-				},
-				"argparse": {
-					"version": "2.0.1",
-					"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
-					"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
-					"dev": true
-				},
-				"eslint-visitor-keys": {
-					"version": "4.1.0",
-					"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.1.0.tgz",
-					"integrity": "sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==",
-					"dev": true
-				},
-				"espree": {
-					"version": "10.2.0",
-					"resolved": "https://registry.npmjs.org/espree/-/espree-10.2.0.tgz",
-					"integrity": "sha512-upbkBJbckcCNBDBDXEbuhjbP68n+scUd3k/U2EkyM9nw+I/jPiL4cLF/Al06CF96wRltFda16sxDFrxsI1v0/g==",
-					"dev": true,
-					"requires": {
-						"acorn": "^8.12.0",
-						"acorn-jsx": "^5.3.2",
-						"eslint-visitor-keys": "^4.1.0"
-					}
-				},
 				"globals": {
-					"version": "14.0.0",
-					"resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
-					"integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
+					"version": "15.15.0",
+					"resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz",
+					"integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==",
 					"dev": true
-				},
-				"js-yaml": {
-					"version": "4.1.0",
-					"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
-					"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
-					"dev": true,
-					"requires": {
-						"argparse": "^2.0.1"
-					}
-				},
-				"minimatch": {
-					"version": "3.1.2",
-					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-					"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
-					"dev": true,
-					"requires": {
-						"brace-expansion": "^1.1.7"
-					}
 				}
 			}
 		},
 		"eslint-plugin-vue": {
-			"version": "9.28.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.28.0.tgz",
-			"integrity": "sha512-ShrihdjIhOTxs+MfWun6oJWuk+g/LAhN+CiuOl/jjkG3l0F2AuK5NMTaWqyvBgkFtpYmyks6P4603mLmhNJW8g==",
+			"version": "9.33.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.33.0.tgz",
+			"integrity": "sha512-174lJKuNsuDIlLpjeXc5E2Tss8P44uIimAfGD0b90k0NoirJqpG7stLuU9Vp/9ioTOrQdWVREc4mRd1BD+CvGw==",
 			"dev": true,
 			"requires": {
 				"@eslint-community/eslint-utils": "^4.4.0",
@@ -5265,20 +4905,21 @@
 			}
 		},
 		"eslint-plugin-wdio": {
-			"version": "8.24.12",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-wdio/-/eslint-plugin-wdio-8.24.12.tgz",
-			"integrity": "sha512-OmzGteXFOQnJDdkTNnTfksaVa18WlFCyeLjZXHvDpkbomLWAg9wc296Pr0wnTCagqNj8qfEHpy+N2XVew5VCMA==",
+			"version": "9.16.2",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-wdio/-/eslint-plugin-wdio-9.16.2.tgz",
+			"integrity": "sha512-qkqsPgxN70OnUPWMjmzJbSbvm2+Q087JIGss53/OFI4Y46xKlV5VLhLiYealaAibAiXmnfWKd0tERjZAzVL87A==",
 			"dev": true
 		},
 		"eslint-plugin-yml": {
-			"version": "1.14.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-yml/-/eslint-plugin-yml-1.14.0.tgz",
-			"integrity": "sha512-ESUpgYPOcAYQO9czugcX5OqRvn/ydDVwGCPXY4YjPqc09rHaUVUA6IE6HLQys4rXk/S+qx3EwTd1wHCwam/OWQ==",
+			"version": "1.19.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-yml/-/eslint-plugin-yml-1.19.0.tgz",
+			"integrity": "sha512-S+4GbcCWksFKAvFJtf0vpdiCkZZvDJCV4Zsi9ahmYkYOYcf+LRqqzvzkb/ST7vTYV6sFwXOvawzYyL/jFT2nQA==",
 			"dev": true,
 			"requires": {
 				"debug": "^4.3.2",
-				"eslint-compat-utils": "^0.5.0",
-				"lodash": "^4.17.21",
+				"diff-sequences": "^27.5.1",
+				"escape-string-regexp": "4.0.0",
+				"eslint-compat-utils": "^0.6.0",
 				"natural-compare": "^1.4.0",
 				"yaml-eslint-parser": "^1.2.1"
 			}
@@ -5334,9 +4975,9 @@
 			"dev": true
 		},
 		"esquery": {
-			"version": "1.5.0",
-			"resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
-			"integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
+			"version": "1.6.0",
+			"resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz",
+			"integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==",
 			"dev": true,
 			"requires": {
 				"estraverse": "^5.1.0"
@@ -5544,9 +5185,9 @@
 			"dev": true
 		},
 		"get-tsconfig": {
-			"version": "4.8.1",
-			"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.8.1.tgz",
-			"integrity": "sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==",
+			"version": "4.13.0",
+			"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.0.tgz",
+			"integrity": "sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==",
 			"dev": true,
 			"requires": {
 				"resolve-pkg-maps": "^1.0.0"
@@ -5625,6 +5266,12 @@
 				"type-fest": "^0.20.2"
 			}
 		},
+		"globrex": {
+			"version": "0.1.2",
+			"resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz",
+			"integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==",
+			"dev": true
+		},
 		"graceful-fs": {
 			"version": "4.2.11",
 			"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
@@ -5745,12 +5392,6 @@
 				"which": "~2.0.2"
 			}
 		},
-		"has-flag": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
-			"integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
-			"dev": true
-		},
 		"hasown": {
 			"version": "2.0.2",
 			"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
@@ -5781,6 +5422,12 @@
 			"integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
 			"dev": true
 		},
+		"html-entities": {
+			"version": "2.6.0",
+			"resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.6.0.tgz",
+			"integrity": "sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==",
+			"dev": true
+		},
 		"iconv-lite": {
 			"version": "0.6.3",
 			"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
@@ -5791,9 +5438,9 @@
 			}
 		},
 		"ignore": {
-			"version": "5.3.1",
-			"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
-			"integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==",
+			"version": "5.3.2",
+			"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
+			"integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
 			"dev": true
 		},
 		"import-fresh": {
@@ -5959,9 +5606,9 @@
 			"dev": true
 		},
 		"js-yaml": {
-			"version": "3.14.1",
-			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
-			"integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
+			"version": "3.14.2",
+			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz",
+			"integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==",
 			"dev": true,
 			"requires": {
 				"argparse": "^1.0.7",
@@ -5969,15 +5616,15 @@
 			}
 		},
 		"jsdoc-type-pratt-parser": {
-			"version": "4.0.0",
-			"resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.0.0.tgz",
-			"integrity": "sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==",
+			"version": "6.9.1",
+			"resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-6.9.1.tgz",
+			"integrity": "sha512-HbYNAorY51GnpKvgDf4YINSY+V1segv0qEeijvTSI6OWMCmqah0W6mVwBFeWskJ81uTJJVnDQlwhpJMREvGsXg==",
 			"dev": true
 		},
 		"jsesc": {
-			"version": "3.0.2",
-			"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz",
-			"integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==",
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
+			"integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
 			"dev": true
 		},
 		"json-parse-even-better-errors": {
@@ -6124,9 +5771,9 @@
 			}
 		},
 		"ms": {
-			"version": "2.1.2",
-			"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-			"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+			"version": "2.1.3",
+			"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+			"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
 			"dev": true
 		},
 		"natural-compare": {
@@ -6136,9 +5783,9 @@
 			"dev": true
 		},
 		"node-releases": {
-			"version": "2.0.18",
-			"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz",
-			"integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==",
+			"version": "2.0.27",
+			"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz",
+			"integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==",
 			"dev": true
 		},
 		"nopt": {
@@ -6179,6 +5826,23 @@
 				"boolbase": "^1.0.0"
 			}
 		},
+		"object-deep-merge": {
+			"version": "1.0.5",
+			"resolved": "https://registry.npmjs.org/object-deep-merge/-/object-deep-merge-1.0.5.tgz",
+			"integrity": "sha512-3DioFgOzetbxbeUq8pB2NunXo8V0n4EvqsWM/cJoI6IA9zghd7cl/2pBOuWRf4dlvA+fcg5ugFMZaN2/RuoaGg==",
+			"dev": true,
+			"requires": {
+				"type-fest": "4.2.0"
+			},
+			"dependencies": {
+				"type-fest": {
+					"version": "4.2.0",
+					"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.2.0.tgz",
+					"integrity": "sha512-5zknd7Dss75pMSED270A1RQS3KloqRJA9XbXLe0eCxyw7xXFb3rd+9B0UQ/0E+LQT6lnrLviEolYORlRWamn4w==",
+					"dev": true
+				}
+			}
+		},
 		"object.defaults": {
 			"version": "1.1.0",
 			"resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz",
@@ -6299,6 +5963,15 @@
 				"path-root": "^0.1.1"
 			}
 		},
+		"parse-imports-exports": {
+			"version": "0.2.4",
+			"resolved": "https://registry.npmjs.org/parse-imports-exports/-/parse-imports-exports-0.2.4.tgz",
+			"integrity": "sha512-4s6vd6dx1AotCx/RCI2m7t7GCh5bDRUtGNvRfHSP2wbBQdMi67pPe7mtzmgwcaQ8VKK/6IB7Glfyu3qdZJPybQ==",
+			"dev": true,
+			"requires": {
+				"parse-statements": "1.0.11"
+			}
+		},
 		"parse-json": {
 			"version": "5.2.0",
 			"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
@@ -6317,6 +5990,12 @@
 			"integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
 			"dev": true
 		},
+		"parse-statements": {
+			"version": "1.0.11",
+			"resolved": "https://registry.npmjs.org/parse-statements/-/parse-statements-1.0.11.tgz",
+			"integrity": "sha512-HlsyYdMBnbPQ9Jr/VgJ1YF4scnldvJpJxCVx6KgqPL4dxppsWrJHCIIxQXMJrqGnsRkNPATbeMJ8Yxu7JMsYcA==",
+			"dev": true
+		},
 		"path-exists": {
 			"version": "4.0.0",
 			"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
@@ -6357,9 +6036,9 @@
 			"dev": true
 		},
 		"picocolors": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz",
-			"integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==",
+			"version": "1.1.1",
+			"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
+			"integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
 			"dev": true
 		},
 		"picomatch": {
@@ -6595,9 +6274,9 @@
 			"dev": true
 		},
 		"semver": {
-			"version": "7.6.3",
-			"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
-			"integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+			"version": "7.7.3",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+			"integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
 			"dev": true
 		},
 		"shebang-command": {
@@ -6654,9 +6333,9 @@
 			}
 		},
 		"spdx-license-ids": {
-			"version": "3.0.20",
-			"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz",
-			"integrity": "sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==",
+			"version": "3.0.22",
+			"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz",
+			"integrity": "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==",
 			"dev": true
 		},
 		"sprintf-js": {
@@ -6689,15 +6368,6 @@
 			"integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
 			"dev": true
 		},
-		"supports-color": {
-			"version": "5.5.0",
-			"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
-			"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
-			"dev": true,
-			"requires": {
-				"has-flag": "^3.0.0"
-			}
-		},
 		"supports-preserve-symlinks-flag": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
@@ -6705,9 +6375,9 @@
 			"dev": true
 		},
 		"tapable": {
-			"version": "2.2.1",
-			"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
-			"integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+			"version": "2.3.0",
+			"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz",
+			"integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==",
 			"dev": true
 		},
 		"text-table": {
@@ -6732,6 +6402,23 @@
 			"dev": true,
 			"requires": {}
 		},
+		"ts-declaration-location": {
+			"version": "1.0.7",
+			"resolved": "https://registry.npmjs.org/ts-declaration-location/-/ts-declaration-location-1.0.7.tgz",
+			"integrity": "sha512-EDyGAwH1gO0Ausm9gV6T2nUvBgXT5kGoCMJPllOaooZ+4VvJiKBdZE7wK18N1deEowhcUptS+5GXZK8U/fvpwA==",
+			"dev": true,
+			"requires": {
+				"picomatch": "^4.0.2"
+			},
+			"dependencies": {
+				"picomatch": {
+					"version": "4.0.3",
+					"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+					"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+					"dev": true
+				}
+			}
+		},
 		"type-check": {
 			"version": "0.4.0",
 			"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
@@ -6777,13 +6464,13 @@
 			"dev": true
 		},
 		"update-browserslist-db": {
-			"version": "1.1.1",
-			"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz",
-			"integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==",
+			"version": "1.1.4",
+			"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.4.tgz",
+			"integrity": "sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==",
 			"dev": true,
 			"requires": {
 				"escalade": "^3.2.0",
-				"picocolors": "^1.1.0"
+				"picocolors": "^1.1.1"
 			}
 		},
 		"uri-js": {
@@ -6869,19 +6556,18 @@
 			"dev": true
 		},
 		"yaml": {
-			"version": "2.4.1",
-			"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz",
-			"integrity": "sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==",
+			"version": "2.8.1",
+			"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz",
+			"integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==",
 			"dev": true
 		},
 		"yaml-eslint-parser": {
-			"version": "1.2.2",
-			"resolved": "https://registry.npmjs.org/yaml-eslint-parser/-/yaml-eslint-parser-1.2.2.tgz",
-			"integrity": "sha512-pEwzfsKbTrB8G3xc/sN7aw1v6A6c/pKxLAkjclnAyo5g5qOh6eL9WGu0o3cSDQZKrTNk4KL4lQSwZW+nBkANEg==",
+			"version": "1.3.0",
+			"resolved": "https://registry.npmjs.org/yaml-eslint-parser/-/yaml-eslint-parser-1.3.0.tgz",
+			"integrity": "sha512-E/+VitOorXSLiAqtTd7Yqax0/pAS3xaYMP+AUUJGOK1OZG3rhcj9fcJOM5HJ2VrP1FrStVCWr1muTfQCdj4tAA==",
 			"dev": true,
 			"requires": {
 				"eslint-visitor-keys": "^3.0.0",
-				"lodash": "^4.17.21",
 				"yaml": "^2.0.0"
 			}
 		},
diff --git a/package.json b/package.json
index 16c8662..977ea51 100644
--- a/package.json
+++ b/package.json
@@ -5,7 +5,7 @@
 		"test": "grunt test"
 	},
 	"devDependencies": {
-		"eslint-config-wikimedia": "0.31.0",
+		"eslint-config-wikimedia": "0.32.1",
 		"grunt": "1.6.1",
 		"grunt-banana-checker": "0.13.0",
 		"grunt-eslint": "24.3.0"
-- 
2.47.3

$ date
--- stdout ---
Sat Nov 15 09:22:04 UTC 2025

--- end ---
$ git clone file:///srv/git/mediawiki-extensions-PageForms.git repo --depth=1 -b master
--- stderr ---
Cloning into 'repo'...
--- stdout ---

--- end ---
$ git config user.name libraryupgrader
--- stdout ---

--- end ---
$ git config user.email tools.libraryupgrader@tools.wmflabs.org
--- stdout ---

--- end ---
$ git submodule update --init
--- stdout ---

--- end ---
$ grr init
--- stdout ---
Installed commit-msg hook.

--- end ---
$ git show-ref refs/heads/master
--- stdout ---
49b050e49f51afb1bb252977f14097d932ae6422 refs/heads/master

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "grunt": {
      "name": "grunt",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "js-yaml"
      ],
      "effects": [
        "grunt-eslint"
      ],
      "range": ">=0.4.0-a",
      "nodes": [
        "node_modules/grunt"
      ],
      "fixAvailable": {
        "name": "grunt",
        "version": "0.3.17",
        "isSemVerMajor": true
      }
    },
    "grunt-eslint": {
      "name": "grunt-eslint",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "grunt"
      ],
      "effects": [],
      "range": "<=1.0.0 || >=18.1.0",
      "nodes": [
        "node_modules/grunt-eslint"
      ],
      "fixAvailable": {
        "name": "grunt-eslint",
        "version": "18.0.0",
        "isSemVerMajor": true
      }
    },
    "js-yaml": {
      "name": "js-yaml",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1109754,
          "name": "js-yaml",
          "dependency": "js-yaml",
          "title": "js-yaml has prototype pollution in merge (<<)",
          "url": "https://github.com/advisories/GHSA-mh29-5h37-fv8m",
          "severity": "moderate",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 5.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"
          },
          "range": "<4.1.1"
        }
      ],
      "effects": [
        "grunt"
      ],
      "range": "<4.1.1",
      "nodes": [
        "node_modules/@eslint/eslintrc/node_modules/js-yaml",
        "node_modules/eslint-plugin-unicorn/node_modules/js-yaml",
        "node_modules/eslint/node_modules/js-yaml",
        "node_modules/js-yaml"
      ],
      "fixAvailable": {
        "name": "grunt",
        "version": "0.3.17",
        "isSemVerMajor": true
      }
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 3,
      "high": 0,
      "critical": 0,
      "total": 3
    },
    "dependencies": {
      "prod": 1,
      "dev": 330,
      "optional": 0,
      "peer": 1,
      "peerOptional": 0,
      "total": 330
    }
  }
}

--- end ---
$ /usr/bin/composer install
--- stderr ---
No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information.
Loading composer repositories with package information
Updating dependencies
Lock file operations: 39 installs, 0 updates, 0 removals
  - Locking composer/installers (v2.3.0)
  - Locking composer/pcre (3.3.2)
  - Locking composer/semver (3.4.4)
  - Locking composer/spdx-licenses (1.5.9)
  - Locking composer/xdebug-handler (3.0.5)
  - Locking dealerdirect/phpcodesniffer-composer-installer (v1.2.0)
  - Locking doctrine/deprecations (1.1.5)
  - Locking felixfbecker/advanced-json-rpc (v3.2.1)
  - Locking mediawiki/mediawiki-codesniffer (v48.0.0)
  - Locking mediawiki/mediawiki-phan-config (0.17.0)
  - Locking mediawiki/minus-x (1.1.3)
  - Locking mediawiki/phan-taint-check-plugin (7.0.0)
  - Locking microsoft/tolerant-php-parser (v0.1.2)
  - Locking netresearch/jsonmapper (v4.5.0)
  - Locking phan/phan (5.5.1)
  - Locking php-parallel-lint/php-console-color (v1.0.1)
  - Locking php-parallel-lint/php-console-highlighter (v1.0.0)
  - Locking php-parallel-lint/php-parallel-lint (v1.4.0)
  - Locking phpcsstandards/phpcsextra (1.4.0)
  - Locking phpcsstandards/phpcsutils (1.1.1)
  - Locking phpdocumentor/reflection-common (2.2.0)
  - Locking phpdocumentor/reflection-docblock (5.6.3)
  - Locking phpdocumentor/type-resolver (1.10.0)
  - Locking phpstan/phpdoc-parser (2.3.0)
  - Locking psr/container (2.0.2)
  - Locking psr/log (3.0.2)
  - Locking sabre/event (5.1.7)
  - Locking squizlabs/php_codesniffer (3.13.2)
  - Locking symfony/console (v7.3.6)
  - Locking symfony/deprecation-contracts (v3.6.0)
  - Locking symfony/polyfill-ctype (v1.33.0)
  - Locking symfony/polyfill-intl-grapheme (v1.33.0)
  - Locking symfony/polyfill-intl-normalizer (v1.33.0)
  - Locking symfony/polyfill-mbstring (v1.33.0)
  - Locking symfony/polyfill-php80 (v1.33.0)
  - Locking symfony/service-contracts (v3.6.1)
  - Locking symfony/string (v7.3.4)
  - Locking tysonandre/var_representation_polyfill (0.1.3)
  - Locking webmozart/assert (1.12.1)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 39 installs, 0 updates, 0 removals
    0 [>---------------------------]    0 [->--------------------------]
  - Installing composer/installers (v2.3.0): Extracting archive
  - Installing squizlabs/php_codesniffer (3.13.2): Extracting archive
  - Installing dealerdirect/phpcodesniffer-composer-installer (v1.2.0): Extracting archive
  - Installing composer/pcre (3.3.2): Extracting archive
  - Installing phpcsstandards/phpcsutils (1.1.1): Extracting archive
  - Installing phpcsstandards/phpcsextra (1.4.0): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.33.0): Extracting archive
  - Installing composer/spdx-licenses (1.5.9): Extracting archive
  - Installing composer/semver (3.4.4): Extracting archive
  - Installing mediawiki/mediawiki-codesniffer (v48.0.0): Extracting archive
  - Installing tysonandre/var_representation_polyfill (0.1.3): Extracting archive
  - Installing symfony/polyfill-php80 (v1.33.0): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.33.0): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.33.0): Extracting archive
  - Installing symfony/polyfill-ctype (v1.33.0): Extracting archive
  - Installing symfony/string (v7.3.4): Extracting archive
  - Installing symfony/deprecation-contracts (v3.6.0): Extracting archive
  - Installing psr/container (2.0.2): Extracting archive
  - Installing symfony/service-contracts (v3.6.1): Extracting archive
  - Installing symfony/console (v7.3.6): Extracting archive
  - Installing sabre/event (5.1.7): Extracting archive
  - Installing netresearch/jsonmapper (v4.5.0): Extracting archive
  - Installing microsoft/tolerant-php-parser (v0.1.2): Extracting archive
  - Installing webmozart/assert (1.12.1): Extracting archive
  - Installing phpstan/phpdoc-parser (2.3.0): Extracting archive
  - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
  - Installing doctrine/deprecations (1.1.5): Extracting archive
  - Installing phpdocumentor/type-resolver (1.10.0): Extracting archive
  - Installing phpdocumentor/reflection-docblock (5.6.3): Extracting archive
  - Installing felixfbecker/advanced-json-rpc (v3.2.1): Extracting archive
  - Installing psr/log (3.0.2): Extracting archive
  - Installing composer/xdebug-handler (3.0.5): Extracting archive
  - Installing phan/phan (5.5.1): Extracting archive
  - Installing mediawiki/phan-taint-check-plugin (7.0.0): Extracting archive
  - Installing mediawiki/mediawiki-phan-config (0.17.0): Extracting archive
  - Installing mediawiki/minus-x (1.1.3): Extracting archive
  - Installing php-parallel-lint/php-console-color (v1.0.1): Extracting archive
  - Installing php-parallel-lint/php-console-highlighter (v1.0.0): Extracting archive
  - Installing php-parallel-lint/php-parallel-lint (v1.4.0): Extracting archive
  0/36 [>---------------------------]   0%
 29/36 [======================>-----]  80%
 36/36 [============================] 100%
2 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
18 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
--- stdout ---
PHP CodeSniffer Config installed_paths set to ../../mediawiki/mediawiki-codesniffer,../../phpcsstandards/phpcsextra,../../phpcsstandards/phpcsutils

--- end ---
Upgrading n:eslint-config-wikimedia from 0.31.0 -> 0.32.1
$ /usr/bin/npm install
--- stdout ---

added 317 packages, and audited 318 packages in 7s

68 packages are looking for funding
  run `npm fund` for details

3 moderate severity vulnerabilities

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.

--- end ---
$ package-lock-lint package-lock.json
--- stdout ---
Checking package-lock.json

--- end ---
$ /usr/bin/npm install grunt-eslint@24.3.0 --save-exact
--- stdout ---

up to date, audited 318 packages in 1s

68 packages are looking for funding
  run `npm fund` for details

3 moderate severity vulnerabilities

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.

--- end ---
$ package-lock-lint package-lock.json
--- stdout ---
Checking package-lock.json

--- end ---
$ ./node_modules/.bin/eslint i18n/jbo.json i18n/cu.json i18n/mr.json i18n/om.json i18n/tl.json i18n/fit.json i18n/tt-cyrl.json i18n/ms.json i18n/sk.json i18n/pms.json i18n/ku-latn.json i18n/kjp.json i18n/ti.json i18n/nqo.json i18n/ia.json package-lock.json libs/PF_CreateProperty.js i18n/bgn.json i18n/vi.json i18n/roa-tara.json i18n/it.json i18n/qqq.json i18n/isv-latn.json i18n/jv.json i18n/sco.json i18n/sl.json i18n/ne.json i18n/az.json i18n/th.json i18n/ar.json i18n/tw.json i18n/io.json i18n/an.json i18n/ky.json i18n/atj.json libs/PF_ComboBoxInput.js libs/PF_PageSchemas.js i18n/arz.json i18n/min.json i18n/pam.json libs/PF_editWarning.js i18n/lb.json i18n/oc.json i18n/li.json i18n/ta.json i18n/smn.json i18n/mzn.json i18n/eu.json i18n/lt.json i18n/os.json libs/PF_preview.js i18n/nso.json libs/PF_collapsible.js i18n/am.json i18n/ru.json i18n/krj.json i18n/gl.json i18n/zh-tw.json i18n/nds.json i18n/ba.json i18n/sv.json i18n/sw.json i18n/ttj.json libs/PF_CreateTemplate.js libs/PF_autoedit.js i18n/ast.json i18n/sh-latn.json i18n/myv.json i18n/szl.json i18n/ksh.json i18n/sr-ec.json i18n/bs.json i18n/nn.json libs/PF_rating.js i18n/sjd.json i18n/ug-arab.json i18n/te.json i18n/wuu-hans.json libs/uploadable/Booklet.js libs/PF_popupform.js i18n/kn.json libs/PF_CreateClass.js libs/PF_datetimepicker.js libs/PF_simpleupload.js i18n/es.json Gruntfile.js libs/PageForms.js libs/PF_autogrow.js i18n/nds-nl.json i18n/frp.json i18n/tyv.json i18n/tg-latn.json libs/PF_imagePreview.js libs/ext.pf.select2.base.js i18n/br.json i18n/ig.json libs/PF_maps.js composer.json libs/PF_SpreadsheetComboBoxInput.js i18n/aln.json i18n/tr.json i18n/pap.json i18n/af.json i18n/kw.json i18n/uz.json i18n/be.json i18n/my.json i18n/sms.json i18n/szy.json i18n/hr.json libs/PF_CreateForm.js i18n/fi.json i18n/fr.json i18n/ko.json i18n/ckb.json i18n/km.json i18n/bg.json i18n/et.json i18n/mt.json i18n/vep.json i18n/tk.json i18n/el.json i18n/rue.json i18n/gcr.json i18n/sd.json libs/ext.pf.select2.tokens.js i18n/bjn.json i18n/tg-cyrl.json i18n/kab.json i18n/as.json i18n/udm.json i18n/bar.json libs/PF_wikieditor.js i18n/rmc.json i18n/krc.json i18n/tcy.json i18n/sah.json i18n/gu.json i18n/bcl.json i18n/gv.json i18n/mn.json i18n/kiu.json i18n/pa.json i18n/azb.json i18n/lv.json i18n/got.json libs/PF_SpreadsheetAutocompleteWidget.js i18n/ce.json i18n/is.json i18n/bn.json i18n/ps.json i18n/lki.json i18n/eo.json libs/PF_checkboxes.js i18n/se.json i18n/si.json i18n/dag.json i18n/hu.json libs/PF_FullCalendar.js i18n/ro.json libs/PF_submit.js i18n/dsb.json i18n/pnb.json i18n/sa.json libs/PF_maps.offline.js i18n/stq.json i18n/shn.json i18n/he.json i18n/hsb.json i18n/arc.json i18n/tly.json libs/PF_AutoEditRating.js i18n/ga.json i18n/rif.json i18n/zh-hant.json i18n/mk.json i18n/uk.json i18n/hy.json i18n/ht.json i18n/su.json libs/PF_tree.js i18n/grc.json i18n/bug.json i18n/mwl.json i18n/pl.json i18n/tzm.json i18n/so.json i18n/kea.json i18n/nl.json i18n/wa.json libs/PF_regexp.js libs/uploadable/init.js i18n/da.json package.json i18n/tet.json i18n/frr.json libs/widgets/mw.widgets.PFDateInputWidget.js libs/PF_formInput.js i18n/scn.json i18n/fo.json i18n/de.json i18n/ca.json i18n/fa.json i18n/fy.json i18n/pt.json i18n/mnw.json libs/ext.pf.js i18n/avk.json i18n/sr-el.json i18n/sq.json i18n/cv.json i18n/pt-br.json i18n/ha.json i18n/be-tarask.json i18n/yue-hant.json i18n/zh-hans.json i18n/sc.json libs/PF_AutocompleteWidget.js i18n/mhr.json i18n/haw.json i18n/nah.json i18n/ja.json i18n/ml.json i18n/cs.json i18n/or.json libs/PF_datepicker.js extension.json i18n/ff.json i18n/pfl.json i18n/vo.json i18n/kri.json i18n/skr-arab.json i18n/hi.json i18n/inh.json i18n/blk.json i18n/bug-bugi.json i18n/nb.json i18n/bcc.json i18n/pdc.json i18n/lmo.json i18n/diq.json i18n/gsw.json libs/PF_timepicker.js i18n/en.json i18n/za.json i18n/zgh.json i18n/id.json libs/PF_spreadsheet.js i18n/gom-latn.json i18n/ur.json i18n/yi.json i18n/syl.json i18n/ka.json --fix
--- stdout ---

/src/repo/libs/PF_AutoEditRating.js
   5:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   6:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  12:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  37:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  38:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  40:12  warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  57:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  58:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  61:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  63:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  63:23  warning  Where possible, maintain application state in JS to avoid slower DOM queries  no-jquery/no-class-state
  65:4   warning  Prefer .then to .done                                                         no-jquery/no-done-fail
  77:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  79:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  81:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  83:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  90:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables

/src/repo/libs/PF_AutocompleteWidget.js
   17:2   warning  ES2015 block-scoped variables are forbidden               es-x/no-block-scoped-variables
   67:2   warning  ES2015 block-scoped variables are forbidden               es-x/no-block-scoped-variables
   68:3   warning  'value' is never reassigned. Use 'const' instead          prefer-const
   69:3   warning  'deferred' is never reassigned. Use 'const' instead       prefer-const
   73:2   warning  'api' is never reassigned. Use 'const' instead            prefer-const
   74:2   warning  'requestParams' is never reassigned. Use 'const' instead  prefer-const
   98:2   warning  ES2015 block-scoped variables are forbidden               es-x/no-block-scoped-variables
  100:3   warning  'items' is never reassigned. Use 'const' instead          prefer-const
  129:2   warning  ES2015 block-scoped variables are forbidden               es-x/no-block-scoped-variables
  130:2   warning  ES2015 block-scoped variables are forbidden               es-x/no-block-scoped-variables
  133:2   warning  ES2015 block-scoped variables are forbidden               es-x/no-block-scoped-variables
  134:2   warning  ES2015 block-scoped variables are forbidden               es-x/no-block-scoped-variables
  135:2   warning  ES2015 block-scoped variables are forbidden               es-x/no-block-scoped-variables
  139:18  warning  Prefer `String#slice()` over `String#substr()`            unicorn/prefer-string-slice

/src/repo/libs/PF_ComboBoxInput.js
   20:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   34:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   35:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   36:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   39:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   65:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   66:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   67:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   68:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   70:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   71:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   77:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   92:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   93:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  120:9   warning  Where possible, maintain application state in JS to avoid slower DOM queries  no-jquery/no-class-state
  136:51  warning  ES2015 default parameters are forbidden                                       es-x/no-default-parameters
  137:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  137:7   warning  'input_id' is never reassigned. Use 'const' instead                           prefer-const
  138:4   warning  'values' is never reassigned. Use 'const' instead                             prefer-const
  139:4   warning  'dep_on' is never reassigned. Use 'const' instead                             prefer-const
  140:4   warning  'self' is never reassigned. Use 'const' instead                               prefer-const
  145:4   warning  'wgPageFormsAutocompleteOnAllChars' is never reassigned. Use 'const' instead  prefer-const
  148:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  149:8   warning  Where possible, maintain application state in JS to avoid slower DOM queries  no-jquery/no-class-state
  155:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  156:5   warning  'data_type' is never reassigned. Use 'const' instead                          prefer-const
  158:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  173:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  181:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  183:7   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  184:7   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  186:8   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  198:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  203:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  231:9   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  232:9   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  236:9   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  264:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  265:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  266:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  299:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  305:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  307:12  warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  308:8   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  309:8   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  328:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  334:11  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  334:11  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  339:7   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  340:7   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  341:7   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  342:7   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  343:7   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  344:7   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  345:7   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  346:7   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  463:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  464:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  465:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  467:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  468:8   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  469:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  486:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  487:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  488:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  515:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  516:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  517:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  518:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  519:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  520:8   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  521:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  531:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  532:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  535:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  536:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  537:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  541:18  warning  Prefer `String#slice()` over `String#substr()`                                unicorn/prefer-string-slice
  550:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  553:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  558:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  558:26  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  558:26  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  576:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  577:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  578:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  591:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  596:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  597:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  608:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  614:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  629:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  630:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  631:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  651:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  660:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  662:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  663:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables

/src/repo/libs/PF_CreateClass.js
  21:1  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  32:2  warning  Unexpected var, use let or const instead     no-var
  38:2  warning  Unexpected var, use let or const instead     no-var
  40:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  41:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  42:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  43:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  44:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  45:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  88:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  89:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/PF_CreateForm.js
   2:2  warning  ES2015 block-scoped variables are forbidden   es-x/no-block-scoped-variables
  27:4  warning  ES2015 block-scoped variables are forbidden   es-x/no-block-scoped-variables
  32:4  warning  ES2015 block-scoped variables are forbidden   es-x/no-block-scoped-variables
  60:3  warning  Expected no linebreak before this expression  implicit-arrow-linebreak

/src/repo/libs/PF_CreateProperty.js
   2:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  11:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/PF_CreateTemplate.js
    1:1  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
    2:1  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
    3:1  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   28:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   29:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   55:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   68:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   69:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  119:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  120:7  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  121:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  123:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  124:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  130:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  131:9  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  155:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  156:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  159:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  163:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/PF_FullCalendar.js
    17:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    18:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    20:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    21:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    22:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    24:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    25:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    26:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    27:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    28:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    29:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    30:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    31:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    32:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    33:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    34:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    41:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    42:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    49:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    50:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    51:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    52:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    53:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    55:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    56:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    57:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    58:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    59:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    59:7   warning  'events' is never reassigned. Use 'const' instead                             prefer-const
    59:90  warning  'eventsNoDate' is never reassigned. Use 'const' instead                       prefer-const
    60:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    69:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    70:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    71:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    72:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    75:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   124:11  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   124:11  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   128:19  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   128:19  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   132:19  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   132:19  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   157:11  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   157:11  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   161:19  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   161:19  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   165:19  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   165:19  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   172:11  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   172:11  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   176:19  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   176:19  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   180:19  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   180:19  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   216:7   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   270:9   warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   270:9   warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   272:17  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   272:17  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   279:17  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   279:17  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   281:17  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   281:17  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   290:17  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   290:17  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   299:17  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   299:17  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   308:17  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   308:17  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   340:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   347:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   351:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   352:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   362:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   369:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   382:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   403:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   623:11  warning  Where possible, maintain application state in JS to avoid slower DOM queries  no-jquery/no-class-state
   736:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   737:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   738:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   740:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   754:11  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   754:11  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   756:13  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   764:18  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   764:18  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   771:52  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   771:52  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   775:9   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   779:54  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   779:54  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   780:13  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   780:13  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   782:15  warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   790:51  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   790:51  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   791:13  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   791:13  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   793:15  warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   826:11  warning  Where possible, maintain application state in JS to avoid slower DOM queries  no-jquery/no-class-state
   861:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   862:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   948:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1063:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1064:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1065:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1066:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1067:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1068:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1069:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1072:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1073:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1074:10  warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1076:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1083:12  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1083:12  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1084:13  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1084:13  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1086:20  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1086:20  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1088:20  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1088:20  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1096:21  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1124:12  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1124:12  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1125:13  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1125:13  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1127:20  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1127:20  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1129:20  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1129:20  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1131:20  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1131:20  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1133:20  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1133:20  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1135:20  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1135:20  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1137:20  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1137:20  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1145:21  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1153:7   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1157:14  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1157:14  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1157:71  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1157:71  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1161:14  warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1171:14  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1171:14  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1177:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1182:10  warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1183:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1184:10  warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1186:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables

/src/repo/libs/PF_SpreadsheetAutocompleteWidget.js
   14:2   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
   40:2   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
   42:3   warning  'deferred' is never reassigned. Use 'const' instead               prefer-const
   52:2   warning  'api' is never reassigned. Use 'const' instead                    prefer-const
   53:2   warning  'requestParams' is never reassigned. Use 'const' instead          prefer-const
   61:3   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
   69:3   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
   71:8   warning  ES2016 'Array.prototype.includes' method is forbidden             es-x/no-array-prototype-includes
   71:8   warning  ES2015 'String.prototype.includes' method is forbidden            es-x/no-string-prototype-includes
   76:4   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
   77:4   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
   99:2   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  100:3   warning  'items' is never reassigned. Use 'const' instead                  prefer-const
  114:9   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  122:3   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  122:7   warning  'self' is never reassigned. Use 'const' instead                   prefer-const
  123:4   warning  'wgPageFormsEDSettings' is never reassigned. Use 'const' instead  prefer-const
  124:4   warning  'name' is never reassigned. Use 'const' instead                   prefer-const
  125:4   warning  'edgValues' is never reassigned. Use 'const' instead              prefer-const
  131:5   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  133:6   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  135:21  warning  ES2016 'Array.prototype.includes' method is forbidden             es-x/no-array-prototype-includes
  135:21  warning  ES2015 'String.prototype.includes' method is forbidden            es-x/no-string-prototype-includes
  165:2   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  169:2   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  172:2   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  173:2   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  174:2   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  177:17  warning  Prefer `String#slice()` over `String#substr()`                    unicorn/prefer-string-slice
  209:2   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  222:2   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  223:2   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  224:2   warning  '$baseElement' is never reassigned. Use 'const' instead           prefer-const

/src/repo/libs/PF_SpreadsheetComboBoxInput.js
   30:2   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
   30:6   warning  'data_source' is never reassigned. Use 'const' instead                          prefer-const
   31:3   warning  'data_type' is never reassigned. Use 'const' instead                            prefer-const
   33:3   warning  'self' is never reassigned. Use 'const' instead                                 prefer-const
   34:3   warning  'values' is never reassigned. Use 'const' instead                               prefer-const
   43:3   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
   50:5   warning  Unexpected var, use let or const instead                                        no-var
   52:6   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
   54:7   warning  Unexpected var, use let or const instead                                        no-var
   54:11  warning  'valueFilter' declared on line 56 column 11 is used outside of binding context  block-scoped-var
   56:7   warning  Unexpected var, use let or const instead                                        no-var
   56:11  warning  'valueFilter' declared on line 54 column 11 is used outside of binding context  block-scoped-var
   58:11  warning  'valueFilter' declared on line 54 column 11 is used outside of binding context  block-scoped-var
   58:11  warning  'valueFilter' declared on line 56 column 11 is used outside of binding context  block-scoped-var
   82:3   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
   85:4   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
   88:4   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
   89:9   warning  ES2016 'Array.prototype.includes' method is forbidden                           es-x/no-array-prototype-includes
   89:9   warning  ES2015 'String.prototype.includes' method is forbidden                          es-x/no-string-prototype-includes
   92:5   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
   93:5   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
   94:5   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
   95:5   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
   96:5   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
   97:5   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
   98:5   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
   99:5   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
  114:13  warning  'i' declared on line 50 column 9 is used outside of binding context             block-scoped-var
  114:20  warning  'i' declared on line 50 column 9 is used outside of binding context             block-scoped-var
  114:37  warning  'i' declared on line 50 column 9 is used outside of binding context             block-scoped-var
  116:20  warning  'i' declared on line 50 column 9 is used outside of binding context             block-scoped-var
  116:62  warning  'i' declared on line 50 column 9 is used outside of binding context             block-scoped-var
  130:1   warning  Missing JSDoc @return type                                                      jsdoc/require-returns-type
  133:2   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
  137:2   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
  140:2   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
  141:2   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
  142:2   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
  145:17  warning  Prefer `String#slice()` over `String#substr()`                                  unicorn/prefer-string-slice
  172:2   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
  183:9   warning  ES2016 'Array.prototype.includes' method is forbidden                           es-x/no-array-prototype-includes
  183:9   warning  ES2015 'String.prototype.includes' method is forbidden                          es-x/no-string-prototype-includes
  189:1   warning  The type 'integer' is undefined                                                 jsdoc/no-undefined-types
  194:2   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
  195:2   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
  196:2   warning  jQuery collection names must match the variablePattern                          no-jquery/variable-pattern
  196:2   warning  'baseElement' is never reassigned. Use 'const' instead                          prefer-const

/src/repo/libs/PF_autoedit.js
   13:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   14:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   15:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   15:18  warning  Where possible, maintain application state in JS to avoid slower DOM queries  no-jquery/no-class-state
   24:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   61:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   62:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   64:11  warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   75:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   85:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   86:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   87:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   88:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   89:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   89:23  warning  Where possible, maintain application state in JS to avoid slower DOM queries  no-jquery/no-class-state
   91:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   96:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  100:4   warning  Prefer .then to .done                                                         no-jquery/no-done-fail

/src/repo/libs/PF_autogrow.js
  15:1  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  16:1  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  19:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  25:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  26:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  28:7  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/PF_checkboxes.js
   4:1  warning  Missing JSDoc @param "$" type                jsdoc/require-param-type
   5:1  warning  Missing JSDoc @param "mw" type               jsdoc/require-param-type
  18:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  21:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  34:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  41:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/PF_collapsible.js
  27:3  warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  30:8  warning  Where possible, maintain application state in JS to avoid slower DOM queries  no-jquery/no-class-state

/src/repo/libs/PF_datepicker.js
   4:1  warning  Missing JSDoc @param "$" type                                                 jsdoc/require-param-type
   5:1  warning  Missing JSDoc @param "oo" type                                                jsdoc/require-param-type
   6:1  warning  Missing JSDoc @param "mw" type                                                jsdoc/require-param-type
   7:1  warning  Missing JSDoc @param "pf" type                                                jsdoc/require-param-type
  18:9  warning  Where possible, maintain application state in JS to avoid slower DOM queries  no-jquery/no-class-state

/src/repo/libs/PF_datetimepicker.js
   4:1  warning  Missing JSDoc @param "$" type                jsdoc/require-param-type
   5:1  warning  Missing JSDoc @param "oo" type               jsdoc/require-param-type
   6:1  warning  Missing JSDoc @param "mw" type               jsdoc/require-param-type
   7:1  warning  Missing JSDoc @param "pf" type               jsdoc/require-param-type
  15:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  26:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  27:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  28:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  40:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  41:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/PF_editWarning.js
  13:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  21:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  21:44  warning  'origValues' is never reassigned. Use 'const' instead                         prefer-const
  22:4   warning  '$allInputs' is never reassigned. Use 'const' instead                         prefer-const
  31:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  32:9   warning  Where possible, maintain application state in JS to avoid slower DOM queries  no-jquery/no-class-state
  40:3   warning  'allowCloseWindow' is never reassigned. Use 'const' instead                   prefer-const
  55:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  61:11  warning  Where possible, maintain application state in JS to avoid slower DOM queries  no-jquery/no-class-state

/src/repo/libs/PF_formInput.js
    6:1   warning  Missing JSDoc @param "$" type                jsdoc/require-param-type
    7:1   warning  Missing JSDoc @param "mw" type               jsdoc/require-param-type
   14:3   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   15:3   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   16:3   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   17:3   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   20:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   21:4   warning  ES2015 'for-of' statements are forbidden     es-x/no-for-of-loops
   21:10  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   27:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   30:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   35:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   65:3   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   71:3   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   76:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   78:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   80:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   82:4   warning  ES2015 'for-of' statements are forbidden     es-x/no-for-of-loops
   82:10  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   88:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   94:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  106:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  112:3   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/PF_imagePreview.js
   4:1   warning  Missing JSDoc @param "$" type                jsdoc/require-param-type
   5:1   warning  Missing JSDoc @param "mw" type               jsdoc/require-param-type
  11:2   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  26:6   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  28:12  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  29:7   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  42:3   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  43:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  44:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  61:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  62:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  63:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/PF_maps.js
    8:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
    9:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   10:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   38:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   42:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   52:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   76:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  109:6  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  120:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  123:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  136:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  137:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  138:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  158:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  182:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  183:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  184:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  185:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  186:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  187:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  188:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  189:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  199:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  200:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  201:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  208:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  209:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  210:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  217:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  218:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  219:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  240:4  warning  Prefer .then to .done                        no-jquery/no-done-fail
  246:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  247:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  252:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  253:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  254:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  255:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  256:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  257:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  259:6  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  262:6  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  263:6  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  264:6  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  267:6  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  276:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  277:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  282:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  283:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  293:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  301:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  307:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  345:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  361:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  362:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  379:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  402:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  407:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/PF_maps.offline.js
   21:2  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   22:2  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   24:2  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   39:3  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   56:4  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   79:3  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   84:3  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  117:3  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  141:3  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  173:6  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  192:3  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  193:3  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  198:3  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  199:3  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  209:4  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  213:4  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  217:4  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  225:3  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  239:4  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  240:4  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  241:4  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  260:3  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  260:7  warning  'addressText' is never reassigned. Use 'const' instead  prefer-const
  274:4  warning  Prefer .then to .done                                   no-jquery/no-done-fail
  280:5  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  281:5  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  286:5  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  287:5  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  288:5  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  289:5  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  290:5  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  291:5  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  293:6  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  296:6  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  297:6  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  298:6  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  301:6  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  311:3  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables

/src/repo/libs/PF_popupform.js
   36:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   37:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   38:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   39:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   40:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   41:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   42:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   43:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   45:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   46:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   48:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   50:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   52:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   53:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   73:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   74:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   75:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   76:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   78:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   79:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   81:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   82:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   85:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   86:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   90:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   91:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   93:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   94:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  107:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  108:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  126:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  127:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  131:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  132:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  134:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  138:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  144:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  145:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  147:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  148:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  294:5   warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  294:5   warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  295:4   warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  295:4   warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  299:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  302:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  309:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  313:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  315:3   warning  jQuery collection names must match the variablePattern                        no-jquery/variable-pattern
  319:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  363:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  365:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  374:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  375:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  379:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  406:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  411:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  414:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  418:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  463:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  474:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  476:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  502:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  503:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  512:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  546:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  586:3   warning  ES2024 Resizable ArrayBuffer is forbidden                                     es-x/no-resizable-and-growable-arraybuffers
  592:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  593:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  594:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  598:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  599:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  604:5   warning  Unexpected var, use let or const instead                                      no-var
  638:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  664:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  667:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  695:12  warning  Where possible, maintain application state in JS to avoid slower DOM queries  no-jquery/no-class-state
  709:12  warning  Where possible, maintain application state in JS to avoid slower DOM queries  no-jquery/no-class-state
  711:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  742:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  743:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  750:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  751:11  warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  753:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  754:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables

/src/repo/libs/PF_preview.js
   13:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   14:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   15:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   22:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   24:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   25:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   28:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   30:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   31:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   56:3  warning  ES2024 Resizable ArrayBuffer is forbidden    es-x/no-resizable-and-growable-arraybuffers
   62:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   86:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   88:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   90:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  109:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  110:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  121:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  128:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  143:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  144:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/PF_rating.js
   5:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   6:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  21:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  22:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  23:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  24:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  43:4  warning  Selector extensions are not allowed          no-jquery/no-sizzle

/src/repo/libs/PF_regexp.js
  20:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  21:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  22:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  30:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/PF_simpleupload.js
    5:1   warning  Missing JSDoc @param "$" type                            jsdoc/require-param-type
    6:1   warning  Missing JSDoc @param "mw" type                           jsdoc/require-param-type
   15:3   warning  ES2015 block-scoped variables are forbidden              es-x/no-block-scoped-variables
   16:3   warning  ES2015 block-scoped variables are forbidden              es-x/no-block-scoped-variables
   27:3   warning  ES2015 block-scoped variables are forbidden              es-x/no-block-scoped-variables
   36:3   warning  ES2015 block-scoped variables are forbidden              es-x/no-block-scoped-variables
   43:3   warning  ES2015 block-scoped variables are forbidden              es-x/no-block-scoped-variables
   45:4   warning  'loadingImage' is never reassigned. Use 'const' instead  prefer-const
   84:4   warning  ES2015 block-scoped variables are forbidden              es-x/no-block-scoped-variables
   85:21  warning  ES2016 'Array.prototype.includes' method is forbidden    es-x/no-array-prototype-includes
   85:21  warning  ES2015 'String.prototype.includes' method is forbidden   es-x/no-string-prototype-includes
  101:4   warning  ES2015 block-scoped variables are forbidden              es-x/no-block-scoped-variables
  102:4   warning  ES2015 block-scoped variables are forbidden              es-x/no-block-scoped-variables
  104:4   warning  ES2015 block-scoped variables are forbidden              es-x/no-block-scoped-variables
  129:7   warning  ES2015 block-scoped variables are forbidden              es-x/no-block-scoped-variables
  130:29  warning  ES2016 'Array.prototype.includes' method is forbidden    es-x/no-array-prototype-includes
  130:29  warning  ES2015 'String.prototype.includes' method is forbidden   es-x/no-string-prototype-includes

/src/repo/libs/PF_spreadsheet.js
   10:1   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
   11:1   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
   12:1   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
   13:1   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
   14:1   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
   15:1   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
   16:1   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
   17:1   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
   18:1   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
   21:2   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
   37:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
   42:12  warning  ES2016 'Array.prototype.includes' method is forbidden                        es-x/no-array-prototype-includes
   46:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
   60:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
   72:11  warning  ES2016 'Array.prototype.includes' method is forbidden                        es-x/no-array-prototype-includes
   72:11  warning  ES2015 'String.prototype.includes' method is forbidden                       es-x/no-string-prototype-includes
   84:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  103:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  108:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  114:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  115:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  116:9   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  120:10  warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  134:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  135:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  136:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  146:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  165:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  171:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  174:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  186:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  187:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  203:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  205:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  218:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  244:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  245:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  252:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  253:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  265:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  266:9   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  267:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  275:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  276:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  278:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  294:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  326:3   warning  'editor' is never reassigned. Use 'const' instead                            prefer-const
  354:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  367:2   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  372:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  373:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  373:7   warning  'templateName' is never reassigned. Use 'const' instead                      prefer-const
  374:4   warning  'formName' is never reassigned. Use 'const' instead                          prefer-const
  376:4   warning  'editMultiplePages' is never reassigned. Use 'const' instead                 prefer-const
  377:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  382:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  383:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  393:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  394:3   warning  ES2015 'for-of' statements are forbidden                                     es-x/no-for-of-loops
  394:9   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  396:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  397:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  398:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  416:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  439:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  440:3   warning  ES2015 'for-of' statements are forbidden                                     es-x/no-for-of-loops
  440:9   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  444:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  445:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  446:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  447:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  448:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  457:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  470:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  471:12  warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  489:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  490:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  502:12  warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  503:7   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  504:7   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  521:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  522:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  523:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  524:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  525:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  527:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  531:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  532:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  533:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  534:5   warning  Unexpected var, use let or const instead                                     no-var
  536:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  561:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  566:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  567:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  568:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  570:10  warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  571:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  611:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  682:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  683:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  684:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  685:10  warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  687:6   warning  ES2015 'for-of' statements are forbidden                                     es-x/no-for-of-loops
  687:11  warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  688:7   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  689:7   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  690:7   warning  ES2015 'for-of' statements are forbidden                                     es-x/no-for-of-loops
  690:12  warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  691:8   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  692:8   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  693:8   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  704:11  warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  705:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  706:6   warning  Unexpected var, use let or const instead                                     no-var
  709:7   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  719:8   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  723:8   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  744:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  745:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  750:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  751:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  751:12  warning  'columnParams' is already declared in the upper scope on line 853 column 11  no-shadow
  753:7   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  757:7   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  760:8   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  761:8   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  769:7   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  772:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  773:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  798:8   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  804:8   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  811:8   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  812:8   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  823:8   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  853:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  855:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  863:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  863:10  warning  'numberOfColumns' is never reassigned. Use 'const' instead                   prefer-const
  863:28  warning  Positional selector extensions are not allowed                               no-jquery/no-sizzle
  867:6   warning  Positional selector extensions are not allowed                               no-jquery/no-sizzle
  876:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  885:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  891:7   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  896:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  903:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  904:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  911:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  924:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  924:7   warning  'templateName' is never reassigned. Use 'const' instead                      prefer-const
  925:4   warning  'table' is never reassigned. Use 'const' instead                             prefer-const
  927:4   warning  'editMultiplePages' is never reassigned. Use 'const' instead                 prefer-const
  928:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  928:27  warning  Positional selector extensions are not allowed                               no-jquery/no-sizzle
  933:4   warning  Positional selector extensions are not allowed                               no-jquery/no-sizzle
  942:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  953:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  965:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  966:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  971:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  972:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  973:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables

/src/repo/libs/PF_submit.js
   13:2   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
   14:2   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
   50:2   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
   52:3   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
   78:2   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
   79:3   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
   90:4   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
  105:3   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
  106:3   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
  107:3   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
  111:4   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
  130:4   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
  132:4   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
  133:4   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
  142:46  warning  Prefer `String#slice()` over `String#substring()`                   unicorn/prefer-string-slice
  162:3   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
  175:4   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
  175:10  warning  '$form' is already declared in the upper scope on line 14 column 6  no-shadow
  177:4   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
  200:3   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
  202:4   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
  237:6   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
  238:6   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables

/src/repo/libs/PF_timepicker.js
   19:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   21:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   24:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   44:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   47:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   62:9  warning  Selector extensions are not allowed          no-jquery/no-sizzle
   72:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   80:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   81:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   82:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   84:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   85:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   89:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  100:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  109:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  118:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  120:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  123:8  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  125:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  132:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  134:9  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  136:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/PF_tree.js
   6:1  warning  Missing JSDoc @param "$" type                jsdoc/require-param-type
   7:1  warning  Missing JSDoc @param "mw" type               jsdoc/require-param-type
   8:1  warning  Missing JSDoc @param "pf" type               jsdoc/require-param-type
  22:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  25:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  27:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  34:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  53:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  57:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  66:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  69:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  75:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  88:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  89:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/PF_wikieditor.js
  14:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/PageForms.js
     1:1   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   100:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   115:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   119:9   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   142:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   143:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   153:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   154:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   185:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   187:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   188:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   194:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   197:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   198:10  warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   199:5   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   200:5   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   201:10  warning  Where possible, maintain application state in JS to avoid slower DOM queries         no-jquery/no-class-state
   214:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   215:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   218:7   warning  ES2016 'Array.prototype.includes' method is forbidden                                es-x/no-array-prototype-includes
   218:7   warning  ES2015 'String.prototype.includes' method is forbidden                               es-x/no-string-prototype-includes
   232:19  warning  Where possible, maintain application state in JS to avoid slower DOM queries         no-jquery/no-class-state
   243:9   warning  Selector extensions are not allowed                                                  no-jquery/no-sizzle
   255:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   257:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   265:10  warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   267:5   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   277:8   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   292:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   293:3   warning  'wgPageFormsShowOnSelect' is never reassigned. Use 'const' instead                   prefer-const
   325:9   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   326:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   327:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   338:8   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   352:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   352:6   warning  'wgPageFormsShowOnSelect' is never reassigned. Use 'const' instead                   prefer-const
   367:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   368:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   378:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   378:6   warning  'wgPageFormsShowOnSelect' is never reassigned. Use 'const' instead                   prefer-const
   390:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   407:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   408:61  warning  All possible message keys should be documented. See https://w.wiki/4r9a for details  mediawiki/msg-doc
   415:58  warning  All possible message keys should be documented. See https://w.wiki/4r9a for details  mediawiki/msg-doc
   422:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   423:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   432:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   433:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   434:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   447:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   448:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   467:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   468:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   469:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   475:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   480:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   481:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   482:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   484:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   485:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   486:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   488:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   490:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   494:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   514:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   515:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   516:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   546:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   547:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   548:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   549:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   550:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   551:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   568:5   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   605:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   626:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   638:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   648:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   658:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   672:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   673:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   678:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   688:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   690:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   700:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   713:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   724:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   725:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   741:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   750:8   warning  ES2016 'Array.prototype.includes' method is forbidden                                es-x/no-array-prototype-includes
   750:8   warning  ES2015 'String.prototype.includes' method is forbidden                               es-x/no-string-prototype-includes
   756:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   763:8   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   764:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   765:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   766:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   767:3   warning  Unexpected var, use let or const instead                                             no-var
   772:9   warning  ES2016 'Array.prototype.includes' method is forbidden                                es-x/no-array-prototype-includes
   772:9   warning  ES2015 'String.prototype.includes' method is forbidden                               es-x/no-string-prototype-includes
   773:5   warning  ES2016 'Array.prototype.includes' method is forbidden                                es-x/no-array-prototype-includes
   773:5   warning  ES2015 'String.prototype.includes' method is forbidden                               es-x/no-string-prototype-includes
   783:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   797:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   798:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   836:2   warning  Unexpected var, use let or const instead                                             no-var
   836:6   warning  'negative' declared on line 839 column 7 is used outside of binding context          block-scoped-var
   839:3   warning  Unexpected var, use let or const instead                                             no-var
   841:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   845:7   warning  'negative' declared on line 839 column 7 is used outside of binding context          block-scoped-var
   858:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   859:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   860:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   862:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   863:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   864:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   866:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   868:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   886:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   887:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   888:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   889:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   890:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   891:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   892:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   894:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   895:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   896:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   897:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   898:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   899:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   900:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   902:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   905:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   929:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   931:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1019:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1019:8   warning  jQuery collection names must match the variablePattern                               no-jquery/variable-pattern
  1020:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1020:8   warning  jQuery collection names must match the variablePattern                               no-jquery/variable-pattern
  1026:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1026:8   warning  jQuery collection names must match the variablePattern                               no-jquery/variable-pattern
  1027:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1027:8   warning  jQuery collection names must match the variablePattern                               no-jquery/variable-pattern
  1033:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1038:9   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1095:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1096:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1102:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1104:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1109:5   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1113:5   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1114:5   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1115:11  warning  ES2016 'Array.prototype.includes' method is forbidden                                es-x/no-array-prototype-includes
  1115:11  warning  ES2015 'String.prototype.includes' method is forbidden                               es-x/no-string-prototype-includes
  1120:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1121:9   warning  Where possible, maintain application state in JS to avoid slower DOM queries         no-jquery/no-class-state
  1128:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1152:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1153:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1167:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1171:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1174:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1178:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1190:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1194:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1215:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1218:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1228:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1228:9   warning  jQuery collection names must match the variablePattern                               no-jquery/variable-pattern
  1229:8   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1230:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1240:1   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1242:1   warning  JSDoc @return declaration present but return expression not available in function    jsdoc/require-returns-check
  1249:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1250:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1251:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1252:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1261:10  warning  Where possible, maintain application state in JS to avoid slower DOM queries         no-jquery/no-class-state
  1265:8   warning  Where possible, maintain application state in JS to avoid slower DOM queries         no-jquery/no-class-state
  1276:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1311:5   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1318:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1325:5   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1337:5   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1339:6   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1415:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1422:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1428:9   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1429:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1460:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1461:3   warning  'wgPageFormsCargoFields' is never reassigned. Use 'const' instead                    prefer-const
  1462:3   warning  'wgPageFormsFieldProperties' is never reassigned. Use 'const' instead                prefer-const
  1465:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1466:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1467:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1468:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1469:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1470:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1471:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1472:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1475:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1476:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1479:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1480:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1499:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1516:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1521:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1522:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1523:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1524:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1525:8   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1526:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1533:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1535:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1536:4   warning  'dependentField' is never reassigned. Use 'const' instead                            prefer-const
  1545:8   warning  Where possible, maintain application state in JS to avoid slower DOM queries         no-jquery/no-class-state
  1639:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1640:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1641:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1650:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1657:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1657:9   warning  jQuery collection names must match the variablePattern                               no-jquery/variable-pattern
  1658:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1659:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1660:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1664:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1664:10  warning  jQuery collection names must match the variablePattern                               no-jquery/variable-pattern
  1665:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1666:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1667:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1742:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1743:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1754:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1801:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1802:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1804:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1818:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1823:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1824:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1825:9   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1859:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1886:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1890:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1891:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1910:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1912:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1935:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1937:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1938:30  warning  Where possible, maintain application state in JS to avoid slower DOM queries         no-jquery/no-class-state
  1942:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1950:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1951:8   warning  Where possible, maintain application state in JS to avoid slower DOM queries         no-jquery/no-class-state
  1955:8   warning  Where possible, maintain application state in JS to avoid slower DOM queries         no-jquery/no-class-state
  1960:7   warning  Where possible, maintain application state in JS to avoid slower DOM queries         no-jquery/no-class-state

/src/repo/libs/ext.pf.select2.base.js
   40:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
   44:5   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
   47:5   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
   53:5   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
   58:5   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
   65:6   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
   72:6   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
   78:5   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
   79:5   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
   86:7   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
   92:8   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  123:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  124:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  125:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  127:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  128:10  warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  129:5   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  146:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  147:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  148:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  150:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  151:10  warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  152:5   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  193:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  194:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  195:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  217:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  218:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  240:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  255:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  257:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  258:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  289:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  297:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  298:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  299:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  300:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  301:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  310:5   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  311:5   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  313:6   warning  Prefer `String#slice()` over `String#substr()`  unicorn/prefer-string-slice
  314:6   warning  Prefer `String#slice()` over `String#substr()`  unicorn/prefer-string-slice

/src/repo/libs/ext.pf.select2.tokens.js
    1:1   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   35:2   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   44:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   47:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   57:4   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   65:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   66:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   67:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   78:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   84:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   86:6   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   90:11  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  101:4   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  104:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  112:4   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  130:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  131:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  132:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  136:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  146:6   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  154:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  160:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  161:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  162:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  165:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  172:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  184:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  185:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  186:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  189:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  190:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  203:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  206:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  207:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  208:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  209:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  218:4   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  219:4   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  227:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  237:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  250:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  277:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  278:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  279:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  280:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  283:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  285:9   warning  ES2016 'Array.prototype.includes' method is forbidden   es-x/no-array-prototype-includes
  285:9   warning  ES2015 'String.prototype.includes' method is forbidden  es-x/no-string-prototype-includes
  288:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  289:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  325:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  329:11  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  337:4   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  338:4   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  374:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  375:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  376:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  377:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  378:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  380:4   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  391:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  396:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  399:6   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  400:6   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  402:7   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  403:7   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  405:8   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  421:8   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  425:9   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  425:44  warning  ES2016 'Array.prototype.includes' method is forbidden   es-x/no-array-prototype-includes
  425:44  warning  ES2015 'String.prototype.includes' method is forbidden  es-x/no-string-prototype-includes
  454:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  456:4   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  461:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  462:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables

/src/repo/libs/uploadable/Booklet.js
  33:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/uploadable/init.js
   1:1  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   3:1  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   4:1  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  10:1  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  13:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  17:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  19:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  32:1  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/widgets/mw.widgets.PFDateInputWidget.js
   5:3   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  24:2   warning  Missing JSDoc @return declaration                                 jsdoc/require-returns
  30:1   warning  Missing JSDoc @param "date" type                                  jsdoc/require-param-type
  31:1   warning  Missing JSDoc @param "format" type                                jsdoc/require-param-type
  34:3   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  42:3   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  43:4   warning  'inputFormat' is never reassigned. Use 'const' instead            prefer-const
  44:4   warning  'value' is never reassigned. Use 'const' instead                  prefer-const
  45:4   warning  'valid' is never reassigned. Use 'const' instead                  prefer-const
  53:3   warning  'mom' is never reassigned. Use 'const' instead                    prefer-const
  60:3   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  75:3   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  78:4   warning  'inputFormat' is never reassigned. Use 'const' instead            prefer-const
  84:3   warning  'moment' is never reassigned. Use 'const' instead                 prefer-const
  85:3   warning  'parsedDatePartsLength' is never reassigned. Use 'const' instead  prefer-const
  92:40  warning  ES2016 'Array.prototype.includes' method is forbidden             es-x/no-array-prototype-includes
  92:40  warning  ES2015 'String.prototype.includes' method is forbidden            es-x/no-string-prototype-includes

✖ 1337 problems (0 errors, 1337 warnings)


--- end ---
$ ./node_modules/.bin/eslint i18n/jbo.json i18n/cu.json i18n/mr.json i18n/om.json i18n/tl.json i18n/fit.json i18n/tt-cyrl.json i18n/ms.json i18n/sk.json i18n/pms.json i18n/ku-latn.json i18n/kjp.json i18n/ti.json i18n/nqo.json i18n/ia.json package-lock.json libs/PF_CreateProperty.js i18n/bgn.json i18n/vi.json i18n/roa-tara.json i18n/it.json i18n/qqq.json i18n/isv-latn.json i18n/jv.json i18n/sco.json i18n/sl.json i18n/ne.json i18n/az.json i18n/th.json i18n/ar.json i18n/tw.json i18n/io.json i18n/an.json i18n/ky.json i18n/atj.json libs/PF_ComboBoxInput.js libs/PF_PageSchemas.js i18n/arz.json i18n/min.json i18n/pam.json libs/PF_editWarning.js i18n/lb.json i18n/oc.json i18n/li.json i18n/ta.json i18n/smn.json i18n/mzn.json i18n/eu.json i18n/lt.json i18n/os.json libs/PF_preview.js i18n/nso.json libs/PF_collapsible.js i18n/am.json i18n/ru.json i18n/krj.json i18n/gl.json i18n/zh-tw.json i18n/nds.json i18n/ba.json i18n/sv.json i18n/sw.json i18n/ttj.json libs/PF_CreateTemplate.js libs/PF_autoedit.js i18n/ast.json i18n/sh-latn.json i18n/myv.json i18n/szl.json i18n/ksh.json i18n/sr-ec.json i18n/bs.json i18n/nn.json libs/PF_rating.js i18n/sjd.json i18n/ug-arab.json i18n/te.json i18n/wuu-hans.json libs/uploadable/Booklet.js libs/PF_popupform.js i18n/kn.json libs/PF_CreateClass.js libs/PF_datetimepicker.js libs/PF_simpleupload.js i18n/es.json Gruntfile.js libs/PageForms.js libs/PF_autogrow.js i18n/nds-nl.json i18n/frp.json i18n/tyv.json i18n/tg-latn.json libs/PF_imagePreview.js libs/ext.pf.select2.base.js i18n/br.json i18n/ig.json libs/PF_maps.js composer.json libs/PF_SpreadsheetComboBoxInput.js i18n/aln.json i18n/tr.json i18n/pap.json i18n/af.json i18n/kw.json i18n/uz.json i18n/be.json i18n/my.json i18n/sms.json i18n/szy.json i18n/hr.json libs/PF_CreateForm.js i18n/fi.json i18n/fr.json i18n/ko.json i18n/ckb.json i18n/km.json i18n/bg.json i18n/et.json i18n/mt.json i18n/vep.json i18n/tk.json i18n/el.json i18n/rue.json i18n/gcr.json i18n/sd.json libs/ext.pf.select2.tokens.js i18n/bjn.json i18n/tg-cyrl.json i18n/kab.json i18n/as.json i18n/udm.json i18n/bar.json libs/PF_wikieditor.js i18n/rmc.json i18n/krc.json i18n/tcy.json i18n/sah.json i18n/gu.json i18n/bcl.json i18n/gv.json i18n/mn.json i18n/kiu.json i18n/pa.json i18n/azb.json i18n/lv.json i18n/got.json libs/PF_SpreadsheetAutocompleteWidget.js i18n/ce.json i18n/is.json i18n/bn.json i18n/ps.json i18n/lki.json i18n/eo.json libs/PF_checkboxes.js i18n/se.json i18n/si.json i18n/dag.json i18n/hu.json libs/PF_FullCalendar.js i18n/ro.json libs/PF_submit.js i18n/dsb.json i18n/pnb.json i18n/sa.json libs/PF_maps.offline.js i18n/stq.json i18n/shn.json i18n/he.json i18n/hsb.json i18n/arc.json i18n/tly.json libs/PF_AutoEditRating.js i18n/ga.json i18n/rif.json i18n/zh-hant.json i18n/mk.json i18n/uk.json i18n/hy.json i18n/ht.json i18n/su.json libs/PF_tree.js i18n/grc.json i18n/bug.json i18n/mwl.json i18n/pl.json i18n/tzm.json i18n/so.json i18n/kea.json i18n/nl.json i18n/wa.json libs/PF_regexp.js libs/uploadable/init.js i18n/da.json package.json i18n/tet.json i18n/frr.json libs/widgets/mw.widgets.PFDateInputWidget.js libs/PF_formInput.js i18n/scn.json i18n/fo.json i18n/de.json i18n/ca.json i18n/fa.json i18n/fy.json i18n/pt.json i18n/mnw.json libs/ext.pf.js i18n/avk.json i18n/sr-el.json i18n/sq.json i18n/cv.json i18n/pt-br.json i18n/ha.json i18n/be-tarask.json i18n/yue-hant.json i18n/zh-hans.json i18n/sc.json libs/PF_AutocompleteWidget.js i18n/mhr.json i18n/haw.json i18n/nah.json i18n/ja.json i18n/ml.json i18n/cs.json i18n/or.json libs/PF_datepicker.js extension.json i18n/ff.json i18n/pfl.json i18n/vo.json i18n/kri.json i18n/skr-arab.json i18n/hi.json i18n/inh.json i18n/blk.json i18n/bug-bugi.json i18n/nb.json i18n/bcc.json i18n/pdc.json i18n/lmo.json i18n/diq.json i18n/gsw.json libs/PF_timepicker.js i18n/en.json i18n/za.json i18n/zgh.json i18n/id.json libs/PF_spreadsheet.js i18n/gom-latn.json i18n/ur.json i18n/yi.json i18n/syl.json i18n/ka.json -f json
--- stdout ---
[{"filePath":"/src/repo/Gruntfile.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/composer.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/extension.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/af.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/aln.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/am.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/an.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/ar.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/arc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/arz.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/as.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/ast.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/atj.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/avk.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/az.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/azb.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/ba.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/bar.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/bcc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/bcl.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/be-tarask.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/be.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/bg.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/bgn.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/bjn.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/blk.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/bn.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/br.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/bs.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/bug-bugi.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/bug.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/ca.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/ce.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/ckb.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/cs.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/cu.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/cv.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/da.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/dag.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/de.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/diq.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/dsb.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/el.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/en.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/eo.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/es.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/et.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/eu.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/fa.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/ff.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/fi.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/fit.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/fo.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/fr.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/frp.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/frr.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/fy.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/ga.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/gcr.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/gl.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/gom-latn.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/got.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/grc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/gsw.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/gu.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/gv.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/ha.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/haw.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/he.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/hi.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/hr.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/hsb.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/ht.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/hu.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/hy.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/ia.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/id.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/ig.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/inh.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/io.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/is.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/isv-latn.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/it.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/ja.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/jbo.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/jv.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/ka.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/kab.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/kea.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/kiu.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/kjp.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/km.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/kn.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/ko.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/krc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/kri.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/krj.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/ksh.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/ku-latn.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/kw.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/ky.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/lb.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/li.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/lki.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/lmo.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/lt.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/lv.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/mhr.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/min.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/mk.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/ml.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/mn.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/mnw.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/mr.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/ms.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/mt.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/mwl.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/my.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/myv.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/mzn.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/nah.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/nb.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/nds-nl.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/nds.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/ne.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/nl.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/nn.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/nqo.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/nso.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/oc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/om.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/or.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/os.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/pa.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/pam.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/pap.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/pdc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/pfl.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/pl.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/pms.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/pnb.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/ps.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/pt-br.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/pt.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/qqq.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/rif.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/rmc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/ro.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/roa-tara.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/ru.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/rue.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/sa.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/sah.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/sc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/scn.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/sco.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/sd.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/se.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/sh-latn.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/shn.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/si.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/sjd.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/sk.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/skr-arab.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/sl.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/smn.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/sms.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/so.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/sq.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/sr-ec.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/sr-el.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/stq.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/su.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/sv.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/sw.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/syl.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/szl.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/szy.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/ta.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/tcy.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/te.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/tet.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/tg-cyrl.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/tg-latn.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/th.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/ti.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/tk.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/tl.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/tly.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/tr.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/tt-cyrl.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/ttj.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/tw.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/tyv.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/tzm.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/udm.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/ug-arab.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/uk.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/ur.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/uz.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/vep.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/vi.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/vo.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/wa.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/wuu-hans.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/yi.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/yue-hant.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/za.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/zgh.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/zh-hans.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/zh-hant.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/i18n/zh-tw.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/libs/PF_AutoEditRating.js","messages":[{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":5,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":5,"endColumn":55},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":6,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":6,"endColumn":58},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":12,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":15,"endColumn":5},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":37,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":37,"endColumn":60},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":38,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":38,"endColumn":37},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":40,"column":12,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":40,"endColumn":21},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":57,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":57,"endColumn":55},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":58,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":58,"endColumn":62},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":61,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":62,"endColumn":11},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":63,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":63,"endColumn":61},{"ruleId":"no-jquery/no-class-state","severity":1,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":63,"column":23,"nodeType":"CallExpression","endLine":63,"endColumn":60},{"ruleId":"no-jquery/no-done-fail","severity":1,"message":"Prefer .then to .done","line":65,"column":4,"nodeType":"CallExpression","endLine":70,"endColumn":8},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":77,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":78,"endColumn":30},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":79,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":80,"endColumn":29},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":81,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":82,"endColumn":29},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":83,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":84,"endColumn":32},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":90,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":96,"endColumn":5}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":17,"fixableErrorCount":0,"fixableWarningCount":0,"source":"( function( $, mw ) {\n\t'use strict';\n\n\tfunction sendData( $jtrigger ) {\n\t\tconst $jautoedit = $jtrigger.closest( '.autoedit' );\n\t\tconst $jresult = $jautoedit.find( '.autoedit-result' );\n\n\t\t$jresult.attr( 'class', 'autoedit-result autoedit-result-wait' );\n\t\t$jresult.text( mw.msg( 'pf-autoedit-wait' ) );\n\n\t\t// data array to be sent to the server\n\t\tconst data = {\n\t\t\taction: 'pfautoedit',\n\t\t\tformat: 'json'\n\t\t};\n\n\t\t// add form values to the data\n\t\tdata.query = $jautoedit.find( 'form.autoedit-data' )\n\t\t\t.serialize();\n\t\t$.ajax( {\n\t\t\ttype: 'POST', // request type ( GET or POST )\n\t\t\turl: mw.util.wikiScript( 'api' ), // URL to which the request is sent\n\t\t\tdata: data, // data to be sent to the server\n\t\t\tdataType: 'json', // type of data expected back from the server\n\t\t\tsuccess: function( result ) {\n\t\t\t\t$jresult.empty()\n\t\t\t\t\t.append( result.responseText );\n\t\t\t\tif ( result.status === 200 ) {\n\t\t\t\t\t$jresult.removeClass( 'autoedit-result-wait' )\n\t\t\t\t\t\t.addClass( 'autoedit-result-ok' );\n\t\t\t\t} else {\n\t\t\t\t\t$jresult.removeClass( 'autoedit-result-wait' )\n\t\t\t\t\t\t.addClass( 'autoedit-result-error' );\n\t\t\t\t}\n\t\t\t}, // function to be called if the request succeeds\n\t\t\terror: function( jqXHR ) {\n\t\t\t\t\tconst result = jQuery.parseJSON( jqXHR.responseText );\n\t\t\t\t\tlet text = result.responseText;\n\n\t\t\t\t\tfor ( let i = 0; i < result.errors.length; i++ ) {\n\t\t\t\t\t\ttext += ' ' + result.errors[ i ].message;\n\t\t\t\t\t}\n\n\t\t\t\t\t$jresult.empty()\n\t\t\t\t\t\t.append( text );\n\t\t\t\t\t$jresult.removeClass( 'autoedit-result-wait' )\n\t\t\t\t\t\t.addClass( 'autoedit-result-error' );\n\t\t\t\t} // function to be called if the request fails\n\t\t} );\n\t}\n\n\tfunction handleAutoEditRating( $jtrigger, value ) {\n\t\tif ( mw.config.get( 'wgUserName' ) === null &&\n\t\t\t!confirm( mw.msg( 'pf_autoedit_anoneditwarning' ) ) ) {\n\t\t\treturn;\n\t\t}\n\t\tconst $jautoedit = $jtrigger.closest( '.autoedit' );\n\t\tconst $jeditdata = $jautoedit.find( 'form.autoedit-data' );\n\t\t$jeditdata.find( '#ratingInput' )\n\t\t\t.attr( \"value\", value );;\n\t\tconst targetpage = $jeditdata.find( 'input[name=target]' )\n\t\t\t.val();\n\t\tconst confirmEdit = $jeditdata.hasClass( 'confirm-edit' );\n\t\tif ( confirmEdit ) {\n\t\t\tOO.ui.confirm( mw.msg( 'pf_autoedit_confirm', targetpage ) )\n\t\t\t\t.done( (confirmed) => {\n\t\t\t\t\tif ( confirmed ) {\n\t\t\t\t\t\tsendData( $jtrigger );\n\t\t\t\t\t}\n\t\t\t\t} )\n\t\t} else {\n\t\t\tsendData( $jtrigger );\n\t\t}\n\t};\n\n\tjQuery.fn.applyRatingInput = function( fromCalendar ) {\n\t\tconst starWidth = $( this )\n\t\t\t.attr( 'data-starwidth' );\n\t\tlet curValue = $( this )\n\t\t\t.attr( 'data-curvalue' );;\n\t\tconst numStars = $( this )\n\t\t\t.attr( 'data-numstars' );\n\t\tconst allowsHalf = $( this )\n\t\t\t.attr( 'data-allows-half' );\n\n\t\tif ( curValue === '' || curValue === undefined ) {\n\t\t\tcurValue = 0;\n\t\t}\n\n\t\tconst ratingsSettings = {\n\t\t\tnormalFill: '#ddd',\n\t\t\tstarWidth: starWidth,\n\t\t\tnumStars: numStars,\n\t\t\tmaxValue: numStars,\n\t\t\trating: curValue\n\t\t};\n\n\t\tif ( allowsHalf === undefined ) {\n\t\t\tratingsSettings.fullStar = true;\n\t\t} else {\n\t\t\tratingsSettings.halfStar = true;\n\t\t}\n\n\t\t$( this )\n\t\t\t.rateYo( ratingsSettings )\n\t\t\t.on( \"rateyo.set\", function( e, data ) {\n\t\t\t\thandleAutoEditRating( $( this )\n\t\t\t\t\t.parent(), data.rating );\n\t\t\t} );\n\t};\n\n\t$( function() {\n\t\t$( this )\n\t\t\t.find( '.pfRating' )\n\t\t\t.each( function() {\n\t\t\t\t$( this )\n\t\t\t\t\t.applyRatingInput();\n\t\t\t} )\n\t} );\n\n}( jQuery, mediaWiki ) );\n","usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/libs/PF_AutocompleteWidget.js","messages":[{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":17,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":27,"endColumn":4},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":67,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":71,"endColumn":17},{"ruleId":"prefer-const","severity":1,"message":"'value' is never reassigned. Use 'const' instead.","line":68,"column":3,"nodeType":"Identifier","messageId":"useConst","endLine":68,"endColumn":8},{"ruleId":"prefer-const","severity":1,"message":"'deferred' is never reassigned. Use 'const' instead.","line":69,"column":3,"nodeType":"Identifier","messageId":"useConst","endLine":69,"endColumn":11},{"ruleId":"prefer-const","severity":1,"message":"'api' is never reassigned. Use 'const' instead.","line":73,"column":2,"nodeType":"Identifier","messageId":"useConst","endLine":73,"endColumn":5},{"ruleId":"prefer-const","severity":1,"message":"'requestParams' is never reassigned. Use 'const' instead.","line":74,"column":2,"nodeType":"Identifier","messageId":"useConst","endLine":74,"endColumn":15},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":98,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":100,"endColumn":14},{"ruleId":"prefer-const","severity":1,"message":"'items' is never reassigned. Use 'const' instead.","line":100,"column":3,"nodeType":"Identifier","messageId":"useConst","endLine":100,"endColumn":8},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":129,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":129,"endColumn":37},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":130,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":132,"endColumn":36},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":133,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":133,"endColumn":31},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":134,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":134,"endColumn":45},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":135,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":135,"endColumn":8},{"ruleId":"unicorn/prefer-string-slice","severity":1,"message":"Prefer `String#slice()` over `String#substr()`.","line":139,"column":18,"nodeType":"CallExpression","messageId":"substr","endLine":139,"endColumn":58}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":14,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * An OOUI-based widget for an autocompleting text input that uses the\n * Page Forms 'pfautocomplete' API.\n *\n * @class\n * @extends OO.ui.TextInputWidget\n *\n * @constructor\n * @param {Object} config Configuration options\n * @author Yaron Koren\n * @author Sahaj Khandelwal\n * @author Yash Varshney\n */\n\npf.AutocompleteWidget = function( config ) {\n\t// Parent constructor\n\tconst textInputConfig = {\n\t\tname: 'page_name',\n\t\t// The following classes are used here:\n\t\t// * pfPageNameWithNamespace\n\t\t// * pfPageNameWithoutNamespace\n\t\tclasses: config.classes,\n\t\t// This turns off the local, browser-based autocompletion,\n\t\t// which would normally suggest values that the user has\n\t\t// typed before on that computer.\n\t\tautocomplete: false\n\t};\n\tif ( config.value !== undefined ) {\n\t\ttextInputConfig.value = config.value;\n\t}\n\tif ( config.placeholder !== undefined ) {\n\t\ttextInputConfig.placeholder = config.placeholder;\n\t}\n\tif ( config.autofocus !== undefined ) {\n\t\ttextInputConfig.autofocus = config.autofocus;\n\t}\n\tOO.ui.TextInputWidget.call( this, textInputConfig );\n\t// Mixin constructors\n\tif ( config.autocompletedatatype !== undefined ) {\n\t\tOO.ui.mixin.LookupElement.call( this, { highlightFirst: false } );\n\t}\n\n\tthis.config = config;\n\n\t// Initialization\n\tif ( config.size !== undefined && config.size !== '' ) {\n\t\tthis.$element.css('width', 'initial');\n\t\tthis.$input.css('width', 'initial');\n\t\tthis.$input.attr('size', config.size);\n\t}\n\n\t// dataCache will temporarily store entity id => entity data mappings of\n\t// entities, so that if we somehow then alter the text (add characters,\n\t// remove some) and then adjust our typing to form a known item,\n\t// it'll recognize it and know what the id was, without us having to\n\t// select it anew\n\tthis.dataCache = {};\n};\n\nOO.inheritClass( pf.AutocompleteWidget, OO.ui.TextInputWidget );\nOO.mixinClass( pf.AutocompleteWidget, OO.ui.mixin.LookupElement );\n\n/**\n * @inheritdoc\n */\npf.AutocompleteWidget.prototype.getLookupRequest = function() {\n\tlet\n\t\tvalue = this.getValue(),\n\t\tdeferred = $.Deferred(),\n\t\tapi,\n\t\trequestParams;\n\n\tapi = new mw.Api();\n\trequestParams = {\n\t\taction: 'pfautocomplete',\n\t\tformat: 'json',\n\t\tsubstr: value\n\t};\n\n\tif ( this.config.autocompletedatatype == 'category' ) {\n\t\trequestParams.category = this.config.autocompletesettings;\n\t} else if ( this.config.autocompletedatatype == 'namespace' ) {\n\t\trequestParams.namespace = this.config.autocompletesettings;\n\t}\n\n\treturn api.get( requestParams );\n};\n/**\n * @inheritdoc\n */\npf.AutocompleteWidget.prototype.getLookupCacheDataFromResponse = function( response ) {\n\treturn response || [];\n};\n/**\n * @inheritdoc\n */\npf.AutocompleteWidget.prototype.getLookupMenuOptionsFromData = function( data ) {\n\tlet i,\n\t\titem,\n\t\titems = [];\n\n\tdata = data.pfautocomplete;\n\tif ( this.maxSuggestions !== undefined ) {\n\t\tdata = data.slice( 0, this.maxSuggestions - 1 );\n\t}\n\tif ( !data ) {\n\t\treturn [];\n\t} else if ( data.length === 0 ) {\n\t\t// Generate a disabled option with a helpful message in case no results are found.\n\t\treturn [\n\t\t\tnew OO.ui.MenuOptionWidget( {\n\t\t\t\tdisabled: true,\n\t\t\t\tlabel: mw.message( 'pf-autocomplete-no-matches' ).text()\n\t\t\t} )\n\t\t];\n\t}\n\tfor ( i = 0; i < data.length; i++ ) {\n\t\titem = new OO.ui.MenuOptionWidget( {\n\t\t\t// this data will be passed to onLookupMenuChoose when item is selected\n\t\t\tdata: data[ i ].title.toString(),\n\t\t\tlabel: this.highlightText( data[ i ].title.toString() )\n\t\t} );\n\t\titems.push( item );\n\t}\n\treturn items;\n};\n\npf.AutocompleteWidget.prototype.highlightText = function( suggestion ) {\n\tconst searchTerm = this.getValue();\n\tconst searchRegexp = new RegExp(\"(?![^&;]+;)(?!<[^<>]*)(\" +\n\t\tsearchTerm.replace(/([\\^\\$\\(\\)\\[\\]\\{\\}\\*\\.\\+\\?\\|\\\\])/gi, \"\\\\$1\") +\n\t\t\")(?![^<>]*>)(?![^&;]+;)\", \"gi\");\n\tconst itemLabel = suggestion;\n\tconst loc = itemLabel.search(searchRegexp);\n\tlet t;\n\n\tif (loc >= 0) {\n\t\tt = itemLabel.slice(0, Math.max(0, loc)) +\n\t\t\t '<strong>' + itemLabel.substr(loc, searchTerm.length) + '</strong>' +\n\t\t\titemLabel.slice(loc + searchTerm.length);\n\t} else {\n\t\tt = itemLabel;\n\t}\n\n\treturn new OO.ui.HtmlSnippet( t );\n};\n","usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/libs/PF_ComboBoxInput.js","messages":[{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":20,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":20,"endColumn":24},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":34,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":34,"endColumn":32},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":35,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":35,"endColumn":65},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":36,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":36,"endColumn":77},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":39,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":43,"endColumn":6},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":65,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":65,"endColumn":45},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":66,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":66,"endColumn":62},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":67,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":67,"endColumn":48},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":68,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":68,"endColumn":69},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":70,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":70,"endColumn":75},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":71,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":71,"endColumn":61},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":77,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":80,"endColumn":7},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":92,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":92,"endColumn":50},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":93,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":93,"endColumn":64},{"ruleId":"no-jquery/no-class-state","severity":1,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":120,"column":9,"nodeType":"CallExpression","endLine":120,"endColumn":65},{"ruleId":"es-x/no-default-parameters","severity":1,"message":"ES2015 default parameters are forbidden.","line":136,"column":51,"nodeType":"AssignmentPattern","messageId":"forbidden","endLine":136,"endColumn":71},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":137,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":145,"endColumn":93},{"ruleId":"prefer-const","severity":1,"message":"'input_id' is never reassigned. Use 'const' instead.","line":137,"column":7,"nodeType":"Identifier","messageId":"useConst","endLine":137,"endColumn":15},{"ruleId":"prefer-const","severity":1,"message":"'values' is never reassigned. Use 'const' instead.","line":138,"column":4,"nodeType":"Identifier","messageId":"useConst","endLine":138,"endColumn":10},{"ruleId":"prefer-const","severity":1,"message":"'dep_on' is never reassigned. Use 'const' instead.","line":139,"column":4,"nodeType":"Identifier","messageId":"useConst","endLine":139,"endColumn":10},{"ruleId":"prefer-const","severity":1,"message":"'self' is never reassigned. Use 'const' instead.","line":140,"column":4,"nodeType":"Identifier","messageId":"useConst","endLine":140,"endColumn":8},{"ruleId":"prefer-const","severity":1,"message":"'wgPageFormsAutocompleteOnAllChars' is never reassigned. Use 'const' instead.","line":145,"column":4,"nodeType":"Identifier","messageId":"useConst","endLine":145,"endColumn":37},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":148,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":148,"endColumn":51},{"ruleId":"no-jquery/no-class-state","severity":1,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":149,"column":8,"nodeType":"CallExpression","endLine":149,"endColumn":48},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":155,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":156,"endColumn":50},{"ruleId":"prefer-const","severity":1,"message":"'data_type' is never reassigned. Use 'const' instead.","line":156,"column":5,"nodeType":"Identifier","messageId":"useConst","endLine":156,"endColumn":14},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":158,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":158,"endColumn":52},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":173,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":173,"endColumn":52},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":181,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":181,"endColumn":45},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":183,"column":7,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":183,"endColumn":45},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":184,"column":7,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":184,"endColumn":56},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":186,"column":8,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":186,"endColumn":68},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":198,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":198,"endColumn":65},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":203,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":203,"endColumn":65},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":231,"column":9,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":231,"endColumn":41},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":232,"column":9,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":232,"endColumn":105},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":236,"column":9,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":241,"endColumn":11},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":264,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":264,"endColumn":64},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":265,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":265,"endColumn":75},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":266,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":266,"endColumn":51},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":299,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":299,"endColumn":91},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":305,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":305,"endColumn":74},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":307,"column":12,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":307,"endColumn":21},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":308,"column":8,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":308,"endColumn":69},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":309,"column":8,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":309,"endColumn":38},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":328,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":328,"endColumn":63},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":334,"column":11,"nodeType":"MemberExpression","messageId":"forbidden","endLine":334,"endColumn":39},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":334,"column":11,"nodeType":"MemberExpression","messageId":"forbidden","endLine":334,"endColumn":39},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":339,"column":7,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":339,"endColumn":57},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":340,"column":7,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":340,"endColumn":67},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":341,"column":7,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":341,"endColumn":48},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":342,"column":7,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":342,"endColumn":48},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":343,"column":7,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":343,"endColumn":66},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":344,"column":7,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":344,"endColumn":75},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":345,"column":7,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":345,"endColumn":56},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":346,"column":7,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":346,"endColumn":56},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":463,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":463,"endColumn":44},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":464,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":464,"endColumn":48},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":465,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":465,"endColumn":44},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":467,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":467,"endColumn":82},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":468,"column":8,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":468,"endColumn":17},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":469,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":469,"endColumn":61},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":486,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":486,"endColumn":44},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":487,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":487,"endColumn":29},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":488,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":488,"endColumn":20},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":515,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":515,"endColumn":44},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":516,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":516,"endColumn":48},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":517,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":517,"endColumn":44},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":518,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":518,"endColumn":30},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":519,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":519,"endColumn":82},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":520,"column":8,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":520,"endColumn":17},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":521,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":521,"endColumn":61},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":531,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":531,"endColumn":38},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":532,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":534,"endColumn":37},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":535,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":535,"endColumn":43},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":536,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":536,"endColumn":46},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":537,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":537,"endColumn":9},{"ruleId":"unicorn/prefer-string-slice","severity":1,"message":"Prefer `String#slice()` over `String#substr()`.","line":541,"column":18,"nodeType":"CallExpression","messageId":"substr","endLine":541,"endColumn":58},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":550,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":552,"endColumn":53},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":553,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":553,"endColumn":91},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":558,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":558,"endColumn":75},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":558,"column":26,"nodeType":"MemberExpression","messageId":"forbidden","endLine":558,"endColumn":52},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":558,"column":26,"nodeType":"MemberExpression","messageId":"forbidden","endLine":558,"endColumn":52},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":576,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":576,"endColumn":35},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":577,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":577,"endColumn":38},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":578,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":578,"endColumn":37},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":591,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":591,"endColumn":37},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":596,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":596,"endColumn":37},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":597,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":597,"endColumn":93},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":608,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":608,"endColumn":45},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":614,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":614,"endColumn":57},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":629,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":629,"endColumn":76},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":630,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":630,"endColumn":68},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":631,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":631,"endColumn":83},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":651,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":651,"endColumn":50},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":660,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":660,"endColumn":49},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":662,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":662,"endColumn":57},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":663,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":663,"endColumn":67}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":98,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * PF_ComboBoxInput.js\n *\n * JavaScript code to use OOUI ComboBoxInput widget for comboBox.\n *\n * @class\n * @extends OO.ui.ComboBoxInputWidget\n * @param {jQuery} $\n * @param {Object} mw\n * @param {Object} pf\n * @license GNU GPL v2+\n * @author Jatin Mehta\n * @author Priyanshu Varshney\n * @author Yaron Koren\n * @author Sahaj Khandelwal\n * @author Yash Varshney\n * @author Dennis Groenewegen\n */\n(function($, mw, pf) {\n\tlet apiRequest = null;\n\n\tpf.ComboBoxInput = function(config) {\n\t\tthis.config = config || {}\n\t\tOO.ui.ComboBoxInputWidget.call(this, config);\n\t};\n\tOO.inheritClass(pf.ComboBoxInput, OO.ui.ComboBoxInputWidget);\n\n\t/**\n\t * Transform select/options to OOUI widget\n\t *\n\t * @param {HTMLElement} element\n\t */\n\tpf.ComboBoxInput.prototype.apply = function(element) {\n\t\tconst curVal = element.val(); // 'value'\n\t\tconst curOptionLabel = element.find('option:selected').text();\n\t\tconst curLabel = (curOptionLabel !== undefined) ? curOptionLabel : curVal;\n\n\t\t// Add hidden input containing the value\n\t\tconst hiddenInput = new OO.ui.HiddenInputWidget({\n\t\t\tid: element.attr('id') + '-hidden',\n\t\t\tname: element.attr('name'),\n\t\t\tvalue: curVal\n\t\t});\n\t\telement.before(hiddenInput.$element);\n\n\t\t// Apply ComboBoxInput to the element. Omit name.\n\t\tthis.setInputId(element.attr('id'));\n\t\tthis.setValueAndLabel(curVal, curLabel);\n\t\tthis.setInputAttribute('origname', element.attr('origname'));\n\t\tthis.config['autocompletesettings'] = (element.attr('autocompletesettings') || '').replace(/\\\\'/g, \"'\");\n\t\tthis.config['autocompletedatatype'] = element.attr('autocompletedatatype');\n\t\tthis.config['existingvaluesonly'] = element.attr('existingvaluesonly');\n\t\tthis.setInputAttribute('autocompletesettings', this.config['autocompletesettings']);\n\t\tthis.setInputAttribute('placeholder', element.attr('placeholder'));\n\t\tthis.setInputAttribute('tabIndex', element.attr('tabindex'));\n\t\tthis.setInputAttribute('mappingproperty', element.attr('mappingproperty'));\n\t\tthis.setInputAttribute('mappingtemplate', element.attr('mappingtemplate'));\n\n\t\t// Initialize values in the combobox\n\t\tthis.setValues();\n\n\t\tif (this.config.autocompletesettings == 'external data') {\n\t\t\t// this is especially set for dependent on settings\n\t\t\t// when the source field has external data autocompletion\n\t\t\tconst input_id = \"#\" + this.getInputId();\n\t\t\tconst name = $(input_id).attr(this.nameAttr($(input_id)));\n\t\t\tconst positionOfBracket = name.indexOf('[');\n\t\t\tconst sliceFirst = name.slice(0, Math.max(0, positionOfBracket));\n\t\t\t// Previously using substring() :\n\t\t\tconst sliceSecond = name.slice(positionOfBracket + 1, name.length - 1);\n\t\t\tconst data_autocomplete = sliceFirst + '|' + sliceSecond;\n\t\t\tthis.setInputAttribute('data-autocomplete', data_autocomplete);\n\t\t}\n\n\t\tthis.bindEvents();\n\n\t\tconst $loadingIcon = $('<img>').attr( {\n\t\t\tsrc: mw.config.get( 'wgPageFormsScriptPath' ) + '/skins/loading.gif',\n\t\t\tid: 'loading-' + this.getInputId()\n\t\t} );\n\t\t$loadingIcon.hide();\n\t\t$(document.getElementById(this.getInputId())).parent().append( $loadingIcon );\n\n\t};\n\n\t/**\n\t * Bind events (blur, focus, keyup, focusout, etc.)\n\t */\n\tpf.ComboBoxInput.prototype.bindEvents = function() {\n\n\t\tthis.$input.blur(() => {\n\t\t\tconst presentLabel = this.$input.val().trim();\n\t\t\tconst selectedLabel = this.$input.attr('data-label').trim();\n\t\t\tif (presentLabel !== selectedLabel && this.config['existingvaluesonly']) {\n\t\t\t\t//Disallows non-existing value\n\t\t\t\tthis.setValueAndLabel(\"\", \"\");\n\t\t\t} else if (presentLabel !== selectedLabel) {\n\t\t\t\t//Update change to non-existing value\n\t\t\t\tthis.setValueAndLabel(presentLabel, presentLabel);\n\t\t\t\tthis.adjustWidth();\n\t\t\t} else {\n\t\t\t\t// Just resize input according to the value\n\t\t\t\tthis.adjustWidth();\n\t\t\t}\n\t\t});\n\n\t\tthis.$input.focus( () => {\n\t\t\tthis.setValues();\n\t\t});\n\n\t\tthis.$input.keyup( (event) => {\n\t\t\tif (event.keyCode !== 38 && event.keyCode !== 40 && event.keyCode !== 37 && event.keyCode !== 39) {\n\t\t\t\tthis.setValues(false);\n\t\t\t}\n\t\t});\n\n\t\t// Mouseup - click input\n\t\tthis.$element.mouseup( (event) => {\n\t\t\t// Avoid re-fetching values if the user clicks on the scrollbar.\n\t\t\tif ( $( event.target ).hasClass( 'oo-ui-labelElement-label' ) ) {\n\t\t\t\tthis.setValues( false );\n\t\t\t}\n\t\t});\n\n\t\tthis.$element.focusout( () => {\n\t\t\t$( '.combobox_map_feed' ).val( this.$input.val() );\n\t\t});\n\n\t};\n\n\t/**\n\t * Sets the values for combobox\n\t *\n\t * @param {boolean} showAllValues\n\t */\n\tpf.ComboBoxInput.prototype.setValues = function( showAllValues = true ) {\n\t\tlet input_id = \"#\" + this.getInputId(),\n\t\t\tvalues = [],\n\t\t\tdep_on = this.dependentOn(),\n\t\t\tself = this,\n\t\t\tdata,\n\t\t\ti,\n\t\t\tcurValue,\n\t\t\tmy_server,\n\t\t\twgPageFormsAutocompleteOnAllChars = mw.config.get( 'wgPageFormsAutocompleteOnAllChars' );\n\n\t\t// First, handle \"show on select\" stuff.\n\t\tconst $parentSpan = $(input_id).closest('span');\n\t\tif ( $parentSpan.hasClass('pfShowIfSelected') ) {\n\t\t\tmw.hook('pf.comboboxChange').fire($parentSpan);\n\t\t}\n\n\t\tthis.itemFound = false;\n\t\tif (this.config.autocompletedatatype !== undefined) {\n\t\t\tlet data_source = this.config.autocompletesettings,\n\t\t\t\tdata_type = this.config.autocompletedatatype;\n\t\t\tcurValue = this.getValue(); // current label or substring being typed\n\t\t\tconst curHiddenVal = this.getHiddenInputValue(); //submitted\n\n\t\t\tif (curValue.length == 0) {\n\t\t\t\tvalues.push({\n\t\t\t\t\tdata: self.getHiddenInputValue(),\n\t\t\t\t\tlabel: mw.message('pf-autocomplete-input-too-short', 1).text(),\n\t\t\t\t\tdisabled: true\n\t\t\t\t});\n\t\t\t\tthis.setOptions(values);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tmy_server = mw.util.wikiScript( 'api' );\n\t\t\t// Cargo field, wikidata, ...\n\t\t\tif (data_type === 'cargo field') {\n\t\t\t\tconst table_and_field = data_source.split('|');\n\t\t\t\tmy_server += \"?action=pfautocomplete&format=json&cargo_table=\" + table_and_field[0] + \"&cargo_field=\" + table_and_field[1] + \"&substr=\" + curValue;\n\t\t\t\tif ( table_and_field.length > 2 ) {\n\t\t\t\t\tmy_server += '&cargo_where=' + table_and_field[2];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ( data_type === 'wikidata' ) {\n\t\t\t\t\t// Support for getting query values from an existing field in the form\n\t\t\t\t\tconst terms = data_source.split( \"&\" );\n\t\t\t\t\tterms.forEach( (element) => {\n\t\t\t\t\t\tconst subTerms = element.split( \"=\" );\n\t\t\t\t\t\tconst matches = subTerms[1].match( /\\[(.*?)\\]/ );\n\t\t\t\t\t\tif ( matches ) {\n\t\t\t\t\t\t\tconst dep_value = $( '[name=\"' + subTerms[1] + '\"]' ).val();\n\t\t\t\t\t\t\tif ( dep_value && dep_value.trim().length ) {\n\t\t\t\t\t\t\t\tdata_source = data_source.replace( subTerms[1], dep_value );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t\tdata_source = encodeURIComponent( data_source );\n\t\t\t\t}\n\t\t\t\tmy_server += \"?action=pfautocomplete&format=json&\" + data_type + \"=\" + data_source + \"&substr=\" + curValue;\n\n\t\t\t\t// Mapping property (Semantic MediaWiki)\n\t\t\t\tconst mappingProperty = this.$input.attr('mappingproperty');\n\t\t\t\tif (typeof mappingProperty !== 'undefined' && mappingProperty !== false) {\n\t\t\t\t\tmy_server += \"&mappingproperty=\" + mappingProperty;\n\t\t\t\t}\n\t\t\t\t// Mapping template (exclusive to autocompletion?)\n\t\t\t\tconst mappingTemplate = this.$input.attr('mappingtemplate');\n\t\t\t\tif (typeof mappingTemplate !== 'undefined' && mappingTemplate !== false) {\n\t\t\t\t\tmy_server += \"&mappingtemplate=\" + mappingTemplate;\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tapiRequest = $.ajax({\n\t\t\t\turl: my_server,\n\t\t\t\tdataType: 'json',\n\t\t\t\tbeforeSend: function() {\n\t\t\t\t\tif ( apiRequest !== null ) {\n\t\t\t\t\t\tapiRequest.abort();\n\t\t\t\t\t}\n\t\t\t\t\t$( '#loading-' + input_id.replace( '#', '' ) ).show();\n\t\t\t\t},\n\t\t\t\tsuccess: function(Data) {\n\t\t\t\t\t$( '#loading-' + input_id.replace( '#', '' ) ).hide();\n\t\t\t\t\tif (Data.pfautocomplete !== undefined) {\n\t\t\t\t\t\tData = Data.pfautocomplete;\n\t\t\t\t\t\tif (Data.length == 0) {\n\t\t\t\t\t\t\tvalues.push({\n\t\t\t\t\t\t\t\tdata: self.getHiddenInputValue(),\n\t\t\t\t\t\t\t\tlabel: mw.message('pf-autocomplete-no-matches').text(),\n\t\t\t\t\t\t\t\tdisabled: true\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tfor ( i = 0; i < Data.length; i++ ) {\n\t\t\t\t\t\t\t\tconst optionVal = Data[i].title;\n\t\t\t\t\t\t\t\tconst optionLabel = (Data[i].displaytitle !== undefined) ? Data[i].displaytitle : Data[i].title;\n\t\t\t\t\t\t\t\tif (optionLabel == curValue) {\n\t\t\t\t\t\t\t\t\tself.itemFound = true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tconst item = {\n\t\t\t\t\t\t\t\t\tdata: optionVal,\n\t\t\t\t\t\t\t\t\tlabel: optionLabel,\n\t\t\t\t\t\t\t\t\thighlighted: self.highlightText(optionLabel),\n\t\t\t\t\t\t\t\t\tdisabled: false\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\tvalues.push(item);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvalues.push({\n\t\t\t\t\t\t\tdata: self.getHiddenInputValue(),\n\t\t\t\t\t\t\tlabel: mw.message('pf-autocomplete-no-matches').text(),\n\t\t\t\t\t\t\tdisabled: true\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tself.setOptions(values);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\t// Autocompletedatatype undefined\n\t\t\tif (dep_on === null) {\n\t\t\t\tif (this.config['autocompletesettings'] === 'external data') {\n\t\t\t\t\t// External data\n\t\t\t\t\tcurValue = this.getValue();\n\t\t\t\t\tif ( showAllValues ) {\n\t\t\t\t\t\tcurValue = \"\";\n\t\t\t\t\t}\n\t\t\t\t\tconst name = $(input_id).attr(this.nameAttr($(input_id)));\n\t\t\t\t\tconst wgPageFormsEDSettings = mw.config.get('wgPageFormsEDSettings');\n\t\t\t\t\tconst edgValues = mw.config.get('edgValues');\n\t\t\t\t\tdata = {};\n\t\t\t\t\tif (wgPageFormsEDSettings[name].title !== undefined && wgPageFormsEDSettings[name].title !== \"\") {\n\t\t\t\t\t\tdata.title = edgValues[wgPageFormsEDSettings[name].title];\n\t\t\t\t\t\tif (data.title !== undefined && data.title !== null) {\n\t\t\t\t\t\t\ti = 0;\n\t\t\t\t\t\t\tdata.title.forEach(() => {\n\t\t\t\t\t\t\t\tif ( data.title[i] == curValue ) {\n\t\t\t\t\t\t\t\t\tself.itemFound = true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (wgPageFormsAutocompleteOnAllChars) {\n\t\t\t\t\t\t\t\t\tif (self.getConditionForAutocompleteOnAllChars(data.title[i], curValue)) {\n\t\t\t\t\t\t\t\t\t\tvalues.push({\n\t\t\t\t\t\t\t\t\t\t\tdata: data.title[i],\n\t\t\t\t\t\t\t\t\t\t\tlabel: data.title[i],\n\t\t\t\t\t\t\t\t\t\t\thighlighted: self.highlightText(data.title[i])\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tif (self.checkIfAnyWordStartsWithInputValue(data.title[i], curValue)) {\n\t\t\t\t\t\t\t\t\t\tvalues.push({\n\t\t\t\t\t\t\t\t\t\t\tdata: data.title[i],\n\t\t\t\t\t\t\t\t\t\t\tlabel: data.title[i],\n\t\t\t\t\t\t\t\t\t\t\thighlighted: self.highlightText(data.title[i])\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ti++;\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Local autocompletion, not dependent, not external data\n\t\t\t\t\tconst wgPageFormsAutocompleteValues = mw.config.get('wgPageFormsAutocompleteValues');\n\t\t\t\t\tdata = wgPageFormsAutocompleteValues[this.config['autocompletesettings']];\n\t\t\t\t\tcurValue = this.getValue();\n\t\t\t\t\tif ( showAllValues ) {\n\t\t\t\t\t\tcurValue = \"\";\n\t\t\t\t\t}\n\t\t\t\t\tconst arrayType = (Array.isArray(data)) ? 'indexed' : 'associative';\n\t\t\t\t\tif (Array.isArray(data) || typeof data == 'object') {\n\t\t\t\t\t\tfor (const key in data) {\n\t\t\t\t\t\t\tconst optionVal = (arrayType == 'indexed') ? data[key] : key;\n\t\t\t\t\t\t\tconst optionLabel = data[key];\n\t\t\t\t\t\t\tif (optionLabel == curValue) {\n\t\t\t\t\t\t\t\tself.itemFound = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t(wgPageFormsAutocompleteOnAllChars && (this.getConditionForAutocompleteOnAllChars(optionLabel, curValue))) ||\n\t\t\t\t\t\t\t\t(this.checkIfAnyWordStartsWithInputValue(optionLabel, curValue))\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tvalues.push({\n\t\t\t\t\t\t\t\t\tdata: optionVal,\n\t\t\t\t\t\t\t\t\tlabel: optionLabel,\n\t\t\t\t\t\t\t\t\thighlighted: this.highlightText(optionLabel)\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Dependent field autocompletion (dep_on is not null)\n\t\t\t\tconst dep_field_opts = this.getDependentFieldOpts(dep_on);\n\t\t\t\tmy_server = mw.config.get('wgScriptPath') + \"/api.php\";\n\t\t\t\tmy_server += \"?action=pfautocomplete&format=json\";\n\t\t\t\t// URL depends on whether Cargo or Semantic MediaWiki\n\t\t\t\t// is being used.\n\t\t\t\tif (dep_field_opts.prop !== undefined && dep_field_opts.base_prop !== undefined && dep_field_opts.base_value !== undefined) {\n\t\t\t\t\tif (!dep_field_opts.prop.includes('|')) {\n\t\t\t\t\t\t// SMW\n\t\t\t\t\t\tmy_server += \"&property=\" + dep_field_opts.prop + \"&baseprop=\" + dep_field_opts.base_prop + \"&basevalue=\" + dep_field_opts.base_value;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Cargo\n\t\t\t\t\t\tconst cargoTableAndFieldStr = dep_field_opts.prop;\n\t\t\t\t\t\tconst cargoTableAndField = cargoTableAndFieldStr.split('|');\n\t\t\t\t\t\tconst cargoTable = cargoTableAndField[0];\n\t\t\t\t\t\tconst cargoField = cargoTableAndField[1];\n\t\t\t\t\t\tconst baseCargoTableAndFieldStr = dep_field_opts.base_prop;\n\t\t\t\t\t\tconst baseCargoTableAndField = baseCargoTableAndFieldStr.split('|');\n\t\t\t\t\t\tconst baseCargoTable = baseCargoTableAndField[0];\n\t\t\t\t\t\tconst baseCargoField = baseCargoTableAndField[1];\n\t\t\t\t\t\tmy_server += \"&cargo_table=\" + cargoTable + \"&cargo_field=\" + cargoField + \"&base_cargo_table=\" + baseCargoTable + \"&base_cargo_field=\" + baseCargoField + \"&basevalue=\" + dep_field_opts.base_value;\n\t\t\t\t\t}\n\n\t\t\t\t\t$.ajax({\n\t\t\t\t\t\turl: my_server,\n\t\t\t\t\t\tdataType: 'json',\n\t\t\t\t\t\tasync: false,\n\t\t\t\t\t\tsuccess: function(response) {\n\t\t\t\t\t\t\tif ( response.error !== undefined || response.pfautocomplete.length == 0 ) {\n\t\t\t\t\t\t\t\tvalues.push({\n\t\t\t\t\t\t\t\t\tdata: self.getHiddenInputValue(),\n\t\t\t\t\t\t\t\t\tlabel: mw.message('pf-autocomplete-no-matches').text(),\n\t\t\t\t\t\t\t\t\tdisabled: true\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\treturn values;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tresponse.pfautocomplete.forEach((item) => {\n\t\t\t\t\t\t\t\tcurValue = self.getValue();\n\t\t\t\t\t\t\t\tif ( item.displaytitle == curValue || item.title == curValue ) {\n\t\t\t\t\t\t\t\t\tself.itemFound = true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (wgPageFormsAutocompleteOnAllChars) {\n\t\t\t\t\t\t\t\t\t// dependent\n\t\t\t\t\t\t\t\t\tif (item.displaytitle !== undefined) {\n\t\t\t\t\t\t\t\t\t\tif (self.getConditionForAutocompleteOnAllChars(item.displaytitle, curValue)) {\n\t\t\t\t\t\t\t\t\t\t\tvalues.push({\n\t\t\t\t\t\t\t\t\t\t\t\tdata: item.displaytitle,\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: item.displaytitle,\n\t\t\t\t\t\t\t\t\t\t\t\thighlighted: self.highlightText(item.displaytitle)\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t// no displaytitle\n\t\t\t\t\t\t\t\t\t\tif (self.getConditionForAutocompleteOnAllChars(item.title, curValue)) {\n\t\t\t\t\t\t\t\t\t\t\tvalues.push({\n\t\t\t\t\t\t\t\t\t\t\t\tdata: item.title,\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: item.title,\n\t\t\t\t\t\t\t\t\t\t\t\thighlighted: self.highlightText(item.title)\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t// dependent, wgPageFormsAutocompleteOnAllChars = false\n\t\t\t\t\t\t\t\t\tif (item.displaytitle !== undefined) {\n\t\t\t\t\t\t\t\t\t\tif (self.checkIfAnyWordStartsWithInputValue(item.displaytitle, curValue)) {\n\t\t\t\t\t\t\t\t\t\t\tvalues.push({\n\t\t\t\t\t\t\t\t\t\t\t\tdata: item.displaytitle,\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: item.displaytitle,\n\t\t\t\t\t\t\t\t\t\t\t\thighlighted: self.highlightText(item.displaytitle)\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t// displaytitle undefined\n\t\t\t\t\t\t\t\t\t\tif (self.checkIfAnyWordStartsWithInputValue(item.title, curValue)) {\n\t\t\t\t\t\t\t\t\t\t\tvalues.push({\n\t\t\t\t\t\t\t\t\t\t\t\tdata: item.title,\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: item.title,\n\t\t\t\t\t\t\t\t\t\t\t\thighlighted: self.highlightText(item.title)\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\treturn values;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\t// this condition will come when the wrong parameters are used in form definition\n\t\t\t\t\tvalues.push({\n\t\t\t\t\t\tdata: self.getHiddenInputValue(),\n\t\t\t\t\t\tlabel: mw.message('pf-autocomplete-no-matches').text(),\n\t\t\t\t\t\tdisabled: true\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (values.length == 0) {\n\t\t\t\tvalues.push({\n\t\t\t\t\tdata: self.getHiddenInputValue(),\n\t\t\t\t\tlabel: mw.message('pf-autocomplete-no-matches').text(),\n\t\t\t\t\tdisabled: true\n\t\t\t\t});\n\t\t\t}\n\t\t\tthis.setOptions(values);\n\t\t}\n\t};\n\n\t/**\n\t * Returns the name attribute of the field depending on\n\t * whether it is a part of a multiple instance template or not\n\t *\n\t * @param {HTMLElement} element\n\t *\n\t * @return {string}\n\t */\n\tpf.ComboBoxInput.prototype.nameAttr = function(element) {\n\t\treturn this.partOfMultiple(element) ? \"origname\" : \"name\";\n\t};\n\n\t/**\n\t * Checks whether the field is part of a multiple instance template or not\n\t *\n\t * @param {HTMLElement} element\n\t *\n\t * @return {boolean}\n\t */\n\tpf.ComboBoxInput.prototype.partOfMultiple = function(element) {\n\t\treturn element.attr(\"origname\") !== undefined ? true : false;\n\t};\n\n\t/**\n\t * If a field is dependent on some other field in the form\n\t * then it returns its name.\n\t *\n\t * @return {string}\n\t */\n\tpf.ComboBoxInput.prototype.dependentOn = function() {\n\t\tconst input_id = \"#\" + this.getInputId();\n\t\tconst name_attr = this.nameAttr($(input_id));\n\t\tconst name = $(input_id).attr(name_attr);\n\n\t\tconst wgPageFormsDependentFields = mw.config.get('wgPageFormsDependentFields');\n\t\tfor (let i = 0; i < wgPageFormsDependentFields.length; i++) {\n\t\t\tconst dependentFieldPair = wgPageFormsDependentFields[i];\n\t\t\tif (dependentFieldPair[1] === name) {\n\t\t\t\treturn dependentFieldPair[0];\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t};\n\n\t/**\n\t * Gives dependent field options which include\n\t * property, base property and base value\n\t *\n\t * @param {string} dep_on\n\t *\n\t * @return {Object} dep_field_opts\n\t */\n\tpf.ComboBoxInput.prototype.getDependentFieldOpts = function(dep_on) {\n\t\tconst input_id = \"#\" + this.getInputId();\n\t\tconst dep_field_opts = {};\n\t\tlet $baseElement;\n\t\tif (this.partOfMultiple($(input_id))) {\n\t\t\t$baseElement = $(input_id).closest(\".multipleTemplateInstance\")\n\t\t\t\t.find('[origname =\"' + dep_on + '\" ]');\n\t\t} else {\n\t\t\t$baseElement = $('[name =\"' + dep_on + '\" ]');\n\t\t}\n\t\tdep_field_opts.base_value = $baseElement.val();\n\t\tdep_field_opts.base_prop = mw.config.get('wgPageFormsFieldProperties')[dep_on] ||\n\t\t\t(\n\t\t\t\t$baseElement.attr(\"autocompletesettings\") == 'external data' ?\n\t\t\t\t$baseElement.attr(\"data-autocomplete\") : $baseElement.attr(\"autocompletesettings\")\n\t\t\t);\n\t\tdep_field_opts.prop = $(input_id).attr(\"autocompletesettings\").split(\",\")[0];\n\n\t\treturn dep_field_opts;\n\t};\n\n\t/**\n\t * Returns the array of names of fields in the form which are dependent\n\t * on the field passed as a param to this function,\n\t *\n\t * @param {HTMLElement} element\n\t *\n\t * @return {Array} dependent_on_me (associative array)\n\t */\n\tpf.ComboBoxInput.prototype.dependentOnMe = function() {\n\t\tconst input_id = \"#\" + this.getInputId();\n\t\tconst name_attr = this.nameAttr($(input_id));\n\t\tconst name = $(input_id).attr(name_attr);\n\t\tconst dependent_on_me = [];\n\t\tconst wgPageFormsDependentFields = mw.config.get('wgPageFormsDependentFields');\n\t\tfor (let i = 0; i < wgPageFormsDependentFields.length; i++) {\n\t\t\tconst dependentFieldPair = wgPageFormsDependentFields[i];\n\t\t\tif (dependentFieldPair[0] === name) {\n\t\t\t\tdependent_on_me.push(dependentFieldPair[1]);\n\t\t\t}\n\t\t}\n\n\t\treturn dependent_on_me;\n\t};\n\n\tpf.ComboBoxInput.prototype.highlightText = function(suggestion) {\n\t\tconst searchTerm = this.getValue();\n\t\tconst searchRegexp = new RegExp(\"(?![^&;]+;)(?!<[^<>]*)(\" +\n\t\t\tsearchTerm.replace(/([\\^\\$\\(\\)\\[\\]\\{\\}\\*\\.\\+\\?\\|\\\\])/gi, \"\\\\$1\") +\n\t\t\t\")(?![^<>]*>)(?![^&;]+;)\", \"gi\");\n\t\tconst itemLabel = suggestion.toString();\n\t\tconst loc = itemLabel.search(searchRegexp);\n\t\tlet t;\n\n\t\tif (loc >= 0) {\n\t\t\tt = itemLabel.slice(0, Math.max(0, loc)) +\n\t\t\t\t'<strong>' + itemLabel.substr(loc, searchTerm.length) + '</strong>' +\n\t\t\t\titemLabel.slice(loc + searchTerm.length);\n\t\t} else {\n\t\t\tt = itemLabel;\n\t\t}\n\t\treturn new OO.ui.HtmlSnippet(t);\n\t};\n\n\tpf.ComboBoxInput.prototype.checkIfAnyWordStartsWithInputValue = function(string, curValue) {\n\t\tconst wordSeparators = [\n\t\t\t'/', '(', ')', '|', 's'\n\t\t].map((p) => \"\\\\\" + p).concat('^', '-', \"'\", '\"');\n\t\tconst regex = new RegExp('(' + wordSeparators.join('|') + ')' + curValue.toLowerCase());\n\t\treturn string.toString().toLowerCase().match(regex) !== null;\n\t};\n\n\tpf.ComboBoxInput.prototype.getConditionForAutocompleteOnAllChars = function(str, curStr) {\n\t\tconst containsSubstr = str.toLowerCase().includes(curStr.toLowerCase());\n\t\treturn containsSubstr;\n\t};\n\n\tpf.ComboBoxInput.prototype.setInputAttribute = function(attr, value) {\n\t\tif (typeof value !== 'undefined' && value !== false) {\n\t\t\tthis.$input.attr(attr, value);\n\t\t}\n\t};\n\n\t/**\n\t * Override default to handle menu item 'choose' event\n\t * Update two inputs to clicked item\n\t * Use getTitle not getLabel to get non-highlighted label\n\t *\n\t * @param {OO.ui.MenuOptionWidget} item Selected item\n\t */\n\tpf.ComboBoxInput.prototype.onMenuChoose = function(item) {\n\t\tconst inputVal = item.getData();\n\t\tconst inputLabel = item.getTitle();\n\t\tconst inputId = this.getInputId();\n\t\tthis.$input.attr(\"data-input-id\", inputId);\n\t\tthis.setValueAndLabel(inputVal, inputLabel);\n\t\tthis.adjustWidth();\n\t};\n\n\t/**\n\t * Return hidden input associated with combobox, which contains the value\n\t * Accepts id of combobox input\n\t *\n\t * @return {HTMLElement}\n\t */\n\tpf.ComboBoxInput.prototype.getHiddenInput = function() {\n\t\tconst inputId = this.getInputId();\n\t\treturn this.$input.closest('.comboboxSpan').find('#' + inputId + '-hidden');\n\t};\n\n\tpf.ComboBoxInput.prototype.getHiddenInputValue = function() {\n\t\tconst inputId = this.getInputId();\n\t\tconst $hiddenInput = this.$input.closest('.comboboxSpan').find('#' + inputId + '-hidden');\n\t\treturn $hiddenInput.val();\n\t};\n\n\t/**\n\t * Set value and label for combobox and hidden input\n\t *\n\t * @param {string} val\n\t * @param {string} label\n\t */\n\tpf.ComboBoxInput.prototype.setValueAndLabel = function(val, label) {\n\t\tconst hiddenInput = this.getHiddenInput();\n\t\t$(hiddenInput).val(val);\n\t\tthis.setValue(label);\n\t\tthis.setTitle(label);\n\t\tthis.$input.attr('data-value', val); // required as reference\n\t\tthis.$input.attr('data-label', label); // required as reference\n\t\tconst stringType = (val == label) ? 'value' : 'label';\n\t\tthis.updateStringType(stringType);\n\t};\n\n\t/**\n\t * Override default to create options in dropdown\n\t * Allow for values, labels, highlighted text and boolean 'disabled'\n\t *\n\t * @param {Object[]} options\n\t * @return {OO.ui.Widget}\n\t */\n\tpf.ComboBoxInput.prototype.setOptions = function(options) {\n\t\tthis.getMenu()\n\t\t\t.clearItems()\n\t\t\t.addItems(options.map((opt) => {\n\t\t\t\tconst isDisabled = (opt.disabled !== undefined) ? opt.disabled : false;\n\t\t\t\tconst label = (opt.label !== undefined) ? opt.label : opt.data;\n\t\t\t\tconst highlighted = (opt.highlighted !== undefined) ? opt.highlighted : label;\n\t\t\t\treturn new OO.ui.MenuOptionWidget({\n\t\t\t\t\tdata: opt.data,\n\t\t\t\t\tlabel: highlighted,\n\t\t\t\t\ttitle: label,\n\t\t\t\t\tdisabled: isDisabled\n\t\t\t\t});\n\t\t\t}));\n\t\treturn this;\n\t};\n\n\t/**\n\t * Allow for distinct styling of labels and values\n\t * Assume 'label' when value and label are not identical\n\t * Not fully reality-proof as displaytitle may be\n\t * identical with pagename\n\t *\n\t * @param {string} newType\n\t */\n\tpf.ComboBoxInput.prototype.updateStringType = function(newType) {\n\t\tconst className = 'pf-string-type--' + newType;\n\t\t// The following classes are used here:\n\t\t// * pf-string-type--label\n\t\t// * pf-string-type--value\n\t\tthis.$input.removeClass([ 'pf-string-type--label', 'pf-string-type--value' ]).addClass([ className ]);\n\t\tthis.setInputAttribute('data-string-type', newType);\n\t};\n\n\tpf.ComboBoxInput.prototype.adjustWidth = function() {\n\t\tconst suggWidth = this.getValue().length * 11;\n\t\tthis.$element.css(\"width\", \"100%\");\n\t\tconst maxWidth = parseInt(this.$element.css(\"width\"));\n\t\tconst newWidth = (suggWidth >= maxWidth) ? maxWidth : suggWidth;\n\t\tthis.$element.css(\"width\", newWidth);\n\t};\n\n}(jQuery, mediaWiki, pageforms));\n","usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/libs/PF_CreateClass.js","messages":[{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":21,"column":1,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":24,"endColumn":5},{"ruleId":"no-var","severity":1,"message":"Unexpected var, use let or const instead.","line":32,"column":2,"nodeType":"VariableDeclaration","messageId":"unexpectedVar","endLine":32,"endColumn":21},{"ruleId":"no-var","severity":1,"message":"Unexpected var, use let or const instead.","line":38,"column":2,"nodeType":"VariableDeclaration","messageId":"unexpectedVar","endLine":38,"endColumn":21},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":40,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":40,"endColumn":59},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":41,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":41,"endColumn":39},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":42,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":42,"endColumn":42},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":43,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":43,"endColumn":46},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":44,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":44,"endColumn":79},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":45,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":45,"endColumn":58},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":88,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":88,"endColumn":14},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":89,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":89,"endColumn":33}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":11,"fixableErrorCount":0,"fixableWarningCount":0,"source":"( function( $, mw ) {\n\nfunction disableFormAndCategoryInputs() {\n\tif ($('#template_multiple').attr('aria-checked') == 'true') {\n\t\t$('input[name=\"multiple_template\"]').attr('value','1');\n\t\t$('#form_name').attr('disabled', 'disabled');\n\t\t$('label[for=\"form_name\"]').css('color', 'gray').css('font-style', 'italic');\n\t\t$('#category_name').attr('disabled', 'disabled');\n\t\t$('label[for=\"category_name\"]').css('color', 'gray').css('font-style', 'italic');\n\t\t$('#connecting_property_div').show('fast');\n\t} else {\n\t\t$('input[name=\"multiple_template\"]').attr('value','0');\n\t\t$('#form_name').removeAttr('disabled');\n\t\t$('label[for=\"form_name\"]').css('color', '').css('font-style', '');\n\t\t$('#category_name').removeAttr('disabled');\n\t\t$('label[for=\"category_name\"]').css('color', '').css('font-style', '');\n\t\t$('#connecting_property_div').hide('fast');\n\t}\n}\n\nconst toggleSwitch = new OO.ui.ToggleSwitchWidget( {\n\tid: 'template_multiple',\n\tclasses: [ 'disableFormAndCategoryInputs' ],\n} );\n$( '#template_multiple_p' ).prepend( toggleSwitch.$element );\n$( '#template_mutliple' ).attr( 'name','template_multiple' );\n$( \".disableFormAndCategoryInputs\" ).click( () => {\n\tdisableFormAndCategoryInputs();\n} );\n$( '#createClassForm' ).submit( () => {\n\n\tvar num_errors = 0;\n\n\t// Remove all old error messages.\n\t$(\".errorMessage\").remove();\n\t$(\"input\").removeClass(\"inputError\");\n\n\tvar num_errors = 0;\n\n\tconst $templateName = $( \"input[name='template_name']\" );\n\tconst $form_name = $( '#form_name' );\n\tconst $category = $( '#category_name' );\n\tconst $cargoTableName = $( '#cargo_table' );\n\tlet isMultipleInstanceAllowed = $( \"input[name='multiple_template']\" ).val();\n\tlet isCargoBased = $( \"input[name='use_cargo']\" ).val();\n\tif ( isMultipleInstanceAllowed ) {\n\t\tisMultipleInstanceAllowed = parseInt( isMultipleInstanceAllowed );\n\t}\n\tif ( isCargoBased ) {\n\t\tisCargoBased = parseInt( isCargoBased );\n\t}\n\tnum_errors += $templateName.validateField();\n\tif ( isCargoBased ) {\n\t\tnum_errors += $cargoTableName.validateField();\n\t}\n\tif( !isMultipleInstanceAllowed ) {\n\t\tnum_errors += ( $form_name.validateField() + $category.validateField() );\n\t}\n\tif (num_errors > 0) {\n\t\t// add error header, if it's not there already\n\t\tif ($(\"#form_error_header\").length === 0) {\n\t\t\t$(\"#contentSub\").append('<div id=\"form_error_header\" class=\"errorbox\" style=\"font-size: medium\"><img src=\"' + mw.config.get( 'wgPageFormsScriptPath' ) + '/skins/MW-Icon-AlertMark.png\" />&nbsp;' + mw.message( 'pf_formerrors_header' ).escaped() + '</div><br clear=\"both\" />');\n\t\t}\n\t\t// Also undo the indicator that the form was submitted.\n\t\t$( '#createClassForm' ).data('submitted', false);\n\t\tscroll(0, 0);\n\t} else {\n\t\t//remove error box if it exists because there are no errors in the form now\n\t\t$(\"#contentSub\").find(\".errorbox\").remove();\n\t}\n\n\tif (num_errors > 0) {\n\t\t// add error header, if it's not there already\n\t\tif ($(\"#form_error_header\").length === 0) {\n\t\t\t$(\"#contentSub\").append('<div id=\"form_error_header\" class=\"errorbox\" style=\"font-size: medium\"><img src=\"' + mw.config.get( 'wgPageFormsScriptPath' ) + '/skins/MW-Icon-AlertMark.png\" />&nbsp;' + mw.message( 'pf_formerrors_header' ).escaped() + '</div><br clear=\"both\" />');\n\t\t}\n\t\t$( '#createClassForm' ).data('submitted', false);\n\t\tscroll(0, 0);\n\t} else {\n\t\t//remove error box if it exists because there are no errors in the form now\n\t\t$(\"#contentSub\").find(\".errorbox\").remove();\n\t}\n\n\treturn (num_errors === 0);\n} );\n\n$.fn.validateField = function() {\n\tlet isEmpty;\n\tconst target = $( this ).val();\n\n\tif (target === null) {\n\t\tisEmpty = true;\n\t} else {\n\t\tisEmpty = (target.replace(/\\s+/, '') === '');\n\t}\n\tif (isEmpty) {\n\t\t$( this ).addClass('inputError');\n\t\t$( this ).parent().append($('<div>').addClass( 'errorMessage' ).text( mw.msg( 'pf_blank_error' ) ));\n\t\treturn 1;\n\t} else {\n\t\treturn 0;\n\t}\n};\n\n}( jQuery, mediaWiki ) );\n","usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/libs/PF_CreateForm.js","messages":[{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":2,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":2,"endColumn":82},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":27,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":31,"endColumn":7},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":32,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":32,"endColumn":71},{"ruleId":"implicit-arrow-linebreak","severity":1,"message":"Expected no linebreak before this expression.","line":60,"column":3,"nodeType":"Identifier","messageId":"unexpected","endLine":60,"endColumn":8}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":4,"fixableErrorCount":0,"fixableWarningCount":0,"source":"jQuery.fn.displayInputParams = function () {\n\tconst inputParamsDiv = this.closest( '.formField' ).find( '.otherInputParams' );\n\tjQuery.ajax( {\n\t\turl: mw.util.wikiScript() + '?title=Special:CreateForm' +\n\t\t\t'&showinputtypeoptions=' + encodeURIComponent( $(this).find('select').val() ) +\n\t\t\t'&formfield=' + encodeURIComponent( this.attr( 'id' ) ),\n\t\tcontext: document.body,\n\t\tsuccess: function ( data ){\n\t\t\tinputParamsDiv.html( data );\n\t\t}\n\t});\n};\n\njQuery( () => {\n\tjQuery( '.inputTypeSelector' ).change( function () {\n\t\tjQuery( this ).displayInputParams();\n\t} );\n\n\tjQuery( 'span#pfAddTemplateButton' ).click( () => {\n\t\tjQuery( 'button[name=\"add_field\"]' ).attr( 'value', 'true' );\n\t} );\n\n\tjQuery( 'span#pfAddSectionButton' ).click( ( event ) => {\n\t\tif( jQuery( 'input[name=\"sectionname\"]' ).val() === '' ) {\n\t\t\tevent.preventDefault();\n\t\t\tjQuery( '#section_error' ).remove();\n\t\t\tconst errorMessage = new OO.ui.MessageWidget( {\n\t\t\t\ttype: 'error',\n\t\t\t\tinline: true,\n\t\t\t\tlabel: mediaWiki.msg( 'pf_blank_error' )\n\t\t\t} )\n\t\t\tconst errorSpan = '<span class=\"error\" id=\"section_error\"></span>';\n\t\t\tjQuery( 'div#sectionerror' ).append(errorSpan);\n\t\t\tjQuery( 'span#section_error' ).append( errorMessage.$element );\n\t\t} else {\n\t\t\tjQuery( 'button[name=\"add_section\"]' ).attr( 'value', 'true' );\n\t\t}\n\t} );\n\n\tjQuery( 'span#pfRemoveTemplateButton' ).click( () => {\n\t\tjQuery( 'span#pfRemoveTemplateButton' ).find( 'button' ).attr( 'value', 'true' );\n\t} );\n\n\tjQuery( 'span#pfRemoveSectionButton' ).click( () => {\n\t\tjQuery( 'span#pfRemoveSectionButton' ).find( 'button' ).attr( 'value', 'true' );\n\t} );\n\n\t// this is done as the OOUI's Checkbox behave differently than the normal checkbox\n\tjQuery( 'div.templateForm' ).find( 'input[type=\"checkbox\"]' ).click( function() {\n\t\tif ( jQuery( this ).attr( 'value' ) == 'on' ){\n\t\t\tjQuery( this ).attr( 'value', '' );\n\t\t} else {\n\t\t\tjQuery( this ).attr( 'value', 'on' );\n\t\t}\n\t} );\n} );\n\njQuery( \"input,select\" ).keypress( ( event ) =>\n\t// Don't submit the form if enter is pressed on a text input box or a select.\n\t event.keyCode !== 13\n );\n","usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/libs/PF_CreateProperty.js","messages":[{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":2,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":2,"endColumn":71},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":11,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":11,"endColumn":71}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"function toggleDefaultForm( property_type ) {\n\tconst default_form_div = document.getElementById(\"default_form_div\");\n\tif ( property_type === mediaWiki.config.get( 'wgPageTypeLabel' ) ) {\n\t\tdefault_form_div.style.display = \"\";\n\t} else {\n\t\tdefault_form_div.style.display = \"none\";\n\t}\n}\n\nfunction toggleAllowedValues( property_type ) {\n\tconst allowed_values_div = document.getElementById(\"allowed_values\");\n\t// Page, String (or Text, for SMW 1.9+), Number, Email - is that a\n\t// reasonable set of types for which enumerations should be allowed?\n\tif ( property_type === mediaWiki.config.get( 'wgPageTypeLabel' ) ||\n\t\tproperty_type === mediaWiki.config.get( 'wgStringTypeLabel' ) ||\n\t\tproperty_type === mediaWiki.config.get( 'wgNumberTypeLabel' ) ||\n\t\tproperty_type === mediaWiki.config.get( 'wgEmailTypeLabel' ) ) {\n\t\tallowed_values_div.style.display = \"\";\n\t} else {\n\t\tallowed_values_div.style.display = \"none\";\n\t}\n}\n\n$( () => {\n\tjQuery( \"#property_dropdown\" ).change( function() {\n\t\ttoggleDefaultForm( this.value );\n\t\ttoggleAllowedValues( this.value );\n\t} );\n} );\n","usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/libs/PF_CreateTemplate.js","messages":[{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1,"column":1,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1,"endColumn":54},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":2,"column":1,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":2,"endColumn":18},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":3,"column":1,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":3,"endColumn":98},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":28,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":28,"endColumn":94},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":29,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":29,"endColumn":65},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":55,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":55,"endColumn":42},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":68,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":68,"endColumn":85},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":69,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":70,"endColumn":56},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":119,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":119,"endColumn":79},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":120,"column":7,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":120,"endColumn":16},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":121,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":121,"endColumn":57},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":123,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":123,"endColumn":40},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":124,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":124,"endColumn":50},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":130,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":130,"endColumn":18},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":131,"column":9,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":131,"endColumn":18},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":155,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":155,"endColumn":51},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":156,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":158,"endColumn":5},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":159,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":162,"endColumn":6},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":163,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":166,"endColumn":6}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":19,"fixableErrorCount":0,"fixableWarningCount":0,"source":"const Sortable = require( 'ext.pageforms.sortable' );\nlet fieldNum = 1;\nconst hierarchyPlaceholder =  mediaWiki.msg( 'pf_createtemplate_hierarchystructureplaceholder' );\n\nfunction toggleCargoInputs() {\n\tif (jQuery('#use_cargo_toggle').attr('aria-checked') == 'true') {\n\t\tjQuery('input[name=\"use_cargo\"]').attr('value', '1');\n\t\tjQuery('#cargo_table_input').show('medium');\n\t\tjQuery('label.cargo_field_type').show('medium');\n\t\tjQuery('div.pfFieldTypeDropdown').show('medium');\n\t\tjQuery('.allowed_values_input').show('medium');\n\t\tjQuery('.is_hierarchy').parent().show('medium');\n\t} else {\n\t\tjQuery('input[name=\"use_cargo\"]').attr('value', '0');\n\t\tjQuery('#cargo_table_input').hide('medium');\n\t\tjQuery('label.cargo_field_type').hide('medium');\n\t\tjQuery('div.pfFieldTypeDropdown').hide('medium');\n\t\tjQuery(\"input[name*='is_hierarchy_']\").prop('checked', false);\n\t\tjQuery('.is_hierarchy').parent().hide('medium');\n\t\tjQuery('.hierarchy_structure_input').hide('medium');\n\t\tjQuery('div.hierarchy_structure').hide('medium');\n\t\tjQuery('.allowed_values_input').show('medium');\n\t}\n}\n\njQuery.fn.createTemplateAddField = function( addAboveCurInstance ) {\n\tfieldNum++;\n\tconst $newField = jQuery( '#starterField' ).clone().css( 'display', '' ).removeAttr( 'id' );\n\tconst newHTML = $newField.html().replace(/starter/g, fieldNum);\n\t$newField.html( newHTML );\n\t$newField.find( \".removeButton\" ).click( function() {\n\t\t// Remove the encompassing div for this instance.\n\t\t$( this ).closest( \".fieldBox\" )\n\t\t\t.fadeOut( 'fast', function() {\n\t\t\t\tjQuery(this).remove();\n\t\t\t} );\n\t} );\n\t$newField.find( \".addAboveButton\" ).click( function() {\n\t\t$( this ).createTemplateAddField( true );\n\t} );\n\t$newField.find( \".isList\" ).click( function() {\n\t\t$( this ).closest( \".fieldBox\" ).find( \".delimiter\" ).toggle();\n\t} );\n\t$newField.find( \".is_hierarchy\" ).click( function() {\n\t\ttoggleHierarchyInput($( this ).closest( \".fieldBox\" ));\n\t} );\n\t$newField.find( \".hierarchy_structure\" ).click( function() {\n\t\tif ($( this ).attr( 'validInput' ) === undefined || $( this ).attr( 'validInput' ) !== 'true') {\n\t\t\tremoveHierarchyPlaceholder( jQuery( this ) );\n\t\t}\n\t} );\n\t$newField.find( \".hierarchy_structure\" ).blur( function() {\n\t\tsetHierarchyPlaceholder( $( this ) );\n\t} );\n\tconst combobox = new pf.ComboBoxInput();\n\t$newField.find( '.pfComboBox' ).each( function() {\n\t\tcombobox.apply( $( this ) );\n\t} );\n\tif ( addAboveCurInstance ){\n\t\t$newField.insertBefore(this.closest(\".fieldBox\"))\n\t\t\t.hide().fadeIn();\n\t} else {\n\t\tjQuery( '#fieldsList' ).append( $newField.hide().fadeIn() );\n\t}\n}\n\nfunction validateCreateTemplateForm() {\n\tconst blankTemplateName = ( jQuery( 'input[name=\"template_name\"]' ).val() === '' );\n\tconst blankCargoTableName = ( jQuery( '#use_cargo_toggle' ).attr('aria-checked') == 'true' &&\n\t\tjQuery( 'input[name=\"cargo_table\"]' ).val() === '' );\n\tif ( blankTemplateName || blankCargoTableName || !validateHierarchyStructure() ) {\n\t\tscroll( 0, 0 );\n\t\tif ( blankTemplateName ) {\n\t\t\tjQuery( 'div.pfTemplateNameBlankError' ).show();\n\t\t} else {\n\t\t\tjQuery( \"div.pfTemplateNameBlankError\" ).hide();\n\t\t}\n\t\tif ( blankCargoTableName ) {\n\t\t\tjQuery( 'div.pfCargoTableNameBlankError' ).show();\n\t\t} else {\n\t\t\tjQuery( \"div.pfCargoTableNameBlankError\" ).hide();\n\t\t}\n\t\treturn false;\n\t} else {\n\t\treturn true;\n\t}\n}\n\nfunction toggleHierarchyInput(containerElement) {\n\tif (containerElement.find( \"input[name*='is_hierarchy_']\" ).prop('checked')) {\n\t\tcontainerElement.find( \".allowed_values_input\" ).hide('medium');\n\t\tcontainerElement.find( \".hierarchy_structure_input\" ).show('medium');\n\t\tcontainerElement.find( \".hierarchy_structure\" ).show('medium');\n\t\tif (containerElement.find( \"textarea[name*='hierarchy_structure_']\" ).val() === \"\") {\n\t\t\tsetHierarchyPlaceholder( containerElement.find( \"textarea[name*='hierarchy_structure_']\" ) );\n\t\t}\n\t} else {\n\t\tcontainerElement.find( \".hierarchy_structure_input\" ).hide('medium');\n\t\tcontainerElement.find( \".hierarchy_structure\" ).hide('medium');\n\t\tcontainerElement.find( \".allowed_values_input\" ).show('medium');\n\t}\n}\n\nfunction setHierarchyPlaceholder( textareaElement ) {\n\tif (textareaElement.val() === \"\") {\n\t\ttextareaElement.val( hierarchyPlaceholder );\n\t\ttextareaElement.css( 'color', 'gray' );\n\t\ttextareaElement.attr( 'validInput', 'false' );\n\t}\n}\n\nfunction removeHierarchyPlaceholder( textareaElement ) {\n\ttextareaElement.val( '' );\n\ttextareaElement.css( 'color', 'black' );\n\ttextareaElement.attr( 'validInput', 'true' );\n}\n\nfunction validateHierarchyStructure() {\n\tconst $hierarchyTextAreas = jQuery(\"textarea[name*='hierarchy_structure_']\");\n\tfor (let i = 0; i < $hierarchyTextAreas.length; i++) {\n\t\tconst structure = $hierarchyTextAreas[i].value.trim();\n\t\tif (structure !== \"\") {\n\t\t\tconst nodes = structure.split(/\\n/);\n\t\t\tlet matches = nodes[0].match(/^([*]*)[^*]*/i);\n\t\t\tif (matches[1].length !== 1) {\n\t\t\t\talert(\"Error: The first entry of hierarchy values should start with exactly one \\'*\\'; the entry \\\"\" +\n\t\t\t\t\tnodes[0] + \"\\\" has \" + matches[1].length + \" \\'*\\'\");\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tlet level = 0;\n\t\t\tfor (let j = 0; j < nodes.length; j++) {\n\t\t\t\tmatches = nodes[j].match(/^([*]*)( *)(.*)/i);\n\t\t\t\tif (matches[1].length < 1) {\n\t\t\t\t\talert(\"Error: Each entry of hierarchy values should start with at least one \\'*\\'; the entry \\\"\" +\n\t\t\t\t\t\tnodes[j] + \"\\\" starts with none\");\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (matches[1].length - level > 1) {\n\t\t\t\t\talert(\"Error: Level or count of '*' in hierarchy values should increase by no more than 1 at a time, so the entry \\\"\" +\n\t\t\t\t\t\tnodes[j] + \"\\\" should have \" + (level + 1) + \" or fewer '*'\");\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tlevel = matches[1].length;\n\t\t\t\tif (matches[3].length === 0) {\n\t\t\t\t\talert(\"Error: An entry in hierarchy values cannot be empty.\");\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\n$( () => {\n\tconst el = document.getElementById('fieldsList');\n\tconst sortable = Sortable.create(el, {\n\t\thandle: '.instanceRearranger',\n\t});\n\tconst toggleSwitch = new OO.ui.ToggleSwitchWidget( {\n\t\tid: 'use_cargo_toggle',\n\t\tvalue: true,\n\t} );\n\tconst fullWikiSwitch = new OO.ui.ToggleSwitchWidget( {\n\t\tid: 'use_fullwikitext_toggle',\n\t\tvalue: false\n\t} );\n\tjQuery( '#cargo_toggle' ).prepend( toggleSwitch.$element );\n\tjQuery( '#use_cargo_toggle' ).attr( 'name', 'use_cargo_toggle' );\n\tjQuery( \"div.pfTemplateNameBlankError\" ).hide();\n\tjQuery( \"div.pfCargoTableNameBlankError\" ).hide();\n\tjQuery( \"label.delimiter\" ).css( 'display', 'none' );\n\tjQuery( \"div.delimiter\" ).css( {\n\t\t'display': 'none',\n\t\t'width': '35px'\n\t} );\n\tjQuery( \"label.hierarchy_structure_input\" ).css( 'display', 'none' );\n\tjQuery( \"div.hierarchy_structure\" ).css( 'display', 'none' );\n\tjQuery( 'form#createTemplateForm' ).removeAttr('style');\n\tjQuery( '#use_cargo_toggle' ).click( () => {\n\t\ttoggleCargoInputs();\n\t} );\n\tjQuery( '#fullwikitext_toggle' ).prepend( fullWikiSwitch.$element );\n\tjQuery( '#use_fullwikitext_toggle' ).attr( 'name', 'use_fullwikitext_toggle' );\n\tjQuery( '#use_fullwikitext_toggle' ).click( () => {\n\t\tif (jQuery('#use_fullwikitext_toggle').attr('aria-checked') == 'true') {\n\t\t\tjQuery('input[name=\"use_fullwikitext\"]').attr('value', '1');\n\t\t} else {\n\t\t\tjQuery('input[name=\"use_fullwikitext\"]').attr('value', '0');\n\t\t}\n\t} );\n\tjQuery( \".createTemplateAddField\" )\n\t\t.on( 'click', function() {\n\t\t\t$( this ).createTemplateAddField( false );\n\t\t})\n\t\t.on( 'keydown', function( e ) {\n\t\t\tif ( e.key === 'Enter' || e.key === ' ' ) {\n\t\t\t\te.preventDefault();\n\t\t\t\t$( this ).createTemplateAddField( false );\n\t\t\t}\n\t\t});\n\n\tjQuery( \".addAboveButton\" ).click( function() {\n\t\t$( this ).createTemplateAddField( true );\n\t} );\n\tjQuery( \".removeButton\" ).click( function() {\n\t\t// Remove the encompassing div for this instance.\n\t\tjQuery( this ).closest( \".fieldBox\" )\n\t\t\t.fadeOut( 'fast', function() {\n\t\t\t\tjQuery( this ).remove();\n\t\t\t} );\n\t} );\n\tjQuery( \".isList\" ).click( function() {\n\t\tjQuery( this ).closest( \".fieldBox\" ).find( \".delimiter\" ).toggle();\n\t} );\n\tjQuery( \".is_hierarchy\" ).click( function() {\n\t\ttoggleHierarchyInput( jQuery( this ).closest( \".fieldBox\" ) );\n\t} );\n\tjQuery( \".hierarchy_structure\" ).click( function() {\n\t\tif (jQuery( this ).attr( 'validInput' ) === undefined || jQuery( this ).attr( 'validInput' ) !== 'true') {\n\t\t\tremoveHierarchyPlaceholder( jQuery( this ) );\n\t\t}\n\t} );\n\tjQuery( \".hierarchy_structure\" ).blur( function() {\n\t\tsetHierarchyPlaceholder( jQuery( this ) );\n\t} );\n\tjQuery( '#createTemplateForm' ).submit( () => validateCreateTemplateForm() );\n} );\n","usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/libs/PF_FullCalendar.js","messages":[{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":17,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":17,"endColumn":19},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":18,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":18,"endColumn":53},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":20,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":20,"endColumn":71},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":21,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":21,"endColumn":75},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":22,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":22,"endColumn":65},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":24,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":24,"endColumn":28},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":25,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":25,"endColumn":42},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":26,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":26,"endColumn":55},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":27,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":27,"endColumn":56},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":28,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":28,"endColumn":60},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":29,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":29,"endColumn":71},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":30,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":30,"endColumn":67},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":31,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":31,"endColumn":30},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":32,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":32,"endColumn":26},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":33,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":33,"endColumn":34},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":34,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":34,"endColumn":32},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":41,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":41,"endColumn":22},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":42,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":45,"endColumn":17},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":49,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":49,"endColumn":47},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":50,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":50,"endColumn":39},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":51,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":51,"endColumn":174},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":52,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":52,"endColumn":173},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":53,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":53,"endColumn":173},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":55,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":55,"endColumn":49},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":56,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":56,"endColumn":49},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":57,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":57,"endColumn":34},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":58,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":58,"endColumn":47},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":59,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":59,"endColumn":128},{"ruleId":"prefer-const","severity":1,"message":"'events' is never reassigned. Use 'const' instead.","line":59,"column":7,"nodeType":"Identifier","messageId":"useConst","endLine":59,"endColumn":13},{"ruleId":"prefer-const","severity":1,"message":"'eventsNoDate' is never reassigned. Use 'const' instead.","line":59,"column":90,"nodeType":"Identifier","messageId":"useConst","endLine":59,"endColumn":102},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":60,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":68,"endColumn":69},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":69,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":69,"endColumn":28},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":70,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":70,"endColumn":29},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":71,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":71,"endColumn":26},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":72,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":73,"endColumn":43},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":75,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":95,"endColumn":80},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":124,"column":11,"nodeType":"MemberExpression","messageId":"forbidden","endLine":124,"endColumn":32},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":124,"column":11,"nodeType":"MemberExpression","messageId":"forbidden","endLine":124,"endColumn":32},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":128,"column":19,"nodeType":"MemberExpression","messageId":"forbidden","endLine":128,"endColumn":40},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":128,"column":19,"nodeType":"MemberExpression","messageId":"forbidden","endLine":128,"endColumn":40},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":132,"column":19,"nodeType":"MemberExpression","messageId":"forbidden","endLine":132,"endColumn":40},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":132,"column":19,"nodeType":"MemberExpression","messageId":"forbidden","endLine":132,"endColumn":40},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":157,"column":11,"nodeType":"MemberExpression","messageId":"forbidden","endLine":157,"endColumn":32},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":157,"column":11,"nodeType":"MemberExpression","messageId":"forbidden","endLine":157,"endColumn":32},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":161,"column":19,"nodeType":"MemberExpression","messageId":"forbidden","endLine":161,"endColumn":40},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":161,"column":19,"nodeType":"MemberExpression","messageId":"forbidden","endLine":161,"endColumn":40},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":165,"column":19,"nodeType":"MemberExpression","messageId":"forbidden","endLine":165,"endColumn":40},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":165,"column":19,"nodeType":"MemberExpression","messageId":"forbidden","endLine":165,"endColumn":40},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":172,"column":11,"nodeType":"MemberExpression","messageId":"forbidden","endLine":172,"endColumn":32},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":172,"column":11,"nodeType":"MemberExpression","messageId":"forbidden","endLine":172,"endColumn":32},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":176,"column":19,"nodeType":"MemberExpression","messageId":"forbidden","endLine":176,"endColumn":40},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":176,"column":19,"nodeType":"MemberExpression","messageId":"forbidden","endLine":176,"endColumn":40},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":180,"column":19,"nodeType":"MemberExpression","messageId":"forbidden","endLine":180,"endColumn":40},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":180,"column":19,"nodeType":"MemberExpression","messageId":"forbidden","endLine":180,"endColumn":40},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":216,"column":7,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":216,"endColumn":24},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":270,"column":9,"nodeType":"MemberExpression","messageId":"forbidden","endLine":270,"endColumn":41},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":270,"column":9,"nodeType":"MemberExpression","messageId":"forbidden","endLine":270,"endColumn":41},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":272,"column":17,"nodeType":"MemberExpression","messageId":"forbidden","endLine":272,"endColumn":49},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":272,"column":17,"nodeType":"MemberExpression","messageId":"forbidden","endLine":272,"endColumn":49},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":279,"column":17,"nodeType":"MemberExpression","messageId":"forbidden","endLine":279,"endColumn":49},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":279,"column":17,"nodeType":"MemberExpression","messageId":"forbidden","endLine":279,"endColumn":49},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":281,"column":17,"nodeType":"MemberExpression","messageId":"forbidden","endLine":281,"endColumn":49},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":281,"column":17,"nodeType":"MemberExpression","messageId":"forbidden","endLine":281,"endColumn":49},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":290,"column":17,"nodeType":"MemberExpression","messageId":"forbidden","endLine":290,"endColumn":49},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":290,"column":17,"nodeType":"MemberExpression","messageId":"forbidden","endLine":290,"endColumn":49},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":299,"column":17,"nodeType":"MemberExpression","messageId":"forbidden","endLine":299,"endColumn":49},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":299,"column":17,"nodeType":"MemberExpression","messageId":"forbidden","endLine":299,"endColumn":49},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":308,"column":17,"nodeType":"MemberExpression","messageId":"forbidden","endLine":308,"endColumn":49},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":308,"column":17,"nodeType":"MemberExpression","messageId":"forbidden","endLine":308,"endColumn":49},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":340,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":340,"endColumn":137},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":347,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":347,"endColumn":41},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":351,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":351,"endColumn":36},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":352,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":352,"endColumn":30},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":362,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":362,"endColumn":156},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":369,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":369,"endColumn":59},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":382,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":382,"endColumn":29},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":403,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":403,"endColumn":61},{"ruleId":"no-jquery/no-class-state","severity":1,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":623,"column":11,"nodeType":"CallExpression","endLine":623,"endColumn":43},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":736,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":736,"endColumn":85},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":737,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":737,"endColumn":46},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":738,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":738,"endColumn":26},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":740,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":740,"endColumn":35},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":754,"column":11,"nodeType":"MemberExpression","messageId":"forbidden","endLine":754,"endColumn":24},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":754,"column":11,"nodeType":"MemberExpression","messageId":"forbidden","endLine":754,"endColumn":24},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":756,"column":13,"nodeType":"MemberExpression","messageId":"forbidden","endLine":756,"endColumn":39},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":764,"column":18,"nodeType":"MemberExpression","messageId":"forbidden","endLine":764,"endColumn":31},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":764,"column":18,"nodeType":"MemberExpression","messageId":"forbidden","endLine":764,"endColumn":31},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":771,"column":52,"nodeType":"MemberExpression","messageId":"forbidden","endLine":771,"endColumn":65},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":771,"column":52,"nodeType":"MemberExpression","messageId":"forbidden","endLine":771,"endColumn":65},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":775,"column":9,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":775,"endColumn":83},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":779,"column":54,"nodeType":"MemberExpression","messageId":"forbidden","endLine":779,"endColumn":67},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":779,"column":54,"nodeType":"MemberExpression","messageId":"forbidden","endLine":779,"endColumn":67},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":780,"column":13,"nodeType":"MemberExpression","messageId":"forbidden","endLine":780,"endColumn":43},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":780,"column":13,"nodeType":"MemberExpression","messageId":"forbidden","endLine":780,"endColumn":43},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":782,"column":15,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":782,"endColumn":24},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":790,"column":51,"nodeType":"MemberExpression","messageId":"forbidden","endLine":790,"endColumn":64},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":790,"column":51,"nodeType":"MemberExpression","messageId":"forbidden","endLine":790,"endColumn":64},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":791,"column":13,"nodeType":"MemberExpression","messageId":"forbidden","endLine":791,"endColumn":43},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":791,"column":13,"nodeType":"MemberExpression","messageId":"forbidden","endLine":791,"endColumn":43},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":793,"column":15,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":793,"endColumn":27},{"ruleId":"no-jquery/no-class-state","severity":1,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":826,"column":11,"nodeType":"CallExpression","endLine":826,"endColumn":43},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":861,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":861,"endColumn":27},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":862,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":862,"endColumn":31},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":948,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":948,"endColumn":87},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1063,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1063,"endColumn":23},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1064,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1064,"endColumn":17},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1065,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1065,"endColumn":19},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1066,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1066,"endColumn":18},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1067,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1067,"endColumn":18},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1068,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1068,"endColumn":20},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1069,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1069,"endColumn":20},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1072,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1072,"endColumn":48},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1073,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1073,"endColumn":33},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1074,"column":10,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1074,"endColumn":18},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1076,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1076,"endColumn":26},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":1083,"column":12,"nodeType":"MemberExpression","messageId":"forbidden","endLine":1083,"endColumn":41},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":1083,"column":12,"nodeType":"MemberExpression","messageId":"forbidden","endLine":1083,"endColumn":41},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":1084,"column":13,"nodeType":"MemberExpression","messageId":"forbidden","endLine":1084,"endColumn":42},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":1084,"column":13,"nodeType":"MemberExpression","messageId":"forbidden","endLine":1084,"endColumn":42},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":1086,"column":20,"nodeType":"MemberExpression","messageId":"forbidden","endLine":1086,"endColumn":49},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":1086,"column":20,"nodeType":"MemberExpression","messageId":"forbidden","endLine":1086,"endColumn":49},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":1088,"column":20,"nodeType":"MemberExpression","messageId":"forbidden","endLine":1088,"endColumn":49},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":1088,"column":20,"nodeType":"MemberExpression","messageId":"forbidden","endLine":1088,"endColumn":49},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":1096,"column":21,"nodeType":"MemberExpression","messageId":"forbidden","endLine":1096,"endColumn":47},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":1124,"column":12,"nodeType":"MemberExpression","messageId":"forbidden","endLine":1124,"endColumn":41},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":1124,"column":12,"nodeType":"MemberExpression","messageId":"forbidden","endLine":1124,"endColumn":41},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":1125,"column":13,"nodeType":"MemberExpression","messageId":"forbidden","endLine":1125,"endColumn":42},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":1125,"column":13,"nodeType":"MemberExpression","messageId":"forbidden","endLine":1125,"endColumn":42},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":1127,"column":20,"nodeType":"MemberExpression","messageId":"forbidden","endLine":1127,"endColumn":49},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":1127,"column":20,"nodeType":"MemberExpression","messageId":"forbidden","endLine":1127,"endColumn":49},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":1129,"column":20,"nodeType":"MemberExpression","messageId":"forbidden","endLine":1129,"endColumn":49},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":1129,"column":20,"nodeType":"MemberExpression","messageId":"forbidden","endLine":1129,"endColumn":49},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":1131,"column":20,"nodeType":"MemberExpression","messageId":"forbidden","endLine":1131,"endColumn":49},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":1131,"column":20,"nodeType":"MemberExpression","messageId":"forbidden","endLine":1131,"endColumn":49},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":1133,"column":20,"nodeType":"MemberExpression","messageId":"forbidden","endLine":1133,"endColumn":49},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":1133,"column":20,"nodeType":"MemberExpression","messageId":"forbidden","endLine":1133,"endColumn":49},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":1135,"column":20,"nodeType":"MemberExpression","messageId":"forbidden","endLine":1135,"endColumn":49},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":1135,"column":20,"nodeType":"MemberExpression","messageId":"forbidden","endLine":1135,"endColumn":49},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":1137,"column":20,"nodeType":"MemberExpression","messageId":"forbidden","endLine":1137,"endColumn":49},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":1137,"column":20,"nodeType":"MemberExpression","messageId":"forbidden","endLine":1137,"endColumn":49},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":1145,"column":21,"nodeType":"MemberExpression","messageId":"forbidden","endLine":1145,"endColumn":47},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1153,"column":7,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1153,"endColumn":32},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":1157,"column":14,"nodeType":"MemberExpression","messageId":"forbidden","endLine":1157,"endColumn":43},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":1157,"column":14,"nodeType":"MemberExpression","messageId":"forbidden","endLine":1157,"endColumn":43},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":1157,"column":71,"nodeType":"MemberExpression","messageId":"forbidden","endLine":1157,"endColumn":100},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":1157,"column":71,"nodeType":"MemberExpression","messageId":"forbidden","endLine":1157,"endColumn":100},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1161,"column":14,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1161,"endColumn":23},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":1171,"column":14,"nodeType":"MemberExpression","messageId":"forbidden","endLine":1171,"endColumn":43},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":1171,"column":14,"nodeType":"MemberExpression","messageId":"forbidden","endLine":1171,"endColumn":43},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1177,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1177,"endColumn":78},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1182,"column":10,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1182,"endColumn":19},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1183,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1183,"endColumn":23},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1184,"column":10,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1184,"endColumn":20},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1186,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1186,"endColumn":80}],"suppressedMessages":[{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":193,"column":5,"nodeType":"CallExpression","endLine":193,"endColumn":18,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":195,"column":7,"nodeType":"CallExpression","endLine":195,"endColumn":48,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":196,"column":7,"nodeType":"CallExpression","endLine":196,"endColumn":49,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":197,"column":7,"nodeType":"CallExpression","endLine":197,"endColumn":50,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":205,"column":5,"nodeType":"CallExpression","endLine":205,"endColumn":18,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":207,"column":7,"nodeType":"CallExpression","endLine":207,"endColumn":53,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":208,"column":7,"nodeType":"CallExpression","endLine":208,"endColumn":51,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":209,"column":7,"nodeType":"CallExpression","endLine":209,"endColumn":54,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":210,"column":7,"nodeType":"CallExpression","endLine":210,"endColumn":52,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":211,"column":7,"nodeType":"CallExpression","endLine":211,"endColumn":55,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":212,"column":7,"nodeType":"CallExpression","endLine":212,"endColumn":53,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":218,"column":16,"nodeType":"CallExpression","endLine":218,"endColumn":63,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":219,"column":44,"nodeType":"CallExpression","endLine":219,"endColumn":92,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":220,"column":18,"nodeType":"CallExpression","endLine":220,"endColumn":64,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":221,"column":16,"nodeType":"CallExpression","endLine":221,"endColumn":61,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":222,"column":44,"nodeType":"CallExpression","endLine":222,"endColumn":90,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":223,"column":18,"nodeType":"CallExpression","endLine":223,"endColumn":62,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":225,"column":16,"nodeType":"CallExpression","endLine":225,"endColumn":63,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":226,"column":8,"nodeType":"CallExpression","endLine":226,"endColumn":56,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":227,"column":18,"nodeType":"CallExpression","endLine":227,"endColumn":64,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":228,"column":16,"nodeType":"CallExpression","endLine":228,"endColumn":61,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":229,"column":8,"nodeType":"CallExpression","endLine":229,"endColumn":54,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":230,"column":18,"nodeType":"CallExpression","endLine":230,"endColumn":62,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":232,"column":11,"nodeType":"CallExpression","endLine":232,"endColumn":58,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":233,"column":9,"nodeType":"CallExpression","endLine":233,"endColumn":58,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":234,"column":9,"nodeType":"CallExpression","endLine":234,"endColumn":58,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":235,"column":9,"nodeType":"CallExpression","endLine":235,"endColumn":54,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":236,"column":9,"nodeType":"CallExpression","endLine":236,"endColumn":56,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":237,"column":9,"nodeType":"CallExpression","endLine":237,"endColumn":56,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":238,"column":23,"nodeType":"CallExpression","endLine":238,"endColumn":70,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":239,"column":11,"nodeType":"CallExpression","endLine":239,"endColumn":60,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":240,"column":11,"nodeType":"CallExpression","endLine":240,"endColumn":60,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":241,"column":23,"nodeType":"CallExpression","endLine":241,"endColumn":68,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":242,"column":11,"nodeType":"CallExpression","endLine":242,"endColumn":58,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":243,"column":11,"nodeType":"CallExpression","endLine":243,"endColumn":58,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":621,"column":5,"nodeType":"CallExpression","endLine":621,"endColumn":16,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":652,"column":6,"nodeType":"CallExpression","endLine":652,"endColumn":47,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":653,"column":6,"nodeType":"CallExpression","endLine":653,"endColumn":48,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":655,"column":7,"nodeType":"CallExpression","endLine":655,"endColumn":50,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":657,"column":7,"nodeType":"CallExpression","endLine":657,"endColumn":50,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":684,"column":6,"nodeType":"CallExpression","endLine":684,"endColumn":52,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":685,"column":6,"nodeType":"CallExpression","endLine":685,"endColumn":53,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":687,"column":7,"nodeType":"CallExpression","endLine":687,"endColumn":55,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":689,"column":7,"nodeType":"CallExpression","endLine":689,"endColumn":55,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":691,"column":6,"nodeType":"CallExpression","endLine":691,"endColumn":50,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":692,"column":6,"nodeType":"CallExpression","endLine":692,"endColumn":51,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":694,"column":7,"nodeType":"CallExpression","endLine":694,"endColumn":53,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":696,"column":7,"nodeType":"CallExpression","endLine":696,"endColumn":53,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":757,"column":9,"nodeType":"CallExpression","endLine":757,"endColumn":37,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":759,"column":9,"nodeType":"CallExpression","endLine":759,"endColumn":37,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":762,"column":8,"nodeType":"CallExpression","endLine":762,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":765,"column":7,"nodeType":"CallExpression","endLine":765,"endColumn":35,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":769,"column":9,"nodeType":"CallExpression","endLine":769,"endColumn":59,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":775,"column":27,"nodeType":"CallExpression","endLine":775,"endColumn":56,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":777,"column":9,"nodeType":"CallExpression","endLine":777,"endColumn":38,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":783,"column":11,"nodeType":"CallExpression","endLine":783,"endColumn":59,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":786,"column":10,"nodeType":"CallExpression","endLine":786,"endColumn":60,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":802,"column":8,"nodeType":"CallExpression","endLine":802,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":824,"column":5,"nodeType":"CallExpression","endLine":824,"endColumn":16,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":154,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * Code to integrate the FullCalendar JavaScript library into Page Forms.\n *\n * @author Priyanshu Varshney\n */\n/* global moment */\n/* eslint-disable no-jquery/no-sizzle */\n( function( $, mw, pf ) {\n\t'use strict';\n\n\t$( '.pfFullCalendarJS' ).each( function() {\n\n\t\t$( '#fullCalendarLoading' ).css(\"display\", \"block\");\n\n\t\t// This counter is used to assign unique ids to the calendar events.\n\t\t// If the event is deleted, we lose that unique id and can't be used gain.\n\t\tlet counter = 0;\n\t\tconst monthNames = mw.config.get('monthMessages');\n\t\t// Stuff from PF_FormPrinter.php\n\t\tconst calendarParams = mw.config.get( 'wgPageFormsCalendarParams' );\n\t\tconst calendarGridValues = mw.config.get( 'wgPageFormsCalendarValues' );\n\t\tconst calendarHTML = mw.config.get('wgPageFormsCalendarHTML');\n\n\t\tconst $fcDiv = $( this );\n\t\tconst calendarId = $fcDiv.attr( 'id' );\n\t\tconst templateName = $fcDiv.attr( 'template-name' );\n\t\tconst eventTitleField = $fcDiv.attr( 'title-field' );\n\t\tconst eventDateField = $fcDiv.attr( 'event-date-field' );\n\t\tconst eventStartDateField = $fcDiv.attr( 'event-start-date-field' );\n\t\tconst eventEndDateField = $fcDiv.attr( 'event-end-date-field' );\n\t\tlet flagOneDayEvent = true;\n\t\tlet pageLoaded = false;\n\t\tlet isEventEndDateTime = false;\n\t\tlet isEventStartTime = false;\n\n\t\tif( eventDateField === undefined ) {\n\n\t\t\tflagOneDayEvent = false;\n\t\t}\n\n\t\tconst fieldType=[];\n\t\tconst englishMonthNames = [ 'January', 'February',\n\t\t\t'March', 'April', 'May', 'June', 'July',\n\t\t\t'August', 'September', 'October', 'November',\n\t\t\t'December' ];\n\n\t\t// From here the game begins - getting the form HTML to be used as the popup form -\n\t\t// for the calendar interface\n\t\tconst formHtml = calendarHTML[templateName];\n\t\tlet popup = '<form id=\"popupForm\">';\n\t\tconst deleteButton = '<button id=\"event_delete\" class = \"delete-event-button\" name=\"data\" type=\"button\" >' + mw.message('pf-calendar-deleteevent').escaped() + '</button>';\n\t\tconst createButton = '<button id=\"form_submit\" class = \"submit-event-button\" name=\"data\" type=\"button\" >' + mw.message('pf-calendar-createevent').escaped() + '</button>';\n\t\tconst updateButton = '<button id=\"form_submit\" class = \"submit-event-button\" name=\"data\" type=\"button\" >' + mw.message('pf-calendar-updateevent').escaped() + '</button>';\n\t\tpopup += formHtml;\n\t\tconst createEventPopup = popup + createButton;\n\t\tconst updateEventPopup = popup + updateButton;\n\t\tlet suitableForCalendar = true;\n\t\tconst calendarIdSelector = '#' + calendarId;\n\t\tlet events = [], data = [], dateFields = [], dateStartFields = [], dateEndFields = [], eventsNoDate = [], checkboxesNum = [];\n\t\tlet segment, dateSegment, yearFC, monthFC, dateFC,\n\t\t\ttimeSegment, hourFC, minuteFC, secondFC, ampm24h,\n\t\t\tdateEntry, monthEntry, yearEntry, hourEntry,\n\t\t\tminuteEntry, secondEntry, ampm24hEntry, regularEntry,\n\t\t\teventData, preEventData, currParam, temp, titleIndex, monthIndex,\n\t\t\teventDate, eventDateDay,eventDateYear, eventDateMonth, eventDateHour,\n\t\t\teventStartDate, eventEndDate , eventDateMinute, eventDateSecond, eventDateAmPm24h, reserveDate, idForm,\n\t\t\teventStartDateDay, eventStartDateYear, eventStartDateMonth, eventStartDateHour,\n\t\t\teventStartDateMinute, eventStartDateSecond, eventStartDateAmPm24;\n\t\tlet currentEndDateMoment;\n\t\tlet checkboxesValues = [];\n\t\tlet listboxValues = [];\n\t\tlet tokensProto, comboboxProto, result, eventTemplateName, parameterName, eventContents, allEvents,\n\t\t\tdateElement, nextDate, formatted, i, j;\n\n\t\tconst autoFillDay = templateName + '[cf][' + eventDateField + '][day]',\n\t\t\tautoFillMonth = templateName + '[cf][' + eventDateField + '][month]',\n\t\t\tautoFillYear = templateName + '[cf][' + eventDateField + '][year]',\n\t\t\tautoFillHour = templateName+'[cf]['+ eventDateField + '][hour]',\n\t\t\tautoFillMinute = templateName+'[cf]['+ eventDateField + '][minute]',\n\t\t\tautoFillSecond = templateName+'[cf]['+ eventDateField + '][second]',\n\t\t\tautoFillAmPm24h = templateName+'[cf]['+ eventDateField + '][ampm24h]',\n\t\t\tautoFillStartDay = templateName + '[cf][' + eventStartDateField + '][day]',\n\t\t\tautoFillStartMonth = templateName + '[cf][' + eventStartDateField + '][month]',\n\t\t\tautoFillStartYear = templateName + '[cf][' + eventStartDateField + '][year]',\n\t\t\tautoFillEndDay = templateName + '[cf][' + eventEndDateField + '][day]',\n\t\t\tautoFillEndMonth = templateName + '[cf][' + eventEndDateField + '][month]',\n\t\t\tautoFillEndYear = templateName + '[cf][' + eventEndDateField + '][year]',\n\t\t\tautoFillStartHour = templateName+'[cf]['+ eventStartDateField + '][hour]',\n\t\t\tautoFillStartMinute = templateName+'[cf]['+ eventStartDateField + '][minute]',\n\t\t\tautoFillStartSecond = templateName+'[cf]['+ eventStartDateField + '][second]',\n\t\t\tautoFillStartAmPm24h = templateName+'[cf]['+ eventStartDateField + '][ampm24h]',\n\t\t\tautoFillEndHour = templateName+'[cf]['+ eventEndDateField + '][hour]',\n\t\t\tautoFillEndMinute = templateName+'[cf]['+ eventEndDateField + '][minute]',\n\t\t\tautoFillEndSecond = templateName+'[cf]['+ eventEndDateField + '][second]',\n\t\t\tautoFillEndAmPm24h = templateName+'[cf]['+ eventEndDateField + '][ampm24h]';\n\t\tfor( i = 0; i<calendarParams[templateName].length; i++ ) {\n\t\t\tfieldType[calendarParams[templateName][i].name]=calendarParams[templateName][i].type;\n\t\t}\n\n\t\tif( fieldType[eventStartDateField] === \"datetime\" || fieldType[eventDateField] === \"datetime\" ) {\n\t\t\tisEventStartTime = true;\n\t\t}\n\n\t\tif( fieldType[eventEndDateField] === \"datetime\") {\n\t\t\tisEventEndDateTime = true;\n\t\t}\n\n\t\tfunction saveData( flag ) {\n\t\t\tif(flag === 'single' ) {\n\t\t\t\tdata = $('#popupForm').serializeArray();\n\t\t\t\ttitleIndex = -1;\n\t\t\t\tdateFields = [];\n\t\t\t\teventDate = '';\n\t\t\t\tfor(j=0;j<data.length;j++){\n\t\t\t\t\tresult = data[j].name.split(\"[\");\n\t\t\t\t\teventTemplateName = result[0];\n\t\t\t\t\tparameterName = result[2].split(\"]\")[0];\n\t\t\t\t\tif( parameterName === eventTitleField ) {\n\t\t\t\t\t\tif( titleIndex === -1 ) {\n\t\t\t\t\t\t\ttitleIndex = j;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if ( parameterName === eventDateField ) {\n\t\t\t\t\t\tdateFields.push({'name':data[j].name,'value':data[j].value});\n\t\t\t\t\t\tif( data[j].name.includes('second') ) {\n\t\t\t\t\t\t\tif( data[j].value === '' ) {\n\t\t\t\t\t\t\t\tdata[j].value = '59';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if ( data[j].name.includes('hour') ) {\n\t\t\t\t\t\t\tif( data[j].value === '' ) {\n\t\t\t\t\t\t\t\tdata[j].value = '23';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if ( data[j].name.includes('minute') ) {\n\t\t\t\t\t\t\tif( data[j].value === '' ) {\n\t\t\t\t\t\t\t\tdata[j].value = '59';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if ( flag === 'multiple' ) {\n\t\t\t\tdata = $('#popupForm').serializeArray();\n\t\t\t\ttitleIndex = -1;\n\t\t\t\tdateStartFields = [];\n\t\t\t\tdateEndFields = [];\n\t\t\t\teventStartDate = '';\n\t\t\t\teventEndDate = '';\n\t\t\t\tfor(j=0;j<data.length;j++) {\n\t\t\t\t\tresult = data[j].name.split(\"[\");\n\t\t\t\t\teventTemplateName = result[0];\n\t\t\t\t\tparameterName = result[2].split(\"]\")[0];\n\n\t\t\t\t\tif( parameterName === eventTitleField ) {\n\t\t\t\t\t\tif( titleIndex === -1 ) {\n\t\t\t\t\t\t\ttitleIndex = j;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if ( parameterName === eventStartDateField ) {\n\t\t\t\t\t\tdateStartFields.push({'name':data[j].name,'value':data[j].value});\n\t\t\t\t\t\tif( data[j].name.includes('second') ) {\n\t\t\t\t\t\t\tif( data[j].value === '' ) {\n\t\t\t\t\t\t\t\tdata[j].value = '00';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if ( data[j].name.includes('hour') ) {\n\t\t\t\t\t\t\tif( data[j].value === '' ) {\n\t\t\t\t\t\t\t\tdata[j].value = '00';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if ( data[j].name.includes('minute') ) {\n\t\t\t\t\t\t\tif( data[j].value === '' ) {\n\t\t\t\t\t\t\t\tdata[j].value = '00';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if ( parameterName === eventEndDateField ) {\n\t\t\t\t\t\tdateEndFields.push({'name':data[j].name,'value':data[j].value});\n\t\t\t\t\t\tif( data[j].name.includes('second') ) {\n\t\t\t\t\t\t\tif( data[j].value === '' ) {\n\t\t\t\t\t\t\t\tdata[j].value = '59';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if ( data[j].name.includes('hour') ) {\n\t\t\t\t\t\t\tif( data[j].value === '' ) {\n\t\t\t\t\t\t\t\tdata[j].value = '23';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if ( data[j].name.includes('minute') ) {\n\t\t\t\t\t\t\tif( data[j].value === '' ) {\n\t\t\t\t\t\t\t\tdata[j].value = '59';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// Checks if the date field parts are empty or not - if not,\n\t\t// don't allow the user to submit\n\t\tfunction checkAndSave( flag ) {\n\t\t\tif( flag === 'single' ) {\n\t\t\t\t$( ':input' ).on('keyup',() => {\n\t\t\t\t\tif(\n\t\t\t\t\t\t$( ':input[name=\"' + autoFillDay + '\"]' ).val() === '' ||\n\t\t\t\t\t\t$( ':input[name=\"' + autoFillYear + '\"]' ).val() === '' ||\n\t\t\t\t\t\t$( ':input[name=\"' + autoFillMonth + '\"]' ).val() === ''\n\t\t\t\t\t) {\n\t\t\t\t\t\t$(\"#form_submit\").attr(\"disabled\", \"disabled\").css({'background-color':'#c8ccd1','color':'#fff'});\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$(\"#form_submit\").removeAttr(\"disabled\").css({'background-color': '#3366CC','color': 'white'});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t} else if ( flag === 'multiple' ) {\n\t\t\t\t$( ':input' ).on('keyup',() => {\n\t\t\t\t\tif(\n\t\t\t\t\t\t$( ':input[name=\"' + autoFillStartDay + '\"]' ).val() === '' ||\n\t\t\t\t\t\t$( ':input[name=\"' + autoFillEndDay + '\"]' ).val() === '' ||\n\t\t\t\t\t\t$( ':input[name=\"' + autoFillStartYear + '\"]' ).val() === '' ||\n\t\t\t\t\t\t$( ':input[name=\"' + autoFillEndYear + '\"]' ).val() === '' ||\n\t\t\t\t\t\t$( ':input[name=\"' + autoFillStartMonth + '\"]' ).val() === '' ||\n\t\t\t\t\t\t$( ':input[name=\"' + autoFillEndMonth + '\"]' ).val() === ''\n\t\t\t\t\t) {\n\t\t\t\t\t\t$(\"#form_submit\").attr(\"disabled\", \"disabled\").css({'background-color':'#c8ccd1','color':'#fff'});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlet date1, date2;\n\t\t\t\t\t\tif( mw.config.get('wgAmericanDates') ) {\n\t\t\t\t\t\t\tdate1 = $( ':input[name=\"' + autoFillStartYear + '\"]' ).val() + '-' +\n\t\t\t\t\t\t\tpadNumber(englishMonthNames.indexOf($( ':input[name=\"' + autoFillStartMonth + '\"]' ).val())) + '-' +\n\t\t\t\t\t\t\tpadNumber($( ':input[name=\"' + autoFillStartDay + '\"]' ).val());\n\t\t\t\t\t\t\tdate2 = $( ':input[name=\"' + autoFillEndYear + '\"]' ).val() + '-' +\n\t\t\t\t\t\t\tpadNumber(englishMonthNames.indexOf($( ':input[name=\"' + autoFillEndMonth + '\"]' ).val())) + '-' +\n\t\t\t\t\t\t\tpadNumber($( ':input[name=\"' + autoFillEndDay + '\"]' ).val());\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdate1 = $( ':input[name=\"' + autoFillStartYear + '\"]' ).val() + '-' +\n\t\t\t\t\t\t\t$( ':input[name=\"' + autoFillStartMonth + '\"]' ).val() + '-' +\n\t\t\t\t\t\t\tpadNumber($( ':input[name=\"' + autoFillStartDay + '\"]' ).val());\n\t\t\t\t\t\t\tdate2 = $( ':input[name=\"' + autoFillEndYear + '\"]' ).val() + '-' +\n\t\t\t\t\t\t\t$( ':input[name=\"' + autoFillEndMonth + '\"]' ).val() + '-' +\n\t\t\t\t\t\t\tpadNumber($( ':input[name=\"' + autoFillEndDay + '\"]' ).val());\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif( $( ':input[name=\"' + autoFillStartHour + '\"]' ).val() !== undefined &&\n\t\t\t\t\t\t\t\t$( ':input[name=\"' + autoFillStartMinute + '\"]' ).val() !== undefined &&\n\t\t\t\t\t\t\t\t$( ':input[name=\"' + autoFillStartSecond + '\"]' ).val() !== undefined &&\n\t\t\t\t\t\t\t\t$( ':input[name=\"' + autoFillEndHour + '\"]' ).val() !== undefined &&\n\t\t\t\t\t\t\t\t$( ':input[name=\"' + autoFillEndMinute + '\"]' ).val() !== undefined &&\n\t\t\t\t\t\t\t\t$( ':input[name=\"' + autoFillEndSecond + '\"]' ).val() !== undefined) {\n\t\t\t\t\t\t\tdate1 += ' ' + $( ':input[name=\"' + autoFillStartHour + '\"]' ).val() + ':'\n\t\t\t\t\t\t\t\t+ $( ':input[name=\"' + autoFillStartMinute + '\"]' ).val() + ':'\n\t\t\t\t\t\t\t\t+ $( ':input[name=\"' + autoFillStartSecond + '\"]' ).val();\n\t\t\t\t\t\t\tdate2 += ' ' + $( ':input[name=\"' + autoFillEndHour + '\"]' ).val() + ':'\n\t\t\t\t\t\t\t\t+ $( ':input[name=\"' + autoFillEndMinute + '\"]' ).val() + ':'\n\t\t\t\t\t\t\t\t+ $( ':input[name=\"' + autoFillEndSecond + '\"]' ).val();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdate1 = moment(date1);\n\t\t\t\t\t\tdate2 = moment(date2);\n\t\t\t\t\t\tif ( date1 <= date2 ) {\n\t\t\t\t\t\t\t$(\"#form_submit\").removeAttr(\"disabled\").css({'background-color': '#3366CC','color': 'white'});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$(\"#form_submit\").attr(\"disabled\", \"disabled\").css({'background-color':'#c8ccd1','color':'#fff'});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tfunction resetDateAndTime() {\n\t\t\teventDateDay = '01';\n\t\t\teventDateYear = '2010';\n\t\t\teventDateMonth = '00';\n\t\t\teventDateHour = '00';\n\t\t\teventDateMinute = '00';\n\t\t\teventDateSecond = '00';\n\t\t\teventDateAmPm24h = \"\";\n\t\t}\n\n\t\t// flag : 0 - one day , 1 - start, 2 - end\n\t\tfunction setDateAndTime( arrData, flag ) {\n\t\t\tfor( dateEntry=0; dateEntry < arrData.length ; dateEntry++ ) {\n\t\t\t\tif( arrData[dateEntry].name.includes('year') ) {\n\t\t\t\t\teventDateYear = arrData[dateEntry].value;\n\t\t\t\t} else if ( arrData[dateEntry].name.includes('month') ) {\n\t\t\t\t\tif ( mw.config.get('wgAmericanDates') ) { //check for date-style format.\n\t\t\t\t\t\tmonthIndex = englishMonthNames.indexOf( arrData[dateEntry].value );\n\t\t\t\t\t\teventDateMonth = padNumber(monthIndex + 1);\n\t\t\t\t\t} else {\n\t\t\t\t\t\teventDateMonth = padNumber(arrData[dateEntry].value);\n\t\t\t\t\t}\n\t\t\t\t} else if ( arrData[dateEntry].name.includes('day') ) {\n\t\t\t\t\teventDateDay = padNumber( arrData[dateEntry].value ) ;\n\t\t\t\t} else if ( arrData[dateEntry].name.includes('hour') ) {\n\t\t\t\t\teventDateHour = arrData[dateEntry].value ;\n\t\t\t\t\tif( eventDateHour === '' ) {\n\t\t\t\t\t\tif ( flag === '1' ) {\n\t\t\t\t\t\t\teventDateHour = '00';\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\teventDateHour = '23';\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else if ( arrData[dateEntry].name.includes('minute') ) {\n\t\t\t\t\teventDateMinute = arrData[dateEntry].value ;\n\t\t\t\t\tif( eventDateMinute === '' ) {\n\t\t\t\t\t\tif ( flag === '1' ) {\n\t\t\t\t\t\t\teventDateMinute = '00';\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\teventDateMinute = '59';\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else if ( arrData[dateEntry].name.includes('second') ) {\n\t\t\t\t\teventDateSecond = arrData[dateEntry].value ;\n\t\t\t\t\tif( eventDateSecond === '' ) {\n\t\t\t\t\t\tif ( flag === '1' ) {\n\t\t\t\t\t\t\teventDateSecond = '00';\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\teventDateSecond = '59';\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else if ( arrData[dateEntry].name.includes('ampm24h') ) {\n\t\t\t\t\teventDateAmPm24h = arrData[dateEntry].value ;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction checkDateTime( arrData, date ) {\n\t\t\tif( arrData.length === 7 ) {\n\t\t\t\tif( eventDateAmPm24h === \"\" ) {\n\t\t\t\t\tdate = date + 'T' + padNumber( eventDateHour ) + ':' + padNumber( eventDateMinute ) + ':' + padNumber( eventDateSecond );\n\t\t\t\t} else if ( eventDateAmPm24h === \"AM\" ) {\n\t\t\t\t\tif( eventDateHour === \"12\" ) {\n\t\t\t\t\t\tdate = date + 'T' + '00' + ':' + padNumber( eventDateMinute ) + ':' + padNumber( eventDateSecond );\n\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdate = date + 'T' + padNumber( eventDateHour ) + ':' + padNumber( eventDateMinute ) + ':' + padNumber( eventDateSecond );\n\t\t\t\t\t}\n\t\t\t\t} else if ( eventDateAmPm24h === \"PM\" ) {\n\t\t\t\t\tif( eventDateHour === \"12\" ) {\n\t\t\t\t\t\tdate = date + 'T' + '12' + ':' + padNumber( eventDateMinute ) + ':' + padNumber( eventDateSecond );\n\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdate = date + 'T' + padNumber( parseInt(eventDateHour) + 12 ) + ':' + padNumber( eventDateMinute ) + ':' + padNumber( eventDateSecond );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn date;\n\t\t}\n\n\t\t// Check if the date/datetime formats are suitable for the\n\t\t// calendar eventStartDate - if not, these are not proper\n\t\t// events, and they will be stored in eventsNoDate.\n\t\tfunction isValidDate(dateString) {\n\t\t\tif( mw.config.get( 'wgAmericanDates' ) ) {\n\t\t\t\tconst reg = /^(January?|February?|March?|April?|May|June?|July?|August?|September?|October?|November?|December?)\\s\\d{1,2},\\s\\d{4}$/;\n\t\t\t\tif(!dateString.match(reg)) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdateString = dateString.replace('/','-');\n\t\t\t\tdateString = dateString.replace('/','-');\n\t\t\t\tconst regEx = /^\\d{4}-\\d{2}-\\d{2}$/;\n\t\t\t\tif(!dateString.match(regEx)) {\n\t\t\t\t\treturn false;\n\t\t\t\t} // Invalid format\n\t\t\t\tconst d = new Date(dateString);\n\t\t\t\tconst dNum = d.getTime();\n\t\t\t\tif(!dNum && dNum !== 0) {\n\t\t\t\t\treturn false;\n\t\t\t\t} // NaN value, Invalid date\n\t\t\t\treturn d.toISOString().slice(0,10) === dateString;\n\t\t\t}\n\t\t}\n\n\t\tfunction dateTimeValidation(dateString) {\n\t\t\tif( mw.config.get( 'wgAmericanDates' ) ) {\n\t\t\t\tconst reg = /^(January?|February?|March?|April?|May|June?|July?|August?|September?|October?|November?|December?)\\s\\d{1,2},\\s\\d{4}\\s\\d{2}:\\d{2}:\\d{2}$/;\n\t\t\t\tif ( !dateString.match( reg ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdateString = dateString.replace('/','-');\n\t\t\t\tdateString = dateString.replace('/','-');\n\t\t\t\tconst regEx = /^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$/;\n\t\t\t\tif ( !dateString.match( regEx ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t} // Invalid format\n\t\t\t\treturn !!new Date(dateString).getTime();\n\t\t\t}\n\t\t}\n\n\t\tfunction addDays(myDate,days) {\n\t\t\treturn new Date(myDate.getTime() + days*24*60*60*1000);\n\t\t}\n\n\t\tfunction padNumber(number) {\n\t\t\tlet string = '' + number;\n\t\t\tstring = string.length < 2 ? '0' + string : string;\n\t\t\treturn string;\n\t\t}\n\n\t\t$( calendarIdSelector ).fullCalendar({\n\n\t\t\teditable: true,\n\t\t\teventLimit: true, // when too many events in a day, show the popover\n\t\t\theader: {\n\t\t\t\tleft: 'prev,next today',\n\t\t\t\tcenter: 'title',\n\t\t\t\tright: 'month,agendaWeek,agendaDay'\n\t\t\t},\n\t\t\tnavLinks: true, // can click day/week names to navigate views\n\t\t\tselectable: true,\n\t\t\tselectHelper: true,\n\t\t\tnextDayThreshold: \"00:00:00\",\n\n\t\t\t// Populate the calendar with the already saved events - if any\n\t\t\tevents: function( start, end, timezone, callback ) {\n\t\t\t\tconst calendarValues = calendarGridValues[templateName];\n\t\t\t\tfor( i = 0; i < calendarValues.length; i++ ) {\n\t\t\t\t\tdata = [];\n\t\t\t\t\teventData = calendarValues[i];\n\t\t\t\t\tfor( j=0; j<calendarParams[templateName].length;j++ ) {\n\t\t\t\t\t\tcurrParam = calendarParams[templateName][j];\n\t\t\t\t\t\ttemp = eventData[currParam.name];\n\t\t\t\t\t\tif( fieldType[currParam.name] === 'date' && isValidDate(temp) === false ) {\n\t\t\t\t\t\t\teventsNoDate.push(eventData);\n\t\t\t\t\t\t\tsuitableForCalendar = false;\n\t\t\t\t\t\t} else if ( fieldType[currParam.name] === 'datetime' && dateTimeValidation(temp) === false ) {\n\t\t\t\t\t\t\teventsNoDate.push(eventData);\n\t\t\t\t\t\t\tsuitableForCalendar = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif(suitableForCalendar === true ) {\n\t\t\t\t\t\tfor( j=0; j<calendarParams[templateName].length;j++ ) {\n\t\t\t\t\t\t\tcurrParam = calendarParams[templateName][j];\n\t\t\t\t\t\t\ttemp = eventData[currParam.name];\n\t\t\t\t\t\t\tif( fieldType[currParam.name] === 'date' ) {\n\t\t\t\t\t\t\t\tif ( mw.config.get( 'wgAmericanDates' ) ) { //check for date-style format.\n\t\t\t\t\t\t\t\t\tdateSegment = temp.split(' ');\n\t\t\t\t\t\t\t\t\tyearFC = dateSegment[2];\n\t\t\t\t\t\t\t\t\tmonthFC = dateSegment[0];\n\t\t\t\t\t\t\t\t\tdateFC = padNumber(dateSegment[1].split(',')[0]);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tdateSegment = temp.split('/');\n\t\t\t\t\t\t\t\t\tyearFC = dateSegment[0];\n\t\t\t\t\t\t\t\t\tmonthFC = dateSegment[1];\n\t\t\t\t\t\t\t\t\tdateFC = padNumber(dateSegment[2]);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tdateEntry = {\n\t\t\t\t\t\t\t\t\t'name': templateName + '[cf]['+currParam.name+'][day]',\n\t\t\t\t\t\t\t\t\t'value': dateFC\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\tdata.push( dateEntry );\n\t\t\t\t\t\t\t\tmonthEntry = {\n\t\t\t\t\t\t\t\t\t'name': templateName + '[cf]['+currParam.name+'][month]',\n\t\t\t\t\t\t\t\t\t'value': monthFC\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\tdata.push( monthEntry );\n\t\t\t\t\t\t\t\tyearEntry = {\n\t\t\t\t\t\t\t\t\t'name': templateName + '[cf]['+currParam.name+'][year]',\n\t\t\t\t\t\t\t\t\t'value': yearFC\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\tdata.push( yearEntry );\n\t\t\t\t\t\t\t} else if ( fieldType[currParam.name] === \"datetime\" ) {\n\t\t\t\t\t\t\t\tif ( mw.config.get('wgAmericanDates') ) { //check for date-style format.\n\t\t\t\t\t\t\t\t\tdateSegment = temp.split(' ');\n\t\t\t\t\t\t\t\t\tyearFC = dateSegment[2];\n\t\t\t\t\t\t\t\t\tmonthFC = dateSegment[0];\n\t\t\t\t\t\t\t\t\tdateFC = padNumber(dateSegment[1].split(',')[0]);\n\t\t\t\t\t\t\t\t\ttimeSegment = dateSegment[3].split(':');\n\t\t\t\t\t\t\t\t\thourFC = timeSegment[0];\n\t\t\t\t\t\t\t\t\tminuteFC = timeSegment[1];\n\t\t\t\t\t\t\t\t\tsecondFC = timeSegment[2];\n\t\t\t\t\t\t\t\t\tampm24h = dateSegment[4];\n\t\t\t\t\t\t\t\t\tif( ampm24h === undefined ) {\n\t\t\t\t\t\t\t\t\t\tampm24h = '';\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tsegment = temp.split(' '); // will be used\n\t\t\t\t\t\t\t\t\tdateSegment = segment[0].split('/');\n\t\t\t\t\t\t\t\t\ttimeSegment = segment[1].split(':');\n\t\t\t\t\t\t\t\t\tyearFC = dateSegment[0];\n\t\t\t\t\t\t\t\t\tmonthFC = dateSegment[1];\n\t\t\t\t\t\t\t\t\tdateFC = padNumber(dateSegment[2]);\n\t\t\t\t\t\t\t\t\thourFC = timeSegment[0];\n\t\t\t\t\t\t\t\t\tminuteFC = timeSegment[1];\n\t\t\t\t\t\t\t\t\tsecondFC = timeSegment[2];\n\t\t\t\t\t\t\t\t\tampm24h = segment[2];\n\t\t\t\t\t\t\t\t\tif( ampm24h === undefined ) {\n\t\t\t\t\t\t\t\t\t\tampm24h = '';\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tdateEntry = {\n\t\t\t\t\t\t\t\t\t'name': templateName+'[cf]['+currParam.name+'][day]',\n\t\t\t\t\t\t\t\t\t'value': dateFC\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\tdata.push( dateEntry );\n\t\t\t\t\t\t\t\tmonthEntry = {\n\t\t\t\t\t\t\t\t\t'name': templateName+'[cf]['+currParam.name+'][month]',\n\t\t\t\t\t\t\t\t\t'value': monthFC\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\tdata.push( monthEntry );\n\t\t\t\t\t\t\t\tyearEntry = {\n\t\t\t\t\t\t\t\t\t'name': templateName+'[cf]['+currParam.name+'][year]',\n\t\t\t\t\t\t\t\t\t'value': yearFC\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\tdata.push(yearEntry);\n\t\t\t\t\t\t\t\thourEntry = {\n\t\t\t\t\t\t\t\t\t'name': templateName+'[cf]['+currParam.name+'][hour]',\n\t\t\t\t\t\t\t\t\t'value': hourFC\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\tdata.push( hourEntry );\n\t\t\t\t\t\t\t\tminuteEntry = {\n\t\t\t\t\t\t\t\t\t'name': templateName+'[cf]['+currParam.name+'][minute]',\n\t\t\t\t\t\t\t\t\t'value': minuteFC\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\tdata.push( minuteEntry );\n\t\t\t\t\t\t\t\tsecondEntry = {\n\t\t\t\t\t\t\t\t\t'name': templateName+'[cf]['+currParam.name+'][second]',\n\t\t\t\t\t\t\t\t\t'value': secondFC\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\tdata.push( secondEntry );\n\t\t\t\t\t\t\t\tampm24hEntry = {\n\t\t\t\t\t\t\t\t\t'name': templateName+'[cf]['+currParam.name+'][ampm24h]',\n\t\t\t\t\t\t\t\t\t'value': ampm24h\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\tdata.push( ampm24hEntry );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tregularEntry = {\n\t\t\t\t\t\t\t\t\t'name': templateName+'[cf]['+currParam.name+']',\n\t\t\t\t\t\t\t\t\t'value':temp\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\tdata.push( regularEntry );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\tif( flagOneDayEvent === true ) {\n\t\t\t\t\t\ttitleIndex = -1;\n\t\t\t\t\t\tdateFields = [];\n\t\t\t\t\t\teventDate = '';\n\t\t\t\t\t\tfor(j=0;j<data.length;j++){\n\t\t\t\t\t\t\tresult = data[j].name.split(\"[\");\n\t\t\t\t\t\t\teventTemplateName = result[0];\n\t\t\t\t\t\t\tparameterName = result[2].split(\"]\")[0];\n\n\t\t\t\t\t\t\tif ( parameterName === eventTitleField ) {\n\t\t\t\t\t\t\t\tif( titleIndex === -1 ) {\n\t\t\t\t\t\t\t\t\ttitleIndex = j;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if ( parameterName === eventDateField ) {\n\t\t\t\t\t\t\t\tdateFields.push( {'name':data[j].name, 'value':data[j].value} );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tresetDateAndTime();\n\t\t\t\t\t\tsetDateAndTime( dateFields );\n\t\t\t\t\t\teventDate = eventDateYear + '-' + eventDateMonth + '-' + eventDateDay;\n\t\t\t\t\t\treserveDate = eventDate;\n\t\t\t\t\t\teventDate = checkDateTime( dateFields, eventDate );\n\t\t\t\t\t\tidForm = eventDate + \"_fc\" + counter;\n\t\t\t\t\t\tpreEventData = {\n\t\t\t\t\t\t\ttitle: data[titleIndex].value,\n\t\t\t\t\t\t\tstart: eventDate,\n\t\t\t\t\t\t\tend: reserveDate + 'T23:59:59',\n\t\t\t\t\t\t\tcontents: data,\n\t\t\t\t\t\t\tid: idForm\n\t\t\t\t\t\t};\n\t\t\t\t\t\tif(!pageLoaded){\n\t\t\t\t\t\t\tcounter++;\n\t\t\t\t\t\t\t$( calendarIdSelector ).fullCalendar( 'renderEvent', preEventData, true );\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttitleIndex = -1;\n\t\t\t\t\t\tdateStartFields = [];\n\t\t\t\t\t\tdateEndFields = [];\n\t\t\t\t\t\teventStartDate = '';\n\t\t\t\t\t\teventEndDate = '';\n\t\t\t\t\t\tfor( j = 0; j < data.length; j++ ){\n\t\t\t\t\t\t\tresult = data[j].name.split(\"[\");\n\t\t\t\t\t\t\teventTemplateName = result[0];\n\t\t\t\t\t\t\tparameterName = result[2].split(\"]\")[0];\n\n\t\t\t\t\t\t\tif ( parameterName === eventTitleField ) {\n\t\t\t\t\t\t\t\tif( titleIndex === -1 ) {\n\t\t\t\t\t\t\t\t\ttitleIndex = j;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if ( parameterName === eventStartDateField ) {\n\t\t\t\t\t\t\t\tdateStartFields.push({'name': data[j].name, 'value': data[j].value});\n\t\t\t\t\t\t\t} else if ( parameterName === eventEndDateField ) {\n\t\t\t\t\t\t\t\tdateEndFields.push({'name': data[j].name, 'value': data[j].value});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tresetDateAndTime();\n\t\t\t\t\t\tsetDateAndTime( dateStartFields );\n\t\t\t\t\t\teventStartDate = eventDateYear + '-' + eventDateMonth + '-' + eventDateDay;\n\t\t\t\t\t\treserveDate = eventStartDate;\n\t\t\t\t\t\teventStartDate = checkDateTime( dateStartFields, eventStartDate );\n\t\t\t\t\t\tresetDateAndTime();\n\t\t\t\t\t\tsetDateAndTime( dateEndFields );\n\t\t\t\t\t\teventEndDate = eventDateYear + '-' + eventDateMonth + '-' + eventDateDay;\n\t\t\t\t\t\treserveDate = eventEndDate;\n\t\t\t\t\t\teventEndDate = checkDateTime( dateEndFields, eventEndDate );\n\t\t\t\t\t\tidForm = eventStartDate +\"_fc\"+counter;\n\t\t\t\t\t\tif ( fieldType[eventEndDateField] === 'date' ) {\n\t\t\t\t\t\t\tdateElement = new Date(eventEndDate);\n\t\t\t\t\t\t\tnextDate = new Date(dateElement.setDate(dateElement.getDate() + 1));\n\t\t\t\t\t\t\tformatted = nextDate.getUTCFullYear() + '-' + padNumber(nextDate.getUTCMonth() + 1) + '-' + padNumber(nextDate.getUTCDate());\n\t\t\t\t\t\t\teventEndDate = formatted;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tpreEventData = {\n\t\t\t\t\t\t\ttitle: eventData[eventTitleField],\n\t\t\t\t\t\t\tstart: eventStartDate,\n\t\t\t\t\t\t\tend: eventEndDate,\n\t\t\t\t\t\t\tcontents: data,\n\t\t\t\t\t\t\tid: idForm\n\t\t\t\t\t\t};\n\t\t\t\t\t\tif(!pageLoaded){\n\t\t\t\t\t\t\tcounter++;\n\t\t\t\t\t\t\t$( calendarIdSelector ).fullCalendar( 'renderEvent', preEventData, true );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tsuitableForCalendar = true;\n\t\t\t\t}\n\t\t\t\tcallback(events);\n\t\t\t\tpageLoaded = true;\n\t\t\t},\n\n\t\t\t// Select : JS method to put events on the calendar by selecting\n\t\t\t// one or more dates\n\t\t\tselect: function( start, end ) {\n\t\t\t\t// Open the popup form to allow the user to create the event\n\t\t\t\t$.fancybox.open( createEventPopup + '</form>' );\n\t\t\t\t$(\"[class|='fancybox-close-small']\").attr(\"type\", \"button\");\n\t\t\t\t// Handle token input type\n\t\t\t\t$(':input').each( function() {\n\t\t\t\t\ttokensProto = new pf.select2.tokens();\n\t\t\t\t\tif ( $( this ).hasClass( 'pfTokens' ) ){\n\t\t\t\t\t\ttokensProto.apply( $(this) );\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\t// Handling the text with autocomplete\n\t\t\t\t$('#popupForm').find(\".autocompleteInput\").each( function() {\n\t\t\t\t\t$(this).attachAutocomplete();\n\t\t\t\t});\n\t\t\t\t// Handle combobox input type\n\t\t\t\t// $(':input').each( function() {\n\t\t\t\t// \tcomboboxProto = new pf.select2.combobox();\n\t\t\t\t// \tif ( $( this ).hasClass( 'pfComboBox' ) ){\n\t\t\t\t// \t\tcomboboxProto.apply( $(this) );\n\t\t\t\t// \t}\n\t\t\t\t// });\n\n\t\t\t\t// Handle the tree input types\n\t\t\t\t$('#popupForm').find(\".pfTreeInput\").each( function() {\n\t\t\t\t\t$(this).applyJSTree();\n\t\t\t\t});\n\t\t\t\t$('#popupForm').find(\".pfRating\").each( function() {\n\t\t\t\t\t$(this).applyRatingInput();\n\t\t\t\t});\n\t\t\t\t// Check if the event is only one day long\n\t\t\t\t// For current code - it is required to see if the event is one day long or not.\n\t\t\t\t// In future the code can be reduced and this if-else condition can be removed\n\t\t\t\tif ( flagOneDayEvent === true ) {\n\t\t\t\t\tidForm = start.format() + \"_fc\" + counter;\n\t\t\t\t\t// Atuomatically set the event date value\n\t\t\t\t\t$( ':input[name=\"' + autoFillDay + '\"]' ).val( start.format( 'DD' ) );\n\t\t\t\t\t$( ':input[name=\"' + autoFillYear + '\"]' ).val( start.format( 'YYYY' ) );\n\t\t\t\t\tif ( mw.config.get('wgAmericanDates') ) { //check for date-style format.\n\t\t\t\t\t\t$( ':input[name=\"' + autoFillMonth + '\"]' ).val( englishMonthNames[parseInt( start.format( 'MM' ) ) -1 ] );\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$( ':input[name=\"' + autoFillMonth + '\"]' ).val( start.format( 'MM' ) );\n\t\t\t\t\t}\n\t\t\t\t\tcheckAndSave( 'single' );\n\t\t\t\t\t// Save all the data of the popup form and set the title, event date and the unique ID of the event\n\t\t\t\t\t$( \"#form_submit\" ).click(( event ) => {\n\t\t\t\t\t\tsaveData( 'single' );\n\t\t\t\t\t\tresetDateAndTime();\n\t\t\t\t\t\tsetDateAndTime( dateFields );\n\t\t\t\t\t\teventDate = eventDateYear + '-' + eventDateMonth + '-' + eventDateDay;\n\t\t\t\t\t\treserveDate = eventDate;\n\t\t\t\t\t\teventDate = checkDateTime( dateFields, eventDate );\n\t\t\t\t\t\teventData = {\n\t\t\t\t\t\t\ttitle: data[titleIndex].value,\n\t\t\t\t\t\t\tstart: eventDate,\n\t\t\t\t\t\t\tend: reserveDate + 'T23:59:59',\n\t\t\t\t\t\t\tcontents: data,\n\t\t\t\t\t\t\tid:idForm\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tcounter++;\n\t\t\t\t\t\t$( '.fancybox-close-small' ).click();\n\t\t\t\t\t\t$( calendarIdSelector ).fullCalendar( 'renderEvent', eventData, true );\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tidForm = start.format() + \"_fc\" + counter;\n\t\t\t\t\tcurrentEndDateMoment = moment(end);\n\t\t\t\t\tcurrentEndDateMoment = currentEndDateMoment.subtract(1 , 'days');\n\t\t\t\t\t$( ':input[name=\"' + autoFillStartDay + '\"]' ).val( Number(start.format( 'DD' )) );\n\t\t\t\t\t$( ':input[name=\"' + autoFillStartYear + '\"]' ).val( start.format( 'YYYY' ) );\n\t\t\t\t\tif ( mw.config.get('wgAmericanDates') ) { //check for date-style format.\n\t\t\t\t\t\t$( ':input[name=\"' + autoFillStartMonth + '\"]' ).val( englishMonthNames[parseInt( start.format( 'MM' ) ) -1 ] );\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$( ':input[name=\"' + autoFillStartMonth + '\"]' ).val( start.format( 'MM' ) );\n\t\t\t\t\t}\n\t\t\t\t\t$( ':input[name=\"' + autoFillEndDay + '\"]' ).val( Number(currentEndDateMoment.format( 'DD' )) );\n\t\t\t\t\t$( ':input[name=\"' + autoFillEndYear + '\"]' ).val( currentEndDateMoment.format( 'YYYY' ) );\n\t\t\t\t\tif ( mw.config.get('wgAmericanDates') ) { //check for date-style format.\n\t\t\t\t\t\t$( ':input[name=\"' + autoFillEndMonth + '\"]' ).val( englishMonthNames[parseInt( currentEndDateMoment.format( 'MM' ) ) -1 ] );\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$( ':input[name=\"' + autoFillEndMonth + '\"]' ).val( currentEndDateMoment.format( 'MM' ) );\n\t\t\t\t\t}\n\n\t\t\t\t\tcheckAndSave( 'multiple' );\n\t\t\t\t\t$( \"#form_submit\" ).click(( event ) => {\n\t\t\t\t\t\tsaveData( 'multiple' );\n\t\t\t\t\t\tresetDateAndTime();\n\t\t\t\t\t\tsetDateAndTime( dateStartFields, '1' );\n\t\t\t\t\t\teventStartDate = eventDateYear + '-' + eventDateMonth + '-' + eventDateDay;\n\t\t\t\t\t\treserveDate = eventStartDate;\n\t\t\t\t\t\teventStartDate = checkDateTime( dateStartFields, eventStartDate );\n\t\t\t\t\t\tresetDateAndTime();\n\t\t\t\t\t\tsetDateAndTime( dateEndFields, '2' );\n\t\t\t\t\t\teventEndDate = eventDateYear + '-' + eventDateMonth + '-' + eventDateDay;\n\t\t\t\t\t\treserveDate = eventEndDate;\n\t\t\t\t\t\teventEndDate = checkDateTime( dateEndFields, eventEndDate );\n\n\t\t\t\t\t\tif ( fieldType[eventEndDateField] === 'date' ) {\n\t\t\t\t\t\t\tdateElement = new Date(eventEndDate);\n\t\t\t\t\t\t\tnextDate = new Date(dateElement.setDate(dateElement.getDate() + 1));\n\t\t\t\t\t\t\tformatted = nextDate.getUTCFullYear() + '-' + padNumber(nextDate.getUTCMonth() + 1) + '-' + padNumber(nextDate.getUTCDate());\n\t\t\t\t\t\t\teventEndDate = formatted;\n\t\t\t\t\t\t}\n\t\t\t\t\t\teventData = {\n\t\t\t\t\t\t\ttitle: data[titleIndex].value,\n\t\t\t\t\t\t\tstart: eventStartDate,\n\t\t\t\t\t\t\tend: eventEndDate,\n\t\t\t\t\t\t\tresourceEditable:true,\n\t\t\t\t\t\t\tcontents: data,\n\t\t\t\t\t\t\tid:idForm\n\t\t\t\t\t\t};\n\t\t\t\t\t\tcounter++;\n\t\t\t\t\t\t$( '.fancybox-close-small' ).click();\n\t\t\t\t\t\t$( calendarIdSelector ).fullCalendar( 'renderEvent', eventData, true );\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t// // Edit an event placed on the calendar by simply clicking on it\n\t\t\teventClick: function( info ) {\n\t\t\t\tconst content = $( calendarIdSelector ).fullCalendar( 'clientEvents', info.id );\n\t\t\t\tconst formContents = content[0].contents;\n\t\t\t\tconst ratingArr = [];\n\t\t\t\tcheckboxesValues = [];\n\t\t\t\tlet paramName, rateSample = 0;\n\t\t\t\t// Open the popup form and populate it with the values to allow editing\n\t\t\t\t$.fancybox.open( updateEventPopup + deleteButton + '</form>' );\n\t\t\t\t$(\"[class|='fancybox-close-small']\").attr(\"type\", \"button\");\n\n\t\t\t\t$('#popupForm').find(\".pfTreeInput\").each( function() {\n\t\t\t\t\t$(this).applyFancytree();\n\t\t\t\t});\n\n\t\t\t\t// Prepare the popup form for editing\n\t\t\t\tfor( i = 0; i < formContents.length; i++ ) {\n\t\t\t\t\ttemp = formContents[i].name;\n\t\t\t\t\tparamName = temp.split('[')[2].split(']')[0];\n\t\t\t\t\t// If there is a month field, set according to the date format\n\t\t\t\t\tif ( temp.includes('month') ) {\n\t\t\t\t\t\tif ( mw.config.get('wgAmericanDates') ) { //check for date-style format.\n\t\t\t\t\t\t\tif ( englishMonthNames.includes(formContents[i].value) ) {\n\t\t\t\t\t\t\t\t$(':input[name=\"'+temp+'\"]').val( formContents[i].value );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t$(':input[name=\"'+temp+'\"]').val( englishMonthNames[ parseInt(formContents[i].value) - 1] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$(':input[name=\"'+temp+'\"]').val(formContents[i].value);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if ( temp.includes('day') ) {\n\t\t\t\t\t\t$(':input[name=\"'+temp+'\"]').val( Number(formContents[i].value) );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif(fieldType[paramName] === 'radiobutton' || fieldType[paramName] === 'checkbox' || fieldType[paramName] === 'checkboxes' || fieldType[paramName] === 'listbox' ) {\n\t\t\t\t\t\t\tif( fieldType[paramName] === 'radiobutton' ) {\n\t\t\t\t\t\t\t\t$(':input[value=\"' + formContents[i].value + '\"]').attr('checked',true);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif( fieldType[paramName] === 'checkbox' && !temp.includes('[is_checkbox]')) {\n\t\t\t\t\t\t\t\ttemp = temp.replace('[value]','');\n\t\t\t\t\t\t\t\ttemp = temp.replace('[is_checkbox]','');\n\t\t\t\t\t\t\t\ttemp+='[is_checkbox]';\n\t\t\t\t\t\t\t\tconst checkId1 = ($(':hidden[name=\"'+temp+'\"]')[0].nextElementSibling.id);\n\t\t\t\t\t\t\t\t$('#'+ checkId1).prop('checked',formContents[i].value);\n\t\t\t\t\t\t\t\t$(':hidden[name=\"'+temp+'\"]').attr('value',0);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif( fieldType[paramName] === 'checkboxes' && !temp.includes('[is_list]')) {\n\t\t\t\t\t\t\t\tif( formContents[i].value.includes(',') ) {\n\t\t\t\t\t\t\t\t\tcheckboxesValues = formContents[i].value.split(', ');\n\t\t\t\t\t\t\t\t\tfor( let p = 0; p<checkboxesValues.length; p++ ) {\n\t\t\t\t\t\t\t\t\t\t$(':input[value=\"' + checkboxesValues[p] + '\"]').attr('checked',true);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t$(':input[value=\"' + formContents[i].value + '\"]').attr('checked',true);\n\t\t\t\t\t\t\t\t\t// checkboxes_values.push(formContents[i].value);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif( fieldType[paramName] === 'listbox' && !temp.includes('[is_list]')) {\n\t\t\t\t\t\t\t\tif( formContents[i].value.includes(',') ) {\n\t\t\t\t\t\t\t\t\tlistboxValues = formContents[i].value.split(', ');\n\t\t\t\t\t\t\t\t\tfor( let list = 0; list<listboxValues.length; list++ ) {\n\t\t\t\t\t\t\t\t\t\t$('option[value=\"' + listboxValues[list] + '\"]').attr(\"selected\", \"selected\");\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t$('option[value=\"' + formContents[i].value + '\"]').attr(\"selected\", \"selected\");\n\t\t\t\t\t\t\t\t\t// checkboxes_values.push(form_contents[i].value);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$(':input[name=\"'+temp+'\"]').val( formContents[i].value );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif( fieldType[paramName] === 'rating' ) {\n\t\t\t\t\t\t\tratingArr.push( formContents[i].value );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// checkboxesNum.push(checkboxes_values);\n\t\t\t\t}\n\t\t\t\t// This is my little experiment to include rating input type to the calendar interface\n\t\t\t\t// This can improve in future version of this file.\n\t\t\t\t// I have saved the rating values in the ratingArr and just filling it in the 'each'\n\t\t\t\t// This may seem like a risky bet..\n\t\t\t\t$('#popupForm').find(\".pfRating\").each( function() {\n\t\t\t\t\t$(this).applyRatingInput( ratingArr[rateSample] );\n\t\t\t\t\trateSample++;\n\t\t\t\t});\n\t\t\t\t// Handling the text with autocomplete\n\t\t\t\t$('#popupForm').find(\".autocompleteInput\").each( function() {\n\t\t\t\t\t$(this).attachAutocomplete();\n\t\t\t\t});\n\n\t\t\t\t// Handling token input type\n\t\t\t\t$(':input').each(function() {\n\t\t\t\t\ttokensProto = new pf.select2.tokens();\n\t\t\t\t\tif ( $( this ).hasClass( 'pfTokens' ) ) {\n\t\t\t\t\t\ttokensProto.apply( $(this) );\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\t// FIXME: This is not yet working correctly - possibly due\n\t\t\t\t// to z-index of fancybox popup or select2\n\t\t\t\t// $(':input').each( function() {\n\t\t\t\t// \tcomboboxProto = new pf.select2.combobox();\n\t\t\t\t// \tif ( $( this ).hasClass( 'pfComboBox' ) ) {\n\t\t\t\t// \t\tcomboboxProto.apply( $(this) );\n\t\t\t\t// \t}\n\t\t\t\t// });\n\t\t\t\t// Delete button for the existing event\n\t\t\t\t$( \"#event_delete\" ).click(( event ) => {\n\t\t\t\t\t$( calendarIdSelector ).fullCalendar('removeEvents',info.id);\n\t\t\t\t\t$( '.fancybox-close-small' ).click();\n\t\t\t\t});\n\n\t\t\t\tif ( flagOneDayEvent === true ) {\n\t\t\t\t\t// Check if the date fields are left empty or not\n\t\t\t\t\tcheckAndSave( 'single' );\n\t\t\t\t\t// Save everything again once the submit button is pressed\n\t\t\t\t\t$( \"#form_submit\" ).click(( event ) => {\n\t\t\t\t\t\tsaveData( 'single' );\n\t\t\t\t\t\tresetDateAndTime();\n\t\t\t\t\t\tsetDateAndTime( dateFields );\n\t\t\t\t\t\teventDate = eventDateYear + '-' + padNumber(eventDateMonth) + '-' + padNumber(eventDateDay);\n\t\t\t\t\t\teventDate = checkDateTime( dateFields, eventDate );\n\t\t\t\t\t\tinfo.title = data[titleIndex].value;\n\t\t\t\t\t\tinfo.contents = data;\n\t\t\t\t\t\tinfo.start = eventDate;\n\t\t\t\t\t\t$('.fancybox-close-small').click();\n\t\t\t\t\t\t$( calendarIdSelector ).fullCalendar( 'updateEvent' , info , true );\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tconst end = info.end;\n\t\t\t\t\tconst start = info.start;\n\t\t\t\t\tcheckAndSave( 'multiple' );\n\t\t\t\t\t$( \"#form_submit\" ).click(( event ) => {\n\t\t\t\t\t\tsaveData( 'multiple' );\n\t\t\t\t\t\tresetDateAndTime();\n\t\t\t\t\t\tsetDateAndTime( dateStartFields , '1' );\n\t\t\t\t\t\teventStartDate = eventDateYear + '-' + eventDateMonth + '-' + eventDateDay;\n\t\t\t\t\t\teventStartDate = checkDateTime( dateStartFields, eventStartDate );\n\n\t\t\t\t\t\tresetDateAndTime();\n\t\t\t\t\t\tsetDateAndTime( dateEndFields , '2' );\n\t\t\t\t\t\teventEndDate = eventDateYear + '-' + eventDateMonth + '-' + eventDateDay;\n\t\t\t\t\t\teventEndDate = checkDateTime( dateEndFields, eventEndDate );\n\n\t\t\t\t\t\tif ( fieldType[eventEndDateField] === 'date' ) {\n\t\t\t\t\t\t\tdateElement = new Date(eventEndDate);\n\t\t\t\t\t\t\tnextDate = new Date(dateElement.setDate(dateElement.getDate() + 1));\n\t\t\t\t\t\t\tformatted = nextDate.getUTCFullYear() + '-' + padNumber(nextDate.getUTCMonth() + 1) + '-' + padNumber(nextDate.getUTCDate());\n\t\t\t\t\t\t\teventEndDate = formatted;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tinfo.title = data[titleIndex].value;\n\t\t\t\t\t\tinfo.contents = data;\n\t\t\t\t\t\tinfo.start = eventStartDate;\n\t\t\t\t\t\tinfo.end = eventEndDate;\n\t\t\t\t\t\t$( '.fancybox-close-small') .click();\n\t\t\t\t\t\t$( calendarIdSelector ).fullCalendar( 'updateEvent', info, true );\n\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\n\t\t\teventResize: function(event) {\n\t\t\t\tevent.start._i = event.start.format();\n\t\t\t\tevent.end._i = event.end.format();\n\t\t\t\tcurrentEndDateMoment = moment(event.end);\n\t\t\t\tif( fieldType[eventStartDateField] === 'date' && event.allDay ) {\n\t\t\t\t\tcurrentEndDateMoment = currentEndDateMoment.subtract(1 , 'days');\n\t\t\t\t}\n\n\t\t\t\teventContents = event.contents;\n\t\t\t\tfor ( i = 0; i < eventContents.length; i++ ) {\n\t\t\t\t\tif ( eventContents[i].name === autoFillStartDay ) {\n\t\t\t\t\t\teventContents[i].value = event.start.format('DD');\n\t\t\t\t\t} else if ( eventContents[i].name === autoFillStartMonth ) {\n\t\t\t\t\t\tif ( mw.config.get('wgAmericanDates') ) {\n\t\t\t\t\t\t\teventContents[i].value = englishMonthNames[ parseInt(event.start.format('MM')) - 1 ];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\teventContents[i].value = event.start.format('MM');\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if ( eventContents[i].name === autoFillStartYear ) {\n\t\t\t\t\t\teventContents[i].value = event.start.format('YYYY');\n\t\t\t\t\t} else if ( eventContents[i].name === autoFillEndDay ) {\n\t\t\t\t\t\teventContents[i].value = currentEndDateMoment.format('DD');\n\t\t\t\t\t} else if ( eventContents[i].name === autoFillEndMonth ) {\n\t\t\t\t\t\tif ( mw.config.get('wgAmericanDates') ) {\n\t\t\t\t\t\t\teventContents[i].value = englishMonthNames[ parseInt(currentEndDateMoment.format('MM')) - 1 ];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\teventContents[i].value = currentEndDateMoment.format('MM');\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if ( eventContents[i].name === autoFillEndYear ) {\n\t\t\t\t\t\teventContents[i].value = currentEndDateMoment.format('YYYY');\n\t\t\t\t\t} else if ( eventContents[i].name === autoFillStartHour ) {\n\t\t\t\t\t\teventContents[i].value = event.start.format('hh');\n\t\t\t\t\t} else if ( eventContents[i].name === autoFillStartMinute ) {\n\t\t\t\t\t\teventContents[i].value = event.start.format('mm');\n\t\t\t\t\t} else if ( eventContents[i].name === autoFillStartSecond ) {\n\t\t\t\t\t\teventContents[i].value = event.start.format('ss');\n\t\t\t\t\t} else if ( eventContents[i].name === autoFillStartAmPm24h ) {\n\t\t\t\t\t\teventContents[i].value = ( event.start.format('t') === 'p' ? 'PM' : 'AM' );\n\t\t\t\t\t} else if ( eventContents[i].name === autoFillEndHour ) {\n\t\t\t\t\t\teventContents[i].value = event.end.format('hh');\n\t\t\t\t\t} else if ( eventContents[i].name === autoFillEndMinute ) {\n\t\t\t\t\t\teventContents[i].value = event.end.format('mm');\n\t\t\t\t\t} else if ( eventContents[i].name === autoFillEndSecond ) {\n\t\t\t\t\t\teventContents[i].value = event.end.format('ss');\n\t\t\t\t\t} else if ( eventContents[i].name === autoFillEndAmPm24h ) {\n\t\t\t\t\t\teventContents[i].value = ( event.end.format('t') === 'p' ? 'PM' : 'AM' );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tevent.contents = eventContents;\n\t\t\t\t$( calendarIdSelector ).fullCalendar('updateEvent',event);\n\n\t\t\t},\n\n\t\t\teventDrop: function( event, delta, revertFunc ) {\n\t\t\t\tconst oldEvent = $( calendarIdSelector ).fullCalendar( 'clientEvents', event.id );\n\t\t\t\t$( calendarIdSelector ).fullCalendar('removeEvents',oldEvent[0].id);\n\t\t\t\tevent.start._i = event.start.format();\n\n\t\t\t\tif ( flagOneDayEvent === false ) {\n\t\t\t\t\tif ( event.end !== null ) {\n\t\t\t\t\t\tevent.end._i = event.end.format() ;\n\t\t\t\t\t\tcurrentEndDateMoment = moment(event.end);\n\t\t\t\t\t\tif( fieldType[eventStartDateField] === 'date' && event.allDay ) {\n\t\t\t\t\t\t\tcurrentEndDateMoment = currentEndDateMoment.subtract(1 , 'days');\n\t\t\t\t\t\t}\n\t\t\t\t\t\teventContents = event.contents;\n\t\t\t\t\t\tfor( i = 0; i<eventContents.length; i++ ) {\n\t\t\t\t\t\t\tif ( eventContents[i].name === autoFillStartDay ) {\n\t\t\t\t\t\t\t\teventContents[i].value = event.start.format('DD');\n\t\t\t\t\t\t\t} else if ( eventContents[i].name === autoFillStartMonth ) {\n\t\t\t\t\t\t\t\tif ( mw.config.get('wgAmericanDates') ) {\n\t\t\t\t\t\t\t\t\teventContents[i].value = englishMonthNames[ parseInt( event.start.format('MM')) - 1 ];\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\teventContents[i].value = event.start.format('MM');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if ( eventContents[i].name === autoFillStartYear ) {\n\t\t\t\t\t\t\t\teventContents[i].value = event.start.format('YYYY');\n\t\t\t\t\t\t\t} else if ( eventContents[i].name === autoFillEndDay ) {\n\t\t\t\t\t\t\t\teventContents[i].value = currentEndDateMoment.format('DD');\n\t\t\t\t\t\t\t} else if ( eventContents[i].name === autoFillEndMonth ) {\n\t\t\t\t\t\t\t\tif ( mw.config.get('wgAmericanDates') ) {\n\t\t\t\t\t\t\t\t\teventContents[i].value = englishMonthNames[ parseInt(currentEndDateMoment.format('MM')) - 1 ];\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\teventContents[i].value = currentEndDateMoment.format('MM');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if ( eventContents[i].name === autoFillEndYear ) {\n\t\t\t\t\t\t\t\teventContents[i].value = currentEndDateMoment.format('YYYY');\n\t\t\t\t\t\t\t} else if ( eventContents[i].name === autoFillStartHour ) {\n\t\t\t\t\t\t\t\teventContents[i].value = event.start.format('hh');\n\t\t\t\t\t\t\t} else if ( eventContents[i].name === autoFillStartMinute ) {\n\t\t\t\t\t\t\t\teventContents[i].value = event.start.format('mm');\n\t\t\t\t\t\t\t} else if ( eventContents[i].name === autoFillStartSecond ) {\n\t\t\t\t\t\t\t\teventContents[i].value = event.start.format('ss');\n\t\t\t\t\t\t\t} else if ( eventContents[i].name === autoFillStartAmPm24h ) {\n\t\t\t\t\t\t\t\teventContents[i].value = ( event.start.format('t') ==='p' ? 'PM' : 'AM' );\n\t\t\t\t\t\t\t} else if ( eventContents[i].name === autoFillEndHour ) {\n\t\t\t\t\t\t\t\teventContents[i].value = event.end.format('hh');\n\t\t\t\t\t\t\t} else if ( eventContents[i].name === autoFillEndMinute ) {\n\t\t\t\t\t\t\t\teventContents[i].value = event.end.format('mm');\n\t\t\t\t\t\t\t} else if ( eventContents[i].name === autoFillEndSecond ) {\n\t\t\t\t\t\t\t\teventContents[i].value = event.end.format('ss');\n\t\t\t\t\t\t\t} else if ( eventContents[i].name === autoFillEndAmPm24h ) {\n\t\t\t\t\t\t\t\teventContents[i].value = ( event.end.format('t') ==='p' ? 'PM' : 'AM' );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\teventContents = event.contents;\n\t\t\t\t\t\tfor ( i = 0; i < eventContents.length; i++ ) {\n\t\t\t\t\t\t\tif ( eventContents[i].name === autoFillStartDay ) {\n\t\t\t\t\t\t\t\teventContents[i].value = event.start.format('DD');\n\t\t\t\t\t\t\t} else if ( eventContents[i].name === autoFillStartMonth ) {\n\t\t\t\t\t\t\t\tif ( mw.config.get('wgAmericanDates') ) {\n\t\t\t\t\t\t\t\t\teventContents[i].value = englishMonthNames[ parseInt( event.start.format('MM')) - 1 ];\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\teventContents[i].value = event.start.format('MM');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if ( eventContents[i].name === autoFillStartYear ) {\n\t\t\t\t\t\t\t\teventContents[i].value = event.start.format('YYYY');\n\t\t\t\t\t\t\t} else if ( eventContents[i].name === autoFillEndDay ) {\n\t\t\t\t\t\t\t\teventContents[i].value = event.start.format('DD');\n\t\t\t\t\t\t\t} else if ( eventContents[i].name === autoFillEndMonth ) {\n\t\t\t\t\t\t\t\tif ( mw.config.get('wgAmericanDates') ) {\n\t\t\t\t\t\t\t\t\teventContents[i].value = englishMonthNames[ parseInt( event.start.format('MM')) - 1 ];\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\teventContents[i].value = event.start.format('MM');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if ( eventContents[i].name === autoFillEndYear ) {\n\t\t\t\t\t\t\t\teventContents[i].value = event.start.format('YYYY');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t} else {\n\t\t\t\t\teventContents = event.contents;\n\t\t\t\t\tevent.end._i = event.start.format( 'YYYY' ) + '-' + event.start.format('MM') + '-' + event.start.format('DD') + \"T23:59:59\";\n\t\t\t\t\tfor( i = 0; i<eventContents.length; i++ ) {\n\t\t\t\t\t\tif ( eventContents[i].name === autoFillDay ) {\n\t\t\t\t\t\t\teventContents[i].value = event.start.format('DD');\n\t\t\t\t\t\t} else if ( eventContents[i].name === autoFillMonth ) {\n\t\t\t\t\t\t\tif ( mw.config.get('wgAmericanDates') ) {\n\t\t\t\t\t\t\t\teventContents[i].value = englishMonthNames[ parseInt( event.start.format('MM')) - 1 ];\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\teventContents[i].value = event.start.format('MM');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if ( eventContents[i].name === autoFillYear ) {\n\t\t\t\t\t\t\teventContents[i].value = event.start.format('YYYY');\n\t\t\t\t\t\t} else if ( eventContents[i].name === autoFillHour ) {\n\t\t\t\t\t\t\teventContents[i].value = event.start.format('hh');\n\t\t\t\t\t\t} else if ( eventContents[i].name === autoFillMinute ) {\n\t\t\t\t\t\t\teventContents[i].value = event.start.format('mm');\n\t\t\t\t\t\t} else if ( eventContents[i].name === autoFillSecond ) {\n\t\t\t\t\t\t\teventContents[i].value = event.start.format('ss');\n\t\t\t\t\t\t} else if ( eventContents[i].name === autoFillAmPm24h ) {\n\t\t\t\t\t\t\teventContents[i].value = ( event.start.format('t') ==='p' ? 'PM' : 'AM' );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t$( calendarIdSelector ).fullCalendar( 'renderEvent', event, true );\n\t\t\t},\n\t\t\tdisplayEventEnd: isEventEndDateTime,\n\t\t\ttimeFormat: 'H(:mm:ss)t',\n\t\t\teventDurationEditable: true,\n\t\t\tdisplayEventTime: isEventStartTime\n\t\t});\n\t\t$('#fullCalendarLoading').css(\"display\", \"none\");\n\n\t\t// Handle the \"Save page\" button\n\t\t$( \"#pfForm\" ).submit(( event ) => {\n\t\t\tallEvents = $( calendarIdSelector ).fullCalendar('clientEvents');\n\t\t\tlet dateValue = '';\n\t\t\tlet day = '';\n\t\t\tlet month = '';\n\t\t\tlet year = '';\n\t\t\tlet hour = '';\n\t\t\tlet minute = '';\n\t\t\tlet second = '';\n\t\t\tampm24h = ' ';\n\t\t\tfor( i =0;i<allEvents.length;i++ ) {\n\t\t\t\tconst eventContent = allEvents[i].contents;\n\t\t\t\tconst finalFieldValues = [];\n\t\t\t\tfor( let ii=0; ii < calendarParams[templateName].length; ii++ ) {\n\t\t\t\t\tparameterName = calendarParams[templateName][ii].name;\n\t\t\t\t\tlet inputValue = '';\n\t\t\t\t\tif( fieldType[parameterName] === \"date\" ) {\n\t\t\t\t\t\tdateValue = '';\n\t\t\t\t\t\tday = '';\n\t\t\t\t\t\tmonth = '';\n\t\t\t\t\t\tyear = '';\n\t\t\t\t\t\tfor ( j = 0; j < eventContent.length; j++ ) {\n\t\t\t\t\t\t\tif( eventContent[j].name.includes('['+parameterName+']') ) {\n\t\t\t\t\t\t\t\tif( eventContent[j].name.includes('[day]') ) {\n\t\t\t\t\t\t\t\t\tday = eventContent[j].value.replace(/(^|-)0+/g, \"$1\");\n\t\t\t\t\t\t\t\t} else if( eventContent[j].name.includes('[year]') ) {\n\t\t\t\t\t\t\t\t\tyear = eventContent[j].value;\n\t\t\t\t\t\t\t\t} else if( eventContent[j].name.includes('[month]') ) {\n\t\t\t\t\t\t\t\t\tmonth = eventContent[j].value;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( mw.config.get('wgAmericanDates') ) {\n\t\t\t\t\t\t\tif( englishMonthNames.indexOf(month) ) {\n\t\t\t\t\t\t\t\tdateValue = month + ' ' + day + ', ' + year;\n\t\t\t\t\t\t\t} else if ( !englishMonthNames.includes(month) ) {\n\t\t\t\t\t\t\t\tdateValue = englishMonthNames[ parseInt(month) - 1 ] + ' ' + day + ', ' + year;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdateValue = year + '/' + month + '/' + padNumber(day);\n\t\t\t\t\t\t\tif( year === '' && month === '' && day === '' || year === '' && month === '' ) {\n\t\t\t\t\t\t\t\tdateValue = '';\n\t\t\t\t\t\t\t} else if ( day === '' ) {\n\t\t\t\t\t\t\t\tif( month === '' && year !== '' ) {\n\t\t\t\t\t\t\t\t\tdateValue = month;\n\t\t\t\t\t\t\t\t} else if ( month !== '' && year === '' ) {\n\t\t\t\t\t\t\t\t\tdateValue = year;\n\t\t\t\t\t\t\t\t} else if ( month !== '' && year !== '' ) {\n\t\t\t\t\t\t\t\t\tdateValue = month + ' ' + year;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tinputValue = dateValue;\n\t\t\t\t\t} else if ( fieldType[parameterName] === \"datetime\" ) {\n\t\t\t\t\t\tdateValue = '';\n\t\t\t\t\t\tday = '';\n\t\t\t\t\t\tmonth = '';\n\t\t\t\t\t\tyear = '';\n\t\t\t\t\t\thour = '';\n\t\t\t\t\t\tminute = '';\n\t\t\t\t\t\tsecond = '';\n\t\t\t\t\t\tampm24h = ' ';\n\t\t\t\t\t\tfor( j = 0; j < eventContent.length; j++ ) {\n\t\t\t\t\t\t\tif( eventContent[j].name.includes('['+parameterName+']') ) {\n\t\t\t\t\t\t\t\tif( eventContent[j].name.includes('[day]') ) {\n\t\t\t\t\t\t\t\t\tday = eventContent[j].value.replace(/(^|-)0+/g, \"$1\");\n\t\t\t\t\t\t\t\t} else if( eventContent[j].name.includes('[year]') ) {\n\t\t\t\t\t\t\t\t\tyear = eventContent[j].value;\n\t\t\t\t\t\t\t\t} else if( eventContent[j].name.includes('[month]') ) {\n\t\t\t\t\t\t\t\t\tmonth = eventContent[j].value;\n\t\t\t\t\t\t\t\t} else if( eventContent[j].name.includes('[hour]') ) {\n\t\t\t\t\t\t\t\t\thour = eventContent[j].value;\n\t\t\t\t\t\t\t\t} else if( eventContent[j].name.includes('[minute]') ) {\n\t\t\t\t\t\t\t\t\tminute = eventContent[j].value;\n\t\t\t\t\t\t\t\t} else if( eventContent[j].name.includes('[second]') ) {\n\t\t\t\t\t\t\t\t\tsecond = eventContent[j].value;\n\t\t\t\t\t\t\t\t} else if( eventContent[j].name.includes('[ampm24h]') ) {\n\t\t\t\t\t\t\t\t\tampm24h = (eventContent[j].value !== '' ) ? eventContent[j].value : ' ';\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( mw.config.get('wgAmericanDates') ) {\n\t\t\t\t\t\t\tif( englishMonthNames.indexOf(month) ) {\n\t\t\t\t\t\t\t\tdateValue = month + ' ' + day + ', ' + year + ' ' + padNumber(hour) + ':' + padNumber(minute) + ':' + padNumber(second) + ' ' + ampm24h;\n\t\t\t\t\t\t\t} else if ( !englishMonthNames.includes(month) ) {\n\t\t\t\t\t\t\t\tdateValue = englishMonthNames[ parseInt(month) - 1 ] + ' ' + day + ', ' + year + ' ' + padNumber(hour) + ':' + padNumber(minute) + ':' + padNumber(second) + ' ' + ampm24h;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdateValue = year + '/' + month + '/' + padNumber( day ) + ' ' + padNumber(hour) + ':' + padNumber(minute) + ':' + padNumber(second) + ' ' + ampm24h;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tinputValue = dateValue;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlet checkboxesFinal = '';\n\t\t\t\t\t\tcheckboxesNum= [];\n\t\t\t\t\t\tif ( fieldType[parameterName] === 'checkboxes' || fieldType[parameterName] === 'listbox' ) {\n\t\t\t\t\t\t\tfor ( j = 0; j < eventContent.length; j++ ) {\n\t\t\t\t\t\t\t\tif ( eventContent[j].name.includes('['+parameterName+']') && !eventContent[j].name.includes('[is_list]') ) {\n\t\t\t\t\t\t\t\t\tcheckboxesNum.push(eventContent[j].value);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tfor ( let t = 0; t < checkboxesNum.length; t++ ) {\n\t\t\t\t\t\t\t\tif( t < checkboxesNum.length -1 ) {\n\t\t\t\t\t\t\t\t\tcheckboxesFinal += checkboxesNum[t] + ', ';\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tcheckboxesFinal += checkboxesNum[t];\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tinputValue = checkboxesFinal;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tfor ( j = 0; j < eventContent.length; j++ ) {\n\t\t\t\t\t\t\t\tif ( eventContent[j].name.includes('['+parameterName+']') ) {\n\t\t\t\t\t\t\t\t\tinputValue = eventContent[j].value;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tconst inputName = templateName + '['+ (i+1) +'][' + parameterName + ']';\n\t\t\t\t\tfinalFieldValues[inputName] = inputValue;\n\t\t\t\t\t$('<input>').attr( 'type', 'hidden' ).attr( 'name', inputName ).attr( 'value',finalFieldValues[inputName] ).appendTo( '#pfForm' );\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor ( let k = 0; k < eventsNoDate.length; k++ ) {\n\t\t\t\tconst index = i+1;\n\t\t\t\tfor( let jj = 0; jj < calendarParams[templateName].length; jj++ ) {\n\t\t\t\t\tparameterName = calendarParams[templateName][jj].name;\n\t\t\t\t\tconst entryName = templateName + '['+ (index) +'][' + parameterName + ']';\n\t\t\t\t\t$('<input>').attr( 'type', 'hidden' ).attr( 'name', entryName ).attr( 'value',eventsNoDate[k][parameterName] ).appendTo( '#pfForm' );\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t});\n}( jQuery, mediaWiki, pf ) );\n","usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/libs/PF_PageSchemas.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/libs/PF_SpreadsheetAutocompleteWidget.js","messages":[{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":14,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":19,"endColumn":4},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":40,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":44,"endColumn":17},{"ruleId":"prefer-const","severity":1,"message":"'deferred' is never reassigned. Use 'const' instead.","line":42,"column":3,"nodeType":"Identifier","messageId":"useConst","endLine":42,"endColumn":11},{"ruleId":"prefer-const","severity":1,"message":"'api' is never reassigned. Use 'const' instead.","line":52,"column":2,"nodeType":"Identifier","messageId":"useConst","endLine":52,"endColumn":5},{"ruleId":"prefer-const","severity":1,"message":"'requestParams' is never reassigned. Use 'const' instead.","line":53,"column":2,"nodeType":"Identifier","messageId":"useConst","endLine":53,"endColumn":15},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":61,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":61,"endColumn":73},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":69,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":69,"endColumn":101},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":71,"column":8,"nodeType":"MemberExpression","messageId":"forbidden","endLine":71,"endColumn":36},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":71,"column":8,"nodeType":"MemberExpression","messageId":"forbidden","endLine":71,"endColumn":36},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":76,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":76,"endColumn":54},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":77,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":77,"endColumn":63},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":99,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":100,"endColumn":14},{"ruleId":"prefer-const","severity":1,"message":"'items' is never reassigned. Use 'const' instead.","line":100,"column":3,"nodeType":"Identifier","messageId":"useConst","endLine":100,"endColumn":8},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":114,"column":9,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":114,"endColumn":18},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":122,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":126,"endColumn":16},{"ruleId":"prefer-const","severity":1,"message":"'self' is never reassigned. Use 'const' instead.","line":122,"column":7,"nodeType":"Identifier","messageId":"useConst","endLine":122,"endColumn":11},{"ruleId":"prefer-const","severity":1,"message":"'wgPageFormsEDSettings' is never reassigned. Use 'const' instead.","line":123,"column":4,"nodeType":"Identifier","messageId":"useConst","endLine":123,"endColumn":25},{"ruleId":"prefer-const","severity":1,"message":"'name' is never reassigned. Use 'const' instead.","line":124,"column":4,"nodeType":"Identifier","messageId":"useConst","endLine":124,"endColumn":8},{"ruleId":"prefer-const","severity":1,"message":"'edgValues' is never reassigned. Use 'const' instead.","line":125,"column":4,"nodeType":"Identifier","messageId":"useConst","endLine":125,"endColumn":13},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":131,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":131,"endColumn":15},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":133,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":133,"endColumn":101},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":135,"column":21,"nodeType":"MemberExpression","messageId":"forbidden","endLine":135,"endColumn":57},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":135,"column":21,"nodeType":"MemberExpression","messageId":"forbidden","endLine":135,"endColumn":57},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":165,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":165,"endColumn":35},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":169,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":171,"endColumn":36},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":172,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":172,"endColumn":31},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":173,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":173,"endColumn":45},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":174,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":174,"endColumn":8},{"ruleId":"unicorn/prefer-string-slice","severity":1,"message":"Prefer `String#slice()` over `String#substr()`.","line":177,"column":17,"nodeType":"CallExpression","messageId":"substr","endLine":177,"endColumn":57},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":209,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":209,"endColumn":59},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":222,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":222,"endColumn":28},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":223,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":223,"endColumn":19},{"ruleId":"prefer-const","severity":1,"message":"'$baseElement' is never reassigned. Use 'const' instead.","line":224,"column":2,"nodeType":"Identifier","messageId":"useConst","endLine":224,"endColumn":14}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":33,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * An OOUI-based widget for an autocompleting text input\n * within the spreadsheet-style display that uses the\n * Page Forms 'pfautocomplete' API.\n *\n * @class\n * @extends OO.ui.TextInputWidget\n * @param {Object} config Configuration Options\n * @author Yash Varshney\n */\n pf.spreadsheetAutocompleteWidget = function( config ) {\n\tthis.config = config || {};\n\t// Parent constructor\n\tconst textInputConfig = {\n\t\t// This turns off the local, browser-based autocompletion,\n\t\t// which would normally suggest values that the user has\n\t\t// typed before on that computer.\n\t\tautocomplete: false\n\t};\n\n\tOO.ui.TextInputWidget.call(this, textInputConfig);\n\t// Mixin constructor\n\tOO.ui.mixin.LookupElement.call(this, { highlightFirst: false });\n\n\t// dataCache will temporarily store entity id => entity data mappings of\n\t// entities, so that if we somehow then alter the text (add characters,\n\t// remove some) and then adjust our typing to form a known item,\n\t// it'll recognize it and know what the id was, without us having to\n\t// select it anew\n\tthis.dataCache = {};\n};\n\nOO.inheritClass( pf.spreadsheetAutocompleteWidget, OO.ui.TextInputWidget );\nOO.mixinClass( pf.spreadsheetAutocompleteWidget, OO.ui.mixin.LookupElement );\n\n/**\n * @inheritdoc\n */\npf.spreadsheetAutocompleteWidget.prototype.getLookupRequest = function() {\n\tlet\n\t\tvalue = this.getValue(),\n\t\tdeferred = $.Deferred(),\n\t\tapi,\n\t\trequestParams;\n\t// sometimes it happens that on double clicking the cell\n\t// a space is automatically added to the value inside the\n\t// editor and hence we get \"No Matches found\" so we can\n\t// simply remove that space.\n\tif ( value[0] == ' ' ) {\n\t\tvalue = value.slice(1);\n\t}\n\tapi = new mw.Api();\n\trequestParams = {\n\t\taction: 'pfautocomplete',\n\t\tformat: 'json',\n\t\tsubstr: value,\n\t};\n\tif( this.config.autocompletedatatype == 'category' ) {\n\t\trequestParams.category = this.config.autocompletesettings;\n\t} else if ( this.config.autocompletedatatype == 'cargo field' ) {\n\t\tconst table_and_field = this.config.autocompletesettings.split( '|' );\n\t\trequestParams.cargo_table = table_and_field[0];\n\t\trequestParams.cargo_field = table_and_field[1];\n\t} else if ( this.config.autocompletedatatype == 'property' ) {\n\t\trequestParams.property = this.config.autocompletesettings;\n\t} else if ( this.config.autocompletedatatype == 'concept' ) {\n\t\trequestParams.concept = this.config.autocompletesettings;\n\t} else if( this.config.autocompletedatatype == 'dep_on' ) {\n\t\tconst dep_field_opts = this.getDependentFieldOpts( this.config.data_y, this.config.dep_on_field );\n\n\t\tif (!dep_field_opts.prop.includes('|')) {\n\t\t\trequestParams.property = dep_field_opts.prop;\n\t\t\trequestParams.baseprop = dep_field_opts.base_prop;\n\t\t\trequestParams.basevalue = dep_field_opts.base_value;\n\t\t} else {\n\t\t\tconst cargoTableAndFieldStr = dep_field_opts.prop;\n\t\t\tconst baseCargoTableAndFieldStr = dep_field_opts.base_prop;\n\t\t\trequestParams.cargo_table = cargoTableAndFieldStr.split( '|' )[0];\n\t\t\trequestParams.cargo_field = cargoTableAndFieldStr.split( '|' )[1];\n\t\t\trequestParams.base_cargo_table = baseCargoTableAndFieldStr.split('|')[0];\n\t\t\trequestParams.base_cargo_field = baseCargoTableAndFieldStr.split('|')[1];\n\t\t}\n\t\trequestParams.basevalue = dep_field_opts.base_value;\n\t}\n\treturn api.get( requestParams );\n}\n\n/**\n * @inheritdoc\n */\n pf.spreadsheetAutocompleteWidget.prototype.getLookupCacheDataFromResponse = function( response ) {\n\treturn response || [];\n};\n\n/**\n * @inheritdoc\n */\n pf.spreadsheetAutocompleteWidget.prototype.getLookupMenuOptionsFromData = function( data ) {\n\tlet item,\n\t\titems = [];\n\n\tif ( data.error ) {\n\t\treturn this.getNoMatchesOOUIMenuOptionWidget();\n\t}\n\tif( this.config.autocompletedatatype == 'category'\n\t\t|| this.config.autocompletedatatype == 'cargo field'\n\t\t|| this.config.autocompletedatatype == 'dep_on'\n\t\t|| this.config.autocompletedatatype == 'concept'\n\t\t|| this.config.autocompletedatatype == 'property' ) {\n\t\tdata = data.pfautocomplete;\n\t\tif ( data.length === 0 ) {\n\t\t\treturn this.getNoMatchesOOUIMenuOptionWidget();\n\t\t}\n\t\tfor ( let i = 0; i < data.length; i++ ) {\n\t\t\titem = new OO.ui.MenuOptionWidget( {\n\t\t\t\tdata: data[ i ].title,\n\t\t\t\tlabel: this.highlightText( data[ i ].title )\n\t\t\t} );\n\t\t\titems.push( item );\n\t\t}\n\t} else if( this.config.autocompletedatatype == 'external data' ) {\n\t\tlet self = this,\n\t\t\twgPageFormsEDSettings = mw.config.get('wgPageFormsEDSettings'),\n\t\t\tname = this.config.autocompletesettings,\n\t\t\tedgValues = mw.config.get('edgValues'),\n\t\t\tvalueFilter;\n\t\tdata = {};\n\t\tif ( wgPageFormsEDSettings !== null && wgPageFormsEDSettings[name].title !== undefined && wgPageFormsEDSettings[name].title !== \"\" ) {\n\t\t\tdata.title = edgValues[wgPageFormsEDSettings[name].title];\n\t\t\tif (data.title !== undefined && data.title !== null) {\n\t\t\t\tlet i = 0;\n\t\t\t\tdata.title.forEach(() => {\n\t\t\t\t\tconst wgPageFormsAutocompleteOnAllChars = mw.config.get( 'wgPageFormsAutocompleteOnAllChars' );\n\t\t\t\t\tif ( wgPageFormsAutocompleteOnAllChars ) {\n\t\t\t\t\t\tvalueFilter = data.title[i].toLowerCase().includes(self.getValue().toLowerCase());\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvalueFilter = self.checkIfAnyWordStartsWithInputValue( data.title[i], self.getValue() );\n\t\t\t\t\t}\n\t\t\t\t\tif ( valueFilter ) {\n\t\t\t\t\t\titem = new OO.ui.MenuOptionWidget( {\n\t\t\t\t\t\t\tdata: data.title[i], label: self.highlightText(data.title[i])\n\t\t\t\t\t\t} );\n\t\t\t\t\t\titems.push(item);\n\t\t\t\t\t}\n\t\t\t\t\ti++;\n\t\t\t\t});\n\t\t\t\tif( items.length == 0 ) {\n\t\t\t\t\treturn this.getNoMatchesOOUIMenuOptionWidget();\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// this case will possibly come when the external data can't be fetched due to wrong data provided\n\t\t\treturn this.getNoMatchesOOUIMenuOptionWidget();\n\t\t}\n\t}\n\n\treturn items;\n};\n\n/**\n * @param {string} suggestion\n * @return {Mixed} HtmlSnipppet\n */\npf.spreadsheetAutocompleteWidget.prototype.highlightText = function( suggestion ) {\n\tlet searchTerm = this.getValue();\n\tif ( searchTerm[0] == ' ' ) {\n\t\tsearchTerm = searchTerm.slice(1);\n\t}\n\tconst searchRegexp = new RegExp(\"(?![^&;]+;)(?!<[^<>]*)(\" +\n\t\tsearchTerm.replace(/([\\^\\$\\(\\)\\[\\]\\{\\}\\*\\.\\+\\?\\|\\\\])/gi, \"\\\\$1\") +\n\t\t\")(?![^<>]*>)(?![^&;]+;)\", \"gi\");\n\tconst itemLabel = suggestion;\n\tconst loc = itemLabel.search(searchRegexp);\n\tlet t;\n\tif (loc >= 0) {\n\t\tt = itemLabel.slice(0, Math.max(0, loc)) +\n\t\t\t'<strong>' + itemLabel.substr(loc, searchTerm.length) + '</strong>' +\n\t\t\titemLabel.slice(loc + searchTerm.length);\n\t} else {\n\t\tt = itemLabel;\n\t}\n\treturn new OO.ui.HtmlSnippet(t);\n};\n/**\n * Provides an OOUI's MenuOptionWidget with a \"No Matches\" label\n *\n * @return {Mixed} OOUi's MenuOptionWidget\n */\npf.spreadsheetAutocompleteWidget.prototype.getNoMatchesOOUIMenuOptionWidget = function() {\n\treturn [\n\t\tnew OO.ui.MenuOptionWidget( {\n\t\t\tdata: this.getValue(),\n\t\t\tlabel: mw.message('pf-autocomplete-no-matches').text(),\n\t\t\tdisabled: true\n\t\t} )\n\t];\n}\n\n/**\n * Checks if any \"word\" in the given string starts with the given search term.\n *\n * @param {string} string\n *\n * @param {string} curValue\n *\n * @return {boolean}\n */\npf.spreadsheetAutocompleteWidget.prototype.checkIfAnyWordStartsWithInputValue = function( string, curValue ) {\n\tconst regex = new RegExp('\\\\b' + curValue.toLowerCase());\n\treturn string.toLowerCase().match(regex) !== null;\n}\n\n/**\n * Gives dependent field options which include\n * property, base property and base value\n *\n * @param {string} data_y\n * @param {string} dep_on_field\n * @return {Object} dep_field_opts\n */\npf.spreadsheetAutocompleteWidget.prototype.getDependentFieldOpts = function( data_y, dep_on_field ) {\n\tconst dep_field_opts = {};\n\tlet $baseElement;\n\t$baseElement = $('td[data-y=\"'+data_y+'\"][origname=\"'+dep_on_field+'\"]');\n\tdep_field_opts.base_value = $baseElement.html();\n\tdep_field_opts.base_prop = mw.config.get('wgPageFormsFieldProperties')[dep_on_field] ||\n\t\t$baseElement.attr('name');\n\tdep_field_opts.prop = this.config['autocompletesettings'];\n\n\treturn dep_field_opts;\n}\n","usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/libs/PF_SpreadsheetComboBoxInput.js","messages":[{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":30,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":34,"endColumn":15},{"ruleId":"prefer-const","severity":1,"message":"'data_source' is never reassigned. Use 'const' instead.","line":30,"column":6,"nodeType":"Identifier","messageId":"useConst","endLine":30,"endColumn":17},{"ruleId":"prefer-const","severity":1,"message":"'data_type' is never reassigned. Use 'const' instead.","line":31,"column":3,"nodeType":"Identifier","messageId":"useConst","endLine":31,"endColumn":12},{"ruleId":"prefer-const","severity":1,"message":"'self' is never reassigned. Use 'const' instead.","line":33,"column":3,"nodeType":"Identifier","messageId":"useConst","endLine":33,"endColumn":7},{"ruleId":"prefer-const","severity":1,"message":"'values' is never reassigned. Use 'const' instead.","line":34,"column":3,"nodeType":"Identifier","messageId":"useConst","endLine":34,"endColumn":9},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":43,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":46,"endColumn":14},{"ruleId":"no-var","severity":1,"message":"Unexpected var, use let or const instead.","line":50,"column":5,"nodeType":"VariableDeclaration","messageId":"unexpectedVar","endLine":50,"endColumn":15},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":52,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":52,"endColumn":101},{"ruleId":"no-var","severity":1,"message":"Unexpected var, use let or const instead.","line":54,"column":7,"nodeType":"VariableDeclaration","messageId":"unexpectedVar","endLine":54,"endColumn":108},{"ruleId":"block-scoped-var","severity":1,"message":"'valueFilter' declared on line 56 column 11 is used outside of binding context.","line":54,"column":11,"nodeType":"Identifier","messageId":"outOfScope","endLine":54,"endColumn":22},{"ruleId":"no-var","severity":1,"message":"Unexpected var, use let or const instead.","line":56,"column":7,"nodeType":"VariableDeclaration","messageId":"unexpectedVar","endLine":56,"endColumn":92},{"ruleId":"block-scoped-var","severity":1,"message":"'valueFilter' declared on line 54 column 11 is used outside of binding context.","line":56,"column":11,"nodeType":"Identifier","messageId":"outOfScope","endLine":56,"endColumn":22},{"ruleId":"block-scoped-var","severity":1,"message":"'valueFilter' declared on line 54 column 11 is used outside of binding context.","line":58,"column":11,"nodeType":"Identifier","messageId":"outOfScope","endLine":58,"endColumn":22},{"ruleId":"block-scoped-var","severity":1,"message":"'valueFilter' declared on line 56 column 11 is used outside of binding context.","line":58,"column":11,"nodeType":"Identifier","messageId":"outOfScope","endLine":58,"endColumn":22},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":82,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":82,"endColumn":47},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":85,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":85,"endColumn":51},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":88,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":88,"endColumn":102},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":89,"column":9,"nodeType":"MemberExpression","messageId":"forbidden","endLine":89,"endColumn":37},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":89,"column":9,"nodeType":"MemberExpression","messageId":"forbidden","endLine":89,"endColumn":37},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":92,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":92,"endColumn":55},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":93,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":93,"endColumn":65},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":94,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":94,"endColumn":46},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":95,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":95,"endColumn":46},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":96,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":96,"endColumn":64},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":97,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":97,"endColumn":73},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":98,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":98,"endColumn":54},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":99,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":99,"endColumn":54},{"ruleId":"block-scoped-var","severity":1,"message":"'i' declared on line 50 column 9 is used outside of binding context.","line":114,"column":13,"nodeType":"Identifier","messageId":"outOfScope","endLine":114,"endColumn":14},{"ruleId":"block-scoped-var","severity":1,"message":"'i' declared on line 50 column 9 is used outside of binding context.","line":114,"column":20,"nodeType":"Identifier","messageId":"outOfScope","endLine":114,"endColumn":21},{"ruleId":"block-scoped-var","severity":1,"message":"'i' declared on line 50 column 9 is used outside of binding context.","line":114,"column":37,"nodeType":"Identifier","messageId":"outOfScope","endLine":114,"endColumn":38},{"ruleId":"block-scoped-var","severity":1,"message":"'i' declared on line 50 column 9 is used outside of binding context.","line":116,"column":20,"nodeType":"Identifier","messageId":"outOfScope","endLine":116,"endColumn":21},{"ruleId":"block-scoped-var","severity":1,"message":"'i' declared on line 50 column 9 is used outside of binding context.","line":116,"column":62,"nodeType":"Identifier","messageId":"outOfScope","endLine":116,"endColumn":63},{"ruleId":"jsdoc/require-returns-type","severity":1,"message":"Missing JSDoc @return type.","line":130,"column":1,"nodeType":"Block","endLine":130,"endColumn":1},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":133,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":133,"endColumn":35},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":137,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":139,"endColumn":37},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":140,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":140,"endColumn":31},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":141,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":141,"endColumn":45},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":142,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":142,"endColumn":8},{"ruleId":"unicorn/prefer-string-slice","severity":1,"message":"Prefer `String#slice()` over `String#substr()`.","line":145,"column":17,"nodeType":"CallExpression","messageId":"substr","endLine":145,"endColumn":57},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":172,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":172,"endColumn":59},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":183,"column":9,"nodeType":"MemberExpression","messageId":"forbidden","endLine":183,"endColumn":38},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":183,"column":9,"nodeType":"MemberExpression","messageId":"forbidden","endLine":183,"endColumn":38},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'integer' is undefined.","line":189,"column":1,"nodeType":"Block","endLine":189,"endColumn":1},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":194,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":194,"endColumn":28},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":195,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":195,"endColumn":18},{"ruleId":"no-jquery/variable-pattern","severity":1,"message":"jQuery collection names must match the variablePattern","line":196,"column":2,"nodeType":"AssignmentExpression","endLine":196,"endColumn":73},{"ruleId":"prefer-const","severity":1,"message":"'baseElement' is never reassigned. Use 'const' instead.","line":196,"column":2,"nodeType":"Identifier","messageId":"useConst","endLine":196,"endColumn":13}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":47,"fixableErrorCount":0,"fixableWarningCount":0,"source":"\n/**\n * An OOUI-based widget for an autocompleting ComboBox input\n * within the spreadsheet-style display that uses the\n * Page Forms 'pfautocomplete' API.\n *\n * @class\n * @extends OO.ui.ComboBoxInputWidget\n * @param {Object} config Configuration Options\n * @author Yash Varshney\n */\n pf.SpreadsheetComboBoxInput = function( config ) {\n\tthis.config = config || {};\n\tOO.ui.ComboBoxInputWidget.call( this, config );\n\tthis.$input.focus( () => {\n\t\tthis.setValues();\n\t});\n\tthis.$input.keyup( (event) => {\n\t\tif (event.keyCode !== 38 && event.keyCode !== 40 && event.keyCode !== 37 && event.keyCode !== 39) {\n\t\t\tthis.setValues();\n\t\t}\n\t});\n}\nOO.inheritClass( pf.SpreadsheetComboBoxInput, OO.ui.ComboBoxInputWidget );\n/**\n *\n * A function for setting the options for combobox whenever something is typed\n */\npf.SpreadsheetComboBoxInput.prototype.setValues = function() {\n\tlet data_source = this.config.autocompletesettings,\n\t\tdata_type = this.config.autocompletedatatype,\n\t\tcurValue = this.getValue(),\n\t\tself = this,\n\t\tvalues = [];\n\t// sometimes it happens that on double clicking the cell\n\t// a space is automatically added to the value inside the\n\t// editor and hence we get \"No Matches found\" so we can\n\t// simply remove that space.\n\tif ( curValue[0] == ' ' ) {\n\t\tcurValue = curValue.slice(1);\n\t}\n\tif ( data_type == 'external data' ) { // External Data Autocompletion\n\t\tconst\twgPageFormsEDSettings = mw.config.get( 'wgPageFormsEDSettings' ),\n\t\t\tname = data_source,\n\t\t\tedgValues = mw.config.get( 'edgValues' ),\n\t\t\tdata = {};\n\t\tif ( wgPageFormsEDSettings !== null && wgPageFormsEDSettings[name].title !== undefined && wgPageFormsEDSettings[name].title !== \"\" ) {\n\t\t\tdata.title = edgValues[ wgPageFormsEDSettings[ name ].title ];\n\t\t\tif ( data.title !== undefined && data.title !== null ) {\n\t\t\t\tvar i = 0;\n\t\t\t\tdata.title.forEach( () => {\n\t\t\t\t\tconst wgPageFormsAutocompleteOnAllChars = mw.config.get( 'wgPageFormsAutocompleteOnAllChars' );\n\t\t\t\t\tif ( wgPageFormsAutocompleteOnAllChars ) {\n\t\t\t\t\t\tvar valueFilter = self.getConditionForAutocompleteOnAllChars( data.title[i], curValue.toLowerCase() )\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar valueFilter = self.checkIfAnyWordStartsWithInputValue( data.title[i], curValue );\n\t\t\t\t\t}\n\t\t\t\t\tif ( valueFilter ) {\n\t\t\t\t\t\tvalues.push( {\n\t\t\t\t\t\t\tdata: data.title[i], label: self.highlightText( data.title[i] )\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t\ti++;\n\t\t\t\t} );\n\t\t\t\tif( values.length == 0 ) {\n\t\t\t\t\tvalues.push( self.getNoMatchesOption() );\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// this case will possibly come when the external data can't be fetched due to wrong parameters provided\n\t\t\tvalues.push( this.getNoMatchesOption() );\n\t\t}\n\t\tthis.setOptions( values );\n\t} else {\n\t\tif ( curValue.length == 0 ) {\n\t\t\tvalues.push({\n\t\t\t\tlabel: mw.message('pf-autocomplete-input-too-short',1).text(), disabled: true\n\t\t\t});\n\t\t\tthis.setOptions(values);\n\t\t\treturn;\n\t\t}\n\t\tlet my_server = mw.util.wikiScript( 'api' );\n\t\tmy_server += \"?action=pfautocomplete&format=json\";\n\t\tif ( data_type == 'cargo field' ) {\n\t\t\tconst table_and_field = data_source.split('|');\n\t\t\tmy_server += \"&cargo_table=\" + table_and_field[0] + \"&cargo_field=\" + table_and_field[1] + \"&substr=\" + curValue;\n\t\t} else if ( data_type == 'dep_on' ) {\n\t\t\tconst dep_field_opts = this.getDependentFieldOpts( this.config.data_y, this.config.dep_on_field );\n\t\t\tif (!dep_field_opts.prop.includes('|')) {\n\t\t\t\tmy_server += \"&property=\" + dep_field_opts.prop + \"&baseprop=\" + dep_field_opts.base_prop + \"&basevalue=\" + dep_field_opts.base_value + \"&substr=\" + curValue;\n\t\t\t} else {\n\t\t\t\tconst cargoTableAndFieldStr = dep_field_opts.prop;\n\t\t\t\tconst cargoTableAndField = cargoTableAndFieldStr.split('|');\n\t\t\t\tconst cargoTable = cargoTableAndField[0];\n\t\t\t\tconst cargoField = cargoTableAndField[1];\n\t\t\t\tconst baseCargoTableAndFieldStr = dep_field_opts.base_prop;\n\t\t\t\tconst baseCargoTableAndField = baseCargoTableAndFieldStr.split('|');\n\t\t\t\tconst baseCargoTable = baseCargoTableAndField[0];\n\t\t\t\tconst baseCargoField = baseCargoTableAndField[1];\n\t\t\t\tmy_server += \"&cargo_table=\" + cargoTable + \"&cargo_field=\" + cargoField + \"&base_cargo_table=\" + baseCargoTable + \"&base_cargo_field=\" + baseCargoField + \"&basevalue=\" + dep_field_opts.base_value + \"&substr=\" + curValue;\n\t\t\t}\n\t\t} else {\n\t\t\tmy_server += \"&\" + data_type + \"=\" + data_source + \"&substr=\" + curValue;\n\t\t}\n\t\t$.ajax( {\n\t\t\turl: my_server,\n\t\t\tdataType: 'json',\n\t\t\tsuccess: function( data ) {\n\t\t\t\tif ( data.pfautocomplete !== undefined ) {\n\t\t\t\t\tdata = data.pfautocomplete;\n\t\t\t\t\tif ( data.length == 0 ) {\n\t\t\t\t\t\tvalues.push( self.getNoMatchesOption() )\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfor ( i = 0; i < data.length; i++ ) {\n\t\t\t\t\t\t\tvalues.push( {\n\t\t\t\t\t\t\t\tdata: data[i].title, label: self.highlightText( data[i].title )\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tvalues.push( self.getNoMatchesOption() )\n\t\t\t\t}\n\t\t\t\tself.setOptions( values );\n\t\t\t}\n\t\t} );\n\t}\n}\n/**\n * @param {string} suggestion\n * @return HtmlSnippet\n */\npf.SpreadsheetComboBoxInput.prototype.highlightText = function( suggestion ) {\n\tlet searchTerm = this.getValue();\n\tif ( searchTerm[0] == ' ' ) {\n\t\tsearchTerm = searchTerm.slice(1);\n\t}\n\tconst searchRegexp = new RegExp(\"(?![^&;]+;)(?!<[^<>]*)(\" +\n\t\tsearchTerm.replace(/([\\^\\$\\(\\)\\[\\]\\{\\}\\*\\.\\+\\?\\|\\\\])/gi, \"\\\\$1\") +\n\t\t\t\")(?![^<>]*>)(?![^&;]+;)\", \"gi\");\n\tconst itemLabel = suggestion;\n\tconst loc = itemLabel.search(searchRegexp);\n\tlet t;\n\tif (loc >= 0) {\n\t\tt = itemLabel.slice(0, Math.max(0, loc)) +\n\t\t\t'<strong>' + itemLabel.substr(loc, searchTerm.length) + '</strong>' +\n\t\titemLabel.slice(loc + searchTerm.length);\n\t} else {\n\t\tt = itemLabel;\n\t}\n\treturn new OO.ui.HtmlSnippet(t);\n};\n/**\n * Provides an option with \"No Matches\" label\n *\n * @return {Object}\n */\npf.SpreadsheetComboBoxInput.prototype.getNoMatchesOption = function() {\n\treturn {\n\t\t\tdata: this.getValue(),\n\t\t\tlabel: mw.message('pf-autocomplete-no-matches').text(),\n\t\t\tdisabled: true\n\t\t}\n}\n/**\n * Checks if any \"word\" in the given string starts with the given search term.\n *\n * @param {string} string\n * @param {string} curValue\n * @return {boolean}\n */\npf.SpreadsheetComboBoxInput.prototype.checkIfAnyWordStartsWithInputValue = function( string, curValue ) {\n\tconst regex = new RegExp('\\\\b' + curValue.toLowerCase());\n\treturn string.toLowerCase().match(regex) !== null;\n}\n/**\n * Checks if the given string contains the word or not\n *\n * @param {string} string\n * @param {string} curValue\n * @return {boolean}\n */\npf.SpreadsheetComboBoxInput.prototype.getConditionForAutocompleteOnAllChars = function(string, curValue) {\n\treturn string.toLowerCase().includes(curValue.toLowerCase())\n}\n/**\n * Gives dependent field options which include\n * property, base property and base value\n *\n * @param {integer} data_y\n * @param {string} dep_on_field\n * @return {Object} dep_field_opts\n */\npf.SpreadsheetComboBoxInput.prototype.getDependentFieldOpts = function( data_y, dep_on_field ) {\n\tconst dep_field_opts = {};\n\tlet baseElement;\n\tbaseElement = $('td[data-y=\"'+data_y+'\"][origname=\"'+dep_on_field+'\"]');\n\tdep_field_opts.base_value = baseElement.html();\n\tdep_field_opts.base_prop = mw.config.get('wgPageFormsFieldProperties')[dep_on_field] ||\n\t\tbaseElement.attr('name');\n\tdep_field_opts.prop = this.config['autocompletesettings'];\n\treturn dep_field_opts;\n}\n","usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/libs/PF_autoedit.js","messages":[{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":13,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":13,"endColumn":55},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":14,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":14,"endColumn":58},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":15,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":15,"endColumn":49},{"ruleId":"no-jquery/no-class-state","severity":1,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":15,"column":18,"nodeType":"CallExpression","endLine":15,"endColumn":48},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":24,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":27,"endColumn":5},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":61,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":61,"endColumn":57},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":62,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":62,"endColumn":36},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":64,"column":11,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":64,"endColumn":20},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":75,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":108,"endColumn":4},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":85,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":85,"endColumn":36},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":86,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":86,"endColumn":55},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":87,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":87,"endColumn":62},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":88,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":88,"endColumn":68},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":89,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":89,"endColumn":61},{"ruleId":"no-jquery/no-class-state","severity":1,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":89,"column":23,"nodeType":"CallExpression","endLine":89,"endColumn":60},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":91,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":91,"endColumn":73},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":96,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":96,"endColumn":67},{"ruleId":"no-jquery/no-done-fail","severity":1,"message":"Prefer .then to .done","line":100,"column":4,"nodeType":"CallExpression","endLine":104,"endColumn":6}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":18,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * JavaScript handler for the #autoedit parser function.\n *\n * @author Stephan Gambke\n */\n\n/*global confirm */\n\n( function( $, mw ) {\n\n\t'use strict';\n\tfunction sendData( $jtrigger ){\n\t\tconst $jautoedit = $jtrigger.closest( '.autoedit' );\n\t\tconst $jresult = $jautoedit.find( '.autoedit-result' );\n\t\tconst reload = $jtrigger.hasClass( 'reload' );\n\n\t\t$jtrigger.attr( 'class', 'autoedit-trigger autoedit-trigger-wait' );\n\t\t$jresult.attr( 'class', 'autoedit-result autoedit-result-wait' );\n\n\t\t$jresult.text( mw.msg( 'pf-autoedit-wait' ) );\n\n\n\t\t// data array to be sent to the server\n\t\tconst data = {\n\t\t\taction: 'pfautoedit',\n\t\t\tformat: 'json'\n\t\t};\n\n\t\t// add form values to the data\n\t\tdata.query = $jautoedit.find( 'form.autoedit-data' ).serialize();\n\n\t\t$.ajax( {\n\n\t\t\ttype:     'POST', // request type ( GET or POST )\n\t\t\turl:      mw.util.wikiScript( 'api' ), // URL to which the request is sent\n\t\t\tdata:     data, // data to be sent to the server\n\t\t\tdataType: 'json', // type of data expected back from the server\n\t\t\tsuccess:  function( result ){\n\t\t\t\t$jresult.empty().append( result.responseText );\n\n\t\t\t\tif ( result.status === 200 ) {\n\n\t\t\t\t\tif ( reload ) {\n\t\t\t\t\t\tif ( mw.config.get( 'wgPageFormsDelayReload' ) == true ) {\n\t\t\t\t\t\t\tsetTimeout( () => {\n\t\t\t\t\t\t\t\twindow.location.reload()\n\t\t\t\t\t\t\t}, 500 );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t$jresult.removeClass( 'autoedit-result-wait' ).addClass( 'autoedit-result-ok' );\n\t\t\t\t\t$jtrigger.removeClass( 'autoedit-trigger-wait' ).addClass( 'autoedit-trigger-ok' );\n\t\t\t\t} else {\n\t\t\t\t\t$jresult.removeClass( 'autoedit-result-wait' ).addClass( 'autoedit-result-error' );\n\t\t\t\t\t$jtrigger.removeClass( 'autoedit-trigger-wait' ).addClass( 'autoedit-trigger-error' );\n\t\t\t\t}\n\t\t\t}, // function to be called if the request succeeds\n\t\t\terror:  function( jqXHR, textStatus, errorThrown ) {\n\t\t\t\tconst result = jQuery.parseJSON(jqXHR.responseText);\n\t\t\t\tlet text = result.responseText;\n\n\t\t\t\tfor ( let i = 0; i < result.errors.length; i++ ) {\n\t\t\t\t\ttext += ' ' + result.errors[i].message;\n\t\t\t\t}\n\n\t\t\t\t$jresult.empty().append( text );\n\t\t\t\t$jresult.removeClass( 'autoedit-result-wait' ).addClass( 'autoedit-result-error' );\n\t\t\t\t$jtrigger.removeClass( 'autoedit-trigger-wait' ).addClass( 'autoedit-trigger-error' );\n\t\t\t} // function to be called if the request fails\n\t\t} );\n\t}\n\n\tconst autoEditHandler = function handleAutoEdit( e ){\n\n\t\t// Prevents scroll from jumping to the top of the page due to anchor #\n\t\te.preventDefault();\n\n\t\tif ( mw.config.get( 'wgUserName' ) === null &&\n\t\t\t! confirm( mw.msg( 'pf_autoedit_anoneditwarning' ) ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst $jtrigger = jQuery( this );\n\t\tconst $jautoedit = $jtrigger.closest( '.autoedit' );\n\t\tconst $jeditdata = $jautoedit.find( 'form.autoedit-data' );\n\t\tconst targetpage = $jeditdata.find( 'input[name=target]' ).val();\n\t\tconst confirmEdit = $jeditdata.hasClass( 'confirm-edit' );\n\t\tif ( confirmEdit ) {\n\t\t\tlet confirmText = $jeditdata.find( 'input[name=confirmtext]' ).val();\n\t\t\tif ( !confirmText ) {\n\t\t\t\tif ( targetpage ) {\n\t\t\t\t\tconfirmText = mw.msg( 'pf_autoedit_confirm', targetpage );\n\t\t\t\t} else {\n\t\t\t\t\tconst formName = $jeditdata.find( 'input[name=form]' ).val();\n\t\t\t\t\tconfirmText = mw.msg( 'pf_autoedit_confirmcreate', formName );\n\t\t\t\t}\n\t\t\t}\n\t\t\tOO.ui.confirm( confirmText ).done( (confirmed) => {\n\t\t\t\tif ( confirmed ) {\n\t\t\t\t\tsendData( $jtrigger );\n\t\t\t\t}\n\t\t\t})\n\t\t} else {\n\t\t\tsendData( $jtrigger );\n\t\t}\n\t};\n\n\t$( () => {\n\t\t$( '.autoedit-trigger' ).click( autoEditHandler );\n\t} );\n\n}( jQuery, mediaWiki ) );\n","usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/libs/PF_autogrow.js","messages":[{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":15,"column":1,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":15,"endColumn":32},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":16,"column":1,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":16,"endColumn":32},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":19,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":19,"endColumn":25},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":25,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":25,"endColumn":21},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":26,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":26,"endColumn":43},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":28,"column":7,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":28,"endColumn":29}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":6,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * PF_autogrow.js\n *\n * Allows for 'autogrow' textareas. Based heavily on the 'Autogrow Textarea\n * Plugin' by Jevin O. Sewaruth:\n * http://www.technoreply.com/autogrow-textarea-plugin/\n *\n * Some modifications were made for the code to better work with Page\n * Forms.\n *\n * @author Jevin O. Sewaruth\n * @author Yaron Koren\n */\n\nconst autoGrowColsDefault = [];\nconst autoGrowRowsDefault = [];\n\nfunction autoGrowSetDefaultValues(textArea) {\n\tconst id = textArea.id;\n\tautoGrowColsDefault[id] = textArea.cols;\n\tautoGrowRowsDefault[id] = textArea.rows;\n}\n\nfunction autoGrow(textArea) {\n\tlet linesCount = 0;\n\tconst lines = textArea.value.split('\\n');\n\n\tfor (let i = lines.length-1; i >= 0; --i) {\n\t\tlinesCount += Math.floor((lines[i].length / autoGrowColsDefault[textArea.id]) + 1);\n\t}\n\n\tif (linesCount >= autoGrowRowsDefault[textArea.id]) {\n\t\ttextArea.rows = linesCount + 1;\n\t} else {\n\t\ttextArea.rows = autoGrowRowsDefault[textArea.id];\n\t}\n}\n\nfunction autoGrowBindEvents(textArea) {\n\ttextArea.onkeyup = function() {\n\t\tautoGrow(textArea);\n\t};\n}\n\n// jQuery method\njQuery.fn.autoGrow = function() {\n\treturn this.each(function() {\n\t\tautoGrowSetDefaultValues(this);\n\t\tautoGrowBindEvents(this);\n\t\tautoGrow(this);\n\t});\n};\n","usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/libs/PF_checkboxes.js","messages":[{"ruleId":"jsdoc/require-param-type","severity":1,"message":"Missing JSDoc @param \"$\" type.","line":4,"column":1,"nodeType":"Block","endLine":4,"endColumn":1},{"ruleId":"jsdoc/require-param-type","severity":1,"message":"Missing JSDoc @param \"mw\" type.","line":5,"column":1,"nodeType":"Block","endLine":5,"endColumn":1},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":18,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":18,"endColumn":55},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":21,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":21,"endColumn":20},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":34,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":34,"endColumn":79},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":41,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":41,"endColumn":89}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":6,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * Javascript handler for the checkboxes input type\n *\n * @param $\n * @param mw\n * @author Stephan Gambke\n */\n\n( function ( $, mw ) {\n\n\t'use strict';\n\n\t// jQuery plugin that will attach a select all/select none switch to all checkboxes in \"this\" element\n\t$.fn.appendSelectionSwitches = function () {\n\n\t\tfunction insertSwitch( switchesWrapper, label, checked  ) {\n\t\t\t// create a link element that will trigger the selection of all checkboxes\n\t\t\tconst $link = $( '<a href=\"#\">' + label + '</a>' );\n\n\t\t\t// will be initialized only when the event is triggered to avoid lag during page loading\n\t\t\tlet $checkboxes;\n\n\t\t\t// attach an event handler\n\t\t\t$link.click( ( event ) => {\n\t\t\t\tevent.preventDefault();\n\n\t\t\t\t// store checkboxes during first method call so the DOM is not searched on every click on the link\n\t\t\t\t$checkboxes = $checkboxes || switchesWrapper.siblings().find( 'input[type=\"checkbox\"]' );\n\n\t\t\t\t$checkboxes.prop( 'checked', checked );\n\t\t\t} );\n\n\t\t\t// wrap the link into a span to simplify styling\n\t\t\tconst $switchWrapper = $('<span class=\"checkboxSwitch\">' ).append( $link );\n\n\t\t\t// insert the complete switch into the DOM\n\t\t\tswitchesWrapper.append( $switchWrapper );\n\t\t}\n\n\t\tthis.each( ( index, element ) => {\n\t\t\tconst $switchesWrapper = $( '<span class=\"checkboxSwitches\">' ).prependTo( element );\n\t\t\tinsertSwitch( $switchesWrapper, mw.message( 'pf_forminputs_checkboxes_select_all' ).escaped(), true );\n\t\t\tinsertSwitch( $switchesWrapper, mw.message( 'pf_forminputs_checkboxes_select_none' ).escaped(), false );\n\t\t} );\n\n\t\treturn this;\n\t};\n\n\t$( () => {\n\t\t$( '.checkboxesSpan.select-all' ).appendSelectionSwitches();\n\t} );\n\n}( jQuery, mediaWiki ) );\n","usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/libs/PF_collapsible.js","messages":[{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":27,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":27,"endColumn":34},{"ruleId":"no-jquery/no-class-state","severity":1,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":30,"column":8,"nodeType":"CallExpression","endLine":30,"endColumn":49}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * PF_collapsible.js\n *\n * Allows for collapsible fieldsets.\n *\n * This code was originally based heavily on the 'coolfieldset' jQuery plugin:\n * http://w3shaman.com/article/jquery-plugin-collapsible-fieldset\n *\n * Now it's less so, because that code used a .toggle() function that was\n * removed in jQuery 1.9.\n */\n\nfunction pfHideFieldsetContent($obj){\n\t$obj.find('div').slideUp( 'medium' );\n\t$obj.removeClass(\"pfExpandedFieldset\");\n\t$obj.addClass(\"pfCollapsedFieldset\");\n}\n\nfunction pfShowFieldsetContent($obj){\n\t$obj.find('div').slideDown( 'medium' );\n\t$obj.removeClass(\"pfCollapsedFieldset\");\n\t$obj.addClass(\"pfExpandedFieldset\");\n}\n\njQuery.fn.pfMakeCollapsible = function(){\n\tthis.each(function(){\n\t\tconst $fieldset = jQuery(this);\n\n\t\t$fieldset.children('legend').click( () => {\n\t\t\tif ($fieldset.hasClass('pfCollapsedFieldset')) {\n\t\t\t\tpfShowFieldsetContent($fieldset);\n\t\t\t} else {\n\t\t\t\tpfHideFieldsetContent($fieldset);\n\t\t\t}\n\t\t});\n\t\tpfHideFieldsetContent($fieldset);\n\t});\n};\n\n$(() => {\n\tjQuery('.pfCollapsibleFieldset').pfMakeCollapsible();\n});\n","usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/libs/PF_datepicker.js","messages":[{"ruleId":"jsdoc/require-param-type","severity":1,"message":"Missing JSDoc @param \"$\" type.","line":4,"column":1,"nodeType":"Block","endLine":4,"endColumn":1},{"ruleId":"jsdoc/require-param-type","severity":1,"message":"Missing JSDoc @param \"oo\" type.","line":5,"column":1,"nodeType":"Block","endLine":5,"endColumn":1},{"ruleId":"jsdoc/require-param-type","severity":1,"message":"Missing JSDoc @param \"mw\" type.","line":6,"column":1,"nodeType":"Block","endLine":6,"endColumn":1},{"ruleId":"jsdoc/require-param-type","severity":1,"message":"Missing JSDoc @param \"pf\" type.","line":7,"column":1,"nodeType":"Block","endLine":7,"endColumn":1},{"ruleId":"no-jquery/no-class-state","severity":1,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":18,"column":9,"nodeType":"CallExpression","endLine":18,"endColumn":50}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":5,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * JavaScript code to be used with input type datepicker.\n *\n * @param $\n * @param oo\n * @param mw\n * @param pf\n * @author Sam Wilson\n * @author Yaron Koren\n */\n\n( function( $, oo, mw, pf ) {\n\t'use strict';\n\n\tjQuery.fn.applyDatePicker = function() {\n\t\treturn this.each(function() {\n\t\t\t// Don't apply datepicker control if disabled.\n\t\t\tif ( $(this).hasClass('oo-ui-widget-disabled') ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\too.ui.infuse( this );\n\t\t});\n\t};\n\n} )( jQuery, OO, mediaWiki, pf );\n","usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/libs/PF_datetimepicker.js","messages":[{"ruleId":"jsdoc/require-param-type","severity":1,"message":"Missing JSDoc @param \"$\" type.","line":4,"column":1,"nodeType":"Block","endLine":4,"endColumn":1},{"ruleId":"jsdoc/require-param-type","severity":1,"message":"Missing JSDoc @param \"oo\" type.","line":5,"column":1,"nodeType":"Block","endLine":5,"endColumn":1},{"ruleId":"jsdoc/require-param-type","severity":1,"message":"Missing JSDoc @param \"mw\" type.","line":6,"column":1,"nodeType":"Block","endLine":6,"endColumn":1},{"ruleId":"jsdoc/require-param-type","severity":1,"message":"Missing JSDoc @param \"pf\" type.","line":7,"column":1,"nodeType":"Block","endLine":7,"endColumn":1},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":15,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":22,"endColumn":4},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":26,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":26,"endColumn":40},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":27,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":27,"endColumn":47},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":28,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":28,"endColumn":43},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":40,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":40,"endColumn":59},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":41,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":41,"endColumn":68}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":10,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * JavaScript code to be used with input type datetimepicker.\n *\n * @param $\n * @param oo\n * @param mw\n * @param pf\n * @author Sam Wilson\n * @author Yaron Koren\n */\n\n( function( $, oo, mw, pf ) {\n\t'use strict';\n\n\tconst localeOptions = {\n\t\ttimeZoneName: 'long',\n\t\tyear: 'numeric',\n\t\tmonth: 'long',\n\t\tday: 'numeric',\n\t\thour: 'numeric',\n\t\tminute: 'numeric'\n\t};\n\n\tjQuery.fn.applyDateTimePicker = function() {\n\t\treturn this.each( function() {\n\t\t\tconst widget = oo.ui.infuse( this );\n\t\t\tconst $localDatetimeLabel = $( '<label>' );\n\t\t\tconst $localDatetime = $( '<strong>' );\n\t\t\t// Add the label even when there isn't going to be a displayed date, to make sure it takes up vertical\n\t\t\t// space and avoid the form layout shifting when a date is selected.\n\t\t\t$localDatetimeLabel.append( mw.message( 'pf-datetimepicker-localtime' ).escaped(), ' ', $localDatetime );\n\t\t\twidget.$element\n\t\t\t\t.next( '.pf-datetimepicker-help' )\n\t\t\t\t.append( '<br>', $localDatetimeLabel );\n\t\t\twidget.connect( this, { change: function ( newDatetimeVal ) {\n\t\t\t\tif ( newDatetimeVal === '' || newDatetimeVal === undefined ) {\n\t\t\t\t\t$localDatetime.text( '' );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst date = new Date( Date.parse( newDatetimeVal ) );\n\t\t\t\tconst localDatetime = date.toLocaleString( [], localeOptions );\n\t\t\t\t$localDatetime.text( localDatetime );\n\t\t\t} } );\n\t\t\t// Also fire the change handler once when instantiating, to operate on the default value.\n\t\t\twidget.emit( 'change', widget.getValue() );\n\t\t} );\n\t};\n\n} )( jQuery, OO, mediaWiki, pf )\n","usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/libs/PF_editWarning.js","messages":[{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":13,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":13,"endColumn":30},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":21,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":22,"endColumn":138},{"ruleId":"prefer-const","severity":1,"message":"'origValues' is never reassigned. Use 'const' instead.","line":21,"column":44,"nodeType":"Identifier","messageId":"useConst","endLine":21,"endColumn":54},{"ruleId":"prefer-const","severity":1,"message":"'$allInputs' is never reassigned. Use 'const' instead.","line":22,"column":4,"nodeType":"Identifier","messageId":"useConst","endLine":22,"endColumn":14},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":31,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":31,"endColumn":34},{"ruleId":"no-jquery/no-class-state","severity":1,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":32,"column":9,"nodeType":"CallExpression","endLine":32,"endColumn":42},{"ruleId":"prefer-const","severity":1,"message":"'allowCloseWindow' is never reassigned. Use 'const' instead.","line":40,"column":3,"nodeType":"Identifier","messageId":"useConst","endLine":40,"endColumn":19},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":55,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":55,"endColumn":36},{"ruleId":"no-jquery/no-class-state","severity":1,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":61,"column":11,"nodeType":"CallExpression","endLine":61,"endColumn":44}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":9,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/*\n * JavaScript for displaying a popup warning if the user has made changes in\n * the form without saving the page.\n *\n * Heavily based on the file mediawiki.action.edit.editWarning.js in core\n * MediaWiki.\n *\n * @author Yaron Koren\n */\n( function() {\n\t'use strict';\n\n\tlet changesWereMade = false;\n\n\tmw.hook('pf.addTemplateInstance').add( ( $newInstance ) => {\n\t\tchangesWereMade = true;\n\t});\n\n\n\t$( () => {\n\t\tlet allowCloseWindow, origText, newText, origValues = {},\n\t\t\t$allInputs = $( 'form#pfForm textarea, form#pfForm input[type=text], form#pfForm input:not([type]), form#pfForm select, #wpSummary' );\n\n\t\t// Check if EditWarning is enabled and if we need it.\n\t\tif ( !mw.user.options.get( 'useeditwarning' ) ) {\n\t\t\treturn true;\n\t\t}\n\n\t\t// Save the original value of the inputs.\n\t\t$allInputs.each( ( index, element ) => {\n\t\t\tconst $element = $( element );\n\t\t\tif ( $element.hasClass( 'pfComboBox' ) ) {\n\t\t\t\t// data() can't be used for combobox inputs, probably because they use OOUI.\n\t\t\t\torigValues[element.id] = $element.textSelection( 'getContents' );\n\t\t\t} else {\n\t\t\t\t$element.data( 'origtext', $element.textSelection( 'getContents' ) );\n\t\t\t}\n\t\t});\n\n\t\tallowCloseWindow = mw.confirmCloseWindow( {\n\t\t\ttest: function() {\n\t\t\t\t// Don't show a warning if the form is being\n\t\t\t\t// submitted.\n\t\t\t\tif ( mw.config.get( 'wgAction' ) === 'submit' ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\t// Don't show a warning if we're in Special:RunQuery,\n\t\t\t\t// or a page where Special:RunQuery is embedded.\n\t\t\t\tif ( mw.config.get( 'wgCanonicalSpecialPageName' ) !== 'FormEdit' &&\n\t\t\t\t\tmw.config.get( 'wgAction' ) !== 'formedit' ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\t// We use .textSelection, because editors might not have updated the form yet.\n\t\t\t\t$allInputs.each( ( index, element ) => {\n\t\t\t\t\tconst $element = $( element );\n\n\t\t\t\t\t// The setting of both origText and\n\t\t\t\t\t// newText have to be different for the\n\t\t\t\t\t// combobox input, due to its use of\n\t\t\t\t\t// OOUI.\n\t\t\t\t\tif ( $element.hasClass( 'pfComboBox' ) ) {\n\t\t\t\t\t\torigText = origValues[element.id];\n\t\t\t\t\t\tnewText = $('#' + element.id).val();\n\t\t\t\t\t} else {\n\t\t\t\t\t\torigText = $element.data( 'origtext' );\n\t\t\t\t\t\t// For some reason, the addition of a blank string is sometimes\n\t\t\t\t\t\t// necessary, to get the type right.\n\t\t\t\t\t\tnewText = $element.textSelection( 'getContents' ) + '';\n\t\t\t\t\t}\n\t\t\t\t\tif ( origText != newText ) {\n\t\t\t\t\t\tchangesWereMade = true;\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\treturn changesWereMade;\n\t\t\t},\n\n\t\t\tnamespace: 'editwarning'\n\t\t} );\n\n\t\t// Add form submission handler\n\t\t$( '#pfForm' ).on( 'submit', () => {\n\t\t\tallowCloseWindow.release();\n\t\t} );\n\t} );\n\n}() );\n","usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/libs/PF_formInput.js","messages":[{"ruleId":"jsdoc/require-param-type","severity":1,"message":"Missing JSDoc @param \"$\" type.","line":6,"column":1,"nodeType":"Block","endLine":6,"endColumn":1},{"ruleId":"jsdoc/require-param-type","severity":1,"message":"Missing JSDoc @param \"mw\" type.","line":7,"column":1,"nodeType":"Block","endLine":7,"endColumn":1},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":14,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":14,"endColumn":26},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":15,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":15,"endColumn":39},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":16,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":16,"endColumn":61},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":17,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":18,"endColumn":11},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":20,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":20,"endColumn":54},{"ruleId":"es-x/no-for-of-loops","severity":1,"message":"ES2015 'for-of' statements are forbidden.","line":21,"column":4,"nodeType":"ForOfStatement","messageId":"forbidden","endLine":26,"endColumn":5},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":21,"column":10,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":21,"endColumn":28},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":27,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":29,"endColumn":7},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":30,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":34,"endColumn":8},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":35,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":37,"endColumn":8},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":65,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":70,"endColumn":7},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":71,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":71,"endColumn":71},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":76,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":76,"endColumn":38},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":78,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":78,"endColumn":80},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":80,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":80,"endColumn":64},{"ruleId":"es-x/no-for-of-loops","severity":1,"message":"ES2015 'for-of' statements are forbidden.","line":82,"column":4,"nodeType":"ForOfStatement","messageId":"forbidden","endLine":87,"endColumn":5},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":82,"column":10,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":82,"endColumn":33},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":88,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":92,"endColumn":8},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":94,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":96,"endColumn":8},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":106,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":106,"endColumn":80},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":112,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":114,"endColumn":7}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":23,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * PF_formInput.js\n *\n * JS handling for #forminput and Special:FormStart.\n *\n * @param $\n * @param mw\n * @author Yaron Koren\n */\n\n( function( $, mw ) {\n\n\t$.fn.displayPFFormInput = function() {\n\t\tconst formLayouts = [];\n\t\tconst autocompleteWidgetConfig = {};\n\t\tconst possibleFormsStr = this.attr('data-possible-forms');\n\t\tlet menuOptions = [],\n\t\t\tlayout;\n\t\tif ( possibleFormsStr !== undefined ) {\n\t\t\tconst possibleForms = possibleFormsStr.split('|');\n\t\t\tfor ( const possibleForm of possibleForms ) {\n\t\t\t\tmenuOptions.push( {\n\t\t\t\t\tdata: possibleForm,\n\t\t\t\t\tlabel: possibleForm\n\t\t\t\t} );\n\t\t\t}\n\t\t\tconst formChooserText = new OO.ui.LabelWidget( {\n\t\t\t\tlabel: this.attr('data-form-label')\n\t\t\t} )\n\t\t\tconst formChooserDropdown = new OO.ui.DropdownInputWidget( {\n\t\t\t\tname: 'form',\n\t\t\t\toptions: menuOptions,\n\t\t\t\tclasses: [ 'pfFormChooserDropdown' ]\n\t\t\t} );\n\t\t\tconst formChooserHorizontalLayout = new OO.ui.HorizontalLayout( {\n\t\t\t\titems: [ formChooserText,  formChooserDropdown ],\n\t\t\t} );\n\t\t\tformLayouts.push(formChooserHorizontalLayout);\n\t\t} else {\n\t\t\t// Only provide autofocus if there's no \"form\" dropdown -\n\t\t\t// otherwise, it might be confusing.\n\t\t\tif ( this.attr('data-autofocus') !== undefined ) {\n\t\t\t\tautocompleteWidgetConfig['autofocus'] = this.attr('data-autofocus');\n\t\t\t}\n\t\t}\n\n\t\tif ( this.attr('data-default-value') !== undefined ) {\n\t\t\tautocompleteWidgetConfig['value'] = this.attr('data-default-value');\n\t\t}\n\t\tif ( this.attr('data-autocomplete-data-type') !== undefined ) {\n\t\t\tautocompleteWidgetConfig['autocompletedatatype'] = this.attr('data-autocomplete-data-type');\n\t\t}\n\t\tif ( this.attr('data-autocomplete-settings') !== undefined ) {\n\t\t\tautocompleteWidgetConfig['autocompletesettings'] = this.attr('data-autocomplete-settings');\n\t\t}\n\t\tif ( this.attr('data-placeholder') !== undefined ) {\n\t\t\tautocompleteWidgetConfig['placeholder'] = this.attr('data-placeholder');\n\t\t}\n\t\tif ( this.attr('data-autocapitalize') !== undefined ) {\n\t\t\tautocompleteWidgetConfig['autocapitalize'] = this.attr('data-autocapitalize');\n\t\t}\n\t\tif ( this.attr('data-size') !== undefined ) {\n\t\t\tautocompleteWidgetConfig['size'] = this.attr('data-size');\n\t\t}\n\t\tconst createOrEditButton = new OO.ui.ButtonInputWidget( {\n\t\t\ttype: 'submit',\n\t\t\tlabel: this.attr('data-button-label'),\n\t\t\tvalue: 'Submit',\n\t\t\tclasses: [ 'pfCreateOrEditButton' ]\n\t\t} );\n\t\tconst possibleNamespacesStr = this.attr('data-possible-namespaces');\n\t\tif ( possibleNamespacesStr !== undefined ) {\n\t\t\t// Special, non-OOUI-standard handling so that the\n\t\t\t// namespace and page name inputs can be on the same\n\t\t\t// line, replicating a full page name.\n\t\t\tconst pageWithNamespaceItems = [];\n\t\t\tautocompleteWidgetConfig['classes'] = [ 'pfPageNameWithNamespace' ];\n\t\t\tconst pageNameInput = new pf.AutocompleteWidget( autocompleteWidgetConfig );\n\n\t\t\tconst possibleNamespaces = possibleNamespacesStr.split('|');\n\t\t\tmenuOptions = [];\n\t\t\tfor ( const possibleNamespace of possibleNamespaces ) {\n\t\t\t\tmenuOptions.push( {\n\t\t\t\t\tdata: possibleNamespace,\n\t\t\t\t\tlabel: possibleNamespace\n\t\t\t\t} );\n\t\t\t}\n\t\t\tconst namespaceDropdown = new OO.ui.DropdownInputWidget( {\n\t\t\t\tname: 'namespace',\n\t\t\t\toptions: menuOptions,\n\t\t\t\tclasses: [ 'pfNamespaceDropdown' ]\n\t\t\t} );\n\t\t\tpageWithNamespaceItems.push( namespaceDropdown );\n\t\t\tconst colonLabel = new OO.ui.LabelWidget( {\n\t\t\t\tlabel: \":\"\n\t\t\t} );\n\t\t\tpageWithNamespaceItems.push( colonLabel );\n\t\t\tpageWithNamespaceItems.push( pageNameInput );\n\t\t\tpageWithNamespaceItems.push( createOrEditButton );\n\t\t\tlayout = new OO.ui.HorizontalLayout( {\n\t\t\t\titems: pageWithNamespaceItems,\n\t\t\t\tclasses: [ 'pfPageWithNamespace' ]\n\t\t\t} );\n\t\t} else {\n\t\t\tautocompleteWidgetConfig['classes'] = [ 'pfPageNameWithoutNamespace' ];\n\t\t\tconst pageNameInput = new pf.AutocompleteWidget( autocompleteWidgetConfig );\n\t\t\tlayout = new OO.ui.HorizontalLayout( {\n\t\t\t\titems: [ pageNameInput, createOrEditButton ]\n\t\t\t} );\n\t\t}\n\t\tformLayouts.push(layout);\n\t\tconst fieldset = new OO.ui.FieldsetLayout( {\n\t\t\titems: formLayouts\n\t\t} );\n\n\t\tthis.append( fieldset.$element );\n\n\t\t// We could put this all into an OO.ui.FormLayout instance,\n\t\t// but it would get complicated, due to the hidden inputs\n\t\t// needed, so we'll leave that to the PHP to do.\n\t};\n\n\t$( () => {\n\t\t$( '.pfFormInputWrapper' ).each( function() {\n\t\t\t$(this).displayPFFormInput();\n\t\t});\n\t});\n\n}( jQuery, mediaWiki ) );\n","usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/libs/PF_imagePreview.js","messages":[{"ruleId":"jsdoc/require-param-type","severity":1,"message":"Missing JSDoc @param \"$\" type.","line":4,"column":1,"nodeType":"Block","endLine":4,"endColumn":1},{"ruleId":"jsdoc/require-param-type","severity":1,"message":"Missing JSDoc @param \"mw\" type.","line":5,"column":1,"nodeType":"Block","endLine":5,"endColumn":1},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":11,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":11,"endColumn":21},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":26,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":26,"endColumn":37},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":28,"column":12,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":28,"endColumn":19},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":29,"column":7,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":29,"endColumn":39},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":42,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":58,"endColumn":5},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":43,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":43,"endColumn":38},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":44,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":44,"endColumn":61},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":61,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":61,"endColumn":40},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":62,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":62,"endColumn":56},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":63,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":63,"endColumn":38}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":12,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * JavaScript for the Page Forms MediaWiki extension.\n *\n * @param $\n * @param mw\n * @license GNU GPL v3+\n * @author Jeroen De Dauw <jeroendedauw at gmail dot com>\n */\n\n( function ( $, mw ) {\n\tconst _this = this;\n\n\tthis.getPreviewImage = function( args, callback ) {\n\t\t$.getJSON(\n\t\t\tmw.config.get( 'wgScriptPath' ) + '/api.php',\n\t\t\t{\n\t\t\t\t'action': 'query',\n\t\t\t\t'format': 'json',\n\t\t\t\t'prop': 'imageinfo',\n\t\t\t\t'iiprop': 'url',\n\t\t\t\t'titles': 'File:' + args.title,\n\t\t\t\t'iiurlwidth': args.width\n\t\t\t},\n\t\t\t( data ) => {\n\t\t\t\tif ( data.query && data.query.pages ) {\n\t\t\t\t\tconst pages = data.query.pages;\n\n\t\t\t\t\tfor ( const p in pages ) { // object, not an array\n\t\t\t\t\t\tconst info = pages[p].imageinfo;\n\t\t\t\t\t\tif ( info && info.length > 0 ) {\n\t\t\t\t\t\t\tcallback( info[0].thumburl );\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcallback( false );\n\t\t\t}\n\t\t);\n\t};\n\n\t$( () => {\n\t\tconst showPreview = function( inputId ) {\n\t\t\tconst $input = $( '#' + inputId );\n\t\t\tconst $previewDiv = $( '#' + inputId + '_imagepreview' );\n\t\t\t_this.getPreviewImage(\n\t\t\t\t{\n\t\t\t\t\t'title': $input.val(),\n\t\t\t\t\t'width': 200\n\t\t\t\t},\n\t\t\t\t( url ) => {\n\t\t\t\t\tif ( url === false ) {\n\t\t\t\t\t\t$previewDiv.html( '' );\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$previewDiv.html( $( '<img />' ).attr( { 'src': url } ) );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t};\n\n\t\t$( '.pfImagePreview' ).each( ( index, domElement ) => {\n\t\t\tconst $uploadLink = $( domElement );\n\t\t\tconst inputId = $uploadLink.attr( 'data-input-id' );\n\t\t\tconst $input = $( '#' + inputId );\n\t\t\t$input.change( () => {\n\t\t\t\tshowPreview( inputId );\n\t\t\t} );\n\t\t} );\n\n\t\tmw.hook( 'pf.comboboxChange2' ).add( ( inputId ) => {\n\t\t\tshowPreview( inputId );\n\t\t} );\n\t} );\n}( jQuery, mediaWiki ) );\n","usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/libs/PF_maps.js","messages":[{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":8,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":8,"endColumn":50},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":9,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":9,"endColumn":44},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":10,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":10,"endColumn":44},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":38,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":40,"endColumn":5},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":42,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":42,"endColumn":53},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":52,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":52,"endColumn":66},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":76,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":76,"endColumn":42},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":109,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":109,"endColumn":49},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":120,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":120,"endColumn":54},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":123,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":123,"endColumn":53},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":136,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":136,"endColumn":111},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":137,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":137,"endColumn":97},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":138,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":139,"endColumn":58},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":158,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":158,"endColumn":53},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":182,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":182,"endColumn":62},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":183,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":183,"endColumn":42},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":184,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":184,"endColumn":35},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":185,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":185,"endColumn":51},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":186,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":186,"endColumn":51},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":187,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":187,"endColumn":35},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":188,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":188,"endColumn":51},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":189,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":189,"endColumn":51},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":199,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":199,"endColumn":55},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":200,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":200,"endColumn":55},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":201,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":201,"endColumn":51},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":208,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":208,"endColumn":67},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":209,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":209,"endColumn":52},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":210,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":210,"endColumn":105},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":217,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":217,"endColumn":51},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":218,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":218,"endColumn":19},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":219,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":221,"endColumn":12},{"ruleId":"no-jquery/no-done-fail","severity":1,"message":"Prefer .then to .done","line":240,"column":4,"nodeType":"CallExpression","endLine":271,"endColumn":6},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":246,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":246,"endColumn":31},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":247,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":247,"endColumn":31},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":252,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":252,"endColumn":53},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":253,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":253,"endColumn":39},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":254,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":254,"endColumn":28},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":255,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":255,"endColumn":25},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":256,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":256,"endColumn":26},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":257,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":257,"endColumn":27},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":259,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":259,"endColumn":58},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":262,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":262,"endColumn":68},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":263,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":263,"endColumn":53},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":264,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":264,"endColumn":105},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":267,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":267,"endColumn":42},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":276,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":276,"endColumn":40},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":277,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":277,"endColumn":45},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":282,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":282,"endColumn":35},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":283,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":283,"endColumn":35},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":293,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":293,"endColumn":55},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":301,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":301,"endColumn":40},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":307,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":307,"endColumn":56},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":345,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":345,"endColumn":102},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":361,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":361,"endColumn":37},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":362,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":362,"endColumn":37},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":379,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":380,"endColumn":30},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":402,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":402,"endColumn":39},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":407,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":407,"endColumn":102}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":58,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * @author Yaron Koren\n */\n\n/* global L */\n\nfunction setupMapFormInput( inputDiv, mapService ) {\n\tlet map, marker, markers, mapCanvas, mapOptions;\n\tlet imageHeight = null, imageWidth = null;\n\tlet numClicks = 0, timer = null, geocoder;\n\n\tif ( mapService === \"Google Maps\" ) {\n\t\tmapCanvas = inputDiv.find('.pfMapCanvas')[0];\n\t\tmapOptions = {\n\t\t\tzoom: 1,\n\t\t\tcenter: new google.maps.LatLng(0,0)\n\t\t};\n\t\tmap = new google.maps.Map(mapCanvas, mapOptions);\n\t\tgeocoder = new google.maps.Geocoder();\n\n\t\t// Let a click set the marker, while keeping the default\n\t\t// behavior (zoom and center) for double clicks.\n\t\t// Code copied from http://stackoverflow.com/a/8417447\n\t\tgoogle.maps.event.addListener( map, 'click', ( event ) => {\n\t\t\ttimer = setTimeout( () => {\n\t\t\t\tgoogleMapsSetMarker( event.latLng );\n\t\t\t}, 200 );\n\t\t});\n\t\tgoogle.maps.event.addListener( map, 'dblclick', ( event ) => {\n\t\t\tclearTimeout( timer );\n\t\t});\n\t} else if (mapService === \"Leaflet\") {\n\t\tmapCanvas = inputDiv.find('.pfMapCanvas').get(0);\n\t\tmapOptions = {\n\t\t\tzoom: 1,\n\t\t\tcenter: [ 0, 0 ]\n\t\t};\n\t\tconst layerOptions = {\n\t\t\tattribution: '&copy; <a href=\"https://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors'\n\t\t};\n\n\t\tconst imageUrl = inputDiv.attr('data-image-path');\n\t\tif ( imageUrl !== undefined ) {\n\t\t\timageHeight = inputDiv.attr('data-height');\n\t\t\timageWidth = inputDiv.attr('data-width');\n\t\t\tmapOptions.crs = L.CRS.Simple;\n\t\t}\n\n\t\tmap = L.map(mapCanvas, mapOptions);\n\n\t\tif ( imageUrl !== undefined ) {\n\t\t\tconst imageBounds = [ [ 0, 0 ], [ imageHeight, imageWidth ] ];\n\t\t\tL.imageOverlay(imageUrl, imageBounds).addTo(map);\n\t\t\tmap.fitBounds(imageBounds);\n\t\t} else {\n\t\t\tnew L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', layerOptions).addTo(map);\n\t\t}\n\n\t\tmap.on( 'click', ( event ) => {\n\t\t\t// Place/move the marker only on a single click, not a\n\t\t\t// double click (double clicks do a zoom).\n\t\t\t// Code based on https://stackoverflow.com/a/7845282\n\t\t\tnumClicks++;\n\t\t\tif (numClicks === 1) {\n\t\t\t\ttimer = setTimeout( () => {\n\t\t\t\t\tleafletSetMarker( event.latlng );\n\t\t\t\t\tnumClicks = 0;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tclearTimeout(timer);\n\t\t\t\tnumClicks = 0;\n\t\t\t}\n\t\t});\n\t} else { // if ( mapService === \"OpenLayers\" ) {\n\t\tmapCanvas = inputDiv.find('.pfMapCanvas');\n\t\tlet mapCanvasID = mapCanvas.attr('id');\n\t\tif ( mapCanvasID === undefined ) {\n\t\t\t// If no ID is set, it's probably in a multiple-\n\t\t\t// instance template; just set the ID to a random\n\t\t\t// string, so we can attach the map to it.\n\t\t\tmapCanvasID = mapCanvas.attr('data-origID') + '-' +\n\t\t\t\tMath.random().toString(36).slice(2, 15);\n\t\t\tmapCanvas.attr('ID', mapCanvasID);\n\t\t}\n\t\tmap = new OpenLayers.Map( mapCanvasID );\n\t\t// We do this more complex initialization, rather than just\n\t\t// calling OpenLayers.Layer.OSM(), so that the tiles will be\n\t\t// loaded via either HTTP or HTTPS, depending on what we are\n\t\t// using.\n\t\tmap.addLayer( new OpenLayers.Layer.OSM(\n\t\t\t\"OpenStreetMap\",\n\t\t\t// Official OSM tileset as protocol-independent URLs\n\t\t\t[\n\t\t\t\t'//a.tile.openstreetmap.org/${z}/${x}/${y}.png',\n\t\t\t\t'//b.tile.openstreetmap.org/${z}/${x}/${y}.png',\n\t\t\t\t'//c.tile.openstreetmap.org/${z}/${x}/${y}.png'\n\t\t\t],\n\t\t\tnull\n\t\t) );\n\n\t\tmap.zoomTo(0);\n\t\tmarkers = new OpenLayers.Layer.Markers( \"Markers\" );\n\t\tmap.addLayer( markers );\n\n\t\tmap.events.register(\"click\", map, (e) => {\n\t\t\tnumClicks++;\n\t\t\tif (numClicks === 1) {\n\t\t\t\ttimer = setTimeout( () => {\n\t\t\t\t\tconst loc = map.getLonLatFromPixel( e.xy );\n\t\t\t\t\topenLayersSetMarker( loc );\n\t\t\t\t\tnumClicks = 0;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tclearTimeout(timer);\n\t\t\t\tnumClicks = 0;\n\t\t\t}\n\t\t});\n\t}\n\n\tconst coordsInput = inputDiv.find('.pfCoordsInput');\n\tcoordsInput.keypress( function( e ) {\n\t\t// Is this still necessary for IE compatibility?\n\t\tconst keycode = (e.keyCode ? e.keyCode : e.which);\n\t\tif ( keycode == 13 ) {\n\t\t\tsetMarkerFromCoordinates();\n\t\t\t// Prevent the form from getting submitted.\n\t\t\te.preventDefault();\n\t\t\t$(this).removeClass( 'modifiedInput' )\n\t\t\t\t.parent().find('.pfCoordsInputHelpers').remove();\n\t\t}\n\t});\n\n\tcoordsInput.keydown( ( e ) => {\n\t\tif ( ! coordsInput.hasClass( 'modifiedInput' ) ) {\n\t\t\tcoordsInput.addClass( 'modifiedInput' );\n\t\t\tconst $checkMark = $('<a></a>').addClass( 'pfCoordsCheckMark' ).css( 'color', 'green' ).html( '&#10004;' );\n\t\t\tconst $xMark = $('<a></a>').addClass( 'pfCoordsX' ).css( 'color', 'red' ).html( '&#10008;' );\n\t\t\tconst $marksDiv = $('<span></span>').addClass( 'pfCoordsInputHelpers' )\n\t\t\t\t.append( $checkMark ).append( ' ' ).append( $xMark );\n\t\t\tcoordsInput.parent().append( $marksDiv );\n\n\t\t\t$checkMark.click( () => {\n\t\t\t\tsetMarkerFromCoordinates();\n\t\t\t\tcoordsInput.removeClass( 'modifiedInput' );\n\t\t\t\t$marksDiv.remove();\n\t\t\t});\n\n\t\t\t$xMark.click( () => {\n\t\t\t\tcoordsInput.removeClass( 'modifiedInput' )\n\t\t\t\t\t.val( coordsInput.attr('data-original-value') );\n\t\t\t\t$marksDiv.remove();\n\t\t\t});\n\t\t}\n\t});\n\n\tinputDiv.find('.pfAddressInput').keypress( ( e ) => {\n\t\t// Is this still necessary fro IE compatibility?\n\t\tconst keycode = (e.keyCode ? e.keyCode : e.which);\n\t\tif ( keycode == 13 ) {\n\t\t\tsetMarkerFromAddress();\n\t\t\t// Prevent the form from getting submitted.\n\t\t\te.preventDefault();\n\t\t}\n\t});\n\n\tinputDiv.find('.pfLookUpAddress').click( () => {\n\t\tsetMarkerFromAddress();\n\t});\n\n\n\tif ( coordsInput.val() != '' ) {\n\t\tif ( mapService == 'OpenLayers' ) {\n\t\t\tmap.zoomTo( 14 );\n\t\t} else {\n\t\t\tmap.setZoom( 14 );\n\t\t}\n\t\t// This has to be called after the zooming, for the OpenLayers\n\t\t// zoom to work correctly.\n\t\tsetMarkerFromCoordinates();\n\t} else {\n\t\tif ( coordsInput.attr('data-bound-coords') ) {\n\t\t\tconst boundCoords = coordsInput.attr('data-bound-coords');\n\t\t\tconst coords = boundCoords.split(\";\");\n\t\t\tconst boundCoords1 = coords[0];\n\t\t\tconst lat1 = boundCoords1.split(\",\")[0].trim();\n\t\t\tconst lon1 = boundCoords1.split(\",\")[1].trim();\n\t\t\tconst boundCoords2 = coords[1];\n\t\t\tconst lat2 = boundCoords2.split(\",\")[0].trim();\n\t\t\tconst lon2 = boundCoords2.split(\",\")[1].trim();\n\t\t\tif ( !jQuery.isNumeric( lat1 ) || !jQuery.isNumeric( lon1 ) ||\n\t\t\t!jQuery.isNumeric( lat2 ) || !jQuery.isNumeric( lon2 ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( lat1 < -90 || lat1 > 90 || lon1 < -180 || lon1 > 180 ||\n\t\t\t\tlat2 < -90 || lat2 > 90 || lon2 < -180 || lon2 > 180 ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( mapService === \"Google Maps\" ) {\n\t\t\t\tconst bound1 = new google.maps.LatLng(lat1, lon1);\n\t\t\t\tconst bound2 = new google.maps.LatLng(lat2, lon2);\n\t\t\t\tconst bounds = new google.maps.LatLngBounds();\n\t\t\t\tbounds.extend(bound1);\n\t\t\t\tbounds.extend(bound2);\n\t\t\t\tmap.fitBounds(bounds);\n\t\t\t} else if ( mapService === \"Leaflet\" ){\n\t\t\t\tmap.fitBounds([ [ lat1, lon1 ], [ lat2, lon2 ] ]);\n\t\t\t} else { // if ( mapService === \"OpenLayers\" ) {\n\t\t\t\tconst fromProjection = new OpenLayers.Projection(\"EPSG:4326\"); // transform from WGS 1984\n\t\t\t\tconst toProjection = map.getProjectionObject(); // to Spherical Mercator Projection\n\t\t\t\tconst bounds = new OpenLayers.Bounds(lon1, lat1, lon2, lat2).transform(fromProjection,toProjection);\n\t\t\t\tmap.zoomToExtent(bounds);\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction setMarkerFromAddress() {\n\t\tconst currentMapName = coordsInput.attr('name');\n\t\tlet addressText;\n\t\tconst allFeedersForCurrentMap = jQuery('[data-feeds-to-map=\"' + currentMapName + '\"]').map( function() {\n\t\t\treturn $( this ).val()\n\t\t}).get();\n\t\tif ( allFeedersForCurrentMap.length > 0 ) {\n\t\t\t// Assemble a single string from all the address inputs that feed to this map.\n\t\t\taddressText = allFeedersForCurrentMap.join( ', ' );\n\t\t} else {\n\t\t\t// No other inputs feed to this map, so use the standard \"Enter address here\" input.\n\t\t\taddressText = inputDiv.find('.pfAddressInput input').val();\n\t\t}\n\t\tif ( mapService === \"Google Maps\" ) {\n\t\t\tgeocoder.geocode( { 'address': addressText }, (results, status) => {\n\t\t\t\tif (status == google.maps.GeocoderStatus.OK) {\n\t\t\t\t\tmap.setCenter(results[0].geometry.location);\n\t\t\t\t\tgoogleMapsSetMarker( results[0].geometry.location );\n\t\t\t\t\tmap.setZoom(14);\n\t\t\t\t} else {\n\t\t\t\t\talert(\"Geocode was not successful for the following reason: \" + status);\n\t\t\t\t}\n\t\t\t});\n\t\t} else { // Leaflet, OpenLayers\n\t\t\t$.ajax( 'https://nominatim.openstreetmap.org/search?format=json&q=' + encodeURIComponent( addressText ) )\n\t\t\t.done( ( result ) => {\n\t\t\t\tif ( result.length === 0 ) {\n\t\t\t\t\talert(\"Geocode was not successful\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst lat = result[0].lat;\n\t\t\t\tconst lon = result[0].lon;\n\t\t\t\t// Use the specified bounds - this is better\n\t\t\t\t// than a preset zoom, because it handles the\n\t\t\t\t// precision correctly for countries, cities,\n\t\t\t\t// etc.\n\t\t\t\tconst boundsStr = String(result[0].boundingbox);\n\t\t\t\tconst vals = boundsStr.split(\",\");\n\t\t\t\tconst bottom = vals[0];\n\t\t\t\tconst top = vals[1];\n\t\t\t\tconst left = vals[2];\n\t\t\t\tconst right = vals[3];\n\t\t\t\tif ( mapService === \"OpenLayers\" ) {\n\t\t\t\t\tconst olPoint = toOpenLayersLonLat( map, lat, lon );\n\t\t\t\t\topenLayersSetMarker( olPoint );\n\t\t\t\t\tmap.setCenter( olPoint );\n\t\t\t\t\tconst fromProjection = new OpenLayers.Projection(\"EPSG:4326\"); // transform from WGS 1984\n\t\t\t\t\tconst toProjection = map.getProjectionObject(); // to Spherical Mercator Projection\n\t\t\t\t\tconst bounds = new OpenLayers.Bounds(left,bottom,right,top).transform(fromProjection,toProjection);\n\t\t\t\t\tmap.zoomToExtent(bounds);\n\t\t\t\t} else if ( mapService === \"Leaflet\" ) {\n\t\t\t\t\tconst lPoint = L.latLng( lat, lon );\n\t\t\t\t\tleafletSetMarker( lPoint );\n\t\t\t\t\tmap.fitBounds([ [ bottom, left ], [ top, right ] ]);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tfunction setMarkerFromCoordinates() {\n\t\tconst coordsText = coordsInput.val();\n\t\tconst coordsParts = coordsText.split(\",\");\n\t\tif ( coordsParts.length != 2 ) {\n\t\t\tcoordsInput.val('');\n\t\t\treturn;\n\t\t}\n\t\tlet lat = coordsParts[0].trim();\n\t\tlet lon = coordsParts[1].trim();\n\t\tif ( !jQuery.isNumeric( lat ) || !jQuery.isNumeric( lon ) ) {\n\t\t\tcoordsInput.val('');\n\t\t\treturn;\n\t\t}\n\t\tif ( lat < -90 || lat > 90 || lon < -180 || lon > 180 ) {\n\t\t\tcoordsInput.val('');\n\t\t\treturn;\n\t\t}\n\t\tif ( mapService === \"Google Maps\" ) {\n\t\t\tconst gmPoint = new google.maps.LatLng( lat, lon );\n\t\t\tgoogleMapsSetMarker( gmPoint );\n\t\t\tmap.setCenter( gmPoint );\n\t\t} else if ( mapService === \"Leaflet\" ){\n\t\t\tif ( imageHeight !== null && imageWidth !== null ) {\n\t\t\t\tlat *= imageWidth / 100;\n\t\t\t\tlon *= imageWidth / 100;\n\t\t\t}\n\t\t\tconst lPoint = L.latLng( lat, lon );\n\t\t\tleafletSetMarker( lPoint );\n\t\t\tif ( imageHeight == null && imageWidth == null ) {\n\t\t\t\tmap.setView( lPoint, 14 );\n\t\t\t}\n\t\t} else { // if ( mapService === \"OpenLayers\" ) {\n\t\t\tconst olPoint = toOpenLayersLonLat( map, lat, lon );\n\t\t\topenLayersSetMarker( olPoint );\n\t\t\tmap.setCenter( olPoint );\n\t\t}\n\t}\n\n\tfunction toOpenLayersLonLat( maps, lat, lon ) {\n\t\treturn new OpenLayers.LonLat( lon, lat ).transform(\n\t\t\tnew OpenLayers.Projection(\"EPSG:4326\"), // transform from WGS 1984\n\t\t\tmaps.getProjectionObject() // to Spherical Mercator Projection\n\t\t);\n\t}\n\n\t/**\n\t * Round off a number to five decimal places - that's the most\n\t * we need for coordinates, one would think.\n\t *\n\t * @param {Mixed} num\n\t * @return {Mixed}\n\t */\n\tfunction pfRoundOffDecimal( num ) {\n\t\treturn Math.round( num * 100000 ) / 100000;\n\t}\n\n\tfunction googleMapsSetMarker(location) {\n\t\tif (marker == undefined){\n\t\t\tmarker = new google.maps.Marker({\n\t\t\t\tposition: location,\n\t\t\t\tmap: map,\n\t\t\t\tdraggable: true\n\t\t\t});\n\t\t\tgoogle.maps.event.addListener( marker, 'dragend', ( event ) => {\n\t\t\t\tgoogleMapsSetMarker( event.latLng );\n\t\t\t});\n\n\t\t} else {\n\t\t\tmarker.setPosition(location);\n\t\t}\n\t\tconst stringVal = pfRoundOffDecimal( location.lat() ) + ', ' + pfRoundOffDecimal( location.lng() );\n\t\tcoordsInput.val( stringVal )\n\t\t\t.attr( 'data-original-value', stringVal )\n\t\t\t.removeClass( 'modifiedInput' )\n\t\t\t.parent().find('.pfCoordsInputHelpers').remove();\n\t}\n\n\tfunction leafletSetMarker( location ) {\n\t\tif ( marker == null) {\n\t\t\tmarker = L.marker( location ).addTo( map );\n\t\t} else {\n\t\t\tmarker.setLatLng( location, { draggable: true } );\n\t\t}\n\t\tmarker.dragging.enable();\n\n\t\tfunction setInput() {\n\t\t\tlet lat = marker.getLatLng().lat;\n\t\t\tlet lng = marker.getLatLng().lng;\n\t\t\tif ( imageHeight == null && imageWidth == null ) {\n\t\t\t\t// Normal map.\n\t\t\t\t// Leaflet permits longitude beyond ±180, so\n\t\t\t\t// we have to normalize this here.\n\t\t\t\t// Google Maps and OpenLayers don't have this\n\t\t\t\t// issue.\n\t\t\t\twhile ( lng < -180 ) {\n\t\t\t\t\tlng += 360;\n\t\t\t\t}\n\t\t\t\twhile ( lng > 180 ) {\n\t\t\t\t\tlng -= 360;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlat *= 100 / imageWidth;\n\t\t\t\tlng *= 100 / imageWidth;\n\t\t\t}\n\t\t\tconst stringVal = pfRoundOffDecimal( lat ) + ', ' +\n\t\t\t\tpfRoundOffDecimal( lng );\n\t\t\tcoordsInput.val( stringVal )\n\t\t\t\t.attr( 'data-original-value', stringVal )\n\t\t\t\t.removeClass( 'modifiedInput' )\n\t\t\t\t.parent().find('.pfCoordsInputHelpers').remove();\n\t\t}\n\n\t\tmarker.off('dragend').on('dragend', ( event ) => {\n\t\t\tsetInput();\n\t\t});\n\t\tsetInput();\n\t}\n\n\tfunction openLayersSetMarker( location ) {\n\t\t// OpenLayers does not have a real marker move\n\t\t// option - instead, just delete the old marker\n\t\t// and add a new one.\n\t\tmarkers.clearMarkers();\n\t\tmarker = new OpenLayers.Marker( location );\n\t\tmarkers.addMarker( marker );\n\n\t\t// Transform the coordinates back, in order to display them.\n\t\tconst realLonLat = location.clone();\n\t\trealLonLat.transform(\n\t\t\tmap.getProjectionObject(), // transform from Spherical Mercator Projection\n\t\t\tnew OpenLayers.Projection(\"EPSG:4326\") // to WGS 1984\n\t\t);\n\t\tconst stringVal = pfRoundOffDecimal( realLonLat.lat ) + ', ' + pfRoundOffDecimal( realLonLat.lon );\n\t\tcoordsInput.val( stringVal )\n\t\t\t.attr( 'data-original-value', stringVal )\n\t\t\t.removeClass( 'modifiedInput' )\n\t\t\t.parent().find('.pfCoordsInputHelpers').remove();\n\t}\n}\n\n$( () => {\n\tjQuery(\".pfGoogleMapsInput\").each( function() {\n\t\t// Ignore the hidden \"starter\" div in multiple-instance templates.\n\t\tif ( $(this).closest(\".multipleTemplateStarter\").length > 0 ) {\n\t\t\treturn;\n\t\t}\n\t\tsetupMapFormInput( jQuery(this), \"Google Maps\" );\n\t});\n\tjQuery(\".pfLeafletInput\").each( function() {\n\t\tif ( $(this).closest(\".multipleTemplateStarter\").length > 0 ) {\n\t\t\treturn;\n\t\t}\n\t\tsetupMapFormInput( jQuery(this), \"Leaflet\" );\n\t});\n\tjQuery(\".pfOpenLayersInput\").each( function() {\n\t\tif ( $(this).closest(\".multipleTemplateStarter\").length > 0 ) {\n\t\t\treturn;\n\t\t}\n\t\tsetupMapFormInput( jQuery(this), \"OpenLayers\" );\n\t});\n});\n\n// Activate maps in a new instance of a multiple-instance template.\nmw.hook('pf.addTemplateInstance').add( ( $newInstance ) => {\n\t$newInstance.find(\".pfGoogleMapsInput\").each( function() {\n\t\tsetupMapFormInput( jQuery(this), \"Google Maps\" );\n\t});\n\t$newInstance.find(\".pfLeafletInput\").each( function() {\n\t\tsetupMapFormInput( jQuery(this), \"Leaflet\" );\n\t});\n\t$newInstance.find(\".pfOpenLayersInput\").each( function() {\n\t\tsetupMapFormInput( jQuery(this), \"OpenLayers\" );\n\t});\n});\n","usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/libs/PF_maps.offline.js","messages":[{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":21,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":21,"endColumn":60},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":22,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":22,"endColumn":34},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":24,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":24,"endColumn":54},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":39,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":39,"endColumn":102},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":56,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":57,"endColumn":49},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":79,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":79,"endColumn":39},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":84,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":84,"endColumn":102},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":117,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":119,"endColumn":5},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":141,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":141,"endColumn":42},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":173,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":173,"endColumn":49},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":192,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":192,"endColumn":40},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":193,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":193,"endColumn":45},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":198,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":198,"endColumn":37},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":199,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":199,"endColumn":37},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":209,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":209,"endColumn":55},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":213,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":213,"endColumn":40},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":217,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":217,"endColumn":56},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":225,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":225,"endColumn":53},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":239,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":239,"endColumn":111},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":240,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":240,"endColumn":97},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":241,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":242,"endColumn":58},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":260,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":261,"endColumn":10},{"ruleId":"prefer-const","severity":1,"message":"'addressText' is never reassigned. Use 'const' instead.","line":260,"column":7,"nodeType":"Identifier","messageId":"useConst","endLine":260,"endColumn":18},{"ruleId":"no-jquery/no-done-fail","severity":1,"message":"Prefer .then to .done","line":274,"column":4,"nodeType":"CallExpression","endLine":305,"endColumn":6},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":280,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":280,"endColumn":31},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":281,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":281,"endColumn":31},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":286,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":286,"endColumn":53},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":287,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":287,"endColumn":39},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":288,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":288,"endColumn":28},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":289,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":289,"endColumn":25},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":290,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":290,"endColumn":26},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":291,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":291,"endColumn":27},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":293,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":293,"endColumn":58},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":296,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":296,"endColumn":68},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":297,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":297,"endColumn":53},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":298,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":298,"endColumn":105},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":301,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":301,"endColumn":42},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":311,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":311,"endColumn":53}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":38,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * @author Yaron Koren\n * @author Paladox\n */\n\n/* global L */\n\nfunction setupMapFormInput( inputDiv, mapService ) {\n\n\t/**\n\t * Round off a number to five decimal places - that's the most\n\t * we need for coordinates, one would think.\n\t *\n\t * @param {Mixed} num\n\t * @return {Mixed}\n\t */\n\tfunction pfRoundOffDecimal( num ) {\n\t\treturn Math.round( num * 100000 ) / 100000;\n\t}\n\n\tlet map, marker, markers, mapCanvas, mapOptions, geocoder;\n\tlet numClicks = 0, timer = null;\n\n\tconst coordsInput = inputDiv.find('.pfCoordsInput');\n\n\tfunction googleMapsSetMarker( location ) {\n\t\tif ( marker === undefined ){\n\t\t\tmarker = new google.maps.Marker( {\n\t\t\t\tposition: location,\n\t\t\t\tmap: map,\n\t\t\t\tdraggable: true\n\t\t\t} );\n\t\t\tgoogle.maps.event.addListener( marker, 'dragend', ( event ) => {\n\t\t\t\tgoogleMapsSetMarker( event.latLng );\n\t\t\t});\n\t\t} else {\n\t\t\tmarker.setPosition(location);\n\t\t}\n\t\tconst stringVal = pfRoundOffDecimal( location.lat() ) + ', ' + pfRoundOffDecimal( location.lng() );\n\t\tcoordsInput.val( stringVal )\n\t\t\t.attr( 'data-original-value', stringVal )\n\t\t\t.removeClass( 'modifiedInput' )\n\t\t\t.parent().find('.pfCoordsInputHelpers').remove();\n\n\t}\n\n\tfunction leafletSetMarker( location ) {\n\t\tif ( marker === null) {\n\t\t\tmarker = L.marker( location ).addTo( map );\n\t\t} else {\n\t\t\tmarker.setLatLng( location, { draggable: true } );\n\t\t}\n\t\tmarker.dragging.enable();\n\n\t\tfunction setInput() {\n\t\t\tconst stringVal = pfRoundOffDecimal( marker.getLatLng().lat ) + ', ' +\n\t\t\t\tpfRoundOffDecimal( marker.getLatLng().lng );\n\t\t\tcoordsInput.val( stringVal )\n\t\t\t\t.attr( 'data-original-value', stringVal )\n\t\t\t\t.removeClass( 'modifiedInput' )\n\t\t\t\t.parent().find('.pfCoordsInputHelpers').remove();\n\t\t}\n\n\t\tmarker.off('dragend').on('dragend', ( event ) => {\n\t\t\tsetInput();\n\t\t});\n\t\tsetInput();\n\t}\n\n\tfunction openLayersSetMarker( location ) {\n\t\t// OpenLayers does not have a real marker move\n\t\t// option - instead, just delete the old marker\n\t\t// and add a new one.\n\t\tmarkers.clearMarkers();\n\t\tmarker = new OpenLayers.Marker( location );\n\t\tmarkers.addMarker( marker );\n\n\t\t// Transform the coordinates back, in order to display them.\n\t\tconst realLonLat = location.clone();\n\t\trealLonLat.transform(\n\t\t\tmap.getProjectionObject(), // transform from Spherical Mercator Projection\n\t\t\tnew OpenLayers.Projection(\"EPSG:4326\") // to WGS 1984\n\t\t);\n\t\tconst stringVal = pfRoundOffDecimal( realLonLat.lat ) + ', ' + pfRoundOffDecimal( realLonLat.lon );\n\t\tcoordsInput.val( stringVal )\n\t\t\t.attr( 'data-original-value', stringVal )\n\t\t\t.removeClass( 'modifiedInput' )\n\t\t\t.parent().find('.pfCoordsInputHelpers').remove();\n\t}\n\n\tif ( mapService === \"Google Maps\" ) {\n\t\tmapCanvas = inputDiv.find('.pfMapCanvas')[ 0 ];\n\t\tmapOptions = {\n\t\t\tzoom: 1,\n\t\t\tcenter: new google.maps.LatLng( 0, 0 )\n\t\t};\n\t\tmap = new google.maps.Map( mapCanvas, mapOptions );\n\t\tgeocoder = new google.maps.Geocoder();\n\n\t\t// Let a click set the marker, while keeping the default\n\t\t// behavior (zoom and center) for double clicks.\n\t\t// Code copied from http://stackoverflow.com/a/8417447\n\t\tgoogle.maps.event.addListener( map, 'click', ( event ) => {\n\t\t\ttimer = setTimeout( () => {\n\t\t\t\tgoogleMapsSetMarker( event.latLng );\n\t\t\t}, 200 );\n\t\t});\n\t\tgoogle.maps.event.addListener( map, 'dblclick', ( event ) => {\n\t\t\tclearTimeout( timer );\n\t\t});\n\t} else if (mapService === \"Leaflet\") {\n\t\tmapCanvas = inputDiv.find('.pfMapCanvas').get(0);\n\t\tmapOptions = {\n\t\t\tzoom: 1,\n\t\t\tcenter: [ 0, 0 ]\n\t\t};\n\t\tconst layerOptions = {\n\t\t\tattribution: '&copy; <a href=\"https://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors'\n\t\t};\n\n\t\tmap = L.map(mapCanvas, mapOptions);\n\t\tnew L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', layerOptions).addTo(map);\n\n\t\tmap.on( 'click', ( event ) => {\n\t\t\t// Place/move the marker only on a single click, not a\n\t\t\t// double click (double clicks do a zoom).\n\t\t\t// Code based on https://stackoverflow.com/a/7845282\n\t\t\tnumClicks++;\n\t\t\tif (numClicks === 1) {\n\t\t\t\ttimer = setTimeout( () => {\n\t\t\t\t\tleafletSetMarker( event.latlng );\n\t\t\t\t\tnumClicks = 0;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tclearTimeout(timer);\n\t\t\t\tnumClicks = 0;\n\t\t\t}\n\t\t});\n\t} else { // if ( mapService == \"OpenLayers\" ) {\n\t\tmapCanvas = inputDiv.find('.pfMapCanvas');\n\t\tlet mapCanvasID = mapCanvas.attr('id');\n\t\tif ( mapCanvasID === undefined ) {\n\t\t\t// If no ID is set, it's probably in a multiple-\n\t\t\t// instance template; just set the ID to a random\n\t\t\t// string, so we can attach the map to it.\n\t\t\tmapCanvasID = mapCanvas.attr('data-origID') + '-' +\n\t\t\t\tMath.random().toString(36).slice(2, 15);\n\t\t\tmapCanvas.attr('ID', mapCanvasID);\n\t\t}\n\t\tmap = new OpenLayers.Map( mapCanvasID );\n\t\t// We do this more complex initialization, rather than just\n\t\t// calling OpenLayers.Layer.OSM(), so that the tiles will be\n\t\t// loaded via either HTTP or HTTPS, depending on what we are\n\t\t// using.\n\t\tmap.addLayer( new OpenLayers.Layer.OSM(\n\t\t\t\"OpenStreetMap\",\n\t\t\t// Official OSM tileset as protocol-independent URLs\n\t\t\t[\n\t\t\t\t'//a.tile.openstreetmap.org/${z}/${x}/${y}.png',\n\t\t\t\t'//b.tile.openstreetmap.org/${z}/${x}/${y}.png',\n\t\t\t\t'//c.tile.openstreetmap.org/${z}/${x}/${y}.png'\n\t\t\t],\n\t\t\tnull\n\t\t) );\n\t\tmap.zoomTo( 0 );\n\t\tmarkers = new OpenLayers.Layer.Markers( \"Markers\" );\n\t\tmap.addLayer( markers );\n\n\t\tmap.events.register( \"click\", map, ( e ) => {\n\t\t\tnumClicks++;\n\t\t\tif (numClicks === 1) {\n\t\t\t\ttimer = setTimeout( () => {\n\t\t\t\t\tconst loc = map.getLonLatFromPixel( e.xy );\n\t\t\t\t\topenLayersSetMarker( loc );\n\t\t\t\t\tnumClicks = 0;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tclearTimeout(timer);\n\t\t\t\tnumClicks = 0;\n\t\t\t}\n\t\t} );\n\t}\n\n\tfunction toOpenLayersLonLat( maps, lat, lon ) {\n\t\treturn new OpenLayers.LonLat( lon, lat ).transform(\n\t\t\tnew OpenLayers.Projection( \"EPSG:4326\" ), // transform from WGS 1984\n\t\t\tmaps.getProjectionObject() // to Spherical Mercator Projection\n\t\t);\n\t}\n\n\tfunction setMarkerFromCoordinates() {\n\t\tconst coordsText = coordsInput.val();\n\t\tconst coordsParts = coordsText.split(\",\");\n\t\tif ( coordsParts.length !== 2 ) {\n\t\t\tcoordsInput.val('');\n\t\t\treturn;\n\t\t}\n\t\tconst lat = coordsParts[0].trim();\n\t\tconst lon = coordsParts[1].trim();\n\t\tif ( !jQuery.isNumeric( lat ) || !jQuery.isNumeric( lon ) ) {\n\t\t\tcoordsInput.val('');\n\t\t\treturn;\n\t\t}\n\t\tif ( lat < -90 || lat > 90 || lon < -180 || lon > 180 ) {\n\t\t\tcoordsInput.val('');\n\t\t\treturn;\n\t\t}\n\t\tif ( mapService === \"Google Maps\" ) {\n\t\t\tconst gmPoint = new google.maps.LatLng( lat, lon );\n\t\t\tgoogleMapsSetMarker( gmPoint );\n\t\t\tmap.setCenter( gmPoint );\n\t\t} else if ( mapService === \"Leaflet\" ){\n\t\t\tconst lPoint = L.latLng( lat, lon );\n\t\t\tleafletSetMarker( lPoint );\n\t\t\tmap.setView( lPoint, 14 );\n\t\t} else { // if ( mapService === \"OpenLayers\" ) {\n\t\t\tconst olPoint = toOpenLayersLonLat( map, lat, lon );\n\t\t\topenLayersSetMarker( olPoint );\n\t\t\tmap.setCenter( olPoint, 14 );\n\t\t}\n\t}\n\n\tcoordsInput.keypress( function( e ) {\n\t\t// Is this still necessary fro IE compatibility?\n\t\tconst keycode = (e.keyCode ? e.keyCode : e.which);\n\t\tif ( keycode === 13 ) {\n\t\t\tsetMarkerFromCoordinates();\n\t\t\t// Prevent the form from getting submitted.\n\t\t\te.preventDefault();\n\t\t\t$(this).removeClass( 'modifiedInput' )\n\t\t\t\t.parent().find('.pfCoordsInputHelpers').remove();\n\n\t\t}\n\t});\n\n\tcoordsInput.keydown( ( e ) => {\n\t\tif ( ! coordsInput.hasClass( 'modifiedInput' ) ) {\n\t\t\tcoordsInput.addClass( 'modifiedInput' );\n\t\t\tconst $checkMark = $('<a></a>').addClass( 'pfCoordsCheckMark' ).css( 'color', 'green' ).html( '&#10004;' );\n\t\t\tconst $xMark = $('<a></a>').addClass( 'pfCoordsX' ).css( 'color', 'red' ).html( '&#10008;' );\n\t\t\tconst $marksDiv = $('<span></span>').addClass( 'pfCoordsInputHelpers' )\n\t\t\t\t.append( $checkMark ).append( ' ' ).append( $xMark );\n\t\t\tcoordsInput.parent().append( $marksDiv );\n\n\t\t\t$checkMark.click( () => {\n\t\t\t\tsetMarkerFromCoordinates();\n\t\t\t\tcoordsInput.removeClass( 'modifiedInput' );\n\t\t\t\t$marksDiv.remove();\n\t\t\t});\n\n\t\t\t$xMark.click( () => {\n\t\t\t\tcoordsInput.removeClass( 'modifiedInput' )\n\t\t\t\t\t.val( coordsInput.attr('data-original-value') );\n\t\t\t\t$marksDiv.remove();\n\t\t\t});\n\t\t}\n\t});\n\n\tfunction setMarkerFromAddress() {\n\t\tlet addressText = inputDiv.find('.pfAddressInput input').val(),\n\t\t\talert;\n\t\tif ( mapService === \"Google Maps\" ) {\n\t\t\tmap.setZoom(14);\n\t\t\tgeocoder.geocode( { 'address': addressText }, (results, status) => {\n\t\t\t\tif (status === google.maps.GeocoderStatus.OK) {\n\t\t\t\t\tmap.setCenter(results[0].geometry.location);\n\t\t\t\t\tgoogleMapsSetMarker( results[0].geometry.location );\n\t\t\t\t\tmap.setZoom(14);\n\t\t\t\t} else {\n\t\t\t\t\talert(\"Geocode was not successful for the following reason: \" + status);\n\t\t\t\t}\n\t\t\t});\n\t\t } else { // Leaflet, OpenLayers\n\t\t\t$.ajax( 'https://nominatim.openstreetmap.org/search?format=json&q=' + encodeURIComponent( addressText ) )\n\t\t\t.done( ( result ) => {\n\t\t\t\tif ( result.length === 0 ) {\n\t\t\t\t\talert(\"Geocode was not successful\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst lat = result[0].lat;\n\t\t\t\tconst lon = result[0].lon;\n\t\t\t\t// Use the specified bounds - this is better\n\t\t\t\t// than a preset zoom, because it handles the\n\t\t\t\t// precision correctly for countries, cities,\n\t\t\t\t// etc.\n\t\t\t\tconst boundsStr = String(result[0].boundingbox);\n\t\t\t\tconst vals = boundsStr.split(\",\");\n\t\t\t\tconst bottom = vals[0];\n\t\t\t\tconst top = vals[1];\n\t\t\t\tconst left = vals[2];\n\t\t\t\tconst right = vals[3];\n\t\t\t\tif ( mapService === \"OpenLayers\" ) {\n\t\t\t\t\tconst olPoint = toOpenLayersLonLat( map, lat, lon );\n\t\t\t\t\topenLayersSetMarker( olPoint );\n\t\t\t\t\tmap.setCenter( olPoint );\n\t\t\t\t\tconst fromProjection = new OpenLayers.Projection(\"EPSG:4326\"); // transform from WGS 1984\n\t\t\t\t\tconst toProjection = map.getProjectionObject(); // to Spherical Mercator Projection\n\t\t\t\t\tconst bounds = new OpenLayers.Bounds(left,bottom,right,top).transform(fromProjection,toProjection);\n\t\t\t\t\tmap.zoomToExtent(bounds);\n\t\t\t\t} else if ( mapService === \"Leaflet\" ) {\n\t\t\t\t\tconst lPoint = L.latLng( lat, lon );\n\t\t\t\t\tleafletSetMarker( lPoint );\n\t\t\t\t\tmap.fitBounds([ [ bottom, left ], [ top, right ] ]);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tinputDiv.find('.pfAddressInput').keypress( ( e ) => {\n\t\t// Is this still necessary fro IE compatibility?\n\t\tconst keycode = (e.keyCode ? e.keyCode : e.which);\n\t\tif ( keycode === 13 ) {\n\t\t\tsetMarkerFromAddress();\n\t\t\t// Prevent the form from getting submitted.\n\t\t\te.preventDefault();\n\t\t}\n\t} );\n\n\tinputDiv.find('.pfLookUpAddress').click( () => {\n\t\tsetMarkerFromAddress();\n\t});\n\n\n\tif ( coordsInput.val() !== '' ) {\n\t\tsetMarkerFromCoordinates();\n\t}\n}\n\n$( () => {\n\tjQuery(\".pfGoogleMapsInput\").each( function() {\n\t\t// Ignore the hidden \"starter\" div in multiple-instance templates.\n\t\tif ( $(this).closest(\".multipleTemplateStarter\").length > 0 ) {\n\t\t\treturn;\n\t\t}\n\t\tsetupMapFormInput( jQuery(this), \"Google Maps\" );\n\t});\n\tjQuery(\".pfLeafletInput\").each( function() {\n\t\tif ( $(this).closest(\".multipleTemplateStarter\").length > 0 ) {\n\t\t\treturn;\n\t\t}\n\t\tsetupMapFormInput( jQuery(this), \"Leaflet\" );\n\t});\n\tjQuery(\".pfOpenLayersInput\").each( function() {\n\t\tif ( $(this).closest(\".multipleTemplateStarter\").length > 0 ) {\n\t\t\treturn;\n\t\t}\n\t\tsetupMapFormInput( jQuery(this), \"OpenLayers\" );\n\t});\n});\n\n// Activate maps in a new instance of a multiple-instance template.\nmw.hook('pf.addTemplateInstance').add(( $newInstance ) => {\n\t$newInstance.find(\".pfGoogleMapsInput\").each( function() {\n\t\tsetupMapFormInput( jQuery(this), \"Google Maps\" );\n\t});\n\t$newInstance.find(\".pfLeafletInput\").each( function() {\n\t\tsetupMapFormInput( jQuery(this), \"Leaflet\" );\n\t});\n\t$newInstance.find(\".pfOpenLayersInput\").each( function() {\n\t\tsetupMapFormInput( jQuery(this), \"OpenLayers\" );\n\t});\n});\n","usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/libs/PF_popupform.js","messages":[{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":36,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":36,"endColumn":15},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":37,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":37,"endColumn":18},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":38,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":38,"endColumn":16},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":39,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":39,"endColumn":22},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":40,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":40,"endColumn":14},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":41,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":41,"endColumn":15},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":42,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":42,"endColumn":21},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":43,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":43,"endColumn":19},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":45,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":45,"endColumn":12},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":46,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":46,"endColumn":25},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":48,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":48,"endColumn":10},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":50,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":50,"endColumn":34},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":52,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":52,"endColumn":21},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":53,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":53,"endColumn":13},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":73,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":73,"endColumn":39},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":74,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":74,"endColumn":40},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":75,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":75,"endColumn":37},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":76,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":76,"endColumn":38},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":78,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":78,"endColumn":61},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":79,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":79,"endColumn":62},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":81,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":81,"endColumn":66},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":82,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":82,"endColumn":67},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":85,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":85,"endColumn":22},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":86,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":86,"endColumn":22},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":90,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":90,"endColumn":42},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":91,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":91,"endColumn":32},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":93,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":93,"endColumn":37},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":94,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":94,"endColumn":39},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":107,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":107,"endColumn":31},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":108,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":108,"endColumn":32},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":126,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":126,"endColumn":36},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":127,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":127,"endColumn":36},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":131,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":131,"endColumn":101},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":132,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":132,"endColumn":101},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":134,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":136,"endColumn":91},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":138,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":140,"endColumn":91},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":144,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":144,"endColumn":14},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":145,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":145,"endColumn":14},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":147,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":147,"endColumn":13},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":148,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":148,"endColumn":13},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":294,"column":5,"nodeType":"MemberExpression","messageId":"forbidden","endLine":294,"endColumn":33},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":294,"column":5,"nodeType":"MemberExpression","messageId":"forbidden","endLine":294,"endColumn":33},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":295,"column":4,"nodeType":"MemberExpression","messageId":"forbidden","endLine":295,"endColumn":31},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":295,"column":4,"nodeType":"MemberExpression","messageId":"forbidden","endLine":295,"endColumn":31},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":299,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":299,"endColumn":21},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":302,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":302,"endColumn":61},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":309,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":309,"endColumn":77},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":313,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":313,"endColumn":63},{"ruleId":"no-jquery/variable-pattern","severity":1,"message":"jQuery collection names must match the variablePattern","line":315,"column":3,"nodeType":"AssignmentExpression","endLine":315,"endColumn":61},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":319,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":319,"endColumn":70},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":363,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":363,"endColumn":34},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":365,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":365,"endColumn":42},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":374,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":374,"endColumn":38},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":375,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":375,"endColumn":109},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":379,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":379,"endColumn":78},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":406,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":406,"endColumn":49},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":411,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":411,"endColumn":28},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":414,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":414,"endColumn":41},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":418,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":418,"endColumn":42},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":463,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":463,"endColumn":21},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":474,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":474,"endColumn":46},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":476,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":476,"endColumn":62},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":502,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":502,"endColumn":48},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":503,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":503,"endColumn":43},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":512,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":540,"endColumn":25},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":546,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":546,"endColumn":31},{"ruleId":"es-x/no-resizable-and-growable-arraybuffers","severity":1,"message":"ES2024 Resizable ArrayBuffer is forbidden.","line":586,"column":3,"nodeType":"MemberExpression","messageId":"forbiddenForResizableArrayBuffer","endLine":586,"endColumn":26},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":592,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":592,"endColumn":42},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":593,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":593,"endColumn":91},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":594,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":594,"endColumn":34},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":598,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":598,"endColumn":25},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":599,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":599,"endColumn":37},{"ruleId":"no-var","severity":1,"message":"Unexpected var, use let or const instead.","line":604,"column":5,"nodeType":"VariableDeclaration","messageId":"unexpectedVar","endLine":613,"endColumn":12},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":638,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":638,"endColumn":28},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":664,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":664,"endColumn":65},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":667,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":667,"endColumn":77},{"ruleId":"no-jquery/no-class-state","severity":1,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":695,"column":12,"nodeType":"CallExpression","endLine":695,"endColumn":38},{"ruleId":"no-jquery/no-class-state","severity":1,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":709,"column":12,"nodeType":"CallExpression","endLine":709,"endColumn":38},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":711,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":711,"endColumn":53},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":742,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":742,"endColumn":41},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":743,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":743,"endColumn":48},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":750,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":750,"endColumn":68},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":751,"column":11,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":751,"endColumn":20},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":753,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":753,"endColumn":52},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":754,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":754,"endColumn":51}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":85,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * Javascript code to be used with extension PageForms for popup forms.\n *\n * @author Stephan Gambke\n */\n/*global escape*/\n\n// initialise\njQuery( () => {\n\n\t// register eventhandlers on 'edit' links and buttons\n\n\t// register formlink with link\n\tjQuery('a.popupformlink').click(function(evt){\n\t\treturn ext.popupform.handlePopupFormLink( this.getAttribute('href'), this );\n\t});\n\n\t// register formlink with button\n\tjQuery( 'form.popupformlink' ).submit(function(evt){\n\t\treturn ext.popupform.handlePopupFormLink( this.getAttribute( 'action' ), this );\n\t});\n\n\t// register forminput\n\tjQuery( 'form.popupforminput' ).submit(function(evt){\n\t\treturn ext.popupform.handlePopupFormInput( this.getAttribute( 'action' ), this );\n\t});\n\n} );\n\n// create ext if it does not exist yet\nif ( typeof( window.ext ) === \"undefined\" ) {\n\twindow.ext = {};\n}\n\nwindow.ext.popupform = ( function() {\n\tlet $wrapper;\n\tlet $background;\n\tlet container;\n\tlet $innerContainer;\n\tlet $iframe;\n\tlet $content;\n\tlet $waitIndicator;\n\tlet instance = 0;\n\n\tlet timer;\n\tlet needsRender = true;\n\n\tlet doc;\n\n\tlet brokenBrowser, brokenChrome;\n\n\tconst padding = 20;\n\tlet reload;\n\tfunction fadeOut($elem, callback ) {\n\t\t// no fading for broken browsers\n\t\tif ( brokenBrowser ){\n\t\t\t$elem.hide();\n\t\t\tif ( callback ) {\n\t\t\t\tcallback();\n\t\t\t}\n\t\t} else {\n\t\t\t// what an ugly hack\n\t\t\tif ( $elem === $waitIndicator ) {\n\t\t\t\t$elem.fadeOut( 200, callback );\n\t\t\t} else {\n\t\t\t\t$elem.fadeOut( callback );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction adjustFrameSize( animate ) {\n\t\t// set some inputs\n\t\tconst oldFrameW = container.width();\n\t\tconst oldFrameH = container.height();\n\t\tconst oldContW = $content.width();\n\t\tconst oldContH = $content.height();\n\n\t\tconst availW = Math.floor( jQuery(window).width() * 0.8 );\n\t\tconst availH = Math.floor( jQuery(window).height() * 0.8 );\n\n\t\tconst emergencyW = Math.floor( jQuery(window).width() * 0.85 );\n\t\tconst emergencyH = Math.floor( jQuery(window).height() * 0.85 );\n\n\t\t// FIXME: these might not be the true values\n\t\tconst scrollW = 25;\n\t\tconst scrollH = 25;\n\n\t\t// find the dimensions of the document\n\n\t\tconst $body = $content.closest('body');\n\t\tconst $html = $body.parent();\n\n\t\tlet scrollTop = $html.scrollTop();\n\t\tlet scrollLeft = $html.scrollLeft();\n\n\t\t$content\n\t\t.css('position', 'absolute')\n\t\t.width( 'auto' )\n\t\t.height( 'auto' );\n\n\t\t// set max dimensions for layout of content\n\t\t$iframe\n\t\t.width( emergencyW )\n\t\t.height( emergencyH );\n\n\t\t// get dimension values\n\t\tlet docW = $content.width();\n\t\tlet docH = $content.height();\n\t\t// On Firefox, this doesn't work for some reason, so use\n\t\t// this roundabout method to set the dimensions.\n\t\tif ( docW === 0 || docH === 0 ) {\n\t\t\tdocW = availW * 0.95;\n\t\t\tdocH = availH * 0.95;\n\t\t}\n\n\t\t// set old dimensions for layout of content\n\t\t$iframe\n\t\t.width( '100%' )\n\t\t.height( '100%' );\n\n\t\t$content\n\t\t.css('position', 'relative')\n\t\t.width( oldContW )\n\t\t.height( oldContH );\n\n\t\tconst docpW = docW + 2 * padding;\n\t\tconst docpH = docH + 2 * padding;\n\n\t\t// Flags\n\n\t\tconst needsHScroll = docpW > emergencyW || ( docpW > emergencyW - scrollW && docpH > emergencyH );\n\t\tconst needsVScroll = docpH > emergencyH || ( docpH > emergencyH - scrollH && docpW > emergencyW );\n\n\t\tconst needsWStretch =\n\t\t( docpW > availW && docpW <= emergencyW ) && ( docpH <= emergencyH ) ||\n\t\t( docpW > availW - scrollW && docpW <= emergencyW - scrollW ) && ( docpH > emergencyH );\n\n\t\tconst needsHStretch =\n\t\t( docpH > availH && docpH <= emergencyH ) && ( docpW <= emergencyW ) ||\n\t\t( docpH > availH - scrollH && docpH <= emergencyH - scrollH ) && ( docpW > emergencyW );\n\n\t\t// Outputs\n\n\t\tlet frameW;\n\t\tlet frameH;\n\n\t\tlet contW;\n\t\tlet contH;\n\n\t\tif ( needsWStretch ) {\n\t\t\tcontW = docW;\n\t\t\tframeW = docpW;\n\t\t} else if ( docpW > availW ) { // form does not even fit with stretching\n\t\t\tcontW = docW;\n\t\t\tframeW = availW;\n\t\t} else {\n\t\t\t//contW = Math.max( Math.min( 1.5 * docW, availW ), availW / 2 );\n\t\t\tcontW = docW;\n\t\t\tframeW = docpW;\n\t\t}\n\n\t\tif ( needsVScroll ){\n\t\t\tframeW += scrollW;\n\t\t} else {\n\t\t\tscrollTop = 0;\n\t\t}\n\n\t\tif ( needsHStretch ) {\n\t\t\tcontH = docH;\n\t\t\tframeH = docpH;\n\t\t} else if ( docpH > availH ) { // form does not even fit with stretching\n\t\t\tcontH = docH;\n\t\t\tframeH = availH;\n\t\t} else {\n\t\t\t//contH = Math.min( 1.1 * docH, availH);\n\t\t\tcontH = docH;\n\t\t\tframeH = docpH;\n\t\t}\n\n\t\tif ( needsHScroll ){\n\t\t\tframeH += scrollH;\n\t\t} else {\n\t\t\tscrollLeft = 0;\n\t\t}\n\n\t\tif ( frameW !== oldFrameW || frameH !== oldFrameH ) {\n\n\t\t\t$iframe[0].style.overflow=\"hidden\";\n\n\t\t\tif ( animate ) {\n\t\t\t\t$content\n\t\t\t\t.width ( 'auto' )\n\t\t\t\t.height ( 'auto' );\n\n\t\t\t\tcontainer.animate({\n\t\t\t\t\twidth: frameW,\n\t\t\t\t\theight: frameH,\n\t\t\t\t\ttop: Math.floor(( - frameH ) / 2),\n\t\t\t\t\tleft: Math.floor(( - frameW ) / 2)\n\t\t\t\t}, {\n\t\t\t\t\tduration: 500,\n\t\t\t\t\tcomplete: function() {\n\t\t\t\t\t\t$iframe[0].style.overflow=\"visible\";\n\n\t\t\t\t\t\t$content\n\t\t\t\t\t\t.width ( 'auto' )\n\t\t\t\t\t\t.height ( 'auto' );\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t} else {\n\t\t\t\tcontainer\n\t\t\t\t.width( frameW )\n\t\t\t\t.height ( frameH );\n\n\t\t\t\tcontainer[0].style.top = (Math.floor(( - frameH ) / 2)) + \"px\";\n\t\t\t\tcontainer[0].style.left = (Math.floor(( - frameW ) / 2)) + \"px\";\n\n\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t$iframe[0].style.overflow=\"visible\";\n\t\t\t\t}, 100);\n\n\t\t\t\t$content\n\t\t\t\t.width ( 'auto' )\n\t\t\t\t.height ( 'auto' );\n\t\t\t}\n\t\t} else {\n\t\t\t$content\n\t\t\t.width ( 'auto' )\n\t\t\t.height ( 'auto' );\n\t\t}\n\n\t\t$html\n\t\t.css('overflow', 'auto')\n\t\t.scrollTop(Math.min(scrollTop, docpH - frameH))\n\t\t.scrollLeft(scrollLeft);\n\n\t\treturn true;\n\t}\n\n\tfunction handleCloseFrame( event ){\n\t\tjQuery(window).unbind( \"resize\", adjustFrameSize );\n\t\tclearTimeout(timer);\n\n\t\tfadeOut( container, () => {\n\t\t\t$background.fadeOut( () => {\n\t\t\t\t$wrapper.remove();\n\t\t\t});\n\t\t});\n\t\treturn false;\n\t}\n\n\tfunction fadeIn( $elem, callback ) {\n\t\t// no fading for broken browsers\n\t\tif ( brokenBrowser ){\n\t\t\t$elem.show();\n\t\t\tif ( callback ) {\n\t\t\t\tcallback();\n\t\t\t}\n\t\t} else {\n\t\t\t// what an ugly hack\n\t\t\tif ( $elem === $waitIndicator ) {\n\t\t\t\t$elem.fadeIn( 200, callback );\n\t\t\t} else {\n\t\t\t\t$elem.fadeIn( callback );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction fadeTo($elem, time, target, callback) {\n\t\t// no fading for broken browsers\n\t\tif ( brokenBrowser ){\n\n\t\t\tif (target > 0) {\n\t\t\t\t$elem[0].style.visibility = \"visible\";\n\t\t\t} else {\n\t\t\t\t$elem[0].style.visibility = \"hidden\";\n\t\t\t}\n\n\t\t\tif ( callback ) {\n\t\t\t\tcallback();\n\t\t\t}\n\n\t\t} else {\n\t\t\t$elem.fadeTo(time, target, callback);\n\t\t}\n\t}\n\n\tfunction showForm() {\n\t\tinstance++;\n\n\t\tbrokenChrome =\n\t\t( navigator.userAgent.includes(\"Chrome\") &&\n\t\t\tnavigator.platform.includes(\"Linux x86_64\") );\n\n\t\tbrokenBrowser = brokenChrome;\n\n\t\tlet maxZIndex = 0;\n\n\t\tjQuery(\"*\").each(function() {\n\t\t\tconst curr = parseInt( jQuery( this ).css( \"z-index\" ) );\n\t\t\tmaxZIndex = curr > maxZIndex ? curr : maxZIndex;\n\t\t});\n\n\t\t$wrapper = jQuery( \"<div class='popupform-wrapper' >\" );\n\t\t$background = jQuery( \"<div class='popupform-background' >\" );\n\n\t\tconst $waitIndicatorWrapper = jQuery( \"<div class='popupform-loading'>\" );\n\n\t\t$waitIndicator = jQuery( \"<div class='popupform-loadingbg'></div><div class='popupform-loadingfg'></div>\" );\n\n\t\tconst $anchor = jQuery( \"<div class='popupform-anchor' >\" );\n\n\t\tcontainer = jQuery( \"<div class='popupform-container' >\" );\n\t\t$innerContainer = jQuery( \"<div class='popupform-innercontainer' >\" );\n\t\t$iframe = jQuery( \"<iframe class='popupform-innerdocument' name='popupform-iframe\" + instance + \"' id='popupform-iframe\" + instance + \"' >\");\n\n\t\tconst $closeBtn = jQuery( \"<div class='popupform-close'></div> \" );\n\n\t\t// initially hide background and waitIndicator\n\t\tif (brokenChrome) {\n\t\t\t$background.css(\"background\", \"transparent\");\n\t\t} else {\n\t\t\t$background.css(\"opacity\", 0.0);\n\t\t}\n\n\t\t$waitIndicator.hide();\n\t\tcontainer.hide();\n\n\t\t// insert background and wait indicator into wrapper and all into document\n\t\t$waitIndicatorWrapper\n\t\t.append( $waitIndicator );\n\n\t\t$innerContainer\n\t\t.append( $iframe );\n\n\t\tcontainer\n\t\t.append( $closeBtn )\n\t\t.append( $innerContainer );\n\n\t\t$anchor\n\t\t.append(container);\n\n\t\t$wrapper\n\t\t.css( \"z-index\", maxZIndex + 1 )\n\t\t.append( $background )\n\t\t.append( $waitIndicatorWrapper )\n\t\t.append( $anchor )\n\t\t.appendTo( \"body\" );\n\n\t\t// fade background in\n\t\tif ( !brokenChrome ) {\n\t\t\t$background.fadeTo( 400, 0.6 );\n\t\t}\n\t\tfadeIn( $waitIndicator );\n\n\t\t// attach event handler to close button\n\t\t$closeBtn.click( handleCloseFrame );\n\t}\n\n\tfunction purgePage() {\n\t\tconst path = location.pathname;\n\t\t// get name of the current page from the url\n\t\tconst pageName = path.split(\"/\").pop();\n\t\treturn ( new mw.Api() ).post( { action: 'purge', titles: pageName } );\n\t}\n\n\tfunction handleSubmitData( event, returnedData, textStatus, XMLHttpRequest ){\n\t\tfadeOut( container, () => {\n\t\t\tfadeIn( $waitIndicator );\n\t\t});\n\n\t\tlet $form = jQuery( event.target );\n\t\tconst formdata = $form.serialize() + \"&wpSave=\" + encodeURIComponent($form.find(\"#wpSave\").attr(\"value\"));\n\n\t\tfunction handleInnerSubmit() {\n\t\t\t// find form in fake edit page\n\t\t\tconst $innerform = jQuery(\"<div>\" + returnedData + \"</div>\").find(\"form\");\n\n\t\t\t// check if we got an error page\n\t\t\tif ( $innerform.length === 0 ) {\n\n\t\t\t\t$form.unbind( event );\n\n\t\t\t\t$iframe = container.find(\"iframe\");\n\t\t\t\tdoc = $iframe[0].contentWindow || $iframe[0].contentDocument;\n\t\t\t\tif (doc.document) {\n\t\t\t\t\tdoc = doc.document;\n\t\t\t\t}\n\n\t\t\t\tdoc.open();\n\t\t\t\tdoc.write(returnedData);\n\t\t\t\tdoc.close();\n\n\t\t\t\thandleCloseFrame();\n\t\t\t\tif ( reload ) {\n\t\t\t\t\tpurgePage().then( ( data ) => {\n\t\t\t\t\t\tlocation.reload();\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Send the form data off, we do not care for the returned data\n\t\t\tconst innerformdata = $innerform.serialize();\n\t\t\tjQuery.post( $innerform.attr(\"action\"), innerformdata );\n\n\t\t\t// build new url for outer page (we have to ask for a purge)\n\n\t\t\tlet url = location.href;\n\n\t\t\t// does a querystring exist?\n\t\t\tconst start = url.indexOf(\"action=\");\n\n\t\t\tif ( start >= 0 ) {\n\n\t\t\t\tconst stop = url.indexOf(\"&\", start);\n\n\t\t\t\tif ( stop >= 0 ) {\n\t\t\t\t\turl = url.slice( 0, Math.max(0, start - 1) ) + url.slice(stop + 1);\n\t\t\t\t} else {\n\t\t\t\t\turl = url.slice( 0, Math.max(0, start - 1) );\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t$form = jQuery('<form action=\"' + url + '\" method=\"POST\"><input type=\"hidden\" name=\"action\" value=\"purge\"></form>')\n\t\t\t.appendTo('body');\n\n\t\t\t$form\n\t\t\t.submit();\n\n\t\t\tfadeOut( container, () => {\n\t\t\t\tfadeIn( $waitIndicator );\n\t\t\t});\n\n\t\t\treturn false;\n\t\t}\n\n\t\t// Send form data off. PF will send back a fake edit page\n\t\t//\n\t\t// Normally we should check this.action first and only if it is empty\n\t\t// revert to this.ownerDocument.URL. Tough luck, IE does not return an\n\t\t// empty action but fills in some bogus\n\t\tjQuery.post( event.target.ownerDocument.URL , formdata, handleInnerSubmit);\n\n\t\treturn false;\n\t}\n\n\tfunction closeFrameAndFollowLink( link ){\n\t\tclearTimeout(timer);\n\n\t\tfadeOut( container, () => {\n\t\t\tfadeIn ( $waitIndicator );\n\t\t\twindow.location.href = link;\n\t\t});\n\t}\n\n\t// Saw it on http://robertnyman.com/2006/04/24/get-the-rendered-style-of-an-element\n\t// and liked it\n\tfunction getStyle(oElm, strCssRule){\n\t\tlet strValue = \"\";\n\t\tif(document.defaultView && document.defaultView.getComputedStyle){\n\t\t\tstrValue = document.defaultView.getComputedStyle(oElm, \"\").getPropertyValue(strCssRule);\n\t\t} else if(oElm.currentStyle){\n\t\t\tstrCssRule = strCssRule.replace(/\\-(\\w)/g, (strMatch, p1) => p1.toUpperCase());\n\t\t\tstrValue = oElm.currentStyle[strCssRule];\n\t\t}\n\t\treturn strValue;\n\t}\n\n\tfunction handleLoadFrame() {\n\t\tconst $iframecontents = $iframe.contents();\n\n\t\tconst containerAlreadyVisible = container.is( ':visible' );\n\n\t\tif ( !containerAlreadyVisible ) {\n\t\t\t// no need to hide it again\n\t\t\tif ( brokenBrowser ) {\n\t\t\t\tcontainer[0].style.visibility = \"hidden\";\n\t\t\t} else {\n\t\t\t\tcontainer[0].style.opacity = 0;\n\t\t\t}\n\t\t}\n\n\t\tcontainer.show();\n\n\t\t// GuMaxDD has #content but keeps headlines in #gumax-content-body\n\t\t$content = $iframecontents.find(\"#gumax-content-body\");\n\n\t\t// Normal skins use #content (e.g. Vector, Monobook)\n\t\tif ( $content.length === 0 ) {\n\t\t\t$content = $iframecontents.find(\"#content\");\n\t\t}\n\n\t\t// Some skins use #mw_content (e.g. Modern)\n\t\tif ( $content.length === 0 ) {\n\t\t\t$content = $iframecontents.find(\"#mw_content\");\n\t\t}\n\n\t\tconst $iframebody = $content.closest(\"body\");\n\t\tconst $iframedoc = $iframebody.parent();\n\n\t\t// This is not a normal MW page (or it uses an unknown skin)\n\t\tif ( $content.length === 0 ) {\n\t\t\t$content = $iframebody;\n\t\t}\n\n\t\t// The huge left margin looks ugly in Vector - reduce it.\n\t\t// (How does this look for other skins?)\n\t\tconst $siblings = $content\n\t\t.css( {\n\t\t\tmargin: 0,\n\t\t\tpadding: padding,\n\t\t\twidth: \"auto\",\n\t\t\theight: \"auto\",\n\t\t\tminWidth: \"0px\",\n\t\t\tminHeight:\"0px\",\n//\t\t\toverflow: \"visible\",\n//\t\t\tposition: \"relative\",\n//\t\t\ttop: \"0\",\n//\t\t\tleft: \"0\",\n\t\t\tborder: \"none\"\n\t\t} )\n\t\t.parentsUntil('html')\n\t\t.css( {\n\t\t\tmargin: 0,\n\t\t\tpadding: 0,\n\t\t\twidth: \"auto\",\n\t\t\theight: \"auto\",\n\t\t\tminWidth: \"0px\",\n\t\t\tminHeight: \"0px\",\n\t\t\t\"float\": \"none\", // Cavendish skin uses floating -> unfloat content\n//\t\t\tposition: \"relative\",\n//\t\t\ttop: \"0\",\n//\t\t\tleft: \"0\",\n\t\t\tbackground: \"transparent\"\n\t\t})\n\t\t.addBack().siblings();\n\n\t\t$iframedoc.height('100%').width('100%');\n\t\t$iframebody.height('100%').width('100%');\n\n\t\t$siblings.each( function(){\n\t\t\tconst $elem = jQuery(this);\n\n\t\t\t// TODO: Does this really help?\n\t\t\tif ( getStyle(this, \"display\") !== \"none\" && ! (\n\t\t\t\t\t( this.offsetLeft + $elem.outerWidth(true) < 0 ) ||\t\t// left of document\n\t\t\t\t\t( this.offsetTop + $elem.outerHeight(true) < 0 ) || // above document\n\t\t\t\t\t( this.offsetLeft > 100000 ) ||\t\t// right of document\n\t\t\t\t\t( this.offsetTop > 100000 ) // below document\n\t\t\t\t\t)\n\t\t\t) {\n\n\t\t\t\tjQuery(this).hide();\n\t\t\t\t//\t\t\t\t\tcss({\n\t\t\t\t//\t\t\t\t\t\theight : \"0px\",\n\t\t\t\t//\t\t\t\t\t\twidth : \"0px\",\n\t\t\t\t//\t\t\t\t\t\tminWidth : \"0px\",\n\t\t\t\t//\t\t\t\t\t\tminHeight : \"0px\",\n\t\t\t\t//\t\t\t\t\t\tmargin : \"0px\",\n\t\t\t\t//\t\t\t\t\t\tpadding : \"0px\"\n\t\t\t\t//\t\t\t\t\t\tborder : \"none\",\n\t\t\t\t//\t\t\t\t\t\toverflow: \"hidden\"\n\t\t\t\t//\t\t\t\t\t//position: \"static\"\n\t\t\t\t//\t\t\t\t\t});\n\t\t\t}\n\t\t\tif ( ( this.offsetLeft + $elem.outerWidth() < 0 ) ||\n\t\t\t\t( this.offsetTop + $elem.outerHeight() < 0 )\n\t\t\t\t) {\n\t\t\t\tthis.style.left = (-$elem.outerWidth(true)) + \"px\";\n\t\t\t\tthis.style.top = (-$elem.outerHeight(true)) + \"px\";\n\t\t\t}\n\t\t});\n\t\t//.children().css(\"position\", \"static\");\n\n\t\tcontainer.show();\n\n\t\t// adjust frame size to dimensions just calculated\n\t\tadjustFrameSize();\n\n\t\t// and attach event handler to adjust frame size every time the window\n\t\t// size changes\n\t\tjQuery( window ).resize( () => {\n\t\t\tadjustFrameSize();\n\t\t} );\n\n\t\t//interval = setInterval(adjustFrameSize, 100);\n\n\t\tconst $form = $content.find(\"#pfForm\");\n\t\tconst innerwdw = document.getElementById( 'popupform-iframe' + instance ).contentWindow;\n\t\tconst innerJ = innerwdw.jQuery;\n\n\t\t// if we have a form and it is not a RunQuery form\n\t\tif ($form.length > 0 && ( typeof $form[0].wpRunQuery === 'undefined') ) {\n\t\t\tlet submitok = false;\n\t\t\tlet innersubmitprocessed = false;\n\n\t\t\t// catch form submit event\n\t\t\t$form\n\t\t\t.bind( \"submit\", ( event ) => {\n\t\t\t\tvar interval = setInterval(() => {\n\t\t\t\t\tif ( innersubmitprocessed ) {\n\t\t\t\t\t\tclearInterval( interval );\n\t\t\t\t\t\tinnersubmitprocessed = false;\n\t\t\t\t\t\tif ( submitok ) {\n\t\t\t\t\t\t\thandleSubmitData( event );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t}, 10);\n\t\t\t\tevent.stopPropagation();\n\t\t\t\treturn false;\n\t\t\t});\n\n\t\t\t// catch inner form submit event\n\t\t\tif ( innerJ ) {\n\t\t\t\tinnerwdw.jQuery($form[0])\n\t\t\t\t.bind( \"submit\", ( event ) => {\n\t\t\t\t\t\tsubmitok = ( event.result === undefined ) ? true : event.result;\n\t\t\t\t\t\tinnersubmitprocessed = true;\n\t\t\t\t\t\treturn false;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tsubmitok = true;\n\t\t\t\tinnersubmitprocessed = true;\n\t\t\t}\n\t\t}\n\n\t\tif (innerJ) {\n\t\t\t// FIXME: Why did I put this in?\n\t\t\tinnerwdw.jQuery( innerwdw[0] ).on('unload', (event) => false);\n\n\t\t\t//\n\t\t\t$content.bind( 'click', () => {\n\t\t\t\tlet foundQueue = false;\n\t\t\t\tinnerJ('*', $content[0]).each( function() {\n\t\t\t\t\tif ( innerJ(this).queue().length > 0 ) {\n\t\t\t\t\t\tfoundQueue = true;\n\t\t\t\t\t\tinnerJ(this).queue( function(){\n\t\t\t\t\t\t\tsetTimeout( adjustFrameSize, 100, true );\n\t\t\t\t\t\t\tinnerJ(this).dequeue();\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif ( ! foundQueue ) {\n\t\t\t\t\tadjustFrameSize( true );\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t});\n\t\t} else {\n\t\t\t$content.bind( 'click', () => {\n\t\t\t\t\tadjustFrameSize( true );\n\t\t\t});\n\t\t}\n\n\t\t// find all links. Have to use inner jQuery so event.result below\n\t\t// reflects the result of inner event handlers. We (hopefully) come last\n\t\t// in the chain of event handlers as we only attach when the frame is\n\t\t// already completely loaded, i.e. every inner event handler is already\n\t\t// attached.\n\t\tconst allLinks = (innerJ)?innerJ(\"a[href]\"):jQuery(\"a[href]\");\n\n\t\t// catch 'Cancel'-Link (and other 'back'-links) and close frame instead of going back\n\t\tconst backlinks = allLinks.filter('a[href=\"javascript:history.go(-1);\"]');\n\t\tbacklinks.click(handleCloseFrame);\n\n\t\t// promote any other links to open in main window, prevent nested browsing\n\t\tallLinks\n\t\t.not('a[href*=\"javascript:\"]') // scripted links\n\t\t.not('a[target]')              // targeted links\n\t\t.not('a[href^=\"#\"]')           // local links\n\t\t.not('a.pfUploadable')         // link to file upload\n\t\t.click((event) => {\n\t\t\tif ( event.result !== false ) { // if not already caught by somebody else\n\t\t\t\tcloseFrameAndFollowLink( event.target.getAttribute('href') );\n\t\t\t}\n\t\t\treturn false;\n\t\t});\n\n\t\t// finally show the frame, but only if it is not already visible\n\t\tif ( ! containerAlreadyVisible ) {\n\t\t\t\tfadeOut ( $waitIndicator, () => {\n\t\t\t\tfadeTo( container, 400, 1 );\n\t\t\t} );\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tfunction handlePopupFormInput( ptarget, elem ) {\n\t\tshowForm();\n\t\treload = $(elem).hasClass('reload');\n\n\t\t$iframe.on( 'load', () => {\n\t\t\t// attach event handler to iframe\n\t\t\t$iframe.bind( 'load', handleLoadFrame );\n\t\t\treturn false;\n\t\t});\n\n\t\telem.target = 'popupform-iframe' + instance;\n\t\treturn true;\n\t}\n\n\tfunction handlePopupFormLink( ptarget, elem ) {\n\t\tshowForm();\n\t\treload = $(elem).hasClass('reload');\n\t\t// store initial readystate\n\t\tlet readystate = $iframe.contents()[0].readyState;\n\n\t\t// set up timer for waiting on the document in the iframe to be dom-ready\n\t\t// this sucks, but there is no other way to catch that event\n\t\t// onload is already too late\n\t\ttimer = setInterval(() => {\n\t\t\t// if the readystate changed\n\t\t\tif ( readystate !== $iframe.contents()[0].readyState ) {\n\t\t\t\t// store new readystate\n\t\t\t\treadystate = $iframe.contents()[0].readyState;\n\n\t\t\t\t// if dom is built but document not yet displayed\n\t\t\t\tif ( readystate === 'interactive' || readystate === 'complete' ) {\n\t\t\t\t\tneedsRender = false; // flag that rendering is already done\n\t\t\t\t\thandleLoadFrame();\n\t\t\t\t}\n\t\t\t}\n\t\t}, 100 );\n\n\t\t// fallback in case we did not catch the dom-ready state\n\t\t$iframe.on('load', ( event ) => {\n\t\t\tif ( needsRender ) { // rendering not already done?\n\t\t\t\thandleLoadFrame( event );\n\t\t\t}\n\t\t\tneedsRender = true;\n\t\t});\n\n\t\tif ( elem.tagName === 'FORM' ) {\n\t\t\telem.target = 'popupform-iframe' + instance;\n\t\t\treturn true;\n\t\t} else {\n\t\t\tconst delim = ptarget.indexOf( '?' );\n\t\t\tconst form = document.createElement(\"form\");\n\n\t\t\tform.target = 'popupform-iframe' + instance;\n\n\t\t\t// Do we have parameters?\n\t\t\tif ( delim > 0 ) {\n\t\t\t\tform.action = ptarget.slice( 0, Math.max(0, delim) );\n\t\t\t\tconst params = String( ptarget.slice( delim + 1 ) ).split(\"&\");\n\t\t\t\tfor ( let i = 0; i < params.length; ++i ) {\n\n\t\t\t\t\tconst input = document.createElement(\"input\");\n\t\t\t\t\tconst param = String( params[i] ).split('=');\n\t\t\t\t\tinput.type = 'hidden';\n\t\t\t\t\tinput.name = decodeURIComponent( param[0] );\n\t\t\t\t\tinput.value = decodeURIComponent( param[1] );\n\t\t\t\t\tform.appendChild( input );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tform.action = ptarget;\n\t\t\t}\n\n\t\t\tdocument.getElementsByTagName('body')[0].appendChild(form);\n\t\t\tform.submit();\n\t\t\tdocument.getElementsByTagName('body')[0].removeChild(form);\n\t\t\treturn false;\n\t\t}\n\t}\n\n\t// export public funcitons\n\tthis.handlePopupFormInput = handlePopupFormInput;\n\tthis.handlePopupFormLink = handlePopupFormLink;\n\tthis.adjustFrameSize = adjustFrameSize;\n\n\treturn this;\n}() );\n","usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/libs/PF_preview.js","messages":[{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":13,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":13,"endColumn":12},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":14,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":14,"endColumn":19},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":15,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":15,"endColumn":20},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":22,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":79,"endColumn":4},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":24,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":24,"endColumn":29},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":25,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":25,"endColumn":46},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":28,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":28,"endColumn":57},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":30,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":30,"endColumn":50},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":31,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":31,"endColumn":43},{"ruleId":"es-x/no-resizable-and-growable-arraybuffers","severity":1,"message":"ES2024 Resizable ArrayBuffer is forbidden.","line":56,"column":3,"nodeType":"MemberExpression","messageId":"forbiddenForResizableArrayBuffer","endLine":56,"endColumn":21},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":62,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":62,"endColumn":48},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":86,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":116,"endColumn":4},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":88,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":88,"endColumn":29},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":90,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":90,"endColumn":41},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":109,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":109,"endColumn":26},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":110,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":110,"endColumn":81},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":121,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":177,"endColumn":4},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":128,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":131,"endColumn":5},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":143,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":143,"endColumn":51},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":144,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":144,"endColumn":40}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":20,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * Handles dynamic Page Preview for Page Forms.\n *\n * @author Stephan Gambke\n */\n\n/*global validateAll */\n\n( function( $, mw ) {\n\n\t'use strict';\n\n\tlet $form;\n\tlet $previewpane;\n\tlet previewHeight;\n\n\t/**\n\t * Called when the content is loaded into the preview pane\n\t *\n\t * @return {Mixed}\n\t */\n\tconst loadFrameHandler = function handleLoadFrame() {\n\n\t\tconst $iframe = $( this );\n\t\tconst $iframecontents = $iframe.contents();\n\n\t\t// find div containing the preview\n\t\tlet $content = $iframecontents.find( '#wikiPreview' );\n\n\t\tconst $iframebody = $content.closest( 'body' );\n\t\tconst $iframedoc = $iframebody.parent();\n\t\t$iframedoc.height( 'auto' );\n\n\t\t// this is not a normal MW page (or it uses an unknown skin)\n\t\tif ( $content.length === 0 ) {\n\t\t\t$content = $iframebody;\n\t\t}\n\n\t\t$content.parentsUntil( 'html' ).addBack()\n\t\t.css( {\n\t\t\tmargin: 0,\n\t\t\tpadding: 0,\n\t\t\twidth: '100%',\n\t\t\theight: 'auto',\n\t\t\tminWidth: '0px',\n\t\t\tminHeight: '0px',\n\t\t\t'float': 'none', // Cavendish skin uses floating -> unfloat content\n\t\t\tborder: 'none',\n\t\t\tbackground: 'transparent'\n\t\t} )\n\t\t.siblings()\n\t\t.hide(); // FIXME: Some JS scripts don't like working on hidden elements\n\n\t\t// and attach event handler to adjust frame size every time the window\n\t\t// size changes\n\t\t$( window ).resize( () => {\n\t\t\t$iframe.height( $iframedoc.height() );\n\t\t} );\n\n\t\t$previewpane.show();\n\n\t\tconst newPreviewHeight = $iframedoc.height();\n\n\t\t$iframe.height( newPreviewHeight );\n\n\t\t$( 'html, body' )\n\t\t.scrollTop( $( 'html, body' ).scrollTop() + newPreviewHeight - previewHeight )\n\t\t.animate( {\n\t\t\tscrollTop: $previewpane.offset().top\n\t\t}, 1000 );\n\n\t\tpreviewHeight = newPreviewHeight;\n\n\t\t$( () => {\n\t\t\twindow.dispatchEvent( new Event( 'resize' ) ); // It fixes form preview\n\t\t} );\n\n\t\treturn false;\n\t};\n\n\t/**\n\t * Called when the server has sent the preview\n\t *\n\t * @param {Mixed} result\n\t */\n\tconst resultReceivedHandler = function handleResultReceived( result ) {\n\n\t\tconst htm = result.result;\n\n\t\tlet $iframe = $previewpane.children();\n\n\t\tif ( $iframe.length === 0 ) {\n\n\t\t\t// set initial height of preview area\n\t\t\tpreviewHeight = 0;\n\n\t\t\t$iframe = $( '<iframe>' )\n\t\t\t.css( { //FIXME: Should this go in a style file?\n\t\t\t\t'width': '100%',\n\t\t\t\t'height': previewHeight,\n\t\t\t\t'border': 'none',\n\t\t\t\t'overflow': 'hidden'\n\t\t\t} )\n\t\t\t.load( loadFrameHandler )\n\t\t\t.appendTo( $previewpane );\n\n\t\t}\n\n\t\tconst ifr = $iframe[0];\n\t\tconst doc = ifr.contentDocument || ifr.contentWindow.document || ifr.Document;\n\n\t\tdoc.open();\n\t\tdoc.write( htm );\n\t\tdoc.close();\n\n\t};\n\n\t/**\n\t * Called when the preview button was clicked\n\t */\n\tconst previewButtonClickedHandler = function handlePreviewButtonClicked() {\n\n\t\tif ( !validateAll() ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// data array to be sent to the server\n\t\tconst data = {\n\t\t\taction: 'pfautoedit',\n\t\t\tformat: 'json'\n\t\t};\n\n\t\t// do we have a URL like .../index.php?title=pagename&action=formedit ?\n\t\tif ( mw.config.get( 'wgAction' ) === 'formedit' ) {\n\n\t\t\t// set the title, server has to find a suitable form\n\t\t\tdata.target = mw.config.get( 'wgPageName' );\n\n\t\t\t// do we have a URL like .../Special:FormEdit/formname/pagename ?\n\t\t} else if ( mw.config.get( 'wgCanonicalNamespace' ) === 'Special' && mw.config.get( 'wgCanonicalSpecialPageName' ) === 'FormEdit' ) {\n\n\t\t\t// get the pagename and split it into parts\n\t\t\tconst pageName = mw.config.get( 'wgPageName' );\n\t\t\tconst parts = pageName.split( '/' );\n\n\t\t\tif ( mw.util.getParamValue( 'form' ) ) {\n\t\t\t\tdata.form = mw.util.getParamValue( 'form' );\n\t\t\t} else if ( parts.length > 1 ) { // found a formname\n\t\t\t\tdata.form = parts[1];\n\t\t\t}\n\n\t\t\tif ( mw.util.getParamValue( 'target' ) ) {\n\t\t\t\tdata.target = mw.util.getParamValue( 'target' );\n\t\t\t} else if ( parts.length > 2 ) { // found a pagename\n\t\t\t\t// Put the name back together, if it contains slashes.\n\t\t\t\tdata.target = parts.slice(2).join( '/' );\n\t\t\t}\n\t\t}\n\n\t\t// add form values to the data\n\t\tdata.query = $form.serialize();\n\n\t\tif ( data.query.length > 0 ) {\n\t\t\tdata.query += '&';\n\t\t}\n\n\t\tdata.query += 'wpPreview=' + encodeURIComponent( $( this ).attr( 'value' ) );\n\n\t\t$.ajax( {\n\n\t\t\ttype: 'POST', // request type ( GET or POST )\n\t\t\turl: mw.util.wikiScript( 'api' ), // URL to which the request is sent\n\t\t\tdata: data, // data to be sent to the server\n\t\t\tdataType: 'json', // type of data expected back from the server\n\t\t\tsuccess: resultReceivedHandler // function to be called if the request succeeds\n\t\t} );\n\t};\n\n\t/**\n\t * Register plugin\n\t *\n\t *  @return {Mixed}\n\t */\n\t$.fn.pfAjaxPreview = function() {\n\n\t\t$form = this.closest( 'form' );\n\t\t$previewpane = $( '#wikiPreview' );\n\n\t\t// do some sanity checks\n\t\tif ( $previewpane.length === 0 || // no ajax preview without preview area\n\t\t\t$previewpane.contents().length > 0 || // preview only on an empty previewpane\n\t\t\t$form.length === 0 ) { // no ajax preview without form\n\n\t\t\treturn this;\n\t\t}\n\n\t\t// register event handler\n\t\tthis.click( previewButtonClickedHandler );\n\n\t\treturn this;\n\t};\n\n\t$( () => {\n\t\tif ( mw.config.get( 'wgAction' ) === 'formedit' ||\n\t\t\tmw.config.get( 'wgCanonicalSpecialPageName' ) === 'FormEdit' ) {\n\t\t\t$( '#wpPreview' ).pfAjaxPreview();\n\t\t\t$( document ).on( 'VEForAllLoaded', () => {\n\t\t\t\tif ( $('.visualeditor').length > 0 ) {\n\t\t\t\t\t$( '#wpPreview' ).off('click', previewButtonClickedHandler).on('click', ( event ) => {\n\t\t\t\t\t\tmw.pageFormsActivateVEFields( () => {\n\t\t\t\t\t\t\tpreviewButtonClickedHandler( event );\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} );\n\n}( jQuery, mediaWiki ) );\n","usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/libs/PF_rating.js","messages":[{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":5,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":5,"endColumn":52},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":6,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":6,"endColumn":21},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":21,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":21,"endColumn":50},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":22,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":22,"endColumn":55},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":23,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":23,"endColumn":45},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":24,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":30,"endColumn":5},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":43,"column":4,"nodeType":"CallExpression","endLine":43,"endColumn":40}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":7,"fixableErrorCount":0,"fixableWarningCount":0,"source":"( function( $, mw, pf ) {\n\t'use strict';\n\n\tjQuery.fn.applyRatingInput = function( fromCalendar ) {\n\t\tconst starWidth = $(this).attr('data-starwidth');\n\t\tlet curValue = '';\n\t\tif ( starWidth === undefined ) {\n\t\t\t// This is probably because we're in a multple-instance\n\t\t\t// template \"starter\", but, in any case, just exit.\n\t\t\treturn;\n\t\t}\n\n\t\tif( fromCalendar !== undefined ) {\n\t\t\tcurValue = fromCalendar;\n\t\t} else {\n\t\t\tcurValue = $(this).attr('data-curvalue');\n\t\t}\n\t\tif ( curValue === '' || curValue === undefined ) {\n\t\t\tcurValue = 0;\n\t\t}\n\t\tconst numStars = $(this).attr('data-numstars');\n\t\tconst allowsHalf = $(this).attr('data-allows-half');\n\t\tconst disabled = $(this).attr('disabled');\n\t\tconst ratingsSettings = {\n\t\t\tnormalFill: '#ddd',\n\t\t\tstarWidth: starWidth,\n\t\t\tnumStars: numStars,\n\t\t\tmaxValue: numStars,\n\t\t\trating: curValue\n\t\t};\n\t\tif ( allowsHalf === undefined ) {\n\t\t\tratingsSettings.fullStar = true;\n\t\t} else {\n\t\t\tratingsSettings.halfStar = true;\n\t\t}\n\t\tif ( disabled === \"disabled\" ) {\n\t\t\tratingsSettings.readOnly = true;\n\t\t}\n\n\t\t$(this).rateYo(ratingsSettings)\n\t\t.on(\"rateyo.set\", function (e, data) {\n\n\t\t\t$(this).parent().children(\":hidden\").attr(\"value\", data.rating);\n\t\t});\n\t};\n\n}( jQuery, mediaWiki, pf ) );\n","usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/libs/PF_regexp.js","messages":[{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":20,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":20,"endColumn":12},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":21,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":21,"endColumn":14},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":22,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":22,"endColumn":44},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":30,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":30,"endColumn":42}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":4,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * Javascript code to be used with input type regexp.\n *\n * @author Stephan Gambke\n */\n\n/**\n * Validates inputs of type regexp.\n *\n * @param {string} inputId the id string of the input to check\n * @param {Object} params the parameter object for the check, contains\n *\t\tretext: (String) regular expression the input's value has to match\n *\t\tinverse: (Boolean) if the check result shall be inverted\n *\t\tmessage: (String) the message too be printed if the input's value does not match\n * @return {boolean} true, if the input's value matches the regular expression in\n *         retext, false otherwise; the value is inverted if inverse is true\n */\nwindow.PF_RE_validate = function( inputId, params ) { //input_number, retext, inverse, message, multiple\n\n\tlet match;\n\tlet message;\n\tconst $curInput = jQuery( '#' + inputId );\n\n\t// Ignore blank fields.\n\tif ( $curInput.val() == '' ) {\n\t\treturn true;\n\t}\n\n\ttry {\n\t\tconst re = new RegExp( params.retext );\n\t\tmatch = re.test( $curInput.val() );\n\t\tmessage = params.message;\n\t} catch (e) {\n\t\tmatch = false;\n\t\tmessage = params.error.replace('$1', e );\n\t}\n\n\tif ( ( match && ! params.inverse ) || ( ! match && params.inverse ) ) {\n\t\treturn true;\n\t} else {\n\t\t$curInput.parent().addErrorMessage( message );\n\t\treturn false;\n\t}\n};\n","usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/libs/PF_simpleupload.js","messages":[{"ruleId":"jsdoc/require-param-type","severity":1,"message":"Missing JSDoc @param \"$\" type.","line":5,"column":1,"nodeType":"Block","endLine":5,"endColumn":1},{"ruleId":"jsdoc/require-param-type","severity":1,"message":"Missing JSDoc @param \"mw\" type.","line":6,"column":1,"nodeType":"Block","endLine":6,"endColumn":1},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":15,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":15,"endColumn":35},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":16,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":25,"endColumn":7},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":27,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":34,"endColumn":7},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":36,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":41,"endColumn":7},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":43,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":45,"endColumn":49},{"ruleId":"prefer-const","severity":1,"message":"'loadingImage' is never reassigned. Use 'const' instead.","line":45,"column":4,"nodeType":"Identifier","messageId":"useConst","endLine":45,"endColumn":16},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":84,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":84,"endColumn":127},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":85,"column":21,"nodeType":"MemberExpression","messageId":"forbidden","endLine":85,"endColumn":40},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":85,"column":21,"nodeType":"MemberExpression","messageId":"forbidden","endLine":85,"endColumn":40},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":101,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":101,"endColumn":47},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":102,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":102,"endColumn":48},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":104,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":104,"endColumn":36},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":129,"column":7,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":129,"endColumn":136},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":130,"column":29,"nodeType":"MemberExpression","messageId":"forbidden","endLine":130,"endColumn":53},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":130,"column":29,"nodeType":"MemberExpression","messageId":"forbidden","endLine":130,"endColumn":53}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":17,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * Javascript Code to enable simple upload functionality using OOUI's SelectFileInputWidget\n * for \"combobox\" and \"text\" input types\n *\n * @param $\n * @param mw\n * @author Nischay Nahata\n * @author Yaron Koren\n * @author Yash Varshney\n */\n\n( function( $, mw ) {\n\t$.fn.initializeSimpleUpload = function() {\n\n\t\tconst inputSpan = this.parent();\n\t\tconst uploadWidget = new OO.ui.SelectFileInputWidget( {\n\t\t\tbutton: {\n\t\t\t\tflags: [\n\t\t\t\t\t'progressive'\n\t\t\t\t],\n\t\t\t\ticon: 'upload',\n\t\t\t\tlabel: mw.message( 'pf-simpleupload' ).text()\n\t\t\t},\n\t\t\tclasses: [ 'simpleUpload' ]\n\t\t} );\n\n\t\tconst removeButton = new OO.ui.ButtonWidget( {\n\t\t\tlabel: mw.message( 'htmlform-cloner-delete' ).text(),\n\t\t\tflags: [\n\t\t\t\t'destructive'\n\t\t\t],\n\t\t\ticon: 'trash',\n\t\t\tclasses: [ 'simpleupload_rmv_btn' ]\n\t\t} );\n\n\t\tconst buttonRow = new OO.ui.HorizontalLayout( {\n\t\t\titems: [\n\t\t\t\tuploadWidget,\n\t\t\t\tremoveButton\n\t\t\t]\n\t\t} );\n\n\t\tlet input,\n\t\t\tcur_value = '',\n\t\t\tloadingImage = inputSpan.find('img.loading');\n\n\t\t// append a row of buttons for upload and remove\n\t\tinputSpan.find('span.simpleUploadInterface').append(buttonRow.$element);\n\n\t\tif ( inputSpan.attr('data-input-type') == 'combobox' ) {\n\t\t\tinput = inputSpan.find('input[role=\"combobox\"]');\n\t\t\tloadingImage.remove();\n\t\t\tinputSpan.prepend(loadingImage);\n\t\t\t// this has been done to align all buttons with combobox properly\n\t\t\t// in a horizontal manner\n\t\t\tinputSpan.find('span.simpleUploadInterface > div.oo-ui-layout').css( {\n\t\t\t\t'display': 'inline',\n\t\t\t\t'margin-left': '-15px'\n\t\t\t} );\n\t\t\tinputSpan.find('div.oo-ui-textInputWidget').css( {\n\t\t\t\t'margin-top': '-15px',\n\t\t\t\t'display': 'inline-block'\n\t\t\t} );\n\t\t\tinputSpan.find('div.simpleUpload').css('margin-top','-6px');\n\t\t\tinputSpan.find('span.simpleupload_rmv_btn').css('margin-top','-6px');\n\t\t} else {\n\t\t\tinput = inputSpan.find('input.createboxInput');\n\t\t}\n\n\t\tcur_value = input.val();\n\n\t\t// hide the remove button for now considering that no file is displayed\n\t\tremoveButton.$element.hide()\n\n\t\t// remove the input part from SelectInputWidget leaving only button\n\t\tinputSpan.find('div.oo-ui-actionFieldLayout-input').remove();\n\t\t// adjust the size of the parent div\n\t\tinputSpan.find('div.simpleUpload').css('width', '100px');\n\t\tif ( inputSpan.attr('data-input-type') == 'text' ) {\n\t\t\tinput.hide();\n\t\t}\n\n\t\tif ( cur_value !== '' && typeof cur_value !== 'undefined' ) {\n\t\t\tlet previewURL = mw.config.get('wgArticlePath').replace('$1', 'Special:Redirect/file/' + encodeURIComponent( cur_value ) );\n\t\t\tpreviewURL += ( !previewURL.includes('?') ) ? '?' : '&';\n\t\t\tpreviewURL += 'width=100';\n\t\t\tinputSpan.prepend($('<img class=\"simpleupload_prv\" src=\"' + previewURL + '\">'));\n\n\t\t\t// now display the remove button for removing the file displayed\n\t\t\tremoveButton.$element.show();\n\t\t}\n\n\t\tremoveButton.$element.find('a').click( () => {\n\t\t\tinputSpan.find('img.simpleupload_prv').remove();\n\t\t\tcur_value = '';\n\t\t\tinput.val('');\n\t\t\tremoveButton.$element.hide();\n\t\t});\n\n\t\tinputSpan.find('span.simpleUploadInterface').find('input[type=\"file\"]').change( (event) => {\n\t\t\tconst fileToUpload = event.target.files[0]; // get (first) File\n\t\t\tconst fileName = event.target.files[0].name;\n\n\t\t\tconst formdata = new FormData(); // see https://developer.mozilla.org/en-US/docs/Web/API/FormData/Using_FormData_Objects\n\t\t\tformdata.append(\"action\", \"upload\");\n\t\t\tformdata.append(\"format\", \"json\");\n\t\t\tformdata.append(\"ignorewarnings\", \"true\");\n\t\t\tformdata.append(\"filename\", fileName);\n\t\t\tformdata.append(\"token\", mw.user.tokens.get( 'csrfToken' ) );\n\t\t\tformdata.append(\"file\", fileToUpload);\n\n\t\t\tloadingImage.show();\n\t\t\t// As we now have created the data to send, we send it...\n\t\t\t$.ajax( { // http://stackoverflow.com/questions/6974684/how-to-send-formdata-objects-with-ajax-requests-in-jquery\n\t\t\t\turl: mw.util.wikiScript( 'api' ), // url to api.php\n\t\t\t\tcontentType:false,\n\t\t\t\tprocessData:false,\n\t\t\t\ttype:'POST',\n\t\t\t\tdata: formdata,// the formdata object we created above\n\t\t\t\tsuccess: function( data ) {\n\t\t\t\t\t// do what you like, console logs are just for demonstration :-)\n\t\t\t\t\tif ( !data.error ) {\n\t\t\t\t\t\tcur_value = fileName;\n\n\t\t\t\t\t\t// give the fileName to the field overwriting whatever was wrtitten there\n\t\t\t\t\t\tinput.val(fileName);\n\n\t\t\t\t\t\tinputSpan.find('img.simpleupload_prv').remove();\n\t\t\t\t\t\tlet imagePreviewURL = mw.config.get('wgArticlePath').replace( '$1', 'Special:Redirect/file/' + encodeURIComponent( cur_value ) );\n\t\t\t\t\t\timagePreviewURL += ( !imagePreviewURL.includes('?') ) ? '?' : '&';\n\t\t\t\t\t\timagePreviewURL += 'width=100';\n\t\t\t\t\t\tinputSpan.prepend('<img class=\"simpleupload_prv\" src=\"' + imagePreviewURL + '\">');\n\t\t\t\t\t\tloadingImage.hide();\n\t\t\t\t\t\tremoveButton.$element.show();\n\t\t\t\t\t} else {\n\t\t\t\t\t\twindow.alert(\"Error: \" + data.error.info);\n\t\t\t\t\t\t// if any error pops up, just hide the remove button\n\t\t\t\t\t\tremoveButton.$element.hide();\n\t\t\t\t\t\tloadingImage.hide();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\terror: function( xhr,status, error ) {\n\t\t\t\t\twindow.alert('Something went wrong! Please check the log for errors');\n\t\t\t\t\tremoveButton.$element.hide();\n\t\t\t\t\tloadingImage.hide();\n\t\t\t\t\tmw.log(error);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t};\n\n}( jQuery, mediaWiki ) );\n","usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/libs/PF_spreadsheet.js","messages":[{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":10,"column":1,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":10,"endColumn":28},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":11,"column":1,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":11,"endColumn":270},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":12,"column":1,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":12,"endColumn":253},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":13,"column":1,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":13,"endColumn":262},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":14,"column":1,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":14,"endColumn":229},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":15,"column":1,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":15,"endColumn":233},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":16,"column":1,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":16,"endColumn":253},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":17,"column":1,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":17,"endColumn":36},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":18,"column":1,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":18,"endColumn":23},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":21,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":21,"endColumn":50},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":37,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":41,"endColumn":5},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":42,"column":12,"nodeType":"MemberExpression","messageId":"forbidden","endLine":42,"endColumn":40},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":46,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":47,"endColumn":13},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":60,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":60,"endColumn":76},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":72,"column":11,"nodeType":"MemberExpression","messageId":"forbidden","endLine":72,"endColumn":27},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":72,"column":11,"nodeType":"MemberExpression","messageId":"forbidden","endLine":72,"endColumn":27},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":84,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":84,"endColumn":19},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":103,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":103,"endColumn":58},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":108,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":108,"endColumn":59},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":114,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":114,"endColumn":86},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":115,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":115,"endColumn":17},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":116,"column":9,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":116,"endColumn":25},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":120,"column":10,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":120,"endColumn":25},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":134,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":134,"endColumn":45},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":135,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":135,"endColumn":50},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":136,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":136,"endColumn":42},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":146,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":150,"endColumn":5},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":165,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":165,"endColumn":83},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":171,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":173,"endColumn":6},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":174,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":174,"endColumn":124},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":186,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":186,"endColumn":45},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":187,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":187,"endColumn":45},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":203,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":203,"endColumn":89},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":205,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":206,"endColumn":64},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":218,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":222,"endColumn":5},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":244,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":244,"endColumn":79},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":245,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":245,"endColumn":78},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":252,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":252,"endColumn":47},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":253,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":253,"endColumn":56},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":265,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":265,"endColumn":82},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":266,"column":9,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":266,"endColumn":18},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":267,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":267,"endColumn":62},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":275,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":275,"endColumn":14},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":276,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":277,"endColumn":11},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":278,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":282,"endColumn":5},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":294,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":294,"endColumn":85},{"ruleId":"prefer-const","severity":1,"message":"'editor' is never reassigned. Use 'const' instead.","line":326,"column":3,"nodeType":"Identifier","messageId":"useConst","endLine":326,"endColumn":9},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":354,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":355,"endColumn":109},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":367,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":369,"endColumn":57},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":372,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":372,"endColumn":22},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":373,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":376,"endColumn":60},{"ruleId":"prefer-const","severity":1,"message":"'templateName' is never reassigned. Use 'const' instead.","line":373,"column":7,"nodeType":"Identifier","messageId":"useConst","endLine":373,"endColumn":19},{"ruleId":"prefer-const","severity":1,"message":"'formName' is never reassigned. Use 'const' instead.","line":374,"column":4,"nodeType":"Identifier","messageId":"useConst","endLine":374,"endColumn":12},{"ruleId":"prefer-const","severity":1,"message":"'editMultiplePages' is never reassigned. Use 'const' instead.","line":376,"column":4,"nodeType":"Identifier","messageId":"useConst","endLine":376,"endColumn":21},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":377,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":377,"endColumn":22},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":382,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":382,"endColumn":67},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":383,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":383,"endColumn":66},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":393,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":393,"endColumn":18},{"ruleId":"es-x/no-for-of-loops","severity":1,"message":"ES2015 'for-of' statements are forbidden.","line":394,"column":3,"nodeType":"ForOfStatement","messageId":"forbidden","endLine":429,"endColumn":4},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":394,"column":9,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":394,"endColumn":28},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":396,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":396,"endColumn":45},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":397,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":397,"endColumn":28},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":398,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":401,"endColumn":6},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":416,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":416,"endColumn":50},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":439,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":439,"endColumn":26},{"ruleId":"es-x/no-for-of-loops","severity":1,"message":"ES2015 'for-of' statements are forbidden.","line":440,"column":3,"nodeType":"ForOfStatement","messageId":"forbidden","endLine":442,"endColumn":4},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":440,"column":9,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":440,"endColumn":21},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":444,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":444,"endColumn":22},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":445,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":445,"endColumn":24},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":446,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":446,"endColumn":21},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":447,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":447,"endColumn":27},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":448,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":448,"endColumn":33},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":457,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":457,"endColumn":125},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":470,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":470,"endColumn":48},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":471,"column":12,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":471,"endColumn":21},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":489,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":489,"endColumn":71},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":490,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":490,"endColumn":44},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":502,"column":12,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":502,"endColumn":27},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":503,"column":7,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":503,"endColumn":66},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":504,"column":7,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":504,"endColumn":59},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":521,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":521,"endColumn":69},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":522,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":522,"endColumn":30},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":523,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":523,"endColumn":52},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":524,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":524,"endColumn":24},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":525,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":525,"endColumn":33},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":527,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":527,"endColumn":14},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":531,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":531,"endColumn":22},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":532,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":532,"endColumn":38},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":533,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":533,"endColumn":59},{"ruleId":"no-var","severity":1,"message":"Unexpected var, use let or const instead.","line":534,"column":5,"nodeType":"VariableDeclaration","messageId":"unexpectedVar","endLine":534,"endColumn":17},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":536,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":536,"endColumn":49},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":561,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":561,"endColumn":22},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":566,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":566,"endColumn":33},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":567,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":567,"endColumn":34},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":568,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":568,"endColumn":28},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":570,"column":10,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":570,"endColumn":19},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":571,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":571,"endColumn":44},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":611,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":611,"endColumn":77},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":682,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":682,"endColumn":28},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":683,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":683,"endColumn":38},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":684,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":684,"endColumn":19},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":685,"column":10,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":685,"endColumn":19},{"ruleId":"es-x/no-for-of-loops","severity":1,"message":"ES2015 'for-of' statements are forbidden.","line":687,"column":6,"nodeType":"ForOfStatement","messageId":"forbidden","endLine":698,"endColumn":7},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":687,"column":11,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":687,"endColumn":29},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":688,"column":7,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":688,"endColumn":60},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":689,"column":7,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":689,"endColumn":35},{"ruleId":"es-x/no-for-of-loops","severity":1,"message":"ES2015 'for-of' statements are forbidden.","line":690,"column":7,"nodeType":"ForOfStatement","messageId":"forbidden","endLine":696,"endColumn":8},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":690,"column":12,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":690,"endColumn":23},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":691,"column":8,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":691,"endColumn":44},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":692,"column":8,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":692,"endColumn":63},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":693,"column":8,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":693,"endColumn":66},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":704,"column":11,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":704,"endColumn":25},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":705,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":705,"endColumn":58},{"ruleId":"no-var","severity":1,"message":"Unexpected var, use let or const instead.","line":706,"column":6,"nodeType":"VariableDeclaration","messageId":"unexpectedVar","endLine":706,"endColumn":19},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":709,"column":7,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":709,"endColumn":46},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":719,"column":8,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":719,"endColumn":109},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":723,"column":8,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":726,"endColumn":19},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":744,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":744,"endColumn":36},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":745,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":745,"endColumn":49},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":750,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":750,"endColumn":50},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":751,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":751,"endColumn":52},{"ruleId":"no-shadow","severity":1,"message":"'columnParams' is already declared in the upper scope on line 853 column 11.","line":751,"column":12,"nodeType":"Identifier","messageId":"noShadow","endLine":751,"endColumn":24},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":753,"column":7,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":753,"endColumn":63},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":757,"column":7,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":757,"endColumn":43},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":760,"column":8,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":760,"endColumn":32},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":761,"column":8,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":761,"endColumn":45},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":769,"column":7,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":769,"endColumn":80},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":772,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":772,"endColumn":46},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":773,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":773,"endColumn":34},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":798,"column":8,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":798,"endColumn":39},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":804,"column":8,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":804,"endColumn":39},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":811,"column":8,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":811,"endColumn":62},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":812,"column":8,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":812,"endColumn":51},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":823,"column":8,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":823,"endColumn":46},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":853,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":853,"endColumn":51},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":855,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":855,"endColumn":59},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":863,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":864,"endColumn":20},{"ruleId":"prefer-const","severity":1,"message":"'numberOfColumns' is never reassigned. Use 'const' instead.","line":863,"column":10,"nodeType":"Identifier","messageId":"useConst","endLine":863,"endColumn":25},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Positional selector extensions are not allowed","line":863,"column":28,"nodeType":"CallExpression","endLine":863,"endColumn":62},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Positional selector extensions are not allowed","line":867,"column":6,"nodeType":"CallExpression","endLine":867,"endColumn":40},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":876,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":880,"endColumn":11},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":885,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":885,"endColumn":60},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":891,"column":7,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":891,"endColumn":68},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":896,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":896,"endColumn":53},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":903,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":903,"endColumn":60},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":904,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":904,"endColumn":65},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":911,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":911,"endColumn":53},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":924,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":927,"endColumn":58},{"ruleId":"prefer-const","severity":1,"message":"'templateName' is never reassigned. Use 'const' instead.","line":924,"column":7,"nodeType":"Identifier","messageId":"useConst","endLine":924,"endColumn":19},{"ruleId":"prefer-const","severity":1,"message":"'table' is never reassigned. Use 'const' instead.","line":925,"column":4,"nodeType":"Identifier","messageId":"useConst","endLine":925,"endColumn":9},{"ruleId":"prefer-const","severity":1,"message":"'editMultiplePages' is never reassigned. Use 'const' instead.","line":927,"column":4,"nodeType":"Identifier","messageId":"useConst","endLine":927,"endColumn":21},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":928,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":928,"endColumn":94},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Positional selector extensions are not allowed","line":928,"column":27,"nodeType":"CallExpression","endLine":928,"endColumn":61},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Positional selector extensions are not allowed","line":933,"column":4,"nodeType":"CallExpression","endLine":933,"endColumn":38},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":942,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":942,"endColumn":43},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":953,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":956,"endColumn":61},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":965,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":965,"endColumn":43},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":966,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":966,"endColumn":46},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":971,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":971,"endColumn":105},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":972,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":972,"endColumn":64},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":973,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":973,"endColumn":84}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":161,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * Code to integrate the jExcel JavaScript library into Page Forms.\n *\n * @author Yaron Koren\n * @author Balabky9\n * @author Amr El-Absy\n */\n\n// @TODO - make this based on the API limit, which in turn is based on whether the user has the \"apihighlimits\" right.\nconst numPagesToQuery = 50;\nconst saveIcon = '<span class=\"oo-ui-widget oo-ui-widget-enabled oo-ui-iconElement oo-ui-iconElement-icon oo-ui-icon-check oo-ui-labelElement-invisible oo-ui-iconWidget\" aria-disabled=\"false\" title=\"' + mw.message( 'upload-dialog-button-save' ).escaped() + '\"></span>';\nconst cancelIcon = '<span class=\"oo-ui-widget oo-ui-widget-enabled oo-ui-iconElement oo-ui-iconElement-icon oo-ui-icon-close oo-ui-labelElement-invisible oo-ui-iconWidget\" aria-disabled=\"false\" title=\"' + mw.message( 'cancel' ).escaped() + '\"></span>';\nconst addIcon = '<span class=\"oo-ui-widget oo-ui-widget-enabled oo-ui-iconElement oo-ui-iconElement-icon oo-ui-icon-add oo-ui-labelElement-invisible oo-ui-iconWidget\" aria-disabled=\"false\" title=\"' + mw.message( 'apisandbox-add-multi' ).escaped() + '\"></span>';\nconst upIcon = '<span class=\"oo-ui-widget oo-ui-widget-enabled oo-ui-iconElement oo-ui-iconElement-icon oo-ui-icon-upTriangle oo-ui-labelElement-invisible oo-ui-iconWidget\" aria-disabled=\"false\" title=\"' + 'Raise' + '\"></span>';\nconst downIcon = '<span class=\"oo-ui-widget oo-ui-widget-enabled oo-ui-iconElement oo-ui-iconElement-icon oo-ui-icon-downTriangle oo-ui-labelElement-invisible oo-ui-iconWidget\" aria-disabled=\"false\" title=\"' + 'Lower' + '\"></span>';\nconst deleteIcon = '<span class=\"oo-ui-widget oo-ui-widget-enabled oo-ui-iconElement oo-ui-iconElement-icon oo-ui-icon-trash oo-ui-labelElement-invisible oo-ui-iconWidget\" aria-disabled=\"false\" title=\"' + mw.message( 'delete' ).escaped() + '\"></span>';\nconst manageColumnTitle = '\\u2699';\nconst dataValues = [];\n\n( function( jexcel, mw ) {\n\tconst baseUrl = mw.config.get( 'wgScriptPath' );\n\tmw.spreadsheets = {};\n\n\t// Handle any possible Boolean values from the wiki page.\n\tjexcel.prototype.valueIsYes = function(value) {\n\t\tif ( value === null ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( typeof value === 'boolean' ) {\n\t\t\treturn value;\n\t\t}\n\n\t\tif ( typeof value === 'string' ) {\n\t\t\tvalue = value.toLowerCase();\n\t\t}\n\t\tconst possibleYesMessages = [\n\t\t\tmw.config.get( 'wgPageFormsContLangYes' ).toLowerCase(),\n\t\t\t// Add in '1', and some hardcoded English.\n\t\t\t'1', 'yes', 'true'\n\t\t];\n\t\treturn ( possibleYesMessages.includes(value) );\n\t};\n\n\tjexcel.prototype.getjExcelValue = function( mwValue, columnAttributes ) {\n\t\tlet date,\n\t\t\tmonthNum;\n\t\tif ( mwValue == null ) {\n\t\t\treturn null;\n\t\t}\n\t\tmwValue = this.decodeValues( mwValue );\n\t\tif ( columnAttributes['type'] == 'checkbox' ) {\n\t\t\treturn jexcel.prototype.valueIsYes(mwValue);\n\t\t} else if ( columnAttributes['list'] == true ) {\n\t\t\t// The list delimiter unfortunately can't be set for\n\t\t\t// jExcel - it's hardcoded to a semicolon - and values\n\t\t\t// can't have spaces around them. So we have to\n\t\t\t// modify the current value for it to be handled\n\t\t\t// correctly.\n\t\t\tconst individualValues = mwValue.split( columnAttributes['delimiter'] );\n\t\t\treturn $.map( individualValues, $.trim ).join(';');\n\t\t} else if ( columnAttributes['type'] == 'date' ) {\n\t\t\tdate = new Date( mwValue );\n\t\t\t// Avoid timezone strangeness.\n\t\t\tdate.setTime( date.getTime() + 60000 * date.getTimezoneOffset());\n\t\t\tmonthNum = date.getMonth() + 1;\n\t\t\treturn date.getFullYear() + '-' + monthNum + '-' + date.getDate();\n\t\t} else if ( columnAttributes['type'] == 'datetime' ) {\n\t\t\tdate = new Date( mwValue );\n\t\t\t// Avoid timezone strangeness, if what we're handling\n\t\t\t// is just a date.\n\t\t\tif ( ! mwValue.includes(':') ) {\n\t\t\t\tdate.setTime( date.getTime() + 60000 * date.getTimezoneOffset());\n\t\t\t}\n\t\t\tmonthNum = date.getMonth() + 1;\n\t\t\treturn date.getFullYear() + '-' + monthNum + '-' + date.getDate() +\n\t\t\t\t' ' + date.getHours() + ':' + date.getMinutes();\n\t\t} else {\n\t\t\treturn mwValue;\n\t\t}\n\t}\n\n\tjexcel.prototype.getMWValueFromCell = function( $cell, columnAttributes ) {\n\t\tlet jExcelValue;\n\t\tif ( columnAttributes['type'] == 'checkbox' ) {\n\t\t\tjExcelValue = $cell.find('input').prop( 'checked' );\n\t\t} else {\n\t\t\tjExcelValue = $cell.html();\n\t\t}\n\t\treturn jexcel.prototype.getMWValueFromjExcelValue( jExcelValue, columnAttributes );\n\t}\n\n\tjexcel.prototype.getMWValueFromjExcelValue = function( jExcelValue, columnAttributes ) {\n\t\tif ( jExcelValue == null ) {\n\t\t\treturn null;\n\t\t}\n\t\tjExcelValue = this.decodeValues( jExcelValue );\n\t\tif ( columnAttributes['type'] == 'checkbox' ) {\n\t\t\treturn ( jExcelValue == 'true' ) ?\n\t\t\t\tmw.config.get( 'wgPageFormsContLangYes' ) :\n\t\t\t\tmw.config.get( 'wgPageFormsContLangNo' );\n\t\t} else if ( columnAttributes['list'] == true ) {\n\t\t\tconst delimiter = columnAttributes['delimiter'] + ' ';\n\t\t\treturn jExcelValue.replace(/;/g, delimiter);\n\t\t} else if ( columnAttributes['type'] == 'date' || columnAttributes['type'] == 'datetime' ) {\n\t\t\treturn jExcelValue;\n\t\t} else {\n\t\t\tconst mwValue = jExcelValue.replace( /\\<br\\>/g, \"\\n\" );\n\t\t\treturn mwValue;\n\t\t}\n\t}\n\n\tjexcel.prototype.generateQueryStringForSave = function( formName, templateName, pageName, rowValues, columns ) {\n\t\tlet queryString = 'form=' + formName + '&target=' + encodeURIComponent( pageName );\n\t\tlet curColumn;\n\t\tfor ( const columnName in rowValues ) {\n\t\t\tif ( columnName == 'page' ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tfor ( const columnNum in columns ) {\n\t\t\t\tif ( columns[columnNum]['title'] == columnName ) {\n\t\t\t\t\tcurColumn = columns[columnNum];\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tqueryString += '&' + templateName + '[' + columnName + ']=' +\n\t\t\t\tencodeURIComponent( jexcel.prototype.getMWValueFromjExcelValue( rowValues[columnName], curColumn ) );\n\t\t}\n\t\treturn queryString;\n\t}\n\n\tjexcel.prototype.saveChanges = function( spreadsheetID, templateName, pageName, newPageName, formName, rowNum, rowValues, columns, editMultiplePages ) {\n\t\t$(\"div#\" + spreadsheetID + \" table.jexcel td[data-y = \" + rowNum + \"]\").not(\".jexcel_row\").each( function() {\n\t\t\tconst columnNum = $(this).attr(\"data-x\");\n\t\t\tconst curColumn = columns[columnNum]['title'];\n\t\t\tconst curValue = rowValues[curColumn];\n\t\t\tif ( rowValues[curColumn] !== undefined ) {\n\t\t\t\tmw.spreadsheets[spreadsheetID].setValue( this, curValue );\n\t\t\t}\n\t\t});\n\n\t\tif ( editMultiplePages === undefined ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst data = {\n\t\t\taction: 'pfautoedit',\n\t\t\tformat: 'json',\n\t\t\tquery: jexcel.prototype.generateQueryStringForSave( formName, templateName, pageName, rowValues, columns )\n\t\t};\n\t\treturn $.ajax({\n\t\t\ttype: 'POST',\n\t\t\turl: baseUrl + '/api.php',\n\t\t\tdata: data,\n\t\t\tdataType: 'json',\n\t\t\tsuccess: function(successData) {\n\t\t\t\tif ( newPageName !== '' && newPageName !== undefined && newPageName !== pageName ) {\n\t\t\t\t\tjexcel.prototype.movePage( pageName, newPageName );\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tjexcel.prototype.getToken = function() {\n\t\tconst url = baseUrl + '/api.php?action=query&format=json&meta=tokens&type=csrf';\n\t\treturn $.post( url );\n\t}\n\n\tjexcel.prototype.movePage = function( fromPage, toPage ) {\n\t\treturn $.when( jexcel.prototype.getToken() ).then( ( postResult ) => {\n\t\t\tconst data = {\n\t\t\t\ttoken: postResult.query.tokens.csrftoken\n\t\t\t};\n\t\t\tconst query = 'from=' + encodeURIComponent( fromPage ) + \"&to=\" + encodeURIComponent( toPage ) + \"&movetalk&noredirect\";\n\t\t\treturn $.ajax( {\n\t\t\t\ttype: 'POST',\n\t\t\t\turl: baseUrl + '/api.php?action=move&format=json&' + query,\n\t\t\t\tdataType: 'json',\n\t\t\t\tdata: data\n\t\t\t} );\n\t\t});\n\t}\n\n\tjexcel.prototype.cancelChanges = function( spreadsheetID, rowValues, rowNum, columnNames ) {\n\t\t$(\"div#\" + spreadsheetID + \" table.jexcel td[data-y = \" + rowNum + \"]\").not(\".jexcel_row\").each( function() {\n\t\t\tconst columnNum = $(this).attr(\"data-x\");\n\t\t\tconst curColumn = columnNames[columnNum];\n\t\t\tif ( rowValues[curColumn] !== undefined ) {\n\t\t\t\tmw.spreadsheets[spreadsheetID].setValue( this, rowValues[curColumn] );\n\t\t\t} else {\n\t\t\t\tmw.spreadsheets[spreadsheetID].setValue( this, \"\" );\n\t\t\t}\n\t\t} );\n\n\t\t$(\"div#\" + spreadsheetID + \" td[data-y = \" + rowNum + \"] .save-changes\").each( function() {\n\t\t\t$(this).parent().hide();\n\t\t\t$(this).parent().siblings('.mit-row-icons').show();\n\t\t} );\n\t}\n\n\t// Add a new page.\n\tjexcel.prototype.saveNewRow = function( spreadsheetID, templateName, formName, rowNum, pageName, rowValues, columns, editMultiplePages ) {\n\t\tconst $manageCell = $( \"div#\" + spreadsheetID + \" td[data-y=\" + rowNum + \"]\" ).last();\n\n\t\tconst spanContents = '<a href=\"#\" class=\"save-changes\">' + saveIcon + '</a> | ' +\n\t\t\t'<a href=\"#\" class=\"cancel-changes\">' + cancelIcon + '</a>';\n\n\t\t$manageCell.children('span.save-or-cancel')\n\t\t\t.attr('id', 'page-span-' + pageName)\n\t\t\t.html( spanContents )\n\t\t\t.hide();\n\n\t\tif ( editMultiplePages == undefined ) {\n\t\t\t$manageCell.children('.mit-row-icons').show();\n\t\t\treturn;\n\t\t}\n\n\t\tconst data = {\n\t\t\taction: 'pfautoedit',\n\t\t\tformat: 'json',\n\t\t\tquery: jexcel.prototype.generateQueryStringForSave( formName, templateName, pageName, rowValues, columns )\n\t\t};\n\t\treturn $.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: baseUrl + '/api.php',\n\t\t\tdata: data,\n\t\t\tdataType: 'json'\n\t\t} );\n\t}\n\n\t// Decode values\n\tjexcel.prototype.decodeValues = function( value ) {\n\t\tvalue = $('<div />').html( value ).text();\n\t\treturn value;\n\t}\n\n\tjexcel.prototype.deleteRow = function( spreadsheetID, rowNum ) {\n\t\trowNum = parseInt(rowNum);\n\t\tmw.spreadsheets[spreadsheetID].deleteRow(rowNum);\n\t\tdataValues[spreadsheetID].splice(rowNum, 1);\n\t}\n\n\tjexcel.prototype.getAutocompleteAttributes = function( cell ) {\n\t\tlet autocompletedatatype = jQuery(cell).attr('data-autocomplete-data-type');\n\t\tlet autocompletesettings = jQuery(cell).attr('data-autocomplete-settings');\n\t\tif ( autocompletedatatype == undefined || autocompletesettings == undefined ) {\n\t\t\t// that means we are in Special:MultipageEdit\n\t\t\t// here we take attributes from the column head,\n\t\t\t// to use other types of autocompletion( apart from\n\t\t\t// \"cargo field\" and \"property\" ), the attributes in\n\t\t\t// each cell can also be set.\n\t\t\tconst data_x = jQuery(cell).attr('data-x');\n\t\t\tconst $table = jQuery(cell).parents().find('table');\n\t\t\tautocompletedatatype = jQuery($table).find('thead td[data-x=\"'+data_x+'\"]').attr('data-autocomplete-data-type');\n\t\t\tautocompletesettings = jQuery($table).find('thead td[data-x=\"'+data_x+'\"]').attr('data-autocomplete-settings');\n\t\t}\n\t\treturn {\n\t\t\tautocompletedatatype: autocompletedatatype, autocompletesettings: autocompletesettings\n\t\t};\n\t}\n\n\t// If a field is dependent on some other field in the form\n\t// then it returns its name.\n\tjexcel.prototype.dependenton = function(origname) {\n\t\tconst wgPageFormsDependentFields = mw.config.get('wgPageFormsDependentFields');\n\t\t\tfor (let i = 0; i < wgPageFormsDependentFields.length; i++) {\n\t\t\t\tconst dependentFieldPair = wgPageFormsDependentFields[i];\n\t\t\t\tif (dependentFieldPair[1] === origname) {\n\t\t\t\t\treturn dependentFieldPair[0];\n\t\t\t\t}\n\t\t\t}\n\t};\n\n\tjexcel.prototype.getEditorForAutocompletion = function( inputType, x, y, autocompletedatatype, autocompletesettings, cell, type ) {\n\t\tlet editor;\n\t\tlet pfSpreadsheetAutocomplete = false,\n\t\t\twidget;\n\t\tconst config = {\n\t\t\tdata_x: x,\n\t\t\tdata_y: y,\n\t\t\tautocompletedatatype: autocompletedatatype,\n\t\t};\n\t\tif ( autocompletedatatype == 'category' || autocompletedatatype == 'cargo field'\n\t\t\t|| autocompletedatatype == 'property' || autocompletedatatype == 'concept' ) {\n\t\t\tpfSpreadsheetAutocomplete = true;\n\t\t\tconfig['autocompletesettings'] = autocompletesettings;\n\t\t\tif ( inputType == 'combobox' ) {\n\t\t\t\twidget = new pf.SpreadsheetComboBoxInput(config);\n\t\t\t} else {\n\t\t\t\twidget = new pf.spreadsheetAutocompleteWidget(config);\n\t\t\t}\n\t\t} else if ( autocompletedatatype == 'dep_on' ) {\n\t\t\t// values dependent on\n\t\t\tconst dep_on_field = jexcel.prototype.dependenton(cell.getAttribute('origname'));\n\t\t\tif ( dep_on_field !== null ) {\n\t\t\t\tpfSpreadsheetAutocomplete = true;\n\t\t\t\tconfig['autocompletesettings'] = cell.getAttribute('name');\n\t\t\t\tconfig['dep_on_field'] = dep_on_field;\n\t\t\t\tif ( inputType == 'combobox' ) {\n\t\t\t\t\twidget = new pf.SpreadsheetComboBoxInput(config);\n\t\t\t\t} else {\n\t\t\t\t\twidget = new pf.spreadsheetAutocompleteWidget(config);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// this is probably the case where some parameters are set\n\t\t\t\t// in a wrong way in form definition, in that case use the default jexcel editor\n\t\t\t\tpfSpreadsheetAutocomplete = false;\n\t\t\t}\n\t\t} else if ( autocompletedatatype == 'external data' ) {\n\t\t\t// values from external data\n\t\t\tif ( autocompletesettings == cell.getAttribute('origname') ) {\n\t\t\t\tpfSpreadsheetAutocomplete = true;\n\t\t\t\tconfig['autocompletesettings'] = autocompletesettings;\n\t\t\t\tif ( inputType == 'combobox' ) {\n\t\t\t\t\twidget = new pf.SpreadsheetComboBoxInput(config);\n\t\t\t\t} else {\n\t\t\t\t\twidget = new pf.spreadsheetAutocompleteWidget(config);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// this is probably the case where some autocomplete parameters are set\n\t\t\t\t// in a wrong way in form definition, in that case use the default jexcel editor\n\t\t\t\tpfSpreadsheetAutocomplete = false;\n\t\t\t}\n\t\t}\n\n\t\teditor = pfSpreadsheetAutocomplete ? widget.$element[0] : document.createElement(type);\n\n\t\treturn {\n\t\t\teditor: editor, pfSpreadsheetAutocomplete: pfSpreadsheetAutocomplete\n\t\t};\n\t}\n\n\tjexcel.prototype.getValueToBeSavedAfterClosingEditor = function( cell, pfSpreadsheetAutocomplete, ooui_input_val ) {\n\t\tif (pfSpreadsheetAutocomplete) {\n\t\t\t// setting the value to be saved after closing the editor\n\t\t\treturn ooui_input_val;\n\t\t} else {\n\t\t\treturn cell.children[0].value;\n\t\t}\n\t}\n\n\tjexcel.prototype.setAutocompleteAttributesOfColumns = function( cell, gridParams, templateName, fieldNum ) {\n\t\t$(cell).attr( 'name', templateName + '[' + $(cell).attr('title') + ']' );\n\t\tif ( gridParams[templateName][fieldNum]['autocompletedatatype'] == undefined ) {\n\t\t\t$(cell).attr( 'data-autocomplete-data-type', '' );\n\t\t\t$(cell).attr( 'data-autocomplete-settings', '' );\n\t\t} else {\n\t\t\t$(cell).attr( 'data-autocomplete-data-type', gridParams[templateName][fieldNum]['autocompletedatatype'] );\n\t\t\t$(cell).attr( 'data-autocomplete-settings', gridParams[templateName][fieldNum]['autocompletesettings'] );\n\t\t}\n\t}\n\n\tjexcel.prototype.setAutocompleteAttributesOfCells = function( table, templateName, data_x, cell ) {\n\t\tconst autocompletedatatype = $(table).find('thead td[data-x=\"'+data_x+'\"]').attr('data-autocomplete-data-type'),\n\t\t\tautocompletesettings = $(table).find('thead td[data-x=\"'+data_x+'\"]').attr('data-autocomplete-settings');\n\t\t$(cell).attr({\n\t\t\t'name': templateName +'|'+$(table).find('thead td[data-x=\"'+data_x+'\"]').attr('title'),\n\t\t\t'origname': templateName +'['+$(table).find('thead td[data-x=\"'+data_x+'\"]').attr('title')+']',\n\t\t\t'data-autocomplete-data-type': autocompletedatatype,\n\t\t\t'data-autocomplete-settings': autocompletesettings\n\t\t});\n\t}\n\n})( jexcel, mediaWiki );\n\n( function( $, mw, pf ) {\n\tconst baseUrl = mw.config.get( 'wgScriptPath' ),\n\t\tgridParams = mw.config.get( 'wgPageFormsGridParams' ),\n\t\tgridValues = mw.config.get( 'wgPageFormsGridValues' );\n\n\t$( '.pfSpreadsheet' ).each( function() {\n\t\tconst table = this;\n\t\tlet templateName = $(this).attr( 'data-template-name' ),\n\t\t\tformName = $(this).attr( 'data-form-name' ),\n\t\t\tspreadsheetID = $(this).attr( 'id' ),\n\t\t\teditMultiplePages = $(this).attr( 'editMultiplePages' );\n\t\tconst columns = [];\n\n\t\t// Somewhat crude attempt at setting reasonable column widths,\n\t\t// based on the browser width and the number of columns, with\n\t\t// built-in maximum and minimum widths.\n\t\tconst numColumns = Object.keys(gridParams[templateName]).length;\n\t\tlet columnWidth = ( $('#content').width() - 150 ) / numColumns;\n\t\tif ( isNaN(columnWidth) ) {\n\t\t\tcolumnWidth = 200;\n\t\t}\n\t\tif ( columnWidth < 100 ) {\n\t\t\tcolumnWidth = 100;\n\t\t} else if ( columnWidth > 400 ) {\n\t\t\tcolumnWidth = 400;\n\t\t}\n\n\t\tlet columnName;\n\t\tfor ( const templateParam of gridParams[templateName] ) {\n\t\t\tcolumnName = templateParam['name'];\n\t\t\tconst columnType = templateParam['type'];\n\t\t\tlet jExcelType = 'text';\n\t\t\tconst columnAttributes = {\n\t\t\t\ttitle: columnName,\n\t\t\t\twidth: columnWidth + \"px\"\n\t\t\t};\n\t\t\tif ( columnType == 'checkbox' ) {\n\t\t\t\tjExcelType = 'checkbox';\n\t\t\t} else if ( columnType == 'date' ) {\n\t\t\t\tjExcelType = 'calendar';\n\t\t\t\tcolumnAttributes['options'] = {\n\t\t\t\t\tformat: 'YYYY-MM-DD'\n\t\t\t\t}\n\t\t\t} else if ( columnType == 'datetime' ) {\n\t\t\t\tjExcelType = 'calendar';\n\t\t\t\tcolumnAttributes['options'] = {\n\t\t\t\t\ttime: 1,\n\t\t\t\t\tformat: 'YYYY-MM-DD HH:MI'\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst allowedValues = templateParam['values'];\n\t\t\tif ( allowedValues !== undefined ) {\n\t\t\t\tjExcelType = 'dropdown';\n\t\t\t\tcolumnAttributes['source'] = allowedValues;\n\t\t\t\tif ( templateParam['list'] === true ) {\n\t\t\t\t\tcolumnAttributes['multiple'] = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( jExcelType == 'text' ) {\n\t\t\t\tcolumnAttributes['wordWrap'] = true;\n\t\t\t}\n\t\t\tcolumnAttributes['type'] = jExcelType;\n\t\t\tcolumns.push( columnAttributes );\n\t\t}\n\n\t\t// One more column, for the management icons.\n\t\tcolumns.push( {\n\t\t\ttitle: manageColumnTitle,\n\t\t\twidth: \"100px\",\n\t\t\ttype: \"html\",\n\t\t\treadOnly: true\n\t\t} );\n\n\t\tconst columnNames = [];\n\t\tfor ( const column of columns ) {\n\t\t\tcolumnNames.push( column.title );\n\t\t}\n\n\t\tconst pageIDs = [];\n\t\tconst pagesData = [];\n\t\tconst myData = [];\n\t\tconst newPageNames = [];\n\t\tconst modifiedDataValues = [];\n\n\t\tif ( editMultiplePages == undefined ) {\n\t\t\tpopulateSpreadsheet();\n\t\t} else {\n\t\t\tgetPagesForTemplate( templateName, null );\n\t\t}\n\n\t\tfunction getPagesForTemplate( templateNamed, continueStr ) {\n\t\t\tlet apiUrl = baseUrl + '/api.php?action=query&format=json&list=embeddedin&eilimit=500&eititle=Template:' + templateNamed;\n\t\t\tif ( continueStr !== null ) {\n\t\t\t\tapiUrl += \"&eicontinue=\" + continueStr;\n\t\t\t}\n\t\t\t$.ajax({\n\t\t\t\t// We get 500 pages because that's the limit\n\t\t\t\t// for \"prop=revision\".\n\t\t\t\turl: apiUrl,\n\t\t\t\tdataType: 'json',\n\t\t\t\ttype: 'POST',\n\t\t\t\tasync: false,\n\t\t\t\theaders: { 'Api-User-Agent': 'Example/1.0' },\n\t\t\t\tsuccess: function( data ) {\n\t\t\t\t\tconst pageObjects = data.query.embeddedin;\n\t\t\t\t\tfor ( let i = 0; i < pageObjects.length; i++ ) {\n\t\t\t\t\t\tpageIDs.push(pageObjects[i].pageid);\n\t\t\t\t\t}\n\t\t\t\t\tif ( data.continue !== undefined ) {\n\t\t\t\t\t\tgetPagesForTemplate( templateNamed, data.continue.eicontinue );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tgetAllPageDataAndPopulateSpreadsheet( 0 );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\terror: function(xhr, status, error){\n\t\t\t\t\tmw.notify( \"ERROR: Unable to retrieve pages for the selected template\", { type: 'error' } );\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\t// Recursive function to get the contents of each page from\n\t\t// the API, some number of pages at a time.\n\t\tfunction getAllPageDataAndPopulateSpreadsheet( offset ) {\n\t\t\tconst curPageIDs = pageIDs.slice(offset, offset + numPagesToQuery);\n\t\t\tconst pageIDsStr = curPageIDs.join('|');\n\t\t\t$.ajax({\n\t\t\t\turl: baseUrl + '/api.php?action=query&format=json&prop=revisions&rvprop=content&rvslots=main&formatversion=2&pageids=' + pageIDsStr,\n\t\t\t\tdataType: 'json',\n\t\t\t\ttype: 'POST',\n\t\t\t\theaders: { 'Api-User-Agent': 'Example/1.0' },\n\t\t\t\tsuccess: function(data) {\n\t\t\t\t\tif ( data.query == undefined ) {\n\t\t\t\t\t\t// There are no calls to this template.\n\t\t\t\t\t\tpopulateSpreadsheet();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tfor ( let pageNum = 0; pageNum < data.query.pages.length; pageNum++ ) {\n\t\t\t\t\t\tconst curRevision = data.query.pages[pageNum].revisions[0];\n\t\t\t\t\t\tconst pageContents = curRevision.slots.main.content;\n\t\t\t\t\t\tpagesData.push( {\n\t\t\t\t\t\t\ttitle: data.query.pages[pageNum].title,\n\t\t\t\t\t\t\tcontents: pageContents\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t\tif ( curPageIDs.length == numPagesToQuery ) {\n\t\t\t\t\t\tgetAllPageDataAndPopulateSpreadsheet( offset + numPagesToQuery );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tpopulateSpreadsheet();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tfunction getTemplateCalls( pageContent, pageName ) {\n\t\t\t// Match all the template calls and their contents\n\t\t\tconst startDelimiter = '{{' + templateName.toLowerCase() + '\\\\b';\n\t\t\tconst endDelimiter = '}}';\n\t\t\tconst regex = new RegExp( startDelimiter, 'g' );\n\t\t\tconst contents = [];\n\t\t\tlet contentStart, contentEnd;\n\t\t\tcontentStart = contentEnd = 0;\n\t\t\tlet match;\n\t\t\t// Parse contents of individual templates\n\t\t\twhile ( ( match = regex.exec( pageContent.toLowerCase() ) ) !== null ) {\n\t\t\t\tcontentStart = match['index'];\n\t\t\t\tlet content = '';\n\t\t\t\tlet numOpenCurlyBracketPairs = 1;\n\t\t\t\tlet curPos = contentStart + startDelimiter.length - 2;\n\t\t\t\tvar curPair;\n\t\t\t\tdo {\n\t\t\t\t\tconst curChar = pageContent.charAt(curPos);\n\t\t\t\t\tcurPair = curChar + pageContent.charAt(curPos + 1);\n\t\t\t\t\tif ( curPair == '{{' ) {\n\t\t\t\t\t\tnumOpenCurlyBracketPairs++;\n\t\t\t\t\t} else if ( curPair == '}}' ) {\n\t\t\t\t\t\tnumOpenCurlyBracketPairs--;\n\t\t\t\t\t}\n\t\t\t\t\tif ( numOpenCurlyBracketPairs > 0 ) {\n\t\t\t\t\t\tcontent += curChar;\n\t\t\t\t\t}\n\t\t\t\t\tcurPos++;\n\t\t\t\t} while ( numOpenCurlyBracketPairs > 0 && curPair !== '' );\n\n\t\t\t\tcontent = content.trim();\n\t\t\t\t// If this is actually a call to a template with\n\t\t\t\t// a different name, ignore it.\n\t\t\t\tif ( content !== '' && content.charAt(0) !== '|' ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tcontents.push( 'page=' + pageName + content );\n\t\t\t}\n\t\t\treturn contents;\n\t\t}\n\n\t\tfunction getTemplateParams( templateText ) {\n\t\t\tconst params = [];\n\t\t\tif ( templateText == '' ) {\n\t\t\t\treturn params;\n\t\t\t}\n\n\t\t\tlet numOpenCurlyBrackets = 0;\n\t\t\tlet numOpenSquareBrackets = 0;\n\t\t\tlet curReturnValue = '';\n\n\t\t\tfor ( let i = 0; i < templateText.length; i++ ) {\n\t\t\t\tconst curChar = templateText.charAt(i);\n\t\t\t\tif ( curChar == '{' ) {\n\t\t\t\t\tnumOpenCurlyBrackets++;\n\t\t\t\t} else if ( curChar == '}' ) {\n\t\t\t\t\tnumOpenCurlyBrackets--;\n\t\t\t\t}\n\t\t\t\tif ( curChar == '[' ) {\n\t\t\t\t\tnumOpenSquareBrackets++;\n\t\t\t\t} else if ( curChar == ']' ) {\n\t\t\t\t\tnumOpenSquareBrackets--;\n\t\t\t\t}\n\n\t\t\t\tif ( curChar == '|' && numOpenCurlyBrackets == 0 && numOpenSquareBrackets == 0 ) {\n\t\t\t\t\tparams.push( curReturnValue.trim() );\n\t\t\t\t\tcurReturnValue = '';\n\t\t\t\t} else {\n\t\t\t\t\tcurReturnValue += curChar;\n\t\t\t\t}\n\t\t\t}\n\t\t\tparams.push( curReturnValue.trim() );\n\n\t\t\treturn params;\n\t\t}\n\n\t\t//(function getData () {\n\n\t\t\t// Called whenever the user makes a change to the data.\n\t\t\tfunction editMade( instance, cell, x, y, value ) {\n\t\t\t\tspreadsheetID = $(instance).attr('id');\n\t\t\t\tcolumnName = columnNames[x];\n\t\t\t\tif ( columnName === \"page\" ) {\n\t\t\t\t\tnewPageNames[y] = value;\n\t\t\t\t}\n\n\t\t\t\t// Update either the \"save\" or the \"add\" icon,\n\t\t\t\t// depending on which one exists for this row.\n\t\t\t\t$( \"div#\" + spreadsheetID + \" td[data-y = \" + y + \"] .save-changes\" ).each( function() {\n\t\t\t\t\tif ( modifiedDataValues[spreadsheetID] === undefined ) {\n\t\t\t\t\t\tmodifiedDataValues[spreadsheetID] = {};\n\t\t\t\t\t}\n\t\t\t\t\tconst pageName = $(this).parent().attr(\"id\").replace(\"page-span-\", \"\");\n\t\t\t\t\tif ( modifiedDataValues[spreadsheetID][y] === undefined ) {\n\t\t\t\t\t\t// Hacky way to do a \"deep copy\".\n\t\t\t\t\t\tmodifiedDataValues[spreadsheetID][y] = JSON.parse(JSON.stringify(dataValues[spreadsheetID][y]));\n\t\t\t\t\t}\n\t\t\t\t\tmodifiedDataValues[spreadsheetID][y][columnName] = value;\n\t\t\t\t\t// @HACK - there's probably a better way to only\n\t\t\t\t\t// attach one click listener to this icon.\n\t\t\t\t\t$(this).off();\n\t\t\t\t\t$(this).click( function( event ) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tjexcel.prototype.saveChanges(\n\t\t\t\t\t\t\tspreadsheetID,\n\t\t\t\t\t\t\ttemplateName,\n\t\t\t\t\t\t\tpageName,\n\t\t\t\t\t\t\tnewPageNames[y],\n\t\t\t\t\t\t\tformName,\n\t\t\t\t\t\t\ty,\n\t\t\t\t\t\t\tmodifiedDataValues[spreadsheetID][y],\n\t\t\t\t\t\t\tcolumns,\n\t\t\t\t\t\t\teditMultiplePages\n\t\t\t\t\t\t);\n\t\t\t\t\t\tdataValues[spreadsheetID][y] = JSON.parse(JSON.stringify(modifiedDataValues[spreadsheetID][y]));\n\t\t\t\t\t\t$(this).parent().hide();\n\t\t\t\t\t\t$(this).parent().siblings('.mit-row-icons').show();\n\t\t\t\t\t} );\n\t\t\t\t\t// Use this opportunity to make the icons appear.\n\t\t\t\t\t$(this).parent().show();\n\t\t\t\t\t$(this).parent().siblings('.mit-row-icons').hide();\n\t\t\t\t});\n\t\t\t\t$(\"div#\" + spreadsheetID + \" td[data-y = \" + y + \"] .save-new-row\").each(function() {\n\t\t\t\t\tdataValues[spreadsheetID][y][columnName] = value;\n\t\t\t\t\t// @HACK - see above\n\t\t\t\t\t$(this).off();\n\t\t\t\t\t$(this).click( function( event ) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tjexcel.prototype.saveNewRow(\n\t\t\t\t\t\t\tspreadsheetID,\n\t\t\t\t\t\t\ttemplateName,\n\t\t\t\t\t\t\tformName,\n\t\t\t\t\t\t\ty,\n\t\t\t\t\t\t\tnewPageNames[y],\n\t\t\t\t\t\t\tdataValues[spreadsheetID][y],\n\t\t\t\t\t\t\tcolumns,\n\t\t\t\t\t\t\teditMultiplePages\n\t\t\t\t\t\t);\n\t\t\t\t\t\t$(this).parent().hide();\n\t\t\t\t\t} );\n\t\t\t\t});\n\t\t\t\t$( \"div#\" + spreadsheetID + \" td[data-y = \" + y + \"] .cancel-changes\" ).each( function() {\n\t\t\t\t\t// @HACK - see above\n\t\t\t\t\t$(this).off();\n\t\t\t\t\t$(this).click( function( event ) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tjexcel.prototype.cancelChanges(\n\t\t\t\t\t\t\tspreadsheetID,\n\t\t\t\t\t\t\tdataValues[spreadsheetID][y],\n\t\t\t\t\t\t\ty,\n\t\t\t\t\t\t\tcolumnNames\n\t\t\t\t\t\t);\n\t\t\t\t\t\t$(this).parent().hide();\n\t\t\t\t\t\t$(this).parent().siblings('.mit-row-icons').show();\n\t\t\t\t\t} );\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Populate the starting spreadsheet.\n\t\t\tfunction populateSpreadsheet() {\n\t\t\t\tif ( dataValues[spreadsheetID] == undefined ) {\n\t\t\t\t\tdataValues[spreadsheetID] = [];\n\t\t\t\t}\n\t\t\t\tlet templateCalls = [];\n\t\t\t\tconst numRows = pagesData.length;\n\t\t\t\tlet columnNum;\n\t\t\t\tfor (let j = 0; j < numRows; j++) {\n\t\t\t\t\ttemplateCalls = getTemplateCalls(pagesData[j].contents, pagesData[j].title);\n\t\t\t\t\tfor (const templateCall of templateCalls) {\n\t\t\t\t\t\tconst fieldArray = getTemplateParams( templateCall );\n\t\t\t\t\t\tconst fieldValueObject = {};\n\t\t\t\t\t\tfor (const field of fieldArray) {\n\t\t\t\t\t\t\tconst equalPos = field.indexOf('=');\n\t\t\t\t\t\t\tlet fieldLabel = field.slice(0, Math.max(0, equalPos));\n\t\t\t\t\t\t\tconst fieldValue = field.slice(Math.max(0, equalPos + 1));\n\t\t\t\t\t\t\tfieldLabel = fieldLabel.trim();\n\t\t\t\t\t\t\tfieldValueObject[fieldLabel] = fieldValue.trim();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdataValues[spreadsheetID].push(fieldValueObject);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif ( editMultiplePages == undefined ) {\n\t\t\t\t\tdataValues[spreadsheetID] = gridValues[templateName];\n\t\t\t\t}\n\t\t\t\tfor ( let rowNum = 0; rowNum < dataValues[spreadsheetID].length; rowNum++ ) {\n\t\t\t\t\tconst rowValues = dataValues[spreadsheetID][rowNum];\n\t\t\t\t\tvar pageName;\n\t\t\t\t\tfor ( columnNum = 0; columnNum < columnNames.length; columnNum++ ) {\n\t\t\t\t\t\tcolumnName = columnNames[columnNum];\n\t\t\t\t\t\tconst curValue = rowValues[columnName];\n\t\t\t\t\t\tif ( myData[rowNum] == undefined ) {\n\t\t\t\t\t\t\tmyData[rowNum] = [];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( columnName == 'page' ) {\n\t\t\t\t\t\t\tpageName = curValue;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( curValue !== undefined ) {\n\t\t\t\t\t\t\tconst jExcelValue = jexcel.prototype.getjExcelValue( curValue, gridParams[templateName][columnNum] );\n\t\t\t\t\t\t\tmyData[rowNum].push( jExcelValue );\n\t\t\t\t\t\t\tdataValues[spreadsheetID][rowNum][columnName] = jExcelValue;\n\t\t\t\t\t\t} else if ( columnName === manageColumnTitle ) {\n\t\t\t\t\t\t\tlet cellContents = '<span class=\"save-or-cancel\" style=\"display: none\" id=\"page-span-' + pageName + '\">' +\n\t\t\t\t\t\t\t\t'<a href=\"#\" class=\"save-changes\">' + saveIcon + '</a> | ' +\n\t\t\t\t\t\t\t\t'<a href=\"#\" class=\"cancel-changes\">' + cancelIcon + '</a>' +\n\t\t\t\t\t\t\t\t'</span>';\n\n\t\t\t\t\t\t\tif ( editMultiplePages === undefined ) {\n\t\t\t\t\t\t\t\tcellContents += '<span class=\"mit-row-icons\">' + // \"mit\" = \"multiple-instance template\"\n\t\t\t\t\t\t\t\t\t'<a href=\"#\" class=\"raise-row\">' + upIcon + '</a>' +\n\t\t\t\t\t\t\t\t\t' <a href=\"#\" class=\"lower-row\">' + downIcon + '</a>' +\n\t\t\t\t\t\t\t\t\t' | <a href=\"#\" class=\"delete-row\">' + deleteIcon + '</a>' +\n\t\t\t\t\t\t\t\t\t'</span>';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmyData[rowNum].push( cellContents );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmyData[rowNum].push(\"\");\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Called after a new row is added.\n\t\t\t\tfunction rowAdded(instance) {\n\t\t\t\t\tconst $instance = $(instance);\n\t\t\t\t\tconst spreadsheetId = $instance.attr('id');\n\t\t\t\t\trowAdded2( $instance, spreadsheetId );\n\t\t\t\t}\n\n\t\t\t\tfunction rowAdded2( $instance, spreadsheetId ) {\n\t\t\t\t\tconst $newRow = $instance.find(\"tr\").last();\n\t\t\t\t\tconst columnParams = gridParams[templateName];\n\t\t\t\t\tfor ( columnNum = 0; columnNum < columnParams.length; columnNum++ ) {\n\t\t\t\t\t\tconst defaultValue = columnParams[columnNum]['default'];\n\t\t\t\t\t\tif ( defaultValue == undefined ) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlet realDefaultValue = defaultValue;\n\t\t\t\t\t\t// Special handling for some default values.\n\t\t\t\t\t\tif ( defaultValue == 'now' ) {\n\t\t\t\t\t\t\tconst date = new Date();\n\t\t\t\t\t\t\tconst monthNum = date.getMonth() + 1;\n\t\t\t\t\t\t\trealDefaultValue = date.getFullYear() + '-' + monthNum + '-' + date.getDate() +\n\t\t\t\t\t\t\t\t' ' + date.getHours() + ':' + date.getMinutes();\n\t\t\t\t\t\t} else if ( defaultValue == 'current user' ) {\n\t\t\t\t\t\t\trealDefaultValue = mw.config.get( 'wgUserName' );\n\t\t\t\t\t\t} else if ( defaultValue == 'uuid' ) {\n\t\t\t\t\t\t\trealDefaultValue = window.pfGenerateUUID();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst $curCell = $newRow.find(\"td:nth-child(\" + ( columnNum + 2 ) + \")\");\n\t\t\t\t\t\t$curCell.html(realDefaultValue);\n\t\t\t\t\t}\n\t\t\t\t\tconst $cell = $newRow.find(\"td\").last();\n\t\t\t\t\tlet manageCellContents = '';\n\n\t\t\t\t\tif ( editMultiplePages === undefined ) {\n\t\t\t\t\t\tmanageCellContents = '<span class=\"mit-row-icons\">' +\n\t\t\t\t\t\t\t'<a href=\"#\" class=\"raise-row\">' + upIcon + '</a>' +\n\t\t\t\t\t\t\t' <a href=\"#\" class=\"lower-row\">' + downIcon + '</a>' +\n\t\t\t\t\t\t\t' | <a href=\"#\" class=\"delete-row\">' + deleteIcon + '</a>' +\n\t\t\t\t\t\t\t'</span>';\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmanageCellContents = '<span class=\"save-or-cancel\">' +\n\t\t\t\t\t\t\t'<a class=\"save-new-row\">' + addIcon + '</a> | ' +\n\t\t\t\t\t\t\t'<a class=\"cancel-adding\">' + cancelIcon + '</a></span>';\n\t\t\t\t\t}\n\t\t\t\t\t$cell.html(manageCellContents);\n\n\t\t\t\t\t// Don't activate the \"add page\" icon\n\t\t\t\t\t// yet, because the row doesn't have a\n\t\t\t\t\t// page name.\n\t\t\t\t\t// @TODO - should the icon even be there?\n\t\t\t\t\t$cell.find(\"a.cancel-adding\").click( ( event ) => {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tjexcel.prototype.deleteRow(spreadsheetId, dataValues[spreadsheetId].length);\n\t\t\t\t\t} );\n\t\t\t\t\tif ( editMultiplePages === undefined ) {\n\t\t\t\t\t\t$cell.find(\"a.delete-row\").click( ( event ) => {\n\t\t\t\t\t\t\tconst y = $cell.attr(\"data-y\");\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tjexcel.prototype.deleteRow( spreadsheetId, y );\n\t\t\t\t\t\t\t//dataValues[spreadsheetId].splice(y, 1);\n\t\t\t\t\t\t} );\n\t\t\t\t\t\t$cell.find(\"a.raise-row\").click( ( event ) => {\n\t\t\t\t\t\t\tconst y = $cell.attr(\"data-y\");\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tif ( y > 0 ) {\n\t\t\t\t\t\t\t\tmw.spreadsheets[spreadsheetId].moveRow( y, y - 1 );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\t\t\t\t\t\t$cell.find(\"a.lower-row\").click( ( event ) => {\n\t\t\t\t\t\t\tconst curSpreadsheet = mw.spreadsheets[spreadsheetId];\n\t\t\t\t\t\t\tconst y = parseInt( $cell.attr(\"data-y\") );\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tif ( y + 1 < curSpreadsheet.getData().length ) {\n\t\t\t\t\t\t\t\tcurSpreadsheet.moveRow( y, y + 1 );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\n\t\t\t\t\t// Providing the autocomplete attributes whenever a new row is added\n\t\t\t\t\tif ( editMultiplePages === undefined ) {\n\t\t\t\t\t\t$(table).find('tbody td').not('.jexcel_row').each(function() {\n\t\t\t\t\t\t\tconst data_x = $(this).attr('data-x');\n\t\t\t\t\t\t\tjexcel.prototype.setAutocompleteAttributesOfCells( table, templateName, data_x, this );\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tdataValues[spreadsheetId].push( {} );\n\t\t\t\t}\n\n\t\t\t\tmw.spreadsheets[spreadsheetID] = jexcel( table, {\n\t\t\t\t\tdata: myData,\n\t\t\t\t\tcolumns: columns,\n\t\t\t\t\ttableOverflow: true,\n\t\t\t\t\tloadingSpin: true,\n\t\t\t\t\tonchange: editMade,\n\t\t\t\t\tcolumnSorting: true,\n\t\t\t\t\tallowInsertColumn: false,\n\t\t\t\t\tallowDeletingAllRows: true,\n\t\t\t\t\toninsertrow: rowAdded,\n\t\t\t\t\tcontextMenu: function() {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t},\n\t\t\t\t\ttableHeight: \"2500px\",\n\t\t\t\t\tpagination: (editMultiplePages === undefined ) ? false : 100,\n\t\t\t\t\tsearch: (editMultiplePages !== undefined ),\n\t\t\t\t\tfilters: (editMultiplePages !== undefined ),\n\t\t\t\t\ttext: {\n\t\t\t\t\t\tsearch: mw.msg( 'search' )\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t\t// Set the \"label\" for columns that have a label defined.\n\t\t\t\tconst columnParams = gridParams[templateName];\n\t\t\t\tfor ( columnNum = 0; columnNum < columnParams.length; columnNum++ ) {\n\t\t\t\t\tconst columnLabel = columnParams[columnNum]['label'];\n\t\t\t\t\tif ( columnLabel == undefined ) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\t$(table).find('thead').find('td[data-x=' + columnNum + ']').html(columnLabel);\n\t\t\t\t}\n\n\t\t\t\tif ( editMultiplePages !== undefined ) {\n\t\t\t\t\tlet numberOfColumns = $(table).find('thead tr:first td').not('.jexcel_selectall').length,\n\t\t\t\t\t\tfieldNum = 0;\n\t\t\t\t\t// Provide the autocomplete attributes to each column of the spreadsheet\n\t\t\t\t\t// which is populated at the starting.\n\t\t\t\t\t$(table).find('thead tr:first td').not('.jexcel_selectall').each( function() {\n\t\t\t\t\t\t// to avoid the last column, used numberOfColumns-1\n\t\t\t\t\t\tif ( fieldNum < numberOfColumns-1 ) {\n\t\t\t\t\t\t\tjexcel.prototype.setAutocompleteAttributesOfColumns( this, gridParams, templateName, fieldNum );\n\t\t\t\t\t\t\tfieldNum++;\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\tconst addRowButton = new OO.ui.FieldLayout( new OO.ui.ButtonWidget( {\n\t\t\t\t\tclasses: [ 'add-row' ],\n\t\t\t\t\ticon: 'add',\n\t\t\t\t\tlabel: mw.msg( 'pf-spreadsheet-addrow' )\n\t\t\t\t} ) );\n\n\t\t\t\t$(table).append(addRowButton.$element);\n\n\t\t\t\t$('div#' + spreadsheetID + ' span.add-row').click( function( event ) {\n\t\t\t\t\tconst curSpreadsheet = mw.spreadsheets[spreadsheetID];\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tif ( curSpreadsheet.getData().length > 0 ) {\n\t\t\t\t\t\tcurSpreadsheet.insertRow();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcurSpreadsheet.setData([ ' ' ]);\n\t\t\t\t\t\tconst $curSpreadsheetDiv = $(this).closest('.pfSpreadsheet');\n\t\t\t\t\t\trowAdded2($curSpreadsheetDiv, spreadsheetID);\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t\t$('div#' + spreadsheetID + ' a.raise-row').click( function( event ) {\n\t\t\t\t\tconst y = $(this).parents('td').attr(\"data-y\");\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tif ( y > 0 ) {\n\t\t\t\t\t\tmw.spreadsheets[spreadsheetID].moveRow( y, y - 1 );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t\t$('div#' + spreadsheetID + ' a.lower-row').click( function( event ) {\n\t\t\t\t\tconst curSpreadsheet = mw.spreadsheets[spreadsheetID];\n\t\t\t\t\tconst y = parseInt( $(this).parents('td').attr(\"data-y\") );\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tif ( y + 1 < curSpreadsheet.getData().length ) {\n\t\t\t\t\t\tmw.spreadsheets[spreadsheetID].moveRow( y, y + 1 );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t\t$('div#' + spreadsheetID + ' a.delete-row').click( function( event ) {\n\t\t\t\t\tconst y = $(this).parents('td').attr(\"data-y\");\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tjexcel.prototype.deleteRow( spreadsheetID, y );\n\t\t\t\t\t//dataValues[spreadsheetID].splice(y, 1);\n\t\t\t\t} );\n\n\t\t\t\t$('div#' + spreadsheetID + ' div.loadingImage').css( \"display\", \"none\" );\n\n\t\t\t}\n\t\t//})();\n\t});\n\n\t$('.pfSpreadsheet').each( function() {\n\t\tlet templateName = $(this).attr( 'data-template-name' ),\n\t\t\ttable = this,\n\t\t\tfieldNum = 0,\n\t\t\teditMultiplePages = $(this).attr('editmultiplepages');\n\t\tconst numberOfColumns = $(table).find('thead tr:first td').not('.jexcel_selectall').length;\n\n\t\tif ( editMultiplePages == undefined ) {\n\t\t\t// Provide the autocomplete attributes to each column of the spreadsheet\n\t\t\t// which is populated at the starting.\n\t\t\t$(table).find('thead tr:first td').not('.jexcel_selectall').each( function() {\n\t\t\t\t// to avoid the last column, used numberOfColumns-1\n\t\t\t\tif ( fieldNum < numberOfColumns-1 ) {\n\t\t\t\t\tjexcel.prototype.setAutocompleteAttributesOfColumns( this, gridParams, templateName, fieldNum );\n\t\t\t\t\tfieldNum++;\n\t\t\t\t}\n\t\t\t} );\n\t\t\t// Providing \"name\" and \"origname\" and autocomplete attributes to every cell of the spreadsheet\n\t\t\t$(table).find('tbody td').not('.jexcel_row').each(function() {\n\t\t\t\tconst data_x = $(this).attr('data-x');\n\t\t\t\tjexcel.prototype.setAutocompleteAttributesOfCells( table, templateName, data_x, this );\n\t\t\t});\n\t\t}\n\t} )\n\n\t// If this is a spreadsheet display within a form, create hidden\n\t// inputs for every cell when the form is submitted, so that all the\n\t// data will actually get submitted.\n\t$( \"#pfForm\" ).submit(( event ) => {\n\t\t$( '.pfSpreadsheet' ).each( function() {\n\t\t\tconst $grid = $(this),\n\t\t\t\ttemplateName = $(this).attr( 'data-template-name' ),\n\t\t\t\tformName = $(this).attr( 'data-form-name' ),\n\t\t\t\teditMultiplePages = $(this).attr( 'editMultiplePages' );\n\n\t\t\t// Add a hidden input for each template, so that the PHP code can know\n\t\t\t// which values came from a spreadsheet.\n\t\t\tif ( !editMultiplePages ) {\n\t\t\t\t$('<input>').attr( 'type', 'hidden' ).attr( 'name', 'spreadsheet_templates[' + templateName + ']' ).attr( 'value', 'true' ).appendTo( '#pfForm' );\n\t\t\t}\n\n\t\t\t$grid.find( \"td\" ).not('.readonly').each( function() {\n\t\t\t\tconst rowNum = $(this).attr('data-y');\n\t\t\t\tconst columnNum = $(this).attr('data-x');\n\t\t\t\tif ( rowNum == undefined || columnNum == undefined ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst mwValue = jexcel.prototype.getMWValueFromCell( $(this), gridParams[templateName][columnNum] );\n\t\t\t\tconst paramName = gridParams[templateName][columnNum].name;\n\t\t\t\tconst inputName = templateName + '[' + ( rowNum + 1 ) + '][' + paramName + ']';\n\t\t\t\t$('<input>').attr( 'type', 'hidden' ).attr( 'name', inputName ).attr( 'value', mwValue ).appendTo( '#pfForm' );\n\t\t\t});\n\t\t});\n\t});\n\n\n}( jQuery, mediaWiki, pf ) );\n","usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/libs/PF_submit.js","messages":[{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":13,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":13,"endColumn":18},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":14,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":14,"endColumn":12},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":50,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":76,"endColumn":4},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":52,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":52,"endColumn":54},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":78,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":102,"endColumn":4},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":79,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":79,"endColumn":59},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":90,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":90,"endColumn":10},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":105,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":105,"endColumn":55},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":106,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":106,"endColumn":130},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":107,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":107,"endColumn":14},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":111,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":111,"endColumn":53},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":130,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":130,"endColumn":46},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":132,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":132,"endColumn":39},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":133,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":133,"endColumn":13},{"ruleId":"unicorn/prefer-string-slice","severity":1,"message":"Prefer `String#slice()` over `String#substring()`.","line":142,"column":46,"nodeType":"CallExpression","messageId":"substring","endLine":142,"endColumn":74},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":162,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":162,"endColumn":61},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":175,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":175,"endColumn":33},{"ruleId":"no-shadow","severity":1,"message":"'$form' is already declared in the upper scope on line 14 column 6.","line":175,"column":10,"nodeType":"Identifier","messageId":"noShadow","endLine":175,"endColumn":15},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":177,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":181,"endColumn":6},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":200,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":200,"endColumn":47},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":202,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":202,"endColumn":27},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":237,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":237,"endColumn":63},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":238,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":238,"endColumn":28}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":23,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * Javascript handler for the save-and-continue button\n *\n * @author Stephan Gambke\n */\n\n/*global validateAll */\n\n( function( $, mw ) {\n\n\t'use strict';\n\n\tlet $sacButtons;\n\tlet $form;\n\n\tfunction setChanged( event ) {\n\t\t$sacButtons\n\t\t\t.addClass( 'pf-save_and_continue-changed' )\n\t\t\t.addClass( 'oo-ui-widget-enabled' )\n\t\t\t.removeClass( 'oo-ui-widget-disabled' );\n\t\t$sacButtons.children('button').prop( 'disabled', false );\n\n\t\treturn true;\n\t}\n\n\t// Prevent multiple submission of form\n\tjQuery.fn.preventDoubleSubmission = function() {\n\t\t$form = $( '#pfForm' );\n\t\t$( this ).on( 'submit', (e) => {\n\t\t\tif ( $form.data('submitted') === true ) {\n\t\t\t\t// Previously submitted - don't submit again\n\t\t\t\te.preventDefault();\n\t\t\t} else {\n\t\t\t\t// Mark it so that the next submit can be ignored\n\t\t\t\t$form.data('submitted', true);\n\t\t\t\t$( '.editButtons > .oo-ui-buttonElement' ).removeClass( 'oo-ui-widget-enabled' ).addClass( 'oo-ui-widget-disabled' );\n\t\t\t}\n\t\t});\n\t\t// Keep chainability\n\t\treturn this;\n\t};\n\t$( '#pfForm' ).preventDoubleSubmission();\n\t/**\n\t * Called when the server has sent the preview\n\t *\n\t * @param {Mixed} result\n\t * @param {Mixed} textStatus\n\t * @param {Mixed} jqXHR\n\t */\n\tconst resultReceivedHandler = function handleResultReceived( result, textStatus, jqXHR ) {\n\t\t// Store the target name\n\t\tlet $target = $form.find( 'input[name=\"target\"]' );\n\n\t\tif ( $target.length === 0 ) {\n\t\t\t$target = $( '<input type=\"hidden\" name=\"target\">' );\n\t\t\t$form.append ( $target );\n\t\t}\n\n\t\t$target.attr( 'value', result.$target );\n\n\t\t// Store the form name\n\t\t$target = $form.find( 'input[name=\"form\"]' );\n\n\t\tif ( $target.length === 0 ) {\n\t\t\t$target = $( '<input type=\"hidden\" name=\"form\">' );\n\t\t\t$form.append ( $target );\n\t\t}\n\n\t\t$target.attr( 'value', result.form.title );\n\n\t\t$sacButtons\n\t\t.addClass( 'pf-save_and_continue-ok' )\n\t\t.removeClass( 'pf-save_and_continue-wait' )\n\t\t.removeClass( 'pf-save_and_continue-error' );\n\n\t};\n\n\tconst resultReceivedErrorHandler = function handleError( jqXHR ){\n\t\tconst errors = $.parseJSON( jqXHR.responseText ).errors;\n\n\t\t$sacButtons\n\t\t.addClass( 'pf-save_and_continue-error' )\n\t\t.removeClass( 'pf-save_and_continue-wait' );\n\n\t\t// Remove all old error messages and set new ones\n\t\t$( '.errorbox' ).remove();\n\n\n\t\tif ( errors.length > 0 ){\n\t\t\tlet i;\n\t\t\tfor ( i = 0; i < errors.length; i += 1 ) {\n\t\t\t\tif ( errors[i].level < 2 ) { // show errors and warnings\n\t\t\t\t\t$( '#contentSub' )\n\t\t\t\t\t.append( '<div id=\"form_error_header\" class=\"errorbox\" style=\"font-size: medium\">' +\n\t\t\t\t\t\t'<img src=\"' + mw.config.get( 'wgPageFormsScriptPath' ) + '/skins/MW-Icon-AlertMark.png\" />' +\n\t\t\t\t\t\t'&nbsp;' + errors[i].message + '</div><br clear=\"both\" />' );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t$( 'html, body' ).scrollTop( $( '#contentSub' ).offset().top );\n\t\t}\n\t};\n\n\tfunction collectData() {\n\t\tconst $summaryfield = jQuery( '#wpSummary', $form );\n\t\tconst saveAndContinueSummary = mw.msg( 'pf_formedit_saveandcontinue_summary', mw.msg( 'pf_formedit_saveandcontinueediting' ) );\n\t\tlet params;\n\n\t\tif ( $summaryfield.length > 0 ) {\n\n\t\t\tconst oldsummary = $summaryfield.attr( 'value' );\n\n\t\t\tif ( oldsummary !== '' ) {\n\t\t\t\t$summaryfield.attr( 'value', oldsummary + ' (' + saveAndContinueSummary + ')' );\n\t\t\t} else {\n\t\t\t\t$summaryfield.attr( 'value', saveAndContinueSummary );\n\t\t\t}\n\n\t\t\tparams = $form.serialize();\n\n\t\t\t$summaryfield.attr( 'value', oldsummary );\n\t\t} else {\n\t\t\tparams = $form.serialize();\n\t\t\tparams += '&wpSummary=' + saveAndContinueSummary;\n\t\t}\n\n\t\tif ( mw.config.get( 'wgAction' ) === 'formedit' ) {\n\t\t\tparams += '&target=' + encodeURIComponent( mw.config.get( 'wgPageName' ) );\n\t\t} else if ( mw.config.get( 'wgCanonicalSpecialPageName' ) === 'FormEdit' ) {\n\t\t\tconst url = mw.config.get( 'wgPageName' );\n\n\t\t\tlet start = url.indexOf( '/' ) + 1; // find start of subpage\n\t\t\tlet stop;\n\n\t\t\tif ( start >= 0 ) {\n\t\t\t\tstop = url.indexOf( '/', start ); // find end of first subpage\n\t\t\t} else {\n\t\t\t\tstop = -1;\n\t\t\t}\n\n\t\t\tif ( stop >= 0 ) {\n\t\t\t\tparams += '&form=' + encodeURIComponent( url.substring( start, stop ) );\n\n\t\t\t\tstart = stop + 1;\n\t\t\t\tparams += '&target=' + encodeURIComponent( url.slice( start ) );\n\n\t\t\t} else {\n\t\t\t\tparams += '&form=' + encodeURIComponent( url.slice( start ) );\n\t\t\t}\n\t\t}\n\n\t\tparams += '&wpMinoredit=1';\n\n\t\treturn params;\n\t}\n\n\tfunction handleSaveAndContinue( event ) {\n\n\t\tevent.stopImmediatePropagation();\n\n\t\t// remove old error messages\n\t\tconst el = document.getElementById( 'form_error_header' );\n\n\t\tif ( el ) {\n\t\t\tel.parentNode.removeChild( el );\n\t\t}\n\n\t\tif ( validateAll() ) {\n\t\t\t// disable save and continue button\n\t\t\t$sacButtons\n\t\t\t.attr( 'disabled', 'disabled' )\n\t\t\t.addClass( 'pf-save_and_continue-wait' )\n\t\t\t.removeClass( 'pf-save_and_continue-changed' );\n\n\t\t\tconst $form = $( '#pfForm' );\n\n\t\t\tconst data = {\n\t\t\t\taction: 'pfautoedit',\n\t\t\t\tformat: 'json',\n\t\t\t\tquery: collectData() // add form values to the data\n\t\t\t};\n\n\t\t\tdata.query += '&wpSave=' + encodeURIComponent( $( event.currentTarget ).attr( 'value' ) );\n\n\t\t\t$.ajax( {\n\t\t\t\ttype: 'POST', // request type ( GET or POST )\n\t\t\t\turl: mw.util.wikiScript( 'api' ), // URL to which the request is sent\n\t\t\t\tdata: data, // data to be sent to the server\n\t\t\t\tdataType: 'json', // type of data expected back from the server\n\t\t\t\tsuccess: resultReceivedHandler, // function to be called if the request succeeds\n\t\t\t\terror: resultReceivedErrorHandler // function to be called on error\n\t\t\t} );\n\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tmw.pageFormsActivateVEFields = function( callback ) {\n\t\tconst visualEditors = $.fn.getVEInstances();\n\t\tif ( visualEditors.length > 0 ) {\n\t\t\tconst savingQueue = [];\n\t\t\t$(visualEditors).each( ( i, ve ) => {\n\t\t\t\tsavingQueue.push( ve.target.updateContent() );\n\t\t\t});\n\t\t\t$.when.apply( $, savingQueue ).then( () => {\n\t\t\t\tcallback();\n\t\t\t});\n\t\t} else {\n\t\t\tcallback();\n\t\t}\n\t};\n\n\tif ( mw.config.get( 'wgAction' ) === 'formedit' || mw.config.get( 'wgCanonicalSpecialPageName' ) === 'FormEdit' ) {\n\t\t$(() => { // Wait until DOM is loaded.\n\t\t\t$form = $( '#pfForm' );\n\t\t\t$sacButtons = $( '.pf-save_and_continue', $form );\n\t\t\t$sacButtons.click( handleSaveAndContinue );\n\n\t\t\t$form\n\t\t\t.on( 'keyup', 'input,select,textarea', ( event ) => {\n\t\t\t\tif ( event.which < 32 ){\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\treturn setChanged( event );\n\t\t\t} )\n\t\t\t.on( 'change', 'input,select,textarea', setChanged )\n\t\t\t.on( 'click', '.multipleTemplateAdder', setChanged )\n\t\t\t.on( 'mousedown', '.instanceRearranger,.removeButton', setChanged );\n\n\t\t\t// Run only when VEForAll extension is present\n\t\t\t$( document ).on( 'VEForAllLoaded', () => {\n\t\t\t\t// Special submit form & other actions handling when VEForAll editor is present\n\t\t\t\tif ( $('.visualeditor').length > 0 ) {\n\t\t\t\t\t// Interrupt \"Save page\", \"Show preview\" and \"Show changes\" actions\n\t\t\t\t\tconst $formButtons = $( '#wpSave, #wpPreview, #wpDiff' );\n\t\t\t\t\tlet canSubmit = false;\n\n\t\t\t\t\tif ( $formButtons.length > 0 ) {\n\t\t\t\t\t\t$formButtons.each( ( i, button ) => {\n\t\t\t\t\t\t\t$( button ).on( 'click', ( event ) => {\n\t\t\t\t\t\t\t\tif ( !canSubmit ) {\n\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\tmw.pageFormsActivateVEFields( () => {\n\t\t\t\t\t\t\t\t\t\tif ( validateAll() ) {\n\t\t\t\t\t\t\t\t\t\t\tcanSubmit = true;\n\t\t\t\t\t\t\t\t\t\t\t$( button ).find(\"[type='submit']\").click();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t\t// Interrupt \"Save and continue\" action\n\t\t\t\t\t$sacButtons.off('click', handleSaveAndContinue).click( ( event ) => {\n\t\t\t\t\t\tmw.pageFormsActivateVEFields( () => {\n\t\t\t\t\t\t\thandleSaveAndContinue( event );\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n}( jQuery, mediaWiki ) );\n","usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/libs/PF_timepicker.js","messages":[{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":19,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":19,"endColumn":40},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":21,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":21,"endColumn":45},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":24,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":24,"endColumn":13},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":44,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":44,"endColumn":47},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":47,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":47,"endColumn":63},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":62,"column":9,"nodeType":"CallExpression","endLine":62,"endColumn":60},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":72,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":72,"endColumn":33},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":80,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":80,"endColumn":26},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":81,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":81,"endColumn":15},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":82,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":82,"endColumn":15},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":84,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":84,"endColumn":16},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":85,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":85,"endColumn":16},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":89,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":89,"endColumn":46},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":100,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":100,"endColumn":46},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":109,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":109,"endColumn":41},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":118,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":118,"endColumn":116},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":120,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":120,"endColumn":77},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":123,"column":8,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":123,"endColumn":20},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":125,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":125,"endColumn":136},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":132,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":132,"endColumn":81},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":134,"column":9,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":134,"endColumn":44},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":136,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":136,"endColumn":140}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":22,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * Javascript code to be used with input type timepicker.\n *\n * @author Stephan Gambke\n */\n\n/**\n * Initializes a timepicker input\n *\n * @param {string} inputID the id of the input to initialize\n * @param {Object} params the parameter object for the timepicker, contains\n *\t\tminTime: (String) the minimum time to be shown (format hh:mm)\n *\t\tmaxTime: (String) the maximum time to be shown (format hh:mm)\n *\t\tinterval: (String) the interval between selectable times in minutes\n *\t\tformat: (String) a format string (unused) (do we even need it?)\n */\nwindow.PF_TP_init = function( inputID, params ) { // minTime, maxTime, interval, format\n\n\tconst inputIDshow = inputID + '_show';\n\n\tconst $inputShow = jQuery( '#' + inputID );\n\t$inputShow.attr( 'id', inputIDshow );\n\n\tlet $input;\n\n\t// set up hidden input if this timepicker is not part of a datetimepicker\n\tif ( ! params.partOfDTP ) {\n\n\t\t$input = jQuery( '<input type=\"hidden\" >');\n\t\t$input.attr( {\n\t\t\tid: inputID,\n\t\t\tname: $inputShow.attr( 'name' ),\n\t\t\tvalue: $inputShow.val()\n\t\t} );\n\t\t$input.val($inputShow.val());\n\n\t\t$inputShow.after( $input );\n\t\t$inputShow.removeAttr( 'name' );\n\n\t} else {\n\t\t$input = $inputShow;\n\t}\n\n\tconst tabindex = $inputShow.attr('tabindex');\n\n\t// append time picker button\n\tconst $button = jQuery( '<button type=\"button\" ></button>' );\n\t$button.attr({\n\t\t'class': params.userClasses,\n\t\t'id': inputID + '_button',\n\t\t'tabindex': tabindex\n\t});\n\n\n\tif ( params.disabled ) {\n\n\t\t$button.attr( 'disabled', 'disabled' );\n\n\t} else {\n\n\t\t$button.click( () => {\n\t\t\tif ( jQuery( '#' + inputID + '_tree>ul' ).is(':visible') ) {\n\t\t\t\t$inputShow.blur();\n\t\t\t} else {\n\t\t\t\t$inputShow.focus();\n\t\t\t}\n\n\t\t} );\n\n\t}\n\n\tconst $img = jQuery( '<img>' );\n\t$img.attr( 'src', params.buttonImage );\n\n\t$button.append( $img );\n\n\t$input.after( $button );\n\n\t// sanitize inputs\n\tconst re = /^\\d+:\\d\\d$/;\n\tlet minh = 0;\n\tlet minm = 0;\n\n\tlet maxh = 23;\n\tlet maxm = 59;\n\n\tif ( re.test( params.minTime ) ) {\n\n\t\tconst min = params.minTime.split( ':', 2 );\n\t\tminh = Number( min[0] );\n\t\tminm = Number( min[1] );\n\n\t\tif ( minm > 59 ) {\n\t\t\tminm = 59;\n\t\t}\n\t}\n\n\tif ( re.test( params.maxTime ) ) {\n\n\t\tconst max = params.maxTime.split( ':', 2 );\n\t\tmaxh = Number( max[0] );\n\t\tmaxm = Number( max[1] );\n\n\t\tif ( maxm > 59 ) {\n\t\t\tmaxm = 59;\n\t\t}\n\t}\n\n\tlet interv = Number( params.interval );\n\n\tif ( interv < 1 ) {\n\t\tinterv = 1;\n\t} else if ( interv > 60 ) {\n\t\tinterv = 60;\n\t}\n\n\t// build html structure\n\tconst $sp = jQuery( '<span class=\"PF_timepicker\" id=\"' + inputID + '_tree\" ></span>' ).insertBefore( $inputShow );\n\n\tconst $ulh = jQuery( '<ul class=\"PF_timepicker_hours\" >' ).appendTo( $sp );\n\n\n\tfor ( let h = minh; h <= maxh; ++h ) {\n\n\t\tconst $lih = jQuery( '<li class=\"ui-state-default PF_timepicker_hour\">' + ( ( h < 10 ) ? '0' : '' ) + h + '</li>' ).appendTo( $ulh );\n\n\t\t//TODO: Replace value for \"show\" by formatted string\n\t\t$lih\n\t\t.data( 'value', ( ( h < 10 ) ? '0' : '' ) + h + ':00' )\n\t\t.data( 'show', ( ( h < 10 ) ? '0' : '' ) + h + ':00' );\n\n\t\tconst $ulm = jQuery( '<ul class=\"PF_timepicker_minutes\" >' ).appendTo( $lih );\n\n\t\tfor ( let m = ( (h === minh) ? minm : 0 ) ; m <= ( (h === maxh) ? maxm : 59 ); m += interv ) {\n\n\t\t\tconst $lim = jQuery( '<li class=\"ui-state-default PF_timepicker_minute\">' + ( ( m < 10 ) ? '0' : '' ) + m  + '</li>' ).appendTo( $ulm );\n\n\t\t\t//TODO: Replace value for \"show\" by formatted string\n\t\t\t$lim\n\t\t\t.data( 'value', ( ( h < 10 ) ? '0' : '' ) + h + ':' + ( ( m < 10 ) ? '0' : \"\" ) + m )\n\t\t\t.data( 'show', ( ( h < 10 ) ? '0' : '' ) + h + ':' + ( ( m < 10 ) ? '0' : \"\" ) + m );\n\n\t\t}\n\n\t}\n\n\t// initially hide everything\n\tjQuery( '#' + inputID + '_tree ul' )\n\t.hide();\n\n\t// attach event handlers\n\tjQuery( '#' + inputID + '_tree li' ) // hours\n\t.mouseover((evt) => {\n\n\t\t// clear any timeout that may still run on the last list item\n\t\tclearTimeout( jQuery( evt.currentTarget ).data( 'timeout' ) );\n\n\t\tjQuery( evt.currentTarget )\n\n\t\t// switch classes to change display style\n\t\t.removeClass( 'ui-state-default' )\n\t\t.addClass( 'ui-state-hover' )\n\n\t\t// set timeout to show minutes for selected hour\n\t\t.data( 'timeout', setTimeout(\n\t\t\t() => {\n\t\t\t\tjQuery( evt.currentTarget ).children().fadeIn();\n\t\t\t}, 400 ) );\n\n\t})\n\n\t.mouseout((evt) => {\n\n\t\t// clear any timeout that may still run on this jQuery list item\n\t\tclearTimeout( jQuery( evt.currentTarget ).data( 'timeout' ) );\n\n\t\tjQuery( evt.currentTarget )\n\n\t\t// switch classes to change display style\n\t\t.removeClass( 'ui-state-hover' )\n\t\t.addClass( 'ui-state-default' )\n\n\t\t// hide minutes after a short pause\n\t\t.data( 'timeout', setTimeout(\n\t\t\t() => {\n\t\t\t\tjQuery(evt.currentTarget).children().fadeOut();\n\t\t\t}, 400 ) );\n\n\t});\n\n\tjQuery( '#' + inputID + '_tree li' ) // hours, minutes\n\t.mousedown(function(evt){\n\n\t\t// set values and leave input\n\t\t$inputShow\n\t\t// Are both these calls necessary? At least the 2nd one is.\n\t\t.attr( 'value', jQuery( this ).data( 'show' ) )\n\t\t.val(jQuery( this ).data( 'show' ) )\n\t\t.blur()\n\t\t.change();\n\n\t\t// clear any timeout that may still run on this jQuery list item\n\t\tclearTimeout( jQuery( evt.currentTarget ).data( 'timeout' ) );\n\n\t\tjQuery( evt.currentTarget )\n\n\t\t// switch classes to change display style\n\t\t.removeClass( 'ui-state-hover' )\n\t\t.addClass( 'ui-state-default' );\n\n\t\t// avoid propagation to parent list item (e.g. hours),\n\t\t// they would overwrite the input value\n\t\treturn false;\n\t});\n\n\t// show timepicker when input gets focus\n\t$inputShow\n\t.focus(() => {\n\t\tjQuery( '#' + inputID + '_tree>ul' ).fadeIn();\n\t});\n\n\t// hide timepicker when input loses focus\n\t$inputShow\n\t.blur(() => {\n\t\tjQuery( '#' + inputID + '_tree ul' ).fadeOut( 'normal', function() {\n\t\t\tjQuery(this).hide();\n\t\t});\n\t});\n\n\tif ( ! params.partOfDTP ) {\n\t\t$inputShow\n\t\t.change(function() {\n\t\t\tjQuery( '#' + inputID ).val( jQuery(this).val() );\n\t\t});\n\t}\n\n\tjQuery( '#' + inputID + '_show ~ button[name=\"button\"]' )\n\t.click( () => {\n\t\t$inputShow.focus();\n\t});\n\n};\n","usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/libs/PF_tree.js","messages":[{"ruleId":"jsdoc/require-param-type","severity":1,"message":"Missing JSDoc @param \"$\" type.","line":6,"column":1,"nodeType":"Block","endLine":6,"endColumn":1},{"ruleId":"jsdoc/require-param-type","severity":1,"message":"Missing JSDoc @param \"mw\" type.","line":7,"column":1,"nodeType":"Block","endLine":7,"endColumn":1},{"ruleId":"jsdoc/require-param-type","severity":1,"message":"Missing JSDoc @param \"pf\" type.","line":8,"column":1,"nodeType":"Block","endLine":8,"endColumn":1},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":22,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":22,"endColumn":45},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":25,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":25,"endColumn":45},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":27,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":27,"endColumn":49},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":34,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":47,"endColumn":5},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":53,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":53,"endColumn":60},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":57,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":57,"endColumn":59},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":66,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":66,"endColumn":64},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":69,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":69,"endColumn":58},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":75,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":75,"endColumn":65},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":88,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":88,"endColumn":39},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":89,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":89,"endColumn":37}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":14,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * Defines the applyJStree() function, which turns an HTML \"tree\" of\n * checkboxes or radiobuttons into a dynamic and collapsible tree of options\n * using the jsTree JS library.\n *\n * @param $\n * @param mw\n * @param pf\n * @author Mathias Lidal\n * @author Yaron Koren\n * @author Priyanshu Varshney\n * @author Amr El-Absy\n */\n\n ( function($, mw, pf) {\n\n\tpf.TreeInput = function(elem) {\n\t\tthis.element = elem;\n\t\tthis.id = $(this.element).attr('id');\n\t};\n\n\tconst TreeInput_proto = new pf.TreeInput();\n\n\tTreeInput_proto.setOptions = function() {\n\t\tconst data = $(this.element).attr('data');\n\t\tthis.data = JSON.parse(data);\n\t\tconst params = $(this.element).attr('params');\n\t\tthis.params = JSON.parse(params);\n\t\tthis.delimiter = this.params.delimiter;\n\t\tthis.multiple = this.params.multiple;\n\t\tthis.values = [];\n\t\tthis.cur_value = this.params.cur_value;\n\n\t\tconst options = {\n\t\t\t'plugins' :  [ 'checkbox' ],\n\t\t\t'core' : {\n\t\t\t\t'data' : this.data,\n\t\t\t\t'multiple': this.multiple,\n\t\t\t\t'themes' : {\n\t\t\t\t\t\"icons\": false\n\t\t\t\t}\n\t\t\t},\n\t\t\t'checkbox': {\n\t\t\t\t'three_state': false,\n\t\t\t\t'cascade': \"none\"\n\t\t\t}\n\t\t};\n\n\t\treturn options;\n\t};\n\n\tTreeInput_proto.check = function( data ) {\n\t\tconst $input = $(this.element).next('input.PFTree_data');\n\n\t\tif ( this.multiple ) {\n\t\t\tthis.values.push( data );\n\t\t\tconst data_string = this.values.join( this.delimiter );\n\t\t\t$input.attr( 'value', data_string );\n\t\t} else {\n\t\t\tthis.values.push( data );\n\t\t\t$input.attr('value', data);\n\t\t}\n\t};\n\n\tTreeInput_proto.uncheck = function( data ) {\n\t\tconst $input = $( this.element ).next( 'input.PFTree_data' );\n\n\t\tthis.values.splice( this.values.indexOf( data ), 1 );\n\t\tconst data_string = this.values.join( this.delimiter );\n\t\t$input.attr( 'value', data_string );\n\t};\n\n\tTreeInput_proto.setCurValue = function() {\n\t\tif ( this.cur_value !== null && this.cur_value !== undefined && this.cur_value !== \"\" ) {\n\t\t\tconst $input = $( this.element ).next( 'input.PFTree_data' );\n\n\t\t\t$input.attr( 'value', this.cur_value );\n\t\t\tthis.values = this.cur_value.split( this.delimiter );\n\t\t}\n\t};\n\n\tpf.TreeInput.prototype = TreeInput_proto;\n\n} (jQuery, mediaWiki, pf) );\n\n$.fn.extend({\n\tapplyJSTree: function() {\n\t\tconst tree = new pf.TreeInput(this);\n\t\tconst options = tree.setOptions();\n\n\t\t$(this).jstree(options);\n\n\t\t$(this).bind('select_node.jstree', (evt, data) => {\n\t\t\ttree.check(data.node.text);\n\t\t});\n\t\t$(this).bind('deselect_node.jstree', (evt, data) => {\n\t\t\ttree.uncheck(data.node.text);\n\t\t});\n\n\t\ttree.setCurValue();\n\t}\n});\n","usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/libs/PF_wikieditor.js","messages":[{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":14,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":14,"endColumn":39}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"// create ext if it does not exist yet\n/*global wgWikiEditorEnabledModules*/\nif ( window.ext === null || typeof( window.ext ) === \"undefined\" ) {\n\twindow.ext = {};\n}\n\n( function( $, mw ) {\n\nwindow.ext.wikieditor = {\n\t// initialize the wikieditor on the specified element\n\tinit : function init ( inputId, params ) {\n\t\t$( () => {\n\t\t\tif ( mw ) {\n\t\t\t\tconst $input = $( '#' + inputId );\n\n\t\t\t\t// The code below this \"if\" clause does not\n\t\t\t\t// work for MW 1.34 and higher. Therefore, this\n\t\t\t\t// alternative approach is needed. However, it\n\t\t\t\t// requires the presence of an addWikiEditor()\n\t\t\t\t// function, which, at the time of this writing\n\t\t\t\t// (January 2021) had not yet been added to\n\t\t\t\t// WikiEditor. Anyone who wants this code to run\n\t\t\t\t// may thus need to patch the WikiEditor code\n\t\t\t\t// themselves, with the following:\n\t\t\t\t// https://github.com/Nikerabbit/mediawiki-extensions-WikiEditor/commit/9a1188d0850418d8ae64bd06b7f39d9a8cbf127f\n\t\t\t\tif ( typeof( mw.addWikiEditor ) == 'function' ) {\n\t\t\t\t\tmw.loader.using( [ 'ext.wikiEditor' ], () => {\n\t\t\t\t\t\tmw.addWikiEditor( $input );\n\t\t\t\t\t} );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t$.when( mw.loader.using( 'ext.wikiEditor' ), $.ready ).then( () => {\n\t\t\t\t\t// load toolbar\n\t\t\t\t\t$input.wikiEditor( 'addModule', $.wikiEditor.modules.toolbar.config.getDefaultConfig() );\n\n\t\t\t\t\t// hide sig if required\n\t\t\t\t\tif ( mw.config.get( 'wgWikiEditorEnabledModules' ) && mw.config.get( 'wgWikiEditorEnabledModules.hidesig' ) === true ) {\n\t\t\t\t\t\t$input.wikiEditor( 'removeFromToolbar', {\n\t\t\t\t\t\t\t'section': 'main',\n\t\t\t\t\t\t\t'group': 'insert',\n\t\t\t\t\t\t\t'tool': 'signature'\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\n\t\t\t\t\t// load dialogs\n\t\t\t\t\t$.wikiEditor.modules.dialogs.config.replaceIcons( $input );\n\t\t\t\t\t$input.wikiEditor( 'addModule', $.wikiEditor.modules.dialogs.config.getDefaultConfig() );\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t}\n};\n}( jQuery, mediaWiki ) );\n","usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/libs/PageForms.js","messages":[{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1,"column":1,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1,"endColumn":54},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":100,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":100,"endColumn":23},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":115,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":115,"endColumn":48},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":119,"column":9,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":119,"endColumn":18},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":142,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":142,"endColumn":57},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":143,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":143,"endColumn":71},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":153,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":153,"endColumn":38},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":154,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":154,"endColumn":12},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":185,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":185,"endColumn":77},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":187,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":187,"endColumn":35},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":188,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":188,"endColumn":31},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":194,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":194,"endColumn":70},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":197,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":197,"endColumn":43},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":198,"column":10,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":198,"endColumn":19},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":199,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":199,"endColumn":44},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":200,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":200,"endColumn":44},{"ruleId":"no-jquery/no-class-state","severity":1,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":201,"column":10,"nodeType":"CallExpression","endLine":201,"endColumn":56},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":214,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":214,"endColumn":38},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":215,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":215,"endColumn":12},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":218,"column":7,"nodeType":"MemberExpression","messageId":"forbidden","endLine":218,"endColumn":22},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":218,"column":7,"nodeType":"MemberExpression","messageId":"forbidden","endLine":218,"endColumn":22},{"ruleId":"no-jquery/no-class-state","severity":1,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":232,"column":19,"nodeType":"CallExpression","endLine":232,"endColumn":46},{"ruleId":"no-jquery/no-sizzle","severity":1,"message":"Selector extensions are not allowed","line":243,"column":9,"nodeType":"CallExpression","endLine":243,"endColumn":30},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":255,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":255,"endColumn":77},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":257,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":257,"endColumn":24},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":265,"column":10,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":265,"endColumn":19},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":267,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":267,"endColumn":44},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":277,"column":8,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":277,"endColumn":17},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":292,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":295,"endColumn":23},{"ruleId":"prefer-const","severity":1,"message":"'wgPageFormsShowOnSelect' is never reassigned. Use 'const' instead.","line":293,"column":3,"nodeType":"Identifier","messageId":"useConst","endLine":293,"endColumn":26},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":325,"column":9,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":325,"endColumn":18},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":326,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":326,"endColumn":43},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":327,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":327,"endColumn":42},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":338,"column":8,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":338,"endColumn":17},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":352,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":355,"endColumn":5},{"ruleId":"prefer-const","severity":1,"message":"'wgPageFormsShowOnSelect' is never reassigned. Use 'const' instead.","line":352,"column":6,"nodeType":"Identifier","messageId":"useConst","endLine":352,"endColumn":29},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":367,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":367,"endColumn":43},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":368,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":368,"endColumn":42},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":378,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":381,"endColumn":5},{"ruleId":"prefer-const","severity":1,"message":"'wgPageFormsShowOnSelect' is never reassigned. Use 'const' instead.","line":378,"column":6,"nodeType":"Identifier","messageId":"useConst","endLine":378,"endColumn":29},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":390,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":390,"endColumn":27},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":407,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":407,"endColumn":50},{"ruleId":"mediawiki/msg-doc","severity":1,"message":"All possible message keys should be documented. See https://w.wiki/4r9a for details.","line":408,"column":61,"nodeType":"CallExpression","endLine":408,"endColumn":79},{"ruleId":"mediawiki/msg-doc","severity":1,"message":"All possible message keys should be documented. See https://w.wiki/4r9a for details.","line":415,"column":58,"nodeType":"CallExpression","endLine":415,"endColumn":76},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":422,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":422,"endColumn":72},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":423,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":423,"endColumn":57},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":432,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":432,"endColumn":57},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":433,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":433,"endColumn":57},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":434,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":434,"endColumn":72},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":447,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":447,"endColumn":54},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":448,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":448,"endColumn":14},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":467,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":467,"endColumn":32},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":468,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":468,"endColumn":42},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":469,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":469,"endColumn":31},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":475,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":475,"endColumn":50},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":480,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":480,"endColumn":70},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":481,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":481,"endColumn":63},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":482,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":482,"endColumn":38},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":484,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":484,"endColumn":72},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":485,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":485,"endColumn":65},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":486,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":486,"endColumn":42},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":488,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":488,"endColumn":77},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":490,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":491,"endColumn":15},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":494,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":496,"endColumn":35},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":514,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":514,"endColumn":69},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":515,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":515,"endColumn":62},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":516,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":516,"endColumn":39},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":546,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":546,"endColumn":71},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":547,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":547,"endColumn":67},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":548,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":548,"endColumn":42},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":549,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":549,"endColumn":71},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":550,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":550,"endColumn":67},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":551,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":551,"endColumn":44},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":568,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":568,"endColumn":73},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":605,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":605,"endColumn":40},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":626,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":626,"endColumn":56},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":638,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":638,"endColumn":55},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":648,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":648,"endColumn":59},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":658,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":658,"endColumn":35},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":672,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":672,"endColumn":44},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":673,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":673,"endColumn":55},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":678,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":678,"endColumn":130},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":688,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":688,"endColumn":44},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":690,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":690,"endColumn":78},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":700,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":700,"endColumn":44},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":713,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":713,"endColumn":44},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":724,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":724,"endColumn":46},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":725,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":725,"endColumn":48},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":741,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":741,"endColumn":52},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":750,"column":8,"nodeType":"MemberExpression","messageId":"forbidden","endLine":750,"endColumn":25},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":750,"column":8,"nodeType":"MemberExpression","messageId":"forbidden","endLine":750,"endColumn":25},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":756,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":761,"endColumn":4},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":763,"column":8,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":763,"endColumn":15},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":764,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":764,"endColumn":42},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":765,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":765,"endColumn":40},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":766,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":766,"endColumn":84},{"ruleId":"no-var","severity":1,"message":"Unexpected var, use let or const instead.","line":767,"column":3,"nodeType":"VariableDeclaration","messageId":"unexpectedVar","endLine":767,"endColumn":15},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":772,"column":9,"nodeType":"MemberExpression","messageId":"forbidden","endLine":772,"endColumn":28},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":772,"column":9,"nodeType":"MemberExpression","messageId":"forbidden","endLine":772,"endColumn":28},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":773,"column":5,"nodeType":"MemberExpression","messageId":"forbidden","endLine":773,"endColumn":24},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":773,"column":5,"nodeType":"MemberExpression","messageId":"forbidden","endLine":773,"endColumn":24},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":783,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":785,"endColumn":25},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":797,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":797,"endColumn":19},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":798,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":798,"endColumn":30},{"ruleId":"no-var","severity":1,"message":"Unexpected var, use let or const instead.","line":836,"column":2,"nodeType":"VariableDeclaration","messageId":"unexpectedVar","endLine":836,"endColumn":23},{"ruleId":"block-scoped-var","severity":1,"message":"'negative' declared on line 839 column 7 is used outside of binding context.","line":836,"column":6,"nodeType":"Identifier","messageId":"outOfScope","endLine":836,"endColumn":14},{"ruleId":"no-var","severity":1,"message":"Unexpected var, use let or const instead.","line":839,"column":3,"nodeType":"VariableDeclaration","messageId":"unexpectedVar","endLine":839,"endColumn":23},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":841,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":841,"endColumn":27},{"ruleId":"block-scoped-var","severity":1,"message":"'negative' declared on line 839 column 7 is used outside of binding context.","line":845,"column":7,"nodeType":"Identifier","messageId":"outOfScope","endLine":845,"endColumn":15},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":858,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":858,"endColumn":72},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":859,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":859,"endColumn":90},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":860,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":860,"endColumn":70},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":862,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":862,"endColumn":68},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":863,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":863,"endColumn":86},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":864,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":864,"endColumn":66},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":866,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":866,"endColumn":75},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":868,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":868,"endColumn":67},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":886,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":886,"endColumn":72},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":887,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":887,"endColumn":74},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":888,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":888,"endColumn":70},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":889,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":889,"endColumn":74},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":890,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":890,"endColumn":78},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":891,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":891,"endColumn":78},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":892,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":892,"endColumn":59},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":894,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":894,"endColumn":68},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":895,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":895,"endColumn":70},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":896,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":896,"endColumn":66},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":897,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":897,"endColumn":70},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":898,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":898,"endColumn":74},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":899,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":899,"endColumn":74},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":900,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":900,"endColumn":55},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":902,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":903,"endColumn":85},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":905,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":906,"endColumn":78},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":929,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":929,"endColumn":30},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":931,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":931,"endColumn":34},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1019,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1019,"endColumn":68},{"ruleId":"no-jquery/variable-pattern","severity":1,"message":"jQuery collection names must match the variablePattern","line":1019,"column":8,"nodeType":"VariableDeclarator","endLine":1019,"endColumn":68},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1020,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1020,"endColumn":64},{"ruleId":"no-jquery/variable-pattern","severity":1,"message":"jQuery collection names must match the variablePattern","line":1020,"column":8,"nodeType":"VariableDeclarator","endLine":1020,"endColumn":64},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1026,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1026,"endColumn":76},{"ruleId":"no-jquery/variable-pattern","severity":1,"message":"jQuery collection names must match the variablePattern","line":1026,"column":8,"nodeType":"VariableDeclarator","endLine":1026,"endColumn":76},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1027,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1027,"endColumn":72},{"ruleId":"no-jquery/variable-pattern","severity":1,"message":"jQuery collection names must match the variablePattern","line":1027,"column":8,"nodeType":"VariableDeclarator","endLine":1027,"endColumn":72},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1033,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1033,"endColumn":48},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1038,"column":9,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1038,"endColumn":18},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1095,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1095,"endColumn":89},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1096,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1096,"endColumn":32},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1102,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1102,"endColumn":29},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1104,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1104,"endColumn":22},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1109,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1109,"endColumn":48},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1113,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1113,"endColumn":61},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1114,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1114,"endColumn":52},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":1115,"column":11,"nodeType":"MemberExpression","messageId":"forbidden","endLine":1115,"endColumn":38},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":1115,"column":11,"nodeType":"MemberExpression","messageId":"forbidden","endLine":1115,"endColumn":38},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1120,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1120,"endColumn":31},{"ruleId":"no-jquery/no-class-state","severity":1,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":1121,"column":9,"nodeType":"CallExpression","endLine":1121,"endColumn":42},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1128,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1128,"endColumn":43},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1152,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1152,"endColumn":33},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1153,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1153,"endColumn":17},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1167,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1167,"endColumn":43},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1171,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1171,"endColumn":65},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1174,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1174,"endColumn":52},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1178,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1182,"endColumn":7},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1190,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1190,"endColumn":60},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1194,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1202,"endColumn":7},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1215,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1217,"endColumn":7},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1218,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1224,"endColumn":5},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1228,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1228,"endColumn":69},{"ruleId":"no-jquery/variable-pattern","severity":1,"message":"jQuery collection names must match the variablePattern","line":1228,"column":9,"nodeType":"VariableDeclarator","endLine":1228,"endColumn":68},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1229,"column":8,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1229,"endColumn":17},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1230,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1230,"endColumn":38},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1240,"column":1,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1240,"endColumn":22},{"ruleId":"jsdoc/require-returns-check","severity":1,"message":"JSDoc @return declaration present but return expression not available in function.","line":1242,"column":1,"nodeType":"Block","endLine":1247,"endColumn":4},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1249,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1249,"endColumn":77},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1250,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1250,"endColumn":109},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1251,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1251,"endColumn":60},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1252,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1252,"endColumn":71},{"ruleId":"no-jquery/no-class-state","severity":1,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":1261,"column":10,"nodeType":"CallExpression","endLine":1261,"endColumn":55},{"ruleId":"no-jquery/no-class-state","severity":1,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":1265,"column":8,"nodeType":"CallExpression","endLine":1265,"endColumn":53},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1276,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1286,"endColumn":6},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1311,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1311,"endColumn":56},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1318,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1318,"endColumn":57},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1325,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1325,"endColumn":28},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1337,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1337,"endColumn":51},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1339,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1339,"endColumn":12},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1415,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1415,"endColumn":49},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1422,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1422,"endColumn":51},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1428,"column":9,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1428,"endColumn":18},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1429,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1429,"endColumn":48},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1460,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1462,"endColumn":78},{"ruleId":"prefer-const","severity":1,"message":"'wgPageFormsCargoFields' is never reassigned. Use 'const' instead.","line":1461,"column":3,"nodeType":"Identifier","messageId":"useConst","endLine":1461,"endColumn":25},{"ruleId":"prefer-const","severity":1,"message":"'wgPageFormsFieldProperties' is never reassigned. Use 'const' instead.","line":1462,"column":3,"nodeType":"Identifier","messageId":"useConst","endLine":1462,"endColumn":29},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1465,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1465,"endColumn":72},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1466,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1466,"endColumn":63},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1467,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1467,"endColumn":44},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1468,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1468,"endColumn":44},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1469,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1469,"endColumn":71},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1470,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1470,"endColumn":71},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1471,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1471,"endColumn":52},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1472,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1472,"endColumn":52},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1475,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1475,"endColumn":63},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1476,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1476,"endColumn":58},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1479,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1479,"endColumn":29},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1480,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1480,"endColumn":29},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1499,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1499,"endColumn":41},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1516,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1516,"endColumn":33},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1521,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1521,"endColumn":56},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1522,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1522,"endColumn":38},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1523,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1523,"endColumn":83},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1524,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1524,"endColumn":27},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1525,"column":8,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1525,"endColumn":17},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1526,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1526,"endColumn":60},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1533,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1533,"endColumn":20},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1535,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1536,"endColumn":26},{"ruleId":"prefer-const","severity":1,"message":"'dependentField' is never reassigned. Use 'const' instead.","line":1536,"column":4,"nodeType":"Identifier","messageId":"useConst","endLine":1536,"endColumn":18},{"ruleId":"no-jquery/no-class-state","severity":1,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":1545,"column":8,"nodeType":"CallExpression","endLine":1545,"endColumn":39},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1639,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1639,"endColumn":42},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1640,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1640,"endColumn":47},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1641,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1641,"endColumn":46},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1650,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1650,"endColumn":41},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1657,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1657,"endColumn":73},{"ruleId":"no-jquery/variable-pattern","severity":1,"message":"jQuery collection names must match the variablePattern","line":1657,"column":9,"nodeType":"VariableDeclarator","endLine":1657,"endColumn":72},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1658,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1658,"endColumn":52},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1659,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1659,"endColumn":54},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1660,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1660,"endColumn":50},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1664,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1664,"endColumn":31},{"ruleId":"no-jquery/variable-pattern","severity":1,"message":"jQuery collection names must match the variablePattern","line":1664,"column":10,"nodeType":"VariableDeclarator","endLine":1664,"endColumn":30},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1665,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1665,"endColumn":61},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1666,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1666,"endColumn":63},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1667,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1667,"endColumn":59},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1742,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1742,"endColumn":98},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1743,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1750,"endColumn":7},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1754,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1754,"endColumn":23},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1801,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1801,"endColumn":21},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1802,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1802,"endColumn":79},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1804,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1804,"endColumn":30},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1818,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1820,"endColumn":26},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1823,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1823,"endColumn":21},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1824,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1824,"endColumn":48},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1825,"column":9,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1825,"endColumn":22},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1859,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1859,"endColumn":71},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1886,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1886,"endColumn":110},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1890,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1890,"endColumn":26},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1891,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1896,"endColumn":7},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1910,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1910,"endColumn":72},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1912,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1912,"endColumn":69},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1935,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1935,"endColumn":30},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1937,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1937,"endColumn":83},{"ruleId":"no-jquery/no-class-state","severity":1,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":1938,"column":30,"nodeType":"CallExpression","endLine":1938,"endColumn":64},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1942,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1942,"endColumn":65},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1950,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1950,"endColumn":68},{"ruleId":"no-jquery/no-class-state","severity":1,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":1951,"column":8,"nodeType":"CallExpression","endLine":1951,"endColumn":47},{"ruleId":"no-jquery/no-class-state","severity":1,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":1955,"column":8,"nodeType":"CallExpression","endLine":1955,"endColumn":46},{"ruleId":"no-jquery/no-class-state","severity":1,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":1960,"column":7,"nodeType":"CallExpression","endLine":1960,"endColumn":38}],"suppressedMessages":[{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '|'.","line":1806,"column":8,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":1806,"endColumn":24,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '|'.","line":1809,"column":8,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":1809,"endColumn":25,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '|'.","line":1812,"column":28,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":1812,"endColumn":41,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '&'.","line":1812,"column":28,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":1812,"endColumn":35,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":254,"fixableErrorCount":0,"fixableWarningCount":0,"source":"const Sortable = require( 'ext.pageforms.sortable' );\n\n/**\n * PageForms.js\n *\n * Javascript utility functions for the Page Forms extension.\n *\n * @author Yaron Koren\n * @author Sanyam Goyal\n * @author Stephan Gambke\n * @author Jeffrey Stuckman\n * @author Harold Solbrig\n * @author Eugene Mednikov\n */\n/*global wgPageFormsShowOnSelect, wgPageFormsFieldProperties, wgPageFormsCargoFields, wgPageFormsDependentFields, validateAll, alert, mwTinyMCEInit, pf, Sortable*/\n\n( function( $, mw ) {\n\n/*\n * Functions to register/unregister methods for the initialization and\n * validation of inputs.\n */\n\n// Initialize data object to hold initialization and validation data\nfunction setupPF() {\n\n\t$(\"#pfForm\").data(\"PageForms\",{\n\t\tinitFunctions : [],\n\t\tvalidationFunctions : []\n\t});\n\n}\n\n// Register a validation method\n//\n// More than one method may be registered for one input by subsequent calls to\n// PageForms_registerInputValidation.\n//\n// Validation functions and their data are stored in a numbered array\n//\n// @param valfunction The validation functions. Must take a string (the input's id) and an object as parameters\n// @param param The parameter object given to the validation function\n$.fn.PageForms_registerInputValidation = function(valfunction, param) {\n\n\tif ( ! this.attr(\"id\") ) {\n\t\treturn this;\n\t}\n\n\tif ( ! $(\"#pfForm\").data(\"PageForms\") ) {\n\t\tsetupPF();\n\t}\n\n\t$(\"#pfForm\").data(\"PageForms\").validationFunctions.push({\n\t\tinput : this.attr(\"id\"),\n\t\tvalfunction : valfunction,\n\t\tparameters : param\n\t});\n\n\treturn this;\n};\n\n// Register an initialization method\n//\n// More than one method may be registered for one input by subsequent calls to\n// PageForms_registerInputInit. This method also executes the initFunction\n// if the element referenced by /this/ is not part of a multipleTemplateStarter.\n//\n// Initialization functions and their data are stored in a associative array\n//\n// @param initFunction The initialization function. Must take a string (the input's id) and an object as parameters\n// @param param The parameter object given to the initialization function\n// @param noexecute If set, the initialization method will not be executed here\n$.fn.PageForms_registerInputInit = function( initFunction, param, noexecute ) {\n\n\t// return if element has no id\n\tif ( ! this.attr(\"id\") ) {\n\t\treturn this;\n\t}\n\n\t// setup data structure if necessary\n\tif ( ! $(\"#pfForm\").data(\"PageForms\") ) {\n\t\tsetupPF();\n\t}\n\n\t// if no initialization function for this input was registered yet,\n\t// create entry\n\tif ( ! $(\"#pfForm\").data(\"PageForms\").initFunctions[this.attr(\"id\")] ) {\n\t\t$(\"#pfForm\").data(\"PageForms\").initFunctions[this.attr(\"id\")] = [];\n\t}\n\n\t// record initialization function\n\t$(\"#pfForm\").data(\"PageForms\").initFunctions[this.attr(\"id\")].push({\n\t\tinitFunction : initFunction,\n\t\tparameters : param\n\t});\n\n\t// execute initialization if input is not part of multipleTemplateStarter\n\t// and if not forbidden\n\tif ( this.closest(\".multipleTemplateStarter\").length === 0 && !noexecute) {\n\t\tconst $input = this;\n\t\t// ensure initFunction is only executed after doc structure is complete\n\t\t$(() => {\n\t\t\tif ( initFunction !== undefined ) {\n\t\t\t\tinitFunction( $input.attr(\"id\"), param );\n\t\t\t}\n\t\t});\n\t}\n\n\treturn this;\n};\n\n// Unregister all validation methods for the element referenced by /this/\n$.fn.PageForms_unregisterInputValidation = function() {\n\n\tconst pfdata = $(\"#pfForm\").data(\"PageForms\");\n\n\tif ( this.attr(\"id\") && pfdata ) {\n\t\t// delete every validation method for this input\n\t\tfor ( let i = 0; i < pfdata.validationFunctions.length; i++ ) {\n\t\t\tif ( typeof pfdata.validationFunctions[i] !== 'undefined' &&\n\t\t\t\tpfdata.validationFunctions[i].input === this.attr(\"id\") ) {\n\t\t\t\tdelete pfdata.validationFunctions[i];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn this;\n};\n\n// Unregister all initialization methods for the element referenced by /this/\n$.fn.PageForms_unregisterInputInit = function() {\n\n\tif ( this.attr(\"id\") && $(\"#pfForm\").data(\"PageForms\") ) {\n\t\tdelete $(\"#pfForm\").data(\"PageForms\").initFunctions[this.attr(\"id\")];\n\t}\n\n\treturn this;\n};\n\n// Called from within PF_ComboBoxInput.php.\nmw.hook('pf.comboboxChange').add( ( $parentSpan ) => {\n\tconst initPage = $parentSpan.find('select').length > 0;\n\tconst partOfMultiple = $parentSpan.attr('data-origid') !== undefined;\n\t$parentSpan.showIfSelected( partOfMultiple, initPage );\n});\n\n/*\n * Functions for handling 'show on select'\n */\n\n// Display a div that would otherwise be hidden by \"show on select\".\nfunction showDiv( div_id, $instanceWrapperDiv, initPage ) {\n\tconst speed = initPage ? 0 : 'fast';\n\tlet $elem;\n\tif ( $instanceWrapperDiv !== null ) {\n\t\t$elem = $('[data-origID=\"' + div_id + '\"]', $instanceWrapperDiv);\n\t} else {\n\t\t$elem = $('#' + div_id);\n\t}\n\n\t$elem\n\t.addClass('shownByPF')\n\n\t.find(\".hiddenByPF\")\n\t.removeClass('hiddenByPF')\n\t.addClass('shownByPF')\n\n\t.find(\".disabledByPF\")\n\t.prop('disabled', false)\n\t.removeClass('disabledByPF');\n\n\t$elem.each( function() {\n\t\tif ( $(this).css('display') === 'none' ) {\n\n\t\t\t$(this).slideDown(speed, function() {\n\t\t\t\t$(this).fadeTo(speed,1);\n\t\t\t});\n\n\t\t}\n\t});\n\n\t// Now re-show any form elements that are meant to be shown due\n\t// to the current value of form inputs in this div that are now\n\t// being uncovered.\n\tconst wgPageFormsShowOnSelect = mw.config.get( 'wgPageFormsShowOnSelect' );\n\t$elem.find(\".pfShowIfSelected, .pfShowIfChecked\").each( function() {\n\t\tconst $uncoveredInput = $(this);\n\t\tlet uncoveredInputID = null;\n\t\tif ( $instanceWrapperDiv === null ) {\n\t\t\tuncoveredInputID = $uncoveredInput.attr(\"id\");\n\t\t} else {\n\t\t\tuncoveredInputID = $uncoveredInput.attr(\"data-origID\");\n\t\t}\n\t\tconst showOnSelectVals = wgPageFormsShowOnSelect[uncoveredInputID];\n\n\t\tif ( showOnSelectVals !== undefined ) {\n\t\t\tconst inputVal = $uncoveredInput.val();\n\t\t\tfor ( let i = 0; i < showOnSelectVals.length; i++ ) {\n\t\t\t\tconst options = showOnSelectVals[i][0];\n\t\t\t\tconst div_id2 = showOnSelectVals[i][1];\n\t\t\t\tif ( $uncoveredInput.hasClass( 'pfShowIfSelected' ) ) {\n\t\t\t\t\tshowDivIfSelected( options, div_id2, inputVal, $instanceWrapperDiv, initPage );\n\t\t\t\t} else {\n\t\t\t\t\t$uncoveredInput.showDivIfChecked( options, div_id2, $instanceWrapperDiv, initPage );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n}\n\n// Hide a div due to \"show on select\". The CSS class is there so that PF can\n// ignore the div's contents when the form is submitted.\nfunction hideDiv( div_id, $instanceWrapperDiv, initPage ) {\n\tconst speed = initPage ? 0 : 'fast';\n\tlet $elem;\n\t// IDs can't contain spaces, and jQuery won't work with such IDs - if\n\t// this one has a space, display an alert.\n\tif ( div_id.includes(' ') ) {\n\t\t// TODO - this should probably be a language value, instead of\n\t\t// hardcoded in English.\n\t\talert( \"Warning: this form has \\\"show on select\\\" pointing to an invalid element ID (\\\"\" + div_id + \"\\\") - IDs in HTML cannot contain spaces.\" );\n\t}\n\n\tif ( $instanceWrapperDiv !== null ) {\n\t\t$elem = $instanceWrapperDiv.find('[data-origID=' + div_id + ']');\n\t} else {\n\t\t$elem = $('#' + div_id);\n\t}\n\n\t// If we're just setting up the page, and this element has already\n\t// been marked to be shown by some other input, don't hide it.\n\tif ( initPage && $elem.hasClass('shownByPF') ) {\n\t\treturn;\n\t}\n\n\t$elem.find(\"span, div\").addClass('hiddenByPF');\n\n\t$elem.each( function() {\n\t\tif ( $(this).css('display') !== 'none' ) {\n\n\t\t\t// if 'display' is not 'hidden', but the element is hidden otherwise\n\t\t\t// (e.g. by having height = 0), just hide it, else animate the hiding\n\t\t\tif ( $(this).is(':hidden') ) {\n\t\t\t\t$(this).hide();\n\t\t\t} else {\n\t\t\t\t$(this).fadeTo(speed, 0, function() {\n\t\t\t\t\t$(this).slideUp(speed);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t});\n\n\t// Also, recursively hide further elements that are only shown because\n\t// inputs within this now-hidden div were checked/selected.\n\tconst wgPageFormsShowOnSelect = mw.config.get( 'wgPageFormsShowOnSelect' );\n\t$elem.find(\".pfShowIfSelected, .pfShowIfChecked\").each( function() {\n\t\tlet showOnSelectVals;\n\t\tif ( $instanceWrapperDiv === null ) {\n\t\t\tshowOnSelectVals = wgPageFormsShowOnSelect[$(this).attr(\"id\")];\n\t\t} else {\n\t\t\tshowOnSelectVals = wgPageFormsShowOnSelect[$(this).attr(\"data-origID\")];\n\t\t}\n\n\t\tif ( showOnSelectVals !== undefined ) {\n\t\t\tfor ( let i = 0; i < showOnSelectVals.length; i++ ) {\n\t\t\t\t//var options = showOnSelectVals[i][0];\n\t\t\t\tconst div_id2 = showOnSelectVals[i][1];\n\t\t\t\thideDiv( div_id2, $instanceWrapperDiv, initPage );\n\t\t\t}\n\t\t}\n\t});\n}\n\n// Show this div if the current value is any of the relevant options -\n// otherwise, hide it.\nfunction showDivIfSelected(options, div_id, inputVal, $instanceWrapperDiv, initPage) {\n\tfor ( let i = 0; i < options.length; i++ ) {\n\t\t// If it's a listbox and the user has selected more than one\n\t\t// value, it'll be an array - handle either case.\n\t\tif (($.isArray(inputVal) && $.inArray(options[i], inputVal) >= 0) ||\n\t\t\t(!$.isArray(inputVal) && (inputVal === options[i]))) {\n\t\t\tshowDiv( div_id, $instanceWrapperDiv, initPage );\n\t\t\treturn;\n\t\t}\n\t}\n\thideDiv( div_id, $instanceWrapperDiv, initPage );\n}\n\n// Used for handling 'show on select' for the 'dropdown', 'listbox',\n// 'combobox' and 'tokens' input types.\n$.fn.showIfSelected = function(partOfMultiple, initPage) {\n\tlet inputVal,\n\t\twgPageFormsShowOnSelect = mw.config.get( 'wgPageFormsShowOnSelect' ),\n\t\tshowOnSelectVals,\n\t\t$instanceWrapperDiv;\n\n\tif ( this.attr( 'data-input-type' ) == 'combobox' ) {\n\t\tif ( initPage ) {\n\t\t\tinputVal = $(this).find('select').val();\n\t\t} else {\n\t\t\tinputVal = $(this).find('input').val();\n\t\t}\n\t} else if ( this.attr( 'data-input-type' ) == 'tokens' ) {\n\t\tif ( initPage ) {\n\t\t\tinputVal = $(this).find('select').val();\n\t\t} else {\n\t\t\tinputVal = [];\n\t\t\t$(this).find('li.select2-selection__choice').each( function() {\n\t\t\t\tinputVal.push( $(this).attr('title') );\n\t\t\t});\n\t\t}\n\t} else {\n\t\tinputVal = this.val();\n\t}\n\n\tif ( partOfMultiple ) {\n\t\tshowOnSelectVals = wgPageFormsShowOnSelect[this.attr(\"data-origID\")];\n\t\t$instanceWrapperDiv = this.closest('.multipleTemplateInstance');\n\t} else {\n\t\tshowOnSelectVals = wgPageFormsShowOnSelect[this.attr(\"id\")];\n\t\t$instanceWrapperDiv = null;\n\t}\n\n\tif ( showOnSelectVals !== undefined ) {\n\t\tfor ( let i = 0; i < showOnSelectVals.length; i++ ) {\n\t\t\tconst options = showOnSelectVals[i][0];\n\t\t\tconst div_id = showOnSelectVals[i][1];\n\t\t\tshowDivIfSelected( options, div_id, inputVal, $instanceWrapperDiv, initPage );\n\t\t}\n\t}\n\n\treturn this;\n};\n\n// Show this div if any of the relevant selections are checked -\n// otherwise, hide it.\n$.fn.showDivIfChecked = function(options, div_id, $instanceWrapperDiv, initPage ) {\n\tfor ( let i = 0; i < options.length; i++ ) {\n\t\tif ($(this).find('[value=\"' + options[i] + '\"]').is(\":checked\")) {\n\t\t\tshowDiv( div_id, $instanceWrapperDiv, initPage );\n\t\t\treturn this;\n\t\t}\n\t}\n\thideDiv( div_id, $instanceWrapperDiv, initPage );\n\n\treturn this;\n};\n\n// Used for handling 'show on select' for the 'checkboxes' and 'radiobutton'\n// inputs.\n$.fn.showIfChecked = function(partOfMultiple, initPage) {\n\tlet wgPageFormsShowOnSelect = mw.config.get( 'wgPageFormsShowOnSelect' ),\n\t\tshowOnSelectVals,\n\t\t$instanceWrapperDiv,\n\t\ti;\n\n\tif ( partOfMultiple ) {\n\t\tshowOnSelectVals = wgPageFormsShowOnSelect[this.attr(\"data-origID\")];\n\t\t$instanceWrapperDiv = this.closest('.multipleTemplateInstance');\n\t} else {\n\t\tshowOnSelectVals = wgPageFormsShowOnSelect[this.attr(\"id\")];\n\t\t$instanceWrapperDiv = null;\n\t}\n\n\tif ( showOnSelectVals !== undefined ) {\n\t\tfor ( i = 0; i < showOnSelectVals.length; i++ ) {\n\t\t\tconst options = showOnSelectVals[i][0];\n\t\t\tconst div_id = showOnSelectVals[i][1];\n\t\t\tthis.showDivIfChecked( options, div_id, $instanceWrapperDiv, initPage );\n\t\t}\n\t}\n\n\treturn this;\n};\n\n// Used for handling 'show on select' for the 'checkbox' input.\n$.fn.showIfCheckedCheckbox = function( partOfMultiple, initPage ) {\n\tlet wgPageFormsShowOnSelect = mw.config.get( 'wgPageFormsShowOnSelect' ),\n\t\tdivIDs,\n\t\t$instanceWrapperDiv = null,\n\t\ti;\n\tif ( partOfMultiple ) {\n\t\tdivIDs = wgPageFormsShowOnSelect[this.attr( \"data-origID\" )];\n\t\t$instanceWrapperDiv = this.closest( \".multipleTemplateInstance\" );\n\t}\n\tif ( divIDs === undefined ) {\n\t\tdivIDs = wgPageFormsShowOnSelect[this.attr( \"id\" )];\n\t}\n\tfor ( i = 0; i < divIDs.length; i++ ) {\n\t\tconst divID = divIDs[i];\n\t\tif ( $( this ).find( '[value]' ).is( \":checked\" ) ) {\n\t\t\tshowDiv( divID, $instanceWrapperDiv, initPage );\n\t\t} else {\n\t\t\thideDiv( divID, $instanceWrapperDiv, initPage );\n\t\t}\n\t}\n\n\treturn this;\n};\n\n/*\n * Validation functions\n */\n\n// Set the error message for an input.\n$.fn.setErrorMessage = function(msg, val) {\n\tconst container = this.find('.pfErrorMessages');\n\tcontainer.html($('<div>').addClass( 'errorMessage' ).text( mw.msg( msg, val ) ));\n};\n\n// Append an error message to the end of an input.\n$.fn.addErrorMessage = function(msg, val) {\n\tthis.find('input').addClass('inputError');\n\tthis.find('select2-container').addClass('inputError');\n\tthis.append($('<div>').addClass( 'errorMessage' ).text( mw.msg( msg, val ) ));\n\t// If this is part of a minimized multiple-template instance, add a\n\t// red border around the instance rectangle to make it easier to find.\n\tthis.parents( '.multipleTemplateInstance.minimized' ).css( 'border', '1px solid red' );\n};\n\n$.fn.isAtMaxInstances = function() {\n\tconst numInstances = this.find(\"div.multipleTemplateInstance\").length;\n\tconst maximumInstances = this.attr(\"maximumInstances\");\n\tif ( numInstances >= maximumInstances ) {\n\t\tthis.parent().setErrorMessage( 'pf_too_many_instances_error', maximumInstances );\n\t\treturn true;\n\t}\n\treturn false;\n};\n\n$.fn.validateNumInstances = function() {\n\tconst minimumInstances = this.attr(\"minimumInstances\");\n\tconst maximumInstances = this.attr(\"maximumInstances\");\n\tconst numInstances = this.find(\"div.multipleTemplateInstance\").length;\n\tif ( numInstances < minimumInstances ) {\n\t\tthis.parent().addErrorMessage( 'pf_too_few_instances_error', minimumInstances );\n\t\treturn false;\n\t} else if ( numInstances > maximumInstances ) {\n\t\tthis.parent().addErrorMessage( 'pf_too_many_instances_error', maximumInstances );\n\t\treturn false;\n\t} else {\n\t\treturn true;\n\t}\n};\n\n$.fn.validateMandatoryField = function() {\n\tconst fieldVal = this.find(\".mandatoryField\").val();\n\tlet isEmpty;\n\n\tif (fieldVal === null) {\n\t\tisEmpty = true;\n\t} else if ($.isArray(fieldVal)) {\n\t\tisEmpty = (fieldVal.length === 0);\n\t} else {\n\t\tisEmpty = (fieldVal.replace(/\\s+/, '') === '');\n\t}\n\tif (isEmpty) {\n\t\tthis.addErrorMessage( 'pf_blank_error' );\n\t\treturn false;\n\t} else {\n\t\treturn true;\n\t}\n};\n\n$.fn.validateUniqueField = function() {\n\n\tconst UNDEFINED = \"undefined\";\n\tconst field = this.find(\".uniqueField\");\n\tconst fieldVal = field.val();\n\n\tif (typeof fieldVal === UNDEFINED || fieldVal.replace(/\\s+/, '') === '') {\n\t\treturn true;\n\t}\n\n\tconst fieldOrigVal = field.prop(\"defaultValue\");\n\tif (fieldVal === fieldOrigVal) {\n\t\treturn true;\n\t}\n\n\tconst categoryFieldName = field.prop(\"id\") + \"_unique_for_category\";\n\tconst $categoryField = $(\"[name=\" + categoryFieldName + \"]\");\n\tlet category = $categoryField.val();\n\n\tconst namespaceFieldName = field.prop(\"id\") + \"_unique_for_namespace\";\n\tconst $namespaceField = $(\"[name=\" + namespaceFieldName + \"]\");\n\tconst namespace = $namespaceField.val();\n\n\tlet url = mw.config.get( 'wgScriptPath' ) + \"/api.php?format=json&action=\";\n\n\tlet query,\n\t\tisNotUnique;\n\n\t// SMW\n\tconst propertyFieldName = field.prop(\"id\") + \"_unique_property\",\n\t\t$propertyField = $(\"[name=\" + propertyFieldName + \"]\"),\n\t\tproperty = $propertyField.val();\n\tif (typeof property !== UNDEFINED && property.replace(/\\s+/, '') !== '') {\n\n\t\tquery = \"[[\" + property + \"::\" + fieldVal + \"]]\";\n\n\t\tif (typeof category !== UNDEFINED &&\n\t\t\tcategory.replace(/\\s+/, '') !== '') {\n\t\t\tquery += \"[[Category:\" + category + \"]]\";\n\t\t}\n\n\t\tif (typeof namespace !== UNDEFINED) {\n\t\t\tif (namespace.replace(/\\s+/, '') !== '') {\n\t\t\t\tquery += \"[[:\" + namespace + \":+]]\";\n\t\t\t} else {\n\t\t\t\tquery += \"[[:+]]\";\n\t\t\t}\n\t\t}\n\n\t\tconst conceptFieldName = field.prop(\"id\") + \"_unique_for_concept\";\n\t\tconst $conceptField = $(\"[name=\" + conceptFieldName + \"]\");\n\t\tconst concept = $conceptField.val();\n\t\tif (typeof concept !== UNDEFINED &&\n\t\t\tconcept.replace(/\\s+/, '') !== '') {\n\t\t\tquery += \"[[Concept:\" + concept + \"]]\";\n\t\t}\n\n\t\tquery += \"|limit=1\";\n\t\tquery = encodeURIComponent(query);\n\n\t\turl += \"ask&query=\" + query;\n\t\tisNotUnique = true;\n\t\t$.ajax({\n\t\t\turl: url,\n\t\t\tdataType: 'json',\n\t\t\tasync: false,\n\t\t\tsuccess: function(data) {\n\t\t\t\tif (data.query.meta.count === 0) {\n\t\t\t\t\tisNotUnique = false;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tif (isNotUnique) {\n\t\t\tthis.addErrorMessage( 'pf_not_unique_error' );\n\t\t\treturn false;\n\t\t} else {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\t// Cargo\n\tconst cargoTableFieldName = field.prop(\"id\") + \"_unique_cargo_table\";\n\tconst $cargoTableField = $(\"[name=\" + cargoTableFieldName + \"]\");\n\tlet cargoTable = $cargoTableField.val();\n\tconst cargoFieldFieldName = field.prop(\"id\") + \"_unique_cargo_field\";\n\tconst $cargoFieldField = $(\"[name=\" + cargoFieldFieldName + \"]\");\n\tconst cargoField = $cargoFieldField.val();\n\tif (typeof cargoTable !== UNDEFINED && cargoTable.replace(/\\s+/, '') !== ''\n\t\t&& typeof cargoField !== UNDEFINED\n\t\t&& cargoField.replace(/\\s+/, '') !== '') {\n\n\t\tquery = \"&where=\" + cargoField + \"+=+'\" + fieldVal + \"'\";\n\n\t\tif (typeof category !== UNDEFINED &&\n\t\t\tcategory.replace(/\\s+/, '') !== '') {\n\t\t\tcategory = category.replace(/\\s/, '_');\n\t\t\tquery += \"+AND+cl_to=\" + category + \"+AND+cl_from=_pageID\";\n\t\t\tcargoTable += \",categorylinks\";\n\t\t}\n\n\t\tif (typeof namespace !== UNDEFINED) {\n\t\t\tquery += \"+AND+_pageNamespace=\";\n\t\t\tif (namespace.replace(/\\s+/, '') !== '') {\n\t\t\t\tconst ns = mw.config.get('wgNamespaceIds')[namespace.toLowerCase()];\n\t\t\t\tif (typeof ns !== UNDEFINED) {\n\t\t\t\t\tquery += ns;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tquery += \"0\";\n\t\t\t}\n\t\t}\n\n\t\tquery += \"&limit=1\";\n\n\t\turl += \"cargoquery&tables=\" + cargoTable + \"&fields=\" + cargoField +\n\t\t\tquery;\n\t\tisNotUnique = true;\n\t\t$.ajax({\n\t\t\turl: url,\n\t\t\tdataType: 'json',\n\t\t\tasync: false,\n\t\t\tsuccess: function(data) {\n\t\t\t\tif (data.cargoquery.length === 0) {\n\t\t\t\t\tisNotUnique = false;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tif (isNotUnique) {\n\t\t\tthis.addErrorMessage( 'pf_not_unique_error' );\n\t\t\treturn false;\n\t\t} else {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn true;\n\n};\n\n$.fn.validateMandatoryComboBox = function() {\n\tconst $combobox = this.find(':input');\n\tif ($combobox.val() === null || $combobox.val() === '') {\n\t\tthis.addErrorMessage( 'pf_blank_error' );\n\t\treturn false;\n\t} else {\n\t\treturn true;\n\t}\n};\n\n$.fn.validateMandatoryDateField = function() {\n\tif (this.find(\".dayInput\").val() === '' ||\n\t\tthis.find(\".monthInput\").val() === '' ||\n\t\tthis.find(\".yearInput\").val() === '') {\n\t\tthis.addErrorMessage( 'pf_blank_error' );\n\t\treturn false;\n\t} else {\n\t\treturn true;\n\t}\n};\n\n$.fn.validateMandatoryRadioButton = function() {\n\tconst checkedValue = this.find(\"input:checked\").val();\n\tif (!checkedValue || checkedValue == '') {\n\t\tthis.addErrorMessage('pf_blank_error');\n\t\treturn false;\n\t} else {\n\t\treturn true;\n\t}\n};\n\n$.fn.validateMandatoryCheckboxes = function() {\n\t// Get the number of checked checkboxes within this span - must\n\t// be at least one.\n\tconst numChecked = this.find(\"input:checked\").length;\n\tif (numChecked === 0) {\n\t\tthis.addErrorMessage('pf_blank_error');\n\t\treturn false;\n\t} else {\n\t\treturn true;\n\t}\n};\n\n$.fn.validateMandatoryTree = function() {\n\tconst input_value = this.find( 'input' ).attr( 'value' );\n\tif ( input_value === undefined || input_value === '' ) {\n\t\tthis.addErrorMessage( 'pf_blank_error' );\n\t\treturn false;\n\t} else {\n\t\treturn true;\n\t}\n};\n\n$.fn.validateMandatoryDatePicker = function() {\n\tconst input = this.find('input');\n\tif (input.val() === null || input.val() === '') {\n\t\tthis.addErrorMessage( 'pf_blank_error' );\n\t\treturn false;\n\t} else {\n\t\treturn true;\n\t}\n};\n\n/*\n * Type-based validation\n */\n\n$.fn.validateURLField = function() {\n\tconst fieldVal = this.find(\"input\").val();\n\tlet url_protocol = mw.config.get( 'wgUrlProtocols' );\n\t//removing backslash before colon from url_protocol string\n\turl_protocol = url_protocol.replace( /\\\\:/, ':' );\n\t//removing '//' from wgUrlProtocols as this causes to match any protocol in regexp\n\turl_protocol = url_protocol.replace( /\\|\\\\\\/\\\\\\//, '' );\n\tconst url_regexp = new RegExp( '(' + url_protocol + ')' + '(\\\\w+:{0,1}\\\\w*@)?(\\\\S+)(:[0-9]+)?(\\/|\\/([\\\\w#!:.?+=&%@!\\\\-\\/]))?' );\n\tif (fieldVal === \"\" || url_regexp.test(fieldVal)) {\n\t\treturn true;\n\t} else {\n\t\tthis.addErrorMessage( 'pf_bad_url_error' );\n\t\treturn false;\n\t}\n};\n\n$.fn.validateEmailField = function() {\n\tconst fieldVal = this.find(\"input\").val();\n\t// code borrowed from http://javascript.internet.com/forms/email-validation---basic.html\n\tconst email_regexp = /^\\s*\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,63})+\\s*$/;\n\tif (fieldVal === '' || email_regexp.test(fieldVal)) {\n\t\treturn true;\n\t} else {\n\t\tthis.addErrorMessage( 'pf_bad_email_error' );\n\t\treturn false;\n\t}\n};\n\n$.fn.validateNumberField = function() {\n\tconst fieldVal = this.find(\"input\").val();\n\t// Handle \"E notation\"/scientific notation (\"1.2e-3\") in addition\n\t// to regular numbers\n\tif (fieldVal === '' ||\n\tfieldVal.match(/^\\s*[\\-+]?((\\d{1,3}(,\\d{3})+[\\.,]?\\d*)|(\\d*[\\.,]?\\d+))([eE]?[\\-\\+]?\\d+)?\\s*$/)) {\n\t\treturn true;\n\t} else {\n\t\tthis.addErrorMessage( 'pf_bad_number_error' );\n\t\treturn false;\n\t}\n};\n\n$.fn.validateIntegerField = function() {\n\tconst fieldVal = this.find(\"input\").val();\n\tif ( fieldVal === '' || fieldVal == parseInt( fieldVal, 10 ) ) {\n\t\treturn true;\n\t} else {\n\t\tthis.addErrorMessage( 'pf_bad_integer_error' );\n\t\treturn false;\n\t}\n};\n\n$.fn.validateDateField = function() {\n\t// validate only if day and year fields are both filled in\n\tconst dayVal = this.find(\".dayInput\").val();\n\tconst yearVal = this.find(\".yearInput\").val();\n\tif (dayVal === '' || yearVal === '') {\n\t\treturn true;\n\t} else if (dayVal.match(/^\\d+$/) && dayVal <= 31) {\n\t\t// no year validation, since it can also include\n\t\t// 'BC' and possibly other non-number strings\n\t\treturn true;\n\t} else {\n\t\tthis.addErrorMessage( 'pf_bad_date_error' );\n\t\treturn false;\n\t}\n};\n\n// Standalone pipes are not allowed, because they mess up the template\n// parsing; unless they're part of a call to a template or a parser function.\n$.fn.checkForPipes = function() {\n\tlet fieldVal = this.find(\"input, textarea\").val();\n\t// We need to check for a few different things because this is\n\t// called for a variety of different input types.\n\tif ( fieldVal === undefined || fieldVal === '' ) {\n\t\tfieldVal = this.text();\n\t}\n\tif ( fieldVal === undefined || fieldVal === '' ) {\n\t\treturn true;\n\t}\n\tif ( !fieldVal.includes('|') ) {\n\t\treturn true;\n\t}\n\n\t// Also allow pipes within special tags, like <pre> or <syntaxhighlight>.\n\t// Code copied, more or less, from PFTemplateInForm::escapeNonTemplatePipes().\n\tconst startAndEndTags = [\n\t\t[ '<pre', 'pre>' ],\n\t\t[ '<syntaxhighlight', 'syntaxhighlight>' ],\n\t\t[ '<source', 'source>' ],\n\t\t[ '<ref', 'ref>' ]\n\t];\n\n\tfor ( const i in startAndEndTags ) {\n\t\tconst startTag = startAndEndTags[i][0];\n\t\tconst endTag = startAndEndTags[i][1];\n\t\tconst pattern = RegExp( \"(\" + startTag + \"[^]*?)\\\\|([^]*?\" + endTag + \")\", 'i' );\n\t\tvar matches;\n\t\twhile ( ( matches = fieldVal.match( pattern ) ) !== null ) {\n\t\t\t// Special handling, to avoid escaping pipes\n\t\t\t// within a string that looks like:\n\t\t\t// startTag ... endTag | startTag ... endTag\n\t\t\tif ( matches[1].includes( endTag ) &&\n\t\t\t\tmatches[2].includes( startTag ) ) {\n\t\t\t\tfieldVal = fieldVal.replace( pattern, \"$1\" + \"\\2\" + \"$2\");\n\t\t\t} else {\n\t\t\t\tfieldVal = fieldVal.replace( pattern, \"$1\" + \"\\1\" + \"$2\" );\n\t\t\t}\n\t\t}\n\t}\n\tfieldVal = fieldVal.replace( \"\\2\", '|' );\n\n\t// Now check for pipes outside of brackets.\n\tlet nextPipe,\n\t\tnextDoubleBracketsStart,\n\t\tnextDoubleBracketsEnd;\n\n\t// There's at least one pipe - here's where the real work begins.\n\t// We do a mini-parsing of the string to try to make sure that every\n\t// pipe is within either double square brackets (links) or double\n\t// curly brackets (parser functions, template calls).\n\t// For simplicity's sake, turn all curly brackets into square brackets,\n\t// so we only have to check for one thing.\n\t// This will incorrectly allow bad text like \"[[a|b}}\", but hopefully\n\t// that's not a major problem.\n\tfieldVal = fieldVal.replace( /{{/g, '[[' );\n\tfieldVal = fieldVal.replace( /}}/g, ']]' );\n\tlet curIndex = 0;\n\tlet numUnclosedBrackets = 0;\n\twhile ( true ) {\n\t\tnextDoubleBracketsStart = fieldVal.indexOf( '[[', curIndex );\n\n\t\tif ( numUnclosedBrackets === 0 ) {\n\t\t\tnextPipe = fieldVal.indexOf( '|', curIndex );\n\t\t\tif ( nextPipe < 0 ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif ( nextDoubleBracketsStart < 0 || nextPipe < nextDoubleBracketsStart ) {\n\t\t\t\t// There's a pipe where it shouldn't be.\n\t\t\t\tthis.addErrorMessage( 'pf_pipe_error' );\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\tif ( nextDoubleBracketsEnd < 0 ) {\n\t\t\t// Something is malformed - might as well throw\n\t\t\t// an error.\n\t\t\tthis.addErrorMessage( 'pf_pipe_error' );\n\t\t\treturn false;\n\t\t}\n\n\t\tnextDoubleBracketsEnd = fieldVal.indexOf( ']]', curIndex );\n\n\t\tif ( nextDoubleBracketsStart >= 0 && nextDoubleBracketsStart < nextDoubleBracketsEnd ) {\n\t\t\tnumUnclosedBrackets++;\n\t\t\tcurIndex = nextDoubleBracketsStart + 2;\n\t\t} else {\n\t\t\tnumUnclosedBrackets--;\n\t\t\tcurIndex = nextDoubleBracketsEnd + 2;\n\t\t}\n\t}\n\n\t// We'll never get here, but let's have this line anyway.\n\treturn true;\n};\n\nfunction leftPad( number, targetLength ) {\n\tvar negative = false;\n\tif ( number < 0 ) {\n\t\tnumber = number * -1;\n\t\tvar negative = true;\n\t}\n\tlet output = number + '';\n\twhile ( output.length < targetLength ) {\n\t\toutput = '0' + output;\n\t}\n\tif ( negative ) {\n\t\toutput = '-' + output\n\t}\n\treturn output;\n}\n\nfunction validateStartEndDateField( startInput, endInput ) {\n\tif ( !startInput.length || !endInput.length ) {\n\t\treturn true;\n\t}\n\n\t// We get the index, instead of the actual value, of the month dropdown in\n\t// case it's a text value (i.e., with $wgAmericanDates.)\n\tconst startYearVal = leftPad( startInput.find(\".yearInput\").val(),4 );\n\tconst startMonthVal = leftPad( startInput.find(\".monthInput\").prop('selectedIndex'),2 );\n\tconst startDayVal = leftPad( startInput.find(\".dayInput\").val(),2 );\n\n\tconst endYearVal = leftPad( endInput.find(\".yearInput\").val(),4 );\n\tconst endMonthVal = leftPad( endInput.find(\".monthInput\").prop('selectedIndex'),2 );\n\tconst endDayVal = leftPad( endInput.find(\".dayInput\").val(),2 );\n\n\tconst startDate = startYearVal + \"/\" + startMonthVal + \"/\" + startDayVal;\n\n\tconst endDate = endYearVal + \"/\" + endMonthVal + \"/\" + endDayVal;\n\n\tif ( startDate <= endDate || endDate == \"0000/00/00\") {\n\t\treturn true;\n\t} else {\n\t\tif ( endInput ) {\n\t\t\tendInput.addErrorMessage( 'pf_start_end_date_error' )\n\t\t} else if ( startInput ) {\n\t\t\tstartInput.addErrorMessage( 'pf_start_end_date_error' )\n\t\t}\n\t\treturn false;\n\t}\n}\n\nfunction validateStartEndDateTimeField( startInput, endInput ) {\n\tif ( !startInput.length || !endInput.length ) {\n\t\treturn true;\n\t}\n\tconst startYearVal = leftPad( startInput.find(\".yearInput\").val(),4 );\n\tconst startMonthVal = leftPad( startInput.find(\".monthInput\").val(),2 );\n\tconst startDayVal = leftPad( startInput.find(\".dayInput\").val(),2 );\n\tconst startHoursVal = leftPad( startInput.find(\".hoursInput\").val(),2 );\n\tconst startMinutesVal = leftPad( startInput.find(\".minutesInput\").val(),2 );\n\tconst startSecondsVal = leftPad( startInput.find(\".secondsInput\").val(),2 );\n\tconst startAmPmVal = startInput.find(\".ampmInput\").val();\n\n\tconst endYearVal = leftPad( endInput.find(\".yearInput\").val(),4 );\n\tconst endMonthVal = leftPad( endInput.find(\".monthInput\").val(),2 );\n\tconst endDayVal = leftPad( endInput.find(\".dayInput\").val(),2 );\n\tconst endHoursVal = leftPad( endInput.find(\".hoursInput\").val(),2 );\n\tconst endMinutesVal = leftPad( endInput.find(\".minutesInput\").val(),2 );\n\tconst endSecondsVal = leftPad( endInput.find(\".secondsInput\").val(),2 );\n\tconst endAmPmVal = endInput.find(\".ampmInput\").val();\n\n\tconst startDateTime = startYearVal + \"/\" + startMonthVal + \"/\" + startDayVal + \" \" +\n\tstartHoursVal + \":\" + startMinutesVal + \":\" + startSecondsVal + \" \" + startAmPmVal;\n\n\tconst endDateTime = endYearVal + \"/\" + endMonthVal + \"/\" + endDayVal + \" \" +\n\t\tendHoursVal + \":\" + endMinutesVal + \":\" + endSecondsVal + \" \" + endAmPmVal;\n\n\tif ( startDateTime <= endDateTime || endDateTime == \"0000/00/00 00:00:00 \" ) {\n\t\treturn true;\n\t} else {\n\t\tif ( endInput ) {\n\t\t\tendInput.addErrorMessage( 'pf_start_end_datetime_error' )\n\t\t} else if ( startInput ) {\n\t\t\tstartInput.addErrorMessage( 'pf_start_end_datetime_error' )\n\t\t}\n\t\treturn false;\n\t}\n\n}\n\nwindow.validateAll = function() {\n\n\t// Remove all old error messages.\n\t$(\".errorMessage\").remove();\n\n\t// Hook that fires on form submission, before the validation.\n\tmw.hook('pf.formValidationBefore').fire();\n\n\tconst args = {numErrors: 0};\n\tmw.hook('pf.formValidation').fire( args );\n\tlet num_errors = args.numErrors;\n\n\t// Make sure all inputs are ignored in the \"starter\" instance\n\t// of any multiple-instance template.\n\t$(\".multipleTemplateStarter\").find(\"span, div\").addClass(\"hiddenByPF\");\n\n\t$(\".multipleTemplateList\").each( function() {\n\t\tif (! $(this).validateNumInstances() ) {\n\t\t\tnum_errors += 1;\n\t\t}\n\t});\n\n\t$(\"span.inputSpan.mandatoryFieldSpan\").not(\".hiddenByPF\").each( function() {\n\t\tif (! $(this).validateMandatoryField() ) {\n\t\t\tnum_errors += 1;\n\t\t}\n\t});\n\t$(\"span.comboboxSpan.mandatoryFieldSpan\").not(\".hiddenByPF\").each( function() {\n\t\tif (! $(this).validateMandatoryComboBox() ) {\n\t\t\tnum_errors += 1;\n\t\t}\n\t});\n\t$(\"span.dateInput.mandatoryFieldSpan\").not(\".hiddenByPF\").each( function() {\n\t\tif (! $(this).validateMandatoryDateField() ) {\n\t\t\tnum_errors += 1;\n\t\t}\n\t});\n\t$(\"span.radioButtonSpan.mandatoryFieldSpan\").not(\".hiddenByPF\").each( function() {\n\t\tif (! $(this).validateMandatoryRadioButton() ) {\n\t\t\tnum_errors += 1;\n\t\t}\n\t});\n\t$(\"span.checkboxesSpan.mandatoryFieldSpan\").not(\".hiddenByPF\").each( function() {\n\t\tif (! $(this).validateMandatoryCheckboxes() ) {\n\t\t\tnum_errors += 1;\n\t\t}\n\t});\n\t$(\"div.pfTreeInputWrapper.mandatory\").not(\".hiddenByPF\").each( function() {\n\t\tif (! $(this).validateMandatoryTree() ) {\n\t\t\tnum_errors += 1;\n\t\t}\n\t});\n\t$(\"div.pfPickerWrapper.mandatory\").not(\".hiddenByPF\").each( function() {\n\t\tif (! $(this).find('.pfPicker').validateMandatoryDatePicker() ) {\n\t\t\tnum_errors += 1;\n\t\t}\n\t});\n\t$(\"span.inputSpan.uniqueFieldSpan\").not(\".hiddenByPF\").each( function() {\n\t\tif (! $(this).validateUniqueField() ) {\n\t\t\tnum_errors += 1;\n\t\t}\n\t});\n\t$(\"span.inputSpan, div.pfComboBox\").not(\".hiddenByPF, .freeText, .pageSection\").each( function() {\n\t\tif (! $(this).checkForPipes() ) {\n\t\t\tnum_errors += 1;\n\t\t}\n\t});\n\t$(\"span.URLInput\").not(\".hiddenByPF\").each( function() {\n\t\tif (! $(this).validateURLField() ) {\n\t\t\tnum_errors += 1;\n\t\t}\n\t});\n\t$(\"span.emailInput\").not(\".hiddenByPF\").each( function() {\n\t\tif (! $(this).validateEmailField() ) {\n\t\t\tnum_errors += 1;\n\t\t}\n\t});\n\t$(\"span.numberInput\").not(\".hiddenByPF\").each( function() {\n\t\tif (! $(this).validateNumberField() ) {\n\t\t\tnum_errors += 1;\n\t\t}\n\t});\n\t$(\"span.integerInput\").not(\".hiddenByPF\").each( function() {\n\t\tif (! $(this).validateIntegerField() ) {\n\t\t\tnum_errors += 1;\n\t\t}\n\t});\n\t$(\"span.dateInput\").not(\".hiddenByPF\").each( function() {\n\t\tif (! $(this).validateDateField() ) {\n\t\t\tnum_errors += 1;\n\t\t}\n\t});\n\t$(\"input.modifiedInput\").not(\".hiddenByPF\").each( function() {\n\t\t// No separate function needed.\n\t\t$(this).parent().addErrorMessage( 'pf_modified_input_error' );\n\t\tnum_errors += 1;\n\t});\n\n\tconst startDateInput = $(\"span.startDateInput\").not(\".hiddenByPF\")\n\tconst endDateInput = $(\"span.endDateInput\").not(\".hiddenByPF\")\n\n\tif ( !validateStartEndDateField( startDateInput, endDateInput ) ) {\n\t\tnum_errors += 1;\n\t}\n\n\tconst startDateTimeInput = $(\"span.startDateTimeInput\").not(\".hiddenByPF\")\n\tconst endDateTimeInput = $(\"span.endDateTimeInput\").not(\".hiddenByPF\")\n\n\tif ( !validateStartEndDateTimeField( startDateTimeInput, endDateTimeInput ) ) {\n\t\tnum_errors += 1;\n\t}\n\t// call registered validation functions\n\tconst pfdata = $(\"#pfForm\").data('PageForms');\n\n\tif ( pfdata && pfdata.validationFunctions.length > 0 ) { // found data object?\n\n\t\t// for every registered input\n\t\tfor ( let i = 0; i < pfdata.validationFunctions.length; i++ ) {\n\n\t\t\t// if input is not part of multipleTemplateStarter\n\t\t\tif ( typeof pfdata.validationFunctions[i] !== 'undefined' &&\n\t\t\t\t$(\"#\" + pfdata.validationFunctions[i].input).closest(\".multipleTemplateStarter\").length === 0 &&\n\t\t\t\t$(\"#\" + pfdata.validationFunctions[i].input).closest(\".hiddenByPF\").length === 0 ) {\n\n\t\t\t\tif (! pfdata.validationFunctions[i].valfunction(\n\t\t\t\t\t\tpfdata.validationFunctions[i].input,\n\t\t\t\t\t\tpfdata.validationFunctions[i].parameters)\n\t\t\t\t\t) {\n\t\t\t\t\tnum_errors += 1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tif (num_errors > 0) {\n\t\t// add error header, if it's not there already\n\t\tif ($(\"#form_error_header\").length === 0) {\n\t\t\t$(\"#contentSub\").append('<div id=\"form_error_header\" class=\"errorbox\" style=\"font-size: medium\"><img src=\"' + mw.config.get( 'wgPageFormsScriptPath' ) + '/skins/MW-Icon-AlertMark.png\" />&nbsp;' + mw.message( 'pf_formerrors_header' ).escaped() + '</div><br clear=\"both\" />');\n\t\t}\n\t\t// The \"Save page\", etc. buttons were disabled to prevent\n\t\t// double-clicking; since there has been an error, re-enable\n\t\t// them so that the form can be submitted again after the\n\t\t// user tries to fix these errors.\n\t\t$( '.editButtons > .oo-ui-buttonElement' ).removeClass( 'oo-ui-widget-disabled' ).addClass( 'oo-ui-widget-enabled' );\n\t\t// Also undo the indicator that the form was submitted.\n\t\t$( '#pfForm' ).data('submitted', false);\n\t\tscroll(0, 0);\n\t} else {\n\t\t// Disable inputs hidden due to either \"show on select\" or\n\t\t// because they're part of the \"starter\" div for\n\t\t// multiple-instance templates, so that they aren't\n\t\t// submitted by the form.\n\t\t$('.hiddenByPF').find(\"input, select, textarea\").not(':disabled')\n\t\t.prop('disabled', true)\n\t\t.addClass('disabledByPF');\n\t\t//remove error box if it exists because there are no errors in the form now\n\t\t$(\"#contentSub\").find(\".errorbox\").remove();\n\t}\n\n\t// Hook that fires on form submission, after the validation.\n\tmw.hook('pf.formValidationAfter').fire();\n\n\treturn (num_errors === 0);\n};\n\n/**\n * Minimize all instances if the total height of all the instances\n * is over 800 pixels - to allow for easier navigation and sorting.\n */\n$.fn.possiblyMinimizeAllOpenInstances = function() {\n\tif ( ! this.hasClass( 'minimizeAll' ) ) {\n\t\treturn;\n\t}\n\n\tconst displayedFieldsWhenMinimized = this.attr('data-displayed-fields-when-minimized');\n\tlet allDisplayedFields = null;\n\tif ( displayedFieldsWhenMinimized ) {\n\t\tallDisplayedFields = displayedFieldsWhenMinimized.split(',').map((item) => item.trim().toLowerCase());\n\t}\n\n\tthis.find('.multipleTemplateInstance').not('.minimized').each( function() {\n\t\tconst $instance = $(this);\n\t\t$instance.addClass('minimized');\n\t\tlet valuesStr = '';\n\t\t$instance.find( \"input[type != 'hidden'][type != 'button'], select, textarea, div.ve-ce-surface\" ).each( function() {\n\t\t\t// If the set of fields to be displayed was specified in\n\t\t\t// the form definition, check against that list.\n\t\t\tif ( allDisplayedFields !== null ) {\n\t\t\t\tconst fieldFullName = $(this).attr('name');\n\t\t\t\tif ( !fieldFullName ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst matches = fieldFullName.match(/.*\\[.*\\]\\[(.*)\\]/);\n\t\t\t\tconst fieldRealName = matches[1].toLowerCase();\n\t\t\t\tif ( !allDisplayedFields.includes( fieldRealName ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet curVal = $(this).val();\n\t\t\tif ( $(this).hasClass('ve-ce-surface') ) {\n\t\t\t\t// Special handling for VisualEditor/VEForAll textareas.\n\t\t\t\tcurVal = $(this).text();\n\t\t\t}\n\t\t\tif ( typeof curVal !== 'string' || curVal === '' ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst inputType = $(this).attr('type');\n\t\t\tif ( inputType === 'checkbox' || inputType === 'radio' ) {\n\t\t\t\tif ( ! $(this).is(':checked') ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( curVal.length > 70 ) {\n\t\t\t\tcurVal = curVal.slice(0, 70) + \"...\";\n\t\t\t}\n\t\t\tif ( valuesStr !== '' ) {\n\t\t\t\tvaluesStr += ' &middot; ';\n\t\t\t}\n\t\t\tvaluesStr += curVal;\n\t\t});\n\t\tif ( valuesStr === '' ) {\n\t\t\tvaluesStr = '<em>' + mw.message('pf-formedit-nodata').escaped() + '</em>';\n\t\t}\n\t\t$instance.find('.instanceMain').fadeOut( \"medium\", () => {\n\t\t\t$instance.find('.instanceRearranger').after('<td class=\"fieldValuesDisplay\">' + valuesStr + '</td>');\n\t\t});\n\t});\n};\n\n$.fn.displayWizardScreen = function( screenNum, $wizardNav ) {\n\tconst $wizardScreens = $(this);\n\tlet $curScreen;\n\n\t$wizardScreens.each( function(i) {\n\t\t// screenNum starts at 1, not 0.\n\t\tif ( i + 1 == screenNum ) {\n\t\t\t$curScreen = $(this);\n\t\t\t$(this).show();\n\t\t} else {\n\t\t\t$(this).hide();\n\t\t}\n\t});\n\n\t// The rest of this function is taken up with displaying the\n\t// navigation to the next and previous wizard screens.\n\tconst numScreens = $wizardScreens.length;\n\n\t$wizardNav.empty();\n\n\tconst $navButtons = $('<div class=\"pf-wizard-buttons\"></div>');\n\n\tif ( screenNum > 1 ) {\n\t\tlet backText = $curScreen.attr('data-back-text');\n\t\tif ( backText == undefined ) {\n\t\t\tbackText = mw.msg('pf-wizard-back');\n\t\t}\n\t\tconst prevButton = new OO.ui.ButtonWidget( {\n\t\t\tlabel: backText,\n\t\t\ticon: 'previous',\n\t\t\tclasses: [ 'pf-wizard-back-button' ]\n\t\t} );\n\t\tprevButton.$element.click( () => {\n\t\t\t$wizardScreens.displayWizardScreen( screenNum - 1, $wizardNav );\n\t\t});\n\t\t$navButtons.append( prevButton.$element );\n\t}\n\n\tif ( screenNum < numScreens ) {\n\t\tlet continueText = $curScreen.attr('data-continue-text');\n\t\tif ( continueText == undefined ) {\n\t\t\tcontinueText = mw.msg('pf-wizard-continue');\n\t\t}\n\t\tconst continueButton = new OO.ui.ButtonWidget( {\n\t\t\tlabel: continueText,\n\t\t\tflags: [\n\t\t\t\t'primary',\n\t\t\t\t'progressive'\n\t\t\t],\n\t\t\ticon: 'next',\n\t\t\tclasses: [ 'pf-wizard-continue-button' ]\n\t\t} );\n\t\tcontinueButton.$element.click( () => {\n\t\t\t$wizardScreens.displayWizardScreen( screenNum + 1, $wizardNav );\n\t\t});\n\t\t$navButtons.append( continueButton.$element );\n\t}\n\t$wizardNav.append( $navButtons );\n\n\t// We need this in order to clear the float from the \"previous\" button.\n\t$wizardNav.append('<br style=\"clear: both;\" />');\n\n\t// Use progress bar if the number of screens is greater than 10 and circles in the other case\n\tif ( numScreens > 10 ) {\n\t\tconst progressBar = new OO.ui.ProgressBarWidget( {\n\t\t\tprogress: 100 * screenNum / numScreens\n\t\t} );\n\t\tconst progressBarLayout = new OO.ui.FieldLayout(\n\t\t\tprogressBar,\n\t\t\t{\n\t\t\t\tlabel: 'Step ' + screenNum + ' of ' + numScreens,\n\t\t\t\talign: 'inline'\n\t\t\t}\n\t\t);\n\t\t$wizardNav.append( progressBarLayout.$element );\n\t} else {\n\t\t$( '.pf-wizard-buttons' ).addClass( 'pf-wizard-buttons-circle' );\n\t\tconst progressCiclesUL = $( '<ul class=\"pfWizardCircles\"></ul>' );\n\t\tfor( let i = 1; i <= numScreens; i++ ) {\n\t\t\tlet circle = '<li>' + i + '</li>';\n\t\t\tif ( i == screenNum ) {\n\t\t\t\tcircle = '<li class=\"active\">' + i + '</li>';\n\t\t\t}\n\t\t\tprogressCiclesUL.append( $( circle ) );\n\t\t}\n\t\t$wizardNav.append( progressCiclesUL );\n\t}\n};\n\nlet num_elements = 0;\n\n/**\n * Functions for multiple-instance templates.\n *\n * @param {Mixed} addAboveCurInstance\n * @return {Mixed}\n */\n$.fn.addInstance = function( addAboveCurInstance ) {\n\tconst wgPageFormsShowOnSelect = mw.config.get( 'wgPageFormsShowOnSelect' );\n\tconst wgPageFormsHeightForMinimizingInstances = mw.config.get( 'wgPageFormsHeightForMinimizingInstances' );\n\tconst $wrapper = this.closest(\".multipleTemplateWrapper\");\n\tconst $multipleTemplateList = $wrapper.find('.multipleTemplateList');\n\n\t// If the nubmer of instances is already at the maximum allowed,\n\t// exit here.\n\tif ( $multipleTemplateList.isAtMaxInstances() ) {\n\t\treturn false;\n\t}\n\n\tif ( wgPageFormsHeightForMinimizingInstances >= 0 ) {\n\t\tif ( ! $multipleTemplateList.hasClass('minimizeAll') &&\n\t\t\t$multipleTemplateList.height() >= wgPageFormsHeightForMinimizingInstances ) {\n\t\t\t$multipleTemplateList.addClass('minimizeAll');\n\t\t}\n\t\tif ( $multipleTemplateList.hasClass('minimizeAll') ) {\n\t\t\t$multipleTemplateList\n\t\t\t\t.addClass('currentFocus')\n\t\t\t\t.possiblyMinimizeAllOpenInstances();\n\t\t}\n\t}\n\n\t// Global variable.\n\tnum_elements++;\n\n\t// Create the new instance\n\tconst $new_div = $wrapper\n\t\t.find(\".multipleTemplateStarter\")\n\t\t.clone()\n\t\t.removeClass('multipleTemplateStarter')\n\t\t.addClass('multipleTemplateInstance')\n\t\t.addClass('multipleTemplate') // backwards compatibility\n\t\t.removeAttr(\"id\")\n\t\t.fadeTo(0,0)\n\t\t.slideDown('fast', function() {\n\t\t\t$(this).fadeTo('fast', 1);\n\t\t});\n\n\t// Add on a new attribute, \"data-origID\", representing the ID of all\n\t// HTML elements that had an ID; and delete the actual ID attribute\n\t// of any divs and spans (presumably, these exist only for the\n\t// sake of \"show on select\"). We do the deletions because no two\n\t// elements on the page are allowed to have the same ID.\n\t$new_div.find('[id!=\"\"]').attr('data-origID', function() {\n\t\treturn this.id;\n\t});\n\t$new_div.find('div[id!=\"\"], span[id!=\"\"]').removeAttr('id');\n\n\t$new_div.find('.hiddenByPF')\n\t\t.removeClass('hiddenByPF')\n\t\t.find('.disabledByPF')\n\t\t.prop('disabled', false)\n\t\t.removeClass('disabledByPF');\n\n\t// Make internal ID unique for the relevant form elements, and replace\n\t// the [num] index in the element names with an actual unique index\n\t$new_div.find(\"input, select, textarea\").each(\n\t\tfunction() {\n\t\t\t// Add in a 'b' at the end of the name to reduce the\n\t\t\t// chance of name collision with another field\n\t\t\tif (this.name) {\n\t\t\t\tconst old_name = this.name.replace(/\\[num\\]/g, '');\n\t\t\t\t$(this).attr('origName', old_name);\n\t\t\t\tthis.name = this.name.replace(/\\[num\\]/g, '[' + num_elements + 'b]');\n\t\t\t}\n\n\t\t\t// Do the same thing with \"feeds to map\", which also\n\t\t\t// needs to be modified for each instance.\n\t\t\tconst feedsToMap = $(this).attr('data-feeds-to-map');\n\t\t\tif ( feedsToMap !== undefined && feedsToMap !== false ) {\n\t\t\t\t$(this).attr('data-feeds-to-map', feedsToMap.replace(/\\[num\\]/g, '[' + num_elements + 'b]') );\n\t\t\t}\n\n\t\t\tif (this.id) {\n\n\t\t\t\tconst old_id = this.id;\n\n\t\t\t\tthis.id = this.id.replace(/input_/g, 'input_' + num_elements + '_');\n\n\t\t\t\t// TODO: Data in wgPageFormsShowOnSelect should probably be stored in\n\t\t\t\t// $(\"#pfForm\").data('PageForms')\n\t\t\t\tif ( wgPageFormsShowOnSelect[ old_id ] ) {\n\t\t\t\t\twgPageFormsShowOnSelect[ this.id ] = wgPageFormsShowOnSelect[ old_id ];\n\t\t\t\t}\n\n\t\t\t\t// register initialization and validation methods for new inputs\n\n\t\t\t\tconst pfdata = $(\"#pfForm\").data('PageForms');\n\t\t\t\tif ( pfdata ) { // found data object?\n\t\t\t\t\tlet i;\n\t\t\t\t\tif ( pfdata.initFunctions[old_id] ) {\n\n\t\t\t\t\t\t// For every initialization method for\n\t\t\t\t\t\t// input with id old_id, register the\n\t\t\t\t\t\t// method for the new input.\n\t\t\t\t\t\tfor ( i = 0; i < pfdata.initFunctions[old_id].length; i++ ) {\n\n\t\t\t\t\t\t\t$(this).PageForms_registerInputInit(\n\t\t\t\t\t\t\t\tpfdata.initFunctions[old_id][i].initFunction,\n\t\t\t\t\t\t\t\tpfdata.initFunctions[old_id][i].parameters,\n\t\t\t\t\t\t\t\ttrue //do not yet execute\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// For every validation method for the\n\t\t\t\t\t// input with ID old_id, register it\n\t\t\t\t\t// for the new input.\n\t\t\t\t\tfor ( i = 0; i < pfdata.validationFunctions.length; i++ ) {\n\n\t\t\t\t\t\tif ( typeof pfdata.validationFunctions[i] !== 'undefined' &&\n\t\t\t\t\t\t\tpfdata.validationFunctions[i].input === old_id ) {\n\n\t\t\t\t\t\t\t$(this).PageForms_registerInputValidation(\n\t\t\t\t\t\t\t\tpfdata.validationFunctions[i].valfunction,\n\t\t\t\t\t\t\t\tpfdata.validationFunctions[i].parameters\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t);\n\n\t// datepicker and datetimepicker inputs require special handling.\n\t$new_div.find(\"div.pfPicker\").attr('data-ooui', function() {\n\t\treturn $(this).attr('data-ooui').replace(/\\[num\\]/g, '[' + num_elements + 'b]');\n\t});\n\n\t$new_div.find('a').attr('href', function() {\n\t\t// Make sure not to add a valid \"href\" attribute to <a> tags that don't have it.\n\t\tif ( this.href == undefined || this.href == false ) {\n\t\t\treturn null;\n\t\t}\n\t\treturn this.href.replace(/input_/g, 'input_' + num_elements + '_');\n\t});\n\n\t// Update the 'Upload file' link's data attribute to point to the new input ID.\n\t$new_div.find( '.ext-pageforms-uploadable' ).attr(\n\t\t'data-input-id',\n\t\t( index, attr ) => attr.replace( /input_/g, 'input_' + num_elements + '_' )\n\t);\n\n\t$new_div.find('span').attr('id', function() {\n\t\treturn this.id.replace(/span_/g, 'span_' + num_elements + '_');\n\t});\n\n\t// Add the new instance.\n\tif ( addAboveCurInstance ) {\n\t\t$new_div.insertBefore(this.closest(\".multipleTemplateInstance\"))\n\t\t\t.hide().fadeIn();\n\t} else {\n\t\tthis.closest(\".multipleTemplateWrapper\")\n\t\t\t.find(\".multipleTemplateList\")\n\t\t\t.append($new_div.hide().fadeIn());\n\t}\n\n\t$new_div.initializeJSElements(true);\n\n\t// Initialize new inputs.\n\t$new_div.find(\"input, select, textarea\").each( function() {\n\t\tif ( ! this.id ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst pfdata = $(\"#pfForm\").data('PageForms');\n\t\tif ( ! pfdata ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// have to store data array: the id attribute\n\t\t// of 'this' might be changed in the init function\n\t\tconst thatData = pfdata.initFunctions[this.id] ;\n\t\tif ( !thatData ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Call every initialization method for this input.\n\t\tfor ( let i = 0; i < thatData.length; i++ ) {\n\t\t\tlet initFunction = thatData[i].initFunction;\n\t\t\tif ( initFunction === undefined ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\t// If the code attempted to store this function before\n\t\t\t// it was defined, only its name was stored. In that\n\t\t\t// case, get the function now.\n\t\t\t// @TODO - move getFunctionFromName() so that it can be\n\t\t\t// called from here, which would be better than\n\t\t\t// window[].\n\t\t\tif ( typeof initFunction === 'string' ) {\n\t\t\t\tinitFunction = window[initFunction];\n\t\t\t}\n\t\t\tinitFunction(\n\t\t\t\tthis.id,\n\t\t\t\tthatData[i].parameters\n\t\t\t);\n\t\t}\n\t});\n\n\t// Hook that fires each time a new template instance is added.\n\t// The first parameter is a jQuery selection of the newly created instance div.\n\tmw.hook('pf.addTemplateInstance').fire($new_div);\n};\n\n// The first argument is needed, even though it's an attribute of the element\n// on which this function is called, because it's the 'name' attribute for\n// regular inputs, and the 'origName' attribute for inputs in multiple-instance\n// templates.\n$.fn.setDependentAutocompletion = function( dependentField, baseField, baseValue ) {\n\t// Get data from either Cargo or Semantic MediaWiki.\n\tlet myServer = mw.config.get( 'wgScriptPath' ) + \"/api.php\",\n\t\twgPageFormsCargoFields = mw.config.get( 'wgPageFormsCargoFields' ),\n\t\twgPageFormsFieldProperties = mw.config.get( 'wgPageFormsFieldProperties' );\n\tmyServer += \"?action=pfautocomplete&format=json\";\n\tif ( wgPageFormsCargoFields.hasOwnProperty( dependentField ) ) {\n\t\tconst cargoTableAndFieldStr = wgPageFormsCargoFields[dependentField];\n\t\tconst cargoTableAndField = cargoTableAndFieldStr.split('|');\n\t\tconst cargoTable = cargoTableAndField[0];\n\t\tconst cargoField = cargoTableAndField[1];\n\t\tconst baseCargoTableAndFieldStr = wgPageFormsCargoFields[baseField];\n\t\tconst baseCargoTableAndField = baseCargoTableAndFieldStr.split('|');\n\t\tconst baseCargoTable = baseCargoTableAndField[0];\n\t\tconst baseCargoField = baseCargoTableAndField[1];\n\t\tmyServer += \"&cargo_table=\" + cargoTable + \"&cargo_field=\" + cargoField + \"&is_array=true\" + \"&base_cargo_table=\" + baseCargoTable + \"&base_cargo_field=\" + baseCargoField + \"&basevalue=\" + baseValue;\n\t} else {\n\t\tconst propName = wgPageFormsFieldProperties[dependentField];\n\t\tconst baseProp = wgPageFormsFieldProperties[baseField];\n\t\tmyServer += \"&property=\" + propName + \"&baseprop=\" + baseProp + \"&basevalue=\" + baseValue;\n\t}\n\tconst dependentValues = [];\n\tconst $thisInput = $(this);\n\t// We use $.ajax() here instead of $.getJSON() so that the\n\t// 'async' parameter can be set. That, in turn, is set because\n\t// if the 2nd, \"dependent\" field is a combo box, it can have weird\n\t// behavior: clicking on the down arrow for the combo box leads to a\n\t// \"blur\" event for the base field, which causes the possible\n\t// values to get recalculated, but not in time for the dropdown to\n\t// change values - it still shows the old values. By setting\n\t// \"async: false\", we guarantee that old values won't be shown - if\n\t// the values haven't been recalculated yet, the dropdown won't\n\t// appear at all.\n\t// @TODO - handle this the right way, by having special behavior for\n\t// the dropdown - it should get delayed until the values are\n\t// calculated, then appear.\n\t$.ajax({\n\t\turl: myServer,\n\t\tdataType: 'json',\n\t\tasync: false,\n\t\tsuccess: function(data) {\n\t\t\tconst realData = data.pfautocomplete;\n\t\t\t$.each(realData, (key, val) => {\n\t\t\t\tdependentValues.push(val.title);\n\t\t\t});\n\t\t\t$thisInput.data('autocompletevalues', dependentValues);\n\t\t}\n\t});\n};\n\n/**\n * Called on a 'base' field (e.g., for a country) - sets the autocompletion\n * for its 'dependent' field (e.g., for a city).\n *\n * @param {Mixed} partOfMultiple\n * @return {Mixed}\n */\n$.fn.setAutocompleteForDependentField = function( partOfMultiple ) {\n\tconst curValue = $(this).val();\n\tif ( curValue === null ) {\n\t\treturn this;\n\t}\n\n\tconst nameAttr = partOfMultiple ? 'origName' : 'name';\n\tconst name = $(this).attr(nameAttr);\n\tconst wgPageFormsDependentFields = mw.config.get( 'wgPageFormsDependentFields' );\n\tlet dependent_on_me = [];\n\tfor ( let i = 0; i < wgPageFormsDependentFields.length; i++ ) {\n\t\tconst dependentFieldPair = wgPageFormsDependentFields[i];\n\t\tif ( dependentFieldPair[0] === name ) {\n\t\t\tdependent_on_me.push(dependentFieldPair[1]);\n\t\t}\n\t}\n\tdependent_on_me = $.uniqueSort(dependent_on_me);\n\n\tconst self = this;\n\t$.each( dependent_on_me, function() {\n\t\tlet $element, cmbox, tokens,\n\t\t\tdependentField = this;\n\n\t\tif ( partOfMultiple ) {\n\t\t\t$element = $( self ).closest( '.multipleTemplateInstance' )\n\t\t\t\t.find('[origName=\"' + dependentField + '\"]');\n\t\t} else {\n\t\t\t$element = $('[name=\"' + dependentField + '\"]');\n\t\t}\n\n\t\tif ( $element.hasClass( 'pfTokens' ) ) {\n\t\t\ttokens = new pf.select2.tokens();\n\t\t\ttokens.refresh($element);\n\t\t} else {\n\t\t\t$element.setDependentAutocompletion(dependentField, name, curValue);\n\t\t}\n\t});\n\n\treturn this;\n};\n\n/**\n * Initialize all the JS-using elements contained within this block - can be\n * called for either the entire HTML body, or for a div representing an\n * instance of a multiple-instance template.\n *\n * @param {Mixed} partOfMultiple\n */\n$.fn.initializeJSElements = function( partOfMultiple ) {\n\tthis.find(\".pfShowIfSelected\").each( function() {\n\t\t// Avoid duplicate calls on any one element.\n\t\tif ( !partOfMultiple && $(this).parents('.multipleTemplateWrapper').length > 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Don't call this for combobox inputs, except when a new\n\t\t// multiple-instance template instance is created - in all\n\t\t// other cases, their \"show on select\" is triggered separately.\n\t\tif ( $(this).attr( 'data-input-type' ) == 'combobox' ) {\n\t\t\tif ( partOfMultiple ) {\n\t\t\t\t$(this).showIfSelected(true, true)\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\t$(this)\n\t\t.showIfSelected(partOfMultiple, true)\n\t\t.change( function() {\n\t\t\t$(this).showIfSelected(partOfMultiple, false);\n\t\t});\n\t});\n\n\tthis.find(\".pfShowIfChecked\").each( function() {\n\t\t// Avoid duplicate calls on any one element.\n\t\tif ( !partOfMultiple && $(this).parents('.multipleTemplateWrapper').length > 0 ) {\n\t\t\treturn;\n\t\t}\n\t\t$(this)\n\t\t.showIfChecked(partOfMultiple, true)\n\t\t.click( function() {\n\t\t\t$(this).showIfChecked(partOfMultiple, false);\n\t\t});\n\t});\n\n\tthis.find(\".pfShowIfCheckedCheckbox\").each( function() {\n\t\t// Avoid duplicate calls on any one element.\n\t\tif ( !partOfMultiple && $(this).parents('.multipleTemplateWrapper').length > 0 ) {\n\t\t\treturn;\n\t\t}\n\t\t$(this)\n\t\t.showIfCheckedCheckbox(partOfMultiple, true)\n\t\t.click( function() {\n\t\t\t$(this).showIfCheckedCheckbox(partOfMultiple, false);\n\t\t});\n\t});\n\n\tif ( partOfMultiple ) {\n\t\t// Enable the new remove button\n\t\tthis.find(\".removeButton\").click( function() {\n\n\t\t\t// Unregister initialization and validation for deleted inputs\n\t\t\t$(this).parentsUntil( '.multipleTemplateInstance' ).last().parent().find(\"input, select, textarea\").each( function() {\n\t\t\t\t$(this).PageForms_unregisterInputInit();\n\t\t\t\t$(this).PageForms_unregisterInputValidation();\n\t\t\t});\n\n\t\t\t// Remove the encompassing div for this instance.\n\t\t\t$(this).closest(\".multipleTemplateInstance\")\n\t\t\t.fadeTo('fast', 0, function() {\n\t\t\t\t$(this).slideUp('fast', function() {\n\t\t\t\t\t$(this).remove();\n\t\t\t\t});\n\t\t\t});\n\t\t\treturn false;\n\t\t});\n\n\t\t// ...and the new adder\n\t\tthis.find('.addAboveButton').click( function() {\n\t\t\t$(this).addInstance( true );\n\t\t\treturn false; // needed to disable <a> behavior\n\t\t});\n\t}\n\n\tthis.find('.pfComboBox').not('.multipleTemplateStarter .pfComboBox').each(function(){\n\t\tconst min_width = $(this).data('size');\n\t\tconst input_width = $(this).val().length*11;\n\t\tconst inputType = new pf.ComboBoxInput({});\n\t\tinputType.apply($(this));\n\t\tinputType.$element.css(\"width\", input_width > min_width ? input_width : min_width);\n\t\tinputType.$element.css(\"min-width\", min_width);\n\t\tinputType.$element.find(\"a\").css(\"margin-left\", \"-1px\");\n\t\t$(this).after(inputType.$element);\n\t\t$(this).remove()\n\t});\n\n\tconst tokens = new pf.select2.tokens();\n\tthis.find('.pfTokens').not('.multipleTemplateStarter .pfTokens, .select2-container').each( function() {\n\t\ttokens.apply($(this));\n\t});\n\n\t// Set the end date input to the value selected in start date\n\tthis.find(\"span.startDateInput\").not(\".hiddenByPF\").find(\"input\").last().blur( () => {\n\t\tconst endInput = $(this).find(\"span.endDateInput\").not(\".hiddenByPF\");\n\t\tconst endYearInput = endInput.find(\".yearInput\");\n\t\tconst endMonthInput = endInput.find(\".monthInput\");\n\t\tconst endDayInput = endInput.find(\".dayInput\");\n\n\t\t// Update end date value only if it is not set\n\t\tif (endYearInput.val() == '' && endMonthInput.val() == '' && endDayInput.val() == ''){\n\t\t\tconst startInput = $(this);\n\t\t\tconst startYearVal = startInput.find(\".yearInput\").val();\n\t\t\tconst startMonthVal = startInput.find(\".monthInput\").val();\n\t\t\tconst startDayVal = startInput.find(\".dayInput\").val();\n\n\t\t\tendYearInput.val(startYearVal);\n\t\t\tendMonthInput.val(startMonthVal);\n\t\t\tendDayInput.val(startDayVal);\n\t\t}\n\t});\n\n\tif ( partOfMultiple ) {\n\t\tthis.find('.autoGrow').autoGrow();\n\t\tthis.find(\".pfRating\").each( function() {\n\t\t\t$(this).applyRatingInput();\n\t\t});\n\t\tthis.find(\".pfTreeInput\").each( function() {\n\t\t\t$(this).applyJSTree();\n\t\t});\n\t\tthis.find('.pfDatePicker').applyDatePicker();\n\t\tthis.find('.pfDateTimePicker').applyDateTimePicker();\n\t\tthis.find('a.popupformlink').click(function(evt){\n\t\t\treturn ext.popupform.handlePopupFormLink( this.getAttribute('href'), this );\n\t\t});\n\t\t// Only defined if $wgPageFormsSimpleUpload == true.\n\t\tif ( typeof this.initializeSimpleUpload === 'function' ) {\n\t\t\tthis.find(\".simpleUploadInterface\").each( function() {\n\t\t\t\t$(this).initializeSimpleUpload();\n\t\t\t});\n\t\t}\n\n\t\t// Also add support in new template instances to any non-Page\n\t\t// Forms classes that require special JS handling.\n\t\tthis.find('.mw-collapsible').makeCollapsible();\n\t} else {\n\t\tthis.find('.autoGrow').not('.multipleTemplateWrapper .autoGrow').autoGrow();\n\t\tthis.find(\".pfRating\").not(\".multipleTemplateWrapper .pfRating\").each( function() {\n\t\t\t$(this).applyRatingInput();\n\t\t});\n\t\tthis.find(\".pfTreeInput\").not(\".multipleTemplateWrapper .pfTreeInput\").each( function() {\n\t\t\t$(this).applyJSTree();\n\t\t});\n\t\tthis.find('.pfDatePicker').not(\".multipleTemplateWrapper .pfDatePicker\").applyDatePicker();\n\t\tthis.find('.pfDateTimePicker').not(\".multipleTemplateWrapper .pfDateTimePicker\").applyDateTimePicker();\n\t\t// Only defined if $wgPageFormsSimpleUpload == true.\n\t\tif ( typeof this.initializeSimpleUpload === 'function' ) {\n\t\t\tthis.find(\".simpleUploadInterface\").not(\".multipleTemplateWrapper .simpleUploadInterface\").each( function() {\n\t\t\t\t$(this).initializeSimpleUpload();\n\t\t\t});\n\t\t}\n\t}\n\n\t// @TODO - this should ideally be called only for inputs that have\n\t// a dependent field - which might involve changing the storage of\n\t// \"dependent fields\" information from a global variable to a\n\t// per-input HTML attribute.\n\tthis.find('input, select').each( function() {\n\t\t$(this)\n\t\t.setAutocompleteForDependentField( partOfMultiple )\n\t\t.blur( function() {\n\t\t\t$(this).setAutocompleteForDependentField( partOfMultiple );\n\t\t});\n\t});\n\t// The 'blur' event doesn't get triggered for radio buttons for\n\t// Chrome and Safari (the WebKit-based browsers) so use the 'change'\n\t// event in addition.\n\t// @TODO - blur() shuldn't be called at all for radio buttons.\n\tthis.find('input:radio')\n\t\t.change( function() {\n\t\t\t$(this).setAutocompleteForDependentField( partOfMultiple );\n\t\t});\n\n\tthis.find('.new-uuid').each( function() {\n\t\t$(this).val(window.pfGenerateUUID());\n\t});\n\n\tthis.find('[data-tooltip]').not('.multipleTemplateStarter [data-tooltip]').each( function() {\n\t\t// Even if it's within a <th>, display the text unbolded.\n\t\tconst tooltipText = '<p style=\"font-weight: normal;\">' + $(this).attr('data-tooltip') + '</p>';\n\t\tconst tooltip = new OO.ui.PopupButtonWidget( {\n\t\t\ticon: 'info',\n\t\t\tframed: false,\n\t\t\tpopup: {\n\t\t\t\tpadded: true,\n\t\t\t\t$content: $(tooltipText)\n\t\t\t}\n\t\t} );\n\t\t$(this).append( tooltip.$element )\n\t});\n\n\tconst $myThis = this;\n\tif ( $.fn.applyVisualEditor ) {\n\t\tif ( partOfMultiple ) {\n\t\t\t$myThis.find(\".visualeditor\").applyVisualEditor();\n\t\t} else {\n\t\t\t$myThis.find(\".visualeditor\").not(\".multipleTemplateWrapper .visualeditor\").applyVisualEditor();\n\t\t}\n\t} else {\n\t\t$(document).on('VEForAllLoaded', (e) => {\n\t\t\tif ( partOfMultiple ) {\n\t\t\t\t$myThis.find(\".visualeditor\").applyVisualEditor();\n\t\t\t} else {\n\t\t\t\t$myThis.find(\".visualeditor\").not(\".multipleTemplateWrapper .visualeditor\").applyVisualEditor();\n\t\t\t}\n\t\t});\n\t}\n\n\t// @TODO - this should be in the TinyMCE extension, and use a hook.\n\tif ( typeof( mwTinyMCEInit ) === 'function' ) {\n\t\tif ( partOfMultiple ) {\n\t\t\t$myThis.find(\".tinymce\").each( function() {\n\t\t\t\tmwTinyMCEInit( '#' + $(this).attr('id') );\n\t\t\t});\n\t\t} else {\n\t\t\t$myThis.find(\".tinymce\").not(\".multipleTemplateWrapper .tinymce\").each( function() {\n\t\t\t\tmwTinyMCEInit( '#' + $(this).attr('id') );\n\t\t\t});\n\t\t}\n\t} else {\n\t\t$(document).on('TinyMCELoaded', (e) => {\n\t\t\tif ( partOfMultiple ) {\n\t\t\t\t$myThis.find(\".tinymce\").each( function() {\n\t\t\t\t\tmwTinyMCEInit( '#' + $(this).attr('id') );\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\t$myThis.find(\".tinymce\").not(\".multipleTemplateWrapper .tinymce\").each( function() {\n\t\t\t\t\tmwTinyMCEInit( '#' + $(this).attr('id') );\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n};\n\n// Copied from https://stackoverflow.com/a/8809472\n// License: public domain/MIT\nwindow.pfGenerateUUID = function() {\n\tlet d = Date.now();\n\tlet d2 = (performance && performance.now && (performance.now() * 1000)) || 0; // Time in microseconds since page-load or 0 if unsupported\n\treturn 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n\t\tlet r = Math.random() * 16; // random number between 0 and 16\n\t\tif (d > 0) { // Use timestamp until depleted\n\t\t\tr = (d + r) % 16 | 0; // eslint-disable-line no-bitwise\n\t\t\td = Math.floor(d / 16);\n\t\t} else { // Use microseconds since page-load if supported\n\t\t\tr = (d2 + r) % 16 | 0; // eslint-disable-line no-bitwise\n\t\t\td2 = Math.floor(d2 / 16);\n\t\t}\n\t\treturn (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16); // eslint-disable-line no-bitwise\n\t});\n}\n\n// Once the document has finished loading, set up everything!\n$( () => {\n\tlet i,\n\t\tinputID,\n\t\tvalidationFunctionData;\n\n\tfunction getFunctionFromName( functionName ) {\n\t\tlet func = window;\n\t\tconst namespaces = functionName.split( \".\" );\n\t\tfor ( let nsNum = 0; nsNum < namespaces.length; nsNum++ ) {\n\t\t\tfunc = func[ namespaces[ nsNum ] ];\n\t\t}\n\t\t// If this gets called before the function is defined, just\n\t\t// store the function name instead, for later lookup.\n\t\tif ( func === null ) {\n\t\t\treturn functionName;\n\t\t}\n\t\treturn func;\n\t}\n\n\t// Exit now if a Page Forms form is not present.\n\tif ( $('#pfForm').length === 0 ) {\n\t\treturn;\n\t}\n\n\tfunction minimizeInstances( minHeight ) {\n\t\tif ( minHeight >= 0) {\n\t\t\t$('.multipleTemplateList').each( function() {\n\t\t\t\tif ( $(this).height() > minHeight ) {\n\t\t\t\t\t$(this).addClass('minimizeAll');\n\t\t\t\t\t$(this).possiblyMinimizeAllOpenInstances();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\t// jQuery's .ready() function is being called before the resource was actually loaded.\n\t// This is a workaround for https://phabricator.wikimedia.org/T216805.\n\tsetTimeout( () => {\n\t\t// \"Mask\" to prevent users from clicking while form is still loading.\n\t\t$('#loadingMask').css({'width': $(document).width(),'height': $(document).height()});\n\n\t\t// register init functions\n\t\tconst initFunctionData = mw.config.get( 'ext.pf.initFunctionData' );\n\t\tfor ( inputID in initFunctionData ) {\n\t\t\tfor ( i in initFunctionData[inputID] ) {\n\t\t\t\t/*jshint -W069 */\n\t\t\t\t$( '#' + inputID ).PageForms_registerInputInit( getFunctionFromName( initFunctionData[ inputID ][ i ][ 'name' ] ), initFunctionData[ inputID ][ i ][ 'param' ] );\n\t\t\t\t/*jshint +W069 */\n\t\t\t}\n\t\t}\n\n\t\t// register validation functions\n\t\tvalidationFunctionData = mw.config.get( 'ext.pf.validationFunctionData' );\n\t\tfor ( inputID in validationFunctionData ) {\n\t\t\tfor ( i in validationFunctionData[inputID] ) {\n\t\t\t\t/*jshint -W069 */\n\t\t\t\t$( '#' + inputID ).PageForms_registerInputValidation( getFunctionFromName( validationFunctionData[ inputID ][ i ][ 'name' ] ), validationFunctionData[ inputID ][ i ][ 'param' ] );\n\t\t\t\t/*jshint +W069 */\n\t\t\t}\n\t\t}\n\n\t\t$( 'body' ).initializeJSElements(false);\n\n\t\t$('.multipleTemplateInstance').each( function() {\n\t\t\t$(this).initializeJSElements(true);\n\t\t});\n\t\t$('.multipleTemplateAdder').click( function() {\n\t\t\t$(this).addInstance( false );\n\t\t});\n\t\tconst wgPageFormsHeightForMinimizingInstances = mw.config.get( 'wgPageFormsHeightForMinimizingInstances' );\n\t\tminimizeInstances( wgPageFormsHeightForMinimizingInstances );\n\n\t\t$('.multipleTemplateList').each( function() {\n\t\t\tconst $list = $(this);\n\t\t\tconst sortable = Sortable.create($list[0], {\n\t\t\t\thandle: '.instanceRearranger',\n\t\t\t\tonStart: function(/**Event*/evt) {\n\t\t\t\t\t$list.possiblyMinimizeAllOpenInstances();\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\t// If the Header Tabs extension is being used in this form, minimize all the\n\t\t// relevant instances any time the tab is changed.\n\t\tif ( $( \"#headertabs\" ).length ) {\n\t\t\t$( \".oo-ui-tabOptionWidget\" ).on( 'click', ( event ) => {\n\t\t\t\tminimizeInstances( wgPageFormsHeightForMinimizingInstances );\n\t\t\t});\n\t\t}\n\n\t\t// If there are any \"wizard screen\" elements defined in the\n\t\t// form, turn the whole form into a wizard, with successive\n\t\t// screens for each element.\n\t\tconst $wizardScreens = $('form#pfForm').find('div.pf-wizard-screen');\n\t\tif ( $wizardScreens.length > 0 ) {\n\t\t\tconst $wizardNav = $('<div class=\"pf-wizard-navigation\"></div>');\n\t\t\t$('form#pfForm').append( $wizardNav );\n\t\t\t$wizardScreens.displayWizardScreen( 1, $wizardNav );\n\t\t}\n\n\t\t// If the form is submitted, validate everything!\n\t\t$('#pfForm').submit( () => validateAll() );\n\n\t\t// We are all done - remove the loading spinner.\n\t\t$('.loadingImage').remove();\n\t}, 0 );\n\n\tmw.hook('pf.formSetupAfter').fire();\n});\n\n// If some part of the form is clicked, minimize any multiple-instance\n// template instances that need minimizing, and move the \"focus\" to the current\n// instance list, if one is being clicked and it's different from the\n// previous one.\n// We make only the form itself clickable, instead of the whole screen, to\n// try to avoid a click on a popup, like the \"Upload file\" window, minimizing\n// the current open instance.\n$('form#pfForm').click( (e) => {\n\tconst $target = $(e.target);\n\t// Ignore the \"add instance\" buttons - those get handling of their own.\n\tconst clickedOnAddAnother = $target.parents('.multipleTemplateAdder').length > 0;\n\tif ( clickedOnAddAnother || $target.hasClass('addAboveButton') ) {\n\t\treturn;\n\t}\n\n\tconst $instance = $target.closest('.multipleTemplateInstance');\n\tif ( $instance === null ) {\n\t\t$('.multipleTemplateList.currentFocus')\n\t\t\t.removeClass('currentFocus')\n\t\t\t.possiblyMinimizeAllOpenInstances();\n\t\treturn;\n\t}\n\n\tconst $instancesList = $instance.closest('.multipleTemplateList');\n\tif ( !$instancesList.hasClass('currentFocus') ) {\n\t\t$('.multipleTemplateList.currentFocus')\n\t\t\t.removeClass('currentFocus')\n\t\t\t.possiblyMinimizeAllOpenInstances();\n\t\tif ( $instancesList.hasClass('minimizeAll') ) {\n\t\t\t$instancesList.addClass('currentFocus');\n\t\t}\n\t}\n\n\tif ( $instance.hasClass('minimized') ) {\n\t\t$instancesList.possiblyMinimizeAllOpenInstances();\n\t\t$instance.removeClass('minimized');\n\t\t$instance.find('.fieldValuesDisplay').html('');\n\t\t$instance.find('.instanceMain').fadeIn();\n\t\t$instance.find('.fieldValuesDisplay').remove();\n\t\t// Remove unhelpful styling added by VisualEditor.\n\t\t$instance.find('div.oo-ui-toolbar-bar').css('left', null);\n\t\t$instance.find('div.oo-ui-toolbar-bar').css('right', null);\n\t}\n});\n\n$('#pf-expand-all a').click(( event ) => {\n\tevent.preventDefault();\n\n\t// Page Forms minimized template instances.\n\t$('.minimized').each( function() {\n\t\t$(this).removeClass('minimized');\n\t\t$(this).find('.fieldValuesDisplay').html('');\n\t\t$(this).find('.instanceMain').fadeIn();\n\t\t$(this).find('.fieldValuesDisplay').remove();\n\t\t// Remove unhelpful styling added by VisualEditor.\n\t\t$(this).find('div.oo-ui-toolbar-bar').css('left', null);\n\t\t$(this).find('div.oo-ui-toolbar-bar').css('right', null);\n\t});\n\n\t// Standard MediaWiki \"collapsible\" sections.\n\t$('div.mw-collapsed a.mw-collapsible-text').click();\n});\n\n$('.pfSendBack').click( () => {\n\twindow.history.back();\n});\n\n}( jQuery, mediaWiki ) );\n","usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/libs/ext.pf.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/libs/ext.pf.select2.base.js","messages":[{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":40,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":40,"endColumn":78},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":44,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":44,"endColumn":36},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":47,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":47,"endColumn":43},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":53,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":53,"endColumn":42},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":58,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":58,"endColumn":63},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":65,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":68,"endColumn":8},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":72,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":72,"endColumn":69},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":78,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":78,"endColumn":46},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":79,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":79,"endColumn":23},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":86,"column":7,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":86,"endColumn":98},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":92,"column":8,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":92,"endColumn":73},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":123,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":123,"endColumn":35},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":124,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":124,"endColumn":51},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":125,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":125,"endColumn":47},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":127,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":127,"endColumn":85},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":128,"column":10,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":128,"endColumn":19},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":129,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":129,"endColumn":62},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":146,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":146,"endColumn":45},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":147,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":147,"endColumn":43},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":148,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":148,"endColumn":31},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":150,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":150,"endColumn":85},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":151,"column":10,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":151,"endColumn":19},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":152,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":152,"endColumn":62},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":193,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":193,"endColumn":35},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":194,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":194,"endColumn":30},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":195,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":195,"endColumn":22},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":217,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":217,"endColumn":35},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":218,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":218,"endColumn":33},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":240,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":248,"endColumn":6},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":255,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":255,"endColumn":94},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":257,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":257,"endColumn":45},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":258,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":258,"endColumn":43},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":289,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":289,"endColumn":8352},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":297,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":297,"endColumn":20},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":298,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":298,"endColumn":73},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":299,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":299,"endColumn":49},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":300,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":300,"endColumn":49},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":301,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":301,"endColumn":90},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":310,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":310,"endColumn":46},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":311,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":311,"endColumn":44},{"ruleId":"unicorn/prefer-string-slice","severity":1,"message":"Prefer `String#slice()` over `String#substr()`.","line":313,"column":6,"nodeType":"CallExpression","messageId":"substr","endLine":313,"endColumn":36},{"ruleId":"unicorn/prefer-string-slice","severity":1,"message":"Prefer `String#slice()` over `String#substr()`.","line":314,"column":6,"nodeType":"CallExpression","messageId":"substr","endLine":314,"endColumn":51}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":42,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/*\n * ext.pf.select2.base.js\n *\n * Base class to handle autocomplete for various input types using the Select2\n * JS library.\n *\n * @file\n *\n * @licence GNU GPL v2+\n * @author Jatin Mehta\n * @author Priyanshu Varshney\n * @author Yaron Koren\n */\n\n( function ( $, mw, pf ) {\n\t'use strict';\n\t/**\n\t * Inheritance class for the pf.select2 constructor\n\t *\n\t * @class\n\t */\n\tpf.select2 = pf.select2 || {};\n\n\t/**\n\t * @class\n\t * @constructor\n\t */\n\tpf.select2.base = function() {\n\n\t};\n\n\tpf.select2.base.prototype = {\n\t\t/*\n\t\t * Applies select2 to the HTML element\n\t\t *\n\t\t * @param {HTMLElement} element\n\t\t *\n\t\t */\n\t\tapply: function( element ) {\n\t\t\tconst existingValuesOnly = (element.attr(\"existingvaluesonly\") == \"true\");\n\t\t\tthis.existingValuesOnly = existingValuesOnly;\n\t\t\tthis.id = element.attr( \"id\" );\n\t\t\ttry {\n\t\t\t\tconst opts = this.setOptions();\n\t\t\t\t// element.val() would be simpler, but for some\n\t\t\t\t// reason it returns the wrong value.\n\t\t\t\tlet origValue = element.attr('value');\n\t\t\t\t// We call empty() in case this input was\n\t\t\t\t// modified due to \"values dependent on\", and\n\t\t\t\t// the old set of allowed values needs to\n\t\t\t\t// be removed.\n\t\t\t\telement.empty();\n\t\t\t\tconst $input = element.select2(opts);\n\n\t\t\t\t// We need an empty string as the first option; otherwise,\n\t\t\t\t// if it's non-empty string, Select2 might pick it and\n\t\t\t\t// display it as its value even if we remove it.\n\t\t\t\tconst newEmptyOption = new Option( \"\", \"\", false, false );\n\t\t\t\t$input.append(newEmptyOption).trigger('change');\n\n\t\t\t\tif ( origValue === undefined ) {\n\t\t\t\t\torigValue = \"\";\n\t\t\t\t}\n\t\t\t\tif ( this.getAutocompleteOpts().autocompletedatatype !== undefined && this.dependentOn() === null ) {\n\t\t\t\t\tconst data = {\n\t\t\t\t\t\tid: origValue,\n\t\t\t\t\t\ttext: origValue\n\t\t\t\t\t};\n\t\t\t\t\t// This is needed after the empty() call,\n\t\t\t\t\t// to create an option element to restore\n\t\t\t\t\t// correct value in remote autocompletion.\n\t\t\t\t\tconst newOption = new Option(data.text, data.id, false, false);\n\t\t\t\t\t$input.append(newOption).trigger('change');\n\t\t\t\t}\n\t\t\t\t// This is required so that the existing value\n\t\t\t\t// can be displayed.\n\t\t\t\t$input.val(origValue).trigger('change');\n\t\t\t\tconst inputData = $input.data(\"select2\");\n\t\t\t\tlet rawValue = \"\";\n\n\t\t\t\t$(inputData.dropdown.$searchContainer).on(\"keydown\",(e) => {\n\t\t\t\t\tif ( existingValuesOnly ) {\n\t\t\t\t\t\treturn ;\n\t\t\t\t\t}\n\t\t\t\t\tif ( e.keyCode === 9 ) { // Tab.\n\t\t\t\t\t\tconst valHighlighted = inputData.$results.find('.select2-results__option--highlighted')[0];\n\t\t\t\t\t\tif ( valHighlighted !== undefined ){\n\t\t\t\t\t\t\trawValue = valHighlighted.textContent;\n\t\t\t\t\t\t};\n\t\t\t\t\t\tif ( !$input.find( \"option[value='\" + rawValue + \"']\" ).length ) {\n\t\t\t\t\t\t\t// Does this ever get called?\n\t\t\t\t\t\t\tconst newOption = new Option( rawValue, rawValue, false, false );\n\t\t\t\t\t\t\t$input.append(newOption).trigger( 'change' );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( rawValue !== '' ) {\n\t\t\t\t\t\t\t$input.val(rawValue).trigger(\"change\");\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\telement.on( \"change\", this.onChange );\n\t\t\t} catch (e) {\n\t\t\t\twindow.console.log(e);\n\t\t\t}\n\t\t},\n\t\t/*\n\t\t * Used to remove the Select2 applied to the HTML element;\n\t\t * the selected value will remain preserved.\n\t\t *\n\t\t * @param {HTMLElement} element\n\t\t *\n\t\t */\n\t\tdestroy: function( element ) {\n\t\t\telement.select2( \"destroy\" );\n\t\t},\n\t \t/*\n\t\t * If a field is dependent on some other field in the form\n\t\t * then it returns its name.\n\t\t *\n\t\t * @return {string}\n\t\t *\n\t\t */\n\t\tdependentOn: function() {\n\t\t\tconst input_id = \"#\" + this.id;\n\t\t\tconst name_attr = this.nameAttr( $(input_id) );\n\t\t\tconst name = $(input_id).attr( name_attr );\n\n\t\t\tconst wgPageFormsDependentFields = mw.config.get( 'wgPageFormsDependentFields' );\n\t\t\tfor ( let i = 0; i < wgPageFormsDependentFields.length; i++ ) {\n\t\t\t\tconst dependentFieldPair = wgPageFormsDependentFields[i];\n\t\t\t\tif ( dependentFieldPair[1] === name ) {\n\t\t\t\t\treturn dependentFieldPair[0];\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\t\t/*\n\t\t * Returns the array of names of fields in the form which are dependent\n\t\t * on the field passed as a param to this function,\n\t\t *\n\t\t * @param {HTMLElement} element\n\t\t *\n\t\t * @return {associative array} dependent_on_me\n\t\t *\n\t\t */\n\t\tdependentOnMe: function( element ) {\n\t\t\tconst name_attr = this.nameAttr(element);\n\t\t\tconst name = element.attr( name_attr );\n\t\t\tconst dependent_on_me = [];\n\n\t\t\tconst wgPageFormsDependentFields = mw.config.get( 'wgPageFormsDependentFields' );\n\t\t\tfor ( let i = 0; i < wgPageFormsDependentFields.length; i++ ) {\n\t\t\t\tconst dependentFieldPair = wgPageFormsDependentFields[i];\n\t\t\t\tif ( dependentFieldPair[0] === name ) {\n\t\t\t\t\tdependent_on_me.push(dependentFieldPair[1]);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn dependent_on_me;\n\t\t},\n\t\t/*\n\t\t * Returns the name attribute of the field depending on\n\t\t * whether it is a part of a multiple instance template or not\n\t\t *\n\t\t * @param {HTMLElement} element\n\t\t *\n\t\t * @return {string}\n\t\t *\n\t\t */\n\t\tnameAttr: function( element ) {\n\t\t\treturn this.partOfMultiple( element ) ? \"origname\" : \"name\";\n\t\t},\n\t\t/*\n\t\t * Checks whether the field is part of a multiple instance template or not\n\t\t *\n\t\t * @param {HTMLElement} element\n\t\t *\n\t\t * @return {boolean}\n\t\t *\n\t\t */\n\t\tpartOfMultiple: function( element ) {\n\t\t\treturn element.attr( \"origname\" ) !== undefined ? true : false;\n\t\t},\n\t\t/*\n\t\t * Gives dependent field options which include\n\t\t * property, base property and base value\n\t\t *\n\t\t * @param {string} dep_on\n\t\t *\n\t\t * @return {object} dep_field_opts\n\t\t *\n\t\t */\n\t\tgetDependentFieldOpts: function( dep_on ) {\n\t\t\tconst input_id = \"#\" + this.id;\n\t\t\tconst dep_field_opts = {};\n\t\t\tlet $base_element;\n\n\t\t\tif ( this.partOfMultiple($(input_id)) ) {\n\t\t\t\t$base_element = $(input_id).closest( \".multipleTemplateInstance\" )\n\t\t\t\t\t.find( '[origname =\"' + dep_on + '\" ]' );\n\t\t\t} else {\n\t\t\t\t$base_element = $('[name =\"' + dep_on + '\" ]');\n\t\t\t}\n\t\t\tdep_field_opts.base_value = $base_element.val();\n\t\t\tdep_field_opts.base_prop = mw.config.get( 'wgPageFormsFieldProperties' )[dep_on] ||\n\t\t\t\t$base_element.attr( \"autocompletesettings\" );\n\t\t\tdep_field_opts.prop = $(input_id).attr( \"autocompletesettings\" ).split( \",\" )[0];\n\n\t\t\treturn dep_field_opts;\n\t\t},\n\t\t/*\n\t\t * Gives autocomplete options for a field\n\t\t *\n\t\t * @return {object} autocomplete_opts\n\t\t *\n\t\t */\n\t\tgetAutocompleteOpts: function() {\n\t\t\tconst input_id = \"#\" + this.id;\n\t\t\tconst autocomplete_opts = {};\n\n\t\t\tif ( $(input_id).attr( \"autocompletesettings\" ) === undefined ) {\n\t\t\t\tthrow \"Error: No autocomplete settings set for input \" + input_id;\n\t\t\t}\n\n\t\t\tautocomplete_opts.autocompletedatatype = $(input_id).attr( \"autocompletedatatype\" );\n\t\t\tautocomplete_opts.autocompletesettings = $(input_id).attr( \"autocompletesettings\" );\n\t\t\treturn autocomplete_opts;\n\t\t},\n\n\t\t/**\n\t\t * Escape out any HTML, and then add our own HTML to display\n\t\t * the correct bolding.\n\t\t * The first part of this function is directly copied from\n\t\t * Utils::escapeMarkup() in the Select2 code. @TODO: figure out\n\t\t * how to just call that code directly.\n\t\t *\n\t\t * @param {Mixed} markup\n\t\t * @return {Mixed}\n\t\t */\n\t\tescapeMarkupAndAddHTML: function( markup ) {\n\t\t\tconst replaceMap = {\n\t\t\t\t'\\\\': '&#92;',\n\t\t\t\t'&': '&amp;',\n\t\t\t\t'<': '&lt;',\n\t\t\t\t'>': '&gt;',\n\t\t\t\t'\"': '&quot;',\n\t\t\t\t'\\'': '&#39;',\n\t\t\t\t'/': '&#47;'\n\t\t\t};\n\n\t\t\t// Do not try to escape the markup if it's not a string\n\t\t\tif (typeof markup !== 'string') {\n\t\t\t\treturn markup;\n\t\t\t}\n\n\t\t\tconst escapedMarkup = String(markup).replace(/[&<>\"'\\/\\\\]/g, (match) => replaceMap[match])\n\n\t\t\tconst boldStart = String.fromCharCode(1);\n\t\t\tconst boldEnd = String.fromCharCode(2);\n\t\t\treturn '<span class=\"select2-match-entire\">' +\n\t\t\t\tescapedMarkup\n\t\t\t\t.replace(boldStart, '<span class=\"select2-match\"><b>')\n\t\t\t\t.replace(boldEnd, '</b></span>') +\n\t\t\t\t'</span>';\n\t\t},\n\n\t\t/*\n\t\t * Refreshes the field if there is a change\n\t\t * in the autocomplete values.\n\t\t *\n\t\t * @param {HTMLElement} element\n\t\t *\n\t\t */\n\t\trefresh: function( element ) {\n\t\t\tthis.destroy($(element));\n\t\t\tthis.apply($(element));\n\t\t},\n\t\t/*\n\t\t * Removes diacritics from the string and replaces\n\t\t * them with English characters.\n\t\t * This code is basically copied from:\n\t\t * http://jpfiddle.net/potherca/Gtmr2/\n\t\t *\n\t\t * @param {string} text\n\t\t *\n\t\t * @return {string}\n\t\t *\n\t\t */\n\t\tremoveDiacritics: function( text ) {\n\t\t\tconst diacriticsMap = { 'Á': 'A', 'Ă': 'A', 'Ắ': 'A', 'Ặ': 'A', 'Ằ': 'A', 'Ẳ': 'A', 'Ẵ': 'A', 'Ǎ': 'A', 'Â': 'A', 'Ấ': 'A', 'Ậ': 'A', 'Ầ': 'A', 'Ẩ': 'A', 'Ẫ': 'A', 'Ä': 'A', 'Ǟ': 'A', 'Ȧ': 'A', 'Ǡ': 'A', 'Ạ': 'A', 'Ȁ': 'A', 'À': 'A', 'Ả': 'A', 'Ȃ': 'A', 'Ā': 'A', 'Ą': 'A', 'Å': 'A', 'Ǻ': 'A', 'Ḁ': 'A', 'Ⱥ': 'A', 'Ã': 'A', 'Ꜳ': 'AA', 'Æ': 'AE', 'Ǽ': 'AE', 'Ǣ': 'AE', 'Ꜵ': 'AO', 'Ꜷ': 'AU', 'Ꜹ': 'AV', 'Ꜻ': 'AV', 'Ꜽ': 'AY', 'Ḃ': 'B', 'Ḅ': 'B', 'Ɓ': 'B', 'Ḇ': 'B', 'Ƀ': 'B', 'Ƃ': 'B', 'Ć': 'C', 'Č': 'C', 'Ç': 'C', 'Ḉ': 'C', 'Ĉ': 'C', 'Ċ': 'C', 'Ƈ': 'C', 'Ȼ': 'C', 'Ď': 'D', 'Ḑ': 'D', 'Ḓ': 'D', 'Ḋ': 'D', 'Ḍ': 'D', 'Ɗ': 'D', 'Ḏ': 'D', 'Dz': 'D', 'Dž': 'D', 'Đ': 'D', 'Ƌ': 'D', 'DZ': 'DZ', 'DŽ': 'DZ', 'É': 'E', 'Ĕ': 'E', 'Ě': 'E', 'Ȩ': 'E', 'Ḝ': 'E', 'Ê': 'E', 'Ế': 'E', 'Ệ': 'E', 'Ề': 'E', 'Ể': 'E', 'Ễ': 'E', 'Ḙ': 'E', 'Ë': 'E', 'Ė': 'E', 'Ẹ': 'E', 'Ȅ': 'E', 'È': 'E', 'Ẻ': 'E', 'Ȇ': 'E', 'Ē': 'E', 'Ḗ': 'E', 'Ḕ': 'E', 'Ę': 'E', 'Ɇ': 'E', 'Ẽ': 'E', 'Ḛ': 'E', 'Ꝫ': 'ET', 'Ḟ': 'F', 'Ƒ': 'F', 'Ǵ': 'G', 'Ğ': 'G', 'Ǧ': 'G', 'Ģ': 'G', 'Ĝ': 'G', 'Ġ': 'G', 'Ɠ': 'G', 'Ḡ': 'G', 'Ǥ': 'G', 'Ḫ': 'H', 'Ȟ': 'H', 'Ḩ': 'H', 'Ĥ': 'H', 'Ⱨ': 'H', 'Ḧ': 'H', 'Ḣ': 'H', 'Ḥ': 'H', 'Ħ': 'H', 'Í': 'I', 'Ĭ': 'I', 'Ǐ': 'I', 'Î': 'I', 'Ï': 'I', 'Ḯ': 'I', 'İ': 'I', 'Ị': 'I', 'Ȉ': 'I', 'Ì': 'I', 'Ỉ': 'I', 'Ȋ': 'I', 'Ī': 'I', 'Į': 'I', 'Ɨ': 'I', 'Ĩ': 'I', 'Ḭ': 'I', 'Ꝺ': 'D', 'Ꝼ': 'F', 'Ᵹ': 'G', 'Ꞃ': 'R', 'Ꞅ': 'S', 'Ꞇ': 'T', 'Ꝭ': 'IS', 'Ĵ': 'J', 'Ɉ': 'J', 'Ḱ': 'K', 'Ǩ': 'K', 'Ķ': 'K', 'Ⱪ': 'K', 'Ꝃ': 'K', 'Ḳ': 'K', 'Ƙ': 'K', 'Ḵ': 'K', 'Ꝁ': 'K', 'Ꝅ': 'K', 'Ĺ': 'L', 'Ƚ': 'L', 'Ľ': 'L', 'Ļ': 'L', 'Ḽ': 'L', 'Ḷ': 'L', 'Ḹ': 'L', 'Ⱡ': 'L', 'Ꝉ': 'L', 'Ḻ': 'L', 'Ŀ': 'L', 'Ɫ': 'L', 'Lj': 'L', 'Ł': 'L', 'LJ': 'LJ', 'Ḿ': 'M', 'Ṁ': 'M', 'Ṃ': 'M', 'Ɱ': 'M', 'Ń': 'N', 'Ň': 'N', 'Ņ': 'N', 'Ṋ': 'N', 'Ṅ': 'N', 'Ṇ': 'N', 'Ǹ': 'N', 'Ɲ': 'N', 'Ṉ': 'N', 'Ƞ': 'N', 'Nj': 'N', 'Ñ': 'N', 'NJ': 'NJ', 'Ó': 'O', 'Ŏ': 'O', 'Ǒ': 'O', 'Ô': 'O', 'Ố': 'O', 'Ộ': 'O', 'Ồ': 'O', 'Ổ': 'O', 'Ỗ': 'O', 'Ö': 'O', 'Ȫ': 'O', 'Ȯ': 'O', 'Ȱ': 'O', 'Ọ': 'O', 'Ő': 'O', 'Ȍ': 'O', 'Ò': 'O', 'Ỏ': 'O', 'Ơ': 'O', 'Ớ': 'O', 'Ợ': 'O', 'Ờ': 'O', 'Ở': 'O', 'Ỡ': 'O', 'Ȏ': 'O', 'Ꝋ': 'O', 'Ꝍ': 'O', 'Ō': 'O', 'Ṓ': 'O', 'Ṑ': 'O', 'Ɵ': 'O', 'Ǫ': 'O', 'Ǭ': 'O', 'Ø': 'O', 'Ǿ': 'O', 'Õ': 'O', 'Ṍ': 'O', 'Ṏ': 'O', 'Ȭ': 'O', 'Ƣ': 'OI', 'Ꝏ': 'OO', 'Ɛ': 'E', 'Ɔ': 'O', 'Ȣ': 'OU', 'Ṕ': 'P', 'Ṗ': 'P', 'Ꝓ': 'P', 'Ƥ': 'P', 'Ꝕ': 'P', 'Ᵽ': 'P', 'Ꝑ': 'P', 'Ꝙ': 'Q', 'Ꝗ': 'Q', 'Ŕ': 'R', 'Ř': 'R', 'Ŗ': 'R', 'Ṙ': 'R', 'Ṛ': 'R', 'Ṝ': 'R', 'Ȑ': 'R', 'Ȓ': 'R', 'Ṟ': 'R', 'Ɍ': 'R', 'Ɽ': 'R', 'Ꜿ': 'C', 'Ǝ': 'E', 'Ś': 'S', 'Ṥ': 'S', 'Š': 'S', 'Ṧ': 'S', 'Ş': 'S', 'Ŝ': 'S', 'Ș': 'S', 'Ṡ': 'S', 'Ṣ': 'S', 'Ṩ': 'S', 'ẞ': 'SS', 'Ť': 'T', 'Ţ': 'T', 'Ṱ': 'T', 'Ț': 'T', 'Ⱦ': 'T', 'Ṫ': 'T', 'Ṭ': 'T', 'Ƭ': 'T', 'Ṯ': 'T', 'Ʈ': 'T', 'Ŧ': 'T', 'Ɐ': 'A', 'Ꞁ': 'L', 'Ɯ': 'M', 'Ʌ': 'V', 'Ꜩ': 'TZ', 'Ú': 'U', 'Ŭ': 'U', 'Ǔ': 'U', 'Û': 'U', 'Ṷ': 'U', 'Ü': 'U', 'Ǘ': 'U', 'Ǚ': 'U', 'Ǜ': 'U', 'Ǖ': 'U', 'Ṳ': 'U', 'Ụ': 'U', 'Ű': 'U', 'Ȕ': 'U', 'Ù': 'U', 'Ủ': 'U', 'Ư': 'U', 'Ứ': 'U', 'Ự': 'U', 'Ừ': 'U', 'Ử': 'U', 'Ữ': 'U', 'Ȗ': 'U', 'Ū': 'U', 'Ṻ': 'U', 'Ų': 'U', 'Ů': 'U', 'Ũ': 'U', 'Ṹ': 'U', 'Ṵ': 'U', 'Ꝟ': 'V', 'Ṿ': 'V', 'Ʋ': 'V', 'Ṽ': 'V', 'Ꝡ': 'VY', 'Ẃ': 'W', 'Ŵ': 'W', 'Ẅ': 'W', 'Ẇ': 'W', 'Ẉ': 'W', 'Ẁ': 'W', 'Ⱳ': 'W', 'Ẍ': 'X', 'Ẋ': 'X', 'Ý': 'Y', 'Ŷ': 'Y', 'Ÿ': 'Y', 'Ẏ': 'Y', 'Ỵ': 'Y', 'Ỳ': 'Y', 'Ƴ': 'Y', 'Ỷ': 'Y', 'Ỿ': 'Y', 'Ȳ': 'Y', 'Ɏ': 'Y', 'Ỹ': 'Y', 'Ź': 'Z', 'Ž': 'Z', 'Ẑ': 'Z', 'Ⱬ': 'Z', 'Ż': 'Z', 'Ẓ': 'Z', 'Ȥ': 'Z', 'Ẕ': 'Z', 'Ƶ': 'Z', 'IJ': 'IJ', 'Œ': 'OE', 'ᴀ': 'A', 'ᴁ': 'AE', 'ʙ': 'B', 'ᴃ': 'B', 'ᴄ': 'C', 'ᴅ': 'D', 'ᴇ': 'E', 'ꜰ': 'F', 'ɢ': 'G', 'ʛ': 'G', 'ʜ': 'H', 'ɪ': 'I', 'ʁ': 'R', 'ᴊ': 'J', 'ᴋ': 'K', 'ʟ': 'L', 'ᴌ': 'L', 'ᴍ': 'M', 'ɴ': 'N', 'ᴏ': 'O', 'ɶ': 'OE', 'ᴐ': 'O', 'ᴕ': 'OU', 'ᴘ': 'P', 'ʀ': 'R', 'ᴎ': 'N', 'ᴙ': 'R', 'ꜱ': 'S', 'ᴛ': 'T', 'ⱻ': 'E', 'ᴚ': 'R', 'ᴜ': 'U', 'ᴠ': 'V', 'ᴡ': 'W', 'ʏ': 'Y', 'ᴢ': 'Z', 'á': 'a', 'ă': 'a', 'ắ': 'a', 'ặ': 'a', 'ằ': 'a', 'ẳ': 'a', 'ẵ': 'a', 'ǎ': 'a', 'â': 'a', 'ấ': 'a', 'ậ': 'a', 'ầ': 'a', 'ẩ': 'a', 'ẫ': 'a', 'ä': 'a', 'ǟ': 'a', 'ȧ': 'a', 'ǡ': 'a', 'ạ': 'a', 'ȁ': 'a', 'à': 'a', 'ả': 'a', 'ȃ': 'a', 'ā': 'a', 'ą': 'a', 'ᶏ': 'a', 'ẚ': 'a', 'å': 'a', 'ǻ': 'a', 'ḁ': 'a', 'ⱥ': 'a', 'ã': 'a', 'ꜳ': 'aa', 'æ': 'ae', 'ǽ': 'ae', 'ǣ': 'ae', 'ꜵ': 'ao', 'ꜷ': 'au', 'ꜹ': 'av', 'ꜻ': 'av', 'ꜽ': 'ay', 'ḃ': 'b', 'ḅ': 'b', 'ɓ': 'b', 'ḇ': 'b', 'ᵬ': 'b', 'ᶀ': 'b', 'ƀ': 'b', 'ƃ': 'b', 'ɵ': 'o', 'ć': 'c', 'č': 'c', 'ç': 'c', 'ḉ': 'c', 'ĉ': 'c', 'ɕ': 'c', 'ċ': 'c', 'ƈ': 'c', 'ȼ': 'c', 'ď': 'd', 'ḑ': 'd', 'ḓ': 'd', 'ȡ': 'd', 'ḋ': 'd', 'ḍ': 'd', 'ɗ': 'd', 'ᶑ': 'd', 'ḏ': 'd', 'ᵭ': 'd', 'ᶁ': 'd', 'đ': 'd', 'ɖ': 'd', 'ƌ': 'd', 'ı': 'i', 'ȷ': 'j', 'ɟ': 'j', 'ʄ': 'j', 'dz': 'dz', 'dž': 'dz', 'é': 'e', 'ĕ': 'e', 'ě': 'e', 'ȩ': 'e', 'ḝ': 'e', 'ê': 'e', 'ế': 'e', 'ệ': 'e', 'ề': 'e', 'ể': 'e', 'ễ': 'e', 'ḙ': 'e', 'ë': 'e', 'ė': 'e', 'ẹ': 'e', 'ȅ': 'e', 'è': 'e', 'ẻ': 'e', 'ȇ': 'e', 'ē': 'e', 'ḗ': 'e', 'ḕ': 'e', 'ⱸ': 'e', 'ę': 'e', 'ᶒ': 'e', 'ɇ': 'e', 'ẽ': 'e', 'ḛ': 'e', 'ꝫ': 'et', 'ḟ': 'f', 'ƒ': 'f', 'ᵮ': 'f', 'ᶂ': 'f', 'ǵ': 'g', 'ğ': 'g', 'ǧ': 'g', 'ģ': 'g', 'ĝ': 'g', 'ġ': 'g', 'ɠ': 'g', 'ḡ': 'g', 'ᶃ': 'g', 'ǥ': 'g', 'ḫ': 'h', 'ȟ': 'h', 'ḩ': 'h', 'ĥ': 'h', 'ⱨ': 'h', 'ḧ': 'h', 'ḣ': 'h', 'ḥ': 'h', 'ɦ': 'h', 'ẖ': 'h', 'ħ': 'h', 'ƕ': 'hv', 'í': 'i', 'ĭ': 'i', 'ǐ': 'i', 'î': 'i', 'ï': 'i', 'ḯ': 'i', 'ị': 'i', 'ȉ': 'i', 'ì': 'i', 'ỉ': 'i', 'ȋ': 'i', 'ī': 'i', 'į': 'i', 'ᶖ': 'i', 'ɨ': 'i', 'ĩ': 'i', 'ḭ': 'i', 'ꝺ': 'd', 'ꝼ': 'f', 'ᵹ': 'g', 'ꞃ': 'r', 'ꞅ': 's', 'ꞇ': 't', 'ꝭ': 'is', 'ǰ': 'j', 'ĵ': 'j', 'ʝ': 'j', 'ɉ': 'j', 'ḱ': 'k', 'ǩ': 'k', 'ķ': 'k', 'ⱪ': 'k', 'ꝃ': 'k', 'ḳ': 'k', 'ƙ': 'k', 'ḵ': 'k', 'ᶄ': 'k', 'ꝁ': 'k', 'ꝅ': 'k', 'ĺ': 'l', 'ƚ': 'l', 'ɬ': 'l', 'ľ': 'l', 'ļ': 'l', 'ḽ': 'l', 'ȴ': 'l', 'ḷ': 'l', 'ḹ': 'l', 'ⱡ': 'l', 'ꝉ': 'l', 'ḻ': 'l', 'ŀ': 'l', 'ɫ': 'l', 'ᶅ': 'l', 'ɭ': 'l', 'ł': 'l', 'lj': 'lj', 'ſ': 's', 'ẜ': 's', 'ẛ': 's', 'ẝ': 's', 'ḿ': 'm', 'ṁ': 'm', 'ṃ': 'm', 'ɱ': 'm', 'ᵯ': 'm', 'ᶆ': 'm', 'ń': 'n', 'ň': 'n', 'ņ': 'n', 'ṋ': 'n', 'ȵ': 'n', 'ṅ': 'n', 'ṇ': 'n', 'ǹ': 'n', 'ɲ': 'n', 'ṉ': 'n', 'ƞ': 'n', 'ᵰ': 'n', 'ᶇ': 'n', 'ɳ': 'n', 'ñ': 'n', 'nj': 'nj', 'ó': 'o', 'ŏ': 'o', 'ǒ': 'o', 'ô': 'o', 'ố': 'o', 'ộ': 'o', 'ồ': 'o', 'ổ': 'o', 'ỗ': 'o', 'ö': 'o', 'ȫ': 'o', 'ȯ': 'o', 'ȱ': 'o', 'ọ': 'o', 'ő': 'o', 'ȍ': 'o', 'ò': 'o', 'ỏ': 'o', 'ơ': 'o', 'ớ': 'o', 'ợ': 'o', 'ờ': 'o', 'ở': 'o', 'ỡ': 'o', 'ȏ': 'o', 'ꝋ': 'o', 'ꝍ': 'o', 'ⱺ': 'o', 'ō': 'o', 'ṓ': 'o', 'ṑ': 'o', 'ǫ': 'o', 'ǭ': 'o', 'ø': 'o', 'ǿ': 'o', 'õ': 'o', 'ṍ': 'o', 'ṏ': 'o', 'ȭ': 'o', 'ƣ': 'oi', 'ꝏ': 'oo', 'ɛ': 'e', 'ᶓ': 'e', 'ɔ': 'o', 'ᶗ': 'o', 'ȣ': 'ou', 'ṕ': 'p', 'ṗ': 'p', 'ꝓ': 'p', 'ƥ': 'p', 'ᵱ': 'p', 'ᶈ': 'p', 'ꝕ': 'p', 'ᵽ': 'p', 'ꝑ': 'p', 'ꝙ': 'q', 'ʠ': 'q', 'ɋ': 'q', 'ꝗ': 'q', 'ŕ': 'r', 'ř': 'r', 'ŗ': 'r', 'ṙ': 'r', 'ṛ': 'r', 'ṝ': 'r', 'ȑ': 'r', 'ɾ': 'r', 'ᵳ': 'r', 'ȓ': 'r', 'ṟ': 'r', 'ɼ': 'r', 'ᵲ': 'r', 'ᶉ': 'r', 'ɍ': 'r', 'ɽ': 'r', 'ↄ': 'c', 'ꜿ': 'c', 'ɘ': 'e', 'ɿ': 'r', 'ś': 's', 'ṥ': 's', 'š': 's', 'ṧ': 's', 'ş': 's', 'ŝ': 's', 'ș': 's', 'ṡ': 's', 'ṣ': 's', 'ṩ': 's', 'ʂ': 's', 'ᵴ': 's', 'ᶊ': 's', 'ȿ': 's', 'ß': 'ss', 'ɡ': 'g', 'ᴑ': 'o', 'ᴓ': 'o', 'ᴝ': 'u', 'ť': 't', 'ţ': 't', 'ṱ': 't', 'ț': 't', 'ȶ': 't', 'ẗ': 't', 'ⱦ': 't', 'ṫ': 't', 'ṭ': 't', 'ƭ': 't', 'ṯ': 't', 'ᵵ': 't', 'ƫ': 't', 'ʈ': 't', 'ŧ': 't', 'ᵺ': 'th', 'ɐ': 'a', 'ᴂ': 'ae', 'ǝ': 'e', 'ᵷ': 'g', 'ɥ': 'h', 'ʮ': 'h', 'ʯ': 'h', 'ᴉ': 'i', 'ʞ': 'k', 'ꞁ': 'l', 'ɯ': 'm', 'ɰ': 'm', 'ᴔ': 'oe', 'ɹ': 'r', 'ɻ': 'r', 'ɺ': 'r', 'ⱹ': 'r', 'ʇ': 't', 'ʌ': 'v', 'ʍ': 'w', 'ʎ': 'y', 'ꜩ': 'tz', 'ú': 'u', 'ŭ': 'u', 'ǔ': 'u', 'û': 'u', 'ṷ': 'u', 'ü': 'u', 'ǘ': 'u', 'ǚ': 'u', 'ǜ': 'u', 'ǖ': 'u', 'ṳ': 'u', 'ụ': 'u', 'ű': 'u', 'ȕ': 'u', 'ù': 'u', 'ủ': 'u', 'ư': 'u', 'ứ': 'u', 'ự': 'u', 'ừ': 'u', 'ử': 'u', 'ữ': 'u', 'ȗ': 'u', 'ū': 'u', 'ṻ': 'u', 'ų': 'u', 'ᶙ': 'u', 'ů': 'u', 'ũ': 'u', 'ṹ': 'u', 'ṵ': 'u', 'ᵫ': 'ue', 'ꝸ': 'um', 'ⱴ': 'v', 'ꝟ': 'v', 'ṿ': 'v', 'ʋ': 'v', 'ᶌ': 'v', 'ⱱ': 'v', 'ṽ': 'v', 'ꝡ': 'vy', 'ẃ': 'w', 'ŵ': 'w', 'ẅ': 'w', 'ẇ': 'w', 'ẉ': 'w', 'ẁ': 'w', 'ⱳ': 'w', 'ẘ': 'w', 'ẍ': 'x', 'ẋ': 'x', 'ᶍ': 'x', 'ý': 'y', 'ŷ': 'y', 'ÿ': 'y', 'ẏ': 'y', 'ỵ': 'y', 'ỳ': 'y', 'ƴ': 'y', 'ỷ': 'y', 'ỿ': 'y', 'ȳ': 'y', 'ẙ': 'y', 'ɏ': 'y', 'ỹ': 'y', 'ź': 'z', 'ž': 'z', 'ẑ': 'z', 'ʑ': 'z', 'ⱬ': 'z', 'ż': 'z', 'ẓ': 'z', 'ȥ': 'z', 'ẕ': 'z', 'ᵶ': 'z', 'ᶎ': 'z', 'ʐ': 'z', 'ƶ': 'z', 'ɀ': 'z', 'ff': 'ff', 'ffi': 'ffi', 'ffl': 'ffl', 'fi': 'fi', 'fl': 'fl', 'ij': 'ij', 'œ': 'oe', 'st': 'st', 'ₐ': 'a', 'ₑ': 'e', 'ᵢ': 'i', 'ⱼ': 'j', 'ₒ': 'o', 'ᵣ': 'r', 'ᵤ': 'u', 'ᵥ': 'v', 'ₓ': 'x' };\n\n\t\t\treturn text.toString().replace(/[\\u007F-\\uFFFF]/g, (key) => diacriticsMap[key] || key);\n\t\t},\n\t\ttextHighlight: function( text, term ) {\n\t\t\tif ( text === undefined ) {\n\t\t\t\ttext = \"\";\n\t\t\t}\n\t\t\tlet markup = \"\";\n\t\t\tconst remove_diacritics = pf.select2.base.prototype.removeDiacritics;\n\t\t\tconst no_diac_text = remove_diacritics(text);\n\t\t\tconst no_diac_term = remove_diacritics(term);\n\t\t\tlet start = no_diac_text.toUpperCase().indexOf(no_diac_term.toString().toUpperCase());\n\t\t\tif ( start !== 0 && !mw.config.get( 'wgPageFormsAutocompleteOnAllChars' ) ) {\n\t\t\t\tstart = no_diac_text.toUpperCase().indexOf(\" \" + no_diac_term.toString().toUpperCase());\n\t\t\t\tif ( start !== -1 ) {\n\t\t\t\t\tstart = start + 1;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( start !== -1 ) {\n\t\t\t\tconst boldStart = String.fromCharCode(1);\n\t\t\t\tconst boldEnd = String.fromCharCode(2);\n\t\t\t\tmarkup = text.slice(0, Math.max(0, start)) + boldStart +\n\t\t\t\t\ttext.substr(start,term.length) + boldEnd +\n\t\t\t\t\ttext.substr(start + term.length, text.length);\n\t\t\t} else {\n\t\t\t\tmarkup = (text);\n\t\t\t}\n\t\t\treturn markup;\n\t\t},\n\t};\n}( jQuery, mediaWiki, pageforms ) );\n","usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/libs/ext.pf.select2.tokens.js","messages":[{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1,"column":1,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1,"endColumn":54},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":35,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":35,"endColumn":45},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":44,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":44,"endColumn":77},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":47,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":48,"endColumn":11},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":57,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":57,"endColumn":35},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":65,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":65,"endColumn":76},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":66,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":66,"endColumn":73},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":67,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":94,"endColumn":6},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":78,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":78,"endColumn":31},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":84,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":84,"endColumn":30},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":86,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":86,"endColumn":40},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":90,"column":11,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":90,"endColumn":20},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":101,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":101,"endColumn":39},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":104,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":104,"endColumn":45},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":112,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":112,"endColumn":29},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":130,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":130,"endColumn":23},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":131,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":131,"endColumn":32},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":132,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":132,"endColumn":96},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":136,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":141,"endColumn":8},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":146,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":146,"endColumn":71},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":154,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":154,"endColumn":35},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":160,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":160,"endColumn":39},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":161,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":161,"endColumn":43},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":162,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":162,"endColumn":49},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":165,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":165,"endColumn":81},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":172,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":173,"endColumn":41},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":184,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":184,"endColumn":21},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":185,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":185,"endColumn":26},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":186,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":186,"endColumn":19},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":189,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":189,"endColumn":55},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":190,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":190,"endColumn":56},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":203,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":203,"endColumn":98},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":206,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":206,"endColumn":95},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":207,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":207,"endColumn":95},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":208,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":208,"endColumn":55},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":209,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":209,"endColumn":72},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":218,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":218,"endColumn":18},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":219,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":219,"endColumn":52},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":227,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":227,"endColumn":71},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":237,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":237,"endColumn":44},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":250,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":250,"endColumn":53},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":277,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":277,"endColumn":34},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":278,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":278,"endColumn":21},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":279,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":279,"endColumn":15},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":280,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":280,"endColumn":37},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":283,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":283,"endColumn":61},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":285,"column":9,"nodeType":"MemberExpression","messageId":"forbidden","endLine":285,"endColumn":22},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":285,"column":9,"nodeType":"MemberExpression","messageId":"forbidden","endLine":285,"endColumn":22},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":288,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":288,"endColumn":76},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":289,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":289,"endColumn":52},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":325,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":325,"endColumn":92},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":329,"column":11,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":329,"endColumn":20},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":337,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":337,"endColumn":64},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":338,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":338,"endColumn":65},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":374,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":374,"endColumn":28},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":375,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":375,"endColumn":56},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":376,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":376,"endColumn":76},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":377,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":377,"endColumn":47},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":378,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":378,"endColumn":68},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":380,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":380,"endColumn":51},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":391,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":442,"endColumn":5},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":396,"column":5,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":396,"endColumn":45},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":399,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":399,"endColumn":37},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":400,"column":6,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":400,"endColumn":46},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":402,"column":7,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":402,"endColumn":45},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":403,"column":7,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":403,"endColumn":56},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":405,"column":8,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":405,"endColumn":68},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":421,"column":8,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":421,"endColumn":25},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":425,"column":9,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":425,"endColumn":95},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":425,"column":44,"nodeType":"MemberExpression","messageId":"forbidden","endLine":425,"endColumn":70},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":425,"column":44,"nodeType":"MemberExpression","messageId":"forbidden","endLine":425,"endColumn":70},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":454,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":454,"endColumn":40},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":456,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":456,"endColumn":63},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":461,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":461,"endColumn":70},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":462,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":462,"endColumn":23}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":75,"fixableErrorCount":0,"fixableWarningCount":0,"source":"const Sortable = require( 'ext.pageforms.sortable' );\n\n/*\n * ext.pf.select2.tokens.js\n *\n * JavaScript utility class to handle autocomplete\n * for tokens input type using Select2 JS library\n *\n * @file\n *\n * @licence GNU GPL v2+\n * @author Jatin Mehta\n * @author Yaron Koren\n * @author Priyanshu Varshney\n */\n\n( function( $, mw, pf ) {\n\t'use strict';\n\n\t/**\n\t * Inheritance class for the pf.select2 constructor\n\t *\n\t * @class\n\t */\n\tpf.select2 = pf.select2 || {};\n\n\t/**\n\t * @class\n\t * @constructor\n\t */\n\tpf.select2.tokens = function() {\n\n\t};\n\n\tconst tokens_proto = new pf.select2.base();\n\n\t/*\n\t * Applies select2 to the HTML element\n\t *\n\t * @param {jQuery} element\n\t *\n\t */\n\ttokens_proto.apply = function( element ) {\n\t\tconst existingValuesOnly = (element.attr(\"existingvaluesonly\") == \"true\");\n\t\tthis.existingValuesOnly = existingValuesOnly;\n\t\tthis.id = element.attr( \"id\" );\n\t\tlet inputData,\n\t\t\t$input;\n\n\t\t// This happens sometimes, although it shouldn't. If it does,\n\t\t// something went wrong, so just exit.\n\t\tif ( this.id == undefined ) {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tconst opts = this.setOptions();\n\t\t\t$input = element.select2(opts);\n\t\t\tinputData = $input.data(\"select2\");\n\t\t} catch (e) {\n\t\t\twindow.console.log(e);\n\t\t}\n\n\t\t// Make the tokens sortable, using the SortableJS library.\n\t\tconst tokensUL = element.parent().find('ul.select2-selection__rendered');\n\t\tconst tokensSelect = element.parents('span.inputSpan').find('select');\n\t\tconst sortable = Sortable.create(tokensUL[0], {\n\t\t\tghostClass: 'pfTokensGhost',\n\n\t\t\t// Somewhat of a @HACK - the tokens are stored in two\n\t\t\t// places in the DOM, a <ul> tag (which is displayed)\n\t\t\t// and a <select> tag (which is what gets submitted).\n\t\t\t// SortableJS only handles the first of these, so when\n\t\t\t// a rearrange is done, we rearrange the <select> layout\n\t\t\t// to match what's in the <ul>.\n\t\t\t// Is there a simpler way to do this?\n\t\t\tonEnd: function(event, dragEvent) {\n\t\t\t\tconst newTokensOrder = [];\n\t\t\t\ttokensUL.find('li.select2-selection__choice').not('.sortable-ghost').each( function() {\n\t\t\t\t\t// Remove the \"x\" from the beginning of\n\t\t\t\t\t// the string.\n\t\t\t\t\tnewTokensOrder.push($(this).text().slice(1));\n\t\t\t\t});\n\t\t\t\tconst dropdownItems = {};\n\t\t\t\ttokensSelect.find('option').each( function() {\n\t\t\t\t\tconst optionName = $(this).text();\n\t\t\t\t\tdropdownItems[optionName] = $(this);\n\t\t\t\t} );\n\t\t\t\ttokensSelect.prepend(dropdownItems[newTokensOrder[0]]);\n\t\t\t\tfor ( let i = 1; i < newTokensOrder.length; i++ ){\n\t\t\t\t\tdropdownItems[newTokensOrder[i]].insertAfter(dropdownItems[newTokensOrder[i - 1]]);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t// Make sure that entries added with \"local autocompletion\"\n\t\t// show up in the order they were entered, not alphabetical\n\t\t// order.\n\t\t// Copied from https://github.com/select2/select2/issues/3106#issuecomment-234702241\n\t\telement.on(\"select2:select\", function (evt) {\n\t\t\tlet elem = evt.params.data.element;\n\n\t\t\tif( !elem ) {\n\t\t\t\tconst data = $(element).select2('data');\n\t\t\t\telem = data.filter((obj) => obj.id === evt.params.data.id);\n\t\t\t\tif( !elem.length || !elem[0] || typeof elem[0].element == 'undefined' ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\telem = elem[0].element;\n\t\t\t}\n\n\t\t\tconst $element = $(elem);\n\n\t\t\t$element.detach();\n\t\t\t$(this).append($element);\n\t\t\t$(this).trigger(\"change\");\n\t\t\t// In order for this selection to truly \"take\", the\n\t\t\t// full input needs to be clicked on, for some reason.\n\t\t\t// We click on it *twice*, though, to get rid of the\n\t\t\t// \"Please enter...\" message.\n\t\t\t// There's probably a less hacky way to accomplish this.\n\t\t\t$(this).parent().find('span.select2-selection').click().click();\n\t\t});\n\n\t\t$(inputData.$container[0]).on(\"keyup\",(e) => {\n\t\t\tif( existingValuesOnly ){\n\t\t\t\treturn ;\n\t\t\t}\n\t\t\tif( e.keyCode === 9 ){\n\t\t\t\tlet rawValue = \"\";\n\t\t\t\tlet checkIfPresent = false;\n\t\t\t\tconst valHighlighted = inputData.$results.find('.select2-results__option--highlighted')[0];\n\t\t\t\tif( valHighlighted !== undefined ){\n\t\t\t\t\trawValue = valHighlighted.textContent;\n\t\t\t\t}\n\t\t\t\tconst newValue = $.grep(inputData.val(), (value) => {\n\t\t\t\t\tif( value === rawValue ){\n\t\t\t\t\t\tcheckIfPresent = true;\n\t\t\t\t\t}\n\t\t\t\t\treturn value !== rawValue;\n\t\t\t\t});\n\t\t\t\tif( checkIfPresent === false && rawValue !== \"\" ) {\n\t\t\t\t\tnewValue.push(rawValue);\n\t\t\t\t}\n\t\t\t\tif ( !$input.find( \"option[value='\" + rawValue + \"']\" ).length ) {\n\t\t\t\t\tconst newOption = new Option( rawValue, rawValue, false, false );\n\t\t\t\t\t$input.append(newOption).trigger( 'change' );\n\t\t\t\t}\n\t\t\t\t$input.val( newValue ).trigger( 'change' );\n\t\t\t}\n\t\t});\n\t\tif ( element.attr( \"existingvaluesonly\" ) !== \"true\" ) {\n\t\t\telement.parent().on( \"dblclick\", \"li.select2-selection__choice\", ( event ) => {\n\t\t\t\tlet $target = $(event.target);\n\t\t\t\t// If the target element is the span within li then change it to the parent li\n\t\t\t\tif ( $target.is( $(\"span.select2-match-entire\") ) ) {\n\t\t\t\t\t$target = $target.parent();\n\t\t\t\t}\n\t\t\t\t// get the text and id of the clicked value\n\t\t\t\tconst targetData = $target.data();\n\t\t\t\tconst clickedValue = $target[0].title;\n\t\t\t\tconst clickedValueId = targetData.select2Id;\n\n\t\t\t\t// remove that value from select2 selection\n\t\t\t\tconst newValue = $.grep(inputData.val(), (value) => value !== clickedValue);\n\t\t\t\t$input.val(newValue).trigger(\"change\");\n\n\t\t\t\t// set the currently entered text to equal the clicked value\n\t\t\t\tinputData.$container.find(\".select2-search__field\").val(clickedValue).trigger(\"input\").focus();\n\t\t\t} );\n\t\t}\n\t\tconst $loadingIcon = $( '<img src = \"' + mw.config.get( 'wgPageFormsScriptPath' ) + '/skins/loading.gif'\n\t\t+ '\" id=\"loading-' + this.id + '\">' );\n\t\t$loadingIcon.hide();\n\t\t$( '#' + element.attr('id') ).parent().append( $loadingIcon );\n\t};\n\t/*\n\t * Returns options to be set by select2\n\t *\n\t * @return {object} opts\n\t *\n\t */\n\ttokens_proto.setOptions = function() {\n\t\tconst self = this;\n\t\tlet input_id = this.id;\n\t\tconst opts = {};\n\t\topts.language = {};\n\t\tinput_id = \"#\" + input_id;\n\t\tconst input_tagname = $(input_id).prop( \"tagName\" );\n\t\tconst autocomplete_opts = this.getAutocompleteOpts();\n\t\topts.escapeMarkup = function (m) {\n\t\t\treturn self.escapeMarkupAndAddHTML(m);\n\t\t};\n\t\tif ( autocomplete_opts.autocompletedatatype !== undefined ) {\n\t\t\topts.ajax = this.getAjaxOpts();\n\t\t\topts.minimumInputLength = 1;\n\t\t\topts.language.inputTooShort = function() {\n\t\t\t\treturn mw.msg( \"pf-autocomplete-input-too-short\", opts.minimumInputLength );\n\t\t\t};\n\t\t} else if ( input_tagname === \"SELECT\" ) {\n\t\t\topts.data = this.getData( autocomplete_opts.autocompletesettings );\n\t\t}\n\t\tconst wgPageFormsAutocompleteOnAllChars = mw.config.get( 'wgPageFormsAutocompleteOnAllChars' );\n\t\tif ( !wgPageFormsAutocompleteOnAllChars ) {\n\t\t\topts.matcher = function( term, text ) {\n\t\t\t\tconst folded_term = pf.select2.base.prototype.removeDiacritics( term.term ).toUpperCase();\n\t\t\t\tconst folded_text = pf.select2.base.prototype.removeDiacritics( text.text ).toUpperCase();\n\t\t\t\tconst position = folded_text.indexOf(folded_term);\n\t\t\t\tconst position_with_space = folded_text.indexOf(\" \" + folded_term);\n\t\t\t\tif ( (position !== -1 && position === 0 ) || position_with_space !== -1 ) {\n\t\t\t\t\treturn text;\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t\topts.templateResult = function( result ) {\n\t\t\tlet term = \"\";\n\t\t\tconst inputData = $( input_id ).data(\"select2\");\n\t\t\tif ( inputData.results.lastParams !== undefined ){\n\t\t\t\tterm = inputData.results.lastParams.term;\n\t\t\t}\n\t\t\tif ( term === \"\" || term === undefined ) {\n\t\t\t\tterm = inputData.$dropdown[0].textContent;\n\t\t\t}\n\t\t\tif ( term === \"\" || term === undefined ) {\n\t\t\t\tconst htmlElements = inputData.$selection[0].children[0].children;\n\t\t\t\tterm = htmlElements[htmlElements.length - 1].children[0].value;\n\t\t\t}\n\t\t\treturn pf.select2.base.prototype.textHighlight( result.id, term );\n\t\t};\n\t\topts.language.searching = function() {\n\t\t\treturn mw.msg( \"pf-autocomplete-searching\" );\n\t\t};\n\t\topts.placeholder = $(input_id).attr( \"placeholder\" );\n\n\t\tlet size = $(input_id).attr(\"data-size\");\n\t\tif ( size === undefined ) {\n\t\t\tsize = '100'; //default value\n\t\t}\n\t\topts.containerCss = { 'min-width': size };\n\t\topts.containerCssClass = 'pf-select2-container';\n\t\topts.dropdownCssClass = 'pf-select2-dropdown';\n\t\tif( !this.existingValuesOnly ){\n\t\t\topts.tags = true;\n\t\t}\n\t\topts.multiple = true;\n\t\topts.width= NaN; // A helpful way to expand tokenbox horizontally\n\t\topts.tokenSeparators = this.getDelimiter($(input_id));\n\t\tconst maxvalues = $(input_id).attr( \"maxvalues\" );\n\t\tif ( maxvalues !== undefined ) {\n\t\t\topts.maximumSelectionLength = maxvalues;\n\t\t\topts.language.maximumSelected = function() {\n\t\t\t\treturn mw.msg( \"pf-autocomplete-selection-too-big\", maxvalues );\n\t\t\t};\n\t\t}\n\t\t// opts.selectOnClose = true;\n\t\topts.adaptContainerCssClass = function( clazz ) {\n\t\t\tif (clazz === \"mandatoryField\") {\n\t\t\t\treturn \"\";\n\t\t\t} else {\n\t\t\t\treturn clazz;\n\t\t\t}\n\t\t};\n\n\t\treturn opts;\n\t};\n\n\t/*\n\t * Returns data to be used by select2 for tokens autocompletion\n\t *\n\t * @param {string} autocompletesettings\n\t * @return {associative array} values\n\t *\n\t */\n\ttokens_proto.getData = function( autocompletesettings ) {\n\t\tconst input_id = \"#\" + this.id;\n\t\tconst values = [];\n\t\tlet i, data;\n\t\tconst dep_on = this.dependentOn();\n\t\tif ( dep_on === null ) {\n\t\t\tif ( autocompletesettings === 'external data' ) {\n\t\t\t\tlet name = $(input_id).attr(this.nameAttr($(input_id)));\n\t\t\t\t// Remove the final \"[]\".\n\t\t\t\tif (name.includes('[]')) {\n\t\t\t\t\tname = name.slice(0, Math.max(0, name.length - 2));\n\t\t\t\t}\n\t\t\t\tconst wgPageFormsEDSettings = mw.config.get( 'wgPageFormsEDSettings' );\n\t\t\t\tconst edgValues = mw.config.get( 'edgValues' );\n\t\t\t\tdata = {};\n\t\t\t\tif ( wgPageFormsEDSettings[name].title !== undefined && wgPageFormsEDSettings[name].title !== \"\" ) {\n\t\t\t\t\tdata.title = edgValues[wgPageFormsEDSettings[name].title];\n\t\t\t\t\tif ( data.title !== undefined && data.title !== null ) {\n\t\t\t\t\t\ti = 0;\n\t\t\t\t\t\tdata.title.forEach(() => {\n\t\t\t\t\t\t\tvalues.push({\n\t\t\t\t\t\t\t\tid: data.title[i], text: data.title[i]\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\ti++;\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tif ( wgPageFormsEDSettings[name].image !== undefined && wgPageFormsEDSettings[name].image !== \"\" ) {\n\t\t\t\t\t\tdata.image = edgValues[wgPageFormsEDSettings[name].image];\n\t\t\t\t\t\ti = 0;\n\t\t\t\t\t\tif ( data.image !== undefined && data.image !== null ) {\n\t\t\t\t\t\t\tdata.image.forEach(() => {\n\t\t\t\t\t\t\t\tvalues[i].image = data.image[i];\n\t\t\t\t\t\t\t\ti++;\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( wgPageFormsEDSettings[name].description !== undefined && wgPageFormsEDSettings[name].description !== \"\" ) {\n\t\t\t\t\t\tdata.description = edgValues[wgPageFormsEDSettings[name].description];\n\t\t\t\t\t\ti = 0;\n\t\t\t\t\t\tif ( data.description !== undefined && data.description !== null ) {\n\t\t\t\t\t\t\tdata.description.forEach(() => {\n\t\t\t\t\t\t\t\tvalues[i].description = data.description[i];\n\t\t\t\t\t\t\t\ti++;\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t} else {\n\t\t\t\tconst wgPageFormsAutocompleteValues = mw.config.get( 'wgPageFormsAutocompleteValues' );\n\t\t\t\tdata = wgPageFormsAutocompleteValues[autocompletesettings];\n\t\t\t\t//Convert data into the format accepted by Select2\n\t\t\t\tif ( data !== undefined && data !== null ) {\n\t\t\t\t\tfor (const key in data) {\n\t\t\t\t\t\tvalues.push({\n\t\t\t\t\t\t\tid: data[key], text: data[key]\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else { // Dependent field autocompletion\n\t\t\tconst dep_field_opts = this.getDependentFieldOpts( dep_on );\n\t\t\tlet my_server = mw.config.get( 'wgScriptPath' ) + \"/api.php\";\n\t\t\tmy_server += \"?action=pfautocomplete&format=json&property=\" + dep_field_opts.prop +\n\t\t\t\t\"&baseprop=\" + dep_field_opts.base_prop + \"&basevalue=\" + dep_field_opts.base_value;\n\t\t\t$.ajax({\n\t\t\t\turl: my_server,\n\t\t\t\tdataType: 'json',\n\t\t\t\tasync: false,\n\t\t\t\tsuccess: function(value) {\n\t\t\t\t\t// Convert data into the format accepted by Select2.\n\t\t\t\t\tvalue.pfautocomplete.forEach( (item) => {\n\t\t\t\t\t\tif (item.displaytitle !== undefined) {\n\t\t\t\t\t\t\tvalues.push({\n\t\t\t\t\t\t\t\tid: item.displaytitle, text: item.displaytitle\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvalues.push({\n\t\t\t\t\t\t\t\tid: item.title, text: item.title\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\treturn values;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\treturn values;\n\t};\n\n\t/*\n\t * Returns ajax options to be used by select2 for\n\t * remote autocompletion of tokens\n\t *\n\t * @return {object} ajaxOpts\n\t *\n\t */\n\ttokens_proto.getAjaxOpts = function() {\n\t\tconst input_id = this.id;\n\t\tconst autocomplete_opts = this.getAutocompleteOpts();\n\t\tconst data_source = autocomplete_opts.autocompletesettings.split(',')[0];\n\t\tlet my_server = mw.util.wikiScript( 'api' );\n\t\tconst autocomplete_type = autocomplete_opts.autocompletedatatype;\n\t\tif ( autocomplete_type === 'cargo field' ) {\n\t\t\tconst table_and_field = data_source.split('|');\n\t\t\tmy_server += \"?action=pfautocomplete&format=json&cargo_table=\" + table_and_field[0] + \"&cargo_field=\" + table_and_field[1];\n\t\t\tif ( table_and_field.length > 2 ) {\n\t\t\t\tmy_server += '&cargo_where=' + table_and_field[2];\n\t\t\t}\n\t\t} else {\n\t\t\tmy_server += \"?action=pfautocomplete&format=json&\" +\n\t\t\t\tautocomplete_opts.autocompletedatatype + \"=\" +\n\t\t\t\tencodeURIComponent( data_source );\n\t\t}\n\n\t\tconst ajaxOpts = {\n\t\t\turl: my_server,\n\t\t\tdataType: 'json',\n\t\t\tdata: function (term) {\n\t\t\t\t$( '#loading-' + input_id ).show();\n\t\t\t\tconst reqParams = { substr: term.term }; // search term\n\t\t\t\tif ( autocomplete_type === 'wikidata' ) {\n\t\t\t\t\t// Support for getting query values from an existing field in the form\n\t\t\t\t\tlet dsource_copy = data_source;\n\t\t\t\t\tconst terms = dsource_copy.split( \"&\" );\n\t\t\t\t\tterms.forEach( (element) => {\n\t\t\t\t\t\tconst subTerms = element.split( \"=\" );\n\t\t\t\t\t\tconst matches = subTerms[1].match( /\\[(.*?)\\]/ );\n\t\t\t\t\t\tif ( matches ) {\n\t\t\t\t\t\t\tconst dep_value = $( '[name=\"' + subTerms[1] + '\"]' ).val();\n\t\t\t\t\t\t\tif ( dep_value && dep_value.trim().length ) {\n\t\t\t\t\t\t\t\tdsource_copy = dsource_copy.replace( subTerms[1], dep_value );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t\treqParams[ 'wikidata' ] = dsource_copy;\n\t\t\t\t}\n\t\t\t\treturn reqParams;\n\t\t\t},\n\t\t\tprocessResults: function (data) { // parse the results into the format expected by Select2.\n\t\t\t\tif (data.pfautocomplete !== undefined) {\n\t\t\t\t\t$( '#loading-' + input_id ).hide();\n\t\t\t\t\tdata.pfautocomplete.forEach( (item) => {\n\t\t\t\t\t\tif (item.displaytitle !== undefined) {\n\t\t\t\t\t\t\tlet displayTitle;\n\t\t\t\t\t\t\tif (item.title === item.displaytitle) {\n\t\t\t\t\t\t\t\tdisplayTitle = item.title;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tconst containsTitleInParentheses = item.displaytitle.includes(\"(\" + item.title + \")\");\n\t\t\t\t\t\t\t\tdisplayTitle = containsTitleInParentheses\n\t\t\t\t\t\t\t\t\t? item.displaytitle\n\t\t\t\t\t\t\t\t\t: item.displaytitle + \" (\" + item.title + \")\";\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\titem.text = displayTitle;\n\t\t\t\t\t\t\titem.id = displayTitle\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\titem.text = item.title;\n\t\t\t\t\t\t\titem.id = item.title;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\treturn {results: data.pfautocomplete};\n\t\t\t\t} else {\n\t\t\t\t\treturn {results: []};\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\treturn ajaxOpts;\n\t};\n\n\t/*\n\t * Returns delimiter for the token field\n\t *\n\t * @return {string} delimiter\n\t *\n\t */\n\ttokens_proto.getDelimiter = function ( element ) {\n\t\tlet autoCompleteSettingsIntermediate;\n\t\tif(element.attr('autocompletesettings') === undefined){\n\t\t\tconst tokenId = element.prevObject[0].firstElementChild.id;\n\t\t\tautoCompleteSettingsIntermediate = $('#'+tokenId).attr('autocompletesettings');\n\t\t} else {\n\t\t\tautoCompleteSettingsIntermediate = element.attr('autocompletesettings');\n\t\t}\n\t\tconst field_values = autoCompleteSettingsIntermediate.split( ',' );\n\t\tlet delimiter = \",\";\n\t\tif (field_values[1] === 'list' && field_values[2] !== undefined && field_values[2] !== \"\") {\n\t\t\tdelimiter = field_values[2];\n\t\t}\n\n\t\treturn delimiter;\n\t};\n\n\tpf.select2.tokens.prototype = tokens_proto;\n\n}( jQuery, mediaWiki, pageforms ) );\n","usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/libs/uploadable/Booklet.js","messages":[{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":33,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":33,"endColumn":58}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * @class Booklet\n * @extends mw.Upload.Dialog\n *\n * @constructor\n * @param {Object} [config] Configuration options\n */\nfunction Booklet ( config ) {\n\tBooklet.super.call( this, config );\n}\n\nOO.inheritClass( Booklet, mw.Upload.BookletLayout );\n\n/** @inheritDoc */\nBooklet.prototype.renderInfoForm = function () {\n\tthis.infoForm = Booklet.super.prototype.renderInfoForm.call( this );\n\tthis.descriptionWidget.setRequired( false );\n\tthis.descriptionWidget.setValidation( () => true );\n\treturn this.infoForm;\n};\n\n/**\n * Set the default filename.\n *\n * @param {string} filename\n */\nBooklet.prototype.setDefaultFilename = function ( filename ) {\n\tthis.defaultFilename = filename;\n};\n\n/** @inheritDoc */\nBooklet.prototype.getFile = function () {\n\tlet file = Booklet.super.prototype.getFile.call( this );\n\tif ( this.defaultFilename ) {\n\t\t// Create a new File object with the new name.\n\t\tfile = new File( [ file ], this.defaultFilename, { type: file.type } );\n\t}\n\treturn file;\n};\n\nmodule.exports = Booklet;\n","usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/libs/uploadable/init.js","messages":[{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":1,"column":1,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":1,"endColumn":43},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":3,"column":1,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":3,"endColumn":48},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":4,"column":1,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":7,"endColumn":5},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":10,"column":1,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":30,"endColumn":3},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":13,"column":2,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":13,"endColumn":30},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":17,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":17,"endColumn":78},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":19,"column":4,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":19,"endColumn":58},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":32,"column":1,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":34,"endColumn":3}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":8,"fixableErrorCount":0,"fixableWarningCount":0,"source":"const Booklet = require( './Booklet.js' );\n\nconst windowManager = OO.ui.getWindowManager();\nconst uploadDialog = new mw.Upload.Dialog( {\n\tclasses: [ 'ext-pageforms-uploadable-dialog' ],\n\tbookletClass: Booklet\n} );\nwindowManager.addWindows( [ uploadDialog ] );\n\nconst handleClick = ( e ) => {\n\te.preventDefault();\n\twindowManager.openWindow( uploadDialog );\n\tconst uploadLink = e.target;\n\tuploadDialog.uploadBooklet.setDefaultFilename( uploadLink.dataset.pageformsDefaultfilename );\n\tuploadDialog.uploadBooklet.connect ( this, {\n\t\tfileSaved: ( imageInfo ) => {\n\t\t\tconst filename = new mw.Title ( imageInfo.canonicaltitle ).getMainText ();\n\t\t\tuploadDialog.close ();\n\t\t\tconst $input = $ ( '#' + uploadLink.dataset.inputId );\n\t\t\tif ( $input[0] instanceof HTMLInputElement ) {\n\t\t\t\t// input type = text, text with autocomplete, and combobox\n\t\t\t\t$input.val ( filename );\n\t\t\t} else if ( $input[0] instanceof HTMLSelectElement ) {\n\t\t\t\t// input type = tokens\n\t\t\t\t$input.append ( new Option ( filename, filename, false, true ) );\n\t\t\t\t( new pf.select2.tokens () ).apply ( $input );\n\t\t\t}\n\t\t}\n\t} );\n};\n\nconst addClickHandlers = ( $content ) => {\n\t$content.find( '.ext-pageforms-uploadable' ).on ( 'click', handleClick );\n};\n\nmw.hook( 'wikipage.content' ).add( addClickHandlers );\nmw.hook('pf.addTemplateInstance').add( addClickHandlers );\n","usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/libs/widgets/mw.widgets.PFDateInputWidget.js","messages":[{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":5,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":5,"endColumn":19},{"ruleId":"jsdoc/require-returns","severity":1,"message":"Missing JSDoc @return declaration.","line":24,"column":2,"nodeType":"Block","endLine":32,"endColumn":5},{"ruleId":"jsdoc/require-param-type","severity":1,"message":"Missing JSDoc @param \"date\" type.","line":30,"column":1,"nodeType":"Block","endLine":30,"endColumn":1},{"ruleId":"jsdoc/require-param-type","severity":1,"message":"Missing JSDoc @param \"format\" type.","line":31,"column":1,"nodeType":"Block","endLine":31,"endColumn":1},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":34,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":36,"endColumn":31},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":42,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":45,"endColumn":51},{"ruleId":"prefer-const","severity":1,"message":"'inputFormat' is never reassigned. Use 'const' instead.","line":43,"column":4,"nodeType":"Identifier","messageId":"useConst","endLine":43,"endColumn":15},{"ruleId":"prefer-const","severity":1,"message":"'value' is never reassigned. Use 'const' instead.","line":44,"column":4,"nodeType":"Identifier","messageId":"useConst","endLine":44,"endColumn":9},{"ruleId":"prefer-const","severity":1,"message":"'valid' is never reassigned. Use 'const' instead.","line":45,"column":4,"nodeType":"Identifier","messageId":"useConst","endLine":45,"endColumn":9},{"ruleId":"prefer-const","severity":1,"message":"'mom' is never reassigned. Use 'const' instead.","line":53,"column":3,"nodeType":"Identifier","messageId":"useConst","endLine":53,"endColumn":6},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":60,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":64,"endColumn":5},{"ruleId":"es-x/no-block-scoped-variables","severity":1,"message":"ES2015 block-scoped variables are forbidden.","line":75,"column":3,"nodeType":"VariableDeclaration","messageId":"forbidden","endLine":78,"endColumn":40},{"ruleId":"prefer-const","severity":1,"message":"'inputFormat' is never reassigned. Use 'const' instead.","line":78,"column":4,"nodeType":"Identifier","messageId":"useConst","endLine":78,"endColumn":15},{"ruleId":"prefer-const","severity":1,"message":"'moment' is never reassigned. Use 'const' instead.","line":84,"column":3,"nodeType":"Identifier","messageId":"useConst","endLine":84,"endColumn":9},{"ruleId":"prefer-const","severity":1,"message":"'parsedDatePartsLength' is never reassigned. Use 'const' instead.","line":85,"column":3,"nodeType":"Identifier","messageId":"useConst","endLine":85,"endColumn":24},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":92,"column":40,"nodeType":"MemberExpression","messageId":"forbidden","endLine":92,"endColumn":55},{"ruleId":"es-x/no-string-prototype-includes","severity":1,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":92,"column":40,"nodeType":"MemberExpression","messageId":"forbidden","endLine":92,"endColumn":55}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":17,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/* global moment */\n( function () {\n\n\tmw.widgets.PFDateInputWidget = function PFDateInputWidget( config ) {\n\t\tlet inputFormat;\n\n\t\tif ( config.inputFormat ) {\n\t\t\tinputFormat = config.inputFormat.split( ';' );\n\t\t\tif ( inputFormat.length > 1 ) {\n\t\t\t\tconfig.inputFormat = inputFormat.sort( ( a, b ) => a.length - b.length );\n\t\t\t}\n\t\t}\n\n\t\t// Parent constructor\n\t\tmw.widgets.PFDateInputWidget.parent.call( this, config );\n\t};\n\n\t/* Inheritance */\n\n\tOO.inheritClass( mw.widgets.PFDateInputWidget, mw.widgets.DateInputWidget );\n\n\t/* Methods */\n\n\t/**\n\t *  There is a bug in DateInputWidget, it calls this function for internal date\n\t *  this.getValue() in this.getValidity() function and entered date\n\t *  this.textInput.getValue() in this.onTextInputChange()\n\t *  but they can have different formats\n\t *\n\t * @param date\n\t * @param format\n\t */\n\tmw.widgets.PFDateInputWidget.prototype.isValidDate = function ( date, format ) {\n\t\tconst\n\t\t\tmom = moment( date, format || this.getInternalFormat( true ) ),\n\t\t\tflags = mom.parsingFlags();\n\n\t\treturn mom.isValid() && flags.charsLeftOver === 0 && flags.unusedTokens.length === 0;\n\t};\n\n\tmw.widgets.PFDateInputWidget.prototype.onTextInputChange = function () {\n\t\tlet mom,\n\t\t\tinputFormat = this.getInputFormat(),\n\t\t\tvalue = this.textInput.getValue(),\n\t\t\tvalid = this.isValidDate( value, inputFormat );\n\n\t\tif ( value === '' || !valid || typeof inputFormat === 'string' ) {\n\t\t\treturn mw.widgets.PFDateInputWidget.parent.prototype.onTextInputChange.call( this );\n\t\t}\n\n\t\tthis.inTextInput++;\n\t\t// Well-formed date value, parse and set it\n\t\tmom = moment( value, inputFormat );\n\t\t// Use English locale to avoid number formatting\n\t\tthis.setValue( mom.locale( 'en' ).format( this.getInternalFormat( mom ) ) );\n\t\tthis.inTextInput--;\n\t};\n\n\tmw.widgets.PFDateInputWidget.prototype.getInternalFormat = function ( mom ) {\n\t\tconst internalFormats = [\n\t\t\t'YYYY',\n\t\t\t'YYYY-MM',\n\t\t\t'YYYY-MM-DD',\n\t\t];\n\n\t\tif ( !mom ) {\n\t\t\treturn mw.widgets.PFDateInputWidget.parent.prototype.getInternalFormat.call( this );\n\t\t} else if ( mom === true ) {\n\t\t\treturn internalFormats;\n\t\t}\n\t\treturn internalFormats[ mom.parsingFlags().parsedDateParts.length - 1 ];\n\t};\n\n\tmw.widgets.PFDateInputWidget.prototype.updateUI = function () {\n\t\tlet moment,\n\t\t\tformat,\n\t\t\tparsedDatePartsLength,\n\t\t\tinputFormat = this.getInputFormat();\n\n\t\tif ( this.getValue() === '' || typeof inputFormat === 'string' ) {\n\t\t\treturn mw.widgets.PFDateInputWidget.parent.prototype.updateUI.call( this );\n\t\t}\n\n\t\tmoment = this.getMoment();\n\t\tparsedDatePartsLength = moment.parsingFlags().parsedDateParts.length;\n\t\tif ( parsedDatePartsLength === 1 ) {\n\t\t\t// Minimum length of the input format for a year\n\t\t\tformat = inputFormat[ 0 ];\n\t\t} else {\n\t\t\t// Maximum length of the input format by default\n\t\t\tformat = inputFormat[ inputFormat.length - 1 ];\n\t\t\tif ( parsedDatePartsLength === 2 && format.includes( 'D' ) ) {\n\t\t\t\t// Use shorter format when day is not in moment but format has day\n\t\t\t\tformat = inputFormat[ inputFormat.length - 2 ];\n\t\t\t}\n\t\t}\n\t\tif ( !this.inTextInput ) {\n\t\t\tthis.textInput.setValue( moment.format( format ) );\n\t\t}\n\t\tif ( !this.inCalendar ) {\n\t\t\tthis.calendar.setDate( this.getValue() );\n\t\t}\n\t\tthis.innerLabel.setLabel( moment.format( format ) );\n\t\tthis.$element.removeClass( 'mw-widget-dateInputWidget-empty' );\n\t};\n\n}() );\n","usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/package-lock.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]},{"filePath":"/src/repo/package.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]}]}]

--- end ---
$ /usr/bin/npm ci
--- stdout ---

added 317 packages, and audited 318 packages in 3s

68 packages are looking for funding
  run `npm fund` for details

3 moderate severity vulnerabilities

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.

--- end ---
$ /usr/bin/npm test
--- stdout ---

> test
> grunt test

Running "eslint:all" (eslint) task

/src/repo/libs/PF_AutoEditRating.js
   5:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   6:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  12:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  37:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  38:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  40:12  warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  57:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  58:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  61:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  63:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  63:23  warning  Where possible, maintain application state in JS to avoid slower DOM queries  no-jquery/no-class-state
  65:4   warning  Prefer .then to .done                                                         no-jquery/no-done-fail
  77:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  79:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  81:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  83:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  90:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables

/src/repo/libs/PF_AutocompleteWidget.js
   17:2   warning  ES2015 block-scoped variables are forbidden               es-x/no-block-scoped-variables
   67:2   warning  ES2015 block-scoped variables are forbidden               es-x/no-block-scoped-variables
   68:3   warning  'value' is never reassigned. Use 'const' instead          prefer-const
   69:3   warning  'deferred' is never reassigned. Use 'const' instead       prefer-const
   73:2   warning  'api' is never reassigned. Use 'const' instead            prefer-const
   74:2   warning  'requestParams' is never reassigned. Use 'const' instead  prefer-const
   98:2   warning  ES2015 block-scoped variables are forbidden               es-x/no-block-scoped-variables
  100:3   warning  'items' is never reassigned. Use 'const' instead          prefer-const
  129:2   warning  ES2015 block-scoped variables are forbidden               es-x/no-block-scoped-variables
  130:2   warning  ES2015 block-scoped variables are forbidden               es-x/no-block-scoped-variables
  133:2   warning  ES2015 block-scoped variables are forbidden               es-x/no-block-scoped-variables
  134:2   warning  ES2015 block-scoped variables are forbidden               es-x/no-block-scoped-variables
  135:2   warning  ES2015 block-scoped variables are forbidden               es-x/no-block-scoped-variables
  139:18  warning  Prefer `String#slice()` over `String#substr()`            unicorn/prefer-string-slice

/src/repo/libs/PF_ComboBoxInput.js
   20:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   34:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   35:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   36:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   39:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   65:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   66:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   67:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   68:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   70:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   71:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   77:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   92:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   93:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  120:9   warning  Where possible, maintain application state in JS to avoid slower DOM queries  no-jquery/no-class-state
  136:51  warning  ES2015 default parameters are forbidden                                       es-x/no-default-parameters
  137:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  137:7   warning  'input_id' is never reassigned. Use 'const' instead                           prefer-const
  138:4   warning  'values' is never reassigned. Use 'const' instead                             prefer-const
  139:4   warning  'dep_on' is never reassigned. Use 'const' instead                             prefer-const
  140:4   warning  'self' is never reassigned. Use 'const' instead                               prefer-const
  145:4   warning  'wgPageFormsAutocompleteOnAllChars' is never reassigned. Use 'const' instead  prefer-const
  148:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  149:8   warning  Where possible, maintain application state in JS to avoid slower DOM queries  no-jquery/no-class-state
  155:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  156:5   warning  'data_type' is never reassigned. Use 'const' instead                          prefer-const
  158:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  173:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  181:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  183:7   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  184:7   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  186:8   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  198:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  203:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  231:9   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  232:9   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  236:9   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  264:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  265:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  266:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  299:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  305:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  307:12  warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  308:8   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  309:8   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  328:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  334:11  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  334:11  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  339:7   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  340:7   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  341:7   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  342:7   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  343:7   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  344:7   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  345:7   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  346:7   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  463:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  464:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  465:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  467:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  468:8   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  469:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  486:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  487:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  488:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  515:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  516:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  517:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  518:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  519:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  520:8   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  521:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  531:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  532:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  535:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  536:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  537:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  541:18  warning  Prefer `String#slice()` over `String#substr()`                                unicorn/prefer-string-slice
  550:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  553:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  558:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  558:26  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  558:26  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  576:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  577:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  578:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  591:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  596:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  597:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  608:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  614:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  629:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  630:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  631:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  651:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  660:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  662:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  663:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables

/src/repo/libs/PF_CreateClass.js
  21:1  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  32:2  warning  Unexpected var, use let or const instead     no-var
  38:2  warning  Unexpected var, use let or const instead     no-var
  40:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  41:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  42:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  43:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  44:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  45:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  88:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  89:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/PF_CreateForm.js
   2:2  warning  ES2015 block-scoped variables are forbidden   es-x/no-block-scoped-variables
  27:4  warning  ES2015 block-scoped variables are forbidden   es-x/no-block-scoped-variables
  32:4  warning  ES2015 block-scoped variables are forbidden   es-x/no-block-scoped-variables
  60:3  warning  Expected no linebreak before this expression  implicit-arrow-linebreak

/src/repo/libs/PF_CreateProperty.js
   2:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  11:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/PF_CreateTemplate.js
    1:1  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
    2:1  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
    3:1  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   28:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   29:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   55:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   68:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   69:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  119:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  120:7  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  121:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  123:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  124:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  130:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  131:9  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  155:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  156:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  159:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  163:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/PF_FullCalendar.js
    17:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    18:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    20:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    21:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    22:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    24:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    25:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    26:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    27:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    28:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    29:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    30:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    31:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    32:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    33:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    34:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    41:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    42:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    49:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    50:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    51:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    52:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    53:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    55:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    56:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    57:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    58:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    59:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    59:7   warning  'events' is never reassigned. Use 'const' instead                             prefer-const
    59:90  warning  'eventsNoDate' is never reassigned. Use 'const' instead                       prefer-const
    60:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    69:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    70:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    71:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    72:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    75:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   124:11  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   124:11  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   128:19  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   128:19  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   132:19  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   132:19  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   157:11  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   157:11  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   161:19  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   161:19  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   165:19  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   165:19  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   172:11  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   172:11  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   176:19  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   176:19  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   180:19  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   180:19  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   216:7   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   270:9   warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   270:9   warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   272:17  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   272:17  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   279:17  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   279:17  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   281:17  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   281:17  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   290:17  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   290:17  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   299:17  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   299:17  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   308:17  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   308:17  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   340:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   347:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   351:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   352:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   362:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   369:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   382:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   403:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   623:11  warning  Where possible, maintain application state in JS to avoid slower DOM queries  no-jquery/no-class-state
   736:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   737:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   738:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   740:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   754:11  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   754:11  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   756:13  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   764:18  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   764:18  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   771:52  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   771:52  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   775:9   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   779:54  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   779:54  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   780:13  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   780:13  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   782:15  warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   790:51  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   790:51  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   791:13  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   791:13  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   793:15  warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   826:11  warning  Where possible, maintain application state in JS to avoid slower DOM queries  no-jquery/no-class-state
   861:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   862:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   948:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1063:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1064:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1065:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1066:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1067:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1068:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1069:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1072:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1073:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1074:10  warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1076:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1083:12  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1083:12  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1084:13  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1084:13  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1086:20  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1086:20  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1088:20  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1088:20  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1096:21  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1124:12  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1124:12  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1125:13  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1125:13  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1127:20  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1127:20  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1129:20  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1129:20  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1131:20  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1131:20  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1133:20  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1133:20  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1135:20  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1135:20  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1137:20  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1137:20  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1145:21  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1153:7   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1157:14  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1157:14  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1157:71  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1157:71  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1161:14  warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1171:14  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1171:14  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1177:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1182:10  warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1183:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1184:10  warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1186:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables

/src/repo/libs/PF_SpreadsheetAutocompleteWidget.js
   14:2   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
   40:2   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
   42:3   warning  'deferred' is never reassigned. Use 'const' instead               prefer-const
   52:2   warning  'api' is never reassigned. Use 'const' instead                    prefer-const
   53:2   warning  'requestParams' is never reassigned. Use 'const' instead          prefer-const
   61:3   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
   69:3   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
   71:8   warning  ES2016 'Array.prototype.includes' method is forbidden             es-x/no-array-prototype-includes
   71:8   warning  ES2015 'String.prototype.includes' method is forbidden            es-x/no-string-prototype-includes
   76:4   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
   77:4   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
   99:2   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  100:3   warning  'items' is never reassigned. Use 'const' instead                  prefer-const
  114:9   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  122:3   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  122:7   warning  'self' is never reassigned. Use 'const' instead                   prefer-const
  123:4   warning  'wgPageFormsEDSettings' is never reassigned. Use 'const' instead  prefer-const
  124:4   warning  'name' is never reassigned. Use 'const' instead                   prefer-const
  125:4   warning  'edgValues' is never reassigned. Use 'const' instead              prefer-const
  131:5   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  133:6   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  135:21  warning  ES2016 'Array.prototype.includes' method is forbidden             es-x/no-array-prototype-includes
  135:21  warning  ES2015 'String.prototype.includes' method is forbidden            es-x/no-string-prototype-includes
  165:2   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  169:2   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  172:2   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  173:2   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  174:2   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  177:17  warning  Prefer `String#slice()` over `String#substr()`                    unicorn/prefer-string-slice
  209:2   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  222:2   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  223:2   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  224:2   warning  '$baseElement' is never reassigned. Use 'const' instead           prefer-const

/src/repo/libs/PF_SpreadsheetComboBoxInput.js
   30:2   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
   30:6   warning  'data_source' is never reassigned. Use 'const' instead                          prefer-const
   31:3   warning  'data_type' is never reassigned. Use 'const' instead                            prefer-const
   33:3   warning  'self' is never reassigned. Use 'const' instead                                 prefer-const
   34:3   warning  'values' is never reassigned. Use 'const' instead                               prefer-const
   43:3   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
   50:5   warning  Unexpected var, use let or const instead                                        no-var
   52:6   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
   54:7   warning  Unexpected var, use let or const instead                                        no-var
   54:11  warning  'valueFilter' declared on line 56 column 11 is used outside of binding context  block-scoped-var
   56:7   warning  Unexpected var, use let or const instead                                        no-var
   56:11  warning  'valueFilter' declared on line 54 column 11 is used outside of binding context  block-scoped-var
   58:11  warning  'valueFilter' declared on line 54 column 11 is used outside of binding context  block-scoped-var
   58:11  warning  'valueFilter' declared on line 56 column 11 is used outside of binding context  block-scoped-var
   82:3   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
   85:4   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
   88:4   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
   89:9   warning  ES2016 'Array.prototype.includes' method is forbidden                           es-x/no-array-prototype-includes
   89:9   warning  ES2015 'String.prototype.includes' method is forbidden                          es-x/no-string-prototype-includes
   92:5   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
   93:5   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
   94:5   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
   95:5   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
   96:5   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
   97:5   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
   98:5   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
   99:5   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
  114:13  warning  'i' declared on line 50 column 9 is used outside of binding context             block-scoped-var
  114:20  warning  'i' declared on line 50 column 9 is used outside of binding context             block-scoped-var
  114:37  warning  'i' declared on line 50 column 9 is used outside of binding context             block-scoped-var
  116:20  warning  'i' declared on line 50 column 9 is used outside of binding context             block-scoped-var
  116:62  warning  'i' declared on line 50 column 9 is used outside of binding context             block-scoped-var
  130:1   warning  Missing JSDoc @return type                                                      jsdoc/require-returns-type
  133:2   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
  137:2   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
  140:2   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
  141:2   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
  142:2   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
  145:17  warning  Prefer `String#slice()` over `String#substr()`                                  unicorn/prefer-string-slice
  172:2   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
  183:9   warning  ES2016 'Array.prototype.includes' method is forbidden                           es-x/no-array-prototype-includes
  183:9   warning  ES2015 'String.prototype.includes' method is forbidden                          es-x/no-string-prototype-includes
  189:1   warning  The type 'integer' is undefined                                                 jsdoc/no-undefined-types
  194:2   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
  195:2   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
  196:2   warning  jQuery collection names must match the variablePattern                          no-jquery/variable-pattern
  196:2   warning  'baseElement' is never reassigned. Use 'const' instead                          prefer-const

/src/repo/libs/PF_autoedit.js
   13:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   14:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   15:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   15:18  warning  Where possible, maintain application state in JS to avoid slower DOM queries  no-jquery/no-class-state
   24:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   61:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   62:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   64:11  warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   75:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   85:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   86:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   87:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   88:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   89:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   89:23  warning  Where possible, maintain application state in JS to avoid slower DOM queries  no-jquery/no-class-state
   91:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   96:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  100:4   warning  Prefer .then to .done                                                         no-jquery/no-done-fail

/src/repo/libs/PF_autogrow.js
  15:1  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  16:1  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  19:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  25:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  26:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  28:7  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/PF_checkboxes.js
   4:1  warning  Missing JSDoc @param "$" type                jsdoc/require-param-type
   5:1  warning  Missing JSDoc @param "mw" type               jsdoc/require-param-type
  18:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  21:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  34:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  41:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/PF_collapsible.js
  27:3  warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  30:8  warning  Where possible, maintain application state in JS to avoid slower DOM queries  no-jquery/no-class-state

/src/repo/libs/PF_datepicker.js
   4:1  warning  Missing JSDoc @param "$" type                                                 jsdoc/require-param-type
   5:1  warning  Missing JSDoc @param "oo" type                                                jsdoc/require-param-type
   6:1  warning  Missing JSDoc @param "mw" type                                                jsdoc/require-param-type
   7:1  warning  Missing JSDoc @param "pf" type                                                jsdoc/require-param-type
  18:9  warning  Where possible, maintain application state in JS to avoid slower DOM queries  no-jquery/no-class-state

/src/repo/libs/PF_datetimepicker.js
   4:1  warning  Missing JSDoc @param "$" type                jsdoc/require-param-type
   5:1  warning  Missing JSDoc @param "oo" type               jsdoc/require-param-type
   6:1  warning  Missing JSDoc @param "mw" type               jsdoc/require-param-type
   7:1  warning  Missing JSDoc @param "pf" type               jsdoc/require-param-type
  15:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  26:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  27:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  28:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  40:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  41:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/PF_editWarning.js
  13:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  21:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  21:44  warning  'origValues' is never reassigned. Use 'const' instead                         prefer-const
  22:4   warning  '$allInputs' is never reassigned. Use 'const' instead                         prefer-const
  31:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  32:9   warning  Where possible, maintain application state in JS to avoid slower DOM queries  no-jquery/no-class-state
  40:3   warning  'allowCloseWindow' is never reassigned. Use 'const' instead                   prefer-const
  55:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  61:11  warning  Where possible, maintain application state in JS to avoid slower DOM queries  no-jquery/no-class-state

/src/repo/libs/PF_formInput.js
    6:1   warning  Missing JSDoc @param "$" type                jsdoc/require-param-type
    7:1   warning  Missing JSDoc @param "mw" type               jsdoc/require-param-type
   14:3   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   15:3   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   16:3   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   17:3   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   20:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   21:4   warning  ES2015 'for-of' statements are forbidden     es-x/no-for-of-loops
   21:10  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   27:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   30:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   35:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   65:3   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   71:3   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   76:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   78:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   80:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   82:4   warning  ES2015 'for-of' statements are forbidden     es-x/no-for-of-loops
   82:10  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   88:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   94:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  106:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  112:3   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/PF_imagePreview.js
   4:1   warning  Missing JSDoc @param "$" type                jsdoc/require-param-type
   5:1   warning  Missing JSDoc @param "mw" type               jsdoc/require-param-type
  11:2   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  26:6   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  28:12  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  29:7   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  42:3   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  43:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  44:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  61:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  62:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  63:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/PF_maps.js
    8:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
    9:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   10:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   38:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   42:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   52:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   76:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  109:6  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  120:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  123:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  136:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  137:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  138:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  158:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  182:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  183:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  184:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  185:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  186:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  187:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  188:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  189:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  199:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  200:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  201:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  208:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  209:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  210:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  217:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  218:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  219:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  240:4  warning  Prefer .then to .done                        no-jquery/no-done-fail
  246:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  247:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  252:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  253:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  254:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  255:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  256:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  257:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  259:6  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  262:6  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  263:6  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  264:6  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  267:6  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  276:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  277:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  282:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  283:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  293:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  301:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  307:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  345:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  361:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  362:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  379:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  402:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  407:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/PF_maps.offline.js
   21:2  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   22:2  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   24:2  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   39:3  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   56:4  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   79:3  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   84:3  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  117:3  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  141:3  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  173:6  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  192:3  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  193:3  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  198:3  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  199:3  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  209:4  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  213:4  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  217:4  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  225:3  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  239:4  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  240:4  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  241:4  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  260:3  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  260:7  warning  'addressText' is never reassigned. Use 'const' instead  prefer-const
  274:4  warning  Prefer .then to .done                                   no-jquery/no-done-fail
  280:5  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  281:5  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  286:5  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  287:5  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  288:5  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  289:5  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  290:5  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  291:5  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  293:6  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  296:6  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  297:6  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  298:6  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  301:6  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  311:3  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables

/src/repo/libs/PF_popupform.js
   36:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   37:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   38:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   39:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   40:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   41:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   42:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   43:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   45:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   46:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   48:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   50:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   52:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   53:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   73:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   74:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   75:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   76:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   78:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   79:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   81:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   82:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   85:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   86:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   90:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   91:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   93:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   94:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  107:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  108:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  126:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  127:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  131:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  132:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  134:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  138:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  144:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  145:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  147:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  148:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  294:5   warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  294:5   warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  295:4   warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  295:4   warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  299:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  302:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  309:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  313:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  315:3   warning  jQuery collection names must match the variablePattern                        no-jquery/variable-pattern
  319:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  363:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  365:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  374:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  375:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  379:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  406:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  411:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  414:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  418:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  463:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  474:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  476:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  502:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  503:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  512:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  546:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  586:3   warning  ES2024 Resizable ArrayBuffer is forbidden                                     es-x/no-resizable-and-growable-arraybuffers
  592:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  593:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  594:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  598:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  599:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  604:5   warning  Unexpected var, use let or const instead                                      no-var
  638:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  664:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  667:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  695:12  warning  Where possible, maintain application state in JS to avoid slower DOM queries  no-jquery/no-class-state
  709:12  warning  Where possible, maintain application state in JS to avoid slower DOM queries  no-jquery/no-class-state
  711:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  742:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  743:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  750:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  751:11  warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  753:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  754:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables

/src/repo/libs/PF_preview.js
   13:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   14:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   15:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   22:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   24:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   25:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   28:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   30:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   31:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   56:3  warning  ES2024 Resizable ArrayBuffer is forbidden    es-x/no-resizable-and-growable-arraybuffers
   62:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   86:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   88:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   90:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  109:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  110:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  121:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  128:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  143:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  144:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/PF_rating.js
   5:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   6:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  21:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  22:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  23:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  24:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  43:4  warning  Selector extensions are not allowed          no-jquery/no-sizzle

/src/repo/libs/PF_regexp.js
  20:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  21:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  22:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  30:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/PF_simpleupload.js
    5:1   warning  Missing JSDoc @param "$" type                            jsdoc/require-param-type
    6:1   warning  Missing JSDoc @param "mw" type                           jsdoc/require-param-type
   15:3   warning  ES2015 block-scoped variables are forbidden              es-x/no-block-scoped-variables
   16:3   warning  ES2015 block-scoped variables are forbidden              es-x/no-block-scoped-variables
   27:3   warning  ES2015 block-scoped variables are forbidden              es-x/no-block-scoped-variables
   36:3   warning  ES2015 block-scoped variables are forbidden              es-x/no-block-scoped-variables
   43:3   warning  ES2015 block-scoped variables are forbidden              es-x/no-block-scoped-variables
   45:4   warning  'loadingImage' is never reassigned. Use 'const' instead  prefer-const
   84:4   warning  ES2015 block-scoped variables are forbidden              es-x/no-block-scoped-variables
   85:21  warning  ES2016 'Array.prototype.includes' method is forbidden    es-x/no-array-prototype-includes
   85:21  warning  ES2015 'String.prototype.includes' method is forbidden   es-x/no-string-prototype-includes
  101:4   warning  ES2015 block-scoped variables are forbidden              es-x/no-block-scoped-variables
  102:4   warning  ES2015 block-scoped variables are forbidden              es-x/no-block-scoped-variables
  104:4   warning  ES2015 block-scoped variables are forbidden              es-x/no-block-scoped-variables
  129:7   warning  ES2015 block-scoped variables are forbidden              es-x/no-block-scoped-variables
  130:29  warning  ES2016 'Array.prototype.includes' method is forbidden    es-x/no-array-prototype-includes
  130:29  warning  ES2015 'String.prototype.includes' method is forbidden   es-x/no-string-prototype-includes

/src/repo/libs/PF_spreadsheet.js
   10:1   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
   11:1   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
   12:1   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
   13:1   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
   14:1   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
   15:1   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
   16:1   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
   17:1   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
   18:1   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
   21:2   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
   37:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
   42:12  warning  ES2016 'Array.prototype.includes' method is forbidden                        es-x/no-array-prototype-includes
   46:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
   60:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
   72:11  warning  ES2016 'Array.prototype.includes' method is forbidden                        es-x/no-array-prototype-includes
   72:11  warning  ES2015 'String.prototype.includes' method is forbidden                       es-x/no-string-prototype-includes
   84:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  103:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  108:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  114:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  115:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  116:9   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  120:10  warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  134:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  135:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  136:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  146:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  165:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  171:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  174:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  186:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  187:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  203:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  205:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  218:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  244:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  245:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  252:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  253:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  265:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  266:9   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  267:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  275:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  276:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  278:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  294:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  326:3   warning  'editor' is never reassigned. Use 'const' instead                            prefer-const
  354:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  367:2   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  372:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  373:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  373:7   warning  'templateName' is never reassigned. Use 'const' instead                      prefer-const
  374:4   warning  'formName' is never reassigned. Use 'const' instead                          prefer-const
  376:4   warning  'editMultiplePages' is never reassigned. Use 'const' instead                 prefer-const
  377:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  382:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  383:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  393:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  394:3   warning  ES2015 'for-of' statements are forbidden                                     es-x/no-for-of-loops
  394:9   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  396:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  397:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  398:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  416:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  439:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  440:3   warning  ES2015 'for-of' statements are forbidden                                     es-x/no-for-of-loops
  440:9   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  444:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  445:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  446:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  447:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  448:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  457:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  470:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  471:12  warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  489:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  490:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  502:12  warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  503:7   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  504:7   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  521:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  522:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  523:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  524:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  525:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  527:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  531:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  532:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  533:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  534:5   warning  Unexpected var, use let or const instead                                     no-var
  536:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  561:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  566:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  567:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  568:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  570:10  warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  571:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  611:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  682:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  683:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  684:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  685:10  warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  687:6   warning  ES2015 'for-of' statements are forbidden                                     es-x/no-for-of-loops
  687:11  warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  688:7   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  689:7   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  690:7   warning  ES2015 'for-of' statements are forbidden                                     es-x/no-for-of-loops
  690:12  warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  691:8   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  692:8   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  693:8   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  704:11  warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  705:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  706:6   warning  Unexpected var, use let or const instead                                     no-var
  709:7   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  719:8   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  723:8   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  744:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  745:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  750:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  751:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  751:12  warning  'columnParams' is already declared in the upper scope on line 853 column 11  no-shadow
  753:7   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  757:7   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  760:8   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  761:8   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  769:7   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  772:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  773:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  798:8   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  804:8   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  811:8   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  812:8   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  823:8   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  853:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  855:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  863:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  863:10  warning  'numberOfColumns' is never reassigned. Use 'const' instead                   prefer-const
  863:28  warning  Positional selector extensions are not allowed                               no-jquery/no-sizzle
  867:6   warning  Positional selector extensions are not allowed                               no-jquery/no-sizzle
  876:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  885:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  891:7   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  896:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  903:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  904:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  911:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  924:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  924:7   warning  'templateName' is never reassigned. Use 'const' instead                      prefer-const
  925:4   warning  'table' is never reassigned. Use 'const' instead                             prefer-const
  927:4   warning  'editMultiplePages' is never reassigned. Use 'const' instead                 prefer-const
  928:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  928:27  warning  Positional selector extensions are not allowed                               no-jquery/no-sizzle
  933:4   warning  Positional selector extensions are not allowed                               no-jquery/no-sizzle
  942:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  953:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  965:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  966:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  971:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  972:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  973:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables

/src/repo/libs/PF_submit.js
   13:2   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
   14:2   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
   50:2   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
   52:3   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
   78:2   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
   79:3   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
   90:4   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
  105:3   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
  106:3   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
  107:3   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
  111:4   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
  130:4   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
  132:4   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
  133:4   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
  142:46  warning  Prefer `String#slice()` over `String#substring()`                   unicorn/prefer-string-slice
  162:3   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
  175:4   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
  175:10  warning  '$form' is already declared in the upper scope on line 14 column 6  no-shadow
  177:4   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
  200:3   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
  202:4   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
  237:6   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
  238:6   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables

/src/repo/libs/PF_timepicker.js
   19:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   21:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   24:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   44:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   47:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   62:9  warning  Selector extensions are not allowed          no-jquery/no-sizzle
   72:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   80:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   81:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   82:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   84:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   85:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   89:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  100:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  109:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  118:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  120:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  123:8  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  125:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  132:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  134:9  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  136:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/PF_tree.js
   6:1  warning  Missing JSDoc @param "$" type                jsdoc/require-param-type
   7:1  warning  Missing JSDoc @param "mw" type               jsdoc/require-param-type
   8:1  warning  Missing JSDoc @param "pf" type               jsdoc/require-param-type
  22:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  25:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  27:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  34:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  53:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  57:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  66:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  69:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  75:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  88:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  89:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/PF_wikieditor.js
  14:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/PageForms.js
     1:1   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   100:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   115:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   119:9   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   142:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   143:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   153:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   154:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   185:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   187:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   188:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   194:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   197:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   198:10  warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   199:5   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   200:5   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   201:10  warning  Where possible, maintain application state in JS to avoid slower DOM queries         no-jquery/no-class-state
   214:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   215:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   218:7   warning  ES2016 'Array.prototype.includes' method is forbidden                                es-x/no-array-prototype-includes
   218:7   warning  ES2015 'String.prototype.includes' method is forbidden                               es-x/no-string-prototype-includes
   232:19  warning  Where possible, maintain application state in JS to avoid slower DOM queries         no-jquery/no-class-state
   243:9   warning  Selector extensions are not allowed                                                  no-jquery/no-sizzle
   255:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   257:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   265:10  warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   267:5   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   277:8   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   292:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   293:3   warning  'wgPageFormsShowOnSelect' is never reassigned. Use 'const' instead                   prefer-const
   325:9   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   326:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   327:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   338:8   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   352:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   352:6   warning  'wgPageFormsShowOnSelect' is never reassigned. Use 'const' instead                   prefer-const
   367:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   368:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   378:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   378:6   warning  'wgPageFormsShowOnSelect' is never reassigned. Use 'const' instead                   prefer-const
   390:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   407:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   408:61  warning  All possible message keys should be documented. See https://w.wiki/4r9a for details  mediawiki/msg-doc
   415:58  warning  All possible message keys should be documented. See https://w.wiki/4r9a for details  mediawiki/msg-doc
   422:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   423:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   432:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   433:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   434:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   447:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   448:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   467:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   468:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   469:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   475:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   480:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   481:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   482:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   484:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   485:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   486:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   488:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   490:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   494:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   514:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   515:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   516:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   546:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   547:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   548:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   549:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   550:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   551:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   568:5   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   605:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   626:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   638:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   648:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   658:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   672:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   673:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   678:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   688:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   690:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   700:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   713:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   724:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   725:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   741:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   750:8   warning  ES2016 'Array.prototype.includes' method is forbidden                                es-x/no-array-prototype-includes
   750:8   warning  ES2015 'String.prototype.includes' method is forbidden                               es-x/no-string-prototype-includes
   756:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   763:8   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   764:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   765:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   766:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   767:3   warning  Unexpected var, use let or const instead                                             no-var
   772:9   warning  ES2016 'Array.prototype.includes' method is forbidden                                es-x/no-array-prototype-includes
   772:9   warning  ES2015 'String.prototype.includes' method is forbidden                               es-x/no-string-prototype-includes
   773:5   warning  ES2016 'Array.prototype.includes' method is forbidden                                es-x/no-array-prototype-includes
   773:5   warning  ES2015 'String.prototype.includes' method is forbidden                               es-x/no-string-prototype-includes
   783:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   797:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   798:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   836:2   warning  Unexpected var, use let or const instead                                             no-var
   836:6   warning  'negative' declared on line 839 column 7 is used outside of binding context          block-scoped-var
   839:3   warning  Unexpected var, use let or const instead                                             no-var
   841:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   845:7   warning  'negative' declared on line 839 column 7 is used outside of binding context          block-scoped-var
   858:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   859:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   860:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   862:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   863:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   864:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   866:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   868:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   886:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   887:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   888:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   889:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   890:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   891:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   892:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   894:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   895:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   896:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   897:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   898:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   899:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   900:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   902:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   905:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   929:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   931:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1019:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1019:8   warning  jQuery collection names must match the variablePattern                               no-jquery/variable-pattern
  1020:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1020:8   warning  jQuery collection names must match the variablePattern                               no-jquery/variable-pattern
  1026:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1026:8   warning  jQuery collection names must match the variablePattern                               no-jquery/variable-pattern
  1027:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1027:8   warning  jQuery collection names must match the variablePattern                               no-jquery/variable-pattern
  1033:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1038:9   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1095:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1096:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1102:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1104:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1109:5   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1113:5   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1114:5   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1115:11  warning  ES2016 'Array.prototype.includes' method is forbidden                                es-x/no-array-prototype-includes
  1115:11  warning  ES2015 'String.prototype.includes' method is forbidden                               es-x/no-string-prototype-includes
  1120:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1121:9   warning  Where possible, maintain application state in JS to avoid slower DOM queries         no-jquery/no-class-state
  1128:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1152:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1153:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1167:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1171:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1174:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1178:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1190:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1194:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1215:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1218:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1228:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1228:9   warning  jQuery collection names must match the variablePattern                               no-jquery/variable-pattern
  1229:8   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1230:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1240:1   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1242:1   warning  JSDoc @return declaration present but return expression not available in function    jsdoc/require-returns-check
  1249:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1250:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1251:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1252:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1261:10  warning  Where possible, maintain application state in JS to avoid slower DOM queries         no-jquery/no-class-state
  1265:8   warning  Where possible, maintain application state in JS to avoid slower DOM queries         no-jquery/no-class-state
  1276:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1311:5   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1318:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1325:5   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1337:5   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1339:6   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1415:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1422:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1428:9   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1429:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1460:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1461:3   warning  'wgPageFormsCargoFields' is never reassigned. Use 'const' instead                    prefer-const
  1462:3   warning  'wgPageFormsFieldProperties' is never reassigned. Use 'const' instead                prefer-const
  1465:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1466:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1467:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1468:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1469:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1470:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1471:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1472:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1475:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1476:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1479:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1480:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1499:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1516:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1521:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1522:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1523:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1524:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1525:8   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1526:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1533:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1535:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1536:4   warning  'dependentField' is never reassigned. Use 'const' instead                            prefer-const
  1545:8   warning  Where possible, maintain application state in JS to avoid slower DOM queries         no-jquery/no-class-state
  1639:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1640:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1641:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1650:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1657:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1657:9   warning  jQuery collection names must match the variablePattern                               no-jquery/variable-pattern
  1658:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1659:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1660:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1664:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1664:10  warning  jQuery collection names must match the variablePattern                               no-jquery/variable-pattern
  1665:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1666:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1667:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1742:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1743:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1754:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1801:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1802:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1804:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1818:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1823:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1824:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1825:9   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1859:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1886:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1890:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1891:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1910:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1912:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1935:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1937:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1938:30  warning  Where possible, maintain application state in JS to avoid slower DOM queries         no-jquery/no-class-state
  1942:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1950:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1951:8   warning  Where possible, maintain application state in JS to avoid slower DOM queries         no-jquery/no-class-state
  1955:8   warning  Where possible, maintain application state in JS to avoid slower DOM queries         no-jquery/no-class-state
  1960:7   warning  Where possible, maintain application state in JS to avoid slower DOM queries         no-jquery/no-class-state

/src/repo/libs/ext.pf.select2.base.js
   40:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
   44:5   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
   47:5   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
   53:5   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
   58:5   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
   65:6   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
   72:6   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
   78:5   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
   79:5   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
   86:7   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
   92:8   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  123:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  124:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  125:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  127:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  128:10  warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  129:5   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  146:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  147:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  148:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  150:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  151:10  warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  152:5   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  193:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  194:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  195:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  217:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  218:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  240:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  255:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  257:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  258:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  289:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  297:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  298:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  299:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  300:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  301:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  310:5   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  311:5   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  313:6   warning  Prefer `String#slice()` over `String#substr()`  unicorn/prefer-string-slice
  314:6   warning  Prefer `String#slice()` over `String#substr()`  unicorn/prefer-string-slice

/src/repo/libs/ext.pf.select2.tokens.js
    1:1   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   35:2   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   44:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   47:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   57:4   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   65:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   66:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   67:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   78:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   84:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   86:6   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   90:11  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  101:4   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  104:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  112:4   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  130:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  131:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  132:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  136:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  146:6   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  154:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  160:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  161:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  162:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  165:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  172:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  184:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  185:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  186:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  189:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  190:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  203:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  206:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  207:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  208:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  209:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  218:4   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  219:4   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  227:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  237:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  250:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  277:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  278:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  279:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  280:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  283:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  285:9   warning  ES2016 'Array.prototype.includes' method is forbidden   es-x/no-array-prototype-includes
  285:9   warning  ES2015 'String.prototype.includes' method is forbidden  es-x/no-string-prototype-includes
  288:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  289:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  325:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  329:11  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  337:4   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  338:4   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  374:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  375:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  376:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  377:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  378:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  380:4   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  391:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  396:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  399:6   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  400:6   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  402:7   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  403:7   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  405:8   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  421:8   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  425:9   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  425:44  warning  ES2016 'Array.prototype.includes' method is forbidden   es-x/no-array-prototype-includes
  425:44  warning  ES2015 'String.prototype.includes' method is forbidden  es-x/no-string-prototype-includes
  454:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  456:4   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  461:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  462:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables

/src/repo/libs/uploadable/Booklet.js
  33:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/uploadable/init.js
   1:1  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   3:1  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   4:1  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  10:1  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  13:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  17:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  19:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  32:1  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/widgets/mw.widgets.PFDateInputWidget.js
   5:3   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  24:2   warning  Missing JSDoc @return declaration                                 jsdoc/require-returns
  30:1   warning  Missing JSDoc @param "date" type                                  jsdoc/require-param-type
  31:1   warning  Missing JSDoc @param "format" type                                jsdoc/require-param-type
  34:3   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  42:3   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  43:4   warning  'inputFormat' is never reassigned. Use 'const' instead            prefer-const
  44:4   warning  'value' is never reassigned. Use 'const' instead                  prefer-const
  45:4   warning  'valid' is never reassigned. Use 'const' instead                  prefer-const
  53:3   warning  'mom' is never reassigned. Use 'const' instead                    prefer-const
  60:3   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  75:3   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  78:4   warning  'inputFormat' is never reassigned. Use 'const' instead            prefer-const
  84:3   warning  'moment' is never reassigned. Use 'const' instead                 prefer-const
  85:3   warning  'parsedDatePartsLength' is never reassigned. Use 'const' instead  prefer-const
  92:40  warning  ES2016 'Array.prototype.includes' method is forbidden             es-x/no-array-prototype-includes
  92:40  warning  ES2015 'String.prototype.includes' method is forbidden            es-x/no-string-prototype-includes

✖ 1337 problems (0 errors, 1337 warnings)


Running "banana:all" (banana) task
>> 1 message directory checked.

Done.

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "grunt": {
      "name": "grunt",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "js-yaml"
      ],
      "effects": [
        "grunt-eslint"
      ],
      "range": ">=0.4.0-a",
      "nodes": [
        "node_modules/grunt"
      ],
      "fixAvailable": {
        "name": "grunt",
        "version": "0.3.17",
        "isSemVerMajor": true
      }
    },
    "grunt-eslint": {
      "name": "grunt-eslint",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "grunt"
      ],
      "effects": [],
      "range": "<=1.0.0 || >=18.1.0",
      "nodes": [
        "node_modules/grunt-eslint"
      ],
      "fixAvailable": {
        "name": "grunt-eslint",
        "version": "18.0.0",
        "isSemVerMajor": true
      }
    },
    "js-yaml": {
      "name": "js-yaml",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1109754,
          "name": "js-yaml",
          "dependency": "js-yaml",
          "title": "js-yaml has prototype pollution in merge (<<)",
          "url": "https://github.com/advisories/GHSA-mh29-5h37-fv8m",
          "severity": "moderate",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 5.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"
          },
          "range": "<4.1.1"
        }
      ],
      "effects": [
        "grunt"
      ],
      "range": "<4.1.1",
      "nodes": [
        "node_modules/@eslint/eslintrc/node_modules/js-yaml",
        "node_modules/eslint/node_modules/js-yaml",
        "node_modules/js-yaml"
      ],
      "fixAvailable": {
        "name": "grunt",
        "version": "0.3.17",
        "isSemVerMajor": true
      }
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 3,
      "high": 0,
      "critical": 0,
      "total": 3
    },
    "dependencies": {
      "prod": 1,
      "dev": 317,
      "optional": 0,
      "peer": 1,
      "peerOptional": 0,
      "total": 317
    }
  }
}

--- end ---
Attempting to npm audit fix
$ /usr/bin/npm audit fix --dry-run --only=dev --json
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
--- stdout ---
{
  "added": 0,
  "removed": 0,
  "changed": 3,
  "audited": 318,
  "funding": 68,
  "audit": {
    "auditReportVersion": 2,
    "vulnerabilities": {
      "grunt": {
        "name": "grunt",
        "severity": "moderate",
        "isDirect": true,
        "via": [
          "js-yaml"
        ],
        "effects": [
          "grunt-eslint"
        ],
        "range": ">=0.4.0-a",
        "nodes": [
          "node_modules/grunt"
        ],
        "fixAvailable": {
          "name": "grunt",
          "version": "0.3.17",
          "isSemVerMajor": true
        }
      },
      "grunt-eslint": {
        "name": "grunt-eslint",
        "severity": "moderate",
        "isDirect": true,
        "via": [
          "grunt"
        ],
        "effects": [],
        "range": "<=1.0.0 || >=18.1.0",
        "nodes": [
          "node_modules/grunt-eslint"
        ],
        "fixAvailable": {
          "name": "grunt-eslint",
          "version": "18.0.0",
          "isSemVerMajor": true
        }
      },
      "js-yaml": {
        "name": "js-yaml",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          {
            "source": 1109754,
            "name": "js-yaml",
            "dependency": "js-yaml",
            "title": "js-yaml has prototype pollution in merge (<<)",
            "url": "https://github.com/advisories/GHSA-mh29-5h37-fv8m",
            "severity": "moderate",
            "cwe": [
              "CWE-1321"
            ],
            "cvss": {
              "score": 5.3,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"
            },
            "range": "<4.1.1"
          }
        ],
        "effects": [
          "grunt"
        ],
        "range": "<4.1.1",
        "nodes": [
          "",
          "",
          ""
        ],
        "fixAvailable": {
          "name": "grunt",
          "version": "0.3.17",
          "isSemVerMajor": true
        }
      }
    },
    "metadata": {
      "vulnerabilities": {
        "info": 0,
        "low": 0,
        "moderate": 3,
        "high": 0,
        "critical": 0,
        "total": 3
      },
      "dependencies": {
        "prod": 1,
        "dev": 317,
        "optional": 0,
        "peer": 1,
        "peerOptional": 0,
        "total": 317
      }
    }
  }
}

--- end ---
{"added": 0, "removed": 0, "changed": 3, "audited": 318, "funding": 68, "audit": {"auditReportVersion": 2, "vulnerabilities": {"grunt": {"name": "grunt", "severity": "moderate", "isDirect": true, "via": ["js-yaml"], "effects": ["grunt-eslint"], "range": ">=0.4.0-a", "nodes": ["node_modules/grunt"], "fixAvailable": {"name": "grunt", "version": "0.3.17", "isSemVerMajor": true}}, "grunt-eslint": {"name": "grunt-eslint", "severity": "moderate", "isDirect": true, "via": ["grunt"], "effects": [], "range": "<=1.0.0 || >=18.1.0", "nodes": ["node_modules/grunt-eslint"], "fixAvailable": {"name": "grunt-eslint", "version": "18.0.0", "isSemVerMajor": true}}, "js-yaml": {"name": "js-yaml", "severity": "moderate", "isDirect": false, "via": [{"source": 1109754, "name": "js-yaml", "dependency": "js-yaml", "title": "js-yaml has prototype pollution in merge (<<)", "url": "https://github.com/advisories/GHSA-mh29-5h37-fv8m", "severity": "moderate", "cwe": ["CWE-1321"], "cvss": {"score": 5.3, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"}, "range": "<4.1.1"}], "effects": ["grunt"], "range": "<4.1.1", "nodes": ["", "", ""], "fixAvailable": {"name": "grunt", "version": "0.3.17", "isSemVerMajor": true}}}, "metadata": {"vulnerabilities": {"info": 0, "low": 0, "moderate": 3, "high": 0, "critical": 0, "total": 3}, "dependencies": {"prod": 1, "dev": 317, "optional": 0, "peer": 1, "peerOptional": 0, "total": 317}}}}
$ /usr/bin/npm audit fix --only=dev
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
--- stdout ---

up to date, audited 318 packages in 1s

68 packages are looking for funding
  run `npm fund` for details

# npm audit report

js-yaml  <4.1.1
Severity: moderate
js-yaml has prototype pollution in merge (<<) - https://github.com/advisories/GHSA-mh29-5h37-fv8m
fix available via `npm audit fix --force`
Will install grunt@0.3.17, which is a breaking change
node_modules/js-yaml
  grunt  >=0.4.0-a
  Depends on vulnerable versions of js-yaml
  node_modules/grunt
    grunt-eslint  <=1.0.0 || >=18.1.0
    Depends on vulnerable versions of grunt
    node_modules/grunt-eslint

3 moderate severity vulnerabilities

To address all issues (including breaking changes), run:
  npm audit fix --force

--- end ---
Verifying that tests still pass
$ /usr/bin/npm ci
--- stdout ---

added 317 packages, and audited 318 packages in 3s

68 packages are looking for funding
  run `npm fund` for details

3 moderate severity vulnerabilities

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.

--- end ---
$ /usr/bin/npm test
--- stdout ---

> test
> grunt test

Running "eslint:all" (eslint) task

/src/repo/libs/PF_AutoEditRating.js
   5:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   6:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  12:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  37:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  38:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  40:12  warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  57:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  58:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  61:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  63:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  63:23  warning  Where possible, maintain application state in JS to avoid slower DOM queries  no-jquery/no-class-state
  65:4   warning  Prefer .then to .done                                                         no-jquery/no-done-fail
  77:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  79:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  81:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  83:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  90:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables

/src/repo/libs/PF_AutocompleteWidget.js
   17:2   warning  ES2015 block-scoped variables are forbidden               es-x/no-block-scoped-variables
   67:2   warning  ES2015 block-scoped variables are forbidden               es-x/no-block-scoped-variables
   68:3   warning  'value' is never reassigned. Use 'const' instead          prefer-const
   69:3   warning  'deferred' is never reassigned. Use 'const' instead       prefer-const
   73:2   warning  'api' is never reassigned. Use 'const' instead            prefer-const
   74:2   warning  'requestParams' is never reassigned. Use 'const' instead  prefer-const
   98:2   warning  ES2015 block-scoped variables are forbidden               es-x/no-block-scoped-variables
  100:3   warning  'items' is never reassigned. Use 'const' instead          prefer-const
  129:2   warning  ES2015 block-scoped variables are forbidden               es-x/no-block-scoped-variables
  130:2   warning  ES2015 block-scoped variables are forbidden               es-x/no-block-scoped-variables
  133:2   warning  ES2015 block-scoped variables are forbidden               es-x/no-block-scoped-variables
  134:2   warning  ES2015 block-scoped variables are forbidden               es-x/no-block-scoped-variables
  135:2   warning  ES2015 block-scoped variables are forbidden               es-x/no-block-scoped-variables
  139:18  warning  Prefer `String#slice()` over `String#substr()`            unicorn/prefer-string-slice

/src/repo/libs/PF_ComboBoxInput.js
   20:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   34:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   35:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   36:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   39:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   65:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   66:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   67:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   68:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   70:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   71:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   77:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   92:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   93:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  120:9   warning  Where possible, maintain application state in JS to avoid slower DOM queries  no-jquery/no-class-state
  136:51  warning  ES2015 default parameters are forbidden                                       es-x/no-default-parameters
  137:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  137:7   warning  'input_id' is never reassigned. Use 'const' instead                           prefer-const
  138:4   warning  'values' is never reassigned. Use 'const' instead                             prefer-const
  139:4   warning  'dep_on' is never reassigned. Use 'const' instead                             prefer-const
  140:4   warning  'self' is never reassigned. Use 'const' instead                               prefer-const
  145:4   warning  'wgPageFormsAutocompleteOnAllChars' is never reassigned. Use 'const' instead  prefer-const
  148:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  149:8   warning  Where possible, maintain application state in JS to avoid slower DOM queries  no-jquery/no-class-state
  155:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  156:5   warning  'data_type' is never reassigned. Use 'const' instead                          prefer-const
  158:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  173:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  181:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  183:7   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  184:7   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  186:8   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  198:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  203:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  231:9   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  232:9   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  236:9   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  264:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  265:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  266:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  299:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  305:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  307:12  warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  308:8   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  309:8   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  328:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  334:11  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  334:11  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  339:7   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  340:7   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  341:7   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  342:7   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  343:7   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  344:7   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  345:7   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  346:7   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  463:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  464:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  465:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  467:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  468:8   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  469:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  486:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  487:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  488:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  515:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  516:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  517:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  518:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  519:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  520:8   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  521:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  531:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  532:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  535:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  536:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  537:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  541:18  warning  Prefer `String#slice()` over `String#substr()`                                unicorn/prefer-string-slice
  550:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  553:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  558:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  558:26  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  558:26  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  576:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  577:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  578:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  591:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  596:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  597:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  608:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  614:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  629:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  630:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  631:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  651:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  660:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  662:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  663:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables

/src/repo/libs/PF_CreateClass.js
  21:1  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  32:2  warning  Unexpected var, use let or const instead     no-var
  38:2  warning  Unexpected var, use let or const instead     no-var
  40:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  41:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  42:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  43:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  44:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  45:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  88:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  89:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/PF_CreateForm.js
   2:2  warning  ES2015 block-scoped variables are forbidden   es-x/no-block-scoped-variables
  27:4  warning  ES2015 block-scoped variables are forbidden   es-x/no-block-scoped-variables
  32:4  warning  ES2015 block-scoped variables are forbidden   es-x/no-block-scoped-variables
  60:3  warning  Expected no linebreak before this expression  implicit-arrow-linebreak

/src/repo/libs/PF_CreateProperty.js
   2:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  11:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/PF_CreateTemplate.js
    1:1  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
    2:1  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
    3:1  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   28:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   29:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   55:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   68:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   69:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  119:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  120:7  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  121:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  123:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  124:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  130:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  131:9  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  155:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  156:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  159:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  163:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/PF_FullCalendar.js
    17:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    18:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    20:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    21:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    22:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    24:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    25:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    26:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    27:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    28:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    29:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    30:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    31:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    32:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    33:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    34:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    41:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    42:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    49:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    50:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    51:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    52:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    53:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    55:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    56:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    57:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    58:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    59:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    59:7   warning  'events' is never reassigned. Use 'const' instead                             prefer-const
    59:90  warning  'eventsNoDate' is never reassigned. Use 'const' instead                       prefer-const
    60:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    69:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    70:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    71:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    72:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
    75:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   124:11  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   124:11  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   128:19  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   128:19  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   132:19  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   132:19  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   157:11  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   157:11  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   161:19  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   161:19  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   165:19  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   165:19  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   172:11  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   172:11  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   176:19  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   176:19  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   180:19  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   180:19  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   216:7   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   270:9   warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   270:9   warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   272:17  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   272:17  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   279:17  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   279:17  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   281:17  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   281:17  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   290:17  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   290:17  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   299:17  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   299:17  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   308:17  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   308:17  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   340:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   347:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   351:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   352:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   362:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   369:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   382:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   403:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   623:11  warning  Where possible, maintain application state in JS to avoid slower DOM queries  no-jquery/no-class-state
   736:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   737:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   738:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   740:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   754:11  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   754:11  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   756:13  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   764:18  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   764:18  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   771:52  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   771:52  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   775:9   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   779:54  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   779:54  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   780:13  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   780:13  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   782:15  warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   790:51  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   790:51  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   791:13  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
   791:13  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
   793:15  warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   826:11  warning  Where possible, maintain application state in JS to avoid slower DOM queries  no-jquery/no-class-state
   861:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   862:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   948:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1063:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1064:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1065:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1066:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1067:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1068:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1069:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1072:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1073:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1074:10  warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1076:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1083:12  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1083:12  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1084:13  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1084:13  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1086:20  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1086:20  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1088:20  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1088:20  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1096:21  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1124:12  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1124:12  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1125:13  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1125:13  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1127:20  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1127:20  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1129:20  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1129:20  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1131:20  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1131:20  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1133:20  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1133:20  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1135:20  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1135:20  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1137:20  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1137:20  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1145:21  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1153:7   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1157:14  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1157:14  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1157:71  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1157:71  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1161:14  warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1171:14  warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  1171:14  warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  1177:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1182:10  warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1183:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1184:10  warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  1186:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables

/src/repo/libs/PF_SpreadsheetAutocompleteWidget.js
   14:2   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
   40:2   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
   42:3   warning  'deferred' is never reassigned. Use 'const' instead               prefer-const
   52:2   warning  'api' is never reassigned. Use 'const' instead                    prefer-const
   53:2   warning  'requestParams' is never reassigned. Use 'const' instead          prefer-const
   61:3   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
   69:3   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
   71:8   warning  ES2016 'Array.prototype.includes' method is forbidden             es-x/no-array-prototype-includes
   71:8   warning  ES2015 'String.prototype.includes' method is forbidden            es-x/no-string-prototype-includes
   76:4   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
   77:4   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
   99:2   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  100:3   warning  'items' is never reassigned. Use 'const' instead                  prefer-const
  114:9   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  122:3   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  122:7   warning  'self' is never reassigned. Use 'const' instead                   prefer-const
  123:4   warning  'wgPageFormsEDSettings' is never reassigned. Use 'const' instead  prefer-const
  124:4   warning  'name' is never reassigned. Use 'const' instead                   prefer-const
  125:4   warning  'edgValues' is never reassigned. Use 'const' instead              prefer-const
  131:5   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  133:6   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  135:21  warning  ES2016 'Array.prototype.includes' method is forbidden             es-x/no-array-prototype-includes
  135:21  warning  ES2015 'String.prototype.includes' method is forbidden            es-x/no-string-prototype-includes
  165:2   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  169:2   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  172:2   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  173:2   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  174:2   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  177:17  warning  Prefer `String#slice()` over `String#substr()`                    unicorn/prefer-string-slice
  209:2   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  222:2   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  223:2   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  224:2   warning  '$baseElement' is never reassigned. Use 'const' instead           prefer-const

/src/repo/libs/PF_SpreadsheetComboBoxInput.js
   30:2   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
   30:6   warning  'data_source' is never reassigned. Use 'const' instead                          prefer-const
   31:3   warning  'data_type' is never reassigned. Use 'const' instead                            prefer-const
   33:3   warning  'self' is never reassigned. Use 'const' instead                                 prefer-const
   34:3   warning  'values' is never reassigned. Use 'const' instead                               prefer-const
   43:3   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
   50:5   warning  Unexpected var, use let or const instead                                        no-var
   52:6   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
   54:7   warning  Unexpected var, use let or const instead                                        no-var
   54:11  warning  'valueFilter' declared on line 56 column 11 is used outside of binding context  block-scoped-var
   56:7   warning  Unexpected var, use let or const instead                                        no-var
   56:11  warning  'valueFilter' declared on line 54 column 11 is used outside of binding context  block-scoped-var
   58:11  warning  'valueFilter' declared on line 54 column 11 is used outside of binding context  block-scoped-var
   58:11  warning  'valueFilter' declared on line 56 column 11 is used outside of binding context  block-scoped-var
   82:3   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
   85:4   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
   88:4   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
   89:9   warning  ES2016 'Array.prototype.includes' method is forbidden                           es-x/no-array-prototype-includes
   89:9   warning  ES2015 'String.prototype.includes' method is forbidden                          es-x/no-string-prototype-includes
   92:5   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
   93:5   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
   94:5   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
   95:5   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
   96:5   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
   97:5   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
   98:5   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
   99:5   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
  114:13  warning  'i' declared on line 50 column 9 is used outside of binding context             block-scoped-var
  114:20  warning  'i' declared on line 50 column 9 is used outside of binding context             block-scoped-var
  114:37  warning  'i' declared on line 50 column 9 is used outside of binding context             block-scoped-var
  116:20  warning  'i' declared on line 50 column 9 is used outside of binding context             block-scoped-var
  116:62  warning  'i' declared on line 50 column 9 is used outside of binding context             block-scoped-var
  130:1   warning  Missing JSDoc @return type                                                      jsdoc/require-returns-type
  133:2   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
  137:2   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
  140:2   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
  141:2   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
  142:2   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
  145:17  warning  Prefer `String#slice()` over `String#substr()`                                  unicorn/prefer-string-slice
  172:2   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
  183:9   warning  ES2016 'Array.prototype.includes' method is forbidden                           es-x/no-array-prototype-includes
  183:9   warning  ES2015 'String.prototype.includes' method is forbidden                          es-x/no-string-prototype-includes
  189:1   warning  The type 'integer' is undefined                                                 jsdoc/no-undefined-types
  194:2   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
  195:2   warning  ES2015 block-scoped variables are forbidden                                     es-x/no-block-scoped-variables
  196:2   warning  jQuery collection names must match the variablePattern                          no-jquery/variable-pattern
  196:2   warning  'baseElement' is never reassigned. Use 'const' instead                          prefer-const

/src/repo/libs/PF_autoedit.js
   13:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   14:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   15:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   15:18  warning  Where possible, maintain application state in JS to avoid slower DOM queries  no-jquery/no-class-state
   24:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   61:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   62:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   64:11  warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   75:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   85:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   86:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   87:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   88:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   89:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   89:23  warning  Where possible, maintain application state in JS to avoid slower DOM queries  no-jquery/no-class-state
   91:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   96:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  100:4   warning  Prefer .then to .done                                                         no-jquery/no-done-fail

/src/repo/libs/PF_autogrow.js
  15:1  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  16:1  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  19:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  25:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  26:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  28:7  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/PF_checkboxes.js
   4:1  warning  Missing JSDoc @param "$" type                jsdoc/require-param-type
   5:1  warning  Missing JSDoc @param "mw" type               jsdoc/require-param-type
  18:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  21:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  34:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  41:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/PF_collapsible.js
  27:3  warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  30:8  warning  Where possible, maintain application state in JS to avoid slower DOM queries  no-jquery/no-class-state

/src/repo/libs/PF_datepicker.js
   4:1  warning  Missing JSDoc @param "$" type                                                 jsdoc/require-param-type
   5:1  warning  Missing JSDoc @param "oo" type                                                jsdoc/require-param-type
   6:1  warning  Missing JSDoc @param "mw" type                                                jsdoc/require-param-type
   7:1  warning  Missing JSDoc @param "pf" type                                                jsdoc/require-param-type
  18:9  warning  Where possible, maintain application state in JS to avoid slower DOM queries  no-jquery/no-class-state

/src/repo/libs/PF_datetimepicker.js
   4:1  warning  Missing JSDoc @param "$" type                jsdoc/require-param-type
   5:1  warning  Missing JSDoc @param "oo" type               jsdoc/require-param-type
   6:1  warning  Missing JSDoc @param "mw" type               jsdoc/require-param-type
   7:1  warning  Missing JSDoc @param "pf" type               jsdoc/require-param-type
  15:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  26:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  27:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  28:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  40:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  41:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/PF_editWarning.js
  13:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  21:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  21:44  warning  'origValues' is never reassigned. Use 'const' instead                         prefer-const
  22:4   warning  '$allInputs' is never reassigned. Use 'const' instead                         prefer-const
  31:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  32:9   warning  Where possible, maintain application state in JS to avoid slower DOM queries  no-jquery/no-class-state
  40:3   warning  'allowCloseWindow' is never reassigned. Use 'const' instead                   prefer-const
  55:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  61:11  warning  Where possible, maintain application state in JS to avoid slower DOM queries  no-jquery/no-class-state

/src/repo/libs/PF_formInput.js
    6:1   warning  Missing JSDoc @param "$" type                jsdoc/require-param-type
    7:1   warning  Missing JSDoc @param "mw" type               jsdoc/require-param-type
   14:3   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   15:3   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   16:3   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   17:3   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   20:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   21:4   warning  ES2015 'for-of' statements are forbidden     es-x/no-for-of-loops
   21:10  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   27:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   30:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   35:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   65:3   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   71:3   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   76:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   78:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   80:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   82:4   warning  ES2015 'for-of' statements are forbidden     es-x/no-for-of-loops
   82:10  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   88:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   94:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  106:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  112:3   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/PF_imagePreview.js
   4:1   warning  Missing JSDoc @param "$" type                jsdoc/require-param-type
   5:1   warning  Missing JSDoc @param "mw" type               jsdoc/require-param-type
  11:2   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  26:6   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  28:12  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  29:7   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  42:3   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  43:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  44:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  61:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  62:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  63:4   warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/PF_maps.js
    8:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
    9:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   10:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   38:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   42:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   52:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   76:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  109:6  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  120:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  123:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  136:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  137:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  138:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  158:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  182:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  183:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  184:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  185:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  186:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  187:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  188:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  189:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  199:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  200:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  201:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  208:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  209:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  210:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  217:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  218:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  219:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  240:4  warning  Prefer .then to .done                        no-jquery/no-done-fail
  246:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  247:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  252:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  253:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  254:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  255:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  256:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  257:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  259:6  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  262:6  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  263:6  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  264:6  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  267:6  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  276:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  277:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  282:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  283:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  293:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  301:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  307:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  345:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  361:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  362:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  379:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  402:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  407:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/PF_maps.offline.js
   21:2  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   22:2  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   24:2  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   39:3  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   56:4  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   79:3  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   84:3  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  117:3  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  141:3  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  173:6  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  192:3  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  193:3  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  198:3  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  199:3  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  209:4  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  213:4  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  217:4  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  225:3  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  239:4  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  240:4  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  241:4  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  260:3  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  260:7  warning  'addressText' is never reassigned. Use 'const' instead  prefer-const
  274:4  warning  Prefer .then to .done                                   no-jquery/no-done-fail
  280:5  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  281:5  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  286:5  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  287:5  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  288:5  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  289:5  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  290:5  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  291:5  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  293:6  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  296:6  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  297:6  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  298:6  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  301:6  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  311:3  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables

/src/repo/libs/PF_popupform.js
   36:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   37:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   38:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   39:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   40:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   41:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   42:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   43:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   45:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   46:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   48:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   50:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   52:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   53:2   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   73:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   74:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   75:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   76:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   78:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   79:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   81:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   82:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   85:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   86:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   90:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   91:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   93:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
   94:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  107:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  108:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  126:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  127:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  131:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  132:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  134:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  138:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  144:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  145:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  147:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  148:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  294:5   warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  294:5   warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  295:4   warning  ES2016 'Array.prototype.includes' method is forbidden                         es-x/no-array-prototype-includes
  295:4   warning  ES2015 'String.prototype.includes' method is forbidden                        es-x/no-string-prototype-includes
  299:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  302:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  309:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  313:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  315:3   warning  jQuery collection names must match the variablePattern                        no-jquery/variable-pattern
  319:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  363:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  365:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  374:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  375:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  379:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  406:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  411:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  414:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  418:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  463:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  474:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  476:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  502:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  503:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  512:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  546:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  586:3   warning  ES2024 Resizable ArrayBuffer is forbidden                                     es-x/no-resizable-and-growable-arraybuffers
  592:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  593:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  594:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  598:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  599:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  604:5   warning  Unexpected var, use let or const instead                                      no-var
  638:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  664:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  667:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  695:12  warning  Where possible, maintain application state in JS to avoid slower DOM queries  no-jquery/no-class-state
  709:12  warning  Where possible, maintain application state in JS to avoid slower DOM queries  no-jquery/no-class-state
  711:3   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  742:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  743:4   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  750:5   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  751:11  warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  753:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables
  754:6   warning  ES2015 block-scoped variables are forbidden                                   es-x/no-block-scoped-variables

/src/repo/libs/PF_preview.js
   13:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   14:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   15:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   22:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   24:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   25:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   28:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   30:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   31:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   56:3  warning  ES2024 Resizable ArrayBuffer is forbidden    es-x/no-resizable-and-growable-arraybuffers
   62:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   86:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   88:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   90:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  109:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  110:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  121:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  128:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  143:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  144:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/PF_rating.js
   5:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   6:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  21:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  22:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  23:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  24:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  43:4  warning  Selector extensions are not allowed          no-jquery/no-sizzle

/src/repo/libs/PF_regexp.js
  20:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  21:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  22:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  30:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/PF_simpleupload.js
    5:1   warning  Missing JSDoc @param "$" type                            jsdoc/require-param-type
    6:1   warning  Missing JSDoc @param "mw" type                           jsdoc/require-param-type
   15:3   warning  ES2015 block-scoped variables are forbidden              es-x/no-block-scoped-variables
   16:3   warning  ES2015 block-scoped variables are forbidden              es-x/no-block-scoped-variables
   27:3   warning  ES2015 block-scoped variables are forbidden              es-x/no-block-scoped-variables
   36:3   warning  ES2015 block-scoped variables are forbidden              es-x/no-block-scoped-variables
   43:3   warning  ES2015 block-scoped variables are forbidden              es-x/no-block-scoped-variables
   45:4   warning  'loadingImage' is never reassigned. Use 'const' instead  prefer-const
   84:4   warning  ES2015 block-scoped variables are forbidden              es-x/no-block-scoped-variables
   85:21  warning  ES2016 'Array.prototype.includes' method is forbidden    es-x/no-array-prototype-includes
   85:21  warning  ES2015 'String.prototype.includes' method is forbidden   es-x/no-string-prototype-includes
  101:4   warning  ES2015 block-scoped variables are forbidden              es-x/no-block-scoped-variables
  102:4   warning  ES2015 block-scoped variables are forbidden              es-x/no-block-scoped-variables
  104:4   warning  ES2015 block-scoped variables are forbidden              es-x/no-block-scoped-variables
  129:7   warning  ES2015 block-scoped variables are forbidden              es-x/no-block-scoped-variables
  130:29  warning  ES2016 'Array.prototype.includes' method is forbidden    es-x/no-array-prototype-includes
  130:29  warning  ES2015 'String.prototype.includes' method is forbidden   es-x/no-string-prototype-includes

/src/repo/libs/PF_spreadsheet.js
   10:1   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
   11:1   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
   12:1   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
   13:1   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
   14:1   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
   15:1   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
   16:1   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
   17:1   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
   18:1   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
   21:2   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
   37:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
   42:12  warning  ES2016 'Array.prototype.includes' method is forbidden                        es-x/no-array-prototype-includes
   46:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
   60:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
   72:11  warning  ES2016 'Array.prototype.includes' method is forbidden                        es-x/no-array-prototype-includes
   72:11  warning  ES2015 'String.prototype.includes' method is forbidden                       es-x/no-string-prototype-includes
   84:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  103:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  108:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  114:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  115:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  116:9   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  120:10  warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  134:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  135:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  136:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  146:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  165:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  171:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  174:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  186:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  187:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  203:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  205:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  218:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  244:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  245:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  252:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  253:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  265:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  266:9   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  267:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  275:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  276:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  278:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  294:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  326:3   warning  'editor' is never reassigned. Use 'const' instead                            prefer-const
  354:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  367:2   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  372:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  373:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  373:7   warning  'templateName' is never reassigned. Use 'const' instead                      prefer-const
  374:4   warning  'formName' is never reassigned. Use 'const' instead                          prefer-const
  376:4   warning  'editMultiplePages' is never reassigned. Use 'const' instead                 prefer-const
  377:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  382:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  383:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  393:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  394:3   warning  ES2015 'for-of' statements are forbidden                                     es-x/no-for-of-loops
  394:9   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  396:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  397:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  398:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  416:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  439:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  440:3   warning  ES2015 'for-of' statements are forbidden                                     es-x/no-for-of-loops
  440:9   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  444:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  445:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  446:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  447:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  448:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  457:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  470:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  471:12  warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  489:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  490:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  502:12  warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  503:7   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  504:7   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  521:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  522:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  523:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  524:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  525:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  527:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  531:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  532:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  533:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  534:5   warning  Unexpected var, use let or const instead                                     no-var
  536:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  561:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  566:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  567:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  568:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  570:10  warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  571:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  611:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  682:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  683:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  684:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  685:10  warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  687:6   warning  ES2015 'for-of' statements are forbidden                                     es-x/no-for-of-loops
  687:11  warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  688:7   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  689:7   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  690:7   warning  ES2015 'for-of' statements are forbidden                                     es-x/no-for-of-loops
  690:12  warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  691:8   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  692:8   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  693:8   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  704:11  warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  705:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  706:6   warning  Unexpected var, use let or const instead                                     no-var
  709:7   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  719:8   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  723:8   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  744:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  745:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  750:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  751:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  751:12  warning  'columnParams' is already declared in the upper scope on line 853 column 11  no-shadow
  753:7   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  757:7   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  760:8   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  761:8   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  769:7   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  772:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  773:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  798:8   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  804:8   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  811:8   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  812:8   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  823:8   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  853:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  855:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  863:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  863:10  warning  'numberOfColumns' is never reassigned. Use 'const' instead                   prefer-const
  863:28  warning  Positional selector extensions are not allowed                               no-jquery/no-sizzle
  867:6   warning  Positional selector extensions are not allowed                               no-jquery/no-sizzle
  876:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  885:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  891:7   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  896:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  903:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  904:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  911:6   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  924:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  924:7   warning  'templateName' is never reassigned. Use 'const' instead                      prefer-const
  925:4   warning  'table' is never reassigned. Use 'const' instead                             prefer-const
  927:4   warning  'editMultiplePages' is never reassigned. Use 'const' instead                 prefer-const
  928:3   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  928:27  warning  Positional selector extensions are not allowed                               no-jquery/no-sizzle
  933:4   warning  Positional selector extensions are not allowed                               no-jquery/no-sizzle
  942:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  953:4   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  965:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  966:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  971:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  972:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables
  973:5   warning  ES2015 block-scoped variables are forbidden                                  es-x/no-block-scoped-variables

/src/repo/libs/PF_submit.js
   13:2   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
   14:2   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
   50:2   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
   52:3   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
   78:2   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
   79:3   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
   90:4   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
  105:3   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
  106:3   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
  107:3   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
  111:4   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
  130:4   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
  132:4   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
  133:4   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
  142:46  warning  Prefer `String#slice()` over `String#substring()`                   unicorn/prefer-string-slice
  162:3   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
  175:4   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
  175:10  warning  '$form' is already declared in the upper scope on line 14 column 6  no-shadow
  177:4   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
  200:3   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
  202:4   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
  237:6   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables
  238:6   warning  ES2015 block-scoped variables are forbidden                         es-x/no-block-scoped-variables

/src/repo/libs/PF_timepicker.js
   19:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   21:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   24:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   44:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   47:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   62:9  warning  Selector extensions are not allowed          no-jquery/no-sizzle
   72:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   80:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   81:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   82:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   84:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   85:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   89:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  100:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  109:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  118:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  120:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  123:8  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  125:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  132:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  134:9  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  136:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/PF_tree.js
   6:1  warning  Missing JSDoc @param "$" type                jsdoc/require-param-type
   7:1  warning  Missing JSDoc @param "mw" type               jsdoc/require-param-type
   8:1  warning  Missing JSDoc @param "pf" type               jsdoc/require-param-type
  22:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  25:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  27:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  34:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  53:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  57:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  66:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  69:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  75:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  88:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  89:3  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/PF_wikieditor.js
  14:5  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/PageForms.js
     1:1   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   100:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   115:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   119:9   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   142:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   143:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   153:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   154:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   185:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   187:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   188:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   194:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   197:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   198:10  warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   199:5   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   200:5   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   201:10  warning  Where possible, maintain application state in JS to avoid slower DOM queries         no-jquery/no-class-state
   214:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   215:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   218:7   warning  ES2016 'Array.prototype.includes' method is forbidden                                es-x/no-array-prototype-includes
   218:7   warning  ES2015 'String.prototype.includes' method is forbidden                               es-x/no-string-prototype-includes
   232:19  warning  Where possible, maintain application state in JS to avoid slower DOM queries         no-jquery/no-class-state
   243:9   warning  Selector extensions are not allowed                                                  no-jquery/no-sizzle
   255:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   257:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   265:10  warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   267:5   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   277:8   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   292:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   293:3   warning  'wgPageFormsShowOnSelect' is never reassigned. Use 'const' instead                   prefer-const
   325:9   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   326:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   327:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   338:8   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   352:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   352:6   warning  'wgPageFormsShowOnSelect' is never reassigned. Use 'const' instead                   prefer-const
   367:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   368:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   378:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   378:6   warning  'wgPageFormsShowOnSelect' is never reassigned. Use 'const' instead                   prefer-const
   390:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   407:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   408:61  warning  All possible message keys should be documented. See https://w.wiki/4r9a for details  mediawiki/msg-doc
   415:58  warning  All possible message keys should be documented. See https://w.wiki/4r9a for details  mediawiki/msg-doc
   422:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   423:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   432:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   433:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   434:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   447:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   448:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   467:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   468:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   469:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   475:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   480:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   481:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   482:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   484:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   485:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   486:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   488:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   490:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   494:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   514:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   515:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   516:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   546:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   547:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   548:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   549:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   550:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   551:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   568:5   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   605:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   626:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   638:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   648:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   658:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   672:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   673:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   678:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   688:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   690:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   700:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   713:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   724:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   725:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   741:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   750:8   warning  ES2016 'Array.prototype.includes' method is forbidden                                es-x/no-array-prototype-includes
   750:8   warning  ES2015 'String.prototype.includes' method is forbidden                               es-x/no-string-prototype-includes
   756:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   763:8   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   764:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   765:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   766:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   767:3   warning  Unexpected var, use let or const instead                                             no-var
   772:9   warning  ES2016 'Array.prototype.includes' method is forbidden                                es-x/no-array-prototype-includes
   772:9   warning  ES2015 'String.prototype.includes' method is forbidden                               es-x/no-string-prototype-includes
   773:5   warning  ES2016 'Array.prototype.includes' method is forbidden                                es-x/no-array-prototype-includes
   773:5   warning  ES2015 'String.prototype.includes' method is forbidden                               es-x/no-string-prototype-includes
   783:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   797:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   798:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   836:2   warning  Unexpected var, use let or const instead                                             no-var
   836:6   warning  'negative' declared on line 839 column 7 is used outside of binding context          block-scoped-var
   839:3   warning  Unexpected var, use let or const instead                                             no-var
   841:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   845:7   warning  'negative' declared on line 839 column 7 is used outside of binding context          block-scoped-var
   858:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   859:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   860:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   862:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   863:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   864:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   866:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   868:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   886:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   887:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   888:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   889:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   890:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   891:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   892:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   894:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   895:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   896:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   897:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   898:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   899:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   900:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   902:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   905:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   929:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
   931:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1019:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1019:8   warning  jQuery collection names must match the variablePattern                               no-jquery/variable-pattern
  1020:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1020:8   warning  jQuery collection names must match the variablePattern                               no-jquery/variable-pattern
  1026:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1026:8   warning  jQuery collection names must match the variablePattern                               no-jquery/variable-pattern
  1027:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1027:8   warning  jQuery collection names must match the variablePattern                               no-jquery/variable-pattern
  1033:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1038:9   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1095:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1096:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1102:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1104:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1109:5   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1113:5   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1114:5   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1115:11  warning  ES2016 'Array.prototype.includes' method is forbidden                                es-x/no-array-prototype-includes
  1115:11  warning  ES2015 'String.prototype.includes' method is forbidden                               es-x/no-string-prototype-includes
  1120:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1121:9   warning  Where possible, maintain application state in JS to avoid slower DOM queries         no-jquery/no-class-state
  1128:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1152:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1153:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1167:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1171:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1174:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1178:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1190:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1194:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1215:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1218:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1228:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1228:9   warning  jQuery collection names must match the variablePattern                               no-jquery/variable-pattern
  1229:8   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1230:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1240:1   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1242:1   warning  JSDoc @return declaration present but return expression not available in function    jsdoc/require-returns-check
  1249:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1250:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1251:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1252:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1261:10  warning  Where possible, maintain application state in JS to avoid slower DOM queries         no-jquery/no-class-state
  1265:8   warning  Where possible, maintain application state in JS to avoid slower DOM queries         no-jquery/no-class-state
  1276:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1311:5   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1318:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1325:5   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1337:5   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1339:6   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1415:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1422:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1428:9   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1429:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1460:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1461:3   warning  'wgPageFormsCargoFields' is never reassigned. Use 'const' instead                    prefer-const
  1462:3   warning  'wgPageFormsFieldProperties' is never reassigned. Use 'const' instead                prefer-const
  1465:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1466:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1467:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1468:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1469:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1470:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1471:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1472:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1475:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1476:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1479:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1480:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1499:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1516:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1521:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1522:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1523:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1524:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1525:8   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1526:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1533:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1535:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1536:4   warning  'dependentField' is never reassigned. Use 'const' instead                            prefer-const
  1545:8   warning  Where possible, maintain application state in JS to avoid slower DOM queries         no-jquery/no-class-state
  1639:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1640:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1641:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1650:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1657:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1657:9   warning  jQuery collection names must match the variablePattern                               no-jquery/variable-pattern
  1658:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1659:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1660:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1664:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1664:10  warning  jQuery collection names must match the variablePattern                               no-jquery/variable-pattern
  1665:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1666:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1667:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1742:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1743:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1754:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1801:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1802:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1804:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1818:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1823:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1824:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1825:9   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1859:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1886:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1890:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1891:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1910:3   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1912:4   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1935:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1937:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1938:30  warning  Where possible, maintain application state in JS to avoid slower DOM queries         no-jquery/no-class-state
  1942:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1950:2   warning  ES2015 block-scoped variables are forbidden                                          es-x/no-block-scoped-variables
  1951:8   warning  Where possible, maintain application state in JS to avoid slower DOM queries         no-jquery/no-class-state
  1955:8   warning  Where possible, maintain application state in JS to avoid slower DOM queries         no-jquery/no-class-state
  1960:7   warning  Where possible, maintain application state in JS to avoid slower DOM queries         no-jquery/no-class-state

/src/repo/libs/ext.pf.select2.base.js
   40:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
   44:5   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
   47:5   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
   53:5   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
   58:5   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
   65:6   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
   72:6   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
   78:5   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
   79:5   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
   86:7   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
   92:8   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  123:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  124:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  125:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  127:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  128:10  warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  129:5   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  146:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  147:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  148:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  150:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  151:10  warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  152:5   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  193:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  194:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  195:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  217:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  218:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  240:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  255:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  257:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  258:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  289:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  297:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  298:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  299:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  300:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  301:4   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  310:5   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  311:5   warning  ES2015 block-scoped variables are forbidden     es-x/no-block-scoped-variables
  313:6   warning  Prefer `String#slice()` over `String#substr()`  unicorn/prefer-string-slice
  314:6   warning  Prefer `String#slice()` over `String#substr()`  unicorn/prefer-string-slice

/src/repo/libs/ext.pf.select2.tokens.js
    1:1   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   35:2   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   44:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   47:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   57:4   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   65:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   66:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   67:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   78:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   84:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   86:6   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
   90:11  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  101:4   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  104:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  112:4   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  130:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  131:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  132:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  136:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  146:6   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  154:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  160:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  161:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  162:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  165:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  172:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  184:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  185:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  186:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  189:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  190:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  203:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  206:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  207:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  208:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  209:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  218:4   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  219:4   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  227:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  237:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  250:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  277:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  278:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  279:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  280:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  283:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  285:9   warning  ES2016 'Array.prototype.includes' method is forbidden   es-x/no-array-prototype-includes
  285:9   warning  ES2015 'String.prototype.includes' method is forbidden  es-x/no-string-prototype-includes
  288:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  289:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  325:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  329:11  warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  337:4   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  338:4   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  374:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  375:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  376:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  377:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  378:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  380:4   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  391:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  396:5   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  399:6   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  400:6   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  402:7   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  403:7   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  405:8   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  421:8   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  425:9   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  425:44  warning  ES2016 'Array.prototype.includes' method is forbidden   es-x/no-array-prototype-includes
  425:44  warning  ES2015 'String.prototype.includes' method is forbidden  es-x/no-string-prototype-includes
  454:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  456:4   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  461:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables
  462:3   warning  ES2015 block-scoped variables are forbidden             es-x/no-block-scoped-variables

/src/repo/libs/uploadable/Booklet.js
  33:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/uploadable/init.js
   1:1  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   3:1  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
   4:1  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  10:1  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  13:2  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  17:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  19:4  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables
  32:1  warning  ES2015 block-scoped variables are forbidden  es-x/no-block-scoped-variables

/src/repo/libs/widgets/mw.widgets.PFDateInputWidget.js
   5:3   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  24:2   warning  Missing JSDoc @return declaration                                 jsdoc/require-returns
  30:1   warning  Missing JSDoc @param "date" type                                  jsdoc/require-param-type
  31:1   warning  Missing JSDoc @param "format" type                                jsdoc/require-param-type
  34:3   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  42:3   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  43:4   warning  'inputFormat' is never reassigned. Use 'const' instead            prefer-const
  44:4   warning  'value' is never reassigned. Use 'const' instead                  prefer-const
  45:4   warning  'valid' is never reassigned. Use 'const' instead                  prefer-const
  53:3   warning  'mom' is never reassigned. Use 'const' instead                    prefer-const
  60:3   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  75:3   warning  ES2015 block-scoped variables are forbidden                       es-x/no-block-scoped-variables
  78:4   warning  'inputFormat' is never reassigned. Use 'const' instead            prefer-const
  84:3   warning  'moment' is never reassigned. Use 'const' instead                 prefer-const
  85:3   warning  'parsedDatePartsLength' is never reassigned. Use 'const' instead  prefer-const
  92:40  warning  ES2016 'Array.prototype.includes' method is forbidden             es-x/no-array-prototype-includes
  92:40  warning  ES2015 'String.prototype.includes' method is forbidden            es-x/no-string-prototype-includes

✖ 1337 problems (0 errors, 1337 warnings)


Running "banana:all" (banana) task
>> 1 message directory checked.

Done.

--- end ---
$ package-lock-lint package-lock.json
--- stdout ---
Checking package-lock.json

--- end ---
build: Updating eslint-config-wikimedia to 0.32.1

$ git add .
--- stdout ---

--- end ---
$ git commit -F /tmp/tmpws73r_iv
--- stdout ---
[master 8a33837] build: Updating eslint-config-wikimedia to 0.32.1
 2 files changed, 865 insertions(+), 1179 deletions(-)

--- end ---
$ git format-patch HEAD~1 --stdout
--- stdout ---
From 8a33837c6c57e8a1cdd2f20614ffc1b433416294 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Sat, 15 Nov 2025 09:23:08 +0000
Subject: [PATCH] build: Updating eslint-config-wikimedia to 0.32.1

Change-Id: I921ef83ef3f01fe95f9990dd86a17d81c30bba4f
---
 package-lock.json | 2042 +++++++++++++++++++--------------------------
 package.json      |    2 +-
 2 files changed, 865 insertions(+), 1179 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 6b6a608..4ce6f12 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -6,7 +6,7 @@
 		"": {
 			"name": "PageForms",
 			"devDependencies": {
-				"eslint-config-wikimedia": "0.31.0",
+				"eslint-config-wikimedia": "0.32.1",
 				"grunt": "1.6.1",
 				"grunt-banana-checker": "0.13.0",
 				"grunt-eslint": "24.3.0"
@@ -22,93 +22,42 @@
 			}
 		},
 		"node_modules/@babel/code-frame": {
-			"version": "7.25.7",
-			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.25.7.tgz",
-			"integrity": "sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==",
+			"version": "7.27.1",
+			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz",
+			"integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==",
 			"dev": true,
 			"dependencies": {
-				"@babel/highlight": "^7.25.7",
-				"picocolors": "^1.0.0"
+				"@babel/helper-validator-identifier": "^7.27.1",
+				"js-tokens": "^4.0.0",
+				"picocolors": "^1.1.1"
 			},
 			"engines": {
 				"node": ">=6.9.0"
 			}
 		},
 		"node_modules/@babel/helper-validator-identifier": {
-			"version": "7.25.7",
-			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz",
-			"integrity": "sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==",
+			"version": "7.28.5",
+			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz",
+			"integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==",
 			"dev": true,
 			"engines": {
 				"node": ">=6.9.0"
 			}
 		},
-		"node_modules/@babel/highlight": {
-			"version": "7.25.7",
-			"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.7.tgz",
-			"integrity": "sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==",
-			"dev": true,
-			"dependencies": {
-				"@babel/helper-validator-identifier": "^7.25.7",
-				"chalk": "^2.4.2",
-				"js-tokens": "^4.0.0",
-				"picocolors": "^1.0.0"
-			},
-			"engines": {
-				"node": ">=6.9.0"
-			}
-		},
-		"node_modules/@babel/highlight/node_modules/chalk": {
-			"version": "2.4.2",
-			"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
-			"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
-			"dev": true,
-			"dependencies": {
-				"ansi-styles": "^3.2.1",
-				"escape-string-regexp": "^1.0.5",
-				"supports-color": "^5.3.0"
-			},
-			"engines": {
-				"node": ">=4"
-			}
-		},
-		"node_modules/@babel/highlight/node_modules/escape-string-regexp": {
-			"version": "1.0.5",
-			"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
-			"integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
-			"dev": true,
-			"engines": {
-				"node": ">=0.8.0"
-			}
-		},
 		"node_modules/@es-joy/jsdoccomment": {
-			"version": "0.43.1",
-			"resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.43.1.tgz",
-			"integrity": "sha512-I238eDtOolvCuvtxrnqtlBaw0BwdQuYqK7eA6XIonicMdOOOb75mqdIzkGDUbS04+1Di007rgm9snFRNeVrOog==",
+			"version": "0.75.0",
+			"resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.75.0.tgz",
+			"integrity": "sha512-Bj+oF8reFb4b+6LUmG6ETpDsBU/28y/bAAzioyIR4VK/V6UodYBNGbtxRyGxk0aJJQqpZZ6jz82vVZWCX6Mwmg==",
 			"dev": true,
 			"dependencies": {
-				"@types/eslint": "^8.56.5",
-				"@types/estree": "^1.0.5",
-				"@typescript-eslint/types": "^7.2.0",
+				"@types/estree": "^1.0.8",
+				"@typescript-eslint/types": "^8.46.0",
 				"comment-parser": "1.4.1",
-				"esquery": "^1.5.0",
-				"jsdoc-type-pratt-parser": "~4.0.0"
+				"esquery": "^1.6.0",
+				"jsdoc-type-pratt-parser": "~6.9.1"
 			},
 			"engines": {
-				"node": ">=16"
-			}
-		},
-		"node_modules/@es-joy/jsdoccomment/node_modules/@typescript-eslint/types": {
-			"version": "7.18.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.18.0.tgz",
-			"integrity": "sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==",
-			"dev": true,
-			"engines": {
-				"node": "^18.18.0 || >=20.0.0"
-			},
-			"funding": {
-				"type": "opencollective",
-				"url": "https://opencollective.com/typescript-eslint"
+				"node": ">=20.11.0"
 			}
 		},
 		"node_modules/@eslint-community/eslint-utils": {
@@ -130,9 +79,9 @@
 			}
 		},
 		"node_modules/@eslint-community/regexpp": {
-			"version": "4.11.1",
-			"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz",
-			"integrity": "sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==",
+			"version": "4.12.2",
+			"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz",
+			"integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==",
 			"dev": true,
 			"engines": {
 				"node": "^12.0.0 || ^14.0.0 || >=16.0.0"
@@ -168,9 +117,9 @@
 			"dev": true
 		},
 		"node_modules/@eslint/eslintrc/node_modules/js-yaml": {
-			"version": "4.1.0",
-			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
-			"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+			"version": "4.1.1",
+			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+			"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
 			"dev": true,
 			"dependencies": {
 				"argparse": "^2.0.1"
@@ -234,9 +183,9 @@
 			"dev": true
 		},
 		"node_modules/@mdn/browser-compat-data": {
-			"version": "5.5.23",
-			"resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-5.5.23.tgz",
-			"integrity": "sha512-nIy38qL3nfNcGOz5J2BJQpBXa7vM9QO1+wbyvqqS89lgNTWE8Q10whLsmE0sTVBooXiEaRc4fVME5IXjCYiHAw==",
+			"version": "5.7.6",
+			"resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-5.7.6.tgz",
+			"integrity": "sha512-7xdrMX0Wk7grrTZQwAoy1GkvPMFoizStUoL+VmtUkAxegbCCec+3FKwOM6yc/uGU5+BEczQHXAlWiqvM8JeENg==",
 			"dev": true
 		},
 		"node_modules/@nodelib/fs.scandir": {
@@ -293,150 +242,6 @@
 				"eslint": ">=8.40.0"
 			}
 		},
-		"node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/project-service": {
-			"version": "8.38.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.38.0.tgz",
-			"integrity": "sha512-dbK7Jvqcb8c9QfH01YB6pORpqX1mn5gDZc9n63Ak/+jD67oWXn3Gs0M6vddAN+eDXBCS5EmNWzbSxsn9SzFWWg==",
-			"dev": true,
-			"dependencies": {
-				"@typescript-eslint/tsconfig-utils": "^8.38.0",
-				"@typescript-eslint/types": "^8.38.0",
-				"debug": "^4.3.4"
-			},
-			"engines": {
-				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
-			},
-			"funding": {
-				"type": "opencollective",
-				"url": "https://opencollective.com/typescript-eslint"
-			},
-			"peerDependencies": {
-				"typescript": ">=4.8.4 <5.9.0"
-			}
-		},
-		"node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/scope-manager": {
-			"version": "8.38.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.38.0.tgz",
-			"integrity": "sha512-WJw3AVlFFcdT9Ri1xs/lg8LwDqgekWXWhH3iAF+1ZM+QPd7oxQ6jvtW/JPwzAScxitILUIFs0/AnQ/UWHzbATQ==",
-			"dev": true,
-			"dependencies": {
-				"@typescript-eslint/types": "8.38.0",
-				"@typescript-eslint/visitor-keys": "8.38.0"
-			},
-			"engines": {
-				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
-			},
-			"funding": {
-				"type": "opencollective",
-				"url": "https://opencollective.com/typescript-eslint"
-			}
-		},
-		"node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/tsconfig-utils": {
-			"version": "8.38.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.38.0.tgz",
-			"integrity": "sha512-Lum9RtSE3EroKk/bYns+sPOodqb2Fv50XOl/gMviMKNvanETUuUcC9ObRbzrJ4VSd2JalPqgSAavwrPiPvnAiQ==",
-			"dev": true,
-			"engines": {
-				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
-			},
-			"funding": {
-				"type": "opencollective",
-				"url": "https://opencollective.com/typescript-eslint"
-			},
-			"peerDependencies": {
-				"typescript": ">=4.8.4 <5.9.0"
-			}
-		},
-		"node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/types": {
-			"version": "8.38.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.38.0.tgz",
-			"integrity": "sha512-wzkUfX3plUqij4YwWaJyqhiPE5UCRVlFpKn1oCRn2O1bJ592XxWJj8ROQ3JD5MYXLORW84063z3tZTb/cs4Tyw==",
-			"dev": true,
-			"engines": {
-				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
-			},
-			"funding": {
-				"type": "opencollective",
-				"url": "https://opencollective.com/typescript-eslint"
-			}
-		},
-		"node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/typescript-estree": {
-			"version": "8.38.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.38.0.tgz",
-			"integrity": "sha512-fooELKcAKzxux6fA6pxOflpNS0jc+nOQEEOipXFNjSlBS6fqrJOVY/whSn70SScHrcJ2LDsxWrneFoWYSVfqhQ==",
-			"dev": true,
-			"dependencies": {
-				"@typescript-eslint/project-service": "8.38.0",
-				"@typescript-eslint/tsconfig-utils": "8.38.0",
-				"@typescript-eslint/types": "8.38.0",
-				"@typescript-eslint/visitor-keys": "8.38.0",
-				"debug": "^4.3.4",
-				"fast-glob": "^3.3.2",
-				"is-glob": "^4.0.3",
-				"minimatch": "^9.0.4",
-				"semver": "^7.6.0",
-				"ts-api-utils": "^2.1.0"
-			},
-			"engines": {
-				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
-			},
-			"funding": {
-				"type": "opencollective",
-				"url": "https://opencollective.com/typescript-eslint"
-			},
-			"peerDependencies": {
-				"typescript": ">=4.8.4 <5.9.0"
-			}
-		},
-		"node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/utils": {
-			"version": "8.38.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.38.0.tgz",
-			"integrity": "sha512-hHcMA86Hgt+ijJlrD8fX0j1j8w4C92zue/8LOPAFioIno+W0+L7KqE8QZKCcPGc/92Vs9x36w/4MPTJhqXdyvg==",
-			"dev": true,
-			"dependencies": {
-				"@eslint-community/eslint-utils": "^4.7.0",
-				"@typescript-eslint/scope-manager": "8.38.0",
-				"@typescript-eslint/types": "8.38.0",
-				"@typescript-eslint/typescript-estree": "8.38.0"
-			},
-			"engines": {
-				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
-			},
-			"funding": {
-				"type": "opencollective",
-				"url": "https://opencollective.com/typescript-eslint"
-			},
-			"peerDependencies": {
-				"eslint": "^8.57.0 || ^9.0.0",
-				"typescript": ">=4.8.4 <5.9.0"
-			}
-		},
-		"node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": {
-			"version": "8.38.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.38.0.tgz",
-			"integrity": "sha512-pWrTcoFNWuwHlA9CvlfSsGWs14JxfN1TH25zM5L7o0pRLhsoZkDnTsXfQRJBEWJoV5DL0jf+Z+sxiud+K0mq1g==",
-			"dev": true,
-			"dependencies": {
-				"@typescript-eslint/types": "8.38.0",
-				"eslint-visitor-keys": "^4.2.1"
-			},
-			"engines": {
-				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
-			},
-			"funding": {
-				"type": "opencollective",
-				"url": "https://opencollective.com/typescript-eslint"
-			}
-		},
-		"node_modules/@stylistic/eslint-plugin/node_modules/brace-expansion": {
-			"version": "2.0.2",
-			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
-			"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
-			"dev": true,
-			"dependencies": {
-				"balanced-match": "^1.0.0"
-			}
-		},
 		"node_modules/@stylistic/eslint-plugin/node_modules/eslint-visitor-keys": {
 			"version": "4.2.1",
 			"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
@@ -466,21 +271,6 @@
 				"url": "https://opencollective.com/eslint"
 			}
 		},
-		"node_modules/@stylistic/eslint-plugin/node_modules/minimatch": {
-			"version": "9.0.5",
-			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
-			"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
-			"dev": true,
-			"dependencies": {
-				"brace-expansion": "^2.0.1"
-			},
-			"engines": {
-				"node": ">=16 || 14 >=14.17"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/isaacs"
-			}
-		},
 		"node_modules/@stylistic/eslint-plugin/node_modules/picomatch": {
 			"version": "4.0.3",
 			"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
@@ -493,26 +283,10 @@
 				"url": "https://github.com/sponsors/jonschlinkert"
 			}
 		},
-		"node_modules/@types/eslint": {
-			"version": "8.56.12",
-			"resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.12.tgz",
-			"integrity": "sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g==",
-			"dev": true,
-			"dependencies": {
-				"@types/estree": "*",
-				"@types/json-schema": "*"
-			}
-		},
 		"node_modules/@types/estree": {
-			"version": "1.0.6",
-			"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz",
-			"integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==",
-			"dev": true
-		},
-		"node_modules/@types/json-schema": {
-			"version": "7.0.15",
-			"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
-			"integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
+			"version": "1.0.8",
+			"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
+			"integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
 			"dev": true
 		},
 		"node_modules/@types/normalize-package-data": {
@@ -522,16 +296,16 @@
 			"dev": true
 		},
 		"node_modules/@typescript-eslint/eslint-plugin": {
-			"version": "8.35.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.35.1.tgz",
-			"integrity": "sha512-9XNTlo7P7RJxbVeICaIIIEipqxLKguyh+3UbXuT2XQuFp6d8VOeDEGuz5IiX0dgZo8CiI6aOFLg4e8cF71SFVg==",
+			"version": "8.46.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.46.0.tgz",
+			"integrity": "sha512-hA8gxBq4ukonVXPy0OKhiaUh/68D0E88GSmtC1iAEnGaieuDi38LhS7jdCHRLi6ErJBNDGCzvh5EnzdPwUc0DA==",
 			"dev": true,
 			"dependencies": {
 				"@eslint-community/regexpp": "^4.10.0",
-				"@typescript-eslint/scope-manager": "8.35.1",
-				"@typescript-eslint/type-utils": "8.35.1",
-				"@typescript-eslint/utils": "8.35.1",
-				"@typescript-eslint/visitor-keys": "8.35.1",
+				"@typescript-eslint/scope-manager": "8.46.0",
+				"@typescript-eslint/type-utils": "8.46.0",
+				"@typescript-eslint/utils": "8.46.0",
+				"@typescript-eslint/visitor-keys": "8.46.0",
 				"graphemer": "^1.4.0",
 				"ignore": "^7.0.0",
 				"natural-compare": "^1.4.0",
@@ -545,9 +319,9 @@
 				"url": "https://opencollective.com/typescript-eslint"
 			},
 			"peerDependencies": {
-				"@typescript-eslint/parser": "^8.35.1",
+				"@typescript-eslint/parser": "^8.46.0",
 				"eslint": "^8.57.0 || ^9.0.0",
-				"typescript": ">=4.8.4 <5.9.0"
+				"typescript": ">=4.8.4 <6.0.0"
 			}
 		},
 		"node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": {
@@ -560,15 +334,15 @@
 			}
 		},
 		"node_modules/@typescript-eslint/parser": {
-			"version": "8.35.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.35.1.tgz",
-			"integrity": "sha512-3MyiDfrfLeK06bi/g9DqJxP5pV74LNv4rFTyvGDmT3x2p1yp1lOd+qYZfiRPIOf/oON+WRZR5wxxuF85qOar+w==",
+			"version": "8.46.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.46.0.tgz",
+			"integrity": "sha512-n1H6IcDhmmUEG7TNVSspGmiHHutt7iVKtZwRppD7e04wha5MrkV1h3pti9xQLcCMt6YWsncpoT0HMjkH1FNwWQ==",
 			"dev": true,
 			"dependencies": {
-				"@typescript-eslint/scope-manager": "8.35.1",
-				"@typescript-eslint/types": "8.35.1",
-				"@typescript-eslint/typescript-estree": "8.35.1",
-				"@typescript-eslint/visitor-keys": "8.35.1",
+				"@typescript-eslint/scope-manager": "8.46.0",
+				"@typescript-eslint/types": "8.46.0",
+				"@typescript-eslint/typescript-estree": "8.46.0",
+				"@typescript-eslint/visitor-keys": "8.46.0",
 				"debug": "^4.3.4"
 			},
 			"engines": {
@@ -580,17 +354,17 @@
 			},
 			"peerDependencies": {
 				"eslint": "^8.57.0 || ^9.0.0",
-				"typescript": ">=4.8.4 <5.9.0"
+				"typescript": ">=4.8.4 <6.0.0"
 			}
 		},
 		"node_modules/@typescript-eslint/project-service": {
-			"version": "8.35.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.35.1.tgz",
-			"integrity": "sha512-VYxn/5LOpVxADAuP3NrnxxHYfzVtQzLKeldIhDhzC8UHaiQvYlXvKuVho1qLduFbJjjy5U5bkGwa3rUGUb1Q6Q==",
+			"version": "8.46.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.46.0.tgz",
+			"integrity": "sha512-OEhec0mH+U5Je2NZOeK1AbVCdm0ChyapAyTeXVIYTPXDJ3F07+cu87PPXcGoYqZ7M9YJVvFnfpGg1UmCIqM+QQ==",
 			"dev": true,
 			"dependencies": {
-				"@typescript-eslint/tsconfig-utils": "^8.35.1",
-				"@typescript-eslint/types": "^8.35.1",
+				"@typescript-eslint/tsconfig-utils": "^8.46.0",
+				"@typescript-eslint/types": "^8.46.0",
 				"debug": "^4.3.4"
 			},
 			"engines": {
@@ -601,17 +375,17 @@
 				"url": "https://opencollective.com/typescript-eslint"
 			},
 			"peerDependencies": {
-				"typescript": ">=4.8.4 <5.9.0"
+				"typescript": ">=4.8.4 <6.0.0"
 			}
 		},
 		"node_modules/@typescript-eslint/scope-manager": {
-			"version": "8.35.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.35.1.tgz",
-			"integrity": "sha512-s/Bpd4i7ht2934nG+UoSPlYXd08KYz3bmjLEb7Ye1UVob0d1ENiT3lY8bsCmik4RqfSbPw9xJJHbugpPpP5JUg==",
+			"version": "8.46.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.46.0.tgz",
+			"integrity": "sha512-lWETPa9XGcBes4jqAMYD9fW0j4n6hrPtTJwWDmtqgFO/4HF4jmdH/Q6wggTw5qIT5TXjKzbt7GsZUBnWoO3dqw==",
 			"dev": true,
 			"dependencies": {
-				"@typescript-eslint/types": "8.35.1",
-				"@typescript-eslint/visitor-keys": "8.35.1"
+				"@typescript-eslint/types": "8.46.0",
+				"@typescript-eslint/visitor-keys": "8.46.0"
 			},
 			"engines": {
 				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -622,9 +396,9 @@
 			}
 		},
 		"node_modules/@typescript-eslint/tsconfig-utils": {
-			"version": "8.35.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.35.1.tgz",
-			"integrity": "sha512-K5/U9VmT9dTHoNowWZpz+/TObS3xqC5h0xAIjXPw+MNcKV9qg6eSatEnmeAwkjHijhACH0/N7bkhKvbt1+DXWQ==",
+			"version": "8.46.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.46.0.tgz",
+			"integrity": "sha512-WrYXKGAHY836/N7zoK/kzi6p8tXFhasHh8ocFL9VZSAkvH956gfeRfcnhs3xzRy8qQ/dq3q44v1jvQieMFg2cw==",
 			"dev": true,
 			"engines": {
 				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -634,17 +408,18 @@
 				"url": "https://opencollective.com/typescript-eslint"
 			},
 			"peerDependencies": {
-				"typescript": ">=4.8.4 <5.9.0"
+				"typescript": ">=4.8.4 <6.0.0"
 			}
 		},
 		"node_modules/@typescript-eslint/type-utils": {
-			"version": "8.35.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.35.1.tgz",
-			"integrity": "sha512-HOrUBlfVRz5W2LIKpXzZoy6VTZzMu2n8q9C2V/cFngIC5U1nStJgv0tMV4sZPzdf4wQm9/ToWUFPMN9Vq9VJQQ==",
+			"version": "8.46.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.46.0.tgz",
+			"integrity": "sha512-hy+lvYV1lZpVs2jRaEYvgCblZxUoJiPyCemwbQZ+NGulWkQRy0HRPYAoef/CNSzaLt+MLvMptZsHXHlkEilaeg==",
 			"dev": true,
 			"dependencies": {
-				"@typescript-eslint/typescript-estree": "8.35.1",
-				"@typescript-eslint/utils": "8.35.1",
+				"@typescript-eslint/types": "8.46.0",
+				"@typescript-eslint/typescript-estree": "8.46.0",
+				"@typescript-eslint/utils": "8.46.0",
 				"debug": "^4.3.4",
 				"ts-api-utils": "^2.1.0"
 			},
@@ -657,13 +432,13 @@
 			},
 			"peerDependencies": {
 				"eslint": "^8.57.0 || ^9.0.0",
-				"typescript": ">=4.8.4 <5.9.0"
+				"typescript": ">=4.8.4 <6.0.0"
 			}
 		},
 		"node_modules/@typescript-eslint/types": {
-			"version": "8.35.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.35.1.tgz",
-			"integrity": "sha512-q/O04vVnKHfrrhNAscndAn1tuQhIkwqnaW+eu5waD5IPts2eX1dgJxgqcPx5BX109/qAz7IG6VrEPTOYKCNfRQ==",
+			"version": "8.46.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.46.0.tgz",
+			"integrity": "sha512-bHGGJyVjSE4dJJIO5yyEWt/cHyNwga/zXGJbJJ8TiO01aVREK6gCTu3L+5wrkb1FbDkQ+TKjMNe9R/QQQP9+rA==",
 			"dev": true,
 			"engines": {
 				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -674,15 +449,15 @@
 			}
 		},
 		"node_modules/@typescript-eslint/typescript-estree": {
-			"version": "8.35.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.35.1.tgz",
-			"integrity": "sha512-Vvpuvj4tBxIka7cPs6Y1uvM7gJgdF5Uu9F+mBJBPY4MhvjrjWGK4H0lVgLJd/8PWZ23FTqsaJaLEkBCFUk8Y9g==",
+			"version": "8.46.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.46.0.tgz",
+			"integrity": "sha512-ekDCUfVpAKWJbRfm8T1YRrCot1KFxZn21oV76v5Fj4tr7ELyk84OS+ouvYdcDAwZL89WpEkEj2DKQ+qg//+ucg==",
 			"dev": true,
 			"dependencies": {
-				"@typescript-eslint/project-service": "8.35.1",
-				"@typescript-eslint/tsconfig-utils": "8.35.1",
-				"@typescript-eslint/types": "8.35.1",
-				"@typescript-eslint/visitor-keys": "8.35.1",
+				"@typescript-eslint/project-service": "8.46.0",
+				"@typescript-eslint/tsconfig-utils": "8.46.0",
+				"@typescript-eslint/types": "8.46.0",
+				"@typescript-eslint/visitor-keys": "8.46.0",
 				"debug": "^4.3.4",
 				"fast-glob": "^3.3.2",
 				"is-glob": "^4.0.3",
@@ -698,7 +473,7 @@
 				"url": "https://opencollective.com/typescript-eslint"
 			},
 			"peerDependencies": {
-				"typescript": ">=4.8.4 <5.9.0"
+				"typescript": ">=4.8.4 <6.0.0"
 			}
 		},
 		"node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": {
@@ -726,15 +501,15 @@
 			}
 		},
 		"node_modules/@typescript-eslint/utils": {
-			"version": "8.35.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.35.1.tgz",
-			"integrity": "sha512-lhnwatFmOFcazAsUm3ZnZFpXSxiwoa1Lj50HphnDe1Et01NF4+hrdXONSUHIcbVu2eFb1bAf+5yjXkGVkXBKAQ==",
+			"version": "8.46.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.46.0.tgz",
+			"integrity": "sha512-nD6yGWPj1xiOm4Gk0k6hLSZz2XkNXhuYmyIrOWcHoPuAhjT9i5bAG+xbWPgFeNR8HPHHtpNKdYUXJl/D3x7f5g==",
 			"dev": true,
 			"dependencies": {
 				"@eslint-community/eslint-utils": "^4.7.0",
-				"@typescript-eslint/scope-manager": "8.35.1",
-				"@typescript-eslint/types": "8.35.1",
-				"@typescript-eslint/typescript-estree": "8.35.1"
+				"@typescript-eslint/scope-manager": "8.46.0",
+				"@typescript-eslint/types": "8.46.0",
+				"@typescript-eslint/typescript-estree": "8.46.0"
 			},
 			"engines": {
 				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -745,16 +520,16 @@
 			},
 			"peerDependencies": {
 				"eslint": "^8.57.0 || ^9.0.0",
-				"typescript": ">=4.8.4 <5.9.0"
+				"typescript": ">=4.8.4 <6.0.0"
 			}
 		},
 		"node_modules/@typescript-eslint/visitor-keys": {
-			"version": "8.35.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.35.1.tgz",
-			"integrity": "sha512-VRwixir4zBWCSTP/ljEo091lbpypz57PoeAQ9imjG+vbeof9LplljsL1mos4ccG6H9IjfrVGM359RozUnuFhpw==",
+			"version": "8.46.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.46.0.tgz",
+			"integrity": "sha512-FrvMpAK+hTbFy7vH5j1+tMYHMSKLE6RzluFJlkFNKD0p9YsUT75JlBSmr5so3QRzvMwU5/bIEdeNrxm8du8l3Q==",
 			"dev": true,
 			"dependencies": {
-				"@typescript-eslint/types": "8.35.1",
+				"@typescript-eslint/types": "8.46.0",
 				"eslint-visitor-keys": "^4.2.1"
 			},
 			"engines": {
@@ -835,18 +610,6 @@
 				"node": ">=8"
 			}
 		},
-		"node_modules/ansi-styles": {
-			"version": "3.2.1",
-			"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
-			"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
-			"dev": true,
-			"dependencies": {
-				"color-convert": "^1.9.0"
-			},
-			"engines": {
-				"node": ">=4"
-			}
-		},
 		"node_modules/are-docs-informative": {
 			"version": "0.0.2",
 			"resolved": "https://registry.npmjs.org/are-docs-informative/-/are-docs-informative-0.0.2.tgz",
@@ -890,12 +653,12 @@
 			}
 		},
 		"node_modules/ast-metadata-inferer": {
-			"version": "0.8.0",
-			"resolved": "https://registry.npmjs.org/ast-metadata-inferer/-/ast-metadata-inferer-0.8.0.tgz",
-			"integrity": "sha512-jOMKcHht9LxYIEQu+RVd22vtgrPaVCtDRQ/16IGmurdzxvYbDd5ynxjnyrzLnieG96eTcAyaoj/wN/4/1FyyeA==",
+			"version": "0.8.1",
+			"resolved": "https://registry.npmjs.org/ast-metadata-inferer/-/ast-metadata-inferer-0.8.1.tgz",
+			"integrity": "sha512-ht3Dm6Zr7SXv6t1Ra6gFo0+kLDglHGrEbYihTkcycrbHw7WCcuhBzPlJYHEsIpycaUwzsJHje+vUcxXUX4ztTA==",
 			"dev": true,
 			"dependencies": {
-				"@mdn/browser-compat-data": "^5.2.34"
+				"@mdn/browser-compat-data": "^5.6.19"
 			}
 		},
 		"node_modules/async": {
@@ -910,6 +673,15 @@
 			"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
 			"dev": true
 		},
+		"node_modules/baseline-browser-mapping": {
+			"version": "2.8.28",
+			"resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.28.tgz",
+			"integrity": "sha512-gYjt7OIqdM0PcttNYP2aVrr2G0bMALkBaoehD4BuRGjAOtipg0b6wHg1yNL+s5zSnLZZrGHOw4IrND8CD+3oIQ==",
+			"dev": true,
+			"bin": {
+				"baseline-browser-mapping": "dist/cli.js"
+			}
+		},
 		"node_modules/boolbase": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
@@ -939,9 +711,9 @@
 			}
 		},
 		"node_modules/browserslist": {
-			"version": "4.24.0",
-			"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.0.tgz",
-			"integrity": "sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==",
+			"version": "4.28.0",
+			"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.0.tgz",
+			"integrity": "sha512-tbydkR/CxfMwelN0vwdP/pLkDwyAASZ+VfWm4EOwlB6SWhx1sYnWLqo8N5j0rAzPfzfRaxt0mM/4wPU/Su84RQ==",
 			"dev": true,
 			"funding": [
 				{
@@ -958,10 +730,11 @@
 				}
 			],
 			"dependencies": {
-				"caniuse-lite": "^1.0.30001663",
-				"electron-to-chromium": "^1.5.28",
-				"node-releases": "^2.0.18",
-				"update-browserslist-db": "^1.1.0"
+				"baseline-browser-mapping": "^2.8.25",
+				"caniuse-lite": "^1.0.30001754",
+				"electron-to-chromium": "^1.5.249",
+				"node-releases": "^2.0.27",
+				"update-browserslist-db": "^1.1.4"
 			},
 			"bin": {
 				"browserslist": "cli.js"
@@ -998,9 +771,9 @@
 			}
 		},
 		"node_modules/caniuse-lite": {
-			"version": "1.0.30001727",
-			"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001727.tgz",
-			"integrity": "sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q==",
+			"version": "1.0.30001754",
+			"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001754.tgz",
+			"integrity": "sha512-x6OeBXueoAceOmotzx3PO4Zpt4rzpeIFsSr6AAePTZxSkXiYDUmpypEl7e2+8NCd9bD7bXjqyef8CJYPC1jfxg==",
 			"dev": true,
 			"funding": [
 				{
@@ -1015,8 +788,7 @@
 					"type": "github",
 					"url": "https://github.com/sponsors/ai"
 				}
-			],
-			"license": "CC-BY-4.0"
+			]
 		},
 		"node_modules/chalk": {
 			"version": "4.1.2",
@@ -1086,9 +858,9 @@
 			}
 		},
 		"node_modules/ci-info": {
-			"version": "4.0.0",
-			"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.0.0.tgz",
-			"integrity": "sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==",
+			"version": "4.3.1",
+			"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.1.tgz",
+			"integrity": "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==",
 			"dev": true,
 			"funding": [
 				{
@@ -1121,21 +893,6 @@
 				"node": ">=0.8.0"
 			}
 		},
-		"node_modules/color-convert": {
-			"version": "1.9.3",
-			"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
-			"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
-			"dev": true,
-			"dependencies": {
-				"color-name": "1.1.3"
-			}
-		},
-		"node_modules/color-name": {
-			"version": "1.1.3",
-			"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
-			"integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
-			"dev": true
-		},
 		"node_modules/colors": {
 			"version": "1.1.2",
 			"resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
@@ -1161,12 +918,12 @@
 			"dev": true
 		},
 		"node_modules/core-js-compat": {
-			"version": "3.38.1",
-			"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz",
-			"integrity": "sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==",
+			"version": "3.46.0",
+			"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.46.0.tgz",
+			"integrity": "sha512-p9hObIIEENxSV8xIu+V68JjSeARg6UVMG5mR+JEUguG3sI6MsiS1njz2jHmyJDvA+8jX/sytkBHup6kxhM9law==",
 			"dev": true,
 			"dependencies": {
-				"browserslist": "^4.23.3"
+				"browserslist": "^4.26.3"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -1209,12 +966,12 @@
 			}
 		},
 		"node_modules/debug": {
-			"version": "4.3.4",
-			"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
-			"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+			"version": "4.4.3",
+			"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+			"integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
 			"dev": true,
 			"dependencies": {
-				"ms": "2.1.2"
+				"ms": "^2.1.3"
 			},
 			"engines": {
 				"node": ">=6.0"
@@ -1240,6 +997,15 @@
 				"node": ">=0.10.0"
 			}
 		},
+		"node_modules/diff-sequences": {
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz",
+			"integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==",
+			"dev": true,
+			"engines": {
+				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+			}
+		},
 		"node_modules/doctrine": {
 			"version": "3.0.0",
 			"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
@@ -1253,15 +1019,15 @@
 			}
 		},
 		"node_modules/electron-to-chromium": {
-			"version": "1.5.32",
-			"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.32.tgz",
-			"integrity": "sha512-M+7ph0VGBQqqpTT2YrabjNKSQ2fEl9PVx6AK3N558gDH9NO8O6XN9SXXFWRo9u9PbEg/bWq+tjXQr+eXmxubCw==",
+			"version": "1.5.253",
+			"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.253.tgz",
+			"integrity": "sha512-O0tpQ/35rrgdiGQ0/OFWhy1itmd9A6TY9uQzlqj3hKSu/aYpe7UIn5d7CU2N9myH6biZiWF3VMZVuup8pw5U9w==",
 			"dev": true
 		},
 		"node_modules/enhanced-resolve": {
-			"version": "5.17.1",
-			"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz",
-			"integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==",
+			"version": "5.18.3",
+			"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz",
+			"integrity": "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==",
 			"dev": true,
 			"dependencies": {
 				"graceful-fs": "^4.2.4",
@@ -1272,9 +1038,9 @@
 			}
 		},
 		"node_modules/error-ex": {
-			"version": "1.3.2",
-			"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
-			"integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+			"version": "1.3.4",
+			"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz",
+			"integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==",
 			"dev": true,
 			"dependencies": {
 				"is-arrayish": "^0.2.1"
@@ -1357,9 +1123,9 @@
 			}
 		},
 		"node_modules/eslint-compat-utils": {
-			"version": "0.5.1",
-			"resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.5.1.tgz",
-			"integrity": "sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==",
+			"version": "0.6.5",
+			"resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.6.5.tgz",
+			"integrity": "sha512-vAUHYzue4YAa2hNACjB8HvUQj5yehAZgiClyFVVom9cP8z5NSFq3PwB/TtJslN2zAMgRX6FCFCjYBbQh71g5RQ==",
 			"dev": true,
 			"dependencies": {
 				"semver": "^7.5.4"
@@ -1372,61 +1138,74 @@
 			}
 		},
 		"node_modules/eslint-config-wikimedia": {
-			"version": "0.31.0",
-			"resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.31.0.tgz",
-			"integrity": "sha512-Z/t/zGPdxs/ehxb0EM6THNWAzueT7GtuqzjUvmBpkxcTKzZPJEXWnnpswdj/hgv8Ce8PIeDp0zwQxR4e3c9CIw==",
+			"version": "0.32.1",
+			"resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.32.1.tgz",
+			"integrity": "sha512-gPvhyVFNlpKFOcJfoVTNlzg3A0b6qjhAbjjBIJ9xp5m+om0oqix5gkqIIEav5BaGxdDxYNmrY4ge3DAPP3u/lg==",
 			"dev": true,
 			"dependencies": {
 				"@stylistic/eslint-plugin": "^3.1.0",
-				"@typescript-eslint/eslint-plugin": "8.35.1",
-				"@typescript-eslint/parser": "8.35.1",
+				"@typescript-eslint/eslint-plugin": "8.46.0",
+				"@typescript-eslint/parser": "8.46.0",
 				"browserslist-config-wikimedia": "^0.7.0",
 				"eslint": "^8.57.0",
-				"eslint-plugin-compat": "^4.2.0",
-				"eslint-plugin-es-x": "^7.6.0",
-				"eslint-plugin-jest": "^28.5.0",
-				"eslint-plugin-jsdoc": "48.2.5",
+				"eslint-plugin-compat": "^6.0.2",
+				"eslint-plugin-es-x": "^8.7.0",
+				"eslint-plugin-jest": "^29.0.1",
+				"eslint-plugin-jsdoc": "61.0.0",
 				"eslint-plugin-json-es": "^1.6.0",
-				"eslint-plugin-mediawiki": "^0.7.0",
-				"eslint-plugin-mocha": "^10.4.3",
-				"eslint-plugin-n": "^17.7.0",
+				"eslint-plugin-mediawiki": "^0.8.1",
+				"eslint-plugin-mocha": "^10.5.0",
+				"eslint-plugin-n": "^17.23.1",
 				"eslint-plugin-no-jquery": "^3.1.1",
-				"eslint-plugin-qunit": "^8.1.1",
-				"eslint-plugin-security": "^1.7.1",
-				"eslint-plugin-unicorn": "^53.0.0",
-				"eslint-plugin-vue": "^9.26.0",
-				"eslint-plugin-wdio": "^8.24.12",
-				"eslint-plugin-yml": "^1.14.0"
+				"eslint-plugin-qunit": "^8.2.5",
+				"eslint-plugin-security": "^3.0.1",
+				"eslint-plugin-unicorn": "^56.0.1",
+				"eslint-plugin-vue": "^9.33.0",
+				"eslint-plugin-wdio": "^9.16.2",
+				"eslint-plugin-yml": "^1.19.0"
 			},
 			"engines": {
-				"node": ">=18 <25"
+				"node": ">=20 <25"
 			}
 		},
 		"node_modules/eslint-plugin-compat": {
-			"version": "4.2.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-compat/-/eslint-plugin-compat-4.2.0.tgz",
-			"integrity": "sha512-RDKSYD0maWy5r7zb5cWQS+uSPc26mgOzdORJ8hxILmWM7S/Ncwky7BcAtXVY5iRbKjBdHsWU8Yg7hfoZjtkv7w==",
+			"version": "6.0.2",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-compat/-/eslint-plugin-compat-6.0.2.tgz",
+			"integrity": "sha512-1ME+YfJjmOz1blH0nPZpHgjMGK4kjgEeoYqGCqoBPQ/mGu/dJzdoP0f1C8H2jcWZjzhZjAMccbM/VdXhPORIfA==",
 			"dev": true,
 			"dependencies": {
-				"@mdn/browser-compat-data": "^5.3.13",
-				"ast-metadata-inferer": "^0.8.0",
-				"browserslist": "^4.21.10",
-				"caniuse-lite": "^1.0.30001524",
+				"@mdn/browser-compat-data": "^5.5.35",
+				"ast-metadata-inferer": "^0.8.1",
+				"browserslist": "^4.24.2",
+				"caniuse-lite": "^1.0.30001687",
 				"find-up": "^5.0.0",
+				"globals": "^15.7.0",
 				"lodash.memoize": "^4.1.2",
-				"semver": "^7.5.4"
+				"semver": "^7.6.2"
 			},
 			"engines": {
-				"node": ">=14.x"
+				"node": ">=18.x"
 			},
 			"peerDependencies": {
-				"eslint": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0"
+				"eslint": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0"
+			}
+		},
+		"node_modules/eslint-plugin-compat/node_modules/globals": {
+			"version": "15.15.0",
+			"resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz",
+			"integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==",
+			"dev": true,
+			"engines": {
+				"node": ">=18"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
 		"node_modules/eslint-plugin-es-x": {
-			"version": "7.8.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.8.0.tgz",
-			"integrity": "sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==",
+			"version": "8.7.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-8.7.0.tgz",
+			"integrity": "sha512-Du5Sb067sjqzmglaPhsfcEQgE1EYfL8sko+4jOMcAB/XKGoCxntSrOmTYuVzswA1rzM9+MZwH6+GOp0G3/wVCg==",
 			"dev": true,
 			"funding": [
 				"https://github.com/sponsors/ota-meshi",
@@ -1434,8 +1213,8 @@
 			],
 			"dependencies": {
 				"@eslint-community/eslint-utils": "^4.1.2",
-				"@eslint-community/regexpp": "^4.11.0",
-				"eslint-compat-utils": "^0.5.1"
+				"@eslint-community/regexpp": "^4.12.1",
+				"eslint-compat-utils": "^0.6.3"
 			},
 			"engines": {
 				"node": "^14.18.0 || >=16.0.0"
@@ -1445,19 +1224,19 @@
 			}
 		},
 		"node_modules/eslint-plugin-jest": {
-			"version": "28.8.3",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.8.3.tgz",
-			"integrity": "sha512-HIQ3t9hASLKm2IhIOqnu+ifw7uLZkIlR7RYNv7fMcEi/p0CIiJmfriStQS2LDkgtY4nyLbIZAD+JL347Yc2ETQ==",
+			"version": "29.1.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-29.1.0.tgz",
+			"integrity": "sha512-LabxXbASXVjguqL+kBHTPMf3gUeSqwH4fsrEyHTY/MCs42I/p9+ctg09SJpYiD8eGaIsP6GwYr5xW6xWS9XgZg==",
 			"dev": true,
 			"dependencies": {
-				"@typescript-eslint/utils": "^6.0.0 || ^7.0.0 || ^8.0.0"
+				"@typescript-eslint/utils": "^8.0.0"
 			},
 			"engines": {
-				"node": "^16.10.0 || ^18.12.0 || >=20.0.0"
+				"node": "^20.12.0 || ^22.0.0 || >=24.0.0"
 			},
 			"peerDependencies": {
-				"@typescript-eslint/eslint-plugin": "^6.0.0 || ^7.0.0 || ^8.0.0",
-				"eslint": "^7.0.0 || ^8.0.0 || ^9.0.0",
+				"@typescript-eslint/eslint-plugin": "^8.0.0",
+				"eslint": "^8.57.0 || ^9.0.0",
 				"jest": "*"
 			},
 			"peerDependenciesMeta": {
@@ -1470,28 +1249,60 @@
 			}
 		},
 		"node_modules/eslint-plugin-jsdoc": {
-			"version": "48.2.5",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-48.2.5.tgz",
-			"integrity": "sha512-ZeTfKV474W1N9niWfawpwsXGu+ZoMXu4417eBROX31d7ZuOk8zyG66SO77DpJ2+A9Wa2scw/jRqBPnnQo7VbcQ==",
+			"version": "61.0.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-61.0.0.tgz",
+			"integrity": "sha512-YxvOY3A9H8usnOfOEH82y71yHR7zVNWZJpQbjkC+rWqrADQtM+Gza3+db/j9euNNWCNKnN+/gBrowg16n9lwgg==",
 			"dev": true,
 			"dependencies": {
-				"@es-joy/jsdoccomment": "~0.43.0",
+				"@es-joy/jsdoccomment": "~0.75.0",
 				"are-docs-informative": "^0.0.2",
 				"comment-parser": "1.4.1",
-				"debug": "^4.3.4",
+				"debug": "^4.4.3",
 				"escape-string-regexp": "^4.0.0",
-				"esquery": "^1.5.0",
-				"is-builtin-module": "^3.2.1",
-				"semver": "^7.6.1",
+				"espree": "^10.4.0",
+				"esquery": "^1.6.0",
+				"html-entities": "^2.6.0",
+				"object-deep-merge": "^1.0.5",
+				"parse-imports-exports": "^0.2.4",
+				"semver": "^7.7.3",
 				"spdx-expression-parse": "^4.0.0"
 			},
 			"engines": {
-				"node": ">=18"
+				"node": ">=20.11.0"
 			},
 			"peerDependencies": {
 				"eslint": "^7.0.0 || ^8.0.0 || ^9.0.0"
 			}
 		},
+		"node_modules/eslint-plugin-jsdoc/node_modules/eslint-visitor-keys": {
+			"version": "4.2.1",
+			"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
+			"integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
+			"dev": true,
+			"engines": {
+				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+			},
+			"funding": {
+				"url": "https://opencollective.com/eslint"
+			}
+		},
+		"node_modules/eslint-plugin-jsdoc/node_modules/espree": {
+			"version": "10.4.0",
+			"resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz",
+			"integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==",
+			"dev": true,
+			"dependencies": {
+				"acorn": "^8.15.0",
+				"acorn-jsx": "^5.3.2",
+				"eslint-visitor-keys": "^4.2.1"
+			},
+			"engines": {
+				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+			},
+			"funding": {
+				"url": "https://opencollective.com/eslint"
+			}
+		},
 		"node_modules/eslint-plugin-json-es": {
 			"version": "1.6.0",
 			"resolved": "https://registry.npmjs.org/eslint-plugin-json-es/-/eslint-plugin-json-es-1.6.0.tgz",
@@ -1506,12 +1317,11 @@
 			}
 		},
 		"node_modules/eslint-plugin-mediawiki": {
-			"version": "0.7.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.7.0.tgz",
-			"integrity": "sha512-1Y2nsFDPp96xOZCB5ivZAgqYe9i6w2u64VoCIaAzPyZnd/2h8VQR3CtD+u4Yk/KrpbKq9AAJjrs5LS8VAz6KOA==",
+			"version": "0.8.1",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.8.1.tgz",
+			"integrity": "sha512-zjTg3hh375lkztKhOYEmPeYiIhKooAu92BkZf2F/fr+5Htvb2i8MNB3gImhM98aTBbkyHTjXoyTHNUrjSjPhmw==",
 			"dev": true,
 			"dependencies": {
-				"eslint-plugin-vue": "^9.23.0",
 				"upath": "^2.0.1"
 			},
 			"peerDependencies": {
@@ -1519,9 +1329,9 @@
 			}
 		},
 		"node_modules/eslint-plugin-mocha": {
-			"version": "10.4.3",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-10.4.3.tgz",
-			"integrity": "sha512-emc4TVjq5Ht0/upR+psftuz6IBG5q279p+1dSRDeHf+NS9aaerBi3lXKo1SEzwC29hFIW21gO89CEWSvRsi8IQ==",
+			"version": "10.5.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-10.5.0.tgz",
+			"integrity": "sha512-F2ALmQVPT1GoP27O1JTZGrV9Pqg8k79OeIuvw63UxMtQKREZtmkK1NFgkZQ2TW7L2JSSFKHFPTtHu5z8R9QNRw==",
 			"dev": true,
 			"dependencies": {
 				"eslint-utils": "^3.0.0",
@@ -1536,19 +1346,20 @@
 			}
 		},
 		"node_modules/eslint-plugin-n": {
-			"version": "17.10.3",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.10.3.tgz",
-			"integrity": "sha512-ySZBfKe49nQZWR1yFaA0v/GsH6Fgp8ah6XV0WDz6CN8WO0ek4McMzb7A2xnf4DCYV43frjCygvb9f/wx7UUxRw==",
-			"dev": true,
-			"dependencies": {
-				"@eslint-community/eslint-utils": "^4.4.0",
-				"enhanced-resolve": "^5.17.0",
-				"eslint-plugin-es-x": "^7.5.0",
-				"get-tsconfig": "^4.7.0",
-				"globals": "^15.8.0",
-				"ignore": "^5.2.4",
-				"minimatch": "^9.0.5",
-				"semver": "^7.5.3"
+			"version": "17.23.1",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.23.1.tgz",
+			"integrity": "sha512-68PealUpYoHOBh332JLLD9Sj7OQUDkFpmcfqt8R9sySfFSeuGJjMTJQvCRRB96zO3A/PELRLkPrzsHmzEFQQ5A==",
+			"dev": true,
+			"dependencies": {
+				"@eslint-community/eslint-utils": "^4.5.0",
+				"enhanced-resolve": "^5.17.1",
+				"eslint-plugin-es-x": "^7.8.0",
+				"get-tsconfig": "^4.8.1",
+				"globals": "^15.11.0",
+				"globrex": "^0.1.2",
+				"ignore": "^5.3.2",
+				"semver": "^7.6.3",
+				"ts-declaration-location": "^1.0.6"
 			},
 			"engines": {
 				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -1560,40 +1371,52 @@
 				"eslint": ">=8.23.0"
 			}
 		},
-		"node_modules/eslint-plugin-n/node_modules/brace-expansion": {
-			"version": "2.0.2",
-			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
-			"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
+		"node_modules/eslint-plugin-n/node_modules/eslint-compat-utils": {
+			"version": "0.5.1",
+			"resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.5.1.tgz",
+			"integrity": "sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==",
 			"dev": true,
 			"dependencies": {
-				"balanced-match": "^1.0.0"
+				"semver": "^7.5.4"
+			},
+			"engines": {
+				"node": ">=12"
+			},
+			"peerDependencies": {
+				"eslint": ">=6.0.0"
 			}
 		},
-		"node_modules/eslint-plugin-n/node_modules/globals": {
-			"version": "15.10.0",
-			"resolved": "https://registry.npmjs.org/globals/-/globals-15.10.0.tgz",
-			"integrity": "sha512-tqFIbz83w4Y5TCbtgjZjApohbuh7K9BxGYFm7ifwDR240tvdb7P9x+/9VvUKlmkPoiknoJtanI8UOrqxS3a7lQ==",
+		"node_modules/eslint-plugin-n/node_modules/eslint-plugin-es-x": {
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.8.0.tgz",
+			"integrity": "sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==",
 			"dev": true,
+			"funding": [
+				"https://github.com/sponsors/ota-meshi",
+				"https://opencollective.com/eslint"
+			],
+			"dependencies": {
+				"@eslint-community/eslint-utils": "^4.1.2",
+				"@eslint-community/regexpp": "^4.11.0",
+				"eslint-compat-utils": "^0.5.1"
+			},
 			"engines": {
-				"node": ">=18"
+				"node": "^14.18.0 || >=16.0.0"
 			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
+			"peerDependencies": {
+				"eslint": ">=8"
 			}
 		},
-		"node_modules/eslint-plugin-n/node_modules/minimatch": {
-			"version": "9.0.5",
-			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
-			"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+		"node_modules/eslint-plugin-n/node_modules/globals": {
+			"version": "15.15.0",
+			"resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz",
+			"integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==",
 			"dev": true,
-			"dependencies": {
-				"brace-expansion": "^2.0.1"
-			},
 			"engines": {
-				"node": ">=16 || 14 >=14.17"
+				"node": ">=18"
 			},
 			"funding": {
-				"url": "https://github.com/sponsors/isaacs"
+				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
 		"node_modules/eslint-plugin-no-jquery": {
@@ -1606,9 +1429,9 @@
 			}
 		},
 		"node_modules/eslint-plugin-qunit": {
-			"version": "8.1.1",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-qunit/-/eslint-plugin-qunit-8.1.1.tgz",
-			"integrity": "sha512-j3xhiAf2Wvr8Dfwl5T6tlJ+F55vqYE9ZdAHUOTzq1lGerYrXzOS46RvK4SSWug2D8sl3ZYr2lA4/hgVXgLloxw==",
+			"version": "8.2.5",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-qunit/-/eslint-plugin-qunit-8.2.5.tgz",
+			"integrity": "sha512-qr7RJCYImKQjB+39q4q46i1l7p1V3joHzBE5CAYfxn5tfVFjrnjn/tw7q/kDyweU9kAIcLul0Dx/KWVUCb3BgA==",
 			"dev": true,
 			"dependencies": {
 				"eslint-utils": "^3.0.0",
@@ -1619,27 +1442,33 @@
 			}
 		},
 		"node_modules/eslint-plugin-security": {
-			"version": "1.7.1",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-security/-/eslint-plugin-security-1.7.1.tgz",
-			"integrity": "sha512-sMStceig8AFglhhT2LqlU5r+/fn9OwsA72O5bBuQVTssPCdQAOQzL+oMn/ZcpeUY6KcNfLJArgcrsSULNjYYdQ==",
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-security/-/eslint-plugin-security-3.0.1.tgz",
+			"integrity": "sha512-XjVGBhtDZJfyuhIxnQ/WMm385RbX3DBu7H1J7HNNhmB2tnGxMeqVSnYv79oAj992ayvIBZghsymwkYFS6cGH4Q==",
 			"dev": true,
 			"dependencies": {
 				"safe-regex": "^2.1.1"
+			},
+			"engines": {
+				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+			},
+			"funding": {
+				"url": "https://opencollective.com/eslint"
 			}
 		},
 		"node_modules/eslint-plugin-unicorn": {
-			"version": "53.0.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-53.0.0.tgz",
-			"integrity": "sha512-kuTcNo9IwwUCfyHGwQFOK/HjJAYzbODHN3wP0PgqbW+jbXqpNWxNVpVhj2tO9SixBwuAdmal8rVcWKBxwFnGuw==",
+			"version": "56.0.1",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-56.0.1.tgz",
+			"integrity": "sha512-FwVV0Uwf8XPfVnKSGpMg7NtlZh0G0gBarCaFcMUOoqPxXryxdYxTRRv4kH6B9TFCVIrjRXG+emcxIk2ayZilog==",
 			"dev": true,
 			"dependencies": {
-				"@babel/helper-validator-identifier": "^7.24.5",
+				"@babel/helper-validator-identifier": "^7.24.7",
 				"@eslint-community/eslint-utils": "^4.4.0",
-				"@eslint/eslintrc": "^3.0.2",
 				"ci-info": "^4.0.0",
 				"clean-regexp": "^1.0.0",
-				"core-js-compat": "^3.37.0",
-				"esquery": "^1.5.0",
+				"core-js-compat": "^3.38.1",
+				"esquery": "^1.6.0",
+				"globals": "^15.9.0",
 				"indent-string": "^4.0.0",
 				"is-builtin-module": "^3.2.1",
 				"jsesc": "^3.0.2",
@@ -1647,7 +1476,7 @@
 				"read-pkg-up": "^7.0.1",
 				"regexp-tree": "^0.1.27",
 				"regjsparser": "^0.10.0",
-				"semver": "^7.6.1",
+				"semver": "^7.6.3",
 				"strip-indent": "^3.0.0"
 			},
 			"engines": {
@@ -1660,68 +1489,10 @@
 				"eslint": ">=8.56.0"
 			}
 		},
-		"node_modules/eslint-plugin-unicorn/node_modules/@eslint/eslintrc": {
-			"version": "3.1.0",
-			"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz",
-			"integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==",
-			"dev": true,
-			"dependencies": {
-				"ajv": "^6.12.4",
-				"debug": "^4.3.2",
-				"espree": "^10.0.1",
-				"globals": "^14.0.0",
-				"ignore": "^5.2.0",
-				"import-fresh": "^3.2.1",
-				"js-yaml": "^4.1.0",
-				"minimatch": "^3.1.2",
-				"strip-json-comments": "^3.1.1"
-			},
-			"engines": {
-				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
-			},
-			"funding": {
-				"url": "https://opencollective.com/eslint"
-			}
-		},
-		"node_modules/eslint-plugin-unicorn/node_modules/argparse": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
-			"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
-			"dev": true
-		},
-		"node_modules/eslint-plugin-unicorn/node_modules/eslint-visitor-keys": {
-			"version": "4.1.0",
-			"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.1.0.tgz",
-			"integrity": "sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==",
-			"dev": true,
-			"engines": {
-				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
-			},
-			"funding": {
-				"url": "https://opencollective.com/eslint"
-			}
-		},
-		"node_modules/eslint-plugin-unicorn/node_modules/espree": {
-			"version": "10.2.0",
-			"resolved": "https://registry.npmjs.org/espree/-/espree-10.2.0.tgz",
-			"integrity": "sha512-upbkBJbckcCNBDBDXEbuhjbP68n+scUd3k/U2EkyM9nw+I/jPiL4cLF/Al06CF96wRltFda16sxDFrxsI1v0/g==",
-			"dev": true,
-			"dependencies": {
-				"acorn": "^8.12.0",
-				"acorn-jsx": "^5.3.2",
-				"eslint-visitor-keys": "^4.1.0"
-			},
-			"engines": {
-				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
-			},
-			"funding": {
-				"url": "https://opencollective.com/eslint"
-			}
-		},
 		"node_modules/eslint-plugin-unicorn/node_modules/globals": {
-			"version": "14.0.0",
-			"resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
-			"integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
+			"version": "15.15.0",
+			"resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz",
+			"integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==",
 			"dev": true,
 			"engines": {
 				"node": ">=18"
@@ -1730,34 +1501,10 @@
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
-		"node_modules/eslint-plugin-unicorn/node_modules/js-yaml": {
-			"version": "4.1.0",
-			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
-			"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
-			"dev": true,
-			"dependencies": {
-				"argparse": "^2.0.1"
-			},
-			"bin": {
-				"js-yaml": "bin/js-yaml.js"
-			}
-		},
-		"node_modules/eslint-plugin-unicorn/node_modules/minimatch": {
-			"version": "3.1.2",
-			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-			"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
-			"dev": true,
-			"dependencies": {
-				"brace-expansion": "^1.1.7"
-			},
-			"engines": {
-				"node": "*"
-			}
-		},
 		"node_modules/eslint-plugin-vue": {
-			"version": "9.28.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.28.0.tgz",
-			"integrity": "sha512-ShrihdjIhOTxs+MfWun6oJWuk+g/LAhN+CiuOl/jjkG3l0F2AuK5NMTaWqyvBgkFtpYmyks6P4603mLmhNJW8g==",
+			"version": "9.33.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.33.0.tgz",
+			"integrity": "sha512-174lJKuNsuDIlLpjeXc5E2Tss8P44uIimAfGD0b90k0NoirJqpG7stLuU9Vp/9ioTOrQdWVREc4mRd1BD+CvGw==",
 			"dev": true,
 			"dependencies": {
 				"@eslint-community/eslint-utils": "^4.4.0",
@@ -1777,23 +1524,24 @@
 			}
 		},
 		"node_modules/eslint-plugin-wdio": {
-			"version": "8.24.12",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-wdio/-/eslint-plugin-wdio-8.24.12.tgz",
-			"integrity": "sha512-OmzGteXFOQnJDdkTNnTfksaVa18WlFCyeLjZXHvDpkbomLWAg9wc296Pr0wnTCagqNj8qfEHpy+N2XVew5VCMA==",
+			"version": "9.16.2",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-wdio/-/eslint-plugin-wdio-9.16.2.tgz",
+			"integrity": "sha512-qkqsPgxN70OnUPWMjmzJbSbvm2+Q087JIGss53/OFI4Y46xKlV5VLhLiYealaAibAiXmnfWKd0tERjZAzVL87A==",
 			"dev": true,
 			"engines": {
-				"node": "^16.13 || >=18"
+				"node": ">=18.20.0"
 			}
 		},
 		"node_modules/eslint-plugin-yml": {
-			"version": "1.14.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-yml/-/eslint-plugin-yml-1.14.0.tgz",
-			"integrity": "sha512-ESUpgYPOcAYQO9czugcX5OqRvn/ydDVwGCPXY4YjPqc09rHaUVUA6IE6HLQys4rXk/S+qx3EwTd1wHCwam/OWQ==",
+			"version": "1.19.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-yml/-/eslint-plugin-yml-1.19.0.tgz",
+			"integrity": "sha512-S+4GbcCWksFKAvFJtf0vpdiCkZZvDJCV4Zsi9ahmYkYOYcf+LRqqzvzkb/ST7vTYV6sFwXOvawzYyL/jFT2nQA==",
 			"dev": true,
 			"dependencies": {
 				"debug": "^4.3.2",
-				"eslint-compat-utils": "^0.5.0",
-				"lodash": "^4.17.21",
+				"diff-sequences": "^27.5.1",
+				"escape-string-regexp": "4.0.0",
+				"eslint-compat-utils": "^0.6.0",
 				"natural-compare": "^1.4.0",
 				"yaml-eslint-parser": "^1.2.1"
 			},
@@ -1869,9 +1617,9 @@
 			"dev": true
 		},
 		"node_modules/eslint/node_modules/js-yaml": {
-			"version": "4.1.0",
-			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
-			"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+			"version": "4.1.1",
+			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+			"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
 			"dev": true,
 			"dependencies": {
 				"argparse": "^2.0.1"
@@ -1923,9 +1671,9 @@
 			}
 		},
 		"node_modules/esquery": {
-			"version": "1.5.0",
-			"resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
-			"integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
+			"version": "1.6.0",
+			"resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz",
+			"integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==",
 			"dev": true,
 			"dependencies": {
 				"estraverse": "^5.1.0"
@@ -2188,9 +1936,9 @@
 			}
 		},
 		"node_modules/get-tsconfig": {
-			"version": "4.8.1",
-			"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.8.1.tgz",
-			"integrity": "sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==",
+			"version": "4.13.0",
+			"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.0.tgz",
+			"integrity": "sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==",
 			"dev": true,
 			"dependencies": {
 				"resolve-pkg-maps": "^1.0.0"
@@ -2294,6 +2042,12 @@
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
+		"node_modules/globrex": {
+			"version": "0.1.2",
+			"resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz",
+			"integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==",
+			"dev": true
+		},
 		"node_modules/graceful-fs": {
 			"version": "4.2.11",
 			"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
@@ -2454,15 +2208,6 @@
 				"node": ">=10"
 			}
 		},
-		"node_modules/has-flag": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
-			"integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
-			"dev": true,
-			"engines": {
-				"node": ">=4"
-			}
-		},
 		"node_modules/hasown": {
 			"version": "2.0.2",
 			"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
@@ -2502,6 +2247,22 @@
 			"integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
 			"dev": true
 		},
+		"node_modules/html-entities": {
+			"version": "2.6.0",
+			"resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.6.0.tgz",
+			"integrity": "sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==",
+			"dev": true,
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/mdevils"
+				},
+				{
+					"type": "patreon",
+					"url": "https://patreon.com/mdevils"
+				}
+			]
+		},
 		"node_modules/iconv-lite": {
 			"version": "0.6.3",
 			"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
@@ -2515,9 +2276,9 @@
 			}
 		},
 		"node_modules/ignore": {
-			"version": "5.3.1",
-			"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
-			"integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==",
+			"version": "5.3.2",
+			"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
+			"integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
 			"dev": true,
 			"engines": {
 				"node": ">= 4"
@@ -2737,9 +2498,9 @@
 			"dev": true
 		},
 		"node_modules/js-yaml": {
-			"version": "3.14.1",
-			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
-			"integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
+			"version": "3.14.2",
+			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz",
+			"integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==",
 			"dev": true,
 			"dependencies": {
 				"argparse": "^1.0.7",
@@ -2750,18 +2511,18 @@
 			}
 		},
 		"node_modules/jsdoc-type-pratt-parser": {
-			"version": "4.0.0",
-			"resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.0.0.tgz",
-			"integrity": "sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==",
+			"version": "6.9.1",
+			"resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-6.9.1.tgz",
+			"integrity": "sha512-HbYNAorY51GnpKvgDf4YINSY+V1segv0qEeijvTSI6OWMCmqah0W6mVwBFeWskJ81uTJJVnDQlwhpJMREvGsXg==",
 			"dev": true,
 			"engines": {
-				"node": ">=12.0.0"
+				"node": ">=20.0.0"
 			}
 		},
 		"node_modules/jsesc": {
-			"version": "3.0.2",
-			"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz",
-			"integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==",
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
+			"integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
 			"dev": true,
 			"bin": {
 				"jsesc": "bin/jsesc"
@@ -2948,9 +2709,9 @@
 			}
 		},
 		"node_modules/ms": {
-			"version": "2.1.2",
-			"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-			"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+			"version": "2.1.3",
+			"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+			"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
 			"dev": true
 		},
 		"node_modules/natural-compare": {
@@ -2960,9 +2721,9 @@
 			"dev": true
 		},
 		"node_modules/node-releases": {
-			"version": "2.0.18",
-			"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz",
-			"integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==",
+			"version": "2.0.27",
+			"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz",
+			"integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==",
 			"dev": true
 		},
 		"node_modules/nopt": {
@@ -3010,6 +2771,27 @@
 				"url": "https://github.com/fb55/nth-check?sponsor=1"
 			}
 		},
+		"node_modules/object-deep-merge": {
+			"version": "1.0.5",
+			"resolved": "https://registry.npmjs.org/object-deep-merge/-/object-deep-merge-1.0.5.tgz",
+			"integrity": "sha512-3DioFgOzetbxbeUq8pB2NunXo8V0n4EvqsWM/cJoI6IA9zghd7cl/2pBOuWRf4dlvA+fcg5ugFMZaN2/RuoaGg==",
+			"dev": true,
+			"dependencies": {
+				"type-fest": "4.2.0"
+			}
+		},
+		"node_modules/object-deep-merge/node_modules/type-fest": {
+			"version": "4.2.0",
+			"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.2.0.tgz",
+			"integrity": "sha512-5zknd7Dss75pMSED270A1RQS3KloqRJA9XbXLe0eCxyw7xXFb3rd+9B0UQ/0E+LQT6lnrLviEolYORlRWamn4w==",
+			"dev": true,
+			"engines": {
+				"node": ">=16"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
 		"node_modules/object.defaults": {
 			"version": "1.1.0",
 			"resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz",
@@ -3169,6 +2951,15 @@
 				"node": ">=0.8"
 			}
 		},
+		"node_modules/parse-imports-exports": {
+			"version": "0.2.4",
+			"resolved": "https://registry.npmjs.org/parse-imports-exports/-/parse-imports-exports-0.2.4.tgz",
+			"integrity": "sha512-4s6vd6dx1AotCx/RCI2m7t7GCh5bDRUtGNvRfHSP2wbBQdMi67pPe7mtzmgwcaQ8VKK/6IB7Glfyu3qdZJPybQ==",
+			"dev": true,
+			"dependencies": {
+				"parse-statements": "1.0.11"
+			}
+		},
 		"node_modules/parse-json": {
 			"version": "5.2.0",
 			"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
@@ -3196,6 +2987,12 @@
 				"node": ">=0.10.0"
 			}
 		},
+		"node_modules/parse-statements": {
+			"version": "1.0.11",
+			"resolved": "https://registry.npmjs.org/parse-statements/-/parse-statements-1.0.11.tgz",
+			"integrity": "sha512-HlsyYdMBnbPQ9Jr/VgJ1YF4scnldvJpJxCVx6KgqPL4dxppsWrJHCIIxQXMJrqGnsRkNPATbeMJ8Yxu7JMsYcA==",
+			"dev": true
+		},
 		"node_modules/path-exists": {
 			"version": "4.0.0",
 			"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
@@ -3251,9 +3048,9 @@
 			}
 		},
 		"node_modules/picocolors": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz",
-			"integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==",
+			"version": "1.1.1",
+			"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
+			"integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
 			"dev": true
 		},
 		"node_modules/picomatch": {
@@ -3596,9 +3393,9 @@
 			"dev": true
 		},
 		"node_modules/semver": {
-			"version": "7.6.3",
-			"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
-			"integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+			"version": "7.7.3",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+			"integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
 			"dev": true,
 			"bin": {
 				"semver": "bin/semver.js"
@@ -3665,9 +3462,9 @@
 			}
 		},
 		"node_modules/spdx-license-ids": {
-			"version": "3.0.20",
-			"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz",
-			"integrity": "sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==",
+			"version": "3.0.22",
+			"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz",
+			"integrity": "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==",
 			"dev": true
 		},
 		"node_modules/sprintf-js": {
@@ -3712,18 +3509,6 @@
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
-		"node_modules/supports-color": {
-			"version": "5.5.0",
-			"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
-			"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
-			"dev": true,
-			"dependencies": {
-				"has-flag": "^3.0.0"
-			},
-			"engines": {
-				"node": ">=4"
-			}
-		},
 		"node_modules/supports-preserve-symlinks-flag": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
@@ -3737,12 +3522,16 @@
 			}
 		},
 		"node_modules/tapable": {
-			"version": "2.2.1",
-			"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
-			"integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+			"version": "2.3.0",
+			"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz",
+			"integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==",
 			"dev": true,
 			"engines": {
 				"node": ">=6"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/webpack"
 			}
 		},
 		"node_modules/text-table": {
@@ -3769,10 +3558,44 @@
 			"integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==",
 			"dev": true,
 			"engines": {
-				"node": ">=18.12"
+				"node": ">=18.12"
+			},
+			"peerDependencies": {
+				"typescript": ">=4.8.4"
+			}
+		},
+		"node_modules/ts-declaration-location": {
+			"version": "1.0.7",
+			"resolved": "https://registry.npmjs.org/ts-declaration-location/-/ts-declaration-location-1.0.7.tgz",
+			"integrity": "sha512-EDyGAwH1gO0Ausm9gV6T2nUvBgXT5kGoCMJPllOaooZ+4VvJiKBdZE7wK18N1deEowhcUptS+5GXZK8U/fvpwA==",
+			"dev": true,
+			"funding": [
+				{
+					"type": "ko-fi",
+					"url": "https://ko-fi.com/rebeccastevens"
+				},
+				{
+					"type": "tidelift",
+					"url": "https://tidelift.com/funding/github/npm/ts-declaration-location"
+				}
+			],
+			"dependencies": {
+				"picomatch": "^4.0.2"
+			},
+			"peerDependencies": {
+				"typescript": ">=4.0.0"
+			}
+		},
+		"node_modules/ts-declaration-location/node_modules/picomatch": {
+			"version": "4.0.3",
+			"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+			"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+			"dev": true,
+			"engines": {
+				"node": ">=12"
 			},
-			"peerDependencies": {
-				"typescript": ">=4.8.4"
+			"funding": {
+				"url": "https://github.com/sponsors/jonschlinkert"
 			}
 		},
 		"node_modules/type-check": {
@@ -3846,9 +3669,9 @@
 			}
 		},
 		"node_modules/update-browserslist-db": {
-			"version": "1.1.1",
-			"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz",
-			"integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==",
+			"version": "1.1.4",
+			"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.4.tgz",
+			"integrity": "sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==",
 			"dev": true,
 			"funding": [
 				{
@@ -3866,7 +3689,7 @@
 			],
 			"dependencies": {
 				"escalade": "^3.2.0",
-				"picocolors": "^1.1.0"
+				"picocolors": "^1.1.1"
 			},
 			"bin": {
 				"update-browserslist-db": "cli.js"
@@ -3977,25 +3800,24 @@
 			}
 		},
 		"node_modules/yaml": {
-			"version": "2.4.1",
-			"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz",
-			"integrity": "sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==",
+			"version": "2.8.1",
+			"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz",
+			"integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==",
 			"dev": true,
 			"bin": {
 				"yaml": "bin.mjs"
 			},
 			"engines": {
-				"node": ">= 14"
+				"node": ">= 14.6"
 			}
 		},
 		"node_modules/yaml-eslint-parser": {
-			"version": "1.2.2",
-			"resolved": "https://registry.npmjs.org/yaml-eslint-parser/-/yaml-eslint-parser-1.2.2.tgz",
-			"integrity": "sha512-pEwzfsKbTrB8G3xc/sN7aw1v6A6c/pKxLAkjclnAyo5g5qOh6eL9WGu0o3cSDQZKrTNk4KL4lQSwZW+nBkANEg==",
+			"version": "1.3.0",
+			"resolved": "https://registry.npmjs.org/yaml-eslint-parser/-/yaml-eslint-parser-1.3.0.tgz",
+			"integrity": "sha512-E/+VitOorXSLiAqtTd7Yqax0/pAS3xaYMP+AUUJGOK1OZG3rhcj9fcJOM5HJ2VrP1FrStVCWr1muTfQCdj4tAA==",
 			"dev": true,
 			"dependencies": {
 				"eslint-visitor-keys": "^3.0.0",
-				"lodash": "^4.17.21",
 				"yaml": "^2.0.0"
 			},
 			"engines": {
@@ -4026,72 +3848,33 @@
 			"dev": true
 		},
 		"@babel/code-frame": {
-			"version": "7.25.7",
-			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.25.7.tgz",
-			"integrity": "sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==",
+			"version": "7.27.1",
+			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz",
+			"integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==",
 			"dev": true,
 			"requires": {
-				"@babel/highlight": "^7.25.7",
-				"picocolors": "^1.0.0"
+				"@babel/helper-validator-identifier": "^7.27.1",
+				"js-tokens": "^4.0.0",
+				"picocolors": "^1.1.1"
 			}
 		},
 		"@babel/helper-validator-identifier": {
-			"version": "7.25.7",
-			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz",
-			"integrity": "sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==",
+			"version": "7.28.5",
+			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz",
+			"integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==",
 			"dev": true
 		},
-		"@babel/highlight": {
-			"version": "7.25.7",
-			"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.7.tgz",
-			"integrity": "sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==",
-			"dev": true,
-			"requires": {
-				"@babel/helper-validator-identifier": "^7.25.7",
-				"chalk": "^2.4.2",
-				"js-tokens": "^4.0.0",
-				"picocolors": "^1.0.0"
-			},
-			"dependencies": {
-				"chalk": {
-					"version": "2.4.2",
-					"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
-					"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
-					"dev": true,
-					"requires": {
-						"ansi-styles": "^3.2.1",
-						"escape-string-regexp": "^1.0.5",
-						"supports-color": "^5.3.0"
-					}
-				},
-				"escape-string-regexp": {
-					"version": "1.0.5",
-					"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
-					"integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
-					"dev": true
-				}
-			}
-		},
 		"@es-joy/jsdoccomment": {
-			"version": "0.43.1",
-			"resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.43.1.tgz",
-			"integrity": "sha512-I238eDtOolvCuvtxrnqtlBaw0BwdQuYqK7eA6XIonicMdOOOb75mqdIzkGDUbS04+1Di007rgm9snFRNeVrOog==",
+			"version": "0.75.0",
+			"resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.75.0.tgz",
+			"integrity": "sha512-Bj+oF8reFb4b+6LUmG6ETpDsBU/28y/bAAzioyIR4VK/V6UodYBNGbtxRyGxk0aJJQqpZZ6jz82vVZWCX6Mwmg==",
 			"dev": true,
 			"requires": {
-				"@types/eslint": "^8.56.5",
-				"@types/estree": "^1.0.5",
-				"@typescript-eslint/types": "^7.2.0",
+				"@types/estree": "^1.0.8",
+				"@typescript-eslint/types": "^8.46.0",
 				"comment-parser": "1.4.1",
-				"esquery": "^1.5.0",
-				"jsdoc-type-pratt-parser": "~4.0.0"
-			},
-			"dependencies": {
-				"@typescript-eslint/types": {
-					"version": "7.18.0",
-					"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.18.0.tgz",
-					"integrity": "sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==",
-					"dev": true
-				}
+				"esquery": "^1.6.0",
+				"jsdoc-type-pratt-parser": "~6.9.1"
 			}
 		},
 		"@eslint-community/eslint-utils": {
@@ -4104,9 +3887,9 @@
 			}
 		},
 		"@eslint-community/regexpp": {
-			"version": "4.11.1",
-			"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz",
-			"integrity": "sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==",
+			"version": "4.12.2",
+			"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz",
+			"integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==",
 			"dev": true
 		},
 		"@eslint/eslintrc": {
@@ -4133,9 +3916,9 @@
 					"dev": true
 				},
 				"js-yaml": {
-					"version": "4.1.0",
-					"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
-					"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+					"version": "4.1.1",
+					"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+					"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
 					"dev": true,
 					"requires": {
 						"argparse": "^2.0.1"
@@ -4182,9 +3965,9 @@
 			"dev": true
 		},
 		"@mdn/browser-compat-data": {
-			"version": "5.5.23",
-			"resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-5.5.23.tgz",
-			"integrity": "sha512-nIy38qL3nfNcGOz5J2BJQpBXa7vM9QO1+wbyvqqS89lgNTWE8Q10whLsmE0sTVBooXiEaRc4fVME5IXjCYiHAw==",
+			"version": "5.7.6",
+			"resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-5.7.6.tgz",
+			"integrity": "sha512-7xdrMX0Wk7grrTZQwAoy1GkvPMFoizStUoL+VmtUkAxegbCCec+3FKwOM6yc/uGU5+BEczQHXAlWiqvM8JeENg==",
 			"dev": true
 		},
 		"@nodelib/fs.scandir": {
@@ -4226,89 +4009,6 @@
 				"picomatch": "^4.0.2"
 			},
 			"dependencies": {
-				"@typescript-eslint/project-service": {
-					"version": "8.38.0",
-					"resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.38.0.tgz",
-					"integrity": "sha512-dbK7Jvqcb8c9QfH01YB6pORpqX1mn5gDZc9n63Ak/+jD67oWXn3Gs0M6vddAN+eDXBCS5EmNWzbSxsn9SzFWWg==",
-					"dev": true,
-					"requires": {
-						"@typescript-eslint/tsconfig-utils": "^8.38.0",
-						"@typescript-eslint/types": "^8.38.0",
-						"debug": "^4.3.4"
-					}
-				},
-				"@typescript-eslint/scope-manager": {
-					"version": "8.38.0",
-					"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.38.0.tgz",
-					"integrity": "sha512-WJw3AVlFFcdT9Ri1xs/lg8LwDqgekWXWhH3iAF+1ZM+QPd7oxQ6jvtW/JPwzAScxitILUIFs0/AnQ/UWHzbATQ==",
-					"dev": true,
-					"requires": {
-						"@typescript-eslint/types": "8.38.0",
-						"@typescript-eslint/visitor-keys": "8.38.0"
-					}
-				},
-				"@typescript-eslint/tsconfig-utils": {
-					"version": "8.38.0",
-					"resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.38.0.tgz",
-					"integrity": "sha512-Lum9RtSE3EroKk/bYns+sPOodqb2Fv50XOl/gMviMKNvanETUuUcC9ObRbzrJ4VSd2JalPqgSAavwrPiPvnAiQ==",
-					"dev": true,
-					"requires": {}
-				},
-				"@typescript-eslint/types": {
-					"version": "8.38.0",
-					"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.38.0.tgz",
-					"integrity": "sha512-wzkUfX3plUqij4YwWaJyqhiPE5UCRVlFpKn1oCRn2O1bJ592XxWJj8ROQ3JD5MYXLORW84063z3tZTb/cs4Tyw==",
-					"dev": true
-				},
-				"@typescript-eslint/typescript-estree": {
-					"version": "8.38.0",
-					"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.38.0.tgz",
-					"integrity": "sha512-fooELKcAKzxux6fA6pxOflpNS0jc+nOQEEOipXFNjSlBS6fqrJOVY/whSn70SScHrcJ2LDsxWrneFoWYSVfqhQ==",
-					"dev": true,
-					"requires": {
-						"@typescript-eslint/project-service": "8.38.0",
-						"@typescript-eslint/tsconfig-utils": "8.38.0",
-						"@typescript-eslint/types": "8.38.0",
-						"@typescript-eslint/visitor-keys": "8.38.0",
-						"debug": "^4.3.4",
-						"fast-glob": "^3.3.2",
-						"is-glob": "^4.0.3",
-						"minimatch": "^9.0.4",
-						"semver": "^7.6.0",
-						"ts-api-utils": "^2.1.0"
-					}
-				},
-				"@typescript-eslint/utils": {
-					"version": "8.38.0",
-					"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.38.0.tgz",
-					"integrity": "sha512-hHcMA86Hgt+ijJlrD8fX0j1j8w4C92zue/8LOPAFioIno+W0+L7KqE8QZKCcPGc/92Vs9x36w/4MPTJhqXdyvg==",
-					"dev": true,
-					"requires": {
-						"@eslint-community/eslint-utils": "^4.7.0",
-						"@typescript-eslint/scope-manager": "8.38.0",
-						"@typescript-eslint/types": "8.38.0",
-						"@typescript-eslint/typescript-estree": "8.38.0"
-					}
-				},
-				"@typescript-eslint/visitor-keys": {
-					"version": "8.38.0",
-					"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.38.0.tgz",
-					"integrity": "sha512-pWrTcoFNWuwHlA9CvlfSsGWs14JxfN1TH25zM5L7o0pRLhsoZkDnTsXfQRJBEWJoV5DL0jf+Z+sxiud+K0mq1g==",
-					"dev": true,
-					"requires": {
-						"@typescript-eslint/types": "8.38.0",
-						"eslint-visitor-keys": "^4.2.1"
-					}
-				},
-				"brace-expansion": {
-					"version": "2.0.2",
-					"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
-					"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
-					"dev": true,
-					"requires": {
-						"balanced-match": "^1.0.0"
-					}
-				},
 				"eslint-visitor-keys": {
 					"version": "4.2.1",
 					"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
@@ -4326,15 +4026,6 @@
 						"eslint-visitor-keys": "^4.2.1"
 					}
 				},
-				"minimatch": {
-					"version": "9.0.5",
-					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
-					"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
-					"dev": true,
-					"requires": {
-						"brace-expansion": "^2.0.1"
-					}
-				},
 				"picomatch": {
 					"version": "4.0.3",
 					"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
@@ -4343,26 +4034,10 @@
 				}
 			}
 		},
-		"@types/eslint": {
-			"version": "8.56.12",
-			"resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.12.tgz",
-			"integrity": "sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g==",
-			"dev": true,
-			"requires": {
-				"@types/estree": "*",
-				"@types/json-schema": "*"
-			}
-		},
 		"@types/estree": {
-			"version": "1.0.6",
-			"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz",
-			"integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==",
-			"dev": true
-		},
-		"@types/json-schema": {
-			"version": "7.0.15",
-			"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
-			"integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
+			"version": "1.0.8",
+			"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
+			"integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
 			"dev": true
 		},
 		"@types/normalize-package-data": {
@@ -4372,16 +4047,16 @@
 			"dev": true
 		},
 		"@typescript-eslint/eslint-plugin": {
-			"version": "8.35.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.35.1.tgz",
-			"integrity": "sha512-9XNTlo7P7RJxbVeICaIIIEipqxLKguyh+3UbXuT2XQuFp6d8VOeDEGuz5IiX0dgZo8CiI6aOFLg4e8cF71SFVg==",
+			"version": "8.46.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.46.0.tgz",
+			"integrity": "sha512-hA8gxBq4ukonVXPy0OKhiaUh/68D0E88GSmtC1iAEnGaieuDi38LhS7jdCHRLi6ErJBNDGCzvh5EnzdPwUc0DA==",
 			"dev": true,
 			"requires": {
 				"@eslint-community/regexpp": "^4.10.0",
-				"@typescript-eslint/scope-manager": "8.35.1",
-				"@typescript-eslint/type-utils": "8.35.1",
-				"@typescript-eslint/utils": "8.35.1",
-				"@typescript-eslint/visitor-keys": "8.35.1",
+				"@typescript-eslint/scope-manager": "8.46.0",
+				"@typescript-eslint/type-utils": "8.46.0",
+				"@typescript-eslint/utils": "8.46.0",
+				"@typescript-eslint/visitor-keys": "8.46.0",
 				"graphemer": "^1.4.0",
 				"ignore": "^7.0.0",
 				"natural-compare": "^1.4.0",
@@ -4397,74 +4072,75 @@
 			}
 		},
 		"@typescript-eslint/parser": {
-			"version": "8.35.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.35.1.tgz",
-			"integrity": "sha512-3MyiDfrfLeK06bi/g9DqJxP5pV74LNv4rFTyvGDmT3x2p1yp1lOd+qYZfiRPIOf/oON+WRZR5wxxuF85qOar+w==",
+			"version": "8.46.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.46.0.tgz",
+			"integrity": "sha512-n1H6IcDhmmUEG7TNVSspGmiHHutt7iVKtZwRppD7e04wha5MrkV1h3pti9xQLcCMt6YWsncpoT0HMjkH1FNwWQ==",
 			"dev": true,
 			"requires": {
-				"@typescript-eslint/scope-manager": "8.35.1",
-				"@typescript-eslint/types": "8.35.1",
-				"@typescript-eslint/typescript-estree": "8.35.1",
-				"@typescript-eslint/visitor-keys": "8.35.1",
+				"@typescript-eslint/scope-manager": "8.46.0",
+				"@typescript-eslint/types": "8.46.0",
+				"@typescript-eslint/typescript-estree": "8.46.0",
+				"@typescript-eslint/visitor-keys": "8.46.0",
 				"debug": "^4.3.4"
 			}
 		},
 		"@typescript-eslint/project-service": {
-			"version": "8.35.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.35.1.tgz",
-			"integrity": "sha512-VYxn/5LOpVxADAuP3NrnxxHYfzVtQzLKeldIhDhzC8UHaiQvYlXvKuVho1qLduFbJjjy5U5bkGwa3rUGUb1Q6Q==",
+			"version": "8.46.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.46.0.tgz",
+			"integrity": "sha512-OEhec0mH+U5Je2NZOeK1AbVCdm0ChyapAyTeXVIYTPXDJ3F07+cu87PPXcGoYqZ7M9YJVvFnfpGg1UmCIqM+QQ==",
 			"dev": true,
 			"requires": {
-				"@typescript-eslint/tsconfig-utils": "^8.35.1",
-				"@typescript-eslint/types": "^8.35.1",
+				"@typescript-eslint/tsconfig-utils": "^8.46.0",
+				"@typescript-eslint/types": "^8.46.0",
 				"debug": "^4.3.4"
 			}
 		},
 		"@typescript-eslint/scope-manager": {
-			"version": "8.35.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.35.1.tgz",
-			"integrity": "sha512-s/Bpd4i7ht2934nG+UoSPlYXd08KYz3bmjLEb7Ye1UVob0d1ENiT3lY8bsCmik4RqfSbPw9xJJHbugpPpP5JUg==",
+			"version": "8.46.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.46.0.tgz",
+			"integrity": "sha512-lWETPa9XGcBes4jqAMYD9fW0j4n6hrPtTJwWDmtqgFO/4HF4jmdH/Q6wggTw5qIT5TXjKzbt7GsZUBnWoO3dqw==",
 			"dev": true,
 			"requires": {
-				"@typescript-eslint/types": "8.35.1",
-				"@typescript-eslint/visitor-keys": "8.35.1"
+				"@typescript-eslint/types": "8.46.0",
+				"@typescript-eslint/visitor-keys": "8.46.0"
 			}
 		},
 		"@typescript-eslint/tsconfig-utils": {
-			"version": "8.35.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.35.1.tgz",
-			"integrity": "sha512-K5/U9VmT9dTHoNowWZpz+/TObS3xqC5h0xAIjXPw+MNcKV9qg6eSatEnmeAwkjHijhACH0/N7bkhKvbt1+DXWQ==",
+			"version": "8.46.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.46.0.tgz",
+			"integrity": "sha512-WrYXKGAHY836/N7zoK/kzi6p8tXFhasHh8ocFL9VZSAkvH956gfeRfcnhs3xzRy8qQ/dq3q44v1jvQieMFg2cw==",
 			"dev": true,
 			"requires": {}
 		},
 		"@typescript-eslint/type-utils": {
-			"version": "8.35.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.35.1.tgz",
-			"integrity": "sha512-HOrUBlfVRz5W2LIKpXzZoy6VTZzMu2n8q9C2V/cFngIC5U1nStJgv0tMV4sZPzdf4wQm9/ToWUFPMN9Vq9VJQQ==",
+			"version": "8.46.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.46.0.tgz",
+			"integrity": "sha512-hy+lvYV1lZpVs2jRaEYvgCblZxUoJiPyCemwbQZ+NGulWkQRy0HRPYAoef/CNSzaLt+MLvMptZsHXHlkEilaeg==",
 			"dev": true,
 			"requires": {
-				"@typescript-eslint/typescript-estree": "8.35.1",
-				"@typescript-eslint/utils": "8.35.1",
+				"@typescript-eslint/types": "8.46.0",
+				"@typescript-eslint/typescript-estree": "8.46.0",
+				"@typescript-eslint/utils": "8.46.0",
 				"debug": "^4.3.4",
 				"ts-api-utils": "^2.1.0"
 			}
 		},
 		"@typescript-eslint/types": {
-			"version": "8.35.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.35.1.tgz",
-			"integrity": "sha512-q/O04vVnKHfrrhNAscndAn1tuQhIkwqnaW+eu5waD5IPts2eX1dgJxgqcPx5BX109/qAz7IG6VrEPTOYKCNfRQ==",
+			"version": "8.46.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.46.0.tgz",
+			"integrity": "sha512-bHGGJyVjSE4dJJIO5yyEWt/cHyNwga/zXGJbJJ8TiO01aVREK6gCTu3L+5wrkb1FbDkQ+TKjMNe9R/QQQP9+rA==",
 			"dev": true
 		},
 		"@typescript-eslint/typescript-estree": {
-			"version": "8.35.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.35.1.tgz",
-			"integrity": "sha512-Vvpuvj4tBxIka7cPs6Y1uvM7gJgdF5Uu9F+mBJBPY4MhvjrjWGK4H0lVgLJd/8PWZ23FTqsaJaLEkBCFUk8Y9g==",
+			"version": "8.46.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.46.0.tgz",
+			"integrity": "sha512-ekDCUfVpAKWJbRfm8T1YRrCot1KFxZn21oV76v5Fj4tr7ELyk84OS+ouvYdcDAwZL89WpEkEj2DKQ+qg//+ucg==",
 			"dev": true,
 			"requires": {
-				"@typescript-eslint/project-service": "8.35.1",
-				"@typescript-eslint/tsconfig-utils": "8.35.1",
-				"@typescript-eslint/types": "8.35.1",
-				"@typescript-eslint/visitor-keys": "8.35.1",
+				"@typescript-eslint/project-service": "8.46.0",
+				"@typescript-eslint/tsconfig-utils": "8.46.0",
+				"@typescript-eslint/types": "8.46.0",
+				"@typescript-eslint/visitor-keys": "8.46.0",
 				"debug": "^4.3.4",
 				"fast-glob": "^3.3.2",
 				"is-glob": "^4.0.3",
@@ -4494,24 +4170,24 @@
 			}
 		},
 		"@typescript-eslint/utils": {
-			"version": "8.35.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.35.1.tgz",
-			"integrity": "sha512-lhnwatFmOFcazAsUm3ZnZFpXSxiwoa1Lj50HphnDe1Et01NF4+hrdXONSUHIcbVu2eFb1bAf+5yjXkGVkXBKAQ==",
+			"version": "8.46.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.46.0.tgz",
+			"integrity": "sha512-nD6yGWPj1xiOm4Gk0k6hLSZz2XkNXhuYmyIrOWcHoPuAhjT9i5bAG+xbWPgFeNR8HPHHtpNKdYUXJl/D3x7f5g==",
 			"dev": true,
 			"requires": {
 				"@eslint-community/eslint-utils": "^4.7.0",
-				"@typescript-eslint/scope-manager": "8.35.1",
-				"@typescript-eslint/types": "8.35.1",
-				"@typescript-eslint/typescript-estree": "8.35.1"
+				"@typescript-eslint/scope-manager": "8.46.0",
+				"@typescript-eslint/types": "8.46.0",
+				"@typescript-eslint/typescript-estree": "8.46.0"
 			}
 		},
 		"@typescript-eslint/visitor-keys": {
-			"version": "8.35.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.35.1.tgz",
-			"integrity": "sha512-VRwixir4zBWCSTP/ljEo091lbpypz57PoeAQ9imjG+vbeof9LplljsL1mos4ccG6H9IjfrVGM359RozUnuFhpw==",
+			"version": "8.46.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.46.0.tgz",
+			"integrity": "sha512-FrvMpAK+hTbFy7vH5j1+tMYHMSKLE6RzluFJlkFNKD0p9YsUT75JlBSmr5so3QRzvMwU5/bIEdeNrxm8du8l3Q==",
 			"dev": true,
 			"requires": {
-				"@typescript-eslint/types": "8.35.1",
+				"@typescript-eslint/types": "8.46.0",
 				"eslint-visitor-keys": "^4.2.1"
 			},
 			"dependencies": {
@@ -4566,15 +4242,6 @@
 			"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
 			"dev": true
 		},
-		"ansi-styles": {
-			"version": "3.2.1",
-			"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
-			"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
-			"dev": true,
-			"requires": {
-				"color-convert": "^1.9.0"
-			}
-		},
 		"are-docs-informative": {
 			"version": "0.0.2",
 			"resolved": "https://registry.npmjs.org/are-docs-informative/-/are-docs-informative-0.0.2.tgz",
@@ -4611,12 +4278,12 @@
 			"dev": true
 		},
 		"ast-metadata-inferer": {
-			"version": "0.8.0",
-			"resolved": "https://registry.npmjs.org/ast-metadata-inferer/-/ast-metadata-inferer-0.8.0.tgz",
-			"integrity": "sha512-jOMKcHht9LxYIEQu+RVd22vtgrPaVCtDRQ/16IGmurdzxvYbDd5ynxjnyrzLnieG96eTcAyaoj/wN/4/1FyyeA==",
+			"version": "0.8.1",
+			"resolved": "https://registry.npmjs.org/ast-metadata-inferer/-/ast-metadata-inferer-0.8.1.tgz",
+			"integrity": "sha512-ht3Dm6Zr7SXv6t1Ra6gFo0+kLDglHGrEbYihTkcycrbHw7WCcuhBzPlJYHEsIpycaUwzsJHje+vUcxXUX4ztTA==",
 			"dev": true,
 			"requires": {
-				"@mdn/browser-compat-data": "^5.2.34"
+				"@mdn/browser-compat-data": "^5.6.19"
 			}
 		},
 		"async": {
@@ -4631,6 +4298,12 @@
 			"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
 			"dev": true
 		},
+		"baseline-browser-mapping": {
+			"version": "2.8.28",
+			"resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.28.tgz",
+			"integrity": "sha512-gYjt7OIqdM0PcttNYP2aVrr2G0bMALkBaoehD4BuRGjAOtipg0b6wHg1yNL+s5zSnLZZrGHOw4IrND8CD+3oIQ==",
+			"dev": true
+		},
 		"boolbase": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
@@ -4657,15 +4330,16 @@
 			}
 		},
 		"browserslist": {
-			"version": "4.24.0",
-			"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.0.tgz",
-			"integrity": "sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==",
+			"version": "4.28.0",
+			"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.0.tgz",
+			"integrity": "sha512-tbydkR/CxfMwelN0vwdP/pLkDwyAASZ+VfWm4EOwlB6SWhx1sYnWLqo8N5j0rAzPfzfRaxt0mM/4wPU/Su84RQ==",
 			"dev": true,
 			"requires": {
-				"caniuse-lite": "^1.0.30001663",
-				"electron-to-chromium": "^1.5.28",
-				"node-releases": "^2.0.18",
-				"update-browserslist-db": "^1.1.0"
+				"baseline-browser-mapping": "^2.8.25",
+				"caniuse-lite": "^1.0.30001754",
+				"electron-to-chromium": "^1.5.249",
+				"node-releases": "^2.0.27",
+				"update-browserslist-db": "^1.1.4"
 			}
 		},
 		"browserslist-config-wikimedia": {
@@ -4687,9 +4361,9 @@
 			"dev": true
 		},
 		"caniuse-lite": {
-			"version": "1.0.30001727",
-			"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001727.tgz",
-			"integrity": "sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q==",
+			"version": "1.0.30001754",
+			"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001754.tgz",
+			"integrity": "sha512-x6OeBXueoAceOmotzx3PO4Zpt4rzpeIFsSr6AAePTZxSkXiYDUmpypEl7e2+8NCd9bD7bXjqyef8CJYPC1jfxg==",
 			"dev": true
 		},
 		"chalk": {
@@ -4744,9 +4418,9 @@
 			}
 		},
 		"ci-info": {
-			"version": "4.0.0",
-			"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.0.0.tgz",
-			"integrity": "sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==",
+			"version": "4.3.1",
+			"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.1.tgz",
+			"integrity": "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==",
 			"dev": true
 		},
 		"clean-regexp": {
@@ -4766,21 +4440,6 @@
 				}
 			}
 		},
-		"color-convert": {
-			"version": "1.9.3",
-			"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
-			"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
-			"dev": true,
-			"requires": {
-				"color-name": "1.1.3"
-			}
-		},
-		"color-name": {
-			"version": "1.1.3",
-			"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
-			"integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
-			"dev": true
-		},
 		"colors": {
 			"version": "1.1.2",
 			"resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
@@ -4800,12 +4459,12 @@
 			"dev": true
 		},
 		"core-js-compat": {
-			"version": "3.38.1",
-			"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz",
-			"integrity": "sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==",
+			"version": "3.46.0",
+			"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.46.0.tgz",
+			"integrity": "sha512-p9hObIIEENxSV8xIu+V68JjSeARg6UVMG5mR+JEUguG3sI6MsiS1njz2jHmyJDvA+8jX/sytkBHup6kxhM9law==",
 			"dev": true,
 			"requires": {
-				"browserslist": "^4.23.3"
+				"browserslist": "^4.26.3"
 			}
 		},
 		"cross-spawn": {
@@ -4832,12 +4491,12 @@
 			"dev": true
 		},
 		"debug": {
-			"version": "4.3.4",
-			"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
-			"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+			"version": "4.4.3",
+			"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+			"integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
 			"dev": true,
 			"requires": {
-				"ms": "2.1.2"
+				"ms": "^2.1.3"
 			}
 		},
 		"deep-is": {
@@ -4852,6 +4511,12 @@
 			"integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=",
 			"dev": true
 		},
+		"diff-sequences": {
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz",
+			"integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==",
+			"dev": true
+		},
 		"doctrine": {
 			"version": "3.0.0",
 			"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
@@ -4862,15 +4527,15 @@
 			}
 		},
 		"electron-to-chromium": {
-			"version": "1.5.32",
-			"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.32.tgz",
-			"integrity": "sha512-M+7ph0VGBQqqpTT2YrabjNKSQ2fEl9PVx6AK3N558gDH9NO8O6XN9SXXFWRo9u9PbEg/bWq+tjXQr+eXmxubCw==",
+			"version": "1.5.253",
+			"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.253.tgz",
+			"integrity": "sha512-O0tpQ/35rrgdiGQ0/OFWhy1itmd9A6TY9uQzlqj3hKSu/aYpe7UIn5d7CU2N9myH6biZiWF3VMZVuup8pw5U9w==",
 			"dev": true
 		},
 		"enhanced-resolve": {
-			"version": "5.17.1",
-			"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz",
-			"integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==",
+			"version": "5.18.3",
+			"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz",
+			"integrity": "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==",
 			"dev": true,
 			"requires": {
 				"graceful-fs": "^4.2.4",
@@ -4878,9 +4543,9 @@
 			}
 		},
 		"error-ex": {
-			"version": "1.3.2",
-			"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
-			"integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+			"version": "1.3.4",
+			"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz",
+			"integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==",
 			"dev": true,
 			"requires": {
 				"is-arrayish": "^0.2.1"
@@ -4951,9 +4616,9 @@
 					"dev": true
 				},
 				"js-yaml": {
-					"version": "4.1.0",
-					"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
-					"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+					"version": "4.1.1",
+					"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+					"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
 					"dev": true,
 					"requires": {
 						"argparse": "^2.0.1"
@@ -4971,92 +4636,123 @@
 			}
 		},
 		"eslint-compat-utils": {
-			"version": "0.5.1",
-			"resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.5.1.tgz",
-			"integrity": "sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==",
+			"version": "0.6.5",
+			"resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.6.5.tgz",
+			"integrity": "sha512-vAUHYzue4YAa2hNACjB8HvUQj5yehAZgiClyFVVom9cP8z5NSFq3PwB/TtJslN2zAMgRX6FCFCjYBbQh71g5RQ==",
 			"dev": true,
 			"requires": {
 				"semver": "^7.5.4"
 			}
 		},
 		"eslint-config-wikimedia": {
-			"version": "0.31.0",
-			"resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.31.0.tgz",
-			"integrity": "sha512-Z/t/zGPdxs/ehxb0EM6THNWAzueT7GtuqzjUvmBpkxcTKzZPJEXWnnpswdj/hgv8Ce8PIeDp0zwQxR4e3c9CIw==",
+			"version": "0.32.1",
+			"resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.32.1.tgz",
+			"integrity": "sha512-gPvhyVFNlpKFOcJfoVTNlzg3A0b6qjhAbjjBIJ9xp5m+om0oqix5gkqIIEav5BaGxdDxYNmrY4ge3DAPP3u/lg==",
 			"dev": true,
 			"requires": {
 				"@stylistic/eslint-plugin": "^3.1.0",
-				"@typescript-eslint/eslint-plugin": "8.35.1",
-				"@typescript-eslint/parser": "8.35.1",
+				"@typescript-eslint/eslint-plugin": "8.46.0",
+				"@typescript-eslint/parser": "8.46.0",
 				"browserslist-config-wikimedia": "^0.7.0",
 				"eslint": "^8.57.0",
-				"eslint-plugin-compat": "^4.2.0",
-				"eslint-plugin-es-x": "^7.6.0",
-				"eslint-plugin-jest": "^28.5.0",
-				"eslint-plugin-jsdoc": "48.2.5",
+				"eslint-plugin-compat": "^6.0.2",
+				"eslint-plugin-es-x": "^8.7.0",
+				"eslint-plugin-jest": "^29.0.1",
+				"eslint-plugin-jsdoc": "61.0.0",
 				"eslint-plugin-json-es": "^1.6.0",
-				"eslint-plugin-mediawiki": "^0.7.0",
-				"eslint-plugin-mocha": "^10.4.3",
-				"eslint-plugin-n": "^17.7.0",
+				"eslint-plugin-mediawiki": "^0.8.1",
+				"eslint-plugin-mocha": "^10.5.0",
+				"eslint-plugin-n": "^17.23.1",
 				"eslint-plugin-no-jquery": "^3.1.1",
-				"eslint-plugin-qunit": "^8.1.1",
-				"eslint-plugin-security": "^1.7.1",
-				"eslint-plugin-unicorn": "^53.0.0",
-				"eslint-plugin-vue": "^9.26.0",
-				"eslint-plugin-wdio": "^8.24.12",
-				"eslint-plugin-yml": "^1.14.0"
+				"eslint-plugin-qunit": "^8.2.5",
+				"eslint-plugin-security": "^3.0.1",
+				"eslint-plugin-unicorn": "^56.0.1",
+				"eslint-plugin-vue": "^9.33.0",
+				"eslint-plugin-wdio": "^9.16.2",
+				"eslint-plugin-yml": "^1.19.0"
 			}
 		},
 		"eslint-plugin-compat": {
-			"version": "4.2.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-compat/-/eslint-plugin-compat-4.2.0.tgz",
-			"integrity": "sha512-RDKSYD0maWy5r7zb5cWQS+uSPc26mgOzdORJ8hxILmWM7S/Ncwky7BcAtXVY5iRbKjBdHsWU8Yg7hfoZjtkv7w==",
+			"version": "6.0.2",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-compat/-/eslint-plugin-compat-6.0.2.tgz",
+			"integrity": "sha512-1ME+YfJjmOz1blH0nPZpHgjMGK4kjgEeoYqGCqoBPQ/mGu/dJzdoP0f1C8H2jcWZjzhZjAMccbM/VdXhPORIfA==",
 			"dev": true,
 			"requires": {
-				"@mdn/browser-compat-data": "^5.3.13",
-				"ast-metadata-inferer": "^0.8.0",
-				"browserslist": "^4.21.10",
-				"caniuse-lite": "^1.0.30001524",
+				"@mdn/browser-compat-data": "^5.5.35",
+				"ast-metadata-inferer": "^0.8.1",
+				"browserslist": "^4.24.2",
+				"caniuse-lite": "^1.0.30001687",
 				"find-up": "^5.0.0",
+				"globals": "^15.7.0",
 				"lodash.memoize": "^4.1.2",
-				"semver": "^7.5.4"
+				"semver": "^7.6.2"
+			},
+			"dependencies": {
+				"globals": {
+					"version": "15.15.0",
+					"resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz",
+					"integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==",
+					"dev": true
+				}
 			}
 		},
 		"eslint-plugin-es-x": {
-			"version": "7.8.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.8.0.tgz",
-			"integrity": "sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==",
+			"version": "8.7.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-8.7.0.tgz",
+			"integrity": "sha512-Du5Sb067sjqzmglaPhsfcEQgE1EYfL8sko+4jOMcAB/XKGoCxntSrOmTYuVzswA1rzM9+MZwH6+GOp0G3/wVCg==",
 			"dev": true,
 			"requires": {
 				"@eslint-community/eslint-utils": "^4.1.2",
-				"@eslint-community/regexpp": "^4.11.0",
-				"eslint-compat-utils": "^0.5.1"
+				"@eslint-community/regexpp": "^4.12.1",
+				"eslint-compat-utils": "^0.6.3"
 			}
 		},
 		"eslint-plugin-jest": {
-			"version": "28.8.3",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.8.3.tgz",
-			"integrity": "sha512-HIQ3t9hASLKm2IhIOqnu+ifw7uLZkIlR7RYNv7fMcEi/p0CIiJmfriStQS2LDkgtY4nyLbIZAD+JL347Yc2ETQ==",
+			"version": "29.1.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-29.1.0.tgz",
+			"integrity": "sha512-LabxXbASXVjguqL+kBHTPMf3gUeSqwH4fsrEyHTY/MCs42I/p9+ctg09SJpYiD8eGaIsP6GwYr5xW6xWS9XgZg==",
 			"dev": true,
 			"requires": {
-				"@typescript-eslint/utils": "^6.0.0 || ^7.0.0 || ^8.0.0"
+				"@typescript-eslint/utils": "^8.0.0"
 			}
 		},
 		"eslint-plugin-jsdoc": {
-			"version": "48.2.5",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-48.2.5.tgz",
-			"integrity": "sha512-ZeTfKV474W1N9niWfawpwsXGu+ZoMXu4417eBROX31d7ZuOk8zyG66SO77DpJ2+A9Wa2scw/jRqBPnnQo7VbcQ==",
+			"version": "61.0.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-61.0.0.tgz",
+			"integrity": "sha512-YxvOY3A9H8usnOfOEH82y71yHR7zVNWZJpQbjkC+rWqrADQtM+Gza3+db/j9euNNWCNKnN+/gBrowg16n9lwgg==",
 			"dev": true,
 			"requires": {
-				"@es-joy/jsdoccomment": "~0.43.0",
+				"@es-joy/jsdoccomment": "~0.75.0",
 				"are-docs-informative": "^0.0.2",
 				"comment-parser": "1.4.1",
-				"debug": "^4.3.4",
+				"debug": "^4.4.3",
 				"escape-string-regexp": "^4.0.0",
-				"esquery": "^1.5.0",
-				"is-builtin-module": "^3.2.1",
-				"semver": "^7.6.1",
+				"espree": "^10.4.0",
+				"esquery": "^1.6.0",
+				"html-entities": "^2.6.0",
+				"object-deep-merge": "^1.0.5",
+				"parse-imports-exports": "^0.2.4",
+				"semver": "^7.7.3",
 				"spdx-expression-parse": "^4.0.0"
+			},
+			"dependencies": {
+				"eslint-visitor-keys": {
+					"version": "4.2.1",
+					"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
+					"integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
+					"dev": true
+				},
+				"espree": {
+					"version": "10.4.0",
+					"resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz",
+					"integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==",
+					"dev": true,
+					"requires": {
+						"acorn": "^8.15.0",
+						"acorn-jsx": "^5.3.2",
+						"eslint-visitor-keys": "^4.2.1"
+					}
+				}
 			}
 		},
 		"eslint-plugin-json-es": {
@@ -5070,19 +4766,18 @@
 			}
 		},
 		"eslint-plugin-mediawiki": {
-			"version": "0.7.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.7.0.tgz",
-			"integrity": "sha512-1Y2nsFDPp96xOZCB5ivZAgqYe9i6w2u64VoCIaAzPyZnd/2h8VQR3CtD+u4Yk/KrpbKq9AAJjrs5LS8VAz6KOA==",
+			"version": "0.8.1",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.8.1.tgz",
+			"integrity": "sha512-zjTg3hh375lkztKhOYEmPeYiIhKooAu92BkZf2F/fr+5Htvb2i8MNB3gImhM98aTBbkyHTjXoyTHNUrjSjPhmw==",
 			"dev": true,
 			"requires": {
-				"eslint-plugin-vue": "^9.23.0",
 				"upath": "^2.0.1"
 			}
 		},
 		"eslint-plugin-mocha": {
-			"version": "10.4.3",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-10.4.3.tgz",
-			"integrity": "sha512-emc4TVjq5Ht0/upR+psftuz6IBG5q279p+1dSRDeHf+NS9aaerBi3lXKo1SEzwC29hFIW21gO89CEWSvRsi8IQ==",
+			"version": "10.5.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-10.5.0.tgz",
+			"integrity": "sha512-F2ALmQVPT1GoP27O1JTZGrV9Pqg8k79OeIuvw63UxMtQKREZtmkK1NFgkZQ2TW7L2JSSFKHFPTtHu5z8R9QNRw==",
 			"dev": true,
 			"requires": {
 				"eslint-utils": "^3.0.0",
@@ -5091,44 +4786,47 @@
 			}
 		},
 		"eslint-plugin-n": {
-			"version": "17.10.3",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.10.3.tgz",
-			"integrity": "sha512-ySZBfKe49nQZWR1yFaA0v/GsH6Fgp8ah6XV0WDz6CN8WO0ek4McMzb7A2xnf4DCYV43frjCygvb9f/wx7UUxRw==",
-			"dev": true,
-			"requires": {
-				"@eslint-community/eslint-utils": "^4.4.0",
-				"enhanced-resolve": "^5.17.0",
-				"eslint-plugin-es-x": "^7.5.0",
-				"get-tsconfig": "^4.7.0",
-				"globals": "^15.8.0",
-				"ignore": "^5.2.4",
-				"minimatch": "^9.0.5",
-				"semver": "^7.5.3"
+			"version": "17.23.1",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.23.1.tgz",
+			"integrity": "sha512-68PealUpYoHOBh332JLLD9Sj7OQUDkFpmcfqt8R9sySfFSeuGJjMTJQvCRRB96zO3A/PELRLkPrzsHmzEFQQ5A==",
+			"dev": true,
+			"requires": {
+				"@eslint-community/eslint-utils": "^4.5.0",
+				"enhanced-resolve": "^5.17.1",
+				"eslint-plugin-es-x": "^7.8.0",
+				"get-tsconfig": "^4.8.1",
+				"globals": "^15.11.0",
+				"globrex": "^0.1.2",
+				"ignore": "^5.3.2",
+				"semver": "^7.6.3",
+				"ts-declaration-location": "^1.0.6"
 			},
 			"dependencies": {
-				"brace-expansion": {
-					"version": "2.0.2",
-					"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
-					"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
+				"eslint-compat-utils": {
+					"version": "0.5.1",
+					"resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.5.1.tgz",
+					"integrity": "sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==",
 					"dev": true,
 					"requires": {
-						"balanced-match": "^1.0.0"
+						"semver": "^7.5.4"
 					}
 				},
-				"globals": {
-					"version": "15.10.0",
-					"resolved": "https://registry.npmjs.org/globals/-/globals-15.10.0.tgz",
-					"integrity": "sha512-tqFIbz83w4Y5TCbtgjZjApohbuh7K9BxGYFm7ifwDR240tvdb7P9x+/9VvUKlmkPoiknoJtanI8UOrqxS3a7lQ==",
-					"dev": true
-				},
-				"minimatch": {
-					"version": "9.0.5",
-					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
-					"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+				"eslint-plugin-es-x": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.8.0.tgz",
+					"integrity": "sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==",
 					"dev": true,
 					"requires": {
-						"brace-expansion": "^2.0.1"
+						"@eslint-community/eslint-utils": "^4.1.2",
+						"@eslint-community/regexpp": "^4.11.0",
+						"eslint-compat-utils": "^0.5.1"
 					}
+				},
+				"globals": {
+					"version": "15.15.0",
+					"resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz",
+					"integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==",
+					"dev": true
 				}
 			}
 		},
@@ -5140,9 +4838,9 @@
 			"requires": {}
 		},
 		"eslint-plugin-qunit": {
-			"version": "8.1.1",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-qunit/-/eslint-plugin-qunit-8.1.1.tgz",
-			"integrity": "sha512-j3xhiAf2Wvr8Dfwl5T6tlJ+F55vqYE9ZdAHUOTzq1lGerYrXzOS46RvK4SSWug2D8sl3ZYr2lA4/hgVXgLloxw==",
+			"version": "8.2.5",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-qunit/-/eslint-plugin-qunit-8.2.5.tgz",
+			"integrity": "sha512-qr7RJCYImKQjB+39q4q46i1l7p1V3joHzBE5CAYfxn5tfVFjrnjn/tw7q/kDyweU9kAIcLul0Dx/KWVUCb3BgA==",
 			"dev": true,
 			"requires": {
 				"eslint-utils": "^3.0.0",
@@ -5150,27 +4848,27 @@
 			}
 		},
 		"eslint-plugin-security": {
-			"version": "1.7.1",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-security/-/eslint-plugin-security-1.7.1.tgz",
-			"integrity": "sha512-sMStceig8AFglhhT2LqlU5r+/fn9OwsA72O5bBuQVTssPCdQAOQzL+oMn/ZcpeUY6KcNfLJArgcrsSULNjYYdQ==",
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-security/-/eslint-plugin-security-3.0.1.tgz",
+			"integrity": "sha512-XjVGBhtDZJfyuhIxnQ/WMm385RbX3DBu7H1J7HNNhmB2tnGxMeqVSnYv79oAj992ayvIBZghsymwkYFS6cGH4Q==",
 			"dev": true,
 			"requires": {
 				"safe-regex": "^2.1.1"
 			}
 		},
 		"eslint-plugin-unicorn": {
-			"version": "53.0.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-53.0.0.tgz",
-			"integrity": "sha512-kuTcNo9IwwUCfyHGwQFOK/HjJAYzbODHN3wP0PgqbW+jbXqpNWxNVpVhj2tO9SixBwuAdmal8rVcWKBxwFnGuw==",
+			"version": "56.0.1",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-56.0.1.tgz",
+			"integrity": "sha512-FwVV0Uwf8XPfVnKSGpMg7NtlZh0G0gBarCaFcMUOoqPxXryxdYxTRRv4kH6B9TFCVIrjRXG+emcxIk2ayZilog==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-validator-identifier": "^7.24.5",
+				"@babel/helper-validator-identifier": "^7.24.7",
 				"@eslint-community/eslint-utils": "^4.4.0",
-				"@eslint/eslintrc": "^3.0.2",
 				"ci-info": "^4.0.0",
 				"clean-regexp": "^1.0.0",
-				"core-js-compat": "^3.37.0",
-				"esquery": "^1.5.0",
+				"core-js-compat": "^3.38.1",
+				"esquery": "^1.6.0",
+				"globals": "^15.9.0",
 				"indent-string": "^4.0.0",
 				"is-builtin-module": "^3.2.1",
 				"jsesc": "^3.0.2",
@@ -5178,80 +4876,22 @@
 				"read-pkg-up": "^7.0.1",
 				"regexp-tree": "^0.1.27",
 				"regjsparser": "^0.10.0",
-				"semver": "^7.6.1",
+				"semver": "^7.6.3",
 				"strip-indent": "^3.0.0"
 			},
 			"dependencies": {
-				"@eslint/eslintrc": {
-					"version": "3.1.0",
-					"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz",
-					"integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==",
-					"dev": true,
-					"requires": {
-						"ajv": "^6.12.4",
-						"debug": "^4.3.2",
-						"espree": "^10.0.1",
-						"globals": "^14.0.0",
-						"ignore": "^5.2.0",
-						"import-fresh": "^3.2.1",
-						"js-yaml": "^4.1.0",
-						"minimatch": "^3.1.2",
-						"strip-json-comments": "^3.1.1"
-					}
-				},
-				"argparse": {
-					"version": "2.0.1",
-					"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
-					"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
-					"dev": true
-				},
-				"eslint-visitor-keys": {
-					"version": "4.1.0",
-					"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.1.0.tgz",
-					"integrity": "sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==",
-					"dev": true
-				},
-				"espree": {
-					"version": "10.2.0",
-					"resolved": "https://registry.npmjs.org/espree/-/espree-10.2.0.tgz",
-					"integrity": "sha512-upbkBJbckcCNBDBDXEbuhjbP68n+scUd3k/U2EkyM9nw+I/jPiL4cLF/Al06CF96wRltFda16sxDFrxsI1v0/g==",
-					"dev": true,
-					"requires": {
-						"acorn": "^8.12.0",
-						"acorn-jsx": "^5.3.2",
-						"eslint-visitor-keys": "^4.1.0"
-					}
-				},
 				"globals": {
-					"version": "14.0.0",
-					"resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
-					"integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
+					"version": "15.15.0",
+					"resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz",
+					"integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==",
 					"dev": true
-				},
-				"js-yaml": {
-					"version": "4.1.0",
-					"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
-					"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
-					"dev": true,
-					"requires": {
-						"argparse": "^2.0.1"
-					}
-				},
-				"minimatch": {
-					"version": "3.1.2",
-					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-					"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
-					"dev": true,
-					"requires": {
-						"brace-expansion": "^1.1.7"
-					}
 				}
 			}
 		},
 		"eslint-plugin-vue": {
-			"version": "9.28.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.28.0.tgz",
-			"integrity": "sha512-ShrihdjIhOTxs+MfWun6oJWuk+g/LAhN+CiuOl/jjkG3l0F2AuK5NMTaWqyvBgkFtpYmyks6P4603mLmhNJW8g==",
+			"version": "9.33.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.33.0.tgz",
+			"integrity": "sha512-174lJKuNsuDIlLpjeXc5E2Tss8P44uIimAfGD0b90k0NoirJqpG7stLuU9Vp/9ioTOrQdWVREc4mRd1BD+CvGw==",
 			"dev": true,
 			"requires": {
 				"@eslint-community/eslint-utils": "^4.4.0",
@@ -5265,20 +4905,21 @@
 			}
 		},
 		"eslint-plugin-wdio": {
-			"version": "8.24.12",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-wdio/-/eslint-plugin-wdio-8.24.12.tgz",
-			"integrity": "sha512-OmzGteXFOQnJDdkTNnTfksaVa18WlFCyeLjZXHvDpkbomLWAg9wc296Pr0wnTCagqNj8qfEHpy+N2XVew5VCMA==",
+			"version": "9.16.2",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-wdio/-/eslint-plugin-wdio-9.16.2.tgz",
+			"integrity": "sha512-qkqsPgxN70OnUPWMjmzJbSbvm2+Q087JIGss53/OFI4Y46xKlV5VLhLiYealaAibAiXmnfWKd0tERjZAzVL87A==",
 			"dev": true
 		},
 		"eslint-plugin-yml": {
-			"version": "1.14.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-yml/-/eslint-plugin-yml-1.14.0.tgz",
-			"integrity": "sha512-ESUpgYPOcAYQO9czugcX5OqRvn/ydDVwGCPXY4YjPqc09rHaUVUA6IE6HLQys4rXk/S+qx3EwTd1wHCwam/OWQ==",
+			"version": "1.19.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-yml/-/eslint-plugin-yml-1.19.0.tgz",
+			"integrity": "sha512-S+4GbcCWksFKAvFJtf0vpdiCkZZvDJCV4Zsi9ahmYkYOYcf+LRqqzvzkb/ST7vTYV6sFwXOvawzYyL/jFT2nQA==",
 			"dev": true,
 			"requires": {
 				"debug": "^4.3.2",
-				"eslint-compat-utils": "^0.5.0",
-				"lodash": "^4.17.21",
+				"diff-sequences": "^27.5.1",
+				"escape-string-regexp": "4.0.0",
+				"eslint-compat-utils": "^0.6.0",
 				"natural-compare": "^1.4.0",
 				"yaml-eslint-parser": "^1.2.1"
 			}
@@ -5334,9 +4975,9 @@
 			"dev": true
 		},
 		"esquery": {
-			"version": "1.5.0",
-			"resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
-			"integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
+			"version": "1.6.0",
+			"resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz",
+			"integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==",
 			"dev": true,
 			"requires": {
 				"estraverse": "^5.1.0"
@@ -5544,9 +5185,9 @@
 			"dev": true
 		},
 		"get-tsconfig": {
-			"version": "4.8.1",
-			"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.8.1.tgz",
-			"integrity": "sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==",
+			"version": "4.13.0",
+			"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.0.tgz",
+			"integrity": "sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==",
 			"dev": true,
 			"requires": {
 				"resolve-pkg-maps": "^1.0.0"
@@ -5625,6 +5266,12 @@
 				"type-fest": "^0.20.2"
 			}
 		},
+		"globrex": {
+			"version": "0.1.2",
+			"resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz",
+			"integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==",
+			"dev": true
+		},
 		"graceful-fs": {
 			"version": "4.2.11",
 			"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
@@ -5745,12 +5392,6 @@
 				"which": "~2.0.2"
 			}
 		},
-		"has-flag": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
-			"integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
-			"dev": true
-		},
 		"hasown": {
 			"version": "2.0.2",
 			"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
@@ -5781,6 +5422,12 @@
 			"integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
 			"dev": true
 		},
+		"html-entities": {
+			"version": "2.6.0",
+			"resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.6.0.tgz",
+			"integrity": "sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==",
+			"dev": true
+		},
 		"iconv-lite": {
 			"version": "0.6.3",
 			"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
@@ -5791,9 +5438,9 @@
 			}
 		},
 		"ignore": {
-			"version": "5.3.1",
-			"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
-			"integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==",
+			"version": "5.3.2",
+			"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
+			"integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
 			"dev": true
 		},
 		"import-fresh": {
@@ -5959,9 +5606,9 @@
 			"dev": true
 		},
 		"js-yaml": {
-			"version": "3.14.1",
-			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
-			"integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
+			"version": "3.14.2",
+			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz",
+			"integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==",
 			"dev": true,
 			"requires": {
 				"argparse": "^1.0.7",
@@ -5969,15 +5616,15 @@
 			}
 		},
 		"jsdoc-type-pratt-parser": {
-			"version": "4.0.0",
-			"resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.0.0.tgz",
-			"integrity": "sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==",
+			"version": "6.9.1",
+			"resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-6.9.1.tgz",
+			"integrity": "sha512-HbYNAorY51GnpKvgDf4YINSY+V1segv0qEeijvTSI6OWMCmqah0W6mVwBFeWskJ81uTJJVnDQlwhpJMREvGsXg==",
 			"dev": true
 		},
 		"jsesc": {
-			"version": "3.0.2",
-			"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz",
-			"integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==",
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
+			"integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
 			"dev": true
 		},
 		"json-parse-even-better-errors": {
@@ -6124,9 +5771,9 @@
 			}
 		},
 		"ms": {
-			"version": "2.1.2",
-			"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-			"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+			"version": "2.1.3",
+			"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+			"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
 			"dev": true
 		},
 		"natural-compare": {
@@ -6136,9 +5783,9 @@
 			"dev": true
 		},
 		"node-releases": {
-			"version": "2.0.18",
-			"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz",
-			"integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==",
+			"version": "2.0.27",
+			"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz",
+			"integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==",
 			"dev": true
 		},
 		"nopt": {
@@ -6179,6 +5826,23 @@
 				"boolbase": "^1.0.0"
 			}
 		},
+		"object-deep-merge": {
+			"version": "1.0.5",
+			"resolved": "https://registry.npmjs.org/object-deep-merge/-/object-deep-merge-1.0.5.tgz",
+			"integrity": "sha512-3DioFgOzetbxbeUq8pB2NunXo8V0n4EvqsWM/cJoI6IA9zghd7cl/2pBOuWRf4dlvA+fcg5ugFMZaN2/RuoaGg==",
+			"dev": true,
+			"requires": {
+				"type-fest": "4.2.0"
+			},
+			"dependencies": {
+				"type-fest": {
+					"version": "4.2.0",
+					"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.2.0.tgz",
+					"integrity": "sha512-5zknd7Dss75pMSED270A1RQS3KloqRJA9XbXLe0eCxyw7xXFb3rd+9B0UQ/0E+LQT6lnrLviEolYORlRWamn4w==",
+					"dev": true
+				}
+			}
+		},
 		"object.defaults": {
 			"version": "1.1.0",
 			"resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz",
@@ -6299,6 +5963,15 @@
 				"path-root": "^0.1.1"
 			}
 		},
+		"parse-imports-exports": {
+			"version": "0.2.4",
+			"resolved": "https://registry.npmjs.org/parse-imports-exports/-/parse-imports-exports-0.2.4.tgz",
+			"integrity": "sha512-4s6vd6dx1AotCx/RCI2m7t7GCh5bDRUtGNvRfHSP2wbBQdMi67pPe7mtzmgwcaQ8VKK/6IB7Glfyu3qdZJPybQ==",
+			"dev": true,
+			"requires": {
+				"parse-statements": "1.0.11"
+			}
+		},
 		"parse-json": {
 			"version": "5.2.0",
 			"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
@@ -6317,6 +5990,12 @@
 			"integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
 			"dev": true
 		},
+		"parse-statements": {
+			"version": "1.0.11",
+			"resolved": "https://registry.npmjs.org/parse-statements/-/parse-statements-1.0.11.tgz",
+			"integrity": "sha512-HlsyYdMBnbPQ9Jr/VgJ1YF4scnldvJpJxCVx6KgqPL4dxppsWrJHCIIxQXMJrqGnsRkNPATbeMJ8Yxu7JMsYcA==",
+			"dev": true
+		},
 		"path-exists": {
 			"version": "4.0.0",
 			"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
@@ -6357,9 +6036,9 @@
 			"dev": true
 		},
 		"picocolors": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz",
-			"integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==",
+			"version": "1.1.1",
+			"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
+			"integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
 			"dev": true
 		},
 		"picomatch": {
@@ -6595,9 +6274,9 @@
 			"dev": true
 		},
 		"semver": {
-			"version": "7.6.3",
-			"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
-			"integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+			"version": "7.7.3",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+			"integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
 			"dev": true
 		},
 		"shebang-command": {
@@ -6654,9 +6333,9 @@
 			}
 		},
 		"spdx-license-ids": {
-			"version": "3.0.20",
-			"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz",
-			"integrity": "sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==",
+			"version": "3.0.22",
+			"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz",
+			"integrity": "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==",
 			"dev": true
 		},
 		"sprintf-js": {
@@ -6689,15 +6368,6 @@
 			"integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
 			"dev": true
 		},
-		"supports-color": {
-			"version": "5.5.0",
-			"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
-			"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
-			"dev": true,
-			"requires": {
-				"has-flag": "^3.0.0"
-			}
-		},
 		"supports-preserve-symlinks-flag": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
@@ -6705,9 +6375,9 @@
 			"dev": true
 		},
 		"tapable": {
-			"version": "2.2.1",
-			"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
-			"integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+			"version": "2.3.0",
+			"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz",
+			"integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==",
 			"dev": true
 		},
 		"text-table": {
@@ -6732,6 +6402,23 @@
 			"dev": true,
 			"requires": {}
 		},
+		"ts-declaration-location": {
+			"version": "1.0.7",
+			"resolved": "https://registry.npmjs.org/ts-declaration-location/-/ts-declaration-location-1.0.7.tgz",
+			"integrity": "sha512-EDyGAwH1gO0Ausm9gV6T2nUvBgXT5kGoCMJPllOaooZ+4VvJiKBdZE7wK18N1deEowhcUptS+5GXZK8U/fvpwA==",
+			"dev": true,
+			"requires": {
+				"picomatch": "^4.0.2"
+			},
+			"dependencies": {
+				"picomatch": {
+					"version": "4.0.3",
+					"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+					"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+					"dev": true
+				}
+			}
+		},
 		"type-check": {
 			"version": "0.4.0",
 			"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
@@ -6777,13 +6464,13 @@
 			"dev": true
 		},
 		"update-browserslist-db": {
-			"version": "1.1.1",
-			"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz",
-			"integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==",
+			"version": "1.1.4",
+			"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.4.tgz",
+			"integrity": "sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==",
 			"dev": true,
 			"requires": {
 				"escalade": "^3.2.0",
-				"picocolors": "^1.1.0"
+				"picocolors": "^1.1.1"
 			}
 		},
 		"uri-js": {
@@ -6869,19 +6556,18 @@
 			"dev": true
 		},
 		"yaml": {
-			"version": "2.4.1",
-			"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz",
-			"integrity": "sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==",
+			"version": "2.8.1",
+			"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz",
+			"integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==",
 			"dev": true
 		},
 		"yaml-eslint-parser": {
-			"version": "1.2.2",
-			"resolved": "https://registry.npmjs.org/yaml-eslint-parser/-/yaml-eslint-parser-1.2.2.tgz",
-			"integrity": "sha512-pEwzfsKbTrB8G3xc/sN7aw1v6A6c/pKxLAkjclnAyo5g5qOh6eL9WGu0o3cSDQZKrTNk4KL4lQSwZW+nBkANEg==",
+			"version": "1.3.0",
+			"resolved": "https://registry.npmjs.org/yaml-eslint-parser/-/yaml-eslint-parser-1.3.0.tgz",
+			"integrity": "sha512-E/+VitOorXSLiAqtTd7Yqax0/pAS3xaYMP+AUUJGOK1OZG3rhcj9fcJOM5HJ2VrP1FrStVCWr1muTfQCdj4tAA==",
 			"dev": true,
 			"requires": {
 				"eslint-visitor-keys": "^3.0.0",
-				"lodash": "^4.17.21",
 				"yaml": "^2.0.0"
 			}
 		},
diff --git a/package.json b/package.json
index 16c8662..977ea51 100644
--- a/package.json
+++ b/package.json
@@ -5,7 +5,7 @@
 		"test": "grunt test"
 	},
 	"devDependencies": {
-		"eslint-config-wikimedia": "0.31.0",
+		"eslint-config-wikimedia": "0.32.1",
 		"grunt": "1.6.1",
 		"grunt-banana-checker": "0.13.0",
 		"grunt-eslint": "24.3.0"
-- 
2.47.3


--- end ---
Source code is licensed under the AGPL.