Skip to content

Instantly share code, notes, and snippets.

@MAHRahat
Forked from ShreyBiswas/Grover's Algorithm.ipynb
Created August 12, 2022 13:30
Show Gist options
  • Select an option

  • Save MAHRahat/bf124e5e7e0acb1cdadb582194617524 to your computer and use it in GitHub Desktop.

Select an option

Save MAHRahat/bf124e5e7e0acb1cdadb582194617524 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"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.8.5-final"
},
"orig_nbformat": 2,
"kernelspec": {
"name": "python3",
"display_name": "Python 3.8.5 64-bit (conda)",
"metadata": {
"interpreter": {
"hash": "22281edfb0df2bd9ec91abf7e2cbd5154dcbe09e7d1570b4fddd779f0de8ecda"
}
}
}
},
"nbformat": 4,
"nbformat_minor": 2,
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"# IMPORTS\n",
"import qiskit\n",
"import matplotlib as mpl\n",
"from random import randint"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"n = 4 #size of Query and hidden bit string\n",
"circuit = qiskit.QuantumCircuit(n+1,n) # one extra qubit for the Auxiliary,\n",
" # and a classical bit for each Query qubit"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<Figure size 267.197x385.28 with 1 Axes>"
],
"image/svg+xml": "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\r\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\r\n \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n<!-- Created with matplotlib (https://matplotlib.org/) -->\r\n<svg height=\"305.2864pt\" version=\"1.1\" viewBox=\"0 0 216.134036 305.2864\" width=\"216.134036pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n <metadata>\r\n <rdf:RDF xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\r\n <cc:Work>\r\n <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/>\r\n <dc:date>2021-02-25T09:14:35.536097</dc:date>\r\n <dc:format>image/svg+xml</dc:format>\r\n <dc:creator>\r\n <cc:Agent>\r\n <dc:title>Matplotlib v3.3.3, https://matplotlib.org/</dc:title>\r\n </cc:Agent>\r\n </dc:creator>\r\n </cc:Work>\r\n </rdf:RDF>\r\n </metadata>\r\n <defs>\r\n <style type=\"text/css\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\r\n </defs>\r\n <g id=\"figure_1\">\r\n <g id=\"patch_1\">\r\n <path d=\"M 0 305.2864 \r\nL 216.134036 305.2864 \r\nL 216.134036 0 \r\nL 0 0 \r\nz\r\n\" style=\"fill:#ffffff;\"/>\r\n </g>\r\n <g id=\"axes_1\">\r\n <g id=\"line2d_1\">\r\n <path clip-path=\"url(#p0c5903bb1e)\" d=\"M 63.490836 43.5608 \r\nL 204.388936 43.5608 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-width:2;\"/>\r\n </g>\r\n <g id=\"line2d_2\">\r\n <path clip-path=\"url(#p0c5903bb1e)\" d=\"M 63.490836 89.0118 \r\nL 204.388936 89.0118 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-width:2;\"/>\r\n </g>\r\n <g id=\"line2d_3\">\r\n <path clip-path=\"url(#p0c5903bb1e)\" d=\"M 63.490836 134.4628 \r\nL 204.388936 134.4628 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-width:2;\"/>\r\n </g>\r\n <g id=\"line2d_4\">\r\n <path clip-path=\"url(#p0c5903bb1e)\" d=\"M 63.490836 179.9138 \r\nL 204.388936 179.9138 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-width:2;\"/>\r\n </g>\r\n <g id=\"line2d_5\">\r\n <path clip-path=\"url(#p0c5903bb1e)\" d=\"M 63.490836 225.3648 \r\nL 204.388936 225.3648 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-width:2;\"/>\r\n </g>\r\n <g id=\"line2d_6\">\r\n <path clip-path=\"url(#p0c5903bb1e)\" d=\"M 63.490836 269.338642 \r\nL 204.388936 269.338642 \r\n\" style=\"fill:none;stroke:#778899;stroke-linecap:square;stroke-width:2;\"/>\r\n </g>\r\n <g id=\"line2d_7\">\r\n <path clip-path=\"url(#p0c5903bb1e)\" d=\"M 63.490836 272.292957 \r\nL 204.388936 272.292957 \r\n\" style=\"fill:none;stroke:#778899;stroke-linecap:square;stroke-width:2;\"/>\r\n </g>\r\n <g id=\"patch_2\">\r\n <path clip-path=\"url(#p0c5903bb1e)\" d=\"M 170.073431 66.2863 \r\nL 187.799321 66.2863 \r\nL 187.799321 20.8353 \r\nL 170.073431 20.8353 \r\nz\r\n\" style=\"fill:#bdbdbd;opacity:0.6;\"/>\r\n </g>\r\n <g id=\"patch_3\">\r\n <path clip-path=\"url(#p0c5903bb1e)\" d=\"M 170.073431 111.7373 \r\nL 187.799321 111.7373 \r\nL 187.799321 66.2863 \r\nL 170.073431 66.2863 \r\nz\r\n\" style=\"fill:#bdbdbd;opacity:0.6;\"/>\r\n </g>\r\n <g id=\"patch_4\">\r\n <path clip-path=\"url(#p0c5903bb1e)\" d=\"M 170.073431 157.1883 \r\nL 187.799321 157.1883 \r\nL 187.799321 111.7373 \r\nL 170.073431 111.7373 \r\nz\r\n\" style=\"fill:#bdbdbd;opacity:0.6;\"/>\r\n </g>\r\n <g id=\"patch_5\">\r\n <path clip-path=\"url(#p0c5903bb1e)\" d=\"M 170.073431 202.6393 \r\nL 187.799321 202.6393 \r\nL 187.799321 157.1883 \r\nL 170.073431 157.1883 \r\nz\r\n\" style=\"fill:#bdbdbd;opacity:0.6;\"/>\r\n </g>\r\n <g id=\"patch_6\">\r\n <path clip-path=\"url(#p0c5903bb1e)\" d=\"M 170.073431 248.0903 \r\nL 187.799321 248.0903 \r\nL 187.799321 202.6393 \r\nL 170.073431 202.6393 \r\nz\r\n\" style=\"fill:#bdbdbd;opacity:0.6;\"/>\r\n </g>\r\n <g id=\"line2d_8\">\r\n <path clip-path=\"url(#p0c5903bb1e)\" d=\"M 72.581036 275.3609 \r\nL 77.126136 266.2707 \r\n\" style=\"fill:none;stroke:#778899;stroke-linecap:square;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_7\">\r\n <path clip-path=\"url(#p0c5903bb1e)\" d=\"M 73.262801 58.332375 \r\nL 102.805951 58.332375 \r\nL 102.805951 28.789225 \r\nL 73.262801 28.789225 \r\nz\r\n\" style=\"fill:#6fa4ff;stroke:#6fa4ff;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_8\">\r\n <path clip-path=\"url(#p0c5903bb1e)\" d=\"M 73.262801 103.783375 \r\nL 102.805951 103.783375 \r\nL 102.805951 74.240225 \r\nL 73.262801 74.240225 \r\nz\r\n\" style=\"fill:#6fa4ff;stroke:#6fa4ff;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_9\">\r\n <path clip-path=\"url(#p0c5903bb1e)\" d=\"M 73.262801 149.234375 \r\nL 102.805951 149.234375 \r\nL 102.805951 119.691225 \r\nL 73.262801 119.691225 \r\nz\r\n\" style=\"fill:#6fa4ff;stroke:#6fa4ff;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_10\">\r\n <path clip-path=\"url(#p0c5903bb1e)\" d=\"M 73.262801 194.685375 \r\nL 102.805951 194.685375 \r\nL 102.805951 165.142225 \r\nL 73.262801 165.142225 \r\nz\r\n\" style=\"fill:#6fa4ff;stroke:#6fa4ff;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_11\">\r\n <path clip-path=\"url(#p0c5903bb1e)\" d=\"M 73.262801 240.136375 \r\nL 102.805951 240.136375 \r\nL 102.805951 210.593225 \r\nL 73.262801 210.593225 \r\nz\r\n\" style=\"fill:#05bab6;stroke:#05bab6;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_12\">\r\n <path clip-path=\"url(#p0c5903bb1e)\" d=\"M 118.713801 240.136375 \r\nL 148.256951 240.136375 \r\nL 148.256951 210.593225 \r\nL 118.713801 210.593225 \r\nz\r\n\" style=\"fill:#6fa4ff;stroke:#6fa4ff;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"line2d_9\">\r\n <path clip-path=\"url(#p0c5903bb1e)\" d=\"M 178.936376 20.8353 \r\nL 178.936376 66.2863 \r\n\" style=\"fill:none;stroke:#000000;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\"/>\r\n </g>\r\n <g id=\"line2d_10\">\r\n <path clip-path=\"url(#p0c5903bb1e)\" d=\"M 178.936376 66.2863 \r\nL 178.936376 111.7373 \r\n\" style=\"fill:none;stroke:#000000;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\"/>\r\n </g>\r\n <g id=\"line2d_11\">\r\n <path clip-path=\"url(#p0c5903bb1e)\" d=\"M 178.936376 111.7373 \r\nL 178.936376 157.1883 \r\n\" style=\"fill:none;stroke:#000000;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\"/>\r\n </g>\r\n <g id=\"line2d_12\">\r\n <path clip-path=\"url(#p0c5903bb1e)\" d=\"M 178.936376 157.1883 \r\nL 178.936376 202.6393 \r\n\" style=\"fill:none;stroke:#000000;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\"/>\r\n </g>\r\n <g id=\"line2d_13\">\r\n <path clip-path=\"url(#p0c5903bb1e)\" d=\"M 178.936376 202.6393 \r\nL 178.936376 248.0903 \r\n\" style=\"fill:none;stroke:#000000;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\"/>\r\n </g>\r\n <g id=\"text_1\">\r\n <g clip-path=\"url(#p0c5903bb1e)\">\r\n <!-- H -->\r\n <g transform=\"translate(83.146173 47.147987)scale(0.13 -0.13)\">\r\n <defs>\r\n <path d=\"M 9.8125 72.90625 \r\nL 19.671875 72.90625 \r\nL 19.671875 43.015625 \r\nL 55.515625 43.015625 \r\nL 55.515625 72.90625 \r\nL 65.375 72.90625 \r\nL 65.375 0 \r\nL 55.515625 0 \r\nL 55.515625 34.71875 \r\nL 19.671875 34.71875 \r\nL 19.671875 0 \r\nL 9.8125 0 \r\nz\r\n\" id=\"DejaVuSans-72\"/>\r\n </defs>\r\n <use xlink:href=\"#DejaVuSans-72\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_2\">\r\n <g clip-path=\"url(#p0c5903bb1e)\">\r\n <!-- H -->\r\n <g transform=\"translate(83.146173 92.598987)scale(0.13 -0.13)\">\r\n <use xlink:href=\"#DejaVuSans-72\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_3\">\r\n <g clip-path=\"url(#p0c5903bb1e)\">\r\n <!-- H -->\r\n <g transform=\"translate(83.146173 138.049987)scale(0.13 -0.13)\">\r\n <use xlink:href=\"#DejaVuSans-72\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_4\">\r\n <g clip-path=\"url(#p0c5903bb1e)\">\r\n <!-- H -->\r\n <g transform=\"translate(83.146173 183.500987)scale(0.13 -0.13)\">\r\n <use xlink:href=\"#DejaVuSans-72\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_5\">\r\n <g clip-path=\"url(#p0c5903bb1e)\">\r\n <!-- X -->\r\n <g transform=\"translate(83.581876 228.951987)scale(0.13 -0.13)\">\r\n <defs>\r\n <path d=\"M 6.296875 72.90625 \r\nL 16.890625 72.90625 \r\nL 35.015625 45.796875 \r\nL 53.21875 72.90625 \r\nL 63.8125 72.90625 \r\nL 40.375 37.890625 \r\nL 65.375 0 \r\nL 54.78125 0 \r\nL 34.28125 31 \r\nL 13.625 0 \r\nL 2.984375 0 \r\nL 29 38.921875 \r\nz\r\n\" id=\"DejaVuSans-88\"/>\r\n </defs>\r\n <use xlink:href=\"#DejaVuSans-88\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_6\">\r\n <g clip-path=\"url(#p0c5903bb1e)\">\r\n <!-- H -->\r\n <g transform=\"translate(128.597173 228.951987)scale(0.13 -0.13)\">\r\n <use xlink:href=\"#DejaVuSans-72\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_7\">\r\n <g clip-path=\"url(#p0c5903bb1e)\">\r\n <!-- ${q}_{0}$ -->\r\n <g transform=\"translate(36.363136 48.011777)scale(0.1625 -0.1625)\">\r\n <defs>\r\n <path d=\"M 41.703125 8.203125 \r\nQ 38.09375 3.46875 33.171875 1.015625 \r\nQ 28.265625 -1.421875 22.3125 -1.421875 \r\nQ 14.015625 -1.421875 9.296875 4.171875 \r\nQ 4.59375 9.765625 4.59375 19.578125 \r\nQ 4.59375 27.484375 7.5 34.859375 \r\nQ 10.40625 42.234375 15.828125 48.09375 \r\nQ 19.34375 51.90625 23.90625 53.953125 \r\nQ 28.46875 56 33.5 56 \r\nQ 39.546875 56 43.453125 53.609375 \r\nQ 47.359375 51.21875 49.125 46.390625 \r\nL 50.6875 54.59375 \r\nL 59.71875 54.59375 \r\nL 45.125 -20.609375 \r\nL 36.078125 -20.609375 \r\nz\r\nM 13.921875 20.90625 \r\nQ 13.921875 13.671875 16.9375 9.890625 \r\nQ 19.96875 6.109375 25.6875 6.109375 \r\nQ 34.1875 6.109375 40.1875 14.234375 \r\nQ 46.1875 22.359375 46.1875 33.984375 \r\nQ 46.1875 41.015625 43.078125 44.75 \r\nQ 39.984375 48.484375 34.1875 48.484375 \r\nQ 29.9375 48.484375 26.3125 46.5 \r\nQ 22.703125 44.53125 20.015625 40.71875 \r\nQ 17.1875 36.71875 15.546875 31.34375 \r\nQ 13.921875 25.984375 13.921875 20.90625 \r\nz\r\n\" id=\"DejaVuSans-Oblique-113\"/>\r\n <path d=\"M 31.78125 66.40625 \r\nQ 24.171875 66.40625 20.328125 58.90625 \r\nQ 16.5 51.421875 16.5 36.375 \r\nQ 16.5 21.390625 20.328125 13.890625 \r\nQ 24.171875 6.390625 31.78125 6.390625 \r\nQ 39.453125 6.390625 43.28125 13.890625 \r\nQ 47.125 21.390625 47.125 36.375 \r\nQ 47.125 51.421875 43.28125 58.90625 \r\nQ 39.453125 66.40625 31.78125 66.40625 \r\nz\r\nM 31.78125 74.21875 \r\nQ 44.046875 74.21875 50.515625 64.515625 \r\nQ 56.984375 54.828125 56.984375 36.375 \r\nQ 56.984375 17.96875 50.515625 8.265625 \r\nQ 44.046875 -1.421875 31.78125 -1.421875 \r\nQ 19.53125 -1.421875 13.0625 8.265625 \r\nQ 6.59375 17.96875 6.59375 36.375 \r\nQ 6.59375 54.828125 13.0625 64.515625 \r\nQ 19.53125 74.21875 31.78125 74.21875 \r\nz\r\n\" id=\"DejaVuSans-48\"/>\r\n </defs>\r\n <use xlink:href=\"#DejaVuSans-Oblique-113\"/>\r\n <use transform=\"translate(63.476562 -16.40625)scale(0.7)\" xlink:href=\"#DejaVuSans-48\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_8\">\r\n <g clip-path=\"url(#p0c5903bb1e)\">\r\n <!-- ${q}_{1}$ -->\r\n <g transform=\"translate(36.363136 93.462777)scale(0.1625 -0.1625)\">\r\n <defs>\r\n <path d=\"M 12.40625 8.296875 \r\nL 28.515625 8.296875 \r\nL 28.515625 63.921875 \r\nL 10.984375 60.40625 \r\nL 10.984375 69.390625 \r\nL 28.421875 72.90625 \r\nL 38.28125 72.90625 \r\nL 38.28125 8.296875 \r\nL 54.390625 8.296875 \r\nL 54.390625 0 \r\nL 12.40625 0 \r\nz\r\n\" id=\"DejaVuSans-49\"/>\r\n </defs>\r\n <use xlink:href=\"#DejaVuSans-Oblique-113\"/>\r\n <use transform=\"translate(63.476562 -16.40625)scale(0.7)\" xlink:href=\"#DejaVuSans-49\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_9\">\r\n <g clip-path=\"url(#p0c5903bb1e)\">\r\n <!-- ${q}_{2}$ -->\r\n <g transform=\"translate(36.363136 138.913777)scale(0.1625 -0.1625)\">\r\n <defs>\r\n <path d=\"M 19.1875 8.296875 \r\nL 53.609375 8.296875 \r\nL 53.609375 0 \r\nL 7.328125 0 \r\nL 7.328125 8.296875 \r\nQ 12.9375 14.109375 22.625 23.890625 \r\nQ 32.328125 33.6875 34.8125 36.53125 \r\nQ 39.546875 41.84375 41.421875 45.53125 \r\nQ 43.3125 49.21875 43.3125 52.78125 \r\nQ 43.3125 58.59375 39.234375 62.25 \r\nQ 35.15625 65.921875 28.609375 65.921875 \r\nQ 23.96875 65.921875 18.8125 64.3125 \r\nQ 13.671875 62.703125 7.8125 59.421875 \r\nL 7.8125 69.390625 \r\nQ 13.765625 71.78125 18.9375 73 \r\nQ 24.125 74.21875 28.421875 74.21875 \r\nQ 39.75 74.21875 46.484375 68.546875 \r\nQ 53.21875 62.890625 53.21875 53.421875 \r\nQ 53.21875 48.921875 51.53125 44.890625 \r\nQ 49.859375 40.875 45.40625 35.40625 \r\nQ 44.1875 33.984375 37.640625 27.21875 \r\nQ 31.109375 20.453125 19.1875 8.296875 \r\nz\r\n\" id=\"DejaVuSans-50\"/>\r\n </defs>\r\n <use xlink:href=\"#DejaVuSans-Oblique-113\"/>\r\n <use transform=\"translate(63.476562 -16.40625)scale(0.7)\" xlink:href=\"#DejaVuSans-50\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_10\">\r\n <g clip-path=\"url(#p0c5903bb1e)\">\r\n <!-- ${q}_{3}$ -->\r\n <g transform=\"translate(36.363136 184.364777)scale(0.1625 -0.1625)\">\r\n <defs>\r\n <path d=\"M 40.578125 39.3125 \r\nQ 47.65625 37.796875 51.625 33 \r\nQ 55.609375 28.21875 55.609375 21.1875 \r\nQ 55.609375 10.40625 48.1875 4.484375 \r\nQ 40.765625 -1.421875 27.09375 -1.421875 \r\nQ 22.515625 -1.421875 17.65625 -0.515625 \r\nQ 12.796875 0.390625 7.625 2.203125 \r\nL 7.625 11.71875 \r\nQ 11.71875 9.328125 16.59375 8.109375 \r\nQ 21.484375 6.890625 26.8125 6.890625 \r\nQ 36.078125 6.890625 40.9375 10.546875 \r\nQ 45.796875 14.203125 45.796875 21.1875 \r\nQ 45.796875 27.640625 41.28125 31.265625 \r\nQ 36.765625 34.90625 28.71875 34.90625 \r\nL 20.21875 34.90625 \r\nL 20.21875 43.015625 \r\nL 29.109375 43.015625 \r\nQ 36.375 43.015625 40.234375 45.921875 \r\nQ 44.09375 48.828125 44.09375 54.296875 \r\nQ 44.09375 59.90625 40.109375 62.90625 \r\nQ 36.140625 65.921875 28.71875 65.921875 \r\nQ 24.65625 65.921875 20.015625 65.03125 \r\nQ 15.375 64.15625 9.8125 62.3125 \r\nL 9.8125 71.09375 \r\nQ 15.4375 72.65625 20.34375 73.4375 \r\nQ 25.25 74.21875 29.59375 74.21875 \r\nQ 40.828125 74.21875 47.359375 69.109375 \r\nQ 53.90625 64.015625 53.90625 55.328125 \r\nQ 53.90625 49.265625 50.4375 45.09375 \r\nQ 46.96875 40.921875 40.578125 39.3125 \r\nz\r\n\" id=\"DejaVuSans-51\"/>\r\n </defs>\r\n <use xlink:href=\"#DejaVuSans-Oblique-113\"/>\r\n <use transform=\"translate(63.476562 -16.40625)scale(0.7)\" xlink:href=\"#DejaVuSans-51\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_11\">\r\n <g clip-path=\"url(#p0c5903bb1e)\">\r\n <!-- ${q}_{4}$ -->\r\n <g transform=\"translate(36.363136 229.815777)scale(0.1625 -0.1625)\">\r\n <defs>\r\n <path d=\"M 37.796875 64.3125 \r\nL 12.890625 25.390625 \r\nL 37.796875 25.390625 \r\nz\r\nM 35.203125 72.90625 \r\nL 47.609375 72.90625 \r\nL 47.609375 25.390625 \r\nL 58.015625 25.390625 \r\nL 58.015625 17.1875 \r\nL 47.609375 17.1875 \r\nL 47.609375 0 \r\nL 37.796875 0 \r\nL 37.796875 17.1875 \r\nL 4.890625 17.1875 \r\nL 4.890625 26.703125 \r\nz\r\n\" id=\"DejaVuSans-52\"/>\r\n </defs>\r\n <use xlink:href=\"#DejaVuSans-Oblique-113\"/>\r\n <use transform=\"translate(63.476562 -16.40625)scale(0.7)\" xlink:href=\"#DejaVuSans-52\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_12\">\r\n <g clip-path=\"url(#p0c5903bb1e)\">\r\n <!-- 4 -->\r\n <g transform=\"translate(68.035936 264.107825)scale(0.104 -0.104)\">\r\n <use xlink:href=\"#DejaVuSans-52\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_13\">\r\n <g clip-path=\"url(#p0c5903bb1e)\">\r\n <!-- c -->\r\n <g transform=\"translate(45.465675 275.299784)scale(0.1625 -0.1625)\">\r\n <defs>\r\n <path d=\"M 48.78125 52.59375 \r\nL 48.78125 44.1875 \r\nQ 44.96875 46.296875 41.140625 47.34375 \r\nQ 37.3125 48.390625 33.40625 48.390625 \r\nQ 24.65625 48.390625 19.8125 42.84375 \r\nQ 14.984375 37.3125 14.984375 27.296875 \r\nQ 14.984375 17.28125 19.8125 11.734375 \r\nQ 24.65625 6.203125 33.40625 6.203125 \r\nQ 37.3125 6.203125 41.140625 7.25 \r\nQ 44.96875 8.296875 48.78125 10.40625 \r\nL 48.78125 2.09375 \r\nQ 45.015625 0.34375 40.984375 -0.53125 \r\nQ 36.96875 -1.421875 32.421875 -1.421875 \r\nQ 20.0625 -1.421875 12.78125 6.34375 \r\nQ 5.515625 14.109375 5.515625 27.296875 \r\nQ 5.515625 40.671875 12.859375 48.328125 \r\nQ 20.21875 56 33.015625 56 \r\nQ 37.15625 56 41.109375 55.140625 \r\nQ 45.0625 54.296875 48.78125 52.59375 \r\nz\r\n\" id=\"DejaVuSans-99\"/>\r\n </defs>\r\n <use xlink:href=\"#DejaVuSans-99\"/>\r\n </g>\r\n </g>\r\n </g>\r\n </g>\r\n </g>\r\n <defs>\r\n <clipPath id=\"p0c5903bb1e\">\r\n <rect height=\"290.8864\" width=\"201.734036\" x=\"7.2\" y=\"7.2\"/>\r\n </clipPath>\r\n </defs>\r\n</svg>\r\n",
"image/png": "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\n"
},
"metadata": {},
"execution_count": 3
}
],
"source": [
"for i in range(n):\n",
" circuit.h(i) #place Query into equal superposition\n",
"\n",
"circuit.x(n) \n",
"circuit.h(n) # bring Auxiliary into '1', then '-' state for Phase Kickback\n",
"\n",
"circuit.barrier()\n",
"circuit.draw('mpl')"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"hidden_bits = randint(0,2**n-1) #random n-digit number\n",
"hidden_bits = format(hidden_bits,'0'+str(n)+'b') #convert number to binary string"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"def Oracle(circuit,n,hidden_bits):\n",
"\n",
" circuit.barrier()\n",
"\n",
" for i in range(len(hidden_bits)):\n",
" if hidden_bits[i] == '0':\n",
" circuit.x(i) #apply X Gates to any '0's in the hidden bit string so they can activate MCX\n",
"\n",
" circuit.mcx(list(range(n)),n) # check if qubit is perfectly correct\n",
"\n",
" for i in range(len(hidden_bits)):\n",
" if hidden_bits[i] == '0':\n",
" circuit.x(i) #finish wrapping X Gates around '0's to hide any\n",
"\n",
" circuit.barrier() \n",
"\n",
" return circuit"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"def Diffuser(circuit,n):\n",
" \n",
" for i in range(n):\n",
" circuit.h(i) #take 's' out of superposition\n",
" circuit.x(i) #flip to |11..> to activate MCX\n",
"\n",
" circuit.mcx(list(range(n)),n) # apply Phase Kickback\n",
"\n",
" for i in range(n):\n",
" circuit.x(i)\n",
" circuit.h(i) #undo X Gate and place back into superposition\n",
" \n",
" circuit.barrier()\n",
" return circuit"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<qiskit.circuit.instructionset.InstructionSet at 0x2232e6312e0>"
]
},
"metadata": {},
"execution_count": 7
}
],
"source": [
"from math import pi,sqrt,floor\n",
"\n",
"iterations = floor((pi/4)*sqrt(n)) #formula for number of iterations\n",
"\n",
"for i in range(iterations):\n",
" circuit = Oracle(circuit,n,hidden_bits)\n",
" circuit = Diffuser(circuit,n) #Amplitude Amplification\n",
"\n",
"circuit.barrier()"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<Figure size 1230.4x385.28 with 1 Axes>"
],
"image/svg+xml": "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\r\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\r\n \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n<!-- Created with matplotlib (https://matplotlib.org/) -->\r\n<svg height=\"305.2864pt\" version=\"1.1\" viewBox=\"0 0 943.350036 305.2864\" width=\"943.350036pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n <metadata>\r\n <rdf:RDF xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\r\n <cc:Work>\r\n <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/>\r\n <dc:date>2021-02-25T09:14:39.005803</dc:date>\r\n <dc:format>image/svg+xml</dc:format>\r\n <dc:creator>\r\n <cc:Agent>\r\n <dc:title>Matplotlib v3.3.3, https://matplotlib.org/</dc:title>\r\n </cc:Agent>\r\n </dc:creator>\r\n </cc:Work>\r\n </rdf:RDF>\r\n </metadata>\r\n <defs>\r\n <style type=\"text/css\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\r\n </defs>\r\n <g id=\"figure_1\">\r\n <g id=\"patch_1\">\r\n <path d=\"M 0 305.2864 \r\nL 943.350036 305.2864 \r\nL 943.350036 0 \r\nL 0 0 \r\nz\r\n\" style=\"fill:#ffffff;\"/>\r\n </g>\r\n <g id=\"axes_1\">\r\n <g id=\"patch_2\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 763.890746 260.475697 \r\nL 775.708006 260.475697 \r\nL 769.799376 268.99776 \r\nz\r\n\" style=\"fill:#778899;\"/>\r\n </g>\r\n <g id=\"patch_3\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 809.341746 260.475697 \r\nL 821.159006 260.475697 \r\nL 815.250376 268.99776 \r\nz\r\n\" style=\"fill:#778899;\"/>\r\n </g>\r\n <g id=\"patch_4\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 854.792746 260.475697 \r\nL 866.610006 260.475697 \r\nL 860.701376 268.99776 \r\nz\r\n\" style=\"fill:#778899;\"/>\r\n </g>\r\n <g id=\"patch_5\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 900.243746 260.475697 \r\nL 912.061006 260.475697 \r\nL 906.152376 268.99776 \r\nz\r\n\" style=\"fill:#778899;\"/>\r\n </g>\r\n <g id=\"line2d_1\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 63.490836 43.5608 \r\nL 931.604936 43.5608 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-width:2;\"/>\r\n </g>\r\n <g id=\"line2d_2\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 63.490836 89.0118 \r\nL 931.604936 89.0118 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-width:2;\"/>\r\n </g>\r\n <g id=\"line2d_3\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 63.490836 134.4628 \r\nL 931.604936 134.4628 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-width:2;\"/>\r\n </g>\r\n <g id=\"line2d_4\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 63.490836 179.9138 \r\nL 931.604936 179.9138 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-width:2;\"/>\r\n </g>\r\n <g id=\"line2d_5\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 63.490836 225.3648 \r\nL 931.604936 225.3648 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-width:2;\"/>\r\n </g>\r\n <g id=\"line2d_6\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 63.490836 269.338642 \r\nL 931.604936 269.338642 \r\n\" style=\"fill:none;stroke:#778899;stroke-linecap:square;stroke-width:2;\"/>\r\n </g>\r\n <g id=\"line2d_7\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 63.490836 272.292957 \r\nL 931.604936 272.292957 \r\n\" style=\"fill:none;stroke:#778899;stroke-linecap:square;stroke-width:2;\"/>\r\n </g>\r\n <g id=\"patch_6\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 170.073431 66.2863 \r\nL 187.799321 66.2863 \r\nL 187.799321 20.8353 \r\nL 170.073431 20.8353 \r\nz\r\n\" style=\"fill:#bdbdbd;opacity:0.6;\"/>\r\n </g>\r\n <g id=\"patch_7\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 170.073431 111.7373 \r\nL 187.799321 111.7373 \r\nL 187.799321 66.2863 \r\nL 170.073431 66.2863 \r\nz\r\n\" style=\"fill:#bdbdbd;opacity:0.6;\"/>\r\n </g>\r\n <g id=\"patch_8\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 170.073431 157.1883 \r\nL 187.799321 157.1883 \r\nL 187.799321 111.7373 \r\nL 170.073431 111.7373 \r\nz\r\n\" style=\"fill:#bdbdbd;opacity:0.6;\"/>\r\n </g>\r\n <g id=\"patch_9\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 170.073431 202.6393 \r\nL 187.799321 202.6393 \r\nL 187.799321 157.1883 \r\nL 170.073431 157.1883 \r\nz\r\n\" style=\"fill:#bdbdbd;opacity:0.6;\"/>\r\n </g>\r\n <g id=\"patch_10\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 170.073431 248.0903 \r\nL 187.799321 248.0903 \r\nL 187.799321 202.6393 \r\nL 170.073431 202.6393 \r\nz\r\n\" style=\"fill:#bdbdbd;opacity:0.6;\"/>\r\n </g>\r\n <g id=\"patch_11\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 215.524431 66.2863 \r\nL 233.250321 66.2863 \r\nL 233.250321 20.8353 \r\nL 215.524431 20.8353 \r\nz\r\n\" style=\"fill:#bdbdbd;opacity:0.6;\"/>\r\n </g>\r\n <g id=\"patch_12\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 215.524431 111.7373 \r\nL 233.250321 111.7373 \r\nL 233.250321 66.2863 \r\nL 215.524431 66.2863 \r\nz\r\n\" style=\"fill:#bdbdbd;opacity:0.6;\"/>\r\n </g>\r\n <g id=\"patch_13\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 215.524431 157.1883 \r\nL 233.250321 157.1883 \r\nL 233.250321 111.7373 \r\nL 215.524431 111.7373 \r\nz\r\n\" style=\"fill:#bdbdbd;opacity:0.6;\"/>\r\n </g>\r\n <g id=\"patch_14\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 215.524431 202.6393 \r\nL 233.250321 202.6393 \r\nL 233.250321 157.1883 \r\nL 215.524431 157.1883 \r\nz\r\n\" style=\"fill:#bdbdbd;opacity:0.6;\"/>\r\n </g>\r\n <g id=\"patch_15\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 215.524431 248.0903 \r\nL 233.250321 248.0903 \r\nL 233.250321 202.6393 \r\nL 215.524431 202.6393 \r\nz\r\n\" style=\"fill:#bdbdbd;opacity:0.6;\"/>\r\n </g>\r\n <g id=\"patch_16\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 397.328431 66.2863 \r\nL 415.054321 66.2863 \r\nL 415.054321 20.8353 \r\nL 397.328431 20.8353 \r\nz\r\n\" style=\"fill:#bdbdbd;opacity:0.6;\"/>\r\n </g>\r\n <g id=\"patch_17\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 397.328431 111.7373 \r\nL 415.054321 111.7373 \r\nL 415.054321 66.2863 \r\nL 397.328431 66.2863 \r\nz\r\n\" style=\"fill:#bdbdbd;opacity:0.6;\"/>\r\n </g>\r\n <g id=\"patch_18\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 397.328431 157.1883 \r\nL 415.054321 157.1883 \r\nL 415.054321 111.7373 \r\nL 397.328431 111.7373 \r\nz\r\n\" style=\"fill:#bdbdbd;opacity:0.6;\"/>\r\n </g>\r\n <g id=\"patch_19\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 397.328431 202.6393 \r\nL 415.054321 202.6393 \r\nL 415.054321 157.1883 \r\nL 397.328431 157.1883 \r\nz\r\n\" style=\"fill:#bdbdbd;opacity:0.6;\"/>\r\n </g>\r\n <g id=\"patch_20\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 397.328431 248.0903 \r\nL 415.054321 248.0903 \r\nL 415.054321 202.6393 \r\nL 397.328431 202.6393 \r\nz\r\n\" style=\"fill:#bdbdbd;opacity:0.6;\"/>\r\n </g>\r\n <g id=\"patch_21\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 670.034431 66.2863 \r\nL 687.760321 66.2863 \r\nL 687.760321 20.8353 \r\nL 670.034431 20.8353 \r\nz\r\n\" style=\"fill:#bdbdbd;opacity:0.6;\"/>\r\n </g>\r\n <g id=\"patch_22\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 670.034431 111.7373 \r\nL 687.760321 111.7373 \r\nL 687.760321 66.2863 \r\nL 670.034431 66.2863 \r\nz\r\n\" style=\"fill:#bdbdbd;opacity:0.6;\"/>\r\n </g>\r\n <g id=\"patch_23\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 670.034431 157.1883 \r\nL 687.760321 157.1883 \r\nL 687.760321 111.7373 \r\nL 670.034431 111.7373 \r\nz\r\n\" style=\"fill:#bdbdbd;opacity:0.6;\"/>\r\n </g>\r\n <g id=\"patch_24\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 670.034431 202.6393 \r\nL 687.760321 202.6393 \r\nL 687.760321 157.1883 \r\nL 670.034431 157.1883 \r\nz\r\n\" style=\"fill:#bdbdbd;opacity:0.6;\"/>\r\n </g>\r\n <g id=\"patch_25\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 670.034431 248.0903 \r\nL 687.760321 248.0903 \r\nL 687.760321 202.6393 \r\nL 670.034431 202.6393 \r\nz\r\n\" style=\"fill:#bdbdbd;opacity:0.6;\"/>\r\n </g>\r\n <g id=\"patch_26\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 715.485431 66.2863 \r\nL 733.211321 66.2863 \r\nL 733.211321 20.8353 \r\nL 715.485431 20.8353 \r\nz\r\n\" style=\"fill:#bdbdbd;opacity:0.6;\"/>\r\n </g>\r\n <g id=\"patch_27\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 715.485431 111.7373 \r\nL 733.211321 111.7373 \r\nL 733.211321 66.2863 \r\nL 715.485431 66.2863 \r\nz\r\n\" style=\"fill:#bdbdbd;opacity:0.6;\"/>\r\n </g>\r\n <g id=\"patch_28\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 715.485431 157.1883 \r\nL 733.211321 157.1883 \r\nL 733.211321 111.7373 \r\nL 715.485431 111.7373 \r\nz\r\n\" style=\"fill:#bdbdbd;opacity:0.6;\"/>\r\n </g>\r\n <g id=\"patch_29\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 715.485431 202.6393 \r\nL 733.211321 202.6393 \r\nL 733.211321 157.1883 \r\nL 715.485431 157.1883 \r\nz\r\n\" style=\"fill:#bdbdbd;opacity:0.6;\"/>\r\n </g>\r\n <g id=\"patch_30\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 715.485431 248.0903 \r\nL 733.211321 248.0903 \r\nL 733.211321 202.6393 \r\nL 715.485431 202.6393 \r\nz\r\n\" style=\"fill:#bdbdbd;opacity:0.6;\"/>\r\n </g>\r\n <g id=\"line2d_8\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 315.289376 225.3648 \r\nL 315.289376 43.5608 \r\n\" style=\"fill:none;stroke:#bb8bff;stroke-linecap:square;stroke-width:2;\"/>\r\n </g>\r\n <g id=\"line2d_9\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 542.544376 225.3648 \r\nL 542.544376 43.5608 \r\n\" style=\"fill:none;stroke:#bb8bff;stroke-linecap:square;stroke-width:2;\"/>\r\n </g>\r\n <g id=\"line2d_10\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 771.276534 43.5608 \r\nL 771.276534 260.475697 \r\n\" style=\"fill:none;stroke:#778899;stroke-linecap:square;stroke-width:2;\"/>\r\n </g>\r\n <g id=\"line2d_11\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 768.322219 43.5608 \r\nL 768.322219 260.475697 \r\n\" style=\"fill:none;stroke:#778899;stroke-linecap:square;stroke-width:2;\"/>\r\n </g>\r\n <g id=\"line2d_12\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 816.727534 89.0118 \r\nL 816.727534 260.475697 \r\n\" style=\"fill:none;stroke:#778899;stroke-linecap:square;stroke-width:2;\"/>\r\n </g>\r\n <g id=\"line2d_13\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 813.773219 89.0118 \r\nL 813.773219 260.475697 \r\n\" style=\"fill:none;stroke:#778899;stroke-linecap:square;stroke-width:2;\"/>\r\n </g>\r\n <g id=\"line2d_14\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 862.178534 134.4628 \r\nL 862.178534 260.475697 \r\n\" style=\"fill:none;stroke:#778899;stroke-linecap:square;stroke-width:2;\"/>\r\n </g>\r\n <g id=\"line2d_15\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 859.224219 134.4628 \r\nL 859.224219 260.475697 \r\n\" style=\"fill:none;stroke:#778899;stroke-linecap:square;stroke-width:2;\"/>\r\n </g>\r\n <g id=\"line2d_16\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 907.629534 179.9138 \r\nL 907.629534 260.475697 \r\n\" style=\"fill:none;stroke:#778899;stroke-linecap:square;stroke-width:2;\"/>\r\n </g>\r\n <g id=\"line2d_17\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 904.675219 179.9138 \r\nL 904.675219 260.475697 \r\n\" style=\"fill:none;stroke:#778899;stroke-linecap:square;stroke-width:2;\"/>\r\n </g>\r\n <g id=\"line2d_18\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 72.581036 275.3609 \r\nL 77.126136 266.2707 \r\n\" style=\"fill:none;stroke:#778899;stroke-linecap:square;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_31\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 73.262801 58.332375 \r\nL 102.805951 58.332375 \r\nL 102.805951 28.789225 \r\nL 73.262801 28.789225 \r\nz\r\n\" style=\"fill:#6fa4ff;stroke:#6fa4ff;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_32\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 73.262801 103.783375 \r\nL 102.805951 103.783375 \r\nL 102.805951 74.240225 \r\nL 73.262801 74.240225 \r\nz\r\n\" style=\"fill:#6fa4ff;stroke:#6fa4ff;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_33\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 73.262801 149.234375 \r\nL 102.805951 149.234375 \r\nL 102.805951 119.691225 \r\nL 73.262801 119.691225 \r\nz\r\n\" style=\"fill:#6fa4ff;stroke:#6fa4ff;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_34\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 73.262801 194.685375 \r\nL 102.805951 194.685375 \r\nL 102.805951 165.142225 \r\nL 73.262801 165.142225 \r\nz\r\n\" style=\"fill:#6fa4ff;stroke:#6fa4ff;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_35\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 73.262801 240.136375 \r\nL 102.805951 240.136375 \r\nL 102.805951 210.593225 \r\nL 73.262801 210.593225 \r\nz\r\n\" style=\"fill:#05bab6;stroke:#05bab6;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_36\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 118.713801 240.136375 \r\nL 148.256951 240.136375 \r\nL 148.256951 210.593225 \r\nL 118.713801 210.593225 \r\nz\r\n\" style=\"fill:#6fa4ff;stroke:#6fa4ff;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_37\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 255.066801 58.332375 \r\nL 284.609951 58.332375 \r\nL 284.609951 28.789225 \r\nL 255.066801 28.789225 \r\nz\r\n\" style=\"fill:#05bab6;stroke:#05bab6;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_38\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 255.066801 103.783375 \r\nL 284.609951 103.783375 \r\nL 284.609951 74.240225 \r\nL 255.066801 74.240225 \r\nz\r\n\" style=\"fill:#05bab6;stroke:#05bab6;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_39\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 255.066801 149.234375 \r\nL 284.609951 149.234375 \r\nL 284.609951 119.691225 \r\nL 255.066801 119.691225 \r\nz\r\n\" style=\"fill:#05bab6;stroke:#05bab6;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_40\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 255.066801 194.685375 \r\nL 284.609951 194.685375 \r\nL 284.609951 165.142225 \r\nL 255.066801 165.142225 \r\nz\r\n\" style=\"fill:#05bab6;stroke:#05bab6;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_41\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 315.289376 47.992272 \r\nC 316.464616 47.992272 317.59188 47.525345 318.422901 46.694324 \r\nC 319.253921 45.863304 319.720849 44.73604 319.720849 43.5608 \r\nC 319.720849 42.38556 319.253921 41.258296 318.422901 40.427276 \r\nC 317.59188 39.596255 316.464616 39.129327 315.289376 39.129327 \r\nC 314.114136 39.129327 312.986872 39.596255 312.155852 40.427276 \r\nC 311.324832 41.258296 310.857904 42.38556 310.857904 43.5608 \r\nC 310.857904 44.73604 311.324832 45.863304 312.155852 46.694324 \r\nC 312.986872 47.525345 314.114136 47.992272 315.289376 47.992272 \r\nz\r\n\" style=\"fill:#bb8bff;stroke:#bb8bff;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_42\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 315.289376 93.443272 \r\nC 316.464616 93.443272 317.59188 92.976345 318.422901 92.145324 \r\nC 319.253921 91.314304 319.720849 90.18704 319.720849 89.0118 \r\nC 319.720849 87.83656 319.253921 86.709296 318.422901 85.878276 \r\nC 317.59188 85.047255 316.464616 84.580327 315.289376 84.580327 \r\nC 314.114136 84.580327 312.986872 85.047255 312.155852 85.878276 \r\nC 311.324832 86.709296 310.857904 87.83656 310.857904 89.0118 \r\nC 310.857904 90.18704 311.324832 91.314304 312.155852 92.145324 \r\nC 312.986872 92.976345 314.114136 93.443272 315.289376 93.443272 \r\nz\r\n\" style=\"fill:#bb8bff;stroke:#bb8bff;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_43\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 315.289376 138.894272 \r\nC 316.464616 138.894272 317.59188 138.427345 318.422901 137.596324 \r\nC 319.253921 136.765304 319.720849 135.63804 319.720849 134.4628 \r\nC 319.720849 133.28756 319.253921 132.160296 318.422901 131.329276 \r\nC 317.59188 130.498255 316.464616 130.031327 315.289376 130.031327 \r\nC 314.114136 130.031327 312.986872 130.498255 312.155852 131.329276 \r\nC 311.324832 132.160296 310.857904 133.28756 310.857904 134.4628 \r\nC 310.857904 135.63804 311.324832 136.765304 312.155852 137.596324 \r\nC 312.986872 138.427345 314.114136 138.894272 315.289376 138.894272 \r\nz\r\n\" style=\"fill:#bb8bff;stroke:#bb8bff;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_44\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 315.289376 184.345272 \r\nC 316.464616 184.345272 317.59188 183.878345 318.422901 183.047324 \r\nC 319.253921 182.216304 319.720849 181.08904 319.720849 179.9138 \r\nC 319.720849 178.73856 319.253921 177.611296 318.422901 176.780276 \r\nC 317.59188 175.949255 316.464616 175.482327 315.289376 175.482327 \r\nC 314.114136 175.482327 312.986872 175.949255 312.155852 176.780276 \r\nC 311.324832 177.611296 310.857904 178.73856 310.857904 179.9138 \r\nC 310.857904 181.08904 311.324832 182.216304 312.155852 183.047324 \r\nC 312.986872 183.878345 314.114136 184.345272 315.289376 184.345272 \r\nz\r\n\" style=\"fill:#bb8bff;stroke:#bb8bff;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_45\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 315.289376 235.704902 \r\nC 318.031603 235.704902 320.661885 234.615404 322.600933 232.676357 \r\nC 324.53998 230.737309 325.629479 228.107027 325.629479 225.3648 \r\nC 325.629479 222.622573 324.53998 219.992291 322.600933 218.053243 \r\nC 320.661885 216.114196 318.031603 215.024697 315.289376 215.024697 \r\nC 312.547149 215.024697 309.916867 216.114196 307.97782 218.053243 \r\nC 306.038772 219.992291 304.949274 222.622573 304.949274 225.3648 \r\nC 304.949274 228.107027 306.038772 230.737309 307.97782 232.676357 \r\nC 309.916867 234.615404 312.547149 235.704902 315.289376 235.704902 \r\nz\r\n\" style=\"fill:#bb8bff;stroke:#bb8bff;stroke-linejoin:miter;stroke-width:2;\"/>\r\n </g>\r\n <g id=\"patch_46\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 345.968801 58.332375 \r\nL 375.511951 58.332375 \r\nL 375.511951 28.789225 \r\nL 345.968801 28.789225 \r\nz\r\n\" style=\"fill:#05bab6;stroke:#05bab6;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_47\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 345.968801 103.783375 \r\nL 375.511951 103.783375 \r\nL 375.511951 74.240225 \r\nL 345.968801 74.240225 \r\nz\r\n\" style=\"fill:#05bab6;stroke:#05bab6;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_48\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 345.968801 149.234375 \r\nL 375.511951 149.234375 \r\nL 375.511951 119.691225 \r\nL 345.968801 119.691225 \r\nz\r\n\" style=\"fill:#05bab6;stroke:#05bab6;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_49\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 345.968801 194.685375 \r\nL 375.511951 194.685375 \r\nL 375.511951 165.142225 \r\nL 345.968801 165.142225 \r\nz\r\n\" style=\"fill:#05bab6;stroke:#05bab6;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_50\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 436.870801 58.332375 \r\nL 466.413951 58.332375 \r\nL 466.413951 28.789225 \r\nL 436.870801 28.789225 \r\nz\r\n\" style=\"fill:#6fa4ff;stroke:#6fa4ff;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_51\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 436.870801 103.783375 \r\nL 466.413951 103.783375 \r\nL 466.413951 74.240225 \r\nL 436.870801 74.240225 \r\nz\r\n\" style=\"fill:#6fa4ff;stroke:#6fa4ff;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_52\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 436.870801 149.234375 \r\nL 466.413951 149.234375 \r\nL 466.413951 119.691225 \r\nL 436.870801 119.691225 \r\nz\r\n\" style=\"fill:#6fa4ff;stroke:#6fa4ff;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_53\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 436.870801 194.685375 \r\nL 466.413951 194.685375 \r\nL 466.413951 165.142225 \r\nL 436.870801 165.142225 \r\nz\r\n\" style=\"fill:#6fa4ff;stroke:#6fa4ff;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_54\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 482.321801 58.332375 \r\nL 511.864951 58.332375 \r\nL 511.864951 28.789225 \r\nL 482.321801 28.789225 \r\nz\r\n\" style=\"fill:#05bab6;stroke:#05bab6;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_55\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 482.321801 103.783375 \r\nL 511.864951 103.783375 \r\nL 511.864951 74.240225 \r\nL 482.321801 74.240225 \r\nz\r\n\" style=\"fill:#05bab6;stroke:#05bab6;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_56\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 482.321801 149.234375 \r\nL 511.864951 149.234375 \r\nL 511.864951 119.691225 \r\nL 482.321801 119.691225 \r\nz\r\n\" style=\"fill:#05bab6;stroke:#05bab6;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_57\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 482.321801 194.685375 \r\nL 511.864951 194.685375 \r\nL 511.864951 165.142225 \r\nL 482.321801 165.142225 \r\nz\r\n\" style=\"fill:#05bab6;stroke:#05bab6;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_58\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 542.544376 47.992272 \r\nC 543.719616 47.992272 544.84688 47.525345 545.677901 46.694324 \r\nC 546.508921 45.863304 546.975849 44.73604 546.975849 43.5608 \r\nC 546.975849 42.38556 546.508921 41.258296 545.677901 40.427276 \r\nC 544.84688 39.596255 543.719616 39.129327 542.544376 39.129327 \r\nC 541.369136 39.129327 540.241872 39.596255 539.410852 40.427276 \r\nC 538.579832 41.258296 538.112904 42.38556 538.112904 43.5608 \r\nC 538.112904 44.73604 538.579832 45.863304 539.410852 46.694324 \r\nC 540.241872 47.525345 541.369136 47.992272 542.544376 47.992272 \r\nz\r\n\" style=\"fill:#bb8bff;stroke:#bb8bff;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_59\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 542.544376 93.443272 \r\nC 543.719616 93.443272 544.84688 92.976345 545.677901 92.145324 \r\nC 546.508921 91.314304 546.975849 90.18704 546.975849 89.0118 \r\nC 546.975849 87.83656 546.508921 86.709296 545.677901 85.878276 \r\nC 544.84688 85.047255 543.719616 84.580327 542.544376 84.580327 \r\nC 541.369136 84.580327 540.241872 85.047255 539.410852 85.878276 \r\nC 538.579832 86.709296 538.112904 87.83656 538.112904 89.0118 \r\nC 538.112904 90.18704 538.579832 91.314304 539.410852 92.145324 \r\nC 540.241872 92.976345 541.369136 93.443272 542.544376 93.443272 \r\nz\r\n\" style=\"fill:#bb8bff;stroke:#bb8bff;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_60\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 542.544376 138.894272 \r\nC 543.719616 138.894272 544.84688 138.427345 545.677901 137.596324 \r\nC 546.508921 136.765304 546.975849 135.63804 546.975849 134.4628 \r\nC 546.975849 133.28756 546.508921 132.160296 545.677901 131.329276 \r\nC 544.84688 130.498255 543.719616 130.031327 542.544376 130.031327 \r\nC 541.369136 130.031327 540.241872 130.498255 539.410852 131.329276 \r\nC 538.579832 132.160296 538.112904 133.28756 538.112904 134.4628 \r\nC 538.112904 135.63804 538.579832 136.765304 539.410852 137.596324 \r\nC 540.241872 138.427345 541.369136 138.894272 542.544376 138.894272 \r\nz\r\n\" style=\"fill:#bb8bff;stroke:#bb8bff;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_61\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 542.544376 184.345272 \r\nC 543.719616 184.345272 544.84688 183.878345 545.677901 183.047324 \r\nC 546.508921 182.216304 546.975849 181.08904 546.975849 179.9138 \r\nC 546.975849 178.73856 546.508921 177.611296 545.677901 176.780276 \r\nC 544.84688 175.949255 543.719616 175.482327 542.544376 175.482327 \r\nC 541.369136 175.482327 540.241872 175.949255 539.410852 176.780276 \r\nC 538.579832 177.611296 538.112904 178.73856 538.112904 179.9138 \r\nC 538.112904 181.08904 538.579832 182.216304 539.410852 183.047324 \r\nC 540.241872 183.878345 541.369136 184.345272 542.544376 184.345272 \r\nz\r\n\" style=\"fill:#bb8bff;stroke:#bb8bff;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_62\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 542.544376 235.704902 \r\nC 545.286603 235.704902 547.916885 234.615404 549.855933 232.676357 \r\nC 551.79498 230.737309 552.884479 228.107027 552.884479 225.3648 \r\nC 552.884479 222.622573 551.79498 219.992291 549.855933 218.053243 \r\nC 547.916885 216.114196 545.286603 215.024697 542.544376 215.024697 \r\nC 539.802149 215.024697 537.171867 216.114196 535.23282 218.053243 \r\nC 533.293772 219.992291 532.204274 222.622573 532.204274 225.3648 \r\nC 532.204274 228.107027 533.293772 230.737309 535.23282 232.676357 \r\nC 537.171867 234.615404 539.802149 235.704902 542.544376 235.704902 \r\nz\r\n\" style=\"fill:#bb8bff;stroke:#bb8bff;stroke-linejoin:miter;stroke-width:2;\"/>\r\n </g>\r\n <g id=\"patch_63\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 573.223801 58.332375 \r\nL 602.766951 58.332375 \r\nL 602.766951 28.789225 \r\nL 573.223801 28.789225 \r\nz\r\n\" style=\"fill:#05bab6;stroke:#05bab6;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_64\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 573.223801 103.783375 \r\nL 602.766951 103.783375 \r\nL 602.766951 74.240225 \r\nL 573.223801 74.240225 \r\nz\r\n\" style=\"fill:#05bab6;stroke:#05bab6;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_65\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 573.223801 149.234375 \r\nL 602.766951 149.234375 \r\nL 602.766951 119.691225 \r\nL 573.223801 119.691225 \r\nz\r\n\" style=\"fill:#05bab6;stroke:#05bab6;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_66\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 573.223801 194.685375 \r\nL 602.766951 194.685375 \r\nL 602.766951 165.142225 \r\nL 573.223801 165.142225 \r\nz\r\n\" style=\"fill:#05bab6;stroke:#05bab6;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_67\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 618.674801 58.332375 \r\nL 648.217951 58.332375 \r\nL 648.217951 28.789225 \r\nL 618.674801 28.789225 \r\nz\r\n\" style=\"fill:#6fa4ff;stroke:#6fa4ff;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_68\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 618.674801 103.783375 \r\nL 648.217951 103.783375 \r\nL 648.217951 74.240225 \r\nL 618.674801 74.240225 \r\nz\r\n\" style=\"fill:#6fa4ff;stroke:#6fa4ff;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_69\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 618.674801 149.234375 \r\nL 648.217951 149.234375 \r\nL 648.217951 119.691225 \r\nL 618.674801 119.691225 \r\nz\r\n\" style=\"fill:#6fa4ff;stroke:#6fa4ff;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_70\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 618.674801 194.685375 \r\nL 648.217951 194.685375 \r\nL 648.217951 165.142225 \r\nL 618.674801 165.142225 \r\nz\r\n\" style=\"fill:#6fa4ff;stroke:#6fa4ff;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_71\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 755.027801 58.332375 \r\nL 784.570951 58.332375 \r\nL 784.570951 28.789225 \r\nL 755.027801 28.789225 \r\nz\r\n\" style=\"stroke:#000000;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_72\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 780.139479 47.992272 \r\nC 780.139479 45.250959 779.049335 42.619118 777.110933 40.680716 \r\nC 775.172531 38.742314 772.54069 37.65217 769.799376 37.65217 \r\nC 767.058062 37.65217 764.426221 38.742314 762.48782 40.680716 \r\nC 760.549418 42.619118 759.459274 45.250959 759.459274 47.992272 \r\n\" style=\"fill:none;stroke:#ffffff;stroke-linejoin:miter;stroke-width:2;\"/>\r\n </g>\r\n <g id=\"patch_73\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 800.478801 103.783375 \r\nL 830.021951 103.783375 \r\nL 830.021951 74.240225 \r\nL 800.478801 74.240225 \r\nz\r\n\" style=\"stroke:#000000;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_74\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 825.590479 93.443272 \r\nC 825.590479 90.701959 824.500335 88.070118 822.561933 86.131716 \r\nC 820.623531 84.193314 817.99169 83.10317 815.250376 83.10317 \r\nC 812.509062 83.10317 809.877221 84.193314 807.93882 86.131716 \r\nC 806.000418 88.070118 804.910274 90.701959 804.910274 93.443272 \r\n\" style=\"fill:none;stroke:#ffffff;stroke-linejoin:miter;stroke-width:2;\"/>\r\n </g>\r\n <g id=\"patch_75\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 845.929801 149.234375 \r\nL 875.472951 149.234375 \r\nL 875.472951 119.691225 \r\nL 845.929801 119.691225 \r\nz\r\n\" style=\"stroke:#000000;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_76\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 871.041479 138.894272 \r\nC 871.041479 136.152959 869.951335 133.521118 868.012933 131.582716 \r\nC 866.074531 129.644314 863.44269 128.55417 860.701376 128.55417 \r\nC 857.960062 128.55417 855.328221 129.644314 853.38982 131.582716 \r\nC 851.451418 133.521118 850.361274 136.152959 850.361274 138.894272 \r\n\" style=\"fill:none;stroke:#ffffff;stroke-linejoin:miter;stroke-width:2;\"/>\r\n </g>\r\n <g id=\"patch_77\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 891.380801 194.685375 \r\nL 920.923951 194.685375 \r\nL 920.923951 165.142225 \r\nL 891.380801 165.142225 \r\nz\r\n\" style=\"stroke:#000000;stroke-linejoin:miter;stroke-width:1.5;\"/>\r\n </g>\r\n <g id=\"patch_78\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 916.492479 184.345272 \r\nC 916.492479 181.603959 915.402335 178.972118 913.463933 177.033716 \r\nC 911.525531 175.095314 908.89369 174.00517 906.152376 174.00517 \r\nC 903.411062 174.00517 900.779221 175.095314 898.84082 177.033716 \r\nC 896.902418 178.972118 895.812274 181.603959 895.812274 184.345272 \r\n\" style=\"fill:none;stroke:#ffffff;stroke-linejoin:miter;stroke-width:2;\"/>\r\n </g>\r\n <g id=\"line2d_19\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 769.799376 47.992272 \r\nL 780.139479 37.65217 \r\n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:square;stroke-width:2;\"/>\r\n </g>\r\n <g id=\"line2d_20\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 815.250376 93.443272 \r\nL 825.590479 83.10317 \r\n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:square;stroke-width:2;\"/>\r\n </g>\r\n <g id=\"line2d_21\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 860.701376 138.894272 \r\nL 871.041479 128.55417 \r\n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:square;stroke-width:2;\"/>\r\n </g>\r\n <g id=\"line2d_22\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 906.152376 184.345272 \r\nL 916.492479 174.00517 \r\n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:square;stroke-width:2;\"/>\r\n </g>\r\n <g id=\"line2d_23\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 178.936376 20.8353 \r\nL 178.936376 66.2863 \r\n\" style=\"fill:none;stroke:#000000;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\"/>\r\n </g>\r\n <g id=\"line2d_24\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 178.936376 66.2863 \r\nL 178.936376 111.7373 \r\n\" style=\"fill:none;stroke:#000000;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\"/>\r\n </g>\r\n <g id=\"line2d_25\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 178.936376 111.7373 \r\nL 178.936376 157.1883 \r\n\" style=\"fill:none;stroke:#000000;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\"/>\r\n </g>\r\n <g id=\"line2d_26\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 178.936376 157.1883 \r\nL 178.936376 202.6393 \r\n\" style=\"fill:none;stroke:#000000;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\"/>\r\n </g>\r\n <g id=\"line2d_27\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 178.936376 202.6393 \r\nL 178.936376 248.0903 \r\n\" style=\"fill:none;stroke:#000000;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\"/>\r\n </g>\r\n <g id=\"line2d_28\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 224.387376 20.8353 \r\nL 224.387376 66.2863 \r\n\" style=\"fill:none;stroke:#000000;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\"/>\r\n </g>\r\n <g id=\"line2d_29\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 224.387376 66.2863 \r\nL 224.387376 111.7373 \r\n\" style=\"fill:none;stroke:#000000;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\"/>\r\n </g>\r\n <g id=\"line2d_30\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 224.387376 111.7373 \r\nL 224.387376 157.1883 \r\n\" style=\"fill:none;stroke:#000000;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\"/>\r\n </g>\r\n <g id=\"line2d_31\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 224.387376 157.1883 \r\nL 224.387376 202.6393 \r\n\" style=\"fill:none;stroke:#000000;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\"/>\r\n </g>\r\n <g id=\"line2d_32\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 224.387376 202.6393 \r\nL 224.387376 248.0903 \r\n\" style=\"fill:none;stroke:#000000;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\"/>\r\n </g>\r\n <g id=\"line2d_33\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 315.289376 231.27343 \r\nL 315.289376 219.45617 \r\n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:square;stroke-width:2;\"/>\r\n </g>\r\n <g id=\"line2d_34\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 309.380746 225.3648 \r\nL 321.198006 225.3648 \r\n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:square;stroke-width:2;\"/>\r\n </g>\r\n <g id=\"line2d_35\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 406.191376 20.8353 \r\nL 406.191376 66.2863 \r\n\" style=\"fill:none;stroke:#000000;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\"/>\r\n </g>\r\n <g id=\"line2d_36\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 406.191376 66.2863 \r\nL 406.191376 111.7373 \r\n\" style=\"fill:none;stroke:#000000;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\"/>\r\n </g>\r\n <g id=\"line2d_37\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 406.191376 111.7373 \r\nL 406.191376 157.1883 \r\n\" style=\"fill:none;stroke:#000000;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\"/>\r\n </g>\r\n <g id=\"line2d_38\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 406.191376 157.1883 \r\nL 406.191376 202.6393 \r\n\" style=\"fill:none;stroke:#000000;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\"/>\r\n </g>\r\n <g id=\"line2d_39\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 406.191376 202.6393 \r\nL 406.191376 248.0903 \r\n\" style=\"fill:none;stroke:#000000;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\"/>\r\n </g>\r\n <g id=\"line2d_40\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 542.544376 231.27343 \r\nL 542.544376 219.45617 \r\n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:square;stroke-width:2;\"/>\r\n </g>\r\n <g id=\"line2d_41\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 536.635746 225.3648 \r\nL 548.453006 225.3648 \r\n\" style=\"fill:none;stroke:#ffffff;stroke-linecap:square;stroke-width:2;\"/>\r\n </g>\r\n <g id=\"line2d_42\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 678.897376 20.8353 \r\nL 678.897376 66.2863 \r\n\" style=\"fill:none;stroke:#000000;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\"/>\r\n </g>\r\n <g id=\"line2d_43\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 678.897376 66.2863 \r\nL 678.897376 111.7373 \r\n\" style=\"fill:none;stroke:#000000;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\"/>\r\n </g>\r\n <g id=\"line2d_44\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 678.897376 111.7373 \r\nL 678.897376 157.1883 \r\n\" style=\"fill:none;stroke:#000000;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\"/>\r\n </g>\r\n <g id=\"line2d_45\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 678.897376 157.1883 \r\nL 678.897376 202.6393 \r\n\" style=\"fill:none;stroke:#000000;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\"/>\r\n </g>\r\n <g id=\"line2d_46\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 678.897376 202.6393 \r\nL 678.897376 248.0903 \r\n\" style=\"fill:none;stroke:#000000;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\"/>\r\n </g>\r\n <g id=\"line2d_47\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 724.348376 20.8353 \r\nL 724.348376 66.2863 \r\n\" style=\"fill:none;stroke:#000000;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\"/>\r\n </g>\r\n <g id=\"line2d_48\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 724.348376 66.2863 \r\nL 724.348376 111.7373 \r\n\" style=\"fill:none;stroke:#000000;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\"/>\r\n </g>\r\n <g id=\"line2d_49\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 724.348376 111.7373 \r\nL 724.348376 157.1883 \r\n\" style=\"fill:none;stroke:#000000;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\"/>\r\n </g>\r\n <g id=\"line2d_50\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 724.348376 157.1883 \r\nL 724.348376 202.6393 \r\n\" style=\"fill:none;stroke:#000000;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\"/>\r\n </g>\r\n <g id=\"line2d_51\">\r\n <path clip-path=\"url(#p76baac3063)\" d=\"M 724.348376 202.6393 \r\nL 724.348376 248.0903 \r\n\" style=\"fill:none;stroke:#000000;stroke-dasharray:3.7,1.6;stroke-dashoffset:0;\"/>\r\n </g>\r\n <g id=\"text_1\">\r\n <g clip-path=\"url(#p76baac3063)\">\r\n <!-- H -->\r\n <g transform=\"translate(83.146173 47.147987)scale(0.13 -0.13)\">\r\n <defs>\r\n <path d=\"M 9.8125 72.90625 \r\nL 19.671875 72.90625 \r\nL 19.671875 43.015625 \r\nL 55.515625 43.015625 \r\nL 55.515625 72.90625 \r\nL 65.375 72.90625 \r\nL 65.375 0 \r\nL 55.515625 0 \r\nL 55.515625 34.71875 \r\nL 19.671875 34.71875 \r\nL 19.671875 0 \r\nL 9.8125 0 \r\nz\r\n\" id=\"DejaVuSans-72\"/>\r\n </defs>\r\n <use xlink:href=\"#DejaVuSans-72\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_2\">\r\n <g clip-path=\"url(#p76baac3063)\">\r\n <!-- H -->\r\n <g transform=\"translate(83.146173 92.598987)scale(0.13 -0.13)\">\r\n <use xlink:href=\"#DejaVuSans-72\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_3\">\r\n <g clip-path=\"url(#p76baac3063)\">\r\n <!-- H -->\r\n <g transform=\"translate(83.146173 138.049987)scale(0.13 -0.13)\">\r\n <use xlink:href=\"#DejaVuSans-72\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_4\">\r\n <g clip-path=\"url(#p76baac3063)\">\r\n <!-- H -->\r\n <g transform=\"translate(83.146173 183.500987)scale(0.13 -0.13)\">\r\n <use xlink:href=\"#DejaVuSans-72\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_5\">\r\n <g clip-path=\"url(#p76baac3063)\">\r\n <!-- X -->\r\n <g transform=\"translate(83.581876 228.951987)scale(0.13 -0.13)\">\r\n <defs>\r\n <path d=\"M 6.296875 72.90625 \r\nL 16.890625 72.90625 \r\nL 35.015625 45.796875 \r\nL 53.21875 72.90625 \r\nL 63.8125 72.90625 \r\nL 40.375 37.890625 \r\nL 65.375 0 \r\nL 54.78125 0 \r\nL 34.28125 31 \r\nL 13.625 0 \r\nL 2.984375 0 \r\nL 29 38.921875 \r\nz\r\n\" id=\"DejaVuSans-88\"/>\r\n </defs>\r\n <use xlink:href=\"#DejaVuSans-88\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_6\">\r\n <g clip-path=\"url(#p76baac3063)\">\r\n <!-- H -->\r\n <g transform=\"translate(128.597173 228.951987)scale(0.13 -0.13)\">\r\n <use xlink:href=\"#DejaVuSans-72\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_7\">\r\n <g clip-path=\"url(#p76baac3063)\">\r\n <!-- X -->\r\n <g transform=\"translate(265.385876 47.147987)scale(0.13 -0.13)\">\r\n <use xlink:href=\"#DejaVuSans-88\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_8\">\r\n <g clip-path=\"url(#p76baac3063)\">\r\n <!-- X -->\r\n <g transform=\"translate(265.385876 92.598987)scale(0.13 -0.13)\">\r\n <use xlink:href=\"#DejaVuSans-88\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_9\">\r\n <g clip-path=\"url(#p76baac3063)\">\r\n <!-- X -->\r\n <g transform=\"translate(265.385876 138.049987)scale(0.13 -0.13)\">\r\n <use xlink:href=\"#DejaVuSans-88\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_10\">\r\n <g clip-path=\"url(#p76baac3063)\">\r\n <!-- X -->\r\n <g transform=\"translate(265.385876 183.500987)scale(0.13 -0.13)\">\r\n <use xlink:href=\"#DejaVuSans-88\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_11\">\r\n <g clip-path=\"url(#p76baac3063)\">\r\n <!-- X -->\r\n <g transform=\"translate(356.287876 47.147987)scale(0.13 -0.13)\">\r\n <use xlink:href=\"#DejaVuSans-88\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_12\">\r\n <g clip-path=\"url(#p76baac3063)\">\r\n <!-- X -->\r\n <g transform=\"translate(356.287876 92.598987)scale(0.13 -0.13)\">\r\n <use xlink:href=\"#DejaVuSans-88\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_13\">\r\n <g clip-path=\"url(#p76baac3063)\">\r\n <!-- X -->\r\n <g transform=\"translate(356.287876 138.049987)scale(0.13 -0.13)\">\r\n <use xlink:href=\"#DejaVuSans-88\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_14\">\r\n <g clip-path=\"url(#p76baac3063)\">\r\n <!-- X -->\r\n <g transform=\"translate(356.287876 183.500987)scale(0.13 -0.13)\">\r\n <use xlink:href=\"#DejaVuSans-88\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_15\">\r\n <g clip-path=\"url(#p76baac3063)\">\r\n <!-- H -->\r\n <g transform=\"translate(446.754173 47.147987)scale(0.13 -0.13)\">\r\n <use xlink:href=\"#DejaVuSans-72\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_16\">\r\n <g clip-path=\"url(#p76baac3063)\">\r\n <!-- H -->\r\n <g transform=\"translate(446.754173 92.598987)scale(0.13 -0.13)\">\r\n <use xlink:href=\"#DejaVuSans-72\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_17\">\r\n <g clip-path=\"url(#p76baac3063)\">\r\n <!-- H -->\r\n <g transform=\"translate(446.754173 138.049987)scale(0.13 -0.13)\">\r\n <use xlink:href=\"#DejaVuSans-72\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_18\">\r\n <g clip-path=\"url(#p76baac3063)\">\r\n <!-- H -->\r\n <g transform=\"translate(446.754173 183.500987)scale(0.13 -0.13)\">\r\n <use xlink:href=\"#DejaVuSans-72\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_19\">\r\n <g clip-path=\"url(#p76baac3063)\">\r\n <!-- X -->\r\n <g transform=\"translate(492.640876 47.147987)scale(0.13 -0.13)\">\r\n <use xlink:href=\"#DejaVuSans-88\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_20\">\r\n <g clip-path=\"url(#p76baac3063)\">\r\n <!-- X -->\r\n <g transform=\"translate(492.640876 92.598987)scale(0.13 -0.13)\">\r\n <use xlink:href=\"#DejaVuSans-88\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_21\">\r\n <g clip-path=\"url(#p76baac3063)\">\r\n <!-- X -->\r\n <g transform=\"translate(492.640876 138.049987)scale(0.13 -0.13)\">\r\n <use xlink:href=\"#DejaVuSans-88\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_22\">\r\n <g clip-path=\"url(#p76baac3063)\">\r\n <!-- X -->\r\n <g transform=\"translate(492.640876 183.500987)scale(0.13 -0.13)\">\r\n <use xlink:href=\"#DejaVuSans-88\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_23\">\r\n <g clip-path=\"url(#p76baac3063)\">\r\n <!-- X -->\r\n <g transform=\"translate(583.542876 47.147987)scale(0.13 -0.13)\">\r\n <use xlink:href=\"#DejaVuSans-88\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_24\">\r\n <g clip-path=\"url(#p76baac3063)\">\r\n <!-- X -->\r\n <g transform=\"translate(583.542876 92.598987)scale(0.13 -0.13)\">\r\n <use xlink:href=\"#DejaVuSans-88\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_25\">\r\n <g clip-path=\"url(#p76baac3063)\">\r\n <!-- X -->\r\n <g transform=\"translate(583.542876 138.049987)scale(0.13 -0.13)\">\r\n <use xlink:href=\"#DejaVuSans-88\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_26\">\r\n <g clip-path=\"url(#p76baac3063)\">\r\n <!-- X -->\r\n <g transform=\"translate(583.542876 183.500987)scale(0.13 -0.13)\">\r\n <use xlink:href=\"#DejaVuSans-88\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_27\">\r\n <g clip-path=\"url(#p76baac3063)\">\r\n <!-- H -->\r\n <g transform=\"translate(628.558173 47.147987)scale(0.13 -0.13)\">\r\n <use xlink:href=\"#DejaVuSans-72\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_28\">\r\n <g clip-path=\"url(#p76baac3063)\">\r\n <!-- H -->\r\n <g transform=\"translate(628.558173 92.598987)scale(0.13 -0.13)\">\r\n <use xlink:href=\"#DejaVuSans-72\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_29\">\r\n <g clip-path=\"url(#p76baac3063)\">\r\n <!-- H -->\r\n <g transform=\"translate(628.558173 138.049987)scale(0.13 -0.13)\">\r\n <use xlink:href=\"#DejaVuSans-72\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_30\">\r\n <g clip-path=\"url(#p76baac3063)\">\r\n <!-- H -->\r\n <g transform=\"translate(628.558173 183.500987)scale(0.13 -0.13)\">\r\n <use xlink:href=\"#DejaVuSans-72\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_31\">\r\n <g clip-path=\"url(#p76baac3063)\">\r\n <!-- 0 -->\r\n <g transform=\"translate(781.162126 264.107825)scale(0.104 -0.104)\">\r\n <defs>\r\n <path d=\"M 31.78125 66.40625 \r\nQ 24.171875 66.40625 20.328125 58.90625 \r\nQ 16.5 51.421875 16.5 36.375 \r\nQ 16.5 21.390625 20.328125 13.890625 \r\nQ 24.171875 6.390625 31.78125 6.390625 \r\nQ 39.453125 6.390625 43.28125 13.890625 \r\nQ 47.125 21.390625 47.125 36.375 \r\nQ 47.125 51.421875 43.28125 58.90625 \r\nQ 39.453125 66.40625 31.78125 66.40625 \r\nz\r\nM 31.78125 74.21875 \r\nQ 44.046875 74.21875 50.515625 64.515625 \r\nQ 56.984375 54.828125 56.984375 36.375 \r\nQ 56.984375 17.96875 50.515625 8.265625 \r\nQ 44.046875 -1.421875 31.78125 -1.421875 \r\nQ 19.53125 -1.421875 13.0625 8.265625 \r\nQ 6.59375 17.96875 6.59375 36.375 \r\nQ 6.59375 54.828125 13.0625 64.515625 \r\nQ 19.53125 74.21875 31.78125 74.21875 \r\nz\r\n\" id=\"DejaVuSans-48\"/>\r\n </defs>\r\n <use xlink:href=\"#DejaVuSans-48\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_32\">\r\n <g clip-path=\"url(#p76baac3063)\">\r\n <!-- 1 -->\r\n <g transform=\"translate(826.613126 264.107825)scale(0.104 -0.104)\">\r\n <defs>\r\n <path d=\"M 12.40625 8.296875 \r\nL 28.515625 8.296875 \r\nL 28.515625 63.921875 \r\nL 10.984375 60.40625 \r\nL 10.984375 69.390625 \r\nL 28.421875 72.90625 \r\nL 38.28125 72.90625 \r\nL 38.28125 8.296875 \r\nL 54.390625 8.296875 \r\nL 54.390625 0 \r\nL 12.40625 0 \r\nz\r\n\" id=\"DejaVuSans-49\"/>\r\n </defs>\r\n <use xlink:href=\"#DejaVuSans-49\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_33\">\r\n <g clip-path=\"url(#p76baac3063)\">\r\n <!-- 2 -->\r\n <g transform=\"translate(872.064126 264.107825)scale(0.104 -0.104)\">\r\n <defs>\r\n <path d=\"M 19.1875 8.296875 \r\nL 53.609375 8.296875 \r\nL 53.609375 0 \r\nL 7.328125 0 \r\nL 7.328125 8.296875 \r\nQ 12.9375 14.109375 22.625 23.890625 \r\nQ 32.328125 33.6875 34.8125 36.53125 \r\nQ 39.546875 41.84375 41.421875 45.53125 \r\nQ 43.3125 49.21875 43.3125 52.78125 \r\nQ 43.3125 58.59375 39.234375 62.25 \r\nQ 35.15625 65.921875 28.609375 65.921875 \r\nQ 23.96875 65.921875 18.8125 64.3125 \r\nQ 13.671875 62.703125 7.8125 59.421875 \r\nL 7.8125 69.390625 \r\nQ 13.765625 71.78125 18.9375 73 \r\nQ 24.125 74.21875 28.421875 74.21875 \r\nQ 39.75 74.21875 46.484375 68.546875 \r\nQ 53.21875 62.890625 53.21875 53.421875 \r\nQ 53.21875 48.921875 51.53125 44.890625 \r\nQ 49.859375 40.875 45.40625 35.40625 \r\nQ 44.1875 33.984375 37.640625 27.21875 \r\nQ 31.109375 20.453125 19.1875 8.296875 \r\nz\r\n\" id=\"DejaVuSans-50\"/>\r\n </defs>\r\n <use xlink:href=\"#DejaVuSans-50\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_34\">\r\n <g clip-path=\"url(#p76baac3063)\">\r\n <!-- 3 -->\r\n <g transform=\"translate(917.515126 264.107825)scale(0.104 -0.104)\">\r\n <defs>\r\n <path d=\"M 40.578125 39.3125 \r\nQ 47.65625 37.796875 51.625 33 \r\nQ 55.609375 28.21875 55.609375 21.1875 \r\nQ 55.609375 10.40625 48.1875 4.484375 \r\nQ 40.765625 -1.421875 27.09375 -1.421875 \r\nQ 22.515625 -1.421875 17.65625 -0.515625 \r\nQ 12.796875 0.390625 7.625 2.203125 \r\nL 7.625 11.71875 \r\nQ 11.71875 9.328125 16.59375 8.109375 \r\nQ 21.484375 6.890625 26.8125 6.890625 \r\nQ 36.078125 6.890625 40.9375 10.546875 \r\nQ 45.796875 14.203125 45.796875 21.1875 \r\nQ 45.796875 27.640625 41.28125 31.265625 \r\nQ 36.765625 34.90625 28.71875 34.90625 \r\nL 20.21875 34.90625 \r\nL 20.21875 43.015625 \r\nL 29.109375 43.015625 \r\nQ 36.375 43.015625 40.234375 45.921875 \r\nQ 44.09375 48.828125 44.09375 54.296875 \r\nQ 44.09375 59.90625 40.109375 62.90625 \r\nQ 36.140625 65.921875 28.71875 65.921875 \r\nQ 24.65625 65.921875 20.015625 65.03125 \r\nQ 15.375 64.15625 9.8125 62.3125 \r\nL 9.8125 71.09375 \r\nQ 15.4375 72.65625 20.34375 73.4375 \r\nQ 25.25 74.21875 29.59375 74.21875 \r\nQ 40.828125 74.21875 47.359375 69.109375 \r\nQ 53.90625 64.015625 53.90625 55.328125 \r\nQ 53.90625 49.265625 50.4375 45.09375 \r\nQ 46.96875 40.921875 40.578125 39.3125 \r\nz\r\n\" id=\"DejaVuSans-51\"/>\r\n </defs>\r\n <use xlink:href=\"#DejaVuSans-51\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_35\">\r\n <g clip-path=\"url(#p76baac3063)\">\r\n <!-- ${q}_{0}$ -->\r\n <g transform=\"translate(36.363136 48.011777)scale(0.1625 -0.1625)\">\r\n <defs>\r\n <path d=\"M 41.703125 8.203125 \r\nQ 38.09375 3.46875 33.171875 1.015625 \r\nQ 28.265625 -1.421875 22.3125 -1.421875 \r\nQ 14.015625 -1.421875 9.296875 4.171875 \r\nQ 4.59375 9.765625 4.59375 19.578125 \r\nQ 4.59375 27.484375 7.5 34.859375 \r\nQ 10.40625 42.234375 15.828125 48.09375 \r\nQ 19.34375 51.90625 23.90625 53.953125 \r\nQ 28.46875 56 33.5 56 \r\nQ 39.546875 56 43.453125 53.609375 \r\nQ 47.359375 51.21875 49.125 46.390625 \r\nL 50.6875 54.59375 \r\nL 59.71875 54.59375 \r\nL 45.125 -20.609375 \r\nL 36.078125 -20.609375 \r\nz\r\nM 13.921875 20.90625 \r\nQ 13.921875 13.671875 16.9375 9.890625 \r\nQ 19.96875 6.109375 25.6875 6.109375 \r\nQ 34.1875 6.109375 40.1875 14.234375 \r\nQ 46.1875 22.359375 46.1875 33.984375 \r\nQ 46.1875 41.015625 43.078125 44.75 \r\nQ 39.984375 48.484375 34.1875 48.484375 \r\nQ 29.9375 48.484375 26.3125 46.5 \r\nQ 22.703125 44.53125 20.015625 40.71875 \r\nQ 17.1875 36.71875 15.546875 31.34375 \r\nQ 13.921875 25.984375 13.921875 20.90625 \r\nz\r\n\" id=\"DejaVuSans-Oblique-113\"/>\r\n </defs>\r\n <use xlink:href=\"#DejaVuSans-Oblique-113\"/>\r\n <use transform=\"translate(63.476562 -16.40625)scale(0.7)\" xlink:href=\"#DejaVuSans-48\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_36\">\r\n <g clip-path=\"url(#p76baac3063)\">\r\n <!-- ${q}_{1}$ -->\r\n <g transform=\"translate(36.363136 93.462777)scale(0.1625 -0.1625)\">\r\n <use xlink:href=\"#DejaVuSans-Oblique-113\"/>\r\n <use transform=\"translate(63.476562 -16.40625)scale(0.7)\" xlink:href=\"#DejaVuSans-49\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_37\">\r\n <g clip-path=\"url(#p76baac3063)\">\r\n <!-- ${q}_{2}$ -->\r\n <g transform=\"translate(36.363136 138.913777)scale(0.1625 -0.1625)\">\r\n <use xlink:href=\"#DejaVuSans-Oblique-113\"/>\r\n <use transform=\"translate(63.476562 -16.40625)scale(0.7)\" xlink:href=\"#DejaVuSans-50\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_38\">\r\n <g clip-path=\"url(#p76baac3063)\">\r\n <!-- ${q}_{3}$ -->\r\n <g transform=\"translate(36.363136 184.364777)scale(0.1625 -0.1625)\">\r\n <use xlink:href=\"#DejaVuSans-Oblique-113\"/>\r\n <use transform=\"translate(63.476562 -16.40625)scale(0.7)\" xlink:href=\"#DejaVuSans-51\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_39\">\r\n <g clip-path=\"url(#p76baac3063)\">\r\n <!-- ${q}_{4}$ -->\r\n <g transform=\"translate(36.363136 229.815777)scale(0.1625 -0.1625)\">\r\n <defs>\r\n <path d=\"M 37.796875 64.3125 \r\nL 12.890625 25.390625 \r\nL 37.796875 25.390625 \r\nz\r\nM 35.203125 72.90625 \r\nL 47.609375 72.90625 \r\nL 47.609375 25.390625 \r\nL 58.015625 25.390625 \r\nL 58.015625 17.1875 \r\nL 47.609375 17.1875 \r\nL 47.609375 0 \r\nL 37.796875 0 \r\nL 37.796875 17.1875 \r\nL 4.890625 17.1875 \r\nL 4.890625 26.703125 \r\nz\r\n\" id=\"DejaVuSans-52\"/>\r\n </defs>\r\n <use xlink:href=\"#DejaVuSans-Oblique-113\"/>\r\n <use transform=\"translate(63.476562 -16.40625)scale(0.7)\" xlink:href=\"#DejaVuSans-52\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_40\">\r\n <g clip-path=\"url(#p76baac3063)\">\r\n <!-- 4 -->\r\n <g transform=\"translate(68.035936 264.107825)scale(0.104 -0.104)\">\r\n <use xlink:href=\"#DejaVuSans-52\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"text_41\">\r\n <g clip-path=\"url(#p76baac3063)\">\r\n <!-- c -->\r\n <g transform=\"translate(45.465675 275.299784)scale(0.1625 -0.1625)\">\r\n <defs>\r\n <path d=\"M 48.78125 52.59375 \r\nL 48.78125 44.1875 \r\nQ 44.96875 46.296875 41.140625 47.34375 \r\nQ 37.3125 48.390625 33.40625 48.390625 \r\nQ 24.65625 48.390625 19.8125 42.84375 \r\nQ 14.984375 37.3125 14.984375 27.296875 \r\nQ 14.984375 17.28125 19.8125 11.734375 \r\nQ 24.65625 6.203125 33.40625 6.203125 \r\nQ 37.3125 6.203125 41.140625 7.25 \r\nQ 44.96875 8.296875 48.78125 10.40625 \r\nL 48.78125 2.09375 \r\nQ 45.015625 0.34375 40.984375 -0.53125 \r\nQ 36.96875 -1.421875 32.421875 -1.421875 \r\nQ 20.0625 -1.421875 12.78125 6.34375 \r\nQ 5.515625 14.109375 5.515625 27.296875 \r\nQ 5.515625 40.671875 12.859375 48.328125 \r\nQ 20.21875 56 33.015625 56 \r\nQ 37.15625 56 41.109375 55.140625 \r\nQ 45.0625 54.296875 48.78125 52.59375 \r\nz\r\n\" id=\"DejaVuSans-99\"/>\r\n </defs>\r\n <use xlink:href=\"#DejaVuSans-99\"/>\r\n </g>\r\n </g>\r\n </g>\r\n </g>\r\n </g>\r\n <defs>\r\n <clipPath id=\"p76baac3063\">\r\n <rect height=\"290.8864\" width=\"928.950036\" x=\"7.2\" y=\"7.2\"/>\r\n </clipPath>\r\n </defs>\r\n</svg>\r\n",
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA68AAAExCAYAAACTa5TzAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAABJFUlEQVR4nO3deXhU9dn/8c/MJGGRyCIiyio7CSQBhIILCYoWXB4RIWiVIvIUZGkr1VaeB6tFKEVF4GcVqrZqEUsLQRR90LqRuC8goayCLEUQEQU1kTWZ+f2RsgSSnBlmknPuyft1XVwmJ2fO+eTrPd/MPefMOb5QKBQSAAAAAAAe5nc7AAAAAAAATmheAQAAAACeR/MKAAAAAPA8mlcAAAAAgOfRvAIAAAAAPI/mFQAAAADgeTSvAAAAAADPo3kFAAAAAHgezSsAAAAAwPNoXgEAAAAAnkfzCgAAAADwPJpXAAAAAIDn0bwCAAAAADyP5hUAAAAA4Hk0rwAAAAAAz6N5BQAAAAB4Hs0rAAAAAMDzaF4BAAAAAJ5H8woAAAAA8DyaVwAAAACA5yW4HQAIx4YNGxzXeeSRRzRu3LgK1+nQoUOsIoXFKbcXMwMVsfpcBOANFucQi5mBeMWRV8SNRx991O0IEbOYGXBCXQOIhsU5xGJmwCKaVwAAAACA59G8AgAAAAA8j+YVcSMnJ8ftCBGzmBlwQl0DiIbFOcRiZsAimlcAAAAAgOfRvCJuDBo0yO0IEbOYGXBCXQOIhsU5xGJmwCJulePgueXSzn3u7LtJfWngBe7sG/Htjk/XaVVBgSv7Tk9O1kPtU1zZtxsY66rj1nwdzVxNfVQdq2Ntsa5RdW6//Xbl5+e7su+MjAzNmjXLlX2j+qJ5dbBzn7T5K7dTALG1qqBAb+3b63aMaoGxrjoW52vqo+pYHWuLdY2qk5+fr7y8PLdjAFWG04YRN8aOHet2hIhZzAw4oa4BRMPiHGIxM2ARzSvixrhx49yOEDGLmQEn1DWAaFicQyxmBiyieUXc6N27t9sRImYxM+CEugYQDYtziMXMgEU0r4gbe/bscTtCxCxmBpxQ1wCiYXEOsZgZsIjmFQAAAADgeTSviBspKfZu+WAxM+CEugYQDYtziMXMgEXcKgdxY9GiRW5HiJjFzIAT6hpANCzOIVYyt2nTRr169VKXLl3UoEEDFRcXa+vWrVqxYoXeeecdFZRxL+TRo0erT58++slPfqKioiIXUgPHceQVceOee+5xO0LELGYGnFDXAKJhcQ7xeuYBAwYoNzdXmzZt0ty5czV+/HgNGzZMt956qyZPnqylS5dq586devTRR9WyZctjjxs9erRmz56twYMH64orrnDvFwD+w9PNazAY1PTp09W2bVvVrFlT6enpysvLU/v27TVy5Ei345UpZ0qWPnp+StjLETsLFy50O0LErGQOHTmiI7eNU/FjT5RaXrz4eR25eZhChYUuJavYge+kTXnSu09Ib82Wls+Xdq2TgsVuJyuf1bE+kZW6tjhfW62PokPS9k+kD/5a8lx8/ylp24fS4f1uJyuf1bG2WNcnszKHnMirmc855xwtXrxYixcvVmZmpgoKCrRo0SL97//+r4YPH66RI0dqxowZ+uCDD5ScnKwxY8Zo9erVGjNmzLHGVZJ+/vOfa+nSpS7/NoDHTxseMWKEnnvuOf32t79Vt27d9N577+nGG2/Unj179Ktf/crteEC14UtMVMKEX6vo57fL16O7/F0yFNq6VcEn/6rA7++Tr04dtyOe4put0qrnSzeqhw9I3+6UdqySulwvJSS5Fq9cFscaVcdifRz4TlrxD+ng98eXHd4vffa2tH2F1HWwVOds9/KVx+JYAydq3bq13njjDbVo0ULfffed7rnnHj355JMqLOeNl5SUFN1zzz0aMmSIHn300WPLf/7zn+uRRx6pqthAhTx75HX+/Pl6+umntWTJEt15553q06ePJk6cqF69eqmoqEhdu3Z1OyJQrfhatpD/1mEqnj5Tob17VTTtQfmvvUb+tM5uRzvFge9ObVwlSaGS/3y3U1r/z6pOFT5LY42qZ6k+QiEp/znp4Kkfo5NU8obSykVS0KMfo7M01sCJzjrrLL3++utq0aKF3n//fXXq1EkPP/xwuY2rJK1bt0433HCDnnji+NkGb7zxBo0rPMWzzevUqVPVr18/ZWZmllrepk0bJSYmKi0tTZK0bds2ZWZmql27durcubPefvttN+LCA/Ly8tyOEDFrmf0DrpWveTMVjRorBQLyDxvqdqQy7fyX86nBuz8tfSTIa6yMdVms1bVFVupj77+lH77RsTeOThGSDhVKuzdWZarIWBnreGJxDvFa5kceeUQtW7bUhx9+qMsvv1w7duwI63GjR4/Wz372M0lS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FjMDJ+rTp48WLFigffv2adOmTXrjjTf02muvacWKFSosLNR7772n4cOHq1atWscek5iYqH/84x+aMWOG5syZUyU5Pd28BoNBTZ8+XW3btlXNmjWVnp6uvLw8tW/fXiNHjnQ7XplypmTpo+enhL0csbNw4UK3I0TMSubQkSM6cts4FT/2RKnlxYuf15GbhylUWOhSMmcFXx3/escqqeiQe1nCYXmsj7JS1xbna8v1cahQ+vfy498f+M69LOGwOtYW6/pkVuaQE1nMDEhS69atlZeXpzfffFODBw9W3bp19cUXX2jZsmV6/fXXtX79egUCAfXq1UtPPvmkNm/erKuvvvpY43rddddp7969mj17dpXk9XTzOmLECE2ePFmjRo3Syy+/rOzsbN14443asmWLunXr5nY8oNrwJSYqYcKvFXxpqYIr8yVJoa1bFXzyrwr85k756tRxN2AZDu+XViyQPpx7fNmG16S35kjbV7iXy4nFsUbVsVgfwaD06TLp7cekTbnHl7/7hLT2Zam4yLVoFbI41gAQieuuu07/+te/1Lt3b3311Ve699571aJFCzVp0kSXXnqpLr/8cqWkpKhu3boaNmyYPvnkE5177rl68cUXtX79+mONa9++fbVy5coqyezZ5nX+/Pl6+umntWTJEt15553q06ePJk6cqF69eqmoqEhdu3Z1OyJQrfhatpD/1mEqnj5Tob17VTTtQfmvvUb+tM5uRztF8RHpk4XSvu2n/ixYJG1cJu3Ir/JYYbM01qh61upj45vS5yskhU792a610tqlUqiMn3mBtbEGgHBde+21WrhwoWrXrq1nn31WHTp00H333aft20998VRYWKi5c+eqe/fuuuOOO1RcXKzWrVvr4MGDVdq4Sh5uXqdOnap+/fopMzOz1PI2bdooMTFRaWlpkqQBAwYoLS1NXbp0UY8ePfT666+7ERcekJeX53aEiFnL7B9wrXzNm6lo1FgpEJB/2FC3I5Vp9wap0OGWe5+9XdLkepWVsS6Ltbq2yEp97P/W+Y2irzZK339ZFWlOj5WxjicW5xCLmVF9NW/eXM8884wCgYB+//vf6+abb9a+ffscHxcIBHTxxRcrEAgoFAqpZs2a6tSpUxUkPq5qLgsVoR07dmjNmjUaP378KT/bvn27UlNTVaNGDUnS008/rXr16kmSVq5cqaysLO3du1eBQKAqI5fy0Qu/14ql00stO3KwUM079XUpUfWwdu1aNWrUyO0YEbGW2efzyZfWWaEVn8h/Q7Z8iYluRyrTztWSfCrzSM9RRYekPZulxh2qKlVkrIx1WSzVtdX52kp97FoTxko+6Ys1Ut1zKz3OabEy1ieyWtdHWZpDjrKYGdXX448/ruTkZOXk5Ojuu+8O6zEnf8Z11qxZuu+++/T//t//06uvvqrdu3dXcuoSnm1eJalx48allh84cEB5eXnq37//sWVHG1dJ+u677+Tz+RQK4/wjn88XVpbrJy5T045ZYa17VI9rJ6rHgNKFkDMlsm1IUl5ern5xRZ+IHxePynoj42QzZ850XG/mzJmxihSWcPK4kTnw4DT509Miflxo61YF//Z3+YcMVnDe3+S/5CL5IvxjnZubK1/3nhHvOxLz7/5cDes2dVzvF7f9WgvzpjuuF414G2svPxfdmq+jmavjrT5O9ushT+myLjcrECj/5UawuFiL//5PpVxxVaVmsTrWFuu6Il6eQ8pjMXNF7pr2mKSS18Infu11FnN7MXO3bt304x//WN9++63GjBkT1mNOblyPnip84YUXql+/frrttts0adKkUo/Jy8uL6HcNp3+TPHracMOGDSVJGzduLLX8gQce0K5du065WNPYsWPVqlUrXX/99Vq0aFGV3WcIqE5Ch4+UfN5r4AAFRgyX76JeKn5whkLBoNvRTlF44FsFQ865fjjozcudWhprVD1L9fHDge8cX7yEFOK5CABV5LbbbpMk/eUvf9GePQ6fsVL5jaskTZs2TZI0cuTIKjvr1ZNdXqtWrZSWlqapU6eqQYMGatKkiXJycrR06VJJOqV5ffTRRyWVdPjjx4/XW2+9pToOVwEMt7v/42vS5q+c16sMmZlZypni0atYVLENGzY4rjNz5kzHWyjNmDEjVpHC4pTbrcx9l3+ot/btjegxwSefki8hQf6hN0mSAmNuU9GosQouWqzA4OvD3k5WVpZer+Srs2x5X9rybsXr+PzS4jceV9IZj1dqlngbay8/F92ar6OZq+OtPk727U5p+fyK1wn4E/TL392o3z97Y6VmsTrWFuu6Il6eQ8pjMXNFJtxf8ncvFAqV+trrLOZ2O3NWVtYpn8e+7LLLJEnPPPOM4+Mralylkt5r+/btat68uTp06KC1a9ce+1lmZqZyc3Nj84ucwJNHXv1+vxYuXKjU1FSNHj1aw4cPV8OGDTV27FgFAoFjF2s6WWZmpvx+v9591+FVK+LSyacrWGAlc3BlvoJLX1Fgwm/k+8+ZDb7atRW4604F585TaOtWlxOW1iRNSqihks+9luO8zlLSGVUWKWzWxrosVuraImv1Ufe8kn/l8km1G0gNW1dZpLBZG+t4YnEOsZgZ1U/9+vV1/vnna//+/VqzpuKLEjg1rkd99NFHkk49uFhZPHnkVZLatWunZcuWlVo2dOhQpaSkqFatWpJKLtv8zTffqEWLFpJKLti0efNmdezYscrzHjXo7tyIliN2srOz3Y4QMSuZ/V0y5F/y3KnLO6XK/+JiFxJVrMYZUpdB0sqckgszHfOfizid3UZq79GPk1sb67JYqWuL87W1+vD5pPQBJc/Fgq90yoXUatWVulwv+T34Vrq1sT7KYl2fzMocciKLmVH9nHdeybuJ27ZtU3Fxcbnrhdu4StJnn31WatuVzbPNa1mWL1+unj2PX/Dghx9+0JAhQ1RYWKiEhATVrFlT8+bNU/PmzV1MCbd07NhR69evdztGRCxmtqLuudJFPyu5j+TG/7wPdk47qUm6VL9ZyYtqVA7qGidKqi11v0na81nJ8/HrLSXLU/tLjdpLFVzLCdWUxTnEYmZUP+vWrVNycrLj9YFq1KihRo0aOTaukjR58mT94Q9/0P79+2Mdt0xm/mQUFhZq48aNpa6Kdc455+iDDz5wMRUAL0usKTXvdrx57XyNu3mA6sofkM5pX/Lv9f9c4PvcVHczAUB1EwqFVFhY6LheYWGh+vfvrxYtWjieXlxVTetRZprXOnXqVHh4GwAAAAAQvYKCAsfG1Q0e/JQJcHqysrLcjhAxi5kBJ9Q1gGhYnEMsZgYsonlF3JgzZ47bESJmMTPghLoGEA2Lc4jFzIBFNK+IG6NHj3Y7QsQsZgacUNcAomFxDrGYGbCI5hVxozJuhFzZLGYGnFDXAKJhcQ6xmBmwiOYVAAAAAOB5NK8AAAAAAM+jeUXcsHhzcIuZASfUNYBoWJxDLGYGLDJzn1e3NKlfPfdt0YIFC5Sdne12jIi4lTk9ObnK9+mFfbuhOo61W3Xt1pwZzX6rY324xepYW6zraPH3HIiNjIyM03rclu27JEmtmp9b6uuq2LcTmlcHAy9wOwHCde+995r7w+FW5ofap1T5Pqur6jjWbtW1xfm6OtaHW6yOtcW6jhZ/z4HYmDVr1mk9bsL9j0uSpt01stTXXsBpwwAAAAAAz6N5BQAAAAB4Hs0r4sbs2bPdjhAxi5kBJ9Q1gGhYnEMsZgYsonlF3EhNTXU7QsQsZgacUNcAomFxDrGYGbCI5hVxIzMz0+0IEbOYGXBCXQOIhsU5xGJmwCKaVwAAAACA59G8Im50797d7QgRs5gZcEJdA4iGxTnEYmbAIppXxI2PP/7Y7QgRs5gZcEJdA4iGxTnEYmbAIppXAAAAAIDn0bwCAAAAADyP5hVxIycnx+0IEbOYGXBCXQOIhsU5xGJmwCKaVwAAAACA59G8Im4MGjTI7QgRs5gZcEJdA4iGxTnEYmbAogS3A3jdHZ+u06qCAlf2nZ6crIfap5zWY59bLu3cF+NAYWhSXxp4QdXvFwAAAEB8o3l1sKqgQG/t2+t2jIjt3Cdt/srtFAAAAAAQG5w2jLgxduxYtyNEzGJmwAl1DSAaFucQi5kBi2heETfGjRvndoSIWcwMOKGuAUTD4hxiMTNgEc0r4kbv3r3djhAxi5mtOVR4/Ovvd0vFRe5lqS6oa5Sl6JD03a7j3x856F4WeJvFOcRiZsAiPvOKuLFnzx63I0TMYmYLCr6SdqyS9nwmHf7h+PKPnpF8PqlOI+m8TtK5KVJCDfdyxivqGkcdKpR2rpa+XC/tP+nyEXmPSLXqSud0kJqklXwNSDbnEIuZAYtoXgHEjcP7pU/flHZvKH+dUEgq2C19ulva/I7Uro90bmpJUwsgNoLF0raPpK3vS6Fg+esd+E7a9mHJui26Sa0ukgKJVZcTAGALzSviRkrK6d1WyE0WM3vVd7uk/MXSkf3hP6bokLTuFenrLVLqlVKAGTEmqOvq7fD+kufi97uc1z0mJP17ufT1VqnL9VLNMystHgywOIdYzAxYxGdeETcWLVrkdoSIWczsRd9/KX2yMLLG9URfbZT+9ULJ0SJEj7quvo4ckFYsiLBxPcEP30jL/y4ddOf26vAIi3OIxcyARTSviBv33HOP2xEiZjGz1xQdlv61RCo+XP46fe8s+VeRb7aWnL6I6FHX1df616Qfvq54Hafn48HvpbVLS07xR/VkcQ6xmBmwyNPNazAY1PTp09W2bVvVrFlT6enpysvLU/v27TVy5Ei348FjFi5c6HaEiFnM7DWfvV3yYjcWtn4gFXLNjahR19XTVxtL/sXCvs+lnatisy3YY3EOsZgZsMjTzeuIESM0efJkjRo1Si+//LKys7N14403asuWLerWrZvb8coUOnJER24bp+LHnii1vHjx8zpy8zCFCgvLeaS7cqZk6aPnp4S9HPCCwz9IO/8Vu+2FgtK/P47d9oDqIhQqefMnlrZ9VPHFngAA1Y9nL08yf/58Pf3008rNzVVmZqYkqU+fPvrkk0/03HPPqWvXri4nLJsvMVEJE36top/fLl+P7vJ3yVBo61YFn/yrAr+/T746ddyOCMSNL9ZIoRh/TnX3p1LbPlJSrdhuF4hn339ZcouqWDr4fckFnM5uHdvtAgDs8uyR16lTp6pfv37HGtej2rRpo8TERKWlpZVa/vjjj8vn8yknJ6cqY5bJ17KF/LcOU/H0mQrt3auiaQ/Kf+018qd1djtaXMvLy3M7QsQsZvaSvdtjv81gsfTdzthvtzqhrqufynguVuZ24W0W5xCLmQGLPNm87tixQ2vWrNHgwYNP+dn27duVmpqqGjVqHFu2adMmPfXUU+rZs2dVxqyQf8C18jVvpqJRY6VAQP5hQ92OFPfWrl3rdoSIWczsFUfv11oZvv+ycrZbXVDX1U9BJT1nKmu78DaLc4jFzIBFnjxteMeOHZKkxo0bl1p+4MAB5eXlqX///seWFRUV6dZbb9WcOXN0++23h70Pn88X1nqBB6fJn57mvGIZ2/eldVZoxSfy35AtX2Lkd13Pzc2Vr/vpNeTXT1ymph2zInrMRy/8XiuWTi+17MjBQjXv1DfsbeTl5eoXV/SJaL/hGD9+vOM6M2fOdFxv5syZsYoUlnDyeC2zFUkJNfV/fzhQapnTFYXL+/nrpctes//fnzXjkp9FkS5+WX0uonI9PO59dWxR+u/V6TwfT34urv/XFnX/CecNxxOLc4jFzBW5a9pjkkpeq574tddZzG0xs+RO7lCYl5j3ZPPasGFDSdLGjRt15ZVXHlv+wAMPaNeuXaUu1jR58mT1799fGRkZVR2zQqGtWxX829/lHzJYwXl/k/+Si+Rr1MjtWBXqce1E9Rhwd6llOVOy3AkDOKjMSdTn8+RJKYB3Vdbz0cCLPABA1fFk89qqVSulpaVp6tSpatCggZo0aaKcnBwtXbpUko41rx9++KHefPNN5ebmRryPcLv7vss/1Fv79ka27cNHSj7nOnCAAsOHKbRvn4ofnKHA/VPl84f/ojgrK0uvn+aN7v74mrQ5xhfPCEdmZpZypsT+5nwbNmxwXGfmzJmOt1CaMWNGrCKFxSm3FzNbEQpJuQ9LxUeOLzv5qM1RR4/wlPfzk40ae6umL7g1uoBxyupzEZUr/znp6y2ll8Xi+dg+5fyw/17DBotziMXMFZlw/+OSSl4Ln/i111nMbTGz5O3cnjy84Pf7tXDhQqWmpmr06NEaPny4GjZsqLFjxyoQCBy7WNOyZcu0efNmtW7dWi1bttQHH3ygMWPG6KGHHnI1f/DJp+RLSJB/6E2SpMCY2xT6creCixa7miveTZo0ye0IEbOY2St8Pim5kk5mOPOcytludUFdVz/JlfScqaztwtssziEWMwMWefLIqyS1a9dOy5YtK7Vs6NChSklJUa1aJfewmDBhgiZMmHDs51lZWRo3bpwGDRpUpVlPFFyZr+DSV5Tw6MPyJZQMr692bQXuulPF/3O3/Bd0le/8813LF8+ys7PdjhAxi5m9pF5T6dtKuDJw3Sax32Z1Ql1XP/WbSlsrabuofizOIRYzAxZ58shreZYvX17q865e5O+SocQlz8nXrPRfXH+nVCW+uNizjeugu3NP+bxrRcu9qGPHjm5HiJjFzF5yXiXcfapha6lmcuy3W51Q19VP/eZSrXqx3WZiTenstrHdJmywOIdYzAxYZKZ5LSws1MaNG9W1a9dy18nNzXX1qCuAqlW7ntSoXWy32eKC2G4PqA58Pql5jN9bbtZVCnj2/DAAgBvM/FmoU6eOiouL3Y4BwGPaXyrt/bdUdCj6bTVJk+o3i347QHXUNEPavSE2p/KfcZbUskf02wEAxBczzSvgJCsry+0IEbOY2Wtq1JFSr5RWPS+pnAvhhXNV0zqNpLaZsUxWfVHX1ZPPJ6X2lz6eLx3+ofz1nJ6PCTWkTldLfl6hVFsW5xCLmQGLzJw2DDiZM2eO2xEiZjGzF53dWup8jXS6t2dNPkfqOqjkRTOiR11XX7XqSd2yS95UOh2JNaUug6Tks2MaC8ZYnEMsZgYsonlF3Bg9erTbESJmMbNXndNO+tHQCG9z4ys5NfGCG6Wk2pUWrdqhrqu3M86Seg6TGqdE9riGraWet0h1z62UWDDE4hxiMTNgESflIG7k5ua6HSFiFjN7WZ2zpQtukvZskj5fKX27o+z1AknSeakln9E746wqjVgtUNdIrCV1ulJqmi7tyJd2b5RCZVy2wueTGrYpeS42aF7yPWBxDrGYGbCI5hVAXPH7pXPal/wrOiR9v1s68K0UCpY0rcmNpDManP4pxgDCV69Jyb+UH0uFX5f8CxZJvoBU56ySN5wCiW6nBABYQfMKIG4l1Cg5mqPmbicBqjd/gnRm45J/AACcLo49IG6sX7/e7QgRs5gZcEJdA4iGxTnEYmbAIppXxI0FCxa4HSFiFjMDTqhrANGwOIdYzAxYxGnDDtKTk03uu0n9GAYxsF9Juvfee5Wdne1egNNgMTPghLoGEA2Lc4jFzIBFNK8OHmof4bX+PWLgBW4nAAAAAIDY4bRhAAAAAIDn0bwibsyePdvtCBGzmBlwQl0DiIbFOcRiZsAimlfEjdTUVLcjRMxiZsAJdQ0gGhbnEIuZAYtoXhE3MjMz3Y4QMYuZASfUNYBoWJxDLGYGLKJ5BQAAAAB4Hs0rAAAAAMDzuFUOTOjQoYPjOvfee29Y61UlpzxezAxUxOpzEYA3WJxDLGYG4hVHXhE3fve737kdIWIWMwNOqGsA0bA4h1jMDFhE8woAAAAA8DyaVwAAAACA59G8AgAAAAA8j+YVAAAAAOB5NK8AAAAAAM+jeQUAAAAAeB7Nq4OxY8cqIYHb4QIAAAC5ublKTU1VmzZt9N///d8qLi52O5KjX/7yl2ratKmp1/Sff/65LrvsMnXs2FGpqan6n//5H7cjheWKK65QRkaGOnfurEGDBun777+P6fZpXivw9ttvq7Cw0O0YAAAAgOuCwaD++7//WwsXLtRnn32m77//XvPmzXM7lqPBgwdr+fLlbseISEJCgu6//36tX79eK1eu1DvvvKMXXnjB7ViOFi5cqPz8fK1evVpNmzbVjBkzYrp9mtdyHDp0SBMmTND06dPdjgIAAAC47uOPP9Z5552nlJQUSdKIESO0aNEil1M5u/jii9W4cWO3Y0Tk3HPP1QUXXCBJSkpKUpcuXbR9+3aXUzmrW7eupJI3Og4ePCifzxfT7dO8luO+++7TiBEjdPbZZ7sdBQAAAHDdjh071KxZs2PfN2/eXJ9//rmLiaqHvXv36vnnn9fll1/udpSwXHfddWrUqJE+/fRT3XHHHTHdti8UCoViusU48K9//Uu/+tWv9Nprr8nn8ykhIUFFRUVuxwIAAAAiEgwGNX/Jm/p633eSpF1ffSNJOrfRWaW+PirzR+nKSGlT5rZycnK0ePFiPfvss5Kk9evX6yc/+YlWrlwZ89xrN23T6++sOPZ9RbnrnXmGbh5whQKBio/LVfZr+iNFRZq76FUV7j/gmFmSruzzI7Vt2bTCbR4+fFj9+vXTVVddFfNG8KiPVm3Q+5+sPfZ9Rbkbn91A2VdlOR5RPXz4sEaMGKHLLrtMt9xyS8yycuS1DO+++67WrVun888/Xy1btlRxcbFatmwZ8w8cAwAAAJXJ7/frku6d9eWevccaEUmnfL3rq2+UEAioc4dW5W6rWbNmpY60bt++XU2bVtx8na6ObVqoVs2kY9kqyn3RBZ0dG9eqkJiQoF7dUsPKXO/MM9SmRZMKt1dcXKyf/OQnysjIqLTGVZK6pLZRMBh0zP3VN/vUu0daWKcCJyUl6YYbbtDixYtjmtX9/8seNHr0aH3xxRfatm2btm3bpkAgoG3btunMM890OxoAAAAQkeZNzlGfXl0qXCcxIaDsq7MU8JffHlxwwQXasWOH1q1bJ0n6y1/+ooEDB8Y061F+n0+Dr8xSjaTECte7+ILOjk1gVUpp00Ld0zpUuM4ZtWpqYL/ejk3gyJEjlZycrIceeiiWEU+RmJCgIddcWuH/e0m64pLupY4cn6ygoEC7du2SVHLEf8mSJUpNTY1pVppXAAAAIM5ddmFXNWncsNyfX3VpL53doF6F2wgEAvrzn/+sQYMGqXXr1qpTp46GDh0a46TH1a+brP+6/KJyf97orPr6cWZ3x+2MGjVKTZs2VXFxsZo2baqxY8fGMuYprr60pxrUTS7359f1u0TJZ9SucBvvvvuunnzySS1fvlxdunRRRkaGHn744VhHPea8Rmfp8ksuKPfnLZs21iXdO1e4jYKCAv3Xf/2X0tLSlJaWpqKiIt19990xzclnXiMUCoViftUsAAAAoLJ99fU+PfzX51RUVPrerO3Ob6bhg/t58jVuKBTSs8+/rjUbt5ZaHvD7NeanA9TknPIbcjdt2/GlHvvbizq51erWqZ0GX5XlTigHwWBQj89/Sdt2fFlqeY2kRP3y1kEVNuRVhSOvEcr7cJWeff41FRm4ITMAAABwVKOG9dU/80elltWuWUOD+jufwuoWn8+n6358ieqcUavU8r4Xd/Ns4yqVHKnM/FF6qWX1zqyja/pe6FIiZ36/X9lXZSnppFO1r7nsQk80rlIcNK+rV6/W9ddfr4YNG6pmzZpq27atJk6cWCn7OnTosN76cJUOHylSQiBQKfsAAAAAKkuvbqmlPiM64MeX6MzkM1xM5OyM2jU1qH/mse9bNDlHvU9qDL2o78Xdjn1G1Ccp++o+qlkjyd1QDhrUO1PXXNbr2PcpbVuqW+d2LiYqzXTzumLFCvXs2VNr167Vgw8+qKVLl2rChAn68ssvnR98Gt77ZK32Hzykvhd1q5TtAwAAAJWp5EJImapZI0kZKW2UVsHVhb2kQ+vm+lFGRyUlJij7qj6OFxfygoRAQEOu7qNAwK9LeqSpVbNz3Y4Ulgs6t1fHNi1Up3YtDex3iaeOypv+zGtWVpbWrVunTZs2qW7duhE9dsL9j1dSKgAAAABAuKbdNTKs9bz/lkU59u/fr7fffls33nhjxI0rAAAAAMCWBLcDnK59+/YpGAye9o2Rw+3upZLPut7/p/lqdl4jDR/c/7T2BwAAAAA4fWab1/r168vv92vnzp2n9fjTOW340y2fc7oxAAAAAMRQ3J82XLt2bfXu3Vvz58/X999/73YcAAAAAEAlMn3BphUrVqh3795q0aKFfvOb36hFixbavn273n77bf35z3+OyT6Wvb9S/3zrY40dOkDNzmsUk20CAAAAACJj9rRhSerWrZvef/99/fa3v9X48eN18OBBNWvWTDfccENMtn/o0GG9/dG/1L5VMxpXAAAAAHCR6SOvlW3XV99o3vOv6YarL6V5BQAAAAAX0bw6CAaD8hu4CTIAAAAAxDOaVwAAAACA53FIEQAAAADgeTSvAAAAAADPo3kFAAAAAHgezSsAAAAAwPNoXgEAAAAAnkfzCgAAAADwPJpXAAAAAIDn0bwCAAAAADyP5hUAAAAA4Hk0rwAAAAAAz6N5BQAAAAB4Hs0rAAAAAMDzaF4BAAAAAJ5H8woAAAAA8DyaVwAAAACA59G8AgAAAAA8j+YVAAAAAOB5NK8AAAAAAM+jeQUAAAAAeB7NKwAAAADA82heAQAAAACeR/MKAAAAAPA8mlcAAAAAgOfRvAIAAAAAPI/mFQAAAADgeTSvAAAAAADPo3kFAAAAAHje/we491QuZTfsugAAAABJRU5ErkJggg==\n"
},
"metadata": {},
"execution_count": 8
}
],
"source": [
"for i in range(n):\n",
" circuit.measure(i,i) #measure all Query qubits\n",
" \n",
"circuit.draw('mpl')"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"simulator = qiskit.Aer.get_backend('qasm_simulator') #access Aer Simulator\n",
"job = qiskit.execute(circuit,simulator,shots=1024) #run circuit 1024 times, to get probability distribution"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Correct!\nThe hidden bit string was 0000\n..and we measured 0000\n"
]
}
],
"source": [
"result = job.result()\n",
"measurements = result.get_counts() #returns dictionary, with output string as keys \n",
" #and count as the respective value\n",
"\n",
"#get the result which occurred the most\n",
"measurement = max(measurements, key=measurements.get)\n",
"\n",
"measurement = measurement[::-1] #flip result\n",
"\n",
"if measurement == hidden_bits: #confirm the algorithm works\n",
" print('Correct!')\n",
" print('The hidden bit string was',str(hidden_bits))\n",
" print('..and we measured',str(measurement))\n",
"\n",
"else:\n",
" print('Not quite right. Try checking over your program')"
]
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment