summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRohan Raj Gupta <78433013+rohan09-raj@users.noreply.github.com>2022-08-20 09:34:57 +0530
committerGitHub <noreply@github.com>2022-08-20 09:34:57 +0530
commit8eed2904d141d7c0b530cb0551364a0b226cf65a (patch)
tree1ce1fa3561dc6935f4f3aab521773145cdd3f7ec
parentf47c3f4349cb68460dadf1fc381e3ceb52fe009a (diff)
parent856728cfae03da554d4db91b0635a53f1c9f915c (diff)
Merge pull request #9 from Blaster4385/develop
ok
-rw-r--r--client/public/assets/images/agreement.svg13
-rw-r--r--client/public/assets/images/back_inverse.svg4
-rw-r--r--client/public/assets/images/next_inverse.svg5
-rw-r--r--client/public/assets/images/slip.svg13
-rw-r--r--client/src/components/Card/CardAgreement.jsx2
-rw-r--r--client/src/components/Card/CardAgreement.module.css2
-rw-r--r--client/src/pages/Enrollment/Agreement/Agreement.jsx1
-rw-r--r--client/src/pages/Enrollment/DocumentScanner/DocumentScanner.jsx175
-rw-r--r--client/src/pages/Enrollment/DocumentScanner/DocumentScanner.module.css40
-rw-r--r--client/src/pages/Enrollment/Enrollment.jsx18
-rw-r--r--client/src/services/apiservice.js5
-rw-r--r--server/controllers/message.js29
-rw-r--r--server/controllers/otp.js17
-rw-r--r--server/index.js4
-rw-r--r--server/routes/message.js9
-rw-r--r--server/routes/otp.js8
-rw-r--r--server/services/twilio.js4
17 files changed, 202 insertions, 147 deletions
diff --git a/client/public/assets/images/agreement.svg b/client/public/assets/images/agreement.svg
index abd76a6..0b15196 100644
--- a/client/public/assets/images/agreement.svg
+++ b/client/public/assets/images/agreement.svg
@@ -1,9 +1,4 @@
-<svg width="203" height="209" viewBox="0 0 203 209" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<rect width="203" height="209" fill="url(#pattern0)"/>
-<defs>
-<pattern id="pattern0" patternContentUnits="objectBoundingBox" width="1" height="1">
-<use xlink:href="#image0_63_7" transform="translate(-0.0147783) scale(0.00457581 0.00444444)"/>
-</pattern>
-<image id="image0_63_7" width="225" height="225" xlink:href="data:image/png;base64,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"/>
-</defs>
-</svg>
+<svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
+width="200" height="200"
+viewBox="0 0 100 100"
+style=" fill:#000000;"><circle cx="77" cy="13" r="1" fill="#f1bc19"></circle><circle cx="50" cy="50" r="37" fill="#000000"></circle><circle cx="83" cy="15" r="4" fill="#f1bc19"></circle><circle cx="87" cy="24" r="2" fill="#88ae45"></circle><circle cx="81" cy="76" r="2" fill="#fbcd59"></circle><circle cx="15" cy="63" r="4" fill="#fbcd59"></circle><circle cx="25" cy="87" r="2" fill="#88ae45"></circle><circle cx="18.5" cy="51.5" r="2.5" fill="#fff"></circle><circle cx="79.5" cy="33.5" r="1.5" fill="#fff"></circle><path fill="#edf7f5" d="M36.013,75.3c-2.929,0-5.313-2.265-5.313-5.048V29.748c0-2.783,2.383-5.048,5.313-5.048h21.765 L71.3,37.627v32.625c0,2.783-2.383,5.048-5.313,5.048H36.013z"></path><path fill="#472b29" d="M57.497,25.4l6.517,6.23l6.586,6.296v32.326c0,2.397-2.069,4.348-4.613,4.348H36.013 c-2.543,0-4.613-1.951-4.613-4.348V29.748c0-2.397,2.069-4.348,4.613-4.348h0.873h8.262H57.497 M58.059,24H45.148h-8.262h-0.873 C32.705,24,30,26.586,30,29.748v40.504C30,73.413,32.705,76,36.013,76h29.975C69.295,76,72,73.414,72,70.252V37.328 C66.578,32.145,63.481,29.183,58.059,24L58.059,24z"></path><path fill="#85cfcc" d="M57.5,25.208v7.994c0,2.914,2.396,5.298,5.325,5.298H71"></path><path fill="#472b29" d="M71,39h-8.175C59.613,39,57,36.399,57,33.202v-7.994h1v7.994C58,35.848,60.165,38,62.825,38H71V39z"></path><path fill="#472b29" d="M55.5,28.75H41.75c-0.138,0-0.25-0.112-0.25-0.25s0.112-0.25,0.25-0.25H55.5 c0.138,0,0.25,0.112,0.25,0.25S55.638,28.75,55.5,28.75z"></path><path fill="#472b29" d="M64.693,71.75H37.307c-1.686,0-3.057-1.362-3.057-3.035v-37.43c0-1.674,1.371-3.035,3.057-3.035 H39.5c0.138,0,0.25,0.112,0.25,0.25s-0.112,0.25-0.25,0.25h-2.193c-1.41,0-2.557,1.137-2.557,2.535v37.43 c0,1.398,1.147,2.535,2.557,2.535h27.387c1.41,0,2.557-1.137,2.557-2.535V57.5c0-0.138,0.112-0.25,0.25-0.25s0.25,0.112,0.25,0.25 v11.215C67.75,70.388,66.379,71.75,64.693,71.75z"></path><path fill="#472b29" d="M67.5,54.75c-0.138,0-0.25-0.112-0.25-0.25v-5c0-0.138,0.112-0.25,0.25-0.25s0.25,0.112,0.25,0.25v5 C67.75,54.638,67.638,54.75,67.5,54.75z"></path><g><path fill="#472b29" d="M67.5,48.333c-0.138,0-0.25-0.112-0.25-0.25v-2.25c0-0.138,0.112-0.25,0.25-0.25 s0.25,0.112,0.25,0.25v2.25C67.75,48.221,67.638,48.333,67.5,48.333z"></path></g><g><path fill="#472b29" d="M62.5,42.75h-23c-0.138,0-0.25-0.112-0.25-0.25s0.112-0.25,0.25-0.25h23 c0.138,0,0.25,0.112,0.25,0.25S62.638,42.75,62.5,42.75z"></path></g><g><path fill="#472b29" d="M47.5,45.75h-8c-0.138,0-0.25-0.112-0.25-0.25s0.112-0.25,0.25-0.25h8c0.138,0,0.25,0.112,0.25,0.25 S47.638,45.75,47.5,45.75z"></path></g><g><path fill="#472b29" d="M51.5,48.75h-12c-0.138,0-0.25-0.112-0.25-0.25s0.112-0.25,0.25-0.25h12 c0.138,0,0.25,0.112,0.25,0.25S51.638,48.75,51.5,48.75z"></path></g><g><path fill="#472b29" d="M62.5,48.75h-8c-0.138,0-0.25-0.112-0.25-0.25s0.112-0.25,0.25-0.25h8c0.138,0,0.25,0.112,0.25,0.25 S62.638,48.75,62.5,48.75z"></path></g><g><path fill="#472b29" d="M62.5,45.75h-13c-0.138,0-0.25-0.112-0.25-0.25s0.112-0.25,0.25-0.25h13 c0.138,0,0.25,0.112,0.25,0.25S62.638,45.75,62.5,45.75z"></path></g><g><path fill="#472b29" d="M62.5,51.75h-23c-0.138,0-0.25-0.112-0.25-0.25s0.112-0.25,0.25-0.25h23 c0.138,0,0.25,0.112,0.25,0.25S62.638,51.75,62.5,51.75z"></path></g><g><path fill="#472b29" d="M47.5,54.75h-8c-0.138,0-0.25-0.112-0.25-0.25s0.112-0.25,0.25-0.25h8c0.138,0,0.25,0.112,0.25,0.25 S47.638,54.75,47.5,54.75z"></path></g><g><path fill="#472b29" d="M62.5,54.75h-13c-0.138,0-0.25-0.112-0.25-0.25s0.112-0.25,0.25-0.25h13 c0.138,0,0.25,0.112,0.25,0.25S62.638,54.75,62.5,54.75z"></path></g><g><path fill="#472b29" d="M44.159,68.642c-0.176,0-0.347-0.094-0.438-0.259c-0.133-0.242-0.045-0.546,0.197-0.679 c1.039-0.572,1.986-1.293,2.818-2.128c-0.478-2.956,0.251-6.033,2.007-8.459c0.626-0.864,1.446-1.177,2.086-0.796 c0.492,0.292,0.694,0.866,0.602,1.708c-0.317,2.928-1.626,5.705-3.611,7.86c0.123,0.465,0.341,0.928,0.729,1.061 c0.308,0.104,0.728-0.007,1.246-0.328c0.564-0.35,1.074-0.79,1.511-1.295c-0.011-0.173-0.004-0.358,0.021-0.552 c0.174-1.325,0.806-2.557,1.779-3.47c0.152-0.144,0.378-0.176,0.565-0.083c0.187,0.094,0.296,0.294,0.273,0.501 c-0.152,1.393-0.714,2.744-1.568,3.867c0.032,0.074,0.077,0.128,0.134,0.154c0.111,0.051,0.316,0.008,0.604-0.124 c1.59-0.729,2.872-2.154,3.431-3.811c0.082-0.246,0.337-0.388,0.593-0.326c0.253,0.062,0.416,0.308,0.375,0.564l-0.026,0.162 c-0.21,1.27-0.206,2.011,0.013,2.201c0.05,0.044,0.185,0.039,0.353-0.013c0.649-0.2,0.91-1.24,1.211-2.444l0.075-0.298 c0.062-0.243,0.288-0.404,0.546-0.374c0.25,0.031,0.438,0.243,0.438,0.495c0.002,0.673,0.225,1.319,0.408,1.406 c0.051,0.021,0.196-0.025,0.401-0.194c0.229-0.188,0.5-0.784,0.661-1.139l0.113-0.247c0.068-0.143,0.199-0.245,0.354-0.276 c0.156-0.031,0.315,0.014,0.433,0.119c0.124,0.112,0.319,0.163,0.52,0.133c0.202-0.029,0.375-0.132,0.463-0.275 c0.144-0.236,0.451-0.308,0.688-0.164c0.235,0.145,0.309,0.452,0.164,0.688c-0.245,0.399-0.672,0.669-1.172,0.741 c-0.263,0.038-0.527,0.017-0.765-0.058c-0.216,0.462-0.479,0.967-0.824,1.252c-0.65,0.533-1.154,0.471-1.463,0.326 c-0.201-0.095-0.361-0.245-0.488-0.424c-0.293,0.811-0.706,1.454-1.469,1.689c-0.67,0.205-1.078,0.01-1.306-0.189 c-0.26-0.227-0.4-0.555-0.464-0.94c-0.745,0.985-1.73,1.794-2.846,2.306c-0.363,0.167-0.908,0.361-1.428,0.128 c-0.156-0.069-0.291-0.167-0.403-0.29c-0.416,0.421-0.879,0.793-1.38,1.104c-0.796,0.493-1.48,0.632-2.094,0.425 c-0.391-0.133-0.867-0.456-1.193-1.22c-0.796,0.736-1.68,1.379-2.634,1.905C44.323,68.622,44.241,68.642,44.159,68.642z M50.246,57.163c-0.17,0-0.462,0.222-0.693,0.54c-1.415,1.955-2.108,4.469-1.928,6.884c1.539-1.897,2.546-4.225,2.811-6.667 c0.051-0.464-0.028-0.686-0.118-0.74C50.298,57.169,50.274,57.163,50.246,57.163z"></path></g></svg> \ No newline at end of file
diff --git a/client/public/assets/images/back_inverse.svg b/client/public/assets/images/back_inverse.svg
new file mode 100644
index 0000000..bf136de
--- /dev/null
+++ b/client/public/assets/images/back_inverse.svg
@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
+width="208" height="208"
+viewBox="0 0 26 26"
+style=" fill:#000000;"><path d="M 10.59375 13 L 19.179688 4.234375 C 19.5625 3.84375 19.558594 3.21875 19.171875 2.828125 L 17.636719 1.292969 C 17.242188 0.902344 16.609375 0.902344 16.21875 1.296875 L 5.292969 12.292969 C 5.097656 12.488281 5 12.742188 5 13 C 5 13.257813 5.097656 13.511719 5.292969 13.707031 L 16.21875 24.703125 C 16.609375 25.097656 17.242188 25.097656 17.636719 24.707031 L 19.171875 23.171875 C 19.558594 22.78125 19.5625 22.15625 19.179688 21.765625 Z"></path></svg> \ No newline at end of file
diff --git a/client/public/assets/images/next_inverse.svg b/client/public/assets/images/next_inverse.svg
new file mode 100644
index 0000000..bc69c5d
--- /dev/null
+++ b/client/public/assets/images/next_inverse.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
+width="208" height="208"
+viewBox="0 0 26 26"
+transform="rotate(180)"
+style=" fill:#000000;"><path d="M 10.59375 13 L 19.179688 4.234375 C 19.5625 3.84375 19.558594 3.21875 19.171875 2.828125 L 17.636719 1.292969 C 17.242188 0.902344 16.609375 0.902344 16.21875 1.296875 L 5.292969 12.292969 C 5.097656 12.488281 5 12.742188 5 13 C 5 13.257813 5.097656 13.511719 5.292969 13.707031 L 16.21875 24.703125 C 16.609375 25.097656 17.242188 25.097656 17.636719 24.707031 L 19.171875 23.171875 C 19.558594 22.78125 19.5625 22.15625 19.179688 21.765625 Z"></path></svg> \ No newline at end of file
diff --git a/client/public/assets/images/slip.svg b/client/public/assets/images/slip.svg
index f8c5103..cb797bb 100644
--- a/client/public/assets/images/slip.svg
+++ b/client/public/assets/images/slip.svg
@@ -1,9 +1,4 @@
-<svg width="150" height="219" viewBox="0 0 150 219" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<rect width="150" height="218.101" fill="url(#pattern0)"/>
-<defs>
-<pattern id="pattern0" patternContentUnits="objectBoundingBox" width="1" height="1">
-<use xlink:href="#image0_60_279" transform="scale(0.00148368 0.00102041)"/>
-</pattern>
-<image id="image0_60_279" width="674" height="980" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAqIAAAPUCAYAAAB2DVubAAAgAElEQVR4nOzdd5iV5Z34//vMwDB0aUpRjKAioCLYoqjYYpTo2laNrq7RWHejMdF8WZONXL8kFgxRY4pBorFrgiWKhdWIhXWjRkGRYkVFBSyAQ28z9++PaCIKyMCZ+ZyZeb2u63PtGpH7nuec8/DmOa2Q2GBLlizJy5YtSymlVF1dnRYsWLDGX7d06dL06a/7vJxz+vjjj9e1Rlq+fPka/11NTU2qqqpa63+7aNGitHLlyjX+u1WrVqWFCxeu9b9duHBhWrVq1Rr/3YoVK9LixYvX+t/Wxscff5xyziX3e82fP78ov0+xfy8optatW6eKiorobWyQsrKy1L59++htbLBWrVqlFi1aRG9jgxQKhbTJJptEb2ODtWzZMlVWVkZvY42aNWuWjjvuuDRkyJBC9F7qS5P5QVNKafLkyfnxxx9P8+fPTwsXLkwLFixIVVVVadGiRWnhwoX/iKvPRtjno6uYsQMA8Hl77bVXuvDCC9MhhxySysrKGnWrNeofbsGCBfmBBx5I48aNSw8//HCaPXt29JYAANbLwIED04UXXpiOPvroVF5e3iibrdH9UMuWLcsPP/xwGjNmTLrnnnvSokWLorcEALDBevXqlc4999x01llnpcrKykbXbo3C66+/ns8///zcoUOHnFIyxhhjjGlUs+WWW+Zf/epXecmSJTkRr6amJj/00EN56NChuaysLPwOYowxxhhT17PZZpvlyy67LFdVVeVE/aupqcn33Xdf3nnnncPvDMYYY4wxEdOhQ4f84x//OM+bNy8n6se9996bBw4cGH7jG2OMMcaUwmyyySb5pz/9aV6wYEFO1I2pU6fmgw8+OPzGNsYYY4wpxenUqVMePny4IC2mWbNm5VNPPdVrQI0xxhhj1mO6du2ar7766rxs2bKc2DA1NTX5xhtvzB07dgy/QY0xxhhjGtr07t07jx07Nidq59VXX8377rtv+A1ojDHGGNPQ57DDDsszZszIiXWrqanJV155ZW7ZsmX4jWaMMcYY01imdevW+aqrrsrV1dU5lZCS+XT+OXPm5FNOOSU99NBD0VsBAGiU9txzz3T99den7bbbriQasCx6Ayml9Mgjj+SBAweKUACAOvR///d/aeDAgemqq64qqSujIWpqavLw4cNzoVAIv2RtjDHGGNOU5qijjsrz58/PKVDYZdmFCxfmk08+Od19991RWwAAaNJ69uyZ7rrrrrTrrruGNGHIU/Ovvvpq3n333UUoAECgmTNnpiFDhqRbbrkl5MpovYfoM888kwcPHpymTZtW30sDAPA5S5YsSSeeeGI699xz6/1d9c3qc7H77rsv77fffmnJkiX1uSwAAF/i6quvTrNmzUpLlizJrVq1qpen6ustREeNGpWPPPLIVF1dXV9LAgBQC3feeWf68MMPU1VVVW7fvn2dx2i9PDV/xRVX5DPPPFOEAgCUuCeeeCLtv//+6YMPPqjzp+nrvHRHjhyZL7jggrpeBgCAIurfv38aP3582myzzeqsF+s0REUoAEDDtcMOO6Tx48enLl261Ekz1lmIXnXVVfm8886rq98eAIB6MHDgwPToo4+mjh07Fr0b6yREb7vttnziiSemmpqauvjtAQCoR7vvvnsaP358at26dVHbsejvmn/kkUfyoYceKkIBABqJZ555Jh1//PFp1apVuVmzZkWL0fJi/UYp/f3D6g855JC0dOnSYv62AAAEe+WVV9LChQvT008//f8V6/csWtHOmjUr77rrrum9994r1m8JAECJGT16dDr99NOL0pBF+U2WLl2ahwwZkp599tli/HYAAJSo5s2bp0cffTTts88+G92RG/0b1NTU5JNOOindeuutG/tbherVq1faZZddUq9evdKmm26aOnfunLp06ZIqKipS+/btU7NmzVLbtm3Ttddem0aMGBGyx4cffjj17t07ZG0AaAimTZuWDjvssJC1f/jDH6Zvf/vbq/1vK1euTB988EF655130uTJk9PEiRPTxIkT09y5c0P2WCw9evRIkyZNSptuumm9fBXoWl1xxRU5pdTgpnfv3vn73/9+HjduXJ47d+56f3PAiBEjwvY8bdq0Ov+GAwBoyCZOnBj25/TIkSPX+8/pKVOm5F//+tf56KOPzp06dQrvog2ZQw45JNfU1MS1ybPPPpsrKirCD8T6zpZbbpl/8pOf5ClTpmzwQROiAFC6GkqIftaqVavyE088kS+44IK8zTbbhPdSbebyyy+PaZOPP/449+rVK/wAfNmUlZXloUOH5rFjx+ZVq1Zt9MESogBQuhpiiH7ek08+mY8++uhcXl4e3lFfNhUVFRt1gW+DHXvsseE//LqmrKwsH3fccXnq1KlFPThCFABKV2MI0U+9+eab+fzzz89t2rQJ76p1ze67716Ui33r7ZZbbgn/odc1Rx99dH7ppZfq5IAIUQAoXY0pRD/17rvv5hNOOCEXCoXwxlrbfPKeobr3wQcf5C5duoT/wGuarbfeOo8bN65OD4QQBYDS1RhD9FPPPvts3n333cN7a03TqlWr/Nprr9X65y+r7X9w9tlnpw8//LC2/1mdqqysTD/5yU/SlClT0sEHHxz7MQIAAHVgt912Kzz11FPp4osvTs2aFf1b2jfKkiVL0plnnpnq9F30Y8aMCS/uz0/fvn3z5MmT6+1KoSuiAFC6GvMV0c/63//939yzZ8/wDvv8jB49ulbHYL2viC5cuDCfd955tfm969ypp56annvuubTjjju6CgoANBl77bVXYdKkSenwww+P3spqfvSjH6UFCxasd4yud4heeumlJfM98hUVFemGG25I119/faF169YiFABocjp16lS455570v/7f/8veiv/8MEHH6Sf//zn6/3r1+sFBm+88Ubu37//Bm+qmNq0aZPGjBmTDjnkEAEKADRpZWVlhZRSuvrqq/N5552XampqoreURo4cmd555528xRZbfGmrrdcV0fPPPz8tW7Zs43e2kbp3754mTJggQgEAPuPcc88t3HLLLamioiJ6K2np0qXpZz/72Xr92i8N0b/+9a/5z3/+80ZvamN17tw5Pfroo2ngwIEiFADgc0444YTCXXfdVRLvqL/uuuvS9OnTv/S1ol8aohdddFFxdrQRWrVqle69997Ut29fEQoAsBaHHXZY4YYbbkhlZbX+hM6iWrVqVfrhD3/4pb9unbucMGFCfuSRR4q2qQ3RvHnzdNddd6XBgweLUACAL3HiiScWRowYEb2NdM8996Rnn312nVdF1xmiw4cPL+6ONsCvfvUrrwkFAKiFH/zgB4Xzzz8/ehvp4osvXue/X2uIPvPMM3n8+PFF31BtHHnkkemss84SoQAAtXT55ZenAw44IHQP9913X3rxxRfXelV0rSF6ySWX1M2O1lOPHj3S6NGjQ/cAANBQlZeXF2699dbUtWvXsD3knNOll1661n+/xhCdPn16Hjt2bJ1t6suUlZWlW265JXXu3NnVUACADdS1a9fwNy+NGTMmvfzyy2u8KrrGXY0cOTL0A1FPOeWUtN9++4lQAICNdPDBBxe+//3v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VuQtt9wy7BgddNBBaz9Gd911V+iJ97rrriv5G1CIQul64okn8hFHHJHLy8tDz2XFnpYtW+ZTTjklP/vss84B8CWE6LrddNNNoeez66+/fu3HaPny5blr165hm+vbt29euXJlSd+IQhRKz+OPP5733Xff0JNrfc3OO++cb7rpppI/V0IUIbp21dXVuX///mHHp3379nnhwoWrHaOyz/5DixYtCqeffnqxf+71Nn369DRq1Kiw9YGGZcKECXnIkCF53333TY8//nj0durF888/n/793/899e3bN11//fV5xYoVJf0HH1A6br755jR16tSw9U8++eTUtm3bdX9SyHvvvRf6ov6OHTvmuXPnluyJ1RVRiDdjxox8zDHHhD0WS2m22mqrPHr0aFdI4ROuiK7Z4sWL8xZbbBF2bAqFQp4+ffoXjk/Z5/+HHj16FI466qhi/dy1Nm/evHTJJZeErQ+UroULF+YLL7ww9+vXL40ZMyZ6OyXhzTffTKeffnoaOHBg+stf/lKyfwgCsS677LL0zjvvhK3/ta99LfXt23f9Pjf5ueeeC/0bfkVFRZ40aVJJnlBdEYUYDz30UOg7PRvKHHroofn11193rqDJckX0i1544YVcUVERem565JFHandsDjjggNAN9+3bNy9evLjkblAhCvXrww8/zCeeeGLo+aihTYsWLfLw4cO9fpQmSYiubuXKlXnnnXcOPScNGDAg19TU1O7YjBs3LvxkeuaZZ5bcDSpEof78+c9/zl26dAk/FzXU2WmnnfILL7zgvEGTIkRXN2zYsPBz0W233Vb741JTU5MHDRoUvvm77767pG5UIQp1b+nSpfncc8/NhUIh/BzU0KdZs2Z52LBhefny5c4fNAlC9J/GjBkTfh7deuutN/zNlPfcc0/4SbRt27b5b3/7W8ncsEIU6taUKVPy9ttvH37uaWyz66675jfffNM5hEZPiP7dSy+9lNu0aRN+7vnDH/6w4cekpqYm77TTTuE/RJcuXfIrr7xSEjeuEIW688c//jG3bt06/JzTWKd9+/b5k2/Qg0ZLiKb05ptv5s033zz8nNO7d++N/2i5Bx54IPwHSSnlLbbYIs+cOTP8BhaiUHw1NTV5+PDh4U8hNYUpFAr53HPP9bmjNFpNPUTff//93KdPn/BzTUop33777cU5HgceeGD4D5NSyv369ctvv/126I0sRKG4Pv744zx06NDw80tTmwMPPDDPnz/fOYVGpymH6FtvvZX79u0bfn5JKeXddtut9u+UX5tJkyblsrKy8B8qpZS7d+8e+i5QIQrFM2vWrJJ4+U9TnX79+uW33nrLeYVGpamG6KRJk3K3bt3CzyufzpNPPlncY/Gf//mf4T/Up9OuXbv88MMPh9zYQhSKY+rUqblnz57h55OmPt26dcuffIkJNApNMUTHjRuX27ZtG34++XQ++ezn4qqqqso9evQI/+E+nU9f51TfH0kiRGHjTZgwIXfo0CH8PGL+Pm3bts2ffHY0NHhNKURXrlyZhw8fnsvLy8PPI59Ox44d8/vvv183x+HOO+8M/wE/P7vuumt+7bXX6u2GF6KwcZ588smS+EgRs/pUVFTkP//5z84xNHhNJUTffPPNvOeee4afOz4/1113Xd0eg8MOOyz8h/z8tGvXLl911VX18i5QIQob7oknnhChJTwVFRX5k8+PhgarsYfoihUr8hVXXFFST8V/OkOGDCneG5TWZubMmSX7B0mfPn3q/LWjQhQ2zBNPPOEzQhvAiFEausYcoo8//njeYYcdws8Ta5qKior665Qrr7wy/Ade2xQKhXzcccfl6dOn18nBEKJQexMmTMgtW7YMPz+Y9ZuKioo8duxY5xsapMYYolOnTs3HHHNM+LlhXXPRRRfV3zlj1apVea+99gr/odc1ZWVl+fjjj89Tp04t6oERolA7U6ZMyR07dgw/J5jaTcuWLfNTTz3lnEOD05hCdMqUKfm4444rmY/QXNsMGDAgL1u2rH7PF2+99VbeZJNNwn/4L5uysrJ81FFH5YcffjhXV1dv9EESorD+3nnnHR/R1ICnU6dO+eWXX3beoUFp6CFaXV2dx40bl4844oiSD9CUUm7VqlXRL/qttzvuuCP8ANRmevfunS+77LI8a9asDT5gQhTWz9y5c/N2220X/rg3Gze9e/euu49igTrQUEP0vffey5dcckneaqutwh/3tZlrrrkm9vzwrW99K/wgbMj069cvDx8+vNYf5CxE4cutXLkyf+1rXwt/nJvizG677ZaXLl3q/EOD0JBC9I033shXXXVVHjx4cIO4+vn5GTp0aN2/S/7LLFy4MG+99dbhB2NjpkePHvmII47IF198cR43blx+6aWX8uzZs/OKFSu+cHCFKHy58847L/xxbYo7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GrkiCqzV6aefHrb2008/nR588EFPz2+k3/zmN+mjjz4KW/+0004LWxsofUIUWKtTTjkltWrVKmz9iy66yGtFN8KcOXNy5JXl1q1bp1NOOSVsfaD0CVFgrTp16lSIfH3fc889l2666aaw9Ru6YcOGpaqqqrD1/+3f/i116NDB0/LAWglRYJ3OPffcVCjEtcSFF16YqqqqXBWtpQkTJuTIiC8UCuk73/lO2PpAwyBEgXUaMGBA4etf/3rY+nPmzEk/+MEPwtZviBYtWpRPPfXUsK/zTCmlQw45JO24446uhgLrJESBLxUdgqNHj07jxo1zVXQ9nXfeeem1114L3UP0fQZoGIQo8KUOOOCAwi677BK2fs45nXbaaemDDz4Qo1/i9ttvz7///e9D97DLLruk/fbbz9VQ4EsJUWC9/OhHPwpd/913300nnXSSd9Gvw8SJE/O3v/3t6G2E31eAhkOIAuvl8MMPT5FXRVNK6X/+53/SRRddFLqHUjV79ux85JFHpiVLloTuY5dddkmHH3546B6AhkOIAuulrKys8JOf/CR6G+niiy9Ov/vd71wV/YyPP/44Dx06NL399tvRW0k/+9nPUllZmaflgfUiRIH1NnTo0MLgwYOjt5HOOeecdP/994vRlNLixYvzoYcemiZNmhS9lbTXXnulgw8+WIQC602IArVSCt8Bv3LlynTUUUelsWPHNukYnT9/fv7617+e/vd//zd6KymllH76059GbwFoYIQoUCv77LNP4YADDojeRlqxYkU69thj07333tskY3T27Nl53333LZkIPfDAA71THqg1IQrU2s9+9rPQb1v61NKlS9NRRx2VrrnmmiYVoxMnTsxf/epX04svvhi9lZTS379F6eKLL47eBtAACVGg1vbYY4/CqaeeGr2NlFJK1dXV6eyzz07nnHNOXr58eaMP0ttuuy3vtddeJfHGpE+ddtppaffdd4//mwlAYzdy5MicUgqZadOmNfo/ZGk4Pvroo9ylS5ewx8Oa5qtf/Wp+++23G+XjZMGCBfm0004LP8afn0033TTPnTu3UR5zGqaJEyeGPR5+/OMfeyzUkiuiwAbp3LlzYeTIkdHbWM3TTz+ddthhh3TttdfmmpqaRvMHwpNPPpl32mmnFP2NSWvyi1/8InXq1MnVUID64Ioo/FNNTU3ef//9w6/KrWn233//PHny5Ab9mJk9e3b+93//91woFMKP55rmwAMPbNDHl8bJFdGGxRVRYIOVlZUVrrnmmtSiRYvorXzB+PHj08CBA9Ppp5+e33nnnQb1h8PChQvzpZdemrfbbrt00003pZxLb/uVlZXpt7/9bfQ2gAZOiAIbpU+fPoVS/W7x6urqNHr06NS7d+90yimnlPyzCh9//HG+5JJL8lZbbZUuvPDCVFVVFb2ltfrv//7vtO2223pKHqA+eWoevmjlypV5jz32CH+q+MumUCjkvfbaK//hD3/ICxcuLJnH04svvpjPPPPM3KZNm/BjtD4zePDgvHLlypI5fvBZnpqnUROisGZvvPFGbteuXXgkre9UVlbmoUOH5t/97nf5vffeq/fH1uuvv54vvfTSPGjQoPBjUZtp3759fvPNN52LKFlClEZNiMLa3XrrreGhtCFTKBRy//7985lnnplvvvnmPGPGjKI/1j788MN8991353POOSf3798//Gfe0PnjH//oPERJE6INS7PoDQCNx7/9278VvvOd7+Rf//rX0VuplZxzmjp1apo6dWoaNWpUSiml9u3b5759+6btt98+bbvttql79+5p8803T5tttlnq3LlzKi8vTy1btkwtW7YsLFy4MK9cuTLNnz8/VVVVpXfffTe98847aebMmWny5Mlp8uTJqUuXLsE/5cY777zz0nHHHed1oQBRXBGFdVuxYkXee++9w6/cmeLOHnvs0SS+uYqGzxXRhsUVUaCoKioqCrNmzcq77757euedd6K3QxFsueWW6e67704tWrRwNRQoKh/fBBRd9+7dCw899FBq37599FbYSG3btk333Xdf6tatmwgFik6IAnVi++23L9x+++2pWTNPvDRUzZs3T3feeWcaMGCACAXqhBAF6szQoUMLf/jDH1JZmVNNQ1NWVpZuvPHG9PWvf12EAnXGnw5AnTrppJMKv/rVr6K3QS1dccUV6YQTThChQJ0SokCd+8///M/Cz3/+8+htsB4KhUIaOXJkOu+880QoUOeEKFAvfvCDHxSuueaaVCjom1JVKBTSlVdemS644AI3ElAvhChQb84+++zCb3/7W68ZLUHl5eVp1KhRroQC9cqfBkC9Ovvsswt33XVXatmyZfRW+ESLFi3Sbbfdls444wwRCtQrIQrUuyOPPLIwbty41KFDh+itNHkdO3ZMjz76qK/uBEIIUSDEkCFDCs8++2zq169f9FaarG233TY99dRTaa+99hKhQAghCoTZZpttCk8//XQ64ogjorfS5AwdOjQ9++yzqW/fviIUCCNEgVDt2rUr3HXXXeknP/lJKi8vj95Oo9esWbN08cUXp7Fjx6ZNNtlEhAKhhCgQrry8vHDRRRcVxo8fn3r06BG9nUZr8803T+PHj08/+tGPCuXl5SIUCCdEgZIxZMiQwgsvvJC++c1vRm+l0TnhhBPSpEmT0j777CNAgZIhRIGS0qVLl8Idd9xReOCBB9IWW2wRvZ0Gr1u3bunuu+9Ot912W6FLly4iFCgpQhQoSd/4xjcKL730Ujr33HN9AP4GKBQK6aSTTkpTpkxJRx11lAAFSpKzO1CyNtlkk8LVV19dePzxx9O2224bvZ0GY6uttkoPP/xwuvnmmwudOnUSoUDJEqJAydtnn30KL7zwQrr00ktT+/bto7dTsjbZZJN02WWXpalTp6avfe1rAhQoeUIUaBBatWpVuPDCCwszZsxIw4YNS5WVldFbKhkVFRXpjDPOSK+88kr6r//6r0KrVq1EKNAgCFGgQenUqVNhxIgRhVdffTWdccYZTfqzRwuFQjrmmGPS9OnT07XXXlvYbLPNBCjQoAhRoEHq2bNn4dprry387W9/S0OHDk2FQtNpsEKhkIYOHZqef/75NGbMmELv3r2bzg8PNCpCFGjQBg0aVHjwwQcLL7zwQjrppJMa9RXSsrKydOihh6ZnnnkmPfjgg4VBgwYJUKBBE6JAozBgwIDCzTffXJg8eXI68cQTU/PmzaO3VDTNmzdPJ554YnrppZfS/fffX9htt90EKNAoCFGgUenfv3/hlltuKcycOTMNHz48dezYMXpLG6xdu3bp3HPPTa+//nq65ZZbCv379xegQKPSLHoDAHWhW7duhZRSWrhwYb7xxhvT9ddfnyZOnBi9rfUycODAdOqpp6aTTz45tWvXrnD11VdHbwmgTrgiCjRqbdu2LXznO98pTJw4sTB58uT0/e9/P/Xu3Tt6W1/Qq1ev9L3vfS+9+OKLadKkSYVzzjmn0K5dO1dAgUbNFVGgydhxxx3/EXavvvpqHjduXHr66afTSy+9lF5++eW0cuXKetlH8+bNU58+fdL222+f9thjj3TwwQenPn36FK688sp05ZVX1sseAEqBEAWapG233Xa1q43Lly/Pb731Vnr//ffT7Nmz05w5c9LSpUvTggULUnV1dZo/f/4Xfo+qqqqUUlrjtz116NAhlZeXp3bt2qWWLVumrl27pm7duqVNN900bbXVVqlFixaFKVOmpDvuuKOOfkKA0idEAVJKLVq08DQ4QD3zGlEAAEIIUQAAQghRAABCCFEAAEIIUQAAQghRAABCCFEAAEIIUQAAQghRAABCCFEAAEIIUQAAQghRAABCCFEAAEIIUQAAQghRAABCCFEAAEIIUQAAQghRAABCCFEAAEIIUQAAQghRAABCCFEAAEIIUQAAQghRAABCCFEAAEIIUQAAQghRAABCCFEAAEIIUQAAQghRAABCNIveAKzLNddck2+++ebobQA0SCeddFI6++yzC9H7gLURopS0t956K/3f//1f9DYAGqS99947eguwTp6aBwAghBAFACCEEAUAIIQQBQAghBAFACCEEAUAIIQQBQAghBAFACCEEAUAIIQQBQAghBAFACCEEAUAIIQQBQAghBAFACCEEAUAIIQQBQAghBAFACCEEAUAIIQQBQAghBAFACCEEAUAIIQQBQAghBAFACCEEAUAIIQQBQAghBAFACCEEAUAIIQQBQAgRLPoDcC6dOzYMX3lK1+J3gZAg9SxY8foLcA6CVFK2rBhwwrRewBoqIYNGxa9BVgnT80DABBCiAIAEEKIAgAQQogCABBCiAIAEEKIAgAQQogCABBCiAIAEEKIAgAQQogCABBCiAIAEEKIAgAQQogCABBCiAIAEEKIAgAQQogCABBCiAIAEEKIAgAQQogCABBCiAIAEEKIAgAQQogCABBCiAIAEEKIAgAQQogCABBCiAIAEEKIAgAQQogCABBCiAIAEEKIAgAQQogCABBCiAIAEEKIAgAQQogCABBCiAIAEEKIAgAQQogCABBCiAIAEEKIAgAQQogCABBCiAIAEEKIAgAQQogCABBCiAIAEEKIAgAQQogCABBCiAIAEEKIAgAQQogCABBCiAIAEEKIAgAQQogCABBCiAIAEEKIAgAQQogCABBCiAIAEEKIAgAQQogCABBCiAIAEEKIAgAQoln0BmBdfvGLX+TRo0dHbwMoAZtsskl6+umnCxFr33zzzfniiy+OWHqjnH766en8888POWawPoQoJe2DDz5IL7/8cvQ2gBLQoUOHsLXnzZvXIM9FH3zwQfQWYJ08NQ8AQAghCgBACCEKAEAIIQoAQAghCgBACCEKAEAIIQoAQAghCgBACCEKAEAIIQoAQAghCgBACCEKAEAIIQoAQAghCgBACCEKAEAIIQoAQAghCgBACCEKAEAIIQoAQAghCgBACCEKAEAIIQoAQAghCgBACCEKAEAIIQoAQAghCgBACCEKAEAIIQoAQIhm0RuAddl8883ToEGDorcBlID27dunxx57LGTtTTfdtEGeizbffPPoLcA6CVFK2jnnnFOI3gPA8ccf3yDPRRMnTozeAqyTp+YBAAghRAEACCFEAQAIIUQBAAghRAEACCFEAQAIIUQBAAghRAEACCFEAQAIIUQBAAghRAEACCFEAQAIIUQBAAghRAEACCFEAQAIIUQBAAghRAEACCFEAQAIIUQBAAghRAEACCFEAQAIIUQBAAghRAEACCFEAQAIIUQBAAghRAEACCFEAQAIIUQBAAghRAEACNEsegOwLg888EB+9NFHo7cBlIBWrVqln/3sZ4WItSdMmJDvueeeiKU3ygEHHJC+8Y1vhBwzWB9ClJL25JNPpiuuuCJ6G0AJ6NChQ9jaEydObJDnoubNm0dvAdbJU/MAAIQQogAAhBCiAACEEKIAAIQQogAAhBCiAACEEKIAAIQQogAAhBCiAACEEKIAAIQQogAAhBCiAACEEKIAAIQQogAAhBCiAACEEKIAAIQQogAAhBCiAACEEKIAAIQQogAAhBCiAACEEKIAAIQQogAAhBCiAACEEKIAAIQQogAAhBCiAACEEKIAAIQQogAAhGgWvQFYl//+7/9O3/ve96K3AZSAsrKytOmmm4asffrpp6fjjjsuZO2N0bp16zRixIjobcBaCVFKWtu2bQvRewBo1aqVcxHUAU/NAwAQQogCABBCiAIAEEKIAgAQQogCABBCiAIAEEKIAgAQQogCABBCiAIAEEKIAgAQQogCABBCiAIAEEKIAgAQQogCABBCiAIAEEKIAgAQQogCABBCiAIAEEKIAgAQQogCABBCiAIAEEKIAgAQQogCABBCiAIAEEKIAgCNRnl5efQWqAUhCgBACCEKAEAIIQoAQIhm0RuAdXnttdfym2++Gb0NoAQ0b9487bfffoWItWfOnJlffvnliKU3ylZbbZW22WabkGMG60OIUtJ+//vfpxEjRkRvAygBHTp0CFv7nnvuSd/97nfD1t9Qw4YN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"/>
-</defs>
-</svg>
+<svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
+width="200" height="200"
+viewBox="0 0 256 256"
+style=" fill:#000000;"><path fill="#edf4fc" d="M174.5,86.9c0-13.1,6.4-25.3,17.2-32.6V28.9c0-4.3-3.5-7.8-7.8-7.8l0,0h-144c-4.3,0-7.8,3.5-7.8,7.8v83.9 l70.3,60.7c4.9,4.3,12.2,4.3,17.2,0l67.6-57.7C179.1,108.4,174.5,97.9,174.5,86.9z"></path><path fill="#f48e1e" d="M132.9,21L119.6,9.7c-5-4.2-12.2-4.2-17.2,0L89.3,21L132.9,21z"></path><path fill="#f48e1e" d="M32.1,70.5L12,87.8c2.1-0.9,4.3-1.4,6.5-1.4h13.5V70.5z"></path><path fill="#fcac27" d="M214,126.4c-10,0-19.5-3.8-26.8-10.5l-67.6,57.7c-5,4.2-12.2,4.2-17.2,0l-70.3-60.7V86.4H18.6 c-8.9,0-16.1,7.2-16.1,16.1v130.9c0,8.9,7.2,16.1,16.1,16.1h186.1c8.9,0,16.1-7.2,16.1-16.1V125.8 C218.5,126.2,216.3,126.4,214,126.4z"></path><path fill="#facb35" d="M119.6,173.6c-5,4.2-12.2,4.2-17.2,0l-6.5-5.6L7.1,244.7c3,3.1,7.1,4.8,11.4,4.8h186.1 c4.3,0,8.4-1.7,11.4-4.8l-89.9-76.8L119.6,173.6z"></path><path fill="#f48e1e" d="M18.6,86.4c-4.3,0-8.4,1.7-11.4,4.8l25,21.6V86.4H18.6z"></path><circle cx="214" cy="86.9" r="39.5" fill="#fc3850"></circle><path fill="#edf4fc" d="M219.2,67h-12.6c-1.5,0-2.8,1.2-2.8,2.8v5.3c0,1.5,1.2,2.8,2.8,2.8h3.9V106c0,1.5,1.2,2.8,2.8,2.8h6 c1.5,0,2.8-1.2,2.8-2.8V69.7C221.9,68.2,220.7,67,219.2,67C219.2,67,219.2,67,219.2,67z"></path><path d="M214,128.9c-23.2,0-42-18.8-42-42s18.8-42,42-42s42,18.8,42,42c0,0,0,0,0,0C256,110.1,237.2,128.9,214,128.9z M214,49.9 c-20.4,0-37,16.6-37,37s16.6,37,37,37c20.4,0,37-16.6,37-37C251,66.5,234.4,49.9,214,49.9L214,49.9z"></path><path d="M162.8,117.7H61.4c-1.4,0-2.5-1.1-2.5-2.5s1.1-2.5,2.5-2.5h101.4c1.4,0,2.5,1.1,2.5,2.5S164.2,117.7,162.8,117.7z"></path><path d="M162.8,136.7H61.4c-1.4,0-2.5-1.1-2.5-2.5s1.1-2.5,2.5-2.5h101.4c1.4,0,2.5,1.1,2.5,2.5S164.2,136.7,162.8,136.7z"></path><path d="M162.8,60.8H61.4c-1.4,0-2.5-1.1-2.5-2.5s1.1-2.5,2.5-2.5h101.4c1.4,0,2.5,1.1,2.5,2.5S164.2,60.8,162.8,60.8z"></path><path d="M162.8,79.8H61.4c-1.4,0-2.5-1.1-2.5-2.5s1.1-2.5,2.5-2.5h101.4c1.4,0,2.5,1.1,2.5,2.5S164.2,79.8,162.8,79.8z"></path><path d="M162.8,98.7H61.4c-1.4,0-2.5-1.1-2.5-2.5s1.1-2.5,2.5-2.5h101.4c1.4,0,2.5,1.1,2.5,2.5S164.2,98.7,162.8,98.7z"></path><path d="M132.9,23.5H89.3c-1.4,0-2.5-1.1-2.5-2.5c0-0.7,0.3-1.4,0.9-1.9l13.1-11.3c5.8-5.1,14.6-5.1,20.4-0.1l13.3,11.3 c1,0.9,1.2,2.5,0.3,3.5C134.3,23.2,133.6,23.5,132.9,23.5L132.9,23.5z M96.1,18.5h30.1l-8.1-6.9c-4-3.5-9.9-3.4-13.9,0L96.1,18.5z"></path><path d="M12,90.3c-1.4,0-2.5-1.1-2.5-2.5c0-0.7,0.3-1.4,0.9-1.9l20.1-17.3c1-0.9,2.6-0.8,3.5,0.3c0.4,0.5,0.6,1,0.6,1.6v15.9 c0,1.4-1.1,2.5-2.5,2.5H18.6c-1.9,0-3.8,0.4-5.5,1.2C12.7,90.2,12.4,90.3,12,90.3z M20.4,83.9h9.2v-8L20.4,83.9z"></path><path d="M143.5,155.7H78.9c-1.4,0-2.5-1.1-2.5-2.5s1.1-2.5,2.5-2.5h64.6c1.4,0,2.5,1.1,2.5,2.5S144.9,155.7,143.5,155.7z"></path><path d="M204.7,252H18.6C8.3,251.9,0,243.6,0,233.4V102.5c0-10.2,8.3-18.5,18.6-18.6h13.5c1.4,0,2.5,1.1,2.5,2.5v25.2l69.5,60 c4,3.5,9.9,3.5,13.9,0l67.6-57.7c1-0.8,2.4-0.8,3.3,0.1c8.4,7.9,20.1,11.3,31.4,9.3c1.4-0.2,2.7,0.7,2.9,2c0,0.1,0,0.3,0,0.4 v107.6C223.2,243.6,214.9,251.9,204.7,252z M18.6,88.9C11.1,88.9,5,95,5,102.5v130.9c0,7.5,6.1,13.5,13.6,13.6h186.1 c7.5,0,13.5-6.1,13.6-13.6V128.7c-11.2,1.2-22.4-2.3-31.1-9.5l-65.9,56.3c-5.9,5.1-14.6,5-20.4-0.1l-70.3-60.8 c-0.5-0.5-0.9-1.2-0.9-1.9V88.9H18.6z"></path><path d="M111,179.3c-3.8,0-7.4-1.4-10.3-3.8l-70.3-60.7c-0.5-0.5-0.9-1.2-0.9-1.9V28.9c0-5.7,4.6-10.3,10.3-10.3h144 c5.7,0,10.3,4.6,10.3,10.3v25.4c0,0.8-0.4,1.6-1.1,2.1c-16.9,11.5-21.2,34.5-9.7,51.4c1.6,2.3,3.4,4.4,5.4,6.3 c1,0.9,1.1,2.5,0.1,3.5c-0.1,0.1-0.1,0.1-0.2,0.2l-67.6,57.7C118.4,177.9,114.8,179.3,111,179.3z M34.6,111.6l69.5,60 c4,3.5,9.9,3.5,13.9,0l65.5-55.9c-15.9-16.8-15.2-43.4,1.7-59.3c1.3-1.2,2.7-2.4,4.1-3.4V28.9c0-2.9-2.4-5.3-5.3-5.3h-144 c-2.9,0-5.3,2.4-5.3,5.3V111.6z"></path><path d="M219.2,111.3h-6c-2.9,0-5.3-2.4-5.3-5.3V80.3h-1.4c-2.9,0-5.3-2.4-5.3-5.3v-5.3c0-2.9,2.4-5.3,5.3-5.3h12.6 c2.9,0,5.3,2.4,5.3,5.3V106C224.4,108.9,222.1,111.3,219.2,111.3z M206.5,69.5c-0.1,0-0.3,0.1-0.3,0.3v5.3c0,0.1,0.1,0.3,0.3,0.3 h3.9c1.4,0,2.5,1.1,2.5,2.5V106c0,0.1,0.1,0.3,0.3,0.3h6c0.1,0,0.3-0.1,0.3-0.3V69.7c0-0.1-0.1-0.3-0.3-0.3H206.5z"></path><path d="M204.7,252H18.6c-5,0-9.7-2-13.2-5.5c-1-1-1-2.6,0-3.5c0,0,0.1-0.1,0.1-0.1l88.8-76.7c0.9-0.8,2.3-0.8,3.3,0l6.5,5.6 c4,3.5,9.9,3.5,13.9,0l0,0l6.6-5.6c0.9-0.8,2.3-0.8,3.2,0l89.9,76.8c1,0.9,1.2,2.5,0.3,3.5c0,0-0.1,0.1-0.1,0.1 C214.4,250,209.6,252,204.7,252z M11,244.6c2.2,1.5,4.9,2.3,7.6,2.3h186.1c2.7,0,5.3-0.8,7.5-2.3l-86-73.4l-5,4.2 c-5.9,5.1-14.6,5-20.4-0.1l-4.8-4.2L11,244.6z"></path><path d="M32.1,115.3c-0.6,0-1.2-0.2-1.6-0.6l-25-21.6c-1-0.9-1.2-2.5-0.3-3.5c0,0,0.1-0.1,0.1-0.1c3.5-3.6,8.2-5.5,13.2-5.5h13.5 c1.4,0,2.5,1.1,2.5,2.5v26.4C34.6,114.2,33.5,115.3,32.1,115.3L32.1,115.3z M11,91.2l18.6,16.1V88.9h-11 C15.9,88.9,13.2,89.7,11,91.2z"></path></svg> \ No newline at end of file
diff --git a/client/src/components/Card/CardAgreement.jsx b/client/src/components/Card/CardAgreement.jsx
index da35c91..77bb1a0 100644
--- a/client/src/components/Card/CardAgreement.jsx
+++ b/client/src/components/Card/CardAgreement.jsx
@@ -10,7 +10,7 @@ const CardAgreement = ({ title, image }) => {
<>
<div className={styles.card}>
<img className={styles.card__image} src={image} alt="" />
- <Typography>
+ <Typography align='center'>
{t('I_HEREBY_CONFIRM_THE_IDENTITY_AND_ADDRESS')}
</Typography>
</div>
diff --git a/client/src/components/Card/CardAgreement.module.css b/client/src/components/Card/CardAgreement.module.css
index c9bdae8..c6b76cb 100644
--- a/client/src/components/Card/CardAgreement.module.css
+++ b/client/src/components/Card/CardAgreement.module.css
@@ -27,5 +27,5 @@
}
.card__image {
- padding-bottom: 32px;
+ height: 80%;
}
diff --git a/client/src/pages/Enrollment/Agreement/Agreement.jsx b/client/src/pages/Enrollment/Agreement/Agreement.jsx
index cf74d46..d3a5b90 100644
--- a/client/src/pages/Enrollment/Agreement/Agreement.jsx
+++ b/client/src/pages/Enrollment/Agreement/Agreement.jsx
@@ -68,6 +68,7 @@ const Agreement = ({ unverified, setUnverified }) => {
type="submit"
variant="contained"
disabled={disabled}
+ sx={{ marginTop: '1rem' }}
onClick={() => {
mutate()
setDisabled(true)
diff --git a/client/src/pages/Enrollment/DocumentScanner/DocumentScanner.jsx b/client/src/pages/Enrollment/DocumentScanner/DocumentScanner.jsx
index 20ea7d2..86f53f4 100644
--- a/client/src/pages/Enrollment/DocumentScanner/DocumentScanner.jsx
+++ b/client/src/pages/Enrollment/DocumentScanner/DocumentScanner.jsx
@@ -3,15 +3,7 @@ import React, { useState } from 'react'
import Webcam from 'react-webcam'
import Header from '../../../components/Header/Header'
import styles from './DocumentScanner.module.css'
-import {
- Button,
- Grid,
- Typography,
- StepLabel,
- Step,
- Stepper,
- Box
-} from '@mui/material'
+import { Button, Typography, StepLabel, Step, Stepper } from '@mui/material'
import SubmitButton from '../../../components/SubmitButton/SubmitButton'
import { useTranslation } from 'react-i18next'
import { userContext } from '../../../context/User'
@@ -45,15 +37,15 @@ const DocumentScanner = () => {
DOB: doccu.DOB
})
})
-
+ console.log(activeStep)
const handleNext = () => {
if (activeStep === steps.length - 1) {
setUserData({ ...userData, documents: documents })
}
if (
- !userData.documents.POI ||
- !userData.documents.POA ||
- !userData.documents.DOB
+ (!documents.POI && activeStep === 0) ||
+ (!documents.POA && activeStep === 1) ||
+ (!documents.DOB && activeStep === 2)
) {
toast.error(t('SCAN_YOUR_DOCUMENT'))
} else {
@@ -68,67 +60,85 @@ const DocumentScanner = () => {
const WebcamComponent = ({ doc }) => {
return (
<>
- <div className={styles.card__container}>
- {documents[doc] === '' ? (
- <Webcam
- audio={false}
- height={400}
- ref={webcamRef}
- screenshotFormat="image/jpeg"
- width={600}
- videoConstraints={{
- height: 400,
- width: 600,
- facingMode: 'user'
- }}
+ <div className={styles.container}>
+ <button
+ className={styles.button}
+ disabled={activeStep === 0}
+ onClick={handleBack}
+ >
+ <img
+ src={`${process.env.PUBLIC_URL}/assets/images/back_inverse.svg`}
+ alt=""
+ className={styles.image}
/>
- ) : (
- <img src={documents[doc]} />
- )}
+ </button>
+ <div className={styles.card__container}>
+ {documents[doc] === '' ? (
+ <Webcam
+ audio={false}
+ height={400}
+ ref={webcamRef}
+ screenshotFormat="image/jpeg"
+ width={600}
+ videoConstraints={{
+ height: 400,
+ width: 600,
+ facingMode: 'user'
+ }}
+ />
+ ) : (
+ <img src={documents[doc]} />
+ )}
+ </div>
+ <button onClick={handleNext} className={styles.button}>
+ <img
+ src={`${process.env.PUBLIC_URL}/assets/images/next_inverse.svg`}
+ alt=""
+ className={styles.image}
+ />
+ </button>
+ </div>
+ <div className={styles.button__container}>
+ <Button
+ color="primary"
+ size="large"
+ type="submit"
+ variant="contained"
+ sx={{ margin: '0px 20px' }}
+ onClick={(e) => {
+ e.preventDefault()
+ capture(doc)
+ }}
+ >
+ {t('SCAN')}
+ </Button>
+ <Button
+ color="primary"
+ size="large"
+ type="submit"
+ variant="contained"
+ sx={{ margin: '0px 20px' }}
+ onClick={(e) => {
+ e.preventDefault()
+ doccu[doc] = ''
+ setDocuments({
+ ...documents,
+ POI: doccu.POI,
+ POA: doccu.POA,
+ DOB: doccu.DOB
+ })
+ }}
+ >
+ {t('RESET')}
+ </Button>
</div>
- <Grid container columnSpacing={10} justifyContent="center">
- <Grid item sx={{}}>
- <Button
- color="primary"
- size="large"
- type="submit"
- variant="contained"
- onClick={(e) => {
- e.preventDefault()
- capture(doc)
- }}
- >
- {t('SCAN')}
- </Button>
- </Grid>
- <Grid item>
- <Button
- color="primary"
- size="large"
- type="submit"
- variant="contained"
- onClick={(e) => {
- e.preventDefault()
- doccu[doc] = ''
- setDocuments({
- ...documents,
- POI: doccu.POI,
- POA: doccu.POA,
- DOB: doccu.DOB
- })
- }}
- >
- {t('RESET')}
- </Button>
- </Grid>
- </Grid>
<br></br>
<div>
- <Grid container justifyContent="center">
+ <div>
<Typography align="center">
{t('KINDLY_CLICK_THE_PICTURE_OF_YOUR_DOCUMENTS')}
</Typography>
- </Grid>
+ </div>
</div>
</>
)
@@ -139,8 +149,8 @@ const DocumentScanner = () => {
<Header subheading={t('ENROLLMENT')} />
<SubmitButton />
<div className={styles.stepper__container}>
- <Box sx={{ width: '60%', fontSize: '100px !important' }}>
- <Stepper activeStep={activeStep}>
+ <div className={styles.box}>
+ <Stepper activeStep={activeStep} sx={{ width: '60%' }}>
{steps.map((label, index) => {
const stepProps = {}
const labelProps = {}
@@ -157,14 +167,9 @@ const DocumentScanner = () => {
})}
</Stepper>
{activeStep === steps.length ? (
- <React.Fragment>
- <Typography sx={{ mt: 2, mb: 1 }}>
- {t('ALL_STEPS_COMPLETED')}
- </Typography>
- <Box sx={{ display: 'flex', flexDirection: 'row', pt: 2 }}>
- <Box sx={{ flex: '1 1 auto' }} />
- </Box>
- </React.Fragment>
+ <Typography variant="h3" sx={{ mt: 8, mb: 1 }}>
+ {t('ALL_STEPS_COMPLETED')}
+ </Typography>
) : (
<React.Fragment>
{activeStep === 0 ? (
@@ -174,23 +179,9 @@ const DocumentScanner = () => {
) : (
activeStep === 2 && <WebcamComponent doc="DOB" />
)}
- <Box sx={{ display: 'flex', flexDirection: 'row', pt: 2 }}>
- <Button
- color="inherit"
- disabled={activeStep === 0}
- onClick={handleBack}
- sx={{ mr: 1 }}
- >
- {t('BACK')}
- </Button>
- <Box sx={{ flex: '1 1 auto' }} />
- <Button onClick={handleNext}>
- {activeStep === steps.length - 1 ? t('FINISH') : t('NEXT')}
- </Button>
- </Box>
</React.Fragment>
)}
- </Box>
+ </div>
</div>
</>
)
diff --git a/client/src/pages/Enrollment/DocumentScanner/DocumentScanner.module.css b/client/src/pages/Enrollment/DocumentScanner/DocumentScanner.module.css
index 58baaa8..11cd176 100644
--- a/client/src/pages/Enrollment/DocumentScanner/DocumentScanner.module.css
+++ b/client/src/pages/Enrollment/DocumentScanner/DocumentScanner.module.css
@@ -1,6 +1,7 @@
.card__container {
display: flex;
justify-content: center;
+ align-items: center;
margin: 20px;
}
@@ -8,3 +9,42 @@
display: flex;
justify-content: center;
}
+
+.button__container {
+ display: flex;
+ justify-content: space-evenly;
+ align-items: center;
+}
+
+.button {
+ background: transparent;
+ border: none;
+}
+
+.image {
+ height: 50px;
+ width: 50px;
+}
+
+.image:hover {
+ cursor: pointer;
+ transform: scale(1.1);
+}
+
+.image:active {
+ transform: scale(0.98);
+}
+
+.box {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ flex-direction: column;
+ width: 100%;
+ height: 100%;
+}
+
+.container {
+ display: flex;
+ align-items: center;
+} \ No newline at end of file
diff --git a/client/src/pages/Enrollment/Enrollment.jsx b/client/src/pages/Enrollment/Enrollment.jsx
index f180667..e0cfd84 100644
--- a/client/src/pages/Enrollment/Enrollment.jsx
+++ b/client/src/pages/Enrollment/Enrollment.jsx
@@ -33,7 +33,9 @@ const Enrollment = () => {
const navigate = useNavigate()
const [unverified, setUnverified] = useState(true)
- const { mutate } = useMutation((payload) => createUser(payload))
+ const pushUser = useMutation((payload) => createUser(payload))
+
+ // const setConfirm = useMutation((payload) => sendMessage(payload))
const handleSubmit = () => {
if (page === 0) {
@@ -107,9 +109,7 @@ const Enrollment = () => {
} else if (page === 6) {
setPage(page + 1)
} else if (page === 7) {
- setPage(page + 1)
- } else if (page === 8) {
- mutate(
+ pushUser.mutate(
{
indianResident: userData.indianResident,
name: userData.name,
@@ -127,11 +127,17 @@ const Enrollment = () => {
},
{
onSuccess: () => {
- setUserData(initialUserData)
- navigate('/')
+ // setConfirm.mutate({
+ // mobile: `+91${userData.mobile}`,
+ // id: pushUser.data._id
+ // })
+ setPage(page + 1)
}
}
)
+ } else if (page === 8) {
+ setUserData(initialUserData)
+ navigate('/')
}
}
diff --git a/client/src/services/apiservice.js b/client/src/services/apiservice.js
index 0aa9337..e989c01 100644
--- a/client/src/services/apiservice.js
+++ b/client/src/services/apiservice.js
@@ -23,3 +23,8 @@ export const sendOTP = async (payload) => {
const response = await apiClient.post('/otp', payload)
return response
}
+
+export const sendMessage = async (payload) => {
+ const response = await apiClient.post('/message', payload)
+ return response
+}
diff --git a/server/controllers/message.js b/server/controllers/message.js
new file mode 100644
index 0000000..efba38b
--- /dev/null
+++ b/server/controllers/message.js
@@ -0,0 +1,29 @@
+import generateOTP from '../utils/otp';
+import sendSMS from '../services/twilio';
+
+const sendOTP = async (req, res) => {
+ const {mobile} = req.body;
+
+ try {
+ const otp = generateOTP();
+ const message = `Your OTP for Aadhaar verification is : ${otp}`;
+ sendSMS(mobile, message);
+ res.status(200).json({message: 'OTP sent successfully', otpCode: otp});
+ } catch (error) {
+ res.status(404).json({message: error});
+ }
+};
+
+const sendMessage = async (req, res) => {
+ const {mobile, id} = req.body;
+
+ try {
+ const message = `Your request for aadhaar card has been successfully submitted. Please use the id: ${id} for future reference.`;
+ sendSMS(mobile, message);
+ res.status(200).json({message: 'Message sent successfully'});
+ } catch (error) {
+ res.status(404).json({message: error});
+ }
+};
+
+export default {sendOTP, sendMessage}; \ No newline at end of file
diff --git a/server/controllers/otp.js b/server/controllers/otp.js
deleted file mode 100644
index 5b4bd82..0000000
--- a/server/controllers/otp.js
+++ /dev/null
@@ -1,17 +0,0 @@
-import generateOTP from '../utils/otp';
-import sendMessage from '../services/twilio';
-
-const sendOTP = async (req, res) => {
- const {mobile} = req.body;
-
- try {
- const otp = generateOTP();
- const message = `Your OTP for Aadhaar verification is : ${otp}`;
- sendMessage(mobile, message);
- res.status(200).json({message: 'OTP sent successfully', otpCode: otp});
- } catch (error) {
- res.status(404).json({message: error});
- }
-};
-
-export default {sendOTP};
diff --git a/server/index.js b/server/index.js
index 2ccd121..2a1bb1b 100644
--- a/server/index.js
+++ b/server/index.js
@@ -6,7 +6,7 @@ import dotenv from 'dotenv';
import userRoutes from './routes/users.js';
import healthRoutes from './routes/health.js';
-import otpRoutes from './routes/otp.js';
+import messageRoutes from './routes/message.js';
const app = Express();
dotenv.config();
@@ -17,7 +17,7 @@ app.use(cors());
app.use('/', healthRoutes);
app.use('/', userRoutes);
-app.use('/', otpRoutes);
+app.use('/', messageRoutes);
const CONNECTION_URL = process.env.CONNECTION_URL;
const PORT = process.env.PORT;
diff --git a/server/routes/message.js b/server/routes/message.js
new file mode 100644
index 0000000..0062838
--- /dev/null
+++ b/server/routes/message.js
@@ -0,0 +1,9 @@
+import Express from 'express';
+import message from '../controllers/message';
+
+const router = Express.Router();
+
+router.post('/otp', message.sendOTP);
+router.post('/message', message.sendMessage);
+
+export default router;
diff --git a/server/routes/otp.js b/server/routes/otp.js
deleted file mode 100644
index b73240e..0000000
--- a/server/routes/otp.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import Express from 'express';
-import otp from '../controllers/otp';
-
-const router = Express.Router();
-
-router.post('/otp', otp.sendOTP);
-
-export default router;
diff --git a/server/services/twilio.js b/server/services/twilio.js
index f95cc5f..69eac16 100644
--- a/server/services/twilio.js
+++ b/server/services/twilio.js
@@ -3,7 +3,7 @@ import twilio from 'twilio';
const accountSid = process.env.TWILIO_ACCOUNT_SID;
const authToken = process.env.TWILIO_AUTH_TOKEN;
-const sendMessage = (phone, message) => {
+const sendSMS = (phone, message) => {
const client = twilio(accountSid, authToken);
client.messages
.create({
@@ -14,4 +14,4 @@ const sendMessage = (phone, message) => {
.then((message) => console.log(message.sid));
};
-export default sendMessage;
+export default sendSMS;