@rabbitio/ui-kit 1.0.0-beta.82 → 1.0.0-beta.83
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +53 -51
- package/dist/index.cjs.map +1 -1
- package/dist/index.modern.js +29 -29
- package/dist/index.modern.js.map +1 -1
- package/dist/index.module.js +53 -51
- package/dist/index.module.js.map +1 -1
- package/dist/index.umd.js +53 -51
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/swaps-lib/external-apis/letsExchangeSwapProvider.js +2 -3
- package/src/swaps-lib/external-apis/swapProvider.js +14 -8
- package/src/swaps-lib/external-apis/swapspaceSwapProvider.js +3 -6
- package/src/swaps-lib/services/publicSwapService.js +13 -8
- package/src/swaps-lib/utils/swapUtils.js +1 -1
- package/coverage/base.css +0 -224
- package/coverage/block-navigation.js +0 -87
- package/coverage/clover.xml +0 -14948
- package/coverage/coverage-final.json +0 -102
- package/coverage/favicon.png +0 -0
- package/coverage/index.html +0 -911
- package/coverage/prettify.css +0 -1
- package/coverage/prettify.js +0 -2
- package/coverage/rabbit-ui-kit/index.html +0 -116
- package/coverage/rabbit-ui-kit/index.js.html +0 -88
- package/coverage/rabbit-ui-kit/src/common-apis/adapters/analyticsAdapters/googleAnalyticsAdapter.js.html +0 -148
- package/coverage/rabbit-ui-kit/src/common-apis/adapters/analyticsAdapters/index.html +0 -131
- package/coverage/rabbit-ui-kit/src/common-apis/adapters/analyticsAdapters/mixpanelAdapter.js.html +0 -199
- package/coverage/rabbit-ui-kit/src/common-apis/adapters/axiosAdapter.js.html +0 -190
- package/coverage/rabbit-ui-kit/src/common-apis/adapters/index.html +0 -131
- package/coverage/rabbit-ui-kit/src/common-apis/adapters/qrUtils.js.html +0 -139
- package/coverage/rabbit-ui-kit/src/common-apis/amountUtils.js.html +0 -1162
- package/coverage/rabbit-ui-kit/src/common-apis/errorUtils.js.html +0 -211
- package/coverage/rabbit-ui-kit/src/common-apis/external-apis/apiGroups.js.html +0 -250
- package/coverage/rabbit-ui-kit/src/common-apis/external-apis/index.html +0 -131
- package/coverage/rabbit-ui-kit/src/common-apis/external-apis/ipAddressProviders.js.html +0 -352
- package/coverage/rabbit-ui-kit/src/common-apis/fiatCurrenciesService.js.html +0 -544
- package/coverage/rabbit-ui-kit/src/common-apis/globalConstants.jsx.html +0 -94
- package/coverage/rabbit-ui-kit/src/common-apis/index.html +0 -161
- package/coverage/rabbit-ui-kit/src/common-apis/models/blockchain.js.html +0 -115
- package/coverage/rabbit-ui-kit/src/common-apis/models/coin.js.html +0 -544
- package/coverage/rabbit-ui-kit/src/common-apis/models/index.html +0 -146
- package/coverage/rabbit-ui-kit/src/common-apis/models/protocol.js.html +0 -100
- package/coverage/rabbit-ui-kit/src/common-apis/utils/cache.js.html +0 -811
- package/coverage/rabbit-ui-kit/src/common-apis/utils/emailAPI.js.html +0 -133
- package/coverage/rabbit-ui-kit/src/common-apis/utils/index.html +0 -161
- package/coverage/rabbit-ui-kit/src/common-apis/utils/logging/index.html +0 -131
- package/coverage/rabbit-ui-kit/src/common-apis/utils/logging/logger.js.html +0 -208
- package/coverage/rabbit-ui-kit/src/common-apis/utils/logging/logsStorage.js.html +0 -268
- package/coverage/rabbit-ui-kit/src/common-apis/utils/postponeExecution.js.html +0 -118
- package/coverage/rabbit-ui-kit/src/common-apis/utils/safeStringify.js.html +0 -235
- package/coverage/rabbit-ui-kit/src/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/index.js.html +0 -346
- package/coverage/rabbit-ui-kit/src/robust-api-caller/cacheAndConcurrentRequestsResolver.js.html +0 -1570
- package/coverage/rabbit-ui-kit/src/robust-api-caller/cachedRobustExternalApiCallerService.js.html +0 -526
- package/coverage/rabbit-ui-kit/src/robust-api-caller/cancelProcessing.js.html +0 -172
- package/coverage/rabbit-ui-kit/src/robust-api-caller/concurrentCalculationsMetadataHolder.js.html +0 -310
- package/coverage/rabbit-ui-kit/src/robust-api-caller/externalApiProvider.js.html +0 -553
- package/coverage/rabbit-ui-kit/src/robust-api-caller/externalServicesStatsCollector.js.html +0 -319
- package/coverage/rabbit-ui-kit/src/robust-api-caller/index.html +0 -206
- package/coverage/rabbit-ui-kit/src/robust-api-caller/robustExternalAPICallerService.js.html +0 -997
- package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/index.html +0 -146
- package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/letsExchangeSwapProvider.js.html +0 -1513
- package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/swapProvider.js.html +0 -1663
- package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/swapspaceSwapProvider.js.html +0 -1753
- package/coverage/rabbit-ui-kit/src/swaps-lib/models/baseSwapCreationInfo.js.html +0 -223
- package/coverage/rabbit-ui-kit/src/swaps-lib/models/existingSwap.js.html +0 -304
- package/coverage/rabbit-ui-kit/src/swaps-lib/models/existingSwapWithFiatData.js.html +0 -469
- package/coverage/rabbit-ui-kit/src/swaps-lib/models/index.html +0 -161
- package/coverage/rabbit-ui-kit/src/swaps-lib/models/swapProviderCoinInfo.js.html +0 -193
- package/coverage/rabbit-ui-kit/src/swaps-lib/services/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/swaps-lib/services/publicSwapService.js.html +0 -2095
- package/coverage/rabbit-ui-kit/src/swaps-lib/utils/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/swaps-lib/utils/swapUtils.js.html +0 -670
- package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/arrowIcon.jsx.html +0 -124
- package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/arrowTosca.jsx.html +0 -127
- package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/arrowWhite.jsx.html +0 -127
- package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/darkRectangle.jsx.html +0 -106
- package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/determinedError.jsx.html +0 -439
- package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/failedValidationIcon.jsx.html +0 -202
- package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/index.html +0 -251
- package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/infoIcon.jsx.html +0 -133
- package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/noticeQuestionIcon.jsx.html +0 -247
- package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/successfulValidationIcon.jsx.html +0 -163
- package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/walletIcon.jsx.html +0 -151
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/AssetIcon/AssetIcon.jsx.html +0 -256
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/AssetIcon/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/AssetSelection/AssetSelection.jsx.html +0 -289
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/AssetSelection/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/BackgroundTitle/BackgroundTitle.jsx.html +0 -187
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/BackgroundTitle/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/InformationMessage/InformationMessage.jsx.html +0 -238
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/InformationMessage/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Input/Input.jsx.html +0 -634
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Input/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/LoadingDots/LoadingDots.jsx.html +0 -196
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/LoadingDots/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/NoticeIcon/NoticeIcon.jsx.html +0 -277
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/NoticeIcon/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/QrCode/QrCode.jsx.html +0 -217
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/QrCode/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/RateSelector/RateSelector.jsx.html +0 -175
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/RateSelector/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/SupportChat/SupportChat.jsx.html +0 -217
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/SupportChat/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Textarea/Textarea.jsx.html +0 -529
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Textarea/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/TitleBox/TitleBox.jsx.html +0 -508
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/TitleBox/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Tooltip/Tooltip.jsx.html +0 -316
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Tooltip/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/TwoLinesOfText/LinesOfText.jsx.html +0 -313
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/TwoLinesOfText/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Validation/Validation.jsx.html +0 -208
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Validation/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/Button/Button.jsx.html +0 -712
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/Button/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/Close/Close.jsx.html +0 -259
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/Close/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/LinkButton/LinkButton.jsx.html +0 -421
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/LinkButton/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/RadioButtonWithText/RadioButtonWithText.jsx.html +0 -415
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/RadioButtonWithText/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/AmountInput/AmountInput.jsx.html +0 -1060
- package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/AmountInput/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/CoinPicker/CoinPicker.jsx.html +0 -1618
- package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/CoinPicker/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/LineWithIconLink/LineWithIconLink.jsx.html +0 -190
- package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/LineWithIconLink/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/TitledLineWithIconLink/TitledLineWithIconLink.jsx.html +0 -181
- package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/TitledLineWithIconLink/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/CoinPickerDialogStep/CoinPickerDialogStep.jsx.html +0 -283
- package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/CoinPickerDialogStep/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/Dialog.jsx.html +0 -1567
- package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/DialogButtons/DialogButtons.jsx.html +0 -451
- package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/DialogButtons/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/DialogStep/DialogStep.jsx.html +0 -1699
- package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/DialogStep/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/SwapForm/SwapForm.jsx.html +0 -4099
- package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/SwapForm/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/templates/DeterminedErrorDialogStep/DeterminedErrorDialogStep.jsx.html +0 -316
- package/coverage/rabbit-ui-kit/src/ui-kit/components/templates/DeterminedErrorDialogStep/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/hooks/index.html +0 -146
- package/coverage/rabbit-ui-kit/src/ui-kit/hooks/useCallHandlingErrors.js.html +0 -151
- package/coverage/rabbit-ui-kit/src/ui-kit/hooks/useIsHydrated.js.html +0 -121
- package/coverage/rabbit-ui-kit/src/ui-kit/hooks/useReferredState.js.html +0 -157
- package/coverage/rabbit-ui-kit/src/ui-kit/utils/index.html +0 -161
- package/coverage/rabbit-ui-kit/src/ui-kit/utils/inputValueProviders.js.html +0 -235
- package/coverage/rabbit-ui-kit/src/ui-kit/utils/textUtils.js.html +0 -139
- package/coverage/rabbit-ui-kit/src/ui-kit/utils/uiUtils.js.html +0 -121
- package/coverage/rabbit-ui-kit/src/ui-kit/utils/urlQueryUtils.js.html +0 -271
- package/coverage/rabbit-ui-kit/stories/atoms/BackgroundTitle.stories.jsx.html +0 -202
- package/coverage/rabbit-ui-kit/stories/atoms/LinesOfText.stories.jsx.html +0 -283
- package/coverage/rabbit-ui-kit/stories/atoms/LoadingDots.stories.jsx.html +0 -226
- package/coverage/rabbit-ui-kit/stories/atoms/QrCode.stories.jsx.html +0 -175
- package/coverage/rabbit-ui-kit/stories/atoms/RateSelector.stories.jsx.html +0 -136
- package/coverage/rabbit-ui-kit/stories/atoms/Validation.stories.jsx.html +0 -178
- package/coverage/rabbit-ui-kit/stories/atoms/buttons/Button.stories.jsx.html +0 -883
- package/coverage/rabbit-ui-kit/stories/atoms/buttons/Close.stories.jsx.html +0 -211
- package/coverage/rabbit-ui-kit/stories/atoms/buttons/LinkButton.stories.jsx.html +0 -301
- package/coverage/rabbit-ui-kit/stories/atoms/buttons/index.html +0 -146
- package/coverage/rabbit-ui-kit/stories/atoms/index.html +0 -191
- package/coverage/rabbit-ui-kit/stories/molecules/CoinPicker.stories.jsx.html +0 -271
- package/coverage/rabbit-ui-kit/stories/molecules/LineWithIconLink.stories.jsx.html +0 -154
- package/coverage/rabbit-ui-kit/stories/molecules/TitledLineWithIconLink.stories.jsx.html +0 -160
- package/coverage/rabbit-ui-kit/stories/molecules/index.html +0 -146
- package/coverage/rabbit-ui-kit/stories/organisms/Dialog/Dialog.stories.jsx.html +0 -523
- package/coverage/rabbit-ui-kit/stories/organisms/Dialog/DialogButtons/DialogButtons.stories.jsx.html +0 -328
- package/coverage/rabbit-ui-kit/stories/organisms/Dialog/DialogButtons/index.html +0 -116
- package/coverage/rabbit-ui-kit/stories/organisms/Dialog/DialogStep/DialogStep.stories.jsx.html +0 -337
- package/coverage/rabbit-ui-kit/stories/organisms/Dialog/DialogStep/index.html +0 -116
- package/coverage/rabbit-ui-kit/stories/organisms/Dialog/index.html +0 -116
- package/coverage/rabbit-ui-kit/stories/stubs/coins.jsx.html +0 -6880
- package/coverage/rabbit-ui-kit/stories/stubs/exampleContent.jsx.html +0 -145
- package/coverage/rabbit-ui-kit/stories/stubs/index.html +0 -131
- package/coverage/rabbit-ui-kit/stories/templates/DeterminedErrorDialogStep.stories.jsx.html +0 -190
- package/coverage/rabbit-ui-kit/stories/templates/index.html +0 -116
- package/coverage/sort-arrow-sprite.png +0 -0
- package/coverage/sorter.js +0 -196
package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/CoinPicker/CoinPicker.jsx.html
DELETED
|
@@ -1,1618 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
<!doctype html>
|
|
3
|
-
<html lang="en">
|
|
4
|
-
|
|
5
|
-
<head>
|
|
6
|
-
<title>Code coverage report for rabbit-ui-kit/src/ui-kit/components/molecules/CoinPicker/CoinPicker.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/ui-kit/components/molecules/CoinPicker</a> CoinPicker.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/511</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/511</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></td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span>
|
|
578
|
-
<span class="cline-any cline-no"> </span>
|
|
579
|
-
<span class="cline-any cline-no"> </span>
|
|
580
|
-
<span class="cline-any cline-no"> </span>
|
|
581
|
-
<span class="cline-any cline-no"> </span>
|
|
582
|
-
<span class="cline-any cline-no"> </span>
|
|
583
|
-
<span class="cline-any cline-no"> </span>
|
|
584
|
-
<span class="cline-any cline-no"> </span>
|
|
585
|
-
<span class="cline-any cline-no"> </span>
|
|
586
|
-
<span class="cline-any cline-no"> </span>
|
|
587
|
-
<span class="cline-any cline-no"> </span>
|
|
588
|
-
<span class="cline-any cline-no"> </span>
|
|
589
|
-
<span class="cline-any cline-no"> </span>
|
|
590
|
-
<span class="cline-any cline-no"> </span>
|
|
591
|
-
<span class="cline-any cline-no"> </span>
|
|
592
|
-
<span class="cline-any cline-no"> </span>
|
|
593
|
-
<span class="cline-any cline-no"> </span>
|
|
594
|
-
<span class="cline-any cline-no"> </span>
|
|
595
|
-
<span class="cline-any cline-no"> </span>
|
|
596
|
-
<span class="cline-any cline-no"> </span>
|
|
597
|
-
<span class="cline-any cline-no"> </span>
|
|
598
|
-
<span class="cline-any cline-no"> </span>
|
|
599
|
-
<span class="cline-any cline-no"> </span>
|
|
600
|
-
<span class="cline-any cline-no"> </span>
|
|
601
|
-
<span class="cline-any cline-no"> </span>
|
|
602
|
-
<span class="cline-any cline-no"> </span>
|
|
603
|
-
<span class="cline-any cline-no"> </span>
|
|
604
|
-
<span class="cline-any cline-no"> </span>
|
|
605
|
-
<span class="cline-any cline-no"> </span>
|
|
606
|
-
<span class="cline-any cline-no"> </span>
|
|
607
|
-
<span class="cline-any cline-no"> </span>
|
|
608
|
-
<span class="cline-any cline-no"> </span>
|
|
609
|
-
<span class="cline-any cline-no"> </span>
|
|
610
|
-
<span class="cline-any cline-no"> </span>
|
|
611
|
-
<span class="cline-any cline-no"> </span>
|
|
612
|
-
<span class="cline-any cline-no"> </span>
|
|
613
|
-
<span class="cline-any cline-no"> </span>
|
|
614
|
-
<span class="cline-any cline-no"> </span>
|
|
615
|
-
<span class="cline-any cline-no"> </span>
|
|
616
|
-
<span class="cline-any cline-no"> </span>
|
|
617
|
-
<span class="cline-any cline-no"> </span>
|
|
618
|
-
<span class="cline-any cline-no"> </span>
|
|
619
|
-
<span class="cline-any cline-no"> </span>
|
|
620
|
-
<span class="cline-any cline-no"> </span>
|
|
621
|
-
<span class="cline-any cline-no"> </span>
|
|
622
|
-
<span class="cline-any cline-no"> </span>
|
|
623
|
-
<span class="cline-any cline-no"> </span>
|
|
624
|
-
<span class="cline-any cline-no"> </span>
|
|
625
|
-
<span class="cline-any cline-no"> </span>
|
|
626
|
-
<span class="cline-any cline-no"> </span>
|
|
627
|
-
<span class="cline-any cline-no"> </span>
|
|
628
|
-
<span class="cline-any cline-no"> </span>
|
|
629
|
-
<span class="cline-any cline-no"> </span>
|
|
630
|
-
<span class="cline-any cline-no"> </span>
|
|
631
|
-
<span class="cline-any cline-no"> </span>
|
|
632
|
-
<span class="cline-any cline-no"> </span>
|
|
633
|
-
<span class="cline-any cline-no"> </span>
|
|
634
|
-
<span class="cline-any cline-no"> </span>
|
|
635
|
-
<span class="cline-any cline-no"> </span>
|
|
636
|
-
<span class="cline-any cline-no"> </span>
|
|
637
|
-
<span class="cline-any cline-no"> </span>
|
|
638
|
-
<span class="cline-any cline-no"> </span>
|
|
639
|
-
<span class="cline-any cline-no"> </span>
|
|
640
|
-
<span class="cline-any cline-no"> </span>
|
|
641
|
-
<span class="cline-any cline-no"> </span>
|
|
642
|
-
<span class="cline-any cline-no"> </span>
|
|
643
|
-
<span class="cline-any cline-no"> </span>
|
|
644
|
-
<span class="cline-any cline-no"> </span>
|
|
645
|
-
<span class="cline-any cline-no"> </span>
|
|
646
|
-
<span class="cline-any cline-no"> </span>
|
|
647
|
-
<span class="cline-any cline-no"> </span>
|
|
648
|
-
<span class="cline-any cline-no"> </span>
|
|
649
|
-
<span class="cline-any cline-no"> </span>
|
|
650
|
-
<span class="cline-any cline-no"> </span>
|
|
651
|
-
<span class="cline-any cline-no"> </span>
|
|
652
|
-
<span class="cline-any cline-no"> </span>
|
|
653
|
-
<span class="cline-any cline-no"> </span>
|
|
654
|
-
<span class="cline-any cline-no"> </span>
|
|
655
|
-
<span class="cline-any cline-no"> </span>
|
|
656
|
-
<span class="cline-any cline-no"> </span>
|
|
657
|
-
<span class="cline-any cline-no"> </span>
|
|
658
|
-
<span class="cline-any cline-no"> </span>
|
|
659
|
-
<span class="cline-any cline-no"> </span>
|
|
660
|
-
<span class="cline-any cline-no"> </span>
|
|
661
|
-
<span class="cline-any cline-no"> </span>
|
|
662
|
-
<span class="cline-any cline-no"> </span>
|
|
663
|
-
<span class="cline-any cline-no"> </span>
|
|
664
|
-
<span class="cline-any cline-no"> </span>
|
|
665
|
-
<span class="cline-any cline-no"> </span>
|
|
666
|
-
<span class="cline-any cline-no"> </span>
|
|
667
|
-
<span class="cline-any cline-no"> </span>
|
|
668
|
-
<span class="cline-any cline-no"> </span>
|
|
669
|
-
<span class="cline-any cline-no"> </span>
|
|
670
|
-
<span class="cline-any cline-no"> </span>
|
|
671
|
-
<span class="cline-any cline-no"> </span>
|
|
672
|
-
<span class="cline-any cline-no"> </span>
|
|
673
|
-
<span class="cline-any cline-no"> </span>
|
|
674
|
-
<span class="cline-any cline-no"> </span>
|
|
675
|
-
<span class="cline-any cline-no"> </span>
|
|
676
|
-
<span class="cline-any cline-no"> </span>
|
|
677
|
-
<span class="cline-any cline-no"> </span>
|
|
678
|
-
<span class="cline-any cline-no"> </span>
|
|
679
|
-
<span class="cline-any cline-no"> </span>
|
|
680
|
-
<span class="cline-any cline-no"> </span>
|
|
681
|
-
<span class="cline-any cline-no"> </span>
|
|
682
|
-
<span class="cline-any cline-no"> </span>
|
|
683
|
-
<span class="cline-any cline-no"> </span>
|
|
684
|
-
<span class="cline-any cline-no"> </span>
|
|
685
|
-
<span class="cline-any cline-no"> </span>
|
|
686
|
-
<span class="cline-any cline-no"> </span>
|
|
687
|
-
<span class="cline-any cline-no"> </span>
|
|
688
|
-
<span class="cline-any cline-no"> </span>
|
|
689
|
-
<span class="cline-any cline-no"> </span>
|
|
690
|
-
<span class="cline-any cline-no"> </span>
|
|
691
|
-
<span class="cline-any cline-no"> </span>
|
|
692
|
-
<span class="cline-any cline-no"> </span>
|
|
693
|
-
<span class="cline-any cline-no"> </span>
|
|
694
|
-
<span class="cline-any cline-no"> </span>
|
|
695
|
-
<span class="cline-any cline-no"> </span>
|
|
696
|
-
<span class="cline-any cline-no"> </span>
|
|
697
|
-
<span class="cline-any cline-no"> </span>
|
|
698
|
-
<span class="cline-any cline-no"> </span>
|
|
699
|
-
<span class="cline-any cline-no"> </span>
|
|
700
|
-
<span class="cline-any cline-no"> </span>
|
|
701
|
-
<span class="cline-any cline-no"> </span>
|
|
702
|
-
<span class="cline-any cline-no"> </span>
|
|
703
|
-
<span class="cline-any cline-no"> </span>
|
|
704
|
-
<span class="cline-any cline-no"> </span>
|
|
705
|
-
<span class="cline-any cline-no"> </span>
|
|
706
|
-
<span class="cline-any cline-no"> </span>
|
|
707
|
-
<span class="cline-any cline-no"> </span>
|
|
708
|
-
<span class="cline-any cline-no"> </span>
|
|
709
|
-
<span class="cline-any cline-no"> </span>
|
|
710
|
-
<span class="cline-any cline-no"> </span>
|
|
711
|
-
<span class="cline-any cline-no"> </span>
|
|
712
|
-
<span class="cline-any cline-no"> </span>
|
|
713
|
-
<span class="cline-any cline-no"> </span>
|
|
714
|
-
<span class="cline-any cline-no"> </span>
|
|
715
|
-
<span class="cline-any cline-no"> </span>
|
|
716
|
-
<span class="cline-any cline-no"> </span>
|
|
717
|
-
<span class="cline-any cline-no"> </span>
|
|
718
|
-
<span class="cline-any cline-no"> </span>
|
|
719
|
-
<span class="cline-any cline-no"> </span>
|
|
720
|
-
<span class="cline-any cline-no"> </span>
|
|
721
|
-
<span class="cline-any cline-no"> </span>
|
|
722
|
-
<span class="cline-any cline-no"> </span>
|
|
723
|
-
<span class="cline-any cline-no"> </span>
|
|
724
|
-
<span class="cline-any cline-no"> </span>
|
|
725
|
-
<span class="cline-any cline-no"> </span>
|
|
726
|
-
<span class="cline-any cline-no"> </span>
|
|
727
|
-
<span class="cline-any cline-no"> </span>
|
|
728
|
-
<span class="cline-any cline-no"> </span>
|
|
729
|
-
<span class="cline-any cline-no"> </span>
|
|
730
|
-
<span class="cline-any cline-no"> </span>
|
|
731
|
-
<span class="cline-any cline-no"> </span>
|
|
732
|
-
<span class="cline-any cline-no"> </span>
|
|
733
|
-
<span class="cline-any cline-no"> </span>
|
|
734
|
-
<span class="cline-any cline-no"> </span>
|
|
735
|
-
<span class="cline-any cline-no"> </span>
|
|
736
|
-
<span class="cline-any cline-no"> </span>
|
|
737
|
-
<span class="cline-any cline-no"> </span>
|
|
738
|
-
<span class="cline-any cline-no"> </span>
|
|
739
|
-
<span class="cline-any cline-no"> </span>
|
|
740
|
-
<span class="cline-any cline-no"> </span>
|
|
741
|
-
<span class="cline-any cline-no"> </span>
|
|
742
|
-
<span class="cline-any cline-no"> </span>
|
|
743
|
-
<span class="cline-any cline-no"> </span>
|
|
744
|
-
<span class="cline-any cline-no"> </span>
|
|
745
|
-
<span class="cline-any cline-no"> </span>
|
|
746
|
-
<span class="cline-any cline-no"> </span>
|
|
747
|
-
<span class="cline-any cline-no"> </span>
|
|
748
|
-
<span class="cline-any cline-no"> </span>
|
|
749
|
-
<span class="cline-any cline-no"> </span>
|
|
750
|
-
<span class="cline-any cline-no"> </span>
|
|
751
|
-
<span class="cline-any cline-no"> </span>
|
|
752
|
-
<span class="cline-any cline-no"> </span>
|
|
753
|
-
<span class="cline-any cline-no"> </span>
|
|
754
|
-
<span class="cline-any cline-no"> </span>
|
|
755
|
-
<span class="cline-any cline-no"> </span>
|
|
756
|
-
<span class="cline-any cline-no"> </span>
|
|
757
|
-
<span class="cline-any cline-no"> </span>
|
|
758
|
-
<span class="cline-any cline-no"> </span>
|
|
759
|
-
<span class="cline-any cline-no"> </span>
|
|
760
|
-
<span class="cline-any cline-no"> </span>
|
|
761
|
-
<span class="cline-any cline-no"> </span>
|
|
762
|
-
<span class="cline-any cline-no"> </span>
|
|
763
|
-
<span class="cline-any cline-no"> </span>
|
|
764
|
-
<span class="cline-any cline-no"> </span>
|
|
765
|
-
<span class="cline-any cline-no"> </span>
|
|
766
|
-
<span class="cline-any cline-no"> </span>
|
|
767
|
-
<span class="cline-any cline-no"> </span>
|
|
768
|
-
<span class="cline-any cline-no"> </span>
|
|
769
|
-
<span class="cline-any cline-no"> </span>
|
|
770
|
-
<span class="cline-any cline-no"> </span>
|
|
771
|
-
<span class="cline-any cline-no"> </span>
|
|
772
|
-
<span class="cline-any cline-no"> </span>
|
|
773
|
-
<span class="cline-any cline-no"> </span>
|
|
774
|
-
<span class="cline-any cline-no"> </span>
|
|
775
|
-
<span class="cline-any cline-no"> </span>
|
|
776
|
-
<span class="cline-any cline-no"> </span>
|
|
777
|
-
<span class="cline-any cline-no"> </span>
|
|
778
|
-
<span class="cline-any cline-no"> </span>
|
|
779
|
-
<span class="cline-any cline-no"> </span>
|
|
780
|
-
<span class="cline-any cline-no"> </span>
|
|
781
|
-
<span class="cline-any cline-no"> </span>
|
|
782
|
-
<span class="cline-any cline-no"> </span>
|
|
783
|
-
<span class="cline-any cline-no"> </span>
|
|
784
|
-
<span class="cline-any cline-no"> </span>
|
|
785
|
-
<span class="cline-any cline-no"> </span>
|
|
786
|
-
<span class="cline-any cline-no"> </span>
|
|
787
|
-
<span class="cline-any cline-no"> </span>
|
|
788
|
-
<span class="cline-any cline-no"> </span>
|
|
789
|
-
<span class="cline-any cline-no"> </span>
|
|
790
|
-
<span class="cline-any cline-no"> </span>
|
|
791
|
-
<span class="cline-any cline-no"> </span>
|
|
792
|
-
<span class="cline-any cline-no"> </span>
|
|
793
|
-
<span class="cline-any cline-no"> </span>
|
|
794
|
-
<span class="cline-any cline-no"> </span>
|
|
795
|
-
<span class="cline-any cline-no"> </span>
|
|
796
|
-
<span class="cline-any cline-no"> </span>
|
|
797
|
-
<span class="cline-any cline-no"> </span>
|
|
798
|
-
<span class="cline-any cline-no"> </span>
|
|
799
|
-
<span class="cline-any cline-no"> </span>
|
|
800
|
-
<span class="cline-any cline-no"> </span>
|
|
801
|
-
<span class="cline-any cline-no"> </span>
|
|
802
|
-
<span class="cline-any cline-no"> </span>
|
|
803
|
-
<span class="cline-any cline-no"> </span>
|
|
804
|
-
<span class="cline-any cline-no"> </span>
|
|
805
|
-
<span class="cline-any cline-no"> </span>
|
|
806
|
-
<span class="cline-any cline-no"> </span>
|
|
807
|
-
<span class="cline-any cline-no"> </span>
|
|
808
|
-
<span class="cline-any cline-no"> </span>
|
|
809
|
-
<span class="cline-any cline-no"> </span>
|
|
810
|
-
<span class="cline-any cline-no"> </span>
|
|
811
|
-
<span class="cline-any cline-no"> </span>
|
|
812
|
-
<span class="cline-any cline-no"> </span>
|
|
813
|
-
<span class="cline-any cline-no"> </span>
|
|
814
|
-
<span class="cline-any cline-no"> </span>
|
|
815
|
-
<span class="cline-any cline-no"> </span>
|
|
816
|
-
<span class="cline-any cline-no"> </span>
|
|
817
|
-
<span class="cline-any cline-no"> </span>
|
|
818
|
-
<span class="cline-any cline-no"> </span>
|
|
819
|
-
<span class="cline-any cline-no"> </span>
|
|
820
|
-
<span class="cline-any cline-no"> </span>
|
|
821
|
-
<span class="cline-any cline-no"> </span>
|
|
822
|
-
<span class="cline-any cline-no"> </span>
|
|
823
|
-
<span class="cline-any cline-no"> </span>
|
|
824
|
-
<span class="cline-any cline-no"> </span>
|
|
825
|
-
<span class="cline-any cline-no"> </span>
|
|
826
|
-
<span class="cline-any cline-no"> </span>
|
|
827
|
-
<span class="cline-any cline-no"> </span>
|
|
828
|
-
<span class="cline-any cline-no"> </span>
|
|
829
|
-
<span class="cline-any cline-no"> </span>
|
|
830
|
-
<span class="cline-any cline-no"> </span>
|
|
831
|
-
<span class="cline-any cline-no"> </span>
|
|
832
|
-
<span class="cline-any cline-no"> </span>
|
|
833
|
-
<span class="cline-any cline-no"> </span>
|
|
834
|
-
<span class="cline-any cline-no"> </span>
|
|
835
|
-
<span class="cline-any cline-no"> </span>
|
|
836
|
-
<span class="cline-any cline-no"> </span>
|
|
837
|
-
<span class="cline-any cline-no"> </span>
|
|
838
|
-
<span class="cline-any cline-no"> </span>
|
|
839
|
-
<span class="cline-any cline-no"> </span>
|
|
840
|
-
<span class="cline-any cline-no"> </span>
|
|
841
|
-
<span class="cline-any cline-no"> </span>
|
|
842
|
-
<span class="cline-any cline-no"> </span>
|
|
843
|
-
<span class="cline-any cline-no"> </span>
|
|
844
|
-
<span class="cline-any cline-no"> </span>
|
|
845
|
-
<span class="cline-any cline-no"> </span>
|
|
846
|
-
<span class="cline-any cline-no"> </span>
|
|
847
|
-
<span class="cline-any cline-no"> </span>
|
|
848
|
-
<span class="cline-any cline-no"> </span>
|
|
849
|
-
<span class="cline-any cline-no"> </span>
|
|
850
|
-
<span class="cline-any cline-no"> </span>
|
|
851
|
-
<span class="cline-any cline-no"> </span>
|
|
852
|
-
<span class="cline-any cline-no"> </span>
|
|
853
|
-
<span class="cline-any cline-no"> </span>
|
|
854
|
-
<span class="cline-any cline-no"> </span>
|
|
855
|
-
<span class="cline-any cline-no"> </span>
|
|
856
|
-
<span class="cline-any cline-no"> </span>
|
|
857
|
-
<span class="cline-any cline-no"> </span>
|
|
858
|
-
<span class="cline-any cline-no"> </span>
|
|
859
|
-
<span class="cline-any cline-no"> </span>
|
|
860
|
-
<span class="cline-any cline-no"> </span>
|
|
861
|
-
<span class="cline-any cline-no"> </span>
|
|
862
|
-
<span class="cline-any cline-no"> </span>
|
|
863
|
-
<span class="cline-any cline-no"> </span>
|
|
864
|
-
<span class="cline-any cline-no"> </span>
|
|
865
|
-
<span class="cline-any cline-no"> </span>
|
|
866
|
-
<span class="cline-any cline-no"> </span>
|
|
867
|
-
<span class="cline-any cline-no"> </span>
|
|
868
|
-
<span class="cline-any cline-no"> </span>
|
|
869
|
-
<span class="cline-any cline-no"> </span>
|
|
870
|
-
<span class="cline-any cline-no"> </span>
|
|
871
|
-
<span class="cline-any cline-no"> </span>
|
|
872
|
-
<span class="cline-any cline-no"> </span>
|
|
873
|
-
<span class="cline-any cline-no"> </span>
|
|
874
|
-
<span class="cline-any cline-no"> </span>
|
|
875
|
-
<span class="cline-any cline-no"> </span>
|
|
876
|
-
<span class="cline-any cline-no"> </span>
|
|
877
|
-
<span class="cline-any cline-no"> </span>
|
|
878
|
-
<span class="cline-any cline-no"> </span>
|
|
879
|
-
<span class="cline-any cline-no"> </span>
|
|
880
|
-
<span class="cline-any cline-no"> </span>
|
|
881
|
-
<span class="cline-any cline-no"> </span>
|
|
882
|
-
<span class="cline-any cline-no"> </span>
|
|
883
|
-
<span class="cline-any cline-no"> </span>
|
|
884
|
-
<span class="cline-any cline-no"> </span>
|
|
885
|
-
<span class="cline-any cline-no"> </span>
|
|
886
|
-
<span class="cline-any cline-no"> </span>
|
|
887
|
-
<span class="cline-any cline-no"> </span>
|
|
888
|
-
<span class="cline-any cline-no"> </span>
|
|
889
|
-
<span class="cline-any cline-no"> </span>
|
|
890
|
-
<span class="cline-any cline-no"> </span>
|
|
891
|
-
<span class="cline-any cline-no"> </span>
|
|
892
|
-
<span class="cline-any cline-no"> </span>
|
|
893
|
-
<span class="cline-any cline-no"> </span>
|
|
894
|
-
<span class="cline-any cline-no"> </span>
|
|
895
|
-
<span class="cline-any cline-no"> </span>
|
|
896
|
-
<span class="cline-any cline-no"> </span>
|
|
897
|
-
<span class="cline-any cline-no"> </span>
|
|
898
|
-
<span class="cline-any cline-no"> </span>
|
|
899
|
-
<span class="cline-any cline-no"> </span>
|
|
900
|
-
<span class="cline-any cline-no"> </span>
|
|
901
|
-
<span class="cline-any cline-no"> </span>
|
|
902
|
-
<span class="cline-any cline-no"> </span>
|
|
903
|
-
<span class="cline-any cline-no"> </span>
|
|
904
|
-
<span class="cline-any cline-no"> </span>
|
|
905
|
-
<span class="cline-any cline-no"> </span>
|
|
906
|
-
<span class="cline-any cline-no"> </span>
|
|
907
|
-
<span class="cline-any cline-no"> </span>
|
|
908
|
-
<span class="cline-any cline-no"> </span>
|
|
909
|
-
<span class="cline-any cline-no"> </span>
|
|
910
|
-
<span class="cline-any cline-no"> </span>
|
|
911
|
-
<span class="cline-any cline-no"> </span>
|
|
912
|
-
<span class="cline-any cline-no"> </span>
|
|
913
|
-
<span class="cline-any cline-no"> </span>
|
|
914
|
-
<span class="cline-any cline-no"> </span>
|
|
915
|
-
<span class="cline-any cline-no"> </span>
|
|
916
|
-
<span class="cline-any cline-no"> </span>
|
|
917
|
-
<span class="cline-any cline-no"> </span>
|
|
918
|
-
<span class="cline-any cline-no"> </span>
|
|
919
|
-
<span class="cline-any cline-no"> </span>
|
|
920
|
-
<span class="cline-any cline-no"> </span>
|
|
921
|
-
<span class="cline-any cline-no"> </span>
|
|
922
|
-
<span class="cline-any cline-no"> </span>
|
|
923
|
-
<span class="cline-any cline-no"> </span>
|
|
924
|
-
<span class="cline-any cline-no"> </span>
|
|
925
|
-
<span class="cline-any cline-no"> </span>
|
|
926
|
-
<span class="cline-any cline-no"> </span>
|
|
927
|
-
<span class="cline-any cline-no"> </span>
|
|
928
|
-
<span class="cline-any cline-no"> </span>
|
|
929
|
-
<span class="cline-any cline-no"> </span>
|
|
930
|
-
<span class="cline-any cline-no"> </span>
|
|
931
|
-
<span class="cline-any cline-no"> </span>
|
|
932
|
-
<span class="cline-any cline-no"> </span>
|
|
933
|
-
<span class="cline-any cline-no"> </span>
|
|
934
|
-
<span class="cline-any cline-no"> </span>
|
|
935
|
-
<span class="cline-any cline-no"> </span>
|
|
936
|
-
<span class="cline-any cline-no"> </span>
|
|
937
|
-
<span class="cline-any cline-no"> </span>
|
|
938
|
-
<span class="cline-any cline-no"> </span>
|
|
939
|
-
<span class="cline-any cline-no"> </span>
|
|
940
|
-
<span class="cline-any cline-no"> </span>
|
|
941
|
-
<span class="cline-any cline-no"> </span>
|
|
942
|
-
<span class="cline-any cline-no"> </span>
|
|
943
|
-
<span class="cline-any cline-no"> </span>
|
|
944
|
-
<span class="cline-any cline-no"> </span>
|
|
945
|
-
<span class="cline-any cline-no"> </span>
|
|
946
|
-
<span class="cline-any cline-no"> </span>
|
|
947
|
-
<span class="cline-any cline-no"> </span>
|
|
948
|
-
<span class="cline-any cline-no"> </span>
|
|
949
|
-
<span class="cline-any cline-no"> </span>
|
|
950
|
-
<span class="cline-any cline-no"> </span>
|
|
951
|
-
<span class="cline-any cline-no"> </span>
|
|
952
|
-
<span class="cline-any cline-no"> </span>
|
|
953
|
-
<span class="cline-any cline-no"> </span>
|
|
954
|
-
<span class="cline-any cline-no"> </span>
|
|
955
|
-
<span class="cline-any cline-no"> </span>
|
|
956
|
-
<span class="cline-any cline-no"> </span>
|
|
957
|
-
<span class="cline-any cline-no"> </span>
|
|
958
|
-
<span class="cline-any cline-no"> </span>
|
|
959
|
-
<span class="cline-any cline-no"> </span>
|
|
960
|
-
<span class="cline-any cline-no"> </span>
|
|
961
|
-
<span class="cline-any cline-no"> </span>
|
|
962
|
-
<span class="cline-any cline-no"> </span>
|
|
963
|
-
<span class="cline-any cline-no"> </span>
|
|
964
|
-
<span class="cline-any cline-no"> </span>
|
|
965
|
-
<span class="cline-any cline-no"> </span>
|
|
966
|
-
<span class="cline-any cline-no"> </span>
|
|
967
|
-
<span class="cline-any cline-no"> </span>
|
|
968
|
-
<span class="cline-any cline-no"> </span>
|
|
969
|
-
<span class="cline-any cline-no"> </span>
|
|
970
|
-
<span class="cline-any cline-no"> </span>
|
|
971
|
-
<span class="cline-any cline-no"> </span>
|
|
972
|
-
<span class="cline-any cline-no"> </span>
|
|
973
|
-
<span class="cline-any cline-no"> </span>
|
|
974
|
-
<span class="cline-any cline-no"> </span>
|
|
975
|
-
<span class="cline-any cline-no"> </span>
|
|
976
|
-
<span class="cline-any cline-no"> </span>
|
|
977
|
-
<span class="cline-any cline-no"> </span>
|
|
978
|
-
<span class="cline-any cline-no"> </span>
|
|
979
|
-
<span class="cline-any cline-no"> </span>
|
|
980
|
-
<span class="cline-any cline-no"> </span>
|
|
981
|
-
<span class="cline-any cline-no"> </span>
|
|
982
|
-
<span class="cline-any cline-no"> </span>
|
|
983
|
-
<span class="cline-any cline-no"> </span>
|
|
984
|
-
<span class="cline-any cline-no"> </span>
|
|
985
|
-
<span class="cline-any cline-no"> </span>
|
|
986
|
-
<span class="cline-any cline-no"> </span>
|
|
987
|
-
<span class="cline-any cline-no"> </span>
|
|
988
|
-
<span class="cline-any cline-no"> </span>
|
|
989
|
-
<span class="cline-any cline-no"> </span>
|
|
990
|
-
<span class="cline-any cline-no"> </span>
|
|
991
|
-
<span class="cline-any cline-no"> </span>
|
|
992
|
-
<span class="cline-any cline-no"> </span>
|
|
993
|
-
<span class="cline-any cline-no"> </span>
|
|
994
|
-
<span class="cline-any cline-no"> </span>
|
|
995
|
-
<span class="cline-any cline-no"> </span>
|
|
996
|
-
<span class="cline-any cline-no"> </span>
|
|
997
|
-
<span class="cline-any cline-no"> </span>
|
|
998
|
-
<span class="cline-any cline-no"> </span>
|
|
999
|
-
<span class="cline-any cline-no"> </span>
|
|
1000
|
-
<span class="cline-any cline-no"> </span>
|
|
1001
|
-
<span class="cline-any cline-no"> </span>
|
|
1002
|
-
<span class="cline-any cline-no"> </span>
|
|
1003
|
-
<span class="cline-any cline-no"> </span>
|
|
1004
|
-
<span class="cline-any cline-no"> </span>
|
|
1005
|
-
<span class="cline-any cline-no"> </span>
|
|
1006
|
-
<span class="cline-any cline-no"> </span>
|
|
1007
|
-
<span class="cline-any cline-no"> </span>
|
|
1008
|
-
<span class="cline-any cline-no"> </span>
|
|
1009
|
-
<span class="cline-any cline-no"> </span>
|
|
1010
|
-
<span class="cline-any cline-no"> </span>
|
|
1011
|
-
<span class="cline-any cline-no"> </span>
|
|
1012
|
-
<span class="cline-any cline-no"> </span>
|
|
1013
|
-
<span class="cline-any cline-no"> </span>
|
|
1014
|
-
<span class="cline-any cline-no"> </span>
|
|
1015
|
-
<span class="cline-any cline-no"> </span>
|
|
1016
|
-
<span class="cline-any cline-no"> </span>
|
|
1017
|
-
<span class="cline-any cline-no"> </span>
|
|
1018
|
-
<span class="cline-any cline-no"> </span>
|
|
1019
|
-
<span class="cline-any cline-no"> </span>
|
|
1020
|
-
<span class="cline-any cline-no"> </span>
|
|
1021
|
-
<span class="cline-any cline-no"> </span>
|
|
1022
|
-
<span class="cline-any cline-no"> </span>
|
|
1023
|
-
<span class="cline-any cline-no"> </span>
|
|
1024
|
-
<span class="cline-any cline-no"> </span>
|
|
1025
|
-
<span class="cline-any cline-no"> </span>
|
|
1026
|
-
<span class="cline-any cline-no"> </span>
|
|
1027
|
-
<span class="cline-any cline-no"> </span>
|
|
1028
|
-
<span class="cline-any cline-no"> </span>
|
|
1029
|
-
<span class="cline-any cline-no"> </span>
|
|
1030
|
-
<span class="cline-any cline-no"> </span>
|
|
1031
|
-
<span class="cline-any cline-no"> </span>
|
|
1032
|
-
<span class="cline-any cline-no"> </span>
|
|
1033
|
-
<span class="cline-any cline-no"> </span>
|
|
1034
|
-
<span class="cline-any cline-no"> </span>
|
|
1035
|
-
<span class="cline-any cline-no"> </span>
|
|
1036
|
-
<span class="cline-any cline-no"> </span>
|
|
1037
|
-
<span class="cline-any cline-no"> </span>
|
|
1038
|
-
<span class="cline-any cline-no"> </span>
|
|
1039
|
-
<span class="cline-any cline-no"> </span>
|
|
1040
|
-
<span class="cline-any cline-no"> </span>
|
|
1041
|
-
<span class="cline-any cline-no"> </span>
|
|
1042
|
-
<span class="cline-any cline-no"> </span>
|
|
1043
|
-
<span class="cline-any cline-no"> </span>
|
|
1044
|
-
<span class="cline-any cline-no"> </span>
|
|
1045
|
-
<span class="cline-any cline-no"> </span>
|
|
1046
|
-
<span class="cline-any cline-no"> </span>
|
|
1047
|
-
<span class="cline-any cline-no"> </span>
|
|
1048
|
-
<span class="cline-any cline-no"> </span>
|
|
1049
|
-
<span class="cline-any cline-no"> </span>
|
|
1050
|
-
<span class="cline-any cline-no"> </span>
|
|
1051
|
-
<span class="cline-any cline-no"> </span>
|
|
1052
|
-
<span class="cline-any cline-no"> </span>
|
|
1053
|
-
<span class="cline-any cline-no"> </span>
|
|
1054
|
-
<span class="cline-any cline-no"> </span>
|
|
1055
|
-
<span class="cline-any cline-no"> </span>
|
|
1056
|
-
<span class="cline-any cline-no"> </span>
|
|
1057
|
-
<span class="cline-any cline-no"> </span>
|
|
1058
|
-
<span class="cline-any cline-no"> </span>
|
|
1059
|
-
<span class="cline-any cline-no"> </span>
|
|
1060
|
-
<span class="cline-any cline-no"> </span>
|
|
1061
|
-
<span class="cline-any cline-no"> </span>
|
|
1062
|
-
<span class="cline-any cline-no"> </span>
|
|
1063
|
-
<span class="cline-any cline-no"> </span>
|
|
1064
|
-
<span class="cline-any cline-no"> </span>
|
|
1065
|
-
<span class="cline-any cline-no"> </span>
|
|
1066
|
-
<span class="cline-any cline-no"> </span>
|
|
1067
|
-
<span class="cline-any cline-no"> </span>
|
|
1068
|
-
<span class="cline-any cline-no"> </span>
|
|
1069
|
-
<span class="cline-any cline-no"> </span>
|
|
1070
|
-
<span class="cline-any cline-no"> </span>
|
|
1071
|
-
<span class="cline-any cline-no"> </span>
|
|
1072
|
-
<span class="cline-any cline-no"> </span>
|
|
1073
|
-
<span class="cline-any cline-no"> </span>
|
|
1074
|
-
<span class="cline-any cline-no"> </span>
|
|
1075
|
-
<span class="cline-any cline-no"> </span>
|
|
1076
|
-
<span class="cline-any cline-no"> </span>
|
|
1077
|
-
<span class="cline-any cline-no"> </span>
|
|
1078
|
-
<span class="cline-any cline-no"> </span>
|
|
1079
|
-
<span class="cline-any cline-no"> </span>
|
|
1080
|
-
<span class="cline-any cline-no"> </span>
|
|
1081
|
-
<span class="cline-any cline-no"> </span>
|
|
1082
|
-
<span class="cline-any cline-no"> </span>
|
|
1083
|
-
<span class="cline-any cline-no"> </span>
|
|
1084
|
-
<span class="cline-any cline-no"> </span>
|
|
1085
|
-
<span class="cline-any cline-no"> </span>
|
|
1086
|
-
<span class="cline-any cline-no"> </span>
|
|
1087
|
-
<span class="cline-any cline-no"> </span>
|
|
1088
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" >import React, { useEffect, useState, useRef } from "react";<span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" ></span></span></span>
|
|
1089
|
-
<span class="cstat-no" title="statement not covered" >import PropTypes from "prop-types";</span>
|
|
1090
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1091
|
-
<span class="cstat-no" title="statement not covered" >import s from "./coin-picker.module.scss";</span>
|
|
1092
|
-
<span class="cstat-no" title="statement not covered" >import ArrowIcon from "../../../assets/wrappedImages/arrowIcon.jsx";</span>
|
|
1093
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1094
|
-
<span class="cstat-no" title="statement not covered" >import { useReferredState } from "../../../hooks/useReferredState.js";</span>
|
|
1095
|
-
<span class="cstat-no" title="statement not covered" >import { useCallHandlingErrors } from "../../../hooks/useCallHandlingErrors.js";</span>
|
|
1096
|
-
<span class="cstat-no" title="statement not covered" >import { logErrorOrOutputToConsole } from "../../../../common-apis/errorUtils.js";</span>
|
|
1097
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1098
|
-
<span class="cstat-no" title="statement not covered" >import { RadioButtonWithText } from "../../atoms/buttons/RadioButtonWithText/RadioButtonWithText.jsx";</span>
|
|
1099
|
-
<span class="cstat-no" title="statement not covered" >import { Input } from "../../atoms/Input/Input.jsx";</span>
|
|
1100
|
-
<span class="cstat-no" title="statement not covered" >import { InformationMessage } from "../../atoms/InformationMessage/InformationMessage.jsx";</span>
|
|
1101
|
-
<span class="cstat-no" title="statement not covered" >import { FALLBACK_ASSET_ICON_URL } from "../../../../common-apis/globalConstants.jsx";</span>
|
|
1102
|
-
<span class="cstat-no" title="statement not covered" >import { AssetIcon } from "../../atoms/AssetIcon/AssetIcon.jsx";</span>
|
|
1103
|
-
<span class="cstat-no" title="statement not covered" >import { Button } from "../../atoms/buttons/Button/Button.jsx";</span>
|
|
1104
|
-
<span class="cstat-no" title="statement not covered" >import { LoadingDots } from "../../atoms/LoadingDots/LoadingDots.jsx";</span>
|
|
1105
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1106
|
-
<span class="cstat-no" title="statement not covered" >export const COIN_PICKER_MODES = {</span>
|
|
1107
|
-
<span class="cstat-no" title="statement not covered" > BUTTON: "BUTTON",</span>
|
|
1108
|
-
<span class="cstat-no" title="statement not covered" > CHECKBOX: "CHECKBOX",</span>
|
|
1109
|
-
<span class="cstat-no" title="statement not covered" >};</span>
|
|
1110
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1111
|
-
<span class="cstat-no" title="statement not covered" >const defaultTexts = {</span>
|
|
1112
|
-
<span class="cstat-no" title="statement not covered" > searchPlaceholder: "Search..",</span>
|
|
1113
|
-
<span class="cstat-no" title="statement not covered" > noAssetsMessage: "No matching assets found",</span>
|
|
1114
|
-
<span class="cstat-no" title="statement not covered" > loadMoreButton: "Load more",</span>
|
|
1115
|
-
<span class="cstat-no" title="statement not covered" > assetSuggestionMessage: {</span>
|
|
1116
|
-
<span class="cstat-no" title="statement not covered" > part1: "Need more?",</span>
|
|
1117
|
-
<span class="cstat-no" title="statement not covered" > part2: "Let us know",</span>
|
|
1118
|
-
<span class="cstat-no" title="statement not covered" > part3: "which coin to add next.",</span>
|
|
1119
|
-
<span class="cstat-no" title="statement not covered" > },</span>
|
|
1120
|
-
<span class="cstat-no" title="statement not covered" >};</span>
|
|
1121
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1122
|
-
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
1123
|
-
<span class="cstat-no" title="statement not covered" > * Component that can be used either for one-time selection of an asset, or</span>
|
|
1124
|
-
<span class="cstat-no" title="statement not covered" > * for a multi-selection in a CHECKBOX format.</span>
|
|
1125
|
-
<span class="cstat-no" title="statement not covered" > * CoinPicker can show all assets with a subtitle.</span>
|
|
1126
|
-
<span class="cstat-no" title="statement not covered" > *</span>
|
|
1127
|
-
<span class="cstat-no" title="statement not covered" > * Usage rules:</span>
|
|
1128
|
-
<span class="cstat-no" title="statement not covered" > * 1. for CHECKBOX mode</span>
|
|
1129
|
-
<span class="cstat-no" title="statement not covered" > * - you MUST pass allCoins, initiallyEnabledCoinsList and setCoinPickerValue</span>
|
|
1130
|
-
<span class="cstat-no" title="statement not covered" > * 2. for BUTTON mode</span>
|
|
1131
|
-
<span class="cstat-no" title="statement not covered" > * - you MUST NOT pass setCoinPickerValue (it will be ignored)</span>
|
|
1132
|
-
<span class="cstat-no" title="statement not covered" > * - if you don't pass loadCoinsAndContent function, you MUST pass allCoins</span>
|
|
1133
|
-
<span class="cstat-no" title="statement not covered" > *</span>
|
|
1134
|
-
<span class="cstat-no" title="statement not covered" > * @component</span>
|
|
1135
|
-
<span class="cstat-no" title="statement not covered" > * @param {Object} props - The props object.</span>
|
|
1136
|
-
<span class="cstat-no" title="statement not covered" > * @param {string} [props.mode] - One-time button selection or multi-selection via toggles, available options are located in COIN_PICKER_MODES.</span>
|
|
1137
|
-
<span class="cstat-no" title="statement not covered" > * @param {Coin[]} [props.allCoins] - All coins despite their enabled/disabled status. Pass this list if you use CHECKBOX mode or you don't pass the loadCoinsAndContent function.</span>
|
|
1138
|
-
<span class="cstat-no" title="statement not covered" > * @param {Coin[]} [props.initiallyEnabledCoinsList] - Pass this when using CHECKBOX mode.</span>
|
|
1139
|
-
<span class="cstat-no" title="statement not covered" > * @param {function} [props.handleClick] - Handler function for the event when an asset is clicked.</span>
|
|
1140
|
-
<span class="cstat-no" title="statement not covered" > * @param {number|undefined} [props.triggerToReloadData] - Trigger to reload the component when some related data changes.</span>
|
|
1141
|
-
<span class="cstat-no" title="statement not covered" > * @param {boolean} [props.search=false] - Whether to show the search bar above the assets list, when enabled overrides searchAdaptive and locks the list height.</span>
|
|
1142
|
-
<span class="cstat-no" title="statement not covered" > * @param {boolean} [props.searchAdaptive=true] - Show search bar only after six assets in the list.</span>
|
|
1143
|
-
<span class="cstat-no" title="statement not covered" > * @param {function} [props.setCoinPickerValue] - Called with the only parameter (final enabled tickers list) when closing/confirming dialog in CHECKBOX mode.</span>
|
|
1144
|
-
<span class="cstat-no" title="statement not covered" > * @param {function} [props.setCoinPickerListChanged] - Called with the only parameter (flag signaling that the list of enabled coins was changed - true, or was not changed - false) when closing/confirming dialog in CHECKBOX mode.</span>
|
|
1145
|
-
<span class="cstat-no" title="statement not covered" > * @param {function} [props.loadCoinsAndContent] - Optional, you can provide it if you need custom logic for coins list composing or custom subtitles. Expected return format:</span>
|
|
1146
|
-
<span class="cstat-no" title="statement not covered" > * {</span>
|
|
1147
|
-
<span class="cstat-no" title="statement not covered" > * coins: Coin[],</span>
|
|
1148
|
-
<span class="cstat-no" title="statement not covered" > * content: { coin: Coin, subtitle: string }[],</span>
|
|
1149
|
-
<span class="cstat-no" title="statement not covered" > * isCoinsDataReloadable: boolean</span>
|
|
1150
|
-
<span class="cstat-no" title="statement not covered" > * }</span>
|
|
1151
|
-
<span class="cstat-no" title="statement not covered" > * @param {boolean} [props.showRequestMissingCoinsInfoMessage=true] - Whether to show message about advising missing coins.</span>
|
|
1152
|
-
<span class="cstat-no" title="statement not covered" > * @param {string} [props.supportUrl] - Needed when showRequestMissingCoinsInfoMessage=true.</span>
|
|
1153
|
-
<span class="cstat-no" title="statement not covered" > * @param {function} props.coinToIconPaths - Function to map coins to their icon paths.</span>
|
|
1154
|
-
<span class="cstat-no" title="statement not covered" > * @param {boolean} [props.partialLoadingEnabled=true] - Enables only partialLoadingIncrement items to be shown by default, with the user able to show more by clicking the load-more button.</span>
|
|
1155
|
-
<span class="cstat-no" title="statement not covered" > * @param {number} [props.partialLoadingIncrement=100] - The number of items to incrementally load when partial loading is enabled.</span>
|
|
1156
|
-
<span class="cstat-no" title="statement not covered" > * @param {object} [props.texts] - Texts translated to the desired locale; default texts use English locale.</span>
|
|
1157
|
-
<span class="cstat-no" title="statement not covered" > */</span>
|
|
1158
|
-
<span class="cstat-no" title="statement not covered" >export const CoinPicker = ({</span>
|
|
1159
|
-
<span class="cstat-no" title="statement not covered" > mode = COIN_PICKER_MODES.BUTTON,</span>
|
|
1160
|
-
<span class="cstat-no" title="statement not covered" > allCoins,</span>
|
|
1161
|
-
<span class="cstat-no" title="statement not covered" > initiallyEnabledCoinsList,</span>
|
|
1162
|
-
<span class="cstat-no" title="statement not covered" > handleClick = ticker => {},</span>
|
|
1163
|
-
<span class="cstat-no" title="statement not covered" > triggerToReloadData,</span>
|
|
1164
|
-
<span class="cstat-no" title="statement not covered" > search = false,</span>
|
|
1165
|
-
<span class="cstat-no" title="statement not covered" > searchAdaptive = true,</span>
|
|
1166
|
-
<span class="cstat-no" title="statement not covered" > setCoinPickerValue = () => {},</span>
|
|
1167
|
-
<span class="cstat-no" title="statement not covered" > setCoinPickerListChanged = () => {},</span>
|
|
1168
|
-
<span class="cstat-no" title="statement not covered" > loadCoinsAndContent = null,</span>
|
|
1169
|
-
<span class="cstat-no" title="statement not covered" > showRequestMissingCoinsInfoMessage = true,</span>
|
|
1170
|
-
<span class="cstat-no" title="statement not covered" > supportUrl = null,</span>
|
|
1171
|
-
<span class="cstat-no" title="statement not covered" > coinToIconPaths = coin => ({</span>
|
|
1172
|
-
<span class="cstat-no" title="statement not covered" > assetIconSrc: undefined,</span>
|
|
1173
|
-
<span class="cstat-no" title="statement not covered" > assetIconProtocolSrc: undefined,</span>
|
|
1174
|
-
<span class="cstat-no" title="statement not covered" > }),</span>
|
|
1175
|
-
<span class="cstat-no" title="statement not covered" > partialLoadingEnabled = true,</span>
|
|
1176
|
-
<span class="cstat-no" title="statement not covered" > partialLoadingIncrement = 100,</span>
|
|
1177
|
-
<span class="cstat-no" title="statement not covered" > texts = defaultTexts,</span>
|
|
1178
|
-
<span class="cstat-no" title="statement not covered" >}) => {</span>
|
|
1179
|
-
<span class="cstat-no" title="statement not covered" > const handleError = useCallHandlingErrors();</span>
|
|
1180
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1181
|
-
<span class="cstat-no" title="statement not covered" > const [coins, setCoins] = useState(null);</span>
|
|
1182
|
-
<span class="cstat-no" title="statement not covered" > const [filteredCoins, setFilteredCoins] = useState([]);</span>
|
|
1183
|
-
<span class="cstat-no" title="statement not covered" > const [initiallyEnabledCoins, setInitiallyEnabledCoins] = useReferredState({});</span>
|
|
1184
|
-
<span class="cstat-no" title="statement not covered" > const [currentlyEnabledCoins, setCurrentlyEnabledCoins] = useReferredState({});</span>
|
|
1185
|
-
<span class="cstat-no" title="statement not covered" > const [searchFieldValue, setSearchFieldValue] = useState("");</span>
|
|
1186
|
-
<span class="cstat-no" title="statement not covered" > const [scrollWrapperClass, setScrollWrapperClass] = useState("");</span>
|
|
1187
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1188
|
-
<span class="cstat-no" title="statement not covered" > const [searchEnabled, setSearchEnabled] = useState(false);</span>
|
|
1189
|
-
<span class="cstat-no" title="statement not covered" > const [coinsContent, setCoinsContent] = useState(null);</span>
|
|
1190
|
-
<span class="cstat-no" title="statement not covered" > const [isCoinsDataReloadable, setIsCoinsDataReloadable] = useState(false);</span>
|
|
1191
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1192
|
-
<span class="cstat-no" title="statement not covered" > const [limitedCoinsNumber, setLimitedCoinsNumber] = useState(0);</span>
|
|
1193
|
-
<span class="cstat-no" title="statement not covered" > const [displayedCoins, setDisplayedCoins] = useState([]);</span>
|
|
1194
|
-
<span class="cstat-no" title="statement not covered" > const [isListFull, setIsListFull] = useState(true);</span>
|
|
1195
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1196
|
-
<span class="cstat-no" title="statement not covered" > const searchRef = useRef();</span>
|
|
1197
|
-
<span class="cstat-no" title="statement not covered" > const scrollContainerRef = useRef();</span>
|
|
1198
|
-
<span class="cstat-no" title="statement not covered" > const skeletonItemsCount =</span>
|
|
1199
|
-
<span class="cstat-no" title="statement not covered" > initiallyEnabledCoinsList?.length || (partialLoadingEnabled ? partialLoadingIncrement : 6);</span>
|
|
1200
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1201
|
-
<span class="cstat-no" title="statement not covered" > const defaultLoadCoinsAndContent = async () => {</span>
|
|
1202
|
-
<span class="cstat-no" title="statement not covered" > const allCoinsSorted = sortCoinsArrayByAlphabet(allCoins, composeEnabledCoinsObject(allCoins));</span>
|
|
1203
|
-
<span class="cstat-no" title="statement not covered" > return {</span>
|
|
1204
|
-
<span class="cstat-no" title="statement not covered" > coins: allCoinsSorted,</span>
|
|
1205
|
-
<span class="cstat-no" title="statement not covered" > content: allCoinsSorted.map(c => ({</span>
|
|
1206
|
-
<span class="cstat-no" title="statement not covered" > coin: c,</span>
|
|
1207
|
-
<span class="cstat-no" title="statement not covered" > subtitle: c.blockchain?.name,</span>
|
|
1208
|
-
<span class="cstat-no" title="statement not covered" > })),</span>
|
|
1209
|
-
<span class="cstat-no" title="statement not covered" > isCoinsDataReloadable: false,</span>
|
|
1210
|
-
<span class="cstat-no" title="statement not covered" > };</span>
|
|
1211
|
-
<span class="cstat-no" title="statement not covered" > };</span>
|
|
1212
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1213
|
-
<span class="cstat-no" title="statement not covered" > const sortCoinsArrayByAlphabet = (coinsToSort, enabledCoinsObject) => {</span>
|
|
1214
|
-
<span class="cstat-no" title="statement not covered" > return [</span>
|
|
1215
|
-
<span class="cstat-no" title="statement not covered" > ...coinsToSort</span>
|
|
1216
|
-
<span class="cstat-no" title="statement not covered" > .filter(coin => enabledCoinsObject[coin.ticker])</span>
|
|
1217
|
-
<span class="cstat-no" title="statement not covered" > .sort((a, b) => a.latinName.toUpperCase() > b.latinName.toUpperCase()),</span>
|
|
1218
|
-
<span class="cstat-no" title="statement not covered" > ...coinsToSort</span>
|
|
1219
|
-
<span class="cstat-no" title="statement not covered" > .filter(coin => !enabledCoinsObject[coin.ticker])</span>
|
|
1220
|
-
<span class="cstat-no" title="statement not covered" > .sort((a, b) => a.latinName.toUpperCase() > b.latinName.toUpperCase()),</span>
|
|
1221
|
-
<span class="cstat-no" title="statement not covered" > ];</span>
|
|
1222
|
-
<span class="cstat-no" title="statement not covered" > };</span>
|
|
1223
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1224
|
-
<span class="cstat-no" title="statement not covered" > const composeEnabledCoinsObject = coins => {</span>
|
|
1225
|
-
<span class="cstat-no" title="statement not covered" > if (mode === COIN_PICKER_MODES.CHECKBOX) {</span>
|
|
1226
|
-
<span class="cstat-no" title="statement not covered" > return coins.reduce((prev, coin) => {</span>
|
|
1227
|
-
<span class="cstat-no" title="statement not covered" > return {</span>
|
|
1228
|
-
<span class="cstat-no" title="statement not covered" > ...prev,</span>
|
|
1229
|
-
<span class="cstat-no" title="statement not covered" > [coin.ticker]: !!initiallyEnabledCoinsList.find(enabledCoin => enabledCoin.ticker === coin.ticker),</span>
|
|
1230
|
-
<span class="cstat-no" title="statement not covered" > };</span>
|
|
1231
|
-
<span class="cstat-no" title="statement not covered" > }, {});</span>
|
|
1232
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1233
|
-
<span class="cstat-no" title="statement not covered" > return {};</span>
|
|
1234
|
-
<span class="cstat-no" title="statement not covered" > };</span>
|
|
1235
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1236
|
-
<span class="cstat-no" title="statement not covered" > const handleToggleClick = (ticker, resetButtonLoader = () => {}) => {</span>
|
|
1237
|
-
<span class="cstat-no" title="statement not covered" > resetButtonLoader && resetButtonLoader();</span>
|
|
1238
|
-
<span class="cstat-no" title="statement not covered" > setCurrentlyEnabledCoins(prev => {</span>
|
|
1239
|
-
<span class="cstat-no" title="statement not covered" > return { ...prev, [ticker]: !prev[ticker] };</span>
|
|
1240
|
-
<span class="cstat-no" title="statement not covered" > });</span>
|
|
1241
|
-
<span class="cstat-no" title="statement not covered" > };</span>
|
|
1242
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1243
|
-
<span class="cstat-no" title="statement not covered" > const handleCoinClick = coin => {</span>
|
|
1244
|
-
<span class="cstat-no" title="statement not covered" > if (mode === COIN_PICKER_MODES.CHECKBOX) handleToggleClick(coin.ticker);</span>
|
|
1245
|
-
<span class="cstat-no" title="statement not covered" > handleClick(coin.ticker);</span>
|
|
1246
|
-
<span class="cstat-no" title="statement not covered" > };</span>
|
|
1247
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1248
|
-
<span class="cstat-no" title="statement not covered" > const handleSearchAsset = value => {</span>
|
|
1249
|
-
<span class="cstat-no" title="statement not covered" > // TODO: [refactoring, high] use unified search function. task_id=be0475316f374dd4a926c948d969e704</span>
|
|
1250
|
-
<span class="cstat-no" title="statement not covered" > setSearchFieldValue(value); // Trim the input to handle leading/trailing spaces</span>
|
|
1251
|
-
<span class="cstat-no" title="statement not covered" > const searchTerm = value.trim().toLowerCase();</span>
|
|
1252
|
-
<span class="cstat-no" title="statement not covered" > if (searchTerm !== "") {</span>
|
|
1253
|
-
<span class="cstat-no" title="statement not covered" > const searchWords = searchTerm.split(/\s+/); // Split search terms on whitespace</span>
|
|
1254
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1255
|
-
<span class="cstat-no" title="statement not covered" > const filteredAndSortedCoins = coins</span>
|
|
1256
|
-
<span class="cstat-no" title="statement not covered" > .filter(coin => {</span>
|
|
1257
|
-
<span class="cstat-no" title="statement not covered" > // Check if all search words are found in any of the given properties</span>
|
|
1258
|
-
<span class="cstat-no" title="statement not covered" > return searchWords.every(</span>
|
|
1259
|
-
<span class="cstat-no" title="statement not covered" > word =></span>
|
|
1260
|
-
<span class="cstat-no" title="statement not covered" > coin?.latinName?.toLowerCase().includes(word) ||</span>
|
|
1261
|
-
<span class="cstat-no" title="statement not covered" > coin?.ticker?.toLowerCase().includes(word) ||</span>
|
|
1262
|
-
<span class="cstat-no" title="statement not covered" > coin?.tickerPrintable?.toLowerCase().includes(word)</span>
|
|
1263
|
-
<span class="cstat-no" title="statement not covered" > );</span>
|
|
1264
|
-
<span class="cstat-no" title="statement not covered" > })</span>
|
|
1265
|
-
<span class="cstat-no" title="statement not covered" > .sort((a, b) => {</span>
|
|
1266
|
-
<span class="cstat-no" title="statement not covered" > // Check for exact matches</span>
|
|
1267
|
-
<span class="cstat-no" title="statement not covered" > const aMatch =</span>
|
|
1268
|
-
<span class="cstat-no" title="statement not covered" > a.latinName.toLowerCase() === searchTerm ||</span>
|
|
1269
|
-
<span class="cstat-no" title="statement not covered" > a.ticker.toLowerCase() === searchTerm ||</span>
|
|
1270
|
-
<span class="cstat-no" title="statement not covered" > a.tickerPrintable.toLowerCase() === searchTerm</span>
|
|
1271
|
-
<span class="cstat-no" title="statement not covered" > ? 1</span>
|
|
1272
|
-
<span class="cstat-no" title="statement not covered" > : 0;</span>
|
|
1273
|
-
<span class="cstat-no" title="statement not covered" > const bMatch =</span>
|
|
1274
|
-
<span class="cstat-no" title="statement not covered" > b.latinName.toLowerCase() === searchTerm ||</span>
|
|
1275
|
-
<span class="cstat-no" title="statement not covered" > b.ticker.toLowerCase() === searchTerm ||</span>
|
|
1276
|
-
<span class="cstat-no" title="statement not covered" > b.tickerPrintable.toLowerCase() === searchTerm</span>
|
|
1277
|
-
<span class="cstat-no" title="statement not covered" > ? 1</span>
|
|
1278
|
-
<span class="cstat-no" title="statement not covered" > : 0;</span>
|
|
1279
|
-
<span class="cstat-no" title="statement not covered" > if (bMatch - aMatch !== 0) {</span>
|
|
1280
|
-
<span class="cstat-no" title="statement not covered" > // Prioritize exact matches to the top</span>
|
|
1281
|
-
<span class="cstat-no" title="statement not covered" > return bMatch - aMatch;</span>
|
|
1282
|
-
<span class="cstat-no" title="statement not covered" > } else {</span>
|
|
1283
|
-
<span class="cstat-no" title="statement not covered" > // Sort remaining items alphabetically by latinName</span>
|
|
1284
|
-
<span class="cstat-no" title="statement not covered" > return a.latinName.toLowerCase().localeCompare(b.latinName.toLowerCase());</span>
|
|
1285
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1286
|
-
<span class="cstat-no" title="statement not covered" > });</span>
|
|
1287
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1288
|
-
<span class="cstat-no" title="statement not covered" > setFilteredCoins(filteredAndSortedCoins);</span>
|
|
1289
|
-
<span class="cstat-no" title="statement not covered" > } else {</span>
|
|
1290
|
-
<span class="cstat-no" title="statement not covered" > setFilteredCoins(coins); // Reset to original list if search term is empty</span>
|
|
1291
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1292
|
-
<span class="cstat-no" title="statement not covered" > };</span>
|
|
1293
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1294
|
-
<span class="cstat-no" title="statement not covered" > const loadCoinsAndSaveToState = () => {</span>
|
|
1295
|
-
<span class="cstat-no" title="statement not covered" > (async () => {</span>
|
|
1296
|
-
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
1297
|
-
<span class="cstat-no" title="statement not covered" > const data = loadCoinsAndContent ? await loadCoinsAndContent() : await defaultLoadCoinsAndContent();</span>
|
|
1298
|
-
<span class="cstat-no" title="statement not covered" > setCoins(data.coins);</span>
|
|
1299
|
-
<span class="cstat-no" title="statement not covered" > setFilteredCoins(data.coins);</span>
|
|
1300
|
-
<span class="cstat-no" title="statement not covered" > setCoinsContent(data.content);</span>
|
|
1301
|
-
<span class="cstat-no" title="statement not covered" > setIsCoinsDataReloadable(!!data.isCoinsDataReloadable);</span>
|
|
1302
|
-
<span class="cstat-no" title="statement not covered" > } catch (e) {</span>
|
|
1303
|
-
<span class="cstat-no" title="statement not covered" > logErrorOrOutputToConsole(e);</span>
|
|
1304
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1305
|
-
<span class="cstat-no" title="statement not covered" > })();</span>
|
|
1306
|
-
<span class="cstat-no" title="statement not covered" > };</span>
|
|
1307
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1308
|
-
<span class="cstat-no" title="statement not covered" > // Initializes enabled coins logic if the mode is CHECKBOX</span>
|
|
1309
|
-
<span class="cstat-no" title="statement not covered" > useEffect(() => {</span>
|
|
1310
|
-
<span class="cstat-no" title="statement not covered" > if (mode === COIN_PICKER_MODES.CHECKBOX) {</span>
|
|
1311
|
-
<span class="cstat-no" title="statement not covered" > const enabledCoinsObject = composeEnabledCoinsObject(allCoins);</span>
|
|
1312
|
-
<span class="cstat-no" title="statement not covered" > setInitiallyEnabledCoins(enabledCoinsObject);</span>
|
|
1313
|
-
<span class="cstat-no" title="statement not covered" > setCurrentlyEnabledCoins(enabledCoinsObject);</span>
|
|
1314
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1315
|
-
<span class="cstat-no" title="statement not covered" > // eslint-disable-next-line react-hooks/exhaustive-deps</span>
|
|
1316
|
-
<span class="cstat-no" title="statement not covered" > }, [mode]);</span>
|
|
1317
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1318
|
-
<span class="cstat-no" title="statement not covered" > useEffect(() => {</span>
|
|
1319
|
-
<span class="cstat-no" title="statement not covered" > loadCoinsAndSaveToState();</span>
|
|
1320
|
-
<span class="cstat-no" title="statement not covered" > if (isCoinsDataReloadable) {</span>
|
|
1321
|
-
<span class="cstat-no" title="statement not covered" > const intervalId = setInterval(loadCoinsAndSaveToState, 60000);</span>
|
|
1322
|
-
<span class="cstat-no" title="statement not covered" > return () => clearInterval(intervalId);</span>
|
|
1323
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1324
|
-
<span class="cstat-no" title="statement not covered" > // eslint-disable-next-line react-hooks/exhaustive-deps</span>
|
|
1325
|
-
<span class="cstat-no" title="statement not covered" > }, [triggerToReloadData]);</span>
|
|
1326
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1327
|
-
<span class="cstat-no" title="statement not covered" > useEffect(() => {</span>
|
|
1328
|
-
<span class="cstat-no" title="statement not covered" > const enabled = currentlyEnabledCoins.current;</span>
|
|
1329
|
-
<span class="cstat-no" title="statement not covered" > if (enabled) {</span>
|
|
1330
|
-
<span class="cstat-no" title="statement not covered" > const enabledCoinsTickers = Object.keys(enabled).filter(ticker => enabled[ticker]);</span>
|
|
1331
|
-
<span class="cstat-no" title="statement not covered" > setCoinPickerValue(enabledCoinsTickers);</span>
|
|
1332
|
-
<span class="cstat-no" title="statement not covered" > setCoinPickerListChanged(</span>
|
|
1333
|
-
<span class="cstat-no" title="statement not covered" > JSON.stringify(initiallyEnabledCoins.current) !== JSON.stringify(currentlyEnabledCoins.current)</span>
|
|
1334
|
-
<span class="cstat-no" title="statement not covered" > );</span>
|
|
1335
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1336
|
-
<span class="cstat-no" title="statement not covered" > // eslint-disable-next-line react-hooks/exhaustive-deps</span>
|
|
1337
|
-
<span class="cstat-no" title="statement not covered" > }, [currentlyEnabledCoins.current]);</span>
|
|
1338
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1339
|
-
<span class="cstat-no" title="statement not covered" > useEffect(() => {</span>
|
|
1340
|
-
<span class="cstat-no" title="statement not covered" > setSearchEnabled(</span>
|
|
1341
|
-
<span class="cstat-no" title="statement not covered" > search ? true : searchAdaptive && initiallyEnabledCoinsList ? initiallyEnabledCoinsList.length > 6 : false</span>
|
|
1342
|
-
<span class="cstat-no" title="statement not covered" > );</span>
|
|
1343
|
-
<span class="cstat-no" title="statement not covered" > // eslint-disable-next-line react-hooks/exhaustive-deps</span>
|
|
1344
|
-
<span class="cstat-no" title="statement not covered" > }, [search, searchAdaptive, coins]);</span>
|
|
1345
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1346
|
-
<span class="cstat-no" title="statement not covered" > useEffect(() => {</span>
|
|
1347
|
-
<span class="cstat-no" title="statement not covered" > if (filteredCoins?.length > partialLoadingIncrement && partialLoadingEnabled) {</span>
|
|
1348
|
-
<span class="cstat-no" title="statement not covered" > setLimitedCoinsNumber(partialLoadingIncrement);</span>
|
|
1349
|
-
<span class="cstat-no" title="statement not covered" > } else {</span>
|
|
1350
|
-
<span class="cstat-no" title="statement not covered" > setLimitedCoinsNumber(0);</span>
|
|
1351
|
-
<span class="cstat-no" title="statement not covered" > setDisplayedCoins(filteredCoins);</span>
|
|
1352
|
-
<span class="cstat-no" title="statement not covered" > setIsListFull(true);</span>
|
|
1353
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1354
|
-
<span class="cstat-no" title="statement not covered" > // eslint-disable-next-line react-hooks/exhaustive-deps</span>
|
|
1355
|
-
<span class="cstat-no" title="statement not covered" > }, [filteredCoins]);</span>
|
|
1356
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1357
|
-
<span class="cstat-no" title="statement not covered" > useEffect(() => {</span>
|
|
1358
|
-
<span class="cstat-no" title="statement not covered" > if (limitedCoinsNumber > 0) {</span>
|
|
1359
|
-
<span class="cstat-no" title="statement not covered" > const coinsToDisplay = filteredCoins.slice(0, limitedCoinsNumber);</span>
|
|
1360
|
-
<span class="cstat-no" title="statement not covered" > setDisplayedCoins(coinsToDisplay);</span>
|
|
1361
|
-
<span class="cstat-no" title="statement not covered" > setIsListFull(coinsToDisplay.length === filteredCoins.length);</span>
|
|
1362
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1363
|
-
<span class="cstat-no" title="statement not covered" > // eslint-disable-next-line react-hooks/exhaustive-deps</span>
|
|
1364
|
-
<span class="cstat-no" title="statement not covered" > }, [limitedCoinsNumber]);</span>
|
|
1365
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1366
|
-
<span class="cstat-no" title="statement not covered" > const displayMoreCoins = () => {</span>
|
|
1367
|
-
<span class="cstat-no" title="statement not covered" > setLimitedCoinsNumber(prev => prev + partialLoadingIncrement);</span>
|
|
1368
|
-
<span class="cstat-no" title="statement not covered" > };</span>
|
|
1369
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1370
|
-
<span class="cstat-no" title="statement not covered" > const skeleton = () => {</span>
|
|
1371
|
-
<span class="cstat-no" title="statement not covered" > let skeletonItems = [];</span>
|
|
1372
|
-
<span class="cstat-no" title="statement not covered" > for (let i = 0; i < skeletonItemsCount; i++) {</span>
|
|
1373
|
-
<span class="cstat-no" title="statement not covered" > skeletonItems.push(</span>
|
|
1374
|
-
<span class="cstat-no" title="statement not covered" > <div className={s["item"]} key={"coin-picker-skeleton-" + i}></span>
|
|
1375
|
-
<span class="cstat-no" title="statement not covered" > <div className={s["link"] + " " + s["loading"]}></span>
|
|
1376
|
-
<span class="cstat-no" title="statement not covered" > <div className={s["icon"] + " " + "skeleton-dark"}></div></span>
|
|
1377
|
-
<span class="cstat-no" title="statement not covered" > <div className={s["content"]}></span>
|
|
1378
|
-
<span class="cstat-no" title="statement not covered" > <div className={s["name"] + " " + "skeleton-dark"}></div></span>
|
|
1379
|
-
<span class="cstat-no" title="statement not covered" > <div className={s["amount"] + " " + "skeleton-dark"}></div></span>
|
|
1380
|
-
<span class="cstat-no" title="statement not covered" > </div></span>
|
|
1381
|
-
<span class="cstat-no" title="statement not covered" > </div></span>
|
|
1382
|
-
<span class="cstat-no" title="statement not covered" > </div></span>
|
|
1383
|
-
<span class="cstat-no" title="statement not covered" > );</span>
|
|
1384
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1385
|
-
<span class="cstat-no" title="statement not covered" > return skeletonItems;</span>
|
|
1386
|
-
<span class="cstat-no" title="statement not covered" > };</span>
|
|
1387
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1388
|
-
<span class="cstat-no" title="statement not covered" > const handleScroll = () => {</span>
|
|
1389
|
-
<span class="cstat-no" title="statement not covered" > if (scrollWrapperClass !== "") setScrollWrapperClass("");</span>
|
|
1390
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1391
|
-
<span class="cstat-no" title="statement not covered" > if (scrollContainerRef.current?.scrollTop === 0)</span>
|
|
1392
|
-
<span class="cstat-no" title="statement not covered" > setScrollWrapperClass(</span>
|
|
1393
|
-
<span class="cstat-no" title="statement not covered" > s["reached-top"] +</span>
|
|
1394
|
-
<span class="cstat-no" title="statement not covered" > (scrollContainerRef.current?.scrollHeight - scrollContainerRef.current?.clientHeight === 0</span>
|
|
1395
|
-
<span class="cstat-no" title="statement not covered" > ? " " + s["reached-bottom"]</span>
|
|
1396
|
-
<span class="cstat-no" title="statement not covered" > : "")</span>
|
|
1397
|
-
<span class="cstat-no" title="statement not covered" > );</span>
|
|
1398
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1399
|
-
<span class="cstat-no" title="statement not covered" > if (</span>
|
|
1400
|
-
<span class="cstat-no" title="statement not covered" > scrollContainerRef.current?.scrollTop > 0 &&</span>
|
|
1401
|
-
<span class="cstat-no" title="statement not covered" > scrollContainerRef.current?.scrollTop ===</span>
|
|
1402
|
-
<span class="cstat-no" title="statement not covered" > scrollContainerRef.current?.scrollHeight - scrollContainerRef.current?.clientHeight</span>
|
|
1403
|
-
<span class="cstat-no" title="statement not covered" > )</span>
|
|
1404
|
-
<span class="cstat-no" title="statement not covered" > setScrollWrapperClass(s["reached-bottom"]);</span>
|
|
1405
|
-
<span class="cstat-no" title="statement not covered" > };</span>
|
|
1406
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1407
|
-
<span class="cstat-no" title="statement not covered" > // eslint-disable-next-line react-hooks/exhaustive-deps</span>
|
|
1408
|
-
<span class="cstat-no" title="statement not covered" > useEffect(handleScroll, []);</span>
|
|
1409
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1410
|
-
<span class="cstat-no" title="statement not covered" > // eslint-disable-next-line react-hooks/exhaustive-deps</span>
|
|
1411
|
-
<span class="cstat-no" title="statement not covered" > useEffect(handleScroll, [filteredCoins]);</span>
|
|
1412
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1413
|
-
<span class="cstat-no" title="statement not covered" > const shouldShowSkeleton = coins == null;</span>
|
|
1414
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1415
|
-
<span class="cstat-no" title="statement not covered" > return coins ? (</span>
|
|
1416
|
-
<span class="cstat-no" title="statement not covered" > <></span>
|
|
1417
|
-
<span class="cstat-no" title="statement not covered" > <div className={s["coin-picker"] + (shouldShowSkeleton ? " " + s["loading"] : "")}></span>
|
|
1418
|
-
<span class="cstat-no" title="statement not covered" > {searchEnabled ? (</span>
|
|
1419
|
-
<span class="cstat-no" title="statement not covered" > <div className={s["coin-picker-search"]}></span>
|
|
1420
|
-
<span class="cstat-no" title="statement not covered" > <Input</span>
|
|
1421
|
-
<span class="cstat-no" title="statement not covered" > value={searchFieldValue}</span>
|
|
1422
|
-
<span class="cstat-no" title="statement not covered" > onChange={e => handleSearchAsset(e.target.value)}</span>
|
|
1423
|
-
<span class="cstat-no" title="statement not covered" > placeholder={texts.searchPlaceholder}</span>
|
|
1424
|
-
<span class="cstat-no" title="statement not covered" > isSmallHeight={true}</span>
|
|
1425
|
-
<span class="cstat-no" title="statement not covered" > clearButton</span>
|
|
1426
|
-
<span class="cstat-no" title="statement not covered" > ref={searchRef}</span>
|
|
1427
|
-
<span class="cstat-no" title="statement not covered" > disabled={shouldShowSkeleton}</span>
|
|
1428
|
-
<span class="cstat-no" title="statement not covered" > /></span>
|
|
1429
|
-
<span class="cstat-no" title="statement not covered" > </div></span>
|
|
1430
|
-
<span class="cstat-no" title="statement not covered" > ) : (</span>
|
|
1431
|
-
<span class="cstat-no" title="statement not covered" > ""</span>
|
|
1432
|
-
<span class="cstat-no" title="statement not covered" > )}</span>
|
|
1433
|
-
<span class="cstat-no" title="statement not covered" > <div</span>
|
|
1434
|
-
<span class="cstat-no" title="statement not covered" > className={</span>
|
|
1435
|
-
<span class="cstat-no" title="statement not covered" > s["coin-picker-wrapper"] +</span>
|
|
1436
|
-
<span class="cstat-no" title="statement not covered" > " " +</span>
|
|
1437
|
-
<span class="cstat-no" title="statement not covered" > scrollWrapperClass +</span>
|
|
1438
|
-
<span class="cstat-no" title="statement not covered" > (searchEnabled ? " " + s["fixed-height"] : "")</span>
|
|
1439
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1440
|
-
<span class="cstat-no" title="statement not covered" > ></span>
|
|
1441
|
-
<span class="cstat-no" title="statement not covered" > <div</span>
|
|
1442
|
-
<span class="cstat-no" title="statement not covered" > className={s["coin-picker-wrapper-content"] + (searchEnabled ? " " + s["fixed-height"] : "")}</span>
|
|
1443
|
-
<span class="cstat-no" title="statement not covered" > ref={scrollContainerRef}</span>
|
|
1444
|
-
<span class="cstat-no" title="statement not covered" > onScroll={handleScroll}</span>
|
|
1445
|
-
<span class="cstat-no" title="statement not covered" > ></span>
|
|
1446
|
-
<span class="cstat-no" title="statement not covered" > <div className={s["coin-picker-wrapper-content-assets"]}></span>
|
|
1447
|
-
<span class="cstat-no" title="statement not covered" > {shouldShowSkeleton</span>
|
|
1448
|
-
<span class="cstat-no" title="statement not covered" > ? skeleton()</span>
|
|
1449
|
-
<span class="cstat-no" title="statement not covered" > : displayedCoins.map((coin, index) => {</span>
|
|
1450
|
-
<span class="cstat-no" title="statement not covered" > const { assetIconSrc, assetIconProtocolSrc } = coinToIconPaths(coin);</span>
|
|
1451
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1452
|
-
<span class="cstat-no" title="statement not covered" > return (</span>
|
|
1453
|
-
<span class="cstat-no" title="statement not covered" > <div</span>
|
|
1454
|
-
<span class="cstat-no" title="statement not covered" > className={s["item"]}</span>
|
|
1455
|
-
<span class="cstat-no" title="statement not covered" > key={`picker-${coin.ticker}-${index}`}</span>
|
|
1456
|
-
<span class="cstat-no" title="statement not covered" > onClick={e => handleError(() => handleCoinClick(coin), e)}</span>
|
|
1457
|
-
<span class="cstat-no" title="statement not covered" > ></span>
|
|
1458
|
-
<span class="cstat-no" title="statement not covered" > <div</span>
|
|
1459
|
-
<span class="cstat-no" title="statement not covered" > className={</span>
|
|
1460
|
-
<span class="cstat-no" title="statement not covered" > s["link"] +</span>
|
|
1461
|
-
<span class="cstat-no" title="statement not covered" > (currentlyEnabledCoins.current[coin.ticker] !==</span>
|
|
1462
|
-
<span class="cstat-no" title="statement not covered" > initiallyEnabledCoins.current[coin.ticker]</span>
|
|
1463
|
-
<span class="cstat-no" title="statement not covered" > ? " " + s["outline"]</span>
|
|
1464
|
-
<span class="cstat-no" title="statement not covered" > : "")</span>
|
|
1465
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1466
|
-
<span class="cstat-no" title="statement not covered" > ></span>
|
|
1467
|
-
<span class="cstat-no" title="statement not covered" > <AssetIcon</span>
|
|
1468
|
-
<span class="cstat-no" title="statement not covered" > assetIconSrc={assetIconSrc}</span>
|
|
1469
|
-
<span class="cstat-no" title="statement not covered" > assetIconProtocolSrc={assetIconProtocolSrc}</span>
|
|
1470
|
-
<span class="cstat-no" title="statement not covered" > fallbackSrc={FALLBACK_ASSET_ICON_URL}</span>
|
|
1471
|
-
<span class="cstat-no" title="statement not covered" > /></span>
|
|
1472
|
-
<span class="cstat-no" title="statement not covered" > <div className={s["content"]} key={coin.ticker}></span>
|
|
1473
|
-
<span class="cstat-no" title="statement not covered" > <p className={s["name"]}>{coin.latinName}</p></span>
|
|
1474
|
-
<span class="cstat-no" title="statement not covered" > <p className={s["amount"]}></span>
|
|
1475
|
-
<span class="cstat-no" title="statement not covered" > {coinsContent?.find(i => i.coin === coin)?.subtitle ?? ""}</span>
|
|
1476
|
-
<span class="cstat-no" title="statement not covered" > </p></span>
|
|
1477
|
-
<span class="cstat-no" title="statement not covered" > </div></span>
|
|
1478
|
-
<span class="cstat-no" title="statement not covered" > {mode === COIN_PICKER_MODES.BUTTON ? (</span>
|
|
1479
|
-
<span class="cstat-no" title="statement not covered" > <div className={s["arrow"]}></span>
|
|
1480
|
-
<span class="cstat-no" title="statement not covered" > <ArrowIcon /></span>
|
|
1481
|
-
<span class="cstat-no" title="statement not covered" > </div></span>
|
|
1482
|
-
<span class="cstat-no" title="statement not covered" > ) : mode === COIN_PICKER_MODES.CHECKBOX ? (</span>
|
|
1483
|
-
<span class="cstat-no" title="statement not covered" > <div className={s["toggle-container"]}></span>
|
|
1484
|
-
<span class="cstat-no" title="statement not covered" > <RadioButtonWithText</span>
|
|
1485
|
-
<span class="cstat-no" title="statement not covered" > onStateChange={resetButtonLoader =></span>
|
|
1486
|
-
<span class="cstat-no" title="statement not covered" > handleToggleClick(coin.ticker, resetButtonLoader)</span>
|
|
1487
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1488
|
-
<span class="cstat-no" title="statement not covered" > isSwitchedOn={currentlyEnabledCoins.current[coin.ticker]}</span>
|
|
1489
|
-
<span class="cstat-no" title="statement not covered" > id={index}</span>
|
|
1490
|
-
<span class="cstat-no" title="statement not covered" > /></span>
|
|
1491
|
-
<span class="cstat-no" title="statement not covered" > </div></span>
|
|
1492
|
-
<span class="cstat-no" title="statement not covered" > ) : (</span>
|
|
1493
|
-
<span class="cstat-no" title="statement not covered" > ""</span>
|
|
1494
|
-
<span class="cstat-no" title="statement not covered" > )}</span>
|
|
1495
|
-
<span class="cstat-no" title="statement not covered" > </div></span>
|
|
1496
|
-
<span class="cstat-no" title="statement not covered" > </div></span>
|
|
1497
|
-
<span class="cstat-no" title="statement not covered" > );</span>
|
|
1498
|
-
<span class="cstat-no" title="statement not covered" > })}</span>
|
|
1499
|
-
<span class="cstat-no" title="statement not covered" > </div></span>
|
|
1500
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1501
|
-
<span class="cstat-no" title="statement not covered" > {filteredCoins?.length === 0 && searchFieldValue !== "" ? (</span>
|
|
1502
|
-
<span class="cstat-no" title="statement not covered" > <div className={s["coin-picker-wrapper-content-asset-not-found"]}></span>
|
|
1503
|
-
<span class="cstat-no" title="statement not covered" > <h6>{texts.noAssetsMessage}</h6></span>
|
|
1504
|
-
<span class="cstat-no" title="statement not covered" > </div></span>
|
|
1505
|
-
<span class="cstat-no" title="statement not covered" > ) : (</span>
|
|
1506
|
-
<span class="cstat-no" title="statement not covered" > ""</span>
|
|
1507
|
-
<span class="cstat-no" title="statement not covered" > )}</span>
|
|
1508
|
-
<span class="cstat-no" title="statement not covered" > {partialLoadingEnabled && !isListFull ? (</span>
|
|
1509
|
-
<span class="cstat-no" title="statement not covered" > <div className={s["coin-picker-wrapper-content-load-more-button"]}></span>
|
|
1510
|
-
<span class="cstat-no" title="statement not covered" > <Button</span>
|
|
1511
|
-
<span class="cstat-no" title="statement not covered" > mode="primary-transparent"</span>
|
|
1512
|
-
<span class="cstat-no" title="statement not covered" > size="sm"</span>
|
|
1513
|
-
<span class="cstat-no" title="statement not covered" > loader={false}</span>
|
|
1514
|
-
<span class="cstat-no" title="statement not covered" > content={texts.loadMoreButton}</span>
|
|
1515
|
-
<span class="cstat-no" title="statement not covered" > onClick={displayMoreCoins}</span>
|
|
1516
|
-
<span class="cstat-no" title="statement not covered" > handleError={handleError}</span>
|
|
1517
|
-
<span class="cstat-no" title="statement not covered" > /></span>
|
|
1518
|
-
<span class="cstat-no" title="statement not covered" > </div></span>
|
|
1519
|
-
<span class="cstat-no" title="statement not covered" > ) : (</span>
|
|
1520
|
-
<span class="cstat-no" title="statement not covered" > ""</span>
|
|
1521
|
-
<span class="cstat-no" title="statement not covered" > )}</span>
|
|
1522
|
-
<span class="cstat-no" title="statement not covered" > {searchEnabled && showRequestMissingCoinsInfoMessage ? (</span>
|
|
1523
|
-
<span class="cstat-no" title="statement not covered" > <div className={s["coin-picker-wrapper-content-bottom-message"]}></span>
|
|
1524
|
-
<span class="cstat-no" title="statement not covered" > <InformationMessage</span>
|
|
1525
|
-
<span class="cstat-no" title="statement not covered" > text={</span>
|
|
1526
|
-
<span class="cstat-no" title="statement not covered" > <></span>
|
|
1527
|
-
<span class="cstat-no" title="statement not covered" > {texts.assetSuggestionMessage.part1}</span>
|
|
1528
|
-
<span class="cstat-no" title="statement not covered" > <a</span>
|
|
1529
|
-
<span class="cstat-no" title="statement not covered" > target="_blank"</span>
|
|
1530
|
-
<span class="cstat-no" title="statement not covered" > rel="noreferrer"</span>
|
|
1531
|
-
<span class="cstat-no" title="statement not covered" > href={supportUrl}</span>
|
|
1532
|
-
<span class="cstat-no" title="statement not covered" > className={s["coin-picker-wrapper-content-bottom-message-link"]}</span>
|
|
1533
|
-
<span class="cstat-no" title="statement not covered" > ></span>
|
|
1534
|
-
<span class="cstat-no" title="statement not covered" > {" " + texts.assetSuggestionMessage.part2 + " "}</span>
|
|
1535
|
-
<span class="cstat-no" title="statement not covered" > </a></span>
|
|
1536
|
-
<span class="cstat-no" title="statement not covered" > {texts.assetSuggestionMessage.part3}</span>
|
|
1537
|
-
<span class="cstat-no" title="statement not covered" > </></span>
|
|
1538
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1539
|
-
<span class="cstat-no" title="statement not covered" > /></span>
|
|
1540
|
-
<span class="cstat-no" title="statement not covered" > </div></span>
|
|
1541
|
-
<span class="cstat-no" title="statement not covered" > ) : (</span>
|
|
1542
|
-
<span class="cstat-no" title="statement not covered" > ""</span>
|
|
1543
|
-
<span class="cstat-no" title="statement not covered" > )}</span>
|
|
1544
|
-
<span class="cstat-no" title="statement not covered" > </div></span>
|
|
1545
|
-
<span class="cstat-no" title="statement not covered" > </div></span>
|
|
1546
|
-
<span class="cstat-no" title="statement not covered" > </div></span>
|
|
1547
|
-
<span class="cstat-no" title="statement not covered" > </></span>
|
|
1548
|
-
<span class="cstat-no" title="statement not covered" > ) : (</span>
|
|
1549
|
-
<span class="cstat-no" title="statement not covered" > <LoadingDots /></span>
|
|
1550
|
-
<span class="cstat-no" title="statement not covered" > );</span>
|
|
1551
|
-
<span class="cstat-no" title="statement not covered" >};</span>
|
|
1552
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1553
|
-
<span class="cstat-no" title="statement not covered" >CoinPicker.propTypes = {</span>
|
|
1554
|
-
<span class="cstat-no" title="statement not covered" > mode: PropTypes.oneOf([COIN_PICKER_MODES.BUTTON, COIN_PICKER_MODES.CHECKBOX]),</span>
|
|
1555
|
-
<span class="cstat-no" title="statement not covered" > allCoins: PropTypes.array,</span>
|
|
1556
|
-
<span class="cstat-no" title="statement not covered" > initiallyEnabledCoinsList: PropTypes.array,</span>
|
|
1557
|
-
<span class="cstat-no" title="statement not covered" > handleClick: PropTypes.func,</span>
|
|
1558
|
-
<span class="cstat-no" title="statement not covered" > triggerToReloadData: PropTypes.number,</span>
|
|
1559
|
-
<span class="cstat-no" title="statement not covered" > search: PropTypes.bool,</span>
|
|
1560
|
-
<span class="cstat-no" title="statement not covered" > searchAdaptive: PropTypes.bool,</span>
|
|
1561
|
-
<span class="cstat-no" title="statement not covered" > setCoinPickerValue: PropTypes.func,</span>
|
|
1562
|
-
<span class="cstat-no" title="statement not covered" > setCoinPickerListChanged: PropTypes.func,</span>
|
|
1563
|
-
<span class="cstat-no" title="statement not covered" > loadCoinsAndContent: PropTypes.func,</span>
|
|
1564
|
-
<span class="cstat-no" title="statement not covered" > showRequestMissingCoinsInfoMessage: PropTypes.bool,</span>
|
|
1565
|
-
<span class="cstat-no" title="statement not covered" > supportUrl: PropTypes.string,</span>
|
|
1566
|
-
<span class="cstat-no" title="statement not covered" > coinToIconPaths: PropTypes.func,</span>
|
|
1567
|
-
<span class="cstat-no" title="statement not covered" > partialLoadingEnabled: PropTypes.bool,</span>
|
|
1568
|
-
<span class="cstat-no" title="statement not covered" > partialLoadingIncrement: PropTypes.number,</span>
|
|
1569
|
-
<span class="cstat-no" title="statement not covered" > texts: PropTypes.shape({</span>
|
|
1570
|
-
<span class="cstat-no" title="statement not covered" > searchPlaceholder: PropTypes.string,</span>
|
|
1571
|
-
<span class="cstat-no" title="statement not covered" > noAssetsMessage: PropTypes.string,</span>
|
|
1572
|
-
<span class="cstat-no" title="statement not covered" > loadMoreButton: PropTypes.string,</span>
|
|
1573
|
-
<span class="cstat-no" title="statement not covered" > assetSuggestionMessage: PropTypes.shape({</span>
|
|
1574
|
-
<span class="cstat-no" title="statement not covered" > part1: PropTypes.string,</span>
|
|
1575
|
-
<span class="cstat-no" title="statement not covered" > part2: PropTypes.string,</span>
|
|
1576
|
-
<span class="cstat-no" title="statement not covered" > part3: PropTypes.string,</span>
|
|
1577
|
-
<span class="cstat-no" title="statement not covered" > }),</span>
|
|
1578
|
-
<span class="cstat-no" title="statement not covered" > }),</span>
|
|
1579
|
-
<span class="cstat-no" title="statement not covered" >};</span>
|
|
1580
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1581
|
-
<span class="cstat-no" title="statement not covered" >CoinPicker.defaultProps = {</span>
|
|
1582
|
-
<span class="cstat-no" title="statement not covered" > mode: COIN_PICKER_MODES.BUTTON,</span>
|
|
1583
|
-
<span class="cstat-no" title="statement not covered" > handleClick: ticker => {},</span>
|
|
1584
|
-
<span class="cstat-no" title="statement not covered" > search: false,</span>
|
|
1585
|
-
<span class="cstat-no" title="statement not covered" > searchAdaptive: true,</span>
|
|
1586
|
-
<span class="cstat-no" title="statement not covered" > setCoinPickerValue: () => {},</span>
|
|
1587
|
-
<span class="cstat-no" title="statement not covered" > setCoinPickerListChanged: () => {},</span>
|
|
1588
|
-
<span class="cstat-no" title="statement not covered" > loadCoinsAndContent: null,</span>
|
|
1589
|
-
<span class="cstat-no" title="statement not covered" > showRequestMissingCoinsInfoMessage: true,</span>
|
|
1590
|
-
<span class="cstat-no" title="statement not covered" > supportUrl: null,</span>
|
|
1591
|
-
<span class="cstat-no" title="statement not covered" > coinToIconPaths: coin => ({</span>
|
|
1592
|
-
<span class="cstat-no" title="statement not covered" > assetIconSrc: undefined,</span>
|
|
1593
|
-
<span class="cstat-no" title="statement not covered" > assetIconProtocolSrc: undefined,</span>
|
|
1594
|
-
<span class="cstat-no" title="statement not covered" > }),</span>
|
|
1595
|
-
<span class="cstat-no" title="statement not covered" > partialLoadingEnabled: true,</span>
|
|
1596
|
-
<span class="cstat-no" title="statement not covered" > partialLoadingIncrement: 100,</span>
|
|
1597
|
-
<span class="cstat-no" title="statement not covered" > texts: defaultTexts,</span>
|
|
1598
|
-
<span class="cstat-no" title="statement not covered" >};</span>
|
|
1599
|
-
</pre></td></tr></table></pre>
|
|
1600
|
-
|
|
1601
|
-
<div class='push'></div><!-- for sticky footer -->
|
|
1602
|
-
</div><!-- /wrapper -->
|
|
1603
|
-
<div class='footer quiet pad2 space-top1 center small'>
|
|
1604
|
-
Code coverage generated by
|
|
1605
|
-
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1606
|
-
at 2024-07-24T08:32:25.930Z
|
|
1607
|
-
</div>
|
|
1608
|
-
<script src="../../../../../../prettify.js"></script>
|
|
1609
|
-
<script>
|
|
1610
|
-
window.onload = function () {
|
|
1611
|
-
prettyPrint();
|
|
1612
|
-
};
|
|
1613
|
-
</script>
|
|
1614
|
-
<script src="../../../../../../sorter.js"></script>
|
|
1615
|
-
<script src="../../../../../../block-navigation.js"></script>
|
|
1616
|
-
</body>
|
|
1617
|
-
</html>
|
|
1618
|
-
|