@pixwel/pixwel-sdk 2.1.13 → 2.1.14

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.
Files changed (35) hide show
  1. package/dist/index.js +9 -0
  2. package/index.js +1 -0
  3. package/package.json +1 -1
  4. package/.vs/slnx.sqlite +0 -0
  5. package/coverage/clover.xml +0 -622
  6. package/coverage/coverage-final.json +0 -16
  7. package/coverage/lcov-report/Ass.js.html +0 -651
  8. package/coverage/lcov-report/Asset.js.html +0 -129
  9. package/coverage/lcov-report/AssetType.js.html +0 -102
  10. package/coverage/lcov-report/Encode.js.html +0 -102
  11. package/coverage/lcov-report/File.js.html +0 -102
  12. package/coverage/lcov-report/Filename.js.html +0 -96
  13. package/coverage/lcov-report/Ingest.js.html +0 -2046
  14. package/coverage/lcov-report/IngestFile.js.html +0 -87
  15. package/coverage/lcov-report/IngestFileDrop.js.html +0 -540
  16. package/coverage/lcov-report/Model.js.html +0 -825
  17. package/coverage/lcov-report/Order.js.html +0 -198
  18. package/coverage/lcov-report/Srt.js.html +0 -333
  19. package/coverage/lcov-report/Sub.js.html +0 -177
  20. package/coverage/lcov-report/Tag.js.html +0 -102
  21. package/coverage/lcov-report/TimeFormat.js.html +0 -210
  22. package/coverage/lcov-report/base.css +0 -223
  23. package/coverage/lcov-report/block-navigation.js +0 -63
  24. package/coverage/lcov-report/fileType.js.html +0 -192
  25. package/coverage/lcov-report/index.html +0 -279
  26. package/coverage/lcov-report/lib/Filename.js.html +0 -720
  27. package/coverage/lcov-report/lib/index.html +0 -97
  28. package/coverage/lcov-report/prettify.css +0 -1
  29. package/coverage/lcov-report/prettify.js +0 -1
  30. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  31. package/coverage/lcov-report/sorter.js +0 -158
  32. package/coverage/lcov-report/test/index.html +0 -97
  33. package/coverage/lcov-report/test/mocks.js.html +0 -423
  34. package/coverage/lcov.info +0 -1278
  35. package/npm-update.sh +0 -7
@@ -1,2046 +0,0 @@
1
- <!doctype html>
2
- <html lang="en">
3
- <head>
4
- <title>Code coverage report for Ingest.js</title>
5
- <meta charset="utf-8" />
6
- <link rel="stylesheet" href="prettify.css" />
7
- <link rel="stylesheet" href="base.css" />
8
- <meta name="viewport" content="width=device-width, initial-scale=1">
9
- <style type='text/css'>
10
- .coverage-summary .sorter {
11
- background-image: url(sort-arrow-sprite.png);
12
- }
13
- </style>
14
- </head>
15
- <body>
16
- <div class='wrapper'>
17
- <div class='pad1'>
18
- <h1>
19
- <a href="index.html">All files</a> Ingest.js
20
- </h1>
21
- <div class='clearfix'>
22
- <div class='fl pad1y space-right2'>
23
- <span class="strong">86.89% </span>
24
- <span class="quiet">Statements</span>
25
- <span class='fraction'>232/267</span>
26
- </div>
27
- <div class='fl pad1y space-right2'>
28
- <span class="strong">84.48% </span>
29
- <span class="quiet">Branches</span>
30
- <span class='fraction'>196/232</span>
31
- </div>
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">86.36% </span>
34
- <span class="quiet">Functions</span>
35
- <span class='fraction'>19/22</span>
36
- </div>
37
- <div class='fl pad1y space-right2'>
38
- <span class="strong">86.84% </span>
39
- <span class="quiet">Lines</span>
40
- <span class='fraction'>231/266</span>
41
- </div>
42
- </div>
43
- <p class="quiet">
44
- 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.
45
- </p>
46
- </div>
47
- <div class='status-line high'></div>
48
- <pre><table class="coverage">
49
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
50
- <a name='L2'></a><a href='#L2'>2</a>
51
- <a name='L3'></a><a href='#L3'>3</a>
52
- <a name='L4'></a><a href='#L4'>4</a>
53
- <a name='L5'></a><a href='#L5'>5</a>
54
- <a name='L6'></a><a href='#L6'>6</a>
55
- <a name='L7'></a><a href='#L7'>7</a>
56
- <a name='L8'></a><a href='#L8'>8</a>
57
- <a name='L9'></a><a href='#L9'>9</a>
58
- <a name='L10'></a><a href='#L10'>10</a>
59
- <a name='L11'></a><a href='#L11'>11</a>
60
- <a name='L12'></a><a href='#L12'>12</a>
61
- <a name='L13'></a><a href='#L13'>13</a>
62
- <a name='L14'></a><a href='#L14'>14</a>
63
- <a name='L15'></a><a href='#L15'>15</a>
64
- <a name='L16'></a><a href='#L16'>16</a>
65
- <a name='L17'></a><a href='#L17'>17</a>
66
- <a name='L18'></a><a href='#L18'>18</a>
67
- <a name='L19'></a><a href='#L19'>19</a>
68
- <a name='L20'></a><a href='#L20'>20</a>
69
- <a name='L21'></a><a href='#L21'>21</a>
70
- <a name='L22'></a><a href='#L22'>22</a>
71
- <a name='L23'></a><a href='#L23'>23</a>
72
- <a name='L24'></a><a href='#L24'>24</a>
73
- <a name='L25'></a><a href='#L25'>25</a>
74
- <a name='L26'></a><a href='#L26'>26</a>
75
- <a name='L27'></a><a href='#L27'>27</a>
76
- <a name='L28'></a><a href='#L28'>28</a>
77
- <a name='L29'></a><a href='#L29'>29</a>
78
- <a name='L30'></a><a href='#L30'>30</a>
79
- <a name='L31'></a><a href='#L31'>31</a>
80
- <a name='L32'></a><a href='#L32'>32</a>
81
- <a name='L33'></a><a href='#L33'>33</a>
82
- <a name='L34'></a><a href='#L34'>34</a>
83
- <a name='L35'></a><a href='#L35'>35</a>
84
- <a name='L36'></a><a href='#L36'>36</a>
85
- <a name='L37'></a><a href='#L37'>37</a>
86
- <a name='L38'></a><a href='#L38'>38</a>
87
- <a name='L39'></a><a href='#L39'>39</a>
88
- <a name='L40'></a><a href='#L40'>40</a>
89
- <a name='L41'></a><a href='#L41'>41</a>
90
- <a name='L42'></a><a href='#L42'>42</a>
91
- <a name='L43'></a><a href='#L43'>43</a>
92
- <a name='L44'></a><a href='#L44'>44</a>
93
- <a name='L45'></a><a href='#L45'>45</a>
94
- <a name='L46'></a><a href='#L46'>46</a>
95
- <a name='L47'></a><a href='#L47'>47</a>
96
- <a name='L48'></a><a href='#L48'>48</a>
97
- <a name='L49'></a><a href='#L49'>49</a>
98
- <a name='L50'></a><a href='#L50'>50</a>
99
- <a name='L51'></a><a href='#L51'>51</a>
100
- <a name='L52'></a><a href='#L52'>52</a>
101
- <a name='L53'></a><a href='#L53'>53</a>
102
- <a name='L54'></a><a href='#L54'>54</a>
103
- <a name='L55'></a><a href='#L55'>55</a>
104
- <a name='L56'></a><a href='#L56'>56</a>
105
- <a name='L57'></a><a href='#L57'>57</a>
106
- <a name='L58'></a><a href='#L58'>58</a>
107
- <a name='L59'></a><a href='#L59'>59</a>
108
- <a name='L60'></a><a href='#L60'>60</a>
109
- <a name='L61'></a><a href='#L61'>61</a>
110
- <a name='L62'></a><a href='#L62'>62</a>
111
- <a name='L63'></a><a href='#L63'>63</a>
112
- <a name='L64'></a><a href='#L64'>64</a>
113
- <a name='L65'></a><a href='#L65'>65</a>
114
- <a name='L66'></a><a href='#L66'>66</a>
115
- <a name='L67'></a><a href='#L67'>67</a>
116
- <a name='L68'></a><a href='#L68'>68</a>
117
- <a name='L69'></a><a href='#L69'>69</a>
118
- <a name='L70'></a><a href='#L70'>70</a>
119
- <a name='L71'></a><a href='#L71'>71</a>
120
- <a name='L72'></a><a href='#L72'>72</a>
121
- <a name='L73'></a><a href='#L73'>73</a>
122
- <a name='L74'></a><a href='#L74'>74</a>
123
- <a name='L75'></a><a href='#L75'>75</a>
124
- <a name='L76'></a><a href='#L76'>76</a>
125
- <a name='L77'></a><a href='#L77'>77</a>
126
- <a name='L78'></a><a href='#L78'>78</a>
127
- <a name='L79'></a><a href='#L79'>79</a>
128
- <a name='L80'></a><a href='#L80'>80</a>
129
- <a name='L81'></a><a href='#L81'>81</a>
130
- <a name='L82'></a><a href='#L82'>82</a>
131
- <a name='L83'></a><a href='#L83'>83</a>
132
- <a name='L84'></a><a href='#L84'>84</a>
133
- <a name='L85'></a><a href='#L85'>85</a>
134
- <a name='L86'></a><a href='#L86'>86</a>
135
- <a name='L87'></a><a href='#L87'>87</a>
136
- <a name='L88'></a><a href='#L88'>88</a>
137
- <a name='L89'></a><a href='#L89'>89</a>
138
- <a name='L90'></a><a href='#L90'>90</a>
139
- <a name='L91'></a><a href='#L91'>91</a>
140
- <a name='L92'></a><a href='#L92'>92</a>
141
- <a name='L93'></a><a href='#L93'>93</a>
142
- <a name='L94'></a><a href='#L94'>94</a>
143
- <a name='L95'></a><a href='#L95'>95</a>
144
- <a name='L96'></a><a href='#L96'>96</a>
145
- <a name='L97'></a><a href='#L97'>97</a>
146
- <a name='L98'></a><a href='#L98'>98</a>
147
- <a name='L99'></a><a href='#L99'>99</a>
148
- <a name='L100'></a><a href='#L100'>100</a>
149
- <a name='L101'></a><a href='#L101'>101</a>
150
- <a name='L102'></a><a href='#L102'>102</a>
151
- <a name='L103'></a><a href='#L103'>103</a>
152
- <a name='L104'></a><a href='#L104'>104</a>
153
- <a name='L105'></a><a href='#L105'>105</a>
154
- <a name='L106'></a><a href='#L106'>106</a>
155
- <a name='L107'></a><a href='#L107'>107</a>
156
- <a name='L108'></a><a href='#L108'>108</a>
157
- <a name='L109'></a><a href='#L109'>109</a>
158
- <a name='L110'></a><a href='#L110'>110</a>
159
- <a name='L111'></a><a href='#L111'>111</a>
160
- <a name='L112'></a><a href='#L112'>112</a>
161
- <a name='L113'></a><a href='#L113'>113</a>
162
- <a name='L114'></a><a href='#L114'>114</a>
163
- <a name='L115'></a><a href='#L115'>115</a>
164
- <a name='L116'></a><a href='#L116'>116</a>
165
- <a name='L117'></a><a href='#L117'>117</a>
166
- <a name='L118'></a><a href='#L118'>118</a>
167
- <a name='L119'></a><a href='#L119'>119</a>
168
- <a name='L120'></a><a href='#L120'>120</a>
169
- <a name='L121'></a><a href='#L121'>121</a>
170
- <a name='L122'></a><a href='#L122'>122</a>
171
- <a name='L123'></a><a href='#L123'>123</a>
172
- <a name='L124'></a><a href='#L124'>124</a>
173
- <a name='L125'></a><a href='#L125'>125</a>
174
- <a name='L126'></a><a href='#L126'>126</a>
175
- <a name='L127'></a><a href='#L127'>127</a>
176
- <a name='L128'></a><a href='#L128'>128</a>
177
- <a name='L129'></a><a href='#L129'>129</a>
178
- <a name='L130'></a><a href='#L130'>130</a>
179
- <a name='L131'></a><a href='#L131'>131</a>
180
- <a name='L132'></a><a href='#L132'>132</a>
181
- <a name='L133'></a><a href='#L133'>133</a>
182
- <a name='L134'></a><a href='#L134'>134</a>
183
- <a name='L135'></a><a href='#L135'>135</a>
184
- <a name='L136'></a><a href='#L136'>136</a>
185
- <a name='L137'></a><a href='#L137'>137</a>
186
- <a name='L138'></a><a href='#L138'>138</a>
187
- <a name='L139'></a><a href='#L139'>139</a>
188
- <a name='L140'></a><a href='#L140'>140</a>
189
- <a name='L141'></a><a href='#L141'>141</a>
190
- <a name='L142'></a><a href='#L142'>142</a>
191
- <a name='L143'></a><a href='#L143'>143</a>
192
- <a name='L144'></a><a href='#L144'>144</a>
193
- <a name='L145'></a><a href='#L145'>145</a>
194
- <a name='L146'></a><a href='#L146'>146</a>
195
- <a name='L147'></a><a href='#L147'>147</a>
196
- <a name='L148'></a><a href='#L148'>148</a>
197
- <a name='L149'></a><a href='#L149'>149</a>
198
- <a name='L150'></a><a href='#L150'>150</a>
199
- <a name='L151'></a><a href='#L151'>151</a>
200
- <a name='L152'></a><a href='#L152'>152</a>
201
- <a name='L153'></a><a href='#L153'>153</a>
202
- <a name='L154'></a><a href='#L154'>154</a>
203
- <a name='L155'></a><a href='#L155'>155</a>
204
- <a name='L156'></a><a href='#L156'>156</a>
205
- <a name='L157'></a><a href='#L157'>157</a>
206
- <a name='L158'></a><a href='#L158'>158</a>
207
- <a name='L159'></a><a href='#L159'>159</a>
208
- <a name='L160'></a><a href='#L160'>160</a>
209
- <a name='L161'></a><a href='#L161'>161</a>
210
- <a name='L162'></a><a href='#L162'>162</a>
211
- <a name='L163'></a><a href='#L163'>163</a>
212
- <a name='L164'></a><a href='#L164'>164</a>
213
- <a name='L165'></a><a href='#L165'>165</a>
214
- <a name='L166'></a><a href='#L166'>166</a>
215
- <a name='L167'></a><a href='#L167'>167</a>
216
- <a name='L168'></a><a href='#L168'>168</a>
217
- <a name='L169'></a><a href='#L169'>169</a>
218
- <a name='L170'></a><a href='#L170'>170</a>
219
- <a name='L171'></a><a href='#L171'>171</a>
220
- <a name='L172'></a><a href='#L172'>172</a>
221
- <a name='L173'></a><a href='#L173'>173</a>
222
- <a name='L174'></a><a href='#L174'>174</a>
223
- <a name='L175'></a><a href='#L175'>175</a>
224
- <a name='L176'></a><a href='#L176'>176</a>
225
- <a name='L177'></a><a href='#L177'>177</a>
226
- <a name='L178'></a><a href='#L178'>178</a>
227
- <a name='L179'></a><a href='#L179'>179</a>
228
- <a name='L180'></a><a href='#L180'>180</a>
229
- <a name='L181'></a><a href='#L181'>181</a>
230
- <a name='L182'></a><a href='#L182'>182</a>
231
- <a name='L183'></a><a href='#L183'>183</a>
232
- <a name='L184'></a><a href='#L184'>184</a>
233
- <a name='L185'></a><a href='#L185'>185</a>
234
- <a name='L186'></a><a href='#L186'>186</a>
235
- <a name='L187'></a><a href='#L187'>187</a>
236
- <a name='L188'></a><a href='#L188'>188</a>
237
- <a name='L189'></a><a href='#L189'>189</a>
238
- <a name='L190'></a><a href='#L190'>190</a>
239
- <a name='L191'></a><a href='#L191'>191</a>
240
- <a name='L192'></a><a href='#L192'>192</a>
241
- <a name='L193'></a><a href='#L193'>193</a>
242
- <a name='L194'></a><a href='#L194'>194</a>
243
- <a name='L195'></a><a href='#L195'>195</a>
244
- <a name='L196'></a><a href='#L196'>196</a>
245
- <a name='L197'></a><a href='#L197'>197</a>
246
- <a name='L198'></a><a href='#L198'>198</a>
247
- <a name='L199'></a><a href='#L199'>199</a>
248
- <a name='L200'></a><a href='#L200'>200</a>
249
- <a name='L201'></a><a href='#L201'>201</a>
250
- <a name='L202'></a><a href='#L202'>202</a>
251
- <a name='L203'></a><a href='#L203'>203</a>
252
- <a name='L204'></a><a href='#L204'>204</a>
253
- <a name='L205'></a><a href='#L205'>205</a>
254
- <a name='L206'></a><a href='#L206'>206</a>
255
- <a name='L207'></a><a href='#L207'>207</a>
256
- <a name='L208'></a><a href='#L208'>208</a>
257
- <a name='L209'></a><a href='#L209'>209</a>
258
- <a name='L210'></a><a href='#L210'>210</a>
259
- <a name='L211'></a><a href='#L211'>211</a>
260
- <a name='L212'></a><a href='#L212'>212</a>
261
- <a name='L213'></a><a href='#L213'>213</a>
262
- <a name='L214'></a><a href='#L214'>214</a>
263
- <a name='L215'></a><a href='#L215'>215</a>
264
- <a name='L216'></a><a href='#L216'>216</a>
265
- <a name='L217'></a><a href='#L217'>217</a>
266
- <a name='L218'></a><a href='#L218'>218</a>
267
- <a name='L219'></a><a href='#L219'>219</a>
268
- <a name='L220'></a><a href='#L220'>220</a>
269
- <a name='L221'></a><a href='#L221'>221</a>
270
- <a name='L222'></a><a href='#L222'>222</a>
271
- <a name='L223'></a><a href='#L223'>223</a>
272
- <a name='L224'></a><a href='#L224'>224</a>
273
- <a name='L225'></a><a href='#L225'>225</a>
274
- <a name='L226'></a><a href='#L226'>226</a>
275
- <a name='L227'></a><a href='#L227'>227</a>
276
- <a name='L228'></a><a href='#L228'>228</a>
277
- <a name='L229'></a><a href='#L229'>229</a>
278
- <a name='L230'></a><a href='#L230'>230</a>
279
- <a name='L231'></a><a href='#L231'>231</a>
280
- <a name='L232'></a><a href='#L232'>232</a>
281
- <a name='L233'></a><a href='#L233'>233</a>
282
- <a name='L234'></a><a href='#L234'>234</a>
283
- <a name='L235'></a><a href='#L235'>235</a>
284
- <a name='L236'></a><a href='#L236'>236</a>
285
- <a name='L237'></a><a href='#L237'>237</a>
286
- <a name='L238'></a><a href='#L238'>238</a>
287
- <a name='L239'></a><a href='#L239'>239</a>
288
- <a name='L240'></a><a href='#L240'>240</a>
289
- <a name='L241'></a><a href='#L241'>241</a>
290
- <a name='L242'></a><a href='#L242'>242</a>
291
- <a name='L243'></a><a href='#L243'>243</a>
292
- <a name='L244'></a><a href='#L244'>244</a>
293
- <a name='L245'></a><a href='#L245'>245</a>
294
- <a name='L246'></a><a href='#L246'>246</a>
295
- <a name='L247'></a><a href='#L247'>247</a>
296
- <a name='L248'></a><a href='#L248'>248</a>
297
- <a name='L249'></a><a href='#L249'>249</a>
298
- <a name='L250'></a><a href='#L250'>250</a>
299
- <a name='L251'></a><a href='#L251'>251</a>
300
- <a name='L252'></a><a href='#L252'>252</a>
301
- <a name='L253'></a><a href='#L253'>253</a>
302
- <a name='L254'></a><a href='#L254'>254</a>
303
- <a name='L255'></a><a href='#L255'>255</a>
304
- <a name='L256'></a><a href='#L256'>256</a>
305
- <a name='L257'></a><a href='#L257'>257</a>
306
- <a name='L258'></a><a href='#L258'>258</a>
307
- <a name='L259'></a><a href='#L259'>259</a>
308
- <a name='L260'></a><a href='#L260'>260</a>
309
- <a name='L261'></a><a href='#L261'>261</a>
310
- <a name='L262'></a><a href='#L262'>262</a>
311
- <a name='L263'></a><a href='#L263'>263</a>
312
- <a name='L264'></a><a href='#L264'>264</a>
313
- <a name='L265'></a><a href='#L265'>265</a>
314
- <a name='L266'></a><a href='#L266'>266</a>
315
- <a name='L267'></a><a href='#L267'>267</a>
316
- <a name='L268'></a><a href='#L268'>268</a>
317
- <a name='L269'></a><a href='#L269'>269</a>
318
- <a name='L270'></a><a href='#L270'>270</a>
319
- <a name='L271'></a><a href='#L271'>271</a>
320
- <a name='L272'></a><a href='#L272'>272</a>
321
- <a name='L273'></a><a href='#L273'>273</a>
322
- <a name='L274'></a><a href='#L274'>274</a>
323
- <a name='L275'></a><a href='#L275'>275</a>
324
- <a name='L276'></a><a href='#L276'>276</a>
325
- <a name='L277'></a><a href='#L277'>277</a>
326
- <a name='L278'></a><a href='#L278'>278</a>
327
- <a name='L279'></a><a href='#L279'>279</a>
328
- <a name='L280'></a><a href='#L280'>280</a>
329
- <a name='L281'></a><a href='#L281'>281</a>
330
- <a name='L282'></a><a href='#L282'>282</a>
331
- <a name='L283'></a><a href='#L283'>283</a>
332
- <a name='L284'></a><a href='#L284'>284</a>
333
- <a name='L285'></a><a href='#L285'>285</a>
334
- <a name='L286'></a><a href='#L286'>286</a>
335
- <a name='L287'></a><a href='#L287'>287</a>
336
- <a name='L288'></a><a href='#L288'>288</a>
337
- <a name='L289'></a><a href='#L289'>289</a>
338
- <a name='L290'></a><a href='#L290'>290</a>
339
- <a name='L291'></a><a href='#L291'>291</a>
340
- <a name='L292'></a><a href='#L292'>292</a>
341
- <a name='L293'></a><a href='#L293'>293</a>
342
- <a name='L294'></a><a href='#L294'>294</a>
343
- <a name='L295'></a><a href='#L295'>295</a>
344
- <a name='L296'></a><a href='#L296'>296</a>
345
- <a name='L297'></a><a href='#L297'>297</a>
346
- <a name='L298'></a><a href='#L298'>298</a>
347
- <a name='L299'></a><a href='#L299'>299</a>
348
- <a name='L300'></a><a href='#L300'>300</a>
349
- <a name='L301'></a><a href='#L301'>301</a>
350
- <a name='L302'></a><a href='#L302'>302</a>
351
- <a name='L303'></a><a href='#L303'>303</a>
352
- <a name='L304'></a><a href='#L304'>304</a>
353
- <a name='L305'></a><a href='#L305'>305</a>
354
- <a name='L306'></a><a href='#L306'>306</a>
355
- <a name='L307'></a><a href='#L307'>307</a>
356
- <a name='L308'></a><a href='#L308'>308</a>
357
- <a name='L309'></a><a href='#L309'>309</a>
358
- <a name='L310'></a><a href='#L310'>310</a>
359
- <a name='L311'></a><a href='#L311'>311</a>
360
- <a name='L312'></a><a href='#L312'>312</a>
361
- <a name='L313'></a><a href='#L313'>313</a>
362
- <a name='L314'></a><a href='#L314'>314</a>
363
- <a name='L315'></a><a href='#L315'>315</a>
364
- <a name='L316'></a><a href='#L316'>316</a>
365
- <a name='L317'></a><a href='#L317'>317</a>
366
- <a name='L318'></a><a href='#L318'>318</a>
367
- <a name='L319'></a><a href='#L319'>319</a>
368
- <a name='L320'></a><a href='#L320'>320</a>
369
- <a name='L321'></a><a href='#L321'>321</a>
370
- <a name='L322'></a><a href='#L322'>322</a>
371
- <a name='L323'></a><a href='#L323'>323</a>
372
- <a name='L324'></a><a href='#L324'>324</a>
373
- <a name='L325'></a><a href='#L325'>325</a>
374
- <a name='L326'></a><a href='#L326'>326</a>
375
- <a name='L327'></a><a href='#L327'>327</a>
376
- <a name='L328'></a><a href='#L328'>328</a>
377
- <a name='L329'></a><a href='#L329'>329</a>
378
- <a name='L330'></a><a href='#L330'>330</a>
379
- <a name='L331'></a><a href='#L331'>331</a>
380
- <a name='L332'></a><a href='#L332'>332</a>
381
- <a name='L333'></a><a href='#L333'>333</a>
382
- <a name='L334'></a><a href='#L334'>334</a>
383
- <a name='L335'></a><a href='#L335'>335</a>
384
- <a name='L336'></a><a href='#L336'>336</a>
385
- <a name='L337'></a><a href='#L337'>337</a>
386
- <a name='L338'></a><a href='#L338'>338</a>
387
- <a name='L339'></a><a href='#L339'>339</a>
388
- <a name='L340'></a><a href='#L340'>340</a>
389
- <a name='L341'></a><a href='#L341'>341</a>
390
- <a name='L342'></a><a href='#L342'>342</a>
391
- <a name='L343'></a><a href='#L343'>343</a>
392
- <a name='L344'></a><a href='#L344'>344</a>
393
- <a name='L345'></a><a href='#L345'>345</a>
394
- <a name='L346'></a><a href='#L346'>346</a>
395
- <a name='L347'></a><a href='#L347'>347</a>
396
- <a name='L348'></a><a href='#L348'>348</a>
397
- <a name='L349'></a><a href='#L349'>349</a>
398
- <a name='L350'></a><a href='#L350'>350</a>
399
- <a name='L351'></a><a href='#L351'>351</a>
400
- <a name='L352'></a><a href='#L352'>352</a>
401
- <a name='L353'></a><a href='#L353'>353</a>
402
- <a name='L354'></a><a href='#L354'>354</a>
403
- <a name='L355'></a><a href='#L355'>355</a>
404
- <a name='L356'></a><a href='#L356'>356</a>
405
- <a name='L357'></a><a href='#L357'>357</a>
406
- <a name='L358'></a><a href='#L358'>358</a>
407
- <a name='L359'></a><a href='#L359'>359</a>
408
- <a name='L360'></a><a href='#L360'>360</a>
409
- <a name='L361'></a><a href='#L361'>361</a>
410
- <a name='L362'></a><a href='#L362'>362</a>
411
- <a name='L363'></a><a href='#L363'>363</a>
412
- <a name='L364'></a><a href='#L364'>364</a>
413
- <a name='L365'></a><a href='#L365'>365</a>
414
- <a name='L366'></a><a href='#L366'>366</a>
415
- <a name='L367'></a><a href='#L367'>367</a>
416
- <a name='L368'></a><a href='#L368'>368</a>
417
- <a name='L369'></a><a href='#L369'>369</a>
418
- <a name='L370'></a><a href='#L370'>370</a>
419
- <a name='L371'></a><a href='#L371'>371</a>
420
- <a name='L372'></a><a href='#L372'>372</a>
421
- <a name='L373'></a><a href='#L373'>373</a>
422
- <a name='L374'></a><a href='#L374'>374</a>
423
- <a name='L375'></a><a href='#L375'>375</a>
424
- <a name='L376'></a><a href='#L376'>376</a>
425
- <a name='L377'></a><a href='#L377'>377</a>
426
- <a name='L378'></a><a href='#L378'>378</a>
427
- <a name='L379'></a><a href='#L379'>379</a>
428
- <a name='L380'></a><a href='#L380'>380</a>
429
- <a name='L381'></a><a href='#L381'>381</a>
430
- <a name='L382'></a><a href='#L382'>382</a>
431
- <a name='L383'></a><a href='#L383'>383</a>
432
- <a name='L384'></a><a href='#L384'>384</a>
433
- <a name='L385'></a><a href='#L385'>385</a>
434
- <a name='L386'></a><a href='#L386'>386</a>
435
- <a name='L387'></a><a href='#L387'>387</a>
436
- <a name='L388'></a><a href='#L388'>388</a>
437
- <a name='L389'></a><a href='#L389'>389</a>
438
- <a name='L390'></a><a href='#L390'>390</a>
439
- <a name='L391'></a><a href='#L391'>391</a>
440
- <a name='L392'></a><a href='#L392'>392</a>
441
- <a name='L393'></a><a href='#L393'>393</a>
442
- <a name='L394'></a><a href='#L394'>394</a>
443
- <a name='L395'></a><a href='#L395'>395</a>
444
- <a name='L396'></a><a href='#L396'>396</a>
445
- <a name='L397'></a><a href='#L397'>397</a>
446
- <a name='L398'></a><a href='#L398'>398</a>
447
- <a name='L399'></a><a href='#L399'>399</a>
448
- <a name='L400'></a><a href='#L400'>400</a>
449
- <a name='L401'></a><a href='#L401'>401</a>
450
- <a name='L402'></a><a href='#L402'>402</a>
451
- <a name='L403'></a><a href='#L403'>403</a>
452
- <a name='L404'></a><a href='#L404'>404</a>
453
- <a name='L405'></a><a href='#L405'>405</a>
454
- <a name='L406'></a><a href='#L406'>406</a>
455
- <a name='L407'></a><a href='#L407'>407</a>
456
- <a name='L408'></a><a href='#L408'>408</a>
457
- <a name='L409'></a><a href='#L409'>409</a>
458
- <a name='L410'></a><a href='#L410'>410</a>
459
- <a name='L411'></a><a href='#L411'>411</a>
460
- <a name='L412'></a><a href='#L412'>412</a>
461
- <a name='L413'></a><a href='#L413'>413</a>
462
- <a name='L414'></a><a href='#L414'>414</a>
463
- <a name='L415'></a><a href='#L415'>415</a>
464
- <a name='L416'></a><a href='#L416'>416</a>
465
- <a name='L417'></a><a href='#L417'>417</a>
466
- <a name='L418'></a><a href='#L418'>418</a>
467
- <a name='L419'></a><a href='#L419'>419</a>
468
- <a name='L420'></a><a href='#L420'>420</a>
469
- <a name='L421'></a><a href='#L421'>421</a>
470
- <a name='L422'></a><a href='#L422'>422</a>
471
- <a name='L423'></a><a href='#L423'>423</a>
472
- <a name='L424'></a><a href='#L424'>424</a>
473
- <a name='L425'></a><a href='#L425'>425</a>
474
- <a name='L426'></a><a href='#L426'>426</a>
475
- <a name='L427'></a><a href='#L427'>427</a>
476
- <a name='L428'></a><a href='#L428'>428</a>
477
- <a name='L429'></a><a href='#L429'>429</a>
478
- <a name='L430'></a><a href='#L430'>430</a>
479
- <a name='L431'></a><a href='#L431'>431</a>
480
- <a name='L432'></a><a href='#L432'>432</a>
481
- <a name='L433'></a><a href='#L433'>433</a>
482
- <a name='L434'></a><a href='#L434'>434</a>
483
- <a name='L435'></a><a href='#L435'>435</a>
484
- <a name='L436'></a><a href='#L436'>436</a>
485
- <a name='L437'></a><a href='#L437'>437</a>
486
- <a name='L438'></a><a href='#L438'>438</a>
487
- <a name='L439'></a><a href='#L439'>439</a>
488
- <a name='L440'></a><a href='#L440'>440</a>
489
- <a name='L441'></a><a href='#L441'>441</a>
490
- <a name='L442'></a><a href='#L442'>442</a>
491
- <a name='L443'></a><a href='#L443'>443</a>
492
- <a name='L444'></a><a href='#L444'>444</a>
493
- <a name='L445'></a><a href='#L445'>445</a>
494
- <a name='L446'></a><a href='#L446'>446</a>
495
- <a name='L447'></a><a href='#L447'>447</a>
496
- <a name='L448'></a><a href='#L448'>448</a>
497
- <a name='L449'></a><a href='#L449'>449</a>
498
- <a name='L450'></a><a href='#L450'>450</a>
499
- <a name='L451'></a><a href='#L451'>451</a>
500
- <a name='L452'></a><a href='#L452'>452</a>
501
- <a name='L453'></a><a href='#L453'>453</a>
502
- <a name='L454'></a><a href='#L454'>454</a>
503
- <a name='L455'></a><a href='#L455'>455</a>
504
- <a name='L456'></a><a href='#L456'>456</a>
505
- <a name='L457'></a><a href='#L457'>457</a>
506
- <a name='L458'></a><a href='#L458'>458</a>
507
- <a name='L459'></a><a href='#L459'>459</a>
508
- <a name='L460'></a><a href='#L460'>460</a>
509
- <a name='L461'></a><a href='#L461'>461</a>
510
- <a name='L462'></a><a href='#L462'>462</a>
511
- <a name='L463'></a><a href='#L463'>463</a>
512
- <a name='L464'></a><a href='#L464'>464</a>
513
- <a name='L465'></a><a href='#L465'>465</a>
514
- <a name='L466'></a><a href='#L466'>466</a>
515
- <a name='L467'></a><a href='#L467'>467</a>
516
- <a name='L468'></a><a href='#L468'>468</a>
517
- <a name='L469'></a><a href='#L469'>469</a>
518
- <a name='L470'></a><a href='#L470'>470</a>
519
- <a name='L471'></a><a href='#L471'>471</a>
520
- <a name='L472'></a><a href='#L472'>472</a>
521
- <a name='L473'></a><a href='#L473'>473</a>
522
- <a name='L474'></a><a href='#L474'>474</a>
523
- <a name='L475'></a><a href='#L475'>475</a>
524
- <a name='L476'></a><a href='#L476'>476</a>
525
- <a name='L477'></a><a href='#L477'>477</a>
526
- <a name='L478'></a><a href='#L478'>478</a>
527
- <a name='L479'></a><a href='#L479'>479</a>
528
- <a name='L480'></a><a href='#L480'>480</a>
529
- <a name='L481'></a><a href='#L481'>481</a>
530
- <a name='L482'></a><a href='#L482'>482</a>
531
- <a name='L483'></a><a href='#L483'>483</a>
532
- <a name='L484'></a><a href='#L484'>484</a>
533
- <a name='L485'></a><a href='#L485'>485</a>
534
- <a name='L486'></a><a href='#L486'>486</a>
535
- <a name='L487'></a><a href='#L487'>487</a>
536
- <a name='L488'></a><a href='#L488'>488</a>
537
- <a name='L489'></a><a href='#L489'>489</a>
538
- <a name='L490'></a><a href='#L490'>490</a>
539
- <a name='L491'></a><a href='#L491'>491</a>
540
- <a name='L492'></a><a href='#L492'>492</a>
541
- <a name='L493'></a><a href='#L493'>493</a>
542
- <a name='L494'></a><a href='#L494'>494</a>
543
- <a name='L495'></a><a href='#L495'>495</a>
544
- <a name='L496'></a><a href='#L496'>496</a>
545
- <a name='L497'></a><a href='#L497'>497</a>
546
- <a name='L498'></a><a href='#L498'>498</a>
547
- <a name='L499'></a><a href='#L499'>499</a>
548
- <a name='L500'></a><a href='#L500'>500</a>
549
- <a name='L501'></a><a href='#L501'>501</a>
550
- <a name='L502'></a><a href='#L502'>502</a>
551
- <a name='L503'></a><a href='#L503'>503</a>
552
- <a name='L504'></a><a href='#L504'>504</a>
553
- <a name='L505'></a><a href='#L505'>505</a>
554
- <a name='L506'></a><a href='#L506'>506</a>
555
- <a name='L507'></a><a href='#L507'>507</a>
556
- <a name='L508'></a><a href='#L508'>508</a>
557
- <a name='L509'></a><a href='#L509'>509</a>
558
- <a name='L510'></a><a href='#L510'>510</a>
559
- <a name='L511'></a><a href='#L511'>511</a>
560
- <a name='L512'></a><a href='#L512'>512</a>
561
- <a name='L513'></a><a href='#L513'>513</a>
562
- <a name='L514'></a><a href='#L514'>514</a>
563
- <a name='L515'></a><a href='#L515'>515</a>
564
- <a name='L516'></a><a href='#L516'>516</a>
565
- <a name='L517'></a><a href='#L517'>517</a>
566
- <a name='L518'></a><a href='#L518'>518</a>
567
- <a name='L519'></a><a href='#L519'>519</a>
568
- <a name='L520'></a><a href='#L520'>520</a>
569
- <a name='L521'></a><a href='#L521'>521</a>
570
- <a name='L522'></a><a href='#L522'>522</a>
571
- <a name='L523'></a><a href='#L523'>523</a>
572
- <a name='L524'></a><a href='#L524'>524</a>
573
- <a name='L525'></a><a href='#L525'>525</a>
574
- <a name='L526'></a><a href='#L526'>526</a>
575
- <a name='L527'></a><a href='#L527'>527</a>
576
- <a name='L528'></a><a href='#L528'>528</a>
577
- <a name='L529'></a><a href='#L529'>529</a>
578
- <a name='L530'></a><a href='#L530'>530</a>
579
- <a name='L531'></a><a href='#L531'>531</a>
580
- <a name='L532'></a><a href='#L532'>532</a>
581
- <a name='L533'></a><a href='#L533'>533</a>
582
- <a name='L534'></a><a href='#L534'>534</a>
583
- <a name='L535'></a><a href='#L535'>535</a>
584
- <a name='L536'></a><a href='#L536'>536</a>
585
- <a name='L537'></a><a href='#L537'>537</a>
586
- <a name='L538'></a><a href='#L538'>538</a>
587
- <a name='L539'></a><a href='#L539'>539</a>
588
- <a name='L540'></a><a href='#L540'>540</a>
589
- <a name='L541'></a><a href='#L541'>541</a>
590
- <a name='L542'></a><a href='#L542'>542</a>
591
- <a name='L543'></a><a href='#L543'>543</a>
592
- <a name='L544'></a><a href='#L544'>544</a>
593
- <a name='L545'></a><a href='#L545'>545</a>
594
- <a name='L546'></a><a href='#L546'>546</a>
595
- <a name='L547'></a><a href='#L547'>547</a>
596
- <a name='L548'></a><a href='#L548'>548</a>
597
- <a name='L549'></a><a href='#L549'>549</a>
598
- <a name='L550'></a><a href='#L550'>550</a>
599
- <a name='L551'></a><a href='#L551'>551</a>
600
- <a name='L552'></a><a href='#L552'>552</a>
601
- <a name='L553'></a><a href='#L553'>553</a>
602
- <a name='L554'></a><a href='#L554'>554</a>
603
- <a name='L555'></a><a href='#L555'>555</a>
604
- <a name='L556'></a><a href='#L556'>556</a>
605
- <a name='L557'></a><a href='#L557'>557</a>
606
- <a name='L558'></a><a href='#L558'>558</a>
607
- <a name='L559'></a><a href='#L559'>559</a>
608
- <a name='L560'></a><a href='#L560'>560</a>
609
- <a name='L561'></a><a href='#L561'>561</a>
610
- <a name='L562'></a><a href='#L562'>562</a>
611
- <a name='L563'></a><a href='#L563'>563</a>
612
- <a name='L564'></a><a href='#L564'>564</a>
613
- <a name='L565'></a><a href='#L565'>565</a>
614
- <a name='L566'></a><a href='#L566'>566</a>
615
- <a name='L567'></a><a href='#L567'>567</a>
616
- <a name='L568'></a><a href='#L568'>568</a>
617
- <a name='L569'></a><a href='#L569'>569</a>
618
- <a name='L570'></a><a href='#L570'>570</a>
619
- <a name='L571'></a><a href='#L571'>571</a>
620
- <a name='L572'></a><a href='#L572'>572</a>
621
- <a name='L573'></a><a href='#L573'>573</a>
622
- <a name='L574'></a><a href='#L574'>574</a>
623
- <a name='L575'></a><a href='#L575'>575</a>
624
- <a name='L576'></a><a href='#L576'>576</a>
625
- <a name='L577'></a><a href='#L577'>577</a>
626
- <a name='L578'></a><a href='#L578'>578</a>
627
- <a name='L579'></a><a href='#L579'>579</a>
628
- <a name='L580'></a><a href='#L580'>580</a>
629
- <a name='L581'></a><a href='#L581'>581</a>
630
- <a name='L582'></a><a href='#L582'>582</a>
631
- <a name='L583'></a><a href='#L583'>583</a>
632
- <a name='L584'></a><a href='#L584'>584</a>
633
- <a name='L585'></a><a href='#L585'>585</a>
634
- <a name='L586'></a><a href='#L586'>586</a>
635
- <a name='L587'></a><a href='#L587'>587</a>
636
- <a name='L588'></a><a href='#L588'>588</a>
637
- <a name='L589'></a><a href='#L589'>589</a>
638
- <a name='L590'></a><a href='#L590'>590</a>
639
- <a name='L591'></a><a href='#L591'>591</a>
640
- <a name='L592'></a><a href='#L592'>592</a>
641
- <a name='L593'></a><a href='#L593'>593</a>
642
- <a name='L594'></a><a href='#L594'>594</a>
643
- <a name='L595'></a><a href='#L595'>595</a>
644
- <a name='L596'></a><a href='#L596'>596</a>
645
- <a name='L597'></a><a href='#L597'>597</a>
646
- <a name='L598'></a><a href='#L598'>598</a>
647
- <a name='L599'></a><a href='#L599'>599</a>
648
- <a name='L600'></a><a href='#L600'>600</a>
649
- <a name='L601'></a><a href='#L601'>601</a>
650
- <a name='L602'></a><a href='#L602'>602</a>
651
- <a name='L603'></a><a href='#L603'>603</a>
652
- <a name='L604'></a><a href='#L604'>604</a>
653
- <a name='L605'></a><a href='#L605'>605</a>
654
- <a name='L606'></a><a href='#L606'>606</a>
655
- <a name='L607'></a><a href='#L607'>607</a>
656
- <a name='L608'></a><a href='#L608'>608</a>
657
- <a name='L609'></a><a href='#L609'>609</a>
658
- <a name='L610'></a><a href='#L610'>610</a>
659
- <a name='L611'></a><a href='#L611'>611</a>
660
- <a name='L612'></a><a href='#L612'>612</a>
661
- <a name='L613'></a><a href='#L613'>613</a>
662
- <a name='L614'></a><a href='#L614'>614</a>
663
- <a name='L615'></a><a href='#L615'>615</a>
664
- <a name='L616'></a><a href='#L616'>616</a>
665
- <a name='L617'></a><a href='#L617'>617</a>
666
- <a name='L618'></a><a href='#L618'>618</a>
667
- <a name='L619'></a><a href='#L619'>619</a>
668
- <a name='L620'></a><a href='#L620'>620</a>
669
- <a name='L621'></a><a href='#L621'>621</a>
670
- <a name='L622'></a><a href='#L622'>622</a>
671
- <a name='L623'></a><a href='#L623'>623</a>
672
- <a name='L624'></a><a href='#L624'>624</a>
673
- <a name='L625'></a><a href='#L625'>625</a>
674
- <a name='L626'></a><a href='#L626'>626</a>
675
- <a name='L627'></a><a href='#L627'>627</a>
676
- <a name='L628'></a><a href='#L628'>628</a>
677
- <a name='L629'></a><a href='#L629'>629</a>
678
- <a name='L630'></a><a href='#L630'>630</a>
679
- <a name='L631'></a><a href='#L631'>631</a>
680
- <a name='L632'></a><a href='#L632'>632</a>
681
- <a name='L633'></a><a href='#L633'>633</a>
682
- <a name='L634'></a><a href='#L634'>634</a>
683
- <a name='L635'></a><a href='#L635'>635</a>
684
- <a name='L636'></a><a href='#L636'>636</a>
685
- <a name='L637'></a><a href='#L637'>637</a>
686
- <a name='L638'></a><a href='#L638'>638</a>
687
- <a name='L639'></a><a href='#L639'>639</a>
688
- <a name='L640'></a><a href='#L640'>640</a>
689
- <a name='L641'></a><a href='#L641'>641</a>
690
- <a name='L642'></a><a href='#L642'>642</a>
691
- <a name='L643'></a><a href='#L643'>643</a>
692
- <a name='L644'></a><a href='#L644'>644</a>
693
- <a name='L645'></a><a href='#L645'>645</a>
694
- <a name='L646'></a><a href='#L646'>646</a>
695
- <a name='L647'></a><a href='#L647'>647</a>
696
- <a name='L648'></a><a href='#L648'>648</a>
697
- <a name='L649'></a><a href='#L649'>649</a>
698
- <a name='L650'></a><a href='#L650'>650</a>
699
- <a name='L651'></a><a href='#L651'>651</a>
700
- <a name='L652'></a><a href='#L652'>652</a>
701
- <a name='L653'></a><a href='#L653'>653</a>
702
- <a name='L654'></a><a href='#L654'>654</a>
703
- <a name='L655'></a><a href='#L655'>655</a>
704
- <a name='L656'></a><a href='#L656'>656</a>
705
- <a name='L657'></a><a href='#L657'>657</a>
706
- <a name='L658'></a><a href='#L658'>658</a>
707
- <a name='L659'></a><a href='#L659'>659</a>
708
- <a name='L660'></a><a href='#L660'>660</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
709
- <span class="cline-any cline-neutral">&nbsp;</span>
710
- <span class="cline-any cline-neutral">&nbsp;</span>
711
- <span class="cline-any cline-neutral">&nbsp;</span>
712
- <span class="cline-any cline-neutral">&nbsp;</span>
713
- <span class="cline-any cline-neutral">&nbsp;</span>
714
- <span class="cline-any cline-neutral">&nbsp;</span>
715
- <span class="cline-any cline-neutral">&nbsp;</span>
716
- <span class="cline-any cline-neutral">&nbsp;</span>
717
- <span class="cline-any cline-neutral">&nbsp;</span>
718
- <span class="cline-any cline-neutral">&nbsp;</span>
719
- <span class="cline-any cline-neutral">&nbsp;</span>
720
- <span class="cline-any cline-yes">52x</span>
721
- <span class="cline-any cline-yes">52x</span>
722
- <span class="cline-any cline-neutral">&nbsp;</span>
723
- <span class="cline-any cline-neutral">&nbsp;</span>
724
- <span class="cline-any cline-no">&nbsp;</span>
725
- <span class="cline-any cline-neutral">&nbsp;</span>
726
- <span class="cline-any cline-neutral">&nbsp;</span>
727
- <span class="cline-any cline-neutral">&nbsp;</span>
728
- <span class="cline-any cline-neutral">&nbsp;</span>
729
- <span class="cline-any cline-neutral">&nbsp;</span>
730
- <span class="cline-any cline-neutral">&nbsp;</span>
731
- <span class="cline-any cline-yes">2x</span>
732
- <span class="cline-any cline-yes">2x</span>
733
- <span class="cline-any cline-no">&nbsp;</span>
734
- <span class="cline-any cline-neutral">&nbsp;</span>
735
- <span class="cline-any cline-yes">2x</span>
736
- <span class="cline-any cline-no">&nbsp;</span>
737
- <span class="cline-any cline-neutral">&nbsp;</span>
738
- <span class="cline-any cline-yes">2x</span>
739
- <span class="cline-any cline-no">&nbsp;</span>
740
- <span class="cline-any cline-neutral">&nbsp;</span>
741
- <span class="cline-any cline-yes">2x</span>
742
- <span class="cline-any cline-neutral">&nbsp;</span>
743
- <span class="cline-any cline-neutral">&nbsp;</span>
744
- <span class="cline-any cline-neutral">&nbsp;</span>
745
- <span class="cline-any cline-neutral">&nbsp;</span>
746
- <span class="cline-any cline-neutral">&nbsp;</span>
747
- <span class="cline-any cline-neutral">&nbsp;</span>
748
- <span class="cline-any cline-neutral">&nbsp;</span>
749
- <span class="cline-any cline-neutral">&nbsp;</span>
750
- <span class="cline-any cline-neutral">&nbsp;</span>
751
- <span class="cline-any cline-neutral">&nbsp;</span>
752
- <span class="cline-any cline-neutral">&nbsp;</span>
753
- <span class="cline-any cline-yes">31x</span>
754
- <span class="cline-any cline-yes">31x</span>
755
- <span class="cline-any cline-yes">31x</span>
756
- <span class="cline-any cline-yes">31x</span>
757
- <span class="cline-any cline-neutral">&nbsp;</span>
758
- <span class="cline-any cline-yes">31x</span>
759
- <span class="cline-any cline-yes">1x</span>
760
- <span class="cline-any cline-neutral">&nbsp;</span>
761
- <span class="cline-any cline-neutral">&nbsp;</span>
762
- <span class="cline-any cline-yes">30x</span>
763
- <span class="cline-any cline-yes">1x</span>
764
- <span class="cline-any cline-neutral">&nbsp;</span>
765
- <span class="cline-any cline-neutral">&nbsp;</span>
766
- <span class="cline-any cline-yes">29x</span>
767
- <span class="cline-any cline-yes">1x</span>
768
- <span class="cline-any cline-neutral">&nbsp;</span>
769
- <span class="cline-any cline-neutral">&nbsp;</span>
770
- <span class="cline-any cline-yes">28x</span>
771
- <span class="cline-any cline-yes">1x</span>
772
- <span class="cline-any cline-neutral">&nbsp;</span>
773
- <span class="cline-any cline-neutral">&nbsp;</span>
774
- <span class="cline-any cline-yes">27x</span>
775
- <span class="cline-any cline-neutral">&nbsp;</span>
776
- <span class="cline-any cline-neutral">&nbsp;</span>
777
- <span class="cline-any cline-neutral">&nbsp;</span>
778
- <span class="cline-any cline-neutral">&nbsp;</span>
779
- <span class="cline-any cline-neutral">&nbsp;</span>
780
- <span class="cline-any cline-neutral">&nbsp;</span>
781
- <span class="cline-any cline-neutral">&nbsp;</span>
782
- <span class="cline-any cline-neutral">&nbsp;</span>
783
- <span class="cline-any cline-neutral">&nbsp;</span>
784
- <span class="cline-any cline-neutral">&nbsp;</span>
785
- <span class="cline-any cline-neutral">&nbsp;</span>
786
- <span class="cline-any cline-neutral">&nbsp;</span>
787
- <span class="cline-any cline-neutral">&nbsp;</span>
788
- <span class="cline-any cline-neutral">&nbsp;</span>
789
- <span class="cline-any cline-neutral">&nbsp;</span>
790
- <span class="cline-any cline-neutral">&nbsp;</span>
791
- <span class="cline-any cline-neutral">&nbsp;</span>
792
- <span class="cline-any cline-neutral">&nbsp;</span>
793
- <span class="cline-any cline-yes">27x</span>
794
- <span class="cline-any cline-neutral">&nbsp;</span>
795
- <span class="cline-any cline-yes">27x</span>
796
- <span class="cline-any cline-yes">2x</span>
797
- <span class="cline-any cline-neutral">&nbsp;</span>
798
- <span class="cline-any cline-neutral">&nbsp;</span>
799
- <span class="cline-any cline-yes">25x</span>
800
- <span class="cline-any cline-no">&nbsp;</span>
801
- <span class="cline-any cline-neutral">&nbsp;</span>
802
- <span class="cline-any cline-neutral">&nbsp;</span>
803
- <span class="cline-any cline-yes">25x</span>
804
- <span class="cline-any cline-yes">1x</span>
805
- <span class="cline-any cline-neutral">&nbsp;</span>
806
- <span class="cline-any cline-neutral">&nbsp;</span>
807
- <span class="cline-any cline-yes">24x</span>
808
- <span class="cline-any cline-yes">1x</span>
809
- <span class="cline-any cline-neutral">&nbsp;</span>
810
- <span class="cline-any cline-neutral">&nbsp;</span>
811
- <span class="cline-any cline-yes">23x</span>
812
- <span class="cline-any cline-yes">1x</span>
813
- <span class="cline-any cline-neutral">&nbsp;</span>
814
- <span class="cline-any cline-neutral">&nbsp;</span>
815
- <span class="cline-any cline-neutral">&nbsp;</span>
816
- <span class="cline-any cline-yes">22x</span>
817
- <span class="cline-any cline-yes">13x</span>
818
- <span class="cline-any cline-neutral">&nbsp;</span>
819
- <span class="cline-any cline-neutral">&nbsp;</span>
820
- <span class="cline-any cline-yes">9x</span>
821
- <span class="cline-any cline-yes">9x</span>
822
- <span class="cline-any cline-yes">1x</span>
823
- <span class="cline-any cline-neutral">&nbsp;</span>
824
- <span class="cline-any cline-neutral">&nbsp;</span>
825
- <span class="cline-any cline-yes">8x</span>
826
- <span class="cline-any cline-neutral">&nbsp;</span>
827
- <span class="cline-any cline-neutral">&nbsp;</span>
828
- <span class="cline-any cline-neutral">&nbsp;</span>
829
- <span class="cline-any cline-neutral">&nbsp;</span>
830
- <span class="cline-any cline-neutral">&nbsp;</span>
831
- <span class="cline-any cline-yes">21x</span>
832
- <span class="cline-any cline-yes">21x</span>
833
- <span class="cline-any cline-yes">21x</span>
834
- <span class="cline-any cline-yes">13x</span>
835
- <span class="cline-any cline-neutral">&nbsp;</span>
836
- <span class="cline-any cline-yes">11x</span>
837
- <span class="cline-any cline-yes">11x</span>
838
- <span class="cline-any cline-yes">11x</span>
839
- <span class="cline-any cline-neutral">&nbsp;</span>
840
- <span class="cline-any cline-yes">1x</span>
841
- <span class="cline-any cline-yes">1x</span>
842
- <span class="cline-any cline-yes">1x</span>
843
- <span class="cline-any cline-neutral">&nbsp;</span>
844
- <span class="cline-any cline-yes">1x</span>
845
- <span class="cline-any cline-yes">1x</span>
846
- <span class="cline-any cline-yes">1x</span>
847
- <span class="cline-any cline-neutral">&nbsp;</span>
848
- <span class="cline-any cline-neutral">&nbsp;</span>
849
- <span class="cline-any cline-yes">21x</span>
850
- <span class="cline-any cline-neutral">&nbsp;</span>
851
- <span class="cline-any cline-neutral">&nbsp;</span>
852
- <span class="cline-any cline-neutral">&nbsp;</span>
853
- <span class="cline-any cline-yes">21x</span>
854
- <span class="cline-any cline-yes">21x</span>
855
- <span class="cline-any cline-yes">18x</span>
856
- <span class="cline-any cline-neutral">&nbsp;</span>
857
- <span class="cline-any cline-neutral">&nbsp;</span>
858
- <span class="cline-any cline-yes">3x</span>
859
- <span class="cline-any cline-yes">3x</span>
860
- <span class="cline-any cline-neutral">&nbsp;</span>
861
- <span class="cline-any cline-yes">3x</span>
862
- <span class="cline-any cline-neutral">&nbsp;</span>
863
- <span class="cline-any cline-yes">3x</span>
864
- <span class="cline-any cline-yes">2x</span>
865
- <span class="cline-any cline-neutral">&nbsp;</span>
866
- <span class="cline-any cline-neutral">&nbsp;</span>
867
- <span class="cline-any cline-yes">3x</span>
868
- <span class="cline-any cline-yes">2x</span>
869
- <span class="cline-any cline-neutral">&nbsp;</span>
870
- <span class="cline-any cline-neutral">&nbsp;</span>
871
- <span class="cline-any cline-yes">3x</span>
872
- <span class="cline-any cline-neutral">&nbsp;</span>
873
- <span class="cline-any cline-neutral">&nbsp;</span>
874
- <span class="cline-any cline-neutral">&nbsp;</span>
875
- <span class="cline-any cline-yes">21x</span>
876
- <span class="cline-any cline-yes">1x</span>
877
- <span class="cline-any cline-neutral">&nbsp;</span>
878
- <span class="cline-any cline-yes">21x</span>
879
- <span class="cline-any cline-neutral">&nbsp;</span>
880
- <span class="cline-any cline-yes">42x</span>
881
- <span class="cline-any cline-neutral">&nbsp;</span>
882
- <span class="cline-any cline-neutral">&nbsp;</span>
883
- <span class="cline-any cline-neutral">&nbsp;</span>
884
- <span class="cline-any cline-neutral">&nbsp;</span>
885
- <span class="cline-any cline-neutral">&nbsp;</span>
886
- <span class="cline-any cline-yes">21x</span>
887
- <span class="cline-any cline-yes">19x</span>
888
- <span class="cline-any cline-neutral">&nbsp;</span>
889
- <span class="cline-any cline-neutral">&nbsp;</span>
890
- <span class="cline-any cline-yes">2x</span>
891
- <span class="cline-any cline-yes">2x</span>
892
- <span class="cline-any cline-yes">2x</span>
893
- <span class="cline-any cline-neutral">&nbsp;</span>
894
- <span class="cline-any cline-neutral">&nbsp;</span>
895
- <span class="cline-any cline-yes">2x</span>
896
- <span class="cline-any cline-yes">1x</span>
897
- <span class="cline-any cline-neutral">&nbsp;</span>
898
- <span class="cline-any cline-neutral">&nbsp;</span>
899
- <span class="cline-any cline-yes">2x</span>
900
- <span class="cline-any cline-neutral">&nbsp;</span>
901
- <span class="cline-any cline-neutral">&nbsp;</span>
902
- <span class="cline-any cline-neutral">&nbsp;</span>
903
- <span class="cline-any cline-yes">21x</span>
904
- <span class="cline-any cline-neutral">&nbsp;</span>
905
- <span class="cline-any cline-neutral">&nbsp;</span>
906
- <span class="cline-any cline-neutral">&nbsp;</span>
907
- <span class="cline-any cline-neutral">&nbsp;</span>
908
- <span class="cline-any cline-yes">21x</span>
909
- <span class="cline-any cline-neutral">&nbsp;</span>
910
- <span class="cline-any cline-neutral">&nbsp;</span>
911
- <span class="cline-any cline-no">&nbsp;</span>
912
- <span class="cline-any cline-neutral">&nbsp;</span>
913
- <span class="cline-any cline-neutral">&nbsp;</span>
914
- <span class="cline-any cline-yes">21x</span>
915
- <span class="cline-any cline-no">&nbsp;</span>
916
- <span class="cline-any cline-neutral">&nbsp;</span>
917
- <span class="cline-any cline-neutral">&nbsp;</span>
918
- <span class="cline-any cline-neutral">&nbsp;</span>
919
- <span class="cline-any cline-yes">22x</span>
920
- <span class="cline-any cline-yes">22x</span>
921
- <span class="cline-any cline-neutral">&nbsp;</span>
922
- <span class="cline-any cline-neutral">&nbsp;</span>
923
- <span class="cline-any cline-neutral">&nbsp;</span>
924
- <span class="cline-any cline-neutral">&nbsp;</span>
925
- <span class="cline-any cline-neutral">&nbsp;</span>
926
- <span class="cline-any cline-neutral">&nbsp;</span>
927
- <span class="cline-any cline-neutral">&nbsp;</span>
928
- <span class="cline-any cline-neutral">&nbsp;</span>
929
- <span class="cline-any cline-neutral">&nbsp;</span>
930
- <span class="cline-any cline-neutral">&nbsp;</span>
931
- <span class="cline-any cline-neutral">&nbsp;</span>
932
- <span class="cline-any cline-yes">21x</span>
933
- <span class="cline-any cline-neutral">&nbsp;</span>
934
- <span class="cline-any cline-neutral">&nbsp;</span>
935
- <span class="cline-any cline-yes">126x</span>
936
- <span class="cline-any cline-neutral">&nbsp;</span>
937
- <span class="cline-any cline-yes">21x</span>
938
- <span class="cline-any cline-yes">21x</span>
939
- <span class="cline-any cline-neutral">&nbsp;</span>
940
- <span class="cline-any cline-yes">21x</span>
941
- <span class="cline-any cline-no">&nbsp;</span>
942
- <span class="cline-any cline-yes">21x</span>
943
- <span class="cline-any cline-no">&nbsp;</span>
944
- <span class="cline-any cline-yes">21x</span>
945
- <span class="cline-any cline-yes">1x</span>
946
- <span class="cline-any cline-neutral">&nbsp;</span>
947
- <span class="cline-any cline-neutral">&nbsp;</span>
948
- <span class="cline-any cline-yes">21x</span>
949
- <span class="cline-any cline-neutral">&nbsp;</span>
950
- <span class="cline-any cline-yes">21x</span>
951
- <span class="cline-any cline-yes">21x</span>
952
- <span class="cline-any cline-neutral">&nbsp;</span>
953
- <span class="cline-any cline-yes">21x</span>
954
- <span class="cline-any cline-yes">20x</span>
955
- <span class="cline-any cline-yes">20x</span>
956
- <span class="cline-any cline-neutral">&nbsp;</span>
957
- <span class="cline-any cline-neutral">&nbsp;</span>
958
- <span class="cline-any cline-neutral">&nbsp;</span>
959
- <span class="cline-any cline-neutral">&nbsp;</span>
960
- <span class="cline-any cline-neutral">&nbsp;</span>
961
- <span class="cline-any cline-neutral">&nbsp;</span>
962
- <span class="cline-any cline-neutral">&nbsp;</span>
963
- <span class="cline-any cline-yes">60x</span>
964
- <span class="cline-any cline-neutral">&nbsp;</span>
965
- <span class="cline-any cline-neutral">&nbsp;</span>
966
- <span class="cline-any cline-neutral">&nbsp;</span>
967
- <span class="cline-any cline-yes">20x</span>
968
- <span class="cline-any cline-yes">20x</span>
969
- <span class="cline-any cline-neutral">&nbsp;</span>
970
- <span class="cline-any cline-neutral">&nbsp;</span>
971
- <span class="cline-any cline-yes">1x</span>
972
- <span class="cline-any cline-no">&nbsp;</span>
973
- <span class="cline-any cline-neutral">&nbsp;</span>
974
- <span class="cline-any cline-neutral">&nbsp;</span>
975
- <span class="cline-any cline-yes">21x</span>
976
- <span class="cline-any cline-neutral">&nbsp;</span>
977
- <span class="cline-any cline-neutral">&nbsp;</span>
978
- <span class="cline-any cline-neutral">&nbsp;</span>
979
- <span class="cline-any cline-neutral">&nbsp;</span>
980
- <span class="cline-any cline-neutral">&nbsp;</span>
981
- <span class="cline-any cline-no">&nbsp;</span>
982
- <span class="cline-any cline-neutral">&nbsp;</span>
983
- <span class="cline-any cline-neutral">&nbsp;</span>
984
- <span class="cline-any cline-neutral">&nbsp;</span>
985
- <span class="cline-any cline-neutral">&nbsp;</span>
986
- <span class="cline-any cline-neutral">&nbsp;</span>
987
- <span class="cline-any cline-neutral">&nbsp;</span>
988
- <span class="cline-any cline-yes">8x</span>
989
- <span class="cline-any cline-yes">8x</span>
990
- <span class="cline-any cline-neutral">&nbsp;</span>
991
- <span class="cline-any cline-yes">8x</span>
992
- <span class="cline-any cline-neutral">&nbsp;</span>
993
- <span class="cline-any cline-neutral">&nbsp;</span>
994
- <span class="cline-any cline-neutral">&nbsp;</span>
995
- <span class="cline-any cline-neutral">&nbsp;</span>
996
- <span class="cline-any cline-neutral">&nbsp;</span>
997
- <span class="cline-any cline-neutral">&nbsp;</span>
998
- <span class="cline-any cline-neutral">&nbsp;</span>
999
- <span class="cline-any cline-neutral">&nbsp;</span>
1000
- <span class="cline-any cline-neutral">&nbsp;</span>
1001
- <span class="cline-any cline-neutral">&nbsp;</span>
1002
- <span class="cline-any cline-neutral">&nbsp;</span>
1003
- <span class="cline-any cline-neutral">&nbsp;</span>
1004
- <span class="cline-any cline-yes">8x</span>
1005
- <span class="cline-any cline-neutral">&nbsp;</span>
1006
- <span class="cline-any cline-yes">8x</span>
1007
- <span class="cline-any cline-yes">1x</span>
1008
- <span class="cline-any cline-neutral">&nbsp;</span>
1009
- <span class="cline-any cline-neutral">&nbsp;</span>
1010
- <span class="cline-any cline-yes">7x</span>
1011
- <span class="cline-any cline-yes">1x</span>
1012
- <span class="cline-any cline-neutral">&nbsp;</span>
1013
- <span class="cline-any cline-neutral">&nbsp;</span>
1014
- <span class="cline-any cline-neutral">&nbsp;</span>
1015
- <span class="cline-any cline-yes">6x</span>
1016
- <span class="cline-any cline-yes">2x</span>
1017
- <span class="cline-any cline-neutral">&nbsp;</span>
1018
- <span class="cline-any cline-yes">4x</span>
1019
- <span class="cline-any cline-neutral">&nbsp;</span>
1020
- <span class="cline-any cline-neutral">&nbsp;</span>
1021
- <span class="cline-any cline-yes">6x</span>
1022
- <span class="cline-any cline-neutral">&nbsp;</span>
1023
- <span class="cline-any cline-yes">4x</span>
1024
- <span class="cline-any cline-yes">4x</span>
1025
- <span class="cline-any cline-neutral">&nbsp;</span>
1026
- <span class="cline-any cline-yes">1x</span>
1027
- <span class="cline-any cline-yes">1x</span>
1028
- <span class="cline-any cline-neutral">&nbsp;</span>
1029
- <span class="cline-any cline-yes">1x</span>
1030
- <span class="cline-any cline-yes">1x</span>
1031
- <span class="cline-any cline-neutral">&nbsp;</span>
1032
- <span class="cline-any cline-yes">1x</span>
1033
- <span class="cline-any cline-neutral">&nbsp;</span>
1034
- <span class="cline-any cline-neutral">&nbsp;</span>
1035
- <span class="cline-any cline-yes">5x</span>
1036
- <span class="cline-any cline-neutral">&nbsp;</span>
1037
- <span class="cline-any cline-neutral">&nbsp;</span>
1038
- <span class="cline-any cline-neutral">&nbsp;</span>
1039
- <span class="cline-any cline-neutral">&nbsp;</span>
1040
- <span class="cline-any cline-neutral">&nbsp;</span>
1041
- <span class="cline-any cline-neutral">&nbsp;</span>
1042
- <span class="cline-any cline-neutral">&nbsp;</span>
1043
- <span class="cline-any cline-neutral">&nbsp;</span>
1044
- <span class="cline-any cline-neutral">&nbsp;</span>
1045
- <span class="cline-any cline-yes">5x</span>
1046
- <span class="cline-any cline-neutral">&nbsp;</span>
1047
- <span class="cline-any cline-neutral">&nbsp;</span>
1048
- <span class="cline-any cline-yes">5x</span>
1049
- <span class="cline-any cline-neutral">&nbsp;</span>
1050
- <span class="cline-any cline-yes">5x</span>
1051
- <span class="cline-any cline-yes">5x</span>
1052
- <span class="cline-any cline-yes">5x</span>
1053
- <span class="cline-any cline-yes">5x</span>
1054
- <span class="cline-any cline-yes">3x</span>
1055
- <span class="cline-any cline-neutral">&nbsp;</span>
1056
- <span class="cline-any cline-neutral">&nbsp;</span>
1057
- <span class="cline-any cline-yes">5x</span>
1058
- <span class="cline-any cline-yes">5x</span>
1059
- <span class="cline-any cline-no">&nbsp;</span>
1060
- <span class="cline-any cline-neutral">&nbsp;</span>
1061
- <span class="cline-any cline-neutral">&nbsp;</span>
1062
- <span class="cline-any cline-yes">5x</span>
1063
- <span class="cline-any cline-yes">5x</span>
1064
- <span class="cline-any cline-neutral">&nbsp;</span>
1065
- <span class="cline-any cline-yes">2x</span>
1066
- <span class="cline-any cline-yes">2x</span>
1067
- <span class="cline-any cline-neutral">&nbsp;</span>
1068
- <span class="cline-any cline-no">&nbsp;</span>
1069
- <span class="cline-any cline-no">&nbsp;</span>
1070
- <span class="cline-any cline-neutral">&nbsp;</span>
1071
- <span class="cline-any cline-no">&nbsp;</span>
1072
- <span class="cline-any cline-no">&nbsp;</span>
1073
- <span class="cline-any cline-neutral">&nbsp;</span>
1074
- <span class="cline-any cline-no">&nbsp;</span>
1075
- <span class="cline-any cline-no">&nbsp;</span>
1076
- <span class="cline-any cline-neutral">&nbsp;</span>
1077
- <span class="cline-any cline-no">&nbsp;</span>
1078
- <span class="cline-any cline-no">&nbsp;</span>
1079
- <span class="cline-any cline-neutral">&nbsp;</span>
1080
- <span class="cline-any cline-no">&nbsp;</span>
1081
- <span class="cline-any cline-no">&nbsp;</span>
1082
- <span class="cline-any cline-neutral">&nbsp;</span>
1083
- <span class="cline-any cline-yes">5x</span>
1084
- <span class="cline-any cline-yes">5x</span>
1085
- <span class="cline-any cline-yes">5x</span>
1086
- <span class="cline-any cline-yes">2x</span>
1087
- <span class="cline-any cline-neutral">&nbsp;</span>
1088
- <span class="cline-any cline-neutral">&nbsp;</span>
1089
- <span class="cline-any cline-yes">5x</span>
1090
- <span class="cline-any cline-yes">5x</span>
1091
- <span class="cline-any cline-neutral">&nbsp;</span>
1092
- <span class="cline-any cline-neutral">&nbsp;</span>
1093
- <span class="cline-any cline-neutral">&nbsp;</span>
1094
- <span class="cline-any cline-neutral">&nbsp;</span>
1095
- <span class="cline-any cline-yes">2x</span>
1096
- <span class="cline-any cline-yes">2x</span>
1097
- <span class="cline-any cline-neutral">&nbsp;</span>
1098
- <span class="cline-any cline-neutral">&nbsp;</span>
1099
- <span class="cline-any cline-no">&nbsp;</span>
1100
- <span class="cline-any cline-no">&nbsp;</span>
1101
- <span class="cline-any cline-neutral">&nbsp;</span>
1102
- <span class="cline-any cline-neutral">&nbsp;</span>
1103
- <span class="cline-any cline-neutral">&nbsp;</span>
1104
- <span class="cline-any cline-neutral">&nbsp;</span>
1105
- <span class="cline-any cline-yes">5x</span>
1106
- <span class="cline-any cline-neutral">&nbsp;</span>
1107
- <span class="cline-any cline-yes">1x</span>
1108
- <span class="cline-any cline-yes">1x</span>
1109
- <span class="cline-any cline-neutral">&nbsp;</span>
1110
- <span class="cline-any cline-yes">1x</span>
1111
- <span class="cline-any cline-yes">1x</span>
1112
- <span class="cline-any cline-neutral">&nbsp;</span>
1113
- <span class="cline-any cline-yes">5x</span>
1114
- <span class="cline-any cline-yes">2x</span>
1115
- <span class="cline-any cline-neutral">&nbsp;</span>
1116
- <span class="cline-any cline-neutral">&nbsp;</span>
1117
- <span class="cline-any cline-yes">5x</span>
1118
- <span class="cline-any cline-yes">1x</span>
1119
- <span class="cline-any cline-neutral">&nbsp;</span>
1120
- <span class="cline-any cline-neutral">&nbsp;</span>
1121
- <span class="cline-any cline-yes">5x</span>
1122
- <span class="cline-any cline-yes">1x</span>
1123
- <span class="cline-any cline-neutral">&nbsp;</span>
1124
- <span class="cline-any cline-neutral">&nbsp;</span>
1125
- <span class="cline-any cline-yes">5x</span>
1126
- <span class="cline-any cline-no">&nbsp;</span>
1127
- <span class="cline-any cline-neutral">&nbsp;</span>
1128
- <span class="cline-any cline-neutral">&nbsp;</span>
1129
- <span class="cline-any cline-yes">5x</span>
1130
- <span class="cline-any cline-neutral">&nbsp;</span>
1131
- <span class="cline-any cline-no">&nbsp;</span>
1132
- <span class="cline-any cline-no">&nbsp;</span>
1133
- <span class="cline-any cline-neutral">&nbsp;</span>
1134
- <span class="cline-any cline-no">&nbsp;</span>
1135
- <span class="cline-any cline-no">&nbsp;</span>
1136
- <span class="cline-any cline-neutral">&nbsp;</span>
1137
- <span class="cline-any cline-no">&nbsp;</span>
1138
- <span class="cline-any cline-no">&nbsp;</span>
1139
- <span class="cline-any cline-neutral">&nbsp;</span>
1140
- <span class="cline-any cline-yes">2x</span>
1141
- <span class="cline-any cline-yes">2x</span>
1142
- <span class="cline-any cline-neutral">&nbsp;</span>
1143
- <span class="cline-any cline-no">&nbsp;</span>
1144
- <span class="cline-any cline-no">&nbsp;</span>
1145
- <span class="cline-any cline-neutral">&nbsp;</span>
1146
- <span class="cline-any cline-no">&nbsp;</span>
1147
- <span class="cline-any cline-no">&nbsp;</span>
1148
- <span class="cline-any cline-neutral">&nbsp;</span>
1149
- <span class="cline-any cline-neutral">&nbsp;</span>
1150
- <span class="cline-any cline-yes">5x</span>
1151
- <span class="cline-any cline-yes">5x</span>
1152
- <span class="cline-any cline-yes">2x</span>
1153
- <span class="cline-any cline-neutral">&nbsp;</span>
1154
- <span class="cline-any cline-neutral">&nbsp;</span>
1155
- <span class="cline-any cline-yes">5x</span>
1156
- <span class="cline-any cline-neutral">&nbsp;</span>
1157
- <span class="cline-any cline-neutral">&nbsp;</span>
1158
- <span class="cline-any cline-neutral">&nbsp;</span>
1159
- <span class="cline-any cline-neutral">&nbsp;</span>
1160
- <span class="cline-any cline-neutral">&nbsp;</span>
1161
- <span class="cline-any cline-neutral">&nbsp;</span>
1162
- <span class="cline-any cline-neutral">&nbsp;</span>
1163
- <span class="cline-any cline-yes">5x</span>
1164
- <span class="cline-any cline-neutral">&nbsp;</span>
1165
- <span class="cline-any cline-neutral">&nbsp;</span>
1166
- <span class="cline-any cline-neutral">&nbsp;</span>
1167
- <span class="cline-any cline-neutral">&nbsp;</span>
1168
- <span class="cline-any cline-neutral">&nbsp;</span>
1169
- <span class="cline-any cline-neutral">&nbsp;</span>
1170
- <span class="cline-any cline-neutral">&nbsp;</span>
1171
- <span class="cline-any cline-yes">4x</span>
1172
- <span class="cline-any cline-yes">4x</span>
1173
- <span class="cline-any cline-yes">4x</span>
1174
- <span class="cline-any cline-neutral">&nbsp;</span>
1175
- <span class="cline-any cline-neutral">&nbsp;</span>
1176
- <span class="cline-any cline-neutral">&nbsp;</span>
1177
- <span class="cline-any cline-neutral">&nbsp;</span>
1178
- <span class="cline-any cline-neutral">&nbsp;</span>
1179
- <span class="cline-any cline-yes">4x</span>
1180
- <span class="cline-any cline-yes">8x</span>
1181
- <span class="cline-any cline-yes">8x</span>
1182
- <span class="cline-any cline-yes">7x</span>
1183
- <span class="cline-any cline-yes">4x</span>
1184
- <span class="cline-any cline-yes">2x</span>
1185
- <span class="cline-any cline-neutral">&nbsp;</span>
1186
- <span class="cline-any cline-yes">4x</span>
1187
- <span class="cline-any cline-yes">2x</span>
1188
- <span class="cline-any cline-neutral">&nbsp;</span>
1189
- <span class="cline-any cline-neutral">&nbsp;</span>
1190
- <span class="cline-any cline-yes">3x</span>
1191
- <span class="cline-any cline-neutral">&nbsp;</span>
1192
- <span class="cline-any cline-neutral">&nbsp;</span>
1193
- <span class="cline-any cline-neutral">&nbsp;</span>
1194
- <span class="cline-any cline-yes">4x</span>
1195
- <span class="cline-any cline-yes">4x</span>
1196
- <span class="cline-any cline-neutral">&nbsp;</span>
1197
- <span class="cline-any cline-neutral">&nbsp;</span>
1198
- <span class="cline-any cline-neutral">&nbsp;</span>
1199
- <span class="cline-any cline-neutral">&nbsp;</span>
1200
- <span class="cline-any cline-neutral">&nbsp;</span>
1201
- <span class="cline-any cline-neutral">&nbsp;</span>
1202
- <span class="cline-any cline-neutral">&nbsp;</span>
1203
- <span class="cline-any cline-yes">4x</span>
1204
- <span class="cline-any cline-neutral">&nbsp;</span>
1205
- <span class="cline-any cline-neutral">&nbsp;</span>
1206
- <span class="cline-any cline-neutral">&nbsp;</span>
1207
- <span class="cline-any cline-yes">1x</span>
1208
- <span class="cline-any cline-yes">3x</span>
1209
- <span class="cline-any cline-yes">2x</span>
1210
- <span class="cline-any cline-yes">1x</span>
1211
- <span class="cline-any cline-yes">1x</span>
1212
- <span class="cline-any cline-neutral">&nbsp;</span>
1213
- <span class="cline-any cline-yes">4x</span>
1214
- <span class="cline-any cline-yes">3x</span>
1215
- <span class="cline-any cline-yes">3x</span>
1216
- <span class="cline-any cline-neutral">&nbsp;</span>
1217
- <span class="cline-any cline-yes">4x</span>
1218
- <span class="cline-any cline-yes">3x</span>
1219
- <span class="cline-any cline-neutral">&nbsp;</span>
1220
- <span class="cline-any cline-yes">4x</span>
1221
- <span class="cline-any cline-neutral">&nbsp;</span>
1222
- <span class="cline-any cline-neutral">&nbsp;</span>
1223
- <span class="cline-any cline-neutral">&nbsp;</span>
1224
- <span class="cline-any cline-neutral">&nbsp;</span>
1225
- <span class="cline-any cline-neutral">&nbsp;</span>
1226
- <span class="cline-any cline-neutral">&nbsp;</span>
1227
- <span class="cline-any cline-neutral">&nbsp;</span>
1228
- <span class="cline-any cline-yes">1x</span>
1229
- <span class="cline-any cline-neutral">&nbsp;</span>
1230
- <span class="cline-any cline-yes">1x</span>
1231
- <span class="cline-any cline-yes">1x</span>
1232
- <span class="cline-any cline-neutral">&nbsp;</span>
1233
- <span class="cline-any cline-yes">1x</span>
1234
- <span class="cline-any cline-yes">1x</span>
1235
- <span class="cline-any cline-neutral">&nbsp;</span>
1236
- <span class="cline-any cline-yes">1x</span>
1237
- <span class="cline-any cline-neutral">&nbsp;</span>
1238
- <span class="cline-any cline-yes">1x</span>
1239
- <span class="cline-any cline-neutral">&nbsp;</span>
1240
- <span class="cline-any cline-neutral">&nbsp;</span>
1241
- <span class="cline-any cline-neutral">&nbsp;</span>
1242
- <span class="cline-any cline-neutral">&nbsp;</span>
1243
- <span class="cline-any cline-neutral">&nbsp;</span>
1244
- <span class="cline-any cline-neutral">&nbsp;</span>
1245
- <span class="cline-any cline-neutral">&nbsp;</span>
1246
- <span class="cline-any cline-neutral">&nbsp;</span>
1247
- <span class="cline-any cline-neutral">&nbsp;</span>
1248
- <span class="cline-any cline-neutral">&nbsp;</span>
1249
- <span class="cline-any cline-neutral">&nbsp;</span>
1250
- <span class="cline-any cline-neutral">&nbsp;</span>
1251
- <span class="cline-any cline-yes">1x</span>
1252
- <span class="cline-any cline-neutral">&nbsp;</span>
1253
- <span class="cline-any cline-neutral">&nbsp;</span>
1254
- <span class="cline-any cline-neutral">&nbsp;</span>
1255
- <span class="cline-any cline-neutral">&nbsp;</span>
1256
- <span class="cline-any cline-neutral">&nbsp;</span>
1257
- <span class="cline-any cline-neutral">&nbsp;</span>
1258
- <span class="cline-any cline-neutral">&nbsp;</span>
1259
- <span class="cline-any cline-yes">15x</span>
1260
- <span class="cline-any cline-neutral">&nbsp;</span>
1261
- <span class="cline-any cline-yes">15x</span>
1262
- <span class="cline-any cline-neutral">&nbsp;</span>
1263
- <span class="cline-any cline-yes">15x</span>
1264
- <span class="cline-any cline-neutral">&nbsp;</span>
1265
- <span class="cline-any cline-neutral">&nbsp;</span>
1266
- <span class="cline-any cline-neutral">&nbsp;</span>
1267
- <span class="cline-any cline-neutral">&nbsp;</span>
1268
- <span class="cline-any cline-neutral">&nbsp;</span>
1269
- <span class="cline-any cline-neutral">&nbsp;</span>
1270
- <span class="cline-any cline-neutral">&nbsp;</span>
1271
- <span class="cline-any cline-neutral">&nbsp;</span>
1272
- <span class="cline-any cline-neutral">&nbsp;</span>
1273
- <span class="cline-any cline-neutral">&nbsp;</span>
1274
- <span class="cline-any cline-neutral">&nbsp;</span>
1275
- <span class="cline-any cline-neutral">&nbsp;</span>
1276
- <span class="cline-any cline-neutral">&nbsp;</span>
1277
- <span class="cline-any cline-neutral">&nbsp;</span>
1278
- <span class="cline-any cline-neutral">&nbsp;</span>
1279
- <span class="cline-any cline-neutral">&nbsp;</span>
1280
- <span class="cline-any cline-neutral">&nbsp;</span>
1281
- <span class="cline-any cline-neutral">&nbsp;</span>
1282
- <span class="cline-any cline-neutral">&nbsp;</span>
1283
- <span class="cline-any cline-neutral">&nbsp;</span>
1284
- <span class="cline-any cline-neutral">&nbsp;</span>
1285
- <span class="cline-any cline-neutral">&nbsp;</span>
1286
- <span class="cline-any cline-neutral">&nbsp;</span>
1287
- <span class="cline-any cline-neutral">&nbsp;</span>
1288
- <span class="cline-any cline-neutral">&nbsp;</span>
1289
- <span class="cline-any cline-neutral">&nbsp;</span>
1290
- <span class="cline-any cline-yes">15x</span>
1291
- <span class="cline-any cline-neutral">&nbsp;</span>
1292
- <span class="cline-any cline-yes">15x</span>
1293
- <span class="cline-any cline-yes">2x</span>
1294
- <span class="cline-any cline-neutral">&nbsp;</span>
1295
- <span class="cline-any cline-neutral">&nbsp;</span>
1296
- <span class="cline-any cline-yes">15x</span>
1297
- <span class="cline-any cline-yes">1x</span>
1298
- <span class="cline-any cline-neutral">&nbsp;</span>
1299
- <span class="cline-any cline-neutral">&nbsp;</span>
1300
- <span class="cline-any cline-yes">15x</span>
1301
- <span class="cline-any cline-yes">3x</span>
1302
- <span class="cline-any cline-yes">3x</span>
1303
- <span class="cline-any cline-yes">3x</span>
1304
- <span class="cline-any cline-neutral">&nbsp;</span>
1305
- <span class="cline-any cline-neutral">&nbsp;</span>
1306
- <span class="cline-any cline-yes">15x</span>
1307
- <span class="cline-any cline-yes">3x</span>
1308
- <span class="cline-any cline-neutral">&nbsp;</span>
1309
- <span class="cline-any cline-neutral">&nbsp;</span>
1310
- <span class="cline-any cline-yes">15x</span>
1311
- <span class="cline-any cline-yes">4x</span>
1312
- <span class="cline-any cline-neutral">&nbsp;</span>
1313
- <span class="cline-any cline-neutral">&nbsp;</span>
1314
- <span class="cline-any cline-yes">15x</span>
1315
- <span class="cline-any cline-yes">1x</span>
1316
- <span class="cline-any cline-neutral">&nbsp;</span>
1317
- <span class="cline-any cline-yes">15x</span>
1318
- <span class="cline-any cline-yes">1x</span>
1319
- <span class="cline-any cline-yes">1x</span>
1320
- <span class="cline-any cline-neutral">&nbsp;</span>
1321
- <span class="cline-any cline-yes">15x</span>
1322
- <span class="cline-any cline-yes">2x</span>
1323
- <span class="cline-any cline-neutral">&nbsp;</span>
1324
- <span class="cline-any cline-yes">15x</span>
1325
- <span class="cline-any cline-yes">4x</span>
1326
- <span class="cline-any cline-neutral">&nbsp;</span>
1327
- <span class="cline-any cline-neutral">&nbsp;</span>
1328
- <span class="cline-any cline-neutral">&nbsp;</span>
1329
- <span class="cline-any cline-neutral">&nbsp;</span>
1330
- <span class="cline-any cline-yes">15x</span>
1331
- <span class="cline-any cline-yes">3x</span>
1332
- <span class="cline-any cline-neutral">&nbsp;</span>
1333
- <span class="cline-any cline-yes">15x</span>
1334
- <span class="cline-any cline-yes">3x</span>
1335
- <span class="cline-any cline-neutral">&nbsp;</span>
1336
- <span class="cline-any cline-yes">15x</span>
1337
- <span class="cline-any cline-yes">2x</span>
1338
- <span class="cline-any cline-neutral">&nbsp;</span>
1339
- <span class="cline-any cline-neutral">&nbsp;</span>
1340
- <span class="cline-any cline-yes">15x</span>
1341
- <span class="cline-any cline-neutral">&nbsp;</span>
1342
- <span class="cline-any cline-yes">15x</span>
1343
- <span class="cline-any cline-yes">15x</span>
1344
- <span class="cline-any cline-neutral">&nbsp;</span>
1345
- <span class="cline-any cline-neutral">&nbsp;</span>
1346
- <span class="cline-any cline-neutral">&nbsp;</span>
1347
- <span class="cline-any cline-neutral">&nbsp;</span>
1348
- <span class="cline-any cline-neutral">&nbsp;</span>
1349
- <span class="cline-any cline-neutral">&nbsp;</span>
1350
- <span class="cline-any cline-neutral">&nbsp;</span>
1351
- <span class="cline-any cline-yes">15x</span>
1352
- <span class="cline-any cline-neutral">&nbsp;</span>
1353
- <span class="cline-any cline-neutral">&nbsp;</span>
1354
- <span class="cline-any cline-neutral">&nbsp;</span>
1355
- <span class="cline-any cline-neutral">&nbsp;</span>
1356
- <span class="cline-any cline-neutral">&nbsp;</span>
1357
- <span class="cline-any cline-neutral">&nbsp;</span>
1358
- <span class="cline-any cline-neutral">&nbsp;</span>
1359
- <span class="cline-any cline-neutral">&nbsp;</span>
1360
- <span class="cline-any cline-neutral">&nbsp;</span>
1361
- <span class="cline-any cline-yes">1x</span>
1362
- <span class="cline-any cline-yes">1x</span>
1363
- <span class="cline-any cline-yes">2x</span>
1364
- <span class="cline-any cline-neutral">&nbsp;</span>
1365
- <span class="cline-any cline-yes">1x</span>
1366
- <span class="cline-any cline-neutral">&nbsp;</span>
1367
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import _ from "lodash";
1368
- import File from "./File";
1369
- import Model from "./Model";
1370
- import { mediaType } from "./fileType";
1371
- import { clone, keys, flatten, filter, values } from "ramda";
1372
- &nbsp;
1373
- /**
1374
- * [media description]
1375
- * @type {[type]}
1376
- */
1377
- export default class Ingest extends Model {
1378
- constructor(data) {
1379
- super(data);
1380
- this._resource = "ingests";
1381
- }
1382
- <span class="fstat-no" title="function not covered" > st</span>atic get _resource() {
1383
- <span class="cstat-no" title="statement not covered" > return "ingests";</span>
1384
- }
1385
- /**
1386
- * Returns path given an ingest record
1387
- *
1388
- */
1389
- renderPath() {
1390
- let ingest = this.data();
1391
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!ingest.asset.project.studio.slug) {
1392
- <span class="cstat-no" title="statement not covered" > throw new Error("missing studio slug");</span>
1393
- }
1394
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!ingest.asset.project.slug) {
1395
- <span class="cstat-no" title="statement not covered" > throw new Error("missing asset.project.slug");</span>
1396
- }
1397
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!ingest.asset.project.slug) {
1398
- <span class="cstat-no" title="statement not covered" > throw new Error("missing asset.project.slug");</span>
1399
- }
1400
- return [
1401
- ingest.asset.project.studio.slug,
1402
- ingest.asset.project.slug,
1403
- ingest.asset.type
1404
- ].join("/");
1405
- }
1406
- /**
1407
- * Create a File from an Ingest object with path and filename
1408
- *
1409
- * @param {object} params
1410
- */
1411
- renderFilename({ allTags, allTypes, order, extension } = (<span class="branch-0 cbranch-no" title="branch not covered" >params = {})</span>) {
1412
- let asset = this.data().asset;
1413
- let options = this.data().selected.download;
1414
- let mediaType = this.data().asset.mediaType;
1415
- let filename = this.data().filename;
1416
- &nbsp;
1417
- if (!asset.project) {
1418
- throw new Error("missing asset.project");
1419
- }
1420
- &nbsp;
1421
- if (asset.project &amp;&amp; !asset.project.filePrefix) {
1422
- throw new Error("missing asset.project.filePrefix");
1423
- }
1424
- &nbsp;
1425
- if (!asset.name) {
1426
- throw new Error("missing asset.name");
1427
- }
1428
- &nbsp;
1429
- if (!asset.type) {
1430
- throw new Error("missing asset.type");
1431
- }
1432
- &nbsp;
1433
- let defaults = {
1434
- language: null,
1435
- country: null,
1436
- version: null,
1437
- tags: {
1438
- Usage: null,
1439
- Aspect: null,
1440
- SubDub: {
1441
- sub: null,
1442
- dub: null
1443
- },
1444
- Resolution: null,
1445
- "Frame Mode": null,
1446
- Framerate: null,
1447
- Text: null,
1448
- Codec: null,
1449
- Extra: []
1450
- }
1451
- };
1452
- options = _.merge(defaults, options);
1453
- &nbsp;
1454
- if (!options.language) {
1455
- throw new Error("missing options.language");
1456
- }
1457
- &nbsp;
1458
- <span class="missing-if-branch" title="if path not taken" >I</span>if (mediaType &amp;&amp; mediaType == "video" &amp;&amp; !options.tags.Codec) {
1459
- <span class="cstat-no" title="statement not covered" > throw new Error("missing options.tags.Codec");</span>
1460
- }
1461
- &nbsp;
1462
- if (mediaType &amp;&amp; mediaType == "video" &amp;&amp; !options.tags.Resolution) {
1463
- throw new Error("missing options.tags.Resolution");
1464
- }
1465
- &nbsp;
1466
- if (mediaType &amp;&amp; mediaType == "video" &amp;&amp; !options.tags.Framerate) {
1467
- throw new Error("missing options.tags.Framerate");
1468
- }
1469
- &nbsp;
1470
- if (mediaType == "video" &amp;&amp; !options.tags["Frame Mode"]) {
1471
- throw new Error("missing options.tags[Frame Mode]");
1472
- }
1473
- &nbsp;
1474
- function assetType(asset, types) {
1475
- if (/trailer/.test(asset.type)) {
1476
- return false;
1477
- }
1478
- &nbsp;
1479
- let matchingType = _.find(types, { name: asset.type });
1480
- if (!matchingType) {
1481
- throw new Error(`Asset type "${asset.type}" could not be found`);
1482
- }
1483
- &nbsp;
1484
- return (
1485
- matchingType.file || matchingType.name.replace(".", "-").toUpperCase()
1486
- );
1487
- }
1488
- &nbsp;
1489
- function assetTitle(asset) {
1490
- let prefix = "";
1491
- let name = asset.slug.toUpperCase().replace("INT-L", "INTL");
1492
- if (/trailer/.test(asset.type)) {
1493
- switch (asset.type) {
1494
- case "trailer.intl":
1495
- prefix = "ITR-";
1496
- name = name.replace(/INTL-TRAILER-/, "");
1497
- break;
1498
- case "trailer":
1499
- prefix = "TR-";
1500
- name = name.replace(/TRAILER-/, "");
1501
- break;
1502
- case "trailer.us":
1503
- prefix = "DTR-";
1504
- name = name.replace(/DOMESTIC-TRAILER-/, "");
1505
- break;
1506
- }
1507
- }
1508
- return prefix + name;
1509
- }
1510
- &nbsp;
1511
- function runningTime(asset) {
1512
- let matches = asset.type.match(/^film-clip|^featurette/);
1513
- if (!matches) {
1514
- return;
1515
- }
1516
- &nbsp;
1517
- let minutes = Math.floor(asset.length / 60);
1518
- let seconds = asset.length % 60;
1519
- &nbsp;
1520
- let result = "";
1521
- &nbsp;
1522
- if (minutes &gt; 0) {
1523
- result += minutes + "min";
1524
- }
1525
- &nbsp;
1526
- if (seconds &gt; 0) {
1527
- result += seconds + "sec";
1528
- }
1529
- &nbsp;
1530
- return result;
1531
- }
1532
- &nbsp;
1533
- function locale(country, language) {
1534
- if (language.includes("-")) {
1535
- country = "";
1536
- }
1537
- return [language, country]
1538
- .filter(str =&gt; {
1539
- return !!str &amp;&amp; str !== "WW";
1540
- })
1541
- .join("-");
1542
- }
1543
- &nbsp;
1544
- function textType(subDub, text) {
1545
- if (!subDub || (!subDub.sub &amp;&amp; !subDub.dub)) {
1546
- return text;
1547
- }
1548
- &nbsp;
1549
- let result = [];
1550
- <span class="missing-if-branch" title="else path not taken" >E</span>if (subDub.sub) {
1551
- result.push("sub");
1552
- }
1553
- &nbsp;
1554
- if (subDub.dub) {
1555
- result.push("dub");
1556
- }
1557
- &nbsp;
1558
- return result;
1559
- }
1560
- &nbsp;
1561
- function matchSet(allTags, tags) {
1562
- let selectedTags = _(tags)
1563
- .values()
1564
- .flatten()
1565
- .value();
1566
- &nbsp;
1567
- let setTag = _(allTags)
1568
- .filter("set")
1569
- .find(<span class="fstat-no" title="function not covered" >se</span>tTag =&gt; {
1570
- <span class="cstat-no" title="statement not covered" > return _.difference(setTag.set, selectedTags).length === 0;</span>
1571
- });
1572
- &nbsp;
1573
- <span class="missing-if-branch" title="if path not taken" >I</span>if (setTag) {
1574
- <span class="cstat-no" title="statement not covered" > return setTag.name;</span>
1575
- }
1576
- }
1577
- &nbsp;
1578
- let tags = options.tags,
1579
- parts = [
1580
- asset.project.filePrefix,
1581
- assetType(asset, allTypes),
1582
- assetTitle(asset),
1583
- runningTime(asset),
1584
- locale(options.country, options.language),
1585
- textType(tags.SubDub, tags.Text),
1586
- tags.Extra.join("_"),
1587
- options.version,
1588
- tags.Codec
1589
- ];
1590
- &nbsp;
1591
- parts = _(parts)
1592
- .flatten()
1593
- .filter()
1594
- .map(part =&gt; part.toUpperCase());
1595
- &nbsp;
1596
- let matchedSet = matchSet(allTags, options.tags);
1597
- let requiredInfo = tags.Resolution &amp;&amp; tags["Frame Mode"] &amp;&amp; tags.Framerate;
1598
- &nbsp;
1599
- <span class="missing-if-branch" title="if path not taken" >I</span>if (matchedSet) {
1600
- <span class="cstat-no" title="statement not covered" > parts = parts.push(matchedSet);</span>
1601
- } else <span class="missing-if-branch" title="if path not taken" >I</span>if (mediaType == "video" &amp;&amp; tags.Resolution &amp;&amp; !requiredInfo) {
1602
- <span class="cstat-no" title="statement not covered" > parts = parts.push(tags.Resolution.replace(/\d+x/, ""));</span>
1603
- } else if (mediaType == "image" &amp;&amp; tags.Resolution) {
1604
- parts = parts.push(tags.Resolution);
1605
- }
1606
- &nbsp;
1607
- let name = parts.join("_");
1608
- &nbsp;
1609
- let hasResInfo = name.match(/\d+(i|p)/i);
1610
- let hasAllInfo = name.match(/\d+(i|p)\d+/i);
1611
- &nbsp;
1612
- if (requiredInfo &amp;&amp; !hasResInfo &amp;&amp; !hasAllInfo) {
1613
- let res = tags.Resolution;
1614
- let encodeTag = [
1615
- hasResInfo ? <span class="branch-0 cbranch-no" title="branch not covered" >"" </span>: res.indexOf("x") ? res.replace(/\d+x/, "") : <span class="branch-1 cbranch-no" title="branch not covered" >res,</span>
1616
- res.match(/i|p/i) &amp;&amp; !hasResInfo
1617
- ? ""
1618
- : tags["Frame Mode"].toLowerCase().slice(0, 1),
1619
- tags.Framerate.replace(".", "").toUpperCase()
1620
- ]
1621
- .filter(val =&gt; {
1622
- return val;
1623
- })
1624
- .join("");
1625
- &nbsp;
1626
- let match = new RegExp(encodeTag, "i");
1627
- name = name.match(match)
1628
- ? <span class="branch-0 cbranch-no" title="branch not covered" >name.replace(match, encodeTag)</span>
1629
- : name + "_" + encodeTag;
1630
- } else <span class="missing-if-branch" title="if path not taken" >I</span>if (hasResInfo &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >!hasAllInfo </span>&amp;&amp; <span class="branch-2 cbranch-no" title="branch not covered" >tags.Framerate)</span> {
1631
- <span class="cstat-no" title="statement not covered" > name += tags.Framerate.replace(".", "").toUpperCase();</span>
1632
- }
1633
- &nbsp;
1634
- return `${name}.${extension}`;
1635
- }
1636
- /**
1637
- * Returns the mediaType of the ingest
1638
- */
1639
- <span class="fstat-no" title="function not covered" > me</span>diaType() {
1640
- <span class="cstat-no" title="statement not covered" > return this.src.mediaType;</span>
1641
- }
1642
- /**
1643
- * Maps mediainfo metadata into ingest Tag format
1644
- *
1645
- */
1646
- mapFromMediainfo() {
1647
- let info = this.mediainfo;
1648
- let mediaType = this.source.mediaType;
1649
- &nbsp;
1650
- let schema = {
1651
- Aspect: null,
1652
- Standard: null,
1653
- Resolution: null,
1654
- Codec: null,
1655
- "Frame Mode": null,
1656
- Text: null,
1657
- Usage: null,
1658
- Extra: [],
1659
- Framerate: null,
1660
- Duration: null
1661
- };
1662
- &nbsp;
1663
- let tags = {};
1664
- &nbsp;
1665
- if (!info.File) {
1666
- throw "missing info.File";
1667
- }
1668
- &nbsp;
1669
- if (!info.File.track) {
1670
- throw "missing info.File.track";
1671
- }
1672
- &nbsp;
1673
- let general;
1674
- if (!Array.isArray(info["File"]["track"])) {
1675
- general = info["File"]["track"];
1676
- } else {
1677
- general = _.find(info["File"]["track"], { _type: "General" });
1678
- }
1679
- &nbsp;
1680
- switch (mediaType) {
1681
- case "video":
1682
- mediaType = "Video";
1683
- break;
1684
- case "image":
1685
- mediaType = "Image";
1686
- break;
1687
- default:
1688
- <span class="missing-if-branch" title="else path not taken" >E</span>if (general.Format &amp;&amp; general.Format == "MXF") {
1689
- tags.Usage = "broadcast";
1690
- }
1691
- return tags;
1692
- }
1693
- &nbsp;
1694
- let mediainfoDefaults = {
1695
- DisplayAspectRatio: "",
1696
- Format: "",
1697
- Standard: "",
1698
- Height: "",
1699
- Width: "",
1700
- FrameRate: "",
1701
- ScanType: ""
1702
- };
1703
- &nbsp;
1704
- let media = _.find(info["File"]["track"], {
1705
- _type: mediaType
1706
- });
1707
- media = _.merge({}, mediainfoDefaults, media);
1708
- &nbsp;
1709
- let width = parseInt(media["Width"].replace(" ", "").match(/[0-9 ]+/));
1710
- let height = parseInt(media["Height"].replace(" ", "").match(/[0-9 ]+/));
1711
- let Resolution = width &amp;&amp; height ? `${width}x${height}` : null;
1712
- if (Resolution) {
1713
- tags.Resolution = Resolution;
1714
- }
1715
- &nbsp;
1716
- let Standard = media["Standard"] ? <span class="branch-0 cbranch-no" title="branch not covered" >media["Standard"].toLowerCase() </span>: null;
1717
- <span class="missing-if-branch" title="if path not taken" >I</span>if (Standard) {
1718
- <span class="cstat-no" title="statement not covered" > tags.Standard = Standard;</span>
1719
- }
1720
- &nbsp;
1721
- let framerate = media["FrameRate"];
1722
- switch (framerate) {
1723
- case "23.976":
1724
- framerate = "23.98";
1725
- break;
1726
- <span class="branch-1 cbranch-no" title="branch not covered" > case "24.000":</span>
1727
- <span class="cstat-no" title="statement not covered" > framerate = "24";</span>
1728
- <span class="cstat-no" title="statement not covered" > break;</span>
1729
- <span class="branch-2 cbranch-no" title="branch not covered" > case "25.000":</span>
1730
- <span class="cstat-no" title="statement not covered" > framerate = "25";</span>
1731
- <span class="cstat-no" title="statement not covered" > break;</span>
1732
- <span class="branch-3 cbranch-no" title="branch not covered" > case "29.970":</span>
1733
- <span class="cstat-no" title="statement not covered" > framerate = "29.97";</span>
1734
- <span class="cstat-no" title="statement not covered" > break;</span>
1735
- <span class="branch-4 cbranch-no" title="branch not covered" > case "50.000":</span>
1736
- <span class="cstat-no" title="statement not covered" > framerate = "50";</span>
1737
- <span class="cstat-no" title="statement not covered" > break;</span>
1738
- <span class="branch-5 cbranch-no" title="branch not covered" > case "59.940":</span>
1739
- <span class="cstat-no" title="statement not covered" > framerate = "59.94";</span>
1740
- <span class="cstat-no" title="statement not covered" > break;</span>
1741
- }
1742
- framerate = parseFloat(framerate).toString();
1743
- framerate = framerate != "NaN" ? framerate : null;
1744
- if (framerate) {
1745
- tags.Framerate = framerate;
1746
- }
1747
- &nbsp;
1748
- <span class="missing-if-branch" title="else path not taken" >E</span>if (!tags.Standard) {
1749
- switch (tags.Framerate) {
1750
- <span class="branch-0 cbranch-no" title="branch not covered" > case "24":</span>
1751
- case "23.98":
1752
- case "29.97":
1753
- case "59.94":
1754
- tags.Standard = "ntsc";
1755
- break;
1756
- <span class="branch-4 cbranch-no" title="branch not covered" > case "25":</span>
1757
- <span class="branch-5 cbranch-no" title="branch not covered" > case "50":</span>
1758
- <span class="cstat-no" title="statement not covered" > tags.Standard = "pal";</span>
1759
- <span class="cstat-no" title="statement not covered" > break;</span>
1760
- }
1761
- }
1762
- &nbsp;
1763
- let Codec;
1764
- switch (media["Format"]) {
1765
- case "AVC":
1766
- Codec = "h264";
1767
- break;
1768
- case "ProRes":
1769
- Codec = "prores";
1770
- break;
1771
- }
1772
- if (Codec) {
1773
- tags.Codec = Codec;
1774
- }
1775
- &nbsp;
1776
- if (tags.Codec == "h264") {
1777
- tags.Usage = "online";
1778
- }
1779
- &nbsp;
1780
- if (tags.Codec == "prores") {
1781
- tags.Usage = "broadcast";
1782
- }
1783
- &nbsp;
1784
- <span class="missing-if-branch" title="if path not taken" >I</span>if (general &amp;&amp; general["Format"] == "MXF") {
1785
- <span class="cstat-no" title="statement not covered" > tags.Usage = "broadcast";</span>
1786
- }
1787
- &nbsp;
1788
- switch (media["DisplayAspectRatio"]) {
1789
- <span class="branch-0 cbranch-no" title="branch not covered" > case "1.000":</span>
1790
- <span class="cstat-no" title="statement not covered" > tags.Aspect = "1:1";</span>
1791
- <span class="cstat-no" title="statement not covered" > break;</span>
1792
- <span class="branch-1 cbranch-no" title="branch not covered" > case "1.347":</span>
1793
- <span class="cstat-no" title="statement not covered" > tags.Aspect = "4:3";</span>
1794
- <span class="cstat-no" title="statement not covered" > break;</span>
1795
- <span class="branch-2 cbranch-no" title="branch not covered" > case "1.756":</span>
1796
- <span class="cstat-no" title="statement not covered" > tags.Aspect = "16:9";</span>
1797
- <span class="cstat-no" title="statement not covered" > break;</span>
1798
- case "1.778":
1799
- tags.Aspect = "16:9";
1800
- break;
1801
- <span class="branch-4 cbranch-no" title="branch not covered" > case "1.366":</span>
1802
- <span class="cstat-no" title="statement not covered" > tags.Aspect = "4:3";</span>
1803
- <span class="cstat-no" title="statement not covered" > break;</span>
1804
- <span class="branch-5 cbranch-no" title="branch not covered" > case "0.562":</span>
1805
- <span class="cstat-no" title="statement not covered" > tags.Aspect = "9:16";</span>
1806
- <span class="cstat-no" title="statement not covered" > break;</span>
1807
- }
1808
- &nbsp;
1809
- let ScanType = media["ScanType"].toLowerCase() || null;
1810
- if (ScanType) {
1811
- tags["Frame Mode"] = ScanType;
1812
- }
1813
- &nbsp;
1814
- let ingest = {
1815
- selected: {
1816
- download: {
1817
- tags: tags
1818
- }
1819
- }
1820
- };
1821
- &nbsp;
1822
- return ingest;
1823
- }
1824
- /**
1825
- * Maps parsed filename data to a partial ingest record for later merging
1826
- * @param {*} filename
1827
- * @param {*} allTags
1828
- */
1829
- mapFromFilename(params) {
1830
- let { allTags } = params;
1831
- let filename = this.filename;
1832
- let tags = {
1833
- SubDub: {
1834
- sub: null,
1835
- dub: null
1836
- }
1837
- };
1838
- filename.file.tags.forEach(tag =&gt; {
1839
- let foundTag = _.find(allTags, { name: tag });
1840
- if (foundTag) {
1841
- if (foundTag.type == "SubDub") {
1842
- if (foundTag.name == "sub") {
1843
- tags.SubDub.sub = true;
1844
- }
1845
- if (foundTag.name == "dub") {
1846
- tags.SubDub.dub = true;
1847
- }
1848
- } else {
1849
- tags[foundTag.type] = foundTag.name;
1850
- }
1851
- }
1852
- });
1853
- tags.Extra = filename.extra;
1854
- let ingest = {
1855
- selected: {
1856
- download: {
1857
- tags: tags
1858
- },
1859
- preview: {}
1860
- }
1861
- };
1862
- if (
1863
- filename.file.tags.includes("sub") &amp;&amp;
1864
- filename.file.tags.includes("dub")
1865
- ) {
1866
- ingest.selected.preview.type = "both";
1867
- } else if (filename.file.tags.includes("sub")) {
1868
- ingest.selected.preview.type = "sub";
1869
- } else <span class="missing-if-branch" title="else path not taken" >E</span>if (filename.file.tags.includes("dub")) {
1870
- ingest.selected.preview.type = "dub";
1871
- }
1872
- if (filename.file.language) {
1873
- ingest.selected.preview.language = filename.file.language;
1874
- ingest.selected.download.language = filename.file.language;
1875
- }
1876
- if (filename.file.country) {
1877
- ingest.selected.download.country = filename.file.country;
1878
- }
1879
- return ingest;
1880
- }
1881
- /**
1882
- * Create a File from an Ingest object
1883
- *
1884
- * @param {object} params
1885
- */
1886
- createFile(params) {
1887
- let { allTags, allTypes, order, extension } = params;
1888
- &nbsp;
1889
- let filename = this.mapFromFilename({ allTags });
1890
- let mediainfo = this.mapFromMediainfo();
1891
- &nbsp;
1892
- let assembled = this.assemble({ filename, mediainfo, order });
1893
- this.set(assembled);
1894
- &nbsp;
1895
- let name = this.renderFilename({ allTags, allTypes, extension });
1896
- &nbsp;
1897
- let file = new File({
1898
- name: name,
1899
- path: `${this.renderPath()}/${name}`,
1900
- asset: this.asset._id,
1901
- contextTag: this.context.tag,
1902
- language: this.selected.download.language,
1903
- country: this.selected.download.country,
1904
- tags: flatValues(this.selected.download.tags),
1905
- ingest: this._id,
1906
- workRequest: this.workRequest,
1907
- verified: true
1908
- });
1909
- &nbsp;
1910
- return file;
1911
- }
1912
- /**
1913
- * Merges ingest metadata sources
1914
- *
1915
- * @param {object} params
1916
- */
1917
- assemble(params) {
1918
- let { filename, mediainfo, order, watermarks = [] } = params;
1919
- &nbsp;
1920
- let original = this.data();
1921
- &nbsp;
1922
- let defaults = {
1923
- workRequest: order._id,
1924
- selected: {
1925
- download: {
1926
- enabled: true,
1927
- tags: {
1928
- Extra: []
1929
- },
1930
- embargo: {
1931
- enabled: false
1932
- }
1933
- },
1934
- preview: {
1935
- enabled: false,
1936
- revision: "Final",
1937
- type: "none",
1938
- embargo: {
1939
- enabled: false
1940
- }
1941
- },
1942
- thumbnail: {
1943
- enabled: false,
1944
- position: 50
1945
- }
1946
- }
1947
- };
1948
- &nbsp;
1949
- let ingest = _.merge(defaults, filename, original, mediainfo);
1950
- &nbsp;
1951
- if (original.asset &amp;&amp; original.asset.creative) {
1952
- ingest.selected.preview.revision = "Unfinished";
1953
- }
1954
- &nbsp;
1955
- if (!original.context.asset &amp;&amp; filename.asset &amp;&amp; filename.asset._id) {
1956
- ingest.selected.asset = filename.asset._id;
1957
- }
1958
- &nbsp;
1959
- if (ingest.workRequest) {
1960
- ingest.selected.project = ingest.context.project;
1961
- ingest.selected.asset = ingest.context.asset;
1962
- ingest.selected.assetType = ingest.context.assetType;
1963
- }
1964
- &nbsp;
1965
- if (ingest.workRequest) {
1966
- ingest.selected.download.tags.Extra = [];
1967
- }
1968
- &nbsp;
1969
- if (original.context.tag) {
1970
- ingest.selected.download.tags.Extra = [original.context.tag];
1971
- }
1972
- &nbsp;
1973
- if (order.territory) {
1974
- ingest.selected.download.country = order.territory;
1975
- }
1976
- if (order.language) {
1977
- ingest.selected.preview.language = order.language;
1978
- ingest.selected.download.language = order.language;
1979
- }
1980
- if (order._id) {
1981
- ingest.selected.download.tags.Text = "txtd";
1982
- }
1983
- if (order.isSub() || order.isDub()) {
1984
- ingest.selected.download.tags.SubDub = {
1985
- sub: order.isSub(),
1986
- dub: order.isDub()
1987
- };
1988
- }
1989
- if (order.isSub()) {
1990
- ingest.selected.preview.type = "sub";
1991
- }
1992
- if (order.isDub()) {
1993
- ingest.selected.preview.type = "dub";
1994
- }
1995
- if (order.isSub() &amp;&amp; order.isDub()) {
1996
- ingest.selected.preview.type = "both";
1997
- }
1998
- &nbsp;
1999
- ingest.selected.preview.watermark = watermarks[0] ? watermarks[0]._id : "";
2000
- &nbsp;
2001
- let tags = ingest.selected.download.tags;
2002
- ingest.selected.preview.enabled =
2003
- !!(
2004
- tags.Codec == "prores" &amp;&amp;
2005
- tags.Resolution.split("x")[1] == "1080" &amp;&amp;
2006
- (tags.Framerate == "23.98" || <span class="branch-3 cbranch-no" title="branch not covered" >tags.Framerate == "25")</span> &amp;&amp;
2007
- watermarks.length
2008
- ) || false;
2009
- &nbsp;
2010
- return ingest;
2011
- }
2012
- }
2013
- &nbsp;
2014
- /**
2015
- * Flattens ingest.selected.download.tags into a simple array
2016
- *
2017
- * @param {object} data
2018
- */
2019
- function flatValues(data) {
2020
- let copy = clone(data);
2021
- <span class="missing-if-branch" title="else path not taken" >E</span>if (copy.SubDub) {
2022
- copy.SubDub = keys(filter(val =&gt; !!val, copy.SubDub));
2023
- }
2024
- return flatten(values(copy));
2025
- }
2026
- &nbsp;</pre></td></tr>
2027
- </table></pre>
2028
- <div class='push'></div><!-- for sticky footer -->
2029
- </div><!-- /wrapper -->
2030
- <div class='footer quiet pad2 space-top1 center small'>
2031
- Code coverage
2032
- generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Wed Aug 28 2019 18:19:49 GMT-0400 (Eastern Daylight Time)
2033
- </div>
2034
- </div>
2035
- <script src="prettify.js"></script>
2036
- <script>
2037
- window.onload = function () {
2038
- if (typeof prettyPrint === 'function') {
2039
- prettyPrint();
2040
- }
2041
- };
2042
- </script>
2043
- <script src="sorter.js"></script>
2044
- <script src="block-navigation.js"></script>
2045
- </body>
2046
- </html>