@baravak/risloo-profile-cli 4.46.3 → 4.70.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/.agents/skills/create-profile/SKILL.md +14 -0
- package/.claude/settings.local.json +1 -3
- package/.claude/skills/create-profile/SKILL.md +80 -0
- package/AGENTS.md +239 -0
- package/CLAUDE.md +2 -185
- package/package.json +1 -1
- package/src/cli-commands/Executor.js +8 -2
- package/src/cli-commands/ExtractExecutor.js +55 -21
- package/src/cli-commands/GiftExecutor.js +1 -0
- package/src/handlebars/importPartials.js +10 -44
- package/src/handlebars/init.js +17 -11
- package/src/publish/json/profiles/BSSI93.json +392 -0
- package/src/publish/json/profiles/FRHPT93.json +2 -2
- package/src/publish/json/profiles/ISKS93.json +288 -0
- package/src/publish/json/profiles/MCMI9A.json +1540 -0
- package/src/publish/json/profiles/NEO93.json +3858 -0
- package/src/publish/json/profiles/NEO9A.json +1159 -1
- package/src/publish/json/profiles/NEO9Q.json +3856 -0
- package/src/publish/json/profiles/NEO9V.json +1157 -0
- package/src/publish/json/profiles/RIASEC9A.json +2775 -0
- package/src/publish/json/profiles/RSI93.json +359 -0
- package/src/samples/AEQ93.js +1 -1
- package/src/samples/AMS93.js +1 -1
- package/src/samples/AMS9A.js +3 -1
- package/src/samples/BAOMEIS93.js +1 -1
- package/src/samples/BEQI93.js +1 -1
- package/src/samples/BSCT93.js +5 -0
- package/src/samples/BSSI93.js +93 -0
- package/src/samples/CAATS93.js +1 -1
- package/src/samples/CERQ93.js +1 -1
- package/src/samples/CRAAS93.js +1 -1
- package/src/samples/DSWLS93.js +1 -1
- package/src/samples/EMSS93.js +1 -1
- package/src/samples/EPQ9A.js +6 -1
- package/src/samples/FACES93.js +6 -0
- package/src/samples/FRHPT93.js +41 -13
- package/src/samples/GMIT93.js +1 -1
- package/src/samples/HPL93.js +1 -1
- package/src/samples/ISKS93.js +62 -0
- package/src/samples/IUS93.js +1 -1
- package/src/samples/JCSI93.js +1 -1
- package/src/samples/JPFQ93.js +5 -0
- package/src/samples/KJGI93.js +1 -1
- package/src/samples/LMIQ93.js +1 -1
- package/src/samples/MMFAD93.js +1 -1
- package/src/samples/MOCI93.js +1 -1
- package/src/samples/NEO93.js +277 -0
- package/src/samples/NEO9A.js +91 -60
- package/src/samples/NEO9Q.js +279 -0
- package/src/samples/NEO9V.js +215 -0
- package/src/samples/OBQ4493.js +1 -1
- package/src/samples/PIES93.js +1 -1
- package/src/samples/PIES9A.js +4 -0
- package/src/samples/PMCIEF93.js +7 -1
- package/src/samples/PSWQ93.js +1 -1
- package/src/samples/RIASEC93.js +1 -1
- package/src/samples/RIASEC9A.js +256 -0
- package/src/samples/RSI93.js +89 -0
- package/src/samples/SASQ93.js +1 -1
- package/src/samples/SDCAQ93.js +1 -1
- package/src/samples/STAIY93.js +1 -1
- package/src/samples/WAQ93.js +1 -1
- package/src/samples/YBOCS93.js +1 -1
- package/src/samples/YPI93.js +5 -1
- package/views/profiles/NEO_long_facets.hbs +125 -0
- package/views/profiles/NEO_main.hbs +150 -0
- package/views/profiles/NEO_short_facets.hbs +82 -0
- package/views/profiles/samples/BSCT93.hbs +17 -17
- package/views/profiles/samples/BSSI93.hbs +102 -0
- package/views/profiles/samples/FRHPT93_1.hbs +568 -87
- package/views/profiles/samples/FRHPT93_2.hbs +90 -76
- package/views/profiles/samples/FRHPT93_3.hbs +2 -2
- package/views/profiles/samples/FRHPT93_4.hbs +2 -2
- package/views/profiles/samples/FRHPT93_5.hbs +103 -0
- package/views/profiles/samples/FRHPT9A.hbs +7 -7
- package/views/profiles/samples/ISKS93.hbs +38 -0
- package/views/profiles/samples/NEO93_1.hbs +14 -0
- package/views/profiles/samples/NEO93_2.hbs +15 -0
- package/views/profiles/samples/NEO93_3.hbs +15 -0
- package/views/profiles/samples/NEO9A.hbs +14 -29
- package/views/profiles/samples/NEO9Q_1.hbs +13 -0
- package/views/profiles/samples/NEO9Q_2.hbs +14 -0
- package/views/profiles/samples/NEO9Q_3.hbs +14 -0
- package/views/profiles/samples/NEO9V_1.hbs +13 -0
- package/views/profiles/samples/NEO9V_2.hbs +3 -0
- package/views/profiles/samples/RIASEC9A_1.hbs +38 -0
- package/views/profiles/samples/RIASEC9A_2.hbs +67 -0
- package/views/profiles/samples/RIASEC9A_3.hbs +93 -0
- package/views/profiles/samples/RSI93.hbs +101 -0
- package/a.json +0 -4805
- package/src/publish/json/profiles/BSCT93_t1.json +0 -512
- package/src/publish/json/profiles/BSCT93_t2.json +0 -512
|
@@ -7,7 +7,8 @@ const { FileNotFoundError } = require("./utilities/CustomErrors");
|
|
|
7
7
|
|
|
8
8
|
class ExtractExecutor extends Executor {
|
|
9
9
|
samplesJSDir = path.join(__dirname, "..", "samples");
|
|
10
|
-
|
|
10
|
+
profilesDir = path.join(__dirname, "..", "..", "views", "profiles");
|
|
11
|
+
profilesTemplatesDir = path.join(this.profilesDir, "samples");
|
|
11
12
|
|
|
12
13
|
constructor(options) {
|
|
13
14
|
super(options);
|
|
@@ -39,6 +40,18 @@ class ExtractExecutor extends Executor {
|
|
|
39
40
|
});
|
|
40
41
|
}
|
|
41
42
|
|
|
43
|
+
_addProfileHandlebarsPromise() {
|
|
44
|
+
const { promises, response } = this;
|
|
45
|
+
const partials = promises["js"].then((Profile) => Profile.partials || {});
|
|
46
|
+
const handlebarsPromise = this._addHandlebarsPromise(partials);
|
|
47
|
+
|
|
48
|
+
promises["handlebars"] = handlebarsPromise.catch((err) =>
|
|
49
|
+
response.setStatus(EXTRACT_STATUS["TEMPLATE_NOT_FOUND"], err)
|
|
50
|
+
);
|
|
51
|
+
|
|
52
|
+
return promises["handlebars"];
|
|
53
|
+
}
|
|
54
|
+
|
|
42
55
|
_addProfilesTemplatePromises() {
|
|
43
56
|
const { sample, dirs, profilesTemplatesDir, promises, response } = this;
|
|
44
57
|
|
|
@@ -77,6 +90,7 @@ class ExtractExecutor extends Executor {
|
|
|
77
90
|
name: options.name,
|
|
78
91
|
};
|
|
79
92
|
|
|
93
|
+
this._addProfileHandlebarsPromise();
|
|
80
94
|
this._addProfilesTemplatePromises();
|
|
81
95
|
}
|
|
82
96
|
|
|
@@ -124,7 +138,7 @@ class ExtractExecutor extends Executor {
|
|
|
124
138
|
}
|
|
125
139
|
|
|
126
140
|
_watch() {
|
|
127
|
-
const {
|
|
141
|
+
const { dirs, input, promises } = this;
|
|
128
142
|
|
|
129
143
|
const opts = {
|
|
130
144
|
awaitWriteFinish: {
|
|
@@ -137,38 +151,58 @@ class ExtractExecutor extends Executor {
|
|
|
137
151
|
dirs.templates.map((templateFileDir, index) => {
|
|
138
152
|
chokidar.watch(templateFileDir, opts).on("change", () => {
|
|
139
153
|
promises["templates"][index] = checkAndLoad(templateFileDir);
|
|
140
|
-
|
|
141
|
-
this._createProfile("with-sidebar", ["svg"]).then(() => {
|
|
142
|
-
benchmarker?.end();
|
|
143
|
-
response.setTime(benchmarker?.totalTime);
|
|
144
|
-
response.showOutput();
|
|
145
|
-
});
|
|
154
|
+
this._renderWatchedProfile();
|
|
146
155
|
});
|
|
147
156
|
});
|
|
148
157
|
});
|
|
149
158
|
|
|
159
|
+
this._resetPartialWatcher(opts).catch(() => {});
|
|
160
|
+
|
|
150
161
|
chokidar.watch(dirs.sampleJS, opts).on("change", () => {
|
|
151
162
|
promises["js"] = checkAndImport(dirs.sampleJS);
|
|
152
|
-
|
|
153
|
-
this.
|
|
154
|
-
|
|
155
|
-
response.setTime(benchmarker?.totalTime);
|
|
156
|
-
response.showOutput();
|
|
157
|
-
});
|
|
163
|
+
this._addProfileHandlebarsPromise();
|
|
164
|
+
this._resetPartialWatcher(opts).catch(() => {});
|
|
165
|
+
this._renderWatchedProfile();
|
|
158
166
|
});
|
|
159
167
|
|
|
160
168
|
if(input.type === 'local') chokidar.watch(input.data, opts).on('change', () => {
|
|
161
169
|
promises["input"] = checkAndLoad(input.data).then((json) => Promise.resolve(JSON.parse(json)));
|
|
162
|
-
|
|
163
|
-
this._createProfile("with-sidebar", ["svg"]).then(() => {
|
|
164
|
-
benchmarker?.end();
|
|
165
|
-
response.setTime(benchmarker?.totalTime);
|
|
166
|
-
response.showOutput();
|
|
167
|
-
});
|
|
168
|
-
|
|
170
|
+
this._renderWatchedProfile();
|
|
169
171
|
})
|
|
170
172
|
}
|
|
171
173
|
|
|
174
|
+
async _resetPartialWatcher(opts) {
|
|
175
|
+
const { dirs, profilesDir, promises } = this;
|
|
176
|
+
const Profile = await promises["js"];
|
|
177
|
+
const partialDirs = Object.values(Profile.partials || {}).map((partialFile) =>
|
|
178
|
+
path.join(profilesDir, partialFile)
|
|
179
|
+
);
|
|
180
|
+
|
|
181
|
+
dirs["partials"] = partialDirs;
|
|
182
|
+
|
|
183
|
+
if (this.partialWatcher) await this.partialWatcher.close();
|
|
184
|
+
if (!partialDirs.length) {
|
|
185
|
+
this.partialWatcher = null;
|
|
186
|
+
return;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
this.partialWatcher = chokidar.watch(partialDirs, opts).on("change", () => {
|
|
190
|
+
this._addProfileHandlebarsPromise();
|
|
191
|
+
this._renderWatchedProfile();
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
_renderWatchedProfile() {
|
|
196
|
+
const { command, response, benchmarker } = this;
|
|
197
|
+
|
|
198
|
+
benchmarker?.restart(command);
|
|
199
|
+
return this._createProfile("with-sidebar", ["svg"]).then(() => {
|
|
200
|
+
benchmarker?.end();
|
|
201
|
+
response.setTime(benchmarker?.totalTime);
|
|
202
|
+
response.showOutput();
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
|
|
172
206
|
_createProfileOutputName(variant) {
|
|
173
207
|
const {
|
|
174
208
|
settings: {
|
|
@@ -1,51 +1,17 @@
|
|
|
1
|
-
const fs = require("fs");
|
|
2
|
-
const { readdir } = require("fs/promises");
|
|
1
|
+
const fs = require("fs/promises");
|
|
3
2
|
const path = require("path");
|
|
4
3
|
|
|
5
|
-
|
|
6
|
-
const baseProfiles = [
|
|
7
|
-
"AMS93",
|
|
8
|
-
"MMFAD93",
|
|
9
|
-
"PIES93",
|
|
10
|
-
"JPFQ93_partial",
|
|
11
|
-
"JPFQ93_partial2",
|
|
12
|
-
"FACES93_1_partial",
|
|
13
|
-
"FACES93_2_1_partial",
|
|
14
|
-
"FACES93_2_2_partial",
|
|
15
|
-
"EPQ93",
|
|
16
|
-
'YPI93_factors'
|
|
17
|
-
];
|
|
4
|
+
const partialsDir = path.join(__dirname, "..", "..", "views", "profiles");
|
|
18
5
|
|
|
19
|
-
async function importPartials(hbs) {
|
|
20
|
-
|
|
6
|
+
async function importPartials(hbs, partials) {
|
|
7
|
+
await Promise.all(
|
|
8
|
+
Object.entries(partials).map(async ([name, relativePath]) => {
|
|
9
|
+
const template = await fs.readFile(path.join(partialsDir, relativePath), "utf-8");
|
|
10
|
+
hbs.registerPartial(name, template);
|
|
11
|
+
})
|
|
12
|
+
);
|
|
21
13
|
|
|
22
|
-
|
|
23
|
-
new Promise(function (resolve, reject) {
|
|
24
|
-
fs.readFile(path.join(partialsDir, "samples", `${profileName}.hbs`), "utf-8", (err, template) => {
|
|
25
|
-
if (err) reject(err);
|
|
26
|
-
hbs.registerPartial(profileName, template);
|
|
27
|
-
resolve(true);
|
|
28
|
-
});
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
return readdir(partialsDir).then((partialFiles) => {
|
|
33
|
-
let generalPartialsPromises = partialFiles.map(
|
|
34
|
-
(partialFile) =>
|
|
35
|
-
new Promise(function (resolve, reject) {
|
|
36
|
-
const matches = /^([^.]+).(hbs|css|js)$/.exec(partialFile);
|
|
37
|
-
if (!matches) return resolve(true);
|
|
38
|
-
const name = matches[1];
|
|
39
|
-
fs.readFile(path.join(partialsDir, partialFile), "utf-8", (err, template) => {
|
|
40
|
-
if (err) reject(err);
|
|
41
|
-
hbs.registerPartial(name, template);
|
|
42
|
-
resolve(true);
|
|
43
|
-
});
|
|
44
|
-
})
|
|
45
|
-
);
|
|
46
|
-
|
|
47
|
-
return Promise.all(generalPartialsPromises, baseProfilePromises);
|
|
48
|
-
});
|
|
14
|
+
return hbs;
|
|
49
15
|
}
|
|
50
16
|
|
|
51
17
|
module.exports = importPartials;
|
package/src/handlebars/init.js
CHANGED
|
@@ -2,14 +2,20 @@ const Handlebars = require("handlebars");
|
|
|
2
2
|
const helpers = require("./helpers");
|
|
3
3
|
const importPartials = require("./importPartials");
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
5
|
+
const sharedPartials = {
|
|
6
|
+
fonts: "fonts.css",
|
|
7
|
+
layout: "layout.hbs",
|
|
8
|
+
sidebar: "sidebar.hbs",
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
async function createHandlebars(partials = {}) {
|
|
12
|
+
const hbs = Handlebars.create();
|
|
13
|
+
|
|
14
|
+
for (const [name, helper] of Object.entries(helpers)) {
|
|
15
|
+
hbs.registerHelper(name, helper);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
return importPartials(hbs, { ...partials, ...sharedPartials });
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
module.exports = createHandlebars;
|
|
@@ -0,0 +1,392 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "$X1HXXXXX",
|
|
3
|
+
"scale": {
|
|
4
|
+
"id": "$BSSI-93",
|
|
5
|
+
"title": "پرسشنامه افکار خودکشی بک"
|
|
6
|
+
},
|
|
7
|
+
"chain": null,
|
|
8
|
+
"version": "2",
|
|
9
|
+
"edition": "",
|
|
10
|
+
"edition_version": null,
|
|
11
|
+
"client": {
|
|
12
|
+
"id": "GH966XXXX",
|
|
13
|
+
"name": "مراجع"
|
|
14
|
+
},
|
|
15
|
+
"room": {
|
|
16
|
+
"id": "RS96XXXX",
|
|
17
|
+
"manager": {
|
|
18
|
+
"id": "GH9XXXXX",
|
|
19
|
+
"name": "درمانگر",
|
|
20
|
+
"user_id": "IR9XXXX"
|
|
21
|
+
},
|
|
22
|
+
"center": {
|
|
23
|
+
"id": "RS966XXXX",
|
|
24
|
+
"acceptation": null,
|
|
25
|
+
"status": "active",
|
|
26
|
+
"type": "personal_clinic",
|
|
27
|
+
"detail": {
|
|
28
|
+
"title": "درمانگر"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"acceptation": null,
|
|
32
|
+
"status": "active",
|
|
33
|
+
"type": "personal_clinic"
|
|
34
|
+
},
|
|
35
|
+
"case": null,
|
|
36
|
+
"code": null,
|
|
37
|
+
"created_at": 1694157079,
|
|
38
|
+
"started_at": 1694157198,
|
|
39
|
+
"scored_at": 1694242467,
|
|
40
|
+
"closed_at": 1694160574,
|
|
41
|
+
"total_amount": 100000,
|
|
42
|
+
"prepayment": true,
|
|
43
|
+
"purchased": true,
|
|
44
|
+
"amount": 100000,
|
|
45
|
+
"description": "## دستور اجرای آزمون\n\nﻟﻄﻔﺎً ﻋﺒﺎرات زﯾﺮ را ﺑﻪ ﻃﻮر دﻗﯿﻖ ﻣﻄﺎﻟﻌﻪ ﮐﻨﯿﺪ، ﺳﭙﺲ ﻫﺮﺟﻤﻠﻪای ﮐﻪ ﺗﻮﺻﯿﻒ ﮐﻨﻨﺪه وﺿﻌﯿﺖ ﺷﻤﺎ در ﻫﻔﺘﻪ ﮔﺬﺷﺘﻪ و اﻣﺮوز ﻣﯽﺑﺎﺷﺪ را ﻣﺸﺨﺺ ﻧﻤﺎﯾﯿﺪ.",
|
|
46
|
+
"psychologist_description": null,
|
|
47
|
+
"items": [
|
|
48
|
+
{
|
|
49
|
+
"type": "text",
|
|
50
|
+
"text": null,
|
|
51
|
+
"answer": {
|
|
52
|
+
"type": "optional",
|
|
53
|
+
"nullable": { "text": "غیر فعالسازی بخش دوم" },
|
|
54
|
+
"options": [
|
|
55
|
+
"ﺑﻪ زﻧﺪﮔﯽ ﺧﻮد ﺑﺴﯿﺎر ﻋﻼﻗﻤﻨﺪ ﻫﺴﺘﻢ.",
|
|
56
|
+
"ﻋﻼﻗﻪ ﻣﻦ ﺑﻪ زﻧﺪﮔﯽ کم اﺳﺖ.",
|
|
57
|
+
"ﻋﻼﻗﻪای ﺑﻪ زﻧﺪﮔﯽ ﻧﺪارم."
|
|
58
|
+
]
|
|
59
|
+
},
|
|
60
|
+
"user_answered": "2"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"type": "text",
|
|
64
|
+
"text": null,
|
|
65
|
+
"answer": {
|
|
66
|
+
"type": "optional",
|
|
67
|
+
"nullable": { "text": "غیر فعالسازی بخش دوم" },
|
|
68
|
+
"options": [
|
|
69
|
+
"دوﺳﺖ دارم زﻧﺪه ﺑﺎﺷﻢ.",
|
|
70
|
+
"ﮐﻤﯽ ﻣﯿﻞ ﺑﻪ ﻣﺮدن در ﻣﻦ وﺟﻮد دارد.",
|
|
71
|
+
"دوﺳﺖ دارم ﺑﻤﯿﺮم."
|
|
72
|
+
]
|
|
73
|
+
},
|
|
74
|
+
"user_answered": "3"
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"type": "text",
|
|
78
|
+
"text": null,
|
|
79
|
+
"answer": {
|
|
80
|
+
"type": "optional",
|
|
81
|
+
"nullable": { "text": "غیر فعالسازی بخش دوم" },
|
|
82
|
+
"options": [
|
|
83
|
+
"اﺻﺮار ﻣﻦ ﺑﺮای زﻧﺪﮔﯽ ﮐﺮدن ﺑﯿﺸﺘﺮ از ﻣﺮدن اﺳﺖ.",
|
|
84
|
+
"ﺑﺮای ﻣﻦ زﻧﺪﮔﯽ ﮐﺮدن و ﻣﺮدن ﺗﻘﺮﯾﺒﺎً ﯾﮑﺴﺎن اﺳﺖ.",
|
|
85
|
+
"اﺻﺮار ﻣﻦ ﺑﺮای ﻣﺮدن ﺑﯿﺸﺘﺮ از زﻧﺪﮔﯽ اﺳﺖ."
|
|
86
|
+
]
|
|
87
|
+
},
|
|
88
|
+
"user_answered": "2"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"type": "text",
|
|
92
|
+
"text": null,
|
|
93
|
+
"answer": {
|
|
94
|
+
"type": "optional",
|
|
95
|
+
"nullable": { "text": "غیر فعالسازی بخش دوم" },
|
|
96
|
+
"options": [
|
|
97
|
+
"ﻫﻨﮕﺎﻣﯽ ﮐﻪ در ﺷﺮاﯾﻂ دﺷﻮار و ﺧﻄﺮﻧﺎک ﻗﺮار ﻣﯽﮔﯿﺮم ﺳﻌﯽ ﻣﯽﮐﻨﻢ ﺟﺎن ﺧﻮد را ﺣﻔﻆ ﮐﻨﻢ.",
|
|
98
|
+
"ﻫﻨﮕﺎﻣﯽ ﮐﻪ در ﺷﺮاﯾﻂ دﺷﻮار ﺑﺎﺷﻢ ﺑﺮاﯾﻢ ﻣﻬﻢ ﻧﯿﺴﺖ ﮐﻪ زﻧﺪه ﺑﻤﺎﻧﻢ ﯾﺎ ﺑﻤﯿﺮم.",
|
|
99
|
+
"ﻫﻨﮕﺎﻣﯽ ﮐﻪ در ﺷﺮاﯾﻂ دﺷﻮار ﺑﺎﺷﻢ ﺑﺮای ﺣﻔﻆ ﺟﺎﻧﻢ ﻫﯿﭻ ﮐﻮﺷﺸﯽ ﻧﻤﯽﮐﻨﻢ."
|
|
100
|
+
]
|
|
101
|
+
},
|
|
102
|
+
"user_answered": "3"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"type": "text",
|
|
106
|
+
"text": null,
|
|
107
|
+
"answer": {
|
|
108
|
+
"type": "optional",
|
|
109
|
+
"nullable": { "text": "غیر فعالسازی بخش دوم" },
|
|
110
|
+
"options": [
|
|
111
|
+
"ﻫﯿﭻ ﻣﯿﻠﯽ ﺑﻪ ﺧﻮدﮐﺸﯽ ﻧﺪارم.",
|
|
112
|
+
"ﮐﻤﯽ ﻣﯿﻞ ﺑﻪ ﺧﻮدﮐﺸﯽ دارم.",
|
|
113
|
+
"ﻣﯿﻞ ﺷﺪﯾﺪی ﺑﻪ ﺧﻮدﮐﺸﯽ دارم."
|
|
114
|
+
]
|
|
115
|
+
},
|
|
116
|
+
"user_answered": "1"
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"type": "text",
|
|
120
|
+
"text": null,
|
|
121
|
+
"answer": {
|
|
122
|
+
"type": "optional",
|
|
123
|
+
"nullable": { "text": "غیر فعالسازی بخش دوم" },
|
|
124
|
+
"options": [
|
|
125
|
+
"زﻣﺎن ﮐﻮﺗﺎﻫﯽ ﺑﻪ ﻓﮑﺮ ﺧﻮدﮐﺸﯽ ﻣﯽاﻓﺘﻢ ﮐﻪ ﺑﻪ ﺳﺮﻋﺖ از ذﻫﻨﻢ ﻣﯽﮔﺬرد.",
|
|
126
|
+
"ﮔﺎﻫﯽ ﮐﻢ و ﺑﯿﺶ ﺑﻪ ﻓﮑﺮ ﺧﻮدﮐﺸﯽ ﻣﯽاﻓﺘﻢ.",
|
|
127
|
+
"از ﻣﺪتﻫﺎی ﻃﻮﻻﻧﯽ ﻓﮑﺮ ﺧﻮدﮐﺸﯽ را در ذﻫﻨﻢ دارم."
|
|
128
|
+
]
|
|
129
|
+
},
|
|
130
|
+
"user_answered": "3"
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"type": "text",
|
|
134
|
+
"text": null,
|
|
135
|
+
"answer": {
|
|
136
|
+
"type": "optional",
|
|
137
|
+
"nullable": { "text": "غیر فعالسازی بخش دوم" },
|
|
138
|
+
"options": [
|
|
139
|
+
"ﺑﻪ ﻧﺪرت درﺑﺎره ﺧﻮدﮐﺸﯽ ﻓﮑﺮ ﻣﯽﮐﻨﻢ.",
|
|
140
|
+
"ﮔﻬﮕﺎﻫﯽ درﺑﺎره ﺧﻮدﮐﺸﯽ ﻓﮑﺮ ﻣﯽﮐﻨﻢ.",
|
|
141
|
+
"ﺗﻘﺮﯾﺒﺎً ﻫﻤﯿﺸﻪ درﺑﺎره ﺧﻮدﮐﺸﯽ ﻓﮑﺮ ﻣﯽﮐﻨﻢ."
|
|
142
|
+
]
|
|
143
|
+
},
|
|
144
|
+
"user_answered": "2"
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"type": "text",
|
|
148
|
+
"text": null,
|
|
149
|
+
"answer": {
|
|
150
|
+
"type": "optional",
|
|
151
|
+
"nullable": { "text": "غیر فعالسازی بخش دوم" },
|
|
152
|
+
"options": [
|
|
153
|
+
"ﻓﮑﺮ درﺑﺎره ﺧﻮدﮐﺸﯽ را ﻗﺒﻮل ﻧﺪارم.",
|
|
154
|
+
"ﻓﮑﺮ درﺑﺎره ﺧﻮدﮐﺸﯽ را ﻧﻪ ﻗﺒﻮل دارم ﻧﻪ رد ﻣﯽﮐﻨﻢ.",
|
|
155
|
+
"ﻓﮑﺮ درﺑﺎره ﺧﻮدﮐﺸﯽ را ﻗﺒﻮل دارم."
|
|
156
|
+
]
|
|
157
|
+
},
|
|
158
|
+
"user_answered": "3"
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"type": "text",
|
|
162
|
+
"text": null,
|
|
163
|
+
"answer": {
|
|
164
|
+
"type": "optional",
|
|
165
|
+
"nullable": { "text": "غیر فعالسازی بخش دوم" },
|
|
166
|
+
"options": [
|
|
167
|
+
"اﮔﺮ ﻗﺼﺪ ﺧﻮدﮐﺸﯽ داﺷﺘﻪ ﺑﺎﺷﻢ ﻗﺎدر ﺑﻪ ﮐﻨﺘﺮل ﺧﻮدم ﻫﺴﺘﻢ.",
|
|
168
|
+
"ﻣﻄﻤﺌﻦ ﻧﯿﺴﺘﻢ ﮐﻪ ﺑﺘﻮاﻧﻢ ﺧﻮدم را از ارﺗﮑﺎب ﺑﻪ ﺧﻮدﮐﺸﯽ ﮐﻨﺘﺮل ﮐﻨﻢ.",
|
|
169
|
+
"اﮔﺮ ﻗﺼﺪ ﺧﻮدﮐﺸﯽ داﺷﺘﻪ ﺑﺎﺷﻢ ﻗﺎدر ﺑﻪ ﮐﻨﺘﺮل ﺧﻮدم ﻧﯿﺴﺘﻢ."
|
|
170
|
+
]
|
|
171
|
+
},
|
|
172
|
+
"user_answered": "3"
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
"type": "text",
|
|
176
|
+
"text": null,
|
|
177
|
+
"answer": {
|
|
178
|
+
"type": "optional",
|
|
179
|
+
"nullable": { "text": "غیر فعالسازی بخش دوم" },
|
|
180
|
+
"options": [
|
|
181
|
+
"ﺑﻪ ﺧﺎﻃﺮ ﺧﺎﻧﻮاده، دوﺳﺘﺎن، ﻣﺬﻫﺐ و ﻣﺠﺮوﺣﯿﺖ ﻧﺎﺷﯽ از ﺧﻮدﮐﺸﯽ ﻧﺎﻣﻮﻓﻖ ﻗﺼﺪ ﺧﻮدﮐﺸﯽ ﻧﺪارم.",
|
|
182
|
+
"ﺑﻪ ﺧﺎﻃﺮ ﺧﺎﻧﻮاده، دوﺳﺘﺎن، ﻣﺬﻫﺐ، و ﻣﺠﺮوﺣﯿﺖ ﻧﺎﺷﯽ از ﺧﻮدﮐﺸﯽ ﻧﺎﻣﻮﻓﻖ، ﻧﺴﺒﺖ ﺑﻪ اﻗﺪام ﺧﻮدﮐﺸﯽ ﺗﺎ اﻧﺪازهای ﻧﮕﺮان ﻫﺴﺘﻢ.",
|
|
183
|
+
"ﻧﺴﺒﺖ ﺑﻪ اﻗﺪام ﺧﻮدﮐﺸﯽ ﻧﮕﺮان ﺧﺎﻧﻮاده، دوﺳﺘﺎن، ﻣﺬﻫﺐ و ﻣﺠﺮوﺣﯿﺖ ﻧﺎﺷﯽ از ﺧﻮدﮐﺸﯽ ﻧﺎﻣﻮﻓﻖ ﻧﯿﺴﺘﻢ."
|
|
184
|
+
]
|
|
185
|
+
},
|
|
186
|
+
"user_answered": "3"
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
"type": "text",
|
|
190
|
+
"text": null,
|
|
191
|
+
"answer": {
|
|
192
|
+
"type": "optional",
|
|
193
|
+
"nullable": { "text": "غیر فعالسازی بخش دوم" },
|
|
194
|
+
"options": [
|
|
195
|
+
"دﻟﯿﻞ اﺻﻠﯽ ﻣﻦ از اﻗﺪام ﺑﻪ ﺧﻮدﮐﺸﯽ ﺗأﺛﯿﺮ ﮔﺬاﺷﺘﻦ ﺑﺮ دﯾﮕﺮان اﺳﺖ ﺑﻪ ﻃﻮری ﮐﻪ ﺑﻪ ﻣﻦ ﺗﻮﺟﻪ ﺷﻮد.",
|
|
196
|
+
"ﻣﻨﻈﻮر ﻣﻦ از اﻗﺪام ﺑﻪ ﺧﻮدﮐﺸﯽ ﻓﻘﻂ تأﺛﯿﺮ ﮔﺬاﺷﺘﻦ ﺑﺮ اﻓﺮاد ﻧﯿﺴﺖ، ﺑﻠﮑﻪ راهﺣﻠﯽ ﺑﺮای ﺣﻞ ﻣﺸﮑﻼﺗﻢ ﻣﯽﺑﺎﺷﺪ.",
|
|
197
|
+
"ﻣﻨﻈﻮر اﺻﻠﯽ ﻣﻦ از اﻗﺪام ﺑﻪ ﺧﻮدﮐﺸﯽ ﻓﺮار ﮐﺮدن از ﻣﺸﮑﻼت اﺳﺖ."
|
|
198
|
+
]
|
|
199
|
+
},
|
|
200
|
+
"user_answered": "2"
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
"type": "text",
|
|
204
|
+
"text": null,
|
|
205
|
+
"answer": {
|
|
206
|
+
"type": "optional",
|
|
207
|
+
"nullable": { "text": "غیر فعالسازی بخش دوم" },
|
|
208
|
+
"options": [
|
|
209
|
+
"ﻃﺮح و ﺑﺮﻧﺎﻣﻪ ﺧﺎﺻﯽ ﺑﺮای اﯾﻦﮐﻪ ﭼﻄﻮر ﺧﻮدﮐﺸﯽ ﮐﻨﻢ ﻧﺪارم.",
|
|
210
|
+
"راهﻫﺎی ﺧﻮدﮐﺸﯽ را ﺑﺮرﺳﯽ ﮐﺮدهام، اﻣﺎ روی ﺟﺰﺋﯿﺎت آن ﻓﮑﺮ ﻧﮑﺮدهام.",
|
|
211
|
+
"ﻃﺮح و ﺑﺮﻧﺎﻣﻪ ﺧﺎﺻﯽ ﺑﺮای اﯾﻦﮐﻪ ﭼﻄﻮر ﺧﻮدﮐﺸﯽ ﮐﻨﻢ در ذﻫﻨﻢ دارم."
|
|
212
|
+
]
|
|
213
|
+
},
|
|
214
|
+
"user_answered": "2"
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
"type": "text",
|
|
218
|
+
"text": null,
|
|
219
|
+
"answer": {
|
|
220
|
+
"type": "optional",
|
|
221
|
+
"nullable": { "text": "غیر فعالسازی بخش دوم" },
|
|
222
|
+
"options": [
|
|
223
|
+
"ﺑﻪ ﯾﮏ روش و ﯾﺎ ﻓﺮﺻﺖ ﻣﻨﺎﺳﺒﯽ ﮐﻪ ﺧﻮدﮐﺸﯽ ﮐﻨﻢ دﺳﺘﺮﺳﯽ ﻧﺪارم.",
|
|
224
|
+
"روﺷﯽ ﮐﻪ ﻗﺼﺪ دارم ﺑﺮای ﺧﻮدﮐﺸﯽ ﺑﻪ ﮐﺎر ﺑﺒﺮم وﻗﺖ زﯾﺎدی ﻣﯽﺧﻮاﻫﺪ و ﻣﻦ ﻓﺮﺻﺖ ﺑﻪﮐﺎرﮔﯿﺮی اﯾﻦ روش را ﻧﺪارم.",
|
|
225
|
+
"روﺷﯽ را ﺑﺮای ﺧﻮدﮐﺸﯽ اﻧﺘﺨﺎب ﮐﺮدهام و ﺑﺮای ﻋﻤﻠﯽ ﮐﺮدن آن ﻣﻨﺘﻈﺮ ﻓﺮﺻﺖ ﻣﻨﺎﺳﺐ ﻫﺴﺘﻢ."
|
|
226
|
+
]
|
|
227
|
+
},
|
|
228
|
+
"user_answered": "3"
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
"type": "text",
|
|
232
|
+
"text": null,
|
|
233
|
+
"answer": {
|
|
234
|
+
"type": "optional",
|
|
235
|
+
"nullable": { "text": "غیر فعالسازی بخش دوم" },
|
|
236
|
+
"options": [
|
|
237
|
+
"ﺟﺮأت ﯾﺎ ﺗﻮاﻧﺎﯾﯽ اﻗﺪام ﺑﻪ ﺧﻮدﮐﺸﯽ را ﻧﺪارم.",
|
|
238
|
+
"ﻣﻄﻤﺌﻦ ﻧﯿﺴﺘﻢ ﮐﻪ ﺟﺮأت و ﺗﻮاﻧﺎﯾﯽ ارﺗﮑﺎب ﺑﻪ ﺧﻮدﮐﺸﯽ را داﺷﺘﻪ ﺑﺎﺷﻢ.",
|
|
239
|
+
"ﺟﺮأت ﯾﺎ ﺗﻮاﻧﺎﯾﯽ اﻗﺪام ﺑﻪ ﺧﻮدﮐﺸﯽ را دارم."
|
|
240
|
+
]
|
|
241
|
+
},
|
|
242
|
+
"user_answered": "2"
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
"type": "text",
|
|
246
|
+
"text": null,
|
|
247
|
+
"answer": {
|
|
248
|
+
"type": "optional",
|
|
249
|
+
"nullable": { "text": "غیر فعالسازی بخش دوم" },
|
|
250
|
+
"options": [
|
|
251
|
+
"ﮔﻤﺎن ﻧﻤﯽﮐﻨﻢ ﮐﻪ ﻗﺼﺪ ﺧﻮدﮐﺸﯽ داﺷﺘﻪ ﺑﺎﺷﻢ.",
|
|
252
|
+
"ﻣﻄﻤﺌﻦ ﻧﯿﺴﺘﻢ ﮐﻪ ﺑﺨﻮاﻫﻢ ﺧﻮدﮐﺸﯽ ﮐﻨﻢ.",
|
|
253
|
+
"ﻣﻄﻤﺌﻨﻢ ﮐﻪ ﺧﻮدﮐﺸﯽ ﺧﻮاﻫﻢ ﮐﺮد."
|
|
254
|
+
]
|
|
255
|
+
},
|
|
256
|
+
"user_answered": "3"
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
"type": "text",
|
|
260
|
+
"text": null,
|
|
261
|
+
"answer": {
|
|
262
|
+
"type": "optional",
|
|
263
|
+
"nullable": { "text": "غیر فعالسازی بخش دوم" },
|
|
264
|
+
"options": [
|
|
265
|
+
"ﻫﯿﭻ وﺳﯿﻠﻪای ﺑﺮای اﻗﺪام ﺧﻮدﮐﺸﯽ آﻣﺎده ﻧﮑﺮدهام.",
|
|
266
|
+
"اﻧﺪﮐﯽ وﺳﺎﯾﻞ ﺑﺮای اﻗﺪام ﺑﻪ ﺧﻮدﮐﺸﯽ آﻣﺎده ﮐﺮدهام.",
|
|
267
|
+
"ﺗﻘﺮﯾﺒﺎً ﺑﺮای اﻗﺪام ﺑﻪ ﺧﻮﮐﺸﯽ وﺳﺎﯾﻞ ﻻزم را آﻣﺎده ﮐﺮدهام."
|
|
268
|
+
]
|
|
269
|
+
},
|
|
270
|
+
"user_answered": "1"
|
|
271
|
+
},
|
|
272
|
+
{
|
|
273
|
+
"type": "text",
|
|
274
|
+
"text": null,
|
|
275
|
+
"answer": {
|
|
276
|
+
"type": "optional",
|
|
277
|
+
"nullable": { "text": "غیر فعالسازی بخش دوم" },
|
|
278
|
+
"options": [
|
|
279
|
+
"درﺑﺎره ﺧﻮدﮐﺸﯽام ﺗﺎ ﮐﻨﻮن ﻣﻄﻠﺒﯽ ﻧﻨﻮﺷﺘﻪام.",
|
|
280
|
+
"درﺑﺎره ﯾﺎدداﺷﺖ ﺧﻮدﮐﺸﯽام ﻓﮑﺮ ﮐﺮده و ﯾﺎ ﺷﺮوع ﺑﻪ ﻧﻮﺷﺘﻦ آن ﮐﺮدهام، اﻣﺎ ﮐﺎﻣﻞ ﻧﯿﺴﺖ.",
|
|
281
|
+
"ﯾﺎدداﺷﺖ ﺧﻮدﮐﺸﯽام را ﮐﺎﻣﻞ ﮐﺮدهام."
|
|
282
|
+
]
|
|
283
|
+
},
|
|
284
|
+
"user_answered": "2"
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
"type": "text",
|
|
288
|
+
"text": null,
|
|
289
|
+
"answer": {
|
|
290
|
+
"type": "optional",
|
|
291
|
+
"nullable": { "text": "غیر فعالسازی بخش دوم" },
|
|
292
|
+
"options": [
|
|
293
|
+
"در ﻣﻮرد ﺣﻮادث و ﻣﺴﺎﺋﻞ ﭘﺲ از ﺧﻮدﮐﺸﯽ ﻫﯿﭻ ﺑﺮﻧﺎﻣﻪ ﻣﺸﺨﺼﯽ ﻧﺪارم.",
|
|
294
|
+
"در ﻣﻮرد ﺣﻮادث و ﻣﺴﺎﺋﻞ ﭘﺲ از ﺧﻮدﮐﺸﯽ ﺗﺎ ﺣﺪودی ﺑﺮﻧﺎﻣﻪﻫﺎ را ﻣﺸﺨﺺ ﮐﺮدهام.",
|
|
295
|
+
"در ﻣﻮرد ﺣﻮادث و ﻣﺴﺎﺋﻞ ﭘﺲ از ﺧﻮدﮐﺸﯽ ﺑﻪﻃﻮر دﻗﯿﻖ ﺑﺮﻧﺎﻣﻪرﯾﺰی ﮐﺮدهام."
|
|
296
|
+
]
|
|
297
|
+
},
|
|
298
|
+
"user_answered": "2"
|
|
299
|
+
},
|
|
300
|
+
{
|
|
301
|
+
"type": "text",
|
|
302
|
+
"text": null,
|
|
303
|
+
"answer": {
|
|
304
|
+
"type": "optional",
|
|
305
|
+
"nullable": { "text": "غیر فعالسازی بخش دوم" },
|
|
306
|
+
"options": [
|
|
307
|
+
"دﯾﮕﺮان از ﻗﺼﺪ ﺧﻮدﮐﺸﯽ ﻣﻦ آﮔﺎه ﻫﺴﺘﻨﺪ.",
|
|
308
|
+
"در ﻣﻮرد ﻗﺼﺪ ﺧﻮدﮐﺸﯽ ﺧﻮد ﺑﻪ دﯾﮕﺮان ﭼﯿﺰی ﻧﮕﻔﺘﻪام.",
|
|
309
|
+
"دﯾﮕﺮان از ﻗﺼﺪ ﺧﻮدﮐﺸﯽ ﻣﻦ آﮔﺎه ﻧﯿﺴﺘﻨﺪ."
|
|
310
|
+
]
|
|
311
|
+
},
|
|
312
|
+
"user_answered": "2"
|
|
313
|
+
}
|
|
314
|
+
],
|
|
315
|
+
"prerequisites": [
|
|
316
|
+
{
|
|
317
|
+
"type": "text",
|
|
318
|
+
"label": "gender",
|
|
319
|
+
"text": "جنسیت",
|
|
320
|
+
"answer": { "type": "select", "options": ["زن", "مرد"] },
|
|
321
|
+
"alias": "gender",
|
|
322
|
+
"force": true,
|
|
323
|
+
"user_answered": "1"
|
|
324
|
+
},
|
|
325
|
+
{
|
|
326
|
+
"type": "text",
|
|
327
|
+
"label": "age",
|
|
328
|
+
"text": "سن",
|
|
329
|
+
"answer": { "type": "number" },
|
|
330
|
+
"alias": "age",
|
|
331
|
+
"force": true,
|
|
332
|
+
"user_answered": "42"
|
|
333
|
+
},
|
|
334
|
+
{
|
|
335
|
+
"type": "text",
|
|
336
|
+
"label": "education",
|
|
337
|
+
"text": "تحصیلات",
|
|
338
|
+
"answer": {
|
|
339
|
+
"type": "select",
|
|
340
|
+
"options": [
|
|
341
|
+
"ابتدایی اول",
|
|
342
|
+
"ابتدایی دوم",
|
|
343
|
+
"متوسطه اول",
|
|
344
|
+
"متوسطه دوم",
|
|
345
|
+
"دیپلم",
|
|
346
|
+
"کارشناسی",
|
|
347
|
+
"کارشناسی ارشد",
|
|
348
|
+
"پزشکی عمومی",
|
|
349
|
+
"متخصص",
|
|
350
|
+
"دکتری تخصصی",
|
|
351
|
+
"حوزوی مقدمات",
|
|
352
|
+
"حوزوی سطح۱",
|
|
353
|
+
"حوزوی سطح۲",
|
|
354
|
+
"حوزوی سطح۳",
|
|
355
|
+
"حوزوی سطح۴"
|
|
356
|
+
]
|
|
357
|
+
},
|
|
358
|
+
"alias": "education",
|
|
359
|
+
"force": true,
|
|
360
|
+
"user_answered": "7"
|
|
361
|
+
},
|
|
362
|
+
{
|
|
363
|
+
"type": "text",
|
|
364
|
+
"label": "marital_status",
|
|
365
|
+
"text": "وضعیت تأهل",
|
|
366
|
+
"answer": { "type": "select", "options": ["مجرد", "متأهل"] },
|
|
367
|
+
"alias": "marital_status",
|
|
368
|
+
"force": true,
|
|
369
|
+
"user_answered": "2"
|
|
370
|
+
}
|
|
371
|
+
],
|
|
372
|
+
"entities": [
|
|
373
|
+
{
|
|
374
|
+
"offset": 5,
|
|
375
|
+
"title": "بخش دوم",
|
|
376
|
+
"description": "در ﺻﻮرﺗﯽ ﮐﻪ در ﻣﻮرد ﭘﺮﺳﺶ ﺷﻤﺎره ۵ گزینه اول را علامت زدهاید ﻻزم ﻧﯿﺴﺖ ﮐﻪ ﭘﺮﺳﺶﻫﺎی ﺑﻌﺪی را ﭘﺎﺳﺦ دﻫﯿﺪ؛ به انتهای پرسشنامه بروید و گزینه اتمام را بزنید.\n\nدر ﺻﻮرﺗﯽ ﮐﻪ گزینه دوم یا سوم را ﻋﻼﻣﺖ زدهاﯾﺪ، ﺣﺘﻤﺎً در پرسشهای بعدی تیک دکمه «غیر فعالسازی بخش دوم» برداشته تا گزینهها فعال شود و سپس پاسخ بدهید."
|
|
377
|
+
}
|
|
378
|
+
],
|
|
379
|
+
"cornometer": 0,
|
|
380
|
+
"score": {
|
|
381
|
+
"total_raw": 25,
|
|
382
|
+
"total_percentage": 0.66,
|
|
383
|
+
"desire_raw": 6,
|
|
384
|
+
"desire_percentage": 0.6,
|
|
385
|
+
"intent_raw": 11,
|
|
386
|
+
"intent_percentage": 0.79,
|
|
387
|
+
"preparation_raw": 6,
|
|
388
|
+
"preparation_percentage": 0.6
|
|
389
|
+
},
|
|
390
|
+
"score_current_version": "1.0.0",
|
|
391
|
+
"score_last_version": "1.0.0"
|
|
392
|
+
}
|
|
@@ -4505,9 +4505,9 @@
|
|
|
4505
4505
|
"factors_mo4_percentage": 0.472,
|
|
4506
4506
|
"factors_mo4_level": "low",
|
|
4507
4507
|
"indicators_validity_identical_value": 55,
|
|
4508
|
-
"indicators_validity_identical_error":
|
|
4508
|
+
"indicators_validity_identical_error": "exceeded median response threshold",
|
|
4509
4509
|
"indicators_validity_consecutive_value": 3,
|
|
4510
|
-
"indicators_validity_consecutive_error":
|
|
4510
|
+
"indicators_validity_consecutive_error": "exceeded median response threshold",
|
|
4511
4511
|
"indicators_validity_median_value": 98,
|
|
4512
4512
|
"indicators_validity_median_error": "exceeded median response threshold",
|
|
4513
4513
|
"indicators_vrin_value": 6,
|