odoo-addon-account-statement-import-sheet-file 17.0.1.1.1__py3-none-any.whl → 18.0.1.0.0.3__py3-none-any.whl

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.
@@ -11,7 +11,7 @@ Bank Statement TXT/CSV/XLSX Import
11
11
  !! This file is generated by oca-gen-addon-readme !!
12
12
  !! changes will be overwritten. !!
13
13
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
14
- !! source digest: sha256:9237c0766961a85cec5d805a1e2853e70d26899b1a91b875e0456d1ab19c3385
14
+ !! source digest: sha256:7f262d73d39b721a7fe36fc8279b95fed86757391be9ea917e3f13ee9f4cd83f
15
15
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
16
16
 
17
17
  .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
@@ -21,13 +21,13 @@ Bank Statement TXT/CSV/XLSX Import
21
21
  :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
22
22
  :alt: License: AGPL-3
23
23
  .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fbank--statement--import-lightgray.png?logo=github
24
- :target: https://github.com/OCA/bank-statement-import/tree/17.0/account_statement_import_sheet_file
24
+ :target: https://github.com/OCA/bank-statement-import/tree/18.0/account_statement_import_sheet_file
25
25
  :alt: OCA/bank-statement-import
26
26
  .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
27
- :target: https://translation.odoo-community.org/projects/bank-statement-import-17-0/bank-statement-import-17-0-account_statement_import_sheet_file
27
+ :target: https://translation.odoo-community.org/projects/bank-statement-import-18-0/bank-statement-import-18-0-account_statement_import_sheet_file
28
28
  :alt: Translate me on Weblate
29
29
  .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
30
- :target: https://runboat.odoo-community.org/builds?repo=OCA/bank-statement-import&target_branch=17.0
30
+ :target: https://runboat.odoo-community.org/builds?repo=OCA/bank-statement-import&target_branch=18.0
31
31
  :alt: Try me on Runboat
32
32
 
33
33
  |badge1| |badge2| |badge3| |badge4| |badge5|
@@ -76,7 +76,7 @@ Bug Tracker
76
76
  Bugs are tracked on `GitHub Issues <https://github.com/OCA/bank-statement-import/issues>`_.
77
77
  In case of trouble, please check there if your issue has already been reported.
78
78
  If you spotted it first, help us to smash it by providing a detailed and welcomed
79
- `feedback <https://github.com/OCA/bank-statement-import/issues/new?body=module:%20account_statement_import_sheet_file%0Aversion:%2017.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
79
+ `feedback <https://github.com/OCA/bank-statement-import/issues/new?body=module:%20account_statement_import_sheet_file%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
80
80
 
81
81
  Do not contact contributors directly about support or help with technical issues.
82
82
 
@@ -133,6 +133,6 @@ Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:
133
133
 
134
134
  |maintainer-alexey-pelykh|
135
135
 
136
- This module is part of the `OCA/bank-statement-import <https://github.com/OCA/bank-statement-import/tree/17.0/account_statement_import_sheet_file>`_ project on GitHub.
136
+ This module is part of the `OCA/bank-statement-import <https://github.com/OCA/bank-statement-import/tree/18.0/account_statement_import_sheet_file>`_ project on GitHub.
137
137
 
138
138
  You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
@@ -1,11 +1,12 @@
1
1
  # Copyright 2019 ForgeFlow, S.L.
2
2
  # Copyright 2020 CorporateHub (https://corporatehub.eu)
3
+ # Copyright 2025 Tecnativa - Pedro M. Baeza
3
4
  # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
4
5
 
