@saooti/octopus-sdk 30.0.8 → 30.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/README.md +5 -1
  2. package/index.ts +5 -2
  3. package/package.json +1 -1
  4. package/src/assets/bootstrap-diff.scss +16 -27
  5. package/src/assets/form.scss +9 -38
  6. package/src/assets/general.scss +50 -154
  7. package/src/assets/live.scss +39 -0
  8. package/src/assets/modal.scss +14 -18
  9. package/src/assets/multiselect.scss +4 -85
  10. package/src/assets/octopus-library.scss +1 -0
  11. package/src/assets/share.scss +149 -256
  12. package/src/assets/transition.scss +95 -1
  13. package/src/components/display/categories/CategoryChooser.vue +1 -1
  14. package/src/components/display/categories/CategoryList.vue +2 -4
  15. package/src/components/display/comments/CommentInput.vue +2 -2
  16. package/src/components/display/comments/CommentItem.vue +6 -7
  17. package/src/components/display/comments/CommentParentInfo.vue +1 -1
  18. package/src/components/display/edit/EditCommentBox.vue +8 -16
  19. package/src/components/display/emission/EmissionChooser.vue +1 -3
  20. package/src/components/display/emission/EmissionInlineList.vue +11 -2
  21. package/src/components/display/emission/EmissionItem.vue +22 -64
  22. package/src/components/display/emission/EmissionList.vue +59 -68
  23. package/src/components/display/emission/EmissionPlayerItem.vue +9 -8
  24. package/src/components/display/filter/AdvancedSearch.vue +11 -45
  25. package/src/components/display/filter/MonetizableFilter.vue +2 -4
  26. package/src/components/display/filter/ProductorSearch.vue +0 -1
  27. package/src/components/display/filter/RubriqueChoice.vue +4 -6
  28. package/src/components/display/filter/RubriqueFilter.vue +0 -1
  29. package/src/components/display/live/CountDown.vue +4 -2
  30. package/src/components/display/live/LiveHorizontalList.vue +1 -1
  31. package/src/components/display/live/LiveItem.vue +4 -4
  32. package/src/components/display/live/LiveList.vue +84 -214
  33. package/src/components/display/organisation/OrganisationChooser.vue +5 -26
  34. package/src/components/display/participant/ParticipantItem.vue +7 -19
  35. package/src/components/display/participant/ParticipantList.vue +39 -52
  36. package/src/components/display/playlist/PlaylistItem.vue +1 -1
  37. package/src/components/display/playlist/PlaylistList.vue +8 -14
  38. package/src/components/display/playlist/PodcastList.vue +14 -22
  39. package/src/components/display/podcasts/AnimatorsItem.vue +0 -1
  40. package/src/components/display/podcasts/ParticipantDescription.vue +4 -16
  41. package/src/components/display/podcasts/PodcastFilterList.vue +13 -47
  42. package/src/components/display/podcasts/PodcastImage.vue +26 -83
  43. package/src/components/display/podcasts/PodcastInlineList.vue +13 -35
  44. package/src/components/display/podcasts/PodcastItem.vue +4 -4
  45. package/src/components/display/podcasts/PodcastList.vue +7 -14
  46. package/src/components/display/podcasts/PodcastModuleBox.vue +9 -28
  47. package/src/components/display/podcasts/TagList.vue +2 -3
  48. package/src/components/display/rubriques/RubriqueChooser.vue +2 -2
  49. package/src/components/display/rubriques/RubriqueList.vue +5 -25
  50. package/src/components/display/sharing/PlayerParameters.vue +6 -26
  51. package/src/components/display/sharing/ShareButtons.vue +21 -45
  52. package/src/components/display/sharing/ShareDistribution.vue +1 -7
  53. package/src/components/display/sharing/SharePlayer.vue +2 -2
  54. package/src/components/display/sharing/SharePlayerColors.vue +3 -7
  55. package/src/components/display/sharing/SharePlayerTypes.vue +1 -2
  56. package/src/components/display/sharing/SubscribeButtons.vue +1 -3
  57. package/src/components/misc/ErrorMessage.vue +3 -0
  58. package/src/components/misc/HomeDropdown.vue +2 -2
  59. package/src/components/misc/LeftMenu.vue +1 -2
  60. package/src/components/misc/Player.vue +1 -1
  61. package/src/components/misc/PlayerClockAndTimeline.vue +1 -1
  62. package/src/components/misc/PlayerProgressBar.vue +1 -1
  63. package/src/components/misc/TopBar.vue +1 -2
  64. package/src/components/pages/Lives.vue +0 -1
  65. package/src/components/pages/Participant.vue +1 -1
  66. package/src/sass/_variables.scss +0 -1
  67. package/src/store/class/general/media.ts +1 -1
package/README.md CHANGED
@@ -505,4 +505,8 @@ See [Configuration Reference](https://cli.vuejs.org/config/).
505
505
  * 30.0.5 Tri des classes dans des sous dossiers
506
506
  * 30.0.6 Merge 29
507
507
  * 30.0.7 Améliorations css
508
- * 30.0.8 Améliorations diverses
508
+ * 30.0.8 Améliorations diverses
509
+ * 30.0.9 Améliorations diverses
510
+ * 30.0.10 PB clearInterval
511
+ * 30.0.11 Version pour release
512
+ * 30.0.12 Export ClasicLoading
package/index.ts CHANGED
@@ -53,6 +53,7 @@ import CommentInput from "./src/components/display/comments/CommentInput.vue";
53
53
  import ClassicSearch from "./src/components/form/ClassicSearch.vue";
54
54
  import ClassicCheckbox from "./src/components/form/ClassicCheckbox.vue";
55
55
  import ClassicRadio from "./src/components/form/ClassicRadio.vue";
56
+ import ClassicLoading from "./src/components/form/ClassicLoading.vue";
56
57
 
57
58
  //mixins
58
59
  import {selenium} from "./src/components/mixins/functions";
@@ -107,7 +108,8 @@ const components = {
107
108
  tagOfMixins,
108
109
  ClassicSearch,
109
110
  ClassicCheckbox,
110
- ClassicRadio
111
+ ClassicRadio,
112
+ ClassicLoading
111
113
  }
112
114
 
113
115
  export default components;
@@ -157,5 +159,6 @@ export {
157
159
  tagOfMixins,
158
160
  ClassicSearch,
159
161
  ClassicCheckbox,
160
- ClassicRadio
162
+ ClassicRadio,
163
+ ClassicLoading
161
164
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@saooti/octopus-sdk",
3
- "version": "30.0.8",
3
+ "version": "30.0.12",
4
4
  "private": false,
5
5
  "description": "Javascript SDK for using octopus",
6
6
  "author": "Saooti",
@@ -59,10 +59,6 @@
59
59
  border-color: darken($octopus-primary-color, 7%);
60
60
  }
61
61
  }
62
- &.btn-secondary{
63
- border-width: 0;
64
- color: #000;
65
- }
66
62
  &.btn-light{
67
63
  color: $octopus-primary-color;
68
64
  background: transparent;
@@ -96,18 +92,8 @@
96
92
  margin: 0 1rem 1rem 0;
97
93
  font-size: 0.8em;
98
94
  }
99
- }
100
-
101
- &.btn-arrow {
102
- border-radius: 50px;
103
- margin: 0.2rem;
104
- width: 1.8rem;
105
- height: 1.8rem;
106
- background: $octopus-secondary-color;
107
- padding: 0;
108
- &:hover {
109
- border: 0;
110
- background: $octopus-secondary-color;
95
+ &.active{
96
+ border-bottom: $octopus-primary-color 2px solid;
111
97
  }
112
98
  }
113
99
 
@@ -130,7 +116,7 @@
130
116
  }
131
117
  }
132
118
 
