@rabbitio/ui-kit 1.0.0-beta.43 → 1.0.0-beta.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. package/coverage/clover.xml +5262 -821
  2. package/coverage/coverage-final.json +25 -1
  3. package/coverage/index.html +311 -26
  4. package/coverage/rabbit-ui-kit/index.html +1 -1
  5. package/coverage/rabbit-ui-kit/index.js.html +1 -1
  6. package/coverage/rabbit-ui-kit/src/common/adapters/axiosAdapter.js.html +1 -1
  7. package/coverage/rabbit-ui-kit/src/common/adapters/index.html +1 -1
  8. package/coverage/rabbit-ui-kit/src/common/amountUtils.js.html +1 -1
  9. package/coverage/rabbit-ui-kit/src/common/errorUtils.js.html +1 -1
  10. package/coverage/rabbit-ui-kit/src/common/external-apis/apiGroups.js.html +1 -1
  11. package/coverage/rabbit-ui-kit/src/common/external-apis/index.html +1 -1
  12. package/coverage/rabbit-ui-kit/src/common/external-apis/ipAddressProviders.js.html +1 -1
  13. package/coverage/rabbit-ui-kit/src/common/fiatCurrenciesService.js.html +1 -1
  14. package/coverage/rabbit-ui-kit/src/common/index.html +1 -1
  15. package/coverage/rabbit-ui-kit/src/common/models/blockchain.js.html +1 -1
  16. package/coverage/rabbit-ui-kit/src/common/models/coin.js.html +1 -1
  17. package/coverage/rabbit-ui-kit/src/common/models/index.html +1 -1
  18. package/coverage/rabbit-ui-kit/src/common/models/protocol.js.html +1 -1
  19. package/coverage/rabbit-ui-kit/src/common/utils/cache.js.html +1 -1
  20. package/coverage/rabbit-ui-kit/src/common/utils/emailAPI.js.html +1 -1
  21. package/coverage/rabbit-ui-kit/src/common/utils/index.html +1 -1
  22. package/coverage/rabbit-ui-kit/src/common/utils/logging/index.html +1 -1
  23. package/coverage/rabbit-ui-kit/src/common/utils/logging/logger.js.html +1 -1
  24. package/coverage/rabbit-ui-kit/src/common/utils/logging/logsStorage.js.html +1 -1
  25. package/coverage/rabbit-ui-kit/src/common/utils/postponeExecution.js.html +1 -1
  26. package/coverage/rabbit-ui-kit/src/common/utils/safeStringify.js.html +1 -1
  27. package/coverage/rabbit-ui-kit/src/components/atoms/AssetIcon/AssetIcon.jsx.html +1 -1
  28. package/coverage/rabbit-ui-kit/src/components/atoms/AssetIcon/index.html +1 -1
  29. package/coverage/rabbit-ui-kit/src/components/atoms/AssetSelection/AssetSelection.jsx.html +364 -0
  30. package/coverage/rabbit-ui-kit/src/components/atoms/AssetSelection/index.html +116 -0
  31. package/coverage/rabbit-ui-kit/src/components/atoms/BackgroundTitle/BackgroundTitle.jsx.html +217 -0
  32. package/coverage/rabbit-ui-kit/src/components/atoms/BackgroundTitle/index.html +116 -0
  33. package/coverage/rabbit-ui-kit/src/components/atoms/LoadingDots/LoadingDots.jsx.html +1 -1
  34. package/coverage/rabbit-ui-kit/src/components/atoms/LoadingDots/index.html +1 -1
  35. package/coverage/rabbit-ui-kit/src/components/atoms/NoticeIcon/NoticeIcon.jsx.html +298 -0
  36. package/coverage/rabbit-ui-kit/src/components/atoms/NoticeIcon/index.html +116 -0
  37. package/coverage/rabbit-ui-kit/src/components/atoms/SupportChat/SupportChat.jsx.html +1 -1
  38. package/coverage/rabbit-ui-kit/src/components/atoms/SupportChat/index.html +1 -1
  39. package/coverage/rabbit-ui-kit/src/components/atoms/TitleBox/TitleBox.jsx.html +574 -0
  40. package/coverage/rabbit-ui-kit/src/components/atoms/TitleBox/index.html +116 -0
  41. package/coverage/rabbit-ui-kit/src/components/atoms/Tooltip/Tooltip.jsx.html +370 -0
  42. package/coverage/rabbit-ui-kit/src/components/atoms/Tooltip/index.html +116 -0
  43. package/coverage/rabbit-ui-kit/src/components/atoms/Validation/Validation.jsx.html +475 -0
  44. package/coverage/rabbit-ui-kit/src/components/atoms/Validation/index.html +116 -0
  45. package/coverage/rabbit-ui-kit/src/components/atoms/buttons/Button/Button.jsx.html +1 -1
  46. package/coverage/rabbit-ui-kit/src/components/atoms/buttons/Button/index.html +1 -1
  47. package/coverage/rabbit-ui-kit/src/components/atoms/buttons/Close/Close.jsx.html +277 -0
  48. package/coverage/rabbit-ui-kit/src/components/atoms/buttons/Close/index.html +116 -0
  49. package/coverage/rabbit-ui-kit/src/components/atoms/buttons/LinkButton/LinkButton.jsx.html +448 -0
  50. package/coverage/rabbit-ui-kit/src/components/atoms/buttons/LinkButton/index.html +116 -0
  51. package/coverage/rabbit-ui-kit/src/components/hooks/index.html +1 -1
  52. package/coverage/rabbit-ui-kit/src/components/hooks/useCallHandlingErrors.js.html +1 -1
  53. package/coverage/rabbit-ui-kit/src/components/hooks/useReferredState.js.html +1 -1
  54. package/coverage/rabbit-ui-kit/src/components/molecules/AmountInput/AmountInput.jsx.html +1510 -0
  55. package/coverage/rabbit-ui-kit/src/components/molecules/AmountInput/index.html +116 -0
  56. package/coverage/rabbit-ui-kit/src/components/organisms/Dialog/Dialog.jsx.html +1630 -0
  57. package/coverage/rabbit-ui-kit/src/components/organisms/Dialog/DialogButtons/DialogButtons.jsx.html +451 -0
  58. package/coverage/rabbit-ui-kit/src/components/organisms/Dialog/DialogButtons/index.html +116 -0
  59. package/coverage/rabbit-ui-kit/src/components/organisms/Dialog/DialogStep/DialogStep.jsx.html +2077 -0
  60. package/coverage/rabbit-ui-kit/src/components/organisms/Dialog/DialogStep/index.html +116 -0
  61. package/coverage/rabbit-ui-kit/src/components/organisms/Dialog/index.html +116 -0
  62. package/coverage/rabbit-ui-kit/src/components/organisms/SwapForm/SwapForm.jsx.html +3538 -0
  63. package/coverage/rabbit-ui-kit/src/components/organisms/SwapForm/index.html +116 -0
  64. package/coverage/rabbit-ui-kit/src/components/utils/index.html +24 -9
  65. package/coverage/rabbit-ui-kit/src/components/utils/inputValueProviders.js.html +1 -1
  66. package/coverage/rabbit-ui-kit/src/components/utils/textUtils.js.html +139 -0
  67. package/coverage/rabbit-ui-kit/src/components/utils/uiUtils.js.html +1 -1
  68. package/coverage/rabbit-ui-kit/src/components/utils/urlQueryUtils.js.html +1 -1
  69. package/coverage/rabbit-ui-kit/src/constants/organisms/dialog/DialogStep/dialogStep.js.html +88 -0
  70. package/coverage/rabbit-ui-kit/src/constants/organisms/dialog/DialogStep/index.html +116 -0
  71. package/coverage/rabbit-ui-kit/src/constants/organisms/dialog/dialog.js.html +172 -0
  72. package/coverage/rabbit-ui-kit/src/constants/organisms/dialog/index.html +116 -0
  73. package/coverage/rabbit-ui-kit/src/index.html +5 -5
  74. package/coverage/rabbit-ui-kit/src/index.js.html +65 -5
  75. package/coverage/rabbit-ui-kit/src/robustExteranlApiCallerService/cacheAndConcurrentRequestsResolver.js.html +1 -1
  76. package/coverage/rabbit-ui-kit/src/robustExteranlApiCallerService/cachedRobustExternalApiCallerService.js.html +1 -1
  77. package/coverage/rabbit-ui-kit/src/robustExteranlApiCallerService/cancelProcessing.js.html +1 -1
  78. package/coverage/rabbit-ui-kit/src/robustExteranlApiCallerService/concurrentCalculationsMetadataHolder.js.html +1 -1
  79. package/coverage/rabbit-ui-kit/src/robustExteranlApiCallerService/externalApiProvider.js.html +1 -1
  80. package/coverage/rabbit-ui-kit/src/robustExteranlApiCallerService/externalServicesStatsCollector.js.html +1 -1
  81. package/coverage/rabbit-ui-kit/src/robustExteranlApiCallerService/index.html +1 -1
  82. package/coverage/rabbit-ui-kit/src/robustExteranlApiCallerService/robustExternalAPICallerService.js.html +1 -1
  83. package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/index.html +1 -1
  84. package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/swapProvider.js.html +1 -1
  85. package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/swapspaceSwapProvider.js.html +1 -1
  86. package/coverage/rabbit-ui-kit/src/swaps-lib/models/baseSwapCreationInfo.js.html +1 -1
  87. package/coverage/rabbit-ui-kit/src/swaps-lib/models/existingSwap.js.html +1 -1
  88. package/coverage/rabbit-ui-kit/src/swaps-lib/models/existingSwapWithFiatData.js.html +1 -1
  89. package/coverage/rabbit-ui-kit/src/swaps-lib/models/index.html +1 -1
  90. package/coverage/rabbit-ui-kit/src/swaps-lib/services/index.html +1 -1
  91. package/coverage/rabbit-ui-kit/src/swaps-lib/services/publicSwapService.js.html +1 -1
  92. package/coverage/rabbit-ui-kit/src/swaps-lib/utils/index.html +1 -1
  93. package/coverage/rabbit-ui-kit/src/swaps-lib/utils/swapUtils.js.html +1 -1
  94. package/coverage/rabbit-ui-kit/stories/atoms/BackgroundTitle.stories.jsx.html +202 -0
  95. package/coverage/rabbit-ui-kit/stories/atoms/LoadingDots.stories.jsx.html +1 -1
  96. package/coverage/rabbit-ui-kit/stories/atoms/Validation.stories.jsx.html +178 -0
  97. package/coverage/rabbit-ui-kit/stories/atoms/buttons/Button.stories.jsx.html +1 -1
  98. package/coverage/rabbit-ui-kit/stories/atoms/buttons/Close.stories.jsx.html +211 -0
  99. package/coverage/rabbit-ui-kit/stories/atoms/buttons/LinkButton.stories.jsx.html +298 -0
  100. package/coverage/rabbit-ui-kit/stories/atoms/buttons/index.html +35 -5
  101. package/coverage/rabbit-ui-kit/stories/atoms/index.html +35 -5
  102. package/coverage/rabbit-ui-kit/stories/organisms/Dialog/Dialog.stories.jsx.html +574 -0
  103. package/coverage/rabbit-ui-kit/stories/organisms/Dialog/DialogButtons/DialogButtons.stories.jsx.html +328 -0
  104. package/coverage/rabbit-ui-kit/stories/organisms/Dialog/DialogButtons/index.html +116 -0
  105. package/coverage/rabbit-ui-kit/stories/organisms/Dialog/DialogStep/DialogStep.stories.jsx.html +352 -0
  106. package/coverage/rabbit-ui-kit/stories/organisms/Dialog/DialogStep/index.html +116 -0
  107. package/coverage/rabbit-ui-kit/stories/organisms/Dialog/index.html +116 -0
  108. package/coverage/rabbit-ui-kit/stories/stubs/exampleContent.jsx.html +145 -0
  109. package/coverage/rabbit-ui-kit/stories/stubs/index.html +116 -0
  110. package/dist/index.cjs +3022 -231
  111. package/dist/index.cjs.map +1 -1
  112. package/dist/index.css +40976 -0
  113. package/dist/index.css.map +1 -1
  114. package/dist/index.modern.js +2568 -183
  115. package/dist/index.modern.js.map +1 -1
  116. package/dist/index.module.js +3010 -239
  117. package/dist/index.module.js.map +1 -1
  118. package/dist/index.umd.js +3019 -234
  119. package/dist/index.umd.js.map +1 -1
  120. package/package.json +7 -1
  121. package/src/assets/image/icons/arrow-darker.svg +14 -0
  122. package/src/assets/image/icons/arrow-tosca.svg +3 -0
  123. package/src/assets/image/icons/arrow-white.svg +14 -0
  124. package/src/assets/image/icons/dark-rectangle.svg +3 -0
  125. package/src/assets/image/icons/failed-validation-icon.svg +15 -0
  126. package/src/assets/image/icons/successful-validation-icon.svg +10 -0
  127. package/src/assets/image/icons/wallet-gray-small.svg +6 -0
  128. package/src/components/atoms/AssetSelection/AssetSelection.jsx +93 -0
  129. package/src/components/atoms/AssetSelection/asset-selection.module.scss +55 -0
  130. package/src/components/atoms/BackgroundTitle/BackgroundTitle.jsx +44 -0
  131. package/src/components/atoms/BackgroundTitle/background-title.module.scss +52 -0
  132. package/src/components/atoms/NoticeIcon/NoticeIcon.jsx +71 -0
  133. package/src/components/atoms/NoticeIcon/notice-icon.module.scss +14 -0
  134. package/src/components/atoms/TitleBox/TitleBox.jsx +163 -0
  135. package/src/components/atoms/TitleBox/title-box.module.scss +30 -0
  136. package/src/components/atoms/Tooltip/Tooltip.jsx +95 -0
  137. package/src/components/atoms/Tooltip/tooltip.module.scss +231 -0
  138. package/src/components/atoms/Validation/Validation.jsx +130 -0
  139. package/src/components/atoms/Validation/validation.module.scss +15 -0
  140. package/src/components/atoms/buttons/Close/Close.jsx +64 -0
  141. package/src/components/atoms/buttons/Close/close.module.scss +75 -0
  142. package/src/components/atoms/buttons/LinkButton/LinkButton.jsx +121 -0
  143. package/src/components/atoms/buttons/LinkButton/link-button.module.scss +45 -0
  144. package/src/components/molecules/AmountInput/AmountInput.jsx +475 -0
  145. package/src/components/molecules/AmountInput/amount-input.module.scss +189 -0
  146. package/src/components/organisms/Dialog/Dialog.jsx +515 -0
  147. package/src/components/organisms/Dialog/DialogButtons/DialogButtons.jsx +122 -0
  148. package/src/components/organisms/Dialog/DialogButtons/dialog-buttons.module.scss +25 -0
  149. package/src/components/organisms/Dialog/DialogStep/DialogStep.jsx +664 -0
  150. package/src/components/organisms/Dialog/DialogStep/dialog-step.module.scss +362 -0
  151. package/src/components/organisms/Dialog/dialog.module.scss +223 -0
  152. package/src/components/organisms/SwapForm/SwapForm.jsx +1151 -0
  153. package/src/components/organisms/SwapForm/swap-form.module.scss +120 -0
  154. package/src/components/utils/textUtils.js +18 -0
  155. package/src/constants/organisms/dialog/DialogStep/dialogStep.js +1 -0
  156. package/src/constants/organisms/dialog/dialog.js +29 -0
  157. package/src/index.js +21 -1
  158. package/stories/stubs/exampleContent.jsx +20 -0
  159. package/styles/fonts/NunitoSans-Bold.ttf +0 -0
  160. package/styles/fonts/NunitoSans-ExtraBold.ttf +0 -0
  161. package/styles/fonts/NunitoSans-Light.ttf +0 -0
  162. package/styles/fonts/NunitoSans-Regular.ttf +0 -0
  163. package/styles/fonts/NunitoSans-SemiBold.ttf +0 -0
  164. package/styles/index.scss +5 -3
