cdk-common 2.0.190 → 2.0.193
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/.jsii +3 -3
- package/lib/main.js +1 -1
- package/node_modules/@aws-cdk/assert/package.json +8 -8
- package/node_modules/@aws-cdk/cfnspec/build-tools/create-missing-libraries.js +2 -2
- package/node_modules/@aws-cdk/cfnspec/package.json +3 -3
- package/node_modules/@aws-cdk/cfnspec/tsconfig.tsbuildinfo +1 -1
- package/node_modules/@aws-cdk/cloudformation-diff/package.json +4 -4
- package/node_modules/@types/concat-stream/node_modules/@types/node/README.md +1 -1
- package/node_modules/@types/concat-stream/node_modules/@types/node/fs/promises.d.ts +1 -1
- package/node_modules/@types/concat-stream/node_modules/@types/node/fs.d.ts +3 -3
- package/node_modules/@types/concat-stream/node_modules/@types/node/package.json +2 -2
- package/node_modules/@types/form-data/node_modules/@types/node/README.md +1 -1
- package/node_modules/@types/form-data/node_modules/@types/node/fs/promises.d.ts +1 -1
- package/node_modules/@types/form-data/node_modules/@types/node/fs.d.ts +3 -3
- package/node_modules/@types/form-data/node_modules/@types/node/package.json +2 -2
- package/package.json +2 -2
- package/node_modules/@aws-cdk/cfnspec/coverage/base.css +0 -224
- package/node_modules/@aws-cdk/cfnspec/coverage/block-navigation.js +0 -87
- package/node_modules/@aws-cdk/cfnspec/coverage/build-tools/index.html +0 -161
- package/node_modules/@aws-cdk/cfnspec/coverage/build-tools/massage-spec.ts.html +0 -295
- package/node_modules/@aws-cdk/cfnspec/coverage/build-tools/patch-set.ts.html +0 -907
- package/node_modules/@aws-cdk/cfnspec/coverage/build-tools/scrutiny.ts.html +0 -349
- package/node_modules/@aws-cdk/cfnspec/coverage/build-tools/validate-cfn.ts.html +0 -1093
- package/node_modules/@aws-cdk/cfnspec/coverage/favicon.png +0 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/index.html +0 -161
- package/node_modules/@aws-cdk/cfnspec/coverage/junit.xml +0 -35617
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/base.css +0 -224
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/block-navigation.js +0 -87
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/build-tools/index.html +0 -161
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/build-tools/massage-spec.ts.html +0 -295
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/build-tools/patch-set.ts.html +0 -907
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/build-tools/scrutiny.ts.html +0 -349
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/build-tools/validate-cfn.ts.html +0 -1093
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/favicon.png +0 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/index.html +0 -161
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/canned-metrics/canned-metrics-schema.ts.html +0 -304
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/canned-metrics/index.html +0 -116
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/canned-metrics.ts.html +0 -445
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/index.html +0 -131
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/index.ts.html +0 -634
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/augmentation.ts.html +0 -376
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/base-types.ts.html +0 -172
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/index.html +0 -191
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/index.ts.html +0 -103
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/property.ts.html +0 -1003
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/resource-type.ts.html +0 -577
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/specification.ts.html +0 -253
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/prettify.css +0 -1
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/prettify.js +0 -2
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/sorter.js +0 -196
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov.info +0 -1112
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/canned-metrics/canned-metrics-schema.ts.html +0 -304
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/canned-metrics/index.html +0 -116
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/canned-metrics.ts.html +0 -445
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/index.html +0 -131
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/index.ts.html +0 -634
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/augmentation.ts.html +0 -376
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/base-types.ts.html +0 -172
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/index.html +0 -191
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/index.ts.html +0 -103
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/property.ts.html +0 -1003
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/resource-type.ts.html +0 -577
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/specification.ts.html +0 -253
- package/node_modules/@aws-cdk/cfnspec/coverage/prettify.css +0 -1
- package/node_modules/@aws-cdk/cfnspec/coverage/prettify.js +0 -2
- package/node_modules/@aws-cdk/cfnspec/coverage/sort-arrow-sprite.png +0 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/sorter.js +0 -196
|
@@ -1,907 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
<!doctype html>
|
|
3
|
-
<html lang="en">
|
|
4
|
-
|
|
5
|
-
<head>
|
|
6
|
-
<title>Code coverage report for build-tools/patch-set.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">build-tools</a> patch-set.ts</h1>
|
|
23
|
-
<div class='clearfix'>
|
|
24
|
-
|
|
25
|
-
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">54.23% </span>
|
|
27
|
-
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>64/118</span>
|
|
29
|
-
</div>
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">37.25% </span>
|
|
34
|
-
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>19/51</span>
|
|
36
|
-
</div>
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">55% </span>
|
|
41
|
-
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>11/20</span>
|
|
43
|
-
</div>
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">55.85% </span>
|
|
48
|
-
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>62/111</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 medium'></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>
|
|
314
|
-
<a name='L249'></a><a href='#L249'>249</a>
|
|
315
|
-
<a name='L250'></a><a href='#L250'>250</a>
|
|
316
|
-
<a name='L251'></a><a href='#L251'>251</a>
|
|
317
|
-
<a name='L252'></a><a href='#L252'>252</a>
|
|
318
|
-
<a name='L253'></a><a href='#L253'>253</a>
|
|
319
|
-
<a name='L254'></a><a href='#L254'>254</a>
|
|
320
|
-
<a name='L255'></a><a href='#L255'>255</a>
|
|
321
|
-
<a name='L256'></a><a href='#L256'>256</a>
|
|
322
|
-
<a name='L257'></a><a href='#L257'>257</a>
|
|
323
|
-
<a name='L258'></a><a href='#L258'>258</a>
|
|
324
|
-
<a name='L259'></a><a href='#L259'>259</a>
|
|
325
|
-
<a name='L260'></a><a href='#L260'>260</a>
|
|
326
|
-
<a name='L261'></a><a href='#L261'>261</a>
|
|
327
|
-
<a name='L262'></a><a href='#L262'>262</a>
|
|
328
|
-
<a name='L263'></a><a href='#L263'>263</a>
|
|
329
|
-
<a name='L264'></a><a href='#L264'>264</a>
|
|
330
|
-
<a name='L265'></a><a href='#L265'>265</a>
|
|
331
|
-
<a name='L266'></a><a href='#L266'>266</a>
|
|
332
|
-
<a name='L267'></a><a href='#L267'>267</a>
|
|
333
|
-
<a name='L268'></a><a href='#L268'>268</a>
|
|
334
|
-
<a name='L269'></a><a href='#L269'>269</a>
|
|
335
|
-
<a name='L270'></a><a href='#L270'>270</a>
|
|
336
|
-
<a name='L271'></a><a href='#L271'>271</a>
|
|
337
|
-
<a name='L272'></a><a href='#L272'>272</a>
|
|
338
|
-
<a name='L273'></a><a href='#L273'>273</a>
|
|
339
|
-
<a name='L274'></a><a href='#L274'>274</a>
|
|
340
|
-
<a name='L275'></a><a href='#L275'>275</a></td><td class="line-coverage quiet"><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-yes">1x</span>
|
|
347
|
-
<span class="cline-any cline-yes">1x</span>
|
|
348
|
-
<span class="cline-any cline-yes">1x</span>
|
|
349
|
-
<span class="cline-any cline-neutral"> </span>
|
|
350
|
-
<span class="cline-any cline-neutral"> </span>
|
|
351
|
-
<span class="cline-any cline-yes">1x</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-neutral"> </span>
|
|
365
|
-
<span class="cline-any cline-yes">1x</span>
|
|
366
|
-
<span class="cline-any cline-no"> </span>
|
|
367
|
-
<span class="cline-any cline-neutral"> </span>
|
|
368
|
-
<span class="cline-any cline-no"> </span>
|
|
369
|
-
<span class="cline-any cline-no"> </span>
|
|
370
|
-
<span class="cline-any cline-no"> </span>
|
|
371
|
-
<span class="cline-any cline-no"> </span>
|
|
372
|
-
<span class="cline-any cline-neutral"> </span>
|
|
373
|
-
<span class="cline-any cline-no"> </span>
|
|
374
|
-
<span class="cline-any cline-no"> </span>
|
|
375
|
-
<span class="cline-any cline-neutral"> </span>
|
|
376
|
-
<span class="cline-any cline-neutral"> </span>
|
|
377
|
-
<span class="cline-any cline-neutral"> </span>
|
|
378
|
-
<span class="cline-any cline-no"> </span>
|
|
379
|
-
<span class="cline-any cline-no"> </span>
|
|
380
|
-
<span class="cline-any cline-neutral"> </span>
|
|
381
|
-
<span class="cline-any cline-neutral"> </span>
|
|
382
|
-
<span class="cline-any cline-neutral"> </span>
|
|
383
|
-
<span class="cline-any cline-neutral"> </span>
|
|
384
|
-
<span class="cline-any cline-neutral"> </span>
|
|
385
|
-
<span class="cline-any cline-neutral"> </span>
|
|
386
|
-
<span class="cline-any cline-no"> </span>
|
|
387
|
-
<span class="cline-any cline-neutral"> </span>
|
|
388
|
-
<span class="cline-any cline-neutral"> </span>
|
|
389
|
-
<span class="cline-any cline-yes">1x</span>
|
|
390
|
-
<span class="cline-any cline-yes">8x</span>
|
|
391
|
-
<span class="cline-any cline-neutral"> </span>
|
|
392
|
-
<span class="cline-any cline-yes">8x</span>
|
|
393
|
-
<span class="cline-any cline-yes">16x</span>
|
|
394
|
-
<span class="cline-any cline-neutral"> </span>
|
|
395
|
-
<span class="cline-any cline-yes">16x</span>
|
|
396
|
-
<span class="cline-any cline-neutral"> </span>
|
|
397
|
-
<span class="cline-any cline-yes">12x</span>
|
|
398
|
-
<span class="cline-any cline-yes">12x</span>
|
|
399
|
-
<span class="cline-any cline-yes">11x</span>
|
|
400
|
-
<span class="cline-any cline-neutral"> </span>
|
|
401
|
-
<span class="cline-any cline-yes">3x</span>
|
|
402
|
-
<span class="cline-any cline-yes">3x</span>
|
|
403
|
-
<span class="cline-any cline-neutral"> </span>
|
|
404
|
-
<span class="cline-any cline-yes">1x</span>
|
|
405
|
-
<span class="cline-any cline-yes">1x</span>
|
|
406
|
-
<span class="cline-any cline-yes">1x</span>
|
|
407
|
-
<span class="cline-any cline-yes">1x</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-yes">7x</span>
|
|
412
|
-
<span class="cline-any cline-neutral"> </span>
|
|
413
|
-
<span class="cline-any cline-neutral"> </span>
|
|
414
|
-
<span class="cline-any cline-yes">16x</span>
|
|
415
|
-
<span class="cline-any cline-neutral"> </span>
|
|
416
|
-
<span class="cline-any cline-no"> </span>
|
|
417
|
-
<span class="cline-any cline-neutral"> </span>
|
|
418
|
-
<span class="cline-any cline-neutral"> </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-yes">1x</span>
|
|
425
|
-
<span class="cline-any cline-no"> </span>
|
|
426
|
-
<span class="cline-any cline-no"> </span>
|
|
427
|
-
<span class="cline-any cline-neutral"> </span>
|
|
428
|
-
<span class="cline-any cline-neutral"> </span>
|
|
429
|
-
<span class="cline-any cline-neutral"> </span>
|
|
430
|
-
<span class="cline-any cline-neutral"> </span>
|
|
431
|
-
<span class="cline-any cline-neutral"> </span>
|
|
432
|
-
<span class="cline-any cline-yes">1x</span>
|
|
433
|
-
<span class="cline-any cline-no"> </span>
|
|
434
|
-
<span class="cline-any cline-no"> </span>
|
|
435
|
-
<span class="cline-any cline-neutral"> </span>
|
|
436
|
-
<span class="cline-any cline-neutral"> </span>
|
|
437
|
-
<span class="cline-any cline-yes">1x</span>
|
|
438
|
-
<span class="cline-any cline-no"> </span>
|
|
439
|
-
<span class="cline-any cline-no"> </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-no"> </span>
|
|
444
|
-
<span class="cline-any cline-neutral"> </span>
|
|
445
|
-
<span class="cline-any cline-neutral"> </span>
|
|
446
|
-
<span class="cline-any cline-neutral"> </span>
|
|
447
|
-
<span class="cline-any cline-yes">13x</span>
|
|
448
|
-
<span class="cline-any cline-yes">13x</span>
|
|
449
|
-
<span class="cline-any cline-no"> </span>
|
|
450
|
-
<span class="cline-any cline-neutral"> </span>
|
|
451
|
-
<span class="cline-any cline-neutral"> </span>
|
|
452
|
-
<span class="cline-any cline-yes">13x</span>
|
|
453
|
-
<span class="cline-any cline-yes">17x</span>
|
|
454
|
-
<span class="cline-any cline-neutral"> </span>
|
|
455
|
-
<span class="cline-any cline-yes">17x</span>
|
|
456
|
-
<span class="cline-any cline-yes">2x</span>
|
|
457
|
-
<span class="cline-any cline-yes">2x</span>
|
|
458
|
-
<span class="cline-any cline-yes">2x</span>
|
|
459
|
-
<span class="cline-any cline-neutral"> </span>
|
|
460
|
-
<span class="cline-any cline-no"> </span>
|
|
461
|
-
<span class="cline-any cline-neutral"> </span>
|
|
462
|
-
<span class="cline-any cline-yes">2x</span>
|
|
463
|
-
<span class="cline-any cline-yes">1x</span>
|
|
464
|
-
<span class="cline-any cline-neutral"> </span>
|
|
465
|
-
<span class="cline-any cline-yes">1x</span>
|
|
466
|
-
<span class="cline-any cline-neutral"> </span>
|
|
467
|
-
<span class="cline-any cline-yes">1x</span>
|
|
468
|
-
<span class="cline-any cline-neutral"> </span>
|
|
469
|
-
<span class="cline-any cline-no"> </span>
|
|
470
|
-
<span class="cline-any cline-neutral"> </span>
|
|
471
|
-
<span class="cline-any cline-yes">15x</span>
|
|
472
|
-
<span class="cline-any cline-neutral"> </span>
|
|
473
|
-
<span class="cline-any cline-neutral"> </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">3x</span>
|
|
478
|
-
<span class="cline-any cline-neutral"> </span>
|
|
479
|
-
<span class="cline-any cline-yes">3x</span>
|
|
480
|
-
<span class="cline-any cline-yes">3x</span>
|
|
481
|
-
<span class="cline-any cline-yes">3x</span>
|
|
482
|
-
<span class="cline-any cline-neutral"> </span>
|
|
483
|
-
<span class="cline-any cline-yes">3x</span>
|
|
484
|
-
<span class="cline-any cline-yes">3x</span>
|
|
485
|
-
<span class="cline-any cline-neutral"> </span>
|
|
486
|
-
<span class="cline-any cline-no"> </span>
|
|
487
|
-
<span class="cline-any cline-neutral"> </span>
|
|
488
|
-
<span class="cline-any cline-neutral"> </span>
|
|
489
|
-
<span class="cline-any cline-neutral"> </span>
|
|
490
|
-
<span class="cline-any cline-neutral"> </span>
|
|
491
|
-
<span class="cline-any cline-neutral"> </span>
|
|
492
|
-
<span class="cline-any cline-neutral"> </span>
|
|
493
|
-
<span class="cline-any cline-neutral"> </span>
|
|
494
|
-
<span class="cline-any cline-neutral"> </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-neutral"> </span>
|
|
500
|
-
<span class="cline-any cline-neutral"> </span>
|
|
501
|
-
<span class="cline-any cline-neutral"> </span>
|
|
502
|
-
<span class="cline-any cline-neutral"> </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-neutral"> </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-neutral"> </span>
|
|
512
|
-
<span class="cline-any cline-yes">3x</span>
|
|
513
|
-
<span class="cline-any cline-yes">3x</span>
|
|
514
|
-
<span class="cline-any cline-yes">3x</span>
|
|
515
|
-
<span class="cline-any cline-neutral"> </span>
|
|
516
|
-
<span class="cline-any cline-neutral"> </span>
|
|
517
|
-
<span class="cline-any cline-yes">5x</span>
|
|
518
|
-
<span class="cline-any cline-neutral"> </span>
|
|
519
|
-
<span class="cline-any cline-yes">5x</span>
|
|
520
|
-
<span class="cline-any cline-yes">3x</span>
|
|
521
|
-
<span class="cline-any cline-yes">3x</span>
|
|
522
|
-
<span class="cline-any cline-no"> </span>
|
|
523
|
-
<span class="cline-any cline-neutral"> </span>
|
|
524
|
-
<span class="cline-any cline-yes">3x</span>
|
|
525
|
-
<span class="cline-any cline-neutral"> </span>
|
|
526
|
-
<span class="cline-any cline-yes">3x</span>
|
|
527
|
-
<span class="cline-any cline-neutral"> </span>
|
|
528
|
-
<span class="cline-any cline-yes">2x</span>
|
|
529
|
-
<span class="cline-any cline-no"> </span>
|
|
530
|
-
<span class="cline-any cline-no"> </span>
|
|
531
|
-
<span class="cline-any cline-no"> </span>
|
|
532
|
-
<span class="cline-any cline-neutral"> </span>
|
|
533
|
-
<span class="cline-any cline-no"> </span>
|
|
534
|
-
<span class="cline-any cline-no"> </span>
|
|
535
|
-
<span class="cline-any cline-neutral"> </span>
|
|
536
|
-
<span class="cline-any cline-no"> </span>
|
|
537
|
-
<span class="cline-any cline-no"> </span>
|
|
538
|
-
<span class="cline-any cline-neutral"> </span>
|
|
539
|
-
<span class="cline-any cline-no"> </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">2x</span>
|
|
544
|
-
<span class="cline-any cline-yes">2x</span>
|
|
545
|
-
<span class="cline-any cline-no"> </span>
|
|
546
|
-
<span class="cline-any cline-neutral"> </span>
|
|
547
|
-
<span class="cline-any cline-yes">2x</span>
|
|
548
|
-
<span class="cline-any cline-neutral"> </span>
|
|
549
|
-
<span class="cline-any cline-neutral"> </span>
|
|
550
|
-
<span class="cline-any cline-neutral"> </span>
|
|
551
|
-
<span class="cline-any cline-neutral"> </span>
|
|
552
|
-
<span class="cline-any cline-neutral"> </span>
|
|
553
|
-
<span class="cline-any cline-yes">3x</span>
|
|
554
|
-
<span class="cline-any cline-neutral"> </span>
|
|
555
|
-
<span class="cline-any cline-neutral"> </span>
|
|
556
|
-
<span class="cline-any cline-neutral"> </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>
|
|
561
|
-
<span class="cline-any cline-neutral"> </span>
|
|
562
|
-
<span class="cline-any cline-neutral"> </span>
|
|
563
|
-
<span class="cline-any cline-neutral"> </span>
|
|
564
|
-
<span class="cline-any cline-neutral"> </span>
|
|
565
|
-
<span class="cline-any cline-neutral"> </span>
|
|
566
|
-
<span class="cline-any cline-yes">6x</span>
|
|
567
|
-
<span class="cline-any cline-no"> </span>
|
|
568
|
-
<span class="cline-any cline-neutral"> </span>
|
|
569
|
-
<span class="cline-any cline-yes">6x</span>
|
|
570
|
-
<span class="cline-any cline-yes">1x</span>
|
|
571
|
-
<span class="cline-any cline-neutral"> </span>
|
|
572
|
-
<span class="cline-any cline-yes">5x</span>
|
|
573
|
-
<span class="cline-any cline-neutral"> </span>
|
|
574
|
-
<span class="cline-any cline-neutral"> </span>
|
|
575
|
-
<span class="cline-any cline-neutral"> </span>
|
|
576
|
-
<span class="cline-any cline-neutral"> </span>
|
|
577
|
-
<span class="cline-any cline-neutral"> </span>
|
|
578
|
-
<span class="cline-any cline-neutral"> </span>
|
|
579
|
-
<span class="cline-any cline-neutral"> </span>
|
|
580
|
-
<span class="cline-any cline-neutral"> </span>
|
|
581
|
-
<span class="cline-any cline-no"> </span>
|
|
582
|
-
<span class="cline-any cline-neutral"> </span>
|
|
583
|
-
<span class="cline-any cline-no"> </span>
|
|
584
|
-
<span class="cline-any cline-no"> </span>
|
|
585
|
-
<span class="cline-any cline-neutral"> </span>
|
|
586
|
-
<span class="cline-any cline-neutral"> </span>
|
|
587
|
-
<span class="cline-any cline-no"> </span>
|
|
588
|
-
<span class="cline-any cline-neutral"> </span>
|
|
589
|
-
<span class="cline-any cline-no"> </span>
|
|
590
|
-
<span class="cline-any cline-no"> </span>
|
|
591
|
-
<span class="cline-any cline-no"> </span>
|
|
592
|
-
<span class="cline-any cline-neutral"> </span>
|
|
593
|
-
<span class="cline-any cline-no"> </span>
|
|
594
|
-
<span class="cline-any cline-neutral"> </span>
|
|
595
|
-
<span class="cline-any cline-neutral"> </span>
|
|
596
|
-
<span class="cline-any cline-neutral"> </span>
|
|
597
|
-
<span class="cline-any cline-neutral"> </span>
|
|
598
|
-
<span class="cline-any cline-no"> </span>
|
|
599
|
-
<span class="cline-any cline-no"> </span>
|
|
600
|
-
<span class="cline-any cline-no"> </span>
|
|
601
|
-
<span class="cline-any cline-no"> </span>
|
|
602
|
-
<span class="cline-any cline-neutral"> </span>
|
|
603
|
-
<span class="cline-any cline-neutral"> </span>
|
|
604
|
-
<span class="cline-any cline-no"> </span>
|
|
605
|
-
<span class="cline-any cline-neutral"> </span>
|
|
606
|
-
<span class="cline-any cline-neutral"> </span>
|
|
607
|
-
<span class="cline-any cline-yes">1x</span>
|
|
608
|
-
<span class="cline-any cline-no"> </span>
|
|
609
|
-
<span class="cline-any cline-no"> </span>
|
|
610
|
-
<span class="cline-any cline-neutral"> </span>
|
|
611
|
-
<span class="cline-any cline-no"> </span>
|
|
612
|
-
<span class="cline-any cline-neutral"> </span>
|
|
613
|
-
<span class="cline-any cline-neutral"> </span>
|
|
614
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">
|
|
615
|
-
/**
|
|
616
|
-
* Apply a JSON patch set into the given target file
|
|
617
|
-
*
|
|
618
|
-
* The sources can be taken from one or more directories.
|
|
619
|
-
*/
|
|
620
|
-
import * as path from 'path';
|
|
621
|
-
import * as fastJsonPatch from 'fast-json-patch';
|
|
622
|
-
import * as fs from 'fs-extra';
|
|
623
|
-
|
|
624
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
625
|
-
const sortJson = require('sort-json');
|
|
626
|
-
|
|
627
|
-
export interface PatchOptions {
|
|
628
|
-
readonly quiet?: boolean;
|
|
629
|
-
}
|
|
630
|
-
|
|
631
|
-
export type PatchSet = Record<string, PatchSetElement>;
|
|
632
|
-
|
|
633
|
-
export type PatchSetElement =
|
|
634
|
-
| { readonly type: 'fragment'; readonly data: any }
|
|
635
|
-
| { readonly type: 'patch'; readonly data: any }
|
|
636
|
-
| { readonly type: 'set'; readonly sources: PatchSet }
|
|
637
|
-
;
|
|
638
|
-
|
|
639
|
-
export async function <span class="fstat-no" title="function not covered" >loadPatchSet(</span>sourceDirectory: string, relativeTo = <span class="branch-0 cbranch-no" title="branch not covered" >process.cwd())</span>: Promise<PatchSet> {
|
|
640
|
-
const ret: PatchSet = <span class="cstat-no" title="statement not covered" >{};</span>
|
|
641
|
-
|
|
642
|
-
const files = <span class="cstat-no" title="statement not covered" >await fs.readdir(sourceDirectory);</span>
|
|
643
|
-
<span class="cstat-no" title="statement not covered" > for (const file of files) {</span>
|
|
644
|
-
const fullFile = <span class="cstat-no" title="statement not covered" >path.join(sourceDirectory, file);</span>
|
|
645
|
-
const relName = <span class="cstat-no" title="statement not covered" >path.relative(relativeTo, fullFile);</span>
|
|
646
|
-
|
|
647
|
-
<span class="cstat-no" title="statement not covered" > if ((await fs.stat(fullFile)).isDirectory()) {</span>
|
|
648
|
-
<span class="cstat-no" title="statement not covered" > ret[relName] = {</span>
|
|
649
|
-
type: 'set',
|
|
650
|
-
sources: await loadPatchSet(fullFile, sourceDirectory),
|
|
651
|
-
};
|
|
652
|
-
} else <span class="cstat-no" title="statement not covered" ><span class="missing-if-branch" title="if path not taken" >I</span>if (file.endsWith('.json')) {</span>
|
|
653
|
-
<span class="cstat-no" title="statement not covered" > ret[relName] = {</span>
|
|
654
|
-
type: file.indexOf('patch') === -1 ? 'fragment' : 'patch',
|
|
655
|
-
data: await fs.readJson(fullFile),
|
|
656
|
-
};
|
|
657
|
-
}
|
|
658
|
-
}
|
|
659
|
-
|
|
660
|
-
<span class="cstat-no" title="statement not covered" > return ret;</span>
|
|
661
|
-
}
|
|
662
|
-
|
|
663
|
-
export function evaluatePatchSet(sources: PatchSet, options: PatchOptions = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> {
|
|
664
|
-
const targetObject: any = {};
|
|
665
|
-
|
|
666
|
-
for (const key of Object.keys(sources).sort()) {
|
|
667
|
-
const value = sources[key];
|
|
668
|
-
|
|
669
|
-
switch (value.type) {
|
|
670
|
-
case 'fragment':
|
|
671
|
-
log(key);
|
|
672
|
-
merge(targetObject, value.data, []);
|
|
673
|
-
break;
|
|
674
|
-
case 'patch':
|
|
675
|
-
patch(targetObject, value.data, (m) => log(`${key}: ${m}`));
|
|
676
|
-
break;
|
|
677
|
-
case 'set':
|
|
678
|
-
const evaluated = evaluatePatchSet(value.sources, options);
|
|
679
|
-
log(key);
|
|
680
|
-
merge(targetObject, evaluated, []);
|
|
681
|
-
break;
|
|
682
|
-
}
|
|
683
|
-
}
|
|
684
|
-
|
|
685
|
-
return targetObject;
|
|
686
|
-
|
|
687
|
-
function log(x: string) {
|
|
688
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (!options.quiet) {
|
|
689
|
-
// eslint-disable-next-line no-console
|
|
690
|
-
<span class="cstat-no" title="statement not covered" > console.log(x);</span>
|
|
691
|
-
}
|
|
692
|
-
}
|
|
693
|
-
}
|
|
694
|
-
|
|
695
|
-
/**
|
|
696
|
-
* Load a patch set from a directory
|
|
697
|
-
*/
|
|
698
|
-
export async function <span class="fstat-no" title="function not covered" >applyPatchSet(</span>sourceDirectory: string, options: PatchOptions = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> {
|
|
699
|
-
const patches = <span class="cstat-no" title="statement not covered" >await loadPatchSet(sourceDirectory);</span>
|
|
700
|
-
<span class="cstat-no" title="statement not covered" > return evaluatePatchSet(patches, options);</span>
|
|
701
|
-
}
|
|
702
|
-
|
|
703
|
-
/**
|
|
704
|
-
* Load a patch set and write it out to a file
|
|
705
|
-
*/
|
|
706
|
-
export async function <span class="fstat-no" title="function not covered" >applyAndWrite(</span>targetFile: string, sourceDirectory: string, options: PatchOptions = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> {
|
|
707
|
-
const model = <span class="cstat-no" title="statement not covered" >await applyPatchSet(sourceDirectory, options);</span>
|
|
708
|
-
<span class="cstat-no" title="statement not covered" > await writeSorted(targetFile, model);</span>
|
|
709
|
-
}
|
|
710
|
-
|
|
711
|
-
export async function <span class="fstat-no" title="function not covered" >writeSorted(</span>targetFile: string, data: any) {
|
|
712
|
-
<span class="cstat-no" title="statement not covered" > await fs.mkdirp(path.dirname(targetFile));</span>
|
|
713
|
-
<span class="cstat-no" title="statement not covered" > await fs.writeJson(targetFile, sortJson(data), { spaces: 2 });</span>
|
|
714
|
-
}
|
|
715
|
-
|
|
716
|
-
function <span class="fstat-no" title="function not covered" >printSorted(</span>data: any) {
|
|
717
|
-
<span class="cstat-no" title="statement not covered" > process.stdout.write(JSON.stringify(sortJson(data), undefined, 2));</span>
|
|
718
|
-
}
|
|
719
|
-
|
|
720
|
-
function merge(target: any, fragment: any, jsonPath: string[]) {
|
|
721
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (!fragment) { <span class="cstat-no" title="statement not covered" >return; </span>}
|
|
722
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (!target || typeof target !== 'object' || Array.isArray(target)) {
|
|
723
|
-
<span class="cstat-no" title="statement not covered" > throw new Error(`Expected object, found: '${target}' at '$.${jsonPath.join('.')}'`);</span>
|
|
724
|
-
}
|
|
725
|
-
|
|
726
|
-
for (const key of Object.keys(fragment)) {
|
|
727
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (key.startsWith('$')) { <span class="cstat-no" title="statement not covered" >continue; </span>}
|
|
728
|
-
|
|
729
|
-
if (key in target) {
|
|
730
|
-
const specVal = target[key];
|
|
731
|
-
const fragVal = fragment[key];
|
|
732
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (typeof specVal !== typeof fragVal) {
|
|
733
|
-
// eslint-disable-next-line max-len
|
|
734
|
-
<span class="cstat-no" title="statement not covered" > throw new Error(`Attempted to merge ${JSON.stringify(fragVal)} into incompatible ${JSON.stringify(specVal)} at path ${jsonPath.join('/')}/${key}`);</span>
|
|
735
|
-
}
|
|
736
|
-
if (specVal == fragVal) {
|
|
737
|
-
continue;
|
|
738
|
-
}
|
|
739
|
-
if (typeof specVal !== 'object') {
|
|
740
|
-
// eslint-disable-next-line max-len
|
|
741
|
-
throw new Error(`Conflict when attempting to merge ${JSON.stringify(fragVal)} into ${JSON.stringify(specVal)} at path ${jsonPath.join('/')}/${key}`);
|
|
742
|
-
}
|
|
743
|
-
<span class="cstat-no" title="statement not covered" > merge(specVal, fragVal, [...jsonPath, key]);</span>
|
|
744
|
-
} else {
|
|
745
|
-
target[key] = fragment[key];
|
|
746
|
-
}
|
|
747
|
-
}
|
|
748
|
-
}
|
|
749
|
-
|
|
750
|
-
function patch(target: any, fragment: any, log: (x: string) => void) {
|
|
751
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (!fragment) { <span class="cstat-no" title="statement not covered" >return; </span>}
|
|
752
|
-
|
|
753
|
-
const patches = findPatches(target, fragment);
|
|
754
|
-
for (const p of patches) {
|
|
755
|
-
log(p.description<span class="branch-0 cbranch-no" title="branch not covered" > ?? '</span>');
|
|
756
|
-
|
|
757
|
-
try {
|
|
758
|
-
fastJsonPatch.applyPatch(target, p.operations);
|
|
759
|
-
} catch (e) {
|
|
760
|
-
<span class="cstat-no" title="statement not covered" > throw new Error(`error applying patch: ${JSON.stringify(p, undefined, 2)}: ${e.message}`);</span>
|
|
761
|
-
}
|
|
762
|
-
}
|
|
763
|
-
}
|
|
764
|
-
|
|
765
|
-
interface Patch {
|
|
766
|
-
readonly description?: string;
|
|
767
|
-
readonly operations: Operation[];
|
|
768
|
-
}
|
|
769
|
-
|
|
770
|
-
type Operation =
|
|
771
|
-
| { readonly op: 'add'; readonly path: string; readonly value: any }
|
|
772
|
-
| { readonly op: 'remove'; readonly path: string }
|
|
773
|
-
| { readonly op: 'replace'; readonly path: string; readonly value: any }
|
|
774
|
-
| { readonly op: 'copy'; readonly path: string; readonly from: string }
|
|
775
|
-
| { readonly op: 'move'; readonly path: string; readonly from: string }
|
|
776
|
-
| { readonly op: 'test'; readonly path: string; readonly value: any }
|
|
777
|
-
;
|
|
778
|
-
|
|
779
|
-
/**
|
|
780
|
-
* Find the sets of patches to apply in a document
|
|
781
|
-
*
|
|
782
|
-
* Adjusts paths to be root-relative, which makes it possible to have paths
|
|
783
|
-
* point outside the patch scope.
|
|
784
|
-
*/
|
|
785
|
-
function findPatches(data: any, patchSource: any): Patch[] {
|
|
786
|
-
const ret: Patch[] = [];
|
|
787
|
-
recurse(data, patchSource, []);
|
|
788
|
-
return ret;
|
|
789
|
-
|
|
790
|
-
function recurse(actualData: any, fragment: any, jsonPath: string[]) {
|
|
791
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (!fragment) { <span class="cstat-no" title="statement not covered" >return; </span>}
|
|
792
|
-
|
|
793
|
-
if ('patch' in fragment) {
|
|
794
|
-
const p = fragment.patch;
|
|
795
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (!p.operations) {
|
|
796
|
-
<span class="cstat-no" title="statement not covered" > throw new Error(`Patch needs 'operations' key, got: ${JSON.stringify(p)}`);</span>
|
|
797
|
-
}
|
|
798
|
-
ret.push({
|
|
799
|
-
description: p.description,
|
|
800
|
-
operations: p.operations.map((op: any) => adjustPaths(op, jsonPath)),
|
|
801
|
-
});
|
|
802
|
-
} else <span class="missing-if-branch" title="if path not taken" >I</span>if ('patch:each' in fragment) {
|
|
803
|
-
const p = <span class="cstat-no" title="statement not covered" >fragment['patch:each'];</span>
|
|
804
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (typeof actualData !== 'object') {</span>
|
|
805
|
-
<span class="cstat-no" title="statement not covered" > throw new Error(`Patch ${p.description}: expecting object in data, found '${actualData}'`);</span>
|
|
806
|
-
}
|
|
807
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!p.operations) {</span>
|
|
808
|
-
<span class="cstat-no" title="statement not covered" > throw new Error(`Patch needs 'operations' key, got: ${JSON.stringify(p)}`);</span>
|
|
809
|
-
}
|
|
810
|
-
<span class="cstat-no" title="statement not covered" > for (const key in actualData) {</span>
|
|
811
|
-
<span class="cstat-no" title="statement not covered" > ret.push({</span>
|
|
812
|
-
description: `${key}: ${p.description}`,
|
|
813
|
-
operations: p.operations.map(<span class="fstat-no" title="function not covered" >(o</span>p: any) => <span class="cstat-no" title="statement not covered" >adjustPaths(op, [...jsonPath, key]))</span>,
|
|
814
|
-
});
|
|
815
|
-
}
|
|
816
|
-
} else {
|
|
817
|
-
for (const key of Object.keys(fragment)) {
|
|
818
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (!(key in actualData)) {
|
|
819
|
-
<span class="cstat-no" title="statement not covered" > actualData[key] = {};</span>
|
|
820
|
-
}
|
|
821
|
-
recurse(actualData[key], fragment[key], [...jsonPath, key]);
|
|
822
|
-
}
|
|
823
|
-
}
|
|
824
|
-
}
|
|
825
|
-
|
|
826
|
-
function adjustPaths(op: any, jsonPath: string[]): Operation {
|
|
827
|
-
return {
|
|
828
|
-
...op,
|
|
829
|
-
...op.path ? { path: adjustPath(op.path, jsonPath) } : <span class="branch-1 cbranch-no" title="branch not covered" >undefined,</span>
|
|
830
|
-
...op.from ? { from: adjustPath(op.from, jsonPath) } : <span class="branch-1 cbranch-no" title="branch not covered" >undefined,</span>
|
|
831
|
-
};
|
|
832
|
-
}
|
|
833
|
-
|
|
834
|
-
/**
|
|
835
|
-
* Adjust path
|
|
836
|
-
*
|
|
837
|
-
* '$/' means from the root, otherwise interpret as relative path.
|
|
838
|
-
*/
|
|
839
|
-
function adjustPath(originalPath: string, jsonPath: string[]): string {
|
|
840
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (typeof originalPath !== 'string') {
|
|
841
|
-
<span class="cstat-no" title="statement not covered" > throw new Error(`adjustPath: expected string, got ${JSON.stringify(originalPath)}`);</span>
|
|
842
|
-
}
|
|
843
|
-
if (originalPath.startsWith('$/')) {
|
|
844
|
-
return originalPath.slice(1);
|
|
845
|
-
}
|
|
846
|
-
return jsonPath.map(p => `/${p}`).join('') + originalPath;
|
|
847
|
-
}
|
|
848
|
-
}
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
/**
|
|
852
|
-
* Run this file as a CLI tool, to apply a patch set from the command line
|
|
853
|
-
*/
|
|
854
|
-
async function <span class="fstat-no" title="function not covered" >main(</span>args: string[]) {
|
|
855
|
-
const quiet = <span class="cstat-no" title="statement not covered" >eatArg('-q', args) || eatArg('--quiet', args);</span>
|
|
856
|
-
|
|
857
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (args.length < 1) {</span>
|
|
858
|
-
<span class="cstat-no" title="statement not covered" > throw new Error('Usage: patch-set <DIR> [<FILE>]');</span>
|
|
859
|
-
}
|
|
860
|
-
|
|
861
|
-
const [dir, targetFile] = <span class="cstat-no" title="statement not covered" >args;</span>
|
|
862
|
-
|
|
863
|
-
const model = <span class="cstat-no" title="statement not covered" >await applyPatchSet(dir, { quiet });</span>
|
|
864
|
-
<span class="cstat-no" title="statement not covered" > if (targetFile) {</span>
|
|
865
|
-
<span class="cstat-no" title="statement not covered" > await writeSorted(targetFile, model);</span>
|
|
866
|
-
} else {
|
|
867
|
-
<span class="cstat-no" title="statement not covered" > printSorted(model);</span>
|
|
868
|
-
}
|
|
869
|
-
}
|
|
870
|
-
|
|
871
|
-
function <span class="fstat-no" title="function not covered" >eatArg(</span>arg: string, args: string[]) {
|
|
872
|
-
<span class="cstat-no" title="statement not covered" > for (let i = <span class="cstat-no" title="statement not covered" >0;</span> i < args.length; i++) {</span>
|
|
873
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (args[i] === arg) {</span>
|
|
874
|
-
<span class="cstat-no" title="statement not covered" > args.splice(i, 1);</span>
|
|
875
|
-
<span class="cstat-no" title="statement not covered" > return true;</span>
|
|
876
|
-
}
|
|
877
|
-
}
|
|
878
|
-
<span class="cstat-no" title="statement not covered" > return false;</span>
|
|
879
|
-
}
|
|
880
|
-
|
|
881
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (require.main === module) {
|
|
882
|
-
<span class="cstat-no" title="statement not covered" > main(process.argv.slice(2)).catch(<span class="fstat-no" title="function not covered" >e </span>=> {</span>
|
|
883
|
-
<span class="cstat-no" title="statement not covered" > process.exitCode = 1;</span>
|
|
884
|
-
// eslint-disable-next-line no-console
|
|
885
|
-
<span class="cstat-no" title="statement not covered" > console.error(e.message);</span>
|
|
886
|
-
});
|
|
887
|
-
}
|
|
888
|
-
</pre></td></tr></table></pre>
|
|
889
|
-
|
|
890
|
-
<div class='push'></div><!-- for sticky footer -->
|
|
891
|
-
</div><!-- /wrapper -->
|
|
892
|
-
<div class='footer quiet pad2 space-top1 center small'>
|
|
893
|
-
Code coverage generated by
|
|
894
|
-
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
895
|
-
at Fri Jun 24 2022 21:27:03 GMT+0000 (Coordinated Universal Time)
|
|
896
|
-
</div>
|
|
897
|
-
<script src="../prettify.js"></script>
|
|
898
|
-
<script>
|
|
899
|
-
window.onload = function () {
|
|
900
|
-
prettyPrint();
|
|
901
|
-
};
|
|
902
|
-
</script>
|
|
903
|
-
<script src="../sorter.js"></script>
|
|
904
|
-
<script src="../block-navigation.js"></script>
|
|
905
|
-
</body>
|
|
906
|
-
</html>
|
|
907
|
-
|