@chat21/chat21-web-widget 5.0.46-rc.1 → 5.0.46-rc.3
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/CHANGELOG.md +8 -0
- package/angular.json +2 -1
- package/coverage/widget/base.css +224 -0
- package/coverage/widget/block-navigation.js +87 -0
- package/coverage/widget/favicon.png +0 -0
- package/coverage/widget/index.html +881 -0
- package/coverage/widget/lcov.info +10516 -0
- package/coverage/widget/polyfills.ts.html +277 -0
- package/coverage/widget/prettify.css +1 -0
- package/coverage/widget/prettify.js +2 -0
- package/coverage/widget/sort-arrow-sprite.png +0 -0
- package/coverage/widget/sorter.js +196 -0
- package/coverage/widget/src/app/app.component.ts.html +6328 -0
- package/coverage/widget/src/app/component/conversation-detail/conversation/conversation.component.ts.html +3871 -0
- package/coverage/widget/src/app/component/conversation-detail/conversation/index.html +116 -0
- package/coverage/widget/src/app/component/conversation-detail/conversation-content/conversation-content.component.ts.html +925 -0
- package/coverage/widget/src/app/component/conversation-detail/conversation-content/index.html +116 -0
- package/coverage/widget/src/app/component/conversation-detail/conversation-footer/conversation-footer.component.ts.html +1816 -0
- package/coverage/widget/src/app/component/conversation-detail/conversation-footer/index.html +116 -0
- package/coverage/widget/src/app/component/conversation-detail/conversation-header/conversation-header.component.ts.html +811 -0
- package/coverage/widget/src/app/component/conversation-detail/conversation-header/index.html +116 -0
- package/coverage/widget/src/app/component/conversation-detail/conversation-internal-frame/conversation-internal-frame.component.ts.html +397 -0
- package/coverage/widget/src/app/component/conversation-detail/conversation-internal-frame/index.html +116 -0
- package/coverage/widget/src/app/component/conversation-detail/conversation-preview/conversation-preview.component.ts.html +991 -0
- package/coverage/widget/src/app/component/conversation-detail/conversation-preview/index.html +116 -0
- package/coverage/widget/src/app/component/eyeeye-catcher-card/eyeeye-catcher-card.component.ts.html +586 -0
- package/coverage/widget/src/app/component/eyeeye-catcher-card/index.html +116 -0
- package/coverage/widget/src/app/component/form/form-builder/form-builder.component.ts.html +664 -0
- package/coverage/widget/src/app/component/form/form-builder/index.html +116 -0
- package/coverage/widget/src/app/component/form/inputs/form-checkbox/form-checkbox.component.ts.html +208 -0
- package/coverage/widget/src/app/component/form/inputs/form-checkbox/index.html +116 -0
- package/coverage/widget/src/app/component/form/inputs/form-label/form-label.component.ts.html +157 -0
- package/coverage/widget/src/app/component/form/inputs/form-label/index.html +116 -0
- package/coverage/widget/src/app/component/form/inputs/form-radio-button/form-radio-button.component.ts.html +130 -0
- package/coverage/widget/src/app/component/form/inputs/form-radio-button/index.html +116 -0
- package/coverage/widget/src/app/component/form/inputs/form-select/form-select.component.ts.html +130 -0
- package/coverage/widget/src/app/component/form/inputs/form-select/index.html +116 -0
- package/coverage/widget/src/app/component/form/inputs/form-text/form-text.component.ts.html +301 -0
- package/coverage/widget/src/app/component/form/inputs/form-text/index.html +116 -0
- package/coverage/widget/src/app/component/form/inputs/form-textarea/form-textarea.component.ts.html +358 -0
- package/coverage/widget/src/app/component/form/inputs/form-textarea/index.html +116 -0
- package/coverage/widget/src/app/component/form/prechat-form/index.html +116 -0
- package/coverage/widget/src/app/component/form/prechat-form/prechat-form.component.ts.html +565 -0
- package/coverage/widget/src/app/component/home/home.component.ts.html +559 -0
- package/coverage/widget/src/app/component/home/index.html +116 -0
- package/coverage/widget/src/app/component/home-conversations/home-conversations.component.ts.html +985 -0
- package/coverage/widget/src/app/component/home-conversations/index.html +116 -0
- package/coverage/widget/src/app/component/last-message/index.html +116 -0
- package/coverage/widget/src/app/component/last-message/last-message.component.ts.html +484 -0
- package/coverage/widget/src/app/component/launcher-button/index.html +116 -0
- package/coverage/widget/src/app/component/launcher-button/launcher-button.component.ts.html +307 -0
- package/coverage/widget/src/app/component/list-all-conversations/index.html +116 -0
- package/coverage/widget/src/app/component/list-all-conversations/list-all-conversations.component.ts.html +676 -0
- package/coverage/widget/src/app/component/list-conversations/index.html +116 -0
- package/coverage/widget/src/app/component/list-conversations/list-conversations.component.ts.html +475 -0
- package/coverage/widget/src/app/component/menu-options/index.html +116 -0
- package/coverage/widget/src/app/component/menu-options/menu-options.component.ts.html +226 -0
- package/coverage/widget/src/app/component/message/avatar/avatar.component.ts.html +271 -0
- package/coverage/widget/src/app/component/message/avatar/index.html +116 -0
- package/coverage/widget/src/app/component/message/bubble-message/bubble-message.component.ts.html +655 -0
- package/coverage/widget/src/app/component/message/bubble-message/index.html +116 -0
- package/coverage/widget/src/app/component/message/buttons/action-button/action-button.component.ts.html +274 -0
- package/coverage/widget/src/app/component/message/buttons/action-button/index.html +116 -0
- package/coverage/widget/src/app/component/message/buttons/link-button/index.html +116 -0
- package/coverage/widget/src/app/component/message/buttons/link-button/link-button.component.ts.html +232 -0
- package/coverage/widget/src/app/component/message/buttons/text-button/index.html +116 -0
- package/coverage/widget/src/app/component/message/buttons/text-button/text-button.component.ts.html +235 -0
- package/coverage/widget/src/app/component/message/frame/frame.component.ts.html +199 -0
- package/coverage/widget/src/app/component/message/frame/index.html +116 -0
- package/coverage/widget/src/app/component/message/html/html.component.ts.html +184 -0
- package/coverage/widget/src/app/component/message/html/index.html +116 -0
- package/coverage/widget/src/app/component/message/image/image.component.ts.html +394 -0
- package/coverage/widget/src/app/component/message/image/index.html +116 -0
- package/coverage/widget/src/app/component/message/info-message/index.html +116 -0
- package/coverage/widget/src/app/component/message/info-message/info-message.component.ts.html +211 -0
- package/coverage/widget/src/app/component/message/like-unlike/index.html +116 -0
- package/coverage/widget/src/app/component/message/like-unlike/like-unlike.component.ts.html +151 -0
- package/coverage/widget/src/app/component/message/return-receipt/index.html +116 -0
- package/coverage/widget/src/app/component/message/return-receipt/return-receipt.component.ts.html +157 -0
- package/coverage/widget/src/app/component/message/text/index.html +116 -0
- package/coverage/widget/src/app/component/message/text/text.component.ts.html +190 -0
- package/coverage/widget/src/app/component/message-attachment/index.html +116 -0
- package/coverage/widget/src/app/component/message-attachment/message-attachment.component.ts.html +343 -0
- package/coverage/widget/src/app/component/selection-department/index.html +116 -0
- package/coverage/widget/src/app/component/selection-department/selection-department.component.ts.html +676 -0
- package/coverage/widget/src/app/component/send-button/index.html +116 -0
- package/coverage/widget/src/app/component/send-button/send-button.component.ts.html +154 -0
- package/coverage/widget/src/app/component/star-rating-widget/index.html +116 -0
- package/coverage/widget/src/app/component/star-rating-widget/star-rating-widget.component.ts.html +451 -0
- package/coverage/widget/src/app/directives/html-entities-encode.pipe.ts.html +136 -0
- package/coverage/widget/src/app/directives/index.html +146 -0
- package/coverage/widget/src/app/directives/marked.pipe.ts.html +166 -0
- package/coverage/widget/src/app/directives/safe-html.pipe.ts.html +136 -0
- package/coverage/widget/src/app/index.html +116 -0
- package/coverage/widget/src/app/providers/app-config.service.ts.html +247 -0
- package/coverage/widget/src/app/providers/global-settings.service.ts.html +5698 -0
- package/coverage/widget/src/app/providers/index.html +206 -0
- package/coverage/widget/src/app/providers/settings-saver.service.ts.html +253 -0
- package/coverage/widget/src/app/providers/star-rating-widget.service.ts.html +385 -0
- package/coverage/widget/src/app/providers/storage.service.ts.html +745 -0
- package/coverage/widget/src/app/providers/translator.service.ts.html +1498 -0
- package/coverage/widget/src/app/providers/waiting.service.ts.html +178 -0
- package/coverage/widget/src/app/utils/constants.ts.html +304 -0
- package/coverage/widget/src/app/utils/globals.ts.html +1939 -0
- package/coverage/widget/src/app/utils/index.html +146 -0
- package/coverage/widget/src/app/utils/utils.ts.html +1240 -0
- package/coverage/widget/src/chat21-core/models/conversation.ts.html +160 -0
- package/coverage/widget/src/chat21-core/models/index.html +146 -0
- package/coverage/widget/src/chat21-core/models/upload.ts.html +118 -0
- package/coverage/widget/src/chat21-core/models/user.ts.html +133 -0
- package/coverage/widget/src/chat21-core/providers/abstract/app-storage.service.ts.html +142 -0
- package/coverage/widget/src/chat21-core/providers/abstract/archivedconversations-handler.service.ts.html +184 -0
- package/coverage/widget/src/chat21-core/providers/abstract/conversation-handler-builder.service.ts.html +121 -0
- package/coverage/widget/src/chat21-core/providers/abstract/conversation-handler.service.ts.html +235 -0
- package/coverage/widget/src/chat21-core/providers/abstract/conversations-handler.service.ts.html +208 -0
- package/coverage/widget/src/chat21-core/providers/abstract/groups-handler.service.ts.html +160 -0
- package/coverage/widget/src/chat21-core/providers/abstract/image-repo.service.ts.html +169 -0
- package/coverage/widget/src/chat21-core/providers/abstract/index.html +296 -0
- package/coverage/widget/src/chat21-core/providers/abstract/logger.service.ts.html +136 -0
- package/coverage/widget/src/chat21-core/providers/abstract/messagingAuth.service.ts.html +238 -0
- package/coverage/widget/src/chat21-core/providers/abstract/notifications.service.ts.html +172 -0
- package/coverage/widget/src/chat21-core/providers/abstract/presence.service.ts.html +190 -0
- package/coverage/widget/src/chat21-core/providers/abstract/typing.service.ts.html +187 -0
- package/coverage/widget/src/chat21-core/providers/abstract/upload.service.ts.html +178 -0
- package/coverage/widget/src/chat21-core/providers/chat-manager.ts.html +895 -0
- package/coverage/widget/src/chat21-core/providers/custom-translate.service.ts.html +223 -0
- package/coverage/widget/src/chat21-core/providers/index.html +131 -0
- package/coverage/widget/src/chat21-core/providers/logger/customLogger.ts.html +265 -0
- package/coverage/widget/src/chat21-core/providers/logger/index.html +131 -0
- package/coverage/widget/src/chat21-core/providers/logger/loggerInstance.ts.html +142 -0
- package/coverage/widget/src/chat21-core/providers/tiledesk/index.html +131 -0
- package/coverage/widget/src/chat21-core/providers/tiledesk/tiledesk-auth.service.ts.html +655 -0
- package/coverage/widget/src/chat21-core/providers/tiledesk/tiledesk-requests.service.ts.html +241 -0
- package/coverage/widget/src/chat21-core/utils/constants.ts.html +409 -0
- package/coverage/widget/src/chat21-core/utils/index.html +176 -0
- package/coverage/widget/src/chat21-core/utils/triggerHandler.ts.html +1069 -0
- package/coverage/widget/src/chat21-core/utils/user-typing/index.html +116 -0
- package/coverage/widget/src/chat21-core/utils/user-typing/user-typing.component.ts.html +184 -0
- package/coverage/widget/src/chat21-core/utils/utils-message.ts.html +637 -0
- package/coverage/widget/src/chat21-core/utils/utils-user.ts.html +229 -0
- package/coverage/widget/src/chat21-core/utils/utils.ts.html +2221 -0
- package/coverage/widget/src/environments/environment.ts.html +205 -0
- package/coverage/widget/src/environments/index.html +116 -0
- package/coverage/widget/src/index.html +131 -0
- package/coverage/widget/src/models/index.html +116 -0
- package/coverage/widget/src/models/project.ts.html +319 -0
- package/coverage/widget/src/polyfills.ts.html +277 -0
- package/coverage/widget/src/test.ts.html +142 -0
- package/dist/assets/i18n/en.json +1 -1
- package/dist/assets/i18n/es.json +22 -9
- package/dist/assets/i18n/fr.json +20 -7
- package/dist/assets/i18n/it.json +24 -11
- package/dist/assets/twp/index-dev.html +1 -1
- package/dist/environments/real_data/widget-config-docker.json +0 -1
- package/dist/environments/real_data/widget-config-firebase.json +2 -2
- package/dist/environments/real_data/widget-config-native-mqtt.json +0 -1
- package/dist/iframe-style.css +8 -1
- package/dist/launch.js +1 -1
- package/dist/main.js +1 -1
- package/dist/vendor.js +1 -1
- package/package.json +1 -1
- package/src/app/app.component.scss +4 -3
- package/src/app/app.component.spec.ts +59 -18
- package/src/app/component/conversation-detail/conversation/conversation.component.spec.ts +12 -1
- package/src/app/component/conversation-detail/conversation/conversation.component.ts +4 -2
- package/src/app/component/conversation-detail/conversation-content/conversation-content.component.spec.ts +7 -4
- package/src/app/component/conversation-detail/conversation-footer/conversation-footer.component.spec.ts +11 -3
- package/src/app/component/conversation-detail/conversation-header/conversation-header.component.spec.ts +11 -4
- package/src/app/component/conversation-detail/conversation-preview/conversation-preview.component.spec.ts +9 -59
- package/src/app/component/form/form-builder/form-builder.component.spec.ts +9 -1
- package/src/app/component/form/inputs/form-textarea/form-textarea.component.html +5 -5
- package/src/app/component/form/inputs/form-textarea/form-textarea.component.spec.ts +1 -1
- package/src/app/component/form/inputs/form-textarea/form-textarea.component.ts +1 -1
- package/src/app/component/home/home.component.spec.ts +12 -3
- package/src/app/component/home-conversations/home-conversations.component.spec.ts +9 -1
- package/src/app/component/list-all-conversations/list-all-conversations.component.spec.ts +9 -11
- package/src/app/component/list-conversations/list-conversations.component.spec.ts +9 -1
- package/src/app/component/message/buttons/action-button/action-button.component.scss +1 -0
- package/src/app/component/message/buttons/link-button/link-button.component.scss +1 -0
- package/src/app/component/message/buttons/text-button/text-button.component.scss +1 -0
- package/src/app/component/message/frame/frame.component.spec.ts +16 -3
- package/src/app/component/message/frame/frame.component.ts +2 -2
- package/src/app/component/message/image/image.component.ts +46 -0
- package/src/app/component/message/info-message/info-message.component.spec.ts +9 -1
- package/src/app/component/message/return-receipt/return-receipt.component.spec.ts +17 -2
- package/src/app/component/message/text/text.component.spec.ts +2 -2
- package/src/app/providers/global-settings.service.ts +14 -0
- package/src/app/utils/globals.ts +4 -1
- package/src/assets/i18n/en.json +1 -1
- package/src/assets/i18n/es.json +22 -9
- package/src/assets/i18n/fr.json +20 -7
- package/src/assets/i18n/it.json +24 -11
- package/src/assets/twp/index-dev.html +1 -1
- package/src/chat21-core/providers/firebase/firebase-conversation-handler.ts +5 -3
- package/src/chat21-core/providers/mqtt/mqtt-conversation-handler.ts +5 -3
- package/src/chat21-core/providers/tiledesk/tiledesk-auth.service.spec.ts +29 -19
- package/src/chat21-core/utils/utils-message.ts +1 -1
- package/src/chat21-core/utils/utils.ts +3 -3
- package/src/environments/real_data/widget-config-docker.json +0 -1
- package/src/environments/real_data/widget-config-firebase.json +2 -2
- package/src/environments/real_data/widget-config-native-mqtt.json +0 -1
- package/src/iframe-style.css +8 -1
- package/src/launch.js +1 -1
- package/e2e/protractor.conf.js +0 -32
|
@@ -0,0 +1,3871 @@
|
|
|
1
|
+
|
|
2
|
+
<!doctype html>
|
|
3
|
+
<html lang="en">
|
|
4
|
+
|
|
5
|
+
<head>
|
|
6
|
+
<title>Code coverage report for src/app/component/conversation-detail/conversation/conversation.component.ts</title>
|
|
7
|
+
<meta charset="utf-8" />
|
|
8
|
+
<link rel="stylesheet" href="../../../../../prettify.css" />
|
|
9
|
+
<link rel="stylesheet" href="../../../../../base.css" />
|
|
10
|
+
<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.png" />
|
|
11
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
+
<style type='text/css'>
|
|
13
|
+
.coverage-summary .sorter {
|
|
14
|
+
background-image: url(../../../../../sort-arrow-sprite.png);
|
|
15
|
+
}
|
|
16
|
+
</style>
|
|
17
|
+
</head>
|
|
18
|
+
|
|
19
|
+
<body>
|
|
20
|
+
<div class='wrapper'>
|
|
21
|
+
<div class='pad1'>
|
|
22
|
+
<h1><a href="../../../../../index.html">All files</a> / <a href="index.html">src/app/component/conversation-detail/conversation</a> conversation.component.ts</h1>
|
|
23
|
+
<div class='clearfix'>
|
|
24
|
+
|
|
25
|
+
<div class='fl pad1y space-right2'>
|
|
26
|
+
<span class="strong">22.94% </span>
|
|
27
|
+
<span class="quiet">Statements</span>
|
|
28
|
+
<span class='fraction'>125/545</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/209</span>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
<div class='fl pad1y space-right2'>
|
|
40
|
+
<span class="strong">4.76% </span>
|
|
41
|
+
<span class="quiet">Functions</span>
|
|
42
|
+
<span class='fraction'>4/84</span>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
<div class='fl pad1y space-right2'>
|
|
47
|
+
<span class="strong">23.58% </span>
|
|
48
|
+
<span class="quiet">Lines</span>
|
|
49
|
+
<span class='fraction'>125/530</span>
|
|
50
|
+
</div>
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
</div>
|
|
54
|
+
<p class="quiet">
|
|
55
|
+
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
|
+
</p>
|
|
57
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input oninput="onInput()" type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
63
|
+
</div>
|
|
64
|
+
<div class='status-line low'></div>
|
|
65
|
+
<pre><table class="coverage">
|
|
66
|
+
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
|
+
<a name='L2'></a><a href='#L2'>2</a>
|
|
68
|
+
<a name='L3'></a><a href='#L3'>3</a>
|
|
69
|
+
<a name='L4'></a><a href='#L4'>4</a>
|
|
70
|
+
<a name='L5'></a><a href='#L5'>5</a>
|
|
71
|
+
<a name='L6'></a><a href='#L6'>6</a>
|
|
72
|
+
<a name='L7'></a><a href='#L7'>7</a>
|
|
73
|
+
<a name='L8'></a><a href='#L8'>8</a>
|
|
74
|
+
<a name='L9'></a><a href='#L9'>9</a>
|
|
75
|
+
<a name='L10'></a><a href='#L10'>10</a>
|
|
76
|
+
<a name='L11'></a><a href='#L11'>11</a>
|
|
77
|
+
<a name='L12'></a><a href='#L12'>12</a>
|
|
78
|
+
<a name='L13'></a><a href='#L13'>13</a>
|
|
79
|
+
<a name='L14'></a><a href='#L14'>14</a>
|
|
80
|
+
<a name='L15'></a><a href='#L15'>15</a>
|
|
81
|
+
<a name='L16'></a><a href='#L16'>16</a>
|
|
82
|
+
<a name='L17'></a><a href='#L17'>17</a>
|
|
83
|
+
<a name='L18'></a><a href='#L18'>18</a>
|
|
84
|
+
<a name='L19'></a><a href='#L19'>19</a>
|
|
85
|
+
<a name='L20'></a><a href='#L20'>20</a>
|
|
86
|
+
<a name='L21'></a><a href='#L21'>21</a>
|
|
87
|
+
<a name='L22'></a><a href='#L22'>22</a>
|
|
88
|
+
<a name='L23'></a><a href='#L23'>23</a>
|
|
89
|
+
<a name='L24'></a><a href='#L24'>24</a>
|
|
90
|
+
<a name='L25'></a><a href='#L25'>25</a>
|
|
91
|
+
<a name='L26'></a><a href='#L26'>26</a>
|
|
92
|
+
<a name='L27'></a><a href='#L27'>27</a>
|
|
93
|
+
<a name='L28'></a><a href='#L28'>28</a>
|
|
94
|
+
<a name='L29'></a><a href='#L29'>29</a>
|
|
95
|
+
<a name='L30'></a><a href='#L30'>30</a>
|
|
96
|
+
<a name='L31'></a><a href='#L31'>31</a>
|
|
97
|
+
<a name='L32'></a><a href='#L32'>32</a>
|
|
98
|
+
<a name='L33'></a><a href='#L33'>33</a>
|
|
99
|
+
<a name='L34'></a><a href='#L34'>34</a>
|
|
100
|
+
<a name='L35'></a><a href='#L35'>35</a>
|
|
101
|
+
<a name='L36'></a><a href='#L36'>36</a>
|
|
102
|
+
<a name='L37'></a><a href='#L37'>37</a>
|
|
103
|
+
<a name='L38'></a><a href='#L38'>38</a>
|
|
104
|
+
<a name='L39'></a><a href='#L39'>39</a>
|
|
105
|
+
<a name='L40'></a><a href='#L40'>40</a>
|
|
106
|
+
<a name='L41'></a><a href='#L41'>41</a>
|
|
107
|
+
<a name='L42'></a><a href='#L42'>42</a>
|
|
108
|
+
<a name='L43'></a><a href='#L43'>43</a>
|
|
109
|
+
<a name='L44'></a><a href='#L44'>44</a>
|
|
110
|
+
<a name='L45'></a><a href='#L45'>45</a>
|
|
111
|
+
<a name='L46'></a><a href='#L46'>46</a>
|
|
112
|
+
<a name='L47'></a><a href='#L47'>47</a>
|
|
113
|
+
<a name='L48'></a><a href='#L48'>48</a>
|
|
114
|
+
<a name='L49'></a><a href='#L49'>49</a>
|
|
115
|
+
<a name='L50'></a><a href='#L50'>50</a>
|
|
116
|
+
<a name='L51'></a><a href='#L51'>51</a>
|
|
117
|
+
<a name='L52'></a><a href='#L52'>52</a>
|
|
118
|
+
<a name='L53'></a><a href='#L53'>53</a>
|
|
119
|
+
<a name='L54'></a><a href='#L54'>54</a>
|
|
120
|
+
<a name='L55'></a><a href='#L55'>55</a>
|
|
121
|
+
<a name='L56'></a><a href='#L56'>56</a>
|
|
122
|
+
<a name='L57'></a><a href='#L57'>57</a>
|
|
123
|
+
<a name='L58'></a><a href='#L58'>58</a>
|
|
124
|
+
<a name='L59'></a><a href='#L59'>59</a>
|
|
125
|
+
<a name='L60'></a><a href='#L60'>60</a>
|
|
126
|
+
<a name='L61'></a><a href='#L61'>61</a>
|
|
127
|
+
<a name='L62'></a><a href='#L62'>62</a>
|
|
128
|
+
<a name='L63'></a><a href='#L63'>63</a>
|
|
129
|
+
<a name='L64'></a><a href='#L64'>64</a>
|
|
130
|
+
<a name='L65'></a><a href='#L65'>65</a>
|
|
131
|
+
<a name='L66'></a><a href='#L66'>66</a>
|
|
132
|
+
<a name='L67'></a><a href='#L67'>67</a>
|
|
133
|
+
<a name='L68'></a><a href='#L68'>68</a>
|
|
134
|
+
<a name='L69'></a><a href='#L69'>69</a>
|
|
135
|
+
<a name='L70'></a><a href='#L70'>70</a>
|
|
136
|
+
<a name='L71'></a><a href='#L71'>71</a>
|
|
137
|
+
<a name='L72'></a><a href='#L72'>72</a>
|
|
138
|
+
<a name='L73'></a><a href='#L73'>73</a>
|
|
139
|
+
<a name='L74'></a><a href='#L74'>74</a>
|
|
140
|
+
<a name='L75'></a><a href='#L75'>75</a>
|
|
141
|
+
<a name='L76'></a><a href='#L76'>76</a>
|
|
142
|
+
<a name='L77'></a><a href='#L77'>77</a>
|
|
143
|
+
<a name='L78'></a><a href='#L78'>78</a>
|
|
144
|
+
<a name='L79'></a><a href='#L79'>79</a>
|
|
145
|
+
<a name='L80'></a><a href='#L80'>80</a>
|
|
146
|
+
<a name='L81'></a><a href='#L81'>81</a>
|
|
147
|
+
<a name='L82'></a><a href='#L82'>82</a>
|
|
148
|
+
<a name='L83'></a><a href='#L83'>83</a>
|
|
149
|
+
<a name='L84'></a><a href='#L84'>84</a>
|
|
150
|
+
<a name='L85'></a><a href='#L85'>85</a>
|
|
151
|
+
<a name='L86'></a><a href='#L86'>86</a>
|
|
152
|
+
<a name='L87'></a><a href='#L87'>87</a>
|
|
153
|
+
<a name='L88'></a><a href='#L88'>88</a>
|
|
154
|
+
<a name='L89'></a><a href='#L89'>89</a>
|
|
155
|
+
<a name='L90'></a><a href='#L90'>90</a>
|
|
156
|
+
<a name='L91'></a><a href='#L91'>91</a>
|
|
157
|
+
<a name='L92'></a><a href='#L92'>92</a>
|
|
158
|
+
<a name='L93'></a><a href='#L93'>93</a>
|
|
159
|
+
<a name='L94'></a><a href='#L94'>94</a>
|
|
160
|
+
<a name='L95'></a><a href='#L95'>95</a>
|
|
161
|
+
<a name='L96'></a><a href='#L96'>96</a>
|
|
162
|
+
<a name='L97'></a><a href='#L97'>97</a>
|
|
163
|
+
<a name='L98'></a><a href='#L98'>98</a>
|
|
164
|
+
<a name='L99'></a><a href='#L99'>99</a>
|
|
165
|
+
<a name='L100'></a><a href='#L100'>100</a>
|
|
166
|
+
<a name='L101'></a><a href='#L101'>101</a>
|
|
167
|
+
<a name='L102'></a><a href='#L102'>102</a>
|
|
168
|
+
<a name='L103'></a><a href='#L103'>103</a>
|
|
169
|
+
<a name='L104'></a><a href='#L104'>104</a>
|
|
170
|
+
<a name='L105'></a><a href='#L105'>105</a>
|
|
171
|
+
<a name='L106'></a><a href='#L106'>106</a>
|
|
172
|
+
<a name='L107'></a><a href='#L107'>107</a>
|
|
173
|
+
<a name='L108'></a><a href='#L108'>108</a>
|
|
174
|
+
<a name='L109'></a><a href='#L109'>109</a>
|
|
175
|
+
<a name='L110'></a><a href='#L110'>110</a>
|
|
176
|
+
<a name='L111'></a><a href='#L111'>111</a>
|
|
177
|
+
<a name='L112'></a><a href='#L112'>112</a>
|
|
178
|
+
<a name='L113'></a><a href='#L113'>113</a>
|
|
179
|
+
<a name='L114'></a><a href='#L114'>114</a>
|
|
180
|
+
<a name='L115'></a><a href='#L115'>115</a>
|
|
181
|
+
<a name='L116'></a><a href='#L116'>116</a>
|
|
182
|
+
<a name='L117'></a><a href='#L117'>117</a>
|
|
183
|
+
<a name='L118'></a><a href='#L118'>118</a>
|
|
184
|
+
<a name='L119'></a><a href='#L119'>119</a>
|
|
185
|
+
<a name='L120'></a><a href='#L120'>120</a>
|
|
186
|
+
<a name='L121'></a><a href='#L121'>121</a>
|
|
187
|
+
<a name='L122'></a><a href='#L122'>122</a>
|
|
188
|
+
<a name='L123'></a><a href='#L123'>123</a>
|
|
189
|
+
<a name='L124'></a><a href='#L124'>124</a>
|
|
190
|
+
<a name='L125'></a><a href='#L125'>125</a>
|
|
191
|
+
<a name='L126'></a><a href='#L126'>126</a>
|
|
192
|
+
<a name='L127'></a><a href='#L127'>127</a>
|
|
193
|
+
<a name='L128'></a><a href='#L128'>128</a>
|
|
194
|
+
<a name='L129'></a><a href='#L129'>129</a>
|
|
195
|
+
<a name='L130'></a><a href='#L130'>130</a>
|
|
196
|
+
<a name='L131'></a><a href='#L131'>131</a>
|
|
197
|
+
<a name='L132'></a><a href='#L132'>132</a>
|
|
198
|
+
<a name='L133'></a><a href='#L133'>133</a>
|
|
199
|
+
<a name='L134'></a><a href='#L134'>134</a>
|
|
200
|
+
<a name='L135'></a><a href='#L135'>135</a>
|
|
201
|
+
<a name='L136'></a><a href='#L136'>136</a>
|
|
202
|
+
<a name='L137'></a><a href='#L137'>137</a>
|
|
203
|
+
<a name='L138'></a><a href='#L138'>138</a>
|
|
204
|
+
<a name='L139'></a><a href='#L139'>139</a>
|
|
205
|
+
<a name='L140'></a><a href='#L140'>140</a>
|
|
206
|
+
<a name='L141'></a><a href='#L141'>141</a>
|
|
207
|
+
<a name='L142'></a><a href='#L142'>142</a>
|
|
208
|
+
<a name='L143'></a><a href='#L143'>143</a>
|
|
209
|
+
<a name='L144'></a><a href='#L144'>144</a>
|
|
210
|
+
<a name='L145'></a><a href='#L145'>145</a>
|
|
211
|
+
<a name='L146'></a><a href='#L146'>146</a>
|
|
212
|
+
<a name='L147'></a><a href='#L147'>147</a>
|
|
213
|
+
<a name='L148'></a><a href='#L148'>148</a>
|
|
214
|
+
<a name='L149'></a><a href='#L149'>149</a>
|
|
215
|
+
<a name='L150'></a><a href='#L150'>150</a>
|
|
216
|
+
<a name='L151'></a><a href='#L151'>151</a>
|
|
217
|
+
<a name='L152'></a><a href='#L152'>152</a>
|
|
218
|
+
<a name='L153'></a><a href='#L153'>153</a>
|
|
219
|
+
<a name='L154'></a><a href='#L154'>154</a>
|
|
220
|
+
<a name='L155'></a><a href='#L155'>155</a>
|
|
221
|
+
<a name='L156'></a><a href='#L156'>156</a>
|
|
222
|
+
<a name='L157'></a><a href='#L157'>157</a>
|
|
223
|
+
<a name='L158'></a><a href='#L158'>158</a>
|
|
224
|
+
<a name='L159'></a><a href='#L159'>159</a>
|
|
225
|
+
<a name='L160'></a><a href='#L160'>160</a>
|
|
226
|
+
<a name='L161'></a><a href='#L161'>161</a>
|
|
227
|
+
<a name='L162'></a><a href='#L162'>162</a>
|
|
228
|
+
<a name='L163'></a><a href='#L163'>163</a>
|
|
229
|
+
<a name='L164'></a><a href='#L164'>164</a>
|
|
230
|
+
<a name='L165'></a><a href='#L165'>165</a>
|
|
231
|
+
<a name='L166'></a><a href='#L166'>166</a>
|
|
232
|
+
<a name='L167'></a><a href='#L167'>167</a>
|
|
233
|
+
<a name='L168'></a><a href='#L168'>168</a>
|
|
234
|
+
<a name='L169'></a><a href='#L169'>169</a>
|
|
235
|
+
<a name='L170'></a><a href='#L170'>170</a>
|
|
236
|
+
<a name='L171'></a><a href='#L171'>171</a>
|
|
237
|
+
<a name='L172'></a><a href='#L172'>172</a>
|
|
238
|
+
<a name='L173'></a><a href='#L173'>173</a>
|
|
239
|
+
<a name='L174'></a><a href='#L174'>174</a>
|
|
240
|
+
<a name='L175'></a><a href='#L175'>175</a>
|
|
241
|
+
<a name='L176'></a><a href='#L176'>176</a>
|
|
242
|
+
<a name='L177'></a><a href='#L177'>177</a>
|
|
243
|
+
<a name='L178'></a><a href='#L178'>178</a>
|
|
244
|
+
<a name='L179'></a><a href='#L179'>179</a>
|
|
245
|
+
<a name='L180'></a><a href='#L180'>180</a>
|
|
246
|
+
<a name='L181'></a><a href='#L181'>181</a>
|
|
247
|
+
<a name='L182'></a><a href='#L182'>182</a>
|
|
248
|
+
<a name='L183'></a><a href='#L183'>183</a>
|
|
249
|
+
<a name='L184'></a><a href='#L184'>184</a>
|
|
250
|
+
<a name='L185'></a><a href='#L185'>185</a>
|
|
251
|
+
<a name='L186'></a><a href='#L186'>186</a>
|
|
252
|
+
<a name='L187'></a><a href='#L187'>187</a>
|
|
253
|
+
<a name='L188'></a><a href='#L188'>188</a>
|
|
254
|
+
<a name='L189'></a><a href='#L189'>189</a>
|
|
255
|
+
<a name='L190'></a><a href='#L190'>190</a>
|
|
256
|
+
<a name='L191'></a><a href='#L191'>191</a>
|
|
257
|
+
<a name='L192'></a><a href='#L192'>192</a>
|
|
258
|
+
<a name='L193'></a><a href='#L193'>193</a>
|
|
259
|
+
<a name='L194'></a><a href='#L194'>194</a>
|
|
260
|
+
<a name='L195'></a><a href='#L195'>195</a>
|
|
261
|
+
<a name='L196'></a><a href='#L196'>196</a>
|
|
262
|
+
<a name='L197'></a><a href='#L197'>197</a>
|
|
263
|
+
<a name='L198'></a><a href='#L198'>198</a>
|
|
264
|
+
<a name='L199'></a><a href='#L199'>199</a>
|
|
265
|
+
<a name='L200'></a><a href='#L200'>200</a>
|
|
266
|
+
<a name='L201'></a><a href='#L201'>201</a>
|
|
267
|
+
<a name='L202'></a><a href='#L202'>202</a>
|
|
268
|
+
<a name='L203'></a><a href='#L203'>203</a>
|
|
269
|
+
<a name='L204'></a><a href='#L204'>204</a>
|
|
270
|
+
<a name='L205'></a><a href='#L205'>205</a>
|
|
271
|
+
<a name='L206'></a><a href='#L206'>206</a>
|
|
272
|
+
<a name='L207'></a><a href='#L207'>207</a>
|
|
273
|
+
<a name='L208'></a><a href='#L208'>208</a>
|
|
274
|
+
<a name='L209'></a><a href='#L209'>209</a>
|
|
275
|
+
<a name='L210'></a><a href='#L210'>210</a>
|
|
276
|
+
<a name='L211'></a><a href='#L211'>211</a>
|
|
277
|
+
<a name='L212'></a><a href='#L212'>212</a>
|
|
278
|
+
<a name='L213'></a><a href='#L213'>213</a>
|
|
279
|
+
<a name='L214'></a><a href='#L214'>214</a>
|
|
280
|
+
<a name='L215'></a><a href='#L215'>215</a>
|
|
281
|
+
<a name='L216'></a><a href='#L216'>216</a>
|
|
282
|
+
<a name='L217'></a><a href='#L217'>217</a>
|
|
283
|
+
<a name='L218'></a><a href='#L218'>218</a>
|
|
284
|
+
<a name='L219'></a><a href='#L219'>219</a>
|
|
285
|
+
<a name='L220'></a><a href='#L220'>220</a>
|
|
286
|
+
<a name='L221'></a><a href='#L221'>221</a>
|
|
287
|
+
<a name='L222'></a><a href='#L222'>222</a>
|
|
288
|
+
<a name='L223'></a><a href='#L223'>223</a>
|
|
289
|
+
<a name='L224'></a><a href='#L224'>224</a>
|
|
290
|
+
<a name='L225'></a><a href='#L225'>225</a>
|
|
291
|
+
<a name='L226'></a><a href='#L226'>226</a>
|
|
292
|
+
<a name='L227'></a><a href='#L227'>227</a>
|
|
293
|
+
<a name='L228'></a><a href='#L228'>228</a>
|
|
294
|
+
<a name='L229'></a><a href='#L229'>229</a>
|
|
295
|
+
<a name='L230'></a><a href='#L230'>230</a>
|
|
296
|
+
<a name='L231'></a><a href='#L231'>231</a>
|
|
297
|
+
<a name='L232'></a><a href='#L232'>232</a>
|
|
298
|
+
<a name='L233'></a><a href='#L233'>233</a>
|
|
299
|
+
<a name='L234'></a><a href='#L234'>234</a>
|
|
300
|
+
<a name='L235'></a><a href='#L235'>235</a>
|
|
301
|
+
<a name='L236'></a><a href='#L236'>236</a>
|
|
302
|
+
<a name='L237'></a><a href='#L237'>237</a>
|
|
303
|
+
<a name='L238'></a><a href='#L238'>238</a>
|
|
304
|
+
<a name='L239'></a><a href='#L239'>239</a>
|
|
305
|
+
<a name='L240'></a><a href='#L240'>240</a>
|
|
306
|
+
<a name='L241'></a><a href='#L241'>241</a>
|
|
307
|
+
<a name='L242'></a><a href='#L242'>242</a>
|
|
308
|
+
<a name='L243'></a><a href='#L243'>243</a>
|
|
309
|
+
<a name='L244'></a><a href='#L244'>244</a>
|
|
310
|
+
<a name='L245'></a><a href='#L245'>245</a>
|
|
311
|
+
<a name='L246'></a><a href='#L246'>246</a>
|
|
312
|
+
<a name='L247'></a><a href='#L247'>247</a>
|
|
313
|
+
<a name='L248'></a><a href='#L248'>248</a>
|
|
314
|
+
<a name='L249'></a><a href='#L249'>249</a>
|
|
315
|
+
<a name='L250'></a><a href='#L250'>250</a>
|
|
316
|
+
<a name='L251'></a><a href='#L251'>251</a>
|
|
317
|
+
<a name='L252'></a><a href='#L252'>252</a>
|
|
318
|
+
<a name='L253'></a><a href='#L253'>253</a>
|
|
319
|
+
<a name='L254'></a><a href='#L254'>254</a>
|
|
320
|
+
<a name='L255'></a><a href='#L255'>255</a>
|
|
321
|
+
<a name='L256'></a><a href='#L256'>256</a>
|
|
322
|
+
<a name='L257'></a><a href='#L257'>257</a>
|
|
323
|
+
<a name='L258'></a><a href='#L258'>258</a>
|
|
324
|
+
<a name='L259'></a><a href='#L259'>259</a>
|
|
325
|
+
<a name='L260'></a><a href='#L260'>260</a>
|
|
326
|
+
<a name='L261'></a><a href='#L261'>261</a>
|
|
327
|
+
<a name='L262'></a><a href='#L262'>262</a>
|
|
328
|
+
<a name='L263'></a><a href='#L263'>263</a>
|
|
329
|
+
<a name='L264'></a><a href='#L264'>264</a>
|
|
330
|
+
<a name='L265'></a><a href='#L265'>265</a>
|
|
331
|
+
<a name='L266'></a><a href='#L266'>266</a>
|
|
332
|
+
<a name='L267'></a><a href='#L267'>267</a>
|
|
333
|
+
<a name='L268'></a><a href='#L268'>268</a>
|
|
334
|
+
<a name='L269'></a><a href='#L269'>269</a>
|
|
335
|
+
<a name='L270'></a><a href='#L270'>270</a>
|
|
336
|
+
<a name='L271'></a><a href='#L271'>271</a>
|
|
337
|
+
<a name='L272'></a><a href='#L272'>272</a>
|
|
338
|
+
<a name='L273'></a><a href='#L273'>273</a>
|
|
339
|
+
<a name='L274'></a><a href='#L274'>274</a>
|
|
340
|
+
<a name='L275'></a><a href='#L275'>275</a>
|
|
341
|
+
<a name='L276'></a><a href='#L276'>276</a>
|
|
342
|
+
<a name='L277'></a><a href='#L277'>277</a>
|
|
343
|
+
<a name='L278'></a><a href='#L278'>278</a>
|
|
344
|
+
<a name='L279'></a><a href='#L279'>279</a>
|
|
345
|
+
<a name='L280'></a><a href='#L280'>280</a>
|
|
346
|
+
<a name='L281'></a><a href='#L281'>281</a>
|
|
347
|
+
<a name='L282'></a><a href='#L282'>282</a>
|
|
348
|
+
<a name='L283'></a><a href='#L283'>283</a>
|
|
349
|
+
<a name='L284'></a><a href='#L284'>284</a>
|
|
350
|
+
<a name='L285'></a><a href='#L285'>285</a>
|
|
351
|
+
<a name='L286'></a><a href='#L286'>286</a>
|
|
352
|
+
<a name='L287'></a><a href='#L287'>287</a>
|
|
353
|
+
<a name='L288'></a><a href='#L288'>288</a>
|
|
354
|
+
<a name='L289'></a><a href='#L289'>289</a>
|
|
355
|
+
<a name='L290'></a><a href='#L290'>290</a>
|
|
356
|
+
<a name='L291'></a><a href='#L291'>291</a>
|
|
357
|
+
<a name='L292'></a><a href='#L292'>292</a>
|
|
358
|
+
<a name='L293'></a><a href='#L293'>293</a>
|
|
359
|
+
<a name='L294'></a><a href='#L294'>294</a>
|
|
360
|
+
<a name='L295'></a><a href='#L295'>295</a>
|
|
361
|
+
<a name='L296'></a><a href='#L296'>296</a>
|
|
362
|
+
<a name='L297'></a><a href='#L297'>297</a>
|
|
363
|
+
<a name='L298'></a><a href='#L298'>298</a>
|
|
364
|
+
<a name='L299'></a><a href='#L299'>299</a>
|
|
365
|
+
<a name='L300'></a><a href='#L300'>300</a>
|
|
366
|
+
<a name='L301'></a><a href='#L301'>301</a>
|
|
367
|
+
<a name='L302'></a><a href='#L302'>302</a>
|
|
368
|
+
<a name='L303'></a><a href='#L303'>303</a>
|
|
369
|
+
<a name='L304'></a><a href='#L304'>304</a>
|
|
370
|
+
<a name='L305'></a><a href='#L305'>305</a>
|
|
371
|
+
<a name='L306'></a><a href='#L306'>306</a>
|
|
372
|
+
<a name='L307'></a><a href='#L307'>307</a>
|
|
373
|
+
<a name='L308'></a><a href='#L308'>308</a>
|
|
374
|
+
<a name='L309'></a><a href='#L309'>309</a>
|
|
375
|
+
<a name='L310'></a><a href='#L310'>310</a>
|
|
376
|
+
<a name='L311'></a><a href='#L311'>311</a>
|
|
377
|
+
<a name='L312'></a><a href='#L312'>312</a>
|
|
378
|
+
<a name='L313'></a><a href='#L313'>313</a>
|
|
379
|
+
<a name='L314'></a><a href='#L314'>314</a>
|
|
380
|
+
<a name='L315'></a><a href='#L315'>315</a>
|
|
381
|
+
<a name='L316'></a><a href='#L316'>316</a>
|
|
382
|
+
<a name='L317'></a><a href='#L317'>317</a>
|
|
383
|
+
<a name='L318'></a><a href='#L318'>318</a>
|
|
384
|
+
<a name='L319'></a><a href='#L319'>319</a>
|
|
385
|
+
<a name='L320'></a><a href='#L320'>320</a>
|
|
386
|
+
<a name='L321'></a><a href='#L321'>321</a>
|
|
387
|
+
<a name='L322'></a><a href='#L322'>322</a>
|
|
388
|
+
<a name='L323'></a><a href='#L323'>323</a>
|
|
389
|
+
<a name='L324'></a><a href='#L324'>324</a>
|
|
390
|
+
<a name='L325'></a><a href='#L325'>325</a>
|
|
391
|
+
<a name='L326'></a><a href='#L326'>326</a>
|
|
392
|
+
<a name='L327'></a><a href='#L327'>327</a>
|
|
393
|
+
<a name='L328'></a><a href='#L328'>328</a>
|
|
394
|
+
<a name='L329'></a><a href='#L329'>329</a>
|
|
395
|
+
<a name='L330'></a><a href='#L330'>330</a>
|
|
396
|
+
<a name='L331'></a><a href='#L331'>331</a>
|
|
397
|
+
<a name='L332'></a><a href='#L332'>332</a>
|
|
398
|
+
<a name='L333'></a><a href='#L333'>333</a>
|
|
399
|
+
<a name='L334'></a><a href='#L334'>334</a>
|
|
400
|
+
<a name='L335'></a><a href='#L335'>335</a>
|
|
401
|
+
<a name='L336'></a><a href='#L336'>336</a>
|
|
402
|
+
<a name='L337'></a><a href='#L337'>337</a>
|
|
403
|
+
<a name='L338'></a><a href='#L338'>338</a>
|
|
404
|
+
<a name='L339'></a><a href='#L339'>339</a>
|
|
405
|
+
<a name='L340'></a><a href='#L340'>340</a>
|
|
406
|
+
<a name='L341'></a><a href='#L341'>341</a>
|
|
407
|
+
<a name='L342'></a><a href='#L342'>342</a>
|
|
408
|
+
<a name='L343'></a><a href='#L343'>343</a>
|
|
409
|
+
<a name='L344'></a><a href='#L344'>344</a>
|
|
410
|
+
<a name='L345'></a><a href='#L345'>345</a>
|
|
411
|
+
<a name='L346'></a><a href='#L346'>346</a>
|
|
412
|
+
<a name='L347'></a><a href='#L347'>347</a>
|
|
413
|
+
<a name='L348'></a><a href='#L348'>348</a>
|
|
414
|
+
<a name='L349'></a><a href='#L349'>349</a>
|
|
415
|
+
<a name='L350'></a><a href='#L350'>350</a>
|
|
416
|
+
<a name='L351'></a><a href='#L351'>351</a>
|
|
417
|
+
<a name='L352'></a><a href='#L352'>352</a>
|
|
418
|
+
<a name='L353'></a><a href='#L353'>353</a>
|
|
419
|
+
<a name='L354'></a><a href='#L354'>354</a>
|
|
420
|
+
<a name='L355'></a><a href='#L355'>355</a>
|
|
421
|
+
<a name='L356'></a><a href='#L356'>356</a>
|
|
422
|
+
<a name='L357'></a><a href='#L357'>357</a>
|
|
423
|
+
<a name='L358'></a><a href='#L358'>358</a>
|
|
424
|
+
<a name='L359'></a><a href='#L359'>359</a>
|
|
425
|
+
<a name='L360'></a><a href='#L360'>360</a>
|
|
426
|
+
<a name='L361'></a><a href='#L361'>361</a>
|
|
427
|
+
<a name='L362'></a><a href='#L362'>362</a>
|
|
428
|
+
<a name='L363'></a><a href='#L363'>363</a>
|
|
429
|
+
<a name='L364'></a><a href='#L364'>364</a>
|
|
430
|
+
<a name='L365'></a><a href='#L365'>365</a>
|
|
431
|
+
<a name='L366'></a><a href='#L366'>366</a>
|
|
432
|
+
<a name='L367'></a><a href='#L367'>367</a>
|
|
433
|
+
<a name='L368'></a><a href='#L368'>368</a>
|
|
434
|
+
<a name='L369'></a><a href='#L369'>369</a>
|
|
435
|
+
<a name='L370'></a><a href='#L370'>370</a>
|
|
436
|
+
<a name='L371'></a><a href='#L371'>371</a>
|
|
437
|
+
<a name='L372'></a><a href='#L372'>372</a>
|
|
438
|
+
<a name='L373'></a><a href='#L373'>373</a>
|
|
439
|
+
<a name='L374'></a><a href='#L374'>374</a>
|
|
440
|
+
<a name='L375'></a><a href='#L375'>375</a>
|
|
441
|
+
<a name='L376'></a><a href='#L376'>376</a>
|
|
442
|
+
<a name='L377'></a><a href='#L377'>377</a>
|
|
443
|
+
<a name='L378'></a><a href='#L378'>378</a>
|
|
444
|
+
<a name='L379'></a><a href='#L379'>379</a>
|
|
445
|
+
<a name='L380'></a><a href='#L380'>380</a>
|
|
446
|
+
<a name='L381'></a><a href='#L381'>381</a>
|
|
447
|
+
<a name='L382'></a><a href='#L382'>382</a>
|
|
448
|
+
<a name='L383'></a><a href='#L383'>383</a>
|
|
449
|
+
<a name='L384'></a><a href='#L384'>384</a>
|
|
450
|
+
<a name='L385'></a><a href='#L385'>385</a>
|
|
451
|
+
<a name='L386'></a><a href='#L386'>386</a>
|
|
452
|
+
<a name='L387'></a><a href='#L387'>387</a>
|
|
453
|
+
<a name='L388'></a><a href='#L388'>388</a>
|
|
454
|
+
<a name='L389'></a><a href='#L389'>389</a>
|
|
455
|
+
<a name='L390'></a><a href='#L390'>390</a>
|
|
456
|
+
<a name='L391'></a><a href='#L391'>391</a>
|
|
457
|
+
<a name='L392'></a><a href='#L392'>392</a>
|
|
458
|
+
<a name='L393'></a><a href='#L393'>393</a>
|
|
459
|
+
<a name='L394'></a><a href='#L394'>394</a>
|
|
460
|
+
<a name='L395'></a><a href='#L395'>395</a>
|
|
461
|
+
<a name='L396'></a><a href='#L396'>396</a>
|
|
462
|
+
<a name='L397'></a><a href='#L397'>397</a>
|
|
463
|
+
<a name='L398'></a><a href='#L398'>398</a>
|
|
464
|
+
<a name='L399'></a><a href='#L399'>399</a>
|
|
465
|
+
<a name='L400'></a><a href='#L400'>400</a>
|
|
466
|
+
<a name='L401'></a><a href='#L401'>401</a>
|
|
467
|
+
<a name='L402'></a><a href='#L402'>402</a>
|
|
468
|
+
<a name='L403'></a><a href='#L403'>403</a>
|
|
469
|
+
<a name='L404'></a><a href='#L404'>404</a>
|
|
470
|
+
<a name='L405'></a><a href='#L405'>405</a>
|
|
471
|
+
<a name='L406'></a><a href='#L406'>406</a>
|
|
472
|
+
<a name='L407'></a><a href='#L407'>407</a>
|
|
473
|
+
<a name='L408'></a><a href='#L408'>408</a>
|
|
474
|
+
<a name='L409'></a><a href='#L409'>409</a>
|
|
475
|
+
<a name='L410'></a><a href='#L410'>410</a>
|
|
476
|
+
<a name='L411'></a><a href='#L411'>411</a>
|
|
477
|
+
<a name='L412'></a><a href='#L412'>412</a>
|
|
478
|
+
<a name='L413'></a><a href='#L413'>413</a>
|
|
479
|
+
<a name='L414'></a><a href='#L414'>414</a>
|
|
480
|
+
<a name='L415'></a><a href='#L415'>415</a>
|
|
481
|
+
<a name='L416'></a><a href='#L416'>416</a>
|
|
482
|
+
<a name='L417'></a><a href='#L417'>417</a>
|
|
483
|
+
<a name='L418'></a><a href='#L418'>418</a>
|
|
484
|
+
<a name='L419'></a><a href='#L419'>419</a>
|
|
485
|
+
<a name='L420'></a><a href='#L420'>420</a>
|
|
486
|
+
<a name='L421'></a><a href='#L421'>421</a>
|
|
487
|
+
<a name='L422'></a><a href='#L422'>422</a>
|
|
488
|
+
<a name='L423'></a><a href='#L423'>423</a>
|
|
489
|
+
<a name='L424'></a><a href='#L424'>424</a>
|
|
490
|
+
<a name='L425'></a><a href='#L425'>425</a>
|
|
491
|
+
<a name='L426'></a><a href='#L426'>426</a>
|
|
492
|
+
<a name='L427'></a><a href='#L427'>427</a>
|
|
493
|
+
<a name='L428'></a><a href='#L428'>428</a>
|
|
494
|
+
<a name='L429'></a><a href='#L429'>429</a>
|
|
495
|
+
<a name='L430'></a><a href='#L430'>430</a>
|
|
496
|
+
<a name='L431'></a><a href='#L431'>431</a>
|
|
497
|
+
<a name='L432'></a><a href='#L432'>432</a>
|
|
498
|
+
<a name='L433'></a><a href='#L433'>433</a>
|
|
499
|
+
<a name='L434'></a><a href='#L434'>434</a>
|
|
500
|
+
<a name='L435'></a><a href='#L435'>435</a>
|
|
501
|
+
<a name='L436'></a><a href='#L436'>436</a>
|
|
502
|
+
<a name='L437'></a><a href='#L437'>437</a>
|
|
503
|
+
<a name='L438'></a><a href='#L438'>438</a>
|
|
504
|
+
<a name='L439'></a><a href='#L439'>439</a>
|
|
505
|
+
<a name='L440'></a><a href='#L440'>440</a>
|
|
506
|
+
<a name='L441'></a><a href='#L441'>441</a>
|
|
507
|
+
<a name='L442'></a><a href='#L442'>442</a>
|
|
508
|
+
<a name='L443'></a><a href='#L443'>443</a>
|
|
509
|
+
<a name='L444'></a><a href='#L444'>444</a>
|
|
510
|
+
<a name='L445'></a><a href='#L445'>445</a>
|
|
511
|
+
<a name='L446'></a><a href='#L446'>446</a>
|
|
512
|
+
<a name='L447'></a><a href='#L447'>447</a>
|
|
513
|
+
<a name='L448'></a><a href='#L448'>448</a>
|
|
514
|
+
<a name='L449'></a><a href='#L449'>449</a>
|
|
515
|
+
<a name='L450'></a><a href='#L450'>450</a>
|
|
516
|
+
<a name='L451'></a><a href='#L451'>451</a>
|
|
517
|
+
<a name='L452'></a><a href='#L452'>452</a>
|
|
518
|
+
<a name='L453'></a><a href='#L453'>453</a>
|
|
519
|
+
<a name='L454'></a><a href='#L454'>454</a>
|
|
520
|
+
<a name='L455'></a><a href='#L455'>455</a>
|
|
521
|
+
<a name='L456'></a><a href='#L456'>456</a>
|
|
522
|
+
<a name='L457'></a><a href='#L457'>457</a>
|
|
523
|
+
<a name='L458'></a><a href='#L458'>458</a>
|
|
524
|
+
<a name='L459'></a><a href='#L459'>459</a>
|
|
525
|
+
<a name='L460'></a><a href='#L460'>460</a>
|
|
526
|
+
<a name='L461'></a><a href='#L461'>461</a>
|
|
527
|
+
<a name='L462'></a><a href='#L462'>462</a>
|
|
528
|
+
<a name='L463'></a><a href='#L463'>463</a>
|
|
529
|
+
<a name='L464'></a><a href='#L464'>464</a>
|
|
530
|
+
<a name='L465'></a><a href='#L465'>465</a>
|
|
531
|
+
<a name='L466'></a><a href='#L466'>466</a>
|
|
532
|
+
<a name='L467'></a><a href='#L467'>467</a>
|
|
533
|
+
<a name='L468'></a><a href='#L468'>468</a>
|
|
534
|
+
<a name='L469'></a><a href='#L469'>469</a>
|
|
535
|
+
<a name='L470'></a><a href='#L470'>470</a>
|
|
536
|
+
<a name='L471'></a><a href='#L471'>471</a>
|
|
537
|
+
<a name='L472'></a><a href='#L472'>472</a>
|
|
538
|
+
<a name='L473'></a><a href='#L473'>473</a>
|
|
539
|
+
<a name='L474'></a><a href='#L474'>474</a>
|
|
540
|
+
<a name='L475'></a><a href='#L475'>475</a>
|
|
541
|
+
<a name='L476'></a><a href='#L476'>476</a>
|
|
542
|
+
<a name='L477'></a><a href='#L477'>477</a>
|
|
543
|
+
<a name='L478'></a><a href='#L478'>478</a>
|
|
544
|
+
<a name='L479'></a><a href='#L479'>479</a>
|
|
545
|
+
<a name='L480'></a><a href='#L480'>480</a>
|
|
546
|
+
<a name='L481'></a><a href='#L481'>481</a>
|
|
547
|
+
<a name='L482'></a><a href='#L482'>482</a>
|
|
548
|
+
<a name='L483'></a><a href='#L483'>483</a>
|
|
549
|
+
<a name='L484'></a><a href='#L484'>484</a>
|
|
550
|
+
<a name='L485'></a><a href='#L485'>485</a>
|
|
551
|
+
<a name='L486'></a><a href='#L486'>486</a>
|
|
552
|
+
<a name='L487'></a><a href='#L487'>487</a>
|
|
553
|
+
<a name='L488'></a><a href='#L488'>488</a>
|
|
554
|
+
<a name='L489'></a><a href='#L489'>489</a>
|
|
555
|
+
<a name='L490'></a><a href='#L490'>490</a>
|
|
556
|
+
<a name='L491'></a><a href='#L491'>491</a>
|
|
557
|
+
<a name='L492'></a><a href='#L492'>492</a>
|
|
558
|
+
<a name='L493'></a><a href='#L493'>493</a>
|
|
559
|
+
<a name='L494'></a><a href='#L494'>494</a>
|
|
560
|
+
<a name='L495'></a><a href='#L495'>495</a>
|
|
561
|
+
<a name='L496'></a><a href='#L496'>496</a>
|
|
562
|
+
<a name='L497'></a><a href='#L497'>497</a>
|
|
563
|
+
<a name='L498'></a><a href='#L498'>498</a>
|
|
564
|
+
<a name='L499'></a><a href='#L499'>499</a>
|
|
565
|
+
<a name='L500'></a><a href='#L500'>500</a>
|
|
566
|
+
<a name='L501'></a><a href='#L501'>501</a>
|
|
567
|
+
<a name='L502'></a><a href='#L502'>502</a>
|
|
568
|
+
<a name='L503'></a><a href='#L503'>503</a>
|
|
569
|
+
<a name='L504'></a><a href='#L504'>504</a>
|
|
570
|
+
<a name='L505'></a><a href='#L505'>505</a>
|
|
571
|
+
<a name='L506'></a><a href='#L506'>506</a>
|
|
572
|
+
<a name='L507'></a><a href='#L507'>507</a>
|
|
573
|
+
<a name='L508'></a><a href='#L508'>508</a>
|
|
574
|
+
<a name='L509'></a><a href='#L509'>509</a>
|
|
575
|
+
<a name='L510'></a><a href='#L510'>510</a>
|
|
576
|
+
<a name='L511'></a><a href='#L511'>511</a>
|
|
577
|
+
<a name='L512'></a><a href='#L512'>512</a>
|
|
578
|
+
<a name='L513'></a><a href='#L513'>513</a>
|
|
579
|
+
<a name='L514'></a><a href='#L514'>514</a>
|
|
580
|
+
<a name='L515'></a><a href='#L515'>515</a>
|
|
581
|
+
<a name='L516'></a><a href='#L516'>516</a>
|
|
582
|
+
<a name='L517'></a><a href='#L517'>517</a>
|
|
583
|
+
<a name='L518'></a><a href='#L518'>518</a>
|
|
584
|
+
<a name='L519'></a><a href='#L519'>519</a>
|
|
585
|
+
<a name='L520'></a><a href='#L520'>520</a>
|
|
586
|
+
<a name='L521'></a><a href='#L521'>521</a>
|
|
587
|
+
<a name='L522'></a><a href='#L522'>522</a>
|
|
588
|
+
<a name='L523'></a><a href='#L523'>523</a>
|
|
589
|
+
<a name='L524'></a><a href='#L524'>524</a>
|
|
590
|
+
<a name='L525'></a><a href='#L525'>525</a>
|
|
591
|
+
<a name='L526'></a><a href='#L526'>526</a>
|
|
592
|
+
<a name='L527'></a><a href='#L527'>527</a>
|
|
593
|
+
<a name='L528'></a><a href='#L528'>528</a>
|
|
594
|
+
<a name='L529'></a><a href='#L529'>529</a>
|
|
595
|
+
<a name='L530'></a><a href='#L530'>530</a>
|
|
596
|
+
<a name='L531'></a><a href='#L531'>531</a>
|
|
597
|
+
<a name='L532'></a><a href='#L532'>532</a>
|
|
598
|
+
<a name='L533'></a><a href='#L533'>533</a>
|
|
599
|
+
<a name='L534'></a><a href='#L534'>534</a>
|
|
600
|
+
<a name='L535'></a><a href='#L535'>535</a>
|
|
601
|
+
<a name='L536'></a><a href='#L536'>536</a>
|
|
602
|
+
<a name='L537'></a><a href='#L537'>537</a>
|
|
603
|
+
<a name='L538'></a><a href='#L538'>538</a>
|
|
604
|
+
<a name='L539'></a><a href='#L539'>539</a>
|
|
605
|
+
<a name='L540'></a><a href='#L540'>540</a>
|
|
606
|
+
<a name='L541'></a><a href='#L541'>541</a>
|
|
607
|
+
<a name='L542'></a><a href='#L542'>542</a>
|
|
608
|
+
<a name='L543'></a><a href='#L543'>543</a>
|
|
609
|
+
<a name='L544'></a><a href='#L544'>544</a>
|
|
610
|
+
<a name='L545'></a><a href='#L545'>545</a>
|
|
611
|
+
<a name='L546'></a><a href='#L546'>546</a>
|
|
612
|
+
<a name='L547'></a><a href='#L547'>547</a>
|
|
613
|
+
<a name='L548'></a><a href='#L548'>548</a>
|
|
614
|
+
<a name='L549'></a><a href='#L549'>549</a>
|
|
615
|
+
<a name='L550'></a><a href='#L550'>550</a>
|
|
616
|
+
<a name='L551'></a><a href='#L551'>551</a>
|
|
617
|
+
<a name='L552'></a><a href='#L552'>552</a>
|
|
618
|
+
<a name='L553'></a><a href='#L553'>553</a>
|
|
619
|
+
<a name='L554'></a><a href='#L554'>554</a>
|
|
620
|
+
<a name='L555'></a><a href='#L555'>555</a>
|
|
621
|
+
<a name='L556'></a><a href='#L556'>556</a>
|
|
622
|
+
<a name='L557'></a><a href='#L557'>557</a>
|
|
623
|
+
<a name='L558'></a><a href='#L558'>558</a>
|
|
624
|
+
<a name='L559'></a><a href='#L559'>559</a>
|
|
625
|
+
<a name='L560'></a><a href='#L560'>560</a>
|
|
626
|
+
<a name='L561'></a><a href='#L561'>561</a>
|
|
627
|
+
<a name='L562'></a><a href='#L562'>562</a>
|
|
628
|
+
<a name='L563'></a><a href='#L563'>563</a>
|
|
629
|
+
<a name='L564'></a><a href='#L564'>564</a>
|
|
630
|
+
<a name='L565'></a><a href='#L565'>565</a>
|
|
631
|
+
<a name='L566'></a><a href='#L566'>566</a>
|
|
632
|
+
<a name='L567'></a><a href='#L567'>567</a>
|
|
633
|
+
<a name='L568'></a><a href='#L568'>568</a>
|
|
634
|
+
<a name='L569'></a><a href='#L569'>569</a>
|
|
635
|
+
<a name='L570'></a><a href='#L570'>570</a>
|
|
636
|
+
<a name='L571'></a><a href='#L571'>571</a>
|
|
637
|
+
<a name='L572'></a><a href='#L572'>572</a>
|
|
638
|
+
<a name='L573'></a><a href='#L573'>573</a>
|
|
639
|
+
<a name='L574'></a><a href='#L574'>574</a>
|
|
640
|
+
<a name='L575'></a><a href='#L575'>575</a>
|
|
641
|
+
<a name='L576'></a><a href='#L576'>576</a>
|
|
642
|
+
<a name='L577'></a><a href='#L577'>577</a>
|
|
643
|
+
<a name='L578'></a><a href='#L578'>578</a>
|
|
644
|
+
<a name='L579'></a><a href='#L579'>579</a>
|
|
645
|
+
<a name='L580'></a><a href='#L580'>580</a>
|
|
646
|
+
<a name='L581'></a><a href='#L581'>581</a>
|
|
647
|
+
<a name='L582'></a><a href='#L582'>582</a>
|
|
648
|
+
<a name='L583'></a><a href='#L583'>583</a>
|
|
649
|
+
<a name='L584'></a><a href='#L584'>584</a>
|
|
650
|
+
<a name='L585'></a><a href='#L585'>585</a>
|
|
651
|
+
<a name='L586'></a><a href='#L586'>586</a>
|
|
652
|
+
<a name='L587'></a><a href='#L587'>587</a>
|
|
653
|
+
<a name='L588'></a><a href='#L588'>588</a>
|
|
654
|
+
<a name='L589'></a><a href='#L589'>589</a>
|
|
655
|
+
<a name='L590'></a><a href='#L590'>590</a>
|
|
656
|
+
<a name='L591'></a><a href='#L591'>591</a>
|
|
657
|
+
<a name='L592'></a><a href='#L592'>592</a>
|
|
658
|
+
<a name='L593'></a><a href='#L593'>593</a>
|
|
659
|
+
<a name='L594'></a><a href='#L594'>594</a>
|
|
660
|
+
<a name='L595'></a><a href='#L595'>595</a>
|
|
661
|
+
<a name='L596'></a><a href='#L596'>596</a>
|
|
662
|
+
<a name='L597'></a><a href='#L597'>597</a>
|
|
663
|
+
<a name='L598'></a><a href='#L598'>598</a>
|
|
664
|
+
<a name='L599'></a><a href='#L599'>599</a>
|
|
665
|
+
<a name='L600'></a><a href='#L600'>600</a>
|
|
666
|
+
<a name='L601'></a><a href='#L601'>601</a>
|
|
667
|
+
<a name='L602'></a><a href='#L602'>602</a>
|
|
668
|
+
<a name='L603'></a><a href='#L603'>603</a>
|
|
669
|
+
<a name='L604'></a><a href='#L604'>604</a>
|
|
670
|
+
<a name='L605'></a><a href='#L605'>605</a>
|
|
671
|
+
<a name='L606'></a><a href='#L606'>606</a>
|
|
672
|
+
<a name='L607'></a><a href='#L607'>607</a>
|
|
673
|
+
<a name='L608'></a><a href='#L608'>608</a>
|
|
674
|
+
<a name='L609'></a><a href='#L609'>609</a>
|
|
675
|
+
<a name='L610'></a><a href='#L610'>610</a>
|
|
676
|
+
<a name='L611'></a><a href='#L611'>611</a>
|
|
677
|
+
<a name='L612'></a><a href='#L612'>612</a>
|
|
678
|
+
<a name='L613'></a><a href='#L613'>613</a>
|
|
679
|
+
<a name='L614'></a><a href='#L614'>614</a>
|
|
680
|
+
<a name='L615'></a><a href='#L615'>615</a>
|
|
681
|
+
<a name='L616'></a><a href='#L616'>616</a>
|
|
682
|
+
<a name='L617'></a><a href='#L617'>617</a>
|
|
683
|
+
<a name='L618'></a><a href='#L618'>618</a>
|
|
684
|
+
<a name='L619'></a><a href='#L619'>619</a>
|
|
685
|
+
<a name='L620'></a><a href='#L620'>620</a>
|
|
686
|
+
<a name='L621'></a><a href='#L621'>621</a>
|
|
687
|
+
<a name='L622'></a><a href='#L622'>622</a>
|
|
688
|
+
<a name='L623'></a><a href='#L623'>623</a>
|
|
689
|
+
<a name='L624'></a><a href='#L624'>624</a>
|
|
690
|
+
<a name='L625'></a><a href='#L625'>625</a>
|
|
691
|
+
<a name='L626'></a><a href='#L626'>626</a>
|
|
692
|
+
<a name='L627'></a><a href='#L627'>627</a>
|
|
693
|
+
<a name='L628'></a><a href='#L628'>628</a>
|
|
694
|
+
<a name='L629'></a><a href='#L629'>629</a>
|
|
695
|
+
<a name='L630'></a><a href='#L630'>630</a>
|
|
696
|
+
<a name='L631'></a><a href='#L631'>631</a>
|
|
697
|
+
<a name='L632'></a><a href='#L632'>632</a>
|
|
698
|
+
<a name='L633'></a><a href='#L633'>633</a>
|
|
699
|
+
<a name='L634'></a><a href='#L634'>634</a>
|
|
700
|
+
<a name='L635'></a><a href='#L635'>635</a>
|
|
701
|
+
<a name='L636'></a><a href='#L636'>636</a>
|
|
702
|
+
<a name='L637'></a><a href='#L637'>637</a>
|
|
703
|
+
<a name='L638'></a><a href='#L638'>638</a>
|
|
704
|
+
<a name='L639'></a><a href='#L639'>639</a>
|
|
705
|
+
<a name='L640'></a><a href='#L640'>640</a>
|
|
706
|
+
<a name='L641'></a><a href='#L641'>641</a>
|
|
707
|
+
<a name='L642'></a><a href='#L642'>642</a>
|
|
708
|
+
<a name='L643'></a><a href='#L643'>643</a>
|
|
709
|
+
<a name='L644'></a><a href='#L644'>644</a>
|
|
710
|
+
<a name='L645'></a><a href='#L645'>645</a>
|
|
711
|
+
<a name='L646'></a><a href='#L646'>646</a>
|
|
712
|
+
<a name='L647'></a><a href='#L647'>647</a>
|
|
713
|
+
<a name='L648'></a><a href='#L648'>648</a>
|
|
714
|
+
<a name='L649'></a><a href='#L649'>649</a>
|
|
715
|
+
<a name='L650'></a><a href='#L650'>650</a>
|
|
716
|
+
<a name='L651'></a><a href='#L651'>651</a>
|
|
717
|
+
<a name='L652'></a><a href='#L652'>652</a>
|
|
718
|
+
<a name='L653'></a><a href='#L653'>653</a>
|
|
719
|
+
<a name='L654'></a><a href='#L654'>654</a>
|
|
720
|
+
<a name='L655'></a><a href='#L655'>655</a>
|
|
721
|
+
<a name='L656'></a><a href='#L656'>656</a>
|
|
722
|
+
<a name='L657'></a><a href='#L657'>657</a>
|
|
723
|
+
<a name='L658'></a><a href='#L658'>658</a>
|
|
724
|
+
<a name='L659'></a><a href='#L659'>659</a>
|
|
725
|
+
<a name='L660'></a><a href='#L660'>660</a>
|
|
726
|
+
<a name='L661'></a><a href='#L661'>661</a>
|
|
727
|
+
<a name='L662'></a><a href='#L662'>662</a>
|
|
728
|
+
<a name='L663'></a><a href='#L663'>663</a>
|
|
729
|
+
<a name='L664'></a><a href='#L664'>664</a>
|
|
730
|
+
<a name='L665'></a><a href='#L665'>665</a>
|
|
731
|
+
<a name='L666'></a><a href='#L666'>666</a>
|
|
732
|
+
<a name='L667'></a><a href='#L667'>667</a>
|
|
733
|
+
<a name='L668'></a><a href='#L668'>668</a>
|
|
734
|
+
<a name='L669'></a><a href='#L669'>669</a>
|
|
735
|
+
<a name='L670'></a><a href='#L670'>670</a>
|
|
736
|
+
<a name='L671'></a><a href='#L671'>671</a>
|
|
737
|
+
<a name='L672'></a><a href='#L672'>672</a>
|
|
738
|
+
<a name='L673'></a><a href='#L673'>673</a>
|
|
739
|
+
<a name='L674'></a><a href='#L674'>674</a>
|
|
740
|
+
<a name='L675'></a><a href='#L675'>675</a>
|
|
741
|
+
<a name='L676'></a><a href='#L676'>676</a>
|
|
742
|
+
<a name='L677'></a><a href='#L677'>677</a>
|
|
743
|
+
<a name='L678'></a><a href='#L678'>678</a>
|
|
744
|
+
<a name='L679'></a><a href='#L679'>679</a>
|
|
745
|
+
<a name='L680'></a><a href='#L680'>680</a>
|
|
746
|
+
<a name='L681'></a><a href='#L681'>681</a>
|
|
747
|
+
<a name='L682'></a><a href='#L682'>682</a>
|
|
748
|
+
<a name='L683'></a><a href='#L683'>683</a>
|
|
749
|
+
<a name='L684'></a><a href='#L684'>684</a>
|
|
750
|
+
<a name='L685'></a><a href='#L685'>685</a>
|
|
751
|
+
<a name='L686'></a><a href='#L686'>686</a>
|
|
752
|
+
<a name='L687'></a><a href='#L687'>687</a>
|
|
753
|
+
<a name='L688'></a><a href='#L688'>688</a>
|
|
754
|
+
<a name='L689'></a><a href='#L689'>689</a>
|
|
755
|
+
<a name='L690'></a><a href='#L690'>690</a>
|
|
756
|
+
<a name='L691'></a><a href='#L691'>691</a>
|
|
757
|
+
<a name='L692'></a><a href='#L692'>692</a>
|
|
758
|
+
<a name='L693'></a><a href='#L693'>693</a>
|
|
759
|
+
<a name='L694'></a><a href='#L694'>694</a>
|
|
760
|
+
<a name='L695'></a><a href='#L695'>695</a>
|
|
761
|
+
<a name='L696'></a><a href='#L696'>696</a>
|
|
762
|
+
<a name='L697'></a><a href='#L697'>697</a>
|
|
763
|
+
<a name='L698'></a><a href='#L698'>698</a>
|
|
764
|
+
<a name='L699'></a><a href='#L699'>699</a>
|
|
765
|
+
<a name='L700'></a><a href='#L700'>700</a>
|
|
766
|
+
<a name='L701'></a><a href='#L701'>701</a>
|
|
767
|
+
<a name='L702'></a><a href='#L702'>702</a>
|
|
768
|
+
<a name='L703'></a><a href='#L703'>703</a>
|
|
769
|
+
<a name='L704'></a><a href='#L704'>704</a>
|
|
770
|
+
<a name='L705'></a><a href='#L705'>705</a>
|
|
771
|
+
<a name='L706'></a><a href='#L706'>706</a>
|
|
772
|
+
<a name='L707'></a><a href='#L707'>707</a>
|
|
773
|
+
<a name='L708'></a><a href='#L708'>708</a>
|
|
774
|
+
<a name='L709'></a><a href='#L709'>709</a>
|
|
775
|
+
<a name='L710'></a><a href='#L710'>710</a>
|
|
776
|
+
<a name='L711'></a><a href='#L711'>711</a>
|
|
777
|
+
<a name='L712'></a><a href='#L712'>712</a>
|
|
778
|
+
<a name='L713'></a><a href='#L713'>713</a>
|
|
779
|
+
<a name='L714'></a><a href='#L714'>714</a>
|
|
780
|
+
<a name='L715'></a><a href='#L715'>715</a>
|
|
781
|
+
<a name='L716'></a><a href='#L716'>716</a>
|
|
782
|
+
<a name='L717'></a><a href='#L717'>717</a>
|
|
783
|
+
<a name='L718'></a><a href='#L718'>718</a>
|
|
784
|
+
<a name='L719'></a><a href='#L719'>719</a>
|
|
785
|
+
<a name='L720'></a><a href='#L720'>720</a>
|
|
786
|
+
<a name='L721'></a><a href='#L721'>721</a>
|
|
787
|
+
<a name='L722'></a><a href='#L722'>722</a>
|
|
788
|
+
<a name='L723'></a><a href='#L723'>723</a>
|
|
789
|
+
<a name='L724'></a><a href='#L724'>724</a>
|
|
790
|
+
<a name='L725'></a><a href='#L725'>725</a>
|
|
791
|
+
<a name='L726'></a><a href='#L726'>726</a>
|
|
792
|
+
<a name='L727'></a><a href='#L727'>727</a>
|
|
793
|
+
<a name='L728'></a><a href='#L728'>728</a>
|
|
794
|
+
<a name='L729'></a><a href='#L729'>729</a>
|
|
795
|
+
<a name='L730'></a><a href='#L730'>730</a>
|
|
796
|
+
<a name='L731'></a><a href='#L731'>731</a>
|
|
797
|
+
<a name='L732'></a><a href='#L732'>732</a>
|
|
798
|
+
<a name='L733'></a><a href='#L733'>733</a>
|
|
799
|
+
<a name='L734'></a><a href='#L734'>734</a>
|
|
800
|
+
<a name='L735'></a><a href='#L735'>735</a>
|
|
801
|
+
<a name='L736'></a><a href='#L736'>736</a>
|
|
802
|
+
<a name='L737'></a><a href='#L737'>737</a>
|
|
803
|
+
<a name='L738'></a><a href='#L738'>738</a>
|
|
804
|
+
<a name='L739'></a><a href='#L739'>739</a>
|
|
805
|
+
<a name='L740'></a><a href='#L740'>740</a>
|
|
806
|
+
<a name='L741'></a><a href='#L741'>741</a>
|
|
807
|
+
<a name='L742'></a><a href='#L742'>742</a>
|
|
808
|
+
<a name='L743'></a><a href='#L743'>743</a>
|
|
809
|
+
<a name='L744'></a><a href='#L744'>744</a>
|
|
810
|
+
<a name='L745'></a><a href='#L745'>745</a>
|
|
811
|
+
<a name='L746'></a><a href='#L746'>746</a>
|
|
812
|
+
<a name='L747'></a><a href='#L747'>747</a>
|
|
813
|
+
<a name='L748'></a><a href='#L748'>748</a>
|
|
814
|
+
<a name='L749'></a><a href='#L749'>749</a>
|
|
815
|
+
<a name='L750'></a><a href='#L750'>750</a>
|
|
816
|
+
<a name='L751'></a><a href='#L751'>751</a>
|
|
817
|
+
<a name='L752'></a><a href='#L752'>752</a>
|
|
818
|
+
<a name='L753'></a><a href='#L753'>753</a>
|
|
819
|
+
<a name='L754'></a><a href='#L754'>754</a>
|
|
820
|
+
<a name='L755'></a><a href='#L755'>755</a>
|
|
821
|
+
<a name='L756'></a><a href='#L756'>756</a>
|
|
822
|
+
<a name='L757'></a><a href='#L757'>757</a>
|
|
823
|
+
<a name='L758'></a><a href='#L758'>758</a>
|
|
824
|
+
<a name='L759'></a><a href='#L759'>759</a>
|
|
825
|
+
<a name='L760'></a><a href='#L760'>760</a>
|
|
826
|
+
<a name='L761'></a><a href='#L761'>761</a>
|
|
827
|
+
<a name='L762'></a><a href='#L762'>762</a>
|
|
828
|
+
<a name='L763'></a><a href='#L763'>763</a>
|
|
829
|
+
<a name='L764'></a><a href='#L764'>764</a>
|
|
830
|
+
<a name='L765'></a><a href='#L765'>765</a>
|
|
831
|
+
<a name='L766'></a><a href='#L766'>766</a>
|
|
832
|
+
<a name='L767'></a><a href='#L767'>767</a>
|
|
833
|
+
<a name='L768'></a><a href='#L768'>768</a>
|
|
834
|
+
<a name='L769'></a><a href='#L769'>769</a>
|
|
835
|
+
<a name='L770'></a><a href='#L770'>770</a>
|
|
836
|
+
<a name='L771'></a><a href='#L771'>771</a>
|
|
837
|
+
<a name='L772'></a><a href='#L772'>772</a>
|
|
838
|
+
<a name='L773'></a><a href='#L773'>773</a>
|
|
839
|
+
<a name='L774'></a><a href='#L774'>774</a>
|
|
840
|
+
<a name='L775'></a><a href='#L775'>775</a>
|
|
841
|
+
<a name='L776'></a><a href='#L776'>776</a>
|
|
842
|
+
<a name='L777'></a><a href='#L777'>777</a>
|
|
843
|
+
<a name='L778'></a><a href='#L778'>778</a>
|
|
844
|
+
<a name='L779'></a><a href='#L779'>779</a>
|
|
845
|
+
<a name='L780'></a><a href='#L780'>780</a>
|
|
846
|
+
<a name='L781'></a><a href='#L781'>781</a>
|
|
847
|
+
<a name='L782'></a><a href='#L782'>782</a>
|
|
848
|
+
<a name='L783'></a><a href='#L783'>783</a>
|
|
849
|
+
<a name='L784'></a><a href='#L784'>784</a>
|
|
850
|
+
<a name='L785'></a><a href='#L785'>785</a>
|
|
851
|
+
<a name='L786'></a><a href='#L786'>786</a>
|
|
852
|
+
<a name='L787'></a><a href='#L787'>787</a>
|
|
853
|
+
<a name='L788'></a><a href='#L788'>788</a>
|
|
854
|
+
<a name='L789'></a><a href='#L789'>789</a>
|
|
855
|
+
<a name='L790'></a><a href='#L790'>790</a>
|
|
856
|
+
<a name='L791'></a><a href='#L791'>791</a>
|
|
857
|
+
<a name='L792'></a><a href='#L792'>792</a>
|
|
858
|
+
<a name='L793'></a><a href='#L793'>793</a>
|
|
859
|
+
<a name='L794'></a><a href='#L794'>794</a>
|
|
860
|
+
<a name='L795'></a><a href='#L795'>795</a>
|
|
861
|
+
<a name='L796'></a><a href='#L796'>796</a>
|
|
862
|
+
<a name='L797'></a><a href='#L797'>797</a>
|
|
863
|
+
<a name='L798'></a><a href='#L798'>798</a>
|
|
864
|
+
<a name='L799'></a><a href='#L799'>799</a>
|
|
865
|
+
<a name='L800'></a><a href='#L800'>800</a>
|
|
866
|
+
<a name='L801'></a><a href='#L801'>801</a>
|
|
867
|
+
<a name='L802'></a><a href='#L802'>802</a>
|
|
868
|
+
<a name='L803'></a><a href='#L803'>803</a>
|
|
869
|
+
<a name='L804'></a><a href='#L804'>804</a>
|
|
870
|
+
<a name='L805'></a><a href='#L805'>805</a>
|
|
871
|
+
<a name='L806'></a><a href='#L806'>806</a>
|
|
872
|
+
<a name='L807'></a><a href='#L807'>807</a>
|
|
873
|
+
<a name='L808'></a><a href='#L808'>808</a>
|
|
874
|
+
<a name='L809'></a><a href='#L809'>809</a>
|
|
875
|
+
<a name='L810'></a><a href='#L810'>810</a>
|
|
876
|
+
<a name='L811'></a><a href='#L811'>811</a>
|
|
877
|
+
<a name='L812'></a><a href='#L812'>812</a>
|
|
878
|
+
<a name='L813'></a><a href='#L813'>813</a>
|
|
879
|
+
<a name='L814'></a><a href='#L814'>814</a>
|
|
880
|
+
<a name='L815'></a><a href='#L815'>815</a>
|
|
881
|
+
<a name='L816'></a><a href='#L816'>816</a>
|
|
882
|
+
<a name='L817'></a><a href='#L817'>817</a>
|
|
883
|
+
<a name='L818'></a><a href='#L818'>818</a>
|
|
884
|
+
<a name='L819'></a><a href='#L819'>819</a>
|
|
885
|
+
<a name='L820'></a><a href='#L820'>820</a>
|
|
886
|
+
<a name='L821'></a><a href='#L821'>821</a>
|
|
887
|
+
<a name='L822'></a><a href='#L822'>822</a>
|
|
888
|
+
<a name='L823'></a><a href='#L823'>823</a>
|
|
889
|
+
<a name='L824'></a><a href='#L824'>824</a>
|
|
890
|
+
<a name='L825'></a><a href='#L825'>825</a>
|
|
891
|
+
<a name='L826'></a><a href='#L826'>826</a>
|
|
892
|
+
<a name='L827'></a><a href='#L827'>827</a>
|
|
893
|
+
<a name='L828'></a><a href='#L828'>828</a>
|
|
894
|
+
<a name='L829'></a><a href='#L829'>829</a>
|
|
895
|
+
<a name='L830'></a><a href='#L830'>830</a>
|
|
896
|
+
<a name='L831'></a><a href='#L831'>831</a>
|
|
897
|
+
<a name='L832'></a><a href='#L832'>832</a>
|
|
898
|
+
<a name='L833'></a><a href='#L833'>833</a>
|
|
899
|
+
<a name='L834'></a><a href='#L834'>834</a>
|
|
900
|
+
<a name='L835'></a><a href='#L835'>835</a>
|
|
901
|
+
<a name='L836'></a><a href='#L836'>836</a>
|
|
902
|
+
<a name='L837'></a><a href='#L837'>837</a>
|
|
903
|
+
<a name='L838'></a><a href='#L838'>838</a>
|
|
904
|
+
<a name='L839'></a><a href='#L839'>839</a>
|
|
905
|
+
<a name='L840'></a><a href='#L840'>840</a>
|
|
906
|
+
<a name='L841'></a><a href='#L841'>841</a>
|
|
907
|
+
<a name='L842'></a><a href='#L842'>842</a>
|
|
908
|
+
<a name='L843'></a><a href='#L843'>843</a>
|
|
909
|
+
<a name='L844'></a><a href='#L844'>844</a>
|
|
910
|
+
<a name='L845'></a><a href='#L845'>845</a>
|
|
911
|
+
<a name='L846'></a><a href='#L846'>846</a>
|
|
912
|
+
<a name='L847'></a><a href='#L847'>847</a>
|
|
913
|
+
<a name='L848'></a><a href='#L848'>848</a>
|
|
914
|
+
<a name='L849'></a><a href='#L849'>849</a>
|
|
915
|
+
<a name='L850'></a><a href='#L850'>850</a>
|
|
916
|
+
<a name='L851'></a><a href='#L851'>851</a>
|
|
917
|
+
<a name='L852'></a><a href='#L852'>852</a>
|
|
918
|
+
<a name='L853'></a><a href='#L853'>853</a>
|
|
919
|
+
<a name='L854'></a><a href='#L854'>854</a>
|
|
920
|
+
<a name='L855'></a><a href='#L855'>855</a>
|
|
921
|
+
<a name='L856'></a><a href='#L856'>856</a>
|
|
922
|
+
<a name='L857'></a><a href='#L857'>857</a>
|
|
923
|
+
<a name='L858'></a><a href='#L858'>858</a>
|
|
924
|
+
<a name='L859'></a><a href='#L859'>859</a>
|
|
925
|
+
<a name='L860'></a><a href='#L860'>860</a>
|
|
926
|
+
<a name='L861'></a><a href='#L861'>861</a>
|
|
927
|
+
<a name='L862'></a><a href='#L862'>862</a>
|
|
928
|
+
<a name='L863'></a><a href='#L863'>863</a>
|
|
929
|
+
<a name='L864'></a><a href='#L864'>864</a>
|
|
930
|
+
<a name='L865'></a><a href='#L865'>865</a>
|
|
931
|
+
<a name='L866'></a><a href='#L866'>866</a>
|
|
932
|
+
<a name='L867'></a><a href='#L867'>867</a>
|
|
933
|
+
<a name='L868'></a><a href='#L868'>868</a>
|
|
934
|
+
<a name='L869'></a><a href='#L869'>869</a>
|
|
935
|
+
<a name='L870'></a><a href='#L870'>870</a>
|
|
936
|
+
<a name='L871'></a><a href='#L871'>871</a>
|
|
937
|
+
<a name='L872'></a><a href='#L872'>872</a>
|
|
938
|
+
<a name='L873'></a><a href='#L873'>873</a>
|
|
939
|
+
<a name='L874'></a><a href='#L874'>874</a>
|
|
940
|
+
<a name='L875'></a><a href='#L875'>875</a>
|
|
941
|
+
<a name='L876'></a><a href='#L876'>876</a>
|
|
942
|
+
<a name='L877'></a><a href='#L877'>877</a>
|
|
943
|
+
<a name='L878'></a><a href='#L878'>878</a>
|
|
944
|
+
<a name='L879'></a><a href='#L879'>879</a>
|
|
945
|
+
<a name='L880'></a><a href='#L880'>880</a>
|
|
946
|
+
<a name='L881'></a><a href='#L881'>881</a>
|
|
947
|
+
<a name='L882'></a><a href='#L882'>882</a>
|
|
948
|
+
<a name='L883'></a><a href='#L883'>883</a>
|
|
949
|
+
<a name='L884'></a><a href='#L884'>884</a>
|
|
950
|
+
<a name='L885'></a><a href='#L885'>885</a>
|
|
951
|
+
<a name='L886'></a><a href='#L886'>886</a>
|
|
952
|
+
<a name='L887'></a><a href='#L887'>887</a>
|
|
953
|
+
<a name='L888'></a><a href='#L888'>888</a>
|
|
954
|
+
<a name='L889'></a><a href='#L889'>889</a>
|
|
955
|
+
<a name='L890'></a><a href='#L890'>890</a>
|
|
956
|
+
<a name='L891'></a><a href='#L891'>891</a>
|
|
957
|
+
<a name='L892'></a><a href='#L892'>892</a>
|
|
958
|
+
<a name='L893'></a><a href='#L893'>893</a>
|
|
959
|
+
<a name='L894'></a><a href='#L894'>894</a>
|
|
960
|
+
<a name='L895'></a><a href='#L895'>895</a>
|
|
961
|
+
<a name='L896'></a><a href='#L896'>896</a>
|
|
962
|
+
<a name='L897'></a><a href='#L897'>897</a>
|
|
963
|
+
<a name='L898'></a><a href='#L898'>898</a>
|
|
964
|
+
<a name='L899'></a><a href='#L899'>899</a>
|
|
965
|
+
<a name='L900'></a><a href='#L900'>900</a>
|
|
966
|
+
<a name='L901'></a><a href='#L901'>901</a>
|
|
967
|
+
<a name='L902'></a><a href='#L902'>902</a>
|
|
968
|
+
<a name='L903'></a><a href='#L903'>903</a>
|
|
969
|
+
<a name='L904'></a><a href='#L904'>904</a>
|
|
970
|
+
<a name='L905'></a><a href='#L905'>905</a>
|
|
971
|
+
<a name='L906'></a><a href='#L906'>906</a>
|
|
972
|
+
<a name='L907'></a><a href='#L907'>907</a>
|
|
973
|
+
<a name='L908'></a><a href='#L908'>908</a>
|
|
974
|
+
<a name='L909'></a><a href='#L909'>909</a>
|
|
975
|
+
<a name='L910'></a><a href='#L910'>910</a>
|
|
976
|
+
<a name='L911'></a><a href='#L911'>911</a>
|
|
977
|
+
<a name='L912'></a><a href='#L912'>912</a>
|
|
978
|
+
<a name='L913'></a><a href='#L913'>913</a>
|
|
979
|
+
<a name='L914'></a><a href='#L914'>914</a>
|
|
980
|
+
<a name='L915'></a><a href='#L915'>915</a>
|
|
981
|
+
<a name='L916'></a><a href='#L916'>916</a>
|
|
982
|
+
<a name='L917'></a><a href='#L917'>917</a>
|
|
983
|
+
<a name='L918'></a><a href='#L918'>918</a>
|
|
984
|
+
<a name='L919'></a><a href='#L919'>919</a>
|
|
985
|
+
<a name='L920'></a><a href='#L920'>920</a>
|
|
986
|
+
<a name='L921'></a><a href='#L921'>921</a>
|
|
987
|
+
<a name='L922'></a><a href='#L922'>922</a>
|
|
988
|
+
<a name='L923'></a><a href='#L923'>923</a>
|
|
989
|
+
<a name='L924'></a><a href='#L924'>924</a>
|
|
990
|
+
<a name='L925'></a><a href='#L925'>925</a>
|
|
991
|
+
<a name='L926'></a><a href='#L926'>926</a>
|
|
992
|
+
<a name='L927'></a><a href='#L927'>927</a>
|
|
993
|
+
<a name='L928'></a><a href='#L928'>928</a>
|
|
994
|
+
<a name='L929'></a><a href='#L929'>929</a>
|
|
995
|
+
<a name='L930'></a><a href='#L930'>930</a>
|
|
996
|
+
<a name='L931'></a><a href='#L931'>931</a>
|
|
997
|
+
<a name='L932'></a><a href='#L932'>932</a>
|
|
998
|
+
<a name='L933'></a><a href='#L933'>933</a>
|
|
999
|
+
<a name='L934'></a><a href='#L934'>934</a>
|
|
1000
|
+
<a name='L935'></a><a href='#L935'>935</a>
|
|
1001
|
+
<a name='L936'></a><a href='#L936'>936</a>
|
|
1002
|
+
<a name='L937'></a><a href='#L937'>937</a>
|
|
1003
|
+
<a name='L938'></a><a href='#L938'>938</a>
|
|
1004
|
+
<a name='L939'></a><a href='#L939'>939</a>
|
|
1005
|
+
<a name='L940'></a><a href='#L940'>940</a>
|
|
1006
|
+
<a name='L941'></a><a href='#L941'>941</a>
|
|
1007
|
+
<a name='L942'></a><a href='#L942'>942</a>
|
|
1008
|
+
<a name='L943'></a><a href='#L943'>943</a>
|
|
1009
|
+
<a name='L944'></a><a href='#L944'>944</a>
|
|
1010
|
+
<a name='L945'></a><a href='#L945'>945</a>
|
|
1011
|
+
<a name='L946'></a><a href='#L946'>946</a>
|
|
1012
|
+
<a name='L947'></a><a href='#L947'>947</a>
|
|
1013
|
+
<a name='L948'></a><a href='#L948'>948</a>
|
|
1014
|
+
<a name='L949'></a><a href='#L949'>949</a>
|
|
1015
|
+
<a name='L950'></a><a href='#L950'>950</a>
|
|
1016
|
+
<a name='L951'></a><a href='#L951'>951</a>
|
|
1017
|
+
<a name='L952'></a><a href='#L952'>952</a>
|
|
1018
|
+
<a name='L953'></a><a href='#L953'>953</a>
|
|
1019
|
+
<a name='L954'></a><a href='#L954'>954</a>
|
|
1020
|
+
<a name='L955'></a><a href='#L955'>955</a>
|
|
1021
|
+
<a name='L956'></a><a href='#L956'>956</a>
|
|
1022
|
+
<a name='L957'></a><a href='#L957'>957</a>
|
|
1023
|
+
<a name='L958'></a><a href='#L958'>958</a>
|
|
1024
|
+
<a name='L959'></a><a href='#L959'>959</a>
|
|
1025
|
+
<a name='L960'></a><a href='#L960'>960</a>
|
|
1026
|
+
<a name='L961'></a><a href='#L961'>961</a>
|
|
1027
|
+
<a name='L962'></a><a href='#L962'>962</a>
|
|
1028
|
+
<a name='L963'></a><a href='#L963'>963</a>
|
|
1029
|
+
<a name='L964'></a><a href='#L964'>964</a>
|
|
1030
|
+
<a name='L965'></a><a href='#L965'>965</a>
|
|
1031
|
+
<a name='L966'></a><a href='#L966'>966</a>
|
|
1032
|
+
<a name='L967'></a><a href='#L967'>967</a>
|
|
1033
|
+
<a name='L968'></a><a href='#L968'>968</a>
|
|
1034
|
+
<a name='L969'></a><a href='#L969'>969</a>
|
|
1035
|
+
<a name='L970'></a><a href='#L970'>970</a>
|
|
1036
|
+
<a name='L971'></a><a href='#L971'>971</a>
|
|
1037
|
+
<a name='L972'></a><a href='#L972'>972</a>
|
|
1038
|
+
<a name='L973'></a><a href='#L973'>973</a>
|
|
1039
|
+
<a name='L974'></a><a href='#L974'>974</a>
|
|
1040
|
+
<a name='L975'></a><a href='#L975'>975</a>
|
|
1041
|
+
<a name='L976'></a><a href='#L976'>976</a>
|
|
1042
|
+
<a name='L977'></a><a href='#L977'>977</a>
|
|
1043
|
+
<a name='L978'></a><a href='#L978'>978</a>
|
|
1044
|
+
<a name='L979'></a><a href='#L979'>979</a>
|
|
1045
|
+
<a name='L980'></a><a href='#L980'>980</a>
|
|
1046
|
+
<a name='L981'></a><a href='#L981'>981</a>
|
|
1047
|
+
<a name='L982'></a><a href='#L982'>982</a>
|
|
1048
|
+
<a name='L983'></a><a href='#L983'>983</a>
|
|
1049
|
+
<a name='L984'></a><a href='#L984'>984</a>
|
|
1050
|
+
<a name='L985'></a><a href='#L985'>985</a>
|
|
1051
|
+
<a name='L986'></a><a href='#L986'>986</a>
|
|
1052
|
+
<a name='L987'></a><a href='#L987'>987</a>
|
|
1053
|
+
<a name='L988'></a><a href='#L988'>988</a>
|
|
1054
|
+
<a name='L989'></a><a href='#L989'>989</a>
|
|
1055
|
+
<a name='L990'></a><a href='#L990'>990</a>
|
|
1056
|
+
<a name='L991'></a><a href='#L991'>991</a>
|
|
1057
|
+
<a name='L992'></a><a href='#L992'>992</a>
|
|
1058
|
+
<a name='L993'></a><a href='#L993'>993</a>
|
|
1059
|
+
<a name='L994'></a><a href='#L994'>994</a>
|
|
1060
|
+
<a name='L995'></a><a href='#L995'>995</a>
|
|
1061
|
+
<a name='L996'></a><a href='#L996'>996</a>
|
|
1062
|
+
<a name='L997'></a><a href='#L997'>997</a>
|
|
1063
|
+
<a name='L998'></a><a href='#L998'>998</a>
|
|
1064
|
+
<a name='L999'></a><a href='#L999'>999</a>
|
|
1065
|
+
<a name='L1000'></a><a href='#L1000'>1000</a>
|
|
1066
|
+
<a name='L1001'></a><a href='#L1001'>1001</a>
|
|
1067
|
+
<a name='L1002'></a><a href='#L1002'>1002</a>
|
|
1068
|
+
<a name='L1003'></a><a href='#L1003'>1003</a>
|
|
1069
|
+
<a name='L1004'></a><a href='#L1004'>1004</a>
|
|
1070
|
+
<a name='L1005'></a><a href='#L1005'>1005</a>
|
|
1071
|
+
<a name='L1006'></a><a href='#L1006'>1006</a>
|
|
1072
|
+
<a name='L1007'></a><a href='#L1007'>1007</a>
|
|
1073
|
+
<a name='L1008'></a><a href='#L1008'>1008</a>
|
|
1074
|
+
<a name='L1009'></a><a href='#L1009'>1009</a>
|
|
1075
|
+
<a name='L1010'></a><a href='#L1010'>1010</a>
|
|
1076
|
+
<a name='L1011'></a><a href='#L1011'>1011</a>
|
|
1077
|
+
<a name='L1012'></a><a href='#L1012'>1012</a>
|
|
1078
|
+
<a name='L1013'></a><a href='#L1013'>1013</a>
|
|
1079
|
+
<a name='L1014'></a><a href='#L1014'>1014</a>
|
|
1080
|
+
<a name='L1015'></a><a href='#L1015'>1015</a>
|
|
1081
|
+
<a name='L1016'></a><a href='#L1016'>1016</a>
|
|
1082
|
+
<a name='L1017'></a><a href='#L1017'>1017</a>
|
|
1083
|
+
<a name='L1018'></a><a href='#L1018'>1018</a>
|
|
1084
|
+
<a name='L1019'></a><a href='#L1019'>1019</a>
|
|
1085
|
+
<a name='L1020'></a><a href='#L1020'>1020</a>
|
|
1086
|
+
<a name='L1021'></a><a href='#L1021'>1021</a>
|
|
1087
|
+
<a name='L1022'></a><a href='#L1022'>1022</a>
|
|
1088
|
+
<a name='L1023'></a><a href='#L1023'>1023</a>
|
|
1089
|
+
<a name='L1024'></a><a href='#L1024'>1024</a>
|
|
1090
|
+
<a name='L1025'></a><a href='#L1025'>1025</a>
|
|
1091
|
+
<a name='L1026'></a><a href='#L1026'>1026</a>
|
|
1092
|
+
<a name='L1027'></a><a href='#L1027'>1027</a>
|
|
1093
|
+
<a name='L1028'></a><a href='#L1028'>1028</a>
|
|
1094
|
+
<a name='L1029'></a><a href='#L1029'>1029</a>
|
|
1095
|
+
<a name='L1030'></a><a href='#L1030'>1030</a>
|
|
1096
|
+
<a name='L1031'></a><a href='#L1031'>1031</a>
|
|
1097
|
+
<a name='L1032'></a><a href='#L1032'>1032</a>
|
|
1098
|
+
<a name='L1033'></a><a href='#L1033'>1033</a>
|
|
1099
|
+
<a name='L1034'></a><a href='#L1034'>1034</a>
|
|
1100
|
+
<a name='L1035'></a><a href='#L1035'>1035</a>
|
|
1101
|
+
<a name='L1036'></a><a href='#L1036'>1036</a>
|
|
1102
|
+
<a name='L1037'></a><a href='#L1037'>1037</a>
|
|
1103
|
+
<a name='L1038'></a><a href='#L1038'>1038</a>
|
|
1104
|
+
<a name='L1039'></a><a href='#L1039'>1039</a>
|
|
1105
|
+
<a name='L1040'></a><a href='#L1040'>1040</a>
|
|
1106
|
+
<a name='L1041'></a><a href='#L1041'>1041</a>
|
|
1107
|
+
<a name='L1042'></a><a href='#L1042'>1042</a>
|
|
1108
|
+
<a name='L1043'></a><a href='#L1043'>1043</a>
|
|
1109
|
+
<a name='L1044'></a><a href='#L1044'>1044</a>
|
|
1110
|
+
<a name='L1045'></a><a href='#L1045'>1045</a>
|
|
1111
|
+
<a name='L1046'></a><a href='#L1046'>1046</a>
|
|
1112
|
+
<a name='L1047'></a><a href='#L1047'>1047</a>
|
|
1113
|
+
<a name='L1048'></a><a href='#L1048'>1048</a>
|
|
1114
|
+
<a name='L1049'></a><a href='#L1049'>1049</a>
|
|
1115
|
+
<a name='L1050'></a><a href='#L1050'>1050</a>
|
|
1116
|
+
<a name='L1051'></a><a href='#L1051'>1051</a>
|
|
1117
|
+
<a name='L1052'></a><a href='#L1052'>1052</a>
|
|
1118
|
+
<a name='L1053'></a><a href='#L1053'>1053</a>
|
|
1119
|
+
<a name='L1054'></a><a href='#L1054'>1054</a>
|
|
1120
|
+
<a name='L1055'></a><a href='#L1055'>1055</a>
|
|
1121
|
+
<a name='L1056'></a><a href='#L1056'>1056</a>
|
|
1122
|
+
<a name='L1057'></a><a href='#L1057'>1057</a>
|
|
1123
|
+
<a name='L1058'></a><a href='#L1058'>1058</a>
|
|
1124
|
+
<a name='L1059'></a><a href='#L1059'>1059</a>
|
|
1125
|
+
<a name='L1060'></a><a href='#L1060'>1060</a>
|
|
1126
|
+
<a name='L1061'></a><a href='#L1061'>1061</a>
|
|
1127
|
+
<a name='L1062'></a><a href='#L1062'>1062</a>
|
|
1128
|
+
<a name='L1063'></a><a href='#L1063'>1063</a>
|
|
1129
|
+
<a name='L1064'></a><a href='#L1064'>1064</a>
|
|
1130
|
+
<a name='L1065'></a><a href='#L1065'>1065</a>
|
|
1131
|
+
<a name='L1066'></a><a href='#L1066'>1066</a>
|
|
1132
|
+
<a name='L1067'></a><a href='#L1067'>1067</a>
|
|
1133
|
+
<a name='L1068'></a><a href='#L1068'>1068</a>
|
|
1134
|
+
<a name='L1069'></a><a href='#L1069'>1069</a>
|
|
1135
|
+
<a name='L1070'></a><a href='#L1070'>1070</a>
|
|
1136
|
+
<a name='L1071'></a><a href='#L1071'>1071</a>
|
|
1137
|
+
<a name='L1072'></a><a href='#L1072'>1072</a>
|
|
1138
|
+
<a name='L1073'></a><a href='#L1073'>1073</a>
|
|
1139
|
+
<a name='L1074'></a><a href='#L1074'>1074</a>
|
|
1140
|
+
<a name='L1075'></a><a href='#L1075'>1075</a>
|
|
1141
|
+
<a name='L1076'></a><a href='#L1076'>1076</a>
|
|
1142
|
+
<a name='L1077'></a><a href='#L1077'>1077</a>
|
|
1143
|
+
<a name='L1078'></a><a href='#L1078'>1078</a>
|
|
1144
|
+
<a name='L1079'></a><a href='#L1079'>1079</a>
|
|
1145
|
+
<a name='L1080'></a><a href='#L1080'>1080</a>
|
|
1146
|
+
<a name='L1081'></a><a href='#L1081'>1081</a>
|
|
1147
|
+
<a name='L1082'></a><a href='#L1082'>1082</a>
|
|
1148
|
+
<a name='L1083'></a><a href='#L1083'>1083</a>
|
|
1149
|
+
<a name='L1084'></a><a href='#L1084'>1084</a>
|
|
1150
|
+
<a name='L1085'></a><a href='#L1085'>1085</a>
|
|
1151
|
+
<a name='L1086'></a><a href='#L1086'>1086</a>
|
|
1152
|
+
<a name='L1087'></a><a href='#L1087'>1087</a>
|
|
1153
|
+
<a name='L1088'></a><a href='#L1088'>1088</a>
|
|
1154
|
+
<a name='L1089'></a><a href='#L1089'>1089</a>
|
|
1155
|
+
<a name='L1090'></a><a href='#L1090'>1090</a>
|
|
1156
|
+
<a name='L1091'></a><a href='#L1091'>1091</a>
|
|
1157
|
+
<a name='L1092'></a><a href='#L1092'>1092</a>
|
|
1158
|
+
<a name='L1093'></a><a href='#L1093'>1093</a>
|
|
1159
|
+
<a name='L1094'></a><a href='#L1094'>1094</a>
|
|
1160
|
+
<a name='L1095'></a><a href='#L1095'>1095</a>
|
|
1161
|
+
<a name='L1096'></a><a href='#L1096'>1096</a>
|
|
1162
|
+
<a name='L1097'></a><a href='#L1097'>1097</a>
|
|
1163
|
+
<a name='L1098'></a><a href='#L1098'>1098</a>
|
|
1164
|
+
<a name='L1099'></a><a href='#L1099'>1099</a>
|
|
1165
|
+
<a name='L1100'></a><a href='#L1100'>1100</a>
|
|
1166
|
+
<a name='L1101'></a><a href='#L1101'>1101</a>
|
|
1167
|
+
<a name='L1102'></a><a href='#L1102'>1102</a>
|
|
1168
|
+
<a name='L1103'></a><a href='#L1103'>1103</a>
|
|
1169
|
+
<a name='L1104'></a><a href='#L1104'>1104</a>
|
|
1170
|
+
<a name='L1105'></a><a href='#L1105'>1105</a>
|
|
1171
|
+
<a name='L1106'></a><a href='#L1106'>1106</a>
|
|
1172
|
+
<a name='L1107'></a><a href='#L1107'>1107</a>
|
|
1173
|
+
<a name='L1108'></a><a href='#L1108'>1108</a>
|
|
1174
|
+
<a name='L1109'></a><a href='#L1109'>1109</a>
|
|
1175
|
+
<a name='L1110'></a><a href='#L1110'>1110</a>
|
|
1176
|
+
<a name='L1111'></a><a href='#L1111'>1111</a>
|
|
1177
|
+
<a name='L1112'></a><a href='#L1112'>1112</a>
|
|
1178
|
+
<a name='L1113'></a><a href='#L1113'>1113</a>
|
|
1179
|
+
<a name='L1114'></a><a href='#L1114'>1114</a>
|
|
1180
|
+
<a name='L1115'></a><a href='#L1115'>1115</a>
|
|
1181
|
+
<a name='L1116'></a><a href='#L1116'>1116</a>
|
|
1182
|
+
<a name='L1117'></a><a href='#L1117'>1117</a>
|
|
1183
|
+
<a name='L1118'></a><a href='#L1118'>1118</a>
|
|
1184
|
+
<a name='L1119'></a><a href='#L1119'>1119</a>
|
|
1185
|
+
<a name='L1120'></a><a href='#L1120'>1120</a>
|
|
1186
|
+
<a name='L1121'></a><a href='#L1121'>1121</a>
|
|
1187
|
+
<a name='L1122'></a><a href='#L1122'>1122</a>
|
|
1188
|
+
<a name='L1123'></a><a href='#L1123'>1123</a>
|
|
1189
|
+
<a name='L1124'></a><a href='#L1124'>1124</a>
|
|
1190
|
+
<a name='L1125'></a><a href='#L1125'>1125</a>
|
|
1191
|
+
<a name='L1126'></a><a href='#L1126'>1126</a>
|
|
1192
|
+
<a name='L1127'></a><a href='#L1127'>1127</a>
|
|
1193
|
+
<a name='L1128'></a><a href='#L1128'>1128</a>
|
|
1194
|
+
<a name='L1129'></a><a href='#L1129'>1129</a>
|
|
1195
|
+
<a name='L1130'></a><a href='#L1130'>1130</a>
|
|
1196
|
+
<a name='L1131'></a><a href='#L1131'>1131</a>
|
|
1197
|
+
<a name='L1132'></a><a href='#L1132'>1132</a>
|
|
1198
|
+
<a name='L1133'></a><a href='#L1133'>1133</a>
|
|
1199
|
+
<a name='L1134'></a><a href='#L1134'>1134</a>
|
|
1200
|
+
<a name='L1135'></a><a href='#L1135'>1135</a>
|
|
1201
|
+
<a name='L1136'></a><a href='#L1136'>1136</a>
|
|
1202
|
+
<a name='L1137'></a><a href='#L1137'>1137</a>
|
|
1203
|
+
<a name='L1138'></a><a href='#L1138'>1138</a>
|
|
1204
|
+
<a name='L1139'></a><a href='#L1139'>1139</a>
|
|
1205
|
+
<a name='L1140'></a><a href='#L1140'>1140</a>
|
|
1206
|
+
<a name='L1141'></a><a href='#L1141'>1141</a>
|
|
1207
|
+
<a name='L1142'></a><a href='#L1142'>1142</a>
|
|
1208
|
+
<a name='L1143'></a><a href='#L1143'>1143</a>
|
|
1209
|
+
<a name='L1144'></a><a href='#L1144'>1144</a>
|
|
1210
|
+
<a name='L1145'></a><a href='#L1145'>1145</a>
|
|
1211
|
+
<a name='L1146'></a><a href='#L1146'>1146</a>
|
|
1212
|
+
<a name='L1147'></a><a href='#L1147'>1147</a>
|
|
1213
|
+
<a name='L1148'></a><a href='#L1148'>1148</a>
|
|
1214
|
+
<a name='L1149'></a><a href='#L1149'>1149</a>
|
|
1215
|
+
<a name='L1150'></a><a href='#L1150'>1150</a>
|
|
1216
|
+
<a name='L1151'></a><a href='#L1151'>1151</a>
|
|
1217
|
+
<a name='L1152'></a><a href='#L1152'>1152</a>
|
|
1218
|
+
<a name='L1153'></a><a href='#L1153'>1153</a>
|
|
1219
|
+
<a name='L1154'></a><a href='#L1154'>1154</a>
|
|
1220
|
+
<a name='L1155'></a><a href='#L1155'>1155</a>
|
|
1221
|
+
<a name='L1156'></a><a href='#L1156'>1156</a>
|
|
1222
|
+
<a name='L1157'></a><a href='#L1157'>1157</a>
|
|
1223
|
+
<a name='L1158'></a><a href='#L1158'>1158</a>
|
|
1224
|
+
<a name='L1159'></a><a href='#L1159'>1159</a>
|
|
1225
|
+
<a name='L1160'></a><a href='#L1160'>1160</a>
|
|
1226
|
+
<a name='L1161'></a><a href='#L1161'>1161</a>
|
|
1227
|
+
<a name='L1162'></a><a href='#L1162'>1162</a>
|
|
1228
|
+
<a name='L1163'></a><a href='#L1163'>1163</a>
|
|
1229
|
+
<a name='L1164'></a><a href='#L1164'>1164</a>
|
|
1230
|
+
<a name='L1165'></a><a href='#L1165'>1165</a>
|
|
1231
|
+
<a name='L1166'></a><a href='#L1166'>1166</a>
|
|
1232
|
+
<a name='L1167'></a><a href='#L1167'>1167</a>
|
|
1233
|
+
<a name='L1168'></a><a href='#L1168'>1168</a>
|
|
1234
|
+
<a name='L1169'></a><a href='#L1169'>1169</a>
|
|
1235
|
+
<a name='L1170'></a><a href='#L1170'>1170</a>
|
|
1236
|
+
<a name='L1171'></a><a href='#L1171'>1171</a>
|
|
1237
|
+
<a name='L1172'></a><a href='#L1172'>1172</a>
|
|
1238
|
+
<a name='L1173'></a><a href='#L1173'>1173</a>
|
|
1239
|
+
<a name='L1174'></a><a href='#L1174'>1174</a>
|
|
1240
|
+
<a name='L1175'></a><a href='#L1175'>1175</a>
|
|
1241
|
+
<a name='L1176'></a><a href='#L1176'>1176</a>
|
|
1242
|
+
<a name='L1177'></a><a href='#L1177'>1177</a>
|
|
1243
|
+
<a name='L1178'></a><a href='#L1178'>1178</a>
|
|
1244
|
+
<a name='L1179'></a><a href='#L1179'>1179</a>
|
|
1245
|
+
<a name='L1180'></a><a href='#L1180'>1180</a>
|
|
1246
|
+
<a name='L1181'></a><a href='#L1181'>1181</a>
|
|
1247
|
+
<a name='L1182'></a><a href='#L1182'>1182</a>
|
|
1248
|
+
<a name='L1183'></a><a href='#L1183'>1183</a>
|
|
1249
|
+
<a name='L1184'></a><a href='#L1184'>1184</a>
|
|
1250
|
+
<a name='L1185'></a><a href='#L1185'>1185</a>
|
|
1251
|
+
<a name='L1186'></a><a href='#L1186'>1186</a>
|
|
1252
|
+
<a name='L1187'></a><a href='#L1187'>1187</a>
|
|
1253
|
+
<a name='L1188'></a><a href='#L1188'>1188</a>
|
|
1254
|
+
<a name='L1189'></a><a href='#L1189'>1189</a>
|
|
1255
|
+
<a name='L1190'></a><a href='#L1190'>1190</a>
|
|
1256
|
+
<a name='L1191'></a><a href='#L1191'>1191</a>
|
|
1257
|
+
<a name='L1192'></a><a href='#L1192'>1192</a>
|
|
1258
|
+
<a name='L1193'></a><a href='#L1193'>1193</a>
|
|
1259
|
+
<a name='L1194'></a><a href='#L1194'>1194</a>
|
|
1260
|
+
<a name='L1195'></a><a href='#L1195'>1195</a>
|
|
1261
|
+
<a name='L1196'></a><a href='#L1196'>1196</a>
|
|
1262
|
+
<a name='L1197'></a><a href='#L1197'>1197</a>
|
|
1263
|
+
<a name='L1198'></a><a href='#L1198'>1198</a>
|
|
1264
|
+
<a name='L1199'></a><a href='#L1199'>1199</a>
|
|
1265
|
+
<a name='L1200'></a><a href='#L1200'>1200</a>
|
|
1266
|
+
<a name='L1201'></a><a href='#L1201'>1201</a>
|
|
1267
|
+
<a name='L1202'></a><a href='#L1202'>1202</a>
|
|
1268
|
+
<a name='L1203'></a><a href='#L1203'>1203</a>
|
|
1269
|
+
<a name='L1204'></a><a href='#L1204'>1204</a>
|
|
1270
|
+
<a name='L1205'></a><a href='#L1205'>1205</a>
|
|
1271
|
+
<a name='L1206'></a><a href='#L1206'>1206</a>
|
|
1272
|
+
<a name='L1207'></a><a href='#L1207'>1207</a>
|
|
1273
|
+
<a name='L1208'></a><a href='#L1208'>1208</a>
|
|
1274
|
+
<a name='L1209'></a><a href='#L1209'>1209</a>
|
|
1275
|
+
<a name='L1210'></a><a href='#L1210'>1210</a>
|
|
1276
|
+
<a name='L1211'></a><a href='#L1211'>1211</a>
|
|
1277
|
+
<a name='L1212'></a><a href='#L1212'>1212</a>
|
|
1278
|
+
<a name='L1213'></a><a href='#L1213'>1213</a>
|
|
1279
|
+
<a name='L1214'></a><a href='#L1214'>1214</a>
|
|
1280
|
+
<a name='L1215'></a><a href='#L1215'>1215</a>
|
|
1281
|
+
<a name='L1216'></a><a href='#L1216'>1216</a>
|
|
1282
|
+
<a name='L1217'></a><a href='#L1217'>1217</a>
|
|
1283
|
+
<a name='L1218'></a><a href='#L1218'>1218</a>
|
|
1284
|
+
<a name='L1219'></a><a href='#L1219'>1219</a>
|
|
1285
|
+
<a name='L1220'></a><a href='#L1220'>1220</a>
|
|
1286
|
+
<a name='L1221'></a><a href='#L1221'>1221</a>
|
|
1287
|
+
<a name='L1222'></a><a href='#L1222'>1222</a>
|
|
1288
|
+
<a name='L1223'></a><a href='#L1223'>1223</a>
|
|
1289
|
+
<a name='L1224'></a><a href='#L1224'>1224</a>
|
|
1290
|
+
<a name='L1225'></a><a href='#L1225'>1225</a>
|
|
1291
|
+
<a name='L1226'></a><a href='#L1226'>1226</a>
|
|
1292
|
+
<a name='L1227'></a><a href='#L1227'>1227</a>
|
|
1293
|
+
<a name='L1228'></a><a href='#L1228'>1228</a>
|
|
1294
|
+
<a name='L1229'></a><a href='#L1229'>1229</a>
|
|
1295
|
+
<a name='L1230'></a><a href='#L1230'>1230</a>
|
|
1296
|
+
<a name='L1231'></a><a href='#L1231'>1231</a>
|
|
1297
|
+
<a name='L1232'></a><a href='#L1232'>1232</a>
|
|
1298
|
+
<a name='L1233'></a><a href='#L1233'>1233</a>
|
|
1299
|
+
<a name='L1234'></a><a href='#L1234'>1234</a>
|
|
1300
|
+
<a name='L1235'></a><a href='#L1235'>1235</a>
|
|
1301
|
+
<a name='L1236'></a><a href='#L1236'>1236</a>
|
|
1302
|
+
<a name='L1237'></a><a href='#L1237'>1237</a>
|
|
1303
|
+
<a name='L1238'></a><a href='#L1238'>1238</a>
|
|
1304
|
+
<a name='L1239'></a><a href='#L1239'>1239</a>
|
|
1305
|
+
<a name='L1240'></a><a href='#L1240'>1240</a>
|
|
1306
|
+
<a name='L1241'></a><a href='#L1241'>1241</a>
|
|
1307
|
+
<a name='L1242'></a><a href='#L1242'>1242</a>
|
|
1308
|
+
<a name='L1243'></a><a href='#L1243'>1243</a>
|
|
1309
|
+
<a name='L1244'></a><a href='#L1244'>1244</a>
|
|
1310
|
+
<a name='L1245'></a><a href='#L1245'>1245</a>
|
|
1311
|
+
<a name='L1246'></a><a href='#L1246'>1246</a>
|
|
1312
|
+
<a name='L1247'></a><a href='#L1247'>1247</a>
|
|
1313
|
+
<a name='L1248'></a><a href='#L1248'>1248</a>
|
|
1314
|
+
<a name='L1249'></a><a href='#L1249'>1249</a>
|
|
1315
|
+
<a name='L1250'></a><a href='#L1250'>1250</a>
|
|
1316
|
+
<a name='L1251'></a><a href='#L1251'>1251</a>
|
|
1317
|
+
<a name='L1252'></a><a href='#L1252'>1252</a>
|
|
1318
|
+
<a name='L1253'></a><a href='#L1253'>1253</a>
|
|
1319
|
+
<a name='L1254'></a><a href='#L1254'>1254</a>
|
|
1320
|
+
<a name='L1255'></a><a href='#L1255'>1255</a>
|
|
1321
|
+
<a name='L1256'></a><a href='#L1256'>1256</a>
|
|
1322
|
+
<a name='L1257'></a><a href='#L1257'>1257</a>
|
|
1323
|
+
<a name='L1258'></a><a href='#L1258'>1258</a>
|
|
1324
|
+
<a name='L1259'></a><a href='#L1259'>1259</a>
|
|
1325
|
+
<a name='L1260'></a><a href='#L1260'>1260</a>
|
|
1326
|
+
<a name='L1261'></a><a href='#L1261'>1261</a>
|
|
1327
|
+
<a name='L1262'></a><a href='#L1262'>1262</a>
|
|
1328
|
+
<a name='L1263'></a><a href='#L1263'>1263</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
1329
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1330
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1331
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1332
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1333
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1334
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1335
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1336
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1337
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1338
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1339
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1340
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1341
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1342
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1343
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1344
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1345
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1346
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1347
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1348
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1349
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1350
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1351
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1352
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1353
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1354
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1355
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1356
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1357
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1358
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1359
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1360
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1361
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1362
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1363
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1364
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1365
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1366
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1367
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1368
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1369
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1370
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1371
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1372
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1373
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1374
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1375
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1376
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1377
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1378
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1379
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1380
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1381
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1382
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1383
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1384
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1385
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1386
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1387
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1388
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1389
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1390
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1391
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1392
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1393
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1394
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1395
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1396
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1397
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1398
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1399
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1400
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1401
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1402
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1403
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1404
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1405
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1406
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1407
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1408
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1409
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1410
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1411
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1412
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1413
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1414
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1415
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1416
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1417
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1418
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1419
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1420
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1421
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1422
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1423
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1424
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1425
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1426
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1427
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1428
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1429
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1430
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1431
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1432
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1433
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1434
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1435
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1436
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1437
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1438
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1439
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1440
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1441
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1442
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1443
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1444
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1445
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1446
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1447
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1448
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1449
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1450
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1451
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1452
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1453
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1454
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1455
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1456
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1457
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1458
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1459
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1460
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1461
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1462
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1463
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1464
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1465
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1466
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1467
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1468
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1469
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1470
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1471
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1472
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1473
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1474
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1475
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1476
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1477
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1478
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1479
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1480
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1481
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1482
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1483
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1484
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1485
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1486
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1487
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1488
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1489
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1490
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1491
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1492
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1493
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1494
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1495
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1496
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1497
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1498
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1499
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1500
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1501
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1502
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1503
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1504
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1505
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1506
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1507
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1508
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1509
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1510
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1511
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1512
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1513
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1514
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1515
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1516
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1517
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1518
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1519
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1520
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1521
|
+
<span class="cline-any cline-no"> </span>
|
|
1522
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1523
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1524
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1525
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1526
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1527
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1528
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1529
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1530
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1531
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1532
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1533
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1534
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1535
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1536
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1537
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1538
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1539
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1540
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1541
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1542
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1543
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1544
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1545
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1546
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1547
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1548
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1549
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1550
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1551
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1552
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1553
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1554
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1555
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1556
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1557
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1558
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1559
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1560
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1561
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1562
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1563
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1564
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1565
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1566
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1567
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1568
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1569
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1570
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1571
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1572
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1573
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1574
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1575
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1576
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1577
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1578
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1579
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1580
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1581
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1582
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1583
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1584
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1585
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1586
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1587
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1588
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1589
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1590
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1591
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1592
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1593
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1594
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1595
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1596
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1597
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1598
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1599
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1600
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1601
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1602
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1603
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1604
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1605
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1606
|
+
<span class="cline-any cline-no"> </span>
|
|
1607
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1608
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1609
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1610
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1611
|
+
<span class="cline-any cline-no"> </span>
|
|
1612
|
+
<span class="cline-any cline-no"> </span>
|
|
1613
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1614
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1615
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1616
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1617
|
+
<span class="cline-any cline-no"> </span>
|
|
1618
|
+
<span class="cline-any cline-no"> </span>
|
|
1619
|
+
<span class="cline-any cline-no"> </span>
|
|
1620
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1621
|
+
<span class="cline-any cline-no"> </span>
|
|
1622
|
+
<span class="cline-any cline-no"> </span>
|
|
1623
|
+
<span class="cline-any cline-no"> </span>
|
|
1624
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1625
|
+
<span class="cline-any cline-no"> </span>
|
|
1626
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1627
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1628
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1629
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1630
|
+
<span class="cline-any cline-no"> </span>
|
|
1631
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1632
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1633
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1634
|
+
<span class="cline-any cline-no"> </span>
|
|
1635
|
+
<span class="cline-any cline-no"> </span>
|
|
1636
|
+
<span class="cline-any cline-no"> </span>
|
|
1637
|
+
<span class="cline-any cline-no"> </span>
|
|
1638
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1639
|
+
<span class="cline-any cline-no"> </span>
|
|
1640
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1641
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1642
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1643
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1644
|
+
<span class="cline-any cline-no"> </span>
|
|
1645
|
+
<span class="cline-any cline-no"> </span>
|
|
1646
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1647
|
+
<span class="cline-any cline-no"> </span>
|
|
1648
|
+
<span class="cline-any cline-no"> </span>
|
|
1649
|
+
<span class="cline-any cline-no"> </span>
|
|
1650
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1651
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1652
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1653
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1654
|
+
<span class="cline-any cline-no"> </span>
|
|
1655
|
+
<span class="cline-any cline-no"> </span>
|
|
1656
|
+
<span class="cline-any cline-no"> </span>
|
|
1657
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1658
|
+
<span class="cline-any cline-no"> </span>
|
|
1659
|
+
<span class="cline-any cline-no"> </span>
|
|
1660
|
+
<span class="cline-any cline-no"> </span>
|
|
1661
|
+
<span class="cline-any cline-no"> </span>
|
|
1662
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1663
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1664
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1665
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1666
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1667
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1668
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1669
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1670
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1671
|
+
<span class="cline-any cline-no"> </span>
|
|
1672
|
+
<span class="cline-any cline-no"> </span>
|
|
1673
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1674
|
+
<span class="cline-any cline-no"> </span>
|
|
1675
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1676
|
+
<span class="cline-any cline-no"> </span>
|
|
1677
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1678
|
+
<span class="cline-any cline-no"> </span>
|
|
1679
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1680
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1681
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1682
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1683
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1684
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1685
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1686
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1687
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1688
|
+
<span class="cline-any cline-no"> </span>
|
|
1689
|
+
<span class="cline-any cline-no"> </span>
|
|
1690
|
+
<span class="cline-any cline-no"> </span>
|
|
1691
|
+
<span class="cline-any cline-no"> </span>
|
|
1692
|
+
<span class="cline-any cline-no"> </span>
|
|
1693
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1694
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1695
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1696
|
+
<span class="cline-any cline-no"> </span>
|
|
1697
|
+
<span class="cline-any cline-no"> </span>
|
|
1698
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1699
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1700
|
+
<span class="cline-any cline-no"> </span>
|
|
1701
|
+
<span class="cline-any cline-no"> </span>
|
|
1702
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1703
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1704
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1705
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1706
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1707
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1708
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1709
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1710
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1711
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1712
|
+
<span class="cline-any cline-no"> </span>
|
|
1713
|
+
<span class="cline-any cline-no"> </span>
|
|
1714
|
+
<span class="cline-any cline-no"> </span>
|
|
1715
|
+
<span class="cline-any cline-no"> </span>
|
|
1716
|
+
<span class="cline-any cline-no"> </span>
|
|
1717
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1718
|
+
<span class="cline-any cline-no"> </span>
|
|
1719
|
+
<span class="cline-any cline-no"> </span>
|
|
1720
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1721
|
+
<span class="cline-any cline-no"> </span>
|
|
1722
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1723
|
+
<span class="cline-any cline-no"> </span>
|
|
1724
|
+
<span class="cline-any cline-no"> </span>
|
|
1725
|
+
<span class="cline-any cline-no"> </span>
|
|
1726
|
+
<span class="cline-any cline-no"> </span>
|
|
1727
|
+
<span class="cline-any cline-no"> </span>
|
|
1728
|
+
<span class="cline-any cline-no"> </span>
|
|
1729
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1730
|
+
<span class="cline-any cline-no"> </span>
|
|
1731
|
+
<span class="cline-any cline-no"> </span>
|
|
1732
|
+
<span class="cline-any cline-no"> </span>
|
|
1733
|
+
<span class="cline-any cline-no"> </span>
|
|
1734
|
+
<span class="cline-any cline-no"> </span>
|
|
1735
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1736
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1737
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1738
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1739
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1740
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1741
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1742
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1743
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1744
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1745
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1746
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1747
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1748
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1749
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1750
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1751
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1752
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1753
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1754
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1755
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1756
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1757
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1758
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1759
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1760
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1761
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1762
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1763
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1764
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1765
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1766
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1767
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1768
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1769
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1770
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1771
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1772
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1773
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1774
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1775
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1776
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1777
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1778
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1779
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1780
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1781
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1782
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1783
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1784
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1785
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1786
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1787
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1788
|
+
<span class="cline-any cline-no"> </span>
|
|
1789
|
+
<span class="cline-any cline-no"> </span>
|
|
1790
|
+
<span class="cline-any cline-no"> </span>
|
|
1791
|
+
<span class="cline-any cline-no"> </span>
|
|
1792
|
+
<span class="cline-any cline-no"> </span>
|
|
1793
|
+
<span class="cline-any cline-no"> </span>
|
|
1794
|
+
<span class="cline-any cline-no"> </span>
|
|
1795
|
+
<span class="cline-any cline-no"> </span>
|
|
1796
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1797
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1798
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1799
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1800
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1801
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1802
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1803
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1804
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1805
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1806
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1807
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1808
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1809
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1810
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1811
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1812
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1813
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1814
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1815
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1816
|
+
<span class="cline-any cline-no"> </span>
|
|
1817
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1818
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1819
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1820
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1821
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1822
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1823
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1824
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1825
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1826
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1827
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1828
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1829
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1830
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1831
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1832
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1833
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1834
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1835
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1836
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1837
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1838
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1839
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1840
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1841
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1842
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1843
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1844
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1845
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1846
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1847
|
+
<span class="cline-any cline-no"> </span>
|
|
1848
|
+
<span class="cline-any cline-no"> </span>
|
|
1849
|
+
<span class="cline-any cline-no"> </span>
|
|
1850
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1851
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1852
|
+
<span class="cline-any cline-no"> </span>
|
|
1853
|
+
<span class="cline-any cline-no"> </span>
|
|
1854
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1855
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1856
|
+
<span class="cline-any cline-no"> </span>
|
|
1857
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1858
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1859
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1860
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1861
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1862
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1863
|
+
<span class="cline-any cline-no"> </span>
|
|
1864
|
+
<span class="cline-any cline-no"> </span>
|
|
1865
|
+
<span class="cline-any cline-no"> </span>
|
|
1866
|
+
<span class="cline-any cline-no"> </span>
|
|
1867
|
+
<span class="cline-any cline-no"> </span>
|
|
1868
|
+
<span class="cline-any cline-no"> </span>
|
|
1869
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1870
|
+
<span class="cline-any cline-no"> </span>
|
|
1871
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1872
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1873
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1874
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1875
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1876
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1877
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1878
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1879
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1880
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1881
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1882
|
+
<span class="cline-any cline-no"> </span>
|
|
1883
|
+
<span class="cline-any cline-no"> </span>
|
|
1884
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1885
|
+
<span class="cline-any cline-no"> </span>
|
|
1886
|
+
<span class="cline-any cline-no"> </span>
|
|
1887
|
+
<span class="cline-any cline-no"> </span>
|
|
1888
|
+
<span class="cline-any cline-no"> </span>
|
|
1889
|
+
<span class="cline-any cline-no"> </span>
|
|
1890
|
+
<span class="cline-any cline-no"> </span>
|
|
1891
|
+
<span class="cline-any cline-no"> </span>
|
|
1892
|
+
<span class="cline-any cline-no"> </span>
|
|
1893
|
+
<span class="cline-any cline-no"> </span>
|
|
1894
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1895
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1896
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1897
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1898
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1899
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1900
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1901
|
+
<span class="cline-any cline-no"> </span>
|
|
1902
|
+
<span class="cline-any cline-no"> </span>
|
|
1903
|
+
<span class="cline-any cline-no"> </span>
|
|
1904
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1905
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1906
|
+
<span class="cline-any cline-no"> </span>
|
|
1907
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1908
|
+
<span class="cline-any cline-no"> </span>
|
|
1909
|
+
<span class="cline-any cline-no"> </span>
|
|
1910
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1911
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1912
|
+
<span class="cline-any cline-no"> </span>
|
|
1913
|
+
<span class="cline-any cline-no"> </span>
|
|
1914
|
+
<span class="cline-any cline-no"> </span>
|
|
1915
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1916
|
+
<span class="cline-any cline-no"> </span>
|
|
1917
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1918
|
+
<span class="cline-any cline-no"> </span>
|
|
1919
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1920
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1921
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1922
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1923
|
+
<span class="cline-any cline-no"> </span>
|
|
1924
|
+
<span class="cline-any cline-no"> </span>
|
|
1925
|
+
<span class="cline-any cline-no"> </span>
|
|
1926
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1927
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1928
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1929
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1930
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1931
|
+
<span class="cline-any cline-no"> </span>
|
|
1932
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1933
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1934
|
+
<span class="cline-any cline-no"> </span>
|
|
1935
|
+
<span class="cline-any cline-no"> </span>
|
|
1936
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1937
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1938
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1939
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1940
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1941
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1942
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1943
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1944
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1945
|
+
<span class="cline-any cline-no"> </span>
|
|
1946
|
+
<span class="cline-any cline-no"> </span>
|
|
1947
|
+
<span class="cline-any cline-no"> </span>
|
|
1948
|
+
<span class="cline-any cline-no"> </span>
|
|
1949
|
+
<span class="cline-any cline-no"> </span>
|
|
1950
|
+
<span class="cline-any cline-no"> </span>
|
|
1951
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1952
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1953
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1954
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1955
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1956
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1957
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1958
|
+
<span class="cline-any cline-no"> </span>
|
|
1959
|
+
<span class="cline-any cline-no"> </span>
|
|
1960
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1961
|
+
<span class="cline-any cline-no"> </span>
|
|
1962
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1963
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1964
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1965
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1966
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1967
|
+
<span class="cline-any cline-no"> </span>
|
|
1968
|
+
<span class="cline-any cline-no"> </span>
|
|
1969
|
+
<span class="cline-any cline-no"> </span>
|
|
1970
|
+
<span class="cline-any cline-no"> </span>
|
|
1971
|
+
<span class="cline-any cline-no"> </span>
|
|
1972
|
+
<span class="cline-any cline-no"> </span>
|
|
1973
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1974
|
+
<span class="cline-any cline-no"> </span>
|
|
1975
|
+
<span class="cline-any cline-no"> </span>
|
|
1976
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1977
|
+
<span class="cline-any cline-no"> </span>
|
|
1978
|
+
<span class="cline-any cline-no"> </span>
|
|
1979
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1980
|
+
<span class="cline-any cline-no"> </span>
|
|
1981
|
+
<span class="cline-any cline-no"> </span>
|
|
1982
|
+
<span class="cline-any cline-no"> </span>
|
|
1983
|
+
<span class="cline-any cline-no"> </span>
|
|
1984
|
+
<span class="cline-any cline-no"> </span>
|
|
1985
|
+
<span class="cline-any cline-no"> </span>
|
|
1986
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1987
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1988
|
+
<span class="cline-any cline-no"> </span>
|
|
1989
|
+
<span class="cline-any cline-no"> </span>
|
|
1990
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1991
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1992
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1993
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1994
|
+
<span class="cline-any cline-no"> </span>
|
|
1995
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1996
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1997
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1998
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1999
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2000
|
+
<span class="cline-any cline-no"> </span>
|
|
2001
|
+
<span class="cline-any cline-no"> </span>
|
|
2002
|
+
<span class="cline-any cline-no"> </span>
|
|
2003
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2004
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2005
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2006
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2007
|
+
<span class="cline-any cline-no"> </span>
|
|
2008
|
+
<span class="cline-any cline-no"> </span>
|
|
2009
|
+
<span class="cline-any cline-no"> </span>
|
|
2010
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2011
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2012
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2013
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2014
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2015
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2016
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2017
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2018
|
+
<span class="cline-any cline-no"> </span>
|
|
2019
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2020
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2021
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2022
|
+
<span class="cline-any cline-no"> </span>
|
|
2023
|
+
<span class="cline-any cline-no"> </span>
|
|
2024
|
+
<span class="cline-any cline-no"> </span>
|
|
2025
|
+
<span class="cline-any cline-no"> </span>
|
|
2026
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2027
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2028
|
+
<span class="cline-any cline-no"> </span>
|
|
2029
|
+
<span class="cline-any cline-no"> </span>
|
|
2030
|
+
<span class="cline-any cline-no"> </span>
|
|
2031
|
+
<span class="cline-any cline-no"> </span>
|
|
2032
|
+
<span class="cline-any cline-no"> </span>
|
|
2033
|
+
<span class="cline-any cline-no"> </span>
|
|
2034
|
+
<span class="cline-any cline-no"> </span>
|
|
2035
|
+
<span class="cline-any cline-no"> </span>
|
|
2036
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2037
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2038
|
+
<span class="cline-any cline-no"> </span>
|
|
2039
|
+
<span class="cline-any cline-no"> </span>
|
|
2040
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2041
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2042
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2043
|
+
<span class="cline-any cline-no"> </span>
|
|
2044
|
+
<span class="cline-any cline-no"> </span>
|
|
2045
|
+
<span class="cline-any cline-no"> </span>
|
|
2046
|
+
<span class="cline-any cline-no"> </span>
|
|
2047
|
+
<span class="cline-any cline-no"> </span>
|
|
2048
|
+
<span class="cline-any cline-no"> </span>
|
|
2049
|
+
<span class="cline-any cline-no"> </span>
|
|
2050
|
+
<span class="cline-any cline-no"> </span>
|
|
2051
|
+
<span class="cline-any cline-no"> </span>
|
|
2052
|
+
<span class="cline-any cline-no"> </span>
|
|
2053
|
+
<span class="cline-any cline-no"> </span>
|
|
2054
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2055
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2056
|
+
<span class="cline-any cline-no"> </span>
|
|
2057
|
+
<span class="cline-any cline-no"> </span>
|
|
2058
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2059
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2060
|
+
<span class="cline-any cline-no"> </span>
|
|
2061
|
+
<span class="cline-any cline-no"> </span>
|
|
2062
|
+
<span class="cline-any cline-no"> </span>
|
|
2063
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2064
|
+
<span class="cline-any cline-no"> </span>
|
|
2065
|
+
<span class="cline-any cline-no"> </span>
|
|
2066
|
+
<span class="cline-any cline-no"> </span>
|
|
2067
|
+
<span class="cline-any cline-no"> </span>
|
|
2068
|
+
<span class="cline-any cline-no"> </span>
|
|
2069
|
+
<span class="cline-any cline-no"> </span>
|
|
2070
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2071
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2072
|
+
<span class="cline-any cline-no"> </span>
|
|
2073
|
+
<span class="cline-any cline-no"> </span>
|
|
2074
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2075
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2076
|
+
<span class="cline-any cline-no"> </span>
|
|
2077
|
+
<span class="cline-any cline-no"> </span>
|
|
2078
|
+
<span class="cline-any cline-no"> </span>
|
|
2079
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2080
|
+
<span class="cline-any cline-no"> </span>
|
|
2081
|
+
<span class="cline-any cline-no"> </span>
|
|
2082
|
+
<span class="cline-any cline-no"> </span>
|
|
2083
|
+
<span class="cline-any cline-no"> </span>
|
|
2084
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2085
|
+
<span class="cline-any cline-no"> </span>
|
|
2086
|
+
<span class="cline-any cline-no"> </span>
|
|
2087
|
+
<span class="cline-any cline-no"> </span>
|
|
2088
|
+
<span class="cline-any cline-no"> </span>
|
|
2089
|
+
<span class="cline-any cline-no"> </span>
|
|
2090
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2091
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2092
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2093
|
+
<span class="cline-any cline-no"> </span>
|
|
2094
|
+
<span class="cline-any cline-no"> </span>
|
|
2095
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2096
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2097
|
+
<span class="cline-any cline-no"> </span>
|
|
2098
|
+
<span class="cline-any cline-no"> </span>
|
|
2099
|
+
<span class="cline-any cline-no"> </span>
|
|
2100
|
+
<span class="cline-any cline-no"> </span>
|
|
2101
|
+
<span class="cline-any cline-no"> </span>
|
|
2102
|
+
<span class="cline-any cline-no"> </span>
|
|
2103
|
+
<span class="cline-any cline-no"> </span>
|
|
2104
|
+
<span class="cline-any cline-no"> </span>
|
|
2105
|
+
<span class="cline-any cline-no"> </span>
|
|
2106
|
+
<span class="cline-any cline-no"> </span>
|
|
2107
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2108
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2109
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2110
|
+
<span class="cline-any cline-no"> </span>
|
|
2111
|
+
<span class="cline-any cline-no"> </span>
|
|
2112
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2113
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2114
|
+
<span class="cline-any cline-no"> </span>
|
|
2115
|
+
<span class="cline-any cline-no"> </span>
|
|
2116
|
+
<span class="cline-any cline-no"> </span>
|
|
2117
|
+
<span class="cline-any cline-no"> </span>
|
|
2118
|
+
<span class="cline-any cline-no"> </span>
|
|
2119
|
+
<span class="cline-any cline-no"> </span>
|
|
2120
|
+
<span class="cline-any cline-no"> </span>
|
|
2121
|
+
<span class="cline-any cline-no"> </span>
|
|
2122
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2123
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2124
|
+
<span class="cline-any cline-no"> </span>
|
|
2125
|
+
<span class="cline-any cline-no"> </span>
|
|
2126
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2127
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2128
|
+
<span class="cline-any cline-no"> </span>
|
|
2129
|
+
<span class="cline-any cline-no"> </span>
|
|
2130
|
+
<span class="cline-any cline-no"> </span>
|
|
2131
|
+
<span class="cline-any cline-no"> </span>
|
|
2132
|
+
<span class="cline-any cline-no"> </span>
|
|
2133
|
+
<span class="cline-any cline-no"> </span>
|
|
2134
|
+
<span class="cline-any cline-no"> </span>
|
|
2135
|
+
<span class="cline-any cline-no"> </span>
|
|
2136
|
+
<span class="cline-any cline-no"> </span>
|
|
2137
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2138
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2139
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2140
|
+
<span class="cline-any cline-no"> </span>
|
|
2141
|
+
<span class="cline-any cline-no"> </span>
|
|
2142
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2143
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2144
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2145
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2146
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2147
|
+
<span class="cline-any cline-no"> </span>
|
|
2148
|
+
<span class="cline-any cline-no"> </span>
|
|
2149
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2150
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2151
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2152
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2153
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2154
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2155
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2156
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2157
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2158
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2159
|
+
<span class="cline-any cline-no"> </span>
|
|
2160
|
+
<span class="cline-any cline-no"> </span>
|
|
2161
|
+
<span class="cline-any cline-no"> </span>
|
|
2162
|
+
<span class="cline-any cline-no"> </span>
|
|
2163
|
+
<span class="cline-any cline-no"> </span>
|
|
2164
|
+
<span class="cline-any cline-no"> </span>
|
|
2165
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2166
|
+
<span class="cline-any cline-no"> </span>
|
|
2167
|
+
<span class="cline-any cline-no"> </span>
|
|
2168
|
+
<span class="cline-any cline-no"> </span>
|
|
2169
|
+
<span class="cline-any cline-no"> </span>
|
|
2170
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2171
|
+
<span class="cline-any cline-no"> </span>
|
|
2172
|
+
<span class="cline-any cline-no"> </span>
|
|
2173
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2174
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2175
|
+
<span class="cline-any cline-no"> </span>
|
|
2176
|
+
<span class="cline-any cline-no"> </span>
|
|
2177
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2178
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2179
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2180
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2181
|
+
<span class="cline-any cline-no"> </span>
|
|
2182
|
+
<span class="cline-any cline-no"> </span>
|
|
2183
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2184
|
+
<span class="cline-any cline-no"> </span>
|
|
2185
|
+
<span class="cline-any cline-no"> </span>
|
|
2186
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2187
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2188
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2189
|
+
<span class="cline-any cline-no"> </span>
|
|
2190
|
+
<span class="cline-any cline-no"> </span>
|
|
2191
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2192
|
+
<span class="cline-any cline-no"> </span>
|
|
2193
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2194
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2195
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2196
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2197
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2198
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2199
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2200
|
+
<span class="cline-any cline-no"> </span>
|
|
2201
|
+
<span class="cline-any cline-no"> </span>
|
|
2202
|
+
<span class="cline-any cline-no"> </span>
|
|
2203
|
+
<span class="cline-any cline-no"> </span>
|
|
2204
|
+
<span class="cline-any cline-no"> </span>
|
|
2205
|
+
<span class="cline-any cline-no"> </span>
|
|
2206
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2207
|
+
<span class="cline-any cline-no"> </span>
|
|
2208
|
+
<span class="cline-any cline-no"> </span>
|
|
2209
|
+
<span class="cline-any cline-no"> </span>
|
|
2210
|
+
<span class="cline-any cline-no"> </span>
|
|
2211
|
+
<span class="cline-any cline-no"> </span>
|
|
2212
|
+
<span class="cline-any cline-no"> </span>
|
|
2213
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2214
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2215
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2216
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2217
|
+
<span class="cline-any cline-no"> </span>
|
|
2218
|
+
<span class="cline-any cline-no"> </span>
|
|
2219
|
+
<span class="cline-any cline-no"> </span>
|
|
2220
|
+
<span class="cline-any cline-no"> </span>
|
|
2221
|
+
<span class="cline-any cline-no"> </span>
|
|
2222
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2223
|
+
<span class="cline-any cline-no"> </span>
|
|
2224
|
+
<span class="cline-any cline-no"> </span>
|
|
2225
|
+
<span class="cline-any cline-no"> </span>
|
|
2226
|
+
<span class="cline-any cline-no"> </span>
|
|
2227
|
+
<span class="cline-any cline-no"> </span>
|
|
2228
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2229
|
+
<span class="cline-any cline-no"> </span>
|
|
2230
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2231
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2232
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2233
|
+
<span class="cline-any cline-no"> </span>
|
|
2234
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2235
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2236
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2237
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2238
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2239
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2240
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2241
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2242
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2243
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2244
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2245
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2246
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2247
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2248
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2249
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2250
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2251
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2252
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2253
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2254
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2255
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2256
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2257
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2258
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2259
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2260
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2261
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2262
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2263
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2264
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2265
|
+
<span class="cline-any cline-no"> </span>
|
|
2266
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2267
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2268
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2269
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2270
|
+
<span class="cline-any cline-no"> </span>
|
|
2271
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2272
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2273
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2274
|
+
<span class="cline-any cline-no"> </span>
|
|
2275
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2276
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2277
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2278
|
+
<span class="cline-any cline-no"> </span>
|
|
2279
|
+
<span class="cline-any cline-no"> </span>
|
|
2280
|
+
<span class="cline-any cline-no"> </span>
|
|
2281
|
+
<span class="cline-any cline-no"> </span>
|
|
2282
|
+
<span class="cline-any cline-no"> </span>
|
|
2283
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2284
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2285
|
+
<span class="cline-any cline-no"> </span>
|
|
2286
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2287
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2288
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2289
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2290
|
+
<span class="cline-any cline-no"> </span>
|
|
2291
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2292
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2293
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2294
|
+
<span class="cline-any cline-no"> </span>
|
|
2295
|
+
<span class="cline-any cline-no"> </span>
|
|
2296
|
+
<span class="cline-any cline-no"> </span>
|
|
2297
|
+
<span class="cline-any cline-no"> </span>
|
|
2298
|
+
<span class="cline-any cline-no"> </span>
|
|
2299
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2300
|
+
<span class="cline-any cline-no"> </span>
|
|
2301
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2302
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2303
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2304
|
+
<span class="cline-any cline-no"> </span>
|
|
2305
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2306
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2307
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2308
|
+
<span class="cline-any cline-no"> </span>
|
|
2309
|
+
<span class="cline-any cline-no"> </span>
|
|
2310
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2311
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2312
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2313
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2314
|
+
<span class="cline-any cline-no"> </span>
|
|
2315
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2316
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2317
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2318
|
+
<span class="cline-any cline-no"> </span>
|
|
2319
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2320
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2321
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2322
|
+
<span class="cline-any cline-no"> </span>
|
|
2323
|
+
<span class="cline-any cline-no"> </span>
|
|
2324
|
+
<span class="cline-any cline-no"> </span>
|
|
2325
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2326
|
+
<span class="cline-any cline-no"> </span>
|
|
2327
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2328
|
+
<span class="cline-any cline-no"> </span>
|
|
2329
|
+
<span class="cline-any cline-no"> </span>
|
|
2330
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2331
|
+
<span class="cline-any cline-no"> </span>
|
|
2332
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2333
|
+
<span class="cline-any cline-no"> </span>
|
|
2334
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2335
|
+
<span class="cline-any cline-no"> </span>
|
|
2336
|
+
<span class="cline-any cline-no"> </span>
|
|
2337
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2338
|
+
<span class="cline-any cline-no"> </span>
|
|
2339
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2340
|
+
<span class="cline-any cline-no"> </span>
|
|
2341
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2342
|
+
<span class="cline-any cline-no"> </span>
|
|
2343
|
+
<span class="cline-any cline-no"> </span>
|
|
2344
|
+
<span class="cline-any cline-no"> </span>
|
|
2345
|
+
<span class="cline-any cline-no"> </span>
|
|
2346
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2347
|
+
<span class="cline-any cline-no"> </span>
|
|
2348
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2349
|
+
<span class="cline-any cline-no"> </span>
|
|
2350
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2351
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2352
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2353
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2354
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2355
|
+
<span class="cline-any cline-no"> </span>
|
|
2356
|
+
<span class="cline-any cline-no"> </span>
|
|
2357
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2358
|
+
<span class="cline-any cline-no"> </span>
|
|
2359
|
+
<span class="cline-any cline-no"> </span>
|
|
2360
|
+
<span class="cline-any cline-no"> </span>
|
|
2361
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2362
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2363
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2364
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2365
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2366
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2367
|
+
<span class="cline-any cline-no"> </span>
|
|
2368
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2369
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2370
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2371
|
+
<span class="cline-any cline-no"> </span>
|
|
2372
|
+
<span class="cline-any cline-no"> </span>
|
|
2373
|
+
<span class="cline-any cline-no"> </span>
|
|
2374
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2375
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2376
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2377
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2378
|
+
<span class="cline-any cline-no"> </span>
|
|
2379
|
+
<span class="cline-any cline-no"> </span>
|
|
2380
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2381
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2382
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2383
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2384
|
+
<span class="cline-any cline-no"> </span>
|
|
2385
|
+
<span class="cline-any cline-no"> </span>
|
|
2386
|
+
<span class="cline-any cline-no"> </span>
|
|
2387
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2388
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2389
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2390
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2391
|
+
<span class="cline-any cline-no"> </span>
|
|
2392
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2393
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2394
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2395
|
+
<span class="cline-any cline-no"> </span>
|
|
2396
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2397
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2398
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2399
|
+
<span class="cline-any cline-no"> </span>
|
|
2400
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2401
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2402
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2403
|
+
<span class="cline-any cline-no"> </span>
|
|
2404
|
+
<span class="cline-any cline-no"> </span>
|
|
2405
|
+
<span class="cline-any cline-no"> </span>
|
|
2406
|
+
<span class="cline-any cline-no"> </span>
|
|
2407
|
+
<span class="cline-any cline-no"> </span>
|
|
2408
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2409
|
+
<span class="cline-any cline-no"> </span>
|
|
2410
|
+
<span class="cline-any cline-no"> </span>
|
|
2411
|
+
<span class="cline-any cline-no"> </span>
|
|
2412
|
+
<span class="cline-any cline-no"> </span>
|
|
2413
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2414
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2415
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2416
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2417
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2418
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2419
|
+
<span class="cline-any cline-no"> </span>
|
|
2420
|
+
<span class="cline-any cline-no"> </span>
|
|
2421
|
+
<span class="cline-any cline-no"> </span>
|
|
2422
|
+
<span class="cline-any cline-no"> </span>
|
|
2423
|
+
<span class="cline-any cline-no"> </span>
|
|
2424
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2425
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2426
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2427
|
+
<span class="cline-any cline-no"> </span>
|
|
2428
|
+
<span class="cline-any cline-no"> </span>
|
|
2429
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2430
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2431
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2432
|
+
<span class="cline-any cline-no"> </span>
|
|
2433
|
+
<span class="cline-any cline-no"> </span>
|
|
2434
|
+
<span class="cline-any cline-no"> </span>
|
|
2435
|
+
<span class="cline-any cline-no"> </span>
|
|
2436
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2437
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2438
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2439
|
+
<span class="cline-any cline-no"> </span>
|
|
2440
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2441
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2442
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2443
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2444
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2445
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2446
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2447
|
+
<span class="cline-any cline-no"> </span>
|
|
2448
|
+
<span class="cline-any cline-no"> </span>
|
|
2449
|
+
<span class="cline-any cline-no"> </span>
|
|
2450
|
+
<span class="cline-any cline-no"> </span>
|
|
2451
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2452
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2453
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2454
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2455
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2456
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2457
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2458
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2459
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2460
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2461
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2462
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2463
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2464
|
+
<span class="cline-any cline-no"> </span>
|
|
2465
|
+
<span class="cline-any cline-no"> </span>
|
|
2466
|
+
<span class="cline-any cline-no"> </span>
|
|
2467
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2468
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2469
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2470
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2471
|
+
<span class="cline-any cline-no"> </span>
|
|
2472
|
+
<span class="cline-any cline-no"> </span>
|
|
2473
|
+
<span class="cline-any cline-no"> </span>
|
|
2474
|
+
<span class="cline-any cline-no"> </span>
|
|
2475
|
+
<span class="cline-any cline-no"> </span>
|
|
2476
|
+
<span class="cline-any cline-no"> </span>
|
|
2477
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2478
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2479
|
+
<span class="cline-any cline-no"> </span>
|
|
2480
|
+
<span class="cline-any cline-no"> </span>
|
|
2481
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2482
|
+
<span class="cline-any cline-no"> </span>
|
|
2483
|
+
<span class="cline-any cline-no"> </span>
|
|
2484
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2485
|
+
<span class="cline-any cline-no"> </span>
|
|
2486
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2487
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2488
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2489
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2490
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2491
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2492
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2493
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2494
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2495
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2496
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2497
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2498
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2499
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2500
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2501
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2502
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2503
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2504
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2505
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2506
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2507
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2508
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2509
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2510
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2511
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2512
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2513
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2514
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2515
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2516
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2517
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2518
|
+
<span class="cline-any cline-no"> </span>
|
|
2519
|
+
<span class="cline-any cline-no"> </span>
|
|
2520
|
+
<span class="cline-any cline-no"> </span>
|
|
2521
|
+
<span class="cline-any cline-no"> </span>
|
|
2522
|
+
<span class="cline-any cline-no"> </span>
|
|
2523
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2524
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2525
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2526
|
+
<span class="cline-any cline-no"> </span>
|
|
2527
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2528
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2529
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2530
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2531
|
+
<span class="cline-any cline-no"> </span>
|
|
2532
|
+
<span class="cline-any cline-no"> </span>
|
|
2533
|
+
<span class="cline-any cline-no"> </span>
|
|
2534
|
+
<span class="cline-any cline-no"> </span>
|
|
2535
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2536
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2537
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2538
|
+
<span class="cline-any cline-no"> </span>
|
|
2539
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2540
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2541
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2542
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2543
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2544
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2545
|
+
<span class="cline-any cline-no"> </span>
|
|
2546
|
+
<span class="cline-any cline-no"> </span>
|
|
2547
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2548
|
+
<span class="cline-any cline-no"> </span>
|
|
2549
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2550
|
+
<span class="cline-any cline-no"> </span>
|
|
2551
|
+
<span class="cline-any cline-no"> </span>
|
|
2552
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2553
|
+
<span class="cline-any cline-no"> </span>
|
|
2554
|
+
<span class="cline-any cline-no"> </span>
|
|
2555
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2556
|
+
<span class="cline-any cline-no"> </span>
|
|
2557
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2558
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2559
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2560
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2561
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2562
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2563
|
+
<span class="cline-any cline-no"> </span>
|
|
2564
|
+
<span class="cline-any cline-no"> </span>
|
|
2565
|
+
<span class="cline-any cline-no"> </span>
|
|
2566
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2567
|
+
<span class="cline-any cline-no"> </span>
|
|
2568
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2569
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2570
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2571
|
+
<span class="cline-any cline-no"> </span>
|
|
2572
|
+
<span class="cline-any cline-no"> </span>
|
|
2573
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2574
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2575
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2576
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2577
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2578
|
+
<span class="cline-any cline-no"> </span>
|
|
2579
|
+
<span class="cline-any cline-no"> </span>
|
|
2580
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2581
|
+
<span class="cline-any cline-no"> </span>
|
|
2582
|
+
<span class="cline-any cline-no"> </span>
|
|
2583
|
+
<span class="cline-any cline-no"> </span>
|
|
2584
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2585
|
+
<span class="cline-any cline-no"> </span>
|
|
2586
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2587
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2588
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2589
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2590
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { ChatManager } from 'src/chat21-core/providers/chat-manager';
|
|
2591
|
+
|
|
2592
|
+
import { ConversationFooterComponent } from './../conversation-footer/conversation-footer.component';
|
|
2593
|
+
|
|
2594
|
+
// tslint:disable-next-line:max-line-length
|
|
2595
|
+
import { ElementRef, Component, OnInit, OnChanges, AfterViewInit, Input, Output, ViewChild, EventEmitter, SimpleChanges, ChangeDetectorRef } from '@angular/core';
|
|
2596
|
+
import { Subscription } from 'rxjs';
|
|
2597
|
+
|
|
2598
|
+
import {
|
|
2599
|
+
CHANNEL_TYPE_DIRECT, CHANNEL_TYPE_GROUP, TYPE_MSG_TEXT,
|
|
2600
|
+
MSG_STATUS_SENT, MSG_STATUS_RETURN_RECEIPT, MSG_STATUS_SENT_SERVER,
|
|
2601
|
+
UID_SUPPORT_GROUP_MESSAGES
|
|
2602
|
+
} from 'src/app/utils/constants';
|
|
2603
|
+
|
|
2604
|
+
// models
|
|
2605
|
+
|
|
2606
|
+
import { MessageModel } from 'src/chat21-core/models/message';
|
|
2607
|
+
|
|
2608
|
+
// utils
|
|
2609
|
+
import { isJustRecived, isPopupUrl} from 'src/app/utils/utils';
|
|
2610
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
2611
|
+
|
|
2612
|
+
|
|
2613
|
+
// Import the resized event model
|
|
2614
|
+
|
|
2615
|
+
import {DomSanitizer} from '@angular/platform-browser';
|
|
2616
|
+
|
|
2617
|
+
import { AppComponent } from '../../../app.component';
|
|
2618
|
+
import { CustomTranslateService } from 'src/chat21-core/providers/custom-translate.service';
|
|
2619
|
+
import { ConversationHandlerService } from 'src/chat21-core/providers/abstract/conversation-handler.service';
|
|
2620
|
+
import { ConversationHandlerBuilderService } from 'src/chat21-core/providers/abstract/conversation-handler-builder.service';
|
|
2621
|
+
import { getDateDifference, getFromNow, popupUrl } from 'src/chat21-core/utils/utils';
|
|
2622
|
+
import { ConversationContentComponent } from '../conversation-content/conversation-content.component';
|
|
2623
|
+
import { ConversationsHandlerService } from 'src/chat21-core/providers/abstract/conversations-handler.service';
|
|
2624
|
+
import { ArchivedConversationsHandlerService } from 'src/chat21-core/providers/abstract/archivedconversations-handler.service';
|
|
2625
|
+
import { ConversationModel } from 'src/chat21-core/models/conversation';
|
|
2626
|
+
import { AppStorageService } from 'src/chat21-core/providers/abstract/app-storage.service';
|
|
2627
|
+
import { LoggerService } from 'src/chat21-core/providers/abstract/logger.service';
|
|
2628
|
+
import { LoggerInstance } from 'src/chat21-core/providers/logger/loggerInstance';
|
|
2629
|
+
import { takeUntil } from 'rxjs/operators';
|
|
2630
|
+
import { Subject } from 'rxjs';
|
|
2631
|
+
import { TypingService } from 'src/chat21-core/providers/abstract/typing.service';
|
|
2632
|
+
import { Globals } from 'src/app/utils/globals';
|
|
2633
|
+
import { AppConfigService } from 'src/app/providers/app-config.service';
|
|
2634
|
+
import { StarRatingWidgetService } from 'src/app/providers/star-rating-widget.service';
|
|
2635
|
+
import { TiledeskRequestsService } from 'src/chat21-core/providers/tiledesk/tiledesk-requests.service';
|
|
2636
|
+
import moment from 'moment';
|
|
2637
|
+
import { isUserBanned } from 'src/chat21-core/utils/utils-message';
|
|
2638
|
+
// import { TranslateService } from '@ngx-translate/core';
|
|
2639
|
+
|
|
2640
|
+
@Component({
|
|
2641
|
+
selector: 'chat-conversation',
|
|
2642
|
+
templateUrl: './conversation.component.html',
|
|
2643
|
+
styleUrls: ['./conversation.component.scss'],
|
|
2644
|
+
// tslint:disable-next-line:use-host-property-decorator
|
|
2645
|
+
host: {'(window:resize)': 'onResize($event)'}
|
|
2646
|
+
})
|
|
2647
|
+
export class ConversationComponent implements OnInit, AfterViewInit, OnChanges {
|
|
2648
|
+
@ViewChild('afConversationComponent') private afConversationComponent: ElementRef; // l'ID del div da scrollare
|
|
2649
|
+
// @HostListener('window:resize', ['$event'])
|
|
2650
|
+
// ========= begin:: Input/Output values
|
|
2651
|
+
// @Input() elRoot: ElementRef;
|
|
2652
|
+
@Input() conversationId: string;
|
|
2653
|
+
@Input() stylesMap: Map<string, string>;
|
|
2654
|
+
@Input() isOpen: boolean;
|
|
2655
|
+
@Input() senderId: string; // uid utente ex: JHFFkYk2RBUn87LCWP2WZ546M7d2
|
|
2656
|
+
@Input() isConversationArchived: boolean;
|
|
2657
|
+
@Output() onBackHome = new EventEmitter();
|
|
2658
|
+
@Output() onCloseWidget = new EventEmitter();
|
|
2659
|
+
@Output() onSoundChange = new EventEmitter();
|
|
2660
|
+
@Output() onConversationClosed = new EventEmitter<string>()
|
|
2661
|
+
@Output() onSignOut = new EventEmitter();
|
|
2662
|
+
@Output() onBeforeMessageSent = new EventEmitter();
|
|
2663
|
+
@Output() onAfterSendMessage = new EventEmitter<MessageModel>();
|
|
2664
|
+
@Output() onNewConversationInit = new EventEmitter();
|
|
2665
|
+
@Output() onBeforeMessageRender = new EventEmitter();
|
|
2666
|
+
@Output() onAfterMessageRender = new EventEmitter();
|
|
2667
|
+
@Output() onNewMessageCreated = new EventEmitter();
|
|
2668
|
+
@Output() onNewConversationButtonClicked = new EventEmitter();
|
|
2669
|
+
// ========= end:: Input/Output values
|
|
2670
|
+
|
|
2671
|
+
// projectid: string; // uid progetto passato come parametro getVariablesFromSettings o getVariablesFromAttributeHtml
|
|
2672
|
+
// channelType: string; // tipo di conversazione ( group / direct ) a seconda che recipientId contenga o meno 'group'
|
|
2673
|
+
// writingMessage = ''; // messaggio sta scrivendo...
|
|
2674
|
+
// isTypings = false;
|
|
2675
|
+
conversation: ConversationModel
|
|
2676
|
+
conversationWith: string;
|
|
2677
|
+
isMenuShow = false;
|
|
2678
|
+
isEmojiiPickerShow: boolean = false;
|
|
2679
|
+
|
|
2680
|
+
isButtonsDisabled = true;
|
|
2681
|
+
// isConversationArchived = false;
|
|
2682
|
+
hideFooterTextReply: boolean = false;
|
|
2683
|
+
hideTextAreaContent: boolean = false;
|
|
2684
|
+
footerMessagePlaceholder: string = '';
|
|
2685
|
+
textInputTextArea: String;
|
|
2686
|
+
isTrascriptDownloadEnabled = false;
|
|
2687
|
+
showContinueConversationButton: boolean = false
|
|
2688
|
+
// ========= begin:: gestione scroll view messaggi ======= //
|
|
2689
|
+
//startScroll = true; // indica lo stato dello scroll: true/false -> è in movimento/ è fermo
|
|
2690
|
+
isScrolling = false;
|
|
2691
|
+
idDivScroll = 'c21-contentScroll'; // id div da scrollare
|
|
2692
|
+
showBadgeScroollToBottom = false;
|
|
2693
|
+
messagesBadgeCount = 0;
|
|
2694
|
+
// ========= end:: gestione scroll view messaggi ======= //
|
|
2695
|
+
|
|
2696
|
+
|
|
2697
|
+
// ========= begin:: send image ======= //
|
|
2698
|
+
selectedFiles: FileList;
|
|
2699
|
+
// isFilePendingToUpload: Boolean = false;
|
|
2700
|
+
arrayFilesLoad: Array<any>;
|
|
2701
|
+
isFileSelected: Boolean = false;
|
|
2702
|
+
|
|
2703
|
+
isOpenAttachmentPreview: Boolean = false;
|
|
2704
|
+
attachments: Array<{ file: Array<any>, metadata: {}}>
|
|
2705
|
+
|
|
2706
|
+
|
|
2707
|
+
|
|
2708
|
+
isPopupUrl = isPopupUrl;
|
|
2709
|
+
popupUrl = popupUrl;
|
|
2710
|
+
|
|
2711
|
+
// availableAgentsStatus = false; // indica quando è impostato lo stato degli agenti nel subscribe
|
|
2712
|
+
messages: Array<MessageModel> = [];
|
|
2713
|
+
|
|
2714
|
+
|
|
2715
|
+
CLIENT_BROWSER: string = navigator.userAgent;
|
|
2716
|
+
|
|
2717
|
+
// devo inserirle nel globals
|
|
2718
|
+
subscriptions: Array<any> = [];
|
|
2719
|
+
private unsubscribe$: Subject<any> = new Subject<any>();
|
|
2720
|
+
showMessageWelcome: boolean;
|
|
2721
|
+
|
|
2722
|
+
// ========= begin::agent availability
|
|
2723
|
+
// public areAgentsAvailableText: string;
|
|
2724
|
+
// public areAgentsAvailable: Boolean = false;
|
|
2725
|
+
// ========= end::agent availability
|
|
2726
|
+
|
|
2727
|
+
|
|
2728
|
+
isIE = /msie\s|trident\//i.test(window.navigator.userAgent);
|
|
2729
|
+
firstScroll = true;
|
|
2730
|
+
|
|
2731
|
+
tooltipOptions = {
|
|
2732
|
+
'show-delay': 1500,
|
|
2733
|
+
'tooltip-class': 'chat-tooltip',
|
|
2734
|
+
'theme': 'light',
|
|
2735
|
+
'shadow': false,
|
|
2736
|
+
'hide-delay-mobile': 0,
|
|
2737
|
+
'hideDelayAfterClick': 3000,
|
|
2738
|
+
'hide-delay': 200
|
|
2739
|
+
};
|
|
2740
|
+
|
|
2741
|
+
translationMapHeader: Map<string, string>;
|
|
2742
|
+
translationMapFooter: Map<string, string>;
|
|
2743
|
+
translationMapContent: Map<string, string>;
|
|
2744
|
+
translationMapPreview: Map<string, string>;
|
|
2745
|
+
|
|
2746
|
+
// ========== begin:: typying =======
|
|
2747
|
+
public isTypings = false;
|
|
2748
|
+
public isDirect = false;
|
|
2749
|
+
public idUserTypingNow: string;
|
|
2750
|
+
public nameUserTypingNow: string;
|
|
2751
|
+
private setTimeoutWritingMessages;
|
|
2752
|
+
membersConversation = ['SYSTEM'];
|
|
2753
|
+
// ========== end:: typying =======
|
|
2754
|
+
|
|
2755
|
+
@ViewChild(ConversationFooterComponent) conversationFooter: ConversationFooterComponent
|
|
2756
|
+
@ViewChild(ConversationContentComponent) conversationContent: ConversationContentComponent
|
|
2757
|
+
conversationHandlerService: ConversationHandlerService
|
|
2758
|
+
conversationsHandlerService: ConversationsHandlerService
|
|
2759
|
+
archivedConversationsHandlerService: ArchivedConversationsHandlerService
|
|
2760
|
+
|
|
2761
|
+
public isButtonUrl: boolean = false;
|
|
2762
|
+
public buttonClicked: any;
|
|
2763
|
+
private logger: LoggerService = LoggerInstance.getInstance();
|
|
2764
|
+
|
|
2765
|
+
constructor(
|
|
2766
|
+
//public el: ElementRef,
|
|
2767
|
+
public g: Globals,
|
|
2768
|
+
public starRatingWidgetService: StarRatingWidgetService,
|
|
2769
|
+
public sanitizer: DomSanitizer,
|
|
2770
|
+
public appComponent: AppComponent,
|
|
2771
|
+
public appStorageService: AppStorageService,
|
|
2772
|
+
public conversationHandlerBuilderService: ConversationHandlerBuilderService,
|
|
2773
|
+
public appConfigService: AppConfigService,
|
|
2774
|
+
private customTranslateService: CustomTranslateService,
|
|
2775
|
+
private chatManager: ChatManager,
|
|
2776
|
+
public typingService: TypingService,
|
|
2777
|
+
private tiledeskRequestService: TiledeskRequestsService,
|
|
2778
|
+
private changeDetectorRef: ChangeDetectorRef,
|
|
2779
|
+
private elementRef: ElementRef
|
|
2780
|
+
) { }
|
|
2781
|
+
|
|
2782
|
+
<span class="fstat-no" title="function not covered" > onResize(</span>event){
|
|
2783
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] resize event', event)</span>
|
|
2784
|
+
}
|
|
2785
|
+
|
|
2786
|
+
ngOnInit() {
|
|
2787
|
+
// this.initAll();
|
|
2788
|
+
this.logger.debug('[CONV-COMP] ngOnInit: ', this.senderId);
|
|
2789
|
+
this.showMessageWelcome = false;
|
|
2790
|
+
// const subscriptionEndRenderMessage = this.appComponent.obsEndRenderMessage.subscribe(() => {
|
|
2791
|
+
// this.ngZone.run(() => {
|
|
2792
|
+
// // that.scrollToBottom();
|
|
2793
|
+
// });
|
|
2794
|
+
// });
|
|
2795
|
+
// this.subscriptions.push(subscriptionEndRenderMessage);
|
|
2796
|
+
// this.attributes = this.setAttributes();
|
|
2797
|
+
// this.getTranslation();
|
|
2798
|
+
this.translations();
|
|
2799
|
+
//this.initAll();
|
|
2800
|
+
|
|
2801
|
+
}
|
|
2802
|
+
|
|
2803
|
+
public translations() {
|
|
2804
|
+
const keysHeader = [
|
|
2805
|
+
//'LABEL_AVAILABLE',
|
|
2806
|
+
//'LABEL_NOT_AVAILABLE',
|
|
2807
|
+
//'LABEL_TODAY',
|
|
2808
|
+
//'LABEL_TOMORROW',
|
|
2809
|
+
//'LABEL_TO',
|
|
2810
|
+
'LABEL_LAST_ACCESS',
|
|
2811
|
+
//'ARRAY_DAYS',
|
|
2812
|
+
//'LABEL_ACTIVE_NOW',
|
|
2813
|
+
'LABEL_WRITING',
|
|
2814
|
+
'BUTTON_CLOSE_TO_ICON',
|
|
2815
|
+
'OPTIONS',
|
|
2816
|
+
'PREV_CONVERSATIONS',
|
|
2817
|
+
'SOUND_OFF',
|
|
2818
|
+
'SOUND_ON',
|
|
2819
|
+
'DOWNLOAD_TRANSCRIPT',
|
|
2820
|
+
'BACK',
|
|
2821
|
+
'CLOSE',
|
|
2822
|
+
'MAXIMIZE',
|
|
2823
|
+
'MINIMIZE',
|
|
2824
|
+
'CLOSE_CHAT',
|
|
2825
|
+
'RESTART',
|
|
2826
|
+
'LOGOUT'
|
|
2827
|
+
];
|
|
2828
|
+
|
|
2829
|
+
const keysFooter = [
|
|
2830
|
+
'LABEL_PLACEHOLDER',
|
|
2831
|
+
'GUEST_LABEL',
|
|
2832
|
+
'LABEL_START_NW_CONV',
|
|
2833
|
+
'CONTINUE'
|
|
2834
|
+
];
|
|
2835
|
+
|
|
2836
|
+
const keysContent = [
|
|
2837
|
+
'INFO_SUPPORT_USER_ADDED_SUBJECT',
|
|
2838
|
+
'INFO_SUPPORT_USER_ADDED_YOU_VERB',
|
|
2839
|
+
'INFO_SUPPORT_USER_ADDED_COMPLEMENT',
|
|
2840
|
+
'INFO_SUPPORT_USER_ADDED_VERB',
|
|
2841
|
+
'INFO_SUPPORT_CHAT_REOPENED',
|
|
2842
|
+
'INFO_SUPPORT_CHAT_CLOSED',
|
|
2843
|
+
'INFO_A_NEW_SUPPORT_REQUEST_HAS_BEEN_ASSIGNED_TO_YOU',
|
|
2844
|
+
'INFO_SUPPORT_LEAD_UPDATED',
|
|
2845
|
+
'INFO_SUPPORT_MEMBER_LEFT_GROUP',
|
|
2846
|
+
'LABEL_TODAY',
|
|
2847
|
+
'LABEL_TOMORROW',
|
|
2848
|
+
'LABEL_LOADING',
|
|
2849
|
+
'LABEL_TO',
|
|
2850
|
+
'ARRAY_DAYS',
|
|
2851
|
+
];
|
|
2852
|
+
|
|
2853
|
+
const keysPreview= [
|
|
2854
|
+
'BACK',
|
|
2855
|
+
'CLOSE',
|
|
2856
|
+
'LABEL_PLACEHOLDER',
|
|
2857
|
+
'LABEL_PREVIEW'
|
|
2858
|
+
];
|
|
2859
|
+
|
|
2860
|
+
|
|
2861
|
+
this.translationMapHeader = this.customTranslateService.translateLanguage(keysHeader);
|
|
2862
|
+
this.translationMapFooter = this.customTranslateService.translateLanguage(keysFooter);
|
|
2863
|
+
this.translationMapContent = this.customTranslateService.translateLanguage(keysContent);
|
|
2864
|
+
this.translationMapPreview = this.customTranslateService.translateLanguage(keysPreview);
|
|
2865
|
+
}
|
|
2866
|
+
|
|
2867
|
+
<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" > ngAfterViewInit(</span></span>) {
|
|
2868
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] --------ngAfterViewInit: conversation-------- ');</span>
|
|
2869
|
+
// this.storageService.setItem('activeConversation', this.conversation.uid);
|
|
2870
|
+
|
|
2871
|
+
// --------------------------- //
|
|
2872
|
+
// after animation intro
|
|
2873
|
+
<span class="cstat-no" title="statement not covered" > setTimeout(<span class="fstat-no" title="function not covered" >() => {</span></span>
|
|
2874
|
+
<span class="cstat-no" title="statement not covered" > this.initAll();</span>
|
|
2875
|
+
// this.setFocusOnId('chat21-main-message-context');
|
|
2876
|
+
//this.updateConversationBadge();
|
|
2877
|
+
|
|
2878
|
+
// this.g.currentConversationComponent = this;
|
|
2879
|
+
<span class="cstat-no" title="statement not covered" > if (this.g.newConversationStart === true) {</span>
|
|
2880
|
+
<span class="cstat-no" title="statement not covered" > this.onNewConversationComponentInit();</span>
|
|
2881
|
+
<span class="cstat-no" title="statement not covered" > this.g.newConversationStart = false;</span>
|
|
2882
|
+
}
|
|
2883
|
+
<span class="cstat-no" title="statement not covered" > this.setSubscriptions();</span>
|
|
2884
|
+
<span class="cstat-no" title="statement not covered" > if (this.afConversationComponent) {</span>
|
|
2885
|
+
<span class="cstat-no" title="statement not covered" > this.afConversationComponent.nativeElement.focus();</span>
|
|
2886
|
+
}
|
|
2887
|
+
<span class="cstat-no" title="statement not covered" > this.isButtonsDisabled = false;</span>
|
|
2888
|
+
}, 300);
|
|
2889
|
+
}
|
|
2890
|
+
|
|
2891
|
+
<span class="fstat-no" title="function not covered" > ngAfterViewChecked(</span>){
|
|
2892
|
+
<span class="cstat-no" title="statement not covered" > this.changeDetectorRef.detectChanges();</span>
|
|
2893
|
+
}
|
|
2894
|
+
|
|
2895
|
+
<span class="fstat-no" title="function not covered" > ngOnChanges(</span>changes: SimpleChanges) {
|
|
2896
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] onChagnges', changes)</span>
|
|
2897
|
+
<span class="cstat-no" title="statement not covered" > if(this.stylesMap){</span>
|
|
2898
|
+
<span class="cstat-no" title="statement not covered" > this.elementRef.nativeElement.style.setProperty('--themeColor', this.stylesMap.get('themeColor'))</span>
|
|
2899
|
+
<span class="cstat-no" title="statement not covered" > this.elementRef.nativeElement.style.setProperty('--foregroundColor', this.stylesMap.get('foregroundColor'))</span>
|
|
2900
|
+
}
|
|
2901
|
+
<span class="cstat-no" title="statement not covered" > if (this.isOpen === true) {</span>
|
|
2902
|
+
//this.updateConversationBadge();
|
|
2903
|
+
// this.scrollToBottom();
|
|
2904
|
+
}
|
|
2905
|
+
// CHECK if conversationId is changed and re-build component
|
|
2906
|
+
<span class="cstat-no" title="statement not covered" > if(changes && changes['conversationId'] && changes['conversationId'].previousValue !== undefined && (changes['conversationId'].previousValue !== changes['conversationId'].currentValue)){</span>
|
|
2907
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug("[CONV-COMP] UID CHANGESSSS", changes['conversationId'])</span>
|
|
2908
|
+
|
|
2909
|
+
<span class="cstat-no" title="statement not covered" > this.ngOnDestroy();</span>
|
|
2910
|
+
<span class="cstat-no" title="statement not covered" > this.ngOnInit();</span>
|
|
2911
|
+
<span class="cstat-no" title="statement not covered" > this.ngAfterViewInit();</span>
|
|
2912
|
+
}
|
|
2913
|
+
}
|
|
2914
|
+
|
|
2915
|
+
<span class="fstat-no" title="function not covered" > updateConversationBadge(</span>) {
|
|
2916
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] updateConversationBadge', this.conversationId, this.isConversationArchived)</span>
|
|
2917
|
+
<span class="cstat-no" title="statement not covered" > if(this.isConversationArchived && this.conversationId && this.archivedConversationsHandlerService){</span>
|
|
2918
|
+
<span class="cstat-no" title="statement not covered" > this.archivedConversationsHandlerService.setConversationRead(this.conversationId)</span>
|
|
2919
|
+
}
|
|
2920
|
+
<span class="cstat-no" title="statement not covered" > if (!this.isConversationArchived && this.conversationId && this.conversationsHandlerService) {</span>
|
|
2921
|
+
<span class="cstat-no" title="statement not covered" > this.conversationsHandlerService.setConversationRead(this.conversationId)</span>
|
|
2922
|
+
const badgeNewConverstionNumber = <span class="cstat-no" title="statement not covered" >this.conversationsHandlerService.countIsNew()</span>
|
|
2923
|
+
<span class="cstat-no" title="statement not covered" > this.g.setParameter('conversationsBadge', badgeNewConverstionNumber);</span>
|
|
2924
|
+
}
|
|
2925
|
+
|
|
2926
|
+
}
|
|
2927
|
+
|
|
2928
|
+
/**
|
|
2929
|
+
* do per scontato che this.userId esiste!!!
|
|
2930
|
+
*/
|
|
2931
|
+
<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" > initAll(</span></span>) {
|
|
2932
|
+
|
|
2933
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] ------ 2: setConversation ------ ');</span>
|
|
2934
|
+
<span class="cstat-no" title="statement not covered" > this.setConversation();</span>
|
|
2935
|
+
|
|
2936
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] ------ 3: connectConversation ------ ');</span>
|
|
2937
|
+
// this.connectConversation();
|
|
2938
|
+
<span class="cstat-no" title="statement not covered" > this.initConversationHandler();</span>
|
|
2939
|
+
|
|
2940
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] ------ 4: initializeChatManager ------ ');</span>
|
|
2941
|
+
//this.initializeChatManager();
|
|
2942
|
+
|
|
2943
|
+
// sponziello, commentato
|
|
2944
|
+
// this.logger.debug('[CONV-COMP] ------ 5: setAvailableAgentsStatus ------ ');
|
|
2945
|
+
// this.setAvailableAgentsStatus();
|
|
2946
|
+
|
|
2947
|
+
// this.logger.debug('[CONV-COMP] ------ 5: updateConversationbage ------ ');
|
|
2948
|
+
// this.updateConversationBadge();
|
|
2949
|
+
|
|
2950
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] ------ 6: getConversationDetail ------ ', this.conversationId);</span>
|
|
2951
|
+
<span class="cstat-no" title="statement not covered" > this.getConversationDetail(<span class="fstat-no" title="function not covered" >(i</span>sConversationArchived) => {</span>
|
|
2952
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] ------ 6: updateConversationbage ------ ');</span>
|
|
2953
|
+
<span class="cstat-no" title="statement not covered" > this.updateConversationBadge();</span>
|
|
2954
|
+
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
2955
|
+
}) //check if conv is archived or not
|
|
2956
|
+
// this.checkListMessages();
|
|
2957
|
+
|
|
2958
|
+
<span class="cstat-no" title="statement not covered" > if(this.g.customAttributes){</span>
|
|
2959
|
+
<span class="cstat-no" title="statement not covered" > this.updateUserInfo(this.g.customAttributes)</span>
|
|
2960
|
+
}
|
|
2961
|
+
|
|
2962
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] ------ 7: initializeTyping()', this.conversationId)</span>
|
|
2963
|
+
<span class="cstat-no" title="statement not covered" > this.initializeTyping();</span>
|
|
2964
|
+
}
|
|
2965
|
+
|
|
2966
|
+
/**
|
|
2967
|
+
* @description get detail of conversation by uid and then return callback with conversation status
|
|
2968
|
+
* @param callback
|
|
2969
|
+
* @returns isConversationArchived (status conversation archived: boolean)
|
|
2970
|
+
*/
|
|
2971
|
+
<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" > getConversationDetail(</span></span>callback:(isConversationArchived: boolean)=>void){
|
|
2972
|
+
// if(!this.isConversationArchived){
|
|
2973
|
+
//get conversation from 'conversations' firebase node
|
|
2974
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] getConversationDetail: isConversationArchived???', this.isConversationArchived, this.conversationWith)</span>
|
|
2975
|
+
<span class="cstat-no" title="statement not covered" > this.conversationsHandlerService.getConversationDetail(this.conversationWith, <span class="fstat-no" title="function not covered" >(c</span>onv)=>{</span>
|
|
2976
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] getConversationDetail: conversationsHandlerService ', this.conversationWith, conv, this.isConversationArchived)</span>
|
|
2977
|
+
<span class="cstat-no" title="statement not covered" > if(conv){</span>
|
|
2978
|
+
<span class="cstat-no" title="statement not covered" > this.conversation = conv;</span>
|
|
2979
|
+
// let duration = getDateDifference(new Date(+this.conversation.timestamp * 1000) , new Date(1661439632 * 1000))
|
|
2980
|
+
<span class="cstat-no" title="statement not covered" > this.isConversationArchived = false;</span>
|
|
2981
|
+
<span class="cstat-no" title="statement not covered" > callback(this.isConversationArchived)</span>
|
|
2982
|
+
}
|
|
2983
|
+
<span class="cstat-no" title="statement not covered" > if(!conv){</span>
|
|
2984
|
+
//get conversation from 'archivedconversations' firebase node
|
|
2985
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] getConversationDetail: conv not exist --> search in archived list', this.isConversationArchived, this.conversationWith)</span>
|
|
2986
|
+
<span class="cstat-no" title="statement not covered" > this.archivedConversationsHandlerService.getConversationDetail(this.conversationWith, <span class="fstat-no" title="function not covered" >(c</span>onv)=>{</span>
|
|
2987
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] getConversationDetail: archivedConversationsHandlerService', this.conversationWith, conv, this.isConversationArchived)</span>
|
|
2988
|
+
<span class="cstat-no" title="statement not covered" > if(conv){</span>
|
|
2989
|
+
<span class="cstat-no" title="statement not covered" > this.conversation = conv;</span>
|
|
2990
|
+
<span class="cstat-no" title="statement not covered" > this.isConversationArchived = true;</span>
|
|
2991
|
+
/**calc time difference between now and last conversation timestamp to allow "Continue" button */
|
|
2992
|
+
let duration = <span class="cstat-no" title="statement not covered" >getDateDifference(this.conversation.timestamp, Date.now())</span>
|
|
2993
|
+
<span class="cstat-no" title="statement not covered" > duration.hours < this.g.continueConversationBeforeTime? this.showContinueConversationButton = true: this.showContinueConversationButton = false</span>
|
|
2994
|
+
<span class="cstat-no" title="statement not covered" > callback(this.isConversationArchived)</span>
|
|
2995
|
+
}else <span class="cstat-no" title="statement not covered" >if(!conv) {</span>
|
|
2996
|
+
<span class="cstat-no" title="statement not covered" > callback(null);</span>
|
|
2997
|
+
}
|
|
2998
|
+
})
|
|
2999
|
+
}
|
|
3000
|
+
});
|
|
3001
|
+
// } else { //get conversation from 'conversations' firebase node
|
|
3002
|
+
// this.archivedConversationsHandlerService.getConversationDetail(this.conversationId, (conv)=>{
|
|
3003
|
+
// this.logger.debug('[CONV-COMP] archivedConversationsHandlerService getConversationDetail', this.conversationId, conv, this.isConversationArchived)
|
|
3004
|
+
// if(conv){
|
|
3005
|
+
// this.conversation = conv;
|
|
3006
|
+
// this.isConversationArchived = true;
|
|
3007
|
+
// callback(this.isConversationArchived)
|
|
3008
|
+
// }
|
|
3009
|
+
// if(!conv){
|
|
3010
|
+
// this.conversationsHandlerService.getConversationDetail(this.conversationId, (conv)=>{
|
|
3011
|
+
// this.logger.debug('[CONV-COMP] conversationsHandlerService getConversationDetail', this.conversationId, conv, this.isConversationArchived)
|
|
3012
|
+
// conv? this.isConversationArchived = false : null
|
|
3013
|
+
// this.conversation = conv;
|
|
3014
|
+
// callback(this.isConversationArchived)
|
|
3015
|
+
// })
|
|
3016
|
+
// }
|
|
3017
|
+
// })
|
|
3018
|
+
// }
|
|
3019
|
+
|
|
3020
|
+
// if(!this.isConversationArchived){ //get conversation from 'conversations' firebase node
|
|
3021
|
+
// this.conversationsHandlerService.getConversationDetail(this.conversationId, (conv)=>{
|
|
3022
|
+
// this.logger.debug('[CONV-COMP] conversationsHandlerService getConversationDetail', this.conversationId, conv)
|
|
3023
|
+
// this.conversation = conv;
|
|
3024
|
+
// callback(this.isConversationArchived)
|
|
3025
|
+
// })
|
|
3026
|
+
// }else { //get conversation from 'conversations' firebase node
|
|
3027
|
+
// this.archivedConversationsHandlerService.getConversationDetail(this.conversationId, (conv)=>{
|
|
3028
|
+
// this.logger.debug('[CONV-COMP] archivedConversationsHandlerService getConversationDetail', this.conversationId, conv)
|
|
3029
|
+
// this.conversation = conv;
|
|
3030
|
+
// callback(this.isConversationArchived)
|
|
3031
|
+
// })
|
|
3032
|
+
// }
|
|
3033
|
+
// this.updateConversationBadge()
|
|
3034
|
+
}
|
|
3035
|
+
|
|
3036
|
+
/**
|
|
3037
|
+
* this.g.recipientId:
|
|
3038
|
+
* this.g.senderId:
|
|
3039
|
+
* this.g.channelType:
|
|
3040
|
+
* this.g.tenant
|
|
3041
|
+
* 1 - setto channelTypeTEMP ( group / direct )
|
|
3042
|
+
* a seconda che recipientId contenga o meno 'group'
|
|
3043
|
+
* 2 - setto conversationWith
|
|
3044
|
+
* 2 - setto conversationWith
|
|
3045
|
+
* uguale a recipientId se esiste
|
|
3046
|
+
* uguale al senderId nel this.storageService se esiste
|
|
3047
|
+
* generateUidConversation
|
|
3048
|
+
*/
|
|
3049
|
+
<span class="fstat-no" title="function not covered" > private s</span>etConversation() {
|
|
3050
|
+
const recipientId = <span class="cstat-no" title="statement not covered" >this.g.recipientId;</span>
|
|
3051
|
+
const channelType = <span class="cstat-no" title="statement not covered" >this.g.channelType;</span>
|
|
3052
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] setConversation recipientId::: ', recipientId, channelType);</span>
|
|
3053
|
+
<span class="cstat-no" title="statement not covered" > if ( !recipientId ) { <span class="cstat-no" title="statement not covered" >this.g.setParameter('recipientId', this.setRecipientId()); </span>}</span>
|
|
3054
|
+
<span class="cstat-no" title="statement not covered" > if ( !channelType ) { <span class="cstat-no" title="statement not covered" >this.g.setParameter('channelType', this.setChannelType()); </span>}</span>
|
|
3055
|
+
<span class="cstat-no" title="statement not covered" > this.conversationWith = recipientId as string;</span>
|
|
3056
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] setConversation conversation::: ', this.conversation);</span>
|
|
3057
|
+
<span class="cstat-no" title="statement not covered" > if (!this.conversation) {</span>
|
|
3058
|
+
// this.conversation = new ConversationModel(
|
|
3059
|
+
// recipientId,
|
|
3060
|
+
// {},
|
|
3061
|
+
// channelType,
|
|
3062
|
+
// true,
|
|
3063
|
+
// '',
|
|
3064
|
+
// recipientId,
|
|
3065
|
+
// this.g.recipientFullname,
|
|
3066
|
+
// this.senderId,
|
|
3067
|
+
// this.g.userFullname,
|
|
3068
|
+
// '0',
|
|
3069
|
+
// 0,
|
|
3070
|
+
// TYPE_MSG_TEXT,
|
|
3071
|
+
// '',
|
|
3072
|
+
// '',
|
|
3073
|
+
// '',
|
|
3074
|
+
// '',
|
|
3075
|
+
// 0,
|
|
3076
|
+
// false
|
|
3077
|
+
// );
|
|
3078
|
+
<span class="cstat-no" title="statement not covered" > this.conversation = new ConversationModel(</span>
|
|
3079
|
+
recipientId,
|
|
3080
|
+
this.g.attributes,
|
|
3081
|
+
channelType,
|
|
3082
|
+
this.g.recipientFullname,
|
|
3083
|
+
this.conversationWith,
|
|
3084
|
+
recipientId,
|
|
3085
|
+
this.g.recipientFullname,
|
|
3086
|
+
'',
|
|
3087
|
+
true,
|
|
3088
|
+
'',
|
|
3089
|
+
'',
|
|
3090
|
+
this.senderId,
|
|
3091
|
+
'',
|
|
3092
|
+
this.g.userFullname,
|
|
3093
|
+
'0',
|
|
3094
|
+
'',
|
|
3095
|
+
true,
|
|
3096
|
+
'',
|
|
3097
|
+
'',
|
|
3098
|
+
false,
|
|
3099
|
+
'text')
|
|
3100
|
+
}
|
|
3101
|
+
}
|
|
3102
|
+
|
|
3103
|
+
|
|
3104
|
+
/**
|
|
3105
|
+
*
|
|
3106
|
+
*/
|
|
3107
|
+
<span class="fstat-no" title="function not covered" > private s</span>etRecipientId() {
|
|
3108
|
+
let recipientIdTEMP: string;
|
|
3109
|
+
const senderId = <span class="cstat-no" title="statement not covered" >this.senderId;</span>
|
|
3110
|
+
<span class="cstat-no" title="statement not covered" > recipientIdTEMP = this.appStorageService.getItem(senderId);</span>
|
|
3111
|
+
<span class="cstat-no" title="statement not covered" > if (!recipientIdTEMP) {</span>
|
|
3112
|
+
// questa deve essere sincrona!!!!
|
|
3113
|
+
// recipientIdTEMP = UID_SUPPORT_GROUP_MESSAGES + uuidv4(); >>>>>OLD
|
|
3114
|
+
<span class="cstat-no" title="statement not covered" > recipientIdTEMP = UID_SUPPORT_GROUP_MESSAGES + this.g.projectid + '-' + uuidv4().replace(/-/g, '');</span>
|
|
3115
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] recipitent', recipientIdTEMP)</span>
|
|
3116
|
+
//recipientIdTEMP = this.messagingService.generateUidConversation(senderId);
|
|
3117
|
+
}
|
|
3118
|
+
<span class="cstat-no" title="statement not covered" > return recipientIdTEMP;</span>
|
|
3119
|
+
}
|
|
3120
|
+
|
|
3121
|
+
/**
|
|
3122
|
+
*
|
|
3123
|
+
*/
|
|
3124
|
+
<span class="fstat-no" title="function not covered" > private s</span>etChannelType() {
|
|
3125
|
+
let channelTypeTEMP = <span class="cstat-no" title="statement not covered" >CHANNEL_TYPE_GROUP;</span>
|
|
3126
|
+
const projectid = <span class="cstat-no" title="statement not covered" >this.g.projectid;</span>
|
|
3127
|
+
<span class="cstat-no" title="statement not covered" > if (this.g.recipientId && this.g.recipientId.indexOf('group') !== -1) {</span>
|
|
3128
|
+
<span class="cstat-no" title="statement not covered" > channelTypeTEMP = CHANNEL_TYPE_GROUP;</span>
|
|
3129
|
+
} else <span class="cstat-no" title="statement not covered" >if (!projectid) {</span>
|
|
3130
|
+
<span class="cstat-no" title="statement not covered" > channelTypeTEMP = CHANNEL_TYPE_DIRECT;</span>
|
|
3131
|
+
}
|
|
3132
|
+
<span class="cstat-no" title="statement not covered" > return channelTypeTEMP;</span>
|
|
3133
|
+
}
|
|
3134
|
+
|
|
3135
|
+
|
|
3136
|
+
/**
|
|
3137
|
+
* recupero da chatManager l'handler
|
|
3138
|
+
* se NON ESISTE creo un handler e mi connetto e lo memorizzo nel chatmanager
|
|
3139
|
+
* se ESISTE mi connetto
|
|
3140
|
+
* carico messaggi
|
|
3141
|
+
* attendo x sec se nn arrivano messaggi visualizzo msg welcome
|
|
3142
|
+
*/
|
|
3143
|
+
<span class="fstat-no" title="function not covered" > initConversationHandler(</span>) {
|
|
3144
|
+
const tenant = <span class="cstat-no" title="statement not covered" >this.g.tenant;</span>
|
|
3145
|
+
<span class="cstat-no" title="statement not covered" > this.messages = [];</span>
|
|
3146
|
+
//TODO-GAB: da sistemare loggedUser in firebase-conversation-handler.service
|
|
3147
|
+
const loggedUser = <span class="cstat-no" title="statement not covered" >{ uid: this.senderId}</span>
|
|
3148
|
+
const conversationWithFullname = <span class="cstat-no" title="statement not covered" >this.g.recipientFullname;</span> // TODO-GAB: risulta null a questo punto
|
|
3149
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] initconversation NEWWW', loggedUser, conversationWithFullname, tenant)</span>
|
|
3150
|
+
<span class="cstat-no" title="statement not covered" > this.showMessageWelcome = false;</span>
|
|
3151
|
+
const handler: ConversationHandlerService = <span class="cstat-no" title="statement not covered" >this.chatManager.getConversationHandlerByConversationId(this.conversationWith);</span>
|
|
3152
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] DETTAGLIO CONV - handler **************', handler, this.conversationWith);</span>
|
|
3153
|
+
<span class="cstat-no" title="statement not covered" > if (!handler) {</span>
|
|
3154
|
+
<span class="cstat-no" title="statement not covered" > this.conversationHandlerService = this.conversationHandlerBuilderService.build();</span>
|
|
3155
|
+
<span class="cstat-no" title="statement not covered" > this.conversationHandlerService.initialize(</span>
|
|
3156
|
+
this.conversationWith,
|
|
3157
|
+
conversationWithFullname,
|
|
3158
|
+
loggedUser,
|
|
3159
|
+
tenant,
|
|
3160
|
+
this.translationMapContent,
|
|
3161
|
+
this.g.showInfoMessage
|
|
3162
|
+
);
|
|
3163
|
+
<span class="cstat-no" title="statement not covered" > this.conversationHandlerService.connect();</span>
|
|
3164
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] DETTAGLIO CONV - NEW handler **************', this.conversationHandlerService);</span>
|
|
3165
|
+
<span class="cstat-no" title="statement not covered" > this.messages = this.conversationHandlerService.messages;</span>
|
|
3166
|
+
|
|
3167
|
+
/* SEND FIRST MESSAGE if preChatForm has 'firstMessage' key */
|
|
3168
|
+
<span class="cstat-no" title="statement not covered" > this.sendFirstMessagePreChatForm()</span>
|
|
3169
|
+
|
|
3170
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] DETTAGLIO CONV - messages **************', this.messages);</span>
|
|
3171
|
+
<span class="cstat-no" title="statement not covered" > this.chatManager.addConversationHandler(this.conversationHandlerService);</span>
|
|
3172
|
+
|
|
3173
|
+
// attendo un secondo e poi visualizzo il messaggio se nn ci sono messaggi
|
|
3174
|
+
const that = <span class="cstat-no" title="statement not covered" >this;</span>
|
|
3175
|
+
<span class="cstat-no" title="statement not covered" > setTimeout( <span class="fstat-no" title="function not covered" >() => {</span></span>
|
|
3176
|
+
<span class="cstat-no" title="statement not covered" > if (!that.messages || that.messages.length === 0) {</span>
|
|
3177
|
+
//this.showIonContent = true;
|
|
3178
|
+
<span class="cstat-no" title="statement not covered" > that.showMessageWelcome = true;</span>
|
|
3179
|
+
// that.sendFirstMessage()
|
|
3180
|
+
<span class="cstat-no" title="statement not covered" > that.logger.debug('[CONV-COMP] setTimeout ***', that.showMessageWelcome);</span>
|
|
3181
|
+
}
|
|
3182
|
+
}, 8000);
|
|
3183
|
+
|
|
3184
|
+
} else {
|
|
3185
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] NON ENTRO ***', this.conversationHandlerService, handler);</span>
|
|
3186
|
+
<span class="cstat-no" title="statement not covered" > this.conversationHandlerService = handler;</span>
|
|
3187
|
+
<span class="cstat-no" title="statement not covered" > this.messages = this.conversationHandlerService.messages;</span>
|
|
3188
|
+
// sicuramente ci sono messaggi
|
|
3189
|
+
// la conversazione l'ho già caricata precedentemente
|
|
3190
|
+
// mi arriva sempre notifica dell'ultimo msg (tramite BehaviorSubject)
|
|
3191
|
+
// scrollo al bottom della pagina
|
|
3192
|
+
}
|
|
3193
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] CONVERSATION MESSAGES ' + this.messages );</span>
|
|
3194
|
+
|
|
3195
|
+
//retrive active and archived conversations-handler service
|
|
3196
|
+
<span class="cstat-no" title="statement not covered" > this.conversationsHandlerService = this.chatManager.conversationsHandlerService</span>
|
|
3197
|
+
<span class="cstat-no" title="statement not covered" > this.archivedConversationsHandlerService = this.chatManager.archivedConversationsService</span>
|
|
3198
|
+
|
|
3199
|
+
}
|
|
3200
|
+
|
|
3201
|
+
/**
|
|
3202
|
+
* se nel preChatForm c'è una chiave 'firstMessage'
|
|
3203
|
+
* e la conversazione non ha altri messaggi, invio il firstMessage
|
|
3204
|
+
* del preChatForm appena compilato
|
|
3205
|
+
*/
|
|
3206
|
+
<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" > sendFirstMessagePreChatForm(</span></span>){
|
|
3207
|
+
<span class="cstat-no" title="statement not covered" > setTimeout(<span class="fstat-no" title="function not covered" >() => {</span></span>
|
|
3208
|
+
<span class="cstat-no" title="statement not covered" > if(this.messages && this.messages.length === 0){</span>
|
|
3209
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] sendFirstMessage: messages + attributes ',this.messages, this.g.attributes)</span>
|
|
3210
|
+
<span class="cstat-no" title="statement not covered" > if(this.g.attributes && this.g.attributes.preChatForm && this.g.attributes.preChatForm.firstMessage){</span>
|
|
3211
|
+
const firstMessage = <span class="cstat-no" title="statement not covered" >this.g.attributes.preChatForm.firstMessage</span>
|
|
3212
|
+
<span class="cstat-no" title="statement not covered" > this.conversationFooter.sendMessage(firstMessage, TYPE_MSG_TEXT, this.g.attributes) </span>
|
|
3213
|
+
}
|
|
3214
|
+
}
|
|
3215
|
+
}, 1000);
|
|
3216
|
+
}
|
|
3217
|
+
|
|
3218
|
+
|
|
3219
|
+
<span class="fstat-no" title="function not covered" > initializeTyping(</span>) {
|
|
3220
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] membersconversation', this.membersConversation)</span>
|
|
3221
|
+
<span class="cstat-no" title="statement not covered" > this.membersConversation.push(this.senderId)</span>
|
|
3222
|
+
//this.setSubscriptions();
|
|
3223
|
+
<span class="cstat-no" title="statement not covered" > this.typingService.isTyping(this.conversationId, this.senderId, this.isDirect);</span>
|
|
3224
|
+
|
|
3225
|
+
}
|
|
3226
|
+
|
|
3227
|
+
/** */
|
|
3228
|
+
<span class="fstat-no" title="function not covered" > subscribeTypings(</span>data: any) {
|
|
3229
|
+
const that = <span class="cstat-no" title="statement not covered" >this;</span>
|
|
3230
|
+
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
3231
|
+
const key = <span class="cstat-no" title="statement not covered" >data.uidUserTypingNow;</span>
|
|
3232
|
+
const waitTime = <span class="cstat-no" title="statement not covered" >data.waitTime</span>
|
|
3233
|
+
<span class="cstat-no" title="statement not covered" > this.nameUserTypingNow = null;</span>
|
|
3234
|
+
<span class="cstat-no" title="statement not covered" > this.idUserTypingNow = null;</span>
|
|
3235
|
+
|
|
3236
|
+
<span class="cstat-no" title="statement not covered" > if (data.nameUserTypingNow) {</span>
|
|
3237
|
+
<span class="cstat-no" title="statement not covered" > this.nameUserTypingNow = data.nameUserTypingNow;</span>
|
|
3238
|
+
}
|
|
3239
|
+
<span class="cstat-no" title="statement not covered" > if (data.uidUserTypingNow){</span>
|
|
3240
|
+
<span class="cstat-no" title="statement not covered" > this.idUserTypingNow = data.uidUserTypingNow</span>
|
|
3241
|
+
}
|
|
3242
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] subscribeTypings data:', data);</span>
|
|
3243
|
+
const userTyping = <span class="cstat-no" title="statement not covered" >this.membersConversation.includes(key);</span>
|
|
3244
|
+
<span class="cstat-no" title="statement not covered" > if ( !userTyping && key) {</span>
|
|
3245
|
+
<span class="cstat-no" title="statement not covered" > this.isTypings = true;</span>
|
|
3246
|
+
<span class="cstat-no" title="statement not covered" > setTimeout(<span class="fstat-no" title="function not covered" >function () {</span></span>
|
|
3247
|
+
<span class="cstat-no" title="statement not covered" > that.conversationContent.scrollToBottom();</span>
|
|
3248
|
+
}, 0);
|
|
3249
|
+
// clearTimeout(this.setTimeoutWritingMessages);
|
|
3250
|
+
<span class="cstat-no" title="statement not covered" > this.setTimeoutWritingMessages = setTimeout(<span class="fstat-no" title="function not covered" >() => {</span></span>
|
|
3251
|
+
<span class="cstat-no" title="statement not covered" > that.isTypings = false;</span>
|
|
3252
|
+
}, waitTime);
|
|
3253
|
+
// this.initiTimeout(waitTime)
|
|
3254
|
+
}
|
|
3255
|
+
} catch (error) {
|
|
3256
|
+
<span class="cstat-no" title="statement not covered" > this.logger.error('[CONV-COMP] error: ', error);</span>
|
|
3257
|
+
}
|
|
3258
|
+
|
|
3259
|
+
}
|
|
3260
|
+
|
|
3261
|
+
<span class="fstat-no" title="function not covered" > initiTimeout(</span>waitTime){
|
|
3262
|
+
const that = <span class="cstat-no" title="statement not covered" >this;</span>
|
|
3263
|
+
<span class="cstat-no" title="statement not covered" > this.setTimeoutWritingMessages = setTimeout(<span class="fstat-no" title="function not covered" >() => {</span></span>
|
|
3264
|
+
<span class="cstat-no" title="statement not covered" > that.isTypings = false;</span>
|
|
3265
|
+
}, waitTime);
|
|
3266
|
+
}
|
|
3267
|
+
|
|
3268
|
+
<span class="fstat-no" title="function not covered" > resetTimeout(</span>){
|
|
3269
|
+
<span class="cstat-no" title="statement not covered" > this.isTypings = false</span>
|
|
3270
|
+
<span class="cstat-no" title="statement not covered" > this.setTimeoutWritingMessages = null;</span>
|
|
3271
|
+
<span class="cstat-no" title="statement not covered" > clearTimeout(this.setTimeoutWritingMessages)</span>
|
|
3272
|
+
}
|
|
3273
|
+
|
|
3274
|
+
/**
|
|
3275
|
+
* imposto le sottoscrizioni
|
|
3276
|
+
* 1 - conversazione chiusa (CHAT CHIUSA)
|
|
3277
|
+
* 2 - nuovo messaggio
|
|
3278
|
+
*/
|
|
3279
|
+
<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" > setSubscriptions(</span></span>) {
|
|
3280
|
+
const that = <span class="cstat-no" title="statement not covered" >this;</span>
|
|
3281
|
+
let subscribtion: any;
|
|
3282
|
+
let subscribtionKey: string;
|
|
3283
|
+
|
|
3284
|
+
<span class="cstat-no" title="statement not covered" > subscribtionKey = 'starRating';</span>
|
|
3285
|
+
<span class="cstat-no" title="statement not covered" > subscribtion = this.subscriptions.find(<span class="fstat-no" title="function not covered" >item </span>=> <span class="cstat-no" title="statement not covered" >item.key === subscribtionKey);</span></span>
|
|
3286
|
+
<span class="cstat-no" title="statement not covered" > if (!subscribtion) {</span>
|
|
3287
|
+
<span class="cstat-no" title="statement not covered" > this.starRatingWidgetService.setOsservable(false);</span>
|
|
3288
|
+
// CHIUSURA CONVERSAZIONE (ELIMINAZIONE UTENTE DAL GRUPPO)
|
|
3289
|
+
// tslint:disable-next-line:max-line-length
|
|
3290
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] setSubscriptions!!!! StartRating', this.starRatingWidgetService.obsCloseConversation.value);</span>
|
|
3291
|
+
<span class="cstat-no" title="statement not covered" > subscribtion = this.starRatingWidgetService.obsCloseConversation.pipe(takeUntil(this.unsubscribe$)).subscribe(<span class="fstat-no" title="function not covered" >isOpenStartRating </span>=> {</span>
|
|
3292
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] startratingggg', isOpenStartRating)</span>
|
|
3293
|
+
<span class="cstat-no" title="statement not covered" > that.g.setParameter('isOpenStartRating', isOpenStartRating);</span>
|
|
3294
|
+
<span class="cstat-no" title="statement not covered" > if (isOpenStartRating === false) {</span>
|
|
3295
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] NOT OPEN StartRating **');</span>
|
|
3296
|
+
} else <span class="cstat-no" title="statement not covered" >if (isOpenStartRating === true) {</span>
|
|
3297
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] OPEN StartRating **');</span>
|
|
3298
|
+
}
|
|
3299
|
+
});
|
|
3300
|
+
const subscribe = <span class="cstat-no" title="statement not covered" >{key: subscribtionKey, value: subscribtion };</span>
|
|
3301
|
+
<span class="cstat-no" title="statement not covered" > this.subscriptions.push(subscribe);</span>
|
|
3302
|
+
}
|
|
3303
|
+
|
|
3304
|
+
|
|
3305
|
+
<span class="cstat-no" title="statement not covered" > subscribtionKey = 'messageAdded';</span>
|
|
3306
|
+
<span class="cstat-no" title="statement not covered" > subscribtion = this.subscriptions.find(<span class="fstat-no" title="function not covered" >item </span>=> <span class="cstat-no" title="statement not covered" >item.key === subscribtionKey);</span></span>
|
|
3307
|
+
<span class="cstat-no" title="statement not covered" > if (!subscribtion) {</span>
|
|
3308
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] ***** add messageAdded *****', this.conversationHandlerService);</span>
|
|
3309
|
+
<span class="cstat-no" title="statement not covered" > subscribtion = this.conversationHandlerService.messageAdded.pipe(takeUntil(this.unsubscribe$)).subscribe(<span class="fstat-no" title="function not covered" >(m</span>sg: MessageModel) => {</span>
|
|
3310
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] ***** DETAIL messageAdded *****', msg);</span>
|
|
3311
|
+
<span class="cstat-no" title="statement not covered" > if (msg) {</span>
|
|
3312
|
+
<span class="cstat-no" title="statement not covered" > that.newMessageAdded(msg);</span>
|
|
3313
|
+
<span class="cstat-no" title="statement not covered" > this.onNewMessageCreated.emit(msg)</span>
|
|
3314
|
+
<span class="cstat-no" title="statement not covered" > this.checkMessagesLegntForTranscriptDownloadMenuOption();</span>
|
|
3315
|
+
<span class="cstat-no" title="statement not covered" > this.resetTimeout();</span>
|
|
3316
|
+
}
|
|
3317
|
+
});
|
|
3318
|
+
const subscribe = <span class="cstat-no" title="statement not covered" >{key: subscribtionKey, value: subscribtion };</span>
|
|
3319
|
+
<span class="cstat-no" title="statement not covered" > this.subscriptions.push(subscribe);</span>
|
|
3320
|
+
}
|
|
3321
|
+
|
|
3322
|
+
<span class="cstat-no" title="statement not covered" > subscribtionKey = 'conversationsRemoved';</span>
|
|
3323
|
+
<span class="cstat-no" title="statement not covered" > subscribtion = this.subscriptions.find(<span class="fstat-no" title="function not covered" >item </span>=> <span class="cstat-no" title="statement not covered" >item.key === subscribtionKey);</span></span>
|
|
3324
|
+
<span class="cstat-no" title="statement not covered" > if(!subscribtion){</span>
|
|
3325
|
+
|
|
3326
|
+
<span class="cstat-no" title="statement not covered" > subscribtion = this.chatManager.conversationsHandlerService.conversationRemoved.pipe(takeUntil(this.unsubscribe$)).subscribe(<span class="fstat-no" title="function not covered" >(c</span>onversation) => {</span>
|
|
3327
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] ***** DATAIL conversationsRemoved *****', conversation, this.conversationWith, this.isConversationArchived);</span>
|
|
3328
|
+
<span class="cstat-no" title="statement not covered" > if(conversation && conversation.uid === this.conversationWith){</span>
|
|
3329
|
+
<span class="cstat-no" title="statement not covered" > this.isConversationArchived = true;</span>
|
|
3330
|
+
<span class="cstat-no" title="statement not covered" > this.g.nativeRating? this.starRatingWidgetService.setOsservable(true): null; </span>//if nativeRating is true, open starRatingComponent, otherwize do nothing
|
|
3331
|
+
<span class="cstat-no" title="statement not covered" > this.g.nativeRating? null: this.onConversationClosed.emit(conversation.uid) /</span>/if nativeRating is false, when conversation in archived -> manually back to home
|
|
3332
|
+
}
|
|
3333
|
+
});
|
|
3334
|
+
const subscribe = <span class="cstat-no" title="statement not covered" >{key: subscribtionKey, value: subscribtion };</span>
|
|
3335
|
+
<span class="cstat-no" title="statement not covered" > this.subscriptions.push(subscribe);</span>
|
|
3336
|
+
}
|
|
3337
|
+
|
|
3338
|
+
<span class="cstat-no" title="statement not covered" > subscribtionKey = 'conversationsChanged';</span>
|
|
3339
|
+
<span class="cstat-no" title="statement not covered" > subscribtion = this.subscriptions.find(<span class="fstat-no" title="function not covered" >item </span>=> <span class="cstat-no" title="statement not covered" >item.key === subscribtionKey);</span></span>
|
|
3340
|
+
<span class="cstat-no" title="statement not covered" > if(!subscribtion){</span>
|
|
3341
|
+
|
|
3342
|
+
<span class="cstat-no" title="statement not covered" > subscribtion = this.chatManager.conversationsHandlerService.conversationChanged.pipe(takeUntil(this.unsubscribe$)).subscribe(<span class="fstat-no" title="function not covered" >(c</span>onversation) => {</span>
|
|
3343
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] ***** DATAIL conversationsChanged *****', conversation, this.conversationWith, this.isConversationArchived);</span>
|
|
3344
|
+
<span class="cstat-no" title="statement not covered" > if(conversation && conversation.recipient === this.g.senderId && isUserBanned(conversation)){</span>
|
|
3345
|
+
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
3346
|
+
}
|
|
3347
|
+
<span class="cstat-no" title="statement not covered" > if(conversation && conversation.sender !== this.senderId){</span>
|
|
3348
|
+
const checkContentScrollPosition = <span class="cstat-no" title="statement not covered" >that.conversationContent.checkContentScrollPosition();</span>
|
|
3349
|
+
<span class="cstat-no" title="statement not covered" > if(checkContentScrollPosition && conversation.is_new){ //update conversation if scroolToBottom is to the end</span>
|
|
3350
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] updateConversationBadge...')</span>
|
|
3351
|
+
<span class="cstat-no" title="statement not covered" > that.updateConversationBadge();</span>
|
|
3352
|
+
}
|
|
3353
|
+
}
|
|
3354
|
+
});
|
|
3355
|
+
const subscribe = <span class="cstat-no" title="statement not covered" >{key: subscribtionKey, value: subscribtion };</span>
|
|
3356
|
+
<span class="cstat-no" title="statement not covered" > this.subscriptions.push(subscribe);</span>
|
|
3357
|
+
}
|
|
3358
|
+
|
|
3359
|
+
<span class="cstat-no" title="statement not covered" > subscribtionKey = 'messageWait';</span>
|
|
3360
|
+
<span class="cstat-no" title="statement not covered" > subscribtion = this.subscriptions.find(<span class="fstat-no" title="function not covered" >item </span>=> <span class="cstat-no" title="statement not covered" >item.key === subscribtionKey);</span></span>
|
|
3361
|
+
<span class="cstat-no" title="statement not covered" > if (!subscribtion) {</span>
|
|
3362
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] ***** add messageWait *****', this.conversationHandlerService);</span>
|
|
3363
|
+
<span class="cstat-no" title="statement not covered" > subscribtion = this.conversationHandlerService.messageWait.pipe(takeUntil(this.unsubscribe$)).subscribe(<span class="fstat-no" title="function not covered" >(d</span>ata: any) => {</span>
|
|
3364
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] ***** DETAIL messageWait *****', data);</span>
|
|
3365
|
+
<span class="cstat-no" title="statement not covered" > if (data && data.waitTime && data.waitTime !== 0) {</span>
|
|
3366
|
+
const isTypingUid = <span class="cstat-no" title="statement not covered" >data.uid;</span> //support-group-...
|
|
3367
|
+
<span class="cstat-no" title="statement not covered" > if (this.conversationId === isTypingUid) {</span>
|
|
3368
|
+
<span class="cstat-no" title="statement not covered" > that.subscribeTypings(data);</span>
|
|
3369
|
+
}
|
|
3370
|
+
}
|
|
3371
|
+
});
|
|
3372
|
+
const subscribe = <span class="cstat-no" title="statement not covered" >{key: subscribtionKey, value: subscribtion };</span>
|
|
3373
|
+
<span class="cstat-no" title="statement not covered" > this.subscriptions.push(subscribe);</span>
|
|
3374
|
+
}
|
|
3375
|
+
|
|
3376
|
+
<span class="cstat-no" title="statement not covered" > subscribtionKey = 'messageInfo';</span>
|
|
3377
|
+
<span class="cstat-no" title="statement not covered" > subscribtion = this.subscriptions.find(<span class="fstat-no" title="function not covered" >item </span>=> <span class="cstat-no" title="statement not covered" >item.key === subscribtionKey);</span></span>
|
|
3378
|
+
<span class="cstat-no" title="statement not covered" > if (!subscribtion) {</span>
|
|
3379
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] ***** add messageInfo *****', this.conversationHandlerService);</span>
|
|
3380
|
+
<span class="cstat-no" title="statement not covered" > subscribtion = this.conversationHandlerService.messageInfo.pipe(takeUntil(this.unsubscribe$)).subscribe(<span class="fstat-no" title="function not covered" >(d</span>ata: any) => {</span>
|
|
3381
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] ***** DETAIL messageInfo *****', data);</span>
|
|
3382
|
+
<span class="cstat-no" title="statement not covered" > if(data){</span>
|
|
3383
|
+
<span class="cstat-no" title="statement not covered" > this.updateLeadInfo(data)</span>
|
|
3384
|
+
}
|
|
3385
|
+
});
|
|
3386
|
+
const subscribe = <span class="cstat-no" title="statement not covered" >{key: subscribtionKey, value: subscribtion };</span>
|
|
3387
|
+
<span class="cstat-no" title="statement not covered" > this.subscriptions.push(subscribe);</span>
|
|
3388
|
+
}
|
|
3389
|
+
|
|
3390
|
+
<span class="cstat-no" title="statement not covered" > subscribtionKey = 'conversationTyping';</span>
|
|
3391
|
+
<span class="cstat-no" title="statement not covered" > subscribtion = this.subscriptions.find(<span class="fstat-no" title="function not covered" >item </span>=> <span class="cstat-no" title="statement not covered" >item.key === subscribtionKey);</span></span>
|
|
3392
|
+
<span class="cstat-no" title="statement not covered" > if (!subscribtion) {</span>
|
|
3393
|
+
<span class="cstat-no" title="statement not covered" > subscribtion = this.typingService.BSIsTyping.pipe(takeUntil(this.unsubscribe$)).subscribe(<span class="fstat-no" title="function not covered" >(d</span>ata: any) => {</span>
|
|
3394
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] ***** BSIsTyping *****', data);</span>
|
|
3395
|
+
<span class="cstat-no" title="statement not covered" > if (data) {</span>
|
|
3396
|
+
const isTypingUid = <span class="cstat-no" title="statement not covered" >data.uid;</span> //support-group-...
|
|
3397
|
+
<span class="cstat-no" title="statement not covered" > if (this.conversationId === isTypingUid) {</span>
|
|
3398
|
+
<span class="cstat-no" title="statement not covered" > that.subscribeTypings(data);</span>
|
|
3399
|
+
}
|
|
3400
|
+
}
|
|
3401
|
+
});
|
|
3402
|
+
const subscribe = <span class="cstat-no" title="statement not covered" >{key: subscribtionKey, value: subscribtion };</span>
|
|
3403
|
+
<span class="cstat-no" title="statement not covered" > this.subscriptions.push(subscribe);</span>
|
|
3404
|
+
}
|
|
3405
|
+
|
|
3406
|
+
}
|
|
3407
|
+
|
|
3408
|
+
<span class="fstat-no" title="function not covered" > checkMessagesLegntForTranscriptDownloadMenuOption(</span>){
|
|
3409
|
+
<span class="cstat-no" title="statement not covered" > if(this.messages.length > 1 && this.g.allowTranscriptDownload){</span>
|
|
3410
|
+
<span class="cstat-no" title="statement not covered" > this.isTrascriptDownloadEnabled = true</span>
|
|
3411
|
+
}
|
|
3412
|
+
}
|
|
3413
|
+
// NUOVO MESSAGGIO!!
|
|
3414
|
+
/**
|
|
3415
|
+
* se: non sto già scrollando oppure il messaggio l'ho inviato io -> scrollToBottom
|
|
3416
|
+
* altrimenti: se esiste scrollMe (div da scrollare) verifico la posizione
|
|
3417
|
+
* se: sono alla fine della pagina scrollo alla fine
|
|
3418
|
+
* altrimenti: aumento il badge
|
|
3419
|
+
*/
|
|
3420
|
+
<span class="fstat-no" title="function not covered" > newMessageAdded(</span>msg){
|
|
3421
|
+
const that = <span class="cstat-no" title="statement not covered" >this;</span>
|
|
3422
|
+
const senderId = <span class="cstat-no" title="statement not covered" >that.senderId;</span>
|
|
3423
|
+
<span class="cstat-no" title="statement not covered" > if (msg.sender === senderId) { //caso in cui sender manda msg</span>
|
|
3424
|
+
<span class="cstat-no" title="statement not covered" > that.logger.debug('[CONV-COMP] *A1-------');</span>
|
|
3425
|
+
<span class="cstat-no" title="statement not covered" > setTimeout(<span class="fstat-no" title="function not covered" >function () {</span></span>
|
|
3426
|
+
<span class="cstat-no" title="statement not covered" > that.conversationContent.scrollToBottom();</span>
|
|
3427
|
+
}, 200);
|
|
3428
|
+
} else <span class="cstat-no" title="statement not covered" >if (msg.sender !== senderId) { //caso in cui operatore manda msg</span>
|
|
3429
|
+
const checkContentScrollPosition = <span class="cstat-no" title="statement not covered" >that.conversationContent.checkContentScrollPosition();</span>
|
|
3430
|
+
<span class="cstat-no" title="statement not covered" > if (checkContentScrollPosition) {</span>
|
|
3431
|
+
<span class="cstat-no" title="statement not covered" > that.logger.debug('[CONV-COMP] *A2-------');</span>
|
|
3432
|
+
// https://developer.mozilla.org/it/docs/Web/API/Element/scrollHeight
|
|
3433
|
+
<span class="cstat-no" title="statement not covered" > setTimeout(<span class="fstat-no" title="function not covered" >function () {</span></span>
|
|
3434
|
+
<span class="cstat-no" title="statement not covered" > that.conversationContent.scrollToBottom();</span>
|
|
3435
|
+
}, 200);
|
|
3436
|
+
} else {
|
|
3437
|
+
<span class="cstat-no" title="statement not covered" > that.logger.debug('[CONV-COMP] *A3-------');</span>
|
|
3438
|
+
<span class="cstat-no" title="statement not covered" > that.messagesBadgeCount++;</span>
|
|
3439
|
+
// that.soundMessage(msg.timestamp);
|
|
3440
|
+
}
|
|
3441
|
+
|
|
3442
|
+
// check if sender can reply --> set footer active/disabled
|
|
3443
|
+
<span class="cstat-no" title="statement not covered" > if(msg.attributes && msg.attributes['disableInputMessage']){</span>
|
|
3444
|
+
<span class="cstat-no" title="statement not covered" > this.hideFooterTextReply = msg.attributes['disableInputMessage']</span>
|
|
3445
|
+
|
|
3446
|
+
} else <span class="cstat-no" title="statement not covered" >if (msg.attributes && !msg.attributes['disableInputMessage']) {</span>
|
|
3447
|
+
<span class="cstat-no" title="statement not covered" > this.hideFooterTextReply = false</span>
|
|
3448
|
+
}
|
|
3449
|
+
|
|
3450
|
+
// check if footer text placebolder exist --> set new footer text placeholder
|
|
3451
|
+
<span class="cstat-no" title="statement not covered" > if(msg.attributes && msg.attributes['inputMessagePlaceholder']) {</span>
|
|
3452
|
+
<span class="cstat-no" title="statement not covered" > this.footerMessagePlaceholder = msg.attributes['inputMessagePlaceholder']</span>
|
|
3453
|
+
}else {
|
|
3454
|
+
<span class="cstat-no" title="statement not covered" > this.footerMessagePlaceholder = '';</span>
|
|
3455
|
+
}
|
|
3456
|
+
}
|
|
3457
|
+
|
|
3458
|
+
}
|
|
3459
|
+
|
|
3460
|
+
<span class="fstat-no" title="function not covered" > updateLeadInfo(</span>msg){
|
|
3461
|
+
//check if user has changed userFullname and userEmail
|
|
3462
|
+
<span class="cstat-no" title="statement not covered" > if (msg.attributes && msg.attributes['updateUserFullname']) {</span>
|
|
3463
|
+
const userFullname = <span class="cstat-no" title="statement not covered" >msg.attributes['updateUserFullname'];</span>
|
|
3464
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] newMessageAdded --> updateUserFullname', userFullname)</span>
|
|
3465
|
+
<span class="cstat-no" title="statement not covered" > this.g.setAttributeParameter('userFullname', userFullname);</span>
|
|
3466
|
+
<span class="cstat-no" title="statement not covered" > this.g.setParameter('userFullname', userFullname);</span>
|
|
3467
|
+
<span class="cstat-no" title="statement not covered" > this.appStorageService.setItem('attributes', JSON.stringify(this.g.attributes));</span>
|
|
3468
|
+
}
|
|
3469
|
+
<span class="cstat-no" title="statement not covered" > if (msg.attributes && msg.attributes['updateUserEmail']) {</span>
|
|
3470
|
+
const userEmail = <span class="cstat-no" title="statement not covered" >msg.attributes['updateUserEmail'];</span>
|
|
3471
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] newMessageAdded --> userEmail', userEmail)</span>
|
|
3472
|
+
<span class="cstat-no" title="statement not covered" > this.g.setAttributeParameter('userEmail', userEmail);</span>
|
|
3473
|
+
<span class="cstat-no" title="statement not covered" > this.g.setParameter('userEmail', userEmail);</span>
|
|
3474
|
+
<span class="cstat-no" title="statement not covered" > this.appStorageService.setItem('attributes', JSON.stringify(this.g.attributes));</span>
|
|
3475
|
+
}
|
|
3476
|
+
}
|
|
3477
|
+
|
|
3478
|
+
<span class="fstat-no" title="function not covered" > updateUserInfo(</span>customAttributes){
|
|
3479
|
+
<span class="cstat-no" title="statement not covered" > if (customAttributes && customAttributes['userFullname']) {</span>
|
|
3480
|
+
const userFullname = <span class="cstat-no" title="statement not covered" >customAttributes['userFullname'];</span>
|
|
3481
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] updateUserInfo --> userFullname', userFullname)</span>
|
|
3482
|
+
<span class="cstat-no" title="statement not covered" > this.g.setAttributeParameter('userFullname', userFullname);</span>
|
|
3483
|
+
<span class="cstat-no" title="statement not covered" > this.g.setParameter('userFullname', userFullname);</span>
|
|
3484
|
+
}
|
|
3485
|
+
<span class="cstat-no" title="statement not covered" > if (customAttributes && customAttributes['userEmail']) {</span>
|
|
3486
|
+
const userEmail = <span class="cstat-no" title="statement not covered" >customAttributes['userEmail'];</span>
|
|
3487
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] updateUserInfo --> userEmail', userEmail)</span>
|
|
3488
|
+
<span class="cstat-no" title="statement not covered" > this.g.setAttributeParameter('userEmail', userEmail);</span>
|
|
3489
|
+
<span class="cstat-no" title="statement not covered" > this.g.setParameter('userEmail', userEmail);</span>
|
|
3490
|
+
}
|
|
3491
|
+
<span class="cstat-no" title="statement not covered" > this.appStorageService.setItem('attributes', JSON.stringify(this.g.attributes));</span>
|
|
3492
|
+
}
|
|
3493
|
+
|
|
3494
|
+
<span class="fstat-no" title="function not covered" > scrollToBottom(</span>) {
|
|
3495
|
+
<span class="cstat-no" title="statement not covered" > this.conversationContent.scrollToBottom();</span>
|
|
3496
|
+
// const that = this;
|
|
3497
|
+
// try {
|
|
3498
|
+
// that.isScrolling = true;
|
|
3499
|
+
// const objDiv = document.getElementById(that.idDivScroll) as HTMLElement;
|
|
3500
|
+
// console.log('divto scrool', objDiv);
|
|
3501
|
+
// // const element = objDiv[0] as HTMLElement;
|
|
3502
|
+
// setTimeout(function () {
|
|
3503
|
+
|
|
3504
|
+
// if (that.isIE === true || withoutAnimation === true || that.firstScroll === true) {
|
|
3505
|
+
// objDiv.parentElement.classList.add('withoutAnimation');
|
|
3506
|
+
// } else {
|
|
3507
|
+
// objDiv.parentElement.classList.remove('withoutAnimation');
|
|
3508
|
+
// }
|
|
3509
|
+
// objDiv.parentElement.scrollTop = objDiv.scrollHeight;
|
|
3510
|
+
// objDiv.style.opacity = '1';
|
|
3511
|
+
// that.firstScroll = false;
|
|
3512
|
+
// }, 0);
|
|
3513
|
+
// } catch (err) {
|
|
3514
|
+
// that.g.wdLog(['> Error :' + err]);
|
|
3515
|
+
// }
|
|
3516
|
+
// that.isScrolling = false;
|
|
3517
|
+
}
|
|
3518
|
+
|
|
3519
|
+
// ========= end:: functions scroll position ======= //
|
|
3520
|
+
|
|
3521
|
+
|
|
3522
|
+
// =========== BEGIN: event emitter function ====== //
|
|
3523
|
+
/** CALLED BY: conv-header component */
|
|
3524
|
+
<span class="fstat-no" title="function not covered" > onBackHomeFN(</span>) {
|
|
3525
|
+
//this.storageService.removeItem('activeConversation');
|
|
3526
|
+
//this.g.setParameter('activeConversation', null, false);
|
|
3527
|
+
<span class="cstat-no" title="statement not covered" > this.onBackHome.emit();</span>
|
|
3528
|
+
}
|
|
3529
|
+
/** CALLED BY: conv-header component */
|
|
3530
|
+
<span class="fstat-no" title="function not covered" > onCloseWidgetFN(</span>) {
|
|
3531
|
+
//this.g.setParameter('activeConversation', null, false);
|
|
3532
|
+
<span class="cstat-no" title="statement not covered" > this.onCloseWidget.emit();</span>
|
|
3533
|
+
}
|
|
3534
|
+
/** CALLED BY: conv-header component */
|
|
3535
|
+
<span class="fstat-no" title="function not covered" > onSoundChangeFN(</span>soundEnabled){
|
|
3536
|
+
<span class="cstat-no" title="statement not covered" > this.onSoundChange.emit(soundEnabled)</span>
|
|
3537
|
+
}
|
|
3538
|
+
/** CALLED BY: conv-header component */
|
|
3539
|
+
<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" > onCloseChat(</span></span>event){
|
|
3540
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] close chat with uid ', this.conversation.uid)</span>
|
|
3541
|
+
<span class="cstat-no" title="statement not covered" > this.tiledeskRequestService.closeSupportGroup(this.conversation.uid).then(<span class="fstat-no" title="function not covered" >data </span>=> {</span>
|
|
3542
|
+
<span class="cstat-no" title="statement not covered" > if(data === 'closed'){</span>
|
|
3543
|
+
<span class="cstat-no" title="statement not covered" > this.isMenuShow = false</span>
|
|
3544
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] chat closed successfully with uid ', this.conversation.uid)</span>
|
|
3545
|
+
}
|
|
3546
|
+
}).catch(<span class="fstat-no" title="function not covered" >error </span>=> {
|
|
3547
|
+
<span class="cstat-no" title="statement not covered" > this.logger.error('[CONV-COMP] ERROR while closing chat with id: ', this.conversation.uid, error)</span>
|
|
3548
|
+
})
|
|
3549
|
+
}
|
|
3550
|
+
/** CALLED BY: conv-header component */
|
|
3551
|
+
<span class="fstat-no" title="function not covered" > onRestartChat(</span>event){
|
|
3552
|
+
<span class="cstat-no" title="statement not covered" > this.hideTextAreaContent = true</span>
|
|
3553
|
+
}
|
|
3554
|
+
/** CALLED BY: conv-header component */
|
|
3555
|
+
<span class="fstat-no" title="function not covered" > onWidgetHeightChange(</span>mode){
|
|
3556
|
+
var tiledeskDiv = <span class="cstat-no" title="statement not covered" >this.g.windowContext.window.document.getElementById('tiledeskdiv') </span>
|
|
3557
|
+
<span class="cstat-no" title="statement not covered" > if(mode==='max'){</span>
|
|
3558
|
+
<span class="cstat-no" title="statement not covered" > tiledeskDiv.style.maxHeight = 'unset'</span>
|
|
3559
|
+
}else <span class="cstat-no" title="statement not covered" >if(mode==='min'){</span>
|
|
3560
|
+
<span class="cstat-no" title="statement not covered" > tiledeskDiv.style.maxHeight = '620px'</span>
|
|
3561
|
+
}
|
|
3562
|
+
<span class="cstat-no" title="statement not covered" > this.isMenuShow = false;</span>
|
|
3563
|
+
}
|
|
3564
|
+
/** CALLED BY: conv-header component */
|
|
3565
|
+
<span class="fstat-no" title="function not covered" > onSignOutFN(</span>event){
|
|
3566
|
+
<span class="cstat-no" title="statement not covered" > this.onSignOut.emit(true)</span>
|
|
3567
|
+
}
|
|
3568
|
+
/** CALLED BY: conv-header conv-content component */
|
|
3569
|
+
<span class="fstat-no" title="function not covered" > onMenuOption(</span>event:boolean){
|
|
3570
|
+
<span class="cstat-no" title="statement not covered" > this.isMenuShow = event;</span>
|
|
3571
|
+
<span class="cstat-no" title="statement not covered" > this.conversationFooter.removeFocusOnId('chat21-main-message-context')</span>
|
|
3572
|
+
}
|
|
3573
|
+
|
|
3574
|
+
/** CALLED BY: conv-content component */
|
|
3575
|
+
<span class="fstat-no" title="function not covered" > onBeforeMessageRenderFN(</span>event){
|
|
3576
|
+
<span class="cstat-no" title="statement not covered" > this.onBeforeMessageRender.emit(event)</span>
|
|
3577
|
+
}
|
|
3578
|
+
/** CALLED BY: conv-content component */
|
|
3579
|
+
<span class="fstat-no" title="function not covered" > onAfterMessageRenderFN(</span>event){
|
|
3580
|
+
<span class="cstat-no" title="statement not covered" > this.onAfterMessageRender.emit(event)</span>
|
|
3581
|
+
}
|
|
3582
|
+
/** CALLED BY: conv-content component */
|
|
3583
|
+
<span class="fstat-no" title="function not covered" > onAttachmentButtonClicked(</span>event: any) {
|
|
3584
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] eventbutton', event)</span>
|
|
3585
|
+
<span class="cstat-no" title="statement not covered" > if (!event || !event.target.type) {</span>
|
|
3586
|
+
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
3587
|
+
}
|
|
3588
|
+
<span class="cstat-no" title="statement not covered" > switch (event.target.type) {</span>
|
|
3589
|
+
case 'url':
|
|
3590
|
+
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
3591
|
+
<span class="cstat-no" title="statement not covered" > this.openLink(event.target.button);</span>
|
|
3592
|
+
} catch (err) {
|
|
3593
|
+
<span class="cstat-no" title="statement not covered" > this.logger.error('[CONV-COMP] url > Error :' + err);</span>
|
|
3594
|
+
}
|
|
3595
|
+
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
3596
|
+
case 'action':
|
|
3597
|
+
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
3598
|
+
<span class="cstat-no" title="statement not covered" > this.actionButton(event.target.button);</span>
|
|
3599
|
+
} catch (err) {
|
|
3600
|
+
<span class="cstat-no" title="statement not covered" > this.logger.error('[CONV-COMP] action > Error :' + err);</span>
|
|
3601
|
+
}
|
|
3602
|
+
<span class="cstat-no" title="statement not covered" > return false;</span>
|
|
3603
|
+
case 'text':
|
|
3604
|
+
<span class="cstat-no" title="statement not covered" > try{</span>
|
|
3605
|
+
const text = <span class="cstat-no" title="statement not covered" >event.target.button.value</span>
|
|
3606
|
+
const metadata = <span class="cstat-no" title="statement not covered" >{ 'button': true };</span>
|
|
3607
|
+
<span class="cstat-no" title="statement not covered" > this.conversationFooter.sendMessage(text, TYPE_MSG_TEXT, metadata);</span>
|
|
3608
|
+
}catch(err){
|
|
3609
|
+
<span class="cstat-no" title="statement not covered" > this.logger.error('[CONV-COMP] text > Error :' + err);</span>
|
|
3610
|
+
}
|
|
3611
|
+
default: <span class="cstat-no" title="statement not covered" >return;</span>
|
|
3612
|
+
}
|
|
3613
|
+
}
|
|
3614
|
+
|
|
3615
|
+
/** CALLED BY: conv-content component */
|
|
3616
|
+
<span class="fstat-no" title="function not covered" > onScrollContent(</span>event: boolean){
|
|
3617
|
+
<span class="cstat-no" title="statement not covered" > this.showBadgeScroollToBottom = !event;</span>
|
|
3618
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] scroool eventtt', event)</span>
|
|
3619
|
+
//se sono alla fine (showBadgeScroollBottom === true) allora imposto messageBadgeCount a 0
|
|
3620
|
+
<span class="cstat-no" title="statement not covered" > if(!this.showBadgeScroollToBottom){</span>
|
|
3621
|
+
<span class="cstat-no" title="statement not covered" > this.messagesBadgeCount = 0;</span>
|
|
3622
|
+
<span class="cstat-no" title="statement not covered" > this.updateConversationBadge();</span>
|
|
3623
|
+
}
|
|
3624
|
+
|
|
3625
|
+
}
|
|
3626
|
+
|
|
3627
|
+
/** CALLED BY: conv-internal-frame component */
|
|
3628
|
+
<span class="fstat-no" title="function not covered" > onOpenExternalFrame(</span>event){
|
|
3629
|
+
<span class="cstat-no" title="statement not covered" > window.open(event.link, '_blank');</span>
|
|
3630
|
+
}
|
|
3631
|
+
/** CALLED BY: conv-internal-frame component */
|
|
3632
|
+
<span class="fstat-no" title="function not covered" > onCloseInternalFrame(</span>event){
|
|
3633
|
+
<span class="cstat-no" title="statement not covered" > this.isButtonUrl = false</span>
|
|
3634
|
+
<span class="cstat-no" title="statement not covered" > this.buttonClicked = null;</span>
|
|
3635
|
+
<span class="cstat-no" title="statement not covered" > this.restoreDefaultWidgetSize();</span>
|
|
3636
|
+
}
|
|
3637
|
+
|
|
3638
|
+
/** CALLED BY: conv-preview component */
|
|
3639
|
+
<span class="fstat-no" title="function not covered" > onSendAttachment(</span>messageText: string){
|
|
3640
|
+
<span class="cstat-no" title="statement not covered" > this.isOpenAttachmentPreview = false</span>
|
|
3641
|
+
<span class="cstat-no" title="statement not covered" > this.conversationFooter.uploadSingle(this.attachments[0].metadata, this.attachments[0].file, messageText)</span>
|
|
3642
|
+
// send message to footer-component
|
|
3643
|
+
}
|
|
3644
|
+
/** CALLED BY: conv-preview component */
|
|
3645
|
+
<span class="fstat-no" title="function not covered" > onCloseModalPreview(</span>){
|
|
3646
|
+
<span class="cstat-no" title="statement not covered" > this.isOpenAttachmentPreview = false</span>
|
|
3647
|
+
<span class="cstat-no" title="statement not covered" > this.conversationFooter.isFilePendingToUpload = false;</span>
|
|
3648
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] onCloseModalPreview::::', this.isOpenAttachmentPreview, this.conversationFooter)</span>
|
|
3649
|
+
}
|
|
3650
|
+
|
|
3651
|
+
/** CALLED BY: conv-footer conv-content component */
|
|
3652
|
+
<span class="fstat-no" title="function not covered" > onEmojiiPickerShow(</span>event:boolean){
|
|
3653
|
+
<span class="cstat-no" title="statement not covered" > this.isEmojiiPickerShow = event</span>
|
|
3654
|
+
}
|
|
3655
|
+
/** CALLED BY: conv-footer component */
|
|
3656
|
+
<span class="fstat-no" title="function not covered" > onBeforeMessangeSentFN(</span>messageModel){
|
|
3657
|
+
<span class="cstat-no" title="statement not covered" > this.onBeforeMessageSent.emit(messageModel)</span>
|
|
3658
|
+
}
|
|
3659
|
+
/** CALLED BY: conv-footer component */
|
|
3660
|
+
<span class="fstat-no" title="function not covered" > onAfterSendMessageFN(</span>message: MessageModel){
|
|
3661
|
+
<span class="cstat-no" title="statement not covered" > this.onAfterSendMessage.emit(message)</span>
|
|
3662
|
+
}
|
|
3663
|
+
/** CALLED BY: conv-footer component */
|
|
3664
|
+
<span class="fstat-no" title="function not covered" > onChangeTextArea(</span>event){
|
|
3665
|
+
<span class="cstat-no" title="statement not covered" > if(event && event.textAreaEl){</span>
|
|
3666
|
+
const scrollDiv = <span class="cstat-no" title="statement not covered" >this.conversationContent.scrollMe</span>
|
|
3667
|
+
const height = <span class="cstat-no" title="statement not covered" >+event.textAreaEl.style.height.substring(0, event.textAreaEl.style.height.length - 2);</span>
|
|
3668
|
+
<span class="cstat-no" title="statement not covered" > if(height > 20 && height < 110){</span>
|
|
3669
|
+
<span class="cstat-no" title="statement not covered" > scrollDiv.nativeElement.style.height = 'calc(100% - ' + (height - 20)+'px'</span>
|
|
3670
|
+
// document.getElementById('chat21-button-send').style.right = '18px'
|
|
3671
|
+
<span class="cstat-no" title="statement not covered" > this.scrollToBottom()</span>
|
|
3672
|
+
} else <span class="cstat-no" title="statement not covered" >if(height <= 20) {</span>
|
|
3673
|
+
<span class="cstat-no" title="statement not covered" > scrollDiv.nativeElement.style.height = '100%'</span>
|
|
3674
|
+
} else <span class="cstat-no" title="statement not covered" >if(height > 110){</span>
|
|
3675
|
+
// document.getElementById('chat21-button-send').style.right = '18px'
|
|
3676
|
+
}
|
|
3677
|
+
}
|
|
3678
|
+
}
|
|
3679
|
+
/** CALLED BY: conv-footer component */
|
|
3680
|
+
<span class="fstat-no" title="function not covered" > onAttachmentFileButtonClicked(</span>event: any){
|
|
3681
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] onAttachmentButtonClicked::::', event)</span>
|
|
3682
|
+
<span class="cstat-no" title="statement not covered" > this.attachments = event.attachments</span>
|
|
3683
|
+
<span class="cstat-no" title="statement not covered" > this.textInputTextArea= event.message</span>
|
|
3684
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] onAttachmentButtonClicked::::', this.textInputTextArea)</span>
|
|
3685
|
+
<span class="cstat-no" title="statement not covered" > this.isOpenAttachmentPreview = true</span>
|
|
3686
|
+
}
|
|
3687
|
+
/** CALLED BY: conv-footer floating-button component */
|
|
3688
|
+
<span class="fstat-no" title="function not covered" > onNewConversationButtonClickedFN(</span>event){
|
|
3689
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] floating onNewConversationButtonClicked')</span>
|
|
3690
|
+
<span class="cstat-no" title="statement not covered" > this.onNewConversationButtonClicked.emit()</span>
|
|
3691
|
+
}
|
|
3692
|
+
/** CALLED BY: conv-footer floating-button component */
|
|
3693
|
+
<span class="fstat-no" title="function not covered" > onBackButton(</span>event: boolean){
|
|
3694
|
+
<span class="cstat-no" title="statement not covered" > this.hideTextAreaContent = event;</span>
|
|
3695
|
+
<span class="cstat-no" title="statement not covered" > try{</span>
|
|
3696
|
+
const tiledeskDiv = <span class="cstat-no" title="statement not covered" >document.getElementById('chat21-footer')</span>
|
|
3697
|
+
<span class="cstat-no" title="statement not covered" > tiledeskDiv.classList.remove('maximize-width')</span>
|
|
3698
|
+
// tiledeskDiv.style.width = '376px'
|
|
3699
|
+
// tiledeskDiv.style.maxHeight = '620px'
|
|
3700
|
+
}catch(e){
|
|
3701
|
+
<span class="cstat-no" title="statement not covered" > this.logger.error('[CONV-COMP] onBackButton > Error :' + e);</span>
|
|
3702
|
+
}
|
|
3703
|
+
|
|
3704
|
+
}
|
|
3705
|
+
// =========== END: event emitter function ====== //
|
|
3706
|
+
|
|
3707
|
+
|
|
3708
|
+
<span class="fstat-no" title="function not covered" > openInputFiles(</span>) {
|
|
3709
|
+
<span class="cstat-no" title="statement not covered" > alert('ok');</span>
|
|
3710
|
+
<span class="cstat-no" title="statement not covered" > if (document.getElementById('chat21-file')) {</span>
|
|
3711
|
+
const docInput = <span class="cstat-no" title="statement not covered" >document.getElementById('chat21-file');</span>
|
|
3712
|
+
<span class="cstat-no" title="statement not covered" > docInput.style.display = 'block';</span>
|
|
3713
|
+
}
|
|
3714
|
+
}
|
|
3715
|
+
|
|
3716
|
+
|
|
3717
|
+
|
|
3718
|
+
// ========= begin:: DESTROY ALL SUBSCRIPTIONS ============//
|
|
3719
|
+
/** elimino tutte le sottoscrizioni */
|
|
3720
|
+
ngOnDestroy() {
|
|
3721
|
+
this.logger.debug('[CONV-COMP] ngOnDestroy ------------------> this.subscriptions', this.subscriptions);
|
|
3722
|
+
//this.storageService.removeItem('activeConversation');
|
|
3723
|
+
this.isConversationArchived = false;
|
|
3724
|
+
this.hideTextAreaContent = false;
|
|
3725
|
+
this.conversationFooter.textInputTextArea='';
|
|
3726
|
+
<span class="cstat-no" title="statement not covered" > this.hideFooterTextReply = false;</span>
|
|
3727
|
+
<span class="cstat-no" title="statement not covered" > this.footerMessagePlaceholder = '';</span>
|
|
3728
|
+
<span class="cstat-no" title="statement not covered" > this.unsubscribe();</span>
|
|
3729
|
+
}
|
|
3730
|
+
|
|
3731
|
+
/** */
|
|
3732
|
+
<span class="fstat-no" title="function not covered" > unsubscribe(</span>) {
|
|
3733
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] ******* unsubscribe *******');</span>
|
|
3734
|
+
<span class="cstat-no" title="statement not covered" > this.unsubscribe$.next();</span>
|
|
3735
|
+
<span class="cstat-no" title="statement not covered" > this.unsubscribe$.complete();</span>
|
|
3736
|
+
<span class="cstat-no" title="statement not covered" > this.chatManager.conversationsHandlerService.conversationRemoved.next(null)</span>
|
|
3737
|
+
<span class="cstat-no" title="statement not covered" > this.conversationHandlerService.messageWait.next(null)</span>
|
|
3738
|
+
<span class="cstat-no" title="statement not covered" > this.typingService.BSIsTyping.next(null)</span>
|
|
3739
|
+
|
|
3740
|
+
// TODO-GAB: da verificare se eliminarlo
|
|
3741
|
+
<span class="cstat-no" title="statement not covered" > this.subscriptions.forEach(<span class="fstat-no" title="function not covered" >function (s</span>ubscription) {</span>
|
|
3742
|
+
<span class="cstat-no" title="statement not covered" > subscription.value.unsubscribe();</span>
|
|
3743
|
+
});
|
|
3744
|
+
<span class="cstat-no" title="statement not covered" > this.subscriptions = [];</span>
|
|
3745
|
+
<span class="cstat-no" title="statement not covered" > this.subscriptions.length = 0;</span>
|
|
3746
|
+
//this.messagingService.unsubscribeAllReferences();
|
|
3747
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP]this.subscriptions', this.subscriptions);</span>
|
|
3748
|
+
}
|
|
3749
|
+
// ========= end:: DESTROY ALL SUBSCRIPTIONS ============//
|
|
3750
|
+
|
|
3751
|
+
|
|
3752
|
+
|
|
3753
|
+
/**
|
|
3754
|
+
* regola sound message:
|
|
3755
|
+
* se lo invio io -> NO SOUND
|
|
3756
|
+
* se non sono nella conversazione -> SOUND
|
|
3757
|
+
* se sono nella conversazione in fondo alla pagina -> NO SOUND
|
|
3758
|
+
* altrimenti -> SOUND
|
|
3759
|
+
*/
|
|
3760
|
+
// soundMessage(timestamp?) {
|
|
3761
|
+
// if (!isJustRecived(this.g.startedAt.getTime(), timestamp)) {
|
|
3762
|
+
// return;
|
|
3763
|
+
// }
|
|
3764
|
+
// const soundEnabled = this.g.soundEnabled;
|
|
3765
|
+
// const baseLocation = this.g.baseLocation;
|
|
3766
|
+
// if ( soundEnabled ) {
|
|
3767
|
+
// const that = this;
|
|
3768
|
+
// this.audio = new Audio();
|
|
3769
|
+
// this.audio.src = baseLocation + '/assets/sounds/justsaying.mp3';
|
|
3770
|
+
// this.audio.load();
|
|
3771
|
+
// // console.log('conversation play');
|
|
3772
|
+
// clearTimeout(this.setTimeoutSound);
|
|
3773
|
+
// this.setTimeoutSound = setTimeout(function () {
|
|
3774
|
+
// that.audio.play();
|
|
3775
|
+
// that.logger.debug('[CONV-COMP] ****** soundMessage 1 *****', that.audio.src);
|
|
3776
|
+
// }, 1000);
|
|
3777
|
+
// }
|
|
3778
|
+
// }
|
|
3779
|
+
<span class="fstat-no" title="function not covered" > private o</span>nIncreaseWith(){
|
|
3780
|
+
<span class="cstat-no" title="statement not covered" > try{</span>
|
|
3781
|
+
const tiledeskDiv = <span class="cstat-no" title="statement not covered" >this.g.windowContext.window.document.getElementById('tiledeskdiv') </span>
|
|
3782
|
+
<span class="cstat-no" title="statement not covered" > tiledeskDiv.classList.add('increaseSize')</span>
|
|
3783
|
+
const chat21conversations = <span class="cstat-no" title="statement not covered" >document.getElementById('chat21-conversations')</span>
|
|
3784
|
+
<span class="cstat-no" title="statement not covered" > chat21conversations.style.borderRadius = '16px'</span>
|
|
3785
|
+
// tiledeskDiv.style.width = '696px'
|
|
3786
|
+
// tiledeskDiv.style.maxHeight = '712px'
|
|
3787
|
+
}catch(e){
|
|
3788
|
+
<span class="cstat-no" title="statement not covered" > this.logger.error('[CONV-COMP] onIncreaseWith > Error :' + e);</span>
|
|
3789
|
+
}
|
|
3790
|
+
}
|
|
3791
|
+
|
|
3792
|
+
<span class="fstat-no" title="function not covered" > private r</span>estoreDefaultWidgetSize(){
|
|
3793
|
+
<span class="cstat-no" title="statement not covered" > try{</span>
|
|
3794
|
+
const tiledeskDiv = <span class="cstat-no" title="statement not covered" >this.g.windowContext.window.document.getElementById('tiledeskdiv') </span>
|
|
3795
|
+
<span class="cstat-no" title="statement not covered" > tiledeskDiv.classList.remove('increaseSize')</span>
|
|
3796
|
+
<span class="cstat-no" title="statement not covered" > tiledeskDiv.classList.remove('decreaseSize')</span>
|
|
3797
|
+
// tiledeskDiv.style.width = '376px'
|
|
3798
|
+
// tiledeskDiv.style.maxHeight = '620px'
|
|
3799
|
+
}catch(e){
|
|
3800
|
+
<span class="cstat-no" title="statement not covered" > this.logger.error('[CONV-COMP] restoreDefaultWidgetSize > Error :' + e);</span>
|
|
3801
|
+
}
|
|
3802
|
+
}
|
|
3803
|
+
|
|
3804
|
+
|
|
3805
|
+
/** */
|
|
3806
|
+
<span class="fstat-no" title="function not covered" > private o</span>penLink(event: any) {
|
|
3807
|
+
const link = <span class="cstat-no" title="statement not covered" >event.link ? event.link : '';</span>
|
|
3808
|
+
const target = <span class="cstat-no" title="statement not covered" >event.target ? event.target : '';</span>
|
|
3809
|
+
// this.onIncreaseWith()
|
|
3810
|
+
<span class="cstat-no" title="statement not covered" > if (target === 'self') {</span>
|
|
3811
|
+
// window.open(link, '_self');
|
|
3812
|
+
<span class="cstat-no" title="statement not covered" > this.isButtonUrl= true;</span>
|
|
3813
|
+
<span class="cstat-no" title="statement not covered" > this.buttonClicked = event</span>
|
|
3814
|
+
|
|
3815
|
+
} else <span class="cstat-no" title="statement not covered" >if (target === 'parent') {</span>
|
|
3816
|
+
<span class="cstat-no" title="statement not covered" > window.open(link, '_parent');</span>
|
|
3817
|
+
} else {
|
|
3818
|
+
<span class="cstat-no" title="statement not covered" > window.open(link, '_blank');</span>
|
|
3819
|
+
}
|
|
3820
|
+
}
|
|
3821
|
+
|
|
3822
|
+
/** */
|
|
3823
|
+
<span class="fstat-no" title="function not covered" > private a</span>ctionButton(event: any) {
|
|
3824
|
+
// console.log(event);
|
|
3825
|
+
const action = <span class="cstat-no" title="statement not covered" >event.action ? event.action : '';</span>
|
|
3826
|
+
const message = <span class="cstat-no" title="statement not covered" >event.value ? event.value : '';</span>
|
|
3827
|
+
const subtype = <span class="cstat-no" title="statement not covered" >event.show_echo ? '' : 'info';</span>
|
|
3828
|
+
|
|
3829
|
+
const attributes = <span class="cstat-no" title="statement not covered" >{</span>
|
|
3830
|
+
action: action,
|
|
3831
|
+
subtype: subtype
|
|
3832
|
+
};
|
|
3833
|
+
<span class="cstat-no" title="statement not covered" > this.conversationFooter.sendMessage(message, TYPE_MSG_TEXT, null, attributes);</span>
|
|
3834
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] > action :');</span>
|
|
3835
|
+
}
|
|
3836
|
+
|
|
3837
|
+
|
|
3838
|
+
// ========= START:: TRIGGER FUNCTIONS ============//
|
|
3839
|
+
<span class="fstat-no" title="function not covered" > private o</span>nNewConversationComponentInit() {
|
|
3840
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-COMP] ------- onNewConversationComponentInit ------- ');</span>
|
|
3841
|
+
<span class="cstat-no" title="statement not covered" > this.setConversation();</span>
|
|
3842
|
+
// this.connectConversation();
|
|
3843
|
+
const newConvId = <span class="cstat-no" title="statement not covered" >this.conversationWith;</span>
|
|
3844
|
+
const default_settings = <span class="cstat-no" title="statement not covered" >this.g.default_settings;</span>
|
|
3845
|
+
const appConfigs = <span class="cstat-no" title="statement not covered" >this.appConfigService.getConfig();</span>
|
|
3846
|
+
|
|
3847
|
+
<span class="cstat-no" title="statement not covered" > this.onNewConversationInit.emit({ global: this.g, default_settings: default_settings, newConvId: newConvId, appConfigs: appConfigs })</span>
|
|
3848
|
+
}
|
|
3849
|
+
// ========= END:: TRIGGER FUNCTIONS ============//
|
|
3850
|
+
|
|
3851
|
+
}
|
|
3852
|
+
</pre></td></tr></table></pre>
|
|
3853
|
+
|
|
3854
|
+
<div class='push'></div><!-- for sticky footer -->
|
|
3855
|
+
</div><!-- /wrapper -->
|
|
3856
|
+
<div class='footer quiet pad2 space-top1 center small'>
|
|
3857
|
+
Code coverage generated by
|
|
3858
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
3859
|
+
at Tue Nov 29 2022 09:13:07 GMT+0100 (Ora standard dell’Europa centrale)
|
|
3860
|
+
</div>
|
|
3861
|
+
<script src="../../../../../prettify.js"></script>
|
|
3862
|
+
<script>
|
|
3863
|
+
window.onload = function () {
|
|
3864
|
+
prettyPrint();
|
|
3865
|
+
};
|
|
3866
|
+
</script>
|
|
3867
|
+
<script src="../../../../../sorter.js"></script>
|
|
3868
|
+
<script src="../../../../../block-navigation.js"></script>
|
|
3869
|
+
</body>
|
|
3870
|
+
</html>
|
|
3871
|
+
|