Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save adelenelai/c5e3e771786cc7d2bb222065b5e6a0d9 to your computer and use it in GitHub Desktop.
Save adelenelai/c5e3e771786cc7d2bb222065b5e6a0d9 to your computer and use it in GitHub Desktop.
Removing Substructure Matches and Returning Fragments in RDKit
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"id": "52c8cb96",
"metadata": {},
"source": [
"# Delete One Substructure Match and Return Fragment\n",
"## Adelene Lai 2023-10-15\n",
"\n",
"Problem:\n",
"> \"I have a molecule with a fragment that is matched in several places. I need to build all the structures that can be obtained by removing only one of these matches.\""
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "c8cfce82",
"metadata": {},
"outputs": [],
"source": [
"from rdkit import Chem as Chem\n",
"from rdkit.Chem import rdDepictor\n",
"rdDepictor.SetPreferCoordGen(True)"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "df2fa8d2",
"metadata": {},
"outputs": [],
"source": [
"#######\n",
"#### My approach to removing substructure match one-by-one then returning the remaining fragment\n",
"#######\n",
"\n",
"def _remove_atoms_by_nr(emol: Chem.rdchem.EditableMol, list_atomnrs):\n",
" # -> Mol:\n",
" \"\"\"\n",
" Input is a list of integers representing atom numbers to be removed from the molecule.\n",
" Output is the remaining Mol.\n",
" \"\"\"\n",
" list_atomnrs_sorted = sorted(list_atomnrs, reverse=True)\n",
" list_frags = []\n",
" for atomnr in list_atomnrs_sorted:\n",
" emol.RemoveAtom(atomnr)\n",
" return(emol.GetMol())\n",
"\n",
"\n",
"def remove_substr_matches_return_frag(mol_smiles:str,\n",
" patt:str,\n",
" pattAsSMARTS:bool=False,\n",
" ):\n",
" #-> List[Mol]:\n",
" \"\"\"\n",
" Iteratively removes substructure matches, one-by-one, and returns fragment each time.\n",
" Substructure matches defined by SMILES.\n",
" Returns list of remaining fragments from each substructure removal operation.\n",
" \"\"\"\n",
" mol = Chem.MolFromSmiles(mol_smiles)\n",
" if (pattAsSMARTS):\n",
" patt_mol = Chem.MolFromSmarts(patt)\n",
" else:\n",
" patt_mol = Chem.MolFromSmiles(patt)\n",
" matches = mol.GetSubstructMatches(patt_mol) #tuple of tuple of atom nrs ((1,2,3), (4,5,6))\n",
" matches = [list(m) for m in matches] #convert to list of lists\n",
" list_frags = []\n",
" for m in matches:\n",
" emol = Chem.EditableMol(mol)\n",
" frag = _remove_atoms_by_nr(emol, m)\n",
" list_frags.append(frag)\n",
" print(f\"{len(list_frags)} substructure match(es) found.\")\n",
" if len(list_frags) == 0:\n",
" print(\"No matches found, returning input molecule\")\n",
" return [mol]\n",
" return list_frags "
]
},
{
"cell_type": "markdown",
"id": "e9facc4b",
"metadata": {},
"source": [
"## Example 1"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "d6ef45de",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x1252b2b90>"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"smiles = \"CCCCCCC(=O)OCC(C)(C)COC(=O)CCCCCCCl\"\n",
"molecule = Chem.MolFromSmiles(smiles)\n",
"molecule"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "3c04624e",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAcIAAACWCAIAAADCEh9HAAAABmJLR0QA/wD/AP+gvaeTAAAL7ElEQVR4nO3dXVBV1RvH8c2bJmBg2IumWZpkkWWiklqp2aQUd+pFF0enm+NMNVzGhc2c6Y6pG6arnKYLhpl0uHLAUueomUr51psioPlKUZqJJoqBcXYX6//f7Q5YeJ6z91p77+/niugAywPnd9aznrXXzrFt2wIAZCpX9wAAINiIUQAQIUYBQIQYBQARYhQARIhRABAhRgFAhBgFABFiFABEiFEAECFGAUCEGAUAEWIUAESIUQAQIUYBQIQYBQARYhQARIhRABAhRgFAhBgFABFiFABEiFEAECFGAUCEGAUAEWIUAESIUQAQIUYBQIQYBQARYhQARIhRABAhRgFAhBgFABFiFABEiFEAECFGAUCEGAUAEWIUAESIUQAQIUYBQIQYBQARYhQARIhRABAhRgFAhBgFABFiFABEiFEAECFGAUCEGAUAEWIUAESIUQAQIUYBQIQYBQARYhQARIhRy7KsRCKxdOnS6urq3t5e3WPB306fPr169epVq1Z1dHToHgv+4YMPPqirq9u+fbvugZjBjratW7fee++9zrORl5f35ptvplIp3eOKuoGBgVgslpv7v7f5nJycl19++dq1a7rHBbutre2hhx5yXjJz587t7u7WPSjNohujly9fXr9+vfMqraqqGjdunPrPxx9//Ntvv9U9wOhKJpOlpaXqd1FSUlJWVqY+Lioq2rp1q+7RRVdfX99rr73mvGQmTJigPs7NzX3vvfeGhoZ0D1CbKMbo0NBQY2Pjfffdp/4aysvLOzs7bdseHBx8/fXXCwoK1F9GLBa7cOGC7sFGyw8//LBmzRqnMojH4+rz77///l133aU+v3z58mPHjukdZ9SkUqnm5mZnEjplypSvvvrKtu1PPvmkpKREffKZZ5754osvdI9Uj8jF6K5du5566in1i1+2bNn333+f9oC+vr5EIjF27FjLsoqLixOJxB9//KFlqJFy/fr1RCKhsrKoqCiRSFy/ft39gJs3b27cuHHixImWZRUUFMTj8UuXLukabaQcOnRo0aJF6iUzb968HTt2uP9vKpXavHnzI488oh5QU1Nz5swZXUPVJUIx6p7pTJ06tbGx8V8efPLkyZqaGvXgmTNntra2+jbOqEmlUo2N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",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x1252b2b20>"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pattern_smiles = \"CCCCCCC\"\n",
"pattern_mol = Chem.MolFromSmiles(pattern_smiles)\n",
"pattern_mol"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "addba08b",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"There are 2 substructure matche(s) with the following atom numbers: ((0, 1, 2, 3, 4, 5, 6), (15, 17, 18, 19, 20, 21, 22)).\n"
]
},
{
"data": {
"image/png": "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",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x1252b2b90>"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#visualise substructure matches\n",
"matches = molecule.GetSubstructMatches(pattern_mol)\n",
"print(f\"There are {len(matches)} substructure matche(s) with the following atom numbers: {matches}.\")\n",
"molecule"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "c4ea85ce",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x1252b2b90>"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#add atom numbers to visualise better\n",
"for i, atom in enumerate(molecule.GetAtoms()):\n",
" atom.SetProp(\"molAtomMapNumber\", str(atom.GetIdx()))\n",
"molecule"
]
},
{
"cell_type": "markdown",
"id": "2c0ad4fe",
"metadata": {},
"source": [
"### Remove substructure match, return fragment"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "24dbdf85",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2 substructure match(es) found.\n"
]
},
{
"data": {
"image/png": "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7e67765fv/6RI0datWp10/Ozs7NDQkLOnz+/atWqP/7xjw6oEECdcfjw4bCwMBFJSEjo0qXLTc8vLCzs0qXL8ePHlyxZ8sILL9i/QACAvdBDCDgjS19fVFSUNWlQRHx9fefNmycir7zySm5urp0LBFCnTJs2rbi4ePLkydakQRHx9PT8y1/+IiKzZ89OT0+3c3UAADsiEALOaPny5XFxcUFBQZUt9Feh8ePH9+7dOzU19b333rNfbQDqmDVr1mzevDkgIODNN9+0/rfGjBkzfPjwy5cvz5071361AQDsjSGjgNPJysoKCQlJS0tbvXr1uHHjbul3d+zYMWDAAC8vryNHjrRu3dpOFQKoMwoLCzt37nzixIkPP/zwueeeu6XfTUxMDAsLM5vNCQkJd955p50qBADYFT2EgNOZO3duWlpa//79H3rooVv93X79+j3yyCP5+fnakg8AULVFixadOHGiU6dOEydOvNXf7dSp07PPPmsymaZOnWqP2gAADkAPIeBcar6BRGpqaseOHXNzc7dt2zZw4ECbVwigzqj5BhKXL1/u0KFDenr62rVrx4wZY/MKAQD2Rg8h4FymTp1aUFAwYcKEam8n2LJly5dfflm7lMlksml1AOqUWbNmZWVljR07ttrbCfr7+8+ZM0dEZsyYce3aNZtWBwBwBHoIAScSExMzdOhQX1/fpKSkpk2bVvs6+fn5oaGhZ86c+cc//vHMM8/YsEIAdUZ8fHzv3r3d3d0PHTrUvn37al/HZDJ179794MGDCxYsYLA6ANQ69BACzqK4uHjatGkiMnv27JqkQRGpX7/+u+++KyKvv/76lStXbFMfgDpEKfXSSy+Zzebp06fXJA2KiJubW3R0tIi88847586ds1GBAAAHIRACzmLp0qWHDh0KDg5+8cUXa361Rx55ZNCgQRcvXnz77bdrfjUAdcwXX3yxffv2Jk2aREVF1fxq99xzz9ixY3Nycl577bWaXw0A4EgMGQWcQmZmZocOHTIyMtatW/fAAw/Y5Jr79u3r1auXq6vrwYMHQ0JCbHJNAHVAfn5+x44dk5OTV6xY8fTTT9vkmqdOnercuXNBQcHOnTv79Oljk2sCAByAHkLAKbz55psZGRn33nuvrdKgiISFhY0fP76oqGjGjBm2uiaAOmDBggXJyck9evR48sknbXXNtm3bTps2TSk1depU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",
"text/plain": [
"<IPython.core.display.Image object>"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#vanilla - pattern as SMILES\n",
"myfrags = remove_substr_matches_return_frag(\"CCCCCCC(=O)OCC(C)(C)COC(=O)CCCCCCCl\",'CCCCCCC')\n",
"Chem.Draw.MolsToGridImage(myfrags, subImgSize=(400,300))"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "43c38d53",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2 substructure match(es) found.\n"
]
},
{
"data": {
"image/png": "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7e67765fv/6RI0datWp10/Ozs7NDQkLOnz+/atWqP/7xjw6oEECdcfjw4bCwMBFJSEjo0qXLTc8vLCzs0qXL8ePHlyxZ8sILL9i/QACAvdBDCDgjS19fVFSUNWlQRHx9fefNmycir7zySm5urp0LBFCnTJs2rbi4ePLkydakQRHx9PT8y1/+IiKzZ89OT0+3c3UAADsiEALOaPny5XFxcUFBQZUt9Feh8ePH9+7dOzU19b333rNfbQDqmDVr1mzevDkgIODNN9+0/rfGjBkzfPjwy5cvz5071361AQDsjSGjgNPJysoKCQlJS0tbvXr1uHHjbul3d+zYMWDAAC8vryNHjrRu3dpOFQKoMwoLCzt37nzixIkPP/zwueeeu6XfTUxMDAsLM5vNCQkJd955p50qBADYFT2EgNOZO3duWlpa//79H3rooVv93X79+j3yyCP5+fnakg8AULVFixadOHGiU6dOEydOvNXf7dSp07PPPmsymaZOnWqP2gAADkAPIeBcar6BRGpqaseOHXNzc7dt2zZw4ECbVwigzqj5BhKXL1/u0KFDenr62rVrx4wZY/MKAQD2Rg8h4FymTp1aUFAwYcKEam8n2LJly5dfflm7lMlksml1AOqUWbNmZWVljR07ttrbCfr7+8+ZM0dEZsyYce3aNZtWBwBwBHoIAScSExMzdOhQX1/fpKSkpk2bVvs6+fn5oaGhZ86c+cc//vHMM8/YsEIAdUZ8fHzv3r3d3d0PHTrUvn37al/HZDJ179794MGDCxYsYLA6ANQ69BACzqK4uHjatGkiMnv27JqkQRGpX7/+u+++KyKvv/76lStXbFMfgDpEKfXSSy+Zzebp06fXJA2KiJubW3R0tIi88847586ds1GBAAAHIRACzmLp0qWHDh0KDg5+8cUXa361Rx55ZNCgQRcvXnz77bdrfjUAdcwXX3yxffv2Jk2aREVF1fxq99xzz9ixY3Nycl577bWaXw0A4EgMGQWcQmZmZocOHTIyMtatW/fAAw/Y5Jr79u3r1auXq6vrwYMHQ0JCbHJNAHVAfn5+x44dk5OTV6xY8fTTT9vkmqdOnercuXNBQcHOnTv79Oljk2sCAByAHkLAKbz55psZGRn33nuvrdKgiISFhY0fP76oqGjGjBm2uiaAOmDBggXJyck9evR48sknbXXNtm3bTps2TSk1depU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",
"text/plain": [
"<IPython.core.display.Image object>"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#pattern using SMARTS\n",
"myfrags = remove_substr_matches_return_frag(\"CCCCCCC(=O)OCC(C)(C)COC(=O)CCCCCCCl\",\n",
" '[#6]-[#6]-[#6]-[#6]-[#6]-[#6]-[#6]', \n",
" pattAsSMARTS=True\n",
" )\n",
"Chem.Draw.MolsToGridImage(myfrags, subImgSize=(400,300))"
]
},
{
"cell_type": "markdown",
"id": "c1895dc6",
"metadata": {},
"source": [
"## Example 2"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "23db27d0",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x1252b3530>"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"smi = \"CCNC(=O)[C@@H]1C=C2c3cccc4[nH]cc(c34)C[C@H]2N(C)C1\"\n",
"test_mol = Chem.MolFromSmiles(smi)\n",
"test_mol"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "463606c1",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"There are 8 substructure matches with the following atom numbers: ((0, 1), (3, 5), (5, 6), (5, 21), (7, 8), (7, 18), (15, 17), (17, 18)).\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAcIAAACWCAIAAADCEh9HAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nO3de1zO9/8/8Md17uqsEuWQQkXklFChksSy2Yx95vSxmTmMxfg5jI/DhpjznL4zs4PZCcMoRTooUpTJMVJhIXTQ4bqurtP798c7V3Wpoa6rrup5v+22W9f7el/v1+tq9vB6v18nDsMwIIQQUlvchq4AIYQ0bhSjhBBSJxSjhBBSJxSjhBBSJxSjhBBSJxSjRI/u3r2bkpLy9OnThq4IIXpEMUr0KDQ01MPD49ChQw1dEUL0iGKU6BGHwwGgVqsbuiKE6BHFKNEjLpcLgKZ4kKaNYpToERuj1BolTRvFKNEjilHSHFCMEj2iGCXNAcUo0aNaxGhOTs64ceNycnIqH/z888//+OMPHVeOEB2hGCV6VIsYLSws/PXXX589e1b5YHh4+OXLl3VcOUJ0hN/QFSBNmY2N3+DBPFNTz4auCCF6RK1RokcFBSPi4tY+ezaooStCiB5Ra5ToEZcLALXoYfr2229tbW01Lx8/fqy7ShGiYxSjRI9qHaN37typPBNfJpPprlKE6BjFKNGjWsfo2rVru3btqnnZs2dP3VWKEB2jZ6NEj2odo4Q0IhSjRI84HACgKfWkaaObeqJHDROjd+/iyhXk5ECphLk5OnVCjx4wNq7fSpBmhGKU6FEtbuo7deqUlpbWsWPHygcPHjxoZmb28g8XFuKPP5CXB4WiPLyfPsW9e4iOxuDB8PYuz3VCdIpDi5gR/cnORkYGOnRAp06v98GMjIw1a9bweDwA/fv3nzJlyss/8+QJvvsOcnn1rV+BAK6uePttSlKic9QaJbp3/Trc3DB8OMLD0aEDACiVEAgQFoYRI17pCrm5ufv375fL5QAKCwtfHqMKBfbtQ1nZv52Qno6kJPTv/4rfgpBXRF1MRF9On8aRI7X8bNu2bc3NzdmfraysXv6B8+fx0rGlcjliYv4tagmpFYpRoi/TpuHTT1FSUpvP2tvbm5iYsD9rPSet3oULUChe6dI3btSmQoTUjGKU6EtICMRirFhRm88KBAJTU1MAHA6nS5cuLzlbIoFEovVI9E5BQeL9+9qLS8nluHOnNhUipGb0bJToi1CITZswahQmTEC3bq/9cbZr3tTUtAP7ePVf/PMPGEbTdyRVKEITElbFxTGAnanp0fff79umTcXJDx++dlUI+VfUGiV69MYbCA7GzJm1GTrKxqiZmVmbyiGoRSpFRAR++40dVMUwzG9Xr7pu3/5lXBwDcDichyUlXt99F3LiRKHmyWleHn76CZUm7BNSR9QaJTr2zz9VXm7ZAjc3/PJL+cubN9GpE/iv8OeO7WIyNjZu0aJFNW+r1bhwoXKXUcqDB3MjI+Pv3gXQ285u47Bhve3sNiUmhsbHf52UtP/Klf8NGjS7Xz8uh4OsLOzahb594e8PobAO35UQgFqjRIfu38ekSejaFU+eVBx0cMDSpVi6FACkUvj7o3t3hIW9/GpsepqZmXFeHOl56xa2b0dEBJuhD4qLpx075vntt/F379oYG28JCkqeOtW3QwdzkWiFr2/ajBlDO3bMk0jmRET037PnArs9iVqNpCRs3w5aVJ/UGcUo0YHSUixdCmdn7NsHDgfp6VXe/ewzsFOQcnNhbIybNxEcjJEjtU/TwnbQa09eys3FTz/h119RUABAqlCsS0hw3b59d0oKn8v9tF+/OyEhIf3787gVf7BdbGxOTpz41/vvt7OwuJCT03/PnkmHD+dJJABQXIwjR7B/P/LzdfJ7IM0Tb0XtelJJc1BQgAsXEBeHpCRcv47iYlhaQiTSOuvYMQQH49gxqFQYMwZHj8LREQkJmDQJpqYAwOOha1dcvYrJkxEaCmtrJCbiyhV88w3++QcDBrww3/3WLRw/np+c/HtaWjeRaByAsjJYWCA2Fn/9xQYogGPp6SN//fXg9etylSrY2fn4+PHjuncX1fC8wMXG5uM+fQQ83rn79y89fPjdpUuWRka97ew4HA7y83HxIqRStGuHO3cQF4eYGJw/j5s3IZXC2hoCQS1+eWq1upp2NGmKaDIoqY5CgbAwXL8OtRoqVflBHg8cDnr1wrBh4PEA/P03Pv0U8fEA0Ls3tm2Dl9crXT4vD198gR07oFLBygoLFmDuXAiFgFSKX39Fbi7k8iu5ud579wZ37vzLu++Cx6uoxguPQTcHBQ1ycKi4Opf7L9P4058+nRUeHpWZCWCgg8P2ESPcW7Uqf4/DAY8HpbLibD4fHA78/DBgwKt8L4lEcu7cuYSEhN9++y0jIyM4OPhIrWcgkMaDYpS8oKwMe/agsLBKoGgIBLC1zRs5ctXaLXv2LCspEbdqhTVrMHkyuK/5iCgtDXPnIjoaAgEGD545P2TEsMxMPHvGhmC+VOq2Y8d/unXbHBSk+ciD4uKVsbF7UlPVDGNjbLx00KBZnp4Vt/Bdu8LbG5cv4+pVyGTlQ6BatUK/fsjLw7lzmm90LD19ZljYP0VFfC53Zt++X/j5WRgZVR41pf2Vu3fHyJHVfguJRHL27NnY2NjY2Njk5GRl1V/akSNH3nrrrdf7vZDGhmKUvGD/fmRlVW79VaZmmJ+vXp1/6tSToiJ//5U9eixbvhwWFrUv7ehR7Nt3/tChAQDecHHZOHSoi40N+5b9hg3/8/Wd4eEBQKpQfJ2UtDo+vrisTMjjTffw+NLf31zzhMHeHkFBaNeu4roKBVQqiEQVyVhQgBMncPs2+6pULl9/7lxofLxcpWptarpu6NCJ7u413oYLhQgKQq9e7CupVJqSknL27NmoqKj4+Piy56MFeDxez549vb29BwwYkJGR8b///a99+/bXr1/XzMgiTRLFKKkqOxu//FLTxMq47OxPT5xIy80F4O/js3XXrm61GFj/AoVCsXP9+hVfflkok/G53A979Vrl79/SxMR+w4b9o0f7OToeS08PiYjIKigAEOzsvHX4cCfNKCgzMwwejN69X3Xppps3ERmJwsLyV0+fzq7pHr8qpUBwOSAgKiYmKioqISFBsz2UJjp9fHyGDh1qaWnJMAyHw1Gr1QMGDEhOTl60aFFoaGidfkHEsFGMkqr++KPaWec5RUWLT5/++fJlBmhnYbHK33/SlCl44w2dlRsbm3/q1MrTp3deuKBUq1uIxQu9vfekpq4PDNyUmMg+Bu1lZ7d52LDBmklNAgG8veHl9dpdQEolEhJw9uxL7vEBpVp9+dGjqMzMqMzMhHv3ZM/P5/F4Li4uPj4+AQEBAQEB7NiszMzMqKioqKiouLi49PR0S0vLixcv9uvXj8/nX7p0qfLWUqSJoRglVa1fD3Yw0HMKlWr+yZN7UlMlCoWJULjYx2eel5cRnw8rK8yerbNyf/oJWVkAruTmzo2MPJ2ZCUDI4ynVajXDtDY1XeXv/0GvXlxNk7NrVwQG1ulpQtV7/Gcy2bKYGDbEW5uaDnFyelRScu7+fenzhjmXw+nh5OT75pt+fn4DBw5kW53Xrl2LiYmJjY2Ni4vLy8vTXDsyMjIwMBDA9OnTv/nmm4EDB8bFxVHHfVNFMUqq+vJLrW7u5TEx68+elSqVwc7O20eMcLC0LH/DyAgLF+qs3N27K892j8rMnH78eJFMViCTzezbt8pjUA4HY8bgpeuVvKKzZ3H6tGayalpu7idhYQn37lmLxXlSKQCnFi0CnJwCnJz8HR2t+/TB2LFsqzMhISE6OjqHHcwPALCzs2Pbp0OHDnV0dGQPFhQUuLq6Pn78eN++fRMmTNBNnYmBoRglVa1Zo/Vg1O+HH2Kzswc6OJz54IMqZ5qaYt48nZX7yy+ahiHr8I0b7/z+e2DHjpETJ1Y5k8fDggU6m8T56BG+/x5yueYAwzAOW7bcf/bs6+HD3+/e3cbYGEBmQUFUZmZCSUlsRsb9+/c1J7du3XrgwIEBAQHe3t5ubm7VlvDjjz9Onjy5Rw/P2Ngkzd9BpCmhOfWkKhsbrTWQ+rVtG5ud/Ubnztpn2trqslxHR2RlVR5iJeDxAAh5PO0zTU11ORHexkZrTAKHU962GOXqamNsvD05eU18/MPiYs0J9vb2fn5+vr6+vr6+nV5hd5RJkyadOSP57bf/Ll2K7dt1VnFiOChGSVU9e+Lp05cvgSwUakb/6Eb37oiOrnyAfY6ofa8kEKBvX12Wy+ejY0fcvl15EapShQKAiVAIQMDlPiwutjUxGezo6D1pko+/f+/evV/rKSeHw/nssxn79mHXLkyciH79dFl9YggoRklVvXvjzJmXxCiHA2Nj6Lbr2dQU/fohOfklRRsZwdNTl+UCCAhAVlblciUKBQBjgQDAu127DnJw6GJvjz59MGxY7Upwc0NICDZswCefICkJL7awSaNGS5OQqvh8vPfeS4YQCQT4z39ee9LSS/n7o21bTdFsi6/82T37b5EIEybUbob7v2nZEkOHai6rVKvLlEoel2vE5wOwNjbu0ro1rKwQEFCXQlauRIcOSEnB7t06qDIxKBSj5AXt2mH8eM3zR+2ba7EY//0vahijXidcLiZMQO/e1ZTL4cDUFFOn6viBrEbfvhg+HAIBeLzKTVEAEAjg6IgPP6xjG9LYGBs2AMDixbQAf1NDMUqq4+CAsWOrf2vCBNjb66tcLhdBQWw7t0prFMDAgbC21le5AHr1wqxZ6NOnVCAAYCIQgM+HoyPee6/yXyp1MXo03ngDz55h0aK6X4wYEIpRUoOagkPn99Q10G4F18PYdXNzDB9eOnEiABNbWyxZgkmT8Cr7kr6yrVshFmPfPqSm6vCqpIFRFxMxPBwOXmyN1tcA59LSUgAm7FKputaxI9atg7W15tEFaQqoNUpeoqHirPoBT/pXHqN6W5Np9myEhcHWFrduVRxctgzBwQBw9ChattT+iL09Dh3SU3WIDlCMkkaivuJbIpEAMNZekV+XSkqQn4+ZMyuOSKVgB/iXlVWzaenTp9BsbEoMEMUoMTzV3tTXF323RlnvvIPkZOzfr9dCSD2hGCUGSvumvp6fjeo5Rm1tsXQp5s3T7CxFGjHqYiKGpxm0RgHMmYO9e7F4Mf7v/7Tf8vOr8rLazVyI4aAYJS/RUF09Tbs1CkAoxI4dCAzElCnab334YZWX7KaBxGBRjJIaNOAaw82jNQpgyBCMHYuQEO0dVbWWBnwxZ4lBoWejpAZVV/98+XFduX6dXf1TuzWamorSUv0WDaBeeuor27gR167h6NH6KY3oBcUoeQHD4PBhnDtX/buxsTh2TF+32LGxqGlj97w87NxZDz0y9dkaBWBvjxUrkJFRP6URvaAYJS+IicGNGzX2ayiVuHIFCQm6L/fGDZw7p1mwrpph/1IpfvxR3x0ueo3Rixfx7BlMTSEWVxycPRv9+8PMDADEYtjZaX/Kzq7K+cTQ0LPRxqC0FPv3IyUFcjmcnTF+PNq311dZ+flITKwcVdU8o1QoEB8Pd/c67SinRaXC8eNQKJRqNZ9dmgSAVtcWw0Aiwfnz8PHRWbkv0F+M3riBwEC0aYOYGNjYVBzn85GYWP7zyJEYOVL7g3fv6rwuRJeoNWrwMjPRrRvWroWREVq3xpEjcHXF8eP6Ki4pSWtLu+qp1bhwQZflZmQwSuWBa9dctm279vgxaupiUiiQlKTLcl+gpxh98gRvvomCAjg6okUL3V6bNDCKUYP3wQewscHff2PrVoSGIjER48Zh4kR9PSW8dUsrRgukUs2/K6hUSE/XYbHnw8P779gx9sCBzIKC7//+G89bo+oXH8LKZKi0M5JuyeXy27dvA7h27ZoOBwlIpXjzTWRkoG9f/PYbrX7f1FCMGrbbt3HmDJYvh7l5+REuF6GhkEj0tVjFCwl17ckTALtTU7O0gvvZM510ND148GDatGne8+Yl5+TYm5l9M3LkV0OH/lNUtO7s2VYmJmm5uesSEuSVd51Tq1Fpb04diouL69Wr140bNywtLZcsWeLi4rJ161ap1t8fr0+lwrhxOH8eTk44fhz1NQSA1B+KUcOWlgZAe1W1li3h4FD+lg4pFIiNrbxNppphlkRF3XjyhMPhFJeVdd2xY3FUVHFZWcX5e/bg3r1aFyiXy7du3erq4rJ7924+l/tpv343Z82a4O6+MjbWedu2Y+npBTJZiVy+KCqq5//9X7hmoJVajUOHcPy4Dsc/PXr0aPz48b6+vtevX3d1dX3//ffbtWt3+/btOXPmdOzYMTQ0ND8/v9YXnzsXR47A2hrh4fpavJ80LNqn3rDt24dJkyCRaPfU9u8PNzd89x1yc2FtDX6duwpv3UJ4OJ49Y18xDPP9pUvzT52yFovPT516t7BwZ3LyD5cvq9Rqa2Pj/w0aNMvTk6fZi8nZGcOH4zW3YD927NickJDMrCwAwc7OW4cPd2rR4lh6+qcnTmQXFrIHt40YkZGfH3LixPUnTwAMcXLaGBjYo3Xr8ksYGcHHB/371+UmWa1W//zzz5999lleXp5YLF6wYMHixYtFIpFKpQoPD1+1alVycjIAExOT8ePHf/bZZy4uLq91/Z07Cz75pIWREaKi4O1d62oSg0YxatjCw/HGG8jI0F6DvV07jBuHdeswdCgyMrB4MT76qJZ7zBUVITIS169rDhy+cePjY8eKyso+HzRo+eDBmuMpDx7MjYyMv3sXQNeWLTcOGxak2aWdz0e/fhg06FU227h58+bcOXMiIiMBuNrYbA4KCurUKfXhwzkREezFe9vZbQkKGujgwJ6vUKm+//vvpdHRT0pLuRzOeHf3r4YOba1ZVtnCAn5+cHevxbSr1NTUmTNnJiUlAQgODt62bVuHDh0ApKSkREVFTZs2zdLSMiEhYd26dWFhYQzDcLncESNGLF682Etr1lENDh48OHHilD59LoWEOI0Z87q1I40Gxahhe/oU9vb4+mtMn15x8OpVuLvjyBF4e8PLq3z5Xw8PrFmDoUNf4+Jsb3t0NDtrCEDYrVshERF3CwutjIwSpkzpXN3eR8fS0+dERGQWFAAIdnbeEhTU0cqq/D0zMwwejN69qyRaWRmEQvZIfn7+ypUrd+7YoVSprMTiZYMHf+Lp+Uwm+yIubseFC9U3dZ/Ll0q/Ont2y/nzZUqliVA438trkY+PkaYZ3rYthg1D27YAoFLh4UMUFYHLhbU1bGxeTNjCwsLly5fv2LFDpVK1adNmzZo1kyZN0rz77rvvHjp0yNTUdNy4cfPmzXN2dr59+/b27dt3794tk8kA9OnT59NPPx0/fjyv5oZwcnKyn5+fRCJZv379/PnzX/YfgzRiFKMGb+pUnDiBmBh07gwARUUYNQqPH+PSJUilMDXFoUNYsADZ2QDg7Y21a7WHVSqVePwYMhlEIrRqVf4EIDsbYWGaJYJjs7OXRkenPHigZphRrq773nlHWHNAyFWqXRcuLIuJKSorE/B4Mzw8vvDzszAyKn/b3h6BgSgpwfnz5XtgqtVKc/O9OTlL9u59mp/P53I/7NVr9ZAhFiLRzgsXlsfGPpPJqrlOdW7l5S2Njj5w7RqAtubmq4cMmejuztGkpKsrxGJcvVrRMGcYCATw9UWfPpowPXDgwOzZs3NzcwUCwYwZM1avXm1adcuQqKior7766tSpUwD4fP7o0aPnz5/v4eGRm5u7a9eubdu2sY9KO3bsOHv27KlTp744czQzM3PAgAGPHz+eOnXqbtpSuamjGDV4paWYNAnHjqFHD5iZISUFDg44fBipqZg+HQsW4NNPAWDbNqxbh/x8cDh45x2sXg0XF+TnIyoKt25BICjvVVcq4eQEkQhXr7KXT334cHlMTExWFgAzkWj7iBGju3Z9lXo9lUi+rNqK/MTTk6/JLw5H049/OjNzTkTE1cePAQxxctoSFNTN1jYqM1Pz0DPAyWnr8OFdNbtnsJ9lmJru06OzsuZFRv796BGAvm3abBo2zOff5yMIhbCzw7hxt7KzZ82axebjoEGDdu7c6ebmVtOH0tLSduzY8dNPP7EtUG9v75CQkHfeeUcqlf7yyy8bN268desWgJYtW3744YchISF2z6cf5eXleXl53bp1a8SIEUePHuXX/ck1MWwUo43E1au4cAEKBVxd4e0NHg9Tp2LPHgBo2xbLl2PyZEil2LkTq1ejuPjXwYMPi0Tr3N0dzc1rGk6f9ujRotOnz92/r1KrlWr1gLZtD4wda61pWLVvD5UKubng86FWg8OBUol27dCmDVJSNJtaXHr4cG5kZFx2NgBXG5uNw4aNYFvNz0Mw5MSJr5OSAHS2tt4YGDjSxSX96dPPIiPZnncXG5tNmo8A4PPh6QljYyQno7S0PP2VSjg6ol8/XLmiGZ+gZpif09IWRUU9LC4GEOzs/PXw4Y41j2uXqtXr0tLWnjhRVlZmZWUVGho6depUzis8TtVqgXbq1GnWrFkff/yxSCQKCwsLDQ1NTEwEIBKJxo4du3jxYkdHxyFDhpw7d653795xcXGm+tkajxgUitHGLCoKixYhJQUAXFzw5Zd49108eiTdsKH1zp1FMplYIPikb99FPj7WVe867xQULDl9OjozU6JUcgBLkeijPn2W+/qWv21mhqAgsG1SiQQPH6KsDEZGFVO7JRLExCA1VRPQx9LT50ZG3snPBxDg5LQlKMjt+dCesFu33jt4cL6X12IfH4lCse7s2c2JiXKVqoVYvNDbe+6AARVPD9zcEBhYMUJWIkFREfh8WFlV3KTfu4fISDx4wL4qlcu3JyevOnOmRC4X8njTa3gsoBkAwOFwJkyYsGnTJpvKkzFfQUlJyXfffbd58+a7d+8CsLW1nTFjxqxZs2xsbOLi4jZs2BAeHq5Wq7lcrp2dXU5OTocOHRITE1trBhWQJo1itJFjGBw8iCVLytev69sXoaEYOPDusmVroqL2pKaqGcZUKPzE0/PzgQPNRaK7hYULTp2Kv3fvaWmpEZ8vUypdW7b8YdSo3uwNKZeLvn3h7/8qHe54+hQnT2rWzVOoVJUfdH7Qs+fqIUNsjI0B5EullkZGP6el/b+TJx8/723fEBhoq5lw2bo1hg9/1YUCGAY3buDUKRQWsgdyioq+iItjv6xWJ1VOUdGciIiD168D6Nm69a7//Kf/5s2v8eutSq1Wh4WFrVmz5vz583jeAv38889dXV0zMjK2bdu2e/duCwsLqVSakJDQvXv3WhdEGheK0SZBocD332PlSjx4UNqlyztmZqs9PDxsba8+fvxFXBzbIWMlFneysnpQXPxPUZGZSKRSq4U8XmDHjj+MGiUWCACgfXsEB1ezve+/y8xEZCQeP2Zf5Ukkmm53ti9+pqdnwr17cyMiLj96BMC3Q4ctQUEVYz/FYgweDE/P1x6upFQiKQnx8Xg+HeDigwefPR+P1aVly9AhQ7ILC5dGR5fI5RZGRit9fWd5evJEIsyc+bpDXF8UExOzcePG8PBwdhTU22+/PX/+/P79+8fExPj7+7u5uV19/uiZNAcUo02IRIKvv14WHv5lfDwHeNfN7Us/PxcbmyM3b3587NiT0lIAAh7PiMcrlss7W1svGzx4grs7AIjFGDJEe6DSq1OrcekSoqMhkbAHLj96NDcyku224nI47Lx4xxYtNgQGvtOlS/mn2Javnx9Eojp95TNnNIuVMAxz4Pr1RVFRWQUFHE75n+1x3btvHDasfJypSIQxY7QH4dYW2wL99ttvpVLpzJkzd+zYkZOT07ZtW3t7+5ycHJ0UQRoFitGmpqCgYOuYMZsSEorLyrgczuiuXYM6dVp/9uztvDwAfB6PYZj+bdv+PmZMebK4u2PYMB3M9JbJsG2bJkkBRGVmvvvHH89kMg6wZNCgJYMGVQzz5HAwebLOlvv7809cuaJ5VaZUroqP35yYyAWOvP++v6NjxZkiEUaPhqZHSxcePXq0ffv2//73v507d5bJZGKxWCQSyWhf+eaEYrQpCg19UlCwMTGR7cwR8niebdok5+TIVSo7M7MPevVa5edX3knN52PJEp2V+8MPWktjlsjlsdnZTpaWXbUmk3O5WLKkltOuXpSUhKioymukFspkLdautTAyKly0CECZUskARnw+hEJ89NFrP7h4HSYmJhKJpKSkpN7WzycNjpYmaYpMTFqamKwNCLg6c+ZYNzeFSpVw755cpbISiw+NHbva379ioI9uh+N07Kg1u99UKAx2dtbOUADW1jrLULbcqo8jzIRCDlBcVsYwzJLTp41WrdrI7onC4+E1++hfl7W1NYC8vDy9lkIMCsVoU9S5MxtSna2tfx8zJm3mzF52dgDGuLkNaNeu4jQuF5pJ8TrxihPbBQJ4euqyXBsbtGpVuWgelysWCNQMU6pQmIlEAIrlcggEGDBA3zueUow2QxSjTZGnZ+VFj7rZ2s7s2xeAUmscPpeLfv10Wa6FBfr0eclyUxwOTE21l/6ru7feAjve4DlzNj3LysyEQrAxamqqvZGxHlCMNkMUo02RtTU8PCrHipjPByCrvBmcQAAPD93f4Q4dCnt7rUSrwOVCJMKECbq8o2fZ2OC99zRroADQNELZH4rUakyeXA/rzlOMNkMUo03U0KHo2FETZ0ZaMSoQwMkJgYG6L5fLxaRJ6NkTfH6VrORwIBSidWtMnw7NilC65eSEadPQvj34fAiFbCO0SK02NzYGUGxnVzE/Sp8oRpshWjShieJwMHZs+Tp4gJFAAECqUJS31/z8ajPi/RXxeBgxAgMG4NIl3LkDqRR8Ptq0QY8e6NBBLyVqWFlh8mQUFCAry/z33/HwYbGHh1mrVti/v1h3S+X/O4rRZohitOnicODpid69kZEh5vOxf7/MxARvv41OnXSwWv5LtWgBf3/4++u9oGqLbtHCrH17XL5cbGXV2toaQFFRUf0UTjHaDFGMNnV8PlxdjfLzAUjFYri6NnSF6om5uTmAoqIiZ2dnAMV620xUC8VoM0Qx2iyIxZ4mJsUyWTNatM3MzAxAcXEx+wO1Ron+UBdTs2BkxC8tNW1WExQ16ck2S+u5NVqXnURJo8X3sucAAAkCSURBVEMx2iywK3DWecf1xkTTGjUxMeFyuaWlparKm93rDbVGmyGK0WaBjdFm1RrVNEK5XK6JiQnDMKX10llPMdoMUYw2C+yi9c0qRjWtUa2f9c3CwoLH4xUWFiorT3YgTRrFaLPQbG/q2Z6l+uxl4nK5lpaWDMMUPl+cnzR5FKPNgkgEDgdlZTXtbtcEVe5ZapBeJrqvbz4oRpsFDqd8jfnnO240fS+2RilGiZ5QjDYXdnZo1w5yeUPXo75UboHq+6ZerVZv3bp11qxZ7EuK0eaGYrSJS0/HgQMoKEBmJu7dg4UFcnJw8CAAyGQ4eBBa/7OfOYNLlxqkpjpWuQWq15v6mzdvent7z5kzZ+fOnexOdmxes7uHkuaAYrSJ++svjB2LBQsqjly4gPfeA4CCAowZgxs3qpy/YgV2767XGupJ5Raoubm5WCyW67oprlard+/e7eHhcf78eTs7u6NHj3br1i0iIuLs2bMA6meYKjEEFKNNX8uW2LcPCQkNXY/6VbkFun37dolE8tFHH+nw+pmZmf7+/tOmTSstLR0zZszVq1cHDRo0ZcqU4cOHq1SqFi1afP755zosjhgyitGmz94e06djxgwoFA1dlXrE5/M5HI5Kpdq1a5dur8wwzO7du93d3ePi4lq3bn3kyJE//vjj4sWL3bt337t3r5GR0dq1a3Nzc83rZXlTYggoRpuF5cvx6BE2barmrfv3kZ5e8U+lDZIbvV69egGYOXOmj49PTEyMTq6ZlZWl1Qj18/ObNm1aUFDQ/fv3+/Xrl5qaunDhQkFN6/+TJokhTdpXXzE9ejAMw3z3HWNszGRlMYcPM1wuwzDMgwcMwBgZMcbGFf9wucz06Q1bZZ25d+/eqFGjLCws2D/qAQEBCQkJtb6aWq3+5ptvTE1NAbRq1erPP/9kGObkyZPt27cHIBAIli9frlQqdVd90mhQjDZxmhhVqxkvL2b0aO0YjY+vcr6fX9OJUVZRUdHatWstLS3ZMPX29o6Ojn7di7CNUPYKY8aMefr0aWlp6cKFC7lcLoAePXpcunRJH5UnjQLFaJP17Blz+3ZFjDIM8/ffDJ/PzJnTvGKUVeswrdwItbW1PXToEMMw8fHxnTp1YhuhCxculMvleq4+MWgUo03TX38x7dox7u5MaGhFjDIMExLCCIXNMUZZrxum2dnZQ4YM0TRCnzx5IpFINI1Qd3f31NTUeqs8MVgUo03N/fvMW28xAAMwXl7MsmVVYrSoiLG3b74xynrFMP3pp5/Ywae2trYHDx5kGObs2bPsliR8Pn/hwoVlZWX1XndiiChGG49nz5hr15iLF5m0NObJkxffV6uZb75hzM0ZgLGwYLZsYVQqJimJ2bu3ymlnzjDr1jEMwxQXMytWMPfuVXn3xx+ZsDD9fQcD8mKYxsTEVD7h8OHDbCP08ePHlRuh3bt3T0lJaaBaE0PEYRhGX4MAiK48fIiwMOTmgseDSgUuFwwDMzMEBaFzZ/aUK1fw8cdg5x8GB2PnTrRr15BVbiyKi4t37ty5du1adl07b2/vVatW+fr6su8mJCT4+PgkJiZ+8MEH6enpfD5/3rx5X3zxhVAobMhKEwNDMWrwUlIQEQGtNYAZBhwOBAL06iUdPHjL1rDly8coFGjbFjt24M03G6iqjVZNYSqTyVasWLFhwwaVStWtW7fvv//ew8OjoStLDA7FqGG7eRN//vkv04/O5OR8HBGRfv++j09W164d1q8HzZ2ptfz8/M2bN3/99dfsTPy2bduWlJQUFhayT0KXLVtGjVBSLYpRAyaXY9OmmpYIfSqRzIuM3Hf5MgO4u7l9u/d7T8++9VzBJqmoqGjXrl2rVq0qKSkB4ODgcODAgb596XdLakQxasAuXsSpU9UuEXrg2rVPwsOflJaKBYIFPj6fz54tfPvt+q9gE3bnzp1Vq1ZZWlquXLmSZseTf0cxasB+/BHZ2VrH7hQUzDx+/OSdOwAGd+jwTXCwi40NTE0xb14D1JAQAvAbugKkZvn5Wgfu5Of327MnTyKxMTbeOGzYpB49yt8oLS3vdCKE1DuK0cZk1ZkzeRKJhZHRjVmzbIyNG7o6hBCAFsozaC1aaB3wbNMGQICjo3aGisXUFCWkoVCMGrAuXVB12cqWJiYAtBOTw4Gzcz1WixBSBcWoAevZUysxjQUCAFKtYaQ8Hry86rNehJDKKEYNmEiE4ODKDVIxnw9AWnlGk0AAT0+0bFn/tSOEsChGDVv37vD11SSpWCAAING0Rnk8dO2KgICGqh0hBBSjjYCXF8aPB5cLTWtUE6OdO2PUKOpcIqRhUYw2Bg4ObK892xotv6lnmBe78gkh9Y9itJHg86HVxcThNK8dkwkxVBSjjYRAgOc39RXPRilGCTEAFKONBJ8PrZt6QHsRUkJIQ6AYbSQEAgBGfD4HkCkU5QvKUGuUEANAMdpICAQAuByOiM9ngDKVCqAYJcQgUIw2EvzyRWSqDB2lm3pCDADFaCOhGYFfeegotUYJMQAUo41E1YlM5b1M1BolxABQjDYS7MNQraGjxcWQyRqwUoQQUIw2DteuISWF/bHK0NGyMmzdivv3G7BqhBCKUYN38yaOHoVazb7SHjoqk+Hnn/HoUUPVjhBCMWrYpFIcPly5K0l7dRIAcjl+/x20NSEhDYRi1LAlJ2vlo7FWa5QlkeDGjfqsFyFEg2LUsKWlaY1qEle7AL5cjrS0+qwXIUSDYtSAMQwKCrSOaa9OopGbWz+VIoRooQ2WDRvDaG1AP8/La2KPHl1sbLTPpDGkhDQQilEDxuFAJEJZWeVjrjY2ri9mKABT03qqFSGkKrqpN2zt27/SaTweOnfWc1UIIdWjGDVsAwZAKHz5aVwuevfWf20IIdWgGDVsjo5wcACf/2/DQtk9li0t67FahJAKFKMG7913YW1dY5tUIICjI4YMqd86EUIqcBia/WL4lEqcPIlLl8p/ZgmFYBgMGgRvb9pjmZAGRDHaeBQX48YN3LsHqRRmZujQAa6uMDJq6GoR0txRjBJCSJ3Qs1FCCKkTilFCCKkTilFCCKkTilFCCKkTilFCCKmT/w/yR6BKxZhnTQAAAeB6VFh0cmRraXRQS0wgcmRraXQgMjAyMy4wMy4yAAB4nHu/b+09BiDgZYAAJiAWB2IpIG5gZGNIANKMzBCaiYmdIQNIMzMBJTRADBYOCM3EpmACUsDIwgZRwQxXweYAo2ESWBgQJewOFiAaaB26DJyGuoNNQQXkLhZ2BgWQOLozGcF2MzByMzAyMDIxMDErMLNoMLEyszCysjGwsWswsXMocHBmMHFyJXBxZzBx8yTw8Cbw8iXw8Wcw8Qsk8AsyCAoxCAkzCIswCIsyiLIyCLEzCHAkCPBkMAmJsTCKsAANZ2MVFRZiZ2Pj5OLmEeBg5eUR4OdjExRi5xDgF5djBFoODVAGcYtrgQd+y9kcAHGC1UMOFB78vh/E7toge8D5ySYw2+ys/IEA5qP7QOxm/YgDX3jW2ILYOZwX9zvXitiB2CXXnfbvZN4CVvOZ7b7tHy5psHiPV5X9ZMe1YPEjl5vtM0VXg808t+q7/X3xp2B25ApDB80Hc8Bs0/c6DuxOmWD1VWbhDo9PsNuD2CdDTB2+fdwEZp9e+Nb+bfpkMNso9IU9029DsF1HN9bZL11xFSyeLHDDNmXqFDC79oLz/k6dK/YQu1z3z2bScgCxFytf3K/LAzHnc84127PhXGBxMQCZKHARihC/lAAAAg16VFh0TU9MIHJka2l0IDIwMjMuMDMuMgAAeJx9VEGO2zAMvPsV+sAaGlISpUMPm2S7LYp1gDbbP/Te/6OkZEcKoNSKCFsek9JwJouz6+flx5+/7n7RZVmc8//5lVLcb/beLx/Obtzp7f375s6319Oxcr5+brdfjthR0m90PGJfb9ePYwXu7F54JcnivXuhtbAOOL/6evVvqSEZoRgSioxximS3WaaQeEdykTkyWE5FllSRfuUcZIqM7lqrixhS3+fgfZkAk6XEmphRgQhxDhQD+lUSsNeOmO8yK1IT+dxKIyJMM5aKKyKyJ+Q8pxLaI4fVUzkI4jQvDVRk4YN0yWVOEKw/tIoy3ZBET9oDbkhP+8GJ5EnOoJ1U0hNJPXlkPz85Yk2ZmVWZzhqe56Qj1fPkmGIFKpdpDpQGVEAjXTjPga07pVSGtPGp0BxY9jbGvXTy84zkTb+mjCNllPkmCbuGpFJJikxzgojusmw5EfKT6uy+1W0GqSmRnjD0tl0enNy8fbpul+5tG9QNrA+Ou0uhM3Qrks7Y/Qa1kvrz6/sXdG/ZonQHkc7cbQKdpbsh6MQo+mABGMQdLIAGEQcL4EGswQLCIMpgAXFQnz2quAaZBQuQQU+oK3kQDmoog0JggUYpwAJhaHlboaG1sJCGDtY090pUdyydGoptoR+T0l6aHxm3Jo8ttefjr17vl3+aZCjt2bGJTgAAASN6VFh0U01JTEVTIHJka2l0IDIwMjMuMDMuMgAAeJw1kLtuwzAMRX+low3IgvgSxRYBAmjxlE6dDE/eu3bJx4eiUmjRvTq6fBz7efT7/QTsF13H735e7Jflui5eO9z6eN3PpS+37/XR+9of2D+eS8lQWBNmqH7S19AiCVyXFtqMzXWthq4hN6nxLsFjbkTkmqwV15SpoqaShQoXG4AW/7iVjKhqM8I/OwJKbSBeQ1UHQtRoIgXN0uaxVMWGYcRhaDOdsSphIIrYbLzZSBWIwh6nFaIyCciIdboSRWmWEhBmtmoBNY72Nh/BG3WoNHYIJlVp9mOjbEAwGzKSt4PafAp0x89/tbE74DZ2GR3NZYrWt6G+HHSjMqQ1/f18+uwJ2JfzfAFcAGFjd2/UjgAAAABJRU5ErkJggg==",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x1252b3530>"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#visualise substructure matches\n",
"patt_smi = \"CC\"\n",
"patt_mol = Chem.MolFromSmiles(patt_smi)\n",
"matches = test_mol.GetSubstructMatches(patt_mol)\n",
"print(f\"There are {len(matches)} substructure matches with the following atom numbers: {matches}.\")\n",
"test_mol"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "e36ae280",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAcIAAACWCAIAAADCEh9HAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nO2dZ1wUV9vGr20sLLv0DtIVLGAXscUSjV1j7xpjjb3E+JiuxsRE32jsWBNNYhK72MECqFQFCwJK750tsGyd98Msy9IUFRT0/H/5sHPmzMyZNVx7n3PuwqAoCgQCgUB4VZhvewAEAoHQvCEySiAQCK8FkVECgUB4LYiMEggEwmtBZJRAIBBeCyKjhEZBrVYnJSXFx8crFIpaO2RmZiYnJ6vV6mrtycnJz549Iw4khGYEkVFCw7Nv3z5bW1sPD48OHTrY2toePnxY92xsbGynTp08PT07derk4uISEhJCtyclJbVv397T09Pb29vT0/Px48dvY+wEwktDZJTQwPz111+LFi1at26dWCwWi8V79+69ffu2rtW5bNmyAQMGFBUVFRYWfvjhh9OnT6fbFy9ebGpqWlhYWFRU5OnpOXv27Lf0BgTCy8EgsydCw9K+fft27dr9+eefdXVQKBRMJpPFYgEICQnp3bt3Xl5eeXm5s7PzzZs3e/fuDSA2NrZt27bR0dHt27d/c0MnEF4JYo0SGhKJRPLw4cPhw4fXPDVy5MhDhw4B4HA4tIYCyM/P19fXNzU1jYuLU6vV3bp1o9vbtGljaGgYFxf3xkZOILwyREYJDYlQKKQoysbGpuapgQMHtmrVSreFoqgdO3ZMnjyZzWbn5+fzeDwul6s9a2ZmlpeX1+gjJhBeG/bbHgDhnYLP5wMoKCioeWrJkiXVWr788svk5OTjx48DMDMzk0qlCoWCw+HQZ0tKSiwsLBp5vARCA0CsUUJDYmxs7Orqqt18rwuFQrF48eI///wzMDDQysoKgKurK0VRsbGxdIf09HSxWOzq6troIyYQXhsio4QGZuHChQcOHAgLC6MPVSpVeno6gODg4OTkZABZWVl9+/aNjo4OCwvTCmWrVq18fHy2bNlC73lu3brVw8NDu1RKIDRlyE49oYFRqVSLFy8+cOBA27ZtbWxsHjx40KtXr3///bdVq1azZ89eu3atjY1Nbm6ul5eXnp4efcn27dt79uwZGho6bNgwGxsbPT29xMTE06dPDxgw4O2+C4FQH4iMEhqF1NTUyMhIiqJcXV07duzIYDDKy8vZbDabzQ4ICKjWuUOHDvQyaElJSXBwsEql6t27t7m5+dsYOIHw0hAZJTQKu3fv3rp162effbZq1ap6XnLnzh03Nzdra2ttS1hYWIsWLezs7BpnjARCw0DWRgmNglAoTEpKKiwsrP8l48aNu3Llim7L1KlTz50719BDIxAaGCKjhEaByWQCqJl5hEB49yAySmgUiIwS3h+I+z2hUXg1GX348OHly5e1h2VlZQ08LAKhESAySmgUBALP3r3nmZr6vNRVZ86cuX37tvawuLi4ocdFIDQ8REYJjUJZ2bDg4GGdO7/cVV9//fWMGTO0h+7u7g08LAKhESBro4RGgckEALI0SngfINYooVF4ozIqk0EigUyG8nIAYLGgpwceD3w+KjLyEQiNB5FRQqPQuDJaXIyUFCQnIysLIhFUKtB5oeinUhQoCmo1lEpwuTAzg5MTnJ3h5ASdRHwEQkNBZJTQKLyCjD58+NDQ0FC3JTw8nMfjVR6LRIiKQnQ0pFIA0C2WJ5PVftPycmRlITsb9+9DoYCtLbp2Rdu2xEolNCAkGJTQwKSmgscDl4uCAhgZwcwMKSlwcEBFHpJKsrNhYYGK/KIAkJQkHjt2BY+Xx+GIevfuvWHDBs0JkQhXryI+HkCBSHTl2bMMkchWIBjeqpWZgUG122aKRIHJyaM9PY24XADHHjwo0xVcFmuwh4fj6NHo1k0j9gTC60FklNDA2NmBovDkCUxMAEAohIkJYmLg7a3pQFEIDMT27bhwAbt3Y8ECTePSpdizB0CBSmUKbJozJ23//v0AcP8+Ll2CWg2V6kxc3PRTpxyNjdvb2MQXFKSUlFycOtXHwYG+c2x+/o/Bwf/FxsqUyoh587rY2QGYf/58Mb1mCsiUynPx8ddnzuzn4QFDQ0ydCpIAhfDakEk9oeGRyfD119ixo/az4eHYvh2jRqEiRzMA/PEHDh5EUBBWrhweFqYH3DAxuQoAN27g7l16/p4lFk87dWp2x47bBg9mMhgA/nzwoJWODuaXlvZzcdnYv7/ztm3axn0jRmg/H75//2FeXh8nJ8jlkMvh54dZs2Br26BvT3jvIJMaQsOzZg3270dkZO1nfXxw/jzmzIHudPzKFfTtix49YGVlBQSz2bczM32QkKDVUAD/PX7MZjI3DRhAayiAqd7epgYGErk8UyQC8IGz8+yOHS2rLrDqsj0sbKWvL0s7l5fLcexYneuqBEL9IDJKaHg8PbFwIRYsgEpV2fjgAdzckJtb+yU8HkpLAcDBwQGAgUGeSGSCy5d195Ee5+d7Wljwayyy/hET09nP74WjuvzsWZpQOKtDhyqtcnmdek8g1A8io4RG4bvvkJmJXbsqW6yssGAB6rIU587F3bv47DMolbOB30tLR5ZJAJEIOmv35UqlUW0eS+PbtLk6ffoLh7T1zp0FXbpUV2Glkt65IhBeGSKjhEbB2BhbtuDrr5GTo2mxscHnn4PPr72/jw9u3YJMhvx8Dz4/3MYmrIVD9c1PSx4vQySqea2loaG3TrLnWnmYmxuUmvpZ1661nHvtXdbHjx9v3779+++/P3bsWCltVFclKirKz89PpWucAwDKysr8/Pz8/PxIKqxmDZFRQsOQkYGZM5GaWtkyZQo6d8b339f3Dr6+OHgQJ08aWltfk0hat27HgkCAimVQAH2dnePy8x/UtS7wXH65c2eyl5eDkVH1E2w2WrZ8hRtqWbt2bfv27f39/dPS0jZt2uTt7Z2dna09GxAQ0LdvX19f3/nz58vl8mrXfvfdd99///38+fOVSuXrjIHwdiEySnhdysvxww/w9MQff+DLLyvbGQzs3IlTpzSHxcU4eRIVrke1oFQCFMWUy0uK58lkJtMmKjBokK5b6ZCWLbs5OEw/dSokLa1cqcyVSPZFRkrk8uDU1P8FBACgKKpYKi0pLwcglsmKpVLany9TJPrn0aPl3bvX8lQOB69Rf/TChQubN28+fvz4tWvXDh48+ODBgx9++EG3DkpZWdmaNWuuX79e89qYmJjdu3dv2rTplZ9OaCIQv9H3DKUSeXnIzUVhIQoLIRajvLwy2IgORTc1hYUFLC1hY1PnJLyC8+exfDmSkgBg+HDs2IEePbB7N0aP1nT44gv8/DNiYiCTwccHGRmws0OfPsjMREYGjHhKI3358TkBNozcTlunelgUpguNciSqncNPzO2cC4oCk6m7UVUkla66cuVEbKxELtdns3s5OvqNGPEwL+9oTMx/EyYUlJW1qupmlbVqlT6bvTEoKCIz88SECUwGg6Xrcs9kwsgIKhXUalAUGAxwODAwgLExLC1hbQ0bG5iZ6VrE1Zg0aVJWVlZQUFC19pycHKVS6VDh0BoZGdm1a9eysjKDCu8EpVLp4+MzatSojz76qHv37jKZTK9mfAKhmUBk9P2gsBCPHyM2Fvn54HBAUagxwawCiwU2WxOT7u6Odu3g5lYt5ufJkye//FJ6+HAXAN7e2L4dffsCwIMHcHTU+N4DkEoRG4s2bXTcmzIyHp5JFD5JNYASDAYUCg+LQr6ePE1o/CDX2phbrs+J7mRjwqotxKhULr+WlDTa07OkvNxEX/+lvoMNt24xGYwv+/SpV29aUmmcneHtjVatqkRcAQC8vb0HDBjw66+/VmufO3duRkbGpUuX6MOaMvrjjz8eOXIkJiYmJiaGyGhzh7jfv9NQFOLicPMmiotBUVAqlWo1u+7dDJVarREvlQoqFSgKKhUePEB8PCgKXbuiRw/weBKJZMuWLT/99JODg5ulZfSXX3IWLQK74n8lbbQSjYEBNFlH6dimwEBIJB7lylRWYXJJEY/D6Wpnx2WzATgaCx2NhQAAMwAPc3MdjY2NdbQypaQksagoWyxWqtUvq6FKtfpqYuK/EyYUSaVGXC67jjBQNUVpnFJ1f2kSEpCSAopC+/bo00fKZoeGht68eXPixIlyuZxfm8G+fv16hW4EalWePn26YcMGf39//Zd8C0LThMjou0tODk6ehEgEufxhbu4XAQHXk5NlSqWrqemXffrM7thR21Eil6+6cuXvR4+kCoW3tfWuYcO6OzgAyC0t3R0RceDeveXdu3/esyfCwtRhYUdKS9cdOpSbm8tisQYO7LNhg8zCorqNVgslJfj3XxQWQi4vKC2deupUYHKyu5lZsVQK4NiYMQPd3OiOaoq6kJCwKTg4NCPj54EDP+/Zk25feunSHzExvg4OT4uKDty7d23GjMpoeno+/lxSS0qM9fWdfv1VoVIJuNy5nTptHjhQK6ZqijoXH/9/d++GZWRkrVplzuMBSCoudtu+XXuHSe3abROJJi5ZEpqRIVMoAPD5fCsrq/T09JqPs607MoqiqLlz53p7e6vV6oCAgLi4OADXr1/v06dPlTwshOYDkdF3lOhoXLwIhQIUlVxS0ufw4R4tWtz59FNbPj8wOXnLnTsfe3qaVsjQskuXkoqLo+bNszI0XH316sfHjyctW5ZfVtb70KFBbm7G+vpCmQzAs7y8KSdPRmRmAujdq9dvO3Z0qObKXhdZWfjjD8jltGvRtNOnU4XCuMWL3c3MAOyOiJDrrH4mFBb++/jxqh49ftBZcHyYm7sjLCxy3rzOdnZylartrl07w8O/+eADzWkmE3p60FqR9AeVSuu6XyyV9j1yxMXU9N78+S3NzKKys9cGBCQWFXlYWNAdvrlxIyIzs5ejY3BqqrpimStbLDbU00tfsYI+5LLZXBYrJjtboVR2cnLq+/HHffr0kUgkO3fuFIvFAoGgnv8y5eXlEokEwNq1awHQDlJffvnlmTNniIw2U4iMvos8eaLRUAAMxpY7d4y43NOTJumxWACmeXtPqzrx3jZ4sFKtplX1qz59Dty7F5uf39nOLnn5ciaDMfjYMbqbBY+XUlJiJxD8OGjQ9KFDGe3b12swEgn++EMbcJlQWHjl2TP/KVNoDQVQzZfT08Li6JgxALbeuaNtpDffad97PRaLr6dXqru2y2LB3R3dukHrNiQW48IF7fnD0dEl5eWnJ06kzcweLVoEffKJ7kM39u8PIK6g4MfgYG1jplhsLxCYVs0gdXnatFbm5qYCQbaR0c3ExAULFuzfv3/ChAnr16/39PRMSUkJDAxcvnz5kSNHiouLV6xYIZVKs7OzMzMzASQnJwsEghYtWkTqxE2FhYV179797t27ZG20+UJk9J1DLsfZs7oxlLdSU8e2aaNXI8PmTyEhfD29xd26CXRCg6RKJQB65ZFZdaZsoq9/YcqUNpaWhnp6yM3F/fvo1OnF4wkMhI5TZFRWFoB+Li7VesUVFPjs3x81f75WXnXp7uDQ0da23++/r+vdW65SCWWyxbpeSkolEhLQvz+01+7cqfsNBKem9nV2Nq9h6+2PiorOydk1bFitA8+RSAw4nIP37uWXlXWytR3k5gbAWF9/XWDgzZSUuIICAKGhocHBwZ9//nnfvn3LyspsbW2HDh0ql8slEolIJAIQFRU1cuRIAKampr169XJ2dr53757uU9hstqmp6XO+P0LTh8joO8fTp9XCcvJKS2txOwe4LFZNbT18/763tbVrHX/YXe3tNZ/kckRE1EtG4+J0PZbEcrmhnh6vxpa3DZ+/fcgQqzpiRTks1pjWrQ/cu7c3MvJhbu5kL6/qW0xqNZ4+hY8PABQWaqJIK34GCqXS1hXzd12sDA1d6pYwByMjSx4vsbhYWF6+OSRkbJs2B0aOlCoUeyMjAQi43N6engDc3NxOnToFQKVSsSq+z8WLF9MfevXqVVRUVOeXA3Tu3Pn5HQhNHyKj7xx0UQ0d9NlsUW1JjFb4+lZrufT06c7w8GszZjBetGOjeVB9qBqfY6KvXyqXi2UyQdXoeBN9/epJQ3T4++HDX+/ejV20yJrPj8zKmn7q1Cdnz56YMKGyh1pdubEuFoPF0t10MmCzi2vz+x/l6fmcgY9p3XpM69b057Ft2gz4/fc1PXu2t7H5ZdCg3o6One3s2FZWGuEGALB0fpPS0tJatGhRr6+R0PwhUUzvHKamlc5HAIC2lpb0VPr5/Pv48cQTJ/4aO7ZHixb1epDWNfT5WFnpHnWzt2cAVxIT63VtBbdSU7va21vz+QC62Nkt7949SDfsFICeHuzsNJ/Nzatpt7e1dWRWluo14tY72tgASBMKmQzG6h49fBwc2Ewm6gjk//XXXz08PP76669XfhyheUFk9J3D3b2an/ysDh0uJCTo6o5UoQCQI5HklZYCUKrVawMCFl+8eGbSpOcbaJVwOKhhzNbOgAG6XuvOJiZj2rRZGxAQX1BAtzwrKsoQiYql0r2RkcI6YkXpXwI6L4lKrb6SmFhlks5ggM+Hq6vmUCBAixa6X8KsDh3ShcLtYWHaFtrRKlMkiqsYRk3Ox8c/q5hun09I4LLZXro/CXV/AyYmJuXl5atWrSopKanr5oR3CRLF9C6SlITjx3X3WJZcvLgvKupDV1d3M7OnhYVxBQWJy5Z9fPy4qYHBkdGjR/z1l39Cgm+LFtol1E87dvzI3f2bGzfiCgqCU1NNDQzaWVkt9fHp5egIABwOnJwwZcoLvTU1BAYiLEw7HpFMNufcuROPH7cwNmYyGIVS6YGRI9tbW/c+fPjup5+6mZn1PHjwSUGBWCbjsFj6bPbxceP6OTvPPHPGPyGho41NmlDIZbNPT5zY2tISABgMcLmYOxe6e1NiMfbsQXm5dpn40P37iy9ebGlm5mVtnS0Wh2dmpq5YsTkk5GZKStjcuU8LCz+7cKFUobibnt7HycnS0PDEhAmfnj17/NGjXo6OTAbjZkrKb0OGzNUEEgB6eujSBQMH1vq6FEX179//5s2bixcv3lFXDQDCOwSR0XeUuDicOgWlUqsj0Tk5N5KTxXK5i4nJR+7uVoaGqSUlLCbTwcjo74cPxVVjQ3u2aNHWyupcfHyORKJt7O/i4m5mBg4Hrq4YP/7limuGhiIwUBMZBQDIlUieFRWZ6Ou7mpoa6JirMqUyKjubAVhXRAfZ8Pn0llSORPKsqMiIy21nZaXxIuBwIBBg2jTU3CkqKsIff6CsTCvfuRJJQFJSoVRqJxD0dnS05vNLystlSqU1n18slQbQeQEAAFw2e6SHB4BHeXl30tPZTOaHrq6Oxsaa0xwOfHzQv/9zfkUePXo0atQ4S8v/27VrqFZ7Ce8qREbfXYqKcPo0cnNRd1TiC/GLitocEjKvc+cvevUCAC4XH30EnQiol6CgAP7+yMrSpAKpg/DMTJ/9+7vZ24fNnfu8u3E4YDDQuzd69KizwKdCgcBAREVpolrrxvSnn9hMZs7q1bUG8leipwcDA4weDWfn53UDAKxZo/7lF2bXrggNJRVI33HITv27i5kZPv0UKSm4dQvp6WCxXpCOpDZKysuTiouL6LrwABYtQr3DdapjYYFZs5CTg9BQxMaCyYRCUVNPaQOvzt92Oq+KsTG6dUOHDrVUba7WefBg9OiBO3cQHQ1AG0mlS7lSWVJezmWz69RQ2lg2M0Pv3mjTpp5LGd99x/z3X0REwM9PU/2U8K5CZPRdx9kZzs6QSBAXh8ePkZkJAEwmlMo6DTQ6uVE1zaXdMF8/0sbGBqNHY+RIpKUhMRGJiSgoAEWBzYZcDrWadhKqnCTRVqdSCR4P9vZo2RLu7tDOr+uDkREGD8agQUhORlwcnj2DSKRRRoUCajUdEGWo68rKZoPN1nw/dnbw9ISnZ309Eyrg8bB1K8aNQ2gokdF3HCKj7wd8Prp0QZcuoCiUlCA3F0VFKC6GUAipVKMX9F6NoSHMzGBqivPnq5iKDesCyWRq9H3AAAAoLUVJCS5cQHZ2dWu0Rw+0awdT05dbiq31iW5uoBOgKBTIz9d46QuFpenpAAx5PHh6Ql8fAgEEAk3S1ZeUzmqMHYsrVyAU4tkzuLtrGjMycO8eRo6s3jk/HzdvYtCgyt8IOqK1uBjt2qF3bwAoKEBAACZMqFwlKCnB5csYM6YBfuAIrwyR0fcMBgOmprVsyNTE3x8vnGI3FIaGmv+A6taotTVqC0B6LTgc2Nlp/UxLnzwBYGhpiYkTG/hBgJ0dPvoIXl6IitJYwKGhWLSoiow+e4ZffsHRo5BKcfcu6CT90dEYOhReXrCywldfYfBgHDuGuDhMnozRo6GN4UpOxuTJKCiAuXmDj51QX8jSN+FlaNQNSQYDb0y4daBzLBnWXd3+9ZFK8RzHp7Q0eHvj4cMqjRER2LgRV67g6FFcuIC//sKzZ403QMJrQaxRQtOiujXa+JSVlQFo1CR1P/2EWbMwfjx0A8SkUpSVwdwc/fujf//qa9G6fgoMBhiM113VIDQeREYJTYZal18bX0/fgDU6eDD69sXSpTh9urJx715s24ZqQa3VuHEDMTHYswdffQVXV9AxvceOVcaFpaU12qAJ9YbIKOF5vHnb8J2c1APYvh3t2uH8+cqWiRM1G0fPISICd+9CIoGurXz+fOUWk1DY0AMlvDxERgk1KC1FamrtZmBsLNzdUVvavddCKERSEnJyUFO4Y2LAYsHFpfG2ot+MjLq6Yu1aLF+O9es1LTq7XHWyZg0APH0KT8/KOIN//qncYqpn0ldCo0JklFCBSoWYGISFobAQbHbtgUZXruDSJQgE8PFBx46vK21qNR49QkgIiovBZNKrg9Wt0YQEpKZCqYSrK/r0QUXJ4gbEyclp/PjxvvXMtPIafPEFjh3D7t316qxbX6plS5iY4MkTtG3beKMjvDpERgkAgLg4nD8PpVKz01GXZz59trgY16/jxg0MGoSOHV/RpTQ9HSdOoLwccrlUoRDKZKb6+lw2u5ZlBDpZ6rNnSEmBszNGjUIdluPjx49Pnz6dnp5ub28/adKkVq1aVesQHh5+6dKlhQsXWlXkaqIoqqyszNHR8cmTJ8eOHZswYULjFfPgcrFrFwYN0uQODA5GUBC+/FLjy0t/tWIxiothYoLVq6FW45tvYGKCw4dRXAwfH+hkOCA0IYiMvvdQFM6fx6NHUCjupqdvCAoKz8yUq1Td7O03DRhgqq/vampK1yN6lJc36u+/tddN9fZeTxdwnjChWobTFxMRgWvXoFAkFhUtuXTpWmKiUq3mcTifduq0qGvXznZ2dPr9Ab//fj05Wfe6LYMHr8rIwIwZsLGpdstdu3YtXbp08ODBHTp0iImJ2bRp06VLl/r160efvXv37po1ax49elRSUjJkyBBaRimKmjZt2qVLl6ZPn25hYXH58uXx48e/9BdYBxSF27er++8PHIhx40AX68vOBl1PpKSkMjvVoEEAIBJhwQLMmwdzc3C5MDLCgQPo0AG3bwNVt+LozyQ99NuFpCZpAiiVOHkSwcGQy+HigmnT8JzEyTdu4MoVeHlh6tSGefqZM4iNhUJxJz29/++/j2/T5rOuXQ04nL8fPrydnh70ySfaikwXEhLmnDvnP2UKfWjD59sbGYHDgYMDpk9/iT/lBw/g7w+FoqS83HvPHmcTk73Dh7c0M7ufk7M2IGD3sGGeFf72YplMWbG2kFta2n7Pnrtz5nSytQWXiwULdCXq6dOnbdq0+eGHH9bQq4lASEhIt27dtKblw4cP8/PzfXx8+Hx+WFhYt27dAJw8eXLy5MkxMTGtK7LcNyDffIONG/Hzz1i9+tVvIhZDLIa1NfF2atIQa/RtU1amCfeeMgV2dggMxA8/4PTp2nNZFhdj6lQIBEhMbBgZffIET57QKaC+un7d18GBrsoJoIONjUqt1q1qlyUWOxobd662LaJQIDMTYWGa4JsXIpHQGgrgSHR0kVR6b/58Cx4PQDd7++szZ+r21S008mtoaE9Hx050/XeFAidP4tNPtWdPnjxpamq6fPlybUuvXr0AZGdnp6Sk+Pr6enl5AZBVLaZy6tSpESNGNIaGHj6MDRvAYqHGusLLQQemEpo4JIrpbbNxI5KTER2NX37BunUICMAnn2D6dGiTKuny+efo2BFDhjTY069do9fkZEplSFrajKo1k+mMR6uvXqVn1tkSibG+/tXExH8ePUouLq7sJ5fj5s3n5L6rQkSEtufttLQ+Tk4WNfze90ZGfqZTHhlAmUKxJyJilXYXSK1GXh69s0+TkJDg4eFRc1nzzJkzH3/8cV1jSU5O1tPTGzlypImJiZOT065du+r1Ci8iIICaPx8Adu+uJXae8O5BZPRtc+wYFi0Cncid5rvvkJ+PgAAUFeHq1crdnps3cfw4GuhPHaiYMVIUgCKpVKFSOdaWOSm/tJTOgcTX00sTCv+IiTl4/77Hzp07dGpyAEB2dr0eGh+vfSM6g3LNLnYCQauqIeK/R0eb83hDWrasbFKpkJKiPVIqlfrVaoUCAGbPnv3kyZO6xpKfnx8VFfXpp58+fvx4w4YNS5cuDQwMrNdb1M3jx48XLerv6ipduxbz5r3mzQjNAzKpf6uUlSE9HdUmlebmsLVFXBz09fHRRxCLwedDKsXcuVi/vj4Jg+sLXUFTqQRAV1qW1JaQ9PcKa26lr+/KCntwX2TkssuXp7dvX1nouJ67yDrTah6HU1Sb0U1nntdCUdRvYWGrfH11VxigUuka7HZ2dnfv3q15Ky6Xy61aglQXS0vLAQMGjBo1CsCMGTN27tx56dKl27dvR0REfPnll93ruUyhQ2Zm5pAhQ9LT02fO/HzTpp0vezmhmUKs0bcKbZfV/DvncqFUon9/jYYC+PZb8HhYsqR6z61bsWwZ8vNf5emGhlCraWvUnMezMjSMyc2t56UfurrKlMoqU/t6uq8bG5+Pj6c/eltbR2VlKZ6blx7A2fj4Qql0mrd3lVYORzfr6MCBA589exYSElKvMVTQsmXLiIgI+jNFUbm5uXw+f9++ff7+/sOFgd0AACAASURBVL6+vv369fP396//HqxYLB4+fHh6enrv3r337t1Cds/fH4iMvlX4fJiYVA+rViiQkQFHR7BYGg2Njsavv8LXF4cPw88PDx8iKQmnT0MqxaZN+O03qm3bLRs2iMXil3u6sTH09bU77FO8vHaFh+fqGJV0ReJiqbRcqQRwJz1dXGFL3k5P12ezXbQJ9xSK+mZqs7IqkErThEIAM9u3z5FItupYkYVlZQDShMLHeXnaxq137tDOA1Xuo1CgrEyTMlWp7N+///Dhw6dMmXLs2LEnT56EhoZ+8cUXhYWFFy9enDZtGgClUhkVFXXv3j0AcXFxUVFRarV67ty5gYGBW7ZsiYqKWrBgQUFBwbRp06Kior799lszM7ObN2+OGDGiVatW27dvl9a6VF2V27dvP3782MPD48yZM7WuMBDeVYjD09tm6lQ8fYqwsEqHocOHsXAh0tIqK7wHBmLfvspLoqMhlWLaNPz4I548wbffhufn+9y8aWlp+eeffw4cOBAyGaRSUBQMDFDX3zNF4cEDXLyozSwkksk+Ono0qbh4pIeHDZ9/PyeHxWCcnTzZfuvWtb16LerWrc/hwxki0dCWLeUq1V8PH24aMGC57rTXyAg+PuBykZGB/HyUlkKhAJMJfX2YmMDeHkZGePgQyclKtVquUtFV6o49eLDA39/ZxMTLyipHIonMykpevnxzSEhIWtrdOXMARGZl9Tp0KGX5chtDw1p8qphMMJlQq8HhyExMfgoPP3H3bmZuro2NTc+ePdevX5+QkHDu3LmtW7cKhcIBdIroCoKDgw0MDE6cOLF58+a0tLTWrVtv2LDh66+/7tu375IlS7hc7sGDB3/99dfU1FQAVlZWCxcuXLx4sUWFM5ZKpTp27NjZs2cLCwvt7OwWLFjwwQcfBAQEuLq6urq6ApBIJIcOHQoJCfHz8zMxMQGgVqv379/v7+8vk8l69eq1atWqxo5AJbwZiIy+bZKS0LUrPvgAK1bAzAyBgVi3Dl9+if/9D/fuYc0a+PtXl8Lly5GZie3bMWAAVqzAp5+G3r27ZsWK8JiY+K++cmIyNTU5AE0lTmNjODrCwwMtW2raCwtx8SJ0amHSqNTqs/Hx4ZmZFEW5mZmNad3agscLy8hoYWxsJxAo1epz8fHhmZk8Dmd4q1a079H15OT+Li6Vt2Awag/Gr9r+rKgor7S0R4sWAArKyq4lJhaXl9vy+b0cHS0NDUUymVylonfwH+fl5ZeV9dVZEU4tKXGqKyk9iwUmEwIB+vevf9EkLVevXv3oo48A8Pn82bNnL1++3MnJ6cKFC5s2bQoNDQXA5XInTJiwbt06Dw+PiRMnXrp0aeXKla1atYqJifntt99CQ0M7dOhA3+rIkSOff/65s7NzZGRkRkaGvb09gPnz5wcFBX3xxRf6+vrffPONl5fXyZMnX2qEhKYJkdEmwNOn+P57BAVBKkXLlvjsM0ybBgBxcdixA7/+Wj10fcsW5OdDTw8bNwII7t9f4ug4xMMjLivL8zkzay4XajW8vKCvj7Aw7XZ5fmmpVKmsdY/+hdxKSWlhbOxaMbVXq9VytVq/7ogmpVpNURSHxQLw8+3ba3r2fKnHPcrLi87OFnC5/VxcjGosKOdKJJFZWSwm08fe3tTYGKammDgx4tmz8PDwRYsW1fMRISEhmzdvvnDhAkVRTCZz6NCh//vf/3r06HH9+vWtW7deunSJoqgBAwYsW7Zs5MiRwcHBtHcqgKysLDsdj9qUlBQjI6OSkhI3NzetjJ4/f97b29vJyQnAuXPnPv74Y5FIRAzSdwAio80WlQqbNyt27XIoKMiTy3s7Oq7w9bXm87vZ27NrVLiMzc9PLCqyNzKiTcjk4uJz8fHBqanpIlFScfH2IUOmeHlV9tbNivFcFCoVrYnBqan/CwwMzchQqdWtzM1/GDBgXJs2uj1D0tJWX70anpHBZDI/cHK6On06g8GosvP+nIdSVG5p6fj//ovIzGxnZVUklRZKpYdHjfpYx8Ph2IMHn1240MvRUaZU3svOPjFhQmd7+3XXr++LiGAymffu3fPSfcEX8fTp0507d/r5+ZWXlwPo3Lnz0qVLp06dGh8fv3Xr1okTJ544cSI6Ojo8PLzaheHh4SkpKRMmTKAPk5KSdGW0yhcSEtKnT5+ioiKT1yv3RGgKEBlttoSEIChIXl7+Q1DQpuBgJoPRzsoqVSg05nLPTp7crmJdVaZUTj99Ojg1tbWl5YPc3HZWVhenTu116ND97GwAhhzOsu7df9AuGjIYYLM1ilZrdXs2G0wmWCwYGKCoiG6LzMrqefDgVG/vL3r2NNHXPxsffzQmJmDGDG6FWRqbn9/Fz29Jt27Lunc35nKfFRW110bE8/mwt0dWFqRSsFi1llwGMOjo0UyR6OLUqfR0/s8HD6wMDQfS9ekAALZbtqz09f28Z08Aiy9ejMzK+r5v38HHjnFYrJVLlny9ceMrGH25ubl79uzZsWNHUVERADc3tyVLlsydO5fH43300UeWlpbHjh2rdsnPP/8cEBBw9epV+vA5Mrpu3bqLFy9G02WfCc0c4jfaPHnwAEFBUChUavWR6OgPnJ2PffyxjUCgUqt/DAnRtfIis7IUKlXK8uVcNruwrMz9t9/+fvjQb8SIEX/9lV9WNqRly0oNtbXF8OGws0NREVJTkZ6OggKUlUGtBoMBHg/m5rC3h5MTrKwQH48TJ2if041BQe1tbA6NGkXfZl7nzvM6d9Yd7C+3b3eytd1cEd5aqaEMBvh8TJoEACIRMjNRWAihEDIZGAzExdHbX08LC68lJvpPmaJdEp1azfkJKFUotFXmeRyOXKX6yN19Q//+Y9q2bdOhQ32dsapibW393XffrV69+uDBg9u2bUtMTFy+fLmJicnMmTMZDIaqNj+tNWvWaIP6n0NkZOS2bdvOnj37CqMiNEGIjDZDZDJcuEBbi+fi47PE4qBPPrERCACwmMyv+vTR7dvT0bGnoyP92dTAwIDDKVUoutjZfejqmioU/jV2LABwuejXD926aabVZmYwM0PHjs8bw7VrtIYCuJWSUu2hNCsuX+5iZzfV2zsqO3tyu3b3srOjsrKsDA2HtmxJLwWAolBUhLQ0ODrCyKhKNujERFS4l97LzgbQx8mp2v2f5Oe32737yeLFrczNV3Tv/sW1a4lFRb0cHf988ODw6NEANKPKzERJySuXSubz+cuWLVu0aNHJkyePHj06adIkAPTe0avdMCIiYujQoT///PPAWtMmEJohxG+0GaJTQ/J+To6LqWnNneujMTFWv/yiPcwSi68lJs46c8aCx6P92PePHHl52jQOnTzjs8/g4/MS+9pSKUpK6I8KlaqkvNy+tnz4Jvr6tFdTulB4JDr6kzNnbqSkLLxw4cM//pBrTTmlsvaKl+npWk+sUoVCj8US1NhTcjAyOj5uHB1O2qNFCwseL1Uo/OTsWRN9/Spx+kwmMjLq+2p1wGazJ06c6O/vT8dEjRo1KioqKjg4+GXvc+DAgYEDB27evHnx4sWvOSRC04FYo82QpCStxIhlMnMDg5pdejk67ho6VHsYkJTkFxX1MDd3bufOAj09AJr9dDMzTJ780gMoKwObTe/1s5lMNpNZUl5es9e3ffvSH9QUNb5t2439+wPIEotdt28/Hx8/lt6DUqtrLyckl2sdpEz19eUqVWFZmXnVJCYCLnd827YA0oTC0cePn508eZCbW7FUuuzy5UFHjyYtW6bZzacoreHcUAwZMmTy5MmjR49esmSJt7d3bm7u2bNn//333/379wcGBl68eLGoqOjEiRMFBQUA/vzzTysrq1mzZs2ZM+fgwYOffPKJUqn08/MDMHjwYMeKuQKh+UJktBmis/ljamCQU1swu4upaWWIETCjffsZ7dsXSaUd9+615PG+qHDTecU0loaGWmFiMBjtrKyi6JKVdWBvZCSo8NmyEwhos1FzjsmsfbptaQkOh35THwcHJoNx4enTagmotNzPzparVANcXACYGhhs6NfvaExMQmFhF9oDicGob4TVy3D06NE///zzzJkzN2/etLGxGTt2LIfD6dGjh62tLQCJRBIQEABg/PjxkZGRPB5v1qxZYrF4/Pjx2lMAunTpQmT0HYDIaDPE2hpJSfSOdncHhx+Dgx/n5bXVhjzVjZmBgW+LFpG6kqebWar+6OvD3BwV8ZqfdOy45tq1JT4+3tbWdEupXG6op5dSUsLX07Pg8Xo7Ov4XG7vS15fDYoVnZmaKRO0retaZktPTE5cu0R/tBIKp3t5fBga2trDoam8P4GFurqGenom+/uH792d37NjOyorBYBx/9IjeevovNpbH4bhrE8qz2Y1RwYnFYs2YMYPP50dHR0+bNo0uWOLr60vXdHJ0dPz333+rXfLPP/80+DAITQEio80QLy+Eh9MyOtjdvY2l5QJ//+PjxtELlMGpqR1tbdOFwqDU1PldutxMSTl0//6eYcMM9fQyRaLg1NS52m10PT1URN28NIMG4Z9/aGtxUdeuYRkZPvv393NxaWFkFJufL1epwubOHfPPP8NattzQv/9Xffr4HjzY2c/P08LiyrNn07y9NYFPTCZsbFDDGQgADAzQsydu36YfsW/48CWXLvU8dIivp8diMJRqtd+IER1tbXdFRIxp3drNzIzusDEoSEVRJeXlf48bp0k9xeFg6NDGK7Jx/Pjx//77r127djXrPhHeH4jfaPPk33/x9Ck9s04XCmeeOXMjObmFsXGpXG7A4ZyfPPlZUdG3N2/GLlqUX1o69dSpWykpLqamqSUlH7q6Hh83zlBPTyNhc+a8usRcuICYGO0KQ2RWVkhamkqtdjQ2HuzuLuBytdYogJLy8tNPnhRKpR1sbAa4uDAYDDCZ4HKxcGGd6d0pCn//jZQU7SPEMllySYlAT8/ByIhTYzlCplQmFhcXS6Wd7OxE5eWpQqGpQNBy8ODa6wg0EAsXLty7d+/u3bsXLlzYeE8hNHGIjDZPZDLs308nN6IbciSSTJHInMdrYWTEqhHFlCYUZopEJvr6rS0tQVFgscDjYf58TQapV4OicOUK7t2r3VH/+bDZ4PEwc2ZlLbdaUatx6ZKuWD8fugRewIwZsQUFSy9eXDx27I4TJ156bC/DV1999cMPP2zYsOGrr75q1AcRmjLE4al5wuVizhzY26MifZwNn9/Zzs7ZxKSmhgJILSnpcfDgfH9/zbXm5pg377U0FACDgcGDMX48+PyXKFjPZILNhrc3Fi16gYbSnYcNw9SpsLR88SMoinaKEqlUAltbAOLXfMF6YG5uDqCwsLCxH0RoypC10WaLvj5mzkR0NK5dg0qF2hLXV/ZlswFIlUpwuejdG76+qE1tX4WWLbFiBR4+xJ07KCzUBHTWnOLQUaQMBry80KMHdLwIXoyTEz77DGlpuHdPU4OEyYRKpbHE6QBWJhNKpZGhIQBx9+5GdnY4eFAkEjXMO9YNkVECiIw2bxgMdOwIb2/ExiIqChkZmjx42sh02vRjMAy4XADl+vpYtQrV8h+/Pkwm2rdH+/YoLUVKCjIzkZcHiUSTb9TAQJNvtEUL2Nq++lKsoyNo36CSEuTloaQE5eWQy8HlwsAApqawthZkZyMqSgTYCgQAXjqP9ctDy2hRRXoBwvsJkdHmD4sFLy94eUGlQm4uCgogEmnqFOnrQyCAhYW+RIKdO6VAw2uoLoaGaNsWbds24iMAmJjUFdlpZGQEQCwWCwQCAMQaJbwZiIy+Q7BYsLNDtTryAACDzEwA5bXFGr1LCCqMUK2eNvYTiYwSQGT0PcHAwMjXd7yRUS0K+y6hNUIFb3ZST2T0PYfI6HuBvr7g7t1/q4akv4O8+Um9iYkJi8UqKSlRqVSsV4usJTR/iIy+F9ARPe/6nL6KNcpgMCQSCUVRjMasdMxkMrds2cLn84n/9fsM8Rt9L2AyoacHtfr5blHNHq01ymKxeDyeWq0uLS1t1CcmJiYmJCTs27evc+fO8+bNS0lJqdYhJCRk4sSJGzdu1LbIZLIjR44MGjTo5s2bjTo2whuDWKPvC/r6kMshlb6Ep3yzw9TU1MXFxdLSEsCwYcMoilI2dIo8XR4/ftyrV68OHTqsXLmSy+X+/fff48aNi4iIoO1fpVL5wQcf5OXlcblc7eZeZGTkxx9/7OLiEhMTU1NzCc0UEgz6vmBtjbw85ORAm1ypOfL48eN79+4B8PHxqZkNJC8vj85B169fPzphXaMybNiwnJycsLAwdkXVKaFQaKxTYzUlJcXZ2XnNmjXx8fF0yZDS0tKysjJLS0t3d/evvvpq1qxZjT1IwhuATOrfFw4ehL8/nl9HmXY2bZpIpdLx48d37tx5z549fn5+HTp0WL16tW6Hy5cvu7m5/fLLLzt27HB3d79y5UqjjkculwcGBs6fP5+tU1Ca1tBt27ZFRUUBcHZ2rnaVoaGh5aslJyQ0YYiMvuOEhMDMDN9/j+HDMWwY9PVx+DB69KjSR6XCd9/B3Bw8Hhwc8PvvACCTgcfD3btVevL5CAx8c4PX5euvv75x40ZoaOidO3eCg4PDwsI66lSLUqlUc+bMmTZt2v379+/evbto0aJ58+apaysy+joUFxcvW7ZMKBQCyM/Pl8lkbjrVSbWcPn366dOnDftoQlOGyOg7jlIJkQhbtiAuTtMik6GaI9D+/Th2DFevQibDN9/g00/x6BEoClIpqpW/LCur3vJmUKlUBw8eXL58eYeKBKleXl5Tp04FUFpaqlQqs7KyMjMz6RYAn376aVpaWkJCQgOOwd/fv23btr/99tsXX3wBgMlkAlDUlnrq1q1bdOU7wnsCkdF3Hz09zJyJhQtrSRhCM28ebt9G587Q08O8ebCwwMvXamtc0tLSSkpK6MTy1bC2tv7777/NzMy4XG5SUhLdSLtwZrx2JTsaoVA4f/78ESNGZGdn+/r6rlixgqIoKysrgUDw5MmTBnkEoVlDZPS9YP16PHqEo0erNP7xB1asAAAms3LfSaVCefmLM9i9YcrKygCY1Tasc+fOffjhh4aGhqtXr164cOG8efOmTp06YsQIALWWkn9Zrly54uXl5efnp6+v/9NPPwUHBz99+rRr164ikWj06NG7du2ix0Z4nyEOT+8FZmZYvx4rV0KnWij4/Frk8r//wGBgwADNYbX682/LrYOOuczMzNRdD6Xp378//WHjxo19+vQJDQ11dHRcs2ZNhw4dnJycTp061blzZ6caNe7rSU5OzscffyyVSn19fQ8fPmxhYTFt2rTjx48D8PPz++mnn3r16tW9e/dJkybZ2Njcv39fLpfv27fP3d197dq1c+bMuXr16v3798PCwvLz8zdv3ty9e/cPPvhg586dpaWlJSUlFy9ezM3NnTFjxhtwKiA0KkRG3xfmz8fvv+Pbb+HlpWkZMwZjxlTp8+QJFi3Czz/DwkIT8nTxIrp3r+zwtqxUGxsbd3f3M2fODB8+/DndBg0aNGjQIAB+fn7GxsZGRkYzZ86UyWSTJk369ttva90OeuFzN2/eXF5evnLlyitXrvTv3z8rK8vAwODbb7/9/PPPmUzm/fv39+/fHx4ezmAw3NzcJk+eDGDTpk3t27cHUFBQkJSU5Onp6enpmZSURHtopaamikSisWPHAkhKSpLJZK/2nRCaEBThHaW8nLp1i7pxgzIw0LRERFB6etTixVTbtrX0v3OHsrGhNm3SHEqlFEAFB1fpw2BQV6405qDr5tChQxwO58CBA3SIZ2xsbFBQEEVRGzdujI6OpigqNzdXIpGoVKpbt27Z2tp+8803GRkZ06ZNo9dJ9fT0FixYkJ6e/gqPLi4unjdvHv330rNnz4SEhIZ9NUJzh8jou0lwMNWmDcXlUkeOVMooRVGffUbp6WlkNDeXSkzUtO/bRxkZUYcOVfZsajJKUdSePXtsbGyYTKahoaFAIPjxxx8pivL19fX396coav369RwOx8DAwMjIaN26dUqlkr4qKSlp3rx5tHdnQEDAKzw3MTGRz+cbGBj89NNPKpWqAd+I8G5AopjeNYqL8cUXOHAAFIXWrbFiBZYtg3YXRCSCpyfMzPDoEdatw9WriIzEN99gwwa0aVOZcLlvX8yeDQMDBAejV6/KmzOZuHwZgwa96ZfSQlFUVlYWk8m0sbGpmXOktLS0qKjIxsaGUyM7dVxc3D///PP1118HBQXFxsZyudx+/fq5urpW66ZUKmk3/tatW2sbY2Njt23b5u7uPmPGDBsbm8Z4L0Kzhsho00MkQkICnj5Fbi4kEo2jJpMJHg8WFnBzg4cH6oiE+fdfLFuGnBxwufjf/7B2LQoLcfkyZs+u7BMaivR0jB+PggKUlsLJCQEBqPAU0tCqFXr3xtGjGDoUVlaV7b//joEDa00M3QzIzs4ePnx4UlKSj4+PVCqNiIjYuHHjypUr6bNlZWV79+797bffUlNTV65cuXXrVrp93759S5cu/fDDDwsKCuLi4q5everj4/P2XoLQFCEy2pRIS0NgILKywGDUWVKYxQKTCSMj9OuHNm20pY2ysrKWLFmSl/djSEirXr2wbx/atHlzA28WDB06NC0t7dq1a/TOeEhICEVRvXv3ps+KxeIff/xx1KhRP/74o5ubGy2jpaWlDg4O33///dKlSymKmjRpUl5e3o0bN97maxCaHkRGmwYyGc6cQWIiFIpSuTyuoABAWysrfXYtrhTZYrGAy+XT/koTJ6oEgh07dnz99dcSicTFpfOXX4bPns1szBybzZLMzMwWLVqcOHFiTFXvBIqiCgoKTExMtOsAY8aMcXFxoWX05MmT06dPLygo4PF4AIKDg/v06ZOVlUVclAi6EIenJoBEgoMHIRarlcqvrl//9e5drXr+NmTI9PbttR2jsrK2h4X9/fDhom7dtg0ejNzcB999NzcoKPz+fQDDhw/fu3evvT0JqaiFR48eURTVrVu3au1FRUVWVla3bt3qU81FFgCQkpLSokULXkXZANpjKS0tjcgoQRcio28blQq//w6RCGr1j8HBv4WF/T1u3GhPT4qiTsTGxubnazvml5b+LzBwRKtWGRUh8Q9ycjrv26dUq50cHXft3j1s2LC39A7NADrjp0mNkqLGxsbBwcHe3t61XiUWiw0NDbWHfD4fb6Q2CaF5QWT0bRMaCqEQarWaoraHhS318Rnt6QmAwWCMr1qp2NLQ8Or06QCCUlPpFm9r62GtWlnz+VsWLxYQDX0uFhYWADIzMz08PHTb2Wx2L11fhKrY2NjolqsrKCgAQExRQjXIBPBtc+cOvZuUXFycX1r6UY1IGzVFOf3667XExFqvPjVx4r7hwwUZGU06V2gToGPHjgKB4MSJEy91lZeXV3p6elpaGn14584dfX19FxeXRhggoRlDZPStIpFoqyMJZTIAVjpTSBoGsLx7d7c6wjA1e0ksFjIzG3GczR8ej7dq1arNmzf/999/EolEoVAEBQVFRkaWlZWtXr06OTkZgEQiKS4ulsvl5eXlxcXFMpmsZ8+eXl5ey5cvLykpSUxM/P7776dMmWJY49+I8J5DZPStIpeDqfknMOJyAeTWKMHGYDBW+Pq6mpq++FaE5/LNN9+sW7du8eLFxsbGPB5v5syZSUlJSqXyzp079HLn2LFjzczMLly4sHv3bjMzs6NHjwI4fvx4Wlqaubm5h4dH27Ztt23b9rbfg9DkIGujbxUjI20aZFdTUzMDgxvJyX1rVJ54MRSFF+rsew+DwVi7du2aNWvy8/MFAoF2//3OnTv0h1rrjrRu3ToyMlIkEtGRpm9uuITmA7FG3ypsNhwd6Y9MBmNRt26/hYVFVEzPJXJ5YlERRVH/PHqUJRY/7z4cDkiQYv1gMpnW1tZaDa0nRkZGREMJdUHc7982ubk4eJDeZVKoVEsuXTp4756ziYk5j/c4L29Bly6bBw7U37jx5IQJIzw8Zp89eyslJbe0lM1kmhsYbOzff7KXFzgcDB+OOlx2CARCY0NktAkQFobAQG30Z45EEp2To8diuZuZOVat5PmsqKhIKi2VyxkMhkBPz9HY2NLYGG3a4OOP38a4CQQCQGS0qRAVhcuXoVK9ML98VFZWFz+/znZ2kXQGTHd3TJkCEvtJILw9yNpo06BzZ8ydC1tbcDjP10QDDgdAmTZxibc30VAC4e1CduqbDFZWmDsXGRkID0dCAtRqMJlQKisT5QFQqw3YbABSrYzWlQiKQCC8KYiMNjEcHODgAIpCYSHy8iASoawMajV4PDx9ipQU2hqVKpWa/toPBALhLUFktEnCYMDCAhYWVRqFQqSk8GgZJdYogdBkIGujzQcOBwA9qS8jMkogNBmIjDYf2GwAHBaLzWQq1WqlWg2QST2B8PYhMtp8qEjPbqA7ryfWKIHwtiEy2nyoSImv2ayn7VBijRIIbxuyxdR8qGqNapZHHz7Egwca7yg2G3w+bGzg7Aw3N9TI9E4gEBoDIqPNB62M6rqOaif1ajWUSpSXo6AA8fGgKJiYoHdvtGunzcVHIBAaAxIM2kyQy3H8OJKTAaQKhQWlpUZcrpuZWa0lQHMlEpFM5mRiomdgAH19jB2rzSNFIBAaHCKjzQGhEIcPQyKhlMqfb9/efPu2RC4HYG1ouHvYsBE6xYWkCsWUkyfPxccb6unpsViHR40a4eEBNhsDBqB797f3AgTCuwyZ1Dd5pFIcPIjSUqjVv4aGfnfz5p7hw6d4eVEUdTg6Oig1VVdGf7lzJzIr6+nSpU7GxhuCgqaeOpWxcqURgOvXoaeHTp3e3msQCO8sZNWsyePvD6kUajVFUT/fvr2oW7dZHTrosVhcNntBly6/DBqk2/fAvXtLfHxcTU1ZTOa63r05TObxR48AQKHA5csQCt/OKxAI7zRERps2YjESEmivpqTi4lyJZESrVjV7dfXzu5qYKJHL04VCH3t7ulGPxepgYxNXUKDpt9sMnwAAAjpJREFUpFbj7t03NW4C4T2CyGjTJjUVLBb9sbi8HIANn1+z1/BWrewEgrzSUgCmOrUuzAwM8rQ18lQqPH3a2OMlEN5DyNpo00Yq1da84+vpASgoK/Oo0evbvn0BlJSXAxDJZNp2oUzWxsiosl95eWOOlUB4TyHWaNPGxERrjbqbmQm43JC0tDr76uubGhjE5ufThxRFxRUUuOg64etKKoFAaCCIjDZtnJ21ZUXYTOacTp223r0bX7HcqVCpssViAAFJSbkSCYDp3t57IiJK5XIA/zx+nCuRTGzXTnMrDgft27/5NyAQ3nmI32iTJyQEQUF0tJJUoZh55szZuLj2NjbmBgb3srMntWu3fcgQzvr1x8aMmdiuXY5E0u/IEYlc7mxiEpGV9eOAASt8fTX34fOxdKk2FIpAIDQUREabPBSFv/5CSoo2C0l8QcG97Gw9FquVubmXtTWAMoWCy2KxmEwAMqXyVmpqkVTa1c7OzcxMcxM9PcyaBVvbt/QOBMK7DJHR5oBajXPnEBv7Kmnx2GxwuZg6lWgogdBIEBltPiQkwN8fMhnk8hf0pCgwGJrEeh064MMPweW+gQESCO8nREabFRSF+HiEhyMtDRwOFAqtO5QGBgN6elCpwOOhQwd06QKB4C2NlUB4XyAy2jxRKpGZidxc5OdDLIZCAQYDPB7MzGBlBQcH4ttEILwxiIwSCATCa0H8RgkEAuG1IDJKIBAIrwWRUQKBQHgtiIwSCATCa0FklEAgEF6L/weSmKDP1wDlRwAAAgZ6VFh0cmRraXRQS0wgcmRraXQgMjAyMy4wMy4yAAB4nEWQTWjUQBTH5yOZmXxtssmmOyjWgoJRKlKxpQfXxC7C4kmxUr0FFEyhF8FToSL0pHirnvQiIhS1oMWLlyaCBUUqFrV6soIKXkqRij3UgzOTmn3wmN+8938fM+sLc1+AMAeUhoQ3he8Qfg0SlooTYg5KQohDyjJBGEGOCIskahyzkhDXSHRECqHGdVIqMeSkUlLS2SZGOv/TRhfNLlqV1KadYUliEaebr1V5tyKv2rNOor1yd437lPXJLA+q5zQqWQiBLAXQAhBABBDuw1qEdKxBnQBCIySqmZEhw0xNK0OWndpO6tTSmpsh10vdOqj7wA9A0ABBCEId+BR4LPXsDPk9GmxoojnRw8CnhBimZXtMd2zPrZG62Mtzm71QDN/+fNAcXjldbPUeLeTlzL7R4vKLzVzyjSe7ivb3ecVDS7uLU3hxQfL0oXPFb/txS/KEsZy3pxrHJF/5NJI/x8+UZoOstv6aO1X85snJeOb4nIq/fD8dj4ePVM+3Dzfj1eYPxednB5L9X+8qHlzvT+jIuNJPDo0l317RWPLr0cHkz695xW/urcVrl2YUHz77M0ZbA2rW4tOr8YPZjyp+wfvcunj7luKpd+38ev+HuJx1Ir+DDiSS7+9Zzg/aZZ+NiZXW0pip4j3/AIzLc7jjJ/CnAAACN3pUWHRNT0wgcmRraXQgMjAyMy4wMy4yAAB4nH2UTY7bMAyF9zmFLjCGSEqktOhikkynRTEO0Ka9Q/e9P0rK1g+7qB0LNv2Zkt4jcwl2fL9/+/0njAPvl0sI8T+/Wmv4RTHGy0ewm3B9e/+6h9vz9dojt8fP/fkjIAVk/UZPz74+Hx89AuEWXmhDKRJjeMGtkp4Q4hbbMb/FgyRI1UhQMueVhE5S2C1TYjpJquJI7GSynEpWbmTcqCRZSepkDo82u4iR+r6kGOsEUwfZUsLGRNBASNmBuYNiYNyEAc65M7hVcieLkpoolmNqyJDWjNK52rgqImdCKk7KMkRXjwJsEWsXiNhNXQcJjazURZdSnUAw/AEzCDdRqQ8U8R9/hkFABxrx3Dqi+KzDIUhqpurOKG3zmaLbPAyHILekhYgsrqYXJzwMi4Dbpkrm3EgVlB05PAI5SCUO6YWKI4dHcJhUaxNK/eeKjhwuQT3tzOfsHH3OYRNGK2QrkZ40i1/o8AnhrCZpkqKi7HTC2Uc4KvTICqm4BeDwSTv4S1tqkpYU2As1cr7td9fVR59fH/t99rmdOJtZH2Z3kT7S7KGk79LslKxv2Xr18/snmH1mQZndhHqV2TKgV52dkfRaatXmAFeSYBFYK8/WoMNSYWQRWispWSStFZMtktfKsKXrsFSAmBi8OA22XhvqUiVgw+KbiYjOHjgjuHgLNvDiYEsza6qtWKY0mI/A3CbyOTV5xc3k1VJ77n/7en/5CzarK5YhX1mSAAAB1HpUWHRTTUlMRVMgcmRraXQgMjAyMy4wMy4yAAB4nG2TMW8bMQyF/0pHB1AEkZREiUaAFF5uqdul00FDYnSr6yBo0SU/vk86o8sJBxyh7+jH92RpXdp6en42Ko14PZm2w9N6WiwPvFhqB1DB+7wYAy5s1ItYaA9P61eL7WFQBj4b1UbjK+PzejHIrpfFautvCltB58WIm/SSe4dRH9S/xbb+QpEmmyxp408fh+ApRHXsKeNxx75OyRHWodzXpTqURDFUd3wMXjORQ5VEqaLnkXwWod4UUxhN7GPNdTSVqKMJKAsQeamaepN4oThIlXQnrEUdeqvg2XpU+/xQIqT/T6vdYizd4nAUO8hJ8x0oE0LllOMIUVV1uJEiXYR84LqZkdxHdw+bFy0VA48MjTQA8zAHEHjkZlbdRAp2pcdWKWGIlJTH5qWxmeyLiLieuASsESaz4gdJwthMGKub81yh/eBeft+u395vb0b+evv5GasvL2/nP9fXH++eivGeqskeZot7mCztoVjeQzadjLeyh8HqHkYcyIko4YBOZCtO7KQ74KzuccFB3lNITKIRJCbhCD5m8XAlJgEp4+pNcMJFnOCI6zrBuLaTjKTu73f808FFHz/+AUiqKUH3lBnjAAAAAElFTkSuQmCC",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x1252b3530>"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#add atom numbers\n",
"for i, atom in enumerate(test_mol.GetAtoms()):\n",
" atom.SetProp(\"molAtomMapNumber\", str(atom.GetIdx()))\n",
" \n",
"test_mol"
]
},
{
"cell_type": "markdown",
"id": "917a3f7c",
"metadata": {},
"source": [
"### Remove substructure match, return fragment"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "34f6ec4d",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"8 substructure match(es) found.\n"
]
},
{
"data": {
"image/png": "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cvntmBjVp1cA+vVDcrLw4YcjLS0t9+/f7+bmNmXKlDt37lQ+JygoKDw8/OzZs2J6VV5eHhER0b59+4iICIlEsqVvX2RkICCA6RXpJgZYRERERER1zWefwdYWK1Zouw6iOqd///4pKSlRUVFWVlb79u3r0qWLn5/frVu3njzzxo0bU6ZM6dmzZ2JiYvPmzSMjI//8889u3bqqrzZ9fcmUKVPOnz8fFBRkYGCwdu1aOzu74ODgkpIS8QRTU1OpVGpoaAhgz549Xbp0CQgIuH///sCBA1NSUgIXL0ajRuorj6iWGGAREREREdU1JiYID8fDh9qug6gu0tPT8/PzS09PF3OidevWOTo6hoWFKXOi0tLS8PBwR0fHtWvXGhgYSKXStLQ0f39/PT1N3IA3bNgwNDT09OnTY8eOLSgoCAkJ6dSp0+ZKDZkZGRk+Pj4DBw48ffp0+/btY2Jidu/e7eLiooHaiGqDARYRERERUR00YgS8vbVdBFHdpcyJvLy8Hjx4MG/evE6dOslksri4OCcnp8DAwLy8PC8vr9TU1PDwcHHjUU2yt7ePiYmJj493cXG5cOGCj4/PoEGDjh49GhwcLOZZpqamMpnszJkzysWwiHQcF3EnIiIiInq53buHlBQ4OqJVq8eO37mDkyfRpg3s7QFg/36YmMDdverL09Nx7Rp69MA/bYpIRNXbtm3brFmz0tPTlUc6deokl8sHDBigxapEZWVlq1atCgkJefDggZ6enkKh0NPTe++99xYtWtSsWTNtV0f0HBhgEREREREREdVKWVnZhAkTtmzZYmpqumjRIn9/fwMDA20X9becnBypVLpp06Z27dpt2LDBzc1N2xURPTcGWEREREREREREpNO4BhYREREREREREek0BlhERERERERERKTTGGAREREREREREZFOY4BFREREREREREQ6jQEWERERERERERHpNAZYRERERERERESk0xhgERERERERERGRTmOARUREREREREREOo0BFhERERERERER6TQGWEREREREREREpNMYYBERERERERERkU5jgEVERERERERERDqNARYREREREREREek0BlhERERERERERKTTGGAREREREREREZFOY4BFREREREREREQ6jQEWERERERERERHpNAZYRERERERERESk0xhgERERERERERGRTmOARUREREREREREOo0BFhERERERERER6TQGWEREREREREREpNMYYBERERERERERkU5jgEVERERERERERDqNARYREREREREREek0BlhERERERERERKTTGGAREREREREREZFOY4BFREREREREREQ6jQEWERERERERERHpNAZYRERERERERESk0xhgERERERERERGRTmOARUREREREREREOo0BFhERERERERER6TQGWEREREREREREpNMYYBERERERERERkU5jgEVERERERERERDqNARYREREREREREek0BlhERERERERERKTTGGAREREREREREZFOY4BFREREREREREQ6jQEWERERERERERHpNAZYRERERERERESk0xhgERERERERERGRTmOARUREREREREREOo0BFhERERERERER6TQGWEREREREREREpNMYYBERERERERERkU5jgEVERERERERERDqNARYREREREREREek0BlhERERERERERKTTGGAREREREREREZFOY4D1/+zdeVhUZRsG8Adm2EEhRAUBE5RFQkUQRMgF8XMJl0qwVKDMoDTBTAVzAZcUXBLcCrQSTEvIFsAtcEUUENREBVQwYlcQkX2b9/vj0IhIpThwBr1/l1cXZ5lznrGYZu553+cFAAAAAAAAAACphgALAAAAAAAAAACkGgIsAAAAAAAAAACQagiwAAAAAAAAAABAqiHAAgAAAAAAAAAAqYYACwAAAAAAAAAApBoCLAAAAAAAAAAAkGoIsAAAAAAAQGIYY9nZ2Xfu3OE2Hzx4kJ2dff/+fX6rAgCArg4BFgAAAAAASExDQ4OhoaGJiQm3GRoaamhoGBgYyG9VAADQ1Qn5LgAAAAAAAF4cQqEwIiJCVhbflAMAgCQhwAIAAAAAAImRlZV1dnYWbzLGiEhGRoa/igAA4EWAL0YAAAAAAAAAAECqIcACAAAAAICOghFYAAAgEQiwAAAAAABAYhoaGlxcXGbNmsV3IQAA8EJBDywAAAAAAJCYxsbGyMhIJSUlbhMjsAAAQCIwAgsAAAAAAAAApMW6dRQS0sb+qChatYpKSzu9IJAOCLAAAAAAAEBiWg25wggsAHhW69fTnj1t7I+JobVrqaSk0wsC6YAACwAAAAAAAAAApBoCLAAAAAAAkBiMwAIAgI6AJu4AAAAAACBBCra2EfLyzR801NTesrU16t7dlN+a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",
"text/plain": [
"<IPython.core.display.Image object>"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"list_results = remove_substr_matches_return_frag(smi,\"CC\")\n",
"Chem.Draw.MolsToGridImage(list_results, molsPerRow=4, subImgSize=(400,300))"
]
},
{
"cell_type": "markdown",
"id": "341bfc5f",
"metadata": {},
"source": [
"### What happens if no matches found?"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "29bdca23",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0 substructure match(es) found.\n",
"No matches found, returning input molecule\n"
]
},
{
"data": {
"image/png": "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69evnzlz5t69e0Vk8ODBCxcuHDJkSMVl48eP37Jly9atWwMrbIO0w3FXtVRcXLxkyRK1cnd395deemnWrFnVd6LVWWlolZqaun379qKiIvW6s7NzUFBQSEhISEjIsGHDav90s9kcHByclpb24osvzp8/3xo1AwAAAABgGwRYtpCZmRkTE7Nw4cLCwkI/P7/XX3/dzpuPyjGbzZ999llUVNTFixcNBsNf//rXd999t127dmXXPPDAA6mpqQcPHvT1/a+57+U6zmJjYzt16mTT6uvtwoULUVFR6o7Czp07L1q0yFI7CnNycn7++WcLhlbl7Nq1a/DgwQaDYefOnUFBQRapGQAAAAAA2yPAsi41+nnxxRcvX77s7Oz8+OOPv/3227WcdG5vcnJy3nnnnXnz5uXn53t4eLzwwgtRUVHu7u7qp9OnT//2229PnDhRur5BjLuqPUvtKFRDq9TU1C1btmzatKmwsFC9Xja0Cg4OLv3B1l5+fn7FqGv69OlLliwZNmzYpk2bqtr+CQAAAACAnSPAsqIdO3Y888wz27ZtE5FRo0YtWrSod+/eWhdVX2fOnHnllVcqDsZavHjx4sWLjx07Jg1w3FUtVdxROHv27OoHUalyc3N37969ZcuWlJSUSkOr4ODgkSNHent732xJV65cSUtLU+/s7OyclpZWbsH169e7det24cKF5cuXT548+WbvDwAAAACAPSDAsorz58/PmjVL3XRW4/jzhmjDhg3PPfecOhhr0KBBsbGxOTk5U6dOPXToUAMdd1V75XYULl68+M4776y4LC8vb9euXWq0tHnz5oKCAvW6k5NTnz591NMDb7/99jr8cP74449NmzatX79+/fr1v/zyS+n/hb29vS9evFixdevTTz+dNGlSkyZNjhw50kC7/wAAAAAADo4Ay8KKioo+/PDD1157LSsry93dPTIy8tVXX9XlGXDlBmONGzfuxIkTxcXF6i7CBjruqvY2btw4ffr0gwcPSpkdhcXFxfv27VNPD0xNTc3Pz1cXlw2txo4d27hx45t9XFZW1rZt2yqeS2gymfr27VvjuYS33XbbTz/9NHXq1KVLl9b1jQEAAAAA0AwBliV98sknL7300tWrV0VEnXTevn17rYuyruvXr7/99tuLFi0qKChwcnIqKSnp06fPggULRo8erXVpVldUVLRo0aI33ngjKyvL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",
"text/plain": [
"<IPython.core.display.Image object>"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"list_results = remove_substr_matches_return_frag(smi,\"CCCCCC\")\n",
"Chem.Draw.MolsToGridImage(list_results, molsPerRow=4, subImgSize=(400,300))"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python [conda env:rdkit-latest-20230302] *",
"language": "python",
"name": "conda-env-rdkit-latest-20230302-py"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.4"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment