Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

#1970 - New text entities in KET-format #2093

Draft
wants to merge 50 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 31 commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
439a9b8
ket text step1
even1024 May 26, 2024
693f21e
ket text step2
even1024 May 26, 2024
82222c2
ket text step3
even1024 May 26, 2024
61e04e0
ket text step4
even1024 May 26, 2024
15b6e3d
ket text step5
even1024 May 27, 2024
f931c8d
ket text step6
even1024 May 29, 2024
20d8abd
ket text step7
even1024 Jun 1, 2024
76a7d20
ket text step8
even1024 Jun 2, 2024
366fdb6
ket text step9
even1024 Jun 7, 2024
b7d9574
conflict fix
even1024 Jul 2, 2024
54bc06f
conflict fix
even1024 Jul 2, 2024
5533d1b
text ket
even1024 Jul 3, 2024
45f54ab
ket text step11
even1024 Jul 8, 2024
0dc4f8f
Merge branch 'master' of github.com:epam/Indigo into 1967-new-ket-text
even1024 Jul 8, 2024
87f83df
ket text step11
even1024 Jul 8, 2024
b468117
ket text step11
even1024 Jul 8, 2024
a500c3f
ket text step11
even1024 Jul 8, 2024
d7891e7
ket text step11
even1024 Jul 8, 2024
f16ada2
ket text step11
even1024 Jul 8, 2024
a1bf896
ket text step11
even1024 Jul 8, 2024
65d03ab
ket text step11
even1024 Jul 8, 2024
578be0a
ket text step11
even1024 Jul 9, 2024
c864063
no errors
even1024 Jul 14, 2024
0c2d403
Merge branch 'master' of github.com:epam/Indigo into 1961-new-ket-text
even1024 Jul 14, 2024
6fc9241
cr
even1024 Feb 23, 2024
2573be6
line cr
even1024 Feb 23, 2024
3bfa39f
tests fix
even1024 Jul 14, 2024
8f8a896
tests fix
even1024 Jul 14, 2024
35cad15
tests fix
even1024 Jul 18, 2024
1d1ddbb
tests fix
even1024 Jul 18, 2024
71cecfd
tests fix
even1024 Jul 18, 2024
a2c885b
text
even1024 Jul 29, 2024
7cb1e6e
conflicts resolve
even1024 Sep 6, 2024
42235e2
merge1
even1024 Dec 9, 2024
c41b45e
Merge commit 'a6ad23ef862ec3bdb8df068d4adc9557db3ac809' into 1970-new…
even1024 Dec 9, 2024
fe43b71
merge2
even1024 Dec 9, 2024
1154481
Merge commit '1727dacc1aa03cb1b6d66cf13a994a1fc452250f' into 1970-new…
even1024 Dec 9, 2024
a014b34
meta
even1024 Dec 9, 2024
c202da1
merge4
even1024 Dec 9, 2024
ba6c31d
merge5
even1024 Dec 10, 2024
b68d830
first step
even1024 Dec 11, 2024
ac2faee
second step
even1024 Dec 15, 2024
53bdce4
third step
even1024 Dec 17, 2024
eaa197b
third step
even1024 Dec 17, 2024
b023bab
Merge branch 'master' of github.com:epam/Indigo into 1970-new-ket-text
even1024 Dec 17, 2024
769456d
third step
even1024 Dec 17, 2024
f9008e0
clang fix
even1024 Dec 17, 2024
0f0e501
clang fix
even1024 Dec 18, 2024
47c0e9b
line starts fix
even1024 Dec 18, 2024
b8c7cb2
line starts fix
even1024 Dec 18, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions api/c/indigo/src/indigo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,7 @@ void Indigo::init()
deco_save_ap_bond_orders = false;
deco_ignore_errors = true;
molfile_saving_mode = 0;
ket_saving_version = {1, 0, 0};
dearomatize_on_load = false;
smiles_saving_format = SmilesSaver::SMILES_MODE::SMILES_CHEMAXON;
molfile_saving_no_chiral = false;
Expand Down Expand Up @@ -204,12 +205,14 @@ void Indigo::initMoleculeJsonSaver(MoleculeJsonSaver& saver)
saver.add_stereo_desc = json_saving_add_stereo_desc;
saver.pretty_json = json_saving_pretty;
saver.use_native_precision = json_use_native_precision;
saver.ket_version = ket_saving_version;
}