@@ -0,0 +1,3538 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for rabbit-ui-kit/src/components/organisms/SwapForm/SwapForm.jsx</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">rabbit-ui-kit/src/components/organisms/SwapForm</a> SwapForm.jsx</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">0% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>0/1151</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/1</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">0% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>0/1</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">0% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>0/1151</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line low'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a>
85
+ <a name='L20'></a><a href='#L20'>20</a>
86
+ <a name='L21'></a><a href='#L21'>21</a>
87
+ <a name='L22'></a><a href='#L22'>22</a>
88
+ <a name='L23'></a><a href='#L23'>23</a>
89
+ <a name='L24'></a><a href='#L24'>24</a>
90
+ <a name='L25'></a><a href='#L25'>25</a>
91
+ <a name='L26'></a><a href='#L26'>26</a>
92
+ <a name='L27'></a><a href='#L27'>27</a>
93
+ <a name='L28'></a><a href='#L28'>28</a>
94
+ <a name='L29'></a><a href='#L29'>29</a>
95
+ <a name='L30'></a><a href='#L30'>30</a>
96
+ <a name='L31'></a><a href='#L31'>31</a>
97
+ <a name='L32'></a><a href='#L32'>32</a>
98
+ <a name='L33'></a><a href='#L33'>33</a>
99
+ <a name='L34'></a><a href='#L34'>34</a>
100
+ <a name='L35'></a><a href='#L35'>35</a>
101
+ <a name='L36'></a><a href='#L36'>36</a>
102
+ <a name='L37'></a><a href='#L37'>37</a>
103
+ <a name='L38'></a><a href='#L38'>38</a>
104
+ <a name='L39'></a><a href='#L39'>39</a>
105
+ <a name='L40'></a><a href='#L40'>40</a>
106
+ <a name='L41'></a><a href='#L41'>41</a>
107
+ <a name='L42'></a><a href='#L42'>42</a>
108
+ <a name='L43'></a><a href='#L43'>43</a>
109
+ <a name='L44'></a><a href='#L44'>44</a>
110
+ <a name='L45'></a><a href='#L45'>45</a>
111
+ <a name='L46'></a><a href='#L46'>46</a>
112
+ <a name='L47'></a><a href='#L47'>47</a>
113
+ <a name='L48'></a><a href='#L48'>48</a>
114
+ <a name='L49'></a><a href='#L49'>49</a>
115
+ <a name='L50'></a><a href='#L50'>50</a>
116
+ <a name='L51'></a><a href='#L51'>51</a>
117
+ <a name='L52'></a><a href='#L52'>52</a>
118
+ <a name='L53'></a><a href='#L53'>53</a>
119
+ <a name='L54'></a><a href='#L54'>54</a>
120
+ <a name='L55'></a><a href='#L55'>55</a>
121
+ <a name='L56'></a><a href='#L56'>56</a>
122
+ <a name='L57'></a><a href='#L57'>57</a>
123
+ <a name='L58'></a><a href='#L58'>58</a>
124
+ <a name='L59'></a><a href='#L59'>59</a>
125
+ <a name='L60'></a><a href='#L60'>60</a>
126
+ <a name='L61'></a><a href='#L61'>61</a>
127
+ <a name='L62'></a><a href='#L62'>62</a>
128
+ <a name='L63'></a><a href='#L63'>63</a>
129
+ <a name='L64'></a><a href='#L64'>64</a>
130
+ <a name='L65'></a><a href='#L65'>65</a>
131
+ <a name='L66'></a><a href='#L66'>66</a>
132
+ <a name='L67'></a><a href='#L67'>67</a>
133
+ <a name='L68'></a><a href='#L68'>68</a>
134
+ <a name='L69'></a><a href='#L69'>69</a>
135
+ <a name='L70'></a><a href='#L70'>70</a>
136
+ <a name='L71'></a><a href='#L71'>71</a>
137
+ <a name='L72'></a><a href='#L72'>72</a>
138
+ <a name='L73'></a><a href='#L73'>73</a>
139
+ <a name='L74'></a><a href='#L74'>74</a>
140
+ <a name='L75'></a><a href='#L75'>75</a>
141
+ <a name='L76'></a><a href='#L76'>76</a>
142
+ <a name='L77'></a><a href='#L77'>77</a>
143
+ <a name='L78'></a><a href='#L78'>78</a>
144
+ <a name='L79'></a><a href='#L79'>79</a>
145
+ <a name='L80'></a><a href='#L80'>80</a>
146
+ <a name='L81'></a><a href='#L81'>81</a>
147
+ <a name='L82'></a><a href='#L82'>82</a>
148
+ <a name='L83'></a><a href='#L83'>83</a>
149
+ <a name='L84'></a><a href='#L84'>84</a>
150
+ <a name='L85'></a><a href='#L85'>85</a>
151
+ <a name='L86'></a><a href='#L86'>86</a>
152
+ <a name='L87'></a><a href='#L87'>87</a>
153
+ <a name='L88'></a><a href='#L88'>88</a>
154
+ <a name='L89'></a><a href='#L89'>89</a>
155
+ <a name='L90'></a><a href='#L90'>90</a>
156
+ <a name='L91'></a><a href='#L91'>91</a>
157
+ <a name='L92'></a><a href='#L92'>92</a>
158
+ <a name='L93'></a><a href='#L93'>93</a>
159
+ <a name='L94'></a><a href='#L94'>94</a>
160
+ <a name='L95'></a><a href='#L95'>95</a>
161
+ <a name='L96'></a><a href='#L96'>96</a>
162
+ <a name='L97'></a><a href='#L97'>97</a>
163
+ <a name='L98'></a><a href='#L98'>98</a>
164
+ <a name='L99'></a><a href='#L99'>99</a>
165
+ <a name='L100'></a><a href='#L100'>100</a>
166
+ <a name='L101'></a><a href='#L101'>101</a>
167
+ <a name='L102'></a><a href='#L102'>102</a>
168
+ <a name='L103'></a><a href='#L103'>103</a>
169
+ <a name='L104'></a><a href='#L104'>104</a>
170
+ <a name='L105'></a><a href='#L105'>105</a>
171
+ <a name='L106'></a><a href='#L106'>106</a>
172
+ <a name='L107'></a><a href='#L107'>107</a>
173
+ <a name='L108'></a><a href='#L108'>108</a>
174
+ <a name='L109'></a><a href='#L109'>109</a>
175
+ <a name='L110'></a><a href='#L110'>110</a>
176
+ <a name='L111'></a><a href='#L111'>111</a>
177
+ <a name='L112'></a><a href='#L112'>112</a>
178
+ <a name='L113'></a><a href='#L113'>113</a>
179
+ <a name='L114'></a><a href='#L114'>114</a>
180
+ <a name='L115'></a><a href='#L115'>115</a>
181
+ <a name='L116'></a><a href='#L116'>116</a>
182
+ <a name='L117'></a><a href='#L117'>117</a>
183
+ <a name='L118'></a><a href='#L118'>118</a>
184
+ <a name='L119'></a><a href='#L119'>119</a>
185
+ <a name='L120'></a><a href='#L120'>120</a>
186
+ <a name='L121'></a><a href='#L121'>121</a>
187
+ <a name='L122'></a><a href='#L122'>122</a>
188
+ <a name='L123'></a><a href='#L123'>123</a>
189
+ <a name='L124'></a><a href='#L124'>124</a>
190
+ <a name='L125'></a><a href='#L125'>125</a>
191
+ <a name='L126'></a><a href='#L126'>126</a>
192
+ <a name='L127'></a><a href='#L127'>127</a>
193
+ <a name='L128'></a><a href='#L128'>128</a>
194
+ <a name='L129'></a><a href='#L129'>129</a>
195
+ <a name='L130'></a><a href='#L130'>130</a>
196
+ <a name='L131'></a><a href='#L131'>131</a>
197
+ <a name='L132'></a><a href='#L132'>132</a>
198
+ <a name='L133'></a><a href='#L133'>133</a>
199
+ <a name='L134'></a><a href='#L134'>134</a>
200
+ <a name='L135'></a><a href='#L135'>135</a>
201
+ <a name='L136'></a><a href='#L136'>136</a>
202
+ <a name='L137'></a><a href='#L137'>137</a>
203
+ <a name='L138'></a><a href='#L138'>138</a>
204
+ <a name='L139'></a><a href='#L139'>139</a>
205
+ <a name='L140'></a><a href='#L140'>140</a>
206
+ <a name='L141'></a><a href='#L141'>141</a>
207
+ <a name='L142'></a><a href='#L142'>142</a>
208
+ <a name='L143'></a><a href='#L143'>143</a>
209
+ <a name='L144'></a><a href='#L144'>144</a>
210
+ <a name='L145'></a><a href='#L145'>145</a>
211
+ <a name='L146'></a><a href='#L146'>146</a>
212
+ <a name='L147'></a><a href='#L147'>147</a>
213
+ <a name='L148'></a><a href='#L148'>148</a>
214
+ <a name='L149'></a><a href='#L149'>149</a>
215
+ <a name='L150'></a><a href='#L150'>150</a>
216
+ <a name='L151'></a><a href='#L151'>151</a>
217
+ <a name='L152'></a><a href='#L152'>152</a>
218
+ <a name='L153'></a><a href='#L153'>153</a>
219
+ <a name='L154'></a><a href='#L154'>154</a>
220
+ <a name='L155'></a><a href='#L155'>155</a>
221
+ <a name='L156'></a><a href='#L156'>156</a>
222
+ <a name='L157'></a><a href='#L157'>157</a>
223
+ <a name='L158'></a><a href='#L158'>158</a>
224
+ <a name='L159'></a><a href='#L159'>159</a>
225
+ <a name='L160'></a><a href='#L160'>160</a>
226
+ <a name='L161'></a><a href='#L161'>161</a>
227
+ <a name='L162'></a><a href='#L162'>162</a>
228
+ <a name='L163'></a><a href='#L163'>163</a>
229
+ <a name='L164'></a><a href='#L164'>164</a>
230
+ <a name='L165'></a><a href='#L165'>165</a>
231
+ <a name='L166'></a><a href='#L166'>166</a>
232
+ <a name='L167'></a><a href='#L167'>167</a>
233
+ <a name='L168'></a><a href='#L168'>168</a>
234
+ <a name='L169'></a><a href='#L169'>169</a>
235
+ <a name='L170'></a><a href='#L170'>170</a>
236
+ <a name='L171'></a><a href='#L171'>171</a>
237
+ <a name='L172'></a><a href='#L172'>172</a>
238
+ <a name='L173'></a><a href='#L173'>173</a>
239
+ <a name='L174'></a><a href='#L174'>174</a>
240
+ <a name='L175'></a><a href='#L175'>175</a>
241
+ <a name='L176'></a><a href='#L176'>176</a>
242
+ <a name='L177'></a><a href='#L177'>177</a>
243
+ <a name='L178'></a><a href='#L178'>178</a>
244
+ <a name='L179'></a><a href='#L179'>179</a>
245
+ <a name='L180'></a><a href='#L180'>180</a>
246
+ <a name='L181'></a><a href='#L181'>181</a>
247
+ <a name='L182'></a><a href='#L182'>182</a>
248
+ <a name='L183'></a><a href='#L183'>183</a>
249
+ <a name='L184'></a><a href='#L184'>184</a>
250
+ <a name='L185'></a><a href='#L185'>185</a>
251
+ <a name='L186'></a><a href='#L186'>186</a>
252
+ <a name='L187'></a><a href='#L187'>187</a>
253
+ <a name='L188'></a><a href='#L188'>188</a>
254
+ <a name='L189'></a><a href='#L189'>189</a>
255
+ <a name='L190'></a><a href='#L190'>190</a>
256
+ <a name='L191'></a><a href='#L191'>191</a>
257
+ <a name='L192'></a><a href='#L192'>192</a>
258
+ <a name='L193'></a><a href='#L193'>193</a>
259
+ <a name='L194'></a><a href='#L194'>194</a>
260
+ <a name='L195'></a><a href='#L195'>195</a>
261
+ <a name='L196'></a><a href='#L196'>196</a>
262
+ <a name='L197'></a><a href='#L197'>197</a>
263
+ <a name='L198'></a><a href='#L198'>198</a>
264
+ <a name='L199'></a><a href='#L199'>199</a>
265
+ <a name='L200'></a><a href='#L200'>200</a>
266
+ <a name='L201'></a><a href='#L201'>201</a>
267
+ <a name='L202'></a><a href='#L202'>202</a>
268
+ <a name='L203'></a><a href='#L203'>203</a>
269
+ <a name='L204'></a><a href='#L204'>204</a>
270
+ <a name='L205'></a><a href='#L205'>205</a>
271
+ <a name='L206'></a><a href='#L206'>206</a>
272
+ <a name='L207'></a><a href='#L207'>207</a>
273
+ <a name='L208'></a><a href='#L208'>208</a>
274
+ <a name='L209'></a><a href='#L209'>209</a>
275
+ <a name='L210'></a><a href='#L210'>210</a>
276
+ <a name='L211'></a><a href='#L211'>211</a>
277
+ <a name='L212'></a><a href='#L212'>212</a>
278
+ <a name='L213'></a><a href='#L213'>213</a>
279
+ <a name='L214'></a><a href='#L214'>214</a>
280
+ <a name='L215'></a><a href='#L215'>215</a>
281
+ <a name='L216'></a><a href='#L216'>216</a>
282
+ <a name='L217'></a><a href='#L217'>217</a>
283
+ <a name='L218'></a><a href='#L218'>218</a>
284
+ <a name='L219'></a><a href='#L219'>219</a>
285
+ <a name='L220'></a><a href='#L220'>220</a>
286
+ <a name='L221'></a><a href='#L221'>221</a>
287
+ <a name='L222'></a><a href='#L222'>222</a>
288
+ <a name='L223'></a><a href='#L223'>223</a>
289
+ <a name='L224'></a><a href='#L224'>224</a>
290
+ <a name='L225'></a><a href='#L225'>225</a>
291
+ <a name='L226'></a><a href='#L226'>226</a>
292
+ <a name='L227'></a><a href='#L227'>227</a>
293
+ <a name='L228'></a><a href='#L228'>228</a>
294
+ <a name='L229'></a><a href='#L229'>229</a>
295
+ <a name='L230'></a><a href='#L230'>230</a>
296
+ <a name='L231'></a><a href='#L231'>231</a>
297
+ <a name='L232'></a><a href='#L232'>232</a>
298
+ <a name='L233'></a><a href='#L233'>233</a>
299
+ <a name='L234'></a><a href='#L234'>234</a>
300
+ <a name='L235'></a><a href='#L235'>235</a>
301
+ <a name='L236'></a><a href='#L236'>236</a>
302
+ <a name='L237'></a><a href='#L237'>237</a>
303
+ <a name='L238'></a><a href='#L238'>238</a>
304
+ <a name='L239'></a><a href='#L239'>239</a>
305
+ <a name='L240'></a><a href='#L240'>240</a>
306
+ <a name='L241'></a><a href='#L241'>241</a>
307
+ <a name='L242'></a><a href='#L242'>242</a>
308
+ <a name='L243'></a><a href='#L243'>243</a>
309
+ <a name='L244'></a><a href='#L244'>244</a>
310
+ <a name='L245'></a><a href='#L245'>245</a>
311
+ <a name='L246'></a><a href='#L246'>246</a>
312
+ <a name='L247'></a><a href='#L247'>247</a>
313
+ <a name='L248'></a><a href='#L248'>248</a>
314
+ <a name='L249'></a><a href='#L249'>249</a>
315
+ <a name='L250'></a><a href='#L250'>250</a>
316
+ <a name='L251'></a><a href='#L251'>251</a>
317
+ <a name='L252'></a><a href='#L252'>252</a>
318
+ <a name='L253'></a><a href='#L253'>253</a>
319
+ <a name='L254'></a><a href='#L254'>254</a>
320
+ <a name='L255'></a><a href='#L255'>255</a>
321
+ <a name='L256'></a><a href='#L256'>256</a>
322
+ <a name='L257'></a><a href='#L257'>257</a>
323
+ <a name='L258'></a><a href='#L258'>258</a>
324
+ <a name='L259'></a><a href='#L259'>259</a>
325
+ <a name='L260'></a><a href='#L260'>260</a>
326
+ <a name='L261'></a><a href='#L261'>261</a>
327
+ <a name='L262'></a><a href='#L262'>262</a>
328
+ <a name='L263'></a><a href='#L263'>263</a>
329
+ <a name='L264'></a><a href='#L264'>264</a>
330
+ <a name='L265'></a><a href='#L265'>265</a>
331
+ <a name='L266'></a><a href='#L266'>266</a>
332
+ <a name='L267'></a><a href='#L267'>267</a>
333
+ <a name='L268'></a><a href='#L268'>268</a>
334
+ <a name='L269'></a><a href='#L269'>269</a>
335
+ <a name='L270'></a><a href='#L270'>270</a>
336
+ <a name='L271'></a><a href='#L271'>271</a>
337
+ <a name='L272'></a><a href='#L272'>272</a>
338
+ <a name='L273'></a><a href='#L273'>273</a>
339
+ <a name='L274'></a><a href='#L274'>274</a>
340
+ <a name='L275'></a><a href='#L275'>275</a>
341
+ <a name='L276'></a><a href='#L276'>276</a>
342
+ <a name='L277'></a><a href='#L277'>277</a>
343
+ <a name='L278'></a><a href='#L278'>278</a>
344
+ <a name='L279'></a><a href='#L279'>279</a>
345
+ <a name='L280'></a><a href='#L280'>280</a>
346
+ <a name='L281'></a><a href='#L281'>281</a>
347
+ <a name='L282'></a><a href='#L282'>282</a>
348
+ <a name='L283'></a><a href='#L283'>283</a>
349
+ <a name='L284'></a><a href='#L284'>284</a>
350
+ <a name='L285'></a><a href='#L285'>285</a>
351
+ <a name='L286'></a><a href='#L286'>286</a>
352
+ <a name='L287'></a><a href='#L287'>287</a>
353
+ <a name='L288'></a><a href='#L288'>288</a>
354
+ <a name='L289'></a><a href='#L289'>289</a>
355
+ <a name='L290'></a><a href='#L290'>290</a>
356
+ <a name='L291'></a><a href='#L291'>291</a>
357
+ <a name='L292'></a><a href='#L292'>292</a>
358
+ <a name='L293'></a><a href='#L293'>293</a>
359
+ <a name='L294'></a><a href='#L294'>294</a>
360
+ <a name='L295'></a><a href='#L295'>295</a>
361
+ <a name='L296'></a><a href='#L296'>296</a>
362
+ <a name='L297'></a><a href='#L297'>297</a>
363
+ <a name='L298'></a><a href='#L298'>298</a>
364
+ <a name='L299'></a><a href='#L299'>299</a>
365
+ <a name='L300'></a><a href='#L300'>300</a>
366
+ <a name='L301'></a><a href='#L301'>301</a>
367
+ <a name='L302'></a><a href='#L302'>302</a>
368
+ <a name='L303'></a><a href='#L303'>303</a>
369
+ <a name='L304'></a><a href='#L304'>304</a>
370
+ <a name='L305'></a><a href='#L305'>305</a>
371
+ <a name='L306'></a><a href='#L306'>306</a>
372
+ <a name='L307'></a><a href='#L307'>307</a>
373
+ <a name='L308'></a><a href='#L308'>308</a>
374
+ <a name='L309'></a><a href='#L309'>309</a>
375
+ <a name='L310'></a><a href='#L310'>310</a>
376
+ <a name='L311'></a><a href='#L311'>311</a>
377
+ <a name='L312'></a><a href='#L312'>312</a>
378
+ <a name='L313'></a><a href='#L313'>313</a>
379
+ <a name='L314'></a><a href='#L314'>314</a>
380
+ <a name='L315'></a><a href='#L315'>315</a>
381
+ <a name='L316'></a><a href='#L316'>316</a>
382
+ <a name='L317'></a><a href='#L317'>317</a>
383
+ <a name='L318'></a><a href='#L318'>318</a>
384
+ <a name='L319'></a><a href='#L319'>319</a>
385
+ <a name='L320'></a><a href='#L320'>320</a>
386
+ <a name='L321'></a><a href='#L321'>321</a>
387
+ <a name='L322'></a><a href='#L322'>322</a>
388
+ <a name='L323'></a><a href='#L323'>323</a>
389
+ <a name='L324'></a><a href='#L324'>324</a>
390
+ <a name='L325'></a><a href='#L325'>325</a>
391
+ <a name='L326'></a><a href='#L326'>326</a>
392
+ <a name='L327'></a><a href='#L327'>327</a>
393
+ <a name='L328'></a><a href='#L328'>328</a>
394
+ <a name='L329'></a><a href='#L329'>329</a>
395
+ <a name='L330'></a><a href='#L330'>330</a>
396
+ <a name='L331'></a><a href='#L331'>331</a>
397
+ <a name='L332'></a><a href='#L332'>332</a>
398
+ <a name='L333'></a><a href='#L333'>333</a>
399
+ <a name='L334'></a><a href='#L334'>334</a>
400
+ <a name='L335'></a><a href='#L335'>335</a>
401
+ <a name='L336'></a><a href='#L336'>336</a>
402
+ <a name='L337'></a><a href='#L337'>337</a>
403
+ <a name='L338'></a><a href='#L338'>338</a>
404
+ <a name='L339'></a><a href='#L339'>339</a>
405
+ <a name='L340'></a><a href='#L340'>340</a>
406
+ <a name='L341'></a><a href='#L341'>341</a>
407
+ <a name='L342'></a><a href='#L342'>342</a>
408
+ <a name='L343'></a><a href='#L343'>343</a>
409
+ <a name='L344'></a><a href='#L344'>344</a>
410
+ <a name='L345'></a><a href='#L345'>345</a>
411
+ <a name='L346'></a><a href='#L346'>346</a>
412
+ <a name='L347'></a><a href='#L347'>347</a>
413
+ <a name='L348'></a><a href='#L348'>348</a>
414
+ <a name='L349'></a><a href='#L349'>349</a>
415
+ <a name='L350'></a><a href='#L350'>350</a>
416
+ <a name='L351'></a><a href='#L351'>351</a>
417
+ <a name='L352'></a><a href='#L352'>352</a>
418
+ <a name='L353'></a><a href='#L353'>353</a>
419
+ <a name='L354'></a><a href='#L354'>354</a>
420
+ <a name='L355'></a><a href='#L355'>355</a>
421
+ <a name='L356'></a><a href='#L356'>356</a>
422
+ <a name='L357'></a><a href='#L357'>357</a>
423
+ <a name='L358'></a><a href='#L358'>358</a>
424
+ <a name='L359'></a><a href='#L359'>359</a>
425
+ <a name='L360'></a><a href='#L360'>360</a>
426
+ <a name='L361'></a><a href='#L361'>361</a>
427
+ <a name='L362'></a><a href='#L362'>362</a>
428
+ <a name='L363'></a><a href='#L363'>363</a>
429
+ <a name='L364'></a><a href='#L364'>364</a>
430
+ <a name='L365'></a><a href='#L365'>365</a>
431
+ <a name='L366'></a><a href='#L366'>366</a>
432
+ <a name='L367'></a><a href='#L367'>367</a>
433
+ <a name='L368'></a><a href='#L368'>368</a>
434
+ <a name='L369'></a><a href='#L369'>369</a>
435
+ <a name='L370'></a><a href='#L370'>370</a>
436
+ <a name='L371'></a><a href='#L371'>371</a>
437
+ <a name='L372'></a><a href='#L372'>372</a>
438
+ <a name='L373'></a><a href='#L373'>373</a>
439
+ <a name='L374'></a><a href='#L374'>374</a>
440
+ <a name='L375'></a><a href='#L375'>375</a>
441
+ <a name='L376'></a><a href='#L376'>376</a>
442
+ <a name='L377'></a><a href='#L377'>377</a>
443
+ <a name='L378'></a><a href='#L378'>378</a>
444
+ <a name='L379'></a><a href='#L379'>379</a>
445
+ <a name='L380'></a><a href='#L380'>380</a>
446
+ <a name='L381'></a><a href='#L381'>381</a>
447
+ <a name='L382'></a><a href='#L382'>382</a>
448
+ <a name='L383'></a><a href='#L383'>383</a>
449
+ <a name='L384'></a><a href='#L384'>384</a>
450
+ <a name='L385'></a><a href='#L385'>385</a>
451
+ <a name='L386'></a><a href='#L386'>386</a>
452
+ <a name='L387'></a><a href='#L387'>387</a>
453
+ <a name='L388'></a><a href='#L388'>388</a>
454
+ <a name='L389'></a><a href='#L389'>389</a>
455
+ <a name='L390'></a><a href='#L390'>390</a>
456
+ <a name='L391'></a><a href='#L391'>391</a>
457
+ <a name='L392'></a><a href='#L392'>392</a>
458
+ <a name='L393'></a><a href='#L393'>393</a>
459
+ <a name='L394'></a><a href='#L394'>394</a>
460
+ <a name='L395'></a><a href='#L395'>395</a>
461
+ <a name='L396'></a><a href='#L396'>396</a>
462
+ <a name='L397'></a><a href='#L397'>397</a>
463
+ <a name='L398'></a><a href='#L398'>398</a>
464
+ <a name='L399'></a><a href='#L399'>399</a>
465
+ <a name='L400'></a><a href='#L400'>400</a>
466
+ <a name='L401'></a><a href='#L401'>401</a>
467
+ <a name='L402'></a><a href='#L402'>402</a>
468
+ <a name='L403'></a><a href='#L403'>403</a>
469
+ <a name='L404'></a><a href='#L404'>404</a>
470
+ <a name='L405'></a><a href='#L405'>405</a>
471
+ <a name='L406'></a><a href='#L406'>406</a>
472
+ <a name='L407'></a><a href='#L407'>407</a>
473
+ <a name='L408'></a><a href='#L408'>408</a>
474
+ <a name='L409'></a><a href='#L409'>409</a>
475
+ <a name='L410'></a><a href='#L410'>410</a>
476
+ <a name='L411'></a><a href='#L411'>411</a>
477
+ <a name='L412'></a><a href='#L412'>412</a>
478
+ <a name='L413'></a><a href='#L413'>413</a>
479
+ <a name='L414'></a><a href='#L414'>414</a>
480
+ <a name='L415'></a><a href='#L415'>415</a>
481
+ <a name='L416'></a><a href='#L416'>416</a>
482
+ <a name='L417'></a><a href='#L417'>417</a>
483
+ <a name='L418'></a><a href='#L418'>418</a>
484
+ <a name='L419'></a><a href='#L419'>419</a>
485
+ <a name='L420'></a><a href='#L420'>420</a>
486
+ <a name='L421'></a><a href='#L421'>421</a>
487
+ <a name='L422'></a><a href='#L422'>422</a>
488
+ <a name='L423'></a><a href='#L423'>423</a>
489
+ <a name='L424'></a><a href='#L424'>424</a>
490
+ <a name='L425'></a><a href='#L425'>425</a>
491
+ <a name='L426'></a><a href='#L426'>426</a>
492
+ <a name='L427'></a><a href='#L427'>427</a>
493
+ <a name='L428'></a><a href='#L428'>428</a>
494
+ <a name='L429'></a><a href='#L429'>429</a>
495
+ <a name='L430'></a><a href='#L430'>430</a>
496
+ <a name='L431'></a><a href='#L431'>431</a>
497
+ <a name='L432'></a><a href='#L432'>432</a>
498
+ <a name='L433'></a><a href='#L433'>433</a>
499
+ <a name='L434'></a><a href='#L434'>434</a>
500
+ <a name='L435'></a><a href='#L435'>435</a>
501
+ <a name='L436'></a><a href='#L436'>436</a>
502
+ <a name='L437'></a><a href='#L437'>437</a>
503
+ <a name='L438'></a><a href='#L438'>438</a>
504
+ <a name='L439'></a><a href='#L439'>439</a>
505
+ <a name='L440'></a><a href='#L440'>440</a>
506
+ <a name='L441'></a><a href='#L441'>441</a>
507
+ <a name='L442'></a><a href='#L442'>442</a>
508
+ <a name='L443'></a><a href='#L443'>443</a>
509
+ <a name='L444'></a><a href='#L444'>444</a>
510
+ <a name='L445'></a><a href='#L445'>445</a>
511
+ <a name='L446'></a><a href='#L446'>446</a>
512
+ <a name='L447'></a><a href='#L447'>447</a>
513
+ <a name='L448'></a><a href='#L448'>448</a>
514
+ <a name='L449'></a><a href='#L449'>449</a>
515
+ <a name='L450'></a><a href='#L450'>450</a>
516
+ <a name='L451'></a><a href='#L451'>451</a>
517
+ <a name='L452'></a><a href='#L452'>452</a>
518
+ <a name='L453'></a><a href='#L453'>453</a>
519
+ <a name='L454'></a><a href='#L454'>454</a>
520
+ <a name='L455'></a><a href='#L455'>455</a>
521
+ <a name='L456'></a><a href='#L456'>456</a>
522
+ <a name='L457'></a><a href='#L457'>457</a>
523
+ <a name='L458'></a><a href='#L458'>458</a>
524
+ <a name='L459'></a><a href='#L459'>459</a>
525
+ <a name='L460'></a><a href='#L460'>460</a>
526
+ <a name='L461'></a><a href='#L461'>461</a>
527
+ <a name='L462'></a><a href='#L462'>462</a>
528
+ <a name='L463'></a><a href='#L463'>463</a>
529
+ <a name='L464'></a><a href='#L464'>464</a>
530
+ <a name='L465'></a><a href='#L465'>465</a>
531
+ <a name='L466'></a><a href='#L466'>466</a>
532
+ <a name='L467'></a><a href='#L467'>467</a>
533
+ <a name='L468'></a><a href='#L468'>468</a>
534
+ <a name='L469'></a><a href='#L469'>469</a>
535
+ <a name='L470'></a><a href='#L470'>470</a>
536
+ <a name='L471'></a><a href='#L471'>471</a>
537
+ <a name='L472'></a><a href='#L472'>472</a>
538
+ <a name='L473'></a><a href='#L473'>473</a>
539
+ <a name='L474'></a><a href='#L474'>474</a>
540
+ <a name='L475'></a><a href='#L475'>475</a>
541
+ <a name='L476'></a><a href='#L476'>476</a>
542
+ <a name='L477'></a><a href='#L477'>477</a>
543
+ <a name='L478'></a><a href='#L478'>478</a>
544
+ <a name='L479'></a><a href='#L479'>479</a>
545
+ <a name='L480'></a><a href='#L480'>480</a>
546
+ <a name='L481'></a><a href='#L481'>481</a>
547
+ <a name='L482'></a><a href='#L482'>482</a>
548
+ <a name='L483'></a><a href='#L483'>483</a>
549
+ <a name='L484'></a><a href='#L484'>484</a>
550
+ <a name='L485'></a><a href='#L485'>485</a>
551
+ <a name='L486'></a><a href='#L486'>486</a>
552
+ <a name='L487'></a><a href='#L487'>487</a>
553
+ <a name='L488'></a><a href='#L488'>488</a>
554
+ <a name='L489'></a><a href='#L489'>489</a>
555
+ <a name='L490'></a><a href='#L490'>490</a>
556
+ <a name='L491'></a><a href='#L491'>491</a>
557
+ <a name='L492'></a><a href='#L492'>492</a>
558
+ <a name='L493'></a><a href='#L493'>493</a>
559
+ <a name='L494'></a><a href='#L494'>494</a>
560
+ <a name='L495'></a><a href='#L495'>495</a>
561
+ <a name='L496'></a><a href='#L496'>496</a>
562
+ <a name='L497'></a><a href='#L497'>497</a>
563
+ <a name='L498'></a><a href='#L498'>498</a>
564
+ <a name='L499'></a><a href='#L499'>499</a>
565
+ <a name='L500'></a><a href='#L500'>500</a>
566
+ <a name='L501'></a><a href='#L501'>501</a>
567
+ <a name='L502'></a><a href='#L502'>502</a>
568
+ <a name='L503'></a><a href='#L503'>503</a>
569
+ <a name='L504'></a><a href='#L504'>504</a>
570
+ <a name='L505'></a><a href='#L505'>505</a>
571
+ <a name='L506'></a><a href='#L506'>506</a>
572
+ <a name='L507'></a><a href='#L507'>507</a>
573
+ <a name='L508'></a><a href='#L508'>508</a>
574
+ <a name='L509'></a><a href='#L509'>509</a>
575
+ <a name='L510'></a><a href='#L510'>510</a>
576
+ <a name='L511'></a><a href='#L511'>511</a>
577
+ <a name='L512'></a><a href='#L512'>512</a>
578
+ <a name='L513'></a><a href='#L513'>513</a>
579
+ <a name='L514'></a><a href='#L514'>514</a>
580
+ <a name='L515'></a><a href='#L515'>515</a>
581
+ <a name='L516'></a><a href='#L516'>516</a>
582
+ <a name='L517'></a><a href='#L517'>517</a>
583
+ <a name='L518'></a><a href='#L518'>518</a>
584
+ <a name='L519'></a><a href='#L519'>519</a>
585
+ <a name='L520'></a><a href='#L520'>520</a>
586
+ <a name='L521'></a><a href='#L521'>521</a>
587
+ <a name='L522'></a><a href='#L522'>522</a>
588
+ <a name='L523'></a><a href='#L523'>523</a>
589
+ <a name='L524'></a><a href='#L524'>524</a>
590
+ <a name='L525'></a><a href='#L525'>525</a>
591
+ <a name='L526'></a><a href='#L526'>526</a>
592
+ <a name='L527'></a><a href='#L527'>527</a>
593
+ <a name='L528'></a><a href='#L528'>528</a>
594
+ <a name='L529'></a><a href='#L529'>529</a>
595
+ <a name='L530'></a><a href='#L530'>530</a>
596
+ <a name='L531'></a><a href='#L531'>531</a>
597
+ <a name='L532'></a><a href='#L532'>532</a>
598
+ <a name='L533'></a><a href='#L533'>533</a>
599
+ <a name='L534'></a><a href='#L534'>534</a>
600
+ <a name='L535'></a><a href='#L535'>535</a>
601
+ <a name='L536'></a><a href='#L536'>536</a>
602
+ <a name='L537'></a><a href='#L537'>537</a>
603
+ <a name='L538'></a><a href='#L538'>538</a>
604
+ <a name='L539'></a><a href='#L539'>539</a>
605
+ <a name='L540'></a><a href='#L540'>540</a>
606
+ <a name='L541'></a><a href='#L541'>541</a>
607
+ <a name='L542'></a><a href='#L542'>542</a>
608
+ <a name='L543'></a><a href='#L543'>543</a>
609
+ <a name='L544'></a><a href='#L544'>544</a>
610
+ <a name='L545'></a><a href='#L545'>545</a>
611
+ <a name='L546'></a><a href='#L546'>546</a>
612
+ <a name='L547'></a><a href='#L547'>547</a>
613
+ <a name='L548'></a><a href='#L548'>548</a>
614
+ <a name='L549'></a><a href='#L549'>549</a>
615
+ <a name='L550'></a><a href='#L550'>550</a>
616
+ <a name='L551'></a><a href='#L551'>551</a>
617
+ <a name='L552'></a><a href='#L552'>552</a>
618
+ <a name='L553'></a><a href='#L553'>553</a>
619
+ <a name='L554'></a><a href='#L554'>554</a>
620
+ <a name='L555'></a><a href='#L555'>555</a>
621
+ <a name='L556'></a><a href='#L556'>556</a>
622
+ <a name='L557'></a><a href='#L557'>557</a>
623
+ <a name='L558'></a><a href='#L558'>558</a>
624
+ <a name='L559'></a><a href='#L559'>559</a>
625
+ <a name='L560'></a><a href='#L560'>560</a>
626
+ <a name='L561'></a><a href='#L561'>561</a>
627
+ <a name='L562'></a><a href='#L562'>562</a>
628
+ <a name='L563'></a><a href='#L563'>563</a>
629
+ <a name='L564'></a><a href='#L564'>564</a>
630
+ <a name='L565'></a><a href='#L565'>565</a>
631
+ <a name='L566'></a><a href='#L566'>566</a>
632
+ <a name='L567'></a><a href='#L567'>567</a>
633
+ <a name='L568'></a><a href='#L568'>568</a>
634
+ <a name='L569'></a><a href='#L569'>569</a>
635
+ <a name='L570'></a><a href='#L570'>570</a>
636
+ <a name='L571'></a><a href='#L571'>571</a>
637
+ <a name='L572'></a><a href='#L572'>572</a>
638
+ <a name='L573'></a><a href='#L573'>573</a>
639
+ <a name='L574'></a><a href='#L574'>574</a>
640
+ <a name='L575'></a><a href='#L575'>575</a>
641
+ <a name='L576'></a><a href='#L576'>576</a>
642
+ <a name='L577'></a><a href='#L577'>577</a>
643
+ <a name='L578'></a><a href='#L578'>578</a>
644
+ <a name='L579'></a><a href='#L579'>579</a>
645
+ <a name='L580'></a><a href='#L580'>580</a>
646
+ <a name='L581'></a><a href='#L581'>581</a>
647
+ <a name='L582'></a><a href='#L582'>582</a>
648
+ <a name='L583'></a><a href='#L583'>583</a>
649
+ <a name='L584'></a><a href='#L584'>584</a>
650
+ <a name='L585'></a><a href='#L585'>585</a>
651
+ <a name='L586'></a><a href='#L586'>586</a>
652
+ <a name='L587'></a><a href='#L587'>587</a>
653
+ <a name='L588'></a><a href='#L588'>588</a>
654
+ <a name='L589'></a><a href='#L589'>589</a>
655
+ <a name='L590'></a><a href='#L590'>590</a>
656
+ <a name='L591'></a><a href='#L591'>591</a>
657
+ <a name='L592'></a><a href='#L592'>592</a>
658
+ <a name='L593'></a><a href='#L593'>593</a>
659
+ <a name='L594'></a><a href='#L594'>594</a>
660
+ <a name='L595'></a><a href='#L595'>595</a>
661
+ <a name='L596'></a><a href='#L596'>596</a>
662
+ <a name='L597'></a><a href='#L597'>597</a>
663
+ <a name='L598'></a><a href='#L598'>598</a>
664
+ <a name='L599'></a><a href='#L599'>599</a>
665
+ <a name='L600'></a><a href='#L600'>600</a>
666
+ <a name='L601'></a><a href='#L601'>601</a>
667
+ <a name='L602'></a><a href='#L602'>602</a>
668
+ <a name='L603'></a><a href='#L603'>603</a>
669
+ <a name='L604'></a><a href='#L604'>604</a>
670
+ <a name='L605'></a><a href='#L605'>605</a>
671
+ <a name='L606'></a><a href='#L606'>606</a>
672
+ <a name='L607'></a><a href='#L607'>607</a>
673
+ <a name='L608'></a><a href='#L608'>608</a>
674
+ <a name='L609'></a><a href='#L609'>609</a>
675
+ <a name='L610'></a><a href='#L610'>610</a>
676
+ <a name='L611'></a><a href='#L611'>611</a>
677
+ <a name='L612'></a><a href='#L612'>612</a>
678
+ <a name='L613'></a><a href='#L613'>613</a>
679
+ <a name='L614'></a><a href='#L614'>614</a>
680
+ <a name='L615'></a><a href='#L615'>615</a>
681
+ <a name='L616'></a><a href='#L616'>616</a>
682
+ <a name='L617'></a><a href='#L617'>617</a>
683
+ <a name='L618'></a><a href='#L618'>618</a>
684
+ <a name='L619'></a><a href='#L619'>619</a>
685
+ <a name='L620'></a><a href='#L620'>620</a>
686
+ <a name='L621'></a><a href='#L621'>621</a>
687
+ <a name='L622'></a><a href='#L622'>622</a>
688
+ <a name='L623'></a><a href='#L623'>623</a>
689
+ <a name='L624'></a><a href='#L624'>624</a>
690
+ <a name='L625'></a><a href='#L625'>625</a>
691
+ <a name='L626'></a><a href='#L626'>626</a>
692
+ <a name='L627'></a><a href='#L627'>627</a>
693
+ <a name='L628'></a><a href='#L628'>628</a>
694
+ <a name='L629'></a><a href='#L629'>629</a>
695
+ <a name='L630'></a><a href='#L630'>630</a>
696
+ <a name='L631'></a><a href='#L631'>631</a>
697
+ <a name='L632'></a><a href='#L632'>632</a>
698
+ <a name='L633'></a><a href='#L633'>633</a>
699
+ <a name='L634'></a><a href='#L634'>634</a>
700
+ <a name='L635'></a><a href='#L635'>635</a>
701
+ <a name='L636'></a><a href='#L636'>636</a>
702
+ <a name='L637'></a><a href='#L637'>637</a>
703
+ <a name='L638'></a><a href='#L638'>638</a>
704
+ <a name='L639'></a><a href='#L639'>639</a>
705
+ <a name='L640'></a><a href='#L640'>640</a>
706
+ <a name='L641'></a><a href='#L641'>641</a>
707
+ <a name='L642'></a><a href='#L642'>642</a>
708
+ <a name='L643'></a><a href='#L643'>643</a>
709
+ <a name='L644'></a><a href='#L644'>644</a>
710
+ <a name='L645'></a><a href='#L645'>645</a>
711
+ <a name='L646'></a><a href='#L646'>646</a>
712
+ <a name='L647'></a><a href='#L647'>647</a>
713
+ <a name='L648'></a><a href='#L648'>648</a>
714
+ <a name='L649'></a><a href='#L649'>649</a>
715
+ <a name='L650'></a><a href='#L650'>650</a>
716
+ <a name='L651'></a><a href='#L651'>651</a>
717
+ <a name='L652'></a><a href='#L652'>652</a>
718
+ <a name='L653'></a><a href='#L653'>653</a>
719
+ <a name='L654'></a><a href='#L654'>654</a>
720
+ <a name='L655'></a><a href='#L655'>655</a>
721
+ <a name='L656'></a><a href='#L656'>656</a>
722
+ <a name='L657'></a><a href='#L657'>657</a>
723
+ <a name='L658'></a><a href='#L658'>658</a>
724
+ <a name='L659'></a><a href='#L659'>659</a>
725
+ <a name='L660'></a><a href='#L660'>660</a>
726
+ <a name='L661'></a><a href='#L661'>661</a>
727
+ <a name='L662'></a><a href='#L662'>662</a>
728
+ <a name='L663'></a><a href='#L663'>663</a>
729
+ <a name='L664'></a><a href='#L664'>664</a>
730
+ <a name='L665'></a><a href='#L665'>665</a>
731
+ <a name='L666'></a><a href='#L666'>666</a>
732
+ <a name='L667'></a><a href='#L667'>667</a>
733
+ <a name='L668'></a><a href='#L668'>668</a>
734
+ <a name='L669'></a><a href='#L669'>669</a>
735
+ <a name='L670'></a><a href='#L670'>670</a>
736
+ <a name='L671'></a><a href='#L671'>671</a>
737
+ <a name='L672'></a><a href='#L672'>672</a>
738
+ <a name='L673'></a><a href='#L673'>673</a>
739
+ <a name='L674'></a><a href='#L674'>674</a>
740
+ <a name='L675'></a><a href='#L675'>675</a>
741
+ <a name='L676'></a><a href='#L676'>676</a>
742
+ <a name='L677'></a><a href='#L677'>677</a>
743
+ <a name='L678'></a><a href='#L678'>678</a>
744
+ <a name='L679'></a><a href='#L679'>679</a>
745
+ <a name='L680'></a><a href='#L680'>680</a>
746
+ <a name='L681'></a><a href='#L681'>681</a>
747
+ <a name='L682'></a><a href='#L682'>682</a>
748
+ <a name='L683'></a><a href='#L683'>683</a>
749
+ <a name='L684'></a><a href='#L684'>684</a>
750
+ <a name='L685'></a><a href='#L685'>685</a>
751
+ <a name='L686'></a><a href='#L686'>686</a>
752
+ <a name='L687'></a><a href='#L687'>687</a>
753
+ <a name='L688'></a><a href='#L688'>688</a>
754
+ <a name='L689'></a><a href='#L689'>689</a>
755
+ <a name='L690'></a><a href='#L690'>690</a>
756
+ <a name='L691'></a><a href='#L691'>691</a>
757
+ <a name='L692'></a><a href='#L692'>692</a>
758
+ <a name='L693'></a><a href='#L693'>693</a>
759
+ <a name='L694'></a><a href='#L694'>694</a>
760
+ <a name='L695'></a><a href='#L695'>695</a>
761
+ <a name='L696'></a><a href='#L696'>696</a>
762
+ <a name='L697'></a><a href='#L697'>697</a>
763
+ <a name='L698'></a><a href='#L698'>698</a>
764
+ <a name='L699'></a><a href='#L699'>699</a>
765
+ <a name='L700'></a><a href='#L700'>700</a>
766
+ <a name='L701'></a><a href='#L701'>701</a>
767
+ <a name='L702'></a><a href='#L702'>702</a>
768
+ <a name='L703'></a><a href='#L703'>703</a>
769
+ <a name='L704'></a><a href='#L704'>704</a>
770
+ <a name='L705'></a><a href='#L705'>705</a>
771
+ <a name='L706'></a><a href='#L706'>706</a>
772
+ <a name='L707'></a><a href='#L707'>707</a>
773
+ <a name='L708'></a><a href='#L708'>708</a>
774
+ <a name='L709'></a><a href='#L709'>709</a>
775
+ <a name='L710'></a><a href='#L710'>710</a>
776
+ <a name='L711'></a><a href='#L711'>711</a>
777
+ <a name='L712'></a><a href='#L712'>712</a>
778
+ <a name='L713'></a><a href='#L713'>713</a>
779
+ <a name='L714'></a><a href='#L714'>714</a>
780
+ <a name='L715'></a><a href='#L715'>715</a>
781
+ <a name='L716'></a><a href='#L716'>716</a>
782
+ <a name='L717'></a><a href='#L717'>717</a>
783
+ <a name='L718'></a><a href='#L718'>718</a>
784
+ <a name='L719'></a><a href='#L719'>719</a>
785
+ <a name='L720'></a><a href='#L720'>720</a>
786
+ <a name='L721'></a><a href='#L721'>721</a>
787
+ <a name='L722'></a><a href='#L722'>722</a>
788
+ <a name='L723'></a><a href='#L723'>723</a>
789
+ <a name='L724'></a><a href='#L724'>724</a>
790
+ <a name='L725'></a><a href='#L725'>725</a>
791
+ <a name='L726'></a><a href='#L726'>726</a>
792
+ <a name='L727'></a><a href='#L727'>727</a>
793
+ <a name='L728'></a><a href='#L728'>728</a>
794
+ <a name='L729'></a><a href='#L729'>729</a>
795
+ <a name='L730'></a><a href='#L730'>730</a>
796
+ <a name='L731'></a><a href='#L731'>731</a>
797
+ <a name='L732'></a><a href='#L732'>732</a>
798
+ <a name='L733'></a><a href='#L733'>733</a>
799
+ <a name='L734'></a><a href='#L734'>734</a>
800
+ <a name='L735'></a><a href='#L735'>735</a>
801
+ <a name='L736'></a><a href='#L736'>736</a>
802
+ <a name='L737'></a><a href='#L737'>737</a>
803
+ <a name='L738'></a><a href='#L738'>738</a>
804
+ <a name='L739'></a><a href='#L739'>739</a>
805
+ <a name='L740'></a><a href='#L740'>740</a>
806
+ <a name='L741'></a><a href='#L741'>741</a>
807
+ <a name='L742'></a><a href='#L742'>742</a>
808
+ <a name='L743'></a><a href='#L743'>743</a>
809
+ <a name='L744'></a><a href='#L744'>744</a>
810
+ <a name='L745'></a><a href='#L745'>745</a>
811
+ <a name='L746'></a><a href='#L746'>746</a>
812
+ <a name='L747'></a><a href='#L747'>747</a>
813
+ <a name='L748'></a><a href='#L748'>748</a>
814
+ <a name='L749'></a><a href='#L749'>749</a>
815
+ <a name='L750'></a><a href='#L750'>750</a>
816
+ <a name='L751'></a><a href='#L751'>751</a>
817
+ <a name='L752'></a><a href='#L752'>752</a>
818
+ <a name='L753'></a><a href='#L753'>753</a>
819
+ <a name='L754'></a><a href='#L754'>754</a>
820
+ <a name='L755'></a><a href='#L755'>755</a>
821
+ <a name='L756'></a><a href='#L756'>756</a>
822
+ <a name='L757'></a><a href='#L757'>757</a>
823
+ <a name='L758'></a><a href='#L758'>758</a>
824
+ <a name='L759'></a><a href='#L759'>759</a>
825
+ <a name='L760'></a><a href='#L760'>760</a>
826
+ <a name='L761'></a><a href='#L761'>761</a>
827
+ <a name='L762'></a><a href='#L762'>762</a>
828
+ <a name='L763'></a><a href='#L763'>763</a>
829
+ <a name='L764'></a><a href='#L764'>764</a>
830
+ <a name='L765'></a><a href='#L765'>765</a>
831
+ <a name='L766'></a><a href='#L766'>766</a>
832
+ <a name='L767'></a><a href='#L767'>767</a>
833
+ <a name='L768'></a><a href='#L768'>768</a>
834
+ <a name='L769'></a><a href='#L769'>769</a>
835
+ <a name='L770'></a><a href='#L770'>770</a>
836
+ <a name='L771'></a><a href='#L771'>771</a>
837
+ <a name='L772'></a><a href='#L772'>772</a>
838
+ <a name='L773'></a><a href='#L773'>773</a>
839
+ <a name='L774'></a><a href='#L774'>774</a>
840
+ <a name='L775'></a><a href='#L775'>775</a>
841
+ <a name='L776'></a><a href='#L776'>776</a>
842
+ <a name='L777'></a><a href='#L777'>777</a>
843
+ <a name='L778'></a><a href='#L778'>778</a>
844
+ <a name='L779'></a><a href='#L779'>779</a>
845
+ <a name='L780'></a><a href='#L780'>780</a>
846
+ <a name='L781'></a><a href='#L781'>781</a>
847
+ <a name='L782'></a><a href='#L782'>782</a>
848
+ <a name='L783'></a><a href='#L783'>783</a>
849
+ <a name='L784'></a><a href='#L784'>784</a>
850
+ <a name='L785'></a><a href='#L785'>785</a>
851
+ <a name='L786'></a><a href='#L786'>786</a>
852
+ <a name='L787'></a><a href='#L787'>787</a>
853
+ <a name='L788'></a><a href='#L788'>788</a>
854
+ <a name='L789'></a><a href='#L789'>789</a>
855
+ <a name='L790'></a><a href='#L790'>790</a>
856
+ <a name='L791'></a><a href='#L791'>791</a>
857
+ <a name='L792'></a><a href='#L792'>792</a>
858
+ <a name='L793'></a><a href='#L793'>793</a>
859
+ <a name='L794'></a><a href='#L794'>794</a>
860
+ <a name='L795'></a><a href='#L795'>795</a>
861
+ <a name='L796'></a><a href='#L796'>796</a>
862
+ <a name='L797'></a><a href='#L797'>797</a>
863
+ <a name='L798'></a><a href='#L798'>798</a>
864
+ <a name='L799'></a><a href='#L799'>799</a>
865
+ <a name='L800'></a><a href='#L800'>800</a>
866
+ <a name='L801'></a><a href='#L801'>801</a>
867
+ <a name='L802'></a><a href='#L802'>802</a>
868
+ <a name='L803'></a><a href='#L803'>803</a>
869
+ <a name='L804'></a><a href='#L804'>804</a>
870
+ <a name='L805'></a><a href='#L805'>805</a>
871
+ <a name='L806'></a><a href='#L806'>806</a>
872
+ <a name='L807'></a><a href='#L807'>807</a>
873
+ <a name='L808'></a><a href='#L808'>808</a>
874
+ <a name='L809'></a><a href='#L809'>809</a>
875
+ <a name='L810'></a><a href='#L810'>810</a>
876
+ <a name='L811'></a><a href='#L811'>811</a>
877
+ <a name='L812'></a><a href='#L812'>812</a>
878
+ <a name='L813'></a><a href='#L813'>813</a>
879
+ <a name='L814'></a><a href='#L814'>814</a>
880
+ <a name='L815'></a><a href='#L815'>815</a>
881
+ <a name='L816'></a><a href='#L816'>816</a>
882
+ <a name='L817'></a><a href='#L817'>817</a>
883
+ <a name='L818'></a><a href='#L818'>818</a>
884
+ <a name='L819'></a><a href='#L819'>819</a>
885
+ <a name='L820'></a><a href='#L820'>820</a>
886
+ <a name='L821'></a><a href='#L821'>821</a>
887
+ <a name='L822'></a><a href='#L822'>822</a>
888
+ <a name='L823'></a><a href='#L823'>823</a>
889
+ <a name='L824'></a><a href='#L824'>824</a>
890
+ <a name='L825'></a><a href='#L825'>825</a>
891
+ <a name='L826'></a><a href='#L826'>826</a>
892
+ <a name='L827'></a><a href='#L827'>827</a>
893
+ <a name='L828'></a><a href='#L828'>828</a>
894
+ <a name='L829'></a><a href='#L829'>829</a>
895
+ <a name='L830'></a><a href='#L830'>830</a>
896
+ <a name='L831'></a><a href='#L831'>831</a>
897
+ <a name='L832'></a><a href='#L832'>832</a>
898
+ <a name='L833'></a><a href='#L833'>833</a>
899
+ <a name='L834'></a><a href='#L834'>834</a>
900
+ <a name='L835'></a><a href='#L835'>835</a>
901
+ <a name='L836'></a><a href='#L836'>836</a>
902
+ <a name='L837'></a><a href='#L837'>837</a>
903
+ <a name='L838'></a><a href='#L838'>838</a>
904
+ <a name='L839'></a><a href='#L839'>839</a>
905
+ <a name='L840'></a><a href='#L840'>840</a>
906
+ <a name='L841'></a><a href='#L841'>841</a>
907
+ <a name='L842'></a><a href='#L842'>842</a>
908
+ <a name='L843'></a><a href='#L843'>843</a>
909
+ <a name='L844'></a><a href='#L844'>844</a>
910
+ <a name='L845'></a><a href='#L845'>845</a>
911
+ <a name='L846'></a><a href='#L846'>846</a>
912
+ <a name='L847'></a><a href='#L847'>847</a>
913
+ <a name='L848'></a><a href='#L848'>848</a>
914
+ <a name='L849'></a><a href='#L849'>849</a>
915
+ <a name='L850'></a><a href='#L850'>850</a>
916
+ <a name='L851'></a><a href='#L851'>851</a>
917
+ <a name='L852'></a><a href='#L852'>852</a>
918
+ <a name='L853'></a><a href='#L853'>853</a>
919
+ <a name='L854'></a><a href='#L854'>854</a>
920
+ <a name='L855'></a><a href='#L855'>855</a>
921
+ <a name='L856'></a><a href='#L856'>856</a>
922
+ <a name='L857'></a><a href='#L857'>857</a>
923
+ <a name='L858'></a><a href='#L858'>858</a>
924
+ <a name='L859'></a><a href='#L859'>859</a>
925
+ <a name='L860'></a><a href='#L860'>860</a>
926
+ <a name='L861'></a><a href='#L861'>861</a>
927
+ <a name='L862'></a><a href='#L862'>862</a>
928
+ <a name='L863'></a><a href='#L863'>863</a>
929
+ <a name='L864'></a><a href='#L864'>864</a>
930
+ <a name='L865'></a><a href='#L865'>865</a>
931
+ <a name='L866'></a><a href='#L866'>866</a>
932
+ <a name='L867'></a><a href='#L867'>867</a>
933
+ <a name='L868'></a><a href='#L868'>868</a>
934
+ <a name='L869'></a><a href='#L869'>869</a>
935
+ <a name='L870'></a><a href='#L870'>870</a>
936
+ <a name='L871'></a><a href='#L871'>871</a>
937
+ <a name='L872'></a><a href='#L872'>872</a>
938
+ <a name='L873'></a><a href='#L873'>873</a>
939
+ <a name='L874'></a><a href='#L874'>874</a>
940
+ <a name='L875'></a><a href='#L875'>875</a>
941
+ <a name='L876'></a><a href='#L876'>876</a>
942
+ <a name='L877'></a><a href='#L877'>877</a>
943
+ <a name='L878'></a><a href='#L878'>878</a>
944
+ <a name='L879'></a><a href='#L879'>879</a>
945
+ <a name='L880'></a><a href='#L880'>880</a>
946
+ <a name='L881'></a><a href='#L881'>881</a>
947
+ <a name='L882'></a><a href='#L882'>882</a>
948
+ <a name='L883'></a><a href='#L883'>883</a>
949
+ <a name='L884'></a><a href='#L884'>884</a>
950
+ <a name='L885'></a><a href='#L885'>885</a>
951
+ <a name='L886'></a><a href='#L886'>886</a>
952
+ <a name='L887'></a><a href='#L887'>887</a>
953
+ <a name='L888'></a><a href='#L888'>888</a>
954
+ <a name='L889'></a><a href='#L889'>889</a>
955
+ <a name='L890'></a><a href='#L890'>890</a>
956
+ <a name='L891'></a><a href='#L891'>891</a>
957
+ <a name='L892'></a><a href='#L892'>892</a>
958
+ <a name='L893'></a><a href='#L893'>893</a>
959
+ <a name='L894'></a><a href='#L894'>894</a>
960
+ <a name='L895'></a><a href='#L895'>895</a>
961
+ <a name='L896'></a><a href='#L896'>896</a>
962
+ <a name='L897'></a><a href='#L897'>897</a>
963
+ <a name='L898'></a><a href='#L898'>898</a>
964
+ <a name='L899'></a><a href='#L899'>899</a>
965
+ <a name='L900'></a><a href='#L900'>900</a>
966
+ <a name='L901'></a><a href='#L901'>901</a>
967
+ <a name='L902'></a><a href='#L902'>902</a>
968
+ <a name='L903'></a><a href='#L903'>903</a>
969
+ <a name='L904'></a><a href='#L904'>904</a>
970
+ <a name='L905'></a><a href='#L905'>905</a>
971
+ <a name='L906'></a><a href='#L906'>906</a>
972
+ <a name='L907'></a><a href='#L907'>907</a>
973
+ <a name='L908'></a><a href='#L908'>908</a>
974
+ <a name='L909'></a><a href='#L909'>909</a>
975
+ <a name='L910'></a><a href='#L910'>910</a>
976
+ <a name='L911'></a><a href='#L911'>911</a>
977
+ <a name='L912'></a><a href='#L912'>912</a>
978
+ <a name='L913'></a><a href='#L913'>913</a>
979
+ <a name='L914'></a><a href='#L914'>914</a>
980
+ <a name='L915'></a><a href='#L915'>915</a>
981
+ <a name='L916'></a><a href='#L916'>916</a>
982
+ <a name='L917'></a><a href='#L917'>917</a>
983
+ <a name='L918'></a><a href='#L918'>918</a>
984
+ <a name='L919'></a><a href='#L919'>919</a>
985
+ <a name='L920'></a><a href='#L920'>920</a>
986
+ <a name='L921'></a><a href='#L921'>921</a>
987
+ <a name='L922'></a><a href='#L922'>922</a>
988
+ <a name='L923'></a><a href='#L923'>923</a>
989
+ <a name='L924'></a><a href='#L924'>924</a>
990
+ <a name='L925'></a><a href='#L925'>925</a>
991
+ <a name='L926'></a><a href='#L926'>926</a>
992
+ <a name='L927'></a><a href='#L927'>927</a>
993
+ <a name='L928'></a><a href='#L928'>928</a>
994
+ <a name='L929'></a><a href='#L929'>929</a>
995
+ <a name='L930'></a><a href='#L930'>930</a>
996
+ <a name='L931'></a><a href='#L931'>931</a>
997
+ <a name='L932'></a><a href='#L932'>932</a>
998
+ <a name='L933'></a><a href='#L933'>933</a>
999
+ <a name='L934'></a><a href='#L934'>934</a>
1000
+ <a name='L935'></a><a href='#L935'>935</a>
1001
+ <a name='L936'></a><a href='#L936'>936</a>
1002
+ <a name='L937'></a><a href='#L937'>937</a>
1003
+ <a name='L938'></a><a href='#L938'>938</a>
1004
+ <a name='L939'></a><a href='#L939'>939</a>
1005
+ <a name='L940'></a><a href='#L940'>940</a>
1006
+ <a name='L941'></a><a href='#L941'>941</a>
1007
+ <a name='L942'></a><a href='#L942'>942</a>
1008
+ <a name='L943'></a><a href='#L943'>943</a>
1009
+ <a name='L944'></a><a href='#L944'>944</a>
1010
+ <a name='L945'></a><a href='#L945'>945</a>
1011
+ <a name='L946'></a><a href='#L946'>946</a>
1012
+ <a name='L947'></a><a href='#L947'>947</a>
1013
+ <a name='L948'></a><a href='#L948'>948</a>
1014
+ <a name='L949'></a><a href='#L949'>949</a>
1015
+ <a name='L950'></a><a href='#L950'>950</a>
1016
+ <a name='L951'></a><a href='#L951'>951</a>
1017
+ <a name='L952'></a><a href='#L952'>952</a>
1018
+ <a name='L953'></a><a href='#L953'>953</a>
1019
+ <a name='L954'></a><a href='#L954'>954</a>
1020
+ <a name='L955'></a><a href='#L955'>955</a>
1021
+ <a name='L956'></a><a href='#L956'>956</a>
1022
+ <a name='L957'></a><a href='#L957'>957</a>
1023
+ <a name='L958'></a><a href='#L958'>958</a>
1024
+ <a name='L959'></a><a href='#L959'>959</a>
1025
+ <a name='L960'></a><a href='#L960'>960</a>
1026
+ <a name='L961'></a><a href='#L961'>961</a>
1027
+ <a name='L962'></a><a href='#L962'>962</a>
1028
+ <a name='L963'></a><a href='#L963'>963</a>
1029
+ <a name='L964'></a><a href='#L964'>964</a>
1030
+ <a name='L965'></a><a href='#L965'>965</a>
1031
+ <a name='L966'></a><a href='#L966'>966</a>
1032
+ <a name='L967'></a><a href='#L967'>967</a>
1033
+ <a name='L968'></a><a href='#L968'>968</a>
1034
+ <a name='L969'></a><a href='#L969'>969</a>
1035
+ <a name='L970'></a><a href='#L970'>970</a>
1036
+ <a name='L971'></a><a href='#L971'>971</a>
1037
+ <a name='L972'></a><a href='#L972'>972</a>
1038
+ <a name='L973'></a><a href='#L973'>973</a>
1039
+ <a name='L974'></a><a href='#L974'>974</a>
1040
+ <a name='L975'></a><a href='#L975'>975</a>
1041
+ <a name='L976'></a><a href='#L976'>976</a>
1042
+ <a name='L977'></a><a href='#L977'>977</a>
1043
+ <a name='L978'></a><a href='#L978'>978</a>
1044
+ <a name='L979'></a><a href='#L979'>979</a>
1045
+ <a name='L980'></a><a href='#L980'>980</a>
1046
+ <a name='L981'></a><a href='#L981'>981</a>
1047
+ <a name='L982'></a><a href='#L982'>982</a>
1048
+ <a name='L983'></a><a href='#L983'>983</a>
1049
+ <a name='L984'></a><a href='#L984'>984</a>
1050
+ <a name='L985'></a><a href='#L985'>985</a>
1051
+ <a name='L986'></a><a href='#L986'>986</a>
1052
+ <a name='L987'></a><a href='#L987'>987</a>
1053
+ <a name='L988'></a><a href='#L988'>988</a>
1054
+ <a name='L989'></a><a href='#L989'>989</a>
1055
+ <a name='L990'></a><a href='#L990'>990</a>
1056
+ <a name='L991'></a><a href='#L991'>991</a>
1057
+ <a name='L992'></a><a href='#L992'>992</a>
1058
+ <a name='L993'></a><a href='#L993'>993</a>
1059
+ <a name='L994'></a><a href='#L994'>994</a>
1060
+ <a name='L995'></a><a href='#L995'>995</a>
1061
+ <a name='L996'></a><a href='#L996'>996</a>
1062
+ <a name='L997'></a><a href='#L997'>997</a>
1063
+ <a name='L998'></a><a href='#L998'>998</a>
1064
+ <a name='L999'></a><a href='#L999'>999</a>
1065
+ <a name='L1000'></a><a href='#L1000'>1000</a>
1066
+ <a name='L1001'></a><a href='#L1001'>1001</a>
1067
+ <a name='L1002'></a><a href='#L1002'>1002</a>
1068
+ <a name='L1003'></a><a href='#L1003'>1003</a>
1069
+ <a name='L1004'></a><a href='#L1004'>1004</a>
1070
+ <a name='L1005'></a><a href='#L1005'>1005</a>
1071
+ <a name='L1006'></a><a href='#L1006'>1006</a>
1072
+ <a name='L1007'></a><a href='#L1007'>1007</a>
1073
+ <a name='L1008'></a><a href='#L1008'>1008</a>
1074
+ <a name='L1009'></a><a href='#L1009'>1009</a>
1075
+ <a name='L1010'></a><a href='#L1010'>1010</a>
1076
+ <a name='L1011'></a><a href='#L1011'>1011</a>
1077
+ <a name='L1012'></a><a href='#L1012'>1012</a>
1078
+ <a name='L1013'></a><a href='#L1013'>1013</a>
1079
+ <a name='L1014'></a><a href='#L1014'>1014</a>
1080
+ <a name='L1015'></a><a href='#L1015'>1015</a>
1081
+ <a name='L1016'></a><a href='#L1016'>1016</a>
1082
+ <a name='L1017'></a><a href='#L1017'>1017</a>
1083
+ <a name='L1018'></a><a href='#L1018'>1018</a>
1084
+ <a name='L1019'></a><a href='#L1019'>1019</a>
1085
+ <a name='L1020'></a><a href='#L1020'>1020</a>
1086
+ <a name='L1021'></a><a href='#L1021'>1021</a>
1087
+ <a name='L1022'></a><a href='#L1022'>1022</a>
1088
+ <a name='L1023'></a><a href='#L1023'>1023</a>
1089
+ <a name='L1024'></a><a href='#L1024'>1024</a>
1090
+ <a name='L1025'></a><a href='#L1025'>1025</a>
1091
+ <a name='L1026'></a><a href='#L1026'>1026</a>
1092
+ <a name='L1027'></a><a href='#L1027'>1027</a>
1093
+ <a name='L1028'></a><a href='#L1028'>1028</a>
1094
+ <a name='L1029'></a><a href='#L1029'>1029</a>
1095
+ <a name='L1030'></a><a href='#L1030'>1030</a>
1096
+ <a name='L1031'></a><a href='#L1031'>1031</a>
1097
+ <a name='L1032'></a><a href='#L1032'>1032</a>
1098
+ <a name='L1033'></a><a href='#L1033'>1033</a>
1099
+ <a name='L1034'></a><a href='#L1034'>1034</a>
1100
+ <a name='L1035'></a><a href='#L1035'>1035</a>
1101
+ <a name='L1036'></a><a href='#L1036'>1036</a>
1102
+ <a name='L1037'></a><a href='#L1037'>1037</a>
1103
+ <a name='L1038'></a><a href='#L1038'>1038</a>
1104
+ <a name='L1039'></a><a href='#L1039'>1039</a>
1105
+ <a name='L1040'></a><a href='#L1040'>1040</a>
1106
+ <a name='L1041'></a><a href='#L1041'>1041</a>
1107
+ <a name='L1042'></a><a href='#L1042'>1042</a>
1108
+ <a name='L1043'></a><a href='#L1043'>1043</a>
1109
+ <a name='L1044'></a><a href='#L1044'>1044</a>
1110
+ <a name='L1045'></a><a href='#L1045'>1045</a>
1111
+ <a name='L1046'></a><a href='#L1046'>1046</a>
1112
+ <a name='L1047'></a><a href='#L1047'>1047</a>
1113
+ <a name='L1048'></a><a href='#L1048'>1048</a>
1114
+ <a name='L1049'></a><a href='#L1049'>1049</a>
1115
+ <a name='L1050'></a><a href='#L1050'>1050</a>
1116
+ <a name='L1051'></a><a href='#L1051'>1051</a>
1117
+ <a name='L1052'></a><a href='#L1052'>1052</a>
1118
+ <a name='L1053'></a><a href='#L1053'>1053</a>
1119
+ <a name='L1054'></a><a href='#L1054'>1054</a>
1120
+ <a name='L1055'></a><a href='#L1055'>1055</a>
1121
+ <a name='L1056'></a><a href='#L1056'>1056</a>
1122
+ <a name='L1057'></a><a href='#L1057'>1057</a>
1123
+ <a name='L1058'></a><a href='#L1058'>1058</a>
1124
+ <a name='L1059'></a><a href='#L1059'>1059</a>
1125
+ <a name='L1060'></a><a href='#L1060'>1060</a>
1126
+ <a name='L1061'></a><a href='#L1061'>1061</a>
1127
+ <a name='L1062'></a><a href='#L1062'>1062</a>
1128
+ <a name='L1063'></a><a href='#L1063'>1063</a>
1129
+ <a name='L1064'></a><a href='#L1064'>1064</a>
1130
+ <a name='L1065'></a><a href='#L1065'>1065</a>
1131
+ <a name='L1066'></a><a href='#L1066'>1066</a>
1132
+ <a name='L1067'></a><a href='#L1067'>1067</a>
1133
+ <a name='L1068'></a><a href='#L1068'>1068</a>
1134
+ <a name='L1069'></a><a href='#L1069'>1069</a>
1135
+ <a name='L1070'></a><a href='#L1070'>1070</a>
1136
+ <a name='L1071'></a><a href='#L1071'>1071</a>
1137
+ <a name='L1072'></a><a href='#L1072'>1072</a>
1138
+ <a name='L1073'></a><a href='#L1073'>1073</a>
1139
+ <a name='L1074'></a><a href='#L1074'>1074</a>
1140
+ <a name='L1075'></a><a href='#L1075'>1075</a>
1141
+ <a name='L1076'></a><a href='#L1076'>1076</a>
1142
+ <a name='L1077'></a><a href='#L1077'>1077</a>
1143
+ <a name='L1078'></a><a href='#L1078'>1078</a>
1144
+ <a name='L1079'></a><a href='#L1079'>1079</a>
1145
+ <a name='L1080'></a><a href='#L1080'>1080</a>
1146
+ <a name='L1081'></a><a href='#L1081'>1081</a>
1147
+ <a name='L1082'></a><a href='#L1082'>1082</a>
1148
+ <a name='L1083'></a><a href='#L1083'>1083</a>
1149
+ <a name='L1084'></a><a href='#L1084'>1084</a>
1150
+ <a name='L1085'></a><a href='#L1085'>1085</a>
1151
+ <a name='L1086'></a><a href='#L1086'>1086</a>
1152
+ <a name='L1087'></a><a href='#L1087'>1087</a>
1153
+ <a name='L1088'></a><a href='#L1088'>1088</a>
1154
+ <a name='L1089'></a><a href='#L1089'>1089</a>
1155
+ <a name='L1090'></a><a href='#L1090'>1090</a>
1156
+ <a name='L1091'></a><a href='#L1091'>1091</a>
1157
+ <a name='L1092'></a><a href='#L1092'>1092</a>
1158
+ <a name='L1093'></a><a href='#L1093'>1093</a>
1159
+ <a name='L1094'></a><a href='#L1094'>1094</a>
1160
+ <a name='L1095'></a><a href='#L1095'>1095</a>
1161
+ <a name='L1096'></a><a href='#L1096'>1096</a>
1162
+ <a name='L1097'></a><a href='#L1097'>1097</a>
1163
+ <a name='L1098'></a><a href='#L1098'>1098</a>
1164
+ <a name='L1099'></a><a href='#L1099'>1099</a>
1165
+ <a name='L1100'></a><a href='#L1100'>1100</a>
1166
+ <a name='L1101'></a><a href='#L1101'>1101</a>
1167
+ <a name='L1102'></a><a href='#L1102'>1102</a>
1168
+ <a name='L1103'></a><a href='#L1103'>1103</a>
1169
+ <a name='L1104'></a><a href='#L1104'>1104</a>
1170
+ <a name='L1105'></a><a href='#L1105'>1105</a>
1171
+ <a name='L1106'></a><a href='#L1106'>1106</a>
1172
+ <a name='L1107'></a><a href='#L1107'>1107</a>
1173
+ <a name='L1108'></a><a href='#L1108'>1108</a>
1174
+ <a name='L1109'></a><a href='#L1109'>1109</a>
1175
+ <a name='L1110'></a><a href='#L1110'>1110</a>
1176
+ <a name='L1111'></a><a href='#L1111'>1111</a>
1177
+ <a name='L1112'></a><a href='#L1112'>1112</a>
1178
+ <a name='L1113'></a><a href='#L1113'>1113</a>
1179
+ <a name='L1114'></a><a href='#L1114'>1114</a>
1180
+ <a name='L1115'></a><a href='#L1115'>1115</a>
1181
+ <a name='L1116'></a><a href='#L1116'>1116</a>
1182
+ <a name='L1117'></a><a href='#L1117'>1117</a>
1183
+ <a name='L1118'></a><a href='#L1118'>1118</a>
1184
+ <a name='L1119'></a><a href='#L1119'>1119</a>
1185
+ <a name='L1120'></a><a href='#L1120'>1120</a>
1186
+ <a name='L1121'></a><a href='#L1121'>1121</a>
1187
+ <a name='L1122'></a><a href='#L1122'>1122</a>
1188
+ <a name='L1123'></a><a href='#L1123'>1123</a>
1189
+ <a name='L1124'></a><a href='#L1124'>1124</a>
1190
+ <a name='L1125'></a><a href='#L1125'>1125</a>
1191
+ <a name='L1126'></a><a href='#L1126'>1126</a>
1192
+ <a name='L1127'></a><a href='#L1127'>1127</a>
1193
+ <a name='L1128'></a><a href='#L1128'>1128</a>
1194
+ <a name='L1129'></a><a href='#L1129'>1129</a>
1195
+ <a name='L1130'></a><a href='#L1130'>1130</a>
1196
+ <a name='L1131'></a><a href='#L1131'>1131</a>
1197
+ <a name='L1132'></a><a href='#L1132'>1132</a>
1198
+ <a name='L1133'></a><a href='#L1133'>1133</a>
1199
+ <a name='L1134'></a><a href='#L1134'>1134</a>
1200
+ <a name='L1135'></a><a href='#L1135'>1135</a>
1201
+ <a name='L1136'></a><a href='#L1136'>1136</a>
1202
+ <a name='L1137'></a><a href='#L1137'>1137</a>
1203
+ <a name='L1138'></a><a href='#L1138'>1138</a>
1204
+ <a name='L1139'></a><a href='#L1139'>1139</a>
1205
+ <a name='L1140'></a><a href='#L1140'>1140</a>
1206
+ <a name='L1141'></a><a href='#L1141'>1141</a>
1207
+ <a name='L1142'></a><a href='#L1142'>1142</a>
1208
+ <a name='L1143'></a><a href='#L1143'>1143</a>
1209
+ <a name='L1144'></a><a href='#L1144'>1144</a>
1210
+ <a name='L1145'></a><a href='#L1145'>1145</a>
1211
+ <a name='L1146'></a><a href='#L1146'>1146</a>
1212
+ <a name='L1147'></a><a href='#L1147'>1147</a>
1213
+ <a name='L1148'></a><a href='#L1148'>1148</a>
1214
+ <a name='L1149'></a><a href='#L1149'>1149</a>
1215
+ <a name='L1150'></a><a href='#L1150'>1150</a>
1216
+ <a name='L1151'></a><a href='#L1151'>1151</a>
1217
+ <a name='L1152'></a><a href='#L1152'>1152</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
1218
+ <span class="cline-any cline-no">&nbsp;</span>
1219
+ <span class="cline-any cline-no">&nbsp;</span>
1220
+ <span class="cline-any cline-no">&nbsp;</span>
1221
+ <span class="cline-any cline-no">&nbsp;</span>
1222
+ <span class="cline-any cline-no">&nbsp;</span>
1223
+ <span class="cline-any cline-no">&nbsp;</span>
1224
+ <span class="cline-any cline-no">&nbsp;</span>
1225
+ <span class="cline-any cline-no">&nbsp;</span>
1226
+ <span class="cline-any cline-no">&nbsp;</span>
1227
+ <span class="cline-any cline-no">&nbsp;</span>
1228
+ <span class="cline-any cline-no">&nbsp;</span>
1229
+ <span class="cline-any cline-no">&nbsp;</span>
1230
+ <span class="cline-any cline-no">&nbsp;</span>
1231
+ <span class="cline-any cline-no">&nbsp;</span>
1232
+ <span class="cline-any cline-no">&nbsp;</span>
1233
+ <span class="cline-any cline-no">&nbsp;</span>
1234
+ <span class="cline-any cline-no">&nbsp;</span>
1235
+ <span class="cline-any cline-no">&nbsp;</span>
1236
+ <span class="cline-any cline-no">&nbsp;</span>
1237
+ <span class="cline-any cline-no">&nbsp;</span>
1238
+ <span class="cline-any cline-no">&nbsp;</span>
1239
+ <span class="cline-any cline-no">&nbsp;</span>
1240
+ <span class="cline-any cline-no">&nbsp;</span>
1241
+ <span class="cline-any cline-no">&nbsp;</span>
1242
+ <span class="cline-any cline-no">&nbsp;</span>
1243
+ <span class="cline-any cline-no">&nbsp;</span>
1244
+ <span class="cline-any cline-no">&nbsp;</span>
1245
+ <span class="cline-any cline-no">&nbsp;</span>
1246
+ <span class="cline-any cline-no">&nbsp;</span>
1247
+ <span class="cline-any cline-no">&nbsp;</span>
1248
+ <span class="cline-any cline-no">&nbsp;</span>
1249
+ <span class="cline-any cline-no">&nbsp;</span>
1250
+ <span class="cline-any cline-no">&nbsp;</span>
1251
+ <span class="cline-any cline-no">&nbsp;</span>
1252
+ <span class="cline-any cline-no">&nbsp;</span>
1253
+ <span class="cline-any cline-no">&nbsp;</span>
1254
+ <span class="cline-any cline-no">&nbsp;</span>
1255
+ <span class="cline-any cline-no">&nbsp;</span>
1256
+ <span class="cline-any cline-no">&nbsp;</span>
1257
+ <span class="cline-any cline-no">&nbsp;</span>
1258
+ <span class="cline-any cline-no">&nbsp;</span>
1259
+ <span class="cline-any cline-no">&nbsp;</span>
1260
+ <span class="cline-any cline-no">&nbsp;</span>
1261
+ <span class="cline-any cline-no">&nbsp;</span>
1262
+ <span class="cline-any cline-no">&nbsp;</span>
1263
+ <span class="cline-any cline-no">&nbsp;</span>
1264
+ <span class="cline-any cline-no">&nbsp;</span>
1265
+ <span class="cline-any cline-no">&nbsp;</span>
1266
+ <span class="cline-any cline-no">&nbsp;</span>
1267
+ <span class="cline-any cline-no">&nbsp;</span>
1268
+ <span class="cline-any cline-no">&nbsp;</span>
1269
+ <span class="cline-any cline-no">&nbsp;</span>
1270
+ <span class="cline-any cline-no">&nbsp;</span>
1271
+ <span class="cline-any cline-no">&nbsp;</span>
1272
+ <span class="cline-any cline-no">&nbsp;</span>
1273
+ <span class="cline-any cline-no">&nbsp;</span>
1274
+ <span class="cline-any cline-no">&nbsp;</span>
1275
+ <span class="cline-any cline-no">&nbsp;</span>
1276
+ <span class="cline-any cline-no">&nbsp;</span>
1277
+ <span class="cline-any cline-no">&nbsp;</span>
1278
+ <span class="cline-any cline-no">&nbsp;</span>
1279
+ <span class="cline-any cline-no">&nbsp;</span>
1280
+ <span class="cline-any cline-no">&nbsp;</span>
1281
+ <span class="cline-any cline-no">&nbsp;</span>
1282
+ <span class="cline-any cline-no">&nbsp;</span>
1283
+ <span class="cline-any cline-no">&nbsp;</span>
1284
+ <span class="cline-any cline-no">&nbsp;</span>
1285
+ <span class="cline-any cline-no">&nbsp;</span>
1286
+ <span class="cline-any cline-no">&nbsp;</span>
1287
+ <span class="cline-any cline-no">&nbsp;</span>
1288
+ <span class="cline-any cline-no">&nbsp;</span>
1289
+ <span class="cline-any cline-no">&nbsp;</span>
1290
+ <span class="cline-any cline-no">&nbsp;</span>
1291
+ <span class="cline-any cline-no">&nbsp;</span>
1292
+ <span class="cline-any cline-no">&nbsp;</span>
1293
+ <span class="cline-any cline-no">&nbsp;</span>
1294
+ <span class="cline-any cline-no">&nbsp;</span>
1295
+ <span class="cline-any cline-no">&nbsp;</span>
1296
+ <span class="cline-any cline-no">&nbsp;</span>
1297
+ <span class="cline-any cline-no">&nbsp;</span>
1298
+ <span class="cline-any cline-no">&nbsp;</span>
1299
+ <span class="cline-any cline-no">&nbsp;</span>
1300
+ <span class="cline-any cline-no">&nbsp;</span>
1301
+ <span class="cline-any cline-no">&nbsp;</span>
1302
+ <span class="cline-any cline-no">&nbsp;</span>
1303
+ <span class="cline-any cline-no">&nbsp;</span>
1304
+ <span class="cline-any cline-no">&nbsp;</span>
1305
+ <span class="cline-any cline-no">&nbsp;</span>
1306
+ <span class="cline-any cline-no">&nbsp;</span>
1307
+ <span class="cline-any cline-no">&nbsp;</span>
1308
+ <span class="cline-any cline-no">&nbsp;</span>
1309
+ <span class="cline-any cline-no">&nbsp;</span>
1310
+ <span class="cline-any cline-no">&nbsp;</span>
1311
+ <span class="cline-any cline-no">&nbsp;</span>
1312
+ <span class="cline-any cline-no">&nbsp;</span>
1313
+ <span class="cline-any cline-no">&nbsp;</span>
1314
+ <span class="cline-any cline-no">&nbsp;</span>
1315
+ <span class="cline-any cline-no">&nbsp;</span>
1316
+ <span class="cline-any cline-no">&nbsp;</span>
1317
+ <span class="cline-any cline-no">&nbsp;</span>
1318
+ <span class="cline-any cline-no">&nbsp;</span>
1319
+ <span class="cline-any cline-no">&nbsp;</span>
1320
+ <span class="cline-any cline-no">&nbsp;</span>
1321
+ <span class="cline-any cline-no">&nbsp;</span>
1322
+ <span class="cline-any cline-no">&nbsp;</span>
1323
+ <span class="cline-any cline-no">&nbsp;</span>
1324
+ <span class="cline-any cline-no">&nbsp;</span>
1325
+ <span class="cline-any cline-no">&nbsp;</span>
1326
+ <span class="cline-any cline-no">&nbsp;</span>
1327
+ <span class="cline-any cline-no">&nbsp;</span>
1328
+ <span class="cline-any cline-no">&nbsp;</span>
1329
+ <span class="cline-any cline-no">&nbsp;</span>
1330
+ <span class="cline-any cline-no">&nbsp;</span>
1331
+ <span class="cline-any cline-no">&nbsp;</span>
1332
+ <span class="cline-any cline-no">&nbsp;</span>
1333
+ <span class="cline-any cline-no">&nbsp;</span>
1334
+ <span class="cline-any cline-no">&nbsp;</span>
1335
+ <span class="cline-any cline-no">&nbsp;</span>
1336
+ <span class="cline-any cline-no">&nbsp;</span>
1337
+ <span class="cline-any cline-no">&nbsp;</span>
1338
+ <span class="cline-any cline-no">&nbsp;</span>
1339
+ <span class="cline-any cline-no">&nbsp;</span>
1340
+ <span class="cline-any cline-no">&nbsp;</span>
1341
+ <span class="cline-any cline-no">&nbsp;</span>
1342
+ <span class="cline-any cline-no">&nbsp;</span>
1343
+ <span class="cline-any cline-no">&nbsp;</span>
1344
+ <span class="cline-any cline-no">&nbsp;</span>
1345
+ <span class="cline-any cline-no">&nbsp;</span>
1346
+ <span class="cline-any cline-no">&nbsp;</span>
1347
+ <span class="cline-any cline-no">&nbsp;</span>
1348
+ <span class="cline-any cline-no">&nbsp;</span>
1349
+ <span class="cline-any cline-no">&nbsp;</span>
1350
+ <span class="cline-any cline-no">&nbsp;</span>
1351
+ <span class="cline-any cline-no">&nbsp;</span>
1352
+ <span class="cline-any cline-no">&nbsp;</span>
1353
+ <span class="cline-any cline-no">&nbsp;</span>
1354
+ <span class="cline-any cline-no">&nbsp;</span>
1355
+ <span class="cline-any cline-no">&nbsp;</span>
1356
+ <span class="cline-any cline-no">&nbsp;</span>
1357
+ <span class="cline-any cline-no">&nbsp;</span>
1358
+ <span class="cline-any cline-no">&nbsp;</span>
1359
+ <span class="cline-any cline-no">&nbsp;</span>
1360
+ <span class="cline-any cline-no">&nbsp;</span>
1361
+ <span class="cline-any cline-no">&nbsp;</span>
1362
+ <span class="cline-any cline-no">&nbsp;</span>
1363
+ <span class="cline-any cline-no">&nbsp;</span>
1364
+ <span class="cline-any cline-no">&nbsp;</span>
1365
+ <span class="cline-any cline-no">&nbsp;</span>
1366
+ <span class="cline-any cline-no">&nbsp;</span>
1367
+ <span class="cline-any cline-no">&nbsp;</span>
1368
+ <span class="cline-any cline-no">&nbsp;</span>
1369
+ <span class="cline-any cline-no">&nbsp;</span>
1370
+ <span class="cline-any cline-no">&nbsp;</span>
1371
+ <span class="cline-any cline-no">&nbsp;</span>
1372
+ <span class="cline-any cline-no">&nbsp;</span>
1373
+ <span class="cline-any cline-no">&nbsp;</span>
1374
+ <span class="cline-any cline-no">&nbsp;</span>
1375
+ <span class="cline-any cline-no">&nbsp;</span>
1376
+ <span class="cline-any cline-no">&nbsp;</span>
1377
+ <span class="cline-any cline-no">&nbsp;</span>
1378
+ <span class="cline-any cline-no">&nbsp;</span>
1379
+ <span class="cline-any cline-no">&nbsp;</span>
1380
+ <span class="cline-any cline-no">&nbsp;</span>
1381
+ <span class="cline-any cline-no">&nbsp;</span>
1382
+ <span class="cline-any cline-no">&nbsp;</span>
1383
+ <span class="cline-any cline-no">&nbsp;</span>
1384
+ <span class="cline-any cline-no">&nbsp;</span>
1385
+ <span class="cline-any cline-no">&nbsp;</span>
1386
+ <span class="cline-any cline-no">&nbsp;</span>
1387
+ <span class="cline-any cline-no">&nbsp;</span>
1388
+ <span class="cline-any cline-no">&nbsp;</span>
1389
+ <span class="cline-any cline-no">&nbsp;</span>
1390
+ <span class="cline-any cline-no">&nbsp;</span>
1391
+ <span class="cline-any cline-no">&nbsp;</span>
1392
+ <span class="cline-any cline-no">&nbsp;</span>
1393
+ <span class="cline-any cline-no">&nbsp;</span>
1394
+ <span class="cline-any cline-no">&nbsp;</span>
1395
+ <span class="cline-any cline-no">&nbsp;</span>
1396
+ <span class="cline-any cline-no">&nbsp;</span>
1397
+ <span class="cline-any cline-no">&nbsp;</span>
1398
+ <span class="cline-any cline-no">&nbsp;</span>
1399
+ <span class="cline-any cline-no">&nbsp;</span>
1400
+ <span class="cline-any cline-no">&nbsp;</span>
1401
+ <span class="cline-any cline-no">&nbsp;</span>
1402
+ <span class="cline-any cline-no">&nbsp;</span>
1403
+ <span class="cline-any cline-no">&nbsp;</span>
1404
+ <span class="cline-any cline-no">&nbsp;</span>
1405
+ <span class="cline-any cline-no">&nbsp;</span>
1406
+ <span class="cline-any cline-no">&nbsp;</span>
1407
+ <span class="cline-any cline-no">&nbsp;</span>
1408
+ <span class="cline-any cline-no">&nbsp;</span>
1409
+ <span class="cline-any cline-no">&nbsp;</span>
1410
+ <span class="cline-any cline-no">&nbsp;</span>
1411
+ <span class="cline-any cline-no">&nbsp;</span>
1412
+ <span class="cline-any cline-no">&nbsp;</span>
1413
+ <span class="cline-any cline-no">&nbsp;</span>
1414
+ <span class="cline-any cline-no">&nbsp;</span>
1415
+ <span class="cline-any cline-no">&nbsp;</span>
1416
+ <span class="cline-any cline-no">&nbsp;</span>
1417
+ <span class="cline-any cline-no">&nbsp;</span>
1418
+ <span class="cline-any cline-no">&nbsp;</span>
1419
+ <span class="cline-any cline-no">&nbsp;</span>
1420
+ <span class="cline-any cline-no">&nbsp;</span>
1421
+ <span class="cline-any cline-no">&nbsp;</span>
1422
+ <span class="cline-any cline-no">&nbsp;</span>
1423
+ <span class="cline-any cline-no">&nbsp;</span>
1424
+ <span class="cline-any cline-no">&nbsp;</span>
1425
+ <span class="cline-any cline-no">&nbsp;</span>
1426
+ <span class="cline-any cline-no">&nbsp;</span>
1427
+ <span class="cline-any cline-no">&nbsp;</span>
1428
+ <span class="cline-any cline-no">&nbsp;</span>
1429
+ <span class="cline-any cline-no">&nbsp;</span>
1430
+ <span class="cline-any cline-no">&nbsp;</span>
1431
+ <span class="cline-any cline-no">&nbsp;</span>
1432
+ <span class="cline-any cline-no">&nbsp;</span>
1433
+ <span class="cline-any cline-no">&nbsp;</span>
1434
+ <span class="cline-any cline-no">&nbsp;</span>
1435
+ <span class="cline-any cline-no">&nbsp;</span>
1436
+ <span class="cline-any cline-no">&nbsp;</span>
1437
+ <span class="cline-any cline-no">&nbsp;</span>
1438
+ <span class="cline-any cline-no">&nbsp;</span>
1439
+ <span class="cline-any cline-no">&nbsp;</span>
1440
+ <span class="cline-any cline-no">&nbsp;</span>
1441
+ <span class="cline-any cline-no">&nbsp;</span>
1442
+ <span class="cline-any cline-no">&nbsp;</span>
1443
+ <span class="cline-any cline-no">&nbsp;</span>
1444
+ <span class="cline-any cline-no">&nbsp;</span>
1445
+ <span class="cline-any cline-no">&nbsp;</span>
1446
+ <span class="cline-any cline-no">&nbsp;</span>
1447
+ <span class="cline-any cline-no">&nbsp;</span>
1448
+ <span class="cline-any cline-no">&nbsp;</span>
1449
+ <span class="cline-any cline-no">&nbsp;</span>
1450
+ <span class="cline-any cline-no">&nbsp;</span>
1451
+ <span class="cline-any cline-no">&nbsp;</span>
1452
+ <span class="cline-any cline-no">&nbsp;</span>
1453
+ <span class="cline-any cline-no">&nbsp;</span>
1454
+ <span class="cline-any cline-no">&nbsp;</span>
1455
+ <span class="cline-any cline-no">&nbsp;</span>
1456
+ <span class="cline-any cline-no">&nbsp;</span>
1457
+ <span class="cline-any cline-no">&nbsp;</span>
1458
+ <span class="cline-any cline-no">&nbsp;</span>
1459
+ <span class="cline-any cline-no">&nbsp;</span>
1460
+ <span class="cline-any cline-no">&nbsp;</span>
1461
+ <span class="cline-any cline-no">&nbsp;</span>
1462
+ <span class="cline-any cline-no">&nbsp;</span>
1463
+ <span class="cline-any cline-no">&nbsp;</span>
1464
+ <span class="cline-any cline-no">&nbsp;</span>
1465
+ <span class="cline-any cline-no">&nbsp;</span>
1466
+ <span class="cline-any cline-no">&nbsp;</span>
1467
+ <span class="cline-any cline-no">&nbsp;</span>
1468
+ <span class="cline-any cline-no">&nbsp;</span>
1469
+ <span class="cline-any cline-no">&nbsp;</span>
1470
+ <span class="cline-any cline-no">&nbsp;</span>
1471
+ <span class="cline-any cline-no">&nbsp;</span>
1472
+ <span class="cline-any cline-no">&nbsp;</span>
1473
+ <span class="cline-any cline-no">&nbsp;</span>
1474
+ <span class="cline-any cline-no">&nbsp;</span>
1475
+ <span class="cline-any cline-no">&nbsp;</span>
1476
+ <span class="cline-any cline-no">&nbsp;</span>
1477
+ <span class="cline-any cline-no">&nbsp;</span>
1478
+ <span class="cline-any cline-no">&nbsp;</span>
1479
+ <span class="cline-any cline-no">&nbsp;</span>
1480
+ <span class="cline-any cline-no">&nbsp;</span>
1481
+ <span class="cline-any cline-no">&nbsp;</span>
1482
+ <span class="cline-any cline-no">&nbsp;</span>
1483
+ <span class="cline-any cline-no">&nbsp;</span>
1484
+ <span class="cline-any cline-no">&nbsp;</span>
1485
+ <span class="cline-any cline-no">&nbsp;</span>
1486
+ <span class="cline-any cline-no">&nbsp;</span>
1487
+ <span class="cline-any cline-no">&nbsp;</span>
1488
+ <span class="cline-any cline-no">&nbsp;</span>
1489
+ <span class="cline-any cline-no">&nbsp;</span>
1490
+ <span class="cline-any cline-no">&nbsp;</span>
1491
+ <span class="cline-any cline-no">&nbsp;</span>
1492
+ <span class="cline-any cline-no">&nbsp;</span>
1493
+ <span class="cline-any cline-no">&nbsp;</span>
1494
+ <span class="cline-any cline-no">&nbsp;</span>
1495
+ <span class="cline-any cline-no">&nbsp;</span>
1496
+ <span class="cline-any cline-no">&nbsp;</span>
1497
+ <span class="cline-any cline-no">&nbsp;</span>
1498
+ <span class="cline-any cline-no">&nbsp;</span>
1499
+ <span class="cline-any cline-no">&nbsp;</span>
1500
+ <span class="cline-any cline-no">&nbsp;</span>
1501
+ <span class="cline-any cline-no">&nbsp;</span>
1502
+ <span class="cline-any cline-no">&nbsp;</span>
1503
+ <span class="cline-any cline-no">&nbsp;</span>
1504
+ <span class="cline-any cline-no">&nbsp;</span>
1505
+ <span class="cline-any cline-no">&nbsp;</span>
1506
+ <span class="cline-any cline-no">&nbsp;</span>
1507
+ <span class="cline-any cline-no">&nbsp;</span>
1508
+ <span class="cline-any cline-no">&nbsp;</span>
1509
+ <span class="cline-any cline-no">&nbsp;</span>
1510
+ <span class="cline-any cline-no">&nbsp;</span>
1511
+ <span class="cline-any cline-no">&nbsp;</span>
1512
+ <span class="cline-any cline-no">&nbsp;</span>
1513
+ <span class="cline-any cline-no">&nbsp;</span>
1514
+ <span class="cline-any cline-no">&nbsp;</span>
1515
+ <span class="cline-any cline-no">&nbsp;</span>
1516
+ <span class="cline-any cline-no">&nbsp;</span>
1517
+ <span class="cline-any cline-no">&nbsp;</span>
1518
+ <span class="cline-any cline-no">&nbsp;</span>
1519
+ <span class="cline-any cline-no">&nbsp;</span>
1520
+ <span class="cline-any cline-no">&nbsp;</span>
1521
+ <span class="cline-any cline-no">&nbsp;</span>
1522
+ <span class="cline-any cline-no">&nbsp;</span>
1523
+ <span class="cline-any cline-no">&nbsp;</span>
1524
+ <span class="cline-any cline-no">&nbsp;</span>
1525
+ <span class="cline-any cline-no">&nbsp;</span>
1526
+ <span class="cline-any cline-no">&nbsp;</span>
1527
+ <span class="cline-any cline-no">&nbsp;</span>
1528
+ <span class="cline-any cline-no">&nbsp;</span>
1529
+ <span class="cline-any cline-no">&nbsp;</span>
1530
+ <span class="cline-any cline-no">&nbsp;</span>
1531
+ <span class="cline-any cline-no">&nbsp;</span>
1532
+ <span class="cline-any cline-no">&nbsp;</span>
1533
+ <span class="cline-any cline-no">&nbsp;</span>
1534
+ <span class="cline-any cline-no">&nbsp;</span>
1535
+ <span class="cline-any cline-no">&nbsp;</span>
1536
+ <span class="cline-any cline-no">&nbsp;</span>
1537
+ <span class="cline-any cline-no">&nbsp;</span>
1538
+ <span class="cline-any cline-no">&nbsp;</span>
1539
+ <span class="cline-any cline-no">&nbsp;</span>
1540
+ <span class="cline-any cline-no">&nbsp;</span>
1541
+ <span class="cline-any cline-no">&nbsp;</span>
1542
+ <span class="cline-any cline-no">&nbsp;</span>
1543
+ <span class="cline-any cline-no">&nbsp;</span>
1544
+ <span class="cline-any cline-no">&nbsp;</span>
1545
+ <span class="cline-any cline-no">&nbsp;</span>
1546
+ <span class="cline-any cline-no">&nbsp;</span>
1547
+ <span class="cline-any cline-no">&nbsp;</span>
1548
+ <span class="cline-any cline-no">&nbsp;</span>
1549
+ <span class="cline-any cline-no">&nbsp;</span>
1550
+ <span class="cline-any cline-no">&nbsp;</span>
1551
+ <span class="cline-any cline-no">&nbsp;</span>
1552
+ <span class="cline-any cline-no">&nbsp;</span>
1553
+ <span class="cline-any cline-no">&nbsp;</span>
1554
+ <span class="cline-any cline-no">&nbsp;</span>
1555
+ <span class="cline-any cline-no">&nbsp;</span>
1556
+ <span class="cline-any cline-no">&nbsp;</span>
1557
+ <span class="cline-any cline-no">&nbsp;</span>
1558
+ <span class="cline-any cline-no">&nbsp;</span>
1559
+ <span class="cline-any cline-no">&nbsp;</span>
1560
+ <span class="cline-any cline-no">&nbsp;</span>
1561
+ <span class="cline-any cline-no">&nbsp;</span>
1562
+ <span class="cline-any cline-no">&nbsp;</span>
1563
+ <span class="cline-any cline-no">&nbsp;</span>
1564
+ <span class="cline-any cline-no">&nbsp;</span>
1565
+ <span class="cline-any cline-no">&nbsp;</span>
1566
+ <span class="cline-any cline-no">&nbsp;</span>
1567
+ <span class="cline-any cline-no">&nbsp;</span>
1568
+ <span class="cline-any cline-no">&nbsp;</span>
1569
+ <span class="cline-any cline-no">&nbsp;</span>
1570
+ <span class="cline-any cline-no">&nbsp;</span>
1571
+ <span class="cline-any cline-no">&nbsp;</span>
1572
+ <span class="cline-any cline-no">&nbsp;</span>
1573
+ <span class="cline-any cline-no">&nbsp;</span>
1574
+ <span class="cline-any cline-no">&nbsp;</span>
1575
+ <span class="cline-any cline-no">&nbsp;</span>
1576
+ <span class="cline-any cline-no">&nbsp;</span>
1577
+ <span class="cline-any cline-no">&nbsp;</span>
1578
+ <span class="cline-any cline-no">&nbsp;</span>
1579
+ <span class="cline-any cline-no">&nbsp;</span>
1580
+ <span class="cline-any cline-no">&nbsp;</span>
1581
+ <span class="cline-any cline-no">&nbsp;</span>
1582
+ <span class="cline-any cline-no">&nbsp;</span>
1583
+ <span class="cline-any cline-no">&nbsp;</span>
1584
+ <span class="cline-any cline-no">&nbsp;</span>
1585
+ <span class="cline-any cline-no">&nbsp;</span>
1586
+ <span class="cline-any cline-no">&nbsp;</span>
1587
+ <span class="cline-any cline-no">&nbsp;</span>
1588
+ <span class="cline-any cline-no">&nbsp;</span>
1589
+ <span class="cline-any cline-no">&nbsp;</span>
1590
+ <span class="cline-any cline-no">&nbsp;</span>
1591
+ <span class="cline-any cline-no">&nbsp;</span>
1592
+ <span class="cline-any cline-no">&nbsp;</span>
1593
+ <span class="cline-any cline-no">&nbsp;</span>
1594
+ <span class="cline-any cline-no">&nbsp;</span>
1595
+ <span class="cline-any cline-no">&nbsp;</span>
1596
+ <span class="cline-any cline-no">&nbsp;</span>
1597
+ <span class="cline-any cline-no">&nbsp;</span>
1598
+ <span class="cline-any cline-no">&nbsp;</span>
1599
+ <span class="cline-any cline-no">&nbsp;</span>
1600
+ <span class="cline-any cline-no">&nbsp;</span>
1601
+ <span class="cline-any cline-no">&nbsp;</span>
1602
+ <span class="cline-any cline-no">&nbsp;</span>
1603
+ <span class="cline-any cline-no">&nbsp;</span>
1604
+ <span class="cline-any cline-no">&nbsp;</span>
1605
+ <span class="cline-any cline-no">&nbsp;</span>
1606
+ <span class="cline-any cline-no">&nbsp;</span>
1607
+ <span class="cline-any cline-no">&nbsp;</span>
1608
+ <span class="cline-any cline-no">&nbsp;</span>
1609
+ <span class="cline-any cline-no">&nbsp;</span>
1610
+ <span class="cline-any cline-no">&nbsp;</span>
1611
+ <span class="cline-any cline-no">&nbsp;</span>
1612
+ <span class="cline-any cline-no">&nbsp;</span>
1613
+ <span class="cline-any cline-no">&nbsp;</span>
1614
+ <span class="cline-any cline-no">&nbsp;</span>
1615
+ <span class="cline-any cline-no">&nbsp;</span>
1616
+ <span class="cline-any cline-no">&nbsp;</span>
1617
+ <span class="cline-any cline-no">&nbsp;</span>
1618
+ <span class="cline-any cline-no">&nbsp;</span>
1619
+ <span class="cline-any cline-no">&nbsp;</span>
1620
+ <span class="cline-any cline-no">&nbsp;</span>
1621
+ <span class="cline-any cline-no">&nbsp;</span>
1622
+ <span class="cline-any cline-no">&nbsp;</span>
1623
+ <span class="cline-any cline-no">&nbsp;</span>
1624
+ <span class="cline-any cline-no">&nbsp;</span>
1625
+ <span class="cline-any cline-no">&nbsp;</span>
1626
+ <span class="cline-any cline-no">&nbsp;</span>
1627
+ <span class="cline-any cline-no">&nbsp;</span>
1628
+ <span class="cline-any cline-no">&nbsp;</span>
1629
+ <span class="cline-any cline-no">&nbsp;</span>
1630
+ <span class="cline-any cline-no">&nbsp;</span>
1631
+ <span class="cline-any cline-no">&nbsp;</span>
1632
+ <span class="cline-any cline-no">&nbsp;</span>
1633
+ <span class="cline-any cline-no">&nbsp;</span>
1634
+ <span class="cline-any cline-no">&nbsp;</span>
1635
+ <span class="cline-any cline-no">&nbsp;</span>
1636
+ <span class="cline-any cline-no">&nbsp;</span>
1637
+ <span class="cline-any cline-no">&nbsp;</span>
1638
+ <span class="cline-any cline-no">&nbsp;</span>
1639
+ <span class="cline-any cline-no">&nbsp;</span>
1640
+ <span class="cline-any cline-no">&nbsp;</span>
1641
+ <span class="cline-any cline-no">&nbsp;</span>
1642
+ <span class="cline-any cline-no">&nbsp;</span>
1643
+ <span class="cline-any cline-no">&nbsp;</span>
1644
+ <span class="cline-any cline-no">&nbsp;</span>
1645
+ <span class="cline-any cline-no">&nbsp;</span>
1646
+ <span class="cline-any cline-no">&nbsp;</span>
1647
+ <span class="cline-any cline-no">&nbsp;</span>
1648
+ <span class="cline-any cline-no">&nbsp;</span>
1649
+ <span class="cline-any cline-no">&nbsp;</span>
1650
+ <span class="cline-any cline-no">&nbsp;</span>
1651
+ <span class="cline-any cline-no">&nbsp;</span>
1652
+ <span class="cline-any cline-no">&nbsp;</span>
1653
+ <span class="cline-any cline-no">&nbsp;</span>
1654
+ <span class="cline-any cline-no">&nbsp;</span>
1655
+ <span class="cline-any cline-no">&nbsp;</span>
1656
+ <span class="cline-any cline-no">&nbsp;</span>
1657
+ <span class="cline-any cline-no">&nbsp;</span>
1658
+ <span class="cline-any cline-no">&nbsp;</span>
1659
+ <span class="cline-any cline-no">&nbsp;</span>
1660
+ <span class="cline-any cline-no">&nbsp;</span>
1661
+ <span class="cline-any cline-no">&nbsp;</span>
1662
+ <span class="cline-any cline-no">&nbsp;</span>
1663
+ <span class="cline-any cline-no">&nbsp;</span>
1664
+ <span class="cline-any cline-no">&nbsp;</span>
1665
+ <span class="cline-any cline-no">&nbsp;</span>
1666
+ <span class="cline-any cline-no">&nbsp;</span>
1667
+ <span class="cline-any cline-no">&nbsp;</span>
1668
+ <span class="cline-any cline-no">&nbsp;</span>
1669
+ <span class="cline-any cline-no">&nbsp;</span>
1670
+ <span class="cline-any cline-no">&nbsp;</span>
1671
+ <span class="cline-any cline-no">&nbsp;</span>
1672
+ <span class="cline-any cline-no">&nbsp;</span>
1673
+ <span class="cline-any cline-no">&nbsp;</span>
1674
+ <span class="cline-any cline-no">&nbsp;</span>
1675
+ <span class="cline-any cline-no">&nbsp;</span>
1676
+ <span class="cline-any cline-no">&nbsp;</span>
1677
+ <span class="cline-any cline-no">&nbsp;</span>
1678
+ <span class="cline-any cline-no">&nbsp;</span>
1679
+ <span class="cline-any cline-no">&nbsp;</span>
1680
+ <span class="cline-any cline-no">&nbsp;</span>
1681
+ <span class="cline-any cline-no">&nbsp;</span>
1682
+ <span class="cline-any cline-no">&nbsp;</span>
1683
+ <span class="cline-any cline-no">&nbsp;</span>
1684
+ <span class="cline-any cline-no">&nbsp;</span>
1685
+ <span class="cline-any cline-no">&nbsp;</span>
1686
+ <span class="cline-any cline-no">&nbsp;</span>
1687
+ <span class="cline-any cline-no">&nbsp;</span>
1688
+ <span class="cline-any cline-no">&nbsp;</span>
1689
+ <span class="cline-any cline-no">&nbsp;</span>
1690
+ <span class="cline-any cline-no">&nbsp;</span>
1691
+ <span class="cline-any cline-no">&nbsp;</span>
1692
+ <span class="cline-any cline-no">&nbsp;</span>
1693
+ <span class="cline-any cline-no">&nbsp;</span>
1694
+ <span class="cline-any cline-no">&nbsp;</span>
1695
+ <span class="cline-any cline-no">&nbsp;</span>
1696
+ <span class="cline-any cline-no">&nbsp;</span>
1697
+ <span class="cline-any cline-no">&nbsp;</span>
1698
+ <span class="cline-any cline-no">&nbsp;</span>
1699
+ <span class="cline-any cline-no">&nbsp;</span>
1700
+ <span class="cline-any cline-no">&nbsp;</span>
1701
+ <span class="cline-any cline-no">&nbsp;</span>
1702
+ <span class="cline-any cline-no">&nbsp;</span>
1703
+ <span class="cline-any cline-no">&nbsp;</span>
1704
+ <span class="cline-any cline-no">&nbsp;</span>
1705
+ <span class="cline-any cline-no">&nbsp;</span>
1706
+ <span class="cline-any cline-no">&nbsp;</span>
1707
+ <span class="cline-any cline-no">&nbsp;</span>
1708
+ <span class="cline-any cline-no">&nbsp;</span>
1709
+ <span class="cline-any cline-no">&nbsp;</span>
1710
+ <span class="cline-any cline-no">&nbsp;</span>
1711
+ <span class="cline-any cline-no">&nbsp;</span>
1712
+ <span class="cline-any cline-no">&nbsp;</span>
1713
+ <span class="cline-any cline-no">&nbsp;</span>
1714
+ <span class="cline-any cline-no">&nbsp;</span>
1715
+ <span class="cline-any cline-no">&nbsp;</span>
1716
+ <span class="cline-any cline-no">&nbsp;</span>
1717
+ <span class="cline-any cline-no">&nbsp;</span>
1718
+ <span class="cline-any cline-no">&nbsp;</span>
1719
+ <span class="cline-any cline-no">&nbsp;</span>
1720
+ <span class="cline-any cline-no">&nbsp;</span>
1721
+ <span class="cline-any cline-no">&nbsp;</span>
1722
+ <span class="cline-any cline-no">&nbsp;</span>
1723
+ <span class="cline-any cline-no">&nbsp;</span>
1724
+ <span class="cline-any cline-no">&nbsp;</span>
1725
+ <span class="cline-any cline-no">&nbsp;</span>
1726
+ <span class="cline-any cline-no">&nbsp;</span>
1727
+ <span class="cline-any cline-no">&nbsp;</span>
1728
+ <span class="cline-any cline-no">&nbsp;</span>
1729
+ <span class="cline-any cline-no">&nbsp;</span>
1730
+ <span class="cline-any cline-no">&nbsp;</span>
1731
+ <span class="cline-any cline-no">&nbsp;</span>
1732
+ <span class="cline-any cline-no">&nbsp;</span>
1733
+ <span class="cline-any cline-no">&nbsp;</span>
1734
+ <span class="cline-any cline-no">&nbsp;</span>
1735
+ <span class="cline-any cline-no">&nbsp;</span>
1736
+ <span class="cline-any cline-no">&nbsp;</span>
1737
+ <span class="cline-any cline-no">&nbsp;</span>
1738
+ <span class="cline-any cline-no">&nbsp;</span>
1739
+ <span class="cline-any cline-no">&nbsp;</span>
1740
+ <span class="cline-any cline-no">&nbsp;</span>
1741
+ <span class="cline-any cline-no">&nbsp;</span>
1742
+ <span class="cline-any cline-no">&nbsp;</span>
1743
+ <span class="cline-any cline-no">&nbsp;</span>
1744
+ <span class="cline-any cline-no">&nbsp;</span>
1745
+ <span class="cline-any cline-no">&nbsp;</span>
1746
+ <span class="cline-any cline-no">&nbsp;</span>
1747
+ <span class="cline-any cline-no">&nbsp;</span>
1748
+ <span class="cline-any cline-no">&nbsp;</span>
1749
+ <span class="cline-any cline-no">&nbsp;</span>
1750
+ <span class="cline-any cline-no">&nbsp;</span>
1751
+ <span class="cline-any cline-no">&nbsp;</span>
1752
+ <span class="cline-any cline-no">&nbsp;</span>
1753
+ <span class="cline-any cline-no">&nbsp;</span>
1754
+ <span class="cline-any cline-no">&nbsp;</span>
1755
+ <span class="cline-any cline-no">&nbsp;</span>
1756
+ <span class="cline-any cline-no">&nbsp;</span>
1757
+ <span class="cline-any cline-no">&nbsp;</span>
1758
+ <span class="cline-any cline-no">&nbsp;</span>
1759
+ <span class="cline-any cline-no">&nbsp;</span>
1760
+ <span class="cline-any cline-no">&nbsp;</span>
1761
+ <span class="cline-any cline-no">&nbsp;</span>
1762
+ <span class="cline-any cline-no">&nbsp;</span>
1763
+ <span class="cline-any cline-no">&nbsp;</span>
1764
+ <span class="cline-any cline-no">&nbsp;</span>
1765
+ <span class="cline-any cline-no">&nbsp;</span>
1766
+ <span class="cline-any cline-no">&nbsp;</span>
1767
+ <span class="cline-any cline-no">&nbsp;</span>
1768
+ <span class="cline-any cline-no">&nbsp;</span>
1769
+ <span class="cline-any cline-no">&nbsp;</span>
1770
+ <span class="cline-any cline-no">&nbsp;</span>
1771
+ <span class="cline-any cline-no">&nbsp;</span>
1772
+ <span class="cline-any cline-no">&nbsp;</span>
1773
+ <span class="cline-any cline-no">&nbsp;</span>
1774
+ <span class="cline-any cline-no">&nbsp;</span>
1775
+ <span class="cline-any cline-no">&nbsp;</span>
1776
+ <span class="cline-any cline-no">&nbsp;</span>
1777
+ <span class="cline-any cline-no">&nbsp;</span>
1778
+ <span class="cline-any cline-no">&nbsp;</span>
1779
+ <span class="cline-any cline-no">&nbsp;</span>
1780
+ <span class="cline-any cline-no">&nbsp;</span>
1781
+ <span class="cline-any cline-no">&nbsp;</span>
1782
+ <span class="cline-any cline-no">&nbsp;</span>
1783
+ <span class="cline-any cline-no">&nbsp;</span>
1784
+ <span class="cline-any cline-no">&nbsp;</span>
1785
+ <span class="cline-any cline-no">&nbsp;</span>
1786
+ <span class="cline-any cline-no">&nbsp;</span>
1787
+ <span class="cline-any cline-no">&nbsp;</span>
1788
+ <span class="cline-any cline-no">&nbsp;</span>
1789
+ <span class="cline-any cline-no">&nbsp;</span>
1790
+ <span class="cline-any cline-no">&nbsp;</span>
1791
+ <span class="cline-any cline-no">&nbsp;</span>
1792
+ <span class="cline-any cline-no">&nbsp;</span>
1793
+ <span class="cline-any cline-no">&nbsp;</span>
1794
+ <span class="cline-any cline-no">&nbsp;</span>
1795
+ <span class="cline-any cline-no">&nbsp;</span>
1796
+ <span class="cline-any cline-no">&nbsp;</span>
1797
+ <span class="cline-any cline-no">&nbsp;</span>
1798
+ <span class="cline-any cline-no">&nbsp;</span>
1799
+ <span class="cline-any cline-no">&nbsp;</span>
1800
+ <span class="cline-any cline-no">&nbsp;</span>
1801
+ <span class="cline-any cline-no">&nbsp;</span>
1802
+ <span class="cline-any cline-no">&nbsp;</span>
1803
+ <span class="cline-any cline-no">&nbsp;</span>
1804
+ <span class="cline-any cline-no">&nbsp;</span>
1805
+ <span class="cline-any cline-no">&nbsp;</span>
1806
+ <span class="cline-any cline-no">&nbsp;</span>
1807
+ <span class="cline-any cline-no">&nbsp;</span>
1808
+ <span class="cline-any cline-no">&nbsp;</span>
1809
+ <span class="cline-any cline-no">&nbsp;</span>
1810
+ <span class="cline-any cline-no">&nbsp;</span>
1811
+ <span class="cline-any cline-no">&nbsp;</span>
1812
+ <span class="cline-any cline-no">&nbsp;</span>
1813
+ <span class="cline-any cline-no">&nbsp;</span>
1814
+ <span class="cline-any cline-no">&nbsp;</span>
1815
+ <span class="cline-any cline-no">&nbsp;</span>
1816
+ <span class="cline-any cline-no">&nbsp;</span>
1817
+ <span class="cline-any cline-no">&nbsp;</span>
1818
+ <span class="cline-any cline-no">&nbsp;</span>
1819
+ <span class="cline-any cline-no">&nbsp;</span>
1820
+ <span class="cline-any cline-no">&nbsp;</span>
1821
+ <span class="cline-any cline-no">&nbsp;</span>
1822
+ <span class="cline-any cline-no">&nbsp;</span>
1823
+ <span class="cline-any cline-no">&nbsp;</span>
1824
+ <span class="cline-any cline-no">&nbsp;</span>
1825
+ <span class="cline-any cline-no">&nbsp;</span>
1826
+ <span class="cline-any cline-no">&nbsp;</span>
1827
+ <span class="cline-any cline-no">&nbsp;</span>
1828
+ <span class="cline-any cline-no">&nbsp;</span>
1829
+ <span class="cline-any cline-no">&nbsp;</span>
1830
+ <span class="cline-any cline-no">&nbsp;</span>
1831
+ <span class="cline-any cline-no">&nbsp;</span>
1832
+ <span class="cline-any cline-no">&nbsp;</span>
1833
+ <span class="cline-any cline-no">&nbsp;</span>
1834
+ <span class="cline-any cline-no">&nbsp;</span>
1835
+ <span class="cline-any cline-no">&nbsp;</span>
1836
+ <span class="cline-any cline-no">&nbsp;</span>
1837
+ <span class="cline-any cline-no">&nbsp;</span>
1838
+ <span class="cline-any cline-no">&nbsp;</span>
1839
+ <span class="cline-any cline-no">&nbsp;</span>
1840
+ <span class="cline-any cline-no">&nbsp;</span>
1841
+ <span class="cline-any cline-no">&nbsp;</span>
1842
+ <span class="cline-any cline-no">&nbsp;</span>
1843
+ <span class="cline-any cline-no">&nbsp;</span>
1844
+ <span class="cline-any cline-no">&nbsp;</span>
1845
+ <span class="cline-any cline-no">&nbsp;</span>
1846
+ <span class="cline-any cline-no">&nbsp;</span>
1847
+ <span class="cline-any cline-no">&nbsp;</span>
1848
+ <span class="cline-any cline-no">&nbsp;</span>
1849
+ <span class="cline-any cline-no">&nbsp;</span>
1850
+ <span class="cline-any cline-no">&nbsp;</span>
1851
+ <span class="cline-any cline-no">&nbsp;</span>
1852
+ <span class="cline-any cline-no">&nbsp;</span>
1853
+ <span class="cline-any cline-no">&nbsp;</span>
1854
+ <span class="cline-any cline-no">&nbsp;</span>
1855
+ <span class="cline-any cline-no">&nbsp;</span>
1856
+ <span class="cline-any cline-no">&nbsp;</span>
1857
+ <span class="cline-any cline-no">&nbsp;</span>
1858
+ <span class="cline-any cline-no">&nbsp;</span>
1859
+ <span class="cline-any cline-no">&nbsp;</span>
1860
+ <span class="cline-any cline-no">&nbsp;</span>
1861
+ <span class="cline-any cline-no">&nbsp;</span>
1862
+ <span class="cline-any cline-no">&nbsp;</span>
1863
+ <span class="cline-any cline-no">&nbsp;</span>
1864
+ <span class="cline-any cline-no">&nbsp;</span>
1865
+ <span class="cline-any cline-no">&nbsp;</span>
1866
+ <span class="cline-any cline-no">&nbsp;</span>
1867
+ <span class="cline-any cline-no">&nbsp;</span>
1868
+ <span class="cline-any cline-no">&nbsp;</span>
1869
+ <span class="cline-any cline-no">&nbsp;</span>
1870
+ <span class="cline-any cline-no">&nbsp;</span>
1871
+ <span class="cline-any cline-no">&nbsp;</span>
1872
+ <span class="cline-any cline-no">&nbsp;</span>
1873
+ <span class="cline-any cline-no">&nbsp;</span>
1874
+ <span class="cline-any cline-no">&nbsp;</span>
1875
+ <span class="cline-any cline-no">&nbsp;</span>
1876
+ <span class="cline-any cline-no">&nbsp;</span>
1877
+ <span class="cline-any cline-no">&nbsp;</span>
1878
+ <span class="cline-any cline-no">&nbsp;</span>
1879
+ <span class="cline-any cline-no">&nbsp;</span>
1880
+ <span class="cline-any cline-no">&nbsp;</span>
1881
+ <span class="cline-any cline-no">&nbsp;</span>
1882
+ <span class="cline-any cline-no">&nbsp;</span>
1883
+ <span class="cline-any cline-no">&nbsp;</span>
1884
+ <span class="cline-any cline-no">&nbsp;</span>
1885
+ <span class="cline-any cline-no">&nbsp;</span>
1886
+ <span class="cline-any cline-no">&nbsp;</span>
1887
+ <span class="cline-any cline-no">&nbsp;</span>
1888
+ <span class="cline-any cline-no">&nbsp;</span>
1889
+ <span class="cline-any cline-no">&nbsp;</span>
1890
+ <span class="cline-any cline-no">&nbsp;</span>
1891
+ <span class="cline-any cline-no">&nbsp;</span>
1892
+ <span class="cline-any cline-no">&nbsp;</span>
1893
+ <span class="cline-any cline-no">&nbsp;</span>
1894
+ <span class="cline-any cline-no">&nbsp;</span>
1895
+ <span class="cline-any cline-no">&nbsp;</span>
1896
+ <span class="cline-any cline-no">&nbsp;</span>
1897
+ <span class="cline-any cline-no">&nbsp;</span>
1898
+ <span class="cline-any cline-no">&nbsp;</span>
1899
+ <span class="cline-any cline-no">&nbsp;</span>
1900
+ <span class="cline-any cline-no">&nbsp;</span>
1901
+ <span class="cline-any cline-no">&nbsp;</span>
1902
+ <span class="cline-any cline-no">&nbsp;</span>
1903
+ <span class="cline-any cline-no">&nbsp;</span>
1904
+ <span class="cline-any cline-no">&nbsp;</span>
1905
+ <span class="cline-any cline-no">&nbsp;</span>
1906
+ <span class="cline-any cline-no">&nbsp;</span>
1907
+ <span class="cline-any cline-no">&nbsp;</span>
1908
+ <span class="cline-any cline-no">&nbsp;</span>
1909
+ <span class="cline-any cline-no">&nbsp;</span>
1910
+ <span class="cline-any cline-no">&nbsp;</span>
1911
+ <span class="cline-any cline-no">&nbsp;</span>
1912
+ <span class="cline-any cline-no">&nbsp;</span>
1913
+ <span class="cline-any cline-no">&nbsp;</span>
1914
+ <span class="cline-any cline-no">&nbsp;</span>
1915
+ <span class="cline-any cline-no">&nbsp;</span>
1916
+ <span class="cline-any cline-no">&nbsp;</span>
1917
+ <span class="cline-any cline-no">&nbsp;</span>
1918
+ <span class="cline-any cline-no">&nbsp;</span>
1919
+ <span class="cline-any cline-no">&nbsp;</span>
1920
+ <span class="cline-any cline-no">&nbsp;</span>
1921
+ <span class="cline-any cline-no">&nbsp;</span>
1922
+ <span class="cline-any cline-no">&nbsp;</span>
1923
+ <span class="cline-any cline-no">&nbsp;</span>
1924
+ <span class="cline-any cline-no">&nbsp;</span>
1925
+ <span class="cline-any cline-no">&nbsp;</span>
1926
+ <span class="cline-any cline-no">&nbsp;</span>
1927
+ <span class="cline-any cline-no">&nbsp;</span>
1928
+ <span class="cline-any cline-no">&nbsp;</span>
1929
+ <span class="cline-any cline-no">&nbsp;</span>
1930
+ <span class="cline-any cline-no">&nbsp;</span>
1931
+ <span class="cline-any cline-no">&nbsp;</span>
1932
+ <span class="cline-any cline-no">&nbsp;</span>
1933
+ <span class="cline-any cline-no">&nbsp;</span>
1934
+ <span class="cline-any cline-no">&nbsp;</span>
1935
+ <span class="cline-any cline-no">&nbsp;</span>
1936
+ <span class="cline-any cline-no">&nbsp;</span>
1937
+ <span class="cline-any cline-no">&nbsp;</span>
1938
+ <span class="cline-any cline-no">&nbsp;</span>
1939
+ <span class="cline-any cline-no">&nbsp;</span>
1940
+ <span class="cline-any cline-no">&nbsp;</span>
1941
+ <span class="cline-any cline-no">&nbsp;</span>
1942
+ <span class="cline-any cline-no">&nbsp;</span>
1943
+ <span class="cline-any cline-no">&nbsp;</span>
1944
+ <span class="cline-any cline-no">&nbsp;</span>
1945
+ <span class="cline-any cline-no">&nbsp;</span>
1946
+ <span class="cline-any cline-no">&nbsp;</span>
1947
+ <span class="cline-any cline-no">&nbsp;</span>
1948
+ <span class="cline-any cline-no">&nbsp;</span>
1949
+ <span class="cline-any cline-no">&nbsp;</span>
1950
+ <span class="cline-any cline-no">&nbsp;</span>
1951
+ <span class="cline-any cline-no">&nbsp;</span>
1952
+ <span class="cline-any cline-no">&nbsp;</span>
1953
+ <span class="cline-any cline-no">&nbsp;</span>
1954
+ <span class="cline-any cline-no">&nbsp;</span>
1955
+ <span class="cline-any cline-no">&nbsp;</span>
1956
+ <span class="cline-any cline-no">&nbsp;</span>
1957
+ <span class="cline-any cline-no">&nbsp;</span>
1958
+ <span class="cline-any cline-no">&nbsp;</span>
1959
+ <span class="cline-any cline-no">&nbsp;</span>
1960
+ <span class="cline-any cline-no">&nbsp;</span>
1961
+ <span class="cline-any cline-no">&nbsp;</span>
1962
+ <span class="cline-any cline-no">&nbsp;</span>
1963
+ <span class="cline-any cline-no">&nbsp;</span>
1964
+ <span class="cline-any cline-no">&nbsp;</span>
1965
+ <span class="cline-any cline-no">&nbsp;</span>
1966
+ <span class="cline-any cline-no">&nbsp;</span>
1967
+ <span class="cline-any cline-no">&nbsp;</span>
1968
+ <span class="cline-any cline-no">&nbsp;</span>
1969
+ <span class="cline-any cline-no">&nbsp;</span>
1970
+ <span class="cline-any cline-no">&nbsp;</span>
1971
+ <span class="cline-any cline-no">&nbsp;</span>
1972
+ <span class="cline-any cline-no">&nbsp;</span>
1973
+ <span class="cline-any cline-no">&nbsp;</span>
1974
+ <span class="cline-any cline-no">&nbsp;</span>
1975
+ <span class="cline-any cline-no">&nbsp;</span>
1976
+ <span class="cline-any cline-no">&nbsp;</span>
1977
+ <span class="cline-any cline-no">&nbsp;</span>
1978
+ <span class="cline-any cline-no">&nbsp;</span>
1979
+ <span class="cline-any cline-no">&nbsp;</span>
1980
+ <span class="cline-any cline-no">&nbsp;</span>
1981
+ <span class="cline-any cline-no">&nbsp;</span>
1982
+ <span class="cline-any cline-no">&nbsp;</span>
1983
+ <span class="cline-any cline-no">&nbsp;</span>
1984
+ <span class="cline-any cline-no">&nbsp;</span>
1985
+ <span class="cline-any cline-no">&nbsp;</span>
1986
+ <span class="cline-any cline-no">&nbsp;</span>
1987
+ <span class="cline-any cline-no">&nbsp;</span>
1988
+ <span class="cline-any cline-no">&nbsp;</span>
1989
+ <span class="cline-any cline-no">&nbsp;</span>
1990
+ <span class="cline-any cline-no">&nbsp;</span>
1991
+ <span class="cline-any cline-no">&nbsp;</span>
1992
+ <span class="cline-any cline-no">&nbsp;</span>
1993
+ <span class="cline-any cline-no">&nbsp;</span>
1994
+ <span class="cline-any cline-no">&nbsp;</span>
1995
+ <span class="cline-any cline-no">&nbsp;</span>
1996
+ <span class="cline-any cline-no">&nbsp;</span>
1997
+ <span class="cline-any cline-no">&nbsp;</span>
1998
+ <span class="cline-any cline-no">&nbsp;</span>
1999
+ <span class="cline-any cline-no">&nbsp;</span>
2000
+ <span class="cline-any cline-no">&nbsp;</span>
2001
+ <span class="cline-any cline-no">&nbsp;</span>
2002
+ <span class="cline-any cline-no">&nbsp;</span>
2003
+ <span class="cline-any cline-no">&nbsp;</span>
2004
+ <span class="cline-any cline-no">&nbsp;</span>
2005
+ <span class="cline-any cline-no">&nbsp;</span>
2006
+ <span class="cline-any cline-no">&nbsp;</span>
2007
+ <span class="cline-any cline-no">&nbsp;</span>
2008
+ <span class="cline-any cline-no">&nbsp;</span>
2009
+ <span class="cline-any cline-no">&nbsp;</span>
2010
+ <span class="cline-any cline-no">&nbsp;</span>
2011
+ <span class="cline-any cline-no">&nbsp;</span>
2012
+ <span class="cline-any cline-no">&nbsp;</span>
2013
+ <span class="cline-any cline-no">&nbsp;</span>
2014
+ <span class="cline-any cline-no">&nbsp;</span>
2015
+ <span class="cline-any cline-no">&nbsp;</span>
2016
+ <span class="cline-any cline-no">&nbsp;</span>
2017
+ <span class="cline-any cline-no">&nbsp;</span>
2018
+ <span class="cline-any cline-no">&nbsp;</span>
2019
+ <span class="cline-any cline-no">&nbsp;</span>
2020
+ <span class="cline-any cline-no">&nbsp;</span>
2021
+ <span class="cline-any cline-no">&nbsp;</span>
2022
+ <span class="cline-any cline-no">&nbsp;</span>
2023
+ <span class="cline-any cline-no">&nbsp;</span>
2024
+ <span class="cline-any cline-no">&nbsp;</span>
2025
+ <span class="cline-any cline-no">&nbsp;</span>
2026
+ <span class="cline-any cline-no">&nbsp;</span>
2027
+ <span class="cline-any cline-no">&nbsp;</span>
2028
+ <span class="cline-any cline-no">&nbsp;</span>
2029
+ <span class="cline-any cline-no">&nbsp;</span>
2030
+ <span class="cline-any cline-no">&nbsp;</span>
2031
+ <span class="cline-any cline-no">&nbsp;</span>
2032
+ <span class="cline-any cline-no">&nbsp;</span>
2033
+ <span class="cline-any cline-no">&nbsp;</span>
2034
+ <span class="cline-any cline-no">&nbsp;</span>
2035
+ <span class="cline-any cline-no">&nbsp;</span>
2036
+ <span class="cline-any cline-no">&nbsp;</span>
2037
+ <span class="cline-any cline-no">&nbsp;</span>
2038
+ <span class="cline-any cline-no">&nbsp;</span>
2039
+ <span class="cline-any cline-no">&nbsp;</span>
2040
+ <span class="cline-any cline-no">&nbsp;</span>
2041
+ <span class="cline-any cline-no">&nbsp;</span>
2042
+ <span class="cline-any cline-no">&nbsp;</span>
2043
+ <span class="cline-any cline-no">&nbsp;</span>
2044
+ <span class="cline-any cline-no">&nbsp;</span>
2045
+ <span class="cline-any cline-no">&nbsp;</span>
2046
+ <span class="cline-any cline-no">&nbsp;</span>
2047
+ <span class="cline-any cline-no">&nbsp;</span>
2048
+ <span class="cline-any cline-no">&nbsp;</span>
2049
+ <span class="cline-any cline-no">&nbsp;</span>
2050
+ <span class="cline-any cline-no">&nbsp;</span>
2051
+ <span class="cline-any cline-no">&nbsp;</span>
2052
+ <span class="cline-any cline-no">&nbsp;</span>
2053
+ <span class="cline-any cline-no">&nbsp;</span>
2054
+ <span class="cline-any cline-no">&nbsp;</span>
2055
+ <span class="cline-any cline-no">&nbsp;</span>
2056
+ <span class="cline-any cline-no">&nbsp;</span>
2057
+ <span class="cline-any cline-no">&nbsp;</span>
2058
+ <span class="cline-any cline-no">&nbsp;</span>
2059
+ <span class="cline-any cline-no">&nbsp;</span>
2060
+ <span class="cline-any cline-no">&nbsp;</span>
2061
+ <span class="cline-any cline-no">&nbsp;</span>
2062
+ <span class="cline-any cline-no">&nbsp;</span>
2063
+ <span class="cline-any cline-no">&nbsp;</span>
2064
+ <span class="cline-any cline-no">&nbsp;</span>
2065
+ <span class="cline-any cline-no">&nbsp;</span>
2066
+ <span class="cline-any cline-no">&nbsp;</span>
2067
+ <span class="cline-any cline-no">&nbsp;</span>
2068
+ <span class="cline-any cline-no">&nbsp;</span>
2069
+ <span class="cline-any cline-no">&nbsp;</span>
2070
+ <span class="cline-any cline-no">&nbsp;</span>
2071
+ <span class="cline-any cline-no">&nbsp;</span>
2072
+ <span class="cline-any cline-no">&nbsp;</span>
2073
+ <span class="cline-any cline-no">&nbsp;</span>
2074
+ <span class="cline-any cline-no">&nbsp;</span>
2075
+ <span class="cline-any cline-no">&nbsp;</span>
2076
+ <span class="cline-any cline-no">&nbsp;</span>
2077
+ <span class="cline-any cline-no">&nbsp;</span>
2078
+ <span class="cline-any cline-no">&nbsp;</span>
2079
+ <span class="cline-any cline-no">&nbsp;</span>
2080
+ <span class="cline-any cline-no">&nbsp;</span>
2081
+ <span class="cline-any cline-no">&nbsp;</span>
2082
+ <span class="cline-any cline-no">&nbsp;</span>
2083
+ <span class="cline-any cline-no">&nbsp;</span>
2084
+ <span class="cline-any cline-no">&nbsp;</span>
2085
+ <span class="cline-any cline-no">&nbsp;</span>
2086
+ <span class="cline-any cline-no">&nbsp;</span>
2087
+ <span class="cline-any cline-no">&nbsp;</span>
2088
+ <span class="cline-any cline-no">&nbsp;</span>
2089
+ <span class="cline-any cline-no">&nbsp;</span>
2090
+ <span class="cline-any cline-no">&nbsp;</span>
2091
+ <span class="cline-any cline-no">&nbsp;</span>
2092
+ <span class="cline-any cline-no">&nbsp;</span>
2093
+ <span class="cline-any cline-no">&nbsp;</span>
2094
+ <span class="cline-any cline-no">&nbsp;</span>
2095
+ <span class="cline-any cline-no">&nbsp;</span>
2096
+ <span class="cline-any cline-no">&nbsp;</span>
2097
+ <span class="cline-any cline-no">&nbsp;</span>
2098
+ <span class="cline-any cline-no">&nbsp;</span>
2099
+ <span class="cline-any cline-no">&nbsp;</span>
2100
+ <span class="cline-any cline-no">&nbsp;</span>
2101
+ <span class="cline-any cline-no">&nbsp;</span>
2102
+ <span class="cline-any cline-no">&nbsp;</span>
2103
+ <span class="cline-any cline-no">&nbsp;</span>
2104
+ <span class="cline-any cline-no">&nbsp;</span>
2105
+ <span class="cline-any cline-no">&nbsp;</span>
2106
+ <span class="cline-any cline-no">&nbsp;</span>
2107
+ <span class="cline-any cline-no">&nbsp;</span>
2108
+ <span class="cline-any cline-no">&nbsp;</span>
2109
+ <span class="cline-any cline-no">&nbsp;</span>
2110
+ <span class="cline-any cline-no">&nbsp;</span>
2111
+ <span class="cline-any cline-no">&nbsp;</span>
2112
+ <span class="cline-any cline-no">&nbsp;</span>
2113
+ <span class="cline-any cline-no">&nbsp;</span>
2114
+ <span class="cline-any cline-no">&nbsp;</span>
2115
+ <span class="cline-any cline-no">&nbsp;</span>
2116
+ <span class="cline-any cline-no">&nbsp;</span>
2117
+ <span class="cline-any cline-no">&nbsp;</span>
2118
+ <span class="cline-any cline-no">&nbsp;</span>
2119
+ <span class="cline-any cline-no">&nbsp;</span>
2120
+ <span class="cline-any cline-no">&nbsp;</span>
2121
+ <span class="cline-any cline-no">&nbsp;</span>
2122
+ <span class="cline-any cline-no">&nbsp;</span>
2123
+ <span class="cline-any cline-no">&nbsp;</span>
2124
+ <span class="cline-any cline-no">&nbsp;</span>
2125
+ <span class="cline-any cline-no">&nbsp;</span>
2126
+ <span class="cline-any cline-no">&nbsp;</span>
2127
+ <span class="cline-any cline-no">&nbsp;</span>
2128
+ <span class="cline-any cline-no">&nbsp;</span>
2129
+ <span class="cline-any cline-no">&nbsp;</span>
2130
+ <span class="cline-any cline-no">&nbsp;</span>
2131
+ <span class="cline-any cline-no">&nbsp;</span>
2132
+ <span class="cline-any cline-no">&nbsp;</span>
2133
+ <span class="cline-any cline-no">&nbsp;</span>
2134
+ <span class="cline-any cline-no">&nbsp;</span>
2135
+ <span class="cline-any cline-no">&nbsp;</span>
2136
+ <span class="cline-any cline-no">&nbsp;</span>
2137
+ <span class="cline-any cline-no">&nbsp;</span>
2138
+ <span class="cline-any cline-no">&nbsp;</span>
2139
+ <span class="cline-any cline-no">&nbsp;</span>
2140
+ <span class="cline-any cline-no">&nbsp;</span>
2141
+ <span class="cline-any cline-no">&nbsp;</span>
2142
+ <span class="cline-any cline-no">&nbsp;</span>
2143
+ <span class="cline-any cline-no">&nbsp;</span>
2144
+ <span class="cline-any cline-no">&nbsp;</span>
2145
+ <span class="cline-any cline-no">&nbsp;</span>
2146
+ <span class="cline-any cline-no">&nbsp;</span>
2147
+ <span class="cline-any cline-no">&nbsp;</span>
2148
+ <span class="cline-any cline-no">&nbsp;</span>
2149
+ <span class="cline-any cline-no">&nbsp;</span>
2150
+ <span class="cline-any cline-no">&nbsp;</span>
2151
+ <span class="cline-any cline-no">&nbsp;</span>
2152
+ <span class="cline-any cline-no">&nbsp;</span>
2153
+ <span class="cline-any cline-no">&nbsp;</span>
2154
+ <span class="cline-any cline-no">&nbsp;</span>
2155
+ <span class="cline-any cline-no">&nbsp;</span>
2156
+ <span class="cline-any cline-no">&nbsp;</span>
2157
+ <span class="cline-any cline-no">&nbsp;</span>
2158
+ <span class="cline-any cline-no">&nbsp;</span>
2159
+ <span class="cline-any cline-no">&nbsp;</span>
2160
+ <span class="cline-any cline-no">&nbsp;</span>
2161
+ <span class="cline-any cline-no">&nbsp;</span>
2162
+ <span class="cline-any cline-no">&nbsp;</span>
2163
+ <span class="cline-any cline-no">&nbsp;</span>
2164
+ <span class="cline-any cline-no">&nbsp;</span>
2165
+ <span class="cline-any cline-no">&nbsp;</span>
2166
+ <span class="cline-any cline-no">&nbsp;</span>
2167
+ <span class="cline-any cline-no">&nbsp;</span>
2168
+ <span class="cline-any cline-no">&nbsp;</span>
2169
+ <span class="cline-any cline-no">&nbsp;</span>
2170
+ <span class="cline-any cline-no">&nbsp;</span>
2171
+ <span class="cline-any cline-no">&nbsp;</span>
2172
+ <span class="cline-any cline-no">&nbsp;</span>
2173
+ <span class="cline-any cline-no">&nbsp;</span>
2174
+ <span class="cline-any cline-no">&nbsp;</span>
2175
+ <span class="cline-any cline-no">&nbsp;</span>
2176
+ <span class="cline-any cline-no">&nbsp;</span>
2177
+ <span class="cline-any cline-no">&nbsp;</span>
2178
+ <span class="cline-any cline-no">&nbsp;</span>
2179
+ <span class="cline-any cline-no">&nbsp;</span>
2180
+ <span class="cline-any cline-no">&nbsp;</span>
2181
+ <span class="cline-any cline-no">&nbsp;</span>
2182
+ <span class="cline-any cline-no">&nbsp;</span>
2183
+ <span class="cline-any cline-no">&nbsp;</span>
2184
+ <span class="cline-any cline-no">&nbsp;</span>
2185
+ <span class="cline-any cline-no">&nbsp;</span>
2186
+ <span class="cline-any cline-no">&nbsp;</span>
2187
+ <span class="cline-any cline-no">&nbsp;</span>
2188
+ <span class="cline-any cline-no">&nbsp;</span>
2189
+ <span class="cline-any cline-no">&nbsp;</span>
2190
+ <span class="cline-any cline-no">&nbsp;</span>
2191
+ <span class="cline-any cline-no">&nbsp;</span>
2192
+ <span class="cline-any cline-no">&nbsp;</span>
2193
+ <span class="cline-any cline-no">&nbsp;</span>
2194
+ <span class="cline-any cline-no">&nbsp;</span>
2195
+ <span class="cline-any cline-no">&nbsp;</span>
2196
+ <span class="cline-any cline-no">&nbsp;</span>
2197
+ <span class="cline-any cline-no">&nbsp;</span>
2198
+ <span class="cline-any cline-no">&nbsp;</span>
2199
+ <span class="cline-any cline-no">&nbsp;</span>
2200
+ <span class="cline-any cline-no">&nbsp;</span>
2201
+ <span class="cline-any cline-no">&nbsp;</span>
2202
+ <span class="cline-any cline-no">&nbsp;</span>
2203
+ <span class="cline-any cline-no">&nbsp;</span>
2204
+ <span class="cline-any cline-no">&nbsp;</span>
2205
+ <span class="cline-any cline-no">&nbsp;</span>
2206
+ <span class="cline-any cline-no">&nbsp;</span>
2207
+ <span class="cline-any cline-no">&nbsp;</span>
2208
+ <span class="cline-any cline-no">&nbsp;</span>
2209
+ <span class="cline-any cline-no">&nbsp;</span>
2210
+ <span class="cline-any cline-no">&nbsp;</span>
2211
+ <span class="cline-any cline-no">&nbsp;</span>
2212
+ <span class="cline-any cline-no">&nbsp;</span>
2213
+ <span class="cline-any cline-no">&nbsp;</span>
2214
+ <span class="cline-any cline-no">&nbsp;</span>
2215
+ <span class="cline-any cline-no">&nbsp;</span>
2216
+ <span class="cline-any cline-no">&nbsp;</span>
2217
+ <span class="cline-any cline-no">&nbsp;</span>
2218
+ <span class="cline-any cline-no">&nbsp;</span>
2219
+ <span class="cline-any cline-no">&nbsp;</span>
2220
+ <span class="cline-any cline-no">&nbsp;</span>
2221
+ <span class="cline-any cline-no">&nbsp;</span>
2222
+ <span class="cline-any cline-no">&nbsp;</span>
2223
+ <span class="cline-any cline-no">&nbsp;</span>
2224
+ <span class="cline-any cline-no">&nbsp;</span>
2225
+ <span class="cline-any cline-no">&nbsp;</span>
2226
+ <span class="cline-any cline-no">&nbsp;</span>
2227
+ <span class="cline-any cline-no">&nbsp;</span>
2228
+ <span class="cline-any cline-no">&nbsp;</span>
2229
+ <span class="cline-any cline-no">&nbsp;</span>
2230
+ <span class="cline-any cline-no">&nbsp;</span>
2231
+ <span class="cline-any cline-no">&nbsp;</span>
2232
+ <span class="cline-any cline-no">&nbsp;</span>
2233
+ <span class="cline-any cline-no">&nbsp;</span>
2234
+ <span class="cline-any cline-no">&nbsp;</span>
2235
+ <span class="cline-any cline-no">&nbsp;</span>
2236
+ <span class="cline-any cline-no">&nbsp;</span>
2237
+ <span class="cline-any cline-no">&nbsp;</span>
2238
+ <span class="cline-any cline-no">&nbsp;</span>
2239
+ <span class="cline-any cline-no">&nbsp;</span>
2240
+ <span class="cline-any cline-no">&nbsp;</span>
2241
+ <span class="cline-any cline-no">&nbsp;</span>
2242
+ <span class="cline-any cline-no">&nbsp;</span>
2243
+ <span class="cline-any cline-no">&nbsp;</span>
2244
+ <span class="cline-any cline-no">&nbsp;</span>
2245
+ <span class="cline-any cline-no">&nbsp;</span>
2246
+ <span class="cline-any cline-no">&nbsp;</span>
2247
+ <span class="cline-any cline-no">&nbsp;</span>
2248
+ <span class="cline-any cline-no">&nbsp;</span>
2249
+ <span class="cline-any cline-no">&nbsp;</span>
2250
+ <span class="cline-any cline-no">&nbsp;</span>
2251
+ <span class="cline-any cline-no">&nbsp;</span>
2252
+ <span class="cline-any cline-no">&nbsp;</span>
2253
+ <span class="cline-any cline-no">&nbsp;</span>
2254
+ <span class="cline-any cline-no">&nbsp;</span>
2255
+ <span class="cline-any cline-no">&nbsp;</span>
2256
+ <span class="cline-any cline-no">&nbsp;</span>
2257
+ <span class="cline-any cline-no">&nbsp;</span>
2258
+ <span class="cline-any cline-no">&nbsp;</span>
2259
+ <span class="cline-any cline-no">&nbsp;</span>
2260
+ <span class="cline-any cline-no">&nbsp;</span>
2261
+ <span class="cline-any cline-no">&nbsp;</span>
2262
+ <span class="cline-any cline-no">&nbsp;</span>
2263
+ <span class="cline-any cline-no">&nbsp;</span>
2264
+ <span class="cline-any cline-no">&nbsp;</span>
2265
+ <span class="cline-any cline-no">&nbsp;</span>
2266
+ <span class="cline-any cline-no">&nbsp;</span>
2267
+ <span class="cline-any cline-no">&nbsp;</span>
2268
+ <span class="cline-any cline-no">&nbsp;</span>
2269
+ <span class="cline-any cline-no">&nbsp;</span>
2270
+ <span class="cline-any cline-no">&nbsp;</span>
2271
+ <span class="cline-any cline-no">&nbsp;</span>
2272
+ <span class="cline-any cline-no">&nbsp;</span>
2273
+ <span class="cline-any cline-no">&nbsp;</span>
2274
+ <span class="cline-any cline-no">&nbsp;</span>
2275
+ <span class="cline-any cline-no">&nbsp;</span>
2276
+ <span class="cline-any cline-no">&nbsp;</span>
2277
+ <span class="cline-any cline-no">&nbsp;</span>
2278
+ <span class="cline-any cline-no">&nbsp;</span>
2279
+ <span class="cline-any cline-no">&nbsp;</span>
2280
+ <span class="cline-any cline-no">&nbsp;</span>
2281
+ <span class="cline-any cline-no">&nbsp;</span>
2282
+ <span class="cline-any cline-no">&nbsp;</span>
2283
+ <span class="cline-any cline-no">&nbsp;</span>
2284
+ <span class="cline-any cline-no">&nbsp;</span>
2285
+ <span class="cline-any cline-no">&nbsp;</span>
2286
+ <span class="cline-any cline-no">&nbsp;</span>
2287
+ <span class="cline-any cline-no">&nbsp;</span>
2288
+ <span class="cline-any cline-no">&nbsp;</span>
2289
+ <span class="cline-any cline-no">&nbsp;</span>
2290
+ <span class="cline-any cline-no">&nbsp;</span>
2291
+ <span class="cline-any cline-no">&nbsp;</span>
2292
+ <span class="cline-any cline-no">&nbsp;</span>
2293
+ <span class="cline-any cline-no">&nbsp;</span>
2294
+ <span class="cline-any cline-no">&nbsp;</span>
2295
+ <span class="cline-any cline-no">&nbsp;</span>
2296
+ <span class="cline-any cline-no">&nbsp;</span>
2297
+ <span class="cline-any cline-no">&nbsp;</span>
2298
+ <span class="cline-any cline-no">&nbsp;</span>
2299
+ <span class="cline-any cline-no">&nbsp;</span>
2300
+ <span class="cline-any cline-no">&nbsp;</span>
2301
+ <span class="cline-any cline-no">&nbsp;</span>
2302
+ <span class="cline-any cline-no">&nbsp;</span>
2303
+ <span class="cline-any cline-no">&nbsp;</span>
2304
+ <span class="cline-any cline-no">&nbsp;</span>
2305
+ <span class="cline-any cline-no">&nbsp;</span>
2306
+ <span class="cline-any cline-no">&nbsp;</span>
2307
+ <span class="cline-any cline-no">&nbsp;</span>
2308
+ <span class="cline-any cline-no">&nbsp;</span>
2309
+ <span class="cline-any cline-no">&nbsp;</span>
2310
+ <span class="cline-any cline-no">&nbsp;</span>
2311
+ <span class="cline-any cline-no">&nbsp;</span>
2312
+ <span class="cline-any cline-no">&nbsp;</span>
2313
+ <span class="cline-any cline-no">&nbsp;</span>
2314
+ <span class="cline-any cline-no">&nbsp;</span>
2315
+ <span class="cline-any cline-no">&nbsp;</span>
2316
+ <span class="cline-any cline-no">&nbsp;</span>
2317
+ <span class="cline-any cline-no">&nbsp;</span>
2318
+ <span class="cline-any cline-no">&nbsp;</span>
2319
+ <span class="cline-any cline-no">&nbsp;</span>
2320
+ <span class="cline-any cline-no">&nbsp;</span>
2321
+ <span class="cline-any cline-no">&nbsp;</span>
2322
+ <span class="cline-any cline-no">&nbsp;</span>
2323
+ <span class="cline-any cline-no">&nbsp;</span>
2324
+ <span class="cline-any cline-no">&nbsp;</span>
2325
+ <span class="cline-any cline-no">&nbsp;</span>
2326
+ <span class="cline-any cline-no">&nbsp;</span>
2327
+ <span class="cline-any cline-no">&nbsp;</span>
2328
+ <span class="cline-any cline-no">&nbsp;</span>
2329
+ <span class="cline-any cline-no">&nbsp;</span>
2330
+ <span class="cline-any cline-no">&nbsp;</span>
2331
+ <span class="cline-any cline-no">&nbsp;</span>
2332
+ <span class="cline-any cline-no">&nbsp;</span>
2333
+ <span class="cline-any cline-no">&nbsp;</span>
2334
+ <span class="cline-any cline-no">&nbsp;</span>
2335
+ <span class="cline-any cline-no">&nbsp;</span>
2336
+ <span class="cline-any cline-no">&nbsp;</span>
2337
+ <span class="cline-any cline-no">&nbsp;</span>
2338
+ <span class="cline-any cline-no">&nbsp;</span>
2339
+ <span class="cline-any cline-no">&nbsp;</span>
2340
+ <span class="cline-any cline-no">&nbsp;</span>
2341
+ <span class="cline-any cline-no">&nbsp;</span>
2342
+ <span class="cline-any cline-no">&nbsp;</span>
2343
+ <span class="cline-any cline-no">&nbsp;</span>
2344
+ <span class="cline-any cline-no">&nbsp;</span>
2345
+ <span class="cline-any cline-no">&nbsp;</span>
2346
+ <span class="cline-any cline-no">&nbsp;</span>
2347
+ <span class="cline-any cline-no">&nbsp;</span>
2348
+ <span class="cline-any cline-no">&nbsp;</span>
2349
+ <span class="cline-any cline-no">&nbsp;</span>
2350
+ <span class="cline-any cline-no">&nbsp;</span>
2351
+ <span class="cline-any cline-no">&nbsp;</span>
2352
+ <span class="cline-any cline-no">&nbsp;</span>
2353
+ <span class="cline-any cline-no">&nbsp;</span>
2354
+ <span class="cline-any cline-no">&nbsp;</span>
2355
+ <span class="cline-any cline-no">&nbsp;</span>
2356
+ <span class="cline-any cline-no">&nbsp;</span>
2357
+ <span class="cline-any cline-no">&nbsp;</span>
2358
+ <span class="cline-any cline-no">&nbsp;</span>
2359
+ <span class="cline-any cline-no">&nbsp;</span>
2360
+ <span class="cline-any cline-no">&nbsp;</span>
2361
+ <span class="cline-any cline-no">&nbsp;</span>
2362
+ <span class="cline-any cline-no">&nbsp;</span>
2363
+ <span class="cline-any cline-no">&nbsp;</span>
2364
+ <span class="cline-any cline-no">&nbsp;</span>
2365
+ <span class="cline-any cline-no">&nbsp;</span>
2366
+ <span class="cline-any cline-no">&nbsp;</span>
2367
+ <span class="cline-any cline-no">&nbsp;</span>
2368
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" >import { BigNumber } from "bignumber.js";<span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" ></span></span></span>
2369
+ <span class="cstat-no" title="statement not covered" >import { useEffect, useState } from "react";</span>
2370
+ <span class="cstat-no" title="statement not covered" >import PropTypes from "prop-types";</span>
2371
+ <span class="cstat-no" title="statement not covered" ></span>
2372
+ <span class="cstat-no" title="statement not covered" >import s from "./swap-form.module.scss";</span>
2373
+ <span class="cstat-no" title="statement not covered" ></span>
2374
+ <span class="cstat-no" title="statement not covered" >import { useReferredState } from "../../hooks/useReferredState.js";</span>
2375
+ <span class="cstat-no" title="statement not covered" >import { useCallHandlingErrors } from "../../hooks/useCallHandlingErrors.js";</span>
2376
+ <span class="cstat-no" title="statement not covered" ></span>
2377
+ <span class="cstat-no" title="statement not covered" >import { AmountUtils } from "../../../common/amountUtils.js";</span>
2378
+ <span class="cstat-no" title="statement not covered" >import { TitleBox } from "../../atoms/TitleBox/TitleBox.jsx";</span>
2379
+ <span class="cstat-no" title="statement not covered" >import { AmountInput } from "../../molecules/AmountInput/AmountInput.jsx";</span>
2380
+ <span class="cstat-no" title="statement not covered" >import { Validation } from "../../atoms/Validation/Validation.jsx";</span>
2381
+ <span class="cstat-no" title="statement not covered" >import { Button } from "../../atoms/buttons/Button/Button.jsx";</span>
2382
+ <span class="cstat-no" title="statement not covered" ></span>
2383
+ <span class="cstat-no" title="statement not covered" >/**</span>
2384
+ <span class="cstat-no" title="statement not covered" > * This is type definition of a function that is used inside SwapForm to compose the URL for hero button.</span>
2385
+ <span class="cstat-no" title="statement not covered" > *</span>
2386
+ <span class="cstat-no" title="statement not covered" > * @function</span>
2387
+ <span class="cstat-no" title="statement not covered" > * @name composeConfirmButtonTo</span>
2388
+ <span class="cstat-no" title="statement not covered" > * @param [fromTicker] {string}</span>
2389
+ <span class="cstat-no" title="statement not covered" > * @param [toTicker] {string}</span>
2390
+ <span class="cstat-no" title="statement not covered" > * @param [fromAmount] {string}</span>
2391
+ <span class="cstat-no" title="statement not covered" > * @return {string} full URL or relative URL that can be used for &lt;a href="..." /&gt;</span>
2392
+ <span class="cstat-no" title="statement not covered" > */</span>
2393
+ <span class="cstat-no" title="statement not covered" ></span>
2394
+ <span class="cstat-no" title="statement not covered" >/**</span>
2395
+ <span class="cstat-no" title="statement not covered" > * Common click handler without params and return value, just your logic execution.</span>
2396
+ <span class="cstat-no" title="statement not covered" > *</span>
2397
+ <span class="cstat-no" title="statement not covered" > * @function</span>
2398
+ <span class="cstat-no" title="statement not covered" > * @name handleClick</span>
2399
+ <span class="cstat-no" title="statement not covered" > * @return {void}</span>
2400
+ <span class="cstat-no" title="statement not covered" > */</span>
2401
+ <span class="cstat-no" title="statement not covered" ></span>
2402
+ <span class="cstat-no" title="statement not covered" >/**</span>
2403
+ <span class="cstat-no" title="statement not covered" > * Form executes this function when swap creation info retrieval is finished successfully.</span>
2404
+ <span class="cstat-no" title="statement not covered" > *</span>
2405
+ <span class="cstat-no" title="statement not covered" > * @name setSwapCreationEstimation</span>
2406
+ <span class="cstat-no" title="statement not covered" > * @function</span>
2407
+ <span class="cstat-no" title="statement not covered" > * @param details {BaseSwapCreationInfo}</span>
2408
+ <span class="cstat-no" title="statement not covered" > * @return {void}</span>
2409
+ <span class="cstat-no" title="statement not covered" > */</span>
2410
+ <span class="cstat-no" title="statement not covered" ></span>
2411
+ <span class="cstat-no" title="statement not covered" >/**</span>
2412
+ <span class="cstat-no" title="statement not covered" > * Error handler for unexpected errors.</span>
2413
+ <span class="cstat-no" title="statement not covered" > *</span>
2414
+ <span class="cstat-no" title="statement not covered" > * @name handleUnexpectedError</span>
2415
+ <span class="cstat-no" title="statement not covered" > * @function</span>
2416
+ <span class="cstat-no" title="statement not covered" > * @param error {Error}</span>
2417
+ <span class="cstat-no" title="statement not covered" > * @return {void}</span>
2418
+ <span class="cstat-no" title="statement not covered" > */</span>
2419
+ <span class="cstat-no" title="statement not covered" ></span>
2420
+ <span class="cstat-no" title="statement not covered" >/**</span>
2421
+ <span class="cstat-no" title="statement not covered" > * Should implement the logic with rotating assets (if you want "to" to became "from" and "from" to became "to").</span>
2422
+ <span class="cstat-no" title="statement not covered" > *</span>
2423
+ <span class="cstat-no" title="statement not covered" > * @function</span>
2424
+ <span class="cstat-no" title="statement not covered" > * @name rotateAssets</span>
2425
+ <span class="cstat-no" title="statement not covered" > * @param sendingAssetTicker {string}</span>
2426
+ <span class="cstat-no" title="statement not covered" > * @param receivingAssetTicker {string}</span>
2427
+ <span class="cstat-no" title="statement not covered" > * @return {void}</span>
2428
+ <span class="cstat-no" title="statement not covered" > */</span>
2429
+ <span class="cstat-no" title="statement not covered" ></span>
2430
+ <span class="cstat-no" title="statement not covered" >/**</span>
2431
+ <span class="cstat-no" title="statement not covered" > * Error handler for standard errors that we can recognize.</span>
2432
+ <span class="cstat-no" title="statement not covered" > *</span>
2433
+ <span class="cstat-no" title="statement not covered" > * @function</span>
2434
+ <span class="cstat-no" title="statement not covered" > * @name handleSwapServiceError</span>
2435
+ <span class="cstat-no" title="statement not covered" > * @param errorCode {string} error code that is being returned as "reason" from your handlers ...</span>
2436
+ <span class="cstat-no" title="statement not covered" > * @param setValidationContent {function} accepts string to be displayed on form as validation error</span>
2437
+ <span class="cstat-no" title="statement not covered" > * @param setBalanceValid {function} accepts single boolean parameter</span>
2438
+ <span class="cstat-no" title="statement not covered" > * @param setMinimalAmountValid {function} accepts single boolean parameter</span>
2439
+ <span class="cstat-no" title="statement not covered" > * @param setMaximumAmountValid {function} accepts single boolean parameter</span>
2440
+ <span class="cstat-no" title="statement not covered" > * @param setIsPairSupported {function} accepts single boolean parameter</span>
2441
+ <span class="cstat-no" title="statement not covered" > * @param setIsSameCoins {function} accepts single boolean parameter</span>
2442
+ <span class="cstat-no" title="statement not covered" > * @return {void}</span>
2443
+ <span class="cstat-no" title="statement not covered" > */</span>
2444
+ <span class="cstat-no" title="statement not covered" ></span>
2445
+ <span class="cstat-no" title="statement not covered" >/**</span>
2446
+ <span class="cstat-no" title="statement not covered" > * Async function that retrieves swap creation info by given params.</span>
2447
+ <span class="cstat-no" title="statement not covered" > *</span>
2448
+ <span class="cstat-no" title="statement not covered" > * @function</span>
2449
+ <span class="cstat-no" title="statement not covered" > * @name retrieveSwapDetails</span>
2450
+ <span class="cstat-no" title="statement not covered" > * @param sendingAssetTicker {string}</span>
2451
+ <span class="cstat-no" title="statement not covered" > * @param receivingAssetTicker {string}</span>
2452
+ <span class="cstat-no" title="statement not covered" > * @param amount {string}</span>
2453
+ <span class="cstat-no" title="statement not covered" > * @param [isSwapAll=false] {boolean}</span>
2454
+ <span class="cstat-no" title="statement not covered" > * @return {Promise&lt;{</span>
2455
+ <span class="cstat-no" title="statement not covered" > * result: false,</span>
2456
+ <span class="cstat-no" title="statement not covered" > * reason: string,</span>
2457
+ <span class="cstat-no" title="statement not covered" > * min: (string|null),</span>
2458
+ <span class="cstat-no" title="statement not covered" > * max: (string|null),</span>
2459
+ <span class="cstat-no" title="statement not covered" > * rate: (string|undefined),</span>
2460
+ <span class="cstat-no" title="statement not covered" > * fiatMin: (number|null),</span>
2461
+ <span class="cstat-no" title="statement not covered" > * fiatMax: (number|null)</span>
2462
+ <span class="cstat-no" title="statement not covered" > * }|{</span>
2463
+ <span class="cstat-no" title="statement not covered" > * result: true,</span>
2464
+ <span class="cstat-no" title="statement not covered" > * swapCreationInfo: BaseSwapCreationInfo</span>
2465
+ <span class="cstat-no" title="statement not covered" > * }&gt;}</span>
2466
+ <span class="cstat-no" title="statement not covered" > */</span>
2467
+ <span class="cstat-no" title="statement not covered" ></span>
2468
+ <span class="cstat-no" title="statement not covered" >/**</span>
2469
+ <span class="cstat-no" title="statement not covered" > * Async function that retrieves initial swap details for pair like whether the pair is available, min/max swappable amounts etc.</span>
2470
+ <span class="cstat-no" title="statement not covered" > *</span>
2471
+ <span class="cstat-no" title="statement not covered" > * @function</span>
2472
+ <span class="cstat-no" title="statement not covered" > * @name retrieveInitialSwapData</span>
2473
+ <span class="cstat-no" title="statement not covered" > * @param sendingAssetTicker {string}</span>
2474
+ <span class="cstat-no" title="statement not covered" > * @param receivingAssetTicker {string}</span>
2475
+ <span class="cstat-no" title="statement not covered" > * @return {Promise&lt;{</span>
2476
+ <span class="cstat-no" title="statement not covered" > * result: true,</span>
2477
+ <span class="cstat-no" title="statement not covered" > * min: string,</span>
2478
+ <span class="cstat-no" title="statement not covered" > * fiatMin: (number|null),</span>
2479
+ <span class="cstat-no" title="statement not covered" > * max: string,</span>
2480
+ <span class="cstat-no" title="statement not covered" > * fiatMax: (number|null),</span>
2481
+ <span class="cstat-no" title="statement not covered" > * rate: (string|null)</span>
2482
+ <span class="cstat-no" title="statement not covered" > * }|{</span>
2483
+ <span class="cstat-no" title="statement not covered" > * result: false,</span>
2484
+ <span class="cstat-no" title="statement not covered" > * reason: string</span>
2485
+ <span class="cstat-no" title="statement not covered" > * }&gt;}</span>
2486
+ <span class="cstat-no" title="statement not covered" > */</span>
2487
+ <span class="cstat-no" title="statement not covered" ></span>
2488
+ <span class="cstat-no" title="statement not covered" >/**</span>
2489
+ <span class="cstat-no" title="statement not covered" > * Swap form provides basic functionality for entering to/from amounts both in crypto and fiat, switching assets,</span>
2490
+ <span class="cstat-no" title="statement not covered" > * selecting assets, showing balance for assets.</span>
2491
+ <span class="cstat-no" title="statement not covered" > * It gracefully handles not available fiat rates and can work without wallet environment (without balances).</span>
2492
+ <span class="cstat-no" title="statement not covered" > *</span>
2493
+ <span class="cstat-no" title="statement not covered" > * @param sendingAssetTicker {string} Rabbit format of ticker</span>
2494
+ <span class="cstat-no" title="statement not covered" > * @param receivingAssetTicker {string} Rabbit format of ticker</span>
2495
+ <span class="cstat-no" title="statement not covered" > * @param [sendingAssetDecimalCount=AmountUtils.significantDecimalCount] {number}</span>
2496
+ <span class="cstat-no" title="statement not covered" > * @param [receivingAssetDecimalCount=AmountUtils.significantDecimalCount] {number}</span>
2497
+ <span class="cstat-no" title="statement not covered" > * @param sendingAssetTickerPrintable {string} standard asset ticker</span>
2498
+ <span class="cstat-no" title="statement not covered" > * @param receivingAssetTickerPrintable {string} standard asset ticker</span>
2499
+ <span class="cstat-no" title="statement not covered" > * @param [sendingAssetProtocol] Protocol name to be displayed in text in the change asset button</span>
2500
+ <span class="cstat-no" title="statement not covered" > * @param [receivingAssetProtocol] Protocol name to be displayed in text in the change asset button</span>
2501
+ <span class="cstat-no" title="statement not covered" > * @param sendingAssetIconSrc {string} ready to use src</span>
2502
+ <span class="cstat-no" title="statement not covered" > * @param [sendingAssetProtocolIconSrc=null] {string} optional ready to use src</span>
2503
+ <span class="cstat-no" title="statement not covered" > * @param receivingAssetIconSrc {string} ready to use src</span>
2504
+ <span class="cstat-no" title="statement not covered" > * @param [receivingAssetProtocolIconSrc=null] {string} optional ready to use src</span>
2505
+ <span class="cstat-no" title="statement not covered" > * @param [fallBackAssetIconSrc=null] {string} optional ready to use src - used when some icon src resolution fails</span>
2506
+ <span class="cstat-no" title="statement not covered" > * @param sendingAssetFeeCoinTickerPrintable {string} optional standard ticker for fee coin</span>
2507
+ <span class="cstat-no" title="statement not covered" > * @param [sendingAssetBalance] {string}</span>
2508
+ <span class="cstat-no" title="statement not covered" > * @param [receivingAssetBalance] {string}</span>
2509
+ <span class="cstat-no" title="statement not covered" > * @param handleChangeSendingAssetClick {handleClick}</span>
2510
+ <span class="cstat-no" title="statement not covered" > * @param handleChangeReceivingAssetClick {handleClick}</span>
2511
+ <span class="cstat-no" title="statement not covered" > * @param handleConfirmButtonClick {handleClick}</span>
2512
+ <span class="cstat-no" title="statement not covered" > * @param composeConfirmButtonTo {composeConfirmButtonTo}</span>
2513
+ <span class="cstat-no" title="statement not covered" > * @param setSwapCreationEstimation {setSwapCreationEstimation}</span>
2514
+ <span class="cstat-no" title="statement not covered" > * @param handleUnexpectedError {handleUnexpectedError}</span>
2515
+ <span class="cstat-no" title="statement not covered" > * @param rotateAssets {rotateAssets}</span>
2516
+ <span class="cstat-no" title="statement not covered" > * @param [preservedAmount=null] {string}</span>
2517
+ <span class="cstat-no" title="statement not covered" > * @param handleSwapServiceError {handleSwapServiceError}</span>
2518
+ <span class="cstat-no" title="statement not covered" > * @param [formHasBalance] {boolean}</span>
2519
+ <span class="cstat-no" title="statement not covered" > * @param retrieveSwapDetails {retrieveSwapDetails}</span>
2520
+ <span class="cstat-no" title="statement not covered" > * @param retrieveInitialSwapData {retrieveInitialSwapData}</span>
2521
+ <span class="cstat-no" title="statement not covered" > * @param triggerDataUpdateResetting {number} convey changed number to reset interval updating the data periodically</span>
2522
+ <span class="cstat-no" title="statement not covered" > * @param fromAssetSelectionButtonRef {React.Ref}</span>
2523
+ <span class="cstat-no" title="statement not covered" > * @param toAssetSelectionButtonRef {React.Ref}</span>
2524
+ <span class="cstat-no" title="statement not covered" > * @param [sendingAssetToFiatRate] {number|string}</span>
2525
+ <span class="cstat-no" title="statement not covered" > * @param [receivingAssetToFiatRate] {number|string}</span>
2526
+ <span class="cstat-no" title="statement not covered" > * @param [fiatCurrencyCode] {string}</span>
2527
+ <span class="cstat-no" title="statement not covered" > * @param [fiatCurrencyDecimals] {number}</span>
2528
+ <span class="cstat-no" title="statement not covered" > * @param formHasFiat {boolean}</span>
2529
+ <span class="cstat-no" title="statement not covered" > * @param [translations] {object} default English texts will be used if the property is omitted</span>
2530
+ <span class="cstat-no" title="statement not covered" > * @param swapSeparatorIconSrc {string} ready to use src</span>
2531
+ <span class="cstat-no" title="statement not covered" > * @param swapButtonAlwaysActive {boolean} this setting allows to the form state in terms of validity to go</span>
2532
+ <span class="cstat-no" title="statement not covered" > * to the next step. If this setting is set to true then user always can click the hero button</span>
2533
+ <span class="cstat-no" title="statement not covered" > * @return {JSX.Element}</span>
2534
+ <span class="cstat-no" title="statement not covered" > * @constructor</span>
2535
+ <span class="cstat-no" title="statement not covered" > */</span>
2536
+ <span class="cstat-no" title="statement not covered" >export const SwapForm = ({</span>
2537
+ <span class="cstat-no" title="statement not covered" > sendingAssetTicker,</span>
2538
+ <span class="cstat-no" title="statement not covered" > receivingAssetTicker,</span>
2539
+ <span class="cstat-no" title="statement not covered" > sendingAssetDecimalCount = AmountUtils.significantDecimalCount,</span>
2540
+ <span class="cstat-no" title="statement not covered" > receivingAssetDecimalCount = AmountUtils.significantDecimalCount,</span>
2541
+ <span class="cstat-no" title="statement not covered" > sendingAssetTickerPrintable,</span>
2542
+ <span class="cstat-no" title="statement not covered" > receivingAssetTickerPrintable,</span>
2543
+ <span class="cstat-no" title="statement not covered" > sendingAssetProtocol,</span>
2544
+ <span class="cstat-no" title="statement not covered" > receivingAssetProtocol,</span>
2545
+ <span class="cstat-no" title="statement not covered" > sendingAssetIconSrc,</span>
2546
+ <span class="cstat-no" title="statement not covered" > sendingAssetProtocolIconSrc = null,</span>
2547
+ <span class="cstat-no" title="statement not covered" > receivingAssetIconSrc,</span>
2548
+ <span class="cstat-no" title="statement not covered" > receivingAssetProtocolIconSrc = null,</span>
2549
+ <span class="cstat-no" title="statement not covered" > fallBackAssetIconSrc = null,</span>
2550
+ <span class="cstat-no" title="statement not covered" > sendingAssetFeeCoinTickerPrintable,</span>
2551
+ <span class="cstat-no" title="statement not covered" > sendingAssetBalance,</span>
2552
+ <span class="cstat-no" title="statement not covered" > receivingAssetBalance,</span>
2553
+ <span class="cstat-no" title="statement not covered" > handleChangeSendingAssetClick,</span>
2554
+ <span class="cstat-no" title="statement not covered" > handleChangeReceivingAssetClick,</span>
2555
+ <span class="cstat-no" title="statement not covered" > handleConfirmButtonClick = () =&gt; {},</span>
2556
+ <span class="cstat-no" title="statement not covered" > composeConfirmButtonTo = (fromTicker, toTicker, fromAmount) =&gt; "",</span>
2557
+ <span class="cstat-no" title="statement not covered" > setSwapCreationEstimation = (details) =&gt; {},</span>
2558
+ <span class="cstat-no" title="statement not covered" > handleUnexpectedError = (error) =&gt; {},</span>
2559
+ <span class="cstat-no" title="statement not covered" > rotateAssets = (fromTicker, toTicker) =&gt; {},</span>
2560
+ <span class="cstat-no" title="statement not covered" > preservedAmount = null,</span>
2561
+ <span class="cstat-no" title="statement not covered" > handleSwapServiceError = (</span>
2562
+ <span class="cstat-no" title="statement not covered" > errorCode,</span>
2563
+ <span class="cstat-no" title="statement not covered" > setValidationContent,</span>
2564
+ <span class="cstat-no" title="statement not covered" > setBalanceValid,</span>
2565
+ <span class="cstat-no" title="statement not covered" > setMinimalAmountValid,</span>
2566
+ <span class="cstat-no" title="statement not covered" > setMaximumAmountValid,</span>
2567
+ <span class="cstat-no" title="statement not covered" > setIsPairSupported,</span>
2568
+ <span class="cstat-no" title="statement not covered" > setIsSameCoins</span>
2569
+ <span class="cstat-no" title="statement not covered" > ) =&gt; {},</span>
2570
+ <span class="cstat-no" title="statement not covered" > formHasBalance = false,</span>
2571
+ <span class="cstat-no" title="statement not covered" > retrieveSwapDetails = async (</span>
2572
+ <span class="cstat-no" title="statement not covered" > sendingAssetTicker,</span>
2573
+ <span class="cstat-no" title="statement not covered" > receivingAssetTicker,</span>
2574
+ <span class="cstat-no" title="statement not covered" > amount,</span>
2575
+ <span class="cstat-no" title="statement not covered" > isSwapAll = false</span>
2576
+ <span class="cstat-no" title="statement not covered" > ) =&gt; {},</span>
2577
+ <span class="cstat-no" title="statement not covered" > retrieveInitialSwapData = async (</span>
2578
+ <span class="cstat-no" title="statement not covered" > sendingAssetTicker,</span>
2579
+ <span class="cstat-no" title="statement not covered" > receivingAssetTicker</span>
2580
+ <span class="cstat-no" title="statement not covered" > ) =&gt; {},</span>
2581
+ <span class="cstat-no" title="statement not covered" > triggerDataUpdateResetting = 0,</span>
2582
+ <span class="cstat-no" title="statement not covered" > fromAssetSelectionButtonRef = null,</span>
2583
+ <span class="cstat-no" title="statement not covered" > toAssetSelectionButtonRef = null,</span>
2584
+ <span class="cstat-no" title="statement not covered" > sendingAssetToFiatRate = null,</span>
2585
+ <span class="cstat-no" title="statement not covered" > receivingAssetToFiatRate = null,</span>
2586
+ <span class="cstat-no" title="statement not covered" > fiatCurrencyCode = null,</span>
2587
+ <span class="cstat-no" title="statement not covered" > fiatCurrencyDecimals = null,</span>
2588
+ <span class="cstat-no" title="statement not covered" > formHasFiat = true,</span>
2589
+ <span class="cstat-no" title="statement not covered" > translations = {</span>
2590
+ <span class="cstat-no" title="statement not covered" > swapAllButtonTitles: {</span>
2591
+ <span class="cstat-no" title="statement not covered" > enable: "Swap all",</span>
2592
+ <span class="cstat-no" title="statement not covered" > cancel: "Cancel",</span>
2593
+ <span class="cstat-no" title="statement not covered" > },</span>
2594
+ <span class="cstat-no" title="statement not covered" > input: {</span>
2595
+ <span class="cstat-no" title="statement not covered" > fiatPlaceholder: "Enter fiat amount",</span>
2596
+ <span class="cstat-no" title="statement not covered" > balanceLoaderText: "Loading balance...",</span>
2597
+ <span class="cstat-no" title="statement not covered" > },</span>
2598
+ <span class="cstat-no" title="statement not covered" > consents: {</span>
2599
+ <span class="cstat-no" title="statement not covered" > consentTextRate: "Rate varies with the amount.",</span>
2600
+ <span class="cstat-no" title="statement not covered" > consentText: 'By clicking "Swap" you agree with Rabbit Swap\'s',</span>
2601
+ <span class="cstat-no" title="statement not covered" > termsOfUse: "Terms of Use",</span>
2602
+ <span class="cstat-no" title="statement not covered" > and: "and",</span>
2603
+ <span class="cstat-no" title="statement not covered" > privacyPolicy: "Privacy Policy",</span>
2604
+ <span class="cstat-no" title="statement not covered" > },</span>
2605
+ <span class="cstat-no" title="statement not covered" > informationBlock: {</span>
2606
+ <span class="cstat-no" title="statement not covered" > minimumAmount: "Minimal amount: ",</span>
2607
+ <span class="cstat-no" title="statement not covered" > maximumAmount: "Maximum amount: ",</span>
2608
+ <span class="cstat-no" title="statement not covered" > transactionFee: "Network fee: ",</span>
2609
+ <span class="cstat-no" title="statement not covered" > calculatingNetworkFee: "Calculating network fee..",</span>
2610
+ <span class="cstat-no" title="statement not covered" > loadingMinimalAmount: "Loading minimal amount..",</span>
2611
+ <span class="cstat-no" title="statement not covered" > swapRate: "Rate: ",</span>
2612
+ <span class="cstat-no" title="statement not covered" > calculatingSwapRates: "Calculating swap rates..",</span>
2613
+ <span class="cstat-no" title="statement not covered" > pairNotAvailable:</span>
2614
+ <span class="cstat-no" title="statement not covered" > "Pair is not available now. Please, try again later or choose another pair.",</span>
2615
+ <span class="cstat-no" title="statement not covered" > },</span>
2616
+ <span class="cstat-no" title="statement not covered" > confirmButtonText: "Swap",</span>
2617
+ <span class="cstat-no" title="statement not covered" > },</span>
2618
+ <span class="cstat-no" title="statement not covered" > swapSeparatorIconSrc,</span>
2619
+ <span class="cstat-no" title="statement not covered" > swapButtonAlwaysActive = false,</span>
2620
+ <span class="cstat-no" title="statement not covered" >}) =&gt; {</span>
2621
+ <span class="cstat-no" title="statement not covered" > const DETAIL_REFRESH_INTERVAL_MS = 1.5 * 60000;</span>
2622
+ <span class="cstat-no" title="statement not covered" ></span>
2623
+ <span class="cstat-no" title="statement not covered" > // Updating the states below will insert the new value into the send or receive input field</span>
2624
+ <span class="cstat-no" title="statement not covered" > const [updateSendInputTo, setUpdateSendInputTo] = useState(</span>
2625
+ <span class="cstat-no" title="statement not covered" > preservedAmount ?? null</span>
2626
+ <span class="cstat-no" title="statement not covered" > );</span>
2627
+ <span class="cstat-no" title="statement not covered" > const [updateReceiveInputTo, setUpdateReceiveInputTo] = useState(null);</span>
2628
+ <span class="cstat-no" title="statement not covered" ></span>
2629
+ <span class="cstat-no" title="statement not covered" > const [sendAssetAmount, setSendAssetAmount] = useReferredState(</span>
2630
+ <span class="cstat-no" title="statement not covered" > preservedAmount == null || preservedAmount === ""</span>
2631
+ <span class="cstat-no" title="statement not covered" > ? null</span>
2632
+ <span class="cstat-no" title="statement not covered" > : preservedAmount</span>
2633
+ <span class="cstat-no" title="statement not covered" > );</span>
2634
+ <span class="cstat-no" title="statement not covered" ></span>
2635
+ <span class="cstat-no" title="statement not covered" > const [swapRate, setSwapRate] = useState();</span>
2636
+ <span class="cstat-no" title="statement not covered" > const [minimalAmount, setMinimalAmount] = useReferredState(null);</span>
2637
+ <span class="cstat-no" title="statement not covered" > const [maximumAmount, setMaximumAmount] = useReferredState(null);</span>
2638
+ <span class="cstat-no" title="statement not covered" > const [validationContent, setValidationContent] = useState();</span>
2639
+ <span class="cstat-no" title="statement not covered" ></span>
2640
+ <span class="cstat-no" title="statement not covered" > const [minimalAmountValid, setMinimalAmountValid] = useState(true); // Whether the amount is above the minimal amount</span>
2641
+ <span class="cstat-no" title="statement not covered" > const [maximumAmountValid, setMaximumAmountValid] = useState(true);</span>
2642
+ <span class="cstat-no" title="statement not covered" > const [isPairSupported, setIsPairSupported] = useState(true);</span>
2643
+ <span class="cstat-no" title="statement not covered" > const [isSameCoins, setIsSameCoins] = useState(false);</span>
2644
+ <span class="cstat-no" title="statement not covered" > const [isSwapCalculated, setIsSwapCalculated] = useState(false);</span>
2645
+ <span class="cstat-no" title="statement not covered" > const [readyToSwap, setReadyToSwap] = useState(false); // Basically a param that enables/disables the "Next" button</span>
2646
+ <span class="cstat-no" title="statement not covered" > // TODO: [refactoring, moderate] instead of handling preservedAmount at a lot of cases below, just</span>
2647
+ <span class="cstat-no" title="statement not covered" > // write single useEffect setting sendAssetAmount to the=is passed value and simplify the logic below. task_id=6453251e49b04c5e88a3cc771479ffb5</span>
2648
+ <span class="cstat-no" title="statement not covered" > const [isAmountZero, setIsAmountZero] = useState(</span>
2649
+ <span class="cstat-no" title="statement not covered" > preservedAmount == null || String(preservedAmount) === "0"</span>
2650
+ <span class="cstat-no" title="statement not covered" > );</span>
2651
+ <span class="cstat-no" title="statement not covered" > const [isLoading, setIsLoading] = useReferredState(false); // Whether the form is in the progress of loading some data (new rates, for example)</span>
2652
+ <span class="cstat-no" title="statement not covered" > const [confirmButtonTo, setConfirmButtonTo] = useState(</span>
2653
+ <span class="cstat-no" title="statement not covered" > composeConfirmButtonTo(</span>
2654
+ <span class="cstat-no" title="statement not covered" > sendingAssetTicker,</span>
2655
+ <span class="cstat-no" title="statement not covered" > receivingAssetTicker,</span>
2656
+ <span class="cstat-no" title="statement not covered" > preservedAmount</span>
2657
+ <span class="cstat-no" title="statement not covered" > )</span>
2658
+ <span class="cstat-no" title="statement not covered" > );</span>
2659
+ <span class="cstat-no" title="statement not covered" ></span>
2660
+ <span class="cstat-no" title="statement not covered" > const [transactionFee, setTransactionFee] = useState();</span>
2661
+ <span class="cstat-no" title="statement not covered" > const [balanceValid, setBalanceValid] = useState(true); // Whether the amount is less than total balance</span>
2662
+ <span class="cstat-no" title="statement not covered" > const [isSwapAll, setIsSwapAll] = useReferredState(null);</span>
2663
+ <span class="cstat-no" title="statement not covered" > const [swapAllButtonLoaderReSetter, setSwapAllButtonLoaderReSetter] =</span>
2664
+ <span class="cstat-no" title="statement not covered" > useState([]);</span>
2665
+ <span class="cstat-no" title="statement not covered" ></span>
2666
+ <span class="cstat-no" title="statement not covered" > const [dataUpdateTimeoutId, setDataUpdateTimeoutId] =</span>
2667
+ <span class="cstat-no" title="statement not covered" > useReferredState(null);</span>
2668
+ <span class="cstat-no" title="statement not covered" > const [idleDataUpdateTimeoutId, setIdleDataUpdateTimeoutId] =</span>
2669
+ <span class="cstat-no" title="statement not covered" > useReferredState(null);</span>
2670
+ <span class="cstat-no" title="statement not covered" ></span>
2671
+ <span class="cstat-no" title="statement not covered" > const callHandlingErrors = useCallHandlingErrors();</span>
2672
+ <span class="cstat-no" title="statement not covered" ></span>
2673
+ <span class="cstat-no" title="statement not covered" > const recalculationDelayOnTyping = 1000;</span>
2674
+ <span class="cstat-no" title="statement not covered" > const showConsent = !formHasBalance; // We show TOS&amp;PP consent only when working outside wallet</span>
2675
+ <span class="cstat-no" title="statement not covered" ></span>
2676
+ <span class="cstat-no" title="statement not covered" > const handleSendAssetAmountChange = (amount) =&gt; {</span>
2677
+ <span class="cstat-no" title="statement not covered" > if (amount != null &amp;&amp; amount !== "") {</span>
2678
+ <span class="cstat-no" title="statement not covered" > setUpdateReceiveInputTo(</span>
2679
+ <span class="cstat-no" title="statement not covered" > AmountUtils.trim(</span>
2680
+ <span class="cstat-no" title="statement not covered" > BigNumber(amount).times(swapRate),</span>
2681
+ <span class="cstat-no" title="statement not covered" > receivingAssetDecimalCount</span>
2682
+ <span class="cstat-no" title="statement not covered" > )</span>
2683
+ <span class="cstat-no" title="statement not covered" > );</span>
2684
+ <span class="cstat-no" title="statement not covered" > } else {</span>
2685
+ <span class="cstat-no" title="statement not covered" > setUpdateReceiveInputTo("");</span>
2686
+ <span class="cstat-no" title="statement not covered" > }</span>
2687
+ <span class="cstat-no" title="statement not covered" > setSendAssetAmount(amount);</span>
2688
+ <span class="cstat-no" title="statement not covered" > };</span>
2689
+ <span class="cstat-no" title="statement not covered" ></span>
2690
+ <span class="cstat-no" title="statement not covered" > const handleReceiveAssetAmountChange = (amount) =&gt; {</span>
2691
+ <span class="cstat-no" title="statement not covered" > let sendAssetAmount = "";</span>
2692
+ <span class="cstat-no" title="statement not covered" > if (amount != null &amp;&amp; amount !== "") {</span>
2693
+ <span class="cstat-no" title="statement not covered" > sendAssetAmount = AmountUtils.trim(</span>
2694
+ <span class="cstat-no" title="statement not covered" > BigNumber(amount).div(swapRate),</span>
2695
+ <span class="cstat-no" title="statement not covered" > sendingAssetDecimalCount</span>
2696
+ <span class="cstat-no" title="statement not covered" > );</span>
2697
+ <span class="cstat-no" title="statement not covered" > }</span>
2698
+ <span class="cstat-no" title="statement not covered" > setUpdateSendInputTo(sendAssetAmount);</span>
2699
+ <span class="cstat-no" title="statement not covered" > setSendAssetAmount(sendAssetAmount);</span>
2700
+ <span class="cstat-no" title="statement not covered" > };</span>
2701
+ <span class="cstat-no" title="statement not covered" ></span>
2702
+ <span class="cstat-no" title="statement not covered" > const handleMinimalAmountClick = () =&gt; {</span>
2703
+ <span class="cstat-no" title="statement not covered" > if (!minimalAmount.current) return;</span>
2704
+ <span class="cstat-no" title="statement not covered" ></span>
2705
+ <span class="cstat-no" title="statement not covered" > setUpdateSendInputTo(minimalAmount.current?.crypto);</span>
2706
+ <span class="cstat-no" title="statement not covered" > handleSendAssetAmountChange(minimalAmount.current?.crypto);</span>
2707
+ <span class="cstat-no" title="statement not covered" > };</span>
2708
+ <span class="cstat-no" title="statement not covered" ></span>
2709
+ <span class="cstat-no" title="statement not covered" > const handleMaximumAmountClick = () =&gt; {</span>
2710
+ <span class="cstat-no" title="statement not covered" > if (!maximumAmount.current) return;</span>
2711
+ <span class="cstat-no" title="statement not covered" ></span>
2712
+ <span class="cstat-no" title="statement not covered" > setUpdateSendInputTo(maximumAmount.current?.crypto);</span>
2713
+ <span class="cstat-no" title="statement not covered" > handleSendAssetAmountChange(maximumAmount.current?.crypto);</span>
2714
+ <span class="cstat-no" title="statement not covered" > };</span>
2715
+ <span class="cstat-no" title="statement not covered" ></span>
2716
+ <span class="cstat-no" title="statement not covered" > const handleSwapAllClick = (resetButtonLoader) =&gt; {</span>
2717
+ <span class="cstat-no" title="statement not covered" > setIsSwapAll((prev) =&gt; {</span>
2718
+ <span class="cstat-no" title="statement not covered" > if (prev) {</span>
2719
+ <span class="cstat-no" title="statement not covered" > // Setting amount inputs to empty string if we are handling the disabling of previously enabled swap all</span>
2720
+ <span class="cstat-no" title="statement not covered" > setUpdateSendInputTo("");</span>
2721
+ <span class="cstat-no" title="statement not covered" > setUpdateReceiveInputTo("");</span>
2722
+ <span class="cstat-no" title="statement not covered" > setSendAssetAmount(null);</span>
2723
+ <span class="cstat-no" title="statement not covered" > }</span>
2724
+ <span class="cstat-no" title="statement not covered" > return !prev;</span>
2725
+ <span class="cstat-no" title="statement not covered" > });</span>
2726
+ <span class="cstat-no" title="statement not covered" > setSwapAllButtonLoaderReSetter([resetButtonLoader]);</span>
2727
+ <span class="cstat-no" title="statement not covered" > };</span>
2728
+ <span class="cstat-no" title="statement not covered" ></span>
2729
+ <span class="cstat-no" title="statement not covered" > const processMinMaxAmounts = (amount) =&gt; {</span>
2730
+ <span class="cstat-no" title="statement not covered" > if (amount === null) return;</span>
2731
+ <span class="cstat-no" title="statement not covered" ></span>
2732
+ <span class="cstat-no" title="statement not covered" > setMaximumAmountValid(</span>
2733
+ <span class="cstat-no" title="statement not covered" > !maximumAmount.current ||</span>
2734
+ <span class="cstat-no" title="statement not covered" > BigNumber(amount).eq("0") ||</span>
2735
+ <span class="cstat-no" title="statement not covered" > BigNumber(amount).lte(maximumAmount.current.crypto)</span>
2736
+ <span class="cstat-no" title="statement not covered" > );</span>
2737
+ <span class="cstat-no" title="statement not covered" > setMinimalAmountValid(</span>
2738
+ <span class="cstat-no" title="statement not covered" > !minimalAmount.current ||</span>
2739
+ <span class="cstat-no" title="statement not covered" > BigNumber(amount).eq("0") ||</span>
2740
+ <span class="cstat-no" title="statement not covered" > BigNumber(amount).gte(minimalAmount.current?.crypto)</span>
2741
+ <span class="cstat-no" title="statement not covered" > );</span>
2742
+ <span class="cstat-no" title="statement not covered" > };</span>
2743
+ <span class="cstat-no" title="statement not covered" ></span>
2744
+ <span class="cstat-no" title="statement not covered" > const requestDataRefresh = (amount, immediately = false) =&gt; {</span>
2745
+ <span class="cstat-no" title="statement not covered" > try {</span>
2746
+ <span class="cstat-no" title="statement not covered" > clearTimeout(dataUpdateTimeoutId.current);</span>
2747
+ <span class="cstat-no" title="statement not covered" ></span>
2748
+ <span class="cstat-no" title="statement not covered" > if (!amount) {</span>
2749
+ <span class="cstat-no" title="statement not covered" > return;</span>
2750
+ <span class="cstat-no" title="statement not covered" > }</span>
2751
+ <span class="cstat-no" title="statement not covered" ></span>
2752
+ <span class="cstat-no" title="statement not covered" > if (BigNumber(amount).eq("0")) {</span>
2753
+ <span class="cstat-no" title="statement not covered" > if (immediately) {</span>
2754
+ <span class="cstat-no" title="statement not covered" > loadMinimalAmountAndSwapRate(true);</span>
2755
+ <span class="cstat-no" title="statement not covered" > } else {</span>
2756
+ <span class="cstat-no" title="statement not covered" > setDataUpdateTimeoutId(</span>
2757
+ <span class="cstat-no" title="statement not covered" > setTimeout(</span>
2758
+ <span class="cstat-no" title="statement not covered" > () =&gt; loadMinimalAmountAndSwapRate(true),</span>
2759
+ <span class="cstat-no" title="statement not covered" > recalculationDelayOnTyping</span>
2760
+ <span class="cstat-no" title="statement not covered" > )</span>
2761
+ <span class="cstat-no" title="statement not covered" > );</span>
2762
+ <span class="cstat-no" title="statement not covered" > }</span>
2763
+ <span class="cstat-no" title="statement not covered" > } else {</span>
2764
+ <span class="cstat-no" title="statement not covered" > if (immediately) {</span>
2765
+ <span class="cstat-no" title="statement not covered" > loadFullEstimation(</span>
2766
+ <span class="cstat-no" title="statement not covered" > amount,</span>
2767
+ <span class="cstat-no" title="statement not covered" > preservedAmount &amp;&amp; String(preservedAmount) !== "0"</span>
2768
+ <span class="cstat-no" title="statement not covered" > ? true</span>
2769
+ <span class="cstat-no" title="statement not covered" > : undefined</span>
2770
+ <span class="cstat-no" title="statement not covered" > );</span>
2771
+ <span class="cstat-no" title="statement not covered" > } else {</span>
2772
+ <span class="cstat-no" title="statement not covered" > setDataUpdateTimeoutId(</span>
2773
+ <span class="cstat-no" title="statement not covered" > setTimeout(</span>
2774
+ <span class="cstat-no" title="statement not covered" > () =&gt; loadFullEstimation(amount),</span>
2775
+ <span class="cstat-no" title="statement not covered" > recalculationDelayOnTyping</span>
2776
+ <span class="cstat-no" title="statement not covered" > )</span>
2777
+ <span class="cstat-no" title="statement not covered" > );</span>
2778
+ <span class="cstat-no" title="statement not covered" > }</span>
2779
+ <span class="cstat-no" title="statement not covered" > }</span>
2780
+ <span class="cstat-no" title="statement not covered" > } catch (e) {</span>
2781
+ <span class="cstat-no" title="statement not covered" > handleUnexpectedError(e);</span>
2782
+ <span class="cstat-no" title="statement not covered" > }</span>
2783
+ <span class="cstat-no" title="statement not covered" > };</span>
2784
+ <span class="cstat-no" title="statement not covered" ></span>
2785
+ <span class="cstat-no" title="statement not covered" > const setAmountLimitsAndRate = (details) =&gt; {</span>
2786
+ <span class="cstat-no" title="statement not covered" > setSwapRate(details?.rate ?? null);</span>
2787
+ <span class="cstat-no" title="statement not covered" > setMinimalAmount(</span>
2788
+ <span class="cstat-no" title="statement not covered" > details.min == null</span>
2789
+ <span class="cstat-no" title="statement not covered" > ? null</span>
2790
+ <span class="cstat-no" title="statement not covered" > : { crypto: details.min, fiat: details.fiatMin }</span>
2791
+ <span class="cstat-no" title="statement not covered" > );</span>
2792
+ <span class="cstat-no" title="statement not covered" > setMaximumAmount(</span>
2793
+ <span class="cstat-no" title="statement not covered" > details.max == null</span>
2794
+ <span class="cstat-no" title="statement not covered" > ? null</span>
2795
+ <span class="cstat-no" title="statement not covered" > : { crypto: details.max, fiat: details.fiatMax }</span>
2796
+ <span class="cstat-no" title="statement not covered" > );</span>
2797
+ <span class="cstat-no" title="statement not covered" > if (details.feeCoins != null) {</span>
2798
+ <span class="cstat-no" title="statement not covered" > setTransactionFee({</span>
2799
+ <span class="cstat-no" title="statement not covered" > crypto: details.feeCoins,</span>
2800
+ <span class="cstat-no" title="statement not covered" > fiat: details.feeFiat,</span>
2801
+ <span class="cstat-no" title="statement not covered" > });</span>
2802
+ <span class="cstat-no" title="statement not covered" > } else {</span>
2803
+ <span class="cstat-no" title="statement not covered" > setTransactionFee(null);</span>
2804
+ <span class="cstat-no" title="statement not covered" > }</span>
2805
+ <span class="cstat-no" title="statement not covered" > };</span>
2806
+ <span class="cstat-no" title="statement not covered" ></span>
2807
+ <span class="cstat-no" title="statement not covered" > const loadFullEstimation = (amount, isForPreserved = false) =&gt; {</span>
2808
+ <span class="cstat-no" title="statement not covered" > (async () =&gt; {</span>
2809
+ <span class="cstat-no" title="statement not covered" > try {</span>
2810
+ <span class="cstat-no" title="statement not covered" > const dataMemento = {</span>
2811
+ <span class="cstat-no" title="statement not covered" > rate: swapRate,</span>
2812
+ <span class="cstat-no" title="statement not covered" > min: minimalAmount.current?.crypto,</span>
2813
+ <span class="cstat-no" title="statement not covered" > max: maximumAmount.current?.crypto,</span>
2814
+ <span class="cstat-no" title="statement not covered" > feeCoins: transactionFee?.crypto,</span>
2815
+ <span class="cstat-no" title="statement not covered" > feeFiat: transactionFee?.fiat,</span>
2816
+ <span class="cstat-no" title="statement not covered" > };</span>
2817
+ <span class="cstat-no" title="statement not covered" > setIsLoading(true);</span>
2818
+ <span class="cstat-no" title="statement not covered" > setMinimalAmount(null);</span>
2819
+ <span class="cstat-no" title="statement not covered" > setMaximumAmount(null);</span>
2820
+ <span class="cstat-no" title="statement not covered" > setTransactionFee(null);</span>
2821
+ <span class="cstat-no" title="statement not covered" > setValidationContent(null);</span>
2822
+ <span class="cstat-no" title="statement not covered" > setSwapCreationEstimation(null);</span>
2823
+ <span class="cstat-no" title="statement not covered" > setIsSameCoins(false);</span>
2824
+ <span class="cstat-no" title="statement not covered" > setIsPairSupported(true);</span>
2825
+ <span class="cstat-no" title="statement not covered" > setIsSwapCalculated(false);</span>
2826
+ <span class="cstat-no" title="statement not covered" ></span>
2827
+ <span class="cstat-no" title="statement not covered" > const response = await retrieveSwapDetails(</span>
2828
+ <span class="cstat-no" title="statement not covered" > sendingAssetTicker,</span>
2829
+ <span class="cstat-no" title="statement not covered" > receivingAssetTicker,</span>
2830
+ <span class="cstat-no" title="statement not covered" > amount,</span>
2831
+ <span class="cstat-no" title="statement not covered" > isSwapAll.current</span>
2832
+ <span class="cstat-no" title="statement not covered" > );</span>
2833
+ <span class="cstat-no" title="statement not covered" ></span>
2834
+ <span class="cstat-no" title="statement not covered" > if (</span>
2835
+ <span class="cstat-no" title="statement not covered" > !isSwapAll.current &amp;&amp;</span>
2836
+ <span class="cstat-no" title="statement not covered" > String(amount) !==</span>
2837
+ <span class="cstat-no" title="statement not covered" > String(</span>
2838
+ <span class="cstat-no" title="statement not covered" > isForPreserved &amp;&amp; sendAssetAmount.current == null</span>
2839
+ <span class="cstat-no" title="statement not covered" > ? preservedAmount</span>
2840
+ <span class="cstat-no" title="statement not covered" > : sendAssetAmount.current</span>
2841
+ <span class="cstat-no" title="statement not covered" > )</span>
2842
+ <span class="cstat-no" title="statement not covered" > ) {</span>
2843
+ <span class="cstat-no" title="statement not covered" > // Means amount changed and we no more need to do this exact calculation</span>
2844
+ <span class="cstat-no" title="statement not covered" > return;</span>
2845
+ <span class="cstat-no" title="statement not covered" > }</span>
2846
+ <span class="cstat-no" title="statement not covered" ></span>
2847
+ <span class="cstat-no" title="statement not covered" > if (response.result) {</span>
2848
+ <span class="cstat-no" title="statement not covered" > const swapCreationInfo = response.swapCreationInfo;</span>
2849
+ <span class="cstat-no" title="statement not covered" ></span>
2850
+ <span class="cstat-no" title="statement not covered" > setUpdateSendInputTo(swapCreationInfo.fromAmountCoins);</span>
2851
+ <span class="cstat-no" title="statement not covered" > setUpdateReceiveInputTo(swapCreationInfo.toAmountCoins);</span>
2852
+ <span class="cstat-no" title="statement not covered" ></span>
2853
+ <span class="cstat-no" title="statement not covered" > if (isSwapAll.current) {</span>
2854
+ <span class="cstat-no" title="statement not covered" > setIsAmountZero(</span>
2855
+ <span class="cstat-no" title="statement not covered" > BigNumber("0").eq(swapCreationInfo.fromAmountCoins)</span>
2856
+ <span class="cstat-no" title="statement not covered" > );</span>
2857
+ <span class="cstat-no" title="statement not covered" > }</span>
2858
+ <span class="cstat-no" title="statement not covered" ></span>
2859
+ <span class="cstat-no" title="statement not covered" > setAmountLimitsAndRate(swapCreationInfo);</span>
2860
+ <span class="cstat-no" title="statement not covered" > setSwapCreationEstimation(swapCreationInfo);</span>
2861
+ <span class="cstat-no" title="statement not covered" > processMinMaxAmounts(</span>
2862
+ <span class="cstat-no" title="statement not covered" > isSwapAll.current</span>
2863
+ <span class="cstat-no" title="statement not covered" > ? swapCreationInfo.fromAmountCoins</span>
2864
+ <span class="cstat-no" title="statement not covered" > : amount</span>
2865
+ <span class="cstat-no" title="statement not covered" > );</span>
2866
+ <span class="cstat-no" title="statement not covered" > setIsSwapCalculated(true);</span>
2867
+ <span class="cstat-no" title="statement not covered" > } else {</span>
2868
+ <span class="cstat-no" title="statement not covered" > handleSwapServiceError(</span>
2869
+ <span class="cstat-no" title="statement not covered" > response.reason,</span>
2870
+ <span class="cstat-no" title="statement not covered" > setValidationContent,</span>
2871
+ <span class="cstat-no" title="statement not covered" > setBalanceValid,</span>
2872
+ <span class="cstat-no" title="statement not covered" > setMinimalAmountValid,</span>
2873
+ <span class="cstat-no" title="statement not covered" > setMaximumAmountValid,</span>
2874
+ <span class="cstat-no" title="statement not covered" > setIsPairSupported,</span>
2875
+ <span class="cstat-no" title="statement not covered" > setIsSameCoins</span>
2876
+ <span class="cstat-no" title="statement not covered" > );</span>
2877
+ <span class="cstat-no" title="statement not covered" > if (isSwapAll.current) {</span>
2878
+ <span class="cstat-no" title="statement not covered" > /* We disable swap all if swap all details retrieval fails and set</span>
2879
+ <span class="cstat-no" title="statement not covered" > * previous limits and rate. We set null to avoid triggering reloading of initial data.</span>
2880
+ <span class="cstat-no" title="statement not covered" > */</span>
2881
+ <span class="cstat-no" title="statement not covered" > setIsSwapAll(null);</span>
2882
+ <span class="cstat-no" title="statement not covered" > setAmountLimitsAndRate(dataMemento);</span>
2883
+ <span class="cstat-no" title="statement not covered" > } else {</span>
2884
+ <span class="cstat-no" title="statement not covered" > /* We set returned amount limits and rate only if the failed details retrieval is not</span>
2885
+ <span class="cstat-no" title="statement not covered" > * for the swap All case.</span>
2886
+ <span class="cstat-no" title="statement not covered" > */</span>
2887
+ <span class="cstat-no" title="statement not covered" > setAmountLimitsAndRate(response);</span>
2888
+ <span class="cstat-no" title="statement not covered" > }</span>
2889
+ <span class="cstat-no" title="statement not covered" > }</span>
2890
+ <span class="cstat-no" title="statement not covered" > setIsLoading(false);</span>
2891
+ <span class="cstat-no" title="statement not covered" > } catch (e) {</span>
2892
+ <span class="cstat-no" title="statement not covered" > handleUnexpectedError(e);</span>
2893
+ <span class="cstat-no" title="statement not covered" > }</span>
2894
+ <span class="cstat-no" title="statement not covered" > })();</span>
2895
+ <span class="cstat-no" title="statement not covered" > };</span>
2896
+ <span class="cstat-no" title="statement not covered" ></span>
2897
+ <span class="cstat-no" title="statement not covered" > const loadMinimalAmountAndSwapRate = (isCalledForClearedInput = false) =&gt; {</span>
2898
+ <span class="cstat-no" title="statement not covered" > (async () =&gt; {</span>
2899
+ <span class="cstat-no" title="statement not covered" > try {</span>
2900
+ <span class="cstat-no" title="statement not covered" > setIsLoading(true);</span>
2901
+ <span class="cstat-no" title="statement not covered" > setMinimalAmount(null);</span>
2902
+ <span class="cstat-no" title="statement not covered" > setMaximumAmount(null);</span>
2903
+ <span class="cstat-no" title="statement not covered" > setSwapRate(null);</span>
2904
+ <span class="cstat-no" title="statement not covered" > setValidationContent(null);</span>
2905
+ <span class="cstat-no" title="statement not covered" > setIsSwapCalculated(false);</span>
2906
+ <span class="cstat-no" title="statement not covered" ></span>
2907
+ <span class="cstat-no" title="statement not covered" > const swapData = await retrieveInitialSwapData(</span>
2908
+ <span class="cstat-no" title="statement not covered" > sendingAssetTicker,</span>
2909
+ <span class="cstat-no" title="statement not covered" > receivingAssetTicker</span>
2910
+ <span class="cstat-no" title="statement not covered" > );</span>
2911
+ <span class="cstat-no" title="statement not covered" ></span>
2912
+ <span class="cstat-no" title="statement not covered" > if (</span>
2913
+ <span class="cstat-no" title="statement not covered" > sendAssetAmount.current != null &amp;&amp;</span>
2914
+ <span class="cstat-no" title="statement not covered" > !isCalledForClearedInput</span>
2915
+ <span class="cstat-no" title="statement not covered" > ) {</span>
2916
+ <span class="cstat-no" title="statement not covered" > // Means user already entered amount after starting the form initialization</span>
2917
+ <span class="cstat-no" title="statement not covered" > return;</span>
2918
+ <span class="cstat-no" title="statement not covered" > }</span>
2919
+ <span class="cstat-no" title="statement not covered" ></span>
2920
+ <span class="cstat-no" title="statement not covered" > if (swapData.result === true) {</span>
2921
+ <span class="cstat-no" title="statement not covered" > setAmountLimitsAndRate(swapData);</span>
2922
+ <span class="cstat-no" title="statement not covered" > } else {</span>
2923
+ <span class="cstat-no" title="statement not covered" > handleSwapServiceError(</span>
2924
+ <span class="cstat-no" title="statement not covered" > swapData.reason,</span>
2925
+ <span class="cstat-no" title="statement not covered" > setValidationContent,</span>
2926
+ <span class="cstat-no" title="statement not covered" > setBalanceValid,</span>
2927
+ <span class="cstat-no" title="statement not covered" > setMinimalAmountValid,</span>
2928
+ <span class="cstat-no" title="statement not covered" > setMaximumAmountValid,</span>
2929
+ <span class="cstat-no" title="statement not covered" > setIsPairSupported,</span>
2930
+ <span class="cstat-no" title="statement not covered" > setIsSameCoins</span>
2931
+ <span class="cstat-no" title="statement not covered" > );</span>
2932
+ <span class="cstat-no" title="statement not covered" > }</span>
2933
+ <span class="cstat-no" title="statement not covered" ></span>
2934
+ <span class="cstat-no" title="statement not covered" > setIsLoading(false);</span>
2935
+ <span class="cstat-no" title="statement not covered" > } catch (e) {</span>
2936
+ <span class="cstat-no" title="statement not covered" > handleUnexpectedError(e);</span>
2937
+ <span class="cstat-no" title="statement not covered" > }</span>
2938
+ <span class="cstat-no" title="statement not covered" > })();</span>
2939
+ <span class="cstat-no" title="statement not covered" > };</span>
2940
+ <span class="cstat-no" title="statement not covered" ></span>
2941
+ <span class="cstat-no" title="statement not covered" > const handleChangeAssetsIconClick = (e) =&gt; {</span>
2942
+ <span class="cstat-no" title="statement not covered" > callHandlingErrors(() =&gt; {</span>
2943
+ <span class="cstat-no" title="statement not covered" > if (!isLoading.current) {</span>
2944
+ <span class="cstat-no" title="statement not covered" > setIsSwapAll(null);</span>
2945
+ <span class="cstat-no" title="statement not covered" > setMaximumAmountValid(true);</span>
2946
+ <span class="cstat-no" title="statement not covered" > setMinimalAmountValid(true);</span>
2947
+ <span class="cstat-no" title="statement not covered" > rotateAssets(sendingAssetTicker, receivingAssetTicker);</span>
2948
+ <span class="cstat-no" title="statement not covered" > }</span>
2949
+ <span class="cstat-no" title="statement not covered" > }, e);</span>
2950
+ <span class="cstat-no" title="statement not covered" > };</span>
2951
+ <span class="cstat-no" title="statement not covered" ></span>
2952
+ <span class="cstat-no" title="statement not covered" > useEffect(() =&gt; {</span>
2953
+ <span class="cstat-no" title="statement not covered" > if (isSwapAll.current === true) {</span>
2954
+ <span class="cstat-no" title="statement not covered" > requestDataRefresh(undefined, true);</span>
2955
+ <span class="cstat-no" title="statement not covered" > } else if (isSwapAll.current === false) {</span>
2956
+ <span class="cstat-no" title="statement not covered" > loadMinimalAmountAndSwapRate();</span>
2957
+ <span class="cstat-no" title="statement not covered" > }</span>
2958
+ <span class="cstat-no" title="statement not covered" > // eslint-disable-next-line react-hooks/exhaustive-deps</span>
2959
+ <span class="cstat-no" title="statement not covered" > }, [isSwapAll.current]);</span>
2960
+ <span class="cstat-no" title="statement not covered" ></span>
2961
+ <span class="cstat-no" title="statement not covered" > useEffect(() =&gt; {</span>
2962
+ <span class="cstat-no" title="statement not covered" > setConfirmButtonTo(</span>
2963
+ <span class="cstat-no" title="statement not covered" > composeConfirmButtonTo(</span>
2964
+ <span class="cstat-no" title="statement not covered" > sendingAssetTicker,</span>
2965
+ <span class="cstat-no" title="statement not covered" > receivingAssetTicker,</span>
2966
+ <span class="cstat-no" title="statement not covered" > sendAssetAmount.current || preservedAmount || null</span>
2967
+ <span class="cstat-no" title="statement not covered" > )</span>
2968
+ <span class="cstat-no" title="statement not covered" > );</span>
2969
+ <span class="cstat-no" title="statement not covered" > // eslint-disable-next-line react-hooks/exhaustive-deps</span>
2970
+ <span class="cstat-no" title="statement not covered" > }, [sendingAssetTicker, receivingAssetTicker]);</span>
2971
+ <span class="cstat-no" title="statement not covered" ></span>
2972
+ <span class="cstat-no" title="statement not covered" > useEffect(() =&gt; {</span>
2973
+ <span class="cstat-no" title="statement not covered" > if (!sendingAssetTicker || !receivingAssetTicker) return;</span>
2974
+ <span class="cstat-no" title="statement not covered" ></span>
2975
+ <span class="cstat-no" title="statement not covered" > const isCurrentAmountNotZero =</span>
2976
+ <span class="cstat-no" title="statement not covered" > sendAssetAmount.current &amp;&amp;</span>
2977
+ <span class="cstat-no" title="statement not covered" > !BigNumber("0").eq(sendAssetAmount.current);</span>
2978
+ <span class="cstat-no" title="statement not covered" > const isPreservedAmountNotZero =</span>
2979
+ <span class="cstat-no" title="statement not covered" > preservedAmount &amp;&amp; !BigNumber("0").eq(preservedAmount);</span>
2980
+ <span class="cstat-no" title="statement not covered" > if (isCurrentAmountNotZero) {</span>
2981
+ <span class="cstat-no" title="statement not covered" > loadFullEstimation(sendAssetAmount.current);</span>
2982
+ <span class="cstat-no" title="statement not covered" > } else if (isPreservedAmountNotZero) {</span>
2983
+ <span class="cstat-no" title="statement not covered" > loadFullEstimation(preservedAmount, true);</span>
2984
+ <span class="cstat-no" title="statement not covered" > } else {</span>
2985
+ <span class="cstat-no" title="statement not covered" > loadMinimalAmountAndSwapRate();</span>
2986
+ <span class="cstat-no" title="statement not covered" > }</span>
2987
+ <span class="cstat-no" title="statement not covered" ></span>
2988
+ <span class="cstat-no" title="statement not covered" > // eslint-disable-next-line react-hooks/exhaustive-deps</span>
2989
+ <span class="cstat-no" title="statement not covered" > }, [sendingAssetTicker, receivingAssetTicker]);</span>
2990
+ <span class="cstat-no" title="statement not covered" ></span>
2991
+ <span class="cstat-no" title="statement not covered" > useEffect(() =&gt; {</span>
2992
+ <span class="cstat-no" title="statement not covered" > if (!minimalAmountValid || isAmountZero) {</span>
2993
+ <span class="cstat-no" title="statement not covered" > setTransactionFee(null);</span>
2994
+ <span class="cstat-no" title="statement not covered" > }</span>
2995
+ <span class="cstat-no" title="statement not covered" > if (isAmountZero) {</span>
2996
+ <span class="cstat-no" title="statement not covered" > clearTimeout(dataUpdateTimeoutId.current);</span>
2997
+ <span class="cstat-no" title="statement not covered" > }</span>
2998
+ <span class="cstat-no" title="statement not covered" ></span>
2999
+ <span class="cstat-no" title="statement not covered" > setReadyToSwap(</span>
3000
+ <span class="cstat-no" title="statement not covered" > swapButtonAlwaysActive ||</span>
3001
+ <span class="cstat-no" title="statement not covered" > ((balanceValid || !formHasBalance) &amp;&amp;</span>
3002
+ <span class="cstat-no" title="statement not covered" > minimalAmountValid &amp;&amp;</span>
3003
+ <span class="cstat-no" title="statement not covered" > !isAmountZero &amp;&amp;</span>
3004
+ <span class="cstat-no" title="statement not covered" > isSwapCalculated &amp;&amp;</span>
3005
+ <span class="cstat-no" title="statement not covered" > (!isSameCoins || !formHasBalance) &amp;&amp;</span>
3006
+ <span class="cstat-no" title="statement not covered" > isPairSupported)</span>
3007
+ <span class="cstat-no" title="statement not covered" > );</span>
3008
+ <span class="cstat-no" title="statement not covered" ></span>
3009
+ <span class="cstat-no" title="statement not covered" > // eslint-disable-next-line react-hooks/exhaustive-deps</span>
3010
+ <span class="cstat-no" title="statement not covered" > }, [</span>
3011
+ <span class="cstat-no" title="statement not covered" > balanceValid,</span>
3012
+ <span class="cstat-no" title="statement not covered" > formHasBalance,</span>
3013
+ <span class="cstat-no" title="statement not covered" > minimalAmountValid,</span>
3014
+ <span class="cstat-no" title="statement not covered" > isAmountZero,</span>
3015
+ <span class="cstat-no" title="statement not covered" > isSwapCalculated,</span>
3016
+ <span class="cstat-no" title="statement not covered" > isSameCoins,</span>
3017
+ <span class="cstat-no" title="statement not covered" > isPairSupported,</span>
3018
+ <span class="cstat-no" title="statement not covered" > ]);</span>
3019
+ <span class="cstat-no" title="statement not covered" ></span>
3020
+ <span class="cstat-no" title="statement not covered" > useEffect(() =&gt; {</span>
3021
+ <span class="cstat-no" title="statement not covered" > // Here we set up auto recalculations for the swap details if the form is ready to swap but is idle for some time</span>
3022
+ <span class="cstat-no" title="statement not covered" > let timeoutId = null;</span>
3023
+ <span class="cstat-no" title="statement not covered" > if (readyToSwap) {</span>
3024
+ <span class="cstat-no" title="statement not covered" > timeoutId = setTimeout(</span>
3025
+ <span class="cstat-no" title="statement not covered" > () =&gt;</span>
3026
+ <span class="cstat-no" title="statement not covered" > requestDataRefresh(</span>
3027
+ <span class="cstat-no" title="statement not covered" > sendAssetAmount.current ?? preservedAmount,</span>
3028
+ <span class="cstat-no" title="statement not covered" > true</span>
3029
+ <span class="cstat-no" title="statement not covered" > ),</span>
3030
+ <span class="cstat-no" title="statement not covered" > DETAIL_REFRESH_INTERVAL_MS</span>
3031
+ <span class="cstat-no" title="statement not covered" > );</span>
3032
+ <span class="cstat-no" title="statement not covered" > setIdleDataUpdateTimeoutId(timeoutId);</span>
3033
+ <span class="cstat-no" title="statement not covered" > } else {</span>
3034
+ <span class="cstat-no" title="statement not covered" > clearTimeout(idleDataUpdateTimeoutId.current);</span>
3035
+ <span class="cstat-no" title="statement not covered" > setIdleDataUpdateTimeoutId(null);</span>
3036
+ <span class="cstat-no" title="statement not covered" > }</span>
3037
+ <span class="cstat-no" title="statement not covered" > return () =&gt; {</span>
3038
+ <span class="cstat-no" title="statement not covered" > timeoutId != null &amp;&amp; clearTimeout(timeoutId);</span>
3039
+ <span class="cstat-no" title="statement not covered" > };</span>
3040
+ <span class="cstat-no" title="statement not covered" > // eslint-disable-next-line react-hooks/exhaustive-deps</span>
3041
+ <span class="cstat-no" title="statement not covered" > }, [readyToSwap]);</span>
3042
+ <span class="cstat-no" title="statement not covered" ></span>
3043
+ <span class="cstat-no" title="statement not covered" > // TODO: [refactoring, critical] this code looks like a hack related to task_id=6e328d39063142b7b9fa01d497e616da</span>
3044
+ <span class="cstat-no" title="statement not covered" > useEffect(() =&gt; {</span>
3045
+ <span class="cstat-no" title="statement not covered" > if (triggerDataUpdateResetting) {</span>
3046
+ <span class="cstat-no" title="statement not covered" > clearTimeout(dataUpdateTimeoutId.current);</span>
3047
+ <span class="cstat-no" title="statement not covered" > setDataUpdateTimeoutId(null);</span>
3048
+ <span class="cstat-no" title="statement not covered" ></span>
3049
+ <span class="cstat-no" title="statement not covered" > clearTimeout(idleDataUpdateTimeoutId.current);</span>
3050
+ <span class="cstat-no" title="statement not covered" > setIdleDataUpdateTimeoutId(null);</span>
3051
+ <span class="cstat-no" title="statement not covered" > }</span>
3052
+ <span class="cstat-no" title="statement not covered" > // eslint-disable-next-line react-hooks/exhaustive-deps</span>
3053
+ <span class="cstat-no" title="statement not covered" > }, [triggerDataUpdateResetting]);</span>
3054
+ <span class="cstat-no" title="statement not covered" ></span>
3055
+ <span class="cstat-no" title="statement not covered" > // Resets the passed "set value to" param to null, so it can be used multiple times with any value</span>
3056
+ <span class="cstat-no" title="statement not covered" > useEffect(() =&gt; {</span>
3057
+ <span class="cstat-no" title="statement not covered" > if (!!updateSendInputTo) setUpdateSendInputTo(null);</span>
3058
+ <span class="cstat-no" title="statement not covered" > if (!!updateReceiveInputTo) setUpdateReceiveInputTo(null);</span>
3059
+ <span class="cstat-no" title="statement not covered" > // eslint-disable-next-line react-hooks/exhaustive-deps</span>
3060
+ <span class="cstat-no" title="statement not covered" > }, [updateSendInputTo, updateReceiveInputTo]);</span>
3061
+ <span class="cstat-no" title="statement not covered" ></span>
3062
+ <span class="cstat-no" title="statement not covered" > useEffect(() =&gt; {</span>
3063
+ <span class="cstat-no" title="statement not covered" > if (swapRate != null &amp;&amp; sendAssetAmount.current != null) {</span>
3064
+ <span class="cstat-no" title="statement not covered" > setUpdateReceiveInputTo(</span>
3065
+ <span class="cstat-no" title="statement not covered" > AmountUtils.trim(</span>
3066
+ <span class="cstat-no" title="statement not covered" > BigNumber(sendAssetAmount.current).times(swapRate),</span>
3067
+ <span class="cstat-no" title="statement not covered" > receivingAssetDecimalCount</span>
3068
+ <span class="cstat-no" title="statement not covered" > )</span>
3069
+ <span class="cstat-no" title="statement not covered" > );</span>
3070
+ <span class="cstat-no" title="statement not covered" > }</span>
3071
+ <span class="cstat-no" title="statement not covered" > // eslint-disable-next-line react-hooks/exhaustive-deps</span>
3072
+ <span class="cstat-no" title="statement not covered" > }, [swapRate]);</span>
3073
+ <span class="cstat-no" title="statement not covered" ></span>
3074
+ <span class="cstat-no" title="statement not covered" > useEffect(() =&gt; {</span>
3075
+ <span class="cstat-no" title="statement not covered" > if (</span>
3076
+ <span class="cstat-no" title="statement not covered" > isLoading.current === false &amp;&amp;</span>
3077
+ <span class="cstat-no" title="statement not covered" > swapAllButtonLoaderReSetter?.length</span>
3078
+ <span class="cstat-no" title="statement not covered" > ) {</span>
3079
+ <span class="cstat-no" title="statement not covered" > swapAllButtonLoaderReSetter[0]();</span>
3080
+ <span class="cstat-no" title="statement not covered" > setSwapAllButtonLoaderReSetter([]);</span>
3081
+ <span class="cstat-no" title="statement not covered" > }</span>
3082
+ <span class="cstat-no" title="statement not covered" > // eslint-disable-next-line react-hooks/exhaustive-deps</span>
3083
+ <span class="cstat-no" title="statement not covered" > }, [isLoading.current, swapAllButtonLoaderReSetter]);</span>
3084
+ <span class="cstat-no" title="statement not covered" ></span>
3085
+ <span class="cstat-no" title="statement not covered" > // Handlers upon changing the asset amount</span>
3086
+ <span class="cstat-no" title="statement not covered" > useEffect(() =&gt; {</span>
3087
+ <span class="cstat-no" title="statement not covered" > setConfirmButtonTo(</span>
3088
+ <span class="cstat-no" title="statement not covered" > composeConfirmButtonTo(</span>
3089
+ <span class="cstat-no" title="statement not covered" > sendingAssetTicker,</span>
3090
+ <span class="cstat-no" title="statement not covered" > receivingAssetTicker,</span>
3091
+ <span class="cstat-no" title="statement not covered" > sendAssetAmount.current</span>
3092
+ <span class="cstat-no" title="statement not covered" > )</span>
3093
+ <span class="cstat-no" title="statement not covered" > );</span>
3094
+ <span class="cstat-no" title="statement not covered" ></span>
3095
+ <span class="cstat-no" title="statement not covered" > if (sendAssetAmount.current == null) return;</span>
3096
+ <span class="cstat-no" title="statement not covered" > let processingAmount =</span>
3097
+ <span class="cstat-no" title="statement not covered" > sendAssetAmount.current === "" ? "0" : sendAssetAmount.current;</span>
3098
+ <span class="cstat-no" title="statement not covered" > requestDataRefresh(processingAmount);</span>
3099
+ <span class="cstat-no" title="statement not covered" > processMinMaxAmounts(processingAmount);</span>
3100
+ <span class="cstat-no" title="statement not covered" > setIsAmountZero(BigNumber("0").eq(processingAmount));</span>
3101
+ <span class="cstat-no" title="statement not covered" > setIsSwapCalculated(false);</span>
3102
+ <span class="cstat-no" title="statement not covered" > // eslint-disable-next-line react-hooks/exhaustive-deps</span>
3103
+ <span class="cstat-no" title="statement not covered" > }, [sendAssetAmount.current]);</span>
3104
+ <span class="cstat-no" title="statement not covered" ></span>
3105
+ <span class="cstat-no" title="statement not covered" > return (</span>
3106
+ <span class="cstat-no" title="statement not covered" > &lt;div className={s["swap-dialog-form"]}&gt;</span>
3107
+ <span class="cstat-no" title="statement not covered" > &lt;TitleBox</span>
3108
+ <span class="cstat-no" title="statement not covered" > linkButtonClick={</span>
3109
+ <span class="cstat-no" title="statement not covered" > BigNumber(sendingAssetBalance?.assetAmount).eq(0)</span>
3110
+ <span class="cstat-no" title="statement not covered" > ? null</span>
3111
+ <span class="cstat-no" title="statement not covered" > : (resetButtonLoader) =&gt;</span>
3112
+ <span class="cstat-no" title="statement not covered" > handleSwapAllClick(resetButtonLoader)</span>
3113
+ <span class="cstat-no" title="statement not covered" > }</span>
3114
+ <span class="cstat-no" title="statement not covered" > linkText={</span>
3115
+ <span class="cstat-no" title="statement not covered" > !formHasBalance</span>
3116
+ <span class="cstat-no" title="statement not covered" > ? ""</span>
3117
+ <span class="cstat-no" title="statement not covered" > : isSwapAll.current</span>
3118
+ <span class="cstat-no" title="statement not covered" > ? translations.swapAllButtonTitles.cancel</span>
3119
+ <span class="cstat-no" title="statement not covered" > : translations.swapAllButtonTitles.enable</span>
3120
+ <span class="cstat-no" title="statement not covered" > }</span>
3121
+ <span class="cstat-no" title="statement not covered" > linkButtonLoader={true}</span>
3122
+ <span class="cstat-no" title="statement not covered" > isLinkButtonDisabled={</span>
3123
+ <span class="cstat-no" title="statement not covered" > isLoading.current ||</span>
3124
+ <span class="cstat-no" title="statement not covered" > sendingAssetTicker === receivingAssetTicker ||</span>
3125
+ <span class="cstat-no" title="statement not covered" > BigNumber(sendingAssetBalance?.assetAmount).eq(0)</span>
3126
+ <span class="cstat-no" title="statement not covered" > }</span>
3127
+ <span class="cstat-no" title="statement not covered" > // TODO: texts for copy button</span>
3128
+ <span class="cstat-no" title="statement not covered" > &gt;</span>
3129
+ <span class="cstat-no" title="statement not covered" > &lt;div className={s["swap-dialog-form-inputs"]}&gt;</span>
3130
+ <span class="cstat-no" title="statement not covered" > &lt;AmountInput</span>
3131
+ <span class="cstat-no" title="statement not covered" > ticker={sendingAssetTicker}</span>
3132
+ <span class="cstat-no" title="statement not covered" > tickerPrintable={sendingAssetTickerPrintable}</span>
3133
+ <span class="cstat-no" title="statement not covered" > assetDecimalPlaces={sendingAssetDecimalCount}</span>
3134
+ <span class="cstat-no" title="statement not covered" > assetBalance={sendingAssetBalance}</span>
3135
+ <span class="cstat-no" title="statement not covered" > assetIconSrc={sendingAssetIconSrc}</span>
3136
+ <span class="cstat-no" title="statement not covered" > assetIconProtocolSrc={sendingAssetProtocolIconSrc}</span>
3137
+ <span class="cstat-no" title="statement not covered" > fallbackAssetIconSrc={fallBackAssetIconSrc}</span>
3138
+ <span class="cstat-no" title="statement not covered" > disabled={</span>
3139
+ <span class="cstat-no" title="statement not covered" > isSwapAll.current ||</span>
3140
+ <span class="cstat-no" title="statement not covered" > sendingAssetTicker === null ||</span>
3141
+ <span class="cstat-no" title="statement not covered" > receivingAssetTicker === null</span>
3142
+ <span class="cstat-no" title="statement not covered" > }</span>
3143
+ <span class="cstat-no" title="statement not covered" > handleCoinAmountChange={handleSendAssetAmountChange}</span>
3144
+ <span class="cstat-no" title="statement not covered" > handleChangeAssetClick={handleChangeSendingAssetClick}</span>
3145
+ <span class="cstat-no" title="statement not covered" > handleBalanceValidationChange={(isValid) =&gt;</span>
3146
+ <span class="cstat-no" title="statement not covered" > setBalanceValid(!isValid)</span>
3147
+ <span class="cstat-no" title="statement not covered" > }</span>
3148
+ <span class="cstat-no" title="statement not covered" > updateAssetInputTo={updateSendInputTo}</span>
3149
+ <span class="cstat-no" title="statement not covered" > showBalance={formHasBalance}</span>
3150
+ <span class="cstat-no" title="statement not covered" > showBalanceValidation={formHasBalance}</span>
3151
+ <span class="cstat-no" title="statement not covered" > showChangeAssetButton</span>
3152
+ <span class="cstat-no" title="statement not covered" > changeAssetButtonProtocol={sendingAssetProtocol}</span>
3153
+ <span class="cstat-no" title="statement not covered" > upperFormPosition</span>
3154
+ <span class="cstat-no" title="statement not covered" > errorEncountered={!minimalAmountValid}</span>
3155
+ <span class="cstat-no" title="statement not covered" > ref={fromAssetSelectionButtonRef}</span>
3156
+ <span class="cstat-no" title="statement not covered" > isLoading={false}</span>
3157
+ <span class="cstat-no" title="statement not covered" > cryptoAssetToFiatRate={sendingAssetToFiatRate}</span>
3158
+ <span class="cstat-no" title="statement not covered" > fiatCurrencyCode={formHasFiat ? fiatCurrencyCode : null}</span>
3159
+ <span class="cstat-no" title="statement not covered" > fiatCurrencyDecimals={fiatCurrencyDecimals}</span>
3160
+ <span class="cstat-no" title="statement not covered" > balanceLoaderText={translations.input.balanceLoaderText}</span>
3161
+ <span class="cstat-no" title="statement not covered" > fiatInputPlaceholderText={</span>
3162
+ <span class="cstat-no" title="statement not covered" > translations.input.fiatPlaceholder</span>
3163
+ <span class="cstat-no" title="statement not covered" > }</span>
3164
+ <span class="cstat-no" title="statement not covered" > /&gt;</span>
3165
+ <span class="cstat-no" title="statement not covered" > &lt;div</span>
3166
+ <span class="cstat-no" title="statement not covered" > className={</span>
3167
+ <span class="cstat-no" title="statement not covered" > s["swap-dialog-form-inputs-separator"] +</span>
3168
+ <span class="cstat-no" title="statement not covered" > " " +</span>
3169
+ <span class="cstat-no" title="statement not covered" > (isLoading.current ||</span>
3170
+ <span class="cstat-no" title="statement not covered" > sendingAssetTicker === null ||</span>
3171
+ <span class="cstat-no" title="statement not covered" > receivingAssetTicker === null</span>
3172
+ <span class="cstat-no" title="statement not covered" > ? s["disabled"]</span>
3173
+ <span class="cstat-no" title="statement not covered" > : "")</span>
3174
+ <span class="cstat-no" title="statement not covered" > }</span>
3175
+ <span class="cstat-no" title="statement not covered" > &gt;</span>
3176
+ <span class="cstat-no" title="statement not covered" > &lt;img</span>
3177
+ <span class="cstat-no" title="statement not covered" > src={swapSeparatorIconSrc}</span>
3178
+ <span class="cstat-no" title="statement not covered" > alt="swap icon"</span>
3179
+ <span class="cstat-no" title="statement not covered" > draggable={false}</span>
3180
+ <span class="cstat-no" title="statement not covered" > onClick={(e) =&gt;</span>
3181
+ <span class="cstat-no" title="statement not covered" > callHandlingErrors(</span>
3182
+ <span class="cstat-no" title="statement not covered" > handleChangeAssetsIconClick,</span>
3183
+ <span class="cstat-no" title="statement not covered" > e</span>
3184
+ <span class="cstat-no" title="statement not covered" > )</span>
3185
+ <span class="cstat-no" title="statement not covered" > }</span>
3186
+ <span class="cstat-no" title="statement not covered" > /&gt;</span>
3187
+ <span class="cstat-no" title="statement not covered" > &lt;/div&gt;</span>
3188
+ <span class="cstat-no" title="statement not covered" > &lt;AmountInput</span>
3189
+ <span class="cstat-no" title="statement not covered" > ticker={receivingAssetTicker}</span>
3190
+ <span class="cstat-no" title="statement not covered" > tickerPrintable={receivingAssetTickerPrintable}</span>
3191
+ <span class="cstat-no" title="statement not covered" > assetDecimalPlaces={receivingAssetDecimalCount}</span>
3192
+ <span class="cstat-no" title="statement not covered" > assetBalance={receivingAssetBalance}</span>
3193
+ <span class="cstat-no" title="statement not covered" > assetIconSrc={receivingAssetIconSrc}</span>
3194
+ <span class="cstat-no" title="statement not covered" > assetIconProtocolSrc={receivingAssetProtocolIconSrc}</span>
3195
+ <span class="cstat-no" title="statement not covered" > fallbackAssetIconSrc={fallBackAssetIconSrc}</span>
3196
+ <span class="cstat-no" title="statement not covered" > disabled={</span>
3197
+ <span class="cstat-no" title="statement not covered" > isSwapAll.current ||</span>
3198
+ <span class="cstat-no" title="statement not covered" > sendingAssetTicker === null ||</span>
3199
+ <span class="cstat-no" title="statement not covered" > receivingAssetTicker === null</span>
3200
+ <span class="cstat-no" title="statement not covered" > }</span>
3201
+ <span class="cstat-no" title="statement not covered" > handleCoinAmountChange={handleReceiveAssetAmountChange}</span>
3202
+ <span class="cstat-no" title="statement not covered" > handleChangeAssetClick={handleChangeReceivingAssetClick}</span>
3203
+ <span class="cstat-no" title="statement not covered" > updateAssetInputTo={updateReceiveInputTo}</span>
3204
+ <span class="cstat-no" title="statement not covered" > showChangeAssetButton</span>
3205
+ <span class="cstat-no" title="statement not covered" > changeAssetButtonProtocol={receivingAssetProtocol}</span>
3206
+ <span class="cstat-no" title="statement not covered" > showBalance={formHasBalance}</span>
3207
+ <span class="cstat-no" title="statement not covered" > lowerFormPosition</span>
3208
+ <span class="cstat-no" title="statement not covered" > estimateAmount</span>
3209
+ <span class="cstat-no" title="statement not covered" > ref={toAssetSelectionButtonRef}</span>
3210
+ <span class="cstat-no" title="statement not covered" > isLoading={isLoading.current}</span>
3211
+ <span class="cstat-no" title="statement not covered" > cryptoAssetToFiatRate={receivingAssetToFiatRate}</span>
3212
+ <span class="cstat-no" title="statement not covered" > fiatCurrencyCode={formHasFiat ? fiatCurrencyCode : null}</span>
3213
+ <span class="cstat-no" title="statement not covered" > fiatCurrencyDecimals={fiatCurrencyDecimals}</span>
3214
+ <span class="cstat-no" title="statement not covered" > balanceLoaderText={translations.input.balanceLoaderText}</span>
3215
+ <span class="cstat-no" title="statement not covered" > fiatInputPlaceholderText={</span>
3216
+ <span class="cstat-no" title="statement not covered" > translations.input.fiatPlaceholder</span>
3217
+ <span class="cstat-no" title="statement not covered" > }</span>
3218
+ <span class="cstat-no" title="statement not covered" > /&gt;</span>
3219
+ <span class="cstat-no" title="statement not covered" > &lt;/div&gt;</span>
3220
+ <span class="cstat-no" title="statement not covered" > &lt;div className={s["swap-dialog-form-information-field"]}&gt;</span>
3221
+ <span class="cstat-no" title="statement not covered" > &lt;p&gt;</span>
3222
+ <span class="cstat-no" title="statement not covered" > {!isPairSupported ? (</span>
3223
+ <span class="cstat-no" title="statement not covered" > translations.informationBlock.pairNotAvailable</span>
3224
+ <span class="cstat-no" title="statement not covered" > ) : transactionFee &amp;&amp; minimalAmountValid ? (</span>
3225
+ <span class="cstat-no" title="statement not covered" > &lt;&gt;</span>
3226
+ <span class="cstat-no" title="statement not covered" > {translations.informationBlock.transactionFee}</span>
3227
+ <span class="cstat-no" title="statement not covered" > &lt;span&gt;</span>
3228
+ <span class="cstat-no" title="statement not covered" > {AmountUtils.crypto(</span>
3229
+ <span class="cstat-no" title="statement not covered" > transactionFee?.crypto,</span>
3230
+ <span class="cstat-no" title="statement not covered" > sendingAssetFeeCoinTickerPrintable</span>
3231
+ <span class="cstat-no" title="statement not covered" > )}</span>
3232
+ <span class="cstat-no" title="statement not covered" > &lt;/span&gt;</span>
3233
+ <span class="cstat-no" title="statement not covered" > {transactionFee?.fiat != null &amp;&amp;</span>
3234
+ <span class="cstat-no" title="statement not covered" > transactionFee?.fiat !== "" ? (</span>
3235
+ <span class="cstat-no" title="statement not covered" > &lt;span className={s["semi-transparent"]}&gt;</span>
3236
+ <span class="cstat-no" title="statement not covered" > {" ~ " +</span>
3237
+ <span class="cstat-no" title="statement not covered" > AmountUtils.fiat(</span>
3238
+ <span class="cstat-no" title="statement not covered" > transactionFee?.fiat,</span>
3239
+ <span class="cstat-no" title="statement not covered" > fiatCurrencyCode</span>
3240
+ <span class="cstat-no" title="statement not covered" > )}</span>
3241
+ <span class="cstat-no" title="statement not covered" > &lt;/span&gt;</span>
3242
+ <span class="cstat-no" title="statement not covered" > ) : (</span>
3243
+ <span class="cstat-no" title="statement not covered" > ""</span>
3244
+ <span class="cstat-no" title="statement not covered" > )}</span>
3245
+ <span class="cstat-no" title="statement not covered" > &lt;/&gt;</span>
3246
+ <span class="cstat-no" title="statement not covered" > ) : isSwapCalculated ? (</span>
3247
+ <span class="cstat-no" title="statement not covered" > &lt;&gt;</span>
3248
+ <span class="cstat-no" title="statement not covered" > {translations.informationBlock.swapRate}</span>
3249
+ <span class="cstat-no" title="statement not covered" > &lt;span&gt;</span>
3250
+ <span class="cstat-no" title="statement not covered" > {AmountUtils.composeRateText(</span>
3251
+ <span class="cstat-no" title="statement not covered" > sendingAssetTickerPrintable,</span>
3252
+ <span class="cstat-no" title="statement not covered" > receivingAssetTickerPrintable,</span>
3253
+ <span class="cstat-no" title="statement not covered" > swapRate</span>
3254
+ <span class="cstat-no" title="statement not covered" > )}</span>
3255
+ <span class="cstat-no" title="statement not covered" > &lt;/span&gt;</span>
3256
+ <span class="cstat-no" title="statement not covered" > &lt;/&gt;</span>
3257
+ <span class="cstat-no" title="statement not covered" > ) : minimalAmount.current ? (</span>
3258
+ <span class="cstat-no" title="statement not covered" > !maximumAmountValid &amp;&amp;</span>
3259
+ <span class="cstat-no" title="statement not covered" > maximumAmount.current != null ? (</span>
3260
+ <span class="cstat-no" title="statement not covered" > &lt;&gt;</span>
3261
+ <span class="cstat-no" title="statement not covered" > {</span>
3262
+ <span class="cstat-no" title="statement not covered" > translations.informationBlock</span>
3263
+ <span class="cstat-no" title="statement not covered" > .maximumAmount</span>
3264
+ <span class="cstat-no" title="statement not covered" > }</span>
3265
+ <span class="cstat-no" title="statement not covered" > &lt;span</span>
3266
+ <span class="cstat-no" title="statement not covered" > className={</span>
3267
+ <span class="cstat-no" title="statement not covered" > s["interactable"] + " " + s["red"]</span>
3268
+ <span class="cstat-no" title="statement not covered" > }</span>
3269
+ <span class="cstat-no" title="statement not covered" > onClick={</span>
3270
+ <span class="cstat-no" title="statement not covered" > isLoading.current</span>
3271
+ <span class="cstat-no" title="statement not covered" > ? () =&gt; {}</span>
3272
+ <span class="cstat-no" title="statement not covered" > : (e) =&gt;</span>
3273
+ <span class="cstat-no" title="statement not covered" > callHandlingErrors(</span>
3274
+ <span class="cstat-no" title="statement not covered" > handleMaximumAmountClick,</span>
3275
+ <span class="cstat-no" title="statement not covered" > e</span>
3276
+ <span class="cstat-no" title="statement not covered" > )</span>
3277
+ <span class="cstat-no" title="statement not covered" > }</span>
3278
+ <span class="cstat-no" title="statement not covered" > &gt;</span>
3279
+ <span class="cstat-no" title="statement not covered" > {AmountUtils.crypto(</span>
3280
+ <span class="cstat-no" title="statement not covered" > maximumAmount.current?.crypto,</span>
3281
+ <span class="cstat-no" title="statement not covered" > sendingAssetTickerPrintable</span>
3282
+ <span class="cstat-no" title="statement not covered" > )}</span>
3283
+ <span class="cstat-no" title="statement not covered" > &lt;/span&gt;</span>
3284
+ <span class="cstat-no" title="statement not covered" > {maximumAmount.current?.fiat != null &amp;&amp;</span>
3285
+ <span class="cstat-no" title="statement not covered" > maximumAmount.current?.fiat !== "" ? (</span>
3286
+ <span class="cstat-no" title="statement not covered" > &lt;span className={s["semi-transparent"]}&gt;</span>
3287
+ <span class="cstat-no" title="statement not covered" > {" ~ " +</span>
3288
+ <span class="cstat-no" title="statement not covered" > AmountUtils.fiat(</span>
3289
+ <span class="cstat-no" title="statement not covered" > maximumAmount.current.fiat,</span>
3290
+ <span class="cstat-no" title="statement not covered" > fiatCurrencyCode</span>
3291
+ <span class="cstat-no" title="statement not covered" > )}</span>
3292
+ <span class="cstat-no" title="statement not covered" > &lt;/span&gt;</span>
3293
+ <span class="cstat-no" title="statement not covered" > ) : (</span>
3294
+ <span class="cstat-no" title="statement not covered" > ""</span>
3295
+ <span class="cstat-no" title="statement not covered" > )}</span>
3296
+ <span class="cstat-no" title="statement not covered" > &lt;/&gt;</span>
3297
+ <span class="cstat-no" title="statement not covered" > ) : (</span>
3298
+ <span class="cstat-no" title="statement not covered" > &lt;&gt;</span>
3299
+ <span class="cstat-no" title="statement not covered" > {</span>
3300
+ <span class="cstat-no" title="statement not covered" > translations.informationBlock</span>
3301
+ <span class="cstat-no" title="statement not covered" > .minimumAmount</span>
3302
+ <span class="cstat-no" title="statement not covered" > }</span>
3303
+ <span class="cstat-no" title="statement not covered" > &lt;span</span>
3304
+ <span class="cstat-no" title="statement not covered" > className={</span>
3305
+ <span class="cstat-no" title="statement not covered" > s["interactable"] +</span>
3306
+ <span class="cstat-no" title="statement not covered" > " " +</span>
3307
+ <span class="cstat-no" title="statement not covered" > (!minimalAmountValid</span>
3308
+ <span class="cstat-no" title="statement not covered" > ? s["red"]</span>
3309
+ <span class="cstat-no" title="statement not covered" > : "")</span>
3310
+ <span class="cstat-no" title="statement not covered" > }</span>
3311
+ <span class="cstat-no" title="statement not covered" > onClick={</span>
3312
+ <span class="cstat-no" title="statement not covered" > isLoading.current</span>
3313
+ <span class="cstat-no" title="statement not covered" > ? () =&gt; {}</span>
3314
+ <span class="cstat-no" title="statement not covered" > : (e) =&gt;</span>
3315
+ <span class="cstat-no" title="statement not covered" > callHandlingErrors(</span>
3316
+ <span class="cstat-no" title="statement not covered" > handleMinimalAmountClick,</span>
3317
+ <span class="cstat-no" title="statement not covered" > e</span>
3318
+ <span class="cstat-no" title="statement not covered" > )</span>
3319
+ <span class="cstat-no" title="statement not covered" > }</span>
3320
+ <span class="cstat-no" title="statement not covered" > &gt;</span>
3321
+ <span class="cstat-no" title="statement not covered" > {AmountUtils.crypto(</span>
3322
+ <span class="cstat-no" title="statement not covered" > minimalAmount.current.crypto,</span>
3323
+ <span class="cstat-no" title="statement not covered" > sendingAssetTickerPrintable</span>
3324
+ <span class="cstat-no" title="statement not covered" > )}</span>
3325
+ <span class="cstat-no" title="statement not covered" > &lt;/span&gt;</span>
3326
+ <span class="cstat-no" title="statement not covered" > {minimalAmount.current?.fiat != null &amp;&amp;</span>
3327
+ <span class="cstat-no" title="statement not covered" > minimalAmount.current.fiat !== "" ? (</span>
3328
+ <span class="cstat-no" title="statement not covered" > &lt;span className={s["semi-transparent"]}&gt;</span>
3329
+ <span class="cstat-no" title="statement not covered" > {" ~ " +</span>
3330
+ <span class="cstat-no" title="statement not covered" > AmountUtils.fiat(</span>
3331
+ <span class="cstat-no" title="statement not covered" > minimalAmount.current.fiat,</span>
3332
+ <span class="cstat-no" title="statement not covered" > fiatCurrencyCode</span>
3333
+ <span class="cstat-no" title="statement not covered" > )}</span>
3334
+ <span class="cstat-no" title="statement not covered" > &lt;/span&gt;</span>
3335
+ <span class="cstat-no" title="statement not covered" > ) : (</span>
3336
+ <span class="cstat-no" title="statement not covered" > ""</span>
3337
+ <span class="cstat-no" title="statement not covered" > )}</span>
3338
+ <span class="cstat-no" title="statement not covered" > &lt;/&gt;</span>
3339
+ <span class="cstat-no" title="statement not covered" > )</span>
3340
+ <span class="cstat-no" title="statement not covered" > ) : sendAssetAmount.current || isSwapAll.current ? (</span>
3341
+ <span class="cstat-no" title="statement not covered" > translations.informationBlock[</span>
3342
+ <span class="cstat-no" title="statement not covered" > formHasBalance</span>
3343
+ <span class="cstat-no" title="statement not covered" > ? "calculatingNetworkFee"</span>
3344
+ <span class="cstat-no" title="statement not covered" > : "calculatingSwapRates"</span>
3345
+ <span class="cstat-no" title="statement not covered" > ]</span>
3346
+ <span class="cstat-no" title="statement not covered" > ) : (</span>
3347
+ <span class="cstat-no" title="statement not covered" > translations.informationBlock.loadingMinimalAmount</span>
3348
+ <span class="cstat-no" title="statement not covered" > )}</span>
3349
+ <span class="cstat-no" title="statement not covered" > {/* TODO: [feature, moderate] add "Please enter the amount you want to swap." */}</span>
3350
+ <span class="cstat-no" title="statement not covered" > &lt;/p&gt;</span>
3351
+ <span class="cstat-no" title="statement not covered" > &lt;/div&gt;</span>
3352
+ <span class="cstat-no" title="statement not covered" > {validationContent ? (</span>
3353
+ <span class="cstat-no" title="statement not covered" > &lt;div className={s["swap-dialog-form-validation-text"]}&gt;</span>
3354
+ <span class="cstat-no" title="statement not covered" > &lt;Validation text={validationContent} /&gt;</span>
3355
+ <span class="cstat-no" title="statement not covered" > &lt;/div&gt;</span>
3356
+ <span class="cstat-no" title="statement not covered" > ) : (</span>
3357
+ <span class="cstat-no" title="statement not covered" > ""</span>
3358
+ <span class="cstat-no" title="statement not covered" > )}</span>
3359
+ <span class="cstat-no" title="statement not covered" > &lt;div className={s["swap-dialog-form-button-container"]}&gt;</span>
3360
+ <span class="cstat-no" title="statement not covered" > {formHasBalance ? null : (</span>
3361
+ <span class="cstat-no" title="statement not covered" > &lt;p</span>
3362
+ <span class="cstat-no" title="statement not covered" > className={</span>
3363
+ <span class="cstat-no" title="statement not covered" > s[</span>
3364
+ <span class="cstat-no" title="statement not covered" > "swap-dialog-form-button-container-consent-text"</span>
3365
+ <span class="cstat-no" title="statement not covered" > ]</span>
3366
+ <span class="cstat-no" title="statement not covered" > }</span>
3367
+ <span class="cstat-no" title="statement not covered" > &gt;</span>
3368
+ <span class="cstat-no" title="statement not covered" > {translations.consents.consentTextRate}</span>
3369
+ <span class="cstat-no" title="statement not covered" > &lt;/p&gt;</span>
3370
+ <span class="cstat-no" title="statement not covered" > )}</span>
3371
+ <span class="cstat-no" title="statement not covered" > {showConsent ? null : (</span>
3372
+ <span class="cstat-no" title="statement not covered" > &lt;p</span>
3373
+ <span class="cstat-no" title="statement not covered" > className={</span>
3374
+ <span class="cstat-no" title="statement not covered" > s[</span>
3375
+ <span class="cstat-no" title="statement not covered" > "swap-dialog-form-button-container-consent-text"</span>
3376
+ <span class="cstat-no" title="statement not covered" > ]</span>
3377
+ <span class="cstat-no" title="statement not covered" > }</span>
3378
+ <span class="cstat-no" title="statement not covered" > &gt;</span>
3379
+ <span class="cstat-no" title="statement not covered" > {translations.consents.consentText + " "}</span>
3380
+ <span class="cstat-no" title="statement not covered" > &lt;a</span>
3381
+ <span class="cstat-no" title="statement not covered" > // TODO: [dev] fix dox link - pass via property</span>
3382
+ <span class="cstat-no" title="statement not covered" > href="/docs/legal/swap-terms-of-use.html"</span>
3383
+ <span class="cstat-no" title="statement not covered" > className={</span>
3384
+ <span class="cstat-no" title="statement not covered" > s[</span>
3385
+ <span class="cstat-no" title="statement not covered" > "swap-dialog-form-button-container-consent-text-link"</span>
3386
+ <span class="cstat-no" title="statement not covered" > ]</span>
3387
+ <span class="cstat-no" title="statement not covered" > }</span>
3388
+ <span class="cstat-no" title="statement not covered" > target="_blank"</span>
3389
+ <span class="cstat-no" title="statement not covered" > &gt;</span>
3390
+ <span class="cstat-no" title="statement not covered" > {translations.consents.termsOfUse}</span>
3391
+ <span class="cstat-no" title="statement not covered" > &lt;/a&gt;</span>
3392
+ <span class="cstat-no" title="statement not covered" > {" " + translations.consents.and + " "}</span>
3393
+ <span class="cstat-no" title="statement not covered" > &lt;a</span>
3394
+ <span class="cstat-no" title="statement not covered" > // TODO: [dev] fix dox link - pass via property</span>
3395
+ <span class="cstat-no" title="statement not covered" > href="/docs/legal/swap-privacy-policy.html"</span>
3396
+ <span class="cstat-no" title="statement not covered" > className={</span>
3397
+ <span class="cstat-no" title="statement not covered" > s[</span>
3398
+ <span class="cstat-no" title="statement not covered" > "swap-dialog-form-button-container-consent-text-link"</span>
3399
+ <span class="cstat-no" title="statement not covered" > ]</span>
3400
+ <span class="cstat-no" title="statement not covered" > }</span>
3401
+ <span class="cstat-no" title="statement not covered" > target="_blank"</span>
3402
+ <span class="cstat-no" title="statement not covered" > &gt;</span>
3403
+ <span class="cstat-no" title="statement not covered" > {translations.consents.privacyPolicy}</span>
3404
+ <span class="cstat-no" title="statement not covered" > &lt;/a&gt;</span>
3405
+ <span class="cstat-no" title="statement not covered" > .</span>
3406
+ <span class="cstat-no" title="statement not covered" > &lt;/p&gt;</span>
3407
+ <span class="cstat-no" title="statement not covered" > )}</span>
3408
+ <span class="cstat-no" title="statement not covered" > &lt;Button</span>
3409
+ <span class="cstat-no" title="statement not covered" > size="lg"</span>
3410
+ <span class="cstat-no" title="statement not covered" > mode="primary"</span>
3411
+ <span class="cstat-no" title="statement not covered" > content={translations.confirmButtonText}</span>
3412
+ <span class="cstat-no" title="statement not covered" > onClick={handleConfirmButtonClick}</span>
3413
+ <span class="cstat-no" title="statement not covered" > fullWidthOnMobiles</span>
3414
+ <span class="cstat-no" title="statement not covered" > isDisabled={!readyToSwap}</span>
3415
+ <span class="cstat-no" title="statement not covered" > to={formHasBalance ? "" : confirmButtonTo}</span>
3416
+ <span class="cstat-no" title="statement not covered" > loader={formHasBalance}</span>
3417
+ <span class="cstat-no" title="statement not covered" > handleError={callHandlingErrors}</span>
3418
+ <span class="cstat-no" title="statement not covered" > /&gt;</span>
3419
+ <span class="cstat-no" title="statement not covered" > &lt;/div&gt;</span>
3420
+ <span class="cstat-no" title="statement not covered" > &lt;/TitleBox&gt;</span>
3421
+ <span class="cstat-no" title="statement not covered" > &lt;/div&gt;</span>
3422
+ <span class="cstat-no" title="statement not covered" > );</span>
3423
+ <span class="cstat-no" title="statement not covered" >};</span>
3424
+ <span class="cstat-no" title="statement not covered" ></span>
3425
+ <span class="cstat-no" title="statement not covered" >SwapForm.propTypes = {</span>
3426
+ <span class="cstat-no" title="statement not covered" > sendingAssetTicker: PropTypes.string.isRequired,</span>
3427
+ <span class="cstat-no" title="statement not covered" > receivingAssetTicker: PropTypes.string.isRequired,</span>
3428
+ <span class="cstat-no" title="statement not covered" > sendingAssetDecimalCount: PropTypes.number,</span>
3429
+ <span class="cstat-no" title="statement not covered" > receivingAssetDecimalCount: PropTypes.number,</span>
3430
+ <span class="cstat-no" title="statement not covered" > sendingAssetTickerPrintable: PropTypes.string.isRequired,</span>
3431
+ <span class="cstat-no" title="statement not covered" > receivingAssetTickerPrintable: PropTypes.string.isRequired,</span>
3432
+ <span class="cstat-no" title="statement not covered" > sendingAssetProtocol: PropTypes.string,</span>
3433
+ <span class="cstat-no" title="statement not covered" > receivingAssetProtocol: PropTypes.string,</span>
3434
+ <span class="cstat-no" title="statement not covered" > sendingAssetIconSrc: PropTypes.string.isRequired,</span>
3435
+ <span class="cstat-no" title="statement not covered" > sendingAssetProtocolIconSrc: PropTypes.oneOfType([PropTypes.string, null]),</span>
3436
+ <span class="cstat-no" title="statement not covered" > receivingAssetIconSrc: PropTypes.string.isRequired,</span>
3437
+ <span class="cstat-no" title="statement not covered" > receivingAssetProtocolIconSrc: PropTypes.oneOfType([</span>
3438
+ <span class="cstat-no" title="statement not covered" > PropTypes.string,</span>
3439
+ <span class="cstat-no" title="statement not covered" > null,</span>
3440
+ <span class="cstat-no" title="statement not covered" > ]),</span>
3441
+ <span class="cstat-no" title="statement not covered" > fallBackAssetIconSrc: PropTypes.oneOfType([PropTypes.string, null]),</span>
3442
+ <span class="cstat-no" title="statement not covered" > sendingAssetFeeCoinTickerPrintable: PropTypes.string,</span>
3443
+ <span class="cstat-no" title="statement not covered" > sendingAssetBalance: PropTypes.string,</span>
3444
+ <span class="cstat-no" title="statement not covered" > receivingAssetBalance: PropTypes.string,</span>
3445
+ <span class="cstat-no" title="statement not covered" > handleChangeSendingAssetClick: PropTypes.func.isRequired,</span>
3446
+ <span class="cstat-no" title="statement not covered" > handleChangeReceivingAssetClick: PropTypes.func.isRequired,</span>
3447
+ <span class="cstat-no" title="statement not covered" > handleConfirmButtonClick: PropTypes.func,</span>
3448
+ <span class="cstat-no" title="statement not covered" > composeConfirmButtonTo: PropTypes.func,</span>
3449
+ <span class="cstat-no" title="statement not covered" > setSwapCreationEstimation: PropTypes.func,</span>
3450
+ <span class="cstat-no" title="statement not covered" > handleUnexpectedError: PropTypes.func,</span>
3451
+ <span class="cstat-no" title="statement not covered" > rotateAssets: PropTypes.func,</span>
3452
+ <span class="cstat-no" title="statement not covered" > preservedAmount: PropTypes.oneOfType([PropTypes.string, null]),</span>
3453
+ <span class="cstat-no" title="statement not covered" > handleSwapServiceError: PropTypes.func.isRequired,</span>
3454
+ <span class="cstat-no" title="statement not covered" > formHasBalance: PropTypes.bool,</span>
3455
+ <span class="cstat-no" title="statement not covered" > retrieveSwapDetails: PropTypes.func.isRequired,</span>
3456
+ <span class="cstat-no" title="statement not covered" > retrieveInitialSwapData: PropTypes.func.isRequired,</span>
3457
+ <span class="cstat-no" title="statement not covered" > triggerDataUpdateResetting: PropTypes.number,</span>
3458
+ <span class="cstat-no" title="statement not covered" > fromAssetSelectionButtonRef: PropTypes.any,</span>
3459
+ <span class="cstat-no" title="statement not covered" > toAssetSelectionButtonRef: PropTypes.any,</span>
3460
+ <span class="cstat-no" title="statement not covered" > sendingAssetToFiatRate: PropTypes.oneOfType([</span>
3461
+ <span class="cstat-no" title="statement not covered" > PropTypes.number,</span>
3462
+ <span class="cstat-no" title="statement not covered" > PropTypes.string,</span>
3463
+ <span class="cstat-no" title="statement not covered" > null,</span>
3464
+ <span class="cstat-no" title="statement not covered" > ]),</span>
3465
+ <span class="cstat-no" title="statement not covered" > receivingAssetToFiatRate: PropTypes.oneOfType([</span>
3466
+ <span class="cstat-no" title="statement not covered" > PropTypes.number,</span>
3467
+ <span class="cstat-no" title="statement not covered" > PropTypes.string,</span>
3468
+ <span class="cstat-no" title="statement not covered" > null,</span>
3469
+ <span class="cstat-no" title="statement not covered" > ]),</span>
3470
+ <span class="cstat-no" title="statement not covered" > fiatCurrencyCode: PropTypes.oneOfType([PropTypes.string, null]),</span>
3471
+ <span class="cstat-no" title="statement not covered" > fiatCurrencyDecimals: PropTypes.oneOfType([PropTypes.number, null]),</span>
3472
+ <span class="cstat-no" title="statement not covered" > formHasFiat: PropTypes.bool,</span>
3473
+ <span class="cstat-no" title="statement not covered" > translations: PropTypes.object,</span>
3474
+ <span class="cstat-no" title="statement not covered" > swapSeparatorIconSrc: PropTypes.string.isRequired,</span>
3475
+ <span class="cstat-no" title="statement not covered" > swapButtonAlwaysActive: PropTypes.bool,</span>
3476
+ <span class="cstat-no" title="statement not covered" >};</span>
3477
+ <span class="cstat-no" title="statement not covered" ></span>
3478
+ <span class="cstat-no" title="statement not covered" >SwapForm.defaultProps = {</span>
3479
+ <span class="cstat-no" title="statement not covered" > sendingAssetDecimalCount: AmountUtils.significantDecimalCount,</span>
3480
+ <span class="cstat-no" title="statement not covered" > receivingAssetDecimalCount: AmountUtils.significantDecimalCount,</span>
3481
+ <span class="cstat-no" title="statement not covered" > sendingAssetProtocolIconSrc: null,</span>
3482
+ <span class="cstat-no" title="statement not covered" > receivingAssetProtocolIconSrc: null,</span>
3483
+ <span class="cstat-no" title="statement not covered" > fallBackAssetIconSrc: null,</span>
3484
+ <span class="cstat-no" title="statement not covered" > handleConfirmButtonClick: () =&gt; {},</span>
3485
+ <span class="cstat-no" title="statement not covered" > composeConfirmButtonTo: (fromTicker, toTicker, fromAmount) =&gt; "",</span>
3486
+ <span class="cstat-no" title="statement not covered" > setSwapCreationEstimation: (details) =&gt; {},</span>
3487
+ <span class="cstat-no" title="statement not covered" > handleUnexpectedError: (error) =&gt; {},</span>
3488
+ <span class="cstat-no" title="statement not covered" > rotateAssets: (fromTicker, toTicker) =&gt; {},</span>
3489
+ <span class="cstat-no" title="statement not covered" > preservedAmount: null,</span>
3490
+ <span class="cstat-no" title="statement not covered" > handleSwapServiceError: (</span>
3491
+ <span class="cstat-no" title="statement not covered" > errorCode,</span>
3492
+ <span class="cstat-no" title="statement not covered" > setValidationContent,</span>
3493
+ <span class="cstat-no" title="statement not covered" > setBalanceValid,</span>
3494
+ <span class="cstat-no" title="statement not covered" > setMinimalAmountValid,</span>
3495
+ <span class="cstat-no" title="statement not covered" > setMaximumAmountValid,</span>
3496
+ <span class="cstat-no" title="statement not covered" > setIsPairSupported,</span>
3497
+ <span class="cstat-no" title="statement not covered" > setIsSameCoins</span>
3498
+ <span class="cstat-no" title="statement not covered" > ) =&gt; {},</span>
3499
+ <span class="cstat-no" title="statement not covered" > retrieveSwapDetails: async (</span>
3500
+ <span class="cstat-no" title="statement not covered" > sendingAssetTicker,</span>
3501
+ <span class="cstat-no" title="statement not covered" > receivingAssetTicker,</span>
3502
+ <span class="cstat-no" title="statement not covered" > amount,</span>
3503
+ <span class="cstat-no" title="statement not covered" > isSwapAll = false</span>
3504
+ <span class="cstat-no" title="statement not covered" > ) =&gt; {},</span>
3505
+ <span class="cstat-no" title="statement not covered" > retrieveInitialSwapData: async (</span>
3506
+ <span class="cstat-no" title="statement not covered" > sendingAssetTicker,</span>
3507
+ <span class="cstat-no" title="statement not covered" > receivingAssetTicker</span>
3508
+ <span class="cstat-no" title="statement not covered" > ) =&gt; {},</span>
3509
+ <span class="cstat-no" title="statement not covered" > triggerDataUpdateResetting: 0,</span>
3510
+ <span class="cstat-no" title="statement not covered" > fromAssetSelectionButtonRef: null,</span>
3511
+ <span class="cstat-no" title="statement not covered" > toAssetSelectionButtonRef: null,</span>
3512
+ <span class="cstat-no" title="statement not covered" > sendingAssetToFiatRate: null,</span>
3513
+ <span class="cstat-no" title="statement not covered" > receivingAssetToFiatRate: null,</span>
3514
+ <span class="cstat-no" title="statement not covered" > fiatCurrencyCode: null,</span>
3515
+ <span class="cstat-no" title="statement not covered" > fiatCurrencyDecimals: null,</span>
3516
+ <span class="cstat-no" title="statement not covered" > formHasFiat: true,</span>
3517
+ <span class="cstat-no" title="statement not covered" > swapButtonAlwaysActive: false,</span>
3518
+ <span class="cstat-no" title="statement not covered" >};</span>
3519
+ &nbsp;</pre></td></tr></table></pre>
3520
+
3521
+ <div class='push'></div><!-- for sticky footer -->
3522
+ </div><!-- /wrapper -->
3523
+ <div class='footer quiet pad2 space-top1 center small'>
3524
+ Code coverage generated by
3525
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
3526
+ at 2024-05-03T07:51:04.305Z
3527
+ </div>
3528
+ <script src="../../../../../prettify.js"></script>
3529
+ <script>
3530
+ window.onload = function () {
3531
+ prettyPrint();
3532
+ };
3533
+ </script>
3534
+ <script src="../../../../../sorter.js"></script>
3535
+ <script src="../../../../../block-navigation.js"></script>
3536
+ </body>
3537
+ </html>
3538
+