5
6
  {
6
7
  "name": "Bank Statement TXT/CSV/XLSX Import",
7
8
  "summary": "Import TXT/CSV or XLSX files as Bank Statements in Odoo",
8
- "version": "17.0.1.1.1",
9
+ "version": "18.0.1.0.0",
9
10
  "category": "Accounting",
10
11
  "website": "https://github.com/OCA/bank-statement-import",
11
12
  "author": "ForgeFlow, CorporateHub, Odoo Community Association (OCA)",
@@ -15,7 +16,6 @@
15
16
  "depends": [
16
17
  "account_statement_import_file",
17
18
  ],
18
- "external_dependencies": {"python": ["xlrd", "chardet"]},
19
19
  "data": [
20
20
  "security/ir.model.access.csv",
21
21
  "data/map_data.xml",
@@ -4,7 +4,7 @@
4
4
  #
5
5
  msgid ""
6
6
  msgstr ""
7
- "Project-Id-Version: Odoo Server 17.0\n"
7
+ "Project-Id-Version: Odoo Server 18.0\n"
8
8
  "Report-Msgid-Bugs-To: \n"
9
9
  "Last-Translator: \n"
10
10
  "Language-Team: \n"
@@ -16,23 +16,23 @@ msgstr ""
16
16
  #. module: account_statement_import_sheet_file
17
17
  #. odoo-python
18
18
  #: code:addons/account_statement_import_sheet_file/models/account_statement_import_sheet_parser.py:0
19
- #, python-format
20
19
  msgid "%(code)s: %(filename)s"
21
20
  msgstr ""
22
21
 
23
22
  #. module: account_statement_import_sheet_file
24
23
  #: model_terms:ir.ui.view,arch_db:account_statement_import_sheet_file.account_statement_import_sheet_mapping_tree
25
24
  msgid ""
26
- "<span class=\"fa fa-info-circle\"/> Add the column names or column number (when the file has no header).\n"
27
- " You can concatenate multiple columns in the file into the same field, indicating the\n"
28
- " column names or numbers separated by comma."
25
+ "<span class=\"fa fa-info-circle\">\n"
26
+ " Add the column names or column number (when the file has no header). You can concatenate multiple columns in the file into the same field, indicating the column names or numbers separated by comma.\n"
27
+ " </span>"
29
28
  msgstr ""
30
29
 
31
30
  #. module: account_statement_import_sheet_file
32
31
  #: model_terms:ir.ui.view,arch_db:account_statement_import_sheet_file.account_statement_import_sheet_mapping_tree
33
32
  msgid ""
34
- "<span class=\"fa fa-info-circle\"/> indicate the column number in the "
35
- "Columns section. The first column is 0."
33
+ "<span class=\"fa fa-info-circle\">\n"
34
+ " indicate the column number in the Columns section. The first column is 0.\n"
35
+ " </span>"
36
36
  msgstr ""
37
37
 
38
38
  #. module: account_statement_import_sheet_file
@@ -43,7 +43,6 @@ msgstr ""
43
43
  #. module: account_statement_import_sheet_file
44
44
  #. odoo-python
45
45
  #: code:addons/account_statement_import_sheet_file/models/account_statement_import_sheet_parser.py:0
46
- #, python-format
47
46
  msgid "Account: %s; "
48
47
  msgstr ""
49
48
 
@@ -65,7 +64,6 @@ msgstr ""
65
64
  #. module: account_statement_import_sheet_file
66
65
  #. odoo-python
67
66
  #: code:addons/account_statement_import_sheet_file/models/account_statement_import.py:0
68
- #, python-format
69
67
  msgid "Bad file/mapping: "
70
68
  msgstr ""
71
69
 
@@ -107,7 +105,6 @@ msgstr ""
107
105
  #. module: account_statement_import_sheet_file
108
106
  #. odoo-python
109
107
  #: code:addons/account_statement_import_sheet_file/models/account_statement_import_sheet_parser.py:0
110
- #, python-format
111
108
  msgid "Bank: %s; "
112
109
  msgstr ""
113
110
 
@@ -316,7 +313,6 @@ msgstr ""
316
313
  #. odoo-python
317
314
  #: code:addons/account_statement_import_sheet_file/models/account_statement_import_sheet_parser.py:0
318
315
  #: model:ir.model.fields.selection,name:account_statement_import_sheet_file.selection__account_statement_import_sheet_mapping__delimiter__n/a
319
- #, python-format
320
316
  msgid "N/A"
321
317
  msgstr ""
322
318
 
@@ -328,7 +324,6 @@ msgstr ""
328
324
  #. module: account_statement_import_sheet_file
329
325
  #. odoo-python
330
326
  #: code:addons/account_statement_import_sheet_file/models/account_statement_import_sheet_parser.py:0
331
- #, python-format
332
327
  msgid "No valid encoding was found for the attached file"
333
328
  msgstr ""
334
329
 
@@ -345,7 +340,6 @@ msgstr ""
345
340
  #. module: account_statement_import_sheet_file
346
341
  #. odoo-python
347
342
  #: code:addons/account_statement_import_sheet_file/models/account_statement_import_sheet_mapping.py:0
348
- #, python-format
349
343
  msgid "Offsets cannot be negative"
350
344
  msgstr ""
351
345
 
@@ -459,7 +453,6 @@ msgstr ""
459
453
  #. module: account_statement_import_sheet_file
460
454
  #. odoo-python
461
455
  #: code:addons/account_statement_import_sheet_file/models/account_statement_import_sheet_parser.py:0
462
- #, python-format
463
456
  msgid "Transaction ID: %s; "
464
457
  msgstr ""
465
458
 
@@ -496,14 +489,12 @@ msgstr ""
496
489
  #. module: account_statement_import_sheet_file
497
490
  #. odoo-python
498
491
  #: code:addons/account_statement_import_sheet_file/models/account_statement_import_sheet_mapping.py:0
499
- #, python-format
500
492
  msgid "Use amount_column if you have set Amount type = 'Single value'"
501
493
  msgstr ""
502
494
 
503
495
  #. module: account_statement_import_sheet_file
504
496
  #. odoo-python
505
497
  #: code:addons/account_statement_import_sheet_file/models/account_statement_import_sheet_mapping.py:0
506
- #, python-format
507
498
  msgid ""
508
499
  "Use amount_debit_column and amount_credit_column if you have set Amount type"
509
500
  " = 'Distinct Credit/debit Column'"
@@ -512,7 +503,6 @@ msgstr ""
512
503
  #. module: account_statement_import_sheet_file
513
504
  #. odoo-python
514
505
  #: code:addons/account_statement_import_sheet_file/models/account_statement_import_sheet_mapping.py:0
515
- #, python-format
516
506
  msgid "Use debit_credit_column if you have set Amount type = 'Absolute value'"
517
507
  msgstr ""
518
508
 
@@ -3,7 +3,7 @@
3
3
 
4
4
  import logging
5
5
 
6
- from odoo import _, fields, models
6
+ from odoo import fields, models
7
7
  from odoo.exceptions import UserError
8
8
 
9
9
  _logger = logging.getLogger(__name__)
@@ -37,7 +37,7 @@ class AccountStatementImport(models.TransientModel):
37
37
  if self.env.context.get("account_statement_import_sheet_file_test"):
38
38
  raise
39
39
  _logger.warning("Sheet parser error", exc_info=True)
40
- raise UserError(_("Bad file/mapping: ") + str(exc)) from exc
40
+ raise UserError(self.env._("Bad file/mapping: ") + str(exc)) from exc
41
41
  return super()._parse_file(data_file)
42
42
 
43
43
  def _create_bank_statements(self, stmts_vals, result):
@@ -2,7 +2,7 @@
2
2
  # Copyright 2020 CorporateHub (https://corporatehub.eu)
3
3
  # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
4
4
 
5
- from odoo import _, api, fields, models
5
+ from odoo import api, fields, models
6
6
  from odoo.exceptions import ValidationError
7
7
 
8
8
 
@@ -194,11 +194,13 @@ class AccountStatementImportSheetMapping(models.Model):
194
194
  for item in self:
195
195
  if item.amount_type == "simple_value" and not item.amount_column:
196
196
  raise ValidationError(
197
- _("Use amount_column if you have set Amount type = 'Single value'")
197
+ self.env._(
198
+ "Use amount_column if you have set Amount type = 'Single value'"
199
+ )
198
200
  )
199
201
  elif item.amount_type == "absolute_value" and not item.debit_credit_column:
200
202
  raise ValidationError(
201
- _(
203
+ self.env._(
202
204
  "Use debit_credit_column if you have set "
203
205
  "Amount type = 'Absolute value'"
204
206
  )
@@ -207,7 +209,7 @@ class AccountStatementImportSheetMapping(models.Model):
207
209
  not item.amount_debit_column or not item.amount_credit_column
208
210
  ):
209
211
  raise ValidationError(
210
- _(
212
+ self.env._(
211
213
  "Use amount_debit_column and amount_credit_column if you "
212
214
  "have set Amount type = 'Distinct Credit/debit Column'"
213
215
  )
@@ -231,7 +233,7 @@ class AccountStatementImportSheetMapping(models.Model):
231
233
  def _check_columns(self):
232
234
  for mapping in self:
233
235
  if mapping.offset_column < 0:
234
- raise ValidationError(_("Offsets cannot be negative"))
236
+ raise ValidationError(self.env._("Offsets cannot be negative"))
235
237
 
236
238
  def _get_float_separators(self):
237
239
  self.ensure_one()
@@ -12,7 +12,7 @@ from decimal import Decimal
12
12
  from io import StringIO
13
13
  from os import path
14
14
 
15
- from odoo import _, api, models
15
+ from odoo import api, models
16
16
  from odoo.exceptions import UserError
17
17
 
18
18
  _logger = logging.getLogger(__name__)
@@ -39,22 +39,22 @@ class AccountStatementImportSheetParser(models.TransientModel):
39
39
  _description = "Bank Statement Import Sheet Parser"
40
40
 
41
41
  @api.model
42
- def parse_header(self, data_file, encoding, csv_options, header_lines_skip_count=0):
43
- try:
44
- workbook = xlrd.open_workbook(
45
- file_contents=data_file,
46
- encoding_override=encoding if encoding else None,
47
- )
48
- sheet = workbook.sheet_by_index(0)
49
- values = sheet.row_values(header_lines_skip_count - 1)
50
- return [str(value) for value in values]
51
- except xlrd.XLRDError:
52
- _logger.error("Pass this method")
53
-
54
- data = StringIO(data_file.decode(encoding or "utf-8"))
55
- csv_data = reader(data, **csv_options)
56
- csv_data_lst = list(csv_data)
57
- header = [value.strip() for value in csv_data_lst[header_lines_skip_count - 1]]
42
+ def parse_header(self, csv_or_xlsx, mapping):
43
+ if mapping.no_header:
44
+ return []
45
+ header_line = mapping.header_lines_skip_count
46
+ # prevent negative indexes
47
+ if header_line > 0:
48
+ header_line -= 1
49
+ if isinstance(csv_or_xlsx, tuple):
50
+ header = [
51
+ str(value).strip() for value in csv_or_xlsx[1].row_values(header_line)
52
+ ]
53
+ else:
54
+ [next(csv_or_xlsx) for _i in range(header_line)]
55
+ header = [value.strip() for value in next(csv_or_xlsx)]
56
+ if mapping.offset_column:
57
+ header = header[mapping.offset_column :]
58
58
  return header
59
59
 
60
60
  @api.model
@@ -72,11 +72,11 @@ class AccountStatementImportSheetParser(models.TransientModel):
72
72
  last_line = lines[-1]
73
73
  data = {
74
74
  "date": first_line["timestamp"].date(),
75
- "name": _("%(code)s: %(filename)s")
76
- % {
77
- "code": journal.code,
78
- "filename": path.basename(filename),
79
- },
75
+ "name": self.env._(
76
+ "%(code)s: %(filename)s",
77
+ code=journal.code,
78
+ filename=path.basename(filename),
79
+ ),
80
80
  }
81
81
 
82
82
  if mapping.balance_column:
@@ -173,23 +173,11 @@ class AccountStatementImportSheetParser(models.TransientModel):
173
173
  detected_encoding = chardet.detect(data_file).get("encoding", False)
174
174
  if not detected_encoding:
175
175
  raise UserError(
176
- _("No valid encoding was found for the attached file")
176
+ self.env._("No valid encoding was found for the attached file")
177
177
  ) from None
178
178
  decoded_file = data_file.decode(detected_encoding)
179
179
  csv_or_xlsx = reader(StringIO(decoded_file), **csv_options)
180
- header = False
181
- if not mapping.no_header:
182
- header_line = mapping.header_lines_skip_count - 1
183
- if isinstance(csv_or_xlsx, tuple):
184
- header = [
185
- str(value).strip()
186
- for value in csv_or_xlsx[1].row_values(header_line)
187
- ]
188
- else:
189
- [next(csv_or_xlsx) for _i in range(header_line)]
190
- header = [value.strip() for value in next(csv_or_xlsx)]
191
- if mapping.offset_column:
192
- header = header[mapping.offset_column :]
180
+ header = self.parse_header(csv_or_xlsx, mapping)
193
181
 
194
182
  # NOTE no seria necesario debit_column y credit_column ya que tenemos los
195
183
  # respectivos campos related
@@ -458,22 +446,21 @@ class AccountStatementImportSheetParser(models.TransientModel):
458
446
  transaction["currency_id"] = currency.id
459
447
 
460
448
  if transaction_id:
461
- transaction["unique_import_id"] = "{}-{}".format(
462
- transaction_id,
463
- int(timestamp.timestamp()),
449
+ transaction["unique_import_id"] = (
450
+ f"{transaction_id}-{int(timestamp.timestamp())}"
464
451
  )
465
452
 
466
- transaction["payment_ref"] = description or _("N/A")
453
+ transaction["payment_ref"] = description or self.env._("N/A")
467
454
  if reference:
468
455
  transaction["ref"] = reference
469
456
 
470
457
  note = ""
471
458
  if bank_name:
472
- note += _("Bank: %s; ") % (bank_name,)
459
+ note += self.env._("Bank: %s; ") % (bank_name,)
473
460
  if bank_account:
474
- note += _("Account: %s; ") % (bank_account,)
461
+ note += self.env._("Account: %s; ") % (bank_account,)
475
462
  if transaction_id:
476
- note += _("Transaction ID: %s; ") % (transaction_id,)
463
+ note += self.env._("Transaction ID: %s; ") % (transaction_id,)
477
464
  if note and notes:
478
465
  note = f"{notes}\n{note.strip()}"
479
466
  elif note:
@@ -372,9 +372,9 @@ ul.auto-toc {
372
372
  !! This file is generated by oca-gen-addon-readme !!
373
373
  !! changes will be overwritten. !!
374
374
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
375
- !! source digest: sha256:9237c0766961a85cec5d805a1e2853e70d26899b1a91b875e0456d1ab19c3385
375
+ !! source digest: sha256:7f262d73d39b721a7fe36fc8279b95fed86757391be9ea917e3f13ee9f4cd83f
376
376
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
377
- <p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/license-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/bank-statement-import/tree/17.0/account_statement_import_sheet_file"><img alt="OCA/bank-statement-import" src="https://img.shields.io/badge/github-OCA%2Fbank--statement--import-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/bank-statement-import-17-0/bank-statement-import-17-0-account_statement_import_sheet_file"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/bank-statement-import&amp;target_branch=17.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
377
+ <p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/license-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/bank-statement-import/tree/18.0/account_statement_import_sheet_file"><img alt="OCA/bank-statement-import" src="https://img.shields.io/badge/github-OCA%2Fbank--statement--import-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/bank-statement-import-18-0/bank-statement-import-18-0-account_statement_import_sheet_file"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/bank-statement-import&amp;target_branch=18.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
378
378
  <p>This module allows you to import any TXT/CSV or XLSX file in Odoo as
379
379
  bank statements.</p>
380
380
  <p><strong>Table of contents</strong></p>
@@ -431,7 +431,7 @@ format</li>
431
431
  <p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/bank-statement-import/issues">GitHub Issues</a>.
432
432
  In case of trouble, please check there if your issue has already been reported.
433
433
  If you spotted it first, help us to smash it by providing a detailed and welcomed
434
- <a class="reference external" href="https://github.com/OCA/bank-statement-import/issues/new?body=module:%20account_statement_import_sheet_file%0Aversion:%2017.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
434
+ <a class="reference external" href="https://github.com/OCA/bank-statement-import/issues/new?body=module:%20account_statement_import_sheet_file%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
435
435
  <p>Do not contact contributors directly about support or help with technical issues.</p>
436
436
  </div>
437
437
  <div class="section" id="credits">
@@ -478,7 +478,7 @@ mission is to support the collaborative development of Odoo features and
478
478
  promote its widespread use.</p>
479
479
  <p>Current <a class="reference external" href="https://odoo-community.org/page/maintainer-role">maintainer</a>:</p>
480
480
  <p><a class="reference external image-reference" href="https://github.com/alexey-pelykh"><img alt="alexey-pelykh" src="https://github.com/alexey-pelykh.png?size=40px" /></a></p>
481
- <p>This module is part of the <a class="reference external" href="https://github.com/OCA/bank-statement-import/tree/17.0/account_statement_import_sheet_file">OCA/bank-statement-import</a> project on GitHub.</p>
481
+ <p>This module is part of the <a class="reference external" href="https://github.com/OCA/bank-statement-import/tree/18.0/account_statement_import_sheet_file">OCA/bank-statement-import</a> project on GitHub.</p>
482
482
  <p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
483
483
  </div>
484
484
  </div>