@cerebruminc/yates 2.0.1 → 2.0.3-beta.dangerous.7ee0432

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/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.0.3](https://github.com/cerebruminc/yates/compare/v2.0.2...v2.0.3) (2023-03-14)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * Ensure that Yates works correctly with Prisma Fluent API ([1d85073](https://github.com/cerebruminc/yates/commit/1d85073510eebefc316e139a83da913d850c2a51))
9
+
10
+ ## [2.0.2](https://github.com/cerebruminc/yates/compare/v2.0.1...v2.0.2) (2023-03-13)
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * ensure role setting still happens when using async middleware ([9d40852](https://github.com/cerebruminc/yates/commit/9d40852bc08f6f0d2212506723c5567d329e0581))
16
+
3
17
  ## [2.0.1](https://github.com/cerebruminc/yates/compare/v2.0.0...v2.0.1) (2023-02-28)
4
18
 
5
19
 
package/dist/index.d.ts CHANGED
@@ -27,6 +27,11 @@ export type GetContextFn<ContextKeys extends string = string> = () => {
27
27
  [key in ContextKeys]: string | number | string[];
28
28
  };
29
29
  } | null;
30
+ declare module "@prisma/client" {
31
+ interface PrismaClient {
32
+ _executeRequest: (params: any) => Promise<any>;
33
+ }
34
+ }
30
35
  export declare const createAbilityName: (model: string, ability: string) => string;
31
36
  export declare const createRoleName: (name: string) => string;
32
37
  export declare const createClient: (prisma: PrismaClient, getContext: GetContextFn) => Omit<PrismaClient<Prisma.PrismaClientOptions, never, Prisma.RejectOnNotFound | Prisma.RejectPerOperation | undefined, {
package/dist/index.js CHANGED
@@ -14,6 +14,29 @@ var __assign = (this && this.__assign) || function () {
14
14
  };
15
15
  return __assign.apply(this, arguments);
16
16
  };
17
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ var desc = Object.getOwnPropertyDescriptor(m, k);
20
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
21
+ desc = { enumerable: true, get: function() { return m[k]; } };
22
+ }
23
+ Object.defineProperty(o, k2, desc);
24
+ }) : (function(o, m, k, k2) {
25
+ if (k2 === undefined) k2 = k;
26
+ o[k2] = m[k];
27
+ }));
28
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
29
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
30
+ }) : function(o, v) {
31
+ o["default"] = v;
32
+ });
33
+ var __importStar = (this && this.__importStar) || function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
17
40
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
41
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
42
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -77,15 +100,6 @@ var __read = (this && this.__read) || function (o, n) {
77
100
  }
78
101
  return ar;
79
102
  };
80
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
81
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
82
- if (ar || !(i in from)) {
83
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
84
- ar[i] = from[i];
85
- }
86
- }
87
- return to.concat(ar || Array.prototype.slice.call(from));
88
- };
89
103
  var __importDefault = (this && this.__importDefault) || function (mod) {
90
104
  return (mod && mod.__esModule) ? mod : { "default": mod };
91
105
  };
@@ -95,6 +109,7 @@ var difference_1 = __importDefault(require("lodash/difference"));
95
109
  var flatMap_1 = __importDefault(require("lodash/flatMap"));
96
110
  var map_1 = __importDefault(require("lodash/map"));
97
111
  var toPairs_1 = __importDefault(require("lodash/toPairs"));
112
+ var crypto = __importStar(require("crypto"));
98
113
  var expressions_1 = require("./expressions");
99
114
  var VALID_OPERATIONS = ["SELECT", "UPDATE", "INSERT", "DELETE"];
100
115
  /**
@@ -104,16 +119,28 @@ var VALID_OPERATIONS = ["SELECT", "UPDATE", "INSERT", "DELETE"];
104
119
  var takeLock = function (prisma) {
105
120
  return prisma.$executeRawUnsafe("SELECT pg_advisory_xact_lock(2142616474639426746);");
106
121
  };
122
+ /**
123
+ * In PostgreSQL, the maximum length for a role or policy name is 63 bytes.
124
+ * This limitation is derived from the value of the NAMEDATALEN configuration parameter,
125
+ * which is set to 64 bytes by default. One byte is reserved for the null-terminator,
126
+ * leaving 63 bytes for the actual role name.
127
+ * This function hashes the ability name to ensure it is within the 63 byte limit.
128
+ */
129
+ var hashWithPrefix = function (prefix, abilityName) {
130
+ var hash = crypto.createHash("sha256");
131
+ hash.update(abilityName);
132
+ var hashedAbilityName = hash.digest("hex");
133
+ var maxLength = 63 - prefix.length;
134
+ return prefix + hashedAbilityName.slice(0, maxLength);
135
+ };
107
136
  // Sanitize a single string by ensuring the it has only lowercase alpha characters and underscores
108
137
  var sanitizeSlug = function (slug) { return slug.toLowerCase().replace("-", "_").replace(/[^a-z0-9_]/gi, ""); };
109
138
  var createAbilityName = function (model, ability) {
110
- return sanitizeSlug("yates_ability_".concat(model, "_").concat(ability, "_role"));
139
+ return sanitizeSlug(hashWithPrefix("yates_ability_", "".concat(model, "_").concat(ability)));
111
140
  };
112
141
  exports.createAbilityName = createAbilityName;
113
142
  var createRoleName = function (name) {
114
- // Ensure the role name only has lowercase alpha characters and underscores
115
- // This also doubles as a check against SQL injection
116
- return sanitizeSlug("yates_role_".concat(name));
143
+ return sanitizeSlug(hashWithPrefix("yates_role_", "".concat(name)));
117
144
  };
118
145
  exports.createRoleName = createRoleName;
119
146
  // This uses client extensions to set the role and context for the current user so that RLS can be applied
@@ -122,15 +149,16 @@ var createClient = function (prisma, getContext) {
122
149
  name: "Yates client",
123
150
  query: {
124
151
  $allModels: {
125
- $allOperations: function (_a) {
126
- var _b;
127
- var model = _a.model, args = _a.args, query = _a.query, operation = _a.operation;
152
+ $allOperations: function (params) {
153
+ var _a;
128
154
  return __awaiter(this, void 0, void 0, function () {
129
- var ctx, role, context, pgRole, _c, _d, k, txResults, queryResults, e_1;
130
- var e_2, _e;
131
- return __generator(this, function (_f) {
132
- switch (_f.label) {
155
+ var model, args, query, operation, ctx, role, context, pgRole, _b, _c, k, queryResults, e_1;
156
+ var e_2, _d;
157
+ var _this = this;
158
+ return __generator(this, function (_e) {
159
+ switch (_e.label) {
133
160
  case 0:
161
+ model = params.model, args = params.args, query = params.query, operation = params.operation;
134
162
  if (!model) {
135
163
  return [2 /*return*/, query(args)];
136
164
  }
@@ -143,8 +171,8 @@ var createClient = function (prisma, getContext) {
143
171
  pgRole = (0, exports.createRoleName)(role);
144
172
  if (context) {
145
173
  try {
146
- for (_c = __values(Object.keys(context)), _d = _c.next(); !_d.done; _d = _c.next()) {
147
- k = _d.value;
174
+ for (_b = __values(Object.keys(context)), _c = _b.next(); !_c.done; _c = _b.next()) {
175
+ k = _c.value;
148
176
  if (!k.match(/^[a-z_\.]+$/)) {
149
177
  throw new Error("Context variable \"".concat(k, "\" contains invalid characters. Context variables must only contain lowercase letters, numbers, periods and underscores."));
150
178
  }
@@ -156,35 +184,76 @@ var createClient = function (prisma, getContext) {
156
184
  catch (e_2_1) { e_2 = { error: e_2_1 }; }
157
185
  finally {
158
186
  try {
159
- if (_d && !_d.done && (_e = _c["return"])) _e.call(_c);
187
+ if (_c && !_c.done && (_d = _b["return"])) _d.call(_b);
160
188
  }
161
189
  finally { if (e_2) throw e_2.error; }
162
190
  }
163
191
  }
164
- _f.label = 1;
192
+ _e.label = 1;
165
193
  case 1:
166
- _f.trys.push([1, 3, , 4]);
167
- return [4 /*yield*/, prisma.$transaction(__spreadArray(__spreadArray([
168
- // Switch to the user role, We can't use a prepared statement here, due to limitations in PG not allowing prepared statements to be used in SET ROLE
169
- prisma.$queryRawUnsafe("SET ROLE ".concat(pgRole))
170
- ], __read((0, toPairs_1["default"])(context).map(function (_a) {
171
- var _b = __read(_a, 2), key = _b[0], value = _b[1];
172
- return prisma.$queryRaw(templateObject_1 || (templateObject_1 = __makeTemplateObject(["SELECT set_config(", ", ", ", true);"], ["SELECT set_config(", ", ", ", true);"])), key, value.toString());
173
- })), false), [
174
- // Now call original function
175
- // Conveniently, the `query` function will happily run inside the transaction.
176
- query(args),
177
- // Switch role back to admin user
178
- prisma.$queryRawUnsafe("SET ROLE none"),
179
- ], false))];
194
+ _e.trys.push([1, 3, , 4]);
195
+ return [4 /*yield*/, prisma.$transaction(function (tx) { return __awaiter(_this, void 0, void 0, function () {
196
+ var _a, _b, _c, key, value, e_3_1, txId, __internalParams, result;
197
+ var e_3, _d;
198
+ return __generator(this, function (_e) {
199
+ switch (_e.label) {
200
+ case 0:
201
+ // Switch to the user role, We can't use a prepared statement here, due to limitations in PG not allowing prepared statements to be used in SET ROLE
202
+ return [4 /*yield*/, tx.$queryRawUnsafe("SET ROLE ".concat(pgRole))];
203
+ case 1:
204
+ // Switch to the user role, We can't use a prepared statement here, due to limitations in PG not allowing prepared statements to be used in SET ROLE
205
+ _e.sent();
206
+ _e.label = 2;
207
+ case 2:
208
+ _e.trys.push([2, 7, 8, 9]);
209
+ _a = __values((0, toPairs_1["default"])(context)), _b = _a.next();
210
+ _e.label = 3;
211
+ case 3:
212
+ if (!!_b.done) return [3 /*break*/, 6];
213
+ _c = __read(_b.value, 2), key = _c[0], value = _c[1];
214
+ return [4 /*yield*/, tx.$queryRaw(templateObject_1 || (templateObject_1 = __makeTemplateObject(["SELECT set_config(", ", ", ", true);"], ["SELECT set_config(", ", ", ", true);"])), key, value.toString())];
215
+ case 4:
216
+ _e.sent();
217
+ _e.label = 5;
218
+ case 5:
219
+ _b = _a.next();
220
+ return [3 /*break*/, 3];
221
+ case 6: return [3 /*break*/, 9];
222
+ case 7:
223
+ e_3_1 = _e.sent();
224
+ e_3 = { error: e_3_1 };
225
+ return [3 /*break*/, 9];
226
+ case 8:
227
+ try {
228
+ if (_b && !_b.done && (_d = _a["return"])) _d.call(_a);
229
+ }
230
+ finally { if (e_3) throw e_3.error; }
231
+ return [7 /*endfinally*/];
232
+ case 9:
233
+ txId = tx[Symbol["for"]("prisma.client.transaction.id")];
234
+ __internalParams = params.__internalParams;
235
+ return [4 /*yield*/, prisma._executeRequest(__assign(__assign({}, __internalParams), { transaction: {
236
+ kind: "itx",
237
+ id: txId
238
+ } }))];
239
+ case 10:
240
+ result = _e.sent();
241
+ // Switch role back to admin user
242
+ return [4 /*yield*/, tx.$queryRawUnsafe("SET ROLE none")];
243
+ case 11:
244
+ // Switch role back to admin user
245
+ _e.sent();
246
+ return [2 /*return*/, result];
247
+ }
248
+ });
249
+ }); })];
180
250
  case 2:
181
- txResults = _f.sent();
182
- queryResults = txResults[txResults.length - 2];
251
+ queryResults = _e.sent();
183
252
  return [2 /*return*/, queryResults];
184
253
  case 3:
185
- e_1 = _f.sent();
254
+ e_1 = _e.sent();
186
255
  // Normalize RLS errors to make them a bit more readable.
187
- if ((_b = e_1.message) === null || _b === void 0 ? void 0 : _b.includes("new row violates row-level security policy for table")) {
256
+ if ((_a = e_1.message) === null || _a === void 0 ? void 0 : _a.includes("new row violates row-level security policy for table")) {
188
257
  throw new Error("You do not have permission to perform this action: ".concat(model, ".").concat(operation, "(...)"));
189
258
  }
190
259
  throw e_1;
@@ -206,7 +275,7 @@ var setRLS = function (prisma, table, roleName, operation, rawExpression) { retu
206
275
  case 0: return [4 /*yield*/, (0, expressions_1.expressionToSQL)(rawExpression, table)];
207
276
  case 1:
208
277
  expression = _a.sent();
209
- policyName = "".concat(roleName, "_policy");
278
+ policyName = roleName;
210
279
  return [4 /*yield*/, prisma.$queryRawUnsafe("\n\t\tselect * from pg_catalog.pg_policies where tablename = '".concat(table, "' AND policyname = '").concat(policyName, "';\n\t"))];
211
280
  case 2:
212
281
  rows = _a.sent();
@@ -240,7 +309,7 @@ var createRoles = function (_a) {
240
309
  var prisma = _a.prisma, customAbilities = _a.customAbilities, getRoles = _a.getRoles;
241
310
  return __awaiter(void 0, void 0, void 0, function () {
242
311
  var abilities, models, diff, models_1, models_1_1, model, ability, operation, roles, _b, _c, _d, _i, model, table, _e, _f, _g, _h, slug, ability, roleName, _loop_1, _j, _k, _l, _m, key;
243
- var e_3, _o;
312
+ var e_4, _o;
244
313
  var _p;
245
314
  return __generator(this, function (_q) {
246
315
  switch (_q.label) {
@@ -296,12 +365,12 @@ var createRoles = function (_a) {
296
365
  }
297
366
  }
298
367
  }
299
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
368
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
300
369
  finally {
301
370
  try {
302
371
  if (models_1_1 && !models_1_1.done && (_o = models_1["return"])) _o.call(models_1);
303
372
  }
304
- finally { if (e_3) throw e_3.error; }
373
+ finally { if (e_4) throw e_4.error; }
305
374
  }
306
375
  roles = getRoles(abilities);
307
376
  _b = abilities;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cerebruminc/yates",
3
- "version": "2.0.1",
3
+ "version": "2.0.3-beta.dangerous.7ee0432",
4
4
  "description": "Role based access control for Prisma Apps",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -36,4 +36,4 @@
36
36
  "@prisma/client": "^4.0.0",
37
37
  "prisma": "^4.9.0"
38
38
  }
39
- }
39
+ }
package/renovate.json ADDED
@@ -0,0 +1,6 @@
1
+ {
2
+ "$schema": "https://docs.renovatebot.com/renovate-schema.json",
3
+ "extends": [
4
+ "config:base"
5
+ ]
6
+ }
package/.env DELETED
@@ -1 +0,0 @@
1
- DATABASE_URL=postgresql://postgres:postgres@localhost:5432/yates?connection_limit=30
@@ -1,105 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <coverage generated="1674820133460" clover="3.2.0">
3
- <project timestamp="1674820133460" name="All files">
4
- <metrics statements="96" coveredstatements="90" conditionals="37" coveredconditionals="28" methods="20" coveredmethods="20" elements="153" coveredelements="138" complexity="0" loc="96" ncloc="96" packages="1" files="1" classes="1"/>
5
- <file name="index.ts" path="/Users/lucianbuzzo/projects/yates/src/index.ts">
6
- <metrics statements="96" coveredstatements="90" conditionals="37" coveredconditionals="28" methods="20" coveredmethods="20"/>
7
- <line num="1" count="5" type="stmt"/>
8
- <line num="2" count="5" type="stmt"/>
9
- <line num="3" count="5" type="stmt"/>
10
- <line num="4" count="5" type="stmt"/>
11
- <line num="5" count="5" type="stmt"/>
12
- <line num="7" count="5" type="stmt"/>
13
- <line num="31" count="5" type="stmt"/>
14
- <line num="32" count="512" type="stmt"/>
15
- <line num="35" count="863" type="stmt"/>
16
- <line num="37" count="5" type="stmt"/>
17
- <line num="38" count="803" type="stmt"/>
18
- <line num="41" count="5" type="stmt"/>
19
- <line num="44" count="60" type="stmt"/>
20
- <line num="49" count="5" type="stmt"/>
21
- <line num="53" count="30" type="stmt"/>
22
- <line num="55" count="230" type="stmt"/>
23
- <line num="56" count="230" type="cond" truecount="1" falsecount="0"/>
24
- <line num="57" count="199" type="stmt"/>
25
- <line num="60" count="31" type="stmt"/>
26
- <line num="63" count="31" type="cond" truecount="1" falsecount="0"/>
27
- <line num="64" count="1" type="stmt"/>
28
- <line num="66" count="30" type="stmt"/>
29
- <line num="68" count="30" type="stmt"/>
30
- <line num="71" count="30" type="stmt"/>
31
- <line num="73" count="30" type="cond" truecount="1" falsecount="0"/>
32
- <line num="74" count="3" type="stmt"/>
33
- <line num="75" count="3" type="cond" truecount="1" falsecount="0"/>
34
- <line num="76" count="1" type="stmt"/>
35
- <line num="80" count="2" type="cond" truecount="2" falsecount="1"/>
36
- <line num="81" count="0" type="stmt"/>
37
- <line num="86" count="29" type="stmt"/>
38
- <line num="87" count="29" type="stmt"/>
39
- <line num="92" count="2" type="stmt"/>
40
- <line num="104" count="23" type="stmt"/>
41
- <line num="109" count="23" type="cond" truecount="1" falsecount="0"/>
42
- <line num="110" count="1" type="stmt"/>
43
- <line num="111" count="1" type="cond" truecount="0" falsecount="1"/>
44
- <line num="117" count="0" type="stmt"/>
45
- <line num="120" count="23" type="stmt"/>
46
- <line num="123" count="6" type="cond" truecount="4" falsecount="1"/>
47
- <line num="124" count="6" type="stmt"/>
48
- <line num="127" count="0" type="stmt"/>
49
- <line num="132" count="5" type="stmt"/>
50
- <line num="138" count="388" type="stmt"/>
51
- <line num="140" count="388" type="stmt"/>
52
- <line num="141" count="388" type="stmt"/>
53
- <line num="145" count="388" type="cond" truecount="1" falsecount="1"/>
54
- <line num="147" count="0" type="cond" truecount="0" falsecount="2"/>
55
- <line num="148" count="0" type="stmt"/>
56
- <line num="152" count="0" type="stmt"/>
57
- <line num="156" count="388" type="cond" truecount="1" falsecount="0"/>
58
- <line num="157" count="105" type="cond" truecount="2" falsecount="0"/>
59
- <line num="158" count="99" type="stmt"/>
60
- <line num="162" count="6" type="stmt"/>
61
- <line num="169" count="5" type="stmt"/>
62
- <line num="179" count="33" type="stmt"/>
63
- <line num="180" count="33" type="stmt"/>
64
- <line num="182" count="99" type="stmt"/>
65
- <line num="183" count="33" type="cond" truecount="1" falsecount="0"/>
66
- <line num="184" count="13" type="stmt"/>
67
- <line num="185" count="13" type="cond" truecount="1" falsecount="0"/>
68
- <line num="186" count="1" type="stmt"/>
69
- <line num="189" count="32" type="stmt"/>
70
- <line num="190" count="96" type="stmt"/>
71
- <line num="220" count="96" type="cond" truecount="5" falsecount="0"/>
72
- <line num="221" count="12" type="stmt"/>
73
- <line num="222" count="13" type="stmt"/>
74
- <line num="231" count="32" type="stmt"/>
75
- <line num="235" count="32" type="stmt"/>
76
- <line num="236" count="94" type="stmt"/>
77
- <line num="238" count="94" type="stmt"/>
78
- <line num="243" count="94" type="stmt"/>
79
- <line num="244" count="389" type="stmt"/>
80
- <line num="246" count="389" type="cond" truecount="1" falsecount="0"/>
81
- <line num="247" count="1" type="stmt"/>
82
- <line num="250" count="388" type="stmt"/>
83
- <line num="253" count="388" type="stmt"/>
84
- <line num="271" count="388" type="cond" truecount="1" falsecount="0"/>
85
- <line num="272" count="388" type="stmt"/>
86
- <line num="280" count="30" type="stmt"/>
87
- <line num="281" count="30" type="stmt"/>
88
- <line num="282" count="30" type="stmt"/>
89
- <line num="294" count="30" type="stmt"/>
90
- <line num="295" count="90" type="stmt"/>
91
- <line num="296" count="371" type="stmt"/>
92
- <line num="299" count="30" type="stmt"/>
93
- <line num="301" count="30" type="cond" truecount="2" falsecount="0"/>
94
- <line num="303" count="44" type="stmt"/>
95
- <line num="307" count="30" type="stmt"/>
96
- <line num="320" count="30" type="stmt"/>
97
- <line num="331" count="57" type="stmt"/>
98
- <line num="332" count="30" type="cond" truecount="1" falsecount="0"/>
99
- <line num="334" count="1" type="stmt"/>
100
- <line num="364" count="33" type="stmt"/>
101
- <line num="365" count="33" type="stmt"/>
102
- <line num="366" count="30" type="stmt"/>
103
- </file>
104
- </project>
105
- </coverage>
@@ -1,2 +0,0 @@
1
- {"/Users/lucianbuzzo/projects/yates/src/index.ts": {"path":"/Users/lucianbuzzo/projects/yates/src/index.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":54}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":43}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":37}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":29}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":37}},"5":{"start":{"line":7,"column":25},"end":{"line":7,"column":74}},"6":{"start":{"line":31,"column":17},"end":{"line":32,"column":79}},"7":{"start":{"line":32,"column":1},"end":{"line":32,"column":79}},"8":{"start":{"line":35,"column":21},"end":{"line":35,"column":103}},"9":{"start":{"line":35,"column":39},"end":{"line":35,"column":103}},"10":{"start":{"line":37,"column":33},"end":{"line":39,"column":1}},"11":{"start":{"line":38,"column":1},"end":{"line":38,"column":63}},"12":{"start":{"line":37,"column":13},"end":{"line":37,"column":33}},"13":{"start":{"line":41,"column":30},"end":{"line":45,"column":1}},"14":{"start":{"line":44,"column":1},"end":{"line":44,"column":43}},"15":{"start":{"line":41,"column":13},"end":{"line":41,"column":30}},"16":{"start":{"line":49,"column":31},"end":{"line":130,"column":1}},"17":{"start":{"line":53,"column":21},"end":{"line":53,"column":39}},"18":{"start":{"line":55,"column":1},"end":{"line":129,"column":4}},"19":{"start":{"line":55,"column":36},"end":{"line":129,"column":3}},"20":{"start":{"line":56,"column":2},"end":{"line":58,"column":null}},"21":{"start":{"line":57,"column":3},"end":{"line":57,"column":23}},"22":{"start":{"line":60,"column":14},"end":{"line":60,"column":26}},"23":{"start":{"line":63,"column":2},"end":{"line":65,"column":null}},"24":{"start":{"line":64,"column":3},"end":{"line":64,"column":23}},"25":{"start":{"line":66,"column":28},"end":{"line":66,"column":31}},"26":{"start":{"line":68,"column":17},"end":{"line":68,"column":37}},"27":{"start":{"line":71,"column":20},"end":{"line":71,"column":80}},"28":{"start":{"line":73,"column":2},"end":{"line":84,"column":null}},"29":{"start":{"line":74,"column":3},"end":{"line":83,"column":null}},"30":{"start":{"line":75,"column":4},"end":{"line":79,"column":null}},"31":{"start":{"line":76,"column":5},"end":{"line":78,"column":7}},"32":{"start":{"line":80,"column":4},"end":{"line":82,"column":null}},"33":{"start":{"line":81,"column":5},"end":{"line":81,"column":101}},"34":{"start":{"line":86,"column":2},"end":{"line":128,"column":null}},"35":{"start":{"line":87,"column":21},"end":{"line":103,"column":5}},"36":{"start":{"line":92,"column":5},"end":{"line":92,"column":79}},"37":{"start":{"line":104,"column":24},"end":{"line":104,"column":55}},"38":{"start":{"line":109,"column":3},"end":{"line":119,"column":null}},"39":{"start":{"line":110,"column":23},"end":{"line":110,"column":54}},"40":{"start":{"line":111,"column":4},"end":{"line":118,"column":null}},"41":{"start":{"line":117,"column":5},"end":{"line":117,"column":40}},"42":{"start":{"line":120,"column":3},"end":{"line":120,"column":23}},"43":{"start":{"line":123,"column":3},"end":{"line":125,"column":null}},"44":{"start":{"line":124,"column":4},"end":{"line":124,"column":74}},"45":{"start":{"line":127,"column":3},"end":{"line":127,"column":11}},"46":{"start":{"line":49,"column":13},"end":{"line":49,"column":31}},"47":{"start":{"line":132,"column":15},"end":{"line":167,"column":2}},"48":{"start":{"line":138,"column":4},"end":{"line":167,"column":2}},"49":{"start":{"line":140,"column":20},"end":{"line":140,"column":40}},"50":{"start":{"line":141,"column":21},"end":{"line":143,"column":3}},"51":{"start":{"line":145,"column":1},"end":{"line":166,"column":null}},"52":{"start":{"line":147,"column":2},"end":{"line":155,"column":null}},"53":{"start":{"line":148,"column":3},"end":{"line":150,"column":9}},"54":{"start":{"line":152,"column":3},"end":{"line":154,"column":9}},"55":{"start":{"line":156,"column":8},"end":{"line":166,"column":null}},"56":{"start":{"line":157,"column":2},"end":{"line":165,"column":null}},"57":{"start":{"line":158,"column":3},"end":{"line":160,"column":9}},"58":{"start":{"line":162,"column":3},"end":{"line":164,"column":9}},"59":{"start":{"line":169,"column":27},"end":{"line":337,"column":2}},"60":{"start":{"line":179,"column":5},"end":{"line":337,"column":2}},"61":{"start":{"line":180,"column":44},"end":{"line":180,"column":46}},"62":{"start":{"line":182,"column":17},"end":{"line":182,"column":94}},"63":{"start":{"line":182,"column":75},"end":{"line":182,"column":81}},"64":{"start":{"line":183,"column":1},"end":{"line":188,"column":null}},"65":{"start":{"line":184,"column":15},"end":{"line":184,"column":63}},"66":{"start":{"line":185,"column":2},"end":{"line":187,"column":null}},"67":{"start":{"line":186,"column":3},"end":{"line":186,"column":77}},"68":{"start":{"line":189,"column":1},"end":{"line":229,"column":null}},"69":{"start":{"line":190,"column":2},"end":{"line":219,"column":4}},"70":{"start":{"line":220,"column":2},"end":{"line":228,"column":null}},"71":{"start":{"line":221,"column":3},"end":{"line":227,"column":null}},"72":{"start":{"line":222,"column":4},"end":{"line":226,"column":6}},"73":{"start":{"line":231,"column":15},"end":{"line":231,"column":52}},"74":{"start":{"line":235,"column":1},"end":{"line":275,"column":null}},"75":{"start":{"line":236,"column":16},"end":{"line":236,"column":21}},"76":{"start":{"line":238,"column":2},"end":{"line":241,"column":5}},"77":{"start":{"line":243,"column":2},"end":{"line":274,"column":null}},"78":{"start":{"line":244,"column":19},"end":{"line":244,"column":68}},"79":{"start":{"line":246,"column":3},"end":{"line":248,"column":null}},"80":{"start":{"line":247,"column":4},"end":{"line":247,"column":63}},"81":{"start":{"line":250,"column":20},"end":{"line":250,"column":50}},"82":{"start":{"line":253,"column":3},"end":{"line":269,"column":6}},"83":{"start":{"line":271,"column":3},"end":{"line":273,"column":null}},"84":{"start":{"line":272,"column":4},"end":{"line":272,"column":81}},"85":{"start":{"line":280,"column":1},"end":{"line":336,"column":null}},"86":{"start":{"line":281,"column":15},"end":{"line":281,"column":34}},"87":{"start":{"line":282,"column":2},"end":{"line":292,"column":5}},"88":{"start":{"line":294,"column":28},"end":{"line":298,"column":4}},"89":{"start":{"line":295,"column":3},"end":{"line":297,"column":6}},"90":{"start":{"line":296,"column":4},"end":{"line":296,"column":46}},"91":{"start":{"line":299,"column":24},"end":{"line":299,"column":34}},"92":{"start":{"line":301,"column":3},"end":{"line":303,"column":86}},"93":{"start":{"line":303,"column":37},"end":{"line":303,"column":85}},"94":{"start":{"line":307,"column":2},"end":{"line":317,"column":5}},"95":{"start":{"line":320,"column":62},"end":{"line":329,"column":4}},"96":{"start":{"line":331,"column":19},"end":{"line":331,"column":115}},"97":{"start":{"line":331,"column":54},"end":{"line":331,"column":82}},"98":{"start":{"line":331,"column":106},"end":{"line":331,"column":114}},"99":{"start":{"line":332,"column":2},"end":{"line":335,"column":null}},"100":{"start":{"line":334,"column":3},"end":{"line":334,"column":80}},"101":{"start":{"line":169,"column":13},"end":{"line":169,"column":27}},"102":{"start":{"line":364,"column":21},"end":{"line":367,"column":2}},"103":{"start":{"line":364,"column":94},"end":{"line":367,"column":2}},"104":{"start":{"line":365,"column":1},"end":{"line":365,"column":58}},"105":{"start":{"line":366,"column":1},"end":{"line":366,"column":37}},"106":{"start":{"line":364,"column":13},"end":{"line":364,"column":21}}},"fnMap":{"0":{"name":"(anonymous_8)","decl":{"start":{"line":31,"column":17},"end":{"line":31,"column":18}},"loc":{"start":{"line":32,"column":1},"end":{"line":32,"column":79}}},"1":{"name":"(anonymous_9)","decl":{"start":{"line":35,"column":21},"end":{"line":35,"column":22}},"loc":{"start":{"line":35,"column":39},"end":{"line":35,"column":103}}},"2":{"name":"(anonymous_10)","decl":{"start":{"line":37,"column":33},"end":{"line":37,"column":34}},"loc":{"start":{"line":37,"column":68},"end":{"line":39,"column":1}}},"3":{"name":"(anonymous_11)","decl":{"start":{"line":41,"column":30},"end":{"line":41,"column":31}},"loc":{"start":{"line":41,"column":47},"end":{"line":45,"column":1}}},"4":{"name":"(anonymous_12)","decl":{"start":{"line":49,"column":31},"end":{"line":49,"column":32}},"loc":{"start":{"line":49,"column":82},"end":{"line":130,"column":1}}},"5":{"name":"(anonymous_13)","decl":{"start":{"line":55,"column":13},"end":{"line":55,"column":20}},"loc":{"start":{"line":55,"column":36},"end":{"line":129,"column":3}}},"6":{"name":"(anonymous_14)","decl":{"start":{"line":55,"column":36},"end":{"line":55,"column":null}},"loc":{"start":{"line":55,"column":36},"end":{"line":129,"column":2}}},"7":{"name":"(anonymous_15)","decl":{"start":{"line":91,"column":28},"end":{"line":91,"column":29}},"loc":{"start":{"line":91,"column":45},"end":{"line":93,"column":5}}},"8":{"name":"(anonymous_16)","decl":{"start":{"line":132,"column":15},"end":{"line":132,"column":null}},"loc":{"start":{"line":138,"column":4},"end":{"line":167,"column":2}}},"9":{"name":"(anonymous_17)","decl":{"start":{"line":138,"column":4},"end":{"line":138,"column":null}},"loc":{"start":{"line":138,"column":4},"end":{"line":167,"column":1}}},"10":{"name":"(anonymous_18)","decl":{"start":{"line":169,"column":27},"end":{"line":169,"column":34}},"loc":{"start":{"line":179,"column":5},"end":{"line":337,"column":2}}},"11":{"name":"(anonymous_19)","decl":{"start":{"line":179,"column":5},"end":{"line":179,"column":null}},"loc":{"start":{"line":179,"column":5},"end":{"line":337,"column":1}}},"12":{"name":"(anonymous_20)","decl":{"start":{"line":182,"column":63},"end":{"line":182,"column":64}},"loc":{"start":{"line":182,"column":75},"end":{"line":182,"column":81}}},"13":{"name":"(anonymous_21)","decl":{"start":{"line":294,"column":47},"end":{"line":294,"column":48}},"loc":{"start":{"line":294,"column":68},"end":{"line":298,"column":3}}},"14":{"name":"(anonymous_22)","decl":{"start":{"line":295,"column":21},"end":{"line":295,"column":22}},"loc":{"start":{"line":295,"column":39},"end":{"line":297,"column":4}}},"15":{"name":"(anonymous_23)","decl":{"start":{"line":303,"column":24},"end":{"line":303,"column":25}},"loc":{"start":{"line":303,"column":37},"end":{"line":303,"column":85}}},"16":{"name":"(anonymous_24)","decl":{"start":{"line":331,"column":36},"end":{"line":331,"column":37}},"loc":{"start":{"line":331,"column":54},"end":{"line":331,"column":82}}},"17":{"name":"(anonymous_25)","decl":{"start":{"line":331,"column":88},"end":{"line":331,"column":89}},"loc":{"start":{"line":331,"column":106},"end":{"line":331,"column":114}}},"18":{"name":"(anonymous_26)","decl":{"start":{"line":364,"column":21},"end":{"line":364,"column":28}},"loc":{"start":{"line":364,"column":94},"end":{"line":367,"column":2}}},"19":{"name":"(anonymous_27)","decl":{"start":{"line":364,"column":94},"end":{"line":364,"column":null}},"loc":{"start":{"line":364,"column":94},"end":{"line":367,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":56,"column":2},"end":{"line":58,"column":null}},"type":"if","locations":[{"start":{"line":56,"column":2},"end":{"line":58,"column":null}}]},"1":{"loc":{"start":{"line":63,"column":2},"end":{"line":65,"column":null}},"type":"if","locations":[{"start":{"line":63,"column":2},"end":{"line":65,"column":null}}]},"2":{"loc":{"start":{"line":73,"column":2},"end":{"line":84,"column":null}},"type":"if","locations":[{"start":{"line":73,"column":2},"end":{"line":84,"column":null}}]},"3":{"loc":{"start":{"line":75,"column":4},"end":{"line":79,"column":null}},"type":"if","locations":[{"start":{"line":75,"column":4},"end":{"line":79,"column":null}}]},"4":{"loc":{"start":{"line":80,"column":4},"end":{"line":82,"column":null}},"type":"if","locations":[{"start":{"line":80,"column":4},"end":{"line":82,"column":null}}]},"5":{"loc":{"start":{"line":80,"column":8},"end":{"line":80,"column":72}},"type":"binary-expr","locations":[{"start":{"line":80,"column":8},"end":{"line":80,"column":38}},{"start":{"line":80,"column":42},"end":{"line":80,"column":72}}]},"6":{"loc":{"start":{"line":109,"column":3},"end":{"line":119,"column":null}},"type":"if","locations":[{"start":{"line":109,"column":3},"end":{"line":119,"column":null}}]},"7":{"loc":{"start":{"line":111,"column":4},"end":{"line":118,"column":null}},"type":"if","locations":[{"start":{"line":111,"column":4},"end":{"line":118,"column":null}}]},"8":{"loc":{"start":{"line":112,"column":5},"end":{"line":115,"column":51}},"type":"binary-expr","locations":[{"start":{"line":112,"column":5},"end":{"line":112,"column":28}},{"start":{"line":113,"column":5},"end":{"line":113,"column":31}},{"start":{"line":114,"column":5},"end":{"line":114,"column":66}},{"start":{"line":115,"column":5},"end":{"line":115,"column":51}}]},"9":{"loc":{"start":{"line":123,"column":3},"end":{"line":125,"column":null}},"type":"if","locations":[{"start":{"line":123,"column":3},"end":{"line":125,"column":null}}]},"10":{"loc":{"start":{"line":123,"column":7},"end":{"line":123,"column":82}},"type":"cond-expr","locations":[{"start":{"line":123,"column":16},"end":{"line":123,"column":18}},{"start":{"line":123,"column":16},"end":{"line":123,"column":82}}]},"11":{"loc":{"start":{"line":123,"column":7},"end":{"line":123,"column":18}},"type":"binary-expr","locations":[{"start":{"line":123,"column":7},"end":{"line":123,"column":18}},{"start":{"line":123,"column":16},"end":{"line":123,"column":18}}]},"12":{"loc":{"start":{"line":145,"column":1},"end":{"line":166,"column":null}},"type":"if","locations":[{"start":{"line":145,"column":1},"end":{"line":166,"column":null}},{"start":{"line":156,"column":8},"end":{"line":166,"column":null}}]},"13":{"loc":{"start":{"line":147,"column":2},"end":{"line":155,"column":null}},"type":"if","locations":[{"start":{"line":147,"column":2},"end":{"line":155,"column":null}},{"start":{"line":151,"column":9},"end":{"line":155,"column":null}}]},"14":{"loc":{"start":{"line":156,"column":8},"end":{"line":166,"column":null}},"type":"if","locations":[{"start":{"line":156,"column":8},"end":{"line":166,"column":null}}]},"15":{"loc":{"start":{"line":157,"column":2},"end":{"line":165,"column":null}},"type":"if","locations":[{"start":{"line":157,"column":2},"end":{"line":165,"column":null}},{"start":{"line":161,"column":9},"end":{"line":165,"column":null}}]},"16":{"loc":{"start":{"line":183,"column":1},"end":{"line":188,"column":null}},"type":"if","locations":[{"start":{"line":183,"column":1},"end":{"line":188,"column":null}}]},"17":{"loc":{"start":{"line":185,"column":2},"end":{"line":187,"column":null}},"type":"if","locations":[{"start":{"line":185,"column":2},"end":{"line":187,"column":null}}]},"18":{"loc":{"start":{"line":220,"column":2},"end":{"line":228,"column":null}},"type":"if","locations":[{"start":{"line":220,"column":2},"end":{"line":228,"column":null}}]},"19":{"loc":{"start":{"line":220,"column":6},"end":{"line":220,"column":30}},"type":"cond-expr","locations":[{"start":{"line":220,"column":21},"end":{"line":220,"column":24}},{"start":{"line":220,"column":6},"end":{"line":220,"column":30}}]},"20":{"loc":{"start":{"line":220,"column":6},"end":{"line":220,"column":24}},"type":"binary-expr","locations":[{"start":{"line":220,"column":6},"end":{"line":220,"column":24}},{"start":{"line":220,"column":6},"end":{"line":220,"column":24}}]},"21":{"loc":{"start":{"line":246,"column":3},"end":{"line":248,"column":null}},"type":"if","locations":[{"start":{"line":246,"column":3},"end":{"line":248,"column":null}}]},"22":{"loc":{"start":{"line":271,"column":3},"end":{"line":273,"column":null}},"type":"if","locations":[{"start":{"line":271,"column":3},"end":{"line":273,"column":null}}]},"23":{"loc":{"start":{"line":301,"column":3},"end":{"line":303,"column":86}},"type":"cond-expr","locations":[{"start":{"line":302,"column":6},"end":{"line":302,"column":23}},{"start":{"line":303,"column":6},"end":{"line":303,"column":86}}]},"24":{"loc":{"start":{"line":332,"column":2},"end":{"line":335,"column":null}},"type":"if","locations":[{"start":{"line":332,"column":2},"end":{"line":335,"column":null}}]}},"s":{"0":5,"1":5,"2":5,"3":5,"4":5,"5":5,"6":5,"7":512,"8":5,"9":863,"10":5,"11":803,"12":5,"13":5,"14":60,"15":5,"16":5,"17":30,"18":30,"19":230,"20":230,"21":199,"22":31,"23":31,"24":1,"25":30,"26":30,"27":30,"28":30,"29":3,"30":3,"31":1,"32":2,"33":0,"34":29,"35":29,"36":2,"37":23,"38":23,"39":1,"40":1,"41":0,"42":23,"43":6,"44":6,"45":0,"46":5,"47":5,"48":388,"49":388,"50":388,"51":388,"52":0,"53":0,"54":0,"55":388,"56":105,"57":99,"58":6,"59":5,"60":33,"61":33,"62":33,"63":99,"64":33,"65":13,"66":13,"67":1,"68":32,"69":96,"70":96,"71":12,"72":13,"73":32,"74":32,"75":94,"76":94,"77":94,"78":389,"79":389,"80":1,"81":388,"82":388,"83":388,"84":388,"85":30,"86":30,"87":30,"88":30,"89":90,"90":371,"91":30,"92":30,"93":44,"94":30,"95":30,"96":30,"97":57,"98":1,"99":30,"100":1,"101":5,"102":5,"103":33,"104":33,"105":30,"106":5},"f":{"0":512,"1":863,"2":803,"3":60,"4":30,"5":230,"6":230,"7":2,"8":388,"9":388,"10":33,"11":33,"12":99,"13":90,"14":371,"15":44,"16":57,"17":1,"18":33,"19":33},"b":{"0":[199],"1":[1],"2":[3],"3":[1],"4":[0],"5":[2,2],"6":[1],"7":[0],"8":[1,0,0,0],"9":[6],"10":[0,6],"11":[6,6],"12":[0,388],"13":[0,0],"14":[105],"15":[99,6],"16":[13],"17":[1],"18":[12],"19":[60,36],"20":[96,96],"21":[1],"22":[388],"23":[1,29],"24":[1]}}
2
- }