void Indigo::initReactionJsonSaver(ReactionJsonSaver& saver)
{
saver.add_stereo_desc = json_saving_add_stereo_desc;
saver.pretty_json = json_saving_pretty;
saver.ket_version = ket_saving_version;
}

void Indigo::initRxnfileSaver(RxnfileSaver& saver)
Expand Down
3 changes: 3 additions & 0 deletions api/c/indigo/src/indigo_internal.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,13 @@
#include "molecule/molecule_fingerprint.h"
#include "molecule/molecule_gross_formula.h"
#include "molecule/molecule_ionize.h"
#include "molecule/molecule_json_saver.h"
#include "molecule/molecule_mass_options.h"
#include "molecule/molecule_standardize_options.h"
#include "molecule/molecule_stereocenter_options.h"
#include "molecule/molecule_tautomer.h"
#include "molecule/smiles_saver.h"

#include "option_manager.h"

/* When Indigo internal code is used dynamically the INDIGO_VERSION define
Expand Down Expand Up @@ -312,6 +314,7 @@ class DLLEXPORT Indigo
bool deco_ignore_errors;

int molfile_saving_mode; // MolfileSaver::MODE_***, default is zero
KETVersion ket_saving_version;
bool dearomatize_on_load;
SmilesSaver::SMILES_MODE smiles_saving_format;
bool molfile_saving_no_chiral;
Expand Down
14 changes: 13 additions & 1 deletion api/c/indigo/src/indigo_options.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@

#include "indigo_internal.h"
#include "molecule/molfile_saver.h"
#include "molecule/smiles_saver.h"

static void setStrValue(const char* source, char* dest, int len)
{
Expand All @@ -39,6 +38,18 @@ static void indigoGetMolfileSavingMode(Array<char>& value)
MolfileSaver::saveFormatMode(self.molfile_saving_mode, value);
}

static void indigoGetJsonSavingVersion(Array<char>& value)
{
Indigo& self = indigoGetInstance();
MoleculeJsonSaver::saveFormatMode(self.ket_saving_version, value);
}

static void indigoSetJsonSavingVersion(const char* version)
{
Indigo& self = indigoGetInstance();
MoleculeJsonSaver::parseFormatMode(version, self.ket_saving_version);
}

static void indigoSetSmilesSavingFormat(const char* mode)
{
Indigo& self = indigoGetInstance();
Expand Down Expand Up @@ -281,6 +292,7 @@ void IndigoOptionHandlerSetter::setBasicOptionHandlers(const qword id)
mgr->setOptionHandlerBool("deco-save-ap-bond-orders", SETTER_GETTER_BOOL_OPTION(indigo.deco_save_ap_bond_orders));
mgr->setOptionHandlerBool("deco-ignore-errors", SETTER_GETTER_BOOL_OPTION(indigo.deco_ignore_errors));
mgr->setOptionHandlerString("molfile-saving-mode", indigoSetMolfileSavingMode, indigoGetMolfileSavingMode);
mgr->setOptionHandlerString("ket-saving-version", indigoSetJsonSavingVersion, indigoGetJsonSavingVersion);
mgr->setOptionHandlerString("smiles-saving-format", indigoSetSmilesSavingFormat, indigoGetSmilesSavingFormat);

mgr->setOptionHandlerInt("molfile-saving-no-chiral", SETTER_GETTER_INT_OPTION(indigo.molfile_saving_no_chiral));
Expand Down
4 changes: 2 additions & 2 deletions api/tests/integration/ref/formats/cdx_to_ket.py.out
Original file line number Diff line number Diff line change
Expand Up @@ -3808,7 +3808,7 @@ CDXML loader: Not a molecule. Found 14 arrows.
{
"type": "text",
"data": {
"content": "{\"blocks\":[{\"text\":\"100 mg (int-2)\",\"inlineStyleRanges\":[{\"offset\":0,\"length\":14,\"style\":\"CUSTOM_FONT_SIZE_15px\"}],\"entityRanges\":[],\"data\":{}},{\"text\":\"\",\"inlineStyleRanges\":[],\"entityRanges\":[],\"data\":{}}],\"entityMap\":{}}",
"content": "{\"blocks\":[{\"text\":\"100 mg \\r(int-2)\",\"inlineStyleRanges\":[{\"offset\":0,\"length\":15,\"style\":\"CUSTOM_FONT_SIZE_15px\"}],\"entityRanges\":[],\"data\":{}}],\"entityMap\":{}}",
"position": {
"x": 1.4541666507720948,
"y": -4.8663330078125,
Expand All @@ -3830,7 +3830,7 @@ CDXML loader: Not a molecule. Found 14 arrows.
{
"type": "text",
"data": {
"content": "{\"blocks\":[{\"text\":\"500 mg (int-2)\",\"inlineStyleRanges\":[{\"offset\":0,\"length\":14,\"style\":\"CUSTOM_FONT_SIZE_15px\"}],\"entityRanges\":[],\"data\":{}},{\"text\":\"\",\"inlineStyleRanges\":[],\"entityRanges\":[],\"data\":{}}],\"entityMap\":{}}",
"content": "{\"blocks\":[{\"text\":\"500 mg \\r(int-2)\",\"inlineStyleRanges\":[{\"offset\":0,\"length\":15,\"style\":\"CUSTOM_FONT_SIZE_15px\"}],\"entityRanges\":[],\"data\":{}}],\"entityMap\":{}}",
"position": {
"x": 1.4541666507720948,
"y": -5.9666666984558109,
Expand Down

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1 +1 @@
VmpDRDAxMDAEAwIBAAAAAAAAAAAAAAAAAAAAAAUIBAAAAB4AGggCAAMAGwgCAAQAAAEkAAAAAgACAOn9BQBBcmlhbAMA6f0PAFRpbWVzIE5ldyBSb21hbgADMgAIAP///////wAAAAAAAP//AAAAAP////8AAAAA//8AAAAA/////wAAAAD/////AAD//wGAAAAAABAIAgABAA8IAgABAAOABAAAAASABQAAAAACCAC4HkIAtx57AAAABIAGAAAAAAIIAB+FUAC3HnsAAAAEgAcAAAAAAggAUrhXAAqXhwAAAASACAAAAAACCAAfhVAAXA+UAAAABIAJAAAAAAIIALgeQgBcD5QAAAAEgAoAAAAAAggAhes6AAqXhwAAAASACwAAAAACCACF6zoAroegAAAABIAMAAAAAAIIALgeQgAAAK0AAAAEgA0AAAAAAggAhes6AFJ4uQAAAASADgAAAAIEAgAIACsEAgABAAACCAC4HkIApPDFAAaAAAAAAAACCAC4HkIApPDFACMIAQAAAAcOAAEAAAADAGAAyAAAAE9IAAAAAASADwAAAAIEAgAIACsEAgAAAAACCAAfhSwAUni5AAaAAAAAAAACCAAfhSwAUni5ACMIAQAAAAcNAAEAAAADAGAAyAAAAE8AAAAABIAQAAAAAAIIAFK4VwBmpm4AAAAEgBEAAAAAAggAheteABQuYgAAAASAEgAAAAACCAC4HmYAZqZuAAAABIATAAAAAAIIAB+FUAAULmIAAAAFgG4AAAAEBgQABQAAAAUGBAAGAAAAAAYCAAIAAAAFgG8AAAAEBgQABgAAAAUGBAAHAAAAAAAFgHAAAAAEBgQABwAAAAUGBAAIAAAAAAYCAAIAAAAFgHEAAAAEBgQACAAAAAUGBAAJAAAAAAAFgHIAAAAEBgQACQAAAAUGBAAKAAAAAAYCAAIAAAAFgHMAAAAEBgQACgAAAAUGBAAFAAAAAAAFgHQAAAAEBgQACQAAAAUGBAALAAAAAAAFgHUAAAAEBgQACwAAAAUGBAAMAAAAAAAFgHYAAAAEBgQADAAAAAUGBAANAAAAAAAFgHcAAAAEBgQADQAAAAUGBAAOAAAAAAAFgHgAAAAEBgQADQAAAAUGBAAPAAAAAAYCAAIAAAAFgHkAAAAEBgQABgAAAAUGBAAQAAAAAAAFgHoAAAAEBgQAEAAAAAUGBAARAAAAAAAFgHsAAAAEBgQAEAAAAAUGBAASAAAAAAAFgHwAAAAEBgQAEAAAAAUGBAATAAAAAAAAAAOAFAAAAASAFQAAAAIEAgAIACsEAgAAAAACCACkMFQAwvUcAQaAAAAAAAACCACkMFQAwvUcASMIAQAAAAcNAAEAAAADAGAAyAAAAE8AAAAABIAWAAAAAAIIAML1TABQeCkBAAAEgBcAAAACBAIACAArBAIAAAAAAggApDBUAOD6NQEGgAAAAAAAAggApDBUAOD6NQEjCAEAAAAHDQABAAAAAwBgAMgAAABPAAAAAASAGAAAAAIEAgAIACsEAgAAAAACCACPgj4AUHgpAQaAAAAAAAACCACPgj4AUHgpASMIAQAAAAcNAAEAAAADAGAAyAAAAE8AAAAABIAZAAAAAAIIAD1KNwDC9RwBAAAEgBoAAAAAAggAwvVMAKJwEAEAAASAGwAAAAACCADC9UwAAIBCAQAABYB9AAAABAYEABUAAAAFBgQAFgAAAAAABYB+AAAABAYEABYAAAAFBgQAFwAAAAAABYB/AAAABAYEABYAAAAFBgQAGAAAAAAABYCAAAAABAYEABgAAAAFBgQAGQAAAAAABYCBAAAABAYEABUAAAAFBgQAGgAAAAAABYCCAAAABAYEABcAAAAFBgQAGwAAAAAAAAADgBwAAAAEgB0AAAAAAggAuB5AAMJ1zAEAAASAHgAAAAACCAAfhU4AwnXMAQAABIAfAAAAAAIIAFK4VQAU7tgBAAAEgCAAAAAAAggAH4VOAGhm5QEAAASAIQAAAAACCAC4HkAAaGblAQAABIAiAAAAAAIIAIXrOAAU7tgBAAAEgCMAAAAAAggAhes4ALje8QEAAASAJAAAAAACCAC4HkAABlf+AQAABIAlAAAAAAIIAIXrOABczwoCAAAEgCYAAAACBAIACAArBAIAAAAAAggAuB5AAKxHFwIGgAAAAAAAAggAuB5AAKxHFwIjCAEAAAAHDQABAAAAAwBgAMgAAABPAAAAAASAJwAAAAIEAgAIACsEAgAAAAACCAAfhSoAXM8KAgaAAAAAAAACCAAfhSoAXM8KAiMIAQAAAAcNAAEAAAADAGAAyAAAAE8AAAAABIAoAAAAAAIIAFK4VQBw/b8BAAAEgCkAAAAAAggAhetcAB6FswEAAASAKgAAAAACCAC4HmQAcP2/AQAABIArAAAAAAIIAB+FTgAehbMBAAAEgCwAAAAAAggAZuY4AMzMIwIAAAWAgwAAAAQGBAAdAAAABQYEAB4AAAAABgIAAgAAAAWAhAAAAAQGBAAeAAAABQYEAB8AAAAAAAWAhQAAAAQGBAAfAAAABQYEACAAAAAABgIAAgAAAAWAhgAAAAQGBAAgAAAABQYEACEAAAAAAAWAhwAAAAQGBAAhAAAABQYEACIAAAAABgIAAgAAAAWAiAAAAAQGBAAiAAAABQYEAB0AAAAAAAWAiQAAAAQGBAAhAAAABQYEACMAAAAAAAWAigAAAAQGBAAjAAAABQYEACQAAAAAAAWAiwAAAAQGBAAkAAAABQYEACUAAAAAAAWAjAAAAAQGBAAlAAAABQYEACYAAAAAAAWAjQAAAAQGBAAlAAAABQYEACcAAAAABgIAAgAAAAWAjgAAAAQGBAAeAAAABQYEACgAAAAAAAWAjwAAAAQGBAAoAAAABQYEACkAAAAAAAWAkAAAAAQGBAAoAAAABQYEACoAAAAAAAWAkQAAAAQGBAAoAAAABQYEACsAAAAAAAWAkgAAAAQGBAAmAAAABQYEACwAAAAAAAAAA4AtAAAABIAuAAAAAgQCAAgAKwQCAAAAAAIIAKQwOQHC9YYBBoAAAAAAAAIIAKQwOQHC9YYBIwgBAAAABw0AAQAAAAMAYADIAAAATwAAAAAEgC8AAAAAAggAwvUxAVB4kwEAAASAMAAAAAIEAgAIACsEAgAAAAACCACOgiMBUHiTAQaAAAAAAAACCACOgiMBUHiTASMIAQAAAAcNAAEAAAADAGAAyAAAAE8AAAAABIAxAAAAAAIIAML1MQGicHoBAAAFgJMAAAAEBgQALgAAAAUGBAAvAAAAAAAFgJQAAAAEBgQALwAAAAUGBAAwAAAAAAYCAAIAAAAFgJUAAAAEBgQALgAAAAUGBAAxAAAAAAAAAAaAMgAAAAACCAAfxVkAMtN0AQEHAQAACAcBAAAAByIAAgAAAAQAAADIAAAACgAEAAAArQAAAE5lYXQ4MCDDgsKwQwAABoAyAAAAAAIIAB/FWQAy03QBAQcBAAAIBwEAAAAHAAAAAAaANQAAAAACCAA9agcApHBXAAEHAQAACAcBAAAABx8AAQAAAAQAAgBAAQAARXN0ZXJpZmljYXRpb25fUnhuMgAABoA4AAAAAAIIALjeCgEonL8BAQcBAAAIBwEAAAAHGAABAAAABAAAAMgAAABbYnlwcm9kdWN0c10AAAaAOwAAAAACCAC4Xh0BM1MXAAEHAQAACAcBAAAABw8AAQAAAAQAAQDIAAAAS2V5AAAHgD4AAAAEAhAAZmbpAczMAACaGQwBKFxbAQAKAgADAAAABoBBAAAAAAIIAEihgQCup+sBAQcBAAAIBwEAAAAHFQABAAAABAAAALoAAAAxMjExLTk5LTAAAAaARAAAAAACCAAzs5cA1yOZAAEHAQAACAcBAAAABxUAAQAAAAQAAADIAAAAMS4wIGVxdWl2AAAGgEcAAAAAAggAM7OXAJh5KQEBBwEAAAgHAQAAAAcVAAEAAAAEAAAAyAAAADYuMCBlcXVpdgAABoBKAAAAAAIIAF2vqwBSeCkBAQcBAAAIBwEAAAAHEwABAAAABAAAAMgAAABbZXN0ZXJdAAAGgE0AAAAAAggAXa+rAI8imQABBwEAAAgHAQAAAAcSAAEAAAAEAAAAyAAAAFthY2lkXQAABoBQAAAAAAIIAF2vqwD0qOsBAQcBAAAIBwEAAAAHHQABAAAABAAAAMgAAABbZGVzaXJlZCBwcm9kdWN0XQAAB4BTAAAABAIQAI/CSwBer/UAj0JEAF6v9QAACgIABwAHCgIACAAAAAaAVgAAAAACCABIoYEA1yOZAAEHAQAACAcBAAAABxUAAQAAAAQAAAC6AAAAMTIwOC02NC02AAAGgFkAAAAAAggAPQpzANcjmQABBwEAAAgHAQAAAAdGAAMAAAAEAAAAugAAAAYABAACALoAAAAKAAQAAAC6AAAAMy0oNC0odGVydC1idXR5bClwaGVueWwpcHJvcGFub2ljIGFjaWQAAAaAXAAAAAACCABSGHMAmHkpAQEHAQAACAcBAAAABx0AAQAAAAQAAQC6AAAAdHJpbWV0aG94eW1ldGhhbmUAAAaAXwAAAAACCAA9CnMA9KjrAQEHAQAACAcBAAAAB0kAAwAAAAQAAAC6AAAADQAEAAIAugAAABEABAAAALoAAABtZXRoeWwgMy0oNC0odGVydC1idXR5bClwaGVueWwpcHJvcGFub2F0ZQAABoBiAAAAAAIIAEihgQAKdykBAQcBAAAIBwEAAAAHFAABAAAABAAAALoAAAAxNDktNzMtNQAABoBlAAAAAAIIAFyPSwEK148BAQcBAAAIBwEAAAAHGgABAAAABAABALoAAABtZXRoeWwgZm9ybWF0ZQAAIYBoAAAABAIQAGamTQEonLoBZiYfASicugE3CgIAAAAvCgIAAQAgCgIAyggxCgIAMwI1CgIAAgAwCgIAGQAHAgwAKJy6AWamTQEAAAAACAIMACicugFmJh8BAAAAAAAAIYBrAAAABAIQAGamSQAonIsBZqZJACgcYwE3CgIAAAAvCgIAAQAgCgIAyggxCgIAMwI1CgIAAgAwCgIAGQAHAgwAKJyLAWamSQAAAAAACAIMACgcYwFmpkkAAAAAAAAADYAAAAAADoAAAAAABAwEAGgAAAAAAA6AAAAAAAQMBABrAAAAAAAAAAAAAAAAAA==
VmpDRDAxMDAEAwIBAAAAAAAAAAAAAAAAAAAAAAUIBAAAAB4AGggCAAMAGwgCAAQAAAEkAAAAAgACAOn9BQBBcmlhbAMA6f0PAFRpbWVzIE5ldyBSb21hbgADMgAIAP///////wAAAAAAAP//AAAAAP////8AAAAA//8AAAAA/////wAAAAD/////AAD//wGAAAAAABAIAgABAA8IAgABAAOABAAAAASABQAAAAACCAC4HkIAtx57AAAABIAGAAAAAAIIAB+FUAC3HnsAAAAEgAcAAAAAAggAUrhXAAqXhwAAAASACAAAAAACCAAfhVAAXA+UAAAABIAJAAAAAAIIALgeQgBcD5QAAAAEgAoAAAAAAggAhes6AAqXhwAAAASACwAAAAACCACF6zoAroegAAAABIAMAAAAAAIIALgeQgAAAK0AAAAEgA0AAAAAAggAhes6AFJ4uQAAAASADgAAAAIEAgAIACsEAgABAAACCAC4HkIApPDFAAaAAAAAAAACCAC4HkIApPDFACMIAQAAAAcOAAEAAAADAGAAyAAAAE9IAAAAAASADwAAAAIEAgAIACsEAgAAAAACCAAfhSwAUni5AAaAAAAAAAACCAAfhSwAUni5ACMIAQAAAAcNAAEAAAADAGAAyAAAAE8AAAAABIAQAAAAAAIIAFK4VwBmpm4AAAAEgBEAAAAAAggAheteABQuYgAAAASAEgAAAAACCAC4HmYAZqZuAAAABIATAAAAAAIIAB+FUAAULmIAAAAFgG4AAAAEBgQABQAAAAUGBAAGAAAAAAYCAAIAAAAFgG8AAAAEBgQABgAAAAUGBAAHAAAAAAAFgHAAAAAEBgQABwAAAAUGBAAIAAAAAAYCAAIAAAAFgHEAAAAEBgQACAAAAAUGBAAJAAAAAAAFgHIAAAAEBgQACQAAAAUGBAAKAAAAAAYCAAIAAAAFgHMAAAAEBgQACgAAAAUGBAAFAAAAAAAFgHQAAAAEBgQACQAAAAUGBAALAAAAAAAFgHUAAAAEBgQACwAAAAUGBAAMAAAAAAAFgHYAAAAEBgQADAAAAAUGBAANAAAAAAAFgHcAAAAEBgQADQAAAAUGBAAOAAAAAAAFgHgAAAAEBgQADQAAAAUGBAAPAAAAAAYCAAIAAAAFgHkAAAAEBgQABgAAAAUGBAAQAAAAAAAFgHoAAAAEBgQAEAAAAAUGBAARAAAAAAAFgHsAAAAEBgQAEAAAAAUGBAASAAAAAAAFgHwAAAAEBgQAEAAAAAUGBAATAAAAAAAAAAOAFAAAAASAFQAAAAIEAgAIACsEAgAAAAACCACkMFQAwvUcAQaAAAAAAAACCACkMFQAwvUcASMIAQAAAAcNAAEAAAADAGAAyAAAAE8AAAAABIAWAAAAAAIIAML1TABQeCkBAAAEgBcAAAACBAIACAArBAIAAAAAAggApDBUAOD6NQEGgAAAAAAAAggApDBUAOD6NQEjCAEAAAAHDQABAAAAAwBgAMgAAABPAAAAAASAGAAAAAIEAgAIACsEAgAAAAACCACPgj4AUHgpAQaAAAAAAAACCACPgj4AUHgpASMIAQAAAAcNAAEAAAADAGAAyAAAAE8AAAAABIAZAAAAAAIIAD1KNwDC9RwBAAAEgBoAAAAAAggAwvVMAKJwEAEAAASAGwAAAAACCADC9UwAAIBCAQAABYB9AAAABAYEABUAAAAFBgQAFgAAAAAABYB+AAAABAYEABYAAAAFBgQAFwAAAAAABYB/AAAABAYEABYAAAAFBgQAGAAAAAAABYCAAAAABAYEABgAAAAFBgQAGQAAAAAABYCBAAAABAYEABUAAAAFBgQAGgAAAAAABYCCAAAABAYEABcAAAAFBgQAGwAAAAAAAAADgBwAAAAEgB0AAAAAAggAuB5AAMJ1zAEAAASAHgAAAAACCAAfhU4AwnXMAQAABIAfAAAAAAIIAFK4VQAU7tgBAAAEgCAAAAAAAggAH4VOAGhm5QEAAASAIQAAAAACCAC4HkAAaGblAQAABIAiAAAAAAIIAIXrOAAU7tgBAAAEgCMAAAAAAggAhes4ALje8QEAAASAJAAAAAACCAC4HkAABlf+AQAABIAlAAAAAAIIAIXrOABczwoCAAAEgCYAAAACBAIACAArBAIAAAAAAggAuB5AAKxHFwIGgAAAAAAAAggAuB5AAKxHFwIjCAEAAAAHDQABAAAAAwBgAMgAAABPAAAAAASAJwAAAAIEAgAIACsEAgAAAAACCAAfhSoAXM8KAgaAAAAAAAACCAAfhSoAXM8KAiMIAQAAAAcNAAEAAAADAGAAyAAAAE8AAAAABIAoAAAAAAIIAFK4VQBw/b8BAAAEgCkAAAAAAggAhetcAB6FswEAAASAKgAAAAACCAC4HmQAcP2/AQAABIArAAAAAAIIAB+FTgAehbMBAAAEgCwAAAAAAggAZuY4AMzMIwIAAAWAgwAAAAQGBAAdAAAABQYEAB4AAAAABgIAAgAAAAWAhAAAAAQGBAAeAAAABQYEAB8AAAAAAAWAhQAAAAQGBAAfAAAABQYEACAAAAAABgIAAgAAAAWAhgAAAAQGBAAgAAAABQYEACEAAAAAAAWAhwAAAAQGBAAhAAAABQYEACIAAAAABgIAAgAAAAWAiAAAAAQGBAAiAAAABQYEAB0AAAAAAAWAiQAAAAQGBAAhAAAABQYEACMAAAAAAAWAigAAAAQGBAAjAAAABQYEACQAAAAAAAWAiwAAAAQGBAAkAAAABQYEACUAAAAAAAWAjAAAAAQGBAAlAAAABQYEACYAAAAAAAWAjQAAAAQGBAAlAAAABQYEACcAAAAABgIAAgAAAAWAjgAAAAQGBAAeAAAABQYEACgAAAAAAAWAjwAAAAQGBAAoAAAABQYEACkAAAAAAAWAkAAAAAQGBAAoAAAABQYEACoAAAAAAAWAkQAAAAQGBAAoAAAABQYEACsAAAAAAAWAkgAAAAQGBAAmAAAABQYEACwAAAAAAAAAA4AtAAAABIAuAAAAAgQCAAgAKwQCAAAAAAIIAKQwOQHC9YYBBoAAAAAAAAIIAKQwOQHC9YYBIwgBAAAABw0AAQAAAAMAYADIAAAATwAAAAAEgC8AAAAAAggAwvUxAVB4kwEAAASAMAAAAAIEAgAIACsEAgAAAAACCACOgiMBUHiTAQaAAAAAAAACCACOgiMBUHiTASMIAQAAAAcNAAEAAAADAGAAyAAAAE8AAAAABIAxAAAAAAIIAML1MQGicHoBAAAFgJMAAAAEBgQALgAAAAUGBAAvAAAAAAAFgJQAAAAEBgQALwAAAAUGBAAwAAAAAAYCAAIAAAAFgJUAAAAEBgQALgAAAAUGBAAxAAAAAAAAAAaAMgAAAAACCAAfxVkAMtN0AQEHAQAACAcBAAAABxAAAQAAAAQAAADIAAAATmVhdAAABoAyAAAAAAIIAB/FWQAy03QBAQcBAAAIBwEAAAAHHgACAAAABAAAAMgAAAAGAAQAAACtAAAAODAgw4LCsEMAAAaANQAAAAACCAA9agcApHBXAAEHAQAACAcBAAAABx8AAQAAAAQAAgBAAQAARXN0ZXJpZmljYXRpb25fUnhuMgAABoA4AAAAAAIIALjeCgEonL8BAQcBAAAIBwEAAAAHGAABAAAABAAAAMgAAABbYnlwcm9kdWN0c10AAAaAOwAAAAACCAC4Xh0BM1MXAAEHAQAACAcBAAAABw8AAQAAAAQAAQDIAAAAS2V5AAAHgD4AAAAEAhAAZmbpAczMAACaGQwBKFxbAQAKAgADAAAABoBBAAAAAAIIAEihgQCup+sBAQcBAAAIBwEAAAAHFQABAAAABAAAALoAAAAxMjExLTk5LTAAAAaARAAAAAACCAAzs5cA1yOZAAEHAQAACAcBAAAABxUAAQAAAAQAAADIAAAAMS4wIGVxdWl2AAAGgEcAAAAAAggAM7OXAJh5KQEBBwEAAAgHAQAAAAcVAAEAAAAEAAAAyAAAADYuMCBlcXVpdgAABoBKAAAAAAIIAF2vqwBSeCkBAQcBAAAIBwEAAAAHEwABAAAABAAAAMgAAABbZXN0ZXJdAAAGgE0AAAAAAggAXa+rAI8imQABBwEAAAgHAQAAAAcSAAEAAAAEAAAAyAAAAFthY2lkXQAABoBQAAAAAAIIAF2vqwD0qOsBAQcBAAAIBwEAAAAHHQABAAAABAAAAMgAAABbZGVzaXJlZCBwcm9kdWN0XQAAB4BTAAAABAIQAI/CSwBer/UAj0JEAF6v9QAACgIABwAHCgIACAAAAAaAVgAAAAACCABIoYEA1yOZAAEHAQAACAcBAAAABxUAAQAAAAQAAAC6AAAAMTIwOC02NC02AAAGgFkAAAAAAggAPQpzANcjmQABBwEAAAgHAQAAAAdGAAMAAAAEAAAAugAAAAYABAACALoAAAAKAAQAAAC6AAAAMy0oNC0odGVydC1idXR5bClwaGVueWwpcHJvcGFub2ljIGFjaWQAAAaAXAAAAAACCABSGHMAmHkpAQEHAQAACAcBAAAABx0AAQAAAAQAAQC6AAAAdHJpbWV0aG94eW1ldGhhbmUAAAaAXwAAAAACCAA9CnMA9KjrAQEHAQAACAcBAAAAB0kAAwAAAAQAAAC6AAAADQAEAAIAugAAABEABAAAALoAAABtZXRoeWwgMy0oNC0odGVydC1idXR5bClwaGVueWwpcHJvcGFub2F0ZQAABoBiAAAAAAIIAEihgQAKdykBAQcBAAAIBwEAAAAHFAABAAAABAAAALoAAAAxNDktNzMtNQAABoBlAAAAAAIIAFyPSwEK148BAQcBAAAIBwEAAAAHGgABAAAABAABALoAAABtZXRoeWwgZm9ybWF0ZQAAIYBoAAAABAIQAGamTQEonLoBZiYfASicugE3CgIAAAAvCgIAAQAgCgIAyggxCgIAMwI1CgIAAgAwCgIAGQAHAgwAKJy6AWamTQEAAAAACAIMACicugFmJh8BAAAAAAAAIYBrAAAABAIQAGamSQAonIsBZqZJACgcYwE3CgIAAAAvCgIAAQAgCgIAyggxCgIAMwI1CgIAAgAwCgIAGQAHAgwAKJyLAWamSQAAAAAACAIMACgcYwFmpkkAAAAAAAAADYAAAAAADoAAAAAABAwEAGgAAAAAAA6AAAAAAAQMBABrAAAAAAAAAAAAAAAAAA==
Loading
Loading