133
- &.btn-linkPlus {
119
+ &.btn-link-plus {
134
120
  padding: 8px 16px;
135
121
  font-size: 0.8rem;
136
122
  border-radius: 50px;
@@ -138,6 +124,7 @@
138
124
  color: #000;
139
125
  box-shadow: none;
140
126
  display: flex;
127
+ border: 1px solid transparent;
141
128
  .saooti-plus{
142
129
  line-height: 1.5 !important;
143
130
  margin-left: 5px;
@@ -164,7 +151,7 @@
164
151
  margin: 1rem;
165
152
  }
166
153
 
167
- &.btn-bigRound{
154
+ &.btn-big-round{
168
155
  border: 1px #aaa solid;
169
156
  background: none;
170
157
  font-size: 3rem !important;
@@ -176,14 +163,24 @@
176
163
  height: 5rem;
177
164
  }
178
165
 
179
- &.admin-button {
166
+ &.admin-button,
167
+ &.btn-arrow {
180
168
  padding: 0.3rem;
181
169
  height: 1.8rem;
182
170
  width: 1.8rem;
183
171
  font-size: 1rem;
184
172
  display: inline-flex;
185
173
  align-items: center;
174
+ justify-content: center;
175
+ }
176
+ &.btn-arrow {
177
+ margin: 0.2rem;
178
+ background: $octopus-secondary-color;
179
+ &:hover {
180
+ background: $octopus-secondary-color;
181
+ }
186
182
  }
183
+
187
184
  }
188
185
 
189
186
  .share-btn {
@@ -241,9 +238,6 @@
241
238
  }
242
239
  .dropdown-menu {
243
240
  padding: 0.5rem;
244
- @media (max-width: 450px) {
245
- min-width: 15rem;
246
- }
247
241
  }
248
242
  .dropdown-item {
249
243
  cursor: pointer;
@@ -258,11 +252,6 @@
258
252
  }
259
253
  }
260
254
 
261
- .modal-header {
262
- @media (max-width: 450px) {
263
- padding: 1rem 0;
264
- }
265
- }
266
255
  .accordion-button {
267
256
  padding: 0.5rem;
268
257
  }
@@ -12,7 +12,15 @@
12
12
  border: 0.1rem solid #dee2e6;
13
13
  border-radius: 0.3rem;
14
14
  }
15
-
15
+ .form-check-label {
16
+ cursor: pointer;
17
+ &::before {
18
+ top: 0;
19
+ }
20
+ &::after {
21
+ top: 0;
22
+ }
23
+ }
16
24
  .form-input {
17
25
  -webkit-appearance: none;
18
26
  -moz-appearance: none;
@@ -42,43 +50,6 @@
42
50
  cursor: pointer;
43
51
  }
44
52
 
45
- .filter-search-input{
46
- flex-grow: 1;
47
- height: 2rem;
48
- margin: 1rem 0;
49
- padding: 1.2rem 3rem 1.2rem 1.2rem;
50
- border-radius: 2rem;
51
- border-style: none;
52
- background: white;
53
- @media (max-width: 450px) {
54
- margin: 0.5rem 0;
55
- font-size: 0.6rem;
56
- padding: 1.2rem 2.5rem 1.2rem 1.2rem;
57
- }
58
- }
59
-
60
- .btn-underline.active{
61
- border-bottom: $octopus-primary-color 2px solid;
62
- }
63
- // Datetime picker
64
- .theme-saooti input{
65
- border: 0.1rem solid #dee2e6;
66
- border-radius: 0.3rem;
67
- padding: 0.1rem 0.4rem;
68
- }
69
- .theme-saooti .vdatetime-popup__header,
70
- .theme-saooti .vdatetime-calendar__month__day--selected>span>span,
71
- .theme-saooti .vdatetime-calendar__month__day--selected:hover>span>span,
72
- .theme-saooti .vdatetime-popup__date-picker__item--selected>span>span {
73
- background: $octopus-primary-color;
74
- }
75
-
76
- .theme-saooti .vdatetime-year-picker__item--selected,
77
- .theme-saooti .vdatetime-time-picker__item--selected,
78
- .theme-saooti .vdatetime-popup__actions__button {
79
- color: $octopus-primary-color;
80
- }
81
-
82
53
  //Navigation Bar
83
54
  .nav{
84
55
  border-bottom: 0.05rem solid #ddd;
@@ -2,7 +2,6 @@
2
2
  html{
3
3
  font-size: 20px;
4
4
  }
5
-
6
5
  body{
7
6
  color: #353535;
8
7
  font-family: Montserrat,sans-serif,Helvetica Neue;
@@ -11,46 +10,38 @@ body{
11
10
  background: #fff;
12
11
  }
13
12
  .octopus-app{
13
+ h1,h2,h3,h4,h5,h6{
14
+ font-weight: 600;
15
+ margin-bottom: 0.25rem;
16
+ margin-top: 0;
17
+ @media (max-width: 500px){
18
+ margin: 0.2rem;
19
+ }
20
+ }
14
21
  h1{
15
22
  font-size: 1.8rem;
16
23
  text-align: center;
17
24
  color: #666;
18
25
  @media (max-width: 500px){
19
26
  font-size: 1.2rem;
27
+ margin: 0.5rem 0 1rem;
20
28
  }
21
29
  }
22
30
  h2{
23
31
  @media (max-width: 500px){
24
- font-size: 1.2rem;
32
+ font-size: 1rem;
25
33
  }
26
34
  }
27
35
 
28
- .small-Text{
36
+ .small-text{
29
37
  font-size: 0.6rem;
30
38
  display: flex;
31
- align-items: center;
32
- .saooti-clock3 {
33
- margin-right: 0.2rem;
34
- }
35
- }
36
-
37
- h1,h2,h3,h4,h5,h6{
38
- font-weight: 600;
39
- line-height: 1.2;
40
- margin-bottom: 0.5em;
41
- margin-top: 0;
42
- @media (max-width: 500px){
43
- margin: 0.5rem;
44
- font-size: 1rem;
39
+ align-items: center;
40
+ .saooti-clock3 {
41
+ margin-right: 0.2rem;
45
42
  }
46
43
  }
47
44
 
48
- h1 {
49
- @media (max-width: 500px){
50
- margin: 0.5rem 0 1rem;
51
- }
52
-
53
- }
54
45
  .d-flex-column{
55
46
  display: flex;
56
47
  flex-direction: row;
@@ -58,35 +49,30 @@ body{
58
49
  flex-direction: column;
59
50
  }
60
51
  }
52
+ .d-flex-row{
53
+ display: flex;
54
+ flex-direction: column;
55
+ @media (max-width: 960px) {
56
+ flex-direction: row;
57
+ flex-wrap: wrap;
58
+ }
59
+ }
61
60
 
62
61
  .primary-color{
63
62
  color: $octopus-primary-color;
64
63
  }
65
- .primary-dark{
64
+ .primary-darker{
66
65
  color: $octopus-primary-dark;
67
66
  }
68
-
69
67
  .primary-bg{
70
68
  background: $octopus-primary-color;
71
69
  }
72
70
  .secondary-bg{
73
71
  background: $octopus-background;
74
72
  }
75
-
76
- .pe-5 {
77
- @media (max-width: 960px) {
78
- padding-right: 5px !important;
79
- }
80
- }
81
- .ps-5 {
82
- @media (max-width: 960px) {
83
- padding-left: 5px !important;
84
- }
73
+ .width-fit-content{
74
+ width: fit-content !important;
85
75
  }
86
- .horizontal-separator {
87
- border-top: 1px solid rgb(243, 243, 243);
88
- margin: 0.5rem 0;
89
- }
90
76
 
91
77
  .page-box{
92
78
  background-color: $octopus-background;
@@ -118,19 +104,15 @@ body{
118
104
  .shadow-element{
119
105
  box-shadow: 0px 12px 48px 6px rgba($octopus-primary-color, 0.2) !important;
120
106
  @media (max-width: 500px){
121
- box-shadow:0px 6px 20px 3px rgba($octopus-primary-color, 0.2) !important
107
+ box-shadow:0px 6px 20px 3px rgba($octopus-primary-color, 0.2) !important;
122
108
  }
123
109
  }
124
-
125
- .link-info{
126
- font-weight: bold;
127
- color: $octopus-primary-color;
128
- }
129
- .link-info:hover{
130
- text-decoration: none;
131
- color: $octopus-primary-color;
132
- }
133
-
110
+ a.btn{
111
+ color: #383838;
112
+ &:hover{
113
+ color: #383838;
114
+ }
115
+ }
134
116
  a, a:hover{
135
117
  text-decoration: none;
136
118
  outline-width: 0;
@@ -150,28 +132,28 @@ body{
150
132
  margin: 1rem 0;
151
133
  }
152
134
  }
153
-
154
- .alert-text{
155
- color: $octopus-alert-text;
156
- }
157
135
  .flex-super-grow{
158
136
  flex-grow: 2;
159
137
  }
138
+ .flex-small-grow {
139
+ flex-grow: 0.3;
140
+ }
141
+ .flex-grow-mobile {
142
+ @media (max-width: 960px) {
143
+ flex-grow: 1;
144
+ }
145
+ }
160
146
  .text-center-mobile{
161
147
  text-align: inherit;
162
148
  @media (max-width: 960px) {
163
149
  text-align: center;
164
150
  }
165
151
  }
166
- .box-share {
167
- flex-grow: inherit;
168
- }
169
152
  .hide-phone{
170
153
  @media (max-width: 960px) {
171
154
  display: none !important;
172
155
  }
173
156
  }
174
-
175
157
  .show-phone{
176
158
  display: none;
177
159
  @media (max-width: 960px) {
@@ -182,7 +164,6 @@ body{
182
164
  visibility: hidden !important;
183
165
  }
184
166
 
185
-
186
167
  .d-contents{
187
168
  display: contents;
188
169
  }
@@ -193,14 +174,16 @@ body{
193
174
  background-size: cover;
194
175
  border-radius: 0.8rem !important;
195
176
  overflow: hidden;
177
+ flex-shrink: 0;
178
+ @media (max-width: 960px) {
179
+ flex-grow: 0;
180
+ }
181
+ @media (max-width: 450px) {
182
+ margin: 0.5rem auto 2rem !important;
183
+ float: inherit !important;
184
+ display: flex;
185
+ }
196
186
  }
197
- .img-box-light {
198
- height: 100px;
199
- width: 100px;
200
- background-size: cover;
201
- margin-right: 10px;
202
- }
203
-
204
187
  .img-box-circle {
205
188
  height: 10rem;
206
189
  width: 10rem;
@@ -210,21 +193,6 @@ body{
210
193
  box-shadow: 0px 8px 26px 6px rgba(64, 163, 114, 0.3);
211
194
  }
212
195
 
213
- .background-icon{
214
- background: $octopus-primary-color;
215
- border-radius: 50%;
216
- width: 1rem;
217
- height: 1rem;
218
- font-size: 1rem;
219
- right: 0;
220
- bottom: 0;
221
- margin: 5px;
222
- position: absolute;
223
- cursor: pointer;
224
- z-index: 3;
225
- }
226
-
227
-
228
196
  .comma {
229
197
  display: flex;
230
198
  flex-wrap: wrap;
@@ -242,31 +210,10 @@ body{
242
210
  }
243
211
  }
244
212
  }
245
-
246
- .noList{
247
- list-style: none;
248
- }
249
213
  .c-hand{
250
214
  cursor: pointer;
251
215
  }
252
216
 
253
- .btn-rounded-icon{
254
- display: flex;
255
- align-items: center;
256
- justify-content: center;
257
- width: 1.8rem;
258
- height: 1.8rem;
259
- }
260
- .font-weight-600{
261
- font-weight: 600;
262
- }
263
- .flex-no-wrap{
264
- flex-wrap: nowrap !important;
265
- }
266
-
267
- .p-01{
268
- padding: 0.1rem !important;
269
- }
270
217
  .html-wysiwyg-content{
271
218
  h3,h4{
272
219
  margin: 0 0 0.5em 0 !important;
@@ -283,61 +230,10 @@ body{
283
230
  margin-bottom: 0.2rem;
284
231
  }
285
232
  }
286
- .planned-bg {
287
- background: #f09653;
288
- }
289
- .pending-bg {
290
- background: #f1643e;
291
- }
292
- .recording-bg {
293
- background: #f34a4a;
294
- }
295
- .error-bg {
296
- background: #ff0000;
297
- }
298
- .debriefing-bg {
299
- background: #6ec66e;
300
- }
301
- .done-bg {
302
- background: #679fe9;
303
- }
304
- .publishing-bg {
305
- background: #7d7d7d;
306
- }
307
- .planned-shadow {
308
- box-shadow: 0px 12px 48px 6px rgba(240, 151, 83, 0.2);
309
- }
310
- .pending-shadow {
311
- box-shadow: 0px 12px 48px 6px rgba(241, 101, 62, 0.2);
312
- }
313
- .recording-shadow {
314
- box-shadow: 0px 12px 48px 6px rgba(243, 74, 74, 0.2);
315
- }
316
- .debriefing-shadow {
317
- box-shadow: 0px 12px 48px 6px rgba(110, 198, 110, 0.2);
318
- }
319
- .publishing-shadow {
320
- box-shadow: 0px 12px 48px 6px rgba(125, 125, 125, 0.2);
321
- }
322
- .error-shadow {
323
- box-shadow: 0px 12px 48px 6px rgba(255, 0, 0, 0.2);
324
- }
325
- @media (max-width: 450px) {
326
- .module-box .img-box {
327
- margin: 0.5rem auto 2rem !important;
328
- float: inherit !important;
329
- display: flex;
330
- }
331
- }
233
+
332
234
  @media (max-width: 960px) {
333
235
  .d-flex:not(.flex-column){
334
236
  flex-wrap: wrap;
335
- flex-grow: 1;
336
- &.img-box{
337
- flex-grow: 0;
338
- }
339
237
  }
340
238
  }
341
-
342
-
343
239
  }
@@ -0,0 +1,39 @@
1
+ .planned-bg {
2
+ background: #f09653;
3
+ }
4
+ .pending-bg {
5
+ background: #f1643e;
6
+ }
7
+ .recording-bg {
8
+ background: #f34a4a;
9
+ }
10
+ .error-bg {
11
+ background: #ff0000;
12
+ }
13
+ .debriefing-bg {
14
+ background: #6ec66e;
15
+ }
16
+ .done-bg {
17
+ background: #679fe9;
18
+ }
19
+ .publishing-bg {
20
+ background: #7d7d7d;
21
+ }
22
+ .planned-shadow {
23
+ box-shadow: 0px 12px 48px 6px rgba(240, 151, 83, 0.2);
24
+ }
25
+ .pending-shadow {
26
+ box-shadow: 0px 12px 48px 6px rgba(241, 101, 62, 0.2);
27
+ }
28
+ .recording-shadow {
29
+ box-shadow: 0px 12px 48px 6px rgba(243, 74, 74, 0.2);
30
+ }
31
+ .debriefing-shadow {
32
+ box-shadow: 0px 12px 48px 6px rgba(110, 198, 110, 0.2);
33
+ }
34
+ .publishing-shadow {
35
+ box-shadow: 0px 12px 48px 6px rgba(125, 125, 125, 0.2);
36
+ }
37
+ .error-shadow {
38
+ box-shadow: 0px 12px 48px 6px rgba(255, 0, 0, 0.2);
39
+ }
@@ -2,19 +2,12 @@
2
2
  .octopus-app{
3
3
  .modal{
4
4
  display: block;
5
- }
6
- .modal-backdrop{
7
-
8
5
  }
9
6
  .modal-backdrop {
10
7
  opacity: 0.5;
11
8
  z-index: 0;
12
9
  }
13
-
14
- .modal-wrapper {
15
- display: table-cell;
16
- vertical-align: middle;
17
- }
10
+
18
11
  .modal-dialog {
19
12
  box-shadow: 0 0.2rem 0.5rem rgba(40,40,40,.3);
20
13
  border-radius: 15px;
@@ -30,29 +23,32 @@
30
23
  margin: 2.5% !important;
31
24
  }
32
25
  }
26
+ .modal-header {
27
+ border: 0;
28
+ @media (max-width: 450px) {
29
+ padding: 1rem 0;
30
+ }
31
+ }
33
32
  .modal-body{
34
33
  overflow-x: auto;
34
+ .scroller-vertical {
35
+ min-height: 200px;
36
+ height: 200px;
37
+ }
35
38
  @media (max-width: 500px){
36
39
  padding: 0;
37
- overflow-x: auto;
38
40
  }
39
41
  }
42
+ .modal-dialog, .modal-content {
43
+ min-height: 300px;
44
+ }
40
45
  .modal-content{
41
46
  border: 0;
42
- .close{
43
- outline: none !important;
44
- }
45
47
  height: auto !important;
46
48
  max-height: calc(100vh - 250px) !important;
47
49
  }
48
- .modal-header{
49
- border: 0;
50
- }
51
50
  .modal-footer{
52
51
  border: 0;
53
52
  flex-wrap: initial;
54
53
  }
55
- .modal-dialog, .modal-content {
56
- min-height: 300px;
57
- }
58
54
  }