auth0-deploy-cli 7.21.0 → 7.22.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/.nyc_output/{79967eba-48ff-4031-8011-aca37169a77a.json → 8c594b79-aa55-4e49-845c-8d88ca24c494.json} +1 -1
- package/.nyc_output/processinfo/278104e6-6bb4-4dfb-94bf-3ef7f73e08b9.json +1 -0
- package/.nyc_output/processinfo/5210e060-a3b8-4e7f-9062-47807b58d0cd.json +1 -0
- package/.nyc_output/processinfo/{79967eba-48ff-4031-8011-aca37169a77a.json → 8c594b79-aa55-4e49-845c-8d88ca24c494.json} +1 -1
- package/.nyc_output/processinfo/index.json +1 -1
- package/CHANGELOG.md +11 -1
- package/coverage/lcov-report/index.html +5 -5
- package/coverage/lcov.info +242 -241
- package/lib/tools/auth0/handlers/organizations.d.ts +3 -0
- package/lib/tools/auth0/handlers/organizations.js +4 -1
- package/lib/tools/auth0/handlers/organizations.js.map +1 -1
- package/lib/tools/auth0/handlers/themes.d.ts +6 -0
- package/lib/tools/auth0/handlers/themes.js +6 -0
- package/lib/tools/auth0/handlers/themes.js.map +1 -1
- package/package.json +1 -1
- package/.nyc_output/processinfo/16c9e62d-53da-4c19-ba42-9267b40f713d.json +0 -1
- package/.nyc_output/processinfo/8b142617-6824-4c2c-9f37-25748820eb7c.json +0 -1
- package/coverage/lcov-report/src/args.ts.html +0 -505
- package/coverage/lcov-report/src/commands/export.ts.html +0 -274
- package/coverage/lcov-report/src/commands/import.ts.html +0 -250
- package/coverage/lcov-report/src/commands/index.html +0 -131
- package/coverage/lcov-report/src/configFactory.ts.html +0 -175
- package/coverage/lcov-report/src/context/defaults.ts.html +0 -196
- package/coverage/lcov-report/src/context/directory/handlers/actions.ts.html +0 -433
- package/coverage/lcov-report/src/context/directory/handlers/attackProtection.ts.html +0 -334
- package/coverage/lcov-report/src/context/directory/handlers/branding.ts.html +0 -475
- package/coverage/lcov-report/src/context/directory/handlers/clientGrants.ts.html +0 -385
- package/coverage/lcov-report/src/context/directory/handlers/clients.ts.html +0 -340
- package/coverage/lcov-report/src/context/directory/handlers/connections.ts.html +0 -388
- package/coverage/lcov-report/src/context/directory/handlers/customDomains.ts.html +0 -232
- package/coverage/lcov-report/src/context/directory/handlers/databases.ts.html +0 -568
- package/coverage/lcov-report/src/context/directory/handlers/emailProvider.ts.html +0 -250
- package/coverage/lcov-report/src/context/directory/handlers/emailTemplates.ts.html +0 -343
- package/coverage/lcov-report/src/context/directory/handlers/guardianFactorProviders.ts.html +0 -271
- package/coverage/lcov-report/src/context/directory/handlers/guardianFactorTemplates.ts.html +0 -262
- package/coverage/lcov-report/src/context/directory/handlers/guardianFactors.ts.html +0 -262
- package/coverage/lcov-report/src/context/directory/handlers/guardianPhoneFactorMessageTypes.ts.html +0 -223
- package/coverage/lcov-report/src/context/directory/handlers/guardianPhoneFactorSelectedProvider.ts.html +0 -235
- package/coverage/lcov-report/src/context/directory/handlers/guardianPolicies.ts.html +0 -223
- package/coverage/lcov-report/src/context/directory/handlers/hooks.ts.html +0 -289
- package/coverage/lcov-report/src/context/directory/handlers/index.html +0 -551
- package/coverage/lcov-report/src/context/directory/handlers/index.ts.html +0 -304
- package/coverage/lcov-report/src/context/directory/handlers/logStreams.ts.html +0 -235
- package/coverage/lcov-report/src/context/directory/handlers/migrations.ts.html +0 -205
- package/coverage/lcov-report/src/context/directory/handlers/organizations.ts.html +0 -304
- package/coverage/lcov-report/src/context/directory/handlers/pages.ts.html +0 -379
- package/coverage/lcov-report/src/context/directory/handlers/prompts.ts.html +0 -331
- package/coverage/lcov-report/src/context/directory/handlers/resourceServers.ts.html +0 -247
- package/coverage/lcov-report/src/context/directory/handlers/roles.ts.html +0 -268
- package/coverage/lcov-report/src/context/directory/handlers/rules.ts.html +0 -277
- package/coverage/lcov-report/src/context/directory/handlers/rulesConfigs.ts.html +0 -208
- package/coverage/lcov-report/src/context/directory/handlers/tenant.ts.html +0 -298
- package/coverage/lcov-report/src/context/directory/handlers/themes.ts.html +0 -241
- package/coverage/lcov-report/src/context/directory/handlers/triggers.ts.html +0 -229
- package/coverage/lcov-report/src/context/directory/index.html +0 -116
- package/coverage/lcov-report/src/context/directory/index.ts.html +0 -490
- package/coverage/lcov-report/src/context/index.html +0 -131
- package/coverage/lcov-report/src/context/index.ts.html +0 -784
- package/coverage/lcov-report/src/context/yaml/handlers/actions.ts.html +0 -388
- package/coverage/lcov-report/src/context/yaml/handlers/attackProtection.ts.html +0 -193
- package/coverage/lcov-report/src/context/yaml/handlers/branding.ts.html +0 -376
- package/coverage/lcov-report/src/context/yaml/handlers/clientGrants.ts.html +0 -223
- package/coverage/lcov-report/src/context/yaml/handlers/clients.ts.html +0 -304
- package/coverage/lcov-report/src/context/yaml/handlers/connections.ts.html +0 -394
- package/coverage/lcov-report/src/context/yaml/handlers/customDomains.ts.html +0 -151
- package/coverage/lcov-report/src/context/yaml/handlers/databases.ts.html +0 -352
- package/coverage/lcov-report/src/context/yaml/handlers/emailProvider.ts.html +0 -208
- package/coverage/lcov-report/src/context/yaml/handlers/emailTemplates.ts.html +0 -241
- package/coverage/lcov-report/src/context/yaml/handlers/guardianFactorProviders.ts.html +0 -151
- package/coverage/lcov-report/src/context/yaml/handlers/guardianFactorTemplates.ts.html +0 -151
- package/coverage/lcov-report/src/context/yaml/handlers/guardianFactors.ts.html +0 -151
- package/coverage/lcov-report/src/context/yaml/handlers/guardianPhoneFactorMessageTypes.ts.html +0 -151
- package/coverage/lcov-report/src/context/yaml/handlers/guardianPhoneFactorSelectedProvider.ts.html +0 -169
- package/coverage/lcov-report/src/context/yaml/handlers/guardianPolicies.ts.html +0 -151
- package/coverage/lcov-report/src/context/yaml/handlers/hooks.ts.html +0 -280
- package/coverage/lcov-report/src/context/yaml/handlers/index.html +0 -551
- package/coverage/lcov-report/src/context/yaml/handlers/index.ts.html +0 -298
- package/coverage/lcov-report/src/context/yaml/handlers/logStreams.ts.html +0 -151
- package/coverage/lcov-report/src/context/yaml/handlers/migrations.ts.html +0 -145
- package/coverage/lcov-report/src/context/yaml/handlers/organizations.ts.html +0 -235
- package/coverage/lcov-report/src/context/yaml/handlers/pages.ts.html +0 -265
- package/coverage/lcov-report/src/context/yaml/handlers/prompts.ts.html +0 -154
- package/coverage/lcov-report/src/context/yaml/handlers/resourceServers.ts.html +0 -157
- package/coverage/lcov-report/src/context/yaml/handlers/roles.ts.html +0 -199
- package/coverage/lcov-report/src/context/yaml/handlers/rules.ts.html +0 -253
- package/coverage/lcov-report/src/context/yaml/handlers/rulesConfigs.ts.html +0 -181
- package/coverage/lcov-report/src/context/yaml/handlers/tenant.ts.html +0 -235
- package/coverage/lcov-report/src/context/yaml/handlers/themes.ts.html +0 -154
- package/coverage/lcov-report/src/context/yaml/handlers/triggers.ts.html +0 -172
- package/coverage/lcov-report/src/context/yaml/index.html +0 -116
- package/coverage/lcov-report/src/context/yaml/index.ts.html +0 -703
- package/coverage/lcov-report/src/index.html +0 -236
- package/coverage/lcov-report/src/index.ts.html +0 -361
- package/coverage/lcov-report/src/keywordPreservation.ts.html +0 -982
- package/coverage/lcov-report/src/logger.ts.html +0 -133
- package/coverage/lcov-report/src/readonly.ts.html +0 -343
- package/coverage/lcov-report/src/sessionDurationsToMinutes.ts.html +0 -154
- package/coverage/lcov-report/src/tools/auth0/client.ts.html +0 -604
- package/coverage/lcov-report/src/tools/auth0/handlers/actions.ts.html +0 -907
- package/coverage/lcov-report/src/tools/auth0/handlers/attackProtection.ts.html +0 -397
- package/coverage/lcov-report/src/tools/auth0/handlers/branding.ts.html +0 -430
- package/coverage/lcov-report/src/tools/auth0/handlers/clientGrants.ts.html +0 -436
- package/coverage/lcov-report/src/tools/auth0/handlers/clients.ts.html +0 -361
- package/coverage/lcov-report/src/tools/auth0/handlers/connections.ts.html +0 -598
- package/coverage/lcov-report/src/tools/auth0/handlers/customDomains.ts.html +0 -382
- package/coverage/lcov-report/src/tools/auth0/handlers/databases.ts.html +0 -436
- package/coverage/lcov-report/src/tools/auth0/handlers/default.ts.html +0 -1027
- package/coverage/lcov-report/src/tools/auth0/handlers/emailProvider.ts.html +0 -283
- package/coverage/lcov-report/src/tools/auth0/handlers/emailTemplates.ts.html +0 -343
- package/coverage/lcov-report/src/tools/auth0/handlers/guardianFactorProviders.ts.html +0 -301
- package/coverage/lcov-report/src/tools/auth0/handlers/guardianFactorTemplates.ts.html +0 -265
- package/coverage/lcov-report/src/tools/auth0/handlers/guardianFactors.ts.html +0 -241
- package/coverage/lcov-report/src/tools/auth0/handlers/guardianPhoneFactorMessageTypes.ts.html +0 -337
- package/coverage/lcov-report/src/tools/auth0/handlers/guardianPhoneFactorSelectedProvider.ts.html +0 -331
- package/coverage/lcov-report/src/tools/auth0/handlers/guardianPolicies.ts.html +0 -256
- package/coverage/lcov-report/src/tools/auth0/handlers/hooks.ts.html +0 -895
- package/coverage/lcov-report/src/tools/auth0/handlers/index.html +0 -566
- package/coverage/lcov-report/src/tools/auth0/handlers/index.ts.html +0 -295
- package/coverage/lcov-report/src/tools/auth0/handlers/logStreams.ts.html +0 -379
- package/coverage/lcov-report/src/tools/auth0/handlers/migrations.ts.html +0 -319
- package/coverage/lcov-report/src/tools/auth0/handlers/organizations.ts.html +0 -961
- package/coverage/lcov-report/src/tools/auth0/handlers/pages.ts.html +0 -544
- package/coverage/lcov-report/src/tools/auth0/handlers/prompts.ts.html +0 -946
- package/coverage/lcov-report/src/tools/auth0/handlers/resourceServers.ts.html +0 -433
- package/coverage/lcov-report/src/tools/auth0/handlers/roles.ts.html +0 -748
- package/coverage/lcov-report/src/tools/auth0/handlers/rules.ts.html +0 -826
- package/coverage/lcov-report/src/tools/auth0/handlers/rulesConfigs.ts.html +0 -289
- package/coverage/lcov-report/src/tools/auth0/handlers/tenant.ts.html +0 -556
- package/coverage/lcov-report/src/tools/auth0/handlers/themes.ts.html +0 -1885
- package/coverage/lcov-report/src/tools/auth0/handlers/triggers.ts.html +0 -439
- package/coverage/lcov-report/src/tools/auth0/index.html +0 -146
- package/coverage/lcov-report/src/tools/auth0/index.ts.html +0 -385
- package/coverage/lcov-report/src/tools/auth0/schema.ts.html +0 -184
- package/coverage/lcov-report/src/tools/calculateChanges.ts.html +0 -688
- package/coverage/lcov-report/src/tools/constants.ts.html +0 -613
- package/coverage/lcov-report/src/tools/deploy.ts.html +0 -193
- package/coverage/lcov-report/src/tools/index.html +0 -191
- package/coverage/lcov-report/src/tools/index.ts.html +0 -163
- package/coverage/lcov-report/src/tools/utils.ts.html +0 -916
- package/coverage/lcov-report/src/tools/validationError.ts.html +0 -127
- package/coverage/lcov-report/src/types.ts.html +0 -1201
- package/coverage/lcov-report/src/utils.ts.html +0 -706
- /package/.nyc_output/{16c9e62d-53da-4c19-ba42-9267b40f713d.json → 278104e6-6bb4-4dfb-94bf-3ef7f73e08b9.json} +0 -0
- /package/.nyc_output/{8b142617-6824-4c2c-9f37-25748820eb7c.json → 5210e060-a3b8-4e7f-9062-47807b58d0cd.json} +0 -0
|
@@ -1,826 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
<!doctype html>
|
|
3
|
-
<html lang="en">
|
|
4
|
-
|
|
5
|
-
<head>
|
|
6
|
-
<title>Code coverage report for src/tools/auth0/handlers/rules.ts</title>
|
|
7
|
-
<meta charset="utf-8" />
|
|
8
|
-
<link rel="stylesheet" href="../../../../prettify.css" />
|
|
9
|
-
<link rel="stylesheet" href="../../../../base.css" />
|
|
10
|
-
<link rel="shortcut icon" type="image/x-icon" href="../../../../favicon.png" />
|
|
11
|
-
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
-
<style type='text/css'>
|
|
13
|
-
.coverage-summary .sorter {
|
|
14
|
-
background-image: url(../../../../sort-arrow-sprite.png);
|
|
15
|
-
}
|
|
16
|
-
</style>
|
|
17
|
-
</head>
|
|
18
|
-
|
|
19
|
-
<body>
|
|
20
|
-
<div class='wrapper'>
|
|
21
|
-
<div class='pad1'>
|
|
22
|
-
<h1><a href="../../../../index.html">All files</a> / <a href="index.html">src/tools/auth0/handlers</a> rules.ts</h1>
|
|
23
|
-
<div class='clearfix'>
|
|
24
|
-
|
|
25
|
-
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">85.54% </span>
|
|
27
|
-
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>71/83</span>
|
|
29
|
-
</div>
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">82.85% </span>
|
|
34
|
-
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>29/35</span>
|
|
36
|
-
</div>
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">85% </span>
|
|
41
|
-
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>17/20</span>
|
|
43
|
-
</div>
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">87.32% </span>
|
|
48
|
-
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>62/71</span>
|
|
50
|
-
</div>
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
</div>
|
|
54
|
-
<p class="quiet">
|
|
55
|
-
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
|
-
</p>
|
|
57
|
-
<template id="filterTemplate">
|
|
58
|
-
<div class="quiet">
|
|
59
|
-
Filter:
|
|
60
|
-
<input oninput="onInput()" type="search" id="fileSearch">
|
|
61
|
-
</div>
|
|
62
|
-
</template>
|
|
63
|
-
</div>
|
|
64
|
-
<div class='status-line high'></div>
|
|
65
|
-
<pre><table class="coverage">
|
|
66
|
-
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
|
-
<a name='L2'></a><a href='#L2'>2</a>
|
|
68
|
-
<a name='L3'></a><a href='#L3'>3</a>
|
|
69
|
-
<a name='L4'></a><a href='#L4'>4</a>
|
|
70
|
-
<a name='L5'></a><a href='#L5'>5</a>
|
|
71
|
-
<a name='L6'></a><a href='#L6'>6</a>
|
|
72
|
-
<a name='L7'></a><a href='#L7'>7</a>
|
|
73
|
-
<a name='L8'></a><a href='#L8'>8</a>
|
|
74
|
-
<a name='L9'></a><a href='#L9'>9</a>
|
|
75
|
-
<a name='L10'></a><a href='#L10'>10</a>
|
|
76
|
-
<a name='L11'></a><a href='#L11'>11</a>
|
|
77
|
-
<a name='L12'></a><a href='#L12'>12</a>
|
|
78
|
-
<a name='L13'></a><a href='#L13'>13</a>
|
|
79
|
-
<a name='L14'></a><a href='#L14'>14</a>
|
|
80
|
-
<a name='L15'></a><a href='#L15'>15</a>
|
|
81
|
-
<a name='L16'></a><a href='#L16'>16</a>
|
|
82
|
-
<a name='L17'></a><a href='#L17'>17</a>
|
|
83
|
-
<a name='L18'></a><a href='#L18'>18</a>
|
|
84
|
-
<a name='L19'></a><a href='#L19'>19</a>
|
|
85
|
-
<a name='L20'></a><a href='#L20'>20</a>
|
|
86
|
-
<a name='L21'></a><a href='#L21'>21</a>
|
|
87
|
-
<a name='L22'></a><a href='#L22'>22</a>
|
|
88
|
-
<a name='L23'></a><a href='#L23'>23</a>
|
|
89
|
-
<a name='L24'></a><a href='#L24'>24</a>
|
|
90
|
-
<a name='L25'></a><a href='#L25'>25</a>
|
|
91
|
-
<a name='L26'></a><a href='#L26'>26</a>
|
|
92
|
-
<a name='L27'></a><a href='#L27'>27</a>
|
|
93
|
-
<a name='L28'></a><a href='#L28'>28</a>
|
|
94
|
-
<a name='L29'></a><a href='#L29'>29</a>
|
|
95
|
-
<a name='L30'></a><a href='#L30'>30</a>
|
|
96
|
-
<a name='L31'></a><a href='#L31'>31</a>
|
|
97
|
-
<a name='L32'></a><a href='#L32'>32</a>
|
|
98
|
-
<a name='L33'></a><a href='#L33'>33</a>
|
|
99
|
-
<a name='L34'></a><a href='#L34'>34</a>
|
|
100
|
-
<a name='L35'></a><a href='#L35'>35</a>
|
|
101
|
-
<a name='L36'></a><a href='#L36'>36</a>
|
|
102
|
-
<a name='L37'></a><a href='#L37'>37</a>
|
|
103
|
-
<a name='L38'></a><a href='#L38'>38</a>
|
|
104
|
-
<a name='L39'></a><a href='#L39'>39</a>
|
|
105
|
-
<a name='L40'></a><a href='#L40'>40</a>
|
|
106
|
-
<a name='L41'></a><a href='#L41'>41</a>
|
|
107
|
-
<a name='L42'></a><a href='#L42'>42</a>
|
|
108
|
-
<a name='L43'></a><a href='#L43'>43</a>
|
|
109
|
-
<a name='L44'></a><a href='#L44'>44</a>
|
|
110
|
-
<a name='L45'></a><a href='#L45'>45</a>
|
|
111
|
-
<a name='L46'></a><a href='#L46'>46</a>
|
|
112
|
-
<a name='L47'></a><a href='#L47'>47</a>
|
|
113
|
-
<a name='L48'></a><a href='#L48'>48</a>
|
|
114
|
-
<a name='L49'></a><a href='#L49'>49</a>
|
|
115
|
-
<a name='L50'></a><a href='#L50'>50</a>
|
|
116
|
-
<a name='L51'></a><a href='#L51'>51</a>
|
|
117
|
-
<a name='L52'></a><a href='#L52'>52</a>
|
|
118
|
-
<a name='L53'></a><a href='#L53'>53</a>
|
|
119
|
-
<a name='L54'></a><a href='#L54'>54</a>
|
|
120
|
-
<a name='L55'></a><a href='#L55'>55</a>
|
|
121
|
-
<a name='L56'></a><a href='#L56'>56</a>
|
|
122
|
-
<a name='L57'></a><a href='#L57'>57</a>
|
|
123
|
-
<a name='L58'></a><a href='#L58'>58</a>
|
|
124
|
-
<a name='L59'></a><a href='#L59'>59</a>
|
|
125
|
-
<a name='L60'></a><a href='#L60'>60</a>
|
|
126
|
-
<a name='L61'></a><a href='#L61'>61</a>
|
|
127
|
-
<a name='L62'></a><a href='#L62'>62</a>
|
|
128
|
-
<a name='L63'></a><a href='#L63'>63</a>
|
|
129
|
-
<a name='L64'></a><a href='#L64'>64</a>
|
|
130
|
-
<a name='L65'></a><a href='#L65'>65</a>
|
|
131
|
-
<a name='L66'></a><a href='#L66'>66</a>
|
|
132
|
-
<a name='L67'></a><a href='#L67'>67</a>
|
|
133
|
-
<a name='L68'></a><a href='#L68'>68</a>
|
|
134
|
-
<a name='L69'></a><a href='#L69'>69</a>
|
|
135
|
-
<a name='L70'></a><a href='#L70'>70</a>
|
|
136
|
-
<a name='L71'></a><a href='#L71'>71</a>
|
|
137
|
-
<a name='L72'></a><a href='#L72'>72</a>
|
|
138
|
-
<a name='L73'></a><a href='#L73'>73</a>
|
|
139
|
-
<a name='L74'></a><a href='#L74'>74</a>
|
|
140
|
-
<a name='L75'></a><a href='#L75'>75</a>
|
|
141
|
-
<a name='L76'></a><a href='#L76'>76</a>
|
|
142
|
-
<a name='L77'></a><a href='#L77'>77</a>
|
|
143
|
-
<a name='L78'></a><a href='#L78'>78</a>
|
|
144
|
-
<a name='L79'></a><a href='#L79'>79</a>
|
|
145
|
-
<a name='L80'></a><a href='#L80'>80</a>
|
|
146
|
-
<a name='L81'></a><a href='#L81'>81</a>
|
|
147
|
-
<a name='L82'></a><a href='#L82'>82</a>
|
|
148
|
-
<a name='L83'></a><a href='#L83'>83</a>
|
|
149
|
-
<a name='L84'></a><a href='#L84'>84</a>
|
|
150
|
-
<a name='L85'></a><a href='#L85'>85</a>
|
|
151
|
-
<a name='L86'></a><a href='#L86'>86</a>
|
|
152
|
-
<a name='L87'></a><a href='#L87'>87</a>
|
|
153
|
-
<a name='L88'></a><a href='#L88'>88</a>
|
|
154
|
-
<a name='L89'></a><a href='#L89'>89</a>
|
|
155
|
-
<a name='L90'></a><a href='#L90'>90</a>
|
|
156
|
-
<a name='L91'></a><a href='#L91'>91</a>
|
|
157
|
-
<a name='L92'></a><a href='#L92'>92</a>
|
|
158
|
-
<a name='L93'></a><a href='#L93'>93</a>
|
|
159
|
-
<a name='L94'></a><a href='#L94'>94</a>
|
|
160
|
-
<a name='L95'></a><a href='#L95'>95</a>
|
|
161
|
-
<a name='L96'></a><a href='#L96'>96</a>
|
|
162
|
-
<a name='L97'></a><a href='#L97'>97</a>
|
|
163
|
-
<a name='L98'></a><a href='#L98'>98</a>
|
|
164
|
-
<a name='L99'></a><a href='#L99'>99</a>
|
|
165
|
-
<a name='L100'></a><a href='#L100'>100</a>
|
|
166
|
-
<a name='L101'></a><a href='#L101'>101</a>
|
|
167
|
-
<a name='L102'></a><a href='#L102'>102</a>
|
|
168
|
-
<a name='L103'></a><a href='#L103'>103</a>
|
|
169
|
-
<a name='L104'></a><a href='#L104'>104</a>
|
|
170
|
-
<a name='L105'></a><a href='#L105'>105</a>
|
|
171
|
-
<a name='L106'></a><a href='#L106'>106</a>
|
|
172
|
-
<a name='L107'></a><a href='#L107'>107</a>
|
|
173
|
-
<a name='L108'></a><a href='#L108'>108</a>
|
|
174
|
-
<a name='L109'></a><a href='#L109'>109</a>
|
|
175
|
-
<a name='L110'></a><a href='#L110'>110</a>
|
|
176
|
-
<a name='L111'></a><a href='#L111'>111</a>
|
|
177
|
-
<a name='L112'></a><a href='#L112'>112</a>
|
|
178
|
-
<a name='L113'></a><a href='#L113'>113</a>
|
|
179
|
-
<a name='L114'></a><a href='#L114'>114</a>
|
|
180
|
-
<a name='L115'></a><a href='#L115'>115</a>
|
|
181
|
-
<a name='L116'></a><a href='#L116'>116</a>
|
|
182
|
-
<a name='L117'></a><a href='#L117'>117</a>
|
|
183
|
-
<a name='L118'></a><a href='#L118'>118</a>
|
|
184
|
-
<a name='L119'></a><a href='#L119'>119</a>
|
|
185
|
-
<a name='L120'></a><a href='#L120'>120</a>
|
|
186
|
-
<a name='L121'></a><a href='#L121'>121</a>
|
|
187
|
-
<a name='L122'></a><a href='#L122'>122</a>
|
|
188
|
-
<a name='L123'></a><a href='#L123'>123</a>
|
|
189
|
-
<a name='L124'></a><a href='#L124'>124</a>
|
|
190
|
-
<a name='L125'></a><a href='#L125'>125</a>
|
|
191
|
-
<a name='L126'></a><a href='#L126'>126</a>
|
|
192
|
-
<a name='L127'></a><a href='#L127'>127</a>
|
|
193
|
-
<a name='L128'></a><a href='#L128'>128</a>
|
|
194
|
-
<a name='L129'></a><a href='#L129'>129</a>
|
|
195
|
-
<a name='L130'></a><a href='#L130'>130</a>
|
|
196
|
-
<a name='L131'></a><a href='#L131'>131</a>
|
|
197
|
-
<a name='L132'></a><a href='#L132'>132</a>
|
|
198
|
-
<a name='L133'></a><a href='#L133'>133</a>
|
|
199
|
-
<a name='L134'></a><a href='#L134'>134</a>
|
|
200
|
-
<a name='L135'></a><a href='#L135'>135</a>
|
|
201
|
-
<a name='L136'></a><a href='#L136'>136</a>
|
|
202
|
-
<a name='L137'></a><a href='#L137'>137</a>
|
|
203
|
-
<a name='L138'></a><a href='#L138'>138</a>
|
|
204
|
-
<a name='L139'></a><a href='#L139'>139</a>
|
|
205
|
-
<a name='L140'></a><a href='#L140'>140</a>
|
|
206
|
-
<a name='L141'></a><a href='#L141'>141</a>
|
|
207
|
-
<a name='L142'></a><a href='#L142'>142</a>
|
|
208
|
-
<a name='L143'></a><a href='#L143'>143</a>
|
|
209
|
-
<a name='L144'></a><a href='#L144'>144</a>
|
|
210
|
-
<a name='L145'></a><a href='#L145'>145</a>
|
|
211
|
-
<a name='L146'></a><a href='#L146'>146</a>
|
|
212
|
-
<a name='L147'></a><a href='#L147'>147</a>
|
|
213
|
-
<a name='L148'></a><a href='#L148'>148</a>
|
|
214
|
-
<a name='L149'></a><a href='#L149'>149</a>
|
|
215
|
-
<a name='L150'></a><a href='#L150'>150</a>
|
|
216
|
-
<a name='L151'></a><a href='#L151'>151</a>
|
|
217
|
-
<a name='L152'></a><a href='#L152'>152</a>
|
|
218
|
-
<a name='L153'></a><a href='#L153'>153</a>
|
|
219
|
-
<a name='L154'></a><a href='#L154'>154</a>
|
|
220
|
-
<a name='L155'></a><a href='#L155'>155</a>
|
|
221
|
-
<a name='L156'></a><a href='#L156'>156</a>
|
|
222
|
-
<a name='L157'></a><a href='#L157'>157</a>
|
|
223
|
-
<a name='L158'></a><a href='#L158'>158</a>
|
|
224
|
-
<a name='L159'></a><a href='#L159'>159</a>
|
|
225
|
-
<a name='L160'></a><a href='#L160'>160</a>
|
|
226
|
-
<a name='L161'></a><a href='#L161'>161</a>
|
|
227
|
-
<a name='L162'></a><a href='#L162'>162</a>
|
|
228
|
-
<a name='L163'></a><a href='#L163'>163</a>
|
|
229
|
-
<a name='L164'></a><a href='#L164'>164</a>
|
|
230
|
-
<a name='L165'></a><a href='#L165'>165</a>
|
|
231
|
-
<a name='L166'></a><a href='#L166'>166</a>
|
|
232
|
-
<a name='L167'></a><a href='#L167'>167</a>
|
|
233
|
-
<a name='L168'></a><a href='#L168'>168</a>
|
|
234
|
-
<a name='L169'></a><a href='#L169'>169</a>
|
|
235
|
-
<a name='L170'></a><a href='#L170'>170</a>
|
|
236
|
-
<a name='L171'></a><a href='#L171'>171</a>
|
|
237
|
-
<a name='L172'></a><a href='#L172'>172</a>
|
|
238
|
-
<a name='L173'></a><a href='#L173'>173</a>
|
|
239
|
-
<a name='L174'></a><a href='#L174'>174</a>
|
|
240
|
-
<a name='L175'></a><a href='#L175'>175</a>
|
|
241
|
-
<a name='L176'></a><a href='#L176'>176</a>
|
|
242
|
-
<a name='L177'></a><a href='#L177'>177</a>
|
|
243
|
-
<a name='L178'></a><a href='#L178'>178</a>
|
|
244
|
-
<a name='L179'></a><a href='#L179'>179</a>
|
|
245
|
-
<a name='L180'></a><a href='#L180'>180</a>
|
|
246
|
-
<a name='L181'></a><a href='#L181'>181</a>
|
|
247
|
-
<a name='L182'></a><a href='#L182'>182</a>
|
|
248
|
-
<a name='L183'></a><a href='#L183'>183</a>
|
|
249
|
-
<a name='L184'></a><a href='#L184'>184</a>
|
|
250
|
-
<a name='L185'></a><a href='#L185'>185</a>
|
|
251
|
-
<a name='L186'></a><a href='#L186'>186</a>
|
|
252
|
-
<a name='L187'></a><a href='#L187'>187</a>
|
|
253
|
-
<a name='L188'></a><a href='#L188'>188</a>
|
|
254
|
-
<a name='L189'></a><a href='#L189'>189</a>
|
|
255
|
-
<a name='L190'></a><a href='#L190'>190</a>
|
|
256
|
-
<a name='L191'></a><a href='#L191'>191</a>
|
|
257
|
-
<a name='L192'></a><a href='#L192'>192</a>
|
|
258
|
-
<a name='L193'></a><a href='#L193'>193</a>
|
|
259
|
-
<a name='L194'></a><a href='#L194'>194</a>
|
|
260
|
-
<a name='L195'></a><a href='#L195'>195</a>
|
|
261
|
-
<a name='L196'></a><a href='#L196'>196</a>
|
|
262
|
-
<a name='L197'></a><a href='#L197'>197</a>
|
|
263
|
-
<a name='L198'></a><a href='#L198'>198</a>
|
|
264
|
-
<a name='L199'></a><a href='#L199'>199</a>
|
|
265
|
-
<a name='L200'></a><a href='#L200'>200</a>
|
|
266
|
-
<a name='L201'></a><a href='#L201'>201</a>
|
|
267
|
-
<a name='L202'></a><a href='#L202'>202</a>
|
|
268
|
-
<a name='L203'></a><a href='#L203'>203</a>
|
|
269
|
-
<a name='L204'></a><a href='#L204'>204</a>
|
|
270
|
-
<a name='L205'></a><a href='#L205'>205</a>
|
|
271
|
-
<a name='L206'></a><a href='#L206'>206</a>
|
|
272
|
-
<a name='L207'></a><a href='#L207'>207</a>
|
|
273
|
-
<a name='L208'></a><a href='#L208'>208</a>
|
|
274
|
-
<a name='L209'></a><a href='#L209'>209</a>
|
|
275
|
-
<a name='L210'></a><a href='#L210'>210</a>
|
|
276
|
-
<a name='L211'></a><a href='#L211'>211</a>
|
|
277
|
-
<a name='L212'></a><a href='#L212'>212</a>
|
|
278
|
-
<a name='L213'></a><a href='#L213'>213</a>
|
|
279
|
-
<a name='L214'></a><a href='#L214'>214</a>
|
|
280
|
-
<a name='L215'></a><a href='#L215'>215</a>
|
|
281
|
-
<a name='L216'></a><a href='#L216'>216</a>
|
|
282
|
-
<a name='L217'></a><a href='#L217'>217</a>
|
|
283
|
-
<a name='L218'></a><a href='#L218'>218</a>
|
|
284
|
-
<a name='L219'></a><a href='#L219'>219</a>
|
|
285
|
-
<a name='L220'></a><a href='#L220'>220</a>
|
|
286
|
-
<a name='L221'></a><a href='#L221'>221</a>
|
|
287
|
-
<a name='L222'></a><a href='#L222'>222</a>
|
|
288
|
-
<a name='L223'></a><a href='#L223'>223</a>
|
|
289
|
-
<a name='L224'></a><a href='#L224'>224</a>
|
|
290
|
-
<a name='L225'></a><a href='#L225'>225</a>
|
|
291
|
-
<a name='L226'></a><a href='#L226'>226</a>
|
|
292
|
-
<a name='L227'></a><a href='#L227'>227</a>
|
|
293
|
-
<a name='L228'></a><a href='#L228'>228</a>
|
|
294
|
-
<a name='L229'></a><a href='#L229'>229</a>
|
|
295
|
-
<a name='L230'></a><a href='#L230'>230</a>
|
|
296
|
-
<a name='L231'></a><a href='#L231'>231</a>
|
|
297
|
-
<a name='L232'></a><a href='#L232'>232</a>
|
|
298
|
-
<a name='L233'></a><a href='#L233'>233</a>
|
|
299
|
-
<a name='L234'></a><a href='#L234'>234</a>
|
|
300
|
-
<a name='L235'></a><a href='#L235'>235</a>
|
|
301
|
-
<a name='L236'></a><a href='#L236'>236</a>
|
|
302
|
-
<a name='L237'></a><a href='#L237'>237</a>
|
|
303
|
-
<a name='L238'></a><a href='#L238'>238</a>
|
|
304
|
-
<a name='L239'></a><a href='#L239'>239</a>
|
|
305
|
-
<a name='L240'></a><a href='#L240'>240</a>
|
|
306
|
-
<a name='L241'></a><a href='#L241'>241</a>
|
|
307
|
-
<a name='L242'></a><a href='#L242'>242</a>
|
|
308
|
-
<a name='L243'></a><a href='#L243'>243</a>
|
|
309
|
-
<a name='L244'></a><a href='#L244'>244</a>
|
|
310
|
-
<a name='L245'></a><a href='#L245'>245</a>
|
|
311
|
-
<a name='L246'></a><a href='#L246'>246</a>
|
|
312
|
-
<a name='L247'></a><a href='#L247'>247</a>
|
|
313
|
-
<a name='L248'></a><a href='#L248'>248</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
314
|
-
<span class="cline-any cline-yes">1x</span>
|
|
315
|
-
<span class="cline-any cline-yes">1x</span>
|
|
316
|
-
<span class="cline-any cline-yes">1x</span>
|
|
317
|
-
<span class="cline-any cline-yes">1x</span>
|
|
318
|
-
<span class="cline-any cline-neutral"> </span>
|
|
319
|
-
<span class="cline-any cline-neutral"> </span>
|
|
320
|
-
<span class="cline-any cline-yes">1x</span>
|
|
321
|
-
<span class="cline-any cline-neutral"> </span>
|
|
322
|
-
<span class="cline-any cline-neutral"> </span>
|
|
323
|
-
<span class="cline-any cline-neutral"> </span>
|
|
324
|
-
<span class="cline-any cline-neutral"> </span>
|
|
325
|
-
<span class="cline-any cline-yes">1x</span>
|
|
326
|
-
<span class="cline-any cline-neutral"> </span>
|
|
327
|
-
<span class="cline-any cline-neutral"> </span>
|
|
328
|
-
<span class="cline-any cline-neutral"> </span>
|
|
329
|
-
<span class="cline-any cline-neutral"> </span>
|
|
330
|
-
<span class="cline-any cline-neutral"> </span>
|
|
331
|
-
<span class="cline-any cline-neutral"> </span>
|
|
332
|
-
<span class="cline-any cline-neutral"> </span>
|
|
333
|
-
<span class="cline-any cline-neutral"> </span>
|
|
334
|
-
<span class="cline-any cline-neutral"> </span>
|
|
335
|
-
<span class="cline-any cline-neutral"> </span>
|
|
336
|
-
<span class="cline-any cline-neutral"> </span>
|
|
337
|
-
<span class="cline-any cline-neutral"> </span>
|
|
338
|
-
<span class="cline-any cline-neutral"> </span>
|
|
339
|
-
<span class="cline-any cline-neutral"> </span>
|
|
340
|
-
<span class="cline-any cline-neutral"> </span>
|
|
341
|
-
<span class="cline-any cline-neutral"> </span>
|
|
342
|
-
<span class="cline-any cline-neutral"> </span>
|
|
343
|
-
<span class="cline-any cline-neutral"> </span>
|
|
344
|
-
<span class="cline-any cline-neutral"> </span>
|
|
345
|
-
<span class="cline-any cline-neutral"> </span>
|
|
346
|
-
<span class="cline-any cline-neutral"> </span>
|
|
347
|
-
<span class="cline-any cline-neutral"> </span>
|
|
348
|
-
<span class="cline-any cline-neutral"> </span>
|
|
349
|
-
<span class="cline-any cline-neutral"> </span>
|
|
350
|
-
<span class="cline-any cline-neutral"> </span>
|
|
351
|
-
<span class="cline-any cline-neutral"> </span>
|
|
352
|
-
<span class="cline-any cline-neutral"> </span>
|
|
353
|
-
<span class="cline-any cline-neutral"> </span>
|
|
354
|
-
<span class="cline-any cline-neutral"> </span>
|
|
355
|
-
<span class="cline-any cline-neutral"> </span>
|
|
356
|
-
<span class="cline-any cline-neutral"> </span>
|
|
357
|
-
<span class="cline-any cline-neutral"> </span>
|
|
358
|
-
<span class="cline-any cline-neutral"> </span>
|
|
359
|
-
<span class="cline-any cline-neutral"> </span>
|
|
360
|
-
<span class="cline-any cline-neutral"> </span>
|
|
361
|
-
<span class="cline-any cline-neutral"> </span>
|
|
362
|
-
<span class="cline-any cline-neutral"> </span>
|
|
363
|
-
<span class="cline-any cline-neutral"> </span>
|
|
364
|
-
<span class="cline-any cline-yes">1x</span>
|
|
365
|
-
<span class="cline-any cline-neutral"> </span>
|
|
366
|
-
<span class="cline-any cline-neutral"> </span>
|
|
367
|
-
<span class="cline-any cline-neutral"> </span>
|
|
368
|
-
<span class="cline-any cline-yes">145x</span>
|
|
369
|
-
<span class="cline-any cline-neutral"> </span>
|
|
370
|
-
<span class="cline-any cline-neutral"> </span>
|
|
371
|
-
<span class="cline-any cline-neutral"> </span>
|
|
372
|
-
<span class="cline-any cline-neutral"> </span>
|
|
373
|
-
<span class="cline-any cline-neutral"> </span>
|
|
374
|
-
<span class="cline-any cline-neutral"> </span>
|
|
375
|
-
<span class="cline-any cline-neutral"> </span>
|
|
376
|
-
<span class="cline-any cline-yes">28x</span>
|
|
377
|
-
<span class="cline-any cline-yes">28x</span>
|
|
378
|
-
<span class="cline-any cline-yes">22x</span>
|
|
379
|
-
<span class="cline-any cline-yes">20x</span>
|
|
380
|
-
<span class="cline-any cline-neutral"> </span>
|
|
381
|
-
<span class="cline-any cline-yes">2x</span>
|
|
382
|
-
<span class="cline-any cline-yes">2x</span>
|
|
383
|
-
<span class="cline-any cline-neutral"> </span>
|
|
384
|
-
<span class="cline-any cline-no"> </span>
|
|
385
|
-
<span class="cline-any cline-neutral"> </span>
|
|
386
|
-
<span class="cline-any cline-neutral"> </span>
|
|
387
|
-
<span class="cline-any cline-neutral"> </span>
|
|
388
|
-
<span class="cline-any cline-neutral"> </span>
|
|
389
|
-
<span class="cline-any cline-yes">6x</span>
|
|
390
|
-
<span class="cline-any cline-neutral"> </span>
|
|
391
|
-
<span class="cline-any cline-neutral"> </span>
|
|
392
|
-
<span class="cline-any cline-neutral"> </span>
|
|
393
|
-
<span class="cline-any cline-neutral"> </span>
|
|
394
|
-
<span class="cline-any cline-neutral"> </span>
|
|
395
|
-
<span class="cline-any cline-neutral"> </span>
|
|
396
|
-
<span class="cline-any cline-yes">16x</span>
|
|
397
|
-
<span class="cline-any cline-neutral"> </span>
|
|
398
|
-
<span class="cline-any cline-yes">16x</span>
|
|
399
|
-
<span class="cline-any cline-neutral"> </span>
|
|
400
|
-
<span class="cline-any cline-yes">16x</span>
|
|
401
|
-
<span class="cline-any cline-yes">16x</span>
|
|
402
|
-
<span class="cline-any cline-yes">1x</span>
|
|
403
|
-
<span class="cline-any cline-neutral"> </span>
|
|
404
|
-
<span class="cline-any cline-neutral"> </span>
|
|
405
|
-
<span class="cline-any cline-neutral"> </span>
|
|
406
|
-
<span class="cline-any cline-neutral"> </span>
|
|
407
|
-
<span class="cline-any cline-neutral"> </span>
|
|
408
|
-
<span class="cline-any cline-neutral"> </span>
|
|
409
|
-
<span class="cline-any cline-neutral"> </span>
|
|
410
|
-
<span class="cline-any cline-neutral"> </span>
|
|
411
|
-
<span class="cline-any cline-neutral"> </span>
|
|
412
|
-
<span class="cline-any cline-yes">15x</span>
|
|
413
|
-
<span class="cline-any cline-yes">9x</span>
|
|
414
|
-
<span class="cline-any cline-yes">10x</span>
|
|
415
|
-
<span class="cline-any cline-neutral"> </span>
|
|
416
|
-
<span class="cline-any cline-neutral"> </span>
|
|
417
|
-
<span class="cline-any cline-neutral"> </span>
|
|
418
|
-
<span class="cline-any cline-yes">15x</span>
|
|
419
|
-
<span class="cline-any cline-neutral"> </span>
|
|
420
|
-
<span class="cline-any cline-neutral"> </span>
|
|
421
|
-
<span class="cline-any cline-neutral"> </span>
|
|
422
|
-
<span class="cline-any cline-neutral"> </span>
|
|
423
|
-
<span class="cline-any cline-neutral"> </span>
|
|
424
|
-
<span class="cline-any cline-neutral"> </span>
|
|
425
|
-
<span class="cline-any cline-neutral"> </span>
|
|
426
|
-
<span class="cline-any cline-yes">15x</span>
|
|
427
|
-
<span class="cline-any cline-neutral"> </span>
|
|
428
|
-
<span class="cline-any cline-yes">15x</span>
|
|
429
|
-
<span class="cline-any cline-yes">15x</span>
|
|
430
|
-
<span class="cline-any cline-yes">15x</span>
|
|
431
|
-
<span class="cline-any cline-neutral"> </span>
|
|
432
|
-
<span class="cline-any cline-neutral"> </span>
|
|
433
|
-
<span class="cline-any cline-yes">15x</span>
|
|
434
|
-
<span class="cline-any cline-yes">15x</span>
|
|
435
|
-
<span class="cline-any cline-yes">15x</span>
|
|
436
|
-
<span class="cline-any cline-yes">15x</span>
|
|
437
|
-
<span class="cline-any cline-yes">2x</span>
|
|
438
|
-
<span class="cline-any cline-yes">2x</span>
|
|
439
|
-
<span class="cline-any cline-neutral"> </span>
|
|
440
|
-
<span class="cline-any cline-neutral"> </span>
|
|
441
|
-
<span class="cline-any cline-neutral"> </span>
|
|
442
|
-
<span class="cline-any cline-neutral"> </span>
|
|
443
|
-
<span class="cline-any cline-neutral"> </span>
|
|
444
|
-
<span class="cline-any cline-neutral"> </span>
|
|
445
|
-
<span class="cline-any cline-neutral"> </span>
|
|
446
|
-
<span class="cline-any cline-yes">13x</span>
|
|
447
|
-
<span class="cline-any cline-neutral"> </span>
|
|
448
|
-
<span class="cline-any cline-neutral"> </span>
|
|
449
|
-
<span class="cline-any cline-yes">15x</span>
|
|
450
|
-
<span class="cline-any cline-neutral"> </span>
|
|
451
|
-
<span class="cline-any cline-neutral"> </span>
|
|
452
|
-
<span class="cline-any cline-neutral"> </span>
|
|
453
|
-
<span class="cline-any cline-neutral"> </span>
|
|
454
|
-
<span class="cline-any cline-neutral"> </span>
|
|
455
|
-
<span class="cline-any cline-neutral"> </span>
|
|
456
|
-
<span class="cline-any cline-neutral"> </span>
|
|
457
|
-
<span class="cline-any cline-neutral"> </span>
|
|
458
|
-
<span class="cline-any cline-neutral"> </span>
|
|
459
|
-
<span class="cline-any cline-yes">74x</span>
|
|
460
|
-
<span class="cline-any cline-neutral"> </span>
|
|
461
|
-
<span class="cline-any cline-neutral"> </span>
|
|
462
|
-
<span class="cline-any cline-yes">74x</span>
|
|
463
|
-
<span class="cline-any cline-neutral"> </span>
|
|
464
|
-
<span class="cline-any cline-yes">7x</span>
|
|
465
|
-
<span class="cline-any cline-neutral"> </span>
|
|
466
|
-
<span class="cline-any cline-neutral"> </span>
|
|
467
|
-
<span class="cline-any cline-yes">7x</span>
|
|
468
|
-
<span class="cline-any cline-neutral"> </span>
|
|
469
|
-
<span class="cline-any cline-neutral"> </span>
|
|
470
|
-
<span class="cline-any cline-yes">7x</span>
|
|
471
|
-
<span class="cline-any cline-neutral"> </span>
|
|
472
|
-
<span class="cline-any cline-neutral"> </span>
|
|
473
|
-
<span class="cline-any cline-no"> </span>
|
|
474
|
-
<span class="cline-any cline-neutral"> </span>
|
|
475
|
-
<span class="cline-any cline-neutral"> </span>
|
|
476
|
-
<span class="cline-any cline-neutral"> </span>
|
|
477
|
-
<span class="cline-any cline-yes">7x</span>
|
|
478
|
-
<span class="cline-any cline-yes">7x</span>
|
|
479
|
-
<span class="cline-any cline-yes">2x</span>
|
|
480
|
-
<span class="cline-any cline-yes">1x</span>
|
|
481
|
-
<span class="cline-any cline-neutral"> </span>
|
|
482
|
-
<span class="cline-any cline-neutral"> </span>
|
|
483
|
-
<span class="cline-any cline-neutral"> </span>
|
|
484
|
-
<span class="cline-any cline-neutral"> </span>
|
|
485
|
-
<span class="cline-any cline-neutral"> </span>
|
|
486
|
-
<span class="cline-any cline-yes">6x</span>
|
|
487
|
-
<span class="cline-any cline-yes">6x</span>
|
|
488
|
-
<span class="cline-any cline-neutral"> </span>
|
|
489
|
-
<span class="cline-any cline-yes">6x</span>
|
|
490
|
-
<span class="cline-any cline-neutral"> </span>
|
|
491
|
-
<span class="cline-any cline-yes">6x</span>
|
|
492
|
-
<span class="cline-any cline-neutral"> </span>
|
|
493
|
-
<span class="cline-any cline-neutral"> </span>
|
|
494
|
-
<span class="cline-any cline-yes">1x</span>
|
|
495
|
-
<span class="cline-any cline-neutral"> </span>
|
|
496
|
-
<span class="cline-any cline-neutral"> </span>
|
|
497
|
-
<span class="cline-any cline-neutral"> </span>
|
|
498
|
-
<span class="cline-any cline-neutral"> </span>
|
|
499
|
-
<span class="cline-any cline-yes">1x</span>
|
|
500
|
-
<span class="cline-any cline-neutral"> </span>
|
|
501
|
-
<span class="cline-any cline-yes">6x</span>
|
|
502
|
-
<span class="cline-any cline-yes">1x</span>
|
|
503
|
-
<span class="cline-any cline-neutral"> </span>
|
|
504
|
-
<span class="cline-any cline-neutral"> </span>
|
|
505
|
-
<span class="cline-any cline-neutral"> </span>
|
|
506
|
-
<span class="cline-any cline-neutral"> </span>
|
|
507
|
-
<span class="cline-any cline-yes">5x</span>
|
|
508
|
-
<span class="cline-any cline-neutral"> </span>
|
|
509
|
-
<span class="cline-any cline-neutral"> </span>
|
|
510
|
-
<span class="cline-any cline-neutral"> </span>
|
|
511
|
-
<span class="cline-any cline-yes">7x</span>
|
|
512
|
-
<span class="cline-any cline-neutral"> </span>
|
|
513
|
-
<span class="cline-any cline-neutral"> </span>
|
|
514
|
-
<span class="cline-any cline-yes">7x</span>
|
|
515
|
-
<span class="cline-any cline-neutral"> </span>
|
|
516
|
-
<span class="cline-any cline-yes">7x</span>
|
|
517
|
-
<span class="cline-any cline-neutral"> </span>
|
|
518
|
-
<span class="cline-any cline-neutral"> </span>
|
|
519
|
-
<span class="cline-any cline-neutral"> </span>
|
|
520
|
-
<span class="cline-any cline-yes">7x</span>
|
|
521
|
-
<span class="cline-any cline-neutral"> </span>
|
|
522
|
-
<span class="cline-any cline-yes">7x</span>
|
|
523
|
-
<span class="cline-any cline-neutral"> </span>
|
|
524
|
-
<span class="cline-any cline-neutral"> </span>
|
|
525
|
-
<span class="cline-any cline-yes">7x</span>
|
|
526
|
-
<span class="cline-any cline-neutral"> </span>
|
|
527
|
-
<span class="cline-any cline-neutral"> </span>
|
|
528
|
-
<span class="cline-any cline-neutral"> </span>
|
|
529
|
-
<span class="cline-any cline-no"> </span>
|
|
530
|
-
<span class="cline-any cline-neutral"> </span>
|
|
531
|
-
<span class="cline-any cline-neutral"> </span>
|
|
532
|
-
<span class="cline-any cline-no"> </span>
|
|
533
|
-
<span class="cline-any cline-neutral"> </span>
|
|
534
|
-
<span class="cline-any cline-neutral"> </span>
|
|
535
|
-
<span class="cline-any cline-neutral"> </span>
|
|
536
|
-
<span class="cline-any cline-neutral"> </span>
|
|
537
|
-
<span class="cline-any cline-neutral"> </span>
|
|
538
|
-
<span class="cline-any cline-no"> </span>
|
|
539
|
-
<span class="cline-any cline-neutral"> </span>
|
|
540
|
-
<span class="cline-any cline-neutral"> </span>
|
|
541
|
-
<span class="cline-any cline-neutral"> </span>
|
|
542
|
-
<span class="cline-any cline-neutral"> </span>
|
|
543
|
-
<span class="cline-any cline-yes">7x</span>
|
|
544
|
-
<span class="cline-any cline-neutral"> </span>
|
|
545
|
-
<span class="cline-any cline-neutral"> </span>
|
|
546
|
-
<span class="cline-any cline-neutral"> </span>
|
|
547
|
-
<span class="cline-any cline-neutral"> </span>
|
|
548
|
-
<span class="cline-any cline-neutral"> </span>
|
|
549
|
-
<span class="cline-any cline-neutral"> </span>
|
|
550
|
-
<span class="cline-any cline-no"> </span>
|
|
551
|
-
<span class="cline-any cline-no"> </span>
|
|
552
|
-
<span class="cline-any cline-neutral"> </span>
|
|
553
|
-
<span class="cline-any cline-neutral"> </span>
|
|
554
|
-
<span class="cline-any cline-no"> </span>
|
|
555
|
-
<span class="cline-any cline-neutral"> </span>
|
|
556
|
-
<span class="cline-any cline-no"> </span>
|
|
557
|
-
<span class="cline-any cline-neutral"> </span>
|
|
558
|
-
<span class="cline-any cline-neutral"> </span>
|
|
559
|
-
<span class="cline-any cline-neutral"> </span>
|
|
560
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import ValidationError from '../../validationError';
|
|
561
|
-
import { convertJsonToString, stripFields, duplicateItems, isDeprecatedError } from '../../utils';
|
|
562
|
-
import DefaultHandler from './default';
|
|
563
|
-
import log from '../../../logger';
|
|
564
|
-
import { calculateChanges } from '../../calculateChanges';
|
|
565
|
-
import { Asset, Assets, CalculatedChanges } from '../../../types';
|
|
566
|
-
|
|
567
|
-
export const excludeSchema = {
|
|
568
|
-
type: 'array',
|
|
569
|
-
items: { type: 'string' },
|
|
570
|
-
};
|
|
571
|
-
|
|
572
|
-
export const schema = {
|
|
573
|
-
type: 'array',
|
|
574
|
-
items: {
|
|
575
|
-
type: 'object',
|
|
576
|
-
default: [],
|
|
577
|
-
properties: {
|
|
578
|
-
script: {
|
|
579
|
-
type: 'string',
|
|
580
|
-
description: "A script that contains the rule's code",
|
|
581
|
-
default: '',
|
|
582
|
-
},
|
|
583
|
-
name: {
|
|
584
|
-
type: 'string',
|
|
585
|
-
description:
|
|
586
|
-
"The name of the rule. Can only contain alphanumeric characters, spaces and '-'. Can neither start nor end with '-' or spaces",
|
|
587
|
-
pattern: '^[^-\\s][a-zA-Z0-9-\\s]+[^-\\s]$',
|
|
588
|
-
},
|
|
589
|
-
order: {
|
|
590
|
-
type: ['number', 'null'],
|
|
591
|
-
description:
|
|
592
|
-
"The rule's order in relation to other rules. A rule with a lower order than another rule executes first.",
|
|
593
|
-
default: null,
|
|
594
|
-
},
|
|
595
|
-
enabled: {
|
|
596
|
-
type: 'boolean',
|
|
597
|
-
description: 'true if the rule is enabled, false otherwise',
|
|
598
|
-
default: true,
|
|
599
|
-
},
|
|
600
|
-
stage: {
|
|
601
|
-
type: 'string',
|
|
602
|
-
description: "The rule's execution stage",
|
|
603
|
-
default: 'login_success',
|
|
604
|
-
enum: ['login_success', 'login_failure', 'pre_authorize'],
|
|
605
|
-
},
|
|
606
|
-
},
|
|
607
|
-
required: ['name'],
|
|
608
|
-
},
|
|
609
|
-
};
|
|
610
|
-
|
|
611
|
-
export default class RulesHandler extends DefaultHandler {
|
|
612
|
-
existing: Asset[];
|
|
613
|
-
|
|
614
|
-
constructor(options: DefaultHandler) {
|
|
615
|
-
super({
|
|
616
|
-
...options,
|
|
617
|
-
type: 'rules',
|
|
618
|
-
stripUpdateFields: ['stage'], // Fields not allowed in updates
|
|
619
|
-
});
|
|
620
|
-
}
|
|
621
|
-
|
|
622
|
-
async getType(): Promise<Asset[] | null> {
|
|
623
|
-
try {
|
|
624
|
-
if (this.existing) return this.existing;
|
|
625
|
-
this.existing = await this.client.rules.getAll({ paginate: true, include_totals: true });
|
|
626
|
-
return this.existing;
|
|
627
|
-
} catch (err) {
|
|
628
|
-
<span class="missing-if-branch" title="else path not taken" >E</span>if (isDeprecatedError(err)) {
|
|
629
|
-
return null;
|
|
630
|
-
}
|
|
631
|
-
<span class="cstat-no" title="statement not covered" > throw err;</span>
|
|
632
|
-
}
|
|
633
|
-
}
|
|
634
|
-
|
|
635
|
-
objString(rule): string {
|
|
636
|
-
return super.objString({ name: rule.name, order: rule.order });
|
|
637
|
-
}
|
|
638
|
-
|
|
639
|
-
async calcChanges(
|
|
640
|
-
assets,
|
|
641
|
-
includeExcluded = false
|
|
642
|
-
): Promise<CalculatedChanges & { reOrder: Asset[] }> {
|
|
643
|
-
let { rules } = assets;
|
|
644
|
-
|
|
645
|
-
const excludedRules = (assets.exclude && assets.exclude.rules) || [];
|
|
646
|
-
|
|
647
|
-
let existing = await this.getType();
|
|
648
|
-
if (existing === null) {
|
|
649
|
-
return {
|
|
650
|
-
del: [],
|
|
651
|
-
update: [],
|
|
652
|
-
conflicts: [],
|
|
653
|
-
create: [],
|
|
654
|
-
reOrder: [],
|
|
655
|
-
};
|
|
656
|
-
}
|
|
657
|
-
|
|
658
|
-
// Filter excluded rules
|
|
659
|
-
if (!includeExcluded) {
|
|
660
|
-
rules = rules.filter((r) => !excludedRules.includes(r.name));
|
|
661
|
-
existing = existing.filter((r) => !excludedRules.includes(r.name));
|
|
662
|
-
}
|
|
663
|
-
|
|
664
|
-
// Figure out what needs to be updated vs created
|
|
665
|
-
const { del, update, create, conflicts } = calculateChanges({
|
|
666
|
-
handler: this,
|
|
667
|
-
assets: rules,
|
|
668
|
-
existing,
|
|
669
|
-
identifiers: this.identifiers,
|
|
670
|
-
allowDelete: !!this.config('AUTH0_ALLOW_DELETE'),
|
|
671
|
-
});
|
|
672
|
-
// Figure out the rules that need to be re-ordered
|
|
673
|
-
const futureRules = [...create, ...update];
|
|
674
|
-
|
|
675
|
-
const futureMaxOrder = Math.max(...futureRules.map((r) => r.order));
|
|
676
|
-
const existingMaxOrder = Math.max(...existing.map((r) => r.order));
|
|
677
|
-
let nextOrderNo = Math.max(futureMaxOrder, existingMaxOrder);
|
|
678
|
-
|
|
679
|
-
//@ts-ignore because we know reOrder is Asset[]
|
|
680
|
-
const reOrder: Asset[] = futureRules.reduce((accum: Asset[], r: Asset) => {
|
|
681
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (existing === null) <span class="cstat-no" title="statement not covered" >return accum;</span>
|
|
682
|
-
const conflict = existing.find((f) => r.order === f.order && r.name !== f.name);
|
|
683
|
-
if (conflict !== undefined) {
|
|
684
|
-
nextOrderNo += 1;
|
|
685
|
-
return [
|
|
686
|
-
...accum,
|
|
687
|
-
{
|
|
688
|
-
...conflict,
|
|
689
|
-
order: nextOrderNo,
|
|
690
|
-
},
|
|
691
|
-
];
|
|
692
|
-
}
|
|
693
|
-
return accum;
|
|
694
|
-
}, []);
|
|
695
|
-
|
|
696
|
-
return {
|
|
697
|
-
del,
|
|
698
|
-
update,
|
|
699
|
-
create,
|
|
700
|
-
reOrder,
|
|
701
|
-
conflicts,
|
|
702
|
-
};
|
|
703
|
-
}
|
|
704
|
-
|
|
705
|
-
async validate(assets: Assets): Promise<void> {
|
|
706
|
-
const { rules } = assets;
|
|
707
|
-
|
|
708
|
-
// Do nothing if not set
|
|
709
|
-
if (!rules) return;
|
|
710
|
-
|
|
711
|
-
const excludedRules = (assets.exclude && assets.exclude.rules) || [];
|
|
712
|
-
|
|
713
|
-
// Figure out what needs to be updated vs created
|
|
714
|
-
const { update, create, del } = await this.calcChanges(assets, true);
|
|
715
|
-
// Include del rules which are actually not going to be deleted but are excluded
|
|
716
|
-
// they can still muck up the ordering so we must take it into consideration.
|
|
717
|
-
const futureRules = [
|
|
718
|
-
...create,
|
|
719
|
-
...update,
|
|
720
|
-
...del.filter(<span class="fstat-no" title="function not covered" >(r</span>) => <span class="cstat-no" title="statement not covered" >excludedRules.includes(r.name))</span>,
|
|
721
|
-
];
|
|
722
|
-
|
|
723
|
-
// Detect rules with the same order
|
|
724
|
-
const rulesSameOrder = duplicateItems(futureRules, 'order');
|
|
725
|
-
if (rulesSameOrder.length > 0) {
|
|
726
|
-
const formatted = rulesSameOrder.map((dups) => dups.map((d) => `${d.name}`));
|
|
727
|
-
throw new ValidationError(`There are multiple rules for the following stage-order combinations
|
|
728
|
-
${convertJsonToString(formatted)}.
|
|
729
|
-
Only one rule must be defined for the same order number in a stage.`);
|
|
730
|
-
}
|
|
731
|
-
|
|
732
|
-
// Detect Rules that are changing stage as it's not allowed.
|
|
733
|
-
const existing = await this.getType();
|
|
734
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (existing === null) <span class="cstat-no" title="statement not covered" >return;</span>
|
|
735
|
-
|
|
736
|
-
const stateChanged = futureRules
|
|
737
|
-
.reduce(
|
|
738
|
-
(changed: Asset[], rule) => [
|
|
739
|
-
...changed,
|
|
740
|
-
...existing.filter(
|
|
741
|
-
(r) => rule.name.toLowerCase() === r.name.toLowerCase() && r.stage !== rule.stage
|
|
742
|
-
),
|
|
743
|
-
],
|
|
744
|
-
[]
|
|
745
|
-
)
|
|
746
|
-
.map((r) => r.name);
|
|
747
|
-
|
|
748
|
-
if (stateChanged.length > 0) {
|
|
749
|
-
throw new ValidationError(`The following rules changed stage which is not allowed:
|
|
750
|
-
${convertJsonToString(stateChanged)}.
|
|
751
|
-
Rename the rules to recreate them and avoid this error.`);
|
|
752
|
-
}
|
|
753
|
-
|
|
754
|
-
await super.validate(assets);
|
|
755
|
-
}
|
|
756
|
-
|
|
757
|
-
async processChanges(assets: Assets): Promise<void> {
|
|
758
|
-
const { rules } = assets;
|
|
759
|
-
|
|
760
|
-
// Do nothing if not set
|
|
761
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (!rules) <span class="cstat-no" title="statement not covered" >return;</span>
|
|
762
|
-
|
|
763
|
-
log.warn(
|
|
764
|
-
'Rules are deprecated, migrate to using actions instead. See: https://auth0.com/docs/customize/actions/migrate/migrate-from-rules-to-actions for more information.'
|
|
765
|
-
);
|
|
766
|
-
|
|
767
|
-
try {
|
|
768
|
-
// Figure out what needs to be updated vs created
|
|
769
|
-
const changes = await this.calcChanges(assets);
|
|
770
|
-
|
|
771
|
-
// Temporally re-order rules with conflicting ordering
|
|
772
|
-
await this.client.pool
|
|
773
|
-
.addEachTask({
|
|
774
|
-
data: changes.reOrder,
|
|
775
|
-
generator: <span class="fstat-no" title="function not covered" >(r</span>ule) =>
|
|
776
|
-
<span class="cstat-no" title="statement not covered" > this.client.rules</span>
|
|
777
|
-
.update({ id: rule.id }, stripFields(rule, this.stripUpdateFields))
|
|
778
|
-
.then(<span class="fstat-no" title="function not covered" >() =</span>> {
|
|
779
|
-
const updated = <span class="cstat-no" title="statement not covered" >{</span>
|
|
780
|
-
name: rule.name,
|
|
781
|
-
stage: rule.stage,
|
|
782
|
-
order: rule.order,
|
|
783
|
-
id: rule.id,
|
|
784
|
-
};
|
|
785
|
-
<span class="cstat-no" title="statement not covered" > log.info(`Temporally re-order Rule ${convertJsonToString(updated)}`);</span>
|
|
786
|
-
}),
|
|
787
|
-
})
|
|
788
|
-
.promise();
|
|
789
|
-
|
|
790
|
-
await super.processChanges(assets, {
|
|
791
|
-
del: changes.del,
|
|
792
|
-
create: changes.create,
|
|
793
|
-
update: changes.update,
|
|
794
|
-
conflicts: changes.conflicts,
|
|
795
|
-
});
|
|
796
|
-
} catch (err) {
|
|
797
|
-
<span class="cstat-no" title="statement not covered" > if (isDeprecatedError(err)) {</span>
|
|
798
|
-
<span class="cstat-no" title="statement not covered" > log.warn(</span>
|
|
799
|
-
'Failed to update rules because functionality has been deprecated in favor of actions. See: https://auth0.com/docs/customize/actions/migrate/migrate-from-rules-to-actions for more information.'
|
|
800
|
-
);
|
|
801
|
-
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
802
|
-
}
|
|
803
|
-
<span class="cstat-no" title="statement not covered" > throw err;</span>
|
|
804
|
-
}
|
|
805
|
-
}
|
|
806
|
-
}
|
|
807
|
-
</pre></td></tr></table></pre>
|
|
808
|
-
|
|
809
|
-
<div class='push'></div><!-- for sticky footer -->
|
|
810
|
-
</div><!-- /wrapper -->
|
|
811
|
-
<div class='footer quiet pad2 space-top1 center small'>
|
|
812
|
-
Code coverage generated by
|
|
813
|
-
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
814
|
-
at Thu Feb 08 2024 16:21:45 GMT+0000 (Coordinated Universal Time)
|
|
815
|
-
</div>
|
|
816
|
-
<script src="../../../../prettify.js"></script>
|
|
817
|
-
<script>
|
|
818
|
-
window.onload = function () {
|
|
819
|
-
prettyPrint();
|
|
820
|
-
};
|
|
821
|
-
</script>
|
|
822
|
-
<script src="../../../../sorter.js"></script>
|
|
823
|
-
<script src="../../../../block-navigation.js"></script>
|
|
824
|
-
</body>
|
|
825
|
-
</html>
|
|
826
|
-
|