@deepkit/http 1.0.1-alpha.71 → 1.0.1-alpha.72
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/src/decorator.d.ts +8 -6
- package/dist/cjs/src/decorator.js +49 -12
- package/dist/cjs/src/decorator.js.map +1 -1
- package/dist/cjs/src/filter.d.ts +3 -3
- package/dist/cjs/src/filter.js +3 -3
- package/dist/cjs/src/filter.js.map +1 -1
- package/dist/cjs/src/http.d.ts +49 -11
- package/dist/cjs/src/http.js +129 -38
- package/dist/cjs/src/http.js.map +1 -1
- package/dist/cjs/src/kernel.d.ts +3 -3
- package/dist/cjs/src/kernel.js +1 -1
- package/dist/cjs/src/kernel.js.map +1 -1
- package/dist/cjs/src/model.d.ts +11 -3
- package/dist/cjs/src/model.js +58 -26
- package/dist/cjs/src/model.js.map +1 -1
- package/dist/cjs/src/module.js +5 -3
- package/dist/cjs/src/module.js.map +1 -1
- package/dist/cjs/src/router.d.ts +84 -11
- package/dist/cjs/src/router.js +280 -94
- package/dist/cjs/src/router.js.map +1 -1
- package/dist/cjs/src/static-serving.js +15 -8
- package/dist/cjs/src/static-serving.js.map +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/src/decorator.d.ts +8 -6
- package/dist/esm/src/decorator.js +47 -11
- package/dist/esm/src/decorator.js.map +1 -1
- package/dist/esm/src/filter.d.ts +3 -3
- package/dist/esm/src/filter.js +4 -4
- package/dist/esm/src/filter.js.map +1 -1
- package/dist/esm/src/http.d.ts +49 -11
- package/dist/esm/src/http.js +102 -24
- package/dist/esm/src/http.js.map +1 -1
- package/dist/esm/src/kernel.d.ts +3 -3
- package/dist/esm/src/kernel.js +2 -2
- package/dist/esm/src/kernel.js.map +1 -1
- package/dist/esm/src/model.d.ts +11 -3
- package/dist/esm/src/model.js +47 -15
- package/dist/esm/src/model.js.map +1 -1
- package/dist/esm/src/module.js +5 -3
- package/dist/esm/src/module.js.map +1 -1
- package/dist/esm/src/router.d.ts +84 -11
- package/dist/esm/src/router.js +278 -94
- package/dist/esm/src/router.js.map +1 -1
- package/dist/esm/src/static-serving.js +16 -9
- package/dist/esm/src/static-serving.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +17 -14
- package/src/decorator.ts +9 -6
- package/src/filter.ts +4 -4
- package/src/http.ts +88 -15
- package/src/kernel.ts +2 -2
- package/src/model.ts +35 -6
- package/src/module.ts +5 -3
- package/src/router.ts +286 -73
- package/src/static-serving.ts +6 -3
- package/coverage/clover.xml +0 -1086
- package/coverage/coverage-final.json +0 -12
- package/coverage/lcov-report/base.css +0 -224
- package/coverage/lcov-report/block-navigation.js +0 -79
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +0 -126
- package/coverage/lcov-report/prettify.css +0 -1
- package/coverage/lcov-report/prettify.js +0 -2
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +0 -170
- package/coverage/lcov-report/src/controllers.ts.html +0 -113
- package/coverage/lcov-report/src/decorator.ts.html +0 -1280
- package/coverage/lcov-report/src/filter.ts.html +0 -734
- package/coverage/lcov-report/src/http.ts.html +0 -2192
- package/coverage/lcov-report/src/index.html +0 -246
- package/coverage/lcov-report/src/kernel.ts.html +0 -260
- package/coverage/lcov-report/src/middleware.ts.html +0 -428
- package/coverage/lcov-report/src/model.ts.html +0 -937
- package/coverage/lcov-report/src/module.config.ts.html +0 -89
- package/coverage/lcov-report/src/module.ts.html +0 -245
- package/coverage/lcov-report/src/router.ts.html +0 -2318
- package/coverage/lcov-report/tests/index.html +0 -111
- package/coverage/lcov-report/tests/utils.ts.html +0 -176
- package/coverage/lcov.info +0 -2225
- package/dist/cjs/tests/filter.spec.d.ts +0 -1
- package/dist/cjs/tests/filter.spec.js +0 -251
- package/dist/cjs/tests/filter.spec.js.map +0 -1
- package/dist/cjs/tests/middleware.spec.d.ts +0 -1
- package/dist/cjs/tests/middleware.spec.js +0 -471
- package/dist/cjs/tests/middleware.spec.js.map +0 -1
- package/dist/cjs/tests/model.spec.d.ts +0 -1
- package/dist/cjs/tests/model.spec.js +0 -23
- package/dist/cjs/tests/model.spec.js.map +0 -1
- package/dist/cjs/tests/module.spec.d.ts +0 -1
- package/dist/cjs/tests/module.spec.js +0 -46
- package/dist/cjs/tests/module.spec.js.map +0 -1
- package/dist/cjs/tests/router.spec.d.ts +0 -1
- package/dist/cjs/tests/router.spec.js +0 -987
- package/dist/cjs/tests/router.spec.js.map +0 -1
- package/dist/cjs/tests/utils.d.ts +0 -8
- package/dist/cjs/tests/utils.js +0 -30
- package/dist/cjs/tests/utils.js.map +0 -1
- package/dist/esm/tests/filter.spec.d.ts +0 -1
- package/dist/esm/tests/filter.spec.js +0 -249
- package/dist/esm/tests/filter.spec.js.map +0 -1
- package/dist/esm/tests/middleware.spec.d.ts +0 -1
- package/dist/esm/tests/middleware.spec.js +0 -469
- package/dist/esm/tests/middleware.spec.js.map +0 -1
- package/dist/esm/tests/model.spec.d.ts +0 -1
- package/dist/esm/tests/model.spec.js +0 -21
- package/dist/esm/tests/model.spec.js.map +0 -1
- package/dist/esm/tests/module.spec.d.ts +0 -1
- package/dist/esm/tests/module.spec.js +0 -44
- package/dist/esm/tests/module.spec.js.map +0 -1
- package/dist/esm/tests/router.spec.d.ts +0 -1
- package/dist/esm/tests/router.spec.js +0 -985
- package/dist/esm/tests/router.spec.js.map +0 -1
- package/dist/esm/tests/utils.d.ts +0 -8
- package/dist/esm/tests/utils.js +0 -26
- package/dist/esm/tests/utils.js.map +0 -1
- package/tests/filter.spec.ts +0 -181
- package/tests/middleware.spec.ts +0 -440
- package/tests/model.spec.ts +0 -26
- package/tests/module.spec.ts +0 -32
- package/tests/router.spec.ts +0 -781
- package/tests/utils.ts +0 -32
|
@@ -1,2192 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
<!doctype html>
|
|
3
|
-
<html lang="en">
|
|
4
|
-
|
|
5
|
-
<head>
|
|
6
|
-
<title>Code coverage report for src/http.ts</title>
|
|
7
|
-
<meta charset="utf-8" />
|
|
8
|
-
<link rel="stylesheet" href="../prettify.css" />
|
|
9
|
-
<link rel="stylesheet" href="../base.css" />
|
|
10
|
-
<link rel="shortcut icon" type="image/x-icon" href="../favicon.png" />
|
|
11
|
-
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
-
<style type='text/css'>
|
|
13
|
-
.coverage-summary .sorter {
|
|
14
|
-
background-image: url(../sort-arrow-sprite.png);
|
|
15
|
-
}
|
|
16
|
-
</style>
|
|
17
|
-
</head>
|
|
18
|
-
|
|
19
|
-
<body>
|
|
20
|
-
<div class='wrapper'>
|
|
21
|
-
<div class='pad1'>
|
|
22
|
-
<h1><a href="../index.html">All files</a> / <a href="index.html">src</a> http.ts</h1>
|
|
23
|
-
<div class='clearfix'>
|
|
24
|
-
|
|
25
|
-
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">14.4% </span>
|
|
27
|
-
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>53/368</span>
|
|
29
|
-
</div>
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">0% </span>
|
|
34
|
-
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>0/168</span>
|
|
36
|
-
</div>
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">1.2% </span>
|
|
41
|
-
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>1/83</span>
|
|
43
|
-
</div>
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">15.14% </span>
|
|
48
|
-
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>48/317</span>
|
|
50
|
-
</div>
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
</div>
|
|
54
|
-
<p class="quiet">
|
|
55
|
-
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
|
-
</p>
|
|
57
|
-
</div>
|
|
58
|
-
<div class='status-line low'></div>
|
|
59
|
-
<pre><table class="coverage">
|
|
60
|
-
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
61
|
-
<a name='L2'></a><a href='#L2'>2</a>
|
|
62
|
-
<a name='L3'></a><a href='#L3'>3</a>
|
|
63
|
-
<a name='L4'></a><a href='#L4'>4</a>
|
|
64
|
-
<a name='L5'></a><a href='#L5'>5</a>
|
|
65
|
-
<a name='L6'></a><a href='#L6'>6</a>
|
|
66
|
-
<a name='L7'></a><a href='#L7'>7</a>
|
|
67
|
-
<a name='L8'></a><a href='#L8'>8</a>
|
|
68
|
-
<a name='L9'></a><a href='#L9'>9</a>
|
|
69
|
-
<a name='L10'></a><a href='#L10'>10</a>
|
|
70
|
-
<a name='L11'></a><a href='#L11'>11</a>
|
|
71
|
-
<a name='L12'></a><a href='#L12'>12</a>
|
|
72
|
-
<a name='L13'></a><a href='#L13'>13</a>
|
|
73
|
-
<a name='L14'></a><a href='#L14'>14</a>
|
|
74
|
-
<a name='L15'></a><a href='#L15'>15</a>
|
|
75
|
-
<a name='L16'></a><a href='#L16'>16</a>
|
|
76
|
-
<a name='L17'></a><a href='#L17'>17</a>
|
|
77
|
-
<a name='L18'></a><a href='#L18'>18</a>
|
|
78
|
-
<a name='L19'></a><a href='#L19'>19</a>
|
|
79
|
-
<a name='L20'></a><a href='#L20'>20</a>
|
|
80
|
-
<a name='L21'></a><a href='#L21'>21</a>
|
|
81
|
-
<a name='L22'></a><a href='#L22'>22</a>
|
|
82
|
-
<a name='L23'></a><a href='#L23'>23</a>
|
|
83
|
-
<a name='L24'></a><a href='#L24'>24</a>
|
|
84
|
-
<a name='L25'></a><a href='#L25'>25</a>
|
|
85
|
-
<a name='L26'></a><a href='#L26'>26</a>
|
|
86
|
-
<a name='L27'></a><a href='#L27'>27</a>
|
|
87
|
-
<a name='L28'></a><a href='#L28'>28</a>
|
|
88
|
-
<a name='L29'></a><a href='#L29'>29</a>
|
|
89
|
-
<a name='L30'></a><a href='#L30'>30</a>
|
|
90
|
-
<a name='L31'></a><a href='#L31'>31</a>
|
|
91
|
-
<a name='L32'></a><a href='#L32'>32</a>
|
|
92
|
-
<a name='L33'></a><a href='#L33'>33</a>
|
|
93
|
-
<a name='L34'></a><a href='#L34'>34</a>
|
|
94
|
-
<a name='L35'></a><a href='#L35'>35</a>
|
|
95
|
-
<a name='L36'></a><a href='#L36'>36</a>
|
|
96
|
-
<a name='L37'></a><a href='#L37'>37</a>
|
|
97
|
-
<a name='L38'></a><a href='#L38'>38</a>
|
|
98
|
-
<a name='L39'></a><a href='#L39'>39</a>
|
|
99
|
-
<a name='L40'></a><a href='#L40'>40</a>
|
|
100
|
-
<a name='L41'></a><a href='#L41'>41</a>
|
|
101
|
-
<a name='L42'></a><a href='#L42'>42</a>
|
|
102
|
-
<a name='L43'></a><a href='#L43'>43</a>
|
|
103
|
-
<a name='L44'></a><a href='#L44'>44</a>
|
|
104
|
-
<a name='L45'></a><a href='#L45'>45</a>
|
|
105
|
-
<a name='L46'></a><a href='#L46'>46</a>
|
|
106
|
-
<a name='L47'></a><a href='#L47'>47</a>
|
|
107
|
-
<a name='L48'></a><a href='#L48'>48</a>
|
|
108
|
-
<a name='L49'></a><a href='#L49'>49</a>
|
|
109
|
-
<a name='L50'></a><a href='#L50'>50</a>
|
|
110
|
-
<a name='L51'></a><a href='#L51'>51</a>
|
|
111
|
-
<a name='L52'></a><a href='#L52'>52</a>
|
|
112
|
-
<a name='L53'></a><a href='#L53'>53</a>
|
|
113
|
-
<a name='L54'></a><a href='#L54'>54</a>
|
|
114
|
-
<a name='L55'></a><a href='#L55'>55</a>
|
|
115
|
-
<a name='L56'></a><a href='#L56'>56</a>
|
|
116
|
-
<a name='L57'></a><a href='#L57'>57</a>
|
|
117
|
-
<a name='L58'></a><a href='#L58'>58</a>
|
|
118
|
-
<a name='L59'></a><a href='#L59'>59</a>
|
|
119
|
-
<a name='L60'></a><a href='#L60'>60</a>
|
|
120
|
-
<a name='L61'></a><a href='#L61'>61</a>
|
|
121
|
-
<a name='L62'></a><a href='#L62'>62</a>
|
|
122
|
-
<a name='L63'></a><a href='#L63'>63</a>
|
|
123
|
-
<a name='L64'></a><a href='#L64'>64</a>
|
|
124
|
-
<a name='L65'></a><a href='#L65'>65</a>
|
|
125
|
-
<a name='L66'></a><a href='#L66'>66</a>
|
|
126
|
-
<a name='L67'></a><a href='#L67'>67</a>
|
|
127
|
-
<a name='L68'></a><a href='#L68'>68</a>
|
|
128
|
-
<a name='L69'></a><a href='#L69'>69</a>
|
|
129
|
-
<a name='L70'></a><a href='#L70'>70</a>
|
|
130
|
-
<a name='L71'></a><a href='#L71'>71</a>
|
|
131
|
-
<a name='L72'></a><a href='#L72'>72</a>
|
|
132
|
-
<a name='L73'></a><a href='#L73'>73</a>
|
|
133
|
-
<a name='L74'></a><a href='#L74'>74</a>
|
|
134
|
-
<a name='L75'></a><a href='#L75'>75</a>
|
|
135
|
-
<a name='L76'></a><a href='#L76'>76</a>
|
|
136
|
-
<a name='L77'></a><a href='#L77'>77</a>
|
|
137
|
-
<a name='L78'></a><a href='#L78'>78</a>
|
|
138
|
-
<a name='L79'></a><a href='#L79'>79</a>
|
|
139
|
-
<a name='L80'></a><a href='#L80'>80</a>
|
|
140
|
-
<a name='L81'></a><a href='#L81'>81</a>
|
|
141
|
-
<a name='L82'></a><a href='#L82'>82</a>
|
|
142
|
-
<a name='L83'></a><a href='#L83'>83</a>
|
|
143
|
-
<a name='L84'></a><a href='#L84'>84</a>
|
|
144
|
-
<a name='L85'></a><a href='#L85'>85</a>
|
|
145
|
-
<a name='L86'></a><a href='#L86'>86</a>
|
|
146
|
-
<a name='L87'></a><a href='#L87'>87</a>
|
|
147
|
-
<a name='L88'></a><a href='#L88'>88</a>
|
|
148
|
-
<a name='L89'></a><a href='#L89'>89</a>
|
|
149
|
-
<a name='L90'></a><a href='#L90'>90</a>
|
|
150
|
-
<a name='L91'></a><a href='#L91'>91</a>
|
|
151
|
-
<a name='L92'></a><a href='#L92'>92</a>
|
|
152
|
-
<a name='L93'></a><a href='#L93'>93</a>
|
|
153
|
-
<a name='L94'></a><a href='#L94'>94</a>
|
|
154
|
-
<a name='L95'></a><a href='#L95'>95</a>
|
|
155
|
-
<a name='L96'></a><a href='#L96'>96</a>
|
|
156
|
-
<a name='L97'></a><a href='#L97'>97</a>
|
|
157
|
-
<a name='L98'></a><a href='#L98'>98</a>
|
|
158
|
-
<a name='L99'></a><a href='#L99'>99</a>
|
|
159
|
-
<a name='L100'></a><a href='#L100'>100</a>
|
|
160
|
-
<a name='L101'></a><a href='#L101'>101</a>
|
|
161
|
-
<a name='L102'></a><a href='#L102'>102</a>
|
|
162
|
-
<a name='L103'></a><a href='#L103'>103</a>
|
|
163
|
-
<a name='L104'></a><a href='#L104'>104</a>
|
|
164
|
-
<a name='L105'></a><a href='#L105'>105</a>
|
|
165
|
-
<a name='L106'></a><a href='#L106'>106</a>
|
|
166
|
-
<a name='L107'></a><a href='#L107'>107</a>
|
|
167
|
-
<a name='L108'></a><a href='#L108'>108</a>
|
|
168
|
-
<a name='L109'></a><a href='#L109'>109</a>
|
|
169
|
-
<a name='L110'></a><a href='#L110'>110</a>
|
|
170
|
-
<a name='L111'></a><a href='#L111'>111</a>
|
|
171
|
-
<a name='L112'></a><a href='#L112'>112</a>
|
|
172
|
-
<a name='L113'></a><a href='#L113'>113</a>
|
|
173
|
-
<a name='L114'></a><a href='#L114'>114</a>
|
|
174
|
-
<a name='L115'></a><a href='#L115'>115</a>
|
|
175
|
-
<a name='L116'></a><a href='#L116'>116</a>
|
|
176
|
-
<a name='L117'></a><a href='#L117'>117</a>
|
|
177
|
-
<a name='L118'></a><a href='#L118'>118</a>
|
|
178
|
-
<a name='L119'></a><a href='#L119'>119</a>
|
|
179
|
-
<a name='L120'></a><a href='#L120'>120</a>
|
|
180
|
-
<a name='L121'></a><a href='#L121'>121</a>
|
|
181
|
-
<a name='L122'></a><a href='#L122'>122</a>
|
|
182
|
-
<a name='L123'></a><a href='#L123'>123</a>
|
|
183
|
-
<a name='L124'></a><a href='#L124'>124</a>
|
|
184
|
-
<a name='L125'></a><a href='#L125'>125</a>
|
|
185
|
-
<a name='L126'></a><a href='#L126'>126</a>
|
|
186
|
-
<a name='L127'></a><a href='#L127'>127</a>
|
|
187
|
-
<a name='L128'></a><a href='#L128'>128</a>
|
|
188
|
-
<a name='L129'></a><a href='#L129'>129</a>
|
|
189
|
-
<a name='L130'></a><a href='#L130'>130</a>
|
|
190
|
-
<a name='L131'></a><a href='#L131'>131</a>
|
|
191
|
-
<a name='L132'></a><a href='#L132'>132</a>
|
|
192
|
-
<a name='L133'></a><a href='#L133'>133</a>
|
|
193
|
-
<a name='L134'></a><a href='#L134'>134</a>
|
|
194
|
-
<a name='L135'></a><a href='#L135'>135</a>
|
|
195
|
-
<a name='L136'></a><a href='#L136'>136</a>
|
|
196
|
-
<a name='L137'></a><a href='#L137'>137</a>
|
|
197
|
-
<a name='L138'></a><a href='#L138'>138</a>
|
|
198
|
-
<a name='L139'></a><a href='#L139'>139</a>
|
|
199
|
-
<a name='L140'></a><a href='#L140'>140</a>
|
|
200
|
-
<a name='L141'></a><a href='#L141'>141</a>
|
|
201
|
-
<a name='L142'></a><a href='#L142'>142</a>
|
|
202
|
-
<a name='L143'></a><a href='#L143'>143</a>
|
|
203
|
-
<a name='L144'></a><a href='#L144'>144</a>
|
|
204
|
-
<a name='L145'></a><a href='#L145'>145</a>
|
|
205
|
-
<a name='L146'></a><a href='#L146'>146</a>
|
|
206
|
-
<a name='L147'></a><a href='#L147'>147</a>
|
|
207
|
-
<a name='L148'></a><a href='#L148'>148</a>
|
|
208
|
-
<a name='L149'></a><a href='#L149'>149</a>
|
|
209
|
-
<a name='L150'></a><a href='#L150'>150</a>
|
|
210
|
-
<a name='L151'></a><a href='#L151'>151</a>
|
|
211
|
-
<a name='L152'></a><a href='#L152'>152</a>
|
|
212
|
-
<a name='L153'></a><a href='#L153'>153</a>
|
|
213
|
-
<a name='L154'></a><a href='#L154'>154</a>
|
|
214
|
-
<a name='L155'></a><a href='#L155'>155</a>
|
|
215
|
-
<a name='L156'></a><a href='#L156'>156</a>
|
|
216
|
-
<a name='L157'></a><a href='#L157'>157</a>
|
|
217
|
-
<a name='L158'></a><a href='#L158'>158</a>
|
|
218
|
-
<a name='L159'></a><a href='#L159'>159</a>
|
|
219
|
-
<a name='L160'></a><a href='#L160'>160</a>
|
|
220
|
-
<a name='L161'></a><a href='#L161'>161</a>
|
|
221
|
-
<a name='L162'></a><a href='#L162'>162</a>
|
|
222
|
-
<a name='L163'></a><a href='#L163'>163</a>
|
|
223
|
-
<a name='L164'></a><a href='#L164'>164</a>
|
|
224
|
-
<a name='L165'></a><a href='#L165'>165</a>
|
|
225
|
-
<a name='L166'></a><a href='#L166'>166</a>
|
|
226
|
-
<a name='L167'></a><a href='#L167'>167</a>
|
|
227
|
-
<a name='L168'></a><a href='#L168'>168</a>
|
|
228
|
-
<a name='L169'></a><a href='#L169'>169</a>
|
|
229
|
-
<a name='L170'></a><a href='#L170'>170</a>
|
|
230
|
-
<a name='L171'></a><a href='#L171'>171</a>
|
|
231
|
-
<a name='L172'></a><a href='#L172'>172</a>
|
|
232
|
-
<a name='L173'></a><a href='#L173'>173</a>
|
|
233
|
-
<a name='L174'></a><a href='#L174'>174</a>
|
|
234
|
-
<a name='L175'></a><a href='#L175'>175</a>
|
|
235
|
-
<a name='L176'></a><a href='#L176'>176</a>
|
|
236
|
-
<a name='L177'></a><a href='#L177'>177</a>
|
|
237
|
-
<a name='L178'></a><a href='#L178'>178</a>
|
|
238
|
-
<a name='L179'></a><a href='#L179'>179</a>
|
|
239
|
-
<a name='L180'></a><a href='#L180'>180</a>
|
|
240
|
-
<a name='L181'></a><a href='#L181'>181</a>
|
|
241
|
-
<a name='L182'></a><a href='#L182'>182</a>
|
|
242
|
-
<a name='L183'></a><a href='#L183'>183</a>
|
|
243
|
-
<a name='L184'></a><a href='#L184'>184</a>
|
|
244
|
-
<a name='L185'></a><a href='#L185'>185</a>
|
|
245
|
-
<a name='L186'></a><a href='#L186'>186</a>
|
|
246
|
-
<a name='L187'></a><a href='#L187'>187</a>
|
|
247
|
-
<a name='L188'></a><a href='#L188'>188</a>
|
|
248
|
-
<a name='L189'></a><a href='#L189'>189</a>
|
|
249
|
-
<a name='L190'></a><a href='#L190'>190</a>
|
|
250
|
-
<a name='L191'></a><a href='#L191'>191</a>
|
|
251
|
-
<a name='L192'></a><a href='#L192'>192</a>
|
|
252
|
-
<a name='L193'></a><a href='#L193'>193</a>
|
|
253
|
-
<a name='L194'></a><a href='#L194'>194</a>
|
|
254
|
-
<a name='L195'></a><a href='#L195'>195</a>
|
|
255
|
-
<a name='L196'></a><a href='#L196'>196</a>
|
|
256
|
-
<a name='L197'></a><a href='#L197'>197</a>
|
|
257
|
-
<a name='L198'></a><a href='#L198'>198</a>
|
|
258
|
-
<a name='L199'></a><a href='#L199'>199</a>
|
|
259
|
-
<a name='L200'></a><a href='#L200'>200</a>
|
|
260
|
-
<a name='L201'></a><a href='#L201'>201</a>
|
|
261
|
-
<a name='L202'></a><a href='#L202'>202</a>
|
|
262
|
-
<a name='L203'></a><a href='#L203'>203</a>
|
|
263
|
-
<a name='L204'></a><a href='#L204'>204</a>
|
|
264
|
-
<a name='L205'></a><a href='#L205'>205</a>
|
|
265
|
-
<a name='L206'></a><a href='#L206'>206</a>
|
|
266
|
-
<a name='L207'></a><a href='#L207'>207</a>
|
|
267
|
-
<a name='L208'></a><a href='#L208'>208</a>
|
|
268
|
-
<a name='L209'></a><a href='#L209'>209</a>
|
|
269
|
-
<a name='L210'></a><a href='#L210'>210</a>
|
|
270
|
-
<a name='L211'></a><a href='#L211'>211</a>
|
|
271
|
-
<a name='L212'></a><a href='#L212'>212</a>
|
|
272
|
-
<a name='L213'></a><a href='#L213'>213</a>
|
|
273
|
-
<a name='L214'></a><a href='#L214'>214</a>
|
|
274
|
-
<a name='L215'></a><a href='#L215'>215</a>
|
|
275
|
-
<a name='L216'></a><a href='#L216'>216</a>
|
|
276
|
-
<a name='L217'></a><a href='#L217'>217</a>
|
|
277
|
-
<a name='L218'></a><a href='#L218'>218</a>
|
|
278
|
-
<a name='L219'></a><a href='#L219'>219</a>
|
|
279
|
-
<a name='L220'></a><a href='#L220'>220</a>
|
|
280
|
-
<a name='L221'></a><a href='#L221'>221</a>
|
|
281
|
-
<a name='L222'></a><a href='#L222'>222</a>
|
|
282
|
-
<a name='L223'></a><a href='#L223'>223</a>
|
|
283
|
-
<a name='L224'></a><a href='#L224'>224</a>
|
|
284
|
-
<a name='L225'></a><a href='#L225'>225</a>
|
|
285
|
-
<a name='L226'></a><a href='#L226'>226</a>
|
|
286
|
-
<a name='L227'></a><a href='#L227'>227</a>
|
|
287
|
-
<a name='L228'></a><a href='#L228'>228</a>
|
|
288
|
-
<a name='L229'></a><a href='#L229'>229</a>
|
|
289
|
-
<a name='L230'></a><a href='#L230'>230</a>
|
|
290
|
-
<a name='L231'></a><a href='#L231'>231</a>
|
|
291
|
-
<a name='L232'></a><a href='#L232'>232</a>
|
|
292
|
-
<a name='L233'></a><a href='#L233'>233</a>
|
|
293
|
-
<a name='L234'></a><a href='#L234'>234</a>
|
|
294
|
-
<a name='L235'></a><a href='#L235'>235</a>
|
|
295
|
-
<a name='L236'></a><a href='#L236'>236</a>
|
|
296
|
-
<a name='L237'></a><a href='#L237'>237</a>
|
|
297
|
-
<a name='L238'></a><a href='#L238'>238</a>
|
|
298
|
-
<a name='L239'></a><a href='#L239'>239</a>
|
|
299
|
-
<a name='L240'></a><a href='#L240'>240</a>
|
|
300
|
-
<a name='L241'></a><a href='#L241'>241</a>
|
|
301
|
-
<a name='L242'></a><a href='#L242'>242</a>
|
|
302
|
-
<a name='L243'></a><a href='#L243'>243</a>
|
|
303
|
-
<a name='L244'></a><a href='#L244'>244</a>
|
|
304
|
-
<a name='L245'></a><a href='#L245'>245</a>
|
|
305
|
-
<a name='L246'></a><a href='#L246'>246</a>
|
|
306
|
-
<a name='L247'></a><a href='#L247'>247</a>
|
|
307
|
-
<a name='L248'></a><a href='#L248'>248</a>
|
|
308
|
-
<a name='L249'></a><a href='#L249'>249</a>
|
|
309
|
-
<a name='L250'></a><a href='#L250'>250</a>
|
|
310
|
-
<a name='L251'></a><a href='#L251'>251</a>
|
|
311
|
-
<a name='L252'></a><a href='#L252'>252</a>
|
|
312
|
-
<a name='L253'></a><a href='#L253'>253</a>
|
|
313
|
-
<a name='L254'></a><a href='#L254'>254</a>
|
|
314
|
-
<a name='L255'></a><a href='#L255'>255</a>
|
|
315
|
-
<a name='L256'></a><a href='#L256'>256</a>
|
|
316
|
-
<a name='L257'></a><a href='#L257'>257</a>
|
|
317
|
-
<a name='L258'></a><a href='#L258'>258</a>
|
|
318
|
-
<a name='L259'></a><a href='#L259'>259</a>
|
|
319
|
-
<a name='L260'></a><a href='#L260'>260</a>
|
|
320
|
-
<a name='L261'></a><a href='#L261'>261</a>
|
|
321
|
-
<a name='L262'></a><a href='#L262'>262</a>
|
|
322
|
-
<a name='L263'></a><a href='#L263'>263</a>
|
|
323
|
-
<a name='L264'></a><a href='#L264'>264</a>
|
|
324
|
-
<a name='L265'></a><a href='#L265'>265</a>
|
|
325
|
-
<a name='L266'></a><a href='#L266'>266</a>
|
|
326
|
-
<a name='L267'></a><a href='#L267'>267</a>
|
|
327
|
-
<a name='L268'></a><a href='#L268'>268</a>
|
|
328
|
-
<a name='L269'></a><a href='#L269'>269</a>
|
|
329
|
-
<a name='L270'></a><a href='#L270'>270</a>
|
|
330
|
-
<a name='L271'></a><a href='#L271'>271</a>
|
|
331
|
-
<a name='L272'></a><a href='#L272'>272</a>
|
|
332
|
-
<a name='L273'></a><a href='#L273'>273</a>
|
|
333
|
-
<a name='L274'></a><a href='#L274'>274</a>
|
|
334
|
-
<a name='L275'></a><a href='#L275'>275</a>
|
|
335
|
-
<a name='L276'></a><a href='#L276'>276</a>
|
|
336
|
-
<a name='L277'></a><a href='#L277'>277</a>
|
|
337
|
-
<a name='L278'></a><a href='#L278'>278</a>
|
|
338
|
-
<a name='L279'></a><a href='#L279'>279</a>
|
|
339
|
-
<a name='L280'></a><a href='#L280'>280</a>
|
|
340
|
-
<a name='L281'></a><a href='#L281'>281</a>
|
|
341
|
-
<a name='L282'></a><a href='#L282'>282</a>
|
|
342
|
-
<a name='L283'></a><a href='#L283'>283</a>
|
|
343
|
-
<a name='L284'></a><a href='#L284'>284</a>
|
|
344
|
-
<a name='L285'></a><a href='#L285'>285</a>
|
|
345
|
-
<a name='L286'></a><a href='#L286'>286</a>
|
|
346
|
-
<a name='L287'></a><a href='#L287'>287</a>
|
|
347
|
-
<a name='L288'></a><a href='#L288'>288</a>
|
|
348
|
-
<a name='L289'></a><a href='#L289'>289</a>
|
|
349
|
-
<a name='L290'></a><a href='#L290'>290</a>
|
|
350
|
-
<a name='L291'></a><a href='#L291'>291</a>
|
|
351
|
-
<a name='L292'></a><a href='#L292'>292</a>
|
|
352
|
-
<a name='L293'></a><a href='#L293'>293</a>
|
|
353
|
-
<a name='L294'></a><a href='#L294'>294</a>
|
|
354
|
-
<a name='L295'></a><a href='#L295'>295</a>
|
|
355
|
-
<a name='L296'></a><a href='#L296'>296</a>
|
|
356
|
-
<a name='L297'></a><a href='#L297'>297</a>
|
|
357
|
-
<a name='L298'></a><a href='#L298'>298</a>
|
|
358
|
-
<a name='L299'></a><a href='#L299'>299</a>
|
|
359
|
-
<a name='L300'></a><a href='#L300'>300</a>
|
|
360
|
-
<a name='L301'></a><a href='#L301'>301</a>
|
|
361
|
-
<a name='L302'></a><a href='#L302'>302</a>
|
|
362
|
-
<a name='L303'></a><a href='#L303'>303</a>
|
|
363
|
-
<a name='L304'></a><a href='#L304'>304</a>
|
|
364
|
-
<a name='L305'></a><a href='#L305'>305</a>
|
|
365
|
-
<a name='L306'></a><a href='#L306'>306</a>
|
|
366
|
-
<a name='L307'></a><a href='#L307'>307</a>
|
|
367
|
-
<a name='L308'></a><a href='#L308'>308</a>
|
|
368
|
-
<a name='L309'></a><a href='#L309'>309</a>
|
|
369
|
-
<a name='L310'></a><a href='#L310'>310</a>
|
|
370
|
-
<a name='L311'></a><a href='#L311'>311</a>
|
|
371
|
-
<a name='L312'></a><a href='#L312'>312</a>
|
|
372
|
-
<a name='L313'></a><a href='#L313'>313</a>
|
|
373
|
-
<a name='L314'></a><a href='#L314'>314</a>
|
|
374
|
-
<a name='L315'></a><a href='#L315'>315</a>
|
|
375
|
-
<a name='L316'></a><a href='#L316'>316</a>
|
|
376
|
-
<a name='L317'></a><a href='#L317'>317</a>
|
|
377
|
-
<a name='L318'></a><a href='#L318'>318</a>
|
|
378
|
-
<a name='L319'></a><a href='#L319'>319</a>
|
|
379
|
-
<a name='L320'></a><a href='#L320'>320</a>
|
|
380
|
-
<a name='L321'></a><a href='#L321'>321</a>
|
|
381
|
-
<a name='L322'></a><a href='#L322'>322</a>
|
|
382
|
-
<a name='L323'></a><a href='#L323'>323</a>
|
|
383
|
-
<a name='L324'></a><a href='#L324'>324</a>
|
|
384
|
-
<a name='L325'></a><a href='#L325'>325</a>
|
|
385
|
-
<a name='L326'></a><a href='#L326'>326</a>
|
|
386
|
-
<a name='L327'></a><a href='#L327'>327</a>
|
|
387
|
-
<a name='L328'></a><a href='#L328'>328</a>
|
|
388
|
-
<a name='L329'></a><a href='#L329'>329</a>
|
|
389
|
-
<a name='L330'></a><a href='#L330'>330</a>
|
|
390
|
-
<a name='L331'></a><a href='#L331'>331</a>
|
|
391
|
-
<a name='L332'></a><a href='#L332'>332</a>
|
|
392
|
-
<a name='L333'></a><a href='#L333'>333</a>
|
|
393
|
-
<a name='L334'></a><a href='#L334'>334</a>
|
|
394
|
-
<a name='L335'></a><a href='#L335'>335</a>
|
|
395
|
-
<a name='L336'></a><a href='#L336'>336</a>
|
|
396
|
-
<a name='L337'></a><a href='#L337'>337</a>
|
|
397
|
-
<a name='L338'></a><a href='#L338'>338</a>
|
|
398
|
-
<a name='L339'></a><a href='#L339'>339</a>
|
|
399
|
-
<a name='L340'></a><a href='#L340'>340</a>
|
|
400
|
-
<a name='L341'></a><a href='#L341'>341</a>
|
|
401
|
-
<a name='L342'></a><a href='#L342'>342</a>
|
|
402
|
-
<a name='L343'></a><a href='#L343'>343</a>
|
|
403
|
-
<a name='L344'></a><a href='#L344'>344</a>
|
|
404
|
-
<a name='L345'></a><a href='#L345'>345</a>
|
|
405
|
-
<a name='L346'></a><a href='#L346'>346</a>
|
|
406
|
-
<a name='L347'></a><a href='#L347'>347</a>
|
|
407
|
-
<a name='L348'></a><a href='#L348'>348</a>
|
|
408
|
-
<a name='L349'></a><a href='#L349'>349</a>
|
|
409
|
-
<a name='L350'></a><a href='#L350'>350</a>
|
|
410
|
-
<a name='L351'></a><a href='#L351'>351</a>
|
|
411
|
-
<a name='L352'></a><a href='#L352'>352</a>
|
|
412
|
-
<a name='L353'></a><a href='#L353'>353</a>
|
|
413
|
-
<a name='L354'></a><a href='#L354'>354</a>
|
|
414
|
-
<a name='L355'></a><a href='#L355'>355</a>
|
|
415
|
-
<a name='L356'></a><a href='#L356'>356</a>
|
|
416
|
-
<a name='L357'></a><a href='#L357'>357</a>
|
|
417
|
-
<a name='L358'></a><a href='#L358'>358</a>
|
|
418
|
-
<a name='L359'></a><a href='#L359'>359</a>
|
|
419
|
-
<a name='L360'></a><a href='#L360'>360</a>
|
|
420
|
-
<a name='L361'></a><a href='#L361'>361</a>
|
|
421
|
-
<a name='L362'></a><a href='#L362'>362</a>
|
|
422
|
-
<a name='L363'></a><a href='#L363'>363</a>
|
|
423
|
-
<a name='L364'></a><a href='#L364'>364</a>
|
|
424
|
-
<a name='L365'></a><a href='#L365'>365</a>
|
|
425
|
-
<a name='L366'></a><a href='#L366'>366</a>
|
|
426
|
-
<a name='L367'></a><a href='#L367'>367</a>
|
|
427
|
-
<a name='L368'></a><a href='#L368'>368</a>
|
|
428
|
-
<a name='L369'></a><a href='#L369'>369</a>
|
|
429
|
-
<a name='L370'></a><a href='#L370'>370</a>
|
|
430
|
-
<a name='L371'></a><a href='#L371'>371</a>
|
|
431
|
-
<a name='L372'></a><a href='#L372'>372</a>
|
|
432
|
-
<a name='L373'></a><a href='#L373'>373</a>
|
|
433
|
-
<a name='L374'></a><a href='#L374'>374</a>
|
|
434
|
-
<a name='L375'></a><a href='#L375'>375</a>
|
|
435
|
-
<a name='L376'></a><a href='#L376'>376</a>
|
|
436
|
-
<a name='L377'></a><a href='#L377'>377</a>
|
|
437
|
-
<a name='L378'></a><a href='#L378'>378</a>
|
|
438
|
-
<a name='L379'></a><a href='#L379'>379</a>
|
|
439
|
-
<a name='L380'></a><a href='#L380'>380</a>
|
|
440
|
-
<a name='L381'></a><a href='#L381'>381</a>
|
|
441
|
-
<a name='L382'></a><a href='#L382'>382</a>
|
|
442
|
-
<a name='L383'></a><a href='#L383'>383</a>
|
|
443
|
-
<a name='L384'></a><a href='#L384'>384</a>
|
|
444
|
-
<a name='L385'></a><a href='#L385'>385</a>
|
|
445
|
-
<a name='L386'></a><a href='#L386'>386</a>
|
|
446
|
-
<a name='L387'></a><a href='#L387'>387</a>
|
|
447
|
-
<a name='L388'></a><a href='#L388'>388</a>
|
|
448
|
-
<a name='L389'></a><a href='#L389'>389</a>
|
|
449
|
-
<a name='L390'></a><a href='#L390'>390</a>
|
|
450
|
-
<a name='L391'></a><a href='#L391'>391</a>
|
|
451
|
-
<a name='L392'></a><a href='#L392'>392</a>
|
|
452
|
-
<a name='L393'></a><a href='#L393'>393</a>
|
|
453
|
-
<a name='L394'></a><a href='#L394'>394</a>
|
|
454
|
-
<a name='L395'></a><a href='#L395'>395</a>
|
|
455
|
-
<a name='L396'></a><a href='#L396'>396</a>
|
|
456
|
-
<a name='L397'></a><a href='#L397'>397</a>
|
|
457
|
-
<a name='L398'></a><a href='#L398'>398</a>
|
|
458
|
-
<a name='L399'></a><a href='#L399'>399</a>
|
|
459
|
-
<a name='L400'></a><a href='#L400'>400</a>
|
|
460
|
-
<a name='L401'></a><a href='#L401'>401</a>
|
|
461
|
-
<a name='L402'></a><a href='#L402'>402</a>
|
|
462
|
-
<a name='L403'></a><a href='#L403'>403</a>
|
|
463
|
-
<a name='L404'></a><a href='#L404'>404</a>
|
|
464
|
-
<a name='L405'></a><a href='#L405'>405</a>
|
|
465
|
-
<a name='L406'></a><a href='#L406'>406</a>
|
|
466
|
-
<a name='L407'></a><a href='#L407'>407</a>
|
|
467
|
-
<a name='L408'></a><a href='#L408'>408</a>
|
|
468
|
-
<a name='L409'></a><a href='#L409'>409</a>
|
|
469
|
-
<a name='L410'></a><a href='#L410'>410</a>
|
|
470
|
-
<a name='L411'></a><a href='#L411'>411</a>
|
|
471
|
-
<a name='L412'></a><a href='#L412'>412</a>
|
|
472
|
-
<a name='L413'></a><a href='#L413'>413</a>
|
|
473
|
-
<a name='L414'></a><a href='#L414'>414</a>
|
|
474
|
-
<a name='L415'></a><a href='#L415'>415</a>
|
|
475
|
-
<a name='L416'></a><a href='#L416'>416</a>
|
|
476
|
-
<a name='L417'></a><a href='#L417'>417</a>
|
|
477
|
-
<a name='L418'></a><a href='#L418'>418</a>
|
|
478
|
-
<a name='L419'></a><a href='#L419'>419</a>
|
|
479
|
-
<a name='L420'></a><a href='#L420'>420</a>
|
|
480
|
-
<a name='L421'></a><a href='#L421'>421</a>
|
|
481
|
-
<a name='L422'></a><a href='#L422'>422</a>
|
|
482
|
-
<a name='L423'></a><a href='#L423'>423</a>
|
|
483
|
-
<a name='L424'></a><a href='#L424'>424</a>
|
|
484
|
-
<a name='L425'></a><a href='#L425'>425</a>
|
|
485
|
-
<a name='L426'></a><a href='#L426'>426</a>
|
|
486
|
-
<a name='L427'></a><a href='#L427'>427</a>
|
|
487
|
-
<a name='L428'></a><a href='#L428'>428</a>
|
|
488
|
-
<a name='L429'></a><a href='#L429'>429</a>
|
|
489
|
-
<a name='L430'></a><a href='#L430'>430</a>
|
|
490
|
-
<a name='L431'></a><a href='#L431'>431</a>
|
|
491
|
-
<a name='L432'></a><a href='#L432'>432</a>
|
|
492
|
-
<a name='L433'></a><a href='#L433'>433</a>
|
|
493
|
-
<a name='L434'></a><a href='#L434'>434</a>
|
|
494
|
-
<a name='L435'></a><a href='#L435'>435</a>
|
|
495
|
-
<a name='L436'></a><a href='#L436'>436</a>
|
|
496
|
-
<a name='L437'></a><a href='#L437'>437</a>
|
|
497
|
-
<a name='L438'></a><a href='#L438'>438</a>
|
|
498
|
-
<a name='L439'></a><a href='#L439'>439</a>
|
|
499
|
-
<a name='L440'></a><a href='#L440'>440</a>
|
|
500
|
-
<a name='L441'></a><a href='#L441'>441</a>
|
|
501
|
-
<a name='L442'></a><a href='#L442'>442</a>
|
|
502
|
-
<a name='L443'></a><a href='#L443'>443</a>
|
|
503
|
-
<a name='L444'></a><a href='#L444'>444</a>
|
|
504
|
-
<a name='L445'></a><a href='#L445'>445</a>
|
|
505
|
-
<a name='L446'></a><a href='#L446'>446</a>
|
|
506
|
-
<a name='L447'></a><a href='#L447'>447</a>
|
|
507
|
-
<a name='L448'></a><a href='#L448'>448</a>
|
|
508
|
-
<a name='L449'></a><a href='#L449'>449</a>
|
|
509
|
-
<a name='L450'></a><a href='#L450'>450</a>
|
|
510
|
-
<a name='L451'></a><a href='#L451'>451</a>
|
|
511
|
-
<a name='L452'></a><a href='#L452'>452</a>
|
|
512
|
-
<a name='L453'></a><a href='#L453'>453</a>
|
|
513
|
-
<a name='L454'></a><a href='#L454'>454</a>
|
|
514
|
-
<a name='L455'></a><a href='#L455'>455</a>
|
|
515
|
-
<a name='L456'></a><a href='#L456'>456</a>
|
|
516
|
-
<a name='L457'></a><a href='#L457'>457</a>
|
|
517
|
-
<a name='L458'></a><a href='#L458'>458</a>
|
|
518
|
-
<a name='L459'></a><a href='#L459'>459</a>
|
|
519
|
-
<a name='L460'></a><a href='#L460'>460</a>
|
|
520
|
-
<a name='L461'></a><a href='#L461'>461</a>
|
|
521
|
-
<a name='L462'></a><a href='#L462'>462</a>
|
|
522
|
-
<a name='L463'></a><a href='#L463'>463</a>
|
|
523
|
-
<a name='L464'></a><a href='#L464'>464</a>
|
|
524
|
-
<a name='L465'></a><a href='#L465'>465</a>
|
|
525
|
-
<a name='L466'></a><a href='#L466'>466</a>
|
|
526
|
-
<a name='L467'></a><a href='#L467'>467</a>
|
|
527
|
-
<a name='L468'></a><a href='#L468'>468</a>
|
|
528
|
-
<a name='L469'></a><a href='#L469'>469</a>
|
|
529
|
-
<a name='L470'></a><a href='#L470'>470</a>
|
|
530
|
-
<a name='L471'></a><a href='#L471'>471</a>
|
|
531
|
-
<a name='L472'></a><a href='#L472'>472</a>
|
|
532
|
-
<a name='L473'></a><a href='#L473'>473</a>
|
|
533
|
-
<a name='L474'></a><a href='#L474'>474</a>
|
|
534
|
-
<a name='L475'></a><a href='#L475'>475</a>
|
|
535
|
-
<a name='L476'></a><a href='#L476'>476</a>
|
|
536
|
-
<a name='L477'></a><a href='#L477'>477</a>
|
|
537
|
-
<a name='L478'></a><a href='#L478'>478</a>
|
|
538
|
-
<a name='L479'></a><a href='#L479'>479</a>
|
|
539
|
-
<a name='L480'></a><a href='#L480'>480</a>
|
|
540
|
-
<a name='L481'></a><a href='#L481'>481</a>
|
|
541
|
-
<a name='L482'></a><a href='#L482'>482</a>
|
|
542
|
-
<a name='L483'></a><a href='#L483'>483</a>
|
|
543
|
-
<a name='L484'></a><a href='#L484'>484</a>
|
|
544
|
-
<a name='L485'></a><a href='#L485'>485</a>
|
|
545
|
-
<a name='L486'></a><a href='#L486'>486</a>
|
|
546
|
-
<a name='L487'></a><a href='#L487'>487</a>
|
|
547
|
-
<a name='L488'></a><a href='#L488'>488</a>
|
|
548
|
-
<a name='L489'></a><a href='#L489'>489</a>
|
|
549
|
-
<a name='L490'></a><a href='#L490'>490</a>
|
|
550
|
-
<a name='L491'></a><a href='#L491'>491</a>
|
|
551
|
-
<a name='L492'></a><a href='#L492'>492</a>
|
|
552
|
-
<a name='L493'></a><a href='#L493'>493</a>
|
|
553
|
-
<a name='L494'></a><a href='#L494'>494</a>
|
|
554
|
-
<a name='L495'></a><a href='#L495'>495</a>
|
|
555
|
-
<a name='L496'></a><a href='#L496'>496</a>
|
|
556
|
-
<a name='L497'></a><a href='#L497'>497</a>
|
|
557
|
-
<a name='L498'></a><a href='#L498'>498</a>
|
|
558
|
-
<a name='L499'></a><a href='#L499'>499</a>
|
|
559
|
-
<a name='L500'></a><a href='#L500'>500</a>
|
|
560
|
-
<a name='L501'></a><a href='#L501'>501</a>
|
|
561
|
-
<a name='L502'></a><a href='#L502'>502</a>
|
|
562
|
-
<a name='L503'></a><a href='#L503'>503</a>
|
|
563
|
-
<a name='L504'></a><a href='#L504'>504</a>
|
|
564
|
-
<a name='L505'></a><a href='#L505'>505</a>
|
|
565
|
-
<a name='L506'></a><a href='#L506'>506</a>
|
|
566
|
-
<a name='L507'></a><a href='#L507'>507</a>
|
|
567
|
-
<a name='L508'></a><a href='#L508'>508</a>
|
|
568
|
-
<a name='L509'></a><a href='#L509'>509</a>
|
|
569
|
-
<a name='L510'></a><a href='#L510'>510</a>
|
|
570
|
-
<a name='L511'></a><a href='#L511'>511</a>
|
|
571
|
-
<a name='L512'></a><a href='#L512'>512</a>
|
|
572
|
-
<a name='L513'></a><a href='#L513'>513</a>
|
|
573
|
-
<a name='L514'></a><a href='#L514'>514</a>
|
|
574
|
-
<a name='L515'></a><a href='#L515'>515</a>
|
|
575
|
-
<a name='L516'></a><a href='#L516'>516</a>
|
|
576
|
-
<a name='L517'></a><a href='#L517'>517</a>
|
|
577
|
-
<a name='L518'></a><a href='#L518'>518</a>
|
|
578
|
-
<a name='L519'></a><a href='#L519'>519</a>
|
|
579
|
-
<a name='L520'></a><a href='#L520'>520</a>
|
|
580
|
-
<a name='L521'></a><a href='#L521'>521</a>
|
|
581
|
-
<a name='L522'></a><a href='#L522'>522</a>
|
|
582
|
-
<a name='L523'></a><a href='#L523'>523</a>
|
|
583
|
-
<a name='L524'></a><a href='#L524'>524</a>
|
|
584
|
-
<a name='L525'></a><a href='#L525'>525</a>
|
|
585
|
-
<a name='L526'></a><a href='#L526'>526</a>
|
|
586
|
-
<a name='L527'></a><a href='#L527'>527</a>
|
|
587
|
-
<a name='L528'></a><a href='#L528'>528</a>
|
|
588
|
-
<a name='L529'></a><a href='#L529'>529</a>
|
|
589
|
-
<a name='L530'></a><a href='#L530'>530</a>
|
|
590
|
-
<a name='L531'></a><a href='#L531'>531</a>
|
|
591
|
-
<a name='L532'></a><a href='#L532'>532</a>
|
|
592
|
-
<a name='L533'></a><a href='#L533'>533</a>
|
|
593
|
-
<a name='L534'></a><a href='#L534'>534</a>
|
|
594
|
-
<a name='L535'></a><a href='#L535'>535</a>
|
|
595
|
-
<a name='L536'></a><a href='#L536'>536</a>
|
|
596
|
-
<a name='L537'></a><a href='#L537'>537</a>
|
|
597
|
-
<a name='L538'></a><a href='#L538'>538</a>
|
|
598
|
-
<a name='L539'></a><a href='#L539'>539</a>
|
|
599
|
-
<a name='L540'></a><a href='#L540'>540</a>
|
|
600
|
-
<a name='L541'></a><a href='#L541'>541</a>
|
|
601
|
-
<a name='L542'></a><a href='#L542'>542</a>
|
|
602
|
-
<a name='L543'></a><a href='#L543'>543</a>
|
|
603
|
-
<a name='L544'></a><a href='#L544'>544</a>
|
|
604
|
-
<a name='L545'></a><a href='#L545'>545</a>
|
|
605
|
-
<a name='L546'></a><a href='#L546'>546</a>
|
|
606
|
-
<a name='L547'></a><a href='#L547'>547</a>
|
|
607
|
-
<a name='L548'></a><a href='#L548'>548</a>
|
|
608
|
-
<a name='L549'></a><a href='#L549'>549</a>
|
|
609
|
-
<a name='L550'></a><a href='#L550'>550</a>
|
|
610
|
-
<a name='L551'></a><a href='#L551'>551</a>
|
|
611
|
-
<a name='L552'></a><a href='#L552'>552</a>
|
|
612
|
-
<a name='L553'></a><a href='#L553'>553</a>
|
|
613
|
-
<a name='L554'></a><a href='#L554'>554</a>
|
|
614
|
-
<a name='L555'></a><a href='#L555'>555</a>
|
|
615
|
-
<a name='L556'></a><a href='#L556'>556</a>
|
|
616
|
-
<a name='L557'></a><a href='#L557'>557</a>
|
|
617
|
-
<a name='L558'></a><a href='#L558'>558</a>
|
|
618
|
-
<a name='L559'></a><a href='#L559'>559</a>
|
|
619
|
-
<a name='L560'></a><a href='#L560'>560</a>
|
|
620
|
-
<a name='L561'></a><a href='#L561'>561</a>
|
|
621
|
-
<a name='L562'></a><a href='#L562'>562</a>
|
|
622
|
-
<a name='L563'></a><a href='#L563'>563</a>
|
|
623
|
-
<a name='L564'></a><a href='#L564'>564</a>
|
|
624
|
-
<a name='L565'></a><a href='#L565'>565</a>
|
|
625
|
-
<a name='L566'></a><a href='#L566'>566</a>
|
|
626
|
-
<a name='L567'></a><a href='#L567'>567</a>
|
|
627
|
-
<a name='L568'></a><a href='#L568'>568</a>
|
|
628
|
-
<a name='L569'></a><a href='#L569'>569</a>
|
|
629
|
-
<a name='L570'></a><a href='#L570'>570</a>
|
|
630
|
-
<a name='L571'></a><a href='#L571'>571</a>
|
|
631
|
-
<a name='L572'></a><a href='#L572'>572</a>
|
|
632
|
-
<a name='L573'></a><a href='#L573'>573</a>
|
|
633
|
-
<a name='L574'></a><a href='#L574'>574</a>
|
|
634
|
-
<a name='L575'></a><a href='#L575'>575</a>
|
|
635
|
-
<a name='L576'></a><a href='#L576'>576</a>
|
|
636
|
-
<a name='L577'></a><a href='#L577'>577</a>
|
|
637
|
-
<a name='L578'></a><a href='#L578'>578</a>
|
|
638
|
-
<a name='L579'></a><a href='#L579'>579</a>
|
|
639
|
-
<a name='L580'></a><a href='#L580'>580</a>
|
|
640
|
-
<a name='L581'></a><a href='#L581'>581</a>
|
|
641
|
-
<a name='L582'></a><a href='#L582'>582</a>
|
|
642
|
-
<a name='L583'></a><a href='#L583'>583</a>
|
|
643
|
-
<a name='L584'></a><a href='#L584'>584</a>
|
|
644
|
-
<a name='L585'></a><a href='#L585'>585</a>
|
|
645
|
-
<a name='L586'></a><a href='#L586'>586</a>
|
|
646
|
-
<a name='L587'></a><a href='#L587'>587</a>
|
|
647
|
-
<a name='L588'></a><a href='#L588'>588</a>
|
|
648
|
-
<a name='L589'></a><a href='#L589'>589</a>
|
|
649
|
-
<a name='L590'></a><a href='#L590'>590</a>
|
|
650
|
-
<a name='L591'></a><a href='#L591'>591</a>
|
|
651
|
-
<a name='L592'></a><a href='#L592'>592</a>
|
|
652
|
-
<a name='L593'></a><a href='#L593'>593</a>
|
|
653
|
-
<a name='L594'></a><a href='#L594'>594</a>
|
|
654
|
-
<a name='L595'></a><a href='#L595'>595</a>
|
|
655
|
-
<a name='L596'></a><a href='#L596'>596</a>
|
|
656
|
-
<a name='L597'></a><a href='#L597'>597</a>
|
|
657
|
-
<a name='L598'></a><a href='#L598'>598</a>
|
|
658
|
-
<a name='L599'></a><a href='#L599'>599</a>
|
|
659
|
-
<a name='L600'></a><a href='#L600'>600</a>
|
|
660
|
-
<a name='L601'></a><a href='#L601'>601</a>
|
|
661
|
-
<a name='L602'></a><a href='#L602'>602</a>
|
|
662
|
-
<a name='L603'></a><a href='#L603'>603</a>
|
|
663
|
-
<a name='L604'></a><a href='#L604'>604</a>
|
|
664
|
-
<a name='L605'></a><a href='#L605'>605</a>
|
|
665
|
-
<a name='L606'></a><a href='#L606'>606</a>
|
|
666
|
-
<a name='L607'></a><a href='#L607'>607</a>
|
|
667
|
-
<a name='L608'></a><a href='#L608'>608</a>
|
|
668
|
-
<a name='L609'></a><a href='#L609'>609</a>
|
|
669
|
-
<a name='L610'></a><a href='#L610'>610</a>
|
|
670
|
-
<a name='L611'></a><a href='#L611'>611</a>
|
|
671
|
-
<a name='L612'></a><a href='#L612'>612</a>
|
|
672
|
-
<a name='L613'></a><a href='#L613'>613</a>
|
|
673
|
-
<a name='L614'></a><a href='#L614'>614</a>
|
|
674
|
-
<a name='L615'></a><a href='#L615'>615</a>
|
|
675
|
-
<a name='L616'></a><a href='#L616'>616</a>
|
|
676
|
-
<a name='L617'></a><a href='#L617'>617</a>
|
|
677
|
-
<a name='L618'></a><a href='#L618'>618</a>
|
|
678
|
-
<a name='L619'></a><a href='#L619'>619</a>
|
|
679
|
-
<a name='L620'></a><a href='#L620'>620</a>
|
|
680
|
-
<a name='L621'></a><a href='#L621'>621</a>
|
|
681
|
-
<a name='L622'></a><a href='#L622'>622</a>
|
|
682
|
-
<a name='L623'></a><a href='#L623'>623</a>
|
|
683
|
-
<a name='L624'></a><a href='#L624'>624</a>
|
|
684
|
-
<a name='L625'></a><a href='#L625'>625</a>
|
|
685
|
-
<a name='L626'></a><a href='#L626'>626</a>
|
|
686
|
-
<a name='L627'></a><a href='#L627'>627</a>
|
|
687
|
-
<a name='L628'></a><a href='#L628'>628</a>
|
|
688
|
-
<a name='L629'></a><a href='#L629'>629</a>
|
|
689
|
-
<a name='L630'></a><a href='#L630'>630</a>
|
|
690
|
-
<a name='L631'></a><a href='#L631'>631</a>
|
|
691
|
-
<a name='L632'></a><a href='#L632'>632</a>
|
|
692
|
-
<a name='L633'></a><a href='#L633'>633</a>
|
|
693
|
-
<a name='L634'></a><a href='#L634'>634</a>
|
|
694
|
-
<a name='L635'></a><a href='#L635'>635</a>
|
|
695
|
-
<a name='L636'></a><a href='#L636'>636</a>
|
|
696
|
-
<a name='L637'></a><a href='#L637'>637</a>
|
|
697
|
-
<a name='L638'></a><a href='#L638'>638</a>
|
|
698
|
-
<a name='L639'></a><a href='#L639'>639</a>
|
|
699
|
-
<a name='L640'></a><a href='#L640'>640</a>
|
|
700
|
-
<a name='L641'></a><a href='#L641'>641</a>
|
|
701
|
-
<a name='L642'></a><a href='#L642'>642</a>
|
|
702
|
-
<a name='L643'></a><a href='#L643'>643</a>
|
|
703
|
-
<a name='L644'></a><a href='#L644'>644</a>
|
|
704
|
-
<a name='L645'></a><a href='#L645'>645</a>
|
|
705
|
-
<a name='L646'></a><a href='#L646'>646</a>
|
|
706
|
-
<a name='L647'></a><a href='#L647'>647</a>
|
|
707
|
-
<a name='L648'></a><a href='#L648'>648</a>
|
|
708
|
-
<a name='L649'></a><a href='#L649'>649</a>
|
|
709
|
-
<a name='L650'></a><a href='#L650'>650</a>
|
|
710
|
-
<a name='L651'></a><a href='#L651'>651</a>
|
|
711
|
-
<a name='L652'></a><a href='#L652'>652</a>
|
|
712
|
-
<a name='L653'></a><a href='#L653'>653</a>
|
|
713
|
-
<a name='L654'></a><a href='#L654'>654</a>
|
|
714
|
-
<a name='L655'></a><a href='#L655'>655</a>
|
|
715
|
-
<a name='L656'></a><a href='#L656'>656</a>
|
|
716
|
-
<a name='L657'></a><a href='#L657'>657</a>
|
|
717
|
-
<a name='L658'></a><a href='#L658'>658</a>
|
|
718
|
-
<a name='L659'></a><a href='#L659'>659</a>
|
|
719
|
-
<a name='L660'></a><a href='#L660'>660</a>
|
|
720
|
-
<a name='L661'></a><a href='#L661'>661</a>
|
|
721
|
-
<a name='L662'></a><a href='#L662'>662</a>
|
|
722
|
-
<a name='L663'></a><a href='#L663'>663</a>
|
|
723
|
-
<a name='L664'></a><a href='#L664'>664</a>
|
|
724
|
-
<a name='L665'></a><a href='#L665'>665</a>
|
|
725
|
-
<a name='L666'></a><a href='#L666'>666</a>
|
|
726
|
-
<a name='L667'></a><a href='#L667'>667</a>
|
|
727
|
-
<a name='L668'></a><a href='#L668'>668</a>
|
|
728
|
-
<a name='L669'></a><a href='#L669'>669</a>
|
|
729
|
-
<a name='L670'></a><a href='#L670'>670</a>
|
|
730
|
-
<a name='L671'></a><a href='#L671'>671</a>
|
|
731
|
-
<a name='L672'></a><a href='#L672'>672</a>
|
|
732
|
-
<a name='L673'></a><a href='#L673'>673</a>
|
|
733
|
-
<a name='L674'></a><a href='#L674'>674</a>
|
|
734
|
-
<a name='L675'></a><a href='#L675'>675</a>
|
|
735
|
-
<a name='L676'></a><a href='#L676'>676</a>
|
|
736
|
-
<a name='L677'></a><a href='#L677'>677</a>
|
|
737
|
-
<a name='L678'></a><a href='#L678'>678</a>
|
|
738
|
-
<a name='L679'></a><a href='#L679'>679</a>
|
|
739
|
-
<a name='L680'></a><a href='#L680'>680</a>
|
|
740
|
-
<a name='L681'></a><a href='#L681'>681</a>
|
|
741
|
-
<a name='L682'></a><a href='#L682'>682</a>
|
|
742
|
-
<a name='L683'></a><a href='#L683'>683</a>
|
|
743
|
-
<a name='L684'></a><a href='#L684'>684</a>
|
|
744
|
-
<a name='L685'></a><a href='#L685'>685</a>
|
|
745
|
-
<a name='L686'></a><a href='#L686'>686</a>
|
|
746
|
-
<a name='L687'></a><a href='#L687'>687</a>
|
|
747
|
-
<a name='L688'></a><a href='#L688'>688</a>
|
|
748
|
-
<a name='L689'></a><a href='#L689'>689</a>
|
|
749
|
-
<a name='L690'></a><a href='#L690'>690</a>
|
|
750
|
-
<a name='L691'></a><a href='#L691'>691</a>
|
|
751
|
-
<a name='L692'></a><a href='#L692'>692</a>
|
|
752
|
-
<a name='L693'></a><a href='#L693'>693</a>
|
|
753
|
-
<a name='L694'></a><a href='#L694'>694</a>
|
|
754
|
-
<a name='L695'></a><a href='#L695'>695</a>
|
|
755
|
-
<a name='L696'></a><a href='#L696'>696</a>
|
|
756
|
-
<a name='L697'></a><a href='#L697'>697</a>
|
|
757
|
-
<a name='L698'></a><a href='#L698'>698</a>
|
|
758
|
-
<a name='L699'></a><a href='#L699'>699</a>
|
|
759
|
-
<a name='L700'></a><a href='#L700'>700</a>
|
|
760
|
-
<a name='L701'></a><a href='#L701'>701</a>
|
|
761
|
-
<a name='L702'></a><a href='#L702'>702</a>
|
|
762
|
-
<a name='L703'></a><a href='#L703'>703</a>
|
|
763
|
-
<a name='L704'></a><a href='#L704'>704</a>
|
|
764
|
-
<a name='L705'></a><a href='#L705'>705</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
765
|
-
<span class="cline-any cline-neutral"> </span>
|
|
766
|
-
<span class="cline-any cline-neutral"> </span>
|
|
767
|
-
<span class="cline-any cline-neutral"> </span>
|
|
768
|
-
<span class="cline-any cline-neutral"> </span>
|
|
769
|
-
<span class="cline-any cline-neutral"> </span>
|
|
770
|
-
<span class="cline-any cline-neutral"> </span>
|
|
771
|
-
<span class="cline-any cline-neutral"> </span>
|
|
772
|
-
<span class="cline-any cline-neutral"> </span>
|
|
773
|
-
<span class="cline-any cline-neutral"> </span>
|
|
774
|
-
<span class="cline-any cline-yes">2x</span>
|
|
775
|
-
<span class="cline-any cline-yes">1x</span>
|
|
776
|
-
<span class="cline-any cline-yes">1x</span>
|
|
777
|
-
<span class="cline-any cline-yes">1x</span>
|
|
778
|
-
<span class="cline-any cline-yes">1x</span>
|
|
779
|
-
<span class="cline-any cline-yes">1x</span>
|
|
780
|
-
<span class="cline-any cline-yes">4x</span>
|
|
781
|
-
<span class="cline-any cline-yes">1x</span>
|
|
782
|
-
<span class="cline-any cline-neutral"> </span>
|
|
783
|
-
<span class="cline-any cline-yes">1x</span>
|
|
784
|
-
<span class="cline-any cline-yes">1x</span>
|
|
785
|
-
<span class="cline-any cline-neutral"> </span>
|
|
786
|
-
<span class="cline-any cline-yes">1x</span>
|
|
787
|
-
<span class="cline-any cline-no"> </span>
|
|
788
|
-
<span class="cline-any cline-neutral"> </span>
|
|
789
|
-
<span class="cline-any cline-neutral"> </span>
|
|
790
|
-
<span class="cline-any cline-neutral"> </span>
|
|
791
|
-
<span class="cline-any cline-neutral"> </span>
|
|
792
|
-
<span class="cline-any cline-yes">1x</span>
|
|
793
|
-
<span class="cline-any cline-no"> </span>
|
|
794
|
-
<span class="cline-any cline-no"> </span>
|
|
795
|
-
<span class="cline-any cline-no"> </span>
|
|
796
|
-
<span class="cline-any cline-neutral"> </span>
|
|
797
|
-
<span class="cline-any cline-neutral"> </span>
|
|
798
|
-
<span class="cline-any cline-no"> </span>
|
|
799
|
-
<span class="cline-any cline-neutral"> </span>
|
|
800
|
-
<span class="cline-any cline-neutral"> </span>
|
|
801
|
-
<span class="cline-any cline-yes">1x</span>
|
|
802
|
-
<span class="cline-any cline-neutral"> </span>
|
|
803
|
-
<span class="cline-any cline-neutral"> </span>
|
|
804
|
-
<span class="cline-any cline-neutral"> </span>
|
|
805
|
-
<span class="cline-any cline-neutral"> </span>
|
|
806
|
-
<span class="cline-any cline-neutral"> </span>
|
|
807
|
-
<span class="cline-any cline-no"> </span>
|
|
808
|
-
<span class="cline-any cline-neutral"> </span>
|
|
809
|
-
<span class="cline-any cline-neutral"> </span>
|
|
810
|
-
<span class="cline-any cline-neutral"> </span>
|
|
811
|
-
<span class="cline-any cline-neutral"> </span>
|
|
812
|
-
<span class="cline-any cline-no"> </span>
|
|
813
|
-
<span class="cline-any cline-no"> </span>
|
|
814
|
-
<span class="cline-any cline-no"> </span>
|
|
815
|
-
<span class="cline-any cline-no"> </span>
|
|
816
|
-
<span class="cline-any cline-neutral"> </span>
|
|
817
|
-
<span class="cline-any cline-neutral"> </span>
|
|
818
|
-
<span class="cline-any cline-neutral"> </span>
|
|
819
|
-
<span class="cline-any cline-no"> </span>
|
|
820
|
-
<span class="cline-any cline-no"> </span>
|
|
821
|
-
<span class="cline-any cline-no"> </span>
|
|
822
|
-
<span class="cline-any cline-neutral"> </span>
|
|
823
|
-
<span class="cline-any cline-neutral"> </span>
|
|
824
|
-
<span class="cline-any cline-neutral"> </span>
|
|
825
|
-
<span class="cline-any cline-yes">1x</span>
|
|
826
|
-
<span class="cline-any cline-no"> </span>
|
|
827
|
-
<span class="cline-any cline-no"> </span>
|
|
828
|
-
<span class="cline-any cline-neutral"> </span>
|
|
829
|
-
<span class="cline-any cline-neutral"> </span>
|
|
830
|
-
<span class="cline-any cline-neutral"> </span>
|
|
831
|
-
<span class="cline-any cline-yes">1x</span>
|
|
832
|
-
<span class="cline-any cline-yes">3x</span>
|
|
833
|
-
<span class="cline-any cline-no"> </span>
|
|
834
|
-
<span class="cline-any cline-no"> </span>
|
|
835
|
-
<span class="cline-any cline-neutral"> </span>
|
|
836
|
-
<span class="cline-any cline-neutral"> </span>
|
|
837
|
-
<span class="cline-any cline-neutral"> </span>
|
|
838
|
-
<span class="cline-any cline-neutral"> </span>
|
|
839
|
-
<span class="cline-any cline-yes">1x</span>
|
|
840
|
-
<span class="cline-any cline-neutral"> </span>
|
|
841
|
-
<span class="cline-any cline-neutral"> </span>
|
|
842
|
-
<span class="cline-any cline-yes">1x</span>
|
|
843
|
-
<span class="cline-any cline-neutral"> </span>
|
|
844
|
-
<span class="cline-any cline-neutral"> </span>
|
|
845
|
-
<span class="cline-any cline-yes">1x</span>
|
|
846
|
-
<span class="cline-any cline-neutral"> </span>
|
|
847
|
-
<span class="cline-any cline-neutral"> </span>
|
|
848
|
-
<span class="cline-any cline-yes">1x</span>
|
|
849
|
-
<span class="cline-any cline-no"> </span>
|
|
850
|
-
<span class="cline-any cline-neutral"> </span>
|
|
851
|
-
<span class="cline-any cline-neutral"> </span>
|
|
852
|
-
<span class="cline-any cline-no"> </span>
|
|
853
|
-
<span class="cline-any cline-neutral"> </span>
|
|
854
|
-
<span class="cline-any cline-neutral"> </span>
|
|
855
|
-
<span class="cline-any cline-neutral"> </span>
|
|
856
|
-
<span class="cline-any cline-no"> </span>
|
|
857
|
-
<span class="cline-any cline-neutral"> </span>
|
|
858
|
-
<span class="cline-any cline-neutral"> </span>
|
|
859
|
-
<span class="cline-any cline-neutral"> </span>
|
|
860
|
-
<span class="cline-any cline-neutral"> </span>
|
|
861
|
-
<span class="cline-any cline-neutral"> </span>
|
|
862
|
-
<span class="cline-any cline-neutral"> </span>
|
|
863
|
-
<span class="cline-any cline-no"> </span>
|
|
864
|
-
<span class="cline-any cline-no"> </span>
|
|
865
|
-
<span class="cline-any cline-neutral"> </span>
|
|
866
|
-
<span class="cline-any cline-neutral"> </span>
|
|
867
|
-
<span class="cline-any cline-neutral"> </span>
|
|
868
|
-
<span class="cline-any cline-neutral"> </span>
|
|
869
|
-
<span class="cline-any cline-neutral"> </span>
|
|
870
|
-
<span class="cline-any cline-neutral"> </span>
|
|
871
|
-
<span class="cline-any cline-no"> </span>
|
|
872
|
-
<span class="cline-any cline-no"> </span>
|
|
873
|
-
<span class="cline-any cline-neutral"> </span>
|
|
874
|
-
<span class="cline-any cline-neutral"> </span>
|
|
875
|
-
<span class="cline-any cline-neutral"> </span>
|
|
876
|
-
<span class="cline-any cline-neutral"> </span>
|
|
877
|
-
<span class="cline-any cline-neutral"> </span>
|
|
878
|
-
<span class="cline-any cline-neutral"> </span>
|
|
879
|
-
<span class="cline-any cline-no"> </span>
|
|
880
|
-
<span class="cline-any cline-neutral"> </span>
|
|
881
|
-
<span class="cline-any cline-neutral"> </span>
|
|
882
|
-
<span class="cline-any cline-neutral"> </span>
|
|
883
|
-
<span class="cline-any cline-no"> </span>
|
|
884
|
-
<span class="cline-any cline-no"> </span>
|
|
885
|
-
<span class="cline-any cline-no"> </span>
|
|
886
|
-
<span class="cline-any cline-neutral"> </span>
|
|
887
|
-
<span class="cline-any cline-neutral"> </span>
|
|
888
|
-
<span class="cline-any cline-neutral"> </span>
|
|
889
|
-
<span class="cline-any cline-neutral"> </span>
|
|
890
|
-
<span class="cline-any cline-no"> </span>
|
|
891
|
-
<span class="cline-any cline-neutral"> </span>
|
|
892
|
-
<span class="cline-any cline-neutral"> </span>
|
|
893
|
-
<span class="cline-any cline-neutral"> </span>
|
|
894
|
-
<span class="cline-any cline-neutral"> </span>
|
|
895
|
-
<span class="cline-any cline-neutral"> </span>
|
|
896
|
-
<span class="cline-any cline-neutral"> </span>
|
|
897
|
-
<span class="cline-any cline-no"> </span>
|
|
898
|
-
<span class="cline-any cline-neutral"> </span>
|
|
899
|
-
<span class="cline-any cline-neutral"> </span>
|
|
900
|
-
<span class="cline-any cline-neutral"> </span>
|
|
901
|
-
<span class="cline-any cline-no"> </span>
|
|
902
|
-
<span class="cline-any cline-neutral"> </span>
|
|
903
|
-
<span class="cline-any cline-neutral"> </span>
|
|
904
|
-
<span class="cline-any cline-neutral"> </span>
|
|
905
|
-
<span class="cline-any cline-yes">1x</span>
|
|
906
|
-
<span class="cline-any cline-yes">1x</span>
|
|
907
|
-
<span class="cline-any cline-neutral"> </span>
|
|
908
|
-
<span class="cline-any cline-yes">1x</span>
|
|
909
|
-
<span class="cline-any cline-neutral"> </span>
|
|
910
|
-
<span class="cline-any cline-no"> </span>
|
|
911
|
-
<span class="cline-any cline-no"> </span>
|
|
912
|
-
<span class="cline-any cline-no"> </span>
|
|
913
|
-
<span class="cline-any cline-no"> </span>
|
|
914
|
-
<span class="cline-any cline-neutral"> </span>
|
|
915
|
-
<span class="cline-any cline-no"> </span>
|
|
916
|
-
<span class="cline-any cline-neutral"> </span>
|
|
917
|
-
<span class="cline-any cline-neutral"> </span>
|
|
918
|
-
<span class="cline-any cline-neutral"> </span>
|
|
919
|
-
<span class="cline-any cline-no"> </span>
|
|
920
|
-
<span class="cline-any cline-neutral"> </span>
|
|
921
|
-
<span class="cline-any cline-neutral"> </span>
|
|
922
|
-
<span class="cline-any cline-neutral"> </span>
|
|
923
|
-
<span class="cline-any cline-no"> </span>
|
|
924
|
-
<span class="cline-any cline-neutral"> </span>
|
|
925
|
-
<span class="cline-any cline-neutral"> </span>
|
|
926
|
-
<span class="cline-any cline-neutral"> </span>
|
|
927
|
-
<span class="cline-any cline-yes">1x</span>
|
|
928
|
-
<span class="cline-any cline-neutral"> </span>
|
|
929
|
-
<span class="cline-any cline-no"> </span>
|
|
930
|
-
<span class="cline-any cline-no"> </span>
|
|
931
|
-
<span class="cline-any cline-no"> </span>
|
|
932
|
-
<span class="cline-any cline-no"> </span>
|
|
933
|
-
<span class="cline-any cline-no"> </span>
|
|
934
|
-
<span class="cline-any cline-neutral"> </span>
|
|
935
|
-
<span class="cline-any cline-no"> </span>
|
|
936
|
-
<span class="cline-any cline-neutral"> </span>
|
|
937
|
-
<span class="cline-any cline-neutral"> </span>
|
|
938
|
-
<span class="cline-any cline-neutral"> </span>
|
|
939
|
-
<span class="cline-any cline-no"> </span>
|
|
940
|
-
<span class="cline-any cline-no"> </span>
|
|
941
|
-
<span class="cline-any cline-neutral"> </span>
|
|
942
|
-
<span class="cline-any cline-neutral"> </span>
|
|
943
|
-
<span class="cline-any cline-neutral"> </span>
|
|
944
|
-
<span class="cline-any cline-no"> </span>
|
|
945
|
-
<span class="cline-any cline-neutral"> </span>
|
|
946
|
-
<span class="cline-any cline-neutral"> </span>
|
|
947
|
-
<span class="cline-any cline-neutral"> </span>
|
|
948
|
-
<span class="cline-any cline-yes">1x</span>
|
|
949
|
-
<span class="cline-any cline-neutral"> </span>
|
|
950
|
-
<span class="cline-any cline-no"> </span>
|
|
951
|
-
<span class="cline-any cline-no"> </span>
|
|
952
|
-
<span class="cline-any cline-no"> </span>
|
|
953
|
-
<span class="cline-any cline-no"> </span>
|
|
954
|
-
<span class="cline-any cline-no"> </span>
|
|
955
|
-
<span class="cline-any cline-neutral"> </span>
|
|
956
|
-
<span class="cline-any cline-no"> </span>
|
|
957
|
-
<span class="cline-any cline-neutral"> </span>
|
|
958
|
-
<span class="cline-any cline-neutral"> </span>
|
|
959
|
-
<span class="cline-any cline-neutral"> </span>
|
|
960
|
-
<span class="cline-any cline-no"> </span>
|
|
961
|
-
<span class="cline-any cline-neutral"> </span>
|
|
962
|
-
<span class="cline-any cline-neutral"> </span>
|
|
963
|
-
<span class="cline-any cline-neutral"> </span>
|
|
964
|
-
<span class="cline-any cline-yes">1x</span>
|
|
965
|
-
<span class="cline-any cline-neutral"> </span>
|
|
966
|
-
<span class="cline-any cline-no"> </span>
|
|
967
|
-
<span class="cline-any cline-no"> </span>
|
|
968
|
-
<span class="cline-any cline-no"> </span>
|
|
969
|
-
<span class="cline-any cline-no"> </span>
|
|
970
|
-
<span class="cline-any cline-neutral"> </span>
|
|
971
|
-
<span class="cline-any cline-no"> </span>
|
|
972
|
-
<span class="cline-any cline-neutral"> </span>
|
|
973
|
-
<span class="cline-any cline-neutral"> </span>
|
|
974
|
-
<span class="cline-any cline-neutral"> </span>
|
|
975
|
-
<span class="cline-any cline-yes">1x</span>
|
|
976
|
-
<span class="cline-any cline-no"> </span>
|
|
977
|
-
<span class="cline-any cline-neutral"> </span>
|
|
978
|
-
<span class="cline-any cline-neutral"> </span>
|
|
979
|
-
<span class="cline-any cline-no"> </span>
|
|
980
|
-
<span class="cline-any cline-no"> </span>
|
|
981
|
-
<span class="cline-any cline-no"> </span>
|
|
982
|
-
<span class="cline-any cline-no"> </span>
|
|
983
|
-
<span class="cline-any cline-no"> </span>
|
|
984
|
-
<span class="cline-any cline-neutral"> </span>
|
|
985
|
-
<span class="cline-any cline-no"> </span>
|
|
986
|
-
<span class="cline-any cline-neutral"> </span>
|
|
987
|
-
<span class="cline-any cline-neutral"> </span>
|
|
988
|
-
<span class="cline-any cline-neutral"> </span>
|
|
989
|
-
<span class="cline-any cline-no"> </span>
|
|
990
|
-
<span class="cline-any cline-neutral"> </span>
|
|
991
|
-
<span class="cline-any cline-neutral"> </span>
|
|
992
|
-
<span class="cline-any cline-neutral"> </span>
|
|
993
|
-
<span class="cline-any cline-yes">1x</span>
|
|
994
|
-
<span class="cline-any cline-neutral"> </span>
|
|
995
|
-
<span class="cline-any cline-no"> </span>
|
|
996
|
-
<span class="cline-any cline-no"> </span>
|
|
997
|
-
<span class="cline-any cline-no"> </span>
|
|
998
|
-
<span class="cline-any cline-no"> </span>
|
|
999
|
-
<span class="cline-any cline-no"> </span>
|
|
1000
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1001
|
-
<span class="cline-any cline-no"> </span>
|
|
1002
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1003
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1004
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1005
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1006
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1007
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1008
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1009
|
-
<span class="cline-any cline-no"> </span>
|
|
1010
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1011
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1012
|
-
<span class="cline-any cline-no"> </span>
|
|
1013
|
-
<span class="cline-any cline-no"> </span>
|
|
1014
|
-
<span class="cline-any cline-no"> </span>
|
|
1015
|
-
<span class="cline-any cline-no"> </span>
|
|
1016
|
-
<span class="cline-any cline-no"> </span>
|
|
1017
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1018
|
-
<span class="cline-any cline-no"> </span>
|
|
1019
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1020
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1021
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1022
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1023
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1024
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1025
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1026
|
-
<span class="cline-any cline-no"> </span>
|
|
1027
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1028
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1029
|
-
<span class="cline-any cline-no"> </span>
|
|
1030
|
-
<span class="cline-any cline-no"> </span>
|
|
1031
|
-
<span class="cline-any cline-no"> </span>
|
|
1032
|
-
<span class="cline-any cline-no"> </span>
|
|
1033
|
-
<span class="cline-any cline-no"> </span>
|
|
1034
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1035
|
-
<span class="cline-any cline-no"> </span>
|
|
1036
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1037
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1038
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1039
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1040
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1041
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1042
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1043
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1044
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1045
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1046
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1047
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1048
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1049
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1050
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1051
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1052
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1053
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1054
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1055
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1056
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1057
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1058
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1059
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1060
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1061
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1062
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1063
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1064
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1065
|
-
<span class="cline-any cline-no"> </span>
|
|
1066
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1067
|
-
<span class="cline-any cline-no"> </span>
|
|
1068
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1069
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1070
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1071
|
-
<span class="cline-any cline-no"> </span>
|
|
1072
|
-
<span class="cline-any cline-no"> </span>
|
|
1073
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1074
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1075
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1076
|
-
<span class="cline-any cline-no"> </span>
|
|
1077
|
-
<span class="cline-any cline-no"> </span>
|
|
1078
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1079
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1080
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1081
|
-
<span class="cline-any cline-no"> </span>
|
|
1082
|
-
<span class="cline-any cline-no"> </span>
|
|
1083
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1084
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1085
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1086
|
-
<span class="cline-any cline-no"> </span>
|
|
1087
|
-
<span class="cline-any cline-no"> </span>
|
|
1088
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1089
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1090
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1091
|
-
<span class="cline-any cline-no"> </span>
|
|
1092
|
-
<span class="cline-any cline-no"> </span>
|
|
1093
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1094
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1095
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1096
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1097
|
-
<span class="cline-any cline-no"> </span>
|
|
1098
|
-
<span class="cline-any cline-no"> </span>
|
|
1099
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1100
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1101
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1102
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1103
|
-
<span class="cline-any cline-no"> </span>
|
|
1104
|
-
<span class="cline-any cline-no"> </span>
|
|
1105
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1106
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1107
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1108
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1109
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1110
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1111
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1112
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1113
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1114
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1115
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1116
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1117
|
-
<span class="cline-any cline-no"> </span>
|
|
1118
|
-
<span class="cline-any cline-no"> </span>
|
|
1119
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1120
|
-
<span class="cline-any cline-no"> </span>
|
|
1121
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1122
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1123
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1124
|
-
<span class="cline-any cline-no"> </span>
|
|
1125
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1126
|
-
<span class="cline-any cline-no"> </span>
|
|
1127
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1128
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1129
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1130
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1131
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1132
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1133
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1134
|
-
<span class="cline-any cline-no"> </span>
|
|
1135
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1136
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1137
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1138
|
-
<span class="cline-any cline-no"> </span>
|
|
1139
|
-
<span class="cline-any cline-no"> </span>
|
|
1140
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1141
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1142
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1143
|
-
<span class="cline-any cline-no"> </span>
|
|
1144
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1145
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1146
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1147
|
-
<span class="cline-any cline-no"> </span>
|
|
1148
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1149
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1150
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1151
|
-
<span class="cline-any cline-no"> </span>
|
|
1152
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1153
|
-
<span class="cline-any cline-no"> </span>
|
|
1154
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1155
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1156
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1157
|
-
<span class="cline-any cline-no"> </span>
|
|
1158
|
-
<span class="cline-any cline-no"> </span>
|
|
1159
|
-
<span class="cline-any cline-no"> </span>
|
|
1160
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1161
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1162
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1163
|
-
<span class="cline-any cline-no"> </span>
|
|
1164
|
-
<span class="cline-any cline-no"> </span>
|
|
1165
|
-
<span class="cline-any cline-no"> </span>
|
|
1166
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1167
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1168
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1169
|
-
<span class="cline-any cline-no"> </span>
|
|
1170
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1171
|
-
<span class="cline-any cline-no"> </span>
|
|
1172
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1173
|
-
<span class="cline-any cline-no"> </span>
|
|
1174
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1175
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1176
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1177
|
-
<span class="cline-any cline-no"> </span>
|
|
1178
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1179
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1180
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1181
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1182
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1183
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1184
|
-
<span class="cline-any cline-no"> </span>
|
|
1185
|
-
<span class="cline-any cline-no"> </span>
|
|
1186
|
-
<span class="cline-any cline-no"> </span>
|
|
1187
|
-
<span class="cline-any cline-no"> </span>
|
|
1188
|
-
<span class="cline-any cline-no"> </span>
|
|
1189
|
-
<span class="cline-any cline-no"> </span>
|
|
1190
|
-
<span class="cline-any cline-no"> </span>
|
|
1191
|
-
<span class="cline-any cline-no"> </span>
|
|
1192
|
-
<span class="cline-any cline-no"> </span>
|
|
1193
|
-
<span class="cline-any cline-no"> </span>
|
|
1194
|
-
<span class="cline-any cline-no"> </span>
|
|
1195
|
-
<span class="cline-any cline-no"> </span>
|
|
1196
|
-
<span class="cline-any cline-no"> </span>
|
|
1197
|
-
<span class="cline-any cline-no"> </span>
|
|
1198
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1199
|
-
<span class="cline-any cline-no"> </span>
|
|
1200
|
-
<span class="cline-any cline-no"> </span>
|
|
1201
|
-
<span class="cline-any cline-no"> </span>
|
|
1202
|
-
<span class="cline-any cline-no"> </span>
|
|
1203
|
-
<span class="cline-any cline-no"> </span>
|
|
1204
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1205
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1206
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1207
|
-
<span class="cline-any cline-no"> </span>
|
|
1208
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1209
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1210
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1211
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1212
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1213
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1214
|
-
<span class="cline-any cline-no"> </span>
|
|
1215
|
-
<span class="cline-any cline-no"> </span>
|
|
1216
|
-
<span class="cline-any cline-no"> </span>
|
|
1217
|
-
<span class="cline-any cline-no"> </span>
|
|
1218
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1219
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1220
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1221
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1222
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1223
|
-
<span class="cline-any cline-no"> </span>
|
|
1224
|
-
<span class="cline-any cline-no"> </span>
|
|
1225
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1226
|
-
<span class="cline-any cline-no"> </span>
|
|
1227
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1228
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1229
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1230
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1231
|
-
<span class="cline-any cline-no"> </span>
|
|
1232
|
-
<span class="cline-any cline-no"> </span>
|
|
1233
|
-
<span class="cline-any cline-no"> </span>
|
|
1234
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1235
|
-
<span class="cline-any cline-no"> </span>
|
|
1236
|
-
<span class="cline-any cline-no"> </span>
|
|
1237
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1238
|
-
<span class="cline-any cline-no"> </span>
|
|
1239
|
-
<span class="cline-any cline-no"> </span>
|
|
1240
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1241
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1242
|
-
<span class="cline-any cline-no"> </span>
|
|
1243
|
-
<span class="cline-any cline-no"> </span>
|
|
1244
|
-
<span class="cline-any cline-no"> </span>
|
|
1245
|
-
<span class="cline-any cline-no"> </span>
|
|
1246
|
-
<span class="cline-any cline-no"> </span>
|
|
1247
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1248
|
-
<span class="cline-any cline-no"> </span>
|
|
1249
|
-
<span class="cline-any cline-no"> </span>
|
|
1250
|
-
<span class="cline-any cline-no"> </span>
|
|
1251
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1252
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1253
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1254
|
-
<span class="cline-any cline-no"> </span>
|
|
1255
|
-
<span class="cline-any cline-no"> </span>
|
|
1256
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1257
|
-
<span class="cline-any cline-no"> </span>
|
|
1258
|
-
<span class="cline-any cline-no"> </span>
|
|
1259
|
-
<span class="cline-any cline-no"> </span>
|
|
1260
|
-
<span class="cline-any cline-no"> </span>
|
|
1261
|
-
<span class="cline-any cline-no"> </span>
|
|
1262
|
-
<span class="cline-any cline-no"> </span>
|
|
1263
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1264
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1265
|
-
<span class="cline-any cline-no"> </span>
|
|
1266
|
-
<span class="cline-any cline-no"> </span>
|
|
1267
|
-
<span class="cline-any cline-no"> </span>
|
|
1268
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1269
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1270
|
-
<span class="cline-any cline-no"> </span>
|
|
1271
|
-
<span class="cline-any cline-no"> </span>
|
|
1272
|
-
<span class="cline-any cline-no"> </span>
|
|
1273
|
-
<span class="cline-any cline-no"> </span>
|
|
1274
|
-
<span class="cline-any cline-no"> </span>
|
|
1275
|
-
<span class="cline-any cline-no"> </span>
|
|
1276
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1277
|
-
<span class="cline-any cline-no"> </span>
|
|
1278
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1279
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1280
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1281
|
-
<span class="cline-any cline-no"> </span>
|
|
1282
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1283
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1284
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1285
|
-
<span class="cline-any cline-no"> </span>
|
|
1286
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1287
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1288
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1289
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1290
|
-
<span class="cline-any cline-no"> </span>
|
|
1291
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1292
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1293
|
-
<span class="cline-any cline-no"> </span>
|
|
1294
|
-
<span class="cline-any cline-no"> </span>
|
|
1295
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1296
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1297
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1298
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1299
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1300
|
-
<span class="cline-any cline-no"> </span>
|
|
1301
|
-
<span class="cline-any cline-no"> </span>
|
|
1302
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1303
|
-
<span class="cline-any cline-no"> </span>
|
|
1304
|
-
<span class="cline-any cline-no"> </span>
|
|
1305
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1306
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1307
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1308
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1309
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1310
|
-
<span class="cline-any cline-no"> </span>
|
|
1311
|
-
<span class="cline-any cline-no"> </span>
|
|
1312
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1313
|
-
<span class="cline-any cline-no"> </span>
|
|
1314
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1315
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1316
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1317
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1318
|
-
<span class="cline-any cline-no"> </span>
|
|
1319
|
-
<span class="cline-any cline-no"> </span>
|
|
1320
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1321
|
-
<span class="cline-any cline-no"> </span>
|
|
1322
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1323
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1324
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1325
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1326
|
-
<span class="cline-any cline-no"> </span>
|
|
1327
|
-
<span class="cline-any cline-no"> </span>
|
|
1328
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1329
|
-
<span class="cline-any cline-no"> </span>
|
|
1330
|
-
<span class="cline-any cline-no"> </span>
|
|
1331
|
-
<span class="cline-any cline-no"> </span>
|
|
1332
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1333
|
-
<span class="cline-any cline-no"> </span>
|
|
1334
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1335
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1336
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1337
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1338
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1339
|
-
<span class="cline-any cline-no"> </span>
|
|
1340
|
-
<span class="cline-any cline-no"> </span>
|
|
1341
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1342
|
-
<span class="cline-any cline-no"> </span>
|
|
1343
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1344
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1345
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1346
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1347
|
-
<span class="cline-any cline-no"> </span>
|
|
1348
|
-
<span class="cline-any cline-no"> </span>
|
|
1349
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1350
|
-
<span class="cline-any cline-no"> </span>
|
|
1351
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1352
|
-
<span class="cline-any cline-no"> </span>
|
|
1353
|
-
<span class="cline-any cline-no"> </span>
|
|
1354
|
-
<span class="cline-any cline-no"> </span>
|
|
1355
|
-
<span class="cline-any cline-no"> </span>
|
|
1356
|
-
<span class="cline-any cline-no"> </span>
|
|
1357
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1358
|
-
<span class="cline-any cline-no"> </span>
|
|
1359
|
-
<span class="cline-any cline-no"> </span>
|
|
1360
|
-
<span class="cline-any cline-no"> </span>
|
|
1361
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1362
|
-
<span class="cline-any cline-no"> </span>
|
|
1363
|
-
<span class="cline-any cline-no"> </span>
|
|
1364
|
-
<span class="cline-any cline-no"> </span>
|
|
1365
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1366
|
-
<span class="cline-any cline-no"> </span>
|
|
1367
|
-
<span class="cline-any cline-no"> </span>
|
|
1368
|
-
<span class="cline-any cline-no"> </span>
|
|
1369
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1370
|
-
<span class="cline-any cline-no"> </span>
|
|
1371
|
-
<span class="cline-any cline-no"> </span>
|
|
1372
|
-
<span class="cline-any cline-no"> </span>
|
|
1373
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1374
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1375
|
-
<span class="cline-any cline-no"> </span>
|
|
1376
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1377
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1378
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1379
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1380
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1381
|
-
<span class="cline-any cline-no"> </span>
|
|
1382
|
-
<span class="cline-any cline-no"> </span>
|
|
1383
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1384
|
-
<span class="cline-any cline-no"> </span>
|
|
1385
|
-
<span class="cline-any cline-no"> </span>
|
|
1386
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1387
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1388
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1389
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1390
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1391
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1392
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1393
|
-
<span class="cline-any cline-no"> </span>
|
|
1394
|
-
<span class="cline-any cline-no"> </span>
|
|
1395
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1396
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1397
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1398
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1399
|
-
<span class="cline-any cline-no"> </span>
|
|
1400
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1401
|
-
<span class="cline-any cline-no"> </span>
|
|
1402
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1403
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1404
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1405
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1406
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1407
|
-
<span class="cline-any cline-no"> </span>
|
|
1408
|
-
<span class="cline-any cline-no"> </span>
|
|
1409
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1410
|
-
<span class="cline-any cline-no"> </span>
|
|
1411
|
-
<span class="cline-any cline-no"> </span>
|
|
1412
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1413
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1414
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1415
|
-
<span class="cline-any cline-no"> </span>
|
|
1416
|
-
<span class="cline-any cline-no"> </span>
|
|
1417
|
-
<span class="cline-any cline-no"> </span>
|
|
1418
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1419
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1420
|
-
<span class="cline-any cline-no"> </span>
|
|
1421
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1422
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1423
|
-
<span class="cline-any cline-no"> </span>
|
|
1424
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1425
|
-
<span class="cline-any cline-no"> </span>
|
|
1426
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1427
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1428
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1429
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1430
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1431
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1432
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1433
|
-
<span class="cline-any cline-no"> </span>
|
|
1434
|
-
<span class="cline-any cline-no"> </span>
|
|
1435
|
-
<span class="cline-any cline-no"> </span>
|
|
1436
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1437
|
-
<span class="cline-any cline-no"> </span>
|
|
1438
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1439
|
-
<span class="cline-any cline-no"> </span>
|
|
1440
|
-
<span class="cline-any cline-no"> </span>
|
|
1441
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1442
|
-
<span class="cline-any cline-no"> </span>
|
|
1443
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1444
|
-
<span class="cline-any cline-no"> </span>
|
|
1445
|
-
<span class="cline-any cline-no"> </span>
|
|
1446
|
-
<span class="cline-any cline-no"> </span>
|
|
1447
|
-
<span class="cline-any cline-no"> </span>
|
|
1448
|
-
<span class="cline-any cline-no"> </span>
|
|
1449
|
-
<span class="cline-any cline-no"> </span>
|
|
1450
|
-
<span class="cline-any cline-no"> </span>
|
|
1451
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1452
|
-
<span class="cline-any cline-no"> </span>
|
|
1453
|
-
<span class="cline-any cline-no"> </span>
|
|
1454
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1455
|
-
<span class="cline-any cline-no"> </span>
|
|
1456
|
-
<span class="cline-any cline-no"> </span>
|
|
1457
|
-
<span class="cline-any cline-no"> </span>
|
|
1458
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1459
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1460
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1461
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1462
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1463
|
-
<span class="cline-any cline-no"> </span>
|
|
1464
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1465
|
-
<span class="cline-any cline-no"> </span>
|
|
1466
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1467
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1468
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">/*
|
|
1469
|
-
* Deepkit Framework
|
|
1470
|
-
* Copyright (C) 2021 Deepkit UG, Marc J. Schmidt
|
|
1471
|
-
*
|
|
1472
|
-
* This program is free software: you can redistribute it and/or modify
|
|
1473
|
-
* it under the terms of the MIT License.
|
|
1474
|
-
*
|
|
1475
|
-
* You should have received a copy of the MIT License along with this program.
|
|
1476
|
-
*/
|
|
1477
|
-
|
|
1478
|
-
import { asyncOperation, ClassType, CustomError, getClassName, getClassTypeFromInstance, isClassInstance } from '@deepkit/core';
|
|
1479
|
-
import { OutgoingHttpHeaders, ServerResponse } from 'http';
|
|
1480
|
-
import { eventDispatcher } from '@deepkit/event';
|
|
1481
|
-
import { HttpRequest, HttpResponse } from './model';
|
|
1482
|
-
import { InjectorContext } from '@deepkit/injector';
|
|
1483
|
-
import { Logger } from '@deepkit/logger';
|
|
1484
|
-
import { RouteConfig, RouteParameterResolverForInjector, Router } from './router';
|
|
1485
|
-
import { createWorkflow, WorkflowEvent } from '@deepkit/workflow';
|
|
1486
|
-
import type { ElementStruct, render } from '@deepkit/template';
|
|
1487
|
-
import { FrameCategory, Stopwatch } from '@deepkit/stopwatch';
|
|
1488
|
-
import { getSerializeFunction, hasTypeInformation, ReflectionKind, resolveReceiveType, SerializationError, serialize, serializer, ValidationError } from '@deepkit/type';
|
|
1489
|
-
|
|
1490
|
-
export function <span class="fstat-no" title="function not covered" >isElementStruct(</span>v: any): v is ElementStruct {
|
|
1491
|
-
<span class="cstat-no" title="statement not covered" > return 'object' === typeof v && v.hasOwnProperty('render') && v.hasOwnProperty('attributes') && !v.slice;</span>
|
|
1492
|
-
}
|
|
1493
|
-
|
|
1494
|
-
let templateRender: typeof render;
|
|
1495
|
-
|
|
1496
|
-
function <span class="fstat-no" title="function not covered" >getTemplateRender<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(</span>): typeof render {</span></span>
|
|
1497
|
-
<span class="cstat-no" title="statement not covered" > if (!templateRender) {</span>
|
|
1498
|
-
const template = <span class="cstat-no" title="statement not covered" >require('@deepkit/template');</span>
|
|
1499
|
-
<span class="cstat-no" title="statement not covered" > templateRender = template.render;</span>
|
|
1500
|
-
}
|
|
1501
|
-
|
|
1502
|
-
<span class="cstat-no" title="statement not covered" > return templateRender;</span>
|
|
1503
|
-
}
|
|
1504
|
-
|
|
1505
|
-
export class Redirect {
|
|
1506
|
-
public routeName?: string;
|
|
1507
|
-
public routeParameters?: { [name: string]: any };
|
|
1508
|
-
public url?: string;
|
|
1509
|
-
|
|
1510
|
-
<span class="fstat-no" title="function not covered" > constructor(</span>
|
|
1511
|
-
public <span class="cstat-no" title="statement not covered" >statusCode: number = <span class="branch-0 cbranch-no" title="branch not covered" >3</span>02,</span>
|
|
1512
|
-
) {
|
|
1513
|
-
}
|
|
1514
|
-
|
|
1515
|
-
<span class="fstat-no" title="function not covered" > static </span>toRoute(routeName: string, parameters: { [name: string]: any } = <span class="branch-0 cbranch-no" title="branch not covered" >{},</span> statusCode: number = <span class="branch-0 cbranch-no" title="branch not covered" >302)</span>: Redirect {
|
|
1516
|
-
const redirect = <span class="cstat-no" title="statement not covered" >new Redirect(statusCode);</span>
|
|
1517
|
-
<span class="cstat-no" title="statement not covered" > redirect.routeName = routeName;</span>
|
|
1518
|
-
<span class="cstat-no" title="statement not covered" > redirect.routeParameters = parameters;</span>
|
|
1519
|
-
<span class="cstat-no" title="statement not covered" > return redirect;</span>
|
|
1520
|
-
}
|
|
1521
|
-
|
|
1522
|
-
<span class="fstat-no" title="function not covered" > static </span>toUrl(url: string, statusCode: number = <span class="branch-0 cbranch-no" title="branch not covered" >302)</span>: Redirect {
|
|
1523
|
-
const redirect = <span class="cstat-no" title="statement not covered" >new Redirect(statusCode);</span>
|
|
1524
|
-
<span class="cstat-no" title="statement not covered" > redirect.url = url;</span>
|
|
1525
|
-
<span class="cstat-no" title="statement not covered" > return redirect;</span>
|
|
1526
|
-
}
|
|
1527
|
-
}
|
|
1528
|
-
|
|
1529
|
-
export class HttpError<T extends number> extends CustomError {
|
|
1530
|
-
<span class="fstat-no" title="function not covered" > constructor(public <span class="cstat-no" title="statement not covered" >m</span>essage: string,</span> public <span class="cstat-no" title="statement not covered" >httpCode: T)</span> {
|
|
1531
|
-
<span class="cstat-no" title="statement not covered" > super(message);</span>
|
|
1532
|
-
}
|
|
1533
|
-
}
|
|
1534
|
-
|
|
1535
|
-
export function createHttpError<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ><T extends number>(c</span></span>ode: T, defaultMessage: string = <span class="branch-0 cbranch-no" title="branch not covered" >'')</span>: ClassType<HttpError<T>> {
|
|
1536
|
-
return class extends HttpError<T> {
|
|
1537
|
-
<span class="fstat-no" title="function not covered" > constructor(public <span class="cstat-no" title="statement not covered" >m</span>essage: string = <span class="branch-0 cbranch-no" title="branch not covered" >d</span>efaultMessage)</span> {
|
|
1538
|
-
<span class="cstat-no" title="statement not covered" > super(message, code);</span>
|
|
1539
|
-
}
|
|
1540
|
-
} as any;
|
|
1541
|
-
}
|
|
1542
|
-
|
|
1543
|
-
export class HttpNotFoundError extends createHttpError(404, 'Not found') {
|
|
1544
|
-
}
|
|
1545
|
-
|
|
1546
|
-
export class HttpBadRequestError extends createHttpError(400, 'Bad request') {
|
|
1547
|
-
}
|
|
1548
|
-
|
|
1549
|
-
export class HttpAccessDeniedError extends createHttpError(403, 'Access denied') {
|
|
1550
|
-
}
|
|
1551
|
-
|
|
1552
|
-
export class HttpWorkflowEvent {
|
|
1553
|
-
<span class="cstat-no" title="statement not covered" > stopped = false;</span>
|
|
1554
|
-
|
|
1555
|
-
<span class="fstat-no" title="function not covered" > stopPropagation(</span>) {
|
|
1556
|
-
<span class="cstat-no" title="statement not covered" > this.stopped = true;</span>
|
|
1557
|
-
}
|
|
1558
|
-
|
|
1559
|
-
<span class="fstat-no" title="function not covered" > isStopped(</span>) {
|
|
1560
|
-
<span class="cstat-no" title="statement not covered" > return this.stopped;</span>
|
|
1561
|
-
}
|
|
1562
|
-
|
|
1563
|
-
public nextState?: any;
|
|
1564
|
-
public nextStateEvent?: any;
|
|
1565
|
-
|
|
1566
|
-
<span class="fstat-no" title="function not covered" > clearNext(</span>) {
|
|
1567
|
-
<span class="cstat-no" title="statement not covered" > this.nextState = undefined;</span>
|
|
1568
|
-
<span class="cstat-no" title="statement not covered" > this.nextStateEvent = undefined;</span>
|
|
1569
|
-
}
|
|
1570
|
-
|
|
1571
|
-
/**
|
|
1572
|
-
* @see WorkflowNextEvent.next
|
|
1573
|
-
*/
|
|
1574
|
-
<span class="fstat-no" title="function not covered" > next(</span>nextState: string, event?: any) {
|
|
1575
|
-
<span class="cstat-no" title="statement not covered" > this.nextState = nextState;</span>
|
|
1576
|
-
<span class="cstat-no" title="statement not covered" > this.nextStateEvent = event;</span>
|
|
1577
|
-
}
|
|
1578
|
-
|
|
1579
|
-
/**
|
|
1580
|
-
* Whether already a next workflow state has been scheduled.
|
|
1581
|
-
*/
|
|
1582
|
-
<span class="fstat-no" title="function not covered" > hasNext(</span>): boolean {
|
|
1583
|
-
<span class="cstat-no" title="statement not covered" > return this.nextState !== undefined;</span>
|
|
1584
|
-
}
|
|
1585
|
-
|
|
1586
|
-
<span class="fstat-no" title="function not covered" > constructor(</span>
|
|
1587
|
-
public <span class="cstat-no" title="statement not covered" >injectorContext: InjectorContext,</span>
|
|
1588
|
-
public <span class="cstat-no" title="statement not covered" >request: HttpRequest,</span>
|
|
1589
|
-
public <span class="cstat-no" title="statement not covered" >response: HttpResponse,</span>
|
|
1590
|
-
) {
|
|
1591
|
-
}
|
|
1592
|
-
|
|
1593
|
-
<span class="fstat-no" title="function not covered" > get u</span>rl() {
|
|
1594
|
-
<span class="cstat-no" title="statement not covered" > return this.request.url || '/';</span>
|
|
1595
|
-
}
|
|
1596
|
-
|
|
1597
|
-
/**
|
|
1598
|
-
* Whether a response has already been sent.
|
|
1599
|
-
*/
|
|
1600
|
-
<span class="fstat-no" title="function not covered" > get s</span>ent() {
|
|
1601
|
-
<span class="cstat-no" title="statement not covered" > return this.response.headersSent;</span>
|
|
1602
|
-
}
|
|
1603
|
-
|
|
1604
|
-
<span class="fstat-no" title="function not covered" > send(</span>response: any) {
|
|
1605
|
-
<span class="cstat-no" title="statement not covered" > this.next('response', new HttpResponseEvent(this.injectorContext, this.request, this.response, response));</span>
|
|
1606
|
-
}
|
|
1607
|
-
}
|
|
1608
|
-
|
|
1609
|
-
export const HttpRequestEvent = HttpWorkflowEvent;
|
|
1610
|
-
export const HttpRouteNotFoundEvent = HttpWorkflowEvent;
|
|
1611
|
-
|
|
1612
|
-
export class HttpWorkflowEventWithRoute extends HttpWorkflowEvent {
|
|
1613
|
-
<span class="fstat-no" title="function not covered" > constructor(</span>
|
|
1614
|
-
public <span class="cstat-no" title="statement not covered" >injectorContext: InjectorContext,</span>
|
|
1615
|
-
public <span class="cstat-no" title="statement not covered" >request: HttpRequest,</span>
|
|
1616
|
-
public <span class="cstat-no" title="statement not covered" >response: HttpResponse,</span>
|
|
1617
|
-
public <span class="cstat-no" title="statement not covered" >route: RouteConfig,</span>
|
|
1618
|
-
) {
|
|
1619
|
-
<span class="cstat-no" title="statement not covered" > super(injectorContext, request, response);</span>
|
|
1620
|
-
}
|
|
1621
|
-
|
|
1622
|
-
<span class="fstat-no" title="function not covered" > send(</span>response: any) {
|
|
1623
|
-
<span class="cstat-no" title="statement not covered" > this.next('response', new HttpResponseEvent(this.injectorContext, this.request, this.response, response, this.route));</span>
|
|
1624
|
-
}
|
|
1625
|
-
|
|
1626
|
-
<span class="fstat-no" title="function not covered" > accessDenied(</span>) {
|
|
1627
|
-
<span class="cstat-no" title="statement not covered" > this.next('accessDenied', new HttpAccessDeniedEvent(this.injectorContext, this.request, this.response, this.route));</span>
|
|
1628
|
-
}
|
|
1629
|
-
}
|
|
1630
|
-
|
|
1631
|
-
export class HttpRouteEvent extends HttpWorkflowEvent {
|
|
1632
|
-
<span class="fstat-no" title="function not covered" > constructor(</span>
|
|
1633
|
-
public <span class="cstat-no" title="statement not covered" >injectorContext: InjectorContext,</span>
|
|
1634
|
-
public <span class="cstat-no" title="statement not covered" >request: HttpRequest,</span>
|
|
1635
|
-
public <span class="cstat-no" title="statement not covered" >response: HttpResponse,</span>
|
|
1636
|
-
public <span class="cstat-no" title="statement not covered" >parameterResolver?: RouteParameterResolverForInjector,</span>
|
|
1637
|
-
public <span class="cstat-no" title="statement not covered" >route?: RouteConfig,</span>
|
|
1638
|
-
) {
|
|
1639
|
-
<span class="cstat-no" title="statement not covered" > super(injectorContext, request, response);</span>
|
|
1640
|
-
}
|
|
1641
|
-
|
|
1642
|
-
<span class="fstat-no" title="function not covered" > routeFound(</span>route: RouteConfig, parameterResolver: RouteParameterResolverForInjector) {
|
|
1643
|
-
<span class="cstat-no" title="statement not covered" > this.route = route;</span>
|
|
1644
|
-
<span class="cstat-no" title="statement not covered" > this.next('auth', new HttpAuthEvent(this.injectorContext, this.request, this.response, this.route, parameterResolver));</span>
|
|
1645
|
-
}
|
|
1646
|
-
|
|
1647
|
-
<span class="fstat-no" title="function not covered" > notFound(</span>) {
|
|
1648
|
-
<span class="cstat-no" title="statement not covered" > this.next('routeNotFound', new HttpRouteNotFoundEvent(this.injectorContext, this.request, this.response));</span>
|
|
1649
|
-
}
|
|
1650
|
-
}
|
|
1651
|
-
|
|
1652
|
-
export class HttpAuthEvent extends HttpWorkflowEventWithRoute {
|
|
1653
|
-
<span class="fstat-no" title="function not covered" > constructor(</span>
|
|
1654
|
-
public <span class="cstat-no" title="statement not covered" >injectorContext: InjectorContext,</span>
|
|
1655
|
-
public <span class="cstat-no" title="statement not covered" >request: HttpRequest,</span>
|
|
1656
|
-
public <span class="cstat-no" title="statement not covered" >response: HttpResponse,</span>
|
|
1657
|
-
public <span class="cstat-no" title="statement not covered" >route: RouteConfig,</span>
|
|
1658
|
-
public <span class="cstat-no" title="statement not covered" >parameterResolver: RouteParameterResolverForInjector,</span>
|
|
1659
|
-
) {
|
|
1660
|
-
<span class="cstat-no" title="statement not covered" > super(injectorContext, request, response, route);</span>
|
|
1661
|
-
}
|
|
1662
|
-
|
|
1663
|
-
<span class="fstat-no" title="function not covered" > success(</span>) {
|
|
1664
|
-
<span class="cstat-no" title="statement not covered" > this.next('resolveParameters', new HttpResolveParametersEvent(this.injectorContext, this.request, this.response, this.parameterResolver, this.route));</span>
|
|
1665
|
-
}
|
|
1666
|
-
}
|
|
1667
|
-
|
|
1668
|
-
export class HttpAccessDeniedEvent extends HttpWorkflowEvent {
|
|
1669
|
-
<span class="fstat-no" title="function not covered" > constructor(</span>
|
|
1670
|
-
public <span class="cstat-no" title="statement not covered" >injectorContext: InjectorContext,</span>
|
|
1671
|
-
public <span class="cstat-no" title="statement not covered" >request: HttpRequest,</span>
|
|
1672
|
-
public <span class="cstat-no" title="statement not covered" >response: HttpResponse,</span>
|
|
1673
|
-
public <span class="cstat-no" title="statement not covered" >route: RouteConfig,</span>
|
|
1674
|
-
) {
|
|
1675
|
-
<span class="cstat-no" title="statement not covered" > super(injectorContext, request, response);</span>
|
|
1676
|
-
}
|
|
1677
|
-
}
|
|
1678
|
-
|
|
1679
|
-
export class HttpResolveParametersEvent extends HttpWorkflowEventWithRoute {
|
|
1680
|
-
public <span class="cstat-no" title="statement not covered" >parameters: any[] = [];</span>
|
|
1681
|
-
|
|
1682
|
-
<span class="fstat-no" title="function not covered" > constructor(</span>
|
|
1683
|
-
public <span class="cstat-no" title="statement not covered" >injectorContext: InjectorContext,</span>
|
|
1684
|
-
public <span class="cstat-no" title="statement not covered" >request: HttpRequest,</span>
|
|
1685
|
-
public <span class="cstat-no" title="statement not covered" >response: HttpResponse,</span>
|
|
1686
|
-
public <span class="cstat-no" title="statement not covered" >parameterResolver: RouteParameterResolverForInjector,</span>
|
|
1687
|
-
public <span class="cstat-no" title="statement not covered" >route: RouteConfig,</span>
|
|
1688
|
-
) {
|
|
1689
|
-
<span class="cstat-no" title="statement not covered" > super(injectorContext, request, response, route);</span>
|
|
1690
|
-
}
|
|
1691
|
-
|
|
1692
|
-
<span class="fstat-no" title="function not covered" > accessDenied(</span>) {
|
|
1693
|
-
<span class="cstat-no" title="statement not covered" > this.next('accessDenied', new HttpAccessDeniedEvent(this.injectorContext, this.request, this.response, this.route));</span>
|
|
1694
|
-
}
|
|
1695
|
-
}
|
|
1696
|
-
|
|
1697
|
-
export class HttpControllerEvent extends HttpWorkflowEventWithRoute {
|
|
1698
|
-
<span class="fstat-no" title="function not covered" > constructor(</span>
|
|
1699
|
-
public <span class="cstat-no" title="statement not covered" >injectorContext: InjectorContext,</span>
|
|
1700
|
-
public <span class="cstat-no" title="statement not covered" >request: HttpRequest,</span>
|
|
1701
|
-
public <span class="cstat-no" title="statement not covered" >response: HttpResponse,</span>
|
|
1702
|
-
public <span class="cstat-no" title="statement not covered" >parameters: any[] = <span class="branch-0 cbranch-no" title="branch not covered" >[</span>],</span>
|
|
1703
|
-
public <span class="cstat-no" title="statement not covered" >route: RouteConfig,</span>
|
|
1704
|
-
) {
|
|
1705
|
-
<span class="cstat-no" title="statement not covered" > super(injectorContext, request, response, route);</span>
|
|
1706
|
-
}
|
|
1707
|
-
}
|
|
1708
|
-
|
|
1709
|
-
export class HttpResponseEvent extends WorkflowEvent {
|
|
1710
|
-
/**
|
|
1711
|
-
* The time it took to call the controller action in milliseconds.
|
|
1712
|
-
*/
|
|
1713
|
-
public <span class="cstat-no" title="statement not covered" >controllerActionTime: number = 0;</span>
|
|
1714
|
-
|
|
1715
|
-
<span class="fstat-no" title="function not covered" > constructor(</span>
|
|
1716
|
-
public <span class="cstat-no" title="statement not covered" >injectorContext: InjectorContext,</span>
|
|
1717
|
-
public <span class="cstat-no" title="statement not covered" >request: HttpRequest,</span>
|
|
1718
|
-
public <span class="cstat-no" title="statement not covered" >response: HttpResponse,</span>
|
|
1719
|
-
public <span class="cstat-no" title="statement not covered" >result: any,</span>
|
|
1720
|
-
public <span class="cstat-no" title="statement not covered" >route?: RouteConfig,</span>
|
|
1721
|
-
) {
|
|
1722
|
-
<span class="cstat-no" title="statement not covered" > super();</span>
|
|
1723
|
-
}
|
|
1724
|
-
}
|
|
1725
|
-
|
|
1726
|
-
export class HttpControllerErrorEvent extends HttpWorkflowEventWithRoute {
|
|
1727
|
-
/**
|
|
1728
|
-
* The time it took to call the controller action in milliseconds.
|
|
1729
|
-
*/
|
|
1730
|
-
public <span class="cstat-no" title="statement not covered" >controllerActionTime: number = 0;</span>
|
|
1731
|
-
|
|
1732
|
-
<span class="fstat-no" title="function not covered" > constructor(</span>
|
|
1733
|
-
public <span class="cstat-no" title="statement not covered" >injectorContext: InjectorContext,</span>
|
|
1734
|
-
public <span class="cstat-no" title="statement not covered" >request: HttpRequest,</span>
|
|
1735
|
-
public <span class="cstat-no" title="statement not covered" >response: HttpResponse,</span>
|
|
1736
|
-
public <span class="cstat-no" title="statement not covered" >route: RouteConfig,</span>
|
|
1737
|
-
public <span class="cstat-no" title="statement not covered" >error: Error,</span>
|
|
1738
|
-
) {
|
|
1739
|
-
<span class="cstat-no" title="statement not covered" > super(injectorContext, request, response, route);</span>
|
|
1740
|
-
}
|
|
1741
|
-
}
|
|
1742
|
-
|
|
1743
|
-
export const httpWorkflow = createWorkflow('http', {
|
|
1744
|
-
start: WorkflowEvent,
|
|
1745
|
-
request: HttpRequestEvent,
|
|
1746
|
-
route: HttpRouteEvent,
|
|
1747
|
-
routeNotFound: HttpRouteNotFoundEvent,
|
|
1748
|
-
auth: HttpAuthEvent,
|
|
1749
|
-
resolveParameters: HttpResolveParametersEvent,
|
|
1750
|
-
accessDenied: HttpAccessDeniedEvent,
|
|
1751
|
-
controller: HttpControllerEvent,
|
|
1752
|
-
controllerError: HttpControllerErrorEvent,
|
|
1753
|
-
parametersFailed: HttpControllerErrorEvent,
|
|
1754
|
-
response: HttpResponseEvent,
|
|
1755
|
-
}, {
|
|
1756
|
-
start: 'request',
|
|
1757
|
-
request: 'route',
|
|
1758
|
-
route: ['auth', 'routeNotFound'],
|
|
1759
|
-
auth: ['resolveParameters', 'accessDenied'],
|
|
1760
|
-
resolveParameters: ['controller', 'parametersFailed'],
|
|
1761
|
-
accessDenied: 'response',
|
|
1762
|
-
controller: ['accessDenied', 'controllerError', 'response'],
|
|
1763
|
-
controllerError: 'response',
|
|
1764
|
-
parametersFailed: 'response',
|
|
1765
|
-
routeNotFound: 'response',
|
|
1766
|
-
});
|
|
1767
|
-
|
|
1768
|
-
export class BaseResponse {
|
|
1769
|
-
<span class="cstat-no" title="statement not covered" > autoSerializing: boolean = true;</span>
|
|
1770
|
-
|
|
1771
|
-
<span class="fstat-no" title="function not covered" > constructor(public <span class="cstat-no" title="statement not covered" >_</span>statusCode?: number,</span> public <span class="cstat-no" title="statement not covered" >_headers: OutgoingHttpHeaders = <span class="branch-0 cbranch-no" title="branch not covered" >{</span>})</span> {
|
|
1772
|
-
}
|
|
1773
|
-
|
|
1774
|
-
<span class="fstat-no" title="function not covered" > status(</span>code: number): this {
|
|
1775
|
-
<span class="cstat-no" title="statement not covered" > this._statusCode = code;</span>
|
|
1776
|
-
<span class="cstat-no" title="statement not covered" > return this;</span>
|
|
1777
|
-
}
|
|
1778
|
-
|
|
1779
|
-
<span class="fstat-no" title="function not covered" > disableAutoSerializing(</span>) {
|
|
1780
|
-
<span class="cstat-no" title="statement not covered" > this.autoSerializing = false;</span>
|
|
1781
|
-
<span class="cstat-no" title="statement not covered" > return this;</span>
|
|
1782
|
-
}
|
|
1783
|
-
|
|
1784
|
-
<span class="fstat-no" title="function not covered" > header(</span>name: string, value: string | number): this {
|
|
1785
|
-
<span class="cstat-no" title="statement not covered" > this._headers[name] = value;</span>
|
|
1786
|
-
<span class="cstat-no" title="statement not covered" > return this;</span>
|
|
1787
|
-
}
|
|
1788
|
-
|
|
1789
|
-
<span class="fstat-no" title="function not covered" > headers(</span>headers: OutgoingHttpHeaders): this {
|
|
1790
|
-
<span class="cstat-no" title="statement not covered" > this._headers = headers;</span>
|
|
1791
|
-
<span class="cstat-no" title="statement not covered" > return this;</span>
|
|
1792
|
-
}
|
|
1793
|
-
|
|
1794
|
-
<span class="fstat-no" title="function not covered" > contentType(</span>type: string): this {
|
|
1795
|
-
<span class="cstat-no" title="statement not covered" > this._headers['content-type'] = type;</span>
|
|
1796
|
-
<span class="cstat-no" title="statement not covered" > return this;</span>
|
|
1797
|
-
}
|
|
1798
|
-
}
|
|
1799
|
-
|
|
1800
|
-
export class HtmlResponse extends BaseResponse {
|
|
1801
|
-
<span class="fstat-no" title="function not covered" > constructor(public <span class="cstat-no" title="statement not covered" >h</span>tml: string,</span> statusCode?: number) {
|
|
1802
|
-
<span class="cstat-no" title="statement not covered" > super(statusCode);</span>
|
|
1803
|
-
}
|
|
1804
|
-
}
|
|
1805
|
-
|
|
1806
|
-
export class JSONResponse extends BaseResponse {
|
|
1807
|
-
<span class="fstat-no" title="function not covered" > constructor(public <span class="cstat-no" title="statement not covered" >j</span>son: any,</span> statusCode?: number) {
|
|
1808
|
-
<span class="cstat-no" title="statement not covered" > super(statusCode);</span>
|
|
1809
|
-
}
|
|
1810
|
-
}
|
|
1811
|
-
|
|
1812
|
-
export type SupportedHttpResult = undefined | null | number | string | JSONResponse | HtmlResponse | HttpResponse | ServerResponse | Redirect | Uint8Array | Error;
|
|
1813
|
-
|
|
1814
|
-
export interface HttpResultFormatterContext {
|
|
1815
|
-
request: HttpRequest;
|
|
1816
|
-
response: HttpResponse;
|
|
1817
|
-
route?: RouteConfig;
|
|
1818
|
-
}
|
|
1819
|
-
|
|
1820
|
-
export class HttpResultFormatter {
|
|
1821
|
-
protected <span class="cstat-no" title="statement not covered" >jsonContentType: string = 'application/json; charset=utf-8';</span>
|
|
1822
|
-
protected <span class="cstat-no" title="statement not covered" >htmlContentType: string = 'text/html; charset=utf-8';</span>
|
|
1823
|
-
|
|
1824
|
-
<span class="fstat-no" title="function not covered" > constructor(protected <span class="cstat-no" title="statement not covered" >r</span>outer: Router)</span> {
|
|
1825
|
-
}
|
|
1826
|
-
|
|
1827
|
-
protected <span class="fstat-no" title="function not covered" >setContentTypeIfNotSetAlready(</span>response: HttpResponse, contentType: string): void {
|
|
1828
|
-
<span class="cstat-no" title="statement not covered" > if (response.hasHeader('Content-Type')) <span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
1829
|
-
|
|
1830
|
-
<span class="cstat-no" title="statement not covered" > response.setHeader('Content-Type', contentType);</span>
|
|
1831
|
-
}
|
|
1832
|
-
|
|
1833
|
-
<span class="fstat-no" title="function not covered" > handleError(</span>error: Error, context: HttpResultFormatterContext): void {
|
|
1834
|
-
|
|
1835
|
-
}
|
|
1836
|
-
|
|
1837
|
-
<span class="fstat-no" title="function not covered" > handleUndefined(</span>result: undefined | null, context: HttpResultFormatterContext): void {
|
|
1838
|
-
<span class="cstat-no" title="statement not covered" > context.response.end(result);</span>
|
|
1839
|
-
}
|
|
1840
|
-
|
|
1841
|
-
<span class="fstat-no" title="function not covered" > handleRedirect(</span>result: Redirect, context: HttpResultFormatterContext): void {
|
|
1842
|
-
<span class="cstat-no" title="statement not covered" > if (result.routeName) {</span>
|
|
1843
|
-
<span class="cstat-no" title="statement not covered" > context.response.writeHead(result.statusCode, {</span>
|
|
1844
|
-
Location: this.router.resolveUrl(result.routeName, result.routeParameters)
|
|
1845
|
-
});
|
|
1846
|
-
} else {
|
|
1847
|
-
<span class="cstat-no" title="statement not covered" > context.response.writeHead(result.statusCode, {</span>
|
|
1848
|
-
Location: result.url
|
|
1849
|
-
});
|
|
1850
|
-
}
|
|
1851
|
-
<span class="cstat-no" title="statement not covered" > context.response.end();</span>
|
|
1852
|
-
}
|
|
1853
|
-
|
|
1854
|
-
<span class="fstat-no" title="function not covered" > handleUnknown(</span>result: any, context: HttpResultFormatterContext): void {
|
|
1855
|
-
<span class="cstat-no" title="statement not covered" > this.setContentTypeIfNotSetAlready(context.response, this.jsonContentType);</span>
|
|
1856
|
-
|
|
1857
|
-
<span class="cstat-no" title="statement not covered" > context.response.end(JSON.stringify(result));</span>
|
|
1858
|
-
}
|
|
1859
|
-
|
|
1860
|
-
<span class="fstat-no" title="function not covered" > handleHtmlResponse(</span>result: HtmlResponse, context: HttpResultFormatterContext): void {
|
|
1861
|
-
<span class="cstat-no" title="statement not covered" > this.setContentTypeIfNotSetAlready(context.response, this.htmlContentType);</span>
|
|
1862
|
-
<span class="cstat-no" title="statement not covered" > context.response.writeHead(result._statusCode || 200, result._headers);</span>
|
|
1863
|
-
<span class="cstat-no" title="statement not covered" > context.response.end(result.html);</span>
|
|
1864
|
-
}
|
|
1865
|
-
|
|
1866
|
-
<span class="fstat-no" title="function not covered" > handleJSONResponse(</span>result: JSONResponse, context: HttpResultFormatterContext): void {
|
|
1867
|
-
<span class="cstat-no" title="statement not covered" > this.setContentTypeIfNotSetAlready(context.response, this.jsonContentType);</span>
|
|
1868
|
-
<span class="cstat-no" title="statement not covered" > context.response.writeHead(result._statusCode || 200, result._headers);</span>
|
|
1869
|
-
<span class="cstat-no" title="statement not covered" > context.response.end(JSON.stringify(result.json));</span>
|
|
1870
|
-
}
|
|
1871
|
-
|
|
1872
|
-
<span class="fstat-no" title="function not covered" > handleTypeEntity<</span>T>(classType: ClassType<T>, instance: T, context: HttpResultFormatterContext, route?: RouteConfig): void {
|
|
1873
|
-
<span class="cstat-no" title="statement not covered" > this.setContentTypeIfNotSetAlready(context.response, this.jsonContentType);</span>
|
|
1874
|
-
|
|
1875
|
-
const serializerToUse = <span class="cstat-no" title="statement not covered" >route && route?.serializer ? route.serializer : serializer;</span>
|
|
1876
|
-
|
|
1877
|
-
<span class="cstat-no" title="statement not covered" > context.response.end(JSON.stringify(serialize(instance, route ? route.serializationOptions : undefined, serializerToUse, resolveReceiveType(classType))));</span>
|
|
1878
|
-
}
|
|
1879
|
-
|
|
1880
|
-
<span class="fstat-no" title="function not covered" > handleBinary(</span>result: Uint8Array, context: HttpResultFormatterContext): void {
|
|
1881
|
-
<span class="cstat-no" title="statement not covered" > context.response.end(result);</span>
|
|
1882
|
-
}
|
|
1883
|
-
|
|
1884
|
-
<span class="fstat-no" title="function not covered" > handleResponse(</span>context: HttpResultFormatterContext) {
|
|
1885
|
-
}
|
|
1886
|
-
|
|
1887
|
-
<span class="fstat-no" title="function not covered" > handle(</span>result: SupportedHttpResult, context: HttpResultFormatterContext): void {
|
|
1888
|
-
<span class="cstat-no" title="statement not covered" > if (result === null || result === undefined) {</span>
|
|
1889
|
-
<span class="cstat-no" title="statement not covered" > this.handleUndefined(result, context);</span>
|
|
1890
|
-
} else <span class="cstat-no" title="statement not covered" >if (result instanceof Error) {</span>
|
|
1891
|
-
<span class="cstat-no" title="statement not covered" > this.handleError(result, context);</span>
|
|
1892
|
-
} else <span class="cstat-no" title="statement not covered" >if (result instanceof Redirect) {</span>
|
|
1893
|
-
<span class="cstat-no" title="statement not covered" > this.handleRedirect(result, context);</span>
|
|
1894
|
-
} else <span class="cstat-no" title="statement not covered" >if (result instanceof ServerResponse) {</span>
|
|
1895
|
-
<span class="cstat-no" title="statement not covered" > this.handleResponse(context);</span>
|
|
1896
|
-
} else <span class="cstat-no" title="statement not covered" >if (result instanceof HtmlResponse) {</span>
|
|
1897
|
-
<span class="cstat-no" title="statement not covered" > this.handleHtmlResponse(result, context);</span>
|
|
1898
|
-
} else <span class="cstat-no" title="statement not covered" >if (result instanceof Uint8Array) {</span>
|
|
1899
|
-
<span class="cstat-no" title="statement not covered" > this.handleBinary(result, context);</span>
|
|
1900
|
-
} else <span class="cstat-no" title="statement not covered" >if (result instanceof JSONResponse) {</span>
|
|
1901
|
-
<span class="cstat-no" title="statement not covered" > this.handleJSONResponse(result, context);</span>
|
|
1902
|
-
} else {
|
|
1903
|
-
<span class="cstat-no" title="statement not covered" > if (isClassInstance(result)) {</span>
|
|
1904
|
-
const classType = <span class="cstat-no" title="statement not covered" >getClassTypeFromInstance(result);</span>
|
|
1905
|
-
<span class="cstat-no" title="statement not covered" > if (hasTypeInformation(classType)) {</span>
|
|
1906
|
-
<span class="cstat-no" title="statement not covered" > this.handleTypeEntity(classType, result, context);</span>
|
|
1907
|
-
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
1908
|
-
}
|
|
1909
|
-
}
|
|
1910
|
-
|
|
1911
|
-
<span class="cstat-no" title="statement not covered" > this.handleUnknown(result, context);</span>
|
|
1912
|
-
}
|
|
1913
|
-
}
|
|
1914
|
-
}
|
|
1915
|
-
|
|
1916
|
-
export class HttpListener {
|
|
1917
|
-
<span class="fstat-no" title="function not covered" > constructor(</span>
|
|
1918
|
-
protected <span class="cstat-no" title="statement not covered" >router: Router,</span>
|
|
1919
|
-
protected <span class="cstat-no" title="statement not covered" >logger: Logger,</span>
|
|
1920
|
-
protected <span class="cstat-no" title="statement not covered" >resultFormatter: HttpResultFormatter,</span>
|
|
1921
|
-
protected <span class="cstat-no" title="statement not covered" >stopwatch?: Stopwatch,</span>
|
|
1922
|
-
) {
|
|
1923
|
-
}
|
|
1924
|
-
|
|
1925
|
-
@eventDispatcher.listen(httpWorkflow.onRequest, 100)
|
|
1926
|
-
<span class="fstat-no" title="function not covered" > onRequest(</span>event: typeof httpWorkflow.<span class="cstat-no" title="statement not covered" ><span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >onRequest.</span></span>event<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >)</span>: void {</span></span>
|
|
1927
|
-
<span class="cstat-no" title="statement not covered" > if (event.sent) <span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
1928
|
-
<span class="cstat-no" title="statement not covered" > if (event.hasNext()) <span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
1929
|
-
|
|
1930
|
-
<span class="cstat-no" title="statement not covered" > event.next('route', new HttpRouteEvent(event.injectorContext, event.request, event.response,));</span>
|
|
1931
|
-
}
|
|
1932
|
-
|
|
1933
|
-
@eventDispatcher.listen(httpWorkflow.onRoute, 100)
|
|
1934
|
-
<span class="fstat-no" title="function not covered" > async </span>onRoute(event: typeof httpWorkflow.onRoute.event<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >) {</span></span>
|
|
1935
|
-
<span class="cstat-no" title="statement not covered" > if (event.sent) <span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
1936
|
-
<span class="cstat-no" title="statement not covered" > if (event.hasNext()) <span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
1937
|
-
const logger = <span class="cstat-no" title="statement not covered" >this.logger;</span>
|
|
1938
|
-
|
|
1939
|
-
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
1940
|
-
const resolved = <span class="cstat-no" title="statement not covered" >this.router.resolveRequest(event.request);</span>
|
|
1941
|
-
|
|
1942
|
-
<span class="cstat-no" title="statement not covered" > if (resolved) {</span>
|
|
1943
|
-
<span class="cstat-no" title="statement not covered" > event.request.uploadedFiles = resolved.uploadedFiles;</span>
|
|
1944
|
-
|
|
1945
|
-
//todo: embed that into the generated router code.
|
|
1946
|
-
<span class="cstat-no" title="statement not covered" > if (resolved.middlewares) {</span>
|
|
1947
|
-
const middlewares = <span class="cstat-no" title="statement not covered" >resolved.middlewares(event.injectorContext);</span>
|
|
1948
|
-
<span class="cstat-no" title="statement not covered" > if (middlewares.length) {</span>
|
|
1949
|
-
<span class="cstat-no" title="statement not covered" > await asyncOperation(<span class="fstat-no" title="function not covered" >async </span>(resolve, reject) => {</span>
|
|
1950
|
-
let lastTimer: any = <span class="cstat-no" title="statement not covered" >undefined;</span>
|
|
1951
|
-
|
|
1952
|
-
function <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >finish(</span>) {</span>
|
|
1953
|
-
<span class="cstat-no" title="statement not covered" > clearTimeout(lastTimer);</span>
|
|
1954
|
-
<span class="cstat-no" title="statement not covered" > resolve(undefined);</span>
|
|
1955
|
-
//middleware finished the request. We end the workflow transition
|
|
1956
|
-
}
|
|
1957
|
-
|
|
1958
|
-
<span class="cstat-no" title="statement not covered" > event.response.once('finish', finish);</span>
|
|
1959
|
-
let i = <span class="cstat-no" title="statement not covered" >-1;</span>
|
|
1960
|
-
|
|
1961
|
-
async function <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >next(</span>) {</span>
|
|
1962
|
-
<span class="cstat-no" title="statement not covered" > i++;</span>
|
|
1963
|
-
<span class="cstat-no" title="statement not covered" > if (i >= middlewares.length) {</span>
|
|
1964
|
-
<span class="cstat-no" title="statement not covered" > event.response.off('finish', finish);</span>
|
|
1965
|
-
<span class="cstat-no" title="statement not covered" > resolve(undefined);</span>
|
|
1966
|
-
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
1967
|
-
}
|
|
1968
|
-
|
|
1969
|
-
<span class="cstat-no" title="statement not covered" > lastTimer = setTimeout(<span class="fstat-no" title="function not covered" >() =</span>> {</span>
|
|
1970
|
-
<span class="cstat-no" title="statement not covered" > logger.warning(`Middleware timed out. Increase the timeout or fix the middleware. (${middlewares[i].fn})`);</span>
|
|
1971
|
-
<span class="cstat-no" title="statement not covered" > next();</span>
|
|
1972
|
-
}, middlewares[i].timeout);
|
|
1973
|
-
|
|
1974
|
-
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
1975
|
-
<span class="cstat-no" title="statement not covered" > await middlewares[i].fn(event.request, event.response, <span class="fstat-no" title="function not covered" >(e</span>rror?: any) => {</span>
|
|
1976
|
-
<span class="cstat-no" title="statement not covered" > clearTimeout(lastTimer);</span>
|
|
1977
|
-
<span class="cstat-no" title="statement not covered" > if (error) {</span>
|
|
1978
|
-
<span class="cstat-no" title="statement not covered" > event.response.off('finish', finish);</span>
|
|
1979
|
-
<span class="cstat-no" title="statement not covered" > reject(error);</span>
|
|
1980
|
-
} else {
|
|
1981
|
-
<span class="cstat-no" title="statement not covered" > next();</span>
|
|
1982
|
-
}
|
|
1983
|
-
});
|
|
1984
|
-
} catch (error) {
|
|
1985
|
-
<span class="cstat-no" title="statement not covered" > reject(error);</span>
|
|
1986
|
-
}
|
|
1987
|
-
}
|
|
1988
|
-
|
|
1989
|
-
<span class="cstat-no" title="statement not covered" > await next();</span>
|
|
1990
|
-
});
|
|
1991
|
-
}
|
|
1992
|
-
}
|
|
1993
|
-
|
|
1994
|
-
<span class="cstat-no" title="statement not covered" > event.routeFound(resolved.routeConfig, resolved.parameters);</span>
|
|
1995
|
-
}
|
|
1996
|
-
} catch (error) {
|
|
1997
|
-
<span class="cstat-no" title="statement not covered" > this.logger.error('Could not resolve request', error);</span>
|
|
1998
|
-
<span class="cstat-no" title="statement not covered" > event.notFound();</span>
|
|
1999
|
-
}
|
|
2000
|
-
}
|
|
2001
|
-
|
|
2002
|
-
@eventDispatcher.listen(httpWorkflow.onRoute, 1000)
|
|
2003
|
-
<span class="fstat-no" title="function not covered" > onRouteForward(</span>event: typeof httpWorkflow.onRoute.event<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >) {</span></span>
|
|
2004
|
-
<span class="cstat-no" title="statement not covered" > if (event.sent) <span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
2005
|
-
<span class="cstat-no" title="statement not covered" > if (event.hasNext()) <span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
2006
|
-
|
|
2007
|
-
<span class="cstat-no" title="statement not covered" > if (!event.route) {</span>
|
|
2008
|
-
<span class="cstat-no" title="statement not covered" > event.next('routeNotFound', new HttpRouteNotFoundEvent(event.injectorContext, event.request, event.response));</span>
|
|
2009
|
-
}
|
|
2010
|
-
}
|
|
2011
|
-
|
|
2012
|
-
@eventDispatcher.listen(httpWorkflow.onRouteNotFound, 100)
|
|
2013
|
-
<span class="fstat-no" title="function not covered" > async </span>routeNotFound(event: typeof httpWorkflow.onRouteNotFound.event<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >): Promise<void> {</span></span>
|
|
2014
|
-
<span class="cstat-no" title="statement not covered" > if (event.sent) <span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
2015
|
-
<span class="cstat-no" title="statement not covered" > if (event.hasNext()) <span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
2016
|
-
|
|
2017
|
-
<span class="cstat-no" title="statement not covered" > event.send(new HtmlResponse('Not found', 404));</span>
|
|
2018
|
-
}
|
|
2019
|
-
|
|
2020
|
-
@eventDispatcher.listen(httpWorkflow.onAuth, 100)
|
|
2021
|
-
<span class="fstat-no" title="function not covered" > onAuth(</span>event: typeof httpWorkflow.onAuth.event<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >): void {</span></span>
|
|
2022
|
-
<span class="cstat-no" title="statement not covered" > if (event.sent) <span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
2023
|
-
<span class="cstat-no" title="statement not covered" > if (event.hasNext()) <span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
2024
|
-
|
|
2025
|
-
<span class="cstat-no" title="statement not covered" > event.next('resolveParameters', new HttpResolveParametersEvent(event.injectorContext, event.request, event.response, event.parameterResolver, event.route));</span>
|
|
2026
|
-
}
|
|
2027
|
-
|
|
2028
|
-
@eventDispatcher.listen(httpWorkflow.onResolveParameters, 100)
|
|
2029
|
-
<span class="fstat-no" title="function not covered" > async </span>onResolveParameters(event: typeof httpWorkflow.onResolveParameters.event<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >) {</span></span>
|
|
2030
|
-
<span class="cstat-no" title="statement not covered" > if (event.response.finished) <span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
2031
|
-
<span class="cstat-no" title="statement not covered" > if (event.hasNext()) <span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
2032
|
-
|
|
2033
|
-
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
2034
|
-
<span class="cstat-no" title="statement not covered" > event.parameters = await event.parameterResolver(event.injectorContext);</span>
|
|
2035
|
-
<span class="cstat-no" title="statement not covered" > event.next('controller', new HttpControllerEvent(event.injectorContext, event.request, event.response, event.parameters, event.route));</span>
|
|
2036
|
-
} catch (error: any) {
|
|
2037
|
-
<span class="cstat-no" title="statement not covered" > event.next('parametersFailed', new HttpControllerErrorEvent(event.injectorContext, event.request, event.response, event.route, error));</span>
|
|
2038
|
-
}
|
|
2039
|
-
}
|
|
2040
|
-
|
|
2041
|
-
@eventDispatcher.listen(httpWorkflow.onAccessDenied, 100)
|
|
2042
|
-
<span class="fstat-no" title="function not covered" > onAccessDenied(</span>event: typeof httpWorkflow.onAccessDenied.event<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >): void {</span></span>
|
|
2043
|
-
<span class="cstat-no" title="statement not covered" > if (event.sent) <span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
2044
|
-
<span class="cstat-no" title="statement not covered" > if (event.hasNext()) <span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
2045
|
-
|
|
2046
|
-
<span class="cstat-no" title="statement not covered" > event.send(new HtmlResponse('Access denied', 403));</span>
|
|
2047
|
-
}
|
|
2048
|
-
|
|
2049
|
-
@eventDispatcher.listen(httpWorkflow.onController, 100)
|
|
2050
|
-
<span class="fstat-no" title="function not covered" > async </span>onController(event: typeof httpWorkflow.onController.event<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >) {</span></span>
|
|
2051
|
-
<span class="cstat-no" title="statement not covered" > if (event.sent) <span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
2052
|
-
<span class="cstat-no" title="statement not covered" > if (event.hasNext()) <span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
2053
|
-
|
|
2054
|
-
const controllerInstance = <span class="cstat-no" title="statement not covered" >event.injectorContext.get(event.route.action.controller, event.route.action.module);</span>
|
|
2055
|
-
|
|
2056
|
-
const start = <span class="cstat-no" title="statement not covered" >Date.now();</span>
|
|
2057
|
-
const frame = <span class="cstat-no" title="statement not covered" >this.stopwatch ? this.stopwatch.start(getClassName(event.route.action.controller) + '.' + event.route.action.methodName, FrameCategory.httpController) : undefined;</span>
|
|
2058
|
-
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
2059
|
-
const method = <span class="cstat-no" title="statement not covered" >controllerInstance[event.route.action.methodName];</span>
|
|
2060
|
-
let result = <span class="cstat-no" title="statement not covered" >await method.apply(controllerInstance, event.parameters);</span>
|
|
2061
|
-
|
|
2062
|
-
<span class="cstat-no" title="statement not covered" > if (isElementStruct(result)) {</span>
|
|
2063
|
-
const html = <span class="cstat-no" title="statement not covered" >await getTemplateRender()(event.injectorContext.getRootInjector(), result, this.stopwatch ? this.stopwatch : undefined);</span>
|
|
2064
|
-
<span class="cstat-no" title="statement not covered" > result = new HtmlResponse(html, 200).header('Content-Type', 'text/html; charset=utf-8');</span>
|
|
2065
|
-
}
|
|
2066
|
-
const responseEvent = <span class="cstat-no" title="statement not covered" >new HttpResponseEvent(event.injectorContext, event.request, event.response, result, event.route);</span>
|
|
2067
|
-
<span class="cstat-no" title="statement not covered" > responseEvent.controllerActionTime = Date.now() - start;</span>
|
|
2068
|
-
<span class="cstat-no" title="statement not covered" > event.next('response', responseEvent);</span>
|
|
2069
|
-
} catch (error: any) {
|
|
2070
|
-
<span class="cstat-no" title="statement not covered" > if (frame) <span class="cstat-no" title="statement not covered" >frame.end();</span></span>
|
|
2071
|
-
<span class="cstat-no" title="statement not covered" > if (error instanceof HttpAccessDeniedError) {</span>
|
|
2072
|
-
<span class="cstat-no" title="statement not covered" > event.next('accessDenied', new HttpAccessDeniedEvent(event.injectorContext, event.request, event.response, event.route));</span>
|
|
2073
|
-
} else {
|
|
2074
|
-
const errorEvent = <span class="cstat-no" title="statement not covered" >new HttpControllerErrorEvent(event.injectorContext, event.request, event.response, event.route, error);</span>
|
|
2075
|
-
<span class="cstat-no" title="statement not covered" > errorEvent.controllerActionTime = Date.now() - start;</span>
|
|
2076
|
-
<span class="cstat-no" title="statement not covered" > event.next('controllerError', errorEvent);</span>
|
|
2077
|
-
}
|
|
2078
|
-
} finally {
|
|
2079
|
-
<span class="cstat-no" title="statement not covered" > if (frame) <span class="cstat-no" title="statement not covered" >frame.end();</span></span>
|
|
2080
|
-
}
|
|
2081
|
-
}
|
|
2082
|
-
|
|
2083
|
-
@eventDispatcher.listen(httpWorkflow.onParametersFailed, 100)
|
|
2084
|
-
<span class="fstat-no" title="function not covered" > onParametersFailed(</span>event: typeof httpWorkflow.onParametersFailed.event<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >): void {</span></span>
|
|
2085
|
-
<span class="cstat-no" title="statement not covered" > if (event.response.finished) <span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
2086
|
-
<span class="cstat-no" title="statement not covered" > if (event.sent) <span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
2087
|
-
|
|
2088
|
-
<span class="cstat-no" title="statement not covered" > if (event.error instanceof SerializationError) {</span>
|
|
2089
|
-
<span class="cstat-no" title="statement not covered" > event.send(new JSONResponse({</span>
|
|
2090
|
-
message: event.error.message,
|
|
2091
|
-
errors: [{
|
|
2092
|
-
path: event.error.path,
|
|
2093
|
-
code: 'serialization',
|
|
2094
|
-
message: event.error.originalMessage,
|
|
2095
|
-
}]
|
|
2096
|
-
}, 400).disableAutoSerializing());
|
|
2097
|
-
} else <span class="cstat-no" title="statement not covered" >if (event.error instanceof ValidationError) {</span>
|
|
2098
|
-
<span class="cstat-no" title="statement not covered" > event.send(new JSONResponse({</span>
|
|
2099
|
-
message: event.error.message,
|
|
2100
|
-
errors: event.error.errors
|
|
2101
|
-
}, 400).disableAutoSerializing());
|
|
2102
|
-
} else {
|
|
2103
|
-
<span class="cstat-no" title="statement not covered" > this.logger.error('Controller parameter resolving error:', event.error);</span>
|
|
2104
|
-
|
|
2105
|
-
<span class="cstat-no" title="statement not covered" > event.send(new HtmlResponse('Internal error', 500));</span>
|
|
2106
|
-
}
|
|
2107
|
-
}
|
|
2108
|
-
|
|
2109
|
-
@eventDispatcher.listen(httpWorkflow.onControllerError, 100)
|
|
2110
|
-
<span class="fstat-no" title="function not covered" > onControllerError(</span>event: typeof httpWorkflow.onControllerError.event<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >): void {</span></span>
|
|
2111
|
-
<span class="cstat-no" title="statement not covered" > if (event.response.finished) <span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
2112
|
-
<span class="cstat-no" title="statement not covered" > if (event.sent) <span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
2113
|
-
|
|
2114
|
-
<span class="cstat-no" title="statement not covered" > if (event.error instanceof ValidationError) {</span>
|
|
2115
|
-
<span class="cstat-no" title="statement not covered" > event.send(new JSONResponse({</span>
|
|
2116
|
-
message: event.error.message,
|
|
2117
|
-
errors: event.error.errors
|
|
2118
|
-
}, 400).disableAutoSerializing());
|
|
2119
|
-
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
2120
|
-
} else <span class="cstat-no" title="statement not covered" >if (event.error instanceof HttpError) {</span>
|
|
2121
|
-
<span class="cstat-no" title="statement not covered" > event.send(new JSONResponse({</span>
|
|
2122
|
-
message: event.error.message
|
|
2123
|
-
}, event.error.httpCode).disableAutoSerializing());
|
|
2124
|
-
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
2125
|
-
}
|
|
2126
|
-
|
|
2127
|
-
<span class="cstat-no" title="statement not covered" > this.logger.error('Controller error', event.error);</span>
|
|
2128
|
-
|
|
2129
|
-
<span class="cstat-no" title="statement not covered" > event.send(new HtmlResponse('Internal error', 500));</span>
|
|
2130
|
-
}
|
|
2131
|
-
|
|
2132
|
-
/**
|
|
2133
|
-
* This happens before the result is sent.
|
|
2134
|
-
*/
|
|
2135
|
-
@eventDispatcher.listen(httpWorkflow.onResponse, -100)
|
|
2136
|
-
<span class="fstat-no" title="function not covered" > async </span>onResultSerialization(event: typeof httpWorkflow.onResponse.event<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >) {</span></span>
|
|
2137
|
-
<span class="cstat-no" title="statement not covered" > if (!event.route) <span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
2138
|
-
<span class="cstat-no" title="statement not covered" > if (event.response.headersSent) <span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
2139
|
-
<span class="cstat-no" title="statement not covered" > if (event.result === undefined || event.result === null) <span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
2140
|
-
|
|
2141
|
-
<span class="cstat-no" title="statement not covered" > if (event.result instanceof HtmlResponse || event.result instanceof ServerResponse || event.result instanceof Redirect) {</span>
|
|
2142
|
-
// don't do anything
|
|
2143
|
-
} else <span class="cstat-no" title="statement not covered" >if (event.result instanceof JSONResponse) {</span>
|
|
2144
|
-
const schema = <span class="cstat-no" title="statement not covered" >(event.result._statusCode && event.route.getSchemaForResponse(event.result._statusCode)) || event.route.returnType;</span>
|
|
2145
|
-
|
|
2146
|
-
<span class="cstat-no" title="statement not covered" > if (!schema || !event.result.autoSerializing) <span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
2147
|
-
|
|
2148
|
-
const serializerToUse = <span class="cstat-no" title="statement not covered" >event.route && event.route.serializer ? event.route.serializer : serializer;</span>
|
|
2149
|
-
const serialize = <span class="cstat-no" title="statement not covered" >getSerializeFunction(schema, serializerToUse.serializeRegistry);</span>
|
|
2150
|
-
<span class="cstat-no" title="statement not covered" > event.result.json = serialize(event.result.json, event.route.serializationOptions);</span>
|
|
2151
|
-
} else <span class="cstat-no" title="statement not covered" >if (event.route.returnType && event.route.returnType.kind !== ReflectionKind.any) {</span>
|
|
2152
|
-
const serializerToUse = <span class="cstat-no" title="statement not covered" >event.route && event.route.serializer ? event.route.serializer : serializer;</span>
|
|
2153
|
-
const serialize = <span class="cstat-no" title="statement not covered" >getSerializeFunction(event.route.returnType, serializerToUse.serializeRegistry);</span>
|
|
2154
|
-
<span class="cstat-no" title="statement not covered" > event.result = serialize(event.result, event.route.serializationOptions);</span>
|
|
2155
|
-
} else {
|
|
2156
|
-
const schema = <span class="cstat-no" title="statement not covered" >event.route.getSchemaForResponse(200);</span>
|
|
2157
|
-
<span class="cstat-no" title="statement not covered" > if (!schema) <span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
2158
|
-
|
|
2159
|
-
const serializerToUse = <span class="cstat-no" title="statement not covered" >event.route && event.route.serializer ? event.route.serializer : serializer;</span>
|
|
2160
|
-
const serialize = <span class="cstat-no" title="statement not covered" >getSerializeFunction(schema, serializerToUse.serializeRegistry);</span>
|
|
2161
|
-
<span class="cstat-no" title="statement not covered" > event.result = serialize(event.result, event.route.serializationOptions);</span>
|
|
2162
|
-
}
|
|
2163
|
-
}
|
|
2164
|
-
|
|
2165
|
-
@eventDispatcher.listen(httpWorkflow.onResponse, 100)
|
|
2166
|
-
<span class="fstat-no" title="function not covered" > async </span>onResponse(event: typeof httpWorkflow.onResponse.event) {
|
|
2167
|
-
<span class="cstat-no" title="statement not covered" > if (event.response.headersSent) <span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
2168
|
-
|
|
2169
|
-
<span class="cstat-no" title="statement not covered" > this.resultFormatter.handle(event.result, event);</span>
|
|
2170
|
-
}
|
|
2171
|
-
}
|
|
2172
|
-
</pre></td></tr></table></pre>
|
|
2173
|
-
|
|
2174
|
-
<div class='push'></div><!-- for sticky footer -->
|
|
2175
|
-
</div><!-- /wrapper -->
|
|
2176
|
-
<div class='footer quiet pad2 space-top1 center small'>
|
|
2177
|
-
Code coverage generated by
|
|
2178
|
-
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
2179
|
-
at Wed Mar 02 2022 07:23:06 GMT+0100 (Central European Standard Time)
|
|
2180
|
-
</div>
|
|
2181
|
-
</div>
|
|
2182
|
-
<script src="../prettify.js"></script>
|
|
2183
|
-
<script>
|
|
2184
|
-
window.onload = function () {
|
|
2185
|
-
prettyPrint();
|
|
2186
|
-
};
|
|
2187
|
-
</script>
|
|
2188
|
-
<script src="../sorter.js"></script>
|
|
2189
|
-
<script src="../block-navigation.js"></script>
|
|
2190
|
-
</body>
|
|
2191
|
-
</html>
|
|
2192
|
-
|