@gallop.software/canon 2.2.0 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/eslint/configs/recommended.d.ts +9 -11
- package/dist/eslint/configs/recommended.js +16 -13
- package/dist/eslint/configs/speedwell.d.ts +9 -11
- package/dist/eslint/configs/speedwell.js +16 -17
- package/dist/eslint/index.d.ts +11 -21
- package/dist/eslint/index.js +18 -8
- package/package.json +1 -1
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Recommended configuration
|
|
2
|
+
* Recommended configuration for ESLint flat config
|
|
3
3
|
* A sensible default for any Gallop-based template
|
|
4
4
|
*/
|
|
5
|
-
declare const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
'gallop/background-image-rounded': string;
|
|
13
|
-
};
|
|
5
|
+
declare const recommendedRules: {
|
|
6
|
+
readonly 'gallop/no-client-blocks': "warn";
|
|
7
|
+
readonly 'gallop/no-container-in-section': "warn";
|
|
8
|
+
readonly 'gallop/prefer-component-props': "warn";
|
|
9
|
+
readonly 'gallop/prefer-typography-components': "warn";
|
|
10
|
+
readonly 'gallop/prefer-layout-components': "warn";
|
|
11
|
+
readonly 'gallop/background-image-rounded': "warn";
|
|
14
12
|
};
|
|
15
|
-
export default
|
|
13
|
+
export default recommendedRules;
|
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Recommended configuration
|
|
2
|
+
* Recommended configuration for ESLint flat config
|
|
3
3
|
* A sensible default for any Gallop-based template
|
|
4
4
|
*/
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
5
|
+
const recommendedRules = {
|
|
6
|
+
// Blocks should be server components
|
|
7
|
+
'gallop/no-client-blocks': 'warn',
|
|
8
|
+
// Section already provides containment
|
|
9
|
+
'gallop/no-container-in-section': 'warn',
|
|
10
|
+
// Use component props instead of className for style values
|
|
11
|
+
'gallop/prefer-component-props': 'warn',
|
|
12
|
+
// Use Typography components instead of raw p/span tags
|
|
13
|
+
'gallop/prefer-typography-components': 'warn',
|
|
14
|
+
// Use Grid/Columns instead of raw div with grid classes
|
|
15
|
+
'gallop/prefer-layout-components': 'warn',
|
|
16
|
+
// Background images must have rounded="rounded-none"
|
|
17
|
+
'gallop/background-image-rounded': 'warn',
|
|
15
18
|
};
|
|
16
|
-
export default
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
export default recommendedRules;
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb21tZW5kZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZXNsaW50L2NvbmZpZ3MvcmVjb21tZW5kZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsTUFBTSxnQkFBZ0IsR0FBRztJQUN2QixxQ0FBcUM7SUFDckMseUJBQXlCLEVBQUUsTUFBTTtJQUVqQyx1Q0FBdUM7SUFDdkMsZ0NBQWdDLEVBQUUsTUFBTTtJQUV4Qyw0REFBNEQ7SUFDNUQsK0JBQStCLEVBQUUsTUFBTTtJQUV2Qyx1REFBdUQ7SUFDdkQscUNBQXFDLEVBQUUsTUFBTTtJQUU3Qyx3REFBd0Q7SUFDeEQsaUNBQWlDLEVBQUUsTUFBTTtJQUV6QyxxREFBcUQ7SUFDckQsaUNBQWlDLEVBQUUsTUFBTTtDQUNqQyxDQUFBO0FBRVYsZUFBZSxnQkFBZ0IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmVjb21tZW5kZWQgY29uZmlndXJhdGlvbiBmb3IgRVNMaW50IGZsYXQgY29uZmlnXG4gKiBBIHNlbnNpYmxlIGRlZmF1bHQgZm9yIGFueSBHYWxsb3AtYmFzZWQgdGVtcGxhdGVcbiAqL1xuY29uc3QgcmVjb21tZW5kZWRSdWxlcyA9IHtcbiAgLy8gQmxvY2tzIHNob3VsZCBiZSBzZXJ2ZXIgY29tcG9uZW50c1xuICAnZ2FsbG9wL25vLWNsaWVudC1ibG9ja3MnOiAnd2FybicsXG5cbiAgLy8gU2VjdGlvbiBhbHJlYWR5IHByb3ZpZGVzIGNvbnRhaW5tZW50XG4gICdnYWxsb3Avbm8tY29udGFpbmVyLWluLXNlY3Rpb24nOiAnd2FybicsXG5cbiAgLy8gVXNlIGNvbXBvbmVudCBwcm9wcyBpbnN0ZWFkIG9mIGNsYXNzTmFtZSBmb3Igc3R5bGUgdmFsdWVzXG4gICdnYWxsb3AvcHJlZmVyLWNvbXBvbmVudC1wcm9wcyc6ICd3YXJuJyxcblxuICAvLyBVc2UgVHlwb2dyYXBoeSBjb21wb25lbnRzIGluc3RlYWQgb2YgcmF3IHAvc3BhbiB0YWdzXG4gICdnYWxsb3AvcHJlZmVyLXR5cG9ncmFwaHktY29tcG9uZW50cyc6ICd3YXJuJyxcblxuICAvLyBVc2UgR3JpZC9Db2x1bW5zIGluc3RlYWQgb2YgcmF3IGRpdiB3aXRoIGdyaWQgY2xhc3Nlc1xuICAnZ2FsbG9wL3ByZWZlci1sYXlvdXQtY29tcG9uZW50cyc6ICd3YXJuJyxcblxuICAvLyBCYWNrZ3JvdW5kIGltYWdlcyBtdXN0IGhhdmUgcm91bmRlZD1cInJvdW5kZWQtbm9uZVwiXG4gICdnYWxsb3AvYmFja2dyb3VuZC1pbWFnZS1yb3VuZGVkJzogJ3dhcm4nLFxufSBhcyBjb25zdFxuXG5leHBvcnQgZGVmYXVsdCByZWNvbW1lbmRlZFJ1bGVzXG4iXX0=
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Speedwell template configuration
|
|
2
|
+
* Speedwell template configuration for ESLint flat config
|
|
3
3
|
* Enables all Gallop rules relevant to the Speedwell architecture
|
|
4
4
|
*/
|
|
5
|
-
declare const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
'gallop/background-image-rounded': string;
|
|
13
|
-
};
|
|
5
|
+
declare const speedwellRules: {
|
|
6
|
+
readonly 'gallop/no-client-blocks': "warn";
|
|
7
|
+
readonly 'gallop/no-container-in-section': "warn";
|
|
8
|
+
readonly 'gallop/prefer-component-props': "warn";
|
|
9
|
+
readonly 'gallop/prefer-typography-components': "warn";
|
|
10
|
+
readonly 'gallop/prefer-layout-components': "warn";
|
|
11
|
+
readonly 'gallop/background-image-rounded': "warn";
|
|
14
12
|
};
|
|
15
|
-
export default
|
|
13
|
+
export default speedwellRules;
|
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Speedwell template configuration
|
|
2
|
+
* Speedwell template configuration for ESLint flat config
|
|
3
3
|
* Enables all Gallop rules relevant to the Speedwell architecture
|
|
4
4
|
*/
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
},
|
|
5
|
+
const speedwellRules = {
|
|
6
|
+
// Blocks should be server components - extract client logic to components
|
|
7
|
+
'gallop/no-client-blocks': 'warn',
|
|
8
|
+
// Section already provides containment
|
|
9
|
+
'gallop/no-container-in-section': 'warn',
|
|
10
|
+
// Use component props instead of className for style values
|
|
11
|
+
'gallop/prefer-component-props': 'warn',
|
|
12
|
+
// Use Typography components instead of raw p/span tags
|
|
13
|
+
'gallop/prefer-typography-components': 'warn',
|
|
14
|
+
// Use Grid/Columns instead of raw div with grid classes
|
|
15
|
+
'gallop/prefer-layout-components': 'warn',
|
|
16
|
+
// Background images must have rounded="rounded-none"
|
|
17
|
+
'gallop/background-image-rounded': 'warn',
|
|
19
18
|
};
|
|
20
|
-
export default
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
export default speedwellRules;
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlZWR3ZWxsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VzbGludC9jb25maWdzL3NwZWVkd2VsbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLGNBQWMsR0FBRztJQUNyQiwwRUFBMEU7SUFDMUUseUJBQXlCLEVBQUUsTUFBTTtJQUVqQyx1Q0FBdUM7SUFDdkMsZ0NBQWdDLEVBQUUsTUFBTTtJQUV4Qyw0REFBNEQ7SUFDNUQsK0JBQStCLEVBQUUsTUFBTTtJQUV2Qyx1REFBdUQ7SUFDdkQscUNBQXFDLEVBQUUsTUFBTTtJQUU3Qyx3REFBd0Q7SUFDeEQsaUNBQWlDLEVBQUUsTUFBTTtJQUV6QyxxREFBcUQ7SUFDckQsaUNBQWlDLEVBQUUsTUFBTTtDQUNqQyxDQUFBO0FBRVYsZUFBZSxjQUFjLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFNwZWVkd2VsbCB0ZW1wbGF0ZSBjb25maWd1cmF0aW9uIGZvciBFU0xpbnQgZmxhdCBjb25maWdcbiAqIEVuYWJsZXMgYWxsIEdhbGxvcCBydWxlcyByZWxldmFudCB0byB0aGUgU3BlZWR3ZWxsIGFyY2hpdGVjdHVyZVxuICovXG5jb25zdCBzcGVlZHdlbGxSdWxlcyA9IHtcbiAgLy8gQmxvY2tzIHNob3VsZCBiZSBzZXJ2ZXIgY29tcG9uZW50cyAtIGV4dHJhY3QgY2xpZW50IGxvZ2ljIHRvIGNvbXBvbmVudHNcbiAgJ2dhbGxvcC9uby1jbGllbnQtYmxvY2tzJzogJ3dhcm4nLFxuXG4gIC8vIFNlY3Rpb24gYWxyZWFkeSBwcm92aWRlcyBjb250YWlubWVudFxuICAnZ2FsbG9wL25vLWNvbnRhaW5lci1pbi1zZWN0aW9uJzogJ3dhcm4nLFxuXG4gIC8vIFVzZSBjb21wb25lbnQgcHJvcHMgaW5zdGVhZCBvZiBjbGFzc05hbWUgZm9yIHN0eWxlIHZhbHVlc1xuICAnZ2FsbG9wL3ByZWZlci1jb21wb25lbnQtcHJvcHMnOiAnd2FybicsXG5cbiAgLy8gVXNlIFR5cG9ncmFwaHkgY29tcG9uZW50cyBpbnN0ZWFkIG9mIHJhdyBwL3NwYW4gdGFnc1xuICAnZ2FsbG9wL3ByZWZlci10eXBvZ3JhcGh5LWNvbXBvbmVudHMnOiAnd2FybicsXG5cbiAgLy8gVXNlIEdyaWQvQ29sdW1ucyBpbnN0ZWFkIG9mIHJhdyBkaXYgd2l0aCBncmlkIGNsYXNzZXNcbiAgJ2dhbGxvcC9wcmVmZXItbGF5b3V0LWNvbXBvbmVudHMnOiAnd2FybicsXG5cbiAgLy8gQmFja2dyb3VuZCBpbWFnZXMgbXVzdCBoYXZlIHJvdW5kZWQ9XCJyb3VuZGVkLW5vbmVcIlxuICAnZ2FsbG9wL2JhY2tncm91bmQtaW1hZ2Utcm91bmRlZCc6ICd3YXJuJyxcbn0gYXMgY29uc3RcblxuZXhwb3J0IGRlZmF1bHQgc3BlZWR3ZWxsUnVsZXNcbiJdfQ==
|
package/dist/eslint/index.d.ts
CHANGED
|
@@ -17,27 +17,17 @@ declare const plugin: {
|
|
|
17
17
|
'prefer-layout-components': import("eslint").Rule.RuleModule;
|
|
18
18
|
'background-image-rounded': import("eslint").Rule.RuleModule;
|
|
19
19
|
};
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
recommended: {
|
|
32
|
-
plugins: string[];
|
|
33
|
-
rules: {
|
|
34
|
-
'gallop/no-client-blocks': string;
|
|
35
|
-
'gallop/no-container-in-section': string;
|
|
36
|
-
'gallop/prefer-component-props': string;
|
|
37
|
-
'gallop/prefer-layout-components': string;
|
|
38
|
-
'gallop/background-image-rounded': string;
|
|
39
|
-
};
|
|
40
|
-
};
|
|
20
|
+
/**
|
|
21
|
+
* Recommended rule configurations - spread into your ESLint config
|
|
22
|
+
* @example rules: { ...gallop.recommended }
|
|
23
|
+
*/
|
|
24
|
+
recommended: {
|
|
25
|
+
readonly 'gallop/no-client-blocks': "warn";
|
|
26
|
+
readonly 'gallop/no-container-in-section': "warn";
|
|
27
|
+
readonly 'gallop/prefer-component-props': "warn";
|
|
28
|
+
readonly 'gallop/prefer-typography-components': "warn";
|
|
29
|
+
readonly 'gallop/prefer-layout-components': "warn";
|
|
30
|
+
readonly 'gallop/background-image-rounded': "warn";
|
|
41
31
|
};
|
|
42
32
|
};
|
|
43
33
|
export default plugin;
|
package/dist/eslint/index.js
CHANGED
|
@@ -4,12 +4,21 @@ import preferComponentProps from './rules/prefer-component-props.js';
|
|
|
4
4
|
import preferTypographyComponents from './rules/prefer-typography-components.js';
|
|
5
5
|
import preferLayoutComponents from './rules/prefer-layout-components.js';
|
|
6
6
|
import backgroundImageRounded from './rules/background-image-rounded.js';
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
/**
|
|
8
|
+
* All Canon ESLint rules with recommended severity levels
|
|
9
|
+
*/
|
|
10
|
+
const recommended = {
|
|
11
|
+
'gallop/no-client-blocks': 'warn',
|
|
12
|
+
'gallop/no-container-in-section': 'warn',
|
|
13
|
+
'gallop/prefer-component-props': 'warn',
|
|
14
|
+
'gallop/prefer-typography-components': 'warn',
|
|
15
|
+
'gallop/prefer-layout-components': 'warn',
|
|
16
|
+
'gallop/background-image-rounded': 'warn',
|
|
17
|
+
};
|
|
9
18
|
const plugin = {
|
|
10
19
|
meta: {
|
|
11
20
|
name: 'eslint-plugin-gallop',
|
|
12
|
-
version: '
|
|
21
|
+
version: '2.3.0',
|
|
13
22
|
},
|
|
14
23
|
rules: {
|
|
15
24
|
'no-client-blocks': noClientBlocks,
|
|
@@ -19,10 +28,11 @@ const plugin = {
|
|
|
19
28
|
'prefer-layout-components': preferLayoutComponents,
|
|
20
29
|
'background-image-rounded': backgroundImageRounded,
|
|
21
30
|
},
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
31
|
+
/**
|
|
32
|
+
* Recommended rule configurations - spread into your ESLint config
|
|
33
|
+
* @example rules: { ...gallop.recommended }
|
|
34
|
+
*/
|
|
35
|
+
recommended,
|
|
26
36
|
};
|
|
27
37
|
export default plugin;
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXNsaW50L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sY0FBYyxNQUFNLDZCQUE2QixDQUFBO0FBQ3hELE9BQU8sb0JBQW9CLE1BQU0sb0NBQW9DLENBQUE7QUFDckUsT0FBTyxvQkFBb0IsTUFBTSxtQ0FBbUMsQ0FBQTtBQUNwRSxPQUFPLDBCQUEwQixNQUFNLHlDQUF5QyxDQUFBO0FBQ2hGLE9BQU8sc0JBQXNCLE1BQU0scUNBQXFDLENBQUE7QUFDeEUsT0FBTyxzQkFBc0IsTUFBTSxxQ0FBcUMsQ0FBQTtBQUV4RTs7R0FFRztBQUNILE1BQU0sV0FBVyxHQUFHO0lBQ2xCLHlCQUF5QixFQUFFLE1BQU07SUFDakMsZ0NBQWdDLEVBQUUsTUFBTTtJQUN4QywrQkFBK0IsRUFBRSxNQUFNO0lBQ3ZDLHFDQUFxQyxFQUFFLE1BQU07SUFDN0MsaUNBQWlDLEVBQUUsTUFBTTtJQUN6QyxpQ0FBaUMsRUFBRSxNQUFNO0NBQ2pDLENBQUE7QUFFVixNQUFNLE1BQU0sR0FBRztJQUNiLElBQUksRUFBRTtRQUNKLElBQUksRUFBRSxzQkFBc0I7UUFDNUIsT0FBTyxFQUFFLE9BQU87S0FDakI7SUFDRCxLQUFLLEVBQUU7UUFDTCxrQkFBa0IsRUFBRSxjQUFjO1FBQ2xDLHlCQUF5QixFQUFFLG9CQUFvQjtRQUMvQyx3QkFBd0IsRUFBRSxvQkFBb0I7UUFDOUMsOEJBQThCLEVBQUUsMEJBQTBCO1FBQzFELDBCQUEwQixFQUFFLHNCQUFzQjtRQUNsRCwwQkFBMEIsRUFBRSxzQkFBc0I7S0FDbkQ7SUFDRDs7O09BR0c7SUFDSCxXQUFXO0NBQ1osQ0FBQTtBQUVELGVBQWUsTUFBTSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG5vQ2xpZW50QmxvY2tzIGZyb20gJy4vcnVsZXMvbm8tY2xpZW50LWJsb2Nrcy5qcydcbmltcG9ydCBub0NvbnRhaW5lckluU2VjdGlvbiBmcm9tICcuL3J1bGVzL25vLWNvbnRhaW5lci1pbi1zZWN0aW9uLmpzJ1xuaW1wb3J0IHByZWZlckNvbXBvbmVudFByb3BzIGZyb20gJy4vcnVsZXMvcHJlZmVyLWNvbXBvbmVudC1wcm9wcy5qcydcbmltcG9ydCBwcmVmZXJUeXBvZ3JhcGh5Q29tcG9uZW50cyBmcm9tICcuL3J1bGVzL3ByZWZlci10eXBvZ3JhcGh5LWNvbXBvbmVudHMuanMnXG5pbXBvcnQgcHJlZmVyTGF5b3V0Q29tcG9uZW50cyBmcm9tICcuL3J1bGVzL3ByZWZlci1sYXlvdXQtY29tcG9uZW50cy5qcydcbmltcG9ydCBiYWNrZ3JvdW5kSW1hZ2VSb3VuZGVkIGZyb20gJy4vcnVsZXMvYmFja2dyb3VuZC1pbWFnZS1yb3VuZGVkLmpzJ1xuXG4vKipcbiAqIEFsbCBDYW5vbiBFU0xpbnQgcnVsZXMgd2l0aCByZWNvbW1lbmRlZCBzZXZlcml0eSBsZXZlbHNcbiAqL1xuY29uc3QgcmVjb21tZW5kZWQgPSB7XG4gICdnYWxsb3Avbm8tY2xpZW50LWJsb2Nrcyc6ICd3YXJuJyxcbiAgJ2dhbGxvcC9uby1jb250YWluZXItaW4tc2VjdGlvbic6ICd3YXJuJyxcbiAgJ2dhbGxvcC9wcmVmZXItY29tcG9uZW50LXByb3BzJzogJ3dhcm4nLFxuICAnZ2FsbG9wL3ByZWZlci10eXBvZ3JhcGh5LWNvbXBvbmVudHMnOiAnd2FybicsXG4gICdnYWxsb3AvcHJlZmVyLWxheW91dC1jb21wb25lbnRzJzogJ3dhcm4nLFxuICAnZ2FsbG9wL2JhY2tncm91bmQtaW1hZ2Utcm91bmRlZCc6ICd3YXJuJyxcbn0gYXMgY29uc3RcblxuY29uc3QgcGx1Z2luID0ge1xuICBtZXRhOiB7XG4gICAgbmFtZTogJ2VzbGludC1wbHVnaW4tZ2FsbG9wJyxcbiAgICB2ZXJzaW9uOiAnMi4zLjAnLFxuICB9LFxuICBydWxlczoge1xuICAgICduby1jbGllbnQtYmxvY2tzJzogbm9DbGllbnRCbG9ja3MsXG4gICAgJ25vLWNvbnRhaW5lci1pbi1zZWN0aW9uJzogbm9Db250YWluZXJJblNlY3Rpb24sXG4gICAgJ3ByZWZlci1jb21wb25lbnQtcHJvcHMnOiBwcmVmZXJDb21wb25lbnRQcm9wcyxcbiAgICAncHJlZmVyLXR5cG9ncmFwaHktY29tcG9uZW50cyc6IHByZWZlclR5cG9ncmFwaHlDb21wb25lbnRzLFxuICAgICdwcmVmZXItbGF5b3V0LWNvbXBvbmVudHMnOiBwcmVmZXJMYXlvdXRDb21wb25lbnRzLFxuICAgICdiYWNrZ3JvdW5kLWltYWdlLXJvdW5kZWQnOiBiYWNrZ3JvdW5kSW1hZ2VSb3VuZGVkLFxuICB9LFxuICAvKipcbiAgICogUmVjb21tZW5kZWQgcnVsZSBjb25maWd1cmF0aW9ucyAtIHNwcmVhZCBpbnRvIHlvdXIgRVNMaW50IGNvbmZpZ1xuICAgKiBAZXhhbXBsZSBydWxlczogeyAuLi5nYWxsb3AucmVjb21tZW5kZWQgfVxuICAgKi9cbiAgcmVjb21tZW5kZWQsXG59XG5cbmV4cG9ydCBkZWZhdWx0IHBsdWdpblxuIl